From 7dfdef367c8e2fc7d28198bf6ac1d70683d8800d Mon Sep 17 00:00:00 2001 From: edsilv Date: Fri, 27 Jan 2017 13:44:57 +0000 Subject: [PATCH 1/6] added draco loader and decoder --- src/loaders/DRACOLoader.js | 201 +++++++++++++++++++++++++++++++++++ src/loaders/draco_decoder.js | 22 ++++ 2 files changed, 223 insertions(+) create mode 100644 src/loaders/DRACOLoader.js create mode 100644 src/loaders/draco_decoder.js diff --git a/src/loaders/DRACOLoader.js b/src/loaders/DRACOLoader.js new file mode 100644 index 0000000000000..ab80db35946e5 --- /dev/null +++ b/src/loaders/DRACOLoader.js @@ -0,0 +1,201 @@ +// Copyright 2016 The Draco Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +THREE.DRACOLoader = function(manager) { + this.manager = (manager !== undefined) ? manager : + THREE.DefaultLoadingManager; + this.materials = null; +}; + + +THREE.DRACOLoader.prototype = { + + constructor: THREE.DRACOLoader, + + load: function(url, onLoad, onProgress, onError) { + const scope = this; + const loader = new THREE.FileLoader(scope.manager); + loader.setPath(this.path); + loader.setResponseType('arraybuffer'); + loader.load(url, function(blob) { + onLoad(scope.decodeDracoFile(blob)); + }, onProgress, onError); + }, + + setPath: function(value) { + this.path = value; + }, + + decodeDracoFile: function(rawBuffer) { + const scope = this; + /* + * Here is how to use Draco Javascript decoder and get the geometry. + */ + const buffer = new DracoModule.DecoderBuffer(); + buffer.Init(new Int8Array(rawBuffer), rawBuffer.byteLength); + const wrapper = new DracoModule.WebIDLWrapper(); + + /* + * Determine what type is this file, mesh or point cloud. + */ + const geometryType = wrapper.GetEncodedGeometryType(buffer); + if (geometryType == DracoModule.TRIANGULAR_MESH) { + fileDisplayArea.innerText = "Loaded a mesh.\n"; + } else if (geometryType == DracoModule.POINT_CLOUD) { + fileDisplayArea.innerText = "Loaded a point cloud.\n"; + } else { + const errorMsg = "Error: Unknown geometry type."; + fileDisplayArea.innerText = errorMsg; + throw new Error(errorMsg); + } + return scope.convertDracoGeometryTo3JS(wrapper, geometryType, buffer); + }, + + convertDracoGeometryTo3JS: function(wrapper, geometryType, buffer) { + let dracoGeometry; + if (geometryType == DracoModule.TRIANGULAR_MESH) { + dracoGeometry = wrapper.DecodeMeshFromBuffer(buffer); + } else { + dracoGeometry = wrapper.DecodePointCloudFromBuffer(buffer); + } + DracoModule.destroy(buffer); + /* + * Example on how to retrieve mesh and attributes. + */ + let numFaces, numPoints, numVertexCoordinates, numAttributes; + // For output basic geometry information. + let geometryInfoStr; + if (geometryType == DracoModule.TRIANGULAR_MESH) { + numFaces = dracoGeometry.num_faces(); + geometryInfoStr += "Number of faces loaded: " + numFaces.toString() + + ".\n"; + } else { + numFaces = 0; + } + numPoints = dracoGeometry.num_points(); + numVertexCoordinates = numPoints * 3; + numAttributes = dracoGeometry.num_attributes(); + geometryInfoStr = "Number of points loaded: " + numPoints.toString() + + ".\n"; + geometryInfoStr += "Number of attributes loaded: " + + numAttributes.toString() + ".\n"; + + // Get position attribute. Must exists. + const posAttId = wrapper.GetAttributeId(dracoGeometry, + Module.POSITION); + if (posAttId == -1) { + const errorMsg = "No position attribute found in the mesh."; + fileDisplayArea.innerText = errorMsg; + DracoModule.destroy(wrapper); + DracoModule.destroy(dracoGeometry); + throw new Error(errorMsg); + } + const posAttribute = wrapper.GetAttribute(dracoGeometry, posAttId); + const posAttributeData = new DracoModule.DracoFloat32Array(); + wrapper.GetAttributeFloatForAllPoints( + dracoGeometry, posAttribute, posAttributeData); + // Get color attributes if exists. + const colorAttId = wrapper.GetAttributeId(dracoGeometry, Module.COLOR); + let colAttributeData; + if (colorAttId != -1) { + geometryInfoStr += "\nLoaded color attribute.\n"; + const colAttribute = wrapper.GetAttribute(dracoGeometry, colorAttId); + colAttributeData = new DracoModule.DracoFloat32Array(); + wrapper.GetAttributeFloatForAllPoints(dracoGeometry, colAttribute, + colAttributeData); + } + + // Get normal attributes if exists. + const normalAttId = + wrapper.GetAttributeId(dracoGeometry, Module.NORMAL); + let norAttributeData; + if (normalAttId != -1) { + geometryInfoStr += "\nLoaded normal attribute.\n"; + const norAttribute = wrapper.GetAttribute(dracoGeometry, normalAttId); + norAttributeData = new DracoModule.DracoFloat32Array(); + wrapper.GetAttributeFloatForAllPoints(dracoGeometry, norAttribute, + norAttributeData); + } + + // Structure for converting to THREEJS geometry later. + const geometryBuffer = { + indices: [], + vertices: [], + normals: [], + uvs: [], + colors: [] + }; + for (let i = 0; i < numVertexCoordinates; i += 3) { + geometryBuffer.vertices.push( + posAttributeData.GetValue(i), + posAttributeData.GetValue(i + 1), + posAttributeData.GetValue(i + 2)); + // Add color. + if (colorAttId != -1) { + geometryBuffer.colors.push( + colAttributeData.GetValue(i), + colAttributeData.GetValue(i + 1), + colAttributeData.GetValue(i + 2)); + } else { + // Default is white. + geometryBuffer.colors.push(1.0, 1.0, 1.0); + } + // Add normal. + if (normalAttId != -1) { + geometryBuffer.normals.push( + norAttributeData.GetValue(i), + norAttributeData.GetValue(i + 1), + norAttributeData.GetValue(i + 2)); + } + } + DracoModule.destroy(posAttributeData); + if (colorAttId != -1) + DracoModule.destroy(colAttributeData); + if (normalAttId != -1) + DracoModule.destroy(norAttributeData); + + // For mesh, we need to generate the faces. + if (geometryType == DracoModule.TRIANGULAR_MESH) { + const numIndices = numFaces * 3; + const ia = new DracoInt32Array(); + for (let i = 0; i < numFaces; ++i) { + wrapper.GetFaceFromMesh(dracoGeometry, i, ia); + geometryBuffer.indices.push( + ia.GetValue(0), ia.GetValue(1), ia.GetValue(2)); + } + DracoModule.destroy(ia); + } + DracoModule.destroy(wrapper); + DracoModule.destroy(dracoGeometry); + + fileDisplayArea.innerText += geometryInfoStr; + + // Import data to Three JS geometry. + const geometry = new THREE.BufferGeometry(); + if (geometryType == DracoModule.TRIANGULAR_MESH) { + geometry.setIndex(new(geometryBuffer.indices.length > 65535 ? + THREE.Uint32BufferAttribute : THREE.Uint16BufferAttribute) + (geometryBuffer.indices, 1)); + } + geometry.addAttribute('position', + new THREE.Float32BufferAttribute(geometryBuffer.vertices, 3)); + geometry.addAttribute('color', + new THREE.Float32BufferAttribute(geometryBuffer.colors, 3)); + if (normalAttId != -1) { + geometry.addAttribute('normal', + new THREE.Float32BufferAttribute(geometryBuffer.normals, 3)); + } + return geometry; + } +}; \ No newline at end of file diff --git a/src/loaders/draco_decoder.js b/src/loaders/draco_decoder.js new file mode 100644 index 0000000000000..5e73650be46bc --- /dev/null +++ b/src/loaders/draco_decoder.js @@ -0,0 +1,22 @@ +var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>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)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function 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=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var LIMIT=Math.pow(2,31);if(DYNAMICTOP>=LIMIT)return false;while(TOTAL_MEMORY<=DYNAMICTOP){if(TOTAL_MEMORY=LIMIT)return false;var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement)return false;updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+16160;__ATINIT__.push();allocate([220,20,0,0,85,22,0,0,4,21,0,0,158,22,0,0,8,0,0,0,0,0,0,0,220,20,0,0,172,22,0,0,220,20,0,0,200,22,0,0,4,21,0,0,228,22,0,0,40,0,0,0,0,0,0,0,220,20,0,0,250,22,0,0,4,21,0,0,31,23,0,0,64,0,0,0,0,0,0,0,4,21,0,0,75,23,0,0,104,0,0,0,0,0,0,0,4,21,0,0,144,23,0,0,120,0,0,0,0,0,0,0,220,20,0,0,189,23,0,0,4,21,0,0,225,23,0,0,144,0,0,0,0,0,0,0,4,21,0,0,117,24,0,0,88,0,0,0,0,0,0,0,4,21,0,0,252,24,0,0,144,0,0,0,0,0,0,0,4,21,0,0,149,25,0,0,144,0,0,0,0,0,0,0,4,21,0,0,37,26,0,0,208,0,0,0,0,0,0,0,4,21,0,0,172,26,0,0,88,0,0,0,0,0,0,0,4,21,0,0,38,27,0,0,208,0,0,0,0,0,0,0,4,21,0,0,178,27,0,0,208,0,0,0,0,0,0,0,4,21,0,0,53,28,0,0,88,0,0,0,0,0,0,0,4,21,0,0,132,28,0,0,72,0,0,0,0,0,0,0,4,21,0,0,181,28,0,0,72,0,0,0,0,0,0,0,4,21,0,0,218,28,0,0,64,1,0,0,0,0,0,0,4,21,0,0,121,29,0,0,80,1,0,0,0,0,0,0,4,21,0,0,11,30,0,0,104,0,0,0,0,0,0,0,4,21,0,0,224,32,0,0,64,1,0,0,0,0,0,0,4,21,0,0,132,33,0,0,64,1,0,0,0,0,0,0,4,21,0,0,145,34,0,0,144,1,0,0,0,0,0,0,4,21,0,0,35,35,0,0,80,1,0,0,0,0,0,0,4,21,0,0,168,35,0,0,144,1,0,0,0,0,0,0,4,21,0,0,63,36,0,0,144,1,0,0,0,0,0,0,4,21,0,0,205,36,0,0,80,1,0,0,0,0,0,0,4,21,0,0,39,37,0,0,32,0,0,0,0,0,0,0,4,21,0,0,87,37,0,0,40,0,0,0,0,0,0,0,4,21,0,0,125,37,0,0,0,2,0,0,0,0,0,0,220,20,0,0,151,37,0,0,4,21,0,0,177,37,0,0,40,0,0,0,0,0,0,0,4,21,0,0,211,37,0,0,32,0,0,0,0,0,0,0,4,21,0,0,58,40,0,0,48,0,0,0,0,0,0,0,4,21,0,0,90,40,0,0,48,0,0,0,0,0,0,0,4,21,0,0,123,40,0,0,88,2,0,0,0,0,0,0,220,20,0,0,199,40,0,0,4,21,0,0,245,40,0,0,0,2,0,0,0,0,0,0,220,20,0,0,178,41,0,0,4,21,0,0,129,42,0,0,0,2,0,0,0,0,0,0,220,20,0,0,75,43,0,0,4,21,0,0,28,44,0,0,88,2,0,0,0,0,0,0,220,20,0,0,184,55,0,0,4,21,0,0,150,55,0,0,200,2,0,0,0,0,0,0,4,21,0,0,67,55,0,0,168,2,0,0,0,0,0,0,4,21,0,0,104,55,0,0,216,2,0,0,0,0,0,0,220,20,0,0,137,55,0,0,4,21,0,0,126,56,0,0,160,2,0,0,0,0,0,0,4,21,0,0,190,56,0,0,200,2,0,0,0,0,0,0,4,21,0,0,154,56,0,0,240,2,0,0,0,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,86,85,85,85,2,0,0,0,0,0,0,0,2,0,0,0,154,153,153,153,3,0,0,0,86,85,85,85,3,0,0,0,37,73,146,36,3,0,0,0,0,0,0,0,3,0,0,0,200,113,28,199,4,0,0,0,154,153,153,153,4,0,0,0,70,23,93,116,4,0,0,0,86,85,85,85,4,0,0,0,60,177,19,59,4,0,0,0,37,73,146,36,4,0,0,0,18,17,17,17,4,0,0,0,0,0,0,0,4,0,0,0,226,225,225,225,5,0,0,0,200,113,28,199,5,0,0,0,203,107,40,175,5,0,0,0,154,153,153,153,5,0,0,0,135,97,24,134,5,0,0,0,70,23,93,116,5,0,0,0,145,133,44,100,5,0,0,0,86,85,85,85,5,0,0,0,123,20,174,71,5,0,0,0,60,177,19,59,5,0,0,0,219,75,104,47,5,0,0,0,37,73,146,36,5,0,0,0,18,150,123,26,5,0,0,0,18,17,17,17,5,0,0,0,133,16,66,8,5,0,0,0,0,0,0,0,5,0,0,0,8,31,124,240,6,0,0,0,226,225,225,225,6,0,0,0,213,65,29,212,6,0,0,0,200,113,28,199,6,0,0,0,77,145,207,186,6,0,0,0,203,107,40,175,6,0,0,0,165,65,26,164,6,0,0,0,154,153,153,153,6,0,0,0,250,24,156,143,6,0,0,0,135,97,24,134,6,0,0,0,24,244,5,125,6,0,0,0,70,23,93,116,6,0,0,0,109,193,22,108,6,0,0,0,145,133,44,100,6,0,0,0,186,130,152,92,6,0,0,0,86,85,85,85,6,0,0,0,115,10,94,78,6,0,0,0,123,20,174,71,6,0,0,0,66,65,65,65,6,0,0,0,60,177,19,59,6,0,0,0,179,207,33,53,6,0,0,0,219,75,104,47,6,0,0,0,159,18,228,41,6,0,0,0,37,73,146,36,6,0,0,0,221,71,112,31,6,0,0,0,18,150,123,26,6,0,0,0,248,229,177,21,6,0,0,0,18,17,17,17,6,0,0,0,252,20,151,12,6,0,0,0,133,16,66,8,6,0,0,0,5,65,16,4,6,0,0,0,0,0,0,0,6,0,0,0,249,129,31,248,7,0,0,0,8,31,124,240,7,0,0,0,192,26,19,233,7,0,0,0,226,225,225,225,7,0,0,0,108,7,230,218,7,0,0,0,213,65,29,212,7,0,0,0,145,104,133,205,7,0,0,0,200,113,28,199,7,0,0,0,57,112,224,192,7,0,0,0,77,145,207,186,7,0,0,0,79,27,232,180,7,0,0,0,203,107,40,175,7,0,0,0,7,246,142,169,7,0,0,0,165,65,26,164,7,0,0,0,82,233,200,158,7,0,0,0,154,153,153,153,7,0,0,0,206,15,139,148,7,0,0,0,250,24,156,143,7,0,0,0,247,144,203,138,7,0,0,0,135,97,24,134,7,0,0,0,130,129,129,129,7,0,0,0,24,244,5,125,7,0,0,0,24,200,164,120,7,0,0,0,70,23,93,116,7,0,0,0,193,5,46,112,7,0,0,0,109,193,22,108,7,0,0,0,105,129,22,104,7,0,0,0,145,133,44,100,7,0,0,0,6,22,88,96,7,0,0,0,186,130,152,92,7,0,0,0,9,35,237,88,7,0,0,0,86,85,85,85,7,0,0,0,175,126,208,81,7,0,0,0,115,10,94,78,7,0,0,0,6,106,253,74,7,0,0,0,123,20,174,71,7,0,0,0,87,134,111,68,7,0,0,0,66,65,65,65,7,0,0,0,207,203,34,62,7,0,0,0,60,177,19,59,7,0,0,0,57,129,19,56,7,0,0,0,179,207,33,53,7,0,0,0,163,52,62,50,7,0,0,0,219,75,104,47,7,0,0,0,217,180,159,44,7,0,0,0,159,18,228,41,7,0,0,0,137,11,53,39,7,0,0,0,37,73,146,36,7,0,0,0,19,120,251,33,7,0,0,0,221,71,112,31,7,0,0,0,219,106,240,28,7,0,0,0,18,150,123,26,7,0,0,0,25,129,17,24,7,0,0,0,248,229,177,21,7,0,0,0,20,129,92,19,7,0,0,0,18,17,17,17,7,0,0,0,191,86,207,14,7,0,0,0,252,20,151,12,7,0,0,0,167,16,104,10,7,0,0,0,133,16,66,8,7,0,0,0,48,221,36,6,7,0,0,0,5,65,16,4,7,0,0,0,17,8,4,2,7,0,0,0,0,0,0,0,7,0,0,0,32,240,7,252,8,0,0,0,249,129,31,248,8,0,0,0,229,89,70,244,8,0,0,0,8,31,124,240,8,0,0,0,49,123,192,236,8,0,0,0,192,26,19,233,8,0,0,0,145,172,115,229,8,0,0,0,226,225,225,225,8,0,0,0,64,110,93,222,8,0,0,0,108,7,230,218,8,0,0,0,76,101,123,215,8,0,0,0,213,65,29,212,8,0,0,0,247,88,203,208,8,0,0,0,145,104,133,205,8,0,0,0,86,48,75,202,8,0,0,0,200,113,28,199,8,0,0,0,29,240,248,195,8,0,0,0,57,112,224,192,8,0,0,0,154,184,210,189,8,0,0,0,77,145,207,186,8,0,0,0,222,195,214,183,8,0,0,0,79,27,232,180,8,0,0,0,7,100,3,178,8,0,0,0,203,107,40,175,8,0,0,0,173,1,87,172,8,0,0,0,7,246,142,169,8,0,0,0,110,26,208,166,8,0,0,0,165,65,26,164,8,0,0,0,152,63,109,161,8,0,0,0,82,233,200,158,8,0,0,0,239,20,45,156,8,0,0,0,154,153,153,153,8,0,0,0,129,79,14,151,8,0,0,0,206,15,139,148,8,0,0,0,158,180,15,146,8,0,0,0,250,24,156,143,8,0,0,0,212,24,48,141,8,0,0,0,247,144,203,138,8,0,0,0,11,95,110,136,8,0,0,0,135,97,24,134,8,0,0,0,172,119,201,131,8,0,0,0,130,129,129,129,8,0,0,0,209,95,64,127,8,0,0,0,24,244,5,125,8,0,0,0,143,32,210,122,8,0,0,0,24,200,164,120,8,0,0,0,68,206,125,118,8,0,0,0,70,23,93,116,8,0,0,0,245,135,66,114,8,0,0,0,193,5,46,112,8,0,0,0,181,118,31,110,8,0,0,0,109,193,22,108,8,0,0,0,22,205,19,106,8,0,0,0,105,129,22,104,8,0,0,0,166,198,30,102,8,0,0,0,145,133,44,100,8,0,0,0,113,167,63,98,8,0,0,0,6,22,88,96,8,0,0,0,142,187,117,94,8,0,0,0,186,130,152,92,8,0,0,0,177,86,192,90,8,0,0,0,9,35,237,88,8,0,0,0,198,211,30,87,8,0,0,0,86,85,85,85,8,0,0,0,144,148,144,83,8,0,0,0,175,126,208,81,8,0,0,0,81,1,21,80,8,0,0,0,115,10,94,78,8,0,0,0,115,136,171,76,8,0,0,0,6,106,253,74,8,0,0,0,60,158,83,73,8,0,0,0,123,20,174,71,8,0,0,0,128,188,12,70,8,0,0,0,87,134,111,68,8,0,0,0,94,98,214,66,8,0,0,0,66,65,65,65,8,0,0,0,252,19,176,63,8,0,0,0,207,203,34,62,8,0,0,0,72,90,153,60,8,0,0,0,60,177,19,59,8,0,0,0,194,194,145,57,8,0,0,0,57,129,19,56,8,0,0,0,62,223,152,54,8,0,0,0,179,207,33,53,8,0,0,0,182,69,174,51,8,0,0,0,163,52,62,50,8,0,0,0,20,144,209,48,8,0,0,0,219,75,104,47,8,0,0,0,5,92,2,46,8,0,0,0,217,180,159,44,8,0,0,0,209,74,64,43,8,0,0,0,159,18,228,41,8,0,0,0,41,1,139,40,8,0,0,0,137,11,53,39,8,0,0,0,9,39,226,37,8,0,0,0,37,73,146,36,8,0,0,0,138,103,69,35,8,0,0,0,19,120,251,33,8,0,0,0,199,112,180,32,8,0,0,0,221,71,112,31,8,0,0,0,180,243,46,30,8,0,0,0,219,106,240,28,8,0,0,0,5,164,180,27,8,0,0,0,18,150,123,26,8,0,0,0,9,56,69,25,8,0,0,0,25,129,17,24,8,0,0,0,149,104,224,22,8,0,0,0,248,229,177,21,8,0,0,0,225,240,133,20,8,0,0,0,20,129,92,19,8,0,0,0,118,142,53,18,8,0,0,0,18,17,17,17,8,0,0,0,16,1,239,15,8,0,0,0,191,86,207,14,8,0,0,0,137,10,178,13,8,0,0,0,252,20,151,12,8,0,0,0,195,110,126,11,8,0,0,0,167,16,104,10,8,0,0,0,145,243,83,9,8,0,0,0,133,16,66,8,8,0,0,0,165,96,50,7,8,0,0,0,48,221,36,6,8,0,0,0,126,127,25,5,8,0,0,0,5,65,16,4,8,0,0,0,82,27,9,3,8,0,0,0,17,8,4,2,8,0,0,0,2,1,1,1,8,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,8,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,0,0,0,192,0,0,0,0,16,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,0,0,0,192,0,0,0,0,32,0,0,0,6,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,40,0,0,0,8,0,0,0,9,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,48,0,0,0,8,0,0,0,10,0,0,0,8,0,0,0,3,0,0,0,1,0,0,0,9,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,10,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,64,0,0,0,11,0,0,0,12,0,0,0,2,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,0,0,0,0,72,0,0,0,13,0,0,0,14,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,11,0,0,0,6,0,0,0,0,0,0,0,88,0,0,0,15,0,0,0,16,0,0,0,1,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,128,0,0,0,15,0,0,0,17,0,0,0,16,0,0,0,12,0,0,0,17,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,160,0,0,0,15,0,0,0,18,0,0,0,18,0,0,0,12,0,0,0,19,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,176,0,0,0,19,0,0,0,20,0,0,0,20,0,0,0,12,0,0,0,21,0,0,0,22,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,192,0,0,0,15,0,0,0,21,0,0,0,23,0,0,0,12,0,0,0,24,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,224,0,0,0,15,0,0,0,22,0,0,0,25,0,0,0,12,0,0,0,26,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,240,0,0,0,23,0,0,0,24,0,0,0,27,0,0,0,12,0,0,0,28,0,0,0,29,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,14,0,0,0,15,0,0,0,11,0,0,0,12,0,0,0,0,0,0,0,0,1,0,0,15,0,0,0,25,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,16,1,0,0,26,0,0,0,27,0,0,0,9,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,8,0,0,0,11,0,0,0,19,0,0,0,32,0,0,0,20,0,0,0,0,0,0,0,32,1,0,0,13,0,0,0,28,0,0,0,11,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,12,0,0,0,13,0,0,0,33,0,0,0,21,0,0,0,0,0,0,0,48,1,0,0,29,0,0,0,30,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,15,0,0,0,16,0,0,0,0,0,0,0,96,1,0,0,29,0,0,0,31,0,0,0,40,0,0,0,35,0,0,0,41,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,112,1,0,0,32,0,0,0,33,0,0,0,42,0,0,0,35,0,0,0,43,0,0,0,44,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,38,0,0,0,39,0,0,0,19,0,0,0,20,0,0,0,0,0,0,0,128,1,0,0,29,0,0,0,34,0,0,0,45,0,0,0,35,0,0,0,46,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,160,1,0,0,29,0,0,0,35,0,0,0,47,0,0,0,35,0,0,0,48,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,176,1,0,0,36,0,0,0,37,0,0,0,49,0,0,0,35,0,0,0,50,0,0,0,51,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,38,0,0,0,39,0,0,0,25,0,0,0,26,0,0,0,0,0,0,0,192,1,0,0,29,0,0,0,38,0,0,0,52,0,0,0,35,0,0,0,53,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,27,0,0,0,28,0,0,0,0,0,0,0,208,1,0,0,39,0,0,0,40,0,0,0,1,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,0,0,0,0,224,1,0,0,8,0,0,0,41,0,0,0,2,0,0,0,3,0,0,0,37,0,0,0,54,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,240,1,0,0,42,0,0,0,43,0,0,0,38,0,0,0,55,0,0,0,0,0,0,0,8,2,0,0,8,0,0,0,44,0,0,0,2,0,0,0,3,0,0,0,39,0,0,0,56,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,24,2,0,0,6,0,0,0,45,0,0,0,1,0,0,0,1,0,0,0,40,0,0,0,0,0,0,0,40,2,0,0,8,0,0,0,46,0,0,0,8,0,0,0,3,0,0,0,41,0,0,0,9,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,10,0,0,0,2,0,0,0,3,0,0,0,57,0,0,0,0,0,0,0,56,2,0,0,47,0,0,0,48,0,0,0,8,0,0,0,58,0,0,0,42,0,0,0,9,0,0,0,5,0,0,0,6,0,0,0,59,0,0,0,60,0,0,0,43,0,0,0,44,0,0,0,61,0,0,0,0,0,0,0,72,2,0,0,49,0,0,0,50,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,0,0,0,0,96,2,0,0,51,0,0,0,52,0,0,0,49,0,0,0,66,0,0,0,0,0,0,0,112,2,0,0,53,0,0,0,54,0,0,0,55,0,0,0,0,0,0,192,0,0,0,0,120,2,0,0,56,0,0,0,57,0,0,0,50,0,0,0,67,0,0,0,0,0,0,0,136,2,0,0,58,0,0,0,59,0,0,0,60,0,0,0,0,0,0,0,144,2,0,0,61,0,0,0,62,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,108,18,0,0,5,0,0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,15,0,0,0,20,59,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,5,0,0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,15,0,0,0,28,59,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,220,18,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,0,0,0,0,168,2,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,17,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,184,2,0,0,63,0,0,0,67,0,0,0,65,0,0,0,66,0,0,0,17,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,197,55,0,0,0,0,0,0,224,2,0,0,68,0,0,0,69,0,0,0,73,0,0,0,99,111,114,101,47,114,97,110,115,95,99,111,100,105,110,103,46,99,99,0,97,110,115,45,62,115,116,97,116,101,32,62,61,32,108,95,98,97,115,101,0,97,110,115,95,119,114,105,116,101,95,101,110,100,0,97,110,115,45,62,115,116,97,116,101,32,60,32,108,95,98,97,115,101,32,42,32,105,111,95,98,97,115,101,0,40,112,41,32,60,61,32,40,49,46,48,41,0,99,111,114,101,47,97,100,97,112,116,105,118,101,95,114,97,110,115,95,99,111,100,105,110,103,46,99,99,0,99,108,97,109,112,95,112,114,111,98,97,98,105,108,105,116,121,0,40,48,46,48,41,32,60,61,32,40,112,41,0,99,117,109,95,112,114,111,98,32,61,61,32,114,97,110,115,95,112,114,101,99,105,115,105,111,110,0,46,47,99,111,114,101,47,97,110,115,46,104,0,114,97,110,115,95,98,117,105,108,100,95,108,111,111,107,95,117,112,95,116,97,98,108,101,0,40,110,98,105,116,115,41,32,62,61,32,40,48,41,0,46,47,99,111,114,101,47,98,105,116,95,99,111,100,101,114,46,104,0,71,101,116,66,105,116,115,0,40,110,98,105,116,115,41,32,60,61,32,40,51,50,41,0,78,53,100,114,97,99,111,49,48,80,111,105,110,116,67,108,111,117,100,69,0,97,116,116,95,105,100,32,62,61,32,48,0,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,99,108,111,117,100,46,99,99,0,83,101,116,65,116,116,114,105,98,117,116,101,0,78,53,100,114,97,99,111,52,77,101,115,104,69,0,78,53,100,114,97,99,111,49,55,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,55,80,111,105,110,116,67,108,111,117,100,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,49,77,101,115,104,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,54,83,101,113,117,101,110,116,105,97,108,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,51,51,83,101,113,117,101,110,116,105,97,108,73,110,116,101,103,101,114,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,51,48,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,121,112,101,100,73,110,116,101,114,102,97,99,101,73,105,105,69,69,0,78,53,100,114,97,99,111,50,53,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,110,116,101,114,102,97,99,101,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,105,102,102,101,114,101,110,99,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,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,78,53,100,114,97,99,111,50,54,77,101,115,104,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,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,49,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,110,111,114,109,97,108,95,111,99,116,97,104,101,100,114,111,110,95,116,114,97,110,115,102,111,114,109,46,104,0,67,111,109,112,117,116,101,67,111,114,114,101,99,116,105,111,110,0,40,112,114,101,100,95,118,97,108,115,91,49,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,111,114,105,103,95,118,97,108,115,91,48,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,111,114,105,103,95,118,97,108,115,91,49,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,48,41,32,60,61,32,40,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,120,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,77,97,107,101,80,111,115,105,116,105,118,101,0,40,116,114,117,101,41,32,61,61,32,40,86,101,114,105,102,121,40,111,114,105,103,44,32,112,114,101,100,44,32,99,111,114,114,41,41,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,67,111,109,112,117,116,101,79,114,105,103,105,110,97,108,86,97,108,117,101,0,40,112,114,101,100,95,118,97,108,115,91,49,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,32,43,32,49,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,48,41,32,60,61,32,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,93,41,0,40,48,41,32,60,61,32,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,32,43,32,49,93,41,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,40,105,41,32,61,61,32,40,48,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,109,101,115,104,95,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,116,101,120,95,99,111,111,114,100,115,46,104,0,71,101,116,80,97,114,101,110,116,65,116,116,114,105,98,117,116,101,84,121,112,101,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,105,102,102,101,114,101,110,99,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,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,55,80,111,105,110,116,67,108,111,117,100,83,101,113,117,101,110,116,105,97,108,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,53,76,105,110,101,97,114,83,101,113,117,101,110,99,101,114,69,0,78,53,100,114,97,99,111,49,53,80,111,105,110,116,115,83,101,113,117,101,110,99,101,114,69,0,78,53,100,114,97,99,111,50,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,51,75,100,84,114,101,101,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,69,0,40,48,41,32,60,61,32,40,97,116,116,95,105,100,41,0,46,47,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,99,108,111,117,100,46,104,0,97,116,116,114,105,98,117,116,101,0,40,97,116,116,95,105,100,41,32,60,32,40,97,116,116,114,105,98,117,116,101,115,95,46,115,105,122,101,40,41,41,0,40,105,110,102,111,46,114,97,110,103,101,41,32,62,61,32,40,48,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,113,117,97,110,116,105,122,101,95,112,111,105,110,116,115,95,51,46,104,0,68,101,113,117,97,110,116,105,122,101,80,111,105,110,116,115,51,0,86,101,114,115,105,111,110,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,100,105,100,32,121,111,117,32,116,114,121,32,116,111,32,108,111,97,100,32,97,110,32,111,108,100,32,102,105,108,101,63,32,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,46,47,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,105,110,116,101,103,101,114,95,112,111,105,110,116,115,95,107,100,95,116,114,101,101,95,100,101,99,111,100,101,114,46,104,0,79,99,116,114,101,101,68,101,99,111,100,101,0,40,116,114,117,101,41,32,61,61,32,40,110,98,105,116,115,32,60,61,32,51,50,41,0,46,47,99,111,114,101,47,100,105,114,101,99,116,95,98,105,116,95,99,111,100,105,110,103,46,104,0,68,101,99,111,100,101,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,116,114,117,101,41,32,61,61,32,40,113,112,111,105,110,116,115,45,62,115,105,122,101,40,41,32,61,61,32,110,117,109,95,112,111,105,110,116,115,95,41,0,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,102,108,111,97,116,95,112],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([111,105,110,116,115,95,107,100,95,116,114,101,101,95,100,101,99,111,100,101,114,46,99,99,0,68,101,99,111,100,101,80,111,105,110,116,67,108,111,117,100,73,110,116,101,114,110,97,108,0,78,53,100,114,97,99,111,50,49,77,101,115,104,83,101,113,117,101,110,116,105,97,108,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,50,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,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,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,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,40,102,97,99,101,95,105,100,46,118,97,108,117,101,40,41,41,32,60,32,40,102,97,99,101,115,95,46,115,105,122,101,40,41,41,0,46,47,109,101,115,104,47,109,101,115,104,46,104,0,102,97,99,101,0,33,105,100,101,110,116,105,116,121,95,109,97,112,112,105,110,103,95,0,46,47,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,97,116,116,114,105,98,117,116,101,46,104,0,83,101,116,80,111,105,110,116,77,97,112,69,110,116,114,121,0,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,78,53,100,114,97,99,111,50,50,77,101,115,104,84,114,97,118,101,114,115,97,108,83,101,113,117,101,110,99,101,114,73,78,83,95,50,48,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,101,114,73,78,83,95,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,78,83,95,51,54,77,101,115,104,65,116,116,114,105,98,117,116,101,73,110,100,105,99,101,115,69,110,99,111,100,105,110,103,79,98,115,101,114,118,101,114,73,83,51,95,69,69,78,83,95,49,57,69,100,103,101,66,114,101,97,107,101,114,79,98,115,101,114,118,101,114,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,0,40,116,111,112,111,108,111,103,121,95,115,112,108,105,116,95,100,97,116,97,95,46,98,97,99,107,40,41,46,115,111,117,114,99,101,95,115,121,109,98,111,108,95,105,100,41,32,60,61,32,40,101,110,99,111,100,101,114,95,115,121,109,98,111,108,95,105,100,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,109,101,115,104,47,109,101,115,104,95,101,100,103,101,98,114,101,97,107,101,114,95,100,101,99,111,100,101,114,95,105,109,112,108,46,104,0,73,115,84,111,112,111,108,111,103,121,83,112,108,105,116,0,78,53,100,114,97,99,111,50,54,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,78,83,95,52,49,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,97,108,80,114,101,100,105,99,116,105,118,101,68,101,99,111,100,101,114,69,69,69,0,68,82,65,67,79,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,111,115,116,97,118,97,47,100,101,118,101,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,109,97,115,116,101,114,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,118,101,99,116,111,114,32,111,117,116,95,111,102,95,114,97,110,103,101,34,0,95,95,116,104,114,111,119,95,111,117,116,95,111,102,95,114,97,110,103,101,0,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,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,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,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,116,121,112,101,95,105,110,102,111,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,101,120,99,101,112,116,105,111,110,0,117,110,99,97,117,103,104,116,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,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,83,116,57,98,97,100,95,97,108,108,111,99,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);var tempDoublePtr=STATICTOP;STATICTOP+=16;Module["_i64Subtract"]=_i64Subtract;function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}Module["_memset"]=_memset;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Runtime.dynCall("v",func);_pthread_once.seen[ptr]=1}function ___lock(){}function ___unlock(){}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}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()}var PTHREAD_SPECIFIC_NEXT_KEY=1;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["_i64Add"]=_i64Add;Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___cxa_begin_catch(ptr){__ZSt18uncaught_exceptionv.uncaught_exception--;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}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;function ___gxx_personality_v0(){}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j2147483648)return false;i=new a(newBuffer);j=new b(newBuffer);k=new c(newBuffer);l=new d(newBuffer);m=new e(newBuffer);n=new f(newBuffer);o=new g(newBuffer);p=new h(newBuffer);buffer=newBuffer;return true} +// EMSCRIPTEN_START_FUNCS +function dm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=a+4|0;d=k[a>>2]|0;e=((k[l>>2]|0)-d>>5)+1|0;if(e>>>0>134217727)yp(a);j=d;m=a+8|0;c=(k[m>>2]|0)-d|0;if(c>>5>>>0<67108863){c=c>>4;c=c>>>0>>0?e:c;e=k[l>>2]|0;f=e-d>>5;if(!c){h=0;i=0}else g=6}else{f=k[l>>2]|0;c=134217727;e=f;f=f-d>>5;g=6}if((g|0)==6){h=c;i=$p(c<<5)|0}g=i+(f<<5)|0;c=g;h=i+(h<<5)|0;k[g>>2]=k[b>>2];k[i+(f<<5)+4>>2]=k[b+4>>2];k[i+(f<<5)+8>>2]=k[b+8>>2];k[i+(f<<5)+12>>2]=k[b+12>>2];f=i+(f<<5)+16|0;b=b+16|0;k[f>>2]=k[b>>2];k[f+4>>2]=k[b+4>>2];k[f+8>>2]=k[b+8>>2];k[f+12>>2]=k[b+12>>2];f=g+32|0;if((e|0)!=(j|0)){d=g;do{i=e;e=e+-32|0;k[d+-32>>2]=k[e>>2];k[d+-28>>2]=k[i+-28>>2];k[d+-24>>2]=k[i+-24>>2];k[d+-20>>2]=k[i+-20>>2];b=d+-16|0;i=i+-16|0;k[b>>2]=k[i>>2];k[b+4>>2]=k[i+4>>2];k[b+8>>2]=k[i+8>>2];k[b+12>>2]=k[i+12>>2];d=c+-32|0;c=d}while((e|0)!=(j|0));d=k[a>>2]|0}k[a>>2]=c;k[l>>2]=f;k[m>>2]=h;if(!d)return;Ip(d);return}function em(a){a=a|0;Xg(a);k[a>>2]=4384;return}function fm(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;return}function gm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=r;r=r+912|0;C=E+908|0;D=E;p=E+904|0;q=E+900|0;t=E+896|0;u=E+892|0;v=E+888|0;w=E+884|0;x=E+880|0;y=E+876|0;z=E+872|0;A=E+868|0;s=E+864|0;n=b+8|0;e=n;d=k[e>>2]|0;e=k[e+4>>2]|0;o=b+16|0;g=o;f=k[g>>2]|0;g=k[g+4>>2]|0;h=jq(f|0,g|0,4,0)|0;j=L;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){c=0;r=E;return c|0}m=k[b>>2]|0;B=m+f|0;B=l[B>>0]|l[B+1>>0]<<8|l[B+2>>0]<<16|l[B+3>>0]<<24;F=o;k[F>>2]=h;k[F+4>>2]=j;if((B|0)!=2){tp(9898,57,1,k[1178]|0)|0;F=0;r=E;return F|0}F=jq(f|0,g|0,8,0)|0;B=L;if((e|0)<(B|0)|(e|0)==(B|0)&d>>>0>>0){F=0;r=E;return F|0}F=m+h|0;F=l[F>>0]|l[F+1>>0]<<8|l[F+2>>0]<<16|l[F+3>>0]<<24;i[a>>0]=F;i[a+1>>0]=F>>8;i[a+2>>0]=F>>16;i[a+3>>0]=F>>24;F=o;m=k[F>>2]|0;F=k[F+4>>2]|0;d=jq(m|0,F|0,4,0)|0;j=o;k[j>>2]=d;k[j+4>>2]=L;j=n;B=k[j>>2]|0;j=k[j+4>>2]|0;F=jq(m|0,F|0,8,0)|0;m=L;if((j|0)<(m|0)|(j|0)==(m|0)&B>>>0>>0){F=0;r=E;return F|0}F=a+4|0;j=(k[b>>2]|0)+d|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;i[F>>0]=j;i[F+1>>0]=j>>8;i[F+2>>0]=j>>16;i[F+3>>0]=j>>24;F=o;j=k[F>>2]|0;F=k[F+4>>2]|0;d=jq(j|0,F|0,4,0)|0;B=o;k[B>>2]=d;k[B+4>>2]=L;B=a+8|0;h=n;m=k[h>>2]|0;h=k[h+4>>2]|0;F=jq(j|0,F|0,8,0)|0;j=L;if((h|0)<(j|0)|(h|0)==(j|0)&m>>>0>>0){F=0;r=E;return F|0}g=(k[b>>2]|0)+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;i[B>>0]=g;i[B+1>>0]=g>>8;i[B+2>>0]=g>>16;i[B+3>>0]=g>>24;F=o;m=k[F>>2]|0;F=k[F+4>>2]|0;d=jq(m|0,F|0,4,0)|0;j=o;k[j>>2]=d;k[j+4>>2]=L;j=n;n=k[j>>2]|0;j=k[j+4>>2]|0;F=jq(m|0,F|0,8,0)|0;m=L;if((j|0)<(m|0)|(j|0)==(m|0)&n>>>0>>0){F=0;r=E;return F|0}a=a+12|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;a=o;a=jq(k[a>>2]|0,k[a+4>>2]|0,4,0)|0;F=o;k[F>>2]=a;k[F+4>>2]=L;a:do if(!g)d=c;else do switch(d|0){case 0:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Em(D);k[p>>2]=c;k[C>>2]=k[p>>2];hm(D,b,C)|0;gd(D+68|0);gd(D+48|0);gd(D+28|0);gd(D+8|0);d=c;break a}case 1:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Gm(D);k[q>>2]=c;k[C>>2]=k[q>>2];km(D,b,C)|0;gd(D+68|0);gd(D+48|0);gd(D+28|0);gd(D+8|0);d=c;break a}case 2:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Im(D);k[t>>2]=c;k[C>>2]=k[t>>2];mm(D,b,C)|0;gd(D+64|0);gd(D+44|0);gd(D+24|0);rd(D+8|0);d=c;break a}case 3:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Km(D);k[u>>2]=c;k[C>>2]=k[u>>2];om(D,b,C)|0;gd(D+64|0);gd(D+44|0);gd(D+24|0);rd(D+8|0);d=c;break a}case 4:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Mm(D);k[v>>2]=c;k[C>>2]=k[v>>2];qm(D,b,C)|0;gd(D+576|0);gd(D+556|0);gd(D+536|0);rd(D+520|0);vl(D+8|0);d=c;break a}case 5:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Pm(D);k[w>>2]=c;k[C>>2]=k[w>>2];sm(D,b,C)|0;gd(D+576|0);gd(D+556|0);gd(D+536|0);rd(D+520|0);vl(D+8|0);d=c;break a}case 6:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Rm(D);k[x>>2]=c;k[C>>2]=k[x>>2];um(D,b,C)|0;gd(D+576|0);gd(D+556|0);gd(D+536|0);rd(D+520|0);vl(D+8|0);d=c;break a}case 7:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Tm(D);k[y>>2]=c;k[C>>2]=k[y>>2];wm(D,b,C)|0;gd(D+576|0);gd(D+556|0);gd(D+536|0);rd(D+520|0);vl(D+8|0);d=c;break a}case 8:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Vm(D);k[z>>2]=c;k[C>>2]=k[z>>2];ym(D,b,C)|0;gd(D+840|0);gd(D+820|0);gd(D+800|0);wd(D+776|0);Ul(D+8|0);d=c;break a}case 9:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Ym(D);k[A>>2]=c;k[C>>2]=k[A>>2];Am(D,b,C)|0;gd(D+840|0);gd(D+820|0);gd(D+800|0);wd(D+776|0);Ul(D+8|0);d=c;break a}default:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}_m(D);k[s>>2]=c;k[C>>2]=k[s>>2];Cm(D,b,C)|0;gd(D+840|0);gd(D+820|0);gd(D+800|0);wd(D+776|0);Ul(D+8|0);d=c;break a}}while(0);while(0);if((((k[c+4>>2]|0)-(k[d>>2]|0)|0)/12|0|0)==(k[B>>2]|0)){F=1;r=E;return F|0}else Aa(10163,10206,124,10273);return 0}function hm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}hd(a+8|0,b);hd(a+28|0,b);hd(a+48|0,b);hd(a+68|0,b);u=k[g>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];im(a,u,o,m,0,n);r=s;return 1}function im(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0;la=r;r=r+112|0;ia=la+96|0;m=la+32|0;ka=la+72|0;ha=la+56|0;aa=la+44|0;$=la+16|0;_=la;i=k[c>>2]|0;ba=c+4|0;j=k[ba>>2]|0;ca=c+8|0;l=k[ca>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ka+12>>2]=0;k[ka+16>>2]=0;k[ka+20>>2]=0;da=ka+8|0;ea=ka+4|0;fa=ka+16|0;ga=ka+20|0;Vk(ka);g=k[ea>>2]|0;h=(k[ga>>2]|0)+(k[fa>>2]|0)|0;if((k[da>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;Z=g+16|0;k[Z>>2]=k[m>>2];k[Z+4>>2]=k[m+4>>2];k[Z+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ga>>2]|0)+1|0;k[ga>>2]=g;if(!g){Yk(ka);r=la;return}O=aa+4|0;P=aa+8|0;Q=a+44|0;R=a+40|0;S=ia+4|0;T=ia+8|0;U=ia+4|0;V=ia+8|0;W=a+24|0;X=a+20|0;Y=a+84|0;Z=a+80|0;a:while(1){L=k[fa>>2]|0;m=g+-1|0;l=m+L|0;M=k[ea>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ha>>2]=k[J>>2];k[ha+4>>2]=k[J+4>>2];k[ha+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ga>>2]=m;m=k[da>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Ip(k[m+-4>>2]|0);k[da>>2]=(k[da>>2]|0)+-4}k[c>>2]=h;k[ba>>2]=i;k[ca>>2]=j;k[d>>2]=k[ha>>2];k[d+4>>2]=k[ha+4>>2];k[d+8>>2]=k[ha+8>>2];k[aa>>2]=h;k[O>>2]=i;k[P>>2]=j;k[ia>>2]=k[ha>>2];k[ia+4>>2]=k[ha+4>>2];k[ia+8>>2]=k[ha+8>>2];M=Fm(a,N,aa,ia,l)|0;m=d+(M<<2)|0;e=k[m>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(e|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[ba>>2];k[j+8>>2]=k[ca>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ia>>2]=k[c>>2];k[U>>2]=k[ba>>2];k[V>>2]=k[ca>>2];g=ia+(M<<2)|0;k[g>>2]=(k[g>>2]|0)+(1<>>0>=33){g=34;break a}if((g|0)==31){g=36;break a}i=k[W>>2]|0;g=32-i|0;j=k[X>>2]|0;h=k[j>>2]<>>0<=g>>>0){g=h>>>(32-l|0);L=i+l|0;k[W>>2]=L;if((L|0)==32){k[X>>2]=j+4;k[W>>2]=0}}else{L=l-g|0;k[W>>2]=L;K=j+4|0;k[X>>2]=K;L=32-L|0;g=(k[K>>2]|0)>>>L|h>>>(L-g|0)}j=(N>>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[Y>>2]|0;g=k[Z>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[Y>>2]=N;if((N|0)==32){k[Z>>2]=g+4;k[Y>>2]=0}b=i?j:h;n=i?h:j}k[m>>2]=e+1;if(b|0){l=k[c>>2]|0;m=k[ba>>2]|0;e=k[ca>>2]|0;k[$>>2]=k[d>>2];k[$+4>>2]=k[d+4>>2];k[$+8>>2]=k[d+8>>2];j=k[da>>2]|0;i=k[ea>>2]|0;g=k[fa>>2]|0;h=k[ga>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Vk(ka);g=k[fa>>2]|0;h=k[ga>>2]|0;j=k[da>>2]|0;i=k[ea>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[$>>2];k[N+4>>2]=k[$+4>>2];k[N+8>>2]=k[$+8>>2];k[g+28>>2]=M;k[ga>>2]=(k[ga>>2]|0)+1}if(n|0){l=k[ia>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];j=k[da>>2]|0;i=k[ea>>2]|0;g=k[fa>>2]|0;h=k[ga>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Vk(ka);g=k[fa>>2]|0;h=k[ga>>2]|0;j=k[da>>2]|0;i=k[ea>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[_>>2];k[N+4>>2]=k[_+4>>2];k[N+8>>2]=k[_+8>>2];k[g+28>>2]=M;k[ga>>2]=(k[ga>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=h-e|0;E=k[d+(w<<2)>>2]|0;L=h-E|0;p=k[d+(s<<2)>>2]|0;G=h-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(h|0)==(e|0);A=ia+(M<<2)|0;D=c+(M<<2)|0;E=(h|0)==(E|0);B=ia+(w<<2)|0;F=c+(w<<2)|0;p=(h|0)==(p|0);o=ia+(s<<2)|0;q=c+(s<<2)|0;s=ia+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=ia+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=ia+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=K-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=L-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))jm(H,ia);else{k[g>>2]=k[ia>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ga>>2]|0;if(!g){g=59;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==34)Aa(10077,10101,111,10128);else if((g|0)==36)Aa(10141,10101,112,10128);else if((g|0)==59){Yk(ka);r=la;return}}function jm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=a+4|0;d=k[a>>2]|0;e=(((k[l>>2]|0)-d|0)/12|0)+1|0;if(e>>>0>357913941)yp(a);j=d;m=a+8|0;c=((k[m>>2]|0)-d|0)/12|0;if(c>>>0<178956970){c=c<<1;c=c>>>0>>0?e:c;f=k[l>>2]|0;e=(f-d|0)/12|0;if(!c){g=0;h=0}else i=6}else{e=k[l>>2]|0;c=357913941;f=e;e=(e-d|0)/12|0;i=6}if((i|0)==6){g=c;h=$p(c*12|0)|0}c=h+(e*12|0)|0;g=h+(g*12|0)|0;k[c>>2]=k[b>>2];k[h+(e*12|0)+4>>2]=k[b+4>>2];k[h+(e*12|0)+8>>2]=k[b+8>>2];e=c+12|0;if((f|0)!=(j|0)){d=f;do{b=d;d=d+-12|0;k[c+-12>>2]=k[d>>2];k[c+-8>>2]=k[b+-8>>2];k[c+-4>>2]=k[b+-4>>2];c=c+-12|0}while((d|0)!=(j|0));d=k[a>>2]|0}k[a>>2]=c;k[l>>2]=e;k[m>>2]=g;if(!d)return;Ip(d);return}function km(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}hd(a+8|0,b);hd(a+28|0,b);hd(a+48|0,b);hd(a+68|0,b);u=k[g>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];lm(a,u,o,m,0,n);r=s;return 1}function lm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0;la=r;r=r+112|0;ia=la+96|0;m=la+32|0;ka=la+72|0;ha=la+56|0;aa=la+44|0;$=la+16|0;_=la;i=k[c>>2]|0;ba=c+4|0;j=k[ba>>2]|0;ca=c+8|0;l=k[ca>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ka+12>>2]=0;k[ka+16>>2]=0;k[ka+20>>2]=0;da=ka+8|0;ea=ka+4|0;fa=ka+16|0;ga=ka+20|0;$k(ka);g=k[ea>>2]|0;h=(k[ga>>2]|0)+(k[fa>>2]|0)|0;if((k[da>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;Z=g+16|0;k[Z>>2]=k[m>>2];k[Z+4>>2]=k[m+4>>2];k[Z+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ga>>2]|0)+1|0;k[ga>>2]=g;if(!g){cl(ka);r=la;return}O=aa+4|0;P=aa+8|0;Q=a+44|0;R=a+40|0;S=ia+4|0;T=ia+8|0;U=ia+4|0;V=ia+8|0;W=a+24|0;X=a+20|0;Y=a+84|0;Z=a+80|0;a:while(1){L=k[fa>>2]|0;m=g+-1|0;l=m+L|0;M=k[ea>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ha>>2]=k[J>>2];k[ha+4>>2]=k[J+4>>2];k[ha+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ga>>2]=m;m=k[da>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Ip(k[m+-4>>2]|0);k[da>>2]=(k[da>>2]|0)+-4}k[c>>2]=h;k[ba>>2]=i;k[ca>>2]=j;k[d>>2]=k[ha>>2];k[d+4>>2]=k[ha+4>>2];k[d+8>>2]=k[ha+8>>2];k[aa>>2]=h;k[O>>2]=i;k[P>>2]=j;k[ia>>2]=k[ha>>2];k[ia+4>>2]=k[ha+4>>2];k[ia+8>>2]=k[ha+8>>2];M=Hm(a,N,aa,ia,l)|0;m=d+(M<<2)|0;e=k[m>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(e|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[ba>>2];k[j+8>>2]=k[ca>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ia>>2]=k[c>>2];k[U>>2]=k[ba>>2];k[V>>2]=k[ca>>2];g=ia+(M<<2)|0;k[g>>2]=(k[g>>2]|0)+(1<>>0>=33){g=34;break a}if((g|0)==31){g=36;break a}i=k[W>>2]|0;g=32-i|0;j=k[X>>2]|0;h=k[j>>2]<>>0<=g>>>0){g=h>>>(32-l|0);L=i+l|0;k[W>>2]=L;if((L|0)==32){k[X>>2]=j+4;k[W>>2]=0}}else{L=l-g|0;k[W>>2]=L;K=j+4|0;k[X>>2]=K;L=32-L|0;g=(k[K>>2]|0)>>>L|h>>>(L-g|0)}j=(N>>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[Y>>2]|0;g=k[Z>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[Y>>2]=N;if((N|0)==32){k[Z>>2]=g+4;k[Y>>2]=0}b=i?j:h;n=i?h:j}k[m>>2]=e+1;if(b|0){l=k[c>>2]|0;m=k[ba>>2]|0;e=k[ca>>2]|0;k[$>>2]=k[d>>2];k[$+4>>2]=k[d+4>>2];k[$+8>>2]=k[d+8>>2];j=k[da>>2]|0;i=k[ea>>2]|0;g=k[fa>>2]|0;h=k[ga>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){$k(ka);g=k[fa>>2]|0;h=k[ga>>2]|0;j=k[da>>2]|0;i=k[ea>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[$>>2];k[N+4>>2]=k[$+4>>2];k[N+8>>2]=k[$+8>>2];k[g+28>>2]=M;k[ga>>2]=(k[ga>>2]|0)+1}if(n|0){l=k[ia>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];j=k[da>>2]|0;i=k[ea>>2]|0;g=k[fa>>2]|0;h=k[ga>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){$k(ka);g=k[fa>>2]|0;h=k[ga>>2]|0;j=k[da>>2]|0;i=k[ea>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[_>>2];k[N+4>>2]=k[_+4>>2];k[N+8>>2]=k[_+8>>2];k[g+28>>2]=M;k[ga>>2]=(k[ga>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=h-e|0;E=k[d+(w<<2)>>2]|0;L=h-E|0;p=k[d+(s<<2)>>2]|0;G=h-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(h|0)==(e|0);A=ia+(M<<2)|0;D=c+(M<<2)|0;E=(h|0)==(E|0);B=ia+(w<<2)|0;F=c+(w<<2)|0;p=(h|0)==(p|0);o=ia+(s<<2)|0;q=c+(s<<2)|0;s=ia+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=ia+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=ia+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=K-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=L-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))jm(H,ia);else{k[g>>2]=k[ia>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ga>>2]|0;if(!g){g=59;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==34)Aa(10077,10101,111,10128);else if((g|0)==36)Aa(10141,10101,112,10128);else if((g|0)==59){cl(ka);r=la;return}}function mm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}sd(a+8|0,b);hd(a+24|0,b);hd(a+44|0,b);hd(a+64|0,b);u=k[g>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];nm(a,u,o,m,0,n);r=s;return 1}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;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0;la=r;r=r+112|0;ia=la+96|0;m=la+32|0;ka=la+72|0;ha=la+60|0;$=la+48|0;ga=la+44|0;_=la+16|0;Z=la;i=k[c>>2]|0;aa=c+4|0;j=k[aa>>2]|0;ba=c+8|0;l=k[ba>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ka+12>>2]=0;k[ka+16>>2]=0;k[ka+20>>2]=0;ca=ka+8|0;da=ka+4|0;ea=ka+16|0;fa=ka+20|0;fl(ka);g=k[da>>2]|0;h=(k[fa>>2]|0)+(k[ea>>2]|0)|0;if((k[ca>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;Y=g+16|0;k[Y>>2]=k[m>>2];k[Y+4>>2]=k[m+4>>2];k[Y+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[fa>>2]|0)+1|0;k[fa>>2]=g;if(!g){il(ka);r=la;return}O=$+4|0;P=$+8|0;Q=a+40|0;R=a+36|0;S=ia+4|0;T=ia+8|0;U=ia+4|0;V=ia+8|0;W=a+8|0;X=a+80|0;Y=a+76|0;a:while(1){L=k[ea>>2]|0;m=g+-1|0;l=m+L|0;M=k[da>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ha>>2]=k[J>>2];k[ha+4>>2]=k[J+4>>2];k[ha+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[fa>>2]=m;m=k[ca>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Ip(k[m+-4>>2]|0);k[ca>>2]=(k[ca>>2]|0)+-4}k[c>>2]=h;k[aa>>2]=i;k[ba>>2]=j;k[d>>2]=k[ha>>2];k[d+4>>2]=k[ha+4>>2];k[d+8>>2]=k[ha+8>>2];k[$>>2]=h;k[O>>2]=i;k[P>>2]=j;k[ia>>2]=k[ha>>2];k[ia+4>>2]=k[ha+4>>2];k[ia+8>>2]=k[ha+8>>2];M=Jm(a,N,$,ia,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(m|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[aa>>2];k[j+8>>2]=k[ba>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ia>>2]=k[c>>2];k[U>>2]=k[aa>>2];k[V>>2]=k[ba>>2];j=ia+(M<<2)|0;k[j>>2]=(k[j>>2]|0)+(1<>2]=0;ud(W,j,ga);j=(N>>>1)-(k[ga>>2]|0)|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[X>>2]|0;g=k[Y>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[X>>2]=N;if((N|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){l=k[c>>2]|0;m=k[aa>>2]|0;e=k[ba>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];j=k[ca>>2]|0;i=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){fl(ka);g=k[ea>>2]|0;h=k[fa>>2]|0;j=k[ca>>2]|0;i=k[da>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[_>>2];k[N+4>>2]=k[_+4>>2];k[N+8>>2]=k[_+8>>2];k[g+28>>2]=M;k[fa>>2]=(k[fa>>2]|0)+1}if(n|0){l=k[ia>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];j=k[ca>>2]|0;i=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){fl(ka);g=k[ea>>2]|0;h=k[fa>>2]|0;j=k[ca>>2]|0;i=k[da>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[fa>>2]=(k[fa>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=h-m|0;E=k[d+(w<<2)>>2]|0;L=h-E|0;p=k[d+(s<<2)>>2]|0;G=h-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(h|0)==(m|0);A=ia+(M<<2)|0;D=c+(M<<2)|0;E=(h|0)==(E|0);B=ia+(w<<2)|0;F=c+(w<<2)|0;p=(h|0)==(p|0);o=ia+(s<<2)|0;q=c+(s<<2)|0;s=ia+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=ia+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=ia+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=K-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=L-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))jm(H,ia);else{k[g>>2]=k[ia>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[fa>>2]|0;if(!g){g=51;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==51){il(ka);r=la;return}}function om(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}sd(a+8|0,b);hd(a+24|0,b);hd(a+44|0,b);hd(a+64|0,b);u=k[g>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];pm(a,u,o,m,0,n);r=s;return 1}function pm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0;la=r;r=r+112|0;ia=la+96|0;m=la+32|0;ka=la+72|0;ha=la+60|0;$=la+48|0;ga=la+44|0;_=la+16|0;Z=la;i=k[c>>2]|0;aa=c+4|0;j=k[aa>>2]|0;ba=c+8|0;l=k[ba>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ka+12>>2]=0;k[ka+16>>2]=0;k[ka+20>>2]=0;ca=ka+8|0;da=ka+4|0;ea=ka+16|0;fa=ka+20|0;ll(ka);g=k[da>>2]|0;h=(k[fa>>2]|0)+(k[ea>>2]|0)|0;if((k[ca>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;Y=g+16|0;k[Y>>2]=k[m>>2];k[Y+4>>2]=k[m+4>>2];k[Y+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[fa>>2]|0)+1|0;k[fa>>2]=g;if(!g){ol(ka);r=la;return}O=$+4|0;P=$+8|0;Q=a+40|0;R=a+36|0;S=ia+4|0;T=ia+8|0;U=ia+4|0;V=ia+8|0;W=a+8|0;X=a+80|0;Y=a+76|0;a:while(1){L=k[ea>>2]|0;m=g+-1|0;l=m+L|0;M=k[da>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ha>>2]=k[J>>2];k[ha+4>>2]=k[J+4>>2];k[ha+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[fa>>2]=m;m=k[ca>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Ip(k[m+-4>>2]|0);k[ca>>2]=(k[ca>>2]|0)+-4}k[c>>2]=h;k[aa>>2]=i;k[ba>>2]=j;k[d>>2]=k[ha>>2];k[d+4>>2]=k[ha+4>>2];k[d+8>>2]=k[ha+8>>2];k[$>>2]=h;k[O>>2]=i;k[P>>2]=j;k[ia>>2]=k[ha>>2];k[ia+4>>2]=k[ha+4>>2];k[ia+8>>2]=k[ha+8>>2];M=Lm(a,N,$,ia,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(m|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[aa>>2];k[j+8>>2]=k[ba>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ia>>2]=k[c>>2];k[U>>2]=k[aa>>2];k[V>>2]=k[ba>>2];j=ia+(M<<2)|0;k[j>>2]=(k[j>>2]|0)+(1<>2]=0;ud(W,j,ga);j=(N>>>1)-(k[ga>>2]|0)|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[X>>2]|0;g=k[Y>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[X>>2]=N;if((N|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){l=k[c>>2]|0;m=k[aa>>2]|0;e=k[ba>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];j=k[ca>>2]|0;i=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){ll(ka);g=k[ea>>2]|0;h=k[fa>>2]|0;j=k[ca>>2]|0;i=k[da>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[_>>2];k[N+4>>2]=k[_+4>>2];k[N+8>>2]=k[_+8>>2];k[g+28>>2]=M;k[fa>>2]=(k[fa>>2]|0)+1}if(n|0){l=k[ia>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];j=k[ca>>2]|0;i=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){ll(ka);g=k[ea>>2]|0;h=k[fa>>2]|0;j=k[ca>>2]|0;i=k[da>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[fa>>2]=(k[fa>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=h-m|0;E=k[d+(w<<2)>>2]|0;L=h-E|0;p=k[d+(s<<2)>>2]|0;G=h-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(h|0)==(m|0);A=ia+(M<<2)|0;D=c+(M<<2)|0;E=(h|0)==(E|0);B=ia+(w<<2)|0;F=c+(w<<2)|0;p=(h|0)==(p|0);o=ia+(s<<2)|0;q=c+(s<<2)|0;s=ia+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=ia+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=ia+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=K-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=L-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))jm(H,ia);else{k[g>>2]=k[ia>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[fa>>2]|0;if(!g){g=51;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==51){ol(ka);r=la;return}}function qm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{sd(a+8+(d<<4)|0,b);d=d+1|0}while((d|0)!=32);sd(a+520|0,b);hd(a+536|0,b);hd(a+556|0,b);hd(a+576|0,b);u=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];rm(a,u,o,m,0,n);r=s;return 1}function rm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=r;r=r+112|0;ga=ia+96|0;m=ia+32|0;ha=ia+72|0;fa=ia+56|0;_=ia+44|0;Z=ia+16|0;Y=ia;i=k[c>>2]|0;$=c+4|0;j=k[$>>2]|0;aa=c+8|0;l=k[aa>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;ba=ha+8|0;ca=ha+4|0;da=ha+16|0;ea=ha+20|0;rl(ha);g=k[ca>>2]|0;h=(k[ea>>2]|0)+(k[da>>2]|0)|0;if((k[ba>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;X=g+16|0;k[X>>2]=k[m>>2];k[X+4>>2]=k[m+4>>2];k[X+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ea>>2]|0)+1|0;k[ea>>2]=g;if(!g){ul(ha);r=ia;return}O=_+4|0;P=_+8|0;Q=a+552|0;R=a+548|0;S=ga+4|0;T=ga+8|0;U=ga+4|0;V=ga+8|0;W=a+592|0;X=a+588|0;a:while(1){L=k[da>>2]|0;m=g+-1|0;l=m+L|0;M=k[ca>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[fa>>2]=k[J>>2];k[fa+4>>2]=k[J+4>>2];k[fa+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ea>>2]=m;m=k[ba>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Ip(k[m+-4>>2]|0);k[ba>>2]=(k[ba>>2]|0)+-4}k[c>>2]=h;k[$>>2]=i;k[aa>>2]=j;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[_>>2]=h;k[O>>2]=i;k[P>>2]=j;k[ga>>2]=k[fa>>2];k[ga+4>>2]=k[fa+4>>2];k[ga+8>>2]=k[fa+8>>2];M=Om(a,N,_,ga,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(m|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[$>>2];k[j+8>>2]=k[aa>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ga>>2]=k[c>>2];k[U>>2]=k[$>>2];k[V>>2]=k[aa>>2];L=ga+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[W>>2]|0;g=k[X>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[W>>2]=N;if((N|0)==32){k[X>>2]=g+4;k[W>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){l=k[c>>2]|0;m=k[$>>2]|0;e=k[aa>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){rl(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}if(n|0){l=k[ga>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){rl(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Y>>2];k[N+4>>2]=k[Y+4>>2];k[N+8>>2]=k[Y+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=h-m|0;E=k[d+(w<<2)>>2]|0;L=h-E|0;p=k[d+(s<<2)>>2]|0;G=h-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(h|0)==(m|0);A=ga+(M<<2)|0;D=c+(M<<2)|0;E=(h|0)==(E|0);B=ga+(w<<2)|0;F=c+(w<<2)|0;p=(h|0)==(p|0);o=ga+(s<<2)|0;q=c+(s<<2)|0;s=ga+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=ga+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=ga+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=K-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=L-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))jm(H,ga);else{k[g>>2]=k[ga>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ea>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==53){ul(ha);r=ia;return}}function sm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{sd(a+8+(d<<4)|0,b);d=d+1|0}while((d|0)!=32);sd(a+520|0,b);hd(a+536|0,b);hd(a+556|0,b);hd(a+576|0,b);u=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];tm(a,u,o,m,0,n);r=s;return 1}function tm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=r;r=r+112|0;ga=ia+96|0;m=ia+32|0;ha=ia+72|0;fa=ia+56|0;_=ia+44|0;Z=ia+16|0;Y=ia;i=k[c>>2]|0;$=c+4|0;j=k[$>>2]|0;aa=c+8|0;l=k[aa>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;ba=ha+8|0;ca=ha+4|0;da=ha+16|0;ea=ha+20|0;yl(ha);g=k[ca>>2]|0;h=(k[ea>>2]|0)+(k[da>>2]|0)|0;if((k[ba>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;X=g+16|0;k[X>>2]=k[m>>2];k[X+4>>2]=k[m+4>>2];k[X+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ea>>2]|0)+1|0;k[ea>>2]=g;if(!g){Bl(ha);r=ia;return}O=_+4|0;P=_+8|0;Q=a+552|0;R=a+548|0;S=ga+4|0;T=ga+8|0;U=ga+4|0;V=ga+8|0;W=a+592|0;X=a+588|0;a:while(1){L=k[da>>2]|0;m=g+-1|0;l=m+L|0;M=k[ca>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[fa>>2]=k[J>>2];k[fa+4>>2]=k[J+4>>2];k[fa+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ea>>2]=m;m=k[ba>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Ip(k[m+-4>>2]|0);k[ba>>2]=(k[ba>>2]|0)+-4}k[c>>2]=h;k[$>>2]=i;k[aa>>2]=j;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[_>>2]=h;k[O>>2]=i;k[P>>2]=j;k[ga>>2]=k[fa>>2];k[ga+4>>2]=k[fa+4>>2];k[ga+8>>2]=k[fa+8>>2];M=Qm(a,N,_,ga,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(m|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[$>>2];k[j+8>>2]=k[aa>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ga>>2]=k[c>>2];k[U>>2]=k[$>>2];k[V>>2]=k[aa>>2];L=ga+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[W>>2]|0;g=k[X>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[W>>2]=N;if((N|0)==32){k[X>>2]=g+4;k[W>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){l=k[c>>2]|0;m=k[$>>2]|0;e=k[aa>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){yl(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}if(n|0){l=k[ga>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){yl(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Y>>2];k[N+4>>2]=k[Y+4>>2];k[N+8>>2]=k[Y+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=h-m|0;E=k[d+(w<<2)>>2]|0;L=h-E|0;p=k[d+(s<<2)>>2]|0;G=h-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(h|0)==(m|0);A=ga+(M<<2)|0;D=c+(M<<2)|0;E=(h|0)==(E|0);B=ga+(w<<2)|0;F=c+(w<<2)|0;p=(h|0)==(p|0);o=ga+(s<<2)|0;q=c+(s<<2)|0;s=ga+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=ga+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=ga+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=K-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=L-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))jm(H,ga);else{k[g>>2]=k[ga>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ea>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==53){Bl(ha);r=ia;return}}function um(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{sd(a+8+(d<<4)|0,b);d=d+1|0}while((d|0)!=32);sd(a+520|0,b);hd(a+536|0,b);hd(a+556|0,b);hd(a+576|0,b);u=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];vm(a,u,o,m,0,n);r=s;return 1}function vm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=r;r=r+112|0;ga=ia+96|0;m=ia+32|0;ha=ia+72|0;fa=ia+56|0;_=ia+44|0;Z=ia+16|0;Y=ia;i=k[c>>2]|0;$=c+4|0;j=k[$>>2]|0;aa=c+8|0;l=k[aa>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;ba=ha+8|0;ca=ha+4|0;da=ha+16|0;ea=ha+20|0;El(ha);g=k[ca>>2]|0;h=(k[ea>>2]|0)+(k[da>>2]|0)|0;if((k[ba>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;X=g+16|0;k[X>>2]=k[m>>2];k[X+4>>2]=k[m+4>>2];k[X+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ea>>2]|0)+1|0;k[ea>>2]=g;if(!g){Hl(ha);r=ia;return}O=_+4|0;P=_+8|0;Q=a+552|0;R=a+548|0;S=ga+4|0;T=ga+8|0;U=ga+4|0;V=ga+8|0;W=a+592|0;X=a+588|0;a:while(1){L=k[da>>2]|0;m=g+-1|0;l=m+L|0;M=k[ca>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[fa>>2]=k[J>>2];k[fa+4>>2]=k[J+4>>2];k[fa+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ea>>2]=m;m=k[ba>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Ip(k[m+-4>>2]|0);k[ba>>2]=(k[ba>>2]|0)+-4}k[c>>2]=h;k[$>>2]=i;k[aa>>2]=j;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[_>>2]=h;k[O>>2]=i;k[P>>2]=j;k[ga>>2]=k[fa>>2];k[ga+4>>2]=k[fa+4>>2];k[ga+8>>2]=k[fa+8>>2];M=Sm(a,N,_,ga,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(m|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[$>>2];k[j+8>>2]=k[aa>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ga>>2]=k[c>>2];k[U>>2]=k[$>>2];k[V>>2]=k[aa>>2];L=ga+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[W>>2]|0;g=k[X>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[W>>2]=N;if((N|0)==32){k[X>>2]=g+4;k[W>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){l=k[c>>2]|0;m=k[$>>2]|0;e=k[aa>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){El(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}if(n|0){l=k[ga>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){El(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Y>>2];k[N+4>>2]=k[Y+4>>2];k[N+8>>2]=k[Y+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=h-m|0;E=k[d+(w<<2)>>2]|0;L=h-E|0;p=k[d+(s<<2)>>2]|0;G=h-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(h|0)==(m|0);A=ga+(M<<2)|0;D=c+(M<<2)|0;E=(h|0)==(E|0);B=ga+(w<<2)|0;F=c+(w<<2)|0;p=(h|0)==(p|0);o=ga+(s<<2)|0;q=c+(s<<2)|0;s=ga+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=ga+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=ga+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=K-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=L-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))jm(H,ga);else{k[g>>2]=k[ga>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ea>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==53){Hl(ha);r=ia;return}}function wm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{sd(a+8+(d<<4)|0,b);d=d+1|0}while((d|0)!=32);sd(a+520|0,b);hd(a+536|0,b);hd(a+556|0,b);hd(a+576|0,b);u=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];xm(a,u,o,m,0,n);r=s;return 1}function xm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=r;r=r+112|0;ga=ia+96|0;m=ia+32|0;ha=ia+72|0;fa=ia+56|0;_=ia+44|0;Z=ia+16|0;Y=ia;i=k[c>>2]|0;$=c+4|0;j=k[$>>2]|0;aa=c+8|0;l=k[aa>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;ba=ha+8|0;ca=ha+4|0;da=ha+16|0;ea=ha+20|0;Kl(ha);g=k[ca>>2]|0;h=(k[ea>>2]|0)+(k[da>>2]|0)|0;if((k[ba>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;X=g+16|0;k[X>>2]=k[m>>2];k[X+4>>2]=k[m+4>>2];k[X+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ea>>2]|0)+1|0;k[ea>>2]=g;if(!g){Nl(ha);r=ia;return}O=_+4|0;P=_+8|0;Q=a+552|0;R=a+548|0;S=ga+4|0;T=ga+8|0;U=ga+4|0;V=ga+8|0;W=a+592|0;X=a+588|0;a:while(1){L=k[da>>2]|0;m=g+-1|0;l=m+L|0;M=k[ca>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[fa>>2]=k[J>>2];k[fa+4>>2]=k[J+4>>2];k[fa+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ea>>2]=m;m=k[ba>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Ip(k[m+-4>>2]|0);k[ba>>2]=(k[ba>>2]|0)+-4}k[c>>2]=h;k[$>>2]=i;k[aa>>2]=j;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[_>>2]=h;k[O>>2]=i;k[P>>2]=j;k[ga>>2]=k[fa>>2];k[ga+4>>2]=k[fa+4>>2];k[ga+8>>2]=k[fa+8>>2];M=Um(a,N,_,ga,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(m|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[$>>2];k[j+8>>2]=k[aa>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ga>>2]=k[c>>2];k[U>>2]=k[$>>2];k[V>>2]=k[aa>>2];L=ga+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[W>>2]|0;g=k[X>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[W>>2]=N;if((N|0)==32){k[X>>2]=g+4;k[W>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){l=k[c>>2]|0;m=k[$>>2]|0;e=k[aa>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Kl(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}if(n|0){l=k[ga>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Kl(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Y>>2];k[N+4>>2]=k[Y+4>>2];k[N+8>>2]=k[Y+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=h-m|0;E=k[d+(w<<2)>>2]|0;L=h-E|0;p=k[d+(s<<2)>>2]|0;G=h-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(h|0)==(m|0);A=ga+(M<<2)|0;D=c+(M<<2)|0;E=(h|0)==(E|0);B=ga+(w<<2)|0;F=c+(w<<2)|0;p=(h|0)==(p|0);o=ga+(s<<2)|0;q=c+(s<<2)|0;s=ga+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=ga+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=ga+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=K-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=L-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))jm(H,ga);else{k[g>>2]=k[ga>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ea>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==53){Nl(ha);r=ia;return}}function ym(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{xd(a+8+(d*24|0)|0,b);d=d+1|0}while((d|0)!=32);xd(a+776|0,b);hd(a+800|0,b);hd(a+820|0,b);hd(a+840|0,b);u=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];zm(a,u,o,m,0,n);r=s;return 1}function zm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=r;r=r+112|0;ga=ia+96|0;m=ia+32|0;ha=ia+72|0;fa=ia+56|0;_=ia+44|0;Z=ia+16|0;Y=ia;i=k[c>>2]|0;$=c+4|0;j=k[$>>2]|0;aa=c+8|0;l=k[aa>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;ba=ha+8|0;ca=ha+4|0;da=ha+16|0;ea=ha+20|0;Ql(ha);g=k[ca>>2]|0;h=(k[ea>>2]|0)+(k[da>>2]|0)|0;if((k[ba>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;X=g+16|0;k[X>>2]=k[m>>2];k[X+4>>2]=k[m+4>>2];k[X+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ea>>2]|0)+1|0;k[ea>>2]=g;if(!g){Tl(ha);r=ia;return}O=_+4|0;P=_+8|0;Q=a+816|0;R=a+812|0;S=ga+4|0;T=ga+8|0;U=ga+4|0;V=ga+8|0;W=a+856|0;X=a+852|0;a:while(1){h=k[ca>>2]|0;M=k[da>>2]|0;L=k[h+(M>>>7<<2)>>2]|0;m=M&127;N=k[L+(m<<5)>>2]|0;i=k[L+(m<<5)+4>>2]|0;j=k[L+(m<<5)+8>>2]|0;l=k[L+(m<<5)+12>>2]|0;K=L+(m<<5)+16|0;k[fa>>2]=k[K>>2];k[fa+4>>2]=k[K+4>>2];k[fa+8>>2]=k[K+8>>2];m=k[L+(m<<5)+28>>2]|0;k[ea>>2]=g+-1;M=M+1|0;k[da>>2]=M;if(M>>>0>255){Ip(k[h>>2]|0);k[ca>>2]=(k[ca>>2]|0)+4;k[da>>2]=(k[da>>2]|0)+-128}k[c>>2]=i;k[$>>2]=j;k[aa>>2]=l;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[_>>2]=i;k[O>>2]=j;k[P>>2]=l;k[ga>>2]=k[fa>>2];k[ga+4>>2]=k[fa+4>>2];k[ga+8>>2]=k[fa+8>>2];M=Xm(a,N,_,ga,m)|0;l=d+(M<<2)|0;m=k[l>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(m|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[$>>2];k[j+8>>2]=k[aa>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ga>>2]=k[c>>2];k[U>>2]=k[$>>2];k[V>>2]=k[aa>>2];L=ga+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[W>>2]|0;g=k[X>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[W>>2]=N;if((N|0)==32){k[X>>2]=g+4;k[W>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){l=k[c>>2]|0;m=k[$>>2]|0;e=k[aa>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Ql(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}if(n|0){l=k[ga>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Ql(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Y>>2];k[N+4>>2]=k[Y+4>>2];k[N+8>>2]=k[Y+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;G=h-m|0;F=k[d+(w<<2)>>2]|0;H=h-F|0;p=k[d+(s<<2)>>2]|0;I=h-p|0;J=k[f>>2]|0;K=J+4|0;L=J+8|0;D=(h|0)==(m|0);A=ga+(M<<2)|0;E=c+(M<<2)|0;F=(h|0)==(F|0);B=ga+(w<<2)|0;C=c+(w<<2)|0;p=(h|0)==(p|0);o=ga+(s<<2)|0;q=c+(s<<2)|0;s=ga+(s<<2)|0;t=(I|0)<33;u=(I|0)>0;v=32-I|0;w=ga+(w<<2)|0;x=(H|0)<33;y=(H|0)>0;z=32-H|0;l=ga+(M<<2)|0;m=(G|0)<33;e=(G|0)>0;b=32-G|0;n=0;do{k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;do if(!D){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=H-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+H|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[C>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=I-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+I|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[K>>2]|0;if((g|0)==(k[L>>2]|0))jm(J,ga);else{k[g>>2]=k[ga>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[K>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ea>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==53){Tl(ha);r=ia;return}}function Am(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{xd(a+8+(d*24|0)|0,b);d=d+1|0}while((d|0)!=32);xd(a+776|0,b);hd(a+800|0,b);hd(a+820|0,b);hd(a+840|0,b);u=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];Bm(a,u,o,m,0,n);r=s;return 1}function Bm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=r;r=r+112|0;ga=ia+96|0;m=ia+32|0;ha=ia+72|0;fa=ia+56|0;_=ia+44|0;Z=ia+16|0;Y=ia;i=k[c>>2]|0;$=c+4|0;j=k[$>>2]|0;aa=c+8|0;l=k[aa>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;ba=ha+8|0;ca=ha+4|0;da=ha+16|0;ea=ha+20|0;Xl(ha);g=k[ca>>2]|0;h=(k[ea>>2]|0)+(k[da>>2]|0)|0;if((k[ba>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;X=g+16|0;k[X>>2]=k[m>>2];k[X+4>>2]=k[m+4>>2];k[X+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ea>>2]|0)+1|0;k[ea>>2]=g;if(!g){_l(ha);r=ia;return}O=_+4|0;P=_+8|0;Q=a+816|0;R=a+812|0;S=ga+4|0;T=ga+8|0;U=ga+4|0;V=ga+8|0;W=a+856|0;X=a+852|0;a:while(1){h=k[ca>>2]|0;M=k[da>>2]|0;L=k[h+(M>>>7<<2)>>2]|0;m=M&127;N=k[L+(m<<5)>>2]|0;i=k[L+(m<<5)+4>>2]|0;j=k[L+(m<<5)+8>>2]|0;l=k[L+(m<<5)+12>>2]|0;K=L+(m<<5)+16|0;k[fa>>2]=k[K>>2];k[fa+4>>2]=k[K+4>>2];k[fa+8>>2]=k[K+8>>2];m=k[L+(m<<5)+28>>2]|0;k[ea>>2]=g+-1;M=M+1|0;k[da>>2]=M;if(M>>>0>255){Ip(k[h>>2]|0);k[ca>>2]=(k[ca>>2]|0)+4;k[da>>2]=(k[da>>2]|0)+-128}k[c>>2]=i;k[$>>2]=j;k[aa>>2]=l;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[_>>2]=i;k[O>>2]=j;k[P>>2]=l;k[ga>>2]=k[fa>>2];k[ga+4>>2]=k[fa+4>>2];k[ga+8>>2]=k[fa+8>>2];M=Zm(a,N,_,ga,m)|0;l=d+(M<<2)|0;m=k[l>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(m|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[$>>2];k[j+8>>2]=k[aa>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ga>>2]=k[c>>2];k[U>>2]=k[$>>2];k[V>>2]=k[aa>>2];L=ga+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[W>>2]|0;g=k[X>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[W>>2]=N;if((N|0)==32){k[X>>2]=g+4;k[W>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){l=k[c>>2]|0;m=k[$>>2]|0;e=k[aa>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Xl(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}if(n|0){l=k[ga>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Xl(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Y>>2];k[N+4>>2]=k[Y+4>>2];k[N+8>>2]=k[Y+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;G=h-m|0;F=k[d+(w<<2)>>2]|0;H=h-F|0;p=k[d+(s<<2)>>2]|0;I=h-p|0;J=k[f>>2]|0;K=J+4|0;L=J+8|0;D=(h|0)==(m|0);A=ga+(M<<2)|0;E=c+(M<<2)|0;F=(h|0)==(F|0);B=ga+(w<<2)|0;C=c+(w<<2)|0;p=(h|0)==(p|0);o=ga+(s<<2)|0;q=c+(s<<2)|0;s=ga+(s<<2)|0;t=(I|0)<33;u=(I|0)>0;v=32-I|0;w=ga+(w<<2)|0;x=(H|0)<33;y=(H|0)>0;z=32-H|0;l=ga+(M<<2)|0;m=(G|0)<33;e=(G|0)>0;b=32-G|0;n=0;do{k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;do if(!D){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=H-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+H|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[C>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=I-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+I|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[K>>2]|0;if((g|0)==(k[L>>2]|0))jm(J,ga);else{k[g>>2]=k[ga>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[K>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ea>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==53){_l(ha);r=ia;return}}function Cm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{xd(a+8+(d*24|0)|0,b);d=d+1|0}while((d|0)!=32);xd(a+776|0,b);hd(a+800|0,b);hd(a+820|0,b);hd(a+840|0,b);u=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];Dm(a,u,o,m,0,n);r=s;return 1}function Dm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0,ma=0,na=0,oa=0;oa=r;r=r+176|0;na=oa;n=oa+128|0;ma=oa+112|0;la=oa+64|0;U=oa+160|0;ka=oa+16|0;V=oa+80|0;W=oa+32|0;R=k[c>>2]|0;ha=c+4|0;T=k[ha>>2]|0;ia=c+8|0;S=k[ia>>2]|0;k[n>>2]=b;k[n+4>>2]=R;k[n+8>>2]=T;k[n+12>>2]=S;S=n+16|0;k[S>>2]=k[d>>2];k[S+4>>2]=k[d+4>>2];k[S+8>>2]=k[d+8>>2];k[n+28>>2]=e;k[ma>>2]=0;S=ma+4|0;k[S>>2]=0;k[ma+8>>2]=0;T=ma+8|0;bm(ma,n);e=k[S>>2]|0;n=k[ma>>2]|0;b=e-n|0;if((b|0)>32){g=((b>>5)+-2|0)/2|0;h=n+(g<<5)|0;b=e+-32|0;i=k[b>>2]|0;if((k[h>>2]|0)>>>0>>0){j=k[e+-28>>2]|0;l=k[e+-24>>2]|0;m=k[e+-20>>2]|0;e=e+-16|0;k[na>>2]=k[e>>2];k[na+4>>2]=k[e+4>>2];k[na+8>>2]=k[e+8>>2];k[na+12>>2]=k[e+12>>2];e=h;while(1){k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];k[b+20>>2]=k[e+20>>2];k[b+24>>2]=k[e+24>>2];k[b+28>>2]=k[e+28>>2];if(!g)break;g=(g+-1|0)/2|0;b=n+(g<<5)|0;if((k[b>>2]|0)>>>0>=i>>>0)break;else{R=e;e=b;b=R}}k[e>>2]=i;k[e+4>>2]=j;k[e+8>>2]=l;k[e+12>>2]=m;g=e+16|0;k[g>>2]=k[na>>2];k[g+4>>2]=k[na+4>>2];k[g+8>>2]=k[na+8>>2];k[g+12>>2]=k[na+12>>2];g=7}else g=7}else b=n;a:while(1){if((g|0)==7){b=k[ma>>2]|0;e=k[S>>2]|0}if((b|0)==(e|0)){g=63;break}R=k[b>>2]|0;e=k[b+4>>2]|0;o=k[b+8>>2]|0;m=k[b+12>>2]|0;Q=b+16|0;k[la>>2]=k[Q>>2];k[la+4>>2]=k[Q+4>>2];k[la+8>>2]=k[Q+8>>2];Q=k[b+28>>2]|0;cm(ma);k[c>>2]=e;k[ha>>2]=o;k[ia>>2]=m;k[d>>2]=k[la>>2];k[d+4>>2]=k[la+4>>2];k[d+8>>2]=k[la+8>>2];k[U>>2]=e;k[U+4>>2]=o;k[U+8>>2]=m;k[na>>2]=k[la>>2];k[na+4>>2]=k[la+4>>2];k[na+8>>2]=k[la+8>>2];Q=$m(a,R,U,na,Q)|0;m=d+(Q<<2)|0;o=k[m>>2]|0;b=k[a>>2]|0;e=(R|0)==0;do if((b|0)==(o|0)){if(!e){e=k[f>>2]|0;b=e+4|0;g=e+8|0;i=0;do{h=k[b>>2]|0;if((h|0)==(k[g>>2]|0))jm(e,c);else{k[h>>2]=k[c>>2];k[h+4>>2]=k[ha>>2];k[h+8>>2]=k[ia>>2];k[b>>2]=h+12}i=i+1|0}while(i>>>0>>0)}}else{if(e){g=17;break a}if(R>>>0>=3){k[ka>>2]=k[c>>2];p=ka+4|0;k[p>>2]=k[ha>>2];q=ka+8|0;k[q>>2]=k[ia>>2];P=ka+(Q<<2)|0;k[P>>2]=(k[P>>2]|0)+(1<>>1)-e|0;h=R-j|0;if((j|0)==(h|0)){l=j;n=j}else{e=a+856|0;R=k[e>>2]|0;b=a+852|0;g=k[b>>2]|0;i=(k[g>>2]&1<<31-R|0)!=0;R=R+1|0;k[e>>2]=R;if((R|0)==32){k[b>>2]=g+4;k[e>>2]=0}l=i?j:h;n=i?h:j}k[m>>2]=o+1;if(l|0){e=k[c>>2]|0;b=k[ha>>2]|0;g=k[ia>>2]|0;k[V>>2]=l;k[V+4>>2]=e;k[V+8>>2]=b;k[V+12>>2]=g;h=V+16|0;k[h>>2]=k[d>>2];k[h+4>>2]=k[d+4>>2];k[h+8>>2]=k[d+8>>2];k[V+28>>2]=Q;i=k[S>>2]|0;if(i>>>0<(k[T>>2]|0)>>>0){k[i>>2]=l;k[i+4>>2]=e;k[i+8>>2]=b;k[i+12>>2]=g;g=i+16|0;k[g>>2]=k[h>>2];k[g+4>>2]=k[h+4>>2];k[g+8>>2]=k[h+8>>2];k[g+12>>2]=k[h+12>>2];g=(k[S>>2]|0)+32|0;k[S>>2]=g}else{dm(ma,V);g=k[S>>2]|0}e=k[ma>>2]|0;b=g-e|0;if((b|0)>32?(X=((b>>5)+-2|0)/2|0,Y=e,Z=Y+(X<<5)|0,_=g,$=_+-32|0,aa=k[$>>2]|0,(k[Z>>2]|0)>>>0>>0):0){h=k[_+-28>>2]|0;i=k[_+-24>>2]|0;j=k[_+-20>>2]|0;g=_+-16|0;k[na>>2]=k[g>>2];k[na+4>>2]=k[g+4>>2];k[na+8>>2]=k[g+8>>2];k[na+12>>2]=k[g+12>>2];g=X;b=$;e=Z;while(1){k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];k[b+20>>2]=k[e+20>>2];k[b+24>>2]=k[e+24>>2];k[b+28>>2]=k[e+28>>2];if(!g)break;g=(g+-1|0)/2|0;b=Y+(g<<5)|0;if((k[b>>2]|0)>>>0>=aa>>>0)break;else{R=e;e=b;b=R}}k[e>>2]=aa;k[e+4>>2]=h;k[e+8>>2]=i;k[e+12>>2]=j;R=e+16|0;k[R>>2]=k[na>>2];k[R+4>>2]=k[na+4>>2];k[R+8>>2]=k[na+8>>2];k[R+12>>2]=k[na+12>>2]}}if(n|0){i=k[ka>>2]|0;h=k[p>>2]|0;b=k[q>>2]|0;k[W>>2]=n;k[W+4>>2]=i;k[W+8>>2]=h;k[W+12>>2]=b;g=W+16|0;k[g>>2]=k[d>>2];k[g+4>>2]=k[d+4>>2];k[g+8>>2]=k[d+8>>2];k[W+28>>2]=Q;e=k[S>>2]|0;if(e>>>0<(k[T>>2]|0)>>>0){k[e>>2]=n;k[e+4>>2]=i;k[e+8>>2]=h;k[e+12>>2]=b;R=e+16|0;k[R>>2]=k[g>>2];k[R+4>>2]=k[g+4>>2];k[R+8>>2]=k[g+8>>2];k[R+12>>2]=k[g+12>>2];g=(k[S>>2]|0)+32|0;k[S>>2]=g}else{dm(ma,W);g=k[S>>2]|0}e=k[ma>>2]|0;b=g-e|0;if((b|0)>32?(ba=((b>>5)+-2|0)/2|0,ca=e,da=ca+(ba<<5)|0,ea=g,fa=ea+-32|0,ga=k[fa>>2]|0,(k[da>>2]|0)>>>0>>0):0){h=k[ea+-28>>2]|0;i=k[ea+-24>>2]|0;j=k[ea+-20>>2]|0;g=ea+-16|0;k[na>>2]=k[g>>2];k[na+4>>2]=k[g+4>>2];k[na+8>>2]=k[g+8>>2];k[na+12>>2]=k[g+12>>2];g=ba;b=fa;e=da;while(1){k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];k[b+20>>2]=k[e+20>>2];k[b+24>>2]=k[e+24>>2];k[b+28>>2]=k[e+28>>2];if(!g)break;g=(g+-1|0)/2|0;b=ca+(g<<5)|0;if((k[b>>2]|0)>>>0>=ga>>>0)break;else{R=e;e=b;b=R}}k[e>>2]=ga;k[e+4>>2]=h;k[e+8>>2]=i;k[e+12>>2]=j;R=e+16|0;k[R>>2]=k[na>>2];k[R+4>>2]=k[na+4>>2];k[R+8>>2]=k[na+8>>2];k[R+12>>2]=k[na+12>>2]}}break}w=(Q|0)==2?0:Q+1|0;s=(w|0)==2?0:w+1|0;G=b-o|0;E=k[d+(w<<2)>>2]|0;H=b-E|0;p=k[d+(s<<2)>>2]|0;I=b-p|0;J=a+816|0;K=a+812|0;L=k[f>>2]|0;M=L+4|0;N=L+8|0;O=na+4|0;P=na+8|0;C=(b|0)==(o|0);A=na+(Q<<2)|0;D=c+(Q<<2)|0;E=(b|0)==(E|0);B=na+(w<<2)|0;F=c+(w<<2)|0;p=(b|0)==(p|0);o=na+(s<<2)|0;q=c+(s<<2)|0;s=na+(s<<2)|0;t=(I|0)<33;u=(I|0)>0;v=32-I|0;w=na+(w<<2)|0;x=(H|0)<33;y=(H|0)>0;z=32-H|0;i=na+(Q<<2)|0;j=(G|0)<33;l=(G|0)>0;m=32-G|0;n=0;do{k[na>>2]=0;k[na+4>>2]=0;k[na+8>>2]=0;do if(!C){if(!j){g=25;break a}if(!l){g=27;break a}g=k[J>>2]|0;e=32-g|0;h=k[K>>2]|0;b=k[h>>2]<>>0>e>>>0){Q=G-e|0;k[J>>2]=Q;h=h+4|0;k[K>>2]=h;Q=32-Q|0;e=(k[h>>2]|0)>>>Q|b>>>(Q-e|0);k[i>>2]=e;b=i;break}e=b>>>m;k[i>>2]=e;Q=g+G|0;k[J>>2]=Q;if((Q|0)==32){k[K>>2]=h+4;k[J>>2]=0;b=i}else b=i}else{b=A;e=k[A>>2]|0}while(0);k[b>>2]=e|k[D>>2];do if(!E){if(!x){g=25;break a}if(!y){g=27;break a}g=k[J>>2]|0;e=32-g|0;h=k[K>>2]|0;b=k[h>>2]<>>0>e>>>0){Q=H-e|0;k[J>>2]=Q;h=h+4|0;k[K>>2]=h;Q=32-Q|0;e=(k[h>>2]|0)>>>Q|b>>>(Q-e|0);k[w>>2]=e;b=w;break}e=b>>>z;k[w>>2]=e;Q=g+H|0;k[J>>2]=Q;if((Q|0)==32){k[K>>2]=h+4;k[J>>2]=0;b=w}else b=w}else{b=B;e=k[B>>2]|0}while(0);k[b>>2]=e|k[F>>2];do if(!p){if(!t){g=25;break a}if(!u){g=27;break a}g=k[J>>2]|0;e=32-g|0;h=k[K>>2]|0;b=k[h>>2]<>>0>e>>>0){Q=I-e|0;k[J>>2]=Q;h=h+4|0;k[K>>2]=h;Q=32-Q|0;e=(k[h>>2]|0)>>>Q|b>>>(Q-e|0);k[s>>2]=e;b=s;break}e=b>>>v;k[s>>2]=e;Q=g+I|0;k[J>>2]=Q;if((Q|0)==32){k[K>>2]=h+4;k[J>>2]=0;b=s}else b=s}else{b=o;e=k[o>>2]|0}while(0);k[b>>2]=e|k[q>>2];e=k[M>>2]|0;if((e|0)==(k[N>>2]|0))jm(L,na);else{k[e>>2]=k[na>>2];k[e+4>>2]=k[O>>2];k[e+8>>2]=k[P>>2];k[M>>2]=e+12}n=n+1|0}while(n>>>0>>0)}while(0);g=7}if((g|0)==17)Aa(9956,9994,228,10064);else if((g|0)==25)Aa(10077,10101,111,10128);else if((g|0)==27)Aa(10141,10101,112,10128);else if((g|0)==63){if(!e){r=oa;return}Ip(e);r=oa;return}}function Em(a){a=a|0;k[a>>2]=0;fd(a+8|0);fd(a+28|0);fd(a+48|0);fd(a+68|0);return}function Fm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Gm(a){a=a|0;k[a>>2]=0;fd(a+8|0);fd(a+28|0);fd(a+48|0);fd(a+68|0);return}function Hm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Im(a){a=a|0;k[a>>2]=0;qd(a+8|0);fd(a+24|0);fd(a+44|0);fd(a+64|0);return}function Jm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Km(a){a=a|0;k[a>>2]=0;qd(a+8|0);fd(a+24|0);fd(a+44|0);fd(a+64|0);return}function Lm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Mm(a){a=a|0;k[a>>2]=0;Nm(a+8|0);qd(a+520|0);fd(a+536|0);fd(a+556|0);fd(a+576|0);return}function Nm(a){a=a|0;qd(a);qd(a+16|0);qd(a+32|0);qd(a+48|0);qd(a+64|0);qd(a+80|0);qd(a+96|0);qd(a+112|0);qd(a+128|0);qd(a+144|0);qd(a+160|0);qd(a+176|0);qd(a+192|0);qd(a+208|0);qd(a+224|0);qd(a+240|0);qd(a+256|0);qd(a+272|0);qd(a+288|0);qd(a+304|0);qd(a+320|0);qd(a+336|0);qd(a+352|0);qd(a+368|0);qd(a+384|0);qd(a+400|0);qd(a+416|0);qd(a+432|0);qd(a+448|0);qd(a+464|0);qd(a+480|0);qd(a+496|0);return}function Om(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Pm(a){a=a|0;k[a>>2]=0;Nm(a+8|0);qd(a+520|0);fd(a+536|0);fd(a+556|0);fd(a+576|0);return}function Qm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Rm(a){a=a|0;k[a>>2]=0;Nm(a+8|0);qd(a+520|0);fd(a+536|0);fd(a+556|0);fd(a+576|0);return}function Sm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(b>>>0<64){a=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;a=(k[d+(a<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:a;return a|0}f=a+572|0;g=k[f>>2]|0;e=32-g|0;d=a+568|0;b=k[d>>2]|0;c=k[b>>2]<>>0<4){a=4-e|0;k[f>>2]=a;g=b+4|0;k[d>>2]=g;a=32-a|0;a=(k[g>>2]|0)>>>a|c>>>(a-e|0);return a|0}c=c>>>28;a=g+4|0;k[f>>2]=a;if((a|0)!=32){a=c;return a|0}k[d>>2]=b+4;k[f>>2]=0;a=c;return a|0}function Tm(a){a=a|0;k[a>>2]=0;Nm(a+8|0);qd(a+520|0);fd(a+536|0);fd(a+556|0);fd(a+576|0);return}function Um(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(b>>>0<64){a=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;a=(k[d+(a<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:a;return a|0}f=a+572|0;g=k[f>>2]|0;e=32-g|0;d=a+568|0;b=k[d>>2]|0;c=k[b>>2]<>>0<4){a=4-e|0;k[f>>2]=a;g=b+4|0;k[d>>2]=g;a=32-a|0;a=(k[g>>2]|0)>>>a|c>>>(a-e|0);return a|0}c=c>>>28;a=g+4|0;k[f>>2]=a;if((a|0)!=32){a=c;return a|0}k[d>>2]=b+4;k[f>>2]=0;a=c;return a|0}function Vm(a){a=a|0;k[a>>2]=0;Wm(a+8|0);vd(a+776|0);fd(a+800|0);fd(a+820|0);fd(a+840|0);return}function Wm(a){a=a|0;vd(a);vd(a+24|0);vd(a+48|0);vd(a+72|0);vd(a+96|0);vd(a+120|0);vd(a+144|0);vd(a+168|0);vd(a+192|0);vd(a+216|0);vd(a+240|0);vd(a+264|0);vd(a+288|0);vd(a+312|0);vd(a+336|0);vd(a+360|0);vd(a+384|0);vd(a+408|0);vd(a+432|0);vd(a+456|0);vd(a+480|0);vd(a+504|0);vd(a+528|0);vd(a+552|0);vd(a+576|0);vd(a+600|0);vd(a+624|0);vd(a+648|0);vd(a+672|0);vd(a+696|0);vd(a+720|0);vd(a+744|0);return}function Xm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(b>>>0<64){a=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;a=(k[d+(a<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:a;return a|0}f=a+836|0;g=k[f>>2]|0;e=32-g|0;d=a+832|0;b=k[d>>2]|0;c=k[b>>2]<>>0<4){a=4-e|0;k[f>>2]=a;g=b+4|0;k[d>>2]=g;a=32-a|0;a=(k[g>>2]|0)>>>a|c>>>(a-e|0);return a|0}c=c>>>28;a=g+4|0;k[f>>2]=a;if((a|0)!=32){a=c;return a|0}k[d>>2]=b+4;k[f>>2]=0;a=c;return a|0}function Ym(a){a=a|0;k[a>>2]=0;Wm(a+8|0);vd(a+776|0);fd(a+800|0);fd(a+820|0);fd(a+840|0);return}function Zm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(b>>>0<64){a=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;a=(k[d+(a<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:a;return a|0}f=a+836|0;g=k[f>>2]|0;e=32-g|0;d=a+832|0;b=k[d>>2]|0;c=k[b>>2]<>>0<4){a=4-e|0;k[f>>2]=a;g=b+4|0;k[d>>2]=g;a=32-a|0;a=(k[g>>2]|0)>>>a|c>>>(a-e|0);return a|0}c=c>>>28;a=g+4|0;k[f>>2]=a;if((a|0)!=32){a=c;return a|0}k[d>>2]=b+4;k[f>>2]=0;a=c;return a|0}function _m(a){a=a|0;k[a>>2]=0;Wm(a+8|0);vd(a+776|0);fd(a+800|0);fd(a+820|0);fd(a+840|0);return}function $m(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(b>>>0<64){a=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;a=(k[d+(a<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:a;return a|0}f=a+836|0;g=k[f>>2]|0;e=32-g|0;d=a+832|0;b=k[d>>2]|0;c=k[b>>2]<>>0<4){a=4-e|0;k[f>>2]=a;g=b+4|0;k[d>>2]=g;a=32-a|0;a=(k[g>>2]|0)>>>a|c>>>(a-e|0);return a|0}c=c>>>28;a=g+4|0;k[f>>2]=a;if((a|0)!=32){a=c;return a|0}k[d>>2]=b+4;k[f>>2]=0;a=c;return a|0}function an(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Ip(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)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Ip(b);Ip(a);return}function bn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+16|0;j=l;i=$p(52)|0;g=$p(12)|0;f=k[(k[a+4>>2]|0)+64>>2]|0;k[g+4>>2]=0;k[g>>2]=4316;k[g+8>>2]=f;k[j>>2]=g;Ck(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){Kk(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)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[f>>2]|0}while((a|0)!=(h|0))}while(0);b=(k[g>>2]|0)+(b<<2)|0;a=k[b>>2]|0;k[b>>2]=i;if(a|0)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[j>>2]|0;k[j>>2]=0;if(!a){r=l;return 1}ab[k[(k[a>>2]|0)+4>>2]&127](a);r=l;return 1}function cn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+16|0;x=y;v=a+20|0;q=k[v>>2]|0;m=q+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;f=q+16|0;o=f;n=k[o>>2]|0;o=k[o+4>>2]|0;c=jq(n|0,o|0,4,0)|0;b=L;if((m|0)<(b|0)|(m|0)==(b|0)&j>>>0>>0){a=0;r=y;return a|0}e=k[q>>2]|0;w=e+n|0;w=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;d=f;k[d>>2]=c;k[d+4>>2]=b;b=jq(n|0,o|0,8,0)|0;d=L;if((m|0)<(d|0)|(m|0)==(d|0)&j>>>0>>0){a=0;r=y;return a|0}u=e+c|0;u=l[u>>0]|l[u+1>>0]<<8|l[u+2>>0]<<16|l[u+3>>0]<<24;t=f;k[t>>2]=b;k[t+4>>2]=d;if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>b>>>0)){a=0;r=y;return a|0}t=i[e+b>>0]|0;h=jq(n|0,o|0,9,0)|0;g=L;s=f;k[s>>2]=h;k[s+4>>2]=g;a:do if(!(t<<24>>24)){if(!(dn(a,w)|0)){a=0;r=y;return a|0}}else{if((u|0)<256){if((w|0)<=0)break;n=a+24|0;o=x+4|0;p=x+8|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;b:do if((m|0)>(g|0)|(m|0)==(g|0)&j>>>0>h>>>0){b=q;f=m;e=j;j=0;do{d=b+16|0;c=k[b>>2]|0;s=i[c+h>>0]|0;b=jq(h|0,g|0,1,0)|0;t=L;q=d;k[q>>2]=b;k[q+4>>2]=t;k[x>>2]=s&255;if(!((f|0)>(t|0)|(f|0)==(t|0)&e>>>0>b>>>0))break b;s=i[c+b>>0]|0;b=jq(h|0,g|0,2,0)|0;t=L;q=d;k[q>>2]=b;k[q+4>>2]=t;k[o>>2]=s&255;if(!((f|0)>(t|0)|(f|0)==(t|0)&e>>>0>b>>>0))break b;c=i[c+b>>0]|0;b=jq(h|0,g|0,3,0)|0;k[d>>2]=b;k[d+4>>2]=L;k[p>>2]=c&255;d=k[n>>2]|0;c=d+84|0;b=k[c>>2]|0;if((b|0)==(k[d+88>>2]|0))en(d+80|0,x);else{k[b>>2]=k[x>>2];k[b+4>>2]=k[x+4>>2];k[b+8>>2]=k[x+8>>2];k[c>>2]=(k[c>>2]|0)+12}j=j+1|0;if((j|0)>=(w|0))break a;b=k[v>>2]|0;f=b+8|0;e=k[f>>2]|0;f=k[f+4>>2]|0;g=b+16|0;h=k[g>>2]|0;g=k[g+4>>2]|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0}while((f|0)>(g|0)|(f|0)==(g|0)&e>>>0>h>>>0)}while(0);a=0;r=y;return a|0}b=(w|0)>0;if((u|0)<65536){if(!b)break;p=a+24|0;s=x+4|0;t=x+8|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;b=jq(n|0,o|0,11,0)|0;c=L;c:do if(!((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0)){d=q;n=0;do{f=d+16|0;e=k[d>>2]|0;d=e+h|0;d=l[d>>0]|l[d+1>>0]<<8;q=f;k[q>>2]=b;k[q+4>>2]=c;k[x>>2]=d&65535;d=jq(h|0,g|0,4,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0)break c;b=e+b|0;b=l[b>>0]|l[b+1>>0]<<8;q=f;k[q>>2]=d;k[q+4>>2]=c;k[s>>2]=b&65535;b=jq(h|0,g|0,6,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0)break c;d=e+d|0;d=l[d>>0]|l[d+1>>0]<<8;q=f;k[q>>2]=b;k[q+4>>2]=c;k[t>>2]=d&65535;d=k[p>>2]|0;c=d+84|0;b=k[c>>2]|0;if((b|0)==(k[d+88>>2]|0))en(d+80|0,x);else{k[b>>2]=k[x>>2];k[b+4>>2]=k[x+4>>2];k[b+8>>2]=k[x+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;m=d+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;g=d+16|0;h=k[g>>2]|0;g=k[g+4>>2]|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;b=jq(h|0,g|0,2,0)|0;c=L}while(!((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0))}while(0);a=0;r=y;return a|0}else{if(!b)break;p=a+24|0;s=x+4|0;t=x+8|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;b=jq(n|0,o|0,13,0)|0;c=L;d:do if(!((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0)){d=q;n=0;do{f=d+16|0;e=k[d>>2]|0;d=e+h|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;q=f;k[q>>2]=b;k[q+4>>2]=c;k[x>>2]=d;d=jq(h|0,g|0,8,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>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;q=f;k[q>>2]=d;k[q+4>>2]=c;k[s>>2]=b;b=jq(h|0,g|0,12,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>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;q=f;k[q>>2]=b;k[q+4>>2]=c;k[t>>2]=d;d=k[p>>2]|0;c=d+84|0;b=k[c>>2]|0;if((b|0)==(k[d+88>>2]|0))en(d+80|0,x);else{k[b>>2]=k[x>>2];k[b+4>>2]=k[x+4>>2];k[b+8>>2]=k[x+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;m=d+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;g=d+16|0;h=k[g>>2]|0;g=k[g+4>>2]|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;b=jq(h|0,g|0,4,0)|0;c=L}while(!((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0))}while(0);a=0;r=y;return a|0}}while(0);k[(k[a+4>>2]|0)+64>>2]=u;a=1;r=y;return a|0}function dn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+32|0;m=o+12|0;l=o;c=b*3|0;k[m>>2]=0;n=m+4|0;k[n>>2]=0;k[m+8>>2]=0;do if(b)if(c>>>0>1073741823)yp(m);else{i=b*12|0;d=$p(i)|0;k[m>>2]=d;j=d+(c<<2)|0;k[m+8>>2]=j;hq(d|0,0,i|0)|0;k[n>>2]=j;break}else d=0;while(0);if(Kd(c,1,k[a+20>>2]|0,d)|0)if((b|0)>0){c=a+24|0;d=l+4|0;a=l+8|0;h=0;i=0;j=0;while(1){g=l;k[g>>2]=0;k[g+4>>2]=0;g=k[m>>2]|0;p=k[g+(j<<2)>>2]|0;e=p>>>1;e=((p&1|0)==0?e:0-e|0)+i|0;k[l>>2]=e;p=k[g+(j+1<<2)>>2]|0;f=p>>>1;e=((p&1|0)==0?f:0-f|0)+e|0;k[d>>2]=e;g=k[g+(j+2<<2)>>2]|0;f=g>>>1;i=((g&1|0)==0?f:0-f|0)+e|0;k[a>>2]=i;e=k[c>>2]|0;f=e+84|0;g=k[f>>2]|0;if((g|0)==(k[e+88>>2]|0))en(e+80|0,l);else{k[g>>2]=k[l>>2];k[g+4>>2]=k[l+4>>2];k[g+8>>2]=k[l+8>>2];k[f>>2]=(k[f>>2]|0)+12}h=h+1|0;if((h|0)>=(b|0)){a=1;break}else j=j+3|0}}else a=1;else a=0;c=k[m>>2]|0;if(!c){r=o;return a|0}d=k[n>>2]|0;if((d|0)!=(c|0))k[n>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ip(c);r=o;return a|0}function en(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;h=a+4|0;i=k[a>>2]|0;d=(((k[h>>2]|0)-i|0)/12|0)+1|0;if(d>>>0>357913941)yp(a);j=a+8|0;c=((k[j>>2]|0)-i|0)/12|0;if(c>>>0<178956970){c=c<<1;c=c>>>0>>0?d:c;e=k[h>>2]|0;d=(e-i|0)/12|0;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=357913941;e=d;d=(d-i|0)/12|0;l=6}if((l|0)==6){g=c;f=$p(c*12|0)|0;c=e}l=f+(d*12|0)|0;k[l>>2]=k[b>>2];k[l+4>>2]=k[b+4>>2];k[l+8>>2]=k[b+8>>2];e=c-i|0;b=l+(((e|0)/-12|0)*12|0)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+12;k[j>>2]=f+(g*12|0);if(!i)return;Ip(i);return}function fn(a){a=a|0;mh(a);k[a>>2]=4412;return}function gn(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4472;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b)return;c=a+12|0;a=k[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-4|0;k[c>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[c>>2]|0}while((a|0)!=(b|0));b=k[d>>2]|0}Ip(b);return}function hn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=4472;e=a+28|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Ip(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)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Ip(b);Ip(a);return}function jn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a+20>>2]|0;f=b+8|0;h=k[f+4>>2]|0;e=b+16|0;d=e;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((h|0)>(d|0)|((h|0)==(d|0)?(k[f>>2]|0)>>>0>c>>>0:0))){h=0;return h|0}f=i[(k[b>>2]|0)+c>>0]|0;b=jq(c|0,d|0,1,0)|0;d=e;k[d>>2]=b;k[d+4>>2]=L;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);switch(f<<24>>24){case 0:{b=$p(336)|0;Oo(b);c=k[d>>2]|0;k[d>>2]=b;if(c){ab[k[(k[c>>2]|0)+4>>2]&127](c);g=9}break}case 1:{b=$p(376)|0;Po(b);c=k[d>>2]|0;k[d>>2]=b;if(c){ab[k[(k[c>>2]|0)+4>>2]&127](c);g=9}break}default:g=9}if((g|0)==9){b=k[d>>2]|0;if(!b){h=0;return h|0}}h=gb[k[(k[b>>2]|0)+8>>2]&63](b,a)|0;return h|0}function kn(a,b){a=a|0;b=b|0;a=k[a+28>>2]|0;return gb[k[(k[a>>2]|0)+20>>2]&63](a,b)|0}function ln(a){a=a|0;a=k[a+28>>2]|0;return cb[k[(k[a>>2]|0)+28>>2]&127](a)|0}function mn(a){a=a|0;a=k[a+28>>2]|0;return cb[k[(k[a>>2]|0)+36>>2]&127](a)|0}function nn(a,b){a=a|0;b=b|0;a=k[a+28>>2]|0;return gb[k[(k[a>>2]|0)+12>>2]&63](a,b)|0}function on(a,b){a=a|0;b=b|0;a=k[a+28>>2]|0;return gb[k[(k[a>>2]|0)+16>>2]&63](a,b)|0}function pn(a){a=a|0;a=k[a+28>>2]|0;return cb[k[(k[a>>2]|0)+24>>2]&127](a)|0}function qn(a){a=a|0;mh(a);k[a>>2]=4472;k[a+28>>2]=0;return}function rn(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4532;e=a+320|0;c=k[e>>2]|0;k[e>>2]=0;if(c|0){d=c+-4|0;b=k[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;rd(b)}while((b|0)!=(c|0))}cq(d)}Ng(a+304|0);Ng(a+264|0);sn(a+228|0);b=k[a+212>>2]|0;c=b;if(b|0){d=a+216|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+200>>2]|0;c=b;if(b|0){d=a+204|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+188>>2]|0;c=b;if(b|0){d=a+192|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+176>>2]|0;c=b;if(b|0){d=a+180|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+160>>2]|0;if(b|0)do{e=b;b=k[b>>2]|0;Ip(e)}while((b|0)!=0);e=a+152|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)Ip(b);b=k[a+136>>2]|0;if(b|0)Ip(b);b=k[a+124>>2]|0;if(b|0)Ip(b);b=k[a+112>>2]|0;if(b|0)Ip(b);b=k[a+88>>2]|0;c=b;if(b|0){d=a+92|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+76>>2]|0;c=b;if(b|0){d=a+80|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+64>>2]|0;if(b|0)Ip(b);b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+36>>2]|0;c=b;if(b|0){d=a+40|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);Ip(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}a=a+8|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Fd(b);Ip(b);return}function sn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a>>2]|0;if(!b)return;h=a+4|0;c=k[h>>2]|0;if((c|0)!=(b|0)){do{k[h>>2]=c+-116;g=k[c+-12>>2]|0;d=g;if(g|0){e=c+-8|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(g)}d=k[c+-28>>2]|0;e=d;if(d|0){f=c+-24|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ip(d)}d=k[c+-40>>2]|0;e=d;if(d|0){f=c+-36|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ip(d)}tn(c+-112|0);c=k[h>>2]|0}while((c|0)!=(b|0));b=k[a>>2]|0}Ip(b);return}function tn(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a+52>>2]|0;c=b;if(b|0){d=a+56|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+40>>2]|0;c=b;if(b|0){d=a+44|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+28>>2]|0;c=b;if(b|0){d=a+32|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+12>>2]|0;if(b|0)Ip(b);b=k[a>>2]|0;if(!b)return;Ip(b);return}function un(a){a=a|0;rn(a);Ip(a);return}function vn(a,b){a=a|0;b=b|0;k[a+4>>2]=b;return 1}function wn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;h=d;if((c|0)==(d|0)){j=0;return j|0}g=k[(k[a+4>>2]|0)+8>>2]|0;e=(c-d|0)/116|0;a=0;a:while(1){c=k[g+(k[h+(a*116|0)>>2]<<2)>>2]|0;f=k[c+4>>2]|0;c=(k[c+8>>2]|0)-f|0;if((c|0)>0){c=c>>2;d=0;do{if((k[f+(d<<2)>>2]|0)==(b|0))break a;d=d+1|0}while((d|0)<(c|0))}a=a+1|0;if(a>>>0>=e>>>0){a=0;j=9;break}}if((j|0)==9)return a|0;j=(i[h+(a*116|0)+72>>0]|0)==0?0:h+(a*116|0)+4|0;return j|0}function xn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;i=d;a:do if((c|0)!=(d|0)){h=k[(k[a+4>>2]|0)+8>>2]|0;f=(c-d|0)/116|0;c=0;b:while(1){d=k[h+(k[i+(c*116|0)>>2]<<2)>>2]|0;g=k[d+4>>2]|0;d=(k[d+8>>2]|0)-g|0;if((d|0)>0){d=d>>2;e=0;do{if((k[g+(e<<2)>>2]|0)==(b|0))break b;e=e+1|0}while((e|0)<(d|0))}c=c+1|0;if(c>>>0>=f>>>0)break a}i=i+(c*116|0)+76|0;return i|0}while(0);i=a+200|0;return i|0}function yn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+208|0;t=z+168|0;v=z+36|0;u=z;p=z+136|0;q=z+104|0;w=z+32|0;x=a+4|0;l=k[x>>2]|0;c=k[l+20>>2]|0;f=c+8|0;e=k[f>>2]|0;f=k[f+4>>2]|0;g=c+16|0;j=g;h=k[j>>2]|0;j=k[j+4>>2]|0;if(!((f|0)>(j|0)|(f|0)==(j|0)&e>>>0>h>>>0)){b=0;r=z;return b|0}c=k[c>>2]|0;m=i[c+h>>0]|0;d=jq(h|0,j|0,1,0)|0;s=L;o=g;k[o>>2]=d;k[o+4>>2]=s;if(!((f|0)>(s|0)|(f|0)==(s|0)&e>>>0>d>>>0)){b=0;r=z;return b|0}c=i[c+d>>0]|0;o=jq(h|0,j|0,2,0)|0;s=g;k[s>>2]=o;k[s+4>>2]=L;if(m<<24>>24>-1)k[(k[a+228>>2]|0)+((m<<24>>24)*116|0)>>2]=b;s=k[l+24>>2]|0;if(!(c<<24>>24)){if(m<<24>>24<0)g=a+200|0;else{g=m<<24>>24;q=k[a+228>>2]|0;i[q+(g*116|0)+72>>0]=0;g=q+(g*116|0)+76|0}c=$p(88)|0;k[c+4>>2]=0;k[c>>2]=4580;h=c+12|0;k[h>>2]=4604;j=c+64|0;k[j>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;f=c+16|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));k[c+76>>2]=s;k[c+80>>2]=g;k[c+84>>2]=0;n=v+4|0;k[n>>2]=4604;l=v+56|0;k[l>>2]=0;o=v+60|0;k[o>>2]=0;k[v+64>>2]=0;f=v+8|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));e=k[a+8>>2]|0;k[u>>2]=4604;d=u+4|0;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;f=e;k[d>>2]=f;f=((k[f+4>>2]|0)-(k[e>>2]|0)|0)/12|0;i[t>>0]=0;Cg(u+8|0,f,t);ab[k[(k[u>>2]|0)+8>>2]&127](u);In(p,u);In(t,p);k[v>>2]=k[t+4>>2];f=v+4|0;Ln(f,t)|0;k[t>>2]=4604;d=k[t+20>>2]|0;if(d|0)Ip(d);d=k[t+8>>2]|0;if(d|0)Ip(d);k[v+36>>2]=e;k[v+40>>2]=g;k[v+44>>2]=s;k[v+48>>2]=c;k[p>>2]=4604;d=k[p+20>>2]|0;if(d|0)Ip(d);d=k[p+8>>2]|0;if(d|0)Ip(d);k[c+8>>2]=k[v>>2];Ln(h,f)|0;d=c+44|0;t=v+36|0;k[d>>2]=k[t>>2];k[d+4>>2]=k[t+4>>2];k[d+8>>2]=k[t+8>>2];k[d+12>>2]=k[t+12>>2];i[d+16>>0]=i[t+16>>0]|0;Mn(j,k[l>>2]|0,k[o>>2]|0);k[u>>2]=4604;d=k[u+20>>2]|0;if(d|0)Ip(d);d=k[u+8>>2]|0;if(d|0)Ip(d);d=k[l>>2]|0;e=d;if(d|0){f=k[o>>2]|0;if((f|0)!=(d|0))k[o>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}k[n>>2]=4604;d=k[v+24>>2]|0;if(d|0)Ip(d);d=k[v+12>>2]|0;if(d|0)Ip(d)}else{c=$p(88)|0;e=m<<24>>24;d=k[a+228>>2]|0;g=d+(e*116|0)+76|0;k[c+4>>2]=0;k[c>>2]=4628;h=c+12|0;k[h>>2]=4652;j=c+64|0;k[j>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;f=c+16|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));k[c+76>>2]=s;k[c+80>>2]=g;k[c+84>>2]=0;n=v+4|0;k[n>>2]=4652;l=v+56|0;k[l>>2]=0;o=v+60|0;k[o>>2]=0;k[v+64>>2]=0;f=v+8|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));f=d+(e*116|0)+4|0;k[u>>2]=4652;p=u+4|0;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;k[p+24>>2]=0;k[p>>2]=f;e=k[d+(e*116|0)+68>>2]|0;e=((k[e+4>>2]|0)-(k[e>>2]|0)|0)/12|0;i[t>>0]=0;Cg(u+8|0,e,t);ab[k[(k[u>>2]|0)+8>>2]&127](u);Wn(q,u);Wn(t,q);k[v>>2]=k[t+4>>2];e=v+4|0;Xn(e,t)|0;k[t>>2]=4652;d=k[t+20>>2]|0;if(d|0)Ip(d);d=k[t+8>>2]|0;if(d|0)Ip(d);k[v+36>>2]=f;k[v+40>>2]=g;k[v+44>>2]=s;k[v+48>>2]=c;k[q>>2]=4652;d=k[q+20>>2]|0;if(d|0)Ip(d);d=k[q+8>>2]|0;if(d|0)Ip(d);k[c+8>>2]=k[v>>2];Xn(h,e)|0;d=c+44|0;t=v+36|0;k[d>>2]=k[t>>2];k[d+4>>2]=k[t+4>>2];k[d+8>>2]=k[t+8>>2];k[d+12>>2]=k[t+12>>2];i[d+16>>0]=i[t+16>>0]|0;Mn(j,k[l>>2]|0,k[o>>2]|0);k[u>>2]=4652;d=k[u+20>>2]|0;if(d|0)Ip(d);d=k[u+8>>2]|0;if(d|0)Ip(d);d=k[l>>2]|0;e=d;if(d|0){f=k[o>>2]|0;if((f|0)!=(d|0))k[o>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}k[n>>2]=4652;d=k[v+24>>2]|0;if(d|0)Ip(d);d=k[v+12>>2]|0;if(d|0)Ip(d)}j=$p(52)|0;k[w>>2]=c;Ck(j,w);c=k[w>>2]|0;k[w>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);h=k[x>>2]|0;g=h+8|0;h=h+12|0;c=k[h>>2]|0;d=k[g>>2]|0;e=c-d>>2;do if(e>>>0<=b>>>0){f=b+1|0;if(f>>>0>e>>>0){Kk(g,f-e|0);break}if(f>>>0>>0?(y=d+(f<<2)|0,(c|0)!=(y|0)):0)do{x=c+-4|0;k[h>>2]=x;c=k[x>>2]|0;k[x>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[h>>2]|0}while((c|0)!=(y|0))}while(0);b=(k[g>>2]|0)+(b<<2)|0;c=k[b>>2]|0;k[b>>2]=j;if(!c){b=1;r=z;return b|0}ab[k[(k[c>>2]|0)+4>>2]&127](c);b=1;r=z;return b|0}function zn(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4580;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}k[a+12>>2]=4604;b=k[a+32>>2]|0;if(b|0)Ip(b);b=k[a+20>>2]|0;if(!b)return;Ip(b);return}function An(a){a=a|0;var b=0;k[a>>2]=4604;b=k[a+20>>2]|0;if(b|0)Ip(b);b=k[a+8>>2]|0;if(!b)return;Ip(b);return}function Bn(a){a=a|0;var b=0;k[a>>2]=4604;b=k[a+20>>2]|0;if(b|0)Ip(b);b=k[a+8>>2]|0;if(!b){Ip(a);return}Ip(b);Ip(a);return}function Cn(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;d=k[a+4>>2]|0;d=(k[d+28>>2]|0)-(k[d+24>>2]|0)>>2;i[c>>0]=0;Cg(a+20|0,d,c);r=b;return}function Dn(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4580;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}k[a+12>>2]=4604;b=k[a+32>>2]|0;if(b|0)Ip(b);b=k[a+20>>2]|0;if(!b){Ip(a);return}Ip(b);Ip(a);return}function En(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;n=k[a+8>>2]|0;h=a+76|0;c=k[h>>2]|0;j=k[c+64>>2]|0;o=b+84|0;i[o>>0]=0;l=b+68|0;m=b+72|0;f=k[m>>2]|0;e=k[l>>2]|0;d=f-e>>2;if(j>>>0<=d>>>0){if(j>>>0>>0?(g=e+(j<<2)|0,(f|0)!=(g|0)):0)k[m>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else{Ue(l,j-d|0,4616);c=k[h>>2]|0}m=(k[c+84>>2]|0)-(k[c+80>>2]|0)|0;l=(m|0)/12|0;if((m|0)<=0)return 1;j=a+80|0;g=b+68|0;h=c+80|0;e=c+84|0;f=0;while(1){c=k[h>>2]|0;if(f>>>0>=(((k[e>>2]|0)-c|0)/12|0)>>>0){c=10;break}d=f*3|0;if(i[o>>0]|0){c=12;break}m=k[(k[j>>2]|0)+12>>2]|0;b=k[g>>2]|0;k[b+(k[c+(f*12|0)>>2]<<2)>>2]=k[m+(k[(k[n>>2]|0)+(f*12|0)+(((d|0)%3|0)<<2)>>2]<<2)>>2];a=d+1|0;k[b+(k[c+(f*12|0)+4>>2]<<2)>>2]=k[m+(k[(k[n>>2]|0)+(((a|0)/3|0)*12|0)+(((a|0)%3|0)<<2)>>2]<<2)>>2];a=d+2|0;k[b+(k[c+(f*12|0)+8>>2]<<2)>>2]=k[m+(k[(k[n>>2]|0)+(((a|0)/3|0)*12|0)+(((a|0)%3|0)<<2)>>2]<<2)>>2];f=f+1|0;if((f|0)>=(l|0)){c=8;break}}if((c|0)==8)return 1;else if((c|0)==10)Aa(10733,10769,64,10783);else if((c|0)==12)Aa(10788,10807,80,10839);return 0}function Fn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+16|0;h=j+4|0;i=j;f=a+84|0;c=k[f>>2]|0;if(!c){d=a+8|0;g=k[d>>2]|0;g=(k[g+4>>2]|0)-(k[g>>2]|0)|0;e=(g|0)/12|0;if((g|0)<=0){r=j;return 1}b=a+20|0;c=0;do{if(!(k[(k[b>>2]|0)+(c>>>5<<2)>>2]&1<<(c&31))){k[i>>2]=c*3;k[h>>2]=k[i>>2];Gn(d,h)}c=c+1|0}while((c|0)<(e|0));r=j;return 1}b=k[c>>2]|0;if((k[c+4>>2]|0)==(b|0)){r=j;return 1}g=a+8|0;a=a+20|0;d=b;e=0;while(1){b=k[d+(e<<2)>>2]|0;d=(b|0)/3|0;if((b|0)>=-2?(k[(k[a>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)==0:0){k[i>>2]=b;k[h>>2]=k[i>>2];Gn(g,h);b=k[f>>2]|0}else b=c;e=e+1|0;d=k[b>>2]|0;if(e>>>0>=(k[b+4>>2]|0)-d>>2>>>0)break;else c=b}r=j;return 1}function Gn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+32|0;t=A+28|0;s=A+24|0;i=A+20|0;j=A+16|0;m=A+12|0;n=A+8|0;v=A+4|0;w=A;x=a+56|0;c=k[x>>2]|0;y=a+60|0;d=k[y>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;k[y>>2]=c}q=a+64|0;if((c|0)==(k[q>>2]|0)){Bd(x,b);p=b;c=k[b>>2]|0}else{o=k[b>>2]|0;k[c>>2]=o;k[y>>2]=c+4;p=b;c=o}e=k[a>>2]|0;l=(c|0)<0;if(!l){d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if((d|0)<0)d=-1073741824;else d=k[(k[e>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;b=(((c|0)%3|0|0)==0?2:-1)+c|0;if((b|0)<0){g=d;h=-1073741824}else{g=d;h=k[(k[e>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0}}else{g=-1073741824;h=-1073741824}o=a+24|0;d=k[o>>2]|0;b=d+(g>>>5<<2)|0;e=1<<(g&31);f=k[b>>2]|0;if(!(f&e)){k[b>>2]=f|e;k[i>>2]=g;if(l)d=c;else{d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d}k[j>>2]=d;k[s>>2]=k[i>>2];k[t>>2]=k[j>>2];Hn(a+36|0,s,t);d=k[o>>2]|0}d=d+(h>>>5<<2)|0;b=1<<(h&31);e=k[d>>2]|0;if(!(e&b)){k[d>>2]=e|b;d=a+36|0;k[m>>2]=h;do if(!l)if(!((c|0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);k[n>>2]=c;k[s>>2]=k[m>>2];k[t>>2]=k[n>>2];Hn(d,s,t)}c=k[x>>2]|0;b=k[y>>2]|0;if((c|0)==(b|0)){r=A;return}j=a+12|0;l=a+36|0;d=c;while(1){c=k[b+-4>>2]|0;k[p>>2]=c;e=(c|0)/3|0;if((c|0)>=0?(z=k[j>>2]|0,(k[z+(e>>>5<<2)>>2]&1<<(e&31)|0)==0):0){d=z;while(1){e=(c|0)/3|0;i=d+(e>>>5<<2)|0;k[i>>2]=1<<(e&31)|k[i>>2];i=(c|0)<0;b=k[a>>2]|0;if(i)h=-1073741824;else h=k[(k[b>>2]|0)+(e*12|0)+(((c|0)%3|0)<<2)>>2]|0;d=k[(k[b+24>>2]|0)+(h<<2)>>2]|0;if((d|0)>=0){n=d+1|0;d=((n|0)%3|0|0)==0?d+-2|0:n;if((d|0)>=0){d=k[(k[b+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){n=d+1|0;d=((n|0)%3|0|0)==0?d+-2|0:n}}}e=(k[o>>2]|0)+(h>>>5<<2)|0;f=1<<(h&31);g=k[e>>2]|0;if(!(g&f)){k[e>>2]=g|f;k[v>>2]=h;k[w>>2]=c;k[s>>2]=k[v>>2];k[t>>2]=k[w>>2];Hn(l,s,t);b=k[a>>2]|0;if((d|0)>=0){if(!i){n=c+1|0;c=((n|0)%3|0|0)==0?c+-2|0:n;if((c|0)>=0)c=k[(k[b+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;k[p>>2]=c;d=k[j>>2]|0;continue}}if(!i){d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if((d|0)>=0)d=k[(k[b+12>>2]|0)+(d<<2)>>2]|0;k[t>>2]=d;c=(((c|0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0)c=k[(k[b+12>>2]|0)+(c<<2)>>2]|0}else{k[t>>2]=-1073741824;c=-1073741824;d=-1073741824}b=(d|0)<0?-1:(d|0)/3|0;e=(c|0)<0?-1:(c|0)/3|0;if((b|0)>=0?(u=k[j>>2]|0,(k[u+(b>>>5<<2)>>2]&1<<(b&31)|0)==0):0)if((e|0)>=0?(k[u+(e>>>5<<2)>>2]&1<<(e&31)|0)==0:0){b=51;break}else{b=u;c=d}else{if((e|0)<0){b=48;break}d=k[j>>2]|0;if(!(k[d+(e>>>5<<2)>>2]&1<<(e&31)))b=d;else{b=48;break}}k[p>>2]=c;d=b}do if((b|0)==48){c=(k[y>>2]|0)+-4|0;k[y>>2]=c}else if((b|0)==51){b=k[y>>2]|0;k[b+-4>>2]=c;if((b|0)==(k[q>>2]|0)){Bd(x,t);c=k[y>>2]|0;break}else{k[b>>2]=d;c=b+4|0;k[y>>2]=c;break}}while(0);d=k[x>>2]|0}else{c=b+-4|0;k[y>>2]=c}if((d|0)==(c|0))break;else b=c}r=A;return}function Hn(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;j=r;r=r+16|0;h=j;d=k[a+8>>2]|0;i=k[c>>2]|0;e=(i|0)/3|0;if((i|0)<=-3)Aa(10856,10769,63,10783);f=k[d+80>>2]|0;if(e>>>0>=(((k[d+84>>2]|0)-f|0)/12|0)>>>0)Aa(10733,10769,64,10783);d=k[f+(e*12|0)+(((i|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))pg(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)){Bd(e,c);a=k[d>>2]|0;c=a+24|0;i=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]=i;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;r=j;return}else{k[g>>2]=i;k[f>>2]=g+4;a=e;c=a+24|0;i=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]=i;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;r=j;return}}function In(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+32|0;j=n+24|0;i=n+16|0;l=n+8|0;m=n;k[a>>2]=4604;k[a+4>>2]=k[b+4>>2];e=a+8|0;f=b+8|0;k[e>>2]=0;g=a+12|0;k[g>>2]=0;h=a+16|0;k[h>>2]=0;c=b+12|0;d=k[c>>2]|0;do if(d|0)if((d|0)<0)yp(e);else{d=((d+-1|0)>>>5)+1|0;o=$p(d<<2)|0;k[e>>2]=o;k[g>>2]=0;k[h>>2]=d;g=k[f>>2]|0;k[l>>2]=g;k[l+4>>2]=0;h=k[c>>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];Jn(e,i,j);break}while(0);f=a+20|0;k[f>>2]=0;g=a+24|0;k[g>>2]=0;c=a+28|0;k[c>>2]=0;d=b+24|0;e=k[d>>2]|0;if(!e){r=n;return}if((e|0)<0)yp(f);o=((e+-1|0)>>>5)+1|0;a=$p(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];Jn(f,i,j);r=n;return}function Jn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;o=q+40|0;n=q+32|0;j=q+8|0;l=q;m=q+24|0;p=q+16|0;f=a+4|0;s=k[f>>2]|0;d=b;e=k[d>>2]|0;d=k[d+4>>2]|0;h=c;g=k[h>>2]|0;h=k[h+4>>2]|0;i=g-e<<3;k[f>>2]=s-d+h+i;f=(k[a>>2]|0)+(s>>>5<<2)|0;c=s&31;b=f;if((d|0)!=(c|0)){s=j;k[s>>2]=e;k[s+4>>2]=d;s=l;k[s>>2]=g;k[s+4>>2]=h;k[m>>2]=b;k[m+4>>2]=c;k[n>>2]=k[j>>2];k[n+4>>2]=k[j+4>>2];k[o>>2]=k[l>>2];k[o+4>>2]=k[l+4>>2];Kn(p,n,o,m);r=q;return}a=h-d+i|0;c=e;if((a|0)>0){if(!d){d=0;g=c;b=a}else{e=32-d|0;b=(a|0)<(e|0)?a:e;e=-1>>>(e-b|0)&-1<>2]=k[f>>2]&~e|k[c>>2]&e;e=b+d|0;g=c+4|0;d=e&31;f=f+(e>>>5<<2)|0;e=g;b=a-b|0}a=b>>>5;mq(f|0,e|0,a<<2|0)|0;c=b-(a<<5)|0;e=f+(a<<2)|0;b=e;if((c|0)>0){d=-1>>>(32-c|0);k[e>>2]=k[e>>2]&~d|k[g+(a<<2)>>2]&d;d=c}}k[p>>2]=b;k[p+4>>2]=d;r=q;return}function Kn(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;q=k[b>>2]|0;l=k[b+4>>2]|0;n=((k[c>>2]|0)-q<<3)+(k[c+4>>2]|0)-l|0;c=q;if((n|0)<=0){b=d+4|0;d=k[d>>2]|0;k[a>>2]=d;a=a+4|0;d=k[b>>2]|0;k[a>>2]=d;return}if(!l){e=d+4|0;j=e;e=k[e>>2]|0;p=n}else{f=32-l|0;m=(n|0)<(f|0)?n:f;f=-1>>>(f-m|0)&-1<>2];j=d+4|0;i=k[j>>2]|0;e=32-i|0;g=e>>>0>>0?e:m;h=k[d>>2]|0;i=k[h>>2]&~(-1>>>(e-g|0)&-1<>2]=i;e=k[j>>2]|0;k[h>>2]=i|(e>>>0>l>>>0?f<>>(l-e|0));e=(k[j>>2]|0)+g|0;h=h+(e>>>5<<2)|0;k[d>>2]=h;e=e&31;k[j>>2]=e;i=m-g|0;if((i|0)>0){k[h>>2]=k[h>>2]&~(-1>>>(32-i|0))|f>>>(l+g|0);k[j>>2]=i;e=i}c=c+4|0;k[b>>2]=c;p=n-m|0}q=32-e|0;g=-1<>>0>31){i=~g;f=k[d>>2]|0;m=p+-32|0;h=m>>>5;l=h+1|0;h=m-(h<<5)|0;m=c;n=k[f>>2]|0;o=f;e=p;while(1){p=k[m>>2]|0;r=n&i;k[o>>2]=r;k[o>>2]=r|p<>2];o=o+4|0;n=k[o>>2]&g|p>>>q;k[o>>2]=n;e=e+-32|0;if(e>>>0<=31)break;else m=m+4|0}c=c+(l<<2)|0;k[b>>2]=c;k[d>>2]=f+(l<<2)}else h=p;if((h|0)<=0){b=j;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;a=k[b>>2]|0;k[r>>2]=a;return}f=k[c>>2]&-1>>>(32-h|0);g=(q|0)<(h|0)?q:h;e=k[d>>2]|0;c=k[e>>2]&~(-1<>2]&-1>>>(q-g|0));k[e>>2]=c;k[e>>2]=c|f<>2];c=(k[j>>2]|0)+g|0;e=e+(c>>>5<<2)|0;k[d>>2]=e;k[j>>2]=c&31;c=h-g|0;if((c|0)<=0){b=j;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;a=k[b>>2]|0;k[r>>2]=a;return}k[e>>2]=k[e>>2]&~(-1>>>(32-c|0))|f>>>g;k[j>>2]=c;b=j;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;a=k[b>>2]|0;k[r>>2]=a;return}function Ln(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;k[a+4>>2]=k[b+4>>2];h=a+8|0;i=b+8|0;if((a|0)==(b|0))return a|0;j=b+12|0;c=k[j>>2]|0;if(!c)c=0;else{e=a+16|0;do if(c>>>0>k[e>>2]<<5>>>0){d=k[h>>2]|0;if(d){Ip(d);k[h>>2]=0;k[e>>2]=0;k[a+12>>2]=0;c=k[j>>2]|0}if((c|0)<0)yp(h);else{f=((c+-1|0)>>>5)+1|0;g=$p(f<<2)|0;k[h>>2]=g;k[a+12>>2]=0;k[e>>2]=f;f=k[j>>2]|0;break}}else{f=c;g=k[h>>2]|0}while(0);mq(g|0,k[i>>2]|0,((f+-1|0)>>>5<<2)+4|0)|0;c=k[j>>2]|0}k[a+12>>2]=c;g=a+20|0;h=b+20|0;e=b+24|0;c=k[e>>2]|0;if(!c)c=0;else{f=a+28|0;do if(c>>>0>k[f>>2]<<5>>>0){d=k[g>>2]|0;if(d){Ip(d);k[g>>2]=0;k[f>>2]=0;k[a+24>>2]=0;c=k[e>>2]|0}if((c|0)<0)yp(g);else{l=((c+-1|0)>>>5)+1|0;m=$p(l<<2)|0;k[g>>2]=m;k[a+24>>2]=0;k[f>>2]=l;l=k[e>>2]|0;break}}else{l=c;m=k[g>>2]|0}while(0);mq(m|0,k[h>>2]|0,((l+-1|0)>>>5<<2)+4|0)|0;c=k[e>>2]|0}k[a+24>>2]=c;return a|0}function Mn(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;h=c-m>>2;j=a+8|0;d=k[j>>2]|0;g=k[a>>2]|0;l=g;if(h>>>0>d-g>>2>>>0){f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(l|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);Ip(f);k[j>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(h>>>0>1073741823)yp(a);d=d-0|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?h:d;if(d>>>0>1073741823)yp(a);else i=d}else i=1073741823;f=$p(i<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[j>>2]=f+(i<<2);if((b|0)==(c|0))return;e=(c+-4-m|0)>>>2;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+1<<2);return}else{j=a+4|0;i=k[j>>2]|0;f=i-g>>2;g=h>>>0>f>>>0;h=b+(f<<2)|0;f=g?h:c;if((f|0)==(b|0))b=l;else{e=f+-4-m|0;d=l;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(f|0))break;else d=d+4|0}b=l+((e>>>2)+1<<2)|0}if(!g){if((i|0)==(b|0))return;k[j>>2]=i+(~((i+-4-b|0)>>>2)<<2);return}if((f|0)==(c|0))return;e=(c+-4-f|0)>>>2;b=h;d=i;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]=i+(e+1<<2);return}}function Nn(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4628;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}k[a+12>>2]=4652;b=k[a+32>>2]|0;if(b|0)Ip(b);b=k[a+20>>2]|0;if(!b)return;Ip(b);return}function On(a){a=a|0;var b=0;k[a>>2]=4652;b=k[a+20>>2]|0;if(b|0)Ip(b);b=k[a+8>>2]|0;if(!b)return;Ip(b);return}function Pn(a){a=a|0;var b=0;k[a>>2]=4652;b=k[a+20>>2]|0;if(b|0)Ip(b);b=k[a+8>>2]|0;if(!b){Ip(a);return}Ip(b);Ip(a);return}function Qn(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;d=k[a+4>>2]|0;d=(k[d+56>>2]|0)-(k[d+52>>2]|0)>>2;i[c>>0]=0;Cg(a+20|0,d,c);r=b;return}function Rn(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4628;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}k[a+12>>2]=4652;b=k[a+32>>2]|0;if(b|0)Ip(b);b=k[a+20>>2]|0;if(!b){Ip(a);return}Ip(b);Ip(a);return}function Sn(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;n=k[a+8>>2]|0;h=a+76|0;c=k[h>>2]|0;j=k[c+64>>2]|0;o=b+84|0;i[o>>0]=0;l=b+68|0;m=b+72|0;f=k[m>>2]|0;e=k[l>>2]|0;d=f-e>>2;if(j>>>0<=d>>>0){if(j>>>0>>0?(g=e+(j<<2)|0,(f|0)!=(g|0)):0)k[m>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else{Ue(l,j-d|0,4616);c=k[h>>2]|0}l=(k[c+84>>2]|0)-(k[c+80>>2]|0)|0;m=(l|0)/12|0;if((l|0)<=0)return 1;l=a+80|0;j=n+28|0;g=b+68|0;h=c+80|0;e=c+84|0;f=0;while(1){c=k[h>>2]|0;if(f>>>0>=(((k[e>>2]|0)-c|0)/12|0)>>>0){c=10;break}d=f*3|0;if(i[o>>0]|0){c=12;break}a=k[(k[l>>2]|0)+12>>2]|0;n=k[j>>2]|0;b=k[g>>2]|0;k[b+(k[c+(f*12|0)>>2]<<2)>>2]=k[a+(k[n+(d<<2)>>2]<<2)>>2];k[b+(k[c+(f*12|0)+4>>2]<<2)>>2]=k[a+(k[n+(d+1<<2)>>2]<<2)>>2];k[b+(k[c+(f*12|0)+8>>2]<<2)>>2]=k[a+(k[n+(d+2<<2)>>2]<<2)>>2];f=f+1|0;if((f|0)>=(m|0)){c=8;break}}if((c|0)==8)return 1;else if((c|0)==10)Aa(10733,10769,64,10783);else if((c|0)==12)Aa(10788,10807,80,10839);return 0}function Tn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+16|0;h=j+4|0;i=j;f=a+84|0;c=k[f>>2]|0;if(!c){d=a+8|0;g=k[(k[d>>2]|0)+64>>2]|0;g=(k[g+4>>2]|0)-(k[g>>2]|0)|0;e=(g|0)/12|0;if((g|0)<=0){r=j;return 1}b=a+20|0;c=0;do{if(!(k[(k[b>>2]|0)+(c>>>5<<2)>>2]&1<<(c&31))){k[i>>2]=c*3;k[h>>2]=k[i>>2];Un(d,h)}c=c+1|0}while((c|0)<(e|0));r=j;return 1}b=k[c>>2]|0;if((k[c+4>>2]|0)==(b|0)){r=j;return 1}g=a+8|0;a=a+20|0;d=b;e=0;while(1){b=k[d+(e<<2)>>2]|0;d=(b|0)/3|0;if((b|0)>=-2?(k[(k[a>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)==0:0){k[i>>2]=b;k[h>>2]=k[i>>2];Un(g,h);b=k[f>>2]|0}else b=c;e=e+1|0;d=k[b>>2]|0;if(e>>>0>=(k[b+4>>2]|0)-d>>2>>>0)break;else c=b}r=j;return 1}function Un(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+32|0;t=B+28|0;s=B+24|0;i=B+20|0;j=B+16|0;m=B+12|0;n=B+8|0;v=B+4|0;w=B;x=a+56|0;c=k[x>>2]|0;y=a+60|0;d=k[y>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;k[y>>2]=c}q=a+64|0;if((c|0)==(k[q>>2]|0)){Bd(x,b);p=b;c=k[b>>2]|0}else{o=k[b>>2]|0;k[c>>2]=o;k[y>>2]=c+4;p=b;c=o}d=k[a>>2]|0;l=(c|0)<0;do if(!l){b=c+1|0;d=k[d+28>>2]|0;b=k[d+((((b|0)%3|0|0)==0?c+-2|0:b)<<2)>>2]|0;if(!((c|0)%3|0)){e=c+2|0;break}else{e=c+-1|0;break}}else{b=k[d+28>>2]|0;e=c;d=b;b=k[b+(c<<2)>>2]|0}while(0);h=k[d+(e<<2)>>2]|0;o=a+24|0;d=k[o>>2]|0;e=d+(b>>>5<<2)|0;f=1<<(b&31);g=k[e>>2]|0;if(!(g&f)){k[e>>2]=g|f;k[i>>2]=b;if(l)d=c;else{d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d}k[j>>2]=d;k[s>>2]=k[i>>2];k[t>>2]=k[j>>2];Vn(a+36|0,s,t);d=k[o>>2]|0}d=d+(h>>>5<<2)|0;b=1<<(h&31);e=k[d>>2]|0;if(!(e&b)){k[d>>2]=e|b;d=a+36|0;k[m>>2]=h;do if(!l)if(!((c|0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);k[n>>2]=c;k[s>>2]=k[m>>2];k[t>>2]=k[n>>2];Vn(d,s,t)}d=k[x>>2]|0;c=k[y>>2]|0;if((d|0)==(c|0)){r=B;return}i=a+12|0;j=a+36|0;do{e=k[c+-4>>2]|0;k[p>>2]=e;b=(e|0)/3|0;if((e|0)>=0?(z=k[i>>2]|0,(k[z+(b>>>5<<2)>>2]&1<<(b&31)|0)==0):0){h=k[a>>2]|0;c=e;d=z;a:while(1){n=(c|0)/3|0;g=d+(n>>>5<<2)|0;k[g>>2]=1<<(n&31)|k[g>>2];g=k[(k[h+28>>2]|0)+(c<<2)>>2]|0;d=k[(k[h+40>>2]|0)+(g<<2)>>2]|0;if((d|0)<0)f=1;else{f=k[(k[k[h+64>>2]>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;f=(1<<(f&31)&k[(k[h+12>>2]|0)+(f>>>5<<2)>>2]|0)!=0}d=(k[o>>2]|0)+(g>>>5<<2)|0;b=1<<(g&31);e=k[d>>2]|0;if(!(e&b)){k[d>>2]=e|b;k[v>>2]=g;k[w>>2]=c;k[s>>2]=k[v>>2];k[t>>2]=k[w>>2];Vn(j,s,t);d=k[a>>2]|0;if(f)f=d;else{if((c|0)>=0){n=c+1|0;c=((n|0)%3|0|0)==0?c+-2|0:n}if(!(1<<(c&31)&k[(k[d>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=k[(k[(k[d+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;k[p>>2]=c;h=d;d=k[i>>2]|0;continue}}else f=h;d=(c|0)<0;if(d)b=c;else{b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b}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}else b=-1073741824;k[t>>2]=b;do if(!d)if(!((c|0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);if(!(1<<(c&31)&k[(k[f>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=k[(k[(k[f+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;d=(b|0)<0?-1:(b|0)/3|0;e=(c|0)<0?-1:(c|0)/3|0;do if((d|0)>=0?(u=k[i>>2]|0,(k[u+(d>>>5<<2)>>2]&1<<(d&31)|0)==0):0){if((e|0)<0){d=u;c=b;break}if(!(k[u+(e>>>5<<2)>>2]&1<<(e&31))){A=56;break a}else{d=u;c=b}}else A=51;while(0);if((A|0)==51){A=0;if((e|0)<0){A=53;break}d=k[i>>2]|0;if(k[d+(e>>>5<<2)>>2]&1<<(e&31)){A=53;break}}k[p>>2]=c;h=f}do if((A|0)==53){A=0;c=(k[y>>2]|0)+-4|0;k[y>>2]=c}else if((A|0)==56){A=0;d=k[y>>2]|0;k[d+-4>>2]=c;if((d|0)==(k[q>>2]|0)){Bd(x,t);c=k[y>>2]|0;break}else{k[d>>2]=b;c=d+4|0;k[y>>2]=c;break}}while(0);d=k[x>>2]|0}else{c=c+-4|0;k[y>>2]=c}}while((d|0)!=(c|0));r=B;return} +function Vk(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Wk(a,e);r=p;return}k[f>>2]=b;Xk(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function Wk(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Xk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function Yk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function Zk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}hd(a+8|0,b);hd(a+28|0,b);hd(a+48|0,b);hd(a+68|0,b);u=k[g>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];_k(a,u,n,m,0,q);r=s;return 1}function _k(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0,ma=0;ma=r;r=r+112|0;ka=ma+96|0;n=ma+32|0;la=ma+72|0;ia=ma+56|0;ba=ma+44|0;aa=ma+16|0;$=ma;j=k[c>>2]|0;ca=c+4|0;l=k[ca>>2]|0;da=c+8|0;m=k[da>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;k[la+12>>2]=0;k[la+16>>2]=0;k[la+20>>2]=0;ea=la+8|0;fa=la+4|0;ga=la+16|0;ha=la+20|0;$k(la);g=k[fa>>2]|0;h=(k[ha>>2]|0)+(k[ga>>2]|0)|0;if((k[ea>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;_=g+16|0;k[_>>2]=k[n>>2];k[_+4>>2]=k[n+4>>2];k[_+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ha>>2]|0)+1|0;k[ha>>2]=g;if(!g){cl(la);r=ma;return}Q=ba+4|0;R=ba+8|0;S=a+44|0;T=a+40|0;U=f+4|0;V=ka+4|0;W=ka+8|0;X=a+24|0;Y=a+20|0;Z=a+84|0;_=a+80|0;a:while(1){N=k[ga>>2]|0;n=g+-1|0;m=n+N|0;O=k[fa>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[ia>>2]=k[L>>2];k[ia+4>>2]=k[L+4>>2];k[ia+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[ha>>2]=n;n=k[ea>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Ip(k[n+-4>>2]|0);k[ea>>2]=(k[ea>>2]|0)+-4}k[c>>2]=h;k[ca>>2]=j;k[da>>2]=l;k[d>>2]=k[ia>>2];k[d+4>>2]=k[ia+4>>2];k[d+8>>2]=k[ia+8>>2];k[ba>>2]=h;k[Q>>2]=j;k[R>>2]=l;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];O=Hm(a,P,ba,ka,m)|0;n=d+(O<<2)|0;e=k[n>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(e|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ka>>2]=k[c>>2];k[V>>2]=k[ca>>2];k[W>>2]=k[da>>2];g=ka+(O<<2)|0;k[g>>2]=(k[g>>2]|0)+(1<>>0>=33){g=32;break a}if((g|0)==31){g=34;break a}j=k[X>>2]|0;g=32-j|0;l=k[Y>>2]|0;h=k[l>>2]<>>0<=g>>>0){g=h>>>(32-m|0);N=j+m|0;k[X>>2]=N;if((N|0)==32){k[Y>>2]=l+4;k[X>>2]=0}}else{N=m-g|0;k[X>>2]=N;M=l+4|0;k[Y>>2]=M;N=32-N|0;g=(k[M>>2]|0)>>>N|h>>>(N-g|0)}l=(P>>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[Z>>2]|0;g=k[_>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[Z>>2]=P;if((P|0)==32){k[_>>2]=g+4;k[Z>>2]=0}b=j?l:h;o=j?h:l}k[n>>2]=e+1;if(b|0){m=k[c>>2]|0;n=k[ca>>2]|0;e=k[da>>2]|0;k[aa>>2]=k[d>>2];k[aa+4>>2]=k[d+4>>2];k[aa+8>>2]=k[d+8>>2];l=k[ea>>2]|0;j=k[fa>>2]|0;g=k[ga>>2]|0;h=k[ha>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){$k(la);g=k[ga>>2]|0;h=k[ha>>2]|0;l=k[ea>>2]|0;j=k[fa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[aa>>2];k[P+4>>2]=k[aa+4>>2];k[P+8>>2]=k[aa+8>>2];k[g+28>>2]=O;k[ha>>2]=(k[ha>>2]|0)+1}if(o|0){m=k[ka>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[$>>2]=k[d>>2];k[$+4>>2]=k[d+4>>2];k[$+8>>2]=k[d+8>>2];l=k[ea>>2]|0;j=k[fa>>2]|0;g=k[ga>>2]|0;h=k[ha>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){$k(la);g=k[ga>>2]|0;h=k[ha>>2]|0;l=k[ea>>2]|0;j=k[fa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[$>>2];k[P+4>>2]=k[$+4>>2];k[P+8>>2]=k[$+8>>2];k[g+28>>2]=O;k[ha>>2]=(k[ha>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=h-e|0;F=k[d+(x<<2)>>2]|0;I=h-F|0;q=k[d+(t<<2)>>2]|0;J=h-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(h|0)==(e|0);B=ka+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ka+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ka+(t<<2)|0;s=c+(t<<2)|0;t=ka+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ka+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ka+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=J-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[N>>2]>>2]|0)+l|0,ka|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ha>>2]|0;if(!g){g=58;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==32)Aa(10077,10101,111,10128);else if((g|0)==34)Aa(10141,10101,112,10128);else if((g|0)==58){cl(la);r=ma;return}}function $k(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;al(a,e);r=p;return}k[f>>2]=b;bl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function al(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function bl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function cl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function dl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}sd(a+8|0,b);hd(a+24|0,b);hd(a+44|0,b);hd(a+64|0,b);u=k[g>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];el(a,u,n,m,0,q);r=s;return 1}function el(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0,ma=0;ma=r;r=r+112|0;ka=ma+96|0;n=ma+32|0;la=ma+72|0;ia=ma+60|0;aa=ma+48|0;ha=ma+44|0;$=ma+16|0;_=ma;j=k[c>>2]|0;ba=c+4|0;l=k[ba>>2]|0;ca=c+8|0;m=k[ca>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;k[la+12>>2]=0;k[la+16>>2]=0;k[la+20>>2]=0;da=la+8|0;ea=la+4|0;fa=la+16|0;ga=la+20|0;fl(la);g=k[ea>>2]|0;h=(k[ga>>2]|0)+(k[fa>>2]|0)|0;if((k[da>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Z=g+16|0;k[Z>>2]=k[n>>2];k[Z+4>>2]=k[n+4>>2];k[Z+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ga>>2]|0)+1|0;k[ga>>2]=g;if(!g){il(la);r=ma;return}Q=aa+4|0;R=aa+8|0;S=a+40|0;T=a+36|0;U=f+4|0;V=ka+4|0;W=ka+8|0;X=a+8|0;Y=a+80|0;Z=a+76|0;a:while(1){N=k[fa>>2]|0;n=g+-1|0;m=n+N|0;O=k[ea>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[ia>>2]=k[L>>2];k[ia+4>>2]=k[L+4>>2];k[ia+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[ga>>2]=n;n=k[da>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Ip(k[n+-4>>2]|0);k[da>>2]=(k[da>>2]|0)+-4}k[c>>2]=h;k[ba>>2]=j;k[ca>>2]=l;k[d>>2]=k[ia>>2];k[d+4>>2]=k[ia+4>>2];k[d+8>>2]=k[ia+8>>2];k[aa>>2]=h;k[Q>>2]=j;k[R>>2]=l;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];O=Jm(a,P,aa,ka,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(n|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ka>>2]=k[c>>2];k[V>>2]=k[ba>>2];k[W>>2]=k[ca>>2];l=ka+(O<<2)|0;k[l>>2]=(k[l>>2]|0)+(1<>2]=0;ud(X,l,ha);l=(P>>>1)-(k[ha>>2]|0)|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[Y>>2]|0;g=k[Z>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[Y>>2]=P;if((P|0)==32){k[Z>>2]=g+4;k[Y>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){m=k[c>>2]|0;n=k[ba>>2]|0;e=k[ca>>2]|0;k[$>>2]=k[d>>2];k[$+4>>2]=k[d+4>>2];k[$+8>>2]=k[d+8>>2];l=k[da>>2]|0;j=k[ea>>2]|0;g=k[fa>>2]|0;h=k[ga>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){fl(la);g=k[fa>>2]|0;h=k[ga>>2]|0;l=k[da>>2]|0;j=k[ea>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[$>>2];k[P+4>>2]=k[$+4>>2];k[P+8>>2]=k[$+8>>2];k[g+28>>2]=O;k[ga>>2]=(k[ga>>2]|0)+1}if(o|0){m=k[ka>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];l=k[da>>2]|0;j=k[ea>>2]|0;g=k[fa>>2]|0;h=k[ga>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){fl(la);g=k[fa>>2]|0;h=k[ga>>2]|0;l=k[da>>2]|0;j=k[ea>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[ga>>2]=(k[ga>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=h-n|0;F=k[d+(x<<2)>>2]|0;I=h-F|0;q=k[d+(t<<2)>>2]|0;J=h-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(h|0)==(n|0);B=ka+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ka+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ka+(t<<2)|0;s=c+(t<<2)|0;t=ka+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ka+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ka+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=J-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[N>>2]>>2]|0)+l|0,ka|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ga>>2]|0;if(!g){g=50;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==50){il(la);r=ma;return}}function fl(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;gl(a,e);r=p;return}k[f>>2]=b;hl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function gl(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function hl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function il(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function jl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}sd(a+8|0,b);hd(a+24|0,b);hd(a+44|0,b);hd(a+64|0,b);u=k[g>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];kl(a,u,n,m,0,q);r=s;return 1}function kl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0,ma=0;ma=r;r=r+112|0;ka=ma+96|0;n=ma+32|0;la=ma+72|0;ia=ma+60|0;aa=ma+48|0;ha=ma+44|0;$=ma+16|0;_=ma;j=k[c>>2]|0;ba=c+4|0;l=k[ba>>2]|0;ca=c+8|0;m=k[ca>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;k[la+12>>2]=0;k[la+16>>2]=0;k[la+20>>2]=0;da=la+8|0;ea=la+4|0;fa=la+16|0;ga=la+20|0;ll(la);g=k[ea>>2]|0;h=(k[ga>>2]|0)+(k[fa>>2]|0)|0;if((k[da>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Z=g+16|0;k[Z>>2]=k[n>>2];k[Z+4>>2]=k[n+4>>2];k[Z+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ga>>2]|0)+1|0;k[ga>>2]=g;if(!g){ol(la);r=ma;return}Q=aa+4|0;R=aa+8|0;S=a+40|0;T=a+36|0;U=f+4|0;V=ka+4|0;W=ka+8|0;X=a+8|0;Y=a+80|0;Z=a+76|0;a:while(1){N=k[fa>>2]|0;n=g+-1|0;m=n+N|0;O=k[ea>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[ia>>2]=k[L>>2];k[ia+4>>2]=k[L+4>>2];k[ia+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[ga>>2]=n;n=k[da>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Ip(k[n+-4>>2]|0);k[da>>2]=(k[da>>2]|0)+-4}k[c>>2]=h;k[ba>>2]=j;k[ca>>2]=l;k[d>>2]=k[ia>>2];k[d+4>>2]=k[ia+4>>2];k[d+8>>2]=k[ia+8>>2];k[aa>>2]=h;k[Q>>2]=j;k[R>>2]=l;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];O=Lm(a,P,aa,ka,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(n|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ka>>2]=k[c>>2];k[V>>2]=k[ba>>2];k[W>>2]=k[ca>>2];l=ka+(O<<2)|0;k[l>>2]=(k[l>>2]|0)+(1<>2]=0;ud(X,l,ha);l=(P>>>1)-(k[ha>>2]|0)|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[Y>>2]|0;g=k[Z>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[Y>>2]=P;if((P|0)==32){k[Z>>2]=g+4;k[Y>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){m=k[c>>2]|0;n=k[ba>>2]|0;e=k[ca>>2]|0;k[$>>2]=k[d>>2];k[$+4>>2]=k[d+4>>2];k[$+8>>2]=k[d+8>>2];l=k[da>>2]|0;j=k[ea>>2]|0;g=k[fa>>2]|0;h=k[ga>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){ll(la);g=k[fa>>2]|0;h=k[ga>>2]|0;l=k[da>>2]|0;j=k[ea>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[$>>2];k[P+4>>2]=k[$+4>>2];k[P+8>>2]=k[$+8>>2];k[g+28>>2]=O;k[ga>>2]=(k[ga>>2]|0)+1}if(o|0){m=k[ka>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];l=k[da>>2]|0;j=k[ea>>2]|0;g=k[fa>>2]|0;h=k[ga>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){ll(la);g=k[fa>>2]|0;h=k[ga>>2]|0;l=k[da>>2]|0;j=k[ea>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[ga>>2]=(k[ga>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=h-n|0;F=k[d+(x<<2)>>2]|0;I=h-F|0;q=k[d+(t<<2)>>2]|0;J=h-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(h|0)==(n|0);B=ka+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ka+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ka+(t<<2)|0;s=c+(t<<2)|0;t=ka+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ka+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ka+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=J-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[N>>2]>>2]|0)+l|0,ka|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ga>>2]|0;if(!g){g=50;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==50){ol(la);r=ma;return}}function ll(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;ml(a,e);r=p;return}k[f>>2]=b;nl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function ml(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function nl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function ol(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function pl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{sd(a+8+(d<<4)|0,b);d=d+1|0}while((d|0)!=32);sd(a+520|0,b);hd(a+536|0,b);hd(a+556|0,b);hd(a+576|0,b);u=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];ql(a,u,n,m,0,q);r=s;return 1}function ql(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0;ka=r;r=r+112|0;ha=ka+96|0;n=ka+32|0;ia=ka+72|0;ga=ka+56|0;$=ka+44|0;_=ka+16|0;Z=ka;j=k[c>>2]|0;aa=c+4|0;l=k[aa>>2]|0;ba=c+8|0;m=k[ba>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;k[ia+12>>2]=0;k[ia+16>>2]=0;k[ia+20>>2]=0;ca=ia+8|0;da=ia+4|0;ea=ia+16|0;fa=ia+20|0;rl(ia);g=k[da>>2]|0;h=(k[fa>>2]|0)+(k[ea>>2]|0)|0;if((k[ca>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Y=g+16|0;k[Y>>2]=k[n>>2];k[Y+4>>2]=k[n+4>>2];k[Y+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[fa>>2]|0)+1|0;k[fa>>2]=g;if(!g){ul(ia);r=ka;return}Q=$+4|0;R=$+8|0;S=a+552|0;T=a+548|0;U=f+4|0;V=ha+4|0;W=ha+8|0;X=a+592|0;Y=a+588|0;a:while(1){N=k[ea>>2]|0;n=g+-1|0;m=n+N|0;O=k[da>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[ga>>2]=k[L>>2];k[ga+4>>2]=k[L+4>>2];k[ga+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[fa>>2]=n;n=k[ca>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Ip(k[n+-4>>2]|0);k[ca>>2]=(k[ca>>2]|0)+-4}k[c>>2]=h;k[aa>>2]=j;k[ba>>2]=l;k[d>>2]=k[ga>>2];k[d+4>>2]=k[ga+4>>2];k[d+8>>2]=k[ga+8>>2];k[$>>2]=h;k[Q>>2]=j;k[R>>2]=l;k[ha>>2]=k[ga>>2];k[ha+4>>2]=k[ga+4>>2];k[ha+8>>2]=k[ga+8>>2];O=Om(a,P,$,ha,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(n|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ha>>2]=k[c>>2];k[V>>2]=k[aa>>2];k[W>>2]=k[ba>>2];N=ha+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[X>>2]|0;g=k[Y>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[X>>2]=P;if((P|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){m=k[c>>2]|0;n=k[aa>>2]|0;e=k[ba>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){rl(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}if(o|0){m=k[ha>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){rl(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Z>>2];k[P+4>>2]=k[Z+4>>2];k[P+8>>2]=k[Z+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=h-n|0;F=k[d+(x<<2)>>2]|0;I=h-F|0;q=k[d+(t<<2)>>2]|0;J=h-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(h|0)==(n|0);B=ha+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ha+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ha+(t<<2)|0;s=c+(t<<2)|0;t=ha+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ha+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ha+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=J-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[N>>2]>>2]|0)+l|0,ha|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[fa>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==52){ul(ia);r=ka;return}}function rl(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;sl(a,e);r=p;return}k[f>>2]=b;tl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function sl(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function tl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function ul(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function vl(a){a=a|0;rd(a+496|0);rd(a+480|0);rd(a+464|0);rd(a+448|0);rd(a+432|0);rd(a+416|0);rd(a+400|0);rd(a+384|0);rd(a+368|0);rd(a+352|0);rd(a+336|0);rd(a+320|0);rd(a+304|0);rd(a+288|0);rd(a+272|0);rd(a+256|0);rd(a+240|0);rd(a+224|0);rd(a+208|0);rd(a+192|0);rd(a+176|0);rd(a+160|0);rd(a+144|0);rd(a+128|0);rd(a+112|0);rd(a+96|0);rd(a+80|0);rd(a+64|0);rd(a+48|0);rd(a+32|0);rd(a+16|0);rd(a);return}function wl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{sd(a+8+(d<<4)|0,b);d=d+1|0}while((d|0)!=32);sd(a+520|0,b);hd(a+536|0,b);hd(a+556|0,b);hd(a+576|0,b);u=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];xl(a,u,n,m,0,q);r=s;return 1}function xl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0;ka=r;r=r+112|0;ha=ka+96|0;n=ka+32|0;ia=ka+72|0;ga=ka+56|0;$=ka+44|0;_=ka+16|0;Z=ka;j=k[c>>2]|0;aa=c+4|0;l=k[aa>>2]|0;ba=c+8|0;m=k[ba>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;k[ia+12>>2]=0;k[ia+16>>2]=0;k[ia+20>>2]=0;ca=ia+8|0;da=ia+4|0;ea=ia+16|0;fa=ia+20|0;yl(ia);g=k[da>>2]|0;h=(k[fa>>2]|0)+(k[ea>>2]|0)|0;if((k[ca>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Y=g+16|0;k[Y>>2]=k[n>>2];k[Y+4>>2]=k[n+4>>2];k[Y+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[fa>>2]|0)+1|0;k[fa>>2]=g;if(!g){Bl(ia);r=ka;return}Q=$+4|0;R=$+8|0;S=a+552|0;T=a+548|0;U=f+4|0;V=ha+4|0;W=ha+8|0;X=a+592|0;Y=a+588|0;a:while(1){N=k[ea>>2]|0;n=g+-1|0;m=n+N|0;O=k[da>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[ga>>2]=k[L>>2];k[ga+4>>2]=k[L+4>>2];k[ga+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[fa>>2]=n;n=k[ca>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Ip(k[n+-4>>2]|0);k[ca>>2]=(k[ca>>2]|0)+-4}k[c>>2]=h;k[aa>>2]=j;k[ba>>2]=l;k[d>>2]=k[ga>>2];k[d+4>>2]=k[ga+4>>2];k[d+8>>2]=k[ga+8>>2];k[$>>2]=h;k[Q>>2]=j;k[R>>2]=l;k[ha>>2]=k[ga>>2];k[ha+4>>2]=k[ga+4>>2];k[ha+8>>2]=k[ga+8>>2];O=Qm(a,P,$,ha,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(n|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ha>>2]=k[c>>2];k[V>>2]=k[aa>>2];k[W>>2]=k[ba>>2];N=ha+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[X>>2]|0;g=k[Y>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[X>>2]=P;if((P|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){m=k[c>>2]|0;n=k[aa>>2]|0;e=k[ba>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){yl(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}if(o|0){m=k[ha>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){yl(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Z>>2];k[P+4>>2]=k[Z+4>>2];k[P+8>>2]=k[Z+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=h-n|0;F=k[d+(x<<2)>>2]|0;I=h-F|0;q=k[d+(t<<2)>>2]|0;J=h-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(h|0)==(n|0);B=ha+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ha+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ha+(t<<2)|0;s=c+(t<<2)|0;t=ha+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ha+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ha+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=J-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[N>>2]>>2]|0)+l|0,ha|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[fa>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==52){Bl(ia);r=ka;return}}function yl(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;zl(a,e);r=p;return}k[f>>2]=b;Al(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function zl(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Al(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function Bl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function Cl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{sd(a+8+(d<<4)|0,b);d=d+1|0}while((d|0)!=32);sd(a+520|0,b);hd(a+536|0,b);hd(a+556|0,b);hd(a+576|0,b);u=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];Dl(a,u,n,m,0,q);r=s;return 1}function Dl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0;ka=r;r=r+112|0;ha=ka+96|0;n=ka+32|0;ia=ka+72|0;ga=ka+56|0;$=ka+44|0;_=ka+16|0;Z=ka;j=k[c>>2]|0;aa=c+4|0;l=k[aa>>2]|0;ba=c+8|0;m=k[ba>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;k[ia+12>>2]=0;k[ia+16>>2]=0;k[ia+20>>2]=0;ca=ia+8|0;da=ia+4|0;ea=ia+16|0;fa=ia+20|0;El(ia);g=k[da>>2]|0;h=(k[fa>>2]|0)+(k[ea>>2]|0)|0;if((k[ca>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Y=g+16|0;k[Y>>2]=k[n>>2];k[Y+4>>2]=k[n+4>>2];k[Y+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[fa>>2]|0)+1|0;k[fa>>2]=g;if(!g){Hl(ia);r=ka;return}Q=$+4|0;R=$+8|0;S=a+552|0;T=a+548|0;U=f+4|0;V=ha+4|0;W=ha+8|0;X=a+592|0;Y=a+588|0;a:while(1){N=k[ea>>2]|0;n=g+-1|0;m=n+N|0;O=k[da>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[ga>>2]=k[L>>2];k[ga+4>>2]=k[L+4>>2];k[ga+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[fa>>2]=n;n=k[ca>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Ip(k[n+-4>>2]|0);k[ca>>2]=(k[ca>>2]|0)+-4}k[c>>2]=h;k[aa>>2]=j;k[ba>>2]=l;k[d>>2]=k[ga>>2];k[d+4>>2]=k[ga+4>>2];k[d+8>>2]=k[ga+8>>2];k[$>>2]=h;k[Q>>2]=j;k[R>>2]=l;k[ha>>2]=k[ga>>2];k[ha+4>>2]=k[ga+4>>2];k[ha+8>>2]=k[ga+8>>2];O=Sm(a,P,$,ha,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(n|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ha>>2]=k[c>>2];k[V>>2]=k[aa>>2];k[W>>2]=k[ba>>2];N=ha+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[X>>2]|0;g=k[Y>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[X>>2]=P;if((P|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){m=k[c>>2]|0;n=k[aa>>2]|0;e=k[ba>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){El(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}if(o|0){m=k[ha>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){El(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Z>>2];k[P+4>>2]=k[Z+4>>2];k[P+8>>2]=k[Z+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=h-n|0;F=k[d+(x<<2)>>2]|0;I=h-F|0;q=k[d+(t<<2)>>2]|0;J=h-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(h|0)==(n|0);B=ha+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ha+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ha+(t<<2)|0;s=c+(t<<2)|0;t=ha+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ha+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ha+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=J-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[N>>2]>>2]|0)+l|0,ha|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[fa>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==52){Hl(ia);r=ka;return}}function El(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Fl(a,e);r=p;return}k[f>>2]=b;Gl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function Fl(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Gl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function Hl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function Il(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{sd(a+8+(d<<4)|0,b);d=d+1|0}while((d|0)!=32);sd(a+520|0,b);hd(a+536|0,b);hd(a+556|0,b);hd(a+576|0,b);u=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];Jl(a,u,n,m,0,q);r=s;return 1}function Jl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0;ka=r;r=r+112|0;ha=ka+96|0;n=ka+32|0;ia=ka+72|0;ga=ka+56|0;$=ka+44|0;_=ka+16|0;Z=ka;j=k[c>>2]|0;aa=c+4|0;l=k[aa>>2]|0;ba=c+8|0;m=k[ba>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;k[ia+12>>2]=0;k[ia+16>>2]=0;k[ia+20>>2]=0;ca=ia+8|0;da=ia+4|0;ea=ia+16|0;fa=ia+20|0;Kl(ia);g=k[da>>2]|0;h=(k[fa>>2]|0)+(k[ea>>2]|0)|0;if((k[ca>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Y=g+16|0;k[Y>>2]=k[n>>2];k[Y+4>>2]=k[n+4>>2];k[Y+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[fa>>2]|0)+1|0;k[fa>>2]=g;if(!g){Nl(ia);r=ka;return}Q=$+4|0;R=$+8|0;S=a+552|0;T=a+548|0;U=f+4|0;V=ha+4|0;W=ha+8|0;X=a+592|0;Y=a+588|0;a:while(1){N=k[ea>>2]|0;n=g+-1|0;m=n+N|0;O=k[da>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[ga>>2]=k[L>>2];k[ga+4>>2]=k[L+4>>2];k[ga+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[fa>>2]=n;n=k[ca>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Ip(k[n+-4>>2]|0);k[ca>>2]=(k[ca>>2]|0)+-4}k[c>>2]=h;k[aa>>2]=j;k[ba>>2]=l;k[d>>2]=k[ga>>2];k[d+4>>2]=k[ga+4>>2];k[d+8>>2]=k[ga+8>>2];k[$>>2]=h;k[Q>>2]=j;k[R>>2]=l;k[ha>>2]=k[ga>>2];k[ha+4>>2]=k[ga+4>>2];k[ha+8>>2]=k[ga+8>>2];O=Um(a,P,$,ha,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(n|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ha>>2]=k[c>>2];k[V>>2]=k[aa>>2];k[W>>2]=k[ba>>2];N=ha+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[X>>2]|0;g=k[Y>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[X>>2]=P;if((P|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){m=k[c>>2]|0;n=k[aa>>2]|0;e=k[ba>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Kl(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}if(o|0){m=k[ha>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Kl(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Z>>2];k[P+4>>2]=k[Z+4>>2];k[P+8>>2]=k[Z+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=h-n|0;F=k[d+(x<<2)>>2]|0;I=h-F|0;q=k[d+(t<<2)>>2]|0;J=h-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(h|0)==(n|0);B=ha+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ha+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ha+(t<<2)|0;s=c+(t<<2)|0;t=ha+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ha+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ha+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=J-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[N>>2]>>2]|0)+l|0,ha|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[fa>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==52){Nl(ia);r=ka;return}}function Kl(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Ll(a,e);r=p;return}k[f>>2]=b;Ml(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function Ll(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Ml(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function Nl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function Ol(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{xd(a+8+(d*24|0)|0,b);d=d+1|0}while((d|0)!=32);xd(a+776|0,b);hd(a+800|0,b);hd(a+820|0,b);hd(a+840|0,b);u=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];Pl(a,u,n,m,0,q);r=s;return 1}function Pl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0;ka=r;r=r+112|0;ha=ka+96|0;n=ka+32|0;ia=ka+72|0;ga=ka+56|0;$=ka+44|0;_=ka+16|0;Z=ka;j=k[c>>2]|0;aa=c+4|0;l=k[aa>>2]|0;ba=c+8|0;m=k[ba>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;k[ia+12>>2]=0;k[ia+16>>2]=0;k[ia+20>>2]=0;ca=ia+8|0;da=ia+4|0;ea=ia+16|0;fa=ia+20|0;Ql(ia);g=k[da>>2]|0;h=(k[fa>>2]|0)+(k[ea>>2]|0)|0;if((k[ca>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Y=g+16|0;k[Y>>2]=k[n>>2];k[Y+4>>2]=k[n+4>>2];k[Y+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[fa>>2]|0)+1|0;k[fa>>2]=g;if(!g){Tl(ia);r=ka;return}Q=$+4|0;R=$+8|0;S=a+816|0;T=a+812|0;U=f+4|0;V=ha+4|0;W=ha+8|0;X=a+856|0;Y=a+852|0;a:while(1){h=k[da>>2]|0;O=k[ea>>2]|0;N=k[h+(O>>>7<<2)>>2]|0;n=O&127;P=k[N+(n<<5)>>2]|0;j=k[N+(n<<5)+4>>2]|0;l=k[N+(n<<5)+8>>2]|0;m=k[N+(n<<5)+12>>2]|0;M=N+(n<<5)+16|0;k[ga>>2]=k[M>>2];k[ga+4>>2]=k[M+4>>2];k[ga+8>>2]=k[M+8>>2];n=k[N+(n<<5)+28>>2]|0;k[fa>>2]=g+-1;O=O+1|0;k[ea>>2]=O;if(O>>>0>255){Ip(k[h>>2]|0);k[da>>2]=(k[da>>2]|0)+4;k[ea>>2]=(k[ea>>2]|0)+-128}k[c>>2]=j;k[aa>>2]=l;k[ba>>2]=m;k[d>>2]=k[ga>>2];k[d+4>>2]=k[ga+4>>2];k[d+8>>2]=k[ga+8>>2];k[$>>2]=j;k[Q>>2]=l;k[R>>2]=m;k[ha>>2]=k[ga>>2];k[ha+4>>2]=k[ga+4>>2];k[ha+8>>2]=k[ga+8>>2];O=Xm(a,P,$,ha,n)|0;m=d+(O<<2)|0;n=k[m>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(n|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ha>>2]=k[c>>2];k[V>>2]=k[aa>>2];k[W>>2]=k[ba>>2];N=ha+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[X>>2]|0;g=k[Y>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[X>>2]=P;if((P|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){m=k[c>>2]|0;n=k[aa>>2]|0;e=k[ba>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Ql(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}if(o|0){m=k[ha>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Ql(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Z>>2];k[P+4>>2]=k[Z+4>>2];k[P+8>>2]=k[Z+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;N=h-n|0;F=k[d+(x<<2)>>2]|0;H=h-F|0;q=k[d+(t<<2)>>2]|0;I=h-q|0;M=k[f>>2]|0;J=M+84|0;K=M+68|0;L=M+40|0;M=M+64|0;D=(h|0)==(n|0);B=ha+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ha+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ha+(t<<2)|0;s=c+(t<<2)|0;t=ha+(t<<2)|0;u=(I|0)<33;v=(I|0)>0;w=32-I|0;x=ha+(x<<2)|0;y=(H|0)<33;z=(H|0)>0;A=32-H|0;m=ha+(O<<2)|0;n=(N|0)<33;e=(N|0)>0;b=32-N|0;o=0;do{k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=N-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+N|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[J>>0]|0))g=k[(k[K>>2]|0)+(g<<2)>>2]|0;l=L;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[M>>2]>>2]|0)+l|0,ha|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[fa>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==52){Tl(ia);r=ka;return}}function Ql(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Rl(a,e);r=p;return}k[f>>2]=b;Sl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function Rl(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Sl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function Tl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function Ul(a){a=a|0;wd(a+744|0);wd(a+720|0);wd(a+696|0);wd(a+672|0);wd(a+648|0);wd(a+624|0);wd(a+600|0);wd(a+576|0);wd(a+552|0);wd(a+528|0);wd(a+504|0);wd(a+480|0);wd(a+456|0);wd(a+432|0);wd(a+408|0);wd(a+384|0);wd(a+360|0);wd(a+336|0);wd(a+312|0);wd(a+288|0);wd(a+264|0);wd(a+240|0);wd(a+216|0);wd(a+192|0);wd(a+168|0);wd(a+144|0);wd(a+120|0);wd(a+96|0);wd(a+72|0);wd(a+48|0);wd(a+24|0);wd(a);return}function Vl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{xd(a+8+(d*24|0)|0,b);d=d+1|0}while((d|0)!=32);xd(a+776|0,b);hd(a+800|0,b);hd(a+820|0,b);hd(a+840|0,b);u=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];Wl(a,u,n,m,0,q);r=s;return 1}function Wl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0;ka=r;r=r+112|0;ha=ka+96|0;n=ka+32|0;ia=ka+72|0;ga=ka+56|0;$=ka+44|0;_=ka+16|0;Z=ka;j=k[c>>2]|0;aa=c+4|0;l=k[aa>>2]|0;ba=c+8|0;m=k[ba>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;k[ia+12>>2]=0;k[ia+16>>2]=0;k[ia+20>>2]=0;ca=ia+8|0;da=ia+4|0;ea=ia+16|0;fa=ia+20|0;Xl(ia);g=k[da>>2]|0;h=(k[fa>>2]|0)+(k[ea>>2]|0)|0;if((k[ca>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Y=g+16|0;k[Y>>2]=k[n>>2];k[Y+4>>2]=k[n+4>>2];k[Y+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[fa>>2]|0)+1|0;k[fa>>2]=g;if(!g){_l(ia);r=ka;return}Q=$+4|0;R=$+8|0;S=a+816|0;T=a+812|0;U=f+4|0;V=ha+4|0;W=ha+8|0;X=a+856|0;Y=a+852|0;a:while(1){h=k[da>>2]|0;O=k[ea>>2]|0;N=k[h+(O>>>7<<2)>>2]|0;n=O&127;P=k[N+(n<<5)>>2]|0;j=k[N+(n<<5)+4>>2]|0;l=k[N+(n<<5)+8>>2]|0;m=k[N+(n<<5)+12>>2]|0;M=N+(n<<5)+16|0;k[ga>>2]=k[M>>2];k[ga+4>>2]=k[M+4>>2];k[ga+8>>2]=k[M+8>>2];n=k[N+(n<<5)+28>>2]|0;k[fa>>2]=g+-1;O=O+1|0;k[ea>>2]=O;if(O>>>0>255){Ip(k[h>>2]|0);k[da>>2]=(k[da>>2]|0)+4;k[ea>>2]=(k[ea>>2]|0)+-128}k[c>>2]=j;k[aa>>2]=l;k[ba>>2]=m;k[d>>2]=k[ga>>2];k[d+4>>2]=k[ga+4>>2];k[d+8>>2]=k[ga+8>>2];k[$>>2]=j;k[Q>>2]=l;k[R>>2]=m;k[ha>>2]=k[ga>>2];k[ha+4>>2]=k[ga+4>>2];k[ha+8>>2]=k[ga+8>>2];O=Zm(a,P,$,ha,n)|0;m=d+(O<<2)|0;n=k[m>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(n|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ha>>2]=k[c>>2];k[V>>2]=k[aa>>2];k[W>>2]=k[ba>>2];N=ha+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[X>>2]|0;g=k[Y>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[X>>2]=P;if((P|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){m=k[c>>2]|0;n=k[aa>>2]|0;e=k[ba>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Xl(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}if(o|0){m=k[ha>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Xl(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Z>>2];k[P+4>>2]=k[Z+4>>2];k[P+8>>2]=k[Z+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;N=h-n|0;F=k[d+(x<<2)>>2]|0;H=h-F|0;q=k[d+(t<<2)>>2]|0;I=h-q|0;M=k[f>>2]|0;J=M+84|0;K=M+68|0;L=M+40|0;M=M+64|0;D=(h|0)==(n|0);B=ha+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ha+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ha+(t<<2)|0;s=c+(t<<2)|0;t=ha+(t<<2)|0;u=(I|0)<33;v=(I|0)>0;w=32-I|0;x=ha+(x<<2)|0;y=(H|0)<33;z=(H|0)>0;A=32-H|0;m=ha+(O<<2)|0;n=(N|0)<33;e=(N|0)>0;b=32-N|0;o=0;do{k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=N-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+N|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[J>>0]|0))g=k[(k[K>>2]|0)+(g<<2)>>2]|0;l=L;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[M>>2]>>2]|0)+l|0,ha|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[fa>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==52){_l(ia);r=ka;return}}function Xl(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Yl(a,e);r=p;return}k[f>>2]=b;Zl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function Yl(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Zl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function _l(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function $l(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{xd(a+8+(d*24|0)|0,b);d=d+1|0}while((d|0)!=32);xd(a+776|0,b);hd(a+800|0,b);hd(a+820|0,b);hd(a+840|0,b);u=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];am(a,u,n,m,0,q);r=s;return 1}function am(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;pa=r;r=r+176|0;oa=pa;o=pa+128|0;na=pa+112|0;ma=pa+64|0;V=pa+160|0;la=pa+16|0;W=pa+80|0;X=pa+32|0;S=k[c>>2]|0;ia=c+4|0;U=k[ia>>2]|0;ka=c+8|0;T=k[ka>>2]|0;k[o>>2]=b;k[o+4>>2]=S;k[o+8>>2]=U;k[o+12>>2]=T;T=o+16|0;k[T>>2]=k[d>>2];k[T+4>>2]=k[d+4>>2];k[T+8>>2]=k[d+8>>2];k[o+28>>2]=e;k[na>>2]=0;T=na+4|0;k[T>>2]=0;k[na+8>>2]=0;U=na+8|0;bm(na,o);e=k[T>>2]|0;o=k[na>>2]|0;b=e-o|0;if((b|0)>32){g=((b>>5)+-2|0)/2|0;h=o+(g<<5)|0;b=e+-32|0;j=k[b>>2]|0;if((k[h>>2]|0)>>>0>>0){l=k[e+-28>>2]|0;m=k[e+-24>>2]|0;n=k[e+-20>>2]|0;e=e+-16|0;k[oa>>2]=k[e>>2];k[oa+4>>2]=k[e+4>>2];k[oa+8>>2]=k[e+8>>2];k[oa+12>>2]=k[e+12>>2];e=h;while(1){k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];k[b+20>>2]=k[e+20>>2];k[b+24>>2]=k[e+24>>2];k[b+28>>2]=k[e+28>>2];if(!g)break;g=(g+-1|0)/2|0;b=o+(g<<5)|0;if((k[b>>2]|0)>>>0>=j>>>0)break;else{S=e;e=b;b=S}}k[e>>2]=j;k[e+4>>2]=l;k[e+8>>2]=m;k[e+12>>2]=n;g=e+16|0;k[g>>2]=k[oa>>2];k[g+4>>2]=k[oa+4>>2];k[g+8>>2]=k[oa+8>>2];k[g+12>>2]=k[oa+12>>2];g=7}else g=7}else b=o;a:while(1){if((g|0)==7){b=k[na>>2]|0;e=k[T>>2]|0}if((b|0)==(e|0)){g=62;break}S=k[b>>2]|0;e=k[b+4>>2]|0;p=k[b+8>>2]|0;n=k[b+12>>2]|0;R=b+16|0;k[ma>>2]=k[R>>2];k[ma+4>>2]=k[R+4>>2];k[ma+8>>2]=k[R+8>>2];R=k[b+28>>2]|0;cm(na);k[c>>2]=e;k[ia>>2]=p;k[ka>>2]=n;k[d>>2]=k[ma>>2];k[d+4>>2]=k[ma+4>>2];k[d+8>>2]=k[ma+8>>2];k[V>>2]=e;k[V+4>>2]=p;k[V+8>>2]=n;k[oa>>2]=k[ma>>2];k[oa+4>>2]=k[ma+4>>2];k[oa+8>>2]=k[ma+8>>2];R=$m(a,S,V,oa,R)|0;n=d+(R<<2)|0;p=k[n>>2]|0;b=k[a>>2]|0;e=(S|0)==0;do if((b|0)==(p|0)){if(!e){l=k[f>>2]|0;b=f+4|0;g=l+84|0;h=l+68|0;j=l+40|0;l=l+64|0;e=k[b>>2]|0;m=e;o=0;while(1){if(!(i[g>>0]|0))n=k[(k[h>>2]|0)+(m<<2)>>2]|0;else n=m;Q=j;R=k[Q>>2]|0;Q=sq(n|0,((n|0)<0)<<31>>31|0,R|0,k[Q+4>>2]|0)|0;lq((k[k[l>>2]>>2]|0)+Q|0,c|0,R|0)|0;o=o+1|0;if((o|0)==(S|0))break;else m=m+1|0}k[b>>2]=S+e}}else{if(e){g=16;break a}if(S>>>0>=3){k[la>>2]=k[c>>2];q=la+4|0;k[q>>2]=k[ia>>2];s=la+8|0;k[s>>2]=k[ka>>2];Q=la+(R<<2)|0;k[Q>>2]=(k[Q>>2]|0)+(1<>>1)-e|0;h=S-l|0;if((l|0)==(h|0)){m=l;o=l}else{e=a+856|0;S=k[e>>2]|0;b=a+852|0;g=k[b>>2]|0;j=(k[g>>2]&1<<31-S|0)!=0;S=S+1|0;k[e>>2]=S;if((S|0)==32){k[b>>2]=g+4;k[e>>2]=0}m=j?l:h;o=j?h:l}k[n>>2]=p+1;if(m|0){e=k[c>>2]|0;b=k[ia>>2]|0;g=k[ka>>2]|0;k[W>>2]=m;k[W+4>>2]=e;k[W+8>>2]=b;k[W+12>>2]=g;h=W+16|0;k[h>>2]=k[d>>2];k[h+4>>2]=k[d+4>>2];k[h+8>>2]=k[d+8>>2];k[W+28>>2]=R;j=k[T>>2]|0;if(j>>>0<(k[U>>2]|0)>>>0){k[j>>2]=m;k[j+4>>2]=e;k[j+8>>2]=b;k[j+12>>2]=g;g=j+16|0;k[g>>2]=k[h>>2];k[g+4>>2]=k[h+4>>2];k[g+8>>2]=k[h+8>>2];k[g+12>>2]=k[h+12>>2];g=(k[T>>2]|0)+32|0;k[T>>2]=g}else{dm(na,W);g=k[T>>2]|0}e=k[na>>2]|0;b=g-e|0;if((b|0)>32?(Y=((b>>5)+-2|0)/2|0,Z=e,_=Z+(Y<<5)|0,$=g,aa=$+-32|0,ba=k[aa>>2]|0,(k[_>>2]|0)>>>0>>0):0){h=k[$+-28>>2]|0;j=k[$+-24>>2]|0;l=k[$+-20>>2]|0;g=$+-16|0;k[oa>>2]=k[g>>2];k[oa+4>>2]=k[g+4>>2];k[oa+8>>2]=k[g+8>>2];k[oa+12>>2]=k[g+12>>2];g=Y;b=aa;e=_;while(1){k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];k[b+20>>2]=k[e+20>>2];k[b+24>>2]=k[e+24>>2];k[b+28>>2]=k[e+28>>2];if(!g)break;g=(g+-1|0)/2|0;b=Z+(g<<5)|0;if((k[b>>2]|0)>>>0>=ba>>>0)break;else{S=e;e=b;b=S}}k[e>>2]=ba;k[e+4>>2]=h;k[e+8>>2]=j;k[e+12>>2]=l;S=e+16|0;k[S>>2]=k[oa>>2];k[S+4>>2]=k[oa+4>>2];k[S+8>>2]=k[oa+8>>2];k[S+12>>2]=k[oa+12>>2]}}if(o|0){j=k[la>>2]|0;h=k[q>>2]|0;b=k[s>>2]|0;k[X>>2]=o;k[X+4>>2]=j;k[X+8>>2]=h;k[X+12>>2]=b;g=X+16|0;k[g>>2]=k[d>>2];k[g+4>>2]=k[d+4>>2];k[g+8>>2]=k[d+8>>2];k[X+28>>2]=R;e=k[T>>2]|0;if(e>>>0<(k[U>>2]|0)>>>0){k[e>>2]=o;k[e+4>>2]=j;k[e+8>>2]=h;k[e+12>>2]=b;S=e+16|0;k[S>>2]=k[g>>2];k[S+4>>2]=k[g+4>>2];k[S+8>>2]=k[g+8>>2];k[S+12>>2]=k[g+12>>2];g=(k[T>>2]|0)+32|0;k[T>>2]=g}else{dm(na,X);g=k[T>>2]|0}e=k[na>>2]|0;b=g-e|0;if((b|0)>32?(ca=((b>>5)+-2|0)/2|0,da=e,ea=da+(ca<<5)|0,fa=g,ga=fa+-32|0,ha=k[ga>>2]|0,(k[ea>>2]|0)>>>0>>0):0){h=k[fa+-28>>2]|0;j=k[fa+-24>>2]|0;l=k[fa+-20>>2]|0;g=fa+-16|0;k[oa>>2]=k[g>>2];k[oa+4>>2]=k[g+4>>2];k[oa+8>>2]=k[g+8>>2];k[oa+12>>2]=k[g+12>>2];g=ca;b=ga;e=ea;while(1){k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];k[b+20>>2]=k[e+20>>2];k[b+24>>2]=k[e+24>>2];k[b+28>>2]=k[e+28>>2];if(!g)break;g=(g+-1|0)/2|0;b=da+(g<<5)|0;if((k[b>>2]|0)>>>0>=ha>>>0)break;else{S=e;e=b;b=S}}k[e>>2]=ha;k[e+4>>2]=h;k[e+8>>2]=j;k[e+12>>2]=l;S=e+16|0;k[S>>2]=k[oa>>2];k[S+4>>2]=k[oa+4>>2];k[S+8>>2]=k[oa+8>>2];k[S+12>>2]=k[oa+12>>2]}}break}x=(R|0)==2?0:R+1|0;t=(x|0)==2?0:x+1|0;H=b-p|0;F=k[d+(x<<2)>>2]|0;I=b-F|0;q=k[d+(t<<2)>>2]|0;J=b-q|0;K=a+816|0;L=a+812|0;Q=k[f>>2]|0;M=f+4|0;N=Q+84|0;O=Q+68|0;P=Q+40|0;Q=Q+64|0;D=(b|0)==(p|0);B=oa+(R<<2)|0;E=c+(R<<2)|0;F=(b|0)==(F|0);C=oa+(x<<2)|0;G=c+(x<<2)|0;q=(b|0)==(q|0);p=oa+(t<<2)|0;s=c+(t<<2)|0;t=oa+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=oa+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;j=oa+(R<<2)|0;l=(H|0)<33;m=(H|0)>0;n=32-H|0;o=0;do{k[oa>>2]=0;k[oa+4>>2]=0;k[oa+8>>2]=0;do if(!D){if(!l){g=23;break a}if(!m){g=25;break a}g=k[K>>2]|0;e=32-g|0;h=k[L>>2]|0;b=k[h>>2]<>>0>e>>>0){R=H-e|0;k[K>>2]=R;h=h+4|0;k[L>>2]=h;R=32-R|0;e=(k[h>>2]|0)>>>R|b>>>(R-e|0);k[j>>2]=e;b=j;break}e=b>>>n;k[j>>2]=e;R=g+H|0;k[K>>2]=R;if((R|0)==32){k[L>>2]=h+4;k[K>>2]=0;b=j}else b=j}else{b=B;e=k[B>>2]|0}while(0);k[b>>2]=e|k[E>>2];do if(!F){if(!y){g=23;break a}if(!z){g=25;break a}g=k[K>>2]|0;e=32-g|0;h=k[L>>2]|0;b=k[h>>2]<>>0>e>>>0){R=I-e|0;k[K>>2]=R;h=h+4|0;k[L>>2]=h;R=32-R|0;e=(k[h>>2]|0)>>>R|b>>>(R-e|0);k[x>>2]=e;b=x;break}e=b>>>A;k[x>>2]=e;R=g+I|0;k[K>>2]=R;if((R|0)==32){k[L>>2]=h+4;k[K>>2]=0;b=x}else b=x}else{b=C;e=k[C>>2]|0}while(0);k[b>>2]=e|k[G>>2];do if(!q){if(!u){g=23;break a}if(!v){g=25;break a}g=k[K>>2]|0;e=32-g|0;h=k[L>>2]|0;b=k[h>>2]<>>0>e>>>0){R=J-e|0;k[K>>2]=R;h=h+4|0;k[L>>2]=h;R=32-R|0;e=(k[h>>2]|0)>>>R|b>>>(R-e|0);k[t>>2]=e;b=t;break}e=b>>>w;k[t>>2]=e;R=g+J|0;k[K>>2]=R;if((R|0)==32){k[L>>2]=h+4;k[K>>2]=0;b=t}else b=t}else{b=p;e=k[p>>2]|0}while(0);k[b>>2]=e|k[s>>2];e=k[M>>2]|0;k[M>>2]=e+1;if(!(i[N>>0]|0))e=k[(k[O>>2]|0)+(e<<2)>>2]|0;h=P;R=k[h>>2]|0;h=sq(e|0,((e|0)<0)<<31>>31|0,R|0,k[h+4>>2]|0)|0;lq((k[k[Q>>2]>>2]|0)+h|0,oa|0,R|0)|0;o=o+1|0}while(o>>>0>>0)}while(0);g=7}if((g|0)==16)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==62){if(!e){r=pa;return}Ip(e);r=pa;return}}function bm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=a+4|0;d=k[a>>2]|0;e=((k[l>>2]|0)-d>>5)+1|0;if(e>>>0>134217727)yp(a);j=d;m=a+8|0;c=(k[m>>2]|0)-d|0;if(c>>5>>>0<67108863){c=c>>4;c=c>>>0>>0?e:c;e=k[l>>2]|0;f=e-d>>5;if(!c){h=0;i=0}else g=6}else{f=k[l>>2]|0;c=134217727;e=f;f=f-d>>5;g=6}if((g|0)==6){h=c;i=$p(c<<5)|0}g=i+(f<<5)|0;c=g;h=i+(h<<5)|0;k[g>>2]=k[b>>2];k[i+(f<<5)+4>>2]=k[b+4>>2];k[i+(f<<5)+8>>2]=k[b+8>>2];k[i+(f<<5)+12>>2]=k[b+12>>2];f=i+(f<<5)+16|0;b=b+16|0;k[f>>2]=k[b>>2];k[f+4>>2]=k[b+4>>2];k[f+8>>2]=k[b+8>>2];k[f+12>>2]=k[b+12>>2];f=g+32|0;if((e|0)!=(j|0)){d=g;do{i=e;e=e+-32|0;k[d+-32>>2]=k[e>>2];k[d+-28>>2]=k[i+-28>>2];k[d+-24>>2]=k[i+-24>>2];k[d+-20>>2]=k[i+-20>>2];b=d+-16|0;i=i+-16|0;k[b>>2]=k[i>>2];k[b+4>>2]=k[i+4>>2];k[b+8>>2]=k[i+8>>2];k[b+12>>2]=k[i+12>>2];d=c+-32|0;c=d}while((e|0)!=(j|0));d=k[a>>2]|0}k[a>>2]=c;k[l>>2]=f;k[m>>2]=h;if(!d)return;Ip(d);return}function cm(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+16|0;s=t;b=k[a>>2]|0;q=a+4|0;a=k[q>>2]|0;c=a-b|0;d=c>>5;if((c|0)<=32){s=k[q>>2]|0;s=s+-32|0;k[q>>2]=s;r=t;return}p=b;o=a;j=o+-32|0;a=k[p>>2]|0;e=p+4|0;l=k[e>>2]|0;f=p+8|0;m=k[f>>2]|0;g=p+12|0;n=k[g>>2]|0;i=p+16|0;k[s>>2]=k[i>>2];k[s+4>>2]=k[i+4>>2];k[s+8>>2]=k[i+8>>2];k[s+12>>2]=k[i+12>>2];h=b;k[h>>2]=k[j>>2];k[h+4>>2]=k[j+4>>2];k[h+8>>2]=k[j+8>>2];k[h+12>>2]=k[j+12>>2];k[h+16>>2]=k[j+16>>2];k[h+20>>2]=k[j+20>>2];k[h+24>>2]=k[j+24>>2];k[h+28>>2]=k[j+28>>2];k[j>>2]=a;k[o+-28>>2]=l;k[o+-24>>2]=m;k[o+-20>>2]=n;o=o+-16|0;k[o>>2]=k[s>>2];k[o+4>>2]=k[s+4>>2];k[o+8>>2]=k[s+8>>2];k[o+12>>2]=k[s+12>>2];o=d+-1|0;if((c|0)<96){s=k[q>>2]|0;s=s+-32|0;k[q>>2]=s;r=t;return}m=d+-3|0;n=(m|0)/2|0;if((m|0)<-1){s=k[q>>2]|0;s=s+-32|0;k[q>>2]=s;r=t;return}b=p+32|0;a=b;if((o|0)>2){m=p+64|0;l=(k[b>>2]|0)>>>0<(k[m>>2]|0)>>>0;b=l?2:1;a=l?m:a}else b=1;m=k[p>>2]|0;if((k[a>>2]|0)>>>0>>0){s=k[q>>2]|0;s=s+-32|0;k[q>>2]=s;r=t;return}l=k[e>>2]|0;j=k[f>>2]|0;f=k[g>>2]|0;k[s>>2]=k[i>>2];k[s+4>>2]=k[i+4>>2];k[s+8>>2]=k[i+8>>2];k[s+12>>2]=k[i+12>>2];while(1){i=h;h=a;k[i>>2]=k[h>>2];k[i+4>>2]=k[h+4>>2];k[i+8>>2]=k[h+8>>2];k[i+12>>2]=k[h+12>>2];k[i+16>>2]=k[h+16>>2];k[i+20>>2]=k[h+20>>2];k[i+24>>2]=k[h+24>>2];k[i+28>>2]=k[h+28>>2];if((n|0)<(b|0))break;b=b<<1|1;d=p+(b<<5)|0;c=d;e=b+1|0;if((e|0)<(o|0)){i=d+32|0;g=(k[d>>2]|0)>>>0<(k[i>>2]|0)>>>0;b=g?e:b;c=g?i:c}if((k[c>>2]|0)>>>0>>0)break;else a=c}p=a;k[p>>2]=m;k[p+4>>2]=l;k[p+8>>2]=j;k[p+12>>2]=f;p=p+16|0;k[p>>2]=k[s>>2];k[p+4>>2]=k[s+4>>2];k[p+8>>2]=k[s+8>>2];k[p+12>>2]=k[s+12>>2];s=k[q>>2]|0;s=s+-32|0;k[q>>2]=s;r=t;return} +function ib(a){a=a|0;var b=0;b=r;r=r+a|0;r=r+15&-16;return b|0}function jb(){return r|0}function kb(a){a=a|0;r=a}function lb(a,b){a=a|0;b=b|0;r=a;s=b}function mb(a,b){a=a|0;b=b|0;if(!w){w=a;x=b}}function nb(a){a=a|0;i[t>>0]=i[a>>0];i[t+1>>0]=i[a+1>>0];i[t+2>>0]=i[a+2>>0];i[t+3>>0]=i[a+3>>0]}function ob(a){a=a|0;i[t>>0]=i[a>>0];i[t+1>>0]=i[a+1>>0];i[t+2>>0]=i[a+2>>0];i[t+3>>0]=i[a+3>>0];i[t+4>>0]=i[a+4>>0];i[t+5>>0]=i[a+5>>0];i[t+6>>0]=i[a+6>>0];i[t+7>>0]=i[a+7>>0]}function pb(a){a=a|0;L=a}function qb(){return L|0}function rb(){var a=0;a=$p(68)|0;rg(a);return a|0}function sb(a){a=a|0;return (k[a+8>>2]|0)-(k[a+4>>2]|0)>>2|0}function tb(a){a=a|0;return k[a+64>>2]|0}function ub(a){a=a|0;if(!a)return;ab[k[(k[a>>2]|0)+4>>2]&127](a);return}function vb(){var a=0;a=$p(1)|0;tc(a);return a|0}function wb(a,b){a=a|0;b=b|0;return uc(a,b)|0}function xb(a,b){a=a|0;b=b|0;return vc(b)|0}function yb(a,b){a=a|0;b=b|0;return wc(b)|0}function zb(a,b,c){a=a|0;b=b|0;c=c|0;return xc(a,b,c)|0}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;return yc(b,c)|0}function Bb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return zc(b,c,d)|0}function Cb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ac(b,c,d)|0}function Db(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return bd(b,c,d)|0}function Eb(a){a=a|0;if(!a)return;Ip(a);return}function Fb(){var a=0;a=$p(88)|0;Le(a);return a|0}function Gb(a){a=a|0;return k[a+80>>2]|0}function Hb(a){a=a|0;return k[a+56>>2]|0}function Ib(a){a=a|0;return k[a+28>>2]|0}function Jb(a){a=a|0;return i[a+24>>0]|0}function Kb(a){a=a|0;return (i[a+32>>0]|0)!=0|0}function Lb(a){a=a|0;return k[a+40>>2]|0}function Mb(a){a=a|0;return k[a+48>>2]|0}function Nb(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a)return;b=k[a+68>>2]|0;c=b;if(b|0){d=a+72|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}e=a+64|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0){c=k[b>>2]|0;if(c|0){d=b+4|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;Ip(c)}Ip(b)}Ip(a);return}function Ob(){var a=0;a=$p(12)|0;mc(a);return a|0}function Pb(a,b){a=a|0;b=b|0;return +(+nc(a,b))}function Qb(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a)return;b=k[a>>2]|0;c=b;if(b|0){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}Ip(a);return}function Rb(){var a=0;a=$p(64)|0;Ie(a);return a|0}function Sb(a){a=a|0;if(!a)return;Ip(a);return}function Tb(){var a=0;a=$p(40)|0;Og(a);return a|0}function Ub(a,b,c){a=a|0;b=b|0;c=c|0;Pg(a,b,c);return}function Vb(a){a=a|0;if(!a)return;Ng(a+24|0);Ip(a);return}function Wb(){var a=0;a=$p(92)|0;zg(a);return a|0}function Xb(a){a=a|0;return ((k[a+84>>2]|0)-(k[a+80>>2]|0)|0)/12|0|0}function Yb(a){a=a|0;return (k[a+8>>2]|0)-(k[a+4>>2]|0)>>2|0}function Zb(a){a=a|0;return k[a+64>>2]|0}function _b(a){a=a|0;if(!a)return;ab[k[(k[a>>2]|0)+4>>2]&127](a);return}function $b(a){a=a|0;if(!a)return;Ip(a);return}function ac(){var a=0;a=$p(12)|0;qc(a);return a|0}function bc(a,b){a=a|0;b=b|0;return rc(a,b)|0}function cc(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a)return;b=k[a>>2]|0;c=b;if(b|0){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}Ip(a);return}function dc(){return -1}function ec(){return 0}function fc(){return 1}function gc(){return -1}function hc(){return 0}function ic(){return 1}function jc(){return 2}function kc(){return 3}function lc(){return 4}function mc(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function nc(a,b){a=a|0;b=b|0;return +(+o[(k[a>>2]|0)+(b<<2)>>2])}function oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=b;h=c-m>>2;l=a+8|0;d=k[l>>2]|0;j=k[a>>2]|0;i=j;if(h>>>0<=d-j>>2>>>0){g=a+4|0;d=(k[g>>2]|0)-j>>2;a=h>>>0>d>>>0;d=b+(d<<2)|0;e=a?d:c;f=e;m=f-m|0;mq(j|0,b|0,m|0)|0;b=i+(m>>2<<2)|0;if(!a){d=k[g>>2]|0;if((d|0)==(b|0))return;k[g>>2]=d+(~((d+-4-b|0)>>>2)<<2);return}if((e|0)==(c|0))return;b=k[g>>2]|0;e=b+(((c+-4-f|0)>>>2)+1<<2)|0;while(1){k[b>>2]=k[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}k[g>>2]=e;return}f=j;if(j){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(i|0))k[d>>2]=e+(~((e+-4-j|0)>>>2)<<2);Ip(f);k[l>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(h>>>0>1073741823)yp(a);d=d-0|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?h:d;if(d>>>0>1073741823)yp(a);else g=d}else g=1073741823;d=$p(g<<2)|0;f=a+4|0;k[f>>2]=d;k[a>>2]=d;k[l>>2]=d+(g<<2);if((b|0)==(c|0))return;e=d+(((c+-4-m|0)>>>2)+1<<2)|0;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[f>>2]=e;return}function pc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)yp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;hq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;lq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Ip(j);return}function qc(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function rc(a,b){a=a|0;b=b|0;return k[(k[a>>2]|0)+(b<<2)>>2]|0}function sc(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;i=a+8|0;d=k[i>>2]|0;l=k[a>>2]|0;j=l;if(g>>>0<=d-l>>2>>>0){i=a+4|0;h=(k[i>>2]|0)-l>>2;a=g>>>0>h>>>0;h=b+(h<<2)|0;e=a?h:c;g=e;d=g-m|0;mq(l|0,b|0,d|0)|0;d=j+(d>>2<<2)|0;if(!a){b=k[i>>2]|0;if((b|0)==(d|0))return;k[i>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((e|0)==(c|0))return;f=k[i>>2]|0;e=(c+-4-g|0)>>>2;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[i>>2]=f+(e+1<<2);return}f=l;if(l){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(j|0))k[d>>2]=e+(~((e+-4-l|0)>>>2)<<2);Ip(f);k[i>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(g>>>0>1073741823)yp(a);d=d-0|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?g:d;if(d>>>0>1073741823)yp(a);else h=d}else h=1073741823;f=$p(h<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[i>>2]=f+(h<<2);if((b|0)==(c|0))return;e=(c+-4-m|0)>>>2;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+1<<2);return}function tc(a){a=a|0;return}function uc(a,b){a=a|0;b=b|0;return Ro(b)|0}function vc(a){a=a|0;return To(a)|0}function wc(a){a=a|0;return Uo(a)|0}function xc(a,b,c){a=a|0;b=b|0;c=c|0;return sg(b,c)|0}function yc(a,b){a=a|0;b=b|0;var c=0;if((b|0)<=-1)Aa(9717,9733,54,9761);c=k[a+4>>2]|0;if((k[a+8>>2]|0)-c>>2>>>0>b>>>0)return k[c+(b<<2)>>2]|0;else Aa(9771,9733,55,9761);return 0}function zc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<=-1)Aa(10856,10769,63,10783);d=k[a+80>>2]|0;if((((k[a+84>>2]|0)-d|0)/12|0)>>>0>b>>>0){a=d+(b*12|0)|0;sc(c,a,a+12|0);return 1}else Aa(10733,10769,64,10783);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,l=0,m=0;m=r;r=r+48|0;d=m+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;l=m;j=i[a+24>>0]|0;k[l>>2]=k[196];k[l+4>>2]=k[197];k[l+8>>2]=k[198];k[l+12>>2]=k[199];j=j<<24>>24;switch(j|0){case 1:{k[e>>2]=b;k[d>>2]=k[e>>2];d=Bc(a,d,l)|0;break}case 2:{k[f>>2]=b;k[d>>2]=k[f>>2];d=Ic(a,d,l)|0;break}case 3:{k[g>>2]=b;k[d>>2]=k[g>>2];d=Pc(a,d,l)|0;break}case 4:{k[h>>2]=b;k[d>>2]=k[h>>2];d=Wc(a,d,l)|0;break}default:{l=0;r=m;return l|0}}if(!d){l=0;r=m;return l|0}oc(c,l,l+(j<<2)|0);l=1;r=m;return l|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,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){a=0;r=n;return a|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=1;r=n;return a|0}case 2:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=1;r=n;return a|0}case 3:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=1;r=n;return a|0}case 4:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=1;r=n;return a|0}default:{a=0;r=n;return a|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];a=Cc(a,d,c)|0;r=n;return a|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];a=Dc(a,d,c)|0;r=n;return a|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];a=Ec(a,d,c)|0;r=n;return a|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];a=Fc(a,d,c)|0;r=n;return a|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];a=Gc(a,d,c)|0;r=n;return a|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];a=Hc(a,d,c)|0;r=n;return a|0}default:{a=0;r=n;return a|0}}return 0}function Cc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+b>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8)&255);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&255);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Dc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+b>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(((l[g>>0]|l[g+1>>0]<<8)&255)<<24>>24);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&255)<<24>>24);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ec(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Fc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;g=1;return g|0}default:{g=0;return g|0}}return 0}function Hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ic(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){a=0;r=n;return a|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;o[c+4>>2]=0.0;a=1;r=n;return a|0}case 2:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;m=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=c;k[a>>2]=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;k[a+4>>2]=b;a=1;r=n;return a|0}case 3:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;m=b;m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=c;c=a;i[c>>0]=m;i[c+1>>0]=m>>8;i[c+2>>0]=m>>16;i[c+3>>0]=m>>24;a=a+4|0;i[a>>0]=b;i[a+1>>0]=b>>8;i[a+2>>0]=b>>16;i[a+3>>0]=b>>24;a=1;r=n;return a|0}case 4:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;m=b;m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=c;c=a;i[c>>0]=m;i[c+1>>0]=m>>8;i[c+2>>0]=m>>16;i[c+3>>0]=m>>24;a=a+4|0;i[a>>0]=b;i[a+1>>0]=b>>8;i[a+2>>0]=b>>16;i[a+3>>0]=b>>24;a=1;r=n;return a|0}default:{a=0;r=n;return a|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];a=Jc(a,d,c)|0;r=n;return a|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];a=Kc(a,d,c)|0;r=n;return a|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];a=Lc(a,d,c)|0;r=n;return a|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];a=Mc(a,d,c)|0;r=n;return a|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];a=Nc(a,d,c)|0;r=n;return a|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];a=Oc(a,d,c)|0;r=n;return a|0}default:{a=0;r=n;return a|0}}return 0}function Jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+b>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;o[c+4>>2]=0.0;a=1;return a|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;d=+(l[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;g=1;return g|0}}case 4:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+b>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;o[c+4>>2]=0.0;a=1;return a|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;d=+(i[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;g=1;return g|0}}case 4:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;o[c+4>>2]=0.0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+(g&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;g=1;return g|0}}case 4:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,f|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;f=b;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=b+4|0;g=(i[a+32>>0]|0)==0;b=(kq(f|0,l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0,16)|0)&65535;d=+(f&65535);if(g){o[c>>2]=d;o[c+4>>2]=+(b&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;o[c+4>>2]=0.0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+((g&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;g=1;return g|0}}case 4:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,f|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;f=b;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=b+4|0;g=(i[a+32>>0]|0)==0;b=(kq(f|0,l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0,16)|0)&65535;d=+((f&65535)<<16>>16);if(g){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;o[c+4>>2]=0.0;a=1;return a|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,g|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;g=1;return g|0}}case 4:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;o[c+4>>2]=0.0;a=1;return a|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,g|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;g=1;return g|0}}case 4:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Pc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){a=0;r=n;return a|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=c+4|0;k[a>>2]=0;k[a+4>>2]=0;a=1;r=n;return a|0}case 2:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;m=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=c;k[a>>2]=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;k[a+4>>2]=b;o[c+8>>2]=0.0;a=1;r=n;return a|0}case 3:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;mq(c|0,(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;a=1;r=n;return a|0}case 4:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;mq(c|0,(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;a=1;r=n;return a|0}default:{a=0;r=n;return a|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];a=Qc(a,d,c)|0;r=n;return a|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];a=Rc(a,d,c)|0;r=n;return a|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];a=Sc(a,d,c)|0;r=n;return a|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];a=Tc(a,d,c)|0;r=n;return a|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];a=Uc(a,d,c)|0;r=n;return a|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];a=Vc(a,d,c)|0;r=n;return a|0}default:{a=0;r=n;return a|0}}return 0}function Qc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+e>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&255)}else{o[c>>2]=d/255.0;d=+(b&255)/255.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;e=i[g+2>>0]|0;d=+(l[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);o[c+8>>2]=+(e&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;o[c+8>>2]=+(e&255)/255.0;g=1;return g|0}}case 4:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;e=g>>>16&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);o[c+8>>2]=+(e&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;o[c+8>>2]=+(e&255)/255.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Rc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+e>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<24>>24)}else{o[c>>2]=d/127.0;d=+(b<<24>>24)/127.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;e=i[g+2>>0]|0;d=+(i[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);o[c+8>>2]=+(e<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;o[c+8>>2]=+(e<<24>>24)/127.0;g=1;return g|0}}case 4:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;e=g>>>16&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);o[c+8>>2]=+(e<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;o[c+8>>2]=+(e<<24>>24)/127.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Sc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[e>>0]|l[e+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+(g&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&65535)}else{o[c>>2]=d/65535.0;d=+(b&65535)/65535.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;e=g+4|0;e=l[e>>0]|l[e+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&65535);o[c+8>>2]=+(e&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;o[c+8>>2]=+(e&65535)/65535.0;g=1;return g|0}}case 4:{g=k[b>>2]|0;e=a+48|0;f=k[e>>2]|0;e=k[e+4>>2]|0;b=a+40|0;e=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,f|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;f=e;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=e+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;g=(i[a+32>>0]|0)==0;b=(kq(f|0,e|0,16)|0)&65535;e=e&65535;d=+(f&65535);if(g){o[c>>2]=d;o[c+4>>2]=+(b&65535);o[c+8>>2]=+(e&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;o[c+8>>2]=+(e&65535)/65535.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[e>>0]|l[e+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+((g&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<16>>16)}else{o[c>>2]=d/32767.0;d=+(b<<16>>16)/32767.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;e=g+4|0;e=l[e>>0]|l[e+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);o[c+8>>2]=+(e<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;o[c+8>>2]=+(e<<16>>16)/32767.0;g=1;return g|0}}case 4:{g=k[b>>2]|0;e=a+48|0;f=k[e>>2]|0;e=k[e+4>>2]|0;b=a+40|0;e=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,f|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;f=e;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=e+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;g=(i[a+32>>0]|0)==0;b=(kq(f|0,e|0,16)|0)&65535;e=e&65535;d=+((f&65535)<<16>>16);if(g){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);o[c+8>>2]=+(e<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;o[c+8>>2]=+(e<<16>>16)/32767.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,g|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b>>>0)}else{o[c>>2]=d*2.3283064365386963e-10;d=+(b>>>0)*2.3283064365386963e-10}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);o[c+8>>2]=+(e>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;o[c+8>>2]=+(e>>>0)*2.3283064365386963e-10;g=1;return g|0}}case 4:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);o[c+8>>2]=+(e>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;o[c+8>>2]=+(e>>>0)*2.3283064365386963e-10;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,g|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b|0)}else{o[c>>2]=d*4.656612873077393e-10;d=+(b|0)*4.656612873077393e-10}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);o[c+8>>2]=+(e|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;o[c+8>>2]=+(e|0)*4.656612873077393e-10;g=1;return g|0}}case 4:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);o[c+8>>2]=+(e|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;o[c+8>>2]=+(e|0)*4.656612873077393e-10;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){a=0;r=n;return a|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=c+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;a=1;r=n;return a|0}case 2:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;m=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=c;k[a>>2]=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;k[a+4>>2]=b;a=c+8|0;k[a>>2]=0;k[a+4>>2]=0;a=1;r=n;return a|0}case 3:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;mq(c|0,(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;o[c+12>>2]=0.0;a=1;r=n;return a|0}case 4:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;mq(c|0,(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0,16)|0;a=1;r=n;return a|0}default:{a=0;r=n;return a|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];a=Xc(a,d,c)|0;r=n;return a|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];a=Yc(a,d,c)|0;r=n;return a|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];a=Zc(a,d,c)|0;r=n;return a|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];a=_c(a,d,c)|0;r=n;return a|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];a=$c(a,d,c)|0;r=n;return a|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];a=ad(a,d,c)|0;r=n;return a|0}default:{a=0;r=n;return a|0}}return 0}function Xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=jq(sq(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;e=+(l[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?e:e/255.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8;b=(h&65535)>>>8&255;d=+(h&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&255)}else{o[c>>2]=d/255.0;d=+(b&255)/255.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=i[h+1>>0]|0;b=i[h+2>>0]|0;d=+(l[h>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b&255);d=+(f&255)}else{o[c>>2]=d/255.0;e=+(b&255)/255.0;d=+(f&255)/255.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>8&255;f=h>>>16&255;g=h>>>24&255;d=+(h&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);o[c+8>>2]=+(f&255);o[c+12>>2]=+(g&255);h=1;return h|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;o[c+8>>2]=+(f&255)/255.0;o[c+12>>2]=+(g&255)/255.0;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Yc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=jq(sq(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;e=+(i[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?e:e/127.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8;b=(h&65535)>>>8&255;d=+((h&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<24>>24)}else{o[c>>2]=d/127.0;d=+(b<<24>>24)/127.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=i[h+1>>0]|0;b=i[h+2>>0]|0;d=+(i[h>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b<<24>>24);d=+(f<<24>>24)}else{o[c>>2]=d/127.0;e=+(b<<24>>24)/127.0;d=+(f<<24>>24)/127.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>8&255;f=h>>>16&255;g=h>>>24&255;d=+((h&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);o[c+8>>2]=+(f<<24>>24);o[c+12>>2]=+(g<<24>>24);h=1;return h|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;o[c+8>>2]=+(f<<24>>24)/127.0;o[c+12>>2]=+(g<<24>>24)/127.0;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Zc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0,j=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;f=a+48|0;b=k[f>>2]|0;f=k[f+4>>2]|0;h=a+40|0;f=(jq(sq(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+((l[f>>0]|l[f+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?e:e/65535.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=+(h&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&65535)}else{o[c>>2]=d/65535.0;d=+(b&65535)/65535.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+2|0;f=l[f>>0]|l[f+1>>0]<<8;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[h>>0]|l[h+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b&65535);d=+(f&65535)}else{o[c>>2]=d/65535.0;e=+(b&65535)/65535.0;d=+(f&65535)/65535.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{h=k[b>>2]|0;j=a+48|0;g=k[j>>2]|0;j=k[j+4>>2]|0;b=a+40|0;j=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,L|0,g|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;g=j;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=j+4|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;h=(i[a+32>>0]|0)==0;b=(kq(g|0,j|0,16)|0)&65535;f=j&65535;a=(kq(g|0,j|0,48)|0)&65535;d=+(g&65535);if(h){o[c>>2]=d;o[c+4>>2]=+(b&65535);o[c+8>>2]=+(f&65535);o[c+12>>2]=+(a&65535);j=1;return j|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;o[c+8>>2]=+(f&65535)/65535.0;o[c+12>>2]=+(a&65535)/65535.0;j=1;return j|0}}default:{j=0;return j|0}}return 0}function _c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0,j=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;f=a+48|0;b=k[f>>2]|0;f=k[f+4>>2]|0;h=a+40|0;f=(jq(sq(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+((l[f>>0]|l[f+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?e:e/32767.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=+((h&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<16>>16)}else{o[c>>2]=d/32767.0;d=+(b<<16>>16)/32767.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+2|0;f=l[f>>0]|l[f+1>>0]<<8;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[h>>0]|l[h+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b<<16>>16);d=+(f<<16>>16)}else{o[c>>2]=d/32767.0;e=+(b<<16>>16)/32767.0;d=+(f<<16>>16)/32767.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{h=k[b>>2]|0;j=a+48|0;g=k[j>>2]|0;j=k[j+4>>2]|0;b=a+40|0;j=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,L|0,g|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;g=j;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=j+4|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;h=(i[a+32>>0]|0)==0;b=(kq(g|0,j|0,16)|0)&65535;f=j&65535;a=(kq(g|0,j|0,48)|0)&65535;d=+((g&65535)<<16>>16);if(h){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);o[c+8>>2]=+(f<<16>>16);o[c+12>>2]=+(a<<16>>16);j=1;return j|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;o[c+8>>2]=+(f<<16>>16)/32767.0;o[c+12>>2]=+(a<<16>>16)/32767.0;j=1;return j|0}}default:{j=0;return j|0}}return 0}function $c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=(jq(sq(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?e:e*2.3283064365386963e-10;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,h|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;h=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b>>>0)}else{o[c>>2]=d*2.3283064365386963e-10;d=+(b>>>0)*2.3283064365386963e-10}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=h+8|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b>>>0);d=+(f>>>0)}else{o[c>>2]=d*2.3283064365386963e-10;e=+(b>>>0)*2.3283064365386963e-10;d=+(f>>>0)*2.3283064365386963e-10}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;f=h+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=h+12|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;d=+((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);o[c+8>>2]=+(f>>>0);o[c+12>>2]=+(g>>>0);h=1;return h|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;o[c+8>>2]=+(f>>>0)*2.3283064365386963e-10;o[c+12>>2]=+(g>>>0)*2.3283064365386963e-10;h=1;return h|0}}default:{h=0;return h|0}}return 0}function ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=(jq(sq(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?e:e*4.656612873077393e-10;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,h|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;h=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b|0)}else{o[c>>2]=d*4.656612873077393e-10;d=+(b|0)*4.656612873077393e-10}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=h+8|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b|0);d=+(f|0)}else{o[c>>2]=d*4.656612873077393e-10;e=+(b|0)*4.656612873077393e-10;d=+(f|0)*4.656612873077393e-10}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;f=h+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=h+12|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;d=+(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);o[c+8>>2]=+(f|0);o[c+12>>2]=+(g|0);h=1;return h|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;o[c+8>>2]=+(f|0)*4.656612873077393e-10;o[c+12>>2]=+(g|0)*4.656612873077393e-10;h=1;return h|0}}default:{h=0;return h|0}}return 0}function bd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+48|0;o=w+32|0;p=w+28|0;q=w+24|0;s=w+20|0;t=w+16|0;v=w;u=b+24|0;j=i[u>>0]|0;m=j<<24>>24;n=k[a+64>>2]|0;g=ha(n,m)|0;k[v>>2]=k[196];k[v+4>>2]=k[197];k[v+8>>2]=k[198];k[v+12>>2]=k[199];a=c+4|0;f=k[a>>2]|0;e=k[c>>2]|0;d=f-e>>2;if(g>>>0<=d>>>0){if(g>>>0>>0?(h=e+(g<<2)|0,(f|0)!=(h|0)):0)k[a>>2]=f+(~((f+-4-h|0)>>>2)<<2)}else pc(c,g-d|0);if((n|0)<=0){v=1;r=w;return v|0}h=b+84|0;l=b+68|0;a:do if(j<<24>>24>0){f=0;g=0;while(1){if(!(i[h>>0]|0))a=k[(k[l>>2]|0)+(g<<2)>>2]|0;else a=g;switch(i[u>>0]|0){case 1:{k[p>>2]=a;k[o>>2]=k[p>>2];a=Bc(b,o,v)|0;break}case 2:{k[q>>2]=a;k[o>>2]=k[q>>2];a=Ic(b,o,v)|0;break}case 3:{k[s>>2]=a;k[o>>2]=k[s>>2];a=Pc(b,o,v)|0;break}case 4:{k[t>>2]=a;k[o>>2]=k[t>>2];a=Wc(b,o,v)|0;break}default:break a}if(!a){a=0;d=29;break}a=k[c>>2]|0;d=f;e=0;while(1){k[a+(d<<2)>>2]=k[v+(e<<2)>>2];e=e+1|0;if((e|0)==(m|0))break;else d=d+1|0}g=g+1|0;if((g|0)>=(n|0)){a=1;d=29;break}else f=m+f|0}if((d|0)==29){r=w;return a|0}}else{d=0;while(1){if(!(i[h>>0]|0))a=k[(k[l>>2]|0)+(d<<2)>>2]|0;else a=d;switch(i[u>>0]|0){case 1:{k[p>>2]=a;k[o>>2]=k[p>>2];a=Bc(b,o,v)|0;break}case 2:{k[q>>2]=a;k[o>>2]=k[q>>2];a=Ic(b,o,v)|0;break}case 3:{k[s>>2]=a;k[o>>2]=k[s>>2];a=Pc(b,o,v)|0;break}case 4:{k[t>>2]=a;k[o>>2]=k[t>>2];a=Wc(b,o,v)|0;break}default:break a}if(!a){a=0;d=29;break}d=d+1|0;if((d|0)>=(n|0)){a=1;d=29;break}}if((d|0)==29){r=w;return a|0}}while(0);v=0;r=w;return v|0}function cd(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 dd(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;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)yp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Ip(i);return}function ed(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;f=k[a>>2]|0;j=f;b=f+((k[b>>2]|0)-j)|0;l=d-c|0;if((l|0)<=0){p=b;return p|0}o=a+8|0;h=k[o>>2]|0;p=a+4|0;m=k[p>>2]|0;e=m;if((l|0)<=(h-e|0)){g=e-b|0;if((l|0)>(g|0)){h=c+g|0;if((h|0)==(d|0))e=m;else{f=h;e=m;do{i[e>>0]=i[f>>0]|0;e=(k[p>>2]|0)+1|0;k[p>>2]=e;f=f+1|0}while((f|0)!=(d|0))}if((g|0)>0)d=h;else{p=b;return p|0}}else e=m;g=e-(b+l)|0;f=b+g|0;if(f>>>0>>0){h=e;do{i[h>>0]=i[f>>0]|0;f=f+1|0;h=(k[p>>2]|0)+1|0;k[p>>2]=h}while((f|0)!=(m|0))}mq(e+(0-g)|0,b|0,g|0)|0;if((d|0)==(c|0)){p=b;return p|0}else e=b;while(1){i[e>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(d|0))break;else e=e+1|0}return b|0}g=e-j+l|0;if((g|0)<0)yp(a);e=h-j|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?g:e;h=b;g=h-j|0;if(!e){l=0;j=0}else n=16}else{h=b;e=2147483647;g=h-j|0;n=16}if((n|0)==16){l=e;j=$p(e)|0}m=j+g|0;e=m;g=j+l|0;if((c|0)==(d|0))c=e;else{f=m;do{i[f>>0]=i[c>>0]|0;f=e+1|0;e=f;c=c+1|0}while((c|0)!=(d|0));c=e;f=k[a>>2]|0}n=h-f|0;j=m+(0-n)|0;lq(j|0,f|0,n|0)|0;n=(k[p>>2]|0)-h|0;l=c;lq(l|0,b|0,n|0)|0;b=k[a>>2]|0;k[a>>2]=j;k[p>>2]=l+n;k[o>>2]=g;if(!b){p=m;return p|0}Ip(b);p=m;return p|0}function fd(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 gd(a){a=a|0;var b=0,c=0,d=0,e=0;d=k[a>>2]|0;e=a+4|0;b=k[e>>2]|0;c=d;if((b|0)==(d|0))b=d;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[e>>2]=b}k[a+16>>2]=0;k[a+12>>2]=b;if(!d)return;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);Ip(d);return}function hd(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;m=n;if((c|0)==(n|0))d=n;else{d=c+(~((c+-4-m|0)>>>2)<<2)|0;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;q=k[d>>2]|0;d=k[d+4>>2]|0;r=b+16|0;e=r;f=k[e>>2]|0;e=k[e+4>>2]|0;g=jq(f|0,e|0,4,0)|0;h=L;if((d|0)<(h|0)|(d|0)==(h|0)&q>>>0>>0)j=0;else{j=(k[b>>2]|0)+f|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;f=r;k[f>>2]=g;k[f+4>>2]=h;f=g;e=h}h=j>>>2;g=c-m>>2;if(h>>>0<=g>>>0)if(h>>>0>>0?(p=n+(h<<2)|0,(c|0)!=(p|0)):0){k[o>>2]=c+(~((c+-4-p|0)>>>2)<<2);c=q}else c=q;else{id(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=jq(f|0,e|0,j|0,0)|0;p=L;if((d|0)<(p|0)|(d|0)==(p|0)&c>>>0>>0){a=k[a>>2]|0;k[t>>2]=a;k[s>>2]=0;return}lq(k[a>>2]|0,(k[b>>2]|0)+f|0,j|0)|0;q=r;q=jq(k[q>>2]|0,k[q+4>>2]|0,j|0,0)|0;b=r;k[b>>2]=q;k[b+4>>2]=L;a=k[a>>2]|0;k[t>>2]=a;k[s>>2]=0;return}function id(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;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)yp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;hq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;lq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Ip(j);return}function jd(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;k[a+24>>2]=0;k[a+28>>2]=0;return}function kd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f;e=d;k[e>>2]=0;k[e+4>>2]=0;ld(a,2,d);d=k[a+12>>2]|0;e=a+16|0;b=k[e>>2]|0;c=d;if((b|0)==(d|0))b=d;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[e>>2]=b}k[a+24>>2]=0;k[a+28>>2]=0;if(d|0){if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);Ip(d)}d=k[a>>2]|0;if(!d){r=f;return}b=a+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-8-d|0)>>>3)<<3);Ip(d);r=f;return}function ld(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;i=a+8|0;d=k[i>>2]|0;g=k[a>>2]|0;j=g;if(d-g>>3>>>0>=b>>>0){i=a+4|0;h=k[i>>2]|0;f=h-g>>3;g=f>>>0>>0;d=g?f:b;if(d|0){e=j;while(1){m=c;l=k[m+4>>2]|0;a=e;k[a>>2]=k[m>>2];k[a+4>>2]=l;d=d+-1|0;if(!d)break;else e=e+8|0}}if(g){e=b-f|0;d=e;f=h;while(1){b=c;l=k[b+4>>2]|0;m=f;k[m>>2]=k[b>>2];k[m+4>>2]=l;d=d+-1|0;if(!d)break;else f=f+8|0}k[i>>2]=h+(e<<3);return}else{d=j+(b<<3)|0;if((h|0)==(d|0))return;k[i>>2]=h+(~((h+-8-d|0)>>>3)<<3);return}}f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(j|0))k[d>>2]=e+(~((e+-8-g|0)>>>3)<<3);Ip(f);k[i>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(b>>>0>536870911)yp(a);d=d-0|0;if(d>>3>>>0<268435455){d=d>>2;d=d>>>0>>0?b:d;if(d>>>0>536870911)yp(a);else h=d}else h=536870911;f=$p(h<<3)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[i>>2]=f+(h<<3);d=b;e=f;while(1){j=c;l=k[j+4>>2]|0;m=e;k[m>>2]=k[j>>2];k[m+4>>2]=l;d=d+-1|0;if(!d)break;else e=e+8|0}k[g>>2]=f+(b<<3);return}function md(a){a=a|0;Fa(a|0)|0;Wp()}function nd(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e;c=b;k[c>>2]=0;k[c+4>>2]=0;ld(a,2,b);b=k[a+12>>2]|0;c=a+16|0;d=k[c>>2]|0;if((d|0)==(b|0)){d=a+24|0;k[d>>2]=0;a=a+28|0;k[a>>2]=0;r=e;return}k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);d=a+24|0;k[d>>2]=0;a=a+28|0;k[a>>2]=0;r=e;return}function od(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=k[a>>2]|0;if(b){e=c+8|0;c=e;c=jq(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;k[e>>2]=c;k[e+4>>2]=L;e=a+28|0;c=k[e>>2]|0;d=a+24|0;k[d>>2]=k[d>>2]|1<>2]|0,k[e+4>>2]|0,1,0)|0;k[c>>2]=e;k[c+4>>2]=L;c=a+28|0;e=c;c=k[c>>2]|0}d=c+1|0;k[e>>2]=d;if((d|0)!=32)return;c=a+24|0;b=a+16|0;d=k[b>>2]|0;if((d|0)==(k[a+20>>2]|0))dd(a+12|0,c);else{k[d>>2]=k[c>>2];k[b>>2]=d+4}k[e>>2]=0;k[c>>2]=0;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,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+32|0;s=y;t=y+24|0;q=y+28|0;w=y+8|0;o=y+20|0;v=k[a>>2]|0;x=v+8|0;c=k[v>>2]|0;v=k[v+4>>2]|0;x=jq(c|0,v|0,k[x>>2]|0,k[x+4>>2]|0)|0;m=L;m=jq((x|0)==0&(m|0)==0&1|0,0,x|0,m|0)|0;m=~~((+(c>>>0)+4294967296.0*+(v>>>0))/(+(m>>>0)+4294967296.0*+(L>>>0))*256.0+.5)>>>0;m=m>>>0<255?m:255;i[q>>0]=((m&255)<<24>>24==0&1)+m;m=a+12|0;v=a+16|0;c=((k[v>>2]|0)-(k[m>>2]|0)<<1)+64|0;k[w>>2]=0;x=w+4|0;k[x>>2]=0;k[w+8>>2]=0;if(!c)n=0;else{if((c|0)<0)yp(w);d=$p(c)|0;k[x>>2]=d;k[w>>2]=d;k[w+8>>2]=d+c;do{i[d>>0]=0;d=(k[x>>2]|0)+1|0;k[x>>2]=d;c=c+-1|0}while((c|0)!=0);n=k[w>>2]|0}p=a+28|0;c=(k[p>>2]|0)+-1|0;if((c|0)>-1){j=a+24|0;d=4096;e=0;do{h=i[q>>0]|0;f=256-(h&255)|0;g=(k[j>>2]&1<>>0>=h<<12>>>0){i[n+e>>0]=d;d=d>>>8;e=e+1|0}sq(k[800+(h<<3)>>2]|0,0,d|0,0)|0;d=d+(g?0:f&255)+(ha((L+d|0)>>>(k[800+(h<<3)+4>>2]|0),256-h|0)|0)|0;c=c+-1|0}while((c|0)>-1)}else{d=4096;e=0}c=k[v>>2]|0;if((c|0)==(k[m>>2]|0))f=d;else{do{c=c+-4|0;l=k[c>>2]|0;j=31;while(1){h=i[q>>0]|0;f=256-(h&255)|0;g=(1<>>0>=h<<12>>>0){i[n+e>>0]=d;d=d>>>8;e=e+1|0}sq(k[800+(h<<3)>>2]|0,0,d|0,0)|0;d=d+(g?0:f&255)+(ha((L+d|0)>>>(k[800+(h<<3)+4>>2]|0),256-h|0)|0)|0;if((j|0)>0)j=j+-1|0;else break}}while((c|0)!=(k[m>>2]|0));f=d}if(f>>>0<=4095)Aa(5456,5621,133,5477);if(f>>>0>=1048576)Aa(5491,5621,134,5477);d=f+-4096|0;do if(d>>>0>=64){c=n+e|0;if(d>>>0<16384){d=f+12288|0;i[c>>0]=d;i[c+1>>0]=d>>>8;d=e+2|0;break}else{d=f+8384512|0;i[c>>0]=d;i[c+1>>0]=d>>>8;i[c+2>>0]=d>>>16;d=e+3|0;break}}else{i[n+e>>0]=d;d=e+1|0}while(0);c=b+16|0;n=c;m=k[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(k[n>>2]|0)>>>0>0)){k[t>>2]=k[b+4>>2];k[s>>2]=k[t>>2];ed(b,s,q,q+1|0)|0;n=c;q=k[n>>2]|0;n=k[n+4>>2]|0;k[o>>2]=d;if(!((n|0)>0|(n|0)==0&q>>>0>0)){k[t>>2]=k[b+4>>2];k[s>>2]=k[t>>2];ed(b,s,o,o+4|0)|0;q=c;o=k[q+4>>2]|0;c=k[w>>2]|0;if(!((o|0)>0|(o|0)==0&(k[q>>2]|0)>>>0>0)){k[t>>2]=k[b+4>>2];k[s>>2]=k[t>>2];ed(b,s,c,c+d|0)|0}}else u=31}else{k[o>>2]=d;u=31}c=s;k[c>>2]=0;k[c+4>>2]=0;ld(a,2,s);c=k[a+12>>2]|0;d=k[v>>2]|0;if((d|0)!=(c|0))k[v>>2]=d+(~((d+-4-c|0)>>>2)<<2);k[a+24>>2]=0;k[p>>2]=0;c=k[w>>2]|0;if(!c){r=y;return}if((k[x>>2]|0)!=(c|0))k[x>>2]=c;Ip(c);r=y;return}function qd(a){a=a|0;i[a+12>>0]=0;return}function rd(a){a=a|0;return}function sd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;c=b+8|0;f=c;g=k[f>>2]|0;f=k[f+4>>2]|0;n=b+16|0;e=n;d=k[e>>2]|0;e=k[e+4>>2]|0;if((f|0)>(e|0)|(f|0)==(e|0)&g>>>0>d>>>0){i[a+12>>0]=i[(k[b>>2]|0)+d>>0]|0;h=n;h=jq(k[h>>2]|0,k[h+4>>2]|0,1,0)|0;j=L;g=n;k[g>>2]=h;k[g+4>>2]=j;g=c;c=k[g+4>>2]|0;g=k[g>>2]|0}else{h=d;j=e;c=f}e=jq(h|0,j|0,4,0)|0;d=L;b=k[b>>2]|0;f=b+h|0;if(!((c|0)<(d|0)|(c|0)==(d|0)&g>>>0>>0)){c=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;j=n;k[j>>2]=e;k[j+4>>2]=d;if((c|0)>=1){h=e;j=d;f=b+e|0;m=5}}else{c=0;m=5}a:do if((m|0)==5){k[a>>2]=f;d=c+-1|0;e=f+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[a+4>>2]=d;e=(l[e>>0]|0)&63;d=a+8|0;k[d>>2]=e;break}case 1:{if((c|0)<2){e=h;d=j;c=1;break a}k[a+4>>2]=c+-2;e=f+c+-2|0;e=(l[e+1>>0]|0)<<8&16128|(l[e>>0]|0);d=a+8|0;k[d>>2]=e;break}case 2:{if((c|0)<3){e=h;d=j;break a}k[a+4>>2]=c+-3;e=f+c+-3|0;e=(l[e+1>>0]|0)<<8|(l[e>>0]|0)|(l[e+2>>0]|0)<<16&4128768;d=a+8|0;k[d>>2]=e;break}default:{e=h;d=j;break a}}k[d>>2]=e+4096;e=h;d=j}while(0);m=jq(e|0,d|0,c|0,0)|0;k[n>>2]=m;k[n+4>>2]=L;return}function td(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;c=l[a+12>>0]|0;d=a+8|0;b=k[d>>2]|0;if(b>>>0<4096){f=a+4|0;e=(k[f>>2]|0)+-1|0;k[f>>2]=e;b=l[(k[a>>2]|0)+e>>0]|0|b<<8;k[d>>2]=b}a=b&255;c=0-c&255;e=ha(b>>>8,c)|0;f=a>>>0>>0;k[d>>2]=f?e+a|0:b-c-e|0;return f|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,i=0,j=0,m=0;if((b|0)>=33)Aa(10077,5436,146,10128);if((b|0)<=0)Aa(10141,5436,147,10128);f=a+8|0;g=a+4|0;h=0-(l[a+12>>0]|0)&255;e=b;d=k[f>>2]|0;b=0;do{if(d>>>0<4096){i=(k[g>>2]|0)+-1|0;k[g>>2]=i;d=l[(k[a>>2]|0)+i>>0]|0|d<<8;k[f>>2]=d}m=d&255;j=ha(d>>>8,h)|0;i=m>>>0>>0;d=i?j+m|0:d-h-j|0;k[f>>2]=d;b=i&1|b<<1;e=e+-1|0}while((e|0)!=0);k[c>>2]=b;return}function vd(a){a=a|0;p[a+16>>3]=.5;return}function wd(a){a=a|0;p[a+16>>3]=.5;return}function xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;p[a+16>>3]=.5;m=b+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;i=b+16|0;g=i;f=k[g>>2]|0;g=k[g+4>>2]|0;d=jq(f|0,g|0,4,0)|0;c=L;e=k[b>>2]|0;b=e+f|0;if(!((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0)){b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;m=i;k[m>>2]=d;k[m+4>>2]=c;if((b|0)>=1){e=e+d|0;f=d;g=c;h=3}}else{e=b;b=0;h=3}a:do if((h|0)==3){k[a>>2]=e;c=b+-1|0;d=e+c|0;switch((l[d>>0]|0)>>>6|0){case 0:{k[a+4>>2]=c;d=(l[d>>0]|0)&63;c=a+8|0;k[c>>2]=d;break}case 1:{if((b|0)<2){d=f;c=g;b=1;break a}k[a+4>>2]=b+-2;d=e+b+-2|0;d=(l[d+1>>0]|0)<<8&16128|(l[d>>0]|0);c=a+8|0;k[c>>2]=d;break}case 2:{if((b|0)<3){d=f;c=g;break a}k[a+4>>2]=b+-3;d=e+b+-3|0;d=(l[d+1>>0]|0)<<8|(l[d>>0]|0)|(l[d+2>>0]|0)<<16&4128768;c=a+8|0;k[c>>2]=d;break}default:{d=f;c=g;break a}}k[c>>2]=d+4096;d=f;c=g}while(0);j=jq(d|0,c|0,b|0,0)|0;m=i;k[m>>2]=j;k[m+4>>2]=L;return}function yd(a){a=a|0;var b=0,c=0,d=0.0,e=0,f=0,g=0,h=0,i=0;c=a+16|0;d=+p[c>>3];if(!(d<=1.0))Aa(5521,5534,22,5563);if(!(d>=0.0))Aa(5581,5534,23,5563);f=~~(d*256.0+.5)>>>0;g=(f|0)==256;e=a+8|0;b=k[e>>2]|0;if(b>>>0<4096){i=a+4|0;h=(k[i>>2]|0)+-1|0;k[i>>2]=h;b=l[(k[a>>2]|0)+h>>0]|0|b<<8;k[e>>2]=b}a=b&255;g=0-(f+(g<<31>>31)+((f|0)==(g&1|0)&1))&255;h=ha(b>>>8,g)|0;i=a>>>0>>0;k[e>>2]=i?h+a|0:b-g-h|0;p[c>>3]=d*.9921875+ +(i&1^1|0)*.0078125;return i|0}function zd(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 Ad(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;m=a+8|0;f=k[m>>2]|0;n=a+4|0;d=k[n>>2]|0;g=d;if(f-d>>2>>>0>=b>>>0){d=b;e=g;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[n>>2]=g+(b<<2);return}l=k[a>>2]|0;e=(d-l>>2)+b|0;if(e>>>0>1073741823)yp(a);d=f-l|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[n>>2]|0;e=f-l>>2;if(!d){i=0;d=0;h=f}else j=9}else{e=k[n>>2]|0;d=1073741823;f=e;e=e-l>>2;j=9}if((j|0)==9){i=d;d=$p(d<<2)|0;h=f}g=d+(e<<2)|0;e=d+(i<<2)|0;d=b;f=g;while(1){k[f>>2]=k[c>>2];d=d+-1|0;if(!d)break;else f=f+4|0}j=h-l|0;c=g+(0-(j>>2)<<2)|0;lq(c|0,l|0,j|0)|0;k[a>>2]=c;k[n>>2]=g+(b<<2);k[m>>2]=e;if(!l)return;Ip(l);return}function Bd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)yp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Ip(i);return}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,j=0,l=0;i=r;r=r+32|0;h=i+16|0;c=i+8|0;d=i;e=a+8|0;if(k[e>>2]<<5>>>0>=b>>>0){r=i;return}k[h>>2]=0;f=h+4|0;k[f>>2]=0;g=h+8|0;k[g>>2]=0;if((b|0)<0)yp(h);l=((b+-1|0)>>>5)+1|0;b=$p(l<<2)|0;k[h>>2]=b;k[f>>2]=0;k[g>>2]=l;l=k[a>>2]|0;k[c>>2]=l;k[c+4>>2]=0;b=a+4|0;j=k[b>>2]|0;k[d>>2]=l+(j>>>5<<2);k[d+4>>2]=j&31;Dd(h,c,d);c=k[a>>2]|0;k[a>>2]=k[h>>2];k[h>>2]=c;a=k[b>>2]|0;k[b>>2]=k[f>>2];k[f>>2]=a;a=k[e>>2]|0;k[e>>2]=k[g>>2];k[g>>2]=a;if(c|0)Ip(c);r=i;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=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+32|0;j=o+24|0;l=o+16|0;m=o+8|0;n=o;f=a+4|0;p=k[f>>2]|0;e=k[b>>2]|0;d=k[b+4>>2]|0;i=k[c>>2]|0;g=k[c+4>>2]|0;h=i-e<<3;k[f>>2]=p-d+g+h;f=(k[a>>2]|0)+(p>>>5<<2)|0;c=p&31;b=f;if((d|0)!=(c|0)){k[j>>2]=e;k[j+4>>2]=d;k[l>>2]=i;k[l+4>>2]=g;k[m>>2]=b;k[m+4>>2]=c;Ed(n,j,l,m);r=o;return}a=g-d+h|0;c=e;if((a|0)>0){if(!d){d=0;g=c;b=a}else{g=32-d|0;b=(a|0)<(g|0)?a:g;g=-1>>>(g-b|0)&-1<>2]=k[f>>2]&~g|k[c>>2]&g;d=b+d|0;g=c+4|0;f=f+(d>>>5<<2)|0;d=d&31;e=g;b=a-b|0}a=b>>>5;mq(f|0,e|0,a<<2|0)|0;c=b-(a<<5)|0;e=f+(a<<2)|0;b=e;if((c|0)>0){d=-1>>>(32-c|0);k[e>>2]=k[e>>2]&~d|k[g+(a<<2)>>2]&d;d=c}}k[n>>2]=b;k[n+4>>2]=d;r=o;return}function Ed(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;m=k[b>>2]|0;l=b+4|0;e=k[l>>2]|0;h=((k[c>>2]|0)-m<<3)+(k[c+4>>2]|0)-e|0;c=m;if((h|0)<=0){b=d+4|0;d=k[d>>2]|0;k[a>>2]=d;a=a+4|0;d=k[b>>2]|0;k[a>>2]=d;return}if(!e){e=d+4|0;j=e;e=k[e>>2]|0}else{j=32-e|0;m=(h|0)<(j|0)?h:j;c=-1>>>(j-m|0)&-1<>2];j=d+4|0;n=k[j>>2]|0;e=32-n|0;f=e>>>0>>0?e:m;g=k[d>>2]|0;n=k[g>>2]&~(-1>>>(e-f|0)&-1<>2]=n;e=k[j>>2]|0;i=k[l>>2]|0;k[g>>2]=n|(e>>>0>i>>>0?c<>>(i-e|0));e=(k[j>>2]|0)+f|0;g=g+(e>>>5<<2)|0;k[d>>2]=g;e=e&31;k[j>>2]=e;i=m-f|0;if((i|0)>0){e=k[g>>2]&~(-1>>>(32-i|0));k[g>>2]=e;k[g>>2]=e|c>>>((k[l>>2]|0)+f|0);k[j>>2]=i;e=i}c=(k[b>>2]|0)+4|0;k[b>>2]=c;h=h-m|0}i=32-e|0;f=-1<>>0>31){g=~f;e=h;do{n=k[c>>2]|0;c=k[d>>2]|0;m=k[c>>2]&g;k[c>>2]=m;k[c>>2]=m|n<>2];c=c+4|0;k[d>>2]=c;k[c>>2]=k[c>>2]&f|n>>>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|0)<=0){b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;a=k[b>>2]|0;k[n>>2]=a;return}f=k[c>>2]&-1>>>(32-h|0);g=(i|0)<(h|0)?i:h;e=k[d>>2]|0;c=k[e>>2]&~(-1<>2]&-1>>>(i-g|0));k[e>>2]=c;k[e>>2]=c|f<>2];c=(k[j>>2]|0)+g|0;e=e+(c>>>5<<2)|0;k[d>>2]=e;k[j>>2]=c&31;c=h-g|0;if((c|0)<=0){b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;a=k[b>>2]|0;k[n>>2]=a;return}k[e>>2]=k[e>>2]&~(-1>>>(32-c|0))|f>>>g;k[j>>2]=c;b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;a=k[b>>2]|0;k[n>>2]=a;return}function Fd(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}d=k[a>>2]|0;if(!d)return;b=a+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~(((c+-12-d|0)>>>0)/12|0)*12|0);Ip(d);return}function Gd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;Hd(a,b,2852);e=b*3|0;Id(a+12|0,e,2848);f=a+24|0;g=a+32|0;h=k[f>>2]|0;if((k[g>>2]|0)-h>>2>>>0>=e>>>0)return;d=a+28|0;c=(k[d>>2]|0)-h|0;a=c>>2;if(!b)b=0;else b=$p(b*12|0)|0;i=b+(a<<2)|0;j=i+(0-a<<2)|0;a=h;lq(j|0,a|0,c|0)|0;k[f>>2]=j;k[d>>2]=i;k[g>>2]=b+(e<<2);if(!h)return;Ip(a);return}function Hd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;i=a+8|0;d=k[i>>2]|0;g=k[a>>2]|0;m=g;if(((d-g|0)/12|0)>>>0>=b>>>0){l=a+4|0;j=k[l>>2]|0;f=(j-g|0)/12|0;g=f>>>0>>0;d=g?f:b;a=j;if(d|0){h=c+4|0;i=c+8|0;e=m;while(1){k[e>>2]=k[c>>2];k[e+4>>2]=k[h>>2];k[e+8>>2]=k[i>>2];d=d+-1|0;if(!d)break;else e=e+12|0}}if(g){d=b-f|0;b=j;do{k[b>>2]=k[c>>2];k[b+4>>2]=k[c+4>>2];k[b+8>>2]=k[c+8>>2];b=(k[l>>2]|0)+12|0;k[l>>2]=b;d=d+-1|0}while((d|0)!=0);return}b=m+(b*12|0)|0;if((a|0)==(b|0))return;k[l>>2]=a+(~(((a+-12-b|0)>>>0)/12|0)*12|0);return}f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(m|0))k[d>>2]=e+(~(((e+-12-g|0)>>>0)/12|0)*12|0);Ip(f);k[i>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}f=b>>>0>357913941;if(f)yp(a);d=(d-0|0)/12|0;if(d>>>0<178956970){e=d<<1;d=e>>>0>=b>>>0;if(d|f^1)h=d?e:b;else yp(a)}else h=357913941;d=$p(h*12|0)|0;e=a+4|0;k[e>>2]=d;k[a>>2]=d;k[i>>2]=d+(h*12|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[e>>2]|0)+12|0;k[e>>2]=d;b=b+-1|0}while((b|0)!=0);return}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;i=a+8|0;d=k[i>>2]|0;g=k[a>>2]|0;j=g;if(d-g>>2>>>0>=b>>>0){i=a+4|0;h=k[i>>2]|0;f=h-g>>2;g=f>>>0>>0;d=g?f:b;if(d|0){e=j;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(g){e=b-f|0;d=e;f=h;while(1){k[f>>2]=k[c>>2];d=d+-1|0;if(!d)break;else f=f+4|0}k[i>>2]=h+(e<<2);return}else{d=j+(b<<2)|0;if((h|0)==(d|0))return;k[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);return}}f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(j|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);Ip(f);k[i>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(b>>>0>1073741823)yp(a);d=d-0|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?b:d;if(d>>>0>1073741823)yp(a);else h=d}else h=1073741823;f=$p(h<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[i>>2]=f+(h<<2);d=b;e=f;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[g>>2]=f+(b<<2);return}function Jd(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 Kd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;if((a|0)<0){c=0;return c|0}if(!a){c=1;return c|0}h=c+8|0;j=k[h+4>>2]|0;g=c+16|0;f=g;e=k[f>>2]|0;f=k[f+4>>2]|0;if(!((j|0)>(f|0)|((j|0)==(f|0)?(k[h>>2]|0)>>>0>e>>>0:0))){j=0;return j|0}j=i[(k[c>>2]|0)+e>>0]|0;f=jq(e|0,f|0,1,0)|0;h=g;k[h>>2]=f;k[h+4>>2]=L;switch(j<<24>>24){case 0:{j=Ld(a,b,c,d)|0;return j|0}case 1:{j=Pd(a,c,d)|0;return j|0}default:{j=0;return j|0}}return 0}function Ld(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+64|0;E=F;e=E;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a:do if(Md(E,c)|0){C=c+8|0;D=k[C>>2]|0;C=k[C+4>>2]|0;o=c+16|0;g=o;e=k[g>>2]|0;g=k[g+4>>2]|0;f=jq(e|0,g|0,8,0)|0;h=L;m=k[c>>2]|0;if((C|0)<(h|0)|(C|0)==(h|0)&D>>>0>>0){n=0;j=0;f=g}else{j=m+e|0;n=j;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+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=o;k[e>>2]=f;k[e+4>>2]=h;e=f;f=h}g=m+e|0;C=jq(n|0,j|0,e|0,f|0)|0;D=o;k[D>>2]=C;k[D+4>>2]=L;b:do if((n|0)>=1){k[E+40>>2]=g;e=n+-1|0;f=g+e|0;switch((l[f>>0]|0)>>>6|0){case 0:{k[E+44>>2]=e;q=l[f>>0]&63;p=E+48|0;k[p>>2]=q;break}case 1:{if((n|0)<2)break b;k[E+44>>2]=n+-2;q=g+n+-2|0;q=l[q+1>>0]<<8&16128|l[q>>0];p=E+48|0;k[p>>2]=q;break}case 2:{if((n|0)<3)break b;k[E+44>>2]=n+-3;q=g+n+-3|0;q=l[q+1>>0]<<8|l[q>>0]|l[q+2>>0]<<16&4128768;p=E+48|0;k[p>>2]=q;break}case 3:{k[E+44>>2]=n+-4;q=g+n+-4|0;q=l[q+2>>0]<<16|l[q+3>>0]<<24&1056964608|l[q+1>>0]<<8|l[q>>0];p=E+48|0;k[p>>2]=q;break}default:{}}k[p>>2]=q+16384}while(0);Qg(c,0,0)|0;c:do if((a|0)>0){t=E+48|0;u=E+44|0;v=E+40|0;w=E+16|0;x=E+28|0;y=(b|0)>0;D=c+36|0;z=c+32|0;A=c+24|0;B=c+28|0;f=k[t>>2]|0;C=0;e=0;while(1){d:do if(f>>>0<16384){g=k[u>>2]|0;do{if((g|0)<=0)break d;g=g+-1|0;k[u>>2]=g;f=l[(k[v>>2]|0)+g>>0]|f<<8;k[t>>2]=f}while(f>>>0<16384)}while(0);p=f&4095;s=k[(k[w>>2]|0)+(p<<2)>>2]|0;q=k[x>>2]|0;f=(ha(k[q+(s<<3)>>2]|0,f>>>12)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[t>>2]=f;if(y){p=(s|0)>0;if((s|0)<=-1){e=31;break}if((s|0)<33){q=0;o=e}else{e=30;break}while(1){if(!(i[D>>0]|0)){j=0;break a}if(p){j=k[A>>2]|0;m=k[B>>2]|0;h=k[z>>2]|0;n=0;g=0;do{e=j+(h>>>3)|0;if(e>>>0>>0){e=(l[e>>0]|0)>>>(h&7)&1;h=h+1|0;k[z>>2]=h}else e=0;g=e<>2]=g;q=q+1|0;if((q|0)>=(b|0))break;else o=e}}C=C+b|0;if((C|0)>=(a|0))break c}if((e|0)==30){if(!(i[D>>0]|0)){j=0;break a}Aa(5701,5674,115,5693)}else if((e|0)==31){if(!(i[D>>0]|0)){j=0;break a}Aa(5659,5674,114,5693)}}while(0);Rg(c);j=1}else j=0;while(0);e=k[E+28>>2]|0;f=e;if(e|0){g=E+32|0;h=k[g>>2]|0;if((h|0)!=(e|0))k[g>>2]=h+(~((h+-8-f|0)>>>3)<<3);Ip(e)}e=k[E+16>>2]|0;f=e;if(e|0){g=E+20|0;h=k[g>>2]|0;if((h|0)!=(e|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);Ip(e)}g=k[E>>2]|0;if(!g){r=F;return j|0}e=E+4|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-g|0)>>>2)<<2);Ip(g);r=F;return j|0}function Md(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);Nd(a+16|0,d,c);r=1;return r|0}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,i=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=4096){if(f>>>0>4096?(e=g+16384|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else id(a,4096-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Od(d,c-f|0);if(!c)Aa(5594,5621,484,5634);f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if((h|0)==(c|0))break;else e=d}if((d|0)==4096)return;else Aa(5594,5621,484,5634)}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;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>3>>>0>=b>>>0){do{a=c;k[a>>2]=0;k[a+4>>2]=0;c=(k[i>>2]|0)+8|0;k[i>>2]=c;b=b+-1|0}while((b|0)!=0);return}f=k[a>>2]|0;e=(c-f>>3)+b|0;if(e>>>0>536870911)yp(a);c=d-f|0;if(c>>3>>>0<268435455){c=c>>2;c=c>>>0>>0?e:c;d=(k[i>>2]|0)-f>>3;if(!c){f=0;e=0;c=d}else g=9}else{c=536870911;d=(k[i>>2]|0)-f>>3;g=9}if((g|0)==9){f=c;e=$p(c<<3)|0;c=d}g=e+(c<<3)|0;e=e+(f<<3)|0;d=g;c=g;do{f=d;k[f>>2]=0;k[f+4>>2]=0;d=c+8|0;c=d;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;f=(k[i>>2]|0)-b|0;g=g+(0-(f>>3)<<3)|0;lq(g|0,b|0,f|0)|0;k[a>>2]=g;k[i>>2]=c;k[h>>2]=e;if(!b)return;Ip(b);return}function Pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=b+8|0;h=k[g+4>>2]|0;f=b+16|0;e=f;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((h|0)>(e|0)|((h|0)==(e|0)?(k[g>>2]|0)>>>0>d>>>0:0))){h=0;return h|0}h=i[(k[b>>2]|0)+d>>0]|0;e=jq(d|0,e|0,1,0)|0;g=f;k[g>>2]=e;k[g+4>>2]=L;do switch(h&255|0){case 1:{h=Qd(a,b,c)|0;return h|0}case 2:{h=Sd(a,b,c)|0;return h|0}case 3:{h=Ud(a,b,c)|0;return h|0}case 4:{h=Wd(a,b,c)|0;return h|0}case 5:{h=Yd(a,b,c)|0;return h|0}case 6:{h=Zd(a,b,c)|0;return h|0}case 7:{h=$d(a,b,c)|0;return h|0}case 8:{h=be(a,b,c)|0;return h|0}case 9:{h=de(a,b,c)|0;return h|0}case 10:{h=ge(a,b,c)|0;return h|0}case 11:{h=je(a,b,c)|0;return h|0}case 12:{h=me(a,b,c)|0;return h|0}case 13:{h=pe(a,b,c)|0;return h|0}case 14:{h=se(a,b,c)|0;return h|0}case 15:{h=ve(a,b,c)|0;return h|0}case 16:{h=xe(a,b,c)|0;return h|0}case 17:{h=ze(a,b,c)|0;return h|0}case 18:{h=Be(a,b,c)|0;return h|0}default:{h=0;return h|0}}while(0);return 0}function Qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(Rd(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+16384}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<16384)}while(0);e=d&4095;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>12)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function Rd(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;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);Nd(a+16|0,d,c);r=1;return r|0}function Sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(Td(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+16384}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<16384)}while(0);e=d&4095;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>12)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|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,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);Nd(a+16|0,d,c);r=1;return r|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,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(Vd(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+16384}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<16384)}while(0);e=d&4095;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>12)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function Vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);Nd(a+16|0,d,c);r=1;return r|0}function Wd(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;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(Xd(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+16384}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<16384)}while(0);e=d&4095;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>12)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|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,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);Nd(a+16|0,d,c);r=1;return r|0}function Yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(Md(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+16384}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<16384)}while(0);e=d&4095;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>12)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function Zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(_d(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+16384}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<16384)}while(0);e=d&4095;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>12)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function _d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);Nd(a+16|0,d,c);r=1;return r|0}function $d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(ae(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+16384}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<16384)}while(0);e=d&4095;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>12)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);Nd(a+16|0,d,c);r=1;return r|0}function be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(ce(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+16384}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<16384)}while(0);e=d&4095;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>12)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);Nd(a+16|0,d,c);r=1;return r|0}function de(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;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(ee(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+32768}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<32768){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<32768)}while(0);e=d&8191;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>13)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function ee(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);fe(a+16|0,d,c);r=1;return r|0}function fe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=8192){if(f>>>0>8192?(e=g+32768|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else id(a,8192-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Od(d,c-f|0);if(!c)Aa(5594,5621,484,5634);f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if((h|0)==(c|0))break;else e=d}if((d|0)==8192)return;else Aa(5594,5621,484,5634)}function ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(he(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+131072}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<131072){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<131072)}while(0);e=d&32767;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>15)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function he(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;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);ie(a+16|0,d,c);r=1;return r|0}function ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=32768){if(f>>>0>32768?(e=g+131072|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else id(a,32768-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Od(d,c-f|0);if(!c)Aa(5594,5621,484,5634);f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if((h|0)==(c|0))break;else e=d}if((d|0)==32768)return;else Aa(5594,5621,484,5634)}function je(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;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(ke(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+262144}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<262144){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<262144)}while(0);e=d&65535;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>16)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0} +function ii(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+16|0;y=A+4|0;z=A;k[a+72>>2]=e;k[a+64>>2]=f;x=a+68|0;w=bq(e>>>0>1073741823?-1:e<<2)|0;f=k[x>>2]|0;k[x>>2]=w;if(f|0)cq(f);w=a+8|0;k[w>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;i=1;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;v=1-g+f|0;k[a+20>>2]=v;f=(v|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(v&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Wg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=a+56|0;h=k[o>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;if((i|0)<=0){r=A;return 1}p=a+16|0;q=a+32|0;s=a+12|0;t=a+28|0;u=a+20|0;v=a+24|0;j=g;g=(i>>2)+-1|0;while(1){if(j-f>>2>>>0<=g>>>0){f=22;break}k[z>>2]=k[f+(g<<2)>>2];k[y>>2]=k[z>>2];ji(a,y,b,g);n=ha(g,e)|0;m=b+(n<<2)|0;l=k[x>>2]|0;if((k[w>>2]|0)>0){d=0;do{j=k[l+(d<<2)>>2]|0;f=k[p>>2]|0;do if((j|0)<=(f|0)){f=k[s>>2]|0;h=k[q>>2]|0;i=h+(d<<2)|0;if((j|0)<(f|0)){k[i>>2]=f;break}else{k[i>>2]=j;break}}else{h=k[q>>2]|0;k[h+(d<<2)>>2]=f}while(0);d=d+1|0;f=k[w>>2]|0}while((d|0)<(f|0));i=h;if((f|0)>0){h=0;do{k[c+(h+n<<2)>>2]=(k[m+(h<<2)>>2]|0)-(k[i+(h<<2)>>2]|0);h=h+1|0;f=k[w>>2]|0}while((h|0)<(f|0));if((f|0)>0){i=0;do{f=c+(i+n<<2)|0;h=k[f>>2]|0;if((h|0)>=(k[t>>2]|0)){if((h|0)>(k[v>>2]|0))k[f>>2]=h-(k[u>>2]|0)}else k[f>>2]=(k[u>>2]|0)+h;i=i+1|0}while((i|0)<(k[w>>2]|0))}}}g=g+-1|0;if((g|0)<=-1){f=19;break}h=k[o>>2]|0;f=k[h>>2]|0;j=k[h+4>>2]|0}if((f|0)==19){r=A;return 1}else if((f|0)==22)zp(h);return 0}function ji(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;i=a+48|0;e=k[b>>2]|0;do if((e|0)>=0){b=e+1|0;b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e|0)%3|0)){g=e+2|0;break}else{g=e+-1|0;break}}else{g=e;b=e}while(0);e=k[(k[i>>2]|0)+28>>2]|0;b=k[e+(b<<2)>>2]|0;e=k[e+(g<<2)>>2]|0;g=k[a+52>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)zp(g);n=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=e>>>0)zp(g);e=k[j+(e<<2)>>2]|0;b=(n|0)<(d|0);if(!(b&(e|0)<(d|0))){do if(b){i=a+72|0;g=k[i>>2]|0;b=g;g=ha(g,n)|0}else{if((d|0)>0){i=a+72|0;g=k[i>>2]|0;b=g;g=ha(g,d+-1|0)|0;break}g=a+72|0;if((k[g>>2]|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+g<<2)>>2];e=e+1|0}while((e|0)<(k[i>>2]|0));r=t;return}b=a+72|0;j=k[b>>2]|0;i=ha(j,n)|0;f=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);j=ha(j,e)|0;l=+(k[c+(j<<2)>>2]|0);m=+(k[c+(j+1<<2)>>2]|0);if(!(l!=f|m!=h)){a=k[a+68>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~m;r=t;return}ki(s,a,d);ki(p,a,n);ki(q,a,e);B=+o[p>>2];x=+o[q>>2]-B;A=+o[p+4>>2];w=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=x*x+0.0+w*w+y*y;u=(x*B+0.0+w*A+y*z)/v;x=B-x*u;w=A-w*u;y=z-y*u;v=+X(+((y*y+(w*w+(x*x+0.0)))/v));x=l-f;w=m-h;l=f+x*u;m=x*v;u=h+w*u;v=w*v;h=l-v;f=m+u;l=v+l;m=u-m;i=ha(k[b>>2]|0,d)|0;u=+(k[c+(i<<2)>>2]|0);v=+(k[c+(i+1<<2)>>2]|0);w=u-h;x=v-f;u=u-l;v=v-m;i=a+76|0;j=a+80|0;b=k[j>>2]|0;e=k[a+84>>2]|0;g=(b|0)==(e<<5|0);if(x*x+(w*w+0.0)>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Cd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31)}else{if(g){if((b+1|0)<0)yp(i);if(e<<5>>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Cd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(b&31));h=l;f=m}c=~~+V(+(h+.5));a=k[a+68>>2]|0;k[a>>2]=c;c=~~+V(+(f+.5));k[a+4>>2]=c;r=t;return}function ki(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+64>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+60>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];Bc(b,d,a)|0;r=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];Ic(b,d,a)|0;r=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];Pc(b,d,a)|0;r=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];Wc(b,d,a)|0;r=j;return}default:{r=j;return}}}function li(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+16|0;w=y+4|0;x=y;k[a+72>>2]=e;k[a+64>>2]=f;v=a+68|0;u=bq(e>>>0>1073741823?-1:e<<2)|0;d=k[v>>2]|0;k[v>>2]=u;if(d|0)cq(d);u=a+8|0;k[u>>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 Wg(d,e-g|0);o=a+56|0;t=k[o>>2]|0;d=k[t>>2]|0;if((k[t+4>>2]|0)==(d|0)){r=y;return 1}p=a+16|0;q=a+32|0;s=a+12|0;t=a+20|0;n=0;do{k[x>>2]=k[d+(n<<2)>>2];k[w>>2]=k[x>>2];mi(a,w,c,n);l=ha(n,e)|0;i=k[v>>2]|0;m=c+(l<<2)|0;if((k[u>>2]|0)>0){j=0;do{h=k[i+(j<<2)>>2]|0;d=k[p>>2]|0;do if((h|0)<=(d|0)){d=k[s>>2]|0;f=k[q>>2]|0;g=f+(j<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[q>>2]|0;k[f+(j<<2)>>2]=d}while(0);j=j+1|0;d=k[u>>2]|0}while((j|0)<(d|0));g=f;if((d|0)>0){f=0;do{k[m+(f<<2)>>2]=(k[b+(f+l<<2)>>2]|0)+(k[g+(f<<2)>>2]|0);f=f+1|0;d=k[u>>2]|0}while((f|0)<(d|0));if((d|0)>0){g=0;do{d=m+(g<<2)|0;f=k[d>>2]|0;if((f|0)<=(k[p>>2]|0)){if((f|0)<(k[s>>2]|0))k[d>>2]=(k[t>>2]|0)+f}else k[d>>2]=f-(k[t>>2]|0);g=g+1|0}while((g|0)<(k[u>>2]|0))}}}n=n+1|0;m=k[o>>2]|0;d=k[m>>2]|0}while(n>>>0<(k[m+4>>2]|0)-d>>2>>>0);r=y;return 1}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.0,i=0,j=0.0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;g=a+48|0;e=k[b>>2]|0;do if((e|0)>=0){b=e+1|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);e=k[(k[g>>2]|0)+28>>2]|0;b=k[e+(b<<2)>>2]|0;e=k[e+(f<<2)>>2]|0;f=k[a+52>>2]|0;g=k[f+4>>2]|0;i=k[f>>2]|0;if(g-i>>2>>>0<=b>>>0)zp(f);n=k[i+(b<<2)>>2]|0;if(g-i>>2>>>0<=e>>>0)zp(f);e=k[i+(e<<2)>>2]|0;b=(n|0)<(d|0);if(b&(e|0)<(d|0)){i=k[a+72>>2]|0;g=ha(i,n)|0;j=+(k[c+(g<<2)>>2]|0);l=+(k[c+(g+1<<2)>>2]|0);i=ha(i,e)|0;m=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);if(m!=j|h!=l){ki(s,a,d);ki(p,a,n);ki(q,a,e);B=+o[p>>2];w=+o[q>>2]-B;A=+o[p+4>>2];x=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=w*w+0.0+x*x+y*y;u=(w*B+0.0+x*A+y*z)/v;w=B-w*u;x=A-x*u;y=z-y*u;v=+X(+((y*y+(x*x+(w*w+0.0)))/v));w=m-j;h=h-l;m=w*v;v=h*v;d=a+80|0;s=(k[d>>2]|0)+-1|0;c=(1<<(s&31)&k[(k[a+76>>2]|0)+(s>>>5<<2)>>2]|0)==0;k[d>>2]=s;d=~~+V(+(j+w*u+(c?v:-v)+.5));a=k[a+68>>2]|0;k[a>>2]=d;c=~~+V(+(l+h*u+(c?-m:m)+.5));k[a+4>>2]=c;r=t;return}else{a=k[a+68>>2]|0;k[a>>2]=~~m;k[a+4>>2]=~~h;r=t;return}}do if(b){g=a+72|0;f=k[g>>2]|0;b=f;f=ha(f,n)|0}else{if((d|0)>0){g=a+72|0;f=k[g>>2]|0;b=f;f=ha(f,d+-1|0)|0;break}f=a+72|0;if((k[f>>2]|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[f>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+f<<2)>>2];e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}function ni(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;switch(a|0){case 1:{a=$p(60)|0;k[a>>2]=3168;k[a+4>>2]=b;k[a+8>>2]=k[c>>2];b=a+12|0;e=c+4|0;k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];Ph(a+32|0,c+24|0);c=a+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[a>>2]=3424;c=a;return c|0}case 2:{e=$p(60)|0;k[e>>2]=3168;k[e+4>>2]=b;k[e+8>>2]=k[c>>2];a=e+12|0;b=c+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[a+16>>2]=k[b+16>>2];Ph(e+32|0,c+24|0);c=e+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[e>>2]=3488;return e|0}case 3:{e=$p(88)|0;k[e>>2]=3168;k[e+4>>2]=b;k[e+8>>2]=k[c>>2];a=e+12|0;b=c+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[a+16>>2]=k[b+16>>2];Ph(e+32|0,c+24|0);c=e+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[e>>2]=3552;c=e+60|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;k[c+24>>2]=0;return e|0}default:{e=0;return e|0}}return 0}function oi(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Ip(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);Ip(b);Ip(a);return}function pi(a){a=a|0;return 1}function qi(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 ri(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=a+8|0;k[G>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;i=1;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;E=1-g+f|0;k[a+20>>2]=E;f=(E|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(E&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Wg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=e>>>0>1073741823?-1:e<<2;E=bq(o)|0;hq(E|0,0,o|0)|0;o=k[a+48>>2]|0;p=a+56|0;h=k[p>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;a:do if((i|0)>4){q=k[a+52>>2]|0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=o+12|0;y=(e|0)>0;m=i>>2;while(1){n=m+-1|0;if(g-f>>2>>>0<=n>>>0)break;f=k[f+(n<<2)>>2]|0;if((f|0)>=0?(z=k[(k[x>>2]|0)+(f<<2)>>2]|0,(z|0)>-1):0){h=k[o>>2]|0;g=(z|0)%3|0;i=k[q>>2]|0;l=k[i+(k[h+(((z|0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;f=z+1|0;f=((f|0)%3|0|0)==0?z+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;j=k[i+(f<<2)>>2]|0;f=((g|0)==0?2:-1)+z|0;if((f|0)<0)f=-1073741824;else f=k[h+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;d=ha(n,e)|0;if((l|0)<(n|0)&(j|0)<(n|0)&(f|0)<(n|0)){i=ha(l,e)|0;h=ha(j,e)|0;f=ha(f,e)|0;if(y){g=0;do{k[E+(g<<2)>>2]=(k[b+(g+f<<2)>>2]|0)+(k[b+(g+h<<2)>>2]|0)-(k[b+(g+i<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}l=b+(d<<2)|0;if((k[G>>2]|0)>0){j=0;do{i=k[E+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[s>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[G>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+d<<2)>>2]=(k[l+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[G>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+d<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[u>>2]|0)){if((g|0)>(k[w>>2]|0))k[f>>2]=g-(k[v>>2]|0)}else k[f>>2]=(k[v>>2]|0)+g;h=h+1|0}while((h|0)<(k[G>>2]|0))}}}}else{B=d;D=30}}else{B=ha(n,e)|0;D=30}if((D|0)==30?(D=0,A=b+(B<<2)|0,C=b+((ha(m+-2|0,e)|0)<<2)|0,(k[G>>2]|0)>0):0){j=0;do{i=k[C+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[s>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[G>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+B<<2)>>2]=(k[A+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[G>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+B<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[u>>2]|0)){if((g|0)>(k[w>>2]|0))k[f>>2]=g-(k[v>>2]|0)}else k[f>>2]=(k[v>>2]|0)+g;h=h+1|0}while((h|0)<(k[G>>2]|0))}}}if((n|0)<=1){F=E;break a}h=k[p>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0;m=n}zp(h)}else F=E;while(0);if((e|0)>0)hq(E|0,0,e<<2|0)|0;if((k[G>>2]|0)<=0){cq(E);return 1}j=a+16|0;l=a+32|0;d=a+12|0;m=0;do{i=k[F+(m<<2)>>2]|0;f=k[j>>2]|0;do if((i|0)<=(f|0)){f=k[d>>2]|0;h=k[l>>2]|0;g=h+(m<<2)|0;if((i|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=i;break}}else{h=k[l>>2]|0;k[h+(m<<2)>>2]=f}while(0);m=m+1|0;f=k[G>>2]|0}while((m|0)<(f|0));if((f|0)>0)g=0;else{cq(E);return 1}do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)-(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[G>>2]|0}while((g|0)<(f|0));if((f|0)<=0){cq(E);return 1}j=a+28|0;l=a+20|0;f=a+24|0;i=0;do{g=c+(i<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[j>>2]|0)){if((h|0)>(k[f>>2]|0))k[g>>2]=h-(k[l>>2]|0)}else k[g>>2]=(k[l>>2]|0)+h;i=i+1|0}while((i|0)<(k[G>>2]|0));cq(E);return 1}function si(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;y=a+8|0;k[y>>2]=e;f=a+32|0;d=a+36|0;i=k[d>>2]|0;h=k[f>>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[d>>2]=i+(~((i+-4-j|0)>>>2)<<2);f=e}else f=e;else{Wg(f,e-g|0);f=k[y>>2]|0}v=k[a+48>>2]|0;w=k[a+52>>2]|0;u=e>>>0>1073741823?-1:e<<2;x=bq(u)|0;hq(x|0,0,u|0)|0;if((f|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{h=k[x+(j<<2)>>2]|0;f=k[l>>2]|0;do if((h|0)<=(f|0)){f=k[m>>2]|0;d=k[i>>2]|0;g=d+(j<<2)|0;if((h|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=h;break}}else{d=k[i>>2]|0;k[d+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[y>>2]|0}while((j|0)<(f|0));g=d;if((f|0)>0){d=0;do{k[c+(d<<2)>>2]=(k[b+(d<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[y>>2]|0}while((d|0)<(f|0));if((f|0)>0){g=a+20|0;h=0;do{f=c+(h<<2)|0;d=k[f>>2]|0;if((d|0)<=(k[l>>2]|0)){if((d|0)<(k[m>>2]|0))k[f>>2]=(k[g>>2]|0)+d}else k[f>>2]=d-(k[g>>2]|0);h=h+1|0;f=k[y>>2]|0}while((h|0)<(f|0))}}}r=k[a+56>>2]|0;d=k[r>>2]|0;r=(k[r+4>>2]|0)-d>>2;if(r>>>0<=1){cq(x);return 1}s=a+16|0;t=a+32|0;u=a+12|0;o=a+20|0;p=v+12|0;q=(e|0)>0;n=1;do{g=k[d+(n<<2)>>2]|0;if((g|0)>=0?(z=k[(k[p>>2]|0)+(g<<2)>>2]|0,(z|0)>-1):0){i=k[v>>2]|0;h=(z|0)%3|0;j=k[w>>2]|0;m=k[j+(k[i+(((z|0)/3|0)*12|0)+(h<<2)>>2]<<2)>>2]|0;g=z+1|0;g=((g|0)%3|0|0)==0?z+-2|0:g;if((g|0)<0)g=-1073741824;else g=k[i+(((g|0)/3|0)*12|0)+(((g|0)%3|0)<<2)>>2]|0;l=k[j+(g<<2)>>2]|0;g=((h|0)==0?2:-1)+z|0;if((g|0)<0)g=-1073741824;else g=k[i+(((g|0)/3|0)*12|0)+(((g|0)%3|0)<<2)>>2]|0;g=k[j+(g<<2)>>2]|0;a=ha(n,e)|0;if((m|0)<(n|0)&(l|0)<(n|0)&(g|0)<(n|0)){j=ha(m,e)|0;i=ha(l,e)|0;g=ha(g,e)|0;if(q){h=0;do{k[x+(h<<2)>>2]=(k[c+(h+g<<2)>>2]|0)+(k[c+(h+i<<2)>>2]|0)-(k[c+(h+j<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}l=c+(a<<2)|0;if((f|0)>0){j=0;do{i=k[x+(j<<2)>>2]|0;f=k[s>>2]|0;do if((i|0)<=(f|0)){f=k[u>>2]|0;g=k[t>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[t>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[y>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[l+(h<<2)>>2]=(k[b+(h+a<<2)>>2]|0)+(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[y>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=l+(h<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[s>>2]|0)){if((g|0)<(k[u>>2]|0))k[f>>2]=(k[o>>2]|0)+g}else k[f>>2]=g-(k[o>>2]|0);h=h+1|0;f=k[y>>2]|0}while((h|0)<(f|0))}}}}else{m=a;A=34}}else{m=ha(n,e)|0;A=34}if((A|0)==34){A=0;l=c+((ha(n+-1|0,e)|0)<<2)|0;a=c+(m<<2)|0;if((f|0)>0){j=0;do{i=k[l+(j<<2)>>2]|0;f=k[s>>2]|0;do if((i|0)<=(f|0)){f=k[u>>2]|0;g=k[t>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[t>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[y>>2]|0}while((j|0)<(f|0));h=g;if((f|0)>0){g=0;do{k[a+(g<<2)>>2]=(k[b+(g+m<<2)>>2]|0)+(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[y>>2]|0}while((g|0)<(f|0));if((f|0)>0){h=0;do{f=a+(h<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[s>>2]|0)){if((g|0)<(k[u>>2]|0))k[f>>2]=(k[o>>2]|0)+g}else k[f>>2]=g-(k[o>>2]|0);h=h+1|0;f=k[y>>2]|0}while((h|0)<(f|0))}}}}n=n+1|0}while(n>>>0>>0);cq(x);return 1}function ti(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Ip(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);Ip(b);Ip(a);return}function ui(a){a=a|0;return 2}function vi(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 wi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=a+8|0;k[K>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;i=1;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;I=1-g+f|0;k[a+20>>2]=I;f=(I|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(I&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Wg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);s=k[a+48>>2]|0;t=k[a+52>>2]|0;u=e>>>0>1073741823?-1:e<<2;I=bq(u)|0;hq(I|0,0,u|0)|0;u=a+56|0;h=k[u>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;a:do if((i|0)>4){v=(e|0)>0;w=a+16|0;x=a+32|0;y=a+12|0;z=a+28|0;A=a+20|0;B=a+24|0;C=s+12|0;D=e<<2;q=i>>2;while(1){r=q+-1|0;if(g-f>>2>>>0<=r>>>0)break;p=k[f+(r<<2)>>2]|0;if(v)hq(I|0,0,D|0)|0;if((p|0)>-1){o=k[C>>2]|0;n=p;g=0;do{h=k[o+(n<<2)>>2]|0;if((h|0)>-1){j=k[s>>2]|0;i=(h|0)%3|0;l=k[t>>2]|0;m=k[l+(k[j+(((h|0)/3|0)*12|0)+(i<<2)>>2]<<2)>>2]|0;f=h+1|0;f=((f|0)%3|0|0)==0?h+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[j+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;d=k[l+(f<<2)>>2]|0;f=((i|0)==0?2:-1)+h|0;if((f|0)<0)f=-1073741824;else f=k[j+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;f=k[l+(f<<2)>>2]|0;if((m|0)<(r|0)&(d|0)<(r|0)&(f|0)<(r|0)){j=ha(m,e)|0;i=ha(d,e)|0;f=ha(f,e)|0;if(v){h=0;do{m=I+(h<<2)|0;k[m>>2]=(k[b+(h+f<<2)>>2]|0)+(k[b+(h+i<<2)>>2]|0)-(k[b+(h+j<<2)>>2]|0)+(k[m>>2]|0);h=h+1|0}while((h|0)!=(e|0))}g=g+1|0}}f=(((n|0)%3|0|0)==0?2:-1)+n|0;do if((f|0)>=0){f=k[o+(f<<2)>>2]|0;if((f|0)>=0)if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);n=(f|0)==(p|0)?-1073741824:f}while((n|0)>-1);d=ha(r,e)|0;if(g){if(v){f=0;do{p=I+(f<<2)|0;k[p>>2]=(k[p>>2]|0)/(g|0)|0;f=f+1|0}while((f|0)!=(e|0))}l=b+(d<<2)|0;if((k[K>>2]|0)>0){j=0;do{i=k[I+(j<<2)>>2]|0;f=k[w>>2]|0;do if((i|0)<=(f|0)){f=k[y>>2]|0;g=k[x>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[x>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[K>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+d<<2)>>2]=(k[l+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[K>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+d<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[z>>2]|0)){if((g|0)>(k[B>>2]|0))k[f>>2]=g-(k[A>>2]|0)}else k[f>>2]=(k[A>>2]|0)+g;h=h+1|0}while((h|0)<(k[K>>2]|0))}}}}else{F=d;H=44}}else{F=ha(r,e)|0;H=44}if((H|0)==44?(H=0,E=b+(F<<2)|0,G=b+((ha(q+-2|0,e)|0)<<2)|0,(k[K>>2]|0)>0):0){j=0;do{i=k[G+(j<<2)>>2]|0;f=k[w>>2]|0;do if((i|0)<=(f|0)){f=k[y>>2]|0;g=k[x>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[x>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[K>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+F<<2)>>2]=(k[E+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[K>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+F<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[z>>2]|0)){if((g|0)>(k[B>>2]|0))k[f>>2]=g-(k[A>>2]|0)}else k[f>>2]=(k[A>>2]|0)+g;h=h+1|0}while((h|0)<(k[K>>2]|0))}}}if((r|0)<=1){J=I;break a}h=k[u>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0;q=r}zp(h)}else J=I;while(0);if((e|0)>0)hq(I|0,0,e<<2|0)|0;if((k[K>>2]|0)<=0){cq(I);return 1}j=a+16|0;l=a+32|0;d=a+12|0;m=0;do{i=k[J+(m<<2)>>2]|0;f=k[j>>2]|0;do if((i|0)<=(f|0)){f=k[d>>2]|0;h=k[l>>2]|0;g=h+(m<<2)|0;if((i|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=i;break}}else{h=k[l>>2]|0;k[h+(m<<2)>>2]=f}while(0);m=m+1|0;f=k[K>>2]|0}while((m|0)<(f|0));if((f|0)>0)g=0;else{cq(I);return 1}do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)-(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[K>>2]|0}while((g|0)<(f|0));if((f|0)<=0){cq(I);return 1}j=a+28|0;l=a+20|0;f=a+24|0;i=0;do{g=c+(i<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[j>>2]|0)){if((h|0)>(k[f>>2]|0))k[g>>2]=h-(k[l>>2]|0)}else k[g>>2]=(k[l>>2]|0)+h;i=i+1|0}while((i|0)<(k[K>>2]|0));cq(I);return 1}function xi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;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;D=a+8|0;k[D>>2]=e;f=a+32|0;d=a+36|0;i=k[d>>2]|0;h=k[f>>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[d>>2]=i+(~((i+-4-j|0)>>>2)<<2);f=e}else f=e;else{Wg(f,e-g|0);f=k[D>>2]|0}B=e>>>0>1073741823?-1:e<<2;C=bq(B)|0;hq(C|0,0,B|0)|0;if((f|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{h=k[C+(j<<2)>>2]|0;f=k[l>>2]|0;do if((h|0)<=(f|0)){f=k[m>>2]|0;d=k[i>>2]|0;g=d+(j<<2)|0;if((h|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=h;break}}else{d=k[i>>2]|0;k[d+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[D>>2]|0}while((j|0)<(f|0));g=d;if((f|0)>0){d=0;do{k[c+(d<<2)>>2]=(k[b+(d<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[D>>2]|0}while((d|0)<(f|0));if((f|0)>0){g=a+20|0;h=0;do{f=c+(h<<2)|0;d=k[f>>2]|0;if((d|0)<=(k[l>>2]|0)){if((d|0)<(k[m>>2]|0))k[f>>2]=(k[g>>2]|0)+d}else k[f>>2]=d-(k[g>>2]|0);h=h+1|0;f=k[D>>2]|0}while((h|0)<(f|0))}}}u=k[a+48>>2]|0;v=k[a+56>>2]|0;w=v+4|0;d=k[v>>2]|0;if((k[w>>2]|0)-d>>2>>>0<=1){cq(C);return 1}x=k[a+52>>2]|0;y=(e|0)>0;z=a+16|0;A=a+32|0;B=a+12|0;r=a+20|0;s=u+12|0;t=e<<2;q=1;do{p=k[d+(q<<2)>>2]|0;if(y)hq(C|0,0,t|0)|0;if((p|0)>-1){o=k[s>>2]|0;n=p;g=0;do{h=k[o+(n<<2)>>2]|0;if((h|0)>-1){j=k[u>>2]|0;i=(h|0)%3|0;m=k[x>>2]|0;a=k[m+(k[j+(((h|0)/3|0)*12|0)+(i<<2)>>2]<<2)>>2]|0;d=h+1|0;d=((d|0)%3|0|0)==0?h+-2|0:d;if((d|0)<0)d=-1073741824;else d=k[j+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;l=k[m+(d<<2)>>2]|0;d=((i|0)==0?2:-1)+h|0;if((d|0)<0)d=-1073741824;else d=k[j+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;d=k[m+(d<<2)>>2]|0;if((a|0)<(q|0)&(l|0)<(q|0)&(d|0)<(q|0)){j=ha(a,e)|0;i=ha(l,e)|0;d=ha(d,e)|0;if(y){h=0;do{a=C+(h<<2)|0;k[a>>2]=(k[c+(h+d<<2)>>2]|0)+(k[c+(h+i<<2)>>2]|0)-(k[c+(h+j<<2)>>2]|0)+(k[a>>2]|0);h=h+1|0}while((h|0)!=(e|0))}g=g+1|0}}d=(((n|0)%3|0|0)==0?2:-1)+n|0;do if((d|0)>=0){d=k[o+(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);n=(d|0)==(p|0)?-1073741824:d}while((n|0)>-1);l=ha(q,e)|0;if(g){if(y){d=0;do{p=C+(d<<2)|0;k[p>>2]=(k[p>>2]|0)/(g|0)|0;d=d+1|0}while((d|0)!=(e|0))}j=c+(l<<2)|0;if((f|0)>0){i=0;do{h=k[C+(i<<2)>>2]|0;f=k[z>>2]|0;do if((h|0)<=(f|0)){f=k[B>>2]|0;d=k[A>>2]|0;g=d+(i<<2)|0;if((h|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=h;break}}else{d=k[A>>2]|0;k[d+(i<<2)>>2]=f}while(0);i=i+1|0;f=k[D>>2]|0}while((i|0)<(f|0));if((f|0)>0){g=0;do{k[j+(g<<2)>>2]=(k[b+(g+l<<2)>>2]|0)+(k[d+(g<<2)>>2]|0);g=g+1|0;f=k[D>>2]|0}while((g|0)<(f|0));if((f|0)>0){g=0;do{f=j+(g<<2)|0;d=k[f>>2]|0;if((d|0)<=(k[z>>2]|0)){if((d|0)<(k[B>>2]|0))k[f>>2]=(k[r>>2]|0)+d}else k[f>>2]=d-(k[r>>2]|0);g=g+1|0;f=k[D>>2]|0}while((g|0)<(f|0))}}}}else E=48}else{l=ha(q,e)|0;E=48}if((E|0)==48){E=0;j=c+((ha(q+-1|0,e)|0)<<2)|0;m=c+(l<<2)|0;if((f|0)>0){i=0;do{h=k[j+(i<<2)>>2]|0;f=k[z>>2]|0;do if((h|0)<=(f|0)){f=k[B>>2]|0;d=k[A>>2]|0;g=d+(i<<2)|0;if((h|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=h;break}}else{d=k[A>>2]|0;k[d+(i<<2)>>2]=f}while(0);i=i+1|0;f=k[D>>2]|0}while((i|0)<(f|0));g=d;if((f|0)>0){d=0;do{k[m+(d<<2)>>2]=(k[b+(d+l<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[D>>2]|0}while((d|0)<(f|0));if((f|0)>0){g=0;do{f=m+(g<<2)|0;d=k[f>>2]|0;if((d|0)<=(k[z>>2]|0)){if((d|0)<(k[B>>2]|0))k[f>>2]=(k[r>>2]|0)+d}else k[f>>2]=d-(k[r>>2]|0);g=g+1|0;f=k[D>>2]|0}while((g|0)<(f|0))}}}}q=q+1|0;d=k[v>>2]|0}while(q>>>0<(k[w>>2]|0)-d>>2>>>0);cq(C);return 1}function yi(a){a=a|0;var b=0,c=0;k[a>>2]=3552;b=k[a+76>>2]|0;if(b|0)Ip(b);c=a+68|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)cq(b);k[a>>2]=3168;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Ip(c);return}function zi(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3552;b=k[a+76>>2]|0;if(b|0)Ip(b);d=a+68|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)cq(b);k[a>>2]=3168;d=k[a+32>>2]|0;if(!d){Ip(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);Ip(d);Ip(a);return}function Ai(a){a=a|0;return 3}function Bi(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 Ci(a){a=a|0;return 1}function Di(a,b){a=a|0;b=b|0;if(!b)return 0;else Aa(8735,8746,75,8826);return 0}function Ei(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){a=0;return a|0}if((i[b+24>>0]|0)!=3){a=0;return a|0}k[a+60>>2]=b;a=1;return a|0}function Fi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n+40|0;l=n+36|0;c=n+32|0;m=n;d=a+80|0;k[c>>2]=k[d>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0)){k[l>>2]=k[b+4>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0}jd(m);nd(m);c=k[a+76>>2]|0;g=k[d>>2]|0;f=g>>>5;h=c+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){f=c;c=1;while(1){if(d){e=0;d=c;while(1){c=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){kd(m);r=n;return 1}d=b+4|0;k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0;h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){kd(m);r=n;return 1}k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0;kd(m);r=n;return 1}function Gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+16|0;p=q;j=b+8|0;g=j;h=k[g>>2]|0;g=k[g+4>>2]|0;o=b+16|0;d=o;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){p=0;r=q;return p|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=o;k[g>>2]=d;k[g+4>>2]=e;e=a+76|0;hi(e,h,0);qd(p);sd(p,b);if((h|0)>0){f=0;g=1;do{g=g^((td(p)|0)^1);d=(k[e>>2]|0)+(f>>>5<<2)|0;c=1<<(f&31);if(g)c=k[d>>2]|c;else c=k[d>>2]&~c;k[d>>2]=c;f=f+1|0}while((f|0)<(h|0))}e=j;g=k[e>>2]|0;e=k[e+4>>2]|0;h=o;c=k[h>>2]|0;h=jq(c|0,k[h+4>>2]|0,4,0)|0;f=L;if(!((e|0)<(f|0)|(e|0)==(f|0)&g>>>0>>0)?(g=a+12|0,m=(k[b>>2]|0)+c|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,i[g>>0]=m,i[g+1>>0]=m>>8,i[g+2>>0]=m>>16,i[g+3>>0]=m>>24,g=o,e=k[g>>2]|0,g=k[g+4>>2]|0,n=jq(e|0,g|0,4,0)|0,f=o,k[f>>2]=n,k[f+4>>2]=L,f=j,h=k[f>>2]|0,f=k[f+4>>2]|0,j=jq(e|0,g|0,8,0)|0,g=L,!((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0)):0){d=a+16|0;b=(k[b>>2]|0)+n|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;i[d>>0]=b;i[d+1>>0]=b>>8;i[d+2>>0]=b>>16;i[d+3>>0]=b>>24;d=o;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;c=o;k[c>>2]=d;k[c+4>>2]=L;b=b+(1-m)|0;k[a+20>>2]=b;c=(b|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(!(b&1)){k[d>>2]=c+-1;c=1}else c=1}else c=0;rd(p);p=c;r=q;return p|0}function Hi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+16|0;y=A+4|0;z=A;k[a+72>>2]=e;k[a+64>>2]=f;x=a+68|0;w=bq(e>>>0>1073741823?-1:e<<2)|0;f=k[x>>2]|0;k[x>>2]=w;if(f|0)cq(f);w=a+8|0;k[w>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;i=1;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;v=1-g+f|0;k[a+20>>2]=v;f=(v|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(v&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Wg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=a+56|0;h=k[o>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;if((i|0)<=0){r=A;return 1}p=a+16|0;q=a+32|0;s=a+12|0;t=a+28|0;u=a+20|0;v=a+24|0;j=g;g=(i>>2)+-1|0;while(1){if(j-f>>2>>>0<=g>>>0){f=22;break}k[z>>2]=k[f+(g<<2)>>2];k[y>>2]=k[z>>2];Ii(a,y,b,g);n=ha(g,e)|0;m=b+(n<<2)|0;l=k[x>>2]|0;if((k[w>>2]|0)>0){d=0;do{j=k[l+(d<<2)>>2]|0;f=k[p>>2]|0;do if((j|0)<=(f|0)){f=k[s>>2]|0;h=k[q>>2]|0;i=h+(d<<2)|0;if((j|0)<(f|0)){k[i>>2]=f;break}else{k[i>>2]=j;break}}else{h=k[q>>2]|0;k[h+(d<<2)>>2]=f}while(0);d=d+1|0;f=k[w>>2]|0}while((d|0)<(f|0));i=h;if((f|0)>0){h=0;do{k[c+(h+n<<2)>>2]=(k[m+(h<<2)>>2]|0)-(k[i+(h<<2)>>2]|0);h=h+1|0;f=k[w>>2]|0}while((h|0)<(f|0));if((f|0)>0){i=0;do{f=c+(i+n<<2)|0;h=k[f>>2]|0;if((h|0)>=(k[t>>2]|0)){if((h|0)>(k[v>>2]|0))k[f>>2]=h-(k[u>>2]|0)}else k[f>>2]=(k[u>>2]|0)+h;i=i+1|0}while((i|0)<(k[w>>2]|0))}}}g=g+-1|0;if((g|0)<=-1){f=19;break}h=k[o>>2]|0;f=k[h>>2]|0;j=k[h+4>>2]|0}if((f|0)==19){r=A;return 1}else if((f|0)==22)zp(h);return 0}function Ii(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;i=a+48|0;b=k[b>>2]|0;if((b|0)>=0){e=b+1|0;e=((e|0)%3|0|0)==0?b+-2|0:e;g=b+(((b|0)%3|0|0)==0?2:-1)|0;if((e|0)<0)b=-1073741824;else b=k[(k[k[i>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((g|0)<0)e=-1073741824;else e=k[(k[k[i>>2]>>2]|0)+(((g|0)/3|0)*12|0)+(((g|0)%3|0)<<2)>>2]|0}else{b=-1073741824;e=-1073741824}g=k[a+52>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)zp(g);n=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=e>>>0)zp(g);e=k[j+(e<<2)>>2]|0;b=(n|0)<(d|0);if(!(b&(e|0)<(d|0))){do if(b){i=a+72|0;g=k[i>>2]|0;b=g;g=ha(g,n)|0}else{if((d|0)>0){i=a+72|0;g=k[i>>2]|0;b=g;g=ha(g,d+-1|0)|0;break}g=a+72|0;if((k[g>>2]|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+g<<2)>>2];e=e+1|0}while((e|0)<(k[i>>2]|0));r=t;return}b=a+72|0;j=k[b>>2]|0;i=ha(j,n)|0;f=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);j=ha(j,e)|0;l=+(k[c+(j<<2)>>2]|0);m=+(k[c+(j+1<<2)>>2]|0);if(!(l!=f|m!=h)){a=k[a+68>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~m;r=t;return}Ji(s,a,d);Ji(p,a,n);Ji(q,a,e);B=+o[p>>2];x=+o[q>>2]-B;A=+o[p+4>>2];w=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=x*x+0.0+w*w+y*y;u=(x*B+0.0+w*A+y*z)/v;x=B-x*u;w=A-w*u;y=z-y*u;v=+X(+((y*y+(w*w+(x*x+0.0)))/v));x=l-f;w=m-h;l=f+x*u;m=x*v;u=h+w*u;v=w*v;h=l-v;f=m+u;l=v+l;m=u-m;i=ha(k[b>>2]|0,d)|0;u=+(k[c+(i<<2)>>2]|0);v=+(k[c+(i+1<<2)>>2]|0);w=u-h;x=v-f;u=u-l;v=v-m;i=a+76|0;j=a+80|0;b=k[j>>2]|0;e=k[a+84>>2]|0;g=(b|0)==(e<<5|0);if(x*x+(w*w+0.0)>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Cd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31)}else{if(g){if((b+1|0)<0)yp(i);if(e<<5>>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Cd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(b&31));h=l;f=m}c=~~+V(+(h+.5));a=k[a+68>>2]|0;k[a>>2]=c;c=~~+V(+(f+.5));k[a+4>>2]=c;r=t;return}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;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+64>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+60>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];Bc(b,d,a)|0;r=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];Ic(b,d,a)|0;r=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];Pc(b,d,a)|0;r=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];Wc(b,d,a)|0;r=j;return}default:{r=j;return}}}function Ki(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+16|0;w=y+4|0;x=y;k[a+72>>2]=e;k[a+64>>2]=f;v=a+68|0;u=bq(e>>>0>1073741823?-1:e<<2)|0;d=k[v>>2]|0;k[v>>2]=u;if(d|0)cq(d);u=a+8|0;k[u>>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 Wg(d,e-g|0);o=a+56|0;t=k[o>>2]|0;d=k[t>>2]|0;if((k[t+4>>2]|0)==(d|0)){r=y;return 1}p=a+16|0;q=a+32|0;s=a+12|0;t=a+20|0;n=0;do{k[x>>2]=k[d+(n<<2)>>2];k[w>>2]=k[x>>2];Li(a,w,c,n);l=ha(n,e)|0;i=k[v>>2]|0;m=c+(l<<2)|0;if((k[u>>2]|0)>0){j=0;do{h=k[i+(j<<2)>>2]|0;d=k[p>>2]|0;do if((h|0)<=(d|0)){d=k[s>>2]|0;f=k[q>>2]|0;g=f+(j<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[q>>2]|0;k[f+(j<<2)>>2]=d}while(0);j=j+1|0;d=k[u>>2]|0}while((j|0)<(d|0));g=f;if((d|0)>0){f=0;do{k[m+(f<<2)>>2]=(k[b+(f+l<<2)>>2]|0)+(k[g+(f<<2)>>2]|0);f=f+1|0;d=k[u>>2]|0}while((f|0)<(d|0));if((d|0)>0){g=0;do{d=m+(g<<2)|0;f=k[d>>2]|0;if((f|0)<=(k[p>>2]|0)){if((f|0)<(k[s>>2]|0))k[d>>2]=(k[t>>2]|0)+f}else k[d>>2]=f-(k[t>>2]|0);g=g+1|0}while((g|0)<(k[u>>2]|0))}}}n=n+1|0;m=k[o>>2]|0;d=k[m>>2]|0}while(n>>>0<(k[m+4>>2]|0)-d>>2>>>0);r=y;return 1}function Li(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0.0,i=0.0,j=0.0,l=0.0,m=0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;f=a+48|0;b=k[b>>2]|0;if((b|0)>=0){e=b+1|0;e=((e|0)%3|0|0)==0?b+-2|0:e;b=b+(((b|0)%3|0|0)==0?2:-1)|0;if((e|0)<0)e=-1073741824;else e=k[(k[k[f>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((b|0)<0)m=-1073741824;else m=k[(k[k[f>>2]>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0}else{m=-1073741824;e=-1073741824}b=k[a+52>>2]|0;f=k[b+4>>2]|0;g=k[b>>2]|0;if(f-g>>2>>>0<=e>>>0)zp(b);n=k[g+(e<<2)>>2]|0;if(f-g>>2>>>0<=m>>>0)zp(b);e=k[g+(m<<2)>>2]|0;b=(n|0)<(d|0);if(b&(e|0)<(d|0)){m=k[a+72>>2]|0;g=ha(m,n)|0;i=+(k[c+(g<<2)>>2]|0);j=+(k[c+(g+1<<2)>>2]|0);m=ha(m,e)|0;l=+(k[c+(m<<2)>>2]|0);h=+(k[c+(m+1<<2)>>2]|0);if(l!=i|h!=j){Ji(s,a,d);Ji(p,a,n);Ji(q,a,e);B=+o[p>>2];w=+o[q>>2]-B;A=+o[p+4>>2];x=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=w*w+0.0+x*x+y*y;u=(w*B+0.0+x*A+y*z)/v;w=B-w*u;x=A-x*u;y=z-y*u;v=+X(+((y*y+(x*x+(w*w+0.0)))/v));w=l-i;h=h-j;l=w*v;v=h*v;d=a+80|0;s=(k[d>>2]|0)+-1|0;c=(1<<(s&31)&k[(k[a+76>>2]|0)+(s>>>5<<2)>>2]|0)==0;k[d>>2]=s;d=~~+V(+(i+w*u+(c?v:-v)+.5));a=k[a+68>>2]|0;k[a>>2]=d;c=~~+V(+(j+h*u+(c?-l:l)+.5));k[a+4>>2]=c;r=t;return}else{a=k[a+68>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~h;r=t;return}}do if(b){g=a+72|0;f=k[g>>2]|0;b=f;f=ha(f,n)|0}else{if((d|0)>0){g=a+72|0;f=k[g>>2]|0;b=f;f=ha(f,d+-1|0)|0;break}f=a+72|0;if((k[f>>2]|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[f>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+f<<2)>>2];e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}function Mi(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Ip(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);Ip(b);Ip(a);return}function Ni(a){a=a|0;return 0}function Oi(a){a=a|0;return 1}function Pi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=a+8|0;k[u>>2]=e;do if(d){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;g=f;i=1;while(1){f=k[b+(i<<2)>>2]|0;if((f|0)>=(h|0))if((f|0)>(g|0)){k[j>>2]=f;g=f;f=h}else f=h;else k[l>>2]=f;i=i+1|0;if((i|0)==(d|0))break;else h=f}}else g=f;t=1-f+g|0;k[a+20>>2]=t;f=(t|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(t&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Wg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}else d=0;while(0);f=d-e|0;if((f|0)>0){n=0-e|0;o=a+16|0;p=a+32|0;q=a+12|0;r=a+28|0;s=a+20|0;t=a+24|0;d=k[u>>2]|0;do{m=b+(f<<2)|0;l=m+(n<<2)|0;if((d|0)>0){j=0;do{i=k[l+(j<<2)>>2]|0;d=k[o>>2]|0;do if((i|0)<=(d|0)){d=k[q>>2]|0;g=k[p>>2]|0;h=g+(j<<2)|0;if((i|0)<(d|0)){k[h>>2]=d;break}else{k[h>>2]=i;break}}else{g=k[p>>2]|0;k[g+(j<<2)>>2]=d}while(0);j=j+1|0;d=k[u>>2]|0}while((j|0)<(d|0));h=g;if((d|0)>0){g=0;do{k[c+(g+f<<2)>>2]=(k[m+(g<<2)>>2]|0)-(k[h+(g<<2)>>2]|0);g=g+1|0;d=k[u>>2]|0}while((g|0)<(d|0));if((d|0)>0){h=0;do{d=c+(h+f<<2)|0;g=k[d>>2]|0;if((g|0)>=(k[r>>2]|0)){if((g|0)>(k[t>>2]|0))k[d>>2]=g-(k[s>>2]|0)}else k[d>>2]=(k[s>>2]|0)+g;h=h+1|0;d=k[u>>2]|0}while((h|0)<(d|0))}}}f=f-e|0}while((f|0)>0)}else d=k[u>>2]|0;e=e>>>0>1073741823?-1:e<<2;n=bq(e)|0;hq(n|0,0,e|0)|0;if((d|0)<=0){cq(n);return 1}i=a+16|0;j=a+32|0;l=a+12|0;m=0;do{h=k[n+(m<<2)>>2]|0;d=k[i>>2]|0;do if((h|0)<=(d|0)){d=k[l>>2]|0;g=k[j>>2]|0;f=g+(m<<2)|0;if((h|0)<(d|0)){k[f>>2]=d;break}else{k[f>>2]=h;break}}else{g=k[j>>2]|0;k[g+(m<<2)>>2]=d}while(0);m=m+1|0;d=k[u>>2]|0}while((m|0)<(d|0));if((d|0)>0)f=0;else{cq(n);return 1}do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)-(k[g+(f<<2)>>2]|0);f=f+1|0;d=k[u>>2]|0}while((f|0)<(d|0));if((d|0)<=0){cq(n);return 1}i=a+28|0;j=a+20|0;d=a+24|0;h=0;do{f=c+(h<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[i>>2]|0)){if((g|0)>(k[d>>2]|0))k[f>>2]=g-(k[j>>2]|0)}else k[f>>2]=(k[j>>2]|0)+g;h=h+1|0}while((h|0)<(k[u>>2]|0));cq(n);return 1}function Qi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=a+8|0;k[t>>2]=e;g=a+32|0;h=a+36|0;f=k[h>>2]|0;j=k[g>>2]|0;i=f-j>>2;if(i>>>0>=e>>>0)if(i>>>0>e>>>0?(l=j+(e<<2)|0,(f|0)!=(l|0)):0){k[h>>2]=f+(~((f+-4-l|0)>>>2)<<2);f=e}else f=e;else{Wg(g,e-i|0);f=k[t>>2]|0}r=e>>>0>1073741823?-1:e<<2;s=bq(r)|0;hq(s|0,0,r|0)|0;if((f|0)>0){m=a+16|0;j=a+32|0;n=a+12|0;l=0;do{i=k[s+(l<<2)>>2]|0;f=k[m>>2]|0;do if((i|0)<=(f|0)){f=k[n>>2]|0;g=k[j>>2]|0;h=g+(l<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[j>>2]|0;k[g+(l<<2)>>2]=f}while(0);l=l+1|0;f=k[t>>2]|0}while((l|0)<(f|0));h=g;if((f|0)>0){g=0;do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)+(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[t>>2]|0}while((g|0)<(f|0));if((f|0)>0){h=a+20|0;i=0;do{f=c+(i<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[m>>2]|0)){if((g|0)<(k[n>>2]|0))k[f>>2]=(k[h>>2]|0)+g}else k[f>>2]=g-(k[h>>2]|0);i=i+1|0;f=k[t>>2]|0}while((i|0)<(f|0))}}}if((e|0)>=(d|0)){cq(s);return 1}o=0-e|0;p=a+16|0;q=a+32|0;r=a+12|0;a=a+20|0;n=e;do{m=c+(n<<2)|0;l=m+(o<<2)|0;if((f|0)>0){j=0;do{i=k[l+(j<<2)>>2]|0;f=k[p>>2]|0;do if((i|0)<=(f|0)){f=k[r>>2]|0;g=k[q>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[q>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[t>>2]|0}while((j|0)<(f|0));h=g;if((f|0)>0){g=0;do{k[m+(g<<2)>>2]=(k[b+(g+n<<2)>>2]|0)+(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[t>>2]|0}while((g|0)<(f|0));if((f|0)>0){h=0;do{g=m+(h<<2)|0;f=k[g>>2]|0;if((f|0)<=(k[p>>2]|0)){if((f|0)<(k[r>>2]|0))k[g>>2]=(k[a>>2]|0)+f}else k[g>>2]=f-(k[a>>2]|0);h=h+1|0;f=k[t>>2]|0}while((h|0)<(f|0))}}}n=n+e|0}while((n|0)<(d|0));cq(s);return 1}function Ri(a){a=a|0;return i[(k[a+8>>2]|0)+24>>0]|0}function Si(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0;o=a+8|0;d=k[o>>2]|0;switch(k[d+28>>2]|0){case 2:{c=i[d+24>>0]|0;h=c<<24>>24;l=bq((h|0)>-1?h:-1)|0;a:do if(b|0){g=a+16|0;if(c<<24>>24>0){d=0;e=0}else{lq(k[k[d+64>>2]>>2]|0,l|0,h|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+h|0;lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,l|0,h|0)|0;c=c+1|0;if((c|0)==(b|0))break a}}while(1){c=k[g>>2]|0;a=0;f=e;while(1){i[l+a>>0]=k[c+(f<<2)>>2];a=a+1|0;if((a|0)==(h|0))break;else f=f+1|0}lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,l|0,h|0)|0;d=d+1|0;if((d|0)==(b|0))break;else e=e+h|0}}while(0);cq(l);b=1;return b|0}case 1:{c=i[d+24>>0]|0;h=c<<24>>24;l=bq((h|0)>-1?h:-1)|0;b:do if(b|0){g=a+16|0;if(c<<24>>24>0){d=0;e=0}else{lq(k[k[d+64>>2]>>2]|0,l|0,h|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+h|0;lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,l|0,h|0)|0;c=c+1|0;if((c|0)==(b|0))break b}}while(1){c=k[g>>2]|0;a=0;f=e;while(1){i[l+a>>0]=k[c+(f<<2)>>2];a=a+1|0;if((a|0)==(h|0))break;else f=f+1|0}lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,l|0,h|0)|0;d=d+1|0;if((d|0)==(b|0))break;else e=e+h|0}}while(0);cq(l);b=1;return b|0}case 4:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<1;n=bq(l>>>0>2147483647?-1:l<<1)|0;c:do if(b|0){h=a+16|0;if(c<<24>>24>0){d=0;e=0;f=0}else{lq(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+m|0;lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,n|0,m|0)|0;c=c+1|0;if((c|0)==(b|0))break c}}while(1){c=k[h>>2]|0;a=0;g=f;while(1){j[n+(a<<1)>>1]=k[c+(g<<2)>>2];a=a+1|0;if((a|0)==(l|0))break;else g=g+1|0}lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,n|0,m|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+m|0;f=f+l|0}}}while(0);cq(n);b=1;return b|0}case 3:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<1;n=bq(l>>>0>2147483647?-1:l<<1)|0;d:do if(b|0){h=a+16|0;if(c<<24>>24>0){d=0;e=0;f=0}else{lq(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+m|0;lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,n|0,m|0)|0;c=c+1|0;if((c|0)==(b|0))break d}}while(1){c=k[h>>2]|0;a=0;g=f;while(1){j[n+(a<<1)>>1]=k[c+(g<<2)>>2];a=a+1|0;if((a|0)==(l|0))break;else g=g+1|0}lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,n|0,m|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+m|0;f=f+l|0}}}while(0);cq(n);b=1;return b|0}case 6:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<2;n=bq(l>>>0>1073741823?-1:l<<2)|0;e:do if(b|0){h=a+16|0;if(c<<24>>24>0){d=0;e=0;f=0}else{lq(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+m|0;lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,n|0,m|0)|0;c=c+1|0;if((c|0)==(b|0))break e}}while(1){c=k[h>>2]|0;a=0;g=f;while(1){k[n+(a<<2)>>2]=k[c+(g<<2)>>2];a=a+1|0;if((a|0)==(l|0))break;else g=g+1|0}lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,n|0,m|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+m|0;f=f+l|0}}}while(0);cq(n);b=1;return b|0}case 5:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<2;n=bq(l>>>0>1073741823?-1:l<<2)|0;f:do if(b|0){h=a+16|0;if(c<<24>>24>0){d=0;e=0;f=0}else{lq(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+m|0;lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,n|0,m|0)|0;c=c+1|0;if((c|0)==(b|0))break f}}while(1){c=k[h>>2]|0;a=0;g=f;while(1){k[n+(a<<2)>>2]=k[c+(g<<2)>>2];a=a+1|0;if((a|0)==(l|0))break;else g=g+1|0}lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,n|0,m|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+m|0;f=f+l|0}}}while(0);cq(n);b=1;return b|0}default:{b=0;return b|0}}return 0}function Ti(a){a=a|0;vh(a);k[a>>2]=3116;a=a+16|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;return}function Ui(a){a=a|0;var b=0,c=0;k[a>>2]=3680;c=a+36|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)cq(b);k[a>>2]=3116;c=a+28|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);c=k[a+16>>2]|0;if(!c)return;b=a+20|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Ip(c);return}function Vi(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3680;d=a+36|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)cq(b);k[a>>2]=3116;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);b=k[a+16>>2]|0;if(!b){Ip(a);return}c=a+20|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ip(b);Ip(a);return}function Wi(a,b,c){a=a|0;b=b|0;c=c|0;if(!(yh(a,b,c)|0)){c=0;return c|0}b=k[b+4>>2]|0;if((c|0)<=-1)Aa(9717,9733,62,9761);a=k[b+4>>2]|0;if((k[b+8>>2]|0)-a>>2>>>0<=c>>>0)Aa(9771,9733,63,9761);c=(k[(k[a+(c<<2)>>2]|0)+28>>2]|0)==9;return c|0}function Xi(a,b,c){a=a|0;b=b|0;c=c|0;if(!(cb[k[(k[a>>2]|0)+44>>2]&127](a)|0)){a=0;return a|0}a=Ah(a,b,c)|0;return a|0}function Yi(a,b){a=a|0;b=b|0;return gb[k[(k[a>>2]|0)+48>>2]&63](a,b)|0}function Zi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;c=i[(k[a+8>>2]|0)+24>>0]|0;g=a+36|0;f=bq(c>>>0>1073741823?-1:c<<2)|0;b=k[g>>2]|0;k[g>>2]=f;if(b|0)cq(b);e=a+4|0;f=k[(k[e>>2]|0)+20>>2]|0;b=c<<2;n=f+8|0;j=k[n>>2]|0;n=k[n+4>>2]|0;c=f+16|0;h=c;d=k[h>>2]|0;h=jq(d|0,k[h+4>>2]|0,b|0,0)|0;m=L;if((n|0)<(m|0)|(n|0)==(m|0)&j>>>0>>0){n=0;return n|0}lq(k[g>>2]|0,(k[f>>2]|0)+d|0,b|0)|0;h=c;h=jq(k[h>>2]|0,k[h+4>>2]|0,b|0,0)|0;b=c;k[b>>2]=h;k[b+4>>2]=L;b=(k[e>>2]|0)+20|0;c=k[b>>2]|0;h=c+8|0;m=k[h>>2]|0;h=k[h+4>>2]|0;d=c+16|0;n=d;e=k[n>>2]|0;n=jq(e|0,k[n+4>>2]|0,4,0)|0;j=L;if((h|0)<(j|0)|(h|0)==(j|0)&m>>>0>>0){n=0;return n|0}n=a+40|0;e=(k[c>>2]|0)+e|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;i[n>>0]=e;i[n+1>>0]=e>>8;i[n+2>>0]=e>>16;i[n+3>>0]=e>>24;n=d;n=jq(k[n>>2]|0,k[n+4>>2]|0,4,0)|0;e=d;k[e>>2]=n;k[e+4>>2]=L;e=k[b>>2]|0;n=e+8|0;m=k[n+4>>2]|0;b=e+16|0;d=b;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((m|0)>(d|0)|((m|0)==(d|0)?(k[n>>2]|0)>>>0>c>>>0:0))){n=0;return n|0}n=i[(k[e>>2]|0)+c>>0]|0;j=jq(c|0,d|0,1,0)|0;m=b;k[m>>2]=j;k[m+4>>2]=L;k[a+32>>2]=n&255;n=1;return n|0}function _i(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0.0,w=0;u=r;r=r+16|0;n=u;p=k[a+32>>2]|0;q=a+8|0;c=i[(k[q>>2]|0)+24>>0]|0;m=c<<24>>24;s=m<<2;t=bq(m>>>0>1073741823?-1:m<<2)|0;Kg(n);Lg(n,+o[a+40>>2],(1<>24>0){a=0;g=0;c=0}else{a=0;c=0;while(1){lq((k[k[(k[q>>2]|0)+64>>2]>>2]|0)+c|0,t|0,s|0)|0;a=a+1|0;if((a|0)==(b|0))break;else c=c+s|0}cq(t);r=u;return 1}a:while(1){e=k[p>>2]|0;f=0;d=c;while(1){if((k[j>>2]|0)-e>>2>>>0<=d>>>0){a=4;break a}c=d+1|0;w=k[e+(d<<2)>>2]|0;d=(w|0)<0;v=+o[l>>2]*+((d?0-w|0:w)|0);o[t+(f<<2)>>2]=+o[(k[h>>2]|0)+(f<<2)>>2]+ +o[n>>2]*(d?-v:v);f=f+1|0;if((f|0)>=(m|0))break;else d=c}lq((k[k[(k[q>>2]|0)+64>>2]>>2]|0)+g|0,t|0,s|0)|0;a=a+1|0;if(a>>>0>>0)g=g+s|0;else{a=8;break}}if((a|0)==4)zp(p);else if((a|0)==8){cq(t);r=u;return 1}return 0}function $i(a){a=a|0;Ti(a);k[a>>2]=3680;k[a+32>>2]=-1;k[a+36>>2]=0;o[a+40>>2]=0.0;return}function aj(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3116;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);d=k[a+16>>2]|0;if(!d){Ip(a);return}b=a+20|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);Ip(d);Ip(a);return}function bj(a,b,c){a=a|0;b=b|0;c=c|0;if(!(yh(a,b,c)|0)){a=0;return a|0}a=(i[(k[a+8>>2]|0)+24>>0]|0)==3;return a|0}function cj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=c+8|0;h=k[g+4>>2]|0;f=c+16|0;e=f;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((h|0)>(e|0)|((h|0)==(e|0)?(k[g>>2]|0)>>>0>d>>>0:0))){h=0;return h|0}h=i[(k[c>>2]|0)+d>>0]|0;e=jq(d|0,e|0,1,0)|0;g=f;k[g>>2]=e;k[g+4>>2]=L;k[a+32>>2]=h&255;h=Ah(a,b,c)|0;return h|0}function dj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+16|0;d=e;if((c|0)!=2){c=0;r=e;return c|0}f=k[a+12>>2]|0;c=k[a+4>>2]|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;c=ej(b,f,c,d)|0;r=e;return c|0}function ej(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=k[c+4>>2]|0;if((b|0)<=-1)Aa(9717,9733,54,9761);f=k[e+4>>2]|0;if((k[e+8>>2]|0)-f>>2>>>0<=b>>>0)Aa(9771,9733,55,9761);e=k[f+(b<<2)>>2]|0;if((cb[k[(k[c>>2]|0)+8>>2]&127](c)|0)==1?(g=fj(c,a,b,d)|0,g|0):0){d=g;return d|0}if((a|0)==-2){d=0;return d|0}a=$p(20)|0;k[a+4>>2]=e;c=a+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[a>>2]=4176;d=a;return d|0}function fj(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;e=k[a+4>>2]|0;if((c|0)<=-1)Aa(9717,9733,54,9761);f=k[e+4>>2]|0;if((k[e+8>>2]|0)-f>>2>>>0<=c>>>0)Aa(9771,9733,55,9761);g=k[f+(c<<2)>>2]|0;if(!((b+-1|0)>>>0<3&(cb[k[(k[a>>2]|0)+8>>2]&127](a)|0)==1)){d=0;return d|0}h=cb[k[(k[a>>2]|0)+36>>2]&127](a)|0;i=gb[k[(k[a>>2]|0)+44>>2]&63](a,c)|0;if((h|0)==0|(i|0)==0){d=0;return d|0}c=gb[k[(k[a>>2]|0)+40>>2]&63](a,c)|0;e=k[a+24>>2]|0;f=i+12|0;if(!c)switch(b|0){case 1:{b=$p(36)|0;k[b+4>>2]=g;a=b+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[b+20>>2]=e;k[b+24>>2]=h;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=3984;d=b;return d|0}case 2:{b=$p(36)|0;k[b+4>>2]=g;a=b+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[b+20>>2]=e;k[b+24>>2]=h;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=4048;d=b;return d|0}case 3:{b=$p(64)|0;k[b+4>>2]=g;a=b+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[b+20>>2]=e;k[b+24>>2]=h;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=4112;d=b+36|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;d=b;return d|0}default:{d=0;return d|0}}else switch(b|0){case 1:{b=$p(36)|0;k[b+4>>2]=g;a=b+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[b+20>>2]=e;k[b+24>>2]=c;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=3792;d=b;return d|0}case 2:{b=$p(36)|0;k[b+4>>2]=g;a=b+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[b+20>>2]=e;k[b+24>>2]=c;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=3856;d=b;return d|0}case 3:{b=$p(64)|0;k[b+4>>2]=g;a=b+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[b+20>>2]=e;k[b+24>>2]=c;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=3920;d=b+36|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;d=b;return d|0}default:{d=0;return d|0}}return 0}function gj(a){a=a|0;return}function hj(a){a=a|0;Ip(a);return}function ij(a){a=a|0;return 1}function jj(a){a=a|0;return k[a+4>>2]|0}function kj(a){a=a|0;if(!(k[a+20>>2]|0)){a=0;return a|0}if(!(k[a+24>>2]|0)){a=0;return a|0}if(!(k[a+28>>2]|0)){a=0;return a|0}a=(k[a+32>>2]|0)!=0;return a|0}function lj(a){a=a|0;return 0}function mj(a,b){a=a|0;b=b|0;return -1}function nj(a,b){a=a|0;b=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;h=r;r=r+16|0;e=h+4|0;f=h;c=a+12|0;d=b+16|0;g=d;i=k[g+4>>2]|0;if((i|0)>0|(i|0)==0&(k[g>>2]|0)>>>0>0){r=h;return 1}g=b+4|0;k[f>>2]=k[g>>2];k[e>>2]=k[f>>2];ed(b,e,c,c+4|0)|0;i=d;d=k[i+4>>2]|0;c=a+16|0;if((d|0)>0|(d|0)==0&(k[i>>2]|0)>>>0>0){r=h;return 1}k[f>>2]=k[g>>2];k[e>>2]=k[f>>2];ed(b,e,c,c+4|0)|0;r=h;return 1}function pj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;d=b+8|0;j=d;g=k[j>>2]|0;j=k[j+4>>2]|0;e=b+16|0;f=e;c=k[f>>2]|0;f=jq(c|0,k[f+4>>2]|0,4,0)|0;h=L;if((j|0)<(h|0)|(j|0)==(h|0)&g>>>0>>0){j=0;return j|0}j=a+12|0;g=(k[b>>2]|0)+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;i[j>>0]=g;i[j+1>>0]=g>>8;i[j+2>>0]=g>>16;i[j+3>>0]=g>>24;j=e;g=k[j>>2]|0;j=k[j+4>>2]|0;c=jq(g|0,j|0,4,0)|0;f=e;k[f>>2]=c;k[f+4>>2]=L;f=d;h=k[f>>2]|0;f=k[f+4>>2]|0;j=jq(g|0,j|0,8,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0){j=0;return j|0}h=a+16|0;j=(k[b>>2]|0)+c|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;i[h>>0]=j;i[h+1>>0]=j>>8;i[h+2>>0]=j>>16;i[h+3>>0]=j>>24;h=e;h=jq(k[h>>2]|0,k[h+4>>2]|0,4,0)|0;j=e;k[j>>2]=h;k[j+4>>2]=L;j=1;return j|0}function qj(a){a=a|0;return 1}function rj(a){a=a|0;return 2}function sj(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;p=a+8|0;k[p>>2]=e;r=e>>>0>1073741823?-1:e<<2;q=bq(r)|0;hq(q|0,0,r|0)|0;r=k[a+24>>2]|0;s=a+32|0;d=k[s>>2]|0;g=k[d+4>>2]|0;f=k[d>>2]|0;h=g-f|0;a:do if((h|0)>4){l=k[a+28>>2]|0;m=r+64|0;n=r+28|0;o=(e|0)>0;i=h>>2;while(1){j=i+-1|0;if(g-f>>2>>>0<=j>>>0)break;f=k[f+(j<<2)>>2]|0;if(!((f|0)<0?1:(1<<(f&31)&k[(k[r>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(u=k[(k[(k[m>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(u|0)>-1):0){h=k[n>>2]|0;f=k[l>>2]|0;d=k[f+(k[h+(u<<2)>>2]<<2)>>2]|0;a=u+1|0;a=k[f+(k[h+((((a|0)%3|0|0)==0?u+-2|0:a)<<2)>>2]<<2)>>2]|0;h=k[f+(k[h+((((u|0)%3|0|0)==0?2:-1)+u<<2)>>2]<<2)>>2]|0;f=ha(j,e)|0;if((d|0)<(j|0)&(a|0)<(j|0)&(h|0)<(j|0)){i=ha(d,e)|0;g=ha(a,e)|0;d=ha(h,e)|0;if(o){a=0;do{k[q+(a<<2)>>2]=(k[b+(a+d<<2)>>2]|0)+(k[b+(a+g<<2)>>2]|0)-(k[b+(a+i<<2)>>2]|0);a=a+1|0}while((a|0)!=(e|0))}tj(p,b+(f<<2)|0,q,c,f)}else v=12}else{f=ha(j,e)|0;v=12}if((v|0)==12){v=0;tj(p,b+(f<<2)|0,b+((ha(i+-2|0,e)|0)<<2)|0,c,f)}if((j|0)<=1){t=q;break a}d=k[s>>2]|0;f=k[d>>2]|0;g=k[d+4>>2]|0;i=j}zp(d)}else t=q;while(0);if((e|0)<=0){tj(p,b,t,c,0);cq(q);return 1}hq(q|0,0,e<<2|0)|0;tj(p,b,t,c,0);cq(q);return 1}function tj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;s=t+40|0;j=t+32|0;i=t+24|0;f=t+16|0;g=t+8|0;m=t;n=k[c>>2]|0;o=a+8|0;h=k[o>>2]<<1;if((n|0)>(h|0))Aa(7771,7806,82,7898);c=k[c+4>>2]|0;if((c|0)>(h|0))Aa(7916,7806,83,7898);l=k[b>>2]|0;if((l|0)>(h|0))Aa(7951,7806,84,7898);b=k[b+4>>2]|0;if((b|0)>(h|0))Aa(7986,7806,85,7898);if((n|0)<=-1)Aa(8021,7806,86,7898);if((c|0)<=-1)Aa(8043,7806,87,7898);if((l|0)<=-1)Aa(8065,7806,88,7898);if((b|0)<=-1)Aa(8087,7806,89,7898);k[f>>2]=l;k[f+4>>2]=b;k[g>>2]=n;k[g+4>>2]=c;uj(i,a,f,g);q=k[i>>2]|0;k[m>>2]=q;p=k[i+4>>2]|0;k[m+4>>2]=p;k[j>>2]=n;k[j+4>>2]=c;vj(s,a,j,m);i=k[o>>2]|0;h=l-i|0;c=b-i|0;g=(k[s>>2]|0)-i|0;b=(k[s+4>>2]|0)-i|0;f=0-h|0;if((((h|0)>-1?h:f)|0)==(i|0))c=(c|0)<0?0-c|0:c;s=0-g|0;a=((b|0)<0?(((g|0)>-1?g:s)|0)==(i|0):0)?0-b|0:b;if((c|0)==(a|0)?((((h|0)<0?(((c|0)>-1?c:0-c|0)|0)==(i|0):0)?f:h)|0)==((((g|0)<0?(((a|0)>-1?a:0-a|0)|0)==(i|0):0)?s:g)|0):0){k[d+(e<<2)>>2]=q;k[d+(e+1<<2)>>2]=p;r=t;return}else Aa(8146,7806,95,7898)}function uj(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;i=b+8|0;g=k[i>>2]|0;j=c+4|0;f=(k[j>>2]|0)-g|0;e=c;k[e>>2]=(k[c>>2]|0)-g;k[e+4>>2]=f;e=(k[d>>2]|0)-g|0;f=d+4|0;g=(k[f>>2]|0)-g|0;h=d;k[h>>2]=e;k[h+4>>2]=g;h=k[i>>2]|0;if((((g|0)>-1?g:0-g|0)+((e|0)>-1?e:0-e|0)|0)>(h|0)){g=k[c>>2]|0;n=k[j>>2]|0;m=g>>31|1;o=n>>31|1;e=ha(m,h)|0;l=ha(o,h)|0;g=(g<<1)-e|0;n=(n<<1)-l|0;m=(ha(o,m)|0)>-1;h=c;k[h>>2]=((m?0-n|0:n)+e|0)/2|0;k[h+4>>2]=((m?0-g|0:g)+l|0)/2|0;h=k[d>>2]|0;l=k[f>>2]|0;g=h>>31|1;m=l>>31|1;f=k[i>>2]|0;e=ha(g,f)|0;f=ha(m,f)|0;h=(h<<1)-e|0;l=(l<<1)-f|0;g=(ha(m,g)|0)>-1;e=((g?0-l|0:l)+e|0)/2|0;f=((g?0-h|0:h)+f|0)/2|0;h=d;k[h>>2]=e;k[h+4>>2]=f;h=k[i>>2]|0}else f=g;d=a;k[d>>2]=0;k[d+4>>2]=0;e=(k[c>>2]|0)-e|0;k[a>>2]=e;d=(k[j>>2]|0)-f|0;g=a+4|0;k[g>>2]=d;f=h<<1;if((f|0)<(e|0))Aa(8109,7806,177,8133);if((e|0)<0)e=(k[b+4>>2]|0)+e|0;k[a>>2]=e;if((f|0)<(d|0))Aa(8109,7806,177,8133);if((d|0)>=0){o=d;k[g>>2]=o;return}o=(k[b+4>>2]|0)+d|0;k[g>>2]=o;return}function vj(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;g=b+8|0;j=k[g>>2]|0;e=(k[c>>2]|0)-j|0;f=(k[c+4>>2]|0)-j|0;h=c;k[h>>2]=e;k[h+4>>2]=f;h=k[g>>2]|0;if((((f|0)>-1?f:0-f|0)+((e|0)>-1?e:0-e|0)|0)>(h|0)){m=e>>31|1;n=f>>31|1;l=ha(m,h)|0;h=ha(n,h)|0;i=(e<<1)-l|0;e=(f<<1)-h|0;f=(ha(n,m)|0)>-1;e=((f?0-e|0:e)+l|0)/2|0;h=((f?0-i|0:i)+h|0)/2|0;i=c;k[i>>2]=e;k[i+4>>2]=h;i=0;c=h;h=k[g>>2]|0}else{i=1;c=f}f=a;k[f>>2]=0;k[f+4>>2]=0;e=(k[d>>2]|0)+e|0;k[a>>2]=e;c=(k[d+4>>2]|0)+c|0;f=a+4|0;k[f>>2]=c;if((h|0)>=(e|0)){if((e|0)<(0-h|0))e=(k[b+4>>2]|0)+e|0}else e=e-(k[b+4>>2]|0)|0;k[a>>2]=e;if((h|0)>=(c|0)){if((c|0)<(0-h|0))c=(k[b+4>>2]|0)+c|0}else c=c-(k[b+4>>2]|0)|0;k[f>>2]=c;if(i){b=e;m=c;b=b+j|0;m=m+j|0;n=a;l=n;k[l>>2]=b;n=n+4|0;k[n>>2]=m;return}d=e>>31|1;l=c>>31|1;b=ha(d,h)|0;m=ha(h,l)|0;n=(e<<1)-b|0;i=(c<<1)-m|0;l=(ha(d,l)|0)>-1;b=((l?0-i|0:i)+b|0)/2|0;m=((l?0-n|0:n)+m|0)/2|0;n=a;k[n>>2]=b;k[n+4>>2]=m;b=b+j|0;m=m+j|0;n=a;l=n;k[l>>2]=b;n=n+4|0;k[n>>2]=m;return}function wj(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;p=a+8|0;k[p>>2]=e;q=k[a+24>>2]|0;r=k[a+28>>2]|0;o=e>>>0>1073741823?-1:e<<2;s=bq(o)|0;hq(s|0,0,o|0)|0;xj(p,s,b,c,0);o=a+32|0;n=k[o>>2]|0;f=k[n>>2]|0;if((k[n+4>>2]|0)-f>>2>>>0<=1){cq(s);return 1}l=q+64|0;m=q+28|0;n=(e|0)>0;j=1;do{f=k[f+(j<<2)>>2]|0;if(!((f|0)<0?1:(1<<(f&31)&k[(k[q>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(t=k[(k[(k[l>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(t|0)>-1):0){g=k[m>>2]|0;f=k[r>>2]|0;d=k[f+(k[g+(t<<2)>>2]<<2)>>2]|0;a=t+1|0;a=k[f+(k[g+((((a|0)%3|0|0)==0?t+-2|0:a)<<2)>>2]<<2)>>2]|0;g=k[f+(k[g+((((t|0)%3|0|0)==0?2:-1)+t<<2)>>2]<<2)>>2]|0;f=ha(j,e)|0;if((d|0)<(j|0)&(a|0)<(j|0)&(g|0)<(j|0)){i=ha(d,e)|0;h=ha(a,e)|0;d=ha(g,e)|0;if(n){a=0;do{k[s+(a<<2)>>2]=(k[c+(a+d<<2)>>2]|0)+(k[c+(a+h<<2)>>2]|0)-(k[c+(a+i<<2)>>2]|0);a=a+1|0}while((a|0)!=(e|0))}xj(p,s,b,c+(f<<2)|0,f)}else u=8}else{f=ha(j,e)|0;u=8}if((u|0)==8){u=0;xj(p,c+((ha(j+-1|0,e)|0)<<2)|0,b,c+(f<<2)|0,f)}j=j+1|0;i=k[o>>2]|0;f=k[i>>2]|0}while(j>>>0<(k[i+4>>2]|0)-f>>2>>>0);cq(s);return 1}function xj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;l=n+16|0;m=n+8|0;h=n;i=k[b>>2]|0;j=k[a+8>>2]<<1;if((i|0)>(j|0))Aa(8183,7806,104,8218);g=k[b+4>>2]|0;if((g|0)>(j|0))Aa(8239,7806,105,8218);f=k[c+(e<<2)>>2]|0;if((f|0)>(j|0))Aa(8274,7806,106,8218);b=k[c+(e+1<<2)>>2]|0;if((b|0)>(j|0))Aa(8314,7806,107,8218);if((i|0)<=-1)Aa(8021,7806,109,8218);if((g|0)<=-1)Aa(8043,7806,110,8218);if((f|0)<=-1)Aa(8358,7806,111,8218);if((b|0)>-1){k[l>>2]=f;k[l+4>>2]=b;k[h>>2]=i;k[h+4>>2]=g;vj(m,a,h,l);k[d>>2]=k[m>>2];k[d+4>>2]=k[m+4>>2];r=n;return}else Aa(8385,7806,112,8218)}function yj(a){a=a|0;Ip(a);return}function zj(a){a=a|0;return 2}function Aj(a){a=a|0;if(!(k[a+20>>2]|0)){a=0;return a|0}if(!(k[a+24>>2]|0)){a=0;return a|0}if(!(k[a+28>>2]|0)){a=0;return a|0}a=(k[a+32>>2]|0)!=0;return a|0}function Bj(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;t=a+8|0;k[t>>2]=e;u=k[a+24>>2]|0;v=k[a+28>>2]|0;s=e>>>0>1073741823?-1:e<<2;w=bq(s)|0;hq(w|0,0,s|0)|0;s=a+32|0;a=k[s>>2]|0;d=k[a+4>>2]|0;f=k[a>>2]|0;g=d-f|0;a:do if((g|0)>4){o=(e|0)>0;p=u+64|0;q=u+28|0;r=e<<2;m=g>>2;while(1){n=m+-1|0;if(d-f>>2>>>0<=n>>>0)break;l=k[f+(n<<2)>>2]|0;if(o)hq(w|0,0,r|0)|0;if((l|0)>-1){j=k[u>>2]|0;f=l;a=0;do{do if(((k[j+(f>>>5<<2)>>2]&1<<(f&31)|0)==0?(y=k[(k[(k[p>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(y|0)>-1):0)?(B=k[q>>2]|0,i=k[v>>2]|0,z=k[i+(k[B+(y<<2)>>2]<<2)>>2]|0,A=y+1|0,A=k[i+(k[B+((((A|0)%3|0|0)==0?y+-2|0:A)<<2)>>2]<<2)>>2]|0,B=k[i+(k[B+((((y|0)%3|0|0)==0?2:-1)+y<<2)>>2]<<2)>>2]|0,(z|0)<(n|0)&(A|0)<(n|0)&(B|0)<(n|0)):0){d=ha(z,e)|0;g=ha(A,e)|0;h=ha(B,e)|0;if(o)i=0;else{a=a+1|0;C=20;break}do{D=w+(i<<2)|0;k[D>>2]=(k[b+(i+h<<2)>>2]|0)+(k[b+(i+g<<2)>>2]|0)-(k[b+(i+d<<2)>>2]|0)+(k[D>>2]|0);i=i+1|0}while((i|0)!=(e|0));a=a+1|0;if((f|0)>=0)C=20}else C=20;while(0);do if((C|0)==20){C=0;if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);do if(!(1<<(f&31)&k[j+(f>>>5<<2)>>2])){if((f|0)>=0){f=k[(k[(k[p>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);f=(f|0)==(l|0)?-1073741824:f}while((f|0)>-1);f=ha(n,e)|0;if(!a)C=32;else{if(o){d=0;do{D=w+(d<<2)|0;k[D>>2]=(k[D>>2]|0)/(a|0)|0;d=d+1|0}while((d|0)!=(e|0))}tj(t,b+(f<<2)|0,w,c,f)}}else{f=ha(n,e)|0;C=32}if((C|0)==32){C=0;tj(t,b+(f<<2)|0,b+((ha(m+-2|0,e)|0)<<2)|0,c,f)}if((n|0)<=1){x=w;break a}a=k[s>>2]|0;f=k[a>>2]|0;d=k[a+4>>2]|0;m=n}zp(a)}else x=w;while(0);if((e|0)<=0){tj(t,b,x,c,0);cq(w);return 1}hq(w|0,0,e<<2|0)|0;tj(t,b,x,c,0);cq(w);return 1}function Cj(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;s=a+8|0;k[s>>2]=e;u=e>>>0>1073741823?-1:e<<2;t=bq(u)|0;hq(t|0,0,u|0)|0;xj(s,t,b,c,0);u=k[a+24>>2]|0;v=a+32|0;r=k[v>>2]|0;f=k[r>>2]|0;if((k[r+4>>2]|0)-f>>2>>>0<=1){cq(t);return 1}n=k[a+28>>2]|0;o=(e|0)>0;p=u+64|0;q=u+28|0;r=e<<2;m=1;do{l=k[f+(m<<2)>>2]|0;if(o)hq(t|0,0,r|0)|0;if((l|0)>-1){j=k[u>>2]|0;f=l;a=0;do{do if(((k[j+(f>>>5<<2)>>2]&1<<(f&31)|0)==0?(w=k[(k[(k[p>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(w|0)>-1):0)?(z=k[q>>2]|0,i=k[n>>2]|0,x=k[i+(k[z+(w<<2)>>2]<<2)>>2]|0,y=w+1|0,y=k[i+(k[z+((((y|0)%3|0|0)==0?w+-2|0:y)<<2)>>2]<<2)>>2]|0,z=k[i+(k[z+((((w|0)%3|0|0)==0?2:-1)+w<<2)>>2]<<2)>>2]|0,(x|0)<(m|0)&(y|0)<(m|0)&(z|0)<(m|0)):0){d=ha(x,e)|0;g=ha(y,e)|0;h=ha(z,e)|0;if(o)i=0;else{a=a+1|0;A=16;break}do{B=t+(i<<2)|0;k[B>>2]=(k[c+(i+h<<2)>>2]|0)+(k[c+(i+g<<2)>>2]|0)-(k[c+(i+d<<2)>>2]|0)+(k[B>>2]|0);i=i+1|0}while((i|0)!=(e|0));a=a+1|0;if((f|0)>=0)A=16}else A=16;while(0);do if((A|0)==16){A=0;if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);do if(!(1<<(f&31)&k[j+(f>>>5<<2)>>2])){if((f|0)>=0){f=k[(k[(k[p>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);f=(f|0)==(l|0)?-1073741824:f}while((f|0)>-1);f=ha(m,e)|0;if(!a)A=28;else{if(o){d=0;do{B=t+(d<<2)|0;k[B>>2]=(k[B>>2]|0)/(a|0)|0;d=d+1|0}while((d|0)!=(e|0))}xj(s,t,b,c+(f<<2)|0,f)}}else{f=ha(m,e)|0;A=28}if((A|0)==28){A=0;xj(s,c+((ha(m+-1|0,e)|0)<<2)|0,b,c+(f<<2)|0,f)}m=m+1|0;B=k[v>>2]|0;f=k[B>>2]|0}while(m>>>0<(k[B+4>>2]|0)-f>>2>>>0);cq(t);return 1}function Dj(a){a=a|0;var b=0;k[a>>2]=3920;b=k[a+52>>2]|0;if(b|0)Ip(b);a=a+44|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;cq(b);return}function Ej(a){a=a|0;var b=0,c=0;k[a>>2]=3920;b=k[a+52>>2]|0;if(b|0)Ip(b);c=a+44|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){Ip(a);return}cq(b);Ip(a);return}function Fj(a){a=a|0;return 3}function Gj(a){a=a|0;if(!(k[a+36>>2]|0))return 0;if(!(k[a+20>>2]|0))return 0;if(!(k[a+24>>2]|0))return 0;if(!(k[a+28>>2]|0))return 0;else return (k[a+32>>2]|0)!=0|0;return 0}function Hj(a){a=a|0;return 1}function Ij(a,b){a=a|0;b=b|0;if(!b)return 0;else Aa(8735,8746,75,8826);return 0}function Jj(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){a=0;return a|0}if((i[b+24>>0]|0)!=3){a=0;return a|0}k[a+36>>2]=b;a=1;return a|0}function Kj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n+40|0;l=n+36|0;c=n+32|0;m=n;d=a+56|0;k[c>>2]=k[d>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0)){k[l>>2]=k[b+4>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0}jd(m);nd(m);c=k[a+52>>2]|0;g=k[d>>2]|0;f=g>>>5;h=c+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){f=c;c=1;while(1){if(d){e=0;d=c;while(1){c=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){kd(m);r=n;return 1}d=b+4|0;k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0;h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){kd(m);r=n;return 1}k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0;kd(m);r=n;return 1}function Lj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;o=p;j=b+8|0;g=j;h=k[g>>2]|0;g=k[g+4>>2]|0;n=b+16|0;d=n;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){o=0;r=p;return o|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=n;k[g>>2]=d;k[g+4>>2]=e;d=a+52|0;hi(d,h,0);qd(o);sd(o,b);if((h|0)>0){f=0;g=1;do{g=g^((td(o)|0)^1);e=(k[d>>2]|0)+(f>>>5<<2)|0;c=1<<(f&31);if(g)c=k[e>>2]|c;else c=k[e>>2]&~c;k[e>>2]=c;f=f+1|0}while((f|0)<(h|0))}e=j;g=k[e>>2]|0;e=k[e+4>>2]|0;h=n;c=k[h>>2]|0;h=jq(c|0,k[h+4>>2]|0,4,0)|0;f=L;if(!((e|0)<(f|0)|(e|0)==(f|0)&g>>>0>>0)?(g=a+12|0,e=(k[b>>2]|0)+c|0,e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24,i[g>>0]=e,i[g+1>>0]=e>>8,i[g+2>>0]=e>>16,i[g+3>>0]=e>>24,g=n,e=k[g>>2]|0,g=k[g+4>>2]|0,m=jq(e|0,g|0,4,0)|0,f=n,k[f>>2]=m,k[f+4>>2]=L,f=j,h=k[f>>2]|0,f=k[f+4>>2]|0,j=jq(e|0,g|0,8,0)|0,g=L,!((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0)):0){a=a+16|0;c=(k[b>>2]|0)+m|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[a>>0]=c;i[a+1>>0]=c>>8;i[a+2>>0]=c>>16;i[a+3>>0]=c>>24;a=n;a=jq(k[a>>2]|0,k[a+4>>2]|0,4,0)|0;c=n;k[c>>2]=a;k[c+4>>2]=L;c=1}else c=0;rd(o);o=c;r=p;return o|0}function Mj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;n=p+4|0;o=p;k[a+48>>2]=e;k[a+40>>2]=f;m=a+44|0;l=bq(e>>>0>1073741823?-1:e<<2)|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)cq(d);l=a+8|0;k[l>>2]=e;j=a+32|0;g=k[j>>2]|0;f=k[g+4>>2]|0;d=k[g>>2]|0;h=f-d|0;if((h|0)<=0){r=p;return 1}i=f;f=(h>>2)+-1|0;while(1){if(i-d>>2>>>0<=f>>>0){d=8;break}k[o>>2]=k[d+(f<<2)>>2];k[n>>2]=k[o>>2];Nj(a,n,b,f);i=ha(f,e)|0;tj(l,b+(i<<2)|0,k[m>>2]|0,c,i);f=f+-1|0;if((f|0)<=-1){d=5;break}g=k[j>>2]|0;d=k[g>>2]|0;i=k[g+4>>2]|0}if((d|0)==5){r=p;return 1}else if((d|0)==8)zp(g);return 0}function Nj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;i=a+24|0;e=k[b>>2]|0;do if((e|0)>=0){b=e+1|0;b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e|0)%3|0)){g=e+2|0;break}else{g=e+-1|0;break}}else{g=e;b=e}while(0);e=k[(k[i>>2]|0)+28>>2]|0;b=k[e+(b<<2)>>2]|0;e=k[e+(g<<2)>>2]|0;g=k[a+28>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)zp(g);n=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=e>>>0)zp(g);e=k[j+(e<<2)>>2]|0;b=(n|0)<(d|0);if(!(b&(e|0)<(d|0))){do if(b){i=a+48|0;g=k[i>>2]|0;b=g;g=ha(g,n)|0}else{if((d|0)>0){i=a+48|0;g=k[i>>2]|0;b=g;g=ha(g,d+-1|0)|0;break}g=a+48|0;if((k[g>>2]|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+g<<2)>>2];e=e+1|0}while((e|0)<(k[i>>2]|0));r=t;return}b=a+48|0;j=k[b>>2]|0;i=ha(j,n)|0;f=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);j=ha(j,e)|0;l=+(k[c+(j<<2)>>2]|0);m=+(k[c+(j+1<<2)>>2]|0);if(!(l!=f|m!=h)){a=k[a+44>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~m;r=t;return}Oj(s,a,d);Oj(p,a,n);Oj(q,a,e);B=+o[p>>2];x=+o[q>>2]-B;A=+o[p+4>>2];w=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=x*x+0.0+w*w+y*y;u=(x*B+0.0+w*A+y*z)/v;x=B-x*u;w=A-w*u;y=z-y*u;v=+X(+((y*y+(w*w+(x*x+0.0)))/v));x=l-f;w=m-h;l=f+x*u;m=x*v;u=h+w*u;v=w*v;h=l-v;f=m+u;l=v+l;m=u-m;i=ha(k[b>>2]|0,d)|0;u=+(k[c+(i<<2)>>2]|0);v=+(k[c+(i+1<<2)>>2]|0);w=u-h;x=v-f;u=u-l;v=v-m;i=a+52|0;j=a+56|0;b=k[j>>2]|0;e=k[a+60>>2]|0;g=(b|0)==(e<<5|0);if(x*x+(w*w+0.0)>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Cd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31)}else{if(g){if((b+1|0)<0)yp(i);if(e<<5>>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Cd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(b&31));h=l;f=m}c=~~+V(+(h+.5));a=k[a+44>>2]|0;k[a>>2]=c;c=~~+V(+(f+.5));k[a+4>>2]=c;r=t;return}function Oj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+40>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+36>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];Bc(b,d,a)|0;r=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];Ic(b,d,a)|0;r=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];Pc(b,d,a)|0;r=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];Wc(b,d,a)|0;r=j;return}default:{r=j;return}}}function Pj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+16|0;j=m+4|0;l=m;k[a+48>>2]=e;k[a+40>>2]=f;i=a+44|0;h=bq(e>>>0>1073741823?-1:e<<2)|0;d=k[i>>2]|0;k[i>>2]=h;if(d|0)cq(d);h=a+8|0;k[h>>2]=e;g=a+32|0;f=k[g>>2]|0;d=k[f>>2]|0;if((k[f+4>>2]|0)==(d|0)){r=m;return 1}f=0;do{k[l>>2]=k[d+(f<<2)>>2];k[j>>2]=k[l>>2];Qj(a,j,c,f);n=ha(f,e)|0;xj(h,k[i>>2]|0,b,c+(n<<2)|0,n);f=f+1|0;n=k[g>>2]|0;d=k[n>>2]|0}while(f>>>0<(k[n+4>>2]|0)-d>>2>>>0);r=m;return 1}function Qj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0.0,i=0,j=0.0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;g=a+24|0;e=k[b>>2]|0;do if((e|0)>=0){b=e+1|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);e=k[(k[g>>2]|0)+28>>2]|0;b=k[e+(b<<2)>>2]|0;e=k[e+(f<<2)>>2]|0;f=k[a+28>>2]|0;g=k[f+4>>2]|0;i=k[f>>2]|0;if(g-i>>2>>>0<=b>>>0)zp(f);n=k[i+(b<<2)>>2]|0;if(g-i>>2>>>0<=e>>>0)zp(f);e=k[i+(e<<2)>>2]|0;b=(n|0)<(d|0);if(b&(e|0)<(d|0)){i=k[a+48>>2]|0;g=ha(i,n)|0;j=+(k[c+(g<<2)>>2]|0);l=+(k[c+(g+1<<2)>>2]|0);i=ha(i,e)|0;m=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);if(m!=j|h!=l){Oj(s,a,d);Oj(p,a,n);Oj(q,a,e);B=+o[p>>2];w=+o[q>>2]-B;A=+o[p+4>>2];x=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=w*w+0.0+x*x+y*y;u=(w*B+0.0+x*A+y*z)/v;w=B-w*u;x=A-x*u;y=z-y*u;v=+X(+((y*y+(x*x+(w*w+0.0)))/v));w=m-j;h=h-l;m=w*v;v=h*v;d=a+56|0;s=(k[d>>2]|0)+-1|0;c=(1<<(s&31)&k[(k[a+52>>2]|0)+(s>>>5<<2)>>2]|0)==0;k[d>>2]=s;d=~~+V(+(j+w*u+(c?v:-v)+.5));a=k[a+44>>2]|0;k[a>>2]=d;c=~~+V(+(l+h*u+(c?-m:m)+.5));k[a+4>>2]=c;r=t;return}else{a=k[a+44>>2]|0;k[a>>2]=~~m;k[a+4>>2]=~~h;r=t;return}}do if(b){g=a+48|0;f=k[g>>2]|0;b=f;f=ha(f,n)|0}else{if((d|0)>0){g=a+48|0;f=k[g>>2]|0;b=f;f=ha(f,d+-1|0)|0;break}f=a+48|0;if((k[f>>2]|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[f>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+f<<2)>>2];e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}function Rj(a){a=a|0;Ip(a);return}function Sj(a){a=a|0;return 1}function Tj(a){a=a|0;if(!(k[a+20>>2]|0)){a=0;return a|0}if(!(k[a+24>>2]|0)){a=0;return a|0}if(!(k[a+28>>2]|0)){a=0;return a|0}a=(k[a+32>>2]|0)!=0;return a|0}function Uj(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;p=a+8|0;k[p>>2]=e;r=e>>>0>1073741823?-1:e<<2;q=bq(r)|0;hq(q|0,0,r|0)|0;r=k[a+24>>2]|0;s=a+32|0;d=k[s>>2]|0;g=k[d+4>>2]|0;f=k[d>>2]|0;h=g-f|0;a:do if((h|0)>4){m=k[a+28>>2]|0;n=r+12|0;o=(e|0)>0;j=h>>2;while(1){l=j+-1|0;if(g-f>>2>>>0<=l>>>0)break;f=k[f+(l<<2)>>2]|0;if((f|0)>=0?(u=k[(k[n>>2]|0)+(f<<2)>>2]|0,(u|0)>-1):0){a=k[r>>2]|0;d=(u|0)%3|0;g=k[m>>2]|0;h=k[g+(k[a+(((u|0)/3|0)*12|0)+(d<<2)>>2]<<2)>>2]|0;f=u+1|0;f=((f|0)%3|0|0)==0?u+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[a+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;i=k[g+(f<<2)>>2]|0;f=((d|0)==0?2:-1)+u|0;if((f|0)<0)f=-1073741824;else f=k[a+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;d=k[g+(f<<2)>>2]|0;f=ha(l,e)|0;if((h|0)<(l|0)&(i|0)<(l|0)&(d|0)<(l|0)){h=ha(h,e)|0;g=ha(i,e)|0;d=ha(d,e)|0;if(o){a=0;do{k[q+(a<<2)>>2]=(k[b+(a+d<<2)>>2]|0)+(k[b+(a+g<<2)>>2]|0)-(k[b+(a+h<<2)>>2]|0);a=a+1|0}while((a|0)!=(e|0))}tj(p,b+(f<<2)|0,q,c,f)}else v=16}else{f=ha(l,e)|0;v=16}if((v|0)==16){v=0;tj(p,b+(f<<2)|0,b+((ha(j+-2|0,e)|0)<<2)|0,c,f)}if((l|0)<=1){t=q;break a}d=k[s>>2]|0;f=k[d>>2]|0;g=k[d+4>>2]|0;j=l}zp(d)}else t=q;while(0);if((e|0)<=0){tj(p,b,t,c,0);cq(q);return 1}hq(q|0,0,e<<2|0)|0;tj(p,b,t,c,0);cq(q);return 1}function Vj(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;o=a+8|0;k[o>>2]=e;p=k[a+24>>2]|0;q=k[a+28>>2]|0;n=e>>>0>1073741823?-1:e<<2;r=bq(n)|0;hq(r|0,0,n|0)|0;xj(o,r,b,c,0);n=a+32|0;m=k[n>>2]|0;f=k[m>>2]|0;if((k[m+4>>2]|0)-f>>2>>>0<=1){cq(r);return 1}l=p+12|0;m=(e|0)>0;j=1;do{f=k[f+(j<<2)>>2]|0;if((f|0)>=0?(s=k[(k[l>>2]|0)+(f<<2)>>2]|0,(s|0)>-1):0){a=k[p>>2]|0;d=(s|0)%3|0;g=k[q>>2]|0;h=k[g+(k[a+(((s|0)/3|0)*12|0)+(d<<2)>>2]<<2)>>2]|0;f=s+1|0;f=((f|0)%3|0|0)==0?s+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[a+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;i=k[g+(f<<2)>>2]|0;f=((d|0)==0?2:-1)+s|0;if((f|0)<0)f=-1073741824;else f=k[a+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;d=k[g+(f<<2)>>2]|0;f=ha(j,e)|0;if((h|0)<(j|0)&(i|0)<(j|0)&(d|0)<(j|0)){h=ha(h,e)|0;g=ha(i,e)|0;d=ha(d,e)|0;if(m){a=0;do{k[r+(a<<2)>>2]=(k[c+(a+d<<2)>>2]|0)+(k[c+(a+g<<2)>>2]|0)-(k[c+(a+h<<2)>>2]|0);a=a+1|0}while((a|0)!=(e|0))}xj(o,r,b,c+(f<<2)|0,f)}else t=12}else{f=ha(j,e)|0;t=12}if((t|0)==12){t=0;xj(o,c+((ha(j+-1|0,e)|0)<<2)|0,b,c+(f<<2)|0,f)}j=j+1|0;i=k[n>>2]|0;f=k[i>>2]|0}while(j>>>0<(k[i+4>>2]|0)-f>>2>>>0);cq(r);return 1}function Wj(a){a=a|0;Ip(a);return}function Xj(a){a=a|0;return 2}function Yj(a){a=a|0;if(!(k[a+20>>2]|0)){a=0;return a|0}if(!(k[a+24>>2]|0)){a=0;return a|0}if(!(k[a+28>>2]|0)){a=0;return a|0}a=(k[a+32>>2]|0)!=0;return a|0}function Zj(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;v=a+8|0;k[v>>2]=e;w=k[a+24>>2]|0;x=k[a+28>>2]|0;u=e>>>0>1073741823?-1:e<<2;y=bq(u)|0;hq(y|0,0,u|0)|0;u=a+32|0;a=k[u>>2]|0;d=k[a+4>>2]|0;f=k[a>>2]|0;g=d-f|0;a:do if((g|0)>4){r=(e|0)>0;s=w+12|0;t=e<<2;p=g>>2;while(1){q=p+-1|0;if(d-f>>2>>>0<=q>>>0)break;o=k[f+(q<<2)>>2]|0;if(r)hq(y|0,0,t|0)|0;if((o|0)>-1){n=k[s>>2]|0;m=o;a=0;do{d=k[n+(m<<2)>>2]|0;if((d|0)>-1){h=k[w>>2]|0;g=(d|0)%3|0;i=k[x>>2]|0;l=k[i+(k[h+(((d|0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;f=d+1|0;f=((f|0)%3|0|0)==0?d+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;j=k[i+(f<<2)>>2]|0;f=((g|0)==0?2:-1)+d|0;if((f|0)<0)f=-1073741824;else f=k[h+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;if((l|0)<(q|0)&(j|0)<(q|0)&(f|0)<(q|0)){h=ha(l,e)|0;g=ha(j,e)|0;f=ha(f,e)|0;if(r){d=0;do{l=y+(d<<2)|0;k[l>>2]=(k[b+(d+f<<2)>>2]|0)+(k[b+(d+g<<2)>>2]|0)-(k[b+(d+h<<2)>>2]|0)+(k[l>>2]|0);d=d+1|0}while((d|0)!=(e|0))}a=a+1|0}}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=ha(q,e)|0;if(!a)A=30;else{if(r){d=0;do{p=y+(d<<2)|0;k[p>>2]=(k[p>>2]|0)/(a|0)|0;d=d+1|0}while((d|0)!=(e|0))}tj(v,b+(f<<2)|0,y,c,f)}}else{f=ha(q,e)|0;A=30}if((A|0)==30){A=0;tj(v,b+(f<<2)|0,b+((ha(p+-2|0,e)|0)<<2)|0,c,f)}if((q|0)<=1){z=y;break a}a=k[u>>2]|0;f=k[a>>2]|0;d=k[a+4>>2]|0;p=q}zp(a)}else z=y;while(0);if((e|0)<=0){tj(v,b,z,c,0);cq(y);return 1}hq(y|0,0,e<<2|0)|0;tj(v,b,z,c,0);cq(y);return 1}function _j(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;u=a+8|0;k[u>>2]=e;w=e>>>0>1073741823?-1:e<<2;v=bq(w)|0;hq(v|0,0,w|0)|0;xj(u,v,b,c,0);w=k[a+24>>2]|0;x=a+32|0;t=k[x>>2]|0;f=k[t>>2]|0;if((k[t+4>>2]|0)-f>>2>>>0<=1){cq(v);return 1}q=k[a+28>>2]|0;r=(e|0)>0;s=w+12|0;t=e<<2;p=1;do{o=k[f+(p<<2)>>2]|0;if(r)hq(v|0,0,t|0)|0;if((o|0)>-1){n=k[s>>2]|0;m=o;a=0;do{d=k[n+(m<<2)>>2]|0;if((d|0)>-1){h=k[w>>2]|0;g=(d|0)%3|0;i=k[q>>2]|0;l=k[i+(k[h+(((d|0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;f=d+1|0;f=((f|0)%3|0|0)==0?d+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;j=k[i+(f<<2)>>2]|0;f=((g|0)==0?2:-1)+d|0;if((f|0)<0)f=-1073741824;else f=k[h+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;if((l|0)<(p|0)&(j|0)<(p|0)&(f|0)<(p|0)){h=ha(l,e)|0;g=ha(j,e)|0;f=ha(f,e)|0;if(r){d=0;do{l=v+(d<<2)|0;k[l>>2]=(k[c+(d+f<<2)>>2]|0)+(k[c+(d+g<<2)>>2]|0)-(k[c+(d+h<<2)>>2]|0)+(k[l>>2]|0);d=d+1|0}while((d|0)!=(e|0))}a=a+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=ha(p,e)|0;if(!a)y=26;else{if(r){d=0;do{o=v+(d<<2)|0;k[o>>2]=(k[o>>2]|0)/(a|0)|0;d=d+1|0}while((d|0)!=(e|0))}xj(u,v,b,c+(f<<2)|0,f)}}else{f=ha(p,e)|0;y=26}if((y|0)==26){y=0;xj(u,c+((ha(p+-1|0,e)|0)<<2)|0,b,c+(f<<2)|0,f)}p=p+1|0;o=k[x>>2]|0;f=k[o>>2]|0}while(p>>>0<(k[o+4>>2]|0)-f>>2>>>0);cq(v);return 1}function $j(a){a=a|0;var b=0;k[a>>2]=4112;b=k[a+52>>2]|0;if(b|0)Ip(b);a=a+44|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;cq(b);return}function ak(a){a=a|0;var b=0,c=0;k[a>>2]=4112;b=k[a+52>>2]|0;if(b|0)Ip(b);c=a+44|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){Ip(a);return}cq(b);Ip(a);return}function bk(a){a=a|0;return 3}function ck(a){a=a|0;if(!(k[a+36>>2]|0))return 0;if(!(k[a+20>>2]|0))return 0;if(!(k[a+24>>2]|0))return 0;if(!(k[a+28>>2]|0))return 0;else return (k[a+32>>2]|0)!=0|0;return 0}function dk(a){a=a|0;return 1}function ek(a,b){a=a|0;b=b|0;if(!b)return 0;else Aa(8735,8746,75,8826);return 0}function fk(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){a=0;return a|0}if((i[b+24>>0]|0)!=3){a=0;return a|0}k[a+36>>2]=b;a=1;return a|0}function gk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n+40|0;l=n+36|0;c=n+32|0;m=n;d=a+56|0;k[c>>2]=k[d>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0)){k[l>>2]=k[b+4>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0}jd(m);nd(m);c=k[a+52>>2]|0;g=k[d>>2]|0;f=g>>>5;h=c+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){f=c;c=1;while(1){if(d){e=0;d=c;while(1){c=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){kd(m);r=n;return 1}d=b+4|0;k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0;h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){kd(m);r=n;return 1}k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0;kd(m);r=n;return 1}function hk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;o=p;j=b+8|0;g=j;h=k[g>>2]|0;g=k[g+4>>2]|0;n=b+16|0;d=n;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){o=0;r=p;return o|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=n;k[g>>2]=d;k[g+4>>2]=e;d=a+52|0;hi(d,h,0);qd(o);sd(o,b);if((h|0)>0){f=0;g=1;do{g=g^((td(o)|0)^1);e=(k[d>>2]|0)+(f>>>5<<2)|0;c=1<<(f&31);if(g)c=k[e>>2]|c;else c=k[e>>2]&~c;k[e>>2]=c;f=f+1|0}while((f|0)<(h|0))}e=j;g=k[e>>2]|0;e=k[e+4>>2]|0;h=n;c=k[h>>2]|0;h=jq(c|0,k[h+4>>2]|0,4,0)|0;f=L;if(!((e|0)<(f|0)|(e|0)==(f|0)&g>>>0>>0)?(g=a+12|0,e=(k[b>>2]|0)+c|0,e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24,i[g>>0]=e,i[g+1>>0]=e>>8,i[g+2>>0]=e>>16,i[g+3>>0]=e>>24,g=n,e=k[g>>2]|0,g=k[g+4>>2]|0,m=jq(e|0,g|0,4,0)|0,f=n,k[f>>2]=m,k[f+4>>2]=L,f=j,h=k[f>>2]|0,f=k[f+4>>2]|0,j=jq(e|0,g|0,8,0)|0,g=L,!((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0)):0){a=a+16|0;c=(k[b>>2]|0)+m|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[a>>0]=c;i[a+1>>0]=c>>8;i[a+2>>0]=c>>16;i[a+3>>0]=c>>24;a=n;a=jq(k[a>>2]|0,k[a+4>>2]|0,4,0)|0;c=n;k[c>>2]=a;k[c+4>>2]=L;c=1}else c=0;rd(o);o=c;r=p;return o|0}function ik(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;n=p+4|0;o=p;k[a+48>>2]=e;k[a+40>>2]=f;m=a+44|0;l=bq(e>>>0>1073741823?-1:e<<2)|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)cq(d);l=a+8|0;k[l>>2]=e;j=a+32|0;g=k[j>>2]|0;f=k[g+4>>2]|0;d=k[g>>2]|0;h=f-d|0;if((h|0)<=0){r=p;return 1}i=f;f=(h>>2)+-1|0;while(1){if(i-d>>2>>>0<=f>>>0){d=8;break}k[o>>2]=k[d+(f<<2)>>2];k[n>>2]=k[o>>2];jk(a,n,b,f);i=ha(f,e)|0;tj(l,b+(i<<2)|0,k[m>>2]|0,c,i);f=f+-1|0;if((f|0)<=-1){d=5;break}g=k[j>>2]|0;d=k[g>>2]|0;i=k[g+4>>2]|0}if((d|0)==5){r=p;return 1}else if((d|0)==8)zp(g);return 0}function jk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;i=a+24|0;b=k[b>>2]|0;if((b|0)>=0){e=b+1|0;e=((e|0)%3|0|0)==0?b+-2|0:e;g=b+(((b|0)%3|0|0)==0?2:-1)|0;if((e|0)<0)b=-1073741824;else b=k[(k[k[i>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((g|0)<0)e=-1073741824;else e=k[(k[k[i>>2]>>2]|0)+(((g|0)/3|0)*12|0)+(((g|0)%3|0)<<2)>>2]|0}else{b=-1073741824;e=-1073741824}g=k[a+28>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)zp(g);n=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=e>>>0)zp(g);e=k[j+(e<<2)>>2]|0;b=(n|0)<(d|0);if(!(b&(e|0)<(d|0))){do if(b){i=a+48|0;g=k[i>>2]|0;b=g;g=ha(g,n)|0}else{if((d|0)>0){i=a+48|0;g=k[i>>2]|0;b=g;g=ha(g,d+-1|0)|0;break}g=a+48|0;if((k[g>>2]|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+g<<2)>>2];e=e+1|0}while((e|0)<(k[i>>2]|0));r=t;return}b=a+48|0;j=k[b>>2]|0;i=ha(j,n)|0;f=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);j=ha(j,e)|0;l=+(k[c+(j<<2)>>2]|0);m=+(k[c+(j+1<<2)>>2]|0);if(!(l!=f|m!=h)){a=k[a+44>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~m;r=t;return}kk(s,a,d);kk(p,a,n);kk(q,a,e);B=+o[p>>2];x=+o[q>>2]-B;A=+o[p+4>>2];w=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=x*x+0.0+w*w+y*y;u=(x*B+0.0+w*A+y*z)/v;x=B-x*u;w=A-w*u;y=z-y*u;v=+X(+((y*y+(w*w+(x*x+0.0)))/v));x=l-f;w=m-h;l=f+x*u;m=x*v;u=h+w*u;v=w*v;h=l-v;f=m+u;l=v+l;m=u-m;i=ha(k[b>>2]|0,d)|0;u=+(k[c+(i<<2)>>2]|0);v=+(k[c+(i+1<<2)>>2]|0);w=u-h;x=v-f;u=u-l;v=v-m;i=a+52|0;j=a+56|0;b=k[j>>2]|0;e=k[a+60>>2]|0;g=(b|0)==(e<<5|0);if(x*x+(w*w+0.0)>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Cd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31)}else{if(g){if((b+1|0)<0)yp(i);if(e<<5>>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Cd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(b&31));h=l;f=m}c=~~+V(+(h+.5));a=k[a+44>>2]|0;k[a>>2]=c;c=~~+V(+(f+.5));k[a+4>>2]=c;r=t;return}function kk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+40>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+36>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];Bc(b,d,a)|0;r=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];Ic(b,d,a)|0;r=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];Pc(b,d,a)|0;r=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];Wc(b,d,a)|0;r=j;return}default:{r=j;return}}}function lk(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;m=r;r=r+16|0;j=m+4|0;l=m;k[a+48>>2]=e;k[a+40>>2]=f;i=a+44|0;h=bq(e>>>0>1073741823?-1:e<<2)|0;d=k[i>>2]|0;k[i>>2]=h;if(d|0)cq(d);h=a+8|0;k[h>>2]=e;g=a+32|0;f=k[g>>2]|0;d=k[f>>2]|0;if((k[f+4>>2]|0)==(d|0)){r=m;return 1}f=0;do{k[l>>2]=k[d+(f<<2)>>2];k[j>>2]=k[l>>2];mk(a,j,c,f);n=ha(f,e)|0;xj(h,k[i>>2]|0,b,c+(n<<2)|0,n);f=f+1|0;n=k[g>>2]|0;d=k[n>>2]|0}while(f>>>0<(k[n+4>>2]|0)-d>>2>>>0);r=m;return 1}function mk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0.0,i=0.0,j=0.0,l=0.0,m=0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;f=a+24|0;b=k[b>>2]|0;if((b|0)>=0){e=b+1|0;e=((e|0)%3|0|0)==0?b+-2|0:e;b=b+(((b|0)%3|0|0)==0?2:-1)|0;if((e|0)<0)e=-1073741824;else e=k[(k[k[f>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((b|0)<0)m=-1073741824;else m=k[(k[k[f>>2]>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0}else{m=-1073741824;e=-1073741824}b=k[a+28>>2]|0;f=k[b+4>>2]|0;g=k[b>>2]|0;if(f-g>>2>>>0<=e>>>0)zp(b);n=k[g+(e<<2)>>2]|0;if(f-g>>2>>>0<=m>>>0)zp(b);e=k[g+(m<<2)>>2]|0;b=(n|0)<(d|0);if(b&(e|0)<(d|0)){m=k[a+48>>2]|0;g=ha(m,n)|0;i=+(k[c+(g<<2)>>2]|0);j=+(k[c+(g+1<<2)>>2]|0);m=ha(m,e)|0;l=+(k[c+(m<<2)>>2]|0);h=+(k[c+(m+1<<2)>>2]|0);if(l!=i|h!=j){kk(s,a,d);kk(p,a,n);kk(q,a,e);B=+o[p>>2];w=+o[q>>2]-B;A=+o[p+4>>2];x=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=w*w+0.0+x*x+y*y;u=(w*B+0.0+x*A+y*z)/v;w=B-w*u;x=A-x*u;y=z-y*u;v=+X(+((y*y+(x*x+(w*w+0.0)))/v));w=l-i;h=h-j;l=w*v;v=h*v;d=a+56|0;s=(k[d>>2]|0)+-1|0;c=(1<<(s&31)&k[(k[a+52>>2]|0)+(s>>>5<<2)>>2]|0)==0;k[d>>2]=s;d=~~+V(+(i+w*u+(c?v:-v)+.5));a=k[a+44>>2]|0;k[a>>2]=d;c=~~+V(+(j+h*u+(c?-l:l)+.5));k[a+4>>2]=c;r=t;return}else{a=k[a+44>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~h;r=t;return}}do if(b){g=a+48|0;f=k[g>>2]|0;b=f;f=ha(f,n)|0}else{if((d|0)>0){g=a+48|0;f=k[g>>2]|0;b=f;f=ha(f,d+-1|0)|0;break}f=a+48|0;if((k[f>>2]|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[f>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+f<<2)>>2];e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}function nk(a){a=a|0;Ip(a);return}function ok(a){a=a|0;return 0}function pk(a){a=a|0;return 1}function qk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=a+8|0;k[g>>2]=e;f=d-e|0;if((f|0)>0){a=0-e|0;do{d=b+(f<<2)|0;tj(g,d,d+(a<<2)|0,c,f);f=f-e|0}while((f|0)>0)}d=e>>>0>1073741823?-1:e<<2;e=bq(d)|0;hq(e|0,0,d|0)|0;tj(g,b,e,c,0);cq(e);return 1}function rk(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;f=a+8|0;k[f>>2]=e;h=e>>>0>1073741823?-1:e<<2;a=bq(h)|0;hq(a|0,0,h|0)|0;xj(f,a,b,c,0);if((e|0)>=(d|0)){cq(a);return 1}g=0-e|0;h=e;do{i=c+(h<<2)|0;xj(f,i+(g<<2)|0,b,i,h);h=h+e|0}while((h|0)<(d|0));cq(a);return 1}function sk(a){a=a|0;return 2}function tk(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;n=p;l=a+8|0;m=i[(k[l>>2]|0)+24>>0]<<2;if(!b){r=p;return 1}o=a+16|0;j=a+20|0;c=+((1<>2])+-1|0)+-1.0;f=0;g=0;h=0;while(1){a=h|1;d=k[j>>2]|0;e=k[o>>2]|0;if(d-e>>2>>>0<=h>>>0){a=6;break}if(d-e>>2>>>0<=a>>>0){a=8;break}uk(+(k[e+(h<<2)>>2]|0)/c,+(k[e+(a<<2)>>2]|0)/c,n);lq((k[k[(k[l>>2]|0)+64>>2]>>2]|0)+g|0,n|0,m|0)|0;f=f+1|0;if((f|0)==(b|0)){a=3;break}else{g=g+m|0;h=h+2|0}}if((a|0)==3){r=p;return 1}else if((a|0)==6)zp(o);else if((a|0)==8)zp(o);return 0}function uk(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,h=0.0,i=0;e=a+b;d=a-b;if(!(d<=.5)|(!(d>=-.5)|(!(e>=.5)|!(e<=1.5)))){do if(!(e<=.5)){if(e>=1.5){e=1.5-b;b=1.5-a;break}if(!(d<=-.5)){e=b+.5;b=a+-.5;break}else{e=b+-.5;b=a+.5;break}}else{e=.5-b;b=.5-a}while(0);a=e;d=e-b;e=b+e;f=-1.0}else f=1.0;g=a*2.0+-1.0;b=b*2.0+-1.0;h=e*2.0;e=h+-1.0;h=3.0-h;d=d*2.0;a=d+1.0;d=1.0-d;a=d>2]=0.0;h=0.0;g=0.0;i=c+4|0;o[i>>2]=g;c=c+8|0;o[c>>2]=h;return}else{f=1.0/+X(+a);o[c>>2]=d*f;h=b*f;g=g*f;i=c+4|0;o[i>>2]=g;i=c+8|0;o[i>>2]=h;return}}function vk(a){a=a|0;Ti(a);k[a>>2]=3740;k[a+32>>2]=-1;return}function wk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=4240;e=a+48|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);d=k[a+36>>2]|0;e=d;if(d|0){b=a+40|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-e|0)>>>2)<<2);Ip(d)}d=a+24|0;b=k[d>>2]|0;if(b|0){e=a+28|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[e>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Ip(b)}k[a>>2]=2948;d=k[a+4>>2]|0;if(!d)return;b=a+8|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);Ip(d);return}function xk(a){a=a|0;wk(a);Ip(a);return}function yk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;if(!(Vg(a,b)|0)){a=0;return a|0}l=a+24|0;m=a+4|0;n=a+8|0;f=(k[n>>2]|0)-(k[m>>2]|0)>>2;h=a+28|0;c=k[h>>2]|0;e=k[l>>2]|0;d=c-e>>2;if(f>>>0<=d>>>0){if(f>>>0>>0?(g=e+(f<<2)|0,(c|0)!=(g|0)):0)do{j=c+-4|0;k[h>>2]=j;c=k[j>>2]|0;k[j>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[h>>2]|0}while((c|0)!=(g|0))}else zk(l,f-d|0);e=b+8|0;if(((k[n>>2]|0)-(k[m>>2]|0)|0)<=0){a=1;return a|0}f=b+16|0;g=a+16|0;h=a+4|0;j=0;while(1){o=e;p=k[o+4>>2]|0;d=f;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((p|0)>(d|0)|((p|0)==(d|0)?(k[o>>2]|0)>>>0>c>>>0:0))){c=0;d=17;break}o=i[(k[b>>2]|0)+c>>0]|0;c=jq(c|0,d|0,1,0)|0;p=f;k[p>>2]=c;k[p+4>>2]=L;p=(k[l>>2]|0)+(j<<2)|0;o=gb[k[(k[a>>2]|0)+20>>2]&63](a,o)|0;c=k[p>>2]|0;k[p>>2]=o;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[(k[l>>2]|0)+(j<<2)>>2]|0;if(!c){c=0;d=17;break}if(!(_a[k[(k[c>>2]|0)+8>>2]&31](c,k[g>>2]|0,k[(k[h>>2]|0)+(j<<2)>>2]|0)|0)){c=0;d=17;break}j=j+1|0;if((j|0)>=((k[n>>2]|0)-(k[m>>2]|0)>>2|0)){c=1;d=17;break}}if((d|0)==17)return c|0;return 0}function zk(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;d=k[m>>2]|0;n=a+4|0;c=k[n>>2]|0;if(d-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[n>>2]=c+(b<<2);return}f=k[a>>2]|0;e=(c-f>>2)+b|0;if(e>>>0>1073741823)yp(a);l=f;c=d-f|0;if(c>>2>>>0<536870911){d=c>>1;d=d>>>0>>0?e:d;c=k[n>>2]|0;e=c-f>>2;if(!d){h=0;i=0;g=e}else j=8}else{e=k[n>>2]|0;d=1073741823;c=e;e=e-f>>2;j=8}if((j|0)==8){h=d;i=$p(d<<2)|0;g=e}e=i+(g<<2)|0;hq(e|0,0,b<<2|0)|0;d=e;h=i+(h<<2)|0;g=i+(g+b<<2)|0;if((c|0)!=(l|0)){do{c=c+-4|0;b=k[c>>2]|0;k[c>>2]=0;k[e+-4>>2]=b;e=d+-4|0;d=e}while((c|0)!=(l|0));c=d;d=c;f=k[a>>2]|0;c=k[n>>2]|0}k[a>>2]=d;k[n>>2]=g;k[m>>2]=h;e=f;if((c|0)!=(e|0))do{c=c+-4|0;d=k[c>>2]|0;k[c>>2]=0;if(d|0)ab[k[(k[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!f)return;Ip(f);return}function Ak(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;h=a+48|0;c=k[h>>2]|0;if(!c){b=0;return b|0}o=a+36|0;k[c+4>>2]=o;if(!(cb[k[(k[c>>2]|0)+12>>2]&127](c)|0)){b=0;return b|0}n=a+4|0;m=a+8|0;c=k[m>>2]|0;d=k[n>>2]|0;a:do if((c-d|0)>0){g=a+16|0;f=0;while(1){e=k[(k[g>>2]|0)+4>>2]|0;c=k[d+(f<<2)>>2]|0;if((c|0)<=-1){c=9;break}d=k[e+4>>2]|0;if((k[e+8>>2]|0)-d>>2>>>0<=c>>>0){c=11;break}e=k[h>>2]|0;f=f+1|0;if(!(gb[k[(k[e>>2]|0)+8>>2]&63](e,k[d+(c<<2)>>2]|0)|0)){l=0;c=15;break}c=k[m>>2]|0;d=k[n>>2]|0;if((f|0)>=(c-d>>2|0)){i=d;j=c;break a}}if((c|0)==9)Aa(9717,9733,62,9761);else if((c|0)==11)Aa(9771,9733,63,9761);else if((c|0)==15)return l|0}else{i=d;j=c}while(0);if((j-i|0)<=0){b=1;return b|0}c=a+24|0;d=0;while(1){a=k[(k[c>>2]|0)+(d<<2)>>2]|0;d=d+1|0;if(!(_a[k[(k[a>>2]|0)+16>>2]&31](a,o,b)|0)){l=0;c=15;break}if((d|0)>=((k[m>>2]|0)-(k[n>>2]|0)>>2|0)){l=1;c=15;break}}if((c|0)==15)return l|0;return 0}function Bk(a,b){a=a|0;b=b|0;switch(b&255|0){case 0:{b=$p(16)|0;vh(b);break}case 1:{b=$p(32)|0;Ti(b);break}case 2:{b=$p(44)|0;$i(b);break}case 3:{b=$p(36)|0;vk(b);break}default:b=0}return b|0}function Ck(a,b){a=a|0;b=b|0;var c=0;Xg(a);k[a>>2]=4240;c=a+24|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;c=k[b>>2]|0;k[b>>2]=0;k[a+48>>2]=c;return}function Dk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Ip(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)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Ip(b);Ip(a);return}function Ek(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+16|0;j=l;i=$p(52)|0;g=$p(12)|0;f=k[(k[a+4>>2]|0)+64>>2]|0;k[g+4>>2]=0;k[g>>2]=4316;k[g+8>>2]=f;k[j>>2]=g;Ck(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){Kk(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)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[f>>2]|0}while((a|0)!=(h|0))}while(0);b=(k[g>>2]|0)+(b<<2)|0;a=k[b>>2]|0;k[b>>2]=i;if(a|0)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[j>>2]|0;k[j>>2]=0;if(!a){r=l;return 1}ab[k[(k[a>>2]|0)+4>>2]&127](a);r=l;return 1}function Fk(a){a=a|0;return}function Gk(a){a=a|0;Ip(a);return}function Hk(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 Ik(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;d=a+8|0;a=k[d>>2]|0;e=g+4|0;c=k[e>>2]|0;b=k[g>>2]|0;f=c-b>>2;if(a>>>0<=f>>>0){if(a>>>0>>0?(h=b+(a<<2)|0,(c|0)!=(h|0)):0)k[e>>2]=c+(~((c+-4-h|0)>>>2)<<2)}else{Jk(g,a-f|0);a=k[d>>2]|0}if((a|0)>0)c=0;else return 1;while(1){d=k[i>>2]|0;b=k[d>>2]|0;if((k[d+4>>2]|0)-b>>2>>>0<=c>>>0){a=10;break}k[b+(c<<2)>>2]=c;c=c+1|0;if((c|0)>=(a|0)){a=7;break}}if((a|0)==7)return 1;else if((a|0)==10)zp(d);return 0}function Jk(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;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)yp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;hq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;lq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Ip(j);return}function Kk(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;d=k[m>>2]|0;n=a+4|0;c=k[n>>2]|0;if(d-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[n>>2]=c+(b<<2);return}f=k[a>>2]|0;e=(c-f>>2)+b|0;if(e>>>0>1073741823)yp(a);l=f;c=d-f|0;if(c>>2>>>0<536870911){d=c>>1;d=d>>>0>>0?e:d;c=k[n>>2]|0;e=c-f>>2;if(!d){h=0;i=0;g=e}else j=8}else{e=k[n>>2]|0;d=1073741823;c=e;e=e-f>>2;j=8}if((j|0)==8){h=d;i=$p(d<<2)|0;g=e}e=i+(g<<2)|0;hq(e|0,0,b<<2|0)|0;d=e;h=i+(h<<2)|0;g=i+(g+b<<2)|0;if((c|0)!=(l|0)){do{c=c+-4|0;b=k[c>>2]|0;k[c>>2]=0;k[e+-4>>2]=b;e=d+-4|0;d=e}while((c|0)!=(l|0));c=d;d=c;f=k[a>>2]|0;c=k[n>>2]|0}k[a>>2]=d;k[n>>2]=g;k[m>>2]=h;e=f;if((c|0)!=(e|0))do{c=c+-4|0;d=k[c>>2]|0;k[c>>2]=0;if(d|0)ab[k[(k[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!f)return;Ip(f);return}function Lk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=b+16|0;d=f;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){h=0;return h|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=f;k[g>>2]=d;k[g+4>>2]=e;k[(k[a+4>>2]|0)+64>>2]=h;h=1;return h|0}function Mk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Ip(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)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Ip(b);Ip(a);return}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;i=$p(24)|0;em(i);h=a+8|0;f=a+12|0;a=k[f>>2]|0;c=k[h>>2]|0;d=a-c>>2;do if(d>>>0<=b>>>0){e=b+1|0;if(e>>>0>d>>>0){Kk(h,e-d|0);break}if(e>>>0>>0?(g=c+(e<<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)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[f>>2]|0}while((a|0)!=(g|0))}while(0);b=(k[h>>2]|0)+(b<<2)|0;a=k[b>>2]|0;k[b>>2]=i;if(!a)return 1;ab[k[(k[a>>2]|0)+4>>2]&127](a);return 1}function Ok(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=b+16|0;d=f;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){h=0;return h|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=f;k[g>>2]=d;k[g+4>>2]=e;k[(k[a+4>>2]|0)+64>>2]=h;h=1;return h|0}function Pk(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2948;b=k[a+4>>2]|0;if(!b){Ip(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);Ip(b);Ip(a);return}function Qk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=r;r=r+976|0;F=G+960|0;E=G+8|0;f=G+952|0;t=G+944|0;w=G+936|0;x=G+928|0;y=G+920|0;z=G+912|0;A=G+904|0;B=G+896|0;C=G+888|0;D=G+880|0;u=G+872|0;v=G;d=k[k[a+4>>2]>>2]|0;a=k[(k[a+16>>2]|0)+4>>2]|0;if((d|0)<=-1)Aa(9717,9733,62,9761);c=k[a+4>>2]|0;if((k[a+8>>2]|0)-c>>2>>>0<=d>>>0)Aa(9771,9733,63,9761);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)){F=0;r=G;return F|0}o=k[b>>2]|0;e=i[o+g>>0]|0;c=jq(g|0,h|0,1,0)|0;d=L;H=n;k[H>>2]=c;k[H+4>>2]=d;switch(e<<24>>24){case 0:{if(((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0?(p=jq(g|0,h|0,2,0)|0,q=n,k[q>>2]=p,k[q+4>>2]=L,q=jq(g|0,h|0,6,0)|0,s=L,!((m|0)<(s|0)|(m|0)==(s|0)&j>>>0>>0)):0)?(H=o+p|0,H=l[H>>0]|l[H+1>>0]<<8|l[H+2>>0]<<16|l[H+3>>0]<<24,D=n,k[D>>2]=q,k[D+4>>2]=s,Ne(a,H),fm(E),k[f>>2]=a,k[f+4>>2]=0,k[F>>2]=k[f>>2],k[F+4>>2]=k[f+4>>2],Rk(E,b,F)|0):0){H=1;r=G;return H|0}H=0;r=G;return H|0}case 1:{if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){H=0;r=G;return H|0}f=i[o+c>>0]|0;e=jq(g|0,h|0,2,0)|0;c=n;k[c>>2]=e;k[c+4>>2]=L;c=jq(g|0,h|0,6,0)|0;d=L;if((m|0)<(d|0)|(m|0)==(d|0)&j>>>0>>0){H=0;r=G;return H|0}H=o+e|0;H=l[H>>0]|l[H+1>>0]<<8|l[H+2>>0]<<16|l[H+3>>0]<<24;s=n;k[s>>2]=c;k[s+4>>2]=d;Ne(a,H);do switch(f&255|0){case 0:{Em(E);k[t>>2]=a;k[t+4>>2]=0;k[F>>2]=k[t>>2];k[F+4>>2]=k[t+4>>2];Tk(E,b,F)|0;gd(E+68|0);gd(E+48|0);gd(E+28|0);gd(E+8|0);H=1;r=G;return H|0}case 1:{Gm(E);k[w>>2]=a;k[w+4>>2]=0;k[F>>2]=k[w>>2];k[F+4>>2]=k[w+4>>2];Zk(E,b,F)|0;gd(E+68|0);gd(E+48|0);gd(E+28|0);gd(E+8|0);H=1;r=G;return H|0}case 2:{Im(E);k[x>>2]=a;k[x+4>>2]=0;k[F>>2]=k[x>>2];k[F+4>>2]=k[x+4>>2];dl(E,b,F)|0;gd(E+64|0);gd(E+44|0);gd(E+24|0);rd(E+8|0);H=1;r=G;return H|0}case 3:{Km(E);k[y>>2]=a;k[y+4>>2]=0;k[F>>2]=k[y>>2];k[F+4>>2]=k[y+4>>2];jl(E,b,F)|0;gd(E+64|0);gd(E+44|0);gd(E+24|0);rd(E+8|0);H=1;r=G;return H|0}case 4:{Mm(E);k[z>>2]=a;k[z+4>>2]=0;k[F>>2]=k[z>>2];k[F+4>>2]=k[z+4>>2];pl(E,b,F)|0;gd(E+576|0);gd(E+556|0);gd(E+536|0);rd(E+520|0);vl(E+8|0);H=1;r=G;return H|0}case 5:{Pm(E);k[A>>2]=a;k[A+4>>2]=0;k[F>>2]=k[A>>2];k[F+4>>2]=k[A+4>>2];wl(E,b,F)|0;gd(E+576|0);gd(E+556|0);gd(E+536|0);rd(E+520|0);vl(E+8|0);H=1;r=G;return H|0}case 6:{Rm(E);k[B>>2]=a;k[B+4>>2]=0;k[F>>2]=k[B>>2];k[F+4>>2]=k[B+4>>2];Cl(E,b,F)|0;gd(E+576|0);gd(E+556|0);gd(E+536|0);rd(E+520|0);vl(E+8|0);H=1;r=G;return H|0}case 7:{Tm(E);k[C>>2]=a;k[C+4>>2]=0;k[F>>2]=k[C>>2];k[F+4>>2]=k[C+4>>2];Il(E,b,F)|0;gd(E+576|0);gd(E+556|0);gd(E+536|0);rd(E+520|0);vl(E+8|0);H=1;r=G;return H|0}case 8:{Vm(E);k[D>>2]=a;k[D+4>>2]=0;k[F>>2]=k[D>>2];k[F+4>>2]=k[D+4>>2];Ol(E,b,F)|0;gd(E+840|0);gd(E+820|0);gd(E+800|0);wd(E+776|0);Ul(E+8|0);H=1;r=G;return H|0}case 9:{Ym(E);k[u>>2]=a;k[u+4>>2]=0;k[F>>2]=k[u>>2];k[F+4>>2]=k[u+4>>2];Vl(E,b,F)|0;gd(E+840|0);gd(E+820|0);gd(E+800|0);wd(E+776|0);Ul(E+8|0);H=1;r=G;return H|0}case 10:{_m(E);k[v>>2]=a;k[v+4>>2]=0;k[F>>2]=k[v>>2];k[F+4>>2]=k[v+4>>2];$l(E,b,F)|0;gd(E+840|0);gd(E+820|0);gd(E+800|0);wd(E+776|0);Ul(E+8|0);H=1;r=G;return H|0}default:{H=0;r=G;return H|0}}while(0)}default:{H=0;r=G;return H|0}}return 0}function Rk(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=r;r=r+48|0;g=j+40|0;h=j+24|0;d=j+12|0;e=j+8|0;f=j;k[h>>2]=0;i=h+4|0;k[i>>2]=0;k[h+8>>2]=0;if(gm(a,b,h)|0){k[d>>2]=k[h>>2];k[e>>2]=k[i>>2];l=c;b=k[l+4>>2]|0;c=f;k[c>>2]=k[l>>2];k[c+4>>2]=b;k[g>>2]=k[f>>2];k[g+4>>2]=k[f+4>>2];Sk(j+16|0,d,e,a,g);f=1}else f=0;d=k[h>>2]|0;if(!d){r=j;return f|0}e=k[i>>2]|0;if((e|0)!=(d|0))k[i>>2]=e+(~(((e+-12-d|0)>>>0)/12|0)*12|0);Ip(d);r=j;return f|0}function Sk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0,B=0.0,C=0;w=r;r=r+32|0;v=w+16|0;u=w;f=+o[d+4>>2];if(!(f>=0.0))Aa(9803,9823,66,9880);t=(1<>2])+-1|0;Kg(v);Lg(v,f,t);d=k[b>>2]|0;if((d|0)==(k[c>>2]|0)){c=e;u=c;u=k[u>>2]|0;c=c+4|0;c=k[c>>2]|0;e=a;v=e;k[v>>2]=u;e=e+4|0;k[e>>2]=c;r=w;return}s=v+4|0;h=e+4|0;j=u+4|0;l=u+8|0;q=k[e>>2]|0;m=q+84|0;n=q+68|0;p=q+40|0;q=q+64|0;g=k[h>>2]|0;do{b=(k[d>>2]|0)-t|0;C=(b|0)<0;f=+o[s>>2];B=f*+((C?0-b|0:b)|0);y=+o[v>>2];b=(k[d+4>>2]|0)-t|0;A=(b|0)<0;z=f*+((A?0-b|0:b)|0);b=(k[d+8>>2]|0)-t|0;x=(b|0)<0;f=f*+((x?0-b|0:b)|0);b=g;g=g+1|0;k[h>>2]=g;o[u>>2]=y*(C?-B:B);o[j>>2]=y*(A?-z:z);o[l>>2]=y*(x?-f:f);if(!(i[m>>0]|0))b=k[(k[n>>2]|0)+(b<<2)>>2]|0;A=p;C=k[A>>2]|0;A=sq(b|0,((b|0)<0)<<31>>31|0,C|0,k[A+4>>2]|0)|0;lq((k[k[q>>2]>>2]|0)+A|0,u|0,C|0)|0;d=d+12|0}while((d|0)!=(k[c>>2]|0));A=e;e=A;e=k[e>>2]|0;A=A+4|0;A=k[A>>2]|0;C=a;x=C;k[x>>2]=e;C=C+4|0;k[C>>2]=A;r=w;return}function Tk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}hd(a+8|0,b);hd(a+28|0,b);hd(a+48|0,b);hd(a+68|0,b);u=k[g>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];Uk(a,u,n,m,0,q);r=s;return 1}function Uk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0,ma=0;ma=r;r=r+112|0;ka=ma+96|0;n=ma+32|0;la=ma+72|0;ia=ma+56|0;ba=ma+44|0;aa=ma+16|0;$=ma;j=k[c>>2]|0;ca=c+4|0;l=k[ca>>2]|0;da=c+8|0;m=k[da>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;k[la+12>>2]=0;k[la+16>>2]=0;k[la+20>>2]=0;ea=la+8|0;fa=la+4|0;ga=la+16|0;ha=la+20|0;Vk(la);g=k[fa>>2]|0;h=(k[ha>>2]|0)+(k[ga>>2]|0)|0;if((k[ea>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;_=g+16|0;k[_>>2]=k[n>>2];k[_+4>>2]=k[n+4>>2];k[_+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ha>>2]|0)+1|0;k[ha>>2]=g;if(!g){Yk(la);r=ma;return}Q=ba+4|0;R=ba+8|0;S=a+44|0;T=a+40|0;U=f+4|0;V=ka+4|0;W=ka+8|0;X=a+24|0;Y=a+20|0;Z=a+84|0;_=a+80|0;a:while(1){N=k[ga>>2]|0;n=g+-1|0;m=n+N|0;O=k[fa>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[ia>>2]=k[L>>2];k[ia+4>>2]=k[L+4>>2];k[ia+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[ha>>2]=n;n=k[ea>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Ip(k[n+-4>>2]|0);k[ea>>2]=(k[ea>>2]|0)+-4}k[c>>2]=h;k[ca>>2]=j;k[da>>2]=l;k[d>>2]=k[ia>>2];k[d+4>>2]=k[ia+4>>2];k[d+8>>2]=k[ia+8>>2];k[ba>>2]=h;k[Q>>2]=j;k[R>>2]=l;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];O=Fm(a,P,ba,ka,m)|0;n=d+(O<<2)|0;e=k[n>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(e|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ka>>2]=k[c>>2];k[V>>2]=k[ca>>2];k[W>>2]=k[da>>2];g=ka+(O<<2)|0;k[g>>2]=(k[g>>2]|0)+(1<>>0>=33){g=32;break a}if((g|0)==31){g=34;break a}j=k[X>>2]|0;g=32-j|0;l=k[Y>>2]|0;h=k[l>>2]<>>0<=g>>>0){g=h>>>(32-m|0);N=j+m|0;k[X>>2]=N;if((N|0)==32){k[Y>>2]=l+4;k[X>>2]=0}}else{N=m-g|0;k[X>>2]=N;M=l+4|0;k[Y>>2]=M;N=32-N|0;g=(k[M>>2]|0)>>>N|h>>>(N-g|0)}l=(P>>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[Z>>2]|0;g=k[_>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[Z>>2]=P;if((P|0)==32){k[_>>2]=g+4;k[Z>>2]=0}b=j?l:h;o=j?h:l}k[n>>2]=e+1;if(b|0){m=k[c>>2]|0;n=k[ca>>2]|0;e=k[da>>2]|0;k[aa>>2]=k[d>>2];k[aa+4>>2]=k[d+4>>2];k[aa+8>>2]=k[d+8>>2];l=k[ea>>2]|0;j=k[fa>>2]|0;g=k[ga>>2]|0;h=k[ha>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Vk(la);g=k[ga>>2]|0;h=k[ha>>2]|0;l=k[ea>>2]|0;j=k[fa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[aa>>2];k[P+4>>2]=k[aa+4>>2];k[P+8>>2]=k[aa+8>>2];k[g+28>>2]=O;k[ha>>2]=(k[ha>>2]|0)+1}if(o|0){m=k[ka>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[$>>2]=k[d>>2];k[$+4>>2]=k[d+4>>2];k[$+8>>2]=k[d+8>>2];l=k[ea>>2]|0;j=k[fa>>2]|0;g=k[ga>>2]|0;h=k[ha>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Vk(la);g=k[ga>>2]|0;h=k[ha>>2]|0;l=k[ea>>2]|0;j=k[fa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[$>>2];k[P+4>>2]=k[$+4>>2];k[P+8>>2]=k[$+8>>2];k[g+28>>2]=O;k[ha>>2]=(k[ha>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=h-e|0;F=k[d+(x<<2)>>2]|0;I=h-F|0;q=k[d+(t<<2)>>2]|0;J=h-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(h|0)==(e|0);B=ka+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ka+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ka+(t<<2)|0;s=c+(t<<2)|0;t=ka+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ka+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ka+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=J-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[N>>2]>>2]|0)+l|0,ka|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ha>>2]|0;if(!g){g=58;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==32)Aa(10077,10101,111,10128);else if((g|0)==34)Aa(10141,10101,112,10128);else if((g|0)==58){Yk(la);r=ma;return}} +function Kf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0;M=r;r=r+48|0;C=M+32|0;K=M+12|0;E=M+40|0;I=M;k[K>>2]=0;k[K+4>>2]=0;k[K+8>>2]=0;k[K+12>>2]=0;o[K+16>>2]=1.0;H=a+80|0;d=k[H>>2]|0;k[I>>2]=0;J=I+4|0;k[J>>2]=0;k[I+8>>2]=0;if(d){if(d>>>0>1073741823)yp(I);B=d<<2;f=$p(B)|0;k[I>>2]=f;e=f+(d<<2)|0;k[I+8>>2]=e;hq(f|0,0,B|0)|0;k[J>>2]=e;e=k[H>>2]|0;if((e|0)>0){z=b+48|0;A=b+40|0;B=E+2|0;u=E+4|0;v=K+4|0;w=C+4|0;x=a+40|0;y=a+64|0;t=k[c>>2]|0;s=0;m=0;do{q=t+s|0;l=z;n=k[l>>2]|0;l=k[l+4>>2]|0;p=A;p=sq(q|0,((q|0)<0)<<31>>31|0,k[p>>2]|0,k[p+4>>2]|0)|0;l=jq(p|0,L|0,n|0,l|0)|0;l=(k[k[b>>2]>>2]|0)+l|0;i[E>>0]=i[l>>0]|0;i[E+1>>0]=i[l+1>>0]|0;i[E+2>>0]=i[l+2>>0]|0;i[E+3>>0]=i[l+3>>0]|0;i[E+4>>0]=i[l+4>>0]|0;i[E+5>>0]=i[l+5>>0]|0;l=j[E>>1]|0;n=j[B>>1]|0;p=j[u>>1]|0;q=((l&65535^318)+239^n&65535)+239^p&65535;e=k[v>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=q&g;else h=(q>>>0)%(e>>>0)|0;c=k[(k[K>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(D=k[c>>2]|0,(D|0)!=0):0){b:do if(d){d=D;while(1){if((k[d+4>>2]&g|0)!=(h|0)){F=25;break a}if(((j[d+8>>1]|0)==l<<16>>16?(j[d+10>>1]|0)==n<<16>>16:0)?(j[d+12>>1]|0)==p<<16>>16:0)break b;d=k[d>>2]|0;if(!d){F=25;break a}}}else{d=D;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){F=25;break a}if(((j[d+8>>1]|0)==l<<16>>16?(j[d+10>>1]|0)==n<<16>>16:0)?(j[d+12>>1]|0)==p<<16>>16:0)break b;d=k[d>>2]|0;if(!d){F=25;break a}}}while(0);k[f+(s<<2)>>2]=k[d+16>>2]}else F=25}else F=25;while(0);if((F|0)==25){F=0;d=$p(20)|0;j[d+8>>1]=l;j[d+10>>1]=n;j[d+12>>1]=p;k[d+16>>2]=m;k[d+4>>2]=q;k[d>>2]=0;Lf(C,K,d);if(!(i[w>>0]|0))Ip(d);q=x;f=k[q>>2]|0;q=sq(f|0,k[q+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;lq((k[k[y>>2]>>2]|0)+q|0,E|0,f|0)|0;f=k[I>>2]|0;k[f+(s<<2)>>2]=m;m=m+1|0}s=s+1|0;e=k[H>>2]|0}while((s|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{l=a+84|0;if(!(i[l>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[I>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(G=g+(e<<2)|0,(h|0)!=(G|0)):0)k[c>>2]=h+(~((h+-4-G|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[H>>2]|0}if((e|0)>0){f=k[I>>2]|0;if(i[l>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[H>>2]=m;f=m}}else f=0;d=k[I>>2]|0;c=d;if(d|0){e=k[J>>2]|0;if((e|0)!=(d|0))k[J>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[K+8>>2]|0;if(d|0)do{J=d;d=k[d>>2]|0;Ip(J)}while((d|0)!=0);d=k[K>>2]|0;k[K>>2]=0;if(!d){r=M;return f|0}Ip(d);r=M;return f|0}function Lf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;p=j[c+8>>1]|0;r=j[c+10>>1]|0;q=j[c+12>>1]|0;e=((p&65535^318)+239^r&65535)+239^q&65535;u=c+4|0;k[u>>2]=e;t=b+4|0;l=k[t>>2]|0;s=(l|0)==0;a:do if(!s){n=l+-1|0;m=(n&l|0)==0;if(m)e=e&n;else e=(e>>>0)%(l>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(m){while(1){if((k[d+4>>2]&n|0)!=(e|0))break a;if(((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==r<<16>>16:0)?(j[d+12>>1]|0)==q<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(e|0))break a;if(((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==r<<16>>16:0)?(j[d+12>>1]|0)==q<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);m=b+12|0;g=+(((k[m>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(s|g>+(l>>>0)*h){if(l>>>0>2)d=(l+-1&l|0)==0;else d=0;f=(d&1|l<<1)^1;d=~~+ga(+(g/h))>>>0;Mf(b,f>>>0>>0?d:f);f=k[t>>2]|0;d=k[u>>2]|0;e=f+-1|0;if(!(e&f)){l=f;e=e&d;break}else{l=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=l+-1|0;if(!(e&l))d=d&e;else d=(d>>>0)%(l>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[m>>2]=(k[m>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function Mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Nf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Nf(a,b);return}function Nf(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)Ip(c);k[d>>2]=0;return}p=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)Ip(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)e=c&o;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(p){c=f;while(1){n=k[c+4>>2]&o;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}l=c+10|0;m=c+12|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=j[c+8>>1]|0;g=c;while(1){if(i<<16>>16!=(j[f+8>>1]|0)){f=g;break d}if((j[l>>1]|0)!=(j[f+10>>1]|0)){f=g;break d}if((j[m>>1]|0)!=(j[f+12>>1]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}else{c=f;while(1){n=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}i=c+10|0;l=c+12|0;f=k[c>>2]|0;e:do if(!f)f=c;else{m=j[c+8>>1]|0;g=c;while(1){if(m<<16>>16!=(j[f+8>>1]|0)){f=g;break e}if((j[i>>1]|0)!=(j[f+10>>1]|0)){f=g;break e}if((j[l>>1]|0)!=(j[f+12>>1]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}while(0);f=k[c>>2]|0;if(!f){c=36;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=36;break}else{h=c;d=c}}if((c|0)==36)return}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,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=r;r=r+64|0;u=C+48|0;B=C+28|0;v=C+8|0;w=C;z=C+16|0;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;o[B+16>>2]=1.0;y=a+80|0;d=k[y>>2]|0;k[z>>2]=0;A=z+4|0;k[A>>2]=0;k[z+8>>2]=0;if(d){if(d>>>0>1073741823)yp(z);t=d<<2;f=$p(t)|0;k[z>>2]=f;e=f+(d<<2)|0;k[z+8>>2]=e;hq(f|0,0,t|0)|0;k[A>>2]=e;e=k[y>>2]|0;if((e|0)>0){q=k[c>>2]|0;s=b+48|0;t=b+40|0;m=u+4|0;n=a+40|0;p=a+64|0;h=0;g=0;while(1){D=q+h|0;e=s;c=k[e>>2]|0;e=k[e+4>>2]|0;d=t;d=sq(D|0,((D|0)<0)<<31>>31|0,k[d>>2]|0,k[d+4>>2]|0)|0;e=jq(d|0,L|0,c|0,e|0)|0;e=(k[k[b>>2]>>2]|0)+e|0;c=e;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+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;d=v;k[d>>2]=c;k[d+4>>2]=e;d=w;k[d>>2]=c;k[d+4>>2]=e;d=Pf(B,w)|0;if(!d){d=$p(20)|0;f=d+8|0;D=f;j[D>>1]=c;j[D+2>>1]=c>>>16;f=f+4|0;j[f>>1]=e;j[f+2>>1]=e>>>16;k[d+16>>2]=g;f=kq(c|0,e|0,16)|0;D=kq(c|0,e|0,48)|0;k[d+4>>2]=(((c&65535^318)+239^f&65535)+239^e&65535)+239^D;k[d>>2]=0;Qf(u,B,d);if(!(i[m>>0]|0))Ip(d);d=n;f=k[d>>2]|0;d=sq(f|0,k[d+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;lq((k[k[p>>2]>>2]|0)+d|0,v|0,f|0)|0;f=k[z>>2]|0;k[f+(h<<2)>>2]=g;d=g+1|0}else{k[f+(h<<2)>>2]=k[d+16>>2];d=g}h=h+1|0;e=k[y>>2]|0;if((h|0)>=(e|0)){n=d;break}else g=d}}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[z>>2]|0;d=d>>2;c=0;do{D=e+(c<<2)|0;k[D>>2]=k[f+(k[D>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(x=g+(e<<2)|0,(h|0)!=(x|0)):0)k[c>>2]=h+(~((h+-4-x|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[y>>2]|0}if((e|0)>0){f=k[z>>2]|0;if(i[m>>0]|0)Aa(10788,10807,80,10839);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[y>>2]=n;f=n}}else f=0;d=k[z>>2]|0;c=d;if(d|0){e=k[A>>2]|0;if((e|0)!=(d|0))k[A>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[B+8>>2]|0;if(d|0)do{D=d;d=k[d>>2]|0;Ip(D)}while((d|0)!=0);d=k[B>>2]|0;k[B>>2]=0;if(!d){r=C;return f|0}Ip(d);r=C;return f|0}function Pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0;h=j[b>>1]|0;i=j[b+2>>1]|0;l=j[b+4>>1]|0;g=j[b+6>>1]|0;b=(((h&65535^318)+239^i&65535)+239^l&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)==h<<16>>16?(j[b+10>>1]|0)==i<<16>>16:0)?(j[b+12>>1]|0)==l<<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)==h<<16>>16?(j[b+10>>1]|0)==i<<16>>16:0)?(j[b+12>>1]|0)==l<<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 Qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;p=j[c+8>>1]|0;s=j[c+10>>1]|0;q=j[c+12>>1]|0;r=j[c+14>>1]|0;e=(((p&65535^318)+239^s&65535)+239^q&65535)+239^r&65535;v=c+4|0;k[v>>2]=e;u=b+4|0;l=k[u>>2]|0;t=(l|0)==0;a:do if(!t){n=l+-1|0;m=(n&l|0)==0;if(m)e=e&n;else e=(e>>>0)%(l>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(m){while(1){if((k[d+4>>2]&n|0)!=(e|0))break a;if((((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==s<<16>>16:0)?(j[d+12>>1]|0)==q<<16>>16:0)?(j[d+14>>1]|0)==r<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(e|0))break a;if((((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==s<<16>>16:0)?(j[d+12>>1]|0)==q<<16>>16:0)?(j[d+14>>1]|0)==r<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);m=b+12|0;g=+(((k[m>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(t|g>+(l>>>0)*h){if(l>>>0>2)d=(l+-1&l|0)==0;else d=0;f=(d&1|l<<1)^1;d=~~+ga(+(g/h))>>>0;Rf(b,f>>>0>>0?d:f);f=k[u>>2]|0;d=k[v>>2]|0;e=f+-1|0;if(!(e&f)){l=f;e=e&d;break}else{l=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=l+-1|0;if(!(e&l))d=d&e;else d=(d>>>0)%(l>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[m>>2]=(k[m>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function Rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Sf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Sf(a,b);return}function Sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,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)Ip(c);k[d>>2]=0;return}q=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=q;if(c|0)Ip(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)e=c&p;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(q){c=f;while(1){o=k[c+4>>2]&p;if((o|0)==(e|0))break c;f=(k[a>>2]|0)+(o<<2)|0;if(!(k[f>>2]|0)){e=o;break b}l=c+10|0;m=c+12|0;n=c+14|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=j[c+8>>1]|0;g=c;while(1){if(i<<16>>16!=(j[f+8>>1]|0)){f=g;break d}if((j[l>>1]|0)!=(j[f+10>>1]|0)){f=g;break d}if((j[m>>1]|0)!=(j[f+12>>1]|0)){f=g;break d}if((j[n>>1]|0)!=(j[f+14>>1]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{r=f;f=g;g=r}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(o<<2)>>2]>>2];k[k[(k[a>>2]|0)+(o<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}else{c=f;while(1){o=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((o|0)==(e|0))break c;f=(k[a>>2]|0)+(o<<2)|0;if(!(k[f>>2]|0)){e=o;break b}i=c+10|0;l=c+12|0;m=c+14|0;f=k[c>>2]|0;e:do if(!f)f=c;else{n=j[c+8>>1]|0;g=c;while(1){if(n<<16>>16!=(j[f+8>>1]|0)){f=g;break e}if((j[i>>1]|0)!=(j[f+10>>1]|0)){f=g;break e}if((j[l>>1]|0)!=(j[f+12>>1]|0)){f=g;break e}if((j[m>>1]|0)!=(j[f+14>>1]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{r=f;f=g;g=r}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(o<<2)>>2]>>2];k[k[(k[a>>2]|0)+(o<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}while(0);f=k[c>>2]|0;if(!f){c=38;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=38;break}else{h=c;d=c}}if((c|0)==38)return}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,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=r;r=r+48|0;z=H+32|0;G=H+12|0;A=H+40|0;E=H;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;k[G+12>>2]=0;o[G+16>>2]=1.0;D=a+80|0;d=k[D>>2]|0;k[E>>2]=0;F=E+4|0;k[F>>2]=0;k[E+8>>2]=0;if(d){if(d>>>0>1073741823)yp(E);y=d<<2;f=$p(y)|0;k[E>>2]=f;e=f+(d<<2)|0;k[E+8>>2]=e;hq(f|0,0,y|0)|0;k[F>>2]=e;e=k[D>>2]|0;if((e|0)>0){w=b+48|0;x=b+40|0;y=G+4|0;t=z+4|0;u=a+40|0;v=a+64|0;s=k[c>>2]|0;q=0;n=0;do{h=s+q|0;m=w;p=k[m>>2]|0;m=k[m+4>>2]|0;e=x;e=sq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;m=jq(e|0,L|0,p|0,m|0)|0;m=(k[k[b>>2]>>2]|0)+m|0;m=l[m>>0]|l[m+1>>0]<<8;j[A>>1]=m;p=m&65535^318;e=k[y>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&p;else h=(p>>>0)%(e>>>0)|0;d=k[(k[G>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){B=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){B=20;break a}}while((j[d+8>>1]|0)!=m<<16>>16);else do{d=k[d>>2]|0;if(!d){B=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){B=20;break a}}while((j[d+8>>1]|0)!=m<<16>>16);k[f+(q<<2)>>2]=k[d+12>>2]}else B=20}else B=20;while(0);if((B|0)==20){B=0;d=$p(16)|0;j[d+8>>1]=m;k[d+12>>2]=n;k[d+4>>2]=p;k[d>>2]=0;Df(z,G,d);if(!(i[t>>0]|0))Ip(d);p=u;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;lq((k[k[v>>2]>>2]|0)+p|0,A|0,f|0)|0;f=k[E>>2]|0;k[f+(q<<2)>>2]=n;n=n+1|0}q=q+1|0;e=k[D>>2]|0}while((q|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[E>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(C=g+(e<<2)|0,(h|0)!=(C|0)):0)k[c>>2]=h+(~((h+-4-C|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[D>>2]|0}if((e|0)>0){f=k[E>>2]|0;if(i[m>>0]|0)Aa(10788,10807,80,10839);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[D>>2]=n;f=n}}else f=0;d=k[E>>2]|0;c=d;if(d|0){e=k[F>>2]|0;if((e|0)!=(d|0))k[F>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[G+8>>2]|0;if(d|0)do{F=d;d=k[d>>2]|0;Ip(F)}while((d|0)!=0);d=k[G>>2]|0;k[G>>2]=0;if(!d){r=H;return f|0}Ip(d);r=H;return f|0}function Uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+40|0;J=K+16|0;D=K+12|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;u=k[c>>2]|0;t=0;n=0;do{m=u+t|0;q=y;h=k[q>>2]|0;q=k[q+4>>2]|0;s=z;s=sq(m|0,((m|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;q=jq(s|0,L|0,h|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[D>>2]=q;h=q&65535;s=q>>>16;m=s&65535;s=(q&65535^318)+239^s;e=k[A>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)p=s&g;else p=(s>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(p<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(p|0)){E=23;break a}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(p|0)){E=23;break a}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}while(0);k[f+(t<<2)>>2]=k[d+12>>2]}else E=23}else E=23;while(0);if((E|0)==23){E=0;d=$p(16)|0;p=d+8|0;j[p>>1]=q;j[p+2>>1]=q>>>16;k[d+12>>2]=n;k[d+4>>2]=s;k[d>>2]=0;Hf(B,J,d);if(!(i[v>>0]|0))Ip(d);s=w;f=k[s>>2]|0;s=sq(f|0,k[s+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+s|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(t<<2)>>2]=n;n=n+1|0}t=t+1|0;e=k[G>>2]|0}while((t|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[m>>0]|0)Aa(10788,10807,80,10839);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]=n;f=n}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|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,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0;M=r;r=r+48|0;C=M+32|0;K=M+12|0;E=M+40|0;I=M;k[K>>2]=0;k[K+4>>2]=0;k[K+8>>2]=0;k[K+12>>2]=0;o[K+16>>2]=1.0;H=a+80|0;d=k[H>>2]|0;k[I>>2]=0;J=I+4|0;k[J>>2]=0;k[I+8>>2]=0;if(d){if(d>>>0>1073741823)yp(I);B=d<<2;f=$p(B)|0;k[I>>2]=f;e=f+(d<<2)|0;k[I+8>>2]=e;hq(f|0,0,B|0)|0;k[J>>2]=e;e=k[H>>2]|0;if((e|0)>0){z=b+48|0;A=b+40|0;B=E+2|0;u=E+4|0;v=K+4|0;w=C+4|0;x=a+40|0;y=a+64|0;t=k[c>>2]|0;s=0;m=0;do{q=t+s|0;l=z;n=k[l>>2]|0;l=k[l+4>>2]|0;p=A;p=sq(q|0,((q|0)<0)<<31>>31|0,k[p>>2]|0,k[p+4>>2]|0)|0;l=jq(p|0,L|0,n|0,l|0)|0;l=(k[k[b>>2]>>2]|0)+l|0;i[E>>0]=i[l>>0]|0;i[E+1>>0]=i[l+1>>0]|0;i[E+2>>0]=i[l+2>>0]|0;i[E+3>>0]=i[l+3>>0]|0;i[E+4>>0]=i[l+4>>0]|0;i[E+5>>0]=i[l+5>>0]|0;l=j[E>>1]|0;n=j[B>>1]|0;p=j[u>>1]|0;q=((l&65535^318)+239^n&65535)+239^p&65535;e=k[v>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=q&g;else h=(q>>>0)%(e>>>0)|0;c=k[(k[K>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(D=k[c>>2]|0,(D|0)!=0):0){b:do if(d){d=D;while(1){if((k[d+4>>2]&g|0)!=(h|0)){F=25;break a}if(((j[d+8>>1]|0)==l<<16>>16?(j[d+10>>1]|0)==n<<16>>16:0)?(j[d+12>>1]|0)==p<<16>>16:0)break b;d=k[d>>2]|0;if(!d){F=25;break a}}}else{d=D;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){F=25;break a}if(((j[d+8>>1]|0)==l<<16>>16?(j[d+10>>1]|0)==n<<16>>16:0)?(j[d+12>>1]|0)==p<<16>>16:0)break b;d=k[d>>2]|0;if(!d){F=25;break a}}}while(0);k[f+(s<<2)>>2]=k[d+16>>2]}else F=25}else F=25;while(0);if((F|0)==25){F=0;d=$p(20)|0;j[d+8>>1]=l;j[d+10>>1]=n;j[d+12>>1]=p;k[d+16>>2]=m;k[d+4>>2]=q;k[d>>2]=0;Lf(C,K,d);if(!(i[w>>0]|0))Ip(d);q=x;f=k[q>>2]|0;q=sq(f|0,k[q+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;lq((k[k[y>>2]>>2]|0)+q|0,E|0,f|0)|0;f=k[I>>2]|0;k[f+(s<<2)>>2]=m;m=m+1|0}s=s+1|0;e=k[H>>2]|0}while((s|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{l=a+84|0;if(!(i[l>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[I>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(G=g+(e<<2)|0,(h|0)!=(G|0)):0)k[c>>2]=h+(~((h+-4-G|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[H>>2]|0}if((e|0)>0){f=k[I>>2]|0;if(i[l>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[H>>2]=m;f=m}}else f=0;d=k[I>>2]|0;c=d;if(d|0){e=k[J>>2]|0;if((e|0)!=(d|0))k[J>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[K+8>>2]|0;if(d|0)do{J=d;d=k[d>>2]|0;Ip(J)}while((d|0)!=0);d=k[K>>2]|0;k[K>>2]=0;if(!d){r=M;return f|0}Ip(d);r=M;return f|0}function Wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=r;r=r+64|0;u=C+48|0;B=C+28|0;v=C+8|0;w=C;z=C+16|0;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;o[B+16>>2]=1.0;y=a+80|0;d=k[y>>2]|0;k[z>>2]=0;A=z+4|0;k[A>>2]=0;k[z+8>>2]=0;if(d){if(d>>>0>1073741823)yp(z);t=d<<2;f=$p(t)|0;k[z>>2]=f;e=f+(d<<2)|0;k[z+8>>2]=e;hq(f|0,0,t|0)|0;k[A>>2]=e;e=k[y>>2]|0;if((e|0)>0){q=k[c>>2]|0;s=b+48|0;t=b+40|0;m=u+4|0;n=a+40|0;p=a+64|0;h=0;g=0;while(1){D=q+h|0;e=s;c=k[e>>2]|0;e=k[e+4>>2]|0;d=t;d=sq(D|0,((D|0)<0)<<31>>31|0,k[d>>2]|0,k[d+4>>2]|0)|0;e=jq(d|0,L|0,c|0,e|0)|0;e=(k[k[b>>2]>>2]|0)+e|0;c=e;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+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;d=v;k[d>>2]=c;k[d+4>>2]=e;d=w;k[d>>2]=c;k[d+4>>2]=e;d=Pf(B,w)|0;if(!d){d=$p(20)|0;f=d+8|0;D=f;j[D>>1]=c;j[D+2>>1]=c>>>16;f=f+4|0;j[f>>1]=e;j[f+2>>1]=e>>>16;k[d+16>>2]=g;f=kq(c|0,e|0,16)|0;D=kq(c|0,e|0,48)|0;k[d+4>>2]=(((c&65535^318)+239^f&65535)+239^e&65535)+239^D;k[d>>2]=0;Qf(u,B,d);if(!(i[m>>0]|0))Ip(d);d=n;f=k[d>>2]|0;d=sq(f|0,k[d+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;lq((k[k[p>>2]>>2]|0)+d|0,v|0,f|0)|0;f=k[z>>2]|0;k[f+(h<<2)>>2]=g;d=g+1|0}else{k[f+(h<<2)>>2]=k[d+16>>2];d=g}h=h+1|0;e=k[y>>2]|0;if((h|0)>=(e|0)){n=d;break}else g=d}}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[z>>2]|0;d=d>>2;c=0;do{D=e+(c<<2)|0;k[D>>2]=k[f+(k[D>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(x=g+(e<<2)|0,(h|0)!=(x|0)):0)k[c>>2]=h+(~((h+-4-x|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[y>>2]|0}if((e|0)>0){f=k[z>>2]|0;if(i[m>>0]|0)Aa(10788,10807,80,10839);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[y>>2]=n;f=n}}else f=0;d=k[z>>2]|0;c=d;if(d|0){e=k[A>>2]|0;if((e|0)!=(d|0))k[A>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[B+8>>2]|0;if(d|0)do{D=d;d=k[d>>2]|0;Ip(D)}while((d|0)!=0);d=k[B>>2]|0;k[B>>2]=0;if(!d){r=C;return f|0}Ip(d);r=C;return f|0}function Xf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+48|0;y=G+40|0;F=G+16|0;z=G+12|0;D=G;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;o[F+16>>2]=1.0;C=a+80|0;d=k[C>>2]|0;k[D>>2]=0;E=D+4|0;k[E>>2]=0;k[D+8>>2]=0;if(d){if(d>>>0>1073741823)yp(D);x=d<<2;f=$p(x)|0;k[D>>2]=f;e=f+(d<<2)|0;k[D+8>>2]=e;hq(f|0,0,x|0)|0;k[E>>2]=e;e=k[C>>2]|0;if((e|0)>0){v=b+48|0;w=b+40|0;x=F+4|0;s=y+4|0;t=a+40|0;u=a+64|0;q=k[c>>2]|0;p=0;m=0;do{h=q+p|0;j=v;n=k[j>>2]|0;j=k[j+4>>2]|0;e=w;e=sq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;j=jq(e|0,L|0,n|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[z>>2]=j;n=j^318;e=k[x>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&n;else h=(n>>>0)%(e>>>0)|0;d=k[(k[F>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){A=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));else do{d=k[d>>2]|0;if(!d){A=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));k[f+(p<<2)>>2]=k[d+12>>2]}else A=20}else A=20;while(0);if((A|0)==20){A=0;d=$p(16)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+4>>2]=n;k[d>>2]=0;Re(y,F,d);if(!(i[s>>0]|0))Ip(d);n=t;f=k[n>>2]|0;n=sq(f|0,k[n+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;lq((k[k[u>>2]>>2]|0)+n|0,z|0,f|0)|0;f=k[D>>2]|0;k[f+(p<<2)>>2]=m;m=m+1|0}p=p+1|0;e=k[C>>2]|0}while((p|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[D>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(B=g+(e<<2)|0,(h|0)!=(B|0)):0)k[c>>2]=h+(~((h+-4-B|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[C>>2]|0}if((e|0)>0){f=k[D>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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[C>>2]=m;f=m}}else f=0;d=k[D>>2]|0;c=d;if(d|0){e=k[E>>2]|0;if((e|0)!=(d|0))k[E>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[F+8>>2]|0;if(d|0)do{E=d;d=k[d>>2]|0;Ip(E)}while((d|0)!=0);d=k[F>>2]|0;k[F>>2]=0;if(!d){r=G;return f|0}Ip(d);r=G;return f|0}function Yf(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,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+48|0;z=I+40|0;H=I+20|0;B=I;F=I+8|0;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;k[H+12>>2]=0;o[H+16>>2]=1.0;E=a+80|0;d=k[E>>2]|0;k[F>>2]=0;G=F+4|0;k[G>>2]=0;k[F+8>>2]=0;if(d){if(d>>>0>1073741823)yp(F);y=d<<2;f=$p(y)|0;k[F>>2]=f;e=f+(d<<2)|0;k[F+8>>2]=e;hq(f|0,0,y|0)|0;k[G>>2]=e;e=k[E>>2]|0;if((e|0)>0){w=b+48|0;x=b+40|0;y=H+4|0;t=z+4|0;u=a+40|0;v=a+64|0;s=k[c>>2]|0;q=0;m=0;do{e=s+q|0;n=w;j=k[n>>2]|0;n=k[n+4>>2]|0;p=x;p=sq(e|0,((e|0)<0)<<31>>31|0,k[p>>2]|0,k[p+4>>2]|0)|0;n=jq(p|0,L|0,j|0,n|0)|0;n=(k[k[b>>2]>>2]|0)+n|0;j=n;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;n=n+4|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;p=B;k[p>>2]=j;k[p+4>>2]=n;p=(j^318)+239^n;e=k[y>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[H>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(A=k[c>>2]|0,(A|0)!=0):0){b:do if(d){d=A;while(1){if((k[d+4>>2]&g|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}else{d=A;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}while(0);k[f+(q<<2)>>2]=k[d+16>>2]}else C=23}else C=23;while(0);if((C|0)==23){C=0;d=$p(20)|0;h=d+8|0;k[h>>2]=j;k[h+4>>2]=n;k[d+16>>2]=m;k[d+4>>2]=p;k[d>>2]=0;We(z,H,d);if(!(i[t>>0]|0))Ip(d);p=u;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;lq((k[k[v>>2]>>2]|0)+p|0,B|0,f|0)|0;f=k[F>>2]|0;k[f+(q<<2)>>2]=m;m=m+1|0}q=q+1|0;e=k[E>>2]|0}while((q|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[F>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-D|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[E>>2]|0}if((e|0)>0){f=k[F>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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]=m;f=m}}else f=0;d=k[F>>2]|0;c=d;if(d|0){e=k[G>>2]|0;if((e|0)!=(d|0))k[G>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[H+8>>2]|0;if(d|0)do{G=d;d=k[d>>2]|0;Ip(G)}while((d|0)!=0);d=k[H>>2]|0;k[H>>2]=0;if(!d){r=I;return f|0}Ip(d);r=I;return f|0}function Zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+64|0;B=K+48|0;J=K+24|0;D=K+12|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=D+4|0;t=D+8|0;u=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;s=k[c>>2]|0;q=0;l=0;do{p=s+q|0;c=y;d=k[c>>2]|0;c=k[c+4>>2]|0;e=z;e=sq(p|0,((p|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;c=jq(e|0,L|0,d|0,c|0)|0;d=D;c=(k[k[b>>2]>>2]|0)+c|0;e=d+12|0;do{i[d>>0]=i[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));j=k[D>>2]|0;m=k[A>>2]|0;n=k[t>>2]|0;p=((j^318)+239^m)+239^n;e=k[u>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}while(0);k[f+(q<<2)>>2]=k[d+20>>2]}else E=25}else E=25;while(0);if((E|0)==25){E=0;d=$p(24)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+16>>2]=n;k[d+20>>2]=l;k[d+4>>2]=p;k[d>>2]=0;_e(B,J,d);if(!(i[v>>0]|0))Ip(d);p=w;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+p|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(q<<2)>>2]=l;l=l+1|0}q=q+1|0;e=k[G>>2]|0}while((q|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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]=l;f=l}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|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,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;u=C+88|0;B=C+64|0;v=C+48|0;w=C+32|0;z=C+16|0;t=C;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;o[B+16>>2]=1.0;y=a+80|0;d=k[y>>2]|0;k[z>>2]=0;A=z+4|0;k[A>>2]=0;k[z+8>>2]=0;if(d){if(d>>>0>1073741823)yp(z);s=d<<2;f=$p(s)|0;k[z>>2]=f;e=f+(d<<2)|0;k[z+8>>2]=e;hq(f|0,0,s|0)|0;k[A>>2]=e;e=k[y>>2]|0;if((e|0)>0){p=k[c>>2]|0;q=b+48|0;s=b+40|0;j=u+4|0;m=a+40|0;n=a+64|0;h=0;l=0;do{g=p+h|0;d=q;c=k[d>>2]|0;d=k[d+4>>2]|0;e=s;e=sq(g|0,((g|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;d=jq(e|0,L|0,c|0,d|0)|0;d=(k[k[b>>2]>>2]|0)+d|0;c=v;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));c=w;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));d=cf(B,w)|0;if(!d){k[t>>2]=k[w>>2];k[t+4>>2]=k[w+4>>2];k[t+8>>2]=k[w+8>>2];k[t+12>>2]=k[w+12>>2];d=$p(28)|0;g=d+8|0;k[g>>2]=k[t>>2];k[g+4>>2]=k[t+4>>2];k[g+8>>2]=k[t+8>>2];k[g+12>>2]=k[t+12>>2];k[d+24>>2]=l;k[d+4>>2]=(((k[g>>2]^318)+239^k[d+12>>2])+239^k[d+16>>2])+239^k[d+20>>2];k[d>>2]=0;df(u,B,d);if(!(i[j>>0]|0))Ip(d);g=m;f=k[g>>2]|0;g=sq(f|0,k[g+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[n>>2]>>2]|0)+g|0,v|0,f|0)|0;f=k[z>>2]|0;k[f+(h<<2)>>2]=l;l=l+1|0}else k[f+(h<<2)>>2]=k[d+24>>2];h=h+1|0;e=k[y>>2]|0}while((h|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[z>>2]|0;d=d>>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;g=a+68|0;h=a+72|0;f=k[h>>2]|0;c=k[g>>2]|0;d=f-c>>2;if(e>>>0<=d>>>0){if(e>>>0>>0?(x=c+(e<<2)|0,(f|0)!=(x|0)):0)k[h>>2]=f+(~((f+-4-x|0)>>>2)<<2)}else{Ue(g,e-d|0,2864);e=k[y>>2]|0}if((e|0)>0){f=k[z>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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[y>>2]=l;f=l}}else f=0;d=k[z>>2]|0;c=d;if(d|0){e=k[A>>2]|0;if((e|0)!=(d|0))k[A>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[B+8>>2]|0;if(d|0)do{A=d;d=k[d>>2]|0;Ip(A)}while((d|0)!=0);d=k[B>>2]|0;k[B>>2]=0;if(!d){r=C;return f|0}Ip(d);r=C;return f|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,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+48|0;y=G+40|0;F=G+16|0;z=G+12|0;D=G;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;o[F+16>>2]=1.0;C=a+80|0;d=k[C>>2]|0;k[D>>2]=0;E=D+4|0;k[E>>2]=0;k[D+8>>2]=0;if(d){if(d>>>0>1073741823)yp(D);x=d<<2;f=$p(x)|0;k[D>>2]=f;e=f+(d<<2)|0;k[D+8>>2]=e;hq(f|0,0,x|0)|0;k[E>>2]=e;e=k[C>>2]|0;if((e|0)>0){v=b+48|0;w=b+40|0;x=F+4|0;s=y+4|0;t=a+40|0;u=a+64|0;q=k[c>>2]|0;p=0;m=0;do{h=q+p|0;j=v;n=k[j>>2]|0;j=k[j+4>>2]|0;e=w;e=sq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;j=jq(e|0,L|0,n|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[z>>2]=j;n=j^318;e=k[x>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&n;else h=(n>>>0)%(e>>>0)|0;d=k[(k[F>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){A=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));else do{d=k[d>>2]|0;if(!d){A=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));k[f+(p<<2)>>2]=k[d+12>>2]}else A=20}else A=20;while(0);if((A|0)==20){A=0;d=$p(16)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+4>>2]=n;k[d>>2]=0;Re(y,F,d);if(!(i[s>>0]|0))Ip(d);n=t;f=k[n>>2]|0;n=sq(f|0,k[n+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;lq((k[k[u>>2]>>2]|0)+n|0,z|0,f|0)|0;f=k[D>>2]|0;k[f+(p<<2)>>2]=m;m=m+1|0}p=p+1|0;e=k[C>>2]|0}while((p|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[D>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(B=g+(e<<2)|0,(h|0)!=(B|0)):0)k[c>>2]=h+(~((h+-4-B|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[C>>2]|0}if((e|0)>0){f=k[D>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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[C>>2]=m;f=m}}else f=0;d=k[D>>2]|0;c=d;if(d|0){e=k[E>>2]|0;if((e|0)!=(d|0))k[E>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[F+8>>2]|0;if(d|0)do{E=d;d=k[d>>2]|0;Ip(E)}while((d|0)!=0);d=k[F>>2]|0;k[F>>2]=0;if(!d){r=G;return f|0}Ip(d);r=G;return f|0}function ag(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+48|0;z=I+40|0;H=I+20|0;B=I;F=I+8|0;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;k[H+12>>2]=0;o[H+16>>2]=1.0;E=a+80|0;d=k[E>>2]|0;k[F>>2]=0;G=F+4|0;k[G>>2]=0;k[F+8>>2]=0;if(d){if(d>>>0>1073741823)yp(F);y=d<<2;f=$p(y)|0;k[F>>2]=f;e=f+(d<<2)|0;k[F+8>>2]=e;hq(f|0,0,y|0)|0;k[G>>2]=e;e=k[E>>2]|0;if((e|0)>0){w=b+48|0;x=b+40|0;y=H+4|0;t=z+4|0;u=a+40|0;v=a+64|0;s=k[c>>2]|0;q=0;m=0;do{e=s+q|0;n=w;j=k[n>>2]|0;n=k[n+4>>2]|0;p=x;p=sq(e|0,((e|0)<0)<<31>>31|0,k[p>>2]|0,k[p+4>>2]|0)|0;n=jq(p|0,L|0,j|0,n|0)|0;n=(k[k[b>>2]>>2]|0)+n|0;j=n;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;n=n+4|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;p=B;k[p>>2]=j;k[p+4>>2]=n;p=(j^318)+239^n;e=k[y>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[H>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(A=k[c>>2]|0,(A|0)!=0):0){b:do if(d){d=A;while(1){if((k[d+4>>2]&g|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}else{d=A;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}while(0);k[f+(q<<2)>>2]=k[d+16>>2]}else C=23}else C=23;while(0);if((C|0)==23){C=0;d=$p(20)|0;h=d+8|0;k[h>>2]=j;k[h+4>>2]=n;k[d+16>>2]=m;k[d+4>>2]=p;k[d>>2]=0;We(z,H,d);if(!(i[t>>0]|0))Ip(d);p=u;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;lq((k[k[v>>2]>>2]|0)+p|0,B|0,f|0)|0;f=k[F>>2]|0;k[f+(q<<2)>>2]=m;m=m+1|0}q=q+1|0;e=k[E>>2]|0}while((q|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[F>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-D|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[E>>2]|0}if((e|0)>0){f=k[F>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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]=m;f=m}}else f=0;d=k[F>>2]|0;c=d;if(d|0){e=k[G>>2]|0;if((e|0)!=(d|0))k[G>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[H+8>>2]|0;if(d|0)do{G=d;d=k[d>>2]|0;Ip(G)}while((d|0)!=0);d=k[H>>2]|0;k[H>>2]=0;if(!d){r=I;return f|0}Ip(d);r=I;return f|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,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+64|0;B=K+48|0;J=K+24|0;D=K+12|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=D+4|0;t=D+8|0;u=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;s=k[c>>2]|0;q=0;l=0;do{p=s+q|0;c=y;d=k[c>>2]|0;c=k[c+4>>2]|0;e=z;e=sq(p|0,((p|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;c=jq(e|0,L|0,d|0,c|0)|0;d=D;c=(k[k[b>>2]>>2]|0)+c|0;e=d+12|0;do{i[d>>0]=i[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));j=k[D>>2]|0;m=k[A>>2]|0;n=k[t>>2]|0;p=((j^318)+239^m)+239^n;e=k[u>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}while(0);k[f+(q<<2)>>2]=k[d+20>>2]}else E=25}else E=25;while(0);if((E|0)==25){E=0;d=$p(24)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+16>>2]=n;k[d+20>>2]=l;k[d+4>>2]=p;k[d>>2]=0;_e(B,J,d);if(!(i[v>>0]|0))Ip(d);p=w;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+p|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(q<<2)>>2]=l;l=l+1|0}q=q+1|0;e=k[G>>2]|0}while((q|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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]=l;f=l}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|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,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;u=C+88|0;B=C+64|0;v=C+48|0;w=C+32|0;z=C+16|0;t=C;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;o[B+16>>2]=1.0;y=a+80|0;d=k[y>>2]|0;k[z>>2]=0;A=z+4|0;k[A>>2]=0;k[z+8>>2]=0;if(d){if(d>>>0>1073741823)yp(z);s=d<<2;f=$p(s)|0;k[z>>2]=f;e=f+(d<<2)|0;k[z+8>>2]=e;hq(f|0,0,s|0)|0;k[A>>2]=e;e=k[y>>2]|0;if((e|0)>0){p=k[c>>2]|0;q=b+48|0;s=b+40|0;j=u+4|0;m=a+40|0;n=a+64|0;h=0;l=0;do{g=p+h|0;d=q;c=k[d>>2]|0;d=k[d+4>>2]|0;e=s;e=sq(g|0,((g|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;d=jq(e|0,L|0,c|0,d|0)|0;d=(k[k[b>>2]>>2]|0)+d|0;c=v;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));c=w;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));d=cf(B,w)|0;if(!d){k[t>>2]=k[w>>2];k[t+4>>2]=k[w+4>>2];k[t+8>>2]=k[w+8>>2];k[t+12>>2]=k[w+12>>2];d=$p(28)|0;g=d+8|0;k[g>>2]=k[t>>2];k[g+4>>2]=k[t+4>>2];k[g+8>>2]=k[t+8>>2];k[g+12>>2]=k[t+12>>2];k[d+24>>2]=l;k[d+4>>2]=(((k[g>>2]^318)+239^k[d+12>>2])+239^k[d+16>>2])+239^k[d+20>>2];k[d>>2]=0;df(u,B,d);if(!(i[j>>0]|0))Ip(d);g=m;f=k[g>>2]|0;g=sq(f|0,k[g+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[n>>2]>>2]|0)+g|0,v|0,f|0)|0;f=k[z>>2]|0;k[f+(h<<2)>>2]=l;l=l+1|0}else k[f+(h<<2)>>2]=k[d+24>>2];h=h+1|0;e=k[y>>2]|0}while((h|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[z>>2]|0;d=d>>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;g=a+68|0;h=a+72|0;f=k[h>>2]|0;c=k[g>>2]|0;d=f-c>>2;if(e>>>0<=d>>>0){if(e>>>0>>0?(x=c+(e<<2)|0,(f|0)!=(x|0)):0)k[h>>2]=f+(~((f+-4-x|0)>>>2)<<2)}else{Ue(g,e-d|0,2864);e=k[y>>2]|0}if((e|0)>0){f=k[z>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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[y>>2]=l;f=l}}else f=0;d=k[z>>2]|0;c=d;if(d|0){e=k[A>>2]|0;if((e|0)!=(d|0))k[A>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[B+8>>2]|0;if(d|0)do{A=d;d=k[d>>2]|0;Ip(A)}while((d|0)!=0);d=k[B>>2]|0;k[B>>2]=0;if(!d){r=C;return f|0}Ip(d);r=C;return f|0}function dg(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2876;b=k[a+52>>2]|0;c=b;if(b|0){d=a+56|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+40>>2]|0;c=b;if(b|0){d=a+44|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+28>>2]|0;c=b;if(b|0){d=a+32|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+16>>2]|0;if(!b){a=a+4|0;eg(a);return}c=a+20|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ip(b);a=a+4|0;eg(a);return}function eg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a>>2]|0;if(!b)return;h=a+4|0;c=k[h>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[h>>2]=f;g=k[f>>2]|0;k[f>>2]=0;if(g|0){c=k[g+68>>2]|0;d=c;if(c|0){e=g+72|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}f=g+64|0;c=k[f>>2]|0;k[f>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;Ip(d)}Ip(c)}Ip(g)}c=k[h>>2]|0}while((c|0)!=(b|0));b=k[a>>2]|0}Ip(b);return}function fg(a){a=a|0;dg(a);Ip(a);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;i=r;r=r+16|0;d=i;k[d>>2]=b;if((b|0)<=-1)Aa(5738,5750,92,5777);h=a+4|0;if((k[a+8>>2]|0)-(k[h>>2]|0)>>2>>>0<=b>>>0)hg(h,b+1|0);e=k[(k[c>>2]|0)+56>>2]|0;do if((e|0)<4){f=a+16+(e*12|0)+4|0;g=k[f>>2]|0;if((g|0)==(k[a+16+(e*12|0)+8>>2]|0)){kg(a+16+(e*12|0)|0,d);break}else{k[g>>2]=b;k[f>>2]=g+4;break}}while(0);a=(k[h>>2]|0)+(b<<2)|0;b=k[c>>2]|0;k[c>>2]=0;h=k[a>>2]|0;k[a>>2]=b;if(!h){r=i;return}d=k[h+68>>2]|0;e=d;if(d|0){f=h+72|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ip(d)}a=h+64|0;d=k[a>>2]|0;k[a>>2]=0;if(d|0){e=k[d>>2]|0;if(e|0){f=d+4|0;if((k[f>>2]|0)!=(e|0))k[f>>2]=e;Ip(e)}Ip(d)}Ip(h);r=i;return}function hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=a+4|0;c=k[g>>2]|0;d=k[a>>2]|0;e=c-d>>2;if(e>>>0>>0){ig(a,b-e|0);return}if(e>>>0<=b>>>0)return;f=d+(b<<2)|0;if((c|0)==(f|0))return;do{b=c+-4|0;k[g>>2]=b;a=k[b>>2]|0;k[b>>2]=0;if(a|0){c=k[a+68>>2]|0;d=c;if(c|0){e=a+72|0;b=k[e>>2]|0;if((b|0)!=(c|0))k[e>>2]=b+(~((b+-4-d|0)>>>2)<<2);Ip(c)}b=a+64|0;c=k[b>>2]|0;k[b>>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;Ip(d)}Ip(c)}Ip(a)}c=k[g>>2]|0}while((c|0)!=(f|0));return}function ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;q=s;o=a+8|0;j=k[o>>2]|0;p=a+4|0;c=k[p>>2]|0;if(j-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[p>>2]=c+(b<<2);r=s;return}f=k[a>>2]|0;c=(c-f>>2)+b|0;if(c>>>0>1073741823)yp(a);i=f;d=j-f|0;if(d>>2>>>0<536870911){g=d>>1;g=g>>>0>>0?c:g}else g=1073741823;e=k[p>>2]|0;k[q+12>>2]=0;k[q+16>>2]=a+8;d=e;if(!g)h=0;else h=$p(g<<2)|0;k[q>>2]=h;c=h+(e-f>>2<<2)|0;l=q+8|0;m=q+4|0;k[m>>2]=c;n=q+12|0;k[n>>2]=h+(g<<2);hq(c|0,0,b<<2|0)|0;k[l>>2]=c+(b<<2);if((d|0)==(i|0))d=j;else{do{d=d+-4|0;j=k[d>>2]|0;k[d>>2]=0;k[c+-4>>2]=j;c=(k[m>>2]|0)+-4|0;k[m>>2]=c}while((d|0)!=(i|0));f=k[a>>2]|0;e=k[p>>2]|0;d=k[o>>2]|0}k[a>>2]=c;k[m>>2]=f;k[p>>2]=k[l>>2];k[l>>2]=e;k[o>>2]=k[n>>2];k[n>>2]=d;k[q>>2]=k[m>>2];jg(q);r=s;return}function jg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=k[a+4>>2]|0;h=a+8|0;b=k[h>>2]|0;if((b|0)!=(g|0))do{e=b+-4|0;k[h>>2]=e;f=k[e>>2]|0;k[e>>2]=0;if(f|0){b=k[f+68>>2]|0;c=b;if(b|0){d=f+72|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}e=f+64|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0){c=k[b>>2]|0;if(c|0){d=b+4|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;Ip(c)}Ip(b)}Ip(f)}b=k[h>>2]|0}while((b|0)!=(g|0));b=k[a>>2]|0;if(!b)return;Ip(b);return}function kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)yp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Ip(i);return}function lg(a){a=a|0;var b=0,c=0,d=0,e=0;if(!(k[a+64>>2]|0)){e=0;return e|0}e=a+4|0;d=a+8|0;b=k[e>>2]|0;a=(k[d>>2]|0)-b|0;if((a|0)<=0){e=1;return e|0}c=a>>2;a=b;b=0;while(1){if(c>>>0<=b>>>0){b=6;break}c=k[a+(b<<2)>>2]|0;b=b+1|0;if(!(Oe(c,c)|0)){a=0;b=8;break}a=k[e>>2]|0;c=(k[d>>2]|0)-a>>2;if((b|0)>=(c|0)){a=1;b=8;break}}if((b|0)==6)Aa(9771,9733,63,9761);else if((b|0)==8)return a|0;return 0}function mg(a){a=a|0;var b=0,c=0,d=0,e=0.0,f=0.0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=r;r=r+64|0;R=S+28|0;P=S+16|0;M=S+4|0;K=S;Q=a;F=a+64|0;b=k[F>>2]|0;k[R>>2]=0;k[R+4>>2]=0;k[R+8>>2]=0;k[R+12>>2]=0;k[R+16>>2]=Q;H=R+20|0;o[H>>2]=1.0;k[R+24>>2]=Q;ng(R,b);b=k[F>>2]|0;k[P>>2]=0;Q=P+4|0;k[Q>>2]=0;k[P+8>>2]=0;do if(b)if(b>>>0>1073741823)yp(P);else{O=b<<2;E=$p(O)|0;k[P>>2]=E;c=E+(b<<2)|0;k[P+8>>2]=c;hq(E|0,0,O|0)|0;k[Q>>2]=c;c=k[F>>2]|0;break}else c=0;while(0);k[M>>2]=0;O=M+4|0;k[O>>2]=0;k[M+8>>2]=0;k[K>>2]=0;a:do if((c|0)>0){y=R+16|0;A=R+4|0;B=R+12|0;C=R+8|0;D=M+8|0;z=R+24|0;E=0;x=0;b:while(1){t=k[y>>2]|0;s=t+4|0;t=t+8|0;b=k[s>>2]|0;w=(k[t>>2]|0)-b|0;h=w>>2;if((w|0)>0){c=0;g=0;do{if(h>>>0<=g>>>0){N=11;break b}d=k[b+(g<<2)>>2]|0;if(!(i[d+84>>0]|0))d=k[(k[d+68>>2]|0)+(E<<2)>>2]|0;else d=E;c=d<<2^c<<1;g=g+1|0}while((g|0)<(h|0))}else c=0;w=k[A>>2]|0;v=(w|0)==0;c:do if(!v){m=w+-1|0;d=(m&w|0)==0;if(d)q=m&c;else q=(c>>>0)%(w>>>0)|0;b=k[(k[R>>2]|0)+(q<<2)>>2]|0;if((b|0)!=0?(I=k[b>>2]|0,(I|0)!=0):0){p=k[z>>2]|0;n=p+4|0;p=p+8|0;d:do if(d){b=I;while(1){if((k[b+4>>2]&m|0)!=(q|0)){N=43;break c}l=k[b+8>>2]|0;d=k[n>>2]|0;c=(k[p>>2]|0)-d|0;if((c|0)<=0)break d;j=c>>2;h=0;while(1){if(j>>>0<=h>>>0){N=37;break b}c=k[d+(h<<2)>>2]|0;if(!(i[c+84>>0]|0)){g=k[c+68>>2]|0;c=k[g+(l<<2)>>2]|0;g=k[g+(E<<2)>>2]|0}else{c=l;g=E}h=h+1|0;if((c|0)!=(g|0))break;if((h|0)>=(j|0)){N=41;break d}}b=k[b>>2]|0;if(!b){N=43;break c}}}else{b=I;while(1){if((((k[b+4>>2]|0)>>>0)%(w>>>0)|0|0)!=(q|0)){N=43;break c}l=k[b+8>>2]|0;d=k[n>>2]|0;c=(k[p>>2]|0)-d|0;if((c|0)<=0)break d;j=c>>2;h=0;while(1){if(j>>>0<=h>>>0){N=37;break b}c=k[d+(h<<2)>>2]|0;if(!(i[c+84>>0]|0)){g=k[c+68>>2]|0;c=k[g+(l<<2)>>2]|0;g=k[g+(E<<2)>>2]|0}else{c=l;g=E}h=h+1|0;if((c|0)!=(g|0))break;if((h|0)>=(j|0)){N=41;break d}}b=k[b>>2]|0;if(!b){N=43;break c}}}while(0);if((N|0)==41){N=0;if(!b){N=43;break}}k[(k[P>>2]|0)+(E<<2)>>2]=k[b+12>>2];c=x}else N=43}else N=43;while(0);do if((N|0)==43){N=0;u=$p(16)|0;k[u+8>>2]=E;k[u+12>>2]=x;b=k[s>>2]|0;t=(k[t>>2]|0)-b|0;j=t>>2;if((t|0)>0){c=0;g=0;do{if(j>>>0<=g>>>0){N=47;break b}d=k[b+(g<<2)>>2]|0;if(!(i[d+84>>0]|0))d=k[(k[d+68>>2]|0)+(E<<2)>>2]|0;else d=E;c=d<<2^c<<1;g=g+1|0}while((g|0)<(j|0));h=u+4|0;k[h>>2]=c;k[u>>2]=0;d=0;g=0;while(1){if(j>>>0<=g>>>0){N=53;break b}c=k[b+(g<<2)>>2]|0;if(!(i[c+84>>0]|0))c=k[(k[c+68>>2]|0)+(E<<2)>>2]|0;else c=E;c=c<<2^d<<1;g=g+1|0;if((g|0)>=(j|0)){t=u;b=c;break}else d=c}}else{h=u+4|0;k[h>>2]=0;k[u>>2]=0;t=u;b=0}k[h>>2]=b;e:do if(!v){p=w+-1|0;d=(p&w|0)==0;if(d)b=p&b;else b=(b>>>0)%(w>>>0)|0;c=k[(k[R>>2]|0)+(b<<2)>>2]|0;if((c|0)!=0?(J=k[c>>2]|0,(J|0)!=0):0){s=k[z>>2]|0;q=s+4|0;s=s+8|0;f:do if(d){n=J;while(1){if((k[n+4>>2]&p|0)!=(b|0)){N=83;break e}m=k[n+8>>2]|0;d=k[q>>2]|0;c=(k[s>>2]|0)-d|0;if((c|0)<=0)break f;l=c>>2;j=0;while(1){if(l>>>0<=j>>>0){N=79;break b}c=k[d+(j<<2)>>2]|0;if(!(i[c+84>>0]|0)){g=k[c+68>>2]|0;c=k[g+(m<<2)>>2]|0;g=k[g+(E<<2)>>2]|0}else{c=m;g=E}j=j+1|0;if((c|0)!=(g|0))break;if((j|0)>=(l|0))break f}n=k[n>>2]|0;if(!n){N=83;break e}}}else{n=J;while(1){if((((k[n+4>>2]|0)>>>0)%(w>>>0)|0|0)!=(b|0)){N=83;break e}m=k[n+8>>2]|0;d=k[q>>2]|0;c=(k[s>>2]|0)-d|0;if((c|0)<=0)break f;l=c>>2;j=0;while(1){if(l>>>0<=j>>>0){N=79;break b}c=k[d+(j<<2)>>2]|0;if(!(i[c+84>>0]|0)){g=k[c+68>>2]|0;c=k[g+(m<<2)>>2]|0;g=k[g+(E<<2)>>2]|0}else{c=m;g=E}j=j+1|0;if((c|0)!=(g|0))break;if((j|0)>=(l|0))break f}n=k[n>>2]|0;if(!n){N=83;break e}}}while(0);Ip(u)}else N=83}else{b=0;N=83}while(0);if((N|0)==83){N=0;e=+(((k[B>>2]|0)+1|0)>>>0);f=+o[H>>2];do if(v|e>+(w>>>0)*f){if(w>>>0>2)b=(w+-1&w|0)==0;else b=0;d=(b&1|w<<1)^1;b=~~+ga(+(e/f))>>>0;ng(R,d>>>0>>0?b:d);d=k[A>>2]|0;b=k[h>>2]|0;c=d+-1|0;if(!(c&d)){g=d;b=c&b;break}else{g=d;b=(b>>>0)%(d>>>0)|0;break}}else g=w;while(0);b=(k[R>>2]|0)+(b<<2)|0;c=k[b>>2]|0;if(!c){k[u>>2]=k[C>>2];k[C>>2]=u;k[b>>2]=C;b=k[t>>2]|0;if(b|0){b=k[b+4>>2]|0;c=g+-1|0;if(!(c&g))b=b&c;else b=(b>>>0)%(g>>>0)|0;k[(k[R>>2]|0)+(b<<2)>>2]=u}}else{k[u>>2]=k[c>>2];k[c>>2]=u}k[B>>2]=(k[B>>2]|0)+1}c=x+1|0;k[(k[P>>2]|0)+(E<<2)>>2]=x;b=k[O>>2]|0;if((b|0)==(k[D>>2]|0)){pg(M,K);break}else{k[b>>2]=E;k[O>>2]=b+4;break}}while(0);E=E+1|0;k[K>>2]=E;b=k[F>>2]|0;if((E|0)>=(b|0)){G=b;L=c;break a}else x=c}if((N|0)==11)Aa(9771,9733,63,9761);else if((N|0)==37)Aa(9771,9733,63,9761);else if((N|0)==47)Aa(9771,9733,63,9761);else if((N|0)==53)Aa(9771,9733,63,9761);else if((N|0)==79)Aa(9771,9733,63,9761)}else{G=c;L=0}while(0);if((L|0)!=(G|0)){db[k[(k[a>>2]|0)+20>>2]&7](a,P,M);k[F>>2]=L}b=k[M>>2]|0;c=b;if(b|0){d=k[O>>2]|0;if((d|0)!=(b|0))k[O>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ip(b)}b=k[P>>2]|0;c=b;if(b|0){d=k[Q>>2]|0;if((d|0)!=(b|0))k[Q>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ip(b)}b=k[R+8>>2]|0;if(b|0)do{Q=b;b=k[b>>2]|0;Ip(Q)}while((b|0)!=0);b=k[R>>2]|0;k[R>>2]=0;if(!b){r=S;return}Ip(b);r=S;return}function ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){og(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+20>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;og(a,b);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,r=0,s=0,t=0,u=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Ip(c);k[d>>2]=0;return}u=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=u;if(c|0)Ip(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;f=k[d>>2]|0;if(!f)return;c=k[f+4>>2]|0;t=b+-1|0;u=(t&b|0)==0;if(u)e=c&t;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[f>>2]|0;if(!c)return;s=a+24|0;g=f;d=f;a:while(1){r=d;b:while(1){while(1){d=k[c+4>>2]|0;if(u)q=d&t;else q=(d>>>0)%(b>>>0)|0;if((q|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(q<<2)|0;if(!(k[d>>2]|0)){e=q;f=c;c=r;break b}d=k[c>>2]|0;c:do if(!d)d=c;else{n=k[c+8>>2]|0;m=k[s>>2]|0;p=k[m+4>>2]|0;m=(k[m+8>>2]|0)-p|0;o=m>>2;if((m|0)>0)l=c;else while(1){f=k[d>>2]|0;if(!f)break c;else d=f}while(1){j=k[d+8>>2]|0;m=0;do{if(o>>>0<=m>>>0){c=31;break a}f=k[p+(m<<2)>>2]|0;if(!(i[f+84>>0]|0)){h=k[f+68>>2]|0;f=k[h+(n<<2)>>2]|0;h=k[h+(j<<2)>>2]|0}else{f=n;h=j}m=m+1|0;if((f|0)!=(h|0)){d=l;break c}}while((m|0)<(o|0));f=k[d>>2]|0;if(!f)break;else{l=d;d=f}}}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[g>>2]|0;if(!c){c=36;break a}}c=k[d>>2]|0;if(!c){c=36;break a}else{g=d;r=d}}k[d>>2]=c;c=k[f>>2]|0;if(!c){c=36;break}else{g=f;d=f}}if((c|0)==31)Aa(9771,9733,63,9761);else if((c|0)==36)return}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;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)yp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Ip(i);return}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,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)){j=k[b>>2]|0;l=a+4|0;h=a+8|0;c=0;b:while(1){f=k[d>>2]|0;g=k[j+(f<<2)>>2]|0;if((g|0)>=(c|0)){c=k[l>>2]|0;a=(k[h>>2]|0)-c|0;e=a>>2;if((a|0)>0){a=0;do{if(e>>>0<=a>>>0){c=11;break b}b=k[c+(a<<2)>>2]|0;if(i[b+84>>0]|0){c=13;break b}b=k[b+68>>2]|0;k[b+(g<<2)>>2]=k[b+(f<<2)>>2];a=a+1|0}while((a|0)<(e|0))}c=g+1|0}d=d+4|0;if((d|0)==(m|0)){n=h;o=l;q=c;break a}}if((c|0)==11)Aa(9771,9733,63,9761);else if((c|0)==13)Aa(10788,10807,80,10839)}else{n=a+8|0;o=a+4|0;q=0}while(0);a=k[n>>2]|0;b=k[o>>2]|0;c=a-b|0;if((c|0)<=0)return;d=c>>2;c=a;h=0;while(1){if(d>>>0<=h>>>0){c=18;break}d=k[b+(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(q>>>0<=e>>>0){if(q>>>0>>0?(p=f+(q<<2)|0,(g|0)!=(p|0)):0)k[d>>2]=g+(~((g+-4-p|0)>>>2)<<2)}else{Ue(a,q-e|0,2900);b=k[o>>2]|0;c=k[n>>2]|0}h=h+1|0;d=c-b>>2;if((h|0)>=(d|0)){c=16;break}}if((c|0)==16)return;else if((c|0)==18)Aa(9771,9733,63,9761)}function rg(a){a=a|0;var b=0;k[a>>2]=2876;b=a+4|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[a+20>>2]=0;k[a+24>>2]=0;k[a+28>>2]=0;k[a+32>>2]=0;k[a+36>>2]=0;k[a+40>>2]=0;k[a+44>>2]=0;k[a+48>>2]=0;k[a+52>>2]=0;k[a+56>>2]=0;k[a+60>>2]=0;k[a+64>>2]=0;return}function sg(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>3){b=-1;return b|0}c=k[a+16+(b*12|0)>>2]|0;if(((k[a+16+(b*12|0)+4>>2]|0)-c|0)<=0){b=-1;return b|0}b=k[c>>2]|0;return b|0}function tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+16|0;d=h;c=k[(k[a>>2]|0)+8>>2]|0;f=a+4|0;g=a+8|0;e=(k[g>>2]|0)-(k[f>>2]|0)>>2;i=k[b>>2]|0;k[b>>2]=0;k[d>>2]=i;db[c&7](a,e,d);e=k[d>>2]|0;k[d>>2]=0;if(!e){g=k[g>>2]|0;i=k[f>>2]|0;i=g-i|0;i=i>>2;i=i+-1|0;r=h;return i|0}b=k[e+68>>2]|0;a=b;if(b|0){c=e+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-a|0)>>>2)<<2);Ip(b)}i=e+64|0;b=k[i>>2]|0;k[i>>2]=0;if(b|0){a=k[b>>2]|0;if(a|0){c=b+4|0;if((k[c>>2]|0)!=(a|0))k[c>>2]=a;Ip(a)}Ip(b)}Ip(e);g=k[g>>2]|0;i=k[f>>2]|0;i=g-i|0;i=i>>2;i=i+-1|0;r=h;return i|0}function ug(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2912;b=k[a+80>>2]|0;c=b;if(b|0){d=a+84|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);Ip(b)}b=k[a+68>>2]|0;if(!b){dg(a);return}c=a+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ip(b);dg(a);return}function vg(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2912;b=k[a+80>>2]|0;c=b;if(b|0){d=a+84|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);Ip(b)}b=k[a+68>>2]|0;if(!b){dg(a);Ip(a);return}c=a+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ip(b);dg(a);Ip(a);return}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,i=0;i=r;r=r+16|0;h=i;g=k[c>>2]|0;k[c>>2]=0;k[h>>2]=g;gg(a,b,h);g=k[h>>2]|0;k[h>>2]=0;if(g|0){c=k[g+68>>2]|0;d=c;if(c|0){e=g+72|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}h=g+64|0;c=k[h>>2]|0;k[h>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;Ip(d)}Ip(c)}Ip(g)}h=a+68|0;a=a+72|0;c=k[a>>2]|0;f=k[h>>2]|0;g=c-f>>2;if(g>>>0>b>>>0){r=i;return}d=b+1|0;e=c;if(d>>>0>g>>>0){xg(h,d-g|0);r=i;return}if(d>>>0>=g>>>0){r=i;return}c=f+(d<<2)|0;if((e|0)==(c|0)){r=i;return}k[a>>2]=e+(~((e+-4-c|0)>>>2)<<2);r=i;return}function xg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=a+8|0;e=k[l>>2]|0;m=a+4|0;c=k[m>>2]|0;f=c;if(e-c>>2>>>0>=b>>>0){c=b;d=f;while(1){k[d>>2]=1;c=c+-1|0;if(!c)break;else d=d+4|0}k[m>>2]=f+(b<<2);return}j=k[a>>2]|0;d=(c-j>>2)+b|0;if(d>>>0>1073741823)yp(a);c=e-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?d:c;e=k[m>>2]|0;d=e-j>>2;if(!c){h=0;c=0;g=e}else i=9}else{d=k[m>>2]|0;c=1073741823;e=d;d=d-j>>2;i=9}if((i|0)==9){h=c;c=$p(c<<2)|0;g=e}f=c+(d<<2)|0;d=c+(h<<2)|0;c=b;e=f;while(1){k[e>>2]=1;c=c+-1|0;if(!c)break;else e=e+4|0}h=g-j|0;i=f+(0-(h>>2)<<2)|0;lq(i|0,j|0,h|0)|0;k[a>>2]=i;k[m>>2]=f+(b<<2);k[l>>2]=d;if(!j)return;Ip(j);return}function yg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;qg(a,b,c);d=k[a+84>>2]|0;c=k[a+80>>2]|0;e=c;if((d-c|0)<=0)return;b=k[b>>2]|0;c=(d-c|0)/12|0;a=0;do{d=e+(a*12|0)|0;k[d>>2]=k[b+(k[d>>2]<<2)>>2];d=e+(a*12|0)+4|0;k[d>>2]=k[b+(k[d>>2]<<2)>>2];d=e+(a*12|0)+8|0;k[d>>2]=k[b+(k[d>>2]<<2)>>2];a=a+1|0}while((a|0)<(c|0));return}function zg(a){a=a|0;rg(a);k[a>>2]=2912;a=a+68|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;return}function Ag(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 Bg(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=r;r=r+16|0;c=p+1|0;d=p;if(!b){a=0;r=p;return a|0}f=b+4|0;n=(((k[f>>2]|0)-(k[b>>2]|0)|0)/12|0)*3|0;i[c>>0]=0;Cg(a,n,c);n=b+24|0;o=b+28|0;c=(k[o>>2]|0)-(k[n>>2]|0)>>2;i[d>>0]=0;Cg(a+12|0,c,d);Dg(a+28|0,(((k[f>>2]|0)-(k[b>>2]|0)|0)/12|0)*3|0,2936);f=a+52|0;c=(k[o>>2]|0)-(k[n>>2]|0)|0;g=c>>2;h=a+60|0;j=k[f>>2]|0;if((k[h>>2]|0)-j>>2>>>0>>0){l=a+56|0;m=(k[l>>2]|0)-j|0;d=m>>2;if(!g)e=0;else e=$p(c)|0;q=e+(d<<2)|0;d=q+(0-d<<2)|0;c=j;lq(d|0,c|0,m|0)|0;k[f>>2]=d;k[l>>2]=q;k[h>>2]=e+(g<<2);if(j|0)Ip(c)}m=a+40|0;c=(k[o>>2]|0)-(k[n>>2]|0)|0;f=c>>2;g=a+48|0;h=k[m>>2]|0;if((k[g>>2]|0)-h>>2>>>0>>0){j=a+44|0;l=(k[j>>2]|0)-h|0;d=l>>2;if(!f)e=0;else e=$p(c)|0;q=e+(d<<2)|0;o=q+(0-d<<2)|0;c=h;lq(o|0,c|0,l|0)|0;k[m>>2]=o;k[j>>2]=q;k[g>>2]=e+(f<<2);if(h|0)Ip(c)}k[a+64>>2]=b;i[a+24>>0]=1;q=1;r=p;return q|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,j=0,l=0,m=0;l=r;r=r+16|0;j=l;e=a+4|0;k[e>>2]=0;if(!b){r=l;return}f=a+8|0;d=k[f>>2]|0;if(d<<5>>>0>>0){k[j>>2]=0;g=j+4|0;k[g>>2]=0;h=j+8|0;k[h>>2]=0;if((b|0)<0)yp(a);if(d<<5>>>0>1073741822)d=2147483647;else{d=d<<6;m=b+31&-32;d=d>>>0>>0?m:d}Cd(j,d);d=k[a>>2]|0;k[a>>2]=k[j>>2];k[j>>2]=d;m=k[e>>2]|0;k[e>>2]=b;k[g>>2]=m;m=k[f>>2]|0;k[f>>2]=k[h>>2];k[h>>2]=m;if(d|0)Ip(d)}else k[e>>2]=b;a=k[a>>2]|0;e=a;f=b>>>5;d=f<<2;if(!(i[c>>0]|0)){hq(a|0,0,d|0)|0;a=f<<5;if((a|0)==(b|0)){r=l;return}m=e+(f<<2)|0;k[m>>2]=k[m>>2]&~(-1>>>(32-b+a|0));r=l;return}else{hq(a|0,-1,d|0)|0;a=f<<5;if((a|0)==(b|0)){r=l;return}m=e+(f<<2)|0;k[m>>2]=k[m>>2]|-1>>>(32-b+a|0);r=l;return}}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;i=a+8|0;d=k[i>>2]|0;g=k[a>>2]|0;j=g;if(d-g>>2>>>0>=b>>>0){i=a+4|0;h=k[i>>2]|0;f=h-g>>2;g=f>>>0>>0;d=g?f:b;if(d|0){e=j;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(g){e=b-f|0;d=e;f=h;while(1){k[f>>2]=k[c>>2];d=d+-1|0;if(!d)break;else f=f+4|0}k[i>>2]=h+(e<<2);return}else{d=j+(b<<2)|0;if((h|0)==(d|0))return;k[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);return}}f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(j|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);Ip(f);k[i>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(b>>>0>1073741823)yp(a);d=d-0|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?b:d;if(d>>>0>1073741823)yp(a);else h=d}else h=1073741823;f=$p(h<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[i>>2]=f+(h<<2);d=b;e=f;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[g>>2]=f+(b<<2);return}function Eg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+16|0;x=E+8|0;C=E+12|0;B=E+4|0;y=E;A=a+64|0;d=k[A>>2]|0;if(((k[d+28>>2]|0)-(k[d+24>>2]|0)|0)<=0){r=E;return}z=b+80|0;u=b+84|0;v=a+52|0;w=c+84|0;l=c+68|0;m=a+56|0;n=a+60|0;o=a+12|0;p=a+28|0;q=a+40|0;s=a+44|0;t=a+48|0;h=0;j=0;a:while(1){f=k[(k[d+24>>2]|0)+(j<<2)>>2]|0;if((f|0)<0)b=h;else{b=h+1|0;c=(f|0)/3|0;d=k[z>>2]|0;if(c>>>0>=(((k[u>>2]|0)-d|0)/12|0)>>>0){D=6;break}c=k[d+(c*12|0)+(((f|0)%3|0)<<2)>>2]|0;if(!(i[w>>0]|0))c=k[(k[l>>2]|0)+(c<<2)>>2]|0;k[x>>2]=c;d=k[m>>2]|0;if(d>>>0<(k[n>>2]|0)>>>0){k[d>>2]=c;k[m>>2]=d+4}else Fg(v,x);k[C>>2]=f;k[B>>2]=0;do if(!(k[(k[o>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)))g=f;else{c=f+1|0;c=((c|0)%3|0|0)==0?f+-2|0:c;e=k[a>>2]|0;if(!(1<<(c&31)&k[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=k[(k[(k[A>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0){g=c+1|0;c=((g|0)%3|0|0)==0?c+-2|0:g;k[B>>2]=c;if((c|0)>-1)d=c;else{g=f;break}while(1){c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if(1<<(c&31)&k[e+(c>>>5<<2)>>2]|0){c=-1073741824;break}if((c|0)<0)break;c=k[(k[(k[A>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;g=c+1|0;c=((g|0)%3|0|0)==0?c+-2|0:g;if((c|0)>-1)d=c;else break}k[C>>2]=d;k[B>>2]=c;g=d;break}}}else c=-1073741824;k[B>>2]=c;g=f}while(0);k[(k[p>>2]|0)+(g<<2)>>2]=h;c=k[s>>2]|0;if((c|0)==(k[t>>2]|0))Bd(q,C);else{k[c>>2]=g;k[s>>2]=c+4}d=k[A>>2]|0;b:do if((g|0)>=0){c=(((g|0)%3|0|0)==0?2:-1)+g|0;if((c|0)>=0){c=k[(k[d+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0){c=c+(((c|0)%3|0|0)==0?2:-1)|0;k[B>>2]=c;if((c|0)>-1&(c|0)!=(g|0)){d=h;while(1){h=c+1|0;h=((h|0)%3|0|0)==0?c+-2|0:h;do if(k[(k[a>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)){f=b+1|0;d=(c|0)/3|0;if((c|0)<=-3){D=33;break a}e=k[z>>2]|0;if(d>>>0>=(((k[u>>2]|0)-e|0)/12|0)>>>0){D=35;break a}d=k[e+(d*12|0)+(((c|0)%3|0)<<2)>>2]|0;if(!(i[w>>0]|0))d=k[(k[l>>2]|0)+(d<<2)>>2]|0;k[y>>2]=d;e=k[m>>2]|0;if(e>>>0<(k[n>>2]|0)>>>0){k[e>>2]=d;k[m>>2]=e+4}else Fg(v,y);d=k[s>>2]|0;if((d|0)==(k[t>>2]|0)){Bd(q,B);e=b;b=f;break}else{k[d>>2]=c;k[s>>2]=d+4;e=b;b=f;break}}else e=d;while(0);k[(k[p>>2]|0)+(c<<2)>>2]=e;d=k[A>>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[d+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;c=c+(((c|0)%3|0|0)==0?2:-1)|0;k[B>>2]=c;if(!((c|0)>-1&(c|0)!=(g|0)))break b;else d=e}k[B>>2]=c}}else D=30}else D=30}else{c=g;D=30}while(0);if((D|0)==30){D=0;k[B>>2]=c}}j=j+1|0;if((j|0)>=((k[d+28>>2]|0)-(k[d+24>>2]|0)>>2|0)){D=3;break}else h=b}if((D|0)==3){r=E;return}else if((D|0)==6)Aa(10733,10769,64,10783);else if((D|0)==33)Aa(10856,10769,63,10783);else if((D|0)==35)Aa(10733,10769,64,10783)}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;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)yp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Ip(i);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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;w=r;r=r+16|0;v=w+8|0;u=w+4|0;t=w;i=a+64|0;c=k[i>>2]|0;if(((k[c+28>>2]|0)-(k[c+24>>2]|0)|0)<=0){r=w;return}q=a+52|0;s=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;f=0;h=0;while(1){d=k[(k[c+24>>2]|0)+(h<<2)>>2]|0;if((d|0)<0)b=f;else{b=f+1|0;k[v>>2]=f;c=k[s>>2]|0;if((c|0)==(k[j>>2]|0))Hg(q,v);else{k[c>>2]=f;k[s>>2]=c+4}k[u>>2]=d;k[t>>2]=0;do if(!(k[(k[l>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)))g=d;else{c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;e=k[a>>2]|0;if(!(1<<(c&31)&k[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=k[(k[(k[i>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0){g=c+1|0;c=((g|0)%3|0|0)==0?c+-2|0:g;k[t>>2]=c;if((c|0)>-1)d=c;else{g=d;break}while(1){c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if(1<<(c&31)&k[e+(c>>>5<<2)>>2]|0){c=-1073741824;break}if((c|0)<0)break;c=k[(k[(k[i>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;g=c+1|0;c=((g|0)%3|0|0)==0?c+-2|0:g;if((c|0)>-1)d=c;else break}k[u>>2]=d;k[t>>2]=c;g=d;break}}}else c=-1073741824;k[t>>2]=c;g=d}while(0);k[(k[m>>2]|0)+(g<<2)>>2]=f;c=k[o>>2]|0;if((c|0)==(k[p>>2]|0))Bd(n,u);else{k[c>>2]=g;k[o>>2]=c+4}c=k[i>>2]|0;a:do if((g|0)>=0){d=(((g|0)%3|0|0)==0?2:-1)+g|0;if((d|0)>=0){d=k[(k[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d|0)%3|0|0)==0?2:-1)|0;k[t>>2]=d;if((d|0)>-1&(d|0)!=(g|0)){c=f;while(1){f=d+1|0;f=((f|0)%3|0|0)==0?d+-2|0:f;do if(k[(k[a>>2]|0)+(f>>>5<<2)>>2]&1<<(f&31)){e=b+1|0;k[v>>2]=b;c=k[s>>2]|0;if((c|0)==(k[j>>2]|0))Hg(q,v);else{k[c>>2]=b;k[s>>2]=c+4}c=k[o>>2]|0;if((c|0)==(k[p>>2]|0)){Bd(n,t);f=b;b=e;break}else{k[c>>2]=d;k[o>>2]=c+4;f=b;b=e;break}}else f=c;while(0);k[(k[m>>2]|0)+(d<<2)>>2]=f;c=k[i>>2]|0;if((d|0)<0)break;d=(((d|0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0)break;d=k[(k[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;d=d+(((d|0)%3|0|0)==0?2:-1)|0;k[t>>2]=d;if(!((d|0)>-1&(d|0)!=(g|0)))break a;else c=f}k[t>>2]=d}}else x=26}else x=26}else{d=g;x=26}while(0);if((x|0)==26){x=0;k[t>>2]=d}}h=h+1|0;if((h|0)>=((k[c+28>>2]|0)-(k[c+24>>2]|0)>>2|0))break;else f=b}r=w;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;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)yp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Ip(i);return}function Ig(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){Eg(a,b,c);return}else{Gg(a,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;d=k[b>>2]|0;f=k[a>>2]|0;h=f+(d>>>5<<2)|0;k[h>>2]=k[h>>2]|1<<(d&31);h=k[a+64>>2]|0;e=(d|0)<0;if(!e?(c=d+1|0,c=((c|0)%3|0|0)==0?d+-2|0:c,(c|0)>=0):0)b=k[(k[h>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;else b=-1073741824;g=a+12|0;c=(k[g>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31);if(e){h=(k[g>>2]|0)+402653184|0;k[h>>2]=k[h>>2]|1;return}b=(((d|0)%3|0|0)==0?2:-1)+d|0;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;c=(k[g>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31);if(e)return;c=k[(k[h+12>>2]|0)+(d<<2)>>2]|0;if((c|0)<=-1)return;i[a+24>>0]=0;b=f+(c>>>5<<2)|0;k[b>>2]=k[b>>2]|1<<(c&31);b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;a=(k[g>>2]|0)+(b>>>5<<2)|0;k[a>>2]=k[a>>2]|1<<(b&31);b=(((c|0)%3|0|0)==0?2:-1)+c|0;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;h=(k[g>>2]|0)+(b>>>5<<2)|0;k[h>>2]=k[h>>2]|1<<(b&31);return}function Kg(a){a=a|0;o[a>>2]=1.0;o[a+4>>2]=1.0;return}function Lg(a,b,c){a=a|0;b=+b;c=c|0;o[a+4>>2]=1.0/+(c|0);o[a>>2]=b;return}function Mg(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function Ng(a){a=a|0;return}function Og(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;Mg(a+24|0);i[a+36>>0]=0;return}function Pg(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;a=a+16|0;k[a>>2]=0;k[a+4>>2]=0;return}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,j=0,m=0;if(b){e=a+8|0;m=e;h=k[m>>2]|0;m=k[m+4>>2]|0;f=a+16|0;b=f;d=k[b>>2]|0;b=k[b+4>>2]|0;g=jq(d|0,b|0,8,0)|0;j=L;if(!((m|0)<(j|0)|(m|0)==(j|0)&h>>>0>>0)){b=(k[a>>2]|0)+d|0;j=b;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=c;m=d;i[m>>0]=j;i[m+1>>0]=j>>8;i[m+2>>0]=j>>16;i[m+3>>0]=j>>24;d=d+4|0;i[d>>0]=b;i[d+1>>0]=b>>8;i[d+2>>0]=b>>16;i[d+3>>0]=b>>24;d=f;d=jq(k[d>>2]|0,k[d+4>>2]|0,8,0)|0;b=L;m=f;k[m>>2]=d;k[m+4>>2]=b}}else{b=a+16|0;e=a+8|0;d=k[b>>2]|0;b=k[b+4>>2]|0}i[a+36>>0]=1;j=(k[a>>2]|0)+d|0;m=e;m=gq(k[m>>2]|0,k[m+4>>2]|0,d|0,b|0)|0;k[a+32>>2]=0;k[a+24>>2]=j;k[a+28>>2]=j+m;return 1}function Rg(a){a=a|0;var b=0,c=0;i[a+36>>0]=0;c=jq(k[a+32>>2]|0,0,7,0)|0;c=kq(c|0,L|0,3)|0;a=a+16|0;b=a;b=jq(c|0,L|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[a>>2]=b;k[a+4>>2]=L;return}function Sg(a){a=a|0;var b=0,c=0;k[a>>2]=2948;c=k[a+4>>2]|0;if(!c)return;a=a+8|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Ip(c);return}function Tg(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2948;b=k[a+4>>2]|0;if(!b){Ip(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);Ip(b);Ip(a);return}function Ug(a,b,c){a=a|0;b=b|0;c=c|0;k[a+16>>2]=b;k[a+20>>2]=c;return 1}function Vg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+80|0;z=A;w=A+64|0;x=b+8|0;u=x;v=k[u>>2]|0;u=k[u+4>>2]|0;y=b+16|0;d=y;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((u|0)<(e|0)|(u|0)==(e|0)&v>>>0>>0){b=0;r=A;return b|0}v=(k[b>>2]|0)+c|0;v=l[v>>0]|l[v+1>>0]<<8|l[v+2>>0]<<16|l[v+3>>0]<<24;u=y;k[u>>2]=d;k[u+4>>2]=e;u=a+4|0;c=a+8|0;f=k[c>>2]|0;e=k[u>>2]|0;d=f-e>>2;if(v>>>0<=d>>>0){if(v>>>0>>0?(g=e+(v<<2)|0,(f|0)!=(g|0)):0)k[c>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else Wg(u,v-d|0);q=k[a+20>>2]|0;if((v|0)<=0){b=1;r=A;return b|0}s=z+60|0;t=0;while(1){n=x;m=k[n>>2]|0;n=k[n+4>>2]|0;g=y;d=k[g>>2]|0;g=k[g+4>>2]|0;if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>d>>>0)){c=0;d=27;break}o=k[b>>2]|0;p=i[o+d>>0]|0;c=jq(d|0,g|0,1,0)|0;h=L;a=y;k[a>>2]=c;k[a+4>>2]=h;if(!((n|0)>(h|0)|(n|0)==(h|0)&m>>>0>c>>>0)){c=0;d=27;break}h=i[o+c>>0]|0;c=jq(d|0,g|0,2,0)|0;a=L;f=y;k[f>>2]=c;k[f+4>>2]=a;if(!((n|0)>(a|0)|(n|0)==(a|0)&m>>>0>c>>>0)){c=0;d=27;break}a=i[o+c>>0]|0;c=jq(d|0,g|0,3,0)|0;f=L;e=y;k[e>>2]=c;k[e+4>>2]=f;if(!((n|0)>(f|0)|(n|0)==(f|0)&m>>>0>c>>>0)){c=0;d=27;break}e=i[o+c>>0]|0;f=jq(d|0,g|0,4,0)|0;c=y;k[c>>2]=f;k[c+4>>2]=L;c=jq(d|0,g|0,6,0)|0;d=L;if((n|0)<(d|0)|(n|0)==(d|0)&m>>>0>>0){c=0;d=27;break}g=o+f|0;g=l[g>>0]|l[g+1>>0]<<8;n=y;k[n>>2]=c;k[n+4>>2]=d;n=h&255;Ie(z);o=ha(cd(n)|0,a&255)|0;Je(z,p&255,0,a,n,e<<24>>24!=0,o,((o|0)<0)<<31>>31,0,0);j[s>>1]=g;g=$p(88)|0;Me(g,z);k[w>>2]=g;g=tg(q,w)|0;a=k[w>>2]|0;k[w>>2]=0;if(a|0){c=k[a+68>>2]|0;d=c;if(c|0){e=a+72|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}p=a+64|0;c=k[p>>2]|0;k[p>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;Ip(d)}Ip(c)}Ip(a)}k[(k[u>>2]|0)+(t<<2)>>2]=g;t=t+1|0;if((t|0)>=(v|0)){c=1;d=27;break}}if((d|0)==27){r=A;return c|0}return 0}function Wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)yp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;hq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;lq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Ip(j);return}function Xg(a){a=a|0;k[a>>2]=2948;a=a+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;return}function Yg(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b)return;c=a+12|0;a=k[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-4|0;k[c>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[c>>2]|0}while((a|0)!=(b|0));b=k[d>>2]|0}Ip(b);return}function Zg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Ip(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)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Ip(b);Ip(a);return}function _g(a){a=a|0;return 0}function $g(a){a=a|0;return 1}function ah(a){a=a|0;return 1}function bh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=a+20|0;b=k[h>>2]|0;g=b+8|0;f=k[g+4>>2]|0;e=b+16|0;d=e;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((f|0)>(d|0)|((f|0)==(d|0)?(k[g>>2]|0)>>>0>c>>>0:0))){a=0;return a|0}f=i[(k[b>>2]|0)+c>>0]|0;d=jq(c|0,d|0,1,0)|0;g=e;k[g>>2]=d;k[g+4>>2]=L;g=f&255;e=f<<24>>24==0;a:do if(!e){b=0;while(1){if(!(gb[k[(k[a>>2]|0)+16>>2]&63](a,b)|0)){b=0;break}b=b+1|0;if((b|0)>=(g|0))break a}return b|0}while(0);f=a+8|0;b=k[f>>2]|0;c=k[a+12>>2]|0;b:do if((b|0)!=(c|0)){d=a+4|0;while(1){j=k[b>>2]|0;b=b+4|0;if(!(_a[k[(k[j>>2]|0)+8>>2]&31](j,a,k[d>>2]|0)|0)){b=0;break}if((b|0)==(c|0))break b}return b|0}while(0);c:do if(!e){b=0;while(1){j=k[(k[f>>2]|0)+(b<<2)>>2]|0;b=b+1|0;if(!(gb[k[(k[j>>2]|0)+12>>2]&63](j,k[h>>2]|0)|0)){b=0;break}if((b|0)>=(g|0))break c}return b|0}while(0);if(!(cb[k[(k[a>>2]|0)+28>>2]&127](a)|0)){j=0;return j|0}j=cb[k[(k[a>>2]|0)+32>>2]&127](a)|0;return j|0}function ch(a){a=a|0;var b=0,c=0,d=0;b=k[a+8>>2]|0;c=k[a+12>>2]|0;if((b|0)==(c|0)){c=1;return c|0}a=a+20|0;while(1){d=k[b>>2]|0;b=b+4|0;if(!(gb[k[(k[d>>2]|0)+16>>2]&63](d,k[a>>2]|0)|0)){b=0;a=5;break}if((b|0)==(c|0)){b=1;a=5;break}}if((a|0)==5)return b|0;return 0}function dh(a){a=a|0;return 1}function eh(a){a=a|0;k[a>>2]=2976;a=a+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;return}function fh(a,b,c){a=a|0;b=b|0;c=c|0;k[a+20>>2]=b;k[a+4>>2]=c;if(!(cb[k[(k[a>>2]|0)+12>>2]&127](a)|0)){a=0;return a|0}if(!(cb[k[(k[a>>2]|0)+20>>2]&127](a)|0)){a=0;return a|0}a=cb[k[(k[a>>2]|0)+24>>2]&127](a)|0;return a|0}function gh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Ip(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)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Ip(b);Ip(a);return}function hh(a){a=a|0;return 1}function ih(a){a=a|0;if(!(k[a+24>>2]|0))return 0;else return cb[k[(k[a>>2]|0)+48>>2]&127](a)|0;return 0}function jh(a){a=a|0;return 0}function kh(a,b){a=a|0;b=b|0;return 0}function lh(a,b){a=a|0;b=b|0;return 0}function mh(a){a=a|0;eh(a);k[a>>2]=3020;k[a+24>>2]=0;return}function nh(a,b,c){a=a|0;b=b|0;c=c|0;k[a+24>>2]=c;return fh(a,b,c)|0}function oh(a){a=a|0;return}function ph(a){a=a|0;Ip(a);return}function qh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;k[a+4>>2]=b;b=k[b+4>>2]|0;if((c|0)<=-1)Aa(9717,9733,62,9761);d=k[b+4>>2]|0;if((k[b+8>>2]|0)-d>>2>>>0>c>>>0){k[a+8>>2]=k[d+(c<<2)>>2];k[a+12>>2]=c;return 1}else Aa(9771,9733,63,9761);return 0}function rh(a,b){a=a|0;b=b|0;k[a+8>>2]=b;k[a+12>>2]=-1;return 1}function sh(a,b,c){a=a|0;b=b|0;c=c|0;Ne(k[a+8>>2]|0,(k[b+4>>2]|0)-(k[b>>2]|0)>>2);return _a[k[(k[a>>2]|0)+24>>2]&31](a,b,c)|0}function th(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;if((cb[k[(k[b>>2]|0)+20>>2]&127](b)|0)<=0){b=1;return b|0}e=a+4|0;f=0;while(1){a=k[(k[e>>2]|0)+4>>2]|0;a=sg(a,gb[k[(k[b>>2]|0)+24>>2]&63](b,f)|0)|0;if((a|0)==-1){a=0;c=10;break}c=k[(k[e>>2]|0)+4>>2]|0;if((a|0)<=-1){c=6;break}d=k[c+4>>2]|0;if((k[c+8>>2]|0)-d>>2>>>0<=a>>>0){c=8;break}f=f+1|0;if(!(gb[k[(k[b>>2]|0)+28>>2]&63](b,k[d+(a<<2)>>2]|0)|0)){a=0;c=10;break}if((f|0)>=(cb[k[(k[b>>2]|0)+20>>2]&127](b)|0)){a=1;c=10;break}}if((c|0)==6)Aa(9717,9733,62,9761);else if((c|0)==8)Aa(9771,9733,63,9761);else if((c|0)==10)return a|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,i=0,j=0,l=0,m=0,n=0,o=0;j=(k[b+4>>2]|0)-(k[b>>2]|0)|0;l=j>>2;h=a+8|0;b=k[(k[h>>2]|0)+40>>2]|0;m=bq((b|0)>-1?b:-1)|0;a=c+8|0;if((j|0)<=0){c=1;cq(m);return c|0}d=c+16|0;i=0;j=0;while(1){o=a;n=k[o>>2]|0;o=k[o+4>>2]|0;f=d;e=k[f>>2]|0;f=jq(e|0,k[f+4>>2]|0,b|0,0)|0;g=L;if((o|0)<(g|0)|(o|0)==(g|0)&n>>>0>>0){b=0;a=5;break}lq(m|0,(k[c>>2]|0)+e|0,b|0)|0;o=d;k[o>>2]=f;k[o+4>>2]=g;lq((k[k[(k[h>>2]|0)+64>>2]>>2]|0)+j|0,m|0,b|0)|0;i=i+1|0;if((i|0)>=(l|0)){b=1;a=5;break}else j=j+b|0}if((a|0)==5){cq(m);return b|0}return 0}function vh(a){a=a|0;k[a>>2]=3080;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=-1;return}function wh(a){a=a|0;var b=0,c=0;k[a>>2]=3116;c=a+28|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);c=k[a+16>>2]|0;if(!c)return;b=a+20|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Ip(c);return}function xh(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3116;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);d=k[a+16>>2]|0;if(!d){Ip(a);return}b=a+20|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);Ip(d);Ip(a);return}function yh(a,b,c){a=a|0;b=b|0;c=c|0;return qh(a,b,c)|0}function zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=(k[b+4>>2]|0)-(k[b>>2]|0)>>2;g=c+8|0;j=k[g>>2]|0;g=k[g+4>>2]|0;h=c+16|0;d=h;e=k[d>>2]|0;d=k[d+4>>2]|0;if((g|0)>(d|0)|(g|0)==(d|0)&j>>>0>e>>>0){f=i[(k[c>>2]|0)+e>>0]|0;e=jq(e|0,d|0,1,0)|0;d=L;n=h;k[n>>2]=e;k[n+4>>2]=d;if(f<<24>>24!=-2)l=3}else{f=0;l=3}if((l|0)==3){if((g|0)>(d|0)|(g|0)==(d|0)&j>>>0>e>>>0){n=i[(k[c>>2]|0)+e>>0]|0;l=jq(e|0,d|0,1,0)|0;d=h;k[d>>2]=l;k[d+4>>2]=L;d=n}else d=0;n=a+28|0;l=_a[k[(k[a>>2]|0)+32>>2]&31](a,f<<24>>24,d<<24>>24)|0;d=k[n>>2]|0;k[n>>2]=l;if(d|0)ab[k[(k[d>>2]|0)+4>>2]&127](d)}d=k[a+28>>2]|0;if(d|0?!(gb[k[(k[a>>2]|0)+20>>2]&63](a,d)|0):0){n=0;return n|0}if(!(_a[k[(k[a>>2]|0)+28>>2]&31](a,b,c)|0)){n=0;return n|0}n=gb[k[(k[a>>2]|0)+40>>2]&63](a,m)|0;return n|0}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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=cb[k[(k[a>>2]|0)+36>>2]&127](a)|0;v=a+16|0;h=ha((k[b+4>>2]|0)-(k[b>>2]|0)>>2,u)|0;t=a+20|0;f=k[t>>2]|0;e=k[v>>2]|0;d=f-e>>2;if(h>>>0<=d>>>0){if(h>>>0>>0?(g=e+(h<<2)|0,(f|0)!=(g|0)):0)k[t>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else Wg(v,h-d|0);r=c+8|0;n=r;o=k[n>>2]|0;n=k[n+4>>2]|0;s=c+16|0;g=s;f=k[g>>2]|0;g=k[g+4>>2]|0;if(!((n|0)>(g|0)|(n|0)==(g|0)&o>>>0>f>>>0)){b=0;return b|0}l=k[c>>2]|0;q=i[l+f>>0]|0;d=jq(f|0,g|0,1,0)|0;e=L;p=s;k[p>>2]=d;k[p+4>>2]=e;a:do if(!(q<<24>>24)){if(!((n|0)>(e|0)|(n|0)==(e|0)&o>>>0>d>>>0)){b=0;return b|0}j=i[l+d>>0]|0;m=jq(f|0,g|0,2,0)|0;d=L;h=s;k[h>>2]=m;k[h+4>>2]=d;h=k[t>>2]|0;g=k[v>>2]|0;e=h-g|0;f=g;if(j<<24>>24==4){r=jq(m|0,d|0,e|0,0)|0;q=L;if((n|0)<(q|0)|(n|0)==(q|0)&o>>>0>>0){b=0;return b|0}else{lq(f|0,l+m|0,e|0)|0;r=s;r=jq(k[r>>2]|0,k[r+4>>2]|0,e|0,0)|0;k[s>>2]=r;k[s+4>>2]=L;break}}if((h|0)!=(g|0)){q=j&255;p=j&255;l=n;j=o;e=m;f=0;while(1){o=jq(e|0,d|0,q|0,0)|0;n=L;if(!((l|0)<(n|0)|(l|0)==(n|0)&j>>>0>>0)){lq(g+(f<<2)|0,(k[c>>2]|0)+e|0,p|0)|0;e=s;e=jq(k[e>>2]|0,k[e+4>>2]|0,q|0,0)|0;d=L;g=s;k[g>>2]=e;k[g+4>>2]=d;g=k[v>>2]|0;h=k[t>>2]|0}f=f+1|0;if(f>>>0>=h-g>>2>>>0)break a;j=r;l=k[j+4>>2]|0;j=k[j>>2]|0}}}else if(!(Kd(h,u,c,k[v>>2]|0)|0)){b=0;return b|0}while(0);e=a+28|0;d=k[e>>2]|0;if(!((d|0)!=0?cb[k[(k[d>>2]|0)+40>>2]&127](d)|0:0)){a=k[v>>2]|0;Jd(a,(k[t>>2]|0)-a>>2,a)}d=k[e>>2]|0;if(d|0){if(!(gb[k[(k[d>>2]|0)+36>>2]&63](d,c)|0)){b=0;return b|0}a=k[e>>2]|0;c=k[v>>2]|0;if(!(bb[k[(k[a>>2]|0)+52>>2]&31](a,c,c,(k[t>>2]|0)-c>>2,u,k[b>>2]|0)|0)){b=0;return b|0}}b=1;return b|0}function Bh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+48|0;f=g;if((c|0)!=1){b=0;r=g;return b|0}e=k[a+12>>2]|0;c=k[a+4>>2]|0;a=f;d=a+36|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(d|0));b=Ch(b,e,c,f)|0;r=g;return b|0}function Ch(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=k[c+4>>2]|0;if((b|0)<=-1)Aa(9717,9733,54,9761);f=k[e+4>>2]|0;if((k[e+8>>2]|0)-f>>2>>>0<=b>>>0)Aa(9771,9733,55,9761);e=k[f+(b<<2)>>2]|0;if((cb[k[(k[c>>2]|0)+8>>2]&127](c)|0)==1?(g=Dh(c,a,b,d)|0,g|0):0){d=g;return d|0}if((a|0)==-2){d=0;return d|0}a=$p(44)|0;k[a>>2]=3168;k[a+4>>2]=e;k[a+8>>2]=k[d>>2];c=a+12|0;b=d+4|0;k[c>>2]=k[b>>2];k[c+4>>2]=k[b+4>>2];k[c+8>>2]=k[b+8>>2];k[c+12>>2]=k[b+12>>2];k[c+16>>2]=k[b+16>>2];Ph(a+32|0,d+24|0);k[a>>2]=3616;d=a;return d|0}function Dh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+16|0;i=j;e=k[a+4>>2]|0;if((c|0)<=-1)Aa(9717,9733,54,9761);f=k[e+4>>2]|0;if((k[e+8>>2]|0)-f>>2>>>0<=c>>>0)Aa(9771,9733,55,9761);f=k[f+(c<<2)>>2]|0;if(!((b+-1|0)>>>0<3&(cb[k[(k[a>>2]|0)+8>>2]&127](a)|0)==1)){d=0;r=j;return d|0}g=cb[k[(k[a>>2]|0)+36>>2]&127](a)|0;h=gb[k[(k[a>>2]|0)+44>>2]&63](a,c)|0;if((g|0)==0|(h|0)==0){d=0;r=j;return d|0}e=gb[k[(k[a>>2]|0)+40>>2]&63](a,c)|0;if(!e){c=i;k[c>>2]=0;k[c+4>>2]=0;k[i>>2]=k[a+24>>2];k[i+4>>2]=g;k[i+12>>2]=h;k[i+8>>2]=h+12;d=ni(b,f,d,i)|0;r=j;return d|0}else{c=i;k[c>>2]=0;k[c+4>>2]=0;k[i>>2]=k[a+24>>2];k[i+4>>2]=e;k[i+12>>2]=h;k[i+8>>2]=h+12;d=Eh(b,f,d,i)|0;r=j;return d|0}return 0}function Eh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;switch(a|0){case 1:{a=$p(60)|0;k[a>>2]=3168;k[a+4>>2]=b;k[a+8>>2]=k[c>>2];b=a+12|0;e=c+4|0;k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];Ph(a+32|0,c+24|0);c=a+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[a>>2]=3232;c=a;return c|0}case 2:{e=$p(60)|0;k[e>>2]=3168;k[e+4>>2]=b;k[e+8>>2]=k[c>>2];a=e+12|0;b=c+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[a+16>>2]=k[b+16>>2];Ph(e+32|0,c+24|0);c=e+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[e>>2]=3296;return e|0}case 3:{e=$p(88)|0;k[e>>2]=3168;k[e+4>>2]=b;k[e+8>>2]=k[c>>2];a=e+12|0;b=c+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[a+16>>2]=k[b+16>>2];Ph(e+32|0,c+24|0);c=e+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[e>>2]=3360;c=e+60|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;k[c+24>>2]=0;return e|0}default:{e=0;return e|0}}return 0}function Fh(a){a=a|0;var b=0,c=0;k[a>>2]=3168;c=k[a+32>>2]|0;if(!c)return;a=a+36|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Ip(c);return}function Gh(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Ip(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);Ip(b);Ip(a);return}function Hh(a){a=a|0;return k[a+4>>2]|0}function Ih(a){a=a|0;return 0}function Jh(a,b){a=a|0;b=b|0;return -1}function Kh(a,b){a=a|0;b=b|0;return 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;h=r;r=r+16|0;e=h+4|0;f=h;c=a+12|0;d=b+16|0;g=d;i=k[g+4>>2]|0;if((i|0)>0|(i|0)==0&(k[g>>2]|0)>>>0>0){r=h;return 1}g=b+4|0;k[f>>2]=k[g>>2];k[e>>2]=k[f>>2];ed(b,e,c,c+4|0)|0;i=d;d=k[i+4>>2]|0;c=a+16|0;if((d|0)>0|(d|0)==0&(k[i>>2]|0)>>>0>0){r=h;return 1}k[f>>2]=k[g>>2];k[e>>2]=k[f>>2];ed(b,e,c,c+4|0)|0;r=h;return 1}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;e=b+8|0;j=e;g=k[j>>2]|0;j=k[j+4>>2]|0;f=b+16|0;d=f;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;h=L;if((j|0)<(h|0)|(j|0)==(h|0)&g>>>0>>0){j=0;return j|0}j=a+12|0;c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[j>>0]=c;i[j+1>>0]=c>>8;i[j+2>>0]=c>>16;i[j+3>>0]=c>>24;j=f;g=k[j>>2]|0;j=k[j+4>>2]|0;d=jq(g|0,j|0,4,0)|0;h=f;k[h>>2]=d;k[h+4>>2]=L;h=k[e>>2]|0;e=k[e+4>>2]|0;j=jq(g|0,j|0,8,0)|0;g=L;if((e|0)<(g|0)|(e|0)==(g|0)&h>>>0>>0){j=0;return j|0}h=a+16|0;j=(k[b>>2]|0)+d|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;i[h>>0]=j;i[h+1>>0]=j>>8;i[h+2>>0]=j>>16;i[h+3>>0]=j>>24;h=f;h=jq(k[h>>2]|0,k[h+4>>2]|0,4,0)|0;d=f;k[d>>2]=h;k[d+4>>2]=L;j=1-c+j|0;k[a+20>>2]=j;c=(j|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(j&1|0){j=1;return j|0}k[d>>2]=c+-1;j=1;return j|0}function Nh(a){a=a|0;return 0}function Oh(a){a=a|0;return 1}function Ph(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;e=b+4|0;c=(k[e>>2]|0)-(k[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823)yp(a);f=$p(c)|0;k[g>>2]=f;k[a>>2]=f;k[a+8>>2]=f+(d<<2);c=k[b>>2]|0;b=k[e>>2]|0;if((c|0)==(b|0))return;a=(b+-4-c|0)>>>2;d=f;while(1){k[d>>2]=k[c>>2];c=c+4|0;if((c|0)==(b|0))break;else d=d+4|0}k[g>>2]=f+(a+1<<2);return}function Qh(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Ip(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);Ip(b);Ip(a);return}function Rh(a){a=a|0;return 1}function Sh(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 Th(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=a+8|0;k[H>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;i=1;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;F=1-g+f|0;k[a+20>>2]=F;f=(F|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(F&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Wg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=e>>>0>1073741823?-1:e<<2;F=bq(o)|0;hq(F|0,0,o|0)|0;o=k[a+48>>2]|0;p=a+56|0;h=k[p>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;a:do if((i|0)>4){q=k[a+52>>2]|0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=o+64|0;y=o+28|0;z=(e|0)>0;m=i>>2;while(1){n=m+-1|0;if(g-f>>2>>>0<=n>>>0)break;f=k[f+(n<<2)>>2]|0;if(!((f|0)<0?1:(1<<(f&31)&k[(k[o>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(A=k[(k[(k[x>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(A|0)>-1):0){h=k[y>>2]|0;d=k[q>>2]|0;f=k[d+(k[h+(A<<2)>>2]<<2)>>2]|0;g=A+1|0;g=k[d+(k[h+((((g|0)%3|0|0)==0?A+-2|0:g)<<2)>>2]<<2)>>2]|0;h=k[d+(k[h+((((A|0)%3|0|0)==0?2:-1)+A<<2)>>2]<<2)>>2]|0;d=ha(n,e)|0;if((f|0)<(n|0)&(g|0)<(n|0)&(h|0)<(n|0)){j=ha(f,e)|0;i=ha(g,e)|0;f=ha(h,e)|0;if(z){g=0;do{k[F+(g<<2)>>2]=(k[b+(g+f<<2)>>2]|0)+(k[b+(g+i<<2)>>2]|0)-(k[b+(g+j<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}l=b+(d<<2)|0;if((k[H>>2]|0)>0){j=0;do{i=k[F+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[s>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[H>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+d<<2)>>2]=(k[l+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[H>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+d<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[u>>2]|0)){if((g|0)>(k[w>>2]|0))k[f>>2]=g-(k[v>>2]|0)}else k[f>>2]=(k[v>>2]|0)+g;h=h+1|0}while((h|0)<(k[H>>2]|0))}}}}else{C=d;E=26}}else{C=ha(n,e)|0;E=26}if((E|0)==26?(E=0,B=b+(C<<2)|0,D=b+((ha(m+-2|0,e)|0)<<2)|0,(k[H>>2]|0)>0):0){j=0;do{i=k[D+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[s>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[H>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+C<<2)>>2]=(k[B+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[H>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+C<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[u>>2]|0)){if((g|0)>(k[w>>2]|0))k[f>>2]=g-(k[v>>2]|0)}else k[f>>2]=(k[v>>2]|0)+g;h=h+1|0}while((h|0)<(k[H>>2]|0))}}}if((n|0)<=1){G=F;break a}h=k[p>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0;m=n}zp(h)}else G=F;while(0);if((e|0)>0)hq(F|0,0,e<<2|0)|0;if((k[H>>2]|0)<=0){cq(F);return 1}j=a+16|0;l=a+32|0;d=a+12|0;m=0;do{i=k[G+(m<<2)>>2]|0;f=k[j>>2]|0;do if((i|0)<=(f|0)){f=k[d>>2]|0;h=k[l>>2]|0;g=h+(m<<2)|0;if((i|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=i;break}}else{h=k[l>>2]|0;k[h+(m<<2)>>2]=f}while(0);m=m+1|0;f=k[H>>2]|0}while((m|0)<(f|0));if((f|0)>0)g=0;else{cq(F);return 1}do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)-(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[H>>2]|0}while((g|0)<(f|0));if((f|0)<=0){cq(F);return 1}j=a+28|0;l=a+20|0;f=a+24|0;i=0;do{g=c+(i<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[j>>2]|0)){if((h|0)>(k[f>>2]|0))k[g>>2]=h-(k[l>>2]|0)}else k[g>>2]=(k[l>>2]|0)+h;i=i+1|0}while((i|0)<(k[H>>2]|0));cq(F);return 1}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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;z=a+8|0;k[z>>2]=e;f=a+32|0;d=a+36|0;i=k[d>>2]|0;h=k[f>>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[d>>2]=i+(~((i+-4-j|0)>>>2)<<2);f=e}else f=e;else{Wg(f,e-g|0);f=k[z>>2]|0}w=k[a+48>>2]|0;x=k[a+52>>2]|0;v=e>>>0>1073741823?-1:e<<2;y=bq(v)|0;hq(y|0,0,v|0)|0;if((f|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{h=k[y+(j<<2)>>2]|0;f=k[l>>2]|0;do if((h|0)<=(f|0)){f=k[m>>2]|0;d=k[i>>2]|0;g=d+(j<<2)|0;if((h|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=h;break}}else{d=k[i>>2]|0;k[d+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[z>>2]|0}while((j|0)<(f|0));g=d;if((f|0)>0){d=0;do{k[c+(d<<2)>>2]=(k[b+(d<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[z>>2]|0}while((d|0)<(f|0));if((f|0)>0){g=a+20|0;h=0;do{f=c+(h<<2)|0;d=k[f>>2]|0;if((d|0)<=(k[l>>2]|0)){if((d|0)<(k[m>>2]|0))k[f>>2]=(k[g>>2]|0)+d}else k[f>>2]=d-(k[g>>2]|0);h=h+1|0;f=k[z>>2]|0}while((h|0)<(f|0))}}}s=k[a+56>>2]|0;d=k[s>>2]|0;s=(k[s+4>>2]|0)-d>>2;if(s>>>0<=1){cq(y);return 1}t=a+16|0;u=a+32|0;v=a+12|0;o=a+20|0;p=w+64|0;q=w+28|0;r=(e|0)>0;n=1;do{g=k[d+(n<<2)>>2]|0;if(!((g|0)<0?1:(1<<(g&31)&k[(k[w>>2]|0)+(g>>>5<<2)>>2]|0)!=0)?(A=k[(k[(k[p>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(A|0)>-1):0){i=k[q>>2]|0;m=k[x>>2]|0;g=k[m+(k[i+(A<<2)>>2]<<2)>>2]|0;h=A+1|0;h=k[m+(k[i+((((h|0)%3|0|0)==0?A+-2|0:h)<<2)>>2]<<2)>>2]|0;i=k[m+(k[i+((((A|0)%3|0|0)==0?2:-1)+A<<2)>>2]<<2)>>2]|0;m=ha(n,e)|0;if((g|0)<(n|0)&(h|0)<(n|0)&(i|0)<(n|0)){l=ha(g,e)|0;j=ha(h,e)|0;g=ha(i,e)|0;if(r){h=0;do{k[y+(h<<2)>>2]=(k[c+(h+g<<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))}l=c+(m<<2)|0;if((f|0)>0){j=0;do{i=k[y+(j<<2)>>2]|0;f=k[t>>2]|0;do if((i|0)<=(f|0)){f=k[v>>2]|0;g=k[u>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[u>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[z>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[l+(h<<2)>>2]=(k[b+(h+m<<2)>>2]|0)+(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[z>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=l+(h<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[t>>2]|0)){if((g|0)<(k[v>>2]|0))k[f>>2]=(k[o>>2]|0)+g}else k[f>>2]=g-(k[o>>2]|0);h=h+1|0;f=k[z>>2]|0}while((h|0)<(f|0))}}}}else B=30}else{m=ha(n,e)|0;B=30}if((B|0)==30){B=0;l=c+((ha(n+-1|0,e)|0)<<2)|0;a=c+(m<<2)|0;if((f|0)>0){j=0;do{i=k[l+(j<<2)>>2]|0;f=k[t>>2]|0;do if((i|0)<=(f|0)){f=k[v>>2]|0;g=k[u>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[u>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[z>>2]|0}while((j|0)<(f|0));h=g;if((f|0)>0){g=0;do{k[a+(g<<2)>>2]=(k[b+(g+m<<2)>>2]|0)+(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[z>>2]|0}while((g|0)<(f|0));if((f|0)>0){h=0;do{f=a+(h<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[t>>2]|0)){if((g|0)<(k[v>>2]|0))k[f>>2]=(k[o>>2]|0)+g}else k[f>>2]=g-(k[o>>2]|0);h=h+1|0;f=k[z>>2]|0}while((h|0)<(f|0))}}}}n=n+1|0}while(n>>>0>>0);cq(y);return 1}function Vh(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Ip(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);Ip(b);Ip(a);return}function Wh(a){a=a|0;return 2}function Xh(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 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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=a+8|0;k[M>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;i=1;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;K=1-g+f|0;k[a+20>>2]=K;f=(K|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(K&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Wg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);p=k[a+48>>2]|0;q=k[a+52>>2]|0;r=e>>>0>1073741823?-1:e<<2;K=bq(r)|0;hq(K|0,0,r|0)|0;r=a+56|0;h=k[r>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;a:do if((i|0)>4){s=(e|0)>0;t=a+16|0;u=a+32|0;v=a+12|0;w=a+28|0;x=a+20|0;y=a+24|0;z=p+64|0;A=p+28|0;B=e<<2;n=i>>2;while(1){o=n+-1|0;if(g-f>>2>>>0<=o>>>0)break;m=k[f+(o<<2)>>2]|0;if(s)hq(K|0,0,B|0)|0;if((m|0)>-1){d=k[p>>2]|0;f=m;g=0;do{do if(((k[d+(f>>>5<<2)>>2]&1<<(f&31)|0)==0?(C=k[(k[(k[z>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(C|0)>-1):0)?(E=k[A>>2]|0,l=k[q>>2]|0,I=k[l+(k[E+(C<<2)>>2]<<2)>>2]|0,D=C+1|0,D=k[l+(k[E+((((D|0)%3|0|0)==0?C+-2|0:D)<<2)>>2]<<2)>>2]|0,E=k[l+(k[E+((((C|0)%3|0|0)==0?2:-1)+C<<2)>>2]<<2)>>2]|0,(I|0)<(o|0)&(D|0)<(o|0)&(E|0)<(o|0)):0){h=ha(I,e)|0;i=ha(D,e)|0;j=ha(E,e)|0;if(s)l=0;else{g=g+1|0;J=34;break}do{N=K+(l<<2)|0;k[N>>2]=(k[b+(l+j<<2)>>2]|0)+(k[b+(l+i<<2)>>2]|0)-(k[b+(l+h<<2)>>2]|0)+(k[N>>2]|0);l=l+1|0}while((l|0)!=(e|0));g=g+1|0;if((f|0)>=0)J=34}else J=34;while(0);do if((J|0)==34){J=0;if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);do if(!(1<<(f&31)&k[d+(f>>>5<<2)>>2])){if((f|0)>=0){f=k[(k[(k[z>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);f=(f|0)==(m|0)?-1073741824:f}while((f|0)>-1);d=ha(o,e)|0;if(g){if(s){f=0;do{N=K+(f<<2)|0;k[N>>2]=(k[N>>2]|0)/(g|0)|0;f=f+1|0}while((f|0)!=(e|0))}l=b+(d<<2)|0;if((k[M>>2]|0)>0){j=0;do{i=k[K+(j<<2)>>2]|0;f=k[t>>2]|0;do if((i|0)<=(f|0)){f=k[v>>2]|0;g=k[u>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[u>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[M>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+d<<2)>>2]=(k[l+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[M>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+d<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[w>>2]|0)){if((g|0)>(k[y>>2]|0))k[f>>2]=g-(k[x>>2]|0)}else k[f>>2]=(k[x>>2]|0)+g;h=h+1|0}while((h|0)<(k[M>>2]|0))}}}}else{G=d;J=46}}else{G=ha(o,e)|0;J=46}if((J|0)==46?(J=0,F=b+(G<<2)|0,H=b+((ha(n+-2|0,e)|0)<<2)|0,(k[M>>2]|0)>0):0){j=0;do{i=k[H+(j<<2)>>2]|0;f=k[t>>2]|0;do if((i|0)<=(f|0)){f=k[v>>2]|0;g=k[u>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[u>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[M>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+G<<2)>>2]=(k[F+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[M>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+G<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[w>>2]|0)){if((g|0)>(k[y>>2]|0))k[f>>2]=g-(k[x>>2]|0)}else k[f>>2]=(k[x>>2]|0)+g;h=h+1|0}while((h|0)<(k[M>>2]|0))}}}if((o|0)<=1){L=K;break a}h=k[r>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0;n=o}zp(h)}else L=K;while(0);if((e|0)>0)hq(K|0,0,e<<2|0)|0;if((k[M>>2]|0)<=0){cq(K);return 1}j=a+16|0;l=a+32|0;d=a+12|0;m=0;do{i=k[L+(m<<2)>>2]|0;f=k[j>>2]|0;do if((i|0)<=(f|0)){f=k[d>>2]|0;h=k[l>>2]|0;g=h+(m<<2)|0;if((i|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=i;break}}else{h=k[l>>2]|0;k[h+(m<<2)>>2]=f}while(0);m=m+1|0;f=k[M>>2]|0}while((m|0)<(f|0));if((f|0)>0)g=0;else{cq(K);return 1}do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)-(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[M>>2]|0}while((g|0)<(f|0));if((f|0)<=0){cq(K);return 1}j=a+28|0;l=a+20|0;f=a+24|0;i=0;do{g=c+(i<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[j>>2]|0)){if((h|0)>(k[f>>2]|0))k[g>>2]=h-(k[l>>2]|0)}else k[g>>2]=(k[l>>2]|0)+h;i=i+1|0}while((i|0)<(k[M>>2]|0));cq(K);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,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;B=a+8|0;k[B>>2]=e;f=a+32|0;d=a+36|0;i=k[d>>2]|0;h=k[f>>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[d>>2]=i+(~((i+-4-j|0)>>>2)<<2);f=e}else f=e;else{Wg(f,e-g|0);f=k[B>>2]|0}z=e>>>0>1073741823?-1:e<<2;A=bq(z)|0;hq(A|0,0,z|0)|0;if((f|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{h=k[A+(j<<2)>>2]|0;f=k[l>>2]|0;do if((h|0)<=(f|0)){f=k[m>>2]|0;d=k[i>>2]|0;g=d+(j<<2)|0;if((h|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=h;break}}else{d=k[i>>2]|0;k[d+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[B>>2]|0}while((j|0)<(f|0));g=d;if((f|0)>0){d=0;do{k[c+(d<<2)>>2]=(k[b+(d<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[B>>2]|0}while((d|0)<(f|0));if((f|0)>0){g=a+20|0;h=0;do{f=c+(h<<2)|0;d=k[f>>2]|0;if((d|0)<=(k[l>>2]|0)){if((d|0)<(k[m>>2]|0))k[f>>2]=(k[g>>2]|0)+d}else k[f>>2]=d-(k[g>>2]|0);h=h+1|0;f=k[B>>2]|0}while((h|0)<(f|0))}}}s=k[a+48>>2]|0;t=k[a+56>>2]|0;u=t+4|0;d=k[t>>2]|0;if((k[u>>2]|0)-d>>2>>>0<=1){cq(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;o=a+20|0;p=s+64|0;q=s+28|0;r=e<<2;n=1;do{a=k[d+(n<<2)>>2]|0;if(w)hq(A|0,0,r|0)|0;if((a|0)>-1){m=k[s>>2]|0;d=a;g=0;do{do if(((k[m+(d>>>5<<2)>>2]&1<<(d&31)|0)==0?(C=k[(k[(k[p>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(C|0)>-1):0)?(F=k[q>>2]|0,l=k[v>>2]|0,D=k[l+(k[F+(C<<2)>>2]<<2)>>2]|0,E=C+1|0,E=k[l+(k[F+((((E|0)%3|0|0)==0?C+-2|0:E)<<2)>>2]<<2)>>2]|0,F=k[l+(k[F+((((C|0)%3|0|0)==0?2:-1)+C<<2)>>2]<<2)>>2]|0,(D|0)<(n|0)&(E|0)<(n|0)&(F|0)<(n|0)):0){h=ha(D,e)|0;i=ha(E,e)|0;j=ha(F,e)|0;if(w)l=0;else{g=g+1|0;G=38;break}do{H=A+(l<<2)|0;k[H>>2]=(k[c+(l+j<<2)>>2]|0)+(k[c+(l+i<<2)>>2]|0)-(k[c+(l+h<<2)>>2]|0)+(k[H>>2]|0);l=l+1|0}while((l|0)!=(e|0));g=g+1|0;if((d|0)>=0)G=38}else G=38;while(0);do if((G|0)==38){G=0;if(!((d|0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);do if(!(1<<(d&31)&k[m+(d>>>5<<2)>>2])){if((d|0)>=0){d=k[(k[(k[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);d=(d|0)==(a|0)?-1073741824:d}while((d|0)>-1);l=ha(n,e)|0;if(g){if(w){d=0;do{H=A+(d<<2)|0;k[H>>2]=(k[H>>2]|0)/(g|0)|0;d=d+1|0}while((d|0)!=(e|0))}j=c+(l<<2)|0;if((f|0)>0){i=0;do{h=k[A+(i<<2)>>2]|0;f=k[x>>2]|0;do if((h|0)<=(f|0)){f=k[z>>2]|0;d=k[y>>2]|0;g=d+(i<<2)|0;if((h|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=h;break}}else{d=k[y>>2]|0;k[d+(i<<2)>>2]=f}while(0);i=i+1|0;f=k[B>>2]|0}while((i|0)<(f|0));if((f|0)>0){g=0;do{k[j+(g<<2)>>2]=(k[b+(g+l<<2)>>2]|0)+(k[d+(g<<2)>>2]|0);g=g+1|0;f=k[B>>2]|0}while((g|0)<(f|0));if((f|0)>0){g=0;do{f=j+(g<<2)|0;d=k[f>>2]|0;if((d|0)<=(k[x>>2]|0)){if((d|0)<(k[z>>2]|0))k[f>>2]=(k[o>>2]|0)+d}else k[f>>2]=d-(k[o>>2]|0);g=g+1|0;f=k[B>>2]|0}while((g|0)<(f|0))}}}}else G=50}else{l=ha(n,e)|0;G=50}if((G|0)==50){G=0;j=c+((ha(n+-1|0,e)|0)<<2)|0;m=c+(l<<2)|0;if((f|0)>0){i=0;do{h=k[j+(i<<2)>>2]|0;f=k[x>>2]|0;do if((h|0)<=(f|0)){f=k[z>>2]|0;d=k[y>>2]|0;g=d+(i<<2)|0;if((h|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=h;break}}else{d=k[y>>2]|0;k[d+(i<<2)>>2]=f}while(0);i=i+1|0;f=k[B>>2]|0}while((i|0)<(f|0));g=d;if((f|0)>0){d=0;do{k[m+(d<<2)>>2]=(k[b+(d+l<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[B>>2]|0}while((d|0)<(f|0));if((f|0)>0){g=0;do{f=m+(g<<2)|0;d=k[f>>2]|0;if((d|0)<=(k[x>>2]|0)){if((d|0)<(k[z>>2]|0))k[f>>2]=(k[o>>2]|0)+d}else k[f>>2]=d-(k[o>>2]|0);g=g+1|0;f=k[B>>2]|0}while((g|0)<(f|0))}}}}n=n+1|0;d=k[t>>2]|0}while(n>>>0<(k[u>>2]|0)-d>>2>>>0);cq(A);return 1}function _h(a){a=a|0;var b=0,c=0;k[a>>2]=3360;b=k[a+76>>2]|0;if(b|0)Ip(b);c=a+68|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)cq(b);k[a>>2]=3168;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Ip(c);return}function $h(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3360;b=k[a+76>>2]|0;if(b|0)Ip(b);d=a+68|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)cq(b);k[a>>2]=3168;d=k[a+32>>2]|0;if(!d){Ip(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);Ip(d);Ip(a);return}function ai(a){a=a|0;return 3}function bi(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 ci(a){a=a|0;return 1}function di(a,b){a=a|0;b=b|0;if(!b)return 0;else Aa(8735,8746,75,8826);return 0}function ei(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){a=0;return a|0}if((i[b+24>>0]|0)!=3){a=0;return a|0}k[a+60>>2]=b;a=1;return a|0}function fi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n+40|0;l=n+36|0;c=n+32|0;m=n;d=a+80|0;k[c>>2]=k[d>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0)){k[l>>2]=k[b+4>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0}jd(m);nd(m);c=k[a+76>>2]|0;g=k[d>>2]|0;f=g>>>5;h=c+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){f=c;c=1;while(1){if(d){e=0;d=c;while(1){c=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){kd(m);r=n;return 1}d=b+4|0;k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0;h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){kd(m);r=n;return 1}k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0;kd(m);r=n;return 1}function gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+16|0;p=q;j=b+8|0;g=j;h=k[g>>2]|0;g=k[g+4>>2]|0;o=b+16|0;d=o;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){p=0;r=q;return p|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=o;k[g>>2]=d;k[g+4>>2]=e;e=a+76|0;hi(e,h,0);qd(p);sd(p,b);if((h|0)>0){f=0;g=1;do{g=g^((td(p)|0)^1);d=(k[e>>2]|0)+(f>>>5<<2)|0;c=1<<(f&31);if(g)c=k[d>>2]|c;else c=k[d>>2]&~c;k[d>>2]=c;f=f+1|0}while((f|0)<(h|0))}e=j;g=k[e>>2]|0;e=k[e+4>>2]|0;h=o;c=k[h>>2]|0;h=jq(c|0,k[h+4>>2]|0,4,0)|0;f=L;if(!((e|0)<(f|0)|(e|0)==(f|0)&g>>>0>>0)?(g=a+12|0,m=(k[b>>2]|0)+c|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,i[g>>0]=m,i[g+1>>0]=m>>8,i[g+2>>0]=m>>16,i[g+3>>0]=m>>24,g=o,e=k[g>>2]|0,g=k[g+4>>2]|0,n=jq(e|0,g|0,4,0)|0,f=o,k[f>>2]=n,k[f+4>>2]=L,f=j,h=k[f>>2]|0,f=k[f+4>>2]|0,j=jq(e|0,g|0,8,0)|0,g=L,!((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0)):0){d=a+16|0;b=(k[b>>2]|0)+n|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;i[d>>0]=b;i[d+1>>0]=b>>8;i[d+2>>0]=b>>16;i[d+3>>0]=b>>24;d=o;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;c=o;k[c>>2]=d;k[c+4>>2]=L;b=b+(1-m)|0;k[a+20>>2]=b;c=(b|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(!(b&1)){k[d>>2]=c+-1;c=1}else c=1}else c=0;rd(p);p=c;r=q;return p|0}function hi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+32|0;s=u+8|0;l=u;n=a+4|0;t=k[n>>2]|0;if(t>>>0>=b>>>0){k[n>>2]=b;r=u;return}q=a+8|0;d=k[q>>2]|0;p=d<<5;g=b-t|0;if(p>>>0>>0|t>>>0>(p-g|0)>>>0){k[s>>2]=0;o=s+4|0;k[o>>2]=0;p=s+8|0;k[p>>2]=0;if((b|0)<0)yp(a);if(d<<5>>>0>1073741822)d=2147483647;else{d=d<<6;m=b+31&-32;d=d>>>0>>0?m:d}Cd(s,d);e=k[n>>2]|0;j=e+g|0;k[o>>2]=j;d=k[a>>2]|0;h=d;m=k[s>>2]|0;e=(h+(e>>>5<<2)-d<<3)+(e&31)|0;if((e|0)>0){i=e>>>5;mq(m|0,d|0,i<<2|0)|0;e=e-(i<<5)|0;f=m+(i<<2)|0;d=f;if((e|0)>0){j=-1>>>(32-e|0);k[f>>2]=k[f>>2]&~j|k[h+(i<<2)>>2]&j;f=k[o>>2]|0}else{e=0;f=j}}else{e=0;d=m;f=j}k[l>>2]=d;k[l+4>>2]=e;h=l;d=k[h>>2]|0;h=k[h+4>>2]|0;e=k[a>>2]|0;k[a>>2]=m;k[s>>2]=e;a=k[n>>2]|0;k[n>>2]=f;k[o>>2]=a;a=k[q>>2]|0;k[q>>2]=k[p>>2];k[p>>2]=a;if(e|0)Ip(e)}else{d=(k[a>>2]|0)+(t>>>5<<2)|0;k[n>>2]=b;h=t&31}if((t|0)==(b|0)){r=u;return}e=(h|0)==0;f=d;if(c){if(!e){c=32-h|0;d=c>>>0>g>>>0?g:c;k[f>>2]=k[f>>2]|-1>>>(c-d|0)&-1<>>5;hq(d|0,-1,e<<2|0)|0;d=e<<5;if((d|0)==(g|0)){r=u;return}c=f+(e<<2)|0;k[c>>2]=k[c>>2]|-1>>>(32-g+d|0);r=u;return}else{if(!e){c=32-h|0;d=c>>>0>g>>>0?g:c;k[f>>2]=k[f>>2]&~(-1>>>(c-d|0)&-1<>>5;hq(d|0,0,e<<2|0)|0;d=e<<5;if((d|0)==(g|0)){r=u;return}c=f+(e<<2)|0;k[c>>2]=k[c>>2]&~(-1>>>(32-g+d|0));r=u;return}} +function ke(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);le(a+16|0,d,c);r=1;return r|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=0,i=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=65536){if(f>>>0>65536?(e=g+262144|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else id(a,65536-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Od(d,c-f|0);if(!c)Aa(5594,5621,484,5634);f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if((h|0)==(c|0))break;else e=d}if((d|0)==65536)return;else Aa(5594,5621,484,5634)}function me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(ne(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+1048576}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<1048576){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<1048576)}while(0);e=d&262143;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>18)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|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,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);oe(a+16|0,d,c);r=1;return r|0}function oe(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;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=262144){if(f>>>0>262144?(e=g+1048576|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else id(a,262144-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Od(d,c-f|0);if(!c)Aa(5594,5621,484,5634);f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if((h|0)==(c|0))break;else e=d}if((d|0)==262144)return;else Aa(5594,5621,484,5634)}function pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(qe(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+2097152}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<2097152){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<2097152)}while(0);e=d&524287;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>19)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);re(a+16|0,d,c);r=1;return r|0}function re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=524288){if(f>>>0>524288?(e=g+2097152|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else id(a,524288-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Od(d,c-f|0);if(!c)Aa(5594,5621,484,5634);f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if((h|0)==(c|0))break;else e=d}if((d|0)==524288)return;else Aa(5594,5621,484,5634)}function se(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;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(te(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+4194304}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<4194304){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<4194304)}while(0);e=d&1048575;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>20)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);ue(a+16|0,d,c);r=1;return r|0}function ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=1048576){if(f>>>0>1048576?(e=g+4194304|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else id(a,1048576-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Od(d,c-f|0);if(!c)Aa(5594,5621,484,5634);f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if((h|0)==(c|0))break;else e=d}if((d|0)==1048576)return;else Aa(5594,5621,484,5634)}function ve(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;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(we(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+4194304}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<4194304){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<4194304)}while(0);e=d&1048575;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>20)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function we(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);ue(a+16|0,d,c);r=1;return r|0}function xe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(ye(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+4194304}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<4194304){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<4194304)}while(0);e=d&1048575;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>20)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|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,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);ue(a+16|0,d,c);r=1;return r|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,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(Ae(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+4194304}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<4194304){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<4194304)}while(0);e=d&1048575;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>20)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function Ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);ue(a+16|0,d,c);r=1;return r|0}function Be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(Ce(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+4194304}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<4194304){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<4194304)}while(0);e=d&1048575;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>20)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function Ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);ue(a+16|0,d,c);r=1;return r|0}function De(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)yp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Ip(i);return}function Ee(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 Fe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if(!b){d=a+4|0;b=k[d>>2]|0;e=k[a>>2]|0;f=b-e|0;if(c>>>0>f>>>0){Ge(a,c-f|0);break}if(c>>>0>>0?(g=e+c|0,(b|0)!=(g|0)):0)k[d>>2]=g}else He(a,b,b+c|0);while(0);a=a+24|0;g=a;g=jq(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;k[a>>2]=g;k[a+4>>2]=L;return}function Ge(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;d=k[h>>2]|0;j=a+4|0;c=k[j>>2]|0;if((d-c|0)>>>0>=b>>>0){do{i[c>>0]=0;c=(k[j>>2]|0)+1|0;k[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}f=k[a>>2]|0;e=c-f+b|0;if((e|0)<0)yp(a);c=d-f|0;if(c>>>0<1073741823){c=c<<1;c=c>>>0>>0?e:c;d=(k[j>>2]|0)-f|0;if(!c){f=0;e=0;c=d}else g=9}else{c=2147483647;d=(k[j>>2]|0)-f|0;g=9}if((g|0)==9){f=c;e=$p(c)|0;c=d}g=e+c|0;e=e+f|0;d=g;c=g;do{i[d>>0]=0;d=c+1|0;c=d;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;f=(k[j>>2]|0)-b|0;g=g+(0-f)|0;lq(g|0,b|0,f|0)|0;k[a>>2]=g;k[j>>2]=c;k[h>>2]=e;if(!b)return;Ip(b);return}function He(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;g=b;j=c-g|0;m=a+8|0;d=k[m>>2]|0;e=k[a>>2]|0;h=e;if(j>>>0<=(d-e|0)>>>0){f=a+4|0;d=(k[f>>2]|0)-e|0;a=j>>>0>d>>>0;d=b+d|0;e=a?d:c;m=e-g|0;mq(h|0,b|0,m|0)|0;b=h+m|0;if(!a){if((k[f>>2]|0)==(b|0))return;k[f>>2]=b;return}if((e|0)==(c|0))return;b=k[f>>2]|0;do{i[b>>0]=i[d>>0]|0;b=(k[f>>2]|0)+1|0;k[f>>2]=b;d=d+1|0}while((d|0)!=(c|0));return}if(e){d=a+4|0;if((k[d>>2]|0)!=(h|0))k[d>>2]=h;Ip(h);k[m>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}f=(j|0)<0;if(f)yp(a);d=d-0|0;if(d>>>0<1073741823){e=d<<1;d=e>>>0>=j>>>0;if(d|f^1)l=d?e:j;else yp(a)}else l=2147483647;d=$p(l)|0;e=a+4|0;k[e>>2]=d;k[a>>2]=d;k[m>>2]=d+l;if((b|0)==(c|0))return;do{i[d>>0]=i[b>>0]|0;d=(k[e>>2]|0)+1|0;k[e>>2]=d;b=b+1|0}while((b|0)!=(c|0));return}function Ie(a){a=a|0;var b=0;k[a>>2]=0;b=a+8|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;i[a+24>>0]=1;k[a+28>>2]=9;b=a+40|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[a+56>>2]=-1;j[a+60>>1]=0;return}function Je(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 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;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;a=a+48|0;k[a>>2]=e;k[a+4>>2]=f;return}function Le(a){a=a|0;Ie(a);a=a+64|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;i[a+20>>0]=0;return}function Me(a,b){a=a|0;b=b|0;var c=0,d=0;d=a;c=d+64|0;do{k[d>>2]=k[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(c|0));d=a+64|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;i[d+20>>0]=0;return}function Ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=a+64|0;if((k[c>>2]|0)==0?(f=$p(32)|0,Ee(f),d=k[c>>2]|0,k[c>>2]=f,d|0):0){e=k[d>>2]|0;if(e|0){f=d+4|0;if((k[f>>2]|0)!=(e|0))k[f>>2]=e;Ip(e)}Ip(d)}e=cd(k[a+28>>2]|0)|0;e=ha(i[a+24>>0]|0,e)|0;f=((e|0)<0)<<31>>31;g=k[c>>2]|0;d=sq(e|0,f|0,b|0,0)|0;Fe(g,0,d,L);Ke(a,k[c>>2]|0,e,f,0,0);k[a+80>>2]=b;return}function Oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[e>>2]=0;k[d>>2]=k[e>>2];a=Pe(a,b,d)|0;r=c;return a|0}function Pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;switch(k[b+28>>2]|0){case 9:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=Qe(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Ve(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Ze(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=bf(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=gf(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=lf(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=pf(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=tf(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=yf(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=zf(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Af(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Bf(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=Cf(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Gf(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Kf(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Of(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=Tf(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Uf(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Vf(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Wf(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=Xf(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Yf(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Zf(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=_f(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=$f(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=ag(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=bg(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=cg(a,b,d)|0;break}default:c=0}break}default:{a=-1;r=j;return a|0}}a=(c|0)==0?-1:c;r=j;return a|0}function Qe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+48|0;y=G+40|0;F=G+16|0;z=G+12|0;D=G;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;o[F+16>>2]=1.0;C=a+80|0;d=k[C>>2]|0;k[D>>2]=0;E=D+4|0;k[E>>2]=0;k[D+8>>2]=0;if(d){if(d>>>0>1073741823)yp(D);x=d<<2;f=$p(x)|0;k[D>>2]=f;e=f+(d<<2)|0;k[D+8>>2]=e;hq(f|0,0,x|0)|0;k[E>>2]=e;e=k[C>>2]|0;if((e|0)>0){v=b+48|0;w=b+40|0;x=F+4|0;s=y+4|0;t=a+40|0;u=a+64|0;q=k[c>>2]|0;p=0;m=0;do{h=q+p|0;j=v;n=k[j>>2]|0;j=k[j+4>>2]|0;e=w;e=sq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;j=jq(e|0,L|0,n|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[z>>2]=j;n=j^318;e=k[x>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&n;else h=(n>>>0)%(e>>>0)|0;d=k[(k[F>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){A=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));else do{d=k[d>>2]|0;if(!d){A=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));k[f+(p<<2)>>2]=k[d+12>>2]}else A=20}else A=20;while(0);if((A|0)==20){A=0;d=$p(16)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+4>>2]=n;k[d>>2]=0;Re(y,F,d);if(!(i[s>>0]|0))Ip(d);n=t;f=k[n>>2]|0;n=sq(f|0,k[n+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;lq((k[k[u>>2]>>2]|0)+n|0,z|0,f|0)|0;f=k[D>>2]|0;k[f+(p<<2)>>2]=m;m=m+1|0}p=p+1|0;e=k[C>>2]|0}while((p|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[D>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(B=g+(e<<2)|0,(h|0)!=(B|0)):0)k[c>>2]=h+(~((h+-4-B|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[C>>2]|0}if((e|0)>0){f=k[D>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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[C>>2]=m;f=m}}else f=0;d=k[D>>2]|0;c=d;if(d|0){e=k[E>>2]|0;if((e|0)!=(d|0))k[E>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[F+8>>2]|0;if(d|0)do{E=d;d=k[d>>2]|0;Ip(E)}while((d|0)!=0);d=k[F>>2]|0;k[F>>2]=0;if(!d){r=G;return f|0}Ip(d);r=G;return f|0}function Re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0;m=k[c+8>>2]|0;d=m^318;q=c+4|0;k[q>>2]=d;p=b+4|0;j=k[p>>2]|0;n=(j|0)==0;a:do if(!n){l=j+-1|0;f=(l&j|0)==0;if(f)e=l&d;else e=(d>>>0)%(j>>>0)|0;d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(d)if(f){while(1){d=k[d>>2]|0;if(!d)break a;if((k[d+4>>2]&l|0)!=(e|0))break a;if((k[d+8>>2]|0)==(m|0)){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){d=k[d>>2]|0;if(!d)break a;if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((k[d+8>>2]|0)==(m|0)){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(n|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;Se(b,f>>>0>>0?d:f);f=k[p>>2]|0;d=k[q>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function Se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Te(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Te(a,b);return}function Te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Ip(c);k[d>>2]=0;return}m=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=m;if(c|0)Ip(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;l=b+-1|0;m=(l&b|0)==0;if(m)e=c&l;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[f>>2]|0;if(!c)return;else{g=f;d=f}a:while(1){b:do if(m){j=g;i=d;while(1){while(1){h=k[c+4>>2]&l;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((k[g>>2]|0)==(k[f+8>>2]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[j>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{j=d;i=d}}}else{j=g;i=d;while(1){while(1){h=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((k[g>>2]|0)==(k[f+8>>2]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[j>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{j=d;i=d}}}while(0);k[d>>2]=c;c=k[f>>2]|0;if(!c){c=32;break}else{g=f;d=f}}if((c|0)==32)return}function Ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=a+8|0;f=k[m>>2]|0;n=a+4|0;d=k[n>>2]|0;g=d;if(f-d>>2>>>0>=b>>>0){d=b;e=g;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[n>>2]=g+(b<<2);return}l=k[a>>2]|0;e=(d-l>>2)+b|0;if(e>>>0>1073741823)yp(a);d=f-l|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[n>>2]|0;e=f-l>>2;if(!d){i=0;d=0;h=f}else j=10}else{e=k[n>>2]|0;d=1073741823;f=e;e=e-l>>2;j=10}if((j|0)==10){i=d;d=$p(d<<2)|0;h=f}g=d+(e<<2)|0;e=d+(i<<2)|0;d=b;f=g;while(1){k[f>>2]=k[c>>2];d=d+-1|0;if(!d)break;else f=f+4|0}j=h-l|0;c=g+(0-(j>>2)<<2)|0;lq(c|0,l|0,j|0)|0;k[a>>2]=c;k[n>>2]=g+(b<<2);k[m>>2]=e;if(!l)return;Ip(l);return}function Ve(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,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+48|0;z=I+40|0;H=I+20|0;B=I;F=I+8|0;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;k[H+12>>2]=0;o[H+16>>2]=1.0;E=a+80|0;d=k[E>>2]|0;k[F>>2]=0;G=F+4|0;k[G>>2]=0;k[F+8>>2]=0;if(d){if(d>>>0>1073741823)yp(F);y=d<<2;f=$p(y)|0;k[F>>2]=f;e=f+(d<<2)|0;k[F+8>>2]=e;hq(f|0,0,y|0)|0;k[G>>2]=e;e=k[E>>2]|0;if((e|0)>0){w=b+48|0;x=b+40|0;y=H+4|0;t=z+4|0;u=a+40|0;v=a+64|0;s=k[c>>2]|0;q=0;m=0;do{e=s+q|0;n=w;j=k[n>>2]|0;n=k[n+4>>2]|0;p=x;p=sq(e|0,((e|0)<0)<<31>>31|0,k[p>>2]|0,k[p+4>>2]|0)|0;n=jq(p|0,L|0,j|0,n|0)|0;n=(k[k[b>>2]>>2]|0)+n|0;j=n;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;n=n+4|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;p=B;k[p>>2]=j;k[p+4>>2]=n;p=(j^318)+239^n;e=k[y>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[H>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(A=k[c>>2]|0,(A|0)!=0):0){b:do if(d){d=A;while(1){if((k[d+4>>2]&g|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}else{d=A;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}while(0);k[f+(q<<2)>>2]=k[d+16>>2]}else C=23}else C=23;while(0);if((C|0)==23){C=0;d=$p(20)|0;h=d+8|0;k[h>>2]=j;k[h+4>>2]=n;k[d+16>>2]=m;k[d+4>>2]=p;k[d>>2]=0;We(z,H,d);if(!(i[t>>0]|0))Ip(d);p=u;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;lq((k[k[v>>2]>>2]|0)+p|0,B|0,f|0)|0;f=k[F>>2]|0;k[f+(q<<2)>>2]=m;m=m+1|0}q=q+1|0;e=k[E>>2]|0}while((q|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[F>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-D|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[E>>2]|0}if((e|0)>0){f=k[F>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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]=m;f=m}}else f=0;d=k[F>>2]|0;c=d;if(d|0){e=k[G>>2]|0;if((e|0)!=(d|0))k[G>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[H+8>>2]|0;if(d|0)do{G=d;d=k[d>>2]|0;Ip(G)}while((d|0)!=0);d=k[H>>2]|0;k[H>>2]=0;if(!d){r=I;return f|0}Ip(d);r=I;return f|0}function We(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=k[c+8>>2]|0;p=k[c+12>>2]|0;e=(n^318)+239^p;s=c+4|0;k[s>>2]=e;r=b+4|0;j=k[r>>2]|0;q=(j|0)==0;a:do if(!q){m=j+-1|0;l=(m&j|0)==0;if(l)e=m&e;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(p|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(p|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(q|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;Xe(b,f>>>0>>0?d:f);f=k[r>>2]|0;d=k[s>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function Xe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Ye(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Ye(a,b);return}function Ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Ip(c);k[d>>2]=0;return}n=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)Ip(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)e=c&m;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(n){c=f;while(1){l=k[c+4>>2]&m;if((l|0)==(e|0))break c;f=(k[a>>2]|0)+(l<<2)|0;if(!(k[f>>2]|0)){e=l;break b}j=c+12|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=k[c+8>>2]|0;g=c;while(1){if((i|0)!=(k[f+8>>2]|0)){f=g;break d}if((k[j>>2]|0)!=(k[f+12>>2]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{o=f;f=g;g=o}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}else{c=f;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break c;f=(k[a>>2]|0)+(l<<2)|0;if(!(k[f>>2]|0)){e=l;break b}i=c+12|0;f=k[c>>2]|0;e:do if(!f)f=c;else{j=k[c+8>>2]|0;g=c;while(1){if((j|0)!=(k[f+8>>2]|0)){f=g;break e}if((k[i>>2]|0)!=(k[f+12>>2]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{o=f;f=g;g=o}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}while(0);f=k[c>>2]|0;if(!f){c=34;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=34;break}else{h=c;d=c}}if((c|0)==34)return}function Ze(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+64|0;B=K+48|0;J=K+24|0;D=K+12|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=D+4|0;t=D+8|0;u=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;s=k[c>>2]|0;q=0;l=0;do{p=s+q|0;c=y;d=k[c>>2]|0;c=k[c+4>>2]|0;e=z;e=sq(p|0,((p|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;c=jq(e|0,L|0,d|0,c|0)|0;d=D;c=(k[k[b>>2]>>2]|0)+c|0;e=d+12|0;do{i[d>>0]=i[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));j=k[D>>2]|0;m=k[A>>2]|0;n=k[t>>2]|0;p=((j^318)+239^m)+239^n;e=k[u>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}while(0);k[f+(q<<2)>>2]=k[d+20>>2]}else E=25}else E=25;while(0);if((E|0)==25){E=0;d=$p(24)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+16>>2]=n;k[d+20>>2]=l;k[d+4>>2]=p;k[d>>2]=0;_e(B,J,d);if(!(i[v>>0]|0))Ip(d);p=w;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+p|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(q<<2)>>2]=l;l=l+1|0}q=q+1|0;e=k[G>>2]|0}while((q|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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]=l;f=l}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|0}function _e(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;n=k[c+8>>2]|0;p=k[c+12>>2]|0;q=k[c+16>>2]|0;e=((n^318)+239^p)+239^q;t=c+4|0;k[t>>2]=e;s=b+4|0;j=k[s>>2]|0;r=(j|0)==0;a:do if(!r){m=j+-1|0;l=(m&j|0)==0;if(l)e=m&e;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if(((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(p|0):0)?(k[d+16>>2]|0)==(q|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if(((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(p|0):0)?(k[d+16>>2]|0)==(q|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(r|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;$e(b,f>>>0>>0?d:f);f=k[s>>2]|0;d=k[t>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){af(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;af(a,b);return}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Ip(c);k[d>>2]=0;return}o=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)Ip(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)e=c&n;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(o){c=f;while(1){m=k[c+4>>2]&n;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}j=c+12|0;l=c+16|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=k[c+8>>2]|0;g=c;while(1){if((i|0)!=(k[f+8>>2]|0)){f=g;break d}if((k[j>>2]|0)!=(k[f+12>>2]|0)){f=g;break d}if((k[l>>2]|0)!=(k[f+16>>2]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}else{c=f;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}i=c+12|0;j=c+16|0;f=k[c>>2]|0;e:do if(!f)f=c;else{l=k[c+8>>2]|0;g=c;while(1){if((l|0)!=(k[f+8>>2]|0)){f=g;break e}if((k[i>>2]|0)!=(k[f+12>>2]|0)){f=g;break e}if((k[j>>2]|0)!=(k[f+16>>2]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}while(0);f=k[c>>2]|0;if(!f){c=36;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=36;break}else{h=c;d=c}}if((c|0)==36)return}function bf(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,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;u=C+88|0;B=C+64|0;v=C+48|0;w=C+32|0;z=C+16|0;t=C;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;o[B+16>>2]=1.0;y=a+80|0;d=k[y>>2]|0;k[z>>2]=0;A=z+4|0;k[A>>2]=0;k[z+8>>2]=0;if(d){if(d>>>0>1073741823)yp(z);s=d<<2;f=$p(s)|0;k[z>>2]=f;e=f+(d<<2)|0;k[z+8>>2]=e;hq(f|0,0,s|0)|0;k[A>>2]=e;e=k[y>>2]|0;if((e|0)>0){p=k[c>>2]|0;q=b+48|0;s=b+40|0;j=u+4|0;m=a+40|0;n=a+64|0;h=0;l=0;do{g=p+h|0;d=q;c=k[d>>2]|0;d=k[d+4>>2]|0;e=s;e=sq(g|0,((g|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;d=jq(e|0,L|0,c|0,d|0)|0;d=(k[k[b>>2]>>2]|0)+d|0;c=v;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));c=w;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));d=cf(B,w)|0;if(!d){k[t>>2]=k[w>>2];k[t+4>>2]=k[w+4>>2];k[t+8>>2]=k[w+8>>2];k[t+12>>2]=k[w+12>>2];d=$p(28)|0;g=d+8|0;k[g>>2]=k[t>>2];k[g+4>>2]=k[t+4>>2];k[g+8>>2]=k[t+8>>2];k[g+12>>2]=k[t+12>>2];k[d+24>>2]=l;k[d+4>>2]=(((k[g>>2]^318)+239^k[d+12>>2])+239^k[d+16>>2])+239^k[d+20>>2];k[d>>2]=0;df(u,B,d);if(!(i[j>>0]|0))Ip(d);g=m;f=k[g>>2]|0;g=sq(f|0,k[g+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[n>>2]>>2]|0)+g|0,v|0,f|0)|0;f=k[z>>2]|0;k[f+(h<<2)>>2]=l;l=l+1|0}else k[f+(h<<2)>>2]=k[d+24>>2];h=h+1|0;e=k[y>>2]|0}while((h|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[z>>2]|0;d=d>>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;g=a+68|0;h=a+72|0;f=k[h>>2]|0;c=k[g>>2]|0;d=f-c>>2;if(e>>>0<=d>>>0){if(e>>>0>>0?(x=c+(e<<2)|0,(f|0)!=(x|0)):0)k[h>>2]=f+(~((f+-4-x|0)>>>2)<<2)}else{Ue(g,e-d|0,2864);e=k[y>>2]|0}if((e|0)>0){f=k[z>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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[y>>2]=l;f=l}}else f=0;d=k[z>>2]|0;c=d;if(d|0){e=k[A>>2]|0;if((e|0)!=(d|0))k[A>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[B+8>>2]|0;if(d|0)do{A=d;d=k[d>>2]|0;Ip(A)}while((d|0)!=0);d=k[B>>2]|0;k[B>>2]=0;if(!d){r=C;return f|0}Ip(d);r=C;return f|0}function cf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;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 df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;n=k[c+8>>2]|0;q=k[c+12>>2]|0;r=k[c+16>>2]|0;p=k[c+20>>2]|0;e=(((n^318)+239^q)+239^r)+239^p;u=c+4|0;k[u>>2]=e;t=b+4|0;j=k[t>>2]|0;s=(j|0)==0;a:do if(!s){m=j+-1|0;l=(m&j|0)==0;if(l)e=e&m;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if((((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(q|0):0)?(k[d+16>>2]|0)==(r|0):0)?(k[d+20>>2]|0)==(p|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(q|0):0)?(k[d+16>>2]|0)==(r|0):0)?(k[d+20>>2]|0)==(p|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(s|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;ef(b,f>>>0>>0?d:f);f=k[t>>2]|0;d=k[u>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){ff(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;ff(a,b);return}function ff(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)Ip(c);k[d>>2]=0;return}p=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)Ip(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)e=c&o;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(p){c=f;while(1){n=k[c+4>>2]&o;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}j=c+12|0;l=c+16|0;m=c+20|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=k[c+8>>2]|0;g=c;while(1){if((i|0)!=(k[f+8>>2]|0)){f=g;break d}if((k[j>>2]|0)!=(k[f+12>>2]|0)){f=g;break d}if((k[l>>2]|0)!=(k[f+16>>2]|0)){f=g;break d}if((k[m>>2]|0)!=(k[f+20>>2]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}else{c=f;while(1){n=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}i=c+12|0;j=c+16|0;l=c+20|0;f=k[c>>2]|0;e:do if(!f)f=c;else{m=k[c+8>>2]|0;g=c;while(1){if((m|0)!=(k[f+8>>2]|0)){f=g;break e}if((k[i>>2]|0)!=(k[f+12>>2]|0)){f=g;break e}if((k[j>>2]|0)!=(k[f+16>>2]|0)){f=g;break e}if((k[l>>2]|0)!=(k[f+20>>2]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}while(0);f=k[c>>2]|0;if(!f){c=38;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=38;break}else{h=c;d=c}}if((c|0)==38)return}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,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+48|0;x=F+32|0;E=F+12|0;y=F+40|0;C=F;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[E+12>>2]=0;o[E+16>>2]=1.0;B=a+80|0;d=k[B>>2]|0;k[C>>2]=0;D=C+4|0;k[D>>2]=0;k[C+8>>2]=0;if(d){if(d>>>0>1073741823)yp(C);w=d<<2;f=$p(w)|0;k[C>>2]=f;e=f+(d<<2)|0;k[C+8>>2]=e;hq(f|0,0,w|0)|0;k[D>>2]=e;e=k[B>>2]|0;if((e|0)>0){u=b+48|0;v=b+40|0;w=E+4|0;q=x+4|0;s=a+40|0;t=a+64|0;p=k[c>>2]|0;n=0;l=0;do{h=p+n|0;j=u;m=k[j>>2]|0;j=k[j+4>>2]|0;e=v;e=sq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;j=jq(e|0,L|0,m|0,j|0)|0;j=i[(k[k[b>>2]>>2]|0)+j>>0]|0;i[y>>0]=j;m=j&255^318;e=k[w>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&m;else h=(m>>>0)%(e>>>0)|0;d=k[(k[E>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){z=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){z=20;break a}}while((i[d+8>>0]|0)!=j<<24>>24);else do{d=k[d>>2]|0;if(!d){z=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){z=20;break a}}while((i[d+8>>0]|0)!=j<<24>>24);k[f+(n<<2)>>2]=k[d+12>>2]}else z=20}else z=20;while(0);if((z|0)==20){z=0;d=$p(16)|0;i[d+8>>0]=j;k[d+12>>2]=l;k[d+4>>2]=m;k[d>>2]=0;hf(x,E,d);if(!(i[q>>0]|0))Ip(d);m=s;f=k[m>>2]|0;m=sq(f|0,k[m+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[t>>2]>>2]|0)+m|0,y|0,f|0)|0;f=k[C>>2]|0;k[f+(n<<2)>>2]=l;l=l+1|0}n=n+1|0;e=k[B>>2]|0}while((n|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[C>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(A=g+(e<<2)|0,(h|0)!=(A|0)):0)k[c>>2]=h+(~((h+-4-A|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[B>>2]|0}if((e|0)>0){f=k[C>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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[B>>2]=l;f=l}}else f=0;d=k[C>>2]|0;c=d;if(d|0){e=k[D>>2]|0;if((e|0)!=(d|0))k[D>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[E+8>>2]|0;if(d|0)do{D=d;d=k[d>>2]|0;Ip(D)}while((d|0)!=0);d=k[E>>2]|0;k[E>>2]=0;if(!d){r=F;return f|0}Ip(d);r=F;return f|0}function hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0;m=i[c+8>>0]|0;d=m&255^318;q=c+4|0;k[q>>2]=d;p=b+4|0;j=k[p>>2]|0;n=(j|0)==0;a:do if(!n){l=j+-1|0;f=(l&j|0)==0;if(f)e=l&d;else e=(d>>>0)%(j>>>0)|0;d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(d)if(f){while(1){d=k[d>>2]|0;if(!d)break a;if((k[d+4>>2]&l|0)!=(e|0))break a;if((i[d+8>>0]|0)==m<<24>>24){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){d=k[d>>2]|0;if(!d)break a;if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((i[d+8>>0]|0)==m<<24>>24){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(n|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;jf(b,f>>>0>>0?d:f);f=k[p>>2]|0;d=k[q>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){kf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;kf(a,b);return}function kf(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)Ip(c);k[d>>2]=0;return}n=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)Ip(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;m=b+-1|0;n=(m&b|0)==0;if(n)e=c&m;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[f>>2]|0;if(!c)return;else{g=f;d=f}a:while(1){b:do if(n){l=g;j=d;while(1){while(1){h=k[c+4>>2]&m;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=j;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((i[g>>0]|0)==(i[f+8>>0]|0))d=f;else break}k[j>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[l>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{l=d;j=d}}}else{l=g;j=d;while(1){while(1){h=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=j;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((i[g>>0]|0)==(i[f+8>>0]|0))d=f;else break}k[j>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[l>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{l=d;j=d}}}while(0);k[d>>2]=c;c=k[f>>2]|0;if(!c){c=32;break}else{g=f;d=f}}if((c|0)==32)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,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+32|0;J=K+12|0;D=K+40|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;u=k[c>>2]|0;t=0;n=0;do{p=u+t|0;q=y;m=k[q>>2]|0;q=k[q+4>>2]|0;s=z;s=sq(p|0,((p|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;q=jq(s|0,L|0,m|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8;j[D>>1]=q;m=q&255;s=(q&65535)>>>8;p=s&255;s=s&65535;d=(q&255^318)+239^s;e=k[A>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=d&g;else h=(d>>>0)%(e>>>0)|0;d=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((d|0)!=0?(C=k[d>>2]|0,(C|0)!=0):0){b:do if(c){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=23;break a}if((i[d+8>>0]|0)==m<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=23;break a}if((i[d+8>>0]|0)==m<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}while(0);k[f+(t<<2)>>2]=k[d+12>>2]}else E=23}else E=23;while(0);if((E|0)==23){E=0;d=$p(16)|0;p=d+8|0;i[p>>0]=q;i[p+1>>0]=q>>8;k[d+12>>2]=n;k[d+4>>2]=(q&255^318)+239^s;k[d>>2]=0;mf(B,J,d);if(!(i[v>>0]|0))Ip(d);s=w;f=k[s>>2]|0;s=sq(f|0,k[s+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+s|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(t<<2)>>2]=n;n=n+1|0}t=t+1|0;e=k[G>>2]|0}while((t|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[m>>0]|0)Aa(10788,10807,80,10839);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]=n;f=n}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|0}function mf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i[c+8>>0]|0;p=i[c+9>>0]|0;e=(n&255^318)+239^p&255;s=c+4|0;k[s>>2]=e;r=b+4|0;j=k[r>>2]|0;q=(j|0)==0;a:do if(!q){m=j+-1|0;l=(m&j|0)==0;if(l)e=m&e;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(q|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;nf(b,f>>>0>>0?d:f);f=k[r>>2]|0;d=k[s>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function nf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){of(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;of(a,b);return}function of(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)Ip(c);k[d>>2]=0;return}o=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)Ip(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)e=c&n;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(o){c=f;while(1){m=k[c+4>>2]&n;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}l=c+9|0;f=k[c>>2]|0;d:do if(!f)f=c;else{j=i[c+8>>0]|0;g=c;while(1){if(j<<24>>24!=(i[f+8>>0]|0)){f=g;break d}if((i[l>>0]|0)!=(i[f+9>>0]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}else{c=f;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}j=c+9|0;f=k[c>>2]|0;e:do if(!f)f=c;else{l=i[c+8>>0]|0;g=c;while(1){if(l<<24>>24!=(i[f+8>>0]|0)){f=g;break e}if((i[j>>0]|0)!=(i[f+9>>0]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}while(0);f=k[c>>2]|0;if(!f){c=34;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=34;break}else{h=c;d=c}}if((c|0)==34)return}function pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+32|0;J=K+12|0;D=K+40|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=D+1|0;t=D+2|0;u=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;s=k[c>>2]|0;q=0;l=0;do{p=s+q|0;j=y;m=k[j>>2]|0;j=k[j+4>>2]|0;n=z;n=sq(p|0,((p|0)<0)<<31>>31|0,k[n>>2]|0,k[n+4>>2]|0)|0;j=jq(n|0,L|0,m|0,j|0)|0;j=(k[k[b>>2]>>2]|0)+j|0;i[D>>0]=i[j>>0]|0;i[D+1>>0]=i[j+1>>0]|0;i[D+2>>0]=i[j+2>>0]|0;j=i[D>>0]|0;m=i[A>>0]|0;n=i[t>>0]|0;p=((j&255^318)+239^m&255)+239^n&255;e=k[u>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=25;break a}if(((i[d+8>>0]|0)==j<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0)?(i[d+10>>0]|0)==n<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=25;break a}if(((i[d+8>>0]|0)==j<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0)?(i[d+10>>0]|0)==n<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}while(0);k[f+(q<<2)>>2]=k[d+12>>2]}else E=25}else E=25;while(0);if((E|0)==25){E=0;d=$p(16)|0;i[d+8>>0]=j;i[d+9>>0]=m;i[d+10>>0]=n;k[d+12>>2]=l;k[d+4>>2]=p;k[d>>2]=0;qf(B,J,d);if(!(i[v>>0]|0))Ip(d);p=w;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+p|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(q<<2)>>2]=l;l=l+1|0}q=q+1|0;e=k[G>>2]|0}while((q|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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]=l;f=l}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|0}function qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;n=i[c+8>>0]|0;q=i[c+9>>0]|0;p=i[c+10>>0]|0;e=((n&255^318)+239^q&255)+239^p&255;t=c+4|0;k[t>>2]=e;s=b+4|0;j=k[s>>2]|0;r=(j|0)==0;a:do if(!r){m=j+-1|0;l=(m&j|0)==0;if(l)e=e&m;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if(((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==q<<24>>24:0)?(i[d+10>>0]|0)==p<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if(((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==q<<24>>24:0)?(i[d+10>>0]|0)==p<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(r|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;rf(b,f>>>0>>0?d:f);f=k[s>>2]|0;d=k[t>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){sf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;sf(a,b);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,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)Ip(c);k[d>>2]=0;return}p=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)Ip(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)e=c&o;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(p){c=f;while(1){n=k[c+4>>2]&o;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}l=c+9|0;m=c+10|0;f=k[c>>2]|0;d:do if(!f)f=c;else{j=i[c+8>>0]|0;g=c;while(1){if(j<<24>>24!=(i[f+8>>0]|0)){f=g;break d}if((i[l>>0]|0)!=(i[f+9>>0]|0)){f=g;break d}if((i[m>>0]|0)!=(i[f+10>>0]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}else{c=f;while(1){n=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}j=c+9|0;l=c+10|0;f=k[c>>2]|0;e:do if(!f)f=c;else{m=i[c+8>>0]|0;g=c;while(1){if(m<<24>>24!=(i[f+8>>0]|0)){f=g;break e}if((i[j>>0]|0)!=(i[f+9>>0]|0)){f=g;break e}if((i[l>>0]|0)!=(i[f+10>>0]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}while(0);f=k[c>>2]|0;if(!f){c=36;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=36;break}else{h=c;d=c}}if((c|0)==36)return}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,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=r;r=r+48|0;s=A+40|0;z=A+20|0;t=A+16|0;u=A+12|0;x=A;k[z>>2]=0;k[z+4>>2]=0;k[z+8>>2]=0;k[z+12>>2]=0;o[z+16>>2]=1.0;w=a+80|0;d=k[w>>2]|0;k[x>>2]=0;y=x+4|0;k[y>>2]=0;k[x+8>>2]=0;if(d){if(d>>>0>1073741823)yp(x);q=d<<2;f=$p(q)|0;k[x>>2]=f;e=f+(d<<2)|0;k[x+8>>2]=e;hq(f|0,0,q|0)|0;k[y>>2]=e;e=k[w>>2]|0;if((e|0)>0){n=k[c>>2]|0;p=b+48|0;q=b+40|0;h=s+4|0;j=a+40|0;m=a+64|0;g=0;e=0;while(1){C=n+g|0;c=p;d=k[c>>2]|0;c=k[c+4>>2]|0;B=q;B=sq(C|0,((C|0)<0)<<31>>31|0,k[B>>2]|0,k[B+4>>2]|0)|0;c=jq(B|0,L|0,d|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[t>>2]=c;k[u>>2]=c;d=uf(z,u)|0;if(!d){d=$p(16)|0;C=d+8|0;i[C>>0]=c;i[C+1>>0]=c>>8;i[C+2>>0]=c>>16;i[C+3>>0]=c>>24;k[d+12>>2]=e;k[d+4>>2]=(((c&255^318)+239^c>>>8&255)+239^c>>>16&255)+239^c>>>24;k[d>>2]=0;vf(s,z,d);if(!(i[h>>0]|0))Ip(d);d=j;f=k[d>>2]|0;d=sq(f|0,k[d+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;lq((k[k[m>>2]>>2]|0)+d|0,t|0,f|0)|0;f=k[x>>2]|0;k[f+(g<<2)>>2]=e;d=e+1|0}else{k[f+(g<<2)>>2]=k[d+12>>2];d=e}g=g+1|0;e=k[w>>2]|0;if((g|0)>=(e|0)){m=d;break}else e=d}}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[x>>2]|0;d=d>>2;c=0;do{C=e+(c<<2)|0;k[C>>2]=k[f+(k[C>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;g=a+68|0;h=a+72|0;f=k[h>>2]|0;c=k[g>>2]|0;d=f-c>>2;if(e>>>0<=d>>>0){if(e>>>0>>0?(v=c+(e<<2)|0,(f|0)!=(v|0)):0)k[h>>2]=f+(~((f+-4-v|0)>>>2)<<2)}else{Ue(g,e-d|0,2864);e=k[w>>2]|0}if((e|0)>0){f=k[x>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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[w>>2]=m;f=m}}else f=0;d=k[x>>2]|0;c=d;if(d|0){e=k[y>>2]|0;if((e|0)!=(d|0))k[y>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[z+8>>2]|0;if(d|0)do{C=d;d=k[d>>2]|0;Ip(C)}while((d|0)!=0);d=k[z>>2]|0;k[z>>2]=0;if(!d){r=A;return f|0}Ip(d);r=A;return f|0}function uf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;h=i[b>>0]|0;j=i[b+1>>0]|0;l=i[b+2>>0]|0;g=i[b+3>>0]|0;b=(((h&255^318)+239^j&255)+239^l&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)==h<<24>>24?(i[b+9>>0]|0)==j<<24>>24:0)?(i[b+10>>0]|0)==l<<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)==h<<24>>24?(i[b+9>>0]|0)==j<<24>>24:0)?(i[b+10>>0]|0)==l<<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 vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;n=i[c+8>>0]|0;r=i[c+9>>0]|0;p=i[c+10>>0]|0;q=i[c+11>>0]|0;e=(((n&255^318)+239^r&255)+239^p&255)+239^q&255;u=c+4|0;k[u>>2]=e;t=b+4|0;j=k[t>>2]|0;s=(j|0)==0;a:do if(!s){m=j+-1|0;l=(m&j|0)==0;if(l)e=e&m;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if((((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==r<<24>>24:0)?(i[d+10>>0]|0)==p<<24>>24:0)?(i[d+11>>0]|0)==q<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==r<<24>>24:0)?(i[d+10>>0]|0)==p<<24>>24:0)?(i[d+11>>0]|0)==q<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(s|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;wf(b,f>>>0>>0?d:f);f=k[t>>2]|0;d=k[u>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){xf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;xf(a,b);return}function xf(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)Ip(c);k[d>>2]=0;return}q=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=q;if(c|0)Ip(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)e=c&p;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(q){c=f;while(1){o=k[c+4>>2]&p;if((o|0)==(e|0))break c;f=(k[a>>2]|0)+(o<<2)|0;if(!(k[f>>2]|0)){e=o;break b}l=c+9|0;m=c+10|0;n=c+11|0;f=k[c>>2]|0;d:do if(!f)f=c;else{j=i[c+8>>0]|0;g=c;while(1){if(j<<24>>24!=(i[f+8>>0]|0)){f=g;break d}if((i[l>>0]|0)!=(i[f+9>>0]|0)){f=g;break d}if((i[m>>0]|0)!=(i[f+10>>0]|0)){f=g;break d}if((i[n>>0]|0)!=(i[f+11>>0]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{r=f;f=g;g=r}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(o<<2)>>2]>>2];k[k[(k[a>>2]|0)+(o<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}else{c=f;while(1){o=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((o|0)==(e|0))break c;f=(k[a>>2]|0)+(o<<2)|0;if(!(k[f>>2]|0)){e=o;break b}j=c+9|0;l=c+10|0;m=c+11|0;f=k[c>>2]|0;e:do if(!f)f=c;else{n=i[c+8>>0]|0;g=c;while(1){if(n<<24>>24!=(i[f+8>>0]|0)){f=g;break e}if((i[j>>0]|0)!=(i[f+9>>0]|0)){f=g;break e}if((i[l>>0]|0)!=(i[f+10>>0]|0)){f=g;break e}if((i[m>>0]|0)!=(i[f+11>>0]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{r=f;f=g;g=r}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(o<<2)>>2]>>2];k[k[(k[a>>2]|0)+(o<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}while(0);f=k[c>>2]|0;if(!f){c=38;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=38;break}else{h=c;d=c}}if((c|0)==38)return}function yf(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,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+48|0;x=F+32|0;E=F+12|0;y=F+40|0;C=F;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[E+12>>2]=0;o[E+16>>2]=1.0;B=a+80|0;d=k[B>>2]|0;k[C>>2]=0;D=C+4|0;k[D>>2]=0;k[C+8>>2]=0;if(d){if(d>>>0>1073741823)yp(C);w=d<<2;f=$p(w)|0;k[C>>2]=f;e=f+(d<<2)|0;k[C+8>>2]=e;hq(f|0,0,w|0)|0;k[D>>2]=e;e=k[B>>2]|0;if((e|0)>0){u=b+48|0;v=b+40|0;w=E+4|0;q=x+4|0;s=a+40|0;t=a+64|0;p=k[c>>2]|0;n=0;l=0;do{h=p+n|0;j=u;m=k[j>>2]|0;j=k[j+4>>2]|0;e=v;e=sq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;j=jq(e|0,L|0,m|0,j|0)|0;j=i[(k[k[b>>2]>>2]|0)+j>>0]|0;i[y>>0]=j;m=j&255^318;e=k[w>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&m;else h=(m>>>0)%(e>>>0)|0;d=k[(k[E>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){z=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){z=20;break a}}while((i[d+8>>0]|0)!=j<<24>>24);else do{d=k[d>>2]|0;if(!d){z=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){z=20;break a}}while((i[d+8>>0]|0)!=j<<24>>24);k[f+(n<<2)>>2]=k[d+12>>2]}else z=20}else z=20;while(0);if((z|0)==20){z=0;d=$p(16)|0;i[d+8>>0]=j;k[d+12>>2]=l;k[d+4>>2]=m;k[d>>2]=0;hf(x,E,d);if(!(i[q>>0]|0))Ip(d);m=s;f=k[m>>2]|0;m=sq(f|0,k[m+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[t>>2]>>2]|0)+m|0,y|0,f|0)|0;f=k[C>>2]|0;k[f+(n<<2)>>2]=l;l=l+1|0}n=n+1|0;e=k[B>>2]|0}while((n|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[C>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(A=g+(e<<2)|0,(h|0)!=(A|0)):0)k[c>>2]=h+(~((h+-4-A|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[B>>2]|0}if((e|0)>0){f=k[C>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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[B>>2]=l;f=l}}else f=0;d=k[C>>2]|0;c=d;if(d|0){e=k[D>>2]|0;if((e|0)!=(d|0))k[D>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[E+8>>2]|0;if(d|0)do{D=d;d=k[d>>2]|0;Ip(D)}while((d|0)!=0);d=k[E>>2]|0;k[E>>2]=0;if(!d){r=F;return f|0}Ip(d);r=F;return f|0}function zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+32|0;J=K+12|0;D=K+40|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;u=k[c>>2]|0;t=0;n=0;do{p=u+t|0;q=y;m=k[q>>2]|0;q=k[q+4>>2]|0;s=z;s=sq(p|0,((p|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;q=jq(s|0,L|0,m|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8;j[D>>1]=q;m=q&255;s=(q&65535)>>>8;p=s&255;s=s&65535;d=(q&255^318)+239^s;e=k[A>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=d&g;else h=(d>>>0)%(e>>>0)|0;d=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((d|0)!=0?(C=k[d>>2]|0,(C|0)!=0):0){b:do if(c){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=23;break a}if((i[d+8>>0]|0)==m<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=23;break a}if((i[d+8>>0]|0)==m<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}while(0);k[f+(t<<2)>>2]=k[d+12>>2]}else E=23}else E=23;while(0);if((E|0)==23){E=0;d=$p(16)|0;p=d+8|0;i[p>>0]=q;i[p+1>>0]=q>>8;k[d+12>>2]=n;k[d+4>>2]=(q&255^318)+239^s;k[d>>2]=0;mf(B,J,d);if(!(i[v>>0]|0))Ip(d);s=w;f=k[s>>2]|0;s=sq(f|0,k[s+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+s|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(t<<2)>>2]=n;n=n+1|0}t=t+1|0;e=k[G>>2]|0}while((t|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[m>>0]|0)Aa(10788,10807,80,10839);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]=n;f=n}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|0}function Af(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+32|0;J=K+12|0;D=K+40|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=D+1|0;t=D+2|0;u=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;s=k[c>>2]|0;q=0;l=0;do{p=s+q|0;j=y;m=k[j>>2]|0;j=k[j+4>>2]|0;n=z;n=sq(p|0,((p|0)<0)<<31>>31|0,k[n>>2]|0,k[n+4>>2]|0)|0;j=jq(n|0,L|0,m|0,j|0)|0;j=(k[k[b>>2]>>2]|0)+j|0;i[D>>0]=i[j>>0]|0;i[D+1>>0]=i[j+1>>0]|0;i[D+2>>0]=i[j+2>>0]|0;j=i[D>>0]|0;m=i[A>>0]|0;n=i[t>>0]|0;p=((j&255^318)+239^m&255)+239^n&255;e=k[u>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=25;break a}if(((i[d+8>>0]|0)==j<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0)?(i[d+10>>0]|0)==n<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=25;break a}if(((i[d+8>>0]|0)==j<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0)?(i[d+10>>0]|0)==n<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}while(0);k[f+(q<<2)>>2]=k[d+12>>2]}else E=25}else E=25;while(0);if((E|0)==25){E=0;d=$p(16)|0;i[d+8>>0]=j;i[d+9>>0]=m;i[d+10>>0]=n;k[d+12>>2]=l;k[d+4>>2]=p;k[d>>2]=0;qf(B,J,d);if(!(i[v>>0]|0))Ip(d);p=w;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+p|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(q<<2)>>2]=l;l=l+1|0}q=q+1|0;e=k[G>>2]|0}while((q|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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]=l;f=l}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|0}function Bf(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,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=r;r=r+48|0;s=A+40|0;z=A+20|0;t=A+16|0;u=A+12|0;x=A;k[z>>2]=0;k[z+4>>2]=0;k[z+8>>2]=0;k[z+12>>2]=0;o[z+16>>2]=1.0;w=a+80|0;d=k[w>>2]|0;k[x>>2]=0;y=x+4|0;k[y>>2]=0;k[x+8>>2]=0;if(d){if(d>>>0>1073741823)yp(x);q=d<<2;f=$p(q)|0;k[x>>2]=f;e=f+(d<<2)|0;k[x+8>>2]=e;hq(f|0,0,q|0)|0;k[y>>2]=e;e=k[w>>2]|0;if((e|0)>0){n=k[c>>2]|0;p=b+48|0;q=b+40|0;h=s+4|0;j=a+40|0;m=a+64|0;g=0;e=0;while(1){C=n+g|0;c=p;d=k[c>>2]|0;c=k[c+4>>2]|0;B=q;B=sq(C|0,((C|0)<0)<<31>>31|0,k[B>>2]|0,k[B+4>>2]|0)|0;c=jq(B|0,L|0,d|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[t>>2]=c;k[u>>2]=c;d=uf(z,u)|0;if(!d){d=$p(16)|0;C=d+8|0;i[C>>0]=c;i[C+1>>0]=c>>8;i[C+2>>0]=c>>16;i[C+3>>0]=c>>24;k[d+12>>2]=e;k[d+4>>2]=(((c&255^318)+239^c>>>8&255)+239^c>>>16&255)+239^c>>>24;k[d>>2]=0;vf(s,z,d);if(!(i[h>>0]|0))Ip(d);d=j;f=k[d>>2]|0;d=sq(f|0,k[d+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;lq((k[k[m>>2]>>2]|0)+d|0,t|0,f|0)|0;f=k[x>>2]|0;k[f+(g<<2)>>2]=e;d=e+1|0}else{k[f+(g<<2)>>2]=k[d+12>>2];d=e}g=g+1|0;e=k[w>>2]|0;if((g|0)>=(e|0)){m=d;break}else e=d}}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[x>>2]|0;d=d>>2;c=0;do{C=e+(c<<2)|0;k[C>>2]=k[f+(k[C>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;g=a+68|0;h=a+72|0;f=k[h>>2]|0;c=k[g>>2]|0;d=f-c>>2;if(e>>>0<=d>>>0){if(e>>>0>>0?(v=c+(e<<2)|0,(f|0)!=(v|0)):0)k[h>>2]=f+(~((f+-4-v|0)>>>2)<<2)}else{Ue(g,e-d|0,2864);e=k[w>>2]|0}if((e|0)>0){f=k[x>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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[w>>2]=m;f=m}}else f=0;d=k[x>>2]|0;c=d;if(d|0){e=k[y>>2]|0;if((e|0)!=(d|0))k[y>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[z+8>>2]|0;if(d|0)do{C=d;d=k[d>>2]|0;Ip(C)}while((d|0)!=0);d=k[z>>2]|0;k[z>>2]=0;if(!d){r=A;return f|0}Ip(d);r=A;return f|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,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=r;r=r+48|0;z=H+32|0;G=H+12|0;A=H+40|0;E=H;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;k[G+12>>2]=0;o[G+16>>2]=1.0;D=a+80|0;d=k[D>>2]|0;k[E>>2]=0;F=E+4|0;k[F>>2]=0;k[E+8>>2]=0;if(d){if(d>>>0>1073741823)yp(E);y=d<<2;f=$p(y)|0;k[E>>2]=f;e=f+(d<<2)|0;k[E+8>>2]=e;hq(f|0,0,y|0)|0;k[F>>2]=e;e=k[D>>2]|0;if((e|0)>0){w=b+48|0;x=b+40|0;y=G+4|0;t=z+4|0;u=a+40|0;v=a+64|0;s=k[c>>2]|0;q=0;n=0;do{h=s+q|0;m=w;p=k[m>>2]|0;m=k[m+4>>2]|0;e=x;e=sq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;m=jq(e|0,L|0,p|0,m|0)|0;m=(k[k[b>>2]>>2]|0)+m|0;m=l[m>>0]|l[m+1>>0]<<8;j[A>>1]=m;p=m&65535^318;e=k[y>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&p;else h=(p>>>0)%(e>>>0)|0;d=k[(k[G>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){B=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){B=20;break a}}while((j[d+8>>1]|0)!=m<<16>>16);else do{d=k[d>>2]|0;if(!d){B=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){B=20;break a}}while((j[d+8>>1]|0)!=m<<16>>16);k[f+(q<<2)>>2]=k[d+12>>2]}else B=20}else B=20;while(0);if((B|0)==20){B=0;d=$p(16)|0;j[d+8>>1]=m;k[d+12>>2]=n;k[d+4>>2]=p;k[d>>2]=0;Df(z,G,d);if(!(i[t>>0]|0))Ip(d);p=u;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;lq((k[k[v>>2]>>2]|0)+p|0,A|0,f|0)|0;f=k[E>>2]|0;k[f+(q<<2)>>2]=n;n=n+1|0}q=q+1|0;e=k[D>>2]|0}while((q|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[E>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(C=g+(e<<2)|0,(h|0)!=(C|0)):0)k[c>>2]=h+(~((h+-4-C|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[D>>2]|0}if((e|0)>0){f=k[E>>2]|0;if(i[m>>0]|0)Aa(10788,10807,80,10839);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[D>>2]=n;f=n}}else f=0;d=k[E>>2]|0;c=d;if(d|0){e=k[F>>2]|0;if((e|0)!=(d|0))k[F>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[G+8>>2]|0;if(d|0)do{F=d;d=k[d>>2]|0;Ip(F)}while((d|0)!=0);d=k[G>>2]|0;k[G>>2]=0;if(!d){r=H;return f|0}Ip(d);r=H;return f|0}function Df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,l=0,m=0,n=0,p=0,q=0,r=0;n=j[c+8>>1]|0;d=n&65535^318;r=c+4|0;k[r>>2]=d;q=b+4|0;l=k[q>>2]|0;p=(l|0)==0;a:do if(!p){m=l+-1|0;f=(m&l|0)==0;if(f)e=m&d;else e=(d>>>0)%(l>>>0)|0;d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(d)if(f){while(1){d=k[d>>2]|0;if(!d)break a;if((k[d+4>>2]&m|0)!=(e|0))break a;if((j[d+8>>1]|0)==n<<16>>16){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){d=k[d>>2]|0;if(!d)break a;if((((k[d+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(e|0))break a;if((j[d+8>>1]|0)==n<<16>>16){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);m=b+12|0;g=+(((k[m>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(p|g>+(l>>>0)*h){if(l>>>0>2)d=(l+-1&l|0)==0;else d=0;f=(d&1|l<<1)^1;d=~~+ga(+(g/h))>>>0;Ef(b,f>>>0>>0?d:f);f=k[q>>2]|0;d=k[r>>2]|0;e=f+-1|0;if(!(e&f)){l=f;e=e&d;break}else{l=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=l+-1|0;if(!(e&l))d=d&e;else d=(d>>>0)%(l>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[m>>2]=(k[m>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function Ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Ff(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Ff(a,b);return}function Ff(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)Ip(c);k[d>>2]=0;return}n=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)Ip(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;m=b+-1|0;n=(m&b|0)==0;if(n)e=c&m;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[f>>2]|0;if(!c)return;else{g=f;d=f}a:while(1){b:do if(n){l=g;i=d;while(1){while(1){h=k[c+4>>2]&m;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((j[g>>1]|0)==(j[f+8>>1]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[l>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{l=d;i=d}}}else{l=g;i=d;while(1){while(1){h=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((j[g>>1]|0)==(j[f+8>>1]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[l>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{l=d;i=d}}}while(0);k[d>>2]=c;c=k[f>>2]|0;if(!c){c=32;break}else{g=f;d=f}}if((c|0)==32)return}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,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+40|0;J=K+16|0;D=K+12|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;u=k[c>>2]|0;t=0;n=0;do{m=u+t|0;q=y;h=k[q>>2]|0;q=k[q+4>>2]|0;s=z;s=sq(m|0,((m|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;q=jq(s|0,L|0,h|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[D>>2]=q;h=q&65535;s=q>>>16;m=s&65535;s=(q&65535^318)+239^s;e=k[A>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)p=s&g;else p=(s>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(p<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(p|0)){E=23;break a}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(p|0)){E=23;break a}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}while(0);k[f+(t<<2)>>2]=k[d+12>>2]}else E=23}else E=23;while(0);if((E|0)==23){E=0;d=$p(16)|0;p=d+8|0;j[p>>1]=q;j[p+2>>1]=q>>>16;k[d+12>>2]=n;k[d+4>>2]=s;k[d>>2]=0;Hf(B,J,d);if(!(i[v>>0]|0))Ip(d);s=w;f=k[s>>2]|0;s=sq(f|0,k[s+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+s|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(t<<2)>>2]=n;n=n+1|0}t=t+1|0;e=k[G>>2]|0}while((t|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[m>>0]|0)Aa(10788,10807,80,10839);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]=n;f=n}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|0}function Hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;p=j[c+8>>1]|0;q=j[c+10>>1]|0;e=(p&65535^318)+239^q&65535;t=c+4|0;k[t>>2]=e;s=b+4|0;l=k[s>>2]|0;r=(l|0)==0;a:do if(!r){n=l+-1|0;m=(n&l|0)==0;if(m)e=n&e;else e=(e>>>0)%(l>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(m){while(1){if((k[d+4>>2]&n|0)!=(e|0))break a;if((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==q<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(e|0))break a;if((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==q<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);m=b+12|0;g=+(((k[m>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(r|g>+(l>>>0)*h){if(l>>>0>2)d=(l+-1&l|0)==0;else d=0;f=(d&1|l<<1)^1;d=~~+ga(+(g/h))>>>0;If(b,f>>>0>>0?d:f);f=k[s>>2]|0;d=k[t>>2]|0;e=f+-1|0;if(!(e&f)){l=f;e=e&d;break}else{l=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=l+-1|0;if(!(e&l))d=d&e;else d=(d>>>0)%(l>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[m>>2]=(k[m>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function If(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Jf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Jf(a,b);return}function Jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,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)Ip(c);k[d>>2]=0;return}o=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)Ip(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)e=c&n;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(o){c=f;while(1){m=k[c+4>>2]&n;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}l=c+10|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=j[c+8>>1]|0;g=c;while(1){if(i<<16>>16!=(j[f+8>>1]|0)){f=g;break d}if((j[l>>1]|0)!=(j[f+10>>1]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}else{c=f;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}i=c+10|0;f=k[c>>2]|0;e:do if(!f)f=c;else{l=j[c+8>>1]|0;g=c;while(1){if(l<<16>>16!=(j[f+8>>1]|0)){f=g;break e}if((j[i>>1]|0)!=(j[f+10>>1]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}while(0);f=k[c>>2]|0;if(!f){c=34;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=34;break}else{h=c;d=c}}if((c|0)==34)return} +function Vn(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;j=r;r=r+16|0;h=j;d=k[a+8>>2]|0;i=k[c>>2]|0;e=(i|0)/3|0;if((i|0)<=-3)Aa(10856,10769,63,10783);f=k[d+80>>2]|0;if(e>>>0>=(((k[d+84>>2]|0)-f|0)/12|0)>>>0)Aa(10733,10769,64,10783);d=k[f+(e*12|0)+(((i|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))pg(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)){Bd(e,c);a=k[d>>2]|0;c=a+24|0;i=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]=i;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;r=j;return}else{k[g>>2]=i;k[f>>2]=g+4;a=e;c=a+24|0;i=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]=i;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;r=j;return}}function Wn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+32|0;j=n+24|0;i=n+16|0;l=n+8|0;m=n;k[a>>2]=4652;k[a+4>>2]=k[b+4>>2];e=a+8|0;f=b+8|0;k[e>>2]=0;g=a+12|0;k[g>>2]=0;h=a+16|0;k[h>>2]=0;c=b+12|0;d=k[c>>2]|0;do if(d|0)if((d|0)<0)yp(e);else{d=((d+-1|0)>>>5)+1|0;o=$p(d<<2)|0;k[e>>2]=o;k[g>>2]=0;k[h>>2]=d;g=k[f>>2]|0;k[l>>2]=g;k[l+4>>2]=0;h=k[c>>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];Jn(e,i,j);break}while(0);f=a+20|0;k[f>>2]=0;g=a+24|0;k[g>>2]=0;c=a+28|0;k[c>>2]=0;d=b+24|0;e=k[d>>2]|0;if(!e){r=n;return}if((e|0)<0)yp(f);o=((e+-1|0)>>>5)+1|0;a=$p(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];Jn(f,i,j);r=n;return}function Xn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;k[a+4>>2]=k[b+4>>2];h=a+8|0;i=b+8|0;if((a|0)==(b|0))return a|0;j=b+12|0;c=k[j>>2]|0;if(!c)c=0;else{e=a+16|0;do if(c>>>0>k[e>>2]<<5>>>0){d=k[h>>2]|0;if(d){Ip(d);k[h>>2]=0;k[e>>2]=0;k[a+12>>2]=0;c=k[j>>2]|0}if((c|0)<0)yp(h);else{f=((c+-1|0)>>>5)+1|0;g=$p(f<<2)|0;k[h>>2]=g;k[a+12>>2]=0;k[e>>2]=f;f=k[j>>2]|0;break}}else{f=c;g=k[h>>2]|0}while(0);mq(g|0,k[i>>2]|0,((f+-1|0)>>>5<<2)+4|0)|0;c=k[j>>2]|0}k[a+12>>2]=c;g=a+20|0;h=b+20|0;e=b+24|0;c=k[e>>2]|0;if(!c)c=0;else{f=a+28|0;do if(c>>>0>k[f>>2]<<5>>>0){d=k[g>>2]|0;if(d){Ip(d);k[g>>2]=0;k[f>>2]=0;k[a+24>>2]=0;c=k[e>>2]|0}if((c|0)<0)yp(g);else{l=((c+-1|0)>>>5)+1|0;m=$p(l<<2)|0;k[g>>2]=m;k[a+24>>2]=0;k[f>>2]=l;l=k[e>>2]|0;break}}else{l=c;m=k[g>>2]|0}while(0);mq(m|0,k[h>>2]|0,((l+-1|0)>>>5<<2)+4|0)|0;c=k[e>>2]|0}k[a+24>>2]=c;return a|0}function Yn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+96|0;w=B+88|0;q=B+92|0;A=B+40|0;z=B;t=B+84|0;x=B+80|0;o=a+148|0;k[o>>2]=0;e=a+164|0;if(k[e>>2]|0){c=a+160|0;b=k[c>>2]|0;if(b|0)do{y=b;b=k[b>>2]|0;Ip(y)}while((b|0)!=0);k[c>>2]=0;b=k[a+156>>2]|0;if(b|0){c=a+152|0;d=0;do{k[(k[c>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(b|0))}k[e>>2]=0}s=a+4|0;b=k[(k[s>>2]|0)+20>>2]|0;m=b+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;n=b+16|0;g=n;f=k[g>>2]|0;g=k[g+4>>2]|0;d=jq(f|0,g|0,4,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){A=0;r=B;return A|0}h=k[b>>2]|0;e=h+f|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;b=n;k[b>>2]=d;k[b+4>>2]=c;k[o>>2]=e;e=jq(f|0,g|0,8,0)|0;b=L;if((m|0)<(b|0)|(m|0)==(b|0)&j>>>0>>0){A=0;r=B;return A|0}c=h+d|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;p=n;k[p>>2]=e;k[p+4>>2]=b;p=a+172|0;k[p>>2]=c;b=jq(f|0,g|0,12,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){A=0;r=B;return A|0}j=h+e|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;d=n;k[d>>2]=b;k[d+4>>2]=c;b=k[a+24>>2]|0;c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);y=a+8|0;b=$p(60)|0;zd(b);c=k[y>>2]|0;k[y>>2]=b;if(c){Fd(c);Ip(c);b=k[y>>2]|0;if(!b){A=0;r=B;return A|0}}Gd(b,j);f=a+176|0;g=k[f>>2]|0;h=a+180|0;b=k[h>>2]|0;c=g;if((b|0)!=(g|0)){b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[h>>2]=b}e=a+184|0;if((k[e>>2]|0)-c>>2>>>0>>0){b=b-c|0;c=b>>2;if(!j)d=0;else d=$p(j<<2)|0;v=d+(c<<2)|0;u=v+(0-c<<2)|0;lq(u|0,g|0,b|0)|0;k[f>>2]=u;k[h>>2]=v;k[e>>2]=d+(j<<2);if(g|0)Ip(g)}f=a+188|0;g=k[f>>2]|0;h=a+192|0;b=k[h>>2]|0;c=g;if((b|0)!=(g|0)){b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[h>>2]=b}e=a+196|0;if((k[e>>2]|0)-c>>2>>>0>>0){b=b-c|0;c=b>>2;if(!j)d=0;else d=$p(j<<2)|0;v=d+(c<<2)|0;u=v+(0-c<<2)|0;lq(u|0,g|0,b|0)|0;k[f>>2]=u;k[h>>2]=v;k[e>>2]=d+(j<<2);if(g|0)Ip(g)}b=k[a+36>>2]|0;c=a+40|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);b=k[a+48>>2]|0;c=a+52|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+68>>2]=0;b=k[a+76>>2]|0;c=a+80|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+60>>2]=0;k[a+100>>2]=-1;k[a+108>>2]=-1;k[a+104>>2]=-1;b=k[(k[s>>2]|0)+20>>2]|0;v=b+8|0;u=k[v+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((u|0)>(e|0)|((u|0)==(e|0)?(k[v>>2]|0)>>>0>d>>>0:0))){A=0;r=B;return A|0}h=i[(k[b>>2]|0)+d>>0]|0;g=jq(d|0,e|0,1,0)|0;u=c;k[u>>2]=g;k[u+4>>2]=L;u=a+228|0;g=k[u>>2]|0;v=a+232|0;b=k[v>>2]|0;if((b|0)!=(g|0))do{k[v>>2]=b+-116;c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}tn(b+-112|0);b=k[v>>2]|0}while((b|0)!=(g|0));o=h<<24>>24;Zn(u,o);b=k[(k[s>>2]|0)+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=k[d+4>>2]|0;m=jq(c|0,d|0,4,0)|0;e=L;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){A=0;r=B;return A|0}f=k[b>>2]|0;n=f+c|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;b=j;k[b>>2]=m;k[b+4>>2]=e;b=jq(c|0,d|0,8,0)|0;c=L;if((h|0)<(c|0)|(h|0)==(c|0)&g>>>0>>0){A=0;r=B;return A|0}e=f+m|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;h=j;k[h>>2]=b;k[h+4>>2]=c;h=a+136|0;b=(k[p>>2]|0)+e|0;i[q>>0]=1;Cg(h,b,q);b=k[(k[s>>2]|0)+20>>2]|0;p=b+8|0;q=k[p>>2]|0;p=k[p+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=jq(d|0,k[e+4>>2]|0,4,0)|0;f=L;if((p|0)<(f|0)|(p|0)==(f|0)&q>>>0>>0)b=0;else{b=(k[b>>2]|0)+d|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;q=c;k[q>>2]=e;k[q+4>>2]=f}Og(A);p=k[(k[s>>2]|0)+20>>2]|0;j=p+16|0;g=k[j>>2]|0;q=(k[p>>2]|0)+g+b|0;p=p+8|0;m=k[p>>2]|0;p=k[p+4>>2]|0;b=jq(g|0,k[j+4>>2]|0,b|0,0)|0;b=gq(m|0,p|0,b|0,L|0)|0;Pg(A,q,b);b=bo(a,A)|0;if((b|0)==-1)b=0;else{c=a+240|0;k[a+328>>2]=a;p=(cb[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;p=k[p>>2]|0;m=k[p>>2]|0;p=k[p+16>>2]|0;q=(cb[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;q=k[q>>2]|0;j=q+8|0;q=q+16|0;q=gq(k[j>>2]|0,k[j+4>>2]|0,k[q>>2]|0,k[q+4>>2]|0)|0;Pg(c,m+p|0,q);k[a+324>>2]=o;fo(z,c);if((go(a,n)|0)==-1)b=0;else{o=k[(k[s>>2]|0)+20>>2]|0;q=z+16|0;n=k[q>>2]|0;p=(k[z>>2]|0)+n|0;m=z+8|0;q=gq(k[m>>2]|0,k[m+4>>2]|0,n|0,k[q+4>>2]|0)|0;Pg(o,p,q);s=(k[(k[s>>2]|0)+20>>2]|0)+16|0;q=s;q=jq(k[q>>2]|0,k[q+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[s>>2]=q;k[s+4>>2]=L;do if((k[v>>2]|0)!=(k[u>>2]|0)){s=k[y>>2]|0;if(((k[s+4>>2]|0)-(k[s>>2]|0)|0)<=0)break;b=0;do{k[t>>2]=b;k[w>>2]=k[t>>2];no(a,w)|0;b=b+3|0;s=k[y>>2]|0}while((b|0)<((((k[s+4>>2]|0)-(k[s>>2]|0)|0)/12|0)*3|0))}while(0);Rg(c);Rg(a+280|0);c=k[y>>2]|0;f=k[c+28>>2]|0;g=k[c+24>>2]|0;q=g;if((f-g|0)>0){j=k[h>>2]|0;m=f-g>>2;n=c+12|0;p=0;do{do if(k[j+(p>>>5<<2)>>2]&1<<(p&31)|0){o=q+(p<<2)|0;b=k[o>>2]|0;if((b|0)<0)break;d=b+1|0;d=((d|0)%3|0|0)==0?b+-2|0:d;if((d|0)>=0){h=k[n>>2]|0;d=k[h+(d<<2)>>2]|0;a:do if((d|0)<0)e=b;else{t=d+1|0;d=((t|0)%3|0|0)==0?d+-2|0:t;if((d|0)>-1&(d|0)!=(b|0))e=d;else{e=b;break}while(1){d=e+1|0;d=((d|0)%3|0|0)==0?e+-2|0:d;if((d|0)<0)break a;d=k[h+(d<<2)>>2]|0;if((d|0)<0)break a;t=d+1|0;d=((t|0)%3|0|0)==0?d+-2|0:t;if((d|0)>-1&(d|0)!=(b|0))e=d;else break}}while(0);if((d|0)==(b|0))break;else b=e}k[o>>2]=b}while(0);p=p+1|0}while((p|0)<(m|0))}d=k[v>>2]|0;t=k[u>>2]|0;b=t;if((d|0)==(t|0))c=d;else{f=0;do{Bg(b+(f*116|0)+4|0,c)|0;b=k[u>>2]|0;c=k[b+(f*116|0)+104>>2]|0;d=k[b+(f*116|0)+108>>2]|0;if((c|0)!=(d|0))do{k[x>>2]=k[c>>2];k[w>>2]=k[x>>2];Jg(b+(f*116|0)+4|0,w);c=c+4|0;b=k[u>>2]|0}while((c|0)!=(d|0));Ig(b+(f*116|0)+4|0,0,0);f=f+1|0;d=k[v>>2]|0;e=k[u>>2]|0;b=e;c=k[y>>2]|0}while(f>>>0<((d-e|0)/116|0)>>>0);g=k[c+24>>2]|0;f=k[c+28>>2]|0;c=e}e=f-g>>2;f=a+212|0;j=a+216|0;m=k[j>>2]|0;h=k[f>>2]|0;g=m-h>>2;do if(e>>>0>g>>>0){Wg(f,e-g|0);b=k[u>>2]|0;d=k[v>>2]|0;c=b}else{if(e>>>0>=g>>>0)break;e=h+(e<<2)|0;if((m|0)==(e|0))break;k[j>>2]=m+(~((m+-4-e|0)>>>2)<<2)}while(0);if((d|0)!=(c|0)){m=0;while(1){f=(k[b+(m*116|0)+60>>2]|0)-(k[b+(m*116|0)+56>>2]|0)>>2;g=k[y>>2]|0;g=(k[g+28>>2]|0)-(k[g+24>>2]|0)>>2;f=(f|0)<(g|0)?g:f;g=b+(m*116|0)+88|0;h=b+(m*116|0)+92|0;j=k[h>>2]|0;e=k[g>>2]|0;b=j-e>>2;do if(f>>>0>b>>>0){Wg(g,f-b|0);c=k[u>>2]|0;d=k[v>>2]|0}else{if(f>>>0>=b>>>0)break;b=e+(f<<2)|0;if((j|0)==(b|0))break;k[h>>2]=j+(~((j+-4-b|0)>>>2)<<2)}while(0);m=m+1|0;if(m>>>0>=((d-c|0)/116|0)>>>0)break;else b=c}}oo(a)|0;b=1}Ng(z+24|0)}Ng(A+24|0);A=b;r=B;return A|0}function Zn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=a+4|0;e=k[g>>2]|0;c=k[a>>2]|0;d=(e-c|0)/116|0;if(d>>>0>>0){_n(a,b-d|0);return}if(d>>>0<=b>>>0)return;f=c+(b*116|0)|0;if((e|0)==(f|0))return;do{k[g>>2]=e+-116;c=k[e+-12>>2]|0;d=c;if(c|0){b=e+-8|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Ip(c)}c=k[e+-28>>2]|0;d=c;if(c|0){b=e+-24|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Ip(c)}c=k[e+-40>>2]|0;d=c;if(c|0){b=e+-36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Ip(c)}tn(e+-112|0);e=k[g>>2]|0}while((e|0)!=(f|0));return}function _n(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;o=r;r=r+32|0;m=o;l=a+8|0;d=k[l>>2]|0;n=a+4|0;c=k[n>>2]|0;if(((d-c|0)/116|0)>>>0>=b>>>0){do{k[c>>2]=-1;Ag(c+4|0);i[c+72>>0]=1;e=c+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c=(k[n>>2]|0)+116|0;k[n>>2]=c;b=b+-1|0}while((b|0)!=0);r=o;return}f=k[a>>2]|0;e=((c-f|0)/116|0)+b|0;if(e>>>0>37025580)yp(a);c=(d-f|0)/116|0;if(c>>>0<18512790){j=c<<1;e=j>>>0>>0?e:j}else e=37025580;c=((k[n>>2]|0)-f|0)/116|0;k[m+12>>2]=0;k[m+16>>2]=a+8;if(!e)d=0;else d=$p(e*116|0)|0;k[m>>2]=d;c=d+(c*116|0)|0;g=m+8|0;k[g>>2]=c;h=m+4|0;k[h>>2]=c;j=m+12|0;k[j>>2]=d+(e*116|0);d=c;do{k[d>>2]=-1;Ag(d+4|0);i[d+72>>0]=1;e=d+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));d=d+116|0;k[g>>2]=d;b=b+-1|0}while((b|0)!=0);d=k[a>>2]|0;b=k[n>>2]|0;if((b|0)!=(d|0)){do{c=c+-116|0;b=b+-116|0;$n(c,b)}while((b|0)!=(d|0));k[h>>2]=c;d=k[a>>2]|0;b=k[n>>2]|0}k[a>>2]=c;k[h>>2]=d;k[n>>2]=k[g>>2];k[g>>2]=b;n=k[l>>2]|0;k[l>>2]=k[j>>2];k[j>>2]=n;k[m>>2]=k[h>>2];ao(m);r=o;return}function $n(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;k[a>>2]=k[b>>2];c=b+4|0;k[a+4>>2]=k[c>>2];d=b+8|0;k[a+8>>2]=k[d>>2];e=b+12|0;k[a+12>>2]=k[e>>2];k[c>>2]=0;k[d>>2]=0;k[e>>2]=0;e=b+16|0;k[a+16>>2]=k[e>>2];d=b+20|0;k[a+20>>2]=k[d>>2];c=b+24|0;k[a+24>>2]=k[c>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;i[a+28>>0]=i[b+28>>0]|0;c=a+32|0;d=b+32|0;k[c>>2]=0;e=a+36|0;k[e>>2]=0;k[a+40>>2]=0;k[c>>2]=k[d>>2];c=b+36|0;k[e>>2]=k[c>>2];e=b+40|0;k[a+40>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;d=a+44|0;c=b+44|0;k[d>>2]=0;e=a+48|0;k[e>>2]=0;k[a+52>>2]=0;k[d>>2]=k[c>>2];d=b+48|0;k[e>>2]=k[d>>2];e=b+52|0;k[a+52>>2]=k[e>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;c=a+56|0;d=b+56|0;k[c>>2]=0;e=a+60|0;k[e>>2]=0;k[a+64>>2]=0;k[c>>2]=k[d>>2];c=b+60|0;k[e>>2]=k[c>>2];e=b+64|0;k[a+64>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;k[a+68>>2]=k[b+68>>2];i[a+72>>0]=i[b+72>>0]|0;d=a+76|0;c=b+76|0;k[d>>2]=0;e=a+80|0;k[e>>2]=0;k[a+84>>2]=0;k[d>>2]=k[c>>2];d=b+80|0;k[e>>2]=k[d>>2];e=b+84|0;k[a+84>>2]=k[e>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;c=a+88|0;d=b+88|0;k[c>>2]=0;e=a+92|0;k[e>>2]=0;k[a+96>>2]=0;k[c>>2]=k[d>>2];c=b+92|0;k[e>>2]=k[c>>2];e=b+96|0;k[a+96>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;k[a+100>>2]=k[b+100>>2];d=a+104|0;c=b+104|0;k[d>>2]=0;e=a+108|0;k[e>>2]=0;k[a+112>>2]=0;k[d>>2]=k[c>>2];d=b+108|0;k[e>>2]=k[d>>2];b=b+112|0;k[a+112>>2]=k[b>>2];k[b>>2]=0;k[d>>2]=0;k[c>>2]=0;return}function ao(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=k[a+4>>2]|0;h=a+8|0;b=k[h>>2]|0;if((b|0)!=(g|0))do{k[h>>2]=b+-116;f=k[b+-12>>2]|0;c=f;if(f|0){d=b+-8|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(f)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}tn(b+-112|0);b=k[h>>2]|0}while((b|0)!=(g|0));b=k[a>>2]|0;if(!b)return;Ip(b);return}function bo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+16|0;w=x;u=b+8|0;g=u;f=k[g>>2]|0;g=k[g+4>>2]|0;v=b+16|0;d=v;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0){w=-1;r=x;return w|0}n=(k[b>>2]|0)+c|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;t=v;k[t>>2]=d;k[t+4>>2]=e;a:do if(!n)h=d;else{o=w+4|0;p=w+8|0;q=a+40|0;s=a+44|0;t=a+36|0;c=e;m=0;while(1){e=jq(d|0,c|0,4,0)|0;h=L;if((g|0)<(h|0)|(g|0)==(h|0)&f>>>0>>0)break;j=k[b>>2]|0;y=j+d|0;k[w>>2]=l[y>>0]|l[y+1>>0]<<8|l[y+2>>0]<<16|l[y+3>>0]<<24;y=v;k[y>>2]=e;k[y+4>>2]=h;h=jq(d|0,c|0,8,0)|0;y=L;if((g|0)<(y|0)|(g|0)==(y|0)&f>>>0>>0)break;e=j+e|0;k[o>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=jq(d|0,c|0,8,0)|0;y=L;h=v;k[h>>2]=e;k[h+4>>2]=y;if(!((g|0)>(y|0)|(g|0)==(y|0)&f>>>0>e>>>0))break;y=i[j+e>>0]|0;j=jq(d|0,c|0,9,0)|0;c=v;k[c>>2]=j;k[c+4>>2]=L;i[p>>0]=y&3|i[p>>0]&-4;c=k[q>>2]|0;if((c|0)==(k[s>>2]|0))co(t,w);else{k[c>>2]=k[w>>2];k[c+4>>2]=k[w+4>>2];k[c+8>>2]=k[w+8>>2];k[q>>2]=(k[q>>2]|0)+12}m=m+1|0;g=u;f=k[g>>2]|0;g=k[g+4>>2]|0;c=v;d=k[c>>2]|0;c=k[c+4>>2]|0;if(m>>>0>=n>>>0){h=d;e=c;break a}}y=-1;r=x;return y|0}while(0);d=jq(h|0,e|0,4,0)|0;c=L;if((g|0)<(c|0)|(g|0)==(c|0)&f>>>0>>0){y=-1;r=x;return y|0}o=(k[b>>2]|0)+h|0;o=l[o>>0]|l[o+1>>0]<<8|l[o+2>>0]<<16|l[o+3>>0]<<24;y=v;k[y>>2]=d;k[y+4>>2]=c;if(!o){y=d;r=x;return y|0}m=a+52|0;n=a+56|0;j=a+48|0;k[w>>2]=0;e=jq(h|0,e|0,8,0)|0;c=L;b:do if(!((g|0)<(c|0)|(g|0)==(c|0)&f>>>0>>0)){f=0;while(1){d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[w>>2]=d;y=v;k[y>>2]=e;k[y+4>>2]=c;c=k[m>>2]|0;if((c|0)==(k[n>>2]|0))eo(j,w);else{k[c>>2]=d;k[m>>2]=c+4}f=f+1|0;if(f>>>0>=o>>>0)break;a=u;y=k[a>>2]|0;a=k[a+4>>2]|0;e=v;d=k[e>>2]|0;e=k[e+4>>2]|0;k[w>>2]=0;e=jq(d|0,e|0,4,0)|0;c=L;if((a|0)<(c|0)|(a|0)==(c|0)&y>>>0>>0)break b}y=k[v>>2]|0;r=x;return y|0}while(0);y=-1;r=x;return y|0}function co(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;h=a+4|0;i=k[a>>2]|0;d=(((k[h>>2]|0)-i|0)/12|0)+1|0;if(d>>>0>357913941)yp(a);j=a+8|0;c=((k[j>>2]|0)-i|0)/12|0;if(c>>>0<178956970){c=c<<1;c=c>>>0>>0?d:c;e=k[h>>2]|0;d=(e-i|0)/12|0;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=357913941;e=d;d=(d-i|0)/12|0;l=6}if((l|0)==6){g=c;f=$p(c*12|0)|0;c=e}l=f+(d*12|0)|0;k[l>>2]=k[b>>2];k[l+4>>2]=k[b+4>>2];k[l+8>>2]=k[b+8>>2];e=c-i|0;b=l+(((e|0)/-12|0)*12|0)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+12;k[j>>2]=f+(g*12|0);if(!i)return;Ip(i);return}function eo(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;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)yp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Ip(i);return}function fo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+16|0;c=h;Qg(b,1,c)|0;f=b+40|0;d=b+16|0;e=k[d>>2]|0;g=(k[b>>2]|0)+e|0;i=b+8|0;d=gq(k[i>>2]|0,k[i+4>>2]|0,e|0,k[d+4>>2]|0)|0;Pg(f,g,d);d=c;g=b+56|0;e=g;d=jq(k[e>>2]|0,k[e+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;e=g;k[e>>2]=d;k[e+4>>2]=L;Qg(f,1,c)|0;Og(a);e=k[g>>2]|0;f=(k[f>>2]|0)+e|0;d=b+48|0;g=gq(k[d>>2]|0,k[d+4>>2]|0,e|0,k[g+4>>2]|0)|0;Pg(a,f,g);g=a+16|0;f=g;c=jq(k[f>>2]|0,k[f+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;k[g>>2]=c;k[g+4>>2]=L;g=b+84|0;c=k[g>>2]|0;if((c|0)<=0){r=h;return}f=b+80|0;d=c<<4;d=bq(c>>>0>268435455|d>>>0>4294967291?-1:d+4|0)|0;k[d>>2]=c;d=d+4|0;b=d+(c<<4)|0;c=d;do{qd(c);c=c+16|0}while((c|0)!=(b|0));e=k[f>>2]|0;k[f>>2]=d;if(e|0){c=e+-4|0;b=k[c>>2]|0;if(b|0){b=e+(b<<4)|0;do{b=b+-16|0;rd(b)}while((b|0)!=(e|0))}cq(c)}if((k[g>>2]|0)>0)b=0;else{r=h;return}do{sd((k[f>>2]|0)+(b<<4)|0,a);b=b+1|0}while((b|0)<(k[g>>2]|0));r=h;return}function go(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;sa=r;r=r+48|0;oa=sa+28|0;pa=sa+8|0;ka=sa+4|0;la=sa;k[oa>>2]=0;qa=oa+4|0;k[qa>>2]=0;k[oa+8>>2]=0;k[pa>>2]=0;k[pa+4>>2]=0;k[pa+8>>2]=0;k[pa+12>>2]=0;o[pa+16>>2]=1.0;a:do if((b|0)>0){T=a+276|0;X=a+8|0;Z=a+36|0;aa=a+40|0;ba=b+-1|0;ca=pa+4|0;F=oa+8|0;G=a+136|0;I=a+272|0;J=a+264|0;K=a+268|0;x=0;c=0;b:while(1){P=x+1|0;if(i[T>>0]|0){e=k[I>>2]|0;g=k[J>>2]|0;h=k[K>>2]|0;d=g+(e>>>3)|0;if(d>>>0>>0?(R=(l[d>>0]|0)>>>(e&7)&1,S=e+1|0,k[I>>2]=S,(R|0)!=0):0){d=g+(S>>>3)|0;if(d>>>0>>0){f=(l[d>>0]|0)>>>(S&7)&1;e=e+2|0;k[I>>2]=e}else{f=0;e=S}d=g+(e>>>3)|0;if(d>>>0>>0){d=(l[d>>0]|0)>>>(e&7);k[I>>2]=e+1;d=d<<1&2}else d=0;e=R;d=(d|f)<<1;da=13}else da=14}else{e=0;d=0;da=13}c:do if((da|0)==13){da=0;d=d|e;if(d){switch(d|0){case 3:case 5:{u=k[(k[qa>>2]|0)+-4>>2]|0;w=x*3|0;m=((d|0)==5?2:1)+w|0;d=k[X>>2]|0;v=k[d+12>>2]|0;k[v+(m<<2)>>2]=u;k[v+(u<<2)>>2]=m;v=c+1|0;q=(m|0)<0;t=(m|0)%3|0;k[(k[d>>2]|0)+((q?-1073741824:(m|0)/3|0)*12|0)+(t<<2)>>2]=c;if((c|0)>-1){h=d+24|0;f=d+28|0;e=k[f>>2]|0;d=k[h>>2]|0;g=e-d>>2;do if(g>>>0<=c>>>0){if(v>>>0>g>>>0){ho(h,v-g|0);d=k[h>>2]|0;break}if(v>>>0>>0?(N=d+(v<<2)|0,(e|0)!=(N|0)):0)k[f>>2]=e+(~((e+-4-N|0)>>>2)<<2)}while(0);k[d+(c<<2)>>2]=m;d=k[X>>2]|0}if(q)n=m;else{n=m+1|0;n=((n|0)%3|0|0)==0?m+-2|0:n}p=(u|0)<0;if(!p?(D=(((u|0)%3|0|0)==0?2:-1)+u|0,(D|0)>=0):0)j=k[(k[d>>2]|0)+(((D|0)/3|0)*12|0)+(((D|0)%3|0)<<2)>>2]|0;else j=-1073741824;k[(k[d>>2]|0)+(((n|0)<0?-1073741824:(n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=j;if((j|0)>-1){h=d+24|0;e=d+28|0;d=k[e>>2]|0;c=k[h>>2]|0;f=d-c>>2;do if(f>>>0<=j>>>0){g=j+1|0;if(g>>>0>f>>>0){ho(h,g-f|0);c=k[h>>2]|0;break}if(g>>>0>>0?(O=c+(g<<2)|0,(d|0)!=(O|0)):0)k[e>>2]=d+(~((d+-4-O|0)>>>2)<<2)}while(0);k[c+(j<<2)>>2]=n;d=k[X>>2]|0}do if(!q)if(!t){m=m+2|0;break}else{m=m+-1|0;break}while(0);if(!p?(A=u+1|0,A=((A|0)%3|0|0)==0?u+-2|0:A,(A|0)>=0):0)j=k[(k[d>>2]|0)+(((A|0)/3|0)*12|0)+(((A|0)%3|0)<<2)>>2]|0;else j=-1073741824;k[(k[d>>2]|0)+(((m|0)<0?-1073741824:(m|0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=j;if((j|0)>-1){h=d+24|0;e=d+28|0;d=k[e>>2]|0;c=k[h>>2]|0;f=d-c>>2;do if(f>>>0<=j>>>0){g=j+1|0;if(g>>>0>f>>>0){ho(h,g-f|0);c=k[h>>2]|0;break}if(g>>>0>>0?(Q=c+(g<<2)|0,(d|0)!=(Q|0)):0)k[e>>2]=d+(~((d+-4-Q|0)>>>2)<<2)}while(0);k[c+(j<<2)>>2]=m}k[(k[qa>>2]|0)+-4>>2]=w;c=v;break}case 1:{d=k[qa>>2]|0;u=k[d+-4>>2]|0;m=d+-4|0;k[qa>>2]=m;g=k[ca>>2]|0;d:do if(g){h=g+-1|0;f=(h&g|0)==0;if(f)j=h&x;else j=(x>>>0)%(g>>>0)|0;e=k[(k[pa>>2]|0)+(j<<2)>>2]|0;if(e){if(f)do{e=k[e>>2]|0;if(!e){d=m;break d}if((k[e+4>>2]&h|0)!=(j|0)){d=m;break d}}while((k[e+8>>2]|0)!=(x|0));else do{e=k[e>>2]|0;if(!e){d=m;break d}if((((k[e+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(j|0)){d=m;break d}}while((k[e+8>>2]|0)!=(x|0));e=e+12|0;if((m|0)==(k[F>>2]|0)){Bd(oa,e);d=k[qa>>2]|0;break}else{k[m>>2]=k[e>>2];k[qa>>2]=d;break}}else d=m}else d=m;while(0);n=k[d+-4>>2]|0;v=x*3|0;q=v+2|0;f=k[X>>2]|0;w=k[f+12>>2]|0;k[w+(n<<2)>>2]=q;k[w+(q<<2)>>2]=n;p=v+1|0;k[w+(u<<2)>>2]=p;k[w+(p<<2)>>2]=u;if((n|0)>=0){d=(((n|0)%3|0|0)==0?2:-1)+n|0;if((d|0)>=0){w=k[f>>2]|0;e=k[w+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;k[w+(x*12|0)+(((v|0)%3|0)<<2)>>2]=e;if((e|0)>-1){m=f+24|0;g=f+28|0;f=k[g>>2]|0;d=k[m>>2]|0;h=f-d>>2;do if(h>>>0<=e>>>0){j=e+1|0;if(j>>>0>h>>>0){ho(m,j-h|0);d=k[m>>2]|0;break}if(j>>>0>>0?(U=d+(j<<2)|0,(f|0)!=(U|0)):0)k[g>>2]=f+(~((f+-4-U|0)>>>2)<<2)}while(0);k[d+(e<<2)>>2]=v;f=k[X>>2]|0;g=1}else g=0}else{k[(k[f>>2]|0)+(x*12|0)+(((v|0)%3|0)<<2)>>2]=-1073741824;e=-1073741824;g=0}d=n+1|0;d=((d|0)%3|0|0)==0?n+-2|0:d;if((d|0)<0){n=-1073741824;t=e;d=f}else{n=k[(k[f>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;t=e;d=f}}else{k[(k[f>>2]|0)+(x*12|0)+(((v|0)%3|0)<<2)>>2]=-1073741824;n=-1073741824;t=-1073741824;d=f;g=0}k[(k[d>>2]|0)+(((v|0)<-1?-1073741824:(p|0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=d+24|0;f=d+28|0;e=k[f>>2]|0;d=k[m>>2]|0;h=e-d>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){ho(m,j-h|0);d=k[m>>2]|0;break}if(j>>>0>>0?(V=d+(j<<2)|0,(e|0)!=(V|0)):0)k[f>>2]=e+(~((e+-4-V|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=p;d=k[X>>2]|0}p=(u|0)<0;if(!p?(C=(((u|0)%3|0|0)==0?2:-1)+u|0,(C|0)>=0):0)n=k[(k[d>>2]|0)+(((C|0)/3|0)*12|0)+(((C|0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[d>>2]|0)+(((v|0)<-2?-1073741824:(q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=d+24|0;f=d+28|0;e=k[f>>2]|0;d=k[m>>2]|0;h=e-d>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){ho(m,j-h|0);d=k[m>>2]|0;break}if(j>>>0>>0?(W=d+(j<<2)|0,(e|0)!=(W|0)):0)k[f>>2]=e+(~((e+-4-W|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=q}e:do if(!p?(y=u+1|0,y=((y|0)%3|0|0)==0?u+-2|0:y,(y|0)>=0):0){d=k[(k[k[X>>2]>>2]|0)+(((y|0)/3|0)*12|0)+(((y|0)%3|0)<<2)>>2]|0;e=k[X>>2]|0;p=t+1|0;if(g)n=y;else{g=k[e>>2]|0;h=e+12|0;f=y;while(1){k[g+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]=t;x=f+1|0;f=((x|0)%3|0|0)==0?f+-2|0:x;if((f|0)<0)break e;f=k[(k[h>>2]|0)+(f<<2)>>2]|0;if((f|0)<0)break e;x=f+1|0;f=((x|0)%3|0|0)==0?f+-2|0:x;if((f|0)<=-1)break e}}do{k[(k[e>>2]|0)+(((n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=t;j=e+24|0;m=e+28|0;f=k[m>>2]|0;e=k[j>>2]|0;g=f-e>>2;do if(g>>>0<=t>>>0){h=f;if(p>>>0>g>>>0){ho(j,p-g|0);e=k[j>>2]|0;break}if(p>>>0>=g>>>0)break;f=e+(p<<2)|0;if((h|0)==(f|0))break;k[m>>2]=h+(~((h+-4-f|0)>>>2)<<2)}while(0);k[e+(t<<2)>>2]=n;f=n+1|0;f=((f|0)%3|0|0)==0?n+-2|0:f;e=k[X>>2]|0;if((f|0)<0)break e;f=k[(k[e+12>>2]|0)+(f<<2)>>2]|0;if((f|0)<0)break e;n=f+1|0;n=((n|0)%3|0|0)==0?f+-2|0:n}while((n|0)>-1)}else da=142;while(0);if((da|0)==142){da=0;e=k[X>>2]|0;d=-1073741824}k[(k[e+24>>2]|0)+(d<<2)>>2]=-1073741824;k[(k[qa>>2]|0)+-4>>2]=v;break c}case 7:{j=x*3|0;k[ka>>2]=j;e=k[X>>2]|0;m=c+1|0;d=k[e>>2]|0;k[d+(x*12|0)+(((j|0)%3|0)<<2)>>2]=c;if((c|0)>-1){h=e+24|0;f=e+28|0;e=k[f>>2]|0;d=k[h>>2]|0;g=e-d>>2;do if(g>>>0<=c>>>0){if(m>>>0>g>>>0){ho(h,m-g|0);d=k[h>>2]|0;break}if(m>>>0>>0?(Y=d+(m<<2)|0,(e|0)!=(Y|0)):0)k[f>>2]=e+(~((e+-4-Y|0)>>>2)<<2)}while(0);k[d+(c<<2)>>2]=j;e=k[X>>2]|0;f=k[ka>>2]|0;d=k[e>>2]|0}else f=j;j=f+1|0;n=c+2|0;k[d+(((f|0)<-1?-1073741824:(j|0)/3|0)*12|0)+(((j|0)%3|0)<<2)>>2]=m;if((c|0)>-2){h=e+24|0;f=e+28|0;e=k[f>>2]|0;d=k[h>>2]|0;g=e-d>>2;do if(g>>>0<=m>>>0){if(n>>>0>g>>>0){ho(h,n-g|0);d=k[h>>2]|0;break}if(n>>>0>>0?(_=d+(n<<2)|0,(e|0)!=(_|0)):0)k[f>>2]=e+(~((e+-4-_|0)>>>2)<<2)}while(0);k[d+(m<<2)>>2]=j;e=k[X>>2]|0;f=k[ka>>2]|0;d=k[e>>2]|0}j=f+2|0;c=c+3|0;k[d+(((f|0)<-2?-1073741824:(j|0)/3|0)*12|0)+(((j|0)%3|0)<<2)>>2]=n;if((n|0)>-1){h=e+24|0;f=e+28|0;e=k[f>>2]|0;d=k[h>>2]|0;g=e-d>>2;do if(g>>>0<=n>>>0){if(c>>>0>g>>>0){ho(h,c-g|0);d=k[h>>2]|0;break}if(c>>>0>>0?($=d+(c<<2)|0,(e|0)!=($|0)):0)k[f>>2]=e+(~((e+-4-$|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=j}d=k[qa>>2]|0;if((d|0)==(k[F>>2]|0))Bd(oa,ka);else{k[d>>2]=k[ka>>2];k[qa>>2]=d+4}break}default:break c}g=b-x|0;h=g+-1|0;d=k[aa>>2]|0;if((d|0)!=(k[Z>>2]|0))do{e=k[d+-8>>2]|0;if((e|0)>=(g|0)){da=188;break b}if((e|0)!=(h|0))break c;x=i[d+-4>>0]&1;f=k[d+-12>>2]|0;k[aa>>2]=d+-12;d=k[(k[qa>>2]|0)+-4>>2]|0;e=(d|0)<0;do if(!(x<<24>>24)){if(!e)if(!((d|0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}else if(!e){x=d+1|0;d=((x|0)%3|0|0)==0?d+-2|0:x}while(0);k[ka>>2]=ba-f;x=io(pa,ka)|0;k[x>>2]=d;d=k[aa>>2]|0}while((d|0)!=(k[Z>>2]|0))}else da=14}while(0);if((da|0)==14){da=0;t=k[(k[qa>>2]|0)+-4>>2]|0;u=(t|0)<0;f:do if(!u){d=t+(((t|0)%3|0|0)==0?2:-1)|0;if((d|0)<0)da=16;else{g=k[X>>2]|0;f=k[g+12>>2]|0;while(1){e=k[f+(d<<2)>>2]|0;if((e|0)<=-1){p=0;e=g;break f}d=e+(((e|0)%3|0|0)==0?2:-1)|0;if((d|0)<0){p=1;e=g;break}}}}else{d=t;da=16}while(0);if((da|0)==16){da=0;e=k[X>>2]|0;p=1;f=k[e+12>>2]|0}v=x*3|0;q=v+1|0;k[f+(t<<2)>>2]=q;k[f+(q<<2)>>2]=t;w=v+2|0;k[f+(d<<2)>>2]=w;k[f+(w<<2)>>2]=d;if(!u?(z=t+1|0,z=((z|0)%3|0|0)==0?t+-2|0:z,(z|0)>=0):0){m=k[e>>2]|0;n=k[m+(((z|0)/3|0)*12|0)+(((z|0)%3|0)<<2)>>2]|0;k[m+(x*12|0)+(((v|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=e+24|0;g=e+28|0;f=k[g>>2]|0;e=k[m>>2]|0;h=f-e>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){ho(m,j-h|0);e=k[m>>2]|0;break}if(j>>>0>>0?(H=e+(j<<2)|0,(f|0)!=(H|0)):0)k[g>>2]=f+(~((f+-4-H|0)>>>2)<<2)}while(0);k[e+(n<<2)>>2]=v;e=k[X>>2]|0}}else{k[(k[e>>2]|0)+(x*12|0)+(((v|0)%3|0)<<2)>>2]=-1073741824;n=-1073741824}if(!p?(B=d+1|0,B=((B|0)%3|0|0)==0?d+-2|0:B,(B|0)>=0):0)m=k[(k[e>>2]|0)+(((B|0)/3|0)*12|0)+(((B|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[e>>2]|0)+(((v|0)<-1?-1073741824:(q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=e+24|0;f=e+28|0;e=k[f>>2]|0;d=k[j>>2]|0;g=e-d>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);d=k[j>>2]|0;break}if(h>>>0>>0?(L=d+(h<<2)|0,(e|0)!=(L|0)):0)k[f>>2]=e+(~((e+-4-L|0)>>>2)<<2)}while(0);k[d+(m<<2)>>2]=q;d=k[X>>2]|0}else d=e;if(!u?(E=(((t|0)%3|0|0)==0?2:-1)+t|0,(E|0)>=0):0)m=k[(k[d>>2]|0)+(((E|0)/3|0)*12|0)+(((E|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[d>>2]|0)+(((v|0)<-2?-1073741824:(w|0)/3|0)*12|0)+(((w|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=d+24|0;f=d+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){ho(j,h-g|0);d=k[j>>2]|0;break}if(h>>>0>>0?(M=d+(h<<2)|0,(e|0)!=(M|0)):0)k[f>>2]=e+(~((e+-4-M|0)>>>2)<<2)}while(0);k[d+(m<<2)>>2]=w}x=(k[G>>2]|0)+(n>>>5<<2)|0;k[x>>2]=k[x>>2]&~(1<<(n&31));k[(k[qa>>2]|0)+-4>>2]=v}if((P|0)<(b|0))x=P;else{s=P;ma=c;break}}if((da|0)==188)Aa(11155,11225,82,11276);c=k[qa>>2]|0;if((c|0)!=(k[oa>>2]|0)){t=a+316|0;u=a+8|0;v=a+136|0;w=a+64|0;x=a+68|0;y=a+72|0;z=a+80|0;A=a+84|0;B=a+76|0;C=a+312|0;D=a+304|0;E=a+308|0;g:while(1){b=c;m=k[b+-4>>2]|0;k[ka>>2]=m;k[qa>>2]=b+-4;do if(i[t>>0]|0){c=k[C>>2]|0;d=(k[D>>2]|0)+(c>>>3)|0;if(d>>>0<(k[E>>2]|0)>>>0?(b=l[d>>0]|0,k[C>>2]=c+1,b&1<<(c&7)|0):0){da=202;break}c=k[x>>2]|0;d=k[y>>2]|0;if((c|0)==(d<<5|0)){if((c+1|0)<0){da=260;break g}if(d<<5>>>0>1073741822)c=2147483647;else{b=d<<6;c=c+32&-32;c=b>>>0>>0?c:b}Cd(w,c);c=k[x>>2]|0}k[x>>2]=c+1;b=(k[w>>2]|0)+(c>>>5<<2)|0;k[b>>2]=k[b>>2]&~(1<<(c&31));c=k[z>>2]|0;if((c|0)==(k[A>>2]|0)){Bd(B,ka);d=s;break}else{k[c>>2]=m;k[z>>2]=c+4;d=s;break}}else da=202;while(0);if((da|0)==202){da=0;f=(m|0)<0;h:do if(!f){c=m+(((m|0)%3|0|0)==0?2:-1)|0;if((c|0)>=0){d=k[(k[u>>2]|0)+12>>2]|0;e=c;while(1){c=k[d+(e<<2)>>2]|0;if((c|0)<=-1){d=0;c=e;break}c=c+(((c|0)%3|0|0)==0?2:-1)|0;if((c|0)<0){d=1;break}else e=c}if(f){e=m;da=209;break}}else d=1;e=m+1|0;e=((e|0)%3|0|0)==0?m+-2|0:e;if((e|0)<0)da=209;else{f=k[u>>2]|0;g=k[f+12>>2]|0;h=e;while(1){e=k[g+(h<<2)>>2]|0;if((e|0)<=-1){j=d;q=0;p=h;break h}b=e+1|0;e=((b|0)%3|0|0)==0?e+-2|0:b;if((e|0)<0){j=d;q=1;p=e;break}else h=e}}}else{d=1;c=m;e=m;da=209}while(0);if((da|0)==209){da=0;f=k[u>>2]|0;j=d;q=1;g=k[f+12>>2]|0;p=e}d=s+1|0;e=s*3|0;k[la>>2]=e;k[g+(e<<2)>>2]=m;k[g+(m<<2)>>2]=e;b=e+1|0;k[g+(b<<2)>>2]=c;k[g+(c<<2)>>2]=b;b=e+2|0;k[g+(b<<2)>>2]=p;k[g+(p<<2)>>2]=b;if(!j?(ga=c+1|0,ga=((ga|0)%3|0|0)==0?c+-2|0:ga,(ga|0)>=0):0)n=k[(k[f>>2]|0)+(((ga|0)/3|0)*12|0)+(((ga|0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[f>>2]|0)+(((s|0)<0?-1073741824:s)*12|0)+(((e|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[m>>2]|0;h=f-c>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){ho(m,j-h|0);c=k[m>>2]|0;break}if(j>>>0>>0?(ha=c+(j<<2)|0,(f|0)!=(ha|0)):0)k[g>>2]=f+(~((f+-4-ha|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=e;e=k[la>>2]|0;f=k[u>>2]|0}n=e+1|0;if(!q?(fa=p+1|0,fa=((fa|0)%3|0|0)==0?p+-2|0:fa,(fa|0)>=0):0)m=k[(k[f>>2]|0)+(((fa|0)/3|0)*12|0)+(((fa|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[f>>2]|0)+(((e|0)<-1?-1073741824:(n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=f+24|0;f=f+28|0;e=k[f>>2]|0;c=k[j>>2]|0;g=e-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(ia=c+(h<<2)|0,(e|0)!=(ia|0)):0)k[f>>2]=e+(~((e+-4-ia|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=n;e=k[la>>2]|0;f=k[u>>2]|0}n=e+2|0;c=k[ka>>2]|0;if((c|0)>=0?(ea=c+1|0,ea=((ea|0)%3|0|0)==0?c+-2|0:ea,(ea|0)>=0):0)m=k[(k[f>>2]|0)+(((ea|0)/3|0)*12|0)+(((ea|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[f>>2]|0)+(((e|0)<-2?-1073741824:(n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=f+24|0;f=f+28|0;e=k[f>>2]|0;c=k[j>>2]|0;g=e-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(ja=c+(h<<2)|0,(e|0)!=(ja|0)):0)k[f>>2]=e+(~((e+-4-ja|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=n;f=k[la>>2]|0}else f=e;if((f|0)<0)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;e=k[v>>2]|0;b=e+(c>>>5<<2)|0;k[b>>2]=k[b>>2]&~(1<<(c&31));c=f+1|0;if((f|0)<-1)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;b=e+(c>>>5<<2)|0;k[b>>2]=k[b>>2]&~(1<<(c&31));c=f+2|0;if((f|0)<-2)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;e=e+(c>>>5<<2)|0;k[e>>2]=k[e>>2]&~(1<<(c&31));c=k[x>>2]|0;e=k[y>>2]|0;if((c|0)==(e<<5|0)){if((c+1|0)<0){da=248;break}if(e<<5>>>0>1073741822)c=2147483647;else{b=e<<6;c=c+32&-32;c=b>>>0>>0?c:b}Cd(w,c);c=k[x>>2]|0}k[x>>2]=c+1;b=(k[w>>2]|0)+(c>>>5<<2)|0;k[b>>2]=k[b>>2]|1<<(c&31);c=k[z>>2]|0;if((c|0)==(k[A>>2]|0))Bd(B,la);else{k[c>>2]=f;k[z>>2]=c+4}}c=k[qa>>2]|0;if((c|0)==(k[oa>>2]|0)){ra=ma;break a}else s=d}if((da|0)==248)yp(w);else if((da|0)==260)yp(w)}else ra=ma}else ra=0;while(0);g=a+88|0;c=a+92|0;f=k[c>>2]|0;e=k[g>>2]|0;d=f-e>>2;if(ra>>>0<=d>>>0){if(ra>>>0>>0?(na=e+(ra<<2)|0,(f|0)!=(na|0)):0)k[c>>2]=f+(~((f+-4-na|0)>>>2)<<2)}else mo(g,ra-d|0);c=k[pa+8>>2]|0;if(c|0)do{na=c;c=k[c>>2]|0;Ip(na)}while((c|0)!=0);c=k[pa>>2]|0;k[pa>>2]=0;if(c|0)Ip(c);c=k[oa>>2]|0;if(!c){r=sa;return ra|0}d=k[qa>>2]|0;if((d|0)!=(c|0))k[qa>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ip(c);r=sa;return ra|0}function ho(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;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)yp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;hq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;lq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Ip(j);return}function io(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;h=i;f=k[b>>2]|0;d=k[a+4>>2]|0;a:do if(d|0){e=d+-1|0;c=(e&d|0)==0;if(c)g=e&f;else g=(f>>>0)%(d>>>0)|0;b=k[(k[a>>2]|0)+(g<<2)>>2]|0;if(b|0)if(c){do{b=k[b>>2]|0;if(!b)break a;if((k[b+4>>2]&e|0)!=(g|0))break a}while((k[b+8>>2]|0)!=(f|0));a=b+12|0;r=i;return a|0}else{do{b=k[b>>2]|0;if(!b)break a;if((((k[b+4>>2]|0)>>>0)%(d>>>0)|0|0)!=(g|0))break a}while((k[b+8>>2]|0)!=(f|0));a=b+12|0;r=i;return a|0}}while(0);g=$p(16)|0;k[g+8>>2]=f;k[g+12>>2]=0;jo(h,a,g);a=k[h>>2]|0;a=a+12|0;r=i;return a|0}function jo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0;l=k[c+8>>2]|0;q=c+4|0;k[q>>2]=l;n=b+4|0;p=k[n>>2]|0;m=(p|0)==0;a:do if(!m){j=p+-1|0;f=(j&p|0)==0;if(f)e=j&l;else e=(l>>>0)%(p>>>0)|0;d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(d)if(f){while(1){d=k[d>>2]|0;if(!d)break a;if((k[d+4>>2]&j|0)!=(e|0))break a;if((k[d+8>>2]|0)==(l|0)){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){d=k[d>>2]|0;if(!d)break a;if((((k[d+4>>2]|0)>>>0)%(p>>>0)|0|0)!=(e|0))break a;if((k[d+8>>2]|0)==(l|0)){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(m|g>+(p>>>0)*h){if(p>>>0>2)d=(p+-1&p|0)==0;else d=0;f=(d&1|p<<1)^1;d=~~+ga(+(g/h))>>>0;ko(b,f>>>0>>0?d:f);f=k[n>>2]|0;d=k[q>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}else j=p;while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function ko(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){lo(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;lo(a,b);return}function lo(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)Ip(c);k[d>>2]=0;return}m=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=m;if(c|0)Ip(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;l=b+-1|0;m=(l&b|0)==0;if(m)e=c&l;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[f>>2]|0;if(!c)return;else{g=f;d=f}a:while(1){b:do if(m){j=g;i=d;while(1){while(1){h=k[c+4>>2]&l;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((k[g>>2]|0)==(k[f+8>>2]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[j>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{j=d;i=d}}}else{j=g;i=d;while(1){while(1){h=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((k[g>>2]|0)==(k[f+8>>2]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[j>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{j=d;i=d}}}while(0);k[d>>2]=c;c=k[f>>2]|0;if(!c){c=32;break}else{g=f;d=f}}if((c|0)==32)return}function mo(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;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)yp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;hq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;lq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Ip(j);return}function no(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+32|0;s=u+8|0;n=u+4|0;o=u;c=k[b>>2]|0;k[s>>2]=c;m=a+8|0;do if((c|0)>=0){l=c+1|0;k[s+4>>2]=((l|0)%3|0|0)==0?c+-2|0:l;if(!((c|0)%3|0)){b=c+2|0;break}else{b=c+-1|0;break}}else{k[s+4>>2]=c;b=c}while(0);k[s+8>>2]=b;j=a+228|0;l=a+232|0;i=a+320|0;b=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)){f=0;do{do if(td((k[i>>2]|0)+(f<<4)|0)|0){a=k[j>>2]|0;k[o>>2]=c;d=a+(f*116|0)+108|0;e=k[d>>2]|0;if(e>>>0<(k[a+(f*116|0)+112>>2]|0)>>>0){k[e>>2]=c;k[d>>2]=e+4;break}else{De(a+(f*116|0)+104|0,o);break}}while(0);f=f+1|0}while(f>>>0<(((k[l>>2]|0)-(k[j>>2]|0)|0)/116|0)>>>0)}}else t=11;if((t|0)==11?(t=0,p=k[l>>2]|0,q=k[j>>2]|0,(p|0)!=(q|0)):0){a=q;d=p;h=0;do{e=a;k[n>>2]=c;f=e+(h*116|0)+108|0;g=k[f>>2]|0;if(g>>>0<(k[e+(h*116|0)+112>>2]|0)>>>0){k[g>>2]=c;k[f>>2]=g+4}else{De(e+(h*116|0)+104|0,n);a=k[j>>2]|0;d=k[l>>2]|0}h=h+1|0}while(h>>>0<((d-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;c=k[s+(b<<2)>>2]|0}r=u;return 1}function oo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=r;r=r+64|0;G=J+44|0;K=J+28|0;I=J+12|0;t=J+40|0;A=J+24|0;D=J;H=a+4|0;e=k[(k[H>>2]|0)+24>>2]|0;F=a+8|0;b=k[F>>2]|0;b=((k[b+4>>2]|0)-(k[b>>2]|0)|0)/12|0;c=e+80|0;e=e+84|0;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;h=k[e>>2]|0;g=k[c>>2]|0;f=(h-g|0)/12|0;if(b>>>0<=f>>>0){if(b>>>0>>0?(i=g+(b*12|0)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~(((h+-12-i|0)>>>0)/12|0)*12|0)}else po(c,b-f|0,G);y=a+228|0;z=a+232|0;if((k[z>>2]|0)==(k[y>>2]|0)){b=k[F>>2]|0;b=(k[b+28>>2]|0)-(k[b+24>>2]|0)|0;c=b>>2;k[K>>2]=0;p=K+4|0;k[p>>2]=0;k[K+8>>2]=0;do if(c)if(c>>>0>1073741823)yp(K);else{d=$p(b)|0;k[K>>2]=d;E=d+(c<<2)|0;k[K+8>>2]=E;hq(d|0,-1,b|0)|0;k[p>>2]=E;break}else d=0;while(0);e=k[H>>2]|0;b=k[e+24>>2]|0;f=k[b+84>>2]|0;c=k[b+80>>2]|0;if((f-c|0)>0){n=I+4|0;o=I+8|0;j=b;d=c;c=e;l=e;m=0;b=0;while(1){k[I>>2]=0;k[I+4>>2]=0;k[I+8>>2]=0;h=m*3|0;if((m|0)<0)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(m*12|0)+(((h|0)%3|0)<<2)>>2]|0;i=k[K>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;a=b;b=b+1|0}else a=g;k[I>>2]=a;e=h+1|0;if((h|0)<-1)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;g=b;b=b+1|0}k[n>>2]=g;e=h+2|0;if((h|0)<-2)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;g=b;b=b+1|0}k[o>>2]=g;h=j+80|0;g=j+84|0;e=(f-d|0)/12|0;i=m;m=m+1|0;do if((i|0)>=(e|0)){k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;if(m>>>0>e>>>0){po(h,m-e|0,G);c=k[H>>2]|0;d=k[h>>2]|0;e=c;break}if(m>>>0>>0?(q=d+(m*12|0)|0,(f|0)!=(q|0)):0){k[g>>2]=f+(~(((f+-12-q|0)>>>0)/12|0)*12|0);e=l}else e=l}else e=l;while(0);k[d+(i*12|0)>>2]=a;k[d+(i*12|0)+4>>2]=k[n>>2];k[d+(i*12|0)+8>>2]=k[o>>2];j=k[e+24>>2]|0;f=k[j+84>>2]|0;d=k[j+80>>2]|0;if((m|0)>=((f-d|0)/12|0|0))break;else l=e}d=k[K>>2]|0}else{c=e;b=0}k[(k[c+4>>2]|0)+64>>2]=b;b=d;if(d|0){c=k[p>>2]|0;if((c|0)!=(d|0))k[p>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ip(d)}r=J;return 1}k[K>>2]=0;E=K+4|0;k[E>>2]=0;k[K+8>>2]=0;b=k[F>>2]|0;q=k[b+4>>2]|0;s=k[b>>2]|0;c=q-s|0;d=((c|0)/12|0)*3|0;k[I>>2]=0;B=I+4|0;k[B>>2]=0;k[I+8>>2]=0;do if((q|0)!=(s|0))if(d>>>0>1073741823)yp(I);else{s=$p(c)|0;k[I>>2]=s;j=s+(d<<2)|0;k[I+8>>2]=j;hq(s|0,0,c|0)|0;k[B>>2]=j;j=k[F>>2]|0;break}else j=b;while(0);a:do if(((k[j+28>>2]|0)-(k[j+24>>2]|0)|0)>0){q=a+136|0;s=K+8|0;p=0;b:while(1){f=k[(k[j+24>>2]|0)+(p<<2)>>2]|0;if((f|0)>=0){c:do if((k[(k[q>>2]|0)+(p>>>5<<2)>>2]&1<<(p&31)|0)==0?(u=k[z>>2]|0,v=k[y>>2]|0,w=v,(u|0)!=(v|0)):0){g=(f|0)/3|0;h=(f|0)%3|0;e=((h|0)==0?2:-1)+f|0;i=(e|0)<0;a=(u-v|0)/116|0;l=j+12|0;m=j+12|0;o=0;d:while(1){n=k[(k[k[w+(o*116|0)+68>>2]>>2]|0)+(g*12|0)+(h<<2)>>2]|0;if(1<<(n&31)&k[(k[w+(o*116|0)+16>>2]|0)+(n>>>5<<2)>>2]|0){n=k[w+(o*116|0)+32>>2]|0;d=k[n+(f<<2)>>2]|0;do if(!i){c=k[(k[l>>2]|0)+(e<<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=e;while(0);if((c|0)!=(f|0))do{b=k[n+(c<<2)>>2]|0;if((c|0)<0)break d;if((b|0)!=(d|0))break c;c=(((c|0)%3|0|0)==0?2:-1)+c|0;do if((c|0)>=0){c=k[(k[m>>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)}while((c|0)!=(f|0))}o=o+1|0;if(o>>>0>=a>>>0){c=f;break c}}while(1)if((b|0)==(d|0))b=d;else break}else c=f;while(0);b=k[E>>2]|0;k[(k[I>>2]|0)+(c<<2)>>2]=b-(k[K>>2]|0)>>2;k[t>>2]=c;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=c;k[E>>2]=b+4;b=j}else{De(K,t);b=k[F>>2]|0}do if((c|0)>=0){f=(((c|0)%3|0|0)==0?2:-1)+c|0;if((f|0)>=0){f=k[(k[b+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=c;while(0);if((f|0)>-1&(f|0)!=(c|0)){b=c;while(1){if((f|0)<0)break b;d=k[z>>2]|0;e=k[y>>2]|0;g=e;e:do if((d|0)!=(e|0)){d=(d-e|0)/116|0;e=0;while(1){o=k[g+(e*116|0)+32>>2]|0;e=e+1|0;if((k[o+(f<<2)>>2]|0)!=(k[o+(b<<2)>>2]|0))break;if(e>>>0>=d>>>0){x=87;break e}}b=k[E>>2]|0;k[(k[I>>2]|0)+(f<<2)>>2]=b-(k[K>>2]|0)>>2;k[A>>2]=f;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=f;k[E>>2]=b+4;break}else{De(K,A);break}}else x=87;while(0);if((x|0)==87){x=0;o=k[I>>2]|0;k[o+(f<<2)>>2]=k[o+(b<<2)>>2]}b=(((f|0)%3|0|0)==0?2:-1)+f|0;do if((b|0)>=0){b=k[(k[(k[F>>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}}while(0);if((b|0)>-1&(b|0)!=(c|0)){o=f;f=b;b=o}else break}}}p=p+1|0;j=k[F>>2]|0;if((p|0)>=((k[j+28>>2]|0)-(k[j+24>>2]|0)>>2|0))break a}f:while(1){c=k[z>>2]|0;d=k[y>>2]|0;e=d;g:do if((c|0)!=(d|0)){c=(c-d|0)/116|0;d=0;while(1){J=k[e+(d*116|0)+32>>2]|0;d=d+1|0;if((k[J+(f<<2)>>2]|0)!=(k[J+(b<<2)>>2]|0))break;if(d>>>0>=c>>>0)break g}b=k[E>>2]|0;k[(k[I>>2]|0)+(f<<2)>>2]=b-(k[K>>2]|0)>>2;k[A>>2]=f;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=f;k[E>>2]=b+4;b=f;continue f}else{De(K,A);b=f;continue f}}while(0);J=k[I>>2]|0;k[J+(f<<2)>>2]=k[J+(b<<2)>>2];b=f}}while(0);c=k[H>>2]|0;b=k[c+24>>2]|0;e=k[b+84>>2]|0;d=k[b+80>>2]|0;if((e-d|0)>0){j=D+4|0;l=D+8|0;i=c;f=c;a=0;while(1){k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;g=(k[I>>2]|0)+(a*3<<2)|0;k[D>>2]=k[g>>2];k[D+4>>2]=k[g+4>>2];k[D+8>>2]=k[g+8>>2];g=b+80|0;b=b+84|0;c=(e-d|0)/12|0;h=a;a=a+1|0;do if((h|0)>=(c|0)){k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;if(a>>>0>c>>>0){po(g,a-c|0,G);c=k[H>>2]|0;d=k[g>>2]|0;f=c;break}if(a>>>0>>0?(C=d+(a*12|0)|0,(e|0)!=(C|0)):0){k[b>>2]=e+(~(((e+-12-C|0)>>>0)/12|0)*12|0);c=i}else c=i}else c=i;while(0);k[d+(h*12|0)>>2]=k[D>>2];k[d+(h*12|0)+4>>2]=k[j>>2];k[d+(h*12|0)+8>>2]=k[l>>2];b=k[f+24>>2]|0;e=k[b+84>>2]|0;d=k[b+80>>2]|0;if((a|0)>=((e-d|0)/12|0|0))break;else i=c}}b=k[K>>2]|0;k[(k[c+4>>2]|0)+64>>2]=(k[E>>2]|0)-b>>2;c=k[I>>2]|0;d=c;if(c){b=k[B>>2]|0;if((b|0)!=(c|0))k[B>>2]=b+(~((b+-4-d|0)>>>2)<<2);Ip(c);b=k[K>>2]|0}c=b;if(b|0){d=k[E>>2]|0;if((d|0)!=(b|0))k[E>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ip(b)}r=J;return 1}function po(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;e=k[i>>2]|0;j=a+4|0;d=k[j>>2]|0;if(((e-d|0)/12|0)>>>0>=b>>>0){do{k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];k[d+8>>2]=k[c+8>>2];d=(k[j>>2]|0)+12|0;k[j>>2]=d;b=b+-1|0}while((b|0)!=0);return}g=k[a>>2]|0;f=((d-g|0)/12|0)+b|0;if(f>>>0>357913941)yp(a);d=(e-g|0)/12|0;if(d>>>0<178956970){d=d<<1;d=d>>>0>>0?f:d;e=((k[j>>2]|0)-g|0)/12|0;if(!d){g=0;f=0;d=e}else h=9}else{d=357913941;e=((k[j>>2]|0)-g|0)/12|0;h=9}if((h|0)==9){g=d;f=$p(d*12|0)|0;d=e}h=f+(d*12|0)|0;f=f+(g*12|0)|0;e=h;d=h;do{k[e>>2]=k[c>>2];k[e+4>>2]=k[c+4>>2];k[e+8>>2]=k[c+8>>2];e=d+12|0;d=e;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;g=(k[j>>2]|0)-b|0;c=h+(((g|0)/-12|0)*12|0)|0;lq(c|0,b|0,g|0)|0;k[a>>2]=c;k[j>>2]=d;k[i>>2]=f;if(!b)return;Ip(b);return}function qo(a){a=a|0;return 1}function ro(a){a=a|0;return k[a+4>>2]|0}function so(a){a=a|0;return k[a+8>>2]|0}function to(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4672;rd(a+352|0);b=k[a+340>>2]|0;c=b;if(b|0){d=a+344|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}e=a+320|0;c=k[e>>2]|0;k[e>>2]=0;if(c|0){d=c+-4|0;b=k[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;rd(b)}while((b|0)!=(c|0))}cq(d)}Ng(a+304|0);Ng(a+264|0);uo(a+228|0);b=k[a+212>>2]|0;c=b;if(b|0){d=a+216|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+200>>2]|0;c=b;if(b|0){d=a+204|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+188>>2]|0;c=b;if(b|0){d=a+192|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+176>>2]|0;c=b;if(b|0){d=a+180|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+160>>2]|0;if(b|0)do{e=b;b=k[b>>2]|0;Ip(e)}while((b|0)!=0);e=a+152|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)Ip(b);b=k[a+136>>2]|0;if(b|0)Ip(b);b=k[a+124>>2]|0;if(b|0)Ip(b);b=k[a+112>>2]|0;if(b|0)Ip(b);b=k[a+88>>2]|0;c=b;if(b|0){d=a+92|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}e=k[a+76>>2]|0;b=e;if(e|0){c=a+80|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ip(e)}b=k[a+64>>2]|0;if(b|0)Ip(b);b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+36>>2]|0;c=b;if(b|0){d=a+40|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);Ip(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}a=a+8|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Fd(b);Ip(b);return}function uo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a>>2]|0;if(!b)return;h=a+4|0;c=k[h>>2]|0;if((c|0)!=(b|0)){do{k[h>>2]=c+-116;g=k[c+-12>>2]|0;d=g;if(g|0){e=c+-8|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(g)}d=k[c+-28>>2]|0;e=d;if(d|0){f=c+-24|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ip(d)}d=k[c+-40>>2]|0;e=d;if(d|0){f=c+-36|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ip(d)}tn(c+-112|0);c=k[h>>2]|0}while((c|0)!=(b|0));b=k[a>>2]|0}Ip(b);return}function vo(a){a=a|0;to(a);Ip(a);return}function wo(a,b){a=a|0;b=b|0;k[a+4>>2]=b;return 1}function xo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;h=d;if((c|0)==(d|0)){j=0;return j|0}g=k[(k[a+4>>2]|0)+8>>2]|0;e=(c-d|0)/116|0;a=0;a:while(1){c=k[g+(k[h+(a*116|0)>>2]<<2)>>2]|0;f=k[c+4>>2]|0;c=(k[c+8>>2]|0)-f|0;if((c|0)>0){c=c>>2;d=0;do{if((k[f+(d<<2)>>2]|0)==(b|0))break a;d=d+1|0}while((d|0)<(c|0))}a=a+1|0;if(a>>>0>=e>>>0){a=0;j=9;break}}if((j|0)==9)return a|0;j=(i[h+(a*116|0)+72>>0]|0)==0?0:h+(a*116|0)+4|0;return j|0}function yo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;i=d;a:do if((c|0)!=(d|0)){h=k[(k[a+4>>2]|0)+8>>2]|0;f=(c-d|0)/116|0;c=0;b:while(1){d=k[h+(k[i+(c*116|0)>>2]<<2)>>2]|0;g=k[d+4>>2]|0;d=(k[d+8>>2]|0)-g|0;if((d|0)>0){d=d>>2;e=0;do{if((k[g+(e<<2)>>2]|0)==(b|0))break b;e=e+1|0}while((e|0)<(d|0))}c=c+1|0;if(c>>>0>=f>>>0)break a}i=i+(c*116|0)+76|0;return i|0}while(0);i=a+200|0;return i|0}function zo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+208|0;t=z+168|0;v=z+36|0;u=z;p=z+136|0;q=z+104|0;w=z+32|0;x=a+4|0;l=k[x>>2]|0;c=k[l+20>>2]|0;f=c+8|0;e=k[f>>2]|0;f=k[f+4>>2]|0;g=c+16|0;j=g;h=k[j>>2]|0;j=k[j+4>>2]|0;if(!((f|0)>(j|0)|(f|0)==(j|0)&e>>>0>h>>>0)){b=0;r=z;return b|0}c=k[c>>2]|0;m=i[c+h>>0]|0;d=jq(h|0,j|0,1,0)|0;s=L;o=g;k[o>>2]=d;k[o+4>>2]=s;if(!((f|0)>(s|0)|(f|0)==(s|0)&e>>>0>d>>>0)){b=0;r=z;return b|0}c=i[c+d>>0]|0;o=jq(h|0,j|0,2,0)|0;s=g;k[s>>2]=o;k[s+4>>2]=L;if(m<<24>>24>-1)k[(k[a+228>>2]|0)+((m<<24>>24)*116|0)>>2]=b;s=k[l+24>>2]|0;if(!(c<<24>>24)){if(m<<24>>24<0)g=a+200|0;else{g=m<<24>>24;q=k[a+228>>2]|0;i[q+(g*116|0)+72>>0]=0;g=q+(g*116|0)+76|0}c=$p(88)|0;k[c+4>>2]=0;k[c>>2]=4580;h=c+12|0;k[h>>2]=4604;j=c+64|0;k[j>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;f=c+16|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));k[c+76>>2]=s;k[c+80>>2]=g;k[c+84>>2]=0;n=v+4|0;k[n>>2]=4604;l=v+56|0;k[l>>2]=0;o=v+60|0;k[o>>2]=0;k[v+64>>2]=0;f=v+8|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));e=k[a+8>>2]|0;k[u>>2]=4604;d=u+4|0;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;f=e;k[d>>2]=f;f=((k[f+4>>2]|0)-(k[e>>2]|0)|0)/12|0;i[t>>0]=0;Cg(u+8|0,f,t);ab[k[(k[u>>2]|0)+8>>2]&127](u);In(p,u);In(t,p);k[v>>2]=k[t+4>>2];f=v+4|0;Ln(f,t)|0;k[t>>2]=4604;d=k[t+20>>2]|0;if(d|0)Ip(d);d=k[t+8>>2]|0;if(d|0)Ip(d);k[v+36>>2]=e;k[v+40>>2]=g;k[v+44>>2]=s;k[v+48>>2]=c;k[p>>2]=4604;d=k[p+20>>2]|0;if(d|0)Ip(d);d=k[p+8>>2]|0;if(d|0)Ip(d);k[c+8>>2]=k[v>>2];Ln(h,f)|0;d=c+44|0;t=v+36|0;k[d>>2]=k[t>>2];k[d+4>>2]=k[t+4>>2];k[d+8>>2]=k[t+8>>2];k[d+12>>2]=k[t+12>>2];i[d+16>>0]=i[t+16>>0]|0;Mn(j,k[l>>2]|0,k[o>>2]|0);k[u>>2]=4604;d=k[u+20>>2]|0;if(d|0)Ip(d);d=k[u+8>>2]|0;if(d|0)Ip(d);d=k[l>>2]|0;e=d;if(d|0){f=k[o>>2]|0;if((f|0)!=(d|0))k[o>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}k[n>>2]=4604;d=k[v+24>>2]|0;if(d|0)Ip(d);d=k[v+12>>2]|0;if(d|0)Ip(d)}else{c=$p(88)|0;e=m<<24>>24;d=k[a+228>>2]|0;g=d+(e*116|0)+76|0;k[c+4>>2]=0;k[c>>2]=4628;h=c+12|0;k[h>>2]=4652;j=c+64|0;k[j>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;f=c+16|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));k[c+76>>2]=s;k[c+80>>2]=g;k[c+84>>2]=0;n=v+4|0;k[n>>2]=4652;l=v+56|0;k[l>>2]=0;o=v+60|0;k[o>>2]=0;k[v+64>>2]=0;f=v+8|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));f=d+(e*116|0)+4|0;k[u>>2]=4652;p=u+4|0;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;k[p+24>>2]=0;k[p>>2]=f;e=k[d+(e*116|0)+68>>2]|0;e=((k[e+4>>2]|0)-(k[e>>2]|0)|0)/12|0;i[t>>0]=0;Cg(u+8|0,e,t);ab[k[(k[u>>2]|0)+8>>2]&127](u);Wn(q,u);Wn(t,q);k[v>>2]=k[t+4>>2];e=v+4|0;Xn(e,t)|0;k[t>>2]=4652;d=k[t+20>>2]|0;if(d|0)Ip(d);d=k[t+8>>2]|0;if(d|0)Ip(d);k[v+36>>2]=f;k[v+40>>2]=g;k[v+44>>2]=s;k[v+48>>2]=c;k[q>>2]=4652;d=k[q+20>>2]|0;if(d|0)Ip(d);d=k[q+8>>2]|0;if(d|0)Ip(d);k[c+8>>2]=k[v>>2];Xn(h,e)|0;d=c+44|0;t=v+36|0;k[d>>2]=k[t>>2];k[d+4>>2]=k[t+4>>2];k[d+8>>2]=k[t+8>>2];k[d+12>>2]=k[t+12>>2];i[d+16>>0]=i[t+16>>0]|0;Mn(j,k[l>>2]|0,k[o>>2]|0);k[u>>2]=4652;d=k[u+20>>2]|0;if(d|0)Ip(d);d=k[u+8>>2]|0;if(d|0)Ip(d);d=k[l>>2]|0;e=d;if(d|0){f=k[o>>2]|0;if((f|0)!=(d|0))k[o>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}k[n>>2]=4652;d=k[v+24>>2]|0;if(d|0)Ip(d);d=k[v+12>>2]|0;if(d|0)Ip(d)}j=$p(52)|0;k[w>>2]=c;Ck(j,w);c=k[w>>2]|0;k[w>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);h=k[x>>2]|0;g=h+8|0;h=h+12|0;c=k[h>>2]|0;d=k[g>>2]|0;e=c-d>>2;do if(e>>>0<=b>>>0){f=b+1|0;if(f>>>0>e>>>0){Kk(g,f-e|0);break}if(f>>>0>>0?(y=d+(f<<2)|0,(c|0)!=(y|0)):0)do{x=c+-4|0;k[h>>2]=x;c=k[x>>2]|0;k[x>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[h>>2]|0}while((c|0)!=(y|0))}while(0);b=(k[g>>2]|0)+(b<<2)|0;c=k[b>>2]|0;k[b>>2]=j;if(!c){b=1;r=z;return b|0}ab[k[(k[c>>2]|0)+4>>2]&127](c);b=1;r=z;return b|0}function Ao(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+96|0;w=B+88|0;q=B+92|0;A=B+40|0;z=B;t=B+84|0;x=B+80|0;o=a+148|0;k[o>>2]=0;e=a+164|0;if(k[e>>2]|0){c=a+160|0;b=k[c>>2]|0;if(b|0)do{y=b;b=k[b>>2]|0;Ip(y)}while((b|0)!=0);k[c>>2]=0;b=k[a+156>>2]|0;if(b|0){c=a+152|0;d=0;do{k[(k[c>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(b|0))}k[e>>2]=0}s=a+4|0;b=k[(k[s>>2]|0)+20>>2]|0;m=b+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;n=b+16|0;g=n;f=k[g>>2]|0;g=k[g+4>>2]|0;d=jq(f|0,g|0,4,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){A=0;r=B;return A|0}h=k[b>>2]|0;e=h+f|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;b=n;k[b>>2]=d;k[b+4>>2]=c;k[o>>2]=e;e=jq(f|0,g|0,8,0)|0;b=L;if((m|0)<(b|0)|(m|0)==(b|0)&j>>>0>>0){A=0;r=B;return A|0}c=h+d|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;p=n;k[p>>2]=e;k[p+4>>2]=b;p=a+172|0;k[p>>2]=c;b=jq(f|0,g|0,12,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){A=0;r=B;return A|0}j=h+e|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;d=n;k[d>>2]=b;k[d+4>>2]=c;b=k[a+24>>2]|0;c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);y=a+8|0;b=$p(60)|0;zd(b);c=k[y>>2]|0;k[y>>2]=b;if(c){Fd(c);Ip(c);b=k[y>>2]|0;if(!b){A=0;r=B;return A|0}}Gd(b,j);f=a+176|0;g=k[f>>2]|0;h=a+180|0;b=k[h>>2]|0;c=g;if((b|0)!=(g|0)){b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[h>>2]=b}e=a+184|0;if((k[e>>2]|0)-c>>2>>>0>>0){b=b-c|0;c=b>>2;if(!j)d=0;else d=$p(j<<2)|0;v=d+(c<<2)|0;u=v+(0-c<<2)|0;lq(u|0,g|0,b|0)|0;k[f>>2]=u;k[h>>2]=v;k[e>>2]=d+(j<<2);if(g|0)Ip(g)}f=a+188|0;g=k[f>>2]|0;h=a+192|0;b=k[h>>2]|0;c=g;if((b|0)!=(g|0)){b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[h>>2]=b}e=a+196|0;if((k[e>>2]|0)-c>>2>>>0>>0){b=b-c|0;c=b>>2;if(!j)d=0;else d=$p(j<<2)|0;v=d+(c<<2)|0;u=v+(0-c<<2)|0;lq(u|0,g|0,b|0)|0;k[f>>2]=u;k[h>>2]=v;k[e>>2]=d+(j<<2);if(g|0)Ip(g)}b=k[a+36>>2]|0;c=a+40|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);b=k[a+48>>2]|0;c=a+52|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+68>>2]=0;b=k[a+76>>2]|0;c=a+80|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+60>>2]=0;k[a+100>>2]=-1;k[a+108>>2]=-1;k[a+104>>2]=-1;b=k[(k[s>>2]|0)+20>>2]|0;v=b+8|0;u=k[v+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((u|0)>(e|0)|((u|0)==(e|0)?(k[v>>2]|0)>>>0>d>>>0:0))){A=0;r=B;return A|0}h=i[(k[b>>2]|0)+d>>0]|0;g=jq(d|0,e|0,1,0)|0;u=c;k[u>>2]=g;k[u+4>>2]=L;u=a+228|0;g=k[u>>2]|0;v=a+232|0;b=k[v>>2]|0;if((b|0)!=(g|0))do{k[v>>2]=b+-116;c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}tn(b+-112|0);b=k[v>>2]|0}while((b|0)!=(g|0));o=h<<24>>24;Bo(u,o);b=k[(k[s>>2]|0)+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=k[d+4>>2]|0;m=jq(c|0,d|0,4,0)|0;e=L;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){A=0;r=B;return A|0}f=k[b>>2]|0;n=f+c|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;b=j;k[b>>2]=m;k[b+4>>2]=e;b=jq(c|0,d|0,8,0)|0;c=L;if((h|0)<(c|0)|(h|0)==(c|0)&g>>>0>>0){A=0;r=B;return A|0}m=f+m|0;m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;h=j;k[h>>2]=b;k[h+4>>2]=c;h=a+136|0;b=(k[p>>2]|0)+m|0;i[q>>0]=1;Cg(h,b,q);b=k[(k[s>>2]|0)+20>>2]|0;m=b+8|0;q=k[m>>2]|0;m=k[m+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=jq(d|0,k[e+4>>2]|0,4,0)|0;f=L;if((m|0)<(f|0)|(m|0)==(f|0)&q>>>0>>0)b=0;else{b=(k[b>>2]|0)+d|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;q=c;k[q>>2]=e;k[q+4>>2]=f}Og(A);m=k[(k[s>>2]|0)+20>>2]|0;g=m+16|0;f=k[g>>2]|0;q=(k[m>>2]|0)+f+b|0;m=m+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;b=jq(f|0,k[g+4>>2]|0,b|0,0)|0;b=gq(j|0,m|0,b|0,L|0)|0;Pg(A,q,b);b=Fo(a,A)|0;if((b|0)==-1)b=0;else{c=a+240|0;k[a+328>>2]=a;m=(cb[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;m=k[m>>2]|0;j=k[m>>2]|0;m=k[m+16>>2]|0;q=(cb[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;q=k[q>>2]|0;g=q+8|0;q=q+16|0;q=gq(k[g>>2]|0,k[g+4>>2]|0,k[q>>2]|0,k[q+4>>2]|0)|0;Pg(c,j+m|0,q);q=cb[k[(k[a>>2]|0)+36>>2]&127](a)|0;k[a+332>>2]=q;k[a+336>>2]=k[p>>2];k[a+324>>2]=o;Go(z,c);if((Ho(a,n)|0)==-1)b=0;else{o=k[(k[s>>2]|0)+20>>2]|0;q=z+16|0;n=k[q>>2]|0;p=(k[z>>2]|0)+n|0;m=z+8|0;q=gq(k[m>>2]|0,k[m+4>>2]|0,n|0,k[q+4>>2]|0)|0;Pg(o,p,q);s=(k[(k[s>>2]|0)+20>>2]|0)+16|0;q=s;q=jq(k[q>>2]|0,k[q+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[s>>2]=q;k[s+4>>2]=L;do if((k[v>>2]|0)!=(k[u>>2]|0)){s=k[y>>2]|0;if(((k[s+4>>2]|0)-(k[s>>2]|0)|0)<=0)break;b=0;do{k[t>>2]=b;k[w>>2]=k[t>>2];Jo(a,w)|0;b=b+3|0;s=k[y>>2]|0}while((b|0)<((((k[s+4>>2]|0)-(k[s>>2]|0)|0)/12|0)*3|0))}while(0);Rg(c);Rg(a+280|0);c=k[y>>2]|0;f=k[c+28>>2]|0;g=k[c+24>>2]|0;q=g;if((f-g|0)>0){j=k[h>>2]|0;m=f-g>>2;n=c+12|0;p=0;do{do if(k[j+(p>>>5<<2)>>2]&1<<(p&31)|0){o=q+(p<<2)|0;b=k[o>>2]|0;if((b|0)<0)break;d=b+1|0;d=((d|0)%3|0|0)==0?b+-2|0:d;if((d|0)>=0){h=k[n>>2]|0;d=k[h+(d<<2)>>2]|0;a:do if((d|0)<0)e=b;else{t=d+1|0;d=((t|0)%3|0|0)==0?d+-2|0:t;if((d|0)>-1&(d|0)!=(b|0))e=d;else{e=b;break}while(1){d=e+1|0;d=((d|0)%3|0|0)==0?e+-2|0:d;if((d|0)<0)break a;d=k[h+(d<<2)>>2]|0;if((d|0)<0)break a;t=d+1|0;d=((t|0)%3|0|0)==0?d+-2|0:t;if((d|0)>-1&(d|0)!=(b|0))e=d;else break}}while(0);if((d|0)==(b|0))break;else b=e}k[o>>2]=b}while(0);p=p+1|0}while((p|0)<(m|0))}d=k[v>>2]|0;t=k[u>>2]|0;b=t;if((d|0)==(t|0))c=d;else{f=0;do{Bg(b+(f*116|0)+4|0,c)|0;b=k[u>>2]|0;c=k[b+(f*116|0)+104>>2]|0;d=k[b+(f*116|0)+108>>2]|0;if((c|0)!=(d|0))do{k[x>>2]=k[c>>2];k[w>>2]=k[x>>2];Jg(b+(f*116|0)+4|0,w);c=c+4|0;b=k[u>>2]|0}while((c|0)!=(d|0));Ig(b+(f*116|0)+4|0,0,0);f=f+1|0;d=k[v>>2]|0;e=k[u>>2]|0;b=e;c=k[y>>2]|0}while(f>>>0<((d-e|0)/116|0)>>>0);g=k[c+24>>2]|0;f=k[c+28>>2]|0;c=e}e=f-g>>2;f=a+212|0;j=a+216|0;m=k[j>>2]|0;h=k[f>>2]|0;g=m-h>>2;do if(e>>>0>g>>>0){Wg(f,e-g|0);b=k[u>>2]|0;d=k[v>>2]|0;c=b}else{if(e>>>0>=g>>>0)break;e=h+(e<<2)|0;if((m|0)==(e|0))break;k[j>>2]=m+(~((m+-4-e|0)>>>2)<<2)}while(0);if((d|0)!=(c|0)){m=0;while(1){f=(k[b+(m*116|0)+60>>2]|0)-(k[b+(m*116|0)+56>>2]|0)>>2;g=k[y>>2]|0;g=(k[g+28>>2]|0)-(k[g+24>>2]|0)>>2;f=(f|0)<(g|0)?g:f;g=b+(m*116|0)+88|0;h=b+(m*116|0)+92|0;j=k[h>>2]|0;e=k[g>>2]|0;b=j-e>>2;do if(f>>>0>b>>>0){Wg(g,f-b|0);c=k[u>>2]|0;d=k[v>>2]|0}else{if(f>>>0>=b>>>0)break;b=e+(f<<2)|0;if((j|0)==(b|0))break;k[h>>2]=j+(~((j+-4-b|0)>>>2)<<2)}while(0);m=m+1|0;if(m>>>0>=((d-c|0)/116|0)>>>0)break;else b=c}}Ko(a)|0;b=1}Ng(z+24|0)}Ng(A+24|0);A=b;r=B;return A|0}function Bo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=a+4|0;e=k[g>>2]|0;c=k[a>>2]|0;d=(e-c|0)/116|0;if(d>>>0>>0){Co(a,b-d|0);return}if(d>>>0<=b>>>0)return;f=c+(b*116|0)|0;if((e|0)==(f|0))return;do{k[g>>2]=e+-116;c=k[e+-12>>2]|0;d=c;if(c|0){b=e+-8|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Ip(c)}c=k[e+-28>>2]|0;d=c;if(c|0){b=e+-24|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Ip(c)}c=k[e+-40>>2]|0;d=c;if(c|0){b=e+-36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Ip(c)}tn(e+-112|0);e=k[g>>2]|0}while((e|0)!=(f|0));return}function Co(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;o=r;r=r+32|0;m=o;l=a+8|0;d=k[l>>2]|0;n=a+4|0;c=k[n>>2]|0;if(((d-c|0)/116|0)>>>0>=b>>>0){do{k[c>>2]=-1;Ag(c+4|0);i[c+72>>0]=1;e=c+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c=(k[n>>2]|0)+116|0;k[n>>2]=c;b=b+-1|0}while((b|0)!=0);r=o;return}f=k[a>>2]|0;e=((c-f|0)/116|0)+b|0;if(e>>>0>37025580)yp(a);c=(d-f|0)/116|0;if(c>>>0<18512790){j=c<<1;e=j>>>0>>0?e:j}else e=37025580;c=((k[n>>2]|0)-f|0)/116|0;k[m+12>>2]=0;k[m+16>>2]=a+8;if(!e)d=0;else d=$p(e*116|0)|0;k[m>>2]=d;c=d+(c*116|0)|0;g=m+8|0;k[g>>2]=c;h=m+4|0;k[h>>2]=c;j=m+12|0;k[j>>2]=d+(e*116|0);d=c;do{k[d>>2]=-1;Ag(d+4|0);i[d+72>>0]=1;e=d+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));d=d+116|0;k[g>>2]=d;b=b+-1|0}while((b|0)!=0);d=k[a>>2]|0;b=k[n>>2]|0;if((b|0)!=(d|0)){do{c=c+-116|0;b=b+-116|0;Do(c,b)}while((b|0)!=(d|0));k[h>>2]=c;d=k[a>>2]|0;b=k[n>>2]|0}k[a>>2]=c;k[h>>2]=d;k[n>>2]=k[g>>2];k[g>>2]=b;n=k[l>>2]|0;k[l>>2]=k[j>>2];k[j>>2]=n;k[m>>2]=k[h>>2];Eo(m);r=o;return}function Do(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;k[a>>2]=k[b>>2];c=b+4|0;k[a+4>>2]=k[c>>2];d=b+8|0;k[a+8>>2]=k[d>>2];e=b+12|0;k[a+12>>2]=k[e>>2];k[c>>2]=0;k[d>>2]=0;k[e>>2]=0;e=b+16|0;k[a+16>>2]=k[e>>2];d=b+20|0;k[a+20>>2]=k[d>>2];c=b+24|0;k[a+24>>2]=k[c>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;i[a+28>>0]=i[b+28>>0]|0;c=a+32|0;d=b+32|0;k[c>>2]=0;e=a+36|0;k[e>>2]=0;k[a+40>>2]=0;k[c>>2]=k[d>>2];c=b+36|0;k[e>>2]=k[c>>2];e=b+40|0;k[a+40>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;d=a+44|0;c=b+44|0;k[d>>2]=0;e=a+48|0;k[e>>2]=0;k[a+52>>2]=0;k[d>>2]=k[c>>2];d=b+48|0;k[e>>2]=k[d>>2];e=b+52|0;k[a+52>>2]=k[e>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;c=a+56|0;d=b+56|0;k[c>>2]=0;e=a+60|0;k[e>>2]=0;k[a+64>>2]=0;k[c>>2]=k[d>>2];c=b+60|0;k[e>>2]=k[c>>2];e=b+64|0;k[a+64>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;k[a+68>>2]=k[b+68>>2];i[a+72>>0]=i[b+72>>0]|0;d=a+76|0;c=b+76|0;k[d>>2]=0;e=a+80|0;k[e>>2]=0;k[a+84>>2]=0;k[d>>2]=k[c>>2];d=b+80|0;k[e>>2]=k[d>>2];e=b+84|0;k[a+84>>2]=k[e>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;c=a+88|0;d=b+88|0;k[c>>2]=0;e=a+92|0;k[e>>2]=0;k[a+96>>2]=0;k[c>>2]=k[d>>2];c=b+92|0;k[e>>2]=k[c>>2];e=b+96|0;k[a+96>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;k[a+100>>2]=k[b+100>>2];d=a+104|0;c=b+104|0;k[d>>2]=0;e=a+108|0;k[e>>2]=0;k[a+112>>2]=0;k[d>>2]=k[c>>2];d=b+108|0;k[e>>2]=k[d>>2];b=b+112|0;k[a+112>>2]=k[b>>2];k[b>>2]=0;k[d>>2]=0;k[c>>2]=0;return}function Eo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=k[a+4>>2]|0;h=a+8|0;b=k[h>>2]|0;if((b|0)!=(g|0))do{k[h>>2]=b+-116;f=k[b+-12>>2]|0;c=f;if(f|0){d=b+-8|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(f)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}tn(b+-112|0);b=k[h>>2]|0}while((b|0)!=(g|0));b=k[a>>2]|0;if(!b)return;Ip(b);return}function Fo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+16|0;w=x;u=b+8|0;g=u;f=k[g>>2]|0;g=k[g+4>>2]|0;v=b+16|0;d=v;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0){w=-1;r=x;return w|0}n=(k[b>>2]|0)+c|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;t=v;k[t>>2]=d;k[t+4>>2]=e;a:do if(!n)h=d;else{o=w+4|0;p=w+8|0;q=a+40|0;s=a+44|0;t=a+36|0;c=e;m=0;while(1){e=jq(d|0,c|0,4,0)|0;h=L;if((g|0)<(h|0)|(g|0)==(h|0)&f>>>0>>0)break;j=k[b>>2]|0;y=j+d|0;k[w>>2]=l[y>>0]|l[y+1>>0]<<8|l[y+2>>0]<<16|l[y+3>>0]<<24;y=v;k[y>>2]=e;k[y+4>>2]=h;h=jq(d|0,c|0,8,0)|0;y=L;if((g|0)<(y|0)|(g|0)==(y|0)&f>>>0>>0)break;e=j+e|0;k[o>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=jq(d|0,c|0,8,0)|0;y=L;h=v;k[h>>2]=e;k[h+4>>2]=y;if(!((g|0)>(y|0)|(g|0)==(y|0)&f>>>0>e>>>0))break;y=i[j+e>>0]|0;j=jq(d|0,c|0,9,0)|0;c=v;k[c>>2]=j;k[c+4>>2]=L;i[p>>0]=y&3|i[p>>0]&-4;c=k[q>>2]|0;if((c|0)==(k[s>>2]|0))co(t,w);else{k[c>>2]=k[w>>2];k[c+4>>2]=k[w+4>>2];k[c+8>>2]=k[w+8>>2];k[q>>2]=(k[q>>2]|0)+12}m=m+1|0;g=u;f=k[g>>2]|0;g=k[g+4>>2]|0;c=v;d=k[c>>2]|0;c=k[c+4>>2]|0;if(m>>>0>=n>>>0){h=d;e=c;break a}}y=-1;r=x;return y|0}while(0);d=jq(h|0,e|0,4,0)|0;c=L;if((g|0)<(c|0)|(g|0)==(c|0)&f>>>0>>0){y=-1;r=x;return y|0}o=(k[b>>2]|0)+h|0;o=l[o>>0]|l[o+1>>0]<<8|l[o+2>>0]<<16|l[o+3>>0]<<24;y=v;k[y>>2]=d;k[y+4>>2]=c;if(!o){y=d;r=x;return y|0}m=a+52|0;n=a+56|0;j=a+48|0;k[w>>2]=0;e=jq(h|0,e|0,8,0)|0;c=L;b:do if(!((g|0)<(c|0)|(g|0)==(c|0)&f>>>0>>0)){f=0;while(1){d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[w>>2]=d;y=v;k[y>>2]=e;k[y+4>>2]=c;c=k[m>>2]|0;if((c|0)==(k[n>>2]|0))eo(j,w);else{k[c>>2]=d;k[m>>2]=c+4}f=f+1|0;if(f>>>0>=o>>>0)break;a=u;y=k[a>>2]|0;a=k[a+4>>2]|0;e=v;d=k[e>>2]|0;e=k[e+4>>2]|0;k[w>>2]=0;e=jq(d|0,e|0,4,0)|0;c=L;if((a|0)<(c|0)|(a|0)==(c|0)&y>>>0>>0)break b}y=k[v>>2]|0;r=x;return y|0}while(0);y=-1;r=x;return y|0}function Go(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+16|0;i=m;fo(a,b);g=a+8|0;h=k[g>>2]|0;g=k[g+4>>2]|0;f=a+16|0;d=f;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0)c=0;else{c=(k[a>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;h=f;k[h>>2]=d;k[h+4>>2]=e}d=b+96|0;c=(k[d>>2]|0)+c|0;k[d>>2]=c;d=b+100|0;k[i>>2]=0;e=b+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 Ad(d,c-f|0,i);sd(b+112|0,a);r=m;return}function Ho(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Ba=0,Ca=0;Ca=r;r=r+48|0;qa=Ca+40|0;xa=Ca+28|0;ya=Ca+8|0;F=Ca+4|0;ua=Ca;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]=1.0;a:do if((b|0)>0){ba=a+240|0;ca=a+372|0;ja=a+276|0;ka=a+368|0;la=a+272|0;G=a+264|0;H=a+268|0;I=a+8|0;K=a+136|0;L=a+36|0;M=a+40|0;N=b+-1|0;P=ya+4|0;Q=a+340|0;R=xa+8|0;T=a+352|0;y=0;x=0;b:while(1){X=y+1|0;if((k[ca>>2]|0)!=-1?td(T)|0:0){c=k[ca>>2]|0;ma=18}else ma=8;c:do if((ma|0)==8){do if(!(i[ja>>0]|0)){d=0;c=0}else{d=k[la>>2]|0;f=k[G>>2]|0;g=k[H>>2]|0;c=f+(d>>>3)|0;if(c>>>0>>0?(_=(l[c>>0]|0)>>>(d&7)&1,$=d+1|0,k[la>>2]=$,_|0):0){c=f+($>>>3)|0;if(c>>>0>>0){e=(l[c>>0]|0)>>>($&7)&1;d=d+2|0;k[la>>2]=d}else{e=0;d=$}c=f+(d>>>3)|0;if(c>>>0>>0){c=(l[c>>0]|0)>>>(d&7);k[la>>2]=d+1;c=c<<1&2}else c=0;d=_;c=(c|e)<<1;break}k[ka>>2]=0;ma=19;break c}while(0);c=c|d;ma=18}while(0);d:do if((ma|0)==18){ma=0;k[ka>>2]=c;if(!c)ma=19;else switch(c|0){case 3:case 5:{v=k[(k[za>>2]|0)+-4>>2]|0;w=y*3|0;n=((c|0)==5?2:1)+w|0;c=k[I>>2]|0;f=k[c+12>>2]|0;k[f+(n<<2)>>2]=v;k[f+(v<<2)>>2]=n;f=x+1|0;t=(n|0)<0;u=(n|0)%3|0;k[(k[c>>2]|0)+((t?-1073741824:(n|0)/3|0)*12|0)+(u<<2)>>2]=x;if((x|0)>-1){h=c+24|0;e=c+28|0;d=k[e>>2]|0;c=k[h>>2]|0;g=d-c>>2;do if(g>>>0<=x>>>0){if(f>>>0>g>>>0){ho(h,f-g|0);c=k[h>>2]|0;break}if(f>>>0>>0?(U=c+(f<<2)|0,(d|0)!=(U|0)):0)k[e>>2]=d+(~((d+-4-U|0)>>>2)<<2)}while(0);k[c+(x<<2)>>2]=n;c=k[I>>2]|0}if(t)p=n;else{p=n+1|0;p=((p|0)%3|0|0)==0?n+-2|0:p}q=(v|0)<0;if(!q?(D=(((v|0)%3|0|0)==0?2:-1)+v|0,(D|0)>=0):0)m=k[(k[c>>2]|0)+(((D|0)/3|0)*12|0)+(((D|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[c>>2]|0)+(((p|0)<0?-1073741824:(p|0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=c+24|0;e=c+28|0;d=k[e>>2]|0;c=k[j>>2]|0;g=d-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(V=c+(h<<2)|0,(d|0)!=(V|0)):0)k[e>>2]=d+(~((d+-4-V|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=p;c=k[I>>2]|0}do if(!t)if(!u){n=n+2|0;break}else{n=n+-1|0;break}while(0);if(!q?(A=v+1|0,A=((A|0)%3|0|0)==0?v+-2|0:A,(A|0)>=0):0)m=k[(k[c>>2]|0)+(((A|0)/3|0)*12|0)+(((A|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[c>>2]|0)+(((n|0)<0?-1073741824:(n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=c+24|0;e=c+28|0;d=k[e>>2]|0;c=k[j>>2]|0;g=d-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(W=c+(h<<2)|0,(d|0)!=(W|0)):0)k[e>>2]=d+(~((d+-4-W|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=n}k[(k[za>>2]|0)+-4>>2]=w;c=1;break d}case 1:{c=k[za>>2]|0;t=k[c+-4>>2]|0;j=c+-4|0;k[za>>2]=j;f=k[P>>2]|0;e:do if(f){g=f+-1|0;e=(g&f|0)==0;if(e)h=g&y;else h=(y>>>0)%(f>>>0)|0;d=k[(k[ya>>2]|0)+(h<<2)>>2]|0;if(d){if(e)do{d=k[d>>2]|0;if(!d){c=j;break e}if((k[d+4>>2]&g|0)!=(h|0)){c=j;break e}}while((k[d+8>>2]|0)!=(y|0));else do{d=k[d>>2]|0;if(!d){c=j;break e}if((((k[d+4>>2]|0)>>>0)%(f>>>0)|0|0)!=(h|0)){c=j;break e}}while((k[d+8>>2]|0)!=(y|0));d=d+12|0;if((j|0)==(k[R>>2]|0)){Bd(xa,d);c=k[za>>2]|0;break}else{k[j>>2]=k[d>>2];k[za>>2]=c;break}}else c=j}else c=j;while(0);m=k[c+-4>>2]|0;u=y*3|0;p=u+2|0;f=k[I>>2]|0;w=k[f+12>>2]|0;k[w+(m<<2)>>2]=p;k[w+(p<<2)>>2]=m;n=u+1|0;k[w+(t<<2)>>2]=n;k[w+(n<<2)>>2]=t;if((m|0)>=0){c=(((m|0)%3|0|0)==0?2:-1)+m|0;if((c|0)>=0){w=k[f>>2]|0;d=k[w+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;k[w+(y*12|0)+(((u|0)%3|0)<<2)>>2]=d;if((d|0)>-1){j=f+24|0;f=f+28|0;e=k[f>>2]|0;c=k[j>>2]|0;g=e-c>>2;do if(g>>>0<=d>>>0){h=d+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(Y=c+(h<<2)|0,(e|0)!=(Y|0)):0)k[f>>2]=e+(~((e+-4-Y|0)>>>2)<<2)}while(0);k[c+(d<<2)>>2]=u;e=1;f=k[I>>2]|0}else e=0}else{k[(k[f>>2]|0)+(y*12|0)+(((u|0)%3|0)<<2)>>2]=-1073741824;d=-1073741824;e=0}c=m+1|0;c=((c|0)%3|0|0)==0?m+-2|0:c;if((c|0)<0){m=-1073741824;q=d;c=f}else{m=k[(k[f>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;q=d;c=f}}else{k[(k[f>>2]|0)+(y*12|0)+(((u|0)%3|0)<<2)>>2]=-1073741824;m=-1073741824;q=-1073741824;e=0;c=f}k[(k[c>>2]|0)+(((u|0)<-1?-1073741824:(n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=c+24|0;f=c+28|0;d=k[f>>2]|0;c=k[j>>2]|0;g=d-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(Z=c+(h<<2)|0,(d|0)!=(Z|0)):0)k[f>>2]=d+(~((d+-4-Z|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=n;c=k[I>>2]|0}n=(t|0)<0;if(!n?(C=(((t|0)%3|0|0)==0?2:-1)+t|0,(C|0)>=0):0)m=k[(k[c>>2]|0)+(((C|0)/3|0)*12|0)+(((C|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[c>>2]|0)+(((u|0)<-2?-1073741824:(p|0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=c+24|0;f=c+28|0;d=k[f>>2]|0;c=k[j>>2]|0;g=d-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(aa=c+(h<<2)|0,(d|0)!=(aa|0)):0)k[f>>2]=d+(~((d+-4-aa|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=p}if(!n){c=t+1|0;c=((c|0)%3|0|0)==0?t+-2|0:c;if((c|0)<0){n=-1073741824;d=c}else{n=k[(k[k[I>>2]>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;d=c}}else{n=-1073741824;d=t}w=k[Q>>2]|0;c=w+(q<<2)|0;k[c>>2]=(k[c>>2]|0)+(k[w+(n<<2)>>2]|0);c=k[I>>2]|0;f:do if((d|0)>-1){m=q+1|0;if(!e){e=k[c>>2]|0;f=c+12|0;while(1){k[e+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]=q;w=d+1|0;d=((w|0)%3|0|0)==0?d+-2|0:w;if((d|0)<0)break f;d=k[(k[f>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break f;w=d+1|0;d=((w|0)%3|0|0)==0?d+-2|0:w;if((d|0)<=-1)break f}}do{k[(k[c>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]=q;h=c+24|0;j=c+28|0;e=k[j>>2]|0;c=k[h>>2]|0;f=e-c>>2;do if(f>>>0<=q>>>0){g=e;if(m>>>0>f>>>0){ho(h,m-f|0);c=k[h>>2]|0;break}if(m>>>0>=f>>>0)break;e=c+(m<<2)|0;if((g|0)==(e|0))break;k[j>>2]=g+(~((g+-4-e|0)>>>2)<<2)}while(0);k[c+(q<<2)>>2]=d;c=d+1|0;d=((c|0)%3|0|0)==0?d+-2|0:c;c=k[I>>2]|0;if((d|0)<0)break f;d=k[(k[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break f;w=d+1|0;d=((w|0)%3|0|0)==0?d+-2|0:w}while((d|0)>-1)}while(0);k[(k[c+24>>2]|0)+(n<<2)>>2]=-1073741824;k[(k[za>>2]|0)+-4>>2]=u;c=0;f=x;break d}case 7:{h=y*3|0;k[qa>>2]=h;d=k[I>>2]|0;j=x+1|0;c=k[d>>2]|0;k[c+(y*12|0)+(((h|0)%3|0)<<2)>>2]=x;if((x|0)>-1){g=d+24|0;e=d+28|0;d=k[e>>2]|0;c=k[g>>2]|0;f=d-c>>2;do if(f>>>0<=x>>>0){if(j>>>0>f>>>0){ho(g,j-f|0);c=k[g>>2]|0;break}if(j>>>0>>0?(da=c+(j<<2)|0,(d|0)!=(da|0)):0)k[e>>2]=d+(~((d+-4-da|0)>>>2)<<2)}while(0);k[c+(x<<2)>>2]=h;d=k[I>>2]|0;e=k[qa>>2]|0;c=k[d>>2]|0}else e=h;h=e+1|0;m=x+2|0;k[c+(((e|0)<-1?-1073741824:(h|0)/3|0)*12|0)+(((h|0)%3|0)<<2)>>2]=j;if((x|0)>-2){g=d+24|0;e=d+28|0;d=k[e>>2]|0;c=k[g>>2]|0;f=d-c>>2;do if(f>>>0<=j>>>0){if(m>>>0>f>>>0){ho(g,m-f|0);c=k[g>>2]|0;break}if(m>>>0>>0?(ea=c+(m<<2)|0,(d|0)!=(ea|0)):0)k[e>>2]=d+(~((d+-4-ea|0)>>>2)<<2)}while(0);k[c+(j<<2)>>2]=h;d=k[I>>2]|0;e=k[qa>>2]|0;c=k[d>>2]|0}h=e+2|0;j=x+3|0;k[c+(((e|0)<-2?-1073741824:(h|0)/3|0)*12|0)+(((h|0)%3|0)<<2)>>2]=m;if((m|0)>-1){g=d+24|0;e=d+28|0;d=k[e>>2]|0;c=k[g>>2]|0;f=d-c>>2;do if(f>>>0<=m>>>0){if(j>>>0>f>>>0){ho(g,j-f|0);c=k[g>>2]|0;break}if(j>>>0>>0?(fa=c+(j<<2)|0,(d|0)!=(fa|0)):0)k[e>>2]=d+(~((d+-4-fa|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=h}c=k[za>>2]|0;if((c|0)==(k[R>>2]|0))Bd(xa,qa);else{k[c>>2]=k[qa>>2];k[za>>2]=c+4}c=1;f=j;break d}default:{c=0;f=x;break d}}}while(0);if((ma|0)==19){ma=0;q=k[(k[za>>2]|0)+-4>>2]|0;t=(q|0)<0;g:do if(!t){c=q+(((q|0)%3|0|0)==0?2:-1)|0;if((c|0)<0)ma=21;else{e=k[I>>2]|0;f=k[e+12>>2]|0;while(1){d=k[f+(c<<2)>>2]|0;if((d|0)<=-1){n=0;break g}c=d+(((d|0)%3|0|0)==0?2:-1)|0;if((c|0)<0){n=1;break}}}}else{c=q;ma=21}while(0);if((ma|0)==21){ma=0;f=k[I>>2]|0;n=1;e=f;f=k[f+12>>2]|0}u=y*3|0;p=u+1|0;k[f+(q<<2)>>2]=p;k[f+(p<<2)>>2]=q;v=u+2|0;k[f+(c<<2)>>2]=v;k[f+(v<<2)>>2]=c;if(!t?(z=q+1|0,z=((z|0)%3|0|0)==0?q+-2|0:z,(z|0)>=0):0){w=k[e>>2]|0;m=k[w+(((z|0)/3|0)*12|0)+(((z|0)%3|0)<<2)>>2]|0;k[w+(y*12|0)+(((u|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=e+24|0;f=e+28|0;e=k[f>>2]|0;d=k[j>>2]|0;g=e-d>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);d=k[j>>2]|0;break}if(h>>>0>>0?(J=d+(h<<2)|0,(e|0)!=(J|0)):0)k[f>>2]=e+(~((e+-4-J|0)>>>2)<<2)}while(0);k[d+(m<<2)>>2]=u;e=k[I>>2]|0}}else{k[(k[e>>2]|0)+(y*12|0)+(((u|0)%3|0)<<2)>>2]=-1073741824;m=-1073741824}if(!n?(B=c+1|0,B=((B|0)%3|0|0)==0?c+-2|0:B,(B|0)>=0):0)j=k[(k[e>>2]|0)+(((B|0)/3|0)*12|0)+(((B|0)%3|0)<<2)>>2]|0;else j=-1073741824;k[(k[e>>2]|0)+(((u|0)<-1?-1073741824:(p|0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=j;if((j|0)>-1){h=e+24|0;e=e+28|0;d=k[e>>2]|0;c=k[h>>2]|0;f=d-c>>2;do if(f>>>0<=j>>>0){g=j+1|0;if(g>>>0>f>>>0){ho(h,g-f|0);c=k[h>>2]|0;break}if(g>>>0>>0?(O=c+(g<<2)|0,(d|0)!=(O|0)):0)k[e>>2]=d+(~((d+-4-O|0)>>>2)<<2)}while(0);k[c+(j<<2)>>2]=p;c=k[I>>2]|0}else c=e;if(!t?(E=(((q|0)%3|0|0)==0?2:-1)+q|0,(E|0)>=0):0)j=k[(k[c>>2]|0)+(((E|0)/3|0)*12|0)+(((E|0)%3|0)<<2)>>2]|0;else j=-1073741824;k[(k[c>>2]|0)+(((u|0)<-2?-1073741824:(v|0)/3|0)*12|0)+(((v|0)%3|0)<<2)>>2]=j;if((j|0)>-1){h=c+24|0;e=c+28|0;d=k[e>>2]|0;c=k[h>>2]|0;f=d-c>>2;do if(f>>>0<=j>>>0){g=j+1|0;if(g>>>0>f>>>0){ho(h,g-f|0);c=k[h>>2]|0;break}if(g>>>0>>0?(S=c+(g<<2)|0,(d|0)!=(S|0)):0)k[e>>2]=d+(~((d+-4-S|0)>>>2)<<2)}while(0);k[c+(j<<2)>>2]=v}c=(k[K>>2]|0)+(m>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(m&31));k[(k[za>>2]|0)+-4>>2]=u;c=0;f=x}k[F>>2]=k[(k[za>>2]|0)+-4>>2];k[qa>>2]=k[F>>2];Io(ba,qa);h:do if(c?(ga=b-y|0,ha=ga+-1|0,ia=k[M>>2]|0,(ia|0)!=(k[L>>2]|0)):0){c=ia;do{d=k[c+-8>>2]|0;if((d|0)>=(ga|0)){ma=195;break b}if((d|0)!=(ha|0))break h;y=i[c+-4>>0]&1;e=k[c+-12>>2]|0;k[M>>2]=c+-12;c=k[(k[za>>2]|0)+-4>>2]|0;d=(c|0)<0;do if(!(y<<24>>24)){if(!d)if(!((c|0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}else if(!d){y=c+1|0;c=((y|0)%3|0|0)==0?c+-2|0:y}while(0);k[qa>>2]=N-e;y=io(ya,qa)|0;k[y>>2]=c;c=k[M>>2]|0}while((c|0)!=(k[L>>2]|0))}while(0);if((X|0)<(b|0)){y=X;x=f}else{s=X;va=f;break}}if((ma|0)==195)Aa(11155,11225,82,11276);c=k[za>>2]|0;if((c|0)!=(k[xa>>2]|0)){t=a+316|0;u=a+8|0;v=a+136|0;w=a+64|0;x=a+68|0;y=a+72|0;z=a+80|0;A=a+84|0;B=a+76|0;C=a+312|0;D=a+304|0;E=a+308|0;i:while(1){b=c;m=k[b+-4>>2]|0;k[qa>>2]=m;k[za>>2]=b+-4;do if(i[t>>0]|0){c=k[C>>2]|0;d=(k[D>>2]|0)+(c>>>3)|0;if(d>>>0<(k[E>>2]|0)>>>0?(b=l[d>>0]|0,k[C>>2]=c+1,b&1<<(c&7)|0):0){ma=209;break}c=k[x>>2]|0;d=k[y>>2]|0;if((c|0)==(d<<5|0)){if((c+1|0)<0){ma=267;break i}if(d<<5>>>0>1073741822)c=2147483647;else{b=d<<6;c=c+32&-32;c=b>>>0>>0?c:b}Cd(w,c);c=k[x>>2]|0}k[x>>2]=c+1;b=(k[w>>2]|0)+(c>>>5<<2)|0;k[b>>2]=k[b>>2]&~(1<<(c&31));c=k[z>>2]|0;if((c|0)==(k[A>>2]|0)){Bd(B,qa);d=s;break}else{k[c>>2]=m;k[z>>2]=c+4;d=s;break}}else ma=209;while(0);if((ma|0)==209){ma=0;f=(m|0)<0;j:do if(!f){c=m+(((m|0)%3|0|0)==0?2:-1)|0;if((c|0)>=0){d=k[(k[u>>2]|0)+12>>2]|0;e=c;while(1){c=k[d+(e<<2)>>2]|0;if((c|0)<=-1){d=0;c=e;break}c=c+(((c|0)%3|0|0)==0?2:-1)|0;if((c|0)<0){d=1;break}else e=c}if(f){e=m;ma=216;break}}else d=1;e=m+1|0;e=((e|0)%3|0|0)==0?m+-2|0:e;if((e|0)<0)ma=216;else{f=k[u>>2]|0;g=k[f+12>>2]|0;h=e;while(1){e=k[g+(h<<2)>>2]|0;if((e|0)<=-1){j=d;q=0;p=h;break j}b=e+1|0;e=((b|0)%3|0|0)==0?e+-2|0:b;if((e|0)<0){j=d;q=1;p=e;break}else h=e}}}else{d=1;c=m;e=m;ma=216}while(0);if((ma|0)==216){ma=0;f=k[u>>2]|0;j=d;q=1;g=k[f+12>>2]|0;p=e}d=s+1|0;e=s*3|0;k[ua>>2]=e;k[g+(e<<2)>>2]=m;k[g+(m<<2)>>2]=e;b=e+1|0;k[g+(b<<2)>>2]=c;k[g+(c<<2)>>2]=b;b=e+2|0;k[g+(b<<2)>>2]=p;k[g+(p<<2)>>2]=b;if(!j?(pa=c+1|0,pa=((pa|0)%3|0|0)==0?c+-2|0:pa,(pa|0)>=0):0)n=k[(k[f>>2]|0)+(((pa|0)/3|0)*12|0)+(((pa|0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[f>>2]|0)+(((s|0)<0?-1073741824:s)*12|0)+(((e|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[m>>2]|0;h=f-c>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){ho(m,j-h|0);c=k[m>>2]|0;break}if(j>>>0>>0?(ra=c+(j<<2)|0,(f|0)!=(ra|0)):0)k[g>>2]=f+(~((f+-4-ra|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=e;e=k[ua>>2]|0;f=k[u>>2]|0}n=e+1|0;if(!q?(oa=p+1|0,oa=((oa|0)%3|0|0)==0?p+-2|0:oa,(oa|0)>=0):0)m=k[(k[f>>2]|0)+(((oa|0)/3|0)*12|0)+(((oa|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[f>>2]|0)+(((e|0)<-1?-1073741824:(n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=f+24|0;f=f+28|0;e=k[f>>2]|0;c=k[j>>2]|0;g=e-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(sa=c+(h<<2)|0,(e|0)!=(sa|0)):0)k[f>>2]=e+(~((e+-4-sa|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=n;e=k[ua>>2]|0;f=k[u>>2]|0}n=e+2|0;c=k[qa>>2]|0;if((c|0)>=0?(na=c+1|0,na=((na|0)%3|0|0)==0?c+-2|0:na,(na|0)>=0):0)m=k[(k[f>>2]|0)+(((na|0)/3|0)*12|0)+(((na|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[f>>2]|0)+(((e|0)<-2?-1073741824:(n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=f+24|0;f=f+28|0;e=k[f>>2]|0;c=k[j>>2]|0;g=e-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(ta=c+(h<<2)|0,(e|0)!=(ta|0)):0)k[f>>2]=e+(~((e+-4-ta|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=n;f=k[ua>>2]|0}else f=e;if((f|0)<0)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;e=k[v>>2]|0;b=e+(c>>>5<<2)|0;k[b>>2]=k[b>>2]&~(1<<(c&31));c=f+1|0;if((f|0)<-1)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;b=e+(c>>>5<<2)|0;k[b>>2]=k[b>>2]&~(1<<(c&31));c=f+2|0;if((f|0)<-2)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;e=e+(c>>>5<<2)|0;k[e>>2]=k[e>>2]&~(1<<(c&31));c=k[x>>2]|0;e=k[y>>2]|0;if((c|0)==(e<<5|0)){if((c+1|0)<0){ma=255;break}if(e<<5>>>0>1073741822)c=2147483647;else{b=e<<6;c=c+32&-32;c=b>>>0>>0?c:b}Cd(w,c);c=k[x>>2]|0}k[x>>2]=c+1;b=(k[w>>2]|0)+(c>>>5<<2)|0;k[b>>2]=k[b>>2]|1<<(c&31);c=k[z>>2]|0;if((c|0)==(k[A>>2]|0))Bd(B,ua);else{k[c>>2]=f;k[z>>2]=c+4}}c=k[za>>2]|0;if((c|0)==(k[xa>>2]|0)){Ba=va;break a}else s=d}if((ma|0)==255)yp(w);else if((ma|0)==267)yp(w)}else Ba=va}else Ba=0;while(0);g=a+88|0;c=a+92|0;f=k[c>>2]|0;e=k[g>>2]|0;d=f-e>>2;if(Ba>>>0<=d>>>0){if(Ba>>>0>>0?(wa=e+(Ba<<2)|0,(f|0)!=(wa|0)):0)k[c>>2]=f+(~((f+-4-wa|0)>>>2)<<2)}else mo(g,Ba-d|0);c=k[ya+8>>2]|0;if(c|0)do{wa=c;c=k[c>>2]|0;Ip(wa)}while((c|0)!=0);c=k[ya>>2]|0;k[ya>>2]=0;if(c|0)Ip(c);c=k[xa>>2]|0;if(!c){r=Ca;return Ba|0}d=k[za>>2]|0;if((d|0)!=(c|0))k[za>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ip(c);r=Ca;return Ba|0}function Io(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+92|0;h=k[b>>2]|0;i=(h|0)<0;do if(!i){b=h+1|0;b=((b|0)%3|0|0)==0?h+-2|0:b;if(!((h|0)%3|0)){e=h+2|0;d=b;break}else{e=h+-1|0;d=b;break}}else{e=h;d=h}while(0);f=a+128|0;b=k[f>>2]|0;switch(b|0){case 1:case 0:{if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+1;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+1;c=32;break}case 5:{if(i)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((h|0)/3|0)*12|0)+(((h|0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;b=c+(b<<2)|0;k[b>>2]=(k[b>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+1;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+2;c=32;break}case 3:{if(i)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((h|0)/3|0)*12|0)+(((h|0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;b=c+(b<<2)|0;k[b>>2]=(k[b>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+2;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+1;c=32;break}case 7:{if(i)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((h|0)/3|0)*12|0)+(((h|0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;b=c+(b<<2)|0;k[b>>2]=(k[b>>2]|0)+2;if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+2;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+2;c=32;break}default:{}}if((c|0)==32)b=k[f>>2]|0;switch(b|0){case 5:case 0:break;default:{k[a+132>>2]=-1;return}}b=k[g>>2]|0;if(!i?(j=h+1|0,j=((j|0)%3|0|0)==0?h+-2|0:j,(j|0)>=0):0)b=k[(k[b>>2]|0)+(((j|0)/3|0)*12|0)+(((j|0)%3|0)<<2)>>2]|0;else b=-1073741824;k[a+132>>2]=(k[(k[a+100>>2]|0)+(b<<2)>>2]|0)<6?5:0;return}function Jo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+32|0;s=u+8|0;n=u+4|0;o=u;c=k[b>>2]|0;k[s>>2]=c;m=a+8|0;do if((c|0)>=0){l=c+1|0;k[s+4>>2]=((l|0)%3|0|0)==0?c+-2|0:l;if(!((c|0)%3|0)){b=c+2|0;break}else{b=c+-1|0;break}}else{k[s+4>>2]=c;b=c}while(0);k[s+8>>2]=b;j=a+228|0;l=a+232|0;i=a+320|0;b=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)){f=0;do{do if(td((k[i>>2]|0)+(f<<4)|0)|0){a=k[j>>2]|0;k[o>>2]=c;d=a+(f*116|0)+108|0;e=k[d>>2]|0;if(e>>>0<(k[a+(f*116|0)+112>>2]|0)>>>0){k[e>>2]=c;k[d>>2]=e+4;break}else{De(a+(f*116|0)+104|0,o);break}}while(0);f=f+1|0}while(f>>>0<(((k[l>>2]|0)-(k[j>>2]|0)|0)/116|0)>>>0)}}else t=11;if((t|0)==11?(t=0,p=k[l>>2]|0,q=k[j>>2]|0,(p|0)!=(q|0)):0){a=q;d=p;h=0;do{e=a;k[n>>2]=c;f=e+(h*116|0)+108|0;g=k[f>>2]|0;if(g>>>0<(k[e+(h*116|0)+112>>2]|0)>>>0){k[g>>2]=c;k[f>>2]=g+4}else{De(e+(h*116|0)+104|0,n);a=k[j>>2]|0;d=k[l>>2]|0}h=h+1|0}while(h>>>0<((d-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;c=k[s+(b<<2)>>2]|0}r=u;return 1}function Ko(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=r;r=r+64|0;G=J+44|0;K=J+28|0;I=J+12|0;t=J+40|0;A=J+24|0;D=J;H=a+4|0;e=k[(k[H>>2]|0)+24>>2]|0;F=a+8|0;b=k[F>>2]|0;b=((k[b+4>>2]|0)-(k[b>>2]|0)|0)/12|0;c=e+80|0;e=e+84|0;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;h=k[e>>2]|0;g=k[c>>2]|0;f=(h-g|0)/12|0;if(b>>>0<=f>>>0){if(b>>>0>>0?(i=g+(b*12|0)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~(((h+-12-i|0)>>>0)/12|0)*12|0)}else po(c,b-f|0,G);y=a+228|0;z=a+232|0;if((k[z>>2]|0)==(k[y>>2]|0)){b=k[F>>2]|0;b=(k[b+28>>2]|0)-(k[b+24>>2]|0)|0;c=b>>2;k[K>>2]=0;p=K+4|0;k[p>>2]=0;k[K+8>>2]=0;do if(c)if(c>>>0>1073741823)yp(K);else{d=$p(b)|0;k[K>>2]=d;E=d+(c<<2)|0;k[K+8>>2]=E;hq(d|0,-1,b|0)|0;k[p>>2]=E;break}else d=0;while(0);e=k[H>>2]|0;b=k[e+24>>2]|0;f=k[b+84>>2]|0;c=k[b+80>>2]|0;if((f-c|0)>0){n=I+4|0;o=I+8|0;j=b;d=c;c=e;l=e;m=0;b=0;while(1){k[I>>2]=0;k[I+4>>2]=0;k[I+8>>2]=0;h=m*3|0;if((m|0)<0)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(m*12|0)+(((h|0)%3|0)<<2)>>2]|0;i=k[K>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;a=b;b=b+1|0}else a=g;k[I>>2]=a;e=h+1|0;if((h|0)<-1)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;g=b;b=b+1|0}k[n>>2]=g;e=h+2|0;if((h|0)<-2)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;g=b;b=b+1|0}k[o>>2]=g;h=j+80|0;g=j+84|0;e=(f-d|0)/12|0;i=m;m=m+1|0;do if((i|0)>=(e|0)){k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;if(m>>>0>e>>>0){po(h,m-e|0,G);c=k[H>>2]|0;d=k[h>>2]|0;e=c;break}if(m>>>0>>0?(q=d+(m*12|0)|0,(f|0)!=(q|0)):0){k[g>>2]=f+(~(((f+-12-q|0)>>>0)/12|0)*12|0);e=l}else e=l}else e=l;while(0);k[d+(i*12|0)>>2]=a;k[d+(i*12|0)+4>>2]=k[n>>2];k[d+(i*12|0)+8>>2]=k[o>>2];j=k[e+24>>2]|0;f=k[j+84>>2]|0;d=k[j+80>>2]|0;if((m|0)>=((f-d|0)/12|0|0))break;else l=e}d=k[K>>2]|0}else{c=e;b=0}k[(k[c+4>>2]|0)+64>>2]=b;b=d;if(d|0){c=k[p>>2]|0;if((c|0)!=(d|0))k[p>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ip(d)}r=J;return 1}k[K>>2]=0;E=K+4|0;k[E>>2]=0;k[K+8>>2]=0;b=k[F>>2]|0;q=k[b+4>>2]|0;s=k[b>>2]|0;c=q-s|0;d=((c|0)/12|0)*3|0;k[I>>2]=0;B=I+4|0;k[B>>2]=0;k[I+8>>2]=0;do if((q|0)!=(s|0))if(d>>>0>1073741823)yp(I);else{s=$p(c)|0;k[I>>2]=s;j=s+(d<<2)|0;k[I+8>>2]=j;hq(s|0,0,c|0)|0;k[B>>2]=j;j=k[F>>2]|0;break}else j=b;while(0);a:do if(((k[j+28>>2]|0)-(k[j+24>>2]|0)|0)>0){q=a+136|0;s=K+8|0;p=0;b:while(1){f=k[(k[j+24>>2]|0)+(p<<2)>>2]|0;if((f|0)>=0){c:do if((k[(k[q>>2]|0)+(p>>>5<<2)>>2]&1<<(p&31)|0)==0?(u=k[z>>2]|0,v=k[y>>2]|0,w=v,(u|0)!=(v|0)):0){g=(f|0)/3|0;h=(f|0)%3|0;e=((h|0)==0?2:-1)+f|0;i=(e|0)<0;a=(u-v|0)/116|0;l=j+12|0;m=j+12|0;o=0;d:while(1){n=k[(k[k[w+(o*116|0)+68>>2]>>2]|0)+(g*12|0)+(h<<2)>>2]|0;if(1<<(n&31)&k[(k[w+(o*116|0)+16>>2]|0)+(n>>>5<<2)>>2]|0){n=k[w+(o*116|0)+32>>2]|0;d=k[n+(f<<2)>>2]|0;do if(!i){c=k[(k[l>>2]|0)+(e<<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=e;while(0);if((c|0)!=(f|0))do{b=k[n+(c<<2)>>2]|0;if((c|0)<0)break d;if((b|0)!=(d|0))break c;c=(((c|0)%3|0|0)==0?2:-1)+c|0;do if((c|0)>=0){c=k[(k[m>>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)}while((c|0)!=(f|0))}o=o+1|0;if(o>>>0>=a>>>0){c=f;break c}}while(1)if((b|0)==(d|0))b=d;else break}else c=f;while(0);b=k[E>>2]|0;k[(k[I>>2]|0)+(c<<2)>>2]=b-(k[K>>2]|0)>>2;k[t>>2]=c;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=c;k[E>>2]=b+4;b=j}else{De(K,t);b=k[F>>2]|0}do if((c|0)>=0){f=(((c|0)%3|0|0)==0?2:-1)+c|0;if((f|0)>=0){f=k[(k[b+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=c;while(0);if((f|0)>-1&(f|0)!=(c|0)){b=c;while(1){if((f|0)<0)break b;d=k[z>>2]|0;e=k[y>>2]|0;g=e;e:do if((d|0)!=(e|0)){d=(d-e|0)/116|0;e=0;while(1){o=k[g+(e*116|0)+32>>2]|0;e=e+1|0;if((k[o+(f<<2)>>2]|0)!=(k[o+(b<<2)>>2]|0))break;if(e>>>0>=d>>>0){x=87;break e}}b=k[E>>2]|0;k[(k[I>>2]|0)+(f<<2)>>2]=b-(k[K>>2]|0)>>2;k[A>>2]=f;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=f;k[E>>2]=b+4;break}else{De(K,A);break}}else x=87;while(0);if((x|0)==87){x=0;o=k[I>>2]|0;k[o+(f<<2)>>2]=k[o+(b<<2)>>2]}b=(((f|0)%3|0|0)==0?2:-1)+f|0;do if((b|0)>=0){b=k[(k[(k[F>>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}}while(0);if((b|0)>-1&(b|0)!=(c|0)){o=f;f=b;b=o}else break}}}p=p+1|0;j=k[F>>2]|0;if((p|0)>=((k[j+28>>2]|0)-(k[j+24>>2]|0)>>2|0))break a}f:while(1){c=k[z>>2]|0;d=k[y>>2]|0;e=d;g:do if((c|0)!=(d|0)){c=(c-d|0)/116|0;d=0;while(1){J=k[e+(d*116|0)+32>>2]|0;d=d+1|0;if((k[J+(f<<2)>>2]|0)!=(k[J+(b<<2)>>2]|0))break;if(d>>>0>=c>>>0)break g}b=k[E>>2]|0;k[(k[I>>2]|0)+(f<<2)>>2]=b-(k[K>>2]|0)>>2;k[A>>2]=f;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=f;k[E>>2]=b+4;b=f;continue f}else{De(K,A);b=f;continue f}}while(0);J=k[I>>2]|0;k[J+(f<<2)>>2]=k[J+(b<<2)>>2];b=f}}while(0);c=k[H>>2]|0;b=k[c+24>>2]|0;e=k[b+84>>2]|0;d=k[b+80>>2]|0;if((e-d|0)>0){j=D+4|0;l=D+8|0;i=c;f=c;a=0;while(1){k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;g=(k[I>>2]|0)+(a*3<<2)|0;k[D>>2]=k[g>>2];k[D+4>>2]=k[g+4>>2];k[D+8>>2]=k[g+8>>2];g=b+80|0;b=b+84|0;c=(e-d|0)/12|0;h=a;a=a+1|0;do if((h|0)>=(c|0)){k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;if(a>>>0>c>>>0){po(g,a-c|0,G);c=k[H>>2]|0;d=k[g>>2]|0;f=c;break}if(a>>>0>>0?(C=d+(a*12|0)|0,(e|0)!=(C|0)):0){k[b>>2]=e+(~(((e+-12-C|0)>>>0)/12|0)*12|0);c=i}else c=i}else c=i;while(0);k[d+(h*12|0)>>2]=k[D>>2];k[d+(h*12|0)+4>>2]=k[j>>2];k[d+(h*12|0)+8>>2]=k[l>>2];b=k[f+24>>2]|0;e=k[b+84>>2]|0;d=k[b+80>>2]|0;if((a|0)>=((e-d|0)/12|0|0))break;else i=c}}b=k[K>>2]|0;k[(k[c+4>>2]|0)+64>>2]=(k[E>>2]|0)-b>>2;c=k[I>>2]|0;d=c;if(c){b=k[B>>2]|0;if((b|0)!=(c|0))k[B>>2]=b+(~((b+-4-d|0)>>>2)<<2);Ip(c);b=k[K>>2]|0}c=b;if(b|0){d=k[E>>2]|0;if((d|0)!=(b|0))k[E>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ip(b)}r=J;return 1}function Lo(a){a=a|0;return 1}function Mo(a){a=a|0;return k[a+4>>2]|0}function No(a){a=a|0;return k[a+8>>2]|0}function Oo(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4532;b=a+100|0;c=a+4|0;d=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[b>>2]=-1;k[a+104>>2]=-1;k[a+108>>2]=-1;b=a+168|0;c=a+112|0;d=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));o[b>>2]=1.0;b=a+240|0;c=a+172|0;d=c+68|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Og(b);Og(a+280|0);k[a+320>>2]=0;k[a+324>>2]=0;k[a+328>>2]=0;return}function Po(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4672;b=a+100|0;c=a+4|0;d=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[b>>2]=-1;k[a+104>>2]=-1;k[a+108>>2]=-1;b=a+168|0;c=a+112|0;d=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));o[b>>2]=1.0;b=a+240|0;c=a+172|0;d=c+68|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Qo(b);return}function Qo(a){a=a|0;var b=0;Og(a);Og(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;qd(a+112|0);k[a+128>>2]=-1;k[a+132>>2]=-1;return}function Ro(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;o=q+40|0;p=q;c=p;b=c+40|0;do{k[c>>2]=k[a>>2];c=c+4|0;a=a+4|0}while((c|0)<(b|0));i[o>>0]=0;i[o+1>>0]=0;i[o+2>>0]=0;i[o+3>>0]=0;i[o+4>>0]=0;i[o+5>>0]=0;f=p+8|0;e=k[f>>2]|0;f=k[f+4>>2]|0;g=p+16|0;b=g;a=k[b>>2]|0;b=k[b+4>>2]|0;c=jq(a|0,b|0,5,0)|0;d=L;if(((((!((f|0)<(d|0)|(f|0)==(d|0)&e>>>0>>0)?(h=k[p>>2]|0,s=h+a|0,i[o>>0]=i[s>>0]|0,i[o+1>>0]=i[s+1>>0]|0,i[o+2>>0]=i[s+2>>0]|0,i[o+3>>0]=i[s+3>>0]|0,i[o+4>>0]=i[s+4>>0]|0,s=g,k[s>>2]=c,k[s+4>>2]=d,((f|0)>(d|0)|(f|0)==(d|0)&e>>>0>c>>>0)&(pp(o,11378)|0)==0):0)?(s=jq(a|0,b|0,6,0)|0,o=L,d=g,k[d>>2]=s,k[d+4>>2]=o,(f|0)>(o|0)|(f|0)==(o|0)&e>>>0>s>>>0):0)?(j=jq(a|0,b|0,7,0)|0,s=L,o=g,k[o>>2]=j,k[o+4>>2]=s,(f|0)>(s|0)|(f|0)==(s|0)&e>>>0>j>>>0):0)?(l=i[h+j>>0]|0,s=jq(a|0,b|0,8,0)|0,o=L,j=g,k[j>>2]=s,k[j+4>>2]=o,(f|0)>(o|0)|(f|0)==(o|0)&e>>>0>s>>>0):0)?(n=jq(a|0,b|0,9,0)|0,m=g,k[m>>2]=n,k[m+4>>2]=L,m=jq(a|0,b|0,11,0)|0,n=L,!((f|0)<(n|0)|(f|0)==(n|0)&e>>>0>>0)):0){s=g;k[s>>2]=m;k[s+4>>2]=n;s=l&255;p=p+24|0;Ng(p);r=q;return s|0}s=-1;p=p+24|0;Ng(p);r=q;return s|0}function So(a){a=a|0;switch(a<<24>>24){case 0:{a=$p(24)|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;eh(a);k[a>>2]=4272;return a|0}case 1:{a=$p(24)|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;eh(a);k[a>>2]=4340;return a|0}default:{a=0;return a|0}}return 0}function To(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+16|0;s=t;i[s>>0]=0;i[s+1>>0]=0;i[s+2>>0]=0;i[s+3>>0]=0;i[s+4>>0]=0;i[s+5>>0]=0;m=a+8|0;g=k[m>>2]|0;m=k[m+4>>2]|0;n=a+16|0;c=n;b=k[c>>2]|0;c=k[c+4>>2]|0;d=jq(b|0,c|0,5,0)|0;e=L;if(((((!((m|0)<(e|0)|(m|0)==(e|0)&g>>>0>>0)?(f=k[a>>2]|0,u=f+b|0,i[s>>0]=i[u>>0]|0,i[s+1>>0]=i[u+1>>0]|0,i[s+2>>0]=i[u+2>>0]|0,i[s+3>>0]=i[u+3>>0]|0,i[s+4>>0]=i[u+4>>0]|0,u=n,k[u>>2]=d,k[u+4>>2]=e,((m|0)>(e|0)|(m|0)==(e|0)&g>>>0>d>>>0)&(pp(s,11378)|0)==0):0)?(u=jq(b|0,c|0,6,0)|0,s=L,e=n,k[e>>2]=u,k[e+4>>2]=s,(m|0)>(s|0)|(m|0)==(s|0)&g>>>0>u>>>0):0)?(h=jq(b|0,c|0,7,0)|0,u=L,s=n,k[s>>2]=h,k[s+4>>2]=u,(m|0)>(u|0)|(m|0)==(u|0)&g>>>0>h>>>0):0)?(j=i[f+h>>0]|0,l=jq(b|0,c|0,8,0)|0,u=L,s=n,k[s>>2]=l,k[s+4>>2]=u,(m|0)>(u|0)|(m|0)==(u|0)&g>>>0>l>>>0):0)?(o=i[f+l>>0]|0,q=jq(b|0,c|0,9,0)|0,p=n,k[p>>2]=q,k[p+4>>2]=L,p=jq(b|0,c|0,11,0)|0,q=L,!((m|0)<(q|0)|(m|0)==(q|0)&g>>>0

>>0)):0){u=n;k[u>>2]=p;k[u+4>>2]=q;switch(j&255|0){case 0:{d=So(o)|0;if(!d){u=0;r=t;return u|0}e=$p(68)|0;rg(e);b=fh(d,a,e)|0;c=b?0:e;if(!b)ab[k[(k[c>>2]|0)+4>>2]&127](c);ab[k[(k[d>>2]|0)+4>>2]&127](d);u=b?e:0;r=t;return u|0}case 1:{switch(o<<24>>24){case 0:{d=$p(28)|0;fn(d);break}case 1:{d=$p(32)|0;qn(d);break}default:{u=0;r=t;return u|0}}e=$p(92)|0;zg(e);b=nh(d,a,e)|0;c=b?0:e;if(!b)ab[k[(k[c>>2]|0)+4>>2]&127](c);ab[k[(k[d>>2]|0)+4>>2]&127](d);u=b?e:0;r=t;return u|0}default:{u=0;r=t;return u|0}}}u=0;r=t;return u|0}function Uo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+16|0;s=t;i[s>>0]=0;i[s+1>>0]=0;i[s+2>>0]=0;i[s+3>>0]=0;i[s+4>>0]=0;i[s+5>>0]=0;m=a+8|0;g=k[m>>2]|0;m=k[m+4>>2]|0;n=a+16|0;c=n;b=k[c>>2]|0;c=k[c+4>>2]|0;d=jq(b|0,c|0,5,0)|0;e=L;if(((((!((m|0)<(e|0)|(m|0)==(e|0)&g>>>0>>0)?(f=k[a>>2]|0,u=f+b|0,i[s>>0]=i[u>>0]|0,i[s+1>>0]=i[u+1>>0]|0,i[s+2>>0]=i[u+2>>0]|0,i[s+3>>0]=i[u+3>>0]|0,i[s+4>>0]=i[u+4>>0]|0,u=n,k[u>>2]=d,k[u+4>>2]=e,((m|0)>(e|0)|(m|0)==(e|0)&g>>>0>d>>>0)&(pp(s,11378)|0)==0):0)?(u=jq(b|0,c|0,6,0)|0,s=L,e=n,k[e>>2]=u,k[e+4>>2]=s,(m|0)>(s|0)|(m|0)==(s|0)&g>>>0>u>>>0):0)?(h=jq(b|0,c|0,7,0)|0,u=L,s=n,k[s>>2]=h,k[s+4>>2]=u,(m|0)>(u|0)|(m|0)==(u|0)&g>>>0>h>>>0):0)?(j=i[f+h>>0]|0,l=jq(b|0,c|0,8,0)|0,u=L,s=n,k[s>>2]=l,k[s+4>>2]=u,(m|0)>(u|0)|(m|0)==(u|0)&g>>>0>l>>>0):0)?(o=i[f+l>>0]|0,q=jq(b|0,c|0,9,0)|0,p=n,k[p>>2]=q,k[p+4>>2]=L,p=jq(b|0,c|0,11,0)|0,q=L,!((m|0)<(q|0)|(m|0)==(q|0)&g>>>0

>>0)):0){u=n;k[u>>2]=p;k[u+4>>2]=q;if(j<<24>>24!=1){u=0;r=t;return u|0}switch(o<<24>>24){case 0:{d=$p(28)|0;fn(d);break}case 1:{d=$p(32)|0;qn(d);break}default:{u=0;r=t;return u|0}}e=$p(92)|0;zg(e);b=nh(d,a,e)|0;c=b?0:e;if(!b)ab[k[(k[c>>2]|0)+4>>2]&127](c);ab[k[(k[d>>2]|0)+4>>2]&127](d);u=b?e:0;r=t;return u|0}u=0;r=t;return u|0}function Vo(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=k[a+60>>2];a=Wo(Sa(6,c|0)|0)|0;r=b;return a|0}function Wo(a){a=a|0;var b=0;if(a>>>0>4294963200){b=Xo()|0;k[b>>2]=0-a;a=-1}return a|0}function Xo(){var a=0;if(!(k[3640]|0))a=14604;else{a=(La()|0)+64|0;a=k[a>>2]|0}return a|0}function Yo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;m=p+16|0;l=p;d=p+32|0;n=a+28|0;e=k[n>>2]|0;k[d>>2]=e;o=a+20|0;e=(k[o>>2]|0)-e|0;k[d+4>>2]=e;k[d+8>>2]=b;k[d+12>>2]=c;i=a+60|0;j=a+44|0;b=2;e=e+c|0;while(1){if(!(k[3640]|0)){k[m>>2]=k[i>>2];k[m+4>>2]=d;k[m+8>>2]=b;g=Wo(Xa(146,m|0)|0)|0}else{Ta(70,a|0);k[l>>2]=k[i>>2];k[l+4>>2]=d;k[l+8>>2]=b;g=Wo(Xa(146,l|0)|0)|0;wa(0)}if((e|0)==(g|0)){e=6;break}if((g|0)<0){e=8;break}e=e-g|0;f=k[d+4>>2]|0;if(g>>>0<=f>>>0)if((b|0)==2){k[n>>2]=(k[n>>2]|0)+g;h=f;b=2}else h=f;else{h=k[j>>2]|0;k[n>>2]=h;k[o>>2]=h;h=k[d+12>>2]|0;g=g-f|0;d=d+8|0;b=b+-1|0}k[d>>2]=(k[d>>2]|0)+g;k[d+4>>2]=h-g}if((e|0)==6){m=k[j>>2]|0;k[a+16>>2]=m+(k[a+48>>2]|0);a=m;k[n>>2]=a;k[o>>2]=a}else if((e|0)==8){k[a+16>>2]=0;k[n>>2]=0;k[o>>2]=0;k[a>>2]=k[a>>2]|32;if((b|0)==2)c=0;else c=c-(k[d+4>>2]|0)|0}r=p;return c|0}function Zo(a){a=a|0;if(!(k[a+68>>2]|0))_o(a);return}function _o(a){a=a|0;return}function $o(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+32|0;f=e;d=e+20|0;k[f>>2]=k[a+60>>2];k[f+4>>2]=0;k[f+8>>2]=b;k[f+12>>2]=d;k[f+16>>2]=c;if((Wo(Va(140,f|0)|0)|0)<0){k[d>>2]=-1;a=-1}else a=k[d>>2]|0;r=e;return a|0}function ap(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+80|0;d=e;k[a+36>>2]=14;if((k[a>>2]&64|0)==0?(k[d>>2]=k[a+60>>2],k[d+4>>2]=21505,k[d+8>>2]=e+12,Na(54,d|0)|0):0)i[a+75>>0]=-1;d=Yo(a,b,c)|0;r=e;return d|0}function bp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+224|0;n=s+120|0;q=s+80|0;p=s;o=s+136|0;d=q;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));k[n>>2]=k[c>>2];if((cp(0,b,n,p,q)|0)<0)c=-1;else{if((k[a+76>>2]|0)>-1)l=op(a)|0;else l=0;c=k[a>>2]|0;m=c&32;if((i[a+74>>0]|0)<1)k[a>>2]=c&-33;c=a+48|0;if(!(k[c>>2]|0)){e=a+44|0;f=k[e>>2]|0;k[e>>2]=o;g=a+28|0;k[g>>2]=o;h=a+20|0;k[h>>2]=o;k[c>>2]=80;j=a+16|0;k[j>>2]=o+80;d=cp(a,b,n,p,q)|0;if(f){_a[k[a+36>>2]&31](a,0,0)|0;d=(k[h>>2]|0)==0?-1:d;k[e>>2]=f;k[c>>2]=0;k[j>>2]=0;k[g>>2]=0;k[h>>2]=0}}else d=cp(a,b,n,p,q)|0;c=k[a>>2]|0;k[a>>2]=c|m;if(l|0)_o(a);c=(c&32|0)==0?d:-1}r=s;return c|0} +function cp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0.0,o=0,q=0,s=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=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,ia=0;ia=r;r=r+624|0;ca=ia+24|0;ea=ia+16|0;da=ia+588|0;$=ia+576|0;ba=ia;W=ia+536|0;ga=ia+8|0;fa=ia+528|0;M=(a|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ga+4|0;Y=da;Z=0-Y|0;_=$+12|0;$=$+11|0;aa=_;O=aa-Y|0;P=-2-Y|0;Q=aa+2|0;R=ca+288|0;S=da+9|0;T=S;U=da+8|0;f=0;h=0;g=0;y=b;a:while(1){do if((f|0)>-1)if((h|0)>(2147483647-f|0)){f=Xo()|0;k[f>>2]=75;f=-1;break}else{f=h+f|0;break}while(0);b=i[y>>0]|0;if(!(b<<24>>24)){K=244;break}else h=y;b:while(1){switch(b<<24>>24){case 37:{b=h;K=9;break b}case 0:{b=h;break b}default:{}}J=h+1|0;b=i[J>>0]|0;h=J}c:do if((K|0)==9)while(1){K=0;if((i[b+1>>0]|0)!=37)break c;h=h+1|0;b=b+2|0;if((i[b>>0]|0)==37)K=9;else break}while(0);w=h-y|0;if(M?(k[a>>2]&32|0)==0:0)dp(y,w,a)|0;if((h|0)!=(y|0)){h=w;y=b;continue}o=b+1|0;h=i[o>>0]|0;m=(h<<24>>24)+-48|0;if(m>>>0<10){J=(i[b+2>>0]|0)==36;o=J?b+3|0:o;h=i[o>>0]|0;u=J?m:-1;g=J?1:g}else u=-1;b=h<<24>>24;d:do if((b&-32|0)==32){m=0;while(1){if(!(1<>24)+-32|m;o=o+1|0;h=i[o>>0]|0;b=h<<24>>24;if((b&-32|0)!=32){q=m;break}}}else q=0;while(0);do if(h<<24>>24==42){h=o+1|0;b=(i[h>>0]|0)+-48|0;if(b>>>0<10?(i[o+2>>0]|0)==36:0){k[e+(b<<2)>>2]=10;g=1;o=o+3|0;b=k[d+((i[h>>0]|0)+-48<<3)>>2]|0}else{if(g|0){f=-1;break a}if(!M){v=q;g=0;o=h;J=0;break}g=(k[c>>2]|0)+(4-1)&~(4-1);b=k[g>>2]|0;k[c>>2]=g+4;g=0;o=h}if((b|0)<0){v=q|8192;J=0-b|0}else{v=q;J=b}}else{m=(h<<24>>24)+-48|0;if(m>>>0<10){b=o;h=0;do{h=(h*10|0)+m|0;b=b+1|0;m=(i[b>>0]|0)+-48|0}while(m>>>0<10);if((h|0)<0){f=-1;break a}else{v=q;o=b;J=h}}else{v=q;J=0}}while(0);e:do if((i[o>>0]|0)==46){b=o+1|0;h=i[b>>0]|0;if(h<<24>>24!=42){m=(h<<24>>24)+-48|0;if(m>>>0<10)h=0;else{q=0;break}while(1){h=(h*10|0)+m|0;b=b+1|0;m=(i[b>>0]|0)+-48|0;if(m>>>0>=10){q=h;break e}}}b=o+2|0;h=(i[b>>0]|0)+-48|0;if(h>>>0<10?(i[o+3>>0]|0)==36:0){k[e+(h<<2)>>2]=10;q=k[d+((i[b>>0]|0)+-48<<3)>>2]|0;b=o+4|0;break}if(g|0){f=-1;break a}if(M){I=(k[c>>2]|0)+(4-1)&~(4-1);q=k[I>>2]|0;k[c>>2]=I+4}else q=0}else{q=-1;b=o}while(0);s=0;while(1){h=(i[b>>0]|0)+-65|0;if(h>>>0>57){f=-1;break a}m=b+1|0;h=i[11384+(s*58|0)+h>>0]|0;o=h&255;if((o+-1|0)>>>0<8){b=m;s=o}else{I=m;break}}if(!(h<<24>>24)){f=-1;break}m=(u|0)>-1;do if(h<<24>>24==19)if(m){f=-1;break a}else K=52;else{if(m){k[e+(u<<2)>>2]=o;G=d+(u<<3)|0;H=k[G+4>>2]|0;K=ba;k[K>>2]=k[G>>2];k[K+4>>2]=H;K=52;break}if(!M){f=0;break a}fp(ba,o,c)}while(0);if((K|0)==52?(K=0,!M):0){h=w;y=I;continue}u=i[b>>0]|0;u=(s|0)!=0&(u&15|0)==3?u&-33:u;m=v&-65537;H=(v&8192|0)==0?v:m;f:do switch(u|0){case 110:switch(s|0){case 0:{k[k[ba>>2]>>2]=f;h=w;y=I;continue a}case 1:{k[k[ba>>2]>>2]=f;h=w;y=I;continue a}case 2:{h=k[ba>>2]|0;k[h>>2]=f;k[h+4>>2]=((f|0)<0)<<31>>31;h=w;y=I;continue a}case 3:{j[k[ba>>2]>>1]=f;h=w;y=I;continue a}case 4:{i[k[ba>>2]>>0]=f;h=w;y=I;continue a}case 6:{k[k[ba>>2]>>2]=f;h=w;y=I;continue a}case 7:{h=k[ba>>2]|0;k[h>>2]=f;k[h+4>>2]=((f|0)<0)<<31>>31;h=w;y=I;continue a}default:{h=w;y=I;continue a}}case 112:{s=H|8;q=q>>>0>8?q:8;u=120;K=64;break}case 88:case 120:{s=H;K=64;break}case 111:{m=ba;h=k[m>>2]|0;m=k[m+4>>2]|0;if((h|0)==0&(m|0)==0)b=N;else{b=N;do{b=b+-1|0;i[b>>0]=h&7|48;h=kq(h|0,m|0,3)|0;m=L}while(!((h|0)==0&(m|0)==0))}if(!(H&8)){h=H;s=0;o=11864;K=77}else{s=V-b|0;h=H;q=(q|0)>(s|0)?q:s+1|0;s=0;o=11864;K=77}break}case 105:case 100:{h=ba;b=k[h>>2]|0;h=k[h+4>>2]|0;if((h|0)<0){b=gq(0,0,b|0,h|0)|0;h=L;m=ba;k[m>>2]=b;k[m+4>>2]=h;m=1;o=11864;K=76;break f}if(!(H&2048)){o=H&1;m=o;o=(o|0)==0?11864:11866;K=76}else{m=1;o=11865;K=76}break}case 117:{h=ba;b=k[h>>2]|0;h=k[h+4>>2]|0;m=0;o=11864;K=76;break}case 99:{i[W>>0]=k[ba>>2];b=W;u=1;w=0;v=11864;h=N;break}case 109:{h=Xo()|0;h=hp(k[h>>2]|0)|0;K=82;break}case 115:{h=k[ba>>2]|0;h=h|0?h:13766;K=82;break}case 67:{k[ga>>2]=k[ba>>2];k[X>>2]=0;k[ba>>2]=ga;b=ga;q=-1;K=86;break}case 83:{b=k[ba>>2]|0;if(!q){jp(a,32,J,0,H);b=0;K=97}else K=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{n=+p[ba>>3];k[ea>>2]=0;p[t>>3]=n;if((k[t+4>>2]|0)>=0)if(!(H&2048)){G=H&1;F=G;G=(G|0)==0?13774:13779}else{F=1;G=13776}else{n=-n;F=1;G=13773}p[t>>3]=n;E=k[t+4>>2]&2146435072;do if(E>>>0<2146435072|(E|0)==2146435072&0<0){x=+mp(n,ea)*2.0;h=x!=0.0;if(h)k[ea>>2]=(k[ea>>2]|0)+-1;C=u|32;if((C|0)==97){v=u&32;y=(v|0)==0?G:G+9|0;w=F|2;b=12-q|0;do if(!(q>>>0>11|(b|0)==0)){n=8.0;do{b=b+-1|0;n=n*16.0}while((b|0)!=0);if((i[y>>0]|0)==45){n=-(n+(-x-n));break}else{n=x+n-n;break}}else n=x;while(0);h=k[ea>>2]|0;b=(h|0)<0?0-h|0:h;b=gp(b,((b|0)<0)<<31>>31,_)|0;if((b|0)==(_|0)){i[$>>0]=48;b=$}i[b+-1>>0]=(h>>31&2)+43;s=b+-2|0;i[s>>0]=u+15;o=(q|0)<1;m=(H&8|0)==0;h=da;while(1){G=~~n;b=h+1|0;i[h>>0]=l[11848+G>>0]|v;n=(n-+(G|0))*16.0;do if((b-Y|0)==1){if(m&(o&n==0.0))break;i[b>>0]=46;b=h+2|0}while(0);if(!(n!=0.0))break;else h=b}m=s;q=(q|0)!=0&(P+b|0)<(q|0)?Q+q-m|0:O-m+b|0;o=q+w|0;jp(a,32,J,o,H);if(!(k[a>>2]&32))dp(y,w,a)|0;jp(a,48,J,o,H^65536);h=b-Y|0;if(!(k[a>>2]&32))dp(da,h,a)|0;b=aa-m|0;jp(a,48,q-(h+b)|0,0,0);if(!(k[a>>2]&32))dp(s,b,a)|0;jp(a,32,J,o,H^8192);b=(o|0)<(J|0)?J:o;break}b=(q|0)<0?6:q;if(h){h=(k[ea>>2]|0)+-28|0;k[ea>>2]=h;n=x*268435456.0}else{n=x;h=k[ea>>2]|0}E=(h|0)<0?ca:R;D=E;h=E;do{B=~~n>>>0;k[h>>2]=B;h=h+4|0;n=(n-+(B>>>0))*1.0e9}while(n!=0.0);m=h;h=k[ea>>2]|0;if((h|0)>0){q=E;while(1){s=(h|0)>29?29:h;o=m+-4|0;do if(o>>>0>>0)o=q;else{h=0;do{B=iq(k[o>>2]|0,0,s|0)|0;B=jq(B|0,L|0,h|0,0)|0;h=L;A=uq(B|0,h|0,1e9,0)|0;k[o>>2]=A;h=tq(B|0,h|0,1e9,0)|0;o=o+-4|0}while(o>>>0>=q>>>0);if(!h){o=q;break}o=q+-4|0;k[o>>2]=h}while(0);while(1){if(m>>>0<=o>>>0)break;h=m+-4|0;if(!(k[h>>2]|0))m=h;else break}h=(k[ea>>2]|0)-s|0;k[ea>>2]=h;if((h|0)>0)q=o;else break}}else o=E;if((h|0)<0){y=((b+25|0)/9|0)+1|0;z=(C|0)==102;v=o;while(1){w=0-h|0;w=(w|0)>9?9:w;do if(v>>>0>>0){h=(1<>>w;o=0;s=v;do{B=k[s>>2]|0;k[s>>2]=(B>>>w)+o;o=ha(B&h,q)|0;s=s+4|0}while(s>>>0>>0);h=(k[v>>2]|0)==0?v+4|0:v;if(!o){o=h;break}k[m>>2]=o;o=h;m=m+4|0}else o=(k[v>>2]|0)==0?v+4|0:v;while(0);h=z?E:o;m=(m-h>>2|0)>(y|0)?h+(y<<2)|0:m;h=(k[ea>>2]|0)+w|0;k[ea>>2]=h;if((h|0)>=0){z=o;break}else v=o}}else z=o;do if(z>>>0>>0){h=(D-z>>2)*9|0;q=k[z>>2]|0;if(q>>>0<10)break;else o=10;do{o=o*10|0;h=h+1|0}while(q>>>0>=o>>>0)}else h=0;while(0);A=(C|0)==103;B=(b|0)!=0;o=b-((C|0)!=102?h:0)+((B&A)<<31>>31)|0;if((o|0)<(((m-D>>2)*9|0)+-9|0)){s=o+9216|0;o=E+4+(((s|0)/9|0)+-1024<<2)|0;s=((s|0)%9|0)+1|0;if((s|0)<9){q=10;do{q=q*10|0;s=s+1|0}while((s|0)!=9)}else q=10;w=k[o>>2]|0;y=(w>>>0)%(q>>>0)|0;s=(o+4|0)==(m|0);do if(s&(y|0)==0)q=z;else{x=(((w>>>0)/(q>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(q|0)/2|0;if(y>>>0>>0)n=.5;else n=s&(y|0)==(v|0)?1.0:1.5;do if(F){if((i[G>>0]|0)!=45)break;x=-x;n=-n}while(0);s=w-y|0;k[o>>2]=s;if(!(x+n!=x)){q=z;break}C=s+q|0;k[o>>2]=C;if(C>>>0>999999999){h=z;while(1){q=o+-4|0;k[o>>2]=0;if(q>>>0>>0){h=h+-4|0;k[h>>2]=0}C=(k[q>>2]|0)+1|0;k[q>>2]=C;if(C>>>0>999999999)o=q;else{v=h;o=q;break}}}else v=z;h=(D-v>>2)*9|0;s=k[v>>2]|0;if(s>>>0<10){q=v;break}else q=10;do{q=q*10|0;h=h+1|0}while(s>>>0>=q>>>0);q=v}while(0);C=o+4|0;z=q;m=m>>>0>C>>>0?C:m}w=0-h|0;while(1){if(m>>>0<=z>>>0){y=0;C=m;break}o=m+-4|0;if(!(k[o>>2]|0))m=o;else{y=1;C=m;break}}do if(A){b=(B&1^1)+b|0;if((b|0)>(h|0)&(h|0)>-5){u=u+-1|0;b=b+-1-h|0}else{u=u+-2|0;b=b+-1|0}m=H&8;if(m|0)break;do if(y){m=k[C+-4>>2]|0;if(!m){o=9;break}if(!((m>>>0)%10|0)){q=10;o=0}else{o=0;break}do{q=q*10|0;o=o+1|0}while(!((m>>>0)%(q>>>0)|0|0))}else o=9;while(0);m=((C-D>>2)*9|0)+-9|0;if((u|32|0)==102){m=m-o|0;m=(m|0)<0?0:m;b=(b|0)<(m|0)?b:m;m=0;break}else{m=m+h-o|0;m=(m|0)<0?0:m;b=(b|0)<(m|0)?b:m;m=0;break}}else m=H&8;while(0);v=b|m;q=(v|0)!=0&1;s=(u|32|0)==102;if(s){h=(h|0)>0?h:0;u=0}else{o=(h|0)<0?w:h;o=gp(o,((o|0)<0)<<31>>31,_)|0;if((aa-o|0)<2)do{o=o+-1|0;i[o>>0]=48}while((aa-o|0)<2);i[o+-1>>0]=(h>>31&2)+43;D=o+-2|0;i[D>>0]=u;h=aa-D|0;u=D}w=F+1+b+q+h|0;jp(a,32,J,w,H);if(!(k[a>>2]&32))dp(G,F,a)|0;jp(a,48,J,w,H^65536);do if(s){o=z>>>0>E>>>0?E:z;h=o;do{m=gp(k[h>>2]|0,0,S)|0;do if((h|0)==(o|0)){if((m|0)!=(S|0))break;i[U>>0]=48;m=U}else{if(m>>>0<=da>>>0)break;hq(da|0,48,m-Y|0)|0;do m=m+-1|0;while(m>>>0>da>>>0)}while(0);if(!(k[a>>2]&32))dp(m,T-m|0,a)|0;h=h+4|0}while(h>>>0<=E>>>0);do if(v|0){if(k[a>>2]&32|0)break;dp(13808,1,a)|0}while(0);if((b|0)>0&h>>>0>>0){m=h;while(1){h=gp(k[m>>2]|0,0,S)|0;if(h>>>0>da>>>0){hq(da|0,48,h-Y|0)|0;do h=h+-1|0;while(h>>>0>da>>>0)}if(!(k[a>>2]&32))dp(h,(b|0)>9?9:b,a)|0;m=m+4|0;h=b+-9|0;if(!((b|0)>9&m>>>0>>0)){b=h;break}else b=h}}jp(a,48,b+9|0,9,0)}else{s=y?C:z+4|0;if((b|0)>-1){q=(m|0)==0;o=z;do{h=gp(k[o>>2]|0,0,S)|0;if((h|0)==(S|0)){i[U>>0]=48;h=U}do if((o|0)==(z|0)){m=h+1|0;if(!(k[a>>2]&32))dp(h,1,a)|0;if(q&(b|0)<1){h=m;break}if(k[a>>2]&32|0){h=m;break}dp(13808,1,a)|0;h=m}else{if(h>>>0<=da>>>0)break;hq(da|0,48,h+Z|0)|0;do h=h+-1|0;while(h>>>0>da>>>0)}while(0);m=T-h|0;if(!(k[a>>2]&32))dp(h,(b|0)>(m|0)?m:b,a)|0;b=b-m|0;o=o+4|0}while(o>>>0>>0&(b|0)>-1)}jp(a,48,b+18|0,18,0);if(k[a>>2]&32|0)break;dp(u,aa-u|0,a)|0}while(0);jp(a,32,J,w,H^8192);b=(w|0)<(J|0)?J:w}else{s=(u&32|0)!=0;q=n!=n|0.0!=0.0;h=q?0:F;o=h+3|0;jp(a,32,J,o,m);b=k[a>>2]|0;if(!(b&32)){dp(G,h,a)|0;b=k[a>>2]|0}if(!(b&32))dp(q?(s?13800:13804):s?13792:13796,3,a)|0;jp(a,32,J,o,H^8192);b=(o|0)<(J|0)?J:o}while(0);h=b;y=I;continue a}default:{b=y;m=H;u=q;w=0;v=11864;h=N}}while(0);g:do if((K|0)==64){m=ba;h=k[m>>2]|0;m=k[m+4>>2]|0;o=u&32;if(!((h|0)==0&(m|0)==0)){b=N;do{b=b+-1|0;i[b>>0]=l[11848+(h&15)>>0]|o;h=kq(h|0,m|0,4)|0;m=L}while(!((h|0)==0&(m|0)==0));K=ba;if((s&8|0)==0|(k[K>>2]|0)==0&(k[K+4>>2]|0)==0){h=s;s=0;o=11864;K=77}else{h=s;s=2;o=11864+(u>>4)|0;K=77}}else{b=N;h=s;s=0;o=11864;K=77}}else if((K|0)==76){b=gp(b,h,N)|0;h=H;s=m;K=77}else if((K|0)==82){K=0;H=ip(h,0,q)|0;G=(H|0)==0;b=h;u=G?q:H-h|0;w=0;v=11864;h=G?h+q|0:H}else if((K|0)==86){K=0;m=0;h=0;s=b;while(1){o=k[s>>2]|0;if(!o)break;h=kp(fa,o)|0;if((h|0)<0|h>>>0>(q-m|0)>>>0)break;m=h+m|0;if(q>>>0>m>>>0)s=s+4|0;else break}if((h|0)<0){f=-1;break a}jp(a,32,J,m,H);if(!m){b=0;K=97}else{o=0;while(1){h=k[b>>2]|0;if(!h){b=m;K=97;break g}h=kp(fa,h)|0;o=h+o|0;if((o|0)>(m|0)){b=m;K=97;break g}if(!(k[a>>2]&32))dp(fa,h,a)|0;if(o>>>0>=m>>>0){b=m;K=97;break}else b=b+4|0}}}while(0);if((K|0)==97){K=0;jp(a,32,J,b,H^8192);h=(J|0)>(b|0)?J:b;y=I;continue}if((K|0)==77){K=0;m=(q|0)>-1?h&-65537:h;h=ba;h=(k[h>>2]|0)!=0|(k[h+4>>2]|0)!=0;if((q|0)!=0|h){u=(h&1^1)+(V-b)|0;u=(q|0)>(u|0)?q:u;w=s;v=o;h=N}else{b=N;u=0;w=s;v=o;h=N}}s=h-b|0;o=(u|0)<(s|0)?s:u;q=w+o|0;h=(J|0)<(q|0)?q:J;jp(a,32,h,q,m);if(!(k[a>>2]&32))dp(v,w,a)|0;jp(a,48,h,q,m^65536);jp(a,48,o,s,0);if(!(k[a>>2]&32))dp(b,s,a)|0;jp(a,32,h,q,m^8192);y=I}h:do if((K|0)==244)if(!a)if(g){f=1;while(1){g=k[e+(f<<2)>>2]|0;if(!g)break;fp(d+(f<<3)|0,g,c);f=f+1|0;if((f|0)>=10){f=1;break h}}if((f|0)<10)while(1){if(k[e+(f<<2)>>2]|0){f=-1;break h}f=f+1|0;if((f|0)>=10){f=1;break}}else f=1}else f=0;while(0);r=ia;return f|0}function dp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=c+16|0;e=k[d>>2]|0;if(!e)if(!(ep(c)|0)){e=k[d>>2]|0;f=5}else d=0;else f=5;a:do if((f|0)==5){g=c+20|0;d=k[g>>2]|0;f=d;if((e-d|0)>>>0>>0){d=_a[k[c+36>>2]&31](c,a,b)|0;break}b:do if((i[c+75>>0]|0)>-1){d=b;while(1){if(!d){e=f;d=0;break b}e=d+-1|0;if((i[a+e>>0]|0)==10)break;else d=e}if((_a[k[c+36>>2]&31](c,a,d)|0)>>>0>>0)break a;b=b-d|0;a=a+d|0;e=k[g>>2]|0}else{e=f;d=0}while(0);lq(e|0,a|0,b|0)|0;k[g>>2]=(k[g>>2]|0)+b;d=d+b|0}while(0);return d|0}function ep(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;b=k[a+44>>2]|0;k[a+28>>2]=b;k[a+20>>2]=b;k[a+16>>2]=b+(k[a+48>>2]|0);b=0}else{k[a>>2]=b|32;b=-1}return b|0}function fp(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 gp(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=uq(a|0,b|0,10,0)|0;c=c+-1|0;i[c>>0]=d|48;d=tq(a|0,b|0,10,0)|0;if(b>>>0>9|(b|0)==9&a>>>0>4294967295){a=d;b=L}else{a=d;break}}if(a)while(1){c=c+-1|0;i[c>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}return c|0}function hp(a){a=a|0;var b=0,c=0;b=0;while(1){if((l[11874+b>>0]|0)==(a|0)){c=2;break}b=b+1|0;if((b|0)==87){b=87;a=11962;c=5;break}}if((c|0)==2)if(!b)a=11962;else{a=11962;c=5}if((c|0)==5)while(1){c=a;while(1){a=c+1|0;if(!(i[c>>0]|0))break;else c=a}b=b+-1|0;if(!b)break;else c=5}return a|0}function ip(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=ha(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 jp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=r;r=r+256|0;g=h;do if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;hq(g|0,b|0,(e>>>0>256?256:e)|0)|0;b=k[a>>2]|0;f=(b&32|0)==0;if(e>>>0>255){d=c-d|0;do{if(f){dp(g,256,a)|0;b=k[a>>2]|0}e=e+-256|0;f=(b&32|0)==0}while(e>>>0>255);if(f)e=d&255;else break}else if(!f)break;dp(g,e,a)|0}while(0);r=h;return}function kp(a,b){a=a|0;b=b|0;if(!a)a=0;else a=lp(a,b,0)|0;return a|0}function lp(a,b,c){a=a|0;b=b|0;c=c|0;do if(a){if(b>>>0<128){i[a>>0]=b;a=1;break}if(b>>>0<2048){i[a>>0]=b>>>6|192;i[a+1>>0]=b&63|128;a=2;break}if(b>>>0<55296|(b&-8192|0)==57344){i[a>>0]=b>>>12|224;i[a+1>>0]=b>>>6&63|128;i[a+2>>0]=b&63|128;a=3;break}if((b+-65536|0)>>>0<1048576){i[a>>0]=b>>>18|240;i[a+1>>0]=b>>>12&63|128;i[a+2>>0]=b>>>6&63|128;i[a+3>>0]=b&63|128;a=4;break}else{a=Xo()|0;k[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function mp(a,b){a=+a;b=b|0;return +(+np(a,b))}function np(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[t>>3]=a;c=k[t>>2]|0;d=k[t+4>>2]|0;e=kq(c|0,d|0,52)|0;e=e&2047;switch(e|0){case 0:{if(a!=0.0){a=+np(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+-1022;k[t>>2]=c;k[t+4>>2]=d&-2146435073|1071644672;a=+p[t>>3]}}return +a}function op(a){a=a|0;return 0}function pp(a,b){a=a|0;b=b|0;var c=0,d=0;d=i[a>>0]|0;c=i[b>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=c<<24>>24)b=d;else{do{a=a+1|0;b=b+1|0;d=i[a>>0]|0;c=i[b>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=c<<24>>24));b=d}return (b&255)-(c&255)|0}function qp(a){a=a|0;var b=0,c=0;do if(a){if((k[a+76>>2]|0)<=-1){b=rp(a)|0;break}c=(op(a)|0)==0;b=rp(a)|0;if(!c)_o(a)}else{if(!(k[1235]|0))b=0;else b=qp(k[1235]|0)|0;Ra(14588);a=k[3646]|0;if(a)do{if((k[a+76>>2]|0)>-1)c=op(a)|0;else c=0;if((k[a+20>>2]|0)>>>0>(k[a+28>>2]|0)>>>0)b=rp(a)|0|b;if(c|0)_o(a);a=k[a+56>>2]|0}while((a|0)!=0);Oa(14588)}while(0);return b|0}function rp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=a+20|0;f=a+28|0;if((k[b>>2]|0)>>>0>(k[f>>2]|0)>>>0?(_a[k[a+36>>2]&31](a,0,0)|0,(k[b>>2]|0)==0):0)b=-1;else{g=a+4|0;c=k[g>>2]|0;d=a+8|0;e=k[d>>2]|0;if(c>>>0>>0)_a[k[a+40>>2]&31](a,c-e|0,1)|0;k[a+16>>2]=0;k[f>>2]=0;k[b>>2]=0;k[d>>2]=0;k[g>>2]=0;b=0}return b|0}function sp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;h=j;g=b&255;i[h>>0]=g;d=a+16|0;e=k[d>>2]|0;if(!e)if(!(ep(a)|0)){e=k[d>>2]|0;f=4}else c=-1;else f=4;do if((f|0)==4){d=a+20|0;f=k[d>>2]|0;if(f>>>0>>0?(c=b&255,(c|0)!=(i[a+75>>0]|0)):0){k[d>>2]=f+1;i[f>>0]=g;break}if((_a[k[a+36>>2]&31](a,h,1)|0)==1)c=l[h>>0]|0;else c=-1}while(0);r=j;return c|0}function tp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=ha(c,b)|0;if((k[d+76>>2]|0)>-1){f=(op(d)|0)==0;a=dp(a,e,d)|0;if(!f)_o(d)}else a=dp(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function up(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;if((k[b+76>>2]|0)>=0?(op(b)|0)!=0:0){if((i[b+75>>0]|0)!=(a|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]=a;c=a&255}else c=sp(b,a)|0;_o(b)}else g=3;do if((g|0)==3){if((i[b+75>>0]|0)!=(a|0)?(f=b+20|0,c=k[f>>2]|0,c>>>0<(k[b+16>>2]|0)>>>0):0){k[f>>2]=c+1;i[c>>0]=a;c=a&255;break}c=sp(b,a)|0}while(0);return c|0}function vp(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=k[3652]|0;b=i>>>a;if(b&3|0){b=(b&1^1)+a|0;c=14648+(b<<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[3656]|0)>>>0)ya();a=g+12|0;if((k[a>>2]|0)==(e|0)){k[a>>2]=c;k[d>>2]=g;break}else ya()}else k[3652]=i&~(1<>2]=L|3;L=e+L+4|0;k[L>>2]=k[L>>2]|1;L=f;return L|0}g=k[3654]|0;if(o>>>0>g>>>0){if(b|0){c=2<>>12&16;c=c>>>h;e=c>>>5&8;c=c>>>e;f=c>>>2&4;c=c>>>f;d=c>>>1&2;c=c>>>d;b=c>>>1&1;b=(e|h|f|d|b)+(c>>>b)|0;c=14648+(b<<1<<2)|0;d=c+8|0;f=k[d>>2]|0;h=f+8|0;e=k[h>>2]|0;do if((c|0)!=(e|0)){if(e>>>0<(k[3656]|0)>>>0)ya();a=e+12|0;if((k[a>>2]|0)==(f|0)){k[a>>2]=c;k[d>>2]=e;j=k[3654]|0;break}else ya()}else{k[3652]=i&~(1<>2]=o|3;d=f+o|0;k[d+4>>2]=g|1;k[d+g>>2]=g;if(j|0){e=k[3657]|0;b=j>>>3;c=14648+(b<<1<<2)|0;a=k[3652]|0;b=1<>2]|0;if(b>>>0<(k[3656]|0)>>>0)ya();else{l=a;m=b}}else{k[3652]=a|b;l=c+8|0;m=c}k[l>>2]=e;k[m+12>>2]=e;k[e+8>>2]=m;k[e+12>>2]=c}k[3654]=g;k[3657]=d;L=h;return L|0}a=k[3653]|0;if(a){c=(a&0-a)+-1|0;K=c>>>12&16;c=c>>>K;J=c>>>5&8;c=c>>>J;L=c>>>2&4;c=c>>>L;b=c>>>1&2;c=c>>>b;d=c>>>1&1;d=k[14912+((J|K|L|b|d)+(c>>>d)<<2)>>2]|0;c=(k[d+4>>2]&-8)-o|0;b=d;while(1){a=k[b+16>>2]|0;if(!a){a=k[b+20>>2]|0;if(!a){i=d;break}}b=(k[a+4>>2]&-8)-o|0;L=b>>>0>>0;c=L?b:c;b=a;d=L?a:d}f=k[3656]|0;if(i>>>0>>0)ya();h=i+o|0;if(i>>>0>=h>>>0)ya();g=k[i+24>>2]|0;d=k[i+12>>2]|0;do if((d|0)==(i|0)){b=i+20|0;a=k[b>>2]|0;if(!a){b=i+16|0;a=k[b>>2]|0;if(!a){n=0;break}}while(1){d=a+20|0;e=k[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=k[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0>>0)ya();else{k[b>>2]=0;n=a;break}}else{e=k[i+8>>2]|0;if(e>>>0>>0)ya();a=e+12|0;if((k[a>>2]|0)!=(i|0))ya();b=d+8|0;if((k[b>>2]|0)==(i|0)){k[a>>2]=d;k[b>>2]=e;n=d;break}else ya()}while(0);do if(g|0){a=k[i+28>>2]|0;b=14912+(a<<2)|0;if((i|0)==(k[b>>2]|0)){k[b>>2]=n;if(!n){k[3653]=k[3653]&~(1<>>0<(k[3656]|0)>>>0)ya();a=g+16|0;if((k[a>>2]|0)==(i|0))k[a>>2]=n;else k[g+20>>2]=n;if(!n)break}b=k[3656]|0;if(n>>>0>>0)ya();k[n+24>>2]=g;a=k[i+16>>2]|0;do if(a|0)if(a>>>0>>0)ya();else{k[n+16>>2]=a;k[a+24>>2]=n;break}while(0);a=k[i+20>>2]|0;if(a|0)if(a>>>0<(k[3656]|0)>>>0)ya();else{k[n+20>>2]=a;k[a+24>>2]=n;break}}while(0);if(c>>>0<16){L=c+o|0;k[i+4>>2]=L|3;L=i+L+4|0;k[L>>2]=k[L>>2]|1}else{k[i+4>>2]=o|3;k[h+4>>2]=c|1;k[h+c>>2]=c;a=k[3654]|0;if(a|0){e=k[3657]|0;b=a>>>3;d=14648+(b<<1<<2)|0;a=k[3652]|0;b=1<>2]|0;if(b>>>0<(k[3656]|0)>>>0)ya();else{p=a;q=b}}else{k[3652]=a|b;p=d+8|0;q=d}k[p>>2]=e;k[q+12>>2]=e;k[e+8>>2]=q;k[e+12>>2]=d}k[3654]=c;k[3657]=h}L=i+8|0;return L|0}}}else if(a>>>0<=4294967231){a=a+11|0;o=a&-8;i=k[3653]|0;if(i){c=0-o|0;a=a>>>8;if(a)if(o>>>0>16777215)h=31;else{q=(a+1048320|0)>>>16&8;E=a<>>16&4;E=E<>>16&2;h=14-(p|q|h)+(E<>>15)|0;h=o>>>(h+7|0)&1|h<<1}else h=0;b=k[14912+(h<<2)>>2]|0;a:do if(!b){a=0;b=0;E=86}else{e=c;a=0;f=o<<((h|0)==31?0:25-(h>>>1)|0);g=b;b=0;while(1){d=k[g+4>>2]&-8;c=d-o|0;if(c>>>0>>0)if((d|0)==(o|0)){a=g;b=g;E=90;break a}else b=g;else c=e;d=k[g+20>>2]|0;g=k[g+16+(f>>>31<<2)>>2]|0;a=(d|0)==0|(d|0)==(g|0)?a:d;d=(g|0)==0;if(d){E=86;break}else{e=c;f=f<<(d&1^1)}}}while(0);if((E|0)==86){if((a|0)==0&(b|0)==0){a=2<>>12&16;q=q>>>m;l=q>>>5&8;q=q>>>l;n=q>>>2&4;q=q>>>n;p=q>>>1&2;q=q>>>p;a=q>>>1&1;a=k[14912+((l|m|n|p|a)+(q>>>a)<<2)>>2]|0}if(!a){h=c;i=b}else E=90}if((E|0)==90)while(1){E=0;q=(k[a+4>>2]&-8)-o|0;d=q>>>0>>0;c=d?q:c;b=d?a:b;d=k[a+16>>2]|0;if(d|0){a=d;E=90;continue}a=k[a+20>>2]|0;if(!a){h=c;i=b;break}else E=90}if((i|0)!=0?h>>>0<((k[3654]|0)-o|0)>>>0:0){e=k[3656]|0;if(i>>>0>>0)ya();g=i+o|0;if(i>>>0>=g>>>0)ya();f=k[i+24>>2]|0;c=k[i+12>>2]|0;do if((c|0)==(i|0)){b=i+20|0;a=k[b>>2]|0;if(!a){b=i+16|0;a=k[b>>2]|0;if(!a){s=0;break}}while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0>>0)ya();else{k[b>>2]=0;s=a;break}}else{d=k[i+8>>2]|0;if(d>>>0>>0)ya();a=d+12|0;if((k[a>>2]|0)!=(i|0))ya();b=c+8|0;if((k[b>>2]|0)==(i|0)){k[a>>2]=c;k[b>>2]=d;s=c;break}else ya()}while(0);do if(f|0){a=k[i+28>>2]|0;b=14912+(a<<2)|0;if((i|0)==(k[b>>2]|0)){k[b>>2]=s;if(!s){k[3653]=k[3653]&~(1<>>0<(k[3656]|0)>>>0)ya();a=f+16|0;if((k[a>>2]|0)==(i|0))k[a>>2]=s;else k[f+20>>2]=s;if(!s)break}b=k[3656]|0;if(s>>>0>>0)ya();k[s+24>>2]=f;a=k[i+16>>2]|0;do if(a|0)if(a>>>0>>0)ya();else{k[s+16>>2]=a;k[a+24>>2]=s;break}while(0);a=k[i+20>>2]|0;if(a|0)if(a>>>0<(k[3656]|0)>>>0)ya();else{k[s+20>>2]=a;k[a+24>>2]=s;break}}while(0);do if(h>>>0>=16){k[i+4>>2]=o|3;k[g+4>>2]=h|1;k[g+h>>2]=h;a=h>>>3;if(h>>>0<256){c=14648+(a<<1<<2)|0;b=k[3652]|0;a=1<>2]|0;if(b>>>0<(k[3656]|0)>>>0)ya();else{u=a;v=b}}else{k[3652]=b|a;u=c+8|0;v=c}k[u>>2]=g;k[v+12>>2]=g;k[g+8>>2]=v;k[g+12>>2]=c;break}a=h>>>8;if(a)if(h>>>0>16777215)c=31;else{K=(a+1048320|0)>>>16&8;L=a<>>16&4;L=L<>>16&2;c=14-(J|K|c)+(L<>>15)|0;c=h>>>(c+7|0)&1|c<<1}else c=0;d=14912+(c<<2)|0;k[g+28>>2]=c;a=g+16|0;k[a+4>>2]=0;k[a>>2]=0;a=k[3653]|0;b=1<>2]=g;k[g+24>>2]=d;k[g+12>>2]=g;k[g+8>>2]=g;break}e=h<<((c|0)==31?0:25-(c>>>1)|0);a=k[d>>2]|0;while(1){if((k[a+4>>2]&-8|0)==(h|0)){c=a;E=148;break}b=a+16+(e>>>31<<2)|0;c=k[b>>2]|0;if(!c){E=145;break}else{e=e<<1;a=c}}if((E|0)==145)if(b>>>0<(k[3656]|0)>>>0)ya();else{k[b>>2]=g;k[g+24>>2]=a;k[g+12>>2]=g;k[g+8>>2]=g;break}else if((E|0)==148){a=c+8|0;b=k[a>>2]|0;L=k[3656]|0;if(b>>>0>=L>>>0&c>>>0>=L>>>0){k[b+12>>2]=g;k[a>>2]=g;k[g+8>>2]=b;k[g+12>>2]=c;k[g+24>>2]=0;break}else ya()}}else{L=h+o|0;k[i+4>>2]=L|3;L=i+L+4|0;k[L>>2]=k[L>>2]|1}while(0);L=i+8|0;return L|0}}}else o=-1;while(0);c=k[3654]|0;if(c>>>0>=o>>>0){a=c-o|0;b=k[3657]|0;if(a>>>0>15){L=b+o|0;k[3657]=L;k[3654]=a;k[L+4>>2]=a|1;k[L+a>>2]=a;k[b+4>>2]=o|3}else{k[3654]=0;k[3657]=0;k[b+4>>2]=c|3;L=b+c+4|0;k[L>>2]=k[L>>2]|1}L=b+8|0;return L|0}a=k[3655]|0;if(a>>>0>o>>>0){J=a-o|0;k[3655]=J;L=k[3658]|0;K=L+o|0;k[3658]=K;k[K+4>>2]=J|1;k[L+4>>2]=o|3;L=L+8|0;return L|0}do if(!(k[3770]|0)){a=Ja(30)|0;if(!(a+-1&a)){k[3772]=a;k[3771]=a;k[3773]=-1;k[3774]=-1;k[3775]=0;k[3763]=0;v=(Ua(0)|0)&-16^1431655768;k[3770]=v;break}else ya()}while(0);g=o+48|0;f=k[3772]|0;h=o+47|0;e=f+h|0;f=0-f|0;i=e&f;if(i>>>0<=o>>>0){L=0;return L|0}a=k[3762]|0;if(a|0?(u=k[3760]|0,v=u+i|0,v>>>0<=u>>>0|v>>>0>a>>>0):0){L=0;return L|0}b:do if(!(k[3763]&4)){a=k[3658]|0;c:do if(a){c=15056;while(1){b=k[c>>2]|0;if(b>>>0<=a>>>0?(r=c+4|0,(b+(k[r>>2]|0)|0)>>>0>a>>>0):0){d=c;c=r;break}c=k[c+8>>2]|0;if(!c){E=173;break c}}a=e-(k[3655]|0)&f;if(a>>>0<2147483647){b=Ea(a|0)|0;if((b|0)==((k[d>>2]|0)+(k[c>>2]|0)|0)){if((b|0)!=(-1|0)){g=b;e=a;E=193;break b}}else E=183}}else E=173;while(0);do if((E|0)==173?(t=Ea(0)|0,(t|0)!=(-1|0)):0){a=t;b=k[3771]|0;c=b+-1|0;if(!(c&a))a=i;else a=i-a+(c+a&0-b)|0;b=k[3760]|0;c=b+a|0;if(a>>>0>o>>>0&a>>>0<2147483647){v=k[3762]|0;if(v|0?c>>>0<=b>>>0|c>>>0>v>>>0:0)break;b=Ea(a|0)|0;if((b|0)==(t|0)){g=t;e=a;E=193;break b}else E=183}}while(0);d:do if((E|0)==183){c=0-a|0;do if(g>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(w=k[3772]|0,w=h-a+w&0-w,w>>>0<2147483647):0)if((Ea(w|0)|0)==(-1|0)){Ea(c|0)|0;break d}else{a=w+a|0;break}while(0);if((b|0)!=(-1|0)){g=b;e=a;E=193;break b}}while(0);k[3763]=k[3763]|4;E=190}else E=190;while(0);if((((E|0)==190?i>>>0<2147483647:0)?(x=Ea(i|0)|0,y=Ea(0)|0,x>>>0>>0&((x|0)!=(-1|0)&(y|0)!=(-1|0))):0)?(z=y-x|0,z>>>0>(o+40|0)>>>0):0){g=x;e=z;E=193}if((E|0)==193){a=(k[3760]|0)+e|0;k[3760]=a;if(a>>>0>(k[3761]|0)>>>0)k[3761]=a;h=k[3658]|0;do if(h){d=15056;do{a=k[d>>2]|0;b=d+4|0;c=k[b>>2]|0;if((g|0)==(a+c|0)){A=a;B=b;C=c;D=d;E=203;break}d=k[d+8>>2]|0}while((d|0)!=0);if(((E|0)==203?(k[D+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=A>>>0:0){k[B>>2]=C+e;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=h+L|0;L=e-L+(k[3655]|0)|0;k[3658]=K;k[3655]=L;k[K+4>>2]=L|1;k[K+L+4>>2]=40;k[3659]=k[3774];break}a=k[3656]|0;if(g>>>0>>0){k[3656]=g;i=g}else i=a;c=g+e|0;a=15056;while(1){if((k[a>>2]|0)==(c|0)){b=a;E=211;break}a=k[a+8>>2]|0;if(!a){b=15056;break}}if((E|0)==211)if(!(k[a+12>>2]&8)){k[b>>2]=g;l=a+4|0;k[l>>2]=(k[l>>2]|0)+e;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;a=c+8|0;a=c+((a&7|0)==0?0:0-a&7)|0;j=l+o|0;f=a-l-o|0;k[l+4>>2]=o|3;do if((a|0)!=(h|0)){if((a|0)==(k[3657]|0)){L=(k[3654]|0)+f|0;k[3654]=L;k[3657]=j;k[j+4>>2]=L|1;k[j+L>>2]=L;break}b=k[a+4>>2]|0;if((b&3|0)==1){h=b&-8;e=b>>>3;e:do if(b>>>0>=256){g=k[a+24>>2]|0;d=k[a+12>>2]|0;do if((d|0)==(a|0)){c=a+16|0;d=c+4|0;b=k[d>>2]|0;if(!b){b=k[c>>2]|0;if(!b){J=0;break}}else c=d;while(1){d=b+20|0;e=k[d>>2]|0;if(e|0){b=e;c=d;continue}d=b+16|0;e=k[d>>2]|0;if(!e)break;else{b=e;c=d}}if(c>>>0>>0)ya();else{k[c>>2]=0;J=b;break}}else{e=k[a+8>>2]|0;if(e>>>0>>0)ya();b=e+12|0;if((k[b>>2]|0)!=(a|0))ya();c=d+8|0;if((k[c>>2]|0)==(a|0)){k[b>>2]=d;k[c>>2]=e;J=d;break}else ya()}while(0);if(!g)break;b=k[a+28>>2]|0;c=14912+(b<<2)|0;do if((a|0)!=(k[c>>2]|0)){if(g>>>0<(k[3656]|0)>>>0)ya();b=g+16|0;if((k[b>>2]|0)==(a|0))k[b>>2]=J;else k[g+20>>2]=J;if(!J)break e}else{k[c>>2]=J;if(J|0)break;k[3653]=k[3653]&~(1<>>0>>0)ya();k[J+24>>2]=g;b=a+16|0;c=k[b>>2]|0;do if(c|0)if(c>>>0>>0)ya();else{k[J+16>>2]=c;k[c+24>>2]=J;break}while(0);b=k[b+4>>2]|0;if(!b)break;if(b>>>0<(k[3656]|0)>>>0)ya();else{k[J+20>>2]=b;k[b+24>>2]=J;break}}else{c=k[a+8>>2]|0;d=k[a+12>>2]|0;b=14648+(e<<1<<2)|0;do if((c|0)!=(b|0)){if(c>>>0>>0)ya();if((k[c+12>>2]|0)==(a|0))break;ya()}while(0);if((d|0)==(c|0)){k[3652]=k[3652]&~(1<>>0>>0)ya();b=d+8|0;if((k[b>>2]|0)==(a|0)){G=b;break}ya()}while(0);k[c+12>>2]=d;k[G>>2]=c}while(0);a=a+h|0;f=h+f|0}a=a+4|0;k[a>>2]=k[a>>2]&-2;k[j+4>>2]=f|1;k[j+f>>2]=f;a=f>>>3;if(f>>>0<256){c=14648+(a<<1<<2)|0;b=k[3652]|0;a=1<>2]|0;if(b>>>0>=(k[3656]|0)>>>0){K=a;L=b;break}ya()}while(0);k[K>>2]=j;k[L+12>>2]=j;k[j+8>>2]=L;k[j+12>>2]=c;break}a=f>>>8;do if(!a)c=0;else{if(f>>>0>16777215){c=31;break}K=(a+1048320|0)>>>16&8;L=a<>>16&4;L=L<>>16&2;c=14-(J|K|c)+(L<>>15)|0;c=f>>>(c+7|0)&1|c<<1}while(0);d=14912+(c<<2)|0;k[j+28>>2]=c;a=j+16|0;k[a+4>>2]=0;k[a>>2]=0;a=k[3653]|0;b=1<>2]=j;k[j+24>>2]=d;k[j+12>>2]=j;k[j+8>>2]=j;break}e=f<<((c|0)==31?0:25-(c>>>1)|0);a=k[d>>2]|0;while(1){if((k[a+4>>2]&-8|0)==(f|0)){c=a;E=281;break}b=a+16+(e>>>31<<2)|0;c=k[b>>2]|0;if(!c){E=278;break}else{e=e<<1;a=c}}if((E|0)==278)if(b>>>0<(k[3656]|0)>>>0)ya();else{k[b>>2]=j;k[j+24>>2]=a;k[j+12>>2]=j;k[j+8>>2]=j;break}else if((E|0)==281){a=c+8|0;b=k[a>>2]|0;L=k[3656]|0;if(b>>>0>=L>>>0&c>>>0>=L>>>0){k[b+12>>2]=j;k[a>>2]=j;k[j+8>>2]=b;k[j+12>>2]=c;k[j+24>>2]=0;break}else ya()}}else{L=(k[3655]|0)+f|0;k[3655]=L;k[3658]=j;k[j+4>>2]=L|1}while(0);L=l+8|0;return L|0}else b=15056;while(1){a=k[b>>2]|0;if(a>>>0<=h>>>0?(F=a+(k[b+4>>2]|0)|0,F>>>0>h>>>0):0){b=F;break}b=k[b+8>>2]|0}f=b+-47|0;c=f+8|0;c=f+((c&7|0)==0?0:0-c&7)|0;f=h+16|0;c=c>>>0>>0?h:c;a=c+8|0;d=g+8|0;d=(d&7|0)==0?0:0-d&7;L=g+d|0;d=e+-40-d|0;k[3658]=L;k[3655]=d;k[L+4>>2]=d|1;k[L+d+4>>2]=40;k[3659]=k[3774];d=c+4|0;k[d>>2]=27;k[a>>2]=k[3764];k[a+4>>2]=k[3765];k[a+8>>2]=k[3766];k[a+12>>2]=k[3767];k[3764]=g;k[3765]=e;k[3767]=0;k[3766]=a;a=c+24|0;do{a=a+4|0;k[a>>2]=7}while((a+4|0)>>>0>>0);if((c|0)!=(h|0)){g=c-h|0;k[d>>2]=k[d>>2]&-2;k[h+4>>2]=g|1;k[c>>2]=g;a=g>>>3;if(g>>>0<256){c=14648+(a<<1<<2)|0;b=k[3652]|0;a=1<>2]|0;if(b>>>0<(k[3656]|0)>>>0)ya();else{H=a;I=b}}else{k[3652]=b|a;H=c+8|0;I=c}k[H>>2]=h;k[I+12>>2]=h;k[h+8>>2]=I;k[h+12>>2]=c;break}a=g>>>8;if(a)if(g>>>0>16777215)c=31;else{K=(a+1048320|0)>>>16&8;L=a<>>16&4;L=L<>>16&2;c=14-(J|K|c)+(L<>>15)|0;c=g>>>(c+7|0)&1|c<<1}else c=0;e=14912+(c<<2)|0;k[h+28>>2]=c;k[h+20>>2]=0;k[f>>2]=0;a=k[3653]|0;b=1<>2]=h;k[h+24>>2]=e;k[h+12>>2]=h;k[h+8>>2]=h;break}d=g<<((c|0)==31?0:25-(c>>>1)|0);a=k[e>>2]|0;while(1){if((k[a+4>>2]&-8|0)==(g|0)){c=a;E=307;break}b=a+16+(d>>>31<<2)|0;c=k[b>>2]|0;if(!c){E=304;break}else{d=d<<1;a=c}}if((E|0)==304)if(b>>>0<(k[3656]|0)>>>0)ya();else{k[b>>2]=h;k[h+24>>2]=a;k[h+12>>2]=h;k[h+8>>2]=h;break}else if((E|0)==307){a=c+8|0;b=k[a>>2]|0;L=k[3656]|0;if(b>>>0>=L>>>0&c>>>0>=L>>>0){k[b+12>>2]=h;k[a>>2]=h;k[h+8>>2]=b;k[h+12>>2]=c;k[h+24>>2]=0;break}else ya()}}}else{L=k[3656]|0;if((L|0)==0|g>>>0>>0)k[3656]=g;k[3764]=g;k[3765]=e;k[3767]=0;k[3661]=k[3770];k[3660]=-1;a=0;do{L=14648+(a<<1<<2)|0;k[L+12>>2]=L;k[L+8>>2]=L;a=a+1|0}while((a|0)!=32);L=g+8|0;L=(L&7|0)==0?0:0-L&7;K=g+L|0;L=e+-40-L|0;k[3658]=K;k[3655]=L;k[K+4>>2]=L|1;k[K+L+4>>2]=40;k[3659]=k[3774]}while(0);a=k[3655]|0;if(a>>>0>o>>>0){J=a-o|0;k[3655]=J;L=k[3658]|0;K=L+o|0;k[3658]=K;k[K+4>>2]=J|1;k[L+4>>2]=o|3;L=L+8|0;return L|0}}L=Xo()|0;k[L>>2]=12;L=0;return L|0}function wp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!a)return;c=a+-8|0;g=k[3656]|0;if(c>>>0>>0)ya();a=k[a+-4>>2]|0;b=a&3;if((b|0)==1)ya();d=a&-8;m=c+d|0;do if(!(a&1)){a=k[c>>2]|0;if(!b)return;j=c+(0-a)|0;i=a+d|0;if(j>>>0>>0)ya();if((j|0)==(k[3657]|0)){a=m+4|0;b=k[a>>2]|0;if((b&3|0)!=3){q=j;f=i;break}k[3654]=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=14648+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0>>0)ya();if((k[b+12>>2]|0)!=(j|0))ya()}if((c|0)==(b|0)){k[3652]=k[3652]&~(1<>>0>>0)ya();a=c+8|0;if((k[a>>2]|0)==(j|0))e=a;else ya()}else e=c+8|0;k[b+12>>2]=c;k[e>>2]=b;q=j;f=i;break}e=k[j+24>>2]|0;c=k[j+12>>2]|0;do if((c|0)==(j|0)){b=j+16|0;c=b+4|0;a=k[c>>2]|0;if(!a){a=k[b>>2]|0;if(!a){h=0;break}}else b=c;while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0>>0)ya();else{k[b>>2]=0;h=a;break}}else{d=k[j+8>>2]|0;if(d>>>0>>0)ya();a=d+12|0;if((k[a>>2]|0)!=(j|0))ya();b=c+8|0;if((k[b>>2]|0)==(j|0)){k[a>>2]=c;k[b>>2]=d;h=c;break}else ya()}while(0);if(e){a=k[j+28>>2]|0;b=14912+(a<<2)|0;if((j|0)==(k[b>>2]|0)){k[b>>2]=h;if(!h){k[3653]=k[3653]&~(1<>>0<(k[3656]|0)>>>0)ya();a=e+16|0;if((k[a>>2]|0)==(j|0))k[a>>2]=h;else k[e+20>>2]=h;if(!h){q=j;f=i;break}}c=k[3656]|0;if(h>>>0>>0)ya();k[h+24>>2]=e;a=j+16|0;b=k[a>>2]|0;do if(b|0)if(b>>>0>>0)ya();else{k[h+16>>2]=b;k[b+24>>2]=h;break}while(0);a=k[a+4>>2]|0;if(a)if(a>>>0<(k[3656]|0)>>>0)ya();else{k[h+20>>2]=a;k[a+24>>2]=h;q=j;f=i;break}else{q=j;f=i}}else{q=j;f=i}}else{q=c;f=d}while(0);if(q>>>0>=m>>>0)ya();a=m+4|0;b=k[a>>2]|0;if(!(b&1))ya();if(!(b&2)){if((m|0)==(k[3658]|0)){p=(k[3655]|0)+f|0;k[3655]=p;k[3658]=q;k[q+4>>2]=p|1;if((q|0)!=(k[3657]|0))return;k[3657]=0;k[3654]=0;return}if((m|0)==(k[3657]|0)){p=(k[3654]|0)+f|0;k[3654]=p;k[3657]=q;k[q+4>>2]=p|1;k[q+p>>2]=p;return}f=(b&-8)+f|0;d=b>>>3;do if(b>>>0>=256){e=k[m+24>>2]|0;a=k[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;c=b+4|0;a=k[c>>2]|0;if(!a){a=k[b>>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[3656]|0)>>>0)ya();else{k[b>>2]=0;n=a;break}}else{b=k[m+8>>2]|0;if(b>>>0<(k[3656]|0)>>>0)ya();c=b+12|0;if((k[c>>2]|0)!=(m|0))ya();d=a+8|0;if((k[d>>2]|0)==(m|0)){k[c>>2]=a;k[d>>2]=b;n=a;break}else ya()}while(0);if(e|0){a=k[m+28>>2]|0;b=14912+(a<<2)|0;if((m|0)==(k[b>>2]|0)){k[b>>2]=n;if(!n){k[3653]=k[3653]&~(1<>>0<(k[3656]|0)>>>0)ya();a=e+16|0;if((k[a>>2]|0)==(m|0))k[a>>2]=n;else k[e+20>>2]=n;if(!n)break}c=k[3656]|0;if(n>>>0>>0)ya();k[n+24>>2]=e;a=m+16|0;b=k[a>>2]|0;do if(b|0)if(b>>>0>>0)ya();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[3656]|0)>>>0)ya();else{k[n+20>>2]=a;k[a+24>>2]=n;break}}}else{b=k[m+8>>2]|0;c=k[m+12>>2]|0;a=14648+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(k[3656]|0)>>>0)ya();if((k[b+12>>2]|0)!=(m|0))ya()}if((c|0)==(b|0)){k[3652]=k[3652]&~(1<>>0<(k[3656]|0)>>>0)ya();a=c+8|0;if((k[a>>2]|0)==(m|0))l=a;else ya()}else l=c+8|0;k[b+12>>2]=c;k[l>>2]=b}while(0);k[q+4>>2]=f|1;k[q+f>>2]=f;if((q|0)==(k[3657]|0)){k[3654]=f;return}}else{k[a>>2]=b&-2;k[q+4>>2]=f|1;k[q+f>>2]=f}a=f>>>3;if(f>>>0<256){c=14648+(a<<1<<2)|0;b=k[3652]|0;a=1<>2]|0;if(b>>>0<(k[3656]|0)>>>0)ya();else{o=a;p=b}}else{k[3652]=b|a;o=c+8|0;p=c}k[o>>2]=q;k[p+12>>2]=q;k[q+8>>2]=p;k[q+12>>2]=c;return}a=f>>>8;if(a)if(f>>>0>16777215)c=31;else{o=(a+1048320|0)>>>16&8;p=a<>>16&4;p=p<>>16&2;c=14-(n|o|c)+(p<>>15)|0;c=f>>>(c+7|0)&1|c<<1}else c=0;d=14912+(c<<2)|0;k[q+28>>2]=c;k[q+20>>2]=0;k[q+16>>2]=0;a=k[3653]|0;b=1<>>1)|0);a=k[d>>2]|0;while(1){if((k[a+4>>2]&-8|0)==(f|0)){c=a;d=130;break}b=a+16+(e>>>31<<2)|0;c=k[b>>2]|0;if(!c){d=127;break}else{e=e<<1;a=c}}if((d|0)==127)if(b>>>0<(k[3656]|0)>>>0)ya();else{k[b>>2]=q;k[q+24>>2]=a;k[q+12>>2]=q;k[q+8>>2]=q;break}else if((d|0)==130){a=c+8|0;b=k[a>>2]|0;p=k[3656]|0;if(b>>>0>=p>>>0&c>>>0>=p>>>0){k[b+12>>2]=q;k[a>>2]=q;k[q+8>>2]=b;k[q+12>>2]=c;k[q+24>>2]=0;break}else ya()}}else{k[3653]=a|b;k[d>>2]=q;k[q+24>>2]=d;k[q+12>>2]=q;k[q+8>>2]=q}while(0);q=(k[3660]|0)+-1|0;k[3660]=q;if(!q)a=15064;else return;while(1){a=k[a>>2]|0;if(!a)break;else a=a+8|0}k[3660]=-1;return}function xp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;a:do if(a>>>0<212){b=4944;c=48;b:while(1){while(1){if(!c)break b;d=(c|0)/2|0;e=b+(d<<2)|0;if((k[e>>2]|0)>>>0>>0){b=e;break}else c=d}b=b+4|0;c=c+-1-d|0}b=k[b>>2]|0}else{f=(a>>>0)/210|0;g=f*210|0;a=a-g|0;b=5136;c=48;c:while(1){while(1){if(!c)break c;d=(c|0)/2|0;e=b+(d<<2)|0;if((k[e>>2]|0)>>>0>>0){b=e;break}else c=d}b=b+4|0;c=c+-1-d|0}b=b-5136>>2;a=b;b=(k[5136+(b<<2)>>2]|0)+g|0;while(1){e=5;while(1){if(e>>>0>=47){e=211;h=17;break}c=k[4944+(e<<2)>>2]|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break;else e=e+1|0}d:do if((h|0)==17)while(1){h=0;c=(b>>>0)/(e>>>0)|0;if(c>>>0>>0)break a;if((b|0)==(ha(c,e)|0))break d;c=e+10|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+12|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+16|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+18|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+22|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+28|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+30|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+36|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+40|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+42|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+46|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+52|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+58|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+60|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+66|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+70|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+72|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+78|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+82|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+88|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+96|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+100|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+102|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+106|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+108|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+112|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+120|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+126|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+130|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+136|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+138|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+142|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+148|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+150|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+156|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+162|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+166|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+168|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+172|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+178|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+180|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+186|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+190|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+192|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+196|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+198|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+208|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break;else{e=e+210|0;h=17}}while(0);g=a+1|0;e=(g|0)==48;b=(e&1)+f|0;g=e?0:g;a=g;f=b;b=(k[5136+(g<<2)>>2]|0)+(b*210|0)|0}}while(0);return b|0}function yp(a){a=a|0;Aa(13810,13833,303,13930)}function zp(a){a=a|0;Aa(13951,13833,314,13974)}function Ap(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+48|0;g=e+32|0;c=e+24|0;h=e+16|0;f=e;e=e+36|0;a=Bp()|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[1353];Ep(14372,c)}if((b|0)==1126902529&(a|0)==1129074247)a=k[d+44>>2]|0;else a=d+80|0;k[e>>2]=a;d=k[d>>2]|0;a=k[d+4>>2]|0;if(_a[k[(k[168]|0)+16>>2]&31](672,d,e)|0){h=k[e>>2]|0;e=k[1353]|0;h=cb[k[(k[h>>2]|0)+8>>2]&127](h)|0;k[f>>2]=e;k[f+4>>2]=a;k[f+8>>2]=h;Ep(14286,f)}else{k[h>>2]=k[1353];k[h+4>>2]=a;Ep(14331,h)}}Ep(14410,g)}function Bp(){var a=0,b=0;a=r;r=r+16|0;if(!(Ma(15104,3)|0)){b=Ka(k[3777]|0)|0;r=a;return b|0}else Ep(14098,a);return 0}function Cp(){var a=0;a=r;r=r+16|0;if(!(xa(15108,71)|0)){r=a;return}else Ep(14048,a)}function Dp(a){a=a|0;var b=0;b=r;r=r+16|0;wp(a);if(!(Pa(k[3777]|0,0)|0)){r=b;return}else Ep(13995,b)}function Ep(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c>>2]=b;b=k[1178]|0;bp(b,a,c)|0;up(10,b)|0;ya()}function Fp(a){a=a|0;return}function Gp(a){a=a|0;return}function Hp(a){a=a|0;Ip(a);return}function Ip(a){a=a|0;wp(a);return}function Jp(a){a=a|0;return}function Kp(a){a=a|0;return}function Lp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+64|0;f=g;if((a|0)!=(b|0))if((b|0)!=0?(e=Mp(b,712,680,0)|0,(e|0)!=0):0){b=f;d=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(d|0));k[f>>2]=e;k[f+8>>2]=a;k[f+12>>2]=-1;k[f+48>>2]=1;hb[k[(k[e>>2]|0)+28>>2]&3](e,f,k[c>>2]|0,1);if((k[f+24>>2]|0)==1){k[c>>2]=k[f+16>>2];b=1}else b=0}else b=0;else b=1;r=g;return b|0}function Mp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;p=q;o=k[a>>2]|0;n=a+(k[o+-8>>2]|0)|0;o=k[o+-4>>2]|0;k[p>>2]=c;k[p+4>>2]=a;k[p+8>>2]=b;k[p+12>>2]=d;h=p+16|0;d=p+20|0;a=p+24|0;b=p+28|0;e=p+32|0;f=p+40|0;g=(o|0)==(c|0);l=h;m=l+36|0;do{k[l>>2]=0;l=l+4|0}while((l|0)<(m|0));j[h+36>>1]=0;i[h+38>>0]=0;a:do if(g){k[p+48>>2]=1;fb[k[(k[c>>2]|0)+20>>2]&3](c,p,n,n,1,0);d=(k[a>>2]|0)==1?n:0}else{$a[k[(k[o>>2]|0)+24>>2]&3](o,p,n,1,0);switch(k[p+36>>2]|0){case 0:{d=(k[f>>2]|0)==1&(k[b>>2]|0)==1&(k[e>>2]|0)==1?k[d>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((k[a>>2]|0)!=1?!((k[f>>2]|0)==0&(k[b>>2]|0)==1&(k[e>>2]|0)==1):0){d=0;break}d=k[h>>2]|0}while(0);r=q;return d|0}function Np(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((a|0)==(k[b+8>>2]|0))Op(0,b,c,d,e);else{a=k[a+8>>2]|0;fb[k[(k[a>>2]|0)+20>>2]&3](a,b,c,d,e,f)}return}function Op(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;i[b+53>>0]=1;do if((k[b+4>>2]|0)==(d|0)){i[b+52>>0]=1;d=b+16|0;a=k[d>>2]|0;if(!a){k[d>>2]=c;k[b+24>>2]=e;k[b+36>>2]=1;if(!((e|0)==1?(k[b+48>>2]|0)==1:0))break;i[b+54>>0]=1;break}if((a|0)!=(c|0)){e=b+36|0;k[e>>2]=(k[e>>2]|0)+1;i[b+54>>0]=1;break}a=b+24|0;d=k[a>>2]|0;if((d|0)==2){k[a>>2]=e;d=e}if((d|0)==1?(k[b+48>>2]|0)==1:0)i[b+54>>0]=1}while(0);return}function Pp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;do if((a|0)==(k[b+8>>2]|0)){if((k[b+4>>2]|0)==(c|0)?(f=b+28|0,(k[f>>2]|0)!=1):0)k[f>>2]=d}else{if((a|0)!=(k[b>>2]|0)){h=k[a+8>>2]|0;$a[k[(k[h>>2]|0)+24>>2]&3](h,b,c,d,e);break}if((k[b+16>>2]|0)!=(c|0)?(h=b+20|0,(k[h>>2]|0)!=(c|0)):0){k[b+32>>2]=d;g=b+44|0;if((k[g>>2]|0)==4)break;f=b+52|0;i[f>>0]=0;d=b+53|0;i[d>>0]=0;a=k[a+8>>2]|0;fb[k[(k[a>>2]|0)+20>>2]&3](a,b,c,c,1,e);if(i[d>>0]|0)if(!(i[f>>0]|0)){f=1;d=13}else d=17;else{f=0;d=13}do if((d|0)==13){k[h>>2]=c;c=b+40|0;k[c>>2]=(k[c>>2]|0)+1;if((k[b+36>>2]|0)==1?(k[b+24>>2]|0)==2:0){i[b+54>>0]=1;if(f){d=17;break}else{f=4;break}}if(f)d=17;else f=4}while(0);if((d|0)==17)f=3;k[g>>2]=f;break}if((d|0)==1)k[b+32>>2]=1}while(0);return}function Qp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(k[b+8>>2]|0))Rp(0,b,c,d);else{a=k[a+8>>2]|0;hb[k[(k[a>>2]|0)+28>>2]&3](a,b,c,d)}return}function Rp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;a=b+16|0;e=k[a>>2]|0;do if(e){if((e|0)!=(c|0)){d=b+36|0;k[d>>2]=(k[d>>2]|0)+1;k[b+24>>2]=2;i[b+54>>0]=1;break}a=b+24|0;if((k[a>>2]|0)==2)k[a>>2]=d}else{k[a>>2]=c;k[b+24>>2]=d;k[b+36>>2]=1}while(0);return}function Sp(a){a=a|0;Ip(a);return}function Tp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((a|0)==(k[b+8>>2]|0))Op(0,b,c,d,e);return}function Up(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;do if((a|0)==(k[b+8>>2]|0)){if((k[b+4>>2]|0)==(c|0)?(g=b+28|0,(k[g>>2]|0)!=1):0)k[g>>2]=d}else if((a|0)==(k[b>>2]|0)){if((k[b+16>>2]|0)!=(c|0)?(f=b+20|0,(k[f>>2]|0)!=(c|0)):0){k[b+32>>2]=d;k[f>>2]=c;e=b+40|0;k[e>>2]=(k[e>>2]|0)+1;if((k[b+36>>2]|0)==1?(k[b+24>>2]|0)==2:0)i[b+54>>0]=1;k[b+44>>2]=4;break}if((d|0)==1)k[b+32>>2]=1}while(0);return}function Vp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(k[b+8>>2]|0))Rp(0,b,c,d);return}function Wp(){var a=0,b=0,c=0,d=0;c=r;r=r+16|0;d=c+8|0;a=Bp()|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){eb[k[b+12>>2]&3]();Ep(14422,c)}c=k[1332]|0;k[1332]=c+0;eb[c&3]();Ep(14422,d)}function Xp(a){a=a|0;return}function Yp(a){a=a|0;return}function Zp(a){a=a|0;Ip(a);return}function _p(a){a=a|0;return 14475}function $p(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=vp(b)|0;if(a|0){b=6;break}a=aq()|0;if(!a){b=5;break}eb[a&3]()}if((b|0)==5){b=Ba(4)|0;k[b>>2]=5424;Qa(b|0,736,68)}else if((b|0)==6)return a|0;return 0}function aq(){var a=0;a=k[3778]|0;k[3778]=a+0;return a|0}function bq(a){a=a|0;return $p(a)|0}function cq(a){a=a|0;Ip(a);return}function dq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+16|0;d=e;k[d>>2]=k[c>>2];a=_a[k[(k[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)k[c>>2]=k[d>>2];r=e;return a&1|0}function eq(a){a=a|0;if(!a)a=0;else a=(Mp(a,712,768,0)|0)!=0;return a&1|0}function fq(){}function gq(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 (L=d,a-c>>>0|0)|0}function hq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a+c|0;if((c|0)>=20){b=b&255;f=a&3;g=b|b<<8|b<<16|b<<24;e=d&~3;if(f){f=a+4-f|0;while((a|0)<(f|0)){i[a>>0]=b;a=a+1|0}}while((a|0)<(e|0)){k[a>>2]=g;a=a+4|0}}while((a|0)<(d|0)){i[a>>0]=b;a=a+1|0}return a-c|0}function iq(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b<>>32-c;return a<>>0;return (L=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function kq(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b>>>c;return a>>>c|(b&(1<>>c-32|0}function lq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((c|0)>=4096)return Ga(a|0,b|0,c|0)|0;d=a|0;if((a&3)==(b&3)){while(a&3){if(!c)return d|0;i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}while((c|0)>=4){k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0;c=c-4|0}}while((c|0)>0){i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}return d|0}function mq(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 lq(a,b,c)|0;return a|0}function nq(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b>>c;return a>>>c|(b&(1<>c-32|0}function oq(a){a=a|0;var b=0;b=i[v+(a&255)>>0]|0;if((b|0)<8)return b|0;b=i[v+(a>>8&255)>>0]|0;if((b|0)<8)return b+8|0;b=i[v+(a>>16&255)>>0]|0;if((b|0)<8)return b+16|0;return (i[v+(a>>>24)>>0]|0)+24|0}function pq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=ha(e,f)|0;d=a>>>16;a=(c>>>16)+(ha(e,d)|0)|0;e=b>>>16;b=ha(e,f)|0;return (L=(a>>>16)+(ha(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function qq(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=gq(j^a|0,i^b|0,j|0,i|0)|0;g=L;a=f^j;b=e^i;return gq((vq(h,g,gq(f^c|0,e^d|0,f|0,e|0)|0,L,0)|0)^a|0,L^b|0,a|0,b|0)|0}function rq(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;e=r;r=r+16|0;h=e|0;g=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;j=d>>31|((d|0)<0?-1:0)<<1;i=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;a=gq(g^a|0,f^b|0,g|0,f|0)|0;b=L;vq(a,b,gq(j^c|0,i^d|0,j|0,i|0)|0,L,h)|0;d=gq(k[h>>2]^g|0,k[h+4>>2]^f|0,g|0,f|0)|0;c=L;r=e;return (L=c,d)|0}function sq(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=pq(e,f)|0;a=L;return (L=(ha(b,f)|0)+(ha(d,e)|0)+a|a&0,c|0|0)|0}function tq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return vq(a,b,c,d,0)|0}function uq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=r;r=r+16|0;e=f|0;vq(a,b,c,d,e)|0;r=f;return (L=k[e+4>>2]|0,k[e>>2]|0)|0}function vq(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 (L=n,e)|0}else{if(!f){n=0;e=0;return (L=n,e)|0}k[e>>2]=a|0;k[e+4>>2]=b&0;n=0;e=0;return (L=n,e)|0}}f=(h|0)==0;do if(g){if(!f){f=(ja(h|0)|0)-(ja(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 (L=n,e)|0}f=g-1|0;if(f&g|0){h=(ja(g|0)|0)+33-(ja(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 (L=o,p)|0}else{p=oq(g|0)|0;o=j>>>(p>>>0)|0;p=j<<32-p|l>>>(p>>>0)|0;return (L=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 (L=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 (L=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>>>((oq(h|0)|0)>>>0);return (L=o,p)|0}f=(ja(h|0)|0)-(ja(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 (L=o,p)|0}while(0);if(!g){j=h;i=0;h=0}else{m=c|0|0;l=n|d&0;j=jq(m|0,l|0,-1,-1)|0;c=L;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;gq(j|0,c|0,d|0,n|0)|0;p=L;o=p>>31|((p|0)<0?-1:0)<<1;h=o&1;a=gq(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=L;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 (L=o,p)|0}function wq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return _a[a&31](b|0,c|0,d|0)|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;$a[a&3](b|0,c|0,d|0,e|0,f|0)}function yq(a,b){a=a|0;b=b|0;ab[a&127](b|0)}function zq(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 bb[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Aq(a,b){a=a|0;b=b|0;return cb[a&127](b|0)|0}function Bq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;db[a&7](b|0,c|0,d|0)}function Cq(a){a=a|0;eb[a&3]()}function Dq(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;fb[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Eq(a,b,c){a=a|0;b=b|0;c=c|0;return gb[a&63](b|0,c|0)|0}function Fq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;hb[a&3](b|0,c|0,d|0,e|0)}function Gq(a,b,c){a=a|0;b=b|0;c=c|0;ka(0);return 0}function Hq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ka(1)}function Iq(a){a=a|0;ka(2)}function Jq(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(3);return 0}function Kq(a){a=a|0;ka(4);return 0}function Lq(a,b,c){a=a|0;b=b|0;c=c|0;ka(5)}function Mq(){ka(6)}function Nq(){Wa()}function Oq(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(7)}function Pq(a,b){a=a|0;b=b|0;ka(8);return 0}function Qq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(9)} + +// EMSCRIPTEN_END_FUNCS +var _a=[Gq,Ug,qh,sh,uh,yh,zh,Ah,Bh,Wi,Xi,bj,cj,dj,Yo,$o,ap,Lp,Gq,Gq,Gq,Gq,Gq,Gq,Gq,Gq,Gq,Gq,Gq,Gq,Gq,Gq];var $a=[Hq,Up,Pp,Hq];var ab=[Iq,dg,fg,mg,ug,vg,Sg,Tg,Yg,Zg,gh,oh,ph,wh,xh,Fh,Gh,Qh,Vh,_h,$h,oi,ti,yi,zi,Mi,Ui,Vi,aj,gj,hj,yj,Dj,Ej,Rj,Wj,$j,ak,nk,wk,xk,Dk,Fk,Gk,Mk,Pk,an,gn,hn,rn,un,zn,Dn,An,Bn,Cn,Nn,Rn,On,Pn,Qn,to,vo,Fp,Sp,Jp,Kp,Hp,Xp,Zp,Zo,Dp,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq];var bb=[Jq,Th,Uh,Yh,Zh,ii,li,ri,si,wi,xi,Hi,Ki,Pi,Qi,sj,wj,Bj,Cj,Mj,Pj,Uj,Vj,Zj,_j,ik,lk,qk,rk,Jq,Jq,Jq];var cb=[Kq,lg,_g,$g,ah,bh,ch,dh,hh,ih,jh,Ri,Hh,Ih,Nh,Oh,Rh,Sh,Wh,Xh,ai,bi,ci,pi,qi,ui,vi,Ai,Bi,Ci,Ni,Oi,Zi,sk,ij,jj,kj,lj,qj,rj,zj,Aj,Fj,Gj,Hj,Sj,Tj,Xj,Yj,bk,ck,dk,ok,pk,Lk,Ik,Ok,cn,jn,ln,mn,pn,Yn,qo,ro,so,Fn,Tn,Ao,Lo,Mo,No,Vo,_p,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq];var db=[Lq,gg,qg,wg,yg,Lq,Lq,Lq];var eb=[Mq,Nq,Ap,Cp];var fb=[Oq,Tp,Np,Oq];var gb=[Pq,Vg,kh,lh,rh,th,Si,Jh,Kh,Lh,Mh,di,ei,fi,gi,Di,Ei,Fi,Gi,Yi,_i,tk,mj,nj,oj,pj,Ij,Jj,Kj,Lj,ek,fk,gk,hk,yk,Ak,Bk,Ek,Hk,Nk,Qk,bn,kn,nn,on,vn,wn,xn,yn,En,Sn,wo,xo,yo,zo,Pq,Pq,Pq,Pq,Pq,Pq,Pq,Pq,Pq];var hb=[Qq,Vp,Qp,Qq];return{_emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1:yb,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:Tb,_bitshift64Shl:iq,_emscripten_bind_Mesh___destroy___0:_b,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:Ob,_emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1:wb,_emscripten_bind_PointAttribute_byte_offset_0:Mb,_emscripten_bind_PointAttribute_normalized_0:Kb,_bitshift64Lshr:kq,_i64Subtract:gq,_emscripten_bind_WebIDLWrapper_GetAttributeFloat_3:Cb,_i64Add:jq,_malloc:vp,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:ic,_fflush:qp,___cxa_is_pointer_type:eq,_emscripten_bind_PointAttribute_size_0:Gb,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:jc,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:hc,_emscripten_bind_VoidPtr___destroy___0:$b,_memset:hq,_emscripten_bind_PointAttribute_attribute_type_0:Hb,_emscripten_bind_DecoderBuffer_Init_2:Ub,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:fc,_emscripten_bind_DecoderBuffer___destroy___0:Vb,___errno_location:Xo,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:gc,_emscripten_bind_DracoInt32Array___destroy___0:cc,_emscripten_bind_Mesh_num_points_0:Zb,_emscripten_bind_Mesh_Mesh_0:Wb,_emscripten_bind_WebIDLWrapper_GetAttribute_2:Ab,_emscripten_bind_PointAttribute_components_count_0:Jb,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:ec,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:kc,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:lc,_emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3:Bb,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:ac,_emscripten_bind_PointAttribute_data_type_0:Ib,_emscripten_bind_Mesh_num_attributes_0:Yb,_emscripten_bind_DracoFloat32Array_GetValue_1:Pb,_emscripten_bind_DracoFloat32Array___destroy___0:Qb,_emscripten_bind_PointCloud_num_points_0:tb,_emscripten_bind_PointCloud___destroy___0:ub,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:Rb,_emscripten_bind_PointAttribute_PointAttribute_0:Fb,_free:wp,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:dc,_emscripten_bind_GeometryAttribute___destroy___0:Sb,_emscripten_bind_Mesh_num_faces_0:Xb,_emscripten_bind_DracoInt32Array_GetValue_1:bc,_emscripten_bind_PointAttribute_byte_stride_0:Lb,_emscripten_bind_WebIDLWrapper_GetAttributeId_2:zb,_memcpy:lq,_emscripten_bind_WebIDLWrapper_WebIDLWrapper_0:vb,_memmove:mq,_emscripten_bind_PointCloud_num_attributes_0:sb,_emscripten_bind_WebIDLWrapper___destroy___0:Eb,_emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1:xb,_emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3:Db,_emscripten_bind_PointCloud_PointCloud_0:rb,_emscripten_bind_PointAttribute___destroy___0:Nb,___cxa_can_catch:dq,runPostSets:fq,_emscripten_replace_memory:Za,stackAlloc:ib,stackSave:jb,stackRestore:kb,establishStackSpace:lb,setThrew:mb,setTempRet0:pb,getTempRet0:qb,dynCall_iiii:wq,dynCall_viiiii:xq,dynCall_vi:yq,dynCall_iiiiiii:zq,dynCall_ii:Aq,dynCall_viii:Bq,dynCall_v:Cq,dynCall_viiiiii:Dq,dynCall_iii:Eq,dynCall_viiii:Fq}}) + + +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1=Module["_emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1"]=asm["_emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1"];var _emscripten_bind_DecoderBuffer_DecoderBuffer_0=Module["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"]=asm["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_PointCloud___destroy___0=Module["_emscripten_bind_PointCloud___destroy___0"]=asm["_emscripten_bind_PointCloud___destroy___0"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1=Module["_emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1"]=asm["_emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1=Module["_emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1"]=asm["_emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1"];var _emscripten_bind_PointAttribute_normalized_0=Module["_emscripten_bind_PointAttribute_normalized_0"]=asm["_emscripten_bind_PointAttribute_normalized_0"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _emscripten_bind_WebIDLWrapper_GetAttributeFloat_3=Module["_emscripten_bind_WebIDLWrapper_GetAttributeFloat_3"]=asm["_emscripten_bind_WebIDLWrapper_GetAttributeFloat_3"];var _emscripten_bind_WebIDLWrapper_GetAttributeId_2=Module["_emscripten_bind_WebIDLWrapper_GetAttributeId_2"]=asm["_emscripten_bind_WebIDLWrapper_GetAttributeId_2"];var _fflush=Module["_fflush"]=asm["_fflush"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _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_DecoderBuffer_Init_2=Module["_emscripten_bind_DecoderBuffer_Init_2"]=asm["_emscripten_bind_DecoderBuffer_Init_2"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _emscripten_bind_DecoderBuffer___destroy___0=Module["_emscripten_bind_DecoderBuffer___destroy___0"]=asm["_emscripten_bind_DecoderBuffer___destroy___0"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];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_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_WebIDLWrapper_GetAttribute_2=Module["_emscripten_bind_WebIDLWrapper_GetAttribute_2"]=asm["_emscripten_bind_WebIDLWrapper_GetAttribute_2"];var _emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=Module["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"]=asm["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var _emscripten_bind_PointAttribute_components_count_0=Module["_emscripten_bind_PointAttribute_components_count_0"]=asm["_emscripten_bind_PointAttribute_components_count_0"];var _emscripten_bind_WebIDLWrapper___destroy___0=Module["_emscripten_bind_WebIDLWrapper___destroy___0"]=asm["_emscripten_bind_WebIDLWrapper___destroy___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_DracoInt32Array_DracoInt32Array_0=Module["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"]=asm["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3=Module["_emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3"]=asm["_emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _emscripten_bind_DracoFloat32Array_GetValue_1=Module["_emscripten_bind_DracoFloat32Array_GetValue_1"]=asm["_emscripten_bind_DracoFloat32Array_GetValue_1"];var _emscripten_bind_DracoFloat32Array___destroy___0=Module["_emscripten_bind_DracoFloat32Array___destroy___0"]=asm["_emscripten_bind_DracoFloat32Array___destroy___0"];var _emscripten_bind_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=asm["_emscripten_bind_PointCloud_num_points_0"];var _emscripten_bind_DracoInt32Array___destroy___0=Module["_emscripten_bind_DracoInt32Array___destroy___0"]=asm["_emscripten_bind_DracoInt32Array___destroy___0"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var _free=Module["_free"]=asm["_free"];var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=asm["_emscripten_bind_GeometryAttribute___destroy___0"];var _emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=Module["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"]=asm["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _malloc=Module["_malloc"]=asm["_malloc"];var _emscripten_bind_WebIDLWrapper_WebIDLWrapper_0=Module["_emscripten_bind_WebIDLWrapper_WebIDLWrapper_0"]=asm["_emscripten_bind_WebIDLWrapper_WebIDLWrapper_0"];var _memmove=Module["_memmove"]=asm["_memmove"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=Module["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"];var _emscripten_bind_DracoInt32Array_GetValue_1=Module["_emscripten_bind_DracoInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoInt32Array_GetValue_1"];var _emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3=Module["_emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3"]=asm["_emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(this.needed){for(var i=0;i=this.size){assert(len>0);this.needed+=len;ret=Module["_malloc"](len);this.temps.push(ret)}else{ret=this.buffer+this.pos;this.pos+=len}var retShifted=ret;switch(bytes){case 2:retShifted>>=1;break;case 4:retShifted>>=2;break;case 8:retShifted>>=3;break}for(var i=0;i Date: Fri, 27 Jan 2017 13:51:49 +0000 Subject: [PATCH 2/6] moved draco loader and decoder --- {src => examples/js}/loaders/DRACOLoader.js | 0 {src => examples/js}/loaders/draco_decoder.js | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename {src => examples/js}/loaders/DRACOLoader.js (100%) rename {src => examples/js}/loaders/draco_decoder.js (100%) diff --git a/src/loaders/DRACOLoader.js b/examples/js/loaders/DRACOLoader.js similarity index 100% rename from src/loaders/DRACOLoader.js rename to examples/js/loaders/DRACOLoader.js diff --git a/src/loaders/draco_decoder.js b/examples/js/loaders/draco_decoder.js similarity index 100% rename from src/loaders/draco_decoder.js rename to examples/js/loaders/draco_decoder.js From d96f03d9470321996cad163b61bac37e41c89d9a Mon Sep 17 00:00:00 2001 From: edsilv Date: Fri, 27 Jan 2017 14:29:15 +0000 Subject: [PATCH 3/6] add reference to Module --- examples/js/loaders/DRACOLoader.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/examples/js/loaders/DRACOLoader.js b/examples/js/loaders/DRACOLoader.js index ab80db35946e5..0e7cb6baf4eef 100644 --- a/examples/js/loaders/DRACOLoader.js +++ b/examples/js/loaders/DRACOLoader.js @@ -18,6 +18,7 @@ THREE.DRACOLoader = function(manager) { this.materials = null; }; +const DracoModule = Module; THREE.DRACOLoader.prototype = { @@ -51,12 +52,12 @@ THREE.DRACOLoader.prototype = { */ const geometryType = wrapper.GetEncodedGeometryType(buffer); if (geometryType == DracoModule.TRIANGULAR_MESH) { - fileDisplayArea.innerText = "Loaded a mesh.\n"; + //fileDisplayArea.innerText = "Loaded a mesh.\n"; } else if (geometryType == DracoModule.POINT_CLOUD) { - fileDisplayArea.innerText = "Loaded a point cloud.\n"; + //fileDisplayArea.innerText = "Loaded a point cloud.\n"; } else { const errorMsg = "Error: Unknown geometry type."; - fileDisplayArea.innerText = errorMsg; + //fileDisplayArea.innerText = errorMsg; throw new Error(errorMsg); } return scope.convertDracoGeometryTo3JS(wrapper, geometryType, buffer); @@ -96,7 +97,7 @@ THREE.DRACOLoader.prototype = { Module.POSITION); if (posAttId == -1) { const errorMsg = "No position attribute found in the mesh."; - fileDisplayArea.innerText = errorMsg; + //fileDisplayArea.innerText = errorMsg; DracoModule.destroy(wrapper); DracoModule.destroy(dracoGeometry); throw new Error(errorMsg); @@ -179,7 +180,7 @@ THREE.DRACOLoader.prototype = { DracoModule.destroy(wrapper); DracoModule.destroy(dracoGeometry); - fileDisplayArea.innerText += geometryInfoStr; + //fileDisplayArea.innerText += geometryInfoStr; // Import data to Three JS geometry. const geometry = new THREE.BufferGeometry(); From 74ac33566e004c9c63650c04817c414fd86f421d Mon Sep 17 00:00:00 2001 From: edsilv Date: Wed, 8 Mar 2017 09:17:15 +0000 Subject: [PATCH 4/6] updated DRACOLoader.js and draco_decoder.js --- examples/js/loaders/DRACOLoader.js | 190 +++++++++++++++++---------- examples/js/loaders/draco_decoder.js | 29 ++-- 2 files changed, 140 insertions(+), 79 deletions(-) diff --git a/examples/js/loaders/DRACOLoader.js b/examples/js/loaders/DRACOLoader.js index 0e7cb6baf4eef..be3d316a4a52d 100644 --- a/examples/js/loaders/DRACOLoader.js +++ b/examples/js/loaders/DRACOLoader.js @@ -12,13 +12,14 @@ // See the License for the specific language governing permissions and // limitations under the License. // +'use strict'; + THREE.DRACOLoader = function(manager) { this.manager = (manager !== undefined) ? manager : THREE.DefaultLoadingManager; this.materials = null; }; -const DracoModule = Module; THREE.DRACOLoader.prototype = { @@ -38,46 +39,62 @@ THREE.DRACOLoader.prototype = { this.path = value; }, - decodeDracoFile: function(rawBuffer) { - const scope = this; - /* - * Here is how to use Draco Javascript decoder and get the geometry. - */ - const buffer = new DracoModule.DecoderBuffer(); - buffer.Init(new Int8Array(rawBuffer), rawBuffer.byteLength); - const wrapper = new DracoModule.WebIDLWrapper(); + decodeDracoFile: ( function() { + let dracoDecoder; - /* - * Determine what type is this file, mesh or point cloud. - */ - const geometryType = wrapper.GetEncodedGeometryType(buffer); - if (geometryType == DracoModule.TRIANGULAR_MESH) { - //fileDisplayArea.innerText = "Loaded a mesh.\n"; - } else if (geometryType == DracoModule.POINT_CLOUD) { - //fileDisplayArea.innerText = "Loaded a point cloud.\n"; + if (typeof DracoModule === 'function') { + dracoDecoder = DracoModule(); } else { - const errorMsg = "Error: Unknown geometry type."; - //fileDisplayArea.innerText = errorMsg; - throw new Error(errorMsg); + console.error('THREE.DRACOLoader: DracoModule not found.'); + return; } - return scope.convertDracoGeometryTo3JS(wrapper, geometryType, buffer); - }, - convertDracoGeometryTo3JS: function(wrapper, geometryType, buffer) { + return function(rawBuffer) { + const scope = this; + /* + * Here is how to use Draco Javascript decoder and get the geometry. + */ + const buffer = new dracoDecoder.DecoderBuffer(); + buffer.Init(new Int8Array(rawBuffer), rawBuffer.byteLength); + const wrapper = new dracoDecoder.WebIDLWrapper(); + + /* + * Determine what type is this file: mesh or point cloud. + */ + const geometryType = wrapper.GetEncodedGeometryType(buffer); + if (geometryType == dracoDecoder.TRIANGULAR_MESH) { + fileDisplayArea.innerText = "Loaded a mesh.\n"; + } else if (geometryType == dracoDecoder.POINT_CLOUD) { + fileDisplayArea.innerText = "Loaded a point cloud.\n"; + } else { + const errorMsg = "Error: Unknown geometry type."; + fileDisplayArea.innerText = errorMsg; + throw new Error(errorMsg); + } + return scope.convertDracoGeometryTo3JS(wrapper, geometryType, buffer, + dracoDecoder); + } + } )(), + + convertDracoGeometryTo3JS: function(wrapper, geometryType, buffer, + dracoDecoder) { let dracoGeometry; - if (geometryType == DracoModule.TRIANGULAR_MESH) { + const start_time = performance.now(); + if (geometryType == dracoDecoder.TRIANGULAR_MESH) { dracoGeometry = wrapper.DecodeMeshFromBuffer(buffer); } else { dracoGeometry = wrapper.DecodePointCloudFromBuffer(buffer); } - DracoModule.destroy(buffer); + const decode_end = performance.now(); + dracoDecoder.destroy(buffer); /* * Example on how to retrieve mesh and attributes. */ - let numFaces, numPoints, numVertexCoordinates, numAttributes; + let numFaces, numPoints; + let numVertexCoordinates, numTextureCoordinates, numAttributes; // For output basic geometry information. let geometryInfoStr; - if (geometryType == DracoModule.TRIANGULAR_MESH) { + if (geometryType == dracoDecoder.TRIANGULAR_MESH) { numFaces = dracoGeometry.num_faces(); geometryInfoStr += "Number of faces loaded: " + numFaces.toString() + ".\n"; @@ -86,6 +103,7 @@ THREE.DRACOLoader.prototype = { } numPoints = dracoGeometry.num_points(); numVertexCoordinates = numPoints * 3; + numTextureCoordinates = numPoints * 2; numAttributes = dracoGeometry.num_attributes(); geometryInfoStr = "Number of points loaded: " + numPoints.toString() + ".\n"; @@ -94,97 +112,126 @@ THREE.DRACOLoader.prototype = { // Get position attribute. Must exists. const posAttId = wrapper.GetAttributeId(dracoGeometry, - Module.POSITION); + dracoDecoder.POSITION); if (posAttId == -1) { const errorMsg = "No position attribute found in the mesh."; - //fileDisplayArea.innerText = errorMsg; - DracoModule.destroy(wrapper); - DracoModule.destroy(dracoGeometry); + fileDisplayArea.innerText = errorMsg; + dracoDecoder.destroy(wrapper); + dracoDecoder.destroy(dracoGeometry); throw new Error(errorMsg); } const posAttribute = wrapper.GetAttribute(dracoGeometry, posAttId); - const posAttributeData = new DracoModule.DracoFloat32Array(); + const posAttributeData = new dracoDecoder.DracoFloat32Array(); wrapper.GetAttributeFloatForAllPoints( dracoGeometry, posAttribute, posAttributeData); // Get color attributes if exists. - const colorAttId = wrapper.GetAttributeId(dracoGeometry, Module.COLOR); + const colorAttId = wrapper.GetAttributeId(dracoGeometry, + dracoDecoder.COLOR); let colAttributeData; if (colorAttId != -1) { geometryInfoStr += "\nLoaded color attribute.\n"; const colAttribute = wrapper.GetAttribute(dracoGeometry, colorAttId); - colAttributeData = new DracoModule.DracoFloat32Array(); + colAttributeData = new dracoDecoder.DracoFloat32Array(); wrapper.GetAttributeFloatForAllPoints(dracoGeometry, colAttribute, colAttributeData); } // Get normal attributes if exists. const normalAttId = - wrapper.GetAttributeId(dracoGeometry, Module.NORMAL); + wrapper.GetAttributeId(dracoGeometry, dracoDecoder.NORMAL); let norAttributeData; if (normalAttId != -1) { geometryInfoStr += "\nLoaded normal attribute.\n"; const norAttribute = wrapper.GetAttribute(dracoGeometry, normalAttId); - norAttributeData = new DracoModule.DracoFloat32Array(); + norAttributeData = new dracoDecoder.DracoFloat32Array(); wrapper.GetAttributeFloatForAllPoints(dracoGeometry, norAttribute, norAttributeData); } + // Get texture coord attributes if exists. + const texCoordAttId = + wrapper.GetAttributeId(dracoGeometry, dracoDecoder.TEX_COORD); + let textCoordAttributeData; + if (texCoordAttId != -1) { + geometryInfoStr += "\nLoaded texture coordinate attribute.\n"; + const texCoordAttribute = wrapper.GetAttribute(dracoGeometry, + texCoordAttId); + textCoordAttributeData = new dracoDecoder.DracoFloat32Array(); + wrapper.GetAttributeFloatForAllPoints(dracoGeometry, + texCoordAttribute, + textCoordAttributeData); + } + // Structure for converting to THREEJS geometry later. + const numIndices = numFaces * 3; const geometryBuffer = { - indices: [], - vertices: [], - normals: [], - uvs: [], - colors: [] + indices: new Uint32Array(numIndices), + vertices: new Float32Array(numVertexCoordinates), + normals: new Float32Array(numVertexCoordinates), + uvs: new Float32Array(numTextureCoordinates), + colors: new Float32Array(numVertexCoordinates) }; + for (let i = 0; i < numVertexCoordinates; i += 3) { - geometryBuffer.vertices.push( - posAttributeData.GetValue(i), - posAttributeData.GetValue(i + 1), - posAttributeData.GetValue(i + 2)); + geometryBuffer.vertices[i] = posAttributeData.GetValue(i); + geometryBuffer.vertices[i + 1] = posAttributeData.GetValue(i + 1); + geometryBuffer.vertices[i + 2] = posAttributeData.GetValue(i + 2); // Add color. + // ThreeJS vertex colors need to be normalized to properly display if (colorAttId != -1) { - geometryBuffer.colors.push( - colAttributeData.GetValue(i), - colAttributeData.GetValue(i + 1), - colAttributeData.GetValue(i + 2)); + geometryBuffer.colors[i] = colAttributeData.GetValue(i) / 255; + geometryBuffer.colors[i + 1] = colAttributeData.GetValue(i + 1) / 255; + geometryBuffer.colors[i + 2] = colAttributeData.GetValue(i + 2) / 255; } else { - // Default is white. - geometryBuffer.colors.push(1.0, 1.0, 1.0); + // Default is white. This is faster than TypedArray.fill(). + geometryBuffer.colors[i] = 1.0; + geometryBuffer.colors[i + 1] = 1.0; + geometryBuffer.colors[i + 2] = 1.0; } // Add normal. if (normalAttId != -1) { - geometryBuffer.normals.push( - norAttributeData.GetValue(i), - norAttributeData.GetValue(i + 1), - norAttributeData.GetValue(i + 2)); + geometryBuffer.normals[i] = norAttributeData.GetValue(i); + geometryBuffer.normals[i + 1] = norAttributeData.GetValue(i + 1); + geometryBuffer.normals[i + 2] = norAttributeData.GetValue(i + 2); } } - DracoModule.destroy(posAttributeData); + + // Add texture coordinates. + if (texCoordAttId != -1) { + for (let i = 0; i < numTextureCoordinates; i += 2) { + geometryBuffer.uvs[i] = textCoordAttributeData.GetValue(i); + geometryBuffer.uvs[i + 1] = textCoordAttributeData.GetValue(i + 1); + } + } + + dracoDecoder.destroy(posAttributeData); if (colorAttId != -1) - DracoModule.destroy(colAttributeData); + dracoDecoder.destroy(colAttributeData); if (normalAttId != -1) - DracoModule.destroy(norAttributeData); + dracoDecoder.destroy(norAttributeData); + if (texCoordAttId != -1) + dracoDecoder.destroy(textCoordAttributeData); // For mesh, we need to generate the faces. - if (geometryType == DracoModule.TRIANGULAR_MESH) { - const numIndices = numFaces * 3; - const ia = new DracoInt32Array(); + if (geometryType == dracoDecoder.TRIANGULAR_MESH) { + const ia = new dracoDecoder.DracoInt32Array(); for (let i = 0; i < numFaces; ++i) { wrapper.GetFaceFromMesh(dracoGeometry, i, ia); - geometryBuffer.indices.push( - ia.GetValue(0), ia.GetValue(1), ia.GetValue(2)); + const index = i * 3; + geometryBuffer.indices[index] = ia.GetValue(0); + geometryBuffer.indices[index + 1] = ia.GetValue(1); + geometryBuffer.indices[index + 2] = ia.GetValue(2); } - DracoModule.destroy(ia); + dracoDecoder.destroy(ia); } - DracoModule.destroy(wrapper); - DracoModule.destroy(dracoGeometry); + dracoDecoder.destroy(wrapper); + dracoDecoder.destroy(dracoGeometry); - //fileDisplayArea.innerText += geometryInfoStr; + fileDisplayArea.innerText += geometryInfoStr; // Import data to Three JS geometry. const geometry = new THREE.BufferGeometry(); - if (geometryType == DracoModule.TRIANGULAR_MESH) { + if (geometryType == dracoDecoder.TRIANGULAR_MESH) { geometry.setIndex(new(geometryBuffer.indices.length > 65535 ? THREE.Uint32BufferAttribute : THREE.Uint16BufferAttribute) (geometryBuffer.indices, 1)); @@ -197,6 +244,13 @@ THREE.DRACOLoader.prototype = { geometry.addAttribute('normal', new THREE.Float32BufferAttribute(geometryBuffer.normals, 3)); } + if (texCoordAttId != -1) { + geometry.addAttribute('uv', + new THREE.Float32BufferAttribute(geometryBuffer.uvs, 2)); + } + fileDisplayArea.innerText += ' decode:' + (decode_end - start_time); + fileDisplayArea.innerText += + ' import:' + (performance.now() - decode_end); return geometry; } }; \ No newline at end of file diff --git a/examples/js/loaders/draco_decoder.js b/examples/js/loaders/draco_decoder.js index 5e73650be46bc..bb5ac64fb5af0 100644 --- a/examples/js/loaders/draco_decoder.js +++ b/examples/js/loaders/draco_decoder.js @@ -1,22 +1,29 @@ -var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>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)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function 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=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var LIMIT=Math.pow(2,31);if(DYNAMICTOP>=LIMIT)return false;while(TOTAL_MEMORY<=DYNAMICTOP){if(TOTAL_MEMORY=LIMIT)return false;var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement)return false;updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+16160;__ATINIT__.push();allocate([220,20,0,0,85,22,0,0,4,21,0,0,158,22,0,0,8,0,0,0,0,0,0,0,220,20,0,0,172,22,0,0,220,20,0,0,200,22,0,0,4,21,0,0,228,22,0,0,40,0,0,0,0,0,0,0,220,20,0,0,250,22,0,0,4,21,0,0,31,23,0,0,64,0,0,0,0,0,0,0,4,21,0,0,75,23,0,0,104,0,0,0,0,0,0,0,4,21,0,0,144,23,0,0,120,0,0,0,0,0,0,0,220,20,0,0,189,23,0,0,4,21,0,0,225,23,0,0,144,0,0,0,0,0,0,0,4,21,0,0,117,24,0,0,88,0,0,0,0,0,0,0,4,21,0,0,252,24,0,0,144,0,0,0,0,0,0,0,4,21,0,0,149,25,0,0,144,0,0,0,0,0,0,0,4,21,0,0,37,26,0,0,208,0,0,0,0,0,0,0,4,21,0,0,172,26,0,0,88,0,0,0,0,0,0,0,4,21,0,0,38,27,0,0,208,0,0,0,0,0,0,0,4,21,0,0,178,27,0,0,208,0,0,0,0,0,0,0,4,21,0,0,53,28,0,0,88,0,0,0,0,0,0,0,4,21,0,0,132,28,0,0,72,0,0,0,0,0,0,0,4,21,0,0,181,28,0,0,72,0,0,0,0,0,0,0,4,21,0,0,218,28,0,0,64,1,0,0,0,0,0,0,4,21,0,0,121,29,0,0,80,1,0,0,0,0,0,0,4,21,0,0,11,30,0,0,104,0,0,0,0,0,0,0,4,21,0,0,224,32,0,0,64,1,0,0,0,0,0,0,4,21,0,0,132,33,0,0,64,1,0,0,0,0,0,0,4,21,0,0,145,34,0,0,144,1,0,0,0,0,0,0,4,21,0,0,35,35,0,0,80,1,0,0,0,0,0,0,4,21,0,0,168,35,0,0,144,1,0,0,0,0,0,0,4,21,0,0,63,36,0,0,144,1,0,0,0,0,0,0,4,21,0,0,205,36,0,0,80,1,0,0,0,0,0,0,4,21,0,0,39,37,0,0,32,0,0,0,0,0,0,0,4,21,0,0,87,37,0,0,40,0,0,0,0,0,0,0,4,21,0,0,125,37,0,0,0,2,0,0,0,0,0,0,220,20,0,0,151,37,0,0,4,21,0,0,177,37,0,0,40,0,0,0,0,0,0,0,4,21,0,0,211,37,0,0,32,0,0,0,0,0,0,0,4,21,0,0,58,40,0,0,48,0,0,0,0,0,0,0,4,21,0,0,90,40,0,0,48,0,0,0,0,0,0,0,4,21,0,0,123,40,0,0,88,2,0,0,0,0,0,0,220,20,0,0,199,40,0,0,4,21,0,0,245,40,0,0,0,2,0,0,0,0,0,0,220,20,0,0,178,41,0,0,4,21,0,0,129,42,0,0,0,2,0,0,0,0,0,0,220,20,0,0,75,43,0,0,4,21,0,0,28,44,0,0,88,2,0,0,0,0,0,0,220,20,0,0,184,55,0,0,4,21,0,0,150,55,0,0,200,2,0,0,0,0,0,0,4,21,0,0,67,55,0,0,168,2,0,0,0,0,0,0,4,21,0,0,104,55,0,0,216,2,0,0,0,0,0,0,220,20,0,0,137,55,0,0,4,21,0,0,126,56,0,0,160,2,0,0,0,0,0,0,4,21,0,0,190,56,0,0,200,2,0,0,0,0,0,0,4,21,0,0,154,56,0,0,240,2,0,0,0,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,86,85,85,85,2,0,0,0,0,0,0,0,2,0,0,0,154,153,153,153,3,0,0,0,86,85,85,85,3,0,0,0,37,73,146,36,3,0,0,0,0,0,0,0,3,0,0,0,200,113,28,199,4,0,0,0,154,153,153,153,4,0,0,0,70,23,93,116,4,0,0,0,86,85,85,85,4,0,0,0,60,177,19,59,4,0,0,0,37,73,146,36,4,0,0,0,18,17,17,17,4,0,0,0,0,0,0,0,4,0,0,0,226,225,225,225,5,0,0,0,200,113,28,199,5,0,0,0,203,107,40,175,5,0,0,0,154,153,153,153,5,0,0,0,135,97,24,134,5,0,0,0,70,23,93,116,5,0,0,0,145,133,44,100,5,0,0,0,86,85,85,85,5,0,0,0,123,20,174,71,5,0,0,0,60,177,19,59,5,0,0,0,219,75,104,47,5,0,0,0,37,73,146,36,5,0,0,0,18,150,123,26,5,0,0,0,18,17,17,17,5,0,0,0,133,16,66,8,5,0,0,0,0,0,0,0,5,0,0,0,8,31,124,240,6,0,0,0,226,225,225,225,6,0,0,0,213,65,29,212,6,0,0,0,200,113,28,199,6,0,0,0,77,145,207,186,6,0,0,0,203,107,40,175,6,0,0,0,165,65,26,164,6,0,0,0,154,153,153,153,6,0,0,0,250,24,156,143,6,0,0,0,135,97,24,134,6,0,0,0,24,244,5,125,6,0,0,0,70,23,93,116,6,0,0,0,109,193,22,108,6,0,0,0,145,133,44,100,6,0,0,0,186,130,152,92,6,0,0,0,86,85,85,85,6,0,0,0,115,10,94,78,6,0,0,0,123,20,174,71,6,0,0,0,66,65,65,65,6,0,0,0,60,177,19,59,6,0,0,0,179,207,33,53,6,0,0,0,219,75,104,47,6,0,0,0,159,18,228,41,6,0,0,0,37,73,146,36,6,0,0,0,221,71,112,31,6,0,0,0,18,150,123,26,6,0,0,0,248,229,177,21,6,0,0,0,18,17,17,17,6,0,0,0,252,20,151,12,6,0,0,0,133,16,66,8,6,0,0,0,5,65,16,4,6,0,0,0,0,0,0,0,6,0,0,0,249,129,31,248,7,0,0,0,8,31,124,240,7,0,0,0,192,26,19,233,7,0,0,0,226,225,225,225,7,0,0,0,108,7,230,218,7,0,0,0,213,65,29,212,7,0,0,0,145,104,133,205,7,0,0,0,200,113,28,199,7,0,0,0,57,112,224,192,7,0,0,0,77,145,207,186,7,0,0,0,79,27,232,180,7,0,0,0,203,107,40,175,7,0,0,0,7,246,142,169,7,0,0,0,165,65,26,164,7,0,0,0,82,233,200,158,7,0,0,0,154,153,153,153,7,0,0,0,206,15,139,148,7,0,0,0,250,24,156,143,7,0,0,0,247,144,203,138,7,0,0,0,135,97,24,134,7,0,0,0,130,129,129,129,7,0,0,0,24,244,5,125,7,0,0,0,24,200,164,120,7,0,0,0,70,23,93,116,7,0,0,0,193,5,46,112,7,0,0,0,109,193,22,108,7,0,0,0,105,129,22,104,7,0,0,0,145,133,44,100,7,0,0,0,6,22,88,96,7,0,0,0,186,130,152,92,7,0,0,0,9,35,237,88,7,0,0,0,86,85,85,85,7,0,0,0,175,126,208,81,7,0,0,0,115,10,94,78,7,0,0,0,6,106,253,74,7,0,0,0,123,20,174,71,7,0,0,0,87,134,111,68,7,0,0,0,66,65,65,65,7,0,0,0,207,203,34,62,7,0,0,0,60,177,19,59,7,0,0,0,57,129,19,56,7,0,0,0,179,207,33,53,7,0,0,0,163,52,62,50,7,0,0,0,219,75,104,47,7,0,0,0,217,180,159,44,7,0,0,0,159,18,228,41,7,0,0,0,137,11,53,39,7,0,0,0,37,73,146,36,7,0,0,0,19,120,251,33,7,0,0,0,221,71,112,31,7,0,0,0,219,106,240,28,7,0,0,0,18,150,123,26,7,0,0,0,25,129,17,24,7,0,0,0,248,229,177,21,7,0,0,0,20,129,92,19,7,0,0,0,18,17,17,17,7,0,0,0,191,86,207,14,7,0,0,0,252,20,151,12,7,0,0,0,167,16,104,10,7,0,0,0,133,16,66,8,7,0,0,0,48,221,36,6,7,0,0,0,5,65,16,4,7,0,0,0,17,8,4,2,7,0,0,0,0,0,0,0,7,0,0,0,32,240,7,252,8,0,0,0,249,129,31,248,8,0,0,0,229,89,70,244,8,0,0,0,8,31,124,240,8,0,0,0,49,123,192,236,8,0,0,0,192,26,19,233,8,0,0,0,145,172,115,229,8,0,0,0,226,225,225,225,8,0,0,0,64,110,93,222,8,0,0,0,108,7,230,218,8,0,0,0,76,101,123,215,8,0,0,0,213,65,29,212,8,0,0,0,247,88,203,208,8,0,0,0,145,104,133,205,8,0,0,0,86,48,75,202,8,0,0,0,200,113,28,199,8,0,0,0,29,240,248,195,8,0,0,0,57,112,224,192,8,0,0,0,154,184,210,189,8,0,0,0,77,145,207,186,8,0,0,0,222,195,214,183,8,0,0,0,79,27,232,180,8,0,0,0,7,100,3,178,8,0,0,0,203,107,40,175,8,0,0,0,173,1,87,172,8,0,0,0,7,246,142,169,8,0,0,0,110,26,208,166,8,0,0,0,165,65,26,164,8,0,0,0,152,63,109,161,8,0,0,0,82,233,200,158,8,0,0,0,239,20,45,156,8,0,0,0,154,153,153,153,8,0,0,0,129,79,14,151,8,0,0,0,206,15,139,148,8,0,0,0,158,180,15,146,8,0,0,0,250,24,156,143,8,0,0,0,212,24,48,141,8,0,0,0,247,144,203,138,8,0,0,0,11,95,110,136,8,0,0,0,135,97,24,134,8,0,0,0,172,119,201,131,8,0,0,0,130,129,129,129,8,0,0,0,209,95,64,127,8,0,0,0,24,244,5,125,8,0,0,0,143,32,210,122,8,0,0,0,24,200,164,120,8,0,0,0,68,206,125,118,8,0,0,0,70,23,93,116,8,0,0,0,245,135,66,114,8,0,0,0,193,5,46,112,8,0,0,0,181,118,31,110,8,0,0,0,109,193,22,108,8,0,0,0,22,205,19,106,8,0,0,0,105,129,22,104,8,0,0,0,166,198,30,102,8,0,0,0,145,133,44,100,8,0,0,0,113,167,63,98,8,0,0,0,6,22,88,96,8,0,0,0,142,187,117,94,8,0,0,0,186,130,152,92,8,0,0,0,177,86,192,90,8,0,0,0,9,35,237,88,8,0,0,0,198,211,30,87,8,0,0,0,86,85,85,85,8,0,0,0,144,148,144,83,8,0,0,0,175,126,208,81,8,0,0,0,81,1,21,80,8,0,0,0,115,10,94,78,8,0,0,0,115,136,171,76,8,0,0,0,6,106,253,74,8,0,0,0,60,158,83,73,8,0,0,0,123,20,174,71,8,0,0,0,128,188,12,70,8,0,0,0,87,134,111,68,8,0,0,0,94,98,214,66,8,0,0,0,66,65,65,65,8,0,0,0,252,19,176,63,8,0,0,0,207,203,34,62,8,0,0,0,72,90,153,60,8,0,0,0,60,177,19,59,8,0,0,0,194,194,145,57,8,0,0,0,57,129,19,56,8,0,0,0,62,223,152,54,8,0,0,0,179,207,33,53,8,0,0,0,182,69,174,51,8,0,0,0,163,52,62,50,8,0,0,0,20,144,209,48,8,0,0,0,219,75,104,47,8,0,0,0,5,92,2,46,8,0,0,0,217,180,159,44,8,0,0,0,209,74,64,43,8,0,0,0,159,18,228,41,8,0,0,0,41,1,139,40,8,0,0,0,137,11,53,39,8,0,0,0,9,39,226,37,8,0,0,0,37,73,146,36,8,0,0,0,138,103,69,35,8,0,0,0,19,120,251,33,8,0,0,0,199,112,180,32,8,0,0,0,221,71,112,31,8,0,0,0,180,243,46,30,8,0,0,0,219,106,240,28,8,0,0,0,5,164,180,27,8,0,0,0,18,150,123,26,8,0,0,0,9,56,69,25,8,0,0,0,25,129,17,24,8,0,0,0,149,104,224,22,8,0,0,0,248,229,177,21,8,0,0,0,225,240,133,20,8,0,0,0,20,129,92,19,8,0,0,0,118,142,53,18,8,0,0,0,18,17,17,17,8,0,0,0,16,1,239,15,8,0,0,0,191,86,207,14,8,0,0,0,137,10,178,13,8,0,0,0,252,20,151,12,8,0,0,0,195,110,126,11,8,0,0,0,167,16,104,10,8,0,0,0,145,243,83,9,8,0,0,0,133,16,66,8,8,0,0,0,165,96,50,7,8,0,0,0,48,221,36,6,8,0,0,0,126,127,25,5,8,0,0,0,5,65,16,4,8,0,0,0,82,27,9,3,8,0,0,0,17,8,4,2,8,0,0,0,2,1,1,1,8,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,8,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,0,0,0,192,0,0,0,0,16,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,0,0,0,192,0,0,0,0,32,0,0,0,6,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,40,0,0,0,8,0,0,0,9,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,48,0,0,0,8,0,0,0,10,0,0,0,8,0,0,0,3,0,0,0,1,0,0,0,9,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,10,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,64,0,0,0,11,0,0,0,12,0,0,0,2,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,0,0,0,0,72,0,0,0,13,0,0,0,14,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,11,0,0,0,6,0,0,0,0,0,0,0,88,0,0,0,15,0,0,0,16,0,0,0,1,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,128,0,0,0,15,0,0,0,17,0,0,0,16,0,0,0,12,0,0,0,17,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,160,0,0,0,15,0,0,0,18,0,0,0,18,0,0,0,12,0,0,0,19,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,176,0,0,0,19,0,0,0,20,0,0,0,20,0,0,0,12,0,0,0,21,0,0,0,22,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,192,0,0,0,15,0,0,0,21,0,0,0,23,0,0,0,12,0,0,0,24,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,224,0,0,0,15,0,0,0,22,0,0,0,25,0,0,0,12,0,0,0,26,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,240,0,0,0,23,0,0,0,24,0,0,0,27,0,0,0,12,0,0,0,28,0,0,0,29,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,14,0,0,0,15,0,0,0,11,0,0,0,12,0,0,0,0,0,0,0,0,1,0,0,15,0,0,0,25,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,16,1,0,0,26,0,0,0,27,0,0,0,9,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,8,0,0,0,11,0,0,0,19,0,0,0,32,0,0,0,20,0,0,0,0,0,0,0,32,1,0,0,13,0,0,0,28,0,0,0,11,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,12,0,0,0,13,0,0,0,33,0,0,0,21,0,0,0,0,0,0,0,48,1,0,0,29,0,0,0,30,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,15,0,0,0,16,0,0,0,0,0,0,0,96,1,0,0,29,0,0,0,31,0,0,0,40,0,0,0,35,0,0,0,41,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,112,1,0,0,32,0,0,0,33,0,0,0,42,0,0,0,35,0,0,0,43,0,0,0,44,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,38,0,0,0,39,0,0,0,19,0,0,0,20,0,0,0,0,0,0,0,128,1,0,0,29,0,0,0,34,0,0,0,45,0,0,0,35,0,0,0,46,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,160,1,0,0,29,0,0,0,35,0,0,0,47,0,0,0,35,0,0,0,48,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,176,1,0,0,36,0,0,0,37,0,0,0,49,0,0,0,35,0,0,0,50,0,0,0,51,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,38,0,0,0,39,0,0,0,25,0,0,0,26,0,0,0,0,0,0,0,192,1,0,0,29,0,0,0,38,0,0,0,52,0,0,0,35,0,0,0,53,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,27,0,0,0,28,0,0,0,0,0,0,0,208,1,0,0,39,0,0,0,40,0,0,0,1,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,0,0,0,0,224,1,0,0,8,0,0,0,41,0,0,0,2,0,0,0,3,0,0,0,37,0,0,0,54,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,240,1,0,0,42,0,0,0,43,0,0,0,38,0,0,0,55,0,0,0,0,0,0,0,8,2,0,0,8,0,0,0,44,0,0,0,2,0,0,0,3,0,0,0,39,0,0,0,56,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,24,2,0,0,6,0,0,0,45,0,0,0,1,0,0,0,1,0,0,0,40,0,0,0,0,0,0,0,40,2,0,0,8,0,0,0,46,0,0,0,8,0,0,0,3,0,0,0,41,0,0,0,9,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,10,0,0,0,2,0,0,0,3,0,0,0,57,0,0,0,0,0,0,0,56,2,0,0,47,0,0,0,48,0,0,0,8,0,0,0,58,0,0,0,42,0,0,0,9,0,0,0,5,0,0,0,6,0,0,0,59,0,0,0,60,0,0,0,43,0,0,0,44,0,0,0,61,0,0,0,0,0,0,0,72,2,0,0,49,0,0,0,50,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,0,0,0,0,96,2,0,0,51,0,0,0,52,0,0,0,49,0,0,0,66,0,0,0,0,0,0,0,112,2,0,0,53,0,0,0,54,0,0,0,55,0,0,0,0,0,0,192,0,0,0,0,120,2,0,0,56,0,0,0,57,0,0,0,50,0,0,0,67,0,0,0,0,0,0,0,136,2,0,0,58,0,0,0,59,0,0,0,60,0,0,0,0,0,0,0,144,2,0,0,61,0,0,0,62,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,108,18,0,0,5,0,0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,15,0,0,0,20,59,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,5,0,0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,15,0,0,0,28,59,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,220,18,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,0,0,0,0,168,2,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,17,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,184,2,0,0,63,0,0,0,67,0,0,0,65,0,0,0,66,0,0,0,17,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,197,55,0,0,0,0,0,0,224,2,0,0,68,0,0,0,69,0,0,0,73,0,0,0,99,111,114,101,47,114,97,110,115,95,99,111,100,105,110,103,46,99,99,0,97,110,115,45,62,115,116,97,116,101,32,62,61,32,108,95,98,97,115,101,0,97,110,115,95,119,114,105,116,101,95,101,110,100,0,97,110,115,45,62,115,116,97,116,101,32,60,32,108,95,98,97,115,101,32,42,32,105,111,95,98,97,115,101,0,40,112,41,32,60,61,32,40,49,46,48,41,0,99,111,114,101,47,97,100,97,112,116,105,118,101,95,114,97,110,115,95,99,111,100,105,110,103,46,99,99,0,99,108,97,109,112,95,112,114,111,98,97,98,105,108,105,116,121,0,40,48,46,48,41,32,60,61,32,40,112,41,0,99,117,109,95,112,114,111,98,32,61,61,32,114,97,110,115,95,112,114,101,99,105,115,105,111,110,0,46,47,99,111,114,101,47,97,110,115,46,104,0,114,97,110,115,95,98,117,105,108,100,95,108,111,111,107,95,117,112,95,116,97,98,108,101,0,40,110,98,105,116,115,41,32,62,61,32,40,48,41,0,46,47,99,111,114,101,47,98,105,116,95,99,111,100,101,114,46,104,0,71,101,116,66,105,116,115,0,40,110,98,105,116,115,41,32,60,61,32,40,51,50,41,0,78,53,100,114,97,99,111,49,48,80,111,105,110,116,67,108,111,117,100,69,0,97,116,116,95,105,100,32,62,61,32,48,0,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,99,108,111,117,100,46,99,99,0,83,101,116,65,116,116,114,105,98,117,116,101,0,78,53,100,114,97,99,111,52,77,101,115,104,69,0,78,53,100,114,97,99,111,49,55,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,55,80,111,105,110,116,67,108,111,117,100,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,49,77,101,115,104,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,54,83,101,113,117,101,110,116,105,97,108,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,51,51,83,101,113,117,101,110,116,105,97,108,73,110,116,101,103,101,114,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,51,48,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,121,112,101,100,73,110,116,101,114,102,97,99,101,73,105,105,69,69,0,78,53,100,114,97,99,111,50,53,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,110,116,101,114,102,97,99,101,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,105,102,102,101,114,101,110,99,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,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,78,53,100,114,97,99,111,50,54,77,101,115,104,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,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,49,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,110,111,114,109,97,108,95,111,99,116,97,104,101,100,114,111,110,95,116,114,97,110,115,102,111,114,109,46,104,0,67,111,109,112,117,116,101,67,111,114,114,101,99,116,105,111,110,0,40,112,114,101,100,95,118,97,108,115,91,49,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,111,114,105,103,95,118,97,108,115,91,48,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,111,114,105,103,95,118,97,108,115,91,49,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,48,41,32,60,61,32,40,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,120,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,77,97,107,101,80,111,115,105,116,105,118,101,0,40,116,114,117,101,41,32,61,61,32,40,86,101,114,105,102,121,40,111,114,105,103,44,32,112,114,101,100,44,32,99,111,114,114,41,41,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,67,111,109,112,117,116,101,79,114,105,103,105,110,97,108,86,97,108,117,101,0,40,112,114,101,100,95,118,97,108,115,91,49,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,32,43,32,49,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,48,41,32,60,61,32,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,93,41,0,40,48,41,32,60,61,32,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,32,43,32,49,93,41,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,40,105,41,32,61,61,32,40,48,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,109,101,115,104,95,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,116,101,120,95,99,111,111,114,100,115,46,104,0,71,101,116,80,97,114,101,110,116,65,116,116,114,105,98,117,116,101,84,121,112,101,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,105,102,102,101,114,101,110,99,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,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,55,80,111,105,110,116,67,108,111,117,100,83,101,113,117,101,110,116,105,97,108,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,53,76,105,110,101,97,114,83,101,113,117,101,110,99,101,114,69,0,78,53,100,114,97,99,111,49,53,80,111,105,110,116,115,83,101,113,117,101,110,99,101,114,69,0,78,53,100,114,97,99,111,50,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,51,75,100,84,114,101,101,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,69,0,40,48,41,32,60,61,32,40,97,116,116,95,105,100,41,0,46,47,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,99,108,111,117,100,46,104,0,97,116,116,114,105,98,117,116,101,0,40,97,116,116,95,105,100,41,32,60,32,40,97,116,116,114,105,98,117,116,101,115,95,46,115,105,122,101,40,41,41,0,40,105,110,102,111,46,114,97,110,103,101,41,32,62,61,32,40,48,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,113,117,97,110,116,105,122,101,95,112,111,105,110,116,115,95,51,46,104,0,68,101,113,117,97,110,116,105,122,101,80,111,105,110,116,115,51,0,86,101,114,115,105,111,110,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,100,105,100,32,121,111,117,32,116,114,121,32,116,111,32,108,111,97,100,32,97,110,32,111,108,100,32,102,105,108,101,63,32,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,46,47,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,105,110,116,101,103,101,114,95,112,111,105,110,116,115,95,107,100,95,116,114,101,101,95,100,101,99,111,100,101,114,46,104,0,79,99,116,114,101,101,68,101,99,111,100,101,0,40,116,114,117,101,41,32,61,61,32,40,110,98,105,116,115,32,60,61,32,51,50,41,0,46,47,99,111,114,101,47,100,105,114,101,99,116,95,98,105,116,95,99,111,100,105,110,103,46,104,0,68,101,99,111,100,101,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,116,114,117,101,41,32,61,61,32,40,113,112,111,105,110,116,115,45,62,115,105,122,101,40,41,32,61,61,32,110,117,109,95,112,111,105,110,116,115,95,41,0,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,102,108,111,97,116,95,112],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([111,105,110,116,115,95,107,100,95,116,114,101,101,95,100,101,99,111,100,101,114,46,99,99,0,68,101,99,111,100,101,80,111,105,110,116,67,108,111,117,100,73,110,116,101,114,110,97,108,0,78,53,100,114,97,99,111,50,49,77,101,115,104,83,101,113,117,101,110,116,105,97,108,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,50,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,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,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,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,40,102,97,99,101,95,105,100,46,118,97,108,117,101,40,41,41,32,60,32,40,102,97,99,101,115,95,46,115,105,122,101,40,41,41,0,46,47,109,101,115,104,47,109,101,115,104,46,104,0,102,97,99,101,0,33,105,100,101,110,116,105,116,121,95,109,97,112,112,105,110,103,95,0,46,47,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,97,116,116,114,105,98,117,116,101,46,104,0,83,101,116,80,111,105,110,116,77,97,112,69,110,116,114,121,0,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,78,53,100,114,97,99,111,50,50,77,101,115,104,84,114,97,118,101,114,115,97,108,83,101,113,117,101,110,99,101,114,73,78,83,95,50,48,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,101,114,73,78,83,95,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,78,83,95,51,54,77,101,115,104,65,116,116,114,105,98,117,116,101,73,110,100,105,99,101,115,69,110,99,111,100,105,110,103,79,98,115,101,114,118,101,114,73,83,51,95,69,69,78,83,95,49,57,69,100,103,101,66,114,101,97,107,101,114,79,98,115,101,114,118,101,114,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,0,40,116,111,112,111,108,111,103,121,95,115,112,108,105,116,95,100,97,116,97,95,46,98,97,99,107,40,41,46,115,111,117,114,99,101,95,115,121,109,98,111,108,95,105,100,41,32,60,61,32,40,101,110,99,111,100,101,114,95,115,121,109,98,111,108,95,105,100,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,109,101,115,104,47,109,101,115,104,95,101,100,103,101,98,114,101,97,107,101,114,95,100,101,99,111,100,101,114,95,105,109,112,108,46,104,0,73,115,84,111,112,111,108,111,103,121,83,112,108,105,116,0,78,53,100,114,97,99,111,50,54,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,78,83,95,52,49,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,97,108,80,114,101,100,105,99,116,105,118,101,68,101,99,111,100,101,114,69,69,69,0,68,82,65,67,79,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,111,115,116,97,118,97,47,100,101,118,101,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,109,97,115,116,101,114,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,118,101,99,116,111,114,32,111,117,116,95,111,102,95,114,97,110,103,101,34,0,95,95,116,104,114,111,119,95,111,117,116,95,111,102,95,114,97,110,103,101,0,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,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,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,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,116,121,112,101,95,105,110,102,111,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,101,120,99,101,112,116,105,111,110,0,117,110,99,97,117,103,104,116,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,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,83,116,57,98,97,100,95,97,108,108,111,99,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);var tempDoublePtr=STATICTOP;STATICTOP+=16;Module["_i64Subtract"]=_i64Subtract;function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}Module["_memset"]=_memset;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Runtime.dynCall("v",func);_pthread_once.seen[ptr]=1}function ___lock(){}function ___unlock(){}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}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()}var PTHREAD_SPECIFIC_NEXT_KEY=1;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["_i64Add"]=_i64Add;Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___cxa_begin_catch(ptr){__ZSt18uncaught_exceptionv.uncaught_exception--;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}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;function ___gxx_personality_v0(){}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>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)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function 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=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var LIMIT=Math.pow(2,31);if(DYNAMICTOP>=LIMIT)return false;while(TOTAL_MEMORY<=DYNAMICTOP){if(TOTAL_MEMORY=LIMIT)return false;var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement)return false;updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+16032;__ATINIT__.push();allocate([220,20,0,0,33,22,0,0,4,21,0,0,106,22,0,0,8,0,0,0,0,0,0,0,220,20,0,0,120,22,0,0,220,20,0,0,148,22,0,0,4,21,0,0,176,22,0,0,40,0,0,0,0,0,0,0,220,20,0,0,198,22,0,0,4,21,0,0,235,22,0,0,64,0,0,0,0,0,0,0,4,21,0,0,23,23,0,0,104,0,0,0,0,0,0,0,4,21,0,0,92,23,0,0,120,0,0,0,0,0,0,0,220,20,0,0,137,23,0,0,4,21,0,0,173,23,0,0,144,0,0,0,0,0,0,0,4,21,0,0,65,24,0,0,88,0,0,0,0,0,0,0,4,21,0,0,200,24,0,0,144,0,0,0,0,0,0,0,4,21,0,0,97,25,0,0,144,0,0,0,0,0,0,0,4,21,0,0,241,25,0,0,208,0,0,0,0,0,0,0,4,21,0,0,120,26,0,0,88,0,0,0,0,0,0,0,4,21,0,0,242,26,0,0,208,0,0,0,0,0,0,0,4,21,0,0,126,27,0,0,208,0,0,0,0,0,0,0,4,21,0,0,1,28,0,0,88,0,0,0,0,0,0,0,4,21,0,0,80,28,0,0,72,0,0,0,0,0,0,0,4,21,0,0,129,28,0,0,72,0,0,0,0,0,0,0,4,21,0,0,172,28,0,0,64,1,0,0,0,0,0,0,4,21,0,0,75,29,0,0,80,1,0,0,0,0,0,0,4,21,0,0,221,29,0,0,104,0,0,0,0,0,0,0,4,21,0,0,178,32,0,0,64,1,0,0,0,0,0,0,4,21,0,0,86,33,0,0,64,1,0,0,0,0,0,0,4,21,0,0,99,34,0,0,144,1,0,0,0,0,0,0,4,21,0,0,245,34,0,0,80,1,0,0,0,0,0,0,4,21,0,0,122,35,0,0,144,1,0,0,0,0,0,0,4,21,0,0,17,36,0,0,144,1,0,0,0,0,0,0,4,21,0,0,159,36,0,0,80,1,0,0,0,0,0,0,4,21,0,0,249,36,0,0,32,0,0,0,0,0,0,0,4,21,0,0,41,37,0,0,40,0,0,0,0,0,0,0,4,21,0,0,79,37,0,0,0,2,0,0,0,0,0,0,220,20,0,0,105,37,0,0,4,21,0,0,131,37,0,0,40,0,0,0,0,0,0,0,4,21,0,0,165,37,0,0,32,0,0,0,0,0,0,0,4,21,0,0,44,40,0,0,48,0,0,0,0,0,0,0,4,21,0,0,76,40,0,0,48,0,0,0,0,0,0,0,4,21,0,0,109,40,0,0,88,2,0,0,0,0,0,0,220,20,0,0,185,40,0,0,4,21,0,0,231,40,0,0,0,2,0,0,0,0,0,0,220,20,0,0,164,41,0,0,4,21,0,0,133,42,0,0,0,2,0,0,0,0,0,0,220,20,0,0,79,43,0,0,4,21,0,0,151,43,0,0,88,2,0,0,0,0,0,0,220,20,0,0,51,55,0,0,4,21,0,0,17,55,0,0,200,2,0,0,0,0,0,0,4,21,0,0,190,54,0,0,168,2,0,0,0,0,0,0,4,21,0,0,227,54,0,0,216,2,0,0,0,0,0,0,220,20,0,0,4,55,0,0,4,21,0,0,249,55,0,0,160,2,0,0,0,0,0,0,4,21,0,0,57,56,0,0,200,2,0,0,0,0,0,0,4,21,0,0,21,56,0,0,240,2,0,0,0,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,86,85,85,85,2,0,0,0,0,0,0,0,2,0,0,0,154,153,153,153,3,0,0,0,86,85,85,85,3,0,0,0,37,73,146,36,3,0,0,0,0,0,0,0,3,0,0,0,200,113,28,199,4,0,0,0,154,153,153,153,4,0,0,0,70,23,93,116,4,0,0,0,86,85,85,85,4,0,0,0,60,177,19,59,4,0,0,0,37,73,146,36,4,0,0,0,18,17,17,17,4,0,0,0,0,0,0,0,4,0,0,0,226,225,225,225,5,0,0,0,200,113,28,199,5,0,0,0,203,107,40,175,5,0,0,0,154,153,153,153,5,0,0,0,135,97,24,134,5,0,0,0,70,23,93,116,5,0,0,0,145,133,44,100,5,0,0,0,86,85,85,85,5,0,0,0,123,20,174,71,5,0,0,0,60,177,19,59,5,0,0,0,219,75,104,47,5,0,0,0,37,73,146,36,5,0,0,0,18,150,123,26,5,0,0,0,18,17,17,17,5,0,0,0,133,16,66,8,5,0,0,0,0,0,0,0,5,0,0,0,8,31,124,240,6,0,0,0,226,225,225,225,6,0,0,0,213,65,29,212,6,0,0,0,200,113,28,199,6,0,0,0,77,145,207,186,6,0,0,0,203,107,40,175,6,0,0,0,165,65,26,164,6,0,0,0,154,153,153,153,6,0,0,0,250,24,156,143,6,0,0,0,135,97,24,134,6,0,0,0,24,244,5,125,6,0,0,0,70,23,93,116,6,0,0,0,109,193,22,108,6,0,0,0,145,133,44,100,6,0,0,0,186,130,152,92,6,0,0,0,86,85,85,85,6,0,0,0,115,10,94,78,6,0,0,0,123,20,174,71,6,0,0,0,66,65,65,65,6,0,0,0,60,177,19,59,6,0,0,0,179,207,33,53,6,0,0,0,219,75,104,47,6,0,0,0,159,18,228,41,6,0,0,0,37,73,146,36,6,0,0,0,221,71,112,31,6,0,0,0,18,150,123,26,6,0,0,0,248,229,177,21,6,0,0,0,18,17,17,17,6,0,0,0,252,20,151,12,6,0,0,0,133,16,66,8,6,0,0,0,5,65,16,4,6,0,0,0,0,0,0,0,6,0,0,0,249,129,31,248,7,0,0,0,8,31,124,240,7,0,0,0,192,26,19,233,7,0,0,0,226,225,225,225,7,0,0,0,108,7,230,218,7,0,0,0,213,65,29,212,7,0,0,0,145,104,133,205,7,0,0,0,200,113,28,199,7,0,0,0,57,112,224,192,7,0,0,0,77,145,207,186,7,0,0,0,79,27,232,180,7,0,0,0,203,107,40,175,7,0,0,0,7,246,142,169,7,0,0,0,165,65,26,164,7,0,0,0,82,233,200,158,7,0,0,0,154,153,153,153,7,0,0,0,206,15,139,148,7,0,0,0,250,24,156,143,7,0,0,0,247,144,203,138,7,0,0,0,135,97,24,134,7,0,0,0,130,129,129,129,7,0,0,0,24,244,5,125,7,0,0,0,24,200,164,120,7,0,0,0,70,23,93,116,7,0,0,0,193,5,46,112,7,0,0,0,109,193,22,108,7,0,0,0,105,129,22,104,7,0,0,0,145,133,44,100,7,0,0,0,6,22,88,96,7,0,0,0,186,130,152,92,7,0,0,0,9,35,237,88,7,0,0,0,86,85,85,85,7,0,0,0,175,126,208,81,7,0,0,0,115,10,94,78,7,0,0,0,6,106,253,74,7,0,0,0,123,20,174,71,7,0,0,0,87,134,111,68,7,0,0,0,66,65,65,65,7,0,0,0,207,203,34,62,7,0,0,0,60,177,19,59,7,0,0,0,57,129,19,56,7,0,0,0,179,207,33,53,7,0,0,0,163,52,62,50,7,0,0,0,219,75,104,47,7,0,0,0,217,180,159,44,7,0,0,0,159,18,228,41,7,0,0,0,137,11,53,39,7,0,0,0,37,73,146,36,7,0,0,0,19,120,251,33,7,0,0,0,221,71,112,31,7,0,0,0,219,106,240,28,7,0,0,0,18,150,123,26,7,0,0,0,25,129,17,24,7,0,0,0,248,229,177,21,7,0,0,0,20,129,92,19,7,0,0,0,18,17,17,17,7,0,0,0,191,86,207,14,7,0,0,0,252,20,151,12,7,0,0,0,167,16,104,10,7,0,0,0,133,16,66,8,7,0,0,0,48,221,36,6,7,0,0,0,5,65,16,4,7,0,0,0,17,8,4,2,7,0,0,0,0,0,0,0,7,0,0,0,32,240,7,252,8,0,0,0,249,129,31,248,8,0,0,0,229,89,70,244,8,0,0,0,8,31,124,240,8,0,0,0,49,123,192,236,8,0,0,0,192,26,19,233,8,0,0,0,145,172,115,229,8,0,0,0,226,225,225,225,8,0,0,0,64,110,93,222,8,0,0,0,108,7,230,218,8,0,0,0,76,101,123,215,8,0,0,0,213,65,29,212,8,0,0,0,247,88,203,208,8,0,0,0,145,104,133,205,8,0,0,0,86,48,75,202,8,0,0,0,200,113,28,199,8,0,0,0,29,240,248,195,8,0,0,0,57,112,224,192,8,0,0,0,154,184,210,189,8,0,0,0,77,145,207,186,8,0,0,0,222,195,214,183,8,0,0,0,79,27,232,180,8,0,0,0,7,100,3,178,8,0,0,0,203,107,40,175,8,0,0,0,173,1,87,172,8,0,0,0,7,246,142,169,8,0,0,0,110,26,208,166,8,0,0,0,165,65,26,164,8,0,0,0,152,63,109,161,8,0,0,0,82,233,200,158,8,0,0,0,239,20,45,156,8,0,0,0,154,153,153,153,8,0,0,0,129,79,14,151,8,0,0,0,206,15,139,148,8,0,0,0,158,180,15,146,8,0,0,0,250,24,156,143,8,0,0,0,212,24,48,141,8,0,0,0,247,144,203,138,8,0,0,0,11,95,110,136,8,0,0,0,135,97,24,134,8,0,0,0,172,119,201,131,8,0,0,0,130,129,129,129,8,0,0,0,209,95,64,127,8,0,0,0,24,244,5,125,8,0,0,0,143,32,210,122,8,0,0,0,24,200,164,120,8,0,0,0,68,206,125,118,8,0,0,0,70,23,93,116,8,0,0,0,245,135,66,114,8,0,0,0,193,5,46,112,8,0,0,0,181,118,31,110,8,0,0,0,109,193,22,108,8,0,0,0,22,205,19,106,8,0,0,0,105,129,22,104,8,0,0,0,166,198,30,102,8,0,0,0,145,133,44,100,8,0,0,0,113,167,63,98,8,0,0,0,6,22,88,96,8,0,0,0,142,187,117,94,8,0,0,0,186,130,152,92,8,0,0,0,177,86,192,90,8,0,0,0,9,35,237,88,8,0,0,0,198,211,30,87,8,0,0,0,86,85,85,85,8,0,0,0,144,148,144,83,8,0,0,0,175,126,208,81,8,0,0,0,81,1,21,80,8,0,0,0,115,10,94,78,8,0,0,0,115,136,171,76,8,0,0,0,6,106,253,74,8,0,0,0,60,158,83,73,8,0,0,0,123,20,174,71,8,0,0,0,128,188,12,70,8,0,0,0,87,134,111,68,8,0,0,0,94,98,214,66,8,0,0,0,66,65,65,65,8,0,0,0,252,19,176,63,8,0,0,0,207,203,34,62,8,0,0,0,72,90,153,60,8,0,0,0,60,177,19,59,8,0,0,0,194,194,145,57,8,0,0,0,57,129,19,56,8,0,0,0,62,223,152,54,8,0,0,0,179,207,33,53,8,0,0,0,182,69,174,51,8,0,0,0,163,52,62,50,8,0,0,0,20,144,209,48,8,0,0,0,219,75,104,47,8,0,0,0,5,92,2,46,8,0,0,0,217,180,159,44,8,0,0,0,209,74,64,43,8,0,0,0,159,18,228,41,8,0,0,0,41,1,139,40,8,0,0,0,137,11,53,39,8,0,0,0,9,39,226,37,8,0,0,0,37,73,146,36,8,0,0,0,138,103,69,35,8,0,0,0,19,120,251,33,8,0,0,0,199,112,180,32,8,0,0,0,221,71,112,31,8,0,0,0,180,243,46,30,8,0,0,0,219,106,240,28,8,0,0,0,5,164,180,27,8,0,0,0,18,150,123,26,8,0,0,0,9,56,69,25,8,0,0,0,25,129,17,24,8,0,0,0,149,104,224,22,8,0,0,0,248,229,177,21,8,0,0,0,225,240,133,20,8,0,0,0,20,129,92,19,8,0,0,0,118,142,53,18,8,0,0,0,18,17,17,17,8,0,0,0,16,1,239,15,8,0,0,0,191,86,207,14,8,0,0,0,137,10,178,13,8,0,0,0,252,20,151,12,8,0,0,0,195,110,126,11,8,0,0,0,167,16,104,10,8,0,0,0,145,243,83,9,8,0,0,0,133,16,66,8,8,0,0,0,165,96,50,7,8,0,0,0,48,221,36,6,8,0,0,0,126,127,25,5,8,0,0,0,5,65,16,4,8,0,0,0,82,27,9,3,8,0,0,0,17,8,4,2,8,0,0,0,2,1,1,1,8,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,8,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,0,0,0,192,0,0,0,0,16,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,0,0,0,192,0,0,0,0,32,0,0,0,6,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,40,0,0,0,8,0,0,0,9,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,48,0,0,0,8,0,0,0,10,0,0,0,8,0,0,0,3,0,0,0,1,0,0,0,9,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,10,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,64,0,0,0,11,0,0,0,12,0,0,0,2,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,0,0,0,0,72,0,0,0,13,0,0,0,14,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,11,0,0,0,6,0,0,0,0,0,0,0,88,0,0,0,15,0,0,0,16,0,0,0,1,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,128,0,0,0,15,0,0,0,17,0,0,0,16,0,0,0,12,0,0,0,17,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,160,0,0,0,15,0,0,0,18,0,0,0,18,0,0,0,12,0,0,0,19,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,176,0,0,0,19,0,0,0,20,0,0,0,20,0,0,0,12,0,0,0,21,0,0,0,22,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,192,0,0,0,15,0,0,0,21,0,0,0,23,0,0,0,12,0,0,0,24,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,224,0,0,0,15,0,0,0,22,0,0,0,25,0,0,0,12,0,0,0,26,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,240,0,0,0,23,0,0,0,24,0,0,0,27,0,0,0,12,0,0,0,28,0,0,0,29,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,14,0,0,0,15,0,0,0,11,0,0,0,12,0,0,0,0,0,0,0,0,1,0,0,15,0,0,0,25,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,16,1,0,0,26,0,0,0,27,0,0,0,9,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,8,0,0,0,11,0,0,0,19,0,0,0,32,0,0,0,20,0,0,0,0,0,0,0,32,1,0,0,13,0,0,0,28,0,0,0,11,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,12,0,0,0,13,0,0,0,33,0,0,0,21,0,0,0,0,0,0,0,48,1,0,0,29,0,0,0,30,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,15,0,0,0,16,0,0,0,0,0,0,0,96,1,0,0,29,0,0,0,31,0,0,0,40,0,0,0,35,0,0,0,41,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,112,1,0,0,32,0,0,0,33,0,0,0,42,0,0,0,35,0,0,0,43,0,0,0,44,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,38,0,0,0,39,0,0,0,19,0,0,0,20,0,0,0,0,0,0,0,128,1,0,0,29,0,0,0,34,0,0,0,45,0,0,0,35,0,0,0,46,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,160,1,0,0,29,0,0,0,35,0,0,0,47,0,0,0,35,0,0,0,48,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,176,1,0,0,36,0,0,0,37,0,0,0,49,0,0,0,35,0,0,0,50,0,0,0,51,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,38,0,0,0,39,0,0,0,25,0,0,0,26,0,0,0,0,0,0,0,192,1,0,0,29,0,0,0,38,0,0,0,52,0,0,0,35,0,0,0,53,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,27,0,0,0,28,0,0,0,0,0,0,0,208,1,0,0,39,0,0,0,40,0,0,0,1,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,0,0,0,0,224,1,0,0,8,0,0,0,41,0,0,0,2,0,0,0,3,0,0,0,37,0,0,0,54,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,240,1,0,0,42,0,0,0,43,0,0,0,38,0,0,0,55,0,0,0,0,0,0,0,8,2,0,0,8,0,0,0,44,0,0,0,2,0,0,0,3,0,0,0,39,0,0,0,56,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,24,2,0,0,6,0,0,0,45,0,0,0,1,0,0,0,1,0,0,0,40,0,0,0,0,0,0,0,40,2,0,0,8,0,0,0,46,0,0,0,8,0,0,0,3,0,0,0,41,0,0,0,9,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,10,0,0,0,2,0,0,0,3,0,0,0,57,0,0,0,0,0,0,0,56,2,0,0,47,0,0,0,48,0,0,0,8,0,0,0,58,0,0,0,42,0,0,0,9,0,0,0,5,0,0,0,6,0,0,0,59,0,0,0,60,0,0,0,43,0,0,0,44,0,0,0,61,0,0,0,0,0,0,0,72,2,0,0,49,0,0,0,50,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,0,0,0,0,96,2,0,0,51,0,0,0,52,0,0,0,49,0,0,0,66,0,0,0,0,0,0,0,112,2,0,0,53,0,0,0,54,0,0,0,55,0,0,0,0,0,0,192,0,0,0,0,120,2,0,0,56,0,0,0,57,0,0,0,50,0,0,0,67,0,0,0,0,0,0,0,136,2,0,0,58,0,0,0,59,0,0,0,60,0,0,0,0,0,0,0,144,2,0,0,61,0,0,0,62,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,108,18,0,0,5,0,0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,15,0,0,0,148,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,15,0,0,0,156,58,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,220,18,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,0,0,0,0,168,2,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,17,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,184,2,0,0,63,0,0,0,67,0,0,0,65,0,0,0,66,0,0,0,17,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,64,55,0,0,0,0,0,0,224,2,0,0,68,0,0,0,69,0,0,0,73,0,0,0,99,111,114,101,47,114,97,110,115,95,99,111,100,105,110,103,46,99,99,0,97,110,115,45,62,115,116,97,116,101,32,62,61,32,108,95,98,97,115,101,0,46,47,99,111,114,101,47,97,110,115,46,104,0,97,110,115,95,119,114,105,116,101,95,101,110,100,0,97,110,115,45,62,115,116,97,116,101,32,60,32,108,95,98,97,115,101,32,42,32,105,111,95,98,97,115,101,0,40,112,41,32,60,61,32,40,49,46,48,41,0,99,111,114,101,47,97,100,97,112,116,105,118,101,95,114,97,110,115,95,99,111,100,105,110,103,46,99,99,0,99,108,97,109,112,95,112,114,111,98,97,98,105,108,105,116,121,0,40,48,46,48,41,32,60,61,32,40,112,41,0,40,110,98,105,116,115,41,32,62,61,32,40,48,41,0,46,47,99,111,114,101,47,98,105,116,95,99,111,100,101,114,46,104,0,71,101,116,66,105,116,115,0,40,110,98,105,116,115,41,32,60,61,32,40,51,50,41,0,78,53,100,114,97,99,111,49,48,80,111,105,110,116,67,108,111,117,100,69,0,97,116,116,95,105,100,32,62,61,32,48,0,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,99,108,111,117,100,46,99,99,0,83,101,116,65,116,116,114,105,98,117,116,101,0,78,53,100,114,97,99,111,52,77,101,115,104,69,0,78,53,100,114,97,99,111,49,55,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,55,80,111,105,110,116,67,108,111,117,100,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,49,77,101,115,104,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,54,83,101,113,117,101,110,116,105,97,108,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,51,51,83,101,113,117,101,110,116,105,97,108,73,110,116,101,103,101,114,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,51,48,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,121,112,101,100,73,110,116,101,114,102,97,99,101,73,105,105,69,69,0,78,53,100,114,97,99,111,50,53,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,110,116,101,114,102,97,99,101,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,105,102,102,101,114,101,110,99,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,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,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,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,49,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,110,111,114,109,97,108,95,111,99,116,97,104,101,100,114,111,110,95,116,114,97,110,115,102,111,114,109,46,104,0,67,111,109,112,117,116,101,67,111,114,114,101,99,116,105,111,110,0,40,112,114,101,100,95,118,97,108,115,91,49,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,111,114,105,103,95,118,97,108,115,91,48,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,111,114,105,103,95,118,97,108,115,91,49,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,48,41,32,60,61,32,40,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,120,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,77,97,107,101,80,111,115,105,116,105,118,101,0,40,116,114,117,101,41,32,61,61,32,40,86,101,114,105,102,121,40,111,114,105,103,44,32,112,114,101,100,44,32,99,111,114,114,41,41,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,67,111,109,112,117,116,101,79,114,105,103,105,110,97,108,86,97,108,117,101,0,40,112,114,101,100,95,118,97,108,115,91,49,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,32,43,32,49,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,48,41,32,60,61,32,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,93,41,0,40,48,41,32,60,61,32,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,32,43,32,49,93,41,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,40,105,41,32,61,61,32,40,48,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,109,101,115,104,95,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,116,101,120,95,99,111,111,114,100,115,46,104,0,71,101,116,80,97,114,101,110,116,65,116,116,114,105,98,117,116,101,84,121,112,101,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,105,102,102,101,114,101,110,99,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,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,55,80,111,105,110,116,67,108,111,117,100,83,101,113,117,101,110,116,105,97,108,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,53,76,105,110,101,97,114,83,101,113,117,101,110,99,101,114,69,0,78,53,100,114,97,99,111,49,53,80,111,105,110,116,115,83,101,113,117,101,110,99,101,114,69,0,78,53,100,114,97,99,111,50,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,51,75,100,84,114,101,101,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,69,0,40,48,41,32,60,61,32,40,97,116,116,95,105,100,41,0,46,47,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,99,108,111,117,100,46,104,0,97,116,116,114,105,98,117,116,101,0,40,97,116,116,95,105,100,41,32,60,32,40,115,116,97,116,105,99,95,99,97,115,116,60,105,110,116,51,50,95,116,62,40,97,116,116,114,105,98,117,116,101,115,95,46,115,105,122,101,40,41,41,41,0,77,101,116,104,111,100,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,32,10,0,86,101,114,115,105,111,110,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,32,10,0,40,105,110,102,111,46,114,97,110,103,101,41,32,62,61,32,40,48,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,113,117,97,110,116,105,122,101,95,112,111,105,110,116,115,95,51,46,104,0,68,101,113,117,97,110,116,105,122,101,80,111,105,110,116,115,51,0,40,116,114,117,101,41,32,61,61,32,40,110,117,109,95,114,101,109,97,105,110,105,110,103,95,112,111,105,110,116,115,32,33,61,32,48,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,105,110,116,101,103,101,114,95,112,111,105,110,116,115,95,107,100,95,116,114,101,101,95,100,101,99,111,100,101,114,46,104,0,79,99,116,114,101,101,68,101,99,111,100,101,0,40,116,114,117,101,41,32,61,61,32,40,110,98,105,116,115,32,60,61,32,51,50,41,0,46,47,99,111,114,101,47,100,105,114,101,99,116,95,98,105,116,95,99,111,100,105,110,103,46,104,0,68,101,99,111,100,101,76,101,97,115,116,83,105,103,110,105,102,105,99,97,110,116,66,105,116,115,51,50,0,40,116,114,117,101,41,32,61,61,32,40,110,98,105,116,115,32,62,32,48,41,0,40,116,114,117,101,41,32,61,61,32,40,113,112,111,105,110,116,115,45,62,115,105,122,101,40,41,32,61,61,32,110,117,109,95,112,111,105,110,116,115,95,41,0,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,102,108,111,97,116,95,112,111,105,110,116,115,95,116,114,101,101,95,100,101,99,111,100,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([114,46,99,99,0,68,101,99,111,100,101,80,111,105,110,116,67,108,111,117,100,75,100,84,114,101,101,73,110,116,101,114,110,97,108,0,78,53,100,114,97,99,111,50,49,77,101,115,104,83,101,113,117,101,110,116,105,97,108,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,50,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,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,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,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,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,46,47,109,101,115,104,47,109,101,115,104,46,104,0,102,97,99,101,0,33,105,100,101,110,116,105,116,121,95,109,97,112,112,105,110,103,95,0,46,47,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,97,116,116,114,105,98,117,116,101,46,104,0,83,101,116,80,111,105,110,116,77,97,112,69,110,116,114,121,0,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,78,53,100,114,97,99,111,50,50,77,101,115,104,84,114,97,118,101,114,115,97,108,83,101,113,117,101,110,99,101,114,73,78,83,95,50,48,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,101,114,73,78,83,95,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,78,83,95,51,54,77,101,115,104,65,116,116,114,105,98,117,116,101,73,110,100,105,99,101,115,69,110,99,111,100,105,110,103,79,98,115,101,114,118,101,114,73,83,51,95,69,69,78,83,95,49,57,69,100,103,101,66,114,101,97,107,101,114,79,98,115,101,114,118,101,114,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,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,54,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,78,83,95,52,49,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,97,108,80,114,101,100,105,99,116,105,118,101,68,101,99,111,100,101,114,69,69,69,0,68,82,65,67,79,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,111,115,116,97,118,97,47,100,101,118,101,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,109,97,115,116,101,114,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,118,101,99,116,111,114,32,111,117,116,95,111,102,95,114,97,110,103,101,34,0,95,95,116,104,114,111,119,95,111,117,116,95,111,102,95,114,97,110,103,101,0,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,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,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,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,116,121,112,101,95,105,110,102,111,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,101,120,99,101,112,116,105,111,110,0,117,110,99,97,117,103,104,116,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,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,83,116,57,98,97,100,95,97,108,108,111,99,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);var tempDoublePtr=STATICTOP;STATICTOP+=16;Module["_i64Subtract"]=_i64Subtract;function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}Module["_memset"]=_memset;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Runtime.dynCall("v",func);_pthread_once.seen[ptr]=1}function ___lock(){}function ___unlock(){}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}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()}var PTHREAD_SPECIFIC_NEXT_KEY=1;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["_i64Add"]=_i64Add;Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___cxa_begin_catch(ptr){__ZSt18uncaught_exceptionv.uncaught_exception--;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}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;function ___gxx_personality_v0(){}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j2147483648)return false;i=new a(newBuffer);j=new b(newBuffer);k=new c(newBuffer);l=new d(newBuffer);m=new e(newBuffer);n=new f(newBuffer);o=new g(newBuffer);p=new h(newBuffer);buffer=newBuffer;return true} // EMSCRIPTEN_START_FUNCS -function dm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=a+4|0;d=k[a>>2]|0;e=((k[l>>2]|0)-d>>5)+1|0;if(e>>>0>134217727)yp(a);j=d;m=a+8|0;c=(k[m>>2]|0)-d|0;if(c>>5>>>0<67108863){c=c>>4;c=c>>>0>>0?e:c;e=k[l>>2]|0;f=e-d>>5;if(!c){h=0;i=0}else g=6}else{f=k[l>>2]|0;c=134217727;e=f;f=f-d>>5;g=6}if((g|0)==6){h=c;i=$p(c<<5)|0}g=i+(f<<5)|0;c=g;h=i+(h<<5)|0;k[g>>2]=k[b>>2];k[i+(f<<5)+4>>2]=k[b+4>>2];k[i+(f<<5)+8>>2]=k[b+8>>2];k[i+(f<<5)+12>>2]=k[b+12>>2];f=i+(f<<5)+16|0;b=b+16|0;k[f>>2]=k[b>>2];k[f+4>>2]=k[b+4>>2];k[f+8>>2]=k[b+8>>2];k[f+12>>2]=k[b+12>>2];f=g+32|0;if((e|0)!=(j|0)){d=g;do{i=e;e=e+-32|0;k[d+-32>>2]=k[e>>2];k[d+-28>>2]=k[i+-28>>2];k[d+-24>>2]=k[i+-24>>2];k[d+-20>>2]=k[i+-20>>2];b=d+-16|0;i=i+-16|0;k[b>>2]=k[i>>2];k[b+4>>2]=k[i+4>>2];k[b+8>>2]=k[i+8>>2];k[b+12>>2]=k[i+12>>2];d=c+-32|0;c=d}while((e|0)!=(j|0));d=k[a>>2]|0}k[a>>2]=c;k[l>>2]=f;k[m>>2]=h;if(!d)return;Ip(d);return}function em(a){a=a|0;Xg(a);k[a>>2]=4384;return}function fm(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;return}function gm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=r;r=r+912|0;C=E+908|0;D=E;p=E+904|0;q=E+900|0;t=E+896|0;u=E+892|0;v=E+888|0;w=E+884|0;x=E+880|0;y=E+876|0;z=E+872|0;A=E+868|0;s=E+864|0;n=b+8|0;e=n;d=k[e>>2]|0;e=k[e+4>>2]|0;o=b+16|0;g=o;f=k[g>>2]|0;g=k[g+4>>2]|0;h=jq(f|0,g|0,4,0)|0;j=L;if((e|0)<(j|0)|(e|0)==(j|0)&d>>>0>>0){c=0;r=E;return c|0}m=k[b>>2]|0;B=m+f|0;B=l[B>>0]|l[B+1>>0]<<8|l[B+2>>0]<<16|l[B+3>>0]<<24;F=o;k[F>>2]=h;k[F+4>>2]=j;if((B|0)!=2){tp(9898,57,1,k[1178]|0)|0;F=0;r=E;return F|0}F=jq(f|0,g|0,8,0)|0;B=L;if((e|0)<(B|0)|(e|0)==(B|0)&d>>>0>>0){F=0;r=E;return F|0}F=m+h|0;F=l[F>>0]|l[F+1>>0]<<8|l[F+2>>0]<<16|l[F+3>>0]<<24;i[a>>0]=F;i[a+1>>0]=F>>8;i[a+2>>0]=F>>16;i[a+3>>0]=F>>24;F=o;m=k[F>>2]|0;F=k[F+4>>2]|0;d=jq(m|0,F|0,4,0)|0;j=o;k[j>>2]=d;k[j+4>>2]=L;j=n;B=k[j>>2]|0;j=k[j+4>>2]|0;F=jq(m|0,F|0,8,0)|0;m=L;if((j|0)<(m|0)|(j|0)==(m|0)&B>>>0>>0){F=0;r=E;return F|0}F=a+4|0;j=(k[b>>2]|0)+d|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;i[F>>0]=j;i[F+1>>0]=j>>8;i[F+2>>0]=j>>16;i[F+3>>0]=j>>24;F=o;j=k[F>>2]|0;F=k[F+4>>2]|0;d=jq(j|0,F|0,4,0)|0;B=o;k[B>>2]=d;k[B+4>>2]=L;B=a+8|0;h=n;m=k[h>>2]|0;h=k[h+4>>2]|0;F=jq(j|0,F|0,8,0)|0;j=L;if((h|0)<(j|0)|(h|0)==(j|0)&m>>>0>>0){F=0;r=E;return F|0}g=(k[b>>2]|0)+d|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;i[B>>0]=g;i[B+1>>0]=g>>8;i[B+2>>0]=g>>16;i[B+3>>0]=g>>24;F=o;m=k[F>>2]|0;F=k[F+4>>2]|0;d=jq(m|0,F|0,4,0)|0;j=o;k[j>>2]=d;k[j+4>>2]=L;j=n;n=k[j>>2]|0;j=k[j+4>>2]|0;F=jq(m|0,F|0,8,0)|0;m=L;if((j|0)<(m|0)|(j|0)==(m|0)&n>>>0>>0){F=0;r=E;return F|0}a=a+12|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;a=o;a=jq(k[a>>2]|0,k[a+4>>2]|0,4,0)|0;F=o;k[F>>2]=a;k[F+4>>2]=L;a:do if(!g)d=c;else do switch(d|0){case 0:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Em(D);k[p>>2]=c;k[C>>2]=k[p>>2];hm(D,b,C)|0;gd(D+68|0);gd(D+48|0);gd(D+28|0);gd(D+8|0);d=c;break a}case 1:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Gm(D);k[q>>2]=c;k[C>>2]=k[q>>2];km(D,b,C)|0;gd(D+68|0);gd(D+48|0);gd(D+28|0);gd(D+8|0);d=c;break a}case 2:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Im(D);k[t>>2]=c;k[C>>2]=k[t>>2];mm(D,b,C)|0;gd(D+64|0);gd(D+44|0);gd(D+24|0);rd(D+8|0);d=c;break a}case 3:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Km(D);k[u>>2]=c;k[C>>2]=k[u>>2];om(D,b,C)|0;gd(D+64|0);gd(D+44|0);gd(D+24|0);rd(D+8|0);d=c;break a}case 4:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Mm(D);k[v>>2]=c;k[C>>2]=k[v>>2];qm(D,b,C)|0;gd(D+576|0);gd(D+556|0);gd(D+536|0);rd(D+520|0);vl(D+8|0);d=c;break a}case 5:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Pm(D);k[w>>2]=c;k[C>>2]=k[w>>2];sm(D,b,C)|0;gd(D+576|0);gd(D+556|0);gd(D+536|0);rd(D+520|0);vl(D+8|0);d=c;break a}case 6:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Rm(D);k[x>>2]=c;k[C>>2]=k[x>>2];um(D,b,C)|0;gd(D+576|0);gd(D+556|0);gd(D+536|0);rd(D+520|0);vl(D+8|0);d=c;break a}case 7:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Tm(D);k[y>>2]=c;k[C>>2]=k[y>>2];wm(D,b,C)|0;gd(D+576|0);gd(D+556|0);gd(D+536|0);rd(D+520|0);vl(D+8|0);d=c;break a}case 8:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Vm(D);k[z>>2]=c;k[C>>2]=k[z>>2];ym(D,b,C)|0;gd(D+840|0);gd(D+820|0);gd(D+800|0);wd(D+776|0);Ul(D+8|0);d=c;break a}case 9:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}Ym(D);k[A>>2]=c;k[C>>2]=k[A>>2];Am(D,b,C)|0;gd(D+840|0);gd(D+820|0);gd(D+800|0);wd(D+776|0);Ul(D+8|0);d=c;break a}default:{h=c+8|0;j=k[c>>2]|0;f=j;if((((k[h>>2]|0)-j|0)/12|0)>>>0>>0){m=c+4|0;d=k[m>>2]|0;e=d;F=$p(g*12|0)|0;d=F+(((d-j|0)/12|0)*12|0)|0;n=d;g=F+(g*12|0)|0;if((e|0)==(f|0))d=n;else do{F=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[F+-8>>2];k[d+-4>>2]=k[F+-4>>2];d=d+-12|0}while((e|0)!=(f|0));k[c>>2]=d;k[m>>2]=n;k[h>>2]=g;if(j|0)Ip(j)}_m(D);k[s>>2]=c;k[C>>2]=k[s>>2];Cm(D,b,C)|0;gd(D+840|0);gd(D+820|0);gd(D+800|0);wd(D+776|0);Ul(D+8|0);d=c;break a}}while(0);while(0);if((((k[c+4>>2]|0)-(k[d>>2]|0)|0)/12|0|0)==(k[B>>2]|0)){F=1;r=E;return F|0}else Aa(10163,10206,124,10273);return 0}function hm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}hd(a+8|0,b);hd(a+28|0,b);hd(a+48|0,b);hd(a+68|0,b);u=k[g>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];im(a,u,o,m,0,n);r=s;return 1}function im(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0;la=r;r=r+112|0;ia=la+96|0;m=la+32|0;ka=la+72|0;ha=la+56|0;aa=la+44|0;$=la+16|0;_=la;i=k[c>>2]|0;ba=c+4|0;j=k[ba>>2]|0;ca=c+8|0;l=k[ca>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ka+12>>2]=0;k[ka+16>>2]=0;k[ka+20>>2]=0;da=ka+8|0;ea=ka+4|0;fa=ka+16|0;ga=ka+20|0;Vk(ka);g=k[ea>>2]|0;h=(k[ga>>2]|0)+(k[fa>>2]|0)|0;if((k[da>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;Z=g+16|0;k[Z>>2]=k[m>>2];k[Z+4>>2]=k[m+4>>2];k[Z+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ga>>2]|0)+1|0;k[ga>>2]=g;if(!g){Yk(ka);r=la;return}O=aa+4|0;P=aa+8|0;Q=a+44|0;R=a+40|0;S=ia+4|0;T=ia+8|0;U=ia+4|0;V=ia+8|0;W=a+24|0;X=a+20|0;Y=a+84|0;Z=a+80|0;a:while(1){L=k[fa>>2]|0;m=g+-1|0;l=m+L|0;M=k[ea>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ha>>2]=k[J>>2];k[ha+4>>2]=k[J+4>>2];k[ha+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ga>>2]=m;m=k[da>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Ip(k[m+-4>>2]|0);k[da>>2]=(k[da>>2]|0)+-4}k[c>>2]=h;k[ba>>2]=i;k[ca>>2]=j;k[d>>2]=k[ha>>2];k[d+4>>2]=k[ha+4>>2];k[d+8>>2]=k[ha+8>>2];k[aa>>2]=h;k[O>>2]=i;k[P>>2]=j;k[ia>>2]=k[ha>>2];k[ia+4>>2]=k[ha+4>>2];k[ia+8>>2]=k[ha+8>>2];M=Fm(a,N,aa,ia,l)|0;m=d+(M<<2)|0;e=k[m>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(e|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[ba>>2];k[j+8>>2]=k[ca>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ia>>2]=k[c>>2];k[U>>2]=k[ba>>2];k[V>>2]=k[ca>>2];g=ia+(M<<2)|0;k[g>>2]=(k[g>>2]|0)+(1<>>0>=33){g=34;break a}if((g|0)==31){g=36;break a}i=k[W>>2]|0;g=32-i|0;j=k[X>>2]|0;h=k[j>>2]<>>0<=g>>>0){g=h>>>(32-l|0);L=i+l|0;k[W>>2]=L;if((L|0)==32){k[X>>2]=j+4;k[W>>2]=0}}else{L=l-g|0;k[W>>2]=L;K=j+4|0;k[X>>2]=K;L=32-L|0;g=(k[K>>2]|0)>>>L|h>>>(L-g|0)}j=(N>>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[Y>>2]|0;g=k[Z>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[Y>>2]=N;if((N|0)==32){k[Z>>2]=g+4;k[Y>>2]=0}b=i?j:h;n=i?h:j}k[m>>2]=e+1;if(b|0){l=k[c>>2]|0;m=k[ba>>2]|0;e=k[ca>>2]|0;k[$>>2]=k[d>>2];k[$+4>>2]=k[d+4>>2];k[$+8>>2]=k[d+8>>2];j=k[da>>2]|0;i=k[ea>>2]|0;g=k[fa>>2]|0;h=k[ga>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Vk(ka);g=k[fa>>2]|0;h=k[ga>>2]|0;j=k[da>>2]|0;i=k[ea>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[$>>2];k[N+4>>2]=k[$+4>>2];k[N+8>>2]=k[$+8>>2];k[g+28>>2]=M;k[ga>>2]=(k[ga>>2]|0)+1}if(n|0){l=k[ia>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];j=k[da>>2]|0;i=k[ea>>2]|0;g=k[fa>>2]|0;h=k[ga>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Vk(ka);g=k[fa>>2]|0;h=k[ga>>2]|0;j=k[da>>2]|0;i=k[ea>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[_>>2];k[N+4>>2]=k[_+4>>2];k[N+8>>2]=k[_+8>>2];k[g+28>>2]=M;k[ga>>2]=(k[ga>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=h-e|0;E=k[d+(w<<2)>>2]|0;L=h-E|0;p=k[d+(s<<2)>>2]|0;G=h-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(h|0)==(e|0);A=ia+(M<<2)|0;D=c+(M<<2)|0;E=(h|0)==(E|0);B=ia+(w<<2)|0;F=c+(w<<2)|0;p=(h|0)==(p|0);o=ia+(s<<2)|0;q=c+(s<<2)|0;s=ia+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=ia+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=ia+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=K-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=L-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))jm(H,ia);else{k[g>>2]=k[ia>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ga>>2]|0;if(!g){g=59;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==34)Aa(10077,10101,111,10128);else if((g|0)==36)Aa(10141,10101,112,10128);else if((g|0)==59){Yk(ka);r=la;return}}function jm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=a+4|0;d=k[a>>2]|0;e=(((k[l>>2]|0)-d|0)/12|0)+1|0;if(e>>>0>357913941)yp(a);j=d;m=a+8|0;c=((k[m>>2]|0)-d|0)/12|0;if(c>>>0<178956970){c=c<<1;c=c>>>0>>0?e:c;f=k[l>>2]|0;e=(f-d|0)/12|0;if(!c){g=0;h=0}else i=6}else{e=k[l>>2]|0;c=357913941;f=e;e=(e-d|0)/12|0;i=6}if((i|0)==6){g=c;h=$p(c*12|0)|0}c=h+(e*12|0)|0;g=h+(g*12|0)|0;k[c>>2]=k[b>>2];k[h+(e*12|0)+4>>2]=k[b+4>>2];k[h+(e*12|0)+8>>2]=k[b+8>>2];e=c+12|0;if((f|0)!=(j|0)){d=f;do{b=d;d=d+-12|0;k[c+-12>>2]=k[d>>2];k[c+-8>>2]=k[b+-8>>2];k[c+-4>>2]=k[b+-4>>2];c=c+-12|0}while((d|0)!=(j|0));d=k[a>>2]|0}k[a>>2]=c;k[l>>2]=e;k[m>>2]=g;if(!d)return;Ip(d);return}function km(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}hd(a+8|0,b);hd(a+28|0,b);hd(a+48|0,b);hd(a+68|0,b);u=k[g>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];lm(a,u,o,m,0,n);r=s;return 1}function lm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0;la=r;r=r+112|0;ia=la+96|0;m=la+32|0;ka=la+72|0;ha=la+56|0;aa=la+44|0;$=la+16|0;_=la;i=k[c>>2]|0;ba=c+4|0;j=k[ba>>2]|0;ca=c+8|0;l=k[ca>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ka+12>>2]=0;k[ka+16>>2]=0;k[ka+20>>2]=0;da=ka+8|0;ea=ka+4|0;fa=ka+16|0;ga=ka+20|0;$k(ka);g=k[ea>>2]|0;h=(k[ga>>2]|0)+(k[fa>>2]|0)|0;if((k[da>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;Z=g+16|0;k[Z>>2]=k[m>>2];k[Z+4>>2]=k[m+4>>2];k[Z+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ga>>2]|0)+1|0;k[ga>>2]=g;if(!g){cl(ka);r=la;return}O=aa+4|0;P=aa+8|0;Q=a+44|0;R=a+40|0;S=ia+4|0;T=ia+8|0;U=ia+4|0;V=ia+8|0;W=a+24|0;X=a+20|0;Y=a+84|0;Z=a+80|0;a:while(1){L=k[fa>>2]|0;m=g+-1|0;l=m+L|0;M=k[ea>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ha>>2]=k[J>>2];k[ha+4>>2]=k[J+4>>2];k[ha+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ga>>2]=m;m=k[da>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Ip(k[m+-4>>2]|0);k[da>>2]=(k[da>>2]|0)+-4}k[c>>2]=h;k[ba>>2]=i;k[ca>>2]=j;k[d>>2]=k[ha>>2];k[d+4>>2]=k[ha+4>>2];k[d+8>>2]=k[ha+8>>2];k[aa>>2]=h;k[O>>2]=i;k[P>>2]=j;k[ia>>2]=k[ha>>2];k[ia+4>>2]=k[ha+4>>2];k[ia+8>>2]=k[ha+8>>2];M=Hm(a,N,aa,ia,l)|0;m=d+(M<<2)|0;e=k[m>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(e|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[ba>>2];k[j+8>>2]=k[ca>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ia>>2]=k[c>>2];k[U>>2]=k[ba>>2];k[V>>2]=k[ca>>2];g=ia+(M<<2)|0;k[g>>2]=(k[g>>2]|0)+(1<>>0>=33){g=34;break a}if((g|0)==31){g=36;break a}i=k[W>>2]|0;g=32-i|0;j=k[X>>2]|0;h=k[j>>2]<>>0<=g>>>0){g=h>>>(32-l|0);L=i+l|0;k[W>>2]=L;if((L|0)==32){k[X>>2]=j+4;k[W>>2]=0}}else{L=l-g|0;k[W>>2]=L;K=j+4|0;k[X>>2]=K;L=32-L|0;g=(k[K>>2]|0)>>>L|h>>>(L-g|0)}j=(N>>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[Y>>2]|0;g=k[Z>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[Y>>2]=N;if((N|0)==32){k[Z>>2]=g+4;k[Y>>2]=0}b=i?j:h;n=i?h:j}k[m>>2]=e+1;if(b|0){l=k[c>>2]|0;m=k[ba>>2]|0;e=k[ca>>2]|0;k[$>>2]=k[d>>2];k[$+4>>2]=k[d+4>>2];k[$+8>>2]=k[d+8>>2];j=k[da>>2]|0;i=k[ea>>2]|0;g=k[fa>>2]|0;h=k[ga>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){$k(ka);g=k[fa>>2]|0;h=k[ga>>2]|0;j=k[da>>2]|0;i=k[ea>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[$>>2];k[N+4>>2]=k[$+4>>2];k[N+8>>2]=k[$+8>>2];k[g+28>>2]=M;k[ga>>2]=(k[ga>>2]|0)+1}if(n|0){l=k[ia>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];j=k[da>>2]|0;i=k[ea>>2]|0;g=k[fa>>2]|0;h=k[ga>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){$k(ka);g=k[fa>>2]|0;h=k[ga>>2]|0;j=k[da>>2]|0;i=k[ea>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[_>>2];k[N+4>>2]=k[_+4>>2];k[N+8>>2]=k[_+8>>2];k[g+28>>2]=M;k[ga>>2]=(k[ga>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=h-e|0;E=k[d+(w<<2)>>2]|0;L=h-E|0;p=k[d+(s<<2)>>2]|0;G=h-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(h|0)==(e|0);A=ia+(M<<2)|0;D=c+(M<<2)|0;E=(h|0)==(E|0);B=ia+(w<<2)|0;F=c+(w<<2)|0;p=(h|0)==(p|0);o=ia+(s<<2)|0;q=c+(s<<2)|0;s=ia+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=ia+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=ia+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=K-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=L-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))jm(H,ia);else{k[g>>2]=k[ia>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ga>>2]|0;if(!g){g=59;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==34)Aa(10077,10101,111,10128);else if((g|0)==36)Aa(10141,10101,112,10128);else if((g|0)==59){cl(ka);r=la;return}}function mm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}sd(a+8|0,b);hd(a+24|0,b);hd(a+44|0,b);hd(a+64|0,b);u=k[g>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];nm(a,u,o,m,0,n);r=s;return 1}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;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0;la=r;r=r+112|0;ia=la+96|0;m=la+32|0;ka=la+72|0;ha=la+60|0;$=la+48|0;ga=la+44|0;_=la+16|0;Z=la;i=k[c>>2]|0;aa=c+4|0;j=k[aa>>2]|0;ba=c+8|0;l=k[ba>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ka+12>>2]=0;k[ka+16>>2]=0;k[ka+20>>2]=0;ca=ka+8|0;da=ka+4|0;ea=ka+16|0;fa=ka+20|0;fl(ka);g=k[da>>2]|0;h=(k[fa>>2]|0)+(k[ea>>2]|0)|0;if((k[ca>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;Y=g+16|0;k[Y>>2]=k[m>>2];k[Y+4>>2]=k[m+4>>2];k[Y+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[fa>>2]|0)+1|0;k[fa>>2]=g;if(!g){il(ka);r=la;return}O=$+4|0;P=$+8|0;Q=a+40|0;R=a+36|0;S=ia+4|0;T=ia+8|0;U=ia+4|0;V=ia+8|0;W=a+8|0;X=a+80|0;Y=a+76|0;a:while(1){L=k[ea>>2]|0;m=g+-1|0;l=m+L|0;M=k[da>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ha>>2]=k[J>>2];k[ha+4>>2]=k[J+4>>2];k[ha+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[fa>>2]=m;m=k[ca>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Ip(k[m+-4>>2]|0);k[ca>>2]=(k[ca>>2]|0)+-4}k[c>>2]=h;k[aa>>2]=i;k[ba>>2]=j;k[d>>2]=k[ha>>2];k[d+4>>2]=k[ha+4>>2];k[d+8>>2]=k[ha+8>>2];k[$>>2]=h;k[O>>2]=i;k[P>>2]=j;k[ia>>2]=k[ha>>2];k[ia+4>>2]=k[ha+4>>2];k[ia+8>>2]=k[ha+8>>2];M=Jm(a,N,$,ia,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(m|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[aa>>2];k[j+8>>2]=k[ba>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ia>>2]=k[c>>2];k[U>>2]=k[aa>>2];k[V>>2]=k[ba>>2];j=ia+(M<<2)|0;k[j>>2]=(k[j>>2]|0)+(1<>2]=0;ud(W,j,ga);j=(N>>>1)-(k[ga>>2]|0)|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[X>>2]|0;g=k[Y>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[X>>2]=N;if((N|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){l=k[c>>2]|0;m=k[aa>>2]|0;e=k[ba>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];j=k[ca>>2]|0;i=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){fl(ka);g=k[ea>>2]|0;h=k[fa>>2]|0;j=k[ca>>2]|0;i=k[da>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[_>>2];k[N+4>>2]=k[_+4>>2];k[N+8>>2]=k[_+8>>2];k[g+28>>2]=M;k[fa>>2]=(k[fa>>2]|0)+1}if(n|0){l=k[ia>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];j=k[ca>>2]|0;i=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){fl(ka);g=k[ea>>2]|0;h=k[fa>>2]|0;j=k[ca>>2]|0;i=k[da>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[fa>>2]=(k[fa>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=h-m|0;E=k[d+(w<<2)>>2]|0;L=h-E|0;p=k[d+(s<<2)>>2]|0;G=h-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(h|0)==(m|0);A=ia+(M<<2)|0;D=c+(M<<2)|0;E=(h|0)==(E|0);B=ia+(w<<2)|0;F=c+(w<<2)|0;p=(h|0)==(p|0);o=ia+(s<<2)|0;q=c+(s<<2)|0;s=ia+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=ia+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=ia+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=K-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=L-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))jm(H,ia);else{k[g>>2]=k[ia>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[fa>>2]|0;if(!g){g=51;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==51){il(ka);r=la;return}}function om(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}sd(a+8|0,b);hd(a+24|0,b);hd(a+44|0,b);hd(a+64|0,b);u=k[g>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];pm(a,u,o,m,0,n);r=s;return 1}function pm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0;la=r;r=r+112|0;ia=la+96|0;m=la+32|0;ka=la+72|0;ha=la+60|0;$=la+48|0;ga=la+44|0;_=la+16|0;Z=la;i=k[c>>2]|0;aa=c+4|0;j=k[aa>>2]|0;ba=c+8|0;l=k[ba>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ka+12>>2]=0;k[ka+16>>2]=0;k[ka+20>>2]=0;ca=ka+8|0;da=ka+4|0;ea=ka+16|0;fa=ka+20|0;ll(ka);g=k[da>>2]|0;h=(k[fa>>2]|0)+(k[ea>>2]|0)|0;if((k[ca>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;Y=g+16|0;k[Y>>2]=k[m>>2];k[Y+4>>2]=k[m+4>>2];k[Y+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[fa>>2]|0)+1|0;k[fa>>2]=g;if(!g){ol(ka);r=la;return}O=$+4|0;P=$+8|0;Q=a+40|0;R=a+36|0;S=ia+4|0;T=ia+8|0;U=ia+4|0;V=ia+8|0;W=a+8|0;X=a+80|0;Y=a+76|0;a:while(1){L=k[ea>>2]|0;m=g+-1|0;l=m+L|0;M=k[da>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ha>>2]=k[J>>2];k[ha+4>>2]=k[J+4>>2];k[ha+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[fa>>2]=m;m=k[ca>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Ip(k[m+-4>>2]|0);k[ca>>2]=(k[ca>>2]|0)+-4}k[c>>2]=h;k[aa>>2]=i;k[ba>>2]=j;k[d>>2]=k[ha>>2];k[d+4>>2]=k[ha+4>>2];k[d+8>>2]=k[ha+8>>2];k[$>>2]=h;k[O>>2]=i;k[P>>2]=j;k[ia>>2]=k[ha>>2];k[ia+4>>2]=k[ha+4>>2];k[ia+8>>2]=k[ha+8>>2];M=Lm(a,N,$,ia,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(m|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[aa>>2];k[j+8>>2]=k[ba>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ia>>2]=k[c>>2];k[U>>2]=k[aa>>2];k[V>>2]=k[ba>>2];j=ia+(M<<2)|0;k[j>>2]=(k[j>>2]|0)+(1<>2]=0;ud(W,j,ga);j=(N>>>1)-(k[ga>>2]|0)|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[X>>2]|0;g=k[Y>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[X>>2]=N;if((N|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){l=k[c>>2]|0;m=k[aa>>2]|0;e=k[ba>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];j=k[ca>>2]|0;i=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){ll(ka);g=k[ea>>2]|0;h=k[fa>>2]|0;j=k[ca>>2]|0;i=k[da>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[_>>2];k[N+4>>2]=k[_+4>>2];k[N+8>>2]=k[_+8>>2];k[g+28>>2]=M;k[fa>>2]=(k[fa>>2]|0)+1}if(n|0){l=k[ia>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];j=k[ca>>2]|0;i=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){ll(ka);g=k[ea>>2]|0;h=k[fa>>2]|0;j=k[ca>>2]|0;i=k[da>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[fa>>2]=(k[fa>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=h-m|0;E=k[d+(w<<2)>>2]|0;L=h-E|0;p=k[d+(s<<2)>>2]|0;G=h-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(h|0)==(m|0);A=ia+(M<<2)|0;D=c+(M<<2)|0;E=(h|0)==(E|0);B=ia+(w<<2)|0;F=c+(w<<2)|0;p=(h|0)==(p|0);o=ia+(s<<2)|0;q=c+(s<<2)|0;s=ia+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=ia+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=ia+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=K-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=L-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))jm(H,ia);else{k[g>>2]=k[ia>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[fa>>2]|0;if(!g){g=51;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==51){ol(ka);r=la;return}}function qm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{sd(a+8+(d<<4)|0,b);d=d+1|0}while((d|0)!=32);sd(a+520|0,b);hd(a+536|0,b);hd(a+556|0,b);hd(a+576|0,b);u=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];rm(a,u,o,m,0,n);r=s;return 1}function rm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=r;r=r+112|0;ga=ia+96|0;m=ia+32|0;ha=ia+72|0;fa=ia+56|0;_=ia+44|0;Z=ia+16|0;Y=ia;i=k[c>>2]|0;$=c+4|0;j=k[$>>2]|0;aa=c+8|0;l=k[aa>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;ba=ha+8|0;ca=ha+4|0;da=ha+16|0;ea=ha+20|0;rl(ha);g=k[ca>>2]|0;h=(k[ea>>2]|0)+(k[da>>2]|0)|0;if((k[ba>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;X=g+16|0;k[X>>2]=k[m>>2];k[X+4>>2]=k[m+4>>2];k[X+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ea>>2]|0)+1|0;k[ea>>2]=g;if(!g){ul(ha);r=ia;return}O=_+4|0;P=_+8|0;Q=a+552|0;R=a+548|0;S=ga+4|0;T=ga+8|0;U=ga+4|0;V=ga+8|0;W=a+592|0;X=a+588|0;a:while(1){L=k[da>>2]|0;m=g+-1|0;l=m+L|0;M=k[ca>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[fa>>2]=k[J>>2];k[fa+4>>2]=k[J+4>>2];k[fa+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ea>>2]=m;m=k[ba>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Ip(k[m+-4>>2]|0);k[ba>>2]=(k[ba>>2]|0)+-4}k[c>>2]=h;k[$>>2]=i;k[aa>>2]=j;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[_>>2]=h;k[O>>2]=i;k[P>>2]=j;k[ga>>2]=k[fa>>2];k[ga+4>>2]=k[fa+4>>2];k[ga+8>>2]=k[fa+8>>2];M=Om(a,N,_,ga,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(m|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[$>>2];k[j+8>>2]=k[aa>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ga>>2]=k[c>>2];k[U>>2]=k[$>>2];k[V>>2]=k[aa>>2];L=ga+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[W>>2]|0;g=k[X>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[W>>2]=N;if((N|0)==32){k[X>>2]=g+4;k[W>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){l=k[c>>2]|0;m=k[$>>2]|0;e=k[aa>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){rl(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}if(n|0){l=k[ga>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){rl(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Y>>2];k[N+4>>2]=k[Y+4>>2];k[N+8>>2]=k[Y+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=h-m|0;E=k[d+(w<<2)>>2]|0;L=h-E|0;p=k[d+(s<<2)>>2]|0;G=h-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(h|0)==(m|0);A=ga+(M<<2)|0;D=c+(M<<2)|0;E=(h|0)==(E|0);B=ga+(w<<2)|0;F=c+(w<<2)|0;p=(h|0)==(p|0);o=ga+(s<<2)|0;q=c+(s<<2)|0;s=ga+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=ga+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=ga+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=K-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=L-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))jm(H,ga);else{k[g>>2]=k[ga>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ea>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==53){ul(ha);r=ia;return}}function sm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{sd(a+8+(d<<4)|0,b);d=d+1|0}while((d|0)!=32);sd(a+520|0,b);hd(a+536|0,b);hd(a+556|0,b);hd(a+576|0,b);u=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];tm(a,u,o,m,0,n);r=s;return 1}function tm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=r;r=r+112|0;ga=ia+96|0;m=ia+32|0;ha=ia+72|0;fa=ia+56|0;_=ia+44|0;Z=ia+16|0;Y=ia;i=k[c>>2]|0;$=c+4|0;j=k[$>>2]|0;aa=c+8|0;l=k[aa>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;ba=ha+8|0;ca=ha+4|0;da=ha+16|0;ea=ha+20|0;yl(ha);g=k[ca>>2]|0;h=(k[ea>>2]|0)+(k[da>>2]|0)|0;if((k[ba>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;X=g+16|0;k[X>>2]=k[m>>2];k[X+4>>2]=k[m+4>>2];k[X+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ea>>2]|0)+1|0;k[ea>>2]=g;if(!g){Bl(ha);r=ia;return}O=_+4|0;P=_+8|0;Q=a+552|0;R=a+548|0;S=ga+4|0;T=ga+8|0;U=ga+4|0;V=ga+8|0;W=a+592|0;X=a+588|0;a:while(1){L=k[da>>2]|0;m=g+-1|0;l=m+L|0;M=k[ca>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[fa>>2]=k[J>>2];k[fa+4>>2]=k[J+4>>2];k[fa+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ea>>2]=m;m=k[ba>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Ip(k[m+-4>>2]|0);k[ba>>2]=(k[ba>>2]|0)+-4}k[c>>2]=h;k[$>>2]=i;k[aa>>2]=j;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[_>>2]=h;k[O>>2]=i;k[P>>2]=j;k[ga>>2]=k[fa>>2];k[ga+4>>2]=k[fa+4>>2];k[ga+8>>2]=k[fa+8>>2];M=Qm(a,N,_,ga,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(m|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[$>>2];k[j+8>>2]=k[aa>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ga>>2]=k[c>>2];k[U>>2]=k[$>>2];k[V>>2]=k[aa>>2];L=ga+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[W>>2]|0;g=k[X>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[W>>2]=N;if((N|0)==32){k[X>>2]=g+4;k[W>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){l=k[c>>2]|0;m=k[$>>2]|0;e=k[aa>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){yl(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}if(n|0){l=k[ga>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){yl(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Y>>2];k[N+4>>2]=k[Y+4>>2];k[N+8>>2]=k[Y+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=h-m|0;E=k[d+(w<<2)>>2]|0;L=h-E|0;p=k[d+(s<<2)>>2]|0;G=h-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(h|0)==(m|0);A=ga+(M<<2)|0;D=c+(M<<2)|0;E=(h|0)==(E|0);B=ga+(w<<2)|0;F=c+(w<<2)|0;p=(h|0)==(p|0);o=ga+(s<<2)|0;q=c+(s<<2)|0;s=ga+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=ga+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=ga+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=K-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=L-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))jm(H,ga);else{k[g>>2]=k[ga>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ea>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==53){Bl(ha);r=ia;return}}function um(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{sd(a+8+(d<<4)|0,b);d=d+1|0}while((d|0)!=32);sd(a+520|0,b);hd(a+536|0,b);hd(a+556|0,b);hd(a+576|0,b);u=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];vm(a,u,o,m,0,n);r=s;return 1}function vm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=r;r=r+112|0;ga=ia+96|0;m=ia+32|0;ha=ia+72|0;fa=ia+56|0;_=ia+44|0;Z=ia+16|0;Y=ia;i=k[c>>2]|0;$=c+4|0;j=k[$>>2]|0;aa=c+8|0;l=k[aa>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;ba=ha+8|0;ca=ha+4|0;da=ha+16|0;ea=ha+20|0;El(ha);g=k[ca>>2]|0;h=(k[ea>>2]|0)+(k[da>>2]|0)|0;if((k[ba>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;X=g+16|0;k[X>>2]=k[m>>2];k[X+4>>2]=k[m+4>>2];k[X+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ea>>2]|0)+1|0;k[ea>>2]=g;if(!g){Hl(ha);r=ia;return}O=_+4|0;P=_+8|0;Q=a+552|0;R=a+548|0;S=ga+4|0;T=ga+8|0;U=ga+4|0;V=ga+8|0;W=a+592|0;X=a+588|0;a:while(1){L=k[da>>2]|0;m=g+-1|0;l=m+L|0;M=k[ca>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[fa>>2]=k[J>>2];k[fa+4>>2]=k[J+4>>2];k[fa+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ea>>2]=m;m=k[ba>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Ip(k[m+-4>>2]|0);k[ba>>2]=(k[ba>>2]|0)+-4}k[c>>2]=h;k[$>>2]=i;k[aa>>2]=j;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[_>>2]=h;k[O>>2]=i;k[P>>2]=j;k[ga>>2]=k[fa>>2];k[ga+4>>2]=k[fa+4>>2];k[ga+8>>2]=k[fa+8>>2];M=Sm(a,N,_,ga,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(m|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[$>>2];k[j+8>>2]=k[aa>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ga>>2]=k[c>>2];k[U>>2]=k[$>>2];k[V>>2]=k[aa>>2];L=ga+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[W>>2]|0;g=k[X>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[W>>2]=N;if((N|0)==32){k[X>>2]=g+4;k[W>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){l=k[c>>2]|0;m=k[$>>2]|0;e=k[aa>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){El(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}if(n|0){l=k[ga>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){El(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Y>>2];k[N+4>>2]=k[Y+4>>2];k[N+8>>2]=k[Y+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=h-m|0;E=k[d+(w<<2)>>2]|0;L=h-E|0;p=k[d+(s<<2)>>2]|0;G=h-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(h|0)==(m|0);A=ga+(M<<2)|0;D=c+(M<<2)|0;E=(h|0)==(E|0);B=ga+(w<<2)|0;F=c+(w<<2)|0;p=(h|0)==(p|0);o=ga+(s<<2)|0;q=c+(s<<2)|0;s=ga+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=ga+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=ga+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=K-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=L-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))jm(H,ga);else{k[g>>2]=k[ga>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ea>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==53){Hl(ha);r=ia;return}}function wm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{sd(a+8+(d<<4)|0,b);d=d+1|0}while((d|0)!=32);sd(a+520|0,b);hd(a+536|0,b);hd(a+556|0,b);hd(a+576|0,b);u=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];xm(a,u,o,m,0,n);r=s;return 1}function xm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=r;r=r+112|0;ga=ia+96|0;m=ia+32|0;ha=ia+72|0;fa=ia+56|0;_=ia+44|0;Z=ia+16|0;Y=ia;i=k[c>>2]|0;$=c+4|0;j=k[$>>2]|0;aa=c+8|0;l=k[aa>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;ba=ha+8|0;ca=ha+4|0;da=ha+16|0;ea=ha+20|0;Kl(ha);g=k[ca>>2]|0;h=(k[ea>>2]|0)+(k[da>>2]|0)|0;if((k[ba>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;X=g+16|0;k[X>>2]=k[m>>2];k[X+4>>2]=k[m+4>>2];k[X+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ea>>2]|0)+1|0;k[ea>>2]=g;if(!g){Nl(ha);r=ia;return}O=_+4|0;P=_+8|0;Q=a+552|0;R=a+548|0;S=ga+4|0;T=ga+8|0;U=ga+4|0;V=ga+8|0;W=a+592|0;X=a+588|0;a:while(1){L=k[da>>2]|0;m=g+-1|0;l=m+L|0;M=k[ca>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[fa>>2]=k[J>>2];k[fa+4>>2]=k[J+4>>2];k[fa+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ea>>2]=m;m=k[ba>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Ip(k[m+-4>>2]|0);k[ba>>2]=(k[ba>>2]|0)+-4}k[c>>2]=h;k[$>>2]=i;k[aa>>2]=j;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[_>>2]=h;k[O>>2]=i;k[P>>2]=j;k[ga>>2]=k[fa>>2];k[ga+4>>2]=k[fa+4>>2];k[ga+8>>2]=k[fa+8>>2];M=Um(a,N,_,ga,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(m|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[$>>2];k[j+8>>2]=k[aa>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ga>>2]=k[c>>2];k[U>>2]=k[$>>2];k[V>>2]=k[aa>>2];L=ga+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[W>>2]|0;g=k[X>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[W>>2]=N;if((N|0)==32){k[X>>2]=g+4;k[W>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){l=k[c>>2]|0;m=k[$>>2]|0;e=k[aa>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Kl(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}if(n|0){l=k[ga>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Kl(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Y>>2];k[N+4>>2]=k[Y+4>>2];k[N+8>>2]=k[Y+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=h-m|0;E=k[d+(w<<2)>>2]|0;L=h-E|0;p=k[d+(s<<2)>>2]|0;G=h-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(h|0)==(m|0);A=ga+(M<<2)|0;D=c+(M<<2)|0;E=(h|0)==(E|0);B=ga+(w<<2)|0;F=c+(w<<2)|0;p=(h|0)==(p|0);o=ga+(s<<2)|0;q=c+(s<<2)|0;s=ga+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=ga+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=ga+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=K-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=L-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))jm(H,ga);else{k[g>>2]=k[ga>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ea>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==53){Nl(ha);r=ia;return}}function ym(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{xd(a+8+(d*24|0)|0,b);d=d+1|0}while((d|0)!=32);xd(a+776|0,b);hd(a+800|0,b);hd(a+820|0,b);hd(a+840|0,b);u=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];zm(a,u,o,m,0,n);r=s;return 1}function zm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=r;r=r+112|0;ga=ia+96|0;m=ia+32|0;ha=ia+72|0;fa=ia+56|0;_=ia+44|0;Z=ia+16|0;Y=ia;i=k[c>>2]|0;$=c+4|0;j=k[$>>2]|0;aa=c+8|0;l=k[aa>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;ba=ha+8|0;ca=ha+4|0;da=ha+16|0;ea=ha+20|0;Ql(ha);g=k[ca>>2]|0;h=(k[ea>>2]|0)+(k[da>>2]|0)|0;if((k[ba>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;X=g+16|0;k[X>>2]=k[m>>2];k[X+4>>2]=k[m+4>>2];k[X+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ea>>2]|0)+1|0;k[ea>>2]=g;if(!g){Tl(ha);r=ia;return}O=_+4|0;P=_+8|0;Q=a+816|0;R=a+812|0;S=ga+4|0;T=ga+8|0;U=ga+4|0;V=ga+8|0;W=a+856|0;X=a+852|0;a:while(1){h=k[ca>>2]|0;M=k[da>>2]|0;L=k[h+(M>>>7<<2)>>2]|0;m=M&127;N=k[L+(m<<5)>>2]|0;i=k[L+(m<<5)+4>>2]|0;j=k[L+(m<<5)+8>>2]|0;l=k[L+(m<<5)+12>>2]|0;K=L+(m<<5)+16|0;k[fa>>2]=k[K>>2];k[fa+4>>2]=k[K+4>>2];k[fa+8>>2]=k[K+8>>2];m=k[L+(m<<5)+28>>2]|0;k[ea>>2]=g+-1;M=M+1|0;k[da>>2]=M;if(M>>>0>255){Ip(k[h>>2]|0);k[ca>>2]=(k[ca>>2]|0)+4;k[da>>2]=(k[da>>2]|0)+-128}k[c>>2]=i;k[$>>2]=j;k[aa>>2]=l;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[_>>2]=i;k[O>>2]=j;k[P>>2]=l;k[ga>>2]=k[fa>>2];k[ga+4>>2]=k[fa+4>>2];k[ga+8>>2]=k[fa+8>>2];M=Xm(a,N,_,ga,m)|0;l=d+(M<<2)|0;m=k[l>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(m|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[$>>2];k[j+8>>2]=k[aa>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ga>>2]=k[c>>2];k[U>>2]=k[$>>2];k[V>>2]=k[aa>>2];L=ga+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[W>>2]|0;g=k[X>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[W>>2]=N;if((N|0)==32){k[X>>2]=g+4;k[W>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){l=k[c>>2]|0;m=k[$>>2]|0;e=k[aa>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Ql(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}if(n|0){l=k[ga>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Ql(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Y>>2];k[N+4>>2]=k[Y+4>>2];k[N+8>>2]=k[Y+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;G=h-m|0;F=k[d+(w<<2)>>2]|0;H=h-F|0;p=k[d+(s<<2)>>2]|0;I=h-p|0;J=k[f>>2]|0;K=J+4|0;L=J+8|0;D=(h|0)==(m|0);A=ga+(M<<2)|0;E=c+(M<<2)|0;F=(h|0)==(F|0);B=ga+(w<<2)|0;C=c+(w<<2)|0;p=(h|0)==(p|0);o=ga+(s<<2)|0;q=c+(s<<2)|0;s=ga+(s<<2)|0;t=(I|0)<33;u=(I|0)>0;v=32-I|0;w=ga+(w<<2)|0;x=(H|0)<33;y=(H|0)>0;z=32-H|0;l=ga+(M<<2)|0;m=(G|0)<33;e=(G|0)>0;b=32-G|0;n=0;do{k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;do if(!D){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=H-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+H|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[C>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=I-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+I|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[K>>2]|0;if((g|0)==(k[L>>2]|0))jm(J,ga);else{k[g>>2]=k[ga>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[K>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ea>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==53){Tl(ha);r=ia;return}}function Am(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{xd(a+8+(d*24|0)|0,b);d=d+1|0}while((d|0)!=32);xd(a+776|0,b);hd(a+800|0,b);hd(a+820|0,b);hd(a+840|0,b);u=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];Bm(a,u,o,m,0,n);r=s;return 1}function Bm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=r;r=r+112|0;ga=ia+96|0;m=ia+32|0;ha=ia+72|0;fa=ia+56|0;_=ia+44|0;Z=ia+16|0;Y=ia;i=k[c>>2]|0;$=c+4|0;j=k[$>>2]|0;aa=c+8|0;l=k[aa>>2]|0;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;ba=ha+8|0;ca=ha+4|0;da=ha+16|0;ea=ha+20|0;Xl(ha);g=k[ca>>2]|0;h=(k[ea>>2]|0)+(k[da>>2]|0)|0;if((k[ba>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;X=g+16|0;k[X>>2]=k[m>>2];k[X+4>>2]=k[m+4>>2];k[X+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ea>>2]|0)+1|0;k[ea>>2]=g;if(!g){_l(ha);r=ia;return}O=_+4|0;P=_+8|0;Q=a+816|0;R=a+812|0;S=ga+4|0;T=ga+8|0;U=ga+4|0;V=ga+8|0;W=a+856|0;X=a+852|0;a:while(1){h=k[ca>>2]|0;M=k[da>>2]|0;L=k[h+(M>>>7<<2)>>2]|0;m=M&127;N=k[L+(m<<5)>>2]|0;i=k[L+(m<<5)+4>>2]|0;j=k[L+(m<<5)+8>>2]|0;l=k[L+(m<<5)+12>>2]|0;K=L+(m<<5)+16|0;k[fa>>2]=k[K>>2];k[fa+4>>2]=k[K+4>>2];k[fa+8>>2]=k[K+8>>2];m=k[L+(m<<5)+28>>2]|0;k[ea>>2]=g+-1;M=M+1|0;k[da>>2]=M;if(M>>>0>255){Ip(k[h>>2]|0);k[ca>>2]=(k[ca>>2]|0)+4;k[da>>2]=(k[da>>2]|0)+-128}k[c>>2]=i;k[$>>2]=j;k[aa>>2]=l;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[_>>2]=i;k[O>>2]=j;k[P>>2]=l;k[ga>>2]=k[fa>>2];k[ga+4>>2]=k[fa+4>>2];k[ga+8>>2]=k[fa+8>>2];M=Zm(a,N,_,ga,m)|0;l=d+(M<<2)|0;m=k[l>>2]|0;h=k[a>>2]|0;g=(N|0)==0;do if((h|0)==(m|0)){if(!g){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))jm(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[$>>2];k[j+8>>2]=k[aa>>2];k[h>>2]=j+12}l=l+1|0}while(l>>>0>>0)}}else{if(g){g=15;break a}if(N>>>0>=3){k[ga>>2]=k[c>>2];k[U>>2]=k[$>>2];k[V>>2]=k[aa>>2];L=ga+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[W>>2]|0;g=k[X>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[W>>2]=N;if((N|0)==32){k[X>>2]=g+4;k[W>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){l=k[c>>2]|0;m=k[$>>2]|0;e=k[aa>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Xl(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}if(n|0){l=k[ga>>2]|0;m=k[U>>2]|0;e=k[V>>2]|0;k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];j=k[ba>>2]|0;i=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Xl(ha);g=k[da>>2]|0;h=k[ea>>2]|0;j=k[ba>>2]|0;i=k[ca>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Y>>2];k[N+4>>2]=k[Y+4>>2];k[N+8>>2]=k[Y+8>>2];k[g+28>>2]=M;k[ea>>2]=(k[ea>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;G=h-m|0;F=k[d+(w<<2)>>2]|0;H=h-F|0;p=k[d+(s<<2)>>2]|0;I=h-p|0;J=k[f>>2]|0;K=J+4|0;L=J+8|0;D=(h|0)==(m|0);A=ga+(M<<2)|0;E=c+(M<<2)|0;F=(h|0)==(F|0);B=ga+(w<<2)|0;C=c+(w<<2)|0;p=(h|0)==(p|0);o=ga+(s<<2)|0;q=c+(s<<2)|0;s=ga+(s<<2)|0;t=(I|0)<33;u=(I|0)>0;v=32-I|0;w=ga+(w<<2)|0;x=(H|0)<33;y=(H|0)>0;z=32-H|0;l=ga+(M<<2)|0;m=(G|0)<33;e=(G|0)>0;b=32-G|0;n=0;do{k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;do if(!D){if(!m){g=23;break a}if(!e){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=G-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+G|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!x){g=23;break a}if(!y){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=H-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+H|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[C>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[Q>>2]|0;g=32-i|0;j=k[R>>2]|0;h=k[j>>2]<>>0>g>>>0){M=I-g|0;k[Q>>2]=M;j=j+4|0;k[R>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+I|0;k[Q>>2]=M;if((M|0)==32){k[R>>2]=j+4;k[Q>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[K>>2]|0;if((g|0)==(k[L>>2]|0))jm(J,ga);else{k[g>>2]=k[ga>>2];k[g+4>>2]=k[S>>2];k[g+8>>2]=k[T>>2];k[K>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ea>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==53){_l(ha);r=ia;return}}function Cm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{xd(a+8+(d*24|0)|0,b);d=d+1|0}while((d|0)!=32);xd(a+776|0,b);hd(a+800|0,b);hd(a+820|0,b);hd(a+840|0,b);u=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];Dm(a,u,o,m,0,n);r=s;return 1}function Dm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0,ma=0,na=0,oa=0;oa=r;r=r+176|0;na=oa;n=oa+128|0;ma=oa+112|0;la=oa+64|0;U=oa+160|0;ka=oa+16|0;V=oa+80|0;W=oa+32|0;R=k[c>>2]|0;ha=c+4|0;T=k[ha>>2]|0;ia=c+8|0;S=k[ia>>2]|0;k[n>>2]=b;k[n+4>>2]=R;k[n+8>>2]=T;k[n+12>>2]=S;S=n+16|0;k[S>>2]=k[d>>2];k[S+4>>2]=k[d+4>>2];k[S+8>>2]=k[d+8>>2];k[n+28>>2]=e;k[ma>>2]=0;S=ma+4|0;k[S>>2]=0;k[ma+8>>2]=0;T=ma+8|0;bm(ma,n);e=k[S>>2]|0;n=k[ma>>2]|0;b=e-n|0;if((b|0)>32){g=((b>>5)+-2|0)/2|0;h=n+(g<<5)|0;b=e+-32|0;i=k[b>>2]|0;if((k[h>>2]|0)>>>0>>0){j=k[e+-28>>2]|0;l=k[e+-24>>2]|0;m=k[e+-20>>2]|0;e=e+-16|0;k[na>>2]=k[e>>2];k[na+4>>2]=k[e+4>>2];k[na+8>>2]=k[e+8>>2];k[na+12>>2]=k[e+12>>2];e=h;while(1){k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];k[b+20>>2]=k[e+20>>2];k[b+24>>2]=k[e+24>>2];k[b+28>>2]=k[e+28>>2];if(!g)break;g=(g+-1|0)/2|0;b=n+(g<<5)|0;if((k[b>>2]|0)>>>0>=i>>>0)break;else{R=e;e=b;b=R}}k[e>>2]=i;k[e+4>>2]=j;k[e+8>>2]=l;k[e+12>>2]=m;g=e+16|0;k[g>>2]=k[na>>2];k[g+4>>2]=k[na+4>>2];k[g+8>>2]=k[na+8>>2];k[g+12>>2]=k[na+12>>2];g=7}else g=7}else b=n;a:while(1){if((g|0)==7){b=k[ma>>2]|0;e=k[S>>2]|0}if((b|0)==(e|0)){g=63;break}R=k[b>>2]|0;e=k[b+4>>2]|0;o=k[b+8>>2]|0;m=k[b+12>>2]|0;Q=b+16|0;k[la>>2]=k[Q>>2];k[la+4>>2]=k[Q+4>>2];k[la+8>>2]=k[Q+8>>2];Q=k[b+28>>2]|0;cm(ma);k[c>>2]=e;k[ha>>2]=o;k[ia>>2]=m;k[d>>2]=k[la>>2];k[d+4>>2]=k[la+4>>2];k[d+8>>2]=k[la+8>>2];k[U>>2]=e;k[U+4>>2]=o;k[U+8>>2]=m;k[na>>2]=k[la>>2];k[na+4>>2]=k[la+4>>2];k[na+8>>2]=k[la+8>>2];Q=$m(a,R,U,na,Q)|0;m=d+(Q<<2)|0;o=k[m>>2]|0;b=k[a>>2]|0;e=(R|0)==0;do if((b|0)==(o|0)){if(!e){e=k[f>>2]|0;b=e+4|0;g=e+8|0;i=0;do{h=k[b>>2]|0;if((h|0)==(k[g>>2]|0))jm(e,c);else{k[h>>2]=k[c>>2];k[h+4>>2]=k[ha>>2];k[h+8>>2]=k[ia>>2];k[b>>2]=h+12}i=i+1|0}while(i>>>0>>0)}}else{if(e){g=17;break a}if(R>>>0>=3){k[ka>>2]=k[c>>2];p=ka+4|0;k[p>>2]=k[ha>>2];q=ka+8|0;k[q>>2]=k[ia>>2];P=ka+(Q<<2)|0;k[P>>2]=(k[P>>2]|0)+(1<>>1)-e|0;h=R-j|0;if((j|0)==(h|0)){l=j;n=j}else{e=a+856|0;R=k[e>>2]|0;b=a+852|0;g=k[b>>2]|0;i=(k[g>>2]&1<<31-R|0)!=0;R=R+1|0;k[e>>2]=R;if((R|0)==32){k[b>>2]=g+4;k[e>>2]=0}l=i?j:h;n=i?h:j}k[m>>2]=o+1;if(l|0){e=k[c>>2]|0;b=k[ha>>2]|0;g=k[ia>>2]|0;k[V>>2]=l;k[V+4>>2]=e;k[V+8>>2]=b;k[V+12>>2]=g;h=V+16|0;k[h>>2]=k[d>>2];k[h+4>>2]=k[d+4>>2];k[h+8>>2]=k[d+8>>2];k[V+28>>2]=Q;i=k[S>>2]|0;if(i>>>0<(k[T>>2]|0)>>>0){k[i>>2]=l;k[i+4>>2]=e;k[i+8>>2]=b;k[i+12>>2]=g;g=i+16|0;k[g>>2]=k[h>>2];k[g+4>>2]=k[h+4>>2];k[g+8>>2]=k[h+8>>2];k[g+12>>2]=k[h+12>>2];g=(k[S>>2]|0)+32|0;k[S>>2]=g}else{dm(ma,V);g=k[S>>2]|0}e=k[ma>>2]|0;b=g-e|0;if((b|0)>32?(X=((b>>5)+-2|0)/2|0,Y=e,Z=Y+(X<<5)|0,_=g,$=_+-32|0,aa=k[$>>2]|0,(k[Z>>2]|0)>>>0>>0):0){h=k[_+-28>>2]|0;i=k[_+-24>>2]|0;j=k[_+-20>>2]|0;g=_+-16|0;k[na>>2]=k[g>>2];k[na+4>>2]=k[g+4>>2];k[na+8>>2]=k[g+8>>2];k[na+12>>2]=k[g+12>>2];g=X;b=$;e=Z;while(1){k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];k[b+20>>2]=k[e+20>>2];k[b+24>>2]=k[e+24>>2];k[b+28>>2]=k[e+28>>2];if(!g)break;g=(g+-1|0)/2|0;b=Y+(g<<5)|0;if((k[b>>2]|0)>>>0>=aa>>>0)break;else{R=e;e=b;b=R}}k[e>>2]=aa;k[e+4>>2]=h;k[e+8>>2]=i;k[e+12>>2]=j;R=e+16|0;k[R>>2]=k[na>>2];k[R+4>>2]=k[na+4>>2];k[R+8>>2]=k[na+8>>2];k[R+12>>2]=k[na+12>>2]}}if(n|0){i=k[ka>>2]|0;h=k[p>>2]|0;b=k[q>>2]|0;k[W>>2]=n;k[W+4>>2]=i;k[W+8>>2]=h;k[W+12>>2]=b;g=W+16|0;k[g>>2]=k[d>>2];k[g+4>>2]=k[d+4>>2];k[g+8>>2]=k[d+8>>2];k[W+28>>2]=Q;e=k[S>>2]|0;if(e>>>0<(k[T>>2]|0)>>>0){k[e>>2]=n;k[e+4>>2]=i;k[e+8>>2]=h;k[e+12>>2]=b;R=e+16|0;k[R>>2]=k[g>>2];k[R+4>>2]=k[g+4>>2];k[R+8>>2]=k[g+8>>2];k[R+12>>2]=k[g+12>>2];g=(k[S>>2]|0)+32|0;k[S>>2]=g}else{dm(ma,W);g=k[S>>2]|0}e=k[ma>>2]|0;b=g-e|0;if((b|0)>32?(ba=((b>>5)+-2|0)/2|0,ca=e,da=ca+(ba<<5)|0,ea=g,fa=ea+-32|0,ga=k[fa>>2]|0,(k[da>>2]|0)>>>0>>0):0){h=k[ea+-28>>2]|0;i=k[ea+-24>>2]|0;j=k[ea+-20>>2]|0;g=ea+-16|0;k[na>>2]=k[g>>2];k[na+4>>2]=k[g+4>>2];k[na+8>>2]=k[g+8>>2];k[na+12>>2]=k[g+12>>2];g=ba;b=fa;e=da;while(1){k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];k[b+20>>2]=k[e+20>>2];k[b+24>>2]=k[e+24>>2];k[b+28>>2]=k[e+28>>2];if(!g)break;g=(g+-1|0)/2|0;b=ca+(g<<5)|0;if((k[b>>2]|0)>>>0>=ga>>>0)break;else{R=e;e=b;b=R}}k[e>>2]=ga;k[e+4>>2]=h;k[e+8>>2]=i;k[e+12>>2]=j;R=e+16|0;k[R>>2]=k[na>>2];k[R+4>>2]=k[na+4>>2];k[R+8>>2]=k[na+8>>2];k[R+12>>2]=k[na+12>>2]}}break}w=(Q|0)==2?0:Q+1|0;s=(w|0)==2?0:w+1|0;G=b-o|0;E=k[d+(w<<2)>>2]|0;H=b-E|0;p=k[d+(s<<2)>>2]|0;I=b-p|0;J=a+816|0;K=a+812|0;L=k[f>>2]|0;M=L+4|0;N=L+8|0;O=na+4|0;P=na+8|0;C=(b|0)==(o|0);A=na+(Q<<2)|0;D=c+(Q<<2)|0;E=(b|0)==(E|0);B=na+(w<<2)|0;F=c+(w<<2)|0;p=(b|0)==(p|0);o=na+(s<<2)|0;q=c+(s<<2)|0;s=na+(s<<2)|0;t=(I|0)<33;u=(I|0)>0;v=32-I|0;w=na+(w<<2)|0;x=(H|0)<33;y=(H|0)>0;z=32-H|0;i=na+(Q<<2)|0;j=(G|0)<33;l=(G|0)>0;m=32-G|0;n=0;do{k[na>>2]=0;k[na+4>>2]=0;k[na+8>>2]=0;do if(!C){if(!j){g=25;break a}if(!l){g=27;break a}g=k[J>>2]|0;e=32-g|0;h=k[K>>2]|0;b=k[h>>2]<>>0>e>>>0){Q=G-e|0;k[J>>2]=Q;h=h+4|0;k[K>>2]=h;Q=32-Q|0;e=(k[h>>2]|0)>>>Q|b>>>(Q-e|0);k[i>>2]=e;b=i;break}e=b>>>m;k[i>>2]=e;Q=g+G|0;k[J>>2]=Q;if((Q|0)==32){k[K>>2]=h+4;k[J>>2]=0;b=i}else b=i}else{b=A;e=k[A>>2]|0}while(0);k[b>>2]=e|k[D>>2];do if(!E){if(!x){g=25;break a}if(!y){g=27;break a}g=k[J>>2]|0;e=32-g|0;h=k[K>>2]|0;b=k[h>>2]<>>0>e>>>0){Q=H-e|0;k[J>>2]=Q;h=h+4|0;k[K>>2]=h;Q=32-Q|0;e=(k[h>>2]|0)>>>Q|b>>>(Q-e|0);k[w>>2]=e;b=w;break}e=b>>>z;k[w>>2]=e;Q=g+H|0;k[J>>2]=Q;if((Q|0)==32){k[K>>2]=h+4;k[J>>2]=0;b=w}else b=w}else{b=B;e=k[B>>2]|0}while(0);k[b>>2]=e|k[F>>2];do if(!p){if(!t){g=25;break a}if(!u){g=27;break a}g=k[J>>2]|0;e=32-g|0;h=k[K>>2]|0;b=k[h>>2]<>>0>e>>>0){Q=I-e|0;k[J>>2]=Q;h=h+4|0;k[K>>2]=h;Q=32-Q|0;e=(k[h>>2]|0)>>>Q|b>>>(Q-e|0);k[s>>2]=e;b=s;break}e=b>>>v;k[s>>2]=e;Q=g+I|0;k[J>>2]=Q;if((Q|0)==32){k[K>>2]=h+4;k[J>>2]=0;b=s}else b=s}else{b=o;e=k[o>>2]|0}while(0);k[b>>2]=e|k[q>>2];e=k[M>>2]|0;if((e|0)==(k[N>>2]|0))jm(L,na);else{k[e>>2]=k[na>>2];k[e+4>>2]=k[O>>2];k[e+8>>2]=k[P>>2];k[M>>2]=e+12}n=n+1|0}while(n>>>0>>0)}while(0);g=7}if((g|0)==17)Aa(9956,9994,228,10064);else if((g|0)==25)Aa(10077,10101,111,10128);else if((g|0)==27)Aa(10141,10101,112,10128);else if((g|0)==63){if(!e){r=oa;return}Ip(e);r=oa;return}}function Em(a){a=a|0;k[a>>2]=0;fd(a+8|0);fd(a+28|0);fd(a+48|0);fd(a+68|0);return}function Fm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Gm(a){a=a|0;k[a>>2]=0;fd(a+8|0);fd(a+28|0);fd(a+48|0);fd(a+68|0);return}function Hm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Im(a){a=a|0;k[a>>2]=0;qd(a+8|0);fd(a+24|0);fd(a+44|0);fd(a+64|0);return}function Jm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Km(a){a=a|0;k[a>>2]=0;qd(a+8|0);fd(a+24|0);fd(a+44|0);fd(a+64|0);return}function Lm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Mm(a){a=a|0;k[a>>2]=0;Nm(a+8|0);qd(a+520|0);fd(a+536|0);fd(a+556|0);fd(a+576|0);return}function Nm(a){a=a|0;qd(a);qd(a+16|0);qd(a+32|0);qd(a+48|0);qd(a+64|0);qd(a+80|0);qd(a+96|0);qd(a+112|0);qd(a+128|0);qd(a+144|0);qd(a+160|0);qd(a+176|0);qd(a+192|0);qd(a+208|0);qd(a+224|0);qd(a+240|0);qd(a+256|0);qd(a+272|0);qd(a+288|0);qd(a+304|0);qd(a+320|0);qd(a+336|0);qd(a+352|0);qd(a+368|0);qd(a+384|0);qd(a+400|0);qd(a+416|0);qd(a+432|0);qd(a+448|0);qd(a+464|0);qd(a+480|0);qd(a+496|0);return}function Om(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Pm(a){a=a|0;k[a>>2]=0;Nm(a+8|0);qd(a+520|0);fd(a+536|0);fd(a+556|0);fd(a+576|0);return}function Qm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Rm(a){a=a|0;k[a>>2]=0;Nm(a+8|0);qd(a+520|0);fd(a+536|0);fd(a+556|0);fd(a+576|0);return}function Sm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(b>>>0<64){a=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;a=(k[d+(a<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:a;return a|0}f=a+572|0;g=k[f>>2]|0;e=32-g|0;d=a+568|0;b=k[d>>2]|0;c=k[b>>2]<>>0<4){a=4-e|0;k[f>>2]=a;g=b+4|0;k[d>>2]=g;a=32-a|0;a=(k[g>>2]|0)>>>a|c>>>(a-e|0);return a|0}c=c>>>28;a=g+4|0;k[f>>2]=a;if((a|0)!=32){a=c;return a|0}k[d>>2]=b+4;k[f>>2]=0;a=c;return a|0}function Tm(a){a=a|0;k[a>>2]=0;Nm(a+8|0);qd(a+520|0);fd(a+536|0);fd(a+556|0);fd(a+576|0);return}function Um(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(b>>>0<64){a=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;a=(k[d+(a<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:a;return a|0}f=a+572|0;g=k[f>>2]|0;e=32-g|0;d=a+568|0;b=k[d>>2]|0;c=k[b>>2]<>>0<4){a=4-e|0;k[f>>2]=a;g=b+4|0;k[d>>2]=g;a=32-a|0;a=(k[g>>2]|0)>>>a|c>>>(a-e|0);return a|0}c=c>>>28;a=g+4|0;k[f>>2]=a;if((a|0)!=32){a=c;return a|0}k[d>>2]=b+4;k[f>>2]=0;a=c;return a|0}function Vm(a){a=a|0;k[a>>2]=0;Wm(a+8|0);vd(a+776|0);fd(a+800|0);fd(a+820|0);fd(a+840|0);return}function Wm(a){a=a|0;vd(a);vd(a+24|0);vd(a+48|0);vd(a+72|0);vd(a+96|0);vd(a+120|0);vd(a+144|0);vd(a+168|0);vd(a+192|0);vd(a+216|0);vd(a+240|0);vd(a+264|0);vd(a+288|0);vd(a+312|0);vd(a+336|0);vd(a+360|0);vd(a+384|0);vd(a+408|0);vd(a+432|0);vd(a+456|0);vd(a+480|0);vd(a+504|0);vd(a+528|0);vd(a+552|0);vd(a+576|0);vd(a+600|0);vd(a+624|0);vd(a+648|0);vd(a+672|0);vd(a+696|0);vd(a+720|0);vd(a+744|0);return}function Xm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(b>>>0<64){a=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;a=(k[d+(a<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:a;return a|0}f=a+836|0;g=k[f>>2]|0;e=32-g|0;d=a+832|0;b=k[d>>2]|0;c=k[b>>2]<>>0<4){a=4-e|0;k[f>>2]=a;g=b+4|0;k[d>>2]=g;a=32-a|0;a=(k[g>>2]|0)>>>a|c>>>(a-e|0);return a|0}c=c>>>28;a=g+4|0;k[f>>2]=a;if((a|0)!=32){a=c;return a|0}k[d>>2]=b+4;k[f>>2]=0;a=c;return a|0}function Ym(a){a=a|0;k[a>>2]=0;Wm(a+8|0);vd(a+776|0);fd(a+800|0);fd(a+820|0);fd(a+840|0);return}function Zm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(b>>>0<64){a=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;a=(k[d+(a<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:a;return a|0}f=a+836|0;g=k[f>>2]|0;e=32-g|0;d=a+832|0;b=k[d>>2]|0;c=k[b>>2]<>>0<4){a=4-e|0;k[f>>2]=a;g=b+4|0;k[d>>2]=g;a=32-a|0;a=(k[g>>2]|0)>>>a|c>>>(a-e|0);return a|0}c=c>>>28;a=g+4|0;k[f>>2]=a;if((a|0)!=32){a=c;return a|0}k[d>>2]=b+4;k[f>>2]=0;a=c;return a|0}function _m(a){a=a|0;k[a>>2]=0;Wm(a+8|0);vd(a+776|0);fd(a+800|0);fd(a+820|0);fd(a+840|0);return}function $m(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(b>>>0<64){a=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;a=(k[d+(a<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:a;return a|0}f=a+836|0;g=k[f>>2]|0;e=32-g|0;d=a+832|0;b=k[d>>2]|0;c=k[b>>2]<>>0<4){a=4-e|0;k[f>>2]=a;g=b+4|0;k[d>>2]=g;a=32-a|0;a=(k[g>>2]|0)>>>a|c>>>(a-e|0);return a|0}c=c>>>28;a=g+4|0;k[f>>2]=a;if((a|0)!=32){a=c;return a|0}k[d>>2]=b+4;k[f>>2]=0;a=c;return a|0}function an(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Ip(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)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Ip(b);Ip(a);return}function bn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+16|0;j=l;i=$p(52)|0;g=$p(12)|0;f=k[(k[a+4>>2]|0)+64>>2]|0;k[g+4>>2]=0;k[g>>2]=4316;k[g+8>>2]=f;k[j>>2]=g;Ck(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){Kk(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)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[f>>2]|0}while((a|0)!=(h|0))}while(0);b=(k[g>>2]|0)+(b<<2)|0;a=k[b>>2]|0;k[b>>2]=i;if(a|0)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[j>>2]|0;k[j>>2]=0;if(!a){r=l;return 1}ab[k[(k[a>>2]|0)+4>>2]&127](a);r=l;return 1}function cn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+16|0;x=y;v=a+20|0;q=k[v>>2]|0;m=q+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;f=q+16|0;o=f;n=k[o>>2]|0;o=k[o+4>>2]|0;c=jq(n|0,o|0,4,0)|0;b=L;if((m|0)<(b|0)|(m|0)==(b|0)&j>>>0>>0){a=0;r=y;return a|0}e=k[q>>2]|0;w=e+n|0;w=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;d=f;k[d>>2]=c;k[d+4>>2]=b;b=jq(n|0,o|0,8,0)|0;d=L;if((m|0)<(d|0)|(m|0)==(d|0)&j>>>0>>0){a=0;r=y;return a|0}u=e+c|0;u=l[u>>0]|l[u+1>>0]<<8|l[u+2>>0]<<16|l[u+3>>0]<<24;t=f;k[t>>2]=b;k[t+4>>2]=d;if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>b>>>0)){a=0;r=y;return a|0}t=i[e+b>>0]|0;h=jq(n|0,o|0,9,0)|0;g=L;s=f;k[s>>2]=h;k[s+4>>2]=g;a:do if(!(t<<24>>24)){if(!(dn(a,w)|0)){a=0;r=y;return a|0}}else{if((u|0)<256){if((w|0)<=0)break;n=a+24|0;o=x+4|0;p=x+8|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;b:do if((m|0)>(g|0)|(m|0)==(g|0)&j>>>0>h>>>0){b=q;f=m;e=j;j=0;do{d=b+16|0;c=k[b>>2]|0;s=i[c+h>>0]|0;b=jq(h|0,g|0,1,0)|0;t=L;q=d;k[q>>2]=b;k[q+4>>2]=t;k[x>>2]=s&255;if(!((f|0)>(t|0)|(f|0)==(t|0)&e>>>0>b>>>0))break b;s=i[c+b>>0]|0;b=jq(h|0,g|0,2,0)|0;t=L;q=d;k[q>>2]=b;k[q+4>>2]=t;k[o>>2]=s&255;if(!((f|0)>(t|0)|(f|0)==(t|0)&e>>>0>b>>>0))break b;c=i[c+b>>0]|0;b=jq(h|0,g|0,3,0)|0;k[d>>2]=b;k[d+4>>2]=L;k[p>>2]=c&255;d=k[n>>2]|0;c=d+84|0;b=k[c>>2]|0;if((b|0)==(k[d+88>>2]|0))en(d+80|0,x);else{k[b>>2]=k[x>>2];k[b+4>>2]=k[x+4>>2];k[b+8>>2]=k[x+8>>2];k[c>>2]=(k[c>>2]|0)+12}j=j+1|0;if((j|0)>=(w|0))break a;b=k[v>>2]|0;f=b+8|0;e=k[f>>2]|0;f=k[f+4>>2]|0;g=b+16|0;h=k[g>>2]|0;g=k[g+4>>2]|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0}while((f|0)>(g|0)|(f|0)==(g|0)&e>>>0>h>>>0)}while(0);a=0;r=y;return a|0}b=(w|0)>0;if((u|0)<65536){if(!b)break;p=a+24|0;s=x+4|0;t=x+8|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;b=jq(n|0,o|0,11,0)|0;c=L;c:do if(!((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0)){d=q;n=0;do{f=d+16|0;e=k[d>>2]|0;d=e+h|0;d=l[d>>0]|l[d+1>>0]<<8;q=f;k[q>>2]=b;k[q+4>>2]=c;k[x>>2]=d&65535;d=jq(h|0,g|0,4,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0)break c;b=e+b|0;b=l[b>>0]|l[b+1>>0]<<8;q=f;k[q>>2]=d;k[q+4>>2]=c;k[s>>2]=b&65535;b=jq(h|0,g|0,6,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0)break c;d=e+d|0;d=l[d>>0]|l[d+1>>0]<<8;q=f;k[q>>2]=b;k[q+4>>2]=c;k[t>>2]=d&65535;d=k[p>>2]|0;c=d+84|0;b=k[c>>2]|0;if((b|0)==(k[d+88>>2]|0))en(d+80|0,x);else{k[b>>2]=k[x>>2];k[b+4>>2]=k[x+4>>2];k[b+8>>2]=k[x+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;m=d+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;g=d+16|0;h=k[g>>2]|0;g=k[g+4>>2]|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;b=jq(h|0,g|0,2,0)|0;c=L}while(!((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0))}while(0);a=0;r=y;return a|0}else{if(!b)break;p=a+24|0;s=x+4|0;t=x+8|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;b=jq(n|0,o|0,13,0)|0;c=L;d:do if(!((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0)){d=q;n=0;do{f=d+16|0;e=k[d>>2]|0;d=e+h|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;q=f;k[q>>2]=b;k[q+4>>2]=c;k[x>>2]=d;d=jq(h|0,g|0,8,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>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;q=f;k[q>>2]=d;k[q+4>>2]=c;k[s>>2]=b;b=jq(h|0,g|0,12,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>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;q=f;k[q>>2]=b;k[q+4>>2]=c;k[t>>2]=d;d=k[p>>2]|0;c=d+84|0;b=k[c>>2]|0;if((b|0)==(k[d+88>>2]|0))en(d+80|0,x);else{k[b>>2]=k[x>>2];k[b+4>>2]=k[x+4>>2];k[b+8>>2]=k[x+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;m=d+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;g=d+16|0;h=k[g>>2]|0;g=k[g+4>>2]|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;b=jq(h|0,g|0,4,0)|0;c=L}while(!((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0))}while(0);a=0;r=y;return a|0}}while(0);k[(k[a+4>>2]|0)+64>>2]=u;a=1;r=y;return a|0}function dn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+32|0;m=o+12|0;l=o;c=b*3|0;k[m>>2]=0;n=m+4|0;k[n>>2]=0;k[m+8>>2]=0;do if(b)if(c>>>0>1073741823)yp(m);else{i=b*12|0;d=$p(i)|0;k[m>>2]=d;j=d+(c<<2)|0;k[m+8>>2]=j;hq(d|0,0,i|0)|0;k[n>>2]=j;break}else d=0;while(0);if(Kd(c,1,k[a+20>>2]|0,d)|0)if((b|0)>0){c=a+24|0;d=l+4|0;a=l+8|0;h=0;i=0;j=0;while(1){g=l;k[g>>2]=0;k[g+4>>2]=0;g=k[m>>2]|0;p=k[g+(j<<2)>>2]|0;e=p>>>1;e=((p&1|0)==0?e:0-e|0)+i|0;k[l>>2]=e;p=k[g+(j+1<<2)>>2]|0;f=p>>>1;e=((p&1|0)==0?f:0-f|0)+e|0;k[d>>2]=e;g=k[g+(j+2<<2)>>2]|0;f=g>>>1;i=((g&1|0)==0?f:0-f|0)+e|0;k[a>>2]=i;e=k[c>>2]|0;f=e+84|0;g=k[f>>2]|0;if((g|0)==(k[e+88>>2]|0))en(e+80|0,l);else{k[g>>2]=k[l>>2];k[g+4>>2]=k[l+4>>2];k[g+8>>2]=k[l+8>>2];k[f>>2]=(k[f>>2]|0)+12}h=h+1|0;if((h|0)>=(b|0)){a=1;break}else j=j+3|0}}else a=1;else a=0;c=k[m>>2]|0;if(!c){r=o;return a|0}d=k[n>>2]|0;if((d|0)!=(c|0))k[n>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ip(c);r=o;return a|0}function en(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;h=a+4|0;i=k[a>>2]|0;d=(((k[h>>2]|0)-i|0)/12|0)+1|0;if(d>>>0>357913941)yp(a);j=a+8|0;c=((k[j>>2]|0)-i|0)/12|0;if(c>>>0<178956970){c=c<<1;c=c>>>0>>0?d:c;e=k[h>>2]|0;d=(e-i|0)/12|0;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=357913941;e=d;d=(d-i|0)/12|0;l=6}if((l|0)==6){g=c;f=$p(c*12|0)|0;c=e}l=f+(d*12|0)|0;k[l>>2]=k[b>>2];k[l+4>>2]=k[b+4>>2];k[l+8>>2]=k[b+8>>2];e=c-i|0;b=l+(((e|0)/-12|0)*12|0)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+12;k[j>>2]=f+(g*12|0);if(!i)return;Ip(i);return}function fn(a){a=a|0;mh(a);k[a>>2]=4412;return}function gn(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4472;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b)return;c=a+12|0;a=k[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-4|0;k[c>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[c>>2]|0}while((a|0)!=(b|0));b=k[d>>2]|0}Ip(b);return}function hn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=4472;e=a+28|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Ip(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)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Ip(b);Ip(a);return}function jn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a+20>>2]|0;f=b+8|0;h=k[f+4>>2]|0;e=b+16|0;d=e;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((h|0)>(d|0)|((h|0)==(d|0)?(k[f>>2]|0)>>>0>c>>>0:0))){h=0;return h|0}f=i[(k[b>>2]|0)+c>>0]|0;b=jq(c|0,d|0,1,0)|0;d=e;k[d>>2]=b;k[d+4>>2]=L;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);switch(f<<24>>24){case 0:{b=$p(336)|0;Oo(b);c=k[d>>2]|0;k[d>>2]=b;if(c){ab[k[(k[c>>2]|0)+4>>2]&127](c);g=9}break}case 1:{b=$p(376)|0;Po(b);c=k[d>>2]|0;k[d>>2]=b;if(c){ab[k[(k[c>>2]|0)+4>>2]&127](c);g=9}break}default:g=9}if((g|0)==9){b=k[d>>2]|0;if(!b){h=0;return h|0}}h=gb[k[(k[b>>2]|0)+8>>2]&63](b,a)|0;return h|0}function kn(a,b){a=a|0;b=b|0;a=k[a+28>>2]|0;return gb[k[(k[a>>2]|0)+20>>2]&63](a,b)|0}function ln(a){a=a|0;a=k[a+28>>2]|0;return cb[k[(k[a>>2]|0)+28>>2]&127](a)|0}function mn(a){a=a|0;a=k[a+28>>2]|0;return cb[k[(k[a>>2]|0)+36>>2]&127](a)|0}function nn(a,b){a=a|0;b=b|0;a=k[a+28>>2]|0;return gb[k[(k[a>>2]|0)+12>>2]&63](a,b)|0}function on(a,b){a=a|0;b=b|0;a=k[a+28>>2]|0;return gb[k[(k[a>>2]|0)+16>>2]&63](a,b)|0}function pn(a){a=a|0;a=k[a+28>>2]|0;return cb[k[(k[a>>2]|0)+24>>2]&127](a)|0}function qn(a){a=a|0;mh(a);k[a>>2]=4472;k[a+28>>2]=0;return}function rn(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4532;e=a+320|0;c=k[e>>2]|0;k[e>>2]=0;if(c|0){d=c+-4|0;b=k[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;rd(b)}while((b|0)!=(c|0))}cq(d)}Ng(a+304|0);Ng(a+264|0);sn(a+228|0);b=k[a+212>>2]|0;c=b;if(b|0){d=a+216|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+200>>2]|0;c=b;if(b|0){d=a+204|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+188>>2]|0;c=b;if(b|0){d=a+192|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+176>>2]|0;c=b;if(b|0){d=a+180|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+160>>2]|0;if(b|0)do{e=b;b=k[b>>2]|0;Ip(e)}while((b|0)!=0);e=a+152|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)Ip(b);b=k[a+136>>2]|0;if(b|0)Ip(b);b=k[a+124>>2]|0;if(b|0)Ip(b);b=k[a+112>>2]|0;if(b|0)Ip(b);b=k[a+88>>2]|0;c=b;if(b|0){d=a+92|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+76>>2]|0;c=b;if(b|0){d=a+80|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+64>>2]|0;if(b|0)Ip(b);b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+36>>2]|0;c=b;if(b|0){d=a+40|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);Ip(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}a=a+8|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Fd(b);Ip(b);return}function sn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a>>2]|0;if(!b)return;h=a+4|0;c=k[h>>2]|0;if((c|0)!=(b|0)){do{k[h>>2]=c+-116;g=k[c+-12>>2]|0;d=g;if(g|0){e=c+-8|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(g)}d=k[c+-28>>2]|0;e=d;if(d|0){f=c+-24|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ip(d)}d=k[c+-40>>2]|0;e=d;if(d|0){f=c+-36|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ip(d)}tn(c+-112|0);c=k[h>>2]|0}while((c|0)!=(b|0));b=k[a>>2]|0}Ip(b);return}function tn(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a+52>>2]|0;c=b;if(b|0){d=a+56|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+40>>2]|0;c=b;if(b|0){d=a+44|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+28>>2]|0;c=b;if(b|0){d=a+32|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+12>>2]|0;if(b|0)Ip(b);b=k[a>>2]|0;if(!b)return;Ip(b);return}function un(a){a=a|0;rn(a);Ip(a);return}function vn(a,b){a=a|0;b=b|0;k[a+4>>2]=b;return 1}function wn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;h=d;if((c|0)==(d|0)){j=0;return j|0}g=k[(k[a+4>>2]|0)+8>>2]|0;e=(c-d|0)/116|0;a=0;a:while(1){c=k[g+(k[h+(a*116|0)>>2]<<2)>>2]|0;f=k[c+4>>2]|0;c=(k[c+8>>2]|0)-f|0;if((c|0)>0){c=c>>2;d=0;do{if((k[f+(d<<2)>>2]|0)==(b|0))break a;d=d+1|0}while((d|0)<(c|0))}a=a+1|0;if(a>>>0>=e>>>0){a=0;j=9;break}}if((j|0)==9)return a|0;j=(i[h+(a*116|0)+72>>0]|0)==0?0:h+(a*116|0)+4|0;return j|0}function xn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;i=d;a:do if((c|0)!=(d|0)){h=k[(k[a+4>>2]|0)+8>>2]|0;f=(c-d|0)/116|0;c=0;b:while(1){d=k[h+(k[i+(c*116|0)>>2]<<2)>>2]|0;g=k[d+4>>2]|0;d=(k[d+8>>2]|0)-g|0;if((d|0)>0){d=d>>2;e=0;do{if((k[g+(e<<2)>>2]|0)==(b|0))break b;e=e+1|0}while((e|0)<(d|0))}c=c+1|0;if(c>>>0>=f>>>0)break a}i=i+(c*116|0)+76|0;return i|0}while(0);i=a+200|0;return i|0}function yn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+208|0;t=z+168|0;v=z+36|0;u=z;p=z+136|0;q=z+104|0;w=z+32|0;x=a+4|0;l=k[x>>2]|0;c=k[l+20>>2]|0;f=c+8|0;e=k[f>>2]|0;f=k[f+4>>2]|0;g=c+16|0;j=g;h=k[j>>2]|0;j=k[j+4>>2]|0;if(!((f|0)>(j|0)|(f|0)==(j|0)&e>>>0>h>>>0)){b=0;r=z;return b|0}c=k[c>>2]|0;m=i[c+h>>0]|0;d=jq(h|0,j|0,1,0)|0;s=L;o=g;k[o>>2]=d;k[o+4>>2]=s;if(!((f|0)>(s|0)|(f|0)==(s|0)&e>>>0>d>>>0)){b=0;r=z;return b|0}c=i[c+d>>0]|0;o=jq(h|0,j|0,2,0)|0;s=g;k[s>>2]=o;k[s+4>>2]=L;if(m<<24>>24>-1)k[(k[a+228>>2]|0)+((m<<24>>24)*116|0)>>2]=b;s=k[l+24>>2]|0;if(!(c<<24>>24)){if(m<<24>>24<0)g=a+200|0;else{g=m<<24>>24;q=k[a+228>>2]|0;i[q+(g*116|0)+72>>0]=0;g=q+(g*116|0)+76|0}c=$p(88)|0;k[c+4>>2]=0;k[c>>2]=4580;h=c+12|0;k[h>>2]=4604;j=c+64|0;k[j>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;f=c+16|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));k[c+76>>2]=s;k[c+80>>2]=g;k[c+84>>2]=0;n=v+4|0;k[n>>2]=4604;l=v+56|0;k[l>>2]=0;o=v+60|0;k[o>>2]=0;k[v+64>>2]=0;f=v+8|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));e=k[a+8>>2]|0;k[u>>2]=4604;d=u+4|0;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;f=e;k[d>>2]=f;f=((k[f+4>>2]|0)-(k[e>>2]|0)|0)/12|0;i[t>>0]=0;Cg(u+8|0,f,t);ab[k[(k[u>>2]|0)+8>>2]&127](u);In(p,u);In(t,p);k[v>>2]=k[t+4>>2];f=v+4|0;Ln(f,t)|0;k[t>>2]=4604;d=k[t+20>>2]|0;if(d|0)Ip(d);d=k[t+8>>2]|0;if(d|0)Ip(d);k[v+36>>2]=e;k[v+40>>2]=g;k[v+44>>2]=s;k[v+48>>2]=c;k[p>>2]=4604;d=k[p+20>>2]|0;if(d|0)Ip(d);d=k[p+8>>2]|0;if(d|0)Ip(d);k[c+8>>2]=k[v>>2];Ln(h,f)|0;d=c+44|0;t=v+36|0;k[d>>2]=k[t>>2];k[d+4>>2]=k[t+4>>2];k[d+8>>2]=k[t+8>>2];k[d+12>>2]=k[t+12>>2];i[d+16>>0]=i[t+16>>0]|0;Mn(j,k[l>>2]|0,k[o>>2]|0);k[u>>2]=4604;d=k[u+20>>2]|0;if(d|0)Ip(d);d=k[u+8>>2]|0;if(d|0)Ip(d);d=k[l>>2]|0;e=d;if(d|0){f=k[o>>2]|0;if((f|0)!=(d|0))k[o>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}k[n>>2]=4604;d=k[v+24>>2]|0;if(d|0)Ip(d);d=k[v+12>>2]|0;if(d|0)Ip(d)}else{c=$p(88)|0;e=m<<24>>24;d=k[a+228>>2]|0;g=d+(e*116|0)+76|0;k[c+4>>2]=0;k[c>>2]=4628;h=c+12|0;k[h>>2]=4652;j=c+64|0;k[j>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;f=c+16|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));k[c+76>>2]=s;k[c+80>>2]=g;k[c+84>>2]=0;n=v+4|0;k[n>>2]=4652;l=v+56|0;k[l>>2]=0;o=v+60|0;k[o>>2]=0;k[v+64>>2]=0;f=v+8|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));f=d+(e*116|0)+4|0;k[u>>2]=4652;p=u+4|0;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;k[p+24>>2]=0;k[p>>2]=f;e=k[d+(e*116|0)+68>>2]|0;e=((k[e+4>>2]|0)-(k[e>>2]|0)|0)/12|0;i[t>>0]=0;Cg(u+8|0,e,t);ab[k[(k[u>>2]|0)+8>>2]&127](u);Wn(q,u);Wn(t,q);k[v>>2]=k[t+4>>2];e=v+4|0;Xn(e,t)|0;k[t>>2]=4652;d=k[t+20>>2]|0;if(d|0)Ip(d);d=k[t+8>>2]|0;if(d|0)Ip(d);k[v+36>>2]=f;k[v+40>>2]=g;k[v+44>>2]=s;k[v+48>>2]=c;k[q>>2]=4652;d=k[q+20>>2]|0;if(d|0)Ip(d);d=k[q+8>>2]|0;if(d|0)Ip(d);k[c+8>>2]=k[v>>2];Xn(h,e)|0;d=c+44|0;t=v+36|0;k[d>>2]=k[t>>2];k[d+4>>2]=k[t+4>>2];k[d+8>>2]=k[t+8>>2];k[d+12>>2]=k[t+12>>2];i[d+16>>0]=i[t+16>>0]|0;Mn(j,k[l>>2]|0,k[o>>2]|0);k[u>>2]=4652;d=k[u+20>>2]|0;if(d|0)Ip(d);d=k[u+8>>2]|0;if(d|0)Ip(d);d=k[l>>2]|0;e=d;if(d|0){f=k[o>>2]|0;if((f|0)!=(d|0))k[o>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}k[n>>2]=4652;d=k[v+24>>2]|0;if(d|0)Ip(d);d=k[v+12>>2]|0;if(d|0)Ip(d)}j=$p(52)|0;k[w>>2]=c;Ck(j,w);c=k[w>>2]|0;k[w>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);h=k[x>>2]|0;g=h+8|0;h=h+12|0;c=k[h>>2]|0;d=k[g>>2]|0;e=c-d>>2;do if(e>>>0<=b>>>0){f=b+1|0;if(f>>>0>e>>>0){Kk(g,f-e|0);break}if(f>>>0>>0?(y=d+(f<<2)|0,(c|0)!=(y|0)):0)do{x=c+-4|0;k[h>>2]=x;c=k[x>>2]|0;k[x>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[h>>2]|0}while((c|0)!=(y|0))}while(0);b=(k[g>>2]|0)+(b<<2)|0;c=k[b>>2]|0;k[b>>2]=j;if(!c){b=1;r=z;return b|0}ab[k[(k[c>>2]|0)+4>>2]&127](c);b=1;r=z;return b|0}function zn(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4580;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}k[a+12>>2]=4604;b=k[a+32>>2]|0;if(b|0)Ip(b);b=k[a+20>>2]|0;if(!b)return;Ip(b);return}function An(a){a=a|0;var b=0;k[a>>2]=4604;b=k[a+20>>2]|0;if(b|0)Ip(b);b=k[a+8>>2]|0;if(!b)return;Ip(b);return}function Bn(a){a=a|0;var b=0;k[a>>2]=4604;b=k[a+20>>2]|0;if(b|0)Ip(b);b=k[a+8>>2]|0;if(!b){Ip(a);return}Ip(b);Ip(a);return}function Cn(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;d=k[a+4>>2]|0;d=(k[d+28>>2]|0)-(k[d+24>>2]|0)>>2;i[c>>0]=0;Cg(a+20|0,d,c);r=b;return}function Dn(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4580;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}k[a+12>>2]=4604;b=k[a+32>>2]|0;if(b|0)Ip(b);b=k[a+20>>2]|0;if(!b){Ip(a);return}Ip(b);Ip(a);return}function En(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;n=k[a+8>>2]|0;h=a+76|0;c=k[h>>2]|0;j=k[c+64>>2]|0;o=b+84|0;i[o>>0]=0;l=b+68|0;m=b+72|0;f=k[m>>2]|0;e=k[l>>2]|0;d=f-e>>2;if(j>>>0<=d>>>0){if(j>>>0>>0?(g=e+(j<<2)|0,(f|0)!=(g|0)):0)k[m>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else{Ue(l,j-d|0,4616);c=k[h>>2]|0}m=(k[c+84>>2]|0)-(k[c+80>>2]|0)|0;l=(m|0)/12|0;if((m|0)<=0)return 1;j=a+80|0;g=b+68|0;h=c+80|0;e=c+84|0;f=0;while(1){c=k[h>>2]|0;if(f>>>0>=(((k[e>>2]|0)-c|0)/12|0)>>>0){c=10;break}d=f*3|0;if(i[o>>0]|0){c=12;break}m=k[(k[j>>2]|0)+12>>2]|0;b=k[g>>2]|0;k[b+(k[c+(f*12|0)>>2]<<2)>>2]=k[m+(k[(k[n>>2]|0)+(f*12|0)+(((d|0)%3|0)<<2)>>2]<<2)>>2];a=d+1|0;k[b+(k[c+(f*12|0)+4>>2]<<2)>>2]=k[m+(k[(k[n>>2]|0)+(((a|0)/3|0)*12|0)+(((a|0)%3|0)<<2)>>2]<<2)>>2];a=d+2|0;k[b+(k[c+(f*12|0)+8>>2]<<2)>>2]=k[m+(k[(k[n>>2]|0)+(((a|0)/3|0)*12|0)+(((a|0)%3|0)<<2)>>2]<<2)>>2];f=f+1|0;if((f|0)>=(l|0)){c=8;break}}if((c|0)==8)return 1;else if((c|0)==10)Aa(10733,10769,64,10783);else if((c|0)==12)Aa(10788,10807,80,10839);return 0}function Fn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+16|0;h=j+4|0;i=j;f=a+84|0;c=k[f>>2]|0;if(!c){d=a+8|0;g=k[d>>2]|0;g=(k[g+4>>2]|0)-(k[g>>2]|0)|0;e=(g|0)/12|0;if((g|0)<=0){r=j;return 1}b=a+20|0;c=0;do{if(!(k[(k[b>>2]|0)+(c>>>5<<2)>>2]&1<<(c&31))){k[i>>2]=c*3;k[h>>2]=k[i>>2];Gn(d,h)}c=c+1|0}while((c|0)<(e|0));r=j;return 1}b=k[c>>2]|0;if((k[c+4>>2]|0)==(b|0)){r=j;return 1}g=a+8|0;a=a+20|0;d=b;e=0;while(1){b=k[d+(e<<2)>>2]|0;d=(b|0)/3|0;if((b|0)>=-2?(k[(k[a>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)==0:0){k[i>>2]=b;k[h>>2]=k[i>>2];Gn(g,h);b=k[f>>2]|0}else b=c;e=e+1|0;d=k[b>>2]|0;if(e>>>0>=(k[b+4>>2]|0)-d>>2>>>0)break;else c=b}r=j;return 1}function Gn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+32|0;t=A+28|0;s=A+24|0;i=A+20|0;j=A+16|0;m=A+12|0;n=A+8|0;v=A+4|0;w=A;x=a+56|0;c=k[x>>2]|0;y=a+60|0;d=k[y>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;k[y>>2]=c}q=a+64|0;if((c|0)==(k[q>>2]|0)){Bd(x,b);p=b;c=k[b>>2]|0}else{o=k[b>>2]|0;k[c>>2]=o;k[y>>2]=c+4;p=b;c=o}e=k[a>>2]|0;l=(c|0)<0;if(!l){d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if((d|0)<0)d=-1073741824;else d=k[(k[e>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;b=(((c|0)%3|0|0)==0?2:-1)+c|0;if((b|0)<0){g=d;h=-1073741824}else{g=d;h=k[(k[e>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0}}else{g=-1073741824;h=-1073741824}o=a+24|0;d=k[o>>2]|0;b=d+(g>>>5<<2)|0;e=1<<(g&31);f=k[b>>2]|0;if(!(f&e)){k[b>>2]=f|e;k[i>>2]=g;if(l)d=c;else{d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d}k[j>>2]=d;k[s>>2]=k[i>>2];k[t>>2]=k[j>>2];Hn(a+36|0,s,t);d=k[o>>2]|0}d=d+(h>>>5<<2)|0;b=1<<(h&31);e=k[d>>2]|0;if(!(e&b)){k[d>>2]=e|b;d=a+36|0;k[m>>2]=h;do if(!l)if(!((c|0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);k[n>>2]=c;k[s>>2]=k[m>>2];k[t>>2]=k[n>>2];Hn(d,s,t)}c=k[x>>2]|0;b=k[y>>2]|0;if((c|0)==(b|0)){r=A;return}j=a+12|0;l=a+36|0;d=c;while(1){c=k[b+-4>>2]|0;k[p>>2]=c;e=(c|0)/3|0;if((c|0)>=0?(z=k[j>>2]|0,(k[z+(e>>>5<<2)>>2]&1<<(e&31)|0)==0):0){d=z;while(1){e=(c|0)/3|0;i=d+(e>>>5<<2)|0;k[i>>2]=1<<(e&31)|k[i>>2];i=(c|0)<0;b=k[a>>2]|0;if(i)h=-1073741824;else h=k[(k[b>>2]|0)+(e*12|0)+(((c|0)%3|0)<<2)>>2]|0;d=k[(k[b+24>>2]|0)+(h<<2)>>2]|0;if((d|0)>=0){n=d+1|0;d=((n|0)%3|0|0)==0?d+-2|0:n;if((d|0)>=0){d=k[(k[b+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){n=d+1|0;d=((n|0)%3|0|0)==0?d+-2|0:n}}}e=(k[o>>2]|0)+(h>>>5<<2)|0;f=1<<(h&31);g=k[e>>2]|0;if(!(g&f)){k[e>>2]=g|f;k[v>>2]=h;k[w>>2]=c;k[s>>2]=k[v>>2];k[t>>2]=k[w>>2];Hn(l,s,t);b=k[a>>2]|0;if((d|0)>=0){if(!i){n=c+1|0;c=((n|0)%3|0|0)==0?c+-2|0:n;if((c|0)>=0)c=k[(k[b+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;k[p>>2]=c;d=k[j>>2]|0;continue}}if(!i){d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if((d|0)>=0)d=k[(k[b+12>>2]|0)+(d<<2)>>2]|0;k[t>>2]=d;c=(((c|0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0)c=k[(k[b+12>>2]|0)+(c<<2)>>2]|0}else{k[t>>2]=-1073741824;c=-1073741824;d=-1073741824}b=(d|0)<0?-1:(d|0)/3|0;e=(c|0)<0?-1:(c|0)/3|0;if((b|0)>=0?(u=k[j>>2]|0,(k[u+(b>>>5<<2)>>2]&1<<(b&31)|0)==0):0)if((e|0)>=0?(k[u+(e>>>5<<2)>>2]&1<<(e&31)|0)==0:0){b=51;break}else{b=u;c=d}else{if((e|0)<0){b=48;break}d=k[j>>2]|0;if(!(k[d+(e>>>5<<2)>>2]&1<<(e&31)))b=d;else{b=48;break}}k[p>>2]=c;d=b}do if((b|0)==48){c=(k[y>>2]|0)+-4|0;k[y>>2]=c}else if((b|0)==51){b=k[y>>2]|0;k[b+-4>>2]=c;if((b|0)==(k[q>>2]|0)){Bd(x,t);c=k[y>>2]|0;break}else{k[b>>2]=d;c=b+4|0;k[y>>2]=c;break}}while(0);d=k[x>>2]|0}else{c=b+-4|0;k[y>>2]=c}if((d|0)==(c|0))break;else b=c}r=A;return}function Hn(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;j=r;r=r+16|0;h=j;d=k[a+8>>2]|0;i=k[c>>2]|0;e=(i|0)/3|0;if((i|0)<=-3)Aa(10856,10769,63,10783);f=k[d+80>>2]|0;if(e>>>0>=(((k[d+84>>2]|0)-f|0)/12|0)>>>0)Aa(10733,10769,64,10783);d=k[f+(e*12|0)+(((i|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))pg(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)){Bd(e,c);a=k[d>>2]|0;c=a+24|0;i=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]=i;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;r=j;return}else{k[g>>2]=i;k[f>>2]=g+4;a=e;c=a+24|0;i=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]=i;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;r=j;return}}function In(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+32|0;j=n+24|0;i=n+16|0;l=n+8|0;m=n;k[a>>2]=4604;k[a+4>>2]=k[b+4>>2];e=a+8|0;f=b+8|0;k[e>>2]=0;g=a+12|0;k[g>>2]=0;h=a+16|0;k[h>>2]=0;c=b+12|0;d=k[c>>2]|0;do if(d|0)if((d|0)<0)yp(e);else{d=((d+-1|0)>>>5)+1|0;o=$p(d<<2)|0;k[e>>2]=o;k[g>>2]=0;k[h>>2]=d;g=k[f>>2]|0;k[l>>2]=g;k[l+4>>2]=0;h=k[c>>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];Jn(e,i,j);break}while(0);f=a+20|0;k[f>>2]=0;g=a+24|0;k[g>>2]=0;c=a+28|0;k[c>>2]=0;d=b+24|0;e=k[d>>2]|0;if(!e){r=n;return}if((e|0)<0)yp(f);o=((e+-1|0)>>>5)+1|0;a=$p(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];Jn(f,i,j);r=n;return}function Jn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;o=q+40|0;n=q+32|0;j=q+8|0;l=q;m=q+24|0;p=q+16|0;f=a+4|0;s=k[f>>2]|0;d=b;e=k[d>>2]|0;d=k[d+4>>2]|0;h=c;g=k[h>>2]|0;h=k[h+4>>2]|0;i=g-e<<3;k[f>>2]=s-d+h+i;f=(k[a>>2]|0)+(s>>>5<<2)|0;c=s&31;b=f;if((d|0)!=(c|0)){s=j;k[s>>2]=e;k[s+4>>2]=d;s=l;k[s>>2]=g;k[s+4>>2]=h;k[m>>2]=b;k[m+4>>2]=c;k[n>>2]=k[j>>2];k[n+4>>2]=k[j+4>>2];k[o>>2]=k[l>>2];k[o+4>>2]=k[l+4>>2];Kn(p,n,o,m);r=q;return}a=h-d+i|0;c=e;if((a|0)>0){if(!d){d=0;g=c;b=a}else{e=32-d|0;b=(a|0)<(e|0)?a:e;e=-1>>>(e-b|0)&-1<>2]=k[f>>2]&~e|k[c>>2]&e;e=b+d|0;g=c+4|0;d=e&31;f=f+(e>>>5<<2)|0;e=g;b=a-b|0}a=b>>>5;mq(f|0,e|0,a<<2|0)|0;c=b-(a<<5)|0;e=f+(a<<2)|0;b=e;if((c|0)>0){d=-1>>>(32-c|0);k[e>>2]=k[e>>2]&~d|k[g+(a<<2)>>2]&d;d=c}}k[p>>2]=b;k[p+4>>2]=d;r=q;return}function Kn(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;q=k[b>>2]|0;l=k[b+4>>2]|0;n=((k[c>>2]|0)-q<<3)+(k[c+4>>2]|0)-l|0;c=q;if((n|0)<=0){b=d+4|0;d=k[d>>2]|0;k[a>>2]=d;a=a+4|0;d=k[b>>2]|0;k[a>>2]=d;return}if(!l){e=d+4|0;j=e;e=k[e>>2]|0;p=n}else{f=32-l|0;m=(n|0)<(f|0)?n:f;f=-1>>>(f-m|0)&-1<>2];j=d+4|0;i=k[j>>2]|0;e=32-i|0;g=e>>>0>>0?e:m;h=k[d>>2]|0;i=k[h>>2]&~(-1>>>(e-g|0)&-1<>2]=i;e=k[j>>2]|0;k[h>>2]=i|(e>>>0>l>>>0?f<>>(l-e|0));e=(k[j>>2]|0)+g|0;h=h+(e>>>5<<2)|0;k[d>>2]=h;e=e&31;k[j>>2]=e;i=m-g|0;if((i|0)>0){k[h>>2]=k[h>>2]&~(-1>>>(32-i|0))|f>>>(l+g|0);k[j>>2]=i;e=i}c=c+4|0;k[b>>2]=c;p=n-m|0}q=32-e|0;g=-1<>>0>31){i=~g;f=k[d>>2]|0;m=p+-32|0;h=m>>>5;l=h+1|0;h=m-(h<<5)|0;m=c;n=k[f>>2]|0;o=f;e=p;while(1){p=k[m>>2]|0;r=n&i;k[o>>2]=r;k[o>>2]=r|p<>2];o=o+4|0;n=k[o>>2]&g|p>>>q;k[o>>2]=n;e=e+-32|0;if(e>>>0<=31)break;else m=m+4|0}c=c+(l<<2)|0;k[b>>2]=c;k[d>>2]=f+(l<<2)}else h=p;if((h|0)<=0){b=j;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;a=k[b>>2]|0;k[r>>2]=a;return}f=k[c>>2]&-1>>>(32-h|0);g=(q|0)<(h|0)?q:h;e=k[d>>2]|0;c=k[e>>2]&~(-1<>2]&-1>>>(q-g|0));k[e>>2]=c;k[e>>2]=c|f<>2];c=(k[j>>2]|0)+g|0;e=e+(c>>>5<<2)|0;k[d>>2]=e;k[j>>2]=c&31;c=h-g|0;if((c|0)<=0){b=j;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;a=k[b>>2]|0;k[r>>2]=a;return}k[e>>2]=k[e>>2]&~(-1>>>(32-c|0))|f>>>g;k[j>>2]=c;b=j;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;a=k[b>>2]|0;k[r>>2]=a;return}function Ln(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;k[a+4>>2]=k[b+4>>2];h=a+8|0;i=b+8|0;if((a|0)==(b|0))return a|0;j=b+12|0;c=k[j>>2]|0;if(!c)c=0;else{e=a+16|0;do if(c>>>0>k[e>>2]<<5>>>0){d=k[h>>2]|0;if(d){Ip(d);k[h>>2]=0;k[e>>2]=0;k[a+12>>2]=0;c=k[j>>2]|0}if((c|0)<0)yp(h);else{f=((c+-1|0)>>>5)+1|0;g=$p(f<<2)|0;k[h>>2]=g;k[a+12>>2]=0;k[e>>2]=f;f=k[j>>2]|0;break}}else{f=c;g=k[h>>2]|0}while(0);mq(g|0,k[i>>2]|0,((f+-1|0)>>>5<<2)+4|0)|0;c=k[j>>2]|0}k[a+12>>2]=c;g=a+20|0;h=b+20|0;e=b+24|0;c=k[e>>2]|0;if(!c)c=0;else{f=a+28|0;do if(c>>>0>k[f>>2]<<5>>>0){d=k[g>>2]|0;if(d){Ip(d);k[g>>2]=0;k[f>>2]=0;k[a+24>>2]=0;c=k[e>>2]|0}if((c|0)<0)yp(g);else{l=((c+-1|0)>>>5)+1|0;m=$p(l<<2)|0;k[g>>2]=m;k[a+24>>2]=0;k[f>>2]=l;l=k[e>>2]|0;break}}else{l=c;m=k[g>>2]|0}while(0);mq(m|0,k[h>>2]|0,((l+-1|0)>>>5<<2)+4|0)|0;c=k[e>>2]|0}k[a+24>>2]=c;return a|0}function Mn(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;h=c-m>>2;j=a+8|0;d=k[j>>2]|0;g=k[a>>2]|0;l=g;if(h>>>0>d-g>>2>>>0){f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(l|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);Ip(f);k[j>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(h>>>0>1073741823)yp(a);d=d-0|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?h:d;if(d>>>0>1073741823)yp(a);else i=d}else i=1073741823;f=$p(i<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[j>>2]=f+(i<<2);if((b|0)==(c|0))return;e=(c+-4-m|0)>>>2;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+1<<2);return}else{j=a+4|0;i=k[j>>2]|0;f=i-g>>2;g=h>>>0>f>>>0;h=b+(f<<2)|0;f=g?h:c;if((f|0)==(b|0))b=l;else{e=f+-4-m|0;d=l;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(f|0))break;else d=d+4|0}b=l+((e>>>2)+1<<2)|0}if(!g){if((i|0)==(b|0))return;k[j>>2]=i+(~((i+-4-b|0)>>>2)<<2);return}if((f|0)==(c|0))return;e=(c+-4-f|0)>>>2;b=h;d=i;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]=i+(e+1<<2);return}}function Nn(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4628;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}k[a+12>>2]=4652;b=k[a+32>>2]|0;if(b|0)Ip(b);b=k[a+20>>2]|0;if(!b)return;Ip(b);return}function On(a){a=a|0;var b=0;k[a>>2]=4652;b=k[a+20>>2]|0;if(b|0)Ip(b);b=k[a+8>>2]|0;if(!b)return;Ip(b);return}function Pn(a){a=a|0;var b=0;k[a>>2]=4652;b=k[a+20>>2]|0;if(b|0)Ip(b);b=k[a+8>>2]|0;if(!b){Ip(a);return}Ip(b);Ip(a);return}function Qn(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;d=k[a+4>>2]|0;d=(k[d+56>>2]|0)-(k[d+52>>2]|0)>>2;i[c>>0]=0;Cg(a+20|0,d,c);r=b;return}function Rn(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4628;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}k[a+12>>2]=4652;b=k[a+32>>2]|0;if(b|0)Ip(b);b=k[a+20>>2]|0;if(!b){Ip(a);return}Ip(b);Ip(a);return}function Sn(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;n=k[a+8>>2]|0;h=a+76|0;c=k[h>>2]|0;j=k[c+64>>2]|0;o=b+84|0;i[o>>0]=0;l=b+68|0;m=b+72|0;f=k[m>>2]|0;e=k[l>>2]|0;d=f-e>>2;if(j>>>0<=d>>>0){if(j>>>0>>0?(g=e+(j<<2)|0,(f|0)!=(g|0)):0)k[m>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else{Ue(l,j-d|0,4616);c=k[h>>2]|0}l=(k[c+84>>2]|0)-(k[c+80>>2]|0)|0;m=(l|0)/12|0;if((l|0)<=0)return 1;l=a+80|0;j=n+28|0;g=b+68|0;h=c+80|0;e=c+84|0;f=0;while(1){c=k[h>>2]|0;if(f>>>0>=(((k[e>>2]|0)-c|0)/12|0)>>>0){c=10;break}d=f*3|0;if(i[o>>0]|0){c=12;break}a=k[(k[l>>2]|0)+12>>2]|0;n=k[j>>2]|0;b=k[g>>2]|0;k[b+(k[c+(f*12|0)>>2]<<2)>>2]=k[a+(k[n+(d<<2)>>2]<<2)>>2];k[b+(k[c+(f*12|0)+4>>2]<<2)>>2]=k[a+(k[n+(d+1<<2)>>2]<<2)>>2];k[b+(k[c+(f*12|0)+8>>2]<<2)>>2]=k[a+(k[n+(d+2<<2)>>2]<<2)>>2];f=f+1|0;if((f|0)>=(m|0)){c=8;break}}if((c|0)==8)return 1;else if((c|0)==10)Aa(10733,10769,64,10783);else if((c|0)==12)Aa(10788,10807,80,10839);return 0}function Tn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+16|0;h=j+4|0;i=j;f=a+84|0;c=k[f>>2]|0;if(!c){d=a+8|0;g=k[(k[d>>2]|0)+64>>2]|0;g=(k[g+4>>2]|0)-(k[g>>2]|0)|0;e=(g|0)/12|0;if((g|0)<=0){r=j;return 1}b=a+20|0;c=0;do{if(!(k[(k[b>>2]|0)+(c>>>5<<2)>>2]&1<<(c&31))){k[i>>2]=c*3;k[h>>2]=k[i>>2];Un(d,h)}c=c+1|0}while((c|0)<(e|0));r=j;return 1}b=k[c>>2]|0;if((k[c+4>>2]|0)==(b|0)){r=j;return 1}g=a+8|0;a=a+20|0;d=b;e=0;while(1){b=k[d+(e<<2)>>2]|0;d=(b|0)/3|0;if((b|0)>=-2?(k[(k[a>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)==0:0){k[i>>2]=b;k[h>>2]=k[i>>2];Un(g,h);b=k[f>>2]|0}else b=c;e=e+1|0;d=k[b>>2]|0;if(e>>>0>=(k[b+4>>2]|0)-d>>2>>>0)break;else c=b}r=j;return 1}function Un(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+32|0;t=B+28|0;s=B+24|0;i=B+20|0;j=B+16|0;m=B+12|0;n=B+8|0;v=B+4|0;w=B;x=a+56|0;c=k[x>>2]|0;y=a+60|0;d=k[y>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;k[y>>2]=c}q=a+64|0;if((c|0)==(k[q>>2]|0)){Bd(x,b);p=b;c=k[b>>2]|0}else{o=k[b>>2]|0;k[c>>2]=o;k[y>>2]=c+4;p=b;c=o}d=k[a>>2]|0;l=(c|0)<0;do if(!l){b=c+1|0;d=k[d+28>>2]|0;b=k[d+((((b|0)%3|0|0)==0?c+-2|0:b)<<2)>>2]|0;if(!((c|0)%3|0)){e=c+2|0;break}else{e=c+-1|0;break}}else{b=k[d+28>>2]|0;e=c;d=b;b=k[b+(c<<2)>>2]|0}while(0);h=k[d+(e<<2)>>2]|0;o=a+24|0;d=k[o>>2]|0;e=d+(b>>>5<<2)|0;f=1<<(b&31);g=k[e>>2]|0;if(!(g&f)){k[e>>2]=g|f;k[i>>2]=b;if(l)d=c;else{d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d}k[j>>2]=d;k[s>>2]=k[i>>2];k[t>>2]=k[j>>2];Vn(a+36|0,s,t);d=k[o>>2]|0}d=d+(h>>>5<<2)|0;b=1<<(h&31);e=k[d>>2]|0;if(!(e&b)){k[d>>2]=e|b;d=a+36|0;k[m>>2]=h;do if(!l)if(!((c|0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);k[n>>2]=c;k[s>>2]=k[m>>2];k[t>>2]=k[n>>2];Vn(d,s,t)}d=k[x>>2]|0;c=k[y>>2]|0;if((d|0)==(c|0)){r=B;return}i=a+12|0;j=a+36|0;do{e=k[c+-4>>2]|0;k[p>>2]=e;b=(e|0)/3|0;if((e|0)>=0?(z=k[i>>2]|0,(k[z+(b>>>5<<2)>>2]&1<<(b&31)|0)==0):0){h=k[a>>2]|0;c=e;d=z;a:while(1){n=(c|0)/3|0;g=d+(n>>>5<<2)|0;k[g>>2]=1<<(n&31)|k[g>>2];g=k[(k[h+28>>2]|0)+(c<<2)>>2]|0;d=k[(k[h+40>>2]|0)+(g<<2)>>2]|0;if((d|0)<0)f=1;else{f=k[(k[k[h+64>>2]>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;f=(1<<(f&31)&k[(k[h+12>>2]|0)+(f>>>5<<2)>>2]|0)!=0}d=(k[o>>2]|0)+(g>>>5<<2)|0;b=1<<(g&31);e=k[d>>2]|0;if(!(e&b)){k[d>>2]=e|b;k[v>>2]=g;k[w>>2]=c;k[s>>2]=k[v>>2];k[t>>2]=k[w>>2];Vn(j,s,t);d=k[a>>2]|0;if(f)f=d;else{if((c|0)>=0){n=c+1|0;c=((n|0)%3|0|0)==0?c+-2|0:n}if(!(1<<(c&31)&k[(k[d>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=k[(k[(k[d+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;k[p>>2]=c;h=d;d=k[i>>2]|0;continue}}else f=h;d=(c|0)<0;if(d)b=c;else{b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b}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}else b=-1073741824;k[t>>2]=b;do if(!d)if(!((c|0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);if(!(1<<(c&31)&k[(k[f>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=k[(k[(k[f+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;d=(b|0)<0?-1:(b|0)/3|0;e=(c|0)<0?-1:(c|0)/3|0;do if((d|0)>=0?(u=k[i>>2]|0,(k[u+(d>>>5<<2)>>2]&1<<(d&31)|0)==0):0){if((e|0)<0){d=u;c=b;break}if(!(k[u+(e>>>5<<2)>>2]&1<<(e&31))){A=56;break a}else{d=u;c=b}}else A=51;while(0);if((A|0)==51){A=0;if((e|0)<0){A=53;break}d=k[i>>2]|0;if(k[d+(e>>>5<<2)>>2]&1<<(e&31)){A=53;break}}k[p>>2]=c;h=f}do if((A|0)==53){A=0;c=(k[y>>2]|0)+-4|0;k[y>>2]=c}else if((A|0)==56){A=0;d=k[y>>2]|0;k[d+-4>>2]=c;if((d|0)==(k[q>>2]|0)){Bd(x,t);c=k[y>>2]|0;break}else{k[d>>2]=b;c=d+4|0;k[y>>2]=c;break}}while(0);d=k[x>>2]|0}else{c=c+-4|0;k[y>>2]=c}}while((d|0)!=(c|0));r=B;return} -function Vk(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Wk(a,e);r=p;return}k[f>>2]=b;Xk(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function Wk(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Xk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function Yk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function Zk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}hd(a+8|0,b);hd(a+28|0,b);hd(a+48|0,b);hd(a+68|0,b);u=k[g>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];_k(a,u,n,m,0,q);r=s;return 1}function _k(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0,ma=0;ma=r;r=r+112|0;ka=ma+96|0;n=ma+32|0;la=ma+72|0;ia=ma+56|0;ba=ma+44|0;aa=ma+16|0;$=ma;j=k[c>>2]|0;ca=c+4|0;l=k[ca>>2]|0;da=c+8|0;m=k[da>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;k[la+12>>2]=0;k[la+16>>2]=0;k[la+20>>2]=0;ea=la+8|0;fa=la+4|0;ga=la+16|0;ha=la+20|0;$k(la);g=k[fa>>2]|0;h=(k[ha>>2]|0)+(k[ga>>2]|0)|0;if((k[ea>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;_=g+16|0;k[_>>2]=k[n>>2];k[_+4>>2]=k[n+4>>2];k[_+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ha>>2]|0)+1|0;k[ha>>2]=g;if(!g){cl(la);r=ma;return}Q=ba+4|0;R=ba+8|0;S=a+44|0;T=a+40|0;U=f+4|0;V=ka+4|0;W=ka+8|0;X=a+24|0;Y=a+20|0;Z=a+84|0;_=a+80|0;a:while(1){N=k[ga>>2]|0;n=g+-1|0;m=n+N|0;O=k[fa>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[ia>>2]=k[L>>2];k[ia+4>>2]=k[L+4>>2];k[ia+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[ha>>2]=n;n=k[ea>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Ip(k[n+-4>>2]|0);k[ea>>2]=(k[ea>>2]|0)+-4}k[c>>2]=h;k[ca>>2]=j;k[da>>2]=l;k[d>>2]=k[ia>>2];k[d+4>>2]=k[ia+4>>2];k[d+8>>2]=k[ia+8>>2];k[ba>>2]=h;k[Q>>2]=j;k[R>>2]=l;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];O=Hm(a,P,ba,ka,m)|0;n=d+(O<<2)|0;e=k[n>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(e|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ka>>2]=k[c>>2];k[V>>2]=k[ca>>2];k[W>>2]=k[da>>2];g=ka+(O<<2)|0;k[g>>2]=(k[g>>2]|0)+(1<>>0>=33){g=32;break a}if((g|0)==31){g=34;break a}j=k[X>>2]|0;g=32-j|0;l=k[Y>>2]|0;h=k[l>>2]<>>0<=g>>>0){g=h>>>(32-m|0);N=j+m|0;k[X>>2]=N;if((N|0)==32){k[Y>>2]=l+4;k[X>>2]=0}}else{N=m-g|0;k[X>>2]=N;M=l+4|0;k[Y>>2]=M;N=32-N|0;g=(k[M>>2]|0)>>>N|h>>>(N-g|0)}l=(P>>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[Z>>2]|0;g=k[_>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[Z>>2]=P;if((P|0)==32){k[_>>2]=g+4;k[Z>>2]=0}b=j?l:h;o=j?h:l}k[n>>2]=e+1;if(b|0){m=k[c>>2]|0;n=k[ca>>2]|0;e=k[da>>2]|0;k[aa>>2]=k[d>>2];k[aa+4>>2]=k[d+4>>2];k[aa+8>>2]=k[d+8>>2];l=k[ea>>2]|0;j=k[fa>>2]|0;g=k[ga>>2]|0;h=k[ha>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){$k(la);g=k[ga>>2]|0;h=k[ha>>2]|0;l=k[ea>>2]|0;j=k[fa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[aa>>2];k[P+4>>2]=k[aa+4>>2];k[P+8>>2]=k[aa+8>>2];k[g+28>>2]=O;k[ha>>2]=(k[ha>>2]|0)+1}if(o|0){m=k[ka>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[$>>2]=k[d>>2];k[$+4>>2]=k[d+4>>2];k[$+8>>2]=k[d+8>>2];l=k[ea>>2]|0;j=k[fa>>2]|0;g=k[ga>>2]|0;h=k[ha>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){$k(la);g=k[ga>>2]|0;h=k[ha>>2]|0;l=k[ea>>2]|0;j=k[fa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[$>>2];k[P+4>>2]=k[$+4>>2];k[P+8>>2]=k[$+8>>2];k[g+28>>2]=O;k[ha>>2]=(k[ha>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=h-e|0;F=k[d+(x<<2)>>2]|0;I=h-F|0;q=k[d+(t<<2)>>2]|0;J=h-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(h|0)==(e|0);B=ka+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ka+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ka+(t<<2)|0;s=c+(t<<2)|0;t=ka+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ka+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ka+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=J-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[N>>2]>>2]|0)+l|0,ka|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ha>>2]|0;if(!g){g=58;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==32)Aa(10077,10101,111,10128);else if((g|0)==34)Aa(10141,10101,112,10128);else if((g|0)==58){cl(la);r=ma;return}}function $k(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;al(a,e);r=p;return}k[f>>2]=b;bl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function al(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function bl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function cl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function dl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}sd(a+8|0,b);hd(a+24|0,b);hd(a+44|0,b);hd(a+64|0,b);u=k[g>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];el(a,u,n,m,0,q);r=s;return 1}function el(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0,ma=0;ma=r;r=r+112|0;ka=ma+96|0;n=ma+32|0;la=ma+72|0;ia=ma+60|0;aa=ma+48|0;ha=ma+44|0;$=ma+16|0;_=ma;j=k[c>>2]|0;ba=c+4|0;l=k[ba>>2]|0;ca=c+8|0;m=k[ca>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;k[la+12>>2]=0;k[la+16>>2]=0;k[la+20>>2]=0;da=la+8|0;ea=la+4|0;fa=la+16|0;ga=la+20|0;fl(la);g=k[ea>>2]|0;h=(k[ga>>2]|0)+(k[fa>>2]|0)|0;if((k[da>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Z=g+16|0;k[Z>>2]=k[n>>2];k[Z+4>>2]=k[n+4>>2];k[Z+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ga>>2]|0)+1|0;k[ga>>2]=g;if(!g){il(la);r=ma;return}Q=aa+4|0;R=aa+8|0;S=a+40|0;T=a+36|0;U=f+4|0;V=ka+4|0;W=ka+8|0;X=a+8|0;Y=a+80|0;Z=a+76|0;a:while(1){N=k[fa>>2]|0;n=g+-1|0;m=n+N|0;O=k[ea>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[ia>>2]=k[L>>2];k[ia+4>>2]=k[L+4>>2];k[ia+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[ga>>2]=n;n=k[da>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Ip(k[n+-4>>2]|0);k[da>>2]=(k[da>>2]|0)+-4}k[c>>2]=h;k[ba>>2]=j;k[ca>>2]=l;k[d>>2]=k[ia>>2];k[d+4>>2]=k[ia+4>>2];k[d+8>>2]=k[ia+8>>2];k[aa>>2]=h;k[Q>>2]=j;k[R>>2]=l;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];O=Jm(a,P,aa,ka,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(n|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ka>>2]=k[c>>2];k[V>>2]=k[ba>>2];k[W>>2]=k[ca>>2];l=ka+(O<<2)|0;k[l>>2]=(k[l>>2]|0)+(1<>2]=0;ud(X,l,ha);l=(P>>>1)-(k[ha>>2]|0)|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[Y>>2]|0;g=k[Z>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[Y>>2]=P;if((P|0)==32){k[Z>>2]=g+4;k[Y>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){m=k[c>>2]|0;n=k[ba>>2]|0;e=k[ca>>2]|0;k[$>>2]=k[d>>2];k[$+4>>2]=k[d+4>>2];k[$+8>>2]=k[d+8>>2];l=k[da>>2]|0;j=k[ea>>2]|0;g=k[fa>>2]|0;h=k[ga>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){fl(la);g=k[fa>>2]|0;h=k[ga>>2]|0;l=k[da>>2]|0;j=k[ea>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[$>>2];k[P+4>>2]=k[$+4>>2];k[P+8>>2]=k[$+8>>2];k[g+28>>2]=O;k[ga>>2]=(k[ga>>2]|0)+1}if(o|0){m=k[ka>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];l=k[da>>2]|0;j=k[ea>>2]|0;g=k[fa>>2]|0;h=k[ga>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){fl(la);g=k[fa>>2]|0;h=k[ga>>2]|0;l=k[da>>2]|0;j=k[ea>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[ga>>2]=(k[ga>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=h-n|0;F=k[d+(x<<2)>>2]|0;I=h-F|0;q=k[d+(t<<2)>>2]|0;J=h-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(h|0)==(n|0);B=ka+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ka+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ka+(t<<2)|0;s=c+(t<<2)|0;t=ka+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ka+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ka+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=J-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[N>>2]>>2]|0)+l|0,ka|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ga>>2]|0;if(!g){g=50;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==50){il(la);r=ma;return}}function fl(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;gl(a,e);r=p;return}k[f>>2]=b;hl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function gl(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function hl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function il(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function jl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}sd(a+8|0,b);hd(a+24|0,b);hd(a+44|0,b);hd(a+64|0,b);u=k[g>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];kl(a,u,n,m,0,q);r=s;return 1}function kl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0,ma=0;ma=r;r=r+112|0;ka=ma+96|0;n=ma+32|0;la=ma+72|0;ia=ma+60|0;aa=ma+48|0;ha=ma+44|0;$=ma+16|0;_=ma;j=k[c>>2]|0;ba=c+4|0;l=k[ba>>2]|0;ca=c+8|0;m=k[ca>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;k[la+12>>2]=0;k[la+16>>2]=0;k[la+20>>2]=0;da=la+8|0;ea=la+4|0;fa=la+16|0;ga=la+20|0;ll(la);g=k[ea>>2]|0;h=(k[ga>>2]|0)+(k[fa>>2]|0)|0;if((k[da>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Z=g+16|0;k[Z>>2]=k[n>>2];k[Z+4>>2]=k[n+4>>2];k[Z+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ga>>2]|0)+1|0;k[ga>>2]=g;if(!g){ol(la);r=ma;return}Q=aa+4|0;R=aa+8|0;S=a+40|0;T=a+36|0;U=f+4|0;V=ka+4|0;W=ka+8|0;X=a+8|0;Y=a+80|0;Z=a+76|0;a:while(1){N=k[fa>>2]|0;n=g+-1|0;m=n+N|0;O=k[ea>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[ia>>2]=k[L>>2];k[ia+4>>2]=k[L+4>>2];k[ia+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[ga>>2]=n;n=k[da>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Ip(k[n+-4>>2]|0);k[da>>2]=(k[da>>2]|0)+-4}k[c>>2]=h;k[ba>>2]=j;k[ca>>2]=l;k[d>>2]=k[ia>>2];k[d+4>>2]=k[ia+4>>2];k[d+8>>2]=k[ia+8>>2];k[aa>>2]=h;k[Q>>2]=j;k[R>>2]=l;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];O=Lm(a,P,aa,ka,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(n|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ka>>2]=k[c>>2];k[V>>2]=k[ba>>2];k[W>>2]=k[ca>>2];l=ka+(O<<2)|0;k[l>>2]=(k[l>>2]|0)+(1<>2]=0;ud(X,l,ha);l=(P>>>1)-(k[ha>>2]|0)|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[Y>>2]|0;g=k[Z>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[Y>>2]=P;if((P|0)==32){k[Z>>2]=g+4;k[Y>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){m=k[c>>2]|0;n=k[ba>>2]|0;e=k[ca>>2]|0;k[$>>2]=k[d>>2];k[$+4>>2]=k[d+4>>2];k[$+8>>2]=k[d+8>>2];l=k[da>>2]|0;j=k[ea>>2]|0;g=k[fa>>2]|0;h=k[ga>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){ll(la);g=k[fa>>2]|0;h=k[ga>>2]|0;l=k[da>>2]|0;j=k[ea>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[$>>2];k[P+4>>2]=k[$+4>>2];k[P+8>>2]=k[$+8>>2];k[g+28>>2]=O;k[ga>>2]=(k[ga>>2]|0)+1}if(o|0){m=k[ka>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];l=k[da>>2]|0;j=k[ea>>2]|0;g=k[fa>>2]|0;h=k[ga>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){ll(la);g=k[fa>>2]|0;h=k[ga>>2]|0;l=k[da>>2]|0;j=k[ea>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[ga>>2]=(k[ga>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=h-n|0;F=k[d+(x<<2)>>2]|0;I=h-F|0;q=k[d+(t<<2)>>2]|0;J=h-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(h|0)==(n|0);B=ka+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ka+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ka+(t<<2)|0;s=c+(t<<2)|0;t=ka+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ka+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ka+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=J-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[N>>2]>>2]|0)+l|0,ka|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ga>>2]|0;if(!g){g=50;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==50){ol(la);r=ma;return}}function ll(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;ml(a,e);r=p;return}k[f>>2]=b;nl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function ml(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function nl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function ol(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function pl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{sd(a+8+(d<<4)|0,b);d=d+1|0}while((d|0)!=32);sd(a+520|0,b);hd(a+536|0,b);hd(a+556|0,b);hd(a+576|0,b);u=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];ql(a,u,n,m,0,q);r=s;return 1}function ql(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0;ka=r;r=r+112|0;ha=ka+96|0;n=ka+32|0;ia=ka+72|0;ga=ka+56|0;$=ka+44|0;_=ka+16|0;Z=ka;j=k[c>>2]|0;aa=c+4|0;l=k[aa>>2]|0;ba=c+8|0;m=k[ba>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;k[ia+12>>2]=0;k[ia+16>>2]=0;k[ia+20>>2]=0;ca=ia+8|0;da=ia+4|0;ea=ia+16|0;fa=ia+20|0;rl(ia);g=k[da>>2]|0;h=(k[fa>>2]|0)+(k[ea>>2]|0)|0;if((k[ca>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Y=g+16|0;k[Y>>2]=k[n>>2];k[Y+4>>2]=k[n+4>>2];k[Y+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[fa>>2]|0)+1|0;k[fa>>2]=g;if(!g){ul(ia);r=ka;return}Q=$+4|0;R=$+8|0;S=a+552|0;T=a+548|0;U=f+4|0;V=ha+4|0;W=ha+8|0;X=a+592|0;Y=a+588|0;a:while(1){N=k[ea>>2]|0;n=g+-1|0;m=n+N|0;O=k[da>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[ga>>2]=k[L>>2];k[ga+4>>2]=k[L+4>>2];k[ga+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[fa>>2]=n;n=k[ca>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Ip(k[n+-4>>2]|0);k[ca>>2]=(k[ca>>2]|0)+-4}k[c>>2]=h;k[aa>>2]=j;k[ba>>2]=l;k[d>>2]=k[ga>>2];k[d+4>>2]=k[ga+4>>2];k[d+8>>2]=k[ga+8>>2];k[$>>2]=h;k[Q>>2]=j;k[R>>2]=l;k[ha>>2]=k[ga>>2];k[ha+4>>2]=k[ga+4>>2];k[ha+8>>2]=k[ga+8>>2];O=Om(a,P,$,ha,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(n|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ha>>2]=k[c>>2];k[V>>2]=k[aa>>2];k[W>>2]=k[ba>>2];N=ha+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[X>>2]|0;g=k[Y>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[X>>2]=P;if((P|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){m=k[c>>2]|0;n=k[aa>>2]|0;e=k[ba>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){rl(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}if(o|0){m=k[ha>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){rl(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Z>>2];k[P+4>>2]=k[Z+4>>2];k[P+8>>2]=k[Z+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=h-n|0;F=k[d+(x<<2)>>2]|0;I=h-F|0;q=k[d+(t<<2)>>2]|0;J=h-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(h|0)==(n|0);B=ha+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ha+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ha+(t<<2)|0;s=c+(t<<2)|0;t=ha+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ha+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ha+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=J-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[N>>2]>>2]|0)+l|0,ha|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[fa>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==52){ul(ia);r=ka;return}}function rl(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;sl(a,e);r=p;return}k[f>>2]=b;tl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function sl(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function tl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function ul(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function vl(a){a=a|0;rd(a+496|0);rd(a+480|0);rd(a+464|0);rd(a+448|0);rd(a+432|0);rd(a+416|0);rd(a+400|0);rd(a+384|0);rd(a+368|0);rd(a+352|0);rd(a+336|0);rd(a+320|0);rd(a+304|0);rd(a+288|0);rd(a+272|0);rd(a+256|0);rd(a+240|0);rd(a+224|0);rd(a+208|0);rd(a+192|0);rd(a+176|0);rd(a+160|0);rd(a+144|0);rd(a+128|0);rd(a+112|0);rd(a+96|0);rd(a+80|0);rd(a+64|0);rd(a+48|0);rd(a+32|0);rd(a+16|0);rd(a);return}function wl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{sd(a+8+(d<<4)|0,b);d=d+1|0}while((d|0)!=32);sd(a+520|0,b);hd(a+536|0,b);hd(a+556|0,b);hd(a+576|0,b);u=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];xl(a,u,n,m,0,q);r=s;return 1}function xl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0;ka=r;r=r+112|0;ha=ka+96|0;n=ka+32|0;ia=ka+72|0;ga=ka+56|0;$=ka+44|0;_=ka+16|0;Z=ka;j=k[c>>2]|0;aa=c+4|0;l=k[aa>>2]|0;ba=c+8|0;m=k[ba>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;k[ia+12>>2]=0;k[ia+16>>2]=0;k[ia+20>>2]=0;ca=ia+8|0;da=ia+4|0;ea=ia+16|0;fa=ia+20|0;yl(ia);g=k[da>>2]|0;h=(k[fa>>2]|0)+(k[ea>>2]|0)|0;if((k[ca>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Y=g+16|0;k[Y>>2]=k[n>>2];k[Y+4>>2]=k[n+4>>2];k[Y+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[fa>>2]|0)+1|0;k[fa>>2]=g;if(!g){Bl(ia);r=ka;return}Q=$+4|0;R=$+8|0;S=a+552|0;T=a+548|0;U=f+4|0;V=ha+4|0;W=ha+8|0;X=a+592|0;Y=a+588|0;a:while(1){N=k[ea>>2]|0;n=g+-1|0;m=n+N|0;O=k[da>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[ga>>2]=k[L>>2];k[ga+4>>2]=k[L+4>>2];k[ga+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[fa>>2]=n;n=k[ca>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Ip(k[n+-4>>2]|0);k[ca>>2]=(k[ca>>2]|0)+-4}k[c>>2]=h;k[aa>>2]=j;k[ba>>2]=l;k[d>>2]=k[ga>>2];k[d+4>>2]=k[ga+4>>2];k[d+8>>2]=k[ga+8>>2];k[$>>2]=h;k[Q>>2]=j;k[R>>2]=l;k[ha>>2]=k[ga>>2];k[ha+4>>2]=k[ga+4>>2];k[ha+8>>2]=k[ga+8>>2];O=Qm(a,P,$,ha,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(n|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ha>>2]=k[c>>2];k[V>>2]=k[aa>>2];k[W>>2]=k[ba>>2];N=ha+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[X>>2]|0;g=k[Y>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[X>>2]=P;if((P|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){m=k[c>>2]|0;n=k[aa>>2]|0;e=k[ba>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){yl(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}if(o|0){m=k[ha>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){yl(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Z>>2];k[P+4>>2]=k[Z+4>>2];k[P+8>>2]=k[Z+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=h-n|0;F=k[d+(x<<2)>>2]|0;I=h-F|0;q=k[d+(t<<2)>>2]|0;J=h-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(h|0)==(n|0);B=ha+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ha+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ha+(t<<2)|0;s=c+(t<<2)|0;t=ha+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ha+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ha+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=J-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[N>>2]>>2]|0)+l|0,ha|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[fa>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==52){Bl(ia);r=ka;return}}function yl(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;zl(a,e);r=p;return}k[f>>2]=b;Al(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function zl(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Al(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function Bl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function Cl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{sd(a+8+(d<<4)|0,b);d=d+1|0}while((d|0)!=32);sd(a+520|0,b);hd(a+536|0,b);hd(a+556|0,b);hd(a+576|0,b);u=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];Dl(a,u,n,m,0,q);r=s;return 1}function Dl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0;ka=r;r=r+112|0;ha=ka+96|0;n=ka+32|0;ia=ka+72|0;ga=ka+56|0;$=ka+44|0;_=ka+16|0;Z=ka;j=k[c>>2]|0;aa=c+4|0;l=k[aa>>2]|0;ba=c+8|0;m=k[ba>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;k[ia+12>>2]=0;k[ia+16>>2]=0;k[ia+20>>2]=0;ca=ia+8|0;da=ia+4|0;ea=ia+16|0;fa=ia+20|0;El(ia);g=k[da>>2]|0;h=(k[fa>>2]|0)+(k[ea>>2]|0)|0;if((k[ca>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Y=g+16|0;k[Y>>2]=k[n>>2];k[Y+4>>2]=k[n+4>>2];k[Y+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[fa>>2]|0)+1|0;k[fa>>2]=g;if(!g){Hl(ia);r=ka;return}Q=$+4|0;R=$+8|0;S=a+552|0;T=a+548|0;U=f+4|0;V=ha+4|0;W=ha+8|0;X=a+592|0;Y=a+588|0;a:while(1){N=k[ea>>2]|0;n=g+-1|0;m=n+N|0;O=k[da>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[ga>>2]=k[L>>2];k[ga+4>>2]=k[L+4>>2];k[ga+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[fa>>2]=n;n=k[ca>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Ip(k[n+-4>>2]|0);k[ca>>2]=(k[ca>>2]|0)+-4}k[c>>2]=h;k[aa>>2]=j;k[ba>>2]=l;k[d>>2]=k[ga>>2];k[d+4>>2]=k[ga+4>>2];k[d+8>>2]=k[ga+8>>2];k[$>>2]=h;k[Q>>2]=j;k[R>>2]=l;k[ha>>2]=k[ga>>2];k[ha+4>>2]=k[ga+4>>2];k[ha+8>>2]=k[ga+8>>2];O=Sm(a,P,$,ha,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(n|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ha>>2]=k[c>>2];k[V>>2]=k[aa>>2];k[W>>2]=k[ba>>2];N=ha+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[X>>2]|0;g=k[Y>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[X>>2]=P;if((P|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){m=k[c>>2]|0;n=k[aa>>2]|0;e=k[ba>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){El(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}if(o|0){m=k[ha>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){El(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Z>>2];k[P+4>>2]=k[Z+4>>2];k[P+8>>2]=k[Z+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=h-n|0;F=k[d+(x<<2)>>2]|0;I=h-F|0;q=k[d+(t<<2)>>2]|0;J=h-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(h|0)==(n|0);B=ha+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ha+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ha+(t<<2)|0;s=c+(t<<2)|0;t=ha+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ha+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ha+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=J-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[N>>2]>>2]|0)+l|0,ha|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[fa>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==52){Hl(ia);r=ka;return}}function El(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Fl(a,e);r=p;return}k[f>>2]=b;Gl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function Fl(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Gl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function Hl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function Il(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{sd(a+8+(d<<4)|0,b);d=d+1|0}while((d|0)!=32);sd(a+520|0,b);hd(a+536|0,b);hd(a+556|0,b);hd(a+576|0,b);u=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];Jl(a,u,n,m,0,q);r=s;return 1}function Jl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0;ka=r;r=r+112|0;ha=ka+96|0;n=ka+32|0;ia=ka+72|0;ga=ka+56|0;$=ka+44|0;_=ka+16|0;Z=ka;j=k[c>>2]|0;aa=c+4|0;l=k[aa>>2]|0;ba=c+8|0;m=k[ba>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;k[ia+12>>2]=0;k[ia+16>>2]=0;k[ia+20>>2]=0;ca=ia+8|0;da=ia+4|0;ea=ia+16|0;fa=ia+20|0;Kl(ia);g=k[da>>2]|0;h=(k[fa>>2]|0)+(k[ea>>2]|0)|0;if((k[ca>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Y=g+16|0;k[Y>>2]=k[n>>2];k[Y+4>>2]=k[n+4>>2];k[Y+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[fa>>2]|0)+1|0;k[fa>>2]=g;if(!g){Nl(ia);r=ka;return}Q=$+4|0;R=$+8|0;S=a+552|0;T=a+548|0;U=f+4|0;V=ha+4|0;W=ha+8|0;X=a+592|0;Y=a+588|0;a:while(1){N=k[ea>>2]|0;n=g+-1|0;m=n+N|0;O=k[da>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[ga>>2]=k[L>>2];k[ga+4>>2]=k[L+4>>2];k[ga+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[fa>>2]=n;n=k[ca>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Ip(k[n+-4>>2]|0);k[ca>>2]=(k[ca>>2]|0)+-4}k[c>>2]=h;k[aa>>2]=j;k[ba>>2]=l;k[d>>2]=k[ga>>2];k[d+4>>2]=k[ga+4>>2];k[d+8>>2]=k[ga+8>>2];k[$>>2]=h;k[Q>>2]=j;k[R>>2]=l;k[ha>>2]=k[ga>>2];k[ha+4>>2]=k[ga+4>>2];k[ha+8>>2]=k[ga+8>>2];O=Um(a,P,$,ha,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(n|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ha>>2]=k[c>>2];k[V>>2]=k[aa>>2];k[W>>2]=k[ba>>2];N=ha+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[X>>2]|0;g=k[Y>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[X>>2]=P;if((P|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){m=k[c>>2]|0;n=k[aa>>2]|0;e=k[ba>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Kl(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}if(o|0){m=k[ha>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Kl(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Z>>2];k[P+4>>2]=k[Z+4>>2];k[P+8>>2]=k[Z+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=h-n|0;F=k[d+(x<<2)>>2]|0;I=h-F|0;q=k[d+(t<<2)>>2]|0;J=h-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(h|0)==(n|0);B=ha+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ha+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ha+(t<<2)|0;s=c+(t<<2)|0;t=ha+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ha+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ha+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=J-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[N>>2]>>2]|0)+l|0,ha|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[fa>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==52){Nl(ia);r=ka;return}}function Kl(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Ll(a,e);r=p;return}k[f>>2]=b;Ml(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function Ll(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Ml(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function Nl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function Ol(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{xd(a+8+(d*24|0)|0,b);d=d+1|0}while((d|0)!=32);xd(a+776|0,b);hd(a+800|0,b);hd(a+820|0,b);hd(a+840|0,b);u=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];Pl(a,u,n,m,0,q);r=s;return 1}function Pl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0;ka=r;r=r+112|0;ha=ka+96|0;n=ka+32|0;ia=ka+72|0;ga=ka+56|0;$=ka+44|0;_=ka+16|0;Z=ka;j=k[c>>2]|0;aa=c+4|0;l=k[aa>>2]|0;ba=c+8|0;m=k[ba>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;k[ia+12>>2]=0;k[ia+16>>2]=0;k[ia+20>>2]=0;ca=ia+8|0;da=ia+4|0;ea=ia+16|0;fa=ia+20|0;Ql(ia);g=k[da>>2]|0;h=(k[fa>>2]|0)+(k[ea>>2]|0)|0;if((k[ca>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Y=g+16|0;k[Y>>2]=k[n>>2];k[Y+4>>2]=k[n+4>>2];k[Y+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[fa>>2]|0)+1|0;k[fa>>2]=g;if(!g){Tl(ia);r=ka;return}Q=$+4|0;R=$+8|0;S=a+816|0;T=a+812|0;U=f+4|0;V=ha+4|0;W=ha+8|0;X=a+856|0;Y=a+852|0;a:while(1){h=k[da>>2]|0;O=k[ea>>2]|0;N=k[h+(O>>>7<<2)>>2]|0;n=O&127;P=k[N+(n<<5)>>2]|0;j=k[N+(n<<5)+4>>2]|0;l=k[N+(n<<5)+8>>2]|0;m=k[N+(n<<5)+12>>2]|0;M=N+(n<<5)+16|0;k[ga>>2]=k[M>>2];k[ga+4>>2]=k[M+4>>2];k[ga+8>>2]=k[M+8>>2];n=k[N+(n<<5)+28>>2]|0;k[fa>>2]=g+-1;O=O+1|0;k[ea>>2]=O;if(O>>>0>255){Ip(k[h>>2]|0);k[da>>2]=(k[da>>2]|0)+4;k[ea>>2]=(k[ea>>2]|0)+-128}k[c>>2]=j;k[aa>>2]=l;k[ba>>2]=m;k[d>>2]=k[ga>>2];k[d+4>>2]=k[ga+4>>2];k[d+8>>2]=k[ga+8>>2];k[$>>2]=j;k[Q>>2]=l;k[R>>2]=m;k[ha>>2]=k[ga>>2];k[ha+4>>2]=k[ga+4>>2];k[ha+8>>2]=k[ga+8>>2];O=Xm(a,P,$,ha,n)|0;m=d+(O<<2)|0;n=k[m>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(n|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ha>>2]=k[c>>2];k[V>>2]=k[aa>>2];k[W>>2]=k[ba>>2];N=ha+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[X>>2]|0;g=k[Y>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[X>>2]=P;if((P|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){m=k[c>>2]|0;n=k[aa>>2]|0;e=k[ba>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Ql(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}if(o|0){m=k[ha>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Ql(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Z>>2];k[P+4>>2]=k[Z+4>>2];k[P+8>>2]=k[Z+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;N=h-n|0;F=k[d+(x<<2)>>2]|0;H=h-F|0;q=k[d+(t<<2)>>2]|0;I=h-q|0;M=k[f>>2]|0;J=M+84|0;K=M+68|0;L=M+40|0;M=M+64|0;D=(h|0)==(n|0);B=ha+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ha+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ha+(t<<2)|0;s=c+(t<<2)|0;t=ha+(t<<2)|0;u=(I|0)<33;v=(I|0)>0;w=32-I|0;x=ha+(x<<2)|0;y=(H|0)<33;z=(H|0)>0;A=32-H|0;m=ha+(O<<2)|0;n=(N|0)<33;e=(N|0)>0;b=32-N|0;o=0;do{k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=N-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+N|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[J>>0]|0))g=k[(k[K>>2]|0)+(g<<2)>>2]|0;l=L;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[M>>2]>>2]|0)+l|0,ha|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[fa>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==52){Tl(ia);r=ka;return}}function Ql(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Rl(a,e);r=p;return}k[f>>2]=b;Sl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function Rl(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Sl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function Tl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function Ul(a){a=a|0;wd(a+744|0);wd(a+720|0);wd(a+696|0);wd(a+672|0);wd(a+648|0);wd(a+624|0);wd(a+600|0);wd(a+576|0);wd(a+552|0);wd(a+528|0);wd(a+504|0);wd(a+480|0);wd(a+456|0);wd(a+432|0);wd(a+408|0);wd(a+384|0);wd(a+360|0);wd(a+336|0);wd(a+312|0);wd(a+288|0);wd(a+264|0);wd(a+240|0);wd(a+216|0);wd(a+192|0);wd(a+168|0);wd(a+144|0);wd(a+120|0);wd(a+96|0);wd(a+72|0);wd(a+48|0);wd(a+24|0);wd(a);return}function Vl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{xd(a+8+(d*24|0)|0,b);d=d+1|0}while((d|0)!=32);xd(a+776|0,b);hd(a+800|0,b);hd(a+820|0,b);hd(a+840|0,b);u=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];Wl(a,u,n,m,0,q);r=s;return 1}function Wl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0;ka=r;r=r+112|0;ha=ka+96|0;n=ka+32|0;ia=ka+72|0;ga=ka+56|0;$=ka+44|0;_=ka+16|0;Z=ka;j=k[c>>2]|0;aa=c+4|0;l=k[aa>>2]|0;ba=c+8|0;m=k[ba>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;k[ia+12>>2]=0;k[ia+16>>2]=0;k[ia+20>>2]=0;ca=ia+8|0;da=ia+4|0;ea=ia+16|0;fa=ia+20|0;Xl(ia);g=k[da>>2]|0;h=(k[fa>>2]|0)+(k[ea>>2]|0)|0;if((k[ca>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Y=g+16|0;k[Y>>2]=k[n>>2];k[Y+4>>2]=k[n+4>>2];k[Y+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[fa>>2]|0)+1|0;k[fa>>2]=g;if(!g){_l(ia);r=ka;return}Q=$+4|0;R=$+8|0;S=a+816|0;T=a+812|0;U=f+4|0;V=ha+4|0;W=ha+8|0;X=a+856|0;Y=a+852|0;a:while(1){h=k[da>>2]|0;O=k[ea>>2]|0;N=k[h+(O>>>7<<2)>>2]|0;n=O&127;P=k[N+(n<<5)>>2]|0;j=k[N+(n<<5)+4>>2]|0;l=k[N+(n<<5)+8>>2]|0;m=k[N+(n<<5)+12>>2]|0;M=N+(n<<5)+16|0;k[ga>>2]=k[M>>2];k[ga+4>>2]=k[M+4>>2];k[ga+8>>2]=k[M+8>>2];n=k[N+(n<<5)+28>>2]|0;k[fa>>2]=g+-1;O=O+1|0;k[ea>>2]=O;if(O>>>0>255){Ip(k[h>>2]|0);k[da>>2]=(k[da>>2]|0)+4;k[ea>>2]=(k[ea>>2]|0)+-128}k[c>>2]=j;k[aa>>2]=l;k[ba>>2]=m;k[d>>2]=k[ga>>2];k[d+4>>2]=k[ga+4>>2];k[d+8>>2]=k[ga+8>>2];k[$>>2]=j;k[Q>>2]=l;k[R>>2]=m;k[ha>>2]=k[ga>>2];k[ha+4>>2]=k[ga+4>>2];k[ha+8>>2]=k[ga+8>>2];O=Zm(a,P,$,ha,n)|0;m=d+(O<<2)|0;n=k[m>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(n|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ha>>2]=k[c>>2];k[V>>2]=k[aa>>2];k[W>>2]=k[ba>>2];N=ha+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[X>>2]|0;g=k[Y>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[X>>2]=P;if((P|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){m=k[c>>2]|0;n=k[aa>>2]|0;e=k[ba>>2]|0;k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Xl(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}if(o|0){m=k[ha>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];l=k[ca>>2]|0;j=k[da>>2]|0;g=k[ea>>2]|0;h=k[fa>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Xl(ia);g=k[ea>>2]|0;h=k[fa>>2]|0;l=k[ca>>2]|0;j=k[da>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Z>>2];k[P+4>>2]=k[Z+4>>2];k[P+8>>2]=k[Z+8>>2];k[g+28>>2]=O;k[fa>>2]=(k[fa>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;N=h-n|0;F=k[d+(x<<2)>>2]|0;H=h-F|0;q=k[d+(t<<2)>>2]|0;I=h-q|0;M=k[f>>2]|0;J=M+84|0;K=M+68|0;L=M+40|0;M=M+64|0;D=(h|0)==(n|0);B=ha+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ha+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ha+(t<<2)|0;s=c+(t<<2)|0;t=ha+(t<<2)|0;u=(I|0)<33;v=(I|0)>0;w=32-I|0;x=ha+(x<<2)|0;y=(H|0)<33;z=(H|0)>0;A=32-H|0;m=ha+(O<<2)|0;n=(N|0)<33;e=(N|0)>0;b=32-N|0;o=0;do{k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=N-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+N|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[J>>0]|0))g=k[(k[K>>2]|0)+(g<<2)>>2]|0;l=L;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[M>>2]>>2]|0)+l|0,ha|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[fa>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==52){_l(ia);r=ka;return}}function Xl(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;mq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Ip(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=$p(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Yl(a,e);r=p;return}k[f>>2]=b;Zl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;mq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=$p(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Ip(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=$p(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=$p(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=$p(c<<2)|0;Ip(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;mq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=$p(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Ip(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Ip(b);r=p;return}function Yl(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;mq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=$p(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Ip(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Zl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;mq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=$p(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Ip(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function _l(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Ip(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Ip(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Ip(b);return}function $l(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((g|0)<(t|0)|(g|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}else d=0;do{xd(a+8+(d*24|0)|0,b);d=d+1|0}while((d|0)!=32);xd(a+776|0,b);hd(a+800|0,b);hd(a+820|0,b);hd(a+840|0,b);u=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];am(a,u,n,m,0,q);r=s;return 1}function am(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;pa=r;r=r+176|0;oa=pa;o=pa+128|0;na=pa+112|0;ma=pa+64|0;V=pa+160|0;la=pa+16|0;W=pa+80|0;X=pa+32|0;S=k[c>>2]|0;ia=c+4|0;U=k[ia>>2]|0;ka=c+8|0;T=k[ka>>2]|0;k[o>>2]=b;k[o+4>>2]=S;k[o+8>>2]=U;k[o+12>>2]=T;T=o+16|0;k[T>>2]=k[d>>2];k[T+4>>2]=k[d+4>>2];k[T+8>>2]=k[d+8>>2];k[o+28>>2]=e;k[na>>2]=0;T=na+4|0;k[T>>2]=0;k[na+8>>2]=0;U=na+8|0;bm(na,o);e=k[T>>2]|0;o=k[na>>2]|0;b=e-o|0;if((b|0)>32){g=((b>>5)+-2|0)/2|0;h=o+(g<<5)|0;b=e+-32|0;j=k[b>>2]|0;if((k[h>>2]|0)>>>0>>0){l=k[e+-28>>2]|0;m=k[e+-24>>2]|0;n=k[e+-20>>2]|0;e=e+-16|0;k[oa>>2]=k[e>>2];k[oa+4>>2]=k[e+4>>2];k[oa+8>>2]=k[e+8>>2];k[oa+12>>2]=k[e+12>>2];e=h;while(1){k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];k[b+20>>2]=k[e+20>>2];k[b+24>>2]=k[e+24>>2];k[b+28>>2]=k[e+28>>2];if(!g)break;g=(g+-1|0)/2|0;b=o+(g<<5)|0;if((k[b>>2]|0)>>>0>=j>>>0)break;else{S=e;e=b;b=S}}k[e>>2]=j;k[e+4>>2]=l;k[e+8>>2]=m;k[e+12>>2]=n;g=e+16|0;k[g>>2]=k[oa>>2];k[g+4>>2]=k[oa+4>>2];k[g+8>>2]=k[oa+8>>2];k[g+12>>2]=k[oa+12>>2];g=7}else g=7}else b=o;a:while(1){if((g|0)==7){b=k[na>>2]|0;e=k[T>>2]|0}if((b|0)==(e|0)){g=62;break}S=k[b>>2]|0;e=k[b+4>>2]|0;p=k[b+8>>2]|0;n=k[b+12>>2]|0;R=b+16|0;k[ma>>2]=k[R>>2];k[ma+4>>2]=k[R+4>>2];k[ma+8>>2]=k[R+8>>2];R=k[b+28>>2]|0;cm(na);k[c>>2]=e;k[ia>>2]=p;k[ka>>2]=n;k[d>>2]=k[ma>>2];k[d+4>>2]=k[ma+4>>2];k[d+8>>2]=k[ma+8>>2];k[V>>2]=e;k[V+4>>2]=p;k[V+8>>2]=n;k[oa>>2]=k[ma>>2];k[oa+4>>2]=k[ma+4>>2];k[oa+8>>2]=k[ma+8>>2];R=$m(a,S,V,oa,R)|0;n=d+(R<<2)|0;p=k[n>>2]|0;b=k[a>>2]|0;e=(S|0)==0;do if((b|0)==(p|0)){if(!e){l=k[f>>2]|0;b=f+4|0;g=l+84|0;h=l+68|0;j=l+40|0;l=l+64|0;e=k[b>>2]|0;m=e;o=0;while(1){if(!(i[g>>0]|0))n=k[(k[h>>2]|0)+(m<<2)>>2]|0;else n=m;Q=j;R=k[Q>>2]|0;Q=sq(n|0,((n|0)<0)<<31>>31|0,R|0,k[Q+4>>2]|0)|0;lq((k[k[l>>2]>>2]|0)+Q|0,c|0,R|0)|0;o=o+1|0;if((o|0)==(S|0))break;else m=m+1|0}k[b>>2]=S+e}}else{if(e){g=16;break a}if(S>>>0>=3){k[la>>2]=k[c>>2];q=la+4|0;k[q>>2]=k[ia>>2];s=la+8|0;k[s>>2]=k[ka>>2];Q=la+(R<<2)|0;k[Q>>2]=(k[Q>>2]|0)+(1<>>1)-e|0;h=S-l|0;if((l|0)==(h|0)){m=l;o=l}else{e=a+856|0;S=k[e>>2]|0;b=a+852|0;g=k[b>>2]|0;j=(k[g>>2]&1<<31-S|0)!=0;S=S+1|0;k[e>>2]=S;if((S|0)==32){k[b>>2]=g+4;k[e>>2]=0}m=j?l:h;o=j?h:l}k[n>>2]=p+1;if(m|0){e=k[c>>2]|0;b=k[ia>>2]|0;g=k[ka>>2]|0;k[W>>2]=m;k[W+4>>2]=e;k[W+8>>2]=b;k[W+12>>2]=g;h=W+16|0;k[h>>2]=k[d>>2];k[h+4>>2]=k[d+4>>2];k[h+8>>2]=k[d+8>>2];k[W+28>>2]=R;j=k[T>>2]|0;if(j>>>0<(k[U>>2]|0)>>>0){k[j>>2]=m;k[j+4>>2]=e;k[j+8>>2]=b;k[j+12>>2]=g;g=j+16|0;k[g>>2]=k[h>>2];k[g+4>>2]=k[h+4>>2];k[g+8>>2]=k[h+8>>2];k[g+12>>2]=k[h+12>>2];g=(k[T>>2]|0)+32|0;k[T>>2]=g}else{dm(na,W);g=k[T>>2]|0}e=k[na>>2]|0;b=g-e|0;if((b|0)>32?(Y=((b>>5)+-2|0)/2|0,Z=e,_=Z+(Y<<5)|0,$=g,aa=$+-32|0,ba=k[aa>>2]|0,(k[_>>2]|0)>>>0>>0):0){h=k[$+-28>>2]|0;j=k[$+-24>>2]|0;l=k[$+-20>>2]|0;g=$+-16|0;k[oa>>2]=k[g>>2];k[oa+4>>2]=k[g+4>>2];k[oa+8>>2]=k[g+8>>2];k[oa+12>>2]=k[g+12>>2];g=Y;b=aa;e=_;while(1){k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];k[b+20>>2]=k[e+20>>2];k[b+24>>2]=k[e+24>>2];k[b+28>>2]=k[e+28>>2];if(!g)break;g=(g+-1|0)/2|0;b=Z+(g<<5)|0;if((k[b>>2]|0)>>>0>=ba>>>0)break;else{S=e;e=b;b=S}}k[e>>2]=ba;k[e+4>>2]=h;k[e+8>>2]=j;k[e+12>>2]=l;S=e+16|0;k[S>>2]=k[oa>>2];k[S+4>>2]=k[oa+4>>2];k[S+8>>2]=k[oa+8>>2];k[S+12>>2]=k[oa+12>>2]}}if(o|0){j=k[la>>2]|0;h=k[q>>2]|0;b=k[s>>2]|0;k[X>>2]=o;k[X+4>>2]=j;k[X+8>>2]=h;k[X+12>>2]=b;g=X+16|0;k[g>>2]=k[d>>2];k[g+4>>2]=k[d+4>>2];k[g+8>>2]=k[d+8>>2];k[X+28>>2]=R;e=k[T>>2]|0;if(e>>>0<(k[U>>2]|0)>>>0){k[e>>2]=o;k[e+4>>2]=j;k[e+8>>2]=h;k[e+12>>2]=b;S=e+16|0;k[S>>2]=k[g>>2];k[S+4>>2]=k[g+4>>2];k[S+8>>2]=k[g+8>>2];k[S+12>>2]=k[g+12>>2];g=(k[T>>2]|0)+32|0;k[T>>2]=g}else{dm(na,X);g=k[T>>2]|0}e=k[na>>2]|0;b=g-e|0;if((b|0)>32?(ca=((b>>5)+-2|0)/2|0,da=e,ea=da+(ca<<5)|0,fa=g,ga=fa+-32|0,ha=k[ga>>2]|0,(k[ea>>2]|0)>>>0>>0):0){h=k[fa+-28>>2]|0;j=k[fa+-24>>2]|0;l=k[fa+-20>>2]|0;g=fa+-16|0;k[oa>>2]=k[g>>2];k[oa+4>>2]=k[g+4>>2];k[oa+8>>2]=k[g+8>>2];k[oa+12>>2]=k[g+12>>2];g=ca;b=ga;e=ea;while(1){k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];k[b+20>>2]=k[e+20>>2];k[b+24>>2]=k[e+24>>2];k[b+28>>2]=k[e+28>>2];if(!g)break;g=(g+-1|0)/2|0;b=da+(g<<5)|0;if((k[b>>2]|0)>>>0>=ha>>>0)break;else{S=e;e=b;b=S}}k[e>>2]=ha;k[e+4>>2]=h;k[e+8>>2]=j;k[e+12>>2]=l;S=e+16|0;k[S>>2]=k[oa>>2];k[S+4>>2]=k[oa+4>>2];k[S+8>>2]=k[oa+8>>2];k[S+12>>2]=k[oa+12>>2]}}break}x=(R|0)==2?0:R+1|0;t=(x|0)==2?0:x+1|0;H=b-p|0;F=k[d+(x<<2)>>2]|0;I=b-F|0;q=k[d+(t<<2)>>2]|0;J=b-q|0;K=a+816|0;L=a+812|0;Q=k[f>>2]|0;M=f+4|0;N=Q+84|0;O=Q+68|0;P=Q+40|0;Q=Q+64|0;D=(b|0)==(p|0);B=oa+(R<<2)|0;E=c+(R<<2)|0;F=(b|0)==(F|0);C=oa+(x<<2)|0;G=c+(x<<2)|0;q=(b|0)==(q|0);p=oa+(t<<2)|0;s=c+(t<<2)|0;t=oa+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=oa+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;j=oa+(R<<2)|0;l=(H|0)<33;m=(H|0)>0;n=32-H|0;o=0;do{k[oa>>2]=0;k[oa+4>>2]=0;k[oa+8>>2]=0;do if(!D){if(!l){g=23;break a}if(!m){g=25;break a}g=k[K>>2]|0;e=32-g|0;h=k[L>>2]|0;b=k[h>>2]<>>0>e>>>0){R=H-e|0;k[K>>2]=R;h=h+4|0;k[L>>2]=h;R=32-R|0;e=(k[h>>2]|0)>>>R|b>>>(R-e|0);k[j>>2]=e;b=j;break}e=b>>>n;k[j>>2]=e;R=g+H|0;k[K>>2]=R;if((R|0)==32){k[L>>2]=h+4;k[K>>2]=0;b=j}else b=j}else{b=B;e=k[B>>2]|0}while(0);k[b>>2]=e|k[E>>2];do if(!F){if(!y){g=23;break a}if(!z){g=25;break a}g=k[K>>2]|0;e=32-g|0;h=k[L>>2]|0;b=k[h>>2]<>>0>e>>>0){R=I-e|0;k[K>>2]=R;h=h+4|0;k[L>>2]=h;R=32-R|0;e=(k[h>>2]|0)>>>R|b>>>(R-e|0);k[x>>2]=e;b=x;break}e=b>>>A;k[x>>2]=e;R=g+I|0;k[K>>2]=R;if((R|0)==32){k[L>>2]=h+4;k[K>>2]=0;b=x}else b=x}else{b=C;e=k[C>>2]|0}while(0);k[b>>2]=e|k[G>>2];do if(!q){if(!u){g=23;break a}if(!v){g=25;break a}g=k[K>>2]|0;e=32-g|0;h=k[L>>2]|0;b=k[h>>2]<>>0>e>>>0){R=J-e|0;k[K>>2]=R;h=h+4|0;k[L>>2]=h;R=32-R|0;e=(k[h>>2]|0)>>>R|b>>>(R-e|0);k[t>>2]=e;b=t;break}e=b>>>w;k[t>>2]=e;R=g+J|0;k[K>>2]=R;if((R|0)==32){k[L>>2]=h+4;k[K>>2]=0;b=t}else b=t}else{b=p;e=k[p>>2]|0}while(0);k[b>>2]=e|k[s>>2];e=k[M>>2]|0;k[M>>2]=e+1;if(!(i[N>>0]|0))e=k[(k[O>>2]|0)+(e<<2)>>2]|0;h=P;R=k[h>>2]|0;h=sq(e|0,((e|0)<0)<<31>>31|0,R|0,k[h+4>>2]|0)|0;lq((k[k[Q>>2]>>2]|0)+h|0,oa|0,R|0)|0;o=o+1|0}while(o>>>0>>0)}while(0);g=7}if((g|0)==16)Aa(9956,9994,228,10064);else if((g|0)==23)Aa(10077,10101,111,10128);else if((g|0)==25)Aa(10141,10101,112,10128);else if((g|0)==62){if(!e){r=pa;return}Ip(e);r=pa;return}}function bm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=a+4|0;d=k[a>>2]|0;e=((k[l>>2]|0)-d>>5)+1|0;if(e>>>0>134217727)yp(a);j=d;m=a+8|0;c=(k[m>>2]|0)-d|0;if(c>>5>>>0<67108863){c=c>>4;c=c>>>0>>0?e:c;e=k[l>>2]|0;f=e-d>>5;if(!c){h=0;i=0}else g=6}else{f=k[l>>2]|0;c=134217727;e=f;f=f-d>>5;g=6}if((g|0)==6){h=c;i=$p(c<<5)|0}g=i+(f<<5)|0;c=g;h=i+(h<<5)|0;k[g>>2]=k[b>>2];k[i+(f<<5)+4>>2]=k[b+4>>2];k[i+(f<<5)+8>>2]=k[b+8>>2];k[i+(f<<5)+12>>2]=k[b+12>>2];f=i+(f<<5)+16|0;b=b+16|0;k[f>>2]=k[b>>2];k[f+4>>2]=k[b+4>>2];k[f+8>>2]=k[b+8>>2];k[f+12>>2]=k[b+12>>2];f=g+32|0;if((e|0)!=(j|0)){d=g;do{i=e;e=e+-32|0;k[d+-32>>2]=k[e>>2];k[d+-28>>2]=k[i+-28>>2];k[d+-24>>2]=k[i+-24>>2];k[d+-20>>2]=k[i+-20>>2];b=d+-16|0;i=i+-16|0;k[b>>2]=k[i>>2];k[b+4>>2]=k[i+4>>2];k[b+8>>2]=k[i+8>>2];k[b+12>>2]=k[i+12>>2];d=c+-32|0;c=d}while((e|0)!=(j|0));d=k[a>>2]|0}k[a>>2]=c;k[l>>2]=f;k[m>>2]=h;if(!d)return;Ip(d);return}function cm(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+16|0;s=t;b=k[a>>2]|0;q=a+4|0;a=k[q>>2]|0;c=a-b|0;d=c>>5;if((c|0)<=32){s=k[q>>2]|0;s=s+-32|0;k[q>>2]=s;r=t;return}p=b;o=a;j=o+-32|0;a=k[p>>2]|0;e=p+4|0;l=k[e>>2]|0;f=p+8|0;m=k[f>>2]|0;g=p+12|0;n=k[g>>2]|0;i=p+16|0;k[s>>2]=k[i>>2];k[s+4>>2]=k[i+4>>2];k[s+8>>2]=k[i+8>>2];k[s+12>>2]=k[i+12>>2];h=b;k[h>>2]=k[j>>2];k[h+4>>2]=k[j+4>>2];k[h+8>>2]=k[j+8>>2];k[h+12>>2]=k[j+12>>2];k[h+16>>2]=k[j+16>>2];k[h+20>>2]=k[j+20>>2];k[h+24>>2]=k[j+24>>2];k[h+28>>2]=k[j+28>>2];k[j>>2]=a;k[o+-28>>2]=l;k[o+-24>>2]=m;k[o+-20>>2]=n;o=o+-16|0;k[o>>2]=k[s>>2];k[o+4>>2]=k[s+4>>2];k[o+8>>2]=k[s+8>>2];k[o+12>>2]=k[s+12>>2];o=d+-1|0;if((c|0)<96){s=k[q>>2]|0;s=s+-32|0;k[q>>2]=s;r=t;return}m=d+-3|0;n=(m|0)/2|0;if((m|0)<-1){s=k[q>>2]|0;s=s+-32|0;k[q>>2]=s;r=t;return}b=p+32|0;a=b;if((o|0)>2){m=p+64|0;l=(k[b>>2]|0)>>>0<(k[m>>2]|0)>>>0;b=l?2:1;a=l?m:a}else b=1;m=k[p>>2]|0;if((k[a>>2]|0)>>>0>>0){s=k[q>>2]|0;s=s+-32|0;k[q>>2]=s;r=t;return}l=k[e>>2]|0;j=k[f>>2]|0;f=k[g>>2]|0;k[s>>2]=k[i>>2];k[s+4>>2]=k[i+4>>2];k[s+8>>2]=k[i+8>>2];k[s+12>>2]=k[i+12>>2];while(1){i=h;h=a;k[i>>2]=k[h>>2];k[i+4>>2]=k[h+4>>2];k[i+8>>2]=k[h+8>>2];k[i+12>>2]=k[h+12>>2];k[i+16>>2]=k[h+16>>2];k[i+20>>2]=k[h+20>>2];k[i+24>>2]=k[h+24>>2];k[i+28>>2]=k[h+28>>2];if((n|0)<(b|0))break;b=b<<1|1;d=p+(b<<5)|0;c=d;e=b+1|0;if((e|0)<(o|0)){i=d+32|0;g=(k[d>>2]|0)>>>0<(k[i>>2]|0)>>>0;b=g?e:b;c=g?i:c}if((k[c>>2]|0)>>>0>>0)break;else a=c}p=a;k[p>>2]=m;k[p+4>>2]=l;k[p+8>>2]=j;k[p+12>>2]=f;p=p+16|0;k[p>>2]=k[s>>2];k[p+4>>2]=k[s+4>>2];k[p+8>>2]=k[s+8>>2];k[p+12>>2]=k[s+12>>2];s=k[q>>2]|0;s=s+-32|0;k[q>>2]=s;r=t;return} -function ib(a){a=a|0;var b=0;b=r;r=r+a|0;r=r+15&-16;return b|0}function jb(){return r|0}function kb(a){a=a|0;r=a}function lb(a,b){a=a|0;b=b|0;r=a;s=b}function mb(a,b){a=a|0;b=b|0;if(!w){w=a;x=b}}function nb(a){a=a|0;i[t>>0]=i[a>>0];i[t+1>>0]=i[a+1>>0];i[t+2>>0]=i[a+2>>0];i[t+3>>0]=i[a+3>>0]}function ob(a){a=a|0;i[t>>0]=i[a>>0];i[t+1>>0]=i[a+1>>0];i[t+2>>0]=i[a+2>>0];i[t+3>>0]=i[a+3>>0];i[t+4>>0]=i[a+4>>0];i[t+5>>0]=i[a+5>>0];i[t+6>>0]=i[a+6>>0];i[t+7>>0]=i[a+7>>0]}function pb(a){a=a|0;L=a}function qb(){return L|0}function rb(){var a=0;a=$p(68)|0;rg(a);return a|0}function sb(a){a=a|0;return (k[a+8>>2]|0)-(k[a+4>>2]|0)>>2|0}function tb(a){a=a|0;return k[a+64>>2]|0}function ub(a){a=a|0;if(!a)return;ab[k[(k[a>>2]|0)+4>>2]&127](a);return}function vb(){var a=0;a=$p(1)|0;tc(a);return a|0}function wb(a,b){a=a|0;b=b|0;return uc(a,b)|0}function xb(a,b){a=a|0;b=b|0;return vc(b)|0}function yb(a,b){a=a|0;b=b|0;return wc(b)|0}function zb(a,b,c){a=a|0;b=b|0;c=c|0;return xc(a,b,c)|0}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;return yc(b,c)|0}function Bb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return zc(b,c,d)|0}function Cb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ac(b,c,d)|0}function Db(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return bd(b,c,d)|0}function Eb(a){a=a|0;if(!a)return;Ip(a);return}function Fb(){var a=0;a=$p(88)|0;Le(a);return a|0}function Gb(a){a=a|0;return k[a+80>>2]|0}function Hb(a){a=a|0;return k[a+56>>2]|0}function Ib(a){a=a|0;return k[a+28>>2]|0}function Jb(a){a=a|0;return i[a+24>>0]|0}function Kb(a){a=a|0;return (i[a+32>>0]|0)!=0|0}function Lb(a){a=a|0;return k[a+40>>2]|0}function Mb(a){a=a|0;return k[a+48>>2]|0}function Nb(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a)return;b=k[a+68>>2]|0;c=b;if(b|0){d=a+72|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}e=a+64|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0){c=k[b>>2]|0;if(c|0){d=b+4|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;Ip(c)}Ip(b)}Ip(a);return}function Ob(){var a=0;a=$p(12)|0;mc(a);return a|0}function Pb(a,b){a=a|0;b=b|0;return +(+nc(a,b))}function Qb(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a)return;b=k[a>>2]|0;c=b;if(b|0){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}Ip(a);return}function Rb(){var a=0;a=$p(64)|0;Ie(a);return a|0}function Sb(a){a=a|0;if(!a)return;Ip(a);return}function Tb(){var a=0;a=$p(40)|0;Og(a);return a|0}function Ub(a,b,c){a=a|0;b=b|0;c=c|0;Pg(a,b,c);return}function Vb(a){a=a|0;if(!a)return;Ng(a+24|0);Ip(a);return}function Wb(){var a=0;a=$p(92)|0;zg(a);return a|0}function Xb(a){a=a|0;return ((k[a+84>>2]|0)-(k[a+80>>2]|0)|0)/12|0|0}function Yb(a){a=a|0;return (k[a+8>>2]|0)-(k[a+4>>2]|0)>>2|0}function Zb(a){a=a|0;return k[a+64>>2]|0}function _b(a){a=a|0;if(!a)return;ab[k[(k[a>>2]|0)+4>>2]&127](a);return}function $b(a){a=a|0;if(!a)return;Ip(a);return}function ac(){var a=0;a=$p(12)|0;qc(a);return a|0}function bc(a,b){a=a|0;b=b|0;return rc(a,b)|0}function cc(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a)return;b=k[a>>2]|0;c=b;if(b|0){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}Ip(a);return}function dc(){return -1}function ec(){return 0}function fc(){return 1}function gc(){return -1}function hc(){return 0}function ic(){return 1}function jc(){return 2}function kc(){return 3}function lc(){return 4}function mc(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function nc(a,b){a=a|0;b=b|0;return +(+o[(k[a>>2]|0)+(b<<2)>>2])}function oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=b;h=c-m>>2;l=a+8|0;d=k[l>>2]|0;j=k[a>>2]|0;i=j;if(h>>>0<=d-j>>2>>>0){g=a+4|0;d=(k[g>>2]|0)-j>>2;a=h>>>0>d>>>0;d=b+(d<<2)|0;e=a?d:c;f=e;m=f-m|0;mq(j|0,b|0,m|0)|0;b=i+(m>>2<<2)|0;if(!a){d=k[g>>2]|0;if((d|0)==(b|0))return;k[g>>2]=d+(~((d+-4-b|0)>>>2)<<2);return}if((e|0)==(c|0))return;b=k[g>>2]|0;e=b+(((c+-4-f|0)>>>2)+1<<2)|0;while(1){k[b>>2]=k[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}k[g>>2]=e;return}f=j;if(j){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(i|0))k[d>>2]=e+(~((e+-4-j|0)>>>2)<<2);Ip(f);k[l>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(h>>>0>1073741823)yp(a);d=d-0|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?h:d;if(d>>>0>1073741823)yp(a);else g=d}else g=1073741823;d=$p(g<<2)|0;f=a+4|0;k[f>>2]=d;k[a>>2]=d;k[l>>2]=d+(g<<2);if((b|0)==(c|0))return;e=d+(((c+-4-m|0)>>>2)+1<<2)|0;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[f>>2]=e;return}function pc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)yp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;hq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;lq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Ip(j);return}function qc(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function rc(a,b){a=a|0;b=b|0;return k[(k[a>>2]|0)+(b<<2)>>2]|0}function sc(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;i=a+8|0;d=k[i>>2]|0;l=k[a>>2]|0;j=l;if(g>>>0<=d-l>>2>>>0){i=a+4|0;h=(k[i>>2]|0)-l>>2;a=g>>>0>h>>>0;h=b+(h<<2)|0;e=a?h:c;g=e;d=g-m|0;mq(l|0,b|0,d|0)|0;d=j+(d>>2<<2)|0;if(!a){b=k[i>>2]|0;if((b|0)==(d|0))return;k[i>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((e|0)==(c|0))return;f=k[i>>2]|0;e=(c+-4-g|0)>>>2;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[i>>2]=f+(e+1<<2);return}f=l;if(l){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(j|0))k[d>>2]=e+(~((e+-4-l|0)>>>2)<<2);Ip(f);k[i>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(g>>>0>1073741823)yp(a);d=d-0|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?g:d;if(d>>>0>1073741823)yp(a);else h=d}else h=1073741823;f=$p(h<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[i>>2]=f+(h<<2);if((b|0)==(c|0))return;e=(c+-4-m|0)>>>2;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+1<<2);return}function tc(a){a=a|0;return}function uc(a,b){a=a|0;b=b|0;return Ro(b)|0}function vc(a){a=a|0;return To(a)|0}function wc(a){a=a|0;return Uo(a)|0}function xc(a,b,c){a=a|0;b=b|0;c=c|0;return sg(b,c)|0}function yc(a,b){a=a|0;b=b|0;var c=0;if((b|0)<=-1)Aa(9717,9733,54,9761);c=k[a+4>>2]|0;if((k[a+8>>2]|0)-c>>2>>>0>b>>>0)return k[c+(b<<2)>>2]|0;else Aa(9771,9733,55,9761);return 0}function zc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<=-1)Aa(10856,10769,63,10783);d=k[a+80>>2]|0;if((((k[a+84>>2]|0)-d|0)/12|0)>>>0>b>>>0){a=d+(b*12|0)|0;sc(c,a,a+12|0);return 1}else Aa(10733,10769,64,10783);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,l=0,m=0;m=r;r=r+48|0;d=m+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;l=m;j=i[a+24>>0]|0;k[l>>2]=k[196];k[l+4>>2]=k[197];k[l+8>>2]=k[198];k[l+12>>2]=k[199];j=j<<24>>24;switch(j|0){case 1:{k[e>>2]=b;k[d>>2]=k[e>>2];d=Bc(a,d,l)|0;break}case 2:{k[f>>2]=b;k[d>>2]=k[f>>2];d=Ic(a,d,l)|0;break}case 3:{k[g>>2]=b;k[d>>2]=k[g>>2];d=Pc(a,d,l)|0;break}case 4:{k[h>>2]=b;k[d>>2]=k[h>>2];d=Wc(a,d,l)|0;break}default:{l=0;r=m;return l|0}}if(!d){l=0;r=m;return l|0}oc(c,l,l+(j<<2)|0);l=1;r=m;return l|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,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){a=0;r=n;return a|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=1;r=n;return a|0}case 2:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=1;r=n;return a|0}case 3:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=1;r=n;return a|0}case 4:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=1;r=n;return a|0}default:{a=0;r=n;return a|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];a=Cc(a,d,c)|0;r=n;return a|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];a=Dc(a,d,c)|0;r=n;return a|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];a=Ec(a,d,c)|0;r=n;return a|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];a=Fc(a,d,c)|0;r=n;return a|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];a=Gc(a,d,c)|0;r=n;return a|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];a=Hc(a,d,c)|0;r=n;return a|0}default:{a=0;r=n;return a|0}}return 0}function Cc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+b>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8)&255);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&255);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Dc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+b>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(((l[g>>0]|l[g+1>>0]<<8)&255)<<24>>24);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&255)<<24>>24);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ec(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Fc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;g=1;return g|0}default:{g=0;return g|0}}return 0}function Hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ic(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){a=0;r=n;return a|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;o[c+4>>2]=0.0;a=1;r=n;return a|0}case 2:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;m=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=c;k[a>>2]=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;k[a+4>>2]=b;a=1;r=n;return a|0}case 3:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;m=b;m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=c;c=a;i[c>>0]=m;i[c+1>>0]=m>>8;i[c+2>>0]=m>>16;i[c+3>>0]=m>>24;a=a+4|0;i[a>>0]=b;i[a+1>>0]=b>>8;i[a+2>>0]=b>>16;i[a+3>>0]=b>>24;a=1;r=n;return a|0}case 4:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;m=b;m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=c;c=a;i[c>>0]=m;i[c+1>>0]=m>>8;i[c+2>>0]=m>>16;i[c+3>>0]=m>>24;a=a+4|0;i[a>>0]=b;i[a+1>>0]=b>>8;i[a+2>>0]=b>>16;i[a+3>>0]=b>>24;a=1;r=n;return a|0}default:{a=0;r=n;return a|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];a=Jc(a,d,c)|0;r=n;return a|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];a=Kc(a,d,c)|0;r=n;return a|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];a=Lc(a,d,c)|0;r=n;return a|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];a=Mc(a,d,c)|0;r=n;return a|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];a=Nc(a,d,c)|0;r=n;return a|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];a=Oc(a,d,c)|0;r=n;return a|0}default:{a=0;r=n;return a|0}}return 0}function Jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+b>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;o[c+4>>2]=0.0;a=1;return a|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;d=+(l[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;g=1;return g|0}}case 4:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+b>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;o[c+4>>2]=0.0;a=1;return a|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;d=+(i[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;g=1;return g|0}}case 4:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;o[c+4>>2]=0.0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+(g&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;g=1;return g|0}}case 4:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,f|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;f=b;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=b+4|0;g=(i[a+32>>0]|0)==0;b=(kq(f|0,l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0,16)|0)&65535;d=+(f&65535);if(g){o[c>>2]=d;o[c+4>>2]=+(b&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;o[c+4>>2]=0.0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+((g&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;g=1;return g|0}}case 4:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,f|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;f=b;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=b+4|0;g=(i[a+32>>0]|0)==0;b=(kq(f|0,l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0,16)|0)&65535;d=+((f&65535)<<16>>16);if(g){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;o[c+4>>2]=0.0;a=1;return a|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,g|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;g=1;return g|0}}case 4:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;o[c+4>>2]=0.0;a=1;return a|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,g|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;g=1;return g|0}}case 4:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Pc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){a=0;r=n;return a|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=c+4|0;k[a>>2]=0;k[a+4>>2]=0;a=1;r=n;return a|0}case 2:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;m=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=c;k[a>>2]=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;k[a+4>>2]=b;o[c+8>>2]=0.0;a=1;r=n;return a|0}case 3:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;mq(c|0,(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;a=1;r=n;return a|0}case 4:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;mq(c|0,(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;a=1;r=n;return a|0}default:{a=0;r=n;return a|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];a=Qc(a,d,c)|0;r=n;return a|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];a=Rc(a,d,c)|0;r=n;return a|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];a=Sc(a,d,c)|0;r=n;return a|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];a=Tc(a,d,c)|0;r=n;return a|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];a=Uc(a,d,c)|0;r=n;return a|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];a=Vc(a,d,c)|0;r=n;return a|0}default:{a=0;r=n;return a|0}}return 0}function Qc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+e>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&255)}else{o[c>>2]=d/255.0;d=+(b&255)/255.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;e=i[g+2>>0]|0;d=+(l[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);o[c+8>>2]=+(e&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;o[c+8>>2]=+(e&255)/255.0;g=1;return g|0}}case 4:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;e=g>>>16&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);o[c+8>>2]=+(e&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;o[c+8>>2]=+(e&255)/255.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Rc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+e>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<24>>24)}else{o[c>>2]=d/127.0;d=+(b<<24>>24)/127.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;e=i[g+2>>0]|0;d=+(i[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);o[c+8>>2]=+(e<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;o[c+8>>2]=+(e<<24>>24)/127.0;g=1;return g|0}}case 4:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;e=g>>>16&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);o[c+8>>2]=+(e<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;o[c+8>>2]=+(e<<24>>24)/127.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Sc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[e>>0]|l[e+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+(g&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&65535)}else{o[c>>2]=d/65535.0;d=+(b&65535)/65535.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;e=g+4|0;e=l[e>>0]|l[e+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&65535);o[c+8>>2]=+(e&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;o[c+8>>2]=+(e&65535)/65535.0;g=1;return g|0}}case 4:{g=k[b>>2]|0;e=a+48|0;f=k[e>>2]|0;e=k[e+4>>2]|0;b=a+40|0;e=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,f|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;f=e;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=e+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;g=(i[a+32>>0]|0)==0;b=(kq(f|0,e|0,16)|0)&65535;e=e&65535;d=+(f&65535);if(g){o[c>>2]=d;o[c+4>>2]=+(b&65535);o[c+8>>2]=+(e&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;o[c+8>>2]=+(e&65535)/65535.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[e>>0]|l[e+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+((g&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<16>>16)}else{o[c>>2]=d/32767.0;d=+(b<<16>>16)/32767.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;e=g+4|0;e=l[e>>0]|l[e+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);o[c+8>>2]=+(e<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;o[c+8>>2]=+(e<<16>>16)/32767.0;g=1;return g|0}}case 4:{g=k[b>>2]|0;e=a+48|0;f=k[e>>2]|0;e=k[e+4>>2]|0;b=a+40|0;e=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,f|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;f=e;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=e+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;g=(i[a+32>>0]|0)==0;b=(kq(f|0,e|0,16)|0)&65535;e=e&65535;d=+((f&65535)<<16>>16);if(g){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);o[c+8>>2]=+(e<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;o[c+8>>2]=+(e<<16>>16)/32767.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,g|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b>>>0)}else{o[c>>2]=d*2.3283064365386963e-10;d=+(b>>>0)*2.3283064365386963e-10}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);o[c+8>>2]=+(e>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;o[c+8>>2]=+(e>>>0)*2.3283064365386963e-10;g=1;return g|0}}case 4:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);o[c+8>>2]=+(e>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;o[c+8>>2]=+(e>>>0)*2.3283064365386963e-10;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(jq(sq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,g|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b|0)}else{o[c>>2]=d*4.656612873077393e-10;d=+(b|0)*4.656612873077393e-10}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);o[c+8>>2]=+(e|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;o[c+8>>2]=+(e|0)*4.656612873077393e-10;g=1;return g|0}}case 4:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);o[c+8>>2]=+(e|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;o[c+8>>2]=+(e|0)*4.656612873077393e-10;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){a=0;r=n;return a|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=c+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;a=1;r=n;return a|0}case 2:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;m=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=c;k[a>>2]=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;k[a+4>>2]=b;a=c+8|0;k[a>>2]=0;k[a+4>>2]=0;a=1;r=n;return a|0}case 3:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;mq(c|0,(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;o[c+12>>2]=0.0;a=1;r=n;return a|0}case 4:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;mq(c|0,(jq(sq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0,16)|0;a=1;r=n;return a|0}default:{a=0;r=n;return a|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];a=Xc(a,d,c)|0;r=n;return a|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];a=Yc(a,d,c)|0;r=n;return a|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];a=Zc(a,d,c)|0;r=n;return a|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];a=_c(a,d,c)|0;r=n;return a|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];a=$c(a,d,c)|0;r=n;return a|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];a=ad(a,d,c)|0;r=n;return a|0}default:{a=0;r=n;return a|0}}return 0}function Xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=jq(sq(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;e=+(l[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?e:e/255.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8;b=(h&65535)>>>8&255;d=+(h&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&255)}else{o[c>>2]=d/255.0;d=+(b&255)/255.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=i[h+1>>0]|0;b=i[h+2>>0]|0;d=+(l[h>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b&255);d=+(f&255)}else{o[c>>2]=d/255.0;e=+(b&255)/255.0;d=+(f&255)/255.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>8&255;f=h>>>16&255;g=h>>>24&255;d=+(h&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);o[c+8>>2]=+(f&255);o[c+12>>2]=+(g&255);h=1;return h|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;o[c+8>>2]=+(f&255)/255.0;o[c+12>>2]=+(g&255)/255.0;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Yc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=jq(sq(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;e=+(i[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?e:e/127.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8;b=(h&65535)>>>8&255;d=+((h&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<24>>24)}else{o[c>>2]=d/127.0;d=+(b<<24>>24)/127.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=i[h+1>>0]|0;b=i[h+2>>0]|0;d=+(i[h>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b<<24>>24);d=+(f<<24>>24)}else{o[c>>2]=d/127.0;e=+(b<<24>>24)/127.0;d=+(f<<24>>24)/127.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>8&255;f=h>>>16&255;g=h>>>24&255;d=+((h&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);o[c+8>>2]=+(f<<24>>24);o[c+12>>2]=+(g<<24>>24);h=1;return h|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;o[c+8>>2]=+(f<<24>>24)/127.0;o[c+12>>2]=+(g<<24>>24)/127.0;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Zc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0,j=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;f=a+48|0;b=k[f>>2]|0;f=k[f+4>>2]|0;h=a+40|0;f=(jq(sq(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+((l[f>>0]|l[f+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?e:e/65535.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=+(h&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&65535)}else{o[c>>2]=d/65535.0;d=+(b&65535)/65535.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+2|0;f=l[f>>0]|l[f+1>>0]<<8;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[h>>0]|l[h+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b&65535);d=+(f&65535)}else{o[c>>2]=d/65535.0;e=+(b&65535)/65535.0;d=+(f&65535)/65535.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{h=k[b>>2]|0;j=a+48|0;g=k[j>>2]|0;j=k[j+4>>2]|0;b=a+40|0;j=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,L|0,g|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;g=j;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=j+4|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;h=(i[a+32>>0]|0)==0;b=(kq(g|0,j|0,16)|0)&65535;f=j&65535;a=(kq(g|0,j|0,48)|0)&65535;d=+(g&65535);if(h){o[c>>2]=d;o[c+4>>2]=+(b&65535);o[c+8>>2]=+(f&65535);o[c+12>>2]=+(a&65535);j=1;return j|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;o[c+8>>2]=+(f&65535)/65535.0;o[c+12>>2]=+(a&65535)/65535.0;j=1;return j|0}}default:{j=0;return j|0}}return 0}function _c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0,j=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;f=a+48|0;b=k[f>>2]|0;f=k[f+4>>2]|0;h=a+40|0;f=(jq(sq(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+((l[f>>0]|l[f+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?e:e/32767.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=+((h&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<16>>16)}else{o[c>>2]=d/32767.0;d=+(b<<16>>16)/32767.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+2|0;f=l[f>>0]|l[f+1>>0]<<8;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[h>>0]|l[h+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b<<16>>16);d=+(f<<16>>16)}else{o[c>>2]=d/32767.0;e=+(b<<16>>16)/32767.0;d=+(f<<16>>16)/32767.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{h=k[b>>2]|0;j=a+48|0;g=k[j>>2]|0;j=k[j+4>>2]|0;b=a+40|0;j=(jq(sq(k[b>>2]|0,k[b+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,L|0,g|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;g=j;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=j+4|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;h=(i[a+32>>0]|0)==0;b=(kq(g|0,j|0,16)|0)&65535;f=j&65535;a=(kq(g|0,j|0,48)|0)&65535;d=+((g&65535)<<16>>16);if(h){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);o[c+8>>2]=+(f<<16>>16);o[c+12>>2]=+(a<<16>>16);j=1;return j|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;o[c+8>>2]=+(f<<16>>16)/32767.0;o[c+12>>2]=+(a<<16>>16)/32767.0;j=1;return j|0}}default:{j=0;return j|0}}return 0}function $c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=(jq(sq(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?e:e*2.3283064365386963e-10;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,h|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;h=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b>>>0)}else{o[c>>2]=d*2.3283064365386963e-10;d=+(b>>>0)*2.3283064365386963e-10}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=h+8|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b>>>0);d=+(f>>>0)}else{o[c>>2]=d*2.3283064365386963e-10;e=+(b>>>0)*2.3283064365386963e-10;d=+(f>>>0)*2.3283064365386963e-10}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;f=h+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=h+12|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;d=+((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);o[c+8>>2]=+(f>>>0);o[c+12>>2]=+(g>>>0);h=1;return h|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;o[c+8>>2]=+(f>>>0)*2.3283064365386963e-10;o[c+12>>2]=+(g>>>0)*2.3283064365386963e-10;h=1;return h|0}}default:{h=0;return h|0}}return 0}function ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=(jq(sq(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?e:e*4.656612873077393e-10;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=(jq(sq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,h|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;h=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b|0)}else{o[c>>2]=d*4.656612873077393e-10;d=+(b|0)*4.656612873077393e-10}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=h+8|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b|0);d=+(f|0)}else{o[c>>2]=d*4.656612873077393e-10;e=+(b|0)*4.656612873077393e-10;d=+(f|0)*4.656612873077393e-10}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(jq(sq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;f=h+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=h+12|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;d=+(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);o[c+8>>2]=+(f|0);o[c+12>>2]=+(g|0);h=1;return h|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;o[c+8>>2]=+(f|0)*4.656612873077393e-10;o[c+12>>2]=+(g|0)*4.656612873077393e-10;h=1;return h|0}}default:{h=0;return h|0}}return 0}function bd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+48|0;o=w+32|0;p=w+28|0;q=w+24|0;s=w+20|0;t=w+16|0;v=w;u=b+24|0;j=i[u>>0]|0;m=j<<24>>24;n=k[a+64>>2]|0;g=ha(n,m)|0;k[v>>2]=k[196];k[v+4>>2]=k[197];k[v+8>>2]=k[198];k[v+12>>2]=k[199];a=c+4|0;f=k[a>>2]|0;e=k[c>>2]|0;d=f-e>>2;if(g>>>0<=d>>>0){if(g>>>0>>0?(h=e+(g<<2)|0,(f|0)!=(h|0)):0)k[a>>2]=f+(~((f+-4-h|0)>>>2)<<2)}else pc(c,g-d|0);if((n|0)<=0){v=1;r=w;return v|0}h=b+84|0;l=b+68|0;a:do if(j<<24>>24>0){f=0;g=0;while(1){if(!(i[h>>0]|0))a=k[(k[l>>2]|0)+(g<<2)>>2]|0;else a=g;switch(i[u>>0]|0){case 1:{k[p>>2]=a;k[o>>2]=k[p>>2];a=Bc(b,o,v)|0;break}case 2:{k[q>>2]=a;k[o>>2]=k[q>>2];a=Ic(b,o,v)|0;break}case 3:{k[s>>2]=a;k[o>>2]=k[s>>2];a=Pc(b,o,v)|0;break}case 4:{k[t>>2]=a;k[o>>2]=k[t>>2];a=Wc(b,o,v)|0;break}default:break a}if(!a){a=0;d=29;break}a=k[c>>2]|0;d=f;e=0;while(1){k[a+(d<<2)>>2]=k[v+(e<<2)>>2];e=e+1|0;if((e|0)==(m|0))break;else d=d+1|0}g=g+1|0;if((g|0)>=(n|0)){a=1;d=29;break}else f=m+f|0}if((d|0)==29){r=w;return a|0}}else{d=0;while(1){if(!(i[h>>0]|0))a=k[(k[l>>2]|0)+(d<<2)>>2]|0;else a=d;switch(i[u>>0]|0){case 1:{k[p>>2]=a;k[o>>2]=k[p>>2];a=Bc(b,o,v)|0;break}case 2:{k[q>>2]=a;k[o>>2]=k[q>>2];a=Ic(b,o,v)|0;break}case 3:{k[s>>2]=a;k[o>>2]=k[s>>2];a=Pc(b,o,v)|0;break}case 4:{k[t>>2]=a;k[o>>2]=k[t>>2];a=Wc(b,o,v)|0;break}default:break a}if(!a){a=0;d=29;break}d=d+1|0;if((d|0)>=(n|0)){a=1;d=29;break}}if((d|0)==29){r=w;return a|0}}while(0);v=0;r=w;return v|0}function cd(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 dd(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;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)yp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Ip(i);return}function ed(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;f=k[a>>2]|0;j=f;b=f+((k[b>>2]|0)-j)|0;l=d-c|0;if((l|0)<=0){p=b;return p|0}o=a+8|0;h=k[o>>2]|0;p=a+4|0;m=k[p>>2]|0;e=m;if((l|0)<=(h-e|0)){g=e-b|0;if((l|0)>(g|0)){h=c+g|0;if((h|0)==(d|0))e=m;else{f=h;e=m;do{i[e>>0]=i[f>>0]|0;e=(k[p>>2]|0)+1|0;k[p>>2]=e;f=f+1|0}while((f|0)!=(d|0))}if((g|0)>0)d=h;else{p=b;return p|0}}else e=m;g=e-(b+l)|0;f=b+g|0;if(f>>>0>>0){h=e;do{i[h>>0]=i[f>>0]|0;f=f+1|0;h=(k[p>>2]|0)+1|0;k[p>>2]=h}while((f|0)!=(m|0))}mq(e+(0-g)|0,b|0,g|0)|0;if((d|0)==(c|0)){p=b;return p|0}else e=b;while(1){i[e>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(d|0))break;else e=e+1|0}return b|0}g=e-j+l|0;if((g|0)<0)yp(a);e=h-j|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?g:e;h=b;g=h-j|0;if(!e){l=0;j=0}else n=16}else{h=b;e=2147483647;g=h-j|0;n=16}if((n|0)==16){l=e;j=$p(e)|0}m=j+g|0;e=m;g=j+l|0;if((c|0)==(d|0))c=e;else{f=m;do{i[f>>0]=i[c>>0]|0;f=e+1|0;e=f;c=c+1|0}while((c|0)!=(d|0));c=e;f=k[a>>2]|0}n=h-f|0;j=m+(0-n)|0;lq(j|0,f|0,n|0)|0;n=(k[p>>2]|0)-h|0;l=c;lq(l|0,b|0,n|0)|0;b=k[a>>2]|0;k[a>>2]=j;k[p>>2]=l+n;k[o>>2]=g;if(!b){p=m;return p|0}Ip(b);p=m;return p|0}function fd(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 gd(a){a=a|0;var b=0,c=0,d=0,e=0;d=k[a>>2]|0;e=a+4|0;b=k[e>>2]|0;c=d;if((b|0)==(d|0))b=d;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[e>>2]=b}k[a+16>>2]=0;k[a+12>>2]=b;if(!d)return;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);Ip(d);return}function hd(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;m=n;if((c|0)==(n|0))d=n;else{d=c+(~((c+-4-m|0)>>>2)<<2)|0;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;q=k[d>>2]|0;d=k[d+4>>2]|0;r=b+16|0;e=r;f=k[e>>2]|0;e=k[e+4>>2]|0;g=jq(f|0,e|0,4,0)|0;h=L;if((d|0)<(h|0)|(d|0)==(h|0)&q>>>0>>0)j=0;else{j=(k[b>>2]|0)+f|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;f=r;k[f>>2]=g;k[f+4>>2]=h;f=g;e=h}h=j>>>2;g=c-m>>2;if(h>>>0<=g>>>0)if(h>>>0>>0?(p=n+(h<<2)|0,(c|0)!=(p|0)):0){k[o>>2]=c+(~((c+-4-p|0)>>>2)<<2);c=q}else c=q;else{id(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=jq(f|0,e|0,j|0,0)|0;p=L;if((d|0)<(p|0)|(d|0)==(p|0)&c>>>0>>0){a=k[a>>2]|0;k[t>>2]=a;k[s>>2]=0;return}lq(k[a>>2]|0,(k[b>>2]|0)+f|0,j|0)|0;q=r;q=jq(k[q>>2]|0,k[q+4>>2]|0,j|0,0)|0;b=r;k[b>>2]=q;k[b+4>>2]=L;a=k[a>>2]|0;k[t>>2]=a;k[s>>2]=0;return}function id(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;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)yp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;hq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;lq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Ip(j);return}function jd(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;k[a+24>>2]=0;k[a+28>>2]=0;return}function kd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f;e=d;k[e>>2]=0;k[e+4>>2]=0;ld(a,2,d);d=k[a+12>>2]|0;e=a+16|0;b=k[e>>2]|0;c=d;if((b|0)==(d|0))b=d;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[e>>2]=b}k[a+24>>2]=0;k[a+28>>2]=0;if(d|0){if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);Ip(d)}d=k[a>>2]|0;if(!d){r=f;return}b=a+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-8-d|0)>>>3)<<3);Ip(d);r=f;return}function ld(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;i=a+8|0;d=k[i>>2]|0;g=k[a>>2]|0;j=g;if(d-g>>3>>>0>=b>>>0){i=a+4|0;h=k[i>>2]|0;f=h-g>>3;g=f>>>0>>0;d=g?f:b;if(d|0){e=j;while(1){m=c;l=k[m+4>>2]|0;a=e;k[a>>2]=k[m>>2];k[a+4>>2]=l;d=d+-1|0;if(!d)break;else e=e+8|0}}if(g){e=b-f|0;d=e;f=h;while(1){b=c;l=k[b+4>>2]|0;m=f;k[m>>2]=k[b>>2];k[m+4>>2]=l;d=d+-1|0;if(!d)break;else f=f+8|0}k[i>>2]=h+(e<<3);return}else{d=j+(b<<3)|0;if((h|0)==(d|0))return;k[i>>2]=h+(~((h+-8-d|0)>>>3)<<3);return}}f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(j|0))k[d>>2]=e+(~((e+-8-g|0)>>>3)<<3);Ip(f);k[i>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(b>>>0>536870911)yp(a);d=d-0|0;if(d>>3>>>0<268435455){d=d>>2;d=d>>>0>>0?b:d;if(d>>>0>536870911)yp(a);else h=d}else h=536870911;f=$p(h<<3)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[i>>2]=f+(h<<3);d=b;e=f;while(1){j=c;l=k[j+4>>2]|0;m=e;k[m>>2]=k[j>>2];k[m+4>>2]=l;d=d+-1|0;if(!d)break;else e=e+8|0}k[g>>2]=f+(b<<3);return}function md(a){a=a|0;Fa(a|0)|0;Wp()}function nd(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e;c=b;k[c>>2]=0;k[c+4>>2]=0;ld(a,2,b);b=k[a+12>>2]|0;c=a+16|0;d=k[c>>2]|0;if((d|0)==(b|0)){d=a+24|0;k[d>>2]=0;a=a+28|0;k[a>>2]=0;r=e;return}k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);d=a+24|0;k[d>>2]=0;a=a+28|0;k[a>>2]=0;r=e;return}function od(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=k[a>>2]|0;if(b){e=c+8|0;c=e;c=jq(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;k[e>>2]=c;k[e+4>>2]=L;e=a+28|0;c=k[e>>2]|0;d=a+24|0;k[d>>2]=k[d>>2]|1<>2]|0,k[e+4>>2]|0,1,0)|0;k[c>>2]=e;k[c+4>>2]=L;c=a+28|0;e=c;c=k[c>>2]|0}d=c+1|0;k[e>>2]=d;if((d|0)!=32)return;c=a+24|0;b=a+16|0;d=k[b>>2]|0;if((d|0)==(k[a+20>>2]|0))dd(a+12|0,c);else{k[d>>2]=k[c>>2];k[b>>2]=d+4}k[e>>2]=0;k[c>>2]=0;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,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+32|0;s=y;t=y+24|0;q=y+28|0;w=y+8|0;o=y+20|0;v=k[a>>2]|0;x=v+8|0;c=k[v>>2]|0;v=k[v+4>>2]|0;x=jq(c|0,v|0,k[x>>2]|0,k[x+4>>2]|0)|0;m=L;m=jq((x|0)==0&(m|0)==0&1|0,0,x|0,m|0)|0;m=~~((+(c>>>0)+4294967296.0*+(v>>>0))/(+(m>>>0)+4294967296.0*+(L>>>0))*256.0+.5)>>>0;m=m>>>0<255?m:255;i[q>>0]=((m&255)<<24>>24==0&1)+m;m=a+12|0;v=a+16|0;c=((k[v>>2]|0)-(k[m>>2]|0)<<1)+64|0;k[w>>2]=0;x=w+4|0;k[x>>2]=0;k[w+8>>2]=0;if(!c)n=0;else{if((c|0)<0)yp(w);d=$p(c)|0;k[x>>2]=d;k[w>>2]=d;k[w+8>>2]=d+c;do{i[d>>0]=0;d=(k[x>>2]|0)+1|0;k[x>>2]=d;c=c+-1|0}while((c|0)!=0);n=k[w>>2]|0}p=a+28|0;c=(k[p>>2]|0)+-1|0;if((c|0)>-1){j=a+24|0;d=4096;e=0;do{h=i[q>>0]|0;f=256-(h&255)|0;g=(k[j>>2]&1<>>0>=h<<12>>>0){i[n+e>>0]=d;d=d>>>8;e=e+1|0}sq(k[800+(h<<3)>>2]|0,0,d|0,0)|0;d=d+(g?0:f&255)+(ha((L+d|0)>>>(k[800+(h<<3)+4>>2]|0),256-h|0)|0)|0;c=c+-1|0}while((c|0)>-1)}else{d=4096;e=0}c=k[v>>2]|0;if((c|0)==(k[m>>2]|0))f=d;else{do{c=c+-4|0;l=k[c>>2]|0;j=31;while(1){h=i[q>>0]|0;f=256-(h&255)|0;g=(1<>>0>=h<<12>>>0){i[n+e>>0]=d;d=d>>>8;e=e+1|0}sq(k[800+(h<<3)>>2]|0,0,d|0,0)|0;d=d+(g?0:f&255)+(ha((L+d|0)>>>(k[800+(h<<3)+4>>2]|0),256-h|0)|0)|0;if((j|0)>0)j=j+-1|0;else break}}while((c|0)!=(k[m>>2]|0));f=d}if(f>>>0<=4095)Aa(5456,5621,133,5477);if(f>>>0>=1048576)Aa(5491,5621,134,5477);d=f+-4096|0;do if(d>>>0>=64){c=n+e|0;if(d>>>0<16384){d=f+12288|0;i[c>>0]=d;i[c+1>>0]=d>>>8;d=e+2|0;break}else{d=f+8384512|0;i[c>>0]=d;i[c+1>>0]=d>>>8;i[c+2>>0]=d>>>16;d=e+3|0;break}}else{i[n+e>>0]=d;d=e+1|0}while(0);c=b+16|0;n=c;m=k[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(k[n>>2]|0)>>>0>0)){k[t>>2]=k[b+4>>2];k[s>>2]=k[t>>2];ed(b,s,q,q+1|0)|0;n=c;q=k[n>>2]|0;n=k[n+4>>2]|0;k[o>>2]=d;if(!((n|0)>0|(n|0)==0&q>>>0>0)){k[t>>2]=k[b+4>>2];k[s>>2]=k[t>>2];ed(b,s,o,o+4|0)|0;q=c;o=k[q+4>>2]|0;c=k[w>>2]|0;if(!((o|0)>0|(o|0)==0&(k[q>>2]|0)>>>0>0)){k[t>>2]=k[b+4>>2];k[s>>2]=k[t>>2];ed(b,s,c,c+d|0)|0}}else u=31}else{k[o>>2]=d;u=31}c=s;k[c>>2]=0;k[c+4>>2]=0;ld(a,2,s);c=k[a+12>>2]|0;d=k[v>>2]|0;if((d|0)!=(c|0))k[v>>2]=d+(~((d+-4-c|0)>>>2)<<2);k[a+24>>2]=0;k[p>>2]=0;c=k[w>>2]|0;if(!c){r=y;return}if((k[x>>2]|0)!=(c|0))k[x>>2]=c;Ip(c);r=y;return}function qd(a){a=a|0;i[a+12>>0]=0;return}function rd(a){a=a|0;return}function sd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;c=b+8|0;f=c;g=k[f>>2]|0;f=k[f+4>>2]|0;n=b+16|0;e=n;d=k[e>>2]|0;e=k[e+4>>2]|0;if((f|0)>(e|0)|(f|0)==(e|0)&g>>>0>d>>>0){i[a+12>>0]=i[(k[b>>2]|0)+d>>0]|0;h=n;h=jq(k[h>>2]|0,k[h+4>>2]|0,1,0)|0;j=L;g=n;k[g>>2]=h;k[g+4>>2]=j;g=c;c=k[g+4>>2]|0;g=k[g>>2]|0}else{h=d;j=e;c=f}e=jq(h|0,j|0,4,0)|0;d=L;b=k[b>>2]|0;f=b+h|0;if(!((c|0)<(d|0)|(c|0)==(d|0)&g>>>0>>0)){c=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;j=n;k[j>>2]=e;k[j+4>>2]=d;if((c|0)>=1){h=e;j=d;f=b+e|0;m=5}}else{c=0;m=5}a:do if((m|0)==5){k[a>>2]=f;d=c+-1|0;e=f+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[a+4>>2]=d;e=(l[e>>0]|0)&63;d=a+8|0;k[d>>2]=e;break}case 1:{if((c|0)<2){e=h;d=j;c=1;break a}k[a+4>>2]=c+-2;e=f+c+-2|0;e=(l[e+1>>0]|0)<<8&16128|(l[e>>0]|0);d=a+8|0;k[d>>2]=e;break}case 2:{if((c|0)<3){e=h;d=j;break a}k[a+4>>2]=c+-3;e=f+c+-3|0;e=(l[e+1>>0]|0)<<8|(l[e>>0]|0)|(l[e+2>>0]|0)<<16&4128768;d=a+8|0;k[d>>2]=e;break}default:{e=h;d=j;break a}}k[d>>2]=e+4096;e=h;d=j}while(0);m=jq(e|0,d|0,c|0,0)|0;k[n>>2]=m;k[n+4>>2]=L;return}function td(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;c=l[a+12>>0]|0;d=a+8|0;b=k[d>>2]|0;if(b>>>0<4096){f=a+4|0;e=(k[f>>2]|0)+-1|0;k[f>>2]=e;b=l[(k[a>>2]|0)+e>>0]|0|b<<8;k[d>>2]=b}a=b&255;c=0-c&255;e=ha(b>>>8,c)|0;f=a>>>0>>0;k[d>>2]=f?e+a|0:b-c-e|0;return f|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,i=0,j=0,m=0;if((b|0)>=33)Aa(10077,5436,146,10128);if((b|0)<=0)Aa(10141,5436,147,10128);f=a+8|0;g=a+4|0;h=0-(l[a+12>>0]|0)&255;e=b;d=k[f>>2]|0;b=0;do{if(d>>>0<4096){i=(k[g>>2]|0)+-1|0;k[g>>2]=i;d=l[(k[a>>2]|0)+i>>0]|0|d<<8;k[f>>2]=d}m=d&255;j=ha(d>>>8,h)|0;i=m>>>0>>0;d=i?j+m|0:d-h-j|0;k[f>>2]=d;b=i&1|b<<1;e=e+-1|0}while((e|0)!=0);k[c>>2]=b;return}function vd(a){a=a|0;p[a+16>>3]=.5;return}function wd(a){a=a|0;p[a+16>>3]=.5;return}function xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;p[a+16>>3]=.5;m=b+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;i=b+16|0;g=i;f=k[g>>2]|0;g=k[g+4>>2]|0;d=jq(f|0,g|0,4,0)|0;c=L;e=k[b>>2]|0;b=e+f|0;if(!((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0)){b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;m=i;k[m>>2]=d;k[m+4>>2]=c;if((b|0)>=1){e=e+d|0;f=d;g=c;h=3}}else{e=b;b=0;h=3}a:do if((h|0)==3){k[a>>2]=e;c=b+-1|0;d=e+c|0;switch((l[d>>0]|0)>>>6|0){case 0:{k[a+4>>2]=c;d=(l[d>>0]|0)&63;c=a+8|0;k[c>>2]=d;break}case 1:{if((b|0)<2){d=f;c=g;b=1;break a}k[a+4>>2]=b+-2;d=e+b+-2|0;d=(l[d+1>>0]|0)<<8&16128|(l[d>>0]|0);c=a+8|0;k[c>>2]=d;break}case 2:{if((b|0)<3){d=f;c=g;break a}k[a+4>>2]=b+-3;d=e+b+-3|0;d=(l[d+1>>0]|0)<<8|(l[d>>0]|0)|(l[d+2>>0]|0)<<16&4128768;c=a+8|0;k[c>>2]=d;break}default:{d=f;c=g;break a}}k[c>>2]=d+4096;d=f;c=g}while(0);j=jq(d|0,c|0,b|0,0)|0;m=i;k[m>>2]=j;k[m+4>>2]=L;return}function yd(a){a=a|0;var b=0,c=0,d=0.0,e=0,f=0,g=0,h=0,i=0;c=a+16|0;d=+p[c>>3];if(!(d<=1.0))Aa(5521,5534,22,5563);if(!(d>=0.0))Aa(5581,5534,23,5563);f=~~(d*256.0+.5)>>>0;g=(f|0)==256;e=a+8|0;b=k[e>>2]|0;if(b>>>0<4096){i=a+4|0;h=(k[i>>2]|0)+-1|0;k[i>>2]=h;b=l[(k[a>>2]|0)+h>>0]|0|b<<8;k[e>>2]=b}a=b&255;g=0-(f+(g<<31>>31)+((f|0)==(g&1|0)&1))&255;h=ha(b>>>8,g)|0;i=a>>>0>>0;k[e>>2]=i?h+a|0:b-g-h|0;p[c>>3]=d*.9921875+ +(i&1^1|0)*.0078125;return i|0}function zd(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 Ad(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;m=a+8|0;f=k[m>>2]|0;n=a+4|0;d=k[n>>2]|0;g=d;if(f-d>>2>>>0>=b>>>0){d=b;e=g;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[n>>2]=g+(b<<2);return}l=k[a>>2]|0;e=(d-l>>2)+b|0;if(e>>>0>1073741823)yp(a);d=f-l|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[n>>2]|0;e=f-l>>2;if(!d){i=0;d=0;h=f}else j=9}else{e=k[n>>2]|0;d=1073741823;f=e;e=e-l>>2;j=9}if((j|0)==9){i=d;d=$p(d<<2)|0;h=f}g=d+(e<<2)|0;e=d+(i<<2)|0;d=b;f=g;while(1){k[f>>2]=k[c>>2];d=d+-1|0;if(!d)break;else f=f+4|0}j=h-l|0;c=g+(0-(j>>2)<<2)|0;lq(c|0,l|0,j|0)|0;k[a>>2]=c;k[n>>2]=g+(b<<2);k[m>>2]=e;if(!l)return;Ip(l);return}function Bd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)yp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Ip(i);return}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,j=0,l=0;i=r;r=r+32|0;h=i+16|0;c=i+8|0;d=i;e=a+8|0;if(k[e>>2]<<5>>>0>=b>>>0){r=i;return}k[h>>2]=0;f=h+4|0;k[f>>2]=0;g=h+8|0;k[g>>2]=0;if((b|0)<0)yp(h);l=((b+-1|0)>>>5)+1|0;b=$p(l<<2)|0;k[h>>2]=b;k[f>>2]=0;k[g>>2]=l;l=k[a>>2]|0;k[c>>2]=l;k[c+4>>2]=0;b=a+4|0;j=k[b>>2]|0;k[d>>2]=l+(j>>>5<<2);k[d+4>>2]=j&31;Dd(h,c,d);c=k[a>>2]|0;k[a>>2]=k[h>>2];k[h>>2]=c;a=k[b>>2]|0;k[b>>2]=k[f>>2];k[f>>2]=a;a=k[e>>2]|0;k[e>>2]=k[g>>2];k[g>>2]=a;if(c|0)Ip(c);r=i;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=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+32|0;j=o+24|0;l=o+16|0;m=o+8|0;n=o;f=a+4|0;p=k[f>>2]|0;e=k[b>>2]|0;d=k[b+4>>2]|0;i=k[c>>2]|0;g=k[c+4>>2]|0;h=i-e<<3;k[f>>2]=p-d+g+h;f=(k[a>>2]|0)+(p>>>5<<2)|0;c=p&31;b=f;if((d|0)!=(c|0)){k[j>>2]=e;k[j+4>>2]=d;k[l>>2]=i;k[l+4>>2]=g;k[m>>2]=b;k[m+4>>2]=c;Ed(n,j,l,m);r=o;return}a=g-d+h|0;c=e;if((a|0)>0){if(!d){d=0;g=c;b=a}else{g=32-d|0;b=(a|0)<(g|0)?a:g;g=-1>>>(g-b|0)&-1<>2]=k[f>>2]&~g|k[c>>2]&g;d=b+d|0;g=c+4|0;f=f+(d>>>5<<2)|0;d=d&31;e=g;b=a-b|0}a=b>>>5;mq(f|0,e|0,a<<2|0)|0;c=b-(a<<5)|0;e=f+(a<<2)|0;b=e;if((c|0)>0){d=-1>>>(32-c|0);k[e>>2]=k[e>>2]&~d|k[g+(a<<2)>>2]&d;d=c}}k[n>>2]=b;k[n+4>>2]=d;r=o;return}function Ed(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;m=k[b>>2]|0;l=b+4|0;e=k[l>>2]|0;h=((k[c>>2]|0)-m<<3)+(k[c+4>>2]|0)-e|0;c=m;if((h|0)<=0){b=d+4|0;d=k[d>>2]|0;k[a>>2]=d;a=a+4|0;d=k[b>>2]|0;k[a>>2]=d;return}if(!e){e=d+4|0;j=e;e=k[e>>2]|0}else{j=32-e|0;m=(h|0)<(j|0)?h:j;c=-1>>>(j-m|0)&-1<>2];j=d+4|0;n=k[j>>2]|0;e=32-n|0;f=e>>>0>>0?e:m;g=k[d>>2]|0;n=k[g>>2]&~(-1>>>(e-f|0)&-1<>2]=n;e=k[j>>2]|0;i=k[l>>2]|0;k[g>>2]=n|(e>>>0>i>>>0?c<>>(i-e|0));e=(k[j>>2]|0)+f|0;g=g+(e>>>5<<2)|0;k[d>>2]=g;e=e&31;k[j>>2]=e;i=m-f|0;if((i|0)>0){e=k[g>>2]&~(-1>>>(32-i|0));k[g>>2]=e;k[g>>2]=e|c>>>((k[l>>2]|0)+f|0);k[j>>2]=i;e=i}c=(k[b>>2]|0)+4|0;k[b>>2]=c;h=h-m|0}i=32-e|0;f=-1<>>0>31){g=~f;e=h;do{n=k[c>>2]|0;c=k[d>>2]|0;m=k[c>>2]&g;k[c>>2]=m;k[c>>2]=m|n<>2];c=c+4|0;k[d>>2]=c;k[c>>2]=k[c>>2]&f|n>>>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|0)<=0){b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;a=k[b>>2]|0;k[n>>2]=a;return}f=k[c>>2]&-1>>>(32-h|0);g=(i|0)<(h|0)?i:h;e=k[d>>2]|0;c=k[e>>2]&~(-1<>2]&-1>>>(i-g|0));k[e>>2]=c;k[e>>2]=c|f<>2];c=(k[j>>2]|0)+g|0;e=e+(c>>>5<<2)|0;k[d>>2]=e;k[j>>2]=c&31;c=h-g|0;if((c|0)<=0){b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;a=k[b>>2]|0;k[n>>2]=a;return}k[e>>2]=k[e>>2]&~(-1>>>(32-c|0))|f>>>g;k[j>>2]=c;b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;a=k[b>>2]|0;k[n>>2]=a;return}function Fd(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}d=k[a>>2]|0;if(!d)return;b=a+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~(((c+-12-d|0)>>>0)/12|0)*12|0);Ip(d);return}function Gd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;Hd(a,b,2852);e=b*3|0;Id(a+12|0,e,2848);f=a+24|0;g=a+32|0;h=k[f>>2]|0;if((k[g>>2]|0)-h>>2>>>0>=e>>>0)return;d=a+28|0;c=(k[d>>2]|0)-h|0;a=c>>2;if(!b)b=0;else b=$p(b*12|0)|0;i=b+(a<<2)|0;j=i+(0-a<<2)|0;a=h;lq(j|0,a|0,c|0)|0;k[f>>2]=j;k[d>>2]=i;k[g>>2]=b+(e<<2);if(!h)return;Ip(a);return}function Hd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;i=a+8|0;d=k[i>>2]|0;g=k[a>>2]|0;m=g;if(((d-g|0)/12|0)>>>0>=b>>>0){l=a+4|0;j=k[l>>2]|0;f=(j-g|0)/12|0;g=f>>>0>>0;d=g?f:b;a=j;if(d|0){h=c+4|0;i=c+8|0;e=m;while(1){k[e>>2]=k[c>>2];k[e+4>>2]=k[h>>2];k[e+8>>2]=k[i>>2];d=d+-1|0;if(!d)break;else e=e+12|0}}if(g){d=b-f|0;b=j;do{k[b>>2]=k[c>>2];k[b+4>>2]=k[c+4>>2];k[b+8>>2]=k[c+8>>2];b=(k[l>>2]|0)+12|0;k[l>>2]=b;d=d+-1|0}while((d|0)!=0);return}b=m+(b*12|0)|0;if((a|0)==(b|0))return;k[l>>2]=a+(~(((a+-12-b|0)>>>0)/12|0)*12|0);return}f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(m|0))k[d>>2]=e+(~(((e+-12-g|0)>>>0)/12|0)*12|0);Ip(f);k[i>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}f=b>>>0>357913941;if(f)yp(a);d=(d-0|0)/12|0;if(d>>>0<178956970){e=d<<1;d=e>>>0>=b>>>0;if(d|f^1)h=d?e:b;else yp(a)}else h=357913941;d=$p(h*12|0)|0;e=a+4|0;k[e>>2]=d;k[a>>2]=d;k[i>>2]=d+(h*12|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[e>>2]|0)+12|0;k[e>>2]=d;b=b+-1|0}while((b|0)!=0);return}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;i=a+8|0;d=k[i>>2]|0;g=k[a>>2]|0;j=g;if(d-g>>2>>>0>=b>>>0){i=a+4|0;h=k[i>>2]|0;f=h-g>>2;g=f>>>0>>0;d=g?f:b;if(d|0){e=j;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(g){e=b-f|0;d=e;f=h;while(1){k[f>>2]=k[c>>2];d=d+-1|0;if(!d)break;else f=f+4|0}k[i>>2]=h+(e<<2);return}else{d=j+(b<<2)|0;if((h|0)==(d|0))return;k[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);return}}f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(j|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);Ip(f);k[i>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(b>>>0>1073741823)yp(a);d=d-0|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?b:d;if(d>>>0>1073741823)yp(a);else h=d}else h=1073741823;f=$p(h<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[i>>2]=f+(h<<2);d=b;e=f;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[g>>2]=f+(b<<2);return}function Jd(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 Kd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;if((a|0)<0){c=0;return c|0}if(!a){c=1;return c|0}h=c+8|0;j=k[h+4>>2]|0;g=c+16|0;f=g;e=k[f>>2]|0;f=k[f+4>>2]|0;if(!((j|0)>(f|0)|((j|0)==(f|0)?(k[h>>2]|0)>>>0>e>>>0:0))){j=0;return j|0}j=i[(k[c>>2]|0)+e>>0]|0;f=jq(e|0,f|0,1,0)|0;h=g;k[h>>2]=f;k[h+4>>2]=L;switch(j<<24>>24){case 0:{j=Ld(a,b,c,d)|0;return j|0}case 1:{j=Pd(a,c,d)|0;return j|0}default:{j=0;return j|0}}return 0}function Ld(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+64|0;E=F;e=E;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a:do if(Md(E,c)|0){C=c+8|0;D=k[C>>2]|0;C=k[C+4>>2]|0;o=c+16|0;g=o;e=k[g>>2]|0;g=k[g+4>>2]|0;f=jq(e|0,g|0,8,0)|0;h=L;m=k[c>>2]|0;if((C|0)<(h|0)|(C|0)==(h|0)&D>>>0>>0){n=0;j=0;f=g}else{j=m+e|0;n=j;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+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=o;k[e>>2]=f;k[e+4>>2]=h;e=f;f=h}g=m+e|0;C=jq(n|0,j|0,e|0,f|0)|0;D=o;k[D>>2]=C;k[D+4>>2]=L;b:do if((n|0)>=1){k[E+40>>2]=g;e=n+-1|0;f=g+e|0;switch((l[f>>0]|0)>>>6|0){case 0:{k[E+44>>2]=e;q=l[f>>0]&63;p=E+48|0;k[p>>2]=q;break}case 1:{if((n|0)<2)break b;k[E+44>>2]=n+-2;q=g+n+-2|0;q=l[q+1>>0]<<8&16128|l[q>>0];p=E+48|0;k[p>>2]=q;break}case 2:{if((n|0)<3)break b;k[E+44>>2]=n+-3;q=g+n+-3|0;q=l[q+1>>0]<<8|l[q>>0]|l[q+2>>0]<<16&4128768;p=E+48|0;k[p>>2]=q;break}case 3:{k[E+44>>2]=n+-4;q=g+n+-4|0;q=l[q+2>>0]<<16|l[q+3>>0]<<24&1056964608|l[q+1>>0]<<8|l[q>>0];p=E+48|0;k[p>>2]=q;break}default:{}}k[p>>2]=q+16384}while(0);Qg(c,0,0)|0;c:do if((a|0)>0){t=E+48|0;u=E+44|0;v=E+40|0;w=E+16|0;x=E+28|0;y=(b|0)>0;D=c+36|0;z=c+32|0;A=c+24|0;B=c+28|0;f=k[t>>2]|0;C=0;e=0;while(1){d:do if(f>>>0<16384){g=k[u>>2]|0;do{if((g|0)<=0)break d;g=g+-1|0;k[u>>2]=g;f=l[(k[v>>2]|0)+g>>0]|f<<8;k[t>>2]=f}while(f>>>0<16384)}while(0);p=f&4095;s=k[(k[w>>2]|0)+(p<<2)>>2]|0;q=k[x>>2]|0;f=(ha(k[q+(s<<3)>>2]|0,f>>>12)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[t>>2]=f;if(y){p=(s|0)>0;if((s|0)<=-1){e=31;break}if((s|0)<33){q=0;o=e}else{e=30;break}while(1){if(!(i[D>>0]|0)){j=0;break a}if(p){j=k[A>>2]|0;m=k[B>>2]|0;h=k[z>>2]|0;n=0;g=0;do{e=j+(h>>>3)|0;if(e>>>0>>0){e=(l[e>>0]|0)>>>(h&7)&1;h=h+1|0;k[z>>2]=h}else e=0;g=e<>2]=g;q=q+1|0;if((q|0)>=(b|0))break;else o=e}}C=C+b|0;if((C|0)>=(a|0))break c}if((e|0)==30){if(!(i[D>>0]|0)){j=0;break a}Aa(5701,5674,115,5693)}else if((e|0)==31){if(!(i[D>>0]|0)){j=0;break a}Aa(5659,5674,114,5693)}}while(0);Rg(c);j=1}else j=0;while(0);e=k[E+28>>2]|0;f=e;if(e|0){g=E+32|0;h=k[g>>2]|0;if((h|0)!=(e|0))k[g>>2]=h+(~((h+-8-f|0)>>>3)<<3);Ip(e)}e=k[E+16>>2]|0;f=e;if(e|0){g=E+20|0;h=k[g>>2]|0;if((h|0)!=(e|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);Ip(e)}g=k[E>>2]|0;if(!g){r=F;return j|0}e=E+4|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-g|0)>>>2)<<2);Ip(g);r=F;return j|0}function Md(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);Nd(a+16|0,d,c);r=1;return r|0}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,i=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=4096){if(f>>>0>4096?(e=g+16384|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else id(a,4096-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Od(d,c-f|0);if(!c)Aa(5594,5621,484,5634);f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if((h|0)==(c|0))break;else e=d}if((d|0)==4096)return;else Aa(5594,5621,484,5634)}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;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>3>>>0>=b>>>0){do{a=c;k[a>>2]=0;k[a+4>>2]=0;c=(k[i>>2]|0)+8|0;k[i>>2]=c;b=b+-1|0}while((b|0)!=0);return}f=k[a>>2]|0;e=(c-f>>3)+b|0;if(e>>>0>536870911)yp(a);c=d-f|0;if(c>>3>>>0<268435455){c=c>>2;c=c>>>0>>0?e:c;d=(k[i>>2]|0)-f>>3;if(!c){f=0;e=0;c=d}else g=9}else{c=536870911;d=(k[i>>2]|0)-f>>3;g=9}if((g|0)==9){f=c;e=$p(c<<3)|0;c=d}g=e+(c<<3)|0;e=e+(f<<3)|0;d=g;c=g;do{f=d;k[f>>2]=0;k[f+4>>2]=0;d=c+8|0;c=d;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;f=(k[i>>2]|0)-b|0;g=g+(0-(f>>3)<<3)|0;lq(g|0,b|0,f|0)|0;k[a>>2]=g;k[i>>2]=c;k[h>>2]=e;if(!b)return;Ip(b);return}function Pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=b+8|0;h=k[g+4>>2]|0;f=b+16|0;e=f;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((h|0)>(e|0)|((h|0)==(e|0)?(k[g>>2]|0)>>>0>d>>>0:0))){h=0;return h|0}h=i[(k[b>>2]|0)+d>>0]|0;e=jq(d|0,e|0,1,0)|0;g=f;k[g>>2]=e;k[g+4>>2]=L;do switch(h&255|0){case 1:{h=Qd(a,b,c)|0;return h|0}case 2:{h=Sd(a,b,c)|0;return h|0}case 3:{h=Ud(a,b,c)|0;return h|0}case 4:{h=Wd(a,b,c)|0;return h|0}case 5:{h=Yd(a,b,c)|0;return h|0}case 6:{h=Zd(a,b,c)|0;return h|0}case 7:{h=$d(a,b,c)|0;return h|0}case 8:{h=be(a,b,c)|0;return h|0}case 9:{h=de(a,b,c)|0;return h|0}case 10:{h=ge(a,b,c)|0;return h|0}case 11:{h=je(a,b,c)|0;return h|0}case 12:{h=me(a,b,c)|0;return h|0}case 13:{h=pe(a,b,c)|0;return h|0}case 14:{h=se(a,b,c)|0;return h|0}case 15:{h=ve(a,b,c)|0;return h|0}case 16:{h=xe(a,b,c)|0;return h|0}case 17:{h=ze(a,b,c)|0;return h|0}case 18:{h=Be(a,b,c)|0;return h|0}default:{h=0;return h|0}}while(0);return 0}function Qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(Rd(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+16384}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<16384)}while(0);e=d&4095;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>12)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function Rd(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;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);Nd(a+16|0,d,c);r=1;return r|0}function Sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(Td(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+16384}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<16384)}while(0);e=d&4095;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>12)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|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,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);Nd(a+16|0,d,c);r=1;return r|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,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(Vd(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+16384}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<16384)}while(0);e=d&4095;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>12)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function Vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);Nd(a+16|0,d,c);r=1;return r|0}function Wd(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;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(Xd(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+16384}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<16384)}while(0);e=d&4095;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>12)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|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,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);Nd(a+16|0,d,c);r=1;return r|0}function Yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(Md(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+16384}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<16384)}while(0);e=d&4095;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>12)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function Zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(_d(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+16384}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<16384)}while(0);e=d&4095;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>12)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function _d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);Nd(a+16|0,d,c);r=1;return r|0}function $d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(ae(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+16384}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<16384)}while(0);e=d&4095;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>12)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);Nd(a+16|0,d,c);r=1;return r|0}function be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(ce(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+16384}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<16384)}while(0);e=d&4095;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>12)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);Nd(a+16|0,d,c);r=1;return r|0}function de(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;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(ee(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+32768}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<32768){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<32768)}while(0);e=d&8191;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>13)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function ee(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);fe(a+16|0,d,c);r=1;return r|0}function fe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=8192){if(f>>>0>8192?(e=g+32768|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else id(a,8192-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Od(d,c-f|0);if(!c)Aa(5594,5621,484,5634);f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if((h|0)==(c|0))break;else e=d}if((d|0)==8192)return;else Aa(5594,5621,484,5634)}function ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(he(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+131072}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<131072){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<131072)}while(0);e=d&32767;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>15)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function he(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;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);ie(a+16|0,d,c);r=1;return r|0}function ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=32768){if(f>>>0>32768?(e=g+131072|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else id(a,32768-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Od(d,c-f|0);if(!c)Aa(5594,5621,484,5634);f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if((h|0)==(c|0))break;else e=d}if((d|0)==32768)return;else Aa(5594,5621,484,5634)}function je(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;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(ke(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+262144}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<262144){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<262144)}while(0);e=d&65535;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>16)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0} -function ii(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+16|0;y=A+4|0;z=A;k[a+72>>2]=e;k[a+64>>2]=f;x=a+68|0;w=bq(e>>>0>1073741823?-1:e<<2)|0;f=k[x>>2]|0;k[x>>2]=w;if(f|0)cq(f);w=a+8|0;k[w>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;i=1;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;v=1-g+f|0;k[a+20>>2]=v;f=(v|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(v&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Wg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=a+56|0;h=k[o>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;if((i|0)<=0){r=A;return 1}p=a+16|0;q=a+32|0;s=a+12|0;t=a+28|0;u=a+20|0;v=a+24|0;j=g;g=(i>>2)+-1|0;while(1){if(j-f>>2>>>0<=g>>>0){f=22;break}k[z>>2]=k[f+(g<<2)>>2];k[y>>2]=k[z>>2];ji(a,y,b,g);n=ha(g,e)|0;m=b+(n<<2)|0;l=k[x>>2]|0;if((k[w>>2]|0)>0){d=0;do{j=k[l+(d<<2)>>2]|0;f=k[p>>2]|0;do if((j|0)<=(f|0)){f=k[s>>2]|0;h=k[q>>2]|0;i=h+(d<<2)|0;if((j|0)<(f|0)){k[i>>2]=f;break}else{k[i>>2]=j;break}}else{h=k[q>>2]|0;k[h+(d<<2)>>2]=f}while(0);d=d+1|0;f=k[w>>2]|0}while((d|0)<(f|0));i=h;if((f|0)>0){h=0;do{k[c+(h+n<<2)>>2]=(k[m+(h<<2)>>2]|0)-(k[i+(h<<2)>>2]|0);h=h+1|0;f=k[w>>2]|0}while((h|0)<(f|0));if((f|0)>0){i=0;do{f=c+(i+n<<2)|0;h=k[f>>2]|0;if((h|0)>=(k[t>>2]|0)){if((h|0)>(k[v>>2]|0))k[f>>2]=h-(k[u>>2]|0)}else k[f>>2]=(k[u>>2]|0)+h;i=i+1|0}while((i|0)<(k[w>>2]|0))}}}g=g+-1|0;if((g|0)<=-1){f=19;break}h=k[o>>2]|0;f=k[h>>2]|0;j=k[h+4>>2]|0}if((f|0)==19){r=A;return 1}else if((f|0)==22)zp(h);return 0}function ji(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;i=a+48|0;e=k[b>>2]|0;do if((e|0)>=0){b=e+1|0;b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e|0)%3|0)){g=e+2|0;break}else{g=e+-1|0;break}}else{g=e;b=e}while(0);e=k[(k[i>>2]|0)+28>>2]|0;b=k[e+(b<<2)>>2]|0;e=k[e+(g<<2)>>2]|0;g=k[a+52>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)zp(g);n=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=e>>>0)zp(g);e=k[j+(e<<2)>>2]|0;b=(n|0)<(d|0);if(!(b&(e|0)<(d|0))){do if(b){i=a+72|0;g=k[i>>2]|0;b=g;g=ha(g,n)|0}else{if((d|0)>0){i=a+72|0;g=k[i>>2]|0;b=g;g=ha(g,d+-1|0)|0;break}g=a+72|0;if((k[g>>2]|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+g<<2)>>2];e=e+1|0}while((e|0)<(k[i>>2]|0));r=t;return}b=a+72|0;j=k[b>>2]|0;i=ha(j,n)|0;f=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);j=ha(j,e)|0;l=+(k[c+(j<<2)>>2]|0);m=+(k[c+(j+1<<2)>>2]|0);if(!(l!=f|m!=h)){a=k[a+68>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~m;r=t;return}ki(s,a,d);ki(p,a,n);ki(q,a,e);B=+o[p>>2];x=+o[q>>2]-B;A=+o[p+4>>2];w=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=x*x+0.0+w*w+y*y;u=(x*B+0.0+w*A+y*z)/v;x=B-x*u;w=A-w*u;y=z-y*u;v=+X(+((y*y+(w*w+(x*x+0.0)))/v));x=l-f;w=m-h;l=f+x*u;m=x*v;u=h+w*u;v=w*v;h=l-v;f=m+u;l=v+l;m=u-m;i=ha(k[b>>2]|0,d)|0;u=+(k[c+(i<<2)>>2]|0);v=+(k[c+(i+1<<2)>>2]|0);w=u-h;x=v-f;u=u-l;v=v-m;i=a+76|0;j=a+80|0;b=k[j>>2]|0;e=k[a+84>>2]|0;g=(b|0)==(e<<5|0);if(x*x+(w*w+0.0)>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Cd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31)}else{if(g){if((b+1|0)<0)yp(i);if(e<<5>>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Cd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(b&31));h=l;f=m}c=~~+V(+(h+.5));a=k[a+68>>2]|0;k[a>>2]=c;c=~~+V(+(f+.5));k[a+4>>2]=c;r=t;return}function ki(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+64>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+60>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];Bc(b,d,a)|0;r=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];Ic(b,d,a)|0;r=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];Pc(b,d,a)|0;r=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];Wc(b,d,a)|0;r=j;return}default:{r=j;return}}}function li(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+16|0;w=y+4|0;x=y;k[a+72>>2]=e;k[a+64>>2]=f;v=a+68|0;u=bq(e>>>0>1073741823?-1:e<<2)|0;d=k[v>>2]|0;k[v>>2]=u;if(d|0)cq(d);u=a+8|0;k[u>>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 Wg(d,e-g|0);o=a+56|0;t=k[o>>2]|0;d=k[t>>2]|0;if((k[t+4>>2]|0)==(d|0)){r=y;return 1}p=a+16|0;q=a+32|0;s=a+12|0;t=a+20|0;n=0;do{k[x>>2]=k[d+(n<<2)>>2];k[w>>2]=k[x>>2];mi(a,w,c,n);l=ha(n,e)|0;i=k[v>>2]|0;m=c+(l<<2)|0;if((k[u>>2]|0)>0){j=0;do{h=k[i+(j<<2)>>2]|0;d=k[p>>2]|0;do if((h|0)<=(d|0)){d=k[s>>2]|0;f=k[q>>2]|0;g=f+(j<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[q>>2]|0;k[f+(j<<2)>>2]=d}while(0);j=j+1|0;d=k[u>>2]|0}while((j|0)<(d|0));g=f;if((d|0)>0){f=0;do{k[m+(f<<2)>>2]=(k[b+(f+l<<2)>>2]|0)+(k[g+(f<<2)>>2]|0);f=f+1|0;d=k[u>>2]|0}while((f|0)<(d|0));if((d|0)>0){g=0;do{d=m+(g<<2)|0;f=k[d>>2]|0;if((f|0)<=(k[p>>2]|0)){if((f|0)<(k[s>>2]|0))k[d>>2]=(k[t>>2]|0)+f}else k[d>>2]=f-(k[t>>2]|0);g=g+1|0}while((g|0)<(k[u>>2]|0))}}}n=n+1|0;m=k[o>>2]|0;d=k[m>>2]|0}while(n>>>0<(k[m+4>>2]|0)-d>>2>>>0);r=y;return 1}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.0,i=0,j=0.0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;g=a+48|0;e=k[b>>2]|0;do if((e|0)>=0){b=e+1|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);e=k[(k[g>>2]|0)+28>>2]|0;b=k[e+(b<<2)>>2]|0;e=k[e+(f<<2)>>2]|0;f=k[a+52>>2]|0;g=k[f+4>>2]|0;i=k[f>>2]|0;if(g-i>>2>>>0<=b>>>0)zp(f);n=k[i+(b<<2)>>2]|0;if(g-i>>2>>>0<=e>>>0)zp(f);e=k[i+(e<<2)>>2]|0;b=(n|0)<(d|0);if(b&(e|0)<(d|0)){i=k[a+72>>2]|0;g=ha(i,n)|0;j=+(k[c+(g<<2)>>2]|0);l=+(k[c+(g+1<<2)>>2]|0);i=ha(i,e)|0;m=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);if(m!=j|h!=l){ki(s,a,d);ki(p,a,n);ki(q,a,e);B=+o[p>>2];w=+o[q>>2]-B;A=+o[p+4>>2];x=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=w*w+0.0+x*x+y*y;u=(w*B+0.0+x*A+y*z)/v;w=B-w*u;x=A-x*u;y=z-y*u;v=+X(+((y*y+(x*x+(w*w+0.0)))/v));w=m-j;h=h-l;m=w*v;v=h*v;d=a+80|0;s=(k[d>>2]|0)+-1|0;c=(1<<(s&31)&k[(k[a+76>>2]|0)+(s>>>5<<2)>>2]|0)==0;k[d>>2]=s;d=~~+V(+(j+w*u+(c?v:-v)+.5));a=k[a+68>>2]|0;k[a>>2]=d;c=~~+V(+(l+h*u+(c?-m:m)+.5));k[a+4>>2]=c;r=t;return}else{a=k[a+68>>2]|0;k[a>>2]=~~m;k[a+4>>2]=~~h;r=t;return}}do if(b){g=a+72|0;f=k[g>>2]|0;b=f;f=ha(f,n)|0}else{if((d|0)>0){g=a+72|0;f=k[g>>2]|0;b=f;f=ha(f,d+-1|0)|0;break}f=a+72|0;if((k[f>>2]|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[f>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+f<<2)>>2];e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}function ni(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;switch(a|0){case 1:{a=$p(60)|0;k[a>>2]=3168;k[a+4>>2]=b;k[a+8>>2]=k[c>>2];b=a+12|0;e=c+4|0;k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];Ph(a+32|0,c+24|0);c=a+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[a>>2]=3424;c=a;return c|0}case 2:{e=$p(60)|0;k[e>>2]=3168;k[e+4>>2]=b;k[e+8>>2]=k[c>>2];a=e+12|0;b=c+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[a+16>>2]=k[b+16>>2];Ph(e+32|0,c+24|0);c=e+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[e>>2]=3488;return e|0}case 3:{e=$p(88)|0;k[e>>2]=3168;k[e+4>>2]=b;k[e+8>>2]=k[c>>2];a=e+12|0;b=c+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[a+16>>2]=k[b+16>>2];Ph(e+32|0,c+24|0);c=e+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[e>>2]=3552;c=e+60|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;k[c+24>>2]=0;return e|0}default:{e=0;return e|0}}return 0}function oi(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Ip(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);Ip(b);Ip(a);return}function pi(a){a=a|0;return 1}function qi(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 ri(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=a+8|0;k[G>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;i=1;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;E=1-g+f|0;k[a+20>>2]=E;f=(E|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(E&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Wg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=e>>>0>1073741823?-1:e<<2;E=bq(o)|0;hq(E|0,0,o|0)|0;o=k[a+48>>2]|0;p=a+56|0;h=k[p>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;a:do if((i|0)>4){q=k[a+52>>2]|0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=o+12|0;y=(e|0)>0;m=i>>2;while(1){n=m+-1|0;if(g-f>>2>>>0<=n>>>0)break;f=k[f+(n<<2)>>2]|0;if((f|0)>=0?(z=k[(k[x>>2]|0)+(f<<2)>>2]|0,(z|0)>-1):0){h=k[o>>2]|0;g=(z|0)%3|0;i=k[q>>2]|0;l=k[i+(k[h+(((z|0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;f=z+1|0;f=((f|0)%3|0|0)==0?z+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;j=k[i+(f<<2)>>2]|0;f=((g|0)==0?2:-1)+z|0;if((f|0)<0)f=-1073741824;else f=k[h+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;d=ha(n,e)|0;if((l|0)<(n|0)&(j|0)<(n|0)&(f|0)<(n|0)){i=ha(l,e)|0;h=ha(j,e)|0;f=ha(f,e)|0;if(y){g=0;do{k[E+(g<<2)>>2]=(k[b+(g+f<<2)>>2]|0)+(k[b+(g+h<<2)>>2]|0)-(k[b+(g+i<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}l=b+(d<<2)|0;if((k[G>>2]|0)>0){j=0;do{i=k[E+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[s>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[G>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+d<<2)>>2]=(k[l+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[G>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+d<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[u>>2]|0)){if((g|0)>(k[w>>2]|0))k[f>>2]=g-(k[v>>2]|0)}else k[f>>2]=(k[v>>2]|0)+g;h=h+1|0}while((h|0)<(k[G>>2]|0))}}}}else{B=d;D=30}}else{B=ha(n,e)|0;D=30}if((D|0)==30?(D=0,A=b+(B<<2)|0,C=b+((ha(m+-2|0,e)|0)<<2)|0,(k[G>>2]|0)>0):0){j=0;do{i=k[C+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[s>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[G>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+B<<2)>>2]=(k[A+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[G>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+B<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[u>>2]|0)){if((g|0)>(k[w>>2]|0))k[f>>2]=g-(k[v>>2]|0)}else k[f>>2]=(k[v>>2]|0)+g;h=h+1|0}while((h|0)<(k[G>>2]|0))}}}if((n|0)<=1){F=E;break a}h=k[p>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0;m=n}zp(h)}else F=E;while(0);if((e|0)>0)hq(E|0,0,e<<2|0)|0;if((k[G>>2]|0)<=0){cq(E);return 1}j=a+16|0;l=a+32|0;d=a+12|0;m=0;do{i=k[F+(m<<2)>>2]|0;f=k[j>>2]|0;do if((i|0)<=(f|0)){f=k[d>>2]|0;h=k[l>>2]|0;g=h+(m<<2)|0;if((i|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=i;break}}else{h=k[l>>2]|0;k[h+(m<<2)>>2]=f}while(0);m=m+1|0;f=k[G>>2]|0}while((m|0)<(f|0));if((f|0)>0)g=0;else{cq(E);return 1}do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)-(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[G>>2]|0}while((g|0)<(f|0));if((f|0)<=0){cq(E);return 1}j=a+28|0;l=a+20|0;f=a+24|0;i=0;do{g=c+(i<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[j>>2]|0)){if((h|0)>(k[f>>2]|0))k[g>>2]=h-(k[l>>2]|0)}else k[g>>2]=(k[l>>2]|0)+h;i=i+1|0}while((i|0)<(k[G>>2]|0));cq(E);return 1}function si(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;y=a+8|0;k[y>>2]=e;f=a+32|0;d=a+36|0;i=k[d>>2]|0;h=k[f>>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[d>>2]=i+(~((i+-4-j|0)>>>2)<<2);f=e}else f=e;else{Wg(f,e-g|0);f=k[y>>2]|0}v=k[a+48>>2]|0;w=k[a+52>>2]|0;u=e>>>0>1073741823?-1:e<<2;x=bq(u)|0;hq(x|0,0,u|0)|0;if((f|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{h=k[x+(j<<2)>>2]|0;f=k[l>>2]|0;do if((h|0)<=(f|0)){f=k[m>>2]|0;d=k[i>>2]|0;g=d+(j<<2)|0;if((h|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=h;break}}else{d=k[i>>2]|0;k[d+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[y>>2]|0}while((j|0)<(f|0));g=d;if((f|0)>0){d=0;do{k[c+(d<<2)>>2]=(k[b+(d<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[y>>2]|0}while((d|0)<(f|0));if((f|0)>0){g=a+20|0;h=0;do{f=c+(h<<2)|0;d=k[f>>2]|0;if((d|0)<=(k[l>>2]|0)){if((d|0)<(k[m>>2]|0))k[f>>2]=(k[g>>2]|0)+d}else k[f>>2]=d-(k[g>>2]|0);h=h+1|0;f=k[y>>2]|0}while((h|0)<(f|0))}}}r=k[a+56>>2]|0;d=k[r>>2]|0;r=(k[r+4>>2]|0)-d>>2;if(r>>>0<=1){cq(x);return 1}s=a+16|0;t=a+32|0;u=a+12|0;o=a+20|0;p=v+12|0;q=(e|0)>0;n=1;do{g=k[d+(n<<2)>>2]|0;if((g|0)>=0?(z=k[(k[p>>2]|0)+(g<<2)>>2]|0,(z|0)>-1):0){i=k[v>>2]|0;h=(z|0)%3|0;j=k[w>>2]|0;m=k[j+(k[i+(((z|0)/3|0)*12|0)+(h<<2)>>2]<<2)>>2]|0;g=z+1|0;g=((g|0)%3|0|0)==0?z+-2|0:g;if((g|0)<0)g=-1073741824;else g=k[i+(((g|0)/3|0)*12|0)+(((g|0)%3|0)<<2)>>2]|0;l=k[j+(g<<2)>>2]|0;g=((h|0)==0?2:-1)+z|0;if((g|0)<0)g=-1073741824;else g=k[i+(((g|0)/3|0)*12|0)+(((g|0)%3|0)<<2)>>2]|0;g=k[j+(g<<2)>>2]|0;a=ha(n,e)|0;if((m|0)<(n|0)&(l|0)<(n|0)&(g|0)<(n|0)){j=ha(m,e)|0;i=ha(l,e)|0;g=ha(g,e)|0;if(q){h=0;do{k[x+(h<<2)>>2]=(k[c+(h+g<<2)>>2]|0)+(k[c+(h+i<<2)>>2]|0)-(k[c+(h+j<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}l=c+(a<<2)|0;if((f|0)>0){j=0;do{i=k[x+(j<<2)>>2]|0;f=k[s>>2]|0;do if((i|0)<=(f|0)){f=k[u>>2]|0;g=k[t>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[t>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[y>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[l+(h<<2)>>2]=(k[b+(h+a<<2)>>2]|0)+(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[y>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=l+(h<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[s>>2]|0)){if((g|0)<(k[u>>2]|0))k[f>>2]=(k[o>>2]|0)+g}else k[f>>2]=g-(k[o>>2]|0);h=h+1|0;f=k[y>>2]|0}while((h|0)<(f|0))}}}}else{m=a;A=34}}else{m=ha(n,e)|0;A=34}if((A|0)==34){A=0;l=c+((ha(n+-1|0,e)|0)<<2)|0;a=c+(m<<2)|0;if((f|0)>0){j=0;do{i=k[l+(j<<2)>>2]|0;f=k[s>>2]|0;do if((i|0)<=(f|0)){f=k[u>>2]|0;g=k[t>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[t>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[y>>2]|0}while((j|0)<(f|0));h=g;if((f|0)>0){g=0;do{k[a+(g<<2)>>2]=(k[b+(g+m<<2)>>2]|0)+(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[y>>2]|0}while((g|0)<(f|0));if((f|0)>0){h=0;do{f=a+(h<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[s>>2]|0)){if((g|0)<(k[u>>2]|0))k[f>>2]=(k[o>>2]|0)+g}else k[f>>2]=g-(k[o>>2]|0);h=h+1|0;f=k[y>>2]|0}while((h|0)<(f|0))}}}}n=n+1|0}while(n>>>0>>0);cq(x);return 1}function ti(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Ip(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);Ip(b);Ip(a);return}function ui(a){a=a|0;return 2}function vi(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 wi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=a+8|0;k[K>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;i=1;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;I=1-g+f|0;k[a+20>>2]=I;f=(I|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(I&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Wg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);s=k[a+48>>2]|0;t=k[a+52>>2]|0;u=e>>>0>1073741823?-1:e<<2;I=bq(u)|0;hq(I|0,0,u|0)|0;u=a+56|0;h=k[u>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;a:do if((i|0)>4){v=(e|0)>0;w=a+16|0;x=a+32|0;y=a+12|0;z=a+28|0;A=a+20|0;B=a+24|0;C=s+12|0;D=e<<2;q=i>>2;while(1){r=q+-1|0;if(g-f>>2>>>0<=r>>>0)break;p=k[f+(r<<2)>>2]|0;if(v)hq(I|0,0,D|0)|0;if((p|0)>-1){o=k[C>>2]|0;n=p;g=0;do{h=k[o+(n<<2)>>2]|0;if((h|0)>-1){j=k[s>>2]|0;i=(h|0)%3|0;l=k[t>>2]|0;m=k[l+(k[j+(((h|0)/3|0)*12|0)+(i<<2)>>2]<<2)>>2]|0;f=h+1|0;f=((f|0)%3|0|0)==0?h+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[j+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;d=k[l+(f<<2)>>2]|0;f=((i|0)==0?2:-1)+h|0;if((f|0)<0)f=-1073741824;else f=k[j+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;f=k[l+(f<<2)>>2]|0;if((m|0)<(r|0)&(d|0)<(r|0)&(f|0)<(r|0)){j=ha(m,e)|0;i=ha(d,e)|0;f=ha(f,e)|0;if(v){h=0;do{m=I+(h<<2)|0;k[m>>2]=(k[b+(h+f<<2)>>2]|0)+(k[b+(h+i<<2)>>2]|0)-(k[b+(h+j<<2)>>2]|0)+(k[m>>2]|0);h=h+1|0}while((h|0)!=(e|0))}g=g+1|0}}f=(((n|0)%3|0|0)==0?2:-1)+n|0;do if((f|0)>=0){f=k[o+(f<<2)>>2]|0;if((f|0)>=0)if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);n=(f|0)==(p|0)?-1073741824:f}while((n|0)>-1);d=ha(r,e)|0;if(g){if(v){f=0;do{p=I+(f<<2)|0;k[p>>2]=(k[p>>2]|0)/(g|0)|0;f=f+1|0}while((f|0)!=(e|0))}l=b+(d<<2)|0;if((k[K>>2]|0)>0){j=0;do{i=k[I+(j<<2)>>2]|0;f=k[w>>2]|0;do if((i|0)<=(f|0)){f=k[y>>2]|0;g=k[x>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[x>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[K>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+d<<2)>>2]=(k[l+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[K>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+d<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[z>>2]|0)){if((g|0)>(k[B>>2]|0))k[f>>2]=g-(k[A>>2]|0)}else k[f>>2]=(k[A>>2]|0)+g;h=h+1|0}while((h|0)<(k[K>>2]|0))}}}}else{F=d;H=44}}else{F=ha(r,e)|0;H=44}if((H|0)==44?(H=0,E=b+(F<<2)|0,G=b+((ha(q+-2|0,e)|0)<<2)|0,(k[K>>2]|0)>0):0){j=0;do{i=k[G+(j<<2)>>2]|0;f=k[w>>2]|0;do if((i|0)<=(f|0)){f=k[y>>2]|0;g=k[x>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[x>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[K>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+F<<2)>>2]=(k[E+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[K>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+F<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[z>>2]|0)){if((g|0)>(k[B>>2]|0))k[f>>2]=g-(k[A>>2]|0)}else k[f>>2]=(k[A>>2]|0)+g;h=h+1|0}while((h|0)<(k[K>>2]|0))}}}if((r|0)<=1){J=I;break a}h=k[u>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0;q=r}zp(h)}else J=I;while(0);if((e|0)>0)hq(I|0,0,e<<2|0)|0;if((k[K>>2]|0)<=0){cq(I);return 1}j=a+16|0;l=a+32|0;d=a+12|0;m=0;do{i=k[J+(m<<2)>>2]|0;f=k[j>>2]|0;do if((i|0)<=(f|0)){f=k[d>>2]|0;h=k[l>>2]|0;g=h+(m<<2)|0;if((i|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=i;break}}else{h=k[l>>2]|0;k[h+(m<<2)>>2]=f}while(0);m=m+1|0;f=k[K>>2]|0}while((m|0)<(f|0));if((f|0)>0)g=0;else{cq(I);return 1}do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)-(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[K>>2]|0}while((g|0)<(f|0));if((f|0)<=0){cq(I);return 1}j=a+28|0;l=a+20|0;f=a+24|0;i=0;do{g=c+(i<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[j>>2]|0)){if((h|0)>(k[f>>2]|0))k[g>>2]=h-(k[l>>2]|0)}else k[g>>2]=(k[l>>2]|0)+h;i=i+1|0}while((i|0)<(k[K>>2]|0));cq(I);return 1}function xi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;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;D=a+8|0;k[D>>2]=e;f=a+32|0;d=a+36|0;i=k[d>>2]|0;h=k[f>>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[d>>2]=i+(~((i+-4-j|0)>>>2)<<2);f=e}else f=e;else{Wg(f,e-g|0);f=k[D>>2]|0}B=e>>>0>1073741823?-1:e<<2;C=bq(B)|0;hq(C|0,0,B|0)|0;if((f|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{h=k[C+(j<<2)>>2]|0;f=k[l>>2]|0;do if((h|0)<=(f|0)){f=k[m>>2]|0;d=k[i>>2]|0;g=d+(j<<2)|0;if((h|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=h;break}}else{d=k[i>>2]|0;k[d+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[D>>2]|0}while((j|0)<(f|0));g=d;if((f|0)>0){d=0;do{k[c+(d<<2)>>2]=(k[b+(d<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[D>>2]|0}while((d|0)<(f|0));if((f|0)>0){g=a+20|0;h=0;do{f=c+(h<<2)|0;d=k[f>>2]|0;if((d|0)<=(k[l>>2]|0)){if((d|0)<(k[m>>2]|0))k[f>>2]=(k[g>>2]|0)+d}else k[f>>2]=d-(k[g>>2]|0);h=h+1|0;f=k[D>>2]|0}while((h|0)<(f|0))}}}u=k[a+48>>2]|0;v=k[a+56>>2]|0;w=v+4|0;d=k[v>>2]|0;if((k[w>>2]|0)-d>>2>>>0<=1){cq(C);return 1}x=k[a+52>>2]|0;y=(e|0)>0;z=a+16|0;A=a+32|0;B=a+12|0;r=a+20|0;s=u+12|0;t=e<<2;q=1;do{p=k[d+(q<<2)>>2]|0;if(y)hq(C|0,0,t|0)|0;if((p|0)>-1){o=k[s>>2]|0;n=p;g=0;do{h=k[o+(n<<2)>>2]|0;if((h|0)>-1){j=k[u>>2]|0;i=(h|0)%3|0;m=k[x>>2]|0;a=k[m+(k[j+(((h|0)/3|0)*12|0)+(i<<2)>>2]<<2)>>2]|0;d=h+1|0;d=((d|0)%3|0|0)==0?h+-2|0:d;if((d|0)<0)d=-1073741824;else d=k[j+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;l=k[m+(d<<2)>>2]|0;d=((i|0)==0?2:-1)+h|0;if((d|0)<0)d=-1073741824;else d=k[j+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;d=k[m+(d<<2)>>2]|0;if((a|0)<(q|0)&(l|0)<(q|0)&(d|0)<(q|0)){j=ha(a,e)|0;i=ha(l,e)|0;d=ha(d,e)|0;if(y){h=0;do{a=C+(h<<2)|0;k[a>>2]=(k[c+(h+d<<2)>>2]|0)+(k[c+(h+i<<2)>>2]|0)-(k[c+(h+j<<2)>>2]|0)+(k[a>>2]|0);h=h+1|0}while((h|0)!=(e|0))}g=g+1|0}}d=(((n|0)%3|0|0)==0?2:-1)+n|0;do if((d|0)>=0){d=k[o+(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);n=(d|0)==(p|0)?-1073741824:d}while((n|0)>-1);l=ha(q,e)|0;if(g){if(y){d=0;do{p=C+(d<<2)|0;k[p>>2]=(k[p>>2]|0)/(g|0)|0;d=d+1|0}while((d|0)!=(e|0))}j=c+(l<<2)|0;if((f|0)>0){i=0;do{h=k[C+(i<<2)>>2]|0;f=k[z>>2]|0;do if((h|0)<=(f|0)){f=k[B>>2]|0;d=k[A>>2]|0;g=d+(i<<2)|0;if((h|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=h;break}}else{d=k[A>>2]|0;k[d+(i<<2)>>2]=f}while(0);i=i+1|0;f=k[D>>2]|0}while((i|0)<(f|0));if((f|0)>0){g=0;do{k[j+(g<<2)>>2]=(k[b+(g+l<<2)>>2]|0)+(k[d+(g<<2)>>2]|0);g=g+1|0;f=k[D>>2]|0}while((g|0)<(f|0));if((f|0)>0){g=0;do{f=j+(g<<2)|0;d=k[f>>2]|0;if((d|0)<=(k[z>>2]|0)){if((d|0)<(k[B>>2]|0))k[f>>2]=(k[r>>2]|0)+d}else k[f>>2]=d-(k[r>>2]|0);g=g+1|0;f=k[D>>2]|0}while((g|0)<(f|0))}}}}else E=48}else{l=ha(q,e)|0;E=48}if((E|0)==48){E=0;j=c+((ha(q+-1|0,e)|0)<<2)|0;m=c+(l<<2)|0;if((f|0)>0){i=0;do{h=k[j+(i<<2)>>2]|0;f=k[z>>2]|0;do if((h|0)<=(f|0)){f=k[B>>2]|0;d=k[A>>2]|0;g=d+(i<<2)|0;if((h|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=h;break}}else{d=k[A>>2]|0;k[d+(i<<2)>>2]=f}while(0);i=i+1|0;f=k[D>>2]|0}while((i|0)<(f|0));g=d;if((f|0)>0){d=0;do{k[m+(d<<2)>>2]=(k[b+(d+l<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[D>>2]|0}while((d|0)<(f|0));if((f|0)>0){g=0;do{f=m+(g<<2)|0;d=k[f>>2]|0;if((d|0)<=(k[z>>2]|0)){if((d|0)<(k[B>>2]|0))k[f>>2]=(k[r>>2]|0)+d}else k[f>>2]=d-(k[r>>2]|0);g=g+1|0;f=k[D>>2]|0}while((g|0)<(f|0))}}}}q=q+1|0;d=k[v>>2]|0}while(q>>>0<(k[w>>2]|0)-d>>2>>>0);cq(C);return 1}function yi(a){a=a|0;var b=0,c=0;k[a>>2]=3552;b=k[a+76>>2]|0;if(b|0)Ip(b);c=a+68|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)cq(b);k[a>>2]=3168;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Ip(c);return}function zi(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3552;b=k[a+76>>2]|0;if(b|0)Ip(b);d=a+68|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)cq(b);k[a>>2]=3168;d=k[a+32>>2]|0;if(!d){Ip(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);Ip(d);Ip(a);return}function Ai(a){a=a|0;return 3}function Bi(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 Ci(a){a=a|0;return 1}function Di(a,b){a=a|0;b=b|0;if(!b)return 0;else Aa(8735,8746,75,8826);return 0}function Ei(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){a=0;return a|0}if((i[b+24>>0]|0)!=3){a=0;return a|0}k[a+60>>2]=b;a=1;return a|0}function Fi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n+40|0;l=n+36|0;c=n+32|0;m=n;d=a+80|0;k[c>>2]=k[d>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0)){k[l>>2]=k[b+4>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0}jd(m);nd(m);c=k[a+76>>2]|0;g=k[d>>2]|0;f=g>>>5;h=c+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){f=c;c=1;while(1){if(d){e=0;d=c;while(1){c=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){kd(m);r=n;return 1}d=b+4|0;k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0;h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){kd(m);r=n;return 1}k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0;kd(m);r=n;return 1}function Gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+16|0;p=q;j=b+8|0;g=j;h=k[g>>2]|0;g=k[g+4>>2]|0;o=b+16|0;d=o;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){p=0;r=q;return p|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=o;k[g>>2]=d;k[g+4>>2]=e;e=a+76|0;hi(e,h,0);qd(p);sd(p,b);if((h|0)>0){f=0;g=1;do{g=g^((td(p)|0)^1);d=(k[e>>2]|0)+(f>>>5<<2)|0;c=1<<(f&31);if(g)c=k[d>>2]|c;else c=k[d>>2]&~c;k[d>>2]=c;f=f+1|0}while((f|0)<(h|0))}e=j;g=k[e>>2]|0;e=k[e+4>>2]|0;h=o;c=k[h>>2]|0;h=jq(c|0,k[h+4>>2]|0,4,0)|0;f=L;if(!((e|0)<(f|0)|(e|0)==(f|0)&g>>>0>>0)?(g=a+12|0,m=(k[b>>2]|0)+c|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,i[g>>0]=m,i[g+1>>0]=m>>8,i[g+2>>0]=m>>16,i[g+3>>0]=m>>24,g=o,e=k[g>>2]|0,g=k[g+4>>2]|0,n=jq(e|0,g|0,4,0)|0,f=o,k[f>>2]=n,k[f+4>>2]=L,f=j,h=k[f>>2]|0,f=k[f+4>>2]|0,j=jq(e|0,g|0,8,0)|0,g=L,!((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0)):0){d=a+16|0;b=(k[b>>2]|0)+n|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;i[d>>0]=b;i[d+1>>0]=b>>8;i[d+2>>0]=b>>16;i[d+3>>0]=b>>24;d=o;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;c=o;k[c>>2]=d;k[c+4>>2]=L;b=b+(1-m)|0;k[a+20>>2]=b;c=(b|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(!(b&1)){k[d>>2]=c+-1;c=1}else c=1}else c=0;rd(p);p=c;r=q;return p|0}function Hi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+16|0;y=A+4|0;z=A;k[a+72>>2]=e;k[a+64>>2]=f;x=a+68|0;w=bq(e>>>0>1073741823?-1:e<<2)|0;f=k[x>>2]|0;k[x>>2]=w;if(f|0)cq(f);w=a+8|0;k[w>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;i=1;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;v=1-g+f|0;k[a+20>>2]=v;f=(v|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(v&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Wg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=a+56|0;h=k[o>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;if((i|0)<=0){r=A;return 1}p=a+16|0;q=a+32|0;s=a+12|0;t=a+28|0;u=a+20|0;v=a+24|0;j=g;g=(i>>2)+-1|0;while(1){if(j-f>>2>>>0<=g>>>0){f=22;break}k[z>>2]=k[f+(g<<2)>>2];k[y>>2]=k[z>>2];Ii(a,y,b,g);n=ha(g,e)|0;m=b+(n<<2)|0;l=k[x>>2]|0;if((k[w>>2]|0)>0){d=0;do{j=k[l+(d<<2)>>2]|0;f=k[p>>2]|0;do if((j|0)<=(f|0)){f=k[s>>2]|0;h=k[q>>2]|0;i=h+(d<<2)|0;if((j|0)<(f|0)){k[i>>2]=f;break}else{k[i>>2]=j;break}}else{h=k[q>>2]|0;k[h+(d<<2)>>2]=f}while(0);d=d+1|0;f=k[w>>2]|0}while((d|0)<(f|0));i=h;if((f|0)>0){h=0;do{k[c+(h+n<<2)>>2]=(k[m+(h<<2)>>2]|0)-(k[i+(h<<2)>>2]|0);h=h+1|0;f=k[w>>2]|0}while((h|0)<(f|0));if((f|0)>0){i=0;do{f=c+(i+n<<2)|0;h=k[f>>2]|0;if((h|0)>=(k[t>>2]|0)){if((h|0)>(k[v>>2]|0))k[f>>2]=h-(k[u>>2]|0)}else k[f>>2]=(k[u>>2]|0)+h;i=i+1|0}while((i|0)<(k[w>>2]|0))}}}g=g+-1|0;if((g|0)<=-1){f=19;break}h=k[o>>2]|0;f=k[h>>2]|0;j=k[h+4>>2]|0}if((f|0)==19){r=A;return 1}else if((f|0)==22)zp(h);return 0}function Ii(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;i=a+48|0;b=k[b>>2]|0;if((b|0)>=0){e=b+1|0;e=((e|0)%3|0|0)==0?b+-2|0:e;g=b+(((b|0)%3|0|0)==0?2:-1)|0;if((e|0)<0)b=-1073741824;else b=k[(k[k[i>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((g|0)<0)e=-1073741824;else e=k[(k[k[i>>2]>>2]|0)+(((g|0)/3|0)*12|0)+(((g|0)%3|0)<<2)>>2]|0}else{b=-1073741824;e=-1073741824}g=k[a+52>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)zp(g);n=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=e>>>0)zp(g);e=k[j+(e<<2)>>2]|0;b=(n|0)<(d|0);if(!(b&(e|0)<(d|0))){do if(b){i=a+72|0;g=k[i>>2]|0;b=g;g=ha(g,n)|0}else{if((d|0)>0){i=a+72|0;g=k[i>>2]|0;b=g;g=ha(g,d+-1|0)|0;break}g=a+72|0;if((k[g>>2]|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+g<<2)>>2];e=e+1|0}while((e|0)<(k[i>>2]|0));r=t;return}b=a+72|0;j=k[b>>2]|0;i=ha(j,n)|0;f=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);j=ha(j,e)|0;l=+(k[c+(j<<2)>>2]|0);m=+(k[c+(j+1<<2)>>2]|0);if(!(l!=f|m!=h)){a=k[a+68>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~m;r=t;return}Ji(s,a,d);Ji(p,a,n);Ji(q,a,e);B=+o[p>>2];x=+o[q>>2]-B;A=+o[p+4>>2];w=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=x*x+0.0+w*w+y*y;u=(x*B+0.0+w*A+y*z)/v;x=B-x*u;w=A-w*u;y=z-y*u;v=+X(+((y*y+(w*w+(x*x+0.0)))/v));x=l-f;w=m-h;l=f+x*u;m=x*v;u=h+w*u;v=w*v;h=l-v;f=m+u;l=v+l;m=u-m;i=ha(k[b>>2]|0,d)|0;u=+(k[c+(i<<2)>>2]|0);v=+(k[c+(i+1<<2)>>2]|0);w=u-h;x=v-f;u=u-l;v=v-m;i=a+76|0;j=a+80|0;b=k[j>>2]|0;e=k[a+84>>2]|0;g=(b|0)==(e<<5|0);if(x*x+(w*w+0.0)>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Cd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31)}else{if(g){if((b+1|0)<0)yp(i);if(e<<5>>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Cd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(b&31));h=l;f=m}c=~~+V(+(h+.5));a=k[a+68>>2]|0;k[a>>2]=c;c=~~+V(+(f+.5));k[a+4>>2]=c;r=t;return}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;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+64>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+60>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];Bc(b,d,a)|0;r=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];Ic(b,d,a)|0;r=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];Pc(b,d,a)|0;r=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];Wc(b,d,a)|0;r=j;return}default:{r=j;return}}}function Ki(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+16|0;w=y+4|0;x=y;k[a+72>>2]=e;k[a+64>>2]=f;v=a+68|0;u=bq(e>>>0>1073741823?-1:e<<2)|0;d=k[v>>2]|0;k[v>>2]=u;if(d|0)cq(d);u=a+8|0;k[u>>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 Wg(d,e-g|0);o=a+56|0;t=k[o>>2]|0;d=k[t>>2]|0;if((k[t+4>>2]|0)==(d|0)){r=y;return 1}p=a+16|0;q=a+32|0;s=a+12|0;t=a+20|0;n=0;do{k[x>>2]=k[d+(n<<2)>>2];k[w>>2]=k[x>>2];Li(a,w,c,n);l=ha(n,e)|0;i=k[v>>2]|0;m=c+(l<<2)|0;if((k[u>>2]|0)>0){j=0;do{h=k[i+(j<<2)>>2]|0;d=k[p>>2]|0;do if((h|0)<=(d|0)){d=k[s>>2]|0;f=k[q>>2]|0;g=f+(j<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[q>>2]|0;k[f+(j<<2)>>2]=d}while(0);j=j+1|0;d=k[u>>2]|0}while((j|0)<(d|0));g=f;if((d|0)>0){f=0;do{k[m+(f<<2)>>2]=(k[b+(f+l<<2)>>2]|0)+(k[g+(f<<2)>>2]|0);f=f+1|0;d=k[u>>2]|0}while((f|0)<(d|0));if((d|0)>0){g=0;do{d=m+(g<<2)|0;f=k[d>>2]|0;if((f|0)<=(k[p>>2]|0)){if((f|0)<(k[s>>2]|0))k[d>>2]=(k[t>>2]|0)+f}else k[d>>2]=f-(k[t>>2]|0);g=g+1|0}while((g|0)<(k[u>>2]|0))}}}n=n+1|0;m=k[o>>2]|0;d=k[m>>2]|0}while(n>>>0<(k[m+4>>2]|0)-d>>2>>>0);r=y;return 1}function Li(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0.0,i=0.0,j=0.0,l=0.0,m=0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;f=a+48|0;b=k[b>>2]|0;if((b|0)>=0){e=b+1|0;e=((e|0)%3|0|0)==0?b+-2|0:e;b=b+(((b|0)%3|0|0)==0?2:-1)|0;if((e|0)<0)e=-1073741824;else e=k[(k[k[f>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((b|0)<0)m=-1073741824;else m=k[(k[k[f>>2]>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0}else{m=-1073741824;e=-1073741824}b=k[a+52>>2]|0;f=k[b+4>>2]|0;g=k[b>>2]|0;if(f-g>>2>>>0<=e>>>0)zp(b);n=k[g+(e<<2)>>2]|0;if(f-g>>2>>>0<=m>>>0)zp(b);e=k[g+(m<<2)>>2]|0;b=(n|0)<(d|0);if(b&(e|0)<(d|0)){m=k[a+72>>2]|0;g=ha(m,n)|0;i=+(k[c+(g<<2)>>2]|0);j=+(k[c+(g+1<<2)>>2]|0);m=ha(m,e)|0;l=+(k[c+(m<<2)>>2]|0);h=+(k[c+(m+1<<2)>>2]|0);if(l!=i|h!=j){Ji(s,a,d);Ji(p,a,n);Ji(q,a,e);B=+o[p>>2];w=+o[q>>2]-B;A=+o[p+4>>2];x=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=w*w+0.0+x*x+y*y;u=(w*B+0.0+x*A+y*z)/v;w=B-w*u;x=A-x*u;y=z-y*u;v=+X(+((y*y+(x*x+(w*w+0.0)))/v));w=l-i;h=h-j;l=w*v;v=h*v;d=a+80|0;s=(k[d>>2]|0)+-1|0;c=(1<<(s&31)&k[(k[a+76>>2]|0)+(s>>>5<<2)>>2]|0)==0;k[d>>2]=s;d=~~+V(+(i+w*u+(c?v:-v)+.5));a=k[a+68>>2]|0;k[a>>2]=d;c=~~+V(+(j+h*u+(c?-l:l)+.5));k[a+4>>2]=c;r=t;return}else{a=k[a+68>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~h;r=t;return}}do if(b){g=a+72|0;f=k[g>>2]|0;b=f;f=ha(f,n)|0}else{if((d|0)>0){g=a+72|0;f=k[g>>2]|0;b=f;f=ha(f,d+-1|0)|0;break}f=a+72|0;if((k[f>>2]|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[f>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+f<<2)>>2];e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}function Mi(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Ip(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);Ip(b);Ip(a);return}function Ni(a){a=a|0;return 0}function Oi(a){a=a|0;return 1}function Pi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=a+8|0;k[u>>2]=e;do if(d){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;g=f;i=1;while(1){f=k[b+(i<<2)>>2]|0;if((f|0)>=(h|0))if((f|0)>(g|0)){k[j>>2]=f;g=f;f=h}else f=h;else k[l>>2]=f;i=i+1|0;if((i|0)==(d|0))break;else h=f}}else g=f;t=1-f+g|0;k[a+20>>2]=t;f=(t|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(t&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Wg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}else d=0;while(0);f=d-e|0;if((f|0)>0){n=0-e|0;o=a+16|0;p=a+32|0;q=a+12|0;r=a+28|0;s=a+20|0;t=a+24|0;d=k[u>>2]|0;do{m=b+(f<<2)|0;l=m+(n<<2)|0;if((d|0)>0){j=0;do{i=k[l+(j<<2)>>2]|0;d=k[o>>2]|0;do if((i|0)<=(d|0)){d=k[q>>2]|0;g=k[p>>2]|0;h=g+(j<<2)|0;if((i|0)<(d|0)){k[h>>2]=d;break}else{k[h>>2]=i;break}}else{g=k[p>>2]|0;k[g+(j<<2)>>2]=d}while(0);j=j+1|0;d=k[u>>2]|0}while((j|0)<(d|0));h=g;if((d|0)>0){g=0;do{k[c+(g+f<<2)>>2]=(k[m+(g<<2)>>2]|0)-(k[h+(g<<2)>>2]|0);g=g+1|0;d=k[u>>2]|0}while((g|0)<(d|0));if((d|0)>0){h=0;do{d=c+(h+f<<2)|0;g=k[d>>2]|0;if((g|0)>=(k[r>>2]|0)){if((g|0)>(k[t>>2]|0))k[d>>2]=g-(k[s>>2]|0)}else k[d>>2]=(k[s>>2]|0)+g;h=h+1|0;d=k[u>>2]|0}while((h|0)<(d|0))}}}f=f-e|0}while((f|0)>0)}else d=k[u>>2]|0;e=e>>>0>1073741823?-1:e<<2;n=bq(e)|0;hq(n|0,0,e|0)|0;if((d|0)<=0){cq(n);return 1}i=a+16|0;j=a+32|0;l=a+12|0;m=0;do{h=k[n+(m<<2)>>2]|0;d=k[i>>2]|0;do if((h|0)<=(d|0)){d=k[l>>2]|0;g=k[j>>2]|0;f=g+(m<<2)|0;if((h|0)<(d|0)){k[f>>2]=d;break}else{k[f>>2]=h;break}}else{g=k[j>>2]|0;k[g+(m<<2)>>2]=d}while(0);m=m+1|0;d=k[u>>2]|0}while((m|0)<(d|0));if((d|0)>0)f=0;else{cq(n);return 1}do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)-(k[g+(f<<2)>>2]|0);f=f+1|0;d=k[u>>2]|0}while((f|0)<(d|0));if((d|0)<=0){cq(n);return 1}i=a+28|0;j=a+20|0;d=a+24|0;h=0;do{f=c+(h<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[i>>2]|0)){if((g|0)>(k[d>>2]|0))k[f>>2]=g-(k[j>>2]|0)}else k[f>>2]=(k[j>>2]|0)+g;h=h+1|0}while((h|0)<(k[u>>2]|0));cq(n);return 1}function Qi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=a+8|0;k[t>>2]=e;g=a+32|0;h=a+36|0;f=k[h>>2]|0;j=k[g>>2]|0;i=f-j>>2;if(i>>>0>=e>>>0)if(i>>>0>e>>>0?(l=j+(e<<2)|0,(f|0)!=(l|0)):0){k[h>>2]=f+(~((f+-4-l|0)>>>2)<<2);f=e}else f=e;else{Wg(g,e-i|0);f=k[t>>2]|0}r=e>>>0>1073741823?-1:e<<2;s=bq(r)|0;hq(s|0,0,r|0)|0;if((f|0)>0){m=a+16|0;j=a+32|0;n=a+12|0;l=0;do{i=k[s+(l<<2)>>2]|0;f=k[m>>2]|0;do if((i|0)<=(f|0)){f=k[n>>2]|0;g=k[j>>2]|0;h=g+(l<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[j>>2]|0;k[g+(l<<2)>>2]=f}while(0);l=l+1|0;f=k[t>>2]|0}while((l|0)<(f|0));h=g;if((f|0)>0){g=0;do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)+(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[t>>2]|0}while((g|0)<(f|0));if((f|0)>0){h=a+20|0;i=0;do{f=c+(i<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[m>>2]|0)){if((g|0)<(k[n>>2]|0))k[f>>2]=(k[h>>2]|0)+g}else k[f>>2]=g-(k[h>>2]|0);i=i+1|0;f=k[t>>2]|0}while((i|0)<(f|0))}}}if((e|0)>=(d|0)){cq(s);return 1}o=0-e|0;p=a+16|0;q=a+32|0;r=a+12|0;a=a+20|0;n=e;do{m=c+(n<<2)|0;l=m+(o<<2)|0;if((f|0)>0){j=0;do{i=k[l+(j<<2)>>2]|0;f=k[p>>2]|0;do if((i|0)<=(f|0)){f=k[r>>2]|0;g=k[q>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[q>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[t>>2]|0}while((j|0)<(f|0));h=g;if((f|0)>0){g=0;do{k[m+(g<<2)>>2]=(k[b+(g+n<<2)>>2]|0)+(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[t>>2]|0}while((g|0)<(f|0));if((f|0)>0){h=0;do{g=m+(h<<2)|0;f=k[g>>2]|0;if((f|0)<=(k[p>>2]|0)){if((f|0)<(k[r>>2]|0))k[g>>2]=(k[a>>2]|0)+f}else k[g>>2]=f-(k[a>>2]|0);h=h+1|0;f=k[t>>2]|0}while((h|0)<(f|0))}}}n=n+e|0}while((n|0)<(d|0));cq(s);return 1}function Ri(a){a=a|0;return i[(k[a+8>>2]|0)+24>>0]|0}function Si(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0;o=a+8|0;d=k[o>>2]|0;switch(k[d+28>>2]|0){case 2:{c=i[d+24>>0]|0;h=c<<24>>24;l=bq((h|0)>-1?h:-1)|0;a:do if(b|0){g=a+16|0;if(c<<24>>24>0){d=0;e=0}else{lq(k[k[d+64>>2]>>2]|0,l|0,h|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+h|0;lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,l|0,h|0)|0;c=c+1|0;if((c|0)==(b|0))break a}}while(1){c=k[g>>2]|0;a=0;f=e;while(1){i[l+a>>0]=k[c+(f<<2)>>2];a=a+1|0;if((a|0)==(h|0))break;else f=f+1|0}lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,l|0,h|0)|0;d=d+1|0;if((d|0)==(b|0))break;else e=e+h|0}}while(0);cq(l);b=1;return b|0}case 1:{c=i[d+24>>0]|0;h=c<<24>>24;l=bq((h|0)>-1?h:-1)|0;b:do if(b|0){g=a+16|0;if(c<<24>>24>0){d=0;e=0}else{lq(k[k[d+64>>2]>>2]|0,l|0,h|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+h|0;lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,l|0,h|0)|0;c=c+1|0;if((c|0)==(b|0))break b}}while(1){c=k[g>>2]|0;a=0;f=e;while(1){i[l+a>>0]=k[c+(f<<2)>>2];a=a+1|0;if((a|0)==(h|0))break;else f=f+1|0}lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,l|0,h|0)|0;d=d+1|0;if((d|0)==(b|0))break;else e=e+h|0}}while(0);cq(l);b=1;return b|0}case 4:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<1;n=bq(l>>>0>2147483647?-1:l<<1)|0;c:do if(b|0){h=a+16|0;if(c<<24>>24>0){d=0;e=0;f=0}else{lq(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+m|0;lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,n|0,m|0)|0;c=c+1|0;if((c|0)==(b|0))break c}}while(1){c=k[h>>2]|0;a=0;g=f;while(1){j[n+(a<<1)>>1]=k[c+(g<<2)>>2];a=a+1|0;if((a|0)==(l|0))break;else g=g+1|0}lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,n|0,m|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+m|0;f=f+l|0}}}while(0);cq(n);b=1;return b|0}case 3:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<1;n=bq(l>>>0>2147483647?-1:l<<1)|0;d:do if(b|0){h=a+16|0;if(c<<24>>24>0){d=0;e=0;f=0}else{lq(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+m|0;lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,n|0,m|0)|0;c=c+1|0;if((c|0)==(b|0))break d}}while(1){c=k[h>>2]|0;a=0;g=f;while(1){j[n+(a<<1)>>1]=k[c+(g<<2)>>2];a=a+1|0;if((a|0)==(l|0))break;else g=g+1|0}lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,n|0,m|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+m|0;f=f+l|0}}}while(0);cq(n);b=1;return b|0}case 6:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<2;n=bq(l>>>0>1073741823?-1:l<<2)|0;e:do if(b|0){h=a+16|0;if(c<<24>>24>0){d=0;e=0;f=0}else{lq(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+m|0;lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,n|0,m|0)|0;c=c+1|0;if((c|0)==(b|0))break e}}while(1){c=k[h>>2]|0;a=0;g=f;while(1){k[n+(a<<2)>>2]=k[c+(g<<2)>>2];a=a+1|0;if((a|0)==(l|0))break;else g=g+1|0}lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,n|0,m|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+m|0;f=f+l|0}}}while(0);cq(n);b=1;return b|0}case 5:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<2;n=bq(l>>>0>1073741823?-1:l<<2)|0;f:do if(b|0){h=a+16|0;if(c<<24>>24>0){d=0;e=0;f=0}else{lq(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+m|0;lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,n|0,m|0)|0;c=c+1|0;if((c|0)==(b|0))break f}}while(1){c=k[h>>2]|0;a=0;g=f;while(1){k[n+(a<<2)>>2]=k[c+(g<<2)>>2];a=a+1|0;if((a|0)==(l|0))break;else g=g+1|0}lq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,n|0,m|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+m|0;f=f+l|0}}}while(0);cq(n);b=1;return b|0}default:{b=0;return b|0}}return 0}function Ti(a){a=a|0;vh(a);k[a>>2]=3116;a=a+16|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;return}function Ui(a){a=a|0;var b=0,c=0;k[a>>2]=3680;c=a+36|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)cq(b);k[a>>2]=3116;c=a+28|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);c=k[a+16>>2]|0;if(!c)return;b=a+20|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Ip(c);return}function Vi(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3680;d=a+36|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)cq(b);k[a>>2]=3116;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);b=k[a+16>>2]|0;if(!b){Ip(a);return}c=a+20|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ip(b);Ip(a);return}function Wi(a,b,c){a=a|0;b=b|0;c=c|0;if(!(yh(a,b,c)|0)){c=0;return c|0}b=k[b+4>>2]|0;if((c|0)<=-1)Aa(9717,9733,62,9761);a=k[b+4>>2]|0;if((k[b+8>>2]|0)-a>>2>>>0<=c>>>0)Aa(9771,9733,63,9761);c=(k[(k[a+(c<<2)>>2]|0)+28>>2]|0)==9;return c|0}function Xi(a,b,c){a=a|0;b=b|0;c=c|0;if(!(cb[k[(k[a>>2]|0)+44>>2]&127](a)|0)){a=0;return a|0}a=Ah(a,b,c)|0;return a|0}function Yi(a,b){a=a|0;b=b|0;return gb[k[(k[a>>2]|0)+48>>2]&63](a,b)|0}function Zi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;c=i[(k[a+8>>2]|0)+24>>0]|0;g=a+36|0;f=bq(c>>>0>1073741823?-1:c<<2)|0;b=k[g>>2]|0;k[g>>2]=f;if(b|0)cq(b);e=a+4|0;f=k[(k[e>>2]|0)+20>>2]|0;b=c<<2;n=f+8|0;j=k[n>>2]|0;n=k[n+4>>2]|0;c=f+16|0;h=c;d=k[h>>2]|0;h=jq(d|0,k[h+4>>2]|0,b|0,0)|0;m=L;if((n|0)<(m|0)|(n|0)==(m|0)&j>>>0>>0){n=0;return n|0}lq(k[g>>2]|0,(k[f>>2]|0)+d|0,b|0)|0;h=c;h=jq(k[h>>2]|0,k[h+4>>2]|0,b|0,0)|0;b=c;k[b>>2]=h;k[b+4>>2]=L;b=(k[e>>2]|0)+20|0;c=k[b>>2]|0;h=c+8|0;m=k[h>>2]|0;h=k[h+4>>2]|0;d=c+16|0;n=d;e=k[n>>2]|0;n=jq(e|0,k[n+4>>2]|0,4,0)|0;j=L;if((h|0)<(j|0)|(h|0)==(j|0)&m>>>0>>0){n=0;return n|0}n=a+40|0;e=(k[c>>2]|0)+e|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;i[n>>0]=e;i[n+1>>0]=e>>8;i[n+2>>0]=e>>16;i[n+3>>0]=e>>24;n=d;n=jq(k[n>>2]|0,k[n+4>>2]|0,4,0)|0;e=d;k[e>>2]=n;k[e+4>>2]=L;e=k[b>>2]|0;n=e+8|0;m=k[n+4>>2]|0;b=e+16|0;d=b;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((m|0)>(d|0)|((m|0)==(d|0)?(k[n>>2]|0)>>>0>c>>>0:0))){n=0;return n|0}n=i[(k[e>>2]|0)+c>>0]|0;j=jq(c|0,d|0,1,0)|0;m=b;k[m>>2]=j;k[m+4>>2]=L;k[a+32>>2]=n&255;n=1;return n|0}function _i(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0.0,w=0;u=r;r=r+16|0;n=u;p=k[a+32>>2]|0;q=a+8|0;c=i[(k[q>>2]|0)+24>>0]|0;m=c<<24>>24;s=m<<2;t=bq(m>>>0>1073741823?-1:m<<2)|0;Kg(n);Lg(n,+o[a+40>>2],(1<>24>0){a=0;g=0;c=0}else{a=0;c=0;while(1){lq((k[k[(k[q>>2]|0)+64>>2]>>2]|0)+c|0,t|0,s|0)|0;a=a+1|0;if((a|0)==(b|0))break;else c=c+s|0}cq(t);r=u;return 1}a:while(1){e=k[p>>2]|0;f=0;d=c;while(1){if((k[j>>2]|0)-e>>2>>>0<=d>>>0){a=4;break a}c=d+1|0;w=k[e+(d<<2)>>2]|0;d=(w|0)<0;v=+o[l>>2]*+((d?0-w|0:w)|0);o[t+(f<<2)>>2]=+o[(k[h>>2]|0)+(f<<2)>>2]+ +o[n>>2]*(d?-v:v);f=f+1|0;if((f|0)>=(m|0))break;else d=c}lq((k[k[(k[q>>2]|0)+64>>2]>>2]|0)+g|0,t|0,s|0)|0;a=a+1|0;if(a>>>0>>0)g=g+s|0;else{a=8;break}}if((a|0)==4)zp(p);else if((a|0)==8){cq(t);r=u;return 1}return 0}function $i(a){a=a|0;Ti(a);k[a>>2]=3680;k[a+32>>2]=-1;k[a+36>>2]=0;o[a+40>>2]=0.0;return}function aj(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3116;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);d=k[a+16>>2]|0;if(!d){Ip(a);return}b=a+20|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);Ip(d);Ip(a);return}function bj(a,b,c){a=a|0;b=b|0;c=c|0;if(!(yh(a,b,c)|0)){a=0;return a|0}a=(i[(k[a+8>>2]|0)+24>>0]|0)==3;return a|0}function cj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=c+8|0;h=k[g+4>>2]|0;f=c+16|0;e=f;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((h|0)>(e|0)|((h|0)==(e|0)?(k[g>>2]|0)>>>0>d>>>0:0))){h=0;return h|0}h=i[(k[c>>2]|0)+d>>0]|0;e=jq(d|0,e|0,1,0)|0;g=f;k[g>>2]=e;k[g+4>>2]=L;k[a+32>>2]=h&255;h=Ah(a,b,c)|0;return h|0}function dj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+16|0;d=e;if((c|0)!=2){c=0;r=e;return c|0}f=k[a+12>>2]|0;c=k[a+4>>2]|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;c=ej(b,f,c,d)|0;r=e;return c|0}function ej(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=k[c+4>>2]|0;if((b|0)<=-1)Aa(9717,9733,54,9761);f=k[e+4>>2]|0;if((k[e+8>>2]|0)-f>>2>>>0<=b>>>0)Aa(9771,9733,55,9761);e=k[f+(b<<2)>>2]|0;if((cb[k[(k[c>>2]|0)+8>>2]&127](c)|0)==1?(g=fj(c,a,b,d)|0,g|0):0){d=g;return d|0}if((a|0)==-2){d=0;return d|0}a=$p(20)|0;k[a+4>>2]=e;c=a+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[a>>2]=4176;d=a;return d|0}function fj(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;e=k[a+4>>2]|0;if((c|0)<=-1)Aa(9717,9733,54,9761);f=k[e+4>>2]|0;if((k[e+8>>2]|0)-f>>2>>>0<=c>>>0)Aa(9771,9733,55,9761);g=k[f+(c<<2)>>2]|0;if(!((b+-1|0)>>>0<3&(cb[k[(k[a>>2]|0)+8>>2]&127](a)|0)==1)){d=0;return d|0}h=cb[k[(k[a>>2]|0)+36>>2]&127](a)|0;i=gb[k[(k[a>>2]|0)+44>>2]&63](a,c)|0;if((h|0)==0|(i|0)==0){d=0;return d|0}c=gb[k[(k[a>>2]|0)+40>>2]&63](a,c)|0;e=k[a+24>>2]|0;f=i+12|0;if(!c)switch(b|0){case 1:{b=$p(36)|0;k[b+4>>2]=g;a=b+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[b+20>>2]=e;k[b+24>>2]=h;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=3984;d=b;return d|0}case 2:{b=$p(36)|0;k[b+4>>2]=g;a=b+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[b+20>>2]=e;k[b+24>>2]=h;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=4048;d=b;return d|0}case 3:{b=$p(64)|0;k[b+4>>2]=g;a=b+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[b+20>>2]=e;k[b+24>>2]=h;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=4112;d=b+36|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;d=b;return d|0}default:{d=0;return d|0}}else switch(b|0){case 1:{b=$p(36)|0;k[b+4>>2]=g;a=b+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[b+20>>2]=e;k[b+24>>2]=c;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=3792;d=b;return d|0}case 2:{b=$p(36)|0;k[b+4>>2]=g;a=b+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[b+20>>2]=e;k[b+24>>2]=c;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=3856;d=b;return d|0}case 3:{b=$p(64)|0;k[b+4>>2]=g;a=b+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[b+20>>2]=e;k[b+24>>2]=c;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=3920;d=b+36|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;d=b;return d|0}default:{d=0;return d|0}}return 0}function gj(a){a=a|0;return}function hj(a){a=a|0;Ip(a);return}function ij(a){a=a|0;return 1}function jj(a){a=a|0;return k[a+4>>2]|0}function kj(a){a=a|0;if(!(k[a+20>>2]|0)){a=0;return a|0}if(!(k[a+24>>2]|0)){a=0;return a|0}if(!(k[a+28>>2]|0)){a=0;return a|0}a=(k[a+32>>2]|0)!=0;return a|0}function lj(a){a=a|0;return 0}function mj(a,b){a=a|0;b=b|0;return -1}function nj(a,b){a=a|0;b=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;h=r;r=r+16|0;e=h+4|0;f=h;c=a+12|0;d=b+16|0;g=d;i=k[g+4>>2]|0;if((i|0)>0|(i|0)==0&(k[g>>2]|0)>>>0>0){r=h;return 1}g=b+4|0;k[f>>2]=k[g>>2];k[e>>2]=k[f>>2];ed(b,e,c,c+4|0)|0;i=d;d=k[i+4>>2]|0;c=a+16|0;if((d|0)>0|(d|0)==0&(k[i>>2]|0)>>>0>0){r=h;return 1}k[f>>2]=k[g>>2];k[e>>2]=k[f>>2];ed(b,e,c,c+4|0)|0;r=h;return 1}function pj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;d=b+8|0;j=d;g=k[j>>2]|0;j=k[j+4>>2]|0;e=b+16|0;f=e;c=k[f>>2]|0;f=jq(c|0,k[f+4>>2]|0,4,0)|0;h=L;if((j|0)<(h|0)|(j|0)==(h|0)&g>>>0>>0){j=0;return j|0}j=a+12|0;g=(k[b>>2]|0)+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;i[j>>0]=g;i[j+1>>0]=g>>8;i[j+2>>0]=g>>16;i[j+3>>0]=g>>24;j=e;g=k[j>>2]|0;j=k[j+4>>2]|0;c=jq(g|0,j|0,4,0)|0;f=e;k[f>>2]=c;k[f+4>>2]=L;f=d;h=k[f>>2]|0;f=k[f+4>>2]|0;j=jq(g|0,j|0,8,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0){j=0;return j|0}h=a+16|0;j=(k[b>>2]|0)+c|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;i[h>>0]=j;i[h+1>>0]=j>>8;i[h+2>>0]=j>>16;i[h+3>>0]=j>>24;h=e;h=jq(k[h>>2]|0,k[h+4>>2]|0,4,0)|0;j=e;k[j>>2]=h;k[j+4>>2]=L;j=1;return j|0}function qj(a){a=a|0;return 1}function rj(a){a=a|0;return 2}function sj(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;p=a+8|0;k[p>>2]=e;r=e>>>0>1073741823?-1:e<<2;q=bq(r)|0;hq(q|0,0,r|0)|0;r=k[a+24>>2]|0;s=a+32|0;d=k[s>>2]|0;g=k[d+4>>2]|0;f=k[d>>2]|0;h=g-f|0;a:do if((h|0)>4){l=k[a+28>>2]|0;m=r+64|0;n=r+28|0;o=(e|0)>0;i=h>>2;while(1){j=i+-1|0;if(g-f>>2>>>0<=j>>>0)break;f=k[f+(j<<2)>>2]|0;if(!((f|0)<0?1:(1<<(f&31)&k[(k[r>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(u=k[(k[(k[m>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(u|0)>-1):0){h=k[n>>2]|0;f=k[l>>2]|0;d=k[f+(k[h+(u<<2)>>2]<<2)>>2]|0;a=u+1|0;a=k[f+(k[h+((((a|0)%3|0|0)==0?u+-2|0:a)<<2)>>2]<<2)>>2]|0;h=k[f+(k[h+((((u|0)%3|0|0)==0?2:-1)+u<<2)>>2]<<2)>>2]|0;f=ha(j,e)|0;if((d|0)<(j|0)&(a|0)<(j|0)&(h|0)<(j|0)){i=ha(d,e)|0;g=ha(a,e)|0;d=ha(h,e)|0;if(o){a=0;do{k[q+(a<<2)>>2]=(k[b+(a+d<<2)>>2]|0)+(k[b+(a+g<<2)>>2]|0)-(k[b+(a+i<<2)>>2]|0);a=a+1|0}while((a|0)!=(e|0))}tj(p,b+(f<<2)|0,q,c,f)}else v=12}else{f=ha(j,e)|0;v=12}if((v|0)==12){v=0;tj(p,b+(f<<2)|0,b+((ha(i+-2|0,e)|0)<<2)|0,c,f)}if((j|0)<=1){t=q;break a}d=k[s>>2]|0;f=k[d>>2]|0;g=k[d+4>>2]|0;i=j}zp(d)}else t=q;while(0);if((e|0)<=0){tj(p,b,t,c,0);cq(q);return 1}hq(q|0,0,e<<2|0)|0;tj(p,b,t,c,0);cq(q);return 1}function tj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;s=t+40|0;j=t+32|0;i=t+24|0;f=t+16|0;g=t+8|0;m=t;n=k[c>>2]|0;o=a+8|0;h=k[o>>2]<<1;if((n|0)>(h|0))Aa(7771,7806,82,7898);c=k[c+4>>2]|0;if((c|0)>(h|0))Aa(7916,7806,83,7898);l=k[b>>2]|0;if((l|0)>(h|0))Aa(7951,7806,84,7898);b=k[b+4>>2]|0;if((b|0)>(h|0))Aa(7986,7806,85,7898);if((n|0)<=-1)Aa(8021,7806,86,7898);if((c|0)<=-1)Aa(8043,7806,87,7898);if((l|0)<=-1)Aa(8065,7806,88,7898);if((b|0)<=-1)Aa(8087,7806,89,7898);k[f>>2]=l;k[f+4>>2]=b;k[g>>2]=n;k[g+4>>2]=c;uj(i,a,f,g);q=k[i>>2]|0;k[m>>2]=q;p=k[i+4>>2]|0;k[m+4>>2]=p;k[j>>2]=n;k[j+4>>2]=c;vj(s,a,j,m);i=k[o>>2]|0;h=l-i|0;c=b-i|0;g=(k[s>>2]|0)-i|0;b=(k[s+4>>2]|0)-i|0;f=0-h|0;if((((h|0)>-1?h:f)|0)==(i|0))c=(c|0)<0?0-c|0:c;s=0-g|0;a=((b|0)<0?(((g|0)>-1?g:s)|0)==(i|0):0)?0-b|0:b;if((c|0)==(a|0)?((((h|0)<0?(((c|0)>-1?c:0-c|0)|0)==(i|0):0)?f:h)|0)==((((g|0)<0?(((a|0)>-1?a:0-a|0)|0)==(i|0):0)?s:g)|0):0){k[d+(e<<2)>>2]=q;k[d+(e+1<<2)>>2]=p;r=t;return}else Aa(8146,7806,95,7898)}function uj(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;i=b+8|0;g=k[i>>2]|0;j=c+4|0;f=(k[j>>2]|0)-g|0;e=c;k[e>>2]=(k[c>>2]|0)-g;k[e+4>>2]=f;e=(k[d>>2]|0)-g|0;f=d+4|0;g=(k[f>>2]|0)-g|0;h=d;k[h>>2]=e;k[h+4>>2]=g;h=k[i>>2]|0;if((((g|0)>-1?g:0-g|0)+((e|0)>-1?e:0-e|0)|0)>(h|0)){g=k[c>>2]|0;n=k[j>>2]|0;m=g>>31|1;o=n>>31|1;e=ha(m,h)|0;l=ha(o,h)|0;g=(g<<1)-e|0;n=(n<<1)-l|0;m=(ha(o,m)|0)>-1;h=c;k[h>>2]=((m?0-n|0:n)+e|0)/2|0;k[h+4>>2]=((m?0-g|0:g)+l|0)/2|0;h=k[d>>2]|0;l=k[f>>2]|0;g=h>>31|1;m=l>>31|1;f=k[i>>2]|0;e=ha(g,f)|0;f=ha(m,f)|0;h=(h<<1)-e|0;l=(l<<1)-f|0;g=(ha(m,g)|0)>-1;e=((g?0-l|0:l)+e|0)/2|0;f=((g?0-h|0:h)+f|0)/2|0;h=d;k[h>>2]=e;k[h+4>>2]=f;h=k[i>>2]|0}else f=g;d=a;k[d>>2]=0;k[d+4>>2]=0;e=(k[c>>2]|0)-e|0;k[a>>2]=e;d=(k[j>>2]|0)-f|0;g=a+4|0;k[g>>2]=d;f=h<<1;if((f|0)<(e|0))Aa(8109,7806,177,8133);if((e|0)<0)e=(k[b+4>>2]|0)+e|0;k[a>>2]=e;if((f|0)<(d|0))Aa(8109,7806,177,8133);if((d|0)>=0){o=d;k[g>>2]=o;return}o=(k[b+4>>2]|0)+d|0;k[g>>2]=o;return}function vj(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;g=b+8|0;j=k[g>>2]|0;e=(k[c>>2]|0)-j|0;f=(k[c+4>>2]|0)-j|0;h=c;k[h>>2]=e;k[h+4>>2]=f;h=k[g>>2]|0;if((((f|0)>-1?f:0-f|0)+((e|0)>-1?e:0-e|0)|0)>(h|0)){m=e>>31|1;n=f>>31|1;l=ha(m,h)|0;h=ha(n,h)|0;i=(e<<1)-l|0;e=(f<<1)-h|0;f=(ha(n,m)|0)>-1;e=((f?0-e|0:e)+l|0)/2|0;h=((f?0-i|0:i)+h|0)/2|0;i=c;k[i>>2]=e;k[i+4>>2]=h;i=0;c=h;h=k[g>>2]|0}else{i=1;c=f}f=a;k[f>>2]=0;k[f+4>>2]=0;e=(k[d>>2]|0)+e|0;k[a>>2]=e;c=(k[d+4>>2]|0)+c|0;f=a+4|0;k[f>>2]=c;if((h|0)>=(e|0)){if((e|0)<(0-h|0))e=(k[b+4>>2]|0)+e|0}else e=e-(k[b+4>>2]|0)|0;k[a>>2]=e;if((h|0)>=(c|0)){if((c|0)<(0-h|0))c=(k[b+4>>2]|0)+c|0}else c=c-(k[b+4>>2]|0)|0;k[f>>2]=c;if(i){b=e;m=c;b=b+j|0;m=m+j|0;n=a;l=n;k[l>>2]=b;n=n+4|0;k[n>>2]=m;return}d=e>>31|1;l=c>>31|1;b=ha(d,h)|0;m=ha(h,l)|0;n=(e<<1)-b|0;i=(c<<1)-m|0;l=(ha(d,l)|0)>-1;b=((l?0-i|0:i)+b|0)/2|0;m=((l?0-n|0:n)+m|0)/2|0;n=a;k[n>>2]=b;k[n+4>>2]=m;b=b+j|0;m=m+j|0;n=a;l=n;k[l>>2]=b;n=n+4|0;k[n>>2]=m;return}function wj(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;p=a+8|0;k[p>>2]=e;q=k[a+24>>2]|0;r=k[a+28>>2]|0;o=e>>>0>1073741823?-1:e<<2;s=bq(o)|0;hq(s|0,0,o|0)|0;xj(p,s,b,c,0);o=a+32|0;n=k[o>>2]|0;f=k[n>>2]|0;if((k[n+4>>2]|0)-f>>2>>>0<=1){cq(s);return 1}l=q+64|0;m=q+28|0;n=(e|0)>0;j=1;do{f=k[f+(j<<2)>>2]|0;if(!((f|0)<0?1:(1<<(f&31)&k[(k[q>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(t=k[(k[(k[l>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(t|0)>-1):0){g=k[m>>2]|0;f=k[r>>2]|0;d=k[f+(k[g+(t<<2)>>2]<<2)>>2]|0;a=t+1|0;a=k[f+(k[g+((((a|0)%3|0|0)==0?t+-2|0:a)<<2)>>2]<<2)>>2]|0;g=k[f+(k[g+((((t|0)%3|0|0)==0?2:-1)+t<<2)>>2]<<2)>>2]|0;f=ha(j,e)|0;if((d|0)<(j|0)&(a|0)<(j|0)&(g|0)<(j|0)){i=ha(d,e)|0;h=ha(a,e)|0;d=ha(g,e)|0;if(n){a=0;do{k[s+(a<<2)>>2]=(k[c+(a+d<<2)>>2]|0)+(k[c+(a+h<<2)>>2]|0)-(k[c+(a+i<<2)>>2]|0);a=a+1|0}while((a|0)!=(e|0))}xj(p,s,b,c+(f<<2)|0,f)}else u=8}else{f=ha(j,e)|0;u=8}if((u|0)==8){u=0;xj(p,c+((ha(j+-1|0,e)|0)<<2)|0,b,c+(f<<2)|0,f)}j=j+1|0;i=k[o>>2]|0;f=k[i>>2]|0}while(j>>>0<(k[i+4>>2]|0)-f>>2>>>0);cq(s);return 1}function xj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;l=n+16|0;m=n+8|0;h=n;i=k[b>>2]|0;j=k[a+8>>2]<<1;if((i|0)>(j|0))Aa(8183,7806,104,8218);g=k[b+4>>2]|0;if((g|0)>(j|0))Aa(8239,7806,105,8218);f=k[c+(e<<2)>>2]|0;if((f|0)>(j|0))Aa(8274,7806,106,8218);b=k[c+(e+1<<2)>>2]|0;if((b|0)>(j|0))Aa(8314,7806,107,8218);if((i|0)<=-1)Aa(8021,7806,109,8218);if((g|0)<=-1)Aa(8043,7806,110,8218);if((f|0)<=-1)Aa(8358,7806,111,8218);if((b|0)>-1){k[l>>2]=f;k[l+4>>2]=b;k[h>>2]=i;k[h+4>>2]=g;vj(m,a,h,l);k[d>>2]=k[m>>2];k[d+4>>2]=k[m+4>>2];r=n;return}else Aa(8385,7806,112,8218)}function yj(a){a=a|0;Ip(a);return}function zj(a){a=a|0;return 2}function Aj(a){a=a|0;if(!(k[a+20>>2]|0)){a=0;return a|0}if(!(k[a+24>>2]|0)){a=0;return a|0}if(!(k[a+28>>2]|0)){a=0;return a|0}a=(k[a+32>>2]|0)!=0;return a|0}function Bj(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;t=a+8|0;k[t>>2]=e;u=k[a+24>>2]|0;v=k[a+28>>2]|0;s=e>>>0>1073741823?-1:e<<2;w=bq(s)|0;hq(w|0,0,s|0)|0;s=a+32|0;a=k[s>>2]|0;d=k[a+4>>2]|0;f=k[a>>2]|0;g=d-f|0;a:do if((g|0)>4){o=(e|0)>0;p=u+64|0;q=u+28|0;r=e<<2;m=g>>2;while(1){n=m+-1|0;if(d-f>>2>>>0<=n>>>0)break;l=k[f+(n<<2)>>2]|0;if(o)hq(w|0,0,r|0)|0;if((l|0)>-1){j=k[u>>2]|0;f=l;a=0;do{do if(((k[j+(f>>>5<<2)>>2]&1<<(f&31)|0)==0?(y=k[(k[(k[p>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(y|0)>-1):0)?(B=k[q>>2]|0,i=k[v>>2]|0,z=k[i+(k[B+(y<<2)>>2]<<2)>>2]|0,A=y+1|0,A=k[i+(k[B+((((A|0)%3|0|0)==0?y+-2|0:A)<<2)>>2]<<2)>>2]|0,B=k[i+(k[B+((((y|0)%3|0|0)==0?2:-1)+y<<2)>>2]<<2)>>2]|0,(z|0)<(n|0)&(A|0)<(n|0)&(B|0)<(n|0)):0){d=ha(z,e)|0;g=ha(A,e)|0;h=ha(B,e)|0;if(o)i=0;else{a=a+1|0;C=20;break}do{D=w+(i<<2)|0;k[D>>2]=(k[b+(i+h<<2)>>2]|0)+(k[b+(i+g<<2)>>2]|0)-(k[b+(i+d<<2)>>2]|0)+(k[D>>2]|0);i=i+1|0}while((i|0)!=(e|0));a=a+1|0;if((f|0)>=0)C=20}else C=20;while(0);do if((C|0)==20){C=0;if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);do if(!(1<<(f&31)&k[j+(f>>>5<<2)>>2])){if((f|0)>=0){f=k[(k[(k[p>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);f=(f|0)==(l|0)?-1073741824:f}while((f|0)>-1);f=ha(n,e)|0;if(!a)C=32;else{if(o){d=0;do{D=w+(d<<2)|0;k[D>>2]=(k[D>>2]|0)/(a|0)|0;d=d+1|0}while((d|0)!=(e|0))}tj(t,b+(f<<2)|0,w,c,f)}}else{f=ha(n,e)|0;C=32}if((C|0)==32){C=0;tj(t,b+(f<<2)|0,b+((ha(m+-2|0,e)|0)<<2)|0,c,f)}if((n|0)<=1){x=w;break a}a=k[s>>2]|0;f=k[a>>2]|0;d=k[a+4>>2]|0;m=n}zp(a)}else x=w;while(0);if((e|0)<=0){tj(t,b,x,c,0);cq(w);return 1}hq(w|0,0,e<<2|0)|0;tj(t,b,x,c,0);cq(w);return 1}function Cj(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;s=a+8|0;k[s>>2]=e;u=e>>>0>1073741823?-1:e<<2;t=bq(u)|0;hq(t|0,0,u|0)|0;xj(s,t,b,c,0);u=k[a+24>>2]|0;v=a+32|0;r=k[v>>2]|0;f=k[r>>2]|0;if((k[r+4>>2]|0)-f>>2>>>0<=1){cq(t);return 1}n=k[a+28>>2]|0;o=(e|0)>0;p=u+64|0;q=u+28|0;r=e<<2;m=1;do{l=k[f+(m<<2)>>2]|0;if(o)hq(t|0,0,r|0)|0;if((l|0)>-1){j=k[u>>2]|0;f=l;a=0;do{do if(((k[j+(f>>>5<<2)>>2]&1<<(f&31)|0)==0?(w=k[(k[(k[p>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(w|0)>-1):0)?(z=k[q>>2]|0,i=k[n>>2]|0,x=k[i+(k[z+(w<<2)>>2]<<2)>>2]|0,y=w+1|0,y=k[i+(k[z+((((y|0)%3|0|0)==0?w+-2|0:y)<<2)>>2]<<2)>>2]|0,z=k[i+(k[z+((((w|0)%3|0|0)==0?2:-1)+w<<2)>>2]<<2)>>2]|0,(x|0)<(m|0)&(y|0)<(m|0)&(z|0)<(m|0)):0){d=ha(x,e)|0;g=ha(y,e)|0;h=ha(z,e)|0;if(o)i=0;else{a=a+1|0;A=16;break}do{B=t+(i<<2)|0;k[B>>2]=(k[c+(i+h<<2)>>2]|0)+(k[c+(i+g<<2)>>2]|0)-(k[c+(i+d<<2)>>2]|0)+(k[B>>2]|0);i=i+1|0}while((i|0)!=(e|0));a=a+1|0;if((f|0)>=0)A=16}else A=16;while(0);do if((A|0)==16){A=0;if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);do if(!(1<<(f&31)&k[j+(f>>>5<<2)>>2])){if((f|0)>=0){f=k[(k[(k[p>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);f=(f|0)==(l|0)?-1073741824:f}while((f|0)>-1);f=ha(m,e)|0;if(!a)A=28;else{if(o){d=0;do{B=t+(d<<2)|0;k[B>>2]=(k[B>>2]|0)/(a|0)|0;d=d+1|0}while((d|0)!=(e|0))}xj(s,t,b,c+(f<<2)|0,f)}}else{f=ha(m,e)|0;A=28}if((A|0)==28){A=0;xj(s,c+((ha(m+-1|0,e)|0)<<2)|0,b,c+(f<<2)|0,f)}m=m+1|0;B=k[v>>2]|0;f=k[B>>2]|0}while(m>>>0<(k[B+4>>2]|0)-f>>2>>>0);cq(t);return 1}function Dj(a){a=a|0;var b=0;k[a>>2]=3920;b=k[a+52>>2]|0;if(b|0)Ip(b);a=a+44|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;cq(b);return}function Ej(a){a=a|0;var b=0,c=0;k[a>>2]=3920;b=k[a+52>>2]|0;if(b|0)Ip(b);c=a+44|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){Ip(a);return}cq(b);Ip(a);return}function Fj(a){a=a|0;return 3}function Gj(a){a=a|0;if(!(k[a+36>>2]|0))return 0;if(!(k[a+20>>2]|0))return 0;if(!(k[a+24>>2]|0))return 0;if(!(k[a+28>>2]|0))return 0;else return (k[a+32>>2]|0)!=0|0;return 0}function Hj(a){a=a|0;return 1}function Ij(a,b){a=a|0;b=b|0;if(!b)return 0;else Aa(8735,8746,75,8826);return 0}function Jj(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){a=0;return a|0}if((i[b+24>>0]|0)!=3){a=0;return a|0}k[a+36>>2]=b;a=1;return a|0}function Kj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n+40|0;l=n+36|0;c=n+32|0;m=n;d=a+56|0;k[c>>2]=k[d>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0)){k[l>>2]=k[b+4>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0}jd(m);nd(m);c=k[a+52>>2]|0;g=k[d>>2]|0;f=g>>>5;h=c+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){f=c;c=1;while(1){if(d){e=0;d=c;while(1){c=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){kd(m);r=n;return 1}d=b+4|0;k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0;h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){kd(m);r=n;return 1}k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0;kd(m);r=n;return 1}function Lj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;o=p;j=b+8|0;g=j;h=k[g>>2]|0;g=k[g+4>>2]|0;n=b+16|0;d=n;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){o=0;r=p;return o|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=n;k[g>>2]=d;k[g+4>>2]=e;d=a+52|0;hi(d,h,0);qd(o);sd(o,b);if((h|0)>0){f=0;g=1;do{g=g^((td(o)|0)^1);e=(k[d>>2]|0)+(f>>>5<<2)|0;c=1<<(f&31);if(g)c=k[e>>2]|c;else c=k[e>>2]&~c;k[e>>2]=c;f=f+1|0}while((f|0)<(h|0))}e=j;g=k[e>>2]|0;e=k[e+4>>2]|0;h=n;c=k[h>>2]|0;h=jq(c|0,k[h+4>>2]|0,4,0)|0;f=L;if(!((e|0)<(f|0)|(e|0)==(f|0)&g>>>0>>0)?(g=a+12|0,e=(k[b>>2]|0)+c|0,e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24,i[g>>0]=e,i[g+1>>0]=e>>8,i[g+2>>0]=e>>16,i[g+3>>0]=e>>24,g=n,e=k[g>>2]|0,g=k[g+4>>2]|0,m=jq(e|0,g|0,4,0)|0,f=n,k[f>>2]=m,k[f+4>>2]=L,f=j,h=k[f>>2]|0,f=k[f+4>>2]|0,j=jq(e|0,g|0,8,0)|0,g=L,!((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0)):0){a=a+16|0;c=(k[b>>2]|0)+m|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[a>>0]=c;i[a+1>>0]=c>>8;i[a+2>>0]=c>>16;i[a+3>>0]=c>>24;a=n;a=jq(k[a>>2]|0,k[a+4>>2]|0,4,0)|0;c=n;k[c>>2]=a;k[c+4>>2]=L;c=1}else c=0;rd(o);o=c;r=p;return o|0}function Mj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;n=p+4|0;o=p;k[a+48>>2]=e;k[a+40>>2]=f;m=a+44|0;l=bq(e>>>0>1073741823?-1:e<<2)|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)cq(d);l=a+8|0;k[l>>2]=e;j=a+32|0;g=k[j>>2]|0;f=k[g+4>>2]|0;d=k[g>>2]|0;h=f-d|0;if((h|0)<=0){r=p;return 1}i=f;f=(h>>2)+-1|0;while(1){if(i-d>>2>>>0<=f>>>0){d=8;break}k[o>>2]=k[d+(f<<2)>>2];k[n>>2]=k[o>>2];Nj(a,n,b,f);i=ha(f,e)|0;tj(l,b+(i<<2)|0,k[m>>2]|0,c,i);f=f+-1|0;if((f|0)<=-1){d=5;break}g=k[j>>2]|0;d=k[g>>2]|0;i=k[g+4>>2]|0}if((d|0)==5){r=p;return 1}else if((d|0)==8)zp(g);return 0}function Nj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;i=a+24|0;e=k[b>>2]|0;do if((e|0)>=0){b=e+1|0;b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e|0)%3|0)){g=e+2|0;break}else{g=e+-1|0;break}}else{g=e;b=e}while(0);e=k[(k[i>>2]|0)+28>>2]|0;b=k[e+(b<<2)>>2]|0;e=k[e+(g<<2)>>2]|0;g=k[a+28>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)zp(g);n=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=e>>>0)zp(g);e=k[j+(e<<2)>>2]|0;b=(n|0)<(d|0);if(!(b&(e|0)<(d|0))){do if(b){i=a+48|0;g=k[i>>2]|0;b=g;g=ha(g,n)|0}else{if((d|0)>0){i=a+48|0;g=k[i>>2]|0;b=g;g=ha(g,d+-1|0)|0;break}g=a+48|0;if((k[g>>2]|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+g<<2)>>2];e=e+1|0}while((e|0)<(k[i>>2]|0));r=t;return}b=a+48|0;j=k[b>>2]|0;i=ha(j,n)|0;f=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);j=ha(j,e)|0;l=+(k[c+(j<<2)>>2]|0);m=+(k[c+(j+1<<2)>>2]|0);if(!(l!=f|m!=h)){a=k[a+44>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~m;r=t;return}Oj(s,a,d);Oj(p,a,n);Oj(q,a,e);B=+o[p>>2];x=+o[q>>2]-B;A=+o[p+4>>2];w=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=x*x+0.0+w*w+y*y;u=(x*B+0.0+w*A+y*z)/v;x=B-x*u;w=A-w*u;y=z-y*u;v=+X(+((y*y+(w*w+(x*x+0.0)))/v));x=l-f;w=m-h;l=f+x*u;m=x*v;u=h+w*u;v=w*v;h=l-v;f=m+u;l=v+l;m=u-m;i=ha(k[b>>2]|0,d)|0;u=+(k[c+(i<<2)>>2]|0);v=+(k[c+(i+1<<2)>>2]|0);w=u-h;x=v-f;u=u-l;v=v-m;i=a+52|0;j=a+56|0;b=k[j>>2]|0;e=k[a+60>>2]|0;g=(b|0)==(e<<5|0);if(x*x+(w*w+0.0)>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Cd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31)}else{if(g){if((b+1|0)<0)yp(i);if(e<<5>>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Cd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(b&31));h=l;f=m}c=~~+V(+(h+.5));a=k[a+44>>2]|0;k[a>>2]=c;c=~~+V(+(f+.5));k[a+4>>2]=c;r=t;return}function Oj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+40>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+36>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];Bc(b,d,a)|0;r=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];Ic(b,d,a)|0;r=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];Pc(b,d,a)|0;r=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];Wc(b,d,a)|0;r=j;return}default:{r=j;return}}}function Pj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+16|0;j=m+4|0;l=m;k[a+48>>2]=e;k[a+40>>2]=f;i=a+44|0;h=bq(e>>>0>1073741823?-1:e<<2)|0;d=k[i>>2]|0;k[i>>2]=h;if(d|0)cq(d);h=a+8|0;k[h>>2]=e;g=a+32|0;f=k[g>>2]|0;d=k[f>>2]|0;if((k[f+4>>2]|0)==(d|0)){r=m;return 1}f=0;do{k[l>>2]=k[d+(f<<2)>>2];k[j>>2]=k[l>>2];Qj(a,j,c,f);n=ha(f,e)|0;xj(h,k[i>>2]|0,b,c+(n<<2)|0,n);f=f+1|0;n=k[g>>2]|0;d=k[n>>2]|0}while(f>>>0<(k[n+4>>2]|0)-d>>2>>>0);r=m;return 1}function Qj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0.0,i=0,j=0.0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;g=a+24|0;e=k[b>>2]|0;do if((e|0)>=0){b=e+1|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);e=k[(k[g>>2]|0)+28>>2]|0;b=k[e+(b<<2)>>2]|0;e=k[e+(f<<2)>>2]|0;f=k[a+28>>2]|0;g=k[f+4>>2]|0;i=k[f>>2]|0;if(g-i>>2>>>0<=b>>>0)zp(f);n=k[i+(b<<2)>>2]|0;if(g-i>>2>>>0<=e>>>0)zp(f);e=k[i+(e<<2)>>2]|0;b=(n|0)<(d|0);if(b&(e|0)<(d|0)){i=k[a+48>>2]|0;g=ha(i,n)|0;j=+(k[c+(g<<2)>>2]|0);l=+(k[c+(g+1<<2)>>2]|0);i=ha(i,e)|0;m=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);if(m!=j|h!=l){Oj(s,a,d);Oj(p,a,n);Oj(q,a,e);B=+o[p>>2];w=+o[q>>2]-B;A=+o[p+4>>2];x=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=w*w+0.0+x*x+y*y;u=(w*B+0.0+x*A+y*z)/v;w=B-w*u;x=A-x*u;y=z-y*u;v=+X(+((y*y+(x*x+(w*w+0.0)))/v));w=m-j;h=h-l;m=w*v;v=h*v;d=a+56|0;s=(k[d>>2]|0)+-1|0;c=(1<<(s&31)&k[(k[a+52>>2]|0)+(s>>>5<<2)>>2]|0)==0;k[d>>2]=s;d=~~+V(+(j+w*u+(c?v:-v)+.5));a=k[a+44>>2]|0;k[a>>2]=d;c=~~+V(+(l+h*u+(c?-m:m)+.5));k[a+4>>2]=c;r=t;return}else{a=k[a+44>>2]|0;k[a>>2]=~~m;k[a+4>>2]=~~h;r=t;return}}do if(b){g=a+48|0;f=k[g>>2]|0;b=f;f=ha(f,n)|0}else{if((d|0)>0){g=a+48|0;f=k[g>>2]|0;b=f;f=ha(f,d+-1|0)|0;break}f=a+48|0;if((k[f>>2]|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[f>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+f<<2)>>2];e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}function Rj(a){a=a|0;Ip(a);return}function Sj(a){a=a|0;return 1}function Tj(a){a=a|0;if(!(k[a+20>>2]|0)){a=0;return a|0}if(!(k[a+24>>2]|0)){a=0;return a|0}if(!(k[a+28>>2]|0)){a=0;return a|0}a=(k[a+32>>2]|0)!=0;return a|0}function Uj(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;p=a+8|0;k[p>>2]=e;r=e>>>0>1073741823?-1:e<<2;q=bq(r)|0;hq(q|0,0,r|0)|0;r=k[a+24>>2]|0;s=a+32|0;d=k[s>>2]|0;g=k[d+4>>2]|0;f=k[d>>2]|0;h=g-f|0;a:do if((h|0)>4){m=k[a+28>>2]|0;n=r+12|0;o=(e|0)>0;j=h>>2;while(1){l=j+-1|0;if(g-f>>2>>>0<=l>>>0)break;f=k[f+(l<<2)>>2]|0;if((f|0)>=0?(u=k[(k[n>>2]|0)+(f<<2)>>2]|0,(u|0)>-1):0){a=k[r>>2]|0;d=(u|0)%3|0;g=k[m>>2]|0;h=k[g+(k[a+(((u|0)/3|0)*12|0)+(d<<2)>>2]<<2)>>2]|0;f=u+1|0;f=((f|0)%3|0|0)==0?u+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[a+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;i=k[g+(f<<2)>>2]|0;f=((d|0)==0?2:-1)+u|0;if((f|0)<0)f=-1073741824;else f=k[a+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;d=k[g+(f<<2)>>2]|0;f=ha(l,e)|0;if((h|0)<(l|0)&(i|0)<(l|0)&(d|0)<(l|0)){h=ha(h,e)|0;g=ha(i,e)|0;d=ha(d,e)|0;if(o){a=0;do{k[q+(a<<2)>>2]=(k[b+(a+d<<2)>>2]|0)+(k[b+(a+g<<2)>>2]|0)-(k[b+(a+h<<2)>>2]|0);a=a+1|0}while((a|0)!=(e|0))}tj(p,b+(f<<2)|0,q,c,f)}else v=16}else{f=ha(l,e)|0;v=16}if((v|0)==16){v=0;tj(p,b+(f<<2)|0,b+((ha(j+-2|0,e)|0)<<2)|0,c,f)}if((l|0)<=1){t=q;break a}d=k[s>>2]|0;f=k[d>>2]|0;g=k[d+4>>2]|0;j=l}zp(d)}else t=q;while(0);if((e|0)<=0){tj(p,b,t,c,0);cq(q);return 1}hq(q|0,0,e<<2|0)|0;tj(p,b,t,c,0);cq(q);return 1}function Vj(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;o=a+8|0;k[o>>2]=e;p=k[a+24>>2]|0;q=k[a+28>>2]|0;n=e>>>0>1073741823?-1:e<<2;r=bq(n)|0;hq(r|0,0,n|0)|0;xj(o,r,b,c,0);n=a+32|0;m=k[n>>2]|0;f=k[m>>2]|0;if((k[m+4>>2]|0)-f>>2>>>0<=1){cq(r);return 1}l=p+12|0;m=(e|0)>0;j=1;do{f=k[f+(j<<2)>>2]|0;if((f|0)>=0?(s=k[(k[l>>2]|0)+(f<<2)>>2]|0,(s|0)>-1):0){a=k[p>>2]|0;d=(s|0)%3|0;g=k[q>>2]|0;h=k[g+(k[a+(((s|0)/3|0)*12|0)+(d<<2)>>2]<<2)>>2]|0;f=s+1|0;f=((f|0)%3|0|0)==0?s+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[a+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;i=k[g+(f<<2)>>2]|0;f=((d|0)==0?2:-1)+s|0;if((f|0)<0)f=-1073741824;else f=k[a+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;d=k[g+(f<<2)>>2]|0;f=ha(j,e)|0;if((h|0)<(j|0)&(i|0)<(j|0)&(d|0)<(j|0)){h=ha(h,e)|0;g=ha(i,e)|0;d=ha(d,e)|0;if(m){a=0;do{k[r+(a<<2)>>2]=(k[c+(a+d<<2)>>2]|0)+(k[c+(a+g<<2)>>2]|0)-(k[c+(a+h<<2)>>2]|0);a=a+1|0}while((a|0)!=(e|0))}xj(o,r,b,c+(f<<2)|0,f)}else t=12}else{f=ha(j,e)|0;t=12}if((t|0)==12){t=0;xj(o,c+((ha(j+-1|0,e)|0)<<2)|0,b,c+(f<<2)|0,f)}j=j+1|0;i=k[n>>2]|0;f=k[i>>2]|0}while(j>>>0<(k[i+4>>2]|0)-f>>2>>>0);cq(r);return 1}function Wj(a){a=a|0;Ip(a);return}function Xj(a){a=a|0;return 2}function Yj(a){a=a|0;if(!(k[a+20>>2]|0)){a=0;return a|0}if(!(k[a+24>>2]|0)){a=0;return a|0}if(!(k[a+28>>2]|0)){a=0;return a|0}a=(k[a+32>>2]|0)!=0;return a|0}function Zj(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;v=a+8|0;k[v>>2]=e;w=k[a+24>>2]|0;x=k[a+28>>2]|0;u=e>>>0>1073741823?-1:e<<2;y=bq(u)|0;hq(y|0,0,u|0)|0;u=a+32|0;a=k[u>>2]|0;d=k[a+4>>2]|0;f=k[a>>2]|0;g=d-f|0;a:do if((g|0)>4){r=(e|0)>0;s=w+12|0;t=e<<2;p=g>>2;while(1){q=p+-1|0;if(d-f>>2>>>0<=q>>>0)break;o=k[f+(q<<2)>>2]|0;if(r)hq(y|0,0,t|0)|0;if((o|0)>-1){n=k[s>>2]|0;m=o;a=0;do{d=k[n+(m<<2)>>2]|0;if((d|0)>-1){h=k[w>>2]|0;g=(d|0)%3|0;i=k[x>>2]|0;l=k[i+(k[h+(((d|0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;f=d+1|0;f=((f|0)%3|0|0)==0?d+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;j=k[i+(f<<2)>>2]|0;f=((g|0)==0?2:-1)+d|0;if((f|0)<0)f=-1073741824;else f=k[h+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;if((l|0)<(q|0)&(j|0)<(q|0)&(f|0)<(q|0)){h=ha(l,e)|0;g=ha(j,e)|0;f=ha(f,e)|0;if(r){d=0;do{l=y+(d<<2)|0;k[l>>2]=(k[b+(d+f<<2)>>2]|0)+(k[b+(d+g<<2)>>2]|0)-(k[b+(d+h<<2)>>2]|0)+(k[l>>2]|0);d=d+1|0}while((d|0)!=(e|0))}a=a+1|0}}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=ha(q,e)|0;if(!a)A=30;else{if(r){d=0;do{p=y+(d<<2)|0;k[p>>2]=(k[p>>2]|0)/(a|0)|0;d=d+1|0}while((d|0)!=(e|0))}tj(v,b+(f<<2)|0,y,c,f)}}else{f=ha(q,e)|0;A=30}if((A|0)==30){A=0;tj(v,b+(f<<2)|0,b+((ha(p+-2|0,e)|0)<<2)|0,c,f)}if((q|0)<=1){z=y;break a}a=k[u>>2]|0;f=k[a>>2]|0;d=k[a+4>>2]|0;p=q}zp(a)}else z=y;while(0);if((e|0)<=0){tj(v,b,z,c,0);cq(y);return 1}hq(y|0,0,e<<2|0)|0;tj(v,b,z,c,0);cq(y);return 1}function _j(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;u=a+8|0;k[u>>2]=e;w=e>>>0>1073741823?-1:e<<2;v=bq(w)|0;hq(v|0,0,w|0)|0;xj(u,v,b,c,0);w=k[a+24>>2]|0;x=a+32|0;t=k[x>>2]|0;f=k[t>>2]|0;if((k[t+4>>2]|0)-f>>2>>>0<=1){cq(v);return 1}q=k[a+28>>2]|0;r=(e|0)>0;s=w+12|0;t=e<<2;p=1;do{o=k[f+(p<<2)>>2]|0;if(r)hq(v|0,0,t|0)|0;if((o|0)>-1){n=k[s>>2]|0;m=o;a=0;do{d=k[n+(m<<2)>>2]|0;if((d|0)>-1){h=k[w>>2]|0;g=(d|0)%3|0;i=k[q>>2]|0;l=k[i+(k[h+(((d|0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;f=d+1|0;f=((f|0)%3|0|0)==0?d+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;j=k[i+(f<<2)>>2]|0;f=((g|0)==0?2:-1)+d|0;if((f|0)<0)f=-1073741824;else f=k[h+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;if((l|0)<(p|0)&(j|0)<(p|0)&(f|0)<(p|0)){h=ha(l,e)|0;g=ha(j,e)|0;f=ha(f,e)|0;if(r){d=0;do{l=v+(d<<2)|0;k[l>>2]=(k[c+(d+f<<2)>>2]|0)+(k[c+(d+g<<2)>>2]|0)-(k[c+(d+h<<2)>>2]|0)+(k[l>>2]|0);d=d+1|0}while((d|0)!=(e|0))}a=a+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=ha(p,e)|0;if(!a)y=26;else{if(r){d=0;do{o=v+(d<<2)|0;k[o>>2]=(k[o>>2]|0)/(a|0)|0;d=d+1|0}while((d|0)!=(e|0))}xj(u,v,b,c+(f<<2)|0,f)}}else{f=ha(p,e)|0;y=26}if((y|0)==26){y=0;xj(u,c+((ha(p+-1|0,e)|0)<<2)|0,b,c+(f<<2)|0,f)}p=p+1|0;o=k[x>>2]|0;f=k[o>>2]|0}while(p>>>0<(k[o+4>>2]|0)-f>>2>>>0);cq(v);return 1}function $j(a){a=a|0;var b=0;k[a>>2]=4112;b=k[a+52>>2]|0;if(b|0)Ip(b);a=a+44|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;cq(b);return}function ak(a){a=a|0;var b=0,c=0;k[a>>2]=4112;b=k[a+52>>2]|0;if(b|0)Ip(b);c=a+44|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){Ip(a);return}cq(b);Ip(a);return}function bk(a){a=a|0;return 3}function ck(a){a=a|0;if(!(k[a+36>>2]|0))return 0;if(!(k[a+20>>2]|0))return 0;if(!(k[a+24>>2]|0))return 0;if(!(k[a+28>>2]|0))return 0;else return (k[a+32>>2]|0)!=0|0;return 0}function dk(a){a=a|0;return 1}function ek(a,b){a=a|0;b=b|0;if(!b)return 0;else Aa(8735,8746,75,8826);return 0}function fk(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){a=0;return a|0}if((i[b+24>>0]|0)!=3){a=0;return a|0}k[a+36>>2]=b;a=1;return a|0}function gk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n+40|0;l=n+36|0;c=n+32|0;m=n;d=a+56|0;k[c>>2]=k[d>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0)){k[l>>2]=k[b+4>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0}jd(m);nd(m);c=k[a+52>>2]|0;g=k[d>>2]|0;f=g>>>5;h=c+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){f=c;c=1;while(1){if(d){e=0;d=c;while(1){c=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){kd(m);r=n;return 1}d=b+4|0;k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0;h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){kd(m);r=n;return 1}k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0;kd(m);r=n;return 1}function hk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;o=p;j=b+8|0;g=j;h=k[g>>2]|0;g=k[g+4>>2]|0;n=b+16|0;d=n;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){o=0;r=p;return o|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=n;k[g>>2]=d;k[g+4>>2]=e;d=a+52|0;hi(d,h,0);qd(o);sd(o,b);if((h|0)>0){f=0;g=1;do{g=g^((td(o)|0)^1);e=(k[d>>2]|0)+(f>>>5<<2)|0;c=1<<(f&31);if(g)c=k[e>>2]|c;else c=k[e>>2]&~c;k[e>>2]=c;f=f+1|0}while((f|0)<(h|0))}e=j;g=k[e>>2]|0;e=k[e+4>>2]|0;h=n;c=k[h>>2]|0;h=jq(c|0,k[h+4>>2]|0,4,0)|0;f=L;if(!((e|0)<(f|0)|(e|0)==(f|0)&g>>>0>>0)?(g=a+12|0,e=(k[b>>2]|0)+c|0,e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24,i[g>>0]=e,i[g+1>>0]=e>>8,i[g+2>>0]=e>>16,i[g+3>>0]=e>>24,g=n,e=k[g>>2]|0,g=k[g+4>>2]|0,m=jq(e|0,g|0,4,0)|0,f=n,k[f>>2]=m,k[f+4>>2]=L,f=j,h=k[f>>2]|0,f=k[f+4>>2]|0,j=jq(e|0,g|0,8,0)|0,g=L,!((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0)):0){a=a+16|0;c=(k[b>>2]|0)+m|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[a>>0]=c;i[a+1>>0]=c>>8;i[a+2>>0]=c>>16;i[a+3>>0]=c>>24;a=n;a=jq(k[a>>2]|0,k[a+4>>2]|0,4,0)|0;c=n;k[c>>2]=a;k[c+4>>2]=L;c=1}else c=0;rd(o);o=c;r=p;return o|0}function ik(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;n=p+4|0;o=p;k[a+48>>2]=e;k[a+40>>2]=f;m=a+44|0;l=bq(e>>>0>1073741823?-1:e<<2)|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)cq(d);l=a+8|0;k[l>>2]=e;j=a+32|0;g=k[j>>2]|0;f=k[g+4>>2]|0;d=k[g>>2]|0;h=f-d|0;if((h|0)<=0){r=p;return 1}i=f;f=(h>>2)+-1|0;while(1){if(i-d>>2>>>0<=f>>>0){d=8;break}k[o>>2]=k[d+(f<<2)>>2];k[n>>2]=k[o>>2];jk(a,n,b,f);i=ha(f,e)|0;tj(l,b+(i<<2)|0,k[m>>2]|0,c,i);f=f+-1|0;if((f|0)<=-1){d=5;break}g=k[j>>2]|0;d=k[g>>2]|0;i=k[g+4>>2]|0}if((d|0)==5){r=p;return 1}else if((d|0)==8)zp(g);return 0}function jk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;i=a+24|0;b=k[b>>2]|0;if((b|0)>=0){e=b+1|0;e=((e|0)%3|0|0)==0?b+-2|0:e;g=b+(((b|0)%3|0|0)==0?2:-1)|0;if((e|0)<0)b=-1073741824;else b=k[(k[k[i>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((g|0)<0)e=-1073741824;else e=k[(k[k[i>>2]>>2]|0)+(((g|0)/3|0)*12|0)+(((g|0)%3|0)<<2)>>2]|0}else{b=-1073741824;e=-1073741824}g=k[a+28>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)zp(g);n=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=e>>>0)zp(g);e=k[j+(e<<2)>>2]|0;b=(n|0)<(d|0);if(!(b&(e|0)<(d|0))){do if(b){i=a+48|0;g=k[i>>2]|0;b=g;g=ha(g,n)|0}else{if((d|0)>0){i=a+48|0;g=k[i>>2]|0;b=g;g=ha(g,d+-1|0)|0;break}g=a+48|0;if((k[g>>2]|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+g<<2)>>2];e=e+1|0}while((e|0)<(k[i>>2]|0));r=t;return}b=a+48|0;j=k[b>>2]|0;i=ha(j,n)|0;f=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);j=ha(j,e)|0;l=+(k[c+(j<<2)>>2]|0);m=+(k[c+(j+1<<2)>>2]|0);if(!(l!=f|m!=h)){a=k[a+44>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~m;r=t;return}kk(s,a,d);kk(p,a,n);kk(q,a,e);B=+o[p>>2];x=+o[q>>2]-B;A=+o[p+4>>2];w=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=x*x+0.0+w*w+y*y;u=(x*B+0.0+w*A+y*z)/v;x=B-x*u;w=A-w*u;y=z-y*u;v=+X(+((y*y+(w*w+(x*x+0.0)))/v));x=l-f;w=m-h;l=f+x*u;m=x*v;u=h+w*u;v=w*v;h=l-v;f=m+u;l=v+l;m=u-m;i=ha(k[b>>2]|0,d)|0;u=+(k[c+(i<<2)>>2]|0);v=+(k[c+(i+1<<2)>>2]|0);w=u-h;x=v-f;u=u-l;v=v-m;i=a+52|0;j=a+56|0;b=k[j>>2]|0;e=k[a+60>>2]|0;g=(b|0)==(e<<5|0);if(x*x+(w*w+0.0)>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Cd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31)}else{if(g){if((b+1|0)<0)yp(i);if(e<<5>>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Cd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(b&31));h=l;f=m}c=~~+V(+(h+.5));a=k[a+44>>2]|0;k[a>>2]=c;c=~~+V(+(f+.5));k[a+4>>2]=c;r=t;return}function kk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+40>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+36>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];Bc(b,d,a)|0;r=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];Ic(b,d,a)|0;r=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];Pc(b,d,a)|0;r=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];Wc(b,d,a)|0;r=j;return}default:{r=j;return}}}function lk(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;m=r;r=r+16|0;j=m+4|0;l=m;k[a+48>>2]=e;k[a+40>>2]=f;i=a+44|0;h=bq(e>>>0>1073741823?-1:e<<2)|0;d=k[i>>2]|0;k[i>>2]=h;if(d|0)cq(d);h=a+8|0;k[h>>2]=e;g=a+32|0;f=k[g>>2]|0;d=k[f>>2]|0;if((k[f+4>>2]|0)==(d|0)){r=m;return 1}f=0;do{k[l>>2]=k[d+(f<<2)>>2];k[j>>2]=k[l>>2];mk(a,j,c,f);n=ha(f,e)|0;xj(h,k[i>>2]|0,b,c+(n<<2)|0,n);f=f+1|0;n=k[g>>2]|0;d=k[n>>2]|0}while(f>>>0<(k[n+4>>2]|0)-d>>2>>>0);r=m;return 1}function mk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0.0,i=0.0,j=0.0,l=0.0,m=0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;f=a+24|0;b=k[b>>2]|0;if((b|0)>=0){e=b+1|0;e=((e|0)%3|0|0)==0?b+-2|0:e;b=b+(((b|0)%3|0|0)==0?2:-1)|0;if((e|0)<0)e=-1073741824;else e=k[(k[k[f>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((b|0)<0)m=-1073741824;else m=k[(k[k[f>>2]>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0}else{m=-1073741824;e=-1073741824}b=k[a+28>>2]|0;f=k[b+4>>2]|0;g=k[b>>2]|0;if(f-g>>2>>>0<=e>>>0)zp(b);n=k[g+(e<<2)>>2]|0;if(f-g>>2>>>0<=m>>>0)zp(b);e=k[g+(m<<2)>>2]|0;b=(n|0)<(d|0);if(b&(e|0)<(d|0)){m=k[a+48>>2]|0;g=ha(m,n)|0;i=+(k[c+(g<<2)>>2]|0);j=+(k[c+(g+1<<2)>>2]|0);m=ha(m,e)|0;l=+(k[c+(m<<2)>>2]|0);h=+(k[c+(m+1<<2)>>2]|0);if(l!=i|h!=j){kk(s,a,d);kk(p,a,n);kk(q,a,e);B=+o[p>>2];w=+o[q>>2]-B;A=+o[p+4>>2];x=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=w*w+0.0+x*x+y*y;u=(w*B+0.0+x*A+y*z)/v;w=B-w*u;x=A-x*u;y=z-y*u;v=+X(+((y*y+(x*x+(w*w+0.0)))/v));w=l-i;h=h-j;l=w*v;v=h*v;d=a+56|0;s=(k[d>>2]|0)+-1|0;c=(1<<(s&31)&k[(k[a+52>>2]|0)+(s>>>5<<2)>>2]|0)==0;k[d>>2]=s;d=~~+V(+(i+w*u+(c?v:-v)+.5));a=k[a+44>>2]|0;k[a>>2]=d;c=~~+V(+(j+h*u+(c?-l:l)+.5));k[a+4>>2]=c;r=t;return}else{a=k[a+44>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~h;r=t;return}}do if(b){g=a+48|0;f=k[g>>2]|0;b=f;f=ha(f,n)|0}else{if((d|0)>0){g=a+48|0;f=k[g>>2]|0;b=f;f=ha(f,d+-1|0)|0;break}f=a+48|0;if((k[f>>2]|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[f>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+f<<2)>>2];e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}function nk(a){a=a|0;Ip(a);return}function ok(a){a=a|0;return 0}function pk(a){a=a|0;return 1}function qk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=a+8|0;k[g>>2]=e;f=d-e|0;if((f|0)>0){a=0-e|0;do{d=b+(f<<2)|0;tj(g,d,d+(a<<2)|0,c,f);f=f-e|0}while((f|0)>0)}d=e>>>0>1073741823?-1:e<<2;e=bq(d)|0;hq(e|0,0,d|0)|0;tj(g,b,e,c,0);cq(e);return 1}function rk(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;f=a+8|0;k[f>>2]=e;h=e>>>0>1073741823?-1:e<<2;a=bq(h)|0;hq(a|0,0,h|0)|0;xj(f,a,b,c,0);if((e|0)>=(d|0)){cq(a);return 1}g=0-e|0;h=e;do{i=c+(h<<2)|0;xj(f,i+(g<<2)|0,b,i,h);h=h+e|0}while((h|0)<(d|0));cq(a);return 1}function sk(a){a=a|0;return 2}function tk(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;n=p;l=a+8|0;m=i[(k[l>>2]|0)+24>>0]<<2;if(!b){r=p;return 1}o=a+16|0;j=a+20|0;c=+((1<>2])+-1|0)+-1.0;f=0;g=0;h=0;while(1){a=h|1;d=k[j>>2]|0;e=k[o>>2]|0;if(d-e>>2>>>0<=h>>>0){a=6;break}if(d-e>>2>>>0<=a>>>0){a=8;break}uk(+(k[e+(h<<2)>>2]|0)/c,+(k[e+(a<<2)>>2]|0)/c,n);lq((k[k[(k[l>>2]|0)+64>>2]>>2]|0)+g|0,n|0,m|0)|0;f=f+1|0;if((f|0)==(b|0)){a=3;break}else{g=g+m|0;h=h+2|0}}if((a|0)==3){r=p;return 1}else if((a|0)==6)zp(o);else if((a|0)==8)zp(o);return 0}function uk(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,h=0.0,i=0;e=a+b;d=a-b;if(!(d<=.5)|(!(d>=-.5)|(!(e>=.5)|!(e<=1.5)))){do if(!(e<=.5)){if(e>=1.5){e=1.5-b;b=1.5-a;break}if(!(d<=-.5)){e=b+.5;b=a+-.5;break}else{e=b+-.5;b=a+.5;break}}else{e=.5-b;b=.5-a}while(0);a=e;d=e-b;e=b+e;f=-1.0}else f=1.0;g=a*2.0+-1.0;b=b*2.0+-1.0;h=e*2.0;e=h+-1.0;h=3.0-h;d=d*2.0;a=d+1.0;d=1.0-d;a=d>2]=0.0;h=0.0;g=0.0;i=c+4|0;o[i>>2]=g;c=c+8|0;o[c>>2]=h;return}else{f=1.0/+X(+a);o[c>>2]=d*f;h=b*f;g=g*f;i=c+4|0;o[i>>2]=g;i=c+8|0;o[i>>2]=h;return}}function vk(a){a=a|0;Ti(a);k[a>>2]=3740;k[a+32>>2]=-1;return}function wk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=4240;e=a+48|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);d=k[a+36>>2]|0;e=d;if(d|0){b=a+40|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-e|0)>>>2)<<2);Ip(d)}d=a+24|0;b=k[d>>2]|0;if(b|0){e=a+28|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[e>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Ip(b)}k[a>>2]=2948;d=k[a+4>>2]|0;if(!d)return;b=a+8|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);Ip(d);return}function xk(a){a=a|0;wk(a);Ip(a);return}function yk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;if(!(Vg(a,b)|0)){a=0;return a|0}l=a+24|0;m=a+4|0;n=a+8|0;f=(k[n>>2]|0)-(k[m>>2]|0)>>2;h=a+28|0;c=k[h>>2]|0;e=k[l>>2]|0;d=c-e>>2;if(f>>>0<=d>>>0){if(f>>>0>>0?(g=e+(f<<2)|0,(c|0)!=(g|0)):0)do{j=c+-4|0;k[h>>2]=j;c=k[j>>2]|0;k[j>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[h>>2]|0}while((c|0)!=(g|0))}else zk(l,f-d|0);e=b+8|0;if(((k[n>>2]|0)-(k[m>>2]|0)|0)<=0){a=1;return a|0}f=b+16|0;g=a+16|0;h=a+4|0;j=0;while(1){o=e;p=k[o+4>>2]|0;d=f;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((p|0)>(d|0)|((p|0)==(d|0)?(k[o>>2]|0)>>>0>c>>>0:0))){c=0;d=17;break}o=i[(k[b>>2]|0)+c>>0]|0;c=jq(c|0,d|0,1,0)|0;p=f;k[p>>2]=c;k[p+4>>2]=L;p=(k[l>>2]|0)+(j<<2)|0;o=gb[k[(k[a>>2]|0)+20>>2]&63](a,o)|0;c=k[p>>2]|0;k[p>>2]=o;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[(k[l>>2]|0)+(j<<2)>>2]|0;if(!c){c=0;d=17;break}if(!(_a[k[(k[c>>2]|0)+8>>2]&31](c,k[g>>2]|0,k[(k[h>>2]|0)+(j<<2)>>2]|0)|0)){c=0;d=17;break}j=j+1|0;if((j|0)>=((k[n>>2]|0)-(k[m>>2]|0)>>2|0)){c=1;d=17;break}}if((d|0)==17)return c|0;return 0}function zk(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;d=k[m>>2]|0;n=a+4|0;c=k[n>>2]|0;if(d-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[n>>2]=c+(b<<2);return}f=k[a>>2]|0;e=(c-f>>2)+b|0;if(e>>>0>1073741823)yp(a);l=f;c=d-f|0;if(c>>2>>>0<536870911){d=c>>1;d=d>>>0>>0?e:d;c=k[n>>2]|0;e=c-f>>2;if(!d){h=0;i=0;g=e}else j=8}else{e=k[n>>2]|0;d=1073741823;c=e;e=e-f>>2;j=8}if((j|0)==8){h=d;i=$p(d<<2)|0;g=e}e=i+(g<<2)|0;hq(e|0,0,b<<2|0)|0;d=e;h=i+(h<<2)|0;g=i+(g+b<<2)|0;if((c|0)!=(l|0)){do{c=c+-4|0;b=k[c>>2]|0;k[c>>2]=0;k[e+-4>>2]=b;e=d+-4|0;d=e}while((c|0)!=(l|0));c=d;d=c;f=k[a>>2]|0;c=k[n>>2]|0}k[a>>2]=d;k[n>>2]=g;k[m>>2]=h;e=f;if((c|0)!=(e|0))do{c=c+-4|0;d=k[c>>2]|0;k[c>>2]=0;if(d|0)ab[k[(k[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!f)return;Ip(f);return}function Ak(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;h=a+48|0;c=k[h>>2]|0;if(!c){b=0;return b|0}o=a+36|0;k[c+4>>2]=o;if(!(cb[k[(k[c>>2]|0)+12>>2]&127](c)|0)){b=0;return b|0}n=a+4|0;m=a+8|0;c=k[m>>2]|0;d=k[n>>2]|0;a:do if((c-d|0)>0){g=a+16|0;f=0;while(1){e=k[(k[g>>2]|0)+4>>2]|0;c=k[d+(f<<2)>>2]|0;if((c|0)<=-1){c=9;break}d=k[e+4>>2]|0;if((k[e+8>>2]|0)-d>>2>>>0<=c>>>0){c=11;break}e=k[h>>2]|0;f=f+1|0;if(!(gb[k[(k[e>>2]|0)+8>>2]&63](e,k[d+(c<<2)>>2]|0)|0)){l=0;c=15;break}c=k[m>>2]|0;d=k[n>>2]|0;if((f|0)>=(c-d>>2|0)){i=d;j=c;break a}}if((c|0)==9)Aa(9717,9733,62,9761);else if((c|0)==11)Aa(9771,9733,63,9761);else if((c|0)==15)return l|0}else{i=d;j=c}while(0);if((j-i|0)<=0){b=1;return b|0}c=a+24|0;d=0;while(1){a=k[(k[c>>2]|0)+(d<<2)>>2]|0;d=d+1|0;if(!(_a[k[(k[a>>2]|0)+16>>2]&31](a,o,b)|0)){l=0;c=15;break}if((d|0)>=((k[m>>2]|0)-(k[n>>2]|0)>>2|0)){l=1;c=15;break}}if((c|0)==15)return l|0;return 0}function Bk(a,b){a=a|0;b=b|0;switch(b&255|0){case 0:{b=$p(16)|0;vh(b);break}case 1:{b=$p(32)|0;Ti(b);break}case 2:{b=$p(44)|0;$i(b);break}case 3:{b=$p(36)|0;vk(b);break}default:b=0}return b|0}function Ck(a,b){a=a|0;b=b|0;var c=0;Xg(a);k[a>>2]=4240;c=a+24|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;c=k[b>>2]|0;k[b>>2]=0;k[a+48>>2]=c;return}function Dk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Ip(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)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Ip(b);Ip(a);return}function Ek(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+16|0;j=l;i=$p(52)|0;g=$p(12)|0;f=k[(k[a+4>>2]|0)+64>>2]|0;k[g+4>>2]=0;k[g>>2]=4316;k[g+8>>2]=f;k[j>>2]=g;Ck(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){Kk(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)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[f>>2]|0}while((a|0)!=(h|0))}while(0);b=(k[g>>2]|0)+(b<<2)|0;a=k[b>>2]|0;k[b>>2]=i;if(a|0)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[j>>2]|0;k[j>>2]=0;if(!a){r=l;return 1}ab[k[(k[a>>2]|0)+4>>2]&127](a);r=l;return 1}function Fk(a){a=a|0;return}function Gk(a){a=a|0;Ip(a);return}function Hk(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 Ik(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;d=a+8|0;a=k[d>>2]|0;e=g+4|0;c=k[e>>2]|0;b=k[g>>2]|0;f=c-b>>2;if(a>>>0<=f>>>0){if(a>>>0>>0?(h=b+(a<<2)|0,(c|0)!=(h|0)):0)k[e>>2]=c+(~((c+-4-h|0)>>>2)<<2)}else{Jk(g,a-f|0);a=k[d>>2]|0}if((a|0)>0)c=0;else return 1;while(1){d=k[i>>2]|0;b=k[d>>2]|0;if((k[d+4>>2]|0)-b>>2>>>0<=c>>>0){a=10;break}k[b+(c<<2)>>2]=c;c=c+1|0;if((c|0)>=(a|0)){a=7;break}}if((a|0)==7)return 1;else if((a|0)==10)zp(d);return 0}function Jk(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;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)yp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;hq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;lq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Ip(j);return}function Kk(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;d=k[m>>2]|0;n=a+4|0;c=k[n>>2]|0;if(d-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[n>>2]=c+(b<<2);return}f=k[a>>2]|0;e=(c-f>>2)+b|0;if(e>>>0>1073741823)yp(a);l=f;c=d-f|0;if(c>>2>>>0<536870911){d=c>>1;d=d>>>0>>0?e:d;c=k[n>>2]|0;e=c-f>>2;if(!d){h=0;i=0;g=e}else j=8}else{e=k[n>>2]|0;d=1073741823;c=e;e=e-f>>2;j=8}if((j|0)==8){h=d;i=$p(d<<2)|0;g=e}e=i+(g<<2)|0;hq(e|0,0,b<<2|0)|0;d=e;h=i+(h<<2)|0;g=i+(g+b<<2)|0;if((c|0)!=(l|0)){do{c=c+-4|0;b=k[c>>2]|0;k[c>>2]=0;k[e+-4>>2]=b;e=d+-4|0;d=e}while((c|0)!=(l|0));c=d;d=c;f=k[a>>2]|0;c=k[n>>2]|0}k[a>>2]=d;k[n>>2]=g;k[m>>2]=h;e=f;if((c|0)!=(e|0))do{c=c+-4|0;d=k[c>>2]|0;k[c>>2]=0;if(d|0)ab[k[(k[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!f)return;Ip(f);return}function Lk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=b+16|0;d=f;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){h=0;return h|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=f;k[g>>2]=d;k[g+4>>2]=e;k[(k[a+4>>2]|0)+64>>2]=h;h=1;return h|0}function Mk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Ip(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)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Ip(b);Ip(a);return}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;i=$p(24)|0;em(i);h=a+8|0;f=a+12|0;a=k[f>>2]|0;c=k[h>>2]|0;d=a-c>>2;do if(d>>>0<=b>>>0){e=b+1|0;if(e>>>0>d>>>0){Kk(h,e-d|0);break}if(e>>>0>>0?(g=c+(e<<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)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[f>>2]|0}while((a|0)!=(g|0))}while(0);b=(k[h>>2]|0)+(b<<2)|0;a=k[b>>2]|0;k[b>>2]=i;if(!a)return 1;ab[k[(k[a>>2]|0)+4>>2]&127](a);return 1}function Ok(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=b+16|0;d=f;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){h=0;return h|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=f;k[g>>2]=d;k[g+4>>2]=e;k[(k[a+4>>2]|0)+64>>2]=h;h=1;return h|0}function Pk(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2948;b=k[a+4>>2]|0;if(!b){Ip(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);Ip(b);Ip(a);return}function Qk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=r;r=r+976|0;F=G+960|0;E=G+8|0;f=G+952|0;t=G+944|0;w=G+936|0;x=G+928|0;y=G+920|0;z=G+912|0;A=G+904|0;B=G+896|0;C=G+888|0;D=G+880|0;u=G+872|0;v=G;d=k[k[a+4>>2]>>2]|0;a=k[(k[a+16>>2]|0)+4>>2]|0;if((d|0)<=-1)Aa(9717,9733,62,9761);c=k[a+4>>2]|0;if((k[a+8>>2]|0)-c>>2>>>0<=d>>>0)Aa(9771,9733,63,9761);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)){F=0;r=G;return F|0}o=k[b>>2]|0;e=i[o+g>>0]|0;c=jq(g|0,h|0,1,0)|0;d=L;H=n;k[H>>2]=c;k[H+4>>2]=d;switch(e<<24>>24){case 0:{if(((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0?(p=jq(g|0,h|0,2,0)|0,q=n,k[q>>2]=p,k[q+4>>2]=L,q=jq(g|0,h|0,6,0)|0,s=L,!((m|0)<(s|0)|(m|0)==(s|0)&j>>>0>>0)):0)?(H=o+p|0,H=l[H>>0]|l[H+1>>0]<<8|l[H+2>>0]<<16|l[H+3>>0]<<24,D=n,k[D>>2]=q,k[D+4>>2]=s,Ne(a,H),fm(E),k[f>>2]=a,k[f+4>>2]=0,k[F>>2]=k[f>>2],k[F+4>>2]=k[f+4>>2],Rk(E,b,F)|0):0){H=1;r=G;return H|0}H=0;r=G;return H|0}case 1:{if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){H=0;r=G;return H|0}f=i[o+c>>0]|0;e=jq(g|0,h|0,2,0)|0;c=n;k[c>>2]=e;k[c+4>>2]=L;c=jq(g|0,h|0,6,0)|0;d=L;if((m|0)<(d|0)|(m|0)==(d|0)&j>>>0>>0){H=0;r=G;return H|0}H=o+e|0;H=l[H>>0]|l[H+1>>0]<<8|l[H+2>>0]<<16|l[H+3>>0]<<24;s=n;k[s>>2]=c;k[s+4>>2]=d;Ne(a,H);do switch(f&255|0){case 0:{Em(E);k[t>>2]=a;k[t+4>>2]=0;k[F>>2]=k[t>>2];k[F+4>>2]=k[t+4>>2];Tk(E,b,F)|0;gd(E+68|0);gd(E+48|0);gd(E+28|0);gd(E+8|0);H=1;r=G;return H|0}case 1:{Gm(E);k[w>>2]=a;k[w+4>>2]=0;k[F>>2]=k[w>>2];k[F+4>>2]=k[w+4>>2];Zk(E,b,F)|0;gd(E+68|0);gd(E+48|0);gd(E+28|0);gd(E+8|0);H=1;r=G;return H|0}case 2:{Im(E);k[x>>2]=a;k[x+4>>2]=0;k[F>>2]=k[x>>2];k[F+4>>2]=k[x+4>>2];dl(E,b,F)|0;gd(E+64|0);gd(E+44|0);gd(E+24|0);rd(E+8|0);H=1;r=G;return H|0}case 3:{Km(E);k[y>>2]=a;k[y+4>>2]=0;k[F>>2]=k[y>>2];k[F+4>>2]=k[y+4>>2];jl(E,b,F)|0;gd(E+64|0);gd(E+44|0);gd(E+24|0);rd(E+8|0);H=1;r=G;return H|0}case 4:{Mm(E);k[z>>2]=a;k[z+4>>2]=0;k[F>>2]=k[z>>2];k[F+4>>2]=k[z+4>>2];pl(E,b,F)|0;gd(E+576|0);gd(E+556|0);gd(E+536|0);rd(E+520|0);vl(E+8|0);H=1;r=G;return H|0}case 5:{Pm(E);k[A>>2]=a;k[A+4>>2]=0;k[F>>2]=k[A>>2];k[F+4>>2]=k[A+4>>2];wl(E,b,F)|0;gd(E+576|0);gd(E+556|0);gd(E+536|0);rd(E+520|0);vl(E+8|0);H=1;r=G;return H|0}case 6:{Rm(E);k[B>>2]=a;k[B+4>>2]=0;k[F>>2]=k[B>>2];k[F+4>>2]=k[B+4>>2];Cl(E,b,F)|0;gd(E+576|0);gd(E+556|0);gd(E+536|0);rd(E+520|0);vl(E+8|0);H=1;r=G;return H|0}case 7:{Tm(E);k[C>>2]=a;k[C+4>>2]=0;k[F>>2]=k[C>>2];k[F+4>>2]=k[C+4>>2];Il(E,b,F)|0;gd(E+576|0);gd(E+556|0);gd(E+536|0);rd(E+520|0);vl(E+8|0);H=1;r=G;return H|0}case 8:{Vm(E);k[D>>2]=a;k[D+4>>2]=0;k[F>>2]=k[D>>2];k[F+4>>2]=k[D+4>>2];Ol(E,b,F)|0;gd(E+840|0);gd(E+820|0);gd(E+800|0);wd(E+776|0);Ul(E+8|0);H=1;r=G;return H|0}case 9:{Ym(E);k[u>>2]=a;k[u+4>>2]=0;k[F>>2]=k[u>>2];k[F+4>>2]=k[u+4>>2];Vl(E,b,F)|0;gd(E+840|0);gd(E+820|0);gd(E+800|0);wd(E+776|0);Ul(E+8|0);H=1;r=G;return H|0}case 10:{_m(E);k[v>>2]=a;k[v+4>>2]=0;k[F>>2]=k[v>>2];k[F+4>>2]=k[v+4>>2];$l(E,b,F)|0;gd(E+840|0);gd(E+820|0);gd(E+800|0);wd(E+776|0);Ul(E+8|0);H=1;r=G;return H|0}default:{H=0;r=G;return H|0}}while(0)}default:{H=0;r=G;return H|0}}return 0}function Rk(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=r;r=r+48|0;g=j+40|0;h=j+24|0;d=j+12|0;e=j+8|0;f=j;k[h>>2]=0;i=h+4|0;k[i>>2]=0;k[h+8>>2]=0;if(gm(a,b,h)|0){k[d>>2]=k[h>>2];k[e>>2]=k[i>>2];l=c;b=k[l+4>>2]|0;c=f;k[c>>2]=k[l>>2];k[c+4>>2]=b;k[g>>2]=k[f>>2];k[g+4>>2]=k[f+4>>2];Sk(j+16|0,d,e,a,g);f=1}else f=0;d=k[h>>2]|0;if(!d){r=j;return f|0}e=k[i>>2]|0;if((e|0)!=(d|0))k[i>>2]=e+(~(((e+-12-d|0)>>>0)/12|0)*12|0);Ip(d);r=j;return f|0}function Sk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0,B=0.0,C=0;w=r;r=r+32|0;v=w+16|0;u=w;f=+o[d+4>>2];if(!(f>=0.0))Aa(9803,9823,66,9880);t=(1<>2])+-1|0;Kg(v);Lg(v,f,t);d=k[b>>2]|0;if((d|0)==(k[c>>2]|0)){c=e;u=c;u=k[u>>2]|0;c=c+4|0;c=k[c>>2]|0;e=a;v=e;k[v>>2]=u;e=e+4|0;k[e>>2]=c;r=w;return}s=v+4|0;h=e+4|0;j=u+4|0;l=u+8|0;q=k[e>>2]|0;m=q+84|0;n=q+68|0;p=q+40|0;q=q+64|0;g=k[h>>2]|0;do{b=(k[d>>2]|0)-t|0;C=(b|0)<0;f=+o[s>>2];B=f*+((C?0-b|0:b)|0);y=+o[v>>2];b=(k[d+4>>2]|0)-t|0;A=(b|0)<0;z=f*+((A?0-b|0:b)|0);b=(k[d+8>>2]|0)-t|0;x=(b|0)<0;f=f*+((x?0-b|0:b)|0);b=g;g=g+1|0;k[h>>2]=g;o[u>>2]=y*(C?-B:B);o[j>>2]=y*(A?-z:z);o[l>>2]=y*(x?-f:f);if(!(i[m>>0]|0))b=k[(k[n>>2]|0)+(b<<2)>>2]|0;A=p;C=k[A>>2]|0;A=sq(b|0,((b|0)<0)<<31>>31|0,C|0,k[A+4>>2]|0)|0;lq((k[k[q>>2]>>2]|0)+A|0,u|0,C|0)|0;d=d+12|0}while((d|0)!=(k[c>>2]|0));A=e;e=A;e=k[e>>2]|0;A=A+4|0;A=k[A>>2]|0;C=a;x=C;k[x>>2]=e;C=C+4|0;k[C>>2]=A;r=w;return}function Tk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=jq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=jq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=jq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){r=s;return 1}hd(a+8|0,b);hd(a+28|0,b);hd(a+48|0,b);hd(a+68|0,b);u=k[g>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];Uk(a,u,n,m,0,q);r=s;return 1}function Uk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0,ma=0;ma=r;r=r+112|0;ka=ma+96|0;n=ma+32|0;la=ma+72|0;ia=ma+56|0;ba=ma+44|0;aa=ma+16|0;$=ma;j=k[c>>2]|0;ca=c+4|0;l=k[ca>>2]|0;da=c+8|0;m=k[da>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;k[la+12>>2]=0;k[la+16>>2]=0;k[la+20>>2]=0;ea=la+8|0;fa=la+4|0;ga=la+16|0;ha=la+20|0;Vk(la);g=k[fa>>2]|0;h=(k[ha>>2]|0)+(k[ga>>2]|0)|0;if((k[ea>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;_=g+16|0;k[_>>2]=k[n>>2];k[_+4>>2]=k[n+4>>2];k[_+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ha>>2]|0)+1|0;k[ha>>2]=g;if(!g){Yk(la);r=ma;return}Q=ba+4|0;R=ba+8|0;S=a+44|0;T=a+40|0;U=f+4|0;V=ka+4|0;W=ka+8|0;X=a+24|0;Y=a+20|0;Z=a+84|0;_=a+80|0;a:while(1){N=k[ga>>2]|0;n=g+-1|0;m=n+N|0;O=k[fa>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[ia>>2]=k[L>>2];k[ia+4>>2]=k[L+4>>2];k[ia+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[ha>>2]=n;n=k[ea>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Ip(k[n+-4>>2]|0);k[ea>>2]=(k[ea>>2]|0)+-4}k[c>>2]=h;k[ca>>2]=j;k[da>>2]=l;k[d>>2]=k[ia>>2];k[d+4>>2]=k[ia+4>>2];k[d+8>>2]=k[ia+8>>2];k[ba>>2]=h;k[Q>>2]=j;k[R>>2]=l;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];O=Fm(a,P,ba,ka,m)|0;n=d+(O<<2)|0;e=k[n>>2]|0;h=k[a>>2]|0;g=(P|0)==0;do if((h|0)==(e|0)){if(!g){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[U>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=sq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;lq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[U>>2]=P+g}}else{if(g){g=14;break a}if(P>>>0>=3){k[ka>>2]=k[c>>2];k[V>>2]=k[ca>>2];k[W>>2]=k[da>>2];g=ka+(O<<2)|0;k[g>>2]=(k[g>>2]|0)+(1<>>0>=33){g=32;break a}if((g|0)==31){g=34;break a}j=k[X>>2]|0;g=32-j|0;l=k[Y>>2]|0;h=k[l>>2]<>>0<=g>>>0){g=h>>>(32-m|0);N=j+m|0;k[X>>2]=N;if((N|0)==32){k[Y>>2]=l+4;k[X>>2]=0}}else{N=m-g|0;k[X>>2]=N;M=l+4|0;k[Y>>2]=M;N=32-N|0;g=(k[M>>2]|0)>>>N|h>>>(N-g|0)}l=(P>>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[Z>>2]|0;g=k[_>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[Z>>2]=P;if((P|0)==32){k[_>>2]=g+4;k[Z>>2]=0}b=j?l:h;o=j?h:l}k[n>>2]=e+1;if(b|0){m=k[c>>2]|0;n=k[ca>>2]|0;e=k[da>>2]|0;k[aa>>2]=k[d>>2];k[aa+4>>2]=k[d+4>>2];k[aa+8>>2]=k[d+8>>2];l=k[ea>>2]|0;j=k[fa>>2]|0;g=k[ga>>2]|0;h=k[ha>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Vk(la);g=k[ga>>2]|0;h=k[ha>>2]|0;l=k[ea>>2]|0;j=k[fa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[aa>>2];k[P+4>>2]=k[aa+4>>2];k[P+8>>2]=k[aa+8>>2];k[g+28>>2]=O;k[ha>>2]=(k[ha>>2]|0)+1}if(o|0){m=k[ka>>2]|0;n=k[V>>2]|0;e=k[W>>2]|0;k[$>>2]=k[d>>2];k[$+4>>2]=k[d+4>>2];k[$+8>>2]=k[d+8>>2];l=k[ea>>2]|0;j=k[fa>>2]|0;g=k[ga>>2]|0;h=k[ha>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Vk(la);g=k[ga>>2]|0;h=k[ha>>2]|0;l=k[ea>>2]|0;j=k[fa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[$>>2];k[P+4>>2]=k[$+4>>2];k[P+8>>2]=k[$+8>>2];k[g+28>>2]=O;k[ha>>2]=(k[ha>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=h-e|0;F=k[d+(x<<2)>>2]|0;I=h-F|0;q=k[d+(t<<2)>>2]|0;J=h-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(h|0)==(e|0);B=ka+(O<<2)|0;E=c+(O<<2)|0;F=(h|0)==(F|0);C=ka+(x<<2)|0;G=c+(x<<2)|0;q=(h|0)==(q|0);p=ka+(t<<2)|0;s=c+(t<<2)|0;t=ka+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ka+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ka+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=H-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=I-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[S>>2]|0;g=32-j|0;l=k[T>>2]|0;h=k[l>>2]<>>0>g>>>0){O=J-g|0;k[S>>2]=O;l=l+4|0;k[T>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[S>>2]=O;if((O|0)==32){k[T>>2]=l+4;k[S>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[U>>2]|0;k[U>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=sq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;lq((k[k[N>>2]>>2]|0)+l|0,ka|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ha>>2]|0;if(!g){g=58;break}}if((g|0)==14)Aa(9956,9994,228,10064);else if((g|0)==21)Aa(10077,10101,111,10128);else if((g|0)==23)Aa(10141,10101,112,10128);else if((g|0)==32)Aa(10077,10101,111,10128);else if((g|0)==34)Aa(10141,10101,112,10128);else if((g|0)==58){Yk(la);r=ma;return}} -function Kf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0;M=r;r=r+48|0;C=M+32|0;K=M+12|0;E=M+40|0;I=M;k[K>>2]=0;k[K+4>>2]=0;k[K+8>>2]=0;k[K+12>>2]=0;o[K+16>>2]=1.0;H=a+80|0;d=k[H>>2]|0;k[I>>2]=0;J=I+4|0;k[J>>2]=0;k[I+8>>2]=0;if(d){if(d>>>0>1073741823)yp(I);B=d<<2;f=$p(B)|0;k[I>>2]=f;e=f+(d<<2)|0;k[I+8>>2]=e;hq(f|0,0,B|0)|0;k[J>>2]=e;e=k[H>>2]|0;if((e|0)>0){z=b+48|0;A=b+40|0;B=E+2|0;u=E+4|0;v=K+4|0;w=C+4|0;x=a+40|0;y=a+64|0;t=k[c>>2]|0;s=0;m=0;do{q=t+s|0;l=z;n=k[l>>2]|0;l=k[l+4>>2]|0;p=A;p=sq(q|0,((q|0)<0)<<31>>31|0,k[p>>2]|0,k[p+4>>2]|0)|0;l=jq(p|0,L|0,n|0,l|0)|0;l=(k[k[b>>2]>>2]|0)+l|0;i[E>>0]=i[l>>0]|0;i[E+1>>0]=i[l+1>>0]|0;i[E+2>>0]=i[l+2>>0]|0;i[E+3>>0]=i[l+3>>0]|0;i[E+4>>0]=i[l+4>>0]|0;i[E+5>>0]=i[l+5>>0]|0;l=j[E>>1]|0;n=j[B>>1]|0;p=j[u>>1]|0;q=((l&65535^318)+239^n&65535)+239^p&65535;e=k[v>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=q&g;else h=(q>>>0)%(e>>>0)|0;c=k[(k[K>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(D=k[c>>2]|0,(D|0)!=0):0){b:do if(d){d=D;while(1){if((k[d+4>>2]&g|0)!=(h|0)){F=25;break a}if(((j[d+8>>1]|0)==l<<16>>16?(j[d+10>>1]|0)==n<<16>>16:0)?(j[d+12>>1]|0)==p<<16>>16:0)break b;d=k[d>>2]|0;if(!d){F=25;break a}}}else{d=D;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){F=25;break a}if(((j[d+8>>1]|0)==l<<16>>16?(j[d+10>>1]|0)==n<<16>>16:0)?(j[d+12>>1]|0)==p<<16>>16:0)break b;d=k[d>>2]|0;if(!d){F=25;break a}}}while(0);k[f+(s<<2)>>2]=k[d+16>>2]}else F=25}else F=25;while(0);if((F|0)==25){F=0;d=$p(20)|0;j[d+8>>1]=l;j[d+10>>1]=n;j[d+12>>1]=p;k[d+16>>2]=m;k[d+4>>2]=q;k[d>>2]=0;Lf(C,K,d);if(!(i[w>>0]|0))Ip(d);q=x;f=k[q>>2]|0;q=sq(f|0,k[q+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;lq((k[k[y>>2]>>2]|0)+q|0,E|0,f|0)|0;f=k[I>>2]|0;k[f+(s<<2)>>2]=m;m=m+1|0}s=s+1|0;e=k[H>>2]|0}while((s|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{l=a+84|0;if(!(i[l>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[I>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(G=g+(e<<2)|0,(h|0)!=(G|0)):0)k[c>>2]=h+(~((h+-4-G|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[H>>2]|0}if((e|0)>0){f=k[I>>2]|0;if(i[l>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[H>>2]=m;f=m}}else f=0;d=k[I>>2]|0;c=d;if(d|0){e=k[J>>2]|0;if((e|0)!=(d|0))k[J>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[K+8>>2]|0;if(d|0)do{J=d;d=k[d>>2]|0;Ip(J)}while((d|0)!=0);d=k[K>>2]|0;k[K>>2]=0;if(!d){r=M;return f|0}Ip(d);r=M;return f|0}function Lf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;p=j[c+8>>1]|0;r=j[c+10>>1]|0;q=j[c+12>>1]|0;e=((p&65535^318)+239^r&65535)+239^q&65535;u=c+4|0;k[u>>2]=e;t=b+4|0;l=k[t>>2]|0;s=(l|0)==0;a:do if(!s){n=l+-1|0;m=(n&l|0)==0;if(m)e=e&n;else e=(e>>>0)%(l>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(m){while(1){if((k[d+4>>2]&n|0)!=(e|0))break a;if(((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==r<<16>>16:0)?(j[d+12>>1]|0)==q<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(e|0))break a;if(((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==r<<16>>16:0)?(j[d+12>>1]|0)==q<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);m=b+12|0;g=+(((k[m>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(s|g>+(l>>>0)*h){if(l>>>0>2)d=(l+-1&l|0)==0;else d=0;f=(d&1|l<<1)^1;d=~~+ga(+(g/h))>>>0;Mf(b,f>>>0>>0?d:f);f=k[t>>2]|0;d=k[u>>2]|0;e=f+-1|0;if(!(e&f)){l=f;e=e&d;break}else{l=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=l+-1|0;if(!(e&l))d=d&e;else d=(d>>>0)%(l>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[m>>2]=(k[m>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function Mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Nf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Nf(a,b);return}function Nf(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)Ip(c);k[d>>2]=0;return}p=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)Ip(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)e=c&o;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(p){c=f;while(1){n=k[c+4>>2]&o;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}l=c+10|0;m=c+12|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=j[c+8>>1]|0;g=c;while(1){if(i<<16>>16!=(j[f+8>>1]|0)){f=g;break d}if((j[l>>1]|0)!=(j[f+10>>1]|0)){f=g;break d}if((j[m>>1]|0)!=(j[f+12>>1]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}else{c=f;while(1){n=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}i=c+10|0;l=c+12|0;f=k[c>>2]|0;e:do if(!f)f=c;else{m=j[c+8>>1]|0;g=c;while(1){if(m<<16>>16!=(j[f+8>>1]|0)){f=g;break e}if((j[i>>1]|0)!=(j[f+10>>1]|0)){f=g;break e}if((j[l>>1]|0)!=(j[f+12>>1]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}while(0);f=k[c>>2]|0;if(!f){c=36;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=36;break}else{h=c;d=c}}if((c|0)==36)return}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,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=r;r=r+64|0;u=C+48|0;B=C+28|0;v=C+8|0;w=C;z=C+16|0;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;o[B+16>>2]=1.0;y=a+80|0;d=k[y>>2]|0;k[z>>2]=0;A=z+4|0;k[A>>2]=0;k[z+8>>2]=0;if(d){if(d>>>0>1073741823)yp(z);t=d<<2;f=$p(t)|0;k[z>>2]=f;e=f+(d<<2)|0;k[z+8>>2]=e;hq(f|0,0,t|0)|0;k[A>>2]=e;e=k[y>>2]|0;if((e|0)>0){q=k[c>>2]|0;s=b+48|0;t=b+40|0;m=u+4|0;n=a+40|0;p=a+64|0;h=0;g=0;while(1){D=q+h|0;e=s;c=k[e>>2]|0;e=k[e+4>>2]|0;d=t;d=sq(D|0,((D|0)<0)<<31>>31|0,k[d>>2]|0,k[d+4>>2]|0)|0;e=jq(d|0,L|0,c|0,e|0)|0;e=(k[k[b>>2]>>2]|0)+e|0;c=e;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+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;d=v;k[d>>2]=c;k[d+4>>2]=e;d=w;k[d>>2]=c;k[d+4>>2]=e;d=Pf(B,w)|0;if(!d){d=$p(20)|0;f=d+8|0;D=f;j[D>>1]=c;j[D+2>>1]=c>>>16;f=f+4|0;j[f>>1]=e;j[f+2>>1]=e>>>16;k[d+16>>2]=g;f=kq(c|0,e|0,16)|0;D=kq(c|0,e|0,48)|0;k[d+4>>2]=(((c&65535^318)+239^f&65535)+239^e&65535)+239^D;k[d>>2]=0;Qf(u,B,d);if(!(i[m>>0]|0))Ip(d);d=n;f=k[d>>2]|0;d=sq(f|0,k[d+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;lq((k[k[p>>2]>>2]|0)+d|0,v|0,f|0)|0;f=k[z>>2]|0;k[f+(h<<2)>>2]=g;d=g+1|0}else{k[f+(h<<2)>>2]=k[d+16>>2];d=g}h=h+1|0;e=k[y>>2]|0;if((h|0)>=(e|0)){n=d;break}else g=d}}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[z>>2]|0;d=d>>2;c=0;do{D=e+(c<<2)|0;k[D>>2]=k[f+(k[D>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(x=g+(e<<2)|0,(h|0)!=(x|0)):0)k[c>>2]=h+(~((h+-4-x|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[y>>2]|0}if((e|0)>0){f=k[z>>2]|0;if(i[m>>0]|0)Aa(10788,10807,80,10839);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[y>>2]=n;f=n}}else f=0;d=k[z>>2]|0;c=d;if(d|0){e=k[A>>2]|0;if((e|0)!=(d|0))k[A>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[B+8>>2]|0;if(d|0)do{D=d;d=k[d>>2]|0;Ip(D)}while((d|0)!=0);d=k[B>>2]|0;k[B>>2]=0;if(!d){r=C;return f|0}Ip(d);r=C;return f|0}function Pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0;h=j[b>>1]|0;i=j[b+2>>1]|0;l=j[b+4>>1]|0;g=j[b+6>>1]|0;b=(((h&65535^318)+239^i&65535)+239^l&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)==h<<16>>16?(j[b+10>>1]|0)==i<<16>>16:0)?(j[b+12>>1]|0)==l<<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)==h<<16>>16?(j[b+10>>1]|0)==i<<16>>16:0)?(j[b+12>>1]|0)==l<<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 Qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;p=j[c+8>>1]|0;s=j[c+10>>1]|0;q=j[c+12>>1]|0;r=j[c+14>>1]|0;e=(((p&65535^318)+239^s&65535)+239^q&65535)+239^r&65535;v=c+4|0;k[v>>2]=e;u=b+4|0;l=k[u>>2]|0;t=(l|0)==0;a:do if(!t){n=l+-1|0;m=(n&l|0)==0;if(m)e=e&n;else e=(e>>>0)%(l>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(m){while(1){if((k[d+4>>2]&n|0)!=(e|0))break a;if((((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==s<<16>>16:0)?(j[d+12>>1]|0)==q<<16>>16:0)?(j[d+14>>1]|0)==r<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(e|0))break a;if((((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==s<<16>>16:0)?(j[d+12>>1]|0)==q<<16>>16:0)?(j[d+14>>1]|0)==r<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);m=b+12|0;g=+(((k[m>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(t|g>+(l>>>0)*h){if(l>>>0>2)d=(l+-1&l|0)==0;else d=0;f=(d&1|l<<1)^1;d=~~+ga(+(g/h))>>>0;Rf(b,f>>>0>>0?d:f);f=k[u>>2]|0;d=k[v>>2]|0;e=f+-1|0;if(!(e&f)){l=f;e=e&d;break}else{l=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=l+-1|0;if(!(e&l))d=d&e;else d=(d>>>0)%(l>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[m>>2]=(k[m>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function Rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Sf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Sf(a,b);return}function Sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,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)Ip(c);k[d>>2]=0;return}q=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=q;if(c|0)Ip(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)e=c&p;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(q){c=f;while(1){o=k[c+4>>2]&p;if((o|0)==(e|0))break c;f=(k[a>>2]|0)+(o<<2)|0;if(!(k[f>>2]|0)){e=o;break b}l=c+10|0;m=c+12|0;n=c+14|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=j[c+8>>1]|0;g=c;while(1){if(i<<16>>16!=(j[f+8>>1]|0)){f=g;break d}if((j[l>>1]|0)!=(j[f+10>>1]|0)){f=g;break d}if((j[m>>1]|0)!=(j[f+12>>1]|0)){f=g;break d}if((j[n>>1]|0)!=(j[f+14>>1]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{r=f;f=g;g=r}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(o<<2)>>2]>>2];k[k[(k[a>>2]|0)+(o<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}else{c=f;while(1){o=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((o|0)==(e|0))break c;f=(k[a>>2]|0)+(o<<2)|0;if(!(k[f>>2]|0)){e=o;break b}i=c+10|0;l=c+12|0;m=c+14|0;f=k[c>>2]|0;e:do if(!f)f=c;else{n=j[c+8>>1]|0;g=c;while(1){if(n<<16>>16!=(j[f+8>>1]|0)){f=g;break e}if((j[i>>1]|0)!=(j[f+10>>1]|0)){f=g;break e}if((j[l>>1]|0)!=(j[f+12>>1]|0)){f=g;break e}if((j[m>>1]|0)!=(j[f+14>>1]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{r=f;f=g;g=r}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(o<<2)>>2]>>2];k[k[(k[a>>2]|0)+(o<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}while(0);f=k[c>>2]|0;if(!f){c=38;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=38;break}else{h=c;d=c}}if((c|0)==38)return}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,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=r;r=r+48|0;z=H+32|0;G=H+12|0;A=H+40|0;E=H;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;k[G+12>>2]=0;o[G+16>>2]=1.0;D=a+80|0;d=k[D>>2]|0;k[E>>2]=0;F=E+4|0;k[F>>2]=0;k[E+8>>2]=0;if(d){if(d>>>0>1073741823)yp(E);y=d<<2;f=$p(y)|0;k[E>>2]=f;e=f+(d<<2)|0;k[E+8>>2]=e;hq(f|0,0,y|0)|0;k[F>>2]=e;e=k[D>>2]|0;if((e|0)>0){w=b+48|0;x=b+40|0;y=G+4|0;t=z+4|0;u=a+40|0;v=a+64|0;s=k[c>>2]|0;q=0;n=0;do{h=s+q|0;m=w;p=k[m>>2]|0;m=k[m+4>>2]|0;e=x;e=sq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;m=jq(e|0,L|0,p|0,m|0)|0;m=(k[k[b>>2]>>2]|0)+m|0;m=l[m>>0]|l[m+1>>0]<<8;j[A>>1]=m;p=m&65535^318;e=k[y>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&p;else h=(p>>>0)%(e>>>0)|0;d=k[(k[G>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){B=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){B=20;break a}}while((j[d+8>>1]|0)!=m<<16>>16);else do{d=k[d>>2]|0;if(!d){B=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){B=20;break a}}while((j[d+8>>1]|0)!=m<<16>>16);k[f+(q<<2)>>2]=k[d+12>>2]}else B=20}else B=20;while(0);if((B|0)==20){B=0;d=$p(16)|0;j[d+8>>1]=m;k[d+12>>2]=n;k[d+4>>2]=p;k[d>>2]=0;Df(z,G,d);if(!(i[t>>0]|0))Ip(d);p=u;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;lq((k[k[v>>2]>>2]|0)+p|0,A|0,f|0)|0;f=k[E>>2]|0;k[f+(q<<2)>>2]=n;n=n+1|0}q=q+1|0;e=k[D>>2]|0}while((q|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[E>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(C=g+(e<<2)|0,(h|0)!=(C|0)):0)k[c>>2]=h+(~((h+-4-C|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[D>>2]|0}if((e|0)>0){f=k[E>>2]|0;if(i[m>>0]|0)Aa(10788,10807,80,10839);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[D>>2]=n;f=n}}else f=0;d=k[E>>2]|0;c=d;if(d|0){e=k[F>>2]|0;if((e|0)!=(d|0))k[F>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[G+8>>2]|0;if(d|0)do{F=d;d=k[d>>2]|0;Ip(F)}while((d|0)!=0);d=k[G>>2]|0;k[G>>2]=0;if(!d){r=H;return f|0}Ip(d);r=H;return f|0}function Uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+40|0;J=K+16|0;D=K+12|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;u=k[c>>2]|0;t=0;n=0;do{m=u+t|0;q=y;h=k[q>>2]|0;q=k[q+4>>2]|0;s=z;s=sq(m|0,((m|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;q=jq(s|0,L|0,h|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[D>>2]=q;h=q&65535;s=q>>>16;m=s&65535;s=(q&65535^318)+239^s;e=k[A>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)p=s&g;else p=(s>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(p<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(p|0)){E=23;break a}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(p|0)){E=23;break a}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}while(0);k[f+(t<<2)>>2]=k[d+12>>2]}else E=23}else E=23;while(0);if((E|0)==23){E=0;d=$p(16)|0;p=d+8|0;j[p>>1]=q;j[p+2>>1]=q>>>16;k[d+12>>2]=n;k[d+4>>2]=s;k[d>>2]=0;Hf(B,J,d);if(!(i[v>>0]|0))Ip(d);s=w;f=k[s>>2]|0;s=sq(f|0,k[s+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+s|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(t<<2)>>2]=n;n=n+1|0}t=t+1|0;e=k[G>>2]|0}while((t|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[m>>0]|0)Aa(10788,10807,80,10839);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]=n;f=n}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|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,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0;M=r;r=r+48|0;C=M+32|0;K=M+12|0;E=M+40|0;I=M;k[K>>2]=0;k[K+4>>2]=0;k[K+8>>2]=0;k[K+12>>2]=0;o[K+16>>2]=1.0;H=a+80|0;d=k[H>>2]|0;k[I>>2]=0;J=I+4|0;k[J>>2]=0;k[I+8>>2]=0;if(d){if(d>>>0>1073741823)yp(I);B=d<<2;f=$p(B)|0;k[I>>2]=f;e=f+(d<<2)|0;k[I+8>>2]=e;hq(f|0,0,B|0)|0;k[J>>2]=e;e=k[H>>2]|0;if((e|0)>0){z=b+48|0;A=b+40|0;B=E+2|0;u=E+4|0;v=K+4|0;w=C+4|0;x=a+40|0;y=a+64|0;t=k[c>>2]|0;s=0;m=0;do{q=t+s|0;l=z;n=k[l>>2]|0;l=k[l+4>>2]|0;p=A;p=sq(q|0,((q|0)<0)<<31>>31|0,k[p>>2]|0,k[p+4>>2]|0)|0;l=jq(p|0,L|0,n|0,l|0)|0;l=(k[k[b>>2]>>2]|0)+l|0;i[E>>0]=i[l>>0]|0;i[E+1>>0]=i[l+1>>0]|0;i[E+2>>0]=i[l+2>>0]|0;i[E+3>>0]=i[l+3>>0]|0;i[E+4>>0]=i[l+4>>0]|0;i[E+5>>0]=i[l+5>>0]|0;l=j[E>>1]|0;n=j[B>>1]|0;p=j[u>>1]|0;q=((l&65535^318)+239^n&65535)+239^p&65535;e=k[v>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=q&g;else h=(q>>>0)%(e>>>0)|0;c=k[(k[K>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(D=k[c>>2]|0,(D|0)!=0):0){b:do if(d){d=D;while(1){if((k[d+4>>2]&g|0)!=(h|0)){F=25;break a}if(((j[d+8>>1]|0)==l<<16>>16?(j[d+10>>1]|0)==n<<16>>16:0)?(j[d+12>>1]|0)==p<<16>>16:0)break b;d=k[d>>2]|0;if(!d){F=25;break a}}}else{d=D;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){F=25;break a}if(((j[d+8>>1]|0)==l<<16>>16?(j[d+10>>1]|0)==n<<16>>16:0)?(j[d+12>>1]|0)==p<<16>>16:0)break b;d=k[d>>2]|0;if(!d){F=25;break a}}}while(0);k[f+(s<<2)>>2]=k[d+16>>2]}else F=25}else F=25;while(0);if((F|0)==25){F=0;d=$p(20)|0;j[d+8>>1]=l;j[d+10>>1]=n;j[d+12>>1]=p;k[d+16>>2]=m;k[d+4>>2]=q;k[d>>2]=0;Lf(C,K,d);if(!(i[w>>0]|0))Ip(d);q=x;f=k[q>>2]|0;q=sq(f|0,k[q+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;lq((k[k[y>>2]>>2]|0)+q|0,E|0,f|0)|0;f=k[I>>2]|0;k[f+(s<<2)>>2]=m;m=m+1|0}s=s+1|0;e=k[H>>2]|0}while((s|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{l=a+84|0;if(!(i[l>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[I>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(G=g+(e<<2)|0,(h|0)!=(G|0)):0)k[c>>2]=h+(~((h+-4-G|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[H>>2]|0}if((e|0)>0){f=k[I>>2]|0;if(i[l>>0]|0)Aa(10788,10807,80,10839);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[H>>2]=m;f=m}}else f=0;d=k[I>>2]|0;c=d;if(d|0){e=k[J>>2]|0;if((e|0)!=(d|0))k[J>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[K+8>>2]|0;if(d|0)do{J=d;d=k[d>>2]|0;Ip(J)}while((d|0)!=0);d=k[K>>2]|0;k[K>>2]=0;if(!d){r=M;return f|0}Ip(d);r=M;return f|0}function Wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=r;r=r+64|0;u=C+48|0;B=C+28|0;v=C+8|0;w=C;z=C+16|0;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;o[B+16>>2]=1.0;y=a+80|0;d=k[y>>2]|0;k[z>>2]=0;A=z+4|0;k[A>>2]=0;k[z+8>>2]=0;if(d){if(d>>>0>1073741823)yp(z);t=d<<2;f=$p(t)|0;k[z>>2]=f;e=f+(d<<2)|0;k[z+8>>2]=e;hq(f|0,0,t|0)|0;k[A>>2]=e;e=k[y>>2]|0;if((e|0)>0){q=k[c>>2]|0;s=b+48|0;t=b+40|0;m=u+4|0;n=a+40|0;p=a+64|0;h=0;g=0;while(1){D=q+h|0;e=s;c=k[e>>2]|0;e=k[e+4>>2]|0;d=t;d=sq(D|0,((D|0)<0)<<31>>31|0,k[d>>2]|0,k[d+4>>2]|0)|0;e=jq(d|0,L|0,c|0,e|0)|0;e=(k[k[b>>2]>>2]|0)+e|0;c=e;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+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;d=v;k[d>>2]=c;k[d+4>>2]=e;d=w;k[d>>2]=c;k[d+4>>2]=e;d=Pf(B,w)|0;if(!d){d=$p(20)|0;f=d+8|0;D=f;j[D>>1]=c;j[D+2>>1]=c>>>16;f=f+4|0;j[f>>1]=e;j[f+2>>1]=e>>>16;k[d+16>>2]=g;f=kq(c|0,e|0,16)|0;D=kq(c|0,e|0,48)|0;k[d+4>>2]=(((c&65535^318)+239^f&65535)+239^e&65535)+239^D;k[d>>2]=0;Qf(u,B,d);if(!(i[m>>0]|0))Ip(d);d=n;f=k[d>>2]|0;d=sq(f|0,k[d+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;lq((k[k[p>>2]>>2]|0)+d|0,v|0,f|0)|0;f=k[z>>2]|0;k[f+(h<<2)>>2]=g;d=g+1|0}else{k[f+(h<<2)>>2]=k[d+16>>2];d=g}h=h+1|0;e=k[y>>2]|0;if((h|0)>=(e|0)){n=d;break}else g=d}}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[z>>2]|0;d=d>>2;c=0;do{D=e+(c<<2)|0;k[D>>2]=k[f+(k[D>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(x=g+(e<<2)|0,(h|0)!=(x|0)):0)k[c>>2]=h+(~((h+-4-x|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[y>>2]|0}if((e|0)>0){f=k[z>>2]|0;if(i[m>>0]|0)Aa(10788,10807,80,10839);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[y>>2]=n;f=n}}else f=0;d=k[z>>2]|0;c=d;if(d|0){e=k[A>>2]|0;if((e|0)!=(d|0))k[A>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[B+8>>2]|0;if(d|0)do{D=d;d=k[d>>2]|0;Ip(D)}while((d|0)!=0);d=k[B>>2]|0;k[B>>2]=0;if(!d){r=C;return f|0}Ip(d);r=C;return f|0}function Xf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+48|0;y=G+40|0;F=G+16|0;z=G+12|0;D=G;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;o[F+16>>2]=1.0;C=a+80|0;d=k[C>>2]|0;k[D>>2]=0;E=D+4|0;k[E>>2]=0;k[D+8>>2]=0;if(d){if(d>>>0>1073741823)yp(D);x=d<<2;f=$p(x)|0;k[D>>2]=f;e=f+(d<<2)|0;k[D+8>>2]=e;hq(f|0,0,x|0)|0;k[E>>2]=e;e=k[C>>2]|0;if((e|0)>0){v=b+48|0;w=b+40|0;x=F+4|0;s=y+4|0;t=a+40|0;u=a+64|0;q=k[c>>2]|0;p=0;m=0;do{h=q+p|0;j=v;n=k[j>>2]|0;j=k[j+4>>2]|0;e=w;e=sq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;j=jq(e|0,L|0,n|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[z>>2]=j;n=j^318;e=k[x>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&n;else h=(n>>>0)%(e>>>0)|0;d=k[(k[F>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){A=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));else do{d=k[d>>2]|0;if(!d){A=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));k[f+(p<<2)>>2]=k[d+12>>2]}else A=20}else A=20;while(0);if((A|0)==20){A=0;d=$p(16)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+4>>2]=n;k[d>>2]=0;Re(y,F,d);if(!(i[s>>0]|0))Ip(d);n=t;f=k[n>>2]|0;n=sq(f|0,k[n+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;lq((k[k[u>>2]>>2]|0)+n|0,z|0,f|0)|0;f=k[D>>2]|0;k[f+(p<<2)>>2]=m;m=m+1|0}p=p+1|0;e=k[C>>2]|0}while((p|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[D>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(B=g+(e<<2)|0,(h|0)!=(B|0)):0)k[c>>2]=h+(~((h+-4-B|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[C>>2]|0}if((e|0)>0){f=k[D>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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[C>>2]=m;f=m}}else f=0;d=k[D>>2]|0;c=d;if(d|0){e=k[E>>2]|0;if((e|0)!=(d|0))k[E>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[F+8>>2]|0;if(d|0)do{E=d;d=k[d>>2]|0;Ip(E)}while((d|0)!=0);d=k[F>>2]|0;k[F>>2]=0;if(!d){r=G;return f|0}Ip(d);r=G;return f|0}function Yf(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,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+48|0;z=I+40|0;H=I+20|0;B=I;F=I+8|0;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;k[H+12>>2]=0;o[H+16>>2]=1.0;E=a+80|0;d=k[E>>2]|0;k[F>>2]=0;G=F+4|0;k[G>>2]=0;k[F+8>>2]=0;if(d){if(d>>>0>1073741823)yp(F);y=d<<2;f=$p(y)|0;k[F>>2]=f;e=f+(d<<2)|0;k[F+8>>2]=e;hq(f|0,0,y|0)|0;k[G>>2]=e;e=k[E>>2]|0;if((e|0)>0){w=b+48|0;x=b+40|0;y=H+4|0;t=z+4|0;u=a+40|0;v=a+64|0;s=k[c>>2]|0;q=0;m=0;do{e=s+q|0;n=w;j=k[n>>2]|0;n=k[n+4>>2]|0;p=x;p=sq(e|0,((e|0)<0)<<31>>31|0,k[p>>2]|0,k[p+4>>2]|0)|0;n=jq(p|0,L|0,j|0,n|0)|0;n=(k[k[b>>2]>>2]|0)+n|0;j=n;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;n=n+4|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;p=B;k[p>>2]=j;k[p+4>>2]=n;p=(j^318)+239^n;e=k[y>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[H>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(A=k[c>>2]|0,(A|0)!=0):0){b:do if(d){d=A;while(1){if((k[d+4>>2]&g|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}else{d=A;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}while(0);k[f+(q<<2)>>2]=k[d+16>>2]}else C=23}else C=23;while(0);if((C|0)==23){C=0;d=$p(20)|0;h=d+8|0;k[h>>2]=j;k[h+4>>2]=n;k[d+16>>2]=m;k[d+4>>2]=p;k[d>>2]=0;We(z,H,d);if(!(i[t>>0]|0))Ip(d);p=u;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;lq((k[k[v>>2]>>2]|0)+p|0,B|0,f|0)|0;f=k[F>>2]|0;k[f+(q<<2)>>2]=m;m=m+1|0}q=q+1|0;e=k[E>>2]|0}while((q|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[F>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-D|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[E>>2]|0}if((e|0)>0){f=k[F>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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]=m;f=m}}else f=0;d=k[F>>2]|0;c=d;if(d|0){e=k[G>>2]|0;if((e|0)!=(d|0))k[G>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[H+8>>2]|0;if(d|0)do{G=d;d=k[d>>2]|0;Ip(G)}while((d|0)!=0);d=k[H>>2]|0;k[H>>2]=0;if(!d){r=I;return f|0}Ip(d);r=I;return f|0}function Zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+64|0;B=K+48|0;J=K+24|0;D=K+12|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=D+4|0;t=D+8|0;u=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;s=k[c>>2]|0;q=0;l=0;do{p=s+q|0;c=y;d=k[c>>2]|0;c=k[c+4>>2]|0;e=z;e=sq(p|0,((p|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;c=jq(e|0,L|0,d|0,c|0)|0;d=D;c=(k[k[b>>2]>>2]|0)+c|0;e=d+12|0;do{i[d>>0]=i[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));j=k[D>>2]|0;m=k[A>>2]|0;n=k[t>>2]|0;p=((j^318)+239^m)+239^n;e=k[u>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}while(0);k[f+(q<<2)>>2]=k[d+20>>2]}else E=25}else E=25;while(0);if((E|0)==25){E=0;d=$p(24)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+16>>2]=n;k[d+20>>2]=l;k[d+4>>2]=p;k[d>>2]=0;_e(B,J,d);if(!(i[v>>0]|0))Ip(d);p=w;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+p|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(q<<2)>>2]=l;l=l+1|0}q=q+1|0;e=k[G>>2]|0}while((q|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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]=l;f=l}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|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,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;u=C+88|0;B=C+64|0;v=C+48|0;w=C+32|0;z=C+16|0;t=C;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;o[B+16>>2]=1.0;y=a+80|0;d=k[y>>2]|0;k[z>>2]=0;A=z+4|0;k[A>>2]=0;k[z+8>>2]=0;if(d){if(d>>>0>1073741823)yp(z);s=d<<2;f=$p(s)|0;k[z>>2]=f;e=f+(d<<2)|0;k[z+8>>2]=e;hq(f|0,0,s|0)|0;k[A>>2]=e;e=k[y>>2]|0;if((e|0)>0){p=k[c>>2]|0;q=b+48|0;s=b+40|0;j=u+4|0;m=a+40|0;n=a+64|0;h=0;l=0;do{g=p+h|0;d=q;c=k[d>>2]|0;d=k[d+4>>2]|0;e=s;e=sq(g|0,((g|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;d=jq(e|0,L|0,c|0,d|0)|0;d=(k[k[b>>2]>>2]|0)+d|0;c=v;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));c=w;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));d=cf(B,w)|0;if(!d){k[t>>2]=k[w>>2];k[t+4>>2]=k[w+4>>2];k[t+8>>2]=k[w+8>>2];k[t+12>>2]=k[w+12>>2];d=$p(28)|0;g=d+8|0;k[g>>2]=k[t>>2];k[g+4>>2]=k[t+4>>2];k[g+8>>2]=k[t+8>>2];k[g+12>>2]=k[t+12>>2];k[d+24>>2]=l;k[d+4>>2]=(((k[g>>2]^318)+239^k[d+12>>2])+239^k[d+16>>2])+239^k[d+20>>2];k[d>>2]=0;df(u,B,d);if(!(i[j>>0]|0))Ip(d);g=m;f=k[g>>2]|0;g=sq(f|0,k[g+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[n>>2]>>2]|0)+g|0,v|0,f|0)|0;f=k[z>>2]|0;k[f+(h<<2)>>2]=l;l=l+1|0}else k[f+(h<<2)>>2]=k[d+24>>2];h=h+1|0;e=k[y>>2]|0}while((h|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[z>>2]|0;d=d>>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;g=a+68|0;h=a+72|0;f=k[h>>2]|0;c=k[g>>2]|0;d=f-c>>2;if(e>>>0<=d>>>0){if(e>>>0>>0?(x=c+(e<<2)|0,(f|0)!=(x|0)):0)k[h>>2]=f+(~((f+-4-x|0)>>>2)<<2)}else{Ue(g,e-d|0,2864);e=k[y>>2]|0}if((e|0)>0){f=k[z>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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[y>>2]=l;f=l}}else f=0;d=k[z>>2]|0;c=d;if(d|0){e=k[A>>2]|0;if((e|0)!=(d|0))k[A>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[B+8>>2]|0;if(d|0)do{A=d;d=k[d>>2]|0;Ip(A)}while((d|0)!=0);d=k[B>>2]|0;k[B>>2]=0;if(!d){r=C;return f|0}Ip(d);r=C;return f|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,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+48|0;y=G+40|0;F=G+16|0;z=G+12|0;D=G;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;o[F+16>>2]=1.0;C=a+80|0;d=k[C>>2]|0;k[D>>2]=0;E=D+4|0;k[E>>2]=0;k[D+8>>2]=0;if(d){if(d>>>0>1073741823)yp(D);x=d<<2;f=$p(x)|0;k[D>>2]=f;e=f+(d<<2)|0;k[D+8>>2]=e;hq(f|0,0,x|0)|0;k[E>>2]=e;e=k[C>>2]|0;if((e|0)>0){v=b+48|0;w=b+40|0;x=F+4|0;s=y+4|0;t=a+40|0;u=a+64|0;q=k[c>>2]|0;p=0;m=0;do{h=q+p|0;j=v;n=k[j>>2]|0;j=k[j+4>>2]|0;e=w;e=sq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;j=jq(e|0,L|0,n|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[z>>2]=j;n=j^318;e=k[x>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&n;else h=(n>>>0)%(e>>>0)|0;d=k[(k[F>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){A=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));else do{d=k[d>>2]|0;if(!d){A=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));k[f+(p<<2)>>2]=k[d+12>>2]}else A=20}else A=20;while(0);if((A|0)==20){A=0;d=$p(16)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+4>>2]=n;k[d>>2]=0;Re(y,F,d);if(!(i[s>>0]|0))Ip(d);n=t;f=k[n>>2]|0;n=sq(f|0,k[n+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;lq((k[k[u>>2]>>2]|0)+n|0,z|0,f|0)|0;f=k[D>>2]|0;k[f+(p<<2)>>2]=m;m=m+1|0}p=p+1|0;e=k[C>>2]|0}while((p|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[D>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(B=g+(e<<2)|0,(h|0)!=(B|0)):0)k[c>>2]=h+(~((h+-4-B|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[C>>2]|0}if((e|0)>0){f=k[D>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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[C>>2]=m;f=m}}else f=0;d=k[D>>2]|0;c=d;if(d|0){e=k[E>>2]|0;if((e|0)!=(d|0))k[E>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[F+8>>2]|0;if(d|0)do{E=d;d=k[d>>2]|0;Ip(E)}while((d|0)!=0);d=k[F>>2]|0;k[F>>2]=0;if(!d){r=G;return f|0}Ip(d);r=G;return f|0}function ag(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+48|0;z=I+40|0;H=I+20|0;B=I;F=I+8|0;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;k[H+12>>2]=0;o[H+16>>2]=1.0;E=a+80|0;d=k[E>>2]|0;k[F>>2]=0;G=F+4|0;k[G>>2]=0;k[F+8>>2]=0;if(d){if(d>>>0>1073741823)yp(F);y=d<<2;f=$p(y)|0;k[F>>2]=f;e=f+(d<<2)|0;k[F+8>>2]=e;hq(f|0,0,y|0)|0;k[G>>2]=e;e=k[E>>2]|0;if((e|0)>0){w=b+48|0;x=b+40|0;y=H+4|0;t=z+4|0;u=a+40|0;v=a+64|0;s=k[c>>2]|0;q=0;m=0;do{e=s+q|0;n=w;j=k[n>>2]|0;n=k[n+4>>2]|0;p=x;p=sq(e|0,((e|0)<0)<<31>>31|0,k[p>>2]|0,k[p+4>>2]|0)|0;n=jq(p|0,L|0,j|0,n|0)|0;n=(k[k[b>>2]>>2]|0)+n|0;j=n;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;n=n+4|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;p=B;k[p>>2]=j;k[p+4>>2]=n;p=(j^318)+239^n;e=k[y>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[H>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(A=k[c>>2]|0,(A|0)!=0):0){b:do if(d){d=A;while(1){if((k[d+4>>2]&g|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}else{d=A;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}while(0);k[f+(q<<2)>>2]=k[d+16>>2]}else C=23}else C=23;while(0);if((C|0)==23){C=0;d=$p(20)|0;h=d+8|0;k[h>>2]=j;k[h+4>>2]=n;k[d+16>>2]=m;k[d+4>>2]=p;k[d>>2]=0;We(z,H,d);if(!(i[t>>0]|0))Ip(d);p=u;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;lq((k[k[v>>2]>>2]|0)+p|0,B|0,f|0)|0;f=k[F>>2]|0;k[f+(q<<2)>>2]=m;m=m+1|0}q=q+1|0;e=k[E>>2]|0}while((q|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[F>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-D|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[E>>2]|0}if((e|0)>0){f=k[F>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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]=m;f=m}}else f=0;d=k[F>>2]|0;c=d;if(d|0){e=k[G>>2]|0;if((e|0)!=(d|0))k[G>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[H+8>>2]|0;if(d|0)do{G=d;d=k[d>>2]|0;Ip(G)}while((d|0)!=0);d=k[H>>2]|0;k[H>>2]=0;if(!d){r=I;return f|0}Ip(d);r=I;return f|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,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+64|0;B=K+48|0;J=K+24|0;D=K+12|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=D+4|0;t=D+8|0;u=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;s=k[c>>2]|0;q=0;l=0;do{p=s+q|0;c=y;d=k[c>>2]|0;c=k[c+4>>2]|0;e=z;e=sq(p|0,((p|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;c=jq(e|0,L|0,d|0,c|0)|0;d=D;c=(k[k[b>>2]>>2]|0)+c|0;e=d+12|0;do{i[d>>0]=i[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));j=k[D>>2]|0;m=k[A>>2]|0;n=k[t>>2]|0;p=((j^318)+239^m)+239^n;e=k[u>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}while(0);k[f+(q<<2)>>2]=k[d+20>>2]}else E=25}else E=25;while(0);if((E|0)==25){E=0;d=$p(24)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+16>>2]=n;k[d+20>>2]=l;k[d+4>>2]=p;k[d>>2]=0;_e(B,J,d);if(!(i[v>>0]|0))Ip(d);p=w;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+p|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(q<<2)>>2]=l;l=l+1|0}q=q+1|0;e=k[G>>2]|0}while((q|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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]=l;f=l}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|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,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;u=C+88|0;B=C+64|0;v=C+48|0;w=C+32|0;z=C+16|0;t=C;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;o[B+16>>2]=1.0;y=a+80|0;d=k[y>>2]|0;k[z>>2]=0;A=z+4|0;k[A>>2]=0;k[z+8>>2]=0;if(d){if(d>>>0>1073741823)yp(z);s=d<<2;f=$p(s)|0;k[z>>2]=f;e=f+(d<<2)|0;k[z+8>>2]=e;hq(f|0,0,s|0)|0;k[A>>2]=e;e=k[y>>2]|0;if((e|0)>0){p=k[c>>2]|0;q=b+48|0;s=b+40|0;j=u+4|0;m=a+40|0;n=a+64|0;h=0;l=0;do{g=p+h|0;d=q;c=k[d>>2]|0;d=k[d+4>>2]|0;e=s;e=sq(g|0,((g|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;d=jq(e|0,L|0,c|0,d|0)|0;d=(k[k[b>>2]>>2]|0)+d|0;c=v;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));c=w;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));d=cf(B,w)|0;if(!d){k[t>>2]=k[w>>2];k[t+4>>2]=k[w+4>>2];k[t+8>>2]=k[w+8>>2];k[t+12>>2]=k[w+12>>2];d=$p(28)|0;g=d+8|0;k[g>>2]=k[t>>2];k[g+4>>2]=k[t+4>>2];k[g+8>>2]=k[t+8>>2];k[g+12>>2]=k[t+12>>2];k[d+24>>2]=l;k[d+4>>2]=(((k[g>>2]^318)+239^k[d+12>>2])+239^k[d+16>>2])+239^k[d+20>>2];k[d>>2]=0;df(u,B,d);if(!(i[j>>0]|0))Ip(d);g=m;f=k[g>>2]|0;g=sq(f|0,k[g+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[n>>2]>>2]|0)+g|0,v|0,f|0)|0;f=k[z>>2]|0;k[f+(h<<2)>>2]=l;l=l+1|0}else k[f+(h<<2)>>2]=k[d+24>>2];h=h+1|0;e=k[y>>2]|0}while((h|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[z>>2]|0;d=d>>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;g=a+68|0;h=a+72|0;f=k[h>>2]|0;c=k[g>>2]|0;d=f-c>>2;if(e>>>0<=d>>>0){if(e>>>0>>0?(x=c+(e<<2)|0,(f|0)!=(x|0)):0)k[h>>2]=f+(~((f+-4-x|0)>>>2)<<2)}else{Ue(g,e-d|0,2864);e=k[y>>2]|0}if((e|0)>0){f=k[z>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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[y>>2]=l;f=l}}else f=0;d=k[z>>2]|0;c=d;if(d|0){e=k[A>>2]|0;if((e|0)!=(d|0))k[A>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[B+8>>2]|0;if(d|0)do{A=d;d=k[d>>2]|0;Ip(A)}while((d|0)!=0);d=k[B>>2]|0;k[B>>2]=0;if(!d){r=C;return f|0}Ip(d);r=C;return f|0}function dg(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2876;b=k[a+52>>2]|0;c=b;if(b|0){d=a+56|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+40>>2]|0;c=b;if(b|0){d=a+44|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+28>>2]|0;c=b;if(b|0){d=a+32|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+16>>2]|0;if(!b){a=a+4|0;eg(a);return}c=a+20|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ip(b);a=a+4|0;eg(a);return}function eg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a>>2]|0;if(!b)return;h=a+4|0;c=k[h>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[h>>2]=f;g=k[f>>2]|0;k[f>>2]=0;if(g|0){c=k[g+68>>2]|0;d=c;if(c|0){e=g+72|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}f=g+64|0;c=k[f>>2]|0;k[f>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;Ip(d)}Ip(c)}Ip(g)}c=k[h>>2]|0}while((c|0)!=(b|0));b=k[a>>2]|0}Ip(b);return}function fg(a){a=a|0;dg(a);Ip(a);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;i=r;r=r+16|0;d=i;k[d>>2]=b;if((b|0)<=-1)Aa(5738,5750,92,5777);h=a+4|0;if((k[a+8>>2]|0)-(k[h>>2]|0)>>2>>>0<=b>>>0)hg(h,b+1|0);e=k[(k[c>>2]|0)+56>>2]|0;do if((e|0)<4){f=a+16+(e*12|0)+4|0;g=k[f>>2]|0;if((g|0)==(k[a+16+(e*12|0)+8>>2]|0)){kg(a+16+(e*12|0)|0,d);break}else{k[g>>2]=b;k[f>>2]=g+4;break}}while(0);a=(k[h>>2]|0)+(b<<2)|0;b=k[c>>2]|0;k[c>>2]=0;h=k[a>>2]|0;k[a>>2]=b;if(!h){r=i;return}d=k[h+68>>2]|0;e=d;if(d|0){f=h+72|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ip(d)}a=h+64|0;d=k[a>>2]|0;k[a>>2]=0;if(d|0){e=k[d>>2]|0;if(e|0){f=d+4|0;if((k[f>>2]|0)!=(e|0))k[f>>2]=e;Ip(e)}Ip(d)}Ip(h);r=i;return}function hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=a+4|0;c=k[g>>2]|0;d=k[a>>2]|0;e=c-d>>2;if(e>>>0>>0){ig(a,b-e|0);return}if(e>>>0<=b>>>0)return;f=d+(b<<2)|0;if((c|0)==(f|0))return;do{b=c+-4|0;k[g>>2]=b;a=k[b>>2]|0;k[b>>2]=0;if(a|0){c=k[a+68>>2]|0;d=c;if(c|0){e=a+72|0;b=k[e>>2]|0;if((b|0)!=(c|0))k[e>>2]=b+(~((b+-4-d|0)>>>2)<<2);Ip(c)}b=a+64|0;c=k[b>>2]|0;k[b>>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;Ip(d)}Ip(c)}Ip(a)}c=k[g>>2]|0}while((c|0)!=(f|0));return}function ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;q=s;o=a+8|0;j=k[o>>2]|0;p=a+4|0;c=k[p>>2]|0;if(j-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[p>>2]=c+(b<<2);r=s;return}f=k[a>>2]|0;c=(c-f>>2)+b|0;if(c>>>0>1073741823)yp(a);i=f;d=j-f|0;if(d>>2>>>0<536870911){g=d>>1;g=g>>>0>>0?c:g}else g=1073741823;e=k[p>>2]|0;k[q+12>>2]=0;k[q+16>>2]=a+8;d=e;if(!g)h=0;else h=$p(g<<2)|0;k[q>>2]=h;c=h+(e-f>>2<<2)|0;l=q+8|0;m=q+4|0;k[m>>2]=c;n=q+12|0;k[n>>2]=h+(g<<2);hq(c|0,0,b<<2|0)|0;k[l>>2]=c+(b<<2);if((d|0)==(i|0))d=j;else{do{d=d+-4|0;j=k[d>>2]|0;k[d>>2]=0;k[c+-4>>2]=j;c=(k[m>>2]|0)+-4|0;k[m>>2]=c}while((d|0)!=(i|0));f=k[a>>2]|0;e=k[p>>2]|0;d=k[o>>2]|0}k[a>>2]=c;k[m>>2]=f;k[p>>2]=k[l>>2];k[l>>2]=e;k[o>>2]=k[n>>2];k[n>>2]=d;k[q>>2]=k[m>>2];jg(q);r=s;return}function jg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=k[a+4>>2]|0;h=a+8|0;b=k[h>>2]|0;if((b|0)!=(g|0))do{e=b+-4|0;k[h>>2]=e;f=k[e>>2]|0;k[e>>2]=0;if(f|0){b=k[f+68>>2]|0;c=b;if(b|0){d=f+72|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}e=f+64|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0){c=k[b>>2]|0;if(c|0){d=b+4|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;Ip(c)}Ip(b)}Ip(f)}b=k[h>>2]|0}while((b|0)!=(g|0));b=k[a>>2]|0;if(!b)return;Ip(b);return}function kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)yp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Ip(i);return}function lg(a){a=a|0;var b=0,c=0,d=0,e=0;if(!(k[a+64>>2]|0)){e=0;return e|0}e=a+4|0;d=a+8|0;b=k[e>>2]|0;a=(k[d>>2]|0)-b|0;if((a|0)<=0){e=1;return e|0}c=a>>2;a=b;b=0;while(1){if(c>>>0<=b>>>0){b=6;break}c=k[a+(b<<2)>>2]|0;b=b+1|0;if(!(Oe(c,c)|0)){a=0;b=8;break}a=k[e>>2]|0;c=(k[d>>2]|0)-a>>2;if((b|0)>=(c|0)){a=1;b=8;break}}if((b|0)==6)Aa(9771,9733,63,9761);else if((b|0)==8)return a|0;return 0}function mg(a){a=a|0;var b=0,c=0,d=0,e=0.0,f=0.0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=r;r=r+64|0;R=S+28|0;P=S+16|0;M=S+4|0;K=S;Q=a;F=a+64|0;b=k[F>>2]|0;k[R>>2]=0;k[R+4>>2]=0;k[R+8>>2]=0;k[R+12>>2]=0;k[R+16>>2]=Q;H=R+20|0;o[H>>2]=1.0;k[R+24>>2]=Q;ng(R,b);b=k[F>>2]|0;k[P>>2]=0;Q=P+4|0;k[Q>>2]=0;k[P+8>>2]=0;do if(b)if(b>>>0>1073741823)yp(P);else{O=b<<2;E=$p(O)|0;k[P>>2]=E;c=E+(b<<2)|0;k[P+8>>2]=c;hq(E|0,0,O|0)|0;k[Q>>2]=c;c=k[F>>2]|0;break}else c=0;while(0);k[M>>2]=0;O=M+4|0;k[O>>2]=0;k[M+8>>2]=0;k[K>>2]=0;a:do if((c|0)>0){y=R+16|0;A=R+4|0;B=R+12|0;C=R+8|0;D=M+8|0;z=R+24|0;E=0;x=0;b:while(1){t=k[y>>2]|0;s=t+4|0;t=t+8|0;b=k[s>>2]|0;w=(k[t>>2]|0)-b|0;h=w>>2;if((w|0)>0){c=0;g=0;do{if(h>>>0<=g>>>0){N=11;break b}d=k[b+(g<<2)>>2]|0;if(!(i[d+84>>0]|0))d=k[(k[d+68>>2]|0)+(E<<2)>>2]|0;else d=E;c=d<<2^c<<1;g=g+1|0}while((g|0)<(h|0))}else c=0;w=k[A>>2]|0;v=(w|0)==0;c:do if(!v){m=w+-1|0;d=(m&w|0)==0;if(d)q=m&c;else q=(c>>>0)%(w>>>0)|0;b=k[(k[R>>2]|0)+(q<<2)>>2]|0;if((b|0)!=0?(I=k[b>>2]|0,(I|0)!=0):0){p=k[z>>2]|0;n=p+4|0;p=p+8|0;d:do if(d){b=I;while(1){if((k[b+4>>2]&m|0)!=(q|0)){N=43;break c}l=k[b+8>>2]|0;d=k[n>>2]|0;c=(k[p>>2]|0)-d|0;if((c|0)<=0)break d;j=c>>2;h=0;while(1){if(j>>>0<=h>>>0){N=37;break b}c=k[d+(h<<2)>>2]|0;if(!(i[c+84>>0]|0)){g=k[c+68>>2]|0;c=k[g+(l<<2)>>2]|0;g=k[g+(E<<2)>>2]|0}else{c=l;g=E}h=h+1|0;if((c|0)!=(g|0))break;if((h|0)>=(j|0)){N=41;break d}}b=k[b>>2]|0;if(!b){N=43;break c}}}else{b=I;while(1){if((((k[b+4>>2]|0)>>>0)%(w>>>0)|0|0)!=(q|0)){N=43;break c}l=k[b+8>>2]|0;d=k[n>>2]|0;c=(k[p>>2]|0)-d|0;if((c|0)<=0)break d;j=c>>2;h=0;while(1){if(j>>>0<=h>>>0){N=37;break b}c=k[d+(h<<2)>>2]|0;if(!(i[c+84>>0]|0)){g=k[c+68>>2]|0;c=k[g+(l<<2)>>2]|0;g=k[g+(E<<2)>>2]|0}else{c=l;g=E}h=h+1|0;if((c|0)!=(g|0))break;if((h|0)>=(j|0)){N=41;break d}}b=k[b>>2]|0;if(!b){N=43;break c}}}while(0);if((N|0)==41){N=0;if(!b){N=43;break}}k[(k[P>>2]|0)+(E<<2)>>2]=k[b+12>>2];c=x}else N=43}else N=43;while(0);do if((N|0)==43){N=0;u=$p(16)|0;k[u+8>>2]=E;k[u+12>>2]=x;b=k[s>>2]|0;t=(k[t>>2]|0)-b|0;j=t>>2;if((t|0)>0){c=0;g=0;do{if(j>>>0<=g>>>0){N=47;break b}d=k[b+(g<<2)>>2]|0;if(!(i[d+84>>0]|0))d=k[(k[d+68>>2]|0)+(E<<2)>>2]|0;else d=E;c=d<<2^c<<1;g=g+1|0}while((g|0)<(j|0));h=u+4|0;k[h>>2]=c;k[u>>2]=0;d=0;g=0;while(1){if(j>>>0<=g>>>0){N=53;break b}c=k[b+(g<<2)>>2]|0;if(!(i[c+84>>0]|0))c=k[(k[c+68>>2]|0)+(E<<2)>>2]|0;else c=E;c=c<<2^d<<1;g=g+1|0;if((g|0)>=(j|0)){t=u;b=c;break}else d=c}}else{h=u+4|0;k[h>>2]=0;k[u>>2]=0;t=u;b=0}k[h>>2]=b;e:do if(!v){p=w+-1|0;d=(p&w|0)==0;if(d)b=p&b;else b=(b>>>0)%(w>>>0)|0;c=k[(k[R>>2]|0)+(b<<2)>>2]|0;if((c|0)!=0?(J=k[c>>2]|0,(J|0)!=0):0){s=k[z>>2]|0;q=s+4|0;s=s+8|0;f:do if(d){n=J;while(1){if((k[n+4>>2]&p|0)!=(b|0)){N=83;break e}m=k[n+8>>2]|0;d=k[q>>2]|0;c=(k[s>>2]|0)-d|0;if((c|0)<=0)break f;l=c>>2;j=0;while(1){if(l>>>0<=j>>>0){N=79;break b}c=k[d+(j<<2)>>2]|0;if(!(i[c+84>>0]|0)){g=k[c+68>>2]|0;c=k[g+(m<<2)>>2]|0;g=k[g+(E<<2)>>2]|0}else{c=m;g=E}j=j+1|0;if((c|0)!=(g|0))break;if((j|0)>=(l|0))break f}n=k[n>>2]|0;if(!n){N=83;break e}}}else{n=J;while(1){if((((k[n+4>>2]|0)>>>0)%(w>>>0)|0|0)!=(b|0)){N=83;break e}m=k[n+8>>2]|0;d=k[q>>2]|0;c=(k[s>>2]|0)-d|0;if((c|0)<=0)break f;l=c>>2;j=0;while(1){if(l>>>0<=j>>>0){N=79;break b}c=k[d+(j<<2)>>2]|0;if(!(i[c+84>>0]|0)){g=k[c+68>>2]|0;c=k[g+(m<<2)>>2]|0;g=k[g+(E<<2)>>2]|0}else{c=m;g=E}j=j+1|0;if((c|0)!=(g|0))break;if((j|0)>=(l|0))break f}n=k[n>>2]|0;if(!n){N=83;break e}}}while(0);Ip(u)}else N=83}else{b=0;N=83}while(0);if((N|0)==83){N=0;e=+(((k[B>>2]|0)+1|0)>>>0);f=+o[H>>2];do if(v|e>+(w>>>0)*f){if(w>>>0>2)b=(w+-1&w|0)==0;else b=0;d=(b&1|w<<1)^1;b=~~+ga(+(e/f))>>>0;ng(R,d>>>0>>0?b:d);d=k[A>>2]|0;b=k[h>>2]|0;c=d+-1|0;if(!(c&d)){g=d;b=c&b;break}else{g=d;b=(b>>>0)%(d>>>0)|0;break}}else g=w;while(0);b=(k[R>>2]|0)+(b<<2)|0;c=k[b>>2]|0;if(!c){k[u>>2]=k[C>>2];k[C>>2]=u;k[b>>2]=C;b=k[t>>2]|0;if(b|0){b=k[b+4>>2]|0;c=g+-1|0;if(!(c&g))b=b&c;else b=(b>>>0)%(g>>>0)|0;k[(k[R>>2]|0)+(b<<2)>>2]=u}}else{k[u>>2]=k[c>>2];k[c>>2]=u}k[B>>2]=(k[B>>2]|0)+1}c=x+1|0;k[(k[P>>2]|0)+(E<<2)>>2]=x;b=k[O>>2]|0;if((b|0)==(k[D>>2]|0)){pg(M,K);break}else{k[b>>2]=E;k[O>>2]=b+4;break}}while(0);E=E+1|0;k[K>>2]=E;b=k[F>>2]|0;if((E|0)>=(b|0)){G=b;L=c;break a}else x=c}if((N|0)==11)Aa(9771,9733,63,9761);else if((N|0)==37)Aa(9771,9733,63,9761);else if((N|0)==47)Aa(9771,9733,63,9761);else if((N|0)==53)Aa(9771,9733,63,9761);else if((N|0)==79)Aa(9771,9733,63,9761)}else{G=c;L=0}while(0);if((L|0)!=(G|0)){db[k[(k[a>>2]|0)+20>>2]&7](a,P,M);k[F>>2]=L}b=k[M>>2]|0;c=b;if(b|0){d=k[O>>2]|0;if((d|0)!=(b|0))k[O>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ip(b)}b=k[P>>2]|0;c=b;if(b|0){d=k[Q>>2]|0;if((d|0)!=(b|0))k[Q>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ip(b)}b=k[R+8>>2]|0;if(b|0)do{Q=b;b=k[b>>2]|0;Ip(Q)}while((b|0)!=0);b=k[R>>2]|0;k[R>>2]=0;if(!b){r=S;return}Ip(b);r=S;return}function ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){og(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+20>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;og(a,b);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,r=0,s=0,t=0,u=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Ip(c);k[d>>2]=0;return}u=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=u;if(c|0)Ip(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;f=k[d>>2]|0;if(!f)return;c=k[f+4>>2]|0;t=b+-1|0;u=(t&b|0)==0;if(u)e=c&t;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[f>>2]|0;if(!c)return;s=a+24|0;g=f;d=f;a:while(1){r=d;b:while(1){while(1){d=k[c+4>>2]|0;if(u)q=d&t;else q=(d>>>0)%(b>>>0)|0;if((q|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(q<<2)|0;if(!(k[d>>2]|0)){e=q;f=c;c=r;break b}d=k[c>>2]|0;c:do if(!d)d=c;else{n=k[c+8>>2]|0;m=k[s>>2]|0;p=k[m+4>>2]|0;m=(k[m+8>>2]|0)-p|0;o=m>>2;if((m|0)>0)l=c;else while(1){f=k[d>>2]|0;if(!f)break c;else d=f}while(1){j=k[d+8>>2]|0;m=0;do{if(o>>>0<=m>>>0){c=31;break a}f=k[p+(m<<2)>>2]|0;if(!(i[f+84>>0]|0)){h=k[f+68>>2]|0;f=k[h+(n<<2)>>2]|0;h=k[h+(j<<2)>>2]|0}else{f=n;h=j}m=m+1|0;if((f|0)!=(h|0)){d=l;break c}}while((m|0)<(o|0));f=k[d>>2]|0;if(!f)break;else{l=d;d=f}}}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[g>>2]|0;if(!c){c=36;break a}}c=k[d>>2]|0;if(!c){c=36;break a}else{g=d;r=d}}k[d>>2]=c;c=k[f>>2]|0;if(!c){c=36;break}else{g=f;d=f}}if((c|0)==31)Aa(9771,9733,63,9761);else if((c|0)==36)return}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;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)yp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Ip(i);return}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,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)){j=k[b>>2]|0;l=a+4|0;h=a+8|0;c=0;b:while(1){f=k[d>>2]|0;g=k[j+(f<<2)>>2]|0;if((g|0)>=(c|0)){c=k[l>>2]|0;a=(k[h>>2]|0)-c|0;e=a>>2;if((a|0)>0){a=0;do{if(e>>>0<=a>>>0){c=11;break b}b=k[c+(a<<2)>>2]|0;if(i[b+84>>0]|0){c=13;break b}b=k[b+68>>2]|0;k[b+(g<<2)>>2]=k[b+(f<<2)>>2];a=a+1|0}while((a|0)<(e|0))}c=g+1|0}d=d+4|0;if((d|0)==(m|0)){n=h;o=l;q=c;break a}}if((c|0)==11)Aa(9771,9733,63,9761);else if((c|0)==13)Aa(10788,10807,80,10839)}else{n=a+8|0;o=a+4|0;q=0}while(0);a=k[n>>2]|0;b=k[o>>2]|0;c=a-b|0;if((c|0)<=0)return;d=c>>2;c=a;h=0;while(1){if(d>>>0<=h>>>0){c=18;break}d=k[b+(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(q>>>0<=e>>>0){if(q>>>0>>0?(p=f+(q<<2)|0,(g|0)!=(p|0)):0)k[d>>2]=g+(~((g+-4-p|0)>>>2)<<2)}else{Ue(a,q-e|0,2900);b=k[o>>2]|0;c=k[n>>2]|0}h=h+1|0;d=c-b>>2;if((h|0)>=(d|0)){c=16;break}}if((c|0)==16)return;else if((c|0)==18)Aa(9771,9733,63,9761)}function rg(a){a=a|0;var b=0;k[a>>2]=2876;b=a+4|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[a+20>>2]=0;k[a+24>>2]=0;k[a+28>>2]=0;k[a+32>>2]=0;k[a+36>>2]=0;k[a+40>>2]=0;k[a+44>>2]=0;k[a+48>>2]=0;k[a+52>>2]=0;k[a+56>>2]=0;k[a+60>>2]=0;k[a+64>>2]=0;return}function sg(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>3){b=-1;return b|0}c=k[a+16+(b*12|0)>>2]|0;if(((k[a+16+(b*12|0)+4>>2]|0)-c|0)<=0){b=-1;return b|0}b=k[c>>2]|0;return b|0}function tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+16|0;d=h;c=k[(k[a>>2]|0)+8>>2]|0;f=a+4|0;g=a+8|0;e=(k[g>>2]|0)-(k[f>>2]|0)>>2;i=k[b>>2]|0;k[b>>2]=0;k[d>>2]=i;db[c&7](a,e,d);e=k[d>>2]|0;k[d>>2]=0;if(!e){g=k[g>>2]|0;i=k[f>>2]|0;i=g-i|0;i=i>>2;i=i+-1|0;r=h;return i|0}b=k[e+68>>2]|0;a=b;if(b|0){c=e+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-a|0)>>>2)<<2);Ip(b)}i=e+64|0;b=k[i>>2]|0;k[i>>2]=0;if(b|0){a=k[b>>2]|0;if(a|0){c=b+4|0;if((k[c>>2]|0)!=(a|0))k[c>>2]=a;Ip(a)}Ip(b)}Ip(e);g=k[g>>2]|0;i=k[f>>2]|0;i=g-i|0;i=i>>2;i=i+-1|0;r=h;return i|0}function ug(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2912;b=k[a+80>>2]|0;c=b;if(b|0){d=a+84|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);Ip(b)}b=k[a+68>>2]|0;if(!b){dg(a);return}c=a+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ip(b);dg(a);return}function vg(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2912;b=k[a+80>>2]|0;c=b;if(b|0){d=a+84|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);Ip(b)}b=k[a+68>>2]|0;if(!b){dg(a);Ip(a);return}c=a+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ip(b);dg(a);Ip(a);return}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,i=0;i=r;r=r+16|0;h=i;g=k[c>>2]|0;k[c>>2]=0;k[h>>2]=g;gg(a,b,h);g=k[h>>2]|0;k[h>>2]=0;if(g|0){c=k[g+68>>2]|0;d=c;if(c|0){e=g+72|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}h=g+64|0;c=k[h>>2]|0;k[h>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;Ip(d)}Ip(c)}Ip(g)}h=a+68|0;a=a+72|0;c=k[a>>2]|0;f=k[h>>2]|0;g=c-f>>2;if(g>>>0>b>>>0){r=i;return}d=b+1|0;e=c;if(d>>>0>g>>>0){xg(h,d-g|0);r=i;return}if(d>>>0>=g>>>0){r=i;return}c=f+(d<<2)|0;if((e|0)==(c|0)){r=i;return}k[a>>2]=e+(~((e+-4-c|0)>>>2)<<2);r=i;return}function xg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=a+8|0;e=k[l>>2]|0;m=a+4|0;c=k[m>>2]|0;f=c;if(e-c>>2>>>0>=b>>>0){c=b;d=f;while(1){k[d>>2]=1;c=c+-1|0;if(!c)break;else d=d+4|0}k[m>>2]=f+(b<<2);return}j=k[a>>2]|0;d=(c-j>>2)+b|0;if(d>>>0>1073741823)yp(a);c=e-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?d:c;e=k[m>>2]|0;d=e-j>>2;if(!c){h=0;c=0;g=e}else i=9}else{d=k[m>>2]|0;c=1073741823;e=d;d=d-j>>2;i=9}if((i|0)==9){h=c;c=$p(c<<2)|0;g=e}f=c+(d<<2)|0;d=c+(h<<2)|0;c=b;e=f;while(1){k[e>>2]=1;c=c+-1|0;if(!c)break;else e=e+4|0}h=g-j|0;i=f+(0-(h>>2)<<2)|0;lq(i|0,j|0,h|0)|0;k[a>>2]=i;k[m>>2]=f+(b<<2);k[l>>2]=d;if(!j)return;Ip(j);return}function yg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;qg(a,b,c);d=k[a+84>>2]|0;c=k[a+80>>2]|0;e=c;if((d-c|0)<=0)return;b=k[b>>2]|0;c=(d-c|0)/12|0;a=0;do{d=e+(a*12|0)|0;k[d>>2]=k[b+(k[d>>2]<<2)>>2];d=e+(a*12|0)+4|0;k[d>>2]=k[b+(k[d>>2]<<2)>>2];d=e+(a*12|0)+8|0;k[d>>2]=k[b+(k[d>>2]<<2)>>2];a=a+1|0}while((a|0)<(c|0));return}function zg(a){a=a|0;rg(a);k[a>>2]=2912;a=a+68|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;return}function Ag(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 Bg(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=r;r=r+16|0;c=p+1|0;d=p;if(!b){a=0;r=p;return a|0}f=b+4|0;n=(((k[f>>2]|0)-(k[b>>2]|0)|0)/12|0)*3|0;i[c>>0]=0;Cg(a,n,c);n=b+24|0;o=b+28|0;c=(k[o>>2]|0)-(k[n>>2]|0)>>2;i[d>>0]=0;Cg(a+12|0,c,d);Dg(a+28|0,(((k[f>>2]|0)-(k[b>>2]|0)|0)/12|0)*3|0,2936);f=a+52|0;c=(k[o>>2]|0)-(k[n>>2]|0)|0;g=c>>2;h=a+60|0;j=k[f>>2]|0;if((k[h>>2]|0)-j>>2>>>0>>0){l=a+56|0;m=(k[l>>2]|0)-j|0;d=m>>2;if(!g)e=0;else e=$p(c)|0;q=e+(d<<2)|0;d=q+(0-d<<2)|0;c=j;lq(d|0,c|0,m|0)|0;k[f>>2]=d;k[l>>2]=q;k[h>>2]=e+(g<<2);if(j|0)Ip(c)}m=a+40|0;c=(k[o>>2]|0)-(k[n>>2]|0)|0;f=c>>2;g=a+48|0;h=k[m>>2]|0;if((k[g>>2]|0)-h>>2>>>0>>0){j=a+44|0;l=(k[j>>2]|0)-h|0;d=l>>2;if(!f)e=0;else e=$p(c)|0;q=e+(d<<2)|0;o=q+(0-d<<2)|0;c=h;lq(o|0,c|0,l|0)|0;k[m>>2]=o;k[j>>2]=q;k[g>>2]=e+(f<<2);if(h|0)Ip(c)}k[a+64>>2]=b;i[a+24>>0]=1;q=1;r=p;return q|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,j=0,l=0,m=0;l=r;r=r+16|0;j=l;e=a+4|0;k[e>>2]=0;if(!b){r=l;return}f=a+8|0;d=k[f>>2]|0;if(d<<5>>>0>>0){k[j>>2]=0;g=j+4|0;k[g>>2]=0;h=j+8|0;k[h>>2]=0;if((b|0)<0)yp(a);if(d<<5>>>0>1073741822)d=2147483647;else{d=d<<6;m=b+31&-32;d=d>>>0>>0?m:d}Cd(j,d);d=k[a>>2]|0;k[a>>2]=k[j>>2];k[j>>2]=d;m=k[e>>2]|0;k[e>>2]=b;k[g>>2]=m;m=k[f>>2]|0;k[f>>2]=k[h>>2];k[h>>2]=m;if(d|0)Ip(d)}else k[e>>2]=b;a=k[a>>2]|0;e=a;f=b>>>5;d=f<<2;if(!(i[c>>0]|0)){hq(a|0,0,d|0)|0;a=f<<5;if((a|0)==(b|0)){r=l;return}m=e+(f<<2)|0;k[m>>2]=k[m>>2]&~(-1>>>(32-b+a|0));r=l;return}else{hq(a|0,-1,d|0)|0;a=f<<5;if((a|0)==(b|0)){r=l;return}m=e+(f<<2)|0;k[m>>2]=k[m>>2]|-1>>>(32-b+a|0);r=l;return}}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;i=a+8|0;d=k[i>>2]|0;g=k[a>>2]|0;j=g;if(d-g>>2>>>0>=b>>>0){i=a+4|0;h=k[i>>2]|0;f=h-g>>2;g=f>>>0>>0;d=g?f:b;if(d|0){e=j;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(g){e=b-f|0;d=e;f=h;while(1){k[f>>2]=k[c>>2];d=d+-1|0;if(!d)break;else f=f+4|0}k[i>>2]=h+(e<<2);return}else{d=j+(b<<2)|0;if((h|0)==(d|0))return;k[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);return}}f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(j|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);Ip(f);k[i>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(b>>>0>1073741823)yp(a);d=d-0|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?b:d;if(d>>>0>1073741823)yp(a);else h=d}else h=1073741823;f=$p(h<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[i>>2]=f+(h<<2);d=b;e=f;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[g>>2]=f+(b<<2);return}function Eg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+16|0;x=E+8|0;C=E+12|0;B=E+4|0;y=E;A=a+64|0;d=k[A>>2]|0;if(((k[d+28>>2]|0)-(k[d+24>>2]|0)|0)<=0){r=E;return}z=b+80|0;u=b+84|0;v=a+52|0;w=c+84|0;l=c+68|0;m=a+56|0;n=a+60|0;o=a+12|0;p=a+28|0;q=a+40|0;s=a+44|0;t=a+48|0;h=0;j=0;a:while(1){f=k[(k[d+24>>2]|0)+(j<<2)>>2]|0;if((f|0)<0)b=h;else{b=h+1|0;c=(f|0)/3|0;d=k[z>>2]|0;if(c>>>0>=(((k[u>>2]|0)-d|0)/12|0)>>>0){D=6;break}c=k[d+(c*12|0)+(((f|0)%3|0)<<2)>>2]|0;if(!(i[w>>0]|0))c=k[(k[l>>2]|0)+(c<<2)>>2]|0;k[x>>2]=c;d=k[m>>2]|0;if(d>>>0<(k[n>>2]|0)>>>0){k[d>>2]=c;k[m>>2]=d+4}else Fg(v,x);k[C>>2]=f;k[B>>2]=0;do if(!(k[(k[o>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)))g=f;else{c=f+1|0;c=((c|0)%3|0|0)==0?f+-2|0:c;e=k[a>>2]|0;if(!(1<<(c&31)&k[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=k[(k[(k[A>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0){g=c+1|0;c=((g|0)%3|0|0)==0?c+-2|0:g;k[B>>2]=c;if((c|0)>-1)d=c;else{g=f;break}while(1){c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if(1<<(c&31)&k[e+(c>>>5<<2)>>2]|0){c=-1073741824;break}if((c|0)<0)break;c=k[(k[(k[A>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;g=c+1|0;c=((g|0)%3|0|0)==0?c+-2|0:g;if((c|0)>-1)d=c;else break}k[C>>2]=d;k[B>>2]=c;g=d;break}}}else c=-1073741824;k[B>>2]=c;g=f}while(0);k[(k[p>>2]|0)+(g<<2)>>2]=h;c=k[s>>2]|0;if((c|0)==(k[t>>2]|0))Bd(q,C);else{k[c>>2]=g;k[s>>2]=c+4}d=k[A>>2]|0;b:do if((g|0)>=0){c=(((g|0)%3|0|0)==0?2:-1)+g|0;if((c|0)>=0){c=k[(k[d+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0){c=c+(((c|0)%3|0|0)==0?2:-1)|0;k[B>>2]=c;if((c|0)>-1&(c|0)!=(g|0)){d=h;while(1){h=c+1|0;h=((h|0)%3|0|0)==0?c+-2|0:h;do if(k[(k[a>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)){f=b+1|0;d=(c|0)/3|0;if((c|0)<=-3){D=33;break a}e=k[z>>2]|0;if(d>>>0>=(((k[u>>2]|0)-e|0)/12|0)>>>0){D=35;break a}d=k[e+(d*12|0)+(((c|0)%3|0)<<2)>>2]|0;if(!(i[w>>0]|0))d=k[(k[l>>2]|0)+(d<<2)>>2]|0;k[y>>2]=d;e=k[m>>2]|0;if(e>>>0<(k[n>>2]|0)>>>0){k[e>>2]=d;k[m>>2]=e+4}else Fg(v,y);d=k[s>>2]|0;if((d|0)==(k[t>>2]|0)){Bd(q,B);e=b;b=f;break}else{k[d>>2]=c;k[s>>2]=d+4;e=b;b=f;break}}else e=d;while(0);k[(k[p>>2]|0)+(c<<2)>>2]=e;d=k[A>>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[d+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;c=c+(((c|0)%3|0|0)==0?2:-1)|0;k[B>>2]=c;if(!((c|0)>-1&(c|0)!=(g|0)))break b;else d=e}k[B>>2]=c}}else D=30}else D=30}else{c=g;D=30}while(0);if((D|0)==30){D=0;k[B>>2]=c}}j=j+1|0;if((j|0)>=((k[d+28>>2]|0)-(k[d+24>>2]|0)>>2|0)){D=3;break}else h=b}if((D|0)==3){r=E;return}else if((D|0)==6)Aa(10733,10769,64,10783);else if((D|0)==33)Aa(10856,10769,63,10783);else if((D|0)==35)Aa(10733,10769,64,10783)}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;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)yp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Ip(i);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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;w=r;r=r+16|0;v=w+8|0;u=w+4|0;t=w;i=a+64|0;c=k[i>>2]|0;if(((k[c+28>>2]|0)-(k[c+24>>2]|0)|0)<=0){r=w;return}q=a+52|0;s=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;f=0;h=0;while(1){d=k[(k[c+24>>2]|0)+(h<<2)>>2]|0;if((d|0)<0)b=f;else{b=f+1|0;k[v>>2]=f;c=k[s>>2]|0;if((c|0)==(k[j>>2]|0))Hg(q,v);else{k[c>>2]=f;k[s>>2]=c+4}k[u>>2]=d;k[t>>2]=0;do if(!(k[(k[l>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)))g=d;else{c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;e=k[a>>2]|0;if(!(1<<(c&31)&k[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=k[(k[(k[i>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0){g=c+1|0;c=((g|0)%3|0|0)==0?c+-2|0:g;k[t>>2]=c;if((c|0)>-1)d=c;else{g=d;break}while(1){c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if(1<<(c&31)&k[e+(c>>>5<<2)>>2]|0){c=-1073741824;break}if((c|0)<0)break;c=k[(k[(k[i>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;g=c+1|0;c=((g|0)%3|0|0)==0?c+-2|0:g;if((c|0)>-1)d=c;else break}k[u>>2]=d;k[t>>2]=c;g=d;break}}}else c=-1073741824;k[t>>2]=c;g=d}while(0);k[(k[m>>2]|0)+(g<<2)>>2]=f;c=k[o>>2]|0;if((c|0)==(k[p>>2]|0))Bd(n,u);else{k[c>>2]=g;k[o>>2]=c+4}c=k[i>>2]|0;a:do if((g|0)>=0){d=(((g|0)%3|0|0)==0?2:-1)+g|0;if((d|0)>=0){d=k[(k[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d|0)%3|0|0)==0?2:-1)|0;k[t>>2]=d;if((d|0)>-1&(d|0)!=(g|0)){c=f;while(1){f=d+1|0;f=((f|0)%3|0|0)==0?d+-2|0:f;do if(k[(k[a>>2]|0)+(f>>>5<<2)>>2]&1<<(f&31)){e=b+1|0;k[v>>2]=b;c=k[s>>2]|0;if((c|0)==(k[j>>2]|0))Hg(q,v);else{k[c>>2]=b;k[s>>2]=c+4}c=k[o>>2]|0;if((c|0)==(k[p>>2]|0)){Bd(n,t);f=b;b=e;break}else{k[c>>2]=d;k[o>>2]=c+4;f=b;b=e;break}}else f=c;while(0);k[(k[m>>2]|0)+(d<<2)>>2]=f;c=k[i>>2]|0;if((d|0)<0)break;d=(((d|0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0)break;d=k[(k[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;d=d+(((d|0)%3|0|0)==0?2:-1)|0;k[t>>2]=d;if(!((d|0)>-1&(d|0)!=(g|0)))break a;else c=f}k[t>>2]=d}}else x=26}else x=26}else{d=g;x=26}while(0);if((x|0)==26){x=0;k[t>>2]=d}}h=h+1|0;if((h|0)>=((k[c+28>>2]|0)-(k[c+24>>2]|0)>>2|0))break;else f=b}r=w;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;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)yp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Ip(i);return}function Ig(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){Eg(a,b,c);return}else{Gg(a,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;d=k[b>>2]|0;f=k[a>>2]|0;h=f+(d>>>5<<2)|0;k[h>>2]=k[h>>2]|1<<(d&31);h=k[a+64>>2]|0;e=(d|0)<0;if(!e?(c=d+1|0,c=((c|0)%3|0|0)==0?d+-2|0:c,(c|0)>=0):0)b=k[(k[h>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;else b=-1073741824;g=a+12|0;c=(k[g>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31);if(e){h=(k[g>>2]|0)+402653184|0;k[h>>2]=k[h>>2]|1;return}b=(((d|0)%3|0|0)==0?2:-1)+d|0;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;c=(k[g>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31);if(e)return;c=k[(k[h+12>>2]|0)+(d<<2)>>2]|0;if((c|0)<=-1)return;i[a+24>>0]=0;b=f+(c>>>5<<2)|0;k[b>>2]=k[b>>2]|1<<(c&31);b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;a=(k[g>>2]|0)+(b>>>5<<2)|0;k[a>>2]=k[a>>2]|1<<(b&31);b=(((c|0)%3|0|0)==0?2:-1)+c|0;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;h=(k[g>>2]|0)+(b>>>5<<2)|0;k[h>>2]=k[h>>2]|1<<(b&31);return}function Kg(a){a=a|0;o[a>>2]=1.0;o[a+4>>2]=1.0;return}function Lg(a,b,c){a=a|0;b=+b;c=c|0;o[a+4>>2]=1.0/+(c|0);o[a>>2]=b;return}function Mg(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function Ng(a){a=a|0;return}function Og(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;Mg(a+24|0);i[a+36>>0]=0;return}function Pg(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;a=a+16|0;k[a>>2]=0;k[a+4>>2]=0;return}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,j=0,m=0;if(b){e=a+8|0;m=e;h=k[m>>2]|0;m=k[m+4>>2]|0;f=a+16|0;b=f;d=k[b>>2]|0;b=k[b+4>>2]|0;g=jq(d|0,b|0,8,0)|0;j=L;if(!((m|0)<(j|0)|(m|0)==(j|0)&h>>>0>>0)){b=(k[a>>2]|0)+d|0;j=b;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=c;m=d;i[m>>0]=j;i[m+1>>0]=j>>8;i[m+2>>0]=j>>16;i[m+3>>0]=j>>24;d=d+4|0;i[d>>0]=b;i[d+1>>0]=b>>8;i[d+2>>0]=b>>16;i[d+3>>0]=b>>24;d=f;d=jq(k[d>>2]|0,k[d+4>>2]|0,8,0)|0;b=L;m=f;k[m>>2]=d;k[m+4>>2]=b}}else{b=a+16|0;e=a+8|0;d=k[b>>2]|0;b=k[b+4>>2]|0}i[a+36>>0]=1;j=(k[a>>2]|0)+d|0;m=e;m=gq(k[m>>2]|0,k[m+4>>2]|0,d|0,b|0)|0;k[a+32>>2]=0;k[a+24>>2]=j;k[a+28>>2]=j+m;return 1}function Rg(a){a=a|0;var b=0,c=0;i[a+36>>0]=0;c=jq(k[a+32>>2]|0,0,7,0)|0;c=kq(c|0,L|0,3)|0;a=a+16|0;b=a;b=jq(c|0,L|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[a>>2]=b;k[a+4>>2]=L;return}function Sg(a){a=a|0;var b=0,c=0;k[a>>2]=2948;c=k[a+4>>2]|0;if(!c)return;a=a+8|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Ip(c);return}function Tg(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2948;b=k[a+4>>2]|0;if(!b){Ip(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);Ip(b);Ip(a);return}function Ug(a,b,c){a=a|0;b=b|0;c=c|0;k[a+16>>2]=b;k[a+20>>2]=c;return 1}function Vg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+80|0;z=A;w=A+64|0;x=b+8|0;u=x;v=k[u>>2]|0;u=k[u+4>>2]|0;y=b+16|0;d=y;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((u|0)<(e|0)|(u|0)==(e|0)&v>>>0>>0){b=0;r=A;return b|0}v=(k[b>>2]|0)+c|0;v=l[v>>0]|l[v+1>>0]<<8|l[v+2>>0]<<16|l[v+3>>0]<<24;u=y;k[u>>2]=d;k[u+4>>2]=e;u=a+4|0;c=a+8|0;f=k[c>>2]|0;e=k[u>>2]|0;d=f-e>>2;if(v>>>0<=d>>>0){if(v>>>0>>0?(g=e+(v<<2)|0,(f|0)!=(g|0)):0)k[c>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else Wg(u,v-d|0);q=k[a+20>>2]|0;if((v|0)<=0){b=1;r=A;return b|0}s=z+60|0;t=0;while(1){n=x;m=k[n>>2]|0;n=k[n+4>>2]|0;g=y;d=k[g>>2]|0;g=k[g+4>>2]|0;if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>d>>>0)){c=0;d=27;break}o=k[b>>2]|0;p=i[o+d>>0]|0;c=jq(d|0,g|0,1,0)|0;h=L;a=y;k[a>>2]=c;k[a+4>>2]=h;if(!((n|0)>(h|0)|(n|0)==(h|0)&m>>>0>c>>>0)){c=0;d=27;break}h=i[o+c>>0]|0;c=jq(d|0,g|0,2,0)|0;a=L;f=y;k[f>>2]=c;k[f+4>>2]=a;if(!((n|0)>(a|0)|(n|0)==(a|0)&m>>>0>c>>>0)){c=0;d=27;break}a=i[o+c>>0]|0;c=jq(d|0,g|0,3,0)|0;f=L;e=y;k[e>>2]=c;k[e+4>>2]=f;if(!((n|0)>(f|0)|(n|0)==(f|0)&m>>>0>c>>>0)){c=0;d=27;break}e=i[o+c>>0]|0;f=jq(d|0,g|0,4,0)|0;c=y;k[c>>2]=f;k[c+4>>2]=L;c=jq(d|0,g|0,6,0)|0;d=L;if((n|0)<(d|0)|(n|0)==(d|0)&m>>>0>>0){c=0;d=27;break}g=o+f|0;g=l[g>>0]|l[g+1>>0]<<8;n=y;k[n>>2]=c;k[n+4>>2]=d;n=h&255;Ie(z);o=ha(cd(n)|0,a&255)|0;Je(z,p&255,0,a,n,e<<24>>24!=0,o,((o|0)<0)<<31>>31,0,0);j[s>>1]=g;g=$p(88)|0;Me(g,z);k[w>>2]=g;g=tg(q,w)|0;a=k[w>>2]|0;k[w>>2]=0;if(a|0){c=k[a+68>>2]|0;d=c;if(c|0){e=a+72|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}p=a+64|0;c=k[p>>2]|0;k[p>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;Ip(d)}Ip(c)}Ip(a)}k[(k[u>>2]|0)+(t<<2)>>2]=g;t=t+1|0;if((t|0)>=(v|0)){c=1;d=27;break}}if((d|0)==27){r=A;return c|0}return 0}function Wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)yp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;hq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;lq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Ip(j);return}function Xg(a){a=a|0;k[a>>2]=2948;a=a+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;return}function Yg(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b)return;c=a+12|0;a=k[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-4|0;k[c>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[c>>2]|0}while((a|0)!=(b|0));b=k[d>>2]|0}Ip(b);return}function Zg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Ip(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)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Ip(b);Ip(a);return}function _g(a){a=a|0;return 0}function $g(a){a=a|0;return 1}function ah(a){a=a|0;return 1}function bh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=a+20|0;b=k[h>>2]|0;g=b+8|0;f=k[g+4>>2]|0;e=b+16|0;d=e;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((f|0)>(d|0)|((f|0)==(d|0)?(k[g>>2]|0)>>>0>c>>>0:0))){a=0;return a|0}f=i[(k[b>>2]|0)+c>>0]|0;d=jq(c|0,d|0,1,0)|0;g=e;k[g>>2]=d;k[g+4>>2]=L;g=f&255;e=f<<24>>24==0;a:do if(!e){b=0;while(1){if(!(gb[k[(k[a>>2]|0)+16>>2]&63](a,b)|0)){b=0;break}b=b+1|0;if((b|0)>=(g|0))break a}return b|0}while(0);f=a+8|0;b=k[f>>2]|0;c=k[a+12>>2]|0;b:do if((b|0)!=(c|0)){d=a+4|0;while(1){j=k[b>>2]|0;b=b+4|0;if(!(_a[k[(k[j>>2]|0)+8>>2]&31](j,a,k[d>>2]|0)|0)){b=0;break}if((b|0)==(c|0))break b}return b|0}while(0);c:do if(!e){b=0;while(1){j=k[(k[f>>2]|0)+(b<<2)>>2]|0;b=b+1|0;if(!(gb[k[(k[j>>2]|0)+12>>2]&63](j,k[h>>2]|0)|0)){b=0;break}if((b|0)>=(g|0))break c}return b|0}while(0);if(!(cb[k[(k[a>>2]|0)+28>>2]&127](a)|0)){j=0;return j|0}j=cb[k[(k[a>>2]|0)+32>>2]&127](a)|0;return j|0}function ch(a){a=a|0;var b=0,c=0,d=0;b=k[a+8>>2]|0;c=k[a+12>>2]|0;if((b|0)==(c|0)){c=1;return c|0}a=a+20|0;while(1){d=k[b>>2]|0;b=b+4|0;if(!(gb[k[(k[d>>2]|0)+16>>2]&63](d,k[a>>2]|0)|0)){b=0;a=5;break}if((b|0)==(c|0)){b=1;a=5;break}}if((a|0)==5)return b|0;return 0}function dh(a){a=a|0;return 1}function eh(a){a=a|0;k[a>>2]=2976;a=a+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;return}function fh(a,b,c){a=a|0;b=b|0;c=c|0;k[a+20>>2]=b;k[a+4>>2]=c;if(!(cb[k[(k[a>>2]|0)+12>>2]&127](a)|0)){a=0;return a|0}if(!(cb[k[(k[a>>2]|0)+20>>2]&127](a)|0)){a=0;return a|0}a=cb[k[(k[a>>2]|0)+24>>2]&127](a)|0;return a|0}function gh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Ip(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)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Ip(b);Ip(a);return}function hh(a){a=a|0;return 1}function ih(a){a=a|0;if(!(k[a+24>>2]|0))return 0;else return cb[k[(k[a>>2]|0)+48>>2]&127](a)|0;return 0}function jh(a){a=a|0;return 0}function kh(a,b){a=a|0;b=b|0;return 0}function lh(a,b){a=a|0;b=b|0;return 0}function mh(a){a=a|0;eh(a);k[a>>2]=3020;k[a+24>>2]=0;return}function nh(a,b,c){a=a|0;b=b|0;c=c|0;k[a+24>>2]=c;return fh(a,b,c)|0}function oh(a){a=a|0;return}function ph(a){a=a|0;Ip(a);return}function qh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;k[a+4>>2]=b;b=k[b+4>>2]|0;if((c|0)<=-1)Aa(9717,9733,62,9761);d=k[b+4>>2]|0;if((k[b+8>>2]|0)-d>>2>>>0>c>>>0){k[a+8>>2]=k[d+(c<<2)>>2];k[a+12>>2]=c;return 1}else Aa(9771,9733,63,9761);return 0}function rh(a,b){a=a|0;b=b|0;k[a+8>>2]=b;k[a+12>>2]=-1;return 1}function sh(a,b,c){a=a|0;b=b|0;c=c|0;Ne(k[a+8>>2]|0,(k[b+4>>2]|0)-(k[b>>2]|0)>>2);return _a[k[(k[a>>2]|0)+24>>2]&31](a,b,c)|0}function th(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;if((cb[k[(k[b>>2]|0)+20>>2]&127](b)|0)<=0){b=1;return b|0}e=a+4|0;f=0;while(1){a=k[(k[e>>2]|0)+4>>2]|0;a=sg(a,gb[k[(k[b>>2]|0)+24>>2]&63](b,f)|0)|0;if((a|0)==-1){a=0;c=10;break}c=k[(k[e>>2]|0)+4>>2]|0;if((a|0)<=-1){c=6;break}d=k[c+4>>2]|0;if((k[c+8>>2]|0)-d>>2>>>0<=a>>>0){c=8;break}f=f+1|0;if(!(gb[k[(k[b>>2]|0)+28>>2]&63](b,k[d+(a<<2)>>2]|0)|0)){a=0;c=10;break}if((f|0)>=(cb[k[(k[b>>2]|0)+20>>2]&127](b)|0)){a=1;c=10;break}}if((c|0)==6)Aa(9717,9733,62,9761);else if((c|0)==8)Aa(9771,9733,63,9761);else if((c|0)==10)return a|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,i=0,j=0,l=0,m=0,n=0,o=0;j=(k[b+4>>2]|0)-(k[b>>2]|0)|0;l=j>>2;h=a+8|0;b=k[(k[h>>2]|0)+40>>2]|0;m=bq((b|0)>-1?b:-1)|0;a=c+8|0;if((j|0)<=0){c=1;cq(m);return c|0}d=c+16|0;i=0;j=0;while(1){o=a;n=k[o>>2]|0;o=k[o+4>>2]|0;f=d;e=k[f>>2]|0;f=jq(e|0,k[f+4>>2]|0,b|0,0)|0;g=L;if((o|0)<(g|0)|(o|0)==(g|0)&n>>>0>>0){b=0;a=5;break}lq(m|0,(k[c>>2]|0)+e|0,b|0)|0;o=d;k[o>>2]=f;k[o+4>>2]=g;lq((k[k[(k[h>>2]|0)+64>>2]>>2]|0)+j|0,m|0,b|0)|0;i=i+1|0;if((i|0)>=(l|0)){b=1;a=5;break}else j=j+b|0}if((a|0)==5){cq(m);return b|0}return 0}function vh(a){a=a|0;k[a>>2]=3080;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=-1;return}function wh(a){a=a|0;var b=0,c=0;k[a>>2]=3116;c=a+28|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);c=k[a+16>>2]|0;if(!c)return;b=a+20|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Ip(c);return}function xh(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3116;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);d=k[a+16>>2]|0;if(!d){Ip(a);return}b=a+20|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);Ip(d);Ip(a);return}function yh(a,b,c){a=a|0;b=b|0;c=c|0;return qh(a,b,c)|0}function zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=(k[b+4>>2]|0)-(k[b>>2]|0)>>2;g=c+8|0;j=k[g>>2]|0;g=k[g+4>>2]|0;h=c+16|0;d=h;e=k[d>>2]|0;d=k[d+4>>2]|0;if((g|0)>(d|0)|(g|0)==(d|0)&j>>>0>e>>>0){f=i[(k[c>>2]|0)+e>>0]|0;e=jq(e|0,d|0,1,0)|0;d=L;n=h;k[n>>2]=e;k[n+4>>2]=d;if(f<<24>>24!=-2)l=3}else{f=0;l=3}if((l|0)==3){if((g|0)>(d|0)|(g|0)==(d|0)&j>>>0>e>>>0){n=i[(k[c>>2]|0)+e>>0]|0;l=jq(e|0,d|0,1,0)|0;d=h;k[d>>2]=l;k[d+4>>2]=L;d=n}else d=0;n=a+28|0;l=_a[k[(k[a>>2]|0)+32>>2]&31](a,f<<24>>24,d<<24>>24)|0;d=k[n>>2]|0;k[n>>2]=l;if(d|0)ab[k[(k[d>>2]|0)+4>>2]&127](d)}d=k[a+28>>2]|0;if(d|0?!(gb[k[(k[a>>2]|0)+20>>2]&63](a,d)|0):0){n=0;return n|0}if(!(_a[k[(k[a>>2]|0)+28>>2]&31](a,b,c)|0)){n=0;return n|0}n=gb[k[(k[a>>2]|0)+40>>2]&63](a,m)|0;return n|0}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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=cb[k[(k[a>>2]|0)+36>>2]&127](a)|0;v=a+16|0;h=ha((k[b+4>>2]|0)-(k[b>>2]|0)>>2,u)|0;t=a+20|0;f=k[t>>2]|0;e=k[v>>2]|0;d=f-e>>2;if(h>>>0<=d>>>0){if(h>>>0>>0?(g=e+(h<<2)|0,(f|0)!=(g|0)):0)k[t>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else Wg(v,h-d|0);r=c+8|0;n=r;o=k[n>>2]|0;n=k[n+4>>2]|0;s=c+16|0;g=s;f=k[g>>2]|0;g=k[g+4>>2]|0;if(!((n|0)>(g|0)|(n|0)==(g|0)&o>>>0>f>>>0)){b=0;return b|0}l=k[c>>2]|0;q=i[l+f>>0]|0;d=jq(f|0,g|0,1,0)|0;e=L;p=s;k[p>>2]=d;k[p+4>>2]=e;a:do if(!(q<<24>>24)){if(!((n|0)>(e|0)|(n|0)==(e|0)&o>>>0>d>>>0)){b=0;return b|0}j=i[l+d>>0]|0;m=jq(f|0,g|0,2,0)|0;d=L;h=s;k[h>>2]=m;k[h+4>>2]=d;h=k[t>>2]|0;g=k[v>>2]|0;e=h-g|0;f=g;if(j<<24>>24==4){r=jq(m|0,d|0,e|0,0)|0;q=L;if((n|0)<(q|0)|(n|0)==(q|0)&o>>>0>>0){b=0;return b|0}else{lq(f|0,l+m|0,e|0)|0;r=s;r=jq(k[r>>2]|0,k[r+4>>2]|0,e|0,0)|0;k[s>>2]=r;k[s+4>>2]=L;break}}if((h|0)!=(g|0)){q=j&255;p=j&255;l=n;j=o;e=m;f=0;while(1){o=jq(e|0,d|0,q|0,0)|0;n=L;if(!((l|0)<(n|0)|(l|0)==(n|0)&j>>>0>>0)){lq(g+(f<<2)|0,(k[c>>2]|0)+e|0,p|0)|0;e=s;e=jq(k[e>>2]|0,k[e+4>>2]|0,q|0,0)|0;d=L;g=s;k[g>>2]=e;k[g+4>>2]=d;g=k[v>>2]|0;h=k[t>>2]|0}f=f+1|0;if(f>>>0>=h-g>>2>>>0)break a;j=r;l=k[j+4>>2]|0;j=k[j>>2]|0}}}else if(!(Kd(h,u,c,k[v>>2]|0)|0)){b=0;return b|0}while(0);e=a+28|0;d=k[e>>2]|0;if(!((d|0)!=0?cb[k[(k[d>>2]|0)+40>>2]&127](d)|0:0)){a=k[v>>2]|0;Jd(a,(k[t>>2]|0)-a>>2,a)}d=k[e>>2]|0;if(d|0){if(!(gb[k[(k[d>>2]|0)+36>>2]&63](d,c)|0)){b=0;return b|0}a=k[e>>2]|0;c=k[v>>2]|0;if(!(bb[k[(k[a>>2]|0)+52>>2]&31](a,c,c,(k[t>>2]|0)-c>>2,u,k[b>>2]|0)|0)){b=0;return b|0}}b=1;return b|0}function Bh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+48|0;f=g;if((c|0)!=1){b=0;r=g;return b|0}e=k[a+12>>2]|0;c=k[a+4>>2]|0;a=f;d=a+36|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(d|0));b=Ch(b,e,c,f)|0;r=g;return b|0}function Ch(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=k[c+4>>2]|0;if((b|0)<=-1)Aa(9717,9733,54,9761);f=k[e+4>>2]|0;if((k[e+8>>2]|0)-f>>2>>>0<=b>>>0)Aa(9771,9733,55,9761);e=k[f+(b<<2)>>2]|0;if((cb[k[(k[c>>2]|0)+8>>2]&127](c)|0)==1?(g=Dh(c,a,b,d)|0,g|0):0){d=g;return d|0}if((a|0)==-2){d=0;return d|0}a=$p(44)|0;k[a>>2]=3168;k[a+4>>2]=e;k[a+8>>2]=k[d>>2];c=a+12|0;b=d+4|0;k[c>>2]=k[b>>2];k[c+4>>2]=k[b+4>>2];k[c+8>>2]=k[b+8>>2];k[c+12>>2]=k[b+12>>2];k[c+16>>2]=k[b+16>>2];Ph(a+32|0,d+24|0);k[a>>2]=3616;d=a;return d|0}function Dh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+16|0;i=j;e=k[a+4>>2]|0;if((c|0)<=-1)Aa(9717,9733,54,9761);f=k[e+4>>2]|0;if((k[e+8>>2]|0)-f>>2>>>0<=c>>>0)Aa(9771,9733,55,9761);f=k[f+(c<<2)>>2]|0;if(!((b+-1|0)>>>0<3&(cb[k[(k[a>>2]|0)+8>>2]&127](a)|0)==1)){d=0;r=j;return d|0}g=cb[k[(k[a>>2]|0)+36>>2]&127](a)|0;h=gb[k[(k[a>>2]|0)+44>>2]&63](a,c)|0;if((g|0)==0|(h|0)==0){d=0;r=j;return d|0}e=gb[k[(k[a>>2]|0)+40>>2]&63](a,c)|0;if(!e){c=i;k[c>>2]=0;k[c+4>>2]=0;k[i>>2]=k[a+24>>2];k[i+4>>2]=g;k[i+12>>2]=h;k[i+8>>2]=h+12;d=ni(b,f,d,i)|0;r=j;return d|0}else{c=i;k[c>>2]=0;k[c+4>>2]=0;k[i>>2]=k[a+24>>2];k[i+4>>2]=e;k[i+12>>2]=h;k[i+8>>2]=h+12;d=Eh(b,f,d,i)|0;r=j;return d|0}return 0}function Eh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;switch(a|0){case 1:{a=$p(60)|0;k[a>>2]=3168;k[a+4>>2]=b;k[a+8>>2]=k[c>>2];b=a+12|0;e=c+4|0;k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];Ph(a+32|0,c+24|0);c=a+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[a>>2]=3232;c=a;return c|0}case 2:{e=$p(60)|0;k[e>>2]=3168;k[e+4>>2]=b;k[e+8>>2]=k[c>>2];a=e+12|0;b=c+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[a+16>>2]=k[b+16>>2];Ph(e+32|0,c+24|0);c=e+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[e>>2]=3296;return e|0}case 3:{e=$p(88)|0;k[e>>2]=3168;k[e+4>>2]=b;k[e+8>>2]=k[c>>2];a=e+12|0;b=c+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[a+16>>2]=k[b+16>>2];Ph(e+32|0,c+24|0);c=e+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[e>>2]=3360;c=e+60|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;k[c+24>>2]=0;return e|0}default:{e=0;return e|0}}return 0}function Fh(a){a=a|0;var b=0,c=0;k[a>>2]=3168;c=k[a+32>>2]|0;if(!c)return;a=a+36|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Ip(c);return}function Gh(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Ip(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);Ip(b);Ip(a);return}function Hh(a){a=a|0;return k[a+4>>2]|0}function Ih(a){a=a|0;return 0}function Jh(a,b){a=a|0;b=b|0;return -1}function Kh(a,b){a=a|0;b=b|0;return 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;h=r;r=r+16|0;e=h+4|0;f=h;c=a+12|0;d=b+16|0;g=d;i=k[g+4>>2]|0;if((i|0)>0|(i|0)==0&(k[g>>2]|0)>>>0>0){r=h;return 1}g=b+4|0;k[f>>2]=k[g>>2];k[e>>2]=k[f>>2];ed(b,e,c,c+4|0)|0;i=d;d=k[i+4>>2]|0;c=a+16|0;if((d|0)>0|(d|0)==0&(k[i>>2]|0)>>>0>0){r=h;return 1}k[f>>2]=k[g>>2];k[e>>2]=k[f>>2];ed(b,e,c,c+4|0)|0;r=h;return 1}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;e=b+8|0;j=e;g=k[j>>2]|0;j=k[j+4>>2]|0;f=b+16|0;d=f;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;h=L;if((j|0)<(h|0)|(j|0)==(h|0)&g>>>0>>0){j=0;return j|0}j=a+12|0;c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[j>>0]=c;i[j+1>>0]=c>>8;i[j+2>>0]=c>>16;i[j+3>>0]=c>>24;j=f;g=k[j>>2]|0;j=k[j+4>>2]|0;d=jq(g|0,j|0,4,0)|0;h=f;k[h>>2]=d;k[h+4>>2]=L;h=k[e>>2]|0;e=k[e+4>>2]|0;j=jq(g|0,j|0,8,0)|0;g=L;if((e|0)<(g|0)|(e|0)==(g|0)&h>>>0>>0){j=0;return j|0}h=a+16|0;j=(k[b>>2]|0)+d|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;i[h>>0]=j;i[h+1>>0]=j>>8;i[h+2>>0]=j>>16;i[h+3>>0]=j>>24;h=f;h=jq(k[h>>2]|0,k[h+4>>2]|0,4,0)|0;d=f;k[d>>2]=h;k[d+4>>2]=L;j=1-c+j|0;k[a+20>>2]=j;c=(j|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(j&1|0){j=1;return j|0}k[d>>2]=c+-1;j=1;return j|0}function Nh(a){a=a|0;return 0}function Oh(a){a=a|0;return 1}function Ph(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;e=b+4|0;c=(k[e>>2]|0)-(k[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823)yp(a);f=$p(c)|0;k[g>>2]=f;k[a>>2]=f;k[a+8>>2]=f+(d<<2);c=k[b>>2]|0;b=k[e>>2]|0;if((c|0)==(b|0))return;a=(b+-4-c|0)>>>2;d=f;while(1){k[d>>2]=k[c>>2];c=c+4|0;if((c|0)==(b|0))break;else d=d+4|0}k[g>>2]=f+(a+1<<2);return}function Qh(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Ip(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);Ip(b);Ip(a);return}function Rh(a){a=a|0;return 1}function Sh(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 Th(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=a+8|0;k[H>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;i=1;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;F=1-g+f|0;k[a+20>>2]=F;f=(F|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(F&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Wg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=e>>>0>1073741823?-1:e<<2;F=bq(o)|0;hq(F|0,0,o|0)|0;o=k[a+48>>2]|0;p=a+56|0;h=k[p>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;a:do if((i|0)>4){q=k[a+52>>2]|0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=o+64|0;y=o+28|0;z=(e|0)>0;m=i>>2;while(1){n=m+-1|0;if(g-f>>2>>>0<=n>>>0)break;f=k[f+(n<<2)>>2]|0;if(!((f|0)<0?1:(1<<(f&31)&k[(k[o>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(A=k[(k[(k[x>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(A|0)>-1):0){h=k[y>>2]|0;d=k[q>>2]|0;f=k[d+(k[h+(A<<2)>>2]<<2)>>2]|0;g=A+1|0;g=k[d+(k[h+((((g|0)%3|0|0)==0?A+-2|0:g)<<2)>>2]<<2)>>2]|0;h=k[d+(k[h+((((A|0)%3|0|0)==0?2:-1)+A<<2)>>2]<<2)>>2]|0;d=ha(n,e)|0;if((f|0)<(n|0)&(g|0)<(n|0)&(h|0)<(n|0)){j=ha(f,e)|0;i=ha(g,e)|0;f=ha(h,e)|0;if(z){g=0;do{k[F+(g<<2)>>2]=(k[b+(g+f<<2)>>2]|0)+(k[b+(g+i<<2)>>2]|0)-(k[b+(g+j<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}l=b+(d<<2)|0;if((k[H>>2]|0)>0){j=0;do{i=k[F+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[s>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[H>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+d<<2)>>2]=(k[l+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[H>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+d<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[u>>2]|0)){if((g|0)>(k[w>>2]|0))k[f>>2]=g-(k[v>>2]|0)}else k[f>>2]=(k[v>>2]|0)+g;h=h+1|0}while((h|0)<(k[H>>2]|0))}}}}else{C=d;E=26}}else{C=ha(n,e)|0;E=26}if((E|0)==26?(E=0,B=b+(C<<2)|0,D=b+((ha(m+-2|0,e)|0)<<2)|0,(k[H>>2]|0)>0):0){j=0;do{i=k[D+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[s>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[H>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+C<<2)>>2]=(k[B+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[H>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+C<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[u>>2]|0)){if((g|0)>(k[w>>2]|0))k[f>>2]=g-(k[v>>2]|0)}else k[f>>2]=(k[v>>2]|0)+g;h=h+1|0}while((h|0)<(k[H>>2]|0))}}}if((n|0)<=1){G=F;break a}h=k[p>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0;m=n}zp(h)}else G=F;while(0);if((e|0)>0)hq(F|0,0,e<<2|0)|0;if((k[H>>2]|0)<=0){cq(F);return 1}j=a+16|0;l=a+32|0;d=a+12|0;m=0;do{i=k[G+(m<<2)>>2]|0;f=k[j>>2]|0;do if((i|0)<=(f|0)){f=k[d>>2]|0;h=k[l>>2]|0;g=h+(m<<2)|0;if((i|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=i;break}}else{h=k[l>>2]|0;k[h+(m<<2)>>2]=f}while(0);m=m+1|0;f=k[H>>2]|0}while((m|0)<(f|0));if((f|0)>0)g=0;else{cq(F);return 1}do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)-(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[H>>2]|0}while((g|0)<(f|0));if((f|0)<=0){cq(F);return 1}j=a+28|0;l=a+20|0;f=a+24|0;i=0;do{g=c+(i<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[j>>2]|0)){if((h|0)>(k[f>>2]|0))k[g>>2]=h-(k[l>>2]|0)}else k[g>>2]=(k[l>>2]|0)+h;i=i+1|0}while((i|0)<(k[H>>2]|0));cq(F);return 1}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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;z=a+8|0;k[z>>2]=e;f=a+32|0;d=a+36|0;i=k[d>>2]|0;h=k[f>>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[d>>2]=i+(~((i+-4-j|0)>>>2)<<2);f=e}else f=e;else{Wg(f,e-g|0);f=k[z>>2]|0}w=k[a+48>>2]|0;x=k[a+52>>2]|0;v=e>>>0>1073741823?-1:e<<2;y=bq(v)|0;hq(y|0,0,v|0)|0;if((f|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{h=k[y+(j<<2)>>2]|0;f=k[l>>2]|0;do if((h|0)<=(f|0)){f=k[m>>2]|0;d=k[i>>2]|0;g=d+(j<<2)|0;if((h|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=h;break}}else{d=k[i>>2]|0;k[d+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[z>>2]|0}while((j|0)<(f|0));g=d;if((f|0)>0){d=0;do{k[c+(d<<2)>>2]=(k[b+(d<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[z>>2]|0}while((d|0)<(f|0));if((f|0)>0){g=a+20|0;h=0;do{f=c+(h<<2)|0;d=k[f>>2]|0;if((d|0)<=(k[l>>2]|0)){if((d|0)<(k[m>>2]|0))k[f>>2]=(k[g>>2]|0)+d}else k[f>>2]=d-(k[g>>2]|0);h=h+1|0;f=k[z>>2]|0}while((h|0)<(f|0))}}}s=k[a+56>>2]|0;d=k[s>>2]|0;s=(k[s+4>>2]|0)-d>>2;if(s>>>0<=1){cq(y);return 1}t=a+16|0;u=a+32|0;v=a+12|0;o=a+20|0;p=w+64|0;q=w+28|0;r=(e|0)>0;n=1;do{g=k[d+(n<<2)>>2]|0;if(!((g|0)<0?1:(1<<(g&31)&k[(k[w>>2]|0)+(g>>>5<<2)>>2]|0)!=0)?(A=k[(k[(k[p>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(A|0)>-1):0){i=k[q>>2]|0;m=k[x>>2]|0;g=k[m+(k[i+(A<<2)>>2]<<2)>>2]|0;h=A+1|0;h=k[m+(k[i+((((h|0)%3|0|0)==0?A+-2|0:h)<<2)>>2]<<2)>>2]|0;i=k[m+(k[i+((((A|0)%3|0|0)==0?2:-1)+A<<2)>>2]<<2)>>2]|0;m=ha(n,e)|0;if((g|0)<(n|0)&(h|0)<(n|0)&(i|0)<(n|0)){l=ha(g,e)|0;j=ha(h,e)|0;g=ha(i,e)|0;if(r){h=0;do{k[y+(h<<2)>>2]=(k[c+(h+g<<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))}l=c+(m<<2)|0;if((f|0)>0){j=0;do{i=k[y+(j<<2)>>2]|0;f=k[t>>2]|0;do if((i|0)<=(f|0)){f=k[v>>2]|0;g=k[u>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[u>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[z>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[l+(h<<2)>>2]=(k[b+(h+m<<2)>>2]|0)+(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[z>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=l+(h<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[t>>2]|0)){if((g|0)<(k[v>>2]|0))k[f>>2]=(k[o>>2]|0)+g}else k[f>>2]=g-(k[o>>2]|0);h=h+1|0;f=k[z>>2]|0}while((h|0)<(f|0))}}}}else B=30}else{m=ha(n,e)|0;B=30}if((B|0)==30){B=0;l=c+((ha(n+-1|0,e)|0)<<2)|0;a=c+(m<<2)|0;if((f|0)>0){j=0;do{i=k[l+(j<<2)>>2]|0;f=k[t>>2]|0;do if((i|0)<=(f|0)){f=k[v>>2]|0;g=k[u>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[u>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[z>>2]|0}while((j|0)<(f|0));h=g;if((f|0)>0){g=0;do{k[a+(g<<2)>>2]=(k[b+(g+m<<2)>>2]|0)+(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[z>>2]|0}while((g|0)<(f|0));if((f|0)>0){h=0;do{f=a+(h<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[t>>2]|0)){if((g|0)<(k[v>>2]|0))k[f>>2]=(k[o>>2]|0)+g}else k[f>>2]=g-(k[o>>2]|0);h=h+1|0;f=k[z>>2]|0}while((h|0)<(f|0))}}}}n=n+1|0}while(n>>>0>>0);cq(y);return 1}function Vh(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Ip(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);Ip(b);Ip(a);return}function Wh(a){a=a|0;return 2}function Xh(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 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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=a+8|0;k[M>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;i=1;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;K=1-g+f|0;k[a+20>>2]=K;f=(K|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(K&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Wg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);p=k[a+48>>2]|0;q=k[a+52>>2]|0;r=e>>>0>1073741823?-1:e<<2;K=bq(r)|0;hq(K|0,0,r|0)|0;r=a+56|0;h=k[r>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;a:do if((i|0)>4){s=(e|0)>0;t=a+16|0;u=a+32|0;v=a+12|0;w=a+28|0;x=a+20|0;y=a+24|0;z=p+64|0;A=p+28|0;B=e<<2;n=i>>2;while(1){o=n+-1|0;if(g-f>>2>>>0<=o>>>0)break;m=k[f+(o<<2)>>2]|0;if(s)hq(K|0,0,B|0)|0;if((m|0)>-1){d=k[p>>2]|0;f=m;g=0;do{do if(((k[d+(f>>>5<<2)>>2]&1<<(f&31)|0)==0?(C=k[(k[(k[z>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(C|0)>-1):0)?(E=k[A>>2]|0,l=k[q>>2]|0,I=k[l+(k[E+(C<<2)>>2]<<2)>>2]|0,D=C+1|0,D=k[l+(k[E+((((D|0)%3|0|0)==0?C+-2|0:D)<<2)>>2]<<2)>>2]|0,E=k[l+(k[E+((((C|0)%3|0|0)==0?2:-1)+C<<2)>>2]<<2)>>2]|0,(I|0)<(o|0)&(D|0)<(o|0)&(E|0)<(o|0)):0){h=ha(I,e)|0;i=ha(D,e)|0;j=ha(E,e)|0;if(s)l=0;else{g=g+1|0;J=34;break}do{N=K+(l<<2)|0;k[N>>2]=(k[b+(l+j<<2)>>2]|0)+(k[b+(l+i<<2)>>2]|0)-(k[b+(l+h<<2)>>2]|0)+(k[N>>2]|0);l=l+1|0}while((l|0)!=(e|0));g=g+1|0;if((f|0)>=0)J=34}else J=34;while(0);do if((J|0)==34){J=0;if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);do if(!(1<<(f&31)&k[d+(f>>>5<<2)>>2])){if((f|0)>=0){f=k[(k[(k[z>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);f=(f|0)==(m|0)?-1073741824:f}while((f|0)>-1);d=ha(o,e)|0;if(g){if(s){f=0;do{N=K+(f<<2)|0;k[N>>2]=(k[N>>2]|0)/(g|0)|0;f=f+1|0}while((f|0)!=(e|0))}l=b+(d<<2)|0;if((k[M>>2]|0)>0){j=0;do{i=k[K+(j<<2)>>2]|0;f=k[t>>2]|0;do if((i|0)<=(f|0)){f=k[v>>2]|0;g=k[u>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[u>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[M>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+d<<2)>>2]=(k[l+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[M>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+d<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[w>>2]|0)){if((g|0)>(k[y>>2]|0))k[f>>2]=g-(k[x>>2]|0)}else k[f>>2]=(k[x>>2]|0)+g;h=h+1|0}while((h|0)<(k[M>>2]|0))}}}}else{G=d;J=46}}else{G=ha(o,e)|0;J=46}if((J|0)==46?(J=0,F=b+(G<<2)|0,H=b+((ha(n+-2|0,e)|0)<<2)|0,(k[M>>2]|0)>0):0){j=0;do{i=k[H+(j<<2)>>2]|0;f=k[t>>2]|0;do if((i|0)<=(f|0)){f=k[v>>2]|0;g=k[u>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[u>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[M>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+G<<2)>>2]=(k[F+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[M>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+G<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[w>>2]|0)){if((g|0)>(k[y>>2]|0))k[f>>2]=g-(k[x>>2]|0)}else k[f>>2]=(k[x>>2]|0)+g;h=h+1|0}while((h|0)<(k[M>>2]|0))}}}if((o|0)<=1){L=K;break a}h=k[r>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0;n=o}zp(h)}else L=K;while(0);if((e|0)>0)hq(K|0,0,e<<2|0)|0;if((k[M>>2]|0)<=0){cq(K);return 1}j=a+16|0;l=a+32|0;d=a+12|0;m=0;do{i=k[L+(m<<2)>>2]|0;f=k[j>>2]|0;do if((i|0)<=(f|0)){f=k[d>>2]|0;h=k[l>>2]|0;g=h+(m<<2)|0;if((i|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=i;break}}else{h=k[l>>2]|0;k[h+(m<<2)>>2]=f}while(0);m=m+1|0;f=k[M>>2]|0}while((m|0)<(f|0));if((f|0)>0)g=0;else{cq(K);return 1}do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)-(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[M>>2]|0}while((g|0)<(f|0));if((f|0)<=0){cq(K);return 1}j=a+28|0;l=a+20|0;f=a+24|0;i=0;do{g=c+(i<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[j>>2]|0)){if((h|0)>(k[f>>2]|0))k[g>>2]=h-(k[l>>2]|0)}else k[g>>2]=(k[l>>2]|0)+h;i=i+1|0}while((i|0)<(k[M>>2]|0));cq(K);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,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;B=a+8|0;k[B>>2]=e;f=a+32|0;d=a+36|0;i=k[d>>2]|0;h=k[f>>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[d>>2]=i+(~((i+-4-j|0)>>>2)<<2);f=e}else f=e;else{Wg(f,e-g|0);f=k[B>>2]|0}z=e>>>0>1073741823?-1:e<<2;A=bq(z)|0;hq(A|0,0,z|0)|0;if((f|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{h=k[A+(j<<2)>>2]|0;f=k[l>>2]|0;do if((h|0)<=(f|0)){f=k[m>>2]|0;d=k[i>>2]|0;g=d+(j<<2)|0;if((h|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=h;break}}else{d=k[i>>2]|0;k[d+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[B>>2]|0}while((j|0)<(f|0));g=d;if((f|0)>0){d=0;do{k[c+(d<<2)>>2]=(k[b+(d<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[B>>2]|0}while((d|0)<(f|0));if((f|0)>0){g=a+20|0;h=0;do{f=c+(h<<2)|0;d=k[f>>2]|0;if((d|0)<=(k[l>>2]|0)){if((d|0)<(k[m>>2]|0))k[f>>2]=(k[g>>2]|0)+d}else k[f>>2]=d-(k[g>>2]|0);h=h+1|0;f=k[B>>2]|0}while((h|0)<(f|0))}}}s=k[a+48>>2]|0;t=k[a+56>>2]|0;u=t+4|0;d=k[t>>2]|0;if((k[u>>2]|0)-d>>2>>>0<=1){cq(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;o=a+20|0;p=s+64|0;q=s+28|0;r=e<<2;n=1;do{a=k[d+(n<<2)>>2]|0;if(w)hq(A|0,0,r|0)|0;if((a|0)>-1){m=k[s>>2]|0;d=a;g=0;do{do if(((k[m+(d>>>5<<2)>>2]&1<<(d&31)|0)==0?(C=k[(k[(k[p>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(C|0)>-1):0)?(F=k[q>>2]|0,l=k[v>>2]|0,D=k[l+(k[F+(C<<2)>>2]<<2)>>2]|0,E=C+1|0,E=k[l+(k[F+((((E|0)%3|0|0)==0?C+-2|0:E)<<2)>>2]<<2)>>2]|0,F=k[l+(k[F+((((C|0)%3|0|0)==0?2:-1)+C<<2)>>2]<<2)>>2]|0,(D|0)<(n|0)&(E|0)<(n|0)&(F|0)<(n|0)):0){h=ha(D,e)|0;i=ha(E,e)|0;j=ha(F,e)|0;if(w)l=0;else{g=g+1|0;G=38;break}do{H=A+(l<<2)|0;k[H>>2]=(k[c+(l+j<<2)>>2]|0)+(k[c+(l+i<<2)>>2]|0)-(k[c+(l+h<<2)>>2]|0)+(k[H>>2]|0);l=l+1|0}while((l|0)!=(e|0));g=g+1|0;if((d|0)>=0)G=38}else G=38;while(0);do if((G|0)==38){G=0;if(!((d|0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);do if(!(1<<(d&31)&k[m+(d>>>5<<2)>>2])){if((d|0)>=0){d=k[(k[(k[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);d=(d|0)==(a|0)?-1073741824:d}while((d|0)>-1);l=ha(n,e)|0;if(g){if(w){d=0;do{H=A+(d<<2)|0;k[H>>2]=(k[H>>2]|0)/(g|0)|0;d=d+1|0}while((d|0)!=(e|0))}j=c+(l<<2)|0;if((f|0)>0){i=0;do{h=k[A+(i<<2)>>2]|0;f=k[x>>2]|0;do if((h|0)<=(f|0)){f=k[z>>2]|0;d=k[y>>2]|0;g=d+(i<<2)|0;if((h|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=h;break}}else{d=k[y>>2]|0;k[d+(i<<2)>>2]=f}while(0);i=i+1|0;f=k[B>>2]|0}while((i|0)<(f|0));if((f|0)>0){g=0;do{k[j+(g<<2)>>2]=(k[b+(g+l<<2)>>2]|0)+(k[d+(g<<2)>>2]|0);g=g+1|0;f=k[B>>2]|0}while((g|0)<(f|0));if((f|0)>0){g=0;do{f=j+(g<<2)|0;d=k[f>>2]|0;if((d|0)<=(k[x>>2]|0)){if((d|0)<(k[z>>2]|0))k[f>>2]=(k[o>>2]|0)+d}else k[f>>2]=d-(k[o>>2]|0);g=g+1|0;f=k[B>>2]|0}while((g|0)<(f|0))}}}}else G=50}else{l=ha(n,e)|0;G=50}if((G|0)==50){G=0;j=c+((ha(n+-1|0,e)|0)<<2)|0;m=c+(l<<2)|0;if((f|0)>0){i=0;do{h=k[j+(i<<2)>>2]|0;f=k[x>>2]|0;do if((h|0)<=(f|0)){f=k[z>>2]|0;d=k[y>>2]|0;g=d+(i<<2)|0;if((h|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=h;break}}else{d=k[y>>2]|0;k[d+(i<<2)>>2]=f}while(0);i=i+1|0;f=k[B>>2]|0}while((i|0)<(f|0));g=d;if((f|0)>0){d=0;do{k[m+(d<<2)>>2]=(k[b+(d+l<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[B>>2]|0}while((d|0)<(f|0));if((f|0)>0){g=0;do{f=m+(g<<2)|0;d=k[f>>2]|0;if((d|0)<=(k[x>>2]|0)){if((d|0)<(k[z>>2]|0))k[f>>2]=(k[o>>2]|0)+d}else k[f>>2]=d-(k[o>>2]|0);g=g+1|0;f=k[B>>2]|0}while((g|0)<(f|0))}}}}n=n+1|0;d=k[t>>2]|0}while(n>>>0<(k[u>>2]|0)-d>>2>>>0);cq(A);return 1}function _h(a){a=a|0;var b=0,c=0;k[a>>2]=3360;b=k[a+76>>2]|0;if(b|0)Ip(b);c=a+68|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)cq(b);k[a>>2]=3168;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Ip(c);return}function $h(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3360;b=k[a+76>>2]|0;if(b|0)Ip(b);d=a+68|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)cq(b);k[a>>2]=3168;d=k[a+32>>2]|0;if(!d){Ip(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);Ip(d);Ip(a);return}function ai(a){a=a|0;return 3}function bi(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 ci(a){a=a|0;return 1}function di(a,b){a=a|0;b=b|0;if(!b)return 0;else Aa(8735,8746,75,8826);return 0}function ei(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){a=0;return a|0}if((i[b+24>>0]|0)!=3){a=0;return a|0}k[a+60>>2]=b;a=1;return a|0}function fi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n+40|0;l=n+36|0;c=n+32|0;m=n;d=a+80|0;k[c>>2]=k[d>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0)){k[l>>2]=k[b+4>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0}jd(m);nd(m);c=k[a+76>>2]|0;g=k[d>>2]|0;f=g>>>5;h=c+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){f=c;c=1;while(1){if(d){e=0;d=c;while(1){c=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){kd(m);r=n;return 1}d=b+4|0;k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0;h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){kd(m);r=n;return 1}k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];ed(b,j,c,c+4|0)|0;kd(m);r=n;return 1}function gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+16|0;p=q;j=b+8|0;g=j;h=k[g>>2]|0;g=k[g+4>>2]|0;o=b+16|0;d=o;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){p=0;r=q;return p|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=o;k[g>>2]=d;k[g+4>>2]=e;e=a+76|0;hi(e,h,0);qd(p);sd(p,b);if((h|0)>0){f=0;g=1;do{g=g^((td(p)|0)^1);d=(k[e>>2]|0)+(f>>>5<<2)|0;c=1<<(f&31);if(g)c=k[d>>2]|c;else c=k[d>>2]&~c;k[d>>2]=c;f=f+1|0}while((f|0)<(h|0))}e=j;g=k[e>>2]|0;e=k[e+4>>2]|0;h=o;c=k[h>>2]|0;h=jq(c|0,k[h+4>>2]|0,4,0)|0;f=L;if(!((e|0)<(f|0)|(e|0)==(f|0)&g>>>0>>0)?(g=a+12|0,m=(k[b>>2]|0)+c|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,i[g>>0]=m,i[g+1>>0]=m>>8,i[g+2>>0]=m>>16,i[g+3>>0]=m>>24,g=o,e=k[g>>2]|0,g=k[g+4>>2]|0,n=jq(e|0,g|0,4,0)|0,f=o,k[f>>2]=n,k[f+4>>2]=L,f=j,h=k[f>>2]|0,f=k[f+4>>2]|0,j=jq(e|0,g|0,8,0)|0,g=L,!((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0)):0){d=a+16|0;b=(k[b>>2]|0)+n|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;i[d>>0]=b;i[d+1>>0]=b>>8;i[d+2>>0]=b>>16;i[d+3>>0]=b>>24;d=o;d=jq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;c=o;k[c>>2]=d;k[c+4>>2]=L;b=b+(1-m)|0;k[a+20>>2]=b;c=(b|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(!(b&1)){k[d>>2]=c+-1;c=1}else c=1}else c=0;rd(p);p=c;r=q;return p|0}function hi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+32|0;s=u+8|0;l=u;n=a+4|0;t=k[n>>2]|0;if(t>>>0>=b>>>0){k[n>>2]=b;r=u;return}q=a+8|0;d=k[q>>2]|0;p=d<<5;g=b-t|0;if(p>>>0>>0|t>>>0>(p-g|0)>>>0){k[s>>2]=0;o=s+4|0;k[o>>2]=0;p=s+8|0;k[p>>2]=0;if((b|0)<0)yp(a);if(d<<5>>>0>1073741822)d=2147483647;else{d=d<<6;m=b+31&-32;d=d>>>0>>0?m:d}Cd(s,d);e=k[n>>2]|0;j=e+g|0;k[o>>2]=j;d=k[a>>2]|0;h=d;m=k[s>>2]|0;e=(h+(e>>>5<<2)-d<<3)+(e&31)|0;if((e|0)>0){i=e>>>5;mq(m|0,d|0,i<<2|0)|0;e=e-(i<<5)|0;f=m+(i<<2)|0;d=f;if((e|0)>0){j=-1>>>(32-e|0);k[f>>2]=k[f>>2]&~j|k[h+(i<<2)>>2]&j;f=k[o>>2]|0}else{e=0;f=j}}else{e=0;d=m;f=j}k[l>>2]=d;k[l+4>>2]=e;h=l;d=k[h>>2]|0;h=k[h+4>>2]|0;e=k[a>>2]|0;k[a>>2]=m;k[s>>2]=e;a=k[n>>2]|0;k[n>>2]=f;k[o>>2]=a;a=k[q>>2]|0;k[q>>2]=k[p>>2];k[p>>2]=a;if(e|0)Ip(e)}else{d=(k[a>>2]|0)+(t>>>5<<2)|0;k[n>>2]=b;h=t&31}if((t|0)==(b|0)){r=u;return}e=(h|0)==0;f=d;if(c){if(!e){c=32-h|0;d=c>>>0>g>>>0?g:c;k[f>>2]=k[f>>2]|-1>>>(c-d|0)&-1<>>5;hq(d|0,-1,e<<2|0)|0;d=e<<5;if((d|0)==(g|0)){r=u;return}c=f+(e<<2)|0;k[c>>2]=k[c>>2]|-1>>>(32-g+d|0);r=u;return}else{if(!e){c=32-h|0;d=c>>>0>g>>>0?g:c;k[f>>2]=k[f>>2]&~(-1>>>(c-d|0)&-1<>>5;hq(d|0,0,e<<2|0)|0;d=e<<5;if((d|0)==(g|0)){r=u;return}c=f+(e<<2)|0;k[c>>2]=k[c>>2]&~(-1>>>(32-g+d|0));r=u;return}} -function ke(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);le(a+16|0,d,c);r=1;return r|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=0,i=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=65536){if(f>>>0>65536?(e=g+262144|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else id(a,65536-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Od(d,c-f|0);if(!c)Aa(5594,5621,484,5634);f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if((h|0)==(c|0))break;else e=d}if((d|0)==65536)return;else Aa(5594,5621,484,5634)}function me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(ne(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+1048576}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<1048576){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<1048576)}while(0);e=d&262143;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>18)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|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,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);oe(a+16|0,d,c);r=1;return r|0}function oe(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;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=262144){if(f>>>0>262144?(e=g+1048576|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else id(a,262144-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Od(d,c-f|0);if(!c)Aa(5594,5621,484,5634);f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if((h|0)==(c|0))break;else e=d}if((d|0)==262144)return;else Aa(5594,5621,484,5634)}function pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(qe(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+2097152}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<2097152){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<2097152)}while(0);e=d&524287;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>19)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);re(a+16|0,d,c);r=1;return r|0}function re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=524288){if(f>>>0>524288?(e=g+2097152|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else id(a,524288-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Od(d,c-f|0);if(!c)Aa(5594,5621,484,5634);f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if((h|0)==(c|0))break;else e=d}if((d|0)==524288)return;else Aa(5594,5621,484,5634)}function se(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;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(te(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+4194304}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<4194304){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<4194304)}while(0);e=d&1048575;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>20)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);ue(a+16|0,d,c);r=1;return r|0}function ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=1048576){if(f>>>0>1048576?(e=g+4194304|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else id(a,1048576-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Od(d,c-f|0);if(!c)Aa(5594,5621,484,5634);f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if((h|0)==(c|0))break;else e=d}if((d|0)==1048576)return;else Aa(5594,5621,484,5634)}function ve(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;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(we(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+4194304}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<4194304){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<4194304)}while(0);e=d&1048575;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>20)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function we(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);ue(a+16|0,d,c);r=1;return r|0}function xe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(ye(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+4194304}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<4194304){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<4194304)}while(0);e=d&1048575;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>20)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|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,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);ue(a+16|0,d,c);r=1;return r|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,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(Ae(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+4194304}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<4194304){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<4194304)}while(0);e=d&1048575;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>20)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function Ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);ue(a+16|0,d,c);r=1;return r|0}function Be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(Ce(o,b)|0){f=b+8|0;i=k[f>>2]|0;f=k[f+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;e=jq(d|0,g|0,8,0)|0;h=L;b=k[b>>2]|0;if((f|0)<(h|0)|(f|0)==(h|0)&i>>>0>>0){i=0;f=0;e=g}else{f=b+d|0;i=f;i=l[i>>0]|l[i+1>>0]<<8|l[i+2>>0]<<16|l[i+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;d=j;k[d>>2]=e;k[d+4>>2]=h;d=e;e=h}b=b+d|0;h=jq(i|0,f|0,d|0,e|0)|0;k[j>>2]=h;k[j+4>>2]=L;a:do if((i|0)>=1){k[o+40>>2]=b;d=i+-1|0;e=b+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[o+44>>2]=d;n=(l[e>>0]|0)&63;m=o+48|0;k[m>>2]=n;break}case 1:{if((i|0)<2)break a;k[o+44>>2]=i+-2;n=b+i+-2|0;n=(l[n+1>>0]|0)<<8&16128|(l[n>>0]|0);m=o+48|0;k[m>>2]=n;break}case 2:{if((i|0)<3)break a;k[o+44>>2]=i+-3;n=b+i+-3|0;n=(l[n+1>>0]|0)<<8|(l[n>>0]|0)|(l[n+2>>0]|0)<<16&4128768;m=o+48|0;k[m>>2]=n;break}case 3:{k[o+44>>2]=i+-4;n=b+i+-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);m=o+48|0;k[m>>2]=n;break}default:{}}k[m>>2]=n+4194304}while(0);if((a|0)>0){b=o+48|0;f=o+44|0;g=o+40|0;h=o+16|0;i=o+28|0;d=k[b>>2]|0;j=0;while(1){b:do if(d>>>0<4194304){e=k[f>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[f>>2]=e;d=l[(k[g>>2]|0)+e>>0]|0|d<<8;k[b>>2]=d}while(d>>>0<4194304)}while(0);e=d&1048575;n=k[(k[h>>2]|0)+(e<<2)>>2]|0;m=k[i>>2]|0;d=(ha(k[m+(n<<3)>>2]|0,d>>>20)|0)+e-(k[m+(n<<3)+4>>2]|0)|0;k[b>>2]=d;k[c+(j<<2)>>2]=n;j=j+1|0;if((j|0)==(a|0)){g=1;break}}}else g=1}else g=0;d=k[o+28>>2]|0;e=d;if(d|0){b=o+32|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-8-e|0)>>>3)<<3);Ip(d)}d=k[o+16>>2]|0;e=d;if(d|0){b=o+20|0;f=k[b>>2]|0;if((f|0)!=(d|0))k[b>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}b=k[o>>2]|0;if(!b){r=p;return g|0}d=o+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Ip(b);r=p;return g|0}function Ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=jq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=jq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{id(a,c-e|0);c=k[o>>2]|0}a:do if(c){m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;b:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=16;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=jq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=16;break b}q=i[h+d>>0]|0;d=jq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0)break a;else{d=e;c=f}}if((e|0)==16)return c|0}else{d=k[a>>2]|0;c=0}while(0);ue(a+16|0,d,c);r=1;return r|0}function De(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)yp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Ip(i);return}function Ee(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 Fe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;do if(!b){d=a+4|0;b=k[d>>2]|0;e=k[a>>2]|0;f=b-e|0;if(c>>>0>f>>>0){Ge(a,c-f|0);break}if(c>>>0>>0?(g=e+c|0,(b|0)!=(g|0)):0)k[d>>2]=g}else He(a,b,b+c|0);while(0);a=a+24|0;g=a;g=jq(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;k[a>>2]=g;k[a+4>>2]=L;return}function Ge(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;d=k[h>>2]|0;j=a+4|0;c=k[j>>2]|0;if((d-c|0)>>>0>=b>>>0){do{i[c>>0]=0;c=(k[j>>2]|0)+1|0;k[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}f=k[a>>2]|0;e=c-f+b|0;if((e|0)<0)yp(a);c=d-f|0;if(c>>>0<1073741823){c=c<<1;c=c>>>0>>0?e:c;d=(k[j>>2]|0)-f|0;if(!c){f=0;e=0;c=d}else g=9}else{c=2147483647;d=(k[j>>2]|0)-f|0;g=9}if((g|0)==9){f=c;e=$p(c)|0;c=d}g=e+c|0;e=e+f|0;d=g;c=g;do{i[d>>0]=0;d=c+1|0;c=d;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;f=(k[j>>2]|0)-b|0;g=g+(0-f)|0;lq(g|0,b|0,f|0)|0;k[a>>2]=g;k[j>>2]=c;k[h>>2]=e;if(!b)return;Ip(b);return}function He(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;g=b;j=c-g|0;m=a+8|0;d=k[m>>2]|0;e=k[a>>2]|0;h=e;if(j>>>0<=(d-e|0)>>>0){f=a+4|0;d=(k[f>>2]|0)-e|0;a=j>>>0>d>>>0;d=b+d|0;e=a?d:c;m=e-g|0;mq(h|0,b|0,m|0)|0;b=h+m|0;if(!a){if((k[f>>2]|0)==(b|0))return;k[f>>2]=b;return}if((e|0)==(c|0))return;b=k[f>>2]|0;do{i[b>>0]=i[d>>0]|0;b=(k[f>>2]|0)+1|0;k[f>>2]=b;d=d+1|0}while((d|0)!=(c|0));return}if(e){d=a+4|0;if((k[d>>2]|0)!=(h|0))k[d>>2]=h;Ip(h);k[m>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}f=(j|0)<0;if(f)yp(a);d=d-0|0;if(d>>>0<1073741823){e=d<<1;d=e>>>0>=j>>>0;if(d|f^1)l=d?e:j;else yp(a)}else l=2147483647;d=$p(l)|0;e=a+4|0;k[e>>2]=d;k[a>>2]=d;k[m>>2]=d+l;if((b|0)==(c|0))return;do{i[d>>0]=i[b>>0]|0;d=(k[e>>2]|0)+1|0;k[e>>2]=d;b=b+1|0}while((b|0)!=(c|0));return}function Ie(a){a=a|0;var b=0;k[a>>2]=0;b=a+8|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;i[a+24>>0]=1;k[a+28>>2]=9;b=a+40|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[a+56>>2]=-1;j[a+60>>1]=0;return}function Je(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 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;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;a=a+48|0;k[a>>2]=e;k[a+4>>2]=f;return}function Le(a){a=a|0;Ie(a);a=a+64|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;i[a+20>>0]=0;return}function Me(a,b){a=a|0;b=b|0;var c=0,d=0;d=a;c=d+64|0;do{k[d>>2]=k[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(c|0));d=a+64|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;i[d+20>>0]=0;return}function Ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=a+64|0;if((k[c>>2]|0)==0?(f=$p(32)|0,Ee(f),d=k[c>>2]|0,k[c>>2]=f,d|0):0){e=k[d>>2]|0;if(e|0){f=d+4|0;if((k[f>>2]|0)!=(e|0))k[f>>2]=e;Ip(e)}Ip(d)}e=cd(k[a+28>>2]|0)|0;e=ha(i[a+24>>0]|0,e)|0;f=((e|0)<0)<<31>>31;g=k[c>>2]|0;d=sq(e|0,f|0,b|0,0)|0;Fe(g,0,d,L);Ke(a,k[c>>2]|0,e,f,0,0);k[a+80>>2]=b;return}function Oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[e>>2]=0;k[d>>2]=k[e>>2];a=Pe(a,b,d)|0;r=c;return a|0}function Pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;switch(k[b+28>>2]|0){case 9:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=Qe(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Ve(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Ze(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=bf(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=gf(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=lf(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=pf(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=tf(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=yf(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=zf(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Af(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Bf(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=Cf(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Gf(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Kf(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Of(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=Tf(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Uf(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Vf(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Wf(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=Xf(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Yf(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Zf(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=_f(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=$f(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=ag(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=bg(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=cg(a,b,d)|0;break}default:c=0}break}default:{a=-1;r=j;return a|0}}a=(c|0)==0?-1:c;r=j;return a|0}function Qe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+48|0;y=G+40|0;F=G+16|0;z=G+12|0;D=G;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;o[F+16>>2]=1.0;C=a+80|0;d=k[C>>2]|0;k[D>>2]=0;E=D+4|0;k[E>>2]=0;k[D+8>>2]=0;if(d){if(d>>>0>1073741823)yp(D);x=d<<2;f=$p(x)|0;k[D>>2]=f;e=f+(d<<2)|0;k[D+8>>2]=e;hq(f|0,0,x|0)|0;k[E>>2]=e;e=k[C>>2]|0;if((e|0)>0){v=b+48|0;w=b+40|0;x=F+4|0;s=y+4|0;t=a+40|0;u=a+64|0;q=k[c>>2]|0;p=0;m=0;do{h=q+p|0;j=v;n=k[j>>2]|0;j=k[j+4>>2]|0;e=w;e=sq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;j=jq(e|0,L|0,n|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[z>>2]=j;n=j^318;e=k[x>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&n;else h=(n>>>0)%(e>>>0)|0;d=k[(k[F>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){A=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));else do{d=k[d>>2]|0;if(!d){A=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));k[f+(p<<2)>>2]=k[d+12>>2]}else A=20}else A=20;while(0);if((A|0)==20){A=0;d=$p(16)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+4>>2]=n;k[d>>2]=0;Re(y,F,d);if(!(i[s>>0]|0))Ip(d);n=t;f=k[n>>2]|0;n=sq(f|0,k[n+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;lq((k[k[u>>2]>>2]|0)+n|0,z|0,f|0)|0;f=k[D>>2]|0;k[f+(p<<2)>>2]=m;m=m+1|0}p=p+1|0;e=k[C>>2]|0}while((p|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[D>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(B=g+(e<<2)|0,(h|0)!=(B|0)):0)k[c>>2]=h+(~((h+-4-B|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[C>>2]|0}if((e|0)>0){f=k[D>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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[C>>2]=m;f=m}}else f=0;d=k[D>>2]|0;c=d;if(d|0){e=k[E>>2]|0;if((e|0)!=(d|0))k[E>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[F+8>>2]|0;if(d|0)do{E=d;d=k[d>>2]|0;Ip(E)}while((d|0)!=0);d=k[F>>2]|0;k[F>>2]=0;if(!d){r=G;return f|0}Ip(d);r=G;return f|0}function Re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0;m=k[c+8>>2]|0;d=m^318;q=c+4|0;k[q>>2]=d;p=b+4|0;j=k[p>>2]|0;n=(j|0)==0;a:do if(!n){l=j+-1|0;f=(l&j|0)==0;if(f)e=l&d;else e=(d>>>0)%(j>>>0)|0;d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(d)if(f){while(1){d=k[d>>2]|0;if(!d)break a;if((k[d+4>>2]&l|0)!=(e|0))break a;if((k[d+8>>2]|0)==(m|0)){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){d=k[d>>2]|0;if(!d)break a;if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((k[d+8>>2]|0)==(m|0)){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(n|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;Se(b,f>>>0>>0?d:f);f=k[p>>2]|0;d=k[q>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function Se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Te(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Te(a,b);return}function Te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Ip(c);k[d>>2]=0;return}m=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=m;if(c|0)Ip(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;l=b+-1|0;m=(l&b|0)==0;if(m)e=c&l;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[f>>2]|0;if(!c)return;else{g=f;d=f}a:while(1){b:do if(m){j=g;i=d;while(1){while(1){h=k[c+4>>2]&l;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((k[g>>2]|0)==(k[f+8>>2]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[j>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{j=d;i=d}}}else{j=g;i=d;while(1){while(1){h=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((k[g>>2]|0)==(k[f+8>>2]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[j>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{j=d;i=d}}}while(0);k[d>>2]=c;c=k[f>>2]|0;if(!c){c=32;break}else{g=f;d=f}}if((c|0)==32)return}function Ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=a+8|0;f=k[m>>2]|0;n=a+4|0;d=k[n>>2]|0;g=d;if(f-d>>2>>>0>=b>>>0){d=b;e=g;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[n>>2]=g+(b<<2);return}l=k[a>>2]|0;e=(d-l>>2)+b|0;if(e>>>0>1073741823)yp(a);d=f-l|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[n>>2]|0;e=f-l>>2;if(!d){i=0;d=0;h=f}else j=10}else{e=k[n>>2]|0;d=1073741823;f=e;e=e-l>>2;j=10}if((j|0)==10){i=d;d=$p(d<<2)|0;h=f}g=d+(e<<2)|0;e=d+(i<<2)|0;d=b;f=g;while(1){k[f>>2]=k[c>>2];d=d+-1|0;if(!d)break;else f=f+4|0}j=h-l|0;c=g+(0-(j>>2)<<2)|0;lq(c|0,l|0,j|0)|0;k[a>>2]=c;k[n>>2]=g+(b<<2);k[m>>2]=e;if(!l)return;Ip(l);return}function Ve(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,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+48|0;z=I+40|0;H=I+20|0;B=I;F=I+8|0;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;k[H+12>>2]=0;o[H+16>>2]=1.0;E=a+80|0;d=k[E>>2]|0;k[F>>2]=0;G=F+4|0;k[G>>2]=0;k[F+8>>2]=0;if(d){if(d>>>0>1073741823)yp(F);y=d<<2;f=$p(y)|0;k[F>>2]=f;e=f+(d<<2)|0;k[F+8>>2]=e;hq(f|0,0,y|0)|0;k[G>>2]=e;e=k[E>>2]|0;if((e|0)>0){w=b+48|0;x=b+40|0;y=H+4|0;t=z+4|0;u=a+40|0;v=a+64|0;s=k[c>>2]|0;q=0;m=0;do{e=s+q|0;n=w;j=k[n>>2]|0;n=k[n+4>>2]|0;p=x;p=sq(e|0,((e|0)<0)<<31>>31|0,k[p>>2]|0,k[p+4>>2]|0)|0;n=jq(p|0,L|0,j|0,n|0)|0;n=(k[k[b>>2]>>2]|0)+n|0;j=n;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;n=n+4|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;p=B;k[p>>2]=j;k[p+4>>2]=n;p=(j^318)+239^n;e=k[y>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[H>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(A=k[c>>2]|0,(A|0)!=0):0){b:do if(d){d=A;while(1){if((k[d+4>>2]&g|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}else{d=A;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}while(0);k[f+(q<<2)>>2]=k[d+16>>2]}else C=23}else C=23;while(0);if((C|0)==23){C=0;d=$p(20)|0;h=d+8|0;k[h>>2]=j;k[h+4>>2]=n;k[d+16>>2]=m;k[d+4>>2]=p;k[d>>2]=0;We(z,H,d);if(!(i[t>>0]|0))Ip(d);p=u;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;lq((k[k[v>>2]>>2]|0)+p|0,B|0,f|0)|0;f=k[F>>2]|0;k[f+(q<<2)>>2]=m;m=m+1|0}q=q+1|0;e=k[E>>2]|0}while((q|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[F>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-D|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[E>>2]|0}if((e|0)>0){f=k[F>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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]=m;f=m}}else f=0;d=k[F>>2]|0;c=d;if(d|0){e=k[G>>2]|0;if((e|0)!=(d|0))k[G>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[H+8>>2]|0;if(d|0)do{G=d;d=k[d>>2]|0;Ip(G)}while((d|0)!=0);d=k[H>>2]|0;k[H>>2]=0;if(!d){r=I;return f|0}Ip(d);r=I;return f|0}function We(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=k[c+8>>2]|0;p=k[c+12>>2]|0;e=(n^318)+239^p;s=c+4|0;k[s>>2]=e;r=b+4|0;j=k[r>>2]|0;q=(j|0)==0;a:do if(!q){m=j+-1|0;l=(m&j|0)==0;if(l)e=m&e;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(p|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(p|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(q|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;Xe(b,f>>>0>>0?d:f);f=k[r>>2]|0;d=k[s>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function Xe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Ye(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Ye(a,b);return}function Ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Ip(c);k[d>>2]=0;return}n=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)Ip(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)e=c&m;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(n){c=f;while(1){l=k[c+4>>2]&m;if((l|0)==(e|0))break c;f=(k[a>>2]|0)+(l<<2)|0;if(!(k[f>>2]|0)){e=l;break b}j=c+12|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=k[c+8>>2]|0;g=c;while(1){if((i|0)!=(k[f+8>>2]|0)){f=g;break d}if((k[j>>2]|0)!=(k[f+12>>2]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{o=f;f=g;g=o}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}else{c=f;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break c;f=(k[a>>2]|0)+(l<<2)|0;if(!(k[f>>2]|0)){e=l;break b}i=c+12|0;f=k[c>>2]|0;e:do if(!f)f=c;else{j=k[c+8>>2]|0;g=c;while(1){if((j|0)!=(k[f+8>>2]|0)){f=g;break e}if((k[i>>2]|0)!=(k[f+12>>2]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{o=f;f=g;g=o}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}while(0);f=k[c>>2]|0;if(!f){c=34;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=34;break}else{h=c;d=c}}if((c|0)==34)return}function Ze(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+64|0;B=K+48|0;J=K+24|0;D=K+12|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=D+4|0;t=D+8|0;u=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;s=k[c>>2]|0;q=0;l=0;do{p=s+q|0;c=y;d=k[c>>2]|0;c=k[c+4>>2]|0;e=z;e=sq(p|0,((p|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;c=jq(e|0,L|0,d|0,c|0)|0;d=D;c=(k[k[b>>2]>>2]|0)+c|0;e=d+12|0;do{i[d>>0]=i[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));j=k[D>>2]|0;m=k[A>>2]|0;n=k[t>>2]|0;p=((j^318)+239^m)+239^n;e=k[u>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}while(0);k[f+(q<<2)>>2]=k[d+20>>2]}else E=25}else E=25;while(0);if((E|0)==25){E=0;d=$p(24)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+16>>2]=n;k[d+20>>2]=l;k[d+4>>2]=p;k[d>>2]=0;_e(B,J,d);if(!(i[v>>0]|0))Ip(d);p=w;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+p|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(q<<2)>>2]=l;l=l+1|0}q=q+1|0;e=k[G>>2]|0}while((q|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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]=l;f=l}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|0}function _e(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;n=k[c+8>>2]|0;p=k[c+12>>2]|0;q=k[c+16>>2]|0;e=((n^318)+239^p)+239^q;t=c+4|0;k[t>>2]=e;s=b+4|0;j=k[s>>2]|0;r=(j|0)==0;a:do if(!r){m=j+-1|0;l=(m&j|0)==0;if(l)e=m&e;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if(((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(p|0):0)?(k[d+16>>2]|0)==(q|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if(((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(p|0):0)?(k[d+16>>2]|0)==(q|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(r|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;$e(b,f>>>0>>0?d:f);f=k[s>>2]|0;d=k[t>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){af(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;af(a,b);return}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Ip(c);k[d>>2]=0;return}o=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)Ip(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)e=c&n;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(o){c=f;while(1){m=k[c+4>>2]&n;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}j=c+12|0;l=c+16|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=k[c+8>>2]|0;g=c;while(1){if((i|0)!=(k[f+8>>2]|0)){f=g;break d}if((k[j>>2]|0)!=(k[f+12>>2]|0)){f=g;break d}if((k[l>>2]|0)!=(k[f+16>>2]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}else{c=f;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}i=c+12|0;j=c+16|0;f=k[c>>2]|0;e:do if(!f)f=c;else{l=k[c+8>>2]|0;g=c;while(1){if((l|0)!=(k[f+8>>2]|0)){f=g;break e}if((k[i>>2]|0)!=(k[f+12>>2]|0)){f=g;break e}if((k[j>>2]|0)!=(k[f+16>>2]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}while(0);f=k[c>>2]|0;if(!f){c=36;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=36;break}else{h=c;d=c}}if((c|0)==36)return}function bf(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,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;u=C+88|0;B=C+64|0;v=C+48|0;w=C+32|0;z=C+16|0;t=C;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;o[B+16>>2]=1.0;y=a+80|0;d=k[y>>2]|0;k[z>>2]=0;A=z+4|0;k[A>>2]=0;k[z+8>>2]=0;if(d){if(d>>>0>1073741823)yp(z);s=d<<2;f=$p(s)|0;k[z>>2]=f;e=f+(d<<2)|0;k[z+8>>2]=e;hq(f|0,0,s|0)|0;k[A>>2]=e;e=k[y>>2]|0;if((e|0)>0){p=k[c>>2]|0;q=b+48|0;s=b+40|0;j=u+4|0;m=a+40|0;n=a+64|0;h=0;l=0;do{g=p+h|0;d=q;c=k[d>>2]|0;d=k[d+4>>2]|0;e=s;e=sq(g|0,((g|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;d=jq(e|0,L|0,c|0,d|0)|0;d=(k[k[b>>2]>>2]|0)+d|0;c=v;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));c=w;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));d=cf(B,w)|0;if(!d){k[t>>2]=k[w>>2];k[t+4>>2]=k[w+4>>2];k[t+8>>2]=k[w+8>>2];k[t+12>>2]=k[w+12>>2];d=$p(28)|0;g=d+8|0;k[g>>2]=k[t>>2];k[g+4>>2]=k[t+4>>2];k[g+8>>2]=k[t+8>>2];k[g+12>>2]=k[t+12>>2];k[d+24>>2]=l;k[d+4>>2]=(((k[g>>2]^318)+239^k[d+12>>2])+239^k[d+16>>2])+239^k[d+20>>2];k[d>>2]=0;df(u,B,d);if(!(i[j>>0]|0))Ip(d);g=m;f=k[g>>2]|0;g=sq(f|0,k[g+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[n>>2]>>2]|0)+g|0,v|0,f|0)|0;f=k[z>>2]|0;k[f+(h<<2)>>2]=l;l=l+1|0}else k[f+(h<<2)>>2]=k[d+24>>2];h=h+1|0;e=k[y>>2]|0}while((h|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[z>>2]|0;d=d>>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;g=a+68|0;h=a+72|0;f=k[h>>2]|0;c=k[g>>2]|0;d=f-c>>2;if(e>>>0<=d>>>0){if(e>>>0>>0?(x=c+(e<<2)|0,(f|0)!=(x|0)):0)k[h>>2]=f+(~((f+-4-x|0)>>>2)<<2)}else{Ue(g,e-d|0,2864);e=k[y>>2]|0}if((e|0)>0){f=k[z>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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[y>>2]=l;f=l}}else f=0;d=k[z>>2]|0;c=d;if(d|0){e=k[A>>2]|0;if((e|0)!=(d|0))k[A>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[B+8>>2]|0;if(d|0)do{A=d;d=k[d>>2]|0;Ip(A)}while((d|0)!=0);d=k[B>>2]|0;k[B>>2]=0;if(!d){r=C;return f|0}Ip(d);r=C;return f|0}function cf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;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 df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;n=k[c+8>>2]|0;q=k[c+12>>2]|0;r=k[c+16>>2]|0;p=k[c+20>>2]|0;e=(((n^318)+239^q)+239^r)+239^p;u=c+4|0;k[u>>2]=e;t=b+4|0;j=k[t>>2]|0;s=(j|0)==0;a:do if(!s){m=j+-1|0;l=(m&j|0)==0;if(l)e=e&m;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if((((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(q|0):0)?(k[d+16>>2]|0)==(r|0):0)?(k[d+20>>2]|0)==(p|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(q|0):0)?(k[d+16>>2]|0)==(r|0):0)?(k[d+20>>2]|0)==(p|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(s|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;ef(b,f>>>0>>0?d:f);f=k[t>>2]|0;d=k[u>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){ff(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;ff(a,b);return}function ff(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)Ip(c);k[d>>2]=0;return}p=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)Ip(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)e=c&o;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(p){c=f;while(1){n=k[c+4>>2]&o;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}j=c+12|0;l=c+16|0;m=c+20|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=k[c+8>>2]|0;g=c;while(1){if((i|0)!=(k[f+8>>2]|0)){f=g;break d}if((k[j>>2]|0)!=(k[f+12>>2]|0)){f=g;break d}if((k[l>>2]|0)!=(k[f+16>>2]|0)){f=g;break d}if((k[m>>2]|0)!=(k[f+20>>2]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}else{c=f;while(1){n=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}i=c+12|0;j=c+16|0;l=c+20|0;f=k[c>>2]|0;e:do if(!f)f=c;else{m=k[c+8>>2]|0;g=c;while(1){if((m|0)!=(k[f+8>>2]|0)){f=g;break e}if((k[i>>2]|0)!=(k[f+12>>2]|0)){f=g;break e}if((k[j>>2]|0)!=(k[f+16>>2]|0)){f=g;break e}if((k[l>>2]|0)!=(k[f+20>>2]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}while(0);f=k[c>>2]|0;if(!f){c=38;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=38;break}else{h=c;d=c}}if((c|0)==38)return}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,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+48|0;x=F+32|0;E=F+12|0;y=F+40|0;C=F;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[E+12>>2]=0;o[E+16>>2]=1.0;B=a+80|0;d=k[B>>2]|0;k[C>>2]=0;D=C+4|0;k[D>>2]=0;k[C+8>>2]=0;if(d){if(d>>>0>1073741823)yp(C);w=d<<2;f=$p(w)|0;k[C>>2]=f;e=f+(d<<2)|0;k[C+8>>2]=e;hq(f|0,0,w|0)|0;k[D>>2]=e;e=k[B>>2]|0;if((e|0)>0){u=b+48|0;v=b+40|0;w=E+4|0;q=x+4|0;s=a+40|0;t=a+64|0;p=k[c>>2]|0;n=0;l=0;do{h=p+n|0;j=u;m=k[j>>2]|0;j=k[j+4>>2]|0;e=v;e=sq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;j=jq(e|0,L|0,m|0,j|0)|0;j=i[(k[k[b>>2]>>2]|0)+j>>0]|0;i[y>>0]=j;m=j&255^318;e=k[w>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&m;else h=(m>>>0)%(e>>>0)|0;d=k[(k[E>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){z=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){z=20;break a}}while((i[d+8>>0]|0)!=j<<24>>24);else do{d=k[d>>2]|0;if(!d){z=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){z=20;break a}}while((i[d+8>>0]|0)!=j<<24>>24);k[f+(n<<2)>>2]=k[d+12>>2]}else z=20}else z=20;while(0);if((z|0)==20){z=0;d=$p(16)|0;i[d+8>>0]=j;k[d+12>>2]=l;k[d+4>>2]=m;k[d>>2]=0;hf(x,E,d);if(!(i[q>>0]|0))Ip(d);m=s;f=k[m>>2]|0;m=sq(f|0,k[m+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[t>>2]>>2]|0)+m|0,y|0,f|0)|0;f=k[C>>2]|0;k[f+(n<<2)>>2]=l;l=l+1|0}n=n+1|0;e=k[B>>2]|0}while((n|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[C>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(A=g+(e<<2)|0,(h|0)!=(A|0)):0)k[c>>2]=h+(~((h+-4-A|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[B>>2]|0}if((e|0)>0){f=k[C>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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[B>>2]=l;f=l}}else f=0;d=k[C>>2]|0;c=d;if(d|0){e=k[D>>2]|0;if((e|0)!=(d|0))k[D>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[E+8>>2]|0;if(d|0)do{D=d;d=k[d>>2]|0;Ip(D)}while((d|0)!=0);d=k[E>>2]|0;k[E>>2]=0;if(!d){r=F;return f|0}Ip(d);r=F;return f|0}function hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0;m=i[c+8>>0]|0;d=m&255^318;q=c+4|0;k[q>>2]=d;p=b+4|0;j=k[p>>2]|0;n=(j|0)==0;a:do if(!n){l=j+-1|0;f=(l&j|0)==0;if(f)e=l&d;else e=(d>>>0)%(j>>>0)|0;d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(d)if(f){while(1){d=k[d>>2]|0;if(!d)break a;if((k[d+4>>2]&l|0)!=(e|0))break a;if((i[d+8>>0]|0)==m<<24>>24){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){d=k[d>>2]|0;if(!d)break a;if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((i[d+8>>0]|0)==m<<24>>24){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(n|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;jf(b,f>>>0>>0?d:f);f=k[p>>2]|0;d=k[q>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){kf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;kf(a,b);return}function kf(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)Ip(c);k[d>>2]=0;return}n=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)Ip(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;m=b+-1|0;n=(m&b|0)==0;if(n)e=c&m;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[f>>2]|0;if(!c)return;else{g=f;d=f}a:while(1){b:do if(n){l=g;j=d;while(1){while(1){h=k[c+4>>2]&m;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=j;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((i[g>>0]|0)==(i[f+8>>0]|0))d=f;else break}k[j>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[l>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{l=d;j=d}}}else{l=g;j=d;while(1){while(1){h=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=j;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((i[g>>0]|0)==(i[f+8>>0]|0))d=f;else break}k[j>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[l>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{l=d;j=d}}}while(0);k[d>>2]=c;c=k[f>>2]|0;if(!c){c=32;break}else{g=f;d=f}}if((c|0)==32)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,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+32|0;J=K+12|0;D=K+40|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;u=k[c>>2]|0;t=0;n=0;do{p=u+t|0;q=y;m=k[q>>2]|0;q=k[q+4>>2]|0;s=z;s=sq(p|0,((p|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;q=jq(s|0,L|0,m|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8;j[D>>1]=q;m=q&255;s=(q&65535)>>>8;p=s&255;s=s&65535;d=(q&255^318)+239^s;e=k[A>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=d&g;else h=(d>>>0)%(e>>>0)|0;d=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((d|0)!=0?(C=k[d>>2]|0,(C|0)!=0):0){b:do if(c){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=23;break a}if((i[d+8>>0]|0)==m<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=23;break a}if((i[d+8>>0]|0)==m<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}while(0);k[f+(t<<2)>>2]=k[d+12>>2]}else E=23}else E=23;while(0);if((E|0)==23){E=0;d=$p(16)|0;p=d+8|0;i[p>>0]=q;i[p+1>>0]=q>>8;k[d+12>>2]=n;k[d+4>>2]=(q&255^318)+239^s;k[d>>2]=0;mf(B,J,d);if(!(i[v>>0]|0))Ip(d);s=w;f=k[s>>2]|0;s=sq(f|0,k[s+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+s|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(t<<2)>>2]=n;n=n+1|0}t=t+1|0;e=k[G>>2]|0}while((t|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[m>>0]|0)Aa(10788,10807,80,10839);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]=n;f=n}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|0}function mf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i[c+8>>0]|0;p=i[c+9>>0]|0;e=(n&255^318)+239^p&255;s=c+4|0;k[s>>2]=e;r=b+4|0;j=k[r>>2]|0;q=(j|0)==0;a:do if(!q){m=j+-1|0;l=(m&j|0)==0;if(l)e=m&e;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(q|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;nf(b,f>>>0>>0?d:f);f=k[r>>2]|0;d=k[s>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function nf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){of(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;of(a,b);return}function of(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)Ip(c);k[d>>2]=0;return}o=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)Ip(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)e=c&n;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(o){c=f;while(1){m=k[c+4>>2]&n;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}l=c+9|0;f=k[c>>2]|0;d:do if(!f)f=c;else{j=i[c+8>>0]|0;g=c;while(1){if(j<<24>>24!=(i[f+8>>0]|0)){f=g;break d}if((i[l>>0]|0)!=(i[f+9>>0]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}else{c=f;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}j=c+9|0;f=k[c>>2]|0;e:do if(!f)f=c;else{l=i[c+8>>0]|0;g=c;while(1){if(l<<24>>24!=(i[f+8>>0]|0)){f=g;break e}if((i[j>>0]|0)!=(i[f+9>>0]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}while(0);f=k[c>>2]|0;if(!f){c=34;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=34;break}else{h=c;d=c}}if((c|0)==34)return}function pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+32|0;J=K+12|0;D=K+40|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=D+1|0;t=D+2|0;u=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;s=k[c>>2]|0;q=0;l=0;do{p=s+q|0;j=y;m=k[j>>2]|0;j=k[j+4>>2]|0;n=z;n=sq(p|0,((p|0)<0)<<31>>31|0,k[n>>2]|0,k[n+4>>2]|0)|0;j=jq(n|0,L|0,m|0,j|0)|0;j=(k[k[b>>2]>>2]|0)+j|0;i[D>>0]=i[j>>0]|0;i[D+1>>0]=i[j+1>>0]|0;i[D+2>>0]=i[j+2>>0]|0;j=i[D>>0]|0;m=i[A>>0]|0;n=i[t>>0]|0;p=((j&255^318)+239^m&255)+239^n&255;e=k[u>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=25;break a}if(((i[d+8>>0]|0)==j<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0)?(i[d+10>>0]|0)==n<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=25;break a}if(((i[d+8>>0]|0)==j<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0)?(i[d+10>>0]|0)==n<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}while(0);k[f+(q<<2)>>2]=k[d+12>>2]}else E=25}else E=25;while(0);if((E|0)==25){E=0;d=$p(16)|0;i[d+8>>0]=j;i[d+9>>0]=m;i[d+10>>0]=n;k[d+12>>2]=l;k[d+4>>2]=p;k[d>>2]=0;qf(B,J,d);if(!(i[v>>0]|0))Ip(d);p=w;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+p|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(q<<2)>>2]=l;l=l+1|0}q=q+1|0;e=k[G>>2]|0}while((q|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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]=l;f=l}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|0}function qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;n=i[c+8>>0]|0;q=i[c+9>>0]|0;p=i[c+10>>0]|0;e=((n&255^318)+239^q&255)+239^p&255;t=c+4|0;k[t>>2]=e;s=b+4|0;j=k[s>>2]|0;r=(j|0)==0;a:do if(!r){m=j+-1|0;l=(m&j|0)==0;if(l)e=e&m;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if(((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==q<<24>>24:0)?(i[d+10>>0]|0)==p<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if(((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==q<<24>>24:0)?(i[d+10>>0]|0)==p<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(r|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;rf(b,f>>>0>>0?d:f);f=k[s>>2]|0;d=k[t>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){sf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;sf(a,b);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,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)Ip(c);k[d>>2]=0;return}p=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)Ip(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)e=c&o;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(p){c=f;while(1){n=k[c+4>>2]&o;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}l=c+9|0;m=c+10|0;f=k[c>>2]|0;d:do if(!f)f=c;else{j=i[c+8>>0]|0;g=c;while(1){if(j<<24>>24!=(i[f+8>>0]|0)){f=g;break d}if((i[l>>0]|0)!=(i[f+9>>0]|0)){f=g;break d}if((i[m>>0]|0)!=(i[f+10>>0]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}else{c=f;while(1){n=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}j=c+9|0;l=c+10|0;f=k[c>>2]|0;e:do if(!f)f=c;else{m=i[c+8>>0]|0;g=c;while(1){if(m<<24>>24!=(i[f+8>>0]|0)){f=g;break e}if((i[j>>0]|0)!=(i[f+9>>0]|0)){f=g;break e}if((i[l>>0]|0)!=(i[f+10>>0]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}while(0);f=k[c>>2]|0;if(!f){c=36;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=36;break}else{h=c;d=c}}if((c|0)==36)return}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,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=r;r=r+48|0;s=A+40|0;z=A+20|0;t=A+16|0;u=A+12|0;x=A;k[z>>2]=0;k[z+4>>2]=0;k[z+8>>2]=0;k[z+12>>2]=0;o[z+16>>2]=1.0;w=a+80|0;d=k[w>>2]|0;k[x>>2]=0;y=x+4|0;k[y>>2]=0;k[x+8>>2]=0;if(d){if(d>>>0>1073741823)yp(x);q=d<<2;f=$p(q)|0;k[x>>2]=f;e=f+(d<<2)|0;k[x+8>>2]=e;hq(f|0,0,q|0)|0;k[y>>2]=e;e=k[w>>2]|0;if((e|0)>0){n=k[c>>2]|0;p=b+48|0;q=b+40|0;h=s+4|0;j=a+40|0;m=a+64|0;g=0;e=0;while(1){C=n+g|0;c=p;d=k[c>>2]|0;c=k[c+4>>2]|0;B=q;B=sq(C|0,((C|0)<0)<<31>>31|0,k[B>>2]|0,k[B+4>>2]|0)|0;c=jq(B|0,L|0,d|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[t>>2]=c;k[u>>2]=c;d=uf(z,u)|0;if(!d){d=$p(16)|0;C=d+8|0;i[C>>0]=c;i[C+1>>0]=c>>8;i[C+2>>0]=c>>16;i[C+3>>0]=c>>24;k[d+12>>2]=e;k[d+4>>2]=(((c&255^318)+239^c>>>8&255)+239^c>>>16&255)+239^c>>>24;k[d>>2]=0;vf(s,z,d);if(!(i[h>>0]|0))Ip(d);d=j;f=k[d>>2]|0;d=sq(f|0,k[d+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;lq((k[k[m>>2]>>2]|0)+d|0,t|0,f|0)|0;f=k[x>>2]|0;k[f+(g<<2)>>2]=e;d=e+1|0}else{k[f+(g<<2)>>2]=k[d+12>>2];d=e}g=g+1|0;e=k[w>>2]|0;if((g|0)>=(e|0)){m=d;break}else e=d}}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[x>>2]|0;d=d>>2;c=0;do{C=e+(c<<2)|0;k[C>>2]=k[f+(k[C>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;g=a+68|0;h=a+72|0;f=k[h>>2]|0;c=k[g>>2]|0;d=f-c>>2;if(e>>>0<=d>>>0){if(e>>>0>>0?(v=c+(e<<2)|0,(f|0)!=(v|0)):0)k[h>>2]=f+(~((f+-4-v|0)>>>2)<<2)}else{Ue(g,e-d|0,2864);e=k[w>>2]|0}if((e|0)>0){f=k[x>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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[w>>2]=m;f=m}}else f=0;d=k[x>>2]|0;c=d;if(d|0){e=k[y>>2]|0;if((e|0)!=(d|0))k[y>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[z+8>>2]|0;if(d|0)do{C=d;d=k[d>>2]|0;Ip(C)}while((d|0)!=0);d=k[z>>2]|0;k[z>>2]=0;if(!d){r=A;return f|0}Ip(d);r=A;return f|0}function uf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;h=i[b>>0]|0;j=i[b+1>>0]|0;l=i[b+2>>0]|0;g=i[b+3>>0]|0;b=(((h&255^318)+239^j&255)+239^l&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)==h<<24>>24?(i[b+9>>0]|0)==j<<24>>24:0)?(i[b+10>>0]|0)==l<<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)==h<<24>>24?(i[b+9>>0]|0)==j<<24>>24:0)?(i[b+10>>0]|0)==l<<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 vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;n=i[c+8>>0]|0;r=i[c+9>>0]|0;p=i[c+10>>0]|0;q=i[c+11>>0]|0;e=(((n&255^318)+239^r&255)+239^p&255)+239^q&255;u=c+4|0;k[u>>2]=e;t=b+4|0;j=k[t>>2]|0;s=(j|0)==0;a:do if(!s){m=j+-1|0;l=(m&j|0)==0;if(l)e=e&m;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if((((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==r<<24>>24:0)?(i[d+10>>0]|0)==p<<24>>24:0)?(i[d+11>>0]|0)==q<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==r<<24>>24:0)?(i[d+10>>0]|0)==p<<24>>24:0)?(i[d+11>>0]|0)==q<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(s|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;wf(b,f>>>0>>0?d:f);f=k[t>>2]|0;d=k[u>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){xf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;xf(a,b);return}function xf(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)Ip(c);k[d>>2]=0;return}q=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=q;if(c|0)Ip(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)e=c&p;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(q){c=f;while(1){o=k[c+4>>2]&p;if((o|0)==(e|0))break c;f=(k[a>>2]|0)+(o<<2)|0;if(!(k[f>>2]|0)){e=o;break b}l=c+9|0;m=c+10|0;n=c+11|0;f=k[c>>2]|0;d:do if(!f)f=c;else{j=i[c+8>>0]|0;g=c;while(1){if(j<<24>>24!=(i[f+8>>0]|0)){f=g;break d}if((i[l>>0]|0)!=(i[f+9>>0]|0)){f=g;break d}if((i[m>>0]|0)!=(i[f+10>>0]|0)){f=g;break d}if((i[n>>0]|0)!=(i[f+11>>0]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{r=f;f=g;g=r}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(o<<2)>>2]>>2];k[k[(k[a>>2]|0)+(o<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}else{c=f;while(1){o=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((o|0)==(e|0))break c;f=(k[a>>2]|0)+(o<<2)|0;if(!(k[f>>2]|0)){e=o;break b}j=c+9|0;l=c+10|0;m=c+11|0;f=k[c>>2]|0;e:do if(!f)f=c;else{n=i[c+8>>0]|0;g=c;while(1){if(n<<24>>24!=(i[f+8>>0]|0)){f=g;break e}if((i[j>>0]|0)!=(i[f+9>>0]|0)){f=g;break e}if((i[l>>0]|0)!=(i[f+10>>0]|0)){f=g;break e}if((i[m>>0]|0)!=(i[f+11>>0]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{r=f;f=g;g=r}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(o<<2)>>2]>>2];k[k[(k[a>>2]|0)+(o<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}while(0);f=k[c>>2]|0;if(!f){c=38;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=38;break}else{h=c;d=c}}if((c|0)==38)return}function yf(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,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+48|0;x=F+32|0;E=F+12|0;y=F+40|0;C=F;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[E+12>>2]=0;o[E+16>>2]=1.0;B=a+80|0;d=k[B>>2]|0;k[C>>2]=0;D=C+4|0;k[D>>2]=0;k[C+8>>2]=0;if(d){if(d>>>0>1073741823)yp(C);w=d<<2;f=$p(w)|0;k[C>>2]=f;e=f+(d<<2)|0;k[C+8>>2]=e;hq(f|0,0,w|0)|0;k[D>>2]=e;e=k[B>>2]|0;if((e|0)>0){u=b+48|0;v=b+40|0;w=E+4|0;q=x+4|0;s=a+40|0;t=a+64|0;p=k[c>>2]|0;n=0;l=0;do{h=p+n|0;j=u;m=k[j>>2]|0;j=k[j+4>>2]|0;e=v;e=sq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;j=jq(e|0,L|0,m|0,j|0)|0;j=i[(k[k[b>>2]>>2]|0)+j>>0]|0;i[y>>0]=j;m=j&255^318;e=k[w>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&m;else h=(m>>>0)%(e>>>0)|0;d=k[(k[E>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){z=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){z=20;break a}}while((i[d+8>>0]|0)!=j<<24>>24);else do{d=k[d>>2]|0;if(!d){z=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){z=20;break a}}while((i[d+8>>0]|0)!=j<<24>>24);k[f+(n<<2)>>2]=k[d+12>>2]}else z=20}else z=20;while(0);if((z|0)==20){z=0;d=$p(16)|0;i[d+8>>0]=j;k[d+12>>2]=l;k[d+4>>2]=m;k[d>>2]=0;hf(x,E,d);if(!(i[q>>0]|0))Ip(d);m=s;f=k[m>>2]|0;m=sq(f|0,k[m+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[t>>2]>>2]|0)+m|0,y|0,f|0)|0;f=k[C>>2]|0;k[f+(n<<2)>>2]=l;l=l+1|0}n=n+1|0;e=k[B>>2]|0}while((n|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[C>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(A=g+(e<<2)|0,(h|0)!=(A|0)):0)k[c>>2]=h+(~((h+-4-A|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[B>>2]|0}if((e|0)>0){f=k[C>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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[B>>2]=l;f=l}}else f=0;d=k[C>>2]|0;c=d;if(d|0){e=k[D>>2]|0;if((e|0)!=(d|0))k[D>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[E+8>>2]|0;if(d|0)do{D=d;d=k[d>>2]|0;Ip(D)}while((d|0)!=0);d=k[E>>2]|0;k[E>>2]=0;if(!d){r=F;return f|0}Ip(d);r=F;return f|0}function zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+32|0;J=K+12|0;D=K+40|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;u=k[c>>2]|0;t=0;n=0;do{p=u+t|0;q=y;m=k[q>>2]|0;q=k[q+4>>2]|0;s=z;s=sq(p|0,((p|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;q=jq(s|0,L|0,m|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8;j[D>>1]=q;m=q&255;s=(q&65535)>>>8;p=s&255;s=s&65535;d=(q&255^318)+239^s;e=k[A>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=d&g;else h=(d>>>0)%(e>>>0)|0;d=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((d|0)!=0?(C=k[d>>2]|0,(C|0)!=0):0){b:do if(c){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=23;break a}if((i[d+8>>0]|0)==m<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=23;break a}if((i[d+8>>0]|0)==m<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}while(0);k[f+(t<<2)>>2]=k[d+12>>2]}else E=23}else E=23;while(0);if((E|0)==23){E=0;d=$p(16)|0;p=d+8|0;i[p>>0]=q;i[p+1>>0]=q>>8;k[d+12>>2]=n;k[d+4>>2]=(q&255^318)+239^s;k[d>>2]=0;mf(B,J,d);if(!(i[v>>0]|0))Ip(d);s=w;f=k[s>>2]|0;s=sq(f|0,k[s+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+s|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(t<<2)>>2]=n;n=n+1|0}t=t+1|0;e=k[G>>2]|0}while((t|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[m>>0]|0)Aa(10788,10807,80,10839);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]=n;f=n}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|0}function Af(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+32|0;J=K+12|0;D=K+40|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=D+1|0;t=D+2|0;u=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;s=k[c>>2]|0;q=0;l=0;do{p=s+q|0;j=y;m=k[j>>2]|0;j=k[j+4>>2]|0;n=z;n=sq(p|0,((p|0)<0)<<31>>31|0,k[n>>2]|0,k[n+4>>2]|0)|0;j=jq(n|0,L|0,m|0,j|0)|0;j=(k[k[b>>2]>>2]|0)+j|0;i[D>>0]=i[j>>0]|0;i[D+1>>0]=i[j+1>>0]|0;i[D+2>>0]=i[j+2>>0]|0;j=i[D>>0]|0;m=i[A>>0]|0;n=i[t>>0]|0;p=((j&255^318)+239^m&255)+239^n&255;e=k[u>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=25;break a}if(((i[d+8>>0]|0)==j<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0)?(i[d+10>>0]|0)==n<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=25;break a}if(((i[d+8>>0]|0)==j<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0)?(i[d+10>>0]|0)==n<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}while(0);k[f+(q<<2)>>2]=k[d+12>>2]}else E=25}else E=25;while(0);if((E|0)==25){E=0;d=$p(16)|0;i[d+8>>0]=j;i[d+9>>0]=m;i[d+10>>0]=n;k[d+12>>2]=l;k[d+4>>2]=p;k[d>>2]=0;qf(B,J,d);if(!(i[v>>0]|0))Ip(d);p=w;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+p|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(q<<2)>>2]=l;l=l+1|0}q=q+1|0;e=k[G>>2]|0}while((q|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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]=l;f=l}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|0}function Bf(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,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=r;r=r+48|0;s=A+40|0;z=A+20|0;t=A+16|0;u=A+12|0;x=A;k[z>>2]=0;k[z+4>>2]=0;k[z+8>>2]=0;k[z+12>>2]=0;o[z+16>>2]=1.0;w=a+80|0;d=k[w>>2]|0;k[x>>2]=0;y=x+4|0;k[y>>2]=0;k[x+8>>2]=0;if(d){if(d>>>0>1073741823)yp(x);q=d<<2;f=$p(q)|0;k[x>>2]=f;e=f+(d<<2)|0;k[x+8>>2]=e;hq(f|0,0,q|0)|0;k[y>>2]=e;e=k[w>>2]|0;if((e|0)>0){n=k[c>>2]|0;p=b+48|0;q=b+40|0;h=s+4|0;j=a+40|0;m=a+64|0;g=0;e=0;while(1){C=n+g|0;c=p;d=k[c>>2]|0;c=k[c+4>>2]|0;B=q;B=sq(C|0,((C|0)<0)<<31>>31|0,k[B>>2]|0,k[B+4>>2]|0)|0;c=jq(B|0,L|0,d|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[t>>2]=c;k[u>>2]=c;d=uf(z,u)|0;if(!d){d=$p(16)|0;C=d+8|0;i[C>>0]=c;i[C+1>>0]=c>>8;i[C+2>>0]=c>>16;i[C+3>>0]=c>>24;k[d+12>>2]=e;k[d+4>>2]=(((c&255^318)+239^c>>>8&255)+239^c>>>16&255)+239^c>>>24;k[d>>2]=0;vf(s,z,d);if(!(i[h>>0]|0))Ip(d);d=j;f=k[d>>2]|0;d=sq(f|0,k[d+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;lq((k[k[m>>2]>>2]|0)+d|0,t|0,f|0)|0;f=k[x>>2]|0;k[f+(g<<2)>>2]=e;d=e+1|0}else{k[f+(g<<2)>>2]=k[d+12>>2];d=e}g=g+1|0;e=k[w>>2]|0;if((g|0)>=(e|0)){m=d;break}else e=d}}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[x>>2]|0;d=d>>2;c=0;do{C=e+(c<<2)|0;k[C>>2]=k[f+(k[C>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;g=a+68|0;h=a+72|0;f=k[h>>2]|0;c=k[g>>2]|0;d=f-c>>2;if(e>>>0<=d>>>0){if(e>>>0>>0?(v=c+(e<<2)|0,(f|0)!=(v|0)):0)k[h>>2]=f+(~((f+-4-v|0)>>>2)<<2)}else{Ue(g,e-d|0,2864);e=k[w>>2]|0}if((e|0)>0){f=k[x>>2]|0;if(i[j>>0]|0)Aa(10788,10807,80,10839);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[w>>2]=m;f=m}}else f=0;d=k[x>>2]|0;c=d;if(d|0){e=k[y>>2]|0;if((e|0)!=(d|0))k[y>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[z+8>>2]|0;if(d|0)do{C=d;d=k[d>>2]|0;Ip(C)}while((d|0)!=0);d=k[z>>2]|0;k[z>>2]=0;if(!d){r=A;return f|0}Ip(d);r=A;return f|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,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=r;r=r+48|0;z=H+32|0;G=H+12|0;A=H+40|0;E=H;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;k[G+12>>2]=0;o[G+16>>2]=1.0;D=a+80|0;d=k[D>>2]|0;k[E>>2]=0;F=E+4|0;k[F>>2]=0;k[E+8>>2]=0;if(d){if(d>>>0>1073741823)yp(E);y=d<<2;f=$p(y)|0;k[E>>2]=f;e=f+(d<<2)|0;k[E+8>>2]=e;hq(f|0,0,y|0)|0;k[F>>2]=e;e=k[D>>2]|0;if((e|0)>0){w=b+48|0;x=b+40|0;y=G+4|0;t=z+4|0;u=a+40|0;v=a+64|0;s=k[c>>2]|0;q=0;n=0;do{h=s+q|0;m=w;p=k[m>>2]|0;m=k[m+4>>2]|0;e=x;e=sq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;m=jq(e|0,L|0,p|0,m|0)|0;m=(k[k[b>>2]>>2]|0)+m|0;m=l[m>>0]|l[m+1>>0]<<8;j[A>>1]=m;p=m&65535^318;e=k[y>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&p;else h=(p>>>0)%(e>>>0)|0;d=k[(k[G>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){B=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){B=20;break a}}while((j[d+8>>1]|0)!=m<<16>>16);else do{d=k[d>>2]|0;if(!d){B=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){B=20;break a}}while((j[d+8>>1]|0)!=m<<16>>16);k[f+(q<<2)>>2]=k[d+12>>2]}else B=20}else B=20;while(0);if((B|0)==20){B=0;d=$p(16)|0;j[d+8>>1]=m;k[d+12>>2]=n;k[d+4>>2]=p;k[d>>2]=0;Df(z,G,d);if(!(i[t>>0]|0))Ip(d);p=u;f=k[p>>2]|0;p=sq(f|0,k[p+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;lq((k[k[v>>2]>>2]|0)+p|0,A|0,f|0)|0;f=k[E>>2]|0;k[f+(q<<2)>>2]=n;n=n+1|0}q=q+1|0;e=k[D>>2]|0}while((q|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[E>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(C=g+(e<<2)|0,(h|0)!=(C|0)):0)k[c>>2]=h+(~((h+-4-C|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[D>>2]|0}if((e|0)>0){f=k[E>>2]|0;if(i[m>>0]|0)Aa(10788,10807,80,10839);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[D>>2]=n;f=n}}else f=0;d=k[E>>2]|0;c=d;if(d|0){e=k[F>>2]|0;if((e|0)!=(d|0))k[F>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[G+8>>2]|0;if(d|0)do{F=d;d=k[d>>2]|0;Ip(F)}while((d|0)!=0);d=k[G>>2]|0;k[G>>2]=0;if(!d){r=H;return f|0}Ip(d);r=H;return f|0}function Df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,l=0,m=0,n=0,p=0,q=0,r=0;n=j[c+8>>1]|0;d=n&65535^318;r=c+4|0;k[r>>2]=d;q=b+4|0;l=k[q>>2]|0;p=(l|0)==0;a:do if(!p){m=l+-1|0;f=(m&l|0)==0;if(f)e=m&d;else e=(d>>>0)%(l>>>0)|0;d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(d)if(f){while(1){d=k[d>>2]|0;if(!d)break a;if((k[d+4>>2]&m|0)!=(e|0))break a;if((j[d+8>>1]|0)==n<<16>>16){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){d=k[d>>2]|0;if(!d)break a;if((((k[d+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(e|0))break a;if((j[d+8>>1]|0)==n<<16>>16){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);m=b+12|0;g=+(((k[m>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(p|g>+(l>>>0)*h){if(l>>>0>2)d=(l+-1&l|0)==0;else d=0;f=(d&1|l<<1)^1;d=~~+ga(+(g/h))>>>0;Ef(b,f>>>0>>0?d:f);f=k[q>>2]|0;d=k[r>>2]|0;e=f+-1|0;if(!(e&f)){l=f;e=e&d;break}else{l=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=l+-1|0;if(!(e&l))d=d&e;else d=(d>>>0)%(l>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[m>>2]=(k[m>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function Ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Ff(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Ff(a,b);return}function Ff(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)Ip(c);k[d>>2]=0;return}n=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)Ip(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;m=b+-1|0;n=(m&b|0)==0;if(n)e=c&m;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[f>>2]|0;if(!c)return;else{g=f;d=f}a:while(1){b:do if(n){l=g;i=d;while(1){while(1){h=k[c+4>>2]&m;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((j[g>>1]|0)==(j[f+8>>1]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[l>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{l=d;i=d}}}else{l=g;i=d;while(1){while(1){h=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((j[g>>1]|0)==(j[f+8>>1]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[l>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{l=d;i=d}}}while(0);k[d>>2]=c;c=k[f>>2]|0;if(!c){c=32;break}else{g=f;d=f}}if((c|0)==32)return}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,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+40|0;J=K+16|0;D=K+12|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)yp(H);A=d<<2;f=$p(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;hq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;u=k[c>>2]|0;t=0;n=0;do{m=u+t|0;q=y;h=k[q>>2]|0;q=k[q+4>>2]|0;s=z;s=sq(m|0,((m|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;q=jq(s|0,L|0,h|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[D>>2]=q;h=q&65535;s=q>>>16;m=s&65535;s=(q&65535^318)+239^s;e=k[A>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)p=s&g;else p=(s>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(p<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(p|0)){E=23;break a}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(p|0)){E=23;break a}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}while(0);k[f+(t<<2)>>2]=k[d+12>>2]}else E=23}else E=23;while(0);if((E|0)==23){E=0;d=$p(16)|0;p=d+8|0;j[p>>1]=q;j[p+2>>1]=q>>>16;k[d+12>>2]=n;k[d+4>>2]=s;k[d>>2]=0;Hf(B,J,d);if(!(i[v>>0]|0))Ip(d);s=w;f=k[s>>2]|0;s=sq(f|0,k[s+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;lq((k[k[x>>2]>>2]|0)+s|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(t<<2)>>2]=n;n=n+1|0}t=t+1|0;e=k[G>>2]|0}while((t|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ue(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[m>>0]|0)Aa(10788,10807,80,10839);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]=n;f=n}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Ip(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Ip(d);r=K;return f|0}function Hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;p=j[c+8>>1]|0;q=j[c+10>>1]|0;e=(p&65535^318)+239^q&65535;t=c+4|0;k[t>>2]=e;s=b+4|0;l=k[s>>2]|0;r=(l|0)==0;a:do if(!r){n=l+-1|0;m=(n&l|0)==0;if(m)e=n&e;else e=(e>>>0)%(l>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(m){while(1){if((k[d+4>>2]&n|0)!=(e|0))break a;if((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==q<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(e|0))break a;if((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==q<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);m=b+12|0;g=+(((k[m>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(r|g>+(l>>>0)*h){if(l>>>0>2)d=(l+-1&l|0)==0;else d=0;f=(d&1|l<<1)^1;d=~~+ga(+(g/h))>>>0;If(b,f>>>0>>0?d:f);f=k[s>>2]|0;d=k[t>>2]|0;e=f+-1|0;if(!(e&f)){l=f;e=e&d;break}else{l=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=l+-1|0;if(!(e&l))d=d&e;else d=(d>>>0)%(l>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[m>>2]=(k[m>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function If(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Jf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Jf(a,b);return}function Jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,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)Ip(c);k[d>>2]=0;return}o=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)Ip(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)e=c&n;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(o){c=f;while(1){m=k[c+4>>2]&n;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}l=c+10|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=j[c+8>>1]|0;g=c;while(1){if(i<<16>>16!=(j[f+8>>1]|0)){f=g;break d}if((j[l>>1]|0)!=(j[f+10>>1]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}else{c=f;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}i=c+10|0;f=k[c>>2]|0;e:do if(!f)f=c;else{l=j[c+8>>1]|0;g=c;while(1){if(l<<16>>16!=(j[f+8>>1]|0)){f=g;break e}if((j[i>>1]|0)!=(j[f+10>>1]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}while(0);f=k[c>>2]|0;if(!f){c=34;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=34;break}else{h=c;d=c}}if((c|0)==34)return} -function Vn(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;j=r;r=r+16|0;h=j;d=k[a+8>>2]|0;i=k[c>>2]|0;e=(i|0)/3|0;if((i|0)<=-3)Aa(10856,10769,63,10783);f=k[d+80>>2]|0;if(e>>>0>=(((k[d+84>>2]|0)-f|0)/12|0)>>>0)Aa(10733,10769,64,10783);d=k[f+(e*12|0)+(((i|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))pg(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)){Bd(e,c);a=k[d>>2]|0;c=a+24|0;i=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]=i;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;r=j;return}else{k[g>>2]=i;k[f>>2]=g+4;a=e;c=a+24|0;i=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]=i;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;r=j;return}}function Wn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+32|0;j=n+24|0;i=n+16|0;l=n+8|0;m=n;k[a>>2]=4652;k[a+4>>2]=k[b+4>>2];e=a+8|0;f=b+8|0;k[e>>2]=0;g=a+12|0;k[g>>2]=0;h=a+16|0;k[h>>2]=0;c=b+12|0;d=k[c>>2]|0;do if(d|0)if((d|0)<0)yp(e);else{d=((d+-1|0)>>>5)+1|0;o=$p(d<<2)|0;k[e>>2]=o;k[g>>2]=0;k[h>>2]=d;g=k[f>>2]|0;k[l>>2]=g;k[l+4>>2]=0;h=k[c>>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];Jn(e,i,j);break}while(0);f=a+20|0;k[f>>2]=0;g=a+24|0;k[g>>2]=0;c=a+28|0;k[c>>2]=0;d=b+24|0;e=k[d>>2]|0;if(!e){r=n;return}if((e|0)<0)yp(f);o=((e+-1|0)>>>5)+1|0;a=$p(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];Jn(f,i,j);r=n;return}function Xn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;k[a+4>>2]=k[b+4>>2];h=a+8|0;i=b+8|0;if((a|0)==(b|0))return a|0;j=b+12|0;c=k[j>>2]|0;if(!c)c=0;else{e=a+16|0;do if(c>>>0>k[e>>2]<<5>>>0){d=k[h>>2]|0;if(d){Ip(d);k[h>>2]=0;k[e>>2]=0;k[a+12>>2]=0;c=k[j>>2]|0}if((c|0)<0)yp(h);else{f=((c+-1|0)>>>5)+1|0;g=$p(f<<2)|0;k[h>>2]=g;k[a+12>>2]=0;k[e>>2]=f;f=k[j>>2]|0;break}}else{f=c;g=k[h>>2]|0}while(0);mq(g|0,k[i>>2]|0,((f+-1|0)>>>5<<2)+4|0)|0;c=k[j>>2]|0}k[a+12>>2]=c;g=a+20|0;h=b+20|0;e=b+24|0;c=k[e>>2]|0;if(!c)c=0;else{f=a+28|0;do if(c>>>0>k[f>>2]<<5>>>0){d=k[g>>2]|0;if(d){Ip(d);k[g>>2]=0;k[f>>2]=0;k[a+24>>2]=0;c=k[e>>2]|0}if((c|0)<0)yp(g);else{l=((c+-1|0)>>>5)+1|0;m=$p(l<<2)|0;k[g>>2]=m;k[a+24>>2]=0;k[f>>2]=l;l=k[e>>2]|0;break}}else{l=c;m=k[g>>2]|0}while(0);mq(m|0,k[h>>2]|0,((l+-1|0)>>>5<<2)+4|0)|0;c=k[e>>2]|0}k[a+24>>2]=c;return a|0}function Yn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+96|0;w=B+88|0;q=B+92|0;A=B+40|0;z=B;t=B+84|0;x=B+80|0;o=a+148|0;k[o>>2]=0;e=a+164|0;if(k[e>>2]|0){c=a+160|0;b=k[c>>2]|0;if(b|0)do{y=b;b=k[b>>2]|0;Ip(y)}while((b|0)!=0);k[c>>2]=0;b=k[a+156>>2]|0;if(b|0){c=a+152|0;d=0;do{k[(k[c>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(b|0))}k[e>>2]=0}s=a+4|0;b=k[(k[s>>2]|0)+20>>2]|0;m=b+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;n=b+16|0;g=n;f=k[g>>2]|0;g=k[g+4>>2]|0;d=jq(f|0,g|0,4,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){A=0;r=B;return A|0}h=k[b>>2]|0;e=h+f|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;b=n;k[b>>2]=d;k[b+4>>2]=c;k[o>>2]=e;e=jq(f|0,g|0,8,0)|0;b=L;if((m|0)<(b|0)|(m|0)==(b|0)&j>>>0>>0){A=0;r=B;return A|0}c=h+d|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;p=n;k[p>>2]=e;k[p+4>>2]=b;p=a+172|0;k[p>>2]=c;b=jq(f|0,g|0,12,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){A=0;r=B;return A|0}j=h+e|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;d=n;k[d>>2]=b;k[d+4>>2]=c;b=k[a+24>>2]|0;c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);y=a+8|0;b=$p(60)|0;zd(b);c=k[y>>2]|0;k[y>>2]=b;if(c){Fd(c);Ip(c);b=k[y>>2]|0;if(!b){A=0;r=B;return A|0}}Gd(b,j);f=a+176|0;g=k[f>>2]|0;h=a+180|0;b=k[h>>2]|0;c=g;if((b|0)!=(g|0)){b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[h>>2]=b}e=a+184|0;if((k[e>>2]|0)-c>>2>>>0>>0){b=b-c|0;c=b>>2;if(!j)d=0;else d=$p(j<<2)|0;v=d+(c<<2)|0;u=v+(0-c<<2)|0;lq(u|0,g|0,b|0)|0;k[f>>2]=u;k[h>>2]=v;k[e>>2]=d+(j<<2);if(g|0)Ip(g)}f=a+188|0;g=k[f>>2]|0;h=a+192|0;b=k[h>>2]|0;c=g;if((b|0)!=(g|0)){b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[h>>2]=b}e=a+196|0;if((k[e>>2]|0)-c>>2>>>0>>0){b=b-c|0;c=b>>2;if(!j)d=0;else d=$p(j<<2)|0;v=d+(c<<2)|0;u=v+(0-c<<2)|0;lq(u|0,g|0,b|0)|0;k[f>>2]=u;k[h>>2]=v;k[e>>2]=d+(j<<2);if(g|0)Ip(g)}b=k[a+36>>2]|0;c=a+40|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);b=k[a+48>>2]|0;c=a+52|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+68>>2]=0;b=k[a+76>>2]|0;c=a+80|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+60>>2]=0;k[a+100>>2]=-1;k[a+108>>2]=-1;k[a+104>>2]=-1;b=k[(k[s>>2]|0)+20>>2]|0;v=b+8|0;u=k[v+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((u|0)>(e|0)|((u|0)==(e|0)?(k[v>>2]|0)>>>0>d>>>0:0))){A=0;r=B;return A|0}h=i[(k[b>>2]|0)+d>>0]|0;g=jq(d|0,e|0,1,0)|0;u=c;k[u>>2]=g;k[u+4>>2]=L;u=a+228|0;g=k[u>>2]|0;v=a+232|0;b=k[v>>2]|0;if((b|0)!=(g|0))do{k[v>>2]=b+-116;c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}tn(b+-112|0);b=k[v>>2]|0}while((b|0)!=(g|0));o=h<<24>>24;Zn(u,o);b=k[(k[s>>2]|0)+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=k[d+4>>2]|0;m=jq(c|0,d|0,4,0)|0;e=L;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){A=0;r=B;return A|0}f=k[b>>2]|0;n=f+c|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;b=j;k[b>>2]=m;k[b+4>>2]=e;b=jq(c|0,d|0,8,0)|0;c=L;if((h|0)<(c|0)|(h|0)==(c|0)&g>>>0>>0){A=0;r=B;return A|0}e=f+m|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;h=j;k[h>>2]=b;k[h+4>>2]=c;h=a+136|0;b=(k[p>>2]|0)+e|0;i[q>>0]=1;Cg(h,b,q);b=k[(k[s>>2]|0)+20>>2]|0;p=b+8|0;q=k[p>>2]|0;p=k[p+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=jq(d|0,k[e+4>>2]|0,4,0)|0;f=L;if((p|0)<(f|0)|(p|0)==(f|0)&q>>>0>>0)b=0;else{b=(k[b>>2]|0)+d|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;q=c;k[q>>2]=e;k[q+4>>2]=f}Og(A);p=k[(k[s>>2]|0)+20>>2]|0;j=p+16|0;g=k[j>>2]|0;q=(k[p>>2]|0)+g+b|0;p=p+8|0;m=k[p>>2]|0;p=k[p+4>>2]|0;b=jq(g|0,k[j+4>>2]|0,b|0,0)|0;b=gq(m|0,p|0,b|0,L|0)|0;Pg(A,q,b);b=bo(a,A)|0;if((b|0)==-1)b=0;else{c=a+240|0;k[a+328>>2]=a;p=(cb[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;p=k[p>>2]|0;m=k[p>>2]|0;p=k[p+16>>2]|0;q=(cb[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;q=k[q>>2]|0;j=q+8|0;q=q+16|0;q=gq(k[j>>2]|0,k[j+4>>2]|0,k[q>>2]|0,k[q+4>>2]|0)|0;Pg(c,m+p|0,q);k[a+324>>2]=o;fo(z,c);if((go(a,n)|0)==-1)b=0;else{o=k[(k[s>>2]|0)+20>>2]|0;q=z+16|0;n=k[q>>2]|0;p=(k[z>>2]|0)+n|0;m=z+8|0;q=gq(k[m>>2]|0,k[m+4>>2]|0,n|0,k[q+4>>2]|0)|0;Pg(o,p,q);s=(k[(k[s>>2]|0)+20>>2]|0)+16|0;q=s;q=jq(k[q>>2]|0,k[q+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[s>>2]=q;k[s+4>>2]=L;do if((k[v>>2]|0)!=(k[u>>2]|0)){s=k[y>>2]|0;if(((k[s+4>>2]|0)-(k[s>>2]|0)|0)<=0)break;b=0;do{k[t>>2]=b;k[w>>2]=k[t>>2];no(a,w)|0;b=b+3|0;s=k[y>>2]|0}while((b|0)<((((k[s+4>>2]|0)-(k[s>>2]|0)|0)/12|0)*3|0))}while(0);Rg(c);Rg(a+280|0);c=k[y>>2]|0;f=k[c+28>>2]|0;g=k[c+24>>2]|0;q=g;if((f-g|0)>0){j=k[h>>2]|0;m=f-g>>2;n=c+12|0;p=0;do{do if(k[j+(p>>>5<<2)>>2]&1<<(p&31)|0){o=q+(p<<2)|0;b=k[o>>2]|0;if((b|0)<0)break;d=b+1|0;d=((d|0)%3|0|0)==0?b+-2|0:d;if((d|0)>=0){h=k[n>>2]|0;d=k[h+(d<<2)>>2]|0;a:do if((d|0)<0)e=b;else{t=d+1|0;d=((t|0)%3|0|0)==0?d+-2|0:t;if((d|0)>-1&(d|0)!=(b|0))e=d;else{e=b;break}while(1){d=e+1|0;d=((d|0)%3|0|0)==0?e+-2|0:d;if((d|0)<0)break a;d=k[h+(d<<2)>>2]|0;if((d|0)<0)break a;t=d+1|0;d=((t|0)%3|0|0)==0?d+-2|0:t;if((d|0)>-1&(d|0)!=(b|0))e=d;else break}}while(0);if((d|0)==(b|0))break;else b=e}k[o>>2]=b}while(0);p=p+1|0}while((p|0)<(m|0))}d=k[v>>2]|0;t=k[u>>2]|0;b=t;if((d|0)==(t|0))c=d;else{f=0;do{Bg(b+(f*116|0)+4|0,c)|0;b=k[u>>2]|0;c=k[b+(f*116|0)+104>>2]|0;d=k[b+(f*116|0)+108>>2]|0;if((c|0)!=(d|0))do{k[x>>2]=k[c>>2];k[w>>2]=k[x>>2];Jg(b+(f*116|0)+4|0,w);c=c+4|0;b=k[u>>2]|0}while((c|0)!=(d|0));Ig(b+(f*116|0)+4|0,0,0);f=f+1|0;d=k[v>>2]|0;e=k[u>>2]|0;b=e;c=k[y>>2]|0}while(f>>>0<((d-e|0)/116|0)>>>0);g=k[c+24>>2]|0;f=k[c+28>>2]|0;c=e}e=f-g>>2;f=a+212|0;j=a+216|0;m=k[j>>2]|0;h=k[f>>2]|0;g=m-h>>2;do if(e>>>0>g>>>0){Wg(f,e-g|0);b=k[u>>2]|0;d=k[v>>2]|0;c=b}else{if(e>>>0>=g>>>0)break;e=h+(e<<2)|0;if((m|0)==(e|0))break;k[j>>2]=m+(~((m+-4-e|0)>>>2)<<2)}while(0);if((d|0)!=(c|0)){m=0;while(1){f=(k[b+(m*116|0)+60>>2]|0)-(k[b+(m*116|0)+56>>2]|0)>>2;g=k[y>>2]|0;g=(k[g+28>>2]|0)-(k[g+24>>2]|0)>>2;f=(f|0)<(g|0)?g:f;g=b+(m*116|0)+88|0;h=b+(m*116|0)+92|0;j=k[h>>2]|0;e=k[g>>2]|0;b=j-e>>2;do if(f>>>0>b>>>0){Wg(g,f-b|0);c=k[u>>2]|0;d=k[v>>2]|0}else{if(f>>>0>=b>>>0)break;b=e+(f<<2)|0;if((j|0)==(b|0))break;k[h>>2]=j+(~((j+-4-b|0)>>>2)<<2)}while(0);m=m+1|0;if(m>>>0>=((d-c|0)/116|0)>>>0)break;else b=c}}oo(a)|0;b=1}Ng(z+24|0)}Ng(A+24|0);A=b;r=B;return A|0}function Zn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=a+4|0;e=k[g>>2]|0;c=k[a>>2]|0;d=(e-c|0)/116|0;if(d>>>0>>0){_n(a,b-d|0);return}if(d>>>0<=b>>>0)return;f=c+(b*116|0)|0;if((e|0)==(f|0))return;do{k[g>>2]=e+-116;c=k[e+-12>>2]|0;d=c;if(c|0){b=e+-8|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Ip(c)}c=k[e+-28>>2]|0;d=c;if(c|0){b=e+-24|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Ip(c)}c=k[e+-40>>2]|0;d=c;if(c|0){b=e+-36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Ip(c)}tn(e+-112|0);e=k[g>>2]|0}while((e|0)!=(f|0));return}function _n(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;o=r;r=r+32|0;m=o;l=a+8|0;d=k[l>>2]|0;n=a+4|0;c=k[n>>2]|0;if(((d-c|0)/116|0)>>>0>=b>>>0){do{k[c>>2]=-1;Ag(c+4|0);i[c+72>>0]=1;e=c+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c=(k[n>>2]|0)+116|0;k[n>>2]=c;b=b+-1|0}while((b|0)!=0);r=o;return}f=k[a>>2]|0;e=((c-f|0)/116|0)+b|0;if(e>>>0>37025580)yp(a);c=(d-f|0)/116|0;if(c>>>0<18512790){j=c<<1;e=j>>>0>>0?e:j}else e=37025580;c=((k[n>>2]|0)-f|0)/116|0;k[m+12>>2]=0;k[m+16>>2]=a+8;if(!e)d=0;else d=$p(e*116|0)|0;k[m>>2]=d;c=d+(c*116|0)|0;g=m+8|0;k[g>>2]=c;h=m+4|0;k[h>>2]=c;j=m+12|0;k[j>>2]=d+(e*116|0);d=c;do{k[d>>2]=-1;Ag(d+4|0);i[d+72>>0]=1;e=d+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));d=d+116|0;k[g>>2]=d;b=b+-1|0}while((b|0)!=0);d=k[a>>2]|0;b=k[n>>2]|0;if((b|0)!=(d|0)){do{c=c+-116|0;b=b+-116|0;$n(c,b)}while((b|0)!=(d|0));k[h>>2]=c;d=k[a>>2]|0;b=k[n>>2]|0}k[a>>2]=c;k[h>>2]=d;k[n>>2]=k[g>>2];k[g>>2]=b;n=k[l>>2]|0;k[l>>2]=k[j>>2];k[j>>2]=n;k[m>>2]=k[h>>2];ao(m);r=o;return}function $n(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;k[a>>2]=k[b>>2];c=b+4|0;k[a+4>>2]=k[c>>2];d=b+8|0;k[a+8>>2]=k[d>>2];e=b+12|0;k[a+12>>2]=k[e>>2];k[c>>2]=0;k[d>>2]=0;k[e>>2]=0;e=b+16|0;k[a+16>>2]=k[e>>2];d=b+20|0;k[a+20>>2]=k[d>>2];c=b+24|0;k[a+24>>2]=k[c>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;i[a+28>>0]=i[b+28>>0]|0;c=a+32|0;d=b+32|0;k[c>>2]=0;e=a+36|0;k[e>>2]=0;k[a+40>>2]=0;k[c>>2]=k[d>>2];c=b+36|0;k[e>>2]=k[c>>2];e=b+40|0;k[a+40>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;d=a+44|0;c=b+44|0;k[d>>2]=0;e=a+48|0;k[e>>2]=0;k[a+52>>2]=0;k[d>>2]=k[c>>2];d=b+48|0;k[e>>2]=k[d>>2];e=b+52|0;k[a+52>>2]=k[e>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;c=a+56|0;d=b+56|0;k[c>>2]=0;e=a+60|0;k[e>>2]=0;k[a+64>>2]=0;k[c>>2]=k[d>>2];c=b+60|0;k[e>>2]=k[c>>2];e=b+64|0;k[a+64>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;k[a+68>>2]=k[b+68>>2];i[a+72>>0]=i[b+72>>0]|0;d=a+76|0;c=b+76|0;k[d>>2]=0;e=a+80|0;k[e>>2]=0;k[a+84>>2]=0;k[d>>2]=k[c>>2];d=b+80|0;k[e>>2]=k[d>>2];e=b+84|0;k[a+84>>2]=k[e>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;c=a+88|0;d=b+88|0;k[c>>2]=0;e=a+92|0;k[e>>2]=0;k[a+96>>2]=0;k[c>>2]=k[d>>2];c=b+92|0;k[e>>2]=k[c>>2];e=b+96|0;k[a+96>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;k[a+100>>2]=k[b+100>>2];d=a+104|0;c=b+104|0;k[d>>2]=0;e=a+108|0;k[e>>2]=0;k[a+112>>2]=0;k[d>>2]=k[c>>2];d=b+108|0;k[e>>2]=k[d>>2];b=b+112|0;k[a+112>>2]=k[b>>2];k[b>>2]=0;k[d>>2]=0;k[c>>2]=0;return}function ao(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=k[a+4>>2]|0;h=a+8|0;b=k[h>>2]|0;if((b|0)!=(g|0))do{k[h>>2]=b+-116;f=k[b+-12>>2]|0;c=f;if(f|0){d=b+-8|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(f)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}tn(b+-112|0);b=k[h>>2]|0}while((b|0)!=(g|0));b=k[a>>2]|0;if(!b)return;Ip(b);return}function bo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+16|0;w=x;u=b+8|0;g=u;f=k[g>>2]|0;g=k[g+4>>2]|0;v=b+16|0;d=v;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0){w=-1;r=x;return w|0}n=(k[b>>2]|0)+c|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;t=v;k[t>>2]=d;k[t+4>>2]=e;a:do if(!n)h=d;else{o=w+4|0;p=w+8|0;q=a+40|0;s=a+44|0;t=a+36|0;c=e;m=0;while(1){e=jq(d|0,c|0,4,0)|0;h=L;if((g|0)<(h|0)|(g|0)==(h|0)&f>>>0>>0)break;j=k[b>>2]|0;y=j+d|0;k[w>>2]=l[y>>0]|l[y+1>>0]<<8|l[y+2>>0]<<16|l[y+3>>0]<<24;y=v;k[y>>2]=e;k[y+4>>2]=h;h=jq(d|0,c|0,8,0)|0;y=L;if((g|0)<(y|0)|(g|0)==(y|0)&f>>>0>>0)break;e=j+e|0;k[o>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=jq(d|0,c|0,8,0)|0;y=L;h=v;k[h>>2]=e;k[h+4>>2]=y;if(!((g|0)>(y|0)|(g|0)==(y|0)&f>>>0>e>>>0))break;y=i[j+e>>0]|0;j=jq(d|0,c|0,9,0)|0;c=v;k[c>>2]=j;k[c+4>>2]=L;i[p>>0]=y&3|i[p>>0]&-4;c=k[q>>2]|0;if((c|0)==(k[s>>2]|0))co(t,w);else{k[c>>2]=k[w>>2];k[c+4>>2]=k[w+4>>2];k[c+8>>2]=k[w+8>>2];k[q>>2]=(k[q>>2]|0)+12}m=m+1|0;g=u;f=k[g>>2]|0;g=k[g+4>>2]|0;c=v;d=k[c>>2]|0;c=k[c+4>>2]|0;if(m>>>0>=n>>>0){h=d;e=c;break a}}y=-1;r=x;return y|0}while(0);d=jq(h|0,e|0,4,0)|0;c=L;if((g|0)<(c|0)|(g|0)==(c|0)&f>>>0>>0){y=-1;r=x;return y|0}o=(k[b>>2]|0)+h|0;o=l[o>>0]|l[o+1>>0]<<8|l[o+2>>0]<<16|l[o+3>>0]<<24;y=v;k[y>>2]=d;k[y+4>>2]=c;if(!o){y=d;r=x;return y|0}m=a+52|0;n=a+56|0;j=a+48|0;k[w>>2]=0;e=jq(h|0,e|0,8,0)|0;c=L;b:do if(!((g|0)<(c|0)|(g|0)==(c|0)&f>>>0>>0)){f=0;while(1){d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[w>>2]=d;y=v;k[y>>2]=e;k[y+4>>2]=c;c=k[m>>2]|0;if((c|0)==(k[n>>2]|0))eo(j,w);else{k[c>>2]=d;k[m>>2]=c+4}f=f+1|0;if(f>>>0>=o>>>0)break;a=u;y=k[a>>2]|0;a=k[a+4>>2]|0;e=v;d=k[e>>2]|0;e=k[e+4>>2]|0;k[w>>2]=0;e=jq(d|0,e|0,4,0)|0;c=L;if((a|0)<(c|0)|(a|0)==(c|0)&y>>>0>>0)break b}y=k[v>>2]|0;r=x;return y|0}while(0);y=-1;r=x;return y|0}function co(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;h=a+4|0;i=k[a>>2]|0;d=(((k[h>>2]|0)-i|0)/12|0)+1|0;if(d>>>0>357913941)yp(a);j=a+8|0;c=((k[j>>2]|0)-i|0)/12|0;if(c>>>0<178956970){c=c<<1;c=c>>>0>>0?d:c;e=k[h>>2]|0;d=(e-i|0)/12|0;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=357913941;e=d;d=(d-i|0)/12|0;l=6}if((l|0)==6){g=c;f=$p(c*12|0)|0;c=e}l=f+(d*12|0)|0;k[l>>2]=k[b>>2];k[l+4>>2]=k[b+4>>2];k[l+8>>2]=k[b+8>>2];e=c-i|0;b=l+(((e|0)/-12|0)*12|0)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+12;k[j>>2]=f+(g*12|0);if(!i)return;Ip(i);return}function eo(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;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)yp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;lq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Ip(i);return}function fo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+16|0;c=h;Qg(b,1,c)|0;f=b+40|0;d=b+16|0;e=k[d>>2]|0;g=(k[b>>2]|0)+e|0;i=b+8|0;d=gq(k[i>>2]|0,k[i+4>>2]|0,e|0,k[d+4>>2]|0)|0;Pg(f,g,d);d=c;g=b+56|0;e=g;d=jq(k[e>>2]|0,k[e+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;e=g;k[e>>2]=d;k[e+4>>2]=L;Qg(f,1,c)|0;Og(a);e=k[g>>2]|0;f=(k[f>>2]|0)+e|0;d=b+48|0;g=gq(k[d>>2]|0,k[d+4>>2]|0,e|0,k[g+4>>2]|0)|0;Pg(a,f,g);g=a+16|0;f=g;c=jq(k[f>>2]|0,k[f+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;k[g>>2]=c;k[g+4>>2]=L;g=b+84|0;c=k[g>>2]|0;if((c|0)<=0){r=h;return}f=b+80|0;d=c<<4;d=bq(c>>>0>268435455|d>>>0>4294967291?-1:d+4|0)|0;k[d>>2]=c;d=d+4|0;b=d+(c<<4)|0;c=d;do{qd(c);c=c+16|0}while((c|0)!=(b|0));e=k[f>>2]|0;k[f>>2]=d;if(e|0){c=e+-4|0;b=k[c>>2]|0;if(b|0){b=e+(b<<4)|0;do{b=b+-16|0;rd(b)}while((b|0)!=(e|0))}cq(c)}if((k[g>>2]|0)>0)b=0;else{r=h;return}do{sd((k[f>>2]|0)+(b<<4)|0,a);b=b+1|0}while((b|0)<(k[g>>2]|0));r=h;return}function go(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;sa=r;r=r+48|0;oa=sa+28|0;pa=sa+8|0;ka=sa+4|0;la=sa;k[oa>>2]=0;qa=oa+4|0;k[qa>>2]=0;k[oa+8>>2]=0;k[pa>>2]=0;k[pa+4>>2]=0;k[pa+8>>2]=0;k[pa+12>>2]=0;o[pa+16>>2]=1.0;a:do if((b|0)>0){T=a+276|0;X=a+8|0;Z=a+36|0;aa=a+40|0;ba=b+-1|0;ca=pa+4|0;F=oa+8|0;G=a+136|0;I=a+272|0;J=a+264|0;K=a+268|0;x=0;c=0;b:while(1){P=x+1|0;if(i[T>>0]|0){e=k[I>>2]|0;g=k[J>>2]|0;h=k[K>>2]|0;d=g+(e>>>3)|0;if(d>>>0>>0?(R=(l[d>>0]|0)>>>(e&7)&1,S=e+1|0,k[I>>2]=S,(R|0)!=0):0){d=g+(S>>>3)|0;if(d>>>0>>0){f=(l[d>>0]|0)>>>(S&7)&1;e=e+2|0;k[I>>2]=e}else{f=0;e=S}d=g+(e>>>3)|0;if(d>>>0>>0){d=(l[d>>0]|0)>>>(e&7);k[I>>2]=e+1;d=d<<1&2}else d=0;e=R;d=(d|f)<<1;da=13}else da=14}else{e=0;d=0;da=13}c:do if((da|0)==13){da=0;d=d|e;if(d){switch(d|0){case 3:case 5:{u=k[(k[qa>>2]|0)+-4>>2]|0;w=x*3|0;m=((d|0)==5?2:1)+w|0;d=k[X>>2]|0;v=k[d+12>>2]|0;k[v+(m<<2)>>2]=u;k[v+(u<<2)>>2]=m;v=c+1|0;q=(m|0)<0;t=(m|0)%3|0;k[(k[d>>2]|0)+((q?-1073741824:(m|0)/3|0)*12|0)+(t<<2)>>2]=c;if((c|0)>-1){h=d+24|0;f=d+28|0;e=k[f>>2]|0;d=k[h>>2]|0;g=e-d>>2;do if(g>>>0<=c>>>0){if(v>>>0>g>>>0){ho(h,v-g|0);d=k[h>>2]|0;break}if(v>>>0>>0?(N=d+(v<<2)|0,(e|0)!=(N|0)):0)k[f>>2]=e+(~((e+-4-N|0)>>>2)<<2)}while(0);k[d+(c<<2)>>2]=m;d=k[X>>2]|0}if(q)n=m;else{n=m+1|0;n=((n|0)%3|0|0)==0?m+-2|0:n}p=(u|0)<0;if(!p?(D=(((u|0)%3|0|0)==0?2:-1)+u|0,(D|0)>=0):0)j=k[(k[d>>2]|0)+(((D|0)/3|0)*12|0)+(((D|0)%3|0)<<2)>>2]|0;else j=-1073741824;k[(k[d>>2]|0)+(((n|0)<0?-1073741824:(n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=j;if((j|0)>-1){h=d+24|0;e=d+28|0;d=k[e>>2]|0;c=k[h>>2]|0;f=d-c>>2;do if(f>>>0<=j>>>0){g=j+1|0;if(g>>>0>f>>>0){ho(h,g-f|0);c=k[h>>2]|0;break}if(g>>>0>>0?(O=c+(g<<2)|0,(d|0)!=(O|0)):0)k[e>>2]=d+(~((d+-4-O|0)>>>2)<<2)}while(0);k[c+(j<<2)>>2]=n;d=k[X>>2]|0}do if(!q)if(!t){m=m+2|0;break}else{m=m+-1|0;break}while(0);if(!p?(A=u+1|0,A=((A|0)%3|0|0)==0?u+-2|0:A,(A|0)>=0):0)j=k[(k[d>>2]|0)+(((A|0)/3|0)*12|0)+(((A|0)%3|0)<<2)>>2]|0;else j=-1073741824;k[(k[d>>2]|0)+(((m|0)<0?-1073741824:(m|0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=j;if((j|0)>-1){h=d+24|0;e=d+28|0;d=k[e>>2]|0;c=k[h>>2]|0;f=d-c>>2;do if(f>>>0<=j>>>0){g=j+1|0;if(g>>>0>f>>>0){ho(h,g-f|0);c=k[h>>2]|0;break}if(g>>>0>>0?(Q=c+(g<<2)|0,(d|0)!=(Q|0)):0)k[e>>2]=d+(~((d+-4-Q|0)>>>2)<<2)}while(0);k[c+(j<<2)>>2]=m}k[(k[qa>>2]|0)+-4>>2]=w;c=v;break}case 1:{d=k[qa>>2]|0;u=k[d+-4>>2]|0;m=d+-4|0;k[qa>>2]=m;g=k[ca>>2]|0;d:do if(g){h=g+-1|0;f=(h&g|0)==0;if(f)j=h&x;else j=(x>>>0)%(g>>>0)|0;e=k[(k[pa>>2]|0)+(j<<2)>>2]|0;if(e){if(f)do{e=k[e>>2]|0;if(!e){d=m;break d}if((k[e+4>>2]&h|0)!=(j|0)){d=m;break d}}while((k[e+8>>2]|0)!=(x|0));else do{e=k[e>>2]|0;if(!e){d=m;break d}if((((k[e+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(j|0)){d=m;break d}}while((k[e+8>>2]|0)!=(x|0));e=e+12|0;if((m|0)==(k[F>>2]|0)){Bd(oa,e);d=k[qa>>2]|0;break}else{k[m>>2]=k[e>>2];k[qa>>2]=d;break}}else d=m}else d=m;while(0);n=k[d+-4>>2]|0;v=x*3|0;q=v+2|0;f=k[X>>2]|0;w=k[f+12>>2]|0;k[w+(n<<2)>>2]=q;k[w+(q<<2)>>2]=n;p=v+1|0;k[w+(u<<2)>>2]=p;k[w+(p<<2)>>2]=u;if((n|0)>=0){d=(((n|0)%3|0|0)==0?2:-1)+n|0;if((d|0)>=0){w=k[f>>2]|0;e=k[w+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;k[w+(x*12|0)+(((v|0)%3|0)<<2)>>2]=e;if((e|0)>-1){m=f+24|0;g=f+28|0;f=k[g>>2]|0;d=k[m>>2]|0;h=f-d>>2;do if(h>>>0<=e>>>0){j=e+1|0;if(j>>>0>h>>>0){ho(m,j-h|0);d=k[m>>2]|0;break}if(j>>>0>>0?(U=d+(j<<2)|0,(f|0)!=(U|0)):0)k[g>>2]=f+(~((f+-4-U|0)>>>2)<<2)}while(0);k[d+(e<<2)>>2]=v;f=k[X>>2]|0;g=1}else g=0}else{k[(k[f>>2]|0)+(x*12|0)+(((v|0)%3|0)<<2)>>2]=-1073741824;e=-1073741824;g=0}d=n+1|0;d=((d|0)%3|0|0)==0?n+-2|0:d;if((d|0)<0){n=-1073741824;t=e;d=f}else{n=k[(k[f>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;t=e;d=f}}else{k[(k[f>>2]|0)+(x*12|0)+(((v|0)%3|0)<<2)>>2]=-1073741824;n=-1073741824;t=-1073741824;d=f;g=0}k[(k[d>>2]|0)+(((v|0)<-1?-1073741824:(p|0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=d+24|0;f=d+28|0;e=k[f>>2]|0;d=k[m>>2]|0;h=e-d>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){ho(m,j-h|0);d=k[m>>2]|0;break}if(j>>>0>>0?(V=d+(j<<2)|0,(e|0)!=(V|0)):0)k[f>>2]=e+(~((e+-4-V|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=p;d=k[X>>2]|0}p=(u|0)<0;if(!p?(C=(((u|0)%3|0|0)==0?2:-1)+u|0,(C|0)>=0):0)n=k[(k[d>>2]|0)+(((C|0)/3|0)*12|0)+(((C|0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[d>>2]|0)+(((v|0)<-2?-1073741824:(q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=d+24|0;f=d+28|0;e=k[f>>2]|0;d=k[m>>2]|0;h=e-d>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){ho(m,j-h|0);d=k[m>>2]|0;break}if(j>>>0>>0?(W=d+(j<<2)|0,(e|0)!=(W|0)):0)k[f>>2]=e+(~((e+-4-W|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=q}e:do if(!p?(y=u+1|0,y=((y|0)%3|0|0)==0?u+-2|0:y,(y|0)>=0):0){d=k[(k[k[X>>2]>>2]|0)+(((y|0)/3|0)*12|0)+(((y|0)%3|0)<<2)>>2]|0;e=k[X>>2]|0;p=t+1|0;if(g)n=y;else{g=k[e>>2]|0;h=e+12|0;f=y;while(1){k[g+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]=t;x=f+1|0;f=((x|0)%3|0|0)==0?f+-2|0:x;if((f|0)<0)break e;f=k[(k[h>>2]|0)+(f<<2)>>2]|0;if((f|0)<0)break e;x=f+1|0;f=((x|0)%3|0|0)==0?f+-2|0:x;if((f|0)<=-1)break e}}do{k[(k[e>>2]|0)+(((n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=t;j=e+24|0;m=e+28|0;f=k[m>>2]|0;e=k[j>>2]|0;g=f-e>>2;do if(g>>>0<=t>>>0){h=f;if(p>>>0>g>>>0){ho(j,p-g|0);e=k[j>>2]|0;break}if(p>>>0>=g>>>0)break;f=e+(p<<2)|0;if((h|0)==(f|0))break;k[m>>2]=h+(~((h+-4-f|0)>>>2)<<2)}while(0);k[e+(t<<2)>>2]=n;f=n+1|0;f=((f|0)%3|0|0)==0?n+-2|0:f;e=k[X>>2]|0;if((f|0)<0)break e;f=k[(k[e+12>>2]|0)+(f<<2)>>2]|0;if((f|0)<0)break e;n=f+1|0;n=((n|0)%3|0|0)==0?f+-2|0:n}while((n|0)>-1)}else da=142;while(0);if((da|0)==142){da=0;e=k[X>>2]|0;d=-1073741824}k[(k[e+24>>2]|0)+(d<<2)>>2]=-1073741824;k[(k[qa>>2]|0)+-4>>2]=v;break c}case 7:{j=x*3|0;k[ka>>2]=j;e=k[X>>2]|0;m=c+1|0;d=k[e>>2]|0;k[d+(x*12|0)+(((j|0)%3|0)<<2)>>2]=c;if((c|0)>-1){h=e+24|0;f=e+28|0;e=k[f>>2]|0;d=k[h>>2]|0;g=e-d>>2;do if(g>>>0<=c>>>0){if(m>>>0>g>>>0){ho(h,m-g|0);d=k[h>>2]|0;break}if(m>>>0>>0?(Y=d+(m<<2)|0,(e|0)!=(Y|0)):0)k[f>>2]=e+(~((e+-4-Y|0)>>>2)<<2)}while(0);k[d+(c<<2)>>2]=j;e=k[X>>2]|0;f=k[ka>>2]|0;d=k[e>>2]|0}else f=j;j=f+1|0;n=c+2|0;k[d+(((f|0)<-1?-1073741824:(j|0)/3|0)*12|0)+(((j|0)%3|0)<<2)>>2]=m;if((c|0)>-2){h=e+24|0;f=e+28|0;e=k[f>>2]|0;d=k[h>>2]|0;g=e-d>>2;do if(g>>>0<=m>>>0){if(n>>>0>g>>>0){ho(h,n-g|0);d=k[h>>2]|0;break}if(n>>>0>>0?(_=d+(n<<2)|0,(e|0)!=(_|0)):0)k[f>>2]=e+(~((e+-4-_|0)>>>2)<<2)}while(0);k[d+(m<<2)>>2]=j;e=k[X>>2]|0;f=k[ka>>2]|0;d=k[e>>2]|0}j=f+2|0;c=c+3|0;k[d+(((f|0)<-2?-1073741824:(j|0)/3|0)*12|0)+(((j|0)%3|0)<<2)>>2]=n;if((n|0)>-1){h=e+24|0;f=e+28|0;e=k[f>>2]|0;d=k[h>>2]|0;g=e-d>>2;do if(g>>>0<=n>>>0){if(c>>>0>g>>>0){ho(h,c-g|0);d=k[h>>2]|0;break}if(c>>>0>>0?($=d+(c<<2)|0,(e|0)!=($|0)):0)k[f>>2]=e+(~((e+-4-$|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=j}d=k[qa>>2]|0;if((d|0)==(k[F>>2]|0))Bd(oa,ka);else{k[d>>2]=k[ka>>2];k[qa>>2]=d+4}break}default:break c}g=b-x|0;h=g+-1|0;d=k[aa>>2]|0;if((d|0)!=(k[Z>>2]|0))do{e=k[d+-8>>2]|0;if((e|0)>=(g|0)){da=188;break b}if((e|0)!=(h|0))break c;x=i[d+-4>>0]&1;f=k[d+-12>>2]|0;k[aa>>2]=d+-12;d=k[(k[qa>>2]|0)+-4>>2]|0;e=(d|0)<0;do if(!(x<<24>>24)){if(!e)if(!((d|0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}else if(!e){x=d+1|0;d=((x|0)%3|0|0)==0?d+-2|0:x}while(0);k[ka>>2]=ba-f;x=io(pa,ka)|0;k[x>>2]=d;d=k[aa>>2]|0}while((d|0)!=(k[Z>>2]|0))}else da=14}while(0);if((da|0)==14){da=0;t=k[(k[qa>>2]|0)+-4>>2]|0;u=(t|0)<0;f:do if(!u){d=t+(((t|0)%3|0|0)==0?2:-1)|0;if((d|0)<0)da=16;else{g=k[X>>2]|0;f=k[g+12>>2]|0;while(1){e=k[f+(d<<2)>>2]|0;if((e|0)<=-1){p=0;e=g;break f}d=e+(((e|0)%3|0|0)==0?2:-1)|0;if((d|0)<0){p=1;e=g;break}}}}else{d=t;da=16}while(0);if((da|0)==16){da=0;e=k[X>>2]|0;p=1;f=k[e+12>>2]|0}v=x*3|0;q=v+1|0;k[f+(t<<2)>>2]=q;k[f+(q<<2)>>2]=t;w=v+2|0;k[f+(d<<2)>>2]=w;k[f+(w<<2)>>2]=d;if(!u?(z=t+1|0,z=((z|0)%3|0|0)==0?t+-2|0:z,(z|0)>=0):0){m=k[e>>2]|0;n=k[m+(((z|0)/3|0)*12|0)+(((z|0)%3|0)<<2)>>2]|0;k[m+(x*12|0)+(((v|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=e+24|0;g=e+28|0;f=k[g>>2]|0;e=k[m>>2]|0;h=f-e>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){ho(m,j-h|0);e=k[m>>2]|0;break}if(j>>>0>>0?(H=e+(j<<2)|0,(f|0)!=(H|0)):0)k[g>>2]=f+(~((f+-4-H|0)>>>2)<<2)}while(0);k[e+(n<<2)>>2]=v;e=k[X>>2]|0}}else{k[(k[e>>2]|0)+(x*12|0)+(((v|0)%3|0)<<2)>>2]=-1073741824;n=-1073741824}if(!p?(B=d+1|0,B=((B|0)%3|0|0)==0?d+-2|0:B,(B|0)>=0):0)m=k[(k[e>>2]|0)+(((B|0)/3|0)*12|0)+(((B|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[e>>2]|0)+(((v|0)<-1?-1073741824:(q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=e+24|0;f=e+28|0;e=k[f>>2]|0;d=k[j>>2]|0;g=e-d>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);d=k[j>>2]|0;break}if(h>>>0>>0?(L=d+(h<<2)|0,(e|0)!=(L|0)):0)k[f>>2]=e+(~((e+-4-L|0)>>>2)<<2)}while(0);k[d+(m<<2)>>2]=q;d=k[X>>2]|0}else d=e;if(!u?(E=(((t|0)%3|0|0)==0?2:-1)+t|0,(E|0)>=0):0)m=k[(k[d>>2]|0)+(((E|0)/3|0)*12|0)+(((E|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[d>>2]|0)+(((v|0)<-2?-1073741824:(w|0)/3|0)*12|0)+(((w|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=d+24|0;f=d+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){ho(j,h-g|0);d=k[j>>2]|0;break}if(h>>>0>>0?(M=d+(h<<2)|0,(e|0)!=(M|0)):0)k[f>>2]=e+(~((e+-4-M|0)>>>2)<<2)}while(0);k[d+(m<<2)>>2]=w}x=(k[G>>2]|0)+(n>>>5<<2)|0;k[x>>2]=k[x>>2]&~(1<<(n&31));k[(k[qa>>2]|0)+-4>>2]=v}if((P|0)<(b|0))x=P;else{s=P;ma=c;break}}if((da|0)==188)Aa(11155,11225,82,11276);c=k[qa>>2]|0;if((c|0)!=(k[oa>>2]|0)){t=a+316|0;u=a+8|0;v=a+136|0;w=a+64|0;x=a+68|0;y=a+72|0;z=a+80|0;A=a+84|0;B=a+76|0;C=a+312|0;D=a+304|0;E=a+308|0;g:while(1){b=c;m=k[b+-4>>2]|0;k[ka>>2]=m;k[qa>>2]=b+-4;do if(i[t>>0]|0){c=k[C>>2]|0;d=(k[D>>2]|0)+(c>>>3)|0;if(d>>>0<(k[E>>2]|0)>>>0?(b=l[d>>0]|0,k[C>>2]=c+1,b&1<<(c&7)|0):0){da=202;break}c=k[x>>2]|0;d=k[y>>2]|0;if((c|0)==(d<<5|0)){if((c+1|0)<0){da=260;break g}if(d<<5>>>0>1073741822)c=2147483647;else{b=d<<6;c=c+32&-32;c=b>>>0>>0?c:b}Cd(w,c);c=k[x>>2]|0}k[x>>2]=c+1;b=(k[w>>2]|0)+(c>>>5<<2)|0;k[b>>2]=k[b>>2]&~(1<<(c&31));c=k[z>>2]|0;if((c|0)==(k[A>>2]|0)){Bd(B,ka);d=s;break}else{k[c>>2]=m;k[z>>2]=c+4;d=s;break}}else da=202;while(0);if((da|0)==202){da=0;f=(m|0)<0;h:do if(!f){c=m+(((m|0)%3|0|0)==0?2:-1)|0;if((c|0)>=0){d=k[(k[u>>2]|0)+12>>2]|0;e=c;while(1){c=k[d+(e<<2)>>2]|0;if((c|0)<=-1){d=0;c=e;break}c=c+(((c|0)%3|0|0)==0?2:-1)|0;if((c|0)<0){d=1;break}else e=c}if(f){e=m;da=209;break}}else d=1;e=m+1|0;e=((e|0)%3|0|0)==0?m+-2|0:e;if((e|0)<0)da=209;else{f=k[u>>2]|0;g=k[f+12>>2]|0;h=e;while(1){e=k[g+(h<<2)>>2]|0;if((e|0)<=-1){j=d;q=0;p=h;break h}b=e+1|0;e=((b|0)%3|0|0)==0?e+-2|0:b;if((e|0)<0){j=d;q=1;p=e;break}else h=e}}}else{d=1;c=m;e=m;da=209}while(0);if((da|0)==209){da=0;f=k[u>>2]|0;j=d;q=1;g=k[f+12>>2]|0;p=e}d=s+1|0;e=s*3|0;k[la>>2]=e;k[g+(e<<2)>>2]=m;k[g+(m<<2)>>2]=e;b=e+1|0;k[g+(b<<2)>>2]=c;k[g+(c<<2)>>2]=b;b=e+2|0;k[g+(b<<2)>>2]=p;k[g+(p<<2)>>2]=b;if(!j?(ga=c+1|0,ga=((ga|0)%3|0|0)==0?c+-2|0:ga,(ga|0)>=0):0)n=k[(k[f>>2]|0)+(((ga|0)/3|0)*12|0)+(((ga|0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[f>>2]|0)+(((s|0)<0?-1073741824:s)*12|0)+(((e|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[m>>2]|0;h=f-c>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){ho(m,j-h|0);c=k[m>>2]|0;break}if(j>>>0>>0?(ha=c+(j<<2)|0,(f|0)!=(ha|0)):0)k[g>>2]=f+(~((f+-4-ha|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=e;e=k[la>>2]|0;f=k[u>>2]|0}n=e+1|0;if(!q?(fa=p+1|0,fa=((fa|0)%3|0|0)==0?p+-2|0:fa,(fa|0)>=0):0)m=k[(k[f>>2]|0)+(((fa|0)/3|0)*12|0)+(((fa|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[f>>2]|0)+(((e|0)<-1?-1073741824:(n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=f+24|0;f=f+28|0;e=k[f>>2]|0;c=k[j>>2]|0;g=e-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(ia=c+(h<<2)|0,(e|0)!=(ia|0)):0)k[f>>2]=e+(~((e+-4-ia|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=n;e=k[la>>2]|0;f=k[u>>2]|0}n=e+2|0;c=k[ka>>2]|0;if((c|0)>=0?(ea=c+1|0,ea=((ea|0)%3|0|0)==0?c+-2|0:ea,(ea|0)>=0):0)m=k[(k[f>>2]|0)+(((ea|0)/3|0)*12|0)+(((ea|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[f>>2]|0)+(((e|0)<-2?-1073741824:(n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=f+24|0;f=f+28|0;e=k[f>>2]|0;c=k[j>>2]|0;g=e-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(ja=c+(h<<2)|0,(e|0)!=(ja|0)):0)k[f>>2]=e+(~((e+-4-ja|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=n;f=k[la>>2]|0}else f=e;if((f|0)<0)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;e=k[v>>2]|0;b=e+(c>>>5<<2)|0;k[b>>2]=k[b>>2]&~(1<<(c&31));c=f+1|0;if((f|0)<-1)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;b=e+(c>>>5<<2)|0;k[b>>2]=k[b>>2]&~(1<<(c&31));c=f+2|0;if((f|0)<-2)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;e=e+(c>>>5<<2)|0;k[e>>2]=k[e>>2]&~(1<<(c&31));c=k[x>>2]|0;e=k[y>>2]|0;if((c|0)==(e<<5|0)){if((c+1|0)<0){da=248;break}if(e<<5>>>0>1073741822)c=2147483647;else{b=e<<6;c=c+32&-32;c=b>>>0>>0?c:b}Cd(w,c);c=k[x>>2]|0}k[x>>2]=c+1;b=(k[w>>2]|0)+(c>>>5<<2)|0;k[b>>2]=k[b>>2]|1<<(c&31);c=k[z>>2]|0;if((c|0)==(k[A>>2]|0))Bd(B,la);else{k[c>>2]=f;k[z>>2]=c+4}}c=k[qa>>2]|0;if((c|0)==(k[oa>>2]|0)){ra=ma;break a}else s=d}if((da|0)==248)yp(w);else if((da|0)==260)yp(w)}else ra=ma}else ra=0;while(0);g=a+88|0;c=a+92|0;f=k[c>>2]|0;e=k[g>>2]|0;d=f-e>>2;if(ra>>>0<=d>>>0){if(ra>>>0>>0?(na=e+(ra<<2)|0,(f|0)!=(na|0)):0)k[c>>2]=f+(~((f+-4-na|0)>>>2)<<2)}else mo(g,ra-d|0);c=k[pa+8>>2]|0;if(c|0)do{na=c;c=k[c>>2]|0;Ip(na)}while((c|0)!=0);c=k[pa>>2]|0;k[pa>>2]=0;if(c|0)Ip(c);c=k[oa>>2]|0;if(!c){r=sa;return ra|0}d=k[qa>>2]|0;if((d|0)!=(c|0))k[qa>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ip(c);r=sa;return ra|0}function ho(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;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)yp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;hq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;lq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Ip(j);return}function io(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;h=i;f=k[b>>2]|0;d=k[a+4>>2]|0;a:do if(d|0){e=d+-1|0;c=(e&d|0)==0;if(c)g=e&f;else g=(f>>>0)%(d>>>0)|0;b=k[(k[a>>2]|0)+(g<<2)>>2]|0;if(b|0)if(c){do{b=k[b>>2]|0;if(!b)break a;if((k[b+4>>2]&e|0)!=(g|0))break a}while((k[b+8>>2]|0)!=(f|0));a=b+12|0;r=i;return a|0}else{do{b=k[b>>2]|0;if(!b)break a;if((((k[b+4>>2]|0)>>>0)%(d>>>0)|0|0)!=(g|0))break a}while((k[b+8>>2]|0)!=(f|0));a=b+12|0;r=i;return a|0}}while(0);g=$p(16)|0;k[g+8>>2]=f;k[g+12>>2]=0;jo(h,a,g);a=k[h>>2]|0;a=a+12|0;r=i;return a|0}function jo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0;l=k[c+8>>2]|0;q=c+4|0;k[q>>2]=l;n=b+4|0;p=k[n>>2]|0;m=(p|0)==0;a:do if(!m){j=p+-1|0;f=(j&p|0)==0;if(f)e=j&l;else e=(l>>>0)%(p>>>0)|0;d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(d)if(f){while(1){d=k[d>>2]|0;if(!d)break a;if((k[d+4>>2]&j|0)!=(e|0))break a;if((k[d+8>>2]|0)==(l|0)){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){d=k[d>>2]|0;if(!d)break a;if((((k[d+4>>2]|0)>>>0)%(p>>>0)|0|0)!=(e|0))break a;if((k[d+8>>2]|0)==(l|0)){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(m|g>+(p>>>0)*h){if(p>>>0>2)d=(p+-1&p|0)==0;else d=0;f=(d&1|p<<1)^1;d=~~+ga(+(g/h))>>>0;ko(b,f>>>0>>0?d:f);f=k[n>>2]|0;d=k[q>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}else j=p;while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function ko(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=xp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){lo(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=xp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;lo(a,b);return}function lo(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)Ip(c);k[d>>2]=0;return}m=$p(b<<2)|0;c=k[a>>2]|0;k[a>>2]=m;if(c|0)Ip(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;l=b+-1|0;m=(l&b|0)==0;if(m)e=c&l;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[f>>2]|0;if(!c)return;else{g=f;d=f}a:while(1){b:do if(m){j=g;i=d;while(1){while(1){h=k[c+4>>2]&l;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((k[g>>2]|0)==(k[f+8>>2]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[j>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{j=d;i=d}}}else{j=g;i=d;while(1){while(1){h=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((k[g>>2]|0)==(k[f+8>>2]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[j>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{j=d;i=d}}}while(0);k[d>>2]=c;c=k[f>>2]|0;if(!c){c=32;break}else{g=f;d=f}}if((c|0)==32)return}function mo(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;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){hq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)yp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=$p(c<<2)|0;c=e}l=f+(d<<2)|0;hq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;lq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Ip(j);return}function no(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+32|0;s=u+8|0;n=u+4|0;o=u;c=k[b>>2]|0;k[s>>2]=c;m=a+8|0;do if((c|0)>=0){l=c+1|0;k[s+4>>2]=((l|0)%3|0|0)==0?c+-2|0:l;if(!((c|0)%3|0)){b=c+2|0;break}else{b=c+-1|0;break}}else{k[s+4>>2]=c;b=c}while(0);k[s+8>>2]=b;j=a+228|0;l=a+232|0;i=a+320|0;b=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)){f=0;do{do if(td((k[i>>2]|0)+(f<<4)|0)|0){a=k[j>>2]|0;k[o>>2]=c;d=a+(f*116|0)+108|0;e=k[d>>2]|0;if(e>>>0<(k[a+(f*116|0)+112>>2]|0)>>>0){k[e>>2]=c;k[d>>2]=e+4;break}else{De(a+(f*116|0)+104|0,o);break}}while(0);f=f+1|0}while(f>>>0<(((k[l>>2]|0)-(k[j>>2]|0)|0)/116|0)>>>0)}}else t=11;if((t|0)==11?(t=0,p=k[l>>2]|0,q=k[j>>2]|0,(p|0)!=(q|0)):0){a=q;d=p;h=0;do{e=a;k[n>>2]=c;f=e+(h*116|0)+108|0;g=k[f>>2]|0;if(g>>>0<(k[e+(h*116|0)+112>>2]|0)>>>0){k[g>>2]=c;k[f>>2]=g+4}else{De(e+(h*116|0)+104|0,n);a=k[j>>2]|0;d=k[l>>2]|0}h=h+1|0}while(h>>>0<((d-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;c=k[s+(b<<2)>>2]|0}r=u;return 1}function oo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=r;r=r+64|0;G=J+44|0;K=J+28|0;I=J+12|0;t=J+40|0;A=J+24|0;D=J;H=a+4|0;e=k[(k[H>>2]|0)+24>>2]|0;F=a+8|0;b=k[F>>2]|0;b=((k[b+4>>2]|0)-(k[b>>2]|0)|0)/12|0;c=e+80|0;e=e+84|0;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;h=k[e>>2]|0;g=k[c>>2]|0;f=(h-g|0)/12|0;if(b>>>0<=f>>>0){if(b>>>0>>0?(i=g+(b*12|0)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~(((h+-12-i|0)>>>0)/12|0)*12|0)}else po(c,b-f|0,G);y=a+228|0;z=a+232|0;if((k[z>>2]|0)==(k[y>>2]|0)){b=k[F>>2]|0;b=(k[b+28>>2]|0)-(k[b+24>>2]|0)|0;c=b>>2;k[K>>2]=0;p=K+4|0;k[p>>2]=0;k[K+8>>2]=0;do if(c)if(c>>>0>1073741823)yp(K);else{d=$p(b)|0;k[K>>2]=d;E=d+(c<<2)|0;k[K+8>>2]=E;hq(d|0,-1,b|0)|0;k[p>>2]=E;break}else d=0;while(0);e=k[H>>2]|0;b=k[e+24>>2]|0;f=k[b+84>>2]|0;c=k[b+80>>2]|0;if((f-c|0)>0){n=I+4|0;o=I+8|0;j=b;d=c;c=e;l=e;m=0;b=0;while(1){k[I>>2]=0;k[I+4>>2]=0;k[I+8>>2]=0;h=m*3|0;if((m|0)<0)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(m*12|0)+(((h|0)%3|0)<<2)>>2]|0;i=k[K>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;a=b;b=b+1|0}else a=g;k[I>>2]=a;e=h+1|0;if((h|0)<-1)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;g=b;b=b+1|0}k[n>>2]=g;e=h+2|0;if((h|0)<-2)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;g=b;b=b+1|0}k[o>>2]=g;h=j+80|0;g=j+84|0;e=(f-d|0)/12|0;i=m;m=m+1|0;do if((i|0)>=(e|0)){k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;if(m>>>0>e>>>0){po(h,m-e|0,G);c=k[H>>2]|0;d=k[h>>2]|0;e=c;break}if(m>>>0>>0?(q=d+(m*12|0)|0,(f|0)!=(q|0)):0){k[g>>2]=f+(~(((f+-12-q|0)>>>0)/12|0)*12|0);e=l}else e=l}else e=l;while(0);k[d+(i*12|0)>>2]=a;k[d+(i*12|0)+4>>2]=k[n>>2];k[d+(i*12|0)+8>>2]=k[o>>2];j=k[e+24>>2]|0;f=k[j+84>>2]|0;d=k[j+80>>2]|0;if((m|0)>=((f-d|0)/12|0|0))break;else l=e}d=k[K>>2]|0}else{c=e;b=0}k[(k[c+4>>2]|0)+64>>2]=b;b=d;if(d|0){c=k[p>>2]|0;if((c|0)!=(d|0))k[p>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ip(d)}r=J;return 1}k[K>>2]=0;E=K+4|0;k[E>>2]=0;k[K+8>>2]=0;b=k[F>>2]|0;q=k[b+4>>2]|0;s=k[b>>2]|0;c=q-s|0;d=((c|0)/12|0)*3|0;k[I>>2]=0;B=I+4|0;k[B>>2]=0;k[I+8>>2]=0;do if((q|0)!=(s|0))if(d>>>0>1073741823)yp(I);else{s=$p(c)|0;k[I>>2]=s;j=s+(d<<2)|0;k[I+8>>2]=j;hq(s|0,0,c|0)|0;k[B>>2]=j;j=k[F>>2]|0;break}else j=b;while(0);a:do if(((k[j+28>>2]|0)-(k[j+24>>2]|0)|0)>0){q=a+136|0;s=K+8|0;p=0;b:while(1){f=k[(k[j+24>>2]|0)+(p<<2)>>2]|0;if((f|0)>=0){c:do if((k[(k[q>>2]|0)+(p>>>5<<2)>>2]&1<<(p&31)|0)==0?(u=k[z>>2]|0,v=k[y>>2]|0,w=v,(u|0)!=(v|0)):0){g=(f|0)/3|0;h=(f|0)%3|0;e=((h|0)==0?2:-1)+f|0;i=(e|0)<0;a=(u-v|0)/116|0;l=j+12|0;m=j+12|0;o=0;d:while(1){n=k[(k[k[w+(o*116|0)+68>>2]>>2]|0)+(g*12|0)+(h<<2)>>2]|0;if(1<<(n&31)&k[(k[w+(o*116|0)+16>>2]|0)+(n>>>5<<2)>>2]|0){n=k[w+(o*116|0)+32>>2]|0;d=k[n+(f<<2)>>2]|0;do if(!i){c=k[(k[l>>2]|0)+(e<<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=e;while(0);if((c|0)!=(f|0))do{b=k[n+(c<<2)>>2]|0;if((c|0)<0)break d;if((b|0)!=(d|0))break c;c=(((c|0)%3|0|0)==0?2:-1)+c|0;do if((c|0)>=0){c=k[(k[m>>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)}while((c|0)!=(f|0))}o=o+1|0;if(o>>>0>=a>>>0){c=f;break c}}while(1)if((b|0)==(d|0))b=d;else break}else c=f;while(0);b=k[E>>2]|0;k[(k[I>>2]|0)+(c<<2)>>2]=b-(k[K>>2]|0)>>2;k[t>>2]=c;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=c;k[E>>2]=b+4;b=j}else{De(K,t);b=k[F>>2]|0}do if((c|0)>=0){f=(((c|0)%3|0|0)==0?2:-1)+c|0;if((f|0)>=0){f=k[(k[b+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=c;while(0);if((f|0)>-1&(f|0)!=(c|0)){b=c;while(1){if((f|0)<0)break b;d=k[z>>2]|0;e=k[y>>2]|0;g=e;e:do if((d|0)!=(e|0)){d=(d-e|0)/116|0;e=0;while(1){o=k[g+(e*116|0)+32>>2]|0;e=e+1|0;if((k[o+(f<<2)>>2]|0)!=(k[o+(b<<2)>>2]|0))break;if(e>>>0>=d>>>0){x=87;break e}}b=k[E>>2]|0;k[(k[I>>2]|0)+(f<<2)>>2]=b-(k[K>>2]|0)>>2;k[A>>2]=f;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=f;k[E>>2]=b+4;break}else{De(K,A);break}}else x=87;while(0);if((x|0)==87){x=0;o=k[I>>2]|0;k[o+(f<<2)>>2]=k[o+(b<<2)>>2]}b=(((f|0)%3|0|0)==0?2:-1)+f|0;do if((b|0)>=0){b=k[(k[(k[F>>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}}while(0);if((b|0)>-1&(b|0)!=(c|0)){o=f;f=b;b=o}else break}}}p=p+1|0;j=k[F>>2]|0;if((p|0)>=((k[j+28>>2]|0)-(k[j+24>>2]|0)>>2|0))break a}f:while(1){c=k[z>>2]|0;d=k[y>>2]|0;e=d;g:do if((c|0)!=(d|0)){c=(c-d|0)/116|0;d=0;while(1){J=k[e+(d*116|0)+32>>2]|0;d=d+1|0;if((k[J+(f<<2)>>2]|0)!=(k[J+(b<<2)>>2]|0))break;if(d>>>0>=c>>>0)break g}b=k[E>>2]|0;k[(k[I>>2]|0)+(f<<2)>>2]=b-(k[K>>2]|0)>>2;k[A>>2]=f;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=f;k[E>>2]=b+4;b=f;continue f}else{De(K,A);b=f;continue f}}while(0);J=k[I>>2]|0;k[J+(f<<2)>>2]=k[J+(b<<2)>>2];b=f}}while(0);c=k[H>>2]|0;b=k[c+24>>2]|0;e=k[b+84>>2]|0;d=k[b+80>>2]|0;if((e-d|0)>0){j=D+4|0;l=D+8|0;i=c;f=c;a=0;while(1){k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;g=(k[I>>2]|0)+(a*3<<2)|0;k[D>>2]=k[g>>2];k[D+4>>2]=k[g+4>>2];k[D+8>>2]=k[g+8>>2];g=b+80|0;b=b+84|0;c=(e-d|0)/12|0;h=a;a=a+1|0;do if((h|0)>=(c|0)){k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;if(a>>>0>c>>>0){po(g,a-c|0,G);c=k[H>>2]|0;d=k[g>>2]|0;f=c;break}if(a>>>0>>0?(C=d+(a*12|0)|0,(e|0)!=(C|0)):0){k[b>>2]=e+(~(((e+-12-C|0)>>>0)/12|0)*12|0);c=i}else c=i}else c=i;while(0);k[d+(h*12|0)>>2]=k[D>>2];k[d+(h*12|0)+4>>2]=k[j>>2];k[d+(h*12|0)+8>>2]=k[l>>2];b=k[f+24>>2]|0;e=k[b+84>>2]|0;d=k[b+80>>2]|0;if((a|0)>=((e-d|0)/12|0|0))break;else i=c}}b=k[K>>2]|0;k[(k[c+4>>2]|0)+64>>2]=(k[E>>2]|0)-b>>2;c=k[I>>2]|0;d=c;if(c){b=k[B>>2]|0;if((b|0)!=(c|0))k[B>>2]=b+(~((b+-4-d|0)>>>2)<<2);Ip(c);b=k[K>>2]|0}c=b;if(b|0){d=k[E>>2]|0;if((d|0)!=(b|0))k[E>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ip(b)}r=J;return 1}function po(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;e=k[i>>2]|0;j=a+4|0;d=k[j>>2]|0;if(((e-d|0)/12|0)>>>0>=b>>>0){do{k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];k[d+8>>2]=k[c+8>>2];d=(k[j>>2]|0)+12|0;k[j>>2]=d;b=b+-1|0}while((b|0)!=0);return}g=k[a>>2]|0;f=((d-g|0)/12|0)+b|0;if(f>>>0>357913941)yp(a);d=(e-g|0)/12|0;if(d>>>0<178956970){d=d<<1;d=d>>>0>>0?f:d;e=((k[j>>2]|0)-g|0)/12|0;if(!d){g=0;f=0;d=e}else h=9}else{d=357913941;e=((k[j>>2]|0)-g|0)/12|0;h=9}if((h|0)==9){g=d;f=$p(d*12|0)|0;d=e}h=f+(d*12|0)|0;f=f+(g*12|0)|0;e=h;d=h;do{k[e>>2]=k[c>>2];k[e+4>>2]=k[c+4>>2];k[e+8>>2]=k[c+8>>2];e=d+12|0;d=e;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;g=(k[j>>2]|0)-b|0;c=h+(((g|0)/-12|0)*12|0)|0;lq(c|0,b|0,g|0)|0;k[a>>2]=c;k[j>>2]=d;k[i>>2]=f;if(!b)return;Ip(b);return}function qo(a){a=a|0;return 1}function ro(a){a=a|0;return k[a+4>>2]|0}function so(a){a=a|0;return k[a+8>>2]|0}function to(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4672;rd(a+352|0);b=k[a+340>>2]|0;c=b;if(b|0){d=a+344|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}e=a+320|0;c=k[e>>2]|0;k[e>>2]=0;if(c|0){d=c+-4|0;b=k[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;rd(b)}while((b|0)!=(c|0))}cq(d)}Ng(a+304|0);Ng(a+264|0);uo(a+228|0);b=k[a+212>>2]|0;c=b;if(b|0){d=a+216|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+200>>2]|0;c=b;if(b|0){d=a+204|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+188>>2]|0;c=b;if(b|0){d=a+192|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+176>>2]|0;c=b;if(b|0){d=a+180|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+160>>2]|0;if(b|0)do{e=b;b=k[b>>2]|0;Ip(e)}while((b|0)!=0);e=a+152|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)Ip(b);b=k[a+136>>2]|0;if(b|0)Ip(b);b=k[a+124>>2]|0;if(b|0)Ip(b);b=k[a+112>>2]|0;if(b|0)Ip(b);b=k[a+88>>2]|0;c=b;if(b|0){d=a+92|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}e=k[a+76>>2]|0;b=e;if(e|0){c=a+80|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Ip(e)}b=k[a+64>>2]|0;if(b|0)Ip(b);b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+36>>2]|0;c=b;if(b|0){d=a+40|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);Ip(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(b)}a=a+8|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Fd(b);Ip(b);return}function uo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a>>2]|0;if(!b)return;h=a+4|0;c=k[h>>2]|0;if((c|0)!=(b|0)){do{k[h>>2]=c+-116;g=k[c+-12>>2]|0;d=g;if(g|0){e=c+-8|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(g)}d=k[c+-28>>2]|0;e=d;if(d|0){f=c+-24|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ip(d)}d=k[c+-40>>2]|0;e=d;if(d|0){f=c+-36|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Ip(d)}tn(c+-112|0);c=k[h>>2]|0}while((c|0)!=(b|0));b=k[a>>2]|0}Ip(b);return}function vo(a){a=a|0;to(a);Ip(a);return}function wo(a,b){a=a|0;b=b|0;k[a+4>>2]=b;return 1}function xo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;h=d;if((c|0)==(d|0)){j=0;return j|0}g=k[(k[a+4>>2]|0)+8>>2]|0;e=(c-d|0)/116|0;a=0;a:while(1){c=k[g+(k[h+(a*116|0)>>2]<<2)>>2]|0;f=k[c+4>>2]|0;c=(k[c+8>>2]|0)-f|0;if((c|0)>0){c=c>>2;d=0;do{if((k[f+(d<<2)>>2]|0)==(b|0))break a;d=d+1|0}while((d|0)<(c|0))}a=a+1|0;if(a>>>0>=e>>>0){a=0;j=9;break}}if((j|0)==9)return a|0;j=(i[h+(a*116|0)+72>>0]|0)==0?0:h+(a*116|0)+4|0;return j|0}function yo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;i=d;a:do if((c|0)!=(d|0)){h=k[(k[a+4>>2]|0)+8>>2]|0;f=(c-d|0)/116|0;c=0;b:while(1){d=k[h+(k[i+(c*116|0)>>2]<<2)>>2]|0;g=k[d+4>>2]|0;d=(k[d+8>>2]|0)-g|0;if((d|0)>0){d=d>>2;e=0;do{if((k[g+(e<<2)>>2]|0)==(b|0))break b;e=e+1|0}while((e|0)<(d|0))}c=c+1|0;if(c>>>0>=f>>>0)break a}i=i+(c*116|0)+76|0;return i|0}while(0);i=a+200|0;return i|0}function zo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+208|0;t=z+168|0;v=z+36|0;u=z;p=z+136|0;q=z+104|0;w=z+32|0;x=a+4|0;l=k[x>>2]|0;c=k[l+20>>2]|0;f=c+8|0;e=k[f>>2]|0;f=k[f+4>>2]|0;g=c+16|0;j=g;h=k[j>>2]|0;j=k[j+4>>2]|0;if(!((f|0)>(j|0)|(f|0)==(j|0)&e>>>0>h>>>0)){b=0;r=z;return b|0}c=k[c>>2]|0;m=i[c+h>>0]|0;d=jq(h|0,j|0,1,0)|0;s=L;o=g;k[o>>2]=d;k[o+4>>2]=s;if(!((f|0)>(s|0)|(f|0)==(s|0)&e>>>0>d>>>0)){b=0;r=z;return b|0}c=i[c+d>>0]|0;o=jq(h|0,j|0,2,0)|0;s=g;k[s>>2]=o;k[s+4>>2]=L;if(m<<24>>24>-1)k[(k[a+228>>2]|0)+((m<<24>>24)*116|0)>>2]=b;s=k[l+24>>2]|0;if(!(c<<24>>24)){if(m<<24>>24<0)g=a+200|0;else{g=m<<24>>24;q=k[a+228>>2]|0;i[q+(g*116|0)+72>>0]=0;g=q+(g*116|0)+76|0}c=$p(88)|0;k[c+4>>2]=0;k[c>>2]=4580;h=c+12|0;k[h>>2]=4604;j=c+64|0;k[j>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;f=c+16|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));k[c+76>>2]=s;k[c+80>>2]=g;k[c+84>>2]=0;n=v+4|0;k[n>>2]=4604;l=v+56|0;k[l>>2]=0;o=v+60|0;k[o>>2]=0;k[v+64>>2]=0;f=v+8|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));e=k[a+8>>2]|0;k[u>>2]=4604;d=u+4|0;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;f=e;k[d>>2]=f;f=((k[f+4>>2]|0)-(k[e>>2]|0)|0)/12|0;i[t>>0]=0;Cg(u+8|0,f,t);ab[k[(k[u>>2]|0)+8>>2]&127](u);In(p,u);In(t,p);k[v>>2]=k[t+4>>2];f=v+4|0;Ln(f,t)|0;k[t>>2]=4604;d=k[t+20>>2]|0;if(d|0)Ip(d);d=k[t+8>>2]|0;if(d|0)Ip(d);k[v+36>>2]=e;k[v+40>>2]=g;k[v+44>>2]=s;k[v+48>>2]=c;k[p>>2]=4604;d=k[p+20>>2]|0;if(d|0)Ip(d);d=k[p+8>>2]|0;if(d|0)Ip(d);k[c+8>>2]=k[v>>2];Ln(h,f)|0;d=c+44|0;t=v+36|0;k[d>>2]=k[t>>2];k[d+4>>2]=k[t+4>>2];k[d+8>>2]=k[t+8>>2];k[d+12>>2]=k[t+12>>2];i[d+16>>0]=i[t+16>>0]|0;Mn(j,k[l>>2]|0,k[o>>2]|0);k[u>>2]=4604;d=k[u+20>>2]|0;if(d|0)Ip(d);d=k[u+8>>2]|0;if(d|0)Ip(d);d=k[l>>2]|0;e=d;if(d|0){f=k[o>>2]|0;if((f|0)!=(d|0))k[o>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}k[n>>2]=4604;d=k[v+24>>2]|0;if(d|0)Ip(d);d=k[v+12>>2]|0;if(d|0)Ip(d)}else{c=$p(88)|0;e=m<<24>>24;d=k[a+228>>2]|0;g=d+(e*116|0)+76|0;k[c+4>>2]=0;k[c>>2]=4628;h=c+12|0;k[h>>2]=4652;j=c+64|0;k[j>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;f=c+16|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));k[c+76>>2]=s;k[c+80>>2]=g;k[c+84>>2]=0;n=v+4|0;k[n>>2]=4652;l=v+56|0;k[l>>2]=0;o=v+60|0;k[o>>2]=0;k[v+64>>2]=0;f=v+8|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));f=d+(e*116|0)+4|0;k[u>>2]=4652;p=u+4|0;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;k[p+24>>2]=0;k[p>>2]=f;e=k[d+(e*116|0)+68>>2]|0;e=((k[e+4>>2]|0)-(k[e>>2]|0)|0)/12|0;i[t>>0]=0;Cg(u+8|0,e,t);ab[k[(k[u>>2]|0)+8>>2]&127](u);Wn(q,u);Wn(t,q);k[v>>2]=k[t+4>>2];e=v+4|0;Xn(e,t)|0;k[t>>2]=4652;d=k[t+20>>2]|0;if(d|0)Ip(d);d=k[t+8>>2]|0;if(d|0)Ip(d);k[v+36>>2]=f;k[v+40>>2]=g;k[v+44>>2]=s;k[v+48>>2]=c;k[q>>2]=4652;d=k[q+20>>2]|0;if(d|0)Ip(d);d=k[q+8>>2]|0;if(d|0)Ip(d);k[c+8>>2]=k[v>>2];Xn(h,e)|0;d=c+44|0;t=v+36|0;k[d>>2]=k[t>>2];k[d+4>>2]=k[t+4>>2];k[d+8>>2]=k[t+8>>2];k[d+12>>2]=k[t+12>>2];i[d+16>>0]=i[t+16>>0]|0;Mn(j,k[l>>2]|0,k[o>>2]|0);k[u>>2]=4652;d=k[u+20>>2]|0;if(d|0)Ip(d);d=k[u+8>>2]|0;if(d|0)Ip(d);d=k[l>>2]|0;e=d;if(d|0){f=k[o>>2]|0;if((f|0)!=(d|0))k[o>>2]=f+(~((f+-4-e|0)>>>2)<<2);Ip(d)}k[n>>2]=4652;d=k[v+24>>2]|0;if(d|0)Ip(d);d=k[v+12>>2]|0;if(d|0)Ip(d)}j=$p(52)|0;k[w>>2]=c;Ck(j,w);c=k[w>>2]|0;k[w>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);h=k[x>>2]|0;g=h+8|0;h=h+12|0;c=k[h>>2]|0;d=k[g>>2]|0;e=c-d>>2;do if(e>>>0<=b>>>0){f=b+1|0;if(f>>>0>e>>>0){Kk(g,f-e|0);break}if(f>>>0>>0?(y=d+(f<<2)|0,(c|0)!=(y|0)):0)do{x=c+-4|0;k[h>>2]=x;c=k[x>>2]|0;k[x>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[h>>2]|0}while((c|0)!=(y|0))}while(0);b=(k[g>>2]|0)+(b<<2)|0;c=k[b>>2]|0;k[b>>2]=j;if(!c){b=1;r=z;return b|0}ab[k[(k[c>>2]|0)+4>>2]&127](c);b=1;r=z;return b|0}function Ao(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+96|0;w=B+88|0;q=B+92|0;A=B+40|0;z=B;t=B+84|0;x=B+80|0;o=a+148|0;k[o>>2]=0;e=a+164|0;if(k[e>>2]|0){c=a+160|0;b=k[c>>2]|0;if(b|0)do{y=b;b=k[b>>2]|0;Ip(y)}while((b|0)!=0);k[c>>2]=0;b=k[a+156>>2]|0;if(b|0){c=a+152|0;d=0;do{k[(k[c>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(b|0))}k[e>>2]=0}s=a+4|0;b=k[(k[s>>2]|0)+20>>2]|0;m=b+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;n=b+16|0;g=n;f=k[g>>2]|0;g=k[g+4>>2]|0;d=jq(f|0,g|0,4,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){A=0;r=B;return A|0}h=k[b>>2]|0;e=h+f|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;b=n;k[b>>2]=d;k[b+4>>2]=c;k[o>>2]=e;e=jq(f|0,g|0,8,0)|0;b=L;if((m|0)<(b|0)|(m|0)==(b|0)&j>>>0>>0){A=0;r=B;return A|0}c=h+d|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;p=n;k[p>>2]=e;k[p+4>>2]=b;p=a+172|0;k[p>>2]=c;b=jq(f|0,g|0,12,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){A=0;r=B;return A|0}j=h+e|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;d=n;k[d>>2]=b;k[d+4>>2]=c;b=k[a+24>>2]|0;c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);y=a+8|0;b=$p(60)|0;zd(b);c=k[y>>2]|0;k[y>>2]=b;if(c){Fd(c);Ip(c);b=k[y>>2]|0;if(!b){A=0;r=B;return A|0}}Gd(b,j);f=a+176|0;g=k[f>>2]|0;h=a+180|0;b=k[h>>2]|0;c=g;if((b|0)!=(g|0)){b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[h>>2]=b}e=a+184|0;if((k[e>>2]|0)-c>>2>>>0>>0){b=b-c|0;c=b>>2;if(!j)d=0;else d=$p(j<<2)|0;v=d+(c<<2)|0;u=v+(0-c<<2)|0;lq(u|0,g|0,b|0)|0;k[f>>2]=u;k[h>>2]=v;k[e>>2]=d+(j<<2);if(g|0)Ip(g)}f=a+188|0;g=k[f>>2]|0;h=a+192|0;b=k[h>>2]|0;c=g;if((b|0)!=(g|0)){b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[h>>2]=b}e=a+196|0;if((k[e>>2]|0)-c>>2>>>0>>0){b=b-c|0;c=b>>2;if(!j)d=0;else d=$p(j<<2)|0;v=d+(c<<2)|0;u=v+(0-c<<2)|0;lq(u|0,g|0,b|0)|0;k[f>>2]=u;k[h>>2]=v;k[e>>2]=d+(j<<2);if(g|0)Ip(g)}b=k[a+36>>2]|0;c=a+40|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);b=k[a+48>>2]|0;c=a+52|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+68>>2]=0;b=k[a+76>>2]|0;c=a+80|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+60>>2]=0;k[a+100>>2]=-1;k[a+108>>2]=-1;k[a+104>>2]=-1;b=k[(k[s>>2]|0)+20>>2]|0;v=b+8|0;u=k[v+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((u|0)>(e|0)|((u|0)==(e|0)?(k[v>>2]|0)>>>0>d>>>0:0))){A=0;r=B;return A|0}h=i[(k[b>>2]|0)+d>>0]|0;g=jq(d|0,e|0,1,0)|0;u=c;k[u>>2]=g;k[u+4>>2]=L;u=a+228|0;g=k[u>>2]|0;v=a+232|0;b=k[v>>2]|0;if((b|0)!=(g|0))do{k[v>>2]=b+-116;c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}tn(b+-112|0);b=k[v>>2]|0}while((b|0)!=(g|0));o=h<<24>>24;Bo(u,o);b=k[(k[s>>2]|0)+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=k[d+4>>2]|0;m=jq(c|0,d|0,4,0)|0;e=L;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){A=0;r=B;return A|0}f=k[b>>2]|0;n=f+c|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;b=j;k[b>>2]=m;k[b+4>>2]=e;b=jq(c|0,d|0,8,0)|0;c=L;if((h|0)<(c|0)|(h|0)==(c|0)&g>>>0>>0){A=0;r=B;return A|0}m=f+m|0;m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;h=j;k[h>>2]=b;k[h+4>>2]=c;h=a+136|0;b=(k[p>>2]|0)+m|0;i[q>>0]=1;Cg(h,b,q);b=k[(k[s>>2]|0)+20>>2]|0;m=b+8|0;q=k[m>>2]|0;m=k[m+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=jq(d|0,k[e+4>>2]|0,4,0)|0;f=L;if((m|0)<(f|0)|(m|0)==(f|0)&q>>>0>>0)b=0;else{b=(k[b>>2]|0)+d|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;q=c;k[q>>2]=e;k[q+4>>2]=f}Og(A);m=k[(k[s>>2]|0)+20>>2]|0;g=m+16|0;f=k[g>>2]|0;q=(k[m>>2]|0)+f+b|0;m=m+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;b=jq(f|0,k[g+4>>2]|0,b|0,0)|0;b=gq(j|0,m|0,b|0,L|0)|0;Pg(A,q,b);b=Fo(a,A)|0;if((b|0)==-1)b=0;else{c=a+240|0;k[a+328>>2]=a;m=(cb[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;m=k[m>>2]|0;j=k[m>>2]|0;m=k[m+16>>2]|0;q=(cb[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;q=k[q>>2]|0;g=q+8|0;q=q+16|0;q=gq(k[g>>2]|0,k[g+4>>2]|0,k[q>>2]|0,k[q+4>>2]|0)|0;Pg(c,j+m|0,q);q=cb[k[(k[a>>2]|0)+36>>2]&127](a)|0;k[a+332>>2]=q;k[a+336>>2]=k[p>>2];k[a+324>>2]=o;Go(z,c);if((Ho(a,n)|0)==-1)b=0;else{o=k[(k[s>>2]|0)+20>>2]|0;q=z+16|0;n=k[q>>2]|0;p=(k[z>>2]|0)+n|0;m=z+8|0;q=gq(k[m>>2]|0,k[m+4>>2]|0,n|0,k[q+4>>2]|0)|0;Pg(o,p,q);s=(k[(k[s>>2]|0)+20>>2]|0)+16|0;q=s;q=jq(k[q>>2]|0,k[q+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[s>>2]=q;k[s+4>>2]=L;do if((k[v>>2]|0)!=(k[u>>2]|0)){s=k[y>>2]|0;if(((k[s+4>>2]|0)-(k[s>>2]|0)|0)<=0)break;b=0;do{k[t>>2]=b;k[w>>2]=k[t>>2];Jo(a,w)|0;b=b+3|0;s=k[y>>2]|0}while((b|0)<((((k[s+4>>2]|0)-(k[s>>2]|0)|0)/12|0)*3|0))}while(0);Rg(c);Rg(a+280|0);c=k[y>>2]|0;f=k[c+28>>2]|0;g=k[c+24>>2]|0;q=g;if((f-g|0)>0){j=k[h>>2]|0;m=f-g>>2;n=c+12|0;p=0;do{do if(k[j+(p>>>5<<2)>>2]&1<<(p&31)|0){o=q+(p<<2)|0;b=k[o>>2]|0;if((b|0)<0)break;d=b+1|0;d=((d|0)%3|0|0)==0?b+-2|0:d;if((d|0)>=0){h=k[n>>2]|0;d=k[h+(d<<2)>>2]|0;a:do if((d|0)<0)e=b;else{t=d+1|0;d=((t|0)%3|0|0)==0?d+-2|0:t;if((d|0)>-1&(d|0)!=(b|0))e=d;else{e=b;break}while(1){d=e+1|0;d=((d|0)%3|0|0)==0?e+-2|0:d;if((d|0)<0)break a;d=k[h+(d<<2)>>2]|0;if((d|0)<0)break a;t=d+1|0;d=((t|0)%3|0|0)==0?d+-2|0:t;if((d|0)>-1&(d|0)!=(b|0))e=d;else break}}while(0);if((d|0)==(b|0))break;else b=e}k[o>>2]=b}while(0);p=p+1|0}while((p|0)<(m|0))}d=k[v>>2]|0;t=k[u>>2]|0;b=t;if((d|0)==(t|0))c=d;else{f=0;do{Bg(b+(f*116|0)+4|0,c)|0;b=k[u>>2]|0;c=k[b+(f*116|0)+104>>2]|0;d=k[b+(f*116|0)+108>>2]|0;if((c|0)!=(d|0))do{k[x>>2]=k[c>>2];k[w>>2]=k[x>>2];Jg(b+(f*116|0)+4|0,w);c=c+4|0;b=k[u>>2]|0}while((c|0)!=(d|0));Ig(b+(f*116|0)+4|0,0,0);f=f+1|0;d=k[v>>2]|0;e=k[u>>2]|0;b=e;c=k[y>>2]|0}while(f>>>0<((d-e|0)/116|0)>>>0);g=k[c+24>>2]|0;f=k[c+28>>2]|0;c=e}e=f-g>>2;f=a+212|0;j=a+216|0;m=k[j>>2]|0;h=k[f>>2]|0;g=m-h>>2;do if(e>>>0>g>>>0){Wg(f,e-g|0);b=k[u>>2]|0;d=k[v>>2]|0;c=b}else{if(e>>>0>=g>>>0)break;e=h+(e<<2)|0;if((m|0)==(e|0))break;k[j>>2]=m+(~((m+-4-e|0)>>>2)<<2)}while(0);if((d|0)!=(c|0)){m=0;while(1){f=(k[b+(m*116|0)+60>>2]|0)-(k[b+(m*116|0)+56>>2]|0)>>2;g=k[y>>2]|0;g=(k[g+28>>2]|0)-(k[g+24>>2]|0)>>2;f=(f|0)<(g|0)?g:f;g=b+(m*116|0)+88|0;h=b+(m*116|0)+92|0;j=k[h>>2]|0;e=k[g>>2]|0;b=j-e>>2;do if(f>>>0>b>>>0){Wg(g,f-b|0);c=k[u>>2]|0;d=k[v>>2]|0}else{if(f>>>0>=b>>>0)break;b=e+(f<<2)|0;if((j|0)==(b|0))break;k[h>>2]=j+(~((j+-4-b|0)>>>2)<<2)}while(0);m=m+1|0;if(m>>>0>=((d-c|0)/116|0)>>>0)break;else b=c}}Ko(a)|0;b=1}Ng(z+24|0)}Ng(A+24|0);A=b;r=B;return A|0}function Bo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=a+4|0;e=k[g>>2]|0;c=k[a>>2]|0;d=(e-c|0)/116|0;if(d>>>0>>0){Co(a,b-d|0);return}if(d>>>0<=b>>>0)return;f=c+(b*116|0)|0;if((e|0)==(f|0))return;do{k[g>>2]=e+-116;c=k[e+-12>>2]|0;d=c;if(c|0){b=e+-8|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Ip(c)}c=k[e+-28>>2]|0;d=c;if(c|0){b=e+-24|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Ip(c)}c=k[e+-40>>2]|0;d=c;if(c|0){b=e+-36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Ip(c)}tn(e+-112|0);e=k[g>>2]|0}while((e|0)!=(f|0));return}function Co(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;o=r;r=r+32|0;m=o;l=a+8|0;d=k[l>>2]|0;n=a+4|0;c=k[n>>2]|0;if(((d-c|0)/116|0)>>>0>=b>>>0){do{k[c>>2]=-1;Ag(c+4|0);i[c+72>>0]=1;e=c+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c=(k[n>>2]|0)+116|0;k[n>>2]=c;b=b+-1|0}while((b|0)!=0);r=o;return}f=k[a>>2]|0;e=((c-f|0)/116|0)+b|0;if(e>>>0>37025580)yp(a);c=(d-f|0)/116|0;if(c>>>0<18512790){j=c<<1;e=j>>>0>>0?e:j}else e=37025580;c=((k[n>>2]|0)-f|0)/116|0;k[m+12>>2]=0;k[m+16>>2]=a+8;if(!e)d=0;else d=$p(e*116|0)|0;k[m>>2]=d;c=d+(c*116|0)|0;g=m+8|0;k[g>>2]=c;h=m+4|0;k[h>>2]=c;j=m+12|0;k[j>>2]=d+(e*116|0);d=c;do{k[d>>2]=-1;Ag(d+4|0);i[d+72>>0]=1;e=d+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));d=d+116|0;k[g>>2]=d;b=b+-1|0}while((b|0)!=0);d=k[a>>2]|0;b=k[n>>2]|0;if((b|0)!=(d|0)){do{c=c+-116|0;b=b+-116|0;Do(c,b)}while((b|0)!=(d|0));k[h>>2]=c;d=k[a>>2]|0;b=k[n>>2]|0}k[a>>2]=c;k[h>>2]=d;k[n>>2]=k[g>>2];k[g>>2]=b;n=k[l>>2]|0;k[l>>2]=k[j>>2];k[j>>2]=n;k[m>>2]=k[h>>2];Eo(m);r=o;return}function Do(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;k[a>>2]=k[b>>2];c=b+4|0;k[a+4>>2]=k[c>>2];d=b+8|0;k[a+8>>2]=k[d>>2];e=b+12|0;k[a+12>>2]=k[e>>2];k[c>>2]=0;k[d>>2]=0;k[e>>2]=0;e=b+16|0;k[a+16>>2]=k[e>>2];d=b+20|0;k[a+20>>2]=k[d>>2];c=b+24|0;k[a+24>>2]=k[c>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;i[a+28>>0]=i[b+28>>0]|0;c=a+32|0;d=b+32|0;k[c>>2]=0;e=a+36|0;k[e>>2]=0;k[a+40>>2]=0;k[c>>2]=k[d>>2];c=b+36|0;k[e>>2]=k[c>>2];e=b+40|0;k[a+40>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;d=a+44|0;c=b+44|0;k[d>>2]=0;e=a+48|0;k[e>>2]=0;k[a+52>>2]=0;k[d>>2]=k[c>>2];d=b+48|0;k[e>>2]=k[d>>2];e=b+52|0;k[a+52>>2]=k[e>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;c=a+56|0;d=b+56|0;k[c>>2]=0;e=a+60|0;k[e>>2]=0;k[a+64>>2]=0;k[c>>2]=k[d>>2];c=b+60|0;k[e>>2]=k[c>>2];e=b+64|0;k[a+64>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;k[a+68>>2]=k[b+68>>2];i[a+72>>0]=i[b+72>>0]|0;d=a+76|0;c=b+76|0;k[d>>2]=0;e=a+80|0;k[e>>2]=0;k[a+84>>2]=0;k[d>>2]=k[c>>2];d=b+80|0;k[e>>2]=k[d>>2];e=b+84|0;k[a+84>>2]=k[e>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;c=a+88|0;d=b+88|0;k[c>>2]=0;e=a+92|0;k[e>>2]=0;k[a+96>>2]=0;k[c>>2]=k[d>>2];c=b+92|0;k[e>>2]=k[c>>2];e=b+96|0;k[a+96>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;k[a+100>>2]=k[b+100>>2];d=a+104|0;c=b+104|0;k[d>>2]=0;e=a+108|0;k[e>>2]=0;k[a+112>>2]=0;k[d>>2]=k[c>>2];d=b+108|0;k[e>>2]=k[d>>2];b=b+112|0;k[a+112>>2]=k[b>>2];k[b>>2]=0;k[d>>2]=0;k[c>>2]=0;return}function Eo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=k[a+4>>2]|0;h=a+8|0;b=k[h>>2]|0;if((b|0)!=(g|0))do{k[h>>2]=b+-116;f=k[b+-12>>2]|0;c=f;if(f|0){d=b+-8|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Ip(f)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Ip(c)}tn(b+-112|0);b=k[h>>2]|0}while((b|0)!=(g|0));b=k[a>>2]|0;if(!b)return;Ip(b);return}function Fo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+16|0;w=x;u=b+8|0;g=u;f=k[g>>2]|0;g=k[g+4>>2]|0;v=b+16|0;d=v;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0){w=-1;r=x;return w|0}n=(k[b>>2]|0)+c|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;t=v;k[t>>2]=d;k[t+4>>2]=e;a:do if(!n)h=d;else{o=w+4|0;p=w+8|0;q=a+40|0;s=a+44|0;t=a+36|0;c=e;m=0;while(1){e=jq(d|0,c|0,4,0)|0;h=L;if((g|0)<(h|0)|(g|0)==(h|0)&f>>>0>>0)break;j=k[b>>2]|0;y=j+d|0;k[w>>2]=l[y>>0]|l[y+1>>0]<<8|l[y+2>>0]<<16|l[y+3>>0]<<24;y=v;k[y>>2]=e;k[y+4>>2]=h;h=jq(d|0,c|0,8,0)|0;y=L;if((g|0)<(y|0)|(g|0)==(y|0)&f>>>0>>0)break;e=j+e|0;k[o>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=jq(d|0,c|0,8,0)|0;y=L;h=v;k[h>>2]=e;k[h+4>>2]=y;if(!((g|0)>(y|0)|(g|0)==(y|0)&f>>>0>e>>>0))break;y=i[j+e>>0]|0;j=jq(d|0,c|0,9,0)|0;c=v;k[c>>2]=j;k[c+4>>2]=L;i[p>>0]=y&3|i[p>>0]&-4;c=k[q>>2]|0;if((c|0)==(k[s>>2]|0))co(t,w);else{k[c>>2]=k[w>>2];k[c+4>>2]=k[w+4>>2];k[c+8>>2]=k[w+8>>2];k[q>>2]=(k[q>>2]|0)+12}m=m+1|0;g=u;f=k[g>>2]|0;g=k[g+4>>2]|0;c=v;d=k[c>>2]|0;c=k[c+4>>2]|0;if(m>>>0>=n>>>0){h=d;e=c;break a}}y=-1;r=x;return y|0}while(0);d=jq(h|0,e|0,4,0)|0;c=L;if((g|0)<(c|0)|(g|0)==(c|0)&f>>>0>>0){y=-1;r=x;return y|0}o=(k[b>>2]|0)+h|0;o=l[o>>0]|l[o+1>>0]<<8|l[o+2>>0]<<16|l[o+3>>0]<<24;y=v;k[y>>2]=d;k[y+4>>2]=c;if(!o){y=d;r=x;return y|0}m=a+52|0;n=a+56|0;j=a+48|0;k[w>>2]=0;e=jq(h|0,e|0,8,0)|0;c=L;b:do if(!((g|0)<(c|0)|(g|0)==(c|0)&f>>>0>>0)){f=0;while(1){d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[w>>2]=d;y=v;k[y>>2]=e;k[y+4>>2]=c;c=k[m>>2]|0;if((c|0)==(k[n>>2]|0))eo(j,w);else{k[c>>2]=d;k[m>>2]=c+4}f=f+1|0;if(f>>>0>=o>>>0)break;a=u;y=k[a>>2]|0;a=k[a+4>>2]|0;e=v;d=k[e>>2]|0;e=k[e+4>>2]|0;k[w>>2]=0;e=jq(d|0,e|0,4,0)|0;c=L;if((a|0)<(c|0)|(a|0)==(c|0)&y>>>0>>0)break b}y=k[v>>2]|0;r=x;return y|0}while(0);y=-1;r=x;return y|0}function Go(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+16|0;i=m;fo(a,b);g=a+8|0;h=k[g>>2]|0;g=k[g+4>>2]|0;f=a+16|0;d=f;c=k[d>>2]|0;d=jq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0)c=0;else{c=(k[a>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;h=f;k[h>>2]=d;k[h+4>>2]=e}d=b+96|0;c=(k[d>>2]|0)+c|0;k[d>>2]=c;d=b+100|0;k[i>>2]=0;e=b+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 Ad(d,c-f|0,i);sd(b+112|0,a);r=m;return}function Ho(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Ba=0,Ca=0;Ca=r;r=r+48|0;qa=Ca+40|0;xa=Ca+28|0;ya=Ca+8|0;F=Ca+4|0;ua=Ca;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]=1.0;a:do if((b|0)>0){ba=a+240|0;ca=a+372|0;ja=a+276|0;ka=a+368|0;la=a+272|0;G=a+264|0;H=a+268|0;I=a+8|0;K=a+136|0;L=a+36|0;M=a+40|0;N=b+-1|0;P=ya+4|0;Q=a+340|0;R=xa+8|0;T=a+352|0;y=0;x=0;b:while(1){X=y+1|0;if((k[ca>>2]|0)!=-1?td(T)|0:0){c=k[ca>>2]|0;ma=18}else ma=8;c:do if((ma|0)==8){do if(!(i[ja>>0]|0)){d=0;c=0}else{d=k[la>>2]|0;f=k[G>>2]|0;g=k[H>>2]|0;c=f+(d>>>3)|0;if(c>>>0>>0?(_=(l[c>>0]|0)>>>(d&7)&1,$=d+1|0,k[la>>2]=$,_|0):0){c=f+($>>>3)|0;if(c>>>0>>0){e=(l[c>>0]|0)>>>($&7)&1;d=d+2|0;k[la>>2]=d}else{e=0;d=$}c=f+(d>>>3)|0;if(c>>>0>>0){c=(l[c>>0]|0)>>>(d&7);k[la>>2]=d+1;c=c<<1&2}else c=0;d=_;c=(c|e)<<1;break}k[ka>>2]=0;ma=19;break c}while(0);c=c|d;ma=18}while(0);d:do if((ma|0)==18){ma=0;k[ka>>2]=c;if(!c)ma=19;else switch(c|0){case 3:case 5:{v=k[(k[za>>2]|0)+-4>>2]|0;w=y*3|0;n=((c|0)==5?2:1)+w|0;c=k[I>>2]|0;f=k[c+12>>2]|0;k[f+(n<<2)>>2]=v;k[f+(v<<2)>>2]=n;f=x+1|0;t=(n|0)<0;u=(n|0)%3|0;k[(k[c>>2]|0)+((t?-1073741824:(n|0)/3|0)*12|0)+(u<<2)>>2]=x;if((x|0)>-1){h=c+24|0;e=c+28|0;d=k[e>>2]|0;c=k[h>>2]|0;g=d-c>>2;do if(g>>>0<=x>>>0){if(f>>>0>g>>>0){ho(h,f-g|0);c=k[h>>2]|0;break}if(f>>>0>>0?(U=c+(f<<2)|0,(d|0)!=(U|0)):0)k[e>>2]=d+(~((d+-4-U|0)>>>2)<<2)}while(0);k[c+(x<<2)>>2]=n;c=k[I>>2]|0}if(t)p=n;else{p=n+1|0;p=((p|0)%3|0|0)==0?n+-2|0:p}q=(v|0)<0;if(!q?(D=(((v|0)%3|0|0)==0?2:-1)+v|0,(D|0)>=0):0)m=k[(k[c>>2]|0)+(((D|0)/3|0)*12|0)+(((D|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[c>>2]|0)+(((p|0)<0?-1073741824:(p|0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=c+24|0;e=c+28|0;d=k[e>>2]|0;c=k[j>>2]|0;g=d-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(V=c+(h<<2)|0,(d|0)!=(V|0)):0)k[e>>2]=d+(~((d+-4-V|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=p;c=k[I>>2]|0}do if(!t)if(!u){n=n+2|0;break}else{n=n+-1|0;break}while(0);if(!q?(A=v+1|0,A=((A|0)%3|0|0)==0?v+-2|0:A,(A|0)>=0):0)m=k[(k[c>>2]|0)+(((A|0)/3|0)*12|0)+(((A|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[c>>2]|0)+(((n|0)<0?-1073741824:(n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=c+24|0;e=c+28|0;d=k[e>>2]|0;c=k[j>>2]|0;g=d-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(W=c+(h<<2)|0,(d|0)!=(W|0)):0)k[e>>2]=d+(~((d+-4-W|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=n}k[(k[za>>2]|0)+-4>>2]=w;c=1;break d}case 1:{c=k[za>>2]|0;t=k[c+-4>>2]|0;j=c+-4|0;k[za>>2]=j;f=k[P>>2]|0;e:do if(f){g=f+-1|0;e=(g&f|0)==0;if(e)h=g&y;else h=(y>>>0)%(f>>>0)|0;d=k[(k[ya>>2]|0)+(h<<2)>>2]|0;if(d){if(e)do{d=k[d>>2]|0;if(!d){c=j;break e}if((k[d+4>>2]&g|0)!=(h|0)){c=j;break e}}while((k[d+8>>2]|0)!=(y|0));else do{d=k[d>>2]|0;if(!d){c=j;break e}if((((k[d+4>>2]|0)>>>0)%(f>>>0)|0|0)!=(h|0)){c=j;break e}}while((k[d+8>>2]|0)!=(y|0));d=d+12|0;if((j|0)==(k[R>>2]|0)){Bd(xa,d);c=k[za>>2]|0;break}else{k[j>>2]=k[d>>2];k[za>>2]=c;break}}else c=j}else c=j;while(0);m=k[c+-4>>2]|0;u=y*3|0;p=u+2|0;f=k[I>>2]|0;w=k[f+12>>2]|0;k[w+(m<<2)>>2]=p;k[w+(p<<2)>>2]=m;n=u+1|0;k[w+(t<<2)>>2]=n;k[w+(n<<2)>>2]=t;if((m|0)>=0){c=(((m|0)%3|0|0)==0?2:-1)+m|0;if((c|0)>=0){w=k[f>>2]|0;d=k[w+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;k[w+(y*12|0)+(((u|0)%3|0)<<2)>>2]=d;if((d|0)>-1){j=f+24|0;f=f+28|0;e=k[f>>2]|0;c=k[j>>2]|0;g=e-c>>2;do if(g>>>0<=d>>>0){h=d+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(Y=c+(h<<2)|0,(e|0)!=(Y|0)):0)k[f>>2]=e+(~((e+-4-Y|0)>>>2)<<2)}while(0);k[c+(d<<2)>>2]=u;e=1;f=k[I>>2]|0}else e=0}else{k[(k[f>>2]|0)+(y*12|0)+(((u|0)%3|0)<<2)>>2]=-1073741824;d=-1073741824;e=0}c=m+1|0;c=((c|0)%3|0|0)==0?m+-2|0:c;if((c|0)<0){m=-1073741824;q=d;c=f}else{m=k[(k[f>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;q=d;c=f}}else{k[(k[f>>2]|0)+(y*12|0)+(((u|0)%3|0)<<2)>>2]=-1073741824;m=-1073741824;q=-1073741824;e=0;c=f}k[(k[c>>2]|0)+(((u|0)<-1?-1073741824:(n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=c+24|0;f=c+28|0;d=k[f>>2]|0;c=k[j>>2]|0;g=d-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(Z=c+(h<<2)|0,(d|0)!=(Z|0)):0)k[f>>2]=d+(~((d+-4-Z|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=n;c=k[I>>2]|0}n=(t|0)<0;if(!n?(C=(((t|0)%3|0|0)==0?2:-1)+t|0,(C|0)>=0):0)m=k[(k[c>>2]|0)+(((C|0)/3|0)*12|0)+(((C|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[c>>2]|0)+(((u|0)<-2?-1073741824:(p|0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=c+24|0;f=c+28|0;d=k[f>>2]|0;c=k[j>>2]|0;g=d-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(aa=c+(h<<2)|0,(d|0)!=(aa|0)):0)k[f>>2]=d+(~((d+-4-aa|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=p}if(!n){c=t+1|0;c=((c|0)%3|0|0)==0?t+-2|0:c;if((c|0)<0){n=-1073741824;d=c}else{n=k[(k[k[I>>2]>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;d=c}}else{n=-1073741824;d=t}w=k[Q>>2]|0;c=w+(q<<2)|0;k[c>>2]=(k[c>>2]|0)+(k[w+(n<<2)>>2]|0);c=k[I>>2]|0;f:do if((d|0)>-1){m=q+1|0;if(!e){e=k[c>>2]|0;f=c+12|0;while(1){k[e+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]=q;w=d+1|0;d=((w|0)%3|0|0)==0?d+-2|0:w;if((d|0)<0)break f;d=k[(k[f>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break f;w=d+1|0;d=((w|0)%3|0|0)==0?d+-2|0:w;if((d|0)<=-1)break f}}do{k[(k[c>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]=q;h=c+24|0;j=c+28|0;e=k[j>>2]|0;c=k[h>>2]|0;f=e-c>>2;do if(f>>>0<=q>>>0){g=e;if(m>>>0>f>>>0){ho(h,m-f|0);c=k[h>>2]|0;break}if(m>>>0>=f>>>0)break;e=c+(m<<2)|0;if((g|0)==(e|0))break;k[j>>2]=g+(~((g+-4-e|0)>>>2)<<2)}while(0);k[c+(q<<2)>>2]=d;c=d+1|0;d=((c|0)%3|0|0)==0?d+-2|0:c;c=k[I>>2]|0;if((d|0)<0)break f;d=k[(k[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break f;w=d+1|0;d=((w|0)%3|0|0)==0?d+-2|0:w}while((d|0)>-1)}while(0);k[(k[c+24>>2]|0)+(n<<2)>>2]=-1073741824;k[(k[za>>2]|0)+-4>>2]=u;c=0;f=x;break d}case 7:{h=y*3|0;k[qa>>2]=h;d=k[I>>2]|0;j=x+1|0;c=k[d>>2]|0;k[c+(y*12|0)+(((h|0)%3|0)<<2)>>2]=x;if((x|0)>-1){g=d+24|0;e=d+28|0;d=k[e>>2]|0;c=k[g>>2]|0;f=d-c>>2;do if(f>>>0<=x>>>0){if(j>>>0>f>>>0){ho(g,j-f|0);c=k[g>>2]|0;break}if(j>>>0>>0?(da=c+(j<<2)|0,(d|0)!=(da|0)):0)k[e>>2]=d+(~((d+-4-da|0)>>>2)<<2)}while(0);k[c+(x<<2)>>2]=h;d=k[I>>2]|0;e=k[qa>>2]|0;c=k[d>>2]|0}else e=h;h=e+1|0;m=x+2|0;k[c+(((e|0)<-1?-1073741824:(h|0)/3|0)*12|0)+(((h|0)%3|0)<<2)>>2]=j;if((x|0)>-2){g=d+24|0;e=d+28|0;d=k[e>>2]|0;c=k[g>>2]|0;f=d-c>>2;do if(f>>>0<=j>>>0){if(m>>>0>f>>>0){ho(g,m-f|0);c=k[g>>2]|0;break}if(m>>>0>>0?(ea=c+(m<<2)|0,(d|0)!=(ea|0)):0)k[e>>2]=d+(~((d+-4-ea|0)>>>2)<<2)}while(0);k[c+(j<<2)>>2]=h;d=k[I>>2]|0;e=k[qa>>2]|0;c=k[d>>2]|0}h=e+2|0;j=x+3|0;k[c+(((e|0)<-2?-1073741824:(h|0)/3|0)*12|0)+(((h|0)%3|0)<<2)>>2]=m;if((m|0)>-1){g=d+24|0;e=d+28|0;d=k[e>>2]|0;c=k[g>>2]|0;f=d-c>>2;do if(f>>>0<=m>>>0){if(j>>>0>f>>>0){ho(g,j-f|0);c=k[g>>2]|0;break}if(j>>>0>>0?(fa=c+(j<<2)|0,(d|0)!=(fa|0)):0)k[e>>2]=d+(~((d+-4-fa|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=h}c=k[za>>2]|0;if((c|0)==(k[R>>2]|0))Bd(xa,qa);else{k[c>>2]=k[qa>>2];k[za>>2]=c+4}c=1;f=j;break d}default:{c=0;f=x;break d}}}while(0);if((ma|0)==19){ma=0;q=k[(k[za>>2]|0)+-4>>2]|0;t=(q|0)<0;g:do if(!t){c=q+(((q|0)%3|0|0)==0?2:-1)|0;if((c|0)<0)ma=21;else{e=k[I>>2]|0;f=k[e+12>>2]|0;while(1){d=k[f+(c<<2)>>2]|0;if((d|0)<=-1){n=0;break g}c=d+(((d|0)%3|0|0)==0?2:-1)|0;if((c|0)<0){n=1;break}}}}else{c=q;ma=21}while(0);if((ma|0)==21){ma=0;f=k[I>>2]|0;n=1;e=f;f=k[f+12>>2]|0}u=y*3|0;p=u+1|0;k[f+(q<<2)>>2]=p;k[f+(p<<2)>>2]=q;v=u+2|0;k[f+(c<<2)>>2]=v;k[f+(v<<2)>>2]=c;if(!t?(z=q+1|0,z=((z|0)%3|0|0)==0?q+-2|0:z,(z|0)>=0):0){w=k[e>>2]|0;m=k[w+(((z|0)/3|0)*12|0)+(((z|0)%3|0)<<2)>>2]|0;k[w+(y*12|0)+(((u|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=e+24|0;f=e+28|0;e=k[f>>2]|0;d=k[j>>2]|0;g=e-d>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);d=k[j>>2]|0;break}if(h>>>0>>0?(J=d+(h<<2)|0,(e|0)!=(J|0)):0)k[f>>2]=e+(~((e+-4-J|0)>>>2)<<2)}while(0);k[d+(m<<2)>>2]=u;e=k[I>>2]|0}}else{k[(k[e>>2]|0)+(y*12|0)+(((u|0)%3|0)<<2)>>2]=-1073741824;m=-1073741824}if(!n?(B=c+1|0,B=((B|0)%3|0|0)==0?c+-2|0:B,(B|0)>=0):0)j=k[(k[e>>2]|0)+(((B|0)/3|0)*12|0)+(((B|0)%3|0)<<2)>>2]|0;else j=-1073741824;k[(k[e>>2]|0)+(((u|0)<-1?-1073741824:(p|0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=j;if((j|0)>-1){h=e+24|0;e=e+28|0;d=k[e>>2]|0;c=k[h>>2]|0;f=d-c>>2;do if(f>>>0<=j>>>0){g=j+1|0;if(g>>>0>f>>>0){ho(h,g-f|0);c=k[h>>2]|0;break}if(g>>>0>>0?(O=c+(g<<2)|0,(d|0)!=(O|0)):0)k[e>>2]=d+(~((d+-4-O|0)>>>2)<<2)}while(0);k[c+(j<<2)>>2]=p;c=k[I>>2]|0}else c=e;if(!t?(E=(((q|0)%3|0|0)==0?2:-1)+q|0,(E|0)>=0):0)j=k[(k[c>>2]|0)+(((E|0)/3|0)*12|0)+(((E|0)%3|0)<<2)>>2]|0;else j=-1073741824;k[(k[c>>2]|0)+(((u|0)<-2?-1073741824:(v|0)/3|0)*12|0)+(((v|0)%3|0)<<2)>>2]=j;if((j|0)>-1){h=c+24|0;e=c+28|0;d=k[e>>2]|0;c=k[h>>2]|0;f=d-c>>2;do if(f>>>0<=j>>>0){g=j+1|0;if(g>>>0>f>>>0){ho(h,g-f|0);c=k[h>>2]|0;break}if(g>>>0>>0?(S=c+(g<<2)|0,(d|0)!=(S|0)):0)k[e>>2]=d+(~((d+-4-S|0)>>>2)<<2)}while(0);k[c+(j<<2)>>2]=v}c=(k[K>>2]|0)+(m>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(m&31));k[(k[za>>2]|0)+-4>>2]=u;c=0;f=x}k[F>>2]=k[(k[za>>2]|0)+-4>>2];k[qa>>2]=k[F>>2];Io(ba,qa);h:do if(c?(ga=b-y|0,ha=ga+-1|0,ia=k[M>>2]|0,(ia|0)!=(k[L>>2]|0)):0){c=ia;do{d=k[c+-8>>2]|0;if((d|0)>=(ga|0)){ma=195;break b}if((d|0)!=(ha|0))break h;y=i[c+-4>>0]&1;e=k[c+-12>>2]|0;k[M>>2]=c+-12;c=k[(k[za>>2]|0)+-4>>2]|0;d=(c|0)<0;do if(!(y<<24>>24)){if(!d)if(!((c|0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}else if(!d){y=c+1|0;c=((y|0)%3|0|0)==0?c+-2|0:y}while(0);k[qa>>2]=N-e;y=io(ya,qa)|0;k[y>>2]=c;c=k[M>>2]|0}while((c|0)!=(k[L>>2]|0))}while(0);if((X|0)<(b|0)){y=X;x=f}else{s=X;va=f;break}}if((ma|0)==195)Aa(11155,11225,82,11276);c=k[za>>2]|0;if((c|0)!=(k[xa>>2]|0)){t=a+316|0;u=a+8|0;v=a+136|0;w=a+64|0;x=a+68|0;y=a+72|0;z=a+80|0;A=a+84|0;B=a+76|0;C=a+312|0;D=a+304|0;E=a+308|0;i:while(1){b=c;m=k[b+-4>>2]|0;k[qa>>2]=m;k[za>>2]=b+-4;do if(i[t>>0]|0){c=k[C>>2]|0;d=(k[D>>2]|0)+(c>>>3)|0;if(d>>>0<(k[E>>2]|0)>>>0?(b=l[d>>0]|0,k[C>>2]=c+1,b&1<<(c&7)|0):0){ma=209;break}c=k[x>>2]|0;d=k[y>>2]|0;if((c|0)==(d<<5|0)){if((c+1|0)<0){ma=267;break i}if(d<<5>>>0>1073741822)c=2147483647;else{b=d<<6;c=c+32&-32;c=b>>>0>>0?c:b}Cd(w,c);c=k[x>>2]|0}k[x>>2]=c+1;b=(k[w>>2]|0)+(c>>>5<<2)|0;k[b>>2]=k[b>>2]&~(1<<(c&31));c=k[z>>2]|0;if((c|0)==(k[A>>2]|0)){Bd(B,qa);d=s;break}else{k[c>>2]=m;k[z>>2]=c+4;d=s;break}}else ma=209;while(0);if((ma|0)==209){ma=0;f=(m|0)<0;j:do if(!f){c=m+(((m|0)%3|0|0)==0?2:-1)|0;if((c|0)>=0){d=k[(k[u>>2]|0)+12>>2]|0;e=c;while(1){c=k[d+(e<<2)>>2]|0;if((c|0)<=-1){d=0;c=e;break}c=c+(((c|0)%3|0|0)==0?2:-1)|0;if((c|0)<0){d=1;break}else e=c}if(f){e=m;ma=216;break}}else d=1;e=m+1|0;e=((e|0)%3|0|0)==0?m+-2|0:e;if((e|0)<0)ma=216;else{f=k[u>>2]|0;g=k[f+12>>2]|0;h=e;while(1){e=k[g+(h<<2)>>2]|0;if((e|0)<=-1){j=d;q=0;p=h;break j}b=e+1|0;e=((b|0)%3|0|0)==0?e+-2|0:b;if((e|0)<0){j=d;q=1;p=e;break}else h=e}}}else{d=1;c=m;e=m;ma=216}while(0);if((ma|0)==216){ma=0;f=k[u>>2]|0;j=d;q=1;g=k[f+12>>2]|0;p=e}d=s+1|0;e=s*3|0;k[ua>>2]=e;k[g+(e<<2)>>2]=m;k[g+(m<<2)>>2]=e;b=e+1|0;k[g+(b<<2)>>2]=c;k[g+(c<<2)>>2]=b;b=e+2|0;k[g+(b<<2)>>2]=p;k[g+(p<<2)>>2]=b;if(!j?(pa=c+1|0,pa=((pa|0)%3|0|0)==0?c+-2|0:pa,(pa|0)>=0):0)n=k[(k[f>>2]|0)+(((pa|0)/3|0)*12|0)+(((pa|0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[f>>2]|0)+(((s|0)<0?-1073741824:s)*12|0)+(((e|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[m>>2]|0;h=f-c>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){ho(m,j-h|0);c=k[m>>2]|0;break}if(j>>>0>>0?(ra=c+(j<<2)|0,(f|0)!=(ra|0)):0)k[g>>2]=f+(~((f+-4-ra|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=e;e=k[ua>>2]|0;f=k[u>>2]|0}n=e+1|0;if(!q?(oa=p+1|0,oa=((oa|0)%3|0|0)==0?p+-2|0:oa,(oa|0)>=0):0)m=k[(k[f>>2]|0)+(((oa|0)/3|0)*12|0)+(((oa|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[f>>2]|0)+(((e|0)<-1?-1073741824:(n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=f+24|0;f=f+28|0;e=k[f>>2]|0;c=k[j>>2]|0;g=e-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(sa=c+(h<<2)|0,(e|0)!=(sa|0)):0)k[f>>2]=e+(~((e+-4-sa|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=n;e=k[ua>>2]|0;f=k[u>>2]|0}n=e+2|0;c=k[qa>>2]|0;if((c|0)>=0?(na=c+1|0,na=((na|0)%3|0|0)==0?c+-2|0:na,(na|0)>=0):0)m=k[(k[f>>2]|0)+(((na|0)/3|0)*12|0)+(((na|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[f>>2]|0)+(((e|0)<-2?-1073741824:(n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=f+24|0;f=f+28|0;e=k[f>>2]|0;c=k[j>>2]|0;g=e-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){ho(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(ta=c+(h<<2)|0,(e|0)!=(ta|0)):0)k[f>>2]=e+(~((e+-4-ta|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=n;f=k[ua>>2]|0}else f=e;if((f|0)<0)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;e=k[v>>2]|0;b=e+(c>>>5<<2)|0;k[b>>2]=k[b>>2]&~(1<<(c&31));c=f+1|0;if((f|0)<-1)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;b=e+(c>>>5<<2)|0;k[b>>2]=k[b>>2]&~(1<<(c&31));c=f+2|0;if((f|0)<-2)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;e=e+(c>>>5<<2)|0;k[e>>2]=k[e>>2]&~(1<<(c&31));c=k[x>>2]|0;e=k[y>>2]|0;if((c|0)==(e<<5|0)){if((c+1|0)<0){ma=255;break}if(e<<5>>>0>1073741822)c=2147483647;else{b=e<<6;c=c+32&-32;c=b>>>0>>0?c:b}Cd(w,c);c=k[x>>2]|0}k[x>>2]=c+1;b=(k[w>>2]|0)+(c>>>5<<2)|0;k[b>>2]=k[b>>2]|1<<(c&31);c=k[z>>2]|0;if((c|0)==(k[A>>2]|0))Bd(B,ua);else{k[c>>2]=f;k[z>>2]=c+4}}c=k[za>>2]|0;if((c|0)==(k[xa>>2]|0)){Ba=va;break a}else s=d}if((ma|0)==255)yp(w);else if((ma|0)==267)yp(w)}else Ba=va}else Ba=0;while(0);g=a+88|0;c=a+92|0;f=k[c>>2]|0;e=k[g>>2]|0;d=f-e>>2;if(Ba>>>0<=d>>>0){if(Ba>>>0>>0?(wa=e+(Ba<<2)|0,(f|0)!=(wa|0)):0)k[c>>2]=f+(~((f+-4-wa|0)>>>2)<<2)}else mo(g,Ba-d|0);c=k[ya+8>>2]|0;if(c|0)do{wa=c;c=k[c>>2]|0;Ip(wa)}while((c|0)!=0);c=k[ya>>2]|0;k[ya>>2]=0;if(c|0)Ip(c);c=k[xa>>2]|0;if(!c){r=Ca;return Ba|0}d=k[za>>2]|0;if((d|0)!=(c|0))k[za>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ip(c);r=Ca;return Ba|0}function Io(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+92|0;h=k[b>>2]|0;i=(h|0)<0;do if(!i){b=h+1|0;b=((b|0)%3|0|0)==0?h+-2|0:b;if(!((h|0)%3|0)){e=h+2|0;d=b;break}else{e=h+-1|0;d=b;break}}else{e=h;d=h}while(0);f=a+128|0;b=k[f>>2]|0;switch(b|0){case 1:case 0:{if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+1;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+1;c=32;break}case 5:{if(i)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((h|0)/3|0)*12|0)+(((h|0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;b=c+(b<<2)|0;k[b>>2]=(k[b>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+1;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+2;c=32;break}case 3:{if(i)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((h|0)/3|0)*12|0)+(((h|0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;b=c+(b<<2)|0;k[b>>2]=(k[b>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+2;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+1;c=32;break}case 7:{if(i)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((h|0)/3|0)*12|0)+(((h|0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;b=c+(b<<2)|0;k[b>>2]=(k[b>>2]|0)+2;if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+2;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+2;c=32;break}default:{}}if((c|0)==32)b=k[f>>2]|0;switch(b|0){case 5:case 0:break;default:{k[a+132>>2]=-1;return}}b=k[g>>2]|0;if(!i?(j=h+1|0,j=((j|0)%3|0|0)==0?h+-2|0:j,(j|0)>=0):0)b=k[(k[b>>2]|0)+(((j|0)/3|0)*12|0)+(((j|0)%3|0)<<2)>>2]|0;else b=-1073741824;k[a+132>>2]=(k[(k[a+100>>2]|0)+(b<<2)>>2]|0)<6?5:0;return}function Jo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+32|0;s=u+8|0;n=u+4|0;o=u;c=k[b>>2]|0;k[s>>2]=c;m=a+8|0;do if((c|0)>=0){l=c+1|0;k[s+4>>2]=((l|0)%3|0|0)==0?c+-2|0:l;if(!((c|0)%3|0)){b=c+2|0;break}else{b=c+-1|0;break}}else{k[s+4>>2]=c;b=c}while(0);k[s+8>>2]=b;j=a+228|0;l=a+232|0;i=a+320|0;b=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)){f=0;do{do if(td((k[i>>2]|0)+(f<<4)|0)|0){a=k[j>>2]|0;k[o>>2]=c;d=a+(f*116|0)+108|0;e=k[d>>2]|0;if(e>>>0<(k[a+(f*116|0)+112>>2]|0)>>>0){k[e>>2]=c;k[d>>2]=e+4;break}else{De(a+(f*116|0)+104|0,o);break}}while(0);f=f+1|0}while(f>>>0<(((k[l>>2]|0)-(k[j>>2]|0)|0)/116|0)>>>0)}}else t=11;if((t|0)==11?(t=0,p=k[l>>2]|0,q=k[j>>2]|0,(p|0)!=(q|0)):0){a=q;d=p;h=0;do{e=a;k[n>>2]=c;f=e+(h*116|0)+108|0;g=k[f>>2]|0;if(g>>>0<(k[e+(h*116|0)+112>>2]|0)>>>0){k[g>>2]=c;k[f>>2]=g+4}else{De(e+(h*116|0)+104|0,n);a=k[j>>2]|0;d=k[l>>2]|0}h=h+1|0}while(h>>>0<((d-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;c=k[s+(b<<2)>>2]|0}r=u;return 1}function Ko(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=r;r=r+64|0;G=J+44|0;K=J+28|0;I=J+12|0;t=J+40|0;A=J+24|0;D=J;H=a+4|0;e=k[(k[H>>2]|0)+24>>2]|0;F=a+8|0;b=k[F>>2]|0;b=((k[b+4>>2]|0)-(k[b>>2]|0)|0)/12|0;c=e+80|0;e=e+84|0;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;h=k[e>>2]|0;g=k[c>>2]|0;f=(h-g|0)/12|0;if(b>>>0<=f>>>0){if(b>>>0>>0?(i=g+(b*12|0)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~(((h+-12-i|0)>>>0)/12|0)*12|0)}else po(c,b-f|0,G);y=a+228|0;z=a+232|0;if((k[z>>2]|0)==(k[y>>2]|0)){b=k[F>>2]|0;b=(k[b+28>>2]|0)-(k[b+24>>2]|0)|0;c=b>>2;k[K>>2]=0;p=K+4|0;k[p>>2]=0;k[K+8>>2]=0;do if(c)if(c>>>0>1073741823)yp(K);else{d=$p(b)|0;k[K>>2]=d;E=d+(c<<2)|0;k[K+8>>2]=E;hq(d|0,-1,b|0)|0;k[p>>2]=E;break}else d=0;while(0);e=k[H>>2]|0;b=k[e+24>>2]|0;f=k[b+84>>2]|0;c=k[b+80>>2]|0;if((f-c|0)>0){n=I+4|0;o=I+8|0;j=b;d=c;c=e;l=e;m=0;b=0;while(1){k[I>>2]=0;k[I+4>>2]=0;k[I+8>>2]=0;h=m*3|0;if((m|0)<0)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(m*12|0)+(((h|0)%3|0)<<2)>>2]|0;i=k[K>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;a=b;b=b+1|0}else a=g;k[I>>2]=a;e=h+1|0;if((h|0)<-1)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;g=b;b=b+1|0}k[n>>2]=g;e=h+2|0;if((h|0)<-2)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;g=b;b=b+1|0}k[o>>2]=g;h=j+80|0;g=j+84|0;e=(f-d|0)/12|0;i=m;m=m+1|0;do if((i|0)>=(e|0)){k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;if(m>>>0>e>>>0){po(h,m-e|0,G);c=k[H>>2]|0;d=k[h>>2]|0;e=c;break}if(m>>>0>>0?(q=d+(m*12|0)|0,(f|0)!=(q|0)):0){k[g>>2]=f+(~(((f+-12-q|0)>>>0)/12|0)*12|0);e=l}else e=l}else e=l;while(0);k[d+(i*12|0)>>2]=a;k[d+(i*12|0)+4>>2]=k[n>>2];k[d+(i*12|0)+8>>2]=k[o>>2];j=k[e+24>>2]|0;f=k[j+84>>2]|0;d=k[j+80>>2]|0;if((m|0)>=((f-d|0)/12|0|0))break;else l=e}d=k[K>>2]|0}else{c=e;b=0}k[(k[c+4>>2]|0)+64>>2]=b;b=d;if(d|0){c=k[p>>2]|0;if((c|0)!=(d|0))k[p>>2]=c+(~((c+-4-b|0)>>>2)<<2);Ip(d)}r=J;return 1}k[K>>2]=0;E=K+4|0;k[E>>2]=0;k[K+8>>2]=0;b=k[F>>2]|0;q=k[b+4>>2]|0;s=k[b>>2]|0;c=q-s|0;d=((c|0)/12|0)*3|0;k[I>>2]=0;B=I+4|0;k[B>>2]=0;k[I+8>>2]=0;do if((q|0)!=(s|0))if(d>>>0>1073741823)yp(I);else{s=$p(c)|0;k[I>>2]=s;j=s+(d<<2)|0;k[I+8>>2]=j;hq(s|0,0,c|0)|0;k[B>>2]=j;j=k[F>>2]|0;break}else j=b;while(0);a:do if(((k[j+28>>2]|0)-(k[j+24>>2]|0)|0)>0){q=a+136|0;s=K+8|0;p=0;b:while(1){f=k[(k[j+24>>2]|0)+(p<<2)>>2]|0;if((f|0)>=0){c:do if((k[(k[q>>2]|0)+(p>>>5<<2)>>2]&1<<(p&31)|0)==0?(u=k[z>>2]|0,v=k[y>>2]|0,w=v,(u|0)!=(v|0)):0){g=(f|0)/3|0;h=(f|0)%3|0;e=((h|0)==0?2:-1)+f|0;i=(e|0)<0;a=(u-v|0)/116|0;l=j+12|0;m=j+12|0;o=0;d:while(1){n=k[(k[k[w+(o*116|0)+68>>2]>>2]|0)+(g*12|0)+(h<<2)>>2]|0;if(1<<(n&31)&k[(k[w+(o*116|0)+16>>2]|0)+(n>>>5<<2)>>2]|0){n=k[w+(o*116|0)+32>>2]|0;d=k[n+(f<<2)>>2]|0;do if(!i){c=k[(k[l>>2]|0)+(e<<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=e;while(0);if((c|0)!=(f|0))do{b=k[n+(c<<2)>>2]|0;if((c|0)<0)break d;if((b|0)!=(d|0))break c;c=(((c|0)%3|0|0)==0?2:-1)+c|0;do if((c|0)>=0){c=k[(k[m>>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)}while((c|0)!=(f|0))}o=o+1|0;if(o>>>0>=a>>>0){c=f;break c}}while(1)if((b|0)==(d|0))b=d;else break}else c=f;while(0);b=k[E>>2]|0;k[(k[I>>2]|0)+(c<<2)>>2]=b-(k[K>>2]|0)>>2;k[t>>2]=c;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=c;k[E>>2]=b+4;b=j}else{De(K,t);b=k[F>>2]|0}do if((c|0)>=0){f=(((c|0)%3|0|0)==0?2:-1)+c|0;if((f|0)>=0){f=k[(k[b+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=c;while(0);if((f|0)>-1&(f|0)!=(c|0)){b=c;while(1){if((f|0)<0)break b;d=k[z>>2]|0;e=k[y>>2]|0;g=e;e:do if((d|0)!=(e|0)){d=(d-e|0)/116|0;e=0;while(1){o=k[g+(e*116|0)+32>>2]|0;e=e+1|0;if((k[o+(f<<2)>>2]|0)!=(k[o+(b<<2)>>2]|0))break;if(e>>>0>=d>>>0){x=87;break e}}b=k[E>>2]|0;k[(k[I>>2]|0)+(f<<2)>>2]=b-(k[K>>2]|0)>>2;k[A>>2]=f;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=f;k[E>>2]=b+4;break}else{De(K,A);break}}else x=87;while(0);if((x|0)==87){x=0;o=k[I>>2]|0;k[o+(f<<2)>>2]=k[o+(b<<2)>>2]}b=(((f|0)%3|0|0)==0?2:-1)+f|0;do if((b|0)>=0){b=k[(k[(k[F>>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}}while(0);if((b|0)>-1&(b|0)!=(c|0)){o=f;f=b;b=o}else break}}}p=p+1|0;j=k[F>>2]|0;if((p|0)>=((k[j+28>>2]|0)-(k[j+24>>2]|0)>>2|0))break a}f:while(1){c=k[z>>2]|0;d=k[y>>2]|0;e=d;g:do if((c|0)!=(d|0)){c=(c-d|0)/116|0;d=0;while(1){J=k[e+(d*116|0)+32>>2]|0;d=d+1|0;if((k[J+(f<<2)>>2]|0)!=(k[J+(b<<2)>>2]|0))break;if(d>>>0>=c>>>0)break g}b=k[E>>2]|0;k[(k[I>>2]|0)+(f<<2)>>2]=b-(k[K>>2]|0)>>2;k[A>>2]=f;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=f;k[E>>2]=b+4;b=f;continue f}else{De(K,A);b=f;continue f}}while(0);J=k[I>>2]|0;k[J+(f<<2)>>2]=k[J+(b<<2)>>2];b=f}}while(0);c=k[H>>2]|0;b=k[c+24>>2]|0;e=k[b+84>>2]|0;d=k[b+80>>2]|0;if((e-d|0)>0){j=D+4|0;l=D+8|0;i=c;f=c;a=0;while(1){k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;g=(k[I>>2]|0)+(a*3<<2)|0;k[D>>2]=k[g>>2];k[D+4>>2]=k[g+4>>2];k[D+8>>2]=k[g+8>>2];g=b+80|0;b=b+84|0;c=(e-d|0)/12|0;h=a;a=a+1|0;do if((h|0)>=(c|0)){k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;if(a>>>0>c>>>0){po(g,a-c|0,G);c=k[H>>2]|0;d=k[g>>2]|0;f=c;break}if(a>>>0>>0?(C=d+(a*12|0)|0,(e|0)!=(C|0)):0){k[b>>2]=e+(~(((e+-12-C|0)>>>0)/12|0)*12|0);c=i}else c=i}else c=i;while(0);k[d+(h*12|0)>>2]=k[D>>2];k[d+(h*12|0)+4>>2]=k[j>>2];k[d+(h*12|0)+8>>2]=k[l>>2];b=k[f+24>>2]|0;e=k[b+84>>2]|0;d=k[b+80>>2]|0;if((a|0)>=((e-d|0)/12|0|0))break;else i=c}}b=k[K>>2]|0;k[(k[c+4>>2]|0)+64>>2]=(k[E>>2]|0)-b>>2;c=k[I>>2]|0;d=c;if(c){b=k[B>>2]|0;if((b|0)!=(c|0))k[B>>2]=b+(~((b+-4-d|0)>>>2)<<2);Ip(c);b=k[K>>2]|0}c=b;if(b|0){d=k[E>>2]|0;if((d|0)!=(b|0))k[E>>2]=d+(~((d+-4-c|0)>>>2)<<2);Ip(b)}r=J;return 1}function Lo(a){a=a|0;return 1}function Mo(a){a=a|0;return k[a+4>>2]|0}function No(a){a=a|0;return k[a+8>>2]|0}function Oo(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4532;b=a+100|0;c=a+4|0;d=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[b>>2]=-1;k[a+104>>2]=-1;k[a+108>>2]=-1;b=a+168|0;c=a+112|0;d=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));o[b>>2]=1.0;b=a+240|0;c=a+172|0;d=c+68|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Og(b);Og(a+280|0);k[a+320>>2]=0;k[a+324>>2]=0;k[a+328>>2]=0;return}function Po(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4672;b=a+100|0;c=a+4|0;d=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[b>>2]=-1;k[a+104>>2]=-1;k[a+108>>2]=-1;b=a+168|0;c=a+112|0;d=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));o[b>>2]=1.0;b=a+240|0;c=a+172|0;d=c+68|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Qo(b);return}function Qo(a){a=a|0;var b=0;Og(a);Og(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;qd(a+112|0);k[a+128>>2]=-1;k[a+132>>2]=-1;return}function Ro(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;o=q+40|0;p=q;c=p;b=c+40|0;do{k[c>>2]=k[a>>2];c=c+4|0;a=a+4|0}while((c|0)<(b|0));i[o>>0]=0;i[o+1>>0]=0;i[o+2>>0]=0;i[o+3>>0]=0;i[o+4>>0]=0;i[o+5>>0]=0;f=p+8|0;e=k[f>>2]|0;f=k[f+4>>2]|0;g=p+16|0;b=g;a=k[b>>2]|0;b=k[b+4>>2]|0;c=jq(a|0,b|0,5,0)|0;d=L;if(((((!((f|0)<(d|0)|(f|0)==(d|0)&e>>>0>>0)?(h=k[p>>2]|0,s=h+a|0,i[o>>0]=i[s>>0]|0,i[o+1>>0]=i[s+1>>0]|0,i[o+2>>0]=i[s+2>>0]|0,i[o+3>>0]=i[s+3>>0]|0,i[o+4>>0]=i[s+4>>0]|0,s=g,k[s>>2]=c,k[s+4>>2]=d,((f|0)>(d|0)|(f|0)==(d|0)&e>>>0>c>>>0)&(pp(o,11378)|0)==0):0)?(s=jq(a|0,b|0,6,0)|0,o=L,d=g,k[d>>2]=s,k[d+4>>2]=o,(f|0)>(o|0)|(f|0)==(o|0)&e>>>0>s>>>0):0)?(j=jq(a|0,b|0,7,0)|0,s=L,o=g,k[o>>2]=j,k[o+4>>2]=s,(f|0)>(s|0)|(f|0)==(s|0)&e>>>0>j>>>0):0)?(l=i[h+j>>0]|0,s=jq(a|0,b|0,8,0)|0,o=L,j=g,k[j>>2]=s,k[j+4>>2]=o,(f|0)>(o|0)|(f|0)==(o|0)&e>>>0>s>>>0):0)?(n=jq(a|0,b|0,9,0)|0,m=g,k[m>>2]=n,k[m+4>>2]=L,m=jq(a|0,b|0,11,0)|0,n=L,!((f|0)<(n|0)|(f|0)==(n|0)&e>>>0>>0)):0){s=g;k[s>>2]=m;k[s+4>>2]=n;s=l&255;p=p+24|0;Ng(p);r=q;return s|0}s=-1;p=p+24|0;Ng(p);r=q;return s|0}function So(a){a=a|0;switch(a<<24>>24){case 0:{a=$p(24)|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;eh(a);k[a>>2]=4272;return a|0}case 1:{a=$p(24)|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;eh(a);k[a>>2]=4340;return a|0}default:{a=0;return a|0}}return 0}function To(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+16|0;s=t;i[s>>0]=0;i[s+1>>0]=0;i[s+2>>0]=0;i[s+3>>0]=0;i[s+4>>0]=0;i[s+5>>0]=0;m=a+8|0;g=k[m>>2]|0;m=k[m+4>>2]|0;n=a+16|0;c=n;b=k[c>>2]|0;c=k[c+4>>2]|0;d=jq(b|0,c|0,5,0)|0;e=L;if(((((!((m|0)<(e|0)|(m|0)==(e|0)&g>>>0>>0)?(f=k[a>>2]|0,u=f+b|0,i[s>>0]=i[u>>0]|0,i[s+1>>0]=i[u+1>>0]|0,i[s+2>>0]=i[u+2>>0]|0,i[s+3>>0]=i[u+3>>0]|0,i[s+4>>0]=i[u+4>>0]|0,u=n,k[u>>2]=d,k[u+4>>2]=e,((m|0)>(e|0)|(m|0)==(e|0)&g>>>0>d>>>0)&(pp(s,11378)|0)==0):0)?(u=jq(b|0,c|0,6,0)|0,s=L,e=n,k[e>>2]=u,k[e+4>>2]=s,(m|0)>(s|0)|(m|0)==(s|0)&g>>>0>u>>>0):0)?(h=jq(b|0,c|0,7,0)|0,u=L,s=n,k[s>>2]=h,k[s+4>>2]=u,(m|0)>(u|0)|(m|0)==(u|0)&g>>>0>h>>>0):0)?(j=i[f+h>>0]|0,l=jq(b|0,c|0,8,0)|0,u=L,s=n,k[s>>2]=l,k[s+4>>2]=u,(m|0)>(u|0)|(m|0)==(u|0)&g>>>0>l>>>0):0)?(o=i[f+l>>0]|0,q=jq(b|0,c|0,9,0)|0,p=n,k[p>>2]=q,k[p+4>>2]=L,p=jq(b|0,c|0,11,0)|0,q=L,!((m|0)<(q|0)|(m|0)==(q|0)&g>>>0

>>0)):0){u=n;k[u>>2]=p;k[u+4>>2]=q;switch(j&255|0){case 0:{d=So(o)|0;if(!d){u=0;r=t;return u|0}e=$p(68)|0;rg(e);b=fh(d,a,e)|0;c=b?0:e;if(!b)ab[k[(k[c>>2]|0)+4>>2]&127](c);ab[k[(k[d>>2]|0)+4>>2]&127](d);u=b?e:0;r=t;return u|0}case 1:{switch(o<<24>>24){case 0:{d=$p(28)|0;fn(d);break}case 1:{d=$p(32)|0;qn(d);break}default:{u=0;r=t;return u|0}}e=$p(92)|0;zg(e);b=nh(d,a,e)|0;c=b?0:e;if(!b)ab[k[(k[c>>2]|0)+4>>2]&127](c);ab[k[(k[d>>2]|0)+4>>2]&127](d);u=b?e:0;r=t;return u|0}default:{u=0;r=t;return u|0}}}u=0;r=t;return u|0}function Uo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+16|0;s=t;i[s>>0]=0;i[s+1>>0]=0;i[s+2>>0]=0;i[s+3>>0]=0;i[s+4>>0]=0;i[s+5>>0]=0;m=a+8|0;g=k[m>>2]|0;m=k[m+4>>2]|0;n=a+16|0;c=n;b=k[c>>2]|0;c=k[c+4>>2]|0;d=jq(b|0,c|0,5,0)|0;e=L;if(((((!((m|0)<(e|0)|(m|0)==(e|0)&g>>>0>>0)?(f=k[a>>2]|0,u=f+b|0,i[s>>0]=i[u>>0]|0,i[s+1>>0]=i[u+1>>0]|0,i[s+2>>0]=i[u+2>>0]|0,i[s+3>>0]=i[u+3>>0]|0,i[s+4>>0]=i[u+4>>0]|0,u=n,k[u>>2]=d,k[u+4>>2]=e,((m|0)>(e|0)|(m|0)==(e|0)&g>>>0>d>>>0)&(pp(s,11378)|0)==0):0)?(u=jq(b|0,c|0,6,0)|0,s=L,e=n,k[e>>2]=u,k[e+4>>2]=s,(m|0)>(s|0)|(m|0)==(s|0)&g>>>0>u>>>0):0)?(h=jq(b|0,c|0,7,0)|0,u=L,s=n,k[s>>2]=h,k[s+4>>2]=u,(m|0)>(u|0)|(m|0)==(u|0)&g>>>0>h>>>0):0)?(j=i[f+h>>0]|0,l=jq(b|0,c|0,8,0)|0,u=L,s=n,k[s>>2]=l,k[s+4>>2]=u,(m|0)>(u|0)|(m|0)==(u|0)&g>>>0>l>>>0):0)?(o=i[f+l>>0]|0,q=jq(b|0,c|0,9,0)|0,p=n,k[p>>2]=q,k[p+4>>2]=L,p=jq(b|0,c|0,11,0)|0,q=L,!((m|0)<(q|0)|(m|0)==(q|0)&g>>>0

>>0)):0){u=n;k[u>>2]=p;k[u+4>>2]=q;if(j<<24>>24!=1){u=0;r=t;return u|0}switch(o<<24>>24){case 0:{d=$p(28)|0;fn(d);break}case 1:{d=$p(32)|0;qn(d);break}default:{u=0;r=t;return u|0}}e=$p(92)|0;zg(e);b=nh(d,a,e)|0;c=b?0:e;if(!b)ab[k[(k[c>>2]|0)+4>>2]&127](c);ab[k[(k[d>>2]|0)+4>>2]&127](d);u=b?e:0;r=t;return u|0}u=0;r=t;return u|0}function Vo(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=k[a+60>>2];a=Wo(Sa(6,c|0)|0)|0;r=b;return a|0}function Wo(a){a=a|0;var b=0;if(a>>>0>4294963200){b=Xo()|0;k[b>>2]=0-a;a=-1}return a|0}function Xo(){var a=0;if(!(k[3640]|0))a=14604;else{a=(La()|0)+64|0;a=k[a>>2]|0}return a|0}function Yo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;m=p+16|0;l=p;d=p+32|0;n=a+28|0;e=k[n>>2]|0;k[d>>2]=e;o=a+20|0;e=(k[o>>2]|0)-e|0;k[d+4>>2]=e;k[d+8>>2]=b;k[d+12>>2]=c;i=a+60|0;j=a+44|0;b=2;e=e+c|0;while(1){if(!(k[3640]|0)){k[m>>2]=k[i>>2];k[m+4>>2]=d;k[m+8>>2]=b;g=Wo(Xa(146,m|0)|0)|0}else{Ta(70,a|0);k[l>>2]=k[i>>2];k[l+4>>2]=d;k[l+8>>2]=b;g=Wo(Xa(146,l|0)|0)|0;wa(0)}if((e|0)==(g|0)){e=6;break}if((g|0)<0){e=8;break}e=e-g|0;f=k[d+4>>2]|0;if(g>>>0<=f>>>0)if((b|0)==2){k[n>>2]=(k[n>>2]|0)+g;h=f;b=2}else h=f;else{h=k[j>>2]|0;k[n>>2]=h;k[o>>2]=h;h=k[d+12>>2]|0;g=g-f|0;d=d+8|0;b=b+-1|0}k[d>>2]=(k[d>>2]|0)+g;k[d+4>>2]=h-g}if((e|0)==6){m=k[j>>2]|0;k[a+16>>2]=m+(k[a+48>>2]|0);a=m;k[n>>2]=a;k[o>>2]=a}else if((e|0)==8){k[a+16>>2]=0;k[n>>2]=0;k[o>>2]=0;k[a>>2]=k[a>>2]|32;if((b|0)==2)c=0;else c=c-(k[d+4>>2]|0)|0}r=p;return c|0}function Zo(a){a=a|0;if(!(k[a+68>>2]|0))_o(a);return}function _o(a){a=a|0;return}function $o(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+32|0;f=e;d=e+20|0;k[f>>2]=k[a+60>>2];k[f+4>>2]=0;k[f+8>>2]=b;k[f+12>>2]=d;k[f+16>>2]=c;if((Wo(Va(140,f|0)|0)|0)<0){k[d>>2]=-1;a=-1}else a=k[d>>2]|0;r=e;return a|0}function ap(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+80|0;d=e;k[a+36>>2]=14;if((k[a>>2]&64|0)==0?(k[d>>2]=k[a+60>>2],k[d+4>>2]=21505,k[d+8>>2]=e+12,Na(54,d|0)|0):0)i[a+75>>0]=-1;d=Yo(a,b,c)|0;r=e;return d|0}function bp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+224|0;n=s+120|0;q=s+80|0;p=s;o=s+136|0;d=q;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));k[n>>2]=k[c>>2];if((cp(0,b,n,p,q)|0)<0)c=-1;else{if((k[a+76>>2]|0)>-1)l=op(a)|0;else l=0;c=k[a>>2]|0;m=c&32;if((i[a+74>>0]|0)<1)k[a>>2]=c&-33;c=a+48|0;if(!(k[c>>2]|0)){e=a+44|0;f=k[e>>2]|0;k[e>>2]=o;g=a+28|0;k[g>>2]=o;h=a+20|0;k[h>>2]=o;k[c>>2]=80;j=a+16|0;k[j>>2]=o+80;d=cp(a,b,n,p,q)|0;if(f){_a[k[a+36>>2]&31](a,0,0)|0;d=(k[h>>2]|0)==0?-1:d;k[e>>2]=f;k[c>>2]=0;k[j>>2]=0;k[g>>2]=0;k[h>>2]=0}}else d=cp(a,b,n,p,q)|0;c=k[a>>2]|0;k[a>>2]=c|m;if(l|0)_o(a);c=(c&32|0)==0?d:-1}r=s;return c|0} -function cp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0.0,o=0,q=0,s=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=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,ia=0;ia=r;r=r+624|0;ca=ia+24|0;ea=ia+16|0;da=ia+588|0;$=ia+576|0;ba=ia;W=ia+536|0;ga=ia+8|0;fa=ia+528|0;M=(a|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ga+4|0;Y=da;Z=0-Y|0;_=$+12|0;$=$+11|0;aa=_;O=aa-Y|0;P=-2-Y|0;Q=aa+2|0;R=ca+288|0;S=da+9|0;T=S;U=da+8|0;f=0;h=0;g=0;y=b;a:while(1){do if((f|0)>-1)if((h|0)>(2147483647-f|0)){f=Xo()|0;k[f>>2]=75;f=-1;break}else{f=h+f|0;break}while(0);b=i[y>>0]|0;if(!(b<<24>>24)){K=244;break}else h=y;b:while(1){switch(b<<24>>24){case 37:{b=h;K=9;break b}case 0:{b=h;break b}default:{}}J=h+1|0;b=i[J>>0]|0;h=J}c:do if((K|0)==9)while(1){K=0;if((i[b+1>>0]|0)!=37)break c;h=h+1|0;b=b+2|0;if((i[b>>0]|0)==37)K=9;else break}while(0);w=h-y|0;if(M?(k[a>>2]&32|0)==0:0)dp(y,w,a)|0;if((h|0)!=(y|0)){h=w;y=b;continue}o=b+1|0;h=i[o>>0]|0;m=(h<<24>>24)+-48|0;if(m>>>0<10){J=(i[b+2>>0]|0)==36;o=J?b+3|0:o;h=i[o>>0]|0;u=J?m:-1;g=J?1:g}else u=-1;b=h<<24>>24;d:do if((b&-32|0)==32){m=0;while(1){if(!(1<>24)+-32|m;o=o+1|0;h=i[o>>0]|0;b=h<<24>>24;if((b&-32|0)!=32){q=m;break}}}else q=0;while(0);do if(h<<24>>24==42){h=o+1|0;b=(i[h>>0]|0)+-48|0;if(b>>>0<10?(i[o+2>>0]|0)==36:0){k[e+(b<<2)>>2]=10;g=1;o=o+3|0;b=k[d+((i[h>>0]|0)+-48<<3)>>2]|0}else{if(g|0){f=-1;break a}if(!M){v=q;g=0;o=h;J=0;break}g=(k[c>>2]|0)+(4-1)&~(4-1);b=k[g>>2]|0;k[c>>2]=g+4;g=0;o=h}if((b|0)<0){v=q|8192;J=0-b|0}else{v=q;J=b}}else{m=(h<<24>>24)+-48|0;if(m>>>0<10){b=o;h=0;do{h=(h*10|0)+m|0;b=b+1|0;m=(i[b>>0]|0)+-48|0}while(m>>>0<10);if((h|0)<0){f=-1;break a}else{v=q;o=b;J=h}}else{v=q;J=0}}while(0);e:do if((i[o>>0]|0)==46){b=o+1|0;h=i[b>>0]|0;if(h<<24>>24!=42){m=(h<<24>>24)+-48|0;if(m>>>0<10)h=0;else{q=0;break}while(1){h=(h*10|0)+m|0;b=b+1|0;m=(i[b>>0]|0)+-48|0;if(m>>>0>=10){q=h;break e}}}b=o+2|0;h=(i[b>>0]|0)+-48|0;if(h>>>0<10?(i[o+3>>0]|0)==36:0){k[e+(h<<2)>>2]=10;q=k[d+((i[b>>0]|0)+-48<<3)>>2]|0;b=o+4|0;break}if(g|0){f=-1;break a}if(M){I=(k[c>>2]|0)+(4-1)&~(4-1);q=k[I>>2]|0;k[c>>2]=I+4}else q=0}else{q=-1;b=o}while(0);s=0;while(1){h=(i[b>>0]|0)+-65|0;if(h>>>0>57){f=-1;break a}m=b+1|0;h=i[11384+(s*58|0)+h>>0]|0;o=h&255;if((o+-1|0)>>>0<8){b=m;s=o}else{I=m;break}}if(!(h<<24>>24)){f=-1;break}m=(u|0)>-1;do if(h<<24>>24==19)if(m){f=-1;break a}else K=52;else{if(m){k[e+(u<<2)>>2]=o;G=d+(u<<3)|0;H=k[G+4>>2]|0;K=ba;k[K>>2]=k[G>>2];k[K+4>>2]=H;K=52;break}if(!M){f=0;break a}fp(ba,o,c)}while(0);if((K|0)==52?(K=0,!M):0){h=w;y=I;continue}u=i[b>>0]|0;u=(s|0)!=0&(u&15|0)==3?u&-33:u;m=v&-65537;H=(v&8192|0)==0?v:m;f:do switch(u|0){case 110:switch(s|0){case 0:{k[k[ba>>2]>>2]=f;h=w;y=I;continue a}case 1:{k[k[ba>>2]>>2]=f;h=w;y=I;continue a}case 2:{h=k[ba>>2]|0;k[h>>2]=f;k[h+4>>2]=((f|0)<0)<<31>>31;h=w;y=I;continue a}case 3:{j[k[ba>>2]>>1]=f;h=w;y=I;continue a}case 4:{i[k[ba>>2]>>0]=f;h=w;y=I;continue a}case 6:{k[k[ba>>2]>>2]=f;h=w;y=I;continue a}case 7:{h=k[ba>>2]|0;k[h>>2]=f;k[h+4>>2]=((f|0)<0)<<31>>31;h=w;y=I;continue a}default:{h=w;y=I;continue a}}case 112:{s=H|8;q=q>>>0>8?q:8;u=120;K=64;break}case 88:case 120:{s=H;K=64;break}case 111:{m=ba;h=k[m>>2]|0;m=k[m+4>>2]|0;if((h|0)==0&(m|0)==0)b=N;else{b=N;do{b=b+-1|0;i[b>>0]=h&7|48;h=kq(h|0,m|0,3)|0;m=L}while(!((h|0)==0&(m|0)==0))}if(!(H&8)){h=H;s=0;o=11864;K=77}else{s=V-b|0;h=H;q=(q|0)>(s|0)?q:s+1|0;s=0;o=11864;K=77}break}case 105:case 100:{h=ba;b=k[h>>2]|0;h=k[h+4>>2]|0;if((h|0)<0){b=gq(0,0,b|0,h|0)|0;h=L;m=ba;k[m>>2]=b;k[m+4>>2]=h;m=1;o=11864;K=76;break f}if(!(H&2048)){o=H&1;m=o;o=(o|0)==0?11864:11866;K=76}else{m=1;o=11865;K=76}break}case 117:{h=ba;b=k[h>>2]|0;h=k[h+4>>2]|0;m=0;o=11864;K=76;break}case 99:{i[W>>0]=k[ba>>2];b=W;u=1;w=0;v=11864;h=N;break}case 109:{h=Xo()|0;h=hp(k[h>>2]|0)|0;K=82;break}case 115:{h=k[ba>>2]|0;h=h|0?h:13766;K=82;break}case 67:{k[ga>>2]=k[ba>>2];k[X>>2]=0;k[ba>>2]=ga;b=ga;q=-1;K=86;break}case 83:{b=k[ba>>2]|0;if(!q){jp(a,32,J,0,H);b=0;K=97}else K=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{n=+p[ba>>3];k[ea>>2]=0;p[t>>3]=n;if((k[t+4>>2]|0)>=0)if(!(H&2048)){G=H&1;F=G;G=(G|0)==0?13774:13779}else{F=1;G=13776}else{n=-n;F=1;G=13773}p[t>>3]=n;E=k[t+4>>2]&2146435072;do if(E>>>0<2146435072|(E|0)==2146435072&0<0){x=+mp(n,ea)*2.0;h=x!=0.0;if(h)k[ea>>2]=(k[ea>>2]|0)+-1;C=u|32;if((C|0)==97){v=u&32;y=(v|0)==0?G:G+9|0;w=F|2;b=12-q|0;do if(!(q>>>0>11|(b|0)==0)){n=8.0;do{b=b+-1|0;n=n*16.0}while((b|0)!=0);if((i[y>>0]|0)==45){n=-(n+(-x-n));break}else{n=x+n-n;break}}else n=x;while(0);h=k[ea>>2]|0;b=(h|0)<0?0-h|0:h;b=gp(b,((b|0)<0)<<31>>31,_)|0;if((b|0)==(_|0)){i[$>>0]=48;b=$}i[b+-1>>0]=(h>>31&2)+43;s=b+-2|0;i[s>>0]=u+15;o=(q|0)<1;m=(H&8|0)==0;h=da;while(1){G=~~n;b=h+1|0;i[h>>0]=l[11848+G>>0]|v;n=(n-+(G|0))*16.0;do if((b-Y|0)==1){if(m&(o&n==0.0))break;i[b>>0]=46;b=h+2|0}while(0);if(!(n!=0.0))break;else h=b}m=s;q=(q|0)!=0&(P+b|0)<(q|0)?Q+q-m|0:O-m+b|0;o=q+w|0;jp(a,32,J,o,H);if(!(k[a>>2]&32))dp(y,w,a)|0;jp(a,48,J,o,H^65536);h=b-Y|0;if(!(k[a>>2]&32))dp(da,h,a)|0;b=aa-m|0;jp(a,48,q-(h+b)|0,0,0);if(!(k[a>>2]&32))dp(s,b,a)|0;jp(a,32,J,o,H^8192);b=(o|0)<(J|0)?J:o;break}b=(q|0)<0?6:q;if(h){h=(k[ea>>2]|0)+-28|0;k[ea>>2]=h;n=x*268435456.0}else{n=x;h=k[ea>>2]|0}E=(h|0)<0?ca:R;D=E;h=E;do{B=~~n>>>0;k[h>>2]=B;h=h+4|0;n=(n-+(B>>>0))*1.0e9}while(n!=0.0);m=h;h=k[ea>>2]|0;if((h|0)>0){q=E;while(1){s=(h|0)>29?29:h;o=m+-4|0;do if(o>>>0>>0)o=q;else{h=0;do{B=iq(k[o>>2]|0,0,s|0)|0;B=jq(B|0,L|0,h|0,0)|0;h=L;A=uq(B|0,h|0,1e9,0)|0;k[o>>2]=A;h=tq(B|0,h|0,1e9,0)|0;o=o+-4|0}while(o>>>0>=q>>>0);if(!h){o=q;break}o=q+-4|0;k[o>>2]=h}while(0);while(1){if(m>>>0<=o>>>0)break;h=m+-4|0;if(!(k[h>>2]|0))m=h;else break}h=(k[ea>>2]|0)-s|0;k[ea>>2]=h;if((h|0)>0)q=o;else break}}else o=E;if((h|0)<0){y=((b+25|0)/9|0)+1|0;z=(C|0)==102;v=o;while(1){w=0-h|0;w=(w|0)>9?9:w;do if(v>>>0>>0){h=(1<>>w;o=0;s=v;do{B=k[s>>2]|0;k[s>>2]=(B>>>w)+o;o=ha(B&h,q)|0;s=s+4|0}while(s>>>0>>0);h=(k[v>>2]|0)==0?v+4|0:v;if(!o){o=h;break}k[m>>2]=o;o=h;m=m+4|0}else o=(k[v>>2]|0)==0?v+4|0:v;while(0);h=z?E:o;m=(m-h>>2|0)>(y|0)?h+(y<<2)|0:m;h=(k[ea>>2]|0)+w|0;k[ea>>2]=h;if((h|0)>=0){z=o;break}else v=o}}else z=o;do if(z>>>0>>0){h=(D-z>>2)*9|0;q=k[z>>2]|0;if(q>>>0<10)break;else o=10;do{o=o*10|0;h=h+1|0}while(q>>>0>=o>>>0)}else h=0;while(0);A=(C|0)==103;B=(b|0)!=0;o=b-((C|0)!=102?h:0)+((B&A)<<31>>31)|0;if((o|0)<(((m-D>>2)*9|0)+-9|0)){s=o+9216|0;o=E+4+(((s|0)/9|0)+-1024<<2)|0;s=((s|0)%9|0)+1|0;if((s|0)<9){q=10;do{q=q*10|0;s=s+1|0}while((s|0)!=9)}else q=10;w=k[o>>2]|0;y=(w>>>0)%(q>>>0)|0;s=(o+4|0)==(m|0);do if(s&(y|0)==0)q=z;else{x=(((w>>>0)/(q>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(q|0)/2|0;if(y>>>0>>0)n=.5;else n=s&(y|0)==(v|0)?1.0:1.5;do if(F){if((i[G>>0]|0)!=45)break;x=-x;n=-n}while(0);s=w-y|0;k[o>>2]=s;if(!(x+n!=x)){q=z;break}C=s+q|0;k[o>>2]=C;if(C>>>0>999999999){h=z;while(1){q=o+-4|0;k[o>>2]=0;if(q>>>0>>0){h=h+-4|0;k[h>>2]=0}C=(k[q>>2]|0)+1|0;k[q>>2]=C;if(C>>>0>999999999)o=q;else{v=h;o=q;break}}}else v=z;h=(D-v>>2)*9|0;s=k[v>>2]|0;if(s>>>0<10){q=v;break}else q=10;do{q=q*10|0;h=h+1|0}while(s>>>0>=q>>>0);q=v}while(0);C=o+4|0;z=q;m=m>>>0>C>>>0?C:m}w=0-h|0;while(1){if(m>>>0<=z>>>0){y=0;C=m;break}o=m+-4|0;if(!(k[o>>2]|0))m=o;else{y=1;C=m;break}}do if(A){b=(B&1^1)+b|0;if((b|0)>(h|0)&(h|0)>-5){u=u+-1|0;b=b+-1-h|0}else{u=u+-2|0;b=b+-1|0}m=H&8;if(m|0)break;do if(y){m=k[C+-4>>2]|0;if(!m){o=9;break}if(!((m>>>0)%10|0)){q=10;o=0}else{o=0;break}do{q=q*10|0;o=o+1|0}while(!((m>>>0)%(q>>>0)|0|0))}else o=9;while(0);m=((C-D>>2)*9|0)+-9|0;if((u|32|0)==102){m=m-o|0;m=(m|0)<0?0:m;b=(b|0)<(m|0)?b:m;m=0;break}else{m=m+h-o|0;m=(m|0)<0?0:m;b=(b|0)<(m|0)?b:m;m=0;break}}else m=H&8;while(0);v=b|m;q=(v|0)!=0&1;s=(u|32|0)==102;if(s){h=(h|0)>0?h:0;u=0}else{o=(h|0)<0?w:h;o=gp(o,((o|0)<0)<<31>>31,_)|0;if((aa-o|0)<2)do{o=o+-1|0;i[o>>0]=48}while((aa-o|0)<2);i[o+-1>>0]=(h>>31&2)+43;D=o+-2|0;i[D>>0]=u;h=aa-D|0;u=D}w=F+1+b+q+h|0;jp(a,32,J,w,H);if(!(k[a>>2]&32))dp(G,F,a)|0;jp(a,48,J,w,H^65536);do if(s){o=z>>>0>E>>>0?E:z;h=o;do{m=gp(k[h>>2]|0,0,S)|0;do if((h|0)==(o|0)){if((m|0)!=(S|0))break;i[U>>0]=48;m=U}else{if(m>>>0<=da>>>0)break;hq(da|0,48,m-Y|0)|0;do m=m+-1|0;while(m>>>0>da>>>0)}while(0);if(!(k[a>>2]&32))dp(m,T-m|0,a)|0;h=h+4|0}while(h>>>0<=E>>>0);do if(v|0){if(k[a>>2]&32|0)break;dp(13808,1,a)|0}while(0);if((b|0)>0&h>>>0>>0){m=h;while(1){h=gp(k[m>>2]|0,0,S)|0;if(h>>>0>da>>>0){hq(da|0,48,h-Y|0)|0;do h=h+-1|0;while(h>>>0>da>>>0)}if(!(k[a>>2]&32))dp(h,(b|0)>9?9:b,a)|0;m=m+4|0;h=b+-9|0;if(!((b|0)>9&m>>>0>>0)){b=h;break}else b=h}}jp(a,48,b+9|0,9,0)}else{s=y?C:z+4|0;if((b|0)>-1){q=(m|0)==0;o=z;do{h=gp(k[o>>2]|0,0,S)|0;if((h|0)==(S|0)){i[U>>0]=48;h=U}do if((o|0)==(z|0)){m=h+1|0;if(!(k[a>>2]&32))dp(h,1,a)|0;if(q&(b|0)<1){h=m;break}if(k[a>>2]&32|0){h=m;break}dp(13808,1,a)|0;h=m}else{if(h>>>0<=da>>>0)break;hq(da|0,48,h+Z|0)|0;do h=h+-1|0;while(h>>>0>da>>>0)}while(0);m=T-h|0;if(!(k[a>>2]&32))dp(h,(b|0)>(m|0)?m:b,a)|0;b=b-m|0;o=o+4|0}while(o>>>0>>0&(b|0)>-1)}jp(a,48,b+18|0,18,0);if(k[a>>2]&32|0)break;dp(u,aa-u|0,a)|0}while(0);jp(a,32,J,w,H^8192);b=(w|0)<(J|0)?J:w}else{s=(u&32|0)!=0;q=n!=n|0.0!=0.0;h=q?0:F;o=h+3|0;jp(a,32,J,o,m);b=k[a>>2]|0;if(!(b&32)){dp(G,h,a)|0;b=k[a>>2]|0}if(!(b&32))dp(q?(s?13800:13804):s?13792:13796,3,a)|0;jp(a,32,J,o,H^8192);b=(o|0)<(J|0)?J:o}while(0);h=b;y=I;continue a}default:{b=y;m=H;u=q;w=0;v=11864;h=N}}while(0);g:do if((K|0)==64){m=ba;h=k[m>>2]|0;m=k[m+4>>2]|0;o=u&32;if(!((h|0)==0&(m|0)==0)){b=N;do{b=b+-1|0;i[b>>0]=l[11848+(h&15)>>0]|o;h=kq(h|0,m|0,4)|0;m=L}while(!((h|0)==0&(m|0)==0));K=ba;if((s&8|0)==0|(k[K>>2]|0)==0&(k[K+4>>2]|0)==0){h=s;s=0;o=11864;K=77}else{h=s;s=2;o=11864+(u>>4)|0;K=77}}else{b=N;h=s;s=0;o=11864;K=77}}else if((K|0)==76){b=gp(b,h,N)|0;h=H;s=m;K=77}else if((K|0)==82){K=0;H=ip(h,0,q)|0;G=(H|0)==0;b=h;u=G?q:H-h|0;w=0;v=11864;h=G?h+q|0:H}else if((K|0)==86){K=0;m=0;h=0;s=b;while(1){o=k[s>>2]|0;if(!o)break;h=kp(fa,o)|0;if((h|0)<0|h>>>0>(q-m|0)>>>0)break;m=h+m|0;if(q>>>0>m>>>0)s=s+4|0;else break}if((h|0)<0){f=-1;break a}jp(a,32,J,m,H);if(!m){b=0;K=97}else{o=0;while(1){h=k[b>>2]|0;if(!h){b=m;K=97;break g}h=kp(fa,h)|0;o=h+o|0;if((o|0)>(m|0)){b=m;K=97;break g}if(!(k[a>>2]&32))dp(fa,h,a)|0;if(o>>>0>=m>>>0){b=m;K=97;break}else b=b+4|0}}}while(0);if((K|0)==97){K=0;jp(a,32,J,b,H^8192);h=(J|0)>(b|0)?J:b;y=I;continue}if((K|0)==77){K=0;m=(q|0)>-1?h&-65537:h;h=ba;h=(k[h>>2]|0)!=0|(k[h+4>>2]|0)!=0;if((q|0)!=0|h){u=(h&1^1)+(V-b)|0;u=(q|0)>(u|0)?q:u;w=s;v=o;h=N}else{b=N;u=0;w=s;v=o;h=N}}s=h-b|0;o=(u|0)<(s|0)?s:u;q=w+o|0;h=(J|0)<(q|0)?q:J;jp(a,32,h,q,m);if(!(k[a>>2]&32))dp(v,w,a)|0;jp(a,48,h,q,m^65536);jp(a,48,o,s,0);if(!(k[a>>2]&32))dp(b,s,a)|0;jp(a,32,h,q,m^8192);y=I}h:do if((K|0)==244)if(!a)if(g){f=1;while(1){g=k[e+(f<<2)>>2]|0;if(!g)break;fp(d+(f<<3)|0,g,c);f=f+1|0;if((f|0)>=10){f=1;break h}}if((f|0)<10)while(1){if(k[e+(f<<2)>>2]|0){f=-1;break h}f=f+1|0;if((f|0)>=10){f=1;break}}else f=1}else f=0;while(0);r=ia;return f|0}function dp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=c+16|0;e=k[d>>2]|0;if(!e)if(!(ep(c)|0)){e=k[d>>2]|0;f=5}else d=0;else f=5;a:do if((f|0)==5){g=c+20|0;d=k[g>>2]|0;f=d;if((e-d|0)>>>0>>0){d=_a[k[c+36>>2]&31](c,a,b)|0;break}b:do if((i[c+75>>0]|0)>-1){d=b;while(1){if(!d){e=f;d=0;break b}e=d+-1|0;if((i[a+e>>0]|0)==10)break;else d=e}if((_a[k[c+36>>2]&31](c,a,d)|0)>>>0>>0)break a;b=b-d|0;a=a+d|0;e=k[g>>2]|0}else{e=f;d=0}while(0);lq(e|0,a|0,b|0)|0;k[g>>2]=(k[g>>2]|0)+b;d=d+b|0}while(0);return d|0}function ep(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;b=k[a+44>>2]|0;k[a+28>>2]=b;k[a+20>>2]=b;k[a+16>>2]=b+(k[a+48>>2]|0);b=0}else{k[a>>2]=b|32;b=-1}return b|0}function fp(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 gp(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=uq(a|0,b|0,10,0)|0;c=c+-1|0;i[c>>0]=d|48;d=tq(a|0,b|0,10,0)|0;if(b>>>0>9|(b|0)==9&a>>>0>4294967295){a=d;b=L}else{a=d;break}}if(a)while(1){c=c+-1|0;i[c>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}return c|0}function hp(a){a=a|0;var b=0,c=0;b=0;while(1){if((l[11874+b>>0]|0)==(a|0)){c=2;break}b=b+1|0;if((b|0)==87){b=87;a=11962;c=5;break}}if((c|0)==2)if(!b)a=11962;else{a=11962;c=5}if((c|0)==5)while(1){c=a;while(1){a=c+1|0;if(!(i[c>>0]|0))break;else c=a}b=b+-1|0;if(!b)break;else c=5}return a|0}function ip(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=ha(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 jp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=r;r=r+256|0;g=h;do if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;hq(g|0,b|0,(e>>>0>256?256:e)|0)|0;b=k[a>>2]|0;f=(b&32|0)==0;if(e>>>0>255){d=c-d|0;do{if(f){dp(g,256,a)|0;b=k[a>>2]|0}e=e+-256|0;f=(b&32|0)==0}while(e>>>0>255);if(f)e=d&255;else break}else if(!f)break;dp(g,e,a)|0}while(0);r=h;return}function kp(a,b){a=a|0;b=b|0;if(!a)a=0;else a=lp(a,b,0)|0;return a|0}function lp(a,b,c){a=a|0;b=b|0;c=c|0;do if(a){if(b>>>0<128){i[a>>0]=b;a=1;break}if(b>>>0<2048){i[a>>0]=b>>>6|192;i[a+1>>0]=b&63|128;a=2;break}if(b>>>0<55296|(b&-8192|0)==57344){i[a>>0]=b>>>12|224;i[a+1>>0]=b>>>6&63|128;i[a+2>>0]=b&63|128;a=3;break}if((b+-65536|0)>>>0<1048576){i[a>>0]=b>>>18|240;i[a+1>>0]=b>>>12&63|128;i[a+2>>0]=b>>>6&63|128;i[a+3>>0]=b&63|128;a=4;break}else{a=Xo()|0;k[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function mp(a,b){a=+a;b=b|0;return +(+np(a,b))}function np(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[t>>3]=a;c=k[t>>2]|0;d=k[t+4>>2]|0;e=kq(c|0,d|0,52)|0;e=e&2047;switch(e|0){case 0:{if(a!=0.0){a=+np(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+-1022;k[t>>2]=c;k[t+4>>2]=d&-2146435073|1071644672;a=+p[t>>3]}}return +a}function op(a){a=a|0;return 0}function pp(a,b){a=a|0;b=b|0;var c=0,d=0;d=i[a>>0]|0;c=i[b>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=c<<24>>24)b=d;else{do{a=a+1|0;b=b+1|0;d=i[a>>0]|0;c=i[b>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=c<<24>>24));b=d}return (b&255)-(c&255)|0}function qp(a){a=a|0;var b=0,c=0;do if(a){if((k[a+76>>2]|0)<=-1){b=rp(a)|0;break}c=(op(a)|0)==0;b=rp(a)|0;if(!c)_o(a)}else{if(!(k[1235]|0))b=0;else b=qp(k[1235]|0)|0;Ra(14588);a=k[3646]|0;if(a)do{if((k[a+76>>2]|0)>-1)c=op(a)|0;else c=0;if((k[a+20>>2]|0)>>>0>(k[a+28>>2]|0)>>>0)b=rp(a)|0|b;if(c|0)_o(a);a=k[a+56>>2]|0}while((a|0)!=0);Oa(14588)}while(0);return b|0}function rp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=a+20|0;f=a+28|0;if((k[b>>2]|0)>>>0>(k[f>>2]|0)>>>0?(_a[k[a+36>>2]&31](a,0,0)|0,(k[b>>2]|0)==0):0)b=-1;else{g=a+4|0;c=k[g>>2]|0;d=a+8|0;e=k[d>>2]|0;if(c>>>0>>0)_a[k[a+40>>2]&31](a,c-e|0,1)|0;k[a+16>>2]=0;k[f>>2]=0;k[b>>2]=0;k[d>>2]=0;k[g>>2]=0;b=0}return b|0}function sp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;h=j;g=b&255;i[h>>0]=g;d=a+16|0;e=k[d>>2]|0;if(!e)if(!(ep(a)|0)){e=k[d>>2]|0;f=4}else c=-1;else f=4;do if((f|0)==4){d=a+20|0;f=k[d>>2]|0;if(f>>>0>>0?(c=b&255,(c|0)!=(i[a+75>>0]|0)):0){k[d>>2]=f+1;i[f>>0]=g;break}if((_a[k[a+36>>2]&31](a,h,1)|0)==1)c=l[h>>0]|0;else c=-1}while(0);r=j;return c|0}function tp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=ha(c,b)|0;if((k[d+76>>2]|0)>-1){f=(op(d)|0)==0;a=dp(a,e,d)|0;if(!f)_o(d)}else a=dp(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function up(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;if((k[b+76>>2]|0)>=0?(op(b)|0)!=0:0){if((i[b+75>>0]|0)!=(a|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]=a;c=a&255}else c=sp(b,a)|0;_o(b)}else g=3;do if((g|0)==3){if((i[b+75>>0]|0)!=(a|0)?(f=b+20|0,c=k[f>>2]|0,c>>>0<(k[b+16>>2]|0)>>>0):0){k[f>>2]=c+1;i[c>>0]=a;c=a&255;break}c=sp(b,a)|0}while(0);return c|0}function vp(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=k[3652]|0;b=i>>>a;if(b&3|0){b=(b&1^1)+a|0;c=14648+(b<<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[3656]|0)>>>0)ya();a=g+12|0;if((k[a>>2]|0)==(e|0)){k[a>>2]=c;k[d>>2]=g;break}else ya()}else k[3652]=i&~(1<>2]=L|3;L=e+L+4|0;k[L>>2]=k[L>>2]|1;L=f;return L|0}g=k[3654]|0;if(o>>>0>g>>>0){if(b|0){c=2<>>12&16;c=c>>>h;e=c>>>5&8;c=c>>>e;f=c>>>2&4;c=c>>>f;d=c>>>1&2;c=c>>>d;b=c>>>1&1;b=(e|h|f|d|b)+(c>>>b)|0;c=14648+(b<<1<<2)|0;d=c+8|0;f=k[d>>2]|0;h=f+8|0;e=k[h>>2]|0;do if((c|0)!=(e|0)){if(e>>>0<(k[3656]|0)>>>0)ya();a=e+12|0;if((k[a>>2]|0)==(f|0)){k[a>>2]=c;k[d>>2]=e;j=k[3654]|0;break}else ya()}else{k[3652]=i&~(1<>2]=o|3;d=f+o|0;k[d+4>>2]=g|1;k[d+g>>2]=g;if(j|0){e=k[3657]|0;b=j>>>3;c=14648+(b<<1<<2)|0;a=k[3652]|0;b=1<>2]|0;if(b>>>0<(k[3656]|0)>>>0)ya();else{l=a;m=b}}else{k[3652]=a|b;l=c+8|0;m=c}k[l>>2]=e;k[m+12>>2]=e;k[e+8>>2]=m;k[e+12>>2]=c}k[3654]=g;k[3657]=d;L=h;return L|0}a=k[3653]|0;if(a){c=(a&0-a)+-1|0;K=c>>>12&16;c=c>>>K;J=c>>>5&8;c=c>>>J;L=c>>>2&4;c=c>>>L;b=c>>>1&2;c=c>>>b;d=c>>>1&1;d=k[14912+((J|K|L|b|d)+(c>>>d)<<2)>>2]|0;c=(k[d+4>>2]&-8)-o|0;b=d;while(1){a=k[b+16>>2]|0;if(!a){a=k[b+20>>2]|0;if(!a){i=d;break}}b=(k[a+4>>2]&-8)-o|0;L=b>>>0>>0;c=L?b:c;b=a;d=L?a:d}f=k[3656]|0;if(i>>>0>>0)ya();h=i+o|0;if(i>>>0>=h>>>0)ya();g=k[i+24>>2]|0;d=k[i+12>>2]|0;do if((d|0)==(i|0)){b=i+20|0;a=k[b>>2]|0;if(!a){b=i+16|0;a=k[b>>2]|0;if(!a){n=0;break}}while(1){d=a+20|0;e=k[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=k[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0>>0)ya();else{k[b>>2]=0;n=a;break}}else{e=k[i+8>>2]|0;if(e>>>0>>0)ya();a=e+12|0;if((k[a>>2]|0)!=(i|0))ya();b=d+8|0;if((k[b>>2]|0)==(i|0)){k[a>>2]=d;k[b>>2]=e;n=d;break}else ya()}while(0);do if(g|0){a=k[i+28>>2]|0;b=14912+(a<<2)|0;if((i|0)==(k[b>>2]|0)){k[b>>2]=n;if(!n){k[3653]=k[3653]&~(1<>>0<(k[3656]|0)>>>0)ya();a=g+16|0;if((k[a>>2]|0)==(i|0))k[a>>2]=n;else k[g+20>>2]=n;if(!n)break}b=k[3656]|0;if(n>>>0>>0)ya();k[n+24>>2]=g;a=k[i+16>>2]|0;do if(a|0)if(a>>>0>>0)ya();else{k[n+16>>2]=a;k[a+24>>2]=n;break}while(0);a=k[i+20>>2]|0;if(a|0)if(a>>>0<(k[3656]|0)>>>0)ya();else{k[n+20>>2]=a;k[a+24>>2]=n;break}}while(0);if(c>>>0<16){L=c+o|0;k[i+4>>2]=L|3;L=i+L+4|0;k[L>>2]=k[L>>2]|1}else{k[i+4>>2]=o|3;k[h+4>>2]=c|1;k[h+c>>2]=c;a=k[3654]|0;if(a|0){e=k[3657]|0;b=a>>>3;d=14648+(b<<1<<2)|0;a=k[3652]|0;b=1<>2]|0;if(b>>>0<(k[3656]|0)>>>0)ya();else{p=a;q=b}}else{k[3652]=a|b;p=d+8|0;q=d}k[p>>2]=e;k[q+12>>2]=e;k[e+8>>2]=q;k[e+12>>2]=d}k[3654]=c;k[3657]=h}L=i+8|0;return L|0}}}else if(a>>>0<=4294967231){a=a+11|0;o=a&-8;i=k[3653]|0;if(i){c=0-o|0;a=a>>>8;if(a)if(o>>>0>16777215)h=31;else{q=(a+1048320|0)>>>16&8;E=a<>>16&4;E=E<>>16&2;h=14-(p|q|h)+(E<>>15)|0;h=o>>>(h+7|0)&1|h<<1}else h=0;b=k[14912+(h<<2)>>2]|0;a:do if(!b){a=0;b=0;E=86}else{e=c;a=0;f=o<<((h|0)==31?0:25-(h>>>1)|0);g=b;b=0;while(1){d=k[g+4>>2]&-8;c=d-o|0;if(c>>>0>>0)if((d|0)==(o|0)){a=g;b=g;E=90;break a}else b=g;else c=e;d=k[g+20>>2]|0;g=k[g+16+(f>>>31<<2)>>2]|0;a=(d|0)==0|(d|0)==(g|0)?a:d;d=(g|0)==0;if(d){E=86;break}else{e=c;f=f<<(d&1^1)}}}while(0);if((E|0)==86){if((a|0)==0&(b|0)==0){a=2<>>12&16;q=q>>>m;l=q>>>5&8;q=q>>>l;n=q>>>2&4;q=q>>>n;p=q>>>1&2;q=q>>>p;a=q>>>1&1;a=k[14912+((l|m|n|p|a)+(q>>>a)<<2)>>2]|0}if(!a){h=c;i=b}else E=90}if((E|0)==90)while(1){E=0;q=(k[a+4>>2]&-8)-o|0;d=q>>>0>>0;c=d?q:c;b=d?a:b;d=k[a+16>>2]|0;if(d|0){a=d;E=90;continue}a=k[a+20>>2]|0;if(!a){h=c;i=b;break}else E=90}if((i|0)!=0?h>>>0<((k[3654]|0)-o|0)>>>0:0){e=k[3656]|0;if(i>>>0>>0)ya();g=i+o|0;if(i>>>0>=g>>>0)ya();f=k[i+24>>2]|0;c=k[i+12>>2]|0;do if((c|0)==(i|0)){b=i+20|0;a=k[b>>2]|0;if(!a){b=i+16|0;a=k[b>>2]|0;if(!a){s=0;break}}while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0>>0)ya();else{k[b>>2]=0;s=a;break}}else{d=k[i+8>>2]|0;if(d>>>0>>0)ya();a=d+12|0;if((k[a>>2]|0)!=(i|0))ya();b=c+8|0;if((k[b>>2]|0)==(i|0)){k[a>>2]=c;k[b>>2]=d;s=c;break}else ya()}while(0);do if(f|0){a=k[i+28>>2]|0;b=14912+(a<<2)|0;if((i|0)==(k[b>>2]|0)){k[b>>2]=s;if(!s){k[3653]=k[3653]&~(1<>>0<(k[3656]|0)>>>0)ya();a=f+16|0;if((k[a>>2]|0)==(i|0))k[a>>2]=s;else k[f+20>>2]=s;if(!s)break}b=k[3656]|0;if(s>>>0>>0)ya();k[s+24>>2]=f;a=k[i+16>>2]|0;do if(a|0)if(a>>>0>>0)ya();else{k[s+16>>2]=a;k[a+24>>2]=s;break}while(0);a=k[i+20>>2]|0;if(a|0)if(a>>>0<(k[3656]|0)>>>0)ya();else{k[s+20>>2]=a;k[a+24>>2]=s;break}}while(0);do if(h>>>0>=16){k[i+4>>2]=o|3;k[g+4>>2]=h|1;k[g+h>>2]=h;a=h>>>3;if(h>>>0<256){c=14648+(a<<1<<2)|0;b=k[3652]|0;a=1<>2]|0;if(b>>>0<(k[3656]|0)>>>0)ya();else{u=a;v=b}}else{k[3652]=b|a;u=c+8|0;v=c}k[u>>2]=g;k[v+12>>2]=g;k[g+8>>2]=v;k[g+12>>2]=c;break}a=h>>>8;if(a)if(h>>>0>16777215)c=31;else{K=(a+1048320|0)>>>16&8;L=a<>>16&4;L=L<>>16&2;c=14-(J|K|c)+(L<>>15)|0;c=h>>>(c+7|0)&1|c<<1}else c=0;d=14912+(c<<2)|0;k[g+28>>2]=c;a=g+16|0;k[a+4>>2]=0;k[a>>2]=0;a=k[3653]|0;b=1<>2]=g;k[g+24>>2]=d;k[g+12>>2]=g;k[g+8>>2]=g;break}e=h<<((c|0)==31?0:25-(c>>>1)|0);a=k[d>>2]|0;while(1){if((k[a+4>>2]&-8|0)==(h|0)){c=a;E=148;break}b=a+16+(e>>>31<<2)|0;c=k[b>>2]|0;if(!c){E=145;break}else{e=e<<1;a=c}}if((E|0)==145)if(b>>>0<(k[3656]|0)>>>0)ya();else{k[b>>2]=g;k[g+24>>2]=a;k[g+12>>2]=g;k[g+8>>2]=g;break}else if((E|0)==148){a=c+8|0;b=k[a>>2]|0;L=k[3656]|0;if(b>>>0>=L>>>0&c>>>0>=L>>>0){k[b+12>>2]=g;k[a>>2]=g;k[g+8>>2]=b;k[g+12>>2]=c;k[g+24>>2]=0;break}else ya()}}else{L=h+o|0;k[i+4>>2]=L|3;L=i+L+4|0;k[L>>2]=k[L>>2]|1}while(0);L=i+8|0;return L|0}}}else o=-1;while(0);c=k[3654]|0;if(c>>>0>=o>>>0){a=c-o|0;b=k[3657]|0;if(a>>>0>15){L=b+o|0;k[3657]=L;k[3654]=a;k[L+4>>2]=a|1;k[L+a>>2]=a;k[b+4>>2]=o|3}else{k[3654]=0;k[3657]=0;k[b+4>>2]=c|3;L=b+c+4|0;k[L>>2]=k[L>>2]|1}L=b+8|0;return L|0}a=k[3655]|0;if(a>>>0>o>>>0){J=a-o|0;k[3655]=J;L=k[3658]|0;K=L+o|0;k[3658]=K;k[K+4>>2]=J|1;k[L+4>>2]=o|3;L=L+8|0;return L|0}do if(!(k[3770]|0)){a=Ja(30)|0;if(!(a+-1&a)){k[3772]=a;k[3771]=a;k[3773]=-1;k[3774]=-1;k[3775]=0;k[3763]=0;v=(Ua(0)|0)&-16^1431655768;k[3770]=v;break}else ya()}while(0);g=o+48|0;f=k[3772]|0;h=o+47|0;e=f+h|0;f=0-f|0;i=e&f;if(i>>>0<=o>>>0){L=0;return L|0}a=k[3762]|0;if(a|0?(u=k[3760]|0,v=u+i|0,v>>>0<=u>>>0|v>>>0>a>>>0):0){L=0;return L|0}b:do if(!(k[3763]&4)){a=k[3658]|0;c:do if(a){c=15056;while(1){b=k[c>>2]|0;if(b>>>0<=a>>>0?(r=c+4|0,(b+(k[r>>2]|0)|0)>>>0>a>>>0):0){d=c;c=r;break}c=k[c+8>>2]|0;if(!c){E=173;break c}}a=e-(k[3655]|0)&f;if(a>>>0<2147483647){b=Ea(a|0)|0;if((b|0)==((k[d>>2]|0)+(k[c>>2]|0)|0)){if((b|0)!=(-1|0)){g=b;e=a;E=193;break b}}else E=183}}else E=173;while(0);do if((E|0)==173?(t=Ea(0)|0,(t|0)!=(-1|0)):0){a=t;b=k[3771]|0;c=b+-1|0;if(!(c&a))a=i;else a=i-a+(c+a&0-b)|0;b=k[3760]|0;c=b+a|0;if(a>>>0>o>>>0&a>>>0<2147483647){v=k[3762]|0;if(v|0?c>>>0<=b>>>0|c>>>0>v>>>0:0)break;b=Ea(a|0)|0;if((b|0)==(t|0)){g=t;e=a;E=193;break b}else E=183}}while(0);d:do if((E|0)==183){c=0-a|0;do if(g>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(w=k[3772]|0,w=h-a+w&0-w,w>>>0<2147483647):0)if((Ea(w|0)|0)==(-1|0)){Ea(c|0)|0;break d}else{a=w+a|0;break}while(0);if((b|0)!=(-1|0)){g=b;e=a;E=193;break b}}while(0);k[3763]=k[3763]|4;E=190}else E=190;while(0);if((((E|0)==190?i>>>0<2147483647:0)?(x=Ea(i|0)|0,y=Ea(0)|0,x>>>0>>0&((x|0)!=(-1|0)&(y|0)!=(-1|0))):0)?(z=y-x|0,z>>>0>(o+40|0)>>>0):0){g=x;e=z;E=193}if((E|0)==193){a=(k[3760]|0)+e|0;k[3760]=a;if(a>>>0>(k[3761]|0)>>>0)k[3761]=a;h=k[3658]|0;do if(h){d=15056;do{a=k[d>>2]|0;b=d+4|0;c=k[b>>2]|0;if((g|0)==(a+c|0)){A=a;B=b;C=c;D=d;E=203;break}d=k[d+8>>2]|0}while((d|0)!=0);if(((E|0)==203?(k[D+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=A>>>0:0){k[B>>2]=C+e;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=h+L|0;L=e-L+(k[3655]|0)|0;k[3658]=K;k[3655]=L;k[K+4>>2]=L|1;k[K+L+4>>2]=40;k[3659]=k[3774];break}a=k[3656]|0;if(g>>>0>>0){k[3656]=g;i=g}else i=a;c=g+e|0;a=15056;while(1){if((k[a>>2]|0)==(c|0)){b=a;E=211;break}a=k[a+8>>2]|0;if(!a){b=15056;break}}if((E|0)==211)if(!(k[a+12>>2]&8)){k[b>>2]=g;l=a+4|0;k[l>>2]=(k[l>>2]|0)+e;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;a=c+8|0;a=c+((a&7|0)==0?0:0-a&7)|0;j=l+o|0;f=a-l-o|0;k[l+4>>2]=o|3;do if((a|0)!=(h|0)){if((a|0)==(k[3657]|0)){L=(k[3654]|0)+f|0;k[3654]=L;k[3657]=j;k[j+4>>2]=L|1;k[j+L>>2]=L;break}b=k[a+4>>2]|0;if((b&3|0)==1){h=b&-8;e=b>>>3;e:do if(b>>>0>=256){g=k[a+24>>2]|0;d=k[a+12>>2]|0;do if((d|0)==(a|0)){c=a+16|0;d=c+4|0;b=k[d>>2]|0;if(!b){b=k[c>>2]|0;if(!b){J=0;break}}else c=d;while(1){d=b+20|0;e=k[d>>2]|0;if(e|0){b=e;c=d;continue}d=b+16|0;e=k[d>>2]|0;if(!e)break;else{b=e;c=d}}if(c>>>0>>0)ya();else{k[c>>2]=0;J=b;break}}else{e=k[a+8>>2]|0;if(e>>>0>>0)ya();b=e+12|0;if((k[b>>2]|0)!=(a|0))ya();c=d+8|0;if((k[c>>2]|0)==(a|0)){k[b>>2]=d;k[c>>2]=e;J=d;break}else ya()}while(0);if(!g)break;b=k[a+28>>2]|0;c=14912+(b<<2)|0;do if((a|0)!=(k[c>>2]|0)){if(g>>>0<(k[3656]|0)>>>0)ya();b=g+16|0;if((k[b>>2]|0)==(a|0))k[b>>2]=J;else k[g+20>>2]=J;if(!J)break e}else{k[c>>2]=J;if(J|0)break;k[3653]=k[3653]&~(1<>>0>>0)ya();k[J+24>>2]=g;b=a+16|0;c=k[b>>2]|0;do if(c|0)if(c>>>0>>0)ya();else{k[J+16>>2]=c;k[c+24>>2]=J;break}while(0);b=k[b+4>>2]|0;if(!b)break;if(b>>>0<(k[3656]|0)>>>0)ya();else{k[J+20>>2]=b;k[b+24>>2]=J;break}}else{c=k[a+8>>2]|0;d=k[a+12>>2]|0;b=14648+(e<<1<<2)|0;do if((c|0)!=(b|0)){if(c>>>0>>0)ya();if((k[c+12>>2]|0)==(a|0))break;ya()}while(0);if((d|0)==(c|0)){k[3652]=k[3652]&~(1<>>0>>0)ya();b=d+8|0;if((k[b>>2]|0)==(a|0)){G=b;break}ya()}while(0);k[c+12>>2]=d;k[G>>2]=c}while(0);a=a+h|0;f=h+f|0}a=a+4|0;k[a>>2]=k[a>>2]&-2;k[j+4>>2]=f|1;k[j+f>>2]=f;a=f>>>3;if(f>>>0<256){c=14648+(a<<1<<2)|0;b=k[3652]|0;a=1<>2]|0;if(b>>>0>=(k[3656]|0)>>>0){K=a;L=b;break}ya()}while(0);k[K>>2]=j;k[L+12>>2]=j;k[j+8>>2]=L;k[j+12>>2]=c;break}a=f>>>8;do if(!a)c=0;else{if(f>>>0>16777215){c=31;break}K=(a+1048320|0)>>>16&8;L=a<>>16&4;L=L<>>16&2;c=14-(J|K|c)+(L<>>15)|0;c=f>>>(c+7|0)&1|c<<1}while(0);d=14912+(c<<2)|0;k[j+28>>2]=c;a=j+16|0;k[a+4>>2]=0;k[a>>2]=0;a=k[3653]|0;b=1<>2]=j;k[j+24>>2]=d;k[j+12>>2]=j;k[j+8>>2]=j;break}e=f<<((c|0)==31?0:25-(c>>>1)|0);a=k[d>>2]|0;while(1){if((k[a+4>>2]&-8|0)==(f|0)){c=a;E=281;break}b=a+16+(e>>>31<<2)|0;c=k[b>>2]|0;if(!c){E=278;break}else{e=e<<1;a=c}}if((E|0)==278)if(b>>>0<(k[3656]|0)>>>0)ya();else{k[b>>2]=j;k[j+24>>2]=a;k[j+12>>2]=j;k[j+8>>2]=j;break}else if((E|0)==281){a=c+8|0;b=k[a>>2]|0;L=k[3656]|0;if(b>>>0>=L>>>0&c>>>0>=L>>>0){k[b+12>>2]=j;k[a>>2]=j;k[j+8>>2]=b;k[j+12>>2]=c;k[j+24>>2]=0;break}else ya()}}else{L=(k[3655]|0)+f|0;k[3655]=L;k[3658]=j;k[j+4>>2]=L|1}while(0);L=l+8|0;return L|0}else b=15056;while(1){a=k[b>>2]|0;if(a>>>0<=h>>>0?(F=a+(k[b+4>>2]|0)|0,F>>>0>h>>>0):0){b=F;break}b=k[b+8>>2]|0}f=b+-47|0;c=f+8|0;c=f+((c&7|0)==0?0:0-c&7)|0;f=h+16|0;c=c>>>0>>0?h:c;a=c+8|0;d=g+8|0;d=(d&7|0)==0?0:0-d&7;L=g+d|0;d=e+-40-d|0;k[3658]=L;k[3655]=d;k[L+4>>2]=d|1;k[L+d+4>>2]=40;k[3659]=k[3774];d=c+4|0;k[d>>2]=27;k[a>>2]=k[3764];k[a+4>>2]=k[3765];k[a+8>>2]=k[3766];k[a+12>>2]=k[3767];k[3764]=g;k[3765]=e;k[3767]=0;k[3766]=a;a=c+24|0;do{a=a+4|0;k[a>>2]=7}while((a+4|0)>>>0>>0);if((c|0)!=(h|0)){g=c-h|0;k[d>>2]=k[d>>2]&-2;k[h+4>>2]=g|1;k[c>>2]=g;a=g>>>3;if(g>>>0<256){c=14648+(a<<1<<2)|0;b=k[3652]|0;a=1<>2]|0;if(b>>>0<(k[3656]|0)>>>0)ya();else{H=a;I=b}}else{k[3652]=b|a;H=c+8|0;I=c}k[H>>2]=h;k[I+12>>2]=h;k[h+8>>2]=I;k[h+12>>2]=c;break}a=g>>>8;if(a)if(g>>>0>16777215)c=31;else{K=(a+1048320|0)>>>16&8;L=a<>>16&4;L=L<>>16&2;c=14-(J|K|c)+(L<>>15)|0;c=g>>>(c+7|0)&1|c<<1}else c=0;e=14912+(c<<2)|0;k[h+28>>2]=c;k[h+20>>2]=0;k[f>>2]=0;a=k[3653]|0;b=1<>2]=h;k[h+24>>2]=e;k[h+12>>2]=h;k[h+8>>2]=h;break}d=g<<((c|0)==31?0:25-(c>>>1)|0);a=k[e>>2]|0;while(1){if((k[a+4>>2]&-8|0)==(g|0)){c=a;E=307;break}b=a+16+(d>>>31<<2)|0;c=k[b>>2]|0;if(!c){E=304;break}else{d=d<<1;a=c}}if((E|0)==304)if(b>>>0<(k[3656]|0)>>>0)ya();else{k[b>>2]=h;k[h+24>>2]=a;k[h+12>>2]=h;k[h+8>>2]=h;break}else if((E|0)==307){a=c+8|0;b=k[a>>2]|0;L=k[3656]|0;if(b>>>0>=L>>>0&c>>>0>=L>>>0){k[b+12>>2]=h;k[a>>2]=h;k[h+8>>2]=b;k[h+12>>2]=c;k[h+24>>2]=0;break}else ya()}}}else{L=k[3656]|0;if((L|0)==0|g>>>0>>0)k[3656]=g;k[3764]=g;k[3765]=e;k[3767]=0;k[3661]=k[3770];k[3660]=-1;a=0;do{L=14648+(a<<1<<2)|0;k[L+12>>2]=L;k[L+8>>2]=L;a=a+1|0}while((a|0)!=32);L=g+8|0;L=(L&7|0)==0?0:0-L&7;K=g+L|0;L=e+-40-L|0;k[3658]=K;k[3655]=L;k[K+4>>2]=L|1;k[K+L+4>>2]=40;k[3659]=k[3774]}while(0);a=k[3655]|0;if(a>>>0>o>>>0){J=a-o|0;k[3655]=J;L=k[3658]|0;K=L+o|0;k[3658]=K;k[K+4>>2]=J|1;k[L+4>>2]=o|3;L=L+8|0;return L|0}}L=Xo()|0;k[L>>2]=12;L=0;return L|0}function wp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!a)return;c=a+-8|0;g=k[3656]|0;if(c>>>0>>0)ya();a=k[a+-4>>2]|0;b=a&3;if((b|0)==1)ya();d=a&-8;m=c+d|0;do if(!(a&1)){a=k[c>>2]|0;if(!b)return;j=c+(0-a)|0;i=a+d|0;if(j>>>0>>0)ya();if((j|0)==(k[3657]|0)){a=m+4|0;b=k[a>>2]|0;if((b&3|0)!=3){q=j;f=i;break}k[3654]=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=14648+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0>>0)ya();if((k[b+12>>2]|0)!=(j|0))ya()}if((c|0)==(b|0)){k[3652]=k[3652]&~(1<>>0>>0)ya();a=c+8|0;if((k[a>>2]|0)==(j|0))e=a;else ya()}else e=c+8|0;k[b+12>>2]=c;k[e>>2]=b;q=j;f=i;break}e=k[j+24>>2]|0;c=k[j+12>>2]|0;do if((c|0)==(j|0)){b=j+16|0;c=b+4|0;a=k[c>>2]|0;if(!a){a=k[b>>2]|0;if(!a){h=0;break}}else b=c;while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0>>0)ya();else{k[b>>2]=0;h=a;break}}else{d=k[j+8>>2]|0;if(d>>>0>>0)ya();a=d+12|0;if((k[a>>2]|0)!=(j|0))ya();b=c+8|0;if((k[b>>2]|0)==(j|0)){k[a>>2]=c;k[b>>2]=d;h=c;break}else ya()}while(0);if(e){a=k[j+28>>2]|0;b=14912+(a<<2)|0;if((j|0)==(k[b>>2]|0)){k[b>>2]=h;if(!h){k[3653]=k[3653]&~(1<>>0<(k[3656]|0)>>>0)ya();a=e+16|0;if((k[a>>2]|0)==(j|0))k[a>>2]=h;else k[e+20>>2]=h;if(!h){q=j;f=i;break}}c=k[3656]|0;if(h>>>0>>0)ya();k[h+24>>2]=e;a=j+16|0;b=k[a>>2]|0;do if(b|0)if(b>>>0>>0)ya();else{k[h+16>>2]=b;k[b+24>>2]=h;break}while(0);a=k[a+4>>2]|0;if(a)if(a>>>0<(k[3656]|0)>>>0)ya();else{k[h+20>>2]=a;k[a+24>>2]=h;q=j;f=i;break}else{q=j;f=i}}else{q=j;f=i}}else{q=c;f=d}while(0);if(q>>>0>=m>>>0)ya();a=m+4|0;b=k[a>>2]|0;if(!(b&1))ya();if(!(b&2)){if((m|0)==(k[3658]|0)){p=(k[3655]|0)+f|0;k[3655]=p;k[3658]=q;k[q+4>>2]=p|1;if((q|0)!=(k[3657]|0))return;k[3657]=0;k[3654]=0;return}if((m|0)==(k[3657]|0)){p=(k[3654]|0)+f|0;k[3654]=p;k[3657]=q;k[q+4>>2]=p|1;k[q+p>>2]=p;return}f=(b&-8)+f|0;d=b>>>3;do if(b>>>0>=256){e=k[m+24>>2]|0;a=k[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;c=b+4|0;a=k[c>>2]|0;if(!a){a=k[b>>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[3656]|0)>>>0)ya();else{k[b>>2]=0;n=a;break}}else{b=k[m+8>>2]|0;if(b>>>0<(k[3656]|0)>>>0)ya();c=b+12|0;if((k[c>>2]|0)!=(m|0))ya();d=a+8|0;if((k[d>>2]|0)==(m|0)){k[c>>2]=a;k[d>>2]=b;n=a;break}else ya()}while(0);if(e|0){a=k[m+28>>2]|0;b=14912+(a<<2)|0;if((m|0)==(k[b>>2]|0)){k[b>>2]=n;if(!n){k[3653]=k[3653]&~(1<>>0<(k[3656]|0)>>>0)ya();a=e+16|0;if((k[a>>2]|0)==(m|0))k[a>>2]=n;else k[e+20>>2]=n;if(!n)break}c=k[3656]|0;if(n>>>0>>0)ya();k[n+24>>2]=e;a=m+16|0;b=k[a>>2]|0;do if(b|0)if(b>>>0>>0)ya();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[3656]|0)>>>0)ya();else{k[n+20>>2]=a;k[a+24>>2]=n;break}}}else{b=k[m+8>>2]|0;c=k[m+12>>2]|0;a=14648+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(k[3656]|0)>>>0)ya();if((k[b+12>>2]|0)!=(m|0))ya()}if((c|0)==(b|0)){k[3652]=k[3652]&~(1<>>0<(k[3656]|0)>>>0)ya();a=c+8|0;if((k[a>>2]|0)==(m|0))l=a;else ya()}else l=c+8|0;k[b+12>>2]=c;k[l>>2]=b}while(0);k[q+4>>2]=f|1;k[q+f>>2]=f;if((q|0)==(k[3657]|0)){k[3654]=f;return}}else{k[a>>2]=b&-2;k[q+4>>2]=f|1;k[q+f>>2]=f}a=f>>>3;if(f>>>0<256){c=14648+(a<<1<<2)|0;b=k[3652]|0;a=1<>2]|0;if(b>>>0<(k[3656]|0)>>>0)ya();else{o=a;p=b}}else{k[3652]=b|a;o=c+8|0;p=c}k[o>>2]=q;k[p+12>>2]=q;k[q+8>>2]=p;k[q+12>>2]=c;return}a=f>>>8;if(a)if(f>>>0>16777215)c=31;else{o=(a+1048320|0)>>>16&8;p=a<>>16&4;p=p<>>16&2;c=14-(n|o|c)+(p<>>15)|0;c=f>>>(c+7|0)&1|c<<1}else c=0;d=14912+(c<<2)|0;k[q+28>>2]=c;k[q+20>>2]=0;k[q+16>>2]=0;a=k[3653]|0;b=1<>>1)|0);a=k[d>>2]|0;while(1){if((k[a+4>>2]&-8|0)==(f|0)){c=a;d=130;break}b=a+16+(e>>>31<<2)|0;c=k[b>>2]|0;if(!c){d=127;break}else{e=e<<1;a=c}}if((d|0)==127)if(b>>>0<(k[3656]|0)>>>0)ya();else{k[b>>2]=q;k[q+24>>2]=a;k[q+12>>2]=q;k[q+8>>2]=q;break}else if((d|0)==130){a=c+8|0;b=k[a>>2]|0;p=k[3656]|0;if(b>>>0>=p>>>0&c>>>0>=p>>>0){k[b+12>>2]=q;k[a>>2]=q;k[q+8>>2]=b;k[q+12>>2]=c;k[q+24>>2]=0;break}else ya()}}else{k[3653]=a|b;k[d>>2]=q;k[q+24>>2]=d;k[q+12>>2]=q;k[q+8>>2]=q}while(0);q=(k[3660]|0)+-1|0;k[3660]=q;if(!q)a=15064;else return;while(1){a=k[a>>2]|0;if(!a)break;else a=a+8|0}k[3660]=-1;return}function xp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;a:do if(a>>>0<212){b=4944;c=48;b:while(1){while(1){if(!c)break b;d=(c|0)/2|0;e=b+(d<<2)|0;if((k[e>>2]|0)>>>0>>0){b=e;break}else c=d}b=b+4|0;c=c+-1-d|0}b=k[b>>2]|0}else{f=(a>>>0)/210|0;g=f*210|0;a=a-g|0;b=5136;c=48;c:while(1){while(1){if(!c)break c;d=(c|0)/2|0;e=b+(d<<2)|0;if((k[e>>2]|0)>>>0>>0){b=e;break}else c=d}b=b+4|0;c=c+-1-d|0}b=b-5136>>2;a=b;b=(k[5136+(b<<2)>>2]|0)+g|0;while(1){e=5;while(1){if(e>>>0>=47){e=211;h=17;break}c=k[4944+(e<<2)>>2]|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break;else e=e+1|0}d:do if((h|0)==17)while(1){h=0;c=(b>>>0)/(e>>>0)|0;if(c>>>0>>0)break a;if((b|0)==(ha(c,e)|0))break d;c=e+10|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+12|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+16|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+18|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+22|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+28|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+30|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+36|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+40|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+42|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+46|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+52|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+58|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+60|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+66|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+70|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+72|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+78|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+82|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+88|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+96|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+100|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+102|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+106|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+108|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+112|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+120|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+126|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+130|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+136|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+138|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+142|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+148|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+150|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+156|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+162|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+166|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+168|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+172|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+178|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+180|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+186|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+190|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+192|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+196|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+198|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+208|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break;else{e=e+210|0;h=17}}while(0);g=a+1|0;e=(g|0)==48;b=(e&1)+f|0;g=e?0:g;a=g;f=b;b=(k[5136+(g<<2)>>2]|0)+(b*210|0)|0}}while(0);return b|0}function yp(a){a=a|0;Aa(13810,13833,303,13930)}function zp(a){a=a|0;Aa(13951,13833,314,13974)}function Ap(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+48|0;g=e+32|0;c=e+24|0;h=e+16|0;f=e;e=e+36|0;a=Bp()|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[1353];Ep(14372,c)}if((b|0)==1126902529&(a|0)==1129074247)a=k[d+44>>2]|0;else a=d+80|0;k[e>>2]=a;d=k[d>>2]|0;a=k[d+4>>2]|0;if(_a[k[(k[168]|0)+16>>2]&31](672,d,e)|0){h=k[e>>2]|0;e=k[1353]|0;h=cb[k[(k[h>>2]|0)+8>>2]&127](h)|0;k[f>>2]=e;k[f+4>>2]=a;k[f+8>>2]=h;Ep(14286,f)}else{k[h>>2]=k[1353];k[h+4>>2]=a;Ep(14331,h)}}Ep(14410,g)}function Bp(){var a=0,b=0;a=r;r=r+16|0;if(!(Ma(15104,3)|0)){b=Ka(k[3777]|0)|0;r=a;return b|0}else Ep(14098,a);return 0}function Cp(){var a=0;a=r;r=r+16|0;if(!(xa(15108,71)|0)){r=a;return}else Ep(14048,a)}function Dp(a){a=a|0;var b=0;b=r;r=r+16|0;wp(a);if(!(Pa(k[3777]|0,0)|0)){r=b;return}else Ep(13995,b)}function Ep(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c>>2]=b;b=k[1178]|0;bp(b,a,c)|0;up(10,b)|0;ya()}function Fp(a){a=a|0;return}function Gp(a){a=a|0;return}function Hp(a){a=a|0;Ip(a);return}function Ip(a){a=a|0;wp(a);return}function Jp(a){a=a|0;return}function Kp(a){a=a|0;return}function Lp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+64|0;f=g;if((a|0)!=(b|0))if((b|0)!=0?(e=Mp(b,712,680,0)|0,(e|0)!=0):0){b=f;d=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(d|0));k[f>>2]=e;k[f+8>>2]=a;k[f+12>>2]=-1;k[f+48>>2]=1;hb[k[(k[e>>2]|0)+28>>2]&3](e,f,k[c>>2]|0,1);if((k[f+24>>2]|0)==1){k[c>>2]=k[f+16>>2];b=1}else b=0}else b=0;else b=1;r=g;return b|0}function Mp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;p=q;o=k[a>>2]|0;n=a+(k[o+-8>>2]|0)|0;o=k[o+-4>>2]|0;k[p>>2]=c;k[p+4>>2]=a;k[p+8>>2]=b;k[p+12>>2]=d;h=p+16|0;d=p+20|0;a=p+24|0;b=p+28|0;e=p+32|0;f=p+40|0;g=(o|0)==(c|0);l=h;m=l+36|0;do{k[l>>2]=0;l=l+4|0}while((l|0)<(m|0));j[h+36>>1]=0;i[h+38>>0]=0;a:do if(g){k[p+48>>2]=1;fb[k[(k[c>>2]|0)+20>>2]&3](c,p,n,n,1,0);d=(k[a>>2]|0)==1?n:0}else{$a[k[(k[o>>2]|0)+24>>2]&3](o,p,n,1,0);switch(k[p+36>>2]|0){case 0:{d=(k[f>>2]|0)==1&(k[b>>2]|0)==1&(k[e>>2]|0)==1?k[d>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((k[a>>2]|0)!=1?!((k[f>>2]|0)==0&(k[b>>2]|0)==1&(k[e>>2]|0)==1):0){d=0;break}d=k[h>>2]|0}while(0);r=q;return d|0}function Np(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((a|0)==(k[b+8>>2]|0))Op(0,b,c,d,e);else{a=k[a+8>>2]|0;fb[k[(k[a>>2]|0)+20>>2]&3](a,b,c,d,e,f)}return}function Op(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;i[b+53>>0]=1;do if((k[b+4>>2]|0)==(d|0)){i[b+52>>0]=1;d=b+16|0;a=k[d>>2]|0;if(!a){k[d>>2]=c;k[b+24>>2]=e;k[b+36>>2]=1;if(!((e|0)==1?(k[b+48>>2]|0)==1:0))break;i[b+54>>0]=1;break}if((a|0)!=(c|0)){e=b+36|0;k[e>>2]=(k[e>>2]|0)+1;i[b+54>>0]=1;break}a=b+24|0;d=k[a>>2]|0;if((d|0)==2){k[a>>2]=e;d=e}if((d|0)==1?(k[b+48>>2]|0)==1:0)i[b+54>>0]=1}while(0);return}function Pp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;do if((a|0)==(k[b+8>>2]|0)){if((k[b+4>>2]|0)==(c|0)?(f=b+28|0,(k[f>>2]|0)!=1):0)k[f>>2]=d}else{if((a|0)!=(k[b>>2]|0)){h=k[a+8>>2]|0;$a[k[(k[h>>2]|0)+24>>2]&3](h,b,c,d,e);break}if((k[b+16>>2]|0)!=(c|0)?(h=b+20|0,(k[h>>2]|0)!=(c|0)):0){k[b+32>>2]=d;g=b+44|0;if((k[g>>2]|0)==4)break;f=b+52|0;i[f>>0]=0;d=b+53|0;i[d>>0]=0;a=k[a+8>>2]|0;fb[k[(k[a>>2]|0)+20>>2]&3](a,b,c,c,1,e);if(i[d>>0]|0)if(!(i[f>>0]|0)){f=1;d=13}else d=17;else{f=0;d=13}do if((d|0)==13){k[h>>2]=c;c=b+40|0;k[c>>2]=(k[c>>2]|0)+1;if((k[b+36>>2]|0)==1?(k[b+24>>2]|0)==2:0){i[b+54>>0]=1;if(f){d=17;break}else{f=4;break}}if(f)d=17;else f=4}while(0);if((d|0)==17)f=3;k[g>>2]=f;break}if((d|0)==1)k[b+32>>2]=1}while(0);return}function Qp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(k[b+8>>2]|0))Rp(0,b,c,d);else{a=k[a+8>>2]|0;hb[k[(k[a>>2]|0)+28>>2]&3](a,b,c,d)}return}function Rp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;a=b+16|0;e=k[a>>2]|0;do if(e){if((e|0)!=(c|0)){d=b+36|0;k[d>>2]=(k[d>>2]|0)+1;k[b+24>>2]=2;i[b+54>>0]=1;break}a=b+24|0;if((k[a>>2]|0)==2)k[a>>2]=d}else{k[a>>2]=c;k[b+24>>2]=d;k[b+36>>2]=1}while(0);return}function Sp(a){a=a|0;Ip(a);return}function Tp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((a|0)==(k[b+8>>2]|0))Op(0,b,c,d,e);return}function Up(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;do if((a|0)==(k[b+8>>2]|0)){if((k[b+4>>2]|0)==(c|0)?(g=b+28|0,(k[g>>2]|0)!=1):0)k[g>>2]=d}else if((a|0)==(k[b>>2]|0)){if((k[b+16>>2]|0)!=(c|0)?(f=b+20|0,(k[f>>2]|0)!=(c|0)):0){k[b+32>>2]=d;k[f>>2]=c;e=b+40|0;k[e>>2]=(k[e>>2]|0)+1;if((k[b+36>>2]|0)==1?(k[b+24>>2]|0)==2:0)i[b+54>>0]=1;k[b+44>>2]=4;break}if((d|0)==1)k[b+32>>2]=1}while(0);return}function Vp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(k[b+8>>2]|0))Rp(0,b,c,d);return}function Wp(){var a=0,b=0,c=0,d=0;c=r;r=r+16|0;d=c+8|0;a=Bp()|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){eb[k[b+12>>2]&3]();Ep(14422,c)}c=k[1332]|0;k[1332]=c+0;eb[c&3]();Ep(14422,d)}function Xp(a){a=a|0;return}function Yp(a){a=a|0;return}function Zp(a){a=a|0;Ip(a);return}function _p(a){a=a|0;return 14475}function $p(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=vp(b)|0;if(a|0){b=6;break}a=aq()|0;if(!a){b=5;break}eb[a&3]()}if((b|0)==5){b=Ba(4)|0;k[b>>2]=5424;Qa(b|0,736,68)}else if((b|0)==6)return a|0;return 0}function aq(){var a=0;a=k[3778]|0;k[3778]=a+0;return a|0}function bq(a){a=a|0;return $p(a)|0}function cq(a){a=a|0;Ip(a);return}function dq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+16|0;d=e;k[d>>2]=k[c>>2];a=_a[k[(k[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)k[c>>2]=k[d>>2];r=e;return a&1|0}function eq(a){a=a|0;if(!a)a=0;else a=(Mp(a,712,768,0)|0)!=0;return a&1|0}function fq(){}function gq(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 (L=d,a-c>>>0|0)|0}function hq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a+c|0;if((c|0)>=20){b=b&255;f=a&3;g=b|b<<8|b<<16|b<<24;e=d&~3;if(f){f=a+4-f|0;while((a|0)<(f|0)){i[a>>0]=b;a=a+1|0}}while((a|0)<(e|0)){k[a>>2]=g;a=a+4|0}}while((a|0)<(d|0)){i[a>>0]=b;a=a+1|0}return a-c|0}function iq(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b<>>32-c;return a<>>0;return (L=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function kq(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b>>>c;return a>>>c|(b&(1<>>c-32|0}function lq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((c|0)>=4096)return Ga(a|0,b|0,c|0)|0;d=a|0;if((a&3)==(b&3)){while(a&3){if(!c)return d|0;i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}while((c|0)>=4){k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0;c=c-4|0}}while((c|0)>0){i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}return d|0}function mq(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 lq(a,b,c)|0;return a|0}function nq(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b>>c;return a>>>c|(b&(1<>c-32|0}function oq(a){a=a|0;var b=0;b=i[v+(a&255)>>0]|0;if((b|0)<8)return b|0;b=i[v+(a>>8&255)>>0]|0;if((b|0)<8)return b+8|0;b=i[v+(a>>16&255)>>0]|0;if((b|0)<8)return b+16|0;return (i[v+(a>>>24)>>0]|0)+24|0}function pq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=ha(e,f)|0;d=a>>>16;a=(c>>>16)+(ha(e,d)|0)|0;e=b>>>16;b=ha(e,f)|0;return (L=(a>>>16)+(ha(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function qq(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=gq(j^a|0,i^b|0,j|0,i|0)|0;g=L;a=f^j;b=e^i;return gq((vq(h,g,gq(f^c|0,e^d|0,f|0,e|0)|0,L,0)|0)^a|0,L^b|0,a|0,b|0)|0}function rq(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;e=r;r=r+16|0;h=e|0;g=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;j=d>>31|((d|0)<0?-1:0)<<1;i=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;a=gq(g^a|0,f^b|0,g|0,f|0)|0;b=L;vq(a,b,gq(j^c|0,i^d|0,j|0,i|0)|0,L,h)|0;d=gq(k[h>>2]^g|0,k[h+4>>2]^f|0,g|0,f|0)|0;c=L;r=e;return (L=c,d)|0}function sq(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=pq(e,f)|0;a=L;return (L=(ha(b,f)|0)+(ha(d,e)|0)+a|a&0,c|0|0)|0}function tq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return vq(a,b,c,d,0)|0}function uq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=r;r=r+16|0;e=f|0;vq(a,b,c,d,e)|0;r=f;return (L=k[e+4>>2]|0,k[e>>2]|0)|0}function vq(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 (L=n,e)|0}else{if(!f){n=0;e=0;return (L=n,e)|0}k[e>>2]=a|0;k[e+4>>2]=b&0;n=0;e=0;return (L=n,e)|0}}f=(h|0)==0;do if(g){if(!f){f=(ja(h|0)|0)-(ja(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 (L=n,e)|0}f=g-1|0;if(f&g|0){h=(ja(g|0)|0)+33-(ja(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 (L=o,p)|0}else{p=oq(g|0)|0;o=j>>>(p>>>0)|0;p=j<<32-p|l>>>(p>>>0)|0;return (L=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 (L=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 (L=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>>>((oq(h|0)|0)>>>0);return (L=o,p)|0}f=(ja(h|0)|0)-(ja(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 (L=o,p)|0}while(0);if(!g){j=h;i=0;h=0}else{m=c|0|0;l=n|d&0;j=jq(m|0,l|0,-1,-1)|0;c=L;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;gq(j|0,c|0,d|0,n|0)|0;p=L;o=p>>31|((p|0)<0?-1:0)<<1;h=o&1;a=gq(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=L;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 (L=o,p)|0}function wq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return _a[a&31](b|0,c|0,d|0)|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;$a[a&3](b|0,c|0,d|0,e|0,f|0)}function yq(a,b){a=a|0;b=b|0;ab[a&127](b|0)}function zq(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 bb[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Aq(a,b){a=a|0;b=b|0;return cb[a&127](b|0)|0}function Bq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;db[a&7](b|0,c|0,d|0)}function Cq(a){a=a|0;eb[a&3]()}function Dq(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;fb[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Eq(a,b,c){a=a|0;b=b|0;c=c|0;return gb[a&63](b|0,c|0)|0}function Fq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;hb[a&3](b|0,c|0,d|0,e|0)}function Gq(a,b,c){a=a|0;b=b|0;c=c|0;ka(0);return 0}function Hq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ka(1)}function Iq(a){a=a|0;ka(2)}function Jq(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(3);return 0}function Kq(a){a=a|0;ka(4);return 0}function Lq(a,b,c){a=a|0;b=b|0;c=c|0;ka(5)}function Mq(){ka(6)}function Nq(){Wa()}function Oq(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(7)}function Pq(a,b){a=a|0;b=b|0;ka(8);return 0}function Qq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(9)} +function bm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0,ma=0,na=0,oa=0;oa=r;r=r+160|0;na=oa;o=oa+120|0;ma=oa+72|0;la=oa+28|0;ka=oa+16|0;X=oa+88|0;Y=oa+40|0;k[o>>2]=b;k[o+4>>2]=k[c>>2];V=c+4|0;k[o+8>>2]=k[V>>2];W=c+8|0;k[o+12>>2]=k[W>>2];T=o+16|0;k[T>>2]=k[d>>2];k[T+4>>2]=k[d+4>>2];k[T+8>>2]=k[d+8>>2];k[o+28>>2]=e;k[ma>>2]=0;T=ma+4|0;k[T>>2]=0;k[ma+8>>2]=0;U=ma+8|0;cm(ma,o);b=k[T>>2]|0;o=k[ma>>2]|0;e=b-o|0;if((e|0)>32){g=((e>>5)+-2|0)/2|0;h=o+(g<<5)|0;e=b+-32|0;j=k[e>>2]|0;if((k[h>>2]|0)>>>0>>0){l=k[b+-28>>2]|0;m=k[b+-24>>2]|0;n=k[b+-20>>2]|0;b=b+-16|0;k[na>>2]=k[b>>2];k[na+4>>2]=k[b+4>>2];k[na+8>>2]=k[b+8>>2];k[na+12>>2]=k[b+12>>2];b=h;while(1){k[e>>2]=k[b>>2];k[e+4>>2]=k[b+4>>2];k[e+8>>2]=k[b+8>>2];k[e+12>>2]=k[b+12>>2];k[e+16>>2]=k[b+16>>2];k[e+20>>2]=k[b+20>>2];k[e+24>>2]=k[b+24>>2];k[e+28>>2]=k[b+28>>2];if(!g)break;g=(g+-1|0)/2|0;e=o+(g<<5)|0;if((k[e>>2]|0)>>>0>=j>>>0)break;else{S=b;b=e;e=S}}k[b>>2]=j;k[b+4>>2]=l;k[b+8>>2]=m;k[b+12>>2]=n;g=b+16|0;k[g>>2]=k[na>>2];k[g+4>>2]=k[na+4>>2];k[g+8>>2]=k[na+8>>2];k[g+12>>2]=k[na+12>>2];g=7}else g=7}else e=o;a:while(1){if((g|0)==7){e=k[ma>>2]|0;b=k[T>>2]|0}if((e|0)==(b|0)){g=62;break}S=k[e>>2]|0;b=k[e+4>>2]|0;p=k[e+8>>2]|0;n=k[e+12>>2]|0;R=e+16|0;k[la>>2]=k[R>>2];k[la+4>>2]=k[R+4>>2];k[la+8>>2]=k[R+8>>2];R=k[e+28>>2]|0;dm(ma);k[c>>2]=b;k[V>>2]=p;k[W>>2]=n;k[d>>2]=k[la>>2];k[d+4>>2]=k[la+4>>2];k[d+8>>2]=k[la+8>>2];k[na>>2]=k[la>>2];k[na+4>>2]=k[la+4>>2];k[na+8>>2]=k[la+8>>2];R=an(a,S,c,na,R)|0;n=d+(R<<2)|0;p=k[n>>2]|0;b=k[a>>2]|0;do if((b|0)==(p|0)){if((S|0)>0){l=k[f>>2]|0;e=f+4|0;g=l+84|0;h=l+68|0;j=l+40|0;l=l+64|0;b=k[e>>2]|0;m=b;o=0;while(1){if(!(i[g>>0]|0))n=k[(k[h>>2]|0)+(m<<2)>>2]|0;else n=m;Q=j;R=k[Q>>2]|0;Q=tq(n|0,((n|0)<0)<<31>>31|0,R|0,k[Q+4>>2]|0)|0;mq((k[k[l>>2]>>2]|0)+Q|0,c|0,R|0)|0;o=o+1|0;if((o|0)==(S|0))break;else m=m+1|0}k[e>>2]=S+b}}else{if(!S){g=16;break a}if(S>>>0>=3){k[ka>>2]=k[c>>2];q=ka+4|0;k[q>>2]=k[V>>2];s=ka+8|0;k[s>>2]=k[W>>2];Q=ka+(R<<2)|0;k[Q>>2]=(k[Q>>2]|0)+(1<>>1)-b|0;h=S-l|0;if((l|0)==(h|0)){m=l;o=l}else{b=a+856|0;S=k[b>>2]|0;e=a+852|0;g=k[e>>2]|0;j=(k[g>>2]&1<<31-S|0)!=0;S=S+1|0;k[b>>2]=S;if((S|0)==32){k[e>>2]=g+4;k[b>>2]=0}m=j?l:h;o=j?h:l}k[n>>2]=p+1;if(m|0){k[X>>2]=m;b=k[c>>2]|0;k[X+4>>2]=b;e=k[V>>2]|0;k[X+8>>2]=e;g=k[W>>2]|0;k[X+12>>2]=g;h=X+16|0;k[h>>2]=k[d>>2];k[h+4>>2]=k[d+4>>2];k[h+8>>2]=k[d+8>>2];k[X+28>>2]=R;j=k[T>>2]|0;if(j>>>0<(k[U>>2]|0)>>>0){k[j>>2]=m;k[j+4>>2]=b;k[j+8>>2]=e;k[j+12>>2]=g;g=j+16|0;k[g>>2]=k[h>>2];k[g+4>>2]=k[h+4>>2];k[g+8>>2]=k[h+8>>2];k[g+12>>2]=k[h+12>>2];g=(k[T>>2]|0)+32|0;k[T>>2]=g}else{em(ma,X);g=k[T>>2]|0}b=k[ma>>2]|0;e=g-b|0;if((e|0)>32?(Z=((e>>5)+-2|0)/2|0,_=b,$=_+(Z<<5)|0,aa=g,ba=aa+-32|0,ca=k[ba>>2]|0,(k[$>>2]|0)>>>0>>0):0){h=k[aa+-28>>2]|0;j=k[aa+-24>>2]|0;l=k[aa+-20>>2]|0;g=aa+-16|0;k[na>>2]=k[g>>2];k[na+4>>2]=k[g+4>>2];k[na+8>>2]=k[g+8>>2];k[na+12>>2]=k[g+12>>2];g=Z;e=ba;b=$;while(1){k[e>>2]=k[b>>2];k[e+4>>2]=k[b+4>>2];k[e+8>>2]=k[b+8>>2];k[e+12>>2]=k[b+12>>2];k[e+16>>2]=k[b+16>>2];k[e+20>>2]=k[b+20>>2];k[e+24>>2]=k[b+24>>2];k[e+28>>2]=k[b+28>>2];if(!g)break;g=(g+-1|0)/2|0;e=_+(g<<5)|0;if((k[e>>2]|0)>>>0>=ca>>>0)break;else{S=b;b=e;e=S}}k[b>>2]=ca;k[b+4>>2]=h;k[b+8>>2]=j;k[b+12>>2]=l;S=b+16|0;k[S>>2]=k[na>>2];k[S+4>>2]=k[na+4>>2];k[S+8>>2]=k[na+8>>2];k[S+12>>2]=k[na+12>>2]}}if(o|0){k[Y>>2]=o;j=k[ka>>2]|0;k[Y+4>>2]=j;h=k[q>>2]|0;k[Y+8>>2]=h;e=k[s>>2]|0;k[Y+12>>2]=e;g=Y+16|0;k[g>>2]=k[d>>2];k[g+4>>2]=k[d+4>>2];k[g+8>>2]=k[d+8>>2];k[Y+28>>2]=R;b=k[T>>2]|0;if(b>>>0<(k[U>>2]|0)>>>0){k[b>>2]=o;k[b+4>>2]=j;k[b+8>>2]=h;k[b+12>>2]=e;S=b+16|0;k[S>>2]=k[g>>2];k[S+4>>2]=k[g+4>>2];k[S+8>>2]=k[g+8>>2];k[S+12>>2]=k[g+12>>2];g=(k[T>>2]|0)+32|0;k[T>>2]=g}else{em(ma,Y);g=k[T>>2]|0}b=k[ma>>2]|0;e=g-b|0;if((e|0)>32?(da=((e>>5)+-2|0)/2|0,ea=b,fa=ea+(da<<5)|0,ga=g,ha=ga+-32|0,ia=k[ha>>2]|0,(k[fa>>2]|0)>>>0>>0):0){h=k[ga+-28>>2]|0;j=k[ga+-24>>2]|0;l=k[ga+-20>>2]|0;g=ga+-16|0;k[na>>2]=k[g>>2];k[na+4>>2]=k[g+4>>2];k[na+8>>2]=k[g+8>>2];k[na+12>>2]=k[g+12>>2];g=da;e=ha;b=fa;while(1){k[e>>2]=k[b>>2];k[e+4>>2]=k[b+4>>2];k[e+8>>2]=k[b+8>>2];k[e+12>>2]=k[b+12>>2];k[e+16>>2]=k[b+16>>2];k[e+20>>2]=k[b+20>>2];k[e+24>>2]=k[b+24>>2];k[e+28>>2]=k[b+28>>2];if(!g)break;g=(g+-1|0)/2|0;e=ea+(g<<5)|0;if((k[e>>2]|0)>>>0>=ia>>>0)break;else{S=b;b=e;e=S}}k[b>>2]=ia;k[b+4>>2]=h;k[b+8>>2]=j;k[b+12>>2]=l;S=b+16|0;k[S>>2]=k[na>>2];k[S+4>>2]=k[na+4>>2];k[S+8>>2]=k[na+8>>2];k[S+12>>2]=k[na+12>>2]}}break}x=(R|0)==2?0:R+1|0;t=(x|0)==2?0:x+1|0;Q=b-p|0;F=k[d+(x<<2)>>2]|0;H=b-F|0;q=k[d+(t<<2)>>2]|0;I=b-q|0;J=a+816|0;K=a+812|0;P=k[f>>2]|0;L=f+4|0;M=P+84|0;N=P+68|0;O=P+40|0;P=P+64|0;D=(b|0)==(p|0);B=na+(R<<2)|0;E=c+(R<<2)|0;F=(b|0)==(F|0);C=na+(x<<2)|0;G=c+(x<<2)|0;q=(b|0)==(q|0);p=na+(t<<2)|0;s=c+(t<<2)|0;t=na+(t<<2)|0;u=(I|0)<33;v=(I|0)>0;w=32-I|0;x=na+(x<<2)|0;y=(H|0)<33;z=(H|0)>0;A=32-H|0;j=na+(R<<2)|0;l=(Q|0)<33;m=(Q|0)>0;n=32-Q|0;o=0;do{k[na>>2]=0;k[na+4>>2]=0;k[na+8>>2]=0;do if(!D){if(!l){g=23;break a}if(!m){g=25;break a}g=k[J>>2]|0;b=32-g|0;h=k[K>>2]|0;e=k[h>>2]<(b|0)){R=Q-b|0;k[J>>2]=R;h=h+4|0;k[K>>2]=h;R=32-R|0;b=(k[h>>2]|0)>>>R|e>>>(R-b|0);k[j>>2]=b;e=j;break}b=e>>>n;k[j>>2]=b;R=g+Q|0;k[J>>2]=R;if((R|0)==32){k[K>>2]=h+4;k[J>>2]=0;e=j}else e=j}else{e=B;b=k[B>>2]|0}while(0);k[e>>2]=b|k[E>>2];do if(!F){if(!y){g=23;break a}if(!z){g=25;break a}g=k[J>>2]|0;b=32-g|0;h=k[K>>2]|0;e=k[h>>2]<(b|0)){R=H-b|0;k[J>>2]=R;h=h+4|0;k[K>>2]=h;R=32-R|0;b=(k[h>>2]|0)>>>R|e>>>(R-b|0);k[x>>2]=b;e=x;break}b=e>>>A;k[x>>2]=b;R=g+H|0;k[J>>2]=R;if((R|0)==32){k[K>>2]=h+4;k[J>>2]=0;e=x}else e=x}else{e=C;b=k[C>>2]|0}while(0);k[e>>2]=b|k[G>>2];do if(!q){if(!u){g=23;break a}if(!v){g=25;break a}g=k[J>>2]|0;b=32-g|0;h=k[K>>2]|0;e=k[h>>2]<(b|0)){R=I-b|0;k[J>>2]=R;h=h+4|0;k[K>>2]=h;R=32-R|0;b=(k[h>>2]|0)>>>R|e>>>(R-b|0);k[t>>2]=b;e=t;break}b=e>>>w;k[t>>2]=b;R=g+I|0;k[J>>2]=R;if((R|0)==32){k[K>>2]=h+4;k[J>>2]=0;e=t}else e=t}else{e=p;b=k[p>>2]|0}while(0);k[e>>2]=b|k[s>>2];b=k[L>>2]|0;k[L>>2]=b+1;if(!(i[M>>0]|0))b=k[(k[N>>2]|0)+(b<<2)>>2]|0;h=O;R=k[h>>2]|0;h=tq(b|0,((b|0)<0)<<31>>31|0,R|0,k[h+4>>2]|0)|0;mq((k[k[P>>2]>>2]|0)+h|0,na|0,R|0)|0;o=o+1|0}while(o>>>0>>0)}while(0);g=7}if((g|0)==16)Aa(9923,9961,231,10031);else if((g|0)==23)Aa(10044,10068,111,10095);else if((g|0)==25)Aa(10124,10068,112,10095);else if((g|0)==62){if(!b){r=oa;return}Jp(b);r=oa;return}}function cm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=a+4|0;d=k[a>>2]|0;e=((k[l>>2]|0)-d>>5)+1|0;if(e>>>0>134217727)zp(a);j=d;m=a+8|0;c=(k[m>>2]|0)-d|0;if(c>>5>>>0<67108863){c=c>>4;c=c>>>0>>0?e:c;e=k[l>>2]|0;f=e-d>>5;if(!c){h=0;i=0}else g=6}else{f=k[l>>2]|0;c=134217727;e=f;f=f-d>>5;g=6}if((g|0)==6){h=c;i=aq(c<<5)|0}g=i+(f<<5)|0;c=g;h=i+(h<<5)|0;k[g>>2]=k[b>>2];k[i+(f<<5)+4>>2]=k[b+4>>2];k[i+(f<<5)+8>>2]=k[b+8>>2];k[i+(f<<5)+12>>2]=k[b+12>>2];f=i+(f<<5)+16|0;b=b+16|0;k[f>>2]=k[b>>2];k[f+4>>2]=k[b+4>>2];k[f+8>>2]=k[b+8>>2];k[f+12>>2]=k[b+12>>2];f=g+32|0;if((e|0)!=(j|0)){d=g;do{i=e;e=e+-32|0;k[d+-32>>2]=k[e>>2];k[d+-28>>2]=k[i+-28>>2];k[d+-24>>2]=k[i+-24>>2];k[d+-20>>2]=k[i+-20>>2];b=d+-16|0;i=i+-16|0;k[b>>2]=k[i>>2];k[b+4>>2]=k[i+4>>2];k[b+8>>2]=k[i+8>>2];k[b+12>>2]=k[i+12>>2];d=c+-32|0;c=d}while((e|0)!=(j|0));d=k[a>>2]|0}k[a>>2]=c;k[l>>2]=f;k[m>>2]=h;if(!d)return;Jp(d);return}function dm(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+16|0;s=t;b=k[a>>2]|0;q=a+4|0;a=k[q>>2]|0;c=a-b|0;d=c>>5;if((c|0)<=32){s=k[q>>2]|0;s=s+-32|0;k[q>>2]=s;r=t;return}p=b;o=a;j=o+-32|0;a=k[p>>2]|0;e=p+4|0;l=k[e>>2]|0;f=p+8|0;m=k[f>>2]|0;g=p+12|0;n=k[g>>2]|0;i=p+16|0;k[s>>2]=k[i>>2];k[s+4>>2]=k[i+4>>2];k[s+8>>2]=k[i+8>>2];k[s+12>>2]=k[i+12>>2];h=b;k[h>>2]=k[j>>2];k[h+4>>2]=k[j+4>>2];k[h+8>>2]=k[j+8>>2];k[h+12>>2]=k[j+12>>2];k[h+16>>2]=k[j+16>>2];k[h+20>>2]=k[j+20>>2];k[h+24>>2]=k[j+24>>2];k[h+28>>2]=k[j+28>>2];k[j>>2]=a;k[o+-28>>2]=l;k[o+-24>>2]=m;k[o+-20>>2]=n;o=o+-16|0;k[o>>2]=k[s>>2];k[o+4>>2]=k[s+4>>2];k[o+8>>2]=k[s+8>>2];k[o+12>>2]=k[s+12>>2];o=d+-1|0;if((c|0)<96){s=k[q>>2]|0;s=s+-32|0;k[q>>2]=s;r=t;return}m=d+-3|0;n=(m|0)/2|0;if((m|0)<-1){s=k[q>>2]|0;s=s+-32|0;k[q>>2]=s;r=t;return}b=p+32|0;a=b;if((o|0)>2){m=p+64|0;l=(k[b>>2]|0)>>>0<(k[m>>2]|0)>>>0;b=l?2:1;a=l?m:a}else b=1;m=k[p>>2]|0;if((k[a>>2]|0)>>>0>>0){s=k[q>>2]|0;s=s+-32|0;k[q>>2]=s;r=t;return}l=k[e>>2]|0;j=k[f>>2]|0;f=k[g>>2]|0;k[s>>2]=k[i>>2];k[s+4>>2]=k[i+4>>2];k[s+8>>2]=k[i+8>>2];k[s+12>>2]=k[i+12>>2];while(1){i=h;h=a;k[i>>2]=k[h>>2];k[i+4>>2]=k[h+4>>2];k[i+8>>2]=k[h+8>>2];k[i+12>>2]=k[h+12>>2];k[i+16>>2]=k[h+16>>2];k[i+20>>2]=k[h+20>>2];k[i+24>>2]=k[h+24>>2];k[i+28>>2]=k[h+28>>2];if((n|0)<(b|0))break;b=b<<1|1;d=p+(b<<5)|0;c=d;e=b+1|0;if((e|0)<(o|0)){i=d+32|0;g=(k[d>>2]|0)>>>0<(k[i>>2]|0)>>>0;b=g?e:b;c=g?i:c}if((k[c>>2]|0)>>>0>>0)break;else a=c}p=a;k[p>>2]=m;k[p+4>>2]=l;k[p+8>>2]=j;k[p+12>>2]=f;p=p+16|0;k[p>>2]=k[s>>2];k[p+4>>2]=k[s+4>>2];k[p+8>>2]=k[s+8>>2];k[p+12>>2]=k[s+12>>2];s=k[q>>2]|0;s=s+-32|0;k[q>>2]=s;r=t;return}function em(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=a+4|0;d=k[a>>2]|0;e=((k[l>>2]|0)-d>>5)+1|0;if(e>>>0>134217727)zp(a);j=d;m=a+8|0;c=(k[m>>2]|0)-d|0;if(c>>5>>>0<67108863){c=c>>4;c=c>>>0>>0?e:c;e=k[l>>2]|0;f=e-d>>5;if(!c){h=0;i=0}else g=6}else{f=k[l>>2]|0;c=134217727;e=f;f=f-d>>5;g=6}if((g|0)==6){h=c;i=aq(c<<5)|0}g=i+(f<<5)|0;c=g;h=i+(h<<5)|0;k[g>>2]=k[b>>2];k[i+(f<<5)+4>>2]=k[b+4>>2];k[i+(f<<5)+8>>2]=k[b+8>>2];k[i+(f<<5)+12>>2]=k[b+12>>2];f=i+(f<<5)+16|0;b=b+16|0;k[f>>2]=k[b>>2];k[f+4>>2]=k[b+4>>2];k[f+8>>2]=k[b+8>>2];k[f+12>>2]=k[b+12>>2];f=g+32|0;if((e|0)!=(j|0)){d=g;do{i=e;e=e+-32|0;k[d+-32>>2]=k[e>>2];k[d+-28>>2]=k[i+-28>>2];k[d+-24>>2]=k[i+-24>>2];k[d+-20>>2]=k[i+-20>>2];b=d+-16|0;i=i+-16|0;k[b>>2]=k[i>>2];k[b+4>>2]=k[i+4>>2];k[b+8>>2]=k[i+8>>2];k[b+12>>2]=k[i+12>>2];d=c+-32|0;c=d}while((e|0)!=(j|0));d=k[a>>2]|0}k[a>>2]=c;k[l>>2]=f;k[m>>2]=h;if(!d)return;Jp(d);return}function fm(a){a=a|0;Yg(a);k[a>>2]=4384;return}function gm(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;return}function hm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+912|0;B=D+908|0;C=D;n=D+904|0;o=D+900|0;q=D+896|0;s=D+892|0;t=D+888|0;u=D+884|0;v=D+880|0;w=D+876|0;x=D+872|0;y=D+868|0;p=D+864|0;e=b+8|0;j=e;z=k[j>>2]|0;j=k[j+4>>2]|0;f=b+16|0;A=f;d=k[A>>2]|0;A=kq(d|0,k[A+4>>2]|0,4,0)|0;m=L;if((j|0)<(m|0)|(j|0)==(m|0)&z>>>0>>0){c=0;r=D;return c|0}A=(k[b>>2]|0)+d|0;A=l[A>>0]|l[A+1>>0]<<8|l[A+2>>0]<<16|l[A+3>>0]<<24;i[a>>0]=A;i[a+1>>0]=A>>8;i[a+2>>0]=A>>16;i[a+3>>0]=A>>24;A=f;m=k[A>>2]|0;A=k[A+4>>2]|0;d=kq(m|0,A|0,4,0)|0;j=f;k[j>>2]=d;k[j+4>>2]=L;j=e;z=k[j>>2]|0;j=k[j+4>>2]|0;A=kq(m|0,A|0,8,0)|0;m=L;if((j|0)<(m|0)|(j|0)==(m|0)&z>>>0>>0){c=0;r=D;return c|0}z=a+4|0;j=(k[b>>2]|0)+d|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;i[z>>0]=j;i[z+1>>0]=j>>8;i[z+2>>0]=j>>16;i[z+3>>0]=j>>24;z=f;j=k[z>>2]|0;z=k[z+4>>2]|0;d=kq(j|0,z|0,4,0)|0;A=f;k[A>>2]=d;k[A+4>>2]=L;A=a+8|0;h=e;m=k[h>>2]|0;h=k[h+4>>2]|0;z=kq(j|0,z|0,8,0)|0;j=L;if((h|0)<(j|0)|(h|0)==(j|0)&m>>>0>>0){c=0;r=D;return c|0}z=(k[b>>2]|0)+d|0;z=l[z>>0]|l[z+1>>0]<<8|l[z+2>>0]<<16|l[z+3>>0]<<24;i[A>>0]=z;i[A+1>>0]=z>>8;i[A+2>>0]=z>>16;i[A+3>>0]=z>>24;m=f;h=k[m>>2]|0;m=k[m+4>>2]|0;d=kq(h|0,m|0,4,0)|0;g=f;k[g>>2]=d;k[g+4>>2]=L;g=e;j=k[g>>2]|0;g=k[g+4>>2]|0;m=kq(h|0,m|0,8,0)|0;h=L;if((g|0)<(h|0)|(g|0)==(h|0)&j>>>0>>0){c=0;r=D;return c|0}j=a+12|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[j>>0]=d;i[j+1>>0]=d>>8;i[j+2>>0]=d>>16;i[j+3>>0]=d>>24;j=f;j=kq(k[j>>2]|0,k[j+4>>2]|0,4,0)|0;m=f;k[m>>2]=j;k[m+4>>2]=L;a:do if(!z)d=c;else do switch(d|0){case 0:{g=c+8|0;h=k[c>>2]|0;a=h;if((((k[g>>2]|0)-h|0)/12|0)>>>0>>0){j=c+4|0;d=k[j>>2]|0;e=d;f=aq(z*12|0)|0;d=f+(((d-h|0)/12|0)*12|0)|0;m=d;f=f+(z*12|0)|0;if((e|0)==(a|0))d=m;else do{z=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[z+-8>>2];k[d+-4>>2]=k[z+-4>>2];d=d+-12|0}while((e|0)!=(a|0));k[c>>2]=d;k[j>>2]=m;k[g>>2]=f;if(h|0)Jp(h)}Fm(C);k[n>>2]=c;k[B>>2]=k[n>>2];im(C,b,B)|0;hd(C+68|0);hd(C+48|0);hd(C+28|0);hd(C+8|0);d=c;break a}case 1:{g=c+8|0;h=k[c>>2]|0;a=h;if((((k[g>>2]|0)-h|0)/12|0)>>>0>>0){j=c+4|0;d=k[j>>2]|0;e=d;f=aq(z*12|0)|0;d=f+(((d-h|0)/12|0)*12|0)|0;m=d;f=f+(z*12|0)|0;if((e|0)==(a|0))d=m;else do{z=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[z+-8>>2];k[d+-4>>2]=k[z+-4>>2];d=d+-12|0}while((e|0)!=(a|0));k[c>>2]=d;k[j>>2]=m;k[g>>2]=f;if(h|0)Jp(h)}Hm(C);k[o>>2]=c;k[B>>2]=k[o>>2];lm(C,b,B)|0;hd(C+68|0);hd(C+48|0);hd(C+28|0);hd(C+8|0);d=c;break a}case 2:{g=c+8|0;h=k[c>>2]|0;a=h;if((((k[g>>2]|0)-h|0)/12|0)>>>0>>0){j=c+4|0;d=k[j>>2]|0;e=d;f=aq(z*12|0)|0;d=f+(((d-h|0)/12|0)*12|0)|0;m=d;f=f+(z*12|0)|0;if((e|0)==(a|0))d=m;else do{z=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[z+-8>>2];k[d+-4>>2]=k[z+-4>>2];d=d+-12|0}while((e|0)!=(a|0));k[c>>2]=d;k[j>>2]=m;k[g>>2]=f;if(h|0)Jp(h)}Jm(C);k[q>>2]=c;k[B>>2]=k[q>>2];nm(C,b,B)|0;hd(C+64|0);hd(C+44|0);hd(C+24|0);sd(C+8|0);d=c;break a}case 3:{g=c+8|0;h=k[c>>2]|0;a=h;if((((k[g>>2]|0)-h|0)/12|0)>>>0>>0){j=c+4|0;d=k[j>>2]|0;e=d;f=aq(z*12|0)|0;d=f+(((d-h|0)/12|0)*12|0)|0;m=d;f=f+(z*12|0)|0;if((e|0)==(a|0))d=m;else do{z=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[z+-8>>2];k[d+-4>>2]=k[z+-4>>2];d=d+-12|0}while((e|0)!=(a|0));k[c>>2]=d;k[j>>2]=m;k[g>>2]=f;if(h|0)Jp(h)}Lm(C);k[s>>2]=c;k[B>>2]=k[s>>2];pm(C,b,B)|0;hd(C+64|0);hd(C+44|0);hd(C+24|0);sd(C+8|0);d=c;break a}case 4:{g=c+8|0;h=k[c>>2]|0;a=h;if((((k[g>>2]|0)-h|0)/12|0)>>>0>>0){j=c+4|0;d=k[j>>2]|0;e=d;f=aq(z*12|0)|0;d=f+(((d-h|0)/12|0)*12|0)|0;m=d;f=f+(z*12|0)|0;if((e|0)==(a|0))d=m;else do{z=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[z+-8>>2];k[d+-4>>2]=k[z+-4>>2];d=d+-12|0}while((e|0)!=(a|0));k[c>>2]=d;k[j>>2]=m;k[g>>2]=f;if(h|0)Jp(h)}Nm(C);k[t>>2]=c;k[B>>2]=k[t>>2];rm(C,b,B)|0;hd(C+576|0);hd(C+556|0);hd(C+536|0);sd(C+520|0);wl(C+8|0);d=c;break a}case 5:{g=c+8|0;h=k[c>>2]|0;a=h;if((((k[g>>2]|0)-h|0)/12|0)>>>0>>0){j=c+4|0;d=k[j>>2]|0;e=d;f=aq(z*12|0)|0;d=f+(((d-h|0)/12|0)*12|0)|0;m=d;f=f+(z*12|0)|0;if((e|0)==(a|0))d=m;else do{z=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[z+-8>>2];k[d+-4>>2]=k[z+-4>>2];d=d+-12|0}while((e|0)!=(a|0));k[c>>2]=d;k[j>>2]=m;k[g>>2]=f;if(h|0)Jp(h)}Qm(C);k[u>>2]=c;k[B>>2]=k[u>>2];tm(C,b,B)|0;hd(C+576|0);hd(C+556|0);hd(C+536|0);sd(C+520|0);wl(C+8|0);d=c;break a}case 6:{g=c+8|0;h=k[c>>2]|0;a=h;if((((k[g>>2]|0)-h|0)/12|0)>>>0>>0){j=c+4|0;d=k[j>>2]|0;e=d;f=aq(z*12|0)|0;d=f+(((d-h|0)/12|0)*12|0)|0;m=d;f=f+(z*12|0)|0;if((e|0)==(a|0))d=m;else do{z=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[z+-8>>2];k[d+-4>>2]=k[z+-4>>2];d=d+-12|0}while((e|0)!=(a|0));k[c>>2]=d;k[j>>2]=m;k[g>>2]=f;if(h|0)Jp(h)}Sm(C);k[v>>2]=c;k[B>>2]=k[v>>2];vm(C,b,B)|0;hd(C+576|0);hd(C+556|0);hd(C+536|0);sd(C+520|0);wl(C+8|0);d=c;break a}case 7:{g=c+8|0;h=k[c>>2]|0;a=h;if((((k[g>>2]|0)-h|0)/12|0)>>>0>>0){j=c+4|0;d=k[j>>2]|0;e=d;f=aq(z*12|0)|0;d=f+(((d-h|0)/12|0)*12|0)|0;m=d;f=f+(z*12|0)|0;if((e|0)==(a|0))d=m;else do{z=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[z+-8>>2];k[d+-4>>2]=k[z+-4>>2];d=d+-12|0}while((e|0)!=(a|0));k[c>>2]=d;k[j>>2]=m;k[g>>2]=f;if(h|0)Jp(h)}Um(C);k[w>>2]=c;k[B>>2]=k[w>>2];xm(C,b,B)|0;hd(C+576|0);hd(C+556|0);hd(C+536|0);sd(C+520|0);wl(C+8|0);d=c;break a}case 8:{g=c+8|0;h=k[c>>2]|0;a=h;if((((k[g>>2]|0)-h|0)/12|0)>>>0>>0){j=c+4|0;d=k[j>>2]|0;e=d;f=aq(z*12|0)|0;d=f+(((d-h|0)/12|0)*12|0)|0;m=d;f=f+(z*12|0)|0;if((e|0)==(a|0))d=m;else do{z=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[z+-8>>2];k[d+-4>>2]=k[z+-4>>2];d=d+-12|0}while((e|0)!=(a|0));k[c>>2]=d;k[j>>2]=m;k[g>>2]=f;if(h|0)Jp(h)}Wm(C);k[x>>2]=c;k[B>>2]=k[x>>2];zm(C,b,B)|0;hd(C+840|0);hd(C+820|0);hd(C+800|0);xd(C+776|0);Vl(C+8|0);d=c;break a}case 9:{g=c+8|0;h=k[c>>2]|0;a=h;if((((k[g>>2]|0)-h|0)/12|0)>>>0>>0){j=c+4|0;d=k[j>>2]|0;e=d;f=aq(z*12|0)|0;d=f+(((d-h|0)/12|0)*12|0)|0;m=d;f=f+(z*12|0)|0;if((e|0)==(a|0))d=m;else do{z=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[z+-8>>2];k[d+-4>>2]=k[z+-4>>2];d=d+-12|0}while((e|0)!=(a|0));k[c>>2]=d;k[j>>2]=m;k[g>>2]=f;if(h|0)Jp(h)}Zm(C);k[y>>2]=c;k[B>>2]=k[y>>2];Bm(C,b,B)|0;hd(C+840|0);hd(C+820|0);hd(C+800|0);xd(C+776|0);Vl(C+8|0);d=c;break a}default:{g=c+8|0;h=k[c>>2]|0;a=h;if((((k[g>>2]|0)-h|0)/12|0)>>>0>>0){j=c+4|0;d=k[j>>2]|0;e=d;f=aq(z*12|0)|0;d=f+(((d-h|0)/12|0)*12|0)|0;m=d;f=f+(z*12|0)|0;if((e|0)==(a|0))d=m;else do{z=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[z+-8>>2];k[d+-4>>2]=k[z+-4>>2];d=d+-12|0}while((e|0)!=(a|0));k[c>>2]=d;k[j>>2]=m;k[g>>2]=f;if(h|0)Jp(h)}$m(C);k[p>>2]=c;k[B>>2]=k[p>>2];Dm(C,b,B)|0;hd(C+840|0);hd(C+820|0);hd(C+800|0);xd(C+776|0);Vl(C+8|0);d=c;break a}}while(0);while(0);if((((k[c+4>>2]|0)-(k[d>>2]|0)|0)/12|0|0)==(k[A>>2]|0)){c=1;r=D;return c|0}else Aa(10146,10189,117,10253);return 0}function im(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=kq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=kq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=kq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){u=1;r=s;return u|0}if(!(id(a+8|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+28|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+48|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+68|0,b)|0)){u=0;r=s;return u|0}u=k[g>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];jm(a,u,o,m,0,n);u=1;r=s;return u|0}function jm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=r;r=r+96|0;fa=ha+80|0;m=ha+32|0;ga=ha+56|0;ea=ha+44|0;Z=ha+16|0;Y=ha;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];i=k[c>>2]|0;_=c+4|0;j=k[_>>2]|0;$=c+8|0;l=k[$>>2]|0;k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;k[ga+12>>2]=0;k[ga+16>>2]=0;k[ga+20>>2]=0;aa=ga+8|0;ba=ga+4|0;ca=ga+16|0;da=ga+20|0;Wk(ga);g=k[ba>>2]|0;h=(k[da>>2]|0)+(k[ca>>2]|0)|0;if((k[aa>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;X=g+16|0;k[X>>2]=k[m>>2];k[X+4>>2]=k[m+4>>2];k[X+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[da>>2]|0)+1|0;k[da>>2]=g;if(!g){Zk(ga);r=ha;return}O=a+44|0;P=a+40|0;Q=fa+4|0;R=fa+8|0;S=fa+4|0;T=fa+8|0;U=a+24|0;V=a+20|0;W=a+84|0;X=a+80|0;a:while(1){L=k[ca>>2]|0;m=g+-1|0;l=m+L|0;M=k[ba>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ea>>2]=k[J>>2];k[ea+4>>2]=k[J+4>>2];k[ea+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[da>>2]=m;m=k[aa>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Jp(k[m+-4>>2]|0);k[aa>>2]=(k[aa>>2]|0)+-4}k[c>>2]=h;k[_>>2]=i;k[$>>2]=j;k[d>>2]=k[ea>>2];k[d+4>>2]=k[ea+4>>2];k[d+8>>2]=k[ea+8>>2];k[fa>>2]=k[ea>>2];k[fa+4>>2]=k[ea+4>>2];k[fa+8>>2]=k[ea+8>>2];M=Gm(a,N,c,fa,l)|0;m=d+(M<<2)|0;e=k[m>>2]|0;g=k[a>>2]|0;do if((g|0)==(e|0)){if((N|0)>0){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))km(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[_>>2];k[j+8>>2]=k[$>>2];k[h>>2]=j+12}l=l+1|0}while((l|0)<(N|0))}}else{if(!N){g=15;break a}if(N>>>0>=3){k[fa>>2]=k[c>>2];k[S>>2]=k[_>>2];k[T>>2]=k[$>>2];l=fa+(M<<2)|0;k[l>>2]=(k[l>>2]|0)+(1<>>0>=33){g=34;break a}if((g|0)==31){g=36;break a}i=k[U>>2]|0;g=32-i|0;j=k[V>>2]|0;h=k[j>>2]<>>(32-l|0);L=i+l|0;k[U>>2]=L;if((L|0)==32){k[V>>2]=j+4;k[U>>2]=0}}else{L=l-g|0;k[U>>2]=L;K=j+4|0;k[V>>2]=K;L=32-L|0;g=(k[K>>2]|0)>>>L|h>>>(L-g|0)}j=(N>>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[W>>2]|0;g=k[X>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[W>>2]=N;if((N|0)==32){k[X>>2]=g+4;k[W>>2]=0}b=i?j:h;n=i?h:j}k[m>>2]=e+1;if(b|0){k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];l=k[c>>2]|0;m=k[_>>2]|0;e=k[$>>2]|0;j=k[aa>>2]|0;i=k[ba>>2]|0;g=k[ca>>2]|0;h=k[da>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Wk(ga);g=k[ca>>2]|0;h=k[da>>2]|0;j=k[aa>>2]|0;i=k[ba>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[da>>2]=(k[da>>2]|0)+1}if(n|0){k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];l=k[fa>>2]|0;m=k[S>>2]|0;e=k[T>>2]|0;j=k[aa>>2]|0;i=k[ba>>2]|0;g=k[ca>>2]|0;h=k[da>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Wk(ga);g=k[ca>>2]|0;h=k[da>>2]|0;j=k[aa>>2]|0;i=k[ba>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Y>>2];k[N+4>>2]=k[Y+4>>2];k[N+8>>2]=k[Y+8>>2];k[g+28>>2]=M;k[da>>2]=(k[da>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=g-e|0;E=k[d+(w<<2)>>2]|0;L=g-E|0;p=k[d+(s<<2)>>2]|0;G=g-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(g|0)==(e|0);A=fa+(M<<2)|0;D=c+(M<<2)|0;E=(g|0)==(E|0);B=fa+(w<<2)|0;F=c+(w<<2)|0;p=(g|0)==(p|0);o=fa+(s<<2)|0;q=c+(s<<2)|0;s=fa+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=fa+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=fa+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[fa>>2]=0;k[fa+4>>2]=0;k[fa+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=K-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=L-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=G-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))km(H,fa);else{k[g>>2]=k[fa>>2];k[g+4>>2]=k[Q>>2];k[g+8>>2]=k[R>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[da>>2]|0;if(!g){g=59;break}}if((g|0)==15)Aa(9923,9961,231,10031);else if((g|0)==23)Aa(10044,10068,111,10095);else if((g|0)==25)Aa(10124,10068,112,10095);else if((g|0)==34)Aa(10044,10068,111,10095);else if((g|0)==36)Aa(10124,10068,112,10095);else if((g|0)==59){Zk(ga);r=ha;return}}function km(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=a+4|0;d=k[a>>2]|0;e=(((k[l>>2]|0)-d|0)/12|0)+1|0;if(e>>>0>357913941)zp(a);j=d;m=a+8|0;c=((k[m>>2]|0)-d|0)/12|0;if(c>>>0<178956970){c=c<<1;c=c>>>0>>0?e:c;f=k[l>>2]|0;e=(f-d|0)/12|0;if(!c){g=0;h=0}else i=6}else{e=k[l>>2]|0;c=357913941;f=e;e=(e-d|0)/12|0;i=6}if((i|0)==6){g=c;h=aq(c*12|0)|0}c=h+(e*12|0)|0;g=h+(g*12|0)|0;k[c>>2]=k[b>>2];k[h+(e*12|0)+4>>2]=k[b+4>>2];k[h+(e*12|0)+8>>2]=k[b+8>>2];e=c+12|0;if((f|0)!=(j|0)){d=f;do{b=d;d=d+-12|0;k[c+-12>>2]=k[d>>2];k[c+-8>>2]=k[b+-8>>2];k[c+-4>>2]=k[b+-4>>2];c=c+-12|0}while((d|0)!=(j|0));d=k[a>>2]|0}k[a>>2]=c;k[l>>2]=e;k[m>>2]=g;if(!d)return;Jp(d);return}function lm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=kq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=kq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=kq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){u=1;r=s;return u|0}if(!(id(a+8|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+28|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+48|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+68|0,b)|0)){u=0;r=s;return u|0}u=k[g>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];mm(a,u,o,m,0,n);u=1;r=s;return u|0}function mm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=r;r=r+96|0;fa=ha+80|0;m=ha+32|0;ga=ha+56|0;ea=ha+44|0;Z=ha+16|0;Y=ha;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];i=k[c>>2]|0;_=c+4|0;j=k[_>>2]|0;$=c+8|0;l=k[$>>2]|0;k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;k[ga+12>>2]=0;k[ga+16>>2]=0;k[ga+20>>2]=0;aa=ga+8|0;ba=ga+4|0;ca=ga+16|0;da=ga+20|0;al(ga);g=k[ba>>2]|0;h=(k[da>>2]|0)+(k[ca>>2]|0)|0;if((k[aa>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;X=g+16|0;k[X>>2]=k[m>>2];k[X+4>>2]=k[m+4>>2];k[X+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[da>>2]|0)+1|0;k[da>>2]=g;if(!g){dl(ga);r=ha;return}O=a+44|0;P=a+40|0;Q=fa+4|0;R=fa+8|0;S=fa+4|0;T=fa+8|0;U=a+24|0;V=a+20|0;W=a+84|0;X=a+80|0;a:while(1){L=k[ca>>2]|0;m=g+-1|0;l=m+L|0;M=k[ba>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ea>>2]=k[J>>2];k[ea+4>>2]=k[J+4>>2];k[ea+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[da>>2]=m;m=k[aa>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Jp(k[m+-4>>2]|0);k[aa>>2]=(k[aa>>2]|0)+-4}k[c>>2]=h;k[_>>2]=i;k[$>>2]=j;k[d>>2]=k[ea>>2];k[d+4>>2]=k[ea+4>>2];k[d+8>>2]=k[ea+8>>2];k[fa>>2]=k[ea>>2];k[fa+4>>2]=k[ea+4>>2];k[fa+8>>2]=k[ea+8>>2];M=Im(a,N,c,fa,l)|0;m=d+(M<<2)|0;e=k[m>>2]|0;g=k[a>>2]|0;do if((g|0)==(e|0)){if((N|0)>0){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))km(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[_>>2];k[j+8>>2]=k[$>>2];k[h>>2]=j+12}l=l+1|0}while((l|0)<(N|0))}}else{if(!N){g=15;break a}if(N>>>0>=3){k[fa>>2]=k[c>>2];k[S>>2]=k[_>>2];k[T>>2]=k[$>>2];l=fa+(M<<2)|0;k[l>>2]=(k[l>>2]|0)+(1<>>0>=33){g=34;break a}if((g|0)==31){g=36;break a}i=k[U>>2]|0;g=32-i|0;j=k[V>>2]|0;h=k[j>>2]<>>(32-l|0);L=i+l|0;k[U>>2]=L;if((L|0)==32){k[V>>2]=j+4;k[U>>2]=0}}else{L=l-g|0;k[U>>2]=L;K=j+4|0;k[V>>2]=K;L=32-L|0;g=(k[K>>2]|0)>>>L|h>>>(L-g|0)}j=(N>>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[W>>2]|0;g=k[X>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[W>>2]=N;if((N|0)==32){k[X>>2]=g+4;k[W>>2]=0}b=i?j:h;n=i?h:j}k[m>>2]=e+1;if(b|0){k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];l=k[c>>2]|0;m=k[_>>2]|0;e=k[$>>2]|0;j=k[aa>>2]|0;i=k[ba>>2]|0;g=k[ca>>2]|0;h=k[da>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){al(ga);g=k[ca>>2]|0;h=k[da>>2]|0;j=k[aa>>2]|0;i=k[ba>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[da>>2]=(k[da>>2]|0)+1}if(n|0){k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];l=k[fa>>2]|0;m=k[S>>2]|0;e=k[T>>2]|0;j=k[aa>>2]|0;i=k[ba>>2]|0;g=k[ca>>2]|0;h=k[da>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){al(ga);g=k[ca>>2]|0;h=k[da>>2]|0;j=k[aa>>2]|0;i=k[ba>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Y>>2];k[N+4>>2]=k[Y+4>>2];k[N+8>>2]=k[Y+8>>2];k[g+28>>2]=M;k[da>>2]=(k[da>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=g-e|0;E=k[d+(w<<2)>>2]|0;L=g-E|0;p=k[d+(s<<2)>>2]|0;G=g-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(g|0)==(e|0);A=fa+(M<<2)|0;D=c+(M<<2)|0;E=(g|0)==(E|0);B=fa+(w<<2)|0;F=c+(w<<2)|0;p=(g|0)==(p|0);o=fa+(s<<2)|0;q=c+(s<<2)|0;s=fa+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=fa+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=fa+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[fa>>2]=0;k[fa+4>>2]=0;k[fa+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=K-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=L-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=G-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))km(H,fa);else{k[g>>2]=k[fa>>2];k[g+4>>2]=k[Q>>2];k[g+8>>2]=k[R>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[da>>2]|0;if(!g){g=59;break}}if((g|0)==15)Aa(9923,9961,231,10031);else if((g|0)==23)Aa(10044,10068,111,10095);else if((g|0)==25)Aa(10124,10068,112,10095);else if((g|0)==34)Aa(10044,10068,111,10095);else if((g|0)==36)Aa(10124,10068,112,10095);else if((g|0)==59){dl(ga);r=ha;return}}function nm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=kq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=kq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=kq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){u=1;r=s;return u|0}if(!(td(a+8|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+24|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+44|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+64|0,b)|0)){u=0;r=s;return u|0}u=k[g>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];om(a,u,o,m,0,n);u=1;r=s;return u|0}function om(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=r;r=r+112|0;fa=ha+88|0;m=ha+32|0;ga=ha+64|0;ea=ha+48|0;da=ha+44|0;Y=ha+16|0;X=ha;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];i=k[c>>2]|0;Z=c+4|0;j=k[Z>>2]|0;_=c+8|0;l=k[_>>2]|0;k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;k[ga+12>>2]=0;k[ga+16>>2]=0;k[ga+20>>2]=0;$=ga+8|0;aa=ga+4|0;ba=ga+16|0;ca=ga+20|0;gl(ga);g=k[aa>>2]|0;h=(k[ca>>2]|0)+(k[ba>>2]|0)|0;if((k[$>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;W=g+16|0;k[W>>2]=k[m>>2];k[W+4>>2]=k[m+4>>2];k[W+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ca>>2]|0)+1|0;k[ca>>2]=g;if(!g){jl(ga);r=ha;return}O=a+40|0;P=a+36|0;Q=fa+4|0;R=fa+8|0;S=fa+4|0;T=fa+8|0;U=a+8|0;V=a+80|0;W=a+76|0;a:while(1){L=k[ba>>2]|0;m=g+-1|0;l=m+L|0;M=k[aa>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ea>>2]=k[J>>2];k[ea+4>>2]=k[J+4>>2];k[ea+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ca>>2]=m;m=k[$>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Jp(k[m+-4>>2]|0);k[$>>2]=(k[$>>2]|0)+-4}k[c>>2]=h;k[Z>>2]=i;k[_>>2]=j;k[d>>2]=k[ea>>2];k[d+4>>2]=k[ea+4>>2];k[d+8>>2]=k[ea+8>>2];k[fa>>2]=k[ea>>2];k[fa+4>>2]=k[ea+4>>2];k[fa+8>>2]=k[ea+8>>2];M=Km(a,N,c,fa,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;g=k[a>>2]|0;do if((g|0)==(m|0)){if((N|0)>0){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))km(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[Z>>2];k[j+8>>2]=k[_>>2];k[h>>2]=j+12}l=l+1|0}while((l|0)<(N|0))}}else{if(!N){g=15;break a}if(N>>>0>=3){k[fa>>2]=k[c>>2];k[S>>2]=k[Z>>2];k[T>>2]=k[_>>2];j=fa+(M<<2)|0;k[j>>2]=(k[j>>2]|0)+(1<>2]=0;vd(U,j,da);j=(N>>>1)-(k[da>>2]|0)|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[V>>2]|0;g=k[W>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[V>>2]=N;if((N|0)==32){k[W>>2]=g+4;k[V>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];l=k[c>>2]|0;m=k[Z>>2]|0;e=k[_>>2]|0;j=k[$>>2]|0;i=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){gl(ga);g=k[ba>>2]|0;h=k[ca>>2]|0;j=k[$>>2]|0;i=k[aa>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Y>>2];k[N+4>>2]=k[Y+4>>2];k[N+8>>2]=k[Y+8>>2];k[g+28>>2]=M;k[ca>>2]=(k[ca>>2]|0)+1}if(n|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];l=k[fa>>2]|0;m=k[S>>2]|0;e=k[T>>2]|0;j=k[$>>2]|0;i=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){gl(ga);g=k[ba>>2]|0;h=k[ca>>2]|0;j=k[$>>2]|0;i=k[aa>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[X>>2];k[N+4>>2]=k[X+4>>2];k[N+8>>2]=k[X+8>>2];k[g+28>>2]=M;k[ca>>2]=(k[ca>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;J=g-m|0;E=k[d+(w<<2)>>2]|0;K=g-E|0;p=k[d+(s<<2)>>2]|0;L=g-p|0;G=k[f>>2]|0;H=G+4|0;I=G+8|0;C=(g|0)==(m|0);A=fa+(M<<2)|0;D=c+(M<<2)|0;E=(g|0)==(E|0);B=fa+(w<<2)|0;F=c+(w<<2)|0;p=(g|0)==(p|0);o=fa+(s<<2)|0;q=c+(s<<2)|0;s=fa+(s<<2)|0;t=(L|0)<33;u=(L|0)>0;v=32-L|0;w=fa+(w<<2)|0;x=(K|0)<33;y=(K|0)>0;z=32-K|0;l=fa+(M<<2)|0;m=(J|0)<33;e=(J|0)>0;b=32-J|0;n=0;do{k[fa>>2]=0;k[fa+4>>2]=0;k[fa+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=J-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+J|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=K-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+K|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=L-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+L|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[H>>2]|0;if((g|0)==(k[I>>2]|0))km(G,fa);else{k[g>>2]=k[fa>>2];k[g+4>>2]=k[Q>>2];k[g+8>>2]=k[R>>2];k[H>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ca>>2]|0;if(!g){g=51;break}}if((g|0)==15)Aa(9923,9961,231,10031);else if((g|0)==23)Aa(10044,10068,111,10095);else if((g|0)==25)Aa(10124,10068,112,10095);else if((g|0)==51){jl(ga);r=ha;return}}function pm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=kq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=kq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=kq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){u=1;r=s;return u|0}if(!(td(a+8|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+24|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+44|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+64|0,b)|0)){u=0;r=s;return u|0}u=k[g>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];qm(a,u,o,m,0,n);u=1;r=s;return u|0}function qm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=r;r=r+112|0;fa=ha+88|0;m=ha+32|0;ga=ha+64|0;ea=ha+48|0;da=ha+44|0;Y=ha+16|0;X=ha;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];i=k[c>>2]|0;Z=c+4|0;j=k[Z>>2]|0;_=c+8|0;l=k[_>>2]|0;k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;k[ga+12>>2]=0;k[ga+16>>2]=0;k[ga+20>>2]=0;$=ga+8|0;aa=ga+4|0;ba=ga+16|0;ca=ga+20|0;ml(ga);g=k[aa>>2]|0;h=(k[ca>>2]|0)+(k[ba>>2]|0)|0;if((k[$>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;W=g+16|0;k[W>>2]=k[m>>2];k[W+4>>2]=k[m+4>>2];k[W+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ca>>2]|0)+1|0;k[ca>>2]=g;if(!g){pl(ga);r=ha;return}O=a+40|0;P=a+36|0;Q=fa+4|0;R=fa+8|0;S=fa+4|0;T=fa+8|0;U=a+8|0;V=a+80|0;W=a+76|0;a:while(1){L=k[ba>>2]|0;m=g+-1|0;l=m+L|0;M=k[aa>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ea>>2]=k[J>>2];k[ea+4>>2]=k[J+4>>2];k[ea+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ca>>2]=m;m=k[$>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Jp(k[m+-4>>2]|0);k[$>>2]=(k[$>>2]|0)+-4}k[c>>2]=h;k[Z>>2]=i;k[_>>2]=j;k[d>>2]=k[ea>>2];k[d+4>>2]=k[ea+4>>2];k[d+8>>2]=k[ea+8>>2];k[fa>>2]=k[ea>>2];k[fa+4>>2]=k[ea+4>>2];k[fa+8>>2]=k[ea+8>>2];M=Mm(a,N,c,fa,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;g=k[a>>2]|0;do if((g|0)==(m|0)){if((N|0)>0){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))km(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[Z>>2];k[j+8>>2]=k[_>>2];k[h>>2]=j+12}l=l+1|0}while((l|0)<(N|0))}}else{if(!N){g=15;break a}if(N>>>0>=3){k[fa>>2]=k[c>>2];k[S>>2]=k[Z>>2];k[T>>2]=k[_>>2];j=fa+(M<<2)|0;k[j>>2]=(k[j>>2]|0)+(1<>2]=0;vd(U,j,da);j=(N>>>1)-(k[da>>2]|0)|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[V>>2]|0;g=k[W>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[V>>2]=N;if((N|0)==32){k[W>>2]=g+4;k[V>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];l=k[c>>2]|0;m=k[Z>>2]|0;e=k[_>>2]|0;j=k[$>>2]|0;i=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){ml(ga);g=k[ba>>2]|0;h=k[ca>>2]|0;j=k[$>>2]|0;i=k[aa>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Y>>2];k[N+4>>2]=k[Y+4>>2];k[N+8>>2]=k[Y+8>>2];k[g+28>>2]=M;k[ca>>2]=(k[ca>>2]|0)+1}if(n|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];l=k[fa>>2]|0;m=k[S>>2]|0;e=k[T>>2]|0;j=k[$>>2]|0;i=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){ml(ga);g=k[ba>>2]|0;h=k[ca>>2]|0;j=k[$>>2]|0;i=k[aa>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[X>>2];k[N+4>>2]=k[X+4>>2];k[N+8>>2]=k[X+8>>2];k[g+28>>2]=M;k[ca>>2]=(k[ca>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;J=g-m|0;E=k[d+(w<<2)>>2]|0;K=g-E|0;p=k[d+(s<<2)>>2]|0;L=g-p|0;G=k[f>>2]|0;H=G+4|0;I=G+8|0;C=(g|0)==(m|0);A=fa+(M<<2)|0;D=c+(M<<2)|0;E=(g|0)==(E|0);B=fa+(w<<2)|0;F=c+(w<<2)|0;p=(g|0)==(p|0);o=fa+(s<<2)|0;q=c+(s<<2)|0;s=fa+(s<<2)|0;t=(L|0)<33;u=(L|0)>0;v=32-L|0;w=fa+(w<<2)|0;x=(K|0)<33;y=(K|0)>0;z=32-K|0;l=fa+(M<<2)|0;m=(J|0)<33;e=(J|0)>0;b=32-J|0;n=0;do{k[fa>>2]=0;k[fa+4>>2]=0;k[fa+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=J-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+J|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=K-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+K|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=L-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+L|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[H>>2]|0;if((g|0)==(k[I>>2]|0))km(G,fa);else{k[g>>2]=k[fa>>2];k[g+4>>2]=k[Q>>2];k[g+8>>2]=k[R>>2];k[H>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ca>>2]|0;if(!g){g=51;break}}if((g|0)==15)Aa(9923,9961,231,10031);else if((g|0)==23)Aa(10044,10068,111,10095);else if((g|0)==25)Aa(10124,10068,112,10095);else if((g|0)==51){pl(ga);r=ha;return}}function rm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+48|0;n=t+40|0;m=t+28|0;o=t+16|0;p=t+4|0;q=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(td(a+8+(d<<4)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(td(a+520|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+536|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+556|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+576|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];sm(a,v,o,m,0,n);v=1;r=t;return v|0}function sm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=r;r=r+96|0;da=fa+80|0;m=fa+32|0;ea=fa+56|0;ca=fa+44|0;X=fa+16|0;W=fa;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];i=k[c>>2]|0;Y=c+4|0;j=k[Y>>2]|0;Z=c+8|0;l=k[Z>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[ea+12>>2]=0;k[ea+16>>2]=0;k[ea+20>>2]=0;_=ea+8|0;$=ea+4|0;aa=ea+16|0;ba=ea+20|0;sl(ea);g=k[$>>2]|0;h=(k[ba>>2]|0)+(k[aa>>2]|0)|0;if((k[_>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;V=g+16|0;k[V>>2]=k[m>>2];k[V+4>>2]=k[m+4>>2];k[V+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ba>>2]|0)+1|0;k[ba>>2]=g;if(!g){vl(ea);r=fa;return}O=a+552|0;P=a+548|0;Q=da+4|0;R=da+8|0;S=da+4|0;T=da+8|0;U=a+592|0;V=a+588|0;a:while(1){L=k[aa>>2]|0;m=g+-1|0;l=m+L|0;M=k[$>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ca>>2]=k[J>>2];k[ca+4>>2]=k[J+4>>2];k[ca+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ba>>2]=m;m=k[_>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Jp(k[m+-4>>2]|0);k[_>>2]=(k[_>>2]|0)+-4}k[c>>2]=h;k[Y>>2]=i;k[Z>>2]=j;k[d>>2]=k[ca>>2];k[d+4>>2]=k[ca+4>>2];k[d+8>>2]=k[ca+8>>2];k[da>>2]=k[ca>>2];k[da+4>>2]=k[ca+4>>2];k[da+8>>2]=k[ca+8>>2];M=Pm(a,N,c,da,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;g=k[a>>2]|0;do if((g|0)==(m|0)){if((N|0)>0){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))km(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[Y>>2];k[j+8>>2]=k[Z>>2];k[h>>2]=j+12}l=l+1|0}while((l|0)<(N|0))}}else{if(!N){g=15;break a}if(N>>>0>=3){k[da>>2]=k[c>>2];k[S>>2]=k[Y>>2];k[T>>2]=k[Z>>2];L=da+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[U>>2]|0;g=k[V>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[U>>2]=N;if((N|0)==32){k[V>>2]=g+4;k[U>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];l=k[c>>2]|0;m=k[Y>>2]|0;e=k[Z>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0;g=k[aa>>2]|0;h=k[ba>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){sl(ea);g=k[aa>>2]|0;h=k[ba>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[X>>2];k[N+4>>2]=k[X+4>>2];k[N+8>>2]=k[X+8>>2];k[g+28>>2]=M;k[ba>>2]=(k[ba>>2]|0)+1}if(n|0){k[W>>2]=k[d>>2];k[W+4>>2]=k[d+4>>2];k[W+8>>2]=k[d+8>>2];l=k[da>>2]|0;m=k[S>>2]|0;e=k[T>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0;g=k[aa>>2]|0;h=k[ba>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){sl(ea);g=k[aa>>2]|0;h=k[ba>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[W>>2];k[N+4>>2]=k[W+4>>2];k[N+8>>2]=k[W+8>>2];k[g+28>>2]=M;k[ba>>2]=(k[ba>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;I=g-m|0;E=k[d+(w<<2)>>2]|0;J=g-E|0;p=k[d+(s<<2)>>2]|0;K=g-p|0;L=k[f>>2]|0;G=L+4|0;H=L+8|0;C=(g|0)==(m|0);A=da+(M<<2)|0;D=c+(M<<2)|0;E=(g|0)==(E|0);B=da+(w<<2)|0;F=c+(w<<2)|0;p=(g|0)==(p|0);o=da+(s<<2)|0;q=c+(s<<2)|0;s=da+(s<<2)|0;t=(K|0)<33;u=(K|0)>0;v=32-K|0;w=da+(w<<2)|0;x=(J|0)<33;y=(J|0)>0;z=32-J|0;l=da+(M<<2)|0;m=(I|0)<33;e=(I|0)>0;b=32-I|0;n=0;do{k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=I-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+I|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=J-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+J|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=K-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+K|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[G>>2]|0;if((g|0)==(k[H>>2]|0))km(L,da);else{k[g>>2]=k[da>>2];k[g+4>>2]=k[Q>>2];k[g+8>>2]=k[R>>2];k[G>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ba>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9923,9961,231,10031);else if((g|0)==23)Aa(10044,10068,111,10095);else if((g|0)==25)Aa(10124,10068,112,10095);else if((g|0)==53){vl(ea);r=fa;return}}function tm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+48|0;n=t+40|0;m=t+28|0;o=t+16|0;p=t+4|0;q=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(td(a+8+(d<<4)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(td(a+520|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+536|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+556|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+576|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];um(a,v,o,m,0,n);v=1;r=t;return v|0}function um(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=r;r=r+96|0;da=fa+80|0;m=fa+32|0;ea=fa+56|0;ca=fa+44|0;X=fa+16|0;W=fa;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];i=k[c>>2]|0;Y=c+4|0;j=k[Y>>2]|0;Z=c+8|0;l=k[Z>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[ea+12>>2]=0;k[ea+16>>2]=0;k[ea+20>>2]=0;_=ea+8|0;$=ea+4|0;aa=ea+16|0;ba=ea+20|0;zl(ea);g=k[$>>2]|0;h=(k[ba>>2]|0)+(k[aa>>2]|0)|0;if((k[_>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;V=g+16|0;k[V>>2]=k[m>>2];k[V+4>>2]=k[m+4>>2];k[V+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ba>>2]|0)+1|0;k[ba>>2]=g;if(!g){Cl(ea);r=fa;return}O=a+552|0;P=a+548|0;Q=da+4|0;R=da+8|0;S=da+4|0;T=da+8|0;U=a+592|0;V=a+588|0;a:while(1){L=k[aa>>2]|0;m=g+-1|0;l=m+L|0;M=k[$>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ca>>2]=k[J>>2];k[ca+4>>2]=k[J+4>>2];k[ca+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ba>>2]=m;m=k[_>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Jp(k[m+-4>>2]|0);k[_>>2]=(k[_>>2]|0)+-4}k[c>>2]=h;k[Y>>2]=i;k[Z>>2]=j;k[d>>2]=k[ca>>2];k[d+4>>2]=k[ca+4>>2];k[d+8>>2]=k[ca+8>>2];k[da>>2]=k[ca>>2];k[da+4>>2]=k[ca+4>>2];k[da+8>>2]=k[ca+8>>2];M=Rm(a,N,c,da,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;g=k[a>>2]|0;do if((g|0)==(m|0)){if((N|0)>0){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))km(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[Y>>2];k[j+8>>2]=k[Z>>2];k[h>>2]=j+12}l=l+1|0}while((l|0)<(N|0))}}else{if(!N){g=15;break a}if(N>>>0>=3){k[da>>2]=k[c>>2];k[S>>2]=k[Y>>2];k[T>>2]=k[Z>>2];L=da+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[U>>2]|0;g=k[V>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[U>>2]=N;if((N|0)==32){k[V>>2]=g+4;k[U>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];l=k[c>>2]|0;m=k[Y>>2]|0;e=k[Z>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0;g=k[aa>>2]|0;h=k[ba>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){zl(ea);g=k[aa>>2]|0;h=k[ba>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[X>>2];k[N+4>>2]=k[X+4>>2];k[N+8>>2]=k[X+8>>2];k[g+28>>2]=M;k[ba>>2]=(k[ba>>2]|0)+1}if(n|0){k[W>>2]=k[d>>2];k[W+4>>2]=k[d+4>>2];k[W+8>>2]=k[d+8>>2];l=k[da>>2]|0;m=k[S>>2]|0;e=k[T>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0;g=k[aa>>2]|0;h=k[ba>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){zl(ea);g=k[aa>>2]|0;h=k[ba>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[W>>2];k[N+4>>2]=k[W+4>>2];k[N+8>>2]=k[W+8>>2];k[g+28>>2]=M;k[ba>>2]=(k[ba>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;I=g-m|0;E=k[d+(w<<2)>>2]|0;J=g-E|0;p=k[d+(s<<2)>>2]|0;K=g-p|0;L=k[f>>2]|0;G=L+4|0;H=L+8|0;C=(g|0)==(m|0);A=da+(M<<2)|0;D=c+(M<<2)|0;E=(g|0)==(E|0);B=da+(w<<2)|0;F=c+(w<<2)|0;p=(g|0)==(p|0);o=da+(s<<2)|0;q=c+(s<<2)|0;s=da+(s<<2)|0;t=(K|0)<33;u=(K|0)>0;v=32-K|0;w=da+(w<<2)|0;x=(J|0)<33;y=(J|0)>0;z=32-J|0;l=da+(M<<2)|0;m=(I|0)<33;e=(I|0)>0;b=32-I|0;n=0;do{k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=I-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+I|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=J-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+J|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=K-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+K|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[G>>2]|0;if((g|0)==(k[H>>2]|0))km(L,da);else{k[g>>2]=k[da>>2];k[g+4>>2]=k[Q>>2];k[g+8>>2]=k[R>>2];k[G>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ba>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9923,9961,231,10031);else if((g|0)==23)Aa(10044,10068,111,10095);else if((g|0)==25)Aa(10124,10068,112,10095);else if((g|0)==53){Cl(ea);r=fa;return}}function vm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+48|0;n=t+40|0;m=t+28|0;o=t+16|0;p=t+4|0;q=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(td(a+8+(d<<4)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(td(a+520|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+536|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+556|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+576|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];wm(a,v,o,m,0,n);v=1;r=t;return v|0}function wm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=r;r=r+96|0;da=fa+80|0;m=fa+32|0;ea=fa+56|0;ca=fa+44|0;X=fa+16|0;W=fa;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];i=k[c>>2]|0;Y=c+4|0;j=k[Y>>2]|0;Z=c+8|0;l=k[Z>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[ea+12>>2]=0;k[ea+16>>2]=0;k[ea+20>>2]=0;_=ea+8|0;$=ea+4|0;aa=ea+16|0;ba=ea+20|0;Fl(ea);g=k[$>>2]|0;h=(k[ba>>2]|0)+(k[aa>>2]|0)|0;if((k[_>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;V=g+16|0;k[V>>2]=k[m>>2];k[V+4>>2]=k[m+4>>2];k[V+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ba>>2]|0)+1|0;k[ba>>2]=g;if(!g){Il(ea);r=fa;return}O=a+552|0;P=a+548|0;Q=da+4|0;R=da+8|0;S=da+4|0;T=da+8|0;U=a+592|0;V=a+588|0;a:while(1){L=k[aa>>2]|0;m=g+-1|0;l=m+L|0;M=k[$>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ca>>2]=k[J>>2];k[ca+4>>2]=k[J+4>>2];k[ca+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ba>>2]=m;m=k[_>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Jp(k[m+-4>>2]|0);k[_>>2]=(k[_>>2]|0)+-4}k[c>>2]=h;k[Y>>2]=i;k[Z>>2]=j;k[d>>2]=k[ca>>2];k[d+4>>2]=k[ca+4>>2];k[d+8>>2]=k[ca+8>>2];k[da>>2]=k[ca>>2];k[da+4>>2]=k[ca+4>>2];k[da+8>>2]=k[ca+8>>2];M=Tm(a,N,c,da,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;g=k[a>>2]|0;do if((g|0)==(m|0)){if((N|0)>0){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))km(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[Y>>2];k[j+8>>2]=k[Z>>2];k[h>>2]=j+12}l=l+1|0}while((l|0)<(N|0))}}else{if(!N){g=15;break a}if(N>>>0>=3){k[da>>2]=k[c>>2];k[S>>2]=k[Y>>2];k[T>>2]=k[Z>>2];L=da+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[U>>2]|0;g=k[V>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[U>>2]=N;if((N|0)==32){k[V>>2]=g+4;k[U>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];l=k[c>>2]|0;m=k[Y>>2]|0;e=k[Z>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0;g=k[aa>>2]|0;h=k[ba>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Fl(ea);g=k[aa>>2]|0;h=k[ba>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[X>>2];k[N+4>>2]=k[X+4>>2];k[N+8>>2]=k[X+8>>2];k[g+28>>2]=M;k[ba>>2]=(k[ba>>2]|0)+1}if(n|0){k[W>>2]=k[d>>2];k[W+4>>2]=k[d+4>>2];k[W+8>>2]=k[d+8>>2];l=k[da>>2]|0;m=k[S>>2]|0;e=k[T>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0;g=k[aa>>2]|0;h=k[ba>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Fl(ea);g=k[aa>>2]|0;h=k[ba>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[W>>2];k[N+4>>2]=k[W+4>>2];k[N+8>>2]=k[W+8>>2];k[g+28>>2]=M;k[ba>>2]=(k[ba>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;I=g-m|0;E=k[d+(w<<2)>>2]|0;J=g-E|0;p=k[d+(s<<2)>>2]|0;K=g-p|0;L=k[f>>2]|0;G=L+4|0;H=L+8|0;C=(g|0)==(m|0);A=da+(M<<2)|0;D=c+(M<<2)|0;E=(g|0)==(E|0);B=da+(w<<2)|0;F=c+(w<<2)|0;p=(g|0)==(p|0);o=da+(s<<2)|0;q=c+(s<<2)|0;s=da+(s<<2)|0;t=(K|0)<33;u=(K|0)>0;v=32-K|0;w=da+(w<<2)|0;x=(J|0)<33;y=(J|0)>0;z=32-J|0;l=da+(M<<2)|0;m=(I|0)<33;e=(I|0)>0;b=32-I|0;n=0;do{k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=I-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+I|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=J-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+J|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=K-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+K|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[G>>2]|0;if((g|0)==(k[H>>2]|0))km(L,da);else{k[g>>2]=k[da>>2];k[g+4>>2]=k[Q>>2];k[g+8>>2]=k[R>>2];k[G>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ba>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9923,9961,231,10031);else if((g|0)==23)Aa(10044,10068,111,10095);else if((g|0)==25)Aa(10124,10068,112,10095);else if((g|0)==53){Il(ea);r=fa;return}}function xm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+48|0;n=t+40|0;m=t+28|0;o=t+16|0;p=t+4|0;q=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(td(a+8+(d<<4)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(td(a+520|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+536|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+556|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+576|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];ym(a,v,o,m,0,n);v=1;r=t;return v|0}function ym(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=r;r=r+96|0;da=fa+80|0;m=fa+32|0;ea=fa+56|0;ca=fa+44|0;X=fa+16|0;W=fa;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];i=k[c>>2]|0;Y=c+4|0;j=k[Y>>2]|0;Z=c+8|0;l=k[Z>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[ea+12>>2]=0;k[ea+16>>2]=0;k[ea+20>>2]=0;_=ea+8|0;$=ea+4|0;aa=ea+16|0;ba=ea+20|0;Ll(ea);g=k[$>>2]|0;h=(k[ba>>2]|0)+(k[aa>>2]|0)|0;if((k[_>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;V=g+16|0;k[V>>2]=k[m>>2];k[V+4>>2]=k[m+4>>2];k[V+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ba>>2]|0)+1|0;k[ba>>2]=g;if(!g){Ol(ea);r=fa;return}O=a+552|0;P=a+548|0;Q=da+4|0;R=da+8|0;S=da+4|0;T=da+8|0;U=a+592|0;V=a+588|0;a:while(1){L=k[aa>>2]|0;m=g+-1|0;l=m+L|0;M=k[$>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ca>>2]=k[J>>2];k[ca+4>>2]=k[J+4>>2];k[ca+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ba>>2]=m;m=k[_>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Jp(k[m+-4>>2]|0);k[_>>2]=(k[_>>2]|0)+-4}k[c>>2]=h;k[Y>>2]=i;k[Z>>2]=j;k[d>>2]=k[ca>>2];k[d+4>>2]=k[ca+4>>2];k[d+8>>2]=k[ca+8>>2];k[da>>2]=k[ca>>2];k[da+4>>2]=k[ca+4>>2];k[da+8>>2]=k[ca+8>>2];M=Vm(a,N,c,da,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;g=k[a>>2]|0;do if((g|0)==(m|0)){if((N|0)>0){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))km(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[Y>>2];k[j+8>>2]=k[Z>>2];k[h>>2]=j+12}l=l+1|0}while((l|0)<(N|0))}}else{if(!N){g=15;break a}if(N>>>0>=3){k[da>>2]=k[c>>2];k[S>>2]=k[Y>>2];k[T>>2]=k[Z>>2];L=da+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[U>>2]|0;g=k[V>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[U>>2]=N;if((N|0)==32){k[V>>2]=g+4;k[U>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];l=k[c>>2]|0;m=k[Y>>2]|0;e=k[Z>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0;g=k[aa>>2]|0;h=k[ba>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Ll(ea);g=k[aa>>2]|0;h=k[ba>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[X>>2];k[N+4>>2]=k[X+4>>2];k[N+8>>2]=k[X+8>>2];k[g+28>>2]=M;k[ba>>2]=(k[ba>>2]|0)+1}if(n|0){k[W>>2]=k[d>>2];k[W+4>>2]=k[d+4>>2];k[W+8>>2]=k[d+8>>2];l=k[da>>2]|0;m=k[S>>2]|0;e=k[T>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0;g=k[aa>>2]|0;h=k[ba>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Ll(ea);g=k[aa>>2]|0;h=k[ba>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[W>>2];k[N+4>>2]=k[W+4>>2];k[N+8>>2]=k[W+8>>2];k[g+28>>2]=M;k[ba>>2]=(k[ba>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;I=g-m|0;E=k[d+(w<<2)>>2]|0;J=g-E|0;p=k[d+(s<<2)>>2]|0;K=g-p|0;L=k[f>>2]|0;G=L+4|0;H=L+8|0;C=(g|0)==(m|0);A=da+(M<<2)|0;D=c+(M<<2)|0;E=(g|0)==(E|0);B=da+(w<<2)|0;F=c+(w<<2)|0;p=(g|0)==(p|0);o=da+(s<<2)|0;q=c+(s<<2)|0;s=da+(s<<2)|0;t=(K|0)<33;u=(K|0)>0;v=32-K|0;w=da+(w<<2)|0;x=(J|0)<33;y=(J|0)>0;z=32-J|0;l=da+(M<<2)|0;m=(I|0)<33;e=(I|0)>0;b=32-I|0;n=0;do{k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=I-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+I|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=J-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+J|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=K-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+K|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[G>>2]|0;if((g|0)==(k[H>>2]|0))km(L,da);else{k[g>>2]=k[da>>2];k[g+4>>2]=k[Q>>2];k[g+8>>2]=k[R>>2];k[G>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ba>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9923,9961,231,10031);else if((g|0)==23)Aa(10044,10068,111,10095);else if((g|0)==25)Aa(10124,10068,112,10095);else if((g|0)==53){Ol(ea);r=fa;return}}function zm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+48|0;n=t+40|0;m=t+28|0;o=t+16|0;p=t+4|0;q=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(yd(a+8+(d*24|0)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(yd(a+776|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+800|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+820|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+840|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];Am(a,v,o,m,0,n);v=1;r=t;return v|0}function Am(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=r;r=r+96|0;da=fa+80|0;m=fa+32|0;ea=fa+56|0;ca=fa+44|0;X=fa+16|0;W=fa;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];i=k[c>>2]|0;Y=c+4|0;j=k[Y>>2]|0;Z=c+8|0;l=k[Z>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[ea+12>>2]=0;k[ea+16>>2]=0;k[ea+20>>2]=0;_=ea+8|0;$=ea+4|0;aa=ea+16|0;ba=ea+20|0;Rl(ea);g=k[$>>2]|0;h=(k[ba>>2]|0)+(k[aa>>2]|0)|0;if((k[_>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;V=g+16|0;k[V>>2]=k[m>>2];k[V+4>>2]=k[m+4>>2];k[V+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ba>>2]|0)+1|0;k[ba>>2]=g;if(!g){Ul(ea);r=fa;return}O=a+816|0;P=a+812|0;Q=da+4|0;R=da+8|0;S=da+4|0;T=da+8|0;U=a+856|0;V=a+852|0;a:while(1){h=k[$>>2]|0;M=k[aa>>2]|0;L=k[h+(M>>>7<<2)>>2]|0;m=M&127;N=k[L+(m<<5)>>2]|0;i=k[L+(m<<5)+4>>2]|0;j=k[L+(m<<5)+8>>2]|0;l=k[L+(m<<5)+12>>2]|0;K=L+(m<<5)+16|0;k[ca>>2]=k[K>>2];k[ca+4>>2]=k[K+4>>2];k[ca+8>>2]=k[K+8>>2];m=k[L+(m<<5)+28>>2]|0;k[ba>>2]=g+-1;M=M+1|0;k[aa>>2]=M;if(M>>>0>255){Jp(k[h>>2]|0);k[$>>2]=(k[$>>2]|0)+4;k[aa>>2]=(k[aa>>2]|0)+-128}k[c>>2]=i;k[Y>>2]=j;k[Z>>2]=l;k[d>>2]=k[ca>>2];k[d+4>>2]=k[ca+4>>2];k[d+8>>2]=k[ca+8>>2];k[da>>2]=k[ca>>2];k[da+4>>2]=k[ca+4>>2];k[da+8>>2]=k[ca+8>>2];M=Ym(a,N,c,da,m)|0;l=d+(M<<2)|0;m=k[l>>2]|0;g=k[a>>2]|0;do if((g|0)==(m|0)){if((N|0)>0){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))km(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[Y>>2];k[j+8>>2]=k[Z>>2];k[h>>2]=j+12}l=l+1|0}while((l|0)<(N|0))}}else{if(!N){g=15;break a}if(N>>>0>=3){k[da>>2]=k[c>>2];k[S>>2]=k[Y>>2];k[T>>2]=k[Z>>2];L=da+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[U>>2]|0;g=k[V>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[U>>2]=N;if((N|0)==32){k[V>>2]=g+4;k[U>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];l=k[c>>2]|0;m=k[Y>>2]|0;e=k[Z>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0;g=k[aa>>2]|0;h=k[ba>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Rl(ea);g=k[aa>>2]|0;h=k[ba>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[X>>2];k[N+4>>2]=k[X+4>>2];k[N+8>>2]=k[X+8>>2];k[g+28>>2]=M;k[ba>>2]=(k[ba>>2]|0)+1}if(n|0){k[W>>2]=k[d>>2];k[W+4>>2]=k[d+4>>2];k[W+8>>2]=k[d+8>>2];l=k[da>>2]|0;m=k[S>>2]|0;e=k[T>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0;g=k[aa>>2]|0;h=k[ba>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Rl(ea);g=k[aa>>2]|0;h=k[ba>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[W>>2];k[N+4>>2]=k[W+4>>2];k[N+8>>2]=k[W+8>>2];k[g+28>>2]=M;k[ba>>2]=(k[ba>>2]|0)+1}break}v=(M|0)==2?0:M+1|0;q=(v|0)==2?0:v+1|0;G=g-m|0;E=k[d+(v<<2)>>2]|0;H=g-E|0;z=k[d+(q<<2)>>2]|0;I=g-z|0;J=k[f>>2]|0;K=J+4|0;L=J+8|0;C=(g|0)==(m|0);A=da+(M<<2)|0;D=c+(M<<2)|0;E=(g|0)==(E|0);B=da+(v<<2)|0;F=c+(v<<2)|0;z=(g|0)==(z|0);o=da+(q<<2)|0;p=c+(q<<2)|0;q=da+(q<<2)|0;s=(I|0)<33;t=(I|0)>0;u=32-I|0;v=da+(v<<2)|0;w=(H|0)<33;x=(H|0)>0;y=32-H|0;l=da+(M<<2)|0;m=(G|0)<33;e=(G|0)>0;b=32-G|0;n=0;do{k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=G-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+G|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!w){g=23;break a}if(!x){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=H-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[v>>2]=g;h=v;break}g=h>>>y;k[v>>2]=g;M=i+H|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=v}else h=v}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!z){if(!s){g=23;break a}if(!t){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=I-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[q>>2]=g;h=q;break}g=h>>>u;k[q>>2]=g;M=i+I|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=q}else h=q}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[p>>2];g=k[K>>2]|0;if((g|0)==(k[L>>2]|0))km(J,da);else{k[g>>2]=k[da>>2];k[g+4>>2]=k[Q>>2];k[g+8>>2]=k[R>>2];k[K>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ba>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9923,9961,231,10031);else if((g|0)==23)Aa(10044,10068,111,10095);else if((g|0)==25)Aa(10124,10068,112,10095);else if((g|0)==53){Ul(ea);r=fa;return}}function Bm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+48|0;n=t+40|0;m=t+28|0;o=t+16|0;p=t+4|0;q=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(yd(a+8+(d*24|0)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(yd(a+776|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+800|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+820|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+840|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];Cm(a,v,o,m,0,n);v=1;r=t;return v|0}function Cm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=r;r=r+96|0;da=fa+80|0;m=fa+32|0;ea=fa+56|0;ca=fa+44|0;X=fa+16|0;W=fa;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];i=k[c>>2]|0;Y=c+4|0;j=k[Y>>2]|0;Z=c+8|0;l=k[Z>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[ea+12>>2]=0;k[ea+16>>2]=0;k[ea+20>>2]=0;_=ea+8|0;$=ea+4|0;aa=ea+16|0;ba=ea+20|0;Yl(ea);g=k[$>>2]|0;h=(k[ba>>2]|0)+(k[aa>>2]|0)|0;if((k[_>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;V=g+16|0;k[V>>2]=k[m>>2];k[V+4>>2]=k[m+4>>2];k[V+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ba>>2]|0)+1|0;k[ba>>2]=g;if(!g){$l(ea);r=fa;return}O=a+816|0;P=a+812|0;Q=da+4|0;R=da+8|0;S=da+4|0;T=da+8|0;U=a+856|0;V=a+852|0;a:while(1){h=k[$>>2]|0;M=k[aa>>2]|0;L=k[h+(M>>>7<<2)>>2]|0;m=M&127;N=k[L+(m<<5)>>2]|0;i=k[L+(m<<5)+4>>2]|0;j=k[L+(m<<5)+8>>2]|0;l=k[L+(m<<5)+12>>2]|0;K=L+(m<<5)+16|0;k[ca>>2]=k[K>>2];k[ca+4>>2]=k[K+4>>2];k[ca+8>>2]=k[K+8>>2];m=k[L+(m<<5)+28>>2]|0;k[ba>>2]=g+-1;M=M+1|0;k[aa>>2]=M;if(M>>>0>255){Jp(k[h>>2]|0);k[$>>2]=(k[$>>2]|0)+4;k[aa>>2]=(k[aa>>2]|0)+-128}k[c>>2]=i;k[Y>>2]=j;k[Z>>2]=l;k[d>>2]=k[ca>>2];k[d+4>>2]=k[ca+4>>2];k[d+8>>2]=k[ca+8>>2];k[da>>2]=k[ca>>2];k[da+4>>2]=k[ca+4>>2];k[da+8>>2]=k[ca+8>>2];M=_m(a,N,c,da,m)|0;l=d+(M<<2)|0;m=k[l>>2]|0;g=k[a>>2]|0;do if((g|0)==(m|0)){if((N|0)>0){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))km(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[Y>>2];k[j+8>>2]=k[Z>>2];k[h>>2]=j+12}l=l+1|0}while((l|0)<(N|0))}}else{if(!N){g=15;break a}if(N>>>0>=3){k[da>>2]=k[c>>2];k[S>>2]=k[Y>>2];k[T>>2]=k[Z>>2];L=da+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[U>>2]|0;g=k[V>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[U>>2]=N;if((N|0)==32){k[V>>2]=g+4;k[U>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];l=k[c>>2]|0;m=k[Y>>2]|0;e=k[Z>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0;g=k[aa>>2]|0;h=k[ba>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Yl(ea);g=k[aa>>2]|0;h=k[ba>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[X>>2];k[N+4>>2]=k[X+4>>2];k[N+8>>2]=k[X+8>>2];k[g+28>>2]=M;k[ba>>2]=(k[ba>>2]|0)+1}if(n|0){k[W>>2]=k[d>>2];k[W+4>>2]=k[d+4>>2];k[W+8>>2]=k[d+8>>2];l=k[da>>2]|0;m=k[S>>2]|0;e=k[T>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0;g=k[aa>>2]|0;h=k[ba>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Yl(ea);g=k[aa>>2]|0;h=k[ba>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[W>>2];k[N+4>>2]=k[W+4>>2];k[N+8>>2]=k[W+8>>2];k[g+28>>2]=M;k[ba>>2]=(k[ba>>2]|0)+1}break}v=(M|0)==2?0:M+1|0;q=(v|0)==2?0:v+1|0;G=g-m|0;E=k[d+(v<<2)>>2]|0;H=g-E|0;z=k[d+(q<<2)>>2]|0;I=g-z|0;J=k[f>>2]|0;K=J+4|0;L=J+8|0;C=(g|0)==(m|0);A=da+(M<<2)|0;D=c+(M<<2)|0;E=(g|0)==(E|0);B=da+(v<<2)|0;F=c+(v<<2)|0;z=(g|0)==(z|0);o=da+(q<<2)|0;p=c+(q<<2)|0;q=da+(q<<2)|0;s=(I|0)<33;t=(I|0)>0;u=32-I|0;v=da+(v<<2)|0;w=(H|0)<33;x=(H|0)>0;y=32-H|0;l=da+(M<<2)|0;m=(G|0)<33;e=(G|0)>0;b=32-G|0;n=0;do{k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=G-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+G|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!w){g=23;break a}if(!x){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=H-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[v>>2]=g;h=v;break}g=h>>>y;k[v>>2]=g;M=i+H|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=v}else h=v}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!z){if(!s){g=23;break a}if(!t){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=I-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[q>>2]=g;h=q;break}g=h>>>u;k[q>>2]=g;M=i+I|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=q}else h=q}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[p>>2];g=k[K>>2]|0;if((g|0)==(k[L>>2]|0))km(J,da);else{k[g>>2]=k[da>>2];k[g+4>>2]=k[Q>>2];k[g+8>>2]=k[R>>2];k[K>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ba>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9923,9961,231,10031);else if((g|0)==23)Aa(10044,10068,111,10095);else if((g|0)==25)Aa(10124,10068,112,10095);else if((g|0)==53){$l(ea);r=fa;return}}function Dm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+48|0;n=t+40|0;m=t+28|0;o=t+16|0;p=t+4|0;q=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(yd(a+8+(d*24|0)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(yd(a+776|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+800|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+820|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+840|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];Em(a,v,o,m,0,n);v=1;r=t;return v|0}function Em(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0,ma=0,na=0;na=r;r=r+160|0;ma=na;n=na+120|0;la=na+72|0;ka=na+28|0;ia=na+16|0;W=na+88|0;X=na+40|0;k[n>>2]=b;k[n+4>>2]=k[c>>2];U=c+4|0;k[n+8>>2]=k[U>>2];V=c+8|0;k[n+12>>2]=k[V>>2];S=n+16|0;k[S>>2]=k[d>>2];k[S+4>>2]=k[d+4>>2];k[S+8>>2]=k[d+8>>2];k[n+28>>2]=e;k[la>>2]=0;S=la+4|0;k[S>>2]=0;k[la+8>>2]=0;T=la+8|0;cm(la,n);b=k[S>>2]|0;n=k[la>>2]|0;e=b-n|0;if((e|0)>32){g=((e>>5)+-2|0)/2|0;h=n+(g<<5)|0;e=b+-32|0;i=k[e>>2]|0;if((k[h>>2]|0)>>>0>>0){j=k[b+-28>>2]|0;l=k[b+-24>>2]|0;m=k[b+-20>>2]|0;b=b+-16|0;k[ma>>2]=k[b>>2];k[ma+4>>2]=k[b+4>>2];k[ma+8>>2]=k[b+8>>2];k[ma+12>>2]=k[b+12>>2];b=h;while(1){k[e>>2]=k[b>>2];k[e+4>>2]=k[b+4>>2];k[e+8>>2]=k[b+8>>2];k[e+12>>2]=k[b+12>>2];k[e+16>>2]=k[b+16>>2];k[e+20>>2]=k[b+20>>2];k[e+24>>2]=k[b+24>>2];k[e+28>>2]=k[b+28>>2];if(!g)break;g=(g+-1|0)/2|0;e=n+(g<<5)|0;if((k[e>>2]|0)>>>0>=i>>>0)break;else{R=b;b=e;e=R}}k[b>>2]=i;k[b+4>>2]=j;k[b+8>>2]=l;k[b+12>>2]=m;g=b+16|0;k[g>>2]=k[ma>>2];k[g+4>>2]=k[ma+4>>2];k[g+8>>2]=k[ma+8>>2];k[g+12>>2]=k[ma+12>>2];g=7}else g=7}else e=n;a:while(1){if((g|0)==7){e=k[la>>2]|0;b=k[S>>2]|0}if((e|0)==(b|0)){g=63;break}R=k[e>>2]|0;b=k[e+4>>2]|0;o=k[e+8>>2]|0;m=k[e+12>>2]|0;Q=e+16|0;k[ka>>2]=k[Q>>2];k[ka+4>>2]=k[Q+4>>2];k[ka+8>>2]=k[Q+8>>2];Q=k[e+28>>2]|0;dm(la);k[c>>2]=b;k[U>>2]=o;k[V>>2]=m;k[d>>2]=k[ka>>2];k[d+4>>2]=k[ka+4>>2];k[d+8>>2]=k[ka+8>>2];k[ma>>2]=k[ka>>2];k[ma+4>>2]=k[ka+4>>2];k[ma+8>>2]=k[ka+8>>2];Q=an(a,R,c,ma,Q)|0;m=d+(Q<<2)|0;o=k[m>>2]|0;b=k[a>>2]|0;do if((b|0)==(o|0)){if((R|0)>0){b=k[f>>2]|0;e=b+4|0;g=b+8|0;i=0;do{h=k[e>>2]|0;if((h|0)==(k[g>>2]|0))km(b,c);else{k[h>>2]=k[c>>2];k[h+4>>2]=k[U>>2];k[h+8>>2]=k[V>>2];k[e>>2]=h+12}i=i+1|0}while((i|0)<(R|0))}}else{if(!R){g=17;break a}if(R>>>0>=3){k[ia>>2]=k[c>>2];p=ia+4|0;k[p>>2]=k[U>>2];q=ia+8|0;k[q>>2]=k[V>>2];P=ia+(Q<<2)|0;k[P>>2]=(k[P>>2]|0)+(1<>>1)-b|0;h=R-j|0;if((j|0)==(h|0)){l=j;n=j}else{b=a+856|0;R=k[b>>2]|0;e=a+852|0;g=k[e>>2]|0;i=(k[g>>2]&1<<31-R|0)!=0;R=R+1|0;k[b>>2]=R;if((R|0)==32){k[e>>2]=g+4;k[b>>2]=0}l=i?j:h;n=i?h:j}k[m>>2]=o+1;if(l|0){k[W>>2]=l;b=k[c>>2]|0;k[W+4>>2]=b;e=k[U>>2]|0;k[W+8>>2]=e;g=k[V>>2]|0;k[W+12>>2]=g;h=W+16|0;k[h>>2]=k[d>>2];k[h+4>>2]=k[d+4>>2];k[h+8>>2]=k[d+8>>2];k[W+28>>2]=Q;i=k[S>>2]|0;if(i>>>0<(k[T>>2]|0)>>>0){k[i>>2]=l;k[i+4>>2]=b;k[i+8>>2]=e;k[i+12>>2]=g;g=i+16|0;k[g>>2]=k[h>>2];k[g+4>>2]=k[h+4>>2];k[g+8>>2]=k[h+8>>2];k[g+12>>2]=k[h+12>>2];g=(k[S>>2]|0)+32|0;k[S>>2]=g}else{em(la,W);g=k[S>>2]|0}b=k[la>>2]|0;e=g-b|0;if((e|0)>32?(Y=((e>>5)+-2|0)/2|0,Z=b,_=Z+(Y<<5)|0,$=g,aa=$+-32|0,ba=k[aa>>2]|0,(k[_>>2]|0)>>>0>>0):0){h=k[$+-28>>2]|0;i=k[$+-24>>2]|0;j=k[$+-20>>2]|0;g=$+-16|0;k[ma>>2]=k[g>>2];k[ma+4>>2]=k[g+4>>2];k[ma+8>>2]=k[g+8>>2];k[ma+12>>2]=k[g+12>>2];g=Y;e=aa;b=_;while(1){k[e>>2]=k[b>>2];k[e+4>>2]=k[b+4>>2];k[e+8>>2]=k[b+8>>2];k[e+12>>2]=k[b+12>>2];k[e+16>>2]=k[b+16>>2];k[e+20>>2]=k[b+20>>2];k[e+24>>2]=k[b+24>>2];k[e+28>>2]=k[b+28>>2];if(!g)break;g=(g+-1|0)/2|0;e=Z+(g<<5)|0;if((k[e>>2]|0)>>>0>=ba>>>0)break;else{R=b;b=e;e=R}}k[b>>2]=ba;k[b+4>>2]=h;k[b+8>>2]=i;k[b+12>>2]=j;R=b+16|0;k[R>>2]=k[ma>>2];k[R+4>>2]=k[ma+4>>2];k[R+8>>2]=k[ma+8>>2];k[R+12>>2]=k[ma+12>>2]}}if(n|0){k[X>>2]=n;i=k[ia>>2]|0;k[X+4>>2]=i;h=k[p>>2]|0;k[X+8>>2]=h;e=k[q>>2]|0;k[X+12>>2]=e;g=X+16|0;k[g>>2]=k[d>>2];k[g+4>>2]=k[d+4>>2];k[g+8>>2]=k[d+8>>2];k[X+28>>2]=Q;b=k[S>>2]|0;if(b>>>0<(k[T>>2]|0)>>>0){k[b>>2]=n;k[b+4>>2]=i;k[b+8>>2]=h;k[b+12>>2]=e;R=b+16|0;k[R>>2]=k[g>>2];k[R+4>>2]=k[g+4>>2];k[R+8>>2]=k[g+8>>2];k[R+12>>2]=k[g+12>>2];g=(k[S>>2]|0)+32|0;k[S>>2]=g}else{em(la,X);g=k[S>>2]|0}b=k[la>>2]|0;e=g-b|0;if((e|0)>32?(ca=((e>>5)+-2|0)/2|0,da=b,ea=da+(ca<<5)|0,fa=g,ga=fa+-32|0,ha=k[ga>>2]|0,(k[ea>>2]|0)>>>0>>0):0){h=k[fa+-28>>2]|0;i=k[fa+-24>>2]|0;j=k[fa+-20>>2]|0;g=fa+-16|0;k[ma>>2]=k[g>>2];k[ma+4>>2]=k[g+4>>2];k[ma+8>>2]=k[g+8>>2];k[ma+12>>2]=k[g+12>>2];g=ca;e=ga;b=ea;while(1){k[e>>2]=k[b>>2];k[e+4>>2]=k[b+4>>2];k[e+8>>2]=k[b+8>>2];k[e+12>>2]=k[b+12>>2];k[e+16>>2]=k[b+16>>2];k[e+20>>2]=k[b+20>>2];k[e+24>>2]=k[b+24>>2];k[e+28>>2]=k[b+28>>2];if(!g)break;g=(g+-1|0)/2|0;e=da+(g<<5)|0;if((k[e>>2]|0)>>>0>=ha>>>0)break;else{R=b;b=e;e=R}}k[b>>2]=ha;k[b+4>>2]=h;k[b+8>>2]=i;k[b+12>>2]=j;R=b+16|0;k[R>>2]=k[ma>>2];k[R+4>>2]=k[ma+4>>2];k[R+8>>2]=k[ma+8>>2];k[R+12>>2]=k[ma+12>>2]}}break}w=(Q|0)==2?0:Q+1|0;s=(w|0)==2?0:w+1|0;G=b-o|0;C=k[d+(w<<2)>>2]|0;H=b-C|0;p=k[d+(s<<2)>>2]|0;I=b-p|0;J=a+816|0;K=a+812|0;L=k[f>>2]|0;M=L+4|0;N=L+8|0;O=ma+4|0;P=ma+8|0;E=(b|0)==(o|0);A=ma+(Q<<2)|0;F=c+(Q<<2)|0;C=(b|0)==(C|0);B=ma+(w<<2)|0;D=c+(w<<2)|0;p=(b|0)==(p|0);o=ma+(s<<2)|0;q=c+(s<<2)|0;s=ma+(s<<2)|0;t=(I|0)<33;u=(I|0)>0;v=32-I|0;w=ma+(w<<2)|0;x=(H|0)<33;y=(H|0)>0;z=32-H|0;i=ma+(Q<<2)|0;j=(G|0)<33;l=(G|0)>0;m=32-G|0;n=0;do{k[ma>>2]=0;k[ma+4>>2]=0;k[ma+8>>2]=0;do if(!E){if(!j){g=25;break a}if(!l){g=27;break a}g=k[J>>2]|0;b=32-g|0;h=k[K>>2]|0;e=k[h>>2]<(b|0)){Q=G-b|0;k[J>>2]=Q;h=h+4|0;k[K>>2]=h;Q=32-Q|0;b=(k[h>>2]|0)>>>Q|e>>>(Q-b|0);k[i>>2]=b;e=i;break}b=e>>>m;k[i>>2]=b;Q=g+G|0;k[J>>2]=Q;if((Q|0)==32){k[K>>2]=h+4;k[J>>2]=0;e=i}else e=i}else{e=A;b=k[A>>2]|0}while(0);k[e>>2]=b|k[F>>2];do if(!C){if(!x){g=25;break a}if(!y){g=27;break a}g=k[J>>2]|0;b=32-g|0;h=k[K>>2]|0;e=k[h>>2]<(b|0)){Q=H-b|0;k[J>>2]=Q;h=h+4|0;k[K>>2]=h;Q=32-Q|0;b=(k[h>>2]|0)>>>Q|e>>>(Q-b|0);k[w>>2]=b;e=w;break}b=e>>>z;k[w>>2]=b;Q=g+H|0;k[J>>2]=Q;if((Q|0)==32){k[K>>2]=h+4;k[J>>2]=0;e=w}else e=w}else{e=B;b=k[B>>2]|0}while(0);k[e>>2]=b|k[D>>2];do if(!p){if(!t){g=25;break a}if(!u){g=27;break a}g=k[J>>2]|0;b=32-g|0;h=k[K>>2]|0;e=k[h>>2]<(b|0)){Q=I-b|0;k[J>>2]=Q;h=h+4|0;k[K>>2]=h;Q=32-Q|0;b=(k[h>>2]|0)>>>Q|e>>>(Q-b|0);k[s>>2]=b;e=s;break}b=e>>>v;k[s>>2]=b;Q=g+I|0;k[J>>2]=Q;if((Q|0)==32){k[K>>2]=h+4;k[J>>2]=0;e=s}else e=s}else{e=o;b=k[o>>2]|0}while(0);k[e>>2]=b|k[q>>2];b=k[M>>2]|0;if((b|0)==(k[N>>2]|0))km(L,ma);else{k[b>>2]=k[ma>>2];k[b+4>>2]=k[O>>2];k[b+8>>2]=k[P>>2];k[M>>2]=b+12}n=n+1|0}while(n>>>0>>0)}while(0);g=7}if((g|0)==17)Aa(9923,9961,231,10031);else if((g|0)==25)Aa(10044,10068,111,10095);else if((g|0)==27)Aa(10124,10068,112,10095);else if((g|0)==63){if(!b){r=na;return}Jp(b);r=na;return}}function Fm(a){a=a|0;k[a>>2]=0;gd(a+8|0);gd(a+28|0);gd(a+48|0);gd(a+68|0);return}function Gm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Hm(a){a=a|0;k[a>>2]=0;gd(a+8|0);gd(a+28|0);gd(a+48|0);gd(a+68|0);return}function Im(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Jm(a){a=a|0;k[a>>2]=0;rd(a+8|0);gd(a+24|0);gd(a+44|0);gd(a+64|0);return}function Km(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Lm(a){a=a|0;k[a>>2]=0;rd(a+8|0);gd(a+24|0);gd(a+44|0);gd(a+64|0);return}function Mm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Nm(a){a=a|0;k[a>>2]=0;Om(a+8|0);rd(a+520|0);gd(a+536|0);gd(a+556|0);gd(a+576|0);return}function Om(a){a=a|0;rd(a);rd(a+16|0);rd(a+32|0);rd(a+48|0);rd(a+64|0);rd(a+80|0);rd(a+96|0);rd(a+112|0);rd(a+128|0);rd(a+144|0);rd(a+160|0);rd(a+176|0);rd(a+192|0);rd(a+208|0);rd(a+224|0);rd(a+240|0);rd(a+256|0);rd(a+272|0);rd(a+288|0);rd(a+304|0);rd(a+320|0);rd(a+336|0);rd(a+352|0);rd(a+368|0);rd(a+384|0);rd(a+400|0);rd(a+416|0);rd(a+432|0);rd(a+448|0);rd(a+464|0);rd(a+480|0);rd(a+496|0);return}function Pm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Qm(a){a=a|0;k[a>>2]=0;Om(a+8|0);rd(a+520|0);gd(a+536|0);gd(a+556|0);gd(a+576|0);return}function Rm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Sm(a){a=a|0;k[a>>2]=0;Om(a+8|0);rd(a+520|0);gd(a+536|0);gd(a+556|0);gd(a+576|0);return}function Tm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(b>>>0<64){a=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;a=(k[d+(a<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:a;return a|0}f=a+572|0;g=k[f>>2]|0;e=32-g|0;d=a+568|0;b=k[d>>2]|0;c=k[b>>2]<>2]=a;g=b+4|0;k[d>>2]=g;a=32-a|0;a=(k[g>>2]|0)>>>a|c>>>(a-e|0);return a|0}c=c>>>28;a=g+4|0;k[f>>2]=a;if((a|0)!=32){a=c;return a|0}k[d>>2]=b+4;k[f>>2]=0;a=c;return a|0}function Um(a){a=a|0;k[a>>2]=0;Om(a+8|0);rd(a+520|0);gd(a+536|0);gd(a+556|0);gd(a+576|0);return}function Vm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(b>>>0<64){a=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;a=(k[d+(a<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:a;return a|0}f=a+572|0;g=k[f>>2]|0;e=32-g|0;d=a+568|0;b=k[d>>2]|0;c=k[b>>2]<>2]=a;g=b+4|0;k[d>>2]=g;a=32-a|0;a=(k[g>>2]|0)>>>a|c>>>(a-e|0);return a|0}c=c>>>28;a=g+4|0;k[f>>2]=a;if((a|0)!=32){a=c;return a|0}k[d>>2]=b+4;k[f>>2]=0;a=c;return a|0}function Wm(a){a=a|0;k[a>>2]=0;Xm(a+8|0);wd(a+776|0);gd(a+800|0);gd(a+820|0);gd(a+840|0);return}function Xm(a){a=a|0;wd(a);wd(a+24|0);wd(a+48|0);wd(a+72|0);wd(a+96|0);wd(a+120|0);wd(a+144|0);wd(a+168|0);wd(a+192|0);wd(a+216|0);wd(a+240|0);wd(a+264|0);wd(a+288|0);wd(a+312|0);wd(a+336|0);wd(a+360|0);wd(a+384|0);wd(a+408|0);wd(a+432|0);wd(a+456|0);wd(a+480|0);wd(a+504|0);wd(a+528|0);wd(a+552|0);wd(a+576|0);wd(a+600|0);wd(a+624|0);wd(a+648|0);wd(a+672|0);wd(a+696|0);wd(a+720|0);wd(a+744|0);return}function Ym(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(b>>>0<64){a=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;a=(k[d+(a<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:a;return a|0}f=a+836|0;g=k[f>>2]|0;e=32-g|0;d=a+832|0;b=k[d>>2]|0;c=k[b>>2]<>2]=a;g=b+4|0;k[d>>2]=g;a=32-a|0;a=(k[g>>2]|0)>>>a|c>>>(a-e|0);return a|0}c=c>>>28;a=g+4|0;k[f>>2]=a;if((a|0)!=32){a=c;return a|0}k[d>>2]=b+4;k[f>>2]=0;a=c;return a|0}function Zm(a){a=a|0;k[a>>2]=0;Xm(a+8|0);wd(a+776|0);gd(a+800|0);gd(a+820|0);gd(a+840|0);return}function _m(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(b>>>0<64){a=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;a=(k[d+(a<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:a;return a|0}f=a+836|0;g=k[f>>2]|0;e=32-g|0;d=a+832|0;b=k[d>>2]|0;c=k[b>>2]<>2]=a;g=b+4|0;k[d>>2]=g;a=32-a|0;a=(k[g>>2]|0)>>>a|c>>>(a-e|0);return a|0}c=c>>>28;a=g+4|0;k[f>>2]=a;if((a|0)!=32){a=c;return a|0}k[d>>2]=b+4;k[f>>2]=0;a=c;return a|0}function $m(a){a=a|0;k[a>>2]=0;Xm(a+8|0);wd(a+776|0);gd(a+800|0);gd(a+820|0);gd(a+840|0);return}function an(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(b>>>0<64){a=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;a=(k[d+(a<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:a;return a|0}f=a+836|0;g=k[f>>2]|0;e=32-g|0;d=a+832|0;b=k[d>>2]|0;c=k[b>>2]<>2]=a;g=b+4|0;k[d>>2]=g;a=32-a|0;a=(k[g>>2]|0)>>>a|c>>>(a-e|0);return a|0}c=c>>>28;a=g+4|0;k[f>>2]=a;if((a|0)!=32){a=c;return a|0}k[d>>2]=b+4;k[f>>2]=0;a=c;return a|0}function bn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Jp(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)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Jp(b);Jp(a);return}function cn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+16|0;j=l;i=aq(52)|0;g=aq(12)|0;f=k[(k[a+4>>2]|0)+64>>2]|0;k[g+4>>2]=0;k[g>>2]=4316;k[g+8>>2]=f;k[j>>2]=g;Dk(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){Lk(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)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[f>>2]|0}while((a|0)!=(h|0))}while(0);b=(k[g>>2]|0)+(b<<2)|0;a=k[b>>2]|0;k[b>>2]=i;if(a|0)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[j>>2]|0;k[j>>2]=0;if(!a){r=l;return 1}ab[k[(k[a>>2]|0)+4>>2]&127](a);r=l;return 1}function dn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+16|0;x=y;v=a+20|0;q=k[v>>2]|0;m=q+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;f=q+16|0;o=f;n=k[o>>2]|0;o=k[o+4>>2]|0;c=kq(n|0,o|0,4,0)|0;b=L;if((m|0)<(b|0)|(m|0)==(b|0)&j>>>0>>0){a=0;r=y;return a|0}e=k[q>>2]|0;w=e+n|0;w=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;d=f;k[d>>2]=c;k[d+4>>2]=b;b=kq(n|0,o|0,8,0)|0;d=L;if((m|0)<(d|0)|(m|0)==(d|0)&j>>>0>>0){a=0;r=y;return a|0}u=e+c|0;u=l[u>>0]|l[u+1>>0]<<8|l[u+2>>0]<<16|l[u+3>>0]<<24;t=f;k[t>>2]=b;k[t+4>>2]=d;if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>b>>>0)){a=0;r=y;return a|0}t=i[e+b>>0]|0;h=kq(n|0,o|0,9,0)|0;g=L;s=f;k[s>>2]=h;k[s+4>>2]=g;a:do if(!(t<<24>>24)){if(!(en(a,w)|0)){a=0;r=y;return a|0}}else{if((u|0)<256){if((w|0)<=0)break;n=a+24|0;o=x+4|0;p=x+8|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;b:do if((m|0)>(g|0)|(m|0)==(g|0)&j>>>0>h>>>0){b=q;f=m;e=j;j=0;do{d=b+16|0;c=k[b>>2]|0;s=i[c+h>>0]|0;b=kq(h|0,g|0,1,0)|0;t=L;q=d;k[q>>2]=b;k[q+4>>2]=t;k[x>>2]=s&255;if(!((f|0)>(t|0)|(f|0)==(t|0)&e>>>0>b>>>0))break b;s=i[c+b>>0]|0;b=kq(h|0,g|0,2,0)|0;t=L;q=d;k[q>>2]=b;k[q+4>>2]=t;k[o>>2]=s&255;if(!((f|0)>(t|0)|(f|0)==(t|0)&e>>>0>b>>>0))break b;c=i[c+b>>0]|0;b=kq(h|0,g|0,3,0)|0;k[d>>2]=b;k[d+4>>2]=L;k[p>>2]=c&255;d=k[n>>2]|0;c=d+84|0;b=k[c>>2]|0;if((b|0)==(k[d+88>>2]|0))fn(d+80|0,x);else{k[b>>2]=k[x>>2];k[b+4>>2]=k[x+4>>2];k[b+8>>2]=k[x+8>>2];k[c>>2]=(k[c>>2]|0)+12}j=j+1|0;if((j|0)>=(w|0))break a;b=k[v>>2]|0;f=b+8|0;e=k[f>>2]|0;f=k[f+4>>2]|0;g=b+16|0;h=k[g>>2]|0;g=k[g+4>>2]|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0}while((f|0)>(g|0)|(f|0)==(g|0)&e>>>0>h>>>0)}while(0);a=0;r=y;return a|0}b=(w|0)>0;if((u|0)<65536){if(!b)break;p=a+24|0;s=x+4|0;t=x+8|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;b=kq(n|0,o|0,11,0)|0;c=L;c:do if(!((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0)){d=q;n=0;do{f=d+16|0;e=k[d>>2]|0;d=e+h|0;d=l[d>>0]|l[d+1>>0]<<8;q=f;k[q>>2]=b;k[q+4>>2]=c;k[x>>2]=d&65535;d=kq(h|0,g|0,4,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0)break c;b=e+b|0;b=l[b>>0]|l[b+1>>0]<<8;q=f;k[q>>2]=d;k[q+4>>2]=c;k[s>>2]=b&65535;b=kq(h|0,g|0,6,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0)break c;d=e+d|0;d=l[d>>0]|l[d+1>>0]<<8;q=f;k[q>>2]=b;k[q+4>>2]=c;k[t>>2]=d&65535;d=k[p>>2]|0;c=d+84|0;b=k[c>>2]|0;if((b|0)==(k[d+88>>2]|0))fn(d+80|0,x);else{k[b>>2]=k[x>>2];k[b+4>>2]=k[x+4>>2];k[b+8>>2]=k[x+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;m=d+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;g=d+16|0;h=k[g>>2]|0;g=k[g+4>>2]|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;b=kq(h|0,g|0,2,0)|0;c=L}while(!((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0))}while(0);a=0;r=y;return a|0}else{if(!b)break;p=a+24|0;s=x+4|0;t=x+8|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;b=kq(n|0,o|0,13,0)|0;c=L;d:do if(!((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0)){d=q;n=0;do{f=d+16|0;e=k[d>>2]|0;d=e+h|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;q=f;k[q>>2]=b;k[q+4>>2]=c;k[x>>2]=d;d=kq(h|0,g|0,8,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>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;q=f;k[q>>2]=d;k[q+4>>2]=c;k[s>>2]=b;b=kq(h|0,g|0,12,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>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;q=f;k[q>>2]=b;k[q+4>>2]=c;k[t>>2]=d;d=k[p>>2]|0;c=d+84|0;b=k[c>>2]|0;if((b|0)==(k[d+88>>2]|0))fn(d+80|0,x);else{k[b>>2]=k[x>>2];k[b+4>>2]=k[x+4>>2];k[b+8>>2]=k[x+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;m=d+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;g=d+16|0;h=k[g>>2]|0;g=k[g+4>>2]|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;b=kq(h|0,g|0,4,0)|0;c=L}while(!((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0))}while(0);a=0;r=y;return a|0}}while(0);k[(k[a+4>>2]|0)+64>>2]=u;a=1;r=y;return a|0}function en(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+32|0;m=o+12|0;l=o;c=b*3|0;k[m>>2]=0;n=m+4|0;k[n>>2]=0;k[m+8>>2]=0;do if(b)if(c>>>0>1073741823)zp(m);else{i=b*12|0;d=aq(i)|0;k[m>>2]=d;j=d+(c<<2)|0;k[m+8>>2]=j;iq(d|0,0,i|0)|0;k[n>>2]=j;break}else d=0;while(0);if(Ld(c,1,k[a+20>>2]|0,d)|0)if((b|0)>0){c=a+24|0;d=l+4|0;a=l+8|0;h=0;i=0;j=0;while(1){g=l;k[g>>2]=0;k[g+4>>2]=0;g=k[m>>2]|0;p=k[g+(j<<2)>>2]|0;e=p>>>1;e=((p&1|0)==0?e:0-e|0)+i|0;k[l>>2]=e;p=k[g+(j+1<<2)>>2]|0;f=p>>>1;e=((p&1|0)==0?f:0-f|0)+e|0;k[d>>2]=e;g=k[g+(j+2<<2)>>2]|0;f=g>>>1;i=((g&1|0)==0?f:0-f|0)+e|0;k[a>>2]=i;e=k[c>>2]|0;f=e+84|0;g=k[f>>2]|0;if((g|0)==(k[e+88>>2]|0))fn(e+80|0,l);else{k[g>>2]=k[l>>2];k[g+4>>2]=k[l+4>>2];k[g+8>>2]=k[l+8>>2];k[f>>2]=(k[f>>2]|0)+12}h=h+1|0;if((h|0)>=(b|0)){a=1;break}else j=j+3|0}}else a=1;else a=0;c=k[m>>2]|0;if(!c){r=o;return a|0}d=k[n>>2]|0;if((d|0)!=(c|0))k[n>>2]=d+(~((d+-4-c|0)>>>2)<<2);Jp(c);r=o;return a|0}function fn(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;h=a+4|0;i=k[a>>2]|0;d=(((k[h>>2]|0)-i|0)/12|0)+1|0;if(d>>>0>357913941)zp(a);j=a+8|0;c=((k[j>>2]|0)-i|0)/12|0;if(c>>>0<178956970){c=c<<1;c=c>>>0>>0?d:c;e=k[h>>2]|0;d=(e-i|0)/12|0;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=357913941;e=d;d=(d-i|0)/12|0;l=6}if((l|0)==6){g=c;f=aq(c*12|0)|0;c=e}l=f+(d*12|0)|0;k[l>>2]=k[b>>2];k[l+4>>2]=k[b+4>>2];k[l+8>>2]=k[b+8>>2];e=c-i|0;b=l+(((e|0)/-12|0)*12|0)|0;mq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+12;k[j>>2]=f+(g*12|0);if(!i)return;Jp(i);return}function gn(a){a=a|0;nh(a);k[a>>2]=4412;return}function hn(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4472;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b)return;c=a+12|0;a=k[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-4|0;k[c>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[c>>2]|0}while((a|0)!=(b|0));b=k[d>>2]|0}Jp(b);return}function jn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=4472;e=a+28|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Jp(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)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Jp(b);Jp(a);return}function kn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a+20>>2]|0;f=b+8|0;h=k[f+4>>2]|0;e=b+16|0;d=e;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((h|0)>(d|0)|((h|0)==(d|0)?(k[f>>2]|0)>>>0>c>>>0:0))){h=0;return h|0}f=i[(k[b>>2]|0)+c>>0]|0;b=kq(c|0,d|0,1,0)|0;d=e;k[d>>2]=b;k[d+4>>2]=L;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);switch(f<<24>>24){case 0:{b=aq(336)|0;Po(b);c=k[d>>2]|0;k[d>>2]=b;if(c){ab[k[(k[c>>2]|0)+4>>2]&127](c);g=9}break}case 1:{b=aq(376)|0;Qo(b);c=k[d>>2]|0;k[d>>2]=b;if(c){ab[k[(k[c>>2]|0)+4>>2]&127](c);g=9}break}default:g=9}if((g|0)==9){b=k[d>>2]|0;if(!b){h=0;return h|0}}h=gb[k[(k[b>>2]|0)+8>>2]&63](b,a)|0;return h|0}function ln(a,b){a=a|0;b=b|0;a=k[a+28>>2]|0;return gb[k[(k[a>>2]|0)+20>>2]&63](a,b)|0}function mn(a){a=a|0;a=k[a+28>>2]|0;return cb[k[(k[a>>2]|0)+28>>2]&127](a)|0}function nn(a){a=a|0;a=k[a+28>>2]|0;return cb[k[(k[a>>2]|0)+36>>2]&127](a)|0}function on(a,b){a=a|0;b=b|0;a=k[a+28>>2]|0;return gb[k[(k[a>>2]|0)+12>>2]&63](a,b)|0}function pn(a,b){a=a|0;b=b|0;a=k[a+28>>2]|0;return gb[k[(k[a>>2]|0)+16>>2]&63](a,b)|0}function qn(a){a=a|0;a=k[a+28>>2]|0;return cb[k[(k[a>>2]|0)+24>>2]&127](a)|0}function rn(a){a=a|0;nh(a);k[a>>2]=4472;k[a+28>>2]=0;return}function sn(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4532;e=a+320|0;c=k[e>>2]|0;k[e>>2]=0;if(c|0){d=c+-4|0;b=k[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;sd(b)}while((b|0)!=(c|0))}dq(d)}Og(a+304|0);Og(a+264|0);tn(a+228|0);b=k[a+212>>2]|0;c=b;if(b|0){d=a+216|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+200>>2]|0;c=b;if(b|0){d=a+204|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+188>>2]|0;c=b;if(b|0){d=a+192|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+176>>2]|0;c=b;if(b|0){d=a+180|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+160>>2]|0;if(b|0)do{e=b;b=k[b>>2]|0;Jp(e)}while((b|0)!=0);e=a+152|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)Jp(b);b=k[a+136>>2]|0;if(b|0)Jp(b);b=k[a+124>>2]|0;if(b|0)Jp(b);b=k[a+112>>2]|0;if(b|0)Jp(b);b=k[a+88>>2]|0;c=b;if(b|0){d=a+92|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+76>>2]|0;c=b;if(b|0){d=a+80|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+64>>2]|0;if(b|0)Jp(b);b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+36>>2]|0;c=b;if(b|0){d=a+40|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);Jp(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}a=a+8|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Gd(b);Jp(b);return}function tn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a>>2]|0;if(!b)return;h=a+4|0;c=k[h>>2]|0;if((c|0)!=(b|0)){do{k[h>>2]=c+-116;g=k[c+-12>>2]|0;d=g;if(g|0){e=c+-8|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(g)}d=k[c+-28>>2]|0;e=d;if(d|0){f=c+-24|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}d=k[c+-40>>2]|0;e=d;if(d|0){f=c+-36|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}un(c+-112|0);c=k[h>>2]|0}while((c|0)!=(b|0));b=k[a>>2]|0}Jp(b);return}function un(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a+52>>2]|0;c=b;if(b|0){d=a+56|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+40>>2]|0;c=b;if(b|0){d=a+44|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+28>>2]|0;c=b;if(b|0){d=a+32|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+12>>2]|0;if(b|0)Jp(b);b=k[a>>2]|0;if(!b)return;Jp(b);return}function vn(a){a=a|0;sn(a);Jp(a);return}function wn(a,b){a=a|0;b=b|0;k[a+4>>2]=b;return 1}function xn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;h=d;if((c|0)==(d|0)){j=0;return j|0}g=k[(k[a+4>>2]|0)+8>>2]|0;e=(c-d|0)/116|0;a=0;a:while(1){c=k[g+(k[h+(a*116|0)>>2]<<2)>>2]|0;f=k[c+4>>2]|0;c=(k[c+8>>2]|0)-f|0;if((c|0)>0){c=c>>2;d=0;do{if((k[f+(d<<2)>>2]|0)==(b|0))break a;d=d+1|0}while((d|0)<(c|0))}a=a+1|0;if(a>>>0>=e>>>0){a=0;j=9;break}}if((j|0)==9)return a|0;j=(i[h+(a*116|0)+72>>0]|0)==0?0:h+(a*116|0)+4|0;return j|0}function yn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;i=d;a:do if((c|0)!=(d|0)){h=k[(k[a+4>>2]|0)+8>>2]|0;f=(c-d|0)/116|0;c=0;b:while(1){d=k[h+(k[i+(c*116|0)>>2]<<2)>>2]|0;g=k[d+4>>2]|0;d=(k[d+8>>2]|0)-g|0;if((d|0)>0){d=d>>2;e=0;do{if((k[g+(e<<2)>>2]|0)==(b|0))break b;e=e+1|0}while((e|0)<(d|0))}c=c+1|0;if(c>>>0>=f>>>0)break a}i=i+(c*116|0)+76|0;return i|0}while(0);i=a+200|0;return i|0}function zn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+208|0;t=z+168|0;v=z+36|0;u=z;p=z+136|0;s=z+104|0;w=z+32|0;x=a+4|0;l=k[x>>2]|0;c=k[l+20>>2]|0;f=c+8|0;e=k[f>>2]|0;f=k[f+4>>2]|0;g=c+16|0;j=g;h=k[j>>2]|0;j=k[j+4>>2]|0;if(!((f|0)>(j|0)|(f|0)==(j|0)&e>>>0>h>>>0)){b=0;r=z;return b|0}c=k[c>>2]|0;m=i[c+h>>0]|0;d=kq(h|0,j|0,1,0)|0;q=L;o=g;k[o>>2]=d;k[o+4>>2]=q;if(!((f|0)>(q|0)|(f|0)==(q|0)&e>>>0>d>>>0)){b=0;r=z;return b|0}e=i[c+d>>0]|0;o=kq(h|0,j|0,2,0)|0;q=g;k[q>>2]=o;k[q+4>>2]=L;do if(m<<24>>24>-1){c=m<<24>>24;d=k[a+228>>2]|0;if(c>>>0<(((k[a+232>>2]|0)-d|0)/116|0)>>>0){k[d+(c*116|0)>>2]=b;break}else{b=0;r=z;return b|0}}while(0);q=k[l+24>>2]|0;c=m<<24>>24<0;if(!(e<<24>>24)){if(c)g=a+200|0;else{g=m<<24>>24;s=k[a+228>>2]|0;i[s+(g*116|0)+72>>0]=0;g=s+(g*116|0)+76|0}c=aq(88)|0;k[c+4>>2]=0;k[c>>2]=4580;h=c+12|0;k[h>>2]=4604;j=c+64|0;k[j>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;f=c+16|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));k[c+76>>2]=q;k[c+80>>2]=g;k[c+84>>2]=0;n=v+4|0;k[n>>2]=4604;l=v+56|0;k[l>>2]=0;o=v+60|0;k[o>>2]=0;k[v+64>>2]=0;f=v+8|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));e=k[a+8>>2]|0;k[u>>2]=4604;d=u+4|0;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;f=e;k[d>>2]=f;f=((k[f+4>>2]|0)-(k[e>>2]|0)|0)/12|0;i[t>>0]=0;Dg(u+8|0,f,t);ab[k[(k[u>>2]|0)+8>>2]&127](u);Jn(p,u);Jn(t,p);k[v>>2]=k[t+4>>2];f=v+4|0;Mn(f,t)|0;k[t>>2]=4604;d=k[t+20>>2]|0;if(d|0)Jp(d);d=k[t+8>>2]|0;if(d|0)Jp(d);k[v+36>>2]=e;k[v+40>>2]=g;k[v+44>>2]=q;k[v+48>>2]=c;k[p>>2]=4604;d=k[p+20>>2]|0;if(d|0)Jp(d);d=k[p+8>>2]|0;if(d|0)Jp(d);k[c+8>>2]=k[v>>2];Mn(h,f)|0;d=c+44|0;t=v+36|0;k[d>>2]=k[t>>2];k[d+4>>2]=k[t+4>>2];k[d+8>>2]=k[t+8>>2];k[d+12>>2]=k[t+12>>2];i[d+16>>0]=i[t+16>>0]|0;Nn(j,k[l>>2]|0,k[o>>2]|0);k[u>>2]=4604;d=k[u+20>>2]|0;if(d|0)Jp(d);d=k[u+8>>2]|0;if(d|0)Jp(d);d=k[l>>2]|0;e=d;if(d|0){f=k[o>>2]|0;if((f|0)!=(d|0))k[o>>2]=f+(~((f+-4-e|0)>>>2)<<2);Jp(d)}k[n>>2]=4604;d=k[v+24>>2]|0;if(d|0)Jp(d);d=k[v+12>>2]|0;if(d|0)Jp(d)}else{if(c){b=0;r=z;return b|0}c=aq(88)|0;e=m<<24>>24;d=k[a+228>>2]|0;g=d+(e*116|0)+76|0;k[c+4>>2]=0;k[c>>2]=4628;h=c+12|0;k[h>>2]=4652;j=c+64|0;k[j>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;f=c+16|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));k[c+76>>2]=q;k[c+80>>2]=g;k[c+84>>2]=0;n=v+4|0;k[n>>2]=4652;l=v+56|0;k[l>>2]=0;o=v+60|0;k[o>>2]=0;k[v+64>>2]=0;f=v+8|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));f=d+(e*116|0)+4|0;k[u>>2]=4652;p=u+4|0;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;k[p+24>>2]=0;k[p>>2]=f;e=k[d+(e*116|0)+68>>2]|0;e=((k[e+4>>2]|0)-(k[e>>2]|0)|0)/12|0;i[t>>0]=0;Dg(u+8|0,e,t);ab[k[(k[u>>2]|0)+8>>2]&127](u);Xn(s,u);Xn(t,s);k[v>>2]=k[t+4>>2];e=v+4|0;Yn(e,t)|0;k[t>>2]=4652;d=k[t+20>>2]|0;if(d|0)Jp(d);d=k[t+8>>2]|0;if(d|0)Jp(d);k[v+36>>2]=f;k[v+40>>2]=g;k[v+44>>2]=q;k[v+48>>2]=c;k[s>>2]=4652;d=k[s+20>>2]|0;if(d|0)Jp(d);d=k[s+8>>2]|0;if(d|0)Jp(d);k[c+8>>2]=k[v>>2];Yn(h,e)|0;d=c+44|0;t=v+36|0;k[d>>2]=k[t>>2];k[d+4>>2]=k[t+4>>2];k[d+8>>2]=k[t+8>>2];k[d+12>>2]=k[t+12>>2];i[d+16>>0]=i[t+16>>0]|0;Nn(j,k[l>>2]|0,k[o>>2]|0);k[u>>2]=4652;d=k[u+20>>2]|0;if(d|0)Jp(d);d=k[u+8>>2]|0;if(d|0)Jp(d);d=k[l>>2]|0;e=d;if(d|0){f=k[o>>2]|0;if((f|0)!=(d|0))k[o>>2]=f+(~((f+-4-e|0)>>>2)<<2);Jp(d)}k[n>>2]=4652;d=k[v+24>>2]|0;if(d|0)Jp(d);d=k[v+12>>2]|0;if(d|0)Jp(d)}j=aq(52)|0;k[w>>2]=c;Dk(j,w);c=k[w>>2]|0;k[w>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);h=k[x>>2]|0;g=h+8|0;h=h+12|0;c=k[h>>2]|0;d=k[g>>2]|0;e=c-d>>2;do if((e|0)<=(b|0)){f=b+1|0;if(f>>>0>e>>>0){Lk(g,f-e|0);break}if(f>>>0>>0?(y=d+(f<<2)|0,(c|0)!=(y|0)):0)do{x=c+-4|0;k[h>>2]=x;c=k[x>>2]|0;k[x>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[h>>2]|0}while((c|0)!=(y|0))}while(0);b=(k[g>>2]|0)+(b<<2)|0;c=k[b>>2]|0;k[b>>2]=j;if(!c){b=1;r=z;return b|0}ab[k[(k[c>>2]|0)+4>>2]&127](c);b=1;r=z;return b|0}function An(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4580;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}k[a+12>>2]=4604;b=k[a+32>>2]|0;if(b|0)Jp(b);b=k[a+20>>2]|0;if(!b)return;Jp(b);return}function Bn(a){a=a|0;var b=0;k[a>>2]=4604;b=k[a+20>>2]|0;if(b|0)Jp(b);b=k[a+8>>2]|0;if(!b)return;Jp(b);return}function Cn(a){a=a|0;var b=0;k[a>>2]=4604;b=k[a+20>>2]|0;if(b|0)Jp(b);b=k[a+8>>2]|0;if(!b){Jp(a);return}Jp(b);Jp(a);return}function Dn(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;d=k[a+4>>2]|0;d=(k[d+28>>2]|0)-(k[d+24>>2]|0)>>2;i[c>>0]=0;Dg(a+20|0,d,c);r=b;return}function En(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4580;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}k[a+12>>2]=4604;b=k[a+32>>2]|0;if(b|0)Jp(b);b=k[a+20>>2]|0;if(!b){Jp(a);return}Jp(b);Jp(a);return}function Fn(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;h=a+76|0;c=k[h>>2]|0;m=k[c+64>>2]|0;q=b+84|0;i[q>>0]=0;j=b+68|0;l=b+72|0;f=k[l>>2]|0;e=k[j>>2]|0;d=f-e>>2;if(m>>>0<=d>>>0){if(m>>>0>>0?(g=e+(m<<2)|0,(f|0)!=(g|0)):0)k[l>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else{Ve(j,m-d|0,4616);m=k[h>>2]|0;c=m;m=k[m+64>>2]|0}n=(k[c+84>>2]|0)-(k[c+80>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+80|0;l=b+68|0;a=c+80|0;h=c+84|0;j=0;while(1){c=k[a>>2]|0;if((j|0)>=(((k[h>>2]|0)-c|0)/12|0|0)){d=9;break}e=j*3|0;f=k[(k[n>>2]|0)+12>>2]|0;d=k[f+(k[(k[p>>2]|0)+(j*12|0)+(((e|0)%3|0)<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}if(i[q>>0]|0){d=12;break}g=k[l>>2]|0;k[g+(k[c+(j*12|0)>>2]<<2)>>2]=d;d=e+1|0;d=k[f+(k[(k[p>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}k[g+(k[c+(j*12|0)+4>>2]<<2)>>2]=d;d=e+2|0;d=k[f+(k[(k[p>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}k[g+(k[c+(j*12|0)+8>>2]<<2)>>2]=d;j=j+1|0;if((j|0)>=(o|0)){c=1;d=13;break}}if((d|0)==9)Aa(10719,10773,64,10787);else if((d|0)==12)Aa(10792,10811,80,10843);else if((d|0)==13)return c|0;return 0}function Gn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;f=h+4|0;g=h;e=a+84|0;b=k[e>>2]|0;if(!b){b=a+8|0;e=k[b>>2]|0;e=(k[e+4>>2]|0)-(k[e>>2]|0)|0;a=(e|0)/12|0;if((e|0)<=0){r=h;return 1}c=0;do{k[g>>2]=c*3;k[f>>2]=k[g>>2];Hn(b,f);c=c+1|0}while((c|0)<(a|0));r=h;return 1}else{c=k[b>>2]|0;if((k[b+4>>2]|0)==(c|0)){r=h;return 1}d=a+8|0;b=c;a=0;do{k[g>>2]=k[b+(a<<2)>>2];k[f>>2]=k[g>>2];Hn(d,f);a=a+1|0;c=k[e>>2]|0;b=k[c>>2]|0}while(a>>>0<(k[c+4>>2]|0)-b>>2>>>0);r=h;return 1}return 0}function Hn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+32|0;s=A+28|0;q=A+24|0;i=A+20|0;j=A+16|0;l=A+12|0;m=A+8|0;v=A+4|0;w=A;n=k[b>>2]|0;if((n|0)<0){r=A;return}u=(n|0)/3|0;y=a+12|0;if(k[(k[y>>2]|0)+(u>>>5<<2)>>2]&1<<(u&31)|0){r=A;return}t=a+56|0;c=k[t>>2]|0;u=a+60|0;d=k[u>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;k[u>>2]=c}p=a+64|0;if((c|0)==(k[p>>2]|0))Cd(t,b);else{k[c>>2]=n;k[u>>2]=c+4}d=k[a>>2]|0;c=n+1|0;c=((c|0)%3|0|0)==0?n+-2|0:c;if((c|0)<0)g=-1073741824;else g=k[(k[d>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;c=(((n|0)%3|0|0)==0?2:-1)+n|0;if((c|0)<0)h=-1073741824;else h=k[(k[d>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;o=a+24|0;c=k[o>>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=n+1|0;k[j>>2]=((c|0)%3|0|0)==0?n+-2|0:c;k[q>>2]=k[i>>2];k[s>>2]=k[j>>2];In(a+36|0,q,s);c=k[o>>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;k[l>>2]=h;k[m>>2]=n+(((n|0)%3|0|0)==0?2:-1);k[q>>2]=k[l>>2];k[s>>2]=k[m>>2];In(a+36|0,q,s)}c=k[t>>2]|0;e=k[u>>2]|0;if((c|0)==(e|0)){r=A;return}l=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[y>>2]|0,(k[x+(f>>>5<<2)>>2]&1<<(f&31)|0)==0):0){d=x;a:while(1){f=(c|0)/3|0;j=d+(f>>>5<<2)|0;k[j>>2]=1<<(f&31)|k[j>>2];j=(c|0)<0;e=k[a>>2]|0;if(j)i=-1073741824;else i=k[(k[e>>2]|0)+(f*12|0)+(((c|0)%3|0)<<2)>>2]|0;d=k[(k[e+24>>2]|0)+(i<<2)>>2]|0;if((d|0)>=0){n=d+1|0;d=((n|0)%3|0|0)==0?d+-2|0:n;if((d|0)>=0){d=k[(k[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){n=d+1|0;d=((n|0)%3|0|0)==0?d+-2|0:n}}}f=(k[o>>2]|0)+(i>>>5<<2)|0;g=1<<(i&31);h=k[f>>2]|0;if(!(h&g)){k[f>>2]=h|g;k[v>>2]=i;k[w>>2]=c;k[q>>2]=k[v>>2];k[s>>2]=k[w>>2];In(l,q,s);e=k[a>>2]|0;if((d|0)>=0){do if(j)c=-1073741824;else{n=c+1|0;c=((n|0)%3|0|0)==0?c+-2|0:n;if((c|0)<0)break;c=k[(k[e+12>>2]|0)+(c<<2)>>2]|0}while(0);k[b>>2]=c;d=k[y>>2]|0;continue}}do if(j){k[s>>2]=-1073741824;c=-1073741824;d=-1073741824}else{d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if((d|0)>=0)d=k[(k[e+12>>2]|0)+(d<<2)>>2]|0;k[s>>2]=d;c=(((c|0)%3|0|0)==0?2:-1)+c|0;if((c|0)<0)break;c=k[(k[e+12>>2]|0)+(c<<2)>>2]|0}while(0);f=(d|0)<0?-1:(d|0)/3|0;g=(c|0)<0?-1:(c|0)/3|0;do if((f|0)>=0){e=k[y>>2]|0;if(k[e+(f>>>5<<2)>>2]&1<<(f&31)|0){z=41;break}if((g|0)<0){c=d;break}if(!(k[e+(g>>>5<<2)>>2]&1<<(g&31))){z=46;break a}else c=d}else z=41;while(0);if((z|0)==41){z=0;if((g|0)<0){z=43;break}d=k[y>>2]|0;if(!(k[d+(g>>>5<<2)>>2]&1<<(g&31)))e=d;else{z=43;break}}k[b>>2]=c;d=e}do if((z|0)==43){z=0;c=(k[u>>2]|0)+-4|0;k[u>>2]=c}else if((z|0)==46){z=0;e=k[u>>2]|0;k[e+-4>>2]=c;if((e|0)==(k[p>>2]|0)){Cd(t,s);c=k[u>>2]|0;break}else{k[e>>2]=d;c=e+4|0;k[u>>2]=c;break}}while(0);d=k[t>>2]|0}else{c=e+-4|0;k[u>>2]=c}if((d|0)==(c|0))break;else e=c}r=A;return}function In(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;j=r;r=r+16|0;h=j;d=k[a+8>>2]|0;i=k[c>>2]|0;e=(i|0)/3|0;if((i|0)<=-3)Aa(10860,10773,63,10787);f=k[d+80>>2]|0;if((e|0)>=(((k[d+84>>2]|0)-f|0)/12|0|0))Aa(10719,10773,64,10787);d=k[f+(e*12|0)+(((i|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))qg(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)){Cd(e,c);a=k[d>>2]|0;c=a+24|0;i=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]=i;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;r=j;return}else{k[g>>2]=i;k[f>>2]=g+4;a=e;c=a+24|0;i=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]=i;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;r=j;return}}function Jn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+32|0;j=n+24|0;i=n+16|0;l=n+8|0;m=n;k[a>>2]=4604;k[a+4>>2]=k[b+4>>2];e=a+8|0;f=b+8|0;k[e>>2]=0;g=a+12|0;k[g>>2]=0;h=a+16|0;k[h>>2]=0;c=b+12|0;d=k[c>>2]|0;do if(d|0)if((d|0)<0)zp(e);else{d=((d+-1|0)>>>5)+1|0;o=aq(d<<2)|0;k[e>>2]=o;k[g>>2]=0;k[h>>2]=d;g=k[f>>2]|0;k[l>>2]=g;k[l+4>>2]=0;h=k[c>>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];Kn(e,i,j);break}while(0);f=a+20|0;k[f>>2]=0;g=a+24|0;k[g>>2]=0;c=a+28|0;k[c>>2]=0;d=b+24|0;e=k[d>>2]|0;if(!e){r=n;return}if((e|0)<0)zp(f);o=((e+-1|0)>>>5)+1|0;a=aq(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];Kn(f,i,j);r=n;return}function Kn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;o=q+40|0;n=q+32|0;j=q+8|0;l=q;m=q+24|0;p=q+16|0;f=a+4|0;s=k[f>>2]|0;d=b;e=k[d>>2]|0;d=k[d+4>>2]|0;h=c;g=k[h>>2]|0;h=k[h+4>>2]|0;i=g-e<<3;k[f>>2]=s-d+h+i;f=(k[a>>2]|0)+(s>>>5<<2)|0;c=s&31;b=f;if((d|0)!=(c|0)){s=j;k[s>>2]=e;k[s+4>>2]=d;s=l;k[s>>2]=g;k[s+4>>2]=h;k[m>>2]=b;k[m+4>>2]=c;k[n>>2]=k[j>>2];k[n+4>>2]=k[j+4>>2];k[o>>2]=k[l>>2];k[o+4>>2]=k[l+4>>2];Ln(p,n,o,m);r=q;return}a=h-d+i|0;c=e;if((a|0)>0){if(!d){d=0;g=c;b=a}else{e=32-d|0;b=(a|0)<(e|0)?a:e;e=-1>>>(e-b|0)&-1<>2]=k[f>>2]&~e|k[c>>2]&e;e=b+d|0;g=c+4|0;d=e&31;f=f+(e>>>5<<2)|0;e=g;b=a-b|0}a=b>>>5;nq(f|0,e|0,a<<2|0)|0;c=b-(a<<5)|0;e=f+(a<<2)|0;b=e;if((c|0)>0){d=-1>>>(32-c|0);k[e>>2]=k[e>>2]&~d|k[g+(a<<2)>>2]&d;d=c}}k[p>>2]=b;k[p+4>>2]=d;r=q;return} +function ib(a){a=a|0;var b=0;b=r;r=r+a|0;r=r+15&-16;return b|0}function jb(){return r|0}function kb(a){a=a|0;r=a}function lb(a,b){a=a|0;b=b|0;r=a;s=b}function mb(a,b){a=a|0;b=b|0;if(!w){w=a;x=b}}function nb(a){a=a|0;i[t>>0]=i[a>>0];i[t+1>>0]=i[a+1>>0];i[t+2>>0]=i[a+2>>0];i[t+3>>0]=i[a+3>>0]}function ob(a){a=a|0;i[t>>0]=i[a>>0];i[t+1>>0]=i[a+1>>0];i[t+2>>0]=i[a+2>>0];i[t+3>>0]=i[a+3>>0];i[t+4>>0]=i[a+4>>0];i[t+5>>0]=i[a+5>>0];i[t+6>>0]=i[a+6>>0];i[t+7>>0]=i[a+7>>0]}function pb(a){a=a|0;L=a}function qb(){return L|0}function rb(){var a=0;a=aq(68)|0;sg(a);return a|0}function sb(a){a=a|0;return (k[a+8>>2]|0)-(k[a+4>>2]|0)>>2|0}function tb(a){a=a|0;return k[a+64>>2]|0}function ub(a){a=a|0;if(!a)return;ab[k[(k[a>>2]|0)+4>>2]&127](a);return}function vb(){var a=0;a=aq(1)|0;uc(a);return a|0}function wb(a,b){a=a|0;b=b|0;return vc(a,b)|0}function xb(a,b){a=a|0;b=b|0;return wc(b)|0}function yb(a,b){a=a|0;b=b|0;return xc(b)|0}function zb(a,b,c){a=a|0;b=b|0;c=c|0;return yc(a,b,c)|0}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;return zc(b,c)|0}function Bb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ac(b,c,d)|0}function Cb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bc(b,c,d)|0}function Db(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return cd(b,c,d)|0}function Eb(a){a=a|0;if(!a)return;Jp(a);return}function Fb(){var a=0;a=aq(88)|0;Me(a);return a|0}function Gb(a){a=a|0;return k[a+80>>2]|0}function Hb(a){a=a|0;return k[a+56>>2]|0}function Ib(a){a=a|0;return k[a+28>>2]|0}function Jb(a){a=a|0;return i[a+24>>0]|0}function Kb(a){a=a|0;return (i[a+32>>0]|0)!=0|0}function Lb(a){a=a|0;return k[a+40>>2]|0}function Mb(a){a=a|0;return k[a+48>>2]|0}function Nb(a){a=a|0;return m[a+60>>1]|0|0}function Ob(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a)return;b=k[a+68>>2]|0;c=b;if(b|0){d=a+72|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}e=a+64|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0){c=k[b>>2]|0;if(c|0){d=b+4|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;Jp(c)}Jp(b)}Jp(a);return}function Pb(){var a=0;a=aq(12)|0;nc(a);return a|0}function Qb(a,b){a=a|0;b=b|0;return +(+oc(a,b))}function Rb(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a)return;b=k[a>>2]|0;c=b;if(b|0){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}Jp(a);return}function Sb(){var a=0;a=aq(64)|0;Je(a);return a|0}function Tb(a){a=a|0;if(!a)return;Jp(a);return}function Ub(){var a=0;a=aq(40)|0;Pg(a);return a|0}function Vb(a,b,c){a=a|0;b=b|0;c=c|0;Qg(a,b,c);return}function Wb(a){a=a|0;if(!a)return;Og(a+24|0);Jp(a);return}function Xb(){var a=0;a=aq(92)|0;Ag(a);return a|0}function Yb(a){a=a|0;return ((k[a+84>>2]|0)-(k[a+80>>2]|0)|0)/12|0|0}function Zb(a){a=a|0;return (k[a+8>>2]|0)-(k[a+4>>2]|0)>>2|0}function _b(a){a=a|0;return k[a+64>>2]|0}function $b(a){a=a|0;if(!a)return;ab[k[(k[a>>2]|0)+4>>2]&127](a);return}function ac(a){a=a|0;if(!a)return;Jp(a);return}function bc(){var a=0;a=aq(12)|0;rc(a);return a|0}function cc(a,b){a=a|0;b=b|0;return sc(a,b)|0}function dc(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a)return;b=k[a>>2]|0;c=b;if(b|0){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}Jp(a);return}function ec(){return -1}function fc(){return 0}function gc(){return 1}function hc(){return -1}function ic(){return 0}function jc(){return 1}function kc(){return 2}function lc(){return 3}function mc(){return 4}function nc(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function oc(a,b){a=a|0;b=b|0;return +(+o[(k[a>>2]|0)+(b<<2)>>2])}function pc(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;h=c-m>>2;l=a+8|0;d=k[l>>2]|0;j=k[a>>2]|0;i=j;if(h>>>0<=d-j>>2>>>0){g=a+4|0;d=(k[g>>2]|0)-j>>2;a=h>>>0>d>>>0;d=b+(d<<2)|0;e=a?d:c;f=e;m=f-m|0;nq(j|0,b|0,m|0)|0;b=i+(m>>2<<2)|0;if(!a){d=k[g>>2]|0;if((d|0)==(b|0))return;k[g>>2]=d+(~((d+-4-b|0)>>>2)<<2);return}if((e|0)==(c|0))return;b=k[g>>2]|0;e=b+(((c+-4-f|0)>>>2)+1<<2)|0;while(1){k[b>>2]=k[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}k[g>>2]=e;return}f=j;if(j){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(i|0))k[d>>2]=e+(~((e+-4-j|0)>>>2)<<2);Jp(f);k[l>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(h>>>0>1073741823)zp(a);d=d-0|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?h:d;if(d>>>0>1073741823)zp(a);else g=d}else g=1073741823;d=aq(g<<2)|0;f=a+4|0;k[f>>2]=d;k[a>>2]=d;k[l>>2]=d+(g<<2);if((b|0)==(c|0))return;e=d+(((c+-4-m|0)>>>2)+1<<2)|0;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[f>>2]=e;return}function qc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){iq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)zp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;iq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;mq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Jp(j);return}function rc(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function sc(a,b){a=a|0;b=b|0;return k[(k[a>>2]|0)+(b<<2)>>2]|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,i=0,j=0,l=0,m=0;m=b;g=c-m>>2;i=a+8|0;d=k[i>>2]|0;l=k[a>>2]|0;j=l;if(g>>>0<=d-l>>2>>>0){i=a+4|0;h=(k[i>>2]|0)-l>>2;a=g>>>0>h>>>0;h=b+(h<<2)|0;e=a?h:c;g=e;d=g-m|0;nq(l|0,b|0,d|0)|0;d=j+(d>>2<<2)|0;if(!a){b=k[i>>2]|0;if((b|0)==(d|0))return;k[i>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((e|0)==(c|0))return;f=k[i>>2]|0;e=(c+-4-g|0)>>>2;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[i>>2]=f+(e+1<<2);return}f=l;if(l){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(j|0))k[d>>2]=e+(~((e+-4-l|0)>>>2)<<2);Jp(f);k[i>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(g>>>0>1073741823)zp(a);d=d-0|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?g:d;if(d>>>0>1073741823)zp(a);else h=d}else h=1073741823;f=aq(h<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[i>>2]=f+(h<<2);if((b|0)==(c|0))return;e=(c+-4-m|0)>>>2;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+1<<2);return}function uc(a){a=a|0;return}function vc(a,b){a=a|0;b=b|0;return So(b)|0}function wc(a){a=a|0;return Uo(a)|0}function xc(a){a=a|0;return Vo(a)|0}function yc(a,b,c){a=a|0;b=b|0;c=c|0;return tg(b,c)|0}function zc(a,b){a=a|0;b=b|0;var c=0;if((b|0)<=-1)Aa(9671,9687,54,9715);c=k[a+4>>2]|0;if(((k[a+8>>2]|0)-c>>2|0)>(b|0))return k[c+(b<<2)>>2]|0;else Aa(9725,9687,55,9715);return 0}function Ac(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<=-1)Aa(10860,10773,63,10787);d=k[a+80>>2]|0;if((((k[a+84>>2]|0)-d|0)/12|0|0)>(b|0)){a=d+(b*12|0)|0;tc(c,a,a+12|0);return 1}else Aa(10719,10773,64,10787);return 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=0;m=r;r=r+48|0;d=m+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;l=m;j=i[a+24>>0]|0;k[l>>2]=k[196];k[l+4>>2]=k[197];k[l+8>>2]=k[198];k[l+12>>2]=k[199];j=j<<24>>24;switch(j|0){case 1:{k[e>>2]=b;k[d>>2]=k[e>>2];d=Cc(a,d,l)|0;break}case 2:{k[f>>2]=b;k[d>>2]=k[f>>2];d=Jc(a,d,l)|0;break}case 3:{k[g>>2]=b;k[d>>2]=k[g>>2];d=Qc(a,d,l)|0;break}case 4:{k[h>>2]=b;k[d>>2]=k[h>>2];d=Xc(a,d,l)|0;break}default:{l=0;r=m;return l|0}}if(!d){l=0;r=m;return l|0}pc(c,l,l+(j<<2)|0);l=1;r=m;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,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){a=0;r=n;return a|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=1;r=n;return a|0}case 2:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=1;r=n;return a|0}case 3:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=1;r=n;return a|0}case 4:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=1;r=n;return a|0}default:{a=0;r=n;return a|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];a=Dc(a,d,c)|0;r=n;return a|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];a=Ec(a,d,c)|0;r=n;return a|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];a=Fc(a,d,c)|0;r=n;return a|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];a=Gc(a,d,c)|0;r=n;return a|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];a=Hc(a,d,c)|0;r=n;return a|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];a=Ic(a,d,c)|0;r=n;return a|0}default:{a=0;r=n;return a|0}}return 0}function Dc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+b>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8)&255);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&255);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ec(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+b>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(((l[g>>0]|l[g+1>>0]<<8)&255)<<24>>24);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&255)<<24>>24);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Fc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ic(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;g=1;return g|0}default:{g=0;return g|0}}return 0}function Jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){a=0;r=n;return a|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;o[c+4>>2]=0.0;a=1;r=n;return a|0}case 2:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;m=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=c;k[a>>2]=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;k[a+4>>2]=b;a=1;r=n;return a|0}case 3:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;m=b;m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=c;c=a;i[c>>0]=m;i[c+1>>0]=m>>8;i[c+2>>0]=m>>16;i[c+3>>0]=m>>24;a=a+4|0;i[a>>0]=b;i[a+1>>0]=b>>8;i[a+2>>0]=b>>16;i[a+3>>0]=b>>24;a=1;r=n;return a|0}case 4:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;m=b;m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=c;c=a;i[c>>0]=m;i[c+1>>0]=m>>8;i[c+2>>0]=m>>16;i[c+3>>0]=m>>24;a=a+4|0;i[a>>0]=b;i[a+1>>0]=b>>8;i[a+2>>0]=b>>16;i[a+3>>0]=b>>24;a=1;r=n;return a|0}default:{a=0;r=n;return a|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];a=Kc(a,d,c)|0;r=n;return a|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];a=Lc(a,d,c)|0;r=n;return a|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];a=Mc(a,d,c)|0;r=n;return a|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];a=Nc(a,d,c)|0;r=n;return a|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];a=Oc(a,d,c)|0;r=n;return a|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];a=Pc(a,d,c)|0;r=n;return a|0}default:{a=0;r=n;return a|0}}return 0}function Kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+b>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;o[c+4>>2]=0.0;a=1;return a|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;d=+(l[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;g=1;return g|0}}case 4:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+b>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;o[c+4>>2]=0.0;a=1;return a|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;d=+(i[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;g=1;return g|0}}case 4:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;o[c+4>>2]=0.0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+(g&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;g=1;return g|0}}case 4:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,f|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;f=b;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=b+4|0;g=(i[a+32>>0]|0)==0;b=(lq(f|0,l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0,16)|0)&65535;d=+(f&65535);if(g){o[c>>2]=d;o[c+4>>2]=+(b&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;o[c+4>>2]=0.0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+((g&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;g=1;return g|0}}case 4:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,f|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;f=b;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=b+4|0;g=(i[a+32>>0]|0)==0;b=(lq(f|0,l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0,16)|0)&65535;d=+((f&65535)<<16>>16);if(g){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;o[c+4>>2]=0.0;a=1;return a|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,g|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;g=1;return g|0}}case 4:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Pc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;o[c+4>>2]=0.0;a=1;return a|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,g|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;g=1;return g|0}}case 4:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Qc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){a=0;r=n;return a|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=c+4|0;k[a>>2]=0;k[a+4>>2]=0;a=1;r=n;return a|0}case 2:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;m=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=c;k[a>>2]=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;k[a+4>>2]=b;o[c+8>>2]=0.0;a=1;r=n;return a|0}case 3:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;nq(c|0,(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;a=1;r=n;return a|0}case 4:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;nq(c|0,(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;a=1;r=n;return a|0}default:{a=0;r=n;return a|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];a=Rc(a,d,c)|0;r=n;return a|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];a=Sc(a,d,c)|0;r=n;return a|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];a=Tc(a,d,c)|0;r=n;return a|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];a=Uc(a,d,c)|0;r=n;return a|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];a=Vc(a,d,c)|0;r=n;return a|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];a=Wc(a,d,c)|0;r=n;return a|0}default:{a=0;r=n;return a|0}}return 0}function Rc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+e>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&255)}else{o[c>>2]=d/255.0;d=+(b&255)/255.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;e=i[g+2>>0]|0;d=+(l[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);o[c+8>>2]=+(e&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;o[c+8>>2]=+(e&255)/255.0;g=1;return g|0}}case 4:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;e=g>>>16&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);o[c+8>>2]=+(e&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;o[c+8>>2]=+(e&255)/255.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Sc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+e>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<24>>24)}else{o[c>>2]=d/127.0;d=+(b<<24>>24)/127.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;e=i[g+2>>0]|0;d=+(i[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);o[c+8>>2]=+(e<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;o[c+8>>2]=+(e<<24>>24)/127.0;g=1;return g|0}}case 4:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;e=g>>>16&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);o[c+8>>2]=+(e<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;o[c+8>>2]=+(e<<24>>24)/127.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[e>>0]|l[e+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+(g&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&65535)}else{o[c>>2]=d/65535.0;d=+(b&65535)/65535.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;e=g+4|0;e=l[e>>0]|l[e+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&65535);o[c+8>>2]=+(e&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;o[c+8>>2]=+(e&65535)/65535.0;g=1;return g|0}}case 4:{g=k[b>>2]|0;e=a+48|0;f=k[e>>2]|0;e=k[e+4>>2]|0;b=a+40|0;e=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,f|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;f=e;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=e+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;g=(i[a+32>>0]|0)==0;b=(lq(f|0,e|0,16)|0)&65535;e=e&65535;d=+(f&65535);if(g){o[c>>2]=d;o[c+4>>2]=+(b&65535);o[c+8>>2]=+(e&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;o[c+8>>2]=+(e&65535)/65535.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[e>>0]|l[e+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+((g&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<16>>16)}else{o[c>>2]=d/32767.0;d=+(b<<16>>16)/32767.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;e=g+4|0;e=l[e>>0]|l[e+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);o[c+8>>2]=+(e<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;o[c+8>>2]=+(e<<16>>16)/32767.0;g=1;return g|0}}case 4:{g=k[b>>2]|0;e=a+48|0;f=k[e>>2]|0;e=k[e+4>>2]|0;b=a+40|0;e=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,f|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;f=e;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=e+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;g=(i[a+32>>0]|0)==0;b=(lq(f|0,e|0,16)|0)&65535;e=e&65535;d=+((f&65535)<<16>>16);if(g){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);o[c+8>>2]=+(e<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;o[c+8>>2]=+(e<<16>>16)/32767.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,g|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b>>>0)}else{o[c>>2]=d*2.3283064365386963e-10;d=+(b>>>0)*2.3283064365386963e-10}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);o[c+8>>2]=+(e>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;o[c+8>>2]=+(e>>>0)*2.3283064365386963e-10;g=1;return g|0}}case 4:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);o[c+8>>2]=+(e>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;o[c+8>>2]=+(e>>>0)*2.3283064365386963e-10;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,g|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b|0)}else{o[c>>2]=d*4.656612873077393e-10;d=+(b|0)*4.656612873077393e-10}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);o[c+8>>2]=+(e|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;o[c+8>>2]=+(e|0)*4.656612873077393e-10;g=1;return g|0}}case 4:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);o[c+8>>2]=+(e|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;o[c+8>>2]=+(e|0)*4.656612873077393e-10;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){a=0;r=n;return a|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=c+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;a=1;r=n;return a|0}case 2:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;m=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=c;k[a>>2]=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;k[a+4>>2]=b;a=c+8|0;k[a>>2]=0;k[a+4>>2]=0;a=1;r=n;return a|0}case 3:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;nq(c|0,(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;o[c+12>>2]=0.0;a=1;r=n;return a|0}case 4:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;nq(c|0,(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0,16)|0;a=1;r=n;return a|0}default:{a=0;r=n;return a|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];a=Yc(a,d,c)|0;r=n;return a|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];a=Zc(a,d,c)|0;r=n;return a|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];a=_c(a,d,c)|0;r=n;return a|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];a=$c(a,d,c)|0;r=n;return a|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];a=ad(a,d,c)|0;r=n;return a|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];a=bd(a,d,c)|0;r=n;return a|0}default:{a=0;r=n;return a|0}}return 0}function Yc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=kq(tq(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;e=+(l[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?e:e/255.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8;b=(h&65535)>>>8&255;d=+(h&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&255)}else{o[c>>2]=d/255.0;d=+(b&255)/255.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=i[h+1>>0]|0;b=i[h+2>>0]|0;d=+(l[h>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b&255);d=+(f&255)}else{o[c>>2]=d/255.0;e=+(b&255)/255.0;d=+(f&255)/255.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>8&255;f=h>>>16&255;g=h>>>24&255;d=+(h&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);o[c+8>>2]=+(f&255);o[c+12>>2]=+(g&255);h=1;return h|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;o[c+8>>2]=+(f&255)/255.0;o[c+12>>2]=+(g&255)/255.0;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Zc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=kq(tq(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;e=+(i[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?e:e/127.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8;b=(h&65535)>>>8&255;d=+((h&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<24>>24)}else{o[c>>2]=d/127.0;d=+(b<<24>>24)/127.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=i[h+1>>0]|0;b=i[h+2>>0]|0;d=+(i[h>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b<<24>>24);d=+(f<<24>>24)}else{o[c>>2]=d/127.0;e=+(b<<24>>24)/127.0;d=+(f<<24>>24)/127.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>8&255;f=h>>>16&255;g=h>>>24&255;d=+((h&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);o[c+8>>2]=+(f<<24>>24);o[c+12>>2]=+(g<<24>>24);h=1;return h|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;o[c+8>>2]=+(f<<24>>24)/127.0;o[c+12>>2]=+(g<<24>>24)/127.0;h=1;return h|0}}default:{h=0;return h|0}}return 0}function _c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0,j=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;f=a+48|0;b=k[f>>2]|0;f=k[f+4>>2]|0;h=a+40|0;f=(kq(tq(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+((l[f>>0]|l[f+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?e:e/65535.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=+(h&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&65535)}else{o[c>>2]=d/65535.0;d=+(b&65535)/65535.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+2|0;f=l[f>>0]|l[f+1>>0]<<8;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[h>>0]|l[h+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b&65535);d=+(f&65535)}else{o[c>>2]=d/65535.0;e=+(b&65535)/65535.0;d=+(f&65535)/65535.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{h=k[b>>2]|0;j=a+48|0;g=k[j>>2]|0;j=k[j+4>>2]|0;b=a+40|0;j=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,L|0,g|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;g=j;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=j+4|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;h=(i[a+32>>0]|0)==0;b=(lq(g|0,j|0,16)|0)&65535;f=j&65535;a=(lq(g|0,j|0,48)|0)&65535;d=+(g&65535);if(h){o[c>>2]=d;o[c+4>>2]=+(b&65535);o[c+8>>2]=+(f&65535);o[c+12>>2]=+(a&65535);j=1;return j|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;o[c+8>>2]=+(f&65535)/65535.0;o[c+12>>2]=+(a&65535)/65535.0;j=1;return j|0}}default:{j=0;return j|0}}return 0}function $c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0,j=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;f=a+48|0;b=k[f>>2]|0;f=k[f+4>>2]|0;h=a+40|0;f=(kq(tq(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+((l[f>>0]|l[f+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?e:e/32767.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=+((h&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<16>>16)}else{o[c>>2]=d/32767.0;d=+(b<<16>>16)/32767.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+2|0;f=l[f>>0]|l[f+1>>0]<<8;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[h>>0]|l[h+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b<<16>>16);d=+(f<<16>>16)}else{o[c>>2]=d/32767.0;e=+(b<<16>>16)/32767.0;d=+(f<<16>>16)/32767.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{h=k[b>>2]|0;j=a+48|0;g=k[j>>2]|0;j=k[j+4>>2]|0;b=a+40|0;j=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,L|0,g|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;g=j;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=j+4|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;h=(i[a+32>>0]|0)==0;b=(lq(g|0,j|0,16)|0)&65535;f=j&65535;a=(lq(g|0,j|0,48)|0)&65535;d=+((g&65535)<<16>>16);if(h){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);o[c+8>>2]=+(f<<16>>16);o[c+12>>2]=+(a<<16>>16);j=1;return j|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;o[c+8>>2]=+(f<<16>>16)/32767.0;o[c+12>>2]=+(a<<16>>16)/32767.0;j=1;return j|0}}default:{j=0;return j|0}}return 0}function ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=(kq(tq(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?e:e*2.3283064365386963e-10;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,h|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;h=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b>>>0)}else{o[c>>2]=d*2.3283064365386963e-10;d=+(b>>>0)*2.3283064365386963e-10}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=h+8|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b>>>0);d=+(f>>>0)}else{o[c>>2]=d*2.3283064365386963e-10;e=+(b>>>0)*2.3283064365386963e-10;d=+(f>>>0)*2.3283064365386963e-10}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;f=h+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=h+12|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;d=+((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);o[c+8>>2]=+(f>>>0);o[c+12>>2]=+(g>>>0);h=1;return h|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;o[c+8>>2]=+(f>>>0)*2.3283064365386963e-10;o[c+12>>2]=+(g>>>0)*2.3283064365386963e-10;h=1;return h|0}}default:{h=0;return h|0}}return 0}function bd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=(kq(tq(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?e:e*4.656612873077393e-10;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,h|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;h=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b|0)}else{o[c>>2]=d*4.656612873077393e-10;d=+(b|0)*4.656612873077393e-10}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=h+8|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b|0);d=+(f|0)}else{o[c>>2]=d*4.656612873077393e-10;e=+(b|0)*4.656612873077393e-10;d=+(f|0)*4.656612873077393e-10}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;f=h+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=h+12|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;d=+(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);o[c+8>>2]=+(f|0);o[c+12>>2]=+(g|0);h=1;return h|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;o[c+8>>2]=+(f|0)*4.656612873077393e-10;o[c+12>>2]=+(g|0)*4.656612873077393e-10;h=1;return h|0}}default:{h=0;return h|0}}return 0}function cd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+48|0;o=w+32|0;p=w+28|0;q=w+24|0;s=w+20|0;t=w+16|0;v=w;u=b+24|0;j=i[u>>0]|0;m=j<<24>>24;n=k[a+64>>2]|0;g=ha(n,m)|0;k[v>>2]=k[196];k[v+4>>2]=k[197];k[v+8>>2]=k[198];k[v+12>>2]=k[199];a=c+4|0;f=k[a>>2]|0;e=k[c>>2]|0;d=f-e>>2;if(g>>>0<=d>>>0){if(g>>>0>>0?(h=e+(g<<2)|0,(f|0)!=(h|0)):0)k[a>>2]=f+(~((f+-4-h|0)>>>2)<<2)}else qc(c,g-d|0);if((n|0)<=0){v=1;r=w;return v|0}h=b+84|0;l=b+68|0;a:do if(j<<24>>24>0){f=0;g=0;while(1){if(!(i[h>>0]|0))a=k[(k[l>>2]|0)+(g<<2)>>2]|0;else a=g;switch(i[u>>0]|0){case 1:{k[p>>2]=a;k[o>>2]=k[p>>2];a=Cc(b,o,v)|0;break}case 2:{k[q>>2]=a;k[o>>2]=k[q>>2];a=Jc(b,o,v)|0;break}case 3:{k[s>>2]=a;k[o>>2]=k[s>>2];a=Qc(b,o,v)|0;break}case 4:{k[t>>2]=a;k[o>>2]=k[t>>2];a=Xc(b,o,v)|0;break}default:break a}if(!a){a=0;d=29;break}a=k[c>>2]|0;d=f;e=0;while(1){k[a+(d<<2)>>2]=k[v+(e<<2)>>2];e=e+1|0;if((e|0)==(m|0))break;else d=d+1|0}g=g+1|0;if((g|0)>=(n|0)){a=1;d=29;break}else f=m+f|0}if((d|0)==29){r=w;return a|0}}else{d=0;while(1){if(!(i[h>>0]|0))a=k[(k[l>>2]|0)+(d<<2)>>2]|0;else a=d;switch(i[u>>0]|0){case 1:{k[p>>2]=a;k[o>>2]=k[p>>2];a=Cc(b,o,v)|0;break}case 2:{k[q>>2]=a;k[o>>2]=k[q>>2];a=Jc(b,o,v)|0;break}case 3:{k[s>>2]=a;k[o>>2]=k[s>>2];a=Qc(b,o,v)|0;break}case 4:{k[t>>2]=a;k[o>>2]=k[t>>2];a=Xc(b,o,v)|0;break}default:break a}if(!a){a=0;d=29;break}d=d+1|0;if((d|0)>=(n|0)){a=1;d=29;break}}if((d|0)==29){r=w;return a|0}}while(0);v=0;r=w;return v|0}function dd(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 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;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)zp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;mq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Jp(i);return}function fd(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;f=k[a>>2]|0;j=f;b=f+((k[b>>2]|0)-j)|0;l=d-c|0;if((l|0)<=0){p=b;return p|0}o=a+8|0;h=k[o>>2]|0;p=a+4|0;m=k[p>>2]|0;e=m;if((l|0)<=(h-e|0)){g=e-b|0;if((l|0)>(g|0)){h=c+g|0;if((h|0)==(d|0))e=m;else{f=h;e=m;do{i[e>>0]=i[f>>0]|0;e=(k[p>>2]|0)+1|0;k[p>>2]=e;f=f+1|0}while((f|0)!=(d|0))}if((g|0)>0)d=h;else{p=b;return p|0}}else e=m;g=e-(b+l)|0;f=b+g|0;if(f>>>0>>0){h=e;do{i[h>>0]=i[f>>0]|0;f=f+1|0;h=(k[p>>2]|0)+1|0;k[p>>2]=h}while((f|0)!=(m|0))}nq(e+(0-g)|0,b|0,g|0)|0;if((d|0)==(c|0)){p=b;return p|0}else e=b;while(1){i[e>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(d|0))break;else e=e+1|0}return b|0}g=e-j+l|0;if((g|0)<0)zp(a);e=h-j|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?g:e;h=b;g=h-j|0;if(!e){l=0;j=0}else n=16}else{h=b;e=2147483647;g=h-j|0;n=16}if((n|0)==16){l=e;j=aq(e)|0}m=j+g|0;e=m;g=j+l|0;if((c|0)==(d|0))c=e;else{f=m;do{i[f>>0]=i[c>>0]|0;f=e+1|0;e=f;c=c+1|0}while((c|0)!=(d|0));c=e;f=k[a>>2]|0}n=h-f|0;j=m+(0-n)|0;mq(j|0,f|0,n|0)|0;n=(k[p>>2]|0)-h|0;l=c;mq(l|0,b|0,n|0)|0;b=k[a>>2]|0;k[a>>2]=j;k[p>>2]=l+n;k[o>>2]=g;if(!b){p=m;return p|0}Jp(b);p=m;return p|0}function gd(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 hd(a){a=a|0;var b=0,c=0,d=0,e=0;d=k[a>>2]|0;e=a+4|0;b=k[e>>2]|0;c=d;if((b|0)==(d|0))b=d;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[e>>2]=b}k[a+16>>2]=0;k[a+12>>2]=b;if(!d)return;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);Jp(d);return}function id(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=k[a>>2]|0;n=a+4|0;c=k[n>>2]|0;j=m;if((c|0)==(m|0))d=m;else{d=c+(~((c+-4-j|0)>>>2)<<2)|0;k[n>>2]=d;c=d}s=a+16|0;k[s>>2]=0;t=a+12|0;k[t>>2]=d;i=b+8|0;d=i;p=k[d>>2]|0;d=k[d+4>>2]|0;r=b+16|0;f=r;g=k[f>>2]|0;f=kq(g|0,k[f+4>>2]|0,4,0)|0;e=L;if((d|0)<(e|0)|(d|0)==(e|0)&p>>>0>>0){a=0;return a|0}q=(k[b>>2]|0)+g|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;h=r;k[h>>2]=f;k[h+4>>2]=e;h=hq(p|0,d|0,f|0,e|0)|0;g=L;if(0>(g|0)|0==(g|0)&q>>>0>h>>>0){a=0;return a|0}h=q>>>2;g=c-j>>2;if(h>>>0<=g>>>0)if(h>>>0>>0?(o=m+(h<<2)|0,(c|0)!=(o|0)):0){k[n>>2]=c+(~((c+-4-o|0)>>>2)<<2);c=p}else c=p;else{jd(a,h-g|0);c=i;e=r;f=k[e>>2]|0;e=k[e+4>>2]|0;d=k[c+4>>2]|0;c=k[c>>2]|0}p=kq(f|0,e|0,q|0,0)|0;o=L;if((d|0)<(o|0)|(d|0)==(o|0)&c>>>0

>>0){a=0;return a|0}mq(k[a>>2]|0,(k[b>>2]|0)+f|0,q|0)|0;b=r;q=kq(k[b>>2]|0,k[b+4>>2]|0,q|0,0)|0;b=r;k[b>>2]=q;k[b+4>>2]=L;k[t>>2]=k[a>>2];k[s>>2]=0;a=1;return a|0}function jd(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;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){iq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)zp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;iq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;mq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Jp(j);return}function kd(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;k[a+24>>2]=0;k[a+28>>2]=0;return}function ld(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f;e=d;k[e>>2]=0;k[e+4>>2]=0;md(a,2,d);d=k[a+12>>2]|0;e=a+16|0;b=k[e>>2]|0;c=d;if((b|0)==(d|0))b=d;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[e>>2]=b}k[a+24>>2]=0;k[a+28>>2]=0;if(d|0){if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);Jp(d)}d=k[a>>2]|0;if(!d){r=f;return}b=a+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-8-d|0)>>>3)<<3);Jp(d);r=f;return}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,i=0,j=0,l=0,m=0;i=a+8|0;d=k[i>>2]|0;g=k[a>>2]|0;j=g;if(d-g>>3>>>0>=b>>>0){i=a+4|0;h=k[i>>2]|0;f=h-g>>3;g=f>>>0>>0;d=g?f:b;if(d|0){e=j;while(1){m=c;l=k[m+4>>2]|0;a=e;k[a>>2]=k[m>>2];k[a+4>>2]=l;d=d+-1|0;if(!d)break;else e=e+8|0}}if(g){e=b-f|0;d=e;f=h;while(1){b=c;l=k[b+4>>2]|0;m=f;k[m>>2]=k[b>>2];k[m+4>>2]=l;d=d+-1|0;if(!d)break;else f=f+8|0}k[i>>2]=h+(e<<3);return}else{d=j+(b<<3)|0;if((h|0)==(d|0))return;k[i>>2]=h+(~((h+-8-d|0)>>>3)<<3);return}}f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(j|0))k[d>>2]=e+(~((e+-8-g|0)>>>3)<<3);Jp(f);k[i>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(b>>>0>536870911)zp(a);d=d-0|0;if(d>>3>>>0<268435455){d=d>>2;d=d>>>0>>0?b:d;if(d>>>0>536870911)zp(a);else h=d}else h=536870911;f=aq(h<<3)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[i>>2]=f+(h<<3);d=b;e=f;while(1){j=c;l=k[j+4>>2]|0;m=e;k[m>>2]=k[j>>2];k[m+4>>2]=l;d=d+-1|0;if(!d)break;else e=e+8|0}k[g>>2]=f+(b<<3);return}function nd(a){a=a|0;Fa(a|0)|0;Xp()}function od(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e;c=b;k[c>>2]=0;k[c+4>>2]=0;md(a,2,b);b=k[a+12>>2]|0;c=a+16|0;d=k[c>>2]|0;if((d|0)==(b|0)){d=a+24|0;k[d>>2]=0;a=a+28|0;k[a>>2]=0;r=e;return}k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);d=a+24|0;k[d>>2]=0;a=a+28|0;k[a>>2]=0;r=e;return}function pd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=k[a>>2]|0;if(b){e=c+8|0;c=e;c=kq(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;k[e>>2]=c;k[e+4>>2]=L;e=a+28|0;c=k[e>>2]|0;d=a+24|0;k[d>>2]=k[d>>2]|1<>2]|0,k[e+4>>2]|0,1,0)|0;k[c>>2]=e;k[c+4>>2]=L;c=a+28|0;e=c;c=k[c>>2]|0}d=c+1|0;k[e>>2]=d;if((d|0)!=32)return;c=a+24|0;b=a+16|0;d=k[b>>2]|0;if((d|0)==(k[a+20>>2]|0))ed(a+12|0,c);else{k[d>>2]=k[c>>2];k[b>>2]=d+4}k[e>>2]=0;k[c>>2]=0;return}function qd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+32|0;s=y;t=y+24|0;q=y+28|0;w=y+8|0;o=y+20|0;v=k[a>>2]|0;x=v+8|0;c=k[v>>2]|0;v=k[v+4>>2]|0;x=kq(c|0,v|0,k[x>>2]|0,k[x+4>>2]|0)|0;m=L;m=kq((x|0)==0&(m|0)==0&1|0,0,x|0,m|0)|0;m=~~((+(c>>>0)+4294967296.0*+(v>>>0))/(+(m>>>0)+4294967296.0*+(L>>>0))*256.0+.5)>>>0;m=m>>>0<255?m:255;i[q>>0]=((m&255)<<24>>24==0&1)+m;m=a+12|0;v=a+16|0;c=((k[v>>2]|0)-(k[m>>2]|0)<<1)+64|0;k[w>>2]=0;x=w+4|0;k[x>>2]=0;k[w+8>>2]=0;if(!c)n=0;else{if((c|0)<0)zp(w);d=aq(c)|0;k[x>>2]=d;k[w>>2]=d;k[w+8>>2]=d+c;do{i[d>>0]=0;d=(k[x>>2]|0)+1|0;k[x>>2]=d;c=c+-1|0}while((c|0)!=0);n=k[w>>2]|0}p=a+28|0;c=(k[p>>2]|0)+-1|0;if((c|0)>-1){j=a+24|0;d=4096;e=0;do{h=i[q>>0]|0;f=256-(h&255)|0;g=(k[j>>2]&1<>>0>=h<<12>>>0){i[n+e>>0]=d;d=d>>>8;e=e+1|0}tq(k[800+(h<<3)>>2]|0,0,d|0,0)|0;d=d+(g?0:f&255)+(ha((L+d|0)>>>(k[800+(h<<3)+4>>2]|0),256-h|0)|0)|0;c=c+-1|0}while((c|0)>-1)}else{d=4096;e=0}c=k[v>>2]|0;if((c|0)==(k[m>>2]|0))f=d;else{do{c=c+-4|0;l=k[c>>2]|0;j=31;while(1){h=i[q>>0]|0;f=256-(h&255)|0;g=(1<>>0>=h<<12>>>0){i[n+e>>0]=d;d=d>>>8;e=e+1|0}tq(k[800+(h<<3)>>2]|0,0,d|0,0)|0;d=d+(g?0:f&255)+(ha((L+d|0)>>>(k[800+(h<<3)+4>>2]|0),256-h|0)|0)|0;if((j|0)>0)j=j+-1|0;else break}}while((c|0)!=(k[m>>2]|0));f=d}if(f>>>0<=4095)Aa(5456,5477,133,5490);if(f>>>0>=1048576)Aa(5504,5477,134,5490);d=f+-4096|0;do if(d>>>0>=64){c=n+e|0;if(d>>>0<16384){d=f+12288|0;i[c>>0]=d;i[c+1>>0]=d>>>8;d=e+2|0;break}else{d=f+8384512|0;i[c>>0]=d;i[c+1>>0]=d>>>8;i[c+2>>0]=d>>>16;d=e+3|0;break}}else{i[n+e>>0]=d;d=e+1|0}while(0);c=b+16|0;n=c;m=k[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(k[n>>2]|0)>>>0>0)){k[t>>2]=k[b+4>>2];k[s>>2]=k[t>>2];fd(b,s,q,q+1|0)|0;n=c;q=k[n>>2]|0;n=k[n+4>>2]|0;k[o>>2]=d;if(!((n|0)>0|(n|0)==0&q>>>0>0)){k[t>>2]=k[b+4>>2];k[s>>2]=k[t>>2];fd(b,s,o,o+4|0)|0;q=c;o=k[q+4>>2]|0;c=k[w>>2]|0;if(!((o|0)>0|(o|0)==0&(k[q>>2]|0)>>>0>0)){k[t>>2]=k[b+4>>2];k[s>>2]=k[t>>2];fd(b,s,c,c+d|0)|0}}else u=31}else{k[o>>2]=d;u=31}c=s;k[c>>2]=0;k[c+4>>2]=0;md(a,2,s);c=k[a+12>>2]|0;d=k[v>>2]|0;if((d|0)!=(c|0))k[v>>2]=d+(~((d+-4-c|0)>>>2)<<2);k[a+24>>2]=0;k[p>>2]=0;c=k[w>>2]|0;if(!c){r=y;return}if((k[x>>2]|0)!=(c|0))k[x>>2]=c;Jp(c);r=y;return}function rd(a){a=a|0;i[a+12>>0]=0;return}function sd(a){a=a|0;return}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;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=kq(h|0,g|0,1,0)|0;f=j;k[f>>2]=e;k[f+4>>2]=L;f=d;d=k[f>>2]|0;f=k[f+4>>2]|0;g=kq(h|0,g|0,5,0)|0;h=L;if((f|0)<(h|0)|(f|0)==(h|0)&d>>>0>>0){j=0;return j|0}c=k[b>>2]|0;b=c+e|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=j;k[e>>2]=g;k[e+4>>2]=h;f=hq(d|0,f|0,g|0,h|0)|0;e=L;if(0>(e|0)|0==(e|0)&b>>>0>f>>>0){j=0;return j|0}c=c+g|0;if((b|0)<1){j=0;return j|0}k[a>>2]=c;d=b+-1|0;e=c+d|0;a:do switch((l[e>>0]|0)>>>6|0){case 0:{k[a+4>>2]=d;d=(l[e>>0]|0)&63;c=a+8|0;k[c>>2]=d;break}case 1:if((b|0)<2){j=0;return j|0}else{k[a+4>>2]=b+-2;d=c+b+-2|0;d=(l[d+1>>0]|0)<<8&16128|(l[d>>0]|0);c=a+8|0;k[c>>2]=d;break a}case 2:if((b|0)<3){j=0;return j|0}else{k[a+4>>2]=b+-3;d=c+b+-3|0;d=(l[d+1>>0]|0)<<8|(l[d>>0]|0)|(l[d+2>>0]|0)<<16&4128768;c=a+8|0;k[c>>2]=d;break a}default:{j=0;return j|0}}while(0);a=d+4096|0;k[c>>2]=a;if(a>>>0>1048575){j=0;return j|0}a=kq(g|0,h|0,b|0,0)|0;k[j>>2]=a;k[j+4>>2]=L;j=1;return j|0}function ud(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;c=l[a+12>>0]|0;d=a+8|0;b=k[d>>2]|0;if(b>>>0<4096){f=a+4|0;e=(k[f>>2]|0)+-1|0;k[f>>2]=e;b=l[(k[a>>2]|0)+e>>0]|0|b<<8;k[d>>2]=b}a=b&255;c=0-c&255;e=ha(b>>>8,c)|0;f=a>>>0>>0;k[d>>2]=f?e+a|0:b-c-e|0;return f|0}function vd(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)Aa(10044,5436,153,10095);if((b|0)<=0)Aa(10124,5436,154,10095);f=a+8|0;g=a+4|0;h=0-(l[a+12>>0]|0)&255;e=b;d=k[f>>2]|0;b=0;do{if(d>>>0<4096){i=(k[g>>2]|0)+-1|0;k[g>>2]=i;d=l[(k[a>>2]|0)+i>>0]|0|d<<8;k[f>>2]=d}m=d&255;j=ha(d>>>8,h)|0;i=m>>>0>>0;d=i?j+m|0:d-h-j|0;k[f>>2]=d;b=i&1|b<<1;e=e+-1|0}while((e|0)!=0);k[c>>2]=b;return}function wd(a){a=a|0;p[a+16>>3]=.5;return}function xd(a){a=a|0;p[a+16>>3]=.5;return}function yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;p[a+16>>3]=.5;e=b+8|0;d=k[e>>2]|0;e=k[e+4>>2]|0;i=b+16|0;g=i;c=k[g>>2]|0;g=kq(c|0,k[g+4>>2]|0,4,0)|0;h=L;if((e|0)<(h|0)|(e|0)==(h|0)&d>>>0>>0){i=0;return i|0}b=k[b>>2]|0;f=b+c|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;c=i;k[c>>2]=g;k[c+4>>2]=h;e=hq(d|0,e|0,g|0,h|0)|0;d=L;if(0>(d|0)|0==(d|0)&f>>>0>e>>>0){i=0;return i|0}b=b+g|0;if((f|0)<1){i=0;return i|0}k[a>>2]=b;c=f+-1|0;d=b+c|0;a:do switch((l[d>>0]|0)>>>6|0){case 0:{k[a+4>>2]=c;c=(l[d>>0]|0)&63;b=a+8|0;k[b>>2]=c;break}case 1:if((f|0)<2){i=0;return i|0}else{k[a+4>>2]=f+-2;c=b+f+-2|0;c=(l[c+1>>0]|0)<<8&16128|(l[c>>0]|0);b=a+8|0;k[b>>2]=c;break a}case 2:if((f|0)<3){i=0;return i|0}else{k[a+4>>2]=f+-3;c=b+f+-3|0;c=(l[c+1>>0]|0)<<8|(l[c>>0]|0)|(l[c+2>>0]|0)<<16&4128768;b=a+8|0;k[b>>2]=c;break a}default:{i=0;return i|0}}while(0);a=c+4096|0;k[b>>2]=a;if(a>>>0>1048575){i=0;return i|0}h=kq(g|0,h|0,f|0,0)|0;k[i>>2]=h;k[i+4>>2]=L;i=1;return i|0}function zd(a){a=a|0;var b=0,c=0,d=0.0,e=0,f=0,g=0,h=0,i=0;c=a+16|0;d=+p[c>>3];if(!(d<=1.0))Aa(5534,5547,22,5576);if(!(d>=0.0))Aa(5594,5547,23,5576);f=~~(d*256.0+.5)>>>0;g=(f|0)==256;e=a+8|0;b=k[e>>2]|0;if(b>>>0<4096){i=a+4|0;h=(k[i>>2]|0)+-1|0;k[i>>2]=h;b=l[(k[a>>2]|0)+h>>0]|0|b<<8;k[e>>2]=b}a=b&255;g=0-(f+(g<<31>>31)+((f|0)==(g&1|0)&1))&255;h=ha(b>>>8,g)|0;i=a>>>0>>0;k[e>>2]=i?h+a|0:b-g-h|0;p[c>>3]=d*.9921875+ +(i&1^1|0)*.0078125;return i|0}function Ad(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 Bd(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;m=a+8|0;f=k[m>>2]|0;n=a+4|0;d=k[n>>2]|0;g=d;if(f-d>>2>>>0>=b>>>0){d=b;e=g;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[n>>2]=g+(b<<2);return}l=k[a>>2]|0;e=(d-l>>2)+b|0;if(e>>>0>1073741823)zp(a);d=f-l|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[n>>2]|0;e=f-l>>2;if(!d){i=0;d=0;h=f}else j=9}else{e=k[n>>2]|0;d=1073741823;f=e;e=e-l>>2;j=9}if((j|0)==9){i=d;d=aq(d<<2)|0;h=f}g=d+(e<<2)|0;e=d+(i<<2)|0;d=b;f=g;while(1){k[f>>2]=k[c>>2];d=d+-1|0;if(!d)break;else f=f+4|0}j=h-l|0;c=g+(0-(j>>2)<<2)|0;mq(c|0,l|0,j|0)|0;k[a>>2]=c;k[n>>2]=g+(b<<2);k[m>>2]=e;if(!l)return;Jp(l);return}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,j=0,l=0;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)zp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;mq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Jp(i);return}function Dd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+32|0;h=i+16|0;c=i+8|0;d=i;e=a+8|0;if(k[e>>2]<<5>>>0>=b>>>0){r=i;return}k[h>>2]=0;f=h+4|0;k[f>>2]=0;g=h+8|0;k[g>>2]=0;if((b|0)<0)zp(h);l=((b+-1|0)>>>5)+1|0;b=aq(l<<2)|0;k[h>>2]=b;k[f>>2]=0;k[g>>2]=l;l=k[a>>2]|0;k[c>>2]=l;k[c+4>>2]=0;b=a+4|0;j=k[b>>2]|0;k[d>>2]=l+(j>>>5<<2);k[d+4>>2]=j&31;Ed(h,c,d);c=k[a>>2]|0;k[a>>2]=k[h>>2];k[h>>2]=c;a=k[b>>2]|0;k[b>>2]=k[f>>2];k[f>>2]=a;a=k[e>>2]|0;k[e>>2]=k[g>>2];k[g>>2]=a;if(c|0)Jp(c);r=i;return}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;o=r;r=r+32|0;j=o+24|0;l=o+16|0;m=o+8|0;n=o;f=a+4|0;p=k[f>>2]|0;e=k[b>>2]|0;d=k[b+4>>2]|0;i=k[c>>2]|0;g=k[c+4>>2]|0;h=i-e<<3;k[f>>2]=p-d+g+h;f=(k[a>>2]|0)+(p>>>5<<2)|0;c=p&31;b=f;if((d|0)!=(c|0)){k[j>>2]=e;k[j+4>>2]=d;k[l>>2]=i;k[l+4>>2]=g;k[m>>2]=b;k[m+4>>2]=c;Fd(n,j,l,m);r=o;return}a=g-d+h|0;c=e;if((a|0)>0){if(!d){d=0;g=c;b=a}else{g=32-d|0;b=(a|0)<(g|0)?a:g;g=-1>>>(g-b|0)&-1<>2]=k[f>>2]&~g|k[c>>2]&g;d=b+d|0;g=c+4|0;f=f+(d>>>5<<2)|0;d=d&31;e=g;b=a-b|0}a=b>>>5;nq(f|0,e|0,a<<2|0)|0;c=b-(a<<5)|0;e=f+(a<<2)|0;b=e;if((c|0)>0){d=-1>>>(32-c|0);k[e>>2]=k[e>>2]&~d|k[g+(a<<2)>>2]&d;d=c}}k[n>>2]=b;k[n+4>>2]=d;r=o;return}function Fd(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;m=k[b>>2]|0;l=b+4|0;e=k[l>>2]|0;h=((k[c>>2]|0)-m<<3)+(k[c+4>>2]|0)-e|0;c=m;if((h|0)<=0){b=d+4|0;d=k[d>>2]|0;k[a>>2]=d;a=a+4|0;d=k[b>>2]|0;k[a>>2]=d;return}if(!e){e=d+4|0;j=e;e=k[e>>2]|0}else{j=32-e|0;m=(h|0)<(j|0)?h:j;c=-1>>>(j-m|0)&-1<>2];j=d+4|0;n=k[j>>2]|0;e=32-n|0;f=e>>>0>>0?e:m;g=k[d>>2]|0;n=k[g>>2]&~(-1>>>(e-f|0)&-1<>2]=n;e=k[j>>2]|0;i=k[l>>2]|0;k[g>>2]=n|(e>>>0>i>>>0?c<>>(i-e|0));e=(k[j>>2]|0)+f|0;g=g+(e>>>5<<2)|0;k[d>>2]=g;e=e&31;k[j>>2]=e;i=m-f|0;if((i|0)>0){e=k[g>>2]&~(-1>>>(32-i|0));k[g>>2]=e;k[g>>2]=e|c>>>((k[l>>2]|0)+f|0);k[j>>2]=i;e=i}c=(k[b>>2]|0)+4|0;k[b>>2]=c;h=h-m|0}i=32-e|0;f=-1<>>0>31){g=~f;e=h;do{n=k[c>>2]|0;c=k[d>>2]|0;m=k[c>>2]&g;k[c>>2]=m;k[c>>2]=m|n<>2];c=c+4|0;k[d>>2]=c;k[c>>2]=k[c>>2]&f|n>>>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|0)<=0){b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;a=k[b>>2]|0;k[n>>2]=a;return}f=k[c>>2]&-1>>>(32-h|0);g=(i|0)<(h|0)?i:h;e=k[d>>2]|0;c=k[e>>2]&~(-1<>2]&-1>>>(i-g|0));k[e>>2]=c;k[e>>2]=c|f<>2];c=(k[j>>2]|0)+g|0;e=e+(c>>>5<<2)|0;k[d>>2]=e;k[j>>2]=c&31;c=h-g|0;if((c|0)<=0){b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;a=k[b>>2]|0;k[n>>2]=a;return}k[e>>2]=k[e>>2]&~(-1>>>(32-c|0))|f>>>g;k[j>>2]=c;b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;a=k[b>>2]|0;k[n>>2]=a;return}function Gd(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}d=k[a>>2]|0;if(!d)return;b=a+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~(((c+-12-d|0)>>>0)/12|0)*12|0);Jp(d);return}function Hd(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;Id(a,b,2852);e=b*3|0;Jd(a+12|0,e,2848);f=a+24|0;g=a+32|0;h=k[f>>2]|0;if((k[g>>2]|0)-h>>2>>>0>=e>>>0)return;d=a+28|0;c=(k[d>>2]|0)-h|0;a=c>>2;if(!b)b=0;else b=aq(b*12|0)|0;i=b+(a<<2)|0;j=i+(0-a<<2)|0;a=h;mq(j|0,a|0,c|0)|0;k[f>>2]=j;k[d>>2]=i;k[g>>2]=b+(e<<2);if(!h)return;Jp(a);return}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;i=a+8|0;d=k[i>>2]|0;g=k[a>>2]|0;m=g;if(((d-g|0)/12|0)>>>0>=b>>>0){l=a+4|0;j=k[l>>2]|0;f=(j-g|0)/12|0;g=f>>>0>>0;d=g?f:b;a=j;if(d|0){h=c+4|0;i=c+8|0;e=m;while(1){k[e>>2]=k[c>>2];k[e+4>>2]=k[h>>2];k[e+8>>2]=k[i>>2];d=d+-1|0;if(!d)break;else e=e+12|0}}if(g){d=b-f|0;b=j;do{k[b>>2]=k[c>>2];k[b+4>>2]=k[c+4>>2];k[b+8>>2]=k[c+8>>2];b=(k[l>>2]|0)+12|0;k[l>>2]=b;d=d+-1|0}while((d|0)!=0);return}b=m+(b*12|0)|0;if((a|0)==(b|0))return;k[l>>2]=a+(~(((a+-12-b|0)>>>0)/12|0)*12|0);return}f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(m|0))k[d>>2]=e+(~(((e+-12-g|0)>>>0)/12|0)*12|0);Jp(f);k[i>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}f=b>>>0>357913941;if(f)zp(a);d=(d-0|0)/12|0;if(d>>>0<178956970){e=d<<1;d=e>>>0>=b>>>0;if(d|f^1)h=d?e:b;else zp(a)}else h=357913941;d=aq(h*12|0)|0;e=a+4|0;k[e>>2]=d;k[a>>2]=d;k[i>>2]=d+(h*12|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[e>>2]|0)+12|0;k[e>>2]=d;b=b+-1|0}while((b|0)!=0);return}function Jd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+8|0;d=k[i>>2]|0;g=k[a>>2]|0;j=g;if(d-g>>2>>>0>=b>>>0){i=a+4|0;h=k[i>>2]|0;f=h-g>>2;g=f>>>0>>0;d=g?f:b;if(d|0){e=j;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(g){e=b-f|0;d=e;f=h;while(1){k[f>>2]=k[c>>2];d=d+-1|0;if(!d)break;else f=f+4|0}k[i>>2]=h+(e<<2);return}else{d=j+(b<<2)|0;if((h|0)==(d|0))return;k[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);return}}f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(j|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);Jp(f);k[i>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(b>>>0>1073741823)zp(a);d=d-0|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?b:d;if(d>>>0>1073741823)zp(a);else h=d}else h=1073741823;f=aq(h<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[i>>2]=f+(h<<2);d=b;e=f;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[g>>2]=f+(b<<2);return}function Kd(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 Ld(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){c=0;return c|0}if(!a){c=1;return c|0}h=c+8|0;j=k[h+4>>2]|0;g=c+16|0;f=g;e=k[f>>2]|0;f=k[f+4>>2]|0;if(!((j|0)>(f|0)|((j|0)==(f|0)?(k[h>>2]|0)>>>0>e>>>0:0))){j=0;return j|0}j=i[(k[c>>2]|0)+e>>0]|0;f=kq(e|0,f|0,1,0)|0;h=g;k[h>>2]=f;k[h+4>>2]=L;switch(j<<24>>24){case 0:{j=Md(a,b,c,d)|0;return j|0}case 1:{j=Qd(a,c,d)|0;return j|0}default:{j=0;return j|0}}return 0}function Md(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+64|0;E=F;p=E;q=p+40|0;do{k[p>>2]=0;p=p+4|0}while((p|0)<(q|0));a:do if(((Nd(E,c)|0?(n=c+8|0,m=k[n>>2]|0,n=k[n+4>>2]|0,o=c+16|0,f=o,e=k[f>>2]|0,f=kq(e|0,k[f+4>>2]|0,8,0)|0,g=L,!((n|0)<(g|0)|(n|0)==(g|0)&m>>>0>>0)):0)?(h=k[c>>2]|0,j=h+e|0,u=j,u=l[u>>0]|l[u+1>>0]<<8|l[u+2>>0]<<16|l[u+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,D=o,k[D>>2]=f,k[D+4>>2]=g,D=hq(m|0,n|0,f|0,g|0)|0,C=L,!(j>>>0>C>>>0|(j|0)==(C|0)&u>>>0>D>>>0)):0)?(v=h+f|0,C=kq(u|0,j|0,f|0,g|0)|0,D=o,k[D>>2]=C,k[D+4>>2]=L,(u|0)>=1):0){D=E+40|0;k[D>>2]=v;e=u+-1|0;f=v+e|0;switch((l[f>>0]|0)>>>6|0){case 0:{k[E+44>>2]=e;t=l[f>>0]&63;s=E+48|0;k[s>>2]=t;break}case 1:{if((u|0)<2){j=0;break a}k[E+44>>2]=u+-2;t=v+u+-2|0;t=l[t+1>>0]<<8&16128|l[t>>0];s=E+48|0;k[s>>2]=t;break}case 2:{if((u|0)<3){j=0;break a}k[E+44>>2]=u+-3;t=v+u+-3|0;t=l[t+1>>0]<<8|l[t>>0]|l[t+2>>0]<<16&4128768;s=E+48|0;k[s>>2]=t;break}case 3:{k[E+44>>2]=u+-4;t=v+u+-4|0;t=l[t+2>>0]<<16|l[t+3>>0]<<24&1056964608|l[t+1>>0]<<8|l[t>>0];s=E+48|0;k[s>>2]=t;break}default:{}}C=t+16384|0;k[s>>2]=C;if(C>>>0<=4194303){e=(a|0)>0;b:do if(e){if(!(k[E+12>>2]|0)){j=0;break a}Rg(c,0,0)|0;if(e){t=E+48|0;u=E+44|0;v=E+16|0;w=E+28|0;x=(b|0)>0;C=c+36|0;y=c+32|0;z=c+24|0;A=c+28|0;f=k[t>>2]|0;B=0;e=0;while(1){c:do if(f>>>0<16384){g=k[u>>2]|0;do{if((g|0)<=0)break c;g=g+-1|0;k[u>>2]=g;f=l[(k[D>>2]|0)+g>>0]|f<<8;k[t>>2]=f}while(f>>>0<16384)}while(0);p=f&4095;s=k[(k[v>>2]|0)+(p<<2)>>2]|0;q=k[w>>2]|0;f=(ha(k[q+(s<<3)>>2]|0,f>>>12)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[t>>2]=f;if(x){p=(s|0)>0;if((s|0)<=-1){e=33;break}if((s|0)<33){q=0;o=e}else{e=32;break}while(1){if(!(i[C>>0]|0)){j=0;break a}if(p){j=k[z>>2]|0;m=k[A>>2]|0;h=k[y>>2]|0;n=0;g=0;do{e=j+(h>>>3)|0;if(e>>>0>>0){e=(l[e>>0]|0)>>>(h&7)&1;h=h+1|0;k[y>>2]=h}else e=0;g=e<>2]=g;q=q+1|0;if((q|0)>=(b|0))break;else o=e}}B=B+b|0;if((B|0)>=(a|0))break b}if((e|0)==32){if(!(i[C>>0]|0)){j=0;break a}Aa(5649,5622,113,5641)}else if((e|0)==33){if(!(i[C>>0]|0)){j=0;break a}Aa(5607,5622,112,5641)}}}else Rg(c,0,0)|0;while(0);Sg(c);j=1}else j=0}else j=0;while(0);e=k[E+28>>2]|0;f=e;if(e|0){g=E+32|0;h=k[g>>2]|0;if((h|0)!=(e|0))k[g>>2]=h+(~((h+-8-f|0)>>>3)<<3);Jp(e)}e=k[E+16>>2]|0;f=e;if(e|0){g=E+20|0;h=k[g>>2]|0;if((h|0)!=(e|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);Jp(e)}g=k[E>>2]|0;if(!g){r=F;return j|0}e=E+4|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-g|0)>>>2)<<2);Jp(g);r=F;return j|0}function Nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=Od(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|0;return 0}function Od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=4096){if(f>>>0>4096?(e=g+16384|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else jd(a,4096-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Pd(d,c-f|0);if(!c){j=0;return j|0}f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(d>>>0>4096){d=0;j=19;break}if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if(h>>>0>=c>>>0)break;else e=d}if((j|0)==19)return d|0;j=(d|0)==4096;return j|0}function Pd(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;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>3>>>0>=b>>>0){do{a=c;k[a>>2]=0;k[a+4>>2]=0;c=(k[i>>2]|0)+8|0;k[i>>2]=c;b=b+-1|0}while((b|0)!=0);return}f=k[a>>2]|0;e=(c-f>>3)+b|0;if(e>>>0>536870911)zp(a);c=d-f|0;if(c>>3>>>0<268435455){c=c>>2;c=c>>>0>>0?e:c;d=(k[i>>2]|0)-f>>3;if(!c){f=0;e=0;c=d}else g=9}else{c=536870911;d=(k[i>>2]|0)-f>>3;g=9}if((g|0)==9){f=c;e=aq(c<<3)|0;c=d}g=e+(c<<3)|0;e=e+(f<<3)|0;d=g;c=g;do{f=d;k[f>>2]=0;k[f+4>>2]=0;d=c+8|0;c=d;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;f=(k[i>>2]|0)-b|0;g=g+(0-(f>>3)<<3)|0;mq(g|0,b|0,f|0)|0;k[a>>2]=g;k[i>>2]=c;k[h>>2]=e;if(!b)return;Jp(b);return}function Qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=b+8|0;h=k[g+4>>2]|0;f=b+16|0;e=f;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((h|0)>(e|0)|((h|0)==(e|0)?(k[g>>2]|0)>>>0>d>>>0:0))){h=0;return h|0}h=i[(k[b>>2]|0)+d>>0]|0;e=kq(d|0,e|0,1,0)|0;g=f;k[g>>2]=e;k[g+4>>2]=L;do switch(h&255|0){case 1:{h=Rd(a,b,c)|0;return h|0}case 2:{h=Td(a,b,c)|0;return h|0}case 3:{h=Vd(a,b,c)|0;return h|0}case 4:{h=Xd(a,b,c)|0;return h|0}case 5:{h=Zd(a,b,c)|0;return h|0}case 6:{h=_d(a,b,c)|0;return h|0}case 7:{h=ae(a,b,c)|0;return h|0}case 8:{h=ce(a,b,c)|0;return h|0}case 9:{h=ee(a,b,c)|0;return h|0}case 10:{h=he(a,b,c)|0;return h|0}case 11:{h=ke(a,b,c)|0;return h|0}case 12:{h=ne(a,b,c)|0;return h|0}case 13:{h=qe(a,b,c)|0;return h|0}case 14:{h=te(a,b,c)|0;return h|0}case 15:{h=we(a,b,c)|0;return h|0}case 16:{h=ye(a,b,c)|0;return h|0}case 17:{h=Ae(a,b,c)|0;return h|0}case 18:{h=Ce(a,b,c)|0;return h|0}default:{h=0;return h|0}}while(0);return 0}function Rd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(Sd(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+16384|0;k[o>>2]=d;d=d>>>0>4194303;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>12)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function Sd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=Od(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|0;return 0}function Td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(Ud(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+16384|0;k[o>>2]=d;d=d>>>0>4194303;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>12)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function Ud(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;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=Od(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|0;return 0}function Vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(Wd(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+16384|0;k[o>>2]=d;d=d>>>0>4194303;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>12)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function Wd(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;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=Od(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|0;return 0}function Xd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(Yd(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+16384|0;k[o>>2]=d;d=d>>>0>4194303;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>12)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=Od(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|0;return 0}function Zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(Nd(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+16384|0;k[o>>2]=d;d=d>>>0>4194303;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>12)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function _d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if($d(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+16384|0;k[o>>2]=d;d=d>>>0>4194303;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>12)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function $d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=Od(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|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,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(be(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+16384|0;k[o>>2]=d;d=d>>>0>4194303;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>12)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=Od(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|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,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(de(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+16384|0;k[o>>2]=d;d=d>>>0>4194303;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>12)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function de(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;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=Od(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|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=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(fe(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+32768|0;k[o>>2]=d;d=d>>>0>8388607;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<32768){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<32768)}while(0);p=d&8191;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>13)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}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,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=ge(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|0;return 0}function ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=8192){if(f>>>0>8192?(e=g+32768|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else jd(a,8192-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Pd(d,c-f|0);if(!c){j=0;return j|0}f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(d>>>0>8192){d=0;j=19;break}if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if(h>>>0>=c>>>0)break;else e=d}if((j|0)==19)return d|0;j=(d|0)==8192;return j|0}function he(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(ie(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+131072|0;k[o>>2]=d;d=d>>>0>33554431;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<131072){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<131072)}while(0);p=d&32767;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>15)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function ie(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=je(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|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,h=0,i=0,j=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=32768){if(f>>>0>32768?(e=g+131072|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else jd(a,32768-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Pd(d,c-f|0);if(!c){j=0;return j|0}f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(d>>>0>32768){d=0;j=19;break}if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if(h>>>0>=c>>>0)break;else e=d}if((j|0)==19)return d|0;j=(d|0)==32768;return j|0} +function Vk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=r;r=r+96|0;ga=ia+80|0;n=ia+32|0;ha=ia+56|0;fa=ia+44|0;_=ia+16|0;Z=ia;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];j=k[c>>2]|0;$=c+4|0;l=k[$>>2]|0;aa=c+8|0;m=k[aa>>2]|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;ba=ha+8|0;ca=ha+4|0;da=ha+16|0;ea=ha+20|0;Wk(ha);g=k[ca>>2]|0;h=(k[ea>>2]|0)+(k[da>>2]|0)|0;if((k[ba>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Y=g+16|0;k[Y>>2]=k[n>>2];k[Y+4>>2]=k[n+4>>2];k[Y+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ea>>2]|0)+1|0;k[ea>>2]=g;if(!g){Zk(ha);r=ia;return}Q=a+44|0;R=a+40|0;S=f+4|0;T=ga+4|0;U=ga+8|0;V=a+24|0;W=a+20|0;X=a+84|0;Y=a+80|0;a:while(1){N=k[da>>2]|0;n=g+-1|0;m=n+N|0;O=k[ca>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[fa>>2]=k[L>>2];k[fa+4>>2]=k[L+4>>2];k[fa+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[ea>>2]=n;n=k[ba>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Jp(k[n+-4>>2]|0);k[ba>>2]=(k[ba>>2]|0)+-4}k[c>>2]=h;k[$>>2]=j;k[aa>>2]=l;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[ga>>2]=k[fa>>2];k[ga+4>>2]=k[fa+4>>2];k[ga+8>>2]=k[fa+8>>2];O=Gm(a,P,c,ga,m)|0;n=d+(O<<2)|0;e=k[n>>2]|0;g=k[a>>2]|0;do if((g|0)==(e|0)){if((P|0)>0){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[S>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=tq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;mq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[S>>2]=P+g}}else{if(!P){g=14;break a}if(P>>>0>=3){k[ga>>2]=k[c>>2];k[T>>2]=k[$>>2];k[U>>2]=k[aa>>2];m=ga+(O<<2)|0;k[m>>2]=(k[m>>2]|0)+(1<>>0>=33){g=32;break a}if((g|0)==31){g=34;break a}j=k[V>>2]|0;g=32-j|0;l=k[W>>2]|0;h=k[l>>2]<>>(32-m|0);N=j+m|0;k[V>>2]=N;if((N|0)==32){k[W>>2]=l+4;k[V>>2]=0}}else{N=m-g|0;k[V>>2]=N;M=l+4|0;k[W>>2]=M;N=32-N|0;g=(k[M>>2]|0)>>>N|h>>>(N-g|0)}l=(P>>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[X>>2]|0;g=k[Y>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[X>>2]=P;if((P|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=j?l:h;o=j?h:l}k[n>>2]=e+1;if(b|0){k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];m=k[c>>2]|0;n=k[$>>2]|0;e=k[aa>>2]|0;l=k[ba>>2]|0;j=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Wk(ha);g=k[da>>2]|0;h=k[ea>>2]|0;l=k[ba>>2]|0;j=k[ca>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[ea>>2]=(k[ea>>2]|0)+1}if(o|0){k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];m=k[ga>>2]|0;n=k[T>>2]|0;e=k[U>>2]|0;l=k[ba>>2]|0;j=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Wk(ha);g=k[da>>2]|0;h=k[ea>>2]|0;l=k[ba>>2]|0;j=k[ca>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Z>>2];k[P+4>>2]=k[Z+4>>2];k[P+8>>2]=k[Z+8>>2];k[g+28>>2]=O;k[ea>>2]=(k[ea>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=g-e|0;F=k[d+(x<<2)>>2]|0;I=g-F|0;q=k[d+(t<<2)>>2]|0;J=g-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(g|0)==(e|0);B=ga+(O<<2)|0;E=c+(O<<2)|0;F=(g|0)==(F|0);C=ga+(x<<2)|0;G=c+(x<<2)|0;q=(g|0)==(q|0);p=ga+(t<<2)|0;s=c+(t<<2)|0;t=ga+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ga+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ga+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=H-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=I-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=J-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[S>>2]|0;k[S>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=tq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;mq((k[k[N>>2]>>2]|0)+l|0,ga|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ea>>2]|0;if(!g){g=58;break}}if((g|0)==14)Aa(9923,9961,231,10031);else if((g|0)==21)Aa(10044,10068,111,10095);else if((g|0)==23)Aa(10124,10068,112,10095);else if((g|0)==32)Aa(10044,10068,111,10095);else if((g|0)==34)Aa(10124,10068,112,10095);else if((g|0)==58){Zk(ha);r=ia;return}}function Wk(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;nq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Jp(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=aq(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Xk(a,e);r=p;return}k[f>>2]=b;Yk(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;nq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=aq(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Jp(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=aq(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=aq(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=aq(c<<2)|0;Jp(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;nq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=aq(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Jp(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Jp(b);r=p;return}function Xk(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;nq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=aq(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Jp(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Yk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;nq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Jp(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function Zk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Jp(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Jp(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Jp(b);return}function _k(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=kq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=kq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=kq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){u=1;r=s;return u|0}if(!(id(a+8|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+28|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+48|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+68|0,b)|0)){u=0;r=s;return u|0}u=k[g>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];$k(a,u,n,m,0,q);u=1;r=s;return u|0}function $k(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=r;r=r+96|0;ga=ia+80|0;n=ia+32|0;ha=ia+56|0;fa=ia+44|0;_=ia+16|0;Z=ia;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];j=k[c>>2]|0;$=c+4|0;l=k[$>>2]|0;aa=c+8|0;m=k[aa>>2]|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;ba=ha+8|0;ca=ha+4|0;da=ha+16|0;ea=ha+20|0;al(ha);g=k[ca>>2]|0;h=(k[ea>>2]|0)+(k[da>>2]|0)|0;if((k[ba>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Y=g+16|0;k[Y>>2]=k[n>>2];k[Y+4>>2]=k[n+4>>2];k[Y+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ea>>2]|0)+1|0;k[ea>>2]=g;if(!g){dl(ha);r=ia;return}Q=a+44|0;R=a+40|0;S=f+4|0;T=ga+4|0;U=ga+8|0;V=a+24|0;W=a+20|0;X=a+84|0;Y=a+80|0;a:while(1){N=k[da>>2]|0;n=g+-1|0;m=n+N|0;O=k[ca>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[fa>>2]=k[L>>2];k[fa+4>>2]=k[L+4>>2];k[fa+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[ea>>2]=n;n=k[ba>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Jp(k[n+-4>>2]|0);k[ba>>2]=(k[ba>>2]|0)+-4}k[c>>2]=h;k[$>>2]=j;k[aa>>2]=l;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[ga>>2]=k[fa>>2];k[ga+4>>2]=k[fa+4>>2];k[ga+8>>2]=k[fa+8>>2];O=Im(a,P,c,ga,m)|0;n=d+(O<<2)|0;e=k[n>>2]|0;g=k[a>>2]|0;do if((g|0)==(e|0)){if((P|0)>0){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[S>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=tq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;mq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[S>>2]=P+g}}else{if(!P){g=14;break a}if(P>>>0>=3){k[ga>>2]=k[c>>2];k[T>>2]=k[$>>2];k[U>>2]=k[aa>>2];m=ga+(O<<2)|0;k[m>>2]=(k[m>>2]|0)+(1<>>0>=33){g=32;break a}if((g|0)==31){g=34;break a}j=k[V>>2]|0;g=32-j|0;l=k[W>>2]|0;h=k[l>>2]<>>(32-m|0);N=j+m|0;k[V>>2]=N;if((N|0)==32){k[W>>2]=l+4;k[V>>2]=0}}else{N=m-g|0;k[V>>2]=N;M=l+4|0;k[W>>2]=M;N=32-N|0;g=(k[M>>2]|0)>>>N|h>>>(N-g|0)}l=(P>>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[X>>2]|0;g=k[Y>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[X>>2]=P;if((P|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=j?l:h;o=j?h:l}k[n>>2]=e+1;if(b|0){k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];m=k[c>>2]|0;n=k[$>>2]|0;e=k[aa>>2]|0;l=k[ba>>2]|0;j=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){al(ha);g=k[da>>2]|0;h=k[ea>>2]|0;l=k[ba>>2]|0;j=k[ca>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[ea>>2]=(k[ea>>2]|0)+1}if(o|0){k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];m=k[ga>>2]|0;n=k[T>>2]|0;e=k[U>>2]|0;l=k[ba>>2]|0;j=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){al(ha);g=k[da>>2]|0;h=k[ea>>2]|0;l=k[ba>>2]|0;j=k[ca>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Z>>2];k[P+4>>2]=k[Z+4>>2];k[P+8>>2]=k[Z+8>>2];k[g+28>>2]=O;k[ea>>2]=(k[ea>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=g-e|0;F=k[d+(x<<2)>>2]|0;I=g-F|0;q=k[d+(t<<2)>>2]|0;J=g-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(g|0)==(e|0);B=ga+(O<<2)|0;E=c+(O<<2)|0;F=(g|0)==(F|0);C=ga+(x<<2)|0;G=c+(x<<2)|0;q=(g|0)==(q|0);p=ga+(t<<2)|0;s=c+(t<<2)|0;t=ga+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ga+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ga+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=H-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=I-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=J-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[S>>2]|0;k[S>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=tq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;mq((k[k[N>>2]>>2]|0)+l|0,ga|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ea>>2]|0;if(!g){g=58;break}}if((g|0)==14)Aa(9923,9961,231,10031);else if((g|0)==21)Aa(10044,10068,111,10095);else if((g|0)==23)Aa(10124,10068,112,10095);else if((g|0)==32)Aa(10044,10068,111,10095);else if((g|0)==34)Aa(10124,10068,112,10095);else if((g|0)==58){dl(ha);r=ia;return}}function al(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;nq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Jp(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=aq(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;bl(a,e);r=p;return}k[f>>2]=b;cl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;nq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=aq(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Jp(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=aq(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=aq(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=aq(c<<2)|0;Jp(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;nq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=aq(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Jp(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Jp(b);r=p;return}function bl(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;nq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=aq(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Jp(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function cl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;nq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Jp(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function dl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Jp(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Jp(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Jp(b);return}function el(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=kq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=kq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=kq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){u=1;r=s;return u|0}if(!(td(a+8|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+24|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+44|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+64|0,b)|0)){u=0;r=s;return u|0}u=k[g>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];fl(a,u,n,m,0,q);u=1;r=s;return u|0}function fl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=r;r=r+112|0;ga=ia+88|0;n=ia+32|0;ha=ia+64|0;fa=ia+48|0;ea=ia+44|0;Z=ia+16|0;Y=ia;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];j=k[c>>2]|0;_=c+4|0;l=k[_>>2]|0;$=c+8|0;m=k[$>>2]|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;aa=ha+8|0;ba=ha+4|0;ca=ha+16|0;da=ha+20|0;gl(ha);g=k[ba>>2]|0;h=(k[da>>2]|0)+(k[ca>>2]|0)|0;if((k[aa>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;X=g+16|0;k[X>>2]=k[n>>2];k[X+4>>2]=k[n+4>>2];k[X+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[da>>2]|0)+1|0;k[da>>2]=g;if(!g){jl(ha);r=ia;return}Q=a+40|0;R=a+36|0;S=f+4|0;T=ga+4|0;U=ga+8|0;V=a+8|0;W=a+80|0;X=a+76|0;a:while(1){N=k[ca>>2]|0;n=g+-1|0;m=n+N|0;O=k[ba>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[fa>>2]=k[L>>2];k[fa+4>>2]=k[L+4>>2];k[fa+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[da>>2]=n;n=k[aa>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Jp(k[n+-4>>2]|0);k[aa>>2]=(k[aa>>2]|0)+-4}k[c>>2]=h;k[_>>2]=j;k[$>>2]=l;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[ga>>2]=k[fa>>2];k[ga+4>>2]=k[fa+4>>2];k[ga+8>>2]=k[fa+8>>2];O=Km(a,P,c,ga,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;g=k[a>>2]|0;do if((g|0)==(n|0)){if((P|0)>0){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[S>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=tq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;mq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[S>>2]=P+g}}else{if(!P){g=14;break a}if(P>>>0>=3){k[ga>>2]=k[c>>2];k[T>>2]=k[_>>2];k[U>>2]=k[$>>2];l=ga+(O<<2)|0;k[l>>2]=(k[l>>2]|0)+(1<>2]=0;vd(V,l,ea);l=(P>>>1)-(k[ea>>2]|0)|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[W>>2]|0;g=k[X>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[W>>2]=P;if((P|0)==32){k[X>>2]=g+4;k[W>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];m=k[c>>2]|0;n=k[_>>2]|0;e=k[$>>2]|0;l=k[aa>>2]|0;j=k[ba>>2]|0;g=k[ca>>2]|0;h=k[da>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){gl(ha);g=k[ca>>2]|0;h=k[da>>2]|0;l=k[aa>>2]|0;j=k[ba>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Z>>2];k[P+4>>2]=k[Z+4>>2];k[P+8>>2]=k[Z+8>>2];k[g+28>>2]=O;k[da>>2]=(k[da>>2]|0)+1}if(o|0){k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];m=k[ga>>2]|0;n=k[T>>2]|0;e=k[U>>2]|0;l=k[aa>>2]|0;j=k[ba>>2]|0;g=k[ca>>2]|0;h=k[da>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){gl(ha);g=k[ca>>2]|0;h=k[da>>2]|0;l=k[aa>>2]|0;j=k[ba>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Y>>2];k[P+4>>2]=k[Y+4>>2];k[P+8>>2]=k[Y+8>>2];k[g+28>>2]=O;k[da>>2]=(k[da>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=g-n|0;F=k[d+(x<<2)>>2]|0;I=g-F|0;q=k[d+(t<<2)>>2]|0;J=g-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(g|0)==(n|0);B=ga+(O<<2)|0;E=c+(O<<2)|0;F=(g|0)==(F|0);C=ga+(x<<2)|0;G=c+(x<<2)|0;q=(g|0)==(q|0);p=ga+(t<<2)|0;s=c+(t<<2)|0;t=ga+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ga+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ga+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=H-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=I-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=J-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[S>>2]|0;k[S>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=tq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;mq((k[k[N>>2]>>2]|0)+l|0,ga|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[da>>2]|0;if(!g){g=50;break}}if((g|0)==14)Aa(9923,9961,231,10031);else if((g|0)==21)Aa(10044,10068,111,10095);else if((g|0)==23)Aa(10124,10068,112,10095);else if((g|0)==50){jl(ha);r=ia;return}}function gl(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;nq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Jp(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=aq(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;hl(a,e);r=p;return}k[f>>2]=b;il(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;nq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=aq(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Jp(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=aq(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=aq(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=aq(c<<2)|0;Jp(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;nq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=aq(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Jp(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Jp(b);r=p;return}function hl(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;nq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=aq(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Jp(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function il(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;nq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Jp(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function jl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Jp(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Jp(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Jp(b);return}function kl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=kq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=kq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=kq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){u=1;r=s;return u|0}if(!(td(a+8|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+24|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+44|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+64|0,b)|0)){u=0;r=s;return u|0}u=k[g>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];ll(a,u,n,m,0,q);u=1;r=s;return u|0}function ll(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=r;r=r+112|0;ga=ia+88|0;n=ia+32|0;ha=ia+64|0;fa=ia+48|0;ea=ia+44|0;Z=ia+16|0;Y=ia;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];j=k[c>>2]|0;_=c+4|0;l=k[_>>2]|0;$=c+8|0;m=k[$>>2]|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;aa=ha+8|0;ba=ha+4|0;ca=ha+16|0;da=ha+20|0;ml(ha);g=k[ba>>2]|0;h=(k[da>>2]|0)+(k[ca>>2]|0)|0;if((k[aa>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;X=g+16|0;k[X>>2]=k[n>>2];k[X+4>>2]=k[n+4>>2];k[X+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[da>>2]|0)+1|0;k[da>>2]=g;if(!g){pl(ha);r=ia;return}Q=a+40|0;R=a+36|0;S=f+4|0;T=ga+4|0;U=ga+8|0;V=a+8|0;W=a+80|0;X=a+76|0;a:while(1){N=k[ca>>2]|0;n=g+-1|0;m=n+N|0;O=k[ba>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[fa>>2]=k[L>>2];k[fa+4>>2]=k[L+4>>2];k[fa+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[da>>2]=n;n=k[aa>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Jp(k[n+-4>>2]|0);k[aa>>2]=(k[aa>>2]|0)+-4}k[c>>2]=h;k[_>>2]=j;k[$>>2]=l;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[ga>>2]=k[fa>>2];k[ga+4>>2]=k[fa+4>>2];k[ga+8>>2]=k[fa+8>>2];O=Mm(a,P,c,ga,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;g=k[a>>2]|0;do if((g|0)==(n|0)){if((P|0)>0){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[S>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=tq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;mq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[S>>2]=P+g}}else{if(!P){g=14;break a}if(P>>>0>=3){k[ga>>2]=k[c>>2];k[T>>2]=k[_>>2];k[U>>2]=k[$>>2];l=ga+(O<<2)|0;k[l>>2]=(k[l>>2]|0)+(1<>2]=0;vd(V,l,ea);l=(P>>>1)-(k[ea>>2]|0)|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[W>>2]|0;g=k[X>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[W>>2]=P;if((P|0)==32){k[X>>2]=g+4;k[W>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];m=k[c>>2]|0;n=k[_>>2]|0;e=k[$>>2]|0;l=k[aa>>2]|0;j=k[ba>>2]|0;g=k[ca>>2]|0;h=k[da>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){ml(ha);g=k[ca>>2]|0;h=k[da>>2]|0;l=k[aa>>2]|0;j=k[ba>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Z>>2];k[P+4>>2]=k[Z+4>>2];k[P+8>>2]=k[Z+8>>2];k[g+28>>2]=O;k[da>>2]=(k[da>>2]|0)+1}if(o|0){k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];m=k[ga>>2]|0;n=k[T>>2]|0;e=k[U>>2]|0;l=k[aa>>2]|0;j=k[ba>>2]|0;g=k[ca>>2]|0;h=k[da>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){ml(ha);g=k[ca>>2]|0;h=k[da>>2]|0;l=k[aa>>2]|0;j=k[ba>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Y>>2];k[P+4>>2]=k[Y+4>>2];k[P+8>>2]=k[Y+8>>2];k[g+28>>2]=O;k[da>>2]=(k[da>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=g-n|0;F=k[d+(x<<2)>>2]|0;I=g-F|0;q=k[d+(t<<2)>>2]|0;J=g-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(g|0)==(n|0);B=ga+(O<<2)|0;E=c+(O<<2)|0;F=(g|0)==(F|0);C=ga+(x<<2)|0;G=c+(x<<2)|0;q=(g|0)==(q|0);p=ga+(t<<2)|0;s=c+(t<<2)|0;t=ga+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ga+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ga+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=H-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=I-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=J-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[S>>2]|0;k[S>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=tq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;mq((k[k[N>>2]>>2]|0)+l|0,ga|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[da>>2]|0;if(!g){g=50;break}}if((g|0)==14)Aa(9923,9961,231,10031);else if((g|0)==21)Aa(10044,10068,111,10095);else if((g|0)==23)Aa(10124,10068,112,10095);else if((g|0)==50){pl(ha);r=ia;return}}function ml(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;nq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Jp(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=aq(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;nl(a,e);r=p;return}k[f>>2]=b;ol(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;nq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=aq(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Jp(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=aq(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=aq(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=aq(c<<2)|0;Jp(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;nq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=aq(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Jp(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Jp(b);r=p;return}function nl(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;nq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=aq(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Jp(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function ol(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;nq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Jp(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function pl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Jp(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Jp(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Jp(b);return}function ql(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+64|0;q=t+48|0;m=t+32|0;n=t+20|0;o=t+8|0;p=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(td(a+8+(d<<4)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(td(a+520|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+536|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+556|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+576|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;s=k[c+4>>2]|0;u=p;k[u>>2]=k[c>>2];k[u+4>>2]=s;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];rl(a,v,n,m,0,q);v=1;r=t;return v|0}function rl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=r;r=r+96|0;ea=ga+80|0;n=ga+32|0;fa=ga+56|0;da=ga+44|0;Y=ga+16|0;X=ga;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];j=k[c>>2]|0;Z=c+4|0;l=k[Z>>2]|0;_=c+8|0;m=k[_>>2]|0;k[fa>>2]=0;k[fa+4>>2]=0;k[fa+8>>2]=0;k[fa+12>>2]=0;k[fa+16>>2]=0;k[fa+20>>2]=0;$=fa+8|0;aa=fa+4|0;ba=fa+16|0;ca=fa+20|0;sl(fa);g=k[aa>>2]|0;h=(k[ca>>2]|0)+(k[ba>>2]|0)|0;if((k[$>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;W=g+16|0;k[W>>2]=k[n>>2];k[W+4>>2]=k[n+4>>2];k[W+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ca>>2]|0)+1|0;k[ca>>2]=g;if(!g){vl(fa);r=ga;return}Q=a+552|0;R=a+548|0;S=f+4|0;T=ea+4|0;U=ea+8|0;V=a+592|0;W=a+588|0;a:while(1){N=k[ba>>2]|0;n=g+-1|0;m=n+N|0;O=k[aa>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[da>>2]=k[L>>2];k[da+4>>2]=k[L+4>>2];k[da+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[ca>>2]=n;n=k[$>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Jp(k[n+-4>>2]|0);k[$>>2]=(k[$>>2]|0)+-4}k[c>>2]=h;k[Z>>2]=j;k[_>>2]=l;k[d>>2]=k[da>>2];k[d+4>>2]=k[da+4>>2];k[d+8>>2]=k[da+8>>2];k[ea>>2]=k[da>>2];k[ea+4>>2]=k[da+4>>2];k[ea+8>>2]=k[da+8>>2];O=Pm(a,P,c,ea,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;g=k[a>>2]|0;do if((g|0)==(n|0)){if((P|0)>0){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[S>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=tq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;mq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[S>>2]=P+g}}else{if(!P){g=14;break a}if(P>>>0>=3){k[ea>>2]=k[c>>2];k[T>>2]=k[Z>>2];k[U>>2]=k[_>>2];N=ea+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[V>>2]|0;g=k[W>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[V>>2]=P;if((P|0)==32){k[W>>2]=g+4;k[V>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];m=k[c>>2]|0;n=k[Z>>2]|0;e=k[_>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){sl(fa);g=k[ba>>2]|0;h=k[ca>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Y>>2];k[P+4>>2]=k[Y+4>>2];k[P+8>>2]=k[Y+8>>2];k[g+28>>2]=O;k[ca>>2]=(k[ca>>2]|0)+1}if(o|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];m=k[ea>>2]|0;n=k[T>>2]|0;e=k[U>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){sl(fa);g=k[ba>>2]|0;h=k[ca>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[X>>2];k[P+4>>2]=k[X+4>>2];k[P+8>>2]=k[X+8>>2];k[g+28>>2]=O;k[ca>>2]=(k[ca>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=g-n|0;F=k[d+(x<<2)>>2]|0;I=g-F|0;q=k[d+(t<<2)>>2]|0;J=g-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(g|0)==(n|0);B=ea+(O<<2)|0;E=c+(O<<2)|0;F=(g|0)==(F|0);C=ea+(x<<2)|0;G=c+(x<<2)|0;q=(g|0)==(q|0);p=ea+(t<<2)|0;s=c+(t<<2)|0;t=ea+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ea+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ea+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=H-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=I-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=J-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[S>>2]|0;k[S>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=tq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;mq((k[k[N>>2]>>2]|0)+l|0,ea|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ca>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9923,9961,231,10031);else if((g|0)==21)Aa(10044,10068,111,10095);else if((g|0)==23)Aa(10124,10068,112,10095);else if((g|0)==52){vl(fa);r=ga;return}}function sl(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;nq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Jp(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=aq(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;tl(a,e);r=p;return}k[f>>2]=b;ul(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;nq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=aq(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Jp(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=aq(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=aq(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=aq(c<<2)|0;Jp(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;nq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=aq(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Jp(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Jp(b);r=p;return}function tl(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;nq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=aq(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Jp(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function ul(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;nq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Jp(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function vl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Jp(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Jp(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Jp(b);return}function wl(a){a=a|0;sd(a+496|0);sd(a+480|0);sd(a+464|0);sd(a+448|0);sd(a+432|0);sd(a+416|0);sd(a+400|0);sd(a+384|0);sd(a+368|0);sd(a+352|0);sd(a+336|0);sd(a+320|0);sd(a+304|0);sd(a+288|0);sd(a+272|0);sd(a+256|0);sd(a+240|0);sd(a+224|0);sd(a+208|0);sd(a+192|0);sd(a+176|0);sd(a+160|0);sd(a+144|0);sd(a+128|0);sd(a+112|0);sd(a+96|0);sd(a+80|0);sd(a+64|0);sd(a+48|0);sd(a+32|0);sd(a+16|0);sd(a);return}function xl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+64|0;q=t+48|0;m=t+32|0;n=t+20|0;o=t+8|0;p=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(td(a+8+(d<<4)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(td(a+520|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+536|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+556|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+576|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;s=k[c+4>>2]|0;u=p;k[u>>2]=k[c>>2];k[u+4>>2]=s;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];yl(a,v,n,m,0,q);v=1;r=t;return v|0}function yl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=r;r=r+96|0;ea=ga+80|0;n=ga+32|0;fa=ga+56|0;da=ga+44|0;Y=ga+16|0;X=ga;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];j=k[c>>2]|0;Z=c+4|0;l=k[Z>>2]|0;_=c+8|0;m=k[_>>2]|0;k[fa>>2]=0;k[fa+4>>2]=0;k[fa+8>>2]=0;k[fa+12>>2]=0;k[fa+16>>2]=0;k[fa+20>>2]=0;$=fa+8|0;aa=fa+4|0;ba=fa+16|0;ca=fa+20|0;zl(fa);g=k[aa>>2]|0;h=(k[ca>>2]|0)+(k[ba>>2]|0)|0;if((k[$>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;W=g+16|0;k[W>>2]=k[n>>2];k[W+4>>2]=k[n+4>>2];k[W+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ca>>2]|0)+1|0;k[ca>>2]=g;if(!g){Cl(fa);r=ga;return}Q=a+552|0;R=a+548|0;S=f+4|0;T=ea+4|0;U=ea+8|0;V=a+592|0;W=a+588|0;a:while(1){N=k[ba>>2]|0;n=g+-1|0;m=n+N|0;O=k[aa>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[da>>2]=k[L>>2];k[da+4>>2]=k[L+4>>2];k[da+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[ca>>2]=n;n=k[$>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Jp(k[n+-4>>2]|0);k[$>>2]=(k[$>>2]|0)+-4}k[c>>2]=h;k[Z>>2]=j;k[_>>2]=l;k[d>>2]=k[da>>2];k[d+4>>2]=k[da+4>>2];k[d+8>>2]=k[da+8>>2];k[ea>>2]=k[da>>2];k[ea+4>>2]=k[da+4>>2];k[ea+8>>2]=k[da+8>>2];O=Rm(a,P,c,ea,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;g=k[a>>2]|0;do if((g|0)==(n|0)){if((P|0)>0){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[S>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=tq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;mq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[S>>2]=P+g}}else{if(!P){g=14;break a}if(P>>>0>=3){k[ea>>2]=k[c>>2];k[T>>2]=k[Z>>2];k[U>>2]=k[_>>2];N=ea+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[V>>2]|0;g=k[W>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[V>>2]=P;if((P|0)==32){k[W>>2]=g+4;k[V>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];m=k[c>>2]|0;n=k[Z>>2]|0;e=k[_>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){zl(fa);g=k[ba>>2]|0;h=k[ca>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Y>>2];k[P+4>>2]=k[Y+4>>2];k[P+8>>2]=k[Y+8>>2];k[g+28>>2]=O;k[ca>>2]=(k[ca>>2]|0)+1}if(o|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];m=k[ea>>2]|0;n=k[T>>2]|0;e=k[U>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){zl(fa);g=k[ba>>2]|0;h=k[ca>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[X>>2];k[P+4>>2]=k[X+4>>2];k[P+8>>2]=k[X+8>>2];k[g+28>>2]=O;k[ca>>2]=(k[ca>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=g-n|0;F=k[d+(x<<2)>>2]|0;I=g-F|0;q=k[d+(t<<2)>>2]|0;J=g-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(g|0)==(n|0);B=ea+(O<<2)|0;E=c+(O<<2)|0;F=(g|0)==(F|0);C=ea+(x<<2)|0;G=c+(x<<2)|0;q=(g|0)==(q|0);p=ea+(t<<2)|0;s=c+(t<<2)|0;t=ea+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ea+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ea+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=H-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=I-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=J-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[S>>2]|0;k[S>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=tq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;mq((k[k[N>>2]>>2]|0)+l|0,ea|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ca>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9923,9961,231,10031);else if((g|0)==21)Aa(10044,10068,111,10095);else if((g|0)==23)Aa(10124,10068,112,10095);else if((g|0)==52){Cl(fa);r=ga;return}}function zl(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;nq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Jp(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=aq(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Al(a,e);r=p;return}k[f>>2]=b;Bl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;nq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=aq(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Jp(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=aq(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=aq(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=aq(c<<2)|0;Jp(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;nq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=aq(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Jp(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Jp(b);r=p;return}function Al(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;nq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=aq(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Jp(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Bl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;nq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Jp(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function Cl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Jp(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Jp(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Jp(b);return}function Dl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+64|0;q=t+48|0;m=t+32|0;n=t+20|0;o=t+8|0;p=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(td(a+8+(d<<4)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(td(a+520|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+536|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+556|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+576|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;s=k[c+4>>2]|0;u=p;k[u>>2]=k[c>>2];k[u+4>>2]=s;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];El(a,v,n,m,0,q);v=1;r=t;return v|0}function El(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=r;r=r+96|0;ea=ga+80|0;n=ga+32|0;fa=ga+56|0;da=ga+44|0;Y=ga+16|0;X=ga;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];j=k[c>>2]|0;Z=c+4|0;l=k[Z>>2]|0;_=c+8|0;m=k[_>>2]|0;k[fa>>2]=0;k[fa+4>>2]=0;k[fa+8>>2]=0;k[fa+12>>2]=0;k[fa+16>>2]=0;k[fa+20>>2]=0;$=fa+8|0;aa=fa+4|0;ba=fa+16|0;ca=fa+20|0;Fl(fa);g=k[aa>>2]|0;h=(k[ca>>2]|0)+(k[ba>>2]|0)|0;if((k[$>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;W=g+16|0;k[W>>2]=k[n>>2];k[W+4>>2]=k[n+4>>2];k[W+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ca>>2]|0)+1|0;k[ca>>2]=g;if(!g){Il(fa);r=ga;return}Q=a+552|0;R=a+548|0;S=f+4|0;T=ea+4|0;U=ea+8|0;V=a+592|0;W=a+588|0;a:while(1){N=k[ba>>2]|0;n=g+-1|0;m=n+N|0;O=k[aa>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[da>>2]=k[L>>2];k[da+4>>2]=k[L+4>>2];k[da+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[ca>>2]=n;n=k[$>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Jp(k[n+-4>>2]|0);k[$>>2]=(k[$>>2]|0)+-4}k[c>>2]=h;k[Z>>2]=j;k[_>>2]=l;k[d>>2]=k[da>>2];k[d+4>>2]=k[da+4>>2];k[d+8>>2]=k[da+8>>2];k[ea>>2]=k[da>>2];k[ea+4>>2]=k[da+4>>2];k[ea+8>>2]=k[da+8>>2];O=Tm(a,P,c,ea,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;g=k[a>>2]|0;do if((g|0)==(n|0)){if((P|0)>0){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[S>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=tq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;mq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[S>>2]=P+g}}else{if(!P){g=14;break a}if(P>>>0>=3){k[ea>>2]=k[c>>2];k[T>>2]=k[Z>>2];k[U>>2]=k[_>>2];N=ea+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[V>>2]|0;g=k[W>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[V>>2]=P;if((P|0)==32){k[W>>2]=g+4;k[V>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];m=k[c>>2]|0;n=k[Z>>2]|0;e=k[_>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Fl(fa);g=k[ba>>2]|0;h=k[ca>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Y>>2];k[P+4>>2]=k[Y+4>>2];k[P+8>>2]=k[Y+8>>2];k[g+28>>2]=O;k[ca>>2]=(k[ca>>2]|0)+1}if(o|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];m=k[ea>>2]|0;n=k[T>>2]|0;e=k[U>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Fl(fa);g=k[ba>>2]|0;h=k[ca>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[X>>2];k[P+4>>2]=k[X+4>>2];k[P+8>>2]=k[X+8>>2];k[g+28>>2]=O;k[ca>>2]=(k[ca>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=g-n|0;F=k[d+(x<<2)>>2]|0;I=g-F|0;q=k[d+(t<<2)>>2]|0;J=g-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(g|0)==(n|0);B=ea+(O<<2)|0;E=c+(O<<2)|0;F=(g|0)==(F|0);C=ea+(x<<2)|0;G=c+(x<<2)|0;q=(g|0)==(q|0);p=ea+(t<<2)|0;s=c+(t<<2)|0;t=ea+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ea+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ea+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=H-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=I-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=J-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[S>>2]|0;k[S>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=tq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;mq((k[k[N>>2]>>2]|0)+l|0,ea|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ca>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9923,9961,231,10031);else if((g|0)==21)Aa(10044,10068,111,10095);else if((g|0)==23)Aa(10124,10068,112,10095);else if((g|0)==52){Il(fa);r=ga;return}}function Fl(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;nq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Jp(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=aq(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Gl(a,e);r=p;return}k[f>>2]=b;Hl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;nq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=aq(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Jp(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=aq(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=aq(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=aq(c<<2)|0;Jp(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;nq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=aq(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Jp(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Jp(b);r=p;return}function Gl(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;nq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=aq(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Jp(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Hl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;nq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Jp(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function Il(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Jp(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Jp(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Jp(b);return}function Jl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+64|0;q=t+48|0;m=t+32|0;n=t+20|0;o=t+8|0;p=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(td(a+8+(d<<4)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(td(a+520|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+536|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+556|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+576|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;s=k[c+4>>2]|0;u=p;k[u>>2]=k[c>>2];k[u+4>>2]=s;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];Kl(a,v,n,m,0,q);v=1;r=t;return v|0}function Kl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=r;r=r+96|0;ea=ga+80|0;n=ga+32|0;fa=ga+56|0;da=ga+44|0;Y=ga+16|0;X=ga;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];j=k[c>>2]|0;Z=c+4|0;l=k[Z>>2]|0;_=c+8|0;m=k[_>>2]|0;k[fa>>2]=0;k[fa+4>>2]=0;k[fa+8>>2]=0;k[fa+12>>2]=0;k[fa+16>>2]=0;k[fa+20>>2]=0;$=fa+8|0;aa=fa+4|0;ba=fa+16|0;ca=fa+20|0;Ll(fa);g=k[aa>>2]|0;h=(k[ca>>2]|0)+(k[ba>>2]|0)|0;if((k[$>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;W=g+16|0;k[W>>2]=k[n>>2];k[W+4>>2]=k[n+4>>2];k[W+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ca>>2]|0)+1|0;k[ca>>2]=g;if(!g){Ol(fa);r=ga;return}Q=a+552|0;R=a+548|0;S=f+4|0;T=ea+4|0;U=ea+8|0;V=a+592|0;W=a+588|0;a:while(1){N=k[ba>>2]|0;n=g+-1|0;m=n+N|0;O=k[aa>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[da>>2]=k[L>>2];k[da+4>>2]=k[L+4>>2];k[da+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[ca>>2]=n;n=k[$>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Jp(k[n+-4>>2]|0);k[$>>2]=(k[$>>2]|0)+-4}k[c>>2]=h;k[Z>>2]=j;k[_>>2]=l;k[d>>2]=k[da>>2];k[d+4>>2]=k[da+4>>2];k[d+8>>2]=k[da+8>>2];k[ea>>2]=k[da>>2];k[ea+4>>2]=k[da+4>>2];k[ea+8>>2]=k[da+8>>2];O=Vm(a,P,c,ea,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;g=k[a>>2]|0;do if((g|0)==(n|0)){if((P|0)>0){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[S>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=tq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;mq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[S>>2]=P+g}}else{if(!P){g=14;break a}if(P>>>0>=3){k[ea>>2]=k[c>>2];k[T>>2]=k[Z>>2];k[U>>2]=k[_>>2];N=ea+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[V>>2]|0;g=k[W>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[V>>2]=P;if((P|0)==32){k[W>>2]=g+4;k[V>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];m=k[c>>2]|0;n=k[Z>>2]|0;e=k[_>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Ll(fa);g=k[ba>>2]|0;h=k[ca>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Y>>2];k[P+4>>2]=k[Y+4>>2];k[P+8>>2]=k[Y+8>>2];k[g+28>>2]=O;k[ca>>2]=(k[ca>>2]|0)+1}if(o|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];m=k[ea>>2]|0;n=k[T>>2]|0;e=k[U>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Ll(fa);g=k[ba>>2]|0;h=k[ca>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[X>>2];k[P+4>>2]=k[X+4>>2];k[P+8>>2]=k[X+8>>2];k[g+28>>2]=O;k[ca>>2]=(k[ca>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=g-n|0;F=k[d+(x<<2)>>2]|0;I=g-F|0;q=k[d+(t<<2)>>2]|0;J=g-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(g|0)==(n|0);B=ea+(O<<2)|0;E=c+(O<<2)|0;F=(g|0)==(F|0);C=ea+(x<<2)|0;G=c+(x<<2)|0;q=(g|0)==(q|0);p=ea+(t<<2)|0;s=c+(t<<2)|0;t=ea+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ea+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ea+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=H-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=I-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=J-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[S>>2]|0;k[S>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=tq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;mq((k[k[N>>2]>>2]|0)+l|0,ea|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ca>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9923,9961,231,10031);else if((g|0)==21)Aa(10044,10068,111,10095);else if((g|0)==23)Aa(10124,10068,112,10095);else if((g|0)==52){Ol(fa);r=ga;return}}function Ll(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;nq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Jp(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=aq(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Ml(a,e);r=p;return}k[f>>2]=b;Nl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;nq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=aq(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Jp(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=aq(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=aq(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=aq(c<<2)|0;Jp(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;nq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=aq(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Jp(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Jp(b);r=p;return}function Ml(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;nq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=aq(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Jp(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Nl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;nq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Jp(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function Ol(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Jp(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Jp(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Jp(b);return}function Pl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+64|0;q=t+48|0;m=t+32|0;n=t+20|0;o=t+8|0;p=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(yd(a+8+(d*24|0)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(yd(a+776|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+800|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+820|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+840|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;s=k[c+4>>2]|0;u=p;k[u>>2]=k[c>>2];k[u+4>>2]=s;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];Ql(a,v,n,m,0,q);v=1;r=t;return v|0}function Ql(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=r;r=r+96|0;ea=ga+80|0;n=ga+32|0;fa=ga+56|0;da=ga+44|0;Y=ga+16|0;X=ga;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];j=k[c>>2]|0;Z=c+4|0;l=k[Z>>2]|0;_=c+8|0;m=k[_>>2]|0;k[fa>>2]=0;k[fa+4>>2]=0;k[fa+8>>2]=0;k[fa+12>>2]=0;k[fa+16>>2]=0;k[fa+20>>2]=0;$=fa+8|0;aa=fa+4|0;ba=fa+16|0;ca=fa+20|0;Rl(fa);g=k[aa>>2]|0;h=(k[ca>>2]|0)+(k[ba>>2]|0)|0;if((k[$>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;W=g+16|0;k[W>>2]=k[n>>2];k[W+4>>2]=k[n+4>>2];k[W+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ca>>2]|0)+1|0;k[ca>>2]=g;if(!g){Ul(fa);r=ga;return}Q=a+816|0;R=a+812|0;S=f+4|0;T=ea+4|0;U=ea+8|0;V=a+856|0;W=a+852|0;a:while(1){h=k[aa>>2]|0;O=k[ba>>2]|0;N=k[h+(O>>>7<<2)>>2]|0;n=O&127;P=k[N+(n<<5)>>2]|0;j=k[N+(n<<5)+4>>2]|0;l=k[N+(n<<5)+8>>2]|0;m=k[N+(n<<5)+12>>2]|0;M=N+(n<<5)+16|0;k[da>>2]=k[M>>2];k[da+4>>2]=k[M+4>>2];k[da+8>>2]=k[M+8>>2];n=k[N+(n<<5)+28>>2]|0;k[ca>>2]=g+-1;O=O+1|0;k[ba>>2]=O;if(O>>>0>255){Jp(k[h>>2]|0);k[aa>>2]=(k[aa>>2]|0)+4;k[ba>>2]=(k[ba>>2]|0)+-128}k[c>>2]=j;k[Z>>2]=l;k[_>>2]=m;k[d>>2]=k[da>>2];k[d+4>>2]=k[da+4>>2];k[d+8>>2]=k[da+8>>2];k[ea>>2]=k[da>>2];k[ea+4>>2]=k[da+4>>2];k[ea+8>>2]=k[da+8>>2];O=Ym(a,P,c,ea,n)|0;m=d+(O<<2)|0;n=k[m>>2]|0;g=k[a>>2]|0;do if((g|0)==(n|0)){if((P|0)>0){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[S>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=tq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;mq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[S>>2]=P+g}}else{if(!P){g=14;break a}if(P>>>0>=3){k[ea>>2]=k[c>>2];k[T>>2]=k[Z>>2];k[U>>2]=k[_>>2];N=ea+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[V>>2]|0;g=k[W>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[V>>2]=P;if((P|0)==32){k[W>>2]=g+4;k[V>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];m=k[c>>2]|0;n=k[Z>>2]|0;e=k[_>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Rl(fa);g=k[ba>>2]|0;h=k[ca>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Y>>2];k[P+4>>2]=k[Y+4>>2];k[P+8>>2]=k[Y+8>>2];k[g+28>>2]=O;k[ca>>2]=(k[ca>>2]|0)+1}if(o|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];m=k[ea>>2]|0;n=k[T>>2]|0;e=k[U>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Rl(fa);g=k[ba>>2]|0;h=k[ca>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[X>>2];k[P+4>>2]=k[X+4>>2];k[P+8>>2]=k[X+8>>2];k[g+28>>2]=O;k[ca>>2]=(k[ca>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;N=g-n|0;F=k[d+(x<<2)>>2]|0;H=g-F|0;q=k[d+(t<<2)>>2]|0;I=g-q|0;M=k[f>>2]|0;J=M+84|0;K=M+68|0;L=M+40|0;M=M+64|0;D=(g|0)==(n|0);B=ea+(O<<2)|0;E=c+(O<<2)|0;F=(g|0)==(F|0);C=ea+(x<<2)|0;G=c+(x<<2)|0;q=(g|0)==(q|0);p=ea+(t<<2)|0;s=c+(t<<2)|0;t=ea+(t<<2)|0;u=(I|0)<33;v=(I|0)>0;w=32-I|0;x=ea+(x<<2)|0;y=(H|0)<33;z=(H|0)>0;A=32-H|0;m=ea+(O<<2)|0;n=(N|0)<33;e=(N|0)>0;b=32-N|0;o=0;do{k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=N-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+N|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=H-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+H|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=I-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+I|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[S>>2]|0;k[S>>2]=g+1;if(!(i[J>>0]|0))g=k[(k[K>>2]|0)+(g<<2)>>2]|0;l=L;O=k[l>>2]|0;l=tq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;mq((k[k[M>>2]>>2]|0)+l|0,ea|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ca>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9923,9961,231,10031);else if((g|0)==21)Aa(10044,10068,111,10095);else if((g|0)==23)Aa(10124,10068,112,10095);else if((g|0)==52){Ul(fa);r=ga;return}}function Rl(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;nq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Jp(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=aq(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Sl(a,e);r=p;return}k[f>>2]=b;Tl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;nq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=aq(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Jp(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=aq(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=aq(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=aq(c<<2)|0;Jp(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;nq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=aq(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Jp(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Jp(b);r=p;return}function Sl(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;nq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=aq(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Jp(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Tl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;nq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Jp(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function Ul(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Jp(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Jp(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Jp(b);return}function Vl(a){a=a|0;xd(a+744|0);xd(a+720|0);xd(a+696|0);xd(a+672|0);xd(a+648|0);xd(a+624|0);xd(a+600|0);xd(a+576|0);xd(a+552|0);xd(a+528|0);xd(a+504|0);xd(a+480|0);xd(a+456|0);xd(a+432|0);xd(a+408|0);xd(a+384|0);xd(a+360|0);xd(a+336|0);xd(a+312|0);xd(a+288|0);xd(a+264|0);xd(a+240|0);xd(a+216|0);xd(a+192|0);xd(a+168|0);xd(a+144|0);xd(a+120|0);xd(a+96|0);xd(a+72|0);xd(a+48|0);xd(a+24|0);xd(a);return}function Wl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+64|0;q=t+48|0;m=t+32|0;n=t+20|0;o=t+8|0;p=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(yd(a+8+(d*24|0)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(yd(a+776|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+800|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+820|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+840|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;s=k[c+4>>2]|0;u=p;k[u>>2]=k[c>>2];k[u+4>>2]=s;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];Xl(a,v,n,m,0,q);v=1;r=t;return v|0}function Xl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=r;r=r+96|0;ea=ga+80|0;n=ga+32|0;fa=ga+56|0;da=ga+44|0;Y=ga+16|0;X=ga;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];j=k[c>>2]|0;Z=c+4|0;l=k[Z>>2]|0;_=c+8|0;m=k[_>>2]|0;k[fa>>2]=0;k[fa+4>>2]=0;k[fa+8>>2]=0;k[fa+12>>2]=0;k[fa+16>>2]=0;k[fa+20>>2]=0;$=fa+8|0;aa=fa+4|0;ba=fa+16|0;ca=fa+20|0;Yl(fa);g=k[aa>>2]|0;h=(k[ca>>2]|0)+(k[ba>>2]|0)|0;if((k[$>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;W=g+16|0;k[W>>2]=k[n>>2];k[W+4>>2]=k[n+4>>2];k[W+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ca>>2]|0)+1|0;k[ca>>2]=g;if(!g){$l(fa);r=ga;return}Q=a+816|0;R=a+812|0;S=f+4|0;T=ea+4|0;U=ea+8|0;V=a+856|0;W=a+852|0;a:while(1){h=k[aa>>2]|0;O=k[ba>>2]|0;N=k[h+(O>>>7<<2)>>2]|0;n=O&127;P=k[N+(n<<5)>>2]|0;j=k[N+(n<<5)+4>>2]|0;l=k[N+(n<<5)+8>>2]|0;m=k[N+(n<<5)+12>>2]|0;M=N+(n<<5)+16|0;k[da>>2]=k[M>>2];k[da+4>>2]=k[M+4>>2];k[da+8>>2]=k[M+8>>2];n=k[N+(n<<5)+28>>2]|0;k[ca>>2]=g+-1;O=O+1|0;k[ba>>2]=O;if(O>>>0>255){Jp(k[h>>2]|0);k[aa>>2]=(k[aa>>2]|0)+4;k[ba>>2]=(k[ba>>2]|0)+-128}k[c>>2]=j;k[Z>>2]=l;k[_>>2]=m;k[d>>2]=k[da>>2];k[d+4>>2]=k[da+4>>2];k[d+8>>2]=k[da+8>>2];k[ea>>2]=k[da>>2];k[ea+4>>2]=k[da+4>>2];k[ea+8>>2]=k[da+8>>2];O=_m(a,P,c,ea,n)|0;m=d+(O<<2)|0;n=k[m>>2]|0;g=k[a>>2]|0;do if((g|0)==(n|0)){if((P|0)>0){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[S>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=tq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;mq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[S>>2]=P+g}}else{if(!P){g=14;break a}if(P>>>0>=3){k[ea>>2]=k[c>>2];k[T>>2]=k[Z>>2];k[U>>2]=k[_>>2];N=ea+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[V>>2]|0;g=k[W>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[V>>2]=P;if((P|0)==32){k[W>>2]=g+4;k[V>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];m=k[c>>2]|0;n=k[Z>>2]|0;e=k[_>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Yl(fa);g=k[ba>>2]|0;h=k[ca>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Y>>2];k[P+4>>2]=k[Y+4>>2];k[P+8>>2]=k[Y+8>>2];k[g+28>>2]=O;k[ca>>2]=(k[ca>>2]|0)+1}if(o|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];m=k[ea>>2]|0;n=k[T>>2]|0;e=k[U>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Yl(fa);g=k[ba>>2]|0;h=k[ca>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[X>>2];k[P+4>>2]=k[X+4>>2];k[P+8>>2]=k[X+8>>2];k[g+28>>2]=O;k[ca>>2]=(k[ca>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;N=g-n|0;F=k[d+(x<<2)>>2]|0;H=g-F|0;q=k[d+(t<<2)>>2]|0;I=g-q|0;M=k[f>>2]|0;J=M+84|0;K=M+68|0;L=M+40|0;M=M+64|0;D=(g|0)==(n|0);B=ea+(O<<2)|0;E=c+(O<<2)|0;F=(g|0)==(F|0);C=ea+(x<<2)|0;G=c+(x<<2)|0;q=(g|0)==(q|0);p=ea+(t<<2)|0;s=c+(t<<2)|0;t=ea+(t<<2)|0;u=(I|0)<33;v=(I|0)>0;w=32-I|0;x=ea+(x<<2)|0;y=(H|0)<33;z=(H|0)>0;A=32-H|0;m=ea+(O<<2)|0;n=(N|0)<33;e=(N|0)>0;b=32-N|0;o=0;do{k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=N-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+N|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=H-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+H|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=I-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+I|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[S>>2]|0;k[S>>2]=g+1;if(!(i[J>>0]|0))g=k[(k[K>>2]|0)+(g<<2)>>2]|0;l=L;O=k[l>>2]|0;l=tq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;mq((k[k[M>>2]>>2]|0)+l|0,ea|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ca>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9923,9961,231,10031);else if((g|0)==21)Aa(10044,10068,111,10095);else if((g|0)==23)Aa(10124,10068,112,10095);else if((g|0)==52){$l(fa);r=ga;return}}function Yl(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;nq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Jp(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=aq(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Zl(a,e);r=p;return}k[f>>2]=b;_l(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;nq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=aq(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Jp(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=aq(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=aq(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=aq(c<<2)|0;Jp(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;nq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=aq(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Jp(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Jp(b);r=p;return}function Zl(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;nq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=aq(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Jp(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function _l(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;nq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Jp(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function $l(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Jp(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Jp(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Jp(b);return}function am(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+64|0;q=t+48|0;m=t+32|0;n=t+20|0;o=t+8|0;p=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(yd(a+8+(d*24|0)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(yd(a+776|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+800|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+820|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+840|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;s=k[c+4>>2]|0;u=p;k[u>>2]=k[c>>2];k[u+4>>2]=s;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];bm(a,v,n,m,0,q);v=1;r=t;return v|0} +function hi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+16|0;p=q;j=b+8|0;g=j;h=k[g>>2]|0;g=k[g+4>>2]|0;o=b+16|0;d=o;c=k[d>>2]|0;d=kq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){p=0;r=q;return p|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=o;k[g>>2]=d;k[g+4>>2]=e;e=a+76|0;ii(e,h,0);rd(p);if(td(p,b)|0){if((h|0)>0){f=0;g=1;do{g=g^((ud(p)|0)^1);d=(k[e>>2]|0)+(f>>>5<<2)|0;c=1<<(f&31);if(g)c=k[d>>2]|c;else c=k[d>>2]&~c;k[d>>2]=c;f=f+1|0}while((f|0)<(h|0))}e=j;g=k[e>>2]|0;e=k[e+4>>2]|0;h=o;c=k[h>>2]|0;h=kq(c|0,k[h+4>>2]|0,4,0)|0;f=L;if(!((e|0)<(f|0)|(e|0)==(f|0)&g>>>0>>0)?(g=a+12|0,m=(k[b>>2]|0)+c|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,i[g>>0]=m,i[g+1>>0]=m>>8,i[g+2>>0]=m>>16,i[g+3>>0]=m>>24,g=o,e=k[g>>2]|0,g=k[g+4>>2]|0,n=kq(e|0,g|0,4,0)|0,f=o,k[f>>2]=n,k[f+4>>2]=L,f=j,h=k[f>>2]|0,f=k[f+4>>2]|0,j=kq(e|0,g|0,8,0)|0,g=L,!((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0)):0){d=a+16|0;b=(k[b>>2]|0)+n|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;i[d>>0]=b;i[d+1>>0]=b>>8;i[d+2>>0]=b>>16;i[d+3>>0]=b>>24;d=o;d=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;c=o;k[c>>2]=d;k[c+4>>2]=L;b=b+(1-m)|0;k[a+20>>2]=b;c=(b|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(!(b&1)){k[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;sd(p);p=c;r=q;return p|0}function ii(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+32|0;s=u+8|0;l=u;n=a+4|0;t=k[n>>2]|0;if(t>>>0>=b>>>0){k[n>>2]=b;r=u;return}q=a+8|0;d=k[q>>2]|0;p=d<<5;g=b-t|0;if(p>>>0>>0|t>>>0>(p-g|0)>>>0){k[s>>2]=0;o=s+4|0;k[o>>2]=0;p=s+8|0;k[p>>2]=0;if((b|0)<0)zp(a);if(d<<5>>>0>1073741822)d=2147483647;else{d=d<<6;m=b+31&-32;d=d>>>0>>0?m:d}Dd(s,d);e=k[n>>2]|0;j=e+g|0;k[o>>2]=j;d=k[a>>2]|0;h=d;m=k[s>>2]|0;e=(h+(e>>>5<<2)-d<<3)+(e&31)|0;if((e|0)>0){i=e>>>5;nq(m|0,d|0,i<<2|0)|0;e=e-(i<<5)|0;f=m+(i<<2)|0;d=f;if((e|0)>0){j=-1>>>(32-e|0);k[f>>2]=k[f>>2]&~j|k[h+(i<<2)>>2]&j;f=k[o>>2]|0}else{e=0;f=j}}else{e=0;d=m;f=j}k[l>>2]=d;k[l+4>>2]=e;h=l;d=k[h>>2]|0;h=k[h+4>>2]|0;e=k[a>>2]|0;k[a>>2]=m;k[s>>2]=e;a=k[n>>2]|0;k[n>>2]=f;k[o>>2]=a;a=k[q>>2]|0;k[q>>2]=k[p>>2];k[p>>2]=a;if(e|0)Jp(e)}else{d=(k[a>>2]|0)+(t>>>5<<2)|0;k[n>>2]=b;h=t&31}if((t|0)==(b|0)){r=u;return}e=(h|0)==0;f=d;if(c){if(!e){c=32-h|0;d=c>>>0>g>>>0?g:c;k[f>>2]=k[f>>2]|-1>>>(c-d|0)&-1<>>5;iq(d|0,-1,e<<2|0)|0;d=e<<5;if((d|0)==(g|0)){r=u;return}c=f+(e<<2)|0;k[c>>2]=k[c>>2]|-1>>>(32-g+d|0);r=u;return}else{if(!e){c=32-h|0;d=c>>>0>g>>>0?g:c;k[f>>2]=k[f>>2]&~(-1>>>(c-d|0)&-1<>>5;iq(d|0,0,e<<2|0)|0;d=e<<5;if((d|0)==(g|0)){r=u;return}c=f+(e<<2)|0;k[c>>2]=k[c>>2]&~(-1>>>(32-g+d|0));r=u;return}}function ji(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+16|0;y=A+4|0;z=A;k[a+72>>2]=e;k[a+64>>2]=f;x=a+68|0;w=cq(e>>>0>1073741823?-1:e<<2)|0;f=k[x>>2]|0;k[x>>2]=w;if(f|0)dq(f);w=a+8|0;k[w>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;i=1;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;v=1-g+f|0;k[a+20>>2]=v;f=(v|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(v&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Xg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=a+56|0;h=k[o>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;if((i|0)<=0){r=A;return 1}p=a+16|0;q=a+32|0;s=a+12|0;t=a+28|0;u=a+20|0;v=a+24|0;j=g;g=(i>>2)+-1|0;while(1){if(j-f>>2>>>0<=g>>>0){f=22;break}k[z>>2]=k[f+(g<<2)>>2];k[y>>2]=k[z>>2];ki(a,y,b,g);n=ha(g,e)|0;m=b+(n<<2)|0;l=k[x>>2]|0;if((k[w>>2]|0)>0){d=0;do{j=k[l+(d<<2)>>2]|0;f=k[p>>2]|0;do if((j|0)<=(f|0)){f=k[s>>2]|0;h=k[q>>2]|0;i=h+(d<<2)|0;if((j|0)<(f|0)){k[i>>2]=f;break}else{k[i>>2]=j;break}}else{h=k[q>>2]|0;k[h+(d<<2)>>2]=f}while(0);d=d+1|0;f=k[w>>2]|0}while((d|0)<(f|0));i=h;if((f|0)>0){h=0;do{k[c+(h+n<<2)>>2]=(k[m+(h<<2)>>2]|0)-(k[i+(h<<2)>>2]|0);h=h+1|0;f=k[w>>2]|0}while((h|0)<(f|0));if((f|0)>0){i=0;do{f=c+(i+n<<2)|0;h=k[f>>2]|0;if((h|0)>=(k[t>>2]|0)){if((h|0)>(k[v>>2]|0))k[f>>2]=h-(k[u>>2]|0)}else k[f>>2]=(k[u>>2]|0)+h;i=i+1|0}while((i|0)<(k[w>>2]|0))}}}g=g+-1|0;if((g|0)<=-1){f=19;break}h=k[o>>2]|0;f=k[h>>2]|0;j=k[h+4>>2]|0}if((f|0)==19){r=A;return 1}else if((f|0)==22)Ap(h);return 0}function ki(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;i=a+48|0;e=k[b>>2]|0;do if((e|0)>=0){b=e+1|0;b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e|0)%3|0)){g=e+2|0;break}else{g=e+-1|0;break}}else{g=e;b=e}while(0);e=k[(k[i>>2]|0)+28>>2]|0;b=k[e+(b<<2)>>2]|0;e=k[e+(g<<2)>>2]|0;g=k[a+52>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)Ap(g);n=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=e>>>0)Ap(g);e=k[j+(e<<2)>>2]|0;b=(n|0)<(d|0);if(!(b&(e|0)<(d|0))){do if(b){i=a+72|0;g=k[i>>2]|0;b=g;g=ha(g,n)|0}else{if((d|0)>0){i=a+72|0;g=k[i>>2]|0;b=g;g=ha(g,d+-1|0)|0;break}g=a+72|0;if((k[g>>2]|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+g<<2)>>2];e=e+1|0}while((e|0)<(k[i>>2]|0));r=t;return}b=a+72|0;j=k[b>>2]|0;i=ha(j,n)|0;f=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);j=ha(j,e)|0;l=+(k[c+(j<<2)>>2]|0);m=+(k[c+(j+1<<2)>>2]|0);if(!(l!=f|m!=h)){a=k[a+68>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~m;r=t;return}li(s,a,d);li(p,a,n);li(q,a,e);B=+o[p>>2];x=+o[q>>2]-B;A=+o[p+4>>2];w=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=x*x+0.0+w*w+y*y;u=(x*B+0.0+w*A+y*z)/v;x=B-x*u;w=A-w*u;y=z-y*u;v=+X(+((y*y+(w*w+(x*x+0.0)))/v));x=l-f;w=m-h;l=f+x*u;m=x*v;u=h+w*u;v=w*v;h=l-v;f=m+u;l=v+l;m=u-m;i=ha(k[b>>2]|0,d)|0;u=+(k[c+(i<<2)>>2]|0);v=+(k[c+(i+1<<2)>>2]|0);w=u-h;x=v-f;u=u-l;v=v-m;i=a+76|0;j=a+80|0;b=k[j>>2]|0;e=k[a+84>>2]|0;g=(b|0)==(e<<5|0);if(x*x+(w*w+0.0)>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Dd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31)}else{if(g){if((b+1|0)<0)zp(i);if(e<<5>>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Dd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(b&31));h=l;f=m}c=~~+V(+(h+.5));a=k[a+68>>2]|0;k[a>>2]=c;c=~~+V(+(f+.5));k[a+4>>2]=c;r=t;return}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,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+64>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+60>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];Cc(b,d,a)|0;r=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];Jc(b,d,a)|0;r=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];Qc(b,d,a)|0;r=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];Xc(b,d,a)|0;r=j;return}default:{r=j;return}}}function mi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+16|0;x=z+4|0;y=z;k[a+72>>2]=e;k[a+64>>2]=f;w=a+68|0;v=cq(e>>>0>1073741823?-1:e<<2)|0;d=k[w>>2]|0;k[w>>2]=v;if(d|0)dq(d);v=a+8|0;k[v>>2]=e;d=a+32|0;f=a+36|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else Xg(d,e-g|0);o=a+56|0;g=k[o>>2]|0;f=k[g+4>>2]|0;d=k[g>>2]|0;u=f-d|0;p=u>>2;if((u|0)<=0){r=z;return 1}q=a+16|0;s=a+32|0;t=a+12|0;u=a+20|0;h=g;g=0;while(1){if(f-d>>2>>>0<=g>>>0){d=13;break}k[y>>2]=k[d+(g<<2)>>2];k[x>>2]=k[y>>2];ni(a,x,c,g);m=ha(g,e)|0;j=k[w>>2]|0;n=c+(m<<2)|0;if((k[v>>2]|0)>0){l=0;do{i=k[j+(l<<2)>>2]|0;d=k[q>>2]|0;do if((i|0)<=(d|0)){d=k[t>>2]|0;f=k[s>>2]|0;h=f+(l<<2)|0;if((i|0)<(d|0)){k[h>>2]=d;break}else{k[h>>2]=i;break}}else{f=k[s>>2]|0;k[f+(l<<2)>>2]=d}while(0);l=l+1|0;d=k[v>>2]|0}while((l|0)<(d|0));h=f;if((d|0)>0){f=0;do{k[n+(f<<2)>>2]=(k[b+(f+m<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;d=k[v>>2]|0}while((f|0)<(d|0));if((d|0)>0){h=0;do{d=n+(h<<2)|0;f=k[d>>2]|0;if((f|0)<=(k[q>>2]|0)){if((f|0)<(k[t>>2]|0))k[d>>2]=(k[u>>2]|0)+f}else k[d>>2]=f-(k[u>>2]|0);h=h+1|0}while((h|0)<(k[v>>2]|0))}}}g=g+1|0;if((g|0)>=(p|0)){d=10;break}h=k[o>>2]|0;d=k[h>>2]|0;f=k[h+4>>2]|0}if((d|0)==10){r=z;return 1}else if((d|0)==13)Ap(h);return 0}function ni(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0.0,i=0,j=0.0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;g=a+48|0;e=k[b>>2]|0;do if((e|0)>=0){b=e+1|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);e=k[(k[g>>2]|0)+28>>2]|0;b=k[e+(b<<2)>>2]|0;e=k[e+(f<<2)>>2]|0;f=k[a+52>>2]|0;g=k[f+4>>2]|0;i=k[f>>2]|0;if(g-i>>2>>>0<=b>>>0)Ap(f);n=k[i+(b<<2)>>2]|0;if(g-i>>2>>>0<=e>>>0)Ap(f);e=k[i+(e<<2)>>2]|0;b=(n|0)<(d|0);if(b&(e|0)<(d|0)){i=k[a+72>>2]|0;g=ha(i,n)|0;j=+(k[c+(g<<2)>>2]|0);l=+(k[c+(g+1<<2)>>2]|0);i=ha(i,e)|0;m=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);if(m!=j|h!=l){li(s,a,d);li(p,a,n);li(q,a,e);B=+o[p>>2];w=+o[q>>2]-B;A=+o[p+4>>2];x=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=w*w+0.0+x*x+y*y;u=(w*B+0.0+x*A+y*z)/v;w=B-w*u;x=A-x*u;y=z-y*u;v=+X(+((y*y+(x*x+(w*w+0.0)))/v));w=m-j;h=h-l;m=w*v;v=h*v;d=a+80|0;s=(k[d>>2]|0)+-1|0;c=(1<<(s&31)&k[(k[a+76>>2]|0)+(s>>>5<<2)>>2]|0)==0;k[d>>2]=s;d=~~+V(+(j+w*u+(c?v:-v)+.5));a=k[a+68>>2]|0;k[a>>2]=d;c=~~+V(+(l+h*u+(c?-m:m)+.5));k[a+4>>2]=c;r=t;return}else{a=k[a+68>>2]|0;k[a>>2]=~~m;k[a+4>>2]=~~h;r=t;return}}do if(b){g=a+72|0;f=k[g>>2]|0;b=f;f=ha(f,n)|0}else{if((d|0)>0){g=a+72|0;f=k[g>>2]|0;b=f;f=ha(f,d+-1|0)|0;break}f=a+72|0;if((k[f>>2]|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[f>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+f<<2)>>2];e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}function oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;switch(a|0){case 1:{a=aq(60)|0;k[a>>2]=3168;k[a+4>>2]=b;k[a+8>>2]=k[c>>2];b=a+12|0;e=c+4|0;k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];Qh(a+32|0,c+24|0);c=a+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[a>>2]=3424;c=a;return c|0}case 2:{e=aq(60)|0;k[e>>2]=3168;k[e+4>>2]=b;k[e+8>>2]=k[c>>2];a=e+12|0;b=c+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[a+16>>2]=k[b+16>>2];Qh(e+32|0,c+24|0);c=e+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[e>>2]=3488;return e|0}case 3:{e=aq(88)|0;k[e>>2]=3168;k[e+4>>2]=b;k[e+8>>2]=k[c>>2];a=e+12|0;b=c+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[a+16>>2]=k[b+16>>2];Qh(e+32|0,c+24|0);c=e+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[e>>2]=3552;c=e+60|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;k[c+24>>2]=0;return e|0}default:{e=0;return e|0}}return 0}function pi(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Jp(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);Jp(b);Jp(a);return}function qi(a){a=a|0;return 1}function ri(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 si(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=a+8|0;k[G>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;g=f;i=1;while(1){f=k[b+(i<<2)>>2]|0;if((f|0)>=(h|0))if((f|0)>(g|0)){k[j>>2]=f;g=f;f=h}else f=h;else k[l>>2]=f;i=i+1|0;if((i|0)==(d|0))break;else h=f}}else g=f;E=1-f+g|0;k[a+20>>2]=E;f=(E|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(E&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Xg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=e>>>0>1073741823?-1:e<<2;E=cq(o)|0;iq(E|0,0,o|0)|0;o=k[a+48>>2]|0;p=a+56|0;h=k[p>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;a:do if((i|0)>4){q=k[a+52>>2]|0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=o+12|0;y=(e|0)>0;m=i>>2;while(1){n=m+-1|0;if(g-f>>2>>>0<=n>>>0)break;f=k[f+(n<<2)>>2]|0;if((f|0)>=0?(z=k[(k[x>>2]|0)+(f<<2)>>2]|0,(z|0)>-1):0){h=k[o>>2]|0;g=(z|0)%3|0;i=k[q>>2]|0;l=k[i+(k[h+(((z|0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;f=z+1|0;f=((f|0)%3|0|0)==0?z+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;j=k[i+(f<<2)>>2]|0;f=((g|0)==0?2:-1)+z|0;if((f|0)<0)f=-1073741824;else f=k[h+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;d=ha(n,e)|0;if((l|0)<(n|0)&(j|0)<(n|0)&(f|0)<(n|0)){i=ha(l,e)|0;h=ha(j,e)|0;f=ha(f,e)|0;if(y){g=0;do{k[E+(g<<2)>>2]=(k[b+(g+f<<2)>>2]|0)+(k[b+(g+h<<2)>>2]|0)-(k[b+(g+i<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}l=b+(d<<2)|0;if((k[G>>2]|0)>0){j=0;do{i=k[E+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[s>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[G>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+d<<2)>>2]=(k[l+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[G>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+d<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[u>>2]|0)){if((g|0)>(k[w>>2]|0))k[f>>2]=g-(k[v>>2]|0)}else k[f>>2]=(k[v>>2]|0)+g;h=h+1|0}while((h|0)<(k[G>>2]|0))}}}}else{B=d;D=30}}else{B=ha(n,e)|0;D=30}if((D|0)==30?(D=0,A=b+(B<<2)|0,C=b+((ha(m+-2|0,e)|0)<<2)|0,(k[G>>2]|0)>0):0){j=0;do{i=k[C+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[s>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[G>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+B<<2)>>2]=(k[A+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[G>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+B<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[u>>2]|0)){if((g|0)>(k[w>>2]|0))k[f>>2]=g-(k[v>>2]|0)}else k[f>>2]=(k[v>>2]|0)+g;h=h+1|0}while((h|0)<(k[G>>2]|0))}}}if((n|0)<=1){F=E;break a}h=k[p>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0;m=n}Ap(h)}else F=E;while(0);if((e|0)>0)iq(E|0,0,e<<2|0)|0;if((k[G>>2]|0)<=0){dq(E);return 1}j=a+16|0;l=a+32|0;d=a+12|0;m=0;do{i=k[F+(m<<2)>>2]|0;f=k[j>>2]|0;do if((i|0)<=(f|0)){f=k[d>>2]|0;h=k[l>>2]|0;g=h+(m<<2)|0;if((i|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=i;break}}else{h=k[l>>2]|0;k[h+(m<<2)>>2]=f}while(0);m=m+1|0;f=k[G>>2]|0}while((m|0)<(f|0));if((f|0)>0)g=0;else{dq(E);return 1}do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)-(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[G>>2]|0}while((g|0)<(f|0));if((f|0)<=0){dq(E);return 1}j=a+28|0;l=a+20|0;f=a+24|0;i=0;do{g=c+(i<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[j>>2]|0)){if((h|0)>(k[f>>2]|0))k[g>>2]=h-(k[l>>2]|0)}else k[g>>2]=(k[l>>2]|0)+h;i=i+1|0}while((i|0)<(k[G>>2]|0));dq(E);return 1}function ti(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;g=a+32|0;h=a+36|0;f=k[h>>2]|0;d=k[g>>2]|0;i=f-d>>2;if(i>>>0>=e>>>0)if(i>>>0>e>>>0?(j=d+(e<<2)|0,(f|0)!=(j|0)):0){k[h>>2]=f+(~((f+-4-j|0)>>>2)<<2);d=e}else d=e;else{Xg(g,e-i|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=cq(t)|0;iq(w|0,0,t|0)|0;if((d|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{h=k[w+(j<<2)>>2]|0;d=k[l>>2]|0;do if((h|0)<=(d|0)){d=k[m>>2]|0;f=k[i>>2]|0;g=f+(j<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[i>>2]|0;k[f+(j<<2)>>2]=d}while(0);j=j+1|0;d=k[x>>2]|0}while((j|0)<(d|0));g=f;if((d|0)>0){f=0;do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)+(k[g+(f<<2)>>2]|0);f=f+1|0;d=k[x>>2]|0}while((f|0)<(d|0));if((d|0)>0){d=a+20|0;h=0;do{f=c+(h<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[l>>2]|0)){if((g|0)<(k[m>>2]|0))k[f>>2]=(k[d>>2]|0)+g}else k[f>>2]=g-(k[d>>2]|0);h=h+1|0}while((h|0)<(k[x>>2]|0))}}}p=a+56|0;g=k[p>>2]|0;f=k[g+4>>2]|0;d=k[g>>2]|0;t=f-d|0;q=t>>2;if((t|0)<=4){dq(w);return 1}r=a+16|0;s=a+32|0;t=a+12|0;a=a+20|0;n=u+12|0;o=(e|0)>0;h=d;m=1;while(1){if(f-h>>2>>>0<=m>>>0){C=28;break}d=k[h+(m<<2)>>2]|0;if((d|0)>=0?(y=k[(k[n>>2]|0)+(d<<2)>>2]|0,(y|0)>-1):0){g=k[u>>2]|0;f=(y|0)%3|0;h=k[v>>2]|0;j=k[h+(k[g+(((y|0)/3|0)*12|0)+(f<<2)>>2]<<2)>>2]|0;d=y+1|0;d=((d|0)%3|0|0)==0?y+-2|0:d;if((d|0)<0)d=-1073741824;else d=k[g+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;i=k[h+(d<<2)>>2]|0;d=((f|0)==0?2:-1)+y|0;if((d|0)<0)d=-1073741824;else d=k[g+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;d=k[h+(d<<2)>>2]|0;l=ha(m,e)|0;if((j|0)<(m|0)&(i|0)<(m|0)&(d|0)<(m|0)){h=ha(j,e)|0;g=ha(i,e)|0;d=ha(d,e)|0;if(o){f=0;do{k[w+(f<<2)>>2]=(k[c+(f+d<<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))}j=c+(l<<2)|0;if((k[x>>2]|0)>0){i=0;do{h=k[w+(i<<2)>>2]|0;d=k[r>>2]|0;do if((h|0)<=(d|0)){d=k[t>>2]|0;f=k[s>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[s>>2]|0;k[f+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[x>>2]|0}while((i|0)<(d|0));if((d|0)>0){g=0;do{k[j+(g<<2)>>2]=(k[b+(g+l<<2)>>2]|0)+(k[f+(g<<2)>>2]|0);g=g+1|0;d=k[x>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=0;do{d=j+(g<<2)|0;f=k[d>>2]|0;if((f|0)<=(k[r>>2]|0)){if((f|0)<(k[t>>2]|0))k[d>>2]=(k[a>>2]|0)+f}else k[d>>2]=f-(k[a>>2]|0);g=g+1|0}while((g|0)<(k[x>>2]|0))}}}}else{B=l;C=36}}else{B=ha(m,e)|0;C=36}if((C|0)==36?(C=0,z=c+((ha(m+-1|0,e)|0)<<2)|0,A=c+(B<<2)|0,(k[x>>2]|0)>0):0){i=0;do{h=k[z+(i<<2)>>2]|0;d=k[r>>2]|0;do if((h|0)<=(d|0)){d=k[t>>2]|0;f=k[s>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[s>>2]|0;k[f+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[x>>2]|0}while((i|0)<(d|0));if((d|0)>0){g=0;do{k[A+(g<<2)>>2]=(k[b+(g+B<<2)>>2]|0)+(k[f+(g<<2)>>2]|0);g=g+1|0;d=k[x>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=0;do{d=A+(g<<2)|0;f=k[d>>2]|0;if((f|0)<=(k[r>>2]|0)){if((f|0)<(k[t>>2]|0))k[d>>2]=(k[a>>2]|0)+f}else k[d>>2]=f-(k[a>>2]|0);g=g+1|0}while((g|0)<(k[x>>2]|0))}}}d=m+1|0;if((d|0)>=(q|0)){C=25;break}g=k[p>>2]|0;h=k[g>>2]|0;f=k[g+4>>2]|0;m=d}if((C|0)==25){dq(w);return 1}else if((C|0)==28)Ap(g);return 0}function ui(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Jp(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);Jp(b);Jp(a);return}function vi(a){a=a|0;return 2}function wi(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 xi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=a+8|0;k[K>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;g=f;i=1;while(1){f=k[b+(i<<2)>>2]|0;if((f|0)>=(h|0))if((f|0)>(g|0)){k[j>>2]=f;g=f;f=h}else f=h;else k[l>>2]=f;i=i+1|0;if((i|0)==(d|0))break;else h=f}}else g=f;I=1-f+g|0;k[a+20>>2]=I;f=(I|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(I&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Xg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);s=k[a+48>>2]|0;t=k[a+52>>2]|0;u=e>>>0>1073741823?-1:e<<2;I=cq(u)|0;iq(I|0,0,u|0)|0;u=a+56|0;h=k[u>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;a:do if((i|0)>4){v=(e|0)>0;w=a+16|0;x=a+32|0;y=a+12|0;z=a+28|0;A=a+20|0;B=a+24|0;C=s+12|0;D=e<<2;q=i>>2;while(1){r=q+-1|0;if(g-f>>2>>>0<=r>>>0)break;p=k[f+(r<<2)>>2]|0;if(v)iq(I|0,0,D|0)|0;if((p|0)>-1){o=k[C>>2]|0;n=p;g=0;do{h=k[o+(n<<2)>>2]|0;if((h|0)>-1){j=k[s>>2]|0;i=(h|0)%3|0;l=k[t>>2]|0;m=k[l+(k[j+(((h|0)/3|0)*12|0)+(i<<2)>>2]<<2)>>2]|0;f=h+1|0;f=((f|0)%3|0|0)==0?h+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[j+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;d=k[l+(f<<2)>>2]|0;f=((i|0)==0?2:-1)+h|0;if((f|0)<0)f=-1073741824;else f=k[j+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;f=k[l+(f<<2)>>2]|0;if((m|0)<(r|0)&(d|0)<(r|0)&(f|0)<(r|0)){j=ha(m,e)|0;i=ha(d,e)|0;f=ha(f,e)|0;if(v){h=0;do{m=I+(h<<2)|0;k[m>>2]=(k[b+(h+f<<2)>>2]|0)+(k[b+(h+i<<2)>>2]|0)-(k[b+(h+j<<2)>>2]|0)+(k[m>>2]|0);h=h+1|0}while((h|0)!=(e|0))}g=g+1|0}}f=(((n|0)%3|0|0)==0?2:-1)+n|0;do if((f|0)>=0){f=k[o+(f<<2)>>2]|0;if((f|0)>=0)if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);n=(f|0)==(p|0)?-1073741824:f}while((n|0)>-1);d=ha(r,e)|0;if(g){if(v){f=0;do{p=I+(f<<2)|0;k[p>>2]=(k[p>>2]|0)/(g|0)|0;f=f+1|0}while((f|0)!=(e|0))}l=b+(d<<2)|0;if((k[K>>2]|0)>0){j=0;do{i=k[I+(j<<2)>>2]|0;f=k[w>>2]|0;do if((i|0)<=(f|0)){f=k[y>>2]|0;g=k[x>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[x>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[K>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+d<<2)>>2]=(k[l+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[K>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+d<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[z>>2]|0)){if((g|0)>(k[B>>2]|0))k[f>>2]=g-(k[A>>2]|0)}else k[f>>2]=(k[A>>2]|0)+g;h=h+1|0}while((h|0)<(k[K>>2]|0))}}}}else{F=d;H=44}}else{F=ha(r,e)|0;H=44}if((H|0)==44?(H=0,E=b+(F<<2)|0,G=b+((ha(q+-2|0,e)|0)<<2)|0,(k[K>>2]|0)>0):0){j=0;do{i=k[G+(j<<2)>>2]|0;f=k[w>>2]|0;do if((i|0)<=(f|0)){f=k[y>>2]|0;g=k[x>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[x>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[K>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+F<<2)>>2]=(k[E+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[K>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+F<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[z>>2]|0)){if((g|0)>(k[B>>2]|0))k[f>>2]=g-(k[A>>2]|0)}else k[f>>2]=(k[A>>2]|0)+g;h=h+1|0}while((h|0)<(k[K>>2]|0))}}}if((r|0)<=1){J=I;break a}h=k[u>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0;q=r}Ap(h)}else J=I;while(0);if((e|0)>0)iq(I|0,0,e<<2|0)|0;if((k[K>>2]|0)<=0){dq(I);return 1}j=a+16|0;l=a+32|0;d=a+12|0;m=0;do{i=k[J+(m<<2)>>2]|0;f=k[j>>2]|0;do if((i|0)<=(f|0)){f=k[d>>2]|0;h=k[l>>2]|0;g=h+(m<<2)|0;if((i|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=i;break}}else{h=k[l>>2]|0;k[h+(m<<2)>>2]=f}while(0);m=m+1|0;f=k[K>>2]|0}while((m|0)<(f|0));if((f|0)>0)g=0;else{dq(I);return 1}do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)-(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[K>>2]|0}while((g|0)<(f|0));if((f|0)<=0){dq(I);return 1}j=a+28|0;l=a+20|0;f=a+24|0;i=0;do{g=c+(i<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[j>>2]|0)){if((h|0)>(k[f>>2]|0))k[g>>2]=h-(k[l>>2]|0)}else k[g>>2]=(k[l>>2]|0)+h;i=i+1|0}while((i|0)<(k[K>>2]|0));dq(I);return 1}function yi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;C=a+8|0;k[C>>2]=e;g=a+32|0;h=a+36|0;f=k[h>>2]|0;d=k[g>>2]|0;i=f-d>>2;if(i>>>0>=e>>>0)if(i>>>0>e>>>0?(j=d+(e<<2)|0,(f|0)!=(j|0)):0){k[h>>2]=f+(~((f+-4-j|0)>>>2)<<2);d=e}else d=e;else{Xg(g,e-i|0);d=k[C>>2]|0}A=e>>>0>1073741823?-1:e<<2;B=cq(A)|0;iq(B|0,0,A|0)|0;if((d|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{h=k[B+(j<<2)>>2]|0;d=k[l>>2]|0;do if((h|0)<=(d|0)){d=k[m>>2]|0;f=k[i>>2]|0;g=f+(j<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[i>>2]|0;k[f+(j<<2)>>2]=d}while(0);j=j+1|0;d=k[C>>2]|0}while((j|0)<(d|0));g=f;if((d|0)>0){f=0;do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)+(k[g+(f<<2)>>2]|0);f=f+1|0;d=k[C>>2]|0}while((f|0)<(d|0));if((d|0)>0){d=a+20|0;h=0;do{f=c+(h<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[l>>2]|0)){if((g|0)<(k[m>>2]|0))k[f>>2]=(k[d>>2]|0)+g}else k[f>>2]=g-(k[d>>2]|0);h=h+1|0}while((h|0)<(k[C>>2]|0))}}}t=k[a+48>>2]|0;u=a+56|0;g=k[u>>2]|0;f=k[g+4>>2]|0;d=k[g>>2]|0;A=f-d|0;v=A>>2;if((A|0)<=4){dq(B);return 1}w=k[a+52>>2]|0;x=(e|0)>0;y=a+16|0;z=a+32|0;A=a+12|0;q=a+20|0;r=t+12|0;s=e<<2;h=d;p=1;while(1){if(f-h>>2>>>0<=p>>>0){G=28;break}o=k[h+(p<<2)>>2]|0;if(x)iq(B|0,0,s|0)|0;if((o|0)>-1){n=k[r>>2]|0;a=o;f=0;do{g=k[n+(a<<2)>>2]|0;if((g|0)>-1){i=k[t>>2]|0;h=(g|0)%3|0;j=k[w>>2]|0;m=k[j+(k[i+(((g|0)/3|0)*12|0)+(h<<2)>>2]<<2)>>2]|0;d=g+1|0;d=((d|0)%3|0|0)==0?g+-2|0:d;if((d|0)<0)d=-1073741824;else d=k[i+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;l=k[j+(d<<2)>>2]|0;d=((h|0)==0?2:-1)+g|0;if((d|0)<0)d=-1073741824;else d=k[i+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;d=k[j+(d<<2)>>2]|0;if((m|0)<(p|0)&(l|0)<(p|0)&(d|0)<(p|0)){i=ha(m,e)|0;h=ha(l,e)|0;d=ha(d,e)|0;if(x){g=0;do{m=B+(g<<2)|0;k[m>>2]=(k[c+(g+d<<2)>>2]|0)+(k[c+(g+h<<2)>>2]|0)-(k[c+(g+i<<2)>>2]|0)+(k[m>>2]|0);g=g+1|0}while((g|0)!=(e|0))}f=f+1|0}}d=(((a|0)%3|0|0)==0?2:-1)+a|0;do if((d|0)>=0){d=k[n+(d<<2)>>2]|0;if((d|0)>=0)if(!((d|0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);a=(d|0)==(o|0)?-1073741824:d}while((a|0)>-1);j=ha(p,e)|0;if(f){if(x){d=0;do{o=B+(d<<2)|0;k[o>>2]=(k[o>>2]|0)/(f|0)|0;d=d+1|0}while((d|0)!=(e|0))}l=c+(j<<2)|0;if((k[C>>2]|0)>0){i=0;do{h=k[B+(i<<2)>>2]|0;d=k[y>>2]|0;do if((h|0)<=(d|0)){d=k[A>>2]|0;f=k[z>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[z>>2]|0;k[f+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[C>>2]|0}while((i|0)<(d|0));if((d|0)>0){g=0;do{k[l+(g<<2)>>2]=(k[b+(g+j<<2)>>2]|0)+(k[f+(g<<2)>>2]|0);g=g+1|0;d=k[C>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=0;do{d=l+(g<<2)|0;f=k[d>>2]|0;if((f|0)<=(k[y>>2]|0)){if((f|0)<(k[A>>2]|0))k[d>>2]=(k[q>>2]|0)+f}else k[d>>2]=f-(k[q>>2]|0);g=g+1|0}while((g|0)<(k[C>>2]|0))}}}}else{F=j;G=50}}else{F=ha(p,e)|0;G=50}if((G|0)==50?(G=0,D=c+((ha(p+-1|0,e)|0)<<2)|0,E=c+(F<<2)|0,(k[C>>2]|0)>0):0){i=0;do{h=k[D+(i<<2)>>2]|0;d=k[y>>2]|0;do if((h|0)<=(d|0)){d=k[A>>2]|0;f=k[z>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[z>>2]|0;k[f+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[C>>2]|0}while((i|0)<(d|0));if((d|0)>0){g=0;do{k[E+(g<<2)>>2]=(k[b+(g+F<<2)>>2]|0)+(k[f+(g<<2)>>2]|0);g=g+1|0;d=k[C>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=0;do{d=E+(g<<2)|0;f=k[d>>2]|0;if((f|0)<=(k[y>>2]|0)){if((f|0)<(k[A>>2]|0))k[d>>2]=(k[q>>2]|0)+f}else k[d>>2]=f-(k[q>>2]|0);g=g+1|0}while((g|0)<(k[C>>2]|0))}}}d=p+1|0;if((d|0)>=(v|0)){G=25;break}g=k[u>>2]|0;h=k[g>>2]|0;f=k[g+4>>2]|0;p=d}if((G|0)==25){dq(B);return 1}else if((G|0)==28)Ap(g);return 0}function zi(a){a=a|0;var b=0,c=0;k[a>>2]=3552;b=k[a+76>>2]|0;if(b|0)Jp(b);c=a+68|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)dq(b);k[a>>2]=3168;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Jp(c);return}function Ai(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3552;b=k[a+76>>2]|0;if(b|0)Jp(b);d=a+68|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)dq(b);k[a>>2]=3168;d=k[a+32>>2]|0;if(!d){Jp(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);Jp(d);Jp(a);return}function Bi(a){a=a|0;return 3}function Ci(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 Di(a){a=a|0;return 1}function Ei(a,b){a=a|0;b=b|0;if(!b)return 0;else Aa(8689,8700,75,8780);return 0}function Fi(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){a=0;return a|0}if((i[b+24>>0]|0)!=3){a=0;return a|0}k[a+60>>2]=b;a=1;return a|0}function Gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n+40|0;l=n+36|0;c=n+32|0;m=n;d=a+80|0;k[c>>2]=k[d>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0)){k[l>>2]=k[b+4>>2];k[j>>2]=k[l>>2];fd(b,j,c,c+4|0)|0}kd(m);od(m);c=k[a+76>>2]|0;g=k[d>>2]|0;f=g>>>5;h=c+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){f=c;c=1;while(1){if(d){e=0;d=c;while(1){c=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){ld(m);r=n;return 1}d=b+4|0;k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];fd(b,j,c,c+4|0)|0;h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){ld(m);r=n;return 1}k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];fd(b,j,c,c+4|0)|0;ld(m);r=n;return 1}function Hi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+16|0;p=q;j=b+8|0;g=j;h=k[g>>2]|0;g=k[g+4>>2]|0;o=b+16|0;d=o;c=k[d>>2]|0;d=kq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){p=0;r=q;return p|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=o;k[g>>2]=d;k[g+4>>2]=e;e=a+76|0;ii(e,h,0);rd(p);if(td(p,b)|0){if((h|0)>0){f=0;g=1;do{g=g^((ud(p)|0)^1);d=(k[e>>2]|0)+(f>>>5<<2)|0;c=1<<(f&31);if(g)c=k[d>>2]|c;else c=k[d>>2]&~c;k[d>>2]=c;f=f+1|0}while((f|0)<(h|0))}e=j;g=k[e>>2]|0;e=k[e+4>>2]|0;h=o;c=k[h>>2]|0;h=kq(c|0,k[h+4>>2]|0,4,0)|0;f=L;if(!((e|0)<(f|0)|(e|0)==(f|0)&g>>>0>>0)?(g=a+12|0,m=(k[b>>2]|0)+c|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,i[g>>0]=m,i[g+1>>0]=m>>8,i[g+2>>0]=m>>16,i[g+3>>0]=m>>24,g=o,e=k[g>>2]|0,g=k[g+4>>2]|0,n=kq(e|0,g|0,4,0)|0,f=o,k[f>>2]=n,k[f+4>>2]=L,f=j,h=k[f>>2]|0,f=k[f+4>>2]|0,j=kq(e|0,g|0,8,0)|0,g=L,!((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0)):0){d=a+16|0;b=(k[b>>2]|0)+n|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;i[d>>0]=b;i[d+1>>0]=b>>8;i[d+2>>0]=b>>16;i[d+3>>0]=b>>24;d=o;d=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;c=o;k[c>>2]=d;k[c+4>>2]=L;b=b+(1-m)|0;k[a+20>>2]=b;c=(b|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(!(b&1)){k[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;sd(p);p=c;r=q;return p|0}function Ii(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+16|0;y=A+4|0;z=A;k[a+72>>2]=e;k[a+64>>2]=f;x=a+68|0;w=cq(e>>>0>1073741823?-1:e<<2)|0;f=k[x>>2]|0;k[x>>2]=w;if(f|0)dq(f);w=a+8|0;k[w>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;i=1;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;v=1-g+f|0;k[a+20>>2]=v;f=(v|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(v&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Xg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=a+56|0;h=k[o>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;if((i|0)<=0){r=A;return 1}p=a+16|0;q=a+32|0;s=a+12|0;t=a+28|0;u=a+20|0;v=a+24|0;j=g;g=(i>>2)+-1|0;while(1){if(j-f>>2>>>0<=g>>>0){f=22;break}k[z>>2]=k[f+(g<<2)>>2];k[y>>2]=k[z>>2];Ji(a,y,b,g);n=ha(g,e)|0;m=b+(n<<2)|0;l=k[x>>2]|0;if((k[w>>2]|0)>0){d=0;do{j=k[l+(d<<2)>>2]|0;f=k[p>>2]|0;do if((j|0)<=(f|0)){f=k[s>>2]|0;h=k[q>>2]|0;i=h+(d<<2)|0;if((j|0)<(f|0)){k[i>>2]=f;break}else{k[i>>2]=j;break}}else{h=k[q>>2]|0;k[h+(d<<2)>>2]=f}while(0);d=d+1|0;f=k[w>>2]|0}while((d|0)<(f|0));i=h;if((f|0)>0){h=0;do{k[c+(h+n<<2)>>2]=(k[m+(h<<2)>>2]|0)-(k[i+(h<<2)>>2]|0);h=h+1|0;f=k[w>>2]|0}while((h|0)<(f|0));if((f|0)>0){i=0;do{f=c+(i+n<<2)|0;h=k[f>>2]|0;if((h|0)>=(k[t>>2]|0)){if((h|0)>(k[v>>2]|0))k[f>>2]=h-(k[u>>2]|0)}else k[f>>2]=(k[u>>2]|0)+h;i=i+1|0}while((i|0)<(k[w>>2]|0))}}}g=g+-1|0;if((g|0)<=-1){f=19;break}h=k[o>>2]|0;f=k[h>>2]|0;j=k[h+4>>2]|0}if((f|0)==19){r=A;return 1}else if((f|0)==22)Ap(h);return 0}function Ji(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;i=a+48|0;b=k[b>>2]|0;if((b|0)>=0){e=b+1|0;e=((e|0)%3|0|0)==0?b+-2|0:e;g=b+(((b|0)%3|0|0)==0?2:-1)|0;if((e|0)<0)b=-1073741824;else b=k[(k[k[i>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((g|0)<0)e=-1073741824;else e=k[(k[k[i>>2]>>2]|0)+(((g|0)/3|0)*12|0)+(((g|0)%3|0)<<2)>>2]|0}else{b=-1073741824;e=-1073741824}g=k[a+52>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)Ap(g);n=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=e>>>0)Ap(g);e=k[j+(e<<2)>>2]|0;b=(n|0)<(d|0);if(!(b&(e|0)<(d|0))){do if(b){i=a+72|0;g=k[i>>2]|0;b=g;g=ha(g,n)|0}else{if((d|0)>0){i=a+72|0;g=k[i>>2]|0;b=g;g=ha(g,d+-1|0)|0;break}g=a+72|0;if((k[g>>2]|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+g<<2)>>2];e=e+1|0}while((e|0)<(k[i>>2]|0));r=t;return}b=a+72|0;j=k[b>>2]|0;i=ha(j,n)|0;f=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);j=ha(j,e)|0;l=+(k[c+(j<<2)>>2]|0);m=+(k[c+(j+1<<2)>>2]|0);if(!(l!=f|m!=h)){a=k[a+68>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~m;r=t;return}Ki(s,a,d);Ki(p,a,n);Ki(q,a,e);B=+o[p>>2];x=+o[q>>2]-B;A=+o[p+4>>2];w=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=x*x+0.0+w*w+y*y;u=(x*B+0.0+w*A+y*z)/v;x=B-x*u;w=A-w*u;y=z-y*u;v=+X(+((y*y+(w*w+(x*x+0.0)))/v));x=l-f;w=m-h;l=f+x*u;m=x*v;u=h+w*u;v=w*v;h=l-v;f=m+u;l=v+l;m=u-m;i=ha(k[b>>2]|0,d)|0;u=+(k[c+(i<<2)>>2]|0);v=+(k[c+(i+1<<2)>>2]|0);w=u-h;x=v-f;u=u-l;v=v-m;i=a+76|0;j=a+80|0;b=k[j>>2]|0;e=k[a+84>>2]|0;g=(b|0)==(e<<5|0);if(x*x+(w*w+0.0)>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Dd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31)}else{if(g){if((b+1|0)<0)zp(i);if(e<<5>>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Dd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(b&31));h=l;f=m}c=~~+V(+(h+.5));a=k[a+68>>2]|0;k[a>>2]=c;c=~~+V(+(f+.5));k[a+4>>2]=c;r=t;return}function Ki(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+64>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+60>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];Cc(b,d,a)|0;r=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];Jc(b,d,a)|0;r=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];Qc(b,d,a)|0;r=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];Xc(b,d,a)|0;r=j;return}default:{r=j;return}}}function Li(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+16|0;x=z+4|0;y=z;k[a+72>>2]=e;k[a+64>>2]=f;w=a+68|0;v=cq(e>>>0>1073741823?-1:e<<2)|0;d=k[w>>2]|0;k[w>>2]=v;if(d|0)dq(d);v=a+8|0;k[v>>2]=e;d=a+32|0;f=a+36|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else Xg(d,e-g|0);o=a+56|0;g=k[o>>2]|0;f=k[g+4>>2]|0;d=k[g>>2]|0;u=f-d|0;p=u>>2;if((u|0)<=0){r=z;return 1}q=a+16|0;s=a+32|0;t=a+12|0;u=a+20|0;h=g;g=0;while(1){if(f-d>>2>>>0<=g>>>0){d=13;break}k[y>>2]=k[d+(g<<2)>>2];k[x>>2]=k[y>>2];Mi(a,x,c,g);m=ha(g,e)|0;j=k[w>>2]|0;n=c+(m<<2)|0;if((k[v>>2]|0)>0){l=0;do{i=k[j+(l<<2)>>2]|0;d=k[q>>2]|0;do if((i|0)<=(d|0)){d=k[t>>2]|0;f=k[s>>2]|0;h=f+(l<<2)|0;if((i|0)<(d|0)){k[h>>2]=d;break}else{k[h>>2]=i;break}}else{f=k[s>>2]|0;k[f+(l<<2)>>2]=d}while(0);l=l+1|0;d=k[v>>2]|0}while((l|0)<(d|0));h=f;if((d|0)>0){f=0;do{k[n+(f<<2)>>2]=(k[b+(f+m<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;d=k[v>>2]|0}while((f|0)<(d|0));if((d|0)>0){h=0;do{d=n+(h<<2)|0;f=k[d>>2]|0;if((f|0)<=(k[q>>2]|0)){if((f|0)<(k[t>>2]|0))k[d>>2]=(k[u>>2]|0)+f}else k[d>>2]=f-(k[u>>2]|0);h=h+1|0}while((h|0)<(k[v>>2]|0))}}}g=g+1|0;if((g|0)>=(p|0)){d=10;break}h=k[o>>2]|0;d=k[h>>2]|0;f=k[h+4>>2]|0}if((d|0)==10){r=z;return 1}else if((d|0)==13)Ap(h);return 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.0,i=0.0,j=0.0,l=0.0,m=0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;f=a+48|0;b=k[b>>2]|0;if((b|0)>=0){e=b+1|0;e=((e|0)%3|0|0)==0?b+-2|0:e;b=b+(((b|0)%3|0|0)==0?2:-1)|0;if((e|0)<0)e=-1073741824;else e=k[(k[k[f>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((b|0)<0)m=-1073741824;else m=k[(k[k[f>>2]>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0}else{m=-1073741824;e=-1073741824}b=k[a+52>>2]|0;f=k[b+4>>2]|0;g=k[b>>2]|0;if(f-g>>2>>>0<=e>>>0)Ap(b);n=k[g+(e<<2)>>2]|0;if(f-g>>2>>>0<=m>>>0)Ap(b);e=k[g+(m<<2)>>2]|0;b=(n|0)<(d|0);if(b&(e|0)<(d|0)){m=k[a+72>>2]|0;g=ha(m,n)|0;i=+(k[c+(g<<2)>>2]|0);j=+(k[c+(g+1<<2)>>2]|0);m=ha(m,e)|0;l=+(k[c+(m<<2)>>2]|0);h=+(k[c+(m+1<<2)>>2]|0);if(l!=i|h!=j){Ki(s,a,d);Ki(p,a,n);Ki(q,a,e);B=+o[p>>2];w=+o[q>>2]-B;A=+o[p+4>>2];x=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=w*w+0.0+x*x+y*y;u=(w*B+0.0+x*A+y*z)/v;w=B-w*u;x=A-x*u;y=z-y*u;v=+X(+((y*y+(x*x+(w*w+0.0)))/v));w=l-i;h=h-j;l=w*v;v=h*v;d=a+80|0;s=(k[d>>2]|0)+-1|0;c=(1<<(s&31)&k[(k[a+76>>2]|0)+(s>>>5<<2)>>2]|0)==0;k[d>>2]=s;d=~~+V(+(i+w*u+(c?v:-v)+.5));a=k[a+68>>2]|0;k[a>>2]=d;c=~~+V(+(j+h*u+(c?-l:l)+.5));k[a+4>>2]=c;r=t;return}else{a=k[a+68>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~h;r=t;return}}do if(b){g=a+72|0;f=k[g>>2]|0;b=f;f=ha(f,n)|0}else{if((d|0)>0){g=a+72|0;f=k[g>>2]|0;b=f;f=ha(f,d+-1|0)|0;break}f=a+72|0;if((k[f>>2]|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[f>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+f<<2)>>2];e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}function Ni(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Jp(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);Jp(b);Jp(a);return}function Oi(a){a=a|0;return 0}function Pi(a){a=a|0;return 1}function Qi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=a+8|0;k[u>>2]=e;do if(d){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;g=f;i=1;while(1){f=k[b+(i<<2)>>2]|0;if((f|0)>=(h|0))if((f|0)>(g|0)){k[j>>2]=f;g=f;f=h}else f=h;else k[l>>2]=f;i=i+1|0;if((i|0)==(d|0))break;else h=f}}else g=f;t=1-f+g|0;k[a+20>>2]=t;f=(t|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(t&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Xg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}else d=0;while(0);f=d-e|0;if((f|0)>0){n=0-e|0;o=a+16|0;p=a+32|0;q=a+12|0;r=a+28|0;s=a+20|0;t=a+24|0;d=k[u>>2]|0;do{m=b+(f<<2)|0;l=m+(n<<2)|0;if((d|0)>0){j=0;do{i=k[l+(j<<2)>>2]|0;d=k[o>>2]|0;do if((i|0)<=(d|0)){d=k[q>>2]|0;g=k[p>>2]|0;h=g+(j<<2)|0;if((i|0)<(d|0)){k[h>>2]=d;break}else{k[h>>2]=i;break}}else{g=k[p>>2]|0;k[g+(j<<2)>>2]=d}while(0);j=j+1|0;d=k[u>>2]|0}while((j|0)<(d|0));h=g;if((d|0)>0){g=0;do{k[c+(g+f<<2)>>2]=(k[m+(g<<2)>>2]|0)-(k[h+(g<<2)>>2]|0);g=g+1|0;d=k[u>>2]|0}while((g|0)<(d|0));if((d|0)>0){h=0;do{d=c+(h+f<<2)|0;g=k[d>>2]|0;if((g|0)>=(k[r>>2]|0)){if((g|0)>(k[t>>2]|0))k[d>>2]=g-(k[s>>2]|0)}else k[d>>2]=(k[s>>2]|0)+g;h=h+1|0;d=k[u>>2]|0}while((h|0)<(d|0))}}}f=f-e|0}while((f|0)>0)}else d=k[u>>2]|0;e=e>>>0>1073741823?-1:e<<2;n=cq(e)|0;iq(n|0,0,e|0)|0;if((d|0)<=0){dq(n);return 1}i=a+16|0;j=a+32|0;l=a+12|0;m=0;do{h=k[n+(m<<2)>>2]|0;d=k[i>>2]|0;do if((h|0)<=(d|0)){d=k[l>>2]|0;g=k[j>>2]|0;f=g+(m<<2)|0;if((h|0)<(d|0)){k[f>>2]=d;break}else{k[f>>2]=h;break}}else{g=k[j>>2]|0;k[g+(m<<2)>>2]=d}while(0);m=m+1|0;d=k[u>>2]|0}while((m|0)<(d|0));if((d|0)>0)f=0;else{dq(n);return 1}do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)-(k[g+(f<<2)>>2]|0);f=f+1|0;d=k[u>>2]|0}while((f|0)<(d|0));if((d|0)<=0){dq(n);return 1}i=a+28|0;j=a+20|0;d=a+24|0;h=0;do{f=c+(h<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[i>>2]|0)){if((g|0)>(k[d>>2]|0))k[f>>2]=g-(k[j>>2]|0)}else k[f>>2]=(k[j>>2]|0)+g;h=h+1|0}while((h|0)<(k[u>>2]|0));dq(n);return 1}function Ri(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=a+8|0;k[t>>2]=e;g=a+32|0;h=a+36|0;f=k[h>>2]|0;j=k[g>>2]|0;i=f-j>>2;if(i>>>0>=e>>>0)if(i>>>0>e>>>0?(l=j+(e<<2)|0,(f|0)!=(l|0)):0){k[h>>2]=f+(~((f+-4-l|0)>>>2)<<2);f=e}else f=e;else{Xg(g,e-i|0);f=k[t>>2]|0}r=e>>>0>1073741823?-1:e<<2;s=cq(r)|0;iq(s|0,0,r|0)|0;if((f|0)>0){m=a+16|0;j=a+32|0;n=a+12|0;l=0;do{i=k[s+(l<<2)>>2]|0;f=k[m>>2]|0;do if((i|0)<=(f|0)){f=k[n>>2]|0;g=k[j>>2]|0;h=g+(l<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[j>>2]|0;k[g+(l<<2)>>2]=f}while(0);l=l+1|0;f=k[t>>2]|0}while((l|0)<(f|0));h=g;if((f|0)>0){g=0;do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)+(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[t>>2]|0}while((g|0)<(f|0));if((f|0)>0){h=a+20|0;i=0;do{f=c+(i<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[m>>2]|0)){if((g|0)<(k[n>>2]|0))k[f>>2]=(k[h>>2]|0)+g}else k[f>>2]=g-(k[h>>2]|0);i=i+1|0;f=k[t>>2]|0}while((i|0)<(f|0))}}}if((e|0)>=(d|0)){dq(s);return 1}o=0-e|0;p=a+16|0;q=a+32|0;r=a+12|0;a=a+20|0;n=e;do{m=c+(n<<2)|0;l=m+(o<<2)|0;if((f|0)>0){j=0;do{i=k[l+(j<<2)>>2]|0;f=k[p>>2]|0;do if((i|0)<=(f|0)){f=k[r>>2]|0;g=k[q>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[q>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[t>>2]|0}while((j|0)<(f|0));h=g;if((f|0)>0){g=0;do{k[m+(g<<2)>>2]=(k[b+(g+n<<2)>>2]|0)+(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[t>>2]|0}while((g|0)<(f|0));if((f|0)>0){h=0;do{g=m+(h<<2)|0;f=k[g>>2]|0;if((f|0)<=(k[p>>2]|0)){if((f|0)<(k[r>>2]|0))k[g>>2]=(k[a>>2]|0)+f}else k[g>>2]=f-(k[a>>2]|0);h=h+1|0;f=k[t>>2]|0}while((h|0)<(f|0))}}}n=n+e|0}while((n|0)<(d|0));dq(s);return 1}function Si(a){a=a|0;return i[(k[a+8>>2]|0)+24>>0]|0}function Ti(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0;o=a+8|0;d=k[o>>2]|0;switch(k[d+28>>2]|0){case 2:{c=i[d+24>>0]|0;h=c<<24>>24;l=cq((h|0)>-1?h:-1)|0;a:do if(b|0){g=a+16|0;if(c<<24>>24>0){d=0;e=0}else{mq(k[k[d+64>>2]>>2]|0,l|0,h|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+h|0;mq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,l|0,h|0)|0;c=c+1|0;if((c|0)==(b|0))break a}}while(1){c=k[g>>2]|0;a=0;f=e;while(1){i[l+a>>0]=k[c+(f<<2)>>2];a=a+1|0;if((a|0)==(h|0))break;else f=f+1|0}mq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,l|0,h|0)|0;d=d+1|0;if((d|0)==(b|0))break;else e=e+h|0}}while(0);dq(l);b=1;return b|0}case 1:{c=i[d+24>>0]|0;h=c<<24>>24;l=cq((h|0)>-1?h:-1)|0;b:do if(b|0){g=a+16|0;if(c<<24>>24>0){d=0;e=0}else{mq(k[k[d+64>>2]>>2]|0,l|0,h|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+h|0;mq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,l|0,h|0)|0;c=c+1|0;if((c|0)==(b|0))break b}}while(1){c=k[g>>2]|0;a=0;f=e;while(1){i[l+a>>0]=k[c+(f<<2)>>2];a=a+1|0;if((a|0)==(h|0))break;else f=f+1|0}mq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,l|0,h|0)|0;d=d+1|0;if((d|0)==(b|0))break;else e=e+h|0}}while(0);dq(l);b=1;return b|0}case 4:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<1;n=cq(l>>>0>2147483647?-1:l<<1)|0;c:do if(b|0){h=a+16|0;if(c<<24>>24>0){d=0;e=0;f=0}else{mq(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+m|0;mq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,n|0,m|0)|0;c=c+1|0;if((c|0)==(b|0))break c}}while(1){c=k[h>>2]|0;a=0;g=f;while(1){j[n+(a<<1)>>1]=k[c+(g<<2)>>2];a=a+1|0;if((a|0)==(l|0))break;else g=g+1|0}mq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,n|0,m|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+m|0;f=f+l|0}}}while(0);dq(n);b=1;return b|0}case 3:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<1;n=cq(l>>>0>2147483647?-1:l<<1)|0;d:do if(b|0){h=a+16|0;if(c<<24>>24>0){d=0;e=0;f=0}else{mq(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+m|0;mq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,n|0,m|0)|0;c=c+1|0;if((c|0)==(b|0))break d}}while(1){c=k[h>>2]|0;a=0;g=f;while(1){j[n+(a<<1)>>1]=k[c+(g<<2)>>2];a=a+1|0;if((a|0)==(l|0))break;else g=g+1|0}mq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,n|0,m|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+m|0;f=f+l|0}}}while(0);dq(n);b=1;return b|0}case 6:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<2;n=cq(l>>>0>1073741823?-1:l<<2)|0;e:do if(b|0){h=a+16|0;if(c<<24>>24>0){d=0;e=0;f=0}else{mq(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+m|0;mq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,n|0,m|0)|0;c=c+1|0;if((c|0)==(b|0))break e}}while(1){c=k[h>>2]|0;a=0;g=f;while(1){k[n+(a<<2)>>2]=k[c+(g<<2)>>2];a=a+1|0;if((a|0)==(l|0))break;else g=g+1|0}mq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,n|0,m|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+m|0;f=f+l|0}}}while(0);dq(n);b=1;return b|0}case 5:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<2;n=cq(l>>>0>1073741823?-1:l<<2)|0;f:do if(b|0){h=a+16|0;if(c<<24>>24>0){d=0;e=0;f=0}else{mq(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+m|0;mq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,n|0,m|0)|0;c=c+1|0;if((c|0)==(b|0))break f}}while(1){c=k[h>>2]|0;a=0;g=f;while(1){k[n+(a<<2)>>2]=k[c+(g<<2)>>2];a=a+1|0;if((a|0)==(l|0))break;else g=g+1|0}mq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,n|0,m|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+m|0;f=f+l|0}}}while(0);dq(n);b=1;return b|0}default:{b=0;return b|0}}return 0}function Ui(a){a=a|0;wh(a);k[a>>2]=3116;a=a+16|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;return}function Vi(a){a=a|0;var b=0,c=0;k[a>>2]=3680;c=a+36|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)dq(b);k[a>>2]=3116;c=a+28|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);c=k[a+16>>2]|0;if(!c)return;b=a+20|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Jp(c);return}function Wi(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3680;d=a+36|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)dq(b);k[a>>2]=3116;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);b=k[a+16>>2]|0;if(!b){Jp(a);return}c=a+20|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Jp(b);Jp(a);return}function Xi(a,b,c){a=a|0;b=b|0;c=c|0;if(!(zh(a,b,c)|0)){c=0;return c|0}b=k[b+4>>2]|0;if((c|0)<=-1)Aa(9671,9687,62,9715);a=k[b+4>>2]|0;if(((k[b+8>>2]|0)-a>>2|0)<=(c|0))Aa(9725,9687,63,9715);c=(k[(k[a+(c<<2)>>2]|0)+28>>2]|0)==9;return c|0}function Yi(a,b,c){a=a|0;b=b|0;c=c|0;if(!(cb[k[(k[a>>2]|0)+44>>2]&127](a)|0)){a=0;return a|0}a=Bh(a,b,c)|0;return a|0}function Zi(a,b){a=a|0;b=b|0;return gb[k[(k[a>>2]|0)+48>>2]&63](a,b)|0}function _i(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;c=i[(k[a+8>>2]|0)+24>>0]|0;g=a+36|0;f=cq(c>>>0>1073741823?-1:c<<2)|0;b=k[g>>2]|0;k[g>>2]=f;if(b|0)dq(b);e=a+4|0;f=k[(k[e>>2]|0)+20>>2]|0;b=c<<2;n=f+8|0;j=k[n>>2]|0;n=k[n+4>>2]|0;c=f+16|0;h=c;d=k[h>>2]|0;h=kq(d|0,k[h+4>>2]|0,b|0,0)|0;m=L;if((n|0)<(m|0)|(n|0)==(m|0)&j>>>0>>0){n=0;return n|0}mq(k[g>>2]|0,(k[f>>2]|0)+d|0,b|0)|0;h=c;h=kq(k[h>>2]|0,k[h+4>>2]|0,b|0,0)|0;b=c;k[b>>2]=h;k[b+4>>2]=L;b=(k[e>>2]|0)+20|0;c=k[b>>2]|0;h=c+8|0;m=k[h>>2]|0;h=k[h+4>>2]|0;d=c+16|0;n=d;e=k[n>>2]|0;n=kq(e|0,k[n+4>>2]|0,4,0)|0;j=L;if((h|0)<(j|0)|(h|0)==(j|0)&m>>>0>>0){n=0;return n|0}m=a+40|0;n=(k[c>>2]|0)+e|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;i[m>>0]=n;i[m+1>>0]=n>>8;i[m+2>>0]=n>>16;i[m+3>>0]=n>>24;m=d;m=kq(k[m>>2]|0,k[m+4>>2]|0,4,0)|0;n=d;k[n>>2]=m;k[n+4>>2]=L;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=kq(d|0,e|0,1,0)|0;n=c;k[n>>2]=m;k[n+4>>2]=L;if((b&255)>31){n=0;return n|0}k[a+32>>2]=b&255;n=1;return n|0}function $i(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0.0,w=0;u=r;r=r+16|0;n=u;p=k[a+32>>2]|0;q=a+8|0;c=i[(k[q>>2]|0)+24>>0]|0;m=c<<24>>24;s=m<<2;t=cq(m>>>0>1073741823?-1:m<<2)|0;Lg(n);Mg(n,+o[a+40>>2],(1<>24>0){a=0;g=0;c=0}else{a=0;c=0;while(1){mq((k[k[(k[q>>2]|0)+64>>2]>>2]|0)+c|0,t|0,s|0)|0;a=a+1|0;if((a|0)==(b|0))break;else c=c+s|0}dq(t);r=u;return 1}a:while(1){e=k[p>>2]|0;f=0;d=c;while(1){if((k[j>>2]|0)-e>>2>>>0<=d>>>0){a=4;break a}c=d+1|0;w=k[e+(d<<2)>>2]|0;d=(w|0)<0;v=+o[l>>2]*+((d?0-w|0:w)|0);o[t+(f<<2)>>2]=+o[(k[h>>2]|0)+(f<<2)>>2]+ +o[n>>2]*(d?-v:v);f=f+1|0;if((f|0)>=(m|0))break;else d=c}mq((k[k[(k[q>>2]|0)+64>>2]>>2]|0)+g|0,t|0,s|0)|0;a=a+1|0;if(a>>>0>>0)g=g+s|0;else{a=8;break}}if((a|0)==4)Ap(p);else if((a|0)==8){dq(t);r=u;return 1}return 0}function aj(a){a=a|0;Ui(a);k[a>>2]=3680;k[a+32>>2]=-1;k[a+36>>2]=0;o[a+40>>2]=0.0;return}function bj(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3116;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);d=k[a+16>>2]|0;if(!d){Jp(a);return}b=a+20|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);Jp(d);Jp(a);return}function cj(a,b,c){a=a|0;b=b|0;c=c|0;if(!(zh(a,b,c)|0)){a=0;return a|0}c=k[a+8>>2]|0;if((i[c+24>>0]|0)!=3){a=0;return a|0}a=(k[c+28>>2]|0)==9;return a|0}function dj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=c+8|0;h=k[g+4>>2]|0;f=c+16|0;e=f;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((h|0)>(e|0)|((h|0)==(e|0)?(k[g>>2]|0)>>>0>d>>>0:0))){h=0;return h|0}h=i[(k[c>>2]|0)+d>>0]|0;e=kq(d|0,e|0,1,0)|0;g=f;k[g>>2]=e;k[g+4>>2]=L;k[a+32>>2]=h&255;h=Bh(a,b,c)|0;return h|0}function ej(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+16|0;d=e;if((c|0)!=2){c=0;r=e;return c|0}f=k[a+12>>2]|0;c=k[a+4>>2]|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;c=fj(b,f,c,d)|0;r=e;return c|0}function fj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=k[c+4>>2]|0;if((b|0)<=-1)Aa(9671,9687,54,9715);f=k[e+4>>2]|0;if(((k[e+8>>2]|0)-f>>2|0)<=(b|0))Aa(9725,9687,55,9715);e=k[f+(b<<2)>>2]|0;if((cb[k[(k[c>>2]|0)+8>>2]&127](c)|0)==1?(g=gj(c,a,b,d)|0,g|0):0){d=g;return d|0}if((a|0)==-2){d=0;return d|0}a=aq(20)|0;k[a+4>>2]=e;c=a+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[a>>2]=4176;d=a;return d|0}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;e=k[a+4>>2]|0;if((c|0)<=-1)Aa(9671,9687,54,9715);f=k[e+4>>2]|0;if(((k[e+8>>2]|0)-f>>2|0)<=(c|0))Aa(9725,9687,55,9715);g=k[f+(c<<2)>>2]|0;if(!((b+-1|0)>>>0<3&(cb[k[(k[a>>2]|0)+8>>2]&127](a)|0)==1)){d=0;return d|0}h=cb[k[(k[a>>2]|0)+36>>2]&127](a)|0;i=gb[k[(k[a>>2]|0)+44>>2]&63](a,c)|0;if((h|0)==0|(i|0)==0){d=0;return d|0}c=gb[k[(k[a>>2]|0)+40>>2]&63](a,c)|0;e=k[a+24>>2]|0;f=i+12|0;if(!c)switch(b|0){case 1:{b=aq(36)|0;k[b+4>>2]=g;a=b+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[b+20>>2]=e;k[b+24>>2]=h;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=3984;d=b;return d|0}case 2:{b=aq(36)|0;k[b+4>>2]=g;a=b+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[b+20>>2]=e;k[b+24>>2]=h;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=4048;d=b;return d|0}case 3:{b=aq(64)|0;k[b+4>>2]=g;a=b+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[b+20>>2]=e;k[b+24>>2]=h;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=4112;d=b+36|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;d=b;return d|0}default:{d=0;return d|0}}else switch(b|0){case 1:{b=aq(36)|0;k[b+4>>2]=g;a=b+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[b+20>>2]=e;k[b+24>>2]=c;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=3792;d=b;return d|0}case 2:{b=aq(36)|0;k[b+4>>2]=g;a=b+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[b+20>>2]=e;k[b+24>>2]=c;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=3856;d=b;return d|0}case 3:{b=aq(64)|0;k[b+4>>2]=g;a=b+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[b+20>>2]=e;k[b+24>>2]=c;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=3920;d=b+36|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;d=b;return d|0}default:{d=0;return d|0}}return 0}function hj(a){a=a|0;return}function ij(a){a=a|0;Jp(a);return}function jj(a){a=a|0;return 1}function kj(a){a=a|0;return k[a+4>>2]|0}function lj(a){a=a|0;if(!(k[a+20>>2]|0)){a=0;return a|0}if(!(k[a+24>>2]|0)){a=0;return a|0}if(!(k[a+28>>2]|0)){a=0;return a|0}a=(k[a+32>>2]|0)!=0;return a|0}function mj(a){a=a|0;return 0}function nj(a,b){a=a|0;b=b|0;return -1}function oj(a,b){a=a|0;b=b|0;return 0}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;h=r;r=r+16|0;e=h+4|0;f=h;c=a+12|0;d=b+16|0;g=d;i=k[g+4>>2]|0;if((i|0)>0|(i|0)==0&(k[g>>2]|0)>>>0>0){r=h;return 1}g=b+4|0;k[f>>2]=k[g>>2];k[e>>2]=k[f>>2];fd(b,e,c,c+4|0)|0;i=d;d=k[i+4>>2]|0;c=a+16|0;if((d|0)>0|(d|0)==0&(k[i>>2]|0)>>>0>0){r=h;return 1}k[f>>2]=k[g>>2];k[e>>2]=k[f>>2];fd(b,e,c,c+4|0)|0;r=h;return 1}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;d=b+8|0;j=d;g=k[j>>2]|0;j=k[j+4>>2]|0;e=b+16|0;f=e;c=k[f>>2]|0;f=kq(c|0,k[f+4>>2]|0,4,0)|0;h=L;if((j|0)<(h|0)|(j|0)==(h|0)&g>>>0>>0){j=0;return j|0}j=a+12|0;g=(k[b>>2]|0)+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;i[j>>0]=g;i[j+1>>0]=g>>8;i[j+2>>0]=g>>16;i[j+3>>0]=g>>24;j=e;g=k[j>>2]|0;j=k[j+4>>2]|0;c=kq(g|0,j|0,4,0)|0;f=e;k[f>>2]=c;k[f+4>>2]=L;f=d;h=k[f>>2]|0;f=k[f+4>>2]|0;j=kq(g|0,j|0,8,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0){j=0;return j|0}h=a+16|0;j=(k[b>>2]|0)+c|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;i[h>>0]=j;i[h+1>>0]=j>>8;i[h+2>>0]=j>>16;i[h+3>>0]=j>>24;h=e;h=kq(k[h>>2]|0,k[h+4>>2]|0,4,0)|0;j=e;k[j>>2]=h;k[j+4>>2]=L;j=1;return j|0}function rj(a){a=a|0;return 1}function sj(a){a=a|0;return 2}function tj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;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;p=a+8|0;k[p>>2]=e;r=e>>>0>1073741823?-1:e<<2;q=cq(r)|0;iq(q|0,0,r|0)|0;r=k[a+24>>2]|0;s=a+32|0;d=k[s>>2]|0;g=k[d+4>>2]|0;f=k[d>>2]|0;h=g-f|0;a:do if((h|0)>4){l=k[a+28>>2]|0;m=r+64|0;n=r+28|0;o=(e|0)>0;i=h>>2;while(1){j=i+-1|0;if(g-f>>2>>>0<=j>>>0)break;f=k[f+(j<<2)>>2]|0;if(!((f|0)<0?1:(1<<(f&31)&k[(k[r>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(u=k[(k[(k[m>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(u|0)>-1):0){h=k[n>>2]|0;f=k[l>>2]|0;d=k[f+(k[h+(u<<2)>>2]<<2)>>2]|0;a=u+1|0;a=k[f+(k[h+((((a|0)%3|0|0)==0?u+-2|0:a)<<2)>>2]<<2)>>2]|0;h=k[f+(k[h+((((u|0)%3|0|0)==0?2:-1)+u<<2)>>2]<<2)>>2]|0;f=ha(j,e)|0;if((d|0)<(j|0)&(a|0)<(j|0)&(h|0)<(j|0)){i=ha(d,e)|0;g=ha(a,e)|0;d=ha(h,e)|0;if(o){a=0;do{k[q+(a<<2)>>2]=(k[b+(a+d<<2)>>2]|0)+(k[b+(a+g<<2)>>2]|0)-(k[b+(a+i<<2)>>2]|0);a=a+1|0}while((a|0)!=(e|0))}uj(p,b+(f<<2)|0,q,c,f)}else v=12}else{f=ha(j,e)|0;v=12}if((v|0)==12){v=0;uj(p,b+(f<<2)|0,b+((ha(i+-2|0,e)|0)<<2)|0,c,f)}if((j|0)<=1){t=q;break a}d=k[s>>2]|0;f=k[d>>2]|0;g=k[d+4>>2]|0;i=j}Ap(d)}else t=q;while(0);if((e|0)<=0){uj(p,b,t,c,0);dq(q);return 1}iq(q|0,0,e<<2|0)|0;uj(p,b,t,c,0);dq(q);return 1}function uj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;s=t+40|0;j=t+32|0;i=t+24|0;f=t+16|0;g=t+8|0;m=t;n=k[c>>2]|0;o=a+8|0;h=k[o>>2]<<1;if((n|0)>(h|0))Aa(7725,7760,83,7852);c=k[c+4>>2]|0;if((c|0)>(h|0))Aa(7870,7760,84,7852);l=k[b>>2]|0;if((l|0)>(h|0))Aa(7905,7760,85,7852);b=k[b+4>>2]|0;if((b|0)>(h|0))Aa(7940,7760,86,7852);if((n|0)<=-1)Aa(7975,7760,87,7852);if((c|0)<=-1)Aa(7997,7760,88,7852);if((l|0)<=-1)Aa(8019,7760,89,7852);if((b|0)<=-1)Aa(8041,7760,90,7852);k[f>>2]=l;k[f+4>>2]=b;k[g>>2]=n;k[g+4>>2]=c;vj(i,a,f,g);q=k[i>>2]|0;k[m>>2]=q;p=k[i+4>>2]|0;k[m+4>>2]=p;k[j>>2]=n;k[j+4>>2]=c;wj(s,a,j,m);i=k[o>>2]|0;h=l-i|0;c=b-i|0;g=(k[s>>2]|0)-i|0;b=(k[s+4>>2]|0)-i|0;f=0-h|0;if((((h|0)>-1?h:f)|0)==(i|0))c=(c|0)<0?0-c|0:c;s=0-g|0;a=((b|0)<0?(((g|0)>-1?g:s)|0)==(i|0):0)?0-b|0:b;if((c|0)==(a|0)?((((h|0)<0?(((c|0)>-1?c:0-c|0)|0)==(i|0):0)?f:h)|0)==((((g|0)<0?(((a|0)>-1?a:0-a|0)|0)==(i|0):0)?s:g)|0):0){k[d+(e<<2)>>2]=q;k[d+(e+1<<2)>>2]=p;r=t;return}else Aa(8100,7760,96,7852)}function vj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0.0;n=b+8|0;f=k[n>>2]|0;o=c+4|0;m=(k[o>>2]|0)-f|0;e=c;k[e>>2]=(k[c>>2]|0)-f;k[e+4>>2]=m;e=(k[d>>2]|0)-f|0;m=d+4|0;f=(k[m>>2]|0)-f|0;i=d;k[i>>2]=e;k[i+4>>2]=f;p=+W(+(+(e|0)))+ +W(+(+(f|0)));i=k[n>>2]|0;if(!(p<=+(i|0))){e=k[c>>2]|0;f=k[o>>2]|0;if((e|0)>-1)if((f|0)<=-1)if((e|0)<1){g=-1;h=-1}else l=6;else{g=1;h=1}else if((f|0)<1){g=-1;h=-1}else l=6;if((l|0)==6){g=(e|0)>0?1:-1;h=(f|0)>0?1:-1}j=ha(i,g)|0;i=ha(i,h)|0;e=(e<<1)-j|0;k[c>>2]=e;f=(f<<1)-i|0;k[o>>2]=f;if((ha(g,h)|0)>-1){f=0-f|0;k[c>>2]=f;e=0-e|0}else k[c>>2]=f;k[c>>2]=(f+j|0)/2|0;k[o>>2]=(e+i|0)/2|0;e=k[d>>2]|0;f=k[m>>2]|0;if((e|0)>-1)if((f|0)<=-1)if((e|0)<1){g=-1;h=-1}else l=14;else{g=1;h=1}else if((f|0)<1){g=-1;h=-1}else l=14;if((l|0)==14){g=(e|0)>0?1:-1;h=(f|0)>0?1:-1}j=k[n>>2]|0;i=ha(j,g)|0;j=ha(j,h)|0;e=(e<<1)-i|0;k[d>>2]=e;f=(f<<1)-j|0;k[m>>2]=f;if((ha(g,h)|0)>-1){f=0-f|0;k[d>>2]=f;e=0-e|0}else k[d>>2]=f;i=(f+i|0)/2|0;k[d>>2]=i;f=(e+j|0)/2|0;k[m>>2]=f;e=i;i=k[n>>2]|0}g=a;k[g>>2]=0;k[g+4>>2]=0;e=(k[c>>2]|0)-e|0;k[a>>2]=e;g=(k[o>>2]|0)-f|0;h=a+4|0;k[h>>2]=g;f=i<<1;if((f|0)<(e|0))Aa(8063,7760,160,8087);if((e|0)<0)e=(k[b+4>>2]|0)+e|0;k[a>>2]=e;if((f|0)<(g|0))Aa(8063,7760,160,8087);if((g|0)>=0){b=g;k[h>>2]=b;return}b=(k[b+4>>2]|0)+g|0;k[h>>2]=b;return}function wj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0.0;n=b+8|0;p=k[n>>2]|0;e=(k[c>>2]|0)-p|0;m=c+4|0;g=(k[m>>2]|0)-p|0;f=c;k[f>>2]=e;k[f+4>>2]=g;q=+W(+(+(e|0)))+ +W(+(+(g|0)));f=k[n>>2]|0;if(!(q<=+(f|0))){if((e|0)>-1)if((g|0)<=-1)if((e|0)<1){h=-1;i=-1}else o=6;else{h=1;i=1}else if((g|0)<1){h=-1;i=-1}else o=6;if((o|0)==6){h=(e|0)>0?1:-1;i=(g|0)>0?1:-1}l=ha(f,h)|0;j=ha(f,i)|0;e=(e<<1)-l|0;k[c>>2]=e;f=(g<<1)-j|0;k[m>>2]=f;if((ha(h,i)|0)>-1){f=0-f|0;k[c>>2]=f;e=0-e|0}else k[c>>2]=f;h=(f+l|0)/2|0;k[c>>2]=h;g=(e+j|0)/2|0;k[m>>2]=g;i=0;e=h;h=k[n>>2]|0}else{i=1;h=f}f=a;k[f>>2]=0;k[f+4>>2]=0;f=(k[d>>2]|0)+e|0;k[a>>2]=f;e=(k[d+4>>2]|0)+g|0;m=a+4|0;k[m>>2]=e;if((h|0)>=(f|0)){if((f|0)<(0-h|0))f=(k[b+4>>2]|0)+f|0}else f=f-(k[b+4>>2]|0)|0;k[a>>2]=f;if((h|0)>=(e|0))if((e|0)<(0-h|0))g=(k[b+4>>2]|0)+e|0;else g=e;else g=e-(k[b+4>>2]|0)|0;k[m>>2]=g;if(i){o=g;b=f;b=b+p|0;p=o+p|0;o=a;k[o>>2]=b;a=a+4|0;k[a>>2]=p;return}if((f|0)>-1)if((g|0)<=-1)if((f|0)<1){i=-1;j=-1}else o=24;else{i=1;j=1}else if((g|0)<1){i=-1;j=-1}else o=24;if((o|0)==24){i=(f|0)>0?1:-1;j=(g|0)>0?1:-1}l=ha(h,i)|0;h=ha(h,j)|0;e=(f<<1)-l|0;k[a>>2]=e;f=(g<<1)-h|0;k[m>>2]=f;if((ha(i,j)|0)>-1){f=0-f|0;k[a>>2]=f;e=0-e|0}else k[a>>2]=f;b=(f+l|0)/2|0;k[a>>2]=b;o=(e+h|0)/2|0;k[m>>2]=o;b=b+p|0;p=o+p|0;o=a;k[o>>2]=b;a=a+4|0;k[a>>2]=p;return}function xj(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;q=a+8|0;k[q>>2]=e;r=k[a+24>>2]|0;s=k[a+28>>2]|0;p=e>>>0>1073741823?-1:e<<2;t=cq(p)|0;iq(t|0,0,p|0)|0;yj(q,t,b,c,0);p=a+32|0;a=k[p>>2]|0;f=k[a+4>>2]|0;d=k[a>>2]|0;o=f-d|0;l=o>>2;if((o|0)<=4){dq(t);return 1}m=r+64|0;n=r+28|0;o=(e|0)>0;g=a;a=1;while(1){if(f-d>>2>>>0<=a>>>0){v=6;break}d=k[d+(a<<2)>>2]|0;if(!((d|0)<0?1:(1<<(d&31)&k[(k[r>>2]|0)+(d>>>5<<2)>>2]|0)!=0)?(u=k[(k[(k[m>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(u|0)>-1):0){h=k[n>>2]|0;d=k[s>>2]|0;f=k[d+(k[h+(u<<2)>>2]<<2)>>2]|0;g=u+1|0;g=k[d+(k[h+((((g|0)%3|0|0)==0?u+-2|0:g)<<2)>>2]<<2)>>2]|0;h=k[d+(k[h+((((u|0)%3|0|0)==0?2:-1)+u<<2)>>2]<<2)>>2]|0;d=ha(a,e)|0;if((f|0)<(a|0)&(g|0)<(a|0)&(h|0)<(a|0)){j=ha(f,e)|0;i=ha(g,e)|0;f=ha(h,e)|0;if(o){g=0;do{k[t+(g<<2)>>2]=(k[c+(g+f<<2)>>2]|0)+(k[c+(g+i<<2)>>2]|0)-(k[c+(g+j<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}yj(q,t,b,c+(d<<2)|0,d)}else v=10}else{d=ha(a,e)|0;v=10}if((v|0)==10){v=0;yj(q,c+((ha(a+-1|0,e)|0)<<2)|0,b,c+(d<<2)|0,d)}a=a+1|0;if((a|0)>=(l|0)){v=3;break}g=k[p>>2]|0;d=k[g>>2]|0;f=k[g+4>>2]|0}if((v|0)==3){dq(t);return 1}else if((v|0)==6)Ap(g);return 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,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;l=n+16|0;m=n+8|0;h=n;i=k[b>>2]|0;j=k[a+8>>2]<<1;if((i|0)>(j|0))Aa(8137,7760,105,8172);g=k[b+4>>2]|0;if((g|0)>(j|0))Aa(8193,7760,106,8172);f=k[c+(e<<2)>>2]|0;if((f|0)>(j|0))Aa(8228,7760,107,8172);b=k[c+(e+1<<2)>>2]|0;if((b|0)>(j|0))Aa(8268,7760,108,8172);if((i|0)<=-1)Aa(7975,7760,110,8172);if((g|0)<=-1)Aa(7997,7760,111,8172);if((f|0)<=-1)Aa(8312,7760,112,8172);if((b|0)>-1){k[l>>2]=f;k[l+4>>2]=b;k[h>>2]=i;k[h+4>>2]=g;wj(m,a,h,l);k[d>>2]=k[m>>2];k[d+4>>2]=k[m+4>>2];r=n;return}else Aa(8339,7760,113,8172)}function zj(a){a=a|0;Jp(a);return}function Aj(a){a=a|0;return 2}function Bj(a){a=a|0;if(!(k[a+20>>2]|0)){a=0;return a|0}if(!(k[a+24>>2]|0)){a=0;return a|0}if(!(k[a+28>>2]|0)){a=0;return a|0}a=(k[a+32>>2]|0)!=0;return a|0}function Cj(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;t=a+8|0;k[t>>2]=e;u=k[a+24>>2]|0;v=k[a+28>>2]|0;s=e>>>0>1073741823?-1:e<<2;w=cq(s)|0;iq(w|0,0,s|0)|0;s=a+32|0;a=k[s>>2]|0;d=k[a+4>>2]|0;f=k[a>>2]|0;g=d-f|0;a:do if((g|0)>4){o=(e|0)>0;p=u+64|0;q=u+28|0;r=e<<2;m=g>>2;while(1){n=m+-1|0;if(d-f>>2>>>0<=n>>>0)break;l=k[f+(n<<2)>>2]|0;if(o)iq(w|0,0,r|0)|0;if((l|0)>-1){j=k[u>>2]|0;f=l;a=0;do{do if(((k[j+(f>>>5<<2)>>2]&1<<(f&31)|0)==0?(y=k[(k[(k[p>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(y|0)>-1):0)?(B=k[q>>2]|0,i=k[v>>2]|0,z=k[i+(k[B+(y<<2)>>2]<<2)>>2]|0,A=y+1|0,A=k[i+(k[B+((((A|0)%3|0|0)==0?y+-2|0:A)<<2)>>2]<<2)>>2]|0,B=k[i+(k[B+((((y|0)%3|0|0)==0?2:-1)+y<<2)>>2]<<2)>>2]|0,(z|0)<(n|0)&(A|0)<(n|0)&(B|0)<(n|0)):0){d=ha(z,e)|0;g=ha(A,e)|0;h=ha(B,e)|0;if(o)i=0;else{a=a+1|0;C=20;break}do{D=w+(i<<2)|0;k[D>>2]=(k[b+(i+h<<2)>>2]|0)+(k[b+(i+g<<2)>>2]|0)-(k[b+(i+d<<2)>>2]|0)+(k[D>>2]|0);i=i+1|0}while((i|0)!=(e|0));a=a+1|0;if((f|0)>=0)C=20}else C=20;while(0);do if((C|0)==20){C=0;if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);do if(!(1<<(f&31)&k[j+(f>>>5<<2)>>2])){if((f|0)>=0){f=k[(k[(k[p>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);f=(f|0)==(l|0)?-1073741824:f}while((f|0)>-1);f=ha(n,e)|0;if(!a)C=32;else{if(o){d=0;do{D=w+(d<<2)|0;k[D>>2]=(k[D>>2]|0)/(a|0)|0;d=d+1|0}while((d|0)!=(e|0))}uj(t,b+(f<<2)|0,w,c,f)}}else{f=ha(n,e)|0;C=32}if((C|0)==32){C=0;uj(t,b+(f<<2)|0,b+((ha(m+-2|0,e)|0)<<2)|0,c,f)}if((n|0)<=1){x=w;break a}a=k[s>>2]|0;f=k[a>>2]|0;d=k[a+4>>2]|0;m=n}Ap(a)}else x=w;while(0);if((e|0)<=0){uj(t,b,x,c,0);dq(w);return 1}iq(w|0,0,e<<2|0)|0;uj(t,b,x,c,0);dq(w);return 1}function Dj(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;t=a+8|0;k[t>>2]=e;v=e>>>0>1073741823?-1:e<<2;u=cq(v)|0;iq(u|0,0,v|0)|0;yj(t,u,b,c,0);v=k[a+24>>2]|0;w=a+32|0;h=k[w>>2]|0;f=k[h+4>>2]|0;d=k[h>>2]|0;r=f-d|0;s=r>>2;if((r|0)<=4){dq(u);return 1}n=k[a+28>>2]|0;o=(e|0)>0;p=v+64|0;q=v+28|0;r=e<<2;g=f;a=h;f=1;while(1){if(g-d>>2>>>0<=f>>>0){B=6;break}m=k[d+(f<<2)>>2]|0;if(o)iq(u|0,0,r|0)|0;if((m|0)>-1){l=k[v>>2]|0;d=m;g=0;do{do if(((k[l+(d>>>5<<2)>>2]&1<<(d&31)|0)==0?(x=k[(k[(k[p>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(x|0)>-1):0)?(A=k[q>>2]|0,j=k[n>>2]|0,y=k[j+(k[A+(x<<2)>>2]<<2)>>2]|0,z=x+1|0,z=k[j+(k[A+((((z|0)%3|0|0)==0?x+-2|0:z)<<2)>>2]<<2)>>2]|0,A=k[j+(k[A+((((x|0)%3|0|0)==0?2:-1)+x<<2)>>2]<<2)>>2]|0,(y|0)<(f|0)&(z|0)<(f|0)&(A|0)<(f|0)):0){a=ha(y,e)|0;h=ha(z,e)|0;i=ha(A,e)|0;if(o)j=0;else{g=g+1|0;B=18;break}do{C=u+(j<<2)|0;k[C>>2]=(k[c+(j+i<<2)>>2]|0)+(k[c+(j+h<<2)>>2]|0)-(k[c+(j+a<<2)>>2]|0)+(k[C>>2]|0);j=j+1|0}while((j|0)!=(e|0));g=g+1|0;if((d|0)>=0)B=18}else B=18;while(0);do if((B|0)==18){B=0;if(!((d|0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);do if(!(1<<(d&31)&k[l+(d>>>5<<2)>>2])){if((d|0)>=0){d=k[(k[(k[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);d=(d|0)==(m|0)?-1073741824:d}while((d|0)>-1);d=ha(f,e)|0;if(!g)B=30;else{if(o){a=0;do{C=u+(a<<2)|0;k[C>>2]=(k[C>>2]|0)/(g|0)|0;a=a+1|0}while((a|0)!=(e|0))}yj(t,u,b,c+(d<<2)|0,d)}}else{d=ha(f,e)|0;B=30}if((B|0)==30){B=0;yj(t,c+((ha(f+-1|0,e)|0)<<2)|0,b,c+(d<<2)|0,d)}f=f+1|0;if((f|0)>=(s|0)){B=3;break}a=k[w>>2]|0;d=k[a>>2]|0;g=k[a+4>>2]|0}if((B|0)==3){dq(u);return 1}else if((B|0)==6)Ap(a);return 0}function Ej(a){a=a|0;var b=0;k[a>>2]=3920;b=k[a+52>>2]|0;if(b|0)Jp(b);a=a+44|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;dq(b);return}function Fj(a){a=a|0;var b=0,c=0;k[a>>2]=3920;b=k[a+52>>2]|0;if(b|0)Jp(b);c=a+44|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){Jp(a);return}dq(b);Jp(a);return}function Gj(a){a=a|0;return 3}function Hj(a){a=a|0;if(!(k[a+36>>2]|0))return 0;if(!(k[a+20>>2]|0))return 0;if(!(k[a+24>>2]|0))return 0;if(!(k[a+28>>2]|0))return 0;else return (k[a+32>>2]|0)!=0|0;return 0}function Ij(a){a=a|0;return 1}function Jj(a,b){a=a|0;b=b|0;if(!b)return 0;else Aa(8689,8700,75,8780);return 0}function Kj(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){a=0;return a|0}if((i[b+24>>0]|0)!=3){a=0;return a|0}k[a+36>>2]=b;a=1;return a|0}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,m=0,n=0;n=r;r=r+48|0;j=n+40|0;l=n+36|0;c=n+32|0;m=n;d=a+56|0;k[c>>2]=k[d>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0)){k[l>>2]=k[b+4>>2];k[j>>2]=k[l>>2];fd(b,j,c,c+4|0)|0}kd(m);od(m);c=k[a+52>>2]|0;g=k[d>>2]|0;f=g>>>5;h=c+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){f=c;c=1;while(1){if(d){e=0;d=c;while(1){c=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){ld(m);r=n;return 1}d=b+4|0;k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];fd(b,j,c,c+4|0)|0;h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){ld(m);r=n;return 1}k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];fd(b,j,c,c+4|0)|0;ld(m);r=n;return 1}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,m=0,n=0,o=0,p=0;p=r;r=r+16|0;o=p;j=b+8|0;g=j;h=k[g>>2]|0;g=k[g+4>>2]|0;n=b+16|0;d=n;c=k[d>>2]|0;d=kq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){o=0;r=p;return o|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=n;k[g>>2]=d;k[g+4>>2]=e;d=a+52|0;ii(d,h,0);rd(o);if(td(o,b)|0){if((h|0)>0){f=0;g=1;do{g=g^((ud(o)|0)^1);e=(k[d>>2]|0)+(f>>>5<<2)|0;c=1<<(f&31);if(g)c=k[e>>2]|c;else c=k[e>>2]&~c;k[e>>2]=c;f=f+1|0}while((f|0)<(h|0))}e=j;g=k[e>>2]|0;e=k[e+4>>2]|0;h=n;c=k[h>>2]|0;h=kq(c|0,k[h+4>>2]|0,4,0)|0;f=L;if(!((e|0)<(f|0)|(e|0)==(f|0)&g>>>0>>0)?(g=a+12|0,e=(k[b>>2]|0)+c|0,e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24,i[g>>0]=e,i[g+1>>0]=e>>8,i[g+2>>0]=e>>16,i[g+3>>0]=e>>24,g=n,e=k[g>>2]|0,g=k[g+4>>2]|0,m=kq(e|0,g|0,4,0)|0,f=n,k[f>>2]=m,k[f+4>>2]=L,f=j,h=k[f>>2]|0,f=k[f+4>>2]|0,j=kq(e|0,g|0,8,0)|0,g=L,!((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0)):0){a=a+16|0;c=(k[b>>2]|0)+m|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[a>>0]=c;i[a+1>>0]=c>>8;i[a+2>>0]=c>>16;i[a+3>>0]=c>>24;a=n;a=kq(k[a>>2]|0,k[a+4>>2]|0,4,0)|0;c=n;k[c>>2]=a;k[c+4>>2]=L;c=1}else c=0}else c=0;sd(o);o=c;r=p;return o|0}function Nj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;n=p+4|0;o=p;k[a+48>>2]=e;k[a+40>>2]=f;m=a+44|0;l=cq(e>>>0>1073741823?-1:e<<2)|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)dq(d);l=a+8|0;k[l>>2]=e;j=a+32|0;g=k[j>>2]|0;f=k[g+4>>2]|0;d=k[g>>2]|0;h=f-d|0;if((h|0)<=0){r=p;return 1}i=f;f=(h>>2)+-1|0;while(1){if(i-d>>2>>>0<=f>>>0){d=8;break}k[o>>2]=k[d+(f<<2)>>2];k[n>>2]=k[o>>2];Oj(a,n,b,f);i=ha(f,e)|0;uj(l,b+(i<<2)|0,k[m>>2]|0,c,i);f=f+-1|0;if((f|0)<=-1){d=5;break}g=k[j>>2]|0;d=k[g>>2]|0;i=k[g+4>>2]|0}if((d|0)==5){r=p;return 1}else if((d|0)==8)Ap(g);return 0}function Oj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;i=a+24|0;e=k[b>>2]|0;do if((e|0)>=0){b=e+1|0;b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e|0)%3|0)){g=e+2|0;break}else{g=e+-1|0;break}}else{g=e;b=e}while(0);e=k[(k[i>>2]|0)+28>>2]|0;b=k[e+(b<<2)>>2]|0;e=k[e+(g<<2)>>2]|0;g=k[a+28>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)Ap(g);n=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=e>>>0)Ap(g);e=k[j+(e<<2)>>2]|0;b=(n|0)<(d|0);if(!(b&(e|0)<(d|0))){do if(b){i=a+48|0;g=k[i>>2]|0;b=g;g=ha(g,n)|0}else{if((d|0)>0){i=a+48|0;g=k[i>>2]|0;b=g;g=ha(g,d+-1|0)|0;break}g=a+48|0;if((k[g>>2]|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+g<<2)>>2];e=e+1|0}while((e|0)<(k[i>>2]|0));r=t;return}b=a+48|0;j=k[b>>2]|0;i=ha(j,n)|0;f=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);j=ha(j,e)|0;l=+(k[c+(j<<2)>>2]|0);m=+(k[c+(j+1<<2)>>2]|0);if(!(l!=f|m!=h)){a=k[a+44>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~m;r=t;return}Pj(s,a,d);Pj(p,a,n);Pj(q,a,e);B=+o[p>>2];x=+o[q>>2]-B;A=+o[p+4>>2];w=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=x*x+0.0+w*w+y*y;u=(x*B+0.0+w*A+y*z)/v;x=B-x*u;w=A-w*u;y=z-y*u;v=+X(+((y*y+(w*w+(x*x+0.0)))/v));x=l-f;w=m-h;l=f+x*u;m=x*v;u=h+w*u;v=w*v;h=l-v;f=m+u;l=v+l;m=u-m;i=ha(k[b>>2]|0,d)|0;u=+(k[c+(i<<2)>>2]|0);v=+(k[c+(i+1<<2)>>2]|0);w=u-h;x=v-f;u=u-l;v=v-m;i=a+52|0;j=a+56|0;b=k[j>>2]|0;e=k[a+60>>2]|0;g=(b|0)==(e<<5|0);if(x*x+(w*w+0.0)>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Dd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31)}else{if(g){if((b+1|0)<0)zp(i);if(e<<5>>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Dd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(b&31));h=l;f=m}c=~~+V(+(h+.5));a=k[a+44>>2]|0;k[a>>2]=c;c=~~+V(+(f+.5));k[a+4>>2]=c;r=t;return}function Pj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+40>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+36>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];Cc(b,d,a)|0;r=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];Jc(b,d,a)|0;r=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];Qc(b,d,a)|0;r=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];Xc(b,d,a)|0;r=j;return}default:{r=j;return}}}function Qj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;n=p+4|0;o=p;k[a+48>>2]=e;k[a+40>>2]=f;m=a+44|0;l=cq(e>>>0>1073741823?-1:e<<2)|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)dq(d);i=a+8|0;k[i>>2]=e;j=a+32|0;g=k[j>>2]|0;f=k[g+4>>2]|0;d=k[g>>2]|0;h=f-d|0;l=h>>2;if((h|0)<=0){r=p;return 1}h=g;g=0;while(1){if(f-d>>2>>>0<=g>>>0){d=8;break}k[o>>2]=k[d+(g<<2)>>2];k[n>>2]=k[o>>2];Rj(a,n,c,g);h=ha(g,e)|0;yj(i,k[m>>2]|0,b,c+(h<<2)|0,h);g=g+1|0;if((g|0)>=(l|0)){d=5;break}h=k[j>>2]|0;d=k[h>>2]|0;f=k[h+4>>2]|0}if((d|0)==5){r=p;return 1}else if((d|0)==8)Ap(h);return 0}function Rj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0.0,i=0,j=0.0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;g=a+24|0;e=k[b>>2]|0;do if((e|0)>=0){b=e+1|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);e=k[(k[g>>2]|0)+28>>2]|0;b=k[e+(b<<2)>>2]|0;e=k[e+(f<<2)>>2]|0;f=k[a+28>>2]|0;g=k[f+4>>2]|0;i=k[f>>2]|0;if(g-i>>2>>>0<=b>>>0)Ap(f);n=k[i+(b<<2)>>2]|0;if(g-i>>2>>>0<=e>>>0)Ap(f);e=k[i+(e<<2)>>2]|0;b=(n|0)<(d|0);if(b&(e|0)<(d|0)){i=k[a+48>>2]|0;g=ha(i,n)|0;j=+(k[c+(g<<2)>>2]|0);l=+(k[c+(g+1<<2)>>2]|0);i=ha(i,e)|0;m=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);if(m!=j|h!=l){Pj(s,a,d);Pj(p,a,n);Pj(q,a,e);B=+o[p>>2];w=+o[q>>2]-B;A=+o[p+4>>2];x=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=w*w+0.0+x*x+y*y;u=(w*B+0.0+x*A+y*z)/v;w=B-w*u;x=A-x*u;y=z-y*u;v=+X(+((y*y+(x*x+(w*w+0.0)))/v));w=m-j;h=h-l;m=w*v;v=h*v;d=a+56|0;s=(k[d>>2]|0)+-1|0;c=(1<<(s&31)&k[(k[a+52>>2]|0)+(s>>>5<<2)>>2]|0)==0;k[d>>2]=s;d=~~+V(+(j+w*u+(c?v:-v)+.5));a=k[a+44>>2]|0;k[a>>2]=d;c=~~+V(+(l+h*u+(c?-m:m)+.5));k[a+4>>2]=c;r=t;return}else{a=k[a+44>>2]|0;k[a>>2]=~~m;k[a+4>>2]=~~h;r=t;return}}do if(b){g=a+48|0;f=k[g>>2]|0;b=f;f=ha(f,n)|0}else{if((d|0)>0){g=a+48|0;f=k[g>>2]|0;b=f;f=ha(f,d+-1|0)|0;break}f=a+48|0;if((k[f>>2]|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[f>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+f<<2)>>2];e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}function Sj(a){a=a|0;Jp(a);return}function Tj(a){a=a|0;return 1}function Uj(a){a=a|0;if(!(k[a+20>>2]|0)){a=0;return a|0}if(!(k[a+24>>2]|0)){a=0;return a|0}if(!(k[a+28>>2]|0)){a=0;return a|0}a=(k[a+32>>2]|0)!=0;return a|0}function Vj(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;p=a+8|0;k[p>>2]=e;r=e>>>0>1073741823?-1:e<<2;q=cq(r)|0;iq(q|0,0,r|0)|0;r=k[a+24>>2]|0;s=a+32|0;d=k[s>>2]|0;g=k[d+4>>2]|0;f=k[d>>2]|0;h=g-f|0;a:do if((h|0)>4){m=k[a+28>>2]|0;n=r+12|0;o=(e|0)>0;j=h>>2;while(1){l=j+-1|0;if(g-f>>2>>>0<=l>>>0)break;f=k[f+(l<<2)>>2]|0;if((f|0)>=0?(u=k[(k[n>>2]|0)+(f<<2)>>2]|0,(u|0)>-1):0){a=k[r>>2]|0;d=(u|0)%3|0;g=k[m>>2]|0;h=k[g+(k[a+(((u|0)/3|0)*12|0)+(d<<2)>>2]<<2)>>2]|0;f=u+1|0;f=((f|0)%3|0|0)==0?u+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[a+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;i=k[g+(f<<2)>>2]|0;f=((d|0)==0?2:-1)+u|0;if((f|0)<0)f=-1073741824;else f=k[a+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;d=k[g+(f<<2)>>2]|0;f=ha(l,e)|0;if((h|0)<(l|0)&(i|0)<(l|0)&(d|0)<(l|0)){h=ha(h,e)|0;g=ha(i,e)|0;d=ha(d,e)|0;if(o){a=0;do{k[q+(a<<2)>>2]=(k[b+(a+d<<2)>>2]|0)+(k[b+(a+g<<2)>>2]|0)-(k[b+(a+h<<2)>>2]|0);a=a+1|0}while((a|0)!=(e|0))}uj(p,b+(f<<2)|0,q,c,f)}else v=16}else{f=ha(l,e)|0;v=16}if((v|0)==16){v=0;uj(p,b+(f<<2)|0,b+((ha(j+-2|0,e)|0)<<2)|0,c,f)}if((l|0)<=1){t=q;break a}d=k[s>>2]|0;f=k[d>>2]|0;g=k[d+4>>2]|0;j=l}Ap(d)}else t=q;while(0);if((e|0)<=0){uj(p,b,t,c,0);dq(q);return 1}iq(q|0,0,e<<2|0)|0;uj(p,b,t,c,0);dq(q);return 1}function Wj(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;p=a+8|0;k[p>>2]=e;q=k[a+24>>2]|0;r=k[a+28>>2]|0;o=e>>>0>1073741823?-1:e<<2;s=cq(o)|0;iq(s|0,0,o|0)|0;yj(p,s,b,c,0);o=a+32|0;a=k[o>>2]|0;f=k[a+4>>2]|0;d=k[a>>2]|0;n=f-d|0;l=n>>2;if((n|0)<=4){dq(s);return 1}m=q+12|0;n=(e|0)>0;g=a;a=1;while(1){if(f-d>>2>>>0<=a>>>0){u=6;break}d=k[d+(a<<2)>>2]|0;if((d|0)>=0?(t=k[(k[m>>2]|0)+(d<<2)>>2]|0,(t|0)>-1):0){g=k[q>>2]|0;f=(t|0)%3|0;h=k[r>>2]|0;i=k[h+(k[g+(((t|0)/3|0)*12|0)+(f<<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=k[g+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;j=k[h+(d<<2)>>2]|0;d=((f|0)==0?2:-1)+t|0;if((d|0)<0)d=-1073741824;else d=k[g+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;f=k[h+(d<<2)>>2]|0;d=ha(a,e)|0;if((i|0)<(a|0)&(j|0)<(a|0)&(f|0)<(a|0)){i=ha(i,e)|0;h=ha(j,e)|0;f=ha(f,e)|0;if(n){g=0;do{k[s+(g<<2)>>2]=(k[c+(g+f<<2)>>2]|0)+(k[c+(g+h<<2)>>2]|0)-(k[c+(g+i<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}yj(p,s,b,c+(d<<2)|0,d)}else u=14}else{d=ha(a,e)|0;u=14}if((u|0)==14){u=0;yj(p,c+((ha(a+-1|0,e)|0)<<2)|0,b,c+(d<<2)|0,d)}a=a+1|0;if((a|0)>=(l|0)){u=3;break}g=k[o>>2]|0;d=k[g>>2]|0;f=k[g+4>>2]|0}if((u|0)==3){dq(s);return 1}else if((u|0)==6)Ap(g);return 0}function Xj(a){a=a|0;Jp(a);return}function Yj(a){a=a|0;return 2}function Zj(a){a=a|0;if(!(k[a+20>>2]|0)){a=0;return a|0}if(!(k[a+24>>2]|0)){a=0;return a|0}if(!(k[a+28>>2]|0)){a=0;return a|0}a=(k[a+32>>2]|0)!=0;return a|0}function _j(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;v=a+8|0;k[v>>2]=e;w=k[a+24>>2]|0;x=k[a+28>>2]|0;u=e>>>0>1073741823?-1:e<<2;y=cq(u)|0;iq(y|0,0,u|0)|0;u=a+32|0;a=k[u>>2]|0;d=k[a+4>>2]|0;f=k[a>>2]|0;g=d-f|0;a:do if((g|0)>4){r=(e|0)>0;s=w+12|0;t=e<<2;p=g>>2;while(1){q=p+-1|0;if(d-f>>2>>>0<=q>>>0)break;o=k[f+(q<<2)>>2]|0;if(r)iq(y|0,0,t|0)|0;if((o|0)>-1){n=k[s>>2]|0;m=o;a=0;do{d=k[n+(m<<2)>>2]|0;if((d|0)>-1){h=k[w>>2]|0;g=(d|0)%3|0;i=k[x>>2]|0;l=k[i+(k[h+(((d|0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;f=d+1|0;f=((f|0)%3|0|0)==0?d+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;j=k[i+(f<<2)>>2]|0;f=((g|0)==0?2:-1)+d|0;if((f|0)<0)f=-1073741824;else f=k[h+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;if((l|0)<(q|0)&(j|0)<(q|0)&(f|0)<(q|0)){h=ha(l,e)|0;g=ha(j,e)|0;f=ha(f,e)|0;if(r){d=0;do{l=y+(d<<2)|0;k[l>>2]=(k[b+(d+f<<2)>>2]|0)+(k[b+(d+g<<2)>>2]|0)-(k[b+(d+h<<2)>>2]|0)+(k[l>>2]|0);d=d+1|0}while((d|0)!=(e|0))}a=a+1|0}}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=ha(q,e)|0;if(!a)A=30;else{if(r){d=0;do{p=y+(d<<2)|0;k[p>>2]=(k[p>>2]|0)/(a|0)|0;d=d+1|0}while((d|0)!=(e|0))}uj(v,b+(f<<2)|0,y,c,f)}}else{f=ha(q,e)|0;A=30}if((A|0)==30){A=0;uj(v,b+(f<<2)|0,b+((ha(p+-2|0,e)|0)<<2)|0,c,f)}if((q|0)<=1){z=y;break a}a=k[u>>2]|0;f=k[a>>2]|0;d=k[a+4>>2]|0;p=q}Ap(a)}else z=y;while(0);if((e|0)<=0){uj(v,b,z,c,0);dq(y);return 1}iq(y|0,0,e<<2|0)|0;uj(v,b,z,c,0);dq(y);return 1}function $j(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;v=a+8|0;k[v>>2]=e;x=e>>>0>1073741823?-1:e<<2;w=cq(x)|0;iq(w|0,0,x|0)|0;yj(v,w,b,c,0);x=k[a+24>>2]|0;y=a+32|0;g=k[y>>2]|0;f=k[g+4>>2]|0;d=k[g>>2]|0;t=f-d|0;u=t>>2;if((t|0)<=4){dq(w);return 1}q=k[a+28>>2]|0;r=(e|0)>0;s=x+12|0;t=e<<2;h=d;a=g;p=1;while(1){if(f-h>>2>>>0<=p>>>0){z=6;break}o=k[h+(p<<2)>>2]|0;if(r)iq(w|0,0,t|0)|0;if((o|0)>-1){n=k[s>>2]|0;m=o;a=0;do{f=k[n+(m<<2)>>2]|0;if((f|0)>-1){h=k[x>>2]|0;g=(f|0)%3|0;i=k[q>>2]|0;l=k[i+(k[h+(((f|0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;d=f+1|0;d=((d|0)%3|0|0)==0?f+-2|0:d;if((d|0)<0)d=-1073741824;else d=k[h+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;j=k[i+(d<<2)>>2]|0;d=((g|0)==0?2:-1)+f|0;if((d|0)<0)d=-1073741824;else d=k[h+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;d=k[i+(d<<2)>>2]|0;if((l|0)<(p|0)&(j|0)<(p|0)&(d|0)<(p|0)){h=ha(l,e)|0;g=ha(j,e)|0;d=ha(d,e)|0;if(r){f=0;do{l=w+(f<<2)|0;k[l>>2]=(k[c+(f+d<<2)>>2]|0)+(k[c+(f+g<<2)>>2]|0)-(k[c+(f+h<<2)>>2]|0)+(k[l>>2]|0);f=f+1|0}while((f|0)!=(e|0))}a=a+1|0}}d=(((m|0)%3|0|0)==0?2:-1)+m|0;do if((d|0)>=0){d=k[n+(d<<2)>>2]|0;if((d|0)>=0)if(!((d|0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);m=(d|0)==(o|0)?-1073741824:d}while((m|0)>-1);d=ha(p,e)|0;if(!a)z=28;else{if(r){f=0;do{o=w+(f<<2)|0;k[o>>2]=(k[o>>2]|0)/(a|0)|0;f=f+1|0}while((f|0)!=(e|0))}yj(v,w,b,c+(d<<2)|0,d)}}else{d=ha(p,e)|0;z=28}if((z|0)==28){z=0;yj(v,c+((ha(p+-1|0,e)|0)<<2)|0,b,c+(d<<2)|0,d)}d=p+1|0;if((d|0)>=(u|0)){z=3;break}a=k[y>>2]|0;h=k[a>>2]|0;f=k[a+4>>2]|0;p=d}if((z|0)==3){dq(w);return 1}else if((z|0)==6)Ap(a);return 0}function ak(a){a=a|0;var b=0;k[a>>2]=4112;b=k[a+52>>2]|0;if(b|0)Jp(b);a=a+44|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;dq(b);return}function bk(a){a=a|0;var b=0,c=0;k[a>>2]=4112;b=k[a+52>>2]|0;if(b|0)Jp(b);c=a+44|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){Jp(a);return}dq(b);Jp(a);return}function ck(a){a=a|0;return 3}function dk(a){a=a|0;if(!(k[a+36>>2]|0))return 0;if(!(k[a+20>>2]|0))return 0;if(!(k[a+24>>2]|0))return 0;if(!(k[a+28>>2]|0))return 0;else return (k[a+32>>2]|0)!=0|0;return 0}function ek(a){a=a|0;return 1}function fk(a,b){a=a|0;b=b|0;if(!b)return 0;else Aa(8689,8700,75,8780);return 0}function gk(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){a=0;return a|0}if((i[b+24>>0]|0)!=3){a=0;return a|0}k[a+36>>2]=b;a=1;return a|0}function hk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n+40|0;l=n+36|0;c=n+32|0;m=n;d=a+56|0;k[c>>2]=k[d>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0)){k[l>>2]=k[b+4>>2];k[j>>2]=k[l>>2];fd(b,j,c,c+4|0)|0}kd(m);od(m);c=k[a+52>>2]|0;g=k[d>>2]|0;f=g>>>5;h=c+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){f=c;c=1;while(1){if(d){e=0;d=c;while(1){c=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){ld(m);r=n;return 1}d=b+4|0;k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];fd(b,j,c,c+4|0)|0;h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){ld(m);r=n;return 1}k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];fd(b,j,c,c+4|0)|0;ld(m);r=n;return 1}function ik(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;o=p;j=b+8|0;g=j;h=k[g>>2]|0;g=k[g+4>>2]|0;n=b+16|0;d=n;c=k[d>>2]|0;d=kq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){o=0;r=p;return o|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=n;k[g>>2]=d;k[g+4>>2]=e;d=a+52|0;ii(d,h,0);rd(o);if(td(o,b)|0){if((h|0)>0){f=0;g=1;do{g=g^((ud(o)|0)^1);e=(k[d>>2]|0)+(f>>>5<<2)|0;c=1<<(f&31);if(g)c=k[e>>2]|c;else c=k[e>>2]&~c;k[e>>2]=c;f=f+1|0}while((f|0)<(h|0))}e=j;g=k[e>>2]|0;e=k[e+4>>2]|0;h=n;c=k[h>>2]|0;h=kq(c|0,k[h+4>>2]|0,4,0)|0;f=L;if(!((e|0)<(f|0)|(e|0)==(f|0)&g>>>0>>0)?(g=a+12|0,e=(k[b>>2]|0)+c|0,e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24,i[g>>0]=e,i[g+1>>0]=e>>8,i[g+2>>0]=e>>16,i[g+3>>0]=e>>24,g=n,e=k[g>>2]|0,g=k[g+4>>2]|0,m=kq(e|0,g|0,4,0)|0,f=n,k[f>>2]=m,k[f+4>>2]=L,f=j,h=k[f>>2]|0,f=k[f+4>>2]|0,j=kq(e|0,g|0,8,0)|0,g=L,!((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0)):0){a=a+16|0;c=(k[b>>2]|0)+m|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[a>>0]=c;i[a+1>>0]=c>>8;i[a+2>>0]=c>>16;i[a+3>>0]=c>>24;a=n;a=kq(k[a>>2]|0,k[a+4>>2]|0,4,0)|0;c=n;k[c>>2]=a;k[c+4>>2]=L;c=1}else c=0}else c=0;sd(o);o=c;r=p;return o|0}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,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;n=p+4|0;o=p;k[a+48>>2]=e;k[a+40>>2]=f;m=a+44|0;l=cq(e>>>0>1073741823?-1:e<<2)|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)dq(d);l=a+8|0;k[l>>2]=e;j=a+32|0;g=k[j>>2]|0;f=k[g+4>>2]|0;d=k[g>>2]|0;h=f-d|0;if((h|0)<=0){r=p;return 1}i=f;f=(h>>2)+-1|0;while(1){if(i-d>>2>>>0<=f>>>0){d=8;break}k[o>>2]=k[d+(f<<2)>>2];k[n>>2]=k[o>>2];kk(a,n,b,f);i=ha(f,e)|0;uj(l,b+(i<<2)|0,k[m>>2]|0,c,i);f=f+-1|0;if((f|0)<=-1){d=5;break}g=k[j>>2]|0;d=k[g>>2]|0;i=k[g+4>>2]|0}if((d|0)==5){r=p;return 1}else if((d|0)==8)Ap(g);return 0}function kk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;i=a+24|0;b=k[b>>2]|0;if((b|0)>=0){e=b+1|0;e=((e|0)%3|0|0)==0?b+-2|0:e;g=b+(((b|0)%3|0|0)==0?2:-1)|0;if((e|0)<0)b=-1073741824;else b=k[(k[k[i>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((g|0)<0)e=-1073741824;else e=k[(k[k[i>>2]>>2]|0)+(((g|0)/3|0)*12|0)+(((g|0)%3|0)<<2)>>2]|0}else{b=-1073741824;e=-1073741824}g=k[a+28>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)Ap(g);n=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=e>>>0)Ap(g);e=k[j+(e<<2)>>2]|0;b=(n|0)<(d|0);if(!(b&(e|0)<(d|0))){do if(b){i=a+48|0;g=k[i>>2]|0;b=g;g=ha(g,n)|0}else{if((d|0)>0){i=a+48|0;g=k[i>>2]|0;b=g;g=ha(g,d+-1|0)|0;break}g=a+48|0;if((k[g>>2]|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+g<<2)>>2];e=e+1|0}while((e|0)<(k[i>>2]|0));r=t;return}b=a+48|0;j=k[b>>2]|0;i=ha(j,n)|0;f=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);j=ha(j,e)|0;l=+(k[c+(j<<2)>>2]|0);m=+(k[c+(j+1<<2)>>2]|0);if(!(l!=f|m!=h)){a=k[a+44>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~m;r=t;return}lk(s,a,d);lk(p,a,n);lk(q,a,e);B=+o[p>>2];x=+o[q>>2]-B;A=+o[p+4>>2];w=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=x*x+0.0+w*w+y*y;u=(x*B+0.0+w*A+y*z)/v;x=B-x*u;w=A-w*u;y=z-y*u;v=+X(+((y*y+(w*w+(x*x+0.0)))/v));x=l-f;w=m-h;l=f+x*u;m=x*v;u=h+w*u;v=w*v;h=l-v;f=m+u;l=v+l;m=u-m;i=ha(k[b>>2]|0,d)|0;u=+(k[c+(i<<2)>>2]|0);v=+(k[c+(i+1<<2)>>2]|0);w=u-h;x=v-f;u=u-l;v=v-m;i=a+52|0;j=a+56|0;b=k[j>>2]|0;e=k[a+60>>2]|0;g=(b|0)==(e<<5|0);if(x*x+(w*w+0.0)>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Dd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31)}else{if(g){if((b+1|0)<0)zp(i);if(e<<5>>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Dd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(b&31));h=l;f=m}c=~~+V(+(h+.5));a=k[a+44>>2]|0;k[a>>2]=c;c=~~+V(+(f+.5));k[a+4>>2]=c;r=t;return}function lk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+40>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+36>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];Cc(b,d,a)|0;r=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];Jc(b,d,a)|0;r=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];Qc(b,d,a)|0;r=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];Xc(b,d,a)|0;r=j;return}default:{r=j;return}}}function mk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;n=p+4|0;o=p;k[a+48>>2]=e;k[a+40>>2]=f;m=a+44|0;l=cq(e>>>0>1073741823?-1:e<<2)|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)dq(d);i=a+8|0;k[i>>2]=e;j=a+32|0;g=k[j>>2]|0;f=k[g+4>>2]|0;d=k[g>>2]|0;h=f-d|0;l=h>>2;if((h|0)<=0){r=p;return 1}h=g;g=0;while(1){if(f-d>>2>>>0<=g>>>0){d=8;break}k[o>>2]=k[d+(g<<2)>>2];k[n>>2]=k[o>>2];nk(a,n,c,g);h=ha(g,e)|0;yj(i,k[m>>2]|0,b,c+(h<<2)|0,h);g=g+1|0;if((g|0)>=(l|0)){d=5;break}h=k[j>>2]|0;d=k[h>>2]|0;f=k[h+4>>2]|0}if((d|0)==5){r=p;return 1}else if((d|0)==8)Ap(h);return 0}function nk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0.0,i=0.0,j=0.0,l=0.0,m=0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;f=a+24|0;b=k[b>>2]|0;if((b|0)>=0){e=b+1|0;e=((e|0)%3|0|0)==0?b+-2|0:e;b=b+(((b|0)%3|0|0)==0?2:-1)|0;if((e|0)<0)e=-1073741824;else e=k[(k[k[f>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((b|0)<0)m=-1073741824;else m=k[(k[k[f>>2]>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0}else{m=-1073741824;e=-1073741824}b=k[a+28>>2]|0;f=k[b+4>>2]|0;g=k[b>>2]|0;if(f-g>>2>>>0<=e>>>0)Ap(b);n=k[g+(e<<2)>>2]|0;if(f-g>>2>>>0<=m>>>0)Ap(b);e=k[g+(m<<2)>>2]|0;b=(n|0)<(d|0);if(b&(e|0)<(d|0)){m=k[a+48>>2]|0;g=ha(m,n)|0;i=+(k[c+(g<<2)>>2]|0);j=+(k[c+(g+1<<2)>>2]|0);m=ha(m,e)|0;l=+(k[c+(m<<2)>>2]|0);h=+(k[c+(m+1<<2)>>2]|0);if(l!=i|h!=j){lk(s,a,d);lk(p,a,n);lk(q,a,e);B=+o[p>>2];w=+o[q>>2]-B;A=+o[p+4>>2];x=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=w*w+0.0+x*x+y*y;u=(w*B+0.0+x*A+y*z)/v;w=B-w*u;x=A-x*u;y=z-y*u;v=+X(+((y*y+(x*x+(w*w+0.0)))/v));w=l-i;h=h-j;l=w*v;v=h*v;d=a+56|0;s=(k[d>>2]|0)+-1|0;c=(1<<(s&31)&k[(k[a+52>>2]|0)+(s>>>5<<2)>>2]|0)==0;k[d>>2]=s;d=~~+V(+(i+w*u+(c?v:-v)+.5));a=k[a+44>>2]|0;k[a>>2]=d;c=~~+V(+(j+h*u+(c?-l:l)+.5));k[a+4>>2]=c;r=t;return}else{a=k[a+44>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~h;r=t;return}}do if(b){g=a+48|0;f=k[g>>2]|0;b=f;f=ha(f,n)|0}else{if((d|0)>0){g=a+48|0;f=k[g>>2]|0;b=f;f=ha(f,d+-1|0)|0;break}f=a+48|0;if((k[f>>2]|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[f>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+f<<2)>>2];e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}function ok(a){a=a|0;Jp(a);return}function pk(a){a=a|0;return 0}function qk(a){a=a|0;return 1}function rk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=a+8|0;k[g>>2]=e;f=d-e|0;if((f|0)>0){a=0-e|0;do{d=b+(f<<2)|0;uj(g,d,d+(a<<2)|0,c,f);f=f-e|0}while((f|0)>0)}d=e>>>0>1073741823?-1:e<<2;e=cq(d)|0;iq(e|0,0,d|0)|0;uj(g,b,e,c,0);dq(e);return 1}function sk(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;f=a+8|0;k[f>>2]=e;h=e>>>0>1073741823?-1:e<<2;a=cq(h)|0;iq(a|0,0,h|0)|0;yj(f,a,b,c,0);if((e|0)>=(d|0)){dq(a);return 1}g=0-e|0;h=e;do{i=c+(h<<2)|0;yj(f,i+(g<<2)|0,b,i,h);h=h+e|0}while((h|0)<(d|0));dq(a);return 1}function tk(a){a=a|0;return 2}function uk(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;n=p;l=a+8|0;m=i[(k[l>>2]|0)+24>>0]<<2;if(!b){r=p;return 1}o=a+16|0;j=a+20|0;c=+((1<>2])+-1|0)+-1.0;f=0;g=0;h=0;while(1){a=h|1;d=k[j>>2]|0;e=k[o>>2]|0;if(d-e>>2>>>0<=h>>>0){a=6;break}if(d-e>>2>>>0<=a>>>0){a=8;break}vk(+(k[e+(h<<2)>>2]|0)/c,+(k[e+(a<<2)>>2]|0)/c,n);mq((k[k[(k[l>>2]|0)+64>>2]>>2]|0)+g|0,n|0,m|0)|0;f=f+1|0;if((f|0)==(b|0)){a=3;break}else{g=g+m|0;h=h+2|0}}if((a|0)==3){r=p;return 1}else if((a|0)==6)Ap(o);else if((a|0)==8)Ap(o);return 0}function vk(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,h=0.0,i=0;e=a+b;d=a-b;if(!(d<=.5)|(!(d>=-.5)|(!(e>=.5)|!(e<=1.5)))){do if(!(e<=.5)){if(e>=1.5){e=1.5-b;b=1.5-a;break}if(!(d<=-.5)){e=b+.5;b=a+-.5;break}else{e=b+-.5;b=a+.5;break}}else{e=.5-b;b=.5-a}while(0);a=e;d=e-b;e=b+e;f=-1.0}else f=1.0;g=a*2.0+-1.0;b=b*2.0+-1.0;h=e*2.0;e=h+-1.0;h=3.0-h;d=d*2.0;a=d+1.0;d=1.0-d;a=d>2]=0.0;h=0.0;g=0.0;i=c+4|0;o[i>>2]=g;c=c+8|0;o[c>>2]=h;return}else{f=1.0/+X(+a);o[c>>2]=d*f;h=b*f;g=g*f;i=c+4|0;o[i>>2]=g;i=c+8|0;o[i>>2]=h;return}}function wk(a){a=a|0;Ui(a);k[a>>2]=3740;k[a+32>>2]=-1;return}function xk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=4240;e=a+48|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);d=k[a+36>>2]|0;e=d;if(d|0){b=a+40|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-e|0)>>>2)<<2);Jp(d)}d=a+24|0;b=k[d>>2]|0;if(b|0){e=a+28|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[e>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Jp(b)}k[a>>2]=2948;d=k[a+4>>2]|0;if(!d)return;b=a+8|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);Jp(d);return}function yk(a){a=a|0;xk(a);Jp(a);return}function zk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;if(!(Wg(a,b)|0)){a=0;return a|0}l=a+24|0;m=a+4|0;n=a+8|0;f=(k[n>>2]|0)-(k[m>>2]|0)>>2;h=a+28|0;c=k[h>>2]|0;e=k[l>>2]|0;d=c-e>>2;if(f>>>0<=d>>>0){if(f>>>0>>0?(g=e+(f<<2)|0,(c|0)!=(g|0)):0)do{j=c+-4|0;k[h>>2]=j;c=k[j>>2]|0;k[j>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[h>>2]|0}while((c|0)!=(g|0))}else Ak(l,f-d|0);e=b+8|0;if(((k[n>>2]|0)-(k[m>>2]|0)|0)<=0){a=1;return a|0}f=b+16|0;g=a+16|0;h=a+4|0;j=0;while(1){o=e;p=k[o+4>>2]|0;d=f;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((p|0)>(d|0)|((p|0)==(d|0)?(k[o>>2]|0)>>>0>c>>>0:0))){c=0;d=17;break}o=i[(k[b>>2]|0)+c>>0]|0;c=kq(c|0,d|0,1,0)|0;p=f;k[p>>2]=c;k[p+4>>2]=L;p=(k[l>>2]|0)+(j<<2)|0;o=gb[k[(k[a>>2]|0)+20>>2]&63](a,o)|0;c=k[p>>2]|0;k[p>>2]=o;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[(k[l>>2]|0)+(j<<2)>>2]|0;if(!c){c=0;d=17;break}if(!(_a[k[(k[c>>2]|0)+8>>2]&31](c,k[g>>2]|0,k[(k[h>>2]|0)+(j<<2)>>2]|0)|0)){c=0;d=17;break}j=j+1|0;if((j|0)>=((k[n>>2]|0)-(k[m>>2]|0)>>2|0)){c=1;d=17;break}}if((d|0)==17)return c|0;return 0}function Ak(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;d=k[m>>2]|0;n=a+4|0;c=k[n>>2]|0;if(d-c>>2>>>0>=b>>>0){iq(c|0,0,b<<2|0)|0;k[n>>2]=c+(b<<2);return}f=k[a>>2]|0;e=(c-f>>2)+b|0;if(e>>>0>1073741823)zp(a);l=f;c=d-f|0;if(c>>2>>>0<536870911){d=c>>1;d=d>>>0>>0?e:d;c=k[n>>2]|0;e=c-f>>2;if(!d){h=0;i=0;g=e}else j=8}else{e=k[n>>2]|0;d=1073741823;c=e;e=e-f>>2;j=8}if((j|0)==8){h=d;i=aq(d<<2)|0;g=e}e=i+(g<<2)|0;iq(e|0,0,b<<2|0)|0;d=e;h=i+(h<<2)|0;g=i+(g+b<<2)|0;if((c|0)!=(l|0)){do{c=c+-4|0;b=k[c>>2]|0;k[c>>2]=0;k[e+-4>>2]=b;e=d+-4|0;d=e}while((c|0)!=(l|0));c=d;d=c;f=k[a>>2]|0;c=k[n>>2]|0}k[a>>2]=d;k[n>>2]=g;k[m>>2]=h;e=f;if((c|0)!=(e|0))do{c=c+-4|0;d=k[c>>2]|0;k[c>>2]=0;if(d|0)ab[k[(k[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!f)return;Jp(f);return}function Bk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;h=a+48|0;c=k[h>>2]|0;if(!c){b=0;return b|0}o=a+36|0;k[c+4>>2]=o;if(!(cb[k[(k[c>>2]|0)+12>>2]&127](c)|0)){b=0;return b|0}n=a+4|0;m=a+8|0;c=k[m>>2]|0;d=k[n>>2]|0;a:do if((c-d|0)>0){g=a+16|0;f=0;while(1){e=k[(k[g>>2]|0)+4>>2]|0;c=k[d+(f<<2)>>2]|0;if((c|0)<=-1){c=9;break}d=k[e+4>>2]|0;if(((k[e+8>>2]|0)-d>>2|0)<=(c|0)){c=11;break}e=k[h>>2]|0;f=f+1|0;if(!(gb[k[(k[e>>2]|0)+8>>2]&63](e,k[d+(c<<2)>>2]|0)|0)){l=0;c=15;break}c=k[m>>2]|0;d=k[n>>2]|0;if((f|0)>=(c-d>>2|0)){i=d;j=c;break a}}if((c|0)==9)Aa(9671,9687,62,9715);else if((c|0)==11)Aa(9725,9687,63,9715);else if((c|0)==15)return l|0}else{i=d;j=c}while(0);if((j-i|0)<=0){b=1;return b|0}c=a+24|0;d=0;while(1){a=k[(k[c>>2]|0)+(d<<2)>>2]|0;d=d+1|0;if(!(_a[k[(k[a>>2]|0)+16>>2]&31](a,o,b)|0)){l=0;c=15;break}if((d|0)>=((k[m>>2]|0)-(k[n>>2]|0)>>2|0)){l=1;c=15;break}}if((c|0)==15)return l|0;return 0}function Ck(a,b){a=a|0;b=b|0;switch(b&255|0){case 0:{b=aq(16)|0;wh(b);break}case 1:{b=aq(32)|0;Ui(b);break}case 2:{b=aq(44)|0;aj(b);break}case 3:{b=aq(36)|0;wk(b);break}default:b=0}return b|0}function Dk(a,b){a=a|0;b=b|0;var c=0;Yg(a);k[a>>2]=4240;c=a+24|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;c=k[b>>2]|0;k[b>>2]=0;k[a+48>>2]=c;return}function Ek(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Jp(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)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Jp(b);Jp(a);return}function Fk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+16|0;j=l;i=aq(52)|0;g=aq(12)|0;f=k[(k[a+4>>2]|0)+64>>2]|0;k[g+4>>2]=0;k[g>>2]=4316;k[g+8>>2]=f;k[j>>2]=g;Dk(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){Lk(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)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[f>>2]|0}while((a|0)!=(h|0))}while(0);b=(k[g>>2]|0)+(b<<2)|0;a=k[b>>2]|0;k[b>>2]=i;if(a|0)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[j>>2]|0;k[j>>2]=0;if(!a){r=l;return 1}ab[k[(k[a>>2]|0)+4>>2]&127](a);r=l;return 1}function Gk(a){a=a|0;return}function Hk(a){a=a|0;Jp(a);return}function Ik(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 Jk(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;d=a+8|0;a=k[d>>2]|0;e=g+4|0;c=k[e>>2]|0;b=k[g>>2]|0;f=c-b>>2;if(a>>>0<=f>>>0){if(a>>>0>>0?(h=b+(a<<2)|0,(c|0)!=(h|0)):0)k[e>>2]=c+(~((c+-4-h|0)>>>2)<<2)}else{Kk(g,a-f|0);a=k[d>>2]|0}if((a|0)>0)c=0;else return 1;while(1){d=k[i>>2]|0;b=k[d>>2]|0;if((k[d+4>>2]|0)-b>>2>>>0<=c>>>0){a=10;break}k[b+(c<<2)>>2]=c;c=c+1|0;if((c|0)>=(a|0)){a=7;break}}if((a|0)==7)return 1;else if((a|0)==10)Ap(d);return 0}function Kk(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;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){iq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)zp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;iq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;mq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Jp(j);return}function Lk(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;d=k[m>>2]|0;n=a+4|0;c=k[n>>2]|0;if(d-c>>2>>>0>=b>>>0){iq(c|0,0,b<<2|0)|0;k[n>>2]=c+(b<<2);return}f=k[a>>2]|0;e=(c-f>>2)+b|0;if(e>>>0>1073741823)zp(a);l=f;c=d-f|0;if(c>>2>>>0<536870911){d=c>>1;d=d>>>0>>0?e:d;c=k[n>>2]|0;e=c-f>>2;if(!d){h=0;i=0;g=e}else j=8}else{e=k[n>>2]|0;d=1073741823;c=e;e=e-f>>2;j=8}if((j|0)==8){h=d;i=aq(d<<2)|0;g=e}e=i+(g<<2)|0;iq(e|0,0,b<<2|0)|0;d=e;h=i+(h<<2)|0;g=i+(g+b<<2)|0;if((c|0)!=(l|0)){do{c=c+-4|0;b=k[c>>2]|0;k[c>>2]=0;k[e+-4>>2]=b;e=d+-4|0;d=e}while((c|0)!=(l|0));c=d;d=c;f=k[a>>2]|0;c=k[n>>2]|0}k[a>>2]=d;k[n>>2]=g;k[m>>2]=h;e=f;if((c|0)!=(e|0))do{c=c+-4|0;d=k[c>>2]|0;k[c>>2]=0;if(d|0)ab[k[(k[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!f)return;Jp(f);return}function Mk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=b+16|0;d=f;c=k[d>>2]|0;d=kq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){h=0;return h|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=f;k[g>>2]=d;k[g+4>>2]=e;k[(k[a+4>>2]|0)+64>>2]=h;h=1;return h|0}function Nk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Jp(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)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Jp(b);Jp(a);return}function Ok(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=aq(24)|0;fm(i);h=a+8|0;f=a+12|0;a=k[f>>2]|0;c=k[h>>2]|0;d=a-c>>2;do if((d|0)<=(b|0)){e=b+1|0;if(e>>>0>d>>>0){Lk(h,e-d|0);break}if(e>>>0>>0?(g=c+(e<<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)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[f>>2]|0}while((a|0)!=(g|0))}while(0);b=(k[h>>2]|0)+(b<<2)|0;a=k[b>>2]|0;k[b>>2]=i;if(!a)return 1;ab[k[(k[a>>2]|0)+4>>2]&127](a);return 1}function Pk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=b+16|0;d=f;c=k[d>>2]|0;d=kq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){h=0;return h|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=f;k[g>>2]=d;k[g+4>>2]=e;k[(k[a+4>>2]|0)+64>>2]=h;h=1;return h|0}function Qk(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2948;b=k[a+4>>2]|0;if(!b){Jp(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);Jp(b);Jp(a);return}function Rk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0;J=r;r=r+976|0;I=J+960|0;H=J+8|0;n=J+952|0;v=J+944|0;z=J+936|0;A=J+928|0;B=J+920|0;C=J+912|0;D=J+904|0;E=J+896|0;F=J+888|0;G=J+880|0;w=J+872|0;y=J;d=k[k[a+4>>2]>>2]|0;a=k[(k[a+16>>2]|0)+4>>2]|0;if((d|0)<=-1)Aa(9671,9687,62,9715);c=k[a+4>>2]|0;if(((k[a+8>>2]|0)-c>>2|0)<=(d|0))Aa(9725,9687,63,9715);a=k[c+(d<<2)>>2]|0;i[a+84>>0]=1;c=k[a+68>>2]|0;d=a+72|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);d=b+8|0;c=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=k[g+4>>2]|0;if(!((d|0)>(g|0)|(d|0)==(g|0)&c>>>0>f>>>0)){I=0;r=J;return I|0}h=k[b>>2]|0;K=i[h+f>>0]|0;j=kq(f|0,g|0,1,0)|0;m=L;M=e;k[M>>2]=j;k[M+4>>2]=m;switch(K<<24>>24){case 0:{if(((d|0)>(m|0)|(d|0)==(m|0)&c>>>0>j>>>0?(s=kq(f|0,g|0,2,0)|0,t=e,k[t>>2]=s,k[t+4>>2]=L,t=kq(f|0,g|0,6,0)|0,u=L,!((d|0)<(u|0)|(d|0)==(u|0)&c>>>0>>0)):0)?(M=h+s|0,M=l[M>>0]|l[M+1>>0]<<8|l[M+2>>0]<<16|l[M+3>>0]<<24,K=e,k[K>>2]=t,k[K+4>>2]=u,Oe(a,M)|0,gm(H),k[n>>2]=a,k[n+4>>2]=0,k[I>>2]=k[n>>2],k[I+4>>2]=k[n+4>>2],Sk(H,b,I)|0):0){M=1;r=J;return M|0}M=0;r=J;return M|0}case 1:{a:do if((d|0)>(m|0)|(d|0)==(m|0)&c>>>0>j>>>0?(x=i[h+j>>0]|0,o=kq(f|0,g|0,2,0)|0,p=e,k[p>>2]=o,k[p+4>>2]=L,p=kq(f|0,g|0,6,0)|0,q=L,!((d|0)<(q|0)|(d|0)==(q|0)&c>>>0

>>0)):0){M=h+o|0;M=l[M>>0]|l[M+1>>0]<<8|l[M+2>>0]<<16|l[M+3>>0]<<24;K=e;k[K>>2]=p;k[K+4>>2]=q;Oe(a,M)|0;do switch(x&255|0){case 0:{Fm(H);k[v>>2]=a;k[v+4>>2]=0;k[I>>2]=k[v>>2];k[I+4>>2]=k[v+4>>2];M=Uk(H,b,I)|0;hd(H+68|0);hd(H+48|0);hd(H+28|0);hd(H+8|0);if(M)a=1;else break a;r=J;return a|0}case 1:{Hm(H);k[z>>2]=a;k[z+4>>2]=0;k[I>>2]=k[z>>2];k[I+4>>2]=k[z+4>>2];M=_k(H,b,I)|0;hd(H+68|0);hd(H+48|0);hd(H+28|0);hd(H+8|0);if(M)a=1;else break a;r=J;return a|0}case 2:{Jm(H);k[A>>2]=a;k[A+4>>2]=0;k[I>>2]=k[A>>2];k[I+4>>2]=k[A+4>>2];M=el(H,b,I)|0;hd(H+64|0);hd(H+44|0);hd(H+24|0);sd(H+8|0);if(M)a=1;else break a;r=J;return a|0}case 3:{Lm(H);k[B>>2]=a;k[B+4>>2]=0;k[I>>2]=k[B>>2];k[I+4>>2]=k[B+4>>2];M=kl(H,b,I)|0;hd(H+64|0);hd(H+44|0);hd(H+24|0);sd(H+8|0);if(M)a=1;else break a;r=J;return a|0}case 4:{Nm(H);k[C>>2]=a;k[C+4>>2]=0;k[I>>2]=k[C>>2];k[I+4>>2]=k[C+4>>2];M=ql(H,b,I)|0;hd(H+576|0);hd(H+556|0);hd(H+536|0);sd(H+520|0);wl(H+8|0);if(M)a=1;else break a;r=J;return a|0}case 5:{Qm(H);k[D>>2]=a;k[D+4>>2]=0;k[I>>2]=k[D>>2];k[I+4>>2]=k[D+4>>2];M=xl(H,b,I)|0;hd(H+576|0);hd(H+556|0);hd(H+536|0);sd(H+520|0);wl(H+8|0);if(M)a=1;else break a;r=J;return a|0}case 6:{Sm(H);k[E>>2]=a;k[E+4>>2]=0;k[I>>2]=k[E>>2];k[I+4>>2]=k[E+4>>2];M=Dl(H,b,I)|0;hd(H+576|0);hd(H+556|0);hd(H+536|0);sd(H+520|0);wl(H+8|0);if(M)a=1;else break a;r=J;return a|0}case 7:{Um(H);k[F>>2]=a;k[F+4>>2]=0;k[I>>2]=k[F>>2];k[I+4>>2]=k[F+4>>2];M=Jl(H,b,I)|0;hd(H+576|0);hd(H+556|0);hd(H+536|0);sd(H+520|0);wl(H+8|0);if(M)a=1;else break a;r=J;return a|0}case 8:{Wm(H);k[G>>2]=a;k[G+4>>2]=0;k[I>>2]=k[G>>2];k[I+4>>2]=k[G+4>>2];M=Pl(H,b,I)|0;hd(H+840|0);hd(H+820|0);hd(H+800|0);xd(H+776|0);Vl(H+8|0);if(M)a=1;else break a;r=J;return a|0}case 9:{Zm(H);k[w>>2]=a;k[w+4>>2]=0;k[I>>2]=k[w>>2];k[I+4>>2]=k[w+4>>2];M=Wl(H,b,I)|0;hd(H+840|0);hd(H+820|0);hd(H+800|0);xd(H+776|0);Vl(H+8|0);if(M)a=1;else break a;r=J;return a|0}case 10:{$m(H);k[y>>2]=a;k[y+4>>2]=0;k[I>>2]=k[y>>2];k[I+4>>2]=k[y+4>>2];M=am(H,b,I)|0;hd(H+840|0);hd(H+820|0);hd(H+800|0);xd(H+776|0);Vl(H+8|0);if(M)a=1;else break a;r=J;return a|0}default:break a}while(0)}while(0);M=0;r=J;return M|0}default:{M=0;r=J;return M|0}}return 0}function Sk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=r;r=r+48|0;t=w+40|0;u=w+24|0;d=w+12|0;e=w+8|0;m=w;q=w+16|0;k[u>>2]=0;v=u+4|0;k[v>>2]=0;k[u+8>>2]=0;f=b+8|0;s=k[f>>2]|0;f=k[f+4>>2]|0;g=b+16|0;j=g;h=k[j>>2]|0;j=k[j+4>>2]|0;n=kq(h|0,j|0,4,0)|0;o=L;a:do if((f|0)<(o|0)|(f|0)==(o|0)&s>>>0>>0)f=0;else{p=k[b>>2]|0;x=p+h|0;x=l[x>>0]|l[x+1>>0]<<8|l[x+2>>0]<<16|l[x+3>>0]<<24;y=g;k[y>>2]=n;k[y+4>>2]=o;b:do switch(x|0){case 3:{if(!((f|0)>(o|0)|(f|0)==(o|0)&s>>>0>n>>>0)){f=0;break a}y=i[p+n>>0]|0;s=kq(h|0,j|0,5,0)|0;x=g;k[x>>2]=s;k[x+4>>2]=L;if(y<<24>>24==1)if(hm(a,b,u)|0)break b;else{f=0;break a}else{up(9779,23,1,k[1178]|0)|0;f=0;break a}}case 2:{if(!(hm(a,b,u)|0)){f=0;break a}break}default:{up(9803,24,1,k[1178]|0)|0;f=0;break a}}while(0);k[d>>2]=k[u>>2];k[e>>2]=k[v>>2];x=c;y=k[x+4>>2]|0;f=m;k[f>>2]=k[x>>2];k[f+4>>2]=y;k[t>>2]=k[m>>2];k[t+4>>2]=k[m+4>>2];Tk(q,d,e,a,t);f=1}while(0);d=k[u>>2]|0;if(!d){r=w;return f|0}e=k[v>>2]|0;if((e|0)!=(d|0))k[v>>2]=e+(~(((e+-12-d|0)>>>0)/12|0)*12|0);Jp(d);r=w;return f|0}function Tk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0,B=0.0,C=0;w=r;r=r+32|0;v=w+16|0;u=w;f=+o[d+4>>2];if(!(f>=0.0))Aa(9828,9848,66,9905);t=(1<>2])+-1|0;Lg(v);Mg(v,f,t);d=k[b>>2]|0;if((d|0)==(k[c>>2]|0)){c=e;u=c;u=k[u>>2]|0;c=c+4|0;c=k[c>>2]|0;e=a;v=e;k[v>>2]=u;e=e+4|0;k[e>>2]=c;r=w;return}s=v+4|0;h=e+4|0;j=u+4|0;l=u+8|0;q=k[e>>2]|0;m=q+84|0;n=q+68|0;p=q+40|0;q=q+64|0;g=k[h>>2]|0;do{b=(k[d>>2]|0)-t|0;C=(b|0)<0;f=+o[s>>2];B=f*+((C?0-b|0:b)|0);y=+o[v>>2];b=(k[d+4>>2]|0)-t|0;A=(b|0)<0;z=f*+((A?0-b|0:b)|0);b=(k[d+8>>2]|0)-t|0;x=(b|0)<0;f=f*+((x?0-b|0:b)|0);b=g;g=g+1|0;k[h>>2]=g;o[u>>2]=y*(C?-B:B);o[j>>2]=y*(A?-z:z);o[l>>2]=y*(x?-f:f);if(!(i[m>>0]|0))b=k[(k[n>>2]|0)+(b<<2)>>2]|0;A=p;C=k[A>>2]|0;A=tq(b|0,((b|0)<0)<<31>>31|0,C|0,k[A+4>>2]|0)|0;mq((k[k[q>>2]>>2]|0)+A|0,u|0,C|0)|0;d=d+12|0}while((d|0)!=(k[c>>2]|0));A=e;e=A;e=k[e>>2]|0;A=A+4|0;A=k[A>>2]|0;C=a;x=C;k[x>>2]=e;C=C+4|0;k[C>>2]=A;r=w;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,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=kq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=kq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=kq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){u=1;r=s;return u|0}if(!(id(a+8|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+28|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+48|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+68|0,b)|0)){u=0;r=s;return u|0}u=k[g>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];Vk(a,u,n,m,0,q);u=1;r=s;return u|0} +function Jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Kf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Kf(a,b);return}function Kf(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)Jp(c);k[d>>2]=0;return}o=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)Jp(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)e=c&n;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(o){c=f;while(1){m=k[c+4>>2]&n;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}l=c+10|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=j[c+8>>1]|0;g=c;while(1){if(i<<16>>16!=(j[f+8>>1]|0)){f=g;break d}if((j[l>>1]|0)!=(j[f+10>>1]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}else{c=f;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}i=c+10|0;f=k[c>>2]|0;e:do if(!f)f=c;else{l=j[c+8>>1]|0;g=c;while(1){if(l<<16>>16!=(j[f+8>>1]|0)){f=g;break e}if((j[i>>1]|0)!=(j[f+10>>1]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}while(0);f=k[c>>2]|0;if(!f){c=34;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=34;break}else{h=c;d=c}}if((c|0)==34)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,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0;M=r;r=r+48|0;C=M+32|0;K=M+12|0;E=M+40|0;I=M;k[K>>2]=0;k[K+4>>2]=0;k[K+8>>2]=0;k[K+12>>2]=0;o[K+16>>2]=1.0;H=a+80|0;d=k[H>>2]|0;k[I>>2]=0;J=I+4|0;k[J>>2]=0;k[I+8>>2]=0;if(d){if(d>>>0>1073741823)zp(I);B=d<<2;f=aq(B)|0;k[I>>2]=f;e=f+(d<<2)|0;k[I+8>>2]=e;iq(f|0,0,B|0)|0;k[J>>2]=e;e=k[H>>2]|0;if((e|0)>0){z=b+48|0;A=b+40|0;B=E+2|0;u=E+4|0;v=K+4|0;w=C+4|0;x=a+40|0;y=a+64|0;t=k[c>>2]|0;s=0;m=0;do{q=t+s|0;l=z;n=k[l>>2]|0;l=k[l+4>>2]|0;p=A;p=tq(q|0,((q|0)<0)<<31>>31|0,k[p>>2]|0,k[p+4>>2]|0)|0;l=kq(p|0,L|0,n|0,l|0)|0;l=(k[k[b>>2]>>2]|0)+l|0;i[E>>0]=i[l>>0]|0;i[E+1>>0]=i[l+1>>0]|0;i[E+2>>0]=i[l+2>>0]|0;i[E+3>>0]=i[l+3>>0]|0;i[E+4>>0]=i[l+4>>0]|0;i[E+5>>0]=i[l+5>>0]|0;l=j[E>>1]|0;n=j[B>>1]|0;p=j[u>>1]|0;q=((l&65535^318)+239^n&65535)+239^p&65535;e=k[v>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=q&g;else h=(q>>>0)%(e>>>0)|0;c=k[(k[K>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(D=k[c>>2]|0,(D|0)!=0):0){b:do if(d){d=D;while(1){if((k[d+4>>2]&g|0)!=(h|0)){F=25;break a}if(((j[d+8>>1]|0)==l<<16>>16?(j[d+10>>1]|0)==n<<16>>16:0)?(j[d+12>>1]|0)==p<<16>>16:0)break b;d=k[d>>2]|0;if(!d){F=25;break a}}}else{d=D;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){F=25;break a}if(((j[d+8>>1]|0)==l<<16>>16?(j[d+10>>1]|0)==n<<16>>16:0)?(j[d+12>>1]|0)==p<<16>>16:0)break b;d=k[d>>2]|0;if(!d){F=25;break a}}}while(0);k[f+(s<<2)>>2]=k[d+16>>2]}else F=25}else F=25;while(0);if((F|0)==25){F=0;d=aq(20)|0;j[d+8>>1]=l;j[d+10>>1]=n;j[d+12>>1]=p;k[d+16>>2]=m;k[d+4>>2]=q;k[d>>2]=0;Mf(C,K,d);if(!(i[w>>0]|0))Jp(d);q=x;f=k[q>>2]|0;q=tq(f|0,k[q+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;mq((k[k[y>>2]>>2]|0)+q|0,E|0,f|0)|0;f=k[I>>2]|0;k[f+(s<<2)>>2]=m;m=m+1|0}s=s+1|0;e=k[H>>2]|0}while((s|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{l=a+84|0;if(!(i[l>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[I>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(G=g+(e<<2)|0,(h|0)!=(G|0)):0)k[c>>2]=h+(~((h+-4-G|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[H>>2]|0}if((e|0)>0){f=k[I>>2]|0;if(i[l>>0]|0)Aa(10792,10811,80,10843);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[H>>2]=m;f=m}}else f=0;d=k[I>>2]|0;c=d;if(d|0){e=k[J>>2]|0;if((e|0)!=(d|0))k[J>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[K+8>>2]|0;if(d|0)do{J=d;d=k[d>>2]|0;Jp(J)}while((d|0)!=0);d=k[K>>2]|0;k[K>>2]=0;if(!d){r=M;return f|0}Jp(d);r=M;return f|0}function Mf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;p=j[c+8>>1]|0;r=j[c+10>>1]|0;q=j[c+12>>1]|0;e=((p&65535^318)+239^r&65535)+239^q&65535;u=c+4|0;k[u>>2]=e;t=b+4|0;l=k[t>>2]|0;s=(l|0)==0;a:do if(!s){n=l+-1|0;m=(n&l|0)==0;if(m)e=e&n;else e=(e>>>0)%(l>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(m){while(1){if((k[d+4>>2]&n|0)!=(e|0))break a;if(((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==r<<16>>16:0)?(j[d+12>>1]|0)==q<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(e|0))break a;if(((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==r<<16>>16:0)?(j[d+12>>1]|0)==q<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);m=b+12|0;g=+(((k[m>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(s|g>+(l>>>0)*h){if(l>>>0>2)d=(l+-1&l|0)==0;else d=0;f=(d&1|l<<1)^1;d=~~+ga(+(g/h))>>>0;Nf(b,f>>>0>>0?d:f);f=k[t>>2]|0;d=k[u>>2]|0;e=f+-1|0;if(!(e&f)){l=f;e=e&d;break}else{l=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=l+-1|0;if(!(e&l))d=d&e;else d=(d>>>0)%(l>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[m>>2]=(k[m>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function Nf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Of(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Of(a,b);return}function Of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,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)Jp(c);k[d>>2]=0;return}p=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)Jp(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)e=c&o;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(p){c=f;while(1){n=k[c+4>>2]&o;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}l=c+10|0;m=c+12|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=j[c+8>>1]|0;g=c;while(1){if(i<<16>>16!=(j[f+8>>1]|0)){f=g;break d}if((j[l>>1]|0)!=(j[f+10>>1]|0)){f=g;break d}if((j[m>>1]|0)!=(j[f+12>>1]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}else{c=f;while(1){n=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}i=c+10|0;l=c+12|0;f=k[c>>2]|0;e:do if(!f)f=c;else{m=j[c+8>>1]|0;g=c;while(1){if(m<<16>>16!=(j[f+8>>1]|0)){f=g;break e}if((j[i>>1]|0)!=(j[f+10>>1]|0)){f=g;break e}if((j[l>>1]|0)!=(j[f+12>>1]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}while(0);f=k[c>>2]|0;if(!f){c=36;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=36;break}else{h=c;d=c}}if((c|0)==36)return}function Pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=r;r=r+64|0;u=C+48|0;B=C+28|0;v=C+8|0;w=C;z=C+16|0;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;o[B+16>>2]=1.0;y=a+80|0;d=k[y>>2]|0;k[z>>2]=0;A=z+4|0;k[A>>2]=0;k[z+8>>2]=0;if(d){if(d>>>0>1073741823)zp(z);t=d<<2;f=aq(t)|0;k[z>>2]=f;e=f+(d<<2)|0;k[z+8>>2]=e;iq(f|0,0,t|0)|0;k[A>>2]=e;e=k[y>>2]|0;if((e|0)>0){q=k[c>>2]|0;s=b+48|0;t=b+40|0;m=u+4|0;n=a+40|0;p=a+64|0;h=0;g=0;while(1){D=q+h|0;e=s;c=k[e>>2]|0;e=k[e+4>>2]|0;d=t;d=tq(D|0,((D|0)<0)<<31>>31|0,k[d>>2]|0,k[d+4>>2]|0)|0;e=kq(d|0,L|0,c|0,e|0)|0;e=(k[k[b>>2]>>2]|0)+e|0;c=e;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+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;d=v;k[d>>2]=c;k[d+4>>2]=e;d=w;k[d>>2]=c;k[d+4>>2]=e;d=Qf(B,w)|0;if(!d){d=aq(20)|0;f=d+8|0;D=f;j[D>>1]=c;j[D+2>>1]=c>>>16;f=f+4|0;j[f>>1]=e;j[f+2>>1]=e>>>16;k[d+16>>2]=g;f=lq(c|0,e|0,16)|0;D=lq(c|0,e|0,48)|0;k[d+4>>2]=(((c&65535^318)+239^f&65535)+239^e&65535)+239^D;k[d>>2]=0;Rf(u,B,d);if(!(i[m>>0]|0))Jp(d);d=n;f=k[d>>2]|0;d=tq(f|0,k[d+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;mq((k[k[p>>2]>>2]|0)+d|0,v|0,f|0)|0;f=k[z>>2]|0;k[f+(h<<2)>>2]=g;d=g+1|0}else{k[f+(h<<2)>>2]=k[d+16>>2];d=g}h=h+1|0;e=k[y>>2]|0;if((h|0)>=(e|0)){n=d;break}else g=d}}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[z>>2]|0;d=d>>2;c=0;do{D=e+(c<<2)|0;k[D>>2]=k[f+(k[D>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(x=g+(e<<2)|0,(h|0)!=(x|0)):0)k[c>>2]=h+(~((h+-4-x|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[y>>2]|0}if((e|0)>0){f=k[z>>2]|0;if(i[m>>0]|0)Aa(10792,10811,80,10843);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[y>>2]=n;f=n}}else f=0;d=k[z>>2]|0;c=d;if(d|0){e=k[A>>2]|0;if((e|0)!=(d|0))k[A>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[B+8>>2]|0;if(d|0)do{D=d;d=k[d>>2]|0;Jp(D)}while((d|0)!=0);d=k[B>>2]|0;k[B>>2]=0;if(!d){r=C;return f|0}Jp(d);r=C;return f|0}function Qf(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;h=j[b>>1]|0;i=j[b+2>>1]|0;l=j[b+4>>1]|0;g=j[b+6>>1]|0;b=(((h&65535^318)+239^i&65535)+239^l&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)==h<<16>>16?(j[b+10>>1]|0)==i<<16>>16:0)?(j[b+12>>1]|0)==l<<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)==h<<16>>16?(j[b+10>>1]|0)==i<<16>>16:0)?(j[b+12>>1]|0)==l<<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 Rf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;p=j[c+8>>1]|0;s=j[c+10>>1]|0;q=j[c+12>>1]|0;r=j[c+14>>1]|0;e=(((p&65535^318)+239^s&65535)+239^q&65535)+239^r&65535;v=c+4|0;k[v>>2]=e;u=b+4|0;l=k[u>>2]|0;t=(l|0)==0;a:do if(!t){n=l+-1|0;m=(n&l|0)==0;if(m)e=e&n;else e=(e>>>0)%(l>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(m){while(1){if((k[d+4>>2]&n|0)!=(e|0))break a;if((((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==s<<16>>16:0)?(j[d+12>>1]|0)==q<<16>>16:0)?(j[d+14>>1]|0)==r<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(e|0))break a;if((((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==s<<16>>16:0)?(j[d+12>>1]|0)==q<<16>>16:0)?(j[d+14>>1]|0)==r<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);m=b+12|0;g=+(((k[m>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(t|g>+(l>>>0)*h){if(l>>>0>2)d=(l+-1&l|0)==0;else d=0;f=(d&1|l<<1)^1;d=~~+ga(+(g/h))>>>0;Sf(b,f>>>0>>0?d:f);f=k[u>>2]|0;d=k[v>>2]|0;e=f+-1|0;if(!(e&f)){l=f;e=e&d;break}else{l=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=l+-1|0;if(!(e&l))d=d&e;else d=(d>>>0)%(l>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[m>>2]=(k[m>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function Sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Tf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Tf(a,b);return}function Tf(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)Jp(c);k[d>>2]=0;return}q=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=q;if(c|0)Jp(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)e=c&p;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(q){c=f;while(1){o=k[c+4>>2]&p;if((o|0)==(e|0))break c;f=(k[a>>2]|0)+(o<<2)|0;if(!(k[f>>2]|0)){e=o;break b}l=c+10|0;m=c+12|0;n=c+14|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=j[c+8>>1]|0;g=c;while(1){if(i<<16>>16!=(j[f+8>>1]|0)){f=g;break d}if((j[l>>1]|0)!=(j[f+10>>1]|0)){f=g;break d}if((j[m>>1]|0)!=(j[f+12>>1]|0)){f=g;break d}if((j[n>>1]|0)!=(j[f+14>>1]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{r=f;f=g;g=r}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(o<<2)>>2]>>2];k[k[(k[a>>2]|0)+(o<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}else{c=f;while(1){o=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((o|0)==(e|0))break c;f=(k[a>>2]|0)+(o<<2)|0;if(!(k[f>>2]|0)){e=o;break b}i=c+10|0;l=c+12|0;m=c+14|0;f=k[c>>2]|0;e:do if(!f)f=c;else{n=j[c+8>>1]|0;g=c;while(1){if(n<<16>>16!=(j[f+8>>1]|0)){f=g;break e}if((j[i>>1]|0)!=(j[f+10>>1]|0)){f=g;break e}if((j[l>>1]|0)!=(j[f+12>>1]|0)){f=g;break e}if((j[m>>1]|0)!=(j[f+14>>1]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{r=f;f=g;g=r}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(o<<2)>>2]>>2];k[k[(k[a>>2]|0)+(o<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}while(0);f=k[c>>2]|0;if(!f){c=38;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=38;break}else{h=c;d=c}}if((c|0)==38)return}function Uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=r;r=r+48|0;z=H+32|0;G=H+12|0;A=H+40|0;E=H;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;k[G+12>>2]=0;o[G+16>>2]=1.0;D=a+80|0;d=k[D>>2]|0;k[E>>2]=0;F=E+4|0;k[F>>2]=0;k[E+8>>2]=0;if(d){if(d>>>0>1073741823)zp(E);y=d<<2;f=aq(y)|0;k[E>>2]=f;e=f+(d<<2)|0;k[E+8>>2]=e;iq(f|0,0,y|0)|0;k[F>>2]=e;e=k[D>>2]|0;if((e|0)>0){w=b+48|0;x=b+40|0;y=G+4|0;t=z+4|0;u=a+40|0;v=a+64|0;s=k[c>>2]|0;q=0;n=0;do{h=s+q|0;m=w;p=k[m>>2]|0;m=k[m+4>>2]|0;e=x;e=tq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;m=kq(e|0,L|0,p|0,m|0)|0;m=(k[k[b>>2]>>2]|0)+m|0;m=l[m>>0]|l[m+1>>0]<<8;j[A>>1]=m;p=m&65535^318;e=k[y>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&p;else h=(p>>>0)%(e>>>0)|0;d=k[(k[G>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){B=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){B=20;break a}}while((j[d+8>>1]|0)!=m<<16>>16);else do{d=k[d>>2]|0;if(!d){B=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){B=20;break a}}while((j[d+8>>1]|0)!=m<<16>>16);k[f+(q<<2)>>2]=k[d+12>>2]}else B=20}else B=20;while(0);if((B|0)==20){B=0;d=aq(16)|0;j[d+8>>1]=m;k[d+12>>2]=n;k[d+4>>2]=p;k[d>>2]=0;Ef(z,G,d);if(!(i[t>>0]|0))Jp(d);p=u;f=k[p>>2]|0;p=tq(f|0,k[p+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;mq((k[k[v>>2]>>2]|0)+p|0,A|0,f|0)|0;f=k[E>>2]|0;k[f+(q<<2)>>2]=n;n=n+1|0}q=q+1|0;e=k[D>>2]|0}while((q|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[E>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(C=g+(e<<2)|0,(h|0)!=(C|0)):0)k[c>>2]=h+(~((h+-4-C|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[D>>2]|0}if((e|0)>0){f=k[E>>2]|0;if(i[m>>0]|0)Aa(10792,10811,80,10843);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[D>>2]=n;f=n}}else f=0;d=k[E>>2]|0;c=d;if(d|0){e=k[F>>2]|0;if((e|0)!=(d|0))k[F>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[G+8>>2]|0;if(d|0)do{F=d;d=k[d>>2]|0;Jp(F)}while((d|0)!=0);d=k[G>>2]|0;k[G>>2]=0;if(!d){r=H;return f|0}Jp(d);r=H;return f|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,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+40|0;J=K+16|0;D=K+12|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)zp(H);A=d<<2;f=aq(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;iq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;u=k[c>>2]|0;t=0;n=0;do{m=u+t|0;q=y;h=k[q>>2]|0;q=k[q+4>>2]|0;s=z;s=tq(m|0,((m|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;q=kq(s|0,L|0,h|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[D>>2]=q;h=q&65535;s=q>>>16;m=s&65535;s=(q&65535^318)+239^s;e=k[A>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)p=s&g;else p=(s>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(p<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(p|0)){E=23;break a}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(p|0)){E=23;break a}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}while(0);k[f+(t<<2)>>2]=k[d+12>>2]}else E=23}else E=23;while(0);if((E|0)==23){E=0;d=aq(16)|0;p=d+8|0;j[p>>1]=q;j[p+2>>1]=q>>>16;k[d+12>>2]=n;k[d+4>>2]=s;k[d>>2]=0;If(B,J,d);if(!(i[v>>0]|0))Jp(d);s=w;f=k[s>>2]|0;s=tq(f|0,k[s+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;mq((k[k[x>>2]>>2]|0)+s|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(t<<2)>>2]=n;n=n+1|0}t=t+1|0;e=k[G>>2]|0}while((t|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[m>>0]|0)Aa(10792,10811,80,10843);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]=n;f=n}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Jp(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Jp(d);r=K;return f|0}function Wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0;M=r;r=r+48|0;C=M+32|0;K=M+12|0;E=M+40|0;I=M;k[K>>2]=0;k[K+4>>2]=0;k[K+8>>2]=0;k[K+12>>2]=0;o[K+16>>2]=1.0;H=a+80|0;d=k[H>>2]|0;k[I>>2]=0;J=I+4|0;k[J>>2]=0;k[I+8>>2]=0;if(d){if(d>>>0>1073741823)zp(I);B=d<<2;f=aq(B)|0;k[I>>2]=f;e=f+(d<<2)|0;k[I+8>>2]=e;iq(f|0,0,B|0)|0;k[J>>2]=e;e=k[H>>2]|0;if((e|0)>0){z=b+48|0;A=b+40|0;B=E+2|0;u=E+4|0;v=K+4|0;w=C+4|0;x=a+40|0;y=a+64|0;t=k[c>>2]|0;s=0;m=0;do{q=t+s|0;l=z;n=k[l>>2]|0;l=k[l+4>>2]|0;p=A;p=tq(q|0,((q|0)<0)<<31>>31|0,k[p>>2]|0,k[p+4>>2]|0)|0;l=kq(p|0,L|0,n|0,l|0)|0;l=(k[k[b>>2]>>2]|0)+l|0;i[E>>0]=i[l>>0]|0;i[E+1>>0]=i[l+1>>0]|0;i[E+2>>0]=i[l+2>>0]|0;i[E+3>>0]=i[l+3>>0]|0;i[E+4>>0]=i[l+4>>0]|0;i[E+5>>0]=i[l+5>>0]|0;l=j[E>>1]|0;n=j[B>>1]|0;p=j[u>>1]|0;q=((l&65535^318)+239^n&65535)+239^p&65535;e=k[v>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=q&g;else h=(q>>>0)%(e>>>0)|0;c=k[(k[K>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(D=k[c>>2]|0,(D|0)!=0):0){b:do if(d){d=D;while(1){if((k[d+4>>2]&g|0)!=(h|0)){F=25;break a}if(((j[d+8>>1]|0)==l<<16>>16?(j[d+10>>1]|0)==n<<16>>16:0)?(j[d+12>>1]|0)==p<<16>>16:0)break b;d=k[d>>2]|0;if(!d){F=25;break a}}}else{d=D;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){F=25;break a}if(((j[d+8>>1]|0)==l<<16>>16?(j[d+10>>1]|0)==n<<16>>16:0)?(j[d+12>>1]|0)==p<<16>>16:0)break b;d=k[d>>2]|0;if(!d){F=25;break a}}}while(0);k[f+(s<<2)>>2]=k[d+16>>2]}else F=25}else F=25;while(0);if((F|0)==25){F=0;d=aq(20)|0;j[d+8>>1]=l;j[d+10>>1]=n;j[d+12>>1]=p;k[d+16>>2]=m;k[d+4>>2]=q;k[d>>2]=0;Mf(C,K,d);if(!(i[w>>0]|0))Jp(d);q=x;f=k[q>>2]|0;q=tq(f|0,k[q+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;mq((k[k[y>>2]>>2]|0)+q|0,E|0,f|0)|0;f=k[I>>2]|0;k[f+(s<<2)>>2]=m;m=m+1|0}s=s+1|0;e=k[H>>2]|0}while((s|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{l=a+84|0;if(!(i[l>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[I>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(G=g+(e<<2)|0,(h|0)!=(G|0)):0)k[c>>2]=h+(~((h+-4-G|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[H>>2]|0}if((e|0)>0){f=k[I>>2]|0;if(i[l>>0]|0)Aa(10792,10811,80,10843);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[H>>2]=m;f=m}}else f=0;d=k[I>>2]|0;c=d;if(d|0){e=k[J>>2]|0;if((e|0)!=(d|0))k[J>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[K+8>>2]|0;if(d|0)do{J=d;d=k[d>>2]|0;Jp(J)}while((d|0)!=0);d=k[K>>2]|0;k[K>>2]=0;if(!d){r=M;return f|0}Jp(d);r=M;return f|0}function Xf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=r;r=r+64|0;u=C+48|0;B=C+28|0;v=C+8|0;w=C;z=C+16|0;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;o[B+16>>2]=1.0;y=a+80|0;d=k[y>>2]|0;k[z>>2]=0;A=z+4|0;k[A>>2]=0;k[z+8>>2]=0;if(d){if(d>>>0>1073741823)zp(z);t=d<<2;f=aq(t)|0;k[z>>2]=f;e=f+(d<<2)|0;k[z+8>>2]=e;iq(f|0,0,t|0)|0;k[A>>2]=e;e=k[y>>2]|0;if((e|0)>0){q=k[c>>2]|0;s=b+48|0;t=b+40|0;m=u+4|0;n=a+40|0;p=a+64|0;h=0;g=0;while(1){D=q+h|0;e=s;c=k[e>>2]|0;e=k[e+4>>2]|0;d=t;d=tq(D|0,((D|0)<0)<<31>>31|0,k[d>>2]|0,k[d+4>>2]|0)|0;e=kq(d|0,L|0,c|0,e|0)|0;e=(k[k[b>>2]>>2]|0)+e|0;c=e;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+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;d=v;k[d>>2]=c;k[d+4>>2]=e;d=w;k[d>>2]=c;k[d+4>>2]=e;d=Qf(B,w)|0;if(!d){d=aq(20)|0;f=d+8|0;D=f;j[D>>1]=c;j[D+2>>1]=c>>>16;f=f+4|0;j[f>>1]=e;j[f+2>>1]=e>>>16;k[d+16>>2]=g;f=lq(c|0,e|0,16)|0;D=lq(c|0,e|0,48)|0;k[d+4>>2]=(((c&65535^318)+239^f&65535)+239^e&65535)+239^D;k[d>>2]=0;Rf(u,B,d);if(!(i[m>>0]|0))Jp(d);d=n;f=k[d>>2]|0;d=tq(f|0,k[d+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;mq((k[k[p>>2]>>2]|0)+d|0,v|0,f|0)|0;f=k[z>>2]|0;k[f+(h<<2)>>2]=g;d=g+1|0}else{k[f+(h<<2)>>2]=k[d+16>>2];d=g}h=h+1|0;e=k[y>>2]|0;if((h|0)>=(e|0)){n=d;break}else g=d}}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[z>>2]|0;d=d>>2;c=0;do{D=e+(c<<2)|0;k[D>>2]=k[f+(k[D>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(x=g+(e<<2)|0,(h|0)!=(x|0)):0)k[c>>2]=h+(~((h+-4-x|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[y>>2]|0}if((e|0)>0){f=k[z>>2]|0;if(i[m>>0]|0)Aa(10792,10811,80,10843);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[y>>2]=n;f=n}}else f=0;d=k[z>>2]|0;c=d;if(d|0){e=k[A>>2]|0;if((e|0)!=(d|0))k[A>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[B+8>>2]|0;if(d|0)do{D=d;d=k[d>>2]|0;Jp(D)}while((d|0)!=0);d=k[B>>2]|0;k[B>>2]=0;if(!d){r=C;return f|0}Jp(d);r=C;return f|0}function Yf(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,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+48|0;y=G+40|0;F=G+16|0;z=G+12|0;D=G;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;o[F+16>>2]=1.0;C=a+80|0;d=k[C>>2]|0;k[D>>2]=0;E=D+4|0;k[E>>2]=0;k[D+8>>2]=0;if(d){if(d>>>0>1073741823)zp(D);x=d<<2;f=aq(x)|0;k[D>>2]=f;e=f+(d<<2)|0;k[D+8>>2]=e;iq(f|0,0,x|0)|0;k[E>>2]=e;e=k[C>>2]|0;if((e|0)>0){v=b+48|0;w=b+40|0;x=F+4|0;s=y+4|0;t=a+40|0;u=a+64|0;q=k[c>>2]|0;p=0;m=0;do{h=q+p|0;j=v;n=k[j>>2]|0;j=k[j+4>>2]|0;e=w;e=tq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;j=kq(e|0,L|0,n|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[z>>2]=j;n=j^318;e=k[x>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&n;else h=(n>>>0)%(e>>>0)|0;d=k[(k[F>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){A=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));else do{d=k[d>>2]|0;if(!d){A=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));k[f+(p<<2)>>2]=k[d+12>>2]}else A=20}else A=20;while(0);if((A|0)==20){A=0;d=aq(16)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+4>>2]=n;k[d>>2]=0;Se(y,F,d);if(!(i[s>>0]|0))Jp(d);n=t;f=k[n>>2]|0;n=tq(f|0,k[n+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;mq((k[k[u>>2]>>2]|0)+n|0,z|0,f|0)|0;f=k[D>>2]|0;k[f+(p<<2)>>2]=m;m=m+1|0}p=p+1|0;e=k[C>>2]|0}while((p|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[D>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(B=g+(e<<2)|0,(h|0)!=(B|0)):0)k[c>>2]=h+(~((h+-4-B|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[C>>2]|0}if((e|0)>0){f=k[D>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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[C>>2]=m;f=m}}else f=0;d=k[D>>2]|0;c=d;if(d|0){e=k[E>>2]|0;if((e|0)!=(d|0))k[E>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[F+8>>2]|0;if(d|0)do{E=d;d=k[d>>2]|0;Jp(E)}while((d|0)!=0);d=k[F>>2]|0;k[F>>2]=0;if(!d){r=G;return f|0}Jp(d);r=G;return f|0}function Zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+48|0;z=I+40|0;H=I+20|0;B=I;F=I+8|0;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;k[H+12>>2]=0;o[H+16>>2]=1.0;E=a+80|0;d=k[E>>2]|0;k[F>>2]=0;G=F+4|0;k[G>>2]=0;k[F+8>>2]=0;if(d){if(d>>>0>1073741823)zp(F);y=d<<2;f=aq(y)|0;k[F>>2]=f;e=f+(d<<2)|0;k[F+8>>2]=e;iq(f|0,0,y|0)|0;k[G>>2]=e;e=k[E>>2]|0;if((e|0)>0){w=b+48|0;x=b+40|0;y=H+4|0;t=z+4|0;u=a+40|0;v=a+64|0;s=k[c>>2]|0;q=0;m=0;do{e=s+q|0;n=w;j=k[n>>2]|0;n=k[n+4>>2]|0;p=x;p=tq(e|0,((e|0)<0)<<31>>31|0,k[p>>2]|0,k[p+4>>2]|0)|0;n=kq(p|0,L|0,j|0,n|0)|0;n=(k[k[b>>2]>>2]|0)+n|0;j=n;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;n=n+4|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;p=B;k[p>>2]=j;k[p+4>>2]=n;p=(j^318)+239^n;e=k[y>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[H>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(A=k[c>>2]|0,(A|0)!=0):0){b:do if(d){d=A;while(1){if((k[d+4>>2]&g|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}else{d=A;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}while(0);k[f+(q<<2)>>2]=k[d+16>>2]}else C=23}else C=23;while(0);if((C|0)==23){C=0;d=aq(20)|0;h=d+8|0;k[h>>2]=j;k[h+4>>2]=n;k[d+16>>2]=m;k[d+4>>2]=p;k[d>>2]=0;Xe(z,H,d);if(!(i[t>>0]|0))Jp(d);p=u;f=k[p>>2]|0;p=tq(f|0,k[p+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;mq((k[k[v>>2]>>2]|0)+p|0,B|0,f|0)|0;f=k[F>>2]|0;k[f+(q<<2)>>2]=m;m=m+1|0}q=q+1|0;e=k[E>>2]|0}while((q|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[F>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-D|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[E>>2]|0}if((e|0)>0){f=k[F>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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]=m;f=m}}else f=0;d=k[F>>2]|0;c=d;if(d|0){e=k[G>>2]|0;if((e|0)!=(d|0))k[G>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[H+8>>2]|0;if(d|0)do{G=d;d=k[d>>2]|0;Jp(G)}while((d|0)!=0);d=k[H>>2]|0;k[H>>2]=0;if(!d){r=I;return f|0}Jp(d);r=I;return f|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,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+64|0;B=K+48|0;J=K+24|0;D=K+12|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)zp(H);A=d<<2;f=aq(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;iq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=D+4|0;t=D+8|0;u=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;s=k[c>>2]|0;q=0;l=0;do{p=s+q|0;c=y;d=k[c>>2]|0;c=k[c+4>>2]|0;e=z;e=tq(p|0,((p|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;c=kq(e|0,L|0,d|0,c|0)|0;d=D;c=(k[k[b>>2]>>2]|0)+c|0;e=d+12|0;do{i[d>>0]=i[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));j=k[D>>2]|0;m=k[A>>2]|0;n=k[t>>2]|0;p=((j^318)+239^m)+239^n;e=k[u>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}while(0);k[f+(q<<2)>>2]=k[d+20>>2]}else E=25}else E=25;while(0);if((E|0)==25){E=0;d=aq(24)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+16>>2]=n;k[d+20>>2]=l;k[d+4>>2]=p;k[d>>2]=0;$e(B,J,d);if(!(i[v>>0]|0))Jp(d);p=w;f=k[p>>2]|0;p=tq(f|0,k[p+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;mq((k[k[x>>2]>>2]|0)+p|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(q<<2)>>2]=l;l=l+1|0}q=q+1|0;e=k[G>>2]|0}while((q|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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]=l;f=l}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Jp(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Jp(d);r=K;return f|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,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;u=C+88|0;B=C+64|0;v=C+48|0;w=C+32|0;z=C+16|0;t=C;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;o[B+16>>2]=1.0;y=a+80|0;d=k[y>>2]|0;k[z>>2]=0;A=z+4|0;k[A>>2]=0;k[z+8>>2]=0;if(d){if(d>>>0>1073741823)zp(z);s=d<<2;f=aq(s)|0;k[z>>2]=f;e=f+(d<<2)|0;k[z+8>>2]=e;iq(f|0,0,s|0)|0;k[A>>2]=e;e=k[y>>2]|0;if((e|0)>0){p=k[c>>2]|0;q=b+48|0;s=b+40|0;j=u+4|0;m=a+40|0;n=a+64|0;h=0;l=0;do{g=p+h|0;d=q;c=k[d>>2]|0;d=k[d+4>>2]|0;e=s;e=tq(g|0,((g|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;d=kq(e|0,L|0,c|0,d|0)|0;d=(k[k[b>>2]>>2]|0)+d|0;c=v;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));c=w;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));d=df(B,w)|0;if(!d){k[t>>2]=k[w>>2];k[t+4>>2]=k[w+4>>2];k[t+8>>2]=k[w+8>>2];k[t+12>>2]=k[w+12>>2];d=aq(28)|0;g=d+8|0;k[g>>2]=k[t>>2];k[g+4>>2]=k[t+4>>2];k[g+8>>2]=k[t+8>>2];k[g+12>>2]=k[t+12>>2];k[d+24>>2]=l;k[d+4>>2]=(((k[g>>2]^318)+239^k[d+12>>2])+239^k[d+16>>2])+239^k[d+20>>2];k[d>>2]=0;ef(u,B,d);if(!(i[j>>0]|0))Jp(d);g=m;f=k[g>>2]|0;g=tq(f|0,k[g+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;mq((k[k[n>>2]>>2]|0)+g|0,v|0,f|0)|0;f=k[z>>2]|0;k[f+(h<<2)>>2]=l;l=l+1|0}else k[f+(h<<2)>>2]=k[d+24>>2];h=h+1|0;e=k[y>>2]|0}while((h|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[z>>2]|0;d=d>>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;g=a+68|0;h=a+72|0;f=k[h>>2]|0;c=k[g>>2]|0;d=f-c>>2;if(e>>>0<=d>>>0){if(e>>>0>>0?(x=c+(e<<2)|0,(f|0)!=(x|0)):0)k[h>>2]=f+(~((f+-4-x|0)>>>2)<<2)}else{Ve(g,e-d|0,2864);e=k[y>>2]|0}if((e|0)>0){f=k[z>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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[y>>2]=l;f=l}}else f=0;d=k[z>>2]|0;c=d;if(d|0){e=k[A>>2]|0;if((e|0)!=(d|0))k[A>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[B+8>>2]|0;if(d|0)do{A=d;d=k[d>>2]|0;Jp(A)}while((d|0)!=0);d=k[B>>2]|0;k[B>>2]=0;if(!d){r=C;return f|0}Jp(d);r=C;return f|0}function ag(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+48|0;y=G+40|0;F=G+16|0;z=G+12|0;D=G;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;o[F+16>>2]=1.0;C=a+80|0;d=k[C>>2]|0;k[D>>2]=0;E=D+4|0;k[E>>2]=0;k[D+8>>2]=0;if(d){if(d>>>0>1073741823)zp(D);x=d<<2;f=aq(x)|0;k[D>>2]=f;e=f+(d<<2)|0;k[D+8>>2]=e;iq(f|0,0,x|0)|0;k[E>>2]=e;e=k[C>>2]|0;if((e|0)>0){v=b+48|0;w=b+40|0;x=F+4|0;s=y+4|0;t=a+40|0;u=a+64|0;q=k[c>>2]|0;p=0;m=0;do{h=q+p|0;j=v;n=k[j>>2]|0;j=k[j+4>>2]|0;e=w;e=tq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;j=kq(e|0,L|0,n|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[z>>2]=j;n=j^318;e=k[x>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&n;else h=(n>>>0)%(e>>>0)|0;d=k[(k[F>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){A=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));else do{d=k[d>>2]|0;if(!d){A=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));k[f+(p<<2)>>2]=k[d+12>>2]}else A=20}else A=20;while(0);if((A|0)==20){A=0;d=aq(16)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+4>>2]=n;k[d>>2]=0;Se(y,F,d);if(!(i[s>>0]|0))Jp(d);n=t;f=k[n>>2]|0;n=tq(f|0,k[n+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;mq((k[k[u>>2]>>2]|0)+n|0,z|0,f|0)|0;f=k[D>>2]|0;k[f+(p<<2)>>2]=m;m=m+1|0}p=p+1|0;e=k[C>>2]|0}while((p|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[D>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(B=g+(e<<2)|0,(h|0)!=(B|0)):0)k[c>>2]=h+(~((h+-4-B|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[C>>2]|0}if((e|0)>0){f=k[D>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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[C>>2]=m;f=m}}else f=0;d=k[D>>2]|0;c=d;if(d|0){e=k[E>>2]|0;if((e|0)!=(d|0))k[E>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[F+8>>2]|0;if(d|0)do{E=d;d=k[d>>2]|0;Jp(E)}while((d|0)!=0);d=k[F>>2]|0;k[F>>2]=0;if(!d){r=G;return f|0}Jp(d);r=G;return f|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,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+48|0;z=I+40|0;H=I+20|0;B=I;F=I+8|0;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;k[H+12>>2]=0;o[H+16>>2]=1.0;E=a+80|0;d=k[E>>2]|0;k[F>>2]=0;G=F+4|0;k[G>>2]=0;k[F+8>>2]=0;if(d){if(d>>>0>1073741823)zp(F);y=d<<2;f=aq(y)|0;k[F>>2]=f;e=f+(d<<2)|0;k[F+8>>2]=e;iq(f|0,0,y|0)|0;k[G>>2]=e;e=k[E>>2]|0;if((e|0)>0){w=b+48|0;x=b+40|0;y=H+4|0;t=z+4|0;u=a+40|0;v=a+64|0;s=k[c>>2]|0;q=0;m=0;do{e=s+q|0;n=w;j=k[n>>2]|0;n=k[n+4>>2]|0;p=x;p=tq(e|0,((e|0)<0)<<31>>31|0,k[p>>2]|0,k[p+4>>2]|0)|0;n=kq(p|0,L|0,j|0,n|0)|0;n=(k[k[b>>2]>>2]|0)+n|0;j=n;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;n=n+4|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;p=B;k[p>>2]=j;k[p+4>>2]=n;p=(j^318)+239^n;e=k[y>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[H>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(A=k[c>>2]|0,(A|0)!=0):0){b:do if(d){d=A;while(1){if((k[d+4>>2]&g|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}else{d=A;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}while(0);k[f+(q<<2)>>2]=k[d+16>>2]}else C=23}else C=23;while(0);if((C|0)==23){C=0;d=aq(20)|0;h=d+8|0;k[h>>2]=j;k[h+4>>2]=n;k[d+16>>2]=m;k[d+4>>2]=p;k[d>>2]=0;Xe(z,H,d);if(!(i[t>>0]|0))Jp(d);p=u;f=k[p>>2]|0;p=tq(f|0,k[p+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;mq((k[k[v>>2]>>2]|0)+p|0,B|0,f|0)|0;f=k[F>>2]|0;k[f+(q<<2)>>2]=m;m=m+1|0}q=q+1|0;e=k[E>>2]|0}while((q|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[F>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-D|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[E>>2]|0}if((e|0)>0){f=k[F>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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]=m;f=m}}else f=0;d=k[F>>2]|0;c=d;if(d|0){e=k[G>>2]|0;if((e|0)!=(d|0))k[G>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[H+8>>2]|0;if(d|0)do{G=d;d=k[d>>2]|0;Jp(G)}while((d|0)!=0);d=k[H>>2]|0;k[H>>2]=0;if(!d){r=I;return f|0}Jp(d);r=I;return f|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,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+64|0;B=K+48|0;J=K+24|0;D=K+12|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)zp(H);A=d<<2;f=aq(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;iq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=D+4|0;t=D+8|0;u=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;s=k[c>>2]|0;q=0;l=0;do{p=s+q|0;c=y;d=k[c>>2]|0;c=k[c+4>>2]|0;e=z;e=tq(p|0,((p|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;c=kq(e|0,L|0,d|0,c|0)|0;d=D;c=(k[k[b>>2]>>2]|0)+c|0;e=d+12|0;do{i[d>>0]=i[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));j=k[D>>2]|0;m=k[A>>2]|0;n=k[t>>2]|0;p=((j^318)+239^m)+239^n;e=k[u>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}while(0);k[f+(q<<2)>>2]=k[d+20>>2]}else E=25}else E=25;while(0);if((E|0)==25){E=0;d=aq(24)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+16>>2]=n;k[d+20>>2]=l;k[d+4>>2]=p;k[d>>2]=0;$e(B,J,d);if(!(i[v>>0]|0))Jp(d);p=w;f=k[p>>2]|0;p=tq(f|0,k[p+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;mq((k[k[x>>2]>>2]|0)+p|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(q<<2)>>2]=l;l=l+1|0}q=q+1|0;e=k[G>>2]|0}while((q|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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]=l;f=l}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Jp(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Jp(d);r=K;return f|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,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;u=C+88|0;B=C+64|0;v=C+48|0;w=C+32|0;z=C+16|0;t=C;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;o[B+16>>2]=1.0;y=a+80|0;d=k[y>>2]|0;k[z>>2]=0;A=z+4|0;k[A>>2]=0;k[z+8>>2]=0;if(d){if(d>>>0>1073741823)zp(z);s=d<<2;f=aq(s)|0;k[z>>2]=f;e=f+(d<<2)|0;k[z+8>>2]=e;iq(f|0,0,s|0)|0;k[A>>2]=e;e=k[y>>2]|0;if((e|0)>0){p=k[c>>2]|0;q=b+48|0;s=b+40|0;j=u+4|0;m=a+40|0;n=a+64|0;h=0;l=0;do{g=p+h|0;d=q;c=k[d>>2]|0;d=k[d+4>>2]|0;e=s;e=tq(g|0,((g|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;d=kq(e|0,L|0,c|0,d|0)|0;d=(k[k[b>>2]>>2]|0)+d|0;c=v;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));c=w;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));d=df(B,w)|0;if(!d){k[t>>2]=k[w>>2];k[t+4>>2]=k[w+4>>2];k[t+8>>2]=k[w+8>>2];k[t+12>>2]=k[w+12>>2];d=aq(28)|0;g=d+8|0;k[g>>2]=k[t>>2];k[g+4>>2]=k[t+4>>2];k[g+8>>2]=k[t+8>>2];k[g+12>>2]=k[t+12>>2];k[d+24>>2]=l;k[d+4>>2]=(((k[g>>2]^318)+239^k[d+12>>2])+239^k[d+16>>2])+239^k[d+20>>2];k[d>>2]=0;ef(u,B,d);if(!(i[j>>0]|0))Jp(d);g=m;f=k[g>>2]|0;g=tq(f|0,k[g+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;mq((k[k[n>>2]>>2]|0)+g|0,v|0,f|0)|0;f=k[z>>2]|0;k[f+(h<<2)>>2]=l;l=l+1|0}else k[f+(h<<2)>>2]=k[d+24>>2];h=h+1|0;e=k[y>>2]|0}while((h|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[z>>2]|0;d=d>>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;g=a+68|0;h=a+72|0;f=k[h>>2]|0;c=k[g>>2]|0;d=f-c>>2;if(e>>>0<=d>>>0){if(e>>>0>>0?(x=c+(e<<2)|0,(f|0)!=(x|0)):0)k[h>>2]=f+(~((f+-4-x|0)>>>2)<<2)}else{Ve(g,e-d|0,2864);e=k[y>>2]|0}if((e|0)>0){f=k[z>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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[y>>2]=l;f=l}}else f=0;d=k[z>>2]|0;c=d;if(d|0){e=k[A>>2]|0;if((e|0)!=(d|0))k[A>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[B+8>>2]|0;if(d|0)do{A=d;d=k[d>>2]|0;Jp(A)}while((d|0)!=0);d=k[B>>2]|0;k[B>>2]=0;if(!d){r=C;return f|0}Jp(d);r=C;return f|0}function eg(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2876;b=k[a+52>>2]|0;c=b;if(b|0){d=a+56|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+40>>2]|0;c=b;if(b|0){d=a+44|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+28>>2]|0;c=b;if(b|0){d=a+32|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+16>>2]|0;if(!b){a=a+4|0;fg(a);return}c=a+20|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Jp(b);a=a+4|0;fg(a);return}function fg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a>>2]|0;if(!b)return;h=a+4|0;c=k[h>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[h>>2]=f;g=k[f>>2]|0;k[f>>2]=0;if(g|0){c=k[g+68>>2]|0;d=c;if(c|0){e=g+72|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(c)}f=g+64|0;c=k[f>>2]|0;k[f>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;Jp(d)}Jp(c)}Jp(g)}c=k[h>>2]|0}while((c|0)!=(b|0));b=k[a>>2]|0}Jp(b);return}function gg(a){a=a|0;eg(a);Jp(a);return}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;i=r;r=r+16|0;d=i;k[d>>2]=b;if((b|0)<=-1)Aa(5686,5698,93,5725);h=a+4|0;if(((k[a+8>>2]|0)-(k[h>>2]|0)>>2|0)<=(b|0))ig(h,b+1|0);e=k[(k[c>>2]|0)+56>>2]|0;do if((e|0)<4){f=a+16+(e*12|0)+4|0;g=k[f>>2]|0;if((g|0)==(k[a+16+(e*12|0)+8>>2]|0)){lg(a+16+(e*12|0)|0,d);break}else{k[g>>2]=b;k[f>>2]=g+4;break}}while(0);a=(k[h>>2]|0)+(b<<2)|0;b=k[c>>2]|0;k[c>>2]=0;h=k[a>>2]|0;k[a>>2]=b;if(!h){r=i;return}d=k[h+68>>2]|0;e=d;if(d|0){f=h+72|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}a=h+64|0;d=k[a>>2]|0;k[a>>2]=0;if(d|0){e=k[d>>2]|0;if(e|0){f=d+4|0;if((k[f>>2]|0)!=(e|0))k[f>>2]=e;Jp(e)}Jp(d)}Jp(h);r=i;return}function ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=a+4|0;c=k[g>>2]|0;d=k[a>>2]|0;e=c-d>>2;if(e>>>0>>0){jg(a,b-e|0);return}if(e>>>0<=b>>>0)return;f=d+(b<<2)|0;if((c|0)==(f|0))return;do{b=c+-4|0;k[g>>2]=b;a=k[b>>2]|0;k[b>>2]=0;if(a|0){c=k[a+68>>2]|0;d=c;if(c|0){e=a+72|0;b=k[e>>2]|0;if((b|0)!=(c|0))k[e>>2]=b+(~((b+-4-d|0)>>>2)<<2);Jp(c)}b=a+64|0;c=k[b>>2]|0;k[b>>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;Jp(d)}Jp(c)}Jp(a)}c=k[g>>2]|0}while((c|0)!=(f|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,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;q=s;o=a+8|0;j=k[o>>2]|0;p=a+4|0;c=k[p>>2]|0;if(j-c>>2>>>0>=b>>>0){iq(c|0,0,b<<2|0)|0;k[p>>2]=c+(b<<2);r=s;return}f=k[a>>2]|0;c=(c-f>>2)+b|0;if(c>>>0>1073741823)zp(a);i=f;d=j-f|0;if(d>>2>>>0<536870911){g=d>>1;g=g>>>0>>0?c:g}else g=1073741823;e=k[p>>2]|0;k[q+12>>2]=0;k[q+16>>2]=a+8;d=e;if(!g)h=0;else h=aq(g<<2)|0;k[q>>2]=h;c=h+(e-f>>2<<2)|0;l=q+8|0;m=q+4|0;k[m>>2]=c;n=q+12|0;k[n>>2]=h+(g<<2);iq(c|0,0,b<<2|0)|0;k[l>>2]=c+(b<<2);if((d|0)==(i|0))d=j;else{do{d=d+-4|0;j=k[d>>2]|0;k[d>>2]=0;k[c+-4>>2]=j;c=(k[m>>2]|0)+-4|0;k[m>>2]=c}while((d|0)!=(i|0));f=k[a>>2]|0;e=k[p>>2]|0;d=k[o>>2]|0}k[a>>2]=c;k[m>>2]=f;k[p>>2]=k[l>>2];k[l>>2]=e;k[o>>2]=k[n>>2];k[n>>2]=d;k[q>>2]=k[m>>2];kg(q);r=s;return}function kg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=k[a+4>>2]|0;h=a+8|0;b=k[h>>2]|0;if((b|0)!=(g|0))do{e=b+-4|0;k[h>>2]=e;f=k[e>>2]|0;k[e>>2]=0;if(f|0){b=k[f+68>>2]|0;c=b;if(b|0){d=f+72|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}e=f+64|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0){c=k[b>>2]|0;if(c|0){d=b+4|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;Jp(c)}Jp(b)}Jp(f)}b=k[h>>2]|0}while((b|0)!=(g|0));b=k[a>>2]|0;if(!b)return;Jp(b);return}function lg(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;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)zp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;mq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Jp(i);return}function mg(a){a=a|0;var b=0,c=0,d=0;if(!(k[a+64>>2]|0)){d=0;return d|0}d=a+4|0;c=a+8|0;a=k[d>>2]|0;if(((k[c>>2]|0)-a|0)>0)b=0;else{d=1;return d|0}while(1){a=k[a+(b<<2)>>2]|0;b=b+1|0;if(!(Pe(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 ng(a){a=a|0;var b=0,c=0,d=0,e=0.0,f=0.0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=r;r=r+64|0;R=S+28|0;P=S+16|0;M=S+4|0;K=S;Q=a;F=a+64|0;b=k[F>>2]|0;k[R>>2]=0;k[R+4>>2]=0;k[R+8>>2]=0;k[R+12>>2]=0;k[R+16>>2]=Q;H=R+20|0;o[H>>2]=1.0;k[R+24>>2]=Q;og(R,b);b=k[F>>2]|0;k[P>>2]=0;Q=P+4|0;k[Q>>2]=0;k[P+8>>2]=0;do if(b)if(b>>>0>1073741823)zp(P);else{O=b<<2;E=aq(O)|0;k[P>>2]=E;c=E+(b<<2)|0;k[P+8>>2]=c;iq(E|0,0,O|0)|0;k[Q>>2]=c;c=k[F>>2]|0;break}else c=0;while(0);k[M>>2]=0;O=M+4|0;k[O>>2]=0;k[M+8>>2]=0;k[K>>2]=0;a:do if((c|0)>0){y=R+16|0;A=R+4|0;B=R+12|0;C=R+8|0;D=M+8|0;z=R+24|0;E=0;x=0;b:while(1){t=k[y>>2]|0;s=t+4|0;t=t+8|0;b=k[s>>2]|0;c=(k[t>>2]|0)-b|0;if((c|0)>0){g=c>>2;c=0;h=0;do{d=k[b+(h<<2)>>2]|0;if(!(i[d+84>>0]|0))d=k[(k[d+68>>2]|0)+(E<<2)>>2]|0;else d=E;c=d<<2^c<<1;h=h+1|0}while((h|0)<(g|0))}else c=0;w=k[A>>2]|0;v=(w|0)==0;c:do if(!v){m=w+-1|0;d=(m&w|0)==0;if(d)q=m&c;else q=(c>>>0)%(w>>>0)|0;b=k[(k[R>>2]|0)+(q<<2)>>2]|0;if((b|0)!=0?(I=k[b>>2]|0,(I|0)!=0):0){p=k[z>>2]|0;n=p+4|0;p=p+8|0;d:do if(d){b=I;while(1){if((k[b+4>>2]&m|0)!=(q|0)){N=41;break c}l=k[b+8>>2]|0;d=k[n>>2]|0;c=(k[p>>2]|0)-d|0;if((c|0)<=0)break d;j=c>>2;h=0;while(1){if((j|0)<=(h|0)){N=35;break b}c=k[d+(h<<2)>>2]|0;if(!(i[c+84>>0]|0)){g=k[c+68>>2]|0;c=k[g+(l<<2)>>2]|0;g=k[g+(E<<2)>>2]|0}else{c=l;g=E}h=h+1|0;if((c|0)!=(g|0))break;if((h|0)>=(j|0)){N=39;break d}}b=k[b>>2]|0;if(!b){N=41;break c}}}else{b=I;while(1){if((((k[b+4>>2]|0)>>>0)%(w>>>0)|0|0)!=(q|0)){N=41;break c}l=k[b+8>>2]|0;d=k[n>>2]|0;c=(k[p>>2]|0)-d|0;if((c|0)<=0)break d;j=c>>2;h=0;while(1){if((j|0)<=(h|0)){N=35;break b}c=k[d+(h<<2)>>2]|0;if(!(i[c+84>>0]|0)){g=k[c+68>>2]|0;c=k[g+(l<<2)>>2]|0;g=k[g+(E<<2)>>2]|0}else{c=l;g=E}h=h+1|0;if((c|0)!=(g|0))break;if((h|0)>=(j|0)){N=39;break d}}b=k[b>>2]|0;if(!b){N=41;break c}}}while(0);if((N|0)==39){N=0;if(!b){N=41;break}}k[(k[P>>2]|0)+(E<<2)>>2]=k[b+12>>2];c=x}else N=41}else N=41;while(0);do if((N|0)==41){N=0;u=aq(16)|0;k[u+8>>2]=E;k[u+12>>2]=x;b=k[s>>2]|0;c=(k[t>>2]|0)-b|0;if((c|0)>0){j=c>>2;c=0;g=0;do{d=k[b+(g<<2)>>2]|0;if(!(i[d+84>>0]|0))d=k[(k[d+68>>2]|0)+(E<<2)>>2]|0;else d=E;c=d<<2^c<<1;g=g+1|0}while((g|0)<(j|0));h=u+4|0;k[h>>2]=c;k[u>>2]=0;d=0;g=0;while(1){c=k[b+(g<<2)>>2]|0;if(!(i[c+84>>0]|0))c=k[(k[c+68>>2]|0)+(E<<2)>>2]|0;else c=E;c=c<<2^d<<1;g=g+1|0;if((g|0)>=(j|0)){t=u;b=c;break}else d=c}}else{h=u+4|0;k[h>>2]=0;k[u>>2]=0;t=u;b=0}k[h>>2]=b;e:do if(!v){p=w+-1|0;d=(p&w|0)==0;if(d)b=p&b;else b=(b>>>0)%(w>>>0)|0;c=k[(k[R>>2]|0)+(b<<2)>>2]|0;if((c|0)!=0?(J=k[c>>2]|0,(J|0)!=0):0){s=k[z>>2]|0;q=s+4|0;s=s+8|0;f:do if(d){n=J;while(1){if((k[n+4>>2]&p|0)!=(b|0)){N=77;break e}m=k[n+8>>2]|0;d=k[q>>2]|0;c=(k[s>>2]|0)-d|0;if((c|0)<=0)break f;l=c>>2;j=0;while(1){if((l|0)<=(j|0)){N=73;break b}c=k[d+(j<<2)>>2]|0;if(!(i[c+84>>0]|0)){g=k[c+68>>2]|0;c=k[g+(m<<2)>>2]|0;g=k[g+(E<<2)>>2]|0}else{c=m;g=E}j=j+1|0;if((c|0)!=(g|0))break;if((j|0)>=(l|0))break f}n=k[n>>2]|0;if(!n){N=77;break e}}}else{n=J;while(1){if((((k[n+4>>2]|0)>>>0)%(w>>>0)|0|0)!=(b|0)){N=77;break e}m=k[n+8>>2]|0;d=k[q>>2]|0;c=(k[s>>2]|0)-d|0;if((c|0)<=0)break f;l=c>>2;j=0;while(1){if((l|0)<=(j|0)){N=73;break b}c=k[d+(j<<2)>>2]|0;if(!(i[c+84>>0]|0)){g=k[c+68>>2]|0;c=k[g+(m<<2)>>2]|0;g=k[g+(E<<2)>>2]|0}else{c=m;g=E}j=j+1|0;if((c|0)!=(g|0))break;if((j|0)>=(l|0))break f}n=k[n>>2]|0;if(!n){N=77;break e}}}while(0);Jp(u)}else N=77}else{b=0;N=77}while(0);if((N|0)==77){N=0;e=+(((k[B>>2]|0)+1|0)>>>0);f=+o[H>>2];do if(v|e>+(w>>>0)*f){if(w>>>0>2)b=(w+-1&w|0)==0;else b=0;d=(b&1|w<<1)^1;b=~~+ga(+(e/f))>>>0;og(R,d>>>0>>0?b:d);d=k[A>>2]|0;b=k[h>>2]|0;c=d+-1|0;if(!(c&d)){g=d;b=c&b;break}else{g=d;b=(b>>>0)%(d>>>0)|0;break}}else g=w;while(0);b=(k[R>>2]|0)+(b<<2)|0;c=k[b>>2]|0;if(!c){k[u>>2]=k[C>>2];k[C>>2]=u;k[b>>2]=C;b=k[t>>2]|0;if(b|0){b=k[b+4>>2]|0;c=g+-1|0;if(!(c&g))b=b&c;else b=(b>>>0)%(g>>>0)|0;k[(k[R>>2]|0)+(b<<2)>>2]=u}}else{k[u>>2]=k[c>>2];k[c>>2]=u}k[B>>2]=(k[B>>2]|0)+1}c=x+1|0;k[(k[P>>2]|0)+(E<<2)>>2]=x;b=k[O>>2]|0;if((b|0)==(k[D>>2]|0)){qg(M,K);break}else{k[b>>2]=E;k[O>>2]=b+4;break}}while(0);E=E+1|0;k[K>>2]=E;b=k[F>>2]|0;if((E|0)>=(b|0)){G=b;L=c;break a}else x=c}if((N|0)==35)Aa(9725,9687,63,9715);else if((N|0)==73)Aa(9725,9687,63,9715)}else{G=c;L=0}while(0);if((L|0)!=(G|0)){db[k[(k[a>>2]|0)+20>>2]&7](a,P,M);k[F>>2]=L}b=k[M>>2]|0;c=b;if(b|0){d=k[O>>2]|0;if((d|0)!=(b|0))k[O>>2]=d+(~((d+-4-c|0)>>>2)<<2);Jp(b)}b=k[P>>2]|0;c=b;if(b|0){d=k[Q>>2]|0;if((d|0)!=(b|0))k[Q>>2]=d+(~((d+-4-c|0)>>>2)<<2);Jp(b)}b=k[R+8>>2]|0;if(b|0)do{Q=b;b=k[b>>2]|0;Jp(Q)}while((b|0)!=0);b=k[R>>2]|0;k[R>>2]=0;if(!b){r=S;return}Jp(b);r=S;return}function og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){pg(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+20>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;pg(a,b);return}function pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Jp(c);k[d>>2]=0;return}u=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=u;if(c|0)Jp(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;f=k[d>>2]|0;if(!f)return;c=k[f+4>>2]|0;t=b+-1|0;u=(t&b|0)==0;if(u)e=c&t;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[f>>2]|0;if(!c)return;s=a+24|0;g=f;d=f;a:while(1){r=d;b:while(1){while(1){d=k[c+4>>2]|0;if(u)q=d&t;else q=(d>>>0)%(b>>>0)|0;if((q|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(q<<2)|0;if(!(k[d>>2]|0)){e=q;f=c;c=r;break b}d=k[c>>2]|0;c:do if(!d)d=c;else{n=k[c+8>>2]|0;m=k[s>>2]|0;p=k[m+4>>2]|0;m=(k[m+8>>2]|0)-p|0;o=m>>2;if((m|0)>0)l=c;else while(1){f=k[d>>2]|0;if(!f)break c;else d=f}while(1){j=k[d+8>>2]|0;m=0;do{if((o|0)<=(m|0)){c=31;break a}f=k[p+(m<<2)>>2]|0;if(!(i[f+84>>0]|0)){h=k[f+68>>2]|0;f=k[h+(n<<2)>>2]|0;h=k[h+(j<<2)>>2]|0}else{f=n;h=j}m=m+1|0;if((f|0)!=(h|0)){d=l;break c}}while((m|0)<(o|0));f=k[d>>2]|0;if(!f)break;else{l=d;d=f}}}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[g>>2]|0;if(!c){c=36;break a}}c=k[d>>2]|0;if(!c){c=36;break a}else{g=d;r=d}}k[d>>2]=c;c=k[f>>2]|0;if(!c){c=36;break}else{g=f;d=f}}if((c|0)==31)Aa(9725,9687,63,9715);else if((c|0)==36)return}function qg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)zp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;mq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Jp(i);return}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,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=a+8|0;o=a+4|0;q=0}else{j=k[b>>2]|0;l=a+4|0;h=a+8|0;c=0;b:while(1){f=k[d>>2]|0;g=k[j+(f<<2)>>2]|0;if((g|0)>=(c|0)){c=k[l>>2]|0;b=(k[h>>2]|0)-c|0;if((b|0)>0){b=b>>2;e=0;do{a=k[c+(e<<2)>>2]|0;if(i[a+84>>0]|0)break b;a=k[a+68>>2]|0;k[a+(g<<2)>>2]=k[a+(f<<2)>>2];e=e+1|0}while((e|0)<(b|0))}c=g+1|0}d=d+4|0;if((d|0)==(m|0)){n=h;o=l;q=c;break a}}Aa(10792,10811,80,10843)}while(0);b=k[n>>2]|0;c=k[o>>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(q>>>0<=e>>>0){if(q>>>0>>0?(p=f+(q<<2)|0,(g|0)!=(p|0)):0)k[d>>2]=g+(~((g+-4-p|0)>>>2)<<2)}else{Ve(a,q-e|0,2900);c=k[o>>2]|0;b=k[n>>2]|0}h=h+1|0}while((h|0)<(b-c>>2|0));return}function sg(a){a=a|0;var b=0;k[a>>2]=2876;b=a+4|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[a+20>>2]=0;k[a+24>>2]=0;k[a+28>>2]=0;k[a+32>>2]=0;k[a+36>>2]=0;k[a+40>>2]=0;k[a+44>>2]=0;k[a+48>>2]=0;k[a+52>>2]=0;k[a+56>>2]=0;k[a+60>>2]=0;k[a+64>>2]=0;return}function tg(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>3){b=-1;return b|0}c=k[a+16+(b*12|0)>>2]|0;if(((k[a+16+(b*12|0)+4>>2]|0)-c|0)<=0){b=-1;return b|0}b=k[c>>2]|0;return b|0}function ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+16|0;d=h;c=k[(k[a>>2]|0)+8>>2]|0;f=a+4|0;g=a+8|0;e=(k[g>>2]|0)-(k[f>>2]|0)>>2;i=k[b>>2]|0;k[b>>2]=0;k[d>>2]=i;db[c&7](a,e,d);e=k[d>>2]|0;k[d>>2]=0;if(!e){g=k[g>>2]|0;i=k[f>>2]|0;i=g-i|0;i=i>>2;i=i+-1|0;r=h;return i|0}b=k[e+68>>2]|0;a=b;if(b|0){c=e+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-a|0)>>>2)<<2);Jp(b)}i=e+64|0;b=k[i>>2]|0;k[i>>2]=0;if(b|0){a=k[b>>2]|0;if(a|0){c=b+4|0;if((k[c>>2]|0)!=(a|0))k[c>>2]=a;Jp(a)}Jp(b)}Jp(e);g=k[g>>2]|0;i=k[f>>2]|0;i=g-i|0;i=i>>2;i=i+-1|0;r=h;return i|0}function vg(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2912;b=k[a+80>>2]|0;c=b;if(b|0){d=a+84|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);Jp(b)}b=k[a+68>>2]|0;if(!b){eg(a);return}c=a+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Jp(b);eg(a);return}function wg(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2912;b=k[a+80>>2]|0;c=b;if(b|0){d=a+84|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);Jp(b)}b=k[a+68>>2]|0;if(!b){eg(a);Jp(a);return}c=a+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Jp(b);eg(a);Jp(a);return}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;i=r;r=r+16|0;h=i;g=k[c>>2]|0;k[c>>2]=0;k[h>>2]=g;hg(a,b,h);g=k[h>>2]|0;k[h>>2]=0;if(g|0){c=k[g+68>>2]|0;d=c;if(c|0){e=g+72|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(c)}h=g+64|0;c=k[h>>2]|0;k[h>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;Jp(d)}Jp(c)}Jp(g)}h=a+68|0;a=a+72|0;c=k[a>>2]|0;f=k[h>>2]|0;g=c-f>>2;if((g|0)>(b|0)){r=i;return}d=b+1|0;e=c;if(d>>>0>g>>>0){yg(h,d-g|0);r=i;return}if(d>>>0>=g>>>0){r=i;return}c=f+(d<<2)|0;if((e|0)==(c|0)){r=i;return}k[a>>2]=e+(~((e+-4-c|0)>>>2)<<2);r=i;return}function yg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=a+8|0;e=k[l>>2]|0;m=a+4|0;c=k[m>>2]|0;f=c;if(e-c>>2>>>0>=b>>>0){c=b;d=f;while(1){k[d>>2]=1;c=c+-1|0;if(!c)break;else d=d+4|0}k[m>>2]=f+(b<<2);return}j=k[a>>2]|0;d=(c-j>>2)+b|0;if(d>>>0>1073741823)zp(a);c=e-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?d:c;e=k[m>>2]|0;d=e-j>>2;if(!c){h=0;c=0;g=e}else i=9}else{d=k[m>>2]|0;c=1073741823;e=d;d=d-j>>2;i=9}if((i|0)==9){h=c;c=aq(c<<2)|0;g=e}f=c+(d<<2)|0;d=c+(h<<2)|0;c=b;e=f;while(1){k[e>>2]=1;c=c+-1|0;if(!c)break;else e=e+4|0}h=g-j|0;i=f+(0-(h>>2)<<2)|0;mq(i|0,j|0,h|0)|0;k[a>>2]=i;k[m>>2]=f+(b<<2);k[l>>2]=d;if(!j)return;Jp(j);return}function zg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;rg(a,b,c);d=k[a+84>>2]|0;c=k[a+80>>2]|0;e=c;if((d-c|0)<=0)return;b=k[b>>2]|0;c=(d-c|0)/12|0;a=0;do{d=e+(a*12|0)|0;k[d>>2]=k[b+(k[d>>2]<<2)>>2];d=e+(a*12|0)+4|0;k[d>>2]=k[b+(k[d>>2]<<2)>>2];d=e+(a*12|0)+8|0;k[d>>2]=k[b+(k[d>>2]<<2)>>2];a=a+1|0}while((a|0)<(c|0));return}function Ag(a){a=a|0;sg(a);k[a>>2]=2912;a=a+68|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;return}function Bg(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 Cg(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=r;r=r+16|0;c=p+1|0;d=p;if(!b){a=0;r=p;return a|0}f=b+4|0;n=(((k[f>>2]|0)-(k[b>>2]|0)|0)/12|0)*3|0;i[c>>0]=0;Dg(a,n,c);n=b+24|0;o=b+28|0;c=(k[o>>2]|0)-(k[n>>2]|0)>>2;i[d>>0]=0;Dg(a+12|0,c,d);Eg(a+28|0,(((k[f>>2]|0)-(k[b>>2]|0)|0)/12|0)*3|0,2936);f=a+52|0;c=(k[o>>2]|0)-(k[n>>2]|0)|0;g=c>>2;h=a+60|0;j=k[f>>2]|0;if((k[h>>2]|0)-j>>2>>>0>>0){l=a+56|0;m=(k[l>>2]|0)-j|0;d=m>>2;if(!g)e=0;else e=aq(c)|0;q=e+(d<<2)|0;d=q+(0-d<<2)|0;c=j;mq(d|0,c|0,m|0)|0;k[f>>2]=d;k[l>>2]=q;k[h>>2]=e+(g<<2);if(j|0)Jp(c)}m=a+40|0;c=(k[o>>2]|0)-(k[n>>2]|0)|0;f=c>>2;g=a+48|0;h=k[m>>2]|0;if((k[g>>2]|0)-h>>2>>>0>>0){j=a+44|0;l=(k[j>>2]|0)-h|0;d=l>>2;if(!f)e=0;else e=aq(c)|0;q=e+(d<<2)|0;o=q+(0-d<<2)|0;c=h;mq(o|0,c|0,l|0)|0;k[m>>2]=o;k[j>>2]=q;k[g>>2]=e+(f<<2);if(h|0)Jp(c)}k[a+64>>2]=b;i[a+24>>0]=1;q=1;r=p;return q|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,j=0,l=0,m=0;l=r;r=r+16|0;j=l;e=a+4|0;k[e>>2]=0;if(!b){r=l;return}f=a+8|0;d=k[f>>2]|0;if(d<<5>>>0>>0){k[j>>2]=0;g=j+4|0;k[g>>2]=0;h=j+8|0;k[h>>2]=0;if((b|0)<0)zp(a);if(d<<5>>>0>1073741822)d=2147483647;else{d=d<<6;m=b+31&-32;d=d>>>0>>0?m:d}Dd(j,d);d=k[a>>2]|0;k[a>>2]=k[j>>2];k[j>>2]=d;m=k[e>>2]|0;k[e>>2]=b;k[g>>2]=m;m=k[f>>2]|0;k[f>>2]=k[h>>2];k[h>>2]=m;if(d|0)Jp(d)}else k[e>>2]=b;a=k[a>>2]|0;e=a;f=b>>>5;d=f<<2;if(!(i[c>>0]|0)){iq(a|0,0,d|0)|0;a=f<<5;if((a|0)==(b|0)){r=l;return}m=e+(f<<2)|0;k[m>>2]=k[m>>2]&~(-1>>>(32-b+a|0));r=l;return}else{iq(a|0,-1,d|0)|0;a=f<<5;if((a|0)==(b|0)){r=l;return}m=e+(f<<2)|0;k[m>>2]=k[m>>2]|-1>>>(32-b+a|0);r=l;return}}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;i=a+8|0;d=k[i>>2]|0;g=k[a>>2]|0;j=g;if(d-g>>2>>>0>=b>>>0){i=a+4|0;h=k[i>>2]|0;f=h-g>>2;g=f>>>0>>0;d=g?f:b;if(d|0){e=j;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(g){e=b-f|0;d=e;f=h;while(1){k[f>>2]=k[c>>2];d=d+-1|0;if(!d)break;else f=f+4|0}k[i>>2]=h+(e<<2);return}else{d=j+(b<<2)|0;if((h|0)==(d|0))return;k[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);return}}f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(j|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);Jp(f);k[i>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(b>>>0>1073741823)zp(a);d=d-0|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?b:d;if(d>>>0>1073741823)zp(a);else h=d}else h=1073741823;f=aq(h<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[i>>2]=f+(h<<2);d=b;e=f;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[g>>2]=f+(b<<2);return}function Fg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+16|0;x=E+8|0;C=E+12|0;B=E+4|0;y=E;A=a+64|0;d=k[A>>2]|0;if(((k[d+28>>2]|0)-(k[d+24>>2]|0)|0)<=0){r=E;return}z=b+80|0;u=b+84|0;v=a+52|0;w=c+84|0;l=c+68|0;m=a+56|0;n=a+60|0;o=a+12|0;p=a+28|0;q=a+40|0;s=a+44|0;t=a+48|0;h=0;j=0;a:while(1){f=k[(k[d+24>>2]|0)+(j<<2)>>2]|0;if((f|0)<0)b=h;else{b=h+1|0;c=(f|0)/3|0;d=k[z>>2]|0;if((c|0)>=(((k[u>>2]|0)-d|0)/12|0|0)){D=6;break}c=k[d+(c*12|0)+(((f|0)%3|0)<<2)>>2]|0;if(!(i[w>>0]|0))c=k[(k[l>>2]|0)+(c<<2)>>2]|0;k[x>>2]=c;d=k[m>>2]|0;if(d>>>0<(k[n>>2]|0)>>>0){k[d>>2]=c;k[m>>2]=d+4}else Gg(v,x);k[C>>2]=f;k[B>>2]=0;do if(!(k[(k[o>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)))g=f;else{c=f+1|0;c=((c|0)%3|0|0)==0?f+-2|0:c;e=k[a>>2]|0;if(!(1<<(c&31)&k[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=k[(k[(k[A>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0){g=c+1|0;c=((g|0)%3|0|0)==0?c+-2|0:g;k[B>>2]=c;if((c|0)>-1)d=c;else{g=f;break}while(1){c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if(1<<(c&31)&k[e+(c>>>5<<2)>>2]|0){c=-1073741824;break}if((c|0)<0)break;c=k[(k[(k[A>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;g=c+1|0;c=((g|0)%3|0|0)==0?c+-2|0:g;if((c|0)>-1)d=c;else break}k[C>>2]=d;k[B>>2]=c;g=d;break}}}else c=-1073741824;k[B>>2]=c;g=f}while(0);k[(k[p>>2]|0)+(g<<2)>>2]=h;c=k[s>>2]|0;if((c|0)==(k[t>>2]|0))Cd(q,C);else{k[c>>2]=g;k[s>>2]=c+4}d=k[A>>2]|0;b:do if((g|0)>=0){c=(((g|0)%3|0|0)==0?2:-1)+g|0;if((c|0)>=0){c=k[(k[d+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0){c=c+(((c|0)%3|0|0)==0?2:-1)|0;k[B>>2]=c;if((c|0)>-1&(c|0)!=(g|0)){d=h;while(1){h=c+1|0;h=((h|0)%3|0|0)==0?c+-2|0:h;do if(k[(k[a>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)){f=b+1|0;d=(c|0)/3|0;if((c|0)<=-3){D=33;break a}e=k[z>>2]|0;if((d|0)>=(((k[u>>2]|0)-e|0)/12|0|0)){D=35;break a}d=k[e+(d*12|0)+(((c|0)%3|0)<<2)>>2]|0;if(!(i[w>>0]|0))d=k[(k[l>>2]|0)+(d<<2)>>2]|0;k[y>>2]=d;e=k[m>>2]|0;if(e>>>0<(k[n>>2]|0)>>>0){k[e>>2]=d;k[m>>2]=e+4}else Gg(v,y);d=k[s>>2]|0;if((d|0)==(k[t>>2]|0)){Cd(q,B);e=b;b=f;break}else{k[d>>2]=c;k[s>>2]=d+4;e=b;b=f;break}}else e=d;while(0);k[(k[p>>2]|0)+(c<<2)>>2]=e;d=k[A>>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[d+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;c=c+(((c|0)%3|0|0)==0?2:-1)|0;k[B>>2]=c;if(!((c|0)>-1&(c|0)!=(g|0)))break b;else d=e}k[B>>2]=c}}else D=30}else D=30}else{c=g;D=30}while(0);if((D|0)==30){D=0;k[B>>2]=c}}j=j+1|0;if((j|0)>=((k[d+28>>2]|0)-(k[d+24>>2]|0)>>2|0)){D=3;break}else h=b}if((D|0)==3){r=E;return}else if((D|0)==6)Aa(10719,10773,64,10787);else if((D|0)==33)Aa(10860,10773,63,10787);else if((D|0)==35)Aa(10719,10773,64,10787)}function Gg(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;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)zp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;mq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Jp(i);return}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,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;w=r;r=r+16|0;v=w+8|0;u=w+4|0;t=w;i=a+64|0;c=k[i>>2]|0;if(((k[c+28>>2]|0)-(k[c+24>>2]|0)|0)<=0){r=w;return}q=a+52|0;s=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;f=0;h=0;while(1){d=k[(k[c+24>>2]|0)+(h<<2)>>2]|0;if((d|0)<0)b=f;else{b=f+1|0;k[v>>2]=f;c=k[s>>2]|0;if((c|0)==(k[j>>2]|0))Ig(q,v);else{k[c>>2]=f;k[s>>2]=c+4}k[u>>2]=d;k[t>>2]=0;do if(!(k[(k[l>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)))g=d;else{c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;e=k[a>>2]|0;if(!(1<<(c&31)&k[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=k[(k[(k[i>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0){g=c+1|0;c=((g|0)%3|0|0)==0?c+-2|0:g;k[t>>2]=c;if((c|0)>-1)d=c;else{g=d;break}while(1){c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if(1<<(c&31)&k[e+(c>>>5<<2)>>2]|0){c=-1073741824;break}if((c|0)<0)break;c=k[(k[(k[i>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;g=c+1|0;c=((g|0)%3|0|0)==0?c+-2|0:g;if((c|0)>-1)d=c;else break}k[u>>2]=d;k[t>>2]=c;g=d;break}}}else c=-1073741824;k[t>>2]=c;g=d}while(0);k[(k[m>>2]|0)+(g<<2)>>2]=f;c=k[o>>2]|0;if((c|0)==(k[p>>2]|0))Cd(n,u);else{k[c>>2]=g;k[o>>2]=c+4}c=k[i>>2]|0;a:do if((g|0)>=0){d=(((g|0)%3|0|0)==0?2:-1)+g|0;if((d|0)>=0){d=k[(k[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d|0)%3|0|0)==0?2:-1)|0;k[t>>2]=d;if((d|0)>-1&(d|0)!=(g|0)){c=f;while(1){f=d+1|0;f=((f|0)%3|0|0)==0?d+-2|0:f;do if(k[(k[a>>2]|0)+(f>>>5<<2)>>2]&1<<(f&31)){e=b+1|0;k[v>>2]=b;c=k[s>>2]|0;if((c|0)==(k[j>>2]|0))Ig(q,v);else{k[c>>2]=b;k[s>>2]=c+4}c=k[o>>2]|0;if((c|0)==(k[p>>2]|0)){Cd(n,t);f=b;b=e;break}else{k[c>>2]=d;k[o>>2]=c+4;f=b;b=e;break}}else f=c;while(0);k[(k[m>>2]|0)+(d<<2)>>2]=f;c=k[i>>2]|0;if((d|0)<0)break;d=(((d|0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0)break;d=k[(k[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;d=d+(((d|0)%3|0|0)==0?2:-1)|0;k[t>>2]=d;if(!((d|0)>-1&(d|0)!=(g|0)))break a;else c=f}k[t>>2]=d}}else x=26}else x=26}else{d=g;x=26}while(0);if((x|0)==26){x=0;k[t>>2]=d}}h=h+1|0;if((h|0)>=((k[c+28>>2]|0)-(k[c+24>>2]|0)>>2|0))break;else f=b}r=w;return}function Ig(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;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)zp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;mq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Jp(i);return}function Jg(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){Fg(a,b,c);return}else{Hg(a,0,0);return}}function Kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=k[b>>2]|0;f=k[a>>2]|0;h=f+(d>>>5<<2)|0;k[h>>2]=k[h>>2]|1<<(d&31);h=k[a+64>>2]|0;e=(d|0)<0;if(!e?(c=d+1|0,c=((c|0)%3|0|0)==0?d+-2|0:c,(c|0)>=0):0)b=k[(k[h>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;else b=-1073741824;g=a+12|0;c=(k[g>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31);if(e){h=(k[g>>2]|0)+402653184|0;k[h>>2]=k[h>>2]|1;return}b=(((d|0)%3|0|0)==0?2:-1)+d|0;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;c=(k[g>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31);if(e)return;c=k[(k[h+12>>2]|0)+(d<<2)>>2]|0;if((c|0)<=-1)return;i[a+24>>0]=0;b=f+(c>>>5<<2)|0;k[b>>2]=k[b>>2]|1<<(c&31);b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;a=(k[g>>2]|0)+(b>>>5<<2)|0;k[a>>2]=k[a>>2]|1<<(b&31);b=(((c|0)%3|0|0)==0?2:-1)+c|0;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;h=(k[g>>2]|0)+(b>>>5<<2)|0;k[h>>2]=k[h>>2]|1<<(b&31);return}function Lg(a){a=a|0;o[a>>2]=1.0;o[a+4>>2]=1.0;return}function Mg(a,b,c){a=a|0;b=+b;c=c|0;o[a+4>>2]=1.0/+(c|0);o[a>>2]=b;return}function Ng(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function Og(a){a=a|0;return}function Pg(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;Ng(a+24|0);i[a+36>>0]=0;return}function Qg(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;a=a+16|0;k[a>>2]=0;k[a+4>>2]=0;return}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,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=kq(e|0,k[f+4>>2]|0,8,0)|0;h=L;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=kq(k[e>>2]|0,k[e+4>>2]|0,8,0)|0;c=L;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=hq(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 Sg(a){a=a|0;var b=0,c=0;i[a+36>>0]=0;c=kq(k[a+32>>2]|0,0,7,0)|0;c=lq(c|0,L|0,3)|0;a=a+16|0;b=a;b=kq(c|0,L|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[a>>2]=b;k[a+4>>2]=L;return}function Tg(a){a=a|0;var b=0,c=0;k[a>>2]=2948;c=k[a+4>>2]|0;if(!c)return;a=a+8|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Jp(c);return}function Ug(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2948;b=k[a+4>>2]|0;if(!b){Jp(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);Jp(b);Jp(a);return}function Vg(a,b,c){a=a|0;b=b|0;c=c|0;k[a+16>>2]=b;k[a+20>>2]=c;return 1}function Wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+80|0;z=A;w=A+64|0;x=b+8|0;u=x;v=k[u>>2]|0;u=k[u+4>>2]|0;y=b+16|0;d=y;c=k[d>>2]|0;d=kq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((u|0)<(e|0)|(u|0)==(e|0)&v>>>0>>0){b=0;r=A;return b|0}v=(k[b>>2]|0)+c|0;v=l[v>>0]|l[v+1>>0]<<8|l[v+2>>0]<<16|l[v+3>>0]<<24;u=y;k[u>>2]=d;k[u+4>>2]=e;if((v|0)<1){b=0;r=A;return b|0}u=a+4|0;c=a+8|0;f=k[c>>2]|0;e=k[u>>2]|0;d=f-e>>2;if(v>>>0<=d>>>0){if(v>>>0>>0?(g=e+(v<<2)|0,(f|0)!=(g|0)):0)k[c>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else Xg(u,v-d|0);q=k[a+20>>2]|0;s=z+60|0;t=0;while(1){n=x;m=k[n>>2]|0;n=k[n+4>>2]|0;g=y;d=k[g>>2]|0;g=k[g+4>>2]|0;if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>d>>>0)){c=0;d=27;break}o=k[b>>2]|0;p=i[o+d>>0]|0;c=kq(d|0,g|0,1,0)|0;h=L;a=y;k[a>>2]=c;k[a+4>>2]=h;if(!((n|0)>(h|0)|(n|0)==(h|0)&m>>>0>c>>>0)){c=0;d=27;break}h=i[o+c>>0]|0;c=kq(d|0,g|0,2,0)|0;a=L;f=y;k[f>>2]=c;k[f+4>>2]=a;if(!((n|0)>(a|0)|(n|0)==(a|0)&m>>>0>c>>>0)){c=0;d=27;break}a=i[o+c>>0]|0;c=kq(d|0,g|0,3,0)|0;f=L;e=y;k[e>>2]=c;k[e+4>>2]=f;if(!((n|0)>(f|0)|(n|0)==(f|0)&m>>>0>c>>>0)){c=0;d=27;break}e=i[o+c>>0]|0;f=kq(d|0,g|0,4,0)|0;c=y;k[c>>2]=f;k[c+4>>2]=L;c=kq(d|0,g|0,6,0)|0;d=L;if((n|0)<(d|0)|(n|0)==(d|0)&m>>>0>>0){c=0;d=27;break}g=o+f|0;g=l[g>>0]|l[g+1>>0]<<8;n=y;k[n>>2]=c;k[n+4>>2]=d;n=h&255;Je(z);o=ha(dd(n)|0,a&255)|0;Ke(z,p&255,0,a,n,e<<24>>24!=0,o,((o|0)<0)<<31>>31,0,0);j[s>>1]=g;g=aq(88)|0;Ne(g,z);k[w>>2]=g;g=ug(q,w)|0;a=k[w>>2]|0;k[w>>2]=0;if(a|0){c=k[a+68>>2]|0;d=c;if(c|0){e=a+72|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(c)}p=a+64|0;c=k[p>>2]|0;k[p>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;Jp(d)}Jp(c)}Jp(a)}k[(k[u>>2]|0)+(t<<2)>>2]=g;t=t+1|0;if((t|0)>=(v|0)){c=1;d=27;break}}if((d|0)==27){r=A;return c|0}return 0}function Xg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){iq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)zp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;iq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;mq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Jp(j);return}function Yg(a){a=a|0;k[a>>2]=2948;a=a+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;return}function Zg(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b)return;c=a+12|0;a=k[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-4|0;k[c>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[c>>2]|0}while((a|0)!=(b|0));b=k[d>>2]|0}Jp(b);return}function _g(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Jp(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)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Jp(b);Jp(a);return}function $g(a){a=a|0;return 0}function ah(a){a=a|0;return 1}function bh(a){a=a|0;return 1}function ch(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=a+20|0;b=k[h>>2]|0;g=b+8|0;f=k[g+4>>2]|0;e=b+16|0;d=e;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((f|0)>(d|0)|((f|0)==(d|0)?(k[g>>2]|0)>>>0>c>>>0:0))){a=0;return a|0}f=i[(k[b>>2]|0)+c>>0]|0;d=kq(c|0,d|0,1,0)|0;g=e;k[g>>2]=d;k[g+4>>2]=L;g=f&255;e=f<<24>>24==0;a:do if(!e){b=0;while(1){if(!(gb[k[(k[a>>2]|0)+16>>2]&63](a,b)|0)){b=0;break}b=b+1|0;if((b|0)>=(g|0))break a}return b|0}while(0);f=a+8|0;b=k[f>>2]|0;c=k[a+12>>2]|0;b:do if((b|0)!=(c|0)){d=a+4|0;while(1){j=k[b>>2]|0;b=b+4|0;if(!(_a[k[(k[j>>2]|0)+8>>2]&31](j,a,k[d>>2]|0)|0)){b=0;break}if((b|0)==(c|0))break b}return b|0}while(0);c:do if(!e){b=0;while(1){j=k[(k[f>>2]|0)+(b<<2)>>2]|0;b=b+1|0;if(!(gb[k[(k[j>>2]|0)+12>>2]&63](j,k[h>>2]|0)|0)){b=0;break}if((b|0)>=(g|0))break c}return b|0}while(0);if(!(cb[k[(k[a>>2]|0)+28>>2]&127](a)|0)){j=0;return j|0}j=cb[k[(k[a>>2]|0)+32>>2]&127](a)|0;return j|0}function dh(a){a=a|0;var b=0,c=0,d=0;b=k[a+8>>2]|0;c=k[a+12>>2]|0;if((b|0)==(c|0)){c=1;return c|0}a=a+20|0;while(1){d=k[b>>2]|0;b=b+4|0;if(!(gb[k[(k[d>>2]|0)+16>>2]&63](d,k[a>>2]|0)|0)){b=0;a=5;break}if((b|0)==(c|0)){b=1;a=5;break}}if((a|0)==5)return b|0;return 0}function eh(a){a=a|0;return 1}function fh(a){a=a|0;k[a>>2]=2976;a=a+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;return}function gh(a,b,c){a=a|0;b=b|0;c=c|0;k[a+20>>2]=b;k[a+4>>2]=c;if(!(cb[k[(k[a>>2]|0)+12>>2]&127](a)|0)){a=0;return a|0}if(!(cb[k[(k[a>>2]|0)+20>>2]&127](a)|0)){a=0;return a|0}a=cb[k[(k[a>>2]|0)+24>>2]&127](a)|0;return a|0}function hh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Jp(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)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Jp(b);Jp(a);return}function ih(a){a=a|0;return 1}function jh(a){a=a|0;if(!(k[a+24>>2]|0))return 0;else return cb[k[(k[a>>2]|0)+48>>2]&127](a)|0;return 0}function kh(a){a=a|0;return 0}function lh(a,b){a=a|0;b=b|0;return 0}function mh(a,b){a=a|0;b=b|0;return 0}function nh(a){a=a|0;fh(a);k[a>>2]=3020;k[a+24>>2]=0;return}function oh(a,b,c){a=a|0;b=b|0;c=c|0;k[a+24>>2]=c;return gh(a,b,c)|0}function ph(a){a=a|0;return}function qh(a){a=a|0;Jp(a);return}function rh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;k[a+4>>2]=b;b=k[b+4>>2]|0;if((c|0)<=-1)Aa(9671,9687,62,9715);d=k[b+4>>2]|0;if(((k[b+8>>2]|0)-d>>2|0)>(c|0)){k[a+8>>2]=k[d+(c<<2)>>2];k[a+12>>2]=c;return 1}else Aa(9725,9687,63,9715);return 0}function sh(a,b){a=a|0;b=b|0;k[a+8>>2]=b;k[a+12>>2]=-1;return 1}function th(a,b,c){a=a|0;b=b|0;c=c|0;if(!(Oe(k[a+8>>2]|0,(k[b+4>>2]|0)-(k[b>>2]|0)>>2)|0)){a=0;return a|0}a=_a[k[(k[a>>2]|0)+24>>2]&31](a,b,c)|0;return a|0}function uh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;if((cb[k[(k[b>>2]|0)+20>>2]&127](b)|0)<=0){b=1;return b|0}e=a+4|0;f=0;while(1){a=k[(k[e>>2]|0)+4>>2]|0;a=tg(a,gb[k[(k[b>>2]|0)+24>>2]&63](b,f)|0)|0;if((a|0)==-1){a=0;c=10;break}c=k[(k[e>>2]|0)+4>>2]|0;if((a|0)<=-1){c=6;break}d=k[c+4>>2]|0;if(((k[c+8>>2]|0)-d>>2|0)<=(a|0)){c=8;break}f=f+1|0;if(!(gb[k[(k[b>>2]|0)+28>>2]&63](b,k[d+(a<<2)>>2]|0)|0)){a=0;c=10;break}if((f|0)>=(cb[k[(k[b>>2]|0)+20>>2]&127](b)|0)){a=1;c=10;break}}if((c|0)==6)Aa(9671,9687,62,9715);else if((c|0)==8)Aa(9725,9687,63,9715);else if((c|0)==10)return a|0;return 0}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,i=0,j=0,l=0,m=0,n=0,o=0;j=(k[b+4>>2]|0)-(k[b>>2]|0)|0;l=j>>2;h=a+8|0;b=k[(k[h>>2]|0)+40>>2]|0;m=cq((b|0)>-1?b:-1)|0;a=c+8|0;if((j|0)<=0){c=1;dq(m);return c|0}d=c+16|0;i=0;j=0;while(1){o=a;n=k[o>>2]|0;o=k[o+4>>2]|0;f=d;e=k[f>>2]|0;f=kq(e|0,k[f+4>>2]|0,b|0,0)|0;g=L;if((o|0)<(g|0)|(o|0)==(g|0)&n>>>0>>0){b=0;a=5;break}mq(m|0,(k[c>>2]|0)+e|0,b|0)|0;o=d;k[o>>2]=f;k[o+4>>2]=g;mq((k[k[(k[h>>2]|0)+64>>2]>>2]|0)+j|0,m|0,b|0)|0;i=i+1|0;if((i|0)>=(l|0)){b=1;a=5;break}else j=j+b|0}if((a|0)==5){dq(m);return b|0}return 0}function wh(a){a=a|0;k[a>>2]=3080;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=-1;return}function xh(a){a=a|0;var b=0,c=0;k[a>>2]=3116;c=a+28|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);c=k[a+16>>2]|0;if(!c)return;b=a+20|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Jp(c);return}function yh(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3116;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);d=k[a+16>>2]|0;if(!d){Jp(a);return}b=a+20|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);Jp(d);Jp(a);return}function zh(a,b,c){a=a|0;b=b|0;c=c|0;return rh(a,b,c)|0}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,l=0,m=0,n=0;m=(k[b+4>>2]|0)-(k[b>>2]|0)>>2;g=c+8|0;j=k[g>>2]|0;g=k[g+4>>2]|0;h=c+16|0;d=h;e=k[d>>2]|0;d=k[d+4>>2]|0;if((g|0)>(d|0)|(g|0)==(d|0)&j>>>0>e>>>0){f=i[(k[c>>2]|0)+e>>0]|0;e=kq(e|0,d|0,1,0)|0;d=L;n=h;k[n>>2]=e;k[n+4>>2]=d;if(f<<24>>24!=-2)l=3}else{f=0;l=3}if((l|0)==3){if((g|0)>(d|0)|(g|0)==(d|0)&j>>>0>e>>>0){n=i[(k[c>>2]|0)+e>>0]|0;l=kq(e|0,d|0,1,0)|0;d=h;k[d>>2]=l;k[d+4>>2]=L;d=n}else d=0;n=a+28|0;l=_a[k[(k[a>>2]|0)+32>>2]&31](a,f<<24>>24,d<<24>>24)|0;d=k[n>>2]|0;k[n>>2]=l;if(d|0)ab[k[(k[d>>2]|0)+4>>2]&127](d)}d=k[a+28>>2]|0;if(d|0?!(gb[k[(k[a>>2]|0)+20>>2]&63](a,d)|0):0){n=0;return n|0}if(!(_a[k[(k[a>>2]|0)+28>>2]&31](a,b,c)|0)){n=0;return n|0}n=gb[k[(k[a>>2]|0)+40>>2]&63](a,m)|0;return n|0}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,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=cb[k[(k[a>>2]|0)+36>>2]&127](a)|0;v=a+16|0;h=ha((k[b+4>>2]|0)-(k[b>>2]|0)>>2,u)|0;t=a+20|0;f=k[t>>2]|0;e=k[v>>2]|0;d=f-e>>2;if(h>>>0<=d>>>0){if(h>>>0>>0?(g=e+(h<<2)|0,(f|0)!=(g|0)):0)k[t>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else Xg(v,h-d|0);r=c+8|0;n=r;o=k[n>>2]|0;n=k[n+4>>2]|0;s=c+16|0;g=s;f=k[g>>2]|0;g=k[g+4>>2]|0;if(!((n|0)>(g|0)|(n|0)==(g|0)&o>>>0>f>>>0)){b=0;return b|0}l=k[c>>2]|0;q=i[l+f>>0]|0;d=kq(f|0,g|0,1,0)|0;e=L;p=s;k[p>>2]=d;k[p+4>>2]=e;a:do if(!(q<<24>>24)){if(!((n|0)>(e|0)|(n|0)==(e|0)&o>>>0>d>>>0)){b=0;return b|0}j=i[l+d>>0]|0;m=kq(f|0,g|0,2,0)|0;d=L;h=s;k[h>>2]=m;k[h+4>>2]=d;h=k[t>>2]|0;g=k[v>>2]|0;e=h-g|0;f=g;if(j<<24>>24==4){r=kq(m|0,d|0,e|0,0)|0;q=L;if((n|0)<(q|0)|(n|0)==(q|0)&o>>>0>>0){b=0;return b|0}else{mq(f|0,l+m|0,e|0)|0;r=s;r=kq(k[r>>2]|0,k[r+4>>2]|0,e|0,0)|0;k[s>>2]=r;k[s+4>>2]=L;break}}if((h|0)!=(g|0)){q=j&255;p=j&255;l=n;j=o;e=m;f=0;while(1){o=kq(e|0,d|0,q|0,0)|0;n=L;if(!((l|0)<(n|0)|(l|0)==(n|0)&j>>>0>>0)){mq(g+(f<<2)|0,(k[c>>2]|0)+e|0,p|0)|0;e=s;e=kq(k[e>>2]|0,k[e+4>>2]|0,q|0,0)|0;d=L;g=s;k[g>>2]=e;k[g+4>>2]=d;g=k[v>>2]|0;h=k[t>>2]|0}f=f+1|0;if(f>>>0>=h-g>>2>>>0)break a;j=r;l=k[j+4>>2]|0;j=k[j>>2]|0}}}else if(!(Ld(h,u,c,k[v>>2]|0)|0)){b=0;return b|0}while(0);e=a+28|0;d=k[e>>2]|0;if(!((d|0)!=0?cb[k[(k[d>>2]|0)+40>>2]&127](d)|0:0)){a=k[v>>2]|0;Kd(a,(k[t>>2]|0)-a>>2,a)}d=k[e>>2]|0;if(d|0){if(!(gb[k[(k[d>>2]|0)+36>>2]&63](d,c)|0)){b=0;return b|0}a=k[e>>2]|0;c=k[v>>2]|0;if(!(bb[k[(k[a>>2]|0)+52>>2]&31](a,c,c,(k[t>>2]|0)-c>>2,u,k[b>>2]|0)|0)){b=0;return b|0}}b=1;return b|0}function Ch(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+48|0;f=g;if((c|0)!=1){b=0;r=g;return b|0}e=k[a+12>>2]|0;c=k[a+4>>2]|0;a=f;d=a+36|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(d|0));b=Dh(b,e,c,f)|0;r=g;return b|0}function Dh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=k[c+4>>2]|0;if((b|0)<=-1)Aa(9671,9687,54,9715);f=k[e+4>>2]|0;if(((k[e+8>>2]|0)-f>>2|0)<=(b|0))Aa(9725,9687,55,9715);e=k[f+(b<<2)>>2]|0;if((cb[k[(k[c>>2]|0)+8>>2]&127](c)|0)==1?(g=Eh(c,a,b,d)|0,g|0):0){d=g;return d|0}if((a|0)==-2){d=0;return d|0}a=aq(44)|0;k[a>>2]=3168;k[a+4>>2]=e;k[a+8>>2]=k[d>>2];c=a+12|0;b=d+4|0;k[c>>2]=k[b>>2];k[c+4>>2]=k[b+4>>2];k[c+8>>2]=k[b+8>>2];k[c+12>>2]=k[b+12>>2];k[c+16>>2]=k[b+16>>2];Qh(a+32|0,d+24|0);k[a>>2]=3616;d=a;return d|0}function Eh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+16|0;i=j;e=k[a+4>>2]|0;if((c|0)<=-1)Aa(9671,9687,54,9715);f=k[e+4>>2]|0;if(((k[e+8>>2]|0)-f>>2|0)<=(c|0))Aa(9725,9687,55,9715);f=k[f+(c<<2)>>2]|0;if(!((b+-1|0)>>>0<3&(cb[k[(k[a>>2]|0)+8>>2]&127](a)|0)==1)){d=0;r=j;return d|0}g=cb[k[(k[a>>2]|0)+36>>2]&127](a)|0;h=gb[k[(k[a>>2]|0)+44>>2]&63](a,c)|0;if((g|0)==0|(h|0)==0){d=0;r=j;return d|0}e=gb[k[(k[a>>2]|0)+40>>2]&63](a,c)|0;if(!e){c=i;k[c>>2]=0;k[c+4>>2]=0;k[i>>2]=k[a+24>>2];k[i+4>>2]=g;k[i+12>>2]=h;k[i+8>>2]=h+12;d=oi(b,f,d,i)|0;r=j;return d|0}else{c=i;k[c>>2]=0;k[c+4>>2]=0;k[i>>2]=k[a+24>>2];k[i+4>>2]=e;k[i+12>>2]=h;k[i+8>>2]=h+12;d=Fh(b,f,d,i)|0;r=j;return d|0}return 0}function Fh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;switch(a|0){case 1:{a=aq(60)|0;k[a>>2]=3168;k[a+4>>2]=b;k[a+8>>2]=k[c>>2];b=a+12|0;e=c+4|0;k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];Qh(a+32|0,c+24|0);c=a+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[a>>2]=3232;c=a;return c|0}case 2:{e=aq(60)|0;k[e>>2]=3168;k[e+4>>2]=b;k[e+8>>2]=k[c>>2];a=e+12|0;b=c+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[a+16>>2]=k[b+16>>2];Qh(e+32|0,c+24|0);c=e+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[e>>2]=3296;return e|0}case 3:{e=aq(88)|0;k[e>>2]=3168;k[e+4>>2]=b;k[e+8>>2]=k[c>>2];a=e+12|0;b=c+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[a+16>>2]=k[b+16>>2];Qh(e+32|0,c+24|0);c=e+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[e>>2]=3360;c=e+60|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;k[c+24>>2]=0;return e|0}default:{e=0;return e|0}}return 0}function Gh(a){a=a|0;var b=0,c=0;k[a>>2]=3168;c=k[a+32>>2]|0;if(!c)return;a=a+36|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Jp(c);return}function Hh(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Jp(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);Jp(b);Jp(a);return}function Ih(a){a=a|0;return k[a+4>>2]|0}function Jh(a){a=a|0;return 0}function Kh(a,b){a=a|0;b=b|0;return -1}function Lh(a,b){a=a|0;b=b|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,i=0;h=r;r=r+16|0;e=h+4|0;f=h;c=a+12|0;d=b+16|0;g=d;i=k[g+4>>2]|0;if((i|0)>0|(i|0)==0&(k[g>>2]|0)>>>0>0){r=h;return 1}g=b+4|0;k[f>>2]=k[g>>2];k[e>>2]=k[f>>2];fd(b,e,c,c+4|0)|0;i=d;d=k[i+4>>2]|0;c=a+16|0;if((d|0)>0|(d|0)==0&(k[i>>2]|0)>>>0>0){r=h;return 1}k[f>>2]=k[g>>2];k[e>>2]=k[f>>2];fd(b,e,c,c+4|0)|0;r=h;return 1}function Nh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;e=b+8|0;j=e;g=k[j>>2]|0;j=k[j+4>>2]|0;f=b+16|0;d=f;c=k[d>>2]|0;d=kq(c|0,k[d+4>>2]|0,4,0)|0;h=L;if((j|0)<(h|0)|(j|0)==(h|0)&g>>>0>>0){j=0;return j|0}j=a+12|0;c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[j>>0]=c;i[j+1>>0]=c>>8;i[j+2>>0]=c>>16;i[j+3>>0]=c>>24;j=f;g=k[j>>2]|0;j=k[j+4>>2]|0;d=kq(g|0,j|0,4,0)|0;h=f;k[h>>2]=d;k[h+4>>2]=L;h=k[e>>2]|0;e=k[e+4>>2]|0;j=kq(g|0,j|0,8,0)|0;g=L;if((e|0)<(g|0)|(e|0)==(g|0)&h>>>0>>0){j=0;return j|0}h=a+16|0;j=(k[b>>2]|0)+d|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;i[h>>0]=j;i[h+1>>0]=j>>8;i[h+2>>0]=j>>16;i[h+3>>0]=j>>24;h=f;h=kq(k[h>>2]|0,k[h+4>>2]|0,4,0)|0;d=f;k[d>>2]=h;k[d+4>>2]=L;j=1-c+j|0;k[a+20>>2]=j;c=(j|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(j&1|0){j=1;return j|0}k[d>>2]=c+-1;j=1;return j|0}function Oh(a){a=a|0;return 0}function Ph(a){a=a|0;return 1}function Qh(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;e=b+4|0;c=(k[e>>2]|0)-(k[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823)zp(a);f=aq(c)|0;k[g>>2]=f;k[a>>2]=f;k[a+8>>2]=f+(d<<2);c=k[b>>2]|0;b=k[e>>2]|0;if((c|0)==(b|0))return;a=(b+-4-c|0)>>>2;d=f;while(1){k[d>>2]=k[c>>2];c=c+4|0;if((c|0)==(b|0))break;else d=d+4|0}k[g>>2]=f+(a+1<<2);return}function Rh(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Jp(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);Jp(b);Jp(a);return}function Sh(a){a=a|0;return 1}function Th(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 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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=a+8|0;k[H>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;g=f;i=1;while(1){f=k[b+(i<<2)>>2]|0;if((f|0)>=(h|0))if((f|0)>(g|0)){k[j>>2]=f;g=f;f=h}else f=h;else k[l>>2]=f;i=i+1|0;if((i|0)==(d|0))break;else h=f}}else g=f;F=1-f+g|0;k[a+20>>2]=F;f=(F|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(F&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Xg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=e>>>0>1073741823?-1:e<<2;F=cq(o)|0;iq(F|0,0,o|0)|0;o=k[a+48>>2]|0;p=a+56|0;h=k[p>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;a:do if((i|0)>4){q=k[a+52>>2]|0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=o+64|0;y=o+28|0;z=(e|0)>0;m=i>>2;while(1){n=m+-1|0;if(g-f>>2>>>0<=n>>>0)break;f=k[f+(n<<2)>>2]|0;if(!((f|0)<0?1:(1<<(f&31)&k[(k[o>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(A=k[(k[(k[x>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(A|0)>-1):0){h=k[y>>2]|0;d=k[q>>2]|0;f=k[d+(k[h+(A<<2)>>2]<<2)>>2]|0;g=A+1|0;g=k[d+(k[h+((((g|0)%3|0|0)==0?A+-2|0:g)<<2)>>2]<<2)>>2]|0;h=k[d+(k[h+((((A|0)%3|0|0)==0?2:-1)+A<<2)>>2]<<2)>>2]|0;d=ha(n,e)|0;if((f|0)<(n|0)&(g|0)<(n|0)&(h|0)<(n|0)){j=ha(f,e)|0;i=ha(g,e)|0;f=ha(h,e)|0;if(z){g=0;do{k[F+(g<<2)>>2]=(k[b+(g+f<<2)>>2]|0)+(k[b+(g+i<<2)>>2]|0)-(k[b+(g+j<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}l=b+(d<<2)|0;if((k[H>>2]|0)>0){j=0;do{i=k[F+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[s>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[H>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+d<<2)>>2]=(k[l+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[H>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+d<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[u>>2]|0)){if((g|0)>(k[w>>2]|0))k[f>>2]=g-(k[v>>2]|0)}else k[f>>2]=(k[v>>2]|0)+g;h=h+1|0}while((h|0)<(k[H>>2]|0))}}}}else{C=d;E=26}}else{C=ha(n,e)|0;E=26}if((E|0)==26?(E=0,B=b+(C<<2)|0,D=b+((ha(m+-2|0,e)|0)<<2)|0,(k[H>>2]|0)>0):0){j=0;do{i=k[D+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[s>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[H>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+C<<2)>>2]=(k[B+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[H>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+C<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[u>>2]|0)){if((g|0)>(k[w>>2]|0))k[f>>2]=g-(k[v>>2]|0)}else k[f>>2]=(k[v>>2]|0)+g;h=h+1|0}while((h|0)<(k[H>>2]|0))}}}if((n|0)<=1){G=F;break a}h=k[p>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0;m=n}Ap(h)}else G=F;while(0);if((e|0)>0)iq(F|0,0,e<<2|0)|0;if((k[H>>2]|0)<=0){dq(F);return 1}j=a+16|0;l=a+32|0;d=a+12|0;m=0;do{i=k[G+(m<<2)>>2]|0;f=k[j>>2]|0;do if((i|0)<=(f|0)){f=k[d>>2]|0;h=k[l>>2]|0;g=h+(m<<2)|0;if((i|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=i;break}}else{h=k[l>>2]|0;k[h+(m<<2)>>2]=f}while(0);m=m+1|0;f=k[H>>2]|0}while((m|0)<(f|0));if((f|0)>0)g=0;else{dq(F);return 1}do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)-(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[H>>2]|0}while((g|0)<(f|0));if((f|0)<=0){dq(F);return 1}j=a+28|0;l=a+20|0;f=a+24|0;i=0;do{g=c+(i<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[j>>2]|0)){if((h|0)>(k[f>>2]|0))k[g>>2]=h-(k[l>>2]|0)}else k[g>>2]=(k[l>>2]|0)+h;i=i+1|0}while((i|0)<(k[H>>2]|0));dq(F);return 1}function Vh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;y=a+8|0;k[y>>2]=e;g=a+32|0;h=a+36|0;f=k[h>>2]|0;d=k[g>>2]|0;i=f-d>>2;if(i>>>0>=e>>>0)if(i>>>0>e>>>0?(j=d+(e<<2)|0,(f|0)!=(j|0)):0){k[h>>2]=f+(~((f+-4-j|0)>>>2)<<2);d=e}else d=e;else{Xg(g,e-i|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=cq(u)|0;iq(x|0,0,u|0)|0;if((d|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{h=k[x+(j<<2)>>2]|0;d=k[l>>2]|0;do if((h|0)<=(d|0)){d=k[m>>2]|0;f=k[i>>2]|0;g=f+(j<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[i>>2]|0;k[f+(j<<2)>>2]=d}while(0);j=j+1|0;d=k[y>>2]|0}while((j|0)<(d|0));g=f;if((d|0)>0){f=0;do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)+(k[g+(f<<2)>>2]|0);f=f+1|0;d=k[y>>2]|0}while((f|0)<(d|0));if((d|0)>0){d=a+20|0;h=0;do{f=c+(h<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[l>>2]|0)){if((g|0)<(k[m>>2]|0))k[f>>2]=(k[d>>2]|0)+g}else k[f>>2]=g-(k[d>>2]|0);h=h+1|0}while((h|0)<(k[y>>2]|0))}}}q=a+56|0;d=k[q>>2]|0;g=k[d+4>>2]|0;f=k[d>>2]|0;u=g-f|0;r=u>>2;if((u|0)<=4){dq(x);return 1}s=a+16|0;t=a+32|0;u=a+12|0;a=a+20|0;n=v+64|0;o=v+28|0;p=(e|0)>0;h=d;m=1;while(1){if(g-f>>2>>>0<=m>>>0){D=28;break}d=k[f+(m<<2)>>2]|0;if(!((d|0)<0?1:(1<<(d&31)&k[(k[v>>2]|0)+(d>>>5<<2)>>2]|0)!=0)?(z=k[(k[(k[n>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(z|0)>-1):0){g=k[o>>2]|0;l=k[w>>2]|0;d=k[l+(k[g+(z<<2)>>2]<<2)>>2]|0;f=z+1|0;f=k[l+(k[g+((((f|0)%3|0|0)==0?z+-2|0:f)<<2)>>2]<<2)>>2]|0;g=k[l+(k[g+((((z|0)%3|0|0)==0?2:-1)+z<<2)>>2]<<2)>>2]|0;l=ha(m,e)|0;if((d|0)<(m|0)&(f|0)<(m|0)&(g|0)<(m|0)){i=ha(d,e)|0;h=ha(f,e)|0;d=ha(g,e)|0;if(p){f=0;do{k[x+(f<<2)>>2]=(k[c+(f+d<<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=c+(l<<2)|0;if((k[y>>2]|0)>0){i=0;do{h=k[x+(i<<2)>>2]|0;d=k[s>>2]|0;do if((h|0)<=(d|0)){d=k[u>>2]|0;f=k[t>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[t>>2]|0;k[f+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[y>>2]|0}while((i|0)<(d|0));if((d|0)>0){g=0;do{k[j+(g<<2)>>2]=(k[b+(g+l<<2)>>2]|0)+(k[f+(g<<2)>>2]|0);g=g+1|0;d=k[y>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=0;do{d=j+(g<<2)|0;f=k[d>>2]|0;if((f|0)<=(k[s>>2]|0)){if((f|0)<(k[u>>2]|0))k[d>>2]=(k[a>>2]|0)+f}else k[d>>2]=f-(k[a>>2]|0);g=g+1|0}while((g|0)<(k[y>>2]|0))}}}}else{C=l;D=32}}else{C=ha(m,e)|0;D=32}if((D|0)==32?(D=0,A=c+((ha(m+-1|0,e)|0)<<2)|0,B=c+(C<<2)|0,(k[y>>2]|0)>0):0){i=0;do{h=k[A+(i<<2)>>2]|0;d=k[s>>2]|0;do if((h|0)<=(d|0)){d=k[u>>2]|0;f=k[t>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[t>>2]|0;k[f+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[y>>2]|0}while((i|0)<(d|0));if((d|0)>0){g=0;do{k[B+(g<<2)>>2]=(k[b+(g+C<<2)>>2]|0)+(k[f+(g<<2)>>2]|0);g=g+1|0;d=k[y>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=0;do{d=B+(g<<2)|0;f=k[d>>2]|0;if((f|0)<=(k[s>>2]|0)){if((f|0)<(k[u>>2]|0))k[d>>2]=(k[a>>2]|0)+f}else k[d>>2]=f-(k[a>>2]|0);g=g+1|0}while((g|0)<(k[y>>2]|0))}}}d=m+1|0;if((d|0)>=(r|0)){D=25;break}g=k[q>>2]|0;h=g;f=k[g>>2]|0;g=k[g+4>>2]|0;m=d}if((D|0)==25){dq(x);return 1}else if((D|0)==28)Ap(h);return 0}function Wh(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Jp(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);Jp(b);Jp(a);return}function Xh(a){a=a|0;return 2}function Yh(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 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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=a+8|0;k[M>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;g=f;i=1;while(1){f=k[b+(i<<2)>>2]|0;if((f|0)>=(h|0))if((f|0)>(g|0)){k[j>>2]=f;g=f;f=h}else f=h;else k[l>>2]=f;i=i+1|0;if((i|0)==(d|0))break;else h=f}}else g=f;K=1-f+g|0;k[a+20>>2]=K;f=(K|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(K&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Xg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);p=k[a+48>>2]|0;q=k[a+52>>2]|0;r=e>>>0>1073741823?-1:e<<2;K=cq(r)|0;iq(K|0,0,r|0)|0;r=a+56|0;h=k[r>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;a:do if((i|0)>4){s=(e|0)>0;t=a+16|0;u=a+32|0;v=a+12|0;w=a+28|0;x=a+20|0;y=a+24|0;z=p+64|0;A=p+28|0;B=e<<2;n=i>>2;while(1){o=n+-1|0;if(g-f>>2>>>0<=o>>>0)break;m=k[f+(o<<2)>>2]|0;if(s)iq(K|0,0,B|0)|0;if((m|0)>-1){d=k[p>>2]|0;f=m;g=0;do{do if(((k[d+(f>>>5<<2)>>2]&1<<(f&31)|0)==0?(C=k[(k[(k[z>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(C|0)>-1):0)?(E=k[A>>2]|0,l=k[q>>2]|0,I=k[l+(k[E+(C<<2)>>2]<<2)>>2]|0,D=C+1|0,D=k[l+(k[E+((((D|0)%3|0|0)==0?C+-2|0:D)<<2)>>2]<<2)>>2]|0,E=k[l+(k[E+((((C|0)%3|0|0)==0?2:-1)+C<<2)>>2]<<2)>>2]|0,(I|0)<(o|0)&(D|0)<(o|0)&(E|0)<(o|0)):0){h=ha(I,e)|0;i=ha(D,e)|0;j=ha(E,e)|0;if(s)l=0;else{g=g+1|0;J=34;break}do{N=K+(l<<2)|0;k[N>>2]=(k[b+(l+j<<2)>>2]|0)+(k[b+(l+i<<2)>>2]|0)-(k[b+(l+h<<2)>>2]|0)+(k[N>>2]|0);l=l+1|0}while((l|0)!=(e|0));g=g+1|0;if((f|0)>=0)J=34}else J=34;while(0);do if((J|0)==34){J=0;if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);do if(!(1<<(f&31)&k[d+(f>>>5<<2)>>2])){if((f|0)>=0){f=k[(k[(k[z>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);f=(f|0)==(m|0)?-1073741824:f}while((f|0)>-1);d=ha(o,e)|0;if(g){if(s){f=0;do{N=K+(f<<2)|0;k[N>>2]=(k[N>>2]|0)/(g|0)|0;f=f+1|0}while((f|0)!=(e|0))}l=b+(d<<2)|0;if((k[M>>2]|0)>0){j=0;do{i=k[K+(j<<2)>>2]|0;f=k[t>>2]|0;do if((i|0)<=(f|0)){f=k[v>>2]|0;g=k[u>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[u>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[M>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+d<<2)>>2]=(k[l+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[M>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+d<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[w>>2]|0)){if((g|0)>(k[y>>2]|0))k[f>>2]=g-(k[x>>2]|0)}else k[f>>2]=(k[x>>2]|0)+g;h=h+1|0}while((h|0)<(k[M>>2]|0))}}}}else{G=d;J=46}}else{G=ha(o,e)|0;J=46}if((J|0)==46?(J=0,F=b+(G<<2)|0,H=b+((ha(n+-2|0,e)|0)<<2)|0,(k[M>>2]|0)>0):0){j=0;do{i=k[H+(j<<2)>>2]|0;f=k[t>>2]|0;do if((i|0)<=(f|0)){f=k[v>>2]|0;g=k[u>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[u>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[M>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+G<<2)>>2]=(k[F+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[M>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+G<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[w>>2]|0)){if((g|0)>(k[y>>2]|0))k[f>>2]=g-(k[x>>2]|0)}else k[f>>2]=(k[x>>2]|0)+g;h=h+1|0}while((h|0)<(k[M>>2]|0))}}}if((o|0)<=1){L=K;break a}h=k[r>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0;n=o}Ap(h)}else L=K;while(0);if((e|0)>0)iq(K|0,0,e<<2|0)|0;if((k[M>>2]|0)<=0){dq(K);return 1}j=a+16|0;l=a+32|0;d=a+12|0;m=0;do{i=k[L+(m<<2)>>2]|0;f=k[j>>2]|0;do if((i|0)<=(f|0)){f=k[d>>2]|0;h=k[l>>2]|0;g=h+(m<<2)|0;if((i|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=i;break}}else{h=k[l>>2]|0;k[h+(m<<2)>>2]=f}while(0);m=m+1|0;f=k[M>>2]|0}while((m|0)<(f|0));if((f|0)>0)g=0;else{dq(K);return 1}do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)-(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[M>>2]|0}while((g|0)<(f|0));if((f|0)<=0){dq(K);return 1}j=a+28|0;l=a+20|0;f=a+24|0;i=0;do{g=c+(i<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[j>>2]|0)){if((h|0)>(k[f>>2]|0))k[g>>2]=h-(k[l>>2]|0)}else k[g>>2]=(k[l>>2]|0)+h;i=i+1|0}while((i|0)<(k[M>>2]|0));dq(K);return 1}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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;A=a+8|0;k[A>>2]=e;g=a+32|0;h=a+36|0;f=k[h>>2]|0;d=k[g>>2]|0;i=f-d>>2;if(i>>>0>=e>>>0)if(i>>>0>e>>>0?(j=d+(e<<2)|0,(f|0)!=(j|0)):0){k[h>>2]=f+(~((f+-4-j|0)>>>2)<<2);d=e}else d=e;else{Xg(g,e-i|0);d=k[A>>2]|0}y=e>>>0>1073741823?-1:e<<2;z=cq(y)|0;iq(z|0,0,y|0)|0;if((d|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{h=k[z+(j<<2)>>2]|0;d=k[l>>2]|0;do if((h|0)<=(d|0)){d=k[m>>2]|0;f=k[i>>2]|0;g=f+(j<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[i>>2]|0;k[f+(j<<2)>>2]=d}while(0);j=j+1|0;d=k[A>>2]|0}while((j|0)<(d|0));g=f;if((d|0)>0){f=0;do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)+(k[g+(f<<2)>>2]|0);f=f+1|0;d=k[A>>2]|0}while((f|0)<(d|0));if((d|0)>0){d=a+20|0;h=0;do{f=c+(h<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[l>>2]|0)){if((g|0)<(k[m>>2]|0))k[f>>2]=(k[d>>2]|0)+g}else k[f>>2]=g-(k[d>>2]|0);h=h+1|0}while((h|0)<(k[A>>2]|0))}}}r=k[a+48>>2]|0;s=a+56|0;g=k[s>>2]|0;f=k[g+4>>2]|0;d=k[g>>2]|0;y=f-d|0;t=y>>2;if((y|0)<=4){dq(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;h=d;a=1;while(1){if(f-h>>2>>>0<=a>>>0){I=28;break}m=k[h+(a<<2)>>2]|0;if(v)iq(z|0,0,q|0)|0;if((m|0)>-1){l=k[r>>2]|0;d=m;f=0;do{do if(((k[l+(d>>>5<<2)>>2]&1<<(d&31)|0)==0?(B=k[(k[(k[o>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(B|0)>-1):0)?(E=k[p>>2]|0,j=k[u>>2]|0,C=k[j+(k[E+(B<<2)>>2]<<2)>>2]|0,D=B+1|0,D=k[j+(k[E+((((D|0)%3|0|0)==0?B+-2|0:D)<<2)>>2]<<2)>>2]|0,E=k[j+(k[E+((((B|0)%3|0|0)==0?2:-1)+B<<2)>>2]<<2)>>2]|0,(C|0)<(a|0)&(D|0)<(a|0)&(E|0)<(a|0)):0){g=ha(C,e)|0;h=ha(D,e)|0;i=ha(E,e)|0;if(v)j=0;else{f=f+1|0;I=40;break}do{J=z+(j<<2)|0;k[J>>2]=(k[c+(j+i<<2)>>2]|0)+(k[c+(j+h<<2)>>2]|0)-(k[c+(j+g<<2)>>2]|0)+(k[J>>2]|0);j=j+1|0}while((j|0)!=(e|0));f=f+1|0;if((d|0)>=0)I=40}else I=40;while(0);do if((I|0)==40){I=0;if(!((d|0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);do if(!(1<<(d&31)&k[l+(d>>>5<<2)>>2])){if((d|0)>=0){d=k[(k[(k[o>>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);d=(d|0)==(m|0)?-1073741824:d}while((d|0)>-1);j=ha(a,e)|0;if(f){if(v){d=0;do{J=z+(d<<2)|0;k[J>>2]=(k[J>>2]|0)/(f|0)|0;d=d+1|0}while((d|0)!=(e|0))}l=c+(j<<2)|0;if((k[A>>2]|0)>0){i=0;do{h=k[z+(i<<2)>>2]|0;d=k[w>>2]|0;do if((h|0)<=(d|0)){d=k[y>>2]|0;f=k[x>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[x>>2]|0;k[f+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[A>>2]|0}while((i|0)<(d|0));if((d|0)>0){g=0;do{k[l+(g<<2)>>2]=(k[b+(g+j<<2)>>2]|0)+(k[f+(g<<2)>>2]|0);g=g+1|0;d=k[A>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=0;do{d=l+(g<<2)|0;f=k[d>>2]|0;if((f|0)<=(k[w>>2]|0)){if((f|0)<(k[y>>2]|0))k[d>>2]=(k[n>>2]|0)+f}else k[d>>2]=f-(k[n>>2]|0);g=g+1|0}while((g|0)<(k[A>>2]|0))}}}}else{H=j;I=52}}else{H=ha(a,e)|0;I=52}if((I|0)==52?(I=0,F=c+((ha(a+-1|0,e)|0)<<2)|0,G=c+(H<<2)|0,(k[A>>2]|0)>0):0){i=0;do{h=k[F+(i<<2)>>2]|0;d=k[w>>2]|0;do if((h|0)<=(d|0)){d=k[y>>2]|0;f=k[x>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[x>>2]|0;k[f+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[A>>2]|0}while((i|0)<(d|0));if((d|0)>0){g=0;do{k[G+(g<<2)>>2]=(k[b+(g+H<<2)>>2]|0)+(k[f+(g<<2)>>2]|0);g=g+1|0;d=k[A>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=0;do{d=G+(g<<2)|0;f=k[d>>2]|0;if((f|0)<=(k[w>>2]|0)){if((f|0)<(k[y>>2]|0))k[d>>2]=(k[n>>2]|0)+f}else k[d>>2]=f-(k[n>>2]|0);g=g+1|0}while((g|0)<(k[A>>2]|0))}}}d=a+1|0;if((d|0)>=(t|0)){I=25;break}g=k[s>>2]|0;h=k[g>>2]|0;f=k[g+4>>2]|0;a=d}if((I|0)==25){dq(z);return 1}else if((I|0)==28)Ap(g);return 0}function $h(a){a=a|0;var b=0,c=0;k[a>>2]=3360;b=k[a+76>>2]|0;if(b|0)Jp(b);c=a+68|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)dq(b);k[a>>2]=3168;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Jp(c);return}function ai(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3360;b=k[a+76>>2]|0;if(b|0)Jp(b);d=a+68|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)dq(b);k[a>>2]=3168;d=k[a+32>>2]|0;if(!d){Jp(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);Jp(d);Jp(a);return}function bi(a){a=a|0;return 3}function ci(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 di(a){a=a|0;return 1}function ei(a,b){a=a|0;b=b|0;if(!b)return 0;else Aa(8689,8700,75,8780);return 0}function fi(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){a=0;return a|0}if((i[b+24>>0]|0)!=3){a=0;return a|0}k[a+60>>2]=b;a=1;return a|0}function gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n+40|0;l=n+36|0;c=n+32|0;m=n;d=a+80|0;k[c>>2]=k[d>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0)){k[l>>2]=k[b+4>>2];k[j>>2]=k[l>>2];fd(b,j,c,c+4|0)|0}kd(m);od(m);c=k[a+76>>2]|0;g=k[d>>2]|0;f=g>>>5;h=c+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){f=c;c=1;while(1){if(d){e=0;d=c;while(1){c=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){ld(m);r=n;return 1}d=b+4|0;k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];fd(b,j,c,c+4|0)|0;h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){ld(m);r=n;return 1}k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];fd(b,j,c,c+4|0)|0;ld(m);r=n;return 1} +function ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(le(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+262144|0;k[o>>2]=d;d=d>>>0>67108863;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<262144){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<262144)}while(0);p=d&65535;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>16)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=me(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|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,h=0,i=0,j=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=65536){if(f>>>0>65536?(e=g+262144|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else jd(a,65536-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Pd(d,c-f|0);if(!c){j=0;return j|0}f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(d>>>0>65536){d=0;j=19;break}if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if(h>>>0>=c>>>0)break;else e=d}if((j|0)==19)return d|0;j=(d|0)==65536;return j|0}function ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(oe(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+1048576|0;k[o>>2]=d;d=d>>>0>268435455;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<1048576){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<1048576)}while(0);p=d&262143;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>18)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=pe(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|0;return 0}function pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=262144){if(f>>>0>262144?(e=g+1048576|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else jd(a,262144-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Pd(d,c-f|0);if(!c){j=0;return j|0}f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(d>>>0>262144){d=0;j=19;break}if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if(h>>>0>=c>>>0)break;else e=d}if((j|0)==19)return d|0;j=(d|0)==262144;return j|0}function qe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(re(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+2097152|0;k[o>>2]=d;d=d>>>0>536870911;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<2097152){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<2097152)}while(0);p=d&524287;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>19)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=se(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|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,h=0,i=0,j=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=524288){if(f>>>0>524288?(e=g+2097152|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else jd(a,524288-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Pd(d,c-f|0);if(!c){j=0;return j|0}f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(d>>>0>524288){d=0;j=19;break}if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if(h>>>0>=c>>>0)break;else e=d}if((j|0)==19)return d|0;j=(d|0)==524288;return j|0}function te(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(ue(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+4194304|0;k[o>>2]=d;d=d>>>0>1073741823;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<4194304){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<4194304)}while(0);p=d&1048575;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>20)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=ve(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|0;return 0}function ve(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;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=1048576){if(f>>>0>1048576?(e=g+4194304|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else jd(a,1048576-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Pd(d,c-f|0);if(!c){j=0;return j|0}f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(d>>>0>1048576){d=0;j=19;break}if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if(h>>>0>=c>>>0)break;else e=d}if((j|0)==19)return d|0;j=(d|0)==1048576;return j|0}function we(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(xe(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+4194304|0;k[o>>2]=d;d=d>>>0>1073741823;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<4194304){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<4194304)}while(0);p=d&1048575;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>20)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|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,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=ve(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|0;return 0}function ye(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(ze(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+4194304|0;k[o>>2]=d;d=d>>>0>1073741823;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<4194304){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<4194304)}while(0);p=d&1048575;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>20)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|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,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=ve(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|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,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(Be(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+4194304|0;k[o>>2]=d;d=d>>>0>1073741823;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<4194304){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<4194304)}while(0);p=d&1048575;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>20)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function Be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=ve(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|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,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(De(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+4194304|0;k[o>>2]=d;d=d>>>0>1073741823;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<4194304){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<4194304)}while(0);p=d&1048575;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>20)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function De(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;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=ve(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|0;return 0}function Ee(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)zp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;mq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Jp(i);return}function Fe(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 Ge(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){a=0;return a|0}do if(!b){d=a+4|0;b=k[d>>2]|0;e=k[a>>2]|0;f=b-e|0;if(c>>>0>f>>>0){He(a,c-f|0);break}if(c>>>0>>0?(g=e+c|0,(b|0)!=(g|0)):0)k[d>>2]=g}else Ie(a,b,b+c|0);while(0);a=a+24|0;g=a;g=kq(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;k[a>>2]=g;k[a+4>>2]=L;a=1;return a|0}function He(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;d=k[h>>2]|0;j=a+4|0;c=k[j>>2]|0;if((d-c|0)>>>0>=b>>>0){do{i[c>>0]=0;c=(k[j>>2]|0)+1|0;k[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}f=k[a>>2]|0;e=c-f+b|0;if((e|0)<0)zp(a);c=d-f|0;if(c>>>0<1073741823){c=c<<1;c=c>>>0>>0?e:c;d=(k[j>>2]|0)-f|0;if(!c){f=0;e=0;c=d}else g=9}else{c=2147483647;d=(k[j>>2]|0)-f|0;g=9}if((g|0)==9){f=c;e=aq(c)|0;c=d}g=e+c|0;e=e+f|0;d=g;c=g;do{i[d>>0]=0;d=c+1|0;c=d;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;f=(k[j>>2]|0)-b|0;g=g+(0-f)|0;mq(g|0,b|0,f|0)|0;k[a>>2]=g;k[j>>2]=c;k[h>>2]=e;if(!b)return;Jp(b);return}function Ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;g=b;j=c-g|0;m=a+8|0;d=k[m>>2]|0;e=k[a>>2]|0;h=e;if(j>>>0<=(d-e|0)>>>0){f=a+4|0;d=(k[f>>2]|0)-e|0;a=j>>>0>d>>>0;d=b+d|0;e=a?d:c;m=e-g|0;nq(h|0,b|0,m|0)|0;b=h+m|0;if(!a){if((k[f>>2]|0)==(b|0))return;k[f>>2]=b;return}if((e|0)==(c|0))return;b=k[f>>2]|0;do{i[b>>0]=i[d>>0]|0;b=(k[f>>2]|0)+1|0;k[f>>2]=b;d=d+1|0}while((d|0)!=(c|0));return}if(e){d=a+4|0;if((k[d>>2]|0)!=(h|0))k[d>>2]=h;Jp(h);k[m>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}f=(j|0)<0;if(f)zp(a);d=d-0|0;if(d>>>0<1073741823){e=d<<1;d=e>>>0>=j>>>0;if(d|f^1)l=d?e:j;else zp(a)}else l=2147483647;d=aq(l)|0;e=a+4|0;k[e>>2]=d;k[a>>2]=d;k[m>>2]=d+l;if((b|0)==(c|0))return;do{i[d>>0]=i[b>>0]|0;d=(k[e>>2]|0)+1|0;k[e>>2]=d;b=b+1|0}while((b|0)!=(c|0));return}function Je(a){a=a|0;var b=0;k[a>>2]=0;b=a+8|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;i[a+24>>0]=1;k[a+28>>2]=9;b=a+40|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[a+56>>2]=-1;j[a+60>>1]=0;return}function Ke(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 Le(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;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;a=a+48|0;k[a>>2]=e;k[a+4>>2]=f;return}function Me(a){a=a|0;Je(a);a=a+64|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;i[a+20>>0]=0;return}function Ne(a,b){a=a|0;b=b|0;var c=0,d=0;d=a;c=d+64|0;do{k[d>>2]=k[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(c|0));d=a+64|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;i[d+20>>0]=0;return}function Oe(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=aq(32)|0,Fe(e),c=k[f>>2]|0,k[f>>2]=e,c|0):0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;Jp(d)}Jp(c)}c=dd(k[a+28>>2]|0)|0;c=ha(i[a+24>>0]|0,c)|0;d=((c|0)<0)<<31>>31;g=k[f>>2]|0;e=tq(c|0,d|0,b|0,0)|0;if(!(Ge(g,0,e,L)|0)){g=0;return g|0}Le(a,k[f>>2]|0,c,d,0,0);k[a+80>>2]=b;g=1;return g|0}function Pe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[e>>2]=0;k[d>>2]=k[e>>2];a=Qe(a,b,d)|0;r=c;return a|0}function Qe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;switch(k[b+28>>2]|0){case 9:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=Re(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=We(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=_e(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=cf(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=hf(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=mf(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=qf(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=uf(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=zf(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Af(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Bf(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Cf(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=Df(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Hf(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Lf(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Pf(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=Uf(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Vf(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Wf(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Xf(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=Yf(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Zf(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=_f(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=$f(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=ag(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=bg(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=cg(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=dg(a,b,d)|0;break}default:c=0}break}default:{a=-1;r=j;return a|0}}a=(c|0)==0?-1:c;r=j;return a|0}function Re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+48|0;y=G+40|0;F=G+16|0;z=G+12|0;D=G;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;o[F+16>>2]=1.0;C=a+80|0;d=k[C>>2]|0;k[D>>2]=0;E=D+4|0;k[E>>2]=0;k[D+8>>2]=0;if(d){if(d>>>0>1073741823)zp(D);x=d<<2;f=aq(x)|0;k[D>>2]=f;e=f+(d<<2)|0;k[D+8>>2]=e;iq(f|0,0,x|0)|0;k[E>>2]=e;e=k[C>>2]|0;if((e|0)>0){v=b+48|0;w=b+40|0;x=F+4|0;s=y+4|0;t=a+40|0;u=a+64|0;q=k[c>>2]|0;p=0;m=0;do{h=q+p|0;j=v;n=k[j>>2]|0;j=k[j+4>>2]|0;e=w;e=tq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;j=kq(e|0,L|0,n|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[z>>2]=j;n=j^318;e=k[x>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&n;else h=(n>>>0)%(e>>>0)|0;d=k[(k[F>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){A=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));else do{d=k[d>>2]|0;if(!d){A=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));k[f+(p<<2)>>2]=k[d+12>>2]}else A=20}else A=20;while(0);if((A|0)==20){A=0;d=aq(16)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+4>>2]=n;k[d>>2]=0;Se(y,F,d);if(!(i[s>>0]|0))Jp(d);n=t;f=k[n>>2]|0;n=tq(f|0,k[n+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;mq((k[k[u>>2]>>2]|0)+n|0,z|0,f|0)|0;f=k[D>>2]|0;k[f+(p<<2)>>2]=m;m=m+1|0}p=p+1|0;e=k[C>>2]|0}while((p|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[D>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(B=g+(e<<2)|0,(h|0)!=(B|0)):0)k[c>>2]=h+(~((h+-4-B|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[C>>2]|0}if((e|0)>0){f=k[D>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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[C>>2]=m;f=m}}else f=0;d=k[D>>2]|0;c=d;if(d|0){e=k[E>>2]|0;if((e|0)!=(d|0))k[E>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[F+8>>2]|0;if(d|0)do{E=d;d=k[d>>2]|0;Jp(E)}while((d|0)!=0);d=k[F>>2]|0;k[F>>2]=0;if(!d){r=G;return f|0}Jp(d);r=G;return f|0}function Se(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0;m=k[c+8>>2]|0;d=m^318;q=c+4|0;k[q>>2]=d;p=b+4|0;j=k[p>>2]|0;n=(j|0)==0;a:do if(!n){l=j+-1|0;f=(l&j|0)==0;if(f)e=l&d;else e=(d>>>0)%(j>>>0)|0;d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(d)if(f){while(1){d=k[d>>2]|0;if(!d)break a;if((k[d+4>>2]&l|0)!=(e|0))break a;if((k[d+8>>2]|0)==(m|0)){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){d=k[d>>2]|0;if(!d)break a;if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((k[d+8>>2]|0)==(m|0)){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(n|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;Te(b,f>>>0>>0?d:f);f=k[p>>2]|0;d=k[q>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function Te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Ue(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Ue(a,b);return}function Ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Jp(c);k[d>>2]=0;return}m=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=m;if(c|0)Jp(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;l=b+-1|0;m=(l&b|0)==0;if(m)e=c&l;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[f>>2]|0;if(!c)return;else{g=f;d=f}a:while(1){b:do if(m){j=g;i=d;while(1){while(1){h=k[c+4>>2]&l;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((k[g>>2]|0)==(k[f+8>>2]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[j>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{j=d;i=d}}}else{j=g;i=d;while(1){while(1){h=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((k[g>>2]|0)==(k[f+8>>2]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[j>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{j=d;i=d}}}while(0);k[d>>2]=c;c=k[f>>2]|0;if(!c){c=32;break}else{g=f;d=f}}if((c|0)==32)return}function Ve(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;m=a+8|0;f=k[m>>2]|0;n=a+4|0;d=k[n>>2]|0;g=d;if(f-d>>2>>>0>=b>>>0){d=b;e=g;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[n>>2]=g+(b<<2);return}l=k[a>>2]|0;e=(d-l>>2)+b|0;if(e>>>0>1073741823)zp(a);d=f-l|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[n>>2]|0;e=f-l>>2;if(!d){i=0;d=0;h=f}else j=10}else{e=k[n>>2]|0;d=1073741823;f=e;e=e-l>>2;j=10}if((j|0)==10){i=d;d=aq(d<<2)|0;h=f}g=d+(e<<2)|0;e=d+(i<<2)|0;d=b;f=g;while(1){k[f>>2]=k[c>>2];d=d+-1|0;if(!d)break;else f=f+4|0}j=h-l|0;c=g+(0-(j>>2)<<2)|0;mq(c|0,l|0,j|0)|0;k[a>>2]=c;k[n>>2]=g+(b<<2);k[m>>2]=e;if(!l)return;Jp(l);return}function We(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,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+48|0;z=I+40|0;H=I+20|0;B=I;F=I+8|0;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;k[H+12>>2]=0;o[H+16>>2]=1.0;E=a+80|0;d=k[E>>2]|0;k[F>>2]=0;G=F+4|0;k[G>>2]=0;k[F+8>>2]=0;if(d){if(d>>>0>1073741823)zp(F);y=d<<2;f=aq(y)|0;k[F>>2]=f;e=f+(d<<2)|0;k[F+8>>2]=e;iq(f|0,0,y|0)|0;k[G>>2]=e;e=k[E>>2]|0;if((e|0)>0){w=b+48|0;x=b+40|0;y=H+4|0;t=z+4|0;u=a+40|0;v=a+64|0;s=k[c>>2]|0;q=0;m=0;do{e=s+q|0;n=w;j=k[n>>2]|0;n=k[n+4>>2]|0;p=x;p=tq(e|0,((e|0)<0)<<31>>31|0,k[p>>2]|0,k[p+4>>2]|0)|0;n=kq(p|0,L|0,j|0,n|0)|0;n=(k[k[b>>2]>>2]|0)+n|0;j=n;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;n=n+4|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;p=B;k[p>>2]=j;k[p+4>>2]=n;p=(j^318)+239^n;e=k[y>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[H>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(A=k[c>>2]|0,(A|0)!=0):0){b:do if(d){d=A;while(1){if((k[d+4>>2]&g|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}else{d=A;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}while(0);k[f+(q<<2)>>2]=k[d+16>>2]}else C=23}else C=23;while(0);if((C|0)==23){C=0;d=aq(20)|0;h=d+8|0;k[h>>2]=j;k[h+4>>2]=n;k[d+16>>2]=m;k[d+4>>2]=p;k[d>>2]=0;Xe(z,H,d);if(!(i[t>>0]|0))Jp(d);p=u;f=k[p>>2]|0;p=tq(f|0,k[p+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;mq((k[k[v>>2]>>2]|0)+p|0,B|0,f|0)|0;f=k[F>>2]|0;k[f+(q<<2)>>2]=m;m=m+1|0}q=q+1|0;e=k[E>>2]|0}while((q|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[F>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-D|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[E>>2]|0}if((e|0)>0){f=k[F>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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]=m;f=m}}else f=0;d=k[F>>2]|0;c=d;if(d|0){e=k[G>>2]|0;if((e|0)!=(d|0))k[G>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[H+8>>2]|0;if(d|0)do{G=d;d=k[d>>2]|0;Jp(G)}while((d|0)!=0);d=k[H>>2]|0;k[H>>2]=0;if(!d){r=I;return f|0}Jp(d);r=I;return f|0}function Xe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=k[c+8>>2]|0;p=k[c+12>>2]|0;e=(n^318)+239^p;s=c+4|0;k[s>>2]=e;r=b+4|0;j=k[r>>2]|0;q=(j|0)==0;a:do if(!q){m=j+-1|0;l=(m&j|0)==0;if(l)e=m&e;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(p|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(p|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(q|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;Ye(b,f>>>0>>0?d:f);f=k[r>>2]|0;d=k[s>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function Ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Ze(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Ze(a,b);return}function Ze(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)Jp(c);k[d>>2]=0;return}n=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)Jp(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)e=c&m;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(n){c=f;while(1){l=k[c+4>>2]&m;if((l|0)==(e|0))break c;f=(k[a>>2]|0)+(l<<2)|0;if(!(k[f>>2]|0)){e=l;break b}j=c+12|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=k[c+8>>2]|0;g=c;while(1){if((i|0)!=(k[f+8>>2]|0)){f=g;break d}if((k[j>>2]|0)!=(k[f+12>>2]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{o=f;f=g;g=o}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}else{c=f;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break c;f=(k[a>>2]|0)+(l<<2)|0;if(!(k[f>>2]|0)){e=l;break b}i=c+12|0;f=k[c>>2]|0;e:do if(!f)f=c;else{j=k[c+8>>2]|0;g=c;while(1){if((j|0)!=(k[f+8>>2]|0)){f=g;break e}if((k[i>>2]|0)!=(k[f+12>>2]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{o=f;f=g;g=o}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}while(0);f=k[c>>2]|0;if(!f){c=34;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=34;break}else{h=c;d=c}}if((c|0)==34)return}function _e(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+64|0;B=K+48|0;J=K+24|0;D=K+12|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)zp(H);A=d<<2;f=aq(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;iq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=D+4|0;t=D+8|0;u=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;s=k[c>>2]|0;q=0;l=0;do{p=s+q|0;c=y;d=k[c>>2]|0;c=k[c+4>>2]|0;e=z;e=tq(p|0,((p|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;c=kq(e|0,L|0,d|0,c|0)|0;d=D;c=(k[k[b>>2]>>2]|0)+c|0;e=d+12|0;do{i[d>>0]=i[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));j=k[D>>2]|0;m=k[A>>2]|0;n=k[t>>2]|0;p=((j^318)+239^m)+239^n;e=k[u>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}while(0);k[f+(q<<2)>>2]=k[d+20>>2]}else E=25}else E=25;while(0);if((E|0)==25){E=0;d=aq(24)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+16>>2]=n;k[d+20>>2]=l;k[d+4>>2]=p;k[d>>2]=0;$e(B,J,d);if(!(i[v>>0]|0))Jp(d);p=w;f=k[p>>2]|0;p=tq(f|0,k[p+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;mq((k[k[x>>2]>>2]|0)+p|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(q<<2)>>2]=l;l=l+1|0}q=q+1|0;e=k[G>>2]|0}while((q|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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]=l;f=l}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Jp(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Jp(d);r=K;return f|0}function $e(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;n=k[c+8>>2]|0;p=k[c+12>>2]|0;q=k[c+16>>2]|0;e=((n^318)+239^p)+239^q;t=c+4|0;k[t>>2]=e;s=b+4|0;j=k[s>>2]|0;r=(j|0)==0;a:do if(!r){m=j+-1|0;l=(m&j|0)==0;if(l)e=m&e;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if(((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(p|0):0)?(k[d+16>>2]|0)==(q|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if(((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(p|0):0)?(k[d+16>>2]|0)==(q|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(r|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;af(b,f>>>0>>0?d:f);f=k[s>>2]|0;d=k[t>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){bf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;bf(a,b);return}function bf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Jp(c);k[d>>2]=0;return}o=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)Jp(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)e=c&n;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(o){c=f;while(1){m=k[c+4>>2]&n;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}j=c+12|0;l=c+16|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=k[c+8>>2]|0;g=c;while(1){if((i|0)!=(k[f+8>>2]|0)){f=g;break d}if((k[j>>2]|0)!=(k[f+12>>2]|0)){f=g;break d}if((k[l>>2]|0)!=(k[f+16>>2]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}else{c=f;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}i=c+12|0;j=c+16|0;f=k[c>>2]|0;e:do if(!f)f=c;else{l=k[c+8>>2]|0;g=c;while(1){if((l|0)!=(k[f+8>>2]|0)){f=g;break e}if((k[i>>2]|0)!=(k[f+12>>2]|0)){f=g;break e}if((k[j>>2]|0)!=(k[f+16>>2]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}while(0);f=k[c>>2]|0;if(!f){c=36;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=36;break}else{h=c;d=c}}if((c|0)==36)return}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,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;u=C+88|0;B=C+64|0;v=C+48|0;w=C+32|0;z=C+16|0;t=C;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;o[B+16>>2]=1.0;y=a+80|0;d=k[y>>2]|0;k[z>>2]=0;A=z+4|0;k[A>>2]=0;k[z+8>>2]=0;if(d){if(d>>>0>1073741823)zp(z);s=d<<2;f=aq(s)|0;k[z>>2]=f;e=f+(d<<2)|0;k[z+8>>2]=e;iq(f|0,0,s|0)|0;k[A>>2]=e;e=k[y>>2]|0;if((e|0)>0){p=k[c>>2]|0;q=b+48|0;s=b+40|0;j=u+4|0;m=a+40|0;n=a+64|0;h=0;l=0;do{g=p+h|0;d=q;c=k[d>>2]|0;d=k[d+4>>2]|0;e=s;e=tq(g|0,((g|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;d=kq(e|0,L|0,c|0,d|0)|0;d=(k[k[b>>2]>>2]|0)+d|0;c=v;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));c=w;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));d=df(B,w)|0;if(!d){k[t>>2]=k[w>>2];k[t+4>>2]=k[w+4>>2];k[t+8>>2]=k[w+8>>2];k[t+12>>2]=k[w+12>>2];d=aq(28)|0;g=d+8|0;k[g>>2]=k[t>>2];k[g+4>>2]=k[t+4>>2];k[g+8>>2]=k[t+8>>2];k[g+12>>2]=k[t+12>>2];k[d+24>>2]=l;k[d+4>>2]=(((k[g>>2]^318)+239^k[d+12>>2])+239^k[d+16>>2])+239^k[d+20>>2];k[d>>2]=0;ef(u,B,d);if(!(i[j>>0]|0))Jp(d);g=m;f=k[g>>2]|0;g=tq(f|0,k[g+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;mq((k[k[n>>2]>>2]|0)+g|0,v|0,f|0)|0;f=k[z>>2]|0;k[f+(h<<2)>>2]=l;l=l+1|0}else k[f+(h<<2)>>2]=k[d+24>>2];h=h+1|0;e=k[y>>2]|0}while((h|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[z>>2]|0;d=d>>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;g=a+68|0;h=a+72|0;f=k[h>>2]|0;c=k[g>>2]|0;d=f-c>>2;if(e>>>0<=d>>>0){if(e>>>0>>0?(x=c+(e<<2)|0,(f|0)!=(x|0)):0)k[h>>2]=f+(~((f+-4-x|0)>>>2)<<2)}else{Ve(g,e-d|0,2864);e=k[y>>2]|0}if((e|0)>0){f=k[z>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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[y>>2]=l;f=l}}else f=0;d=k[z>>2]|0;c=d;if(d|0){e=k[A>>2]|0;if((e|0)!=(d|0))k[A>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[B+8>>2]|0;if(d|0)do{A=d;d=k[d>>2]|0;Jp(A)}while((d|0)!=0);d=k[B>>2]|0;k[B>>2]=0;if(!d){r=C;return f|0}Jp(d);r=C;return f|0}function df(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=k[b>>2]|0;i=k[b+4>>2]|0;j=k[b+8>>2]|0;g=k[b+12>>2]|0;b=(((h^318)+239^i)+239^j)+239^g;d=k[a+4>>2]|0;if(!d){j=0;return j|0}e=d+-1|0;c=(e&d|0)==0;if(c)f=b&e;else f=(b>>>0)%(d>>>0)|0;b=k[(k[a>>2]|0)+(f<<2)>>2]|0;if(!b){j=0;return j|0}b=k[b>>2]|0;if(!b){j=0;return j|0}if(c){while(1){if((k[b+4>>2]&e|0)!=(f|0)){b=0;a=20;break}if((((k[b+8>>2]|0)==(h|0)?(k[b+12>>2]|0)==(i|0):0)?(k[b+16>>2]|0)==(j|0):0)?(k[b+20>>2]|0)==(g|0):0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}else{while(1){if((((k[b+4>>2]|0)>>>0)%(d>>>0)|0|0)!=(f|0)){b=0;a=20;break}if((((k[b+8>>2]|0)==(h|0)?(k[b+12>>2]|0)==(i|0):0)?(k[b+16>>2]|0)==(j|0):0)?(k[b+20>>2]|0)==(g|0):0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}return 0}function ef(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;n=k[c+8>>2]|0;q=k[c+12>>2]|0;r=k[c+16>>2]|0;p=k[c+20>>2]|0;e=(((n^318)+239^q)+239^r)+239^p;u=c+4|0;k[u>>2]=e;t=b+4|0;j=k[t>>2]|0;s=(j|0)==0;a:do if(!s){m=j+-1|0;l=(m&j|0)==0;if(l)e=e&m;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if((((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(q|0):0)?(k[d+16>>2]|0)==(r|0):0)?(k[d+20>>2]|0)==(p|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(q|0):0)?(k[d+16>>2]|0)==(r|0):0)?(k[d+20>>2]|0)==(p|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(s|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;ff(b,f>>>0>>0?d:f);f=k[t>>2]|0;d=k[u>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function ff(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){gf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;gf(a,b);return}function gf(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)Jp(c);k[d>>2]=0;return}p=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)Jp(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)e=c&o;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(p){c=f;while(1){n=k[c+4>>2]&o;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}j=c+12|0;l=c+16|0;m=c+20|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=k[c+8>>2]|0;g=c;while(1){if((i|0)!=(k[f+8>>2]|0)){f=g;break d}if((k[j>>2]|0)!=(k[f+12>>2]|0)){f=g;break d}if((k[l>>2]|0)!=(k[f+16>>2]|0)){f=g;break d}if((k[m>>2]|0)!=(k[f+20>>2]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}else{c=f;while(1){n=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}i=c+12|0;j=c+16|0;l=c+20|0;f=k[c>>2]|0;e:do if(!f)f=c;else{m=k[c+8>>2]|0;g=c;while(1){if((m|0)!=(k[f+8>>2]|0)){f=g;break e}if((k[i>>2]|0)!=(k[f+12>>2]|0)){f=g;break e}if((k[j>>2]|0)!=(k[f+16>>2]|0)){f=g;break e}if((k[l>>2]|0)!=(k[f+20>>2]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}while(0);f=k[c>>2]|0;if(!f){c=38;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=38;break}else{h=c;d=c}}if((c|0)==38)return}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,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+48|0;x=F+32|0;E=F+12|0;y=F+40|0;C=F;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[E+12>>2]=0;o[E+16>>2]=1.0;B=a+80|0;d=k[B>>2]|0;k[C>>2]=0;D=C+4|0;k[D>>2]=0;k[C+8>>2]=0;if(d){if(d>>>0>1073741823)zp(C);w=d<<2;f=aq(w)|0;k[C>>2]=f;e=f+(d<<2)|0;k[C+8>>2]=e;iq(f|0,0,w|0)|0;k[D>>2]=e;e=k[B>>2]|0;if((e|0)>0){u=b+48|0;v=b+40|0;w=E+4|0;q=x+4|0;s=a+40|0;t=a+64|0;p=k[c>>2]|0;n=0;l=0;do{h=p+n|0;j=u;m=k[j>>2]|0;j=k[j+4>>2]|0;e=v;e=tq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;j=kq(e|0,L|0,m|0,j|0)|0;j=i[(k[k[b>>2]>>2]|0)+j>>0]|0;i[y>>0]=j;m=j&255^318;e=k[w>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&m;else h=(m>>>0)%(e>>>0)|0;d=k[(k[E>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){z=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){z=20;break a}}while((i[d+8>>0]|0)!=j<<24>>24);else do{d=k[d>>2]|0;if(!d){z=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){z=20;break a}}while((i[d+8>>0]|0)!=j<<24>>24);k[f+(n<<2)>>2]=k[d+12>>2]}else z=20}else z=20;while(0);if((z|0)==20){z=0;d=aq(16)|0;i[d+8>>0]=j;k[d+12>>2]=l;k[d+4>>2]=m;k[d>>2]=0;jf(x,E,d);if(!(i[q>>0]|0))Jp(d);m=s;f=k[m>>2]|0;m=tq(f|0,k[m+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;mq((k[k[t>>2]>>2]|0)+m|0,y|0,f|0)|0;f=k[C>>2]|0;k[f+(n<<2)>>2]=l;l=l+1|0}n=n+1|0;e=k[B>>2]|0}while((n|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[C>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(A=g+(e<<2)|0,(h|0)!=(A|0)):0)k[c>>2]=h+(~((h+-4-A|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[B>>2]|0}if((e|0)>0){f=k[C>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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[B>>2]=l;f=l}}else f=0;d=k[C>>2]|0;c=d;if(d|0){e=k[D>>2]|0;if((e|0)!=(d|0))k[D>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[E+8>>2]|0;if(d|0)do{D=d;d=k[d>>2]|0;Jp(D)}while((d|0)!=0);d=k[E>>2]|0;k[E>>2]=0;if(!d){r=F;return f|0}Jp(d);r=F;return f|0}function jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0;m=i[c+8>>0]|0;d=m&255^318;q=c+4|0;k[q>>2]=d;p=b+4|0;j=k[p>>2]|0;n=(j|0)==0;a:do if(!n){l=j+-1|0;f=(l&j|0)==0;if(f)e=l&d;else e=(d>>>0)%(j>>>0)|0;d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(d)if(f){while(1){d=k[d>>2]|0;if(!d)break a;if((k[d+4>>2]&l|0)!=(e|0))break a;if((i[d+8>>0]|0)==m<<24>>24){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){d=k[d>>2]|0;if(!d)break a;if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((i[d+8>>0]|0)==m<<24>>24){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(n|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;kf(b,f>>>0>>0?d:f);f=k[p>>2]|0;d=k[q>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){lf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;lf(a,b);return}function lf(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)Jp(c);k[d>>2]=0;return}n=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)Jp(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;m=b+-1|0;n=(m&b|0)==0;if(n)e=c&m;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[f>>2]|0;if(!c)return;else{g=f;d=f}a:while(1){b:do if(n){l=g;j=d;while(1){while(1){h=k[c+4>>2]&m;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=j;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((i[g>>0]|0)==(i[f+8>>0]|0))d=f;else break}k[j>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[l>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{l=d;j=d}}}else{l=g;j=d;while(1){while(1){h=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=j;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((i[g>>0]|0)==(i[f+8>>0]|0))d=f;else break}k[j>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[l>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{l=d;j=d}}}while(0);k[d>>2]=c;c=k[f>>2]|0;if(!c){c=32;break}else{g=f;d=f}}if((c|0)==32)return}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,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+32|0;J=K+12|0;D=K+40|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)zp(H);A=d<<2;f=aq(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;iq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;u=k[c>>2]|0;t=0;n=0;do{p=u+t|0;q=y;m=k[q>>2]|0;q=k[q+4>>2]|0;s=z;s=tq(p|0,((p|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;q=kq(s|0,L|0,m|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8;j[D>>1]=q;m=q&255;s=(q&65535)>>>8;p=s&255;s=s&65535;d=(q&255^318)+239^s;e=k[A>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=d&g;else h=(d>>>0)%(e>>>0)|0;d=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((d|0)!=0?(C=k[d>>2]|0,(C|0)!=0):0){b:do if(c){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=23;break a}if((i[d+8>>0]|0)==m<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=23;break a}if((i[d+8>>0]|0)==m<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}while(0);k[f+(t<<2)>>2]=k[d+12>>2]}else E=23}else E=23;while(0);if((E|0)==23){E=0;d=aq(16)|0;p=d+8|0;i[p>>0]=q;i[p+1>>0]=q>>8;k[d+12>>2]=n;k[d+4>>2]=(q&255^318)+239^s;k[d>>2]=0;nf(B,J,d);if(!(i[v>>0]|0))Jp(d);s=w;f=k[s>>2]|0;s=tq(f|0,k[s+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;mq((k[k[x>>2]>>2]|0)+s|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(t<<2)>>2]=n;n=n+1|0}t=t+1|0;e=k[G>>2]|0}while((t|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[m>>0]|0)Aa(10792,10811,80,10843);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]=n;f=n}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Jp(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Jp(d);r=K;return f|0}function nf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i[c+8>>0]|0;p=i[c+9>>0]|0;e=(n&255^318)+239^p&255;s=c+4|0;k[s>>2]=e;r=b+4|0;j=k[r>>2]|0;q=(j|0)==0;a:do if(!q){m=j+-1|0;l=(m&j|0)==0;if(l)e=m&e;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(q|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;of(b,f>>>0>>0?d:f);f=k[r>>2]|0;d=k[s>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){pf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;pf(a,b);return}function pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Jp(c);k[d>>2]=0;return}o=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)Jp(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)e=c&n;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(o){c=f;while(1){m=k[c+4>>2]&n;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}l=c+9|0;f=k[c>>2]|0;d:do if(!f)f=c;else{j=i[c+8>>0]|0;g=c;while(1){if(j<<24>>24!=(i[f+8>>0]|0)){f=g;break d}if((i[l>>0]|0)!=(i[f+9>>0]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}else{c=f;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}j=c+9|0;f=k[c>>2]|0;e:do if(!f)f=c;else{l=i[c+8>>0]|0;g=c;while(1){if(l<<24>>24!=(i[f+8>>0]|0)){f=g;break e}if((i[j>>0]|0)!=(i[f+9>>0]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}while(0);f=k[c>>2]|0;if(!f){c=34;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=34;break}else{h=c;d=c}}if((c|0)==34)return}function qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+32|0;J=K+12|0;D=K+40|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)zp(H);A=d<<2;f=aq(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;iq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=D+1|0;t=D+2|0;u=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;s=k[c>>2]|0;q=0;l=0;do{p=s+q|0;j=y;m=k[j>>2]|0;j=k[j+4>>2]|0;n=z;n=tq(p|0,((p|0)<0)<<31>>31|0,k[n>>2]|0,k[n+4>>2]|0)|0;j=kq(n|0,L|0,m|0,j|0)|0;j=(k[k[b>>2]>>2]|0)+j|0;i[D>>0]=i[j>>0]|0;i[D+1>>0]=i[j+1>>0]|0;i[D+2>>0]=i[j+2>>0]|0;j=i[D>>0]|0;m=i[A>>0]|0;n=i[t>>0]|0;p=((j&255^318)+239^m&255)+239^n&255;e=k[u>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=25;break a}if(((i[d+8>>0]|0)==j<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0)?(i[d+10>>0]|0)==n<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=25;break a}if(((i[d+8>>0]|0)==j<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0)?(i[d+10>>0]|0)==n<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}while(0);k[f+(q<<2)>>2]=k[d+12>>2]}else E=25}else E=25;while(0);if((E|0)==25){E=0;d=aq(16)|0;i[d+8>>0]=j;i[d+9>>0]=m;i[d+10>>0]=n;k[d+12>>2]=l;k[d+4>>2]=p;k[d>>2]=0;rf(B,J,d);if(!(i[v>>0]|0))Jp(d);p=w;f=k[p>>2]|0;p=tq(f|0,k[p+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;mq((k[k[x>>2]>>2]|0)+p|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(q<<2)>>2]=l;l=l+1|0}q=q+1|0;e=k[G>>2]|0}while((q|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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]=l;f=l}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Jp(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Jp(d);r=K;return f|0}function rf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;n=i[c+8>>0]|0;q=i[c+9>>0]|0;p=i[c+10>>0]|0;e=((n&255^318)+239^q&255)+239^p&255;t=c+4|0;k[t>>2]=e;s=b+4|0;j=k[s>>2]|0;r=(j|0)==0;a:do if(!r){m=j+-1|0;l=(m&j|0)==0;if(l)e=e&m;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if(((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==q<<24>>24:0)?(i[d+10>>0]|0)==p<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if(((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==q<<24>>24:0)?(i[d+10>>0]|0)==p<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(r|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;sf(b,f>>>0>>0?d:f);f=k[s>>2]|0;d=k[t>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){tf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;tf(a,b);return}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,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)Jp(c);k[d>>2]=0;return}p=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)Jp(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)e=c&o;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(p){c=f;while(1){n=k[c+4>>2]&o;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}l=c+9|0;m=c+10|0;f=k[c>>2]|0;d:do if(!f)f=c;else{j=i[c+8>>0]|0;g=c;while(1){if(j<<24>>24!=(i[f+8>>0]|0)){f=g;break d}if((i[l>>0]|0)!=(i[f+9>>0]|0)){f=g;break d}if((i[m>>0]|0)!=(i[f+10>>0]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}else{c=f;while(1){n=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}j=c+9|0;l=c+10|0;f=k[c>>2]|0;e:do if(!f)f=c;else{m=i[c+8>>0]|0;g=c;while(1){if(m<<24>>24!=(i[f+8>>0]|0)){f=g;break e}if((i[j>>0]|0)!=(i[f+9>>0]|0)){f=g;break e}if((i[l>>0]|0)!=(i[f+10>>0]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}while(0);f=k[c>>2]|0;if(!f){c=36;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=36;break}else{h=c;d=c}}if((c|0)==36)return}function uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=r;r=r+48|0;s=A+40|0;z=A+20|0;t=A+16|0;u=A+12|0;x=A;k[z>>2]=0;k[z+4>>2]=0;k[z+8>>2]=0;k[z+12>>2]=0;o[z+16>>2]=1.0;w=a+80|0;d=k[w>>2]|0;k[x>>2]=0;y=x+4|0;k[y>>2]=0;k[x+8>>2]=0;if(d){if(d>>>0>1073741823)zp(x);q=d<<2;f=aq(q)|0;k[x>>2]=f;e=f+(d<<2)|0;k[x+8>>2]=e;iq(f|0,0,q|0)|0;k[y>>2]=e;e=k[w>>2]|0;if((e|0)>0){n=k[c>>2]|0;p=b+48|0;q=b+40|0;h=s+4|0;j=a+40|0;m=a+64|0;g=0;e=0;while(1){C=n+g|0;c=p;d=k[c>>2]|0;c=k[c+4>>2]|0;B=q;B=tq(C|0,((C|0)<0)<<31>>31|0,k[B>>2]|0,k[B+4>>2]|0)|0;c=kq(B|0,L|0,d|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[t>>2]=c;k[u>>2]=c;d=vf(z,u)|0;if(!d){d=aq(16)|0;C=d+8|0;i[C>>0]=c;i[C+1>>0]=c>>8;i[C+2>>0]=c>>16;i[C+3>>0]=c>>24;k[d+12>>2]=e;k[d+4>>2]=(((c&255^318)+239^c>>>8&255)+239^c>>>16&255)+239^c>>>24;k[d>>2]=0;wf(s,z,d);if(!(i[h>>0]|0))Jp(d);d=j;f=k[d>>2]|0;d=tq(f|0,k[d+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;mq((k[k[m>>2]>>2]|0)+d|0,t|0,f|0)|0;f=k[x>>2]|0;k[f+(g<<2)>>2]=e;d=e+1|0}else{k[f+(g<<2)>>2]=k[d+12>>2];d=e}g=g+1|0;e=k[w>>2]|0;if((g|0)>=(e|0)){m=d;break}else e=d}}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[x>>2]|0;d=d>>2;c=0;do{C=e+(c<<2)|0;k[C>>2]=k[f+(k[C>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;g=a+68|0;h=a+72|0;f=k[h>>2]|0;c=k[g>>2]|0;d=f-c>>2;if(e>>>0<=d>>>0){if(e>>>0>>0?(v=c+(e<<2)|0,(f|0)!=(v|0)):0)k[h>>2]=f+(~((f+-4-v|0)>>>2)<<2)}else{Ve(g,e-d|0,2864);e=k[w>>2]|0}if((e|0)>0){f=k[x>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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[w>>2]=m;f=m}}else f=0;d=k[x>>2]|0;c=d;if(d|0){e=k[y>>2]|0;if((e|0)!=(d|0))k[y>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[z+8>>2]|0;if(d|0)do{C=d;d=k[d>>2]|0;Jp(C)}while((d|0)!=0);d=k[z>>2]|0;k[z>>2]=0;if(!d){r=A;return f|0}Jp(d);r=A;return f|0}function vf(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;h=i[b>>0]|0;j=i[b+1>>0]|0;l=i[b+2>>0]|0;g=i[b+3>>0]|0;b=(((h&255^318)+239^j&255)+239^l&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)==h<<24>>24?(i[b+9>>0]|0)==j<<24>>24:0)?(i[b+10>>0]|0)==l<<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)==h<<24>>24?(i[b+9>>0]|0)==j<<24>>24:0)?(i[b+10>>0]|0)==l<<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 wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;n=i[c+8>>0]|0;r=i[c+9>>0]|0;p=i[c+10>>0]|0;q=i[c+11>>0]|0;e=(((n&255^318)+239^r&255)+239^p&255)+239^q&255;u=c+4|0;k[u>>2]=e;t=b+4|0;j=k[t>>2]|0;s=(j|0)==0;a:do if(!s){m=j+-1|0;l=(m&j|0)==0;if(l)e=e&m;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if((((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==r<<24>>24:0)?(i[d+10>>0]|0)==p<<24>>24:0)?(i[d+11>>0]|0)==q<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==r<<24>>24:0)?(i[d+10>>0]|0)==p<<24>>24:0)?(i[d+11>>0]|0)==q<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(s|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;xf(b,f>>>0>>0?d:f);f=k[t>>2]|0;d=k[u>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function xf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){yf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;yf(a,b);return}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,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)Jp(c);k[d>>2]=0;return}q=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=q;if(c|0)Jp(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)e=c&p;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(q){c=f;while(1){o=k[c+4>>2]&p;if((o|0)==(e|0))break c;f=(k[a>>2]|0)+(o<<2)|0;if(!(k[f>>2]|0)){e=o;break b}l=c+9|0;m=c+10|0;n=c+11|0;f=k[c>>2]|0;d:do if(!f)f=c;else{j=i[c+8>>0]|0;g=c;while(1){if(j<<24>>24!=(i[f+8>>0]|0)){f=g;break d}if((i[l>>0]|0)!=(i[f+9>>0]|0)){f=g;break d}if((i[m>>0]|0)!=(i[f+10>>0]|0)){f=g;break d}if((i[n>>0]|0)!=(i[f+11>>0]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{r=f;f=g;g=r}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(o<<2)>>2]>>2];k[k[(k[a>>2]|0)+(o<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}else{c=f;while(1){o=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((o|0)==(e|0))break c;f=(k[a>>2]|0)+(o<<2)|0;if(!(k[f>>2]|0)){e=o;break b}j=c+9|0;l=c+10|0;m=c+11|0;f=k[c>>2]|0;e:do if(!f)f=c;else{n=i[c+8>>0]|0;g=c;while(1){if(n<<24>>24!=(i[f+8>>0]|0)){f=g;break e}if((i[j>>0]|0)!=(i[f+9>>0]|0)){f=g;break e}if((i[l>>0]|0)!=(i[f+10>>0]|0)){f=g;break e}if((i[m>>0]|0)!=(i[f+11>>0]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{r=f;f=g;g=r}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(o<<2)>>2]>>2];k[k[(k[a>>2]|0)+(o<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}while(0);f=k[c>>2]|0;if(!f){c=38;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=38;break}else{h=c;d=c}}if((c|0)==38)return}function zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+48|0;x=F+32|0;E=F+12|0;y=F+40|0;C=F;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[E+12>>2]=0;o[E+16>>2]=1.0;B=a+80|0;d=k[B>>2]|0;k[C>>2]=0;D=C+4|0;k[D>>2]=0;k[C+8>>2]=0;if(d){if(d>>>0>1073741823)zp(C);w=d<<2;f=aq(w)|0;k[C>>2]=f;e=f+(d<<2)|0;k[C+8>>2]=e;iq(f|0,0,w|0)|0;k[D>>2]=e;e=k[B>>2]|0;if((e|0)>0){u=b+48|0;v=b+40|0;w=E+4|0;q=x+4|0;s=a+40|0;t=a+64|0;p=k[c>>2]|0;n=0;l=0;do{h=p+n|0;j=u;m=k[j>>2]|0;j=k[j+4>>2]|0;e=v;e=tq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;j=kq(e|0,L|0,m|0,j|0)|0;j=i[(k[k[b>>2]>>2]|0)+j>>0]|0;i[y>>0]=j;m=j&255^318;e=k[w>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&m;else h=(m>>>0)%(e>>>0)|0;d=k[(k[E>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){z=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){z=20;break a}}while((i[d+8>>0]|0)!=j<<24>>24);else do{d=k[d>>2]|0;if(!d){z=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){z=20;break a}}while((i[d+8>>0]|0)!=j<<24>>24);k[f+(n<<2)>>2]=k[d+12>>2]}else z=20}else z=20;while(0);if((z|0)==20){z=0;d=aq(16)|0;i[d+8>>0]=j;k[d+12>>2]=l;k[d+4>>2]=m;k[d>>2]=0;jf(x,E,d);if(!(i[q>>0]|0))Jp(d);m=s;f=k[m>>2]|0;m=tq(f|0,k[m+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;mq((k[k[t>>2]>>2]|0)+m|0,y|0,f|0)|0;f=k[C>>2]|0;k[f+(n<<2)>>2]=l;l=l+1|0}n=n+1|0;e=k[B>>2]|0}while((n|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[C>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(A=g+(e<<2)|0,(h|0)!=(A|0)):0)k[c>>2]=h+(~((h+-4-A|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[B>>2]|0}if((e|0)>0){f=k[C>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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[B>>2]=l;f=l}}else f=0;d=k[C>>2]|0;c=d;if(d|0){e=k[D>>2]|0;if((e|0)!=(d|0))k[D>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[E+8>>2]|0;if(d|0)do{D=d;d=k[d>>2]|0;Jp(D)}while((d|0)!=0);d=k[E>>2]|0;k[E>>2]=0;if(!d){r=F;return f|0}Jp(d);r=F;return f|0}function Af(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+32|0;J=K+12|0;D=K+40|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)zp(H);A=d<<2;f=aq(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;iq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;u=k[c>>2]|0;t=0;n=0;do{p=u+t|0;q=y;m=k[q>>2]|0;q=k[q+4>>2]|0;s=z;s=tq(p|0,((p|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;q=kq(s|0,L|0,m|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8;j[D>>1]=q;m=q&255;s=(q&65535)>>>8;p=s&255;s=s&65535;d=(q&255^318)+239^s;e=k[A>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=d&g;else h=(d>>>0)%(e>>>0)|0;d=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((d|0)!=0?(C=k[d>>2]|0,(C|0)!=0):0){b:do if(c){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=23;break a}if((i[d+8>>0]|0)==m<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=23;break a}if((i[d+8>>0]|0)==m<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}while(0);k[f+(t<<2)>>2]=k[d+12>>2]}else E=23}else E=23;while(0);if((E|0)==23){E=0;d=aq(16)|0;p=d+8|0;i[p>>0]=q;i[p+1>>0]=q>>8;k[d+12>>2]=n;k[d+4>>2]=(q&255^318)+239^s;k[d>>2]=0;nf(B,J,d);if(!(i[v>>0]|0))Jp(d);s=w;f=k[s>>2]|0;s=tq(f|0,k[s+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;mq((k[k[x>>2]>>2]|0)+s|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(t<<2)>>2]=n;n=n+1|0}t=t+1|0;e=k[G>>2]|0}while((t|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[m>>0]|0)Aa(10792,10811,80,10843);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]=n;f=n}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Jp(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Jp(d);r=K;return f|0}function Bf(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,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+32|0;J=K+12|0;D=K+40|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)zp(H);A=d<<2;f=aq(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;iq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=D+1|0;t=D+2|0;u=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;s=k[c>>2]|0;q=0;l=0;do{p=s+q|0;j=y;m=k[j>>2]|0;j=k[j+4>>2]|0;n=z;n=tq(p|0,((p|0)<0)<<31>>31|0,k[n>>2]|0,k[n+4>>2]|0)|0;j=kq(n|0,L|0,m|0,j|0)|0;j=(k[k[b>>2]>>2]|0)+j|0;i[D>>0]=i[j>>0]|0;i[D+1>>0]=i[j+1>>0]|0;i[D+2>>0]=i[j+2>>0]|0;j=i[D>>0]|0;m=i[A>>0]|0;n=i[t>>0]|0;p=((j&255^318)+239^m&255)+239^n&255;e=k[u>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=25;break a}if(((i[d+8>>0]|0)==j<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0)?(i[d+10>>0]|0)==n<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=25;break a}if(((i[d+8>>0]|0)==j<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0)?(i[d+10>>0]|0)==n<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}while(0);k[f+(q<<2)>>2]=k[d+12>>2]}else E=25}else E=25;while(0);if((E|0)==25){E=0;d=aq(16)|0;i[d+8>>0]=j;i[d+9>>0]=m;i[d+10>>0]=n;k[d+12>>2]=l;k[d+4>>2]=p;k[d>>2]=0;rf(B,J,d);if(!(i[v>>0]|0))Jp(d);p=w;f=k[p>>2]|0;p=tq(f|0,k[p+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;mq((k[k[x>>2]>>2]|0)+p|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(q<<2)>>2]=l;l=l+1|0}q=q+1|0;e=k[G>>2]|0}while((q|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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]=l;f=l}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Jp(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Jp(d);r=K;return f|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,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=r;r=r+48|0;s=A+40|0;z=A+20|0;t=A+16|0;u=A+12|0;x=A;k[z>>2]=0;k[z+4>>2]=0;k[z+8>>2]=0;k[z+12>>2]=0;o[z+16>>2]=1.0;w=a+80|0;d=k[w>>2]|0;k[x>>2]=0;y=x+4|0;k[y>>2]=0;k[x+8>>2]=0;if(d){if(d>>>0>1073741823)zp(x);q=d<<2;f=aq(q)|0;k[x>>2]=f;e=f+(d<<2)|0;k[x+8>>2]=e;iq(f|0,0,q|0)|0;k[y>>2]=e;e=k[w>>2]|0;if((e|0)>0){n=k[c>>2]|0;p=b+48|0;q=b+40|0;h=s+4|0;j=a+40|0;m=a+64|0;g=0;e=0;while(1){C=n+g|0;c=p;d=k[c>>2]|0;c=k[c+4>>2]|0;B=q;B=tq(C|0,((C|0)<0)<<31>>31|0,k[B>>2]|0,k[B+4>>2]|0)|0;c=kq(B|0,L|0,d|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[t>>2]=c;k[u>>2]=c;d=vf(z,u)|0;if(!d){d=aq(16)|0;C=d+8|0;i[C>>0]=c;i[C+1>>0]=c>>8;i[C+2>>0]=c>>16;i[C+3>>0]=c>>24;k[d+12>>2]=e;k[d+4>>2]=(((c&255^318)+239^c>>>8&255)+239^c>>>16&255)+239^c>>>24;k[d>>2]=0;wf(s,z,d);if(!(i[h>>0]|0))Jp(d);d=j;f=k[d>>2]|0;d=tq(f|0,k[d+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;mq((k[k[m>>2]>>2]|0)+d|0,t|0,f|0)|0;f=k[x>>2]|0;k[f+(g<<2)>>2]=e;d=e+1|0}else{k[f+(g<<2)>>2]=k[d+12>>2];d=e}g=g+1|0;e=k[w>>2]|0;if((g|0)>=(e|0)){m=d;break}else e=d}}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[x>>2]|0;d=d>>2;c=0;do{C=e+(c<<2)|0;k[C>>2]=k[f+(k[C>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;g=a+68|0;h=a+72|0;f=k[h>>2]|0;c=k[g>>2]|0;d=f-c>>2;if(e>>>0<=d>>>0){if(e>>>0>>0?(v=c+(e<<2)|0,(f|0)!=(v|0)):0)k[h>>2]=f+(~((f+-4-v|0)>>>2)<<2)}else{Ve(g,e-d|0,2864);e=k[w>>2]|0}if((e|0)>0){f=k[x>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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[w>>2]=m;f=m}}else f=0;d=k[x>>2]|0;c=d;if(d|0){e=k[y>>2]|0;if((e|0)!=(d|0))k[y>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[z+8>>2]|0;if(d|0)do{C=d;d=k[d>>2]|0;Jp(C)}while((d|0)!=0);d=k[z>>2]|0;k[z>>2]=0;if(!d){r=A;return f|0}Jp(d);r=A;return f|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,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=r;r=r+48|0;z=H+32|0;G=H+12|0;A=H+40|0;E=H;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;k[G+12>>2]=0;o[G+16>>2]=1.0;D=a+80|0;d=k[D>>2]|0;k[E>>2]=0;F=E+4|0;k[F>>2]=0;k[E+8>>2]=0;if(d){if(d>>>0>1073741823)zp(E);y=d<<2;f=aq(y)|0;k[E>>2]=f;e=f+(d<<2)|0;k[E+8>>2]=e;iq(f|0,0,y|0)|0;k[F>>2]=e;e=k[D>>2]|0;if((e|0)>0){w=b+48|0;x=b+40|0;y=G+4|0;t=z+4|0;u=a+40|0;v=a+64|0;s=k[c>>2]|0;q=0;n=0;do{h=s+q|0;m=w;p=k[m>>2]|0;m=k[m+4>>2]|0;e=x;e=tq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;m=kq(e|0,L|0,p|0,m|0)|0;m=(k[k[b>>2]>>2]|0)+m|0;m=l[m>>0]|l[m+1>>0]<<8;j[A>>1]=m;p=m&65535^318;e=k[y>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&p;else h=(p>>>0)%(e>>>0)|0;d=k[(k[G>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){B=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){B=20;break a}}while((j[d+8>>1]|0)!=m<<16>>16);else do{d=k[d>>2]|0;if(!d){B=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){B=20;break a}}while((j[d+8>>1]|0)!=m<<16>>16);k[f+(q<<2)>>2]=k[d+12>>2]}else B=20}else B=20;while(0);if((B|0)==20){B=0;d=aq(16)|0;j[d+8>>1]=m;k[d+12>>2]=n;k[d+4>>2]=p;k[d>>2]=0;Ef(z,G,d);if(!(i[t>>0]|0))Jp(d);p=u;f=k[p>>2]|0;p=tq(f|0,k[p+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;mq((k[k[v>>2]>>2]|0)+p|0,A|0,f|0)|0;f=k[E>>2]|0;k[f+(q<<2)>>2]=n;n=n+1|0}q=q+1|0;e=k[D>>2]|0}while((q|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[E>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(C=g+(e<<2)|0,(h|0)!=(C|0)):0)k[c>>2]=h+(~((h+-4-C|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[D>>2]|0}if((e|0)>0){f=k[E>>2]|0;if(i[m>>0]|0)Aa(10792,10811,80,10843);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[D>>2]=n;f=n}}else f=0;d=k[E>>2]|0;c=d;if(d|0){e=k[F>>2]|0;if((e|0)!=(d|0))k[F>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[G+8>>2]|0;if(d|0)do{F=d;d=k[d>>2]|0;Jp(F)}while((d|0)!=0);d=k[G>>2]|0;k[G>>2]=0;if(!d){r=H;return f|0}Jp(d);r=H;return f|0}function Ef(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,l=0,m=0,n=0,p=0,q=0,r=0;n=j[c+8>>1]|0;d=n&65535^318;r=c+4|0;k[r>>2]=d;q=b+4|0;l=k[q>>2]|0;p=(l|0)==0;a:do if(!p){m=l+-1|0;f=(m&l|0)==0;if(f)e=m&d;else e=(d>>>0)%(l>>>0)|0;d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(d)if(f){while(1){d=k[d>>2]|0;if(!d)break a;if((k[d+4>>2]&m|0)!=(e|0))break a;if((j[d+8>>1]|0)==n<<16>>16){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){d=k[d>>2]|0;if(!d)break a;if((((k[d+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(e|0))break a;if((j[d+8>>1]|0)==n<<16>>16){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);m=b+12|0;g=+(((k[m>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(p|g>+(l>>>0)*h){if(l>>>0>2)d=(l+-1&l|0)==0;else d=0;f=(d&1|l<<1)^1;d=~~+ga(+(g/h))>>>0;Ff(b,f>>>0>>0?d:f);f=k[q>>2]|0;d=k[r>>2]|0;e=f+-1|0;if(!(e&f)){l=f;e=e&d;break}else{l=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=l+-1|0;if(!(e&l))d=d&e;else d=(d>>>0)%(l>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[m>>2]=(k[m>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function Ff(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Gf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Gf(a,b);return}function Gf(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)Jp(c);k[d>>2]=0;return}n=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)Jp(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;m=b+-1|0;n=(m&b|0)==0;if(n)e=c&m;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[f>>2]|0;if(!c)return;else{g=f;d=f}a:while(1){b:do if(n){l=g;i=d;while(1){while(1){h=k[c+4>>2]&m;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((j[g>>1]|0)==(j[f+8>>1]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[l>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{l=d;i=d}}}else{l=g;i=d;while(1){while(1){h=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((j[g>>1]|0)==(j[f+8>>1]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[l>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{l=d;i=d}}}while(0);k[d>>2]=c;c=k[f>>2]|0;if(!c){c=32;break}else{g=f;d=f}}if((c|0)==32)return}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,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+40|0;J=K+16|0;D=K+12|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)zp(H);A=d<<2;f=aq(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;iq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;u=k[c>>2]|0;t=0;n=0;do{m=u+t|0;q=y;h=k[q>>2]|0;q=k[q+4>>2]|0;s=z;s=tq(m|0,((m|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;q=kq(s|0,L|0,h|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[D>>2]=q;h=q&65535;s=q>>>16;m=s&65535;s=(q&65535^318)+239^s;e=k[A>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)p=s&g;else p=(s>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(p<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(p|0)){E=23;break a}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(p|0)){E=23;break a}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}while(0);k[f+(t<<2)>>2]=k[d+12>>2]}else E=23}else E=23;while(0);if((E|0)==23){E=0;d=aq(16)|0;p=d+8|0;j[p>>1]=q;j[p+2>>1]=q>>>16;k[d+12>>2]=n;k[d+4>>2]=s;k[d>>2]=0;If(B,J,d);if(!(i[v>>0]|0))Jp(d);s=w;f=k[s>>2]|0;s=tq(f|0,k[s+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;mq((k[k[x>>2]>>2]|0)+s|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(t<<2)>>2]=n;n=n+1|0}t=t+1|0;e=k[G>>2]|0}while((t|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[m>>0]|0)Aa(10792,10811,80,10843);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]=n;f=n}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Jp(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Jp(d);r=K;return f|0}function If(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;p=j[c+8>>1]|0;q=j[c+10>>1]|0;e=(p&65535^318)+239^q&65535;t=c+4|0;k[t>>2]=e;s=b+4|0;l=k[s>>2]|0;r=(l|0)==0;a:do if(!r){n=l+-1|0;m=(n&l|0)==0;if(m)e=n&e;else e=(e>>>0)%(l>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(m){while(1){if((k[d+4>>2]&n|0)!=(e|0))break a;if((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==q<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(e|0))break a;if((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==q<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);m=b+12|0;g=+(((k[m>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(r|g>+(l>>>0)*h){if(l>>>0>2)d=(l+-1&l|0)==0;else d=0;f=(d&1|l<<1)^1;d=~~+ga(+(g/h))>>>0;Jf(b,f>>>0>>0?d:f);f=k[s>>2]|0;d=k[t>>2]|0;e=f+-1|0;if(!(e&f)){l=f;e=e&d;break}else{l=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=l+-1|0;if(!(e&l))d=d&e;else d=(d>>>0)%(l>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[m>>2]=(k[m>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return} +function Ln(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;q=k[b>>2]|0;l=k[b+4>>2]|0;n=((k[c>>2]|0)-q<<3)+(k[c+4>>2]|0)-l|0;c=q;if((n|0)<=0){b=d+4|0;d=k[d>>2]|0;k[a>>2]=d;a=a+4|0;d=k[b>>2]|0;k[a>>2]=d;return}if(!l){e=d+4|0;j=e;e=k[e>>2]|0;p=n}else{f=32-l|0;m=(n|0)<(f|0)?n:f;f=-1>>>(f-m|0)&-1<>2];j=d+4|0;i=k[j>>2]|0;e=32-i|0;g=e>>>0>>0?e:m;h=k[d>>2]|0;i=k[h>>2]&~(-1>>>(e-g|0)&-1<>2]=i;e=k[j>>2]|0;k[h>>2]=i|(e>>>0>l>>>0?f<>>(l-e|0));e=(k[j>>2]|0)+g|0;h=h+(e>>>5<<2)|0;k[d>>2]=h;e=e&31;k[j>>2]=e;i=m-g|0;if((i|0)>0){k[h>>2]=k[h>>2]&~(-1>>>(32-i|0))|f>>>(l+g|0);k[j>>2]=i;e=i}c=c+4|0;k[b>>2]=c;p=n-m|0}q=32-e|0;g=-1<>>0>31){i=~g;f=k[d>>2]|0;m=p+-32|0;h=m>>>5;l=h+1|0;h=m-(h<<5)|0;m=c;n=k[f>>2]|0;o=f;e=p;while(1){p=k[m>>2]|0;r=n&i;k[o>>2]=r;k[o>>2]=r|p<>2];o=o+4|0;n=k[o>>2]&g|p>>>q;k[o>>2]=n;e=e+-32|0;if(e>>>0<=31)break;else m=m+4|0}c=c+(l<<2)|0;k[b>>2]=c;k[d>>2]=f+(l<<2)}else h=p;if((h|0)<=0){b=j;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;a=k[b>>2]|0;k[r>>2]=a;return}f=k[c>>2]&-1>>>(32-h|0);g=(q|0)<(h|0)?q:h;e=k[d>>2]|0;c=k[e>>2]&~(-1<>2]&-1>>>(q-g|0));k[e>>2]=c;k[e>>2]=c|f<>2];c=(k[j>>2]|0)+g|0;e=e+(c>>>5<<2)|0;k[d>>2]=e;k[j>>2]=c&31;c=h-g|0;if((c|0)<=0){b=j;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;a=k[b>>2]|0;k[r>>2]=a;return}k[e>>2]=k[e>>2]&~(-1>>>(32-c|0))|f>>>g;k[j>>2]=c;b=j;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;a=k[b>>2]|0;k[r>>2]=a;return}function Mn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;k[a+4>>2]=k[b+4>>2];h=a+8|0;i=b+8|0;if((a|0)==(b|0))return a|0;j=b+12|0;c=k[j>>2]|0;if(!c)c=0;else{e=a+16|0;do if(c>>>0>k[e>>2]<<5>>>0){d=k[h>>2]|0;if(d){Jp(d);k[h>>2]=0;k[e>>2]=0;k[a+12>>2]=0;c=k[j>>2]|0}if((c|0)<0)zp(h);else{f=((c+-1|0)>>>5)+1|0;g=aq(f<<2)|0;k[h>>2]=g;k[a+12>>2]=0;k[e>>2]=f;f=k[j>>2]|0;break}}else{f=c;g=k[h>>2]|0}while(0);nq(g|0,k[i>>2]|0,((f+-1|0)>>>5<<2)+4|0)|0;c=k[j>>2]|0}k[a+12>>2]=c;g=a+20|0;h=b+20|0;e=b+24|0;c=k[e>>2]|0;if(!c)c=0;else{f=a+28|0;do if(c>>>0>k[f>>2]<<5>>>0){d=k[g>>2]|0;if(d){Jp(d);k[g>>2]=0;k[f>>2]=0;k[a+24>>2]=0;c=k[e>>2]|0}if((c|0)<0)zp(g);else{l=((c+-1|0)>>>5)+1|0;m=aq(l<<2)|0;k[g>>2]=m;k[a+24>>2]=0;k[f>>2]=l;l=k[e>>2]|0;break}}else{l=c;m=k[g>>2]|0}while(0);nq(m|0,k[h>>2]|0,((l+-1|0)>>>5<<2)+4|0)|0;c=k[e>>2]|0}k[a+24>>2]=c;return a|0}function Nn(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;h=c-m>>2;j=a+8|0;d=k[j>>2]|0;g=k[a>>2]|0;l=g;if(h>>>0>d-g>>2>>>0){f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(l|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);Jp(f);k[j>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(h>>>0>1073741823)zp(a);d=d-0|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?h:d;if(d>>>0>1073741823)zp(a);else i=d}else i=1073741823;f=aq(i<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[j>>2]=f+(i<<2);if((b|0)==(c|0))return;e=(c+-4-m|0)>>>2;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+1<<2);return}else{j=a+4|0;i=k[j>>2]|0;f=i-g>>2;g=h>>>0>f>>>0;h=b+(f<<2)|0;f=g?h:c;if((f|0)==(b|0))b=l;else{e=f+-4-m|0;d=l;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(f|0))break;else d=d+4|0}b=l+((e>>>2)+1<<2)|0}if(!g){if((i|0)==(b|0))return;k[j>>2]=i+(~((i+-4-b|0)>>>2)<<2);return}if((f|0)==(c|0))return;e=(c+-4-f|0)>>>2;b=h;d=i;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]=i+(e+1<<2);return}}function On(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4628;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}k[a+12>>2]=4652;b=k[a+32>>2]|0;if(b|0)Jp(b);b=k[a+20>>2]|0;if(!b)return;Jp(b);return}function Pn(a){a=a|0;var b=0;k[a>>2]=4652;b=k[a+20>>2]|0;if(b|0)Jp(b);b=k[a+8>>2]|0;if(!b)return;Jp(b);return}function Qn(a){a=a|0;var b=0;k[a>>2]=4652;b=k[a+20>>2]|0;if(b|0)Jp(b);b=k[a+8>>2]|0;if(!b){Jp(a);return}Jp(b);Jp(a);return}function Rn(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;d=k[a+4>>2]|0;d=(k[d+56>>2]|0)-(k[d+52>>2]|0)>>2;i[c>>0]=0;Dg(a+20|0,d,c);r=b;return}function Sn(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4628;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}k[a+12>>2]=4652;b=k[a+32>>2]|0;if(b|0)Jp(b);b=k[a+20>>2]|0;if(!b){Jp(a);return}Jp(b);Jp(a);return}function Tn(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;h=a+76|0;c=k[h>>2]|0;m=k[c+64>>2]|0;r=b+84|0;i[r>>0]=0;j=b+68|0;l=b+72|0;f=k[l>>2]|0;e=k[j>>2]|0;d=f-e>>2;if(m>>>0<=d>>>0){if(m>>>0>>0?(g=e+(m<<2)|0,(f|0)!=(g|0)):0)k[l>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else{Ve(j,m-d|0,4616);m=k[h>>2]|0;c=m;m=k[m+64>>2]|0}p=(k[c+84>>2]|0)-(k[c+80>>2]|0)|0;q=(p|0)/12|0;if((p|0)<=0){r=1;return r|0}p=n+28|0;o=a+80|0;n=b+68|0;a=c+80|0;j=c+84|0;l=0;while(1){c=k[a>>2]|0;if((l|0)>=(((k[j>>2]|0)-c|0)/12|0|0)){d=9;break}e=l*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+(l*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+(l*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+(l*12|0)+8>>2]<<2)>>2]=d;l=l+1|0;if((l|0)>=(q|0)){c=1;d=14;break}}if((d|0)==9)Aa(10719,10773,64,10787);else if((d|0)==12)Aa(10792,10811,80,10843);else if((d|0)==14)return c|0;return 0}function Un(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;f=h+4|0;g=h;e=a+84|0;b=k[e>>2]|0;if(!b){b=a+8|0;e=k[(k[b>>2]|0)+64>>2]|0;e=(k[e+4>>2]|0)-(k[e>>2]|0)|0;a=(e|0)/12|0;if((e|0)<=0){r=h;return 1}c=0;do{k[g>>2]=c*3;k[f>>2]=k[g>>2];Vn(b,f);c=c+1|0}while((c|0)<(a|0));r=h;return 1}else{c=k[b>>2]|0;if((k[b+4>>2]|0)==(c|0)){r=h;return 1}d=a+8|0;b=c;a=0;do{k[g>>2]=k[b+(a<<2)>>2];k[f>>2]=k[g>>2];Vn(d,f);a=a+1|0;c=k[e>>2]|0;b=k[c>>2]|0}while(a>>>0<(k[c+4>>2]|0)-b>>2>>>0);r=h;return 1}return 0}function Vn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+32|0;s=A+28|0;q=A+24|0;h=A+20|0;i=A+16|0;l=A+12|0;m=A+8|0;v=A+4|0;w=A;n=k[b>>2]|0;if((n|0)<0){r=A;return}u=(n|0)/3|0;y=a+12|0;if(k[(k[y>>2]|0)+(u>>>5<<2)>>2]&1<<(u&31)|0){r=A;return}t=a+56|0;c=k[t>>2]|0;u=a+60|0;d=k[u>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;k[u>>2]=c}p=a+64|0;if((c|0)==(k[p>>2]|0))Cd(t,b);else{k[c>>2]=n;k[u>>2]=c+4}d=n+1|0;j=k[(k[a>>2]|0)+28>>2]|0;d=k[j+((((d|0)%3|0|0)==0?n+-2|0:d)<<2)>>2]|0;j=k[j+(n+(((n|0)%3|0|0)==0?2:-1)<<2)>>2]|0;o=a+24|0;c=k[o>>2]|0;e=c+(d>>>5<<2)|0;f=1<<(d&31);g=k[e>>2]|0;if(!(g&f)){k[e>>2]=g|f;k[h>>2]=d;c=n+1|0;k[i>>2]=((c|0)%3|0|0)==0?n+-2|0:c;k[q>>2]=k[h>>2];k[s>>2]=k[i>>2];Wn(a+36|0,q,s);c=k[o>>2]|0}c=c+(j>>>5<<2)|0;d=1<<(j&31);e=k[c>>2]|0;if(!(e&d)){k[c>>2]=e|d;k[l>>2]=j;k[m>>2]=n+(((n|0)%3|0|0)==0?2:-1);k[q>>2]=k[l>>2];k[s>>2]=k[m>>2];Wn(a+36|0,q,s)}d=k[t>>2]|0;c=k[u>>2]|0;if((d|0)==(c|0)){r=A;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[y>>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){n=(c|0)/3|0;i=d+(n>>>5<<2)|0;k[i>>2]=1<<(n&31)|k[i>>2];i=k[(k[e+28>>2]|0)+(c<<2)>>2]|0;d=k[(k[e+40>>2]|0)+(i<<2)>>2]|0;if((d|0)<0)h=1;else{h=k[(k[k[e+64>>2]>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;h=(1<<(h&31)&k[(k[e+12>>2]|0)+(h>>>5<<2)>>2]|0)!=0}d=(k[o>>2]|0)+(i>>>5<<2)|0;f=1<<(i&31);g=k[d>>2]|0;if(!(g&f)){k[d>>2]=g|f;k[v>>2]=i;k[w>>2]=c;k[q>>2]=k[v>>2];k[s>>2]=k[w>>2];Wn(j,q,s);e=k[a>>2]|0;if(h)h=e;else{if((c|0)>=0){n=c+1|0;c=((n|0)%3|0|0)==0?c+-2|0:n}if(!(1<<(c&31)&k[(k[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=k[(k[(k[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;k[b>>2]=c;d=k[y>>2]|0;continue}}else h=e;d=(c|0)<0;if(d)e=c;else{e=c+1|0;e=((e|0)%3|0|0)==0?c+-2|0:e}if(!(1<<(e&31)&k[(k[h>>2]|0)+(e>>>5<<2)>>2])){if((e|0)>=0)e=k[(k[(k[h+64>>2]|0)+12>>2]|0)+(e<<2)>>2]|0}else e=-1073741824;k[s>>2]=e;do if(!d)if(!((c|0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);if(!(1<<(c&31)&k[(k[h>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=k[(k[(k[h+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;f=(e|0)<0?-1:(e|0)/3|0;g=(c|0)<0?-1:(c|0)/3|0;do if((f|0)>=0){d=k[y>>2]|0;if(k[d+(f>>>5<<2)>>2]&1<<(f&31)|0){z=42;break}if((g|0)<0){c=e;break}if(!(k[d+(g>>>5<<2)>>2]&1<<(g&31))){z=47;break a}else c=e}else z=42;while(0);if((z|0)==42){z=0;if((g|0)<0){z=44;break}d=k[y>>2]|0;if(k[d+(g>>>5<<2)>>2]&1<<(g&31)){z=44;break}}k[b>>2]=c;e=h}do if((z|0)==44){z=0;c=(k[u>>2]|0)+-4|0;k[u>>2]=c}else if((z|0)==47){z=0;d=k[u>>2]|0;k[d+-4>>2]=c;if((d|0)==(k[p>>2]|0)){Cd(t,s);c=k[u>>2]|0;break}else{k[d>>2]=e;c=d+4|0;k[u>>2]=c;break}}while(0);d=k[t>>2]|0}else{c=c+-4|0;k[u>>2]=c}}while((d|0)!=(c|0));r=A;return}function Wn(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;j=r;r=r+16|0;h=j;d=k[a+8>>2]|0;i=k[c>>2]|0;e=(i|0)/3|0;if((i|0)<=-3)Aa(10860,10773,63,10787);f=k[d+80>>2]|0;if((e|0)>=(((k[d+84>>2]|0)-f|0)/12|0|0))Aa(10719,10773,64,10787);d=k[f+(e*12|0)+(((i|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))qg(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)){Cd(e,c);a=k[d>>2]|0;c=a+24|0;i=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]=i;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;r=j;return}else{k[g>>2]=i;k[f>>2]=g+4;a=e;c=a+24|0;i=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]=i;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;r=j;return}}function Xn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+32|0;j=n+24|0;i=n+16|0;l=n+8|0;m=n;k[a>>2]=4652;k[a+4>>2]=k[b+4>>2];e=a+8|0;f=b+8|0;k[e>>2]=0;g=a+12|0;k[g>>2]=0;h=a+16|0;k[h>>2]=0;c=b+12|0;d=k[c>>2]|0;do if(d|0)if((d|0)<0)zp(e);else{d=((d+-1|0)>>>5)+1|0;o=aq(d<<2)|0;k[e>>2]=o;k[g>>2]=0;k[h>>2]=d;g=k[f>>2]|0;k[l>>2]=g;k[l+4>>2]=0;h=k[c>>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];Kn(e,i,j);break}while(0);f=a+20|0;k[f>>2]=0;g=a+24|0;k[g>>2]=0;c=a+28|0;k[c>>2]=0;d=b+24|0;e=k[d>>2]|0;if(!e){r=n;return}if((e|0)<0)zp(f);o=((e+-1|0)>>>5)+1|0;a=aq(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];Kn(f,i,j);r=n;return}function Yn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;k[a+4>>2]=k[b+4>>2];h=a+8|0;i=b+8|0;if((a|0)==(b|0))return a|0;j=b+12|0;c=k[j>>2]|0;if(!c)c=0;else{e=a+16|0;do if(c>>>0>k[e>>2]<<5>>>0){d=k[h>>2]|0;if(d){Jp(d);k[h>>2]=0;k[e>>2]=0;k[a+12>>2]=0;c=k[j>>2]|0}if((c|0)<0)zp(h);else{f=((c+-1|0)>>>5)+1|0;g=aq(f<<2)|0;k[h>>2]=g;k[a+12>>2]=0;k[e>>2]=f;f=k[j>>2]|0;break}}else{f=c;g=k[h>>2]|0}while(0);nq(g|0,k[i>>2]|0,((f+-1|0)>>>5<<2)+4|0)|0;c=k[j>>2]|0}k[a+12>>2]=c;g=a+20|0;h=b+20|0;e=b+24|0;c=k[e>>2]|0;if(!c)c=0;else{f=a+28|0;do if(c>>>0>k[f>>2]<<5>>>0){d=k[g>>2]|0;if(d){Jp(d);k[g>>2]=0;k[f>>2]=0;k[a+24>>2]=0;c=k[e>>2]|0}if((c|0)<0)zp(g);else{l=((c+-1|0)>>>5)+1|0;m=aq(l<<2)|0;k[g>>2]=m;k[a+24>>2]=0;k[f>>2]=l;l=k[e>>2]|0;break}}else{l=c;m=k[g>>2]|0}while(0);nq(m|0,k[h>>2]|0,((l+-1|0)>>>5<<2)+4|0)|0;c=k[e>>2]|0}k[a+24>>2]=c;return a|0}function Zn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;x=C+88|0;s=C+92|0;B=C+40|0;A=C;u=C+84|0;y=C+80|0;o=a+148|0;k[o>>2]=0;e=a+164|0;if(k[e>>2]|0){c=a+160|0;b=k[c>>2]|0;if(b|0)do{z=b;b=k[b>>2]|0;Jp(z)}while((b|0)!=0);k[c>>2]=0;b=k[a+156>>2]|0;if(b|0){c=a+152|0;d=0;do{k[(k[c>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(b|0))}k[e>>2]=0}t=a+4|0;b=k[(k[t>>2]|0)+20>>2]|0;m=b+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;n=b+16|0;g=n;f=k[g>>2]|0;g=k[g+4>>2]|0;d=kq(f|0,g|0,4,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){B=0;r=C;return B|0}h=k[b>>2]|0;e=h+f|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;b=n;k[b>>2]=d;k[b+4>>2]=c;k[o>>2]=e;e=kq(f|0,g|0,8,0)|0;b=L;if((m|0)<(b|0)|(m|0)==(b|0)&j>>>0>>0){B=0;r=C;return B|0}c=h+d|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;q=n;k[q>>2]=e;k[q+4>>2]=b;q=a+172|0;k[q>>2]=c;b=kq(f|0,g|0,12,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){B=0;r=C;return B|0}p=h+e|0;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;d=n;k[d>>2]=b;k[d+4>>2]=c;b=k[a+24>>2]|0;c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);z=a+8|0;b=aq(60)|0;Ad(b);c=k[z>>2]|0;k[z>>2]=b;if(c){Gd(c);Jp(c);b=k[z>>2]|0;if(!b){B=0;r=C;return B|0}}Hd(b,p);f=a+176|0;g=k[f>>2]|0;h=a+180|0;b=k[h>>2]|0;c=g;if((b|0)!=(g|0)){b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[h>>2]=b}e=a+184|0;if((k[e>>2]|0)-c>>2>>>0

>>0){b=b-c|0;c=b>>2;if(!p)d=0;else d=aq(p<<2)|0;w=d+(c<<2)|0;v=w+(0-c<<2)|0;mq(v|0,g|0,b|0)|0;k[f>>2]=v;k[h>>2]=w;k[e>>2]=d+(p<<2);if(g|0)Jp(g)}f=a+188|0;g=k[f>>2]|0;h=a+192|0;b=k[h>>2]|0;c=g;if((b|0)!=(g|0)){b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[h>>2]=b}e=a+196|0;if((k[e>>2]|0)-c>>2>>>0

>>0){b=b-c|0;c=b>>2;if(!p)d=0;else d=aq(p<<2)|0;w=d+(c<<2)|0;v=w+(0-c<<2)|0;mq(v|0,g|0,b|0)|0;k[f>>2]=v;k[h>>2]=w;k[e>>2]=d+(p<<2);if(g|0)Jp(g)}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[t>>2]|0)+20>>2]|0;w=b+8|0;v=k[w+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((v|0)>(e|0)|((v|0)==(e|0)?(k[w>>2]|0)>>>0>d>>>0:0))){B=0;r=C;return B|0}h=i[(k[b>>2]|0)+d>>0]|0;v=kq(d|0,e|0,1,0)|0;w=c;k[w>>2]=v;k[w+4>>2]=L;if(h<<24>>24<0){B=0;r=C;return B|0}v=a+228|0;g=k[v>>2]|0;w=a+232|0;b=k[w>>2]|0;if((b|0)!=(g|0))do{k[w>>2]=b+-116;c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(c)}un(b+-112|0);b=k[w>>2]|0}while((b|0)!=(g|0));o=h<<24>>24;_n(v,o);b=k[(k[t>>2]|0)+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=k[d+4>>2]|0;m=kq(c|0,d|0,4,0)|0;e=L;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){B=0;r=C;return B|0}f=k[b>>2]|0;n=f+c|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;b=j;k[b>>2]=m;k[b+4>>2]=e;if(p>>>0>>0){B=0;r=C;return B|0}b=kq(c|0,d|0,8,0)|0;c=L;if((h|0)<(c|0)|(h|0)==(c|0)&g>>>0>>0){B=0;r=C;return B|0}e=f+m|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;h=j;k[h>>2]=b;k[h+4>>2]=c;h=a+136|0;b=(k[q>>2]|0)+e|0;i[s>>0]=1;Dg(h,b,s);b=k[(k[t>>2]|0)+20>>2]|0;q=b+8|0;s=k[q>>2]|0;q=k[q+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=kq(d|0,k[e+4>>2]|0,4,0)|0;f=L;if((q|0)<(f|0)|(q|0)==(f|0)&s>>>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;s=c;k[s>>2]=e;k[s+4>>2]=f}Pg(B);q=k[(k[t>>2]|0)+20>>2]|0;m=q+16|0;j=k[m>>2]|0;s=(k[q>>2]|0)+j+b|0;q=q+8|0;p=k[q>>2]|0;q=k[q+4>>2]|0;b=kq(j|0,k[m+4>>2]|0,b|0,0)|0;b=hq(p|0,q|0,b|0,L|0)|0;Qg(B,s,b);b=co(a,B)|0;if((b|0)==-1)b=0;else{c=a+240|0;k[a+328>>2]=a;q=(cb[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;q=k[q>>2]|0;p=k[q>>2]|0;q=k[q+16>>2]|0;s=(cb[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;s=k[s>>2]|0;m=s+8|0;s=s+16|0;s=hq(k[m>>2]|0,k[m+4>>2]|0,k[s>>2]|0,k[s+4>>2]|0)|0;Qg(c,p+q|0,s);k[a+324>>2]=o;Pg(A);do if(go(c,A)|0){if((ho(a,n)|0)==-1){b=0;break}p=k[(k[t>>2]|0)+20>>2]|0;s=A+16|0;o=k[s>>2]|0;q=(k[A>>2]|0)+o|0;n=A+8|0;s=hq(k[n>>2]|0,k[n+4>>2]|0,o|0,k[s+4>>2]|0)|0;Qg(p,q,s);t=(k[(k[t>>2]|0)+20>>2]|0)+16|0;s=t;s=kq(k[s>>2]|0,k[s+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[t>>2]=s;k[t+4>>2]=L;do if((k[w>>2]|0)!=(k[v>>2]|0)){t=k[z>>2]|0;if(((k[t+4>>2]|0)-(k[t>>2]|0)|0)<=0)break;b=0;do{k[u>>2]=b;k[x>>2]=k[u>>2];oo(a,x)|0;b=b+3|0;t=k[z>>2]|0}while((b|0)<((((k[t+4>>2]|0)-(k[t>>2]|0)|0)/12|0)*3|0))}while(0);Sg(c);Sg(a+280|0);c=k[z>>2]|0;f=k[c+28>>2]|0;g=k[c+24>>2]|0;q=g;if((f-g|0)>0){j=k[h>>2]|0;m=f-g>>2;n=c+12|0;p=0;do{do if(k[j+(p>>>5<<2)>>2]&1<<(p&31)|0){o=q+(p<<2)|0;b=k[o>>2]|0;if((b|0)<0)break;d=b+1|0;d=((d|0)%3|0|0)==0?b+-2|0:d;if((d|0)>=0){h=k[n>>2]|0;d=k[h+(d<<2)>>2]|0;a:do if((d|0)<0)e=b;else{u=d+1|0;d=((u|0)%3|0|0)==0?d+-2|0:u;if((d|0)>-1&(d|0)!=(b|0))e=d;else{e=b;break}while(1){d=e+1|0;d=((d|0)%3|0|0)==0?e+-2|0:d;if((d|0)<0)break a;d=k[h+(d<<2)>>2]|0;if((d|0)<0)break a;u=d+1|0;d=((u|0)%3|0|0)==0?d+-2|0:u;if((d|0)>-1&(d|0)!=(b|0))e=d;else break}}while(0);if((d|0)==(b|0))break;else b=e}k[o>>2]=b}while(0);p=p+1|0}while((p|0)<(m|0))}d=k[w>>2]|0;u=k[v>>2]|0;b=u;if((d|0)==(u|0))c=d;else{f=0;do{Cg(b+(f*116|0)+4|0,c)|0;b=k[v>>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[y>>2]=k[c>>2];k[x>>2]=k[y>>2];Kg(b+(f*116|0)+4|0,x);c=c+4|0;b=k[v>>2]|0}while((c|0)!=(d|0));Jg(b+(f*116|0)+4|0,0,0);f=f+1|0;d=k[w>>2]|0;e=k[v>>2]|0;b=e;c=k[z>>2]|0}while(f>>>0<((d-e|0)/116|0)>>>0);g=k[c+24>>2]|0;f=k[c+28>>2]|0;c=e}e=f-g>>2;f=a+212|0;j=a+216|0;m=k[j>>2]|0;h=k[f>>2]|0;g=m-h>>2;do if(e>>>0>g>>>0){Xg(f,e-g|0);b=k[v>>2]|0;d=k[w>>2]|0;c=b}else{if(e>>>0>=g>>>0)break;e=h+(e<<2)|0;if((m|0)==(e|0))break;k[j>>2]=m+(~((m+-4-e|0)>>>2)<<2)}while(0);if((d|0)!=(c|0)){m=0;while(1){f=(k[b+(m*116|0)+60>>2]|0)-(k[b+(m*116|0)+56>>2]|0)>>2;g=k[z>>2]|0;g=(k[g+28>>2]|0)-(k[g+24>>2]|0)>>2;f=(f|0)<(g|0)?g:f;g=b+(m*116|0)+88|0;h=b+(m*116|0)+92|0;j=k[h>>2]|0;e=k[g>>2]|0;b=j-e>>2;do if(f>>>0>b>>>0){Xg(g,f-b|0);c=k[v>>2]|0;d=k[w>>2]|0}else{if(f>>>0>=b>>>0)break;b=e+(f<<2)|0;if((j|0)==(b|0))break;k[h>>2]=j+(~((j+-4-b|0)>>>2)<<2)}while(0);m=m+1|0;if(m>>>0>=((d-c|0)/116|0)>>>0)break;else b=c}}po(a)|0;b=1}else b=0;while(0);Og(A+24|0)}Og(B+24|0);B=b;r=C;return B|0}function _n(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=a+4|0;e=k[g>>2]|0;c=k[a>>2]|0;d=(e-c|0)/116|0;if(d>>>0>>0){$n(a,b-d|0);return}if(d>>>0<=b>>>0)return;f=c+(b*116|0)|0;if((e|0)==(f|0))return;do{k[g>>2]=e+-116;c=k[e+-12>>2]|0;d=c;if(c|0){b=e+-8|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Jp(c)}c=k[e+-28>>2]|0;d=c;if(c|0){b=e+-24|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Jp(c)}c=k[e+-40>>2]|0;d=c;if(c|0){b=e+-36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Jp(c)}un(e+-112|0);e=k[g>>2]|0}while((e|0)!=(f|0));return}function $n(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;o=r;r=r+32|0;m=o;l=a+8|0;d=k[l>>2]|0;n=a+4|0;c=k[n>>2]|0;if(((d-c|0)/116|0)>>>0>=b>>>0){do{k[c>>2]=-1;Bg(c+4|0);i[c+72>>0]=1;e=c+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c=(k[n>>2]|0)+116|0;k[n>>2]=c;b=b+-1|0}while((b|0)!=0);r=o;return}f=k[a>>2]|0;e=((c-f|0)/116|0)+b|0;if(e>>>0>37025580)zp(a);c=(d-f|0)/116|0;if(c>>>0<18512790){j=c<<1;e=j>>>0>>0?e:j}else e=37025580;c=((k[n>>2]|0)-f|0)/116|0;k[m+12>>2]=0;k[m+16>>2]=a+8;if(!e)d=0;else d=aq(e*116|0)|0;k[m>>2]=d;c=d+(c*116|0)|0;g=m+8|0;k[g>>2]=c;h=m+4|0;k[h>>2]=c;j=m+12|0;k[j>>2]=d+(e*116|0);d=c;do{k[d>>2]=-1;Bg(d+4|0);i[d+72>>0]=1;e=d+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));d=d+116|0;k[g>>2]=d;b=b+-1|0}while((b|0)!=0);d=k[a>>2]|0;b=k[n>>2]|0;if((b|0)!=(d|0)){do{c=c+-116|0;b=b+-116|0;ao(c,b)}while((b|0)!=(d|0));k[h>>2]=c;d=k[a>>2]|0;b=k[n>>2]|0}k[a>>2]=c;k[h>>2]=d;k[n>>2]=k[g>>2];k[g>>2]=b;n=k[l>>2]|0;k[l>>2]=k[j>>2];k[j>>2]=n;k[m>>2]=k[h>>2];bo(m);r=o;return}function ao(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;k[a>>2]=k[b>>2];c=b+4|0;k[a+4>>2]=k[c>>2];d=b+8|0;k[a+8>>2]=k[d>>2];e=b+12|0;k[a+12>>2]=k[e>>2];k[c>>2]=0;k[d>>2]=0;k[e>>2]=0;e=b+16|0;k[a+16>>2]=k[e>>2];d=b+20|0;k[a+20>>2]=k[d>>2];c=b+24|0;k[a+24>>2]=k[c>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;i[a+28>>0]=i[b+28>>0]|0;c=a+32|0;d=b+32|0;k[c>>2]=0;e=a+36|0;k[e>>2]=0;k[a+40>>2]=0;k[c>>2]=k[d>>2];c=b+36|0;k[e>>2]=k[c>>2];e=b+40|0;k[a+40>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;d=a+44|0;c=b+44|0;k[d>>2]=0;e=a+48|0;k[e>>2]=0;k[a+52>>2]=0;k[d>>2]=k[c>>2];d=b+48|0;k[e>>2]=k[d>>2];e=b+52|0;k[a+52>>2]=k[e>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;c=a+56|0;d=b+56|0;k[c>>2]=0;e=a+60|0;k[e>>2]=0;k[a+64>>2]=0;k[c>>2]=k[d>>2];c=b+60|0;k[e>>2]=k[c>>2];e=b+64|0;k[a+64>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;k[a+68>>2]=k[b+68>>2];i[a+72>>0]=i[b+72>>0]|0;d=a+76|0;c=b+76|0;k[d>>2]=0;e=a+80|0;k[e>>2]=0;k[a+84>>2]=0;k[d>>2]=k[c>>2];d=b+80|0;k[e>>2]=k[d>>2];e=b+84|0;k[a+84>>2]=k[e>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;c=a+88|0;d=b+88|0;k[c>>2]=0;e=a+92|0;k[e>>2]=0;k[a+96>>2]=0;k[c>>2]=k[d>>2];c=b+92|0;k[e>>2]=k[c>>2];e=b+96|0;k[a+96>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;k[a+100>>2]=k[b+100>>2];d=a+104|0;c=b+104|0;k[d>>2]=0;e=a+108|0;k[e>>2]=0;k[a+112>>2]=0;k[d>>2]=k[c>>2];d=b+108|0;k[e>>2]=k[d>>2];b=b+112|0;k[a+112>>2]=k[b>>2];k[b>>2]=0;k[d>>2]=0;k[c>>2]=0;return}function bo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=k[a+4>>2]|0;h=a+8|0;b=k[h>>2]|0;if((b|0)!=(g|0))do{k[h>>2]=b+-116;f=k[b+-12>>2]|0;c=f;if(f|0){d=b+-8|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(f)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(c)}un(b+-112|0);b=k[h>>2]|0}while((b|0)!=(g|0));b=k[a>>2]|0;if(!b)return;Jp(b);return}function co(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+16|0;w=x;u=b+8|0;g=u;f=k[g>>2]|0;g=k[g+4>>2]|0;v=b+16|0;d=v;c=k[d>>2]|0;d=kq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0){w=-1;r=x;return w|0}n=(k[b>>2]|0)+c|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;t=v;k[t>>2]=d;k[t+4>>2]=e;a:do if(!n)h=d;else{o=w+4|0;p=w+8|0;q=a+40|0;s=a+44|0;t=a+36|0;c=e;m=0;while(1){e=kq(d|0,c|0,4,0)|0;h=L;if((g|0)<(h|0)|(g|0)==(h|0)&f>>>0>>0)break;j=k[b>>2]|0;y=j+d|0;k[w>>2]=l[y>>0]|l[y+1>>0]<<8|l[y+2>>0]<<16|l[y+3>>0]<<24;y=v;k[y>>2]=e;k[y+4>>2]=h;h=kq(d|0,c|0,8,0)|0;y=L;if((g|0)<(y|0)|(g|0)==(y|0)&f>>>0>>0)break;e=j+e|0;k[o>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=kq(d|0,c|0,8,0)|0;y=L;h=v;k[h>>2]=e;k[h+4>>2]=y;if(!((g|0)>(y|0)|(g|0)==(y|0)&f>>>0>e>>>0))break;y=i[j+e>>0]|0;j=kq(d|0,c|0,9,0)|0;c=v;k[c>>2]=j;k[c+4>>2]=L;i[p>>0]=y&3|i[p>>0]&-4;c=k[q>>2]|0;if((c|0)==(k[s>>2]|0))eo(t,w);else{k[c>>2]=k[w>>2];k[c+4>>2]=k[w+4>>2];k[c+8>>2]=k[w+8>>2];k[q>>2]=(k[q>>2]|0)+12}m=m+1|0;g=u;f=k[g>>2]|0;g=k[g+4>>2]|0;c=v;d=k[c>>2]|0;c=k[c+4>>2]|0;if(m>>>0>=n>>>0){h=d;e=c;break a}}y=-1;r=x;return y|0}while(0);d=kq(h|0,e|0,4,0)|0;c=L;if((g|0)<(c|0)|(g|0)==(c|0)&f>>>0>>0){y=-1;r=x;return y|0}o=(k[b>>2]|0)+h|0;o=l[o>>0]|l[o+1>>0]<<8|l[o+2>>0]<<16|l[o+3>>0]<<24;y=v;k[y>>2]=d;k[y+4>>2]=c;if(!o){y=d;r=x;return y|0}m=a+52|0;n=a+56|0;j=a+48|0;k[w>>2]=0;e=kq(h|0,e|0,8,0)|0;c=L;b:do if(!((g|0)<(c|0)|(g|0)==(c|0)&f>>>0>>0)){f=0;while(1){d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[w>>2]=d;y=v;k[y>>2]=e;k[y+4>>2]=c;c=k[m>>2]|0;if((c|0)==(k[n>>2]|0))fo(j,w);else{k[c>>2]=d;k[m>>2]=c+4}f=f+1|0;if(f>>>0>=o>>>0)break;a=u;y=k[a>>2]|0;a=k[a+4>>2]|0;e=v;d=k[e>>2]|0;e=k[e+4>>2]|0;k[w>>2]=0;e=kq(d|0,e|0,4,0)|0;c=L;if((a|0)<(c|0)|(a|0)==(c|0)&y>>>0>>0)break b}y=k[v>>2]|0;r=x;return y|0}while(0);y=-1;r=x;return y|0}function eo(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;h=a+4|0;i=k[a>>2]|0;d=(((k[h>>2]|0)-i|0)/12|0)+1|0;if(d>>>0>357913941)zp(a);j=a+8|0;c=((k[j>>2]|0)-i|0)/12|0;if(c>>>0<178956970){c=c<<1;c=c>>>0>>0?d:c;e=k[h>>2]|0;d=(e-i|0)/12|0;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=357913941;e=d;d=(d-i|0)/12|0;l=6}if((l|0)==6){g=c;f=aq(c*12|0)|0;c=e}l=f+(d*12|0)|0;k[l>>2]=k[b>>2];k[l+4>>2]=k[b+4>>2];k[l+8>>2]=k[b+8>>2];e=c-i|0;b=l+(((e|0)/-12|0)*12|0)|0;mq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+12;k[j>>2]=f+(g*12|0);if(!i)return;Jp(i);return}function fo(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;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)zp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;mq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Jp(i);return}function go(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;n=r;r=r+48|0;l=n+40|0;m=n;if(!(Rg(a,1,l)|0)){m=0;r=n;return m|0}c=a+40|0;e=a+16|0;f=k[e>>2]|0;d=(k[a>>2]|0)+f|0;o=a+8|0;e=hq(k[o>>2]|0,k[o+4>>2]|0,f|0,k[e+4>>2]|0)|0;Qg(c,d,e);e=l;d=k[e>>2]|0;e=k[e+4>>2]|0;f=a+48|0;o=f;g=a+56|0;j=g;h=k[j>>2]|0;j=k[j+4>>2]|0;o=hq(k[o>>2]|0,k[o+4>>2]|0,h|0,j|0)|0;p=L;if(e>>>0>p>>>0|(e|0)==(p|0)&d>>>0>o>>>0){p=0;r=n;return p|0}o=kq(h|0,j|0,d|0,e|0)|0;p=g;k[p>>2]=o;k[p+4>>2]=L;if(!(Rg(c,1,l)|0)){p=0;r=n;return p|0}Pg(m);d=g;p=k[d>>2]|0;c=(k[c>>2]|0)+p|0;e=f;d=hq(k[e>>2]|0,k[e+4>>2]|0,p|0,k[d+4>>2]|0)|0;Qg(m,c,d);d=l;c=k[d>>2]|0;d=k[d+4>>2]|0;p=m+8|0;e=m+16|0;g=e;f=k[g>>2]|0;g=k[g+4>>2]|0;p=hq(k[p>>2]|0,k[p+4>>2]|0,f|0,g|0)|0;o=L;a:do if(d>>>0>o>>>0|(d|0)==(o|0)&c>>>0>p>>>0)c=0;else{c=kq(f|0,g|0,c|0,d|0)|0;h=e;k[h>>2]=c;k[h+4>>2]=L;h=a+84|0;c=k[h>>2]|0;if((c|0)>0){g=a+80|0;e=c<<4;e=cq(c>>>0>268435455|e>>>0>4294967291?-1:e+4|0)|0;k[e>>2]=c;e=e+4|0;c=e+(c<<4)|0;d=e;do{rd(d);d=d+16|0}while((d|0)!=(c|0));f=k[g>>2]|0;k[g>>2]=e;if(f|0){d=f+-4|0;c=k[d>>2]|0;if(c|0){c=f+(c<<4)|0;do{c=c+-16|0;sd(c)}while((c|0)!=(f|0))}dq(d)}if((k[h>>2]|0)>0){c=0;do{if(!(td((k[g>>2]|0)+(c<<4)|0,m)|0)){c=0;break a}c=c+1|0}while((c|0)<(k[h>>2]|0))}}c=b;d=m;e=c+36|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));i[b+36>>0]=i[m+36>>0]|0;c=1}while(0);Og(m+24|0);p=c;r=n;return p|0}function ho(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0;ra=r;r=r+48|0;oa=ra+28|0;pa=ra+8|0;ka=ra+4|0;la=ra;k[oa>>2]=0;qa=oa+4|0;k[qa>>2]=0;k[oa+8>>2]=0;k[pa>>2]=0;k[pa+4>>2]=0;k[pa+8>>2]=0;k[pa+12>>2]=0;o[pa+16>>2]=1.0;ha=a+136|0;ba=k[a+140>>2]|0;a:do if((b|0)>0){_=a+276|0;$=a+8|0;aa=a+36|0;F=a+40|0;H=b+-1|0;I=pa+4|0;J=oa+8|0;K=a+272|0;M=a+264|0;N=a+268|0;x=0;e=0;while(1){d=x+1|0;if(i[_>>0]|0){f=k[K>>2]|0;h=k[M>>2]|0;j=k[N>>2]|0;c=h+(f>>>3)|0;if(c>>>0>>0?(R=(l[c>>0]|0)>>>(f&7)&1,S=f+1|0,k[K>>2]=S,(R|0)!=0):0){c=h+(S>>>3)|0;if(c>>>0>>0){g=(l[c>>0]|0)>>>(S&7)&1;f=f+2|0;k[K>>2]=f}else{g=0;f=S}c=h+(f>>>3)|0;if(c>>>0>>0){c=(l[c>>0]|0)>>>(f&7);k[K>>2]=f+1;c=c<<1&2}else c=0;f=R;c=(c|g)<<1;ca=11}else ca=12}else{f=0;c=0;ca=11}b:do if((ca|0)==11){ca=0;c=c|f;if(c){switch(c|0){case 3:case 5:{u=k[(k[qa>>2]|0)+-4>>2]|0;w=x*3|0;n=((c|0)==5?2:1)+w|0;c=k[$>>2]|0;v=k[c+12>>2]|0;k[v+(n<<2)>>2]=u;k[v+(u<<2)>>2]=n;v=e+1|0;s=(n|0)<0;t=(n|0)%3|0;k[(k[c>>2]|0)+((s?-1073741824:(n|0)/3|0)*12|0)+(t<<2)>>2]=e;if((e|0)>-1){j=c+24|0;g=c+28|0;f=k[g>>2]|0;c=k[j>>2]|0;h=f-c>>2;do if(h>>>0<=e>>>0){if(v>>>0>h>>>0){io(j,v-h|0);c=k[j>>2]|0;break}if(v>>>0>>0?(P=c+(v<<2)|0,(f|0)!=(P|0)):0)k[g>>2]=f+(~((f+-4-P|0)>>>2)<<2)}while(0);k[c+(e<<2)>>2]=n;c=k[$>>2]|0}if(s)p=n;else{p=n+1|0;p=((p|0)%3|0|0)==0?n+-2|0:p}q=(u|0)<0;if(!q?(D=(((u|0)%3|0|0)==0?2:-1)+u|0,(D|0)>=0):0)m=k[(k[c>>2]|0)+(((D|0)/3|0)*12|0)+(((D|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[c>>2]|0)+(((p|0)<0?-1073741824:(p|0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=c+24|0;f=c+28|0;e=k[f>>2]|0;c=k[j>>2]|0;g=e-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){io(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(Q=c+(h<<2)|0,(e|0)!=(Q|0)):0)k[f>>2]=e+(~((e+-4-Q|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=p;c=k[$>>2]|0}do if(!s)if(!t){n=n+2|0;break}else{n=n+-1|0;break}while(0);if(!q?(A=u+1|0,A=((A|0)%3|0|0)==0?u+-2|0:A,(A|0)>=0):0)m=k[(k[c>>2]|0)+(((A|0)/3|0)*12|0)+(((A|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[c>>2]|0)+(((n|0)<0?-1073741824:(n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=c+24|0;f=c+28|0;e=k[f>>2]|0;c=k[j>>2]|0;g=e-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){io(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(T=c+(h<<2)|0,(e|0)!=(T|0)):0)k[f>>2]=e+(~((e+-4-T|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=n}k[(k[qa>>2]|0)+-4>>2]=w;e=v;break}case 1:{c=k[qa>>2]|0;u=k[c+-4>>2]|0;n=c+-4|0;k[qa>>2]=n;h=k[I>>2]|0;c:do if(h){j=h+-1|0;g=(j&h|0)==0;if(g)m=j&x;else m=(x>>>0)%(h>>>0)|0;f=k[(k[pa>>2]|0)+(m<<2)>>2]|0;if(f){if(g)do{f=k[f>>2]|0;if(!f){c=n;break c}if((k[f+4>>2]&j|0)!=(m|0)){c=n;break c}}while((k[f+8>>2]|0)!=(x|0));else do{f=k[f>>2]|0;if(!f){c=n;break c}if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(m|0)){c=n;break c}}while((k[f+8>>2]|0)!=(x|0));f=f+12|0;if((n|0)==(k[J>>2]|0)){Cd(oa,f);c=k[qa>>2]|0;break}else{k[n>>2]=k[f>>2];k[qa>>2]=c;break}}else c=n}else c=n;while(0);p=k[c+-4>>2]|0;v=x*3|0;s=v+2|0;h=k[$>>2]|0;w=k[h+12>>2]|0;k[w+(p<<2)>>2]=s;k[w+(s<<2)>>2]=p;q=v+1|0;k[w+(u<<2)>>2]=q;k[w+(q<<2)>>2]=u;if((p|0)>=0){c=(((p|0)%3|0|0)==0?2:-1)+p|0;if((c|0)>=0){w=k[h>>2]|0;f=k[w+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;k[w+(x*12|0)+(((v|0)%3|0)<<2)>>2]=f;if((f|0)>-1){n=h+24|0;h=h+28|0;g=k[h>>2]|0;c=k[n>>2]|0;j=g-c>>2;do if(j>>>0<=f>>>0){m=f+1|0;if(m>>>0>j>>>0){io(n,m-j|0);c=k[n>>2]|0;break}if(m>>>0>>0?(U=c+(m<<2)|0,(g|0)!=(U|0)):0)k[h>>2]=g+(~((g+-4-U|0)>>>2)<<2)}while(0);k[c+(f<<2)>>2]=v;g=1;h=k[$>>2]|0}else g=0}else{k[(k[h>>2]|0)+(x*12|0)+(((v|0)%3|0)<<2)>>2]=-1073741824;f=-1073741824;g=0}c=p+1|0;c=((c|0)%3|0|0)==0?p+-2|0:c;if((c|0)<0){p=-1073741824;t=f;c=h}else{p=k[(k[h>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;t=f;c=h}}else{k[(k[h>>2]|0)+(x*12|0)+(((v|0)%3|0)<<2)>>2]=-1073741824;p=-1073741824;t=-1073741824;g=0;c=h}k[(k[c>>2]|0)+(((v|0)<-1?-1073741824:(q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]=p;if((p|0)>-1){n=c+24|0;h=c+28|0;f=k[h>>2]|0;c=k[n>>2]|0;j=f-c>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){io(n,m-j|0);c=k[n>>2]|0;break}if(m>>>0>>0?(V=c+(m<<2)|0,(f|0)!=(V|0)):0)k[h>>2]=f+(~((f+-4-V|0)>>>2)<<2)}while(0);k[c+(p<<2)>>2]=q;c=k[$>>2]|0}q=(u|0)<0;if(!q?(C=(((u|0)%3|0|0)==0?2:-1)+u|0,(C|0)>=0):0)p=k[(k[c>>2]|0)+(((C|0)/3|0)*12|0)+(((C|0)%3|0)<<2)>>2]|0;else p=-1073741824;k[(k[c>>2]|0)+(((v|0)<-2?-1073741824:(s|0)/3|0)*12|0)+(((s|0)%3|0)<<2)>>2]=p;if((p|0)>-1){n=c+24|0;h=c+28|0;f=k[h>>2]|0;c=k[n>>2]|0;j=f-c>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){io(n,m-j|0);c=k[n>>2]|0;break}if(m>>>0>>0?(W=c+(m<<2)|0,(f|0)!=(W|0)):0)k[h>>2]=f+(~((f+-4-W|0)>>>2)<<2)}while(0);k[c+(p<<2)>>2]=s}d:do if(!q?(y=u+1|0,y=((y|0)%3|0|0)==0?u+-2|0:y,(y|0)>=0):0){c=k[(k[k[$>>2]>>2]|0)+(((y|0)/3|0)*12|0)+(((y|0)%3|0)<<2)>>2]|0;f=k[$>>2]|0;q=t+1|0;if(g)p=y;else{h=k[f>>2]|0;j=f+12|0;g=y;while(1){k[h+(((g|0)/3|0)*12|0)+(((g|0)%3|0)<<2)>>2]=t;x=g+1|0;g=((x|0)%3|0|0)==0?g+-2|0:x;if((g|0)<0)break d;g=k[(k[j>>2]|0)+(g<<2)>>2]|0;if((g|0)<0)break d;x=g+1|0;g=((x|0)%3|0|0)==0?g+-2|0:x;if((g|0)<=-1)break d}}do{k[(k[f>>2]|0)+(((p|0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=t;m=f+24|0;n=f+28|0;g=k[n>>2]|0;f=k[m>>2]|0;h=g-f>>2;do if(h>>>0<=t>>>0){j=g;if(q>>>0>h>>>0){io(m,q-h|0);f=k[m>>2]|0;break}if(q>>>0>=h>>>0)break;g=f+(q<<2)|0;if((j|0)==(g|0))break;k[n>>2]=j+(~((j+-4-g|0)>>>2)<<2)}while(0);k[f+(t<<2)>>2]=p;g=p+1|0;g=((g|0)%3|0|0)==0?p+-2|0:g;f=k[$>>2]|0;if((g|0)<0)break d;g=k[(k[f+12>>2]|0)+(g<<2)>>2]|0;if((g|0)<0)break d;p=g+1|0;p=((p|0)%3|0|0)==0?g+-2|0:p}while((p|0)>-1)}else ca=141;while(0);if((ca|0)==141){ca=0;f=k[$>>2]|0;c=-1073741824}k[(k[f+24>>2]|0)+(c<<2)>>2]=-1073741824;k[(k[qa>>2]|0)+-4>>2]=v;break b}case 7:{m=x*3|0;k[ka>>2]=m;f=k[$>>2]|0;n=e+1|0;c=k[f>>2]|0;k[c+(x*12|0)+(((m|0)%3|0)<<2)>>2]=e;if((e|0)>-1){j=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[j>>2]|0;h=f-c>>2;do if(h>>>0<=e>>>0){if(n>>>0>h>>>0){io(j,n-h|0);c=k[j>>2]|0;break}if(n>>>0>>0?(X=c+(n<<2)|0,(f|0)!=(X|0)):0)k[g>>2]=f+(~((f+-4-X|0)>>>2)<<2)}while(0);k[c+(e<<2)>>2]=m;f=k[$>>2]|0;g=k[ka>>2]|0;c=k[f>>2]|0}else g=m;m=g+1|0;p=e+2|0;k[c+(((g|0)<-1?-1073741824:(m|0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=n;if((e|0)>-2){j=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[j>>2]|0;h=f-c>>2;do if(h>>>0<=n>>>0){if(p>>>0>h>>>0){io(j,p-h|0);c=k[j>>2]|0;break}if(p>>>0>>0?(Y=c+(p<<2)|0,(f|0)!=(Y|0)):0)k[g>>2]=f+(~((f+-4-Y|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=m;f=k[$>>2]|0;g=k[ka>>2]|0;c=k[f>>2]|0}m=g+2|0;e=e+3|0;k[c+(((g|0)<-2?-1073741824:(m|0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=p;if((p|0)>-1){j=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[j>>2]|0;h=f-c>>2;do if(h>>>0<=p>>>0){if(e>>>0>h>>>0){io(j,e-h|0);c=k[j>>2]|0;break}if(e>>>0>>0?(Z=c+(e<<2)|0,(f|0)!=(Z|0)):0)k[g>>2]=f+(~((f+-4-Z|0)>>>2)<<2)}while(0);k[c+(p<<2)>>2]=m}c=k[qa>>2]|0;if((c|0)==(k[J>>2]|0))Cd(oa,ka);else{k[c>>2]=k[ka>>2];k[qa>>2]=c+4}break}default:{e=-1;break a}}j=b-x|0;m=j+-1|0;c=k[F>>2]|0;if((c|0)!=(k[aa>>2]|0))do{f=k[c+-8>>2]|0;if((f|0)>=(j|0)){e=-1;break a}if((f|0)!=(m|0))break b;g=i[c+-4>>0]|0;h=k[c+-12>>2]|0;k[F>>2]=c+-12;if((h|0)<0){e=-1;break a}c=k[(k[qa>>2]|0)+-4>>2]|0;f=(c|0)<0;do if(!(g&1)){if(!f)if(!((c|0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}else if(!f){x=c+1|0;c=((x|0)%3|0|0)==0?c+-2|0:x}while(0);k[ka>>2]=H-h;x=jo(pa,ka)|0;k[x>>2]=c;c=k[F>>2]|0}while((c|0)!=(k[aa>>2]|0))}else ca=12}while(0);if((ca|0)==12){ca=0;t=k[(k[qa>>2]|0)+-4>>2]|0;u=(t|0)<0;e:do if(!u){c=t+(((t|0)%3|0|0)==0?2:-1)|0;if((c|0)<0)ca=14;else{h=k[$>>2]|0;g=k[h+12>>2]|0;while(1){f=k[g+(c<<2)>>2]|0;if((f|0)<=-1){q=0;f=h;break e}c=f+(((f|0)%3|0|0)==0?2:-1)|0;if((c|0)<0){q=1;f=h;break}}}}else{c=t;ca=14}while(0);if((ca|0)==14){ca=0;f=k[$>>2]|0;q=1;g=k[f+12>>2]|0}v=x*3|0;s=v+1|0;k[g+(t<<2)>>2]=s;k[g+(s<<2)>>2]=t;w=v+2|0;k[g+(c<<2)>>2]=w;k[g+(w<<2)>>2]=c;if(!u?(z=t+1|0,z=((z|0)%3|0|0)==0?t+-2|0:z,(z|0)>=0):0){n=k[f>>2]|0;p=k[n+(((z|0)/3|0)*12|0)+(((z|0)%3|0)<<2)>>2]|0;k[n+(x*12|0)+(((v|0)%3|0)<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){io(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]=v;f=k[$>>2]|0}}else{k[(k[f>>2]|0)+(x*12|0)+(((v|0)%3|0)<<2)>>2]=-1073741824;p=-1073741824}if(!q?(B=c+1|0,B=((B|0)%3|0|0)==0?c+-2|0:B,(B|0)>=0):0)n=k[(k[f>>2]|0)+(((B|0)/3|0)*12|0)+(((B|0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[f>>2]|0)+(((v|0)<-1?-1073741824:(s|0)/3|0)*12|0)+(((s|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[m>>2]|0;h=f-c>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){io(m,j-h|0);c=k[m>>2]|0;break}if(j>>>0>>0?(L=c+(j<<2)|0,(f|0)!=(L|0)):0)k[g>>2]=f+(~((f+-4-L|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=s;c=k[$>>2]|0}else c=f;if(!u?(E=(((t|0)%3|0|0)==0?2:-1)+t|0,(E|0)>=0):0)n=k[(k[c>>2]|0)+(((E|0)/3|0)*12|0)+(((E|0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[c>>2]|0)+(((v|0)<-2?-1073741824:(w|0)/3|0)*12|0)+(((w|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=c+24|0;g=c+28|0;f=k[g>>2]|0;c=k[m>>2]|0;h=f-c>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){io(m,j-h|0);c=k[m>>2]|0;break}if(j>>>0>>0?(O=c+(j<<2)|0,(f|0)!=(O|0)):0)k[g>>2]=f+(~((f+-4-O|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=w}if((e|0)>(ba|0)){e=-1;break a}ca=(k[ha>>2]|0)+(p>>>5<<2)|0;k[ca>>2]=k[ca>>2]&~(1<<(p&31));k[(k[qa>>2]|0)+-4>>2]=v}if((d|0)<(b|0))x=d;else{ca=198;break}}}else{d=0;e=0;ca=198}while(0);do if((ca|0)==198)if((e|0)<=(ba|0)){c=k[qa>>2]|0;f:do if((c|0)!=(k[oa>>2]|0)){u=a+316|0;v=a+8|0;w=a+64|0;x=a+68|0;y=a+72|0;z=a+80|0;A=a+84|0;B=a+76|0;C=a+312|0;D=a+304|0;E=a+308|0;t=d;g:while(1){ba=c;n=k[ba+-4>>2]|0;k[ka>>2]=n;k[qa>>2]=ba+-4;do if(i[u>>0]|0){c=k[C>>2]|0;d=(k[D>>2]|0)+(c>>>3)|0;if(d>>>0<(k[E>>2]|0)>>>0?(ba=l[d>>0]|0,k[C>>2]=c+1,ba&1<<(c&7)|0):0){ca=205;break}c=k[x>>2]|0;d=k[y>>2]|0;if((c|0)==(d<<5|0)){if((c+1|0)<0){ca=263;break g}if(d<<5>>>0>1073741822)c=2147483647;else{ba=d<<6;c=c+32&-32;c=ba>>>0>>0?c:ba}Dd(w,c);c=k[x>>2]|0}k[x>>2]=c+1;ba=(k[w>>2]|0)+(c>>>5<<2)|0;k[ba>>2]=k[ba>>2]&~(1<<(c&31));c=k[z>>2]|0;if((c|0)==(k[A>>2]|0)){Cd(B,ka);d=t;break}else{k[c>>2]=n;k[z>>2]=c+4;d=t;break}}else ca=205;while(0);if((ca|0)==205){ca=0;g=(n|0)<0;h:do if(!g){c=n+(((n|0)%3|0|0)==0?2:-1)|0;if((c|0)>=0){d=k[(k[v>>2]|0)+12>>2]|0;f=c;while(1){c=k[d+(f<<2)>>2]|0;if((c|0)<=-1){d=0;c=f;break}c=c+(((c|0)%3|0|0)==0?2:-1)|0;if((c|0)<0){d=1;break}else f=c}if(g){f=n;ca=212;break}}else d=1;f=n+1|0;f=((f|0)%3|0|0)==0?n+-2|0:f;if((f|0)<0)ca=212;else{g=k[v>>2]|0;h=k[g+12>>2]|0;j=f;while(1){f=k[h+(j<<2)>>2]|0;if((f|0)<=-1){m=d;s=0;q=j;break h}ba=f+1|0;f=((ba|0)%3|0|0)==0?f+-2|0:ba;if((f|0)<0){m=d;s=1;q=f;break}else j=f}}}else{d=1;c=n;f=n;ca=212}while(0);if((ca|0)==212){ca=0;g=k[v>>2]|0;m=d;s=1;h=k[g+12>>2]|0;q=f}d=t+1|0;f=t*3|0;k[la>>2]=f;k[h+(f<<2)>>2]=n;k[h+(n<<2)>>2]=f;ba=f+1|0;k[h+(ba<<2)>>2]=c;k[h+(c<<2)>>2]=ba;ba=f+2|0;k[h+(ba<<2)>>2]=q;k[h+(q<<2)>>2]=ba;if(!m?(fa=c+1|0,fa=((fa|0)%3|0|0)==0?c+-2|0:fa,(fa|0)>=0):0)p=k[(k[g>>2]|0)+(((fa|0)/3|0)*12|0)+(((fa|0)%3|0)<<2)>>2]|0;else p=-1073741824;k[(k[g>>2]|0)+(((t|0)<0?-1073741824:t)*12|0)+(((f|0)%3|0)<<2)>>2]=p;if((p|0)>-1){n=g+24|0;h=g+28|0;g=k[h>>2]|0;c=k[n>>2]|0;j=g-c>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){io(n,m-j|0);c=k[n>>2]|0;break}if(m>>>0>>0?(ia=c+(m<<2)|0,(g|0)!=(ia|0)):0)k[h>>2]=g+(~((g+-4-ia|0)>>>2)<<2)}while(0);k[c+(p<<2)>>2]=f;f=k[la>>2]|0;g=k[v>>2]|0}p=f+1|0;if(!s?(ea=q+1|0,ea=((ea|0)%3|0|0)==0?q+-2|0:ea,(ea|0)>=0):0)n=k[(k[g>>2]|0)+(((ea|0)/3|0)*12|0)+(((ea|0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[g>>2]|0)+(((f|0)<-1?-1073741824:(p|0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=g+24|0;g=g+28|0;f=k[g>>2]|0;c=k[m>>2]|0;h=f-c>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){io(m,j-h|0);c=k[m>>2]|0;break}if(j>>>0>>0?(ja=c+(j<<2)|0,(f|0)!=(ja|0)):0)k[g>>2]=f+(~((f+-4-ja|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=p;f=k[la>>2]|0;g=k[v>>2]|0}q=f+2|0;c=k[ka>>2]|0;if((c|0)>=0?(da=c+1|0,da=((da|0)%3|0|0)==0?c+-2|0:da,(da|0)>=0):0)p=k[(k[g>>2]|0)+(((da|0)/3|0)*12|0)+(((da|0)%3|0)<<2)>>2]|0;else p=-1073741824;k[(k[g>>2]|0)+(((f|0)<-2?-1073741824:(q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]=p;if((p|0)>-1){m=g+24|0;n=g+28|0;f=k[n>>2]|0;c=k[m>>2]|0;g=f-c>>2;do if(g>>>0<=p>>>0){h=p+1|0;j=f;if(h>>>0>g>>>0){io(m,h-g|0);c=k[m>>2]|0;break}if(h>>>0>>0){f=c+(h<<2)|0;if((j|0)==(f|0))break;k[n>>2]=j+(~((j+-4-f|0)>>>2)<<2)}}while(0);k[c+(p<<2)>>2]=q;g=k[la>>2]|0}else g=f;if((g|0)<0)c=-1073741824;else c=k[(k[k[v>>2]>>2]|0)+(((g|0)/3|0)*12|0)+(((g|0)%3|0)<<2)>>2]|0;f=k[ha>>2]|0;ba=f+(c>>>5<<2)|0;k[ba>>2]=k[ba>>2]&~(1<<(c&31));c=g+1|0;if((g|0)<-1)c=-1073741824;else c=k[(k[k[v>>2]>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;ba=f+(c>>>5<<2)|0;k[ba>>2]=k[ba>>2]&~(1<<(c&31));c=g+2|0;if((g|0)<-2)c=-1073741824;else c=k[(k[k[v>>2]>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;f=f+(c>>>5<<2)|0;k[f>>2]=k[f>>2]&~(1<<(c&31));c=k[x>>2]|0;f=k[y>>2]|0;if((c|0)==(f<<5|0)){if((c+1|0)<0){ca=251;break}if(f<<5>>>0>1073741822)c=2147483647;else{ba=f<<6;c=c+32&-32;c=ba>>>0>>0?c:ba}Dd(w,c);c=k[x>>2]|0}k[x>>2]=c+1;ba=(k[w>>2]|0)+(c>>>5<<2)|0;k[ba>>2]=k[ba>>2]|1<<(c&31);c=k[z>>2]|0;if((c|0)==(k[A>>2]|0))Cd(B,la);else{k[c>>2]=g;k[z>>2]=c+4}}c=k[qa>>2]|0;if((c|0)==(k[oa>>2]|0)){ga=v;ma=d;break f}else t=d}if((ca|0)==251)zp(w);else if((ca|0)==263)zp(w)}else{ga=a+8|0;ma=d}while(0);la=k[ga>>2]|0;if((ma|0)==(((k[la+4>>2]|0)-(k[la>>2]|0)|0)/12|0|0)){h=a+88|0;c=a+92|0;g=k[c>>2]|0;d=k[h>>2]|0;f=g-d>>2;if(e>>>0>f>>>0){no(h,e-f|0);break}if(e>>>0>>0?(na=d+(e<<2)|0,(g|0)!=(na|0)):0)k[c>>2]=g+(~((g+-4-na|0)>>>2)<<2)}else e=-1}else e=-1;while(0);c=k[pa+8>>2]|0;if(c|0)do{na=c;c=k[c>>2]|0;Jp(na)}while((c|0)!=0);c=k[pa>>2]|0;k[pa>>2]=0;if(c|0)Jp(c);c=k[oa>>2]|0;if(!c){r=ra;return e|0}d=k[qa>>2]|0;if((d|0)!=(c|0))k[qa>>2]=d+(~((d+-4-c|0)>>>2)<<2);Jp(c);r=ra;return e|0}function io(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;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){iq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)zp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;iq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;mq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Jp(j);return}function jo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;h=i;f=k[b>>2]|0;d=k[a+4>>2]|0;a:do if(d|0){e=d+-1|0;c=(e&d|0)==0;if(c)g=e&f;else g=(f>>>0)%(d>>>0)|0;b=k[(k[a>>2]|0)+(g<<2)>>2]|0;if(b|0)if(c){do{b=k[b>>2]|0;if(!b)break a;if((k[b+4>>2]&e|0)!=(g|0))break a}while((k[b+8>>2]|0)!=(f|0));a=b+12|0;r=i;return a|0}else{do{b=k[b>>2]|0;if(!b)break a;if((((k[b+4>>2]|0)>>>0)%(d>>>0)|0|0)!=(g|0))break a}while((k[b+8>>2]|0)!=(f|0));a=b+12|0;r=i;return a|0}}while(0);g=aq(16)|0;k[g+8>>2]=f;k[g+12>>2]=0;ko(h,a,g);a=k[h>>2]|0;a=a+12|0;r=i;return a|0}function ko(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0;l=k[c+8>>2]|0;q=c+4|0;k[q>>2]=l;n=b+4|0;p=k[n>>2]|0;m=(p|0)==0;a:do if(!m){j=p+-1|0;f=(j&p|0)==0;if(f)e=j&l;else e=(l>>>0)%(p>>>0)|0;d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(d)if(f){while(1){d=k[d>>2]|0;if(!d)break a;if((k[d+4>>2]&j|0)!=(e|0))break a;if((k[d+8>>2]|0)==(l|0)){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){d=k[d>>2]|0;if(!d)break a;if((((k[d+4>>2]|0)>>>0)%(p>>>0)|0|0)!=(e|0))break a;if((k[d+8>>2]|0)==(l|0)){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(m|g>+(p>>>0)*h){if(p>>>0>2)d=(p+-1&p|0)==0;else d=0;f=(d&1|p<<1)^1;d=~~+ga(+(g/h))>>>0;lo(b,f>>>0>>0?d:f);f=k[n>>2]|0;d=k[q>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}else j=p;while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function lo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){mo(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;mo(a,b);return}function mo(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)Jp(c);k[d>>2]=0;return}m=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=m;if(c|0)Jp(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;l=b+-1|0;m=(l&b|0)==0;if(m)e=c&l;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[f>>2]|0;if(!c)return;else{g=f;d=f}a:while(1){b:do if(m){j=g;i=d;while(1){while(1){h=k[c+4>>2]&l;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((k[g>>2]|0)==(k[f+8>>2]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[j>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{j=d;i=d}}}else{j=g;i=d;while(1){while(1){h=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((k[g>>2]|0)==(k[f+8>>2]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[j>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{j=d;i=d}}}while(0);k[d>>2]=c;c=k[f>>2]|0;if(!c){c=32;break}else{g=f;d=f}}if((c|0)==32)return}function no(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;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){iq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)zp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;iq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;mq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Jp(j);return}function oo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+32|0;s=u+8|0;n=u+4|0;o=u;c=k[b>>2]|0;k[s>>2]=c;m=a+8|0;do if((c|0)>=0){l=c+1|0;k[s+4>>2]=((l|0)%3|0|0)==0?c+-2|0:l;if(!((c|0)%3|0)){b=c+2|0;break}else{b=c+-1|0;break}}else{k[s+4>>2]=c;b=c}while(0);k[s+8>>2]=b;j=a+228|0;l=a+232|0;i=a+320|0;b=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)){f=0;do{do if(ud((k[i>>2]|0)+(f<<4)|0)|0){a=k[j>>2]|0;k[o>>2]=c;d=a+(f*116|0)+108|0;e=k[d>>2]|0;if(e>>>0<(k[a+(f*116|0)+112>>2]|0)>>>0){k[e>>2]=c;k[d>>2]=e+4;break}else{Ee(a+(f*116|0)+104|0,o);break}}while(0);f=f+1|0}while(f>>>0<(((k[l>>2]|0)-(k[j>>2]|0)|0)/116|0)>>>0)}}else t=11;if((t|0)==11?(t=0,p=k[l>>2]|0,q=k[j>>2]|0,(p|0)!=(q|0)):0){a=q;d=p;h=0;do{e=a;k[n>>2]=c;f=e+(h*116|0)+108|0;g=k[f>>2]|0;if(g>>>0<(k[e+(h*116|0)+112>>2]|0)>>>0){k[g>>2]=c;k[f>>2]=g+4}else{Ee(e+(h*116|0)+104|0,n);a=k[j>>2]|0;d=k[l>>2]|0}h=h+1|0}while(h>>>0<((d-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;c=k[s+(b<<2)>>2]|0}r=u;return 1}function po(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=r;r=r+64|0;G=J+44|0;K=J+28|0;I=J+12|0;t=J+40|0;A=J+24|0;D=J;H=a+4|0;e=k[(k[H>>2]|0)+24>>2]|0;F=a+8|0;b=k[F>>2]|0;b=((k[b+4>>2]|0)-(k[b>>2]|0)|0)/12|0;c=e+80|0;e=e+84|0;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;h=k[e>>2]|0;g=k[c>>2]|0;f=(h-g|0)/12|0;if(b>>>0<=f>>>0){if(b>>>0>>0?(i=g+(b*12|0)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~(((h+-12-i|0)>>>0)/12|0)*12|0)}else qo(c,b-f|0,G);y=a+228|0;z=a+232|0;if((k[z>>2]|0)==(k[y>>2]|0)){b=k[F>>2]|0;b=(k[b+28>>2]|0)-(k[b+24>>2]|0)|0;c=b>>2;k[K>>2]=0;p=K+4|0;k[p>>2]=0;k[K+8>>2]=0;do if(c)if(c>>>0>1073741823)zp(K);else{d=aq(b)|0;k[K>>2]=d;E=d+(c<<2)|0;k[K+8>>2]=E;iq(d|0,-1,b|0)|0;k[p>>2]=E;break}else d=0;while(0);e=k[H>>2]|0;b=k[e+24>>2]|0;f=k[b+84>>2]|0;c=k[b+80>>2]|0;if((f-c|0)>0){n=I+4|0;o=I+8|0;j=b;d=c;c=e;l=e;m=0;b=0;while(1){k[I>>2]=0;k[I+4>>2]=0;k[I+8>>2]=0;h=m*3|0;if((m|0)<0)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(m*12|0)+(((h|0)%3|0)<<2)>>2]|0;i=k[K>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;a=b;b=b+1|0}else a=g;k[I>>2]=a;e=h+1|0;if((h|0)<-1)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;g=b;b=b+1|0}k[n>>2]=g;e=h+2|0;if((h|0)<-2)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;g=b;b=b+1|0}k[o>>2]=g;h=j+80|0;g=j+84|0;e=(f-d|0)/12|0;i=m;m=m+1|0;do if((i|0)>=(e|0)){k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;if(m>>>0>e>>>0){qo(h,m-e|0,G);c=k[H>>2]|0;d=k[h>>2]|0;e=c;break}if(m>>>0>>0?(q=d+(m*12|0)|0,(f|0)!=(q|0)):0){k[g>>2]=f+(~(((f+-12-q|0)>>>0)/12|0)*12|0);e=l}else e=l}else e=l;while(0);k[d+(i*12|0)>>2]=a;k[d+(i*12|0)+4>>2]=k[n>>2];k[d+(i*12|0)+8>>2]=k[o>>2];j=k[e+24>>2]|0;f=k[j+84>>2]|0;d=k[j+80>>2]|0;if((m|0)>=((f-d|0)/12|0|0))break;else l=e}d=k[K>>2]|0}else{c=e;b=0}k[(k[c+4>>2]|0)+64>>2]=b;b=d;if(d|0){c=k[p>>2]|0;if((c|0)!=(d|0))k[p>>2]=c+(~((c+-4-b|0)>>>2)<<2);Jp(d)}r=J;return 1}k[K>>2]=0;E=K+4|0;k[E>>2]=0;k[K+8>>2]=0;b=k[F>>2]|0;q=k[b+4>>2]|0;s=k[b>>2]|0;c=q-s|0;d=((c|0)/12|0)*3|0;k[I>>2]=0;B=I+4|0;k[B>>2]=0;k[I+8>>2]=0;do if((q|0)!=(s|0))if(d>>>0>1073741823)zp(I);else{s=aq(c)|0;k[I>>2]=s;j=s+(d<<2)|0;k[I+8>>2]=j;iq(s|0,0,c|0)|0;k[B>>2]=j;j=k[F>>2]|0;break}else j=b;while(0);a:do if(((k[j+28>>2]|0)-(k[j+24>>2]|0)|0)>0){q=a+136|0;s=K+8|0;p=0;b:while(1){f=k[(k[j+24>>2]|0)+(p<<2)>>2]|0;if((f|0)>=0){c:do if((k[(k[q>>2]|0)+(p>>>5<<2)>>2]&1<<(p&31)|0)==0?(u=k[z>>2]|0,v=k[y>>2]|0,w=v,(u|0)!=(v|0)):0){g=(f|0)/3|0;h=(f|0)%3|0;e=((h|0)==0?2:-1)+f|0;i=(e|0)<0;a=(u-v|0)/116|0;l=j+12|0;m=j+12|0;o=0;d:while(1){n=k[(k[k[w+(o*116|0)+68>>2]>>2]|0)+(g*12|0)+(h<<2)>>2]|0;if(1<<(n&31)&k[(k[w+(o*116|0)+16>>2]|0)+(n>>>5<<2)>>2]|0){n=k[w+(o*116|0)+32>>2]|0;d=k[n+(f<<2)>>2]|0;do if(!i){c=k[(k[l>>2]|0)+(e<<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=e;while(0);if((c|0)!=(f|0))do{b=k[n+(c<<2)>>2]|0;if((c|0)<0)break d;if((b|0)!=(d|0))break c;c=(((c|0)%3|0|0)==0?2:-1)+c|0;do if((c|0)>=0){c=k[(k[m>>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)}while((c|0)!=(f|0))}o=o+1|0;if(o>>>0>=a>>>0){c=f;break c}}while(1)if((b|0)==(d|0))b=d;else break}else c=f;while(0);b=k[E>>2]|0;k[(k[I>>2]|0)+(c<<2)>>2]=b-(k[K>>2]|0)>>2;k[t>>2]=c;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=c;k[E>>2]=b+4;b=j}else{Ee(K,t);b=k[F>>2]|0}do if((c|0)>=0){f=(((c|0)%3|0|0)==0?2:-1)+c|0;if((f|0)>=0){f=k[(k[b+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=c;while(0);if((f|0)>-1&(f|0)!=(c|0)){b=c;while(1){if((f|0)<0)break b;d=k[z>>2]|0;e=k[y>>2]|0;g=e;e:do if((d|0)!=(e|0)){d=(d-e|0)/116|0;e=0;while(1){o=k[g+(e*116|0)+32>>2]|0;e=e+1|0;if((k[o+(f<<2)>>2]|0)!=(k[o+(b<<2)>>2]|0))break;if(e>>>0>=d>>>0){x=87;break e}}b=k[E>>2]|0;k[(k[I>>2]|0)+(f<<2)>>2]=b-(k[K>>2]|0)>>2;k[A>>2]=f;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=f;k[E>>2]=b+4;break}else{Ee(K,A);break}}else x=87;while(0);if((x|0)==87){x=0;o=k[I>>2]|0;k[o+(f<<2)>>2]=k[o+(b<<2)>>2]}b=(((f|0)%3|0|0)==0?2:-1)+f|0;do if((b|0)>=0){b=k[(k[(k[F>>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}}while(0);if((b|0)>-1&(b|0)!=(c|0)){o=f;f=b;b=o}else break}}}p=p+1|0;j=k[F>>2]|0;if((p|0)>=((k[j+28>>2]|0)-(k[j+24>>2]|0)>>2|0))break a}f:while(1){c=k[z>>2]|0;d=k[y>>2]|0;e=d;g:do if((c|0)!=(d|0)){c=(c-d|0)/116|0;d=0;while(1){J=k[e+(d*116|0)+32>>2]|0;d=d+1|0;if((k[J+(f<<2)>>2]|0)!=(k[J+(b<<2)>>2]|0))break;if(d>>>0>=c>>>0)break g}b=k[E>>2]|0;k[(k[I>>2]|0)+(f<<2)>>2]=b-(k[K>>2]|0)>>2;k[A>>2]=f;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=f;k[E>>2]=b+4;b=f;continue f}else{Ee(K,A);b=f;continue f}}while(0);J=k[I>>2]|0;k[J+(f<<2)>>2]=k[J+(b<<2)>>2];b=f}}while(0);c=k[H>>2]|0;b=k[c+24>>2]|0;e=k[b+84>>2]|0;d=k[b+80>>2]|0;if((e-d|0)>0){j=D+4|0;l=D+8|0;i=c;f=c;a=0;while(1){k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;g=(k[I>>2]|0)+(a*3<<2)|0;k[D>>2]=k[g>>2];k[D+4>>2]=k[g+4>>2];k[D+8>>2]=k[g+8>>2];g=b+80|0;b=b+84|0;c=(e-d|0)/12|0;h=a;a=a+1|0;do if((h|0)>=(c|0)){k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;if(a>>>0>c>>>0){qo(g,a-c|0,G);c=k[H>>2]|0;d=k[g>>2]|0;f=c;break}if(a>>>0>>0?(C=d+(a*12|0)|0,(e|0)!=(C|0)):0){k[b>>2]=e+(~(((e+-12-C|0)>>>0)/12|0)*12|0);c=i}else c=i}else c=i;while(0);k[d+(h*12|0)>>2]=k[D>>2];k[d+(h*12|0)+4>>2]=k[j>>2];k[d+(h*12|0)+8>>2]=k[l>>2];b=k[f+24>>2]|0;e=k[b+84>>2]|0;d=k[b+80>>2]|0;if((a|0)>=((e-d|0)/12|0|0))break;else i=c}}b=k[K>>2]|0;k[(k[c+4>>2]|0)+64>>2]=(k[E>>2]|0)-b>>2;c=k[I>>2]|0;d=c;if(c){b=k[B>>2]|0;if((b|0)!=(c|0))k[B>>2]=b+(~((b+-4-d|0)>>>2)<<2);Jp(c);b=k[K>>2]|0}c=b;if(b|0){d=k[E>>2]|0;if((d|0)!=(b|0))k[E>>2]=d+(~((d+-4-c|0)>>>2)<<2);Jp(b)}r=J;return 1}function qo(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;e=k[i>>2]|0;j=a+4|0;d=k[j>>2]|0;if(((e-d|0)/12|0)>>>0>=b>>>0){do{k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];k[d+8>>2]=k[c+8>>2];d=(k[j>>2]|0)+12|0;k[j>>2]=d;b=b+-1|0}while((b|0)!=0);return}g=k[a>>2]|0;f=((d-g|0)/12|0)+b|0;if(f>>>0>357913941)zp(a);d=(e-g|0)/12|0;if(d>>>0<178956970){d=d<<1;d=d>>>0>>0?f:d;e=((k[j>>2]|0)-g|0)/12|0;if(!d){g=0;f=0;d=e}else h=9}else{d=357913941;e=((k[j>>2]|0)-g|0)/12|0;h=9}if((h|0)==9){g=d;f=aq(d*12|0)|0;d=e}h=f+(d*12|0)|0;f=f+(g*12|0)|0;e=h;d=h;do{k[e>>2]=k[c>>2];k[e+4>>2]=k[c+4>>2];k[e+8>>2]=k[c+8>>2];e=d+12|0;d=e;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;g=(k[j>>2]|0)-b|0;c=h+(((g|0)/-12|0)*12|0)|0;mq(c|0,b|0,g|0)|0;k[a>>2]=c;k[j>>2]=d;k[i>>2]=f;if(!b)return;Jp(b);return}function ro(a){a=a|0;return 1}function so(a){a=a|0;return k[a+4>>2]|0}function to(a){a=a|0;return k[a+8>>2]|0}function uo(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4672;sd(a+352|0);b=k[a+340>>2]|0;c=b;if(b|0){d=a+344|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}e=a+320|0;c=k[e>>2]|0;k[e>>2]=0;if(c|0){d=c+-4|0;b=k[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;sd(b)}while((b|0)!=(c|0))}dq(d)}Og(a+304|0);Og(a+264|0);vo(a+228|0);b=k[a+212>>2]|0;c=b;if(b|0){d=a+216|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+200>>2]|0;c=b;if(b|0){d=a+204|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+188>>2]|0;c=b;if(b|0){d=a+192|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+176>>2]|0;c=b;if(b|0){d=a+180|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+160>>2]|0;if(b|0)do{e=b;b=k[b>>2]|0;Jp(e)}while((b|0)!=0);e=a+152|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)Jp(b);b=k[a+136>>2]|0;if(b|0)Jp(b);b=k[a+124>>2]|0;if(b|0)Jp(b);b=k[a+112>>2]|0;if(b|0)Jp(b);b=k[a+88>>2]|0;c=b;if(b|0){d=a+92|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}e=k[a+76>>2]|0;b=e;if(e|0){c=a+80|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Jp(e)}b=k[a+64>>2]|0;if(b|0)Jp(b);b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+36>>2]|0;c=b;if(b|0){d=a+40|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);Jp(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}a=a+8|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Gd(b);Jp(b);return}function vo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a>>2]|0;if(!b)return;h=a+4|0;c=k[h>>2]|0;if((c|0)!=(b|0)){do{k[h>>2]=c+-116;g=k[c+-12>>2]|0;d=g;if(g|0){e=c+-8|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(g)}d=k[c+-28>>2]|0;e=d;if(d|0){f=c+-24|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}d=k[c+-40>>2]|0;e=d;if(d|0){f=c+-36|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}un(c+-112|0);c=k[h>>2]|0}while((c|0)!=(b|0));b=k[a>>2]|0}Jp(b);return}function wo(a){a=a|0;uo(a);Jp(a);return}function xo(a,b){a=a|0;b=b|0;k[a+4>>2]=b;return 1}function yo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;h=d;if((c|0)==(d|0)){j=0;return j|0}g=k[(k[a+4>>2]|0)+8>>2]|0;e=(c-d|0)/116|0;a=0;a:while(1){c=k[g+(k[h+(a*116|0)>>2]<<2)>>2]|0;f=k[c+4>>2]|0;c=(k[c+8>>2]|0)-f|0;if((c|0)>0){c=c>>2;d=0;do{if((k[f+(d<<2)>>2]|0)==(b|0))break a;d=d+1|0}while((d|0)<(c|0))}a=a+1|0;if(a>>>0>=e>>>0){a=0;j=9;break}}if((j|0)==9)return a|0;j=(i[h+(a*116|0)+72>>0]|0)==0?0:h+(a*116|0)+4|0;return j|0}function zo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;i=d;a:do if((c|0)!=(d|0)){h=k[(k[a+4>>2]|0)+8>>2]|0;f=(c-d|0)/116|0;c=0;b:while(1){d=k[h+(k[i+(c*116|0)>>2]<<2)>>2]|0;g=k[d+4>>2]|0;d=(k[d+8>>2]|0)-g|0;if((d|0)>0){d=d>>2;e=0;do{if((k[g+(e<<2)>>2]|0)==(b|0))break b;e=e+1|0}while((e|0)<(d|0))}c=c+1|0;if(c>>>0>=f>>>0)break a}i=i+(c*116|0)+76|0;return i|0}while(0);i=a+200|0;return i|0}function Ao(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+208|0;t=z+168|0;v=z+36|0;u=z;p=z+136|0;s=z+104|0;w=z+32|0;x=a+4|0;l=k[x>>2]|0;c=k[l+20>>2]|0;f=c+8|0;e=k[f>>2]|0;f=k[f+4>>2]|0;g=c+16|0;j=g;h=k[j>>2]|0;j=k[j+4>>2]|0;if(!((f|0)>(j|0)|(f|0)==(j|0)&e>>>0>h>>>0)){b=0;r=z;return b|0}c=k[c>>2]|0;m=i[c+h>>0]|0;d=kq(h|0,j|0,1,0)|0;q=L;o=g;k[o>>2]=d;k[o+4>>2]=q;if(!((f|0)>(q|0)|(f|0)==(q|0)&e>>>0>d>>>0)){b=0;r=z;return b|0}e=i[c+d>>0]|0;o=kq(h|0,j|0,2,0)|0;q=g;k[q>>2]=o;k[q+4>>2]=L;do if(m<<24>>24>-1){c=m<<24>>24;d=k[a+228>>2]|0;if(c>>>0<(((k[a+232>>2]|0)-d|0)/116|0)>>>0){k[d+(c*116|0)>>2]=b;break}else{b=0;r=z;return b|0}}while(0);q=k[l+24>>2]|0;c=m<<24>>24<0;if(!(e<<24>>24)){if(c)g=a+200|0;else{g=m<<24>>24;s=k[a+228>>2]|0;i[s+(g*116|0)+72>>0]=0;g=s+(g*116|0)+76|0}c=aq(88)|0;k[c+4>>2]=0;k[c>>2]=4580;h=c+12|0;k[h>>2]=4604;j=c+64|0;k[j>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;f=c+16|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));k[c+76>>2]=q;k[c+80>>2]=g;k[c+84>>2]=0;n=v+4|0;k[n>>2]=4604;l=v+56|0;k[l>>2]=0;o=v+60|0;k[o>>2]=0;k[v+64>>2]=0;f=v+8|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));e=k[a+8>>2]|0;k[u>>2]=4604;d=u+4|0;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;f=e;k[d>>2]=f;f=((k[f+4>>2]|0)-(k[e>>2]|0)|0)/12|0;i[t>>0]=0;Dg(u+8|0,f,t);ab[k[(k[u>>2]|0)+8>>2]&127](u);Jn(p,u);Jn(t,p);k[v>>2]=k[t+4>>2];f=v+4|0;Mn(f,t)|0;k[t>>2]=4604;d=k[t+20>>2]|0;if(d|0)Jp(d);d=k[t+8>>2]|0;if(d|0)Jp(d);k[v+36>>2]=e;k[v+40>>2]=g;k[v+44>>2]=q;k[v+48>>2]=c;k[p>>2]=4604;d=k[p+20>>2]|0;if(d|0)Jp(d);d=k[p+8>>2]|0;if(d|0)Jp(d);k[c+8>>2]=k[v>>2];Mn(h,f)|0;d=c+44|0;t=v+36|0;k[d>>2]=k[t>>2];k[d+4>>2]=k[t+4>>2];k[d+8>>2]=k[t+8>>2];k[d+12>>2]=k[t+12>>2];i[d+16>>0]=i[t+16>>0]|0;Nn(j,k[l>>2]|0,k[o>>2]|0);k[u>>2]=4604;d=k[u+20>>2]|0;if(d|0)Jp(d);d=k[u+8>>2]|0;if(d|0)Jp(d);d=k[l>>2]|0;e=d;if(d|0){f=k[o>>2]|0;if((f|0)!=(d|0))k[o>>2]=f+(~((f+-4-e|0)>>>2)<<2);Jp(d)}k[n>>2]=4604;d=k[v+24>>2]|0;if(d|0)Jp(d);d=k[v+12>>2]|0;if(d|0)Jp(d)}else{if(c){b=0;r=z;return b|0}c=aq(88)|0;e=m<<24>>24;d=k[a+228>>2]|0;g=d+(e*116|0)+76|0;k[c+4>>2]=0;k[c>>2]=4628;h=c+12|0;k[h>>2]=4652;j=c+64|0;k[j>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;f=c+16|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));k[c+76>>2]=q;k[c+80>>2]=g;k[c+84>>2]=0;n=v+4|0;k[n>>2]=4652;l=v+56|0;k[l>>2]=0;o=v+60|0;k[o>>2]=0;k[v+64>>2]=0;f=v+8|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));f=d+(e*116|0)+4|0;k[u>>2]=4652;p=u+4|0;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;k[p+24>>2]=0;k[p>>2]=f;e=k[d+(e*116|0)+68>>2]|0;e=((k[e+4>>2]|0)-(k[e>>2]|0)|0)/12|0;i[t>>0]=0;Dg(u+8|0,e,t);ab[k[(k[u>>2]|0)+8>>2]&127](u);Xn(s,u);Xn(t,s);k[v>>2]=k[t+4>>2];e=v+4|0;Yn(e,t)|0;k[t>>2]=4652;d=k[t+20>>2]|0;if(d|0)Jp(d);d=k[t+8>>2]|0;if(d|0)Jp(d);k[v+36>>2]=f;k[v+40>>2]=g;k[v+44>>2]=q;k[v+48>>2]=c;k[s>>2]=4652;d=k[s+20>>2]|0;if(d|0)Jp(d);d=k[s+8>>2]|0;if(d|0)Jp(d);k[c+8>>2]=k[v>>2];Yn(h,e)|0;d=c+44|0;t=v+36|0;k[d>>2]=k[t>>2];k[d+4>>2]=k[t+4>>2];k[d+8>>2]=k[t+8>>2];k[d+12>>2]=k[t+12>>2];i[d+16>>0]=i[t+16>>0]|0;Nn(j,k[l>>2]|0,k[o>>2]|0);k[u>>2]=4652;d=k[u+20>>2]|0;if(d|0)Jp(d);d=k[u+8>>2]|0;if(d|0)Jp(d);d=k[l>>2]|0;e=d;if(d|0){f=k[o>>2]|0;if((f|0)!=(d|0))k[o>>2]=f+(~((f+-4-e|0)>>>2)<<2);Jp(d)}k[n>>2]=4652;d=k[v+24>>2]|0;if(d|0)Jp(d);d=k[v+12>>2]|0;if(d|0)Jp(d)}j=aq(52)|0;k[w>>2]=c;Dk(j,w);c=k[w>>2]|0;k[w>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);h=k[x>>2]|0;g=h+8|0;h=h+12|0;c=k[h>>2]|0;d=k[g>>2]|0;e=c-d>>2;do if((e|0)<=(b|0)){f=b+1|0;if(f>>>0>e>>>0){Lk(g,f-e|0);break}if(f>>>0>>0?(y=d+(f<<2)|0,(c|0)!=(y|0)):0)do{x=c+-4|0;k[h>>2]=x;c=k[x>>2]|0;k[x>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[h>>2]|0}while((c|0)!=(y|0))}while(0);b=(k[g>>2]|0)+(b<<2)|0;c=k[b>>2]|0;k[b>>2]=j;if(!c){b=1;r=z;return b|0}ab[k[(k[c>>2]|0)+4>>2]&127](c);b=1;r=z;return b|0}function Bo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;x=C+88|0;s=C+92|0;B=C+40|0;A=C;u=C+84|0;y=C+80|0;o=a+148|0;k[o>>2]=0;e=a+164|0;if(k[e>>2]|0){c=a+160|0;b=k[c>>2]|0;if(b|0)do{z=b;b=k[b>>2]|0;Jp(z)}while((b|0)!=0);k[c>>2]=0;b=k[a+156>>2]|0;if(b|0){c=a+152|0;d=0;do{k[(k[c>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(b|0))}k[e>>2]=0}t=a+4|0;b=k[(k[t>>2]|0)+20>>2]|0;m=b+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;n=b+16|0;g=n;f=k[g>>2]|0;g=k[g+4>>2]|0;d=kq(f|0,g|0,4,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){B=0;r=C;return B|0}h=k[b>>2]|0;e=h+f|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;b=n;k[b>>2]=d;k[b+4>>2]=c;k[o>>2]=e;e=kq(f|0,g|0,8,0)|0;b=L;if((m|0)<(b|0)|(m|0)==(b|0)&j>>>0>>0){B=0;r=C;return B|0}c=h+d|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;q=n;k[q>>2]=e;k[q+4>>2]=b;q=a+172|0;k[q>>2]=c;b=kq(f|0,g|0,12,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){B=0;r=C;return B|0}p=h+e|0;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;d=n;k[d>>2]=b;k[d+4>>2]=c;b=k[a+24>>2]|0;c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);z=a+8|0;b=aq(60)|0;Ad(b);c=k[z>>2]|0;k[z>>2]=b;if(c){Gd(c);Jp(c);b=k[z>>2]|0;if(!b){B=0;r=C;return B|0}}Hd(b,p);f=a+176|0;g=k[f>>2]|0;h=a+180|0;b=k[h>>2]|0;c=g;if((b|0)!=(g|0)){b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[h>>2]=b}e=a+184|0;if((k[e>>2]|0)-c>>2>>>0

>>0){b=b-c|0;c=b>>2;if(!p)d=0;else d=aq(p<<2)|0;w=d+(c<<2)|0;v=w+(0-c<<2)|0;mq(v|0,g|0,b|0)|0;k[f>>2]=v;k[h>>2]=w;k[e>>2]=d+(p<<2);if(g|0)Jp(g)}f=a+188|0;g=k[f>>2]|0;h=a+192|0;b=k[h>>2]|0;c=g;if((b|0)!=(g|0)){b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[h>>2]=b}e=a+196|0;if((k[e>>2]|0)-c>>2>>>0

>>0){b=b-c|0;c=b>>2;if(!p)d=0;else d=aq(p<<2)|0;w=d+(c<<2)|0;v=w+(0-c<<2)|0;mq(v|0,g|0,b|0)|0;k[f>>2]=v;k[h>>2]=w;k[e>>2]=d+(p<<2);if(g|0)Jp(g)}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[t>>2]|0)+20>>2]|0;w=b+8|0;v=k[w+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((v|0)>(e|0)|((v|0)==(e|0)?(k[w>>2]|0)>>>0>d>>>0:0))){B=0;r=C;return B|0}h=i[(k[b>>2]|0)+d>>0]|0;v=kq(d|0,e|0,1,0)|0;w=c;k[w>>2]=v;k[w+4>>2]=L;if(h<<24>>24<0){B=0;r=C;return B|0}v=a+228|0;g=k[v>>2]|0;w=a+232|0;b=k[w>>2]|0;if((b|0)!=(g|0))do{k[w>>2]=b+-116;c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(c)}un(b+-112|0);b=k[w>>2]|0}while((b|0)!=(g|0));o=h<<24>>24;Co(v,o);b=k[(k[t>>2]|0)+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=k[d+4>>2]|0;m=kq(c|0,d|0,4,0)|0;e=L;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){B=0;r=C;return B|0}f=k[b>>2]|0;n=f+c|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;b=j;k[b>>2]=m;k[b+4>>2]=e;if(p>>>0>>0){B=0;r=C;return B|0}b=kq(c|0,d|0,8,0)|0;c=L;if((h|0)<(c|0)|(h|0)==(c|0)&g>>>0>>0){B=0;r=C;return B|0}p=f+m|0;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;h=j;k[h>>2]=b;k[h+4>>2]=c;h=a+136|0;b=(k[q>>2]|0)+p|0;i[s>>0]=1;Dg(h,b,s);b=k[(k[t>>2]|0)+20>>2]|0;p=b+8|0;s=k[p>>2]|0;p=k[p+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=kq(d|0,k[e+4>>2]|0,4,0)|0;f=L;if((p|0)<(f|0)|(p|0)==(f|0)&s>>>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;s=c;k[s>>2]=e;k[s+4>>2]=f}Pg(B);p=k[(k[t>>2]|0)+20>>2]|0;j=p+16|0;g=k[j>>2]|0;s=(k[p>>2]|0)+g+b|0;p=p+8|0;m=k[p>>2]|0;p=k[p+4>>2]|0;b=kq(g|0,k[j+4>>2]|0,b|0,0)|0;b=hq(m|0,p|0,b|0,L|0)|0;Qg(B,s,b);b=Go(a,B)|0;if((b|0)==-1)b=0;else{c=a+240|0;k[a+328>>2]=a;p=(cb[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;p=k[p>>2]|0;m=k[p>>2]|0;p=k[p+16>>2]|0;s=(cb[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;s=k[s>>2]|0;j=s+8|0;s=s+16|0;s=hq(k[j>>2]|0,k[j+4>>2]|0,k[s>>2]|0,k[s+4>>2]|0)|0;Qg(c,m+p|0,s);s=cb[k[(k[a>>2]|0)+36>>2]&127](a)|0;k[a+332>>2]=s;k[a+336>>2]=k[q>>2];k[a+324>>2]=o;Pg(A);do if(Ho(c,A)|0){if((Io(a,n)|0)==-1){b=0;break}p=k[(k[t>>2]|0)+20>>2]|0;s=A+16|0;o=k[s>>2]|0;q=(k[A>>2]|0)+o|0;n=A+8|0;s=hq(k[n>>2]|0,k[n+4>>2]|0,o|0,k[s+4>>2]|0)|0;Qg(p,q,s);t=(k[(k[t>>2]|0)+20>>2]|0)+16|0;s=t;s=kq(k[s>>2]|0,k[s+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[t>>2]=s;k[t+4>>2]=L;do if((k[w>>2]|0)!=(k[v>>2]|0)){t=k[z>>2]|0;if(((k[t+4>>2]|0)-(k[t>>2]|0)|0)<=0)break;b=0;do{k[u>>2]=b;k[x>>2]=k[u>>2];Ko(a,x)|0;b=b+3|0;t=k[z>>2]|0}while((b|0)<((((k[t+4>>2]|0)-(k[t>>2]|0)|0)/12|0)*3|0))}while(0);Sg(c);Sg(a+280|0);c=k[z>>2]|0;f=k[c+28>>2]|0;g=k[c+24>>2]|0;q=g;if((f-g|0)>0){j=k[h>>2]|0;m=f-g>>2;n=c+12|0;p=0;do{do if(k[j+(p>>>5<<2)>>2]&1<<(p&31)|0){o=q+(p<<2)|0;b=k[o>>2]|0;if((b|0)<0)break;d=b+1|0;d=((d|0)%3|0|0)==0?b+-2|0:d;if((d|0)>=0){h=k[n>>2]|0;d=k[h+(d<<2)>>2]|0;a:do if((d|0)<0)e=b;else{u=d+1|0;d=((u|0)%3|0|0)==0?d+-2|0:u;if((d|0)>-1&(d|0)!=(b|0))e=d;else{e=b;break}while(1){d=e+1|0;d=((d|0)%3|0|0)==0?e+-2|0:d;if((d|0)<0)break a;d=k[h+(d<<2)>>2]|0;if((d|0)<0)break a;u=d+1|0;d=((u|0)%3|0|0)==0?d+-2|0:u;if((d|0)>-1&(d|0)!=(b|0))e=d;else break}}while(0);if((d|0)==(b|0))break;else b=e}k[o>>2]=b}while(0);p=p+1|0}while((p|0)<(m|0))}d=k[w>>2]|0;u=k[v>>2]|0;b=u;if((d|0)==(u|0))c=d;else{f=0;do{Cg(b+(f*116|0)+4|0,c)|0;b=k[v>>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[y>>2]=k[c>>2];k[x>>2]=k[y>>2];Kg(b+(f*116|0)+4|0,x);c=c+4|0;b=k[v>>2]|0}while((c|0)!=(d|0));Jg(b+(f*116|0)+4|0,0,0);f=f+1|0;d=k[w>>2]|0;e=k[v>>2]|0;b=e;c=k[z>>2]|0}while(f>>>0<((d-e|0)/116|0)>>>0);g=k[c+24>>2]|0;f=k[c+28>>2]|0;c=e}e=f-g>>2;f=a+212|0;j=a+216|0;m=k[j>>2]|0;h=k[f>>2]|0;g=m-h>>2;do if(e>>>0>g>>>0){Xg(f,e-g|0);b=k[v>>2]|0;d=k[w>>2]|0;c=b}else{if(e>>>0>=g>>>0)break;e=h+(e<<2)|0;if((m|0)==(e|0))break;k[j>>2]=m+(~((m+-4-e|0)>>>2)<<2)}while(0);if((d|0)!=(c|0)){m=0;while(1){f=(k[b+(m*116|0)+60>>2]|0)-(k[b+(m*116|0)+56>>2]|0)>>2;g=k[z>>2]|0;g=(k[g+28>>2]|0)-(k[g+24>>2]|0)>>2;f=(f|0)<(g|0)?g:f;g=b+(m*116|0)+88|0;h=b+(m*116|0)+92|0;j=k[h>>2]|0;e=k[g>>2]|0;b=j-e>>2;do if(f>>>0>b>>>0){Xg(g,f-b|0);c=k[v>>2]|0;d=k[w>>2]|0}else{if(f>>>0>=b>>>0)break;b=e+(f<<2)|0;if((j|0)==(b|0))break;k[h>>2]=j+(~((j+-4-b|0)>>>2)<<2)}while(0);m=m+1|0;if(m>>>0>=((d-c|0)/116|0)>>>0)break;else b=c}}Lo(a)|0;b=1}else b=0;while(0);Og(A+24|0)}Og(B+24|0);B=b;r=C;return B|0}function Co(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=a+4|0;e=k[g>>2]|0;c=k[a>>2]|0;d=(e-c|0)/116|0;if(d>>>0>>0){Do(a,b-d|0);return}if(d>>>0<=b>>>0)return;f=c+(b*116|0)|0;if((e|0)==(f|0))return;do{k[g>>2]=e+-116;c=k[e+-12>>2]|0;d=c;if(c|0){b=e+-8|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Jp(c)}c=k[e+-28>>2]|0;d=c;if(c|0){b=e+-24|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Jp(c)}c=k[e+-40>>2]|0;d=c;if(c|0){b=e+-36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Jp(c)}un(e+-112|0);e=k[g>>2]|0}while((e|0)!=(f|0));return}function Do(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;o=r;r=r+32|0;m=o;l=a+8|0;d=k[l>>2]|0;n=a+4|0;c=k[n>>2]|0;if(((d-c|0)/116|0)>>>0>=b>>>0){do{k[c>>2]=-1;Bg(c+4|0);i[c+72>>0]=1;e=c+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c=(k[n>>2]|0)+116|0;k[n>>2]=c;b=b+-1|0}while((b|0)!=0);r=o;return}f=k[a>>2]|0;e=((c-f|0)/116|0)+b|0;if(e>>>0>37025580)zp(a);c=(d-f|0)/116|0;if(c>>>0<18512790){j=c<<1;e=j>>>0>>0?e:j}else e=37025580;c=((k[n>>2]|0)-f|0)/116|0;k[m+12>>2]=0;k[m+16>>2]=a+8;if(!e)d=0;else d=aq(e*116|0)|0;k[m>>2]=d;c=d+(c*116|0)|0;g=m+8|0;k[g>>2]=c;h=m+4|0;k[h>>2]=c;j=m+12|0;k[j>>2]=d+(e*116|0);d=c;do{k[d>>2]=-1;Bg(d+4|0);i[d+72>>0]=1;e=d+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));d=d+116|0;k[g>>2]=d;b=b+-1|0}while((b|0)!=0);d=k[a>>2]|0;b=k[n>>2]|0;if((b|0)!=(d|0)){do{c=c+-116|0;b=b+-116|0;Eo(c,b)}while((b|0)!=(d|0));k[h>>2]=c;d=k[a>>2]|0;b=k[n>>2]|0}k[a>>2]=c;k[h>>2]=d;k[n>>2]=k[g>>2];k[g>>2]=b;n=k[l>>2]|0;k[l>>2]=k[j>>2];k[j>>2]=n;k[m>>2]=k[h>>2];Fo(m);r=o;return}function Eo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;k[a>>2]=k[b>>2];c=b+4|0;k[a+4>>2]=k[c>>2];d=b+8|0;k[a+8>>2]=k[d>>2];e=b+12|0;k[a+12>>2]=k[e>>2];k[c>>2]=0;k[d>>2]=0;k[e>>2]=0;e=b+16|0;k[a+16>>2]=k[e>>2];d=b+20|0;k[a+20>>2]=k[d>>2];c=b+24|0;k[a+24>>2]=k[c>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;i[a+28>>0]=i[b+28>>0]|0;c=a+32|0;d=b+32|0;k[c>>2]=0;e=a+36|0;k[e>>2]=0;k[a+40>>2]=0;k[c>>2]=k[d>>2];c=b+36|0;k[e>>2]=k[c>>2];e=b+40|0;k[a+40>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;d=a+44|0;c=b+44|0;k[d>>2]=0;e=a+48|0;k[e>>2]=0;k[a+52>>2]=0;k[d>>2]=k[c>>2];d=b+48|0;k[e>>2]=k[d>>2];e=b+52|0;k[a+52>>2]=k[e>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;c=a+56|0;d=b+56|0;k[c>>2]=0;e=a+60|0;k[e>>2]=0;k[a+64>>2]=0;k[c>>2]=k[d>>2];c=b+60|0;k[e>>2]=k[c>>2];e=b+64|0;k[a+64>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;k[a+68>>2]=k[b+68>>2];i[a+72>>0]=i[b+72>>0]|0;d=a+76|0;c=b+76|0;k[d>>2]=0;e=a+80|0;k[e>>2]=0;k[a+84>>2]=0;k[d>>2]=k[c>>2];d=b+80|0;k[e>>2]=k[d>>2];e=b+84|0;k[a+84>>2]=k[e>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;c=a+88|0;d=b+88|0;k[c>>2]=0;e=a+92|0;k[e>>2]=0;k[a+96>>2]=0;k[c>>2]=k[d>>2];c=b+92|0;k[e>>2]=k[c>>2];e=b+96|0;k[a+96>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;k[a+100>>2]=k[b+100>>2];d=a+104|0;c=b+104|0;k[d>>2]=0;e=a+108|0;k[e>>2]=0;k[a+112>>2]=0;k[d>>2]=k[c>>2];d=b+108|0;k[e>>2]=k[d>>2];b=b+112|0;k[a+112>>2]=k[b>>2];k[b>>2]=0;k[d>>2]=0;k[c>>2]=0;return}function Fo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=k[a+4>>2]|0;h=a+8|0;b=k[h>>2]|0;if((b|0)!=(g|0))do{k[h>>2]=b+-116;f=k[b+-12>>2]|0;c=f;if(f|0){d=b+-8|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(f)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(c)}un(b+-112|0);b=k[h>>2]|0}while((b|0)!=(g|0));b=k[a>>2]|0;if(!b)return;Jp(b);return}function Go(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+16|0;w=x;u=b+8|0;g=u;f=k[g>>2]|0;g=k[g+4>>2]|0;v=b+16|0;d=v;c=k[d>>2]|0;d=kq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0){w=-1;r=x;return w|0}n=(k[b>>2]|0)+c|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;t=v;k[t>>2]=d;k[t+4>>2]=e;a:do if(!n)h=d;else{o=w+4|0;p=w+8|0;q=a+40|0;s=a+44|0;t=a+36|0;c=e;m=0;while(1){e=kq(d|0,c|0,4,0)|0;h=L;if((g|0)<(h|0)|(g|0)==(h|0)&f>>>0>>0)break;j=k[b>>2]|0;y=j+d|0;k[w>>2]=l[y>>0]|l[y+1>>0]<<8|l[y+2>>0]<<16|l[y+3>>0]<<24;y=v;k[y>>2]=e;k[y+4>>2]=h;h=kq(d|0,c|0,8,0)|0;y=L;if((g|0)<(y|0)|(g|0)==(y|0)&f>>>0>>0)break;e=j+e|0;k[o>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=kq(d|0,c|0,8,0)|0;y=L;h=v;k[h>>2]=e;k[h+4>>2]=y;if(!((g|0)>(y|0)|(g|0)==(y|0)&f>>>0>e>>>0))break;y=i[j+e>>0]|0;j=kq(d|0,c|0,9,0)|0;c=v;k[c>>2]=j;k[c+4>>2]=L;i[p>>0]=y&3|i[p>>0]&-4;c=k[q>>2]|0;if((c|0)==(k[s>>2]|0))eo(t,w);else{k[c>>2]=k[w>>2];k[c+4>>2]=k[w+4>>2];k[c+8>>2]=k[w+8>>2];k[q>>2]=(k[q>>2]|0)+12}m=m+1|0;g=u;f=k[g>>2]|0;g=k[g+4>>2]|0;c=v;d=k[c>>2]|0;c=k[c+4>>2]|0;if(m>>>0>=n>>>0){h=d;e=c;break a}}y=-1;r=x;return y|0}while(0);d=kq(h|0,e|0,4,0)|0;c=L;if((g|0)<(c|0)|(g|0)==(c|0)&f>>>0>>0){y=-1;r=x;return y|0}o=(k[b>>2]|0)+h|0;o=l[o>>0]|l[o+1>>0]<<8|l[o+2>>0]<<16|l[o+3>>0]<<24;y=v;k[y>>2]=d;k[y+4>>2]=c;if(!o){y=d;r=x;return y|0}m=a+52|0;n=a+56|0;j=a+48|0;k[w>>2]=0;e=kq(h|0,e|0,8,0)|0;c=L;b:do if(!((g|0)<(c|0)|(g|0)==(c|0)&f>>>0>>0)){f=0;while(1){d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[w>>2]=d;y=v;k[y>>2]=e;k[y+4>>2]=c;c=k[m>>2]|0;if((c|0)==(k[n>>2]|0))fo(j,w);else{k[c>>2]=d;k[m>>2]=c+4}f=f+1|0;if(f>>>0>=o>>>0)break;a=u;y=k[a>>2]|0;a=k[a+4>>2]|0;e=v;d=k[e>>2]|0;e=k[e+4>>2]|0;k[w>>2]=0;e=kq(d|0,e|0,4,0)|0;c=L;if((a|0)<(c|0)|(a|0)==(c|0)&y>>>0>>0)break b}y=k[v>>2]|0;r=x;return y|0}while(0);y=-1;r=x;return y|0}function Ho(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+16|0;i=m;if(!(go(a,b)|0)){a=0;r=m;return a|0}g=b+8|0;h=k[g>>2]|0;g=k[g+4>>2]|0;f=b+16|0;d=f;c=k[d>>2]|0;d=kq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){a=0;r=m;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;h=f;k[h>>2]=d;k[h+4>>2]=e;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 Bd(d,c-f|0,i);a=td(a+112|0,b)|0;r=m;return a|0}function Io(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0;xa=r;r=r+48|0;ma=xa+40|0;ua=xa+28|0;va=xa+4|0;F=xa+24|0;ra=xa;k[ua>>2]=0;wa=ua+4|0;k[wa>>2]=0;k[ua+8>>2]=0;k[va>>2]=0;k[va+4>>2]=0;k[va+8>>2]=0;k[va+12>>2]=0;o[va+16>>2]=1.0;oa=a+136|0;ha=k[a+140>>2]|0;a:do if((b|0)>0){fa=a+240|0;ga=a+372|0;G=a+276|0;H=a+368|0;J=a+272|0;K=a+264|0;L=a+268|0;M=a+8|0;O=a+36|0;P=a+40|0;Q=b+-1|0;S=va+4|0;T=a+340|0;U=ua+8|0;V=a+352|0;y=0;e=0;while(1){d=y+1|0;if((k[ga>>2]|0)!=-1?ud(V)|0:0){f=k[ga>>2]|0;ia=16}else ia=6;b:do if((ia|0)==6){do if(!(i[G>>0]|0)){f=0;c=0}else{f=k[J>>2]|0;h=k[K>>2]|0;j=k[L>>2]|0;c=h+(f>>>3)|0;if(c>>>0>>0?(Z=(l[c>>0]|0)>>>(f&7)&1,_=f+1|0,k[J>>2]=_,Z|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;f=Z;c=(c|g)<<1;break}k[H>>2]=0;ia=17;break b}while(0);f=c|f;ia=16}while(0);c:do if((ia|0)==16){ia=0;k[H>>2]=f;if(f){switch(f|0){case 3:case 5:{v=k[(k[wa>>2]|0)+-4>>2]|0;c=y*3|0;p=((f|0)==5?2:1)+c|0;f=k[M>>2]|0;w=k[f+12>>2]|0;k[w+(p<<2)>>2]=v;k[w+(v<<2)>>2]=p;w=e+1|0;t=(p|0)<0;u=(p|0)%3|0;k[(k[f>>2]|0)+((t?-1073741824:(p|0)/3|0)*12|0)+(u<<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(w>>>0>j>>>0){io(m,w-j|0);f=k[m>>2]|0;break}if(w>>>0>>0?(W=f+(w<<2)|0,(g|0)!=(W|0)):0)k[h>>2]=g+(~((g+-4-W|0)>>>2)<<2)}while(0);k[f+(e<<2)>>2]=p;f=k[M>>2]|0}if(t)q=p;else{q=p+1|0;q=((q|0)%3|0|0)==0?p+-2|0:q}s=(v|0)<0;if(!s?(D=(((v|0)%3|0|0)==0?2:-1)+v|0,(D|0)>=0):0)n=k[(k[f>>2]|0)+(((D|0)/3|0)*12|0)+(((D|0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[f>>2]|0)+(((q|0)<0?-1073741824:(q|0)/3|0)*12|0)+(((q|0)%3|0)<<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){io(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]=q;f=k[M>>2]|0}do if(!t)if(!u){p=p+2|0;break}else{p=p+-1|0;break}while(0);if(!s?(A=v+1|0,A=((A|0)%3|0|0)==0?v+-2|0:A,(A|0)>=0):0)n=k[(k[f>>2]|0)+(((A|0)/3|0)*12|0)+(((A|0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[f>>2]|0)+(((p|0)<0?-1073741824:(p|0)/3|0)*12|0)+(((p|0)%3|0)<<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){io(m,j-h|0);e=k[m>>2]|0;break}if(j>>>0>>0?(Y=e+(j<<2)|0,(f|0)!=(Y|0)):0)k[g>>2]=f+(~((f+-4-Y|0)>>>2)<<2)}while(0);k[e+(n<<2)>>2]=p}k[(k[wa>>2]|0)+-4>>2]=c;e=w;break}case 1:{c=k[wa>>2]|0;g=k[c+-4>>2]|0;p=c+-4|0;k[wa>>2]=p;j=k[S>>2]|0;d: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[va>>2]|0)+(n<<2)>>2]|0;if(f){if(h)do{f=k[f>>2]|0;if(!f){c=p;break d}if((k[f+4>>2]&m|0)!=(n|0)){c=p;break d}}while((k[f+8>>2]|0)!=(y|0));else do{f=k[f>>2]|0;if(!f){c=p;break d}if((((k[f+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(n|0)){c=p;break d}}while((k[f+8>>2]|0)!=(y|0));f=f+12|0;if((p|0)==(k[U>>2]|0)){Cd(ua,f);c=k[wa>>2]|0;break}else{k[p>>2]=k[f>>2];k[wa>>2]=c;break}}else c=p}else c=p;while(0);s=k[c+-4>>2]|0;c=y*3|0;u=c+2|0;m=k[M>>2]|0;ia=k[m+12>>2]|0;k[ia+(s<<2)>>2]=u;k[ia+(u<<2)>>2]=s;t=c+1|0;k[ia+(g<<2)>>2]=t;k[ia+(t<<2)>>2]=g;if((s|0)>=0){f=(((s|0)%3|0|0)==0?2:-1)+s|0;if((f|0)>=0){ia=k[m>>2]|0;h=k[ia+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;k[ia+(y*12|0)+(((c|0)%3|0)<<2)>>2]=h;if((h|0)>-1){q=m+24|0;m=m+28|0;j=k[m>>2]|0;f=k[q>>2]|0;n=j-f>>2;do if(n>>>0<=h>>>0){p=h+1|0;if(p>>>0>n>>>0){io(q,p-n|0);f=k[q>>2]|0;break}if(p>>>0>>0?($=f+(p<<2)|0,(j|0)!=($|0)):0)k[m>>2]=j+(~((j+-4-$|0)>>>2)<<2)}while(0);k[f+(h<<2)>>2]=c;j=1;m=k[M>>2]|0}else j=0}else{k[(k[m>>2]|0)+(y*12|0)+(((c|0)%3|0)<<2)>>2]=-1073741824;h=-1073741824;j=0}f=s+1|0;f=((f|0)%3|0|0)==0?s+-2|0:f;if((f|0)<0){s=-1073741824;v=h;f=m}else{s=k[(k[m>>2]|0)+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;v=h;f=m}}else{k[(k[m>>2]|0)+(y*12|0)+(((c|0)%3|0)<<2)>>2]=-1073741824;s=-1073741824;v=-1073741824;j=0;f=m}k[(k[f>>2]|0)+(((c|0)<-1?-1073741824:(t|0)/3|0)*12|0)+(((t|0)%3|0)<<2)>>2]=s;if((s|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<=s>>>0){p=s+1|0;if(p>>>0>n>>>0){io(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[m>>2]=h+(~((h+-4-aa|0)>>>2)<<2)}while(0);k[f+(s<<2)>>2]=t;f=k[M>>2]|0}t=(g|0)<0;if(!t?(C=(((g|0)%3|0|0)==0?2:-1)+g|0,(C|0)>=0):0)s=k[(k[f>>2]|0)+(((C|0)/3|0)*12|0)+(((C|0)%3|0)<<2)>>2]|0;else s=-1073741824;k[(k[f>>2]|0)+(((c|0)<-2?-1073741824:(u|0)/3|0)*12|0)+(((u|0)%3|0)<<2)>>2]=s;if((s|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<=s>>>0){p=s+1|0;if(p>>>0>n>>>0){io(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);k[f+(s<<2)>>2]=u}if(!t){f=g+1|0;f=((f|0)%3|0|0)==0?g+-2|0:f;if((f|0)<0){s=-1073741824;g=f}else{s=k[(k[k[M>>2]>>2]|0)+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;g=f}}else s=-1073741824;ia=k[T>>2]|0;f=ia+(v<<2)|0;k[f>>2]=(k[f>>2]|0)+(k[ia+(s<<2)>>2]|0);f=k[M>>2]|0;e:do if((g|0)>-1){q=v+1|0;if(!j){h=k[f>>2]|0;j=f+12|0;while(1){k[h+(((g|0)/3|0)*12|0)+(((g|0)%3|0)<<2)>>2]=v;ia=g+1|0;g=((ia|0)%3|0|0)==0?g+-2|0:ia;if((g|0)<0)break e;g=k[(k[j>>2]|0)+(g<<2)>>2]|0;if((g|0)<0)break e;ia=g+1|0;g=((ia|0)%3|0|0)==0?g+-2|0:ia;if((g|0)<=-1)break e}}do{k[(k[f>>2]|0)+(((g|0)/3|0)*12|0)+(((g|0)%3|0)<<2)>>2]=v;n=f+24|0;p=f+28|0;h=k[p>>2]|0;f=k[n>>2]|0;j=h-f>>2;do if(j>>>0<=v>>>0){m=h;if(q>>>0>j>>>0){io(n,q-j|0);f=k[n>>2]|0;break}if(q>>>0>=j>>>0)break;h=f+(q<<2)|0;if((m|0)==(h|0))break;k[p>>2]=m+(~((m+-4-h|0)>>>2)<<2)}while(0);k[f+(v<<2)>>2]=g;f=g+1|0;g=((f|0)%3|0|0)==0?g+-2|0:f;f=k[M>>2]|0;if((g|0)<0)break e;g=k[(k[f+12>>2]|0)+(g<<2)>>2]|0;if((g|0)<0)break e;ia=g+1|0;g=((ia|0)%3|0|0)==0?g+-2|0:ia}while((g|0)>-1)}while(0);k[(k[f+24>>2]|0)+(s<<2)>>2]=-1073741824;k[(k[wa>>2]|0)+-4>>2]=c;ia=191;break c}case 7:{m=y*3|0;k[ma>>2]=m;f=k[M>>2]|0;n=e+1|0;c=k[f>>2]|0;k[c+(y*12|0)+(((m|0)%3|0)<<2)>>2]=e;if((e|0)>-1){j=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[j>>2]|0;h=f-c>>2;do if(h>>>0<=e>>>0){if(n>>>0>h>>>0){io(j,n-h|0);c=k[j>>2]|0;break}if(n>>>0>>0?(ca=c+(n<<2)|0,(f|0)!=(ca|0)):0)k[g>>2]=f+(~((f+-4-ca|0)>>>2)<<2)}while(0);k[c+(e<<2)>>2]=m;f=k[M>>2]|0;g=k[ma>>2]|0;c=k[f>>2]|0}else g=m;m=g+1|0;p=e+2|0;k[c+(((g|0)<-1?-1073741824:(m|0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=n;if((e|0)>-2){j=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[j>>2]|0;h=f-c>>2;do if(h>>>0<=n>>>0){if(p>>>0>h>>>0){io(j,p-h|0);c=k[j>>2]|0;break}if(p>>>0>>0?(da=c+(p<<2)|0,(f|0)!=(da|0)):0)k[g>>2]=f+(~((f+-4-da|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=m;f=k[M>>2]|0;g=k[ma>>2]|0;c=k[f>>2]|0}m=g+2|0;e=e+3|0;k[c+(((g|0)<-2?-1073741824:(m|0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=p;if((p|0)>-1){j=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[j>>2]|0;h=f-c>>2;do if(h>>>0<=p>>>0){if(e>>>0>h>>>0){io(j,e-h|0);c=k[j>>2]|0;break}if(e>>>0>>0?(ea=c+(e<<2)|0,(f|0)!=(ea|0)):0)k[g>>2]=f+(~((f+-4-ea|0)>>>2)<<2)}while(0);k[c+(p<<2)>>2]=m}c=k[wa>>2]|0;if((c|0)==(k[U>>2]|0)){Cd(ua,ma);c=k[wa>>2]|0}else{k[c>>2]=k[ma>>2];c=c+4|0;k[wa>>2]=c}c=k[c+-4>>2]|0;break}default:{e=-1;break a}}k[F>>2]=c;k[ma>>2]=k[F>>2];Jo(fa,ma);j=b-y|0;m=j+-1|0;c=k[P>>2]|0;if((c|0)!=(k[O>>2]|0))do{f=k[c+-8>>2]|0;if((f|0)>=(j|0)){e=-1;break a}if((f|0)!=(m|0))break c;g=i[c+-4>>0]|0;h=k[c+-12>>2]|0;k[P>>2]=c+-12;if((h|0)<0){e=-1;break a}c=k[(k[wa>>2]|0)+-4>>2]|0;f=(c|0)<0;do if(!(g&1)){if(!f)if(!((c|0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}else if(!f){y=c+1|0;c=((y|0)%3|0|0)==0?c+-2|0:y}while(0);k[ma>>2]=Q-h;y=jo(va,ma)|0;k[y>>2]=c;c=k[P>>2]|0}while((c|0)!=(k[O>>2]|0))}else ia=17}while(0);if((ia|0)==17){ia=0;v=k[(k[wa>>2]|0)+-4>>2]|0;w=(v|0)<0;f:do if(!w){c=v+(((v|0)%3|0|0)==0?2:-1)|0;if((c|0)<0)ia=19;else{h=k[M>>2]|0;g=k[h+12>>2]|0;while(1){f=k[g+(c<<2)>>2]|0;if((f|0)<=-1){s=0;f=h;q=c;break f}c=f+(((f|0)%3|0|0)==0?2:-1)|0;if((c|0)<0){s=1;f=h;q=c;break}}}}else{c=v;ia=19}while(0);if((ia|0)==19){ia=0;f=k[M>>2]|0;s=1;g=k[f+12>>2]|0;q=c}c=y*3|0;u=c+1|0;k[g+(v<<2)>>2]=u;k[g+(u<<2)>>2]=v;x=c+2|0;k[g+(q<<2)>>2]=x;k[g+(x<<2)>>2]=q;if(!w?(z=v+1|0,z=((z|0)%3|0|0)==0?v+-2|0:z,(z|0)>=0):0){t=k[f>>2]|0;p=k[t+(((z|0)/3|0)*12|0)+(((z|0)%3|0)<<2)>>2]|0;k[t+(y*12|0)+(((c|0)%3|0)<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){io(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(I=f+(m<<2)|0,(g|0)!=(I|0)):0)k[h>>2]=g+(~((g+-4-I|0)>>>2)<<2)}while(0);k[f+(p<<2)>>2]=c;t=p;f=k[M>>2]|0}else t=p}else{k[(k[f>>2]|0)+(y*12|0)+(((c|0)%3|0)<<2)>>2]=-1073741824;t=-1073741824}if(!s?(B=q+1|0,B=((B|0)%3|0|0)==0?q+-2|0:B,(B|0)>=0):0)p=k[(k[f>>2]|0)+(((B|0)/3|0)*12|0)+(((B|0)%3|0)<<2)>>2]|0;else p=-1073741824;k[(k[f>>2]|0)+(((c|0)<-1?-1073741824:(u|0)/3|0)*12|0)+(((u|0)%3|0)<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){io(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(N=f+(m<<2)|0,(g|0)!=(N|0)):0)k[h>>2]=g+(~((g+-4-N|0)>>>2)<<2)}while(0);k[f+(p<<2)>>2]=u;f=k[M>>2]|0}if(!w?(E=(((v|0)%3|0|0)==0?2:-1)+v|0,(E|0)>=0):0)p=k[(k[f>>2]|0)+(((E|0)/3|0)*12|0)+(((E|0)%3|0)<<2)>>2]|0;else p=-1073741824;k[(k[f>>2]|0)+(((c|0)<-2?-1073741824:(x|0)/3|0)*12|0)+(((x|0)%3|0)<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){io(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(R=f+(m<<2)|0,(g|0)!=(R|0)):0)k[h>>2]=g+(~((g+-4-R|0)>>>2)<<2)}while(0);k[f+(p<<2)>>2]=x}if((e|0)>(ha|0)){e=-1;break a}ia=(k[oa>>2]|0)+(t>>>5<<2)|0;k[ia>>2]=k[ia>>2]&~(1<<(t&31));k[(k[wa>>2]|0)+-4>>2]=c;ia=191}if((ia|0)==191){k[F>>2]=c;k[ma>>2]=k[F>>2];Jo(fa,ma)}if((d|0)<(b|0))y=d;else{ia=205;break}}}else{d=0;e=0;ia=205}while(0);do if((ia|0)==205)if((e|0)<=(ha|0)){c=k[wa>>2]|0;g:do if((c|0)!=(k[ua>>2]|0)){u=a+316|0;v=a+8|0;w=a+64|0;x=a+68|0;y=a+72|0;z=a+80|0;A=a+84|0;B=a+76|0;C=a+312|0;D=a+304|0;E=a+308|0;t=d;h:while(1){ha=c;n=k[ha+-4>>2]|0;k[ma>>2]=n;k[wa>>2]=ha+-4;do if(i[u>>0]|0){c=k[C>>2]|0;d=(k[D>>2]|0)+(c>>>3)|0;if(d>>>0<(k[E>>2]|0)>>>0?(ha=l[d>>0]|0,k[C>>2]=c+1,ha&1<<(c&7)|0):0){ia=212;break}c=k[x>>2]|0;d=k[y>>2]|0;if((c|0)==(d<<5|0)){if((c+1|0)<0){ia=270;break h}if(d<<5>>>0>1073741822)c=2147483647;else{ha=d<<6;c=c+32&-32;c=ha>>>0>>0?c:ha}Dd(w,c);c=k[x>>2]|0}k[x>>2]=c+1;ha=(k[w>>2]|0)+(c>>>5<<2)|0;k[ha>>2]=k[ha>>2]&~(1<<(c&31));c=k[z>>2]|0;if((c|0)==(k[A>>2]|0)){Cd(B,ma);d=t;break}else{k[c>>2]=n;k[z>>2]=c+4;d=t;break}}else ia=212;while(0);if((ia|0)==212){ia=0;g=(n|0)<0;i:do if(!g){c=n+(((n|0)%3|0|0)==0?2:-1)|0;if((c|0)>=0){d=k[(k[v>>2]|0)+12>>2]|0;f=c;while(1){c=k[d+(f<<2)>>2]|0;if((c|0)<=-1){d=0;c=f;break}c=c+(((c|0)%3|0|0)==0?2:-1)|0;if((c|0)<0){d=1;break}else f=c}if(g){f=n;ia=219;break}}else d=1;f=n+1|0;f=((f|0)%3|0|0)==0?n+-2|0:f;if((f|0)<0)ia=219;else{g=k[v>>2]|0;h=k[g+12>>2]|0;j=f;while(1){f=k[h+(j<<2)>>2]|0;if((f|0)<=-1){m=d;s=0;q=j;break i}ha=f+1|0;f=((ha|0)%3|0|0)==0?f+-2|0:ha;if((f|0)<0){m=d;s=1;q=f;break}else j=f}}}else{d=1;c=n;f=n;ia=219}while(0);if((ia|0)==219){ia=0;g=k[v>>2]|0;m=d;s=1;h=k[g+12>>2]|0;q=f}d=t+1|0;f=t*3|0;k[ra>>2]=f;k[h+(f<<2)>>2]=n;k[h+(n<<2)>>2]=f;ha=f+1|0;k[h+(ha<<2)>>2]=c;k[h+(c<<2)>>2]=ha;ha=f+2|0;k[h+(ha<<2)>>2]=q;k[h+(q<<2)>>2]=ha;if(!m?(la=c+1|0,la=((la|0)%3|0|0)==0?c+-2|0:la,(la|0)>=0):0)p=k[(k[g>>2]|0)+(((la|0)/3|0)*12|0)+(((la|0)%3|0)<<2)>>2]|0;else p=-1073741824;k[(k[g>>2]|0)+(((t|0)<0?-1073741824:t)*12|0)+(((f|0)%3|0)<<2)>>2]=p;if((p|0)>-1){n=g+24|0;h=g+28|0;g=k[h>>2]|0;c=k[n>>2]|0;j=g-c>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){io(n,m-j|0);c=k[n>>2]|0;break}if(m>>>0>>0?(pa=c+(m<<2)|0,(g|0)!=(pa|0)):0)k[h>>2]=g+(~((g+-4-pa|0)>>>2)<<2)}while(0);k[c+(p<<2)>>2]=f;f=k[ra>>2]|0;g=k[v>>2]|0}p=f+1|0;if(!s?(ka=q+1|0,ka=((ka|0)%3|0|0)==0?q+-2|0:ka,(ka|0)>=0):0)n=k[(k[g>>2]|0)+(((ka|0)/3|0)*12|0)+(((ka|0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[g>>2]|0)+(((f|0)<-1?-1073741824:(p|0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=g+24|0;g=g+28|0;f=k[g>>2]|0;c=k[m>>2]|0;h=f-c>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){io(m,j-h|0);c=k[m>>2]|0;break}if(j>>>0>>0?(qa=c+(j<<2)|0,(f|0)!=(qa|0)):0)k[g>>2]=f+(~((f+-4-qa|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=p;f=k[ra>>2]|0;g=k[v>>2]|0}q=f+2|0;c=k[ma>>2]|0;if((c|0)>=0?(ja=c+1|0,ja=((ja|0)%3|0|0)==0?c+-2|0:ja,(ja|0)>=0):0)p=k[(k[g>>2]|0)+(((ja|0)/3|0)*12|0)+(((ja|0)%3|0)<<2)>>2]|0;else p=-1073741824;k[(k[g>>2]|0)+(((f|0)<-2?-1073741824:(q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]=p;if((p|0)>-1){m=g+24|0;n=g+28|0;f=k[n>>2]|0;c=k[m>>2]|0;g=f-c>>2;do if(g>>>0<=p>>>0){h=p+1|0;j=f;if(h>>>0>g>>>0){io(m,h-g|0);c=k[m>>2]|0;break}if(h>>>0>>0){f=c+(h<<2)|0;if((j|0)==(f|0))break;k[n>>2]=j+(~((j+-4-f|0)>>>2)<<2)}}while(0);k[c+(p<<2)>>2]=q;g=k[ra>>2]|0}else g=f;if((g|0)<0)c=-1073741824;else c=k[(k[k[v>>2]>>2]|0)+(((g|0)/3|0)*12|0)+(((g|0)%3|0)<<2)>>2]|0;f=k[oa>>2]|0;ha=f+(c>>>5<<2)|0;k[ha>>2]=k[ha>>2]&~(1<<(c&31));c=g+1|0;if((g|0)<-1)c=-1073741824;else c=k[(k[k[v>>2]>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;ha=f+(c>>>5<<2)|0;k[ha>>2]=k[ha>>2]&~(1<<(c&31));c=g+2|0;if((g|0)<-2)c=-1073741824;else c=k[(k[k[v>>2]>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;f=f+(c>>>5<<2)|0;k[f>>2]=k[f>>2]&~(1<<(c&31));c=k[x>>2]|0;f=k[y>>2]|0;if((c|0)==(f<<5|0)){if((c+1|0)<0){ia=258;break}if(f<<5>>>0>1073741822)c=2147483647;else{ha=f<<6;c=c+32&-32;c=ha>>>0>>0?c:ha}Dd(w,c);c=k[x>>2]|0}k[x>>2]=c+1;ha=(k[w>>2]|0)+(c>>>5<<2)|0;k[ha>>2]=k[ha>>2]|1<<(c&31);c=k[z>>2]|0;if((c|0)==(k[A>>2]|0))Cd(B,ra);else{k[c>>2]=g;k[z>>2]=c+4}}c=k[wa>>2]|0;if((c|0)==(k[ua>>2]|0)){na=v;sa=d;break g}else t=d}if((ia|0)==258)zp(w);else if((ia|0)==270)zp(w)}else{na=a+8|0;sa=d}while(0);ra=k[na>>2]|0;if((sa|0)==(((k[ra+4>>2]|0)-(k[ra>>2]|0)|0)/12|0|0)){h=a+88|0;c=a+92|0;g=k[c>>2]|0;d=k[h>>2]|0;f=g-d>>2;if(e>>>0>f>>>0){no(h,e-f|0);break}if(e>>>0>>0?(ta=d+(e<<2)|0,(g|0)!=(ta|0)):0)k[c>>2]=g+(~((g+-4-ta|0)>>>2)<<2)}else e=-1}else e=-1;while(0);c=k[va+8>>2]|0;if(c|0)do{ta=c;c=k[c>>2]|0;Jp(ta)}while((c|0)!=0);c=k[va>>2]|0;k[va>>2]=0;if(c|0)Jp(c);c=k[ua>>2]|0;if(!c){r=xa;return e|0}d=k[wa>>2]|0;if((d|0)!=(c|0))k[wa>>2]=d+(~((d+-4-c|0)>>>2)<<2);Jp(c);r=xa;return e|0}function Jo(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+92|0;h=k[b>>2]|0;i=(h|0)<0;do if(!i){b=h+1|0;b=((b|0)%3|0|0)==0?h+-2|0:b;if(!((h|0)%3|0)){e=h+2|0;d=b;break}else{e=h+-1|0;d=b;break}}else{e=h;d=h}while(0);f=a+128|0;b=k[f>>2]|0;switch(b|0){case 1:case 0:{if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+1;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+1;c=32;break}case 5:{if(i)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((h|0)/3|0)*12|0)+(((h|0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;b=c+(b<<2)|0;k[b>>2]=(k[b>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+1;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+2;c=32;break}case 3:{if(i)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((h|0)/3|0)*12|0)+(((h|0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;b=c+(b<<2)|0;k[b>>2]=(k[b>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+2;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+1;c=32;break}case 7:{if(i)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((h|0)/3|0)*12|0)+(((h|0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;b=c+(b<<2)|0;k[b>>2]=(k[b>>2]|0)+2;if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+2;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+2;c=32;break}default:{}}if((c|0)==32)b=k[f>>2]|0;switch(b|0){case 5:case 0:break;default:{k[a+132>>2]=-1;return}}b=k[g>>2]|0;if(!i?(j=h+1|0,j=((j|0)%3|0|0)==0?h+-2|0:j,(j|0)>=0):0)b=k[(k[b>>2]|0)+(((j|0)/3|0)*12|0)+(((j|0)%3|0)<<2)>>2]|0;else b=-1073741824;k[a+132>>2]=(k[(k[a+100>>2]|0)+(b<<2)>>2]|0)<6?5:0;return}function Ko(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+32|0;s=u+8|0;n=u+4|0;o=u;c=k[b>>2]|0;k[s>>2]=c;m=a+8|0;do if((c|0)>=0){l=c+1|0;k[s+4>>2]=((l|0)%3|0|0)==0?c+-2|0:l;if(!((c|0)%3|0)){b=c+2|0;break}else{b=c+-1|0;break}}else{k[s+4>>2]=c;b=c}while(0);k[s+8>>2]=b;j=a+228|0;l=a+232|0;i=a+320|0;b=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)){f=0;do{do if(ud((k[i>>2]|0)+(f<<4)|0)|0){a=k[j>>2]|0;k[o>>2]=c;d=a+(f*116|0)+108|0;e=k[d>>2]|0;if(e>>>0<(k[a+(f*116|0)+112>>2]|0)>>>0){k[e>>2]=c;k[d>>2]=e+4;break}else{Ee(a+(f*116|0)+104|0,o);break}}while(0);f=f+1|0}while(f>>>0<(((k[l>>2]|0)-(k[j>>2]|0)|0)/116|0)>>>0)}}else t=11;if((t|0)==11?(t=0,p=k[l>>2]|0,q=k[j>>2]|0,(p|0)!=(q|0)):0){a=q;d=p;h=0;do{e=a;k[n>>2]=c;f=e+(h*116|0)+108|0;g=k[f>>2]|0;if(g>>>0<(k[e+(h*116|0)+112>>2]|0)>>>0){k[g>>2]=c;k[f>>2]=g+4}else{Ee(e+(h*116|0)+104|0,n);a=k[j>>2]|0;d=k[l>>2]|0}h=h+1|0}while(h>>>0<((d-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;c=k[s+(b<<2)>>2]|0}r=u;return 1}function Lo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=r;r=r+64|0;G=J+44|0;K=J+28|0;I=J+12|0;t=J+40|0;A=J+24|0;D=J;H=a+4|0;e=k[(k[H>>2]|0)+24>>2]|0;F=a+8|0;b=k[F>>2]|0;b=((k[b+4>>2]|0)-(k[b>>2]|0)|0)/12|0;c=e+80|0;e=e+84|0;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;h=k[e>>2]|0;g=k[c>>2]|0;f=(h-g|0)/12|0;if(b>>>0<=f>>>0){if(b>>>0>>0?(i=g+(b*12|0)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~(((h+-12-i|0)>>>0)/12|0)*12|0)}else qo(c,b-f|0,G);y=a+228|0;z=a+232|0;if((k[z>>2]|0)==(k[y>>2]|0)){b=k[F>>2]|0;b=(k[b+28>>2]|0)-(k[b+24>>2]|0)|0;c=b>>2;k[K>>2]=0;p=K+4|0;k[p>>2]=0;k[K+8>>2]=0;do if(c)if(c>>>0>1073741823)zp(K);else{d=aq(b)|0;k[K>>2]=d;E=d+(c<<2)|0;k[K+8>>2]=E;iq(d|0,-1,b|0)|0;k[p>>2]=E;break}else d=0;while(0);e=k[H>>2]|0;b=k[e+24>>2]|0;f=k[b+84>>2]|0;c=k[b+80>>2]|0;if((f-c|0)>0){n=I+4|0;o=I+8|0;j=b;d=c;c=e;l=e;m=0;b=0;while(1){k[I>>2]=0;k[I+4>>2]=0;k[I+8>>2]=0;h=m*3|0;if((m|0)<0)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(m*12|0)+(((h|0)%3|0)<<2)>>2]|0;i=k[K>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;a=b;b=b+1|0}else a=g;k[I>>2]=a;e=h+1|0;if((h|0)<-1)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;g=b;b=b+1|0}k[n>>2]=g;e=h+2|0;if((h|0)<-2)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;g=b;b=b+1|0}k[o>>2]=g;h=j+80|0;g=j+84|0;e=(f-d|0)/12|0;i=m;m=m+1|0;do if((i|0)>=(e|0)){k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;if(m>>>0>e>>>0){qo(h,m-e|0,G);c=k[H>>2]|0;d=k[h>>2]|0;e=c;break}if(m>>>0>>0?(q=d+(m*12|0)|0,(f|0)!=(q|0)):0){k[g>>2]=f+(~(((f+-12-q|0)>>>0)/12|0)*12|0);e=l}else e=l}else e=l;while(0);k[d+(i*12|0)>>2]=a;k[d+(i*12|0)+4>>2]=k[n>>2];k[d+(i*12|0)+8>>2]=k[o>>2];j=k[e+24>>2]|0;f=k[j+84>>2]|0;d=k[j+80>>2]|0;if((m|0)>=((f-d|0)/12|0|0))break;else l=e}d=k[K>>2]|0}else{c=e;b=0}k[(k[c+4>>2]|0)+64>>2]=b;b=d;if(d|0){c=k[p>>2]|0;if((c|0)!=(d|0))k[p>>2]=c+(~((c+-4-b|0)>>>2)<<2);Jp(d)}r=J;return 1}k[K>>2]=0;E=K+4|0;k[E>>2]=0;k[K+8>>2]=0;b=k[F>>2]|0;q=k[b+4>>2]|0;s=k[b>>2]|0;c=q-s|0;d=((c|0)/12|0)*3|0;k[I>>2]=0;B=I+4|0;k[B>>2]=0;k[I+8>>2]=0;do if((q|0)!=(s|0))if(d>>>0>1073741823)zp(I);else{s=aq(c)|0;k[I>>2]=s;j=s+(d<<2)|0;k[I+8>>2]=j;iq(s|0,0,c|0)|0;k[B>>2]=j;j=k[F>>2]|0;break}else j=b;while(0);a:do if(((k[j+28>>2]|0)-(k[j+24>>2]|0)|0)>0){q=a+136|0;s=K+8|0;p=0;b:while(1){f=k[(k[j+24>>2]|0)+(p<<2)>>2]|0;if((f|0)>=0){c:do if((k[(k[q>>2]|0)+(p>>>5<<2)>>2]&1<<(p&31)|0)==0?(u=k[z>>2]|0,v=k[y>>2]|0,w=v,(u|0)!=(v|0)):0){g=(f|0)/3|0;h=(f|0)%3|0;e=((h|0)==0?2:-1)+f|0;i=(e|0)<0;a=(u-v|0)/116|0;l=j+12|0;m=j+12|0;o=0;d:while(1){n=k[(k[k[w+(o*116|0)+68>>2]>>2]|0)+(g*12|0)+(h<<2)>>2]|0;if(1<<(n&31)&k[(k[w+(o*116|0)+16>>2]|0)+(n>>>5<<2)>>2]|0){n=k[w+(o*116|0)+32>>2]|0;d=k[n+(f<<2)>>2]|0;do if(!i){c=k[(k[l>>2]|0)+(e<<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=e;while(0);if((c|0)!=(f|0))do{b=k[n+(c<<2)>>2]|0;if((c|0)<0)break d;if((b|0)!=(d|0))break c;c=(((c|0)%3|0|0)==0?2:-1)+c|0;do if((c|0)>=0){c=k[(k[m>>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)}while((c|0)!=(f|0))}o=o+1|0;if(o>>>0>=a>>>0){c=f;break c}}while(1)if((b|0)==(d|0))b=d;else break}else c=f;while(0);b=k[E>>2]|0;k[(k[I>>2]|0)+(c<<2)>>2]=b-(k[K>>2]|0)>>2;k[t>>2]=c;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=c;k[E>>2]=b+4;b=j}else{Ee(K,t);b=k[F>>2]|0}do if((c|0)>=0){f=(((c|0)%3|0|0)==0?2:-1)+c|0;if((f|0)>=0){f=k[(k[b+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=c;while(0);if((f|0)>-1&(f|0)!=(c|0)){b=c;while(1){if((f|0)<0)break b;d=k[z>>2]|0;e=k[y>>2]|0;g=e;e:do if((d|0)!=(e|0)){d=(d-e|0)/116|0;e=0;while(1){o=k[g+(e*116|0)+32>>2]|0;e=e+1|0;if((k[o+(f<<2)>>2]|0)!=(k[o+(b<<2)>>2]|0))break;if(e>>>0>=d>>>0){x=87;break e}}b=k[E>>2]|0;k[(k[I>>2]|0)+(f<<2)>>2]=b-(k[K>>2]|0)>>2;k[A>>2]=f;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=f;k[E>>2]=b+4;break}else{Ee(K,A);break}}else x=87;while(0);if((x|0)==87){x=0;o=k[I>>2]|0;k[o+(f<<2)>>2]=k[o+(b<<2)>>2]}b=(((f|0)%3|0|0)==0?2:-1)+f|0;do if((b|0)>=0){b=k[(k[(k[F>>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}}while(0);if((b|0)>-1&(b|0)!=(c|0)){o=f;f=b;b=o}else break}}}p=p+1|0;j=k[F>>2]|0;if((p|0)>=((k[j+28>>2]|0)-(k[j+24>>2]|0)>>2|0))break a}f:while(1){c=k[z>>2]|0;d=k[y>>2]|0;e=d;g:do if((c|0)!=(d|0)){c=(c-d|0)/116|0;d=0;while(1){J=k[e+(d*116|0)+32>>2]|0;d=d+1|0;if((k[J+(f<<2)>>2]|0)!=(k[J+(b<<2)>>2]|0))break;if(d>>>0>=c>>>0)break g}b=k[E>>2]|0;k[(k[I>>2]|0)+(f<<2)>>2]=b-(k[K>>2]|0)>>2;k[A>>2]=f;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=f;k[E>>2]=b+4;b=f;continue f}else{Ee(K,A);b=f;continue f}}while(0);J=k[I>>2]|0;k[J+(f<<2)>>2]=k[J+(b<<2)>>2];b=f}}while(0);c=k[H>>2]|0;b=k[c+24>>2]|0;e=k[b+84>>2]|0;d=k[b+80>>2]|0;if((e-d|0)>0){j=D+4|0;l=D+8|0;i=c;f=c;a=0;while(1){k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;g=(k[I>>2]|0)+(a*3<<2)|0;k[D>>2]=k[g>>2];k[D+4>>2]=k[g+4>>2];k[D+8>>2]=k[g+8>>2];g=b+80|0;b=b+84|0;c=(e-d|0)/12|0;h=a;a=a+1|0;do if((h|0)>=(c|0)){k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;if(a>>>0>c>>>0){qo(g,a-c|0,G);c=k[H>>2]|0;d=k[g>>2]|0;f=c;break}if(a>>>0>>0?(C=d+(a*12|0)|0,(e|0)!=(C|0)):0){k[b>>2]=e+(~(((e+-12-C|0)>>>0)/12|0)*12|0);c=i}else c=i}else c=i;while(0);k[d+(h*12|0)>>2]=k[D>>2];k[d+(h*12|0)+4>>2]=k[j>>2];k[d+(h*12|0)+8>>2]=k[l>>2];b=k[f+24>>2]|0;e=k[b+84>>2]|0;d=k[b+80>>2]|0;if((a|0)>=((e-d|0)/12|0|0))break;else i=c}}b=k[K>>2]|0;k[(k[c+4>>2]|0)+64>>2]=(k[E>>2]|0)-b>>2;c=k[I>>2]|0;d=c;if(c){b=k[B>>2]|0;if((b|0)!=(c|0))k[B>>2]=b+(~((b+-4-d|0)>>>2)<<2);Jp(c);b=k[K>>2]|0}c=b;if(b|0){d=k[E>>2]|0;if((d|0)!=(b|0))k[E>>2]=d+(~((d+-4-c|0)>>>2)<<2);Jp(b)}r=J;return 1}function Mo(a){a=a|0;return 1}function No(a){a=a|0;return k[a+4>>2]|0}function Oo(a){a=a|0;return k[a+8>>2]|0}function Po(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4532;b=a+100|0;c=a+4|0;d=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[b>>2]=-1;k[a+104>>2]=-1;k[a+108>>2]=-1;b=a+168|0;c=a+112|0;d=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));o[b>>2]=1.0;b=a+240|0;c=a+172|0;d=c+68|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Pg(b);Pg(a+280|0);k[a+320>>2]=0;k[a+324>>2]=0;k[a+328>>2]=0;return}function Qo(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4672;b=a+100|0;c=a+4|0;d=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[b>>2]=-1;k[a+104>>2]=-1;k[a+108>>2]=-1;b=a+168|0;c=a+112|0;d=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));o[b>>2]=1.0;b=a+240|0;c=a+172|0;d=c+68|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Ro(b);return}function Ro(a){a=a|0;var b=0;Pg(a);Pg(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;rd(a+112|0);k[a+128>>2]=-1;k[a+132>>2]=-1;return}function So(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;o=q+40|0;p=q;c=p;b=c+40|0;do{k[c>>2]=k[a>>2];c=c+4|0;a=a+4|0}while((c|0)<(b|0));i[o>>0]=0;i[o+1>>0]=0;i[o+2>>0]=0;i[o+3>>0]=0;i[o+4>>0]=0;i[o+5>>0]=0;f=p+8|0;e=k[f>>2]|0;f=k[f+4>>2]|0;g=p+16|0;b=g;a=k[b>>2]|0;b=k[b+4>>2]|0;c=kq(a|0,b|0,5,0)|0;d=L;if(((((!((f|0)<(d|0)|(f|0)==(d|0)&e>>>0>>0)?(h=k[p>>2]|0,s=h+a|0,i[o>>0]=i[s>>0]|0,i[o+1>>0]=i[s+1>>0]|0,i[o+2>>0]=i[s+2>>0]|0,i[o+3>>0]=i[s+3>>0]|0,i[o+4>>0]=i[s+4>>0]|0,s=g,k[s>>2]=c,k[s+4>>2]=d,((f|0)>(d|0)|(f|0)==(d|0)&e>>>0>c>>>0)&(qp(o,11245)|0)==0):0)?(s=kq(a|0,b|0,6,0)|0,o=L,d=g,k[d>>2]=s,k[d+4>>2]=o,(f|0)>(o|0)|(f|0)==(o|0)&e>>>0>s>>>0):0)?(j=kq(a|0,b|0,7,0)|0,s=L,o=g,k[o>>2]=j,k[o+4>>2]=s,(f|0)>(s|0)|(f|0)==(s|0)&e>>>0>j>>>0):0)?(l=i[h+j>>0]|0,s=kq(a|0,b|0,8,0)|0,o=L,j=g,k[j>>2]=s,k[j+4>>2]=o,(f|0)>(o|0)|(f|0)==(o|0)&e>>>0>s>>>0):0)?(n=kq(a|0,b|0,9,0)|0,m=g,k[m>>2]=n,k[m+4>>2]=L,m=kq(a|0,b|0,11,0)|0,n=L,!((f|0)<(n|0)|(f|0)==(n|0)&e>>>0>>0)):0){s=g;k[s>>2]=m;k[s+4>>2]=n;s=l&255;p=p+24|0;Og(p);r=q;return s|0}s=-1;p=p+24|0;Og(p);r=q;return s|0}function To(a){a=a|0;switch(a<<24>>24){case 0:{a=aq(24)|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;fh(a);k[a>>2]=4272;return a|0}case 1:{a=aq(24)|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;fh(a);k[a>>2]=4340;return a|0}default:{a=0;return a|0}}return 0} +function Uo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+16|0;s=t;i[s>>0]=0;i[s+1>>0]=0;i[s+2>>0]=0;i[s+3>>0]=0;i[s+4>>0]=0;i[s+5>>0]=0;m=a+8|0;g=k[m>>2]|0;m=k[m+4>>2]|0;n=a+16|0;c=n;b=k[c>>2]|0;c=k[c+4>>2]|0;d=kq(b|0,c|0,5,0)|0;e=L;if(((((!((m|0)<(e|0)|(m|0)==(e|0)&g>>>0>>0)?(f=k[a>>2]|0,u=f+b|0,i[s>>0]=i[u>>0]|0,i[s+1>>0]=i[u+1>>0]|0,i[s+2>>0]=i[u+2>>0]|0,i[s+3>>0]=i[u+3>>0]|0,i[s+4>>0]=i[u+4>>0]|0,u=n,k[u>>2]=d,k[u+4>>2]=e,((m|0)>(e|0)|(m|0)==(e|0)&g>>>0>d>>>0)&(qp(s,11245)|0)==0):0)?(u=kq(b|0,c|0,6,0)|0,s=L,e=n,k[e>>2]=u,k[e+4>>2]=s,(m|0)>(s|0)|(m|0)==(s|0)&g>>>0>u>>>0):0)?(h=kq(b|0,c|0,7,0)|0,u=L,s=n,k[s>>2]=h,k[s+4>>2]=u,(m|0)>(u|0)|(m|0)==(u|0)&g>>>0>h>>>0):0)?(j=i[f+h>>0]|0,l=kq(b|0,c|0,8,0)|0,u=L,s=n,k[s>>2]=l,k[s+4>>2]=u,(m|0)>(u|0)|(m|0)==(u|0)&g>>>0>l>>>0):0)?(o=i[f+l>>0]|0,q=kq(b|0,c|0,9,0)|0,p=n,k[p>>2]=q,k[p+4>>2]=L,p=kq(b|0,c|0,11,0)|0,q=L,!((m|0)<(q|0)|(m|0)==(q|0)&g>>>0

>>0)):0){u=n;k[u>>2]=p;k[u+4>>2]=q;switch(j&255|0){case 0:{d=To(o)|0;if(!d){u=0;r=t;return u|0}e=aq(68)|0;sg(e);b=gh(d,a,e)|0;c=b?0:e;if(!b)ab[k[(k[c>>2]|0)+4>>2]&127](c);ab[k[(k[d>>2]|0)+4>>2]&127](d);u=b?e:0;r=t;return u|0}case 1:{switch(o<<24>>24){case 0:{d=aq(28)|0;gn(d);break}case 1:{d=aq(32)|0;rn(d);break}default:{u=0;r=t;return u|0}}e=aq(92)|0;Ag(e);b=oh(d,a,e)|0;c=b?0:e;if(!b)ab[k[(k[c>>2]|0)+4>>2]&127](c);ab[k[(k[d>>2]|0)+4>>2]&127](d);u=b?e:0;r=t;return u|0}default:{u=0;r=t;return u|0}}}u=0;r=t;return u|0}function Vo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+16|0;s=t;i[s>>0]=0;i[s+1>>0]=0;i[s+2>>0]=0;i[s+3>>0]=0;i[s+4>>0]=0;i[s+5>>0]=0;m=a+8|0;g=k[m>>2]|0;m=k[m+4>>2]|0;n=a+16|0;c=n;b=k[c>>2]|0;c=k[c+4>>2]|0;d=kq(b|0,c|0,5,0)|0;e=L;if(((((!((m|0)<(e|0)|(m|0)==(e|0)&g>>>0>>0)?(f=k[a>>2]|0,u=f+b|0,i[s>>0]=i[u>>0]|0,i[s+1>>0]=i[u+1>>0]|0,i[s+2>>0]=i[u+2>>0]|0,i[s+3>>0]=i[u+3>>0]|0,i[s+4>>0]=i[u+4>>0]|0,u=n,k[u>>2]=d,k[u+4>>2]=e,((m|0)>(e|0)|(m|0)==(e|0)&g>>>0>d>>>0)&(qp(s,11245)|0)==0):0)?(u=kq(b|0,c|0,6,0)|0,s=L,e=n,k[e>>2]=u,k[e+4>>2]=s,(m|0)>(s|0)|(m|0)==(s|0)&g>>>0>u>>>0):0)?(h=kq(b|0,c|0,7,0)|0,u=L,s=n,k[s>>2]=h,k[s+4>>2]=u,(m|0)>(u|0)|(m|0)==(u|0)&g>>>0>h>>>0):0)?(j=i[f+h>>0]|0,l=kq(b|0,c|0,8,0)|0,u=L,s=n,k[s>>2]=l,k[s+4>>2]=u,(m|0)>(u|0)|(m|0)==(u|0)&g>>>0>l>>>0):0)?(o=i[f+l>>0]|0,q=kq(b|0,c|0,9,0)|0,p=n,k[p>>2]=q,k[p+4>>2]=L,p=kq(b|0,c|0,11,0)|0,q=L,!((m|0)<(q|0)|(m|0)==(q|0)&g>>>0

>>0)):0){u=n;k[u>>2]=p;k[u+4>>2]=q;if(j<<24>>24!=1){u=0;r=t;return u|0}switch(o<<24>>24){case 0:{d=aq(28)|0;gn(d);break}case 1:{d=aq(32)|0;rn(d);break}default:{u=0;r=t;return u|0}}e=aq(92)|0;Ag(e);b=oh(d,a,e)|0;c=b?0:e;if(!b)ab[k[(k[c>>2]|0)+4>>2]&127](c);ab[k[(k[d>>2]|0)+4>>2]&127](d);u=b?e:0;r=t;return u|0}u=0;r=t;return u|0}function Wo(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=k[a+60>>2];a=Xo(Sa(6,c|0)|0)|0;r=b;return a|0}function Xo(a){a=a|0;var b=0;if(a>>>0>4294963200){b=Yo()|0;k[b>>2]=0-a;a=-1}return a|0}function Yo(){var a=0;if(!(k[3608]|0))a=14476;else{a=(La()|0)+64|0;a=k[a>>2]|0}return a|0}function Zo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;m=p+16|0;l=p;d=p+32|0;n=a+28|0;e=k[n>>2]|0;k[d>>2]=e;o=a+20|0;e=(k[o>>2]|0)-e|0;k[d+4>>2]=e;k[d+8>>2]=b;k[d+12>>2]=c;i=a+60|0;j=a+44|0;b=2;e=e+c|0;while(1){if(!(k[3608]|0)){k[m>>2]=k[i>>2];k[m+4>>2]=d;k[m+8>>2]=b;g=Xo(Xa(146,m|0)|0)|0}else{Ta(70,a|0);k[l>>2]=k[i>>2];k[l+4>>2]=d;k[l+8>>2]=b;g=Xo(Xa(146,l|0)|0)|0;wa(0)}if((e|0)==(g|0)){e=6;break}if((g|0)<0){e=8;break}e=e-g|0;f=k[d+4>>2]|0;if(g>>>0<=f>>>0)if((b|0)==2){k[n>>2]=(k[n>>2]|0)+g;h=f;b=2}else h=f;else{h=k[j>>2]|0;k[n>>2]=h;k[o>>2]=h;h=k[d+12>>2]|0;g=g-f|0;d=d+8|0;b=b+-1|0}k[d>>2]=(k[d>>2]|0)+g;k[d+4>>2]=h-g}if((e|0)==6){m=k[j>>2]|0;k[a+16>>2]=m+(k[a+48>>2]|0);a=m;k[n>>2]=a;k[o>>2]=a}else if((e|0)==8){k[a+16>>2]=0;k[n>>2]=0;k[o>>2]=0;k[a>>2]=k[a>>2]|32;if((b|0)==2)c=0;else c=c-(k[d+4>>2]|0)|0}r=p;return c|0}function _o(a){a=a|0;if(!(k[a+68>>2]|0))$o(a);return}function $o(a){a=a|0;return}function ap(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+32|0;f=e;d=e+20|0;k[f>>2]=k[a+60>>2];k[f+4>>2]=0;k[f+8>>2]=b;k[f+12>>2]=d;k[f+16>>2]=c;if((Xo(Va(140,f|0)|0)|0)<0){k[d>>2]=-1;a=-1}else a=k[d>>2]|0;r=e;return a|0}function bp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+80|0;d=e;k[a+36>>2]=14;if((k[a>>2]&64|0)==0?(k[d>>2]=k[a+60>>2],k[d+4>>2]=21505,k[d+8>>2]=e+12,Na(54,d|0)|0):0)i[a+75>>0]=-1;d=Zo(a,b,c)|0;r=e;return d|0}function cp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+224|0;n=s+120|0;q=s+80|0;p=s;o=s+136|0;d=q;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));k[n>>2]=k[c>>2];if((dp(0,b,n,p,q)|0)<0)c=-1;else{if((k[a+76>>2]|0)>-1)l=pp(a)|0;else l=0;c=k[a>>2]|0;m=c&32;if((i[a+74>>0]|0)<1)k[a>>2]=c&-33;c=a+48|0;if(!(k[c>>2]|0)){e=a+44|0;f=k[e>>2]|0;k[e>>2]=o;g=a+28|0;k[g>>2]=o;h=a+20|0;k[h>>2]=o;k[c>>2]=80;j=a+16|0;k[j>>2]=o+80;d=dp(a,b,n,p,q)|0;if(f){_a[k[a+36>>2]&31](a,0,0)|0;d=(k[h>>2]|0)==0?-1:d;k[e>>2]=f;k[c>>2]=0;k[j>>2]=0;k[g>>2]=0;k[h>>2]=0}}else d=dp(a,b,n,p,q)|0;c=k[a>>2]|0;k[a>>2]=c|m;if(l|0)$o(a);c=(c&32|0)==0?d:-1}r=s;return c|0}function dp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0.0,o=0,q=0,s=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=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,ia=0;ia=r;r=r+624|0;ca=ia+24|0;ea=ia+16|0;da=ia+588|0;$=ia+576|0;ba=ia;W=ia+536|0;ga=ia+8|0;fa=ia+528|0;M=(a|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ga+4|0;Y=da;Z=0-Y|0;_=$+12|0;$=$+11|0;aa=_;O=aa-Y|0;P=-2-Y|0;Q=aa+2|0;R=ca+288|0;S=da+9|0;T=S;U=da+8|0;f=0;h=0;g=0;y=b;a:while(1){do if((f|0)>-1)if((h|0)>(2147483647-f|0)){f=Yo()|0;k[f>>2]=75;f=-1;break}else{f=h+f|0;break}while(0);b=i[y>>0]|0;if(!(b<<24>>24)){K=244;break}else h=y;b:while(1){switch(b<<24>>24){case 37:{b=h;K=9;break b}case 0:{b=h;break b}default:{}}J=h+1|0;b=i[J>>0]|0;h=J}c:do if((K|0)==9)while(1){K=0;if((i[b+1>>0]|0)!=37)break c;h=h+1|0;b=b+2|0;if((i[b>>0]|0)==37)K=9;else break}while(0);w=h-y|0;if(M?(k[a>>2]&32|0)==0:0)ep(y,w,a)|0;if((h|0)!=(y|0)){h=w;y=b;continue}o=b+1|0;h=i[o>>0]|0;m=(h<<24>>24)+-48|0;if(m>>>0<10){J=(i[b+2>>0]|0)==36;o=J?b+3|0:o;h=i[o>>0]|0;u=J?m:-1;g=J?1:g}else u=-1;b=h<<24>>24;d:do if((b&-32|0)==32){m=0;while(1){if(!(1<>24)+-32|m;o=o+1|0;h=i[o>>0]|0;b=h<<24>>24;if((b&-32|0)!=32){q=m;break}}}else q=0;while(0);do if(h<<24>>24==42){h=o+1|0;b=(i[h>>0]|0)+-48|0;if(b>>>0<10?(i[o+2>>0]|0)==36:0){k[e+(b<<2)>>2]=10;g=1;o=o+3|0;b=k[d+((i[h>>0]|0)+-48<<3)>>2]|0}else{if(g|0){f=-1;break a}if(!M){v=q;g=0;o=h;J=0;break}g=(k[c>>2]|0)+(4-1)&~(4-1);b=k[g>>2]|0;k[c>>2]=g+4;g=0;o=h}if((b|0)<0){v=q|8192;J=0-b|0}else{v=q;J=b}}else{m=(h<<24>>24)+-48|0;if(m>>>0<10){b=o;h=0;do{h=(h*10|0)+m|0;b=b+1|0;m=(i[b>>0]|0)+-48|0}while(m>>>0<10);if((h|0)<0){f=-1;break a}else{v=q;o=b;J=h}}else{v=q;J=0}}while(0);e:do if((i[o>>0]|0)==46){b=o+1|0;h=i[b>>0]|0;if(h<<24>>24!=42){m=(h<<24>>24)+-48|0;if(m>>>0<10)h=0;else{q=0;break}while(1){h=(h*10|0)+m|0;b=b+1|0;m=(i[b>>0]|0)+-48|0;if(m>>>0>=10){q=h;break e}}}b=o+2|0;h=(i[b>>0]|0)+-48|0;if(h>>>0<10?(i[o+3>>0]|0)==36:0){k[e+(h<<2)>>2]=10;q=k[d+((i[b>>0]|0)+-48<<3)>>2]|0;b=o+4|0;break}if(g|0){f=-1;break a}if(M){I=(k[c>>2]|0)+(4-1)&~(4-1);q=k[I>>2]|0;k[c>>2]=I+4}else q=0}else{q=-1;b=o}while(0);s=0;while(1){h=(i[b>>0]|0)+-65|0;if(h>>>0>57){f=-1;break a}m=b+1|0;h=i[11251+(s*58|0)+h>>0]|0;o=h&255;if((o+-1|0)>>>0<8){b=m;s=o}else{I=m;break}}if(!(h<<24>>24)){f=-1;break}m=(u|0)>-1;do if(h<<24>>24==19)if(m){f=-1;break a}else K=52;else{if(m){k[e+(u<<2)>>2]=o;G=d+(u<<3)|0;H=k[G+4>>2]|0;K=ba;k[K>>2]=k[G>>2];k[K+4>>2]=H;K=52;break}if(!M){f=0;break a}gp(ba,o,c)}while(0);if((K|0)==52?(K=0,!M):0){h=w;y=I;continue}u=i[b>>0]|0;u=(s|0)!=0&(u&15|0)==3?u&-33:u;m=v&-65537;H=(v&8192|0)==0?v:m;f:do switch(u|0){case 110:switch(s|0){case 0:{k[k[ba>>2]>>2]=f;h=w;y=I;continue a}case 1:{k[k[ba>>2]>>2]=f;h=w;y=I;continue a}case 2:{h=k[ba>>2]|0;k[h>>2]=f;k[h+4>>2]=((f|0)<0)<<31>>31;h=w;y=I;continue a}case 3:{j[k[ba>>2]>>1]=f;h=w;y=I;continue a}case 4:{i[k[ba>>2]>>0]=f;h=w;y=I;continue a}case 6:{k[k[ba>>2]>>2]=f;h=w;y=I;continue a}case 7:{h=k[ba>>2]|0;k[h>>2]=f;k[h+4>>2]=((f|0)<0)<<31>>31;h=w;y=I;continue a}default:{h=w;y=I;continue a}}case 112:{s=H|8;q=q>>>0>8?q:8;u=120;K=64;break}case 88:case 120:{s=H;K=64;break}case 111:{m=ba;h=k[m>>2]|0;m=k[m+4>>2]|0;if((h|0)==0&(m|0)==0)b=N;else{b=N;do{b=b+-1|0;i[b>>0]=h&7|48;h=lq(h|0,m|0,3)|0;m=L}while(!((h|0)==0&(m|0)==0))}if(!(H&8)){h=H;s=0;o=11731;K=77}else{s=V-b|0;h=H;q=(q|0)>(s|0)?q:s+1|0;s=0;o=11731;K=77}break}case 105:case 100:{h=ba;b=k[h>>2]|0;h=k[h+4>>2]|0;if((h|0)<0){b=hq(0,0,b|0,h|0)|0;h=L;m=ba;k[m>>2]=b;k[m+4>>2]=h;m=1;o=11731;K=76;break f}if(!(H&2048)){o=H&1;m=o;o=(o|0)==0?11731:11733;K=76}else{m=1;o=11732;K=76}break}case 117:{h=ba;b=k[h>>2]|0;h=k[h+4>>2]|0;m=0;o=11731;K=76;break}case 99:{i[W>>0]=k[ba>>2];b=W;u=1;w=0;v=11731;h=N;break}case 109:{h=Yo()|0;h=ip(k[h>>2]|0)|0;K=82;break}case 115:{h=k[ba>>2]|0;h=h|0?h:13633;K=82;break}case 67:{k[ga>>2]=k[ba>>2];k[X>>2]=0;k[ba>>2]=ga;b=ga;q=-1;K=86;break}case 83:{b=k[ba>>2]|0;if(!q){kp(a,32,J,0,H);b=0;K=97}else K=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{n=+p[ba>>3];k[ea>>2]=0;p[t>>3]=n;if((k[t+4>>2]|0)>=0)if(!(H&2048)){G=H&1;F=G;G=(G|0)==0?13641:13646}else{F=1;G=13643}else{n=-n;F=1;G=13640}p[t>>3]=n;E=k[t+4>>2]&2146435072;do if(E>>>0<2146435072|(E|0)==2146435072&0<0){x=+np(n,ea)*2.0;h=x!=0.0;if(h)k[ea>>2]=(k[ea>>2]|0)+-1;C=u|32;if((C|0)==97){v=u&32;y=(v|0)==0?G:G+9|0;w=F|2;b=12-q|0;do if(!(q>>>0>11|(b|0)==0)){n=8.0;do{b=b+-1|0;n=n*16.0}while((b|0)!=0);if((i[y>>0]|0)==45){n=-(n+(-x-n));break}else{n=x+n-n;break}}else n=x;while(0);h=k[ea>>2]|0;b=(h|0)<0?0-h|0:h;b=hp(b,((b|0)<0)<<31>>31,_)|0;if((b|0)==(_|0)){i[$>>0]=48;b=$}i[b+-1>>0]=(h>>31&2)+43;s=b+-2|0;i[s>>0]=u+15;o=(q|0)<1;m=(H&8|0)==0;h=da;while(1){G=~~n;b=h+1|0;i[h>>0]=l[11715+G>>0]|v;n=(n-+(G|0))*16.0;do if((b-Y|0)==1){if(m&(o&n==0.0))break;i[b>>0]=46;b=h+2|0}while(0);if(!(n!=0.0))break;else h=b}m=s;q=(q|0)!=0&(P+b|0)<(q|0)?Q+q-m|0:O-m+b|0;o=q+w|0;kp(a,32,J,o,H);if(!(k[a>>2]&32))ep(y,w,a)|0;kp(a,48,J,o,H^65536);h=b-Y|0;if(!(k[a>>2]&32))ep(da,h,a)|0;b=aa-m|0;kp(a,48,q-(h+b)|0,0,0);if(!(k[a>>2]&32))ep(s,b,a)|0;kp(a,32,J,o,H^8192);b=(o|0)<(J|0)?J:o;break}b=(q|0)<0?6:q;if(h){h=(k[ea>>2]|0)+-28|0;k[ea>>2]=h;n=x*268435456.0}else{n=x;h=k[ea>>2]|0}E=(h|0)<0?ca:R;D=E;h=E;do{B=~~n>>>0;k[h>>2]=B;h=h+4|0;n=(n-+(B>>>0))*1.0e9}while(n!=0.0);m=h;h=k[ea>>2]|0;if((h|0)>0){q=E;while(1){s=(h|0)>29?29:h;o=m+-4|0;do if(o>>>0>>0)o=q;else{h=0;do{B=jq(k[o>>2]|0,0,s|0)|0;B=kq(B|0,L|0,h|0,0)|0;h=L;A=vq(B|0,h|0,1e9,0)|0;k[o>>2]=A;h=uq(B|0,h|0,1e9,0)|0;o=o+-4|0}while(o>>>0>=q>>>0);if(!h){o=q;break}o=q+-4|0;k[o>>2]=h}while(0);while(1){if(m>>>0<=o>>>0)break;h=m+-4|0;if(!(k[h>>2]|0))m=h;else break}h=(k[ea>>2]|0)-s|0;k[ea>>2]=h;if((h|0)>0)q=o;else break}}else o=E;if((h|0)<0){y=((b+25|0)/9|0)+1|0;z=(C|0)==102;v=o;while(1){w=0-h|0;w=(w|0)>9?9:w;do if(v>>>0>>0){h=(1<>>w;o=0;s=v;do{B=k[s>>2]|0;k[s>>2]=(B>>>w)+o;o=ha(B&h,q)|0;s=s+4|0}while(s>>>0>>0);h=(k[v>>2]|0)==0?v+4|0:v;if(!o){o=h;break}k[m>>2]=o;o=h;m=m+4|0}else o=(k[v>>2]|0)==0?v+4|0:v;while(0);h=z?E:o;m=(m-h>>2|0)>(y|0)?h+(y<<2)|0:m;h=(k[ea>>2]|0)+w|0;k[ea>>2]=h;if((h|0)>=0){z=o;break}else v=o}}else z=o;do if(z>>>0>>0){h=(D-z>>2)*9|0;q=k[z>>2]|0;if(q>>>0<10)break;else o=10;do{o=o*10|0;h=h+1|0}while(q>>>0>=o>>>0)}else h=0;while(0);A=(C|0)==103;B=(b|0)!=0;o=b-((C|0)!=102?h:0)+((B&A)<<31>>31)|0;if((o|0)<(((m-D>>2)*9|0)+-9|0)){s=o+9216|0;o=E+4+(((s|0)/9|0)+-1024<<2)|0;s=((s|0)%9|0)+1|0;if((s|0)<9){q=10;do{q=q*10|0;s=s+1|0}while((s|0)!=9)}else q=10;w=k[o>>2]|0;y=(w>>>0)%(q>>>0)|0;s=(o+4|0)==(m|0);do if(s&(y|0)==0)q=z;else{x=(((w>>>0)/(q>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(q|0)/2|0;if(y>>>0>>0)n=.5;else n=s&(y|0)==(v|0)?1.0:1.5;do if(F){if((i[G>>0]|0)!=45)break;x=-x;n=-n}while(0);s=w-y|0;k[o>>2]=s;if(!(x+n!=x)){q=z;break}C=s+q|0;k[o>>2]=C;if(C>>>0>999999999){h=z;while(1){q=o+-4|0;k[o>>2]=0;if(q>>>0>>0){h=h+-4|0;k[h>>2]=0}C=(k[q>>2]|0)+1|0;k[q>>2]=C;if(C>>>0>999999999)o=q;else{v=h;o=q;break}}}else v=z;h=(D-v>>2)*9|0;s=k[v>>2]|0;if(s>>>0<10){q=v;break}else q=10;do{q=q*10|0;h=h+1|0}while(s>>>0>=q>>>0);q=v}while(0);C=o+4|0;z=q;m=m>>>0>C>>>0?C:m}w=0-h|0;while(1){if(m>>>0<=z>>>0){y=0;C=m;break}o=m+-4|0;if(!(k[o>>2]|0))m=o;else{y=1;C=m;break}}do if(A){b=(B&1^1)+b|0;if((b|0)>(h|0)&(h|0)>-5){u=u+-1|0;b=b+-1-h|0}else{u=u+-2|0;b=b+-1|0}m=H&8;if(m|0)break;do if(y){m=k[C+-4>>2]|0;if(!m){o=9;break}if(!((m>>>0)%10|0)){q=10;o=0}else{o=0;break}do{q=q*10|0;o=o+1|0}while(!((m>>>0)%(q>>>0)|0|0))}else o=9;while(0);m=((C-D>>2)*9|0)+-9|0;if((u|32|0)==102){m=m-o|0;m=(m|0)<0?0:m;b=(b|0)<(m|0)?b:m;m=0;break}else{m=m+h-o|0;m=(m|0)<0?0:m;b=(b|0)<(m|0)?b:m;m=0;break}}else m=H&8;while(0);v=b|m;q=(v|0)!=0&1;s=(u|32|0)==102;if(s){h=(h|0)>0?h:0;u=0}else{o=(h|0)<0?w:h;o=hp(o,((o|0)<0)<<31>>31,_)|0;if((aa-o|0)<2)do{o=o+-1|0;i[o>>0]=48}while((aa-o|0)<2);i[o+-1>>0]=(h>>31&2)+43;D=o+-2|0;i[D>>0]=u;h=aa-D|0;u=D}w=F+1+b+q+h|0;kp(a,32,J,w,H);if(!(k[a>>2]&32))ep(G,F,a)|0;kp(a,48,J,w,H^65536);do if(s){o=z>>>0>E>>>0?E:z;h=o;do{m=hp(k[h>>2]|0,0,S)|0;do if((h|0)==(o|0)){if((m|0)!=(S|0))break;i[U>>0]=48;m=U}else{if(m>>>0<=da>>>0)break;iq(da|0,48,m-Y|0)|0;do m=m+-1|0;while(m>>>0>da>>>0)}while(0);if(!(k[a>>2]&32))ep(m,T-m|0,a)|0;h=h+4|0}while(h>>>0<=E>>>0);do if(v|0){if(k[a>>2]&32|0)break;ep(13675,1,a)|0}while(0);if((b|0)>0&h>>>0>>0){m=h;while(1){h=hp(k[m>>2]|0,0,S)|0;if(h>>>0>da>>>0){iq(da|0,48,h-Y|0)|0;do h=h+-1|0;while(h>>>0>da>>>0)}if(!(k[a>>2]&32))ep(h,(b|0)>9?9:b,a)|0;m=m+4|0;h=b+-9|0;if(!((b|0)>9&m>>>0>>0)){b=h;break}else b=h}}kp(a,48,b+9|0,9,0)}else{s=y?C:z+4|0;if((b|0)>-1){q=(m|0)==0;o=z;do{h=hp(k[o>>2]|0,0,S)|0;if((h|0)==(S|0)){i[U>>0]=48;h=U}do if((o|0)==(z|0)){m=h+1|0;if(!(k[a>>2]&32))ep(h,1,a)|0;if(q&(b|0)<1){h=m;break}if(k[a>>2]&32|0){h=m;break}ep(13675,1,a)|0;h=m}else{if(h>>>0<=da>>>0)break;iq(da|0,48,h+Z|0)|0;do h=h+-1|0;while(h>>>0>da>>>0)}while(0);m=T-h|0;if(!(k[a>>2]&32))ep(h,(b|0)>(m|0)?m:b,a)|0;b=b-m|0;o=o+4|0}while(o>>>0>>0&(b|0)>-1)}kp(a,48,b+18|0,18,0);if(k[a>>2]&32|0)break;ep(u,aa-u|0,a)|0}while(0);kp(a,32,J,w,H^8192);b=(w|0)<(J|0)?J:w}else{s=(u&32|0)!=0;q=n!=n|0.0!=0.0;h=q?0:F;o=h+3|0;kp(a,32,J,o,m);b=k[a>>2]|0;if(!(b&32)){ep(G,h,a)|0;b=k[a>>2]|0}if(!(b&32))ep(q?(s?13667:13671):s?13659:13663,3,a)|0;kp(a,32,J,o,H^8192);b=(o|0)<(J|0)?J:o}while(0);h=b;y=I;continue a}default:{b=y;m=H;u=q;w=0;v=11731;h=N}}while(0);g:do if((K|0)==64){m=ba;h=k[m>>2]|0;m=k[m+4>>2]|0;o=u&32;if(!((h|0)==0&(m|0)==0)){b=N;do{b=b+-1|0;i[b>>0]=l[11715+(h&15)>>0]|o;h=lq(h|0,m|0,4)|0;m=L}while(!((h|0)==0&(m|0)==0));K=ba;if((s&8|0)==0|(k[K>>2]|0)==0&(k[K+4>>2]|0)==0){h=s;s=0;o=11731;K=77}else{h=s;s=2;o=11731+(u>>4)|0;K=77}}else{b=N;h=s;s=0;o=11731;K=77}}else if((K|0)==76){b=hp(b,h,N)|0;h=H;s=m;K=77}else if((K|0)==82){K=0;H=jp(h,0,q)|0;G=(H|0)==0;b=h;u=G?q:H-h|0;w=0;v=11731;h=G?h+q|0:H}else if((K|0)==86){K=0;m=0;h=0;s=b;while(1){o=k[s>>2]|0;if(!o)break;h=lp(fa,o)|0;if((h|0)<0|h>>>0>(q-m|0)>>>0)break;m=h+m|0;if(q>>>0>m>>>0)s=s+4|0;else break}if((h|0)<0){f=-1;break a}kp(a,32,J,m,H);if(!m){b=0;K=97}else{o=0;while(1){h=k[b>>2]|0;if(!h){b=m;K=97;break g}h=lp(fa,h)|0;o=h+o|0;if((o|0)>(m|0)){b=m;K=97;break g}if(!(k[a>>2]&32))ep(fa,h,a)|0;if(o>>>0>=m>>>0){b=m;K=97;break}else b=b+4|0}}}while(0);if((K|0)==97){K=0;kp(a,32,J,b,H^8192);h=(J|0)>(b|0)?J:b;y=I;continue}if((K|0)==77){K=0;m=(q|0)>-1?h&-65537:h;h=ba;h=(k[h>>2]|0)!=0|(k[h+4>>2]|0)!=0;if((q|0)!=0|h){u=(h&1^1)+(V-b)|0;u=(q|0)>(u|0)?q:u;w=s;v=o;h=N}else{b=N;u=0;w=s;v=o;h=N}}s=h-b|0;o=(u|0)<(s|0)?s:u;q=w+o|0;h=(J|0)<(q|0)?q:J;kp(a,32,h,q,m);if(!(k[a>>2]&32))ep(v,w,a)|0;kp(a,48,h,q,m^65536);kp(a,48,o,s,0);if(!(k[a>>2]&32))ep(b,s,a)|0;kp(a,32,h,q,m^8192);y=I}h:do if((K|0)==244)if(!a)if(g){f=1;while(1){g=k[e+(f<<2)>>2]|0;if(!g)break;gp(d+(f<<3)|0,g,c);f=f+1|0;if((f|0)>=10){f=1;break h}}if((f|0)<10)while(1){if(k[e+(f<<2)>>2]|0){f=-1;break h}f=f+1|0;if((f|0)>=10){f=1;break}}else f=1}else f=0;while(0);r=ia;return f|0}function ep(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=c+16|0;e=k[d>>2]|0;if(!e)if(!(fp(c)|0)){e=k[d>>2]|0;f=5}else d=0;else f=5;a:do if((f|0)==5){g=c+20|0;d=k[g>>2]|0;f=d;if((e-d|0)>>>0>>0){d=_a[k[c+36>>2]&31](c,a,b)|0;break}b:do if((i[c+75>>0]|0)>-1){d=b;while(1){if(!d){e=f;d=0;break b}e=d+-1|0;if((i[a+e>>0]|0)==10)break;else d=e}if((_a[k[c+36>>2]&31](c,a,d)|0)>>>0>>0)break a;b=b-d|0;a=a+d|0;e=k[g>>2]|0}else{e=f;d=0}while(0);mq(e|0,a|0,b|0)|0;k[g>>2]=(k[g>>2]|0)+b;d=d+b|0}while(0);return d|0}function fp(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;b=k[a+44>>2]|0;k[a+28>>2]=b;k[a+20>>2]=b;k[a+16>>2]=b+(k[a+48>>2]|0);b=0}else{k[a>>2]=b|32;b=-1}return b|0}function gp(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 hp(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=vq(a|0,b|0,10,0)|0;c=c+-1|0;i[c>>0]=d|48;d=uq(a|0,b|0,10,0)|0;if(b>>>0>9|(b|0)==9&a>>>0>4294967295){a=d;b=L}else{a=d;break}}if(a)while(1){c=c+-1|0;i[c>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}return c|0}function ip(a){a=a|0;var b=0,c=0;b=0;while(1){if((l[11741+b>>0]|0)==(a|0)){c=2;break}b=b+1|0;if((b|0)==87){b=87;a=11829;c=5;break}}if((c|0)==2)if(!b)a=11829;else{a=11829;c=5}if((c|0)==5)while(1){c=a;while(1){a=c+1|0;if(!(i[c>>0]|0))break;else c=a}b=b+-1|0;if(!b)break;else c=5}return a|0}function jp(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=ha(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 kp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=r;r=r+256|0;g=h;do if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;iq(g|0,b|0,(e>>>0>256?256:e)|0)|0;b=k[a>>2]|0;f=(b&32|0)==0;if(e>>>0>255){d=c-d|0;do{if(f){ep(g,256,a)|0;b=k[a>>2]|0}e=e+-256|0;f=(b&32|0)==0}while(e>>>0>255);if(f)e=d&255;else break}else if(!f)break;ep(g,e,a)|0}while(0);r=h;return}function lp(a,b){a=a|0;b=b|0;if(!a)a=0;else a=mp(a,b,0)|0;return a|0}function mp(a,b,c){a=a|0;b=b|0;c=c|0;do if(a){if(b>>>0<128){i[a>>0]=b;a=1;break}if(b>>>0<2048){i[a>>0]=b>>>6|192;i[a+1>>0]=b&63|128;a=2;break}if(b>>>0<55296|(b&-8192|0)==57344){i[a>>0]=b>>>12|224;i[a+1>>0]=b>>>6&63|128;i[a+2>>0]=b&63|128;a=3;break}if((b+-65536|0)>>>0<1048576){i[a>>0]=b>>>18|240;i[a+1>>0]=b>>>12&63|128;i[a+2>>0]=b>>>6&63|128;i[a+3>>0]=b&63|128;a=4;break}else{a=Yo()|0;k[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function np(a,b){a=+a;b=b|0;return +(+op(a,b))}function op(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[t>>3]=a;c=k[t>>2]|0;d=k[t+4>>2]|0;e=lq(c|0,d|0,52)|0;e=e&2047;switch(e|0){case 0:{if(a!=0.0){a=+op(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+-1022;k[t>>2]=c;k[t+4>>2]=d&-2146435073|1071644672;a=+p[t>>3]}}return +a}function pp(a){a=a|0;return 0}function qp(a,b){a=a|0;b=b|0;var c=0,d=0;d=i[a>>0]|0;c=i[b>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=c<<24>>24)b=d;else{do{a=a+1|0;b=b+1|0;d=i[a>>0]|0;c=i[b>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=c<<24>>24));b=d}return (b&255)-(c&255)|0}function rp(a){a=a|0;var b=0,c=0;do if(a){if((k[a+76>>2]|0)<=-1){b=sp(a)|0;break}c=(pp(a)|0)==0;b=sp(a)|0;if(!c)$o(a)}else{if(!(k[1235]|0))b=0;else b=rp(k[1235]|0)|0;Ra(14460);a=k[3614]|0;if(a)do{if((k[a+76>>2]|0)>-1)c=pp(a)|0;else c=0;if((k[a+20>>2]|0)>>>0>(k[a+28>>2]|0)>>>0)b=sp(a)|0|b;if(c|0)$o(a);a=k[a+56>>2]|0}while((a|0)!=0);Oa(14460)}while(0);return b|0}function sp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=a+20|0;f=a+28|0;if((k[b>>2]|0)>>>0>(k[f>>2]|0)>>>0?(_a[k[a+36>>2]&31](a,0,0)|0,(k[b>>2]|0)==0):0)b=-1;else{g=a+4|0;c=k[g>>2]|0;d=a+8|0;e=k[d>>2]|0;if(c>>>0>>0)_a[k[a+40>>2]&31](a,c-e|0,1)|0;k[a+16>>2]=0;k[f>>2]=0;k[b>>2]=0;k[d>>2]=0;k[g>>2]=0;b=0}return b|0}function tp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;h=j;g=b&255;i[h>>0]=g;d=a+16|0;e=k[d>>2]|0;if(!e)if(!(fp(a)|0)){e=k[d>>2]|0;f=4}else c=-1;else f=4;do if((f|0)==4){d=a+20|0;f=k[d>>2]|0;if(f>>>0>>0?(c=b&255,(c|0)!=(i[a+75>>0]|0)):0){k[d>>2]=f+1;i[f>>0]=g;break}if((_a[k[a+36>>2]&31](a,h,1)|0)==1)c=l[h>>0]|0;else c=-1}while(0);r=j;return c|0}function up(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=ha(c,b)|0;if((k[d+76>>2]|0)>-1){f=(pp(d)|0)==0;a=ep(a,e,d)|0;if(!f)$o(d)}else a=ep(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function vp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;if((k[b+76>>2]|0)>=0?(pp(b)|0)!=0:0){if((i[b+75>>0]|0)!=(a|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]=a;c=a&255}else c=tp(b,a)|0;$o(b)}else g=3;do if((g|0)==3){if((i[b+75>>0]|0)!=(a|0)?(f=b+20|0,c=k[f>>2]|0,c>>>0<(k[b+16>>2]|0)>>>0):0){k[f>>2]=c+1;i[c>>0]=a;c=a&255;break}c=tp(b,a)|0}while(0);return c|0}function wp(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=k[3620]|0;b=i>>>a;if(b&3|0){b=(b&1^1)+a|0;c=14520+(b<<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[3624]|0)>>>0)ya();a=g+12|0;if((k[a>>2]|0)==(e|0)){k[a>>2]=c;k[d>>2]=g;break}else ya()}else k[3620]=i&~(1<>2]=L|3;L=e+L+4|0;k[L>>2]=k[L>>2]|1;L=f;return L|0}g=k[3622]|0;if(o>>>0>g>>>0){if(b|0){c=2<>>12&16;c=c>>>h;e=c>>>5&8;c=c>>>e;f=c>>>2&4;c=c>>>f;d=c>>>1&2;c=c>>>d;b=c>>>1&1;b=(e|h|f|d|b)+(c>>>b)|0;c=14520+(b<<1<<2)|0;d=c+8|0;f=k[d>>2]|0;h=f+8|0;e=k[h>>2]|0;do if((c|0)!=(e|0)){if(e>>>0<(k[3624]|0)>>>0)ya();a=e+12|0;if((k[a>>2]|0)==(f|0)){k[a>>2]=c;k[d>>2]=e;j=k[3622]|0;break}else ya()}else{k[3620]=i&~(1<>2]=o|3;d=f+o|0;k[d+4>>2]=g|1;k[d+g>>2]=g;if(j|0){e=k[3625]|0;b=j>>>3;c=14520+(b<<1<<2)|0;a=k[3620]|0;b=1<>2]|0;if(b>>>0<(k[3624]|0)>>>0)ya();else{l=a;m=b}}else{k[3620]=a|b;l=c+8|0;m=c}k[l>>2]=e;k[m+12>>2]=e;k[e+8>>2]=m;k[e+12>>2]=c}k[3622]=g;k[3625]=d;L=h;return L|0}a=k[3621]|0;if(a){c=(a&0-a)+-1|0;K=c>>>12&16;c=c>>>K;J=c>>>5&8;c=c>>>J;L=c>>>2&4;c=c>>>L;b=c>>>1&2;c=c>>>b;d=c>>>1&1;d=k[14784+((J|K|L|b|d)+(c>>>d)<<2)>>2]|0;c=(k[d+4>>2]&-8)-o|0;b=d;while(1){a=k[b+16>>2]|0;if(!a){a=k[b+20>>2]|0;if(!a){i=d;break}}b=(k[a+4>>2]&-8)-o|0;L=b>>>0>>0;c=L?b:c;b=a;d=L?a:d}f=k[3624]|0;if(i>>>0>>0)ya();h=i+o|0;if(i>>>0>=h>>>0)ya();g=k[i+24>>2]|0;d=k[i+12>>2]|0;do if((d|0)==(i|0)){b=i+20|0;a=k[b>>2]|0;if(!a){b=i+16|0;a=k[b>>2]|0;if(!a){n=0;break}}while(1){d=a+20|0;e=k[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=k[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0>>0)ya();else{k[b>>2]=0;n=a;break}}else{e=k[i+8>>2]|0;if(e>>>0>>0)ya();a=e+12|0;if((k[a>>2]|0)!=(i|0))ya();b=d+8|0;if((k[b>>2]|0)==(i|0)){k[a>>2]=d;k[b>>2]=e;n=d;break}else ya()}while(0);do if(g|0){a=k[i+28>>2]|0;b=14784+(a<<2)|0;if((i|0)==(k[b>>2]|0)){k[b>>2]=n;if(!n){k[3621]=k[3621]&~(1<>>0<(k[3624]|0)>>>0)ya();a=g+16|0;if((k[a>>2]|0)==(i|0))k[a>>2]=n;else k[g+20>>2]=n;if(!n)break}b=k[3624]|0;if(n>>>0>>0)ya();k[n+24>>2]=g;a=k[i+16>>2]|0;do if(a|0)if(a>>>0>>0)ya();else{k[n+16>>2]=a;k[a+24>>2]=n;break}while(0);a=k[i+20>>2]|0;if(a|0)if(a>>>0<(k[3624]|0)>>>0)ya();else{k[n+20>>2]=a;k[a+24>>2]=n;break}}while(0);if(c>>>0<16){L=c+o|0;k[i+4>>2]=L|3;L=i+L+4|0;k[L>>2]=k[L>>2]|1}else{k[i+4>>2]=o|3;k[h+4>>2]=c|1;k[h+c>>2]=c;a=k[3622]|0;if(a|0){e=k[3625]|0;b=a>>>3;d=14520+(b<<1<<2)|0;a=k[3620]|0;b=1<>2]|0;if(b>>>0<(k[3624]|0)>>>0)ya();else{p=a;q=b}}else{k[3620]=a|b;p=d+8|0;q=d}k[p>>2]=e;k[q+12>>2]=e;k[e+8>>2]=q;k[e+12>>2]=d}k[3622]=c;k[3625]=h}L=i+8|0;return L|0}}}else if(a>>>0<=4294967231){a=a+11|0;o=a&-8;i=k[3621]|0;if(i){c=0-o|0;a=a>>>8;if(a)if(o>>>0>16777215)h=31;else{q=(a+1048320|0)>>>16&8;E=a<>>16&4;E=E<>>16&2;h=14-(p|q|h)+(E<>>15)|0;h=o>>>(h+7|0)&1|h<<1}else h=0;b=k[14784+(h<<2)>>2]|0;a:do if(!b){a=0;b=0;E=86}else{e=c;a=0;f=o<<((h|0)==31?0:25-(h>>>1)|0);g=b;b=0;while(1){d=k[g+4>>2]&-8;c=d-o|0;if(c>>>0>>0)if((d|0)==(o|0)){a=g;b=g;E=90;break a}else b=g;else c=e;d=k[g+20>>2]|0;g=k[g+16+(f>>>31<<2)>>2]|0;a=(d|0)==0|(d|0)==(g|0)?a:d;d=(g|0)==0;if(d){E=86;break}else{e=c;f=f<<(d&1^1)}}}while(0);if((E|0)==86){if((a|0)==0&(b|0)==0){a=2<>>12&16;q=q>>>m;l=q>>>5&8;q=q>>>l;n=q>>>2&4;q=q>>>n;p=q>>>1&2;q=q>>>p;a=q>>>1&1;a=k[14784+((l|m|n|p|a)+(q>>>a)<<2)>>2]|0}if(!a){h=c;i=b}else E=90}if((E|0)==90)while(1){E=0;q=(k[a+4>>2]&-8)-o|0;d=q>>>0>>0;c=d?q:c;b=d?a:b;d=k[a+16>>2]|0;if(d|0){a=d;E=90;continue}a=k[a+20>>2]|0;if(!a){h=c;i=b;break}else E=90}if((i|0)!=0?h>>>0<((k[3622]|0)-o|0)>>>0:0){e=k[3624]|0;if(i>>>0>>0)ya();g=i+o|0;if(i>>>0>=g>>>0)ya();f=k[i+24>>2]|0;c=k[i+12>>2]|0;do if((c|0)==(i|0)){b=i+20|0;a=k[b>>2]|0;if(!a){b=i+16|0;a=k[b>>2]|0;if(!a){s=0;break}}while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0>>0)ya();else{k[b>>2]=0;s=a;break}}else{d=k[i+8>>2]|0;if(d>>>0>>0)ya();a=d+12|0;if((k[a>>2]|0)!=(i|0))ya();b=c+8|0;if((k[b>>2]|0)==(i|0)){k[a>>2]=c;k[b>>2]=d;s=c;break}else ya()}while(0);do if(f|0){a=k[i+28>>2]|0;b=14784+(a<<2)|0;if((i|0)==(k[b>>2]|0)){k[b>>2]=s;if(!s){k[3621]=k[3621]&~(1<>>0<(k[3624]|0)>>>0)ya();a=f+16|0;if((k[a>>2]|0)==(i|0))k[a>>2]=s;else k[f+20>>2]=s;if(!s)break}b=k[3624]|0;if(s>>>0>>0)ya();k[s+24>>2]=f;a=k[i+16>>2]|0;do if(a|0)if(a>>>0>>0)ya();else{k[s+16>>2]=a;k[a+24>>2]=s;break}while(0);a=k[i+20>>2]|0;if(a|0)if(a>>>0<(k[3624]|0)>>>0)ya();else{k[s+20>>2]=a;k[a+24>>2]=s;break}}while(0);do if(h>>>0>=16){k[i+4>>2]=o|3;k[g+4>>2]=h|1;k[g+h>>2]=h;a=h>>>3;if(h>>>0<256){c=14520+(a<<1<<2)|0;b=k[3620]|0;a=1<>2]|0;if(b>>>0<(k[3624]|0)>>>0)ya();else{u=a;v=b}}else{k[3620]=b|a;u=c+8|0;v=c}k[u>>2]=g;k[v+12>>2]=g;k[g+8>>2]=v;k[g+12>>2]=c;break}a=h>>>8;if(a)if(h>>>0>16777215)c=31;else{K=(a+1048320|0)>>>16&8;L=a<>>16&4;L=L<>>16&2;c=14-(J|K|c)+(L<>>15)|0;c=h>>>(c+7|0)&1|c<<1}else c=0;d=14784+(c<<2)|0;k[g+28>>2]=c;a=g+16|0;k[a+4>>2]=0;k[a>>2]=0;a=k[3621]|0;b=1<>2]=g;k[g+24>>2]=d;k[g+12>>2]=g;k[g+8>>2]=g;break}e=h<<((c|0)==31?0:25-(c>>>1)|0);a=k[d>>2]|0;while(1){if((k[a+4>>2]&-8|0)==(h|0)){c=a;E=148;break}b=a+16+(e>>>31<<2)|0;c=k[b>>2]|0;if(!c){E=145;break}else{e=e<<1;a=c}}if((E|0)==145)if(b>>>0<(k[3624]|0)>>>0)ya();else{k[b>>2]=g;k[g+24>>2]=a;k[g+12>>2]=g;k[g+8>>2]=g;break}else if((E|0)==148){a=c+8|0;b=k[a>>2]|0;L=k[3624]|0;if(b>>>0>=L>>>0&c>>>0>=L>>>0){k[b+12>>2]=g;k[a>>2]=g;k[g+8>>2]=b;k[g+12>>2]=c;k[g+24>>2]=0;break}else ya()}}else{L=h+o|0;k[i+4>>2]=L|3;L=i+L+4|0;k[L>>2]=k[L>>2]|1}while(0);L=i+8|0;return L|0}}}else o=-1;while(0);c=k[3622]|0;if(c>>>0>=o>>>0){a=c-o|0;b=k[3625]|0;if(a>>>0>15){L=b+o|0;k[3625]=L;k[3622]=a;k[L+4>>2]=a|1;k[L+a>>2]=a;k[b+4>>2]=o|3}else{k[3622]=0;k[3625]=0;k[b+4>>2]=c|3;L=b+c+4|0;k[L>>2]=k[L>>2]|1}L=b+8|0;return L|0}a=k[3623]|0;if(a>>>0>o>>>0){J=a-o|0;k[3623]=J;L=k[3626]|0;K=L+o|0;k[3626]=K;k[K+4>>2]=J|1;k[L+4>>2]=o|3;L=L+8|0;return L|0}do if(!(k[3738]|0)){a=Ja(30)|0;if(!(a+-1&a)){k[3740]=a;k[3739]=a;k[3741]=-1;k[3742]=-1;k[3743]=0;k[3731]=0;v=(Ua(0)|0)&-16^1431655768;k[3738]=v;break}else ya()}while(0);g=o+48|0;f=k[3740]|0;h=o+47|0;e=f+h|0;f=0-f|0;i=e&f;if(i>>>0<=o>>>0){L=0;return L|0}a=k[3730]|0;if(a|0?(u=k[3728]|0,v=u+i|0,v>>>0<=u>>>0|v>>>0>a>>>0):0){L=0;return L|0}b:do if(!(k[3731]&4)){a=k[3626]|0;c:do if(a){c=14928;while(1){b=k[c>>2]|0;if(b>>>0<=a>>>0?(r=c+4|0,(b+(k[r>>2]|0)|0)>>>0>a>>>0):0){d=c;c=r;break}c=k[c+8>>2]|0;if(!c){E=173;break c}}a=e-(k[3623]|0)&f;if(a>>>0<2147483647){b=Ea(a|0)|0;if((b|0)==((k[d>>2]|0)+(k[c>>2]|0)|0)){if((b|0)!=(-1|0)){g=b;e=a;E=193;break b}}else E=183}}else E=173;while(0);do if((E|0)==173?(t=Ea(0)|0,(t|0)!=(-1|0)):0){a=t;b=k[3739]|0;c=b+-1|0;if(!(c&a))a=i;else a=i-a+(c+a&0-b)|0;b=k[3728]|0;c=b+a|0;if(a>>>0>o>>>0&a>>>0<2147483647){v=k[3730]|0;if(v|0?c>>>0<=b>>>0|c>>>0>v>>>0:0)break;b=Ea(a|0)|0;if((b|0)==(t|0)){g=t;e=a;E=193;break b}else E=183}}while(0);d:do if((E|0)==183){c=0-a|0;do if(g>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(w=k[3740]|0,w=h-a+w&0-w,w>>>0<2147483647):0)if((Ea(w|0)|0)==(-1|0)){Ea(c|0)|0;break d}else{a=w+a|0;break}while(0);if((b|0)!=(-1|0)){g=b;e=a;E=193;break b}}while(0);k[3731]=k[3731]|4;E=190}else E=190;while(0);if((((E|0)==190?i>>>0<2147483647:0)?(x=Ea(i|0)|0,y=Ea(0)|0,x>>>0>>0&((x|0)!=(-1|0)&(y|0)!=(-1|0))):0)?(z=y-x|0,z>>>0>(o+40|0)>>>0):0){g=x;e=z;E=193}if((E|0)==193){a=(k[3728]|0)+e|0;k[3728]=a;if(a>>>0>(k[3729]|0)>>>0)k[3729]=a;h=k[3626]|0;do if(h){d=14928;do{a=k[d>>2]|0;b=d+4|0;c=k[b>>2]|0;if((g|0)==(a+c|0)){A=a;B=b;C=c;D=d;E=203;break}d=k[d+8>>2]|0}while((d|0)!=0);if(((E|0)==203?(k[D+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=A>>>0:0){k[B>>2]=C+e;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=h+L|0;L=e-L+(k[3623]|0)|0;k[3626]=K;k[3623]=L;k[K+4>>2]=L|1;k[K+L+4>>2]=40;k[3627]=k[3742];break}a=k[3624]|0;if(g>>>0>>0){k[3624]=g;i=g}else i=a;c=g+e|0;a=14928;while(1){if((k[a>>2]|0)==(c|0)){b=a;E=211;break}a=k[a+8>>2]|0;if(!a){b=14928;break}}if((E|0)==211)if(!(k[a+12>>2]&8)){k[b>>2]=g;l=a+4|0;k[l>>2]=(k[l>>2]|0)+e;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;a=c+8|0;a=c+((a&7|0)==0?0:0-a&7)|0;j=l+o|0;f=a-l-o|0;k[l+4>>2]=o|3;do if((a|0)!=(h|0)){if((a|0)==(k[3625]|0)){L=(k[3622]|0)+f|0;k[3622]=L;k[3625]=j;k[j+4>>2]=L|1;k[j+L>>2]=L;break}b=k[a+4>>2]|0;if((b&3|0)==1){h=b&-8;e=b>>>3;e:do if(b>>>0>=256){g=k[a+24>>2]|0;d=k[a+12>>2]|0;do if((d|0)==(a|0)){c=a+16|0;d=c+4|0;b=k[d>>2]|0;if(!b){b=k[c>>2]|0;if(!b){J=0;break}}else c=d;while(1){d=b+20|0;e=k[d>>2]|0;if(e|0){b=e;c=d;continue}d=b+16|0;e=k[d>>2]|0;if(!e)break;else{b=e;c=d}}if(c>>>0>>0)ya();else{k[c>>2]=0;J=b;break}}else{e=k[a+8>>2]|0;if(e>>>0>>0)ya();b=e+12|0;if((k[b>>2]|0)!=(a|0))ya();c=d+8|0;if((k[c>>2]|0)==(a|0)){k[b>>2]=d;k[c>>2]=e;J=d;break}else ya()}while(0);if(!g)break;b=k[a+28>>2]|0;c=14784+(b<<2)|0;do if((a|0)!=(k[c>>2]|0)){if(g>>>0<(k[3624]|0)>>>0)ya();b=g+16|0;if((k[b>>2]|0)==(a|0))k[b>>2]=J;else k[g+20>>2]=J;if(!J)break e}else{k[c>>2]=J;if(J|0)break;k[3621]=k[3621]&~(1<>>0>>0)ya();k[J+24>>2]=g;b=a+16|0;c=k[b>>2]|0;do if(c|0)if(c>>>0>>0)ya();else{k[J+16>>2]=c;k[c+24>>2]=J;break}while(0);b=k[b+4>>2]|0;if(!b)break;if(b>>>0<(k[3624]|0)>>>0)ya();else{k[J+20>>2]=b;k[b+24>>2]=J;break}}else{c=k[a+8>>2]|0;d=k[a+12>>2]|0;b=14520+(e<<1<<2)|0;do if((c|0)!=(b|0)){if(c>>>0>>0)ya();if((k[c+12>>2]|0)==(a|0))break;ya()}while(0);if((d|0)==(c|0)){k[3620]=k[3620]&~(1<>>0>>0)ya();b=d+8|0;if((k[b>>2]|0)==(a|0)){G=b;break}ya()}while(0);k[c+12>>2]=d;k[G>>2]=c}while(0);a=a+h|0;f=h+f|0}a=a+4|0;k[a>>2]=k[a>>2]&-2;k[j+4>>2]=f|1;k[j+f>>2]=f;a=f>>>3;if(f>>>0<256){c=14520+(a<<1<<2)|0;b=k[3620]|0;a=1<>2]|0;if(b>>>0>=(k[3624]|0)>>>0){K=a;L=b;break}ya()}while(0);k[K>>2]=j;k[L+12>>2]=j;k[j+8>>2]=L;k[j+12>>2]=c;break}a=f>>>8;do if(!a)c=0;else{if(f>>>0>16777215){c=31;break}K=(a+1048320|0)>>>16&8;L=a<>>16&4;L=L<>>16&2;c=14-(J|K|c)+(L<>>15)|0;c=f>>>(c+7|0)&1|c<<1}while(0);d=14784+(c<<2)|0;k[j+28>>2]=c;a=j+16|0;k[a+4>>2]=0;k[a>>2]=0;a=k[3621]|0;b=1<>2]=j;k[j+24>>2]=d;k[j+12>>2]=j;k[j+8>>2]=j;break}e=f<<((c|0)==31?0:25-(c>>>1)|0);a=k[d>>2]|0;while(1){if((k[a+4>>2]&-8|0)==(f|0)){c=a;E=281;break}b=a+16+(e>>>31<<2)|0;c=k[b>>2]|0;if(!c){E=278;break}else{e=e<<1;a=c}}if((E|0)==278)if(b>>>0<(k[3624]|0)>>>0)ya();else{k[b>>2]=j;k[j+24>>2]=a;k[j+12>>2]=j;k[j+8>>2]=j;break}else if((E|0)==281){a=c+8|0;b=k[a>>2]|0;L=k[3624]|0;if(b>>>0>=L>>>0&c>>>0>=L>>>0){k[b+12>>2]=j;k[a>>2]=j;k[j+8>>2]=b;k[j+12>>2]=c;k[j+24>>2]=0;break}else ya()}}else{L=(k[3623]|0)+f|0;k[3623]=L;k[3626]=j;k[j+4>>2]=L|1}while(0);L=l+8|0;return L|0}else b=14928;while(1){a=k[b>>2]|0;if(a>>>0<=h>>>0?(F=a+(k[b+4>>2]|0)|0,F>>>0>h>>>0):0){b=F;break}b=k[b+8>>2]|0}f=b+-47|0;c=f+8|0;c=f+((c&7|0)==0?0:0-c&7)|0;f=h+16|0;c=c>>>0>>0?h:c;a=c+8|0;d=g+8|0;d=(d&7|0)==0?0:0-d&7;L=g+d|0;d=e+-40-d|0;k[3626]=L;k[3623]=d;k[L+4>>2]=d|1;k[L+d+4>>2]=40;k[3627]=k[3742];d=c+4|0;k[d>>2]=27;k[a>>2]=k[3732];k[a+4>>2]=k[3733];k[a+8>>2]=k[3734];k[a+12>>2]=k[3735];k[3732]=g;k[3733]=e;k[3735]=0;k[3734]=a;a=c+24|0;do{a=a+4|0;k[a>>2]=7}while((a+4|0)>>>0>>0);if((c|0)!=(h|0)){g=c-h|0;k[d>>2]=k[d>>2]&-2;k[h+4>>2]=g|1;k[c>>2]=g;a=g>>>3;if(g>>>0<256){c=14520+(a<<1<<2)|0;b=k[3620]|0;a=1<>2]|0;if(b>>>0<(k[3624]|0)>>>0)ya();else{H=a;I=b}}else{k[3620]=b|a;H=c+8|0;I=c}k[H>>2]=h;k[I+12>>2]=h;k[h+8>>2]=I;k[h+12>>2]=c;break}a=g>>>8;if(a)if(g>>>0>16777215)c=31;else{K=(a+1048320|0)>>>16&8;L=a<>>16&4;L=L<>>16&2;c=14-(J|K|c)+(L<>>15)|0;c=g>>>(c+7|0)&1|c<<1}else c=0;e=14784+(c<<2)|0;k[h+28>>2]=c;k[h+20>>2]=0;k[f>>2]=0;a=k[3621]|0;b=1<>2]=h;k[h+24>>2]=e;k[h+12>>2]=h;k[h+8>>2]=h;break}d=g<<((c|0)==31?0:25-(c>>>1)|0);a=k[e>>2]|0;while(1){if((k[a+4>>2]&-8|0)==(g|0)){c=a;E=307;break}b=a+16+(d>>>31<<2)|0;c=k[b>>2]|0;if(!c){E=304;break}else{d=d<<1;a=c}}if((E|0)==304)if(b>>>0<(k[3624]|0)>>>0)ya();else{k[b>>2]=h;k[h+24>>2]=a;k[h+12>>2]=h;k[h+8>>2]=h;break}else if((E|0)==307){a=c+8|0;b=k[a>>2]|0;L=k[3624]|0;if(b>>>0>=L>>>0&c>>>0>=L>>>0){k[b+12>>2]=h;k[a>>2]=h;k[h+8>>2]=b;k[h+12>>2]=c;k[h+24>>2]=0;break}else ya()}}}else{L=k[3624]|0;if((L|0)==0|g>>>0>>0)k[3624]=g;k[3732]=g;k[3733]=e;k[3735]=0;k[3629]=k[3738];k[3628]=-1;a=0;do{L=14520+(a<<1<<2)|0;k[L+12>>2]=L;k[L+8>>2]=L;a=a+1|0}while((a|0)!=32);L=g+8|0;L=(L&7|0)==0?0:0-L&7;K=g+L|0;L=e+-40-L|0;k[3626]=K;k[3623]=L;k[K+4>>2]=L|1;k[K+L+4>>2]=40;k[3627]=k[3742]}while(0);a=k[3623]|0;if(a>>>0>o>>>0){J=a-o|0;k[3623]=J;L=k[3626]|0;K=L+o|0;k[3626]=K;k[K+4>>2]=J|1;k[L+4>>2]=o|3;L=L+8|0;return L|0}}L=Yo()|0;k[L>>2]=12;L=0;return L|0}function xp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!a)return;c=a+-8|0;g=k[3624]|0;if(c>>>0>>0)ya();a=k[a+-4>>2]|0;b=a&3;if((b|0)==1)ya();d=a&-8;m=c+d|0;do if(!(a&1)){a=k[c>>2]|0;if(!b)return;j=c+(0-a)|0;i=a+d|0;if(j>>>0>>0)ya();if((j|0)==(k[3625]|0)){a=m+4|0;b=k[a>>2]|0;if((b&3|0)!=3){q=j;f=i;break}k[3622]=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=14520+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0>>0)ya();if((k[b+12>>2]|0)!=(j|0))ya()}if((c|0)==(b|0)){k[3620]=k[3620]&~(1<>>0>>0)ya();a=c+8|0;if((k[a>>2]|0)==(j|0))e=a;else ya()}else e=c+8|0;k[b+12>>2]=c;k[e>>2]=b;q=j;f=i;break}e=k[j+24>>2]|0;c=k[j+12>>2]|0;do if((c|0)==(j|0)){b=j+16|0;c=b+4|0;a=k[c>>2]|0;if(!a){a=k[b>>2]|0;if(!a){h=0;break}}else b=c;while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0>>0)ya();else{k[b>>2]=0;h=a;break}}else{d=k[j+8>>2]|0;if(d>>>0>>0)ya();a=d+12|0;if((k[a>>2]|0)!=(j|0))ya();b=c+8|0;if((k[b>>2]|0)==(j|0)){k[a>>2]=c;k[b>>2]=d;h=c;break}else ya()}while(0);if(e){a=k[j+28>>2]|0;b=14784+(a<<2)|0;if((j|0)==(k[b>>2]|0)){k[b>>2]=h;if(!h){k[3621]=k[3621]&~(1<>>0<(k[3624]|0)>>>0)ya();a=e+16|0;if((k[a>>2]|0)==(j|0))k[a>>2]=h;else k[e+20>>2]=h;if(!h){q=j;f=i;break}}c=k[3624]|0;if(h>>>0>>0)ya();k[h+24>>2]=e;a=j+16|0;b=k[a>>2]|0;do if(b|0)if(b>>>0>>0)ya();else{k[h+16>>2]=b;k[b+24>>2]=h;break}while(0);a=k[a+4>>2]|0;if(a)if(a>>>0<(k[3624]|0)>>>0)ya();else{k[h+20>>2]=a;k[a+24>>2]=h;q=j;f=i;break}else{q=j;f=i}}else{q=j;f=i}}else{q=c;f=d}while(0);if(q>>>0>=m>>>0)ya();a=m+4|0;b=k[a>>2]|0;if(!(b&1))ya();if(!(b&2)){if((m|0)==(k[3626]|0)){p=(k[3623]|0)+f|0;k[3623]=p;k[3626]=q;k[q+4>>2]=p|1;if((q|0)!=(k[3625]|0))return;k[3625]=0;k[3622]=0;return}if((m|0)==(k[3625]|0)){p=(k[3622]|0)+f|0;k[3622]=p;k[3625]=q;k[q+4>>2]=p|1;k[q+p>>2]=p;return}f=(b&-8)+f|0;d=b>>>3;do if(b>>>0>=256){e=k[m+24>>2]|0;a=k[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;c=b+4|0;a=k[c>>2]|0;if(!a){a=k[b>>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[3624]|0)>>>0)ya();else{k[b>>2]=0;n=a;break}}else{b=k[m+8>>2]|0;if(b>>>0<(k[3624]|0)>>>0)ya();c=b+12|0;if((k[c>>2]|0)!=(m|0))ya();d=a+8|0;if((k[d>>2]|0)==(m|0)){k[c>>2]=a;k[d>>2]=b;n=a;break}else ya()}while(0);if(e|0){a=k[m+28>>2]|0;b=14784+(a<<2)|0;if((m|0)==(k[b>>2]|0)){k[b>>2]=n;if(!n){k[3621]=k[3621]&~(1<>>0<(k[3624]|0)>>>0)ya();a=e+16|0;if((k[a>>2]|0)==(m|0))k[a>>2]=n;else k[e+20>>2]=n;if(!n)break}c=k[3624]|0;if(n>>>0>>0)ya();k[n+24>>2]=e;a=m+16|0;b=k[a>>2]|0;do if(b|0)if(b>>>0>>0)ya();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[3624]|0)>>>0)ya();else{k[n+20>>2]=a;k[a+24>>2]=n;break}}}else{b=k[m+8>>2]|0;c=k[m+12>>2]|0;a=14520+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(k[3624]|0)>>>0)ya();if((k[b+12>>2]|0)!=(m|0))ya()}if((c|0)==(b|0)){k[3620]=k[3620]&~(1<>>0<(k[3624]|0)>>>0)ya();a=c+8|0;if((k[a>>2]|0)==(m|0))l=a;else ya()}else l=c+8|0;k[b+12>>2]=c;k[l>>2]=b}while(0);k[q+4>>2]=f|1;k[q+f>>2]=f;if((q|0)==(k[3625]|0)){k[3622]=f;return}}else{k[a>>2]=b&-2;k[q+4>>2]=f|1;k[q+f>>2]=f}a=f>>>3;if(f>>>0<256){c=14520+(a<<1<<2)|0;b=k[3620]|0;a=1<>2]|0;if(b>>>0<(k[3624]|0)>>>0)ya();else{o=a;p=b}}else{k[3620]=b|a;o=c+8|0;p=c}k[o>>2]=q;k[p+12>>2]=q;k[q+8>>2]=p;k[q+12>>2]=c;return}a=f>>>8;if(a)if(f>>>0>16777215)c=31;else{o=(a+1048320|0)>>>16&8;p=a<>>16&4;p=p<>>16&2;c=14-(n|o|c)+(p<>>15)|0;c=f>>>(c+7|0)&1|c<<1}else c=0;d=14784+(c<<2)|0;k[q+28>>2]=c;k[q+20>>2]=0;k[q+16>>2]=0;a=k[3621]|0;b=1<>>1)|0);a=k[d>>2]|0;while(1){if((k[a+4>>2]&-8|0)==(f|0)){c=a;d=130;break}b=a+16+(e>>>31<<2)|0;c=k[b>>2]|0;if(!c){d=127;break}else{e=e<<1;a=c}}if((d|0)==127)if(b>>>0<(k[3624]|0)>>>0)ya();else{k[b>>2]=q;k[q+24>>2]=a;k[q+12>>2]=q;k[q+8>>2]=q;break}else if((d|0)==130){a=c+8|0;b=k[a>>2]|0;p=k[3624]|0;if(b>>>0>=p>>>0&c>>>0>=p>>>0){k[b+12>>2]=q;k[a>>2]=q;k[q+8>>2]=b;k[q+12>>2]=c;k[q+24>>2]=0;break}else ya()}}else{k[3621]=a|b;k[d>>2]=q;k[q+24>>2]=d;k[q+12>>2]=q;k[q+8>>2]=q}while(0);q=(k[3628]|0)+-1|0;k[3628]=q;if(!q)a=14936;else return;while(1){a=k[a>>2]|0;if(!a)break;else a=a+8|0}k[3628]=-1;return}function yp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;a:do if(a>>>0<212){b=4944;c=48;b:while(1){while(1){if(!c)break b;d=(c|0)/2|0;e=b+(d<<2)|0;if((k[e>>2]|0)>>>0>>0){b=e;break}else c=d}b=b+4|0;c=c+-1-d|0}b=k[b>>2]|0}else{f=(a>>>0)/210|0;g=f*210|0;a=a-g|0;b=5136;c=48;c:while(1){while(1){if(!c)break c;d=(c|0)/2|0;e=b+(d<<2)|0;if((k[e>>2]|0)>>>0>>0){b=e;break}else c=d}b=b+4|0;c=c+-1-d|0}b=b-5136>>2;a=b;b=(k[5136+(b<<2)>>2]|0)+g|0;while(1){e=5;while(1){if(e>>>0>=47){e=211;h=17;break}c=k[4944+(e<<2)>>2]|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break;else e=e+1|0}d:do if((h|0)==17)while(1){h=0;c=(b>>>0)/(e>>>0)|0;if(c>>>0>>0)break a;if((b|0)==(ha(c,e)|0))break d;c=e+10|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+12|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+16|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+18|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+22|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+28|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+30|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+36|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+40|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+42|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+46|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+52|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+58|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+60|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+66|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+70|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+72|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+78|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+82|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+88|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+96|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+100|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+102|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+106|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+108|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+112|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+120|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+126|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+130|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+136|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+138|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+142|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+148|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+150|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+156|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+162|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+166|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+168|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+172|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+178|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+180|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+186|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+190|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+192|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+196|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+198|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+208|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break;else{e=e+210|0;h=17}}while(0);g=a+1|0;e=(g|0)==48;b=(e&1)+f|0;g=e?0:g;a=g;f=b;b=(k[5136+(g<<2)>>2]|0)+(b*210|0)|0}}while(0);return b|0}function zp(a){a=a|0;Aa(13677,13700,303,13797)}function Ap(a){a=a|0;Aa(13818,13700,314,13841)}function Bp(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+48|0;g=e+32|0;c=e+24|0;h=e+16|0;f=e;e=e+36|0;a=Cp()|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[1353];Fp(14239,c)}if((b|0)==1126902529&(a|0)==1129074247)a=k[d+44>>2]|0;else a=d+80|0;k[e>>2]=a;d=k[d>>2]|0;a=k[d+4>>2]|0;if(_a[k[(k[168]|0)+16>>2]&31](672,d,e)|0){h=k[e>>2]|0;e=k[1353]|0;h=cb[k[(k[h>>2]|0)+8>>2]&127](h)|0;k[f>>2]=e;k[f+4>>2]=a;k[f+8>>2]=h;Fp(14153,f)}else{k[h>>2]=k[1353];k[h+4>>2]=a;Fp(14198,h)}}Fp(14277,g)}function Cp(){var a=0,b=0;a=r;r=r+16|0;if(!(Ma(14976,3)|0)){b=Ka(k[3745]|0)|0;r=a;return b|0}else Fp(13965,a);return 0}function Dp(){var a=0;a=r;r=r+16|0;if(!(xa(14980,71)|0)){r=a;return}else Fp(13915,a)}function Ep(a){a=a|0;var b=0;b=r;r=r+16|0;xp(a);if(!(Pa(k[3745]|0,0)|0)){r=b;return}else Fp(13862,b)}function Fp(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c>>2]=b;b=k[1178]|0;cp(b,a,c)|0;vp(10,b)|0;ya()}function Gp(a){a=a|0;return}function Hp(a){a=a|0;return}function Ip(a){a=a|0;Jp(a);return}function Jp(a){a=a|0;xp(a);return}function Kp(a){a=a|0;return}function Lp(a){a=a|0;return}function Mp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+64|0;f=g;if((a|0)!=(b|0))if((b|0)!=0?(e=Np(b,712,680,0)|0,(e|0)!=0):0){b=f;d=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(d|0));k[f>>2]=e;k[f+8>>2]=a;k[f+12>>2]=-1;k[f+48>>2]=1;hb[k[(k[e>>2]|0)+28>>2]&3](e,f,k[c>>2]|0,1);if((k[f+24>>2]|0)==1){k[c>>2]=k[f+16>>2];b=1}else b=0}else b=0;else b=1;r=g;return b|0}function Np(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;p=q;o=k[a>>2]|0;n=a+(k[o+-8>>2]|0)|0;o=k[o+-4>>2]|0;k[p>>2]=c;k[p+4>>2]=a;k[p+8>>2]=b;k[p+12>>2]=d;h=p+16|0;d=p+20|0;a=p+24|0;b=p+28|0;e=p+32|0;f=p+40|0;g=(o|0)==(c|0);l=h;m=l+36|0;do{k[l>>2]=0;l=l+4|0}while((l|0)<(m|0));j[h+36>>1]=0;i[h+38>>0]=0;a:do if(g){k[p+48>>2]=1;fb[k[(k[c>>2]|0)+20>>2]&3](c,p,n,n,1,0);d=(k[a>>2]|0)==1?n:0}else{$a[k[(k[o>>2]|0)+24>>2]&3](o,p,n,1,0);switch(k[p+36>>2]|0){case 0:{d=(k[f>>2]|0)==1&(k[b>>2]|0)==1&(k[e>>2]|0)==1?k[d>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((k[a>>2]|0)!=1?!((k[f>>2]|0)==0&(k[b>>2]|0)==1&(k[e>>2]|0)==1):0){d=0;break}d=k[h>>2]|0}while(0);r=q;return d|0}function Op(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((a|0)==(k[b+8>>2]|0))Pp(0,b,c,d,e);else{a=k[a+8>>2]|0;fb[k[(k[a>>2]|0)+20>>2]&3](a,b,c,d,e,f)}return}function Pp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;i[b+53>>0]=1;do if((k[b+4>>2]|0)==(d|0)){i[b+52>>0]=1;d=b+16|0;a=k[d>>2]|0;if(!a){k[d>>2]=c;k[b+24>>2]=e;k[b+36>>2]=1;if(!((e|0)==1?(k[b+48>>2]|0)==1:0))break;i[b+54>>0]=1;break}if((a|0)!=(c|0)){e=b+36|0;k[e>>2]=(k[e>>2]|0)+1;i[b+54>>0]=1;break}a=b+24|0;d=k[a>>2]|0;if((d|0)==2){k[a>>2]=e;d=e}if((d|0)==1?(k[b+48>>2]|0)==1:0)i[b+54>>0]=1}while(0);return}function Qp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;do if((a|0)==(k[b+8>>2]|0)){if((k[b+4>>2]|0)==(c|0)?(f=b+28|0,(k[f>>2]|0)!=1):0)k[f>>2]=d}else{if((a|0)!=(k[b>>2]|0)){h=k[a+8>>2]|0;$a[k[(k[h>>2]|0)+24>>2]&3](h,b,c,d,e);break}if((k[b+16>>2]|0)!=(c|0)?(h=b+20|0,(k[h>>2]|0)!=(c|0)):0){k[b+32>>2]=d;g=b+44|0;if((k[g>>2]|0)==4)break;f=b+52|0;i[f>>0]=0;d=b+53|0;i[d>>0]=0;a=k[a+8>>2]|0;fb[k[(k[a>>2]|0)+20>>2]&3](a,b,c,c,1,e);if(i[d>>0]|0)if(!(i[f>>0]|0)){f=1;d=13}else d=17;else{f=0;d=13}do if((d|0)==13){k[h>>2]=c;c=b+40|0;k[c>>2]=(k[c>>2]|0)+1;if((k[b+36>>2]|0)==1?(k[b+24>>2]|0)==2:0){i[b+54>>0]=1;if(f){d=17;break}else{f=4;break}}if(f)d=17;else f=4}while(0);if((d|0)==17)f=3;k[g>>2]=f;break}if((d|0)==1)k[b+32>>2]=1}while(0);return}function Rp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(k[b+8>>2]|0))Sp(0,b,c,d);else{a=k[a+8>>2]|0;hb[k[(k[a>>2]|0)+28>>2]&3](a,b,c,d)}return}function Sp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;a=b+16|0;e=k[a>>2]|0;do if(e){if((e|0)!=(c|0)){d=b+36|0;k[d>>2]=(k[d>>2]|0)+1;k[b+24>>2]=2;i[b+54>>0]=1;break}a=b+24|0;if((k[a>>2]|0)==2)k[a>>2]=d}else{k[a>>2]=c;k[b+24>>2]=d;k[b+36>>2]=1}while(0);return}function Tp(a){a=a|0;Jp(a);return}function Up(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((a|0)==(k[b+8>>2]|0))Pp(0,b,c,d,e);return}function Vp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;do if((a|0)==(k[b+8>>2]|0)){if((k[b+4>>2]|0)==(c|0)?(g=b+28|0,(k[g>>2]|0)!=1):0)k[g>>2]=d}else if((a|0)==(k[b>>2]|0)){if((k[b+16>>2]|0)!=(c|0)?(f=b+20|0,(k[f>>2]|0)!=(c|0)):0){k[b+32>>2]=d;k[f>>2]=c;e=b+40|0;k[e>>2]=(k[e>>2]|0)+1;if((k[b+36>>2]|0)==1?(k[b+24>>2]|0)==2:0)i[b+54>>0]=1;k[b+44>>2]=4;break}if((d|0)==1)k[b+32>>2]=1}while(0);return}function Wp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(k[b+8>>2]|0))Sp(0,b,c,d);return}function Xp(){var a=0,b=0,c=0,d=0;c=r;r=r+16|0;d=c+8|0;a=Cp()|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){eb[k[b+12>>2]&3]();Fp(14289,c)}c=k[1332]|0;k[1332]=c+0;eb[c&3]();Fp(14289,d)}function Yp(a){a=a|0;return}function Zp(a){a=a|0;return}function _p(a){a=a|0;Jp(a);return}function $p(a){a=a|0;return 14342}function aq(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=wp(b)|0;if(a|0){b=6;break}a=bq()|0;if(!a){b=5;break}eb[a&3]()}if((b|0)==5){b=Ba(4)|0;k[b>>2]=5424;Qa(b|0,736,68)}else if((b|0)==6)return a|0;return 0}function bq(){var a=0;a=k[3746]|0;k[3746]=a+0;return a|0}function cq(a){a=a|0;return aq(a)|0}function dq(a){a=a|0;Jp(a);return}function eq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+16|0;d=e;k[d>>2]=k[c>>2];a=_a[k[(k[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)k[c>>2]=k[d>>2];r=e;return a&1|0}function fq(a){a=a|0;if(!a)a=0;else a=(Np(a,712,768,0)|0)!=0;return a&1|0}function gq(){}function hq(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 (L=d,a-c>>>0|0)|0}function iq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a+c|0;if((c|0)>=20){b=b&255;f=a&3;g=b|b<<8|b<<16|b<<24;e=d&~3;if(f){f=a+4-f|0;while((a|0)<(f|0)){i[a>>0]=b;a=a+1|0}}while((a|0)<(e|0)){k[a>>2]=g;a=a+4|0}}while((a|0)<(d|0)){i[a>>0]=b;a=a+1|0}return a-c|0}function jq(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b<>>32-c;return a<>>0;return (L=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function lq(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b>>>c;return a>>>c|(b&(1<>>c-32|0}function mq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((c|0)>=4096)return Ga(a|0,b|0,c|0)|0;d=a|0;if((a&3)==(b&3)){while(a&3){if(!c)return d|0;i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}while((c|0)>=4){k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0;c=c-4|0}}while((c|0)>0){i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}return d|0}function nq(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 mq(a,b,c)|0;return a|0}function oq(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b>>c;return a>>>c|(b&(1<>c-32|0}function pq(a){a=a|0;var b=0;b=i[v+(a&255)>>0]|0;if((b|0)<8)return b|0;b=i[v+(a>>8&255)>>0]|0;if((b|0)<8)return b+8|0;b=i[v+(a>>16&255)>>0]|0;if((b|0)<8)return b+16|0;return (i[v+(a>>>24)>>0]|0)+24|0}function qq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=ha(e,f)|0;d=a>>>16;a=(c>>>16)+(ha(e,d)|0)|0;e=b>>>16;b=ha(e,f)|0;return (L=(a>>>16)+(ha(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function rq(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=hq(j^a|0,i^b|0,j|0,i|0)|0;g=L;a=f^j;b=e^i;return hq((wq(h,g,hq(f^c|0,e^d|0,f|0,e|0)|0,L,0)|0)^a|0,L^b|0,a|0,b|0)|0}function sq(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;e=r;r=r+16|0;h=e|0;g=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;j=d>>31|((d|0)<0?-1:0)<<1;i=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;a=hq(g^a|0,f^b|0,g|0,f|0)|0;b=L;wq(a,b,hq(j^c|0,i^d|0,j|0,i|0)|0,L,h)|0;d=hq(k[h>>2]^g|0,k[h+4>>2]^f|0,g|0,f|0)|0;c=L;r=e;return (L=c,d)|0}function tq(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=qq(e,f)|0;a=L;return (L=(ha(b,f)|0)+(ha(d,e)|0)+a|a&0,c|0|0)|0}function uq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wq(a,b,c,d,0)|0}function vq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=r;r=r+16|0;e=f|0;wq(a,b,c,d,e)|0;r=f;return (L=k[e+4>>2]|0,k[e>>2]|0)|0}function wq(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 (L=n,e)|0}else{if(!f){n=0;e=0;return (L=n,e)|0}k[e>>2]=a|0;k[e+4>>2]=b&0;n=0;e=0;return (L=n,e)|0}}f=(h|0)==0;do if(g){if(!f){f=(ja(h|0)|0)-(ja(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 (L=n,e)|0}f=g-1|0;if(f&g|0){h=(ja(g|0)|0)+33-(ja(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 (L=o,p)|0}else{p=pq(g|0)|0;o=j>>>(p>>>0)|0;p=j<<32-p|l>>>(p>>>0)|0;return (L=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 (L=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 (L=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>>>((pq(h|0)|0)>>>0);return (L=o,p)|0}f=(ja(h|0)|0)-(ja(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 (L=o,p)|0}while(0);if(!g){j=h;i=0;h=0}else{m=c|0|0;l=n|d&0;j=kq(m|0,l|0,-1,-1)|0;c=L;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;hq(j|0,c|0,d|0,n|0)|0;p=L;o=p>>31|((p|0)<0?-1:0)<<1;h=o&1;a=hq(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=L;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 (L=o,p)|0}function xq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return _a[a&31](b|0,c|0,d|0)|0}function yq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;$a[a&3](b|0,c|0,d|0,e|0,f|0)}function zq(a,b){a=a|0;b=b|0;ab[a&127](b|0)}function Aq(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 bb[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Bq(a,b){a=a|0;b=b|0;return cb[a&127](b|0)|0}function Cq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;db[a&7](b|0,c|0,d|0)}function Dq(a){a=a|0;eb[a&3]()}function Eq(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;fb[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Fq(a,b,c){a=a|0;b=b|0;c=c|0;return gb[a&63](b|0,c|0)|0}function Gq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;hb[a&3](b|0,c|0,d|0,e|0)}function Hq(a,b,c){a=a|0;b=b|0;c=c|0;ka(0);return 0}function Iq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ka(1)}function Jq(a){a=a|0;ka(2)}function Kq(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(3);return 0}function Lq(a){a=a|0;ka(4);return 0}function Mq(a,b,c){a=a|0;b=b|0;c=c|0;ka(5)}function Nq(){ka(6)}function Oq(){Wa()}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;ka(7)}function Qq(a,b){a=a|0;b=b|0;ka(8);return 0}function Rq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(9)} // EMSCRIPTEN_END_FUNCS -var _a=[Gq,Ug,qh,sh,uh,yh,zh,Ah,Bh,Wi,Xi,bj,cj,dj,Yo,$o,ap,Lp,Gq,Gq,Gq,Gq,Gq,Gq,Gq,Gq,Gq,Gq,Gq,Gq,Gq,Gq];var $a=[Hq,Up,Pp,Hq];var ab=[Iq,dg,fg,mg,ug,vg,Sg,Tg,Yg,Zg,gh,oh,ph,wh,xh,Fh,Gh,Qh,Vh,_h,$h,oi,ti,yi,zi,Mi,Ui,Vi,aj,gj,hj,yj,Dj,Ej,Rj,Wj,$j,ak,nk,wk,xk,Dk,Fk,Gk,Mk,Pk,an,gn,hn,rn,un,zn,Dn,An,Bn,Cn,Nn,Rn,On,Pn,Qn,to,vo,Fp,Sp,Jp,Kp,Hp,Xp,Zp,Zo,Dp,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq,Iq];var bb=[Jq,Th,Uh,Yh,Zh,ii,li,ri,si,wi,xi,Hi,Ki,Pi,Qi,sj,wj,Bj,Cj,Mj,Pj,Uj,Vj,Zj,_j,ik,lk,qk,rk,Jq,Jq,Jq];var cb=[Kq,lg,_g,$g,ah,bh,ch,dh,hh,ih,jh,Ri,Hh,Ih,Nh,Oh,Rh,Sh,Wh,Xh,ai,bi,ci,pi,qi,ui,vi,Ai,Bi,Ci,Ni,Oi,Zi,sk,ij,jj,kj,lj,qj,rj,zj,Aj,Fj,Gj,Hj,Sj,Tj,Xj,Yj,bk,ck,dk,ok,pk,Lk,Ik,Ok,cn,jn,ln,mn,pn,Yn,qo,ro,so,Fn,Tn,Ao,Lo,Mo,No,Vo,_p,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq,Kq];var db=[Lq,gg,qg,wg,yg,Lq,Lq,Lq];var eb=[Mq,Nq,Ap,Cp];var fb=[Oq,Tp,Np,Oq];var gb=[Pq,Vg,kh,lh,rh,th,Si,Jh,Kh,Lh,Mh,di,ei,fi,gi,Di,Ei,Fi,Gi,Yi,_i,tk,mj,nj,oj,pj,Ij,Jj,Kj,Lj,ek,fk,gk,hk,yk,Ak,Bk,Ek,Hk,Nk,Qk,bn,kn,nn,on,vn,wn,xn,yn,En,Sn,wo,xo,yo,zo,Pq,Pq,Pq,Pq,Pq,Pq,Pq,Pq,Pq];var hb=[Qq,Vp,Qp,Qq];return{_emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1:yb,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:Tb,_bitshift64Shl:iq,_emscripten_bind_Mesh___destroy___0:_b,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:Ob,_emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1:wb,_emscripten_bind_PointAttribute_byte_offset_0:Mb,_emscripten_bind_PointAttribute_normalized_0:Kb,_bitshift64Lshr:kq,_i64Subtract:gq,_emscripten_bind_WebIDLWrapper_GetAttributeFloat_3:Cb,_i64Add:jq,_malloc:vp,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:ic,_fflush:qp,___cxa_is_pointer_type:eq,_emscripten_bind_PointAttribute_size_0:Gb,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:jc,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:hc,_emscripten_bind_VoidPtr___destroy___0:$b,_memset:hq,_emscripten_bind_PointAttribute_attribute_type_0:Hb,_emscripten_bind_DecoderBuffer_Init_2:Ub,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:fc,_emscripten_bind_DecoderBuffer___destroy___0:Vb,___errno_location:Xo,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:gc,_emscripten_bind_DracoInt32Array___destroy___0:cc,_emscripten_bind_Mesh_num_points_0:Zb,_emscripten_bind_Mesh_Mesh_0:Wb,_emscripten_bind_WebIDLWrapper_GetAttribute_2:Ab,_emscripten_bind_PointAttribute_components_count_0:Jb,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:ec,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:kc,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:lc,_emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3:Bb,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:ac,_emscripten_bind_PointAttribute_data_type_0:Ib,_emscripten_bind_Mesh_num_attributes_0:Yb,_emscripten_bind_DracoFloat32Array_GetValue_1:Pb,_emscripten_bind_DracoFloat32Array___destroy___0:Qb,_emscripten_bind_PointCloud_num_points_0:tb,_emscripten_bind_PointCloud___destroy___0:ub,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:Rb,_emscripten_bind_PointAttribute_PointAttribute_0:Fb,_free:wp,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:dc,_emscripten_bind_GeometryAttribute___destroy___0:Sb,_emscripten_bind_Mesh_num_faces_0:Xb,_emscripten_bind_DracoInt32Array_GetValue_1:bc,_emscripten_bind_PointAttribute_byte_stride_0:Lb,_emscripten_bind_WebIDLWrapper_GetAttributeId_2:zb,_memcpy:lq,_emscripten_bind_WebIDLWrapper_WebIDLWrapper_0:vb,_memmove:mq,_emscripten_bind_PointCloud_num_attributes_0:sb,_emscripten_bind_WebIDLWrapper___destroy___0:Eb,_emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1:xb,_emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3:Db,_emscripten_bind_PointCloud_PointCloud_0:rb,_emscripten_bind_PointAttribute___destroy___0:Nb,___cxa_can_catch:dq,runPostSets:fq,_emscripten_replace_memory:Za,stackAlloc:ib,stackSave:jb,stackRestore:kb,establishStackSpace:lb,setThrew:mb,setTempRet0:pb,getTempRet0:qb,dynCall_iiii:wq,dynCall_viiiii:xq,dynCall_vi:yq,dynCall_iiiiiii:zq,dynCall_ii:Aq,dynCall_viii:Bq,dynCall_v:Cq,dynCall_viiiiii:Dq,dynCall_iii:Eq,dynCall_viiii:Fq}}) +var _a=[Hq,Vg,rh,th,vh,zh,Ah,Bh,Ch,Xi,Yi,cj,dj,ej,Zo,ap,bp,Mp,Hq,Hq,Hq,Hq,Hq,Hq,Hq,Hq,Hq,Hq,Hq,Hq,Hq,Hq];var $a=[Iq,Vp,Qp,Iq];var ab=[Jq,eg,gg,ng,vg,wg,Tg,Ug,Zg,_g,hh,ph,qh,xh,yh,Gh,Hh,Rh,Wh,$h,ai,pi,ui,zi,Ai,Ni,Vi,Wi,bj,hj,ij,zj,Ej,Fj,Sj,Xj,ak,bk,ok,xk,yk,Ek,Gk,Hk,Nk,Qk,bn,hn,jn,sn,vn,An,En,Bn,Cn,Dn,On,Sn,Pn,Qn,Rn,uo,wo,Gp,Tp,Kp,Lp,Ip,Yp,_p,_o,Ep,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq];var bb=[Kq,Uh,Vh,Zh,_h,ji,mi,si,ti,xi,yi,Ii,Li,Qi,Ri,tj,xj,Cj,Dj,Nj,Qj,Vj,Wj,_j,$j,jk,mk,rk,sk,Kq,Kq,Kq];var cb=[Lq,mg,$g,ah,bh,ch,dh,eh,ih,jh,kh,Si,Ih,Jh,Oh,Ph,Sh,Th,Xh,Yh,bi,ci,di,qi,ri,vi,wi,Bi,Ci,Di,Oi,Pi,_i,tk,jj,kj,lj,mj,rj,sj,Aj,Bj,Gj,Hj,Ij,Tj,Uj,Yj,Zj,ck,dk,ek,pk,qk,Mk,Jk,Pk,dn,kn,mn,nn,qn,Zn,ro,so,to,Gn,Un,Bo,Mo,No,Oo,Wo,$p,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq];var db=[Mq,hg,rg,xg,zg,Mq,Mq,Mq];var eb=[Nq,Oq,Bp,Dp];var fb=[Pq,Up,Op,Pq];var gb=[Qq,Wg,lh,mh,sh,uh,Ti,Kh,Lh,Mh,Nh,ei,fi,gi,hi,Ei,Fi,Gi,Hi,Zi,$i,uk,nj,oj,pj,qj,Jj,Kj,Lj,Mj,fk,gk,hk,ik,zk,Bk,Ck,Fk,Ik,Ok,Rk,cn,ln,on,pn,wn,xn,yn,zn,Fn,Tn,xo,yo,zo,Ao,Qq,Qq,Qq,Qq,Qq,Qq,Qq,Qq,Qq];var hb=[Rq,Wp,Rp,Rq];return{_emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1:yb,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:Ub,_bitshift64Shl:jq,_emscripten_bind_Mesh___destroy___0:$b,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:Pb,_emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1:wb,_emscripten_bind_PointAttribute_byte_offset_0:Mb,_emscripten_bind_PointAttribute_normalized_0:Kb,_bitshift64Lshr:lq,_i64Subtract:hq,_emscripten_bind_WebIDLWrapper_GetAttributeFloat_3:Cb,_i64Add:kq,_malloc:wp,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:jc,_fflush:rp,___cxa_is_pointer_type:fq,_emscripten_bind_PointAttribute_size_0:Gb,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:kc,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:ic,_emscripten_bind_VoidPtr___destroy___0:ac,_memset:iq,_emscripten_bind_PointAttribute_attribute_type_0:Hb,_emscripten_bind_DecoderBuffer_Init_2:Vb,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:gc,_emscripten_bind_DecoderBuffer___destroy___0:Wb,___errno_location:Yo,_emscripten_bind_PointAttribute_custom_id_0:Nb,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:hc,_emscripten_bind_DracoInt32Array___destroy___0:dc,_emscripten_bind_Mesh_num_points_0:_b,_emscripten_bind_Mesh_Mesh_0:Xb,_emscripten_bind_WebIDLWrapper_GetAttribute_2:Ab,_emscripten_bind_PointAttribute_components_count_0:Jb,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:fc,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:lc,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:mc,_emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3:Bb,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:bc,_emscripten_bind_PointAttribute_data_type_0:Ib,_emscripten_bind_Mesh_num_attributes_0:Zb,_emscripten_bind_DracoFloat32Array_GetValue_1:Qb,_emscripten_bind_DracoFloat32Array___destroy___0:Rb,_emscripten_bind_PointCloud_num_points_0:tb,_emscripten_bind_PointCloud___destroy___0:ub,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:Sb,_emscripten_bind_PointAttribute_PointAttribute_0:Fb,_free:xp,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:ec,_emscripten_bind_GeometryAttribute___destroy___0:Tb,_emscripten_bind_Mesh_num_faces_0:Yb,_emscripten_bind_DracoInt32Array_GetValue_1:cc,_emscripten_bind_PointAttribute_byte_stride_0:Lb,_emscripten_bind_WebIDLWrapper_GetAttributeId_2:zb,_memcpy:mq,_emscripten_bind_WebIDLWrapper_WebIDLWrapper_0:vb,_memmove:nq,_emscripten_bind_PointCloud_num_attributes_0:sb,_emscripten_bind_WebIDLWrapper___destroy___0:Eb,_emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1:xb,_emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3:Db,_emscripten_bind_PointCloud_PointCloud_0:rb,_emscripten_bind_PointAttribute___destroy___0:Ob,___cxa_can_catch:eq,runPostSets:gq,_emscripten_replace_memory:Za,stackAlloc:ib,stackSave:jb,stackRestore:kb,establishStackSpace:lb,setThrew:mb,setTempRet0:pb,getTempRet0:qb,dynCall_iiii:xq,dynCall_viiiii:yq,dynCall_vi:zq,dynCall_iiiiiii:Aq,dynCall_ii:Bq,dynCall_viii:Cq,dynCall_v:Dq,dynCall_viiiiii:Eq,dynCall_iii:Fq,dynCall_viiii:Gq}}) // EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1=Module["_emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1"]=asm["_emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1"];var _emscripten_bind_DecoderBuffer_DecoderBuffer_0=Module["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"]=asm["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_PointCloud___destroy___0=Module["_emscripten_bind_PointCloud___destroy___0"]=asm["_emscripten_bind_PointCloud___destroy___0"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1=Module["_emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1"]=asm["_emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1=Module["_emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1"]=asm["_emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1"];var _emscripten_bind_PointAttribute_normalized_0=Module["_emscripten_bind_PointAttribute_normalized_0"]=asm["_emscripten_bind_PointAttribute_normalized_0"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _emscripten_bind_WebIDLWrapper_GetAttributeFloat_3=Module["_emscripten_bind_WebIDLWrapper_GetAttributeFloat_3"]=asm["_emscripten_bind_WebIDLWrapper_GetAttributeFloat_3"];var _emscripten_bind_WebIDLWrapper_GetAttributeId_2=Module["_emscripten_bind_WebIDLWrapper_GetAttributeId_2"]=asm["_emscripten_bind_WebIDLWrapper_GetAttributeId_2"];var _fflush=Module["_fflush"]=asm["_fflush"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _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_DecoderBuffer_Init_2=Module["_emscripten_bind_DecoderBuffer_Init_2"]=asm["_emscripten_bind_DecoderBuffer_Init_2"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _emscripten_bind_DecoderBuffer___destroy___0=Module["_emscripten_bind_DecoderBuffer___destroy___0"]=asm["_emscripten_bind_DecoderBuffer___destroy___0"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];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_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_WebIDLWrapper_GetAttribute_2=Module["_emscripten_bind_WebIDLWrapper_GetAttribute_2"]=asm["_emscripten_bind_WebIDLWrapper_GetAttribute_2"];var _emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=Module["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"]=asm["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var _emscripten_bind_PointAttribute_components_count_0=Module["_emscripten_bind_PointAttribute_components_count_0"]=asm["_emscripten_bind_PointAttribute_components_count_0"];var _emscripten_bind_WebIDLWrapper___destroy___0=Module["_emscripten_bind_WebIDLWrapper___destroy___0"]=asm["_emscripten_bind_WebIDLWrapper___destroy___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_DracoInt32Array_DracoInt32Array_0=Module["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"]=asm["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3=Module["_emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3"]=asm["_emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _emscripten_bind_DracoFloat32Array_GetValue_1=Module["_emscripten_bind_DracoFloat32Array_GetValue_1"]=asm["_emscripten_bind_DracoFloat32Array_GetValue_1"];var _emscripten_bind_DracoFloat32Array___destroy___0=Module["_emscripten_bind_DracoFloat32Array___destroy___0"]=asm["_emscripten_bind_DracoFloat32Array___destroy___0"];var _emscripten_bind_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=asm["_emscripten_bind_PointCloud_num_points_0"];var _emscripten_bind_DracoInt32Array___destroy___0=Module["_emscripten_bind_DracoInt32Array___destroy___0"]=asm["_emscripten_bind_DracoInt32Array___destroy___0"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var _free=Module["_free"]=asm["_free"];var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=asm["_emscripten_bind_GeometryAttribute___destroy___0"];var _emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=Module["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"]=asm["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _malloc=Module["_malloc"]=asm["_malloc"];var _emscripten_bind_WebIDLWrapper_WebIDLWrapper_0=Module["_emscripten_bind_WebIDLWrapper_WebIDLWrapper_0"]=asm["_emscripten_bind_WebIDLWrapper_WebIDLWrapper_0"];var _memmove=Module["_memmove"]=asm["_memmove"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=Module["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"];var _emscripten_bind_DracoInt32Array_GetValue_1=Module["_emscripten_bind_DracoInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoInt32Array_GetValue_1"];var _emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3=Module["_emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3"]=asm["_emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(this.needed){for(var i=0;i=this.size){assert(len>0);this.needed+=len;ret=Module["_malloc"](len);this.temps.push(ret)}else{ret=this.buffer+this.pos;this.pos+=len}var retShifted=ret;switch(bytes){case 2:retShifted>>=1;break;case 4:retShifted>>=2;break;case 8:retShifted>>=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)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(this.needed){for(var i=0;i=this.size){assert(len>0);this.needed+=len;ret=Module["_malloc"](len);this.temps.push(ret)}else{ret=this.buffer+this.pos;this.pos+=len}var retShifted=ret;switch(bytes){case 2:retShifted>>=1;break;case 4:retShifted>>=2;break;case 8:retShifted>>=3;break}for(var i=0;i Date: Wed, 8 Mar 2017 23:17:22 +0000 Subject: [PATCH 5/6] removed references to fileDisplayArea --- examples/js/loaders/DRACOLoader.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/examples/js/loaders/DRACOLoader.js b/examples/js/loaders/DRACOLoader.js index be3d316a4a52d..2fcb4adb1479b 100644 --- a/examples/js/loaders/DRACOLoader.js +++ b/examples/js/loaders/DRACOLoader.js @@ -63,12 +63,12 @@ THREE.DRACOLoader.prototype = { */ const geometryType = wrapper.GetEncodedGeometryType(buffer); if (geometryType == dracoDecoder.TRIANGULAR_MESH) { - fileDisplayArea.innerText = "Loaded a mesh.\n"; + //fileDisplayArea.innerText = "Loaded a mesh.\n"; } else if (geometryType == dracoDecoder.POINT_CLOUD) { - fileDisplayArea.innerText = "Loaded a point cloud.\n"; + //fileDisplayArea.innerText = "Loaded a point cloud.\n"; } else { const errorMsg = "Error: Unknown geometry type."; - fileDisplayArea.innerText = errorMsg; + //fileDisplayArea.innerText = errorMsg; throw new Error(errorMsg); } return scope.convertDracoGeometryTo3JS(wrapper, geometryType, buffer, @@ -115,7 +115,7 @@ THREE.DRACOLoader.prototype = { dracoDecoder.POSITION); if (posAttId == -1) { const errorMsg = "No position attribute found in the mesh."; - fileDisplayArea.innerText = errorMsg; + //fileDisplayArea.innerText = errorMsg; dracoDecoder.destroy(wrapper); dracoDecoder.destroy(dracoGeometry); throw new Error(errorMsg); @@ -227,7 +227,7 @@ THREE.DRACOLoader.prototype = { dracoDecoder.destroy(wrapper); dracoDecoder.destroy(dracoGeometry); - fileDisplayArea.innerText += geometryInfoStr; + //fileDisplayArea.innerText += geometryInfoStr; // Import data to Three JS geometry. const geometry = new THREE.BufferGeometry(); @@ -248,9 +248,9 @@ THREE.DRACOLoader.prototype = { geometry.addAttribute('uv', new THREE.Float32BufferAttribute(geometryBuffer.uvs, 2)); } - fileDisplayArea.innerText += ' decode:' + (decode_end - start_time); - fileDisplayArea.innerText += - ' import:' + (performance.now() - decode_end); + //fileDisplayArea.innerText += ' decode:' + (decode_end - start_time); + //fileDisplayArea.innerText += + // ' import:' + (performance.now() - decode_end); return geometry; } }; \ No newline at end of file From 7f6bc372f114275f51d17851e60c78958c8f8b24 Mon Sep 17 00:00:00 2001 From: edsilv Date: Mon, 13 Mar 2017 10:08:21 +0000 Subject: [PATCH 6/6] updated DRACOLoader.js and draco_decoder.js --- examples/js/loaders/DRACOLoader.js | 65 ++++++++++++++++++---------- examples/js/loaders/draco_decoder.js | 28 ++++++------ 2 files changed, 56 insertions(+), 37 deletions(-) diff --git a/examples/js/loaders/DRACOLoader.js b/examples/js/loaders/DRACOLoader.js index 2fcb4adb1479b..d9205fd5bc92d 100644 --- a/examples/js/loaders/DRACOLoader.js +++ b/examples/js/loaders/DRACOLoader.js @@ -18,6 +18,7 @@ THREE.DRACOLoader = function(manager) { this.manager = (manager !== undefined) ? manager : THREE.DefaultLoadingManager; this.materials = null; + this.verbosity = 0; }; @@ -39,6 +40,10 @@ THREE.DRACOLoader.prototype = { this.path = value; }, + setVerbosity: function(level) { + this.verbosity = level; + }, + decodeDracoFile: ( function() { let dracoDecoder; @@ -63,12 +68,16 @@ THREE.DRACOLoader.prototype = { */ const geometryType = wrapper.GetEncodedGeometryType(buffer); if (geometryType == dracoDecoder.TRIANGULAR_MESH) { - //fileDisplayArea.innerText = "Loaded a mesh.\n"; + if (this.verbosity > 0) { + console.log('Loaded a mesh.'); + } } else if (geometryType == dracoDecoder.POINT_CLOUD) { - //fileDisplayArea.innerText = "Loaded a point cloud.\n"; + if (this.verbosity > 0) { + console.log('Loaded a point cloud.'); + } } else { - const errorMsg = "Error: Unknown geometry type."; - //fileDisplayArea.innerText = errorMsg; + const errorMsg = 'THREE.DRACOLoader: Unknown geometry type.' + console.error(errorMsg); throw new Error(errorMsg); } return scope.convertDracoGeometryTo3JS(wrapper, geometryType, buffer, @@ -96,8 +105,9 @@ THREE.DRACOLoader.prototype = { let geometryInfoStr; if (geometryType == dracoDecoder.TRIANGULAR_MESH) { numFaces = dracoGeometry.num_faces(); - geometryInfoStr += "Number of faces loaded: " + numFaces.toString() - + ".\n"; + if (this.verbosity > 0) { + console.log('Number of faces loaded: ' + numFaces.toString()); + } } else { numFaces = 0; } @@ -105,17 +115,18 @@ THREE.DRACOLoader.prototype = { numVertexCoordinates = numPoints * 3; numTextureCoordinates = numPoints * 2; numAttributes = dracoGeometry.num_attributes(); - geometryInfoStr = "Number of points loaded: " + numPoints.toString() - + ".\n"; - geometryInfoStr += "Number of attributes loaded: " + - numAttributes.toString() + ".\n"; + if (this.verbosity > 0) { + console.log('Number of points loaded: ' + numPoints.toString()); + console.log('Number of attributes loaded: ' + + numAttributes.toString()); + } // Get position attribute. Must exists. const posAttId = wrapper.GetAttributeId(dracoGeometry, dracoDecoder.POSITION); if (posAttId == -1) { - const errorMsg = "No position attribute found in the mesh."; - //fileDisplayArea.innerText = errorMsg; + const errorMsg = 'THREE.DRACOLoader: No position attribute found.'; + console.error(errorMsg); dracoDecoder.destroy(wrapper); dracoDecoder.destroy(dracoGeometry); throw new Error(errorMsg); @@ -129,7 +140,9 @@ THREE.DRACOLoader.prototype = { dracoDecoder.COLOR); let colAttributeData; if (colorAttId != -1) { - geometryInfoStr += "\nLoaded color attribute.\n"; + if (this.verbosity > 0) { + console.log('Loaded color attribute.'); + } const colAttribute = wrapper.GetAttribute(dracoGeometry, colorAttId); colAttributeData = new dracoDecoder.DracoFloat32Array(); wrapper.GetAttributeFloatForAllPoints(dracoGeometry, colAttribute, @@ -141,7 +154,9 @@ THREE.DRACOLoader.prototype = { wrapper.GetAttributeId(dracoGeometry, dracoDecoder.NORMAL); let norAttributeData; if (normalAttId != -1) { - geometryInfoStr += "\nLoaded normal attribute.\n"; + if (this.verbosity > 0) { + console.log('Loaded normal attribute.'); + } const norAttribute = wrapper.GetAttribute(dracoGeometry, normalAttId); norAttributeData = new dracoDecoder.DracoFloat32Array(); wrapper.GetAttributeFloatForAllPoints(dracoGeometry, norAttribute, @@ -153,7 +168,9 @@ THREE.DRACOLoader.prototype = { wrapper.GetAttributeId(dracoGeometry, dracoDecoder.TEX_COORD); let textCoordAttributeData; if (texCoordAttId != -1) { - geometryInfoStr += "\nLoaded texture coordinate attribute.\n"; + if (this.verbosity > 0) { + console.log('Loaded texture coordinate attribute.'); + } const texCoordAttribute = wrapper.GetAttribute(dracoGeometry, texCoordAttId); textCoordAttributeData = new dracoDecoder.DracoFloat32Array(); @@ -180,8 +197,10 @@ THREE.DRACOLoader.prototype = { // ThreeJS vertex colors need to be normalized to properly display if (colorAttId != -1) { geometryBuffer.colors[i] = colAttributeData.GetValue(i) / 255; - geometryBuffer.colors[i + 1] = colAttributeData.GetValue(i + 1) / 255; - geometryBuffer.colors[i + 2] = colAttributeData.GetValue(i + 2) / 255; + geometryBuffer.colors[i + 1] = + colAttributeData.GetValue(i + 1) / 255; + geometryBuffer.colors[i + 2] = + colAttributeData.GetValue(i + 2) / 255; } else { // Default is white. This is faster than TypedArray.fill(). geometryBuffer.colors[i] = 1.0; @@ -227,8 +246,6 @@ THREE.DRACOLoader.prototype = { dracoDecoder.destroy(wrapper); dracoDecoder.destroy(dracoGeometry); - //fileDisplayArea.innerText += geometryInfoStr; - // Import data to Three JS geometry. const geometry = new THREE.BufferGeometry(); if (geometryType == dracoDecoder.TRIANGULAR_MESH) { @@ -248,9 +265,13 @@ THREE.DRACOLoader.prototype = { geometry.addAttribute('uv', new THREE.Float32BufferAttribute(geometryBuffer.uvs, 2)); } - //fileDisplayArea.innerText += ' decode:' + (decode_end - start_time); - //fileDisplayArea.innerText += - // ' import:' + (performance.now() - decode_end); + this.decode_time = decode_end - start_time; + this.import_time = performance.now() - decode_end; + + if (this.verbosity > 0) { + console.log('Decode time: ' + this.decode_time); + console.log('Import time: ' + this.import_time); + } return geometry; } }; \ No newline at end of file diff --git a/examples/js/loaders/draco_decoder.js b/examples/js/loaders/draco_decoder.js index bb5ac64fb5af0..10b4c7b88464d 100644 --- a/examples/js/loaders/draco_decoder.js +++ b/examples/js/loaders/draco_decoder.js @@ -1,29 +1,27 @@ -var DracoModule = function(Module) { - Module = Module || {}; +var DracoModule = function(DracoModule) { + DracoModule = DracoModule || {}; + var Module = DracoModule; -var Module;if(!Module)Module=(typeof DracoModule!=="undefined"?DracoModule:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>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)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function 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=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var LIMIT=Math.pow(2,31);if(DYNAMICTOP>=LIMIT)return false;while(TOTAL_MEMORY<=DYNAMICTOP){if(TOTAL_MEMORY=LIMIT)return false;var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement)return false;updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+16032;__ATINIT__.push();allocate([220,20,0,0,33,22,0,0,4,21,0,0,106,22,0,0,8,0,0,0,0,0,0,0,220,20,0,0,120,22,0,0,220,20,0,0,148,22,0,0,4,21,0,0,176,22,0,0,40,0,0,0,0,0,0,0,220,20,0,0,198,22,0,0,4,21,0,0,235,22,0,0,64,0,0,0,0,0,0,0,4,21,0,0,23,23,0,0,104,0,0,0,0,0,0,0,4,21,0,0,92,23,0,0,120,0,0,0,0,0,0,0,220,20,0,0,137,23,0,0,4,21,0,0,173,23,0,0,144,0,0,0,0,0,0,0,4,21,0,0,65,24,0,0,88,0,0,0,0,0,0,0,4,21,0,0,200,24,0,0,144,0,0,0,0,0,0,0,4,21,0,0,97,25,0,0,144,0,0,0,0,0,0,0,4,21,0,0,241,25,0,0,208,0,0,0,0,0,0,0,4,21,0,0,120,26,0,0,88,0,0,0,0,0,0,0,4,21,0,0,242,26,0,0,208,0,0,0,0,0,0,0,4,21,0,0,126,27,0,0,208,0,0,0,0,0,0,0,4,21,0,0,1,28,0,0,88,0,0,0,0,0,0,0,4,21,0,0,80,28,0,0,72,0,0,0,0,0,0,0,4,21,0,0,129,28,0,0,72,0,0,0,0,0,0,0,4,21,0,0,172,28,0,0,64,1,0,0,0,0,0,0,4,21,0,0,75,29,0,0,80,1,0,0,0,0,0,0,4,21,0,0,221,29,0,0,104,0,0,0,0,0,0,0,4,21,0,0,178,32,0,0,64,1,0,0,0,0,0,0,4,21,0,0,86,33,0,0,64,1,0,0,0,0,0,0,4,21,0,0,99,34,0,0,144,1,0,0,0,0,0,0,4,21,0,0,245,34,0,0,80,1,0,0,0,0,0,0,4,21,0,0,122,35,0,0,144,1,0,0,0,0,0,0,4,21,0,0,17,36,0,0,144,1,0,0,0,0,0,0,4,21,0,0,159,36,0,0,80,1,0,0,0,0,0,0,4,21,0,0,249,36,0,0,32,0,0,0,0,0,0,0,4,21,0,0,41,37,0,0,40,0,0,0,0,0,0,0,4,21,0,0,79,37,0,0,0,2,0,0,0,0,0,0,220,20,0,0,105,37,0,0,4,21,0,0,131,37,0,0,40,0,0,0,0,0,0,0,4,21,0,0,165,37,0,0,32,0,0,0,0,0,0,0,4,21,0,0,44,40,0,0,48,0,0,0,0,0,0,0,4,21,0,0,76,40,0,0,48,0,0,0,0,0,0,0,4,21,0,0,109,40,0,0,88,2,0,0,0,0,0,0,220,20,0,0,185,40,0,0,4,21,0,0,231,40,0,0,0,2,0,0,0,0,0,0,220,20,0,0,164,41,0,0,4,21,0,0,133,42,0,0,0,2,0,0,0,0,0,0,220,20,0,0,79,43,0,0,4,21,0,0,151,43,0,0,88,2,0,0,0,0,0,0,220,20,0,0,51,55,0,0,4,21,0,0,17,55,0,0,200,2,0,0,0,0,0,0,4,21,0,0,190,54,0,0,168,2,0,0,0,0,0,0,4,21,0,0,227,54,0,0,216,2,0,0,0,0,0,0,220,20,0,0,4,55,0,0,4,21,0,0,249,55,0,0,160,2,0,0,0,0,0,0,4,21,0,0,57,56,0,0,200,2,0,0,0,0,0,0,4,21,0,0,21,56,0,0,240,2,0,0,0,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,86,85,85,85,2,0,0,0,0,0,0,0,2,0,0,0,154,153,153,153,3,0,0,0,86,85,85,85,3,0,0,0,37,73,146,36,3,0,0,0,0,0,0,0,3,0,0,0,200,113,28,199,4,0,0,0,154,153,153,153,4,0,0,0,70,23,93,116,4,0,0,0,86,85,85,85,4,0,0,0,60,177,19,59,4,0,0,0,37,73,146,36,4,0,0,0,18,17,17,17,4,0,0,0,0,0,0,0,4,0,0,0,226,225,225,225,5,0,0,0,200,113,28,199,5,0,0,0,203,107,40,175,5,0,0,0,154,153,153,153,5,0,0,0,135,97,24,134,5,0,0,0,70,23,93,116,5,0,0,0,145,133,44,100,5,0,0,0,86,85,85,85,5,0,0,0,123,20,174,71,5,0,0,0,60,177,19,59,5,0,0,0,219,75,104,47,5,0,0,0,37,73,146,36,5,0,0,0,18,150,123,26,5,0,0,0,18,17,17,17,5,0,0,0,133,16,66,8,5,0,0,0,0,0,0,0,5,0,0,0,8,31,124,240,6,0,0,0,226,225,225,225,6,0,0,0,213,65,29,212,6,0,0,0,200,113,28,199,6,0,0,0,77,145,207,186,6,0,0,0,203,107,40,175,6,0,0,0,165,65,26,164,6,0,0,0,154,153,153,153,6,0,0,0,250,24,156,143,6,0,0,0,135,97,24,134,6,0,0,0,24,244,5,125,6,0,0,0,70,23,93,116,6,0,0,0,109,193,22,108,6,0,0,0,145,133,44,100,6,0,0,0,186,130,152,92,6,0,0,0,86,85,85,85,6,0,0,0,115,10,94,78,6,0,0,0,123,20,174,71,6,0,0,0,66,65,65,65,6,0,0,0,60,177,19,59,6,0,0,0,179,207,33,53,6,0,0,0,219,75,104,47,6,0,0,0,159,18,228,41,6,0,0,0,37,73,146,36,6,0,0,0,221,71,112,31,6,0,0,0,18,150,123,26,6,0,0,0,248,229,177,21,6,0,0,0,18,17,17,17,6,0,0,0,252,20,151,12,6,0,0,0,133,16,66,8,6,0,0,0,5,65,16,4,6,0,0,0,0,0,0,0,6,0,0,0,249,129,31,248,7,0,0,0,8,31,124,240,7,0,0,0,192,26,19,233,7,0,0,0,226,225,225,225,7,0,0,0,108,7,230,218,7,0,0,0,213,65,29,212,7,0,0,0,145,104,133,205,7,0,0,0,200,113,28,199,7,0,0,0,57,112,224,192,7,0,0,0,77,145,207,186,7,0,0,0,79,27,232,180,7,0,0,0,203,107,40,175,7,0,0,0,7,246,142,169,7,0,0,0,165,65,26,164,7,0,0,0,82,233,200,158,7,0,0,0,154,153,153,153,7,0,0,0,206,15,139,148,7,0,0,0,250,24,156,143,7,0,0,0,247,144,203,138,7,0,0,0,135,97,24,134,7,0,0,0,130,129,129,129,7,0,0,0,24,244,5,125,7,0,0,0,24,200,164,120,7,0,0,0,70,23,93,116,7,0,0,0,193,5,46,112,7,0,0,0,109,193,22,108,7,0,0,0,105,129,22,104,7,0,0,0,145,133,44,100,7,0,0,0,6,22,88,96,7,0,0,0,186,130,152,92,7,0,0,0,9,35,237,88,7,0,0,0,86,85,85,85,7,0,0,0,175,126,208,81,7,0,0,0,115,10,94,78,7,0,0,0,6,106,253,74,7,0,0,0,123,20,174,71,7,0,0,0,87,134,111,68,7,0,0,0,66,65,65,65,7,0,0,0,207,203,34,62,7,0,0,0,60,177,19,59,7,0,0,0,57,129,19,56,7,0,0,0,179,207,33,53,7,0,0,0,163,52,62,50,7,0,0,0,219,75,104,47,7,0,0,0,217,180,159,44,7,0,0,0,159,18,228,41,7,0,0,0,137,11,53,39,7,0,0,0,37,73,146,36,7,0,0,0,19,120,251,33,7,0,0,0,221,71,112,31,7,0,0,0,219,106,240,28,7,0,0,0,18,150,123,26,7,0,0,0,25,129,17,24,7,0,0,0,248,229,177,21,7,0,0,0,20,129,92,19,7,0,0,0,18,17,17,17,7,0,0,0,191,86,207,14,7,0,0,0,252,20,151,12,7,0,0,0,167,16,104,10,7,0,0,0,133,16,66,8,7,0,0,0,48,221,36,6,7,0,0,0,5,65,16,4,7,0,0,0,17,8,4,2,7,0,0,0,0,0,0,0,7,0,0,0,32,240,7,252,8,0,0,0,249,129,31,248,8,0,0,0,229,89,70,244,8,0,0,0,8,31,124,240,8,0,0,0,49,123,192,236,8,0,0,0,192,26,19,233,8,0,0,0,145,172,115,229,8,0,0,0,226,225,225,225,8,0,0,0,64,110,93,222,8,0,0,0,108,7,230,218,8,0,0,0,76,101,123,215,8,0,0,0,213,65,29,212,8,0,0,0,247,88,203,208,8,0,0,0,145,104,133,205,8,0,0,0,86,48,75,202,8,0,0,0,200,113,28,199,8,0,0,0,29,240,248,195,8,0,0,0,57,112,224,192,8,0,0,0,154,184,210,189,8,0,0,0,77,145,207,186,8,0,0,0,222,195,214,183,8,0,0,0,79,27,232,180,8,0,0,0,7,100,3,178,8,0,0,0,203,107,40,175,8,0,0,0,173,1,87,172,8,0,0,0,7,246,142,169,8,0,0,0,110,26,208,166,8,0,0,0,165,65,26,164,8,0,0,0,152,63,109,161,8,0,0,0,82,233,200,158,8,0,0,0,239,20,45,156,8,0,0,0,154,153,153,153,8,0,0,0,129,79,14,151,8,0,0,0,206,15,139,148,8,0,0,0,158,180,15,146,8,0,0,0,250,24,156,143,8,0,0,0,212,24,48,141,8,0,0,0,247,144,203,138,8,0,0,0,11,95,110,136,8,0,0,0,135,97,24,134,8,0,0,0,172,119,201,131,8,0,0,0,130,129,129,129,8,0,0,0,209,95,64,127,8,0,0,0,24,244,5,125,8,0,0,0,143,32,210,122,8,0,0,0,24,200,164,120,8,0,0,0,68,206,125,118,8,0,0,0,70,23,93,116,8,0,0,0,245,135,66,114,8,0,0,0,193,5,46,112,8,0,0,0,181,118,31,110,8,0,0,0,109,193,22,108,8,0,0,0,22,205,19,106,8,0,0,0,105,129,22,104,8,0,0,0,166,198,30,102,8,0,0,0,145,133,44,100,8,0,0,0,113,167,63,98,8,0,0,0,6,22,88,96,8,0,0,0,142,187,117,94,8,0,0,0,186,130,152,92,8,0,0,0,177,86,192,90,8,0,0,0,9,35,237,88,8,0,0,0,198,211,30,87,8,0,0,0,86,85,85,85,8,0,0,0,144,148,144,83,8,0,0,0,175,126,208,81,8,0,0,0,81,1,21,80,8,0,0,0,115,10,94,78,8,0,0,0,115,136,171,76,8,0,0,0,6,106,253,74,8,0,0,0,60,158,83,73,8,0,0,0,123,20,174,71,8,0,0,0,128,188,12,70,8,0,0,0,87,134,111,68,8,0,0,0,94,98,214,66,8,0,0,0,66,65,65,65,8,0,0,0,252,19,176,63,8,0,0,0,207,203,34,62,8,0,0,0,72,90,153,60,8,0,0,0,60,177,19,59,8,0,0,0,194,194,145,57,8,0,0,0,57,129,19,56,8,0,0,0,62,223,152,54,8,0,0,0,179,207,33,53,8,0,0,0,182,69,174,51,8,0,0,0,163,52,62,50,8,0,0,0,20,144,209,48,8,0,0,0,219,75,104,47,8,0,0,0,5,92,2,46,8,0,0,0,217,180,159,44,8,0,0,0,209,74,64,43,8,0,0,0,159,18,228,41,8,0,0,0,41,1,139,40,8,0,0,0,137,11,53,39,8,0,0,0,9,39,226,37,8,0,0,0,37,73,146,36,8,0,0,0,138,103,69,35,8,0,0,0,19,120,251,33,8,0,0,0,199,112,180,32,8,0,0,0,221,71,112,31,8,0,0,0,180,243,46,30,8,0,0,0,219,106,240,28,8,0,0,0,5,164,180,27,8,0,0,0,18,150,123,26,8,0,0,0,9,56,69,25,8,0,0,0,25,129,17,24,8,0,0,0,149,104,224,22,8,0,0,0,248,229,177,21,8,0,0,0,225,240,133,20,8,0,0,0,20,129,92,19,8,0,0,0,118,142,53,18,8,0,0,0,18,17,17,17,8,0,0,0,16,1,239,15,8,0,0,0,191,86,207,14,8,0,0,0,137,10,178,13,8,0,0,0,252,20,151,12,8,0,0,0,195,110,126,11,8,0,0,0,167,16,104,10,8,0,0,0,145,243,83,9,8,0,0,0,133,16,66,8,8,0,0,0,165,96,50,7,8,0,0,0,48,221,36,6,8,0,0,0,126,127,25,5,8,0,0,0,5,65,16,4,8,0,0,0,82,27,9,3,8,0,0,0,17,8,4,2,8,0,0,0,2,1,1,1,8,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,8,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,0,0,0,192,0,0,0,0,16,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,0,0,0,192,0,0,0,0,32,0,0,0,6,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,40,0,0,0,8,0,0,0,9,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,48,0,0,0,8,0,0,0,10,0,0,0,8,0,0,0,3,0,0,0,1,0,0,0,9,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,10,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,64,0,0,0,11,0,0,0,12,0,0,0,2,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,0,0,0,0,72,0,0,0,13,0,0,0,14,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,11,0,0,0,6,0,0,0,0,0,0,0,88,0,0,0,15,0,0,0,16,0,0,0,1,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,128,0,0,0,15,0,0,0,17,0,0,0,16,0,0,0,12,0,0,0,17,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,160,0,0,0,15,0,0,0,18,0,0,0,18,0,0,0,12,0,0,0,19,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,176,0,0,0,19,0,0,0,20,0,0,0,20,0,0,0,12,0,0,0,21,0,0,0,22,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,192,0,0,0,15,0,0,0,21,0,0,0,23,0,0,0,12,0,0,0,24,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,224,0,0,0,15,0,0,0,22,0,0,0,25,0,0,0,12,0,0,0,26,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,240,0,0,0,23,0,0,0,24,0,0,0,27,0,0,0,12,0,0,0,28,0,0,0,29,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,14,0,0,0,15,0,0,0,11,0,0,0,12,0,0,0,0,0,0,0,0,1,0,0,15,0,0,0,25,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,16,1,0,0,26,0,0,0,27,0,0,0,9,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,8,0,0,0,11,0,0,0,19,0,0,0,32,0,0,0,20,0,0,0,0,0,0,0,32,1,0,0,13,0,0,0,28,0,0,0,11,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,12,0,0,0,13,0,0,0,33,0,0,0,21,0,0,0,0,0,0,0,48,1,0,0,29,0,0,0,30,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,15,0,0,0,16,0,0,0,0,0,0,0,96,1,0,0,29,0,0,0,31,0,0,0,40,0,0,0,35,0,0,0,41,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,112,1,0,0,32,0,0,0,33,0,0,0,42,0,0,0,35,0,0,0,43,0,0,0,44,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,38,0,0,0,39,0,0,0,19,0,0,0,20,0,0,0,0,0,0,0,128,1,0,0,29,0,0,0,34,0,0,0,45,0,0,0,35,0,0,0,46,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,160,1,0,0,29,0,0,0,35,0,0,0,47,0,0,0,35,0,0,0,48,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,176,1,0,0,36,0,0,0,37,0,0,0,49,0,0,0,35,0,0,0,50,0,0,0,51,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,38,0,0,0,39,0,0,0,25,0,0,0,26,0,0,0,0,0,0,0,192,1,0,0,29,0,0,0,38,0,0,0,52,0,0,0,35,0,0,0,53,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,27,0,0,0,28,0,0,0,0,0,0,0,208,1,0,0,39,0,0,0,40,0,0,0,1,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,0,0,0,0,224,1,0,0,8,0,0,0,41,0,0,0,2,0,0,0,3,0,0,0,37,0,0,0,54,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,240,1,0,0,42,0,0,0,43,0,0,0,38,0,0,0,55,0,0,0,0,0,0,0,8,2,0,0,8,0,0,0,44,0,0,0,2,0,0,0,3,0,0,0,39,0,0,0,56,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,24,2,0,0,6,0,0,0,45,0,0,0,1,0,0,0,1,0,0,0,40,0,0,0,0,0,0,0,40,2,0,0,8,0,0,0,46,0,0,0,8,0,0,0,3,0,0,0,41,0,0,0,9,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,10,0,0,0,2,0,0,0,3,0,0,0,57,0,0,0,0,0,0,0,56,2,0,0,47,0,0,0,48,0,0,0,8,0,0,0,58,0,0,0,42,0,0,0,9,0,0,0,5,0,0,0,6,0,0,0,59,0,0,0,60,0,0,0,43,0,0,0,44,0,0,0,61,0,0,0,0,0,0,0,72,2,0,0,49,0,0,0,50,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,0,0,0,0,96,2,0,0,51,0,0,0,52,0,0,0,49,0,0,0,66,0,0,0,0,0,0,0,112,2,0,0,53,0,0,0,54,0,0,0,55,0,0,0,0,0,0,192,0,0,0,0,120,2,0,0,56,0,0,0,57,0,0,0,50,0,0,0,67,0,0,0,0,0,0,0,136,2,0,0,58,0,0,0,59,0,0,0,60,0,0,0,0,0,0,0,144,2,0,0,61,0,0,0,62,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,108,18,0,0,5,0,0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,15,0,0,0,148,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,15,0,0,0,156,58,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,220,18,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,0,0,0,0,168,2,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,17,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,184,2,0,0,63,0,0,0,67,0,0,0,65,0,0,0,66,0,0,0,17,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,64,55,0,0,0,0,0,0,224,2,0,0,68,0,0,0,69,0,0,0,73,0,0,0,99,111,114,101,47,114,97,110,115,95,99,111,100,105,110,103,46,99,99,0,97,110,115,45,62,115,116,97,116,101,32,62,61,32,108,95,98,97,115,101,0,46,47,99,111,114,101,47,97,110,115,46,104,0,97,110,115,95,119,114,105,116,101,95,101,110,100,0,97,110,115,45,62,115,116,97,116,101,32,60,32,108,95,98,97,115,101,32,42,32,105,111,95,98,97,115,101,0,40,112,41,32,60,61,32,40,49,46,48,41,0,99,111,114,101,47,97,100,97,112,116,105,118,101,95,114,97,110,115,95,99,111,100,105,110,103,46,99,99,0,99,108,97,109,112,95,112,114,111,98,97,98,105,108,105,116,121,0,40,48,46,48,41,32,60,61,32,40,112,41,0,40,110,98,105,116,115,41,32,62,61,32,40,48,41,0,46,47,99,111,114,101,47,98,105,116,95,99,111,100,101,114,46,104,0,71,101,116,66,105,116,115,0,40,110,98,105,116,115,41,32,60,61,32,40,51,50,41,0,78,53,100,114,97,99,111,49,48,80,111,105,110,116,67,108,111,117,100,69,0,97,116,116,95,105,100,32,62,61,32,48,0,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,99,108,111,117,100,46,99,99,0,83,101,116,65,116,116,114,105,98,117,116,101,0,78,53,100,114,97,99,111,52,77,101,115,104,69,0,78,53,100,114,97,99,111,49,55,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,55,80,111,105,110,116,67,108,111,117,100,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,49,77,101,115,104,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,54,83,101,113,117,101,110,116,105,97,108,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,51,51,83,101,113,117,101,110,116,105,97,108,73,110,116,101,103,101,114,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,51,48,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,121,112,101,100,73,110,116,101,114,102,97,99,101,73,105,105,69,69,0,78,53,100,114,97,99,111,50,53,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,110,116,101,114,102,97,99,101,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,105,102,102,101,114,101,110,99,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,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,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,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,49,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,110,111,114,109,97,108,95,111,99,116,97,104,101,100,114,111,110,95,116,114,97,110,115,102,111,114,109,46,104,0,67,111,109,112,117,116,101,67,111,114,114,101,99,116,105,111,110,0,40,112,114,101,100,95,118,97,108,115,91,49,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,111,114,105,103,95,118,97,108,115,91,48,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,111,114,105,103,95,118,97,108,115,91,49,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,48,41,32,60,61,32,40,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,120,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,77,97,107,101,80,111,115,105,116,105,118,101,0,40,116,114,117,101,41,32,61,61,32,40,86,101,114,105,102,121,40,111,114,105,103,44,32,112,114,101,100,44,32,99,111,114,114,41,41,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,67,111,109,112,117,116,101,79,114,105,103,105,110,97,108,86,97,108,117,101,0,40,112,114,101,100,95,118,97,108,115,91,49,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,32,43,32,49,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,48,41,32,60,61,32,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,93,41,0,40,48,41,32,60,61,32,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,32,43,32,49,93,41,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,40,105,41,32,61,61,32,40,48,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,109,101,115,104,95,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,116,101,120,95,99,111,111,114,100,115,46,104,0,71,101,116,80,97,114,101,110,116,65,116,116,114,105,98,117,116,101,84,121,112,101,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,105,102,102,101,114,101,110,99,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,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,55,80,111,105,110,116,67,108,111,117,100,83,101,113,117,101,110,116,105,97,108,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,53,76,105,110,101,97,114,83,101,113,117,101,110,99,101,114,69,0,78,53,100,114,97,99,111,49,53,80,111,105,110,116,115,83,101,113,117,101,110,99,101,114,69,0,78,53,100,114,97,99,111,50,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,51,75,100,84,114,101,101,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,69,0,40,48,41,32,60,61,32,40,97,116,116,95,105,100,41,0,46,47,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,99,108,111,117,100,46,104,0,97,116,116,114,105,98,117,116,101,0,40,97,116,116,95,105,100,41,32,60,32,40,115,116,97,116,105,99,95,99,97,115,116,60,105,110,116,51,50,95,116,62,40,97,116,116,114,105,98,117,116,101,115,95,46,115,105,122,101,40,41,41,41,0,77,101,116,104,111,100,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,32,10,0,86,101,114,115,105,111,110,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,32,10,0,40,105,110,102,111,46,114,97,110,103,101,41,32,62,61,32,40,48,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,113,117,97,110,116,105,122,101,95,112,111,105,110,116,115,95,51,46,104,0,68,101,113,117,97,110,116,105,122,101,80,111,105,110,116,115,51,0,40,116,114,117,101,41,32,61,61,32,40,110,117,109,95,114,101,109,97,105,110,105,110,103,95,112,111,105,110,116,115,32,33,61,32,48,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,105,110,116,101,103,101,114,95,112,111,105,110,116,115,95,107,100,95,116,114,101,101,95,100,101,99,111,100,101,114,46,104,0,79,99,116,114,101,101,68,101,99,111,100,101,0,40,116,114,117,101,41,32,61,61,32,40,110,98,105,116,115,32,60,61,32,51,50,41,0,46,47,99,111,114,101,47,100,105,114,101,99,116,95,98,105,116,95,99,111,100,105,110,103,46,104,0,68,101,99,111,100,101,76,101,97,115,116,83,105,103,110,105,102,105,99,97,110,116,66,105,116,115,51,50,0,40,116,114,117,101,41,32,61,61,32,40,110,98,105,116,115,32,62,32,48,41,0,40,116,114,117,101,41,32,61,61,32,40,113,112,111,105,110,116,115,45,62,115,105,122,101,40,41,32,61,61,32,110,117,109,95,112,111,105,110,116,115,95,41,0,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,102,108,111,97,116,95,112,111,105,110,116,115,95,116,114,101,101,95,100,101,99,111,100,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([114,46,99,99,0,68,101,99,111,100,101,80,111,105,110,116,67,108,111,117,100,75,100,84,114,101,101,73,110,116,101,114,110,97,108,0,78,53,100,114,97,99,111,50,49,77,101,115,104,83,101,113,117,101,110,116,105,97,108,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,50,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,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,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,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,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,46,47,109,101,115,104,47,109,101,115,104,46,104,0,102,97,99,101,0,33,105,100,101,110,116,105,116,121,95,109,97,112,112,105,110,103,95,0,46,47,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,97,116,116,114,105,98,117,116,101,46,104,0,83,101,116,80,111,105,110,116,77,97,112,69,110,116,114,121,0,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,78,53,100,114,97,99,111,50,50,77,101,115,104,84,114,97,118,101,114,115,97,108,83,101,113,117,101,110,99,101,114,73,78,83,95,50,48,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,101,114,73,78,83,95,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,78,83,95,51,54,77,101,115,104,65,116,116,114,105,98,117,116,101,73,110,100,105,99,101,115,69,110,99,111,100,105,110,103,79,98,115,101,114,118,101,114,73,83,51,95,69,69,78,83,95,49,57,69,100,103,101,66,114,101,97,107,101,114,79,98,115,101,114,118,101,114,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,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,54,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,78,83,95,52,49,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,97,108,80,114,101,100,105,99,116,105,118,101,68,101,99,111,100,101,114,69,69,69,0,68,82,65,67,79,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,111,115,116,97,118,97,47,100,101,118,101,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,109,97,115,116,101,114,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,118,101,99,116,111,114,32,111,117,116,95,111,102,95,114,97,110,103,101,34,0,95,95,116,104,114,111,119,95,111,117,116,95,111,102,95,114,97,110,103,101,0,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,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,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,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,116,121,112,101,95,105,110,102,111,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,101,120,99,101,112,116,105,111,110,0,117,110,99,97,117,103,104,116,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,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,83,116,57,98,97,100,95,97,108,108,111,99,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);var tempDoublePtr=STATICTOP;STATICTOP+=16;Module["_i64Subtract"]=_i64Subtract;function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}Module["_memset"]=_memset;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Runtime.dynCall("v",func);_pthread_once.seen[ptr]=1}function ___lock(){}function ___unlock(){}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}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()}var PTHREAD_SPECIFIC_NEXT_KEY=1;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["_i64Add"]=_i64Add;Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___cxa_begin_catch(ptr){__ZSt18uncaught_exceptionv.uncaught_exception--;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}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;function ___gxx_personality_v0(){}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}var ALLOC_NORMAL=0;var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var LIMIT=Math.pow(2,31);if(HEAP32[DYNAMICTOP_PTR>>2]>=LIMIT)return false;while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY=LIMIT)return false;var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement)return false;updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;var WASM_PAGE_SIZE=64*1024;var totalMemory=WASM_PAGE_SIZE;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;Module["preloadedImages"]={};Module["preloadedAudios"]={};var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+11984;__ATINIT__.push();allocate([28,20,0,0,145,21,0,0,68,20,0,0,166,21,0,0,8,0,0,0,0,0,0,0,28,20,0,0,180,21,0,0,28,20,0,0,208,21,0,0,68,20,0,0,236,21,0,0,40,0,0,0,0,0,0,0,28,20,0,0,2,22,0,0,68,20,0,0,96,27,0,0,64,0,0,0,0,0,0,0,68,20,0,0,39,22,0,0,104,0,0,0,0,0,0,0,68,20,0,0,118,22,0,0,120,0,0,0,0,0,0,0,68,20,0,0,187,22,0,0,136,0,0,0,0,0,0,0,28,20,0,0,232,22,0,0,68,20,0,0,12,23,0,0,160,0,0,0,0,0,0,0,68,20,0,0,143,23,0,0,104,0,0,0,0,0,0,0,68,20,0,0,9,24,0,0,160,0,0,0,0,0,0,0,68,20,0,0,149,24,0,0,160,0,0,0,0,0,0,0,68,20,0,0,28,25,0,0,224,0,0,0,0,0,0,0,68,20,0,0,172,25,0,0,104,0,0,0,0,0,0,0,68,20,0,0,51,26,0,0,224,0,0,0,0,0,0,0,68,20,0,0,204,26,0,0,224,0,0,0,0,0,0,0,68,20,0,0,140,27,0,0,72,0,0,0,0,0,0,0,68,20,0,0,10,36,0,0,72,0,0,0,0,0,0,0,68,20,0,0,66,30,0,0,64,1,0,0,0,0,0,0,68,20,0,0,156,30,0,0,120,0,0,0,0,0,0,0,68,20,0,0,94,31,0,0,96,1,0,0,0,0,0,0,68,20,0,0,236,31,0,0,64,1,0,0,0,0,0,0,68,20,0,0,113,32,0,0,96,1,0,0,0,0,0,0,68,20,0,0,8,33,0,0,96,1,0,0,0,0,0,0,68,20,0,0,154,33,0,0,160,1,0,0,0,0,0,0,68,20,0,0,53,34,0,0,64,1,0,0,0,0,0,0,68,20,0,0,199,34,0,0,160,1,0,0,0,0,0,0,68,20,0,0,107,35,0,0,160,1,0,0,0,0,0,0,68,20,0,0,53,36,0,0,32,0,0,0,0,0,0,0,68,20,0,0,153,36,0,0,40,0,0,0,0,0,0,0,68,20,0,0,101,36,0,0,0,2,0,0,0,0,0,0,28,20,0,0,127,36,0,0,68,20,0,0,191,36,0,0,40,0,0,0,0,0,0,0,68,20,0,0,221,37,0,0,32,0,0,0,0,0,0,0,68,20,0,0,104,39,0,0,48,0,0,0,0,0,0,0,68,20,0,0,136,39,0,0,48,0,0,0,0,0,0,0,68,20,0,0,89,42,0,0,136,2,0,0,0,0,0,0,28,20,0,0,169,39,0,0,68,20,0,0,151,40,0,0,0,2,0,0,0,0,0,0,28,20,0,0,97,41,0,0,68,20,0,0,156,41,0,0,0,2,0,0,0,0,0,0,28,20,0,0,165,42,0,0,68,20,0,0,211,42,0,0,136,2,0,0,0,0,0,0,28,20,0,0,232,43,0,0,68,20,0,0,72,44,0,0,184,2,0,0,0,0,0,0,68,20,0,0,245,43,0,0,200,2,0,0,0,0,0,0,28,20,0,0,22,44,0,0,68,20,0,0,35,44,0,0,168,2,0,0,0,0,0,0,68,20,0,0,121,44,0,0,160,2,0,0,0,0,0,0,68,20,0,0,170,44,0,0,184,2,0,0,0,0,0,0,68,20,0,0,134,44,0,0,240,2,0,0,0,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,86,85,85,85,2,0,0,0,0,0,0,0,2,0,0,0,154,153,153,153,3,0,0,0,86,85,85,85,3,0,0,0,37,73,146,36,3,0,0,0,0,0,0,0,3,0,0,0,200,113,28,199,4,0,0,0,154,153,153,153,4,0,0,0,70,23,93,116,4,0,0,0,86,85,85,85,4,0,0,0,60,177,19,59,4,0,0,0,37,73,146,36,4,0,0,0,18,17,17,17,4,0,0,0,0,0,0,0,4,0,0,0,226,225,225,225,5,0,0,0,200,113,28,199,5,0,0,0,203,107,40,175,5,0,0,0,154,153,153,153,5,0,0,0,135,97,24,134,5,0,0,0,70,23,93,116,5,0,0,0,145,133,44,100,5,0,0,0,86,85,85,85,5,0,0,0,123,20,174,71,5,0,0,0,60,177,19,59,5,0,0,0,219,75,104,47,5,0,0,0,37,73,146,36,5,0,0,0,18,150,123,26,5,0,0,0,18,17,17,17,5,0,0,0,133,16,66,8,5,0,0,0,0,0,0,0,5,0,0,0,8,31,124,240,6,0,0,0,226,225,225,225,6,0,0,0,213,65,29,212,6,0,0,0,200,113,28,199,6,0,0,0,77,145,207,186,6,0,0,0,203,107,40,175,6,0,0,0,165,65,26,164,6,0,0,0,154,153,153,153,6,0,0,0,250,24,156,143,6,0,0,0,135,97,24,134,6,0,0,0,24,244,5,125,6,0,0,0,70,23,93,116,6,0,0,0,109,193,22,108,6,0,0,0,145,133,44,100,6,0,0,0,186,130,152,92,6,0,0,0,86,85,85,85,6,0,0,0,115,10,94,78,6,0,0,0,123,20,174,71,6,0,0,0,66,65,65,65,6,0,0,0,60,177,19,59,6,0,0,0,179,207,33,53,6,0,0,0,219,75,104,47,6,0,0,0,159,18,228,41,6,0,0,0,37,73,146,36,6,0,0,0,221,71,112,31,6,0,0,0,18,150,123,26,6,0,0,0,248,229,177,21,6,0,0,0,18,17,17,17,6,0,0,0,252,20,151,12,6,0,0,0,133,16,66,8,6,0,0,0,5,65,16,4,6,0,0,0,0,0,0,0,6,0,0,0,249,129,31,248,7,0,0,0,8,31,124,240,7,0,0,0,192,26,19,233,7,0,0,0,226,225,225,225,7,0,0,0,108,7,230,218,7,0,0,0,213,65,29,212,7,0,0,0,145,104,133,205,7,0,0,0,200,113,28,199,7,0,0,0,57,112,224,192,7,0,0,0,77,145,207,186,7,0,0,0,79,27,232,180,7,0,0,0,203,107,40,175,7,0,0,0,7,246,142,169,7,0,0,0,165,65,26,164,7,0,0,0,82,233,200,158,7,0,0,0,154,153,153,153,7,0,0,0,206,15,139,148,7,0,0,0,250,24,156,143,7,0,0,0,247,144,203,138,7,0,0,0,135,97,24,134,7,0,0,0,130,129,129,129,7,0,0,0,24,244,5,125,7,0,0,0,24,200,164,120,7,0,0,0,70,23,93,116,7,0,0,0,193,5,46,112,7,0,0,0,109,193,22,108,7,0,0,0,105,129,22,104,7,0,0,0,145,133,44,100,7,0,0,0,6,22,88,96,7,0,0,0,186,130,152,92,7,0,0,0,9,35,237,88,7,0,0,0,86,85,85,85,7,0,0,0,175,126,208,81,7,0,0,0,115,10,94,78,7,0,0,0,6,106,253,74,7,0,0,0,123,20,174,71,7,0,0,0,87,134,111,68,7,0,0,0,66,65,65,65,7,0,0,0,207,203,34,62,7,0,0,0,60,177,19,59,7,0,0,0,57,129,19,56,7,0,0,0,179,207,33,53,7,0,0,0,163,52,62,50,7,0,0,0,219,75,104,47,7,0,0,0,217,180,159,44,7,0,0,0,159,18,228,41,7,0,0,0,137,11,53,39,7,0,0,0,37,73,146,36,7,0,0,0,19,120,251,33,7,0,0,0,221,71,112,31,7,0,0,0,219,106,240,28,7,0,0,0,18,150,123,26,7,0,0,0,25,129,17,24,7,0,0,0,248,229,177,21,7,0,0,0,20,129,92,19,7,0,0,0,18,17,17,17,7,0,0,0,191,86,207,14,7,0,0,0,252,20,151,12,7,0,0,0,167,16,104,10,7,0,0,0,133,16,66,8,7,0,0,0,48,221,36,6,7,0,0,0,5,65,16,4,7,0,0,0,17,8,4,2,7,0,0,0,0,0,0,0,7,0,0,0,32,240,7,252,8,0,0,0,249,129,31,248,8,0,0,0,229,89,70,244,8,0,0,0,8,31,124,240,8,0,0,0,49,123,192,236,8,0,0,0,192,26,19,233,8,0,0,0,145,172,115,229,8,0,0,0,226,225,225,225,8,0,0,0,64,110,93,222,8,0,0,0,108,7,230,218,8,0,0,0,76,101,123,215,8,0,0,0,213,65,29,212,8,0,0,0,247,88,203,208,8,0,0,0,145,104,133,205,8,0,0,0,86,48,75,202,8,0,0,0,200,113,28,199,8,0,0,0,29,240,248,195,8,0,0,0,57,112,224,192,8,0,0,0,154,184,210,189,8,0,0,0,77,145,207,186,8,0,0,0,222,195,214,183,8,0,0,0,79,27,232,180,8,0,0,0,7,100,3,178,8,0,0,0,203,107,40,175,8,0,0,0,173,1,87,172,8,0,0,0,7,246,142,169,8,0,0,0,110,26,208,166,8,0,0,0,165,65,26,164,8,0,0,0,152,63,109,161,8,0,0,0,82,233,200,158,8,0,0,0,239,20,45,156,8,0,0,0,154,153,153,153,8,0,0,0,129,79,14,151,8,0,0,0,206,15,139,148,8,0,0,0,158,180,15,146,8,0,0,0,250,24,156,143,8,0,0,0,212,24,48,141,8,0,0,0,247,144,203,138,8,0,0,0,11,95,110,136,8,0,0,0,135,97,24,134,8,0,0,0,172,119,201,131,8,0,0,0,130,129,129,129,8,0,0,0,209,95,64,127,8,0,0,0,24,244,5,125,8,0,0,0,143,32,210,122,8,0,0,0,24,200,164,120,8,0,0,0,68,206,125,118,8,0,0,0,70,23,93,116,8,0,0,0,245,135,66,114,8,0,0,0,193,5,46,112,8,0,0,0,181,118,31,110,8,0,0,0,109,193,22,108,8,0,0,0,22,205,19,106,8,0,0,0,105,129,22,104,8,0,0,0,166,198,30,102,8,0,0,0,145,133,44,100,8,0,0,0,113,167,63,98,8,0,0,0,6,22,88,96,8,0,0,0,142,187,117,94,8,0,0,0,186,130,152,92,8,0,0,0,177,86,192,90,8,0,0,0,9,35,237,88,8,0,0,0,198,211,30,87,8,0,0,0,86,85,85,85,8,0,0,0,144,148,144,83,8,0,0,0,175,126,208,81,8,0,0,0,81,1,21,80,8,0,0,0,115,10,94,78,8,0,0,0,115,136,171,76,8,0,0,0,6,106,253,74,8,0,0,0,60,158,83,73,8,0,0,0,123,20,174,71,8,0,0,0,128,188,12,70,8,0,0,0,87,134,111,68,8,0,0,0,94,98,214,66,8,0,0,0,66,65,65,65,8,0,0,0,252,19,176,63,8,0,0,0,207,203,34,62,8,0,0,0,72,90,153,60,8,0,0,0,60,177,19,59,8,0,0,0,194,194,145,57,8,0,0,0,57,129,19,56,8,0,0,0,62,223,152,54,8,0,0,0,179,207,33,53,8,0,0,0,182,69,174,51,8,0,0,0,163,52,62,50,8,0,0,0,20,144,209,48,8,0,0,0,219,75,104,47,8,0,0,0,5,92,2,46,8,0,0,0,217,180,159,44,8,0,0,0,209,74,64,43,8,0,0,0,159,18,228,41,8,0,0,0,41,1,139,40,8,0,0,0,137,11,53,39,8,0,0,0,9,39,226,37,8,0,0,0,37,73,146,36,8,0,0,0,138,103,69,35,8,0,0,0,19,120,251,33,8,0,0,0,199,112,180,32,8,0,0,0,221,71,112,31,8,0,0,0,180,243,46,30,8,0,0,0,219,106,240,28,8,0,0,0,5,164,180,27,8,0,0,0,18,150,123,26,8,0,0,0,9,56,69,25,8,0,0,0,25,129,17,24,8,0,0,0,149,104,224,22,8,0,0,0,248,229,177,21,8,0,0,0,225,240,133,20,8,0,0,0,20,129,92,19,8,0,0,0,118,142,53,18,8,0,0,0,18,17,17,17,8,0,0,0,16,1,239,15,8,0,0,0,191,86,207,14,8,0,0,0,137,10,178,13,8,0,0,0,252,20,151,12,8,0,0,0,195,110,126,11,8,0,0,0,167,16,104,10,8,0,0,0,145,243,83,9,8,0,0,0,133,16,66,8,8,0,0,0,165,96,50,7,8,0,0,0,48,221,36,6,8,0,0,0,126,127,25,5,8,0,0,0,5,65,16,4,8,0,0,0,82,27,9,3,8,0,0,0,17,8,4,2,8,0,0,0,2,1,1,1,8,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,8,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,0,0,0,192,0,0,0,0,16,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,32,0,0,0,6,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,40,0,0,0,8,0,0,0,9,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,64,0,0,0,10,0,0,0,11,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,72,0,0,0,12,0,0,0,13,0,0,0,5,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,104,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,9,0,0,0,1,0,0,0,10,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,88,0,0,0,14,0,0,0,16,0,0,0,13,0,0,0,9,0,0,0,14,0,0,0,10,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,192,0,0,0,14,0,0,0,17,0,0,0,15,0,0,0,9,0,0,0,16,0,0,0,10,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,11,0,0,0,12,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,176,0,0,0,14,0,0,0,18,0,0,0,17,0,0,0,9,0,0,0,18,0,0,0,10,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,11,0,0,0,12,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,144,0,0,0,19,0,0,0,20,0,0,0,19,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,11,0,0,0,12,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,1,0,0,14,0,0,0,21,0,0,0,22,0,0,0,9,0,0,0,23,0,0,0,10,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,11,0,0,0,12,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,240,0,0,0,14,0,0,0,22,0,0,0,24,0,0,0,9,0,0,0,25,0,0,0,10,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,11,0,0,0,12,0,0,0,11,0,0,0,12,0,0,0,0,0,0,0,208,0,0,0,23,0,0,0,24,0,0,0,26,0,0,0,9,0,0,0,27,0,0,0,28,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,16,1,0,0,25,0,0,0,26,0,0,0,9,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,10,0,0,0,8,0,0,0,8,0,0,0,17,0,0,0,29,0,0,0,18,0,0,0,0,0,0,0,32,1,0,0,12,0,0,0,27,0,0,0,11,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,12,0,0,0,13,0,0,0,30,0,0,0,19,0,0,0,0,0,0,0,48,1,0,0,28,0,0,0,29,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,35,0,0,0,36,0,0,0,15,0,0,0,16,0,0,0,0,0,0,0,192,1,0,0,28,0,0,0,30,0,0,0,37,0,0,0,32,0,0,0,38,0,0,0,34,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,35,0,0,0,36,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,176,1,0,0,28,0,0,0,31,0,0,0,39,0,0,0,32,0,0,0,40,0,0,0,34,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,35,0,0,0,36,0,0,0,19,0,0,0,20,0,0,0,0,0,0,0,144,1,0,0,32,0,0,0,33,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,43,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,35,0,0,0,36,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,128,1,0,0,28,0,0,0,34,0,0,0,44,0,0,0,32,0,0,0,45,0,0,0,34,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,35,0,0,0,36,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,112,1,0,0,28,0,0,0,35,0,0,0,46,0,0,0,32,0,0,0,47,0,0,0,34,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,35,0,0,0,36,0,0,0,25,0,0,0,26,0,0,0,0,0,0,0,80,1,0,0,36,0,0,0,37,0,0,0,48,0,0,0,32,0,0,0,49,0,0,0,50,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,35,0,0,0,36,0,0,0,27,0,0,0,28,0,0,0,0,0,0,0,208,1,0,0,38,0,0,0,39,0,0,0,1,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,0,0,0,0,224,1,0,0,8,0,0,0,40,0,0,0,2,0,0,0,3,0,0,0,35,0,0,0,51,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,240,1,0,0,41,0,0,0,42,0,0,0,36,0,0,0,52,0,0,0,0,0,0,0,8,2,0,0,8,0,0,0,43,0,0,0,2,0,0,0,3,0,0,0,37,0,0,0,53,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,24,2,0,0,6,0,0,0,44,0,0,0,1,0,0,0,1,0,0,0,38,0,0,0,0,0,0,0,40,2,0,0,8,0,0,0,45,0,0,0,54,0,0,0,3,0,0,0,39,0,0,0,55,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,56,0,0,0,40,0,0,0,41,0,0,0,57,0,0,0,0,0,0,0,56,2,0,0,46,0,0,0,47,0,0,0,54,0,0,0,58,0,0,0,42,0,0,0,55,0,0,0,5,0,0,0,6,0,0,0,59,0,0,0,60,0,0,0,43,0,0,0,44,0,0,0,61,0,0,0,0,0,0,0,72,2,0,0,48,0,0,0,49,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,0,0,0,0,120,2,0,0,50,0,0,0,51,0,0,0,49,0,0,0,66,0,0,0,0,0,0,0,112,2,0,0,52,0,0,0,53,0,0,0,54,0,0,0,0,0,0,0,96,2,0,0,55,0,0,0,56,0,0,0,50,0,0,0,67,0,0,0,0,0,0,0,88,2,0,0,57,0,0,0,58,0,0,0,59,0,0,0,0,0,0,192,0,0,0,0,144,2,0,0,60,0,0,0,61,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,15,0,0,0,208,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,211,0,0,0,1,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,121,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,143,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,169,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,187,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,209,0,0,0,0,0,0,0,168,2,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,16,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,208,2,0,0,62,0,0,0,66,0,0,0,64,0,0,0,65,0,0,0,16,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,224,2,0,0,67,0,0,0,68,0,0,0,73,0,0,0,99,111,114,101,47,114,97,110,115,95,99,111,100,105,110,103,46,99,99,0,97,110,115,45,62,115,116,97,116,101,32,62,61,32,108,95,98,97,115,101,0,46,47,99,111,114,101,47,97,110,115,46,104,0,97,110,115,95,119,114,105,116,101,95,101,110,100,0,97,110,115,45,62,115,116,97,116,101,32,60,32,108,95,98,97,115,101,32,42,32,105,111,95,98,97,115,101,0,40,112,41,32,60,61,32,40,49,46,48,41,0,99,111,114,101,47,97,100,97,112,116,105,118,101,95,114,97,110,115,95,99,111,100,105,110,103,46,99,99,0,99,108,97,109,112,95,112,114,111,98,97,98,105,108,105,116,121,0,40,48,46,48,41,32,60,61,32,40,112,41,0,40,110,98,105,116,115,41,32,62,61,32,40,48,41,0,46,47,99,111,114,101,47,98,105,116,95,99,111,100,101,114,46,104,0,71,101,116,66,105,116,115,0,40,110,98,105,116,115,41,32,60,61,32,40,51,50,41,0,97,116,116,95,105,100,32,62,61,32,48,0,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,99,108,111,117,100,46,99,99,0,83,101,116,65,116,116,114,105,98,117,116,101,0,78,53,100,114,97,99,111,49,48,80,111,105,110,116,67,108,111,117,100,69,0,78,53,100,114,97,99,111,52,77,101,115,104,69,0,78,53,100,114,97,99,111,49,55,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,55,80,111,105,110,116,67,108,111,117,100,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,49,77,101,115,104,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,54,83,101,113,117,101,110,116,105,97,108,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,105,102,102,101,114,101,110,99,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,49,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,51,48,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,121,112,101,100,73,110,116,101,114,102,97,99,101,73,105,105,69,69,0,78,53,100,114,97,99,111,50,53,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,110,116,101,114,102,97,99,101,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,83,101,113,117,101,110,116,105,97,108,73,110,116,101,103,101,114,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,51,56,83,101,113,117,101,110,116,105,97,108,81,117,97,110,116,105,122,97,116,105,111,110,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,110,111,114,109,97,108,95,111,99,116,97,104,101,100,114,111,110,95,116,114,97,110,115,102,111,114,109,46,104,0,67,111,109,112,117,116,101,79,114,105,103,105,110,97,108,86,97,108,117,101,0,40,112,114,101,100,95,118,97,108,115,91,49,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,32,43,32,49,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,48,41,32,60,61,32,40,112,114,101,100,95,118,97,108,115,91,48,93,41,0,40,48,41,32,60,61,32,40,112,114,101,100,95,118,97,108,115,91,49,93,41,0,40,48,41,32,60,61,32,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,93,41,0,40,48,41,32,60,61,32,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,32,43,32,49,93,41,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,67,111,109,112,117,116,101,67,111,114,114,101,99,116,105,111,110,0,40,112,114,101,100,95,118,97,108,115,91,49,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,111,114,105,103,95,118,97,108,115,91,48,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,111,114,105,103,95,118,97,108,115,91,49,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,48,41,32,60,61,32,40,111,114,105,103,95,118,97,108,115,91,48,93,41,0,40,48,41,32,60,61,32,40,111,114,105,103,95,118,97,108,115,91,49,93,41,0,40,116,114,117,101,41,32,61,61,32,40,86,101,114,105,102,121,40,111,114,105,103,44,32,112,114,101,100,44,32,99,111,114,114,41,41,0,40,120,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,77,97,107,101,80,111,115,105,116,105,118,101,0,78,53,100,114,97,99,111,50,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,105,102,102,101,114,101,110,99,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,49,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,40,105,41,32,61,61,32,40,48,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,109,101,115,104,95,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,116,101,120,95,99,111,111,114,100,115,46,104,0,71,101,116,80,97,114,101,110,116,65,116,116,114,105,98,117,116,101,84,121,112,101,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,50,83,101,113,117,101,110,116,105,97,108,78,111,114,109,97,108,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,51,55,83,101,113,117,101,110,116,105,97,108,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,115,67,111,110,116,114,111,108,108,101,114,69,0,78,53,100,114,97,99,111,49,53,76,105,110,101,97,114,83,101,113,117,101,110,99,101,114,69,0,78,53,100,114,97,99,111,49,53,80,111,105,110,116,115,83,101,113,117,101,110,99,101,114,69,0,78,53,100,114,97,99,111,50,55,80,111,105,110,116,67,108,111,117,100,83,101,113,117,101,110,116,105,97,108,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,51,80,111,105,110,116,67,108,111,117,100,75,100,84,114,101,101,68,101,99,111,100,101,114,69,0,40,48,41,32,60,61,32,40,97,116,116,95,105,100,41,0,46,47,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,99,108,111,117,100,46,104,0,97,116,116,114,105,98,117,116,101,0,40,97,116,116,95,105,100,41,32,60,32,40,115,116,97,116,105,99,95,99,97,115,116,60,105,110,116,51,50,95,116,62,40,97,116,116,114,105,98,117,116,101,115,95,46,115,105,122,101,40,41,41,41,0,77,101,116,104,111,100,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,32,10,0,86,101,114,115,105,111,110,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,32,10,0,40,105,110,102,111,46,114,97,110,103,101,41,32,62,61,32,40,48,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,113,117,97,110,116,105,122,101,95,112,111,105,110,116,115,95,51,46,104,0,68,101,113,117,97,110,116,105,122,101,80,111,105,110,116,115,51,0,78,53,100,114,97,99,111,50,51,75,100,84,114,101,101,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,69,0,40,116,114,117,101,41,32,61,61,32,40,113,112,111,105,110,116,115,45,62,115,105,122,101,40,41,32,61,61,32,110,117,109,95,112,111,105,110,116,115,95,41,0,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,102,108,111,97,116,95,112,111,105,110,116,115,95,116,114,101,101,95,100,101,99,111,100,101,114,46,99,99,0,68,101,99,111,100,101,80,111,105,110,116,67,108,111,117,100,75,100,84,114,101,101,73,110,116,101,114,110,97,108,0,40,116,114,117,101,41,32,61,61,32,40,110,117,109,95,114,101,109,97,105,110,105,110,103,95,112,111,105,110,116,115,32,33,61,32,48,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,105,110,116,101,103,101,114,95,112,111,105,110,116,115,95,107,100,95,116,114,101,101,95,100,101,99,111,100,101,114,46,104,0,79,99,116,114,101,101,68,101,99,111,100,101,0,40,116,114,117,101,41,32,61,61,32,40,110,98,105,116,115,32,60,61,32,51,50,41,0,46,47,99,111,114,101,47,100,105,114,101,99,116,95,98,105,116,95,99,111,100,105,110,103,46,104,0,68,101,99,111,100,101,76,101,97,115,116,83,105,103,110,105,102,105,99,97,110,116,66,105,116,115,51,50,0,40,116,114,117,101,41,32,61,61,32,40,110,98,105,116,115,32,62,32,48,41,0,78,53,100,114,97,99,111,50,49,77,101,115,104,83,101,113,117,101,110,116,105,97,108,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,50,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,0,40,48,41,32,60,61,32,40,102,97,99,101,95,105,100,46,118,97,108,117,101,40,41],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([41,0,46,47,109,101,115,104,47,109,101,115,104,46,104,0,102,97,99,101,0,40,102,97,99,101,95,105,100,46,118,97,108,117,101,40,41,41,32,60,32,40,115,116,97,116,105,99,95,99,97,115,116,60,105,110,116,62,40,102,97,99,101,115,95,46,115,105,122,101,40,41,41,41,0,33,105,100,101,110,116,105,116,121,95,109,97,112,112,105,110,103,95,0,46,47,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,97,116,116,114,105,98,117,116,101,46,104,0,83,101,116,80,111,105,110,116,77,97,112,69,110,116,114,121,0,78,53,100,114,97,99,111,50,50,77,101,115,104,84,114,97,118,101,114,115,97,108,83,101,113,117,101,110,99,101,114,73,78,83,95,50,48,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,101,114,73,78,83,95,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,78,83,95,51,54,77,101,115,104,65,116,116,114,105,98,117,116,101,73,110,100,105,99,101,115,69,110,99,111,100,105,110,103,79,98,115,101,114,118,101,114,73,83,51,95,69,69,78,83,95,49,57,69,100,103,101,66,114,101,97,107,101,114,79,98,115,101,114,118,101,114,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,0,78,53,100,114,97,99,111,50,50,77,101,115,104,84,114,97,118,101,114,115,97,108,83,101,113,117,101,110,99,101,114,73,78,83,95,50,48,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,101,114,73,78,83,95,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,78,83,95,51,54,77,101,115,104,65,116,116,114,105,98,117,116,101,73,110,100,105,99,101,115,69,110,99,111,100,105,110,103,79,98,115,101,114,118,101,114,73,83,51,95,69,69,78,83,95,49,57,69,100,103,101,66,114,101,97,107,101,114,79,98,115,101,114,118,101,114,69,69,69,69,69,0,78,53,100,114,97,99,111,50,54,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,78,83,95,51,49,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,97,108,68,101,99,111,100,101,114,69,69,69,0,78,53,100,114,97,99,111,51,53,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,110,116,101,114,102,97,99,101,69,0,78,53,100,114,97,99,111,50,54,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,78,83,95,52,49,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,97,108,80,114,101,100,105,99,116,105,118,101,68,101,99,111,100,101,114,69,69,69,0,68,82,65,67,79,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,111,115,116,97,118,97,47,100,101,118,101,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,109,97,115,116,101,114,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,118,101,99,116,111,114,32,111,117,116,95,111,102,95,114,97,110,103,101,34,0,95,95,116,104,114,111,119,95,111,117,116,95,111,102,95,114,97,110,103,101,0,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,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,83,116,57,98,97,100,95,97,108,108,111,99,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}Module["_memset"]=_memset;Module["_bitshift64Lshr"]=_bitshift64Lshr;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}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["___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;function _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function ___cxa_allocate_exception(size){return _malloc(size)}function ___gxx_personality_v0(){}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=DYNAMIC_BASE;staticSealed=true;function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity,"byteLength":byteLength};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_viiiiii":invoke_viiiiii,"invoke_iii":invoke_iii,"invoke_viiii":invoke_viiii,"___cxa_throw":___cxa_throw,"_abort":_abort,"___setErrNo":___setErrNo,"___syscall6":___syscall6,"___syscall146":___syscall146,"_emscripten_memcpy_big":_emscripten_memcpy_big,"___gxx_personality_v0":___gxx_personality_v0,"___syscall140":___syscall140,"___resumeException":___resumeException,"___cxa_find_matching_catch":___cxa_find_matching_catch,"___assert_fail":___assert_fail,"___cxa_pure_virtual":___cxa_pure_virtual,"___cxa_allocate_exception":___cxa_allocate_exception,"__ZSt18uncaught_exceptionv":__ZSt18uncaught_exceptionv,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT};// EMSCRIPTEN_START_ASM var asm=(function(global,env,buffer) { -"almost asm";var a=global.Int8Array;var b=global.Int16Array;var c=global.Int32Array;var d=global.Uint8Array;var e=global.Uint16Array;var f=global.Uint32Array;var g=global.Float32Array;var h=global.Float64Array;var i=new a(buffer);var j=new b(buffer);var k=new c(buffer);var l=new d(buffer);var m=new e(buffer);var n=new f(buffer);var o=new g(buffer);var p=new h(buffer);var q=global.byteLength;var r=env.STACKTOP|0;var s=env.STACK_MAX|0;var t=env.tempDoublePtr|0;var u=env.ABORT|0;var v=env.cttz_i8|0;var w=0;var x=0;var y=0;var z=0;var A=global.NaN,B=global.Infinity;var C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0.0;var L=0;var M=0;var N=0;var O=0;var P=0;var Q=0;var R=0;var S=0;var T=0;var U=0;var V=global.Math.floor;var W=global.Math.abs;var X=global.Math.sqrt;var Y=global.Math.pow;var Z=global.Math.cos;var _=global.Math.sin;var $=global.Math.tan;var aa=global.Math.acos;var ba=global.Math.asin;var ca=global.Math.atan;var da=global.Math.atan2;var ea=global.Math.exp;var fa=global.Math.log;var ga=global.Math.ceil;var ha=global.Math.imul;var ia=global.Math.min;var ja=global.Math.clz32;var ka=env.abort;var la=env.assert;var ma=env.invoke_iiii;var na=env.invoke_viiiii;var oa=env.invoke_vi;var pa=env.invoke_iiiiiii;var qa=env.invoke_ii;var ra=env.invoke_viii;var sa=env.invoke_v;var ta=env.invoke_viiiiii;var ua=env.invoke_iii;var va=env.invoke_viiii;var wa=env._pthread_cleanup_pop;var xa=env._pthread_key_create;var ya=env._abort;var za=env.___gxx_personality_v0;var Aa=env.___assert_fail;var Ba=env.___cxa_allocate_exception;var Ca=env.__ZSt18uncaught_exceptionv;var Da=env.___setErrNo;var Ea=env._sbrk;var Fa=env.___cxa_begin_catch;var Ga=env._emscripten_memcpy_big;var Ha=env.___resumeException;var Ia=env.___cxa_find_matching_catch;var Ja=env._sysconf;var Ka=env._pthread_getspecific;var La=env._pthread_self;var Ma=env._pthread_once;var Na=env.___syscall54;var Oa=env.___unlock;var Pa=env._pthread_setspecific;var Qa=env.___cxa_throw;var Ra=env.___lock;var Sa=env.___syscall6;var Ta=env._pthread_cleanup_push;var Ua=env._time;var Va=env.___syscall140;var Wa=env.___cxa_pure_virtual;var Xa=env.___syscall146;var Ya=0.0;function Za(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=global.Int16Array;var c=global.Int32Array;var d=global.Uint8Array;var e=global.Uint16Array;var f=global.Uint32Array;var g=global.Float32Array;var h=global.Float64Array;var i=new a(buffer);var j=new b(buffer);var k=new c(buffer);var l=new d(buffer);var m=new e(buffer);var n=new f(buffer);var o=new g(buffer);var p=new h(buffer);var q=global.byteLength;var r=env.STACKTOP|0;var s=env.STACK_MAX|0;var t=env.DYNAMICTOP_PTR|0;var u=env.tempDoublePtr|0;var v=env.ABORT|0;var w=0;var x=0;var y=0;var z=0;var A=global.NaN,B=global.Infinity;var C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.max;var ba=global.Math.clz32;var ca=env.abort;var da=env.assert;var ea=env.enlargeMemory;var fa=env.getTotalMemory;var ga=env.abortOnCannotGrowMemory;var ha=env.invoke_iiii;var ia=env.invoke_viiiii;var ja=env.invoke_vi;var ka=env.invoke_iiiiiii;var la=env.invoke_ii;var ma=env.invoke_viii;var na=env.invoke_v;var oa=env.invoke_viiiiii;var pa=env.invoke_iii;var qa=env.invoke_viiii;var ra=env.___cxa_throw;var sa=env._abort;var ta=env.___setErrNo;var ua=env.___syscall6;var va=env.___syscall146;var wa=env._emscripten_memcpy_big;var xa=env.___gxx_personality_v0;var ya=env.___syscall140;var za=env.___resumeException;var Aa=env.___cxa_find_matching_catch;var Ba=env.___assert_fail;var Ca=env.___cxa_pure_virtual;var Da=env.___cxa_allocate_exception;var Ea=env.__ZSt18uncaught_exceptionv;var Fa=0;function Ga(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;i=new a(newBuffer);j=new b(newBuffer);k=new c(newBuffer);l=new d(newBuffer);m=new e(newBuffer);n=new f(newBuffer);o=new g(newBuffer);p=new h(newBuffer);buffer=newBuffer;return true} // EMSCRIPTEN_START_FUNCS -function bm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0,ma=0,na=0,oa=0;oa=r;r=r+160|0;na=oa;o=oa+120|0;ma=oa+72|0;la=oa+28|0;ka=oa+16|0;X=oa+88|0;Y=oa+40|0;k[o>>2]=b;k[o+4>>2]=k[c>>2];V=c+4|0;k[o+8>>2]=k[V>>2];W=c+8|0;k[o+12>>2]=k[W>>2];T=o+16|0;k[T>>2]=k[d>>2];k[T+4>>2]=k[d+4>>2];k[T+8>>2]=k[d+8>>2];k[o+28>>2]=e;k[ma>>2]=0;T=ma+4|0;k[T>>2]=0;k[ma+8>>2]=0;U=ma+8|0;cm(ma,o);b=k[T>>2]|0;o=k[ma>>2]|0;e=b-o|0;if((e|0)>32){g=((e>>5)+-2|0)/2|0;h=o+(g<<5)|0;e=b+-32|0;j=k[e>>2]|0;if((k[h>>2]|0)>>>0>>0){l=k[b+-28>>2]|0;m=k[b+-24>>2]|0;n=k[b+-20>>2]|0;b=b+-16|0;k[na>>2]=k[b>>2];k[na+4>>2]=k[b+4>>2];k[na+8>>2]=k[b+8>>2];k[na+12>>2]=k[b+12>>2];b=h;while(1){k[e>>2]=k[b>>2];k[e+4>>2]=k[b+4>>2];k[e+8>>2]=k[b+8>>2];k[e+12>>2]=k[b+12>>2];k[e+16>>2]=k[b+16>>2];k[e+20>>2]=k[b+20>>2];k[e+24>>2]=k[b+24>>2];k[e+28>>2]=k[b+28>>2];if(!g)break;g=(g+-1|0)/2|0;e=o+(g<<5)|0;if((k[e>>2]|0)>>>0>=j>>>0)break;else{S=b;b=e;e=S}}k[b>>2]=j;k[b+4>>2]=l;k[b+8>>2]=m;k[b+12>>2]=n;g=b+16|0;k[g>>2]=k[na>>2];k[g+4>>2]=k[na+4>>2];k[g+8>>2]=k[na+8>>2];k[g+12>>2]=k[na+12>>2];g=7}else g=7}else e=o;a:while(1){if((g|0)==7){e=k[ma>>2]|0;b=k[T>>2]|0}if((e|0)==(b|0)){g=62;break}S=k[e>>2]|0;b=k[e+4>>2]|0;p=k[e+8>>2]|0;n=k[e+12>>2]|0;R=e+16|0;k[la>>2]=k[R>>2];k[la+4>>2]=k[R+4>>2];k[la+8>>2]=k[R+8>>2];R=k[e+28>>2]|0;dm(ma);k[c>>2]=b;k[V>>2]=p;k[W>>2]=n;k[d>>2]=k[la>>2];k[d+4>>2]=k[la+4>>2];k[d+8>>2]=k[la+8>>2];k[na>>2]=k[la>>2];k[na+4>>2]=k[la+4>>2];k[na+8>>2]=k[la+8>>2];R=an(a,S,c,na,R)|0;n=d+(R<<2)|0;p=k[n>>2]|0;b=k[a>>2]|0;do if((b|0)==(p|0)){if((S|0)>0){l=k[f>>2]|0;e=f+4|0;g=l+84|0;h=l+68|0;j=l+40|0;l=l+64|0;b=k[e>>2]|0;m=b;o=0;while(1){if(!(i[g>>0]|0))n=k[(k[h>>2]|0)+(m<<2)>>2]|0;else n=m;Q=j;R=k[Q>>2]|0;Q=tq(n|0,((n|0)<0)<<31>>31|0,R|0,k[Q+4>>2]|0)|0;mq((k[k[l>>2]>>2]|0)+Q|0,c|0,R|0)|0;o=o+1|0;if((o|0)==(S|0))break;else m=m+1|0}k[e>>2]=S+b}}else{if(!S){g=16;break a}if(S>>>0>=3){k[ka>>2]=k[c>>2];q=ka+4|0;k[q>>2]=k[V>>2];s=ka+8|0;k[s>>2]=k[W>>2];Q=ka+(R<<2)|0;k[Q>>2]=(k[Q>>2]|0)+(1<>>1)-b|0;h=S-l|0;if((l|0)==(h|0)){m=l;o=l}else{b=a+856|0;S=k[b>>2]|0;e=a+852|0;g=k[e>>2]|0;j=(k[g>>2]&1<<31-S|0)!=0;S=S+1|0;k[b>>2]=S;if((S|0)==32){k[e>>2]=g+4;k[b>>2]=0}m=j?l:h;o=j?h:l}k[n>>2]=p+1;if(m|0){k[X>>2]=m;b=k[c>>2]|0;k[X+4>>2]=b;e=k[V>>2]|0;k[X+8>>2]=e;g=k[W>>2]|0;k[X+12>>2]=g;h=X+16|0;k[h>>2]=k[d>>2];k[h+4>>2]=k[d+4>>2];k[h+8>>2]=k[d+8>>2];k[X+28>>2]=R;j=k[T>>2]|0;if(j>>>0<(k[U>>2]|0)>>>0){k[j>>2]=m;k[j+4>>2]=b;k[j+8>>2]=e;k[j+12>>2]=g;g=j+16|0;k[g>>2]=k[h>>2];k[g+4>>2]=k[h+4>>2];k[g+8>>2]=k[h+8>>2];k[g+12>>2]=k[h+12>>2];g=(k[T>>2]|0)+32|0;k[T>>2]=g}else{em(ma,X);g=k[T>>2]|0}b=k[ma>>2]|0;e=g-b|0;if((e|0)>32?(Z=((e>>5)+-2|0)/2|0,_=b,$=_+(Z<<5)|0,aa=g,ba=aa+-32|0,ca=k[ba>>2]|0,(k[$>>2]|0)>>>0>>0):0){h=k[aa+-28>>2]|0;j=k[aa+-24>>2]|0;l=k[aa+-20>>2]|0;g=aa+-16|0;k[na>>2]=k[g>>2];k[na+4>>2]=k[g+4>>2];k[na+8>>2]=k[g+8>>2];k[na+12>>2]=k[g+12>>2];g=Z;e=ba;b=$;while(1){k[e>>2]=k[b>>2];k[e+4>>2]=k[b+4>>2];k[e+8>>2]=k[b+8>>2];k[e+12>>2]=k[b+12>>2];k[e+16>>2]=k[b+16>>2];k[e+20>>2]=k[b+20>>2];k[e+24>>2]=k[b+24>>2];k[e+28>>2]=k[b+28>>2];if(!g)break;g=(g+-1|0)/2|0;e=_+(g<<5)|0;if((k[e>>2]|0)>>>0>=ca>>>0)break;else{S=b;b=e;e=S}}k[b>>2]=ca;k[b+4>>2]=h;k[b+8>>2]=j;k[b+12>>2]=l;S=b+16|0;k[S>>2]=k[na>>2];k[S+4>>2]=k[na+4>>2];k[S+8>>2]=k[na+8>>2];k[S+12>>2]=k[na+12>>2]}}if(o|0){k[Y>>2]=o;j=k[ka>>2]|0;k[Y+4>>2]=j;h=k[q>>2]|0;k[Y+8>>2]=h;e=k[s>>2]|0;k[Y+12>>2]=e;g=Y+16|0;k[g>>2]=k[d>>2];k[g+4>>2]=k[d+4>>2];k[g+8>>2]=k[d+8>>2];k[Y+28>>2]=R;b=k[T>>2]|0;if(b>>>0<(k[U>>2]|0)>>>0){k[b>>2]=o;k[b+4>>2]=j;k[b+8>>2]=h;k[b+12>>2]=e;S=b+16|0;k[S>>2]=k[g>>2];k[S+4>>2]=k[g+4>>2];k[S+8>>2]=k[g+8>>2];k[S+12>>2]=k[g+12>>2];g=(k[T>>2]|0)+32|0;k[T>>2]=g}else{em(ma,Y);g=k[T>>2]|0}b=k[ma>>2]|0;e=g-b|0;if((e|0)>32?(da=((e>>5)+-2|0)/2|0,ea=b,fa=ea+(da<<5)|0,ga=g,ha=ga+-32|0,ia=k[ha>>2]|0,(k[fa>>2]|0)>>>0>>0):0){h=k[ga+-28>>2]|0;j=k[ga+-24>>2]|0;l=k[ga+-20>>2]|0;g=ga+-16|0;k[na>>2]=k[g>>2];k[na+4>>2]=k[g+4>>2];k[na+8>>2]=k[g+8>>2];k[na+12>>2]=k[g+12>>2];g=da;e=ha;b=fa;while(1){k[e>>2]=k[b>>2];k[e+4>>2]=k[b+4>>2];k[e+8>>2]=k[b+8>>2];k[e+12>>2]=k[b+12>>2];k[e+16>>2]=k[b+16>>2];k[e+20>>2]=k[b+20>>2];k[e+24>>2]=k[b+24>>2];k[e+28>>2]=k[b+28>>2];if(!g)break;g=(g+-1|0)/2|0;e=ea+(g<<5)|0;if((k[e>>2]|0)>>>0>=ia>>>0)break;else{S=b;b=e;e=S}}k[b>>2]=ia;k[b+4>>2]=h;k[b+8>>2]=j;k[b+12>>2]=l;S=b+16|0;k[S>>2]=k[na>>2];k[S+4>>2]=k[na+4>>2];k[S+8>>2]=k[na+8>>2];k[S+12>>2]=k[na+12>>2]}}break}x=(R|0)==2?0:R+1|0;t=(x|0)==2?0:x+1|0;Q=b-p|0;F=k[d+(x<<2)>>2]|0;H=b-F|0;q=k[d+(t<<2)>>2]|0;I=b-q|0;J=a+816|0;K=a+812|0;P=k[f>>2]|0;L=f+4|0;M=P+84|0;N=P+68|0;O=P+40|0;P=P+64|0;D=(b|0)==(p|0);B=na+(R<<2)|0;E=c+(R<<2)|0;F=(b|0)==(F|0);C=na+(x<<2)|0;G=c+(x<<2)|0;q=(b|0)==(q|0);p=na+(t<<2)|0;s=c+(t<<2)|0;t=na+(t<<2)|0;u=(I|0)<33;v=(I|0)>0;w=32-I|0;x=na+(x<<2)|0;y=(H|0)<33;z=(H|0)>0;A=32-H|0;j=na+(R<<2)|0;l=(Q|0)<33;m=(Q|0)>0;n=32-Q|0;o=0;do{k[na>>2]=0;k[na+4>>2]=0;k[na+8>>2]=0;do if(!D){if(!l){g=23;break a}if(!m){g=25;break a}g=k[J>>2]|0;b=32-g|0;h=k[K>>2]|0;e=k[h>>2]<(b|0)){R=Q-b|0;k[J>>2]=R;h=h+4|0;k[K>>2]=h;R=32-R|0;b=(k[h>>2]|0)>>>R|e>>>(R-b|0);k[j>>2]=b;e=j;break}b=e>>>n;k[j>>2]=b;R=g+Q|0;k[J>>2]=R;if((R|0)==32){k[K>>2]=h+4;k[J>>2]=0;e=j}else e=j}else{e=B;b=k[B>>2]|0}while(0);k[e>>2]=b|k[E>>2];do if(!F){if(!y){g=23;break a}if(!z){g=25;break a}g=k[J>>2]|0;b=32-g|0;h=k[K>>2]|0;e=k[h>>2]<(b|0)){R=H-b|0;k[J>>2]=R;h=h+4|0;k[K>>2]=h;R=32-R|0;b=(k[h>>2]|0)>>>R|e>>>(R-b|0);k[x>>2]=b;e=x;break}b=e>>>A;k[x>>2]=b;R=g+H|0;k[J>>2]=R;if((R|0)==32){k[K>>2]=h+4;k[J>>2]=0;e=x}else e=x}else{e=C;b=k[C>>2]|0}while(0);k[e>>2]=b|k[G>>2];do if(!q){if(!u){g=23;break a}if(!v){g=25;break a}g=k[J>>2]|0;b=32-g|0;h=k[K>>2]|0;e=k[h>>2]<(b|0)){R=I-b|0;k[J>>2]=R;h=h+4|0;k[K>>2]=h;R=32-R|0;b=(k[h>>2]|0)>>>R|e>>>(R-b|0);k[t>>2]=b;e=t;break}b=e>>>w;k[t>>2]=b;R=g+I|0;k[J>>2]=R;if((R|0)==32){k[K>>2]=h+4;k[J>>2]=0;e=t}else e=t}else{e=p;b=k[p>>2]|0}while(0);k[e>>2]=b|k[s>>2];b=k[L>>2]|0;k[L>>2]=b+1;if(!(i[M>>0]|0))b=k[(k[N>>2]|0)+(b<<2)>>2]|0;h=O;R=k[h>>2]|0;h=tq(b|0,((b|0)<0)<<31>>31|0,R|0,k[h+4>>2]|0)|0;mq((k[k[P>>2]>>2]|0)+h|0,na|0,R|0)|0;o=o+1|0}while(o>>>0>>0)}while(0);g=7}if((g|0)==16)Aa(9923,9961,231,10031);else if((g|0)==23)Aa(10044,10068,111,10095);else if((g|0)==25)Aa(10124,10068,112,10095);else if((g|0)==62){if(!b){r=oa;return}Jp(b);r=oa;return}}function cm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=a+4|0;d=k[a>>2]|0;e=((k[l>>2]|0)-d>>5)+1|0;if(e>>>0>134217727)zp(a);j=d;m=a+8|0;c=(k[m>>2]|0)-d|0;if(c>>5>>>0<67108863){c=c>>4;c=c>>>0>>0?e:c;e=k[l>>2]|0;f=e-d>>5;if(!c){h=0;i=0}else g=6}else{f=k[l>>2]|0;c=134217727;e=f;f=f-d>>5;g=6}if((g|0)==6){h=c;i=aq(c<<5)|0}g=i+(f<<5)|0;c=g;h=i+(h<<5)|0;k[g>>2]=k[b>>2];k[i+(f<<5)+4>>2]=k[b+4>>2];k[i+(f<<5)+8>>2]=k[b+8>>2];k[i+(f<<5)+12>>2]=k[b+12>>2];f=i+(f<<5)+16|0;b=b+16|0;k[f>>2]=k[b>>2];k[f+4>>2]=k[b+4>>2];k[f+8>>2]=k[b+8>>2];k[f+12>>2]=k[b+12>>2];f=g+32|0;if((e|0)!=(j|0)){d=g;do{i=e;e=e+-32|0;k[d+-32>>2]=k[e>>2];k[d+-28>>2]=k[i+-28>>2];k[d+-24>>2]=k[i+-24>>2];k[d+-20>>2]=k[i+-20>>2];b=d+-16|0;i=i+-16|0;k[b>>2]=k[i>>2];k[b+4>>2]=k[i+4>>2];k[b+8>>2]=k[i+8>>2];k[b+12>>2]=k[i+12>>2];d=c+-32|0;c=d}while((e|0)!=(j|0));d=k[a>>2]|0}k[a>>2]=c;k[l>>2]=f;k[m>>2]=h;if(!d)return;Jp(d);return}function dm(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+16|0;s=t;b=k[a>>2]|0;q=a+4|0;a=k[q>>2]|0;c=a-b|0;d=c>>5;if((c|0)<=32){s=k[q>>2]|0;s=s+-32|0;k[q>>2]=s;r=t;return}p=b;o=a;j=o+-32|0;a=k[p>>2]|0;e=p+4|0;l=k[e>>2]|0;f=p+8|0;m=k[f>>2]|0;g=p+12|0;n=k[g>>2]|0;i=p+16|0;k[s>>2]=k[i>>2];k[s+4>>2]=k[i+4>>2];k[s+8>>2]=k[i+8>>2];k[s+12>>2]=k[i+12>>2];h=b;k[h>>2]=k[j>>2];k[h+4>>2]=k[j+4>>2];k[h+8>>2]=k[j+8>>2];k[h+12>>2]=k[j+12>>2];k[h+16>>2]=k[j+16>>2];k[h+20>>2]=k[j+20>>2];k[h+24>>2]=k[j+24>>2];k[h+28>>2]=k[j+28>>2];k[j>>2]=a;k[o+-28>>2]=l;k[o+-24>>2]=m;k[o+-20>>2]=n;o=o+-16|0;k[o>>2]=k[s>>2];k[o+4>>2]=k[s+4>>2];k[o+8>>2]=k[s+8>>2];k[o+12>>2]=k[s+12>>2];o=d+-1|0;if((c|0)<96){s=k[q>>2]|0;s=s+-32|0;k[q>>2]=s;r=t;return}m=d+-3|0;n=(m|0)/2|0;if((m|0)<-1){s=k[q>>2]|0;s=s+-32|0;k[q>>2]=s;r=t;return}b=p+32|0;a=b;if((o|0)>2){m=p+64|0;l=(k[b>>2]|0)>>>0<(k[m>>2]|0)>>>0;b=l?2:1;a=l?m:a}else b=1;m=k[p>>2]|0;if((k[a>>2]|0)>>>0>>0){s=k[q>>2]|0;s=s+-32|0;k[q>>2]=s;r=t;return}l=k[e>>2]|0;j=k[f>>2]|0;f=k[g>>2]|0;k[s>>2]=k[i>>2];k[s+4>>2]=k[i+4>>2];k[s+8>>2]=k[i+8>>2];k[s+12>>2]=k[i+12>>2];while(1){i=h;h=a;k[i>>2]=k[h>>2];k[i+4>>2]=k[h+4>>2];k[i+8>>2]=k[h+8>>2];k[i+12>>2]=k[h+12>>2];k[i+16>>2]=k[h+16>>2];k[i+20>>2]=k[h+20>>2];k[i+24>>2]=k[h+24>>2];k[i+28>>2]=k[h+28>>2];if((n|0)<(b|0))break;b=b<<1|1;d=p+(b<<5)|0;c=d;e=b+1|0;if((e|0)<(o|0)){i=d+32|0;g=(k[d>>2]|0)>>>0<(k[i>>2]|0)>>>0;b=g?e:b;c=g?i:c}if((k[c>>2]|0)>>>0>>0)break;else a=c}p=a;k[p>>2]=m;k[p+4>>2]=l;k[p+8>>2]=j;k[p+12>>2]=f;p=p+16|0;k[p>>2]=k[s>>2];k[p+4>>2]=k[s+4>>2];k[p+8>>2]=k[s+8>>2];k[p+12>>2]=k[s+12>>2];s=k[q>>2]|0;s=s+-32|0;k[q>>2]=s;r=t;return}function em(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=a+4|0;d=k[a>>2]|0;e=((k[l>>2]|0)-d>>5)+1|0;if(e>>>0>134217727)zp(a);j=d;m=a+8|0;c=(k[m>>2]|0)-d|0;if(c>>5>>>0<67108863){c=c>>4;c=c>>>0>>0?e:c;e=k[l>>2]|0;f=e-d>>5;if(!c){h=0;i=0}else g=6}else{f=k[l>>2]|0;c=134217727;e=f;f=f-d>>5;g=6}if((g|0)==6){h=c;i=aq(c<<5)|0}g=i+(f<<5)|0;c=g;h=i+(h<<5)|0;k[g>>2]=k[b>>2];k[i+(f<<5)+4>>2]=k[b+4>>2];k[i+(f<<5)+8>>2]=k[b+8>>2];k[i+(f<<5)+12>>2]=k[b+12>>2];f=i+(f<<5)+16|0;b=b+16|0;k[f>>2]=k[b>>2];k[f+4>>2]=k[b+4>>2];k[f+8>>2]=k[b+8>>2];k[f+12>>2]=k[b+12>>2];f=g+32|0;if((e|0)!=(j|0)){d=g;do{i=e;e=e+-32|0;k[d+-32>>2]=k[e>>2];k[d+-28>>2]=k[i+-28>>2];k[d+-24>>2]=k[i+-24>>2];k[d+-20>>2]=k[i+-20>>2];b=d+-16|0;i=i+-16|0;k[b>>2]=k[i>>2];k[b+4>>2]=k[i+4>>2];k[b+8>>2]=k[i+8>>2];k[b+12>>2]=k[i+12>>2];d=c+-32|0;c=d}while((e|0)!=(j|0));d=k[a>>2]|0}k[a>>2]=c;k[l>>2]=f;k[m>>2]=h;if(!d)return;Jp(d);return}function fm(a){a=a|0;Yg(a);k[a>>2]=4384;return}function gm(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;return}function hm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+912|0;B=D+908|0;C=D;n=D+904|0;o=D+900|0;q=D+896|0;s=D+892|0;t=D+888|0;u=D+884|0;v=D+880|0;w=D+876|0;x=D+872|0;y=D+868|0;p=D+864|0;e=b+8|0;j=e;z=k[j>>2]|0;j=k[j+4>>2]|0;f=b+16|0;A=f;d=k[A>>2]|0;A=kq(d|0,k[A+4>>2]|0,4,0)|0;m=L;if((j|0)<(m|0)|(j|0)==(m|0)&z>>>0>>0){c=0;r=D;return c|0}A=(k[b>>2]|0)+d|0;A=l[A>>0]|l[A+1>>0]<<8|l[A+2>>0]<<16|l[A+3>>0]<<24;i[a>>0]=A;i[a+1>>0]=A>>8;i[a+2>>0]=A>>16;i[a+3>>0]=A>>24;A=f;m=k[A>>2]|0;A=k[A+4>>2]|0;d=kq(m|0,A|0,4,0)|0;j=f;k[j>>2]=d;k[j+4>>2]=L;j=e;z=k[j>>2]|0;j=k[j+4>>2]|0;A=kq(m|0,A|0,8,0)|0;m=L;if((j|0)<(m|0)|(j|0)==(m|0)&z>>>0>>0){c=0;r=D;return c|0}z=a+4|0;j=(k[b>>2]|0)+d|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;i[z>>0]=j;i[z+1>>0]=j>>8;i[z+2>>0]=j>>16;i[z+3>>0]=j>>24;z=f;j=k[z>>2]|0;z=k[z+4>>2]|0;d=kq(j|0,z|0,4,0)|0;A=f;k[A>>2]=d;k[A+4>>2]=L;A=a+8|0;h=e;m=k[h>>2]|0;h=k[h+4>>2]|0;z=kq(j|0,z|0,8,0)|0;j=L;if((h|0)<(j|0)|(h|0)==(j|0)&m>>>0>>0){c=0;r=D;return c|0}z=(k[b>>2]|0)+d|0;z=l[z>>0]|l[z+1>>0]<<8|l[z+2>>0]<<16|l[z+3>>0]<<24;i[A>>0]=z;i[A+1>>0]=z>>8;i[A+2>>0]=z>>16;i[A+3>>0]=z>>24;m=f;h=k[m>>2]|0;m=k[m+4>>2]|0;d=kq(h|0,m|0,4,0)|0;g=f;k[g>>2]=d;k[g+4>>2]=L;g=e;j=k[g>>2]|0;g=k[g+4>>2]|0;m=kq(h|0,m|0,8,0)|0;h=L;if((g|0)<(h|0)|(g|0)==(h|0)&j>>>0>>0){c=0;r=D;return c|0}j=a+12|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[j>>0]=d;i[j+1>>0]=d>>8;i[j+2>>0]=d>>16;i[j+3>>0]=d>>24;j=f;j=kq(k[j>>2]|0,k[j+4>>2]|0,4,0)|0;m=f;k[m>>2]=j;k[m+4>>2]=L;a:do if(!z)d=c;else do switch(d|0){case 0:{g=c+8|0;h=k[c>>2]|0;a=h;if((((k[g>>2]|0)-h|0)/12|0)>>>0>>0){j=c+4|0;d=k[j>>2]|0;e=d;f=aq(z*12|0)|0;d=f+(((d-h|0)/12|0)*12|0)|0;m=d;f=f+(z*12|0)|0;if((e|0)==(a|0))d=m;else do{z=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[z+-8>>2];k[d+-4>>2]=k[z+-4>>2];d=d+-12|0}while((e|0)!=(a|0));k[c>>2]=d;k[j>>2]=m;k[g>>2]=f;if(h|0)Jp(h)}Fm(C);k[n>>2]=c;k[B>>2]=k[n>>2];im(C,b,B)|0;hd(C+68|0);hd(C+48|0);hd(C+28|0);hd(C+8|0);d=c;break a}case 1:{g=c+8|0;h=k[c>>2]|0;a=h;if((((k[g>>2]|0)-h|0)/12|0)>>>0>>0){j=c+4|0;d=k[j>>2]|0;e=d;f=aq(z*12|0)|0;d=f+(((d-h|0)/12|0)*12|0)|0;m=d;f=f+(z*12|0)|0;if((e|0)==(a|0))d=m;else do{z=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[z+-8>>2];k[d+-4>>2]=k[z+-4>>2];d=d+-12|0}while((e|0)!=(a|0));k[c>>2]=d;k[j>>2]=m;k[g>>2]=f;if(h|0)Jp(h)}Hm(C);k[o>>2]=c;k[B>>2]=k[o>>2];lm(C,b,B)|0;hd(C+68|0);hd(C+48|0);hd(C+28|0);hd(C+8|0);d=c;break a}case 2:{g=c+8|0;h=k[c>>2]|0;a=h;if((((k[g>>2]|0)-h|0)/12|0)>>>0>>0){j=c+4|0;d=k[j>>2]|0;e=d;f=aq(z*12|0)|0;d=f+(((d-h|0)/12|0)*12|0)|0;m=d;f=f+(z*12|0)|0;if((e|0)==(a|0))d=m;else do{z=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[z+-8>>2];k[d+-4>>2]=k[z+-4>>2];d=d+-12|0}while((e|0)!=(a|0));k[c>>2]=d;k[j>>2]=m;k[g>>2]=f;if(h|0)Jp(h)}Jm(C);k[q>>2]=c;k[B>>2]=k[q>>2];nm(C,b,B)|0;hd(C+64|0);hd(C+44|0);hd(C+24|0);sd(C+8|0);d=c;break a}case 3:{g=c+8|0;h=k[c>>2]|0;a=h;if((((k[g>>2]|0)-h|0)/12|0)>>>0>>0){j=c+4|0;d=k[j>>2]|0;e=d;f=aq(z*12|0)|0;d=f+(((d-h|0)/12|0)*12|0)|0;m=d;f=f+(z*12|0)|0;if((e|0)==(a|0))d=m;else do{z=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[z+-8>>2];k[d+-4>>2]=k[z+-4>>2];d=d+-12|0}while((e|0)!=(a|0));k[c>>2]=d;k[j>>2]=m;k[g>>2]=f;if(h|0)Jp(h)}Lm(C);k[s>>2]=c;k[B>>2]=k[s>>2];pm(C,b,B)|0;hd(C+64|0);hd(C+44|0);hd(C+24|0);sd(C+8|0);d=c;break a}case 4:{g=c+8|0;h=k[c>>2]|0;a=h;if((((k[g>>2]|0)-h|0)/12|0)>>>0>>0){j=c+4|0;d=k[j>>2]|0;e=d;f=aq(z*12|0)|0;d=f+(((d-h|0)/12|0)*12|0)|0;m=d;f=f+(z*12|0)|0;if((e|0)==(a|0))d=m;else do{z=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[z+-8>>2];k[d+-4>>2]=k[z+-4>>2];d=d+-12|0}while((e|0)!=(a|0));k[c>>2]=d;k[j>>2]=m;k[g>>2]=f;if(h|0)Jp(h)}Nm(C);k[t>>2]=c;k[B>>2]=k[t>>2];rm(C,b,B)|0;hd(C+576|0);hd(C+556|0);hd(C+536|0);sd(C+520|0);wl(C+8|0);d=c;break a}case 5:{g=c+8|0;h=k[c>>2]|0;a=h;if((((k[g>>2]|0)-h|0)/12|0)>>>0>>0){j=c+4|0;d=k[j>>2]|0;e=d;f=aq(z*12|0)|0;d=f+(((d-h|0)/12|0)*12|0)|0;m=d;f=f+(z*12|0)|0;if((e|0)==(a|0))d=m;else do{z=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[z+-8>>2];k[d+-4>>2]=k[z+-4>>2];d=d+-12|0}while((e|0)!=(a|0));k[c>>2]=d;k[j>>2]=m;k[g>>2]=f;if(h|0)Jp(h)}Qm(C);k[u>>2]=c;k[B>>2]=k[u>>2];tm(C,b,B)|0;hd(C+576|0);hd(C+556|0);hd(C+536|0);sd(C+520|0);wl(C+8|0);d=c;break a}case 6:{g=c+8|0;h=k[c>>2]|0;a=h;if((((k[g>>2]|0)-h|0)/12|0)>>>0>>0){j=c+4|0;d=k[j>>2]|0;e=d;f=aq(z*12|0)|0;d=f+(((d-h|0)/12|0)*12|0)|0;m=d;f=f+(z*12|0)|0;if((e|0)==(a|0))d=m;else do{z=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[z+-8>>2];k[d+-4>>2]=k[z+-4>>2];d=d+-12|0}while((e|0)!=(a|0));k[c>>2]=d;k[j>>2]=m;k[g>>2]=f;if(h|0)Jp(h)}Sm(C);k[v>>2]=c;k[B>>2]=k[v>>2];vm(C,b,B)|0;hd(C+576|0);hd(C+556|0);hd(C+536|0);sd(C+520|0);wl(C+8|0);d=c;break a}case 7:{g=c+8|0;h=k[c>>2]|0;a=h;if((((k[g>>2]|0)-h|0)/12|0)>>>0>>0){j=c+4|0;d=k[j>>2]|0;e=d;f=aq(z*12|0)|0;d=f+(((d-h|0)/12|0)*12|0)|0;m=d;f=f+(z*12|0)|0;if((e|0)==(a|0))d=m;else do{z=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[z+-8>>2];k[d+-4>>2]=k[z+-4>>2];d=d+-12|0}while((e|0)!=(a|0));k[c>>2]=d;k[j>>2]=m;k[g>>2]=f;if(h|0)Jp(h)}Um(C);k[w>>2]=c;k[B>>2]=k[w>>2];xm(C,b,B)|0;hd(C+576|0);hd(C+556|0);hd(C+536|0);sd(C+520|0);wl(C+8|0);d=c;break a}case 8:{g=c+8|0;h=k[c>>2]|0;a=h;if((((k[g>>2]|0)-h|0)/12|0)>>>0>>0){j=c+4|0;d=k[j>>2]|0;e=d;f=aq(z*12|0)|0;d=f+(((d-h|0)/12|0)*12|0)|0;m=d;f=f+(z*12|0)|0;if((e|0)==(a|0))d=m;else do{z=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[z+-8>>2];k[d+-4>>2]=k[z+-4>>2];d=d+-12|0}while((e|0)!=(a|0));k[c>>2]=d;k[j>>2]=m;k[g>>2]=f;if(h|0)Jp(h)}Wm(C);k[x>>2]=c;k[B>>2]=k[x>>2];zm(C,b,B)|0;hd(C+840|0);hd(C+820|0);hd(C+800|0);xd(C+776|0);Vl(C+8|0);d=c;break a}case 9:{g=c+8|0;h=k[c>>2]|0;a=h;if((((k[g>>2]|0)-h|0)/12|0)>>>0>>0){j=c+4|0;d=k[j>>2]|0;e=d;f=aq(z*12|0)|0;d=f+(((d-h|0)/12|0)*12|0)|0;m=d;f=f+(z*12|0)|0;if((e|0)==(a|0))d=m;else do{z=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[z+-8>>2];k[d+-4>>2]=k[z+-4>>2];d=d+-12|0}while((e|0)!=(a|0));k[c>>2]=d;k[j>>2]=m;k[g>>2]=f;if(h|0)Jp(h)}Zm(C);k[y>>2]=c;k[B>>2]=k[y>>2];Bm(C,b,B)|0;hd(C+840|0);hd(C+820|0);hd(C+800|0);xd(C+776|0);Vl(C+8|0);d=c;break a}default:{g=c+8|0;h=k[c>>2]|0;a=h;if((((k[g>>2]|0)-h|0)/12|0)>>>0>>0){j=c+4|0;d=k[j>>2]|0;e=d;f=aq(z*12|0)|0;d=f+(((d-h|0)/12|0)*12|0)|0;m=d;f=f+(z*12|0)|0;if((e|0)==(a|0))d=m;else do{z=e;e=e+-12|0;k[d+-12>>2]=k[e>>2];k[d+-8>>2]=k[z+-8>>2];k[d+-4>>2]=k[z+-4>>2];d=d+-12|0}while((e|0)!=(a|0));k[c>>2]=d;k[j>>2]=m;k[g>>2]=f;if(h|0)Jp(h)}$m(C);k[p>>2]=c;k[B>>2]=k[p>>2];Dm(C,b,B)|0;hd(C+840|0);hd(C+820|0);hd(C+800|0);xd(C+776|0);Vl(C+8|0);d=c;break a}}while(0);while(0);if((((k[c+4>>2]|0)-(k[d>>2]|0)|0)/12|0|0)==(k[A>>2]|0)){c=1;r=D;return c|0}else Aa(10146,10189,117,10253);return 0}function im(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=kq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=kq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=kq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){u=1;r=s;return u|0}if(!(id(a+8|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+28|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+48|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+68|0,b)|0)){u=0;r=s;return u|0}u=k[g>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];jm(a,u,o,m,0,n);u=1;r=s;return u|0}function jm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=r;r=r+96|0;fa=ha+80|0;m=ha+32|0;ga=ha+56|0;ea=ha+44|0;Z=ha+16|0;Y=ha;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];i=k[c>>2]|0;_=c+4|0;j=k[_>>2]|0;$=c+8|0;l=k[$>>2]|0;k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;k[ga+12>>2]=0;k[ga+16>>2]=0;k[ga+20>>2]=0;aa=ga+8|0;ba=ga+4|0;ca=ga+16|0;da=ga+20|0;Wk(ga);g=k[ba>>2]|0;h=(k[da>>2]|0)+(k[ca>>2]|0)|0;if((k[aa>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;X=g+16|0;k[X>>2]=k[m>>2];k[X+4>>2]=k[m+4>>2];k[X+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[da>>2]|0)+1|0;k[da>>2]=g;if(!g){Zk(ga);r=ha;return}O=a+44|0;P=a+40|0;Q=fa+4|0;R=fa+8|0;S=fa+4|0;T=fa+8|0;U=a+24|0;V=a+20|0;W=a+84|0;X=a+80|0;a:while(1){L=k[ca>>2]|0;m=g+-1|0;l=m+L|0;M=k[ba>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ea>>2]=k[J>>2];k[ea+4>>2]=k[J+4>>2];k[ea+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[da>>2]=m;m=k[aa>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Jp(k[m+-4>>2]|0);k[aa>>2]=(k[aa>>2]|0)+-4}k[c>>2]=h;k[_>>2]=i;k[$>>2]=j;k[d>>2]=k[ea>>2];k[d+4>>2]=k[ea+4>>2];k[d+8>>2]=k[ea+8>>2];k[fa>>2]=k[ea>>2];k[fa+4>>2]=k[ea+4>>2];k[fa+8>>2]=k[ea+8>>2];M=Gm(a,N,c,fa,l)|0;m=d+(M<<2)|0;e=k[m>>2]|0;g=k[a>>2]|0;do if((g|0)==(e|0)){if((N|0)>0){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))km(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[_>>2];k[j+8>>2]=k[$>>2];k[h>>2]=j+12}l=l+1|0}while((l|0)<(N|0))}}else{if(!N){g=15;break a}if(N>>>0>=3){k[fa>>2]=k[c>>2];k[S>>2]=k[_>>2];k[T>>2]=k[$>>2];l=fa+(M<<2)|0;k[l>>2]=(k[l>>2]|0)+(1<>>0>=33){g=34;break a}if((g|0)==31){g=36;break a}i=k[U>>2]|0;g=32-i|0;j=k[V>>2]|0;h=k[j>>2]<>>(32-l|0);L=i+l|0;k[U>>2]=L;if((L|0)==32){k[V>>2]=j+4;k[U>>2]=0}}else{L=l-g|0;k[U>>2]=L;K=j+4|0;k[V>>2]=K;L=32-L|0;g=(k[K>>2]|0)>>>L|h>>>(L-g|0)}j=(N>>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[W>>2]|0;g=k[X>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[W>>2]=N;if((N|0)==32){k[X>>2]=g+4;k[W>>2]=0}b=i?j:h;n=i?h:j}k[m>>2]=e+1;if(b|0){k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];l=k[c>>2]|0;m=k[_>>2]|0;e=k[$>>2]|0;j=k[aa>>2]|0;i=k[ba>>2]|0;g=k[ca>>2]|0;h=k[da>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Wk(ga);g=k[ca>>2]|0;h=k[da>>2]|0;j=k[aa>>2]|0;i=k[ba>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[da>>2]=(k[da>>2]|0)+1}if(n|0){k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];l=k[fa>>2]|0;m=k[S>>2]|0;e=k[T>>2]|0;j=k[aa>>2]|0;i=k[ba>>2]|0;g=k[ca>>2]|0;h=k[da>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Wk(ga);g=k[ca>>2]|0;h=k[da>>2]|0;j=k[aa>>2]|0;i=k[ba>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Y>>2];k[N+4>>2]=k[Y+4>>2];k[N+8>>2]=k[Y+8>>2];k[g+28>>2]=M;k[da>>2]=(k[da>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=g-e|0;E=k[d+(w<<2)>>2]|0;L=g-E|0;p=k[d+(s<<2)>>2]|0;G=g-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(g|0)==(e|0);A=fa+(M<<2)|0;D=c+(M<<2)|0;E=(g|0)==(E|0);B=fa+(w<<2)|0;F=c+(w<<2)|0;p=(g|0)==(p|0);o=fa+(s<<2)|0;q=c+(s<<2)|0;s=fa+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=fa+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=fa+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[fa>>2]=0;k[fa+4>>2]=0;k[fa+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=K-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=L-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=G-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))km(H,fa);else{k[g>>2]=k[fa>>2];k[g+4>>2]=k[Q>>2];k[g+8>>2]=k[R>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[da>>2]|0;if(!g){g=59;break}}if((g|0)==15)Aa(9923,9961,231,10031);else if((g|0)==23)Aa(10044,10068,111,10095);else if((g|0)==25)Aa(10124,10068,112,10095);else if((g|0)==34)Aa(10044,10068,111,10095);else if((g|0)==36)Aa(10124,10068,112,10095);else if((g|0)==59){Zk(ga);r=ha;return}}function km(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=a+4|0;d=k[a>>2]|0;e=(((k[l>>2]|0)-d|0)/12|0)+1|0;if(e>>>0>357913941)zp(a);j=d;m=a+8|0;c=((k[m>>2]|0)-d|0)/12|0;if(c>>>0<178956970){c=c<<1;c=c>>>0>>0?e:c;f=k[l>>2]|0;e=(f-d|0)/12|0;if(!c){g=0;h=0}else i=6}else{e=k[l>>2]|0;c=357913941;f=e;e=(e-d|0)/12|0;i=6}if((i|0)==6){g=c;h=aq(c*12|0)|0}c=h+(e*12|0)|0;g=h+(g*12|0)|0;k[c>>2]=k[b>>2];k[h+(e*12|0)+4>>2]=k[b+4>>2];k[h+(e*12|0)+8>>2]=k[b+8>>2];e=c+12|0;if((f|0)!=(j|0)){d=f;do{b=d;d=d+-12|0;k[c+-12>>2]=k[d>>2];k[c+-8>>2]=k[b+-8>>2];k[c+-4>>2]=k[b+-4>>2];c=c+-12|0}while((d|0)!=(j|0));d=k[a>>2]|0}k[a>>2]=c;k[l>>2]=e;k[m>>2]=g;if(!d)return;Jp(d);return}function lm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=kq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=kq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=kq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){u=1;r=s;return u|0}if(!(id(a+8|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+28|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+48|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+68|0,b)|0)){u=0;r=s;return u|0}u=k[g>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];mm(a,u,o,m,0,n);u=1;r=s;return u|0}function mm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=r;r=r+96|0;fa=ha+80|0;m=ha+32|0;ga=ha+56|0;ea=ha+44|0;Z=ha+16|0;Y=ha;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];i=k[c>>2]|0;_=c+4|0;j=k[_>>2]|0;$=c+8|0;l=k[$>>2]|0;k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;k[ga+12>>2]=0;k[ga+16>>2]=0;k[ga+20>>2]=0;aa=ga+8|0;ba=ga+4|0;ca=ga+16|0;da=ga+20|0;al(ga);g=k[ba>>2]|0;h=(k[da>>2]|0)+(k[ca>>2]|0)|0;if((k[aa>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;X=g+16|0;k[X>>2]=k[m>>2];k[X+4>>2]=k[m+4>>2];k[X+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[da>>2]|0)+1|0;k[da>>2]=g;if(!g){dl(ga);r=ha;return}O=a+44|0;P=a+40|0;Q=fa+4|0;R=fa+8|0;S=fa+4|0;T=fa+8|0;U=a+24|0;V=a+20|0;W=a+84|0;X=a+80|0;a:while(1){L=k[ca>>2]|0;m=g+-1|0;l=m+L|0;M=k[ba>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ea>>2]=k[J>>2];k[ea+4>>2]=k[J+4>>2];k[ea+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[da>>2]=m;m=k[aa>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Jp(k[m+-4>>2]|0);k[aa>>2]=(k[aa>>2]|0)+-4}k[c>>2]=h;k[_>>2]=i;k[$>>2]=j;k[d>>2]=k[ea>>2];k[d+4>>2]=k[ea+4>>2];k[d+8>>2]=k[ea+8>>2];k[fa>>2]=k[ea>>2];k[fa+4>>2]=k[ea+4>>2];k[fa+8>>2]=k[ea+8>>2];M=Im(a,N,c,fa,l)|0;m=d+(M<<2)|0;e=k[m>>2]|0;g=k[a>>2]|0;do if((g|0)==(e|0)){if((N|0)>0){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))km(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[_>>2];k[j+8>>2]=k[$>>2];k[h>>2]=j+12}l=l+1|0}while((l|0)<(N|0))}}else{if(!N){g=15;break a}if(N>>>0>=3){k[fa>>2]=k[c>>2];k[S>>2]=k[_>>2];k[T>>2]=k[$>>2];l=fa+(M<<2)|0;k[l>>2]=(k[l>>2]|0)+(1<>>0>=33){g=34;break a}if((g|0)==31){g=36;break a}i=k[U>>2]|0;g=32-i|0;j=k[V>>2]|0;h=k[j>>2]<>>(32-l|0);L=i+l|0;k[U>>2]=L;if((L|0)==32){k[V>>2]=j+4;k[U>>2]=0}}else{L=l-g|0;k[U>>2]=L;K=j+4|0;k[V>>2]=K;L=32-L|0;g=(k[K>>2]|0)>>>L|h>>>(L-g|0)}j=(N>>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[W>>2]|0;g=k[X>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[W>>2]=N;if((N|0)==32){k[X>>2]=g+4;k[W>>2]=0}b=i?j:h;n=i?h:j}k[m>>2]=e+1;if(b|0){k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];l=k[c>>2]|0;m=k[_>>2]|0;e=k[$>>2]|0;j=k[aa>>2]|0;i=k[ba>>2]|0;g=k[ca>>2]|0;h=k[da>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){al(ga);g=k[ca>>2]|0;h=k[da>>2]|0;j=k[aa>>2]|0;i=k[ba>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Z>>2];k[N+4>>2]=k[Z+4>>2];k[N+8>>2]=k[Z+8>>2];k[g+28>>2]=M;k[da>>2]=(k[da>>2]|0)+1}if(n|0){k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];l=k[fa>>2]|0;m=k[S>>2]|0;e=k[T>>2]|0;j=k[aa>>2]|0;i=k[ba>>2]|0;g=k[ca>>2]|0;h=k[da>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){al(ga);g=k[ca>>2]|0;h=k[da>>2]|0;j=k[aa>>2]|0;i=k[ba>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Y>>2];k[N+4>>2]=k[Y+4>>2];k[N+8>>2]=k[Y+8>>2];k[g+28>>2]=M;k[da>>2]=(k[da>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;K=g-e|0;E=k[d+(w<<2)>>2]|0;L=g-E|0;p=k[d+(s<<2)>>2]|0;G=g-p|0;H=k[f>>2]|0;I=H+4|0;J=H+8|0;C=(g|0)==(e|0);A=fa+(M<<2)|0;D=c+(M<<2)|0;E=(g|0)==(E|0);B=fa+(w<<2)|0;F=c+(w<<2)|0;p=(g|0)==(p|0);o=fa+(s<<2)|0;q=c+(s<<2)|0;s=fa+(s<<2)|0;t=(G|0)<33;u=(G|0)>0;v=32-G|0;w=fa+(w<<2)|0;x=(L|0)<33;y=(L|0)>0;z=32-L|0;l=fa+(M<<2)|0;m=(K|0)<33;e=(K|0)>0;b=32-K|0;n=0;do{k[fa>>2]=0;k[fa+4>>2]=0;k[fa+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=K-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+K|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=L-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+L|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=G-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+G|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[I>>2]|0;if((g|0)==(k[J>>2]|0))km(H,fa);else{k[g>>2]=k[fa>>2];k[g+4>>2]=k[Q>>2];k[g+8>>2]=k[R>>2];k[I>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[da>>2]|0;if(!g){g=59;break}}if((g|0)==15)Aa(9923,9961,231,10031);else if((g|0)==23)Aa(10044,10068,111,10095);else if((g|0)==25)Aa(10124,10068,112,10095);else if((g|0)==34)Aa(10044,10068,111,10095);else if((g|0)==36)Aa(10124,10068,112,10095);else if((g|0)==59){dl(ga);r=ha;return}}function nm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=kq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=kq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=kq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){u=1;r=s;return u|0}if(!(td(a+8|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+24|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+44|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+64|0,b)|0)){u=0;r=s;return u|0}u=k[g>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];om(a,u,o,m,0,n);u=1;r=s;return u|0}function om(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=r;r=r+112|0;fa=ha+88|0;m=ha+32|0;ga=ha+64|0;ea=ha+48|0;da=ha+44|0;Y=ha+16|0;X=ha;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];i=k[c>>2]|0;Z=c+4|0;j=k[Z>>2]|0;_=c+8|0;l=k[_>>2]|0;k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;k[ga+12>>2]=0;k[ga+16>>2]=0;k[ga+20>>2]=0;$=ga+8|0;aa=ga+4|0;ba=ga+16|0;ca=ga+20|0;gl(ga);g=k[aa>>2]|0;h=(k[ca>>2]|0)+(k[ba>>2]|0)|0;if((k[$>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;W=g+16|0;k[W>>2]=k[m>>2];k[W+4>>2]=k[m+4>>2];k[W+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ca>>2]|0)+1|0;k[ca>>2]=g;if(!g){jl(ga);r=ha;return}O=a+40|0;P=a+36|0;Q=fa+4|0;R=fa+8|0;S=fa+4|0;T=fa+8|0;U=a+8|0;V=a+80|0;W=a+76|0;a:while(1){L=k[ba>>2]|0;m=g+-1|0;l=m+L|0;M=k[aa>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ea>>2]=k[J>>2];k[ea+4>>2]=k[J+4>>2];k[ea+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ca>>2]=m;m=k[$>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Jp(k[m+-4>>2]|0);k[$>>2]=(k[$>>2]|0)+-4}k[c>>2]=h;k[Z>>2]=i;k[_>>2]=j;k[d>>2]=k[ea>>2];k[d+4>>2]=k[ea+4>>2];k[d+8>>2]=k[ea+8>>2];k[fa>>2]=k[ea>>2];k[fa+4>>2]=k[ea+4>>2];k[fa+8>>2]=k[ea+8>>2];M=Km(a,N,c,fa,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;g=k[a>>2]|0;do if((g|0)==(m|0)){if((N|0)>0){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))km(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[Z>>2];k[j+8>>2]=k[_>>2];k[h>>2]=j+12}l=l+1|0}while((l|0)<(N|0))}}else{if(!N){g=15;break a}if(N>>>0>=3){k[fa>>2]=k[c>>2];k[S>>2]=k[Z>>2];k[T>>2]=k[_>>2];j=fa+(M<<2)|0;k[j>>2]=(k[j>>2]|0)+(1<>2]=0;vd(U,j,da);j=(N>>>1)-(k[da>>2]|0)|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[V>>2]|0;g=k[W>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[V>>2]=N;if((N|0)==32){k[W>>2]=g+4;k[V>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];l=k[c>>2]|0;m=k[Z>>2]|0;e=k[_>>2]|0;j=k[$>>2]|0;i=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){gl(ga);g=k[ba>>2]|0;h=k[ca>>2]|0;j=k[$>>2]|0;i=k[aa>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Y>>2];k[N+4>>2]=k[Y+4>>2];k[N+8>>2]=k[Y+8>>2];k[g+28>>2]=M;k[ca>>2]=(k[ca>>2]|0)+1}if(n|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];l=k[fa>>2]|0;m=k[S>>2]|0;e=k[T>>2]|0;j=k[$>>2]|0;i=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){gl(ga);g=k[ba>>2]|0;h=k[ca>>2]|0;j=k[$>>2]|0;i=k[aa>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[X>>2];k[N+4>>2]=k[X+4>>2];k[N+8>>2]=k[X+8>>2];k[g+28>>2]=M;k[ca>>2]=(k[ca>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;J=g-m|0;E=k[d+(w<<2)>>2]|0;K=g-E|0;p=k[d+(s<<2)>>2]|0;L=g-p|0;G=k[f>>2]|0;H=G+4|0;I=G+8|0;C=(g|0)==(m|0);A=fa+(M<<2)|0;D=c+(M<<2)|0;E=(g|0)==(E|0);B=fa+(w<<2)|0;F=c+(w<<2)|0;p=(g|0)==(p|0);o=fa+(s<<2)|0;q=c+(s<<2)|0;s=fa+(s<<2)|0;t=(L|0)<33;u=(L|0)>0;v=32-L|0;w=fa+(w<<2)|0;x=(K|0)<33;y=(K|0)>0;z=32-K|0;l=fa+(M<<2)|0;m=(J|0)<33;e=(J|0)>0;b=32-J|0;n=0;do{k[fa>>2]=0;k[fa+4>>2]=0;k[fa+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=J-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+J|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=K-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+K|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=L-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+L|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[H>>2]|0;if((g|0)==(k[I>>2]|0))km(G,fa);else{k[g>>2]=k[fa>>2];k[g+4>>2]=k[Q>>2];k[g+8>>2]=k[R>>2];k[H>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ca>>2]|0;if(!g){g=51;break}}if((g|0)==15)Aa(9923,9961,231,10031);else if((g|0)==23)Aa(10044,10068,111,10095);else if((g|0)==25)Aa(10124,10068,112,10095);else if((g|0)==51){jl(ga);r=ha;return}}function pm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;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;t=kq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=kq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=kq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){u=1;r=s;return u|0}if(!(td(a+8|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+24|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+44|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+64|0,b)|0)){u=0;r=s;return u|0}u=k[g>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];qm(a,u,o,m,0,n);u=1;r=s;return u|0}function qm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=r;r=r+112|0;fa=ha+88|0;m=ha+32|0;ga=ha+64|0;ea=ha+48|0;da=ha+44|0;Y=ha+16|0;X=ha;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];i=k[c>>2]|0;Z=c+4|0;j=k[Z>>2]|0;_=c+8|0;l=k[_>>2]|0;k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;k[ga+12>>2]=0;k[ga+16>>2]=0;k[ga+20>>2]=0;$=ga+8|0;aa=ga+4|0;ba=ga+16|0;ca=ga+20|0;ml(ga);g=k[aa>>2]|0;h=(k[ca>>2]|0)+(k[ba>>2]|0)|0;if((k[$>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;W=g+16|0;k[W>>2]=k[m>>2];k[W+4>>2]=k[m+4>>2];k[W+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ca>>2]|0)+1|0;k[ca>>2]=g;if(!g){pl(ga);r=ha;return}O=a+40|0;P=a+36|0;Q=fa+4|0;R=fa+8|0;S=fa+4|0;T=fa+8|0;U=a+8|0;V=a+80|0;W=a+76|0;a:while(1){L=k[ba>>2]|0;m=g+-1|0;l=m+L|0;M=k[aa>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ea>>2]=k[J>>2];k[ea+4>>2]=k[J+4>>2];k[ea+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ca>>2]=m;m=k[$>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Jp(k[m+-4>>2]|0);k[$>>2]=(k[$>>2]|0)+-4}k[c>>2]=h;k[Z>>2]=i;k[_>>2]=j;k[d>>2]=k[ea>>2];k[d+4>>2]=k[ea+4>>2];k[d+8>>2]=k[ea+8>>2];k[fa>>2]=k[ea>>2];k[fa+4>>2]=k[ea+4>>2];k[fa+8>>2]=k[ea+8>>2];M=Mm(a,N,c,fa,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;g=k[a>>2]|0;do if((g|0)==(m|0)){if((N|0)>0){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))km(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[Z>>2];k[j+8>>2]=k[_>>2];k[h>>2]=j+12}l=l+1|0}while((l|0)<(N|0))}}else{if(!N){g=15;break a}if(N>>>0>=3){k[fa>>2]=k[c>>2];k[S>>2]=k[Z>>2];k[T>>2]=k[_>>2];j=fa+(M<<2)|0;k[j>>2]=(k[j>>2]|0)+(1<>2]=0;vd(U,j,da);j=(N>>>1)-(k[da>>2]|0)|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[V>>2]|0;g=k[W>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[V>>2]=N;if((N|0)==32){k[W>>2]=g+4;k[V>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];l=k[c>>2]|0;m=k[Z>>2]|0;e=k[_>>2]|0;j=k[$>>2]|0;i=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){ml(ga);g=k[ba>>2]|0;h=k[ca>>2]|0;j=k[$>>2]|0;i=k[aa>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[Y>>2];k[N+4>>2]=k[Y+4>>2];k[N+8>>2]=k[Y+8>>2];k[g+28>>2]=M;k[ca>>2]=(k[ca>>2]|0)+1}if(n|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];l=k[fa>>2]|0;m=k[S>>2]|0;e=k[T>>2]|0;j=k[$>>2]|0;i=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){ml(ga);g=k[ba>>2]|0;h=k[ca>>2]|0;j=k[$>>2]|0;i=k[aa>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[X>>2];k[N+4>>2]=k[X+4>>2];k[N+8>>2]=k[X+8>>2];k[g+28>>2]=M;k[ca>>2]=(k[ca>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;J=g-m|0;E=k[d+(w<<2)>>2]|0;K=g-E|0;p=k[d+(s<<2)>>2]|0;L=g-p|0;G=k[f>>2]|0;H=G+4|0;I=G+8|0;C=(g|0)==(m|0);A=fa+(M<<2)|0;D=c+(M<<2)|0;E=(g|0)==(E|0);B=fa+(w<<2)|0;F=c+(w<<2)|0;p=(g|0)==(p|0);o=fa+(s<<2)|0;q=c+(s<<2)|0;s=fa+(s<<2)|0;t=(L|0)<33;u=(L|0)>0;v=32-L|0;w=fa+(w<<2)|0;x=(K|0)<33;y=(K|0)>0;z=32-K|0;l=fa+(M<<2)|0;m=(J|0)<33;e=(J|0)>0;b=32-J|0;n=0;do{k[fa>>2]=0;k[fa+4>>2]=0;k[fa+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=J-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+J|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=K-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+K|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=L-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+L|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[H>>2]|0;if((g|0)==(k[I>>2]|0))km(G,fa);else{k[g>>2]=k[fa>>2];k[g+4>>2]=k[Q>>2];k[g+8>>2]=k[R>>2];k[H>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ca>>2]|0;if(!g){g=51;break}}if((g|0)==15)Aa(9923,9961,231,10031);else if((g|0)==23)Aa(10044,10068,111,10095);else if((g|0)==25)Aa(10124,10068,112,10095);else if((g|0)==51){pl(ga);r=ha;return}}function rm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+48|0;n=t+40|0;m=t+28|0;o=t+16|0;p=t+4|0;q=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(td(a+8+(d<<4)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(td(a+520|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+536|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+556|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+576|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];sm(a,v,o,m,0,n);v=1;r=t;return v|0}function sm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=r;r=r+96|0;da=fa+80|0;m=fa+32|0;ea=fa+56|0;ca=fa+44|0;X=fa+16|0;W=fa;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];i=k[c>>2]|0;Y=c+4|0;j=k[Y>>2]|0;Z=c+8|0;l=k[Z>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[ea+12>>2]=0;k[ea+16>>2]=0;k[ea+20>>2]=0;_=ea+8|0;$=ea+4|0;aa=ea+16|0;ba=ea+20|0;sl(ea);g=k[$>>2]|0;h=(k[ba>>2]|0)+(k[aa>>2]|0)|0;if((k[_>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;V=g+16|0;k[V>>2]=k[m>>2];k[V+4>>2]=k[m+4>>2];k[V+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ba>>2]|0)+1|0;k[ba>>2]=g;if(!g){vl(ea);r=fa;return}O=a+552|0;P=a+548|0;Q=da+4|0;R=da+8|0;S=da+4|0;T=da+8|0;U=a+592|0;V=a+588|0;a:while(1){L=k[aa>>2]|0;m=g+-1|0;l=m+L|0;M=k[$>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ca>>2]=k[J>>2];k[ca+4>>2]=k[J+4>>2];k[ca+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ba>>2]=m;m=k[_>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Jp(k[m+-4>>2]|0);k[_>>2]=(k[_>>2]|0)+-4}k[c>>2]=h;k[Y>>2]=i;k[Z>>2]=j;k[d>>2]=k[ca>>2];k[d+4>>2]=k[ca+4>>2];k[d+8>>2]=k[ca+8>>2];k[da>>2]=k[ca>>2];k[da+4>>2]=k[ca+4>>2];k[da+8>>2]=k[ca+8>>2];M=Pm(a,N,c,da,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;g=k[a>>2]|0;do if((g|0)==(m|0)){if((N|0)>0){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))km(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[Y>>2];k[j+8>>2]=k[Z>>2];k[h>>2]=j+12}l=l+1|0}while((l|0)<(N|0))}}else{if(!N){g=15;break a}if(N>>>0>=3){k[da>>2]=k[c>>2];k[S>>2]=k[Y>>2];k[T>>2]=k[Z>>2];L=da+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[U>>2]|0;g=k[V>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[U>>2]=N;if((N|0)==32){k[V>>2]=g+4;k[U>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];l=k[c>>2]|0;m=k[Y>>2]|0;e=k[Z>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0;g=k[aa>>2]|0;h=k[ba>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){sl(ea);g=k[aa>>2]|0;h=k[ba>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[X>>2];k[N+4>>2]=k[X+4>>2];k[N+8>>2]=k[X+8>>2];k[g+28>>2]=M;k[ba>>2]=(k[ba>>2]|0)+1}if(n|0){k[W>>2]=k[d>>2];k[W+4>>2]=k[d+4>>2];k[W+8>>2]=k[d+8>>2];l=k[da>>2]|0;m=k[S>>2]|0;e=k[T>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0;g=k[aa>>2]|0;h=k[ba>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){sl(ea);g=k[aa>>2]|0;h=k[ba>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[W>>2];k[N+4>>2]=k[W+4>>2];k[N+8>>2]=k[W+8>>2];k[g+28>>2]=M;k[ba>>2]=(k[ba>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;I=g-m|0;E=k[d+(w<<2)>>2]|0;J=g-E|0;p=k[d+(s<<2)>>2]|0;K=g-p|0;L=k[f>>2]|0;G=L+4|0;H=L+8|0;C=(g|0)==(m|0);A=da+(M<<2)|0;D=c+(M<<2)|0;E=(g|0)==(E|0);B=da+(w<<2)|0;F=c+(w<<2)|0;p=(g|0)==(p|0);o=da+(s<<2)|0;q=c+(s<<2)|0;s=da+(s<<2)|0;t=(K|0)<33;u=(K|0)>0;v=32-K|0;w=da+(w<<2)|0;x=(J|0)<33;y=(J|0)>0;z=32-J|0;l=da+(M<<2)|0;m=(I|0)<33;e=(I|0)>0;b=32-I|0;n=0;do{k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=I-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+I|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=J-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+J|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=K-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+K|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[G>>2]|0;if((g|0)==(k[H>>2]|0))km(L,da);else{k[g>>2]=k[da>>2];k[g+4>>2]=k[Q>>2];k[g+8>>2]=k[R>>2];k[G>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ba>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9923,9961,231,10031);else if((g|0)==23)Aa(10044,10068,111,10095);else if((g|0)==25)Aa(10124,10068,112,10095);else if((g|0)==53){vl(ea);r=fa;return}}function tm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+48|0;n=t+40|0;m=t+28|0;o=t+16|0;p=t+4|0;q=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(td(a+8+(d<<4)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(td(a+520|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+536|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+556|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+576|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];um(a,v,o,m,0,n);v=1;r=t;return v|0}function um(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=r;r=r+96|0;da=fa+80|0;m=fa+32|0;ea=fa+56|0;ca=fa+44|0;X=fa+16|0;W=fa;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];i=k[c>>2]|0;Y=c+4|0;j=k[Y>>2]|0;Z=c+8|0;l=k[Z>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[ea+12>>2]=0;k[ea+16>>2]=0;k[ea+20>>2]=0;_=ea+8|0;$=ea+4|0;aa=ea+16|0;ba=ea+20|0;zl(ea);g=k[$>>2]|0;h=(k[ba>>2]|0)+(k[aa>>2]|0)|0;if((k[_>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;V=g+16|0;k[V>>2]=k[m>>2];k[V+4>>2]=k[m+4>>2];k[V+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ba>>2]|0)+1|0;k[ba>>2]=g;if(!g){Cl(ea);r=fa;return}O=a+552|0;P=a+548|0;Q=da+4|0;R=da+8|0;S=da+4|0;T=da+8|0;U=a+592|0;V=a+588|0;a:while(1){L=k[aa>>2]|0;m=g+-1|0;l=m+L|0;M=k[$>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ca>>2]=k[J>>2];k[ca+4>>2]=k[J+4>>2];k[ca+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ba>>2]=m;m=k[_>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Jp(k[m+-4>>2]|0);k[_>>2]=(k[_>>2]|0)+-4}k[c>>2]=h;k[Y>>2]=i;k[Z>>2]=j;k[d>>2]=k[ca>>2];k[d+4>>2]=k[ca+4>>2];k[d+8>>2]=k[ca+8>>2];k[da>>2]=k[ca>>2];k[da+4>>2]=k[ca+4>>2];k[da+8>>2]=k[ca+8>>2];M=Rm(a,N,c,da,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;g=k[a>>2]|0;do if((g|0)==(m|0)){if((N|0)>0){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))km(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[Y>>2];k[j+8>>2]=k[Z>>2];k[h>>2]=j+12}l=l+1|0}while((l|0)<(N|0))}}else{if(!N){g=15;break a}if(N>>>0>=3){k[da>>2]=k[c>>2];k[S>>2]=k[Y>>2];k[T>>2]=k[Z>>2];L=da+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[U>>2]|0;g=k[V>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[U>>2]=N;if((N|0)==32){k[V>>2]=g+4;k[U>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];l=k[c>>2]|0;m=k[Y>>2]|0;e=k[Z>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0;g=k[aa>>2]|0;h=k[ba>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){zl(ea);g=k[aa>>2]|0;h=k[ba>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[X>>2];k[N+4>>2]=k[X+4>>2];k[N+8>>2]=k[X+8>>2];k[g+28>>2]=M;k[ba>>2]=(k[ba>>2]|0)+1}if(n|0){k[W>>2]=k[d>>2];k[W+4>>2]=k[d+4>>2];k[W+8>>2]=k[d+8>>2];l=k[da>>2]|0;m=k[S>>2]|0;e=k[T>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0;g=k[aa>>2]|0;h=k[ba>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){zl(ea);g=k[aa>>2]|0;h=k[ba>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[W>>2];k[N+4>>2]=k[W+4>>2];k[N+8>>2]=k[W+8>>2];k[g+28>>2]=M;k[ba>>2]=(k[ba>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;I=g-m|0;E=k[d+(w<<2)>>2]|0;J=g-E|0;p=k[d+(s<<2)>>2]|0;K=g-p|0;L=k[f>>2]|0;G=L+4|0;H=L+8|0;C=(g|0)==(m|0);A=da+(M<<2)|0;D=c+(M<<2)|0;E=(g|0)==(E|0);B=da+(w<<2)|0;F=c+(w<<2)|0;p=(g|0)==(p|0);o=da+(s<<2)|0;q=c+(s<<2)|0;s=da+(s<<2)|0;t=(K|0)<33;u=(K|0)>0;v=32-K|0;w=da+(w<<2)|0;x=(J|0)<33;y=(J|0)>0;z=32-J|0;l=da+(M<<2)|0;m=(I|0)<33;e=(I|0)>0;b=32-I|0;n=0;do{k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=I-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+I|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=J-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+J|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=K-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+K|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[G>>2]|0;if((g|0)==(k[H>>2]|0))km(L,da);else{k[g>>2]=k[da>>2];k[g+4>>2]=k[Q>>2];k[g+8>>2]=k[R>>2];k[G>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ba>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9923,9961,231,10031);else if((g|0)==23)Aa(10044,10068,111,10095);else if((g|0)==25)Aa(10124,10068,112,10095);else if((g|0)==53){Cl(ea);r=fa;return}}function vm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+48|0;n=t+40|0;m=t+28|0;o=t+16|0;p=t+4|0;q=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(td(a+8+(d<<4)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(td(a+520|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+536|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+556|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+576|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];wm(a,v,o,m,0,n);v=1;r=t;return v|0}function wm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=r;r=r+96|0;da=fa+80|0;m=fa+32|0;ea=fa+56|0;ca=fa+44|0;X=fa+16|0;W=fa;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];i=k[c>>2]|0;Y=c+4|0;j=k[Y>>2]|0;Z=c+8|0;l=k[Z>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[ea+12>>2]=0;k[ea+16>>2]=0;k[ea+20>>2]=0;_=ea+8|0;$=ea+4|0;aa=ea+16|0;ba=ea+20|0;Fl(ea);g=k[$>>2]|0;h=(k[ba>>2]|0)+(k[aa>>2]|0)|0;if((k[_>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;V=g+16|0;k[V>>2]=k[m>>2];k[V+4>>2]=k[m+4>>2];k[V+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ba>>2]|0)+1|0;k[ba>>2]=g;if(!g){Il(ea);r=fa;return}O=a+552|0;P=a+548|0;Q=da+4|0;R=da+8|0;S=da+4|0;T=da+8|0;U=a+592|0;V=a+588|0;a:while(1){L=k[aa>>2]|0;m=g+-1|0;l=m+L|0;M=k[$>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ca>>2]=k[J>>2];k[ca+4>>2]=k[J+4>>2];k[ca+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ba>>2]=m;m=k[_>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Jp(k[m+-4>>2]|0);k[_>>2]=(k[_>>2]|0)+-4}k[c>>2]=h;k[Y>>2]=i;k[Z>>2]=j;k[d>>2]=k[ca>>2];k[d+4>>2]=k[ca+4>>2];k[d+8>>2]=k[ca+8>>2];k[da>>2]=k[ca>>2];k[da+4>>2]=k[ca+4>>2];k[da+8>>2]=k[ca+8>>2];M=Tm(a,N,c,da,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;g=k[a>>2]|0;do if((g|0)==(m|0)){if((N|0)>0){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))km(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[Y>>2];k[j+8>>2]=k[Z>>2];k[h>>2]=j+12}l=l+1|0}while((l|0)<(N|0))}}else{if(!N){g=15;break a}if(N>>>0>=3){k[da>>2]=k[c>>2];k[S>>2]=k[Y>>2];k[T>>2]=k[Z>>2];L=da+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[U>>2]|0;g=k[V>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[U>>2]=N;if((N|0)==32){k[V>>2]=g+4;k[U>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];l=k[c>>2]|0;m=k[Y>>2]|0;e=k[Z>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0;g=k[aa>>2]|0;h=k[ba>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Fl(ea);g=k[aa>>2]|0;h=k[ba>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[X>>2];k[N+4>>2]=k[X+4>>2];k[N+8>>2]=k[X+8>>2];k[g+28>>2]=M;k[ba>>2]=(k[ba>>2]|0)+1}if(n|0){k[W>>2]=k[d>>2];k[W+4>>2]=k[d+4>>2];k[W+8>>2]=k[d+8>>2];l=k[da>>2]|0;m=k[S>>2]|0;e=k[T>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0;g=k[aa>>2]|0;h=k[ba>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Fl(ea);g=k[aa>>2]|0;h=k[ba>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[W>>2];k[N+4>>2]=k[W+4>>2];k[N+8>>2]=k[W+8>>2];k[g+28>>2]=M;k[ba>>2]=(k[ba>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;I=g-m|0;E=k[d+(w<<2)>>2]|0;J=g-E|0;p=k[d+(s<<2)>>2]|0;K=g-p|0;L=k[f>>2]|0;G=L+4|0;H=L+8|0;C=(g|0)==(m|0);A=da+(M<<2)|0;D=c+(M<<2)|0;E=(g|0)==(E|0);B=da+(w<<2)|0;F=c+(w<<2)|0;p=(g|0)==(p|0);o=da+(s<<2)|0;q=c+(s<<2)|0;s=da+(s<<2)|0;t=(K|0)<33;u=(K|0)>0;v=32-K|0;w=da+(w<<2)|0;x=(J|0)<33;y=(J|0)>0;z=32-J|0;l=da+(M<<2)|0;m=(I|0)<33;e=(I|0)>0;b=32-I|0;n=0;do{k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=I-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+I|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=J-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+J|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=K-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+K|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[G>>2]|0;if((g|0)==(k[H>>2]|0))km(L,da);else{k[g>>2]=k[da>>2];k[g+4>>2]=k[Q>>2];k[g+8>>2]=k[R>>2];k[G>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ba>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9923,9961,231,10031);else if((g|0)==23)Aa(10044,10068,111,10095);else if((g|0)==25)Aa(10124,10068,112,10095);else if((g|0)==53){Il(ea);r=fa;return}}function xm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+48|0;n=t+40|0;m=t+28|0;o=t+16|0;p=t+4|0;q=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(td(a+8+(d<<4)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(td(a+520|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+536|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+556|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+576|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];ym(a,v,o,m,0,n);v=1;r=t;return v|0}function ym(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=r;r=r+96|0;da=fa+80|0;m=fa+32|0;ea=fa+56|0;ca=fa+44|0;X=fa+16|0;W=fa;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];i=k[c>>2]|0;Y=c+4|0;j=k[Y>>2]|0;Z=c+8|0;l=k[Z>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[ea+12>>2]=0;k[ea+16>>2]=0;k[ea+20>>2]=0;_=ea+8|0;$=ea+4|0;aa=ea+16|0;ba=ea+20|0;Ll(ea);g=k[$>>2]|0;h=(k[ba>>2]|0)+(k[aa>>2]|0)|0;if((k[_>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;V=g+16|0;k[V>>2]=k[m>>2];k[V+4>>2]=k[m+4>>2];k[V+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ba>>2]|0)+1|0;k[ba>>2]=g;if(!g){Ol(ea);r=fa;return}O=a+552|0;P=a+548|0;Q=da+4|0;R=da+8|0;S=da+4|0;T=da+8|0;U=a+592|0;V=a+588|0;a:while(1){L=k[aa>>2]|0;m=g+-1|0;l=m+L|0;M=k[$>>2]|0;K=k[M+(l>>>7<<2)>>2]|0;l=l&127;N=k[K+(l<<5)>>2]|0;h=k[K+(l<<5)+4>>2]|0;i=k[K+(l<<5)+8>>2]|0;j=k[K+(l<<5)+12>>2]|0;J=K+(l<<5)+16|0;k[ca>>2]=k[J>>2];k[ca+4>>2]=k[J+4>>2];k[ca+8>>2]=k[J+8>>2];l=k[K+(l<<5)+28>>2]|0;k[ba>>2]=m;m=k[_>>2]|0;if((1-g-L+((m|0)==(M|0)?0:(m-M<<5)+-1|0)|0)>>>0>255){Jp(k[m+-4>>2]|0);k[_>>2]=(k[_>>2]|0)+-4}k[c>>2]=h;k[Y>>2]=i;k[Z>>2]=j;k[d>>2]=k[ca>>2];k[d+4>>2]=k[ca+4>>2];k[d+8>>2]=k[ca+8>>2];k[da>>2]=k[ca>>2];k[da+4>>2]=k[ca+4>>2];k[da+8>>2]=k[ca+8>>2];M=Vm(a,N,c,da,l)|0;l=d+(M<<2)|0;m=k[l>>2]|0;g=k[a>>2]|0;do if((g|0)==(m|0)){if((N|0)>0){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))km(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[Y>>2];k[j+8>>2]=k[Z>>2];k[h>>2]=j+12}l=l+1|0}while((l|0)<(N|0))}}else{if(!N){g=15;break a}if(N>>>0>=3){k[da>>2]=k[c>>2];k[S>>2]=k[Y>>2];k[T>>2]=k[Z>>2];L=da+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[U>>2]|0;g=k[V>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[U>>2]=N;if((N|0)==32){k[V>>2]=g+4;k[U>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];l=k[c>>2]|0;m=k[Y>>2]|0;e=k[Z>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0;g=k[aa>>2]|0;h=k[ba>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Ll(ea);g=k[aa>>2]|0;h=k[ba>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[X>>2];k[N+4>>2]=k[X+4>>2];k[N+8>>2]=k[X+8>>2];k[g+28>>2]=M;k[ba>>2]=(k[ba>>2]|0)+1}if(n|0){k[W>>2]=k[d>>2];k[W+4>>2]=k[d+4>>2];k[W+8>>2]=k[d+8>>2];l=k[da>>2]|0;m=k[S>>2]|0;e=k[T>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0;g=k[aa>>2]|0;h=k[ba>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Ll(ea);g=k[aa>>2]|0;h=k[ba>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[W>>2];k[N+4>>2]=k[W+4>>2];k[N+8>>2]=k[W+8>>2];k[g+28>>2]=M;k[ba>>2]=(k[ba>>2]|0)+1}break}w=(M|0)==2?0:M+1|0;s=(w|0)==2?0:w+1|0;I=g-m|0;E=k[d+(w<<2)>>2]|0;J=g-E|0;p=k[d+(s<<2)>>2]|0;K=g-p|0;L=k[f>>2]|0;G=L+4|0;H=L+8|0;C=(g|0)==(m|0);A=da+(M<<2)|0;D=c+(M<<2)|0;E=(g|0)==(E|0);B=da+(w<<2)|0;F=c+(w<<2)|0;p=(g|0)==(p|0);o=da+(s<<2)|0;q=c+(s<<2)|0;s=da+(s<<2)|0;t=(K|0)<33;u=(K|0)>0;v=32-K|0;w=da+(w<<2)|0;x=(J|0)<33;y=(J|0)>0;z=32-J|0;l=da+(M<<2)|0;m=(I|0)<33;e=(I|0)>0;b=32-I|0;n=0;do{k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=I-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+I|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!x){g=23;break a}if(!y){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=J-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;M=i+J|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=w}else h=w}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!p){if(!t){g=23;break a}if(!u){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=K-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;M=i+K|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=s}else h=s}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[G>>2]|0;if((g|0)==(k[H>>2]|0))km(L,da);else{k[g>>2]=k[da>>2];k[g+4>>2]=k[Q>>2];k[g+8>>2]=k[R>>2];k[G>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ba>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9923,9961,231,10031);else if((g|0)==23)Aa(10044,10068,111,10095);else if((g|0)==25)Aa(10124,10068,112,10095);else if((g|0)==53){Ol(ea);r=fa;return}}function zm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+48|0;n=t+40|0;m=t+28|0;o=t+16|0;p=t+4|0;q=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(yd(a+8+(d*24|0)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(yd(a+776|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+800|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+820|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+840|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];Am(a,v,o,m,0,n);v=1;r=t;return v|0}function Am(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=r;r=r+96|0;da=fa+80|0;m=fa+32|0;ea=fa+56|0;ca=fa+44|0;X=fa+16|0;W=fa;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];i=k[c>>2]|0;Y=c+4|0;j=k[Y>>2]|0;Z=c+8|0;l=k[Z>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[ea+12>>2]=0;k[ea+16>>2]=0;k[ea+20>>2]=0;_=ea+8|0;$=ea+4|0;aa=ea+16|0;ba=ea+20|0;Rl(ea);g=k[$>>2]|0;h=(k[ba>>2]|0)+(k[aa>>2]|0)|0;if((k[_>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;V=g+16|0;k[V>>2]=k[m>>2];k[V+4>>2]=k[m+4>>2];k[V+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ba>>2]|0)+1|0;k[ba>>2]=g;if(!g){Ul(ea);r=fa;return}O=a+816|0;P=a+812|0;Q=da+4|0;R=da+8|0;S=da+4|0;T=da+8|0;U=a+856|0;V=a+852|0;a:while(1){h=k[$>>2]|0;M=k[aa>>2]|0;L=k[h+(M>>>7<<2)>>2]|0;m=M&127;N=k[L+(m<<5)>>2]|0;i=k[L+(m<<5)+4>>2]|0;j=k[L+(m<<5)+8>>2]|0;l=k[L+(m<<5)+12>>2]|0;K=L+(m<<5)+16|0;k[ca>>2]=k[K>>2];k[ca+4>>2]=k[K+4>>2];k[ca+8>>2]=k[K+8>>2];m=k[L+(m<<5)+28>>2]|0;k[ba>>2]=g+-1;M=M+1|0;k[aa>>2]=M;if(M>>>0>255){Jp(k[h>>2]|0);k[$>>2]=(k[$>>2]|0)+4;k[aa>>2]=(k[aa>>2]|0)+-128}k[c>>2]=i;k[Y>>2]=j;k[Z>>2]=l;k[d>>2]=k[ca>>2];k[d+4>>2]=k[ca+4>>2];k[d+8>>2]=k[ca+8>>2];k[da>>2]=k[ca>>2];k[da+4>>2]=k[ca+4>>2];k[da+8>>2]=k[ca+8>>2];M=Ym(a,N,c,da,m)|0;l=d+(M<<2)|0;m=k[l>>2]|0;g=k[a>>2]|0;do if((g|0)==(m|0)){if((N|0)>0){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))km(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[Y>>2];k[j+8>>2]=k[Z>>2];k[h>>2]=j+12}l=l+1|0}while((l|0)<(N|0))}}else{if(!N){g=15;break a}if(N>>>0>=3){k[da>>2]=k[c>>2];k[S>>2]=k[Y>>2];k[T>>2]=k[Z>>2];L=da+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[U>>2]|0;g=k[V>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[U>>2]=N;if((N|0)==32){k[V>>2]=g+4;k[U>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];l=k[c>>2]|0;m=k[Y>>2]|0;e=k[Z>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0;g=k[aa>>2]|0;h=k[ba>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Rl(ea);g=k[aa>>2]|0;h=k[ba>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[X>>2];k[N+4>>2]=k[X+4>>2];k[N+8>>2]=k[X+8>>2];k[g+28>>2]=M;k[ba>>2]=(k[ba>>2]|0)+1}if(n|0){k[W>>2]=k[d>>2];k[W+4>>2]=k[d+4>>2];k[W+8>>2]=k[d+8>>2];l=k[da>>2]|0;m=k[S>>2]|0;e=k[T>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0;g=k[aa>>2]|0;h=k[ba>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Rl(ea);g=k[aa>>2]|0;h=k[ba>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[W>>2];k[N+4>>2]=k[W+4>>2];k[N+8>>2]=k[W+8>>2];k[g+28>>2]=M;k[ba>>2]=(k[ba>>2]|0)+1}break}v=(M|0)==2?0:M+1|0;q=(v|0)==2?0:v+1|0;G=g-m|0;E=k[d+(v<<2)>>2]|0;H=g-E|0;z=k[d+(q<<2)>>2]|0;I=g-z|0;J=k[f>>2]|0;K=J+4|0;L=J+8|0;C=(g|0)==(m|0);A=da+(M<<2)|0;D=c+(M<<2)|0;E=(g|0)==(E|0);B=da+(v<<2)|0;F=c+(v<<2)|0;z=(g|0)==(z|0);o=da+(q<<2)|0;p=c+(q<<2)|0;q=da+(q<<2)|0;s=(I|0)<33;t=(I|0)>0;u=32-I|0;v=da+(v<<2)|0;w=(H|0)<33;x=(H|0)>0;y=32-H|0;l=da+(M<<2)|0;m=(G|0)<33;e=(G|0)>0;b=32-G|0;n=0;do{k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=G-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+G|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!w){g=23;break a}if(!x){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=H-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[v>>2]=g;h=v;break}g=h>>>y;k[v>>2]=g;M=i+H|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=v}else h=v}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!z){if(!s){g=23;break a}if(!t){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=I-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[q>>2]=g;h=q;break}g=h>>>u;k[q>>2]=g;M=i+I|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=q}else h=q}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[p>>2];g=k[K>>2]|0;if((g|0)==(k[L>>2]|0))km(J,da);else{k[g>>2]=k[da>>2];k[g+4>>2]=k[Q>>2];k[g+8>>2]=k[R>>2];k[K>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ba>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9923,9961,231,10031);else if((g|0)==23)Aa(10044,10068,111,10095);else if((g|0)==25)Aa(10124,10068,112,10095);else if((g|0)==53){Ul(ea);r=fa;return}}function Bm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+48|0;n=t+40|0;m=t+28|0;o=t+16|0;p=t+4|0;q=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(yd(a+8+(d*24|0)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(yd(a+776|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+800|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+820|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+840|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];Cm(a,v,o,m,0,n);v=1;r=t;return v|0}function Cm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=r;r=r+96|0;da=fa+80|0;m=fa+32|0;ea=fa+56|0;ca=fa+44|0;X=fa+16|0;W=fa;k[m>>2]=k[d>>2];k[m+4>>2]=k[d+4>>2];k[m+8>>2]=k[d+8>>2];i=k[c>>2]|0;Y=c+4|0;j=k[Y>>2]|0;Z=c+8|0;l=k[Z>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[ea+12>>2]=0;k[ea+16>>2]=0;k[ea+20>>2]=0;_=ea+8|0;$=ea+4|0;aa=ea+16|0;ba=ea+20|0;Yl(ea);g=k[$>>2]|0;h=(k[ba>>2]|0)+(k[aa>>2]|0)|0;if((k[_>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=i;k[g+8>>2]=j;k[g+12>>2]=l;V=g+16|0;k[V>>2]=k[m>>2];k[V+4>>2]=k[m+4>>2];k[V+8>>2]=k[m+8>>2];k[g+28>>2]=e;g=(k[ba>>2]|0)+1|0;k[ba>>2]=g;if(!g){$l(ea);r=fa;return}O=a+816|0;P=a+812|0;Q=da+4|0;R=da+8|0;S=da+4|0;T=da+8|0;U=a+856|0;V=a+852|0;a:while(1){h=k[$>>2]|0;M=k[aa>>2]|0;L=k[h+(M>>>7<<2)>>2]|0;m=M&127;N=k[L+(m<<5)>>2]|0;i=k[L+(m<<5)+4>>2]|0;j=k[L+(m<<5)+8>>2]|0;l=k[L+(m<<5)+12>>2]|0;K=L+(m<<5)+16|0;k[ca>>2]=k[K>>2];k[ca+4>>2]=k[K+4>>2];k[ca+8>>2]=k[K+8>>2];m=k[L+(m<<5)+28>>2]|0;k[ba>>2]=g+-1;M=M+1|0;k[aa>>2]=M;if(M>>>0>255){Jp(k[h>>2]|0);k[$>>2]=(k[$>>2]|0)+4;k[aa>>2]=(k[aa>>2]|0)+-128}k[c>>2]=i;k[Y>>2]=j;k[Z>>2]=l;k[d>>2]=k[ca>>2];k[d+4>>2]=k[ca+4>>2];k[d+8>>2]=k[ca+8>>2];k[da>>2]=k[ca>>2];k[da+4>>2]=k[ca+4>>2];k[da+8>>2]=k[ca+8>>2];M=_m(a,N,c,da,m)|0;l=d+(M<<2)|0;m=k[l>>2]|0;g=k[a>>2]|0;do if((g|0)==(m|0)){if((N|0)>0){g=k[f>>2]|0;h=g+4|0;i=g+8|0;l=0;do{j=k[h>>2]|0;if((j|0)==(k[i>>2]|0))km(g,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[Y>>2];k[j+8>>2]=k[Z>>2];k[h>>2]=j+12}l=l+1|0}while((l|0)<(N|0))}}else{if(!N){g=15;break a}if(N>>>0>=3){k[da>>2]=k[c>>2];k[S>>2]=k[Y>>2];k[T>>2]=k[Z>>2];L=da+(M<<2)|0;k[L>>2]=(k[L>>2]|0)+(1<>>1)-g|0;h=N-j|0;if((j|0)==(h|0)){b=j;n=j}else{N=k[U>>2]|0;g=k[V>>2]|0;i=(k[g>>2]&1<<31-N|0)!=0;N=N+1|0;k[U>>2]=N;if((N|0)==32){k[V>>2]=g+4;k[U>>2]=0}b=i?j:h;n=i?h:j}k[l>>2]=m+1;if(b|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];l=k[c>>2]|0;m=k[Y>>2]|0;e=k[Z>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0;g=k[aa>>2]|0;h=k[ba>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Yl(ea);g=k[aa>>2]|0;h=k[ba>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[X>>2];k[N+4>>2]=k[X+4>>2];k[N+8>>2]=k[X+8>>2];k[g+28>>2]=M;k[ba>>2]=(k[ba>>2]|0)+1}if(n|0){k[W>>2]=k[d>>2];k[W+4>>2]=k[d+4>>2];k[W+8>>2]=k[d+8>>2];l=k[da>>2]|0;m=k[S>>2]|0;e=k[T>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0;g=k[aa>>2]|0;h=k[ba>>2]|0;if((((j|0)==(i|0)?0:(j-i<<5)+-1|0)|0)==(h+g|0)){Yl(ea);g=k[aa>>2]|0;h=k[ba>>2]|0;j=k[_>>2]|0;i=k[$>>2]|0}g=h+g|0;if((j|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;N=g+16|0;k[N>>2]=k[W>>2];k[N+4>>2]=k[W+4>>2];k[N+8>>2]=k[W+8>>2];k[g+28>>2]=M;k[ba>>2]=(k[ba>>2]|0)+1}break}v=(M|0)==2?0:M+1|0;q=(v|0)==2?0:v+1|0;G=g-m|0;E=k[d+(v<<2)>>2]|0;H=g-E|0;z=k[d+(q<<2)>>2]|0;I=g-z|0;J=k[f>>2]|0;K=J+4|0;L=J+8|0;C=(g|0)==(m|0);A=da+(M<<2)|0;D=c+(M<<2)|0;E=(g|0)==(E|0);B=da+(v<<2)|0;F=c+(v<<2)|0;z=(g|0)==(z|0);o=da+(q<<2)|0;p=c+(q<<2)|0;q=da+(q<<2)|0;s=(I|0)<33;t=(I|0)>0;u=32-I|0;v=da+(v<<2)|0;w=(H|0)<33;x=(H|0)>0;y=32-H|0;l=da+(M<<2)|0;m=(G|0)<33;e=(G|0)>0;b=32-G|0;n=0;do{k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;do if(!C){if(!m){g=23;break a}if(!e){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=G-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[l>>2]=g;h=l;break}g=h>>>b;k[l>>2]=g;M=i+G|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=l}else h=l}else{h=A;g=k[A>>2]|0}while(0);k[h>>2]=g|k[D>>2];do if(!E){if(!w){g=23;break a}if(!x){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=H-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[v>>2]=g;h=v;break}g=h>>>y;k[v>>2]=g;M=i+H|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=v}else h=v}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[F>>2];do if(!z){if(!s){g=23;break a}if(!t){g=25;break a}i=k[O>>2]|0;g=32-i|0;j=k[P>>2]|0;h=k[j>>2]<(g|0)){M=I-g|0;k[O>>2]=M;j=j+4|0;k[P>>2]=j;M=32-M|0;g=(k[j>>2]|0)>>>M|h>>>(M-g|0);k[q>>2]=g;h=q;break}g=h>>>u;k[q>>2]=g;M=i+I|0;k[O>>2]=M;if((M|0)==32){k[P>>2]=j+4;k[O>>2]=0;h=q}else h=q}else{h=o;g=k[o>>2]|0}while(0);k[h>>2]=g|k[p>>2];g=k[K>>2]|0;if((g|0)==(k[L>>2]|0))km(J,da);else{k[g>>2]=k[da>>2];k[g+4>>2]=k[Q>>2];k[g+8>>2]=k[R>>2];k[K>>2]=g+12}n=n+1|0}while(n>>>0>>0)}while(0);g=k[ba>>2]|0;if(!g){g=53;break}}if((g|0)==15)Aa(9923,9961,231,10031);else if((g|0)==23)Aa(10044,10068,111,10095);else if((g|0)==25)Aa(10124,10068,112,10095);else if((g|0)==53){$l(ea);r=fa;return}}function Dm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+48|0;n=t+40|0;m=t+28|0;o=t+16|0;p=t+4|0;q=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(yd(a+8+(d*24|0)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(yd(a+776|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+800|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+820|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+840|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];Em(a,v,o,m,0,n);v=1;r=t;return v|0}function Em(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ka=0,la=0,ma=0,na=0;na=r;r=r+160|0;ma=na;n=na+120|0;la=na+72|0;ka=na+28|0;ia=na+16|0;W=na+88|0;X=na+40|0;k[n>>2]=b;k[n+4>>2]=k[c>>2];U=c+4|0;k[n+8>>2]=k[U>>2];V=c+8|0;k[n+12>>2]=k[V>>2];S=n+16|0;k[S>>2]=k[d>>2];k[S+4>>2]=k[d+4>>2];k[S+8>>2]=k[d+8>>2];k[n+28>>2]=e;k[la>>2]=0;S=la+4|0;k[S>>2]=0;k[la+8>>2]=0;T=la+8|0;cm(la,n);b=k[S>>2]|0;n=k[la>>2]|0;e=b-n|0;if((e|0)>32){g=((e>>5)+-2|0)/2|0;h=n+(g<<5)|0;e=b+-32|0;i=k[e>>2]|0;if((k[h>>2]|0)>>>0>>0){j=k[b+-28>>2]|0;l=k[b+-24>>2]|0;m=k[b+-20>>2]|0;b=b+-16|0;k[ma>>2]=k[b>>2];k[ma+4>>2]=k[b+4>>2];k[ma+8>>2]=k[b+8>>2];k[ma+12>>2]=k[b+12>>2];b=h;while(1){k[e>>2]=k[b>>2];k[e+4>>2]=k[b+4>>2];k[e+8>>2]=k[b+8>>2];k[e+12>>2]=k[b+12>>2];k[e+16>>2]=k[b+16>>2];k[e+20>>2]=k[b+20>>2];k[e+24>>2]=k[b+24>>2];k[e+28>>2]=k[b+28>>2];if(!g)break;g=(g+-1|0)/2|0;e=n+(g<<5)|0;if((k[e>>2]|0)>>>0>=i>>>0)break;else{R=b;b=e;e=R}}k[b>>2]=i;k[b+4>>2]=j;k[b+8>>2]=l;k[b+12>>2]=m;g=b+16|0;k[g>>2]=k[ma>>2];k[g+4>>2]=k[ma+4>>2];k[g+8>>2]=k[ma+8>>2];k[g+12>>2]=k[ma+12>>2];g=7}else g=7}else e=n;a:while(1){if((g|0)==7){e=k[la>>2]|0;b=k[S>>2]|0}if((e|0)==(b|0)){g=63;break}R=k[e>>2]|0;b=k[e+4>>2]|0;o=k[e+8>>2]|0;m=k[e+12>>2]|0;Q=e+16|0;k[ka>>2]=k[Q>>2];k[ka+4>>2]=k[Q+4>>2];k[ka+8>>2]=k[Q+8>>2];Q=k[e+28>>2]|0;dm(la);k[c>>2]=b;k[U>>2]=o;k[V>>2]=m;k[d>>2]=k[ka>>2];k[d+4>>2]=k[ka+4>>2];k[d+8>>2]=k[ka+8>>2];k[ma>>2]=k[ka>>2];k[ma+4>>2]=k[ka+4>>2];k[ma+8>>2]=k[ka+8>>2];Q=an(a,R,c,ma,Q)|0;m=d+(Q<<2)|0;o=k[m>>2]|0;b=k[a>>2]|0;do if((b|0)==(o|0)){if((R|0)>0){b=k[f>>2]|0;e=b+4|0;g=b+8|0;i=0;do{h=k[e>>2]|0;if((h|0)==(k[g>>2]|0))km(b,c);else{k[h>>2]=k[c>>2];k[h+4>>2]=k[U>>2];k[h+8>>2]=k[V>>2];k[e>>2]=h+12}i=i+1|0}while((i|0)<(R|0))}}else{if(!R){g=17;break a}if(R>>>0>=3){k[ia>>2]=k[c>>2];p=ia+4|0;k[p>>2]=k[U>>2];q=ia+8|0;k[q>>2]=k[V>>2];P=ia+(Q<<2)|0;k[P>>2]=(k[P>>2]|0)+(1<>>1)-b|0;h=R-j|0;if((j|0)==(h|0)){l=j;n=j}else{b=a+856|0;R=k[b>>2]|0;e=a+852|0;g=k[e>>2]|0;i=(k[g>>2]&1<<31-R|0)!=0;R=R+1|0;k[b>>2]=R;if((R|0)==32){k[e>>2]=g+4;k[b>>2]=0}l=i?j:h;n=i?h:j}k[m>>2]=o+1;if(l|0){k[W>>2]=l;b=k[c>>2]|0;k[W+4>>2]=b;e=k[U>>2]|0;k[W+8>>2]=e;g=k[V>>2]|0;k[W+12>>2]=g;h=W+16|0;k[h>>2]=k[d>>2];k[h+4>>2]=k[d+4>>2];k[h+8>>2]=k[d+8>>2];k[W+28>>2]=Q;i=k[S>>2]|0;if(i>>>0<(k[T>>2]|0)>>>0){k[i>>2]=l;k[i+4>>2]=b;k[i+8>>2]=e;k[i+12>>2]=g;g=i+16|0;k[g>>2]=k[h>>2];k[g+4>>2]=k[h+4>>2];k[g+8>>2]=k[h+8>>2];k[g+12>>2]=k[h+12>>2];g=(k[S>>2]|0)+32|0;k[S>>2]=g}else{em(la,W);g=k[S>>2]|0}b=k[la>>2]|0;e=g-b|0;if((e|0)>32?(Y=((e>>5)+-2|0)/2|0,Z=b,_=Z+(Y<<5)|0,$=g,aa=$+-32|0,ba=k[aa>>2]|0,(k[_>>2]|0)>>>0>>0):0){h=k[$+-28>>2]|0;i=k[$+-24>>2]|0;j=k[$+-20>>2]|0;g=$+-16|0;k[ma>>2]=k[g>>2];k[ma+4>>2]=k[g+4>>2];k[ma+8>>2]=k[g+8>>2];k[ma+12>>2]=k[g+12>>2];g=Y;e=aa;b=_;while(1){k[e>>2]=k[b>>2];k[e+4>>2]=k[b+4>>2];k[e+8>>2]=k[b+8>>2];k[e+12>>2]=k[b+12>>2];k[e+16>>2]=k[b+16>>2];k[e+20>>2]=k[b+20>>2];k[e+24>>2]=k[b+24>>2];k[e+28>>2]=k[b+28>>2];if(!g)break;g=(g+-1|0)/2|0;e=Z+(g<<5)|0;if((k[e>>2]|0)>>>0>=ba>>>0)break;else{R=b;b=e;e=R}}k[b>>2]=ba;k[b+4>>2]=h;k[b+8>>2]=i;k[b+12>>2]=j;R=b+16|0;k[R>>2]=k[ma>>2];k[R+4>>2]=k[ma+4>>2];k[R+8>>2]=k[ma+8>>2];k[R+12>>2]=k[ma+12>>2]}}if(n|0){k[X>>2]=n;i=k[ia>>2]|0;k[X+4>>2]=i;h=k[p>>2]|0;k[X+8>>2]=h;e=k[q>>2]|0;k[X+12>>2]=e;g=X+16|0;k[g>>2]=k[d>>2];k[g+4>>2]=k[d+4>>2];k[g+8>>2]=k[d+8>>2];k[X+28>>2]=Q;b=k[S>>2]|0;if(b>>>0<(k[T>>2]|0)>>>0){k[b>>2]=n;k[b+4>>2]=i;k[b+8>>2]=h;k[b+12>>2]=e;R=b+16|0;k[R>>2]=k[g>>2];k[R+4>>2]=k[g+4>>2];k[R+8>>2]=k[g+8>>2];k[R+12>>2]=k[g+12>>2];g=(k[S>>2]|0)+32|0;k[S>>2]=g}else{em(la,X);g=k[S>>2]|0}b=k[la>>2]|0;e=g-b|0;if((e|0)>32?(ca=((e>>5)+-2|0)/2|0,da=b,ea=da+(ca<<5)|0,fa=g,ga=fa+-32|0,ha=k[ga>>2]|0,(k[ea>>2]|0)>>>0>>0):0){h=k[fa+-28>>2]|0;i=k[fa+-24>>2]|0;j=k[fa+-20>>2]|0;g=fa+-16|0;k[ma>>2]=k[g>>2];k[ma+4>>2]=k[g+4>>2];k[ma+8>>2]=k[g+8>>2];k[ma+12>>2]=k[g+12>>2];g=ca;e=ga;b=ea;while(1){k[e>>2]=k[b>>2];k[e+4>>2]=k[b+4>>2];k[e+8>>2]=k[b+8>>2];k[e+12>>2]=k[b+12>>2];k[e+16>>2]=k[b+16>>2];k[e+20>>2]=k[b+20>>2];k[e+24>>2]=k[b+24>>2];k[e+28>>2]=k[b+28>>2];if(!g)break;g=(g+-1|0)/2|0;e=da+(g<<5)|0;if((k[e>>2]|0)>>>0>=ha>>>0)break;else{R=b;b=e;e=R}}k[b>>2]=ha;k[b+4>>2]=h;k[b+8>>2]=i;k[b+12>>2]=j;R=b+16|0;k[R>>2]=k[ma>>2];k[R+4>>2]=k[ma+4>>2];k[R+8>>2]=k[ma+8>>2];k[R+12>>2]=k[ma+12>>2]}}break}w=(Q|0)==2?0:Q+1|0;s=(w|0)==2?0:w+1|0;G=b-o|0;C=k[d+(w<<2)>>2]|0;H=b-C|0;p=k[d+(s<<2)>>2]|0;I=b-p|0;J=a+816|0;K=a+812|0;L=k[f>>2]|0;M=L+4|0;N=L+8|0;O=ma+4|0;P=ma+8|0;E=(b|0)==(o|0);A=ma+(Q<<2)|0;F=c+(Q<<2)|0;C=(b|0)==(C|0);B=ma+(w<<2)|0;D=c+(w<<2)|0;p=(b|0)==(p|0);o=ma+(s<<2)|0;q=c+(s<<2)|0;s=ma+(s<<2)|0;t=(I|0)<33;u=(I|0)>0;v=32-I|0;w=ma+(w<<2)|0;x=(H|0)<33;y=(H|0)>0;z=32-H|0;i=ma+(Q<<2)|0;j=(G|0)<33;l=(G|0)>0;m=32-G|0;n=0;do{k[ma>>2]=0;k[ma+4>>2]=0;k[ma+8>>2]=0;do if(!E){if(!j){g=25;break a}if(!l){g=27;break a}g=k[J>>2]|0;b=32-g|0;h=k[K>>2]|0;e=k[h>>2]<(b|0)){Q=G-b|0;k[J>>2]=Q;h=h+4|0;k[K>>2]=h;Q=32-Q|0;b=(k[h>>2]|0)>>>Q|e>>>(Q-b|0);k[i>>2]=b;e=i;break}b=e>>>m;k[i>>2]=b;Q=g+G|0;k[J>>2]=Q;if((Q|0)==32){k[K>>2]=h+4;k[J>>2]=0;e=i}else e=i}else{e=A;b=k[A>>2]|0}while(0);k[e>>2]=b|k[F>>2];do if(!C){if(!x){g=25;break a}if(!y){g=27;break a}g=k[J>>2]|0;b=32-g|0;h=k[K>>2]|0;e=k[h>>2]<(b|0)){Q=H-b|0;k[J>>2]=Q;h=h+4|0;k[K>>2]=h;Q=32-Q|0;b=(k[h>>2]|0)>>>Q|e>>>(Q-b|0);k[w>>2]=b;e=w;break}b=e>>>z;k[w>>2]=b;Q=g+H|0;k[J>>2]=Q;if((Q|0)==32){k[K>>2]=h+4;k[J>>2]=0;e=w}else e=w}else{e=B;b=k[B>>2]|0}while(0);k[e>>2]=b|k[D>>2];do if(!p){if(!t){g=25;break a}if(!u){g=27;break a}g=k[J>>2]|0;b=32-g|0;h=k[K>>2]|0;e=k[h>>2]<(b|0)){Q=I-b|0;k[J>>2]=Q;h=h+4|0;k[K>>2]=h;Q=32-Q|0;b=(k[h>>2]|0)>>>Q|e>>>(Q-b|0);k[s>>2]=b;e=s;break}b=e>>>v;k[s>>2]=b;Q=g+I|0;k[J>>2]=Q;if((Q|0)==32){k[K>>2]=h+4;k[J>>2]=0;e=s}else e=s}else{e=o;b=k[o>>2]|0}while(0);k[e>>2]=b|k[q>>2];b=k[M>>2]|0;if((b|0)==(k[N>>2]|0))km(L,ma);else{k[b>>2]=k[ma>>2];k[b+4>>2]=k[O>>2];k[b+8>>2]=k[P>>2];k[M>>2]=b+12}n=n+1|0}while(n>>>0>>0)}while(0);g=7}if((g|0)==17)Aa(9923,9961,231,10031);else if((g|0)==25)Aa(10044,10068,111,10095);else if((g|0)==27)Aa(10124,10068,112,10095);else if((g|0)==63){if(!b){r=na;return}Jp(b);r=na;return}}function Fm(a){a=a|0;k[a>>2]=0;gd(a+8|0);gd(a+28|0);gd(a+48|0);gd(a+68|0);return}function Gm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Hm(a){a=a|0;k[a>>2]=0;gd(a+8|0);gd(a+28|0);gd(a+48|0);gd(a+68|0);return}function Im(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Jm(a){a=a|0;k[a>>2]=0;rd(a+8|0);gd(a+24|0);gd(a+44|0);gd(a+64|0);return}function Km(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Lm(a){a=a|0;k[a>>2]=0;rd(a+8|0);gd(a+24|0);gd(a+44|0);gd(a+64|0);return}function Mm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Nm(a){a=a|0;k[a>>2]=0;Om(a+8|0);rd(a+520|0);gd(a+536|0);gd(a+556|0);gd(a+576|0);return}function Om(a){a=a|0;rd(a);rd(a+16|0);rd(a+32|0);rd(a+48|0);rd(a+64|0);rd(a+80|0);rd(a+96|0);rd(a+112|0);rd(a+128|0);rd(a+144|0);rd(a+160|0);rd(a+176|0);rd(a+192|0);rd(a+208|0);rd(a+224|0);rd(a+240|0);rd(a+256|0);rd(a+272|0);rd(a+288|0);rd(a+304|0);rd(a+320|0);rd(a+336|0);rd(a+352|0);rd(a+368|0);rd(a+384|0);rd(a+400|0);rd(a+416|0);rd(a+432|0);rd(a+448|0);rd(a+464|0);rd(a+480|0);rd(a+496|0);return}function Pm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Qm(a){a=a|0;k[a>>2]=0;Om(a+8|0);rd(a+520|0);gd(a+536|0);gd(a+556|0);gd(a+576|0);return}function Rm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Sm(a){a=a|0;k[a>>2]=0;Om(a+8|0);rd(a+520|0);gd(a+536|0);gd(a+556|0);gd(a+576|0);return}function Tm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(b>>>0<64){a=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;a=(k[d+(a<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:a;return a|0}f=a+572|0;g=k[f>>2]|0;e=32-g|0;d=a+568|0;b=k[d>>2]|0;c=k[b>>2]<>2]=a;g=b+4|0;k[d>>2]=g;a=32-a|0;a=(k[g>>2]|0)>>>a|c>>>(a-e|0);return a|0}c=c>>>28;a=g+4|0;k[f>>2]=a;if((a|0)!=32){a=c;return a|0}k[d>>2]=b+4;k[f>>2]=0;a=c;return a|0}function Um(a){a=a|0;k[a>>2]=0;Om(a+8|0);rd(a+520|0);gd(a+536|0);gd(a+556|0);gd(a+576|0);return}function Vm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(b>>>0<64){a=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;a=(k[d+(a<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:a;return a|0}f=a+572|0;g=k[f>>2]|0;e=32-g|0;d=a+568|0;b=k[d>>2]|0;c=k[b>>2]<>2]=a;g=b+4|0;k[d>>2]=g;a=32-a|0;a=(k[g>>2]|0)>>>a|c>>>(a-e|0);return a|0}c=c>>>28;a=g+4|0;k[f>>2]=a;if((a|0)!=32){a=c;return a|0}k[d>>2]=b+4;k[f>>2]=0;a=c;return a|0}function Wm(a){a=a|0;k[a>>2]=0;Xm(a+8|0);wd(a+776|0);gd(a+800|0);gd(a+820|0);gd(a+840|0);return}function Xm(a){a=a|0;wd(a);wd(a+24|0);wd(a+48|0);wd(a+72|0);wd(a+96|0);wd(a+120|0);wd(a+144|0);wd(a+168|0);wd(a+192|0);wd(a+216|0);wd(a+240|0);wd(a+264|0);wd(a+288|0);wd(a+312|0);wd(a+336|0);wd(a+360|0);wd(a+384|0);wd(a+408|0);wd(a+432|0);wd(a+456|0);wd(a+480|0);wd(a+504|0);wd(a+528|0);wd(a+552|0);wd(a+576|0);wd(a+600|0);wd(a+624|0);wd(a+648|0);wd(a+672|0);wd(a+696|0);wd(a+720|0);wd(a+744|0);return}function Ym(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(b>>>0<64){a=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;a=(k[d+(a<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:a;return a|0}f=a+836|0;g=k[f>>2]|0;e=32-g|0;d=a+832|0;b=k[d>>2]|0;c=k[b>>2]<>2]=a;g=b+4|0;k[d>>2]=g;a=32-a|0;a=(k[g>>2]|0)>>>a|c>>>(a-e|0);return a|0}c=c>>>28;a=g+4|0;k[f>>2]=a;if((a|0)!=32){a=c;return a|0}k[d>>2]=b+4;k[f>>2]=0;a=c;return a|0}function Zm(a){a=a|0;k[a>>2]=0;Xm(a+8|0);wd(a+776|0);gd(a+800|0);gd(a+820|0);gd(a+840|0);return}function _m(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(b>>>0<64){a=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;a=(k[d+(a<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:a;return a|0}f=a+836|0;g=k[f>>2]|0;e=32-g|0;d=a+832|0;b=k[d>>2]|0;c=k[b>>2]<>2]=a;g=b+4|0;k[d>>2]=g;a=32-a|0;a=(k[g>>2]|0)>>>a|c>>>(a-e|0);return a|0}c=c>>>28;a=g+4|0;k[f>>2]=a;if((a|0)!=32){a=c;return a|0}k[d>>2]=b+4;k[f>>2]=0;a=c;return a|0}function $m(a){a=a|0;k[a>>2]=0;Xm(a+8|0);wd(a+776|0);gd(a+800|0);gd(a+820|0);gd(a+840|0);return}function an(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(b>>>0<64){a=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;a=(k[d+(a<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:a;return a|0}f=a+836|0;g=k[f>>2]|0;e=32-g|0;d=a+832|0;b=k[d>>2]|0;c=k[b>>2]<>2]=a;g=b+4|0;k[d>>2]=g;a=32-a|0;a=(k[g>>2]|0)>>>a|c>>>(a-e|0);return a|0}c=c>>>28;a=g+4|0;k[f>>2]=a;if((a|0)!=32){a=c;return a|0}k[d>>2]=b+4;k[f>>2]=0;a=c;return a|0}function bn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Jp(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)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Jp(b);Jp(a);return}function cn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+16|0;j=l;i=aq(52)|0;g=aq(12)|0;f=k[(k[a+4>>2]|0)+64>>2]|0;k[g+4>>2]=0;k[g>>2]=4316;k[g+8>>2]=f;k[j>>2]=g;Dk(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){Lk(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)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[f>>2]|0}while((a|0)!=(h|0))}while(0);b=(k[g>>2]|0)+(b<<2)|0;a=k[b>>2]|0;k[b>>2]=i;if(a|0)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[j>>2]|0;k[j>>2]=0;if(!a){r=l;return 1}ab[k[(k[a>>2]|0)+4>>2]&127](a);r=l;return 1}function dn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+16|0;x=y;v=a+20|0;q=k[v>>2]|0;m=q+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;f=q+16|0;o=f;n=k[o>>2]|0;o=k[o+4>>2]|0;c=kq(n|0,o|0,4,0)|0;b=L;if((m|0)<(b|0)|(m|0)==(b|0)&j>>>0>>0){a=0;r=y;return a|0}e=k[q>>2]|0;w=e+n|0;w=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;d=f;k[d>>2]=c;k[d+4>>2]=b;b=kq(n|0,o|0,8,0)|0;d=L;if((m|0)<(d|0)|(m|0)==(d|0)&j>>>0>>0){a=0;r=y;return a|0}u=e+c|0;u=l[u>>0]|l[u+1>>0]<<8|l[u+2>>0]<<16|l[u+3>>0]<<24;t=f;k[t>>2]=b;k[t+4>>2]=d;if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>b>>>0)){a=0;r=y;return a|0}t=i[e+b>>0]|0;h=kq(n|0,o|0,9,0)|0;g=L;s=f;k[s>>2]=h;k[s+4>>2]=g;a:do if(!(t<<24>>24)){if(!(en(a,w)|0)){a=0;r=y;return a|0}}else{if((u|0)<256){if((w|0)<=0)break;n=a+24|0;o=x+4|0;p=x+8|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;b:do if((m|0)>(g|0)|(m|0)==(g|0)&j>>>0>h>>>0){b=q;f=m;e=j;j=0;do{d=b+16|0;c=k[b>>2]|0;s=i[c+h>>0]|0;b=kq(h|0,g|0,1,0)|0;t=L;q=d;k[q>>2]=b;k[q+4>>2]=t;k[x>>2]=s&255;if(!((f|0)>(t|0)|(f|0)==(t|0)&e>>>0>b>>>0))break b;s=i[c+b>>0]|0;b=kq(h|0,g|0,2,0)|0;t=L;q=d;k[q>>2]=b;k[q+4>>2]=t;k[o>>2]=s&255;if(!((f|0)>(t|0)|(f|0)==(t|0)&e>>>0>b>>>0))break b;c=i[c+b>>0]|0;b=kq(h|0,g|0,3,0)|0;k[d>>2]=b;k[d+4>>2]=L;k[p>>2]=c&255;d=k[n>>2]|0;c=d+84|0;b=k[c>>2]|0;if((b|0)==(k[d+88>>2]|0))fn(d+80|0,x);else{k[b>>2]=k[x>>2];k[b+4>>2]=k[x+4>>2];k[b+8>>2]=k[x+8>>2];k[c>>2]=(k[c>>2]|0)+12}j=j+1|0;if((j|0)>=(w|0))break a;b=k[v>>2]|0;f=b+8|0;e=k[f>>2]|0;f=k[f+4>>2]|0;g=b+16|0;h=k[g>>2]|0;g=k[g+4>>2]|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0}while((f|0)>(g|0)|(f|0)==(g|0)&e>>>0>h>>>0)}while(0);a=0;r=y;return a|0}b=(w|0)>0;if((u|0)<65536){if(!b)break;p=a+24|0;s=x+4|0;t=x+8|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;b=kq(n|0,o|0,11,0)|0;c=L;c:do if(!((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0)){d=q;n=0;do{f=d+16|0;e=k[d>>2]|0;d=e+h|0;d=l[d>>0]|l[d+1>>0]<<8;q=f;k[q>>2]=b;k[q+4>>2]=c;k[x>>2]=d&65535;d=kq(h|0,g|0,4,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0)break c;b=e+b|0;b=l[b>>0]|l[b+1>>0]<<8;q=f;k[q>>2]=d;k[q+4>>2]=c;k[s>>2]=b&65535;b=kq(h|0,g|0,6,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0)break c;d=e+d|0;d=l[d>>0]|l[d+1>>0]<<8;q=f;k[q>>2]=b;k[q+4>>2]=c;k[t>>2]=d&65535;d=k[p>>2]|0;c=d+84|0;b=k[c>>2]|0;if((b|0)==(k[d+88>>2]|0))fn(d+80|0,x);else{k[b>>2]=k[x>>2];k[b+4>>2]=k[x+4>>2];k[b+8>>2]=k[x+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;m=d+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;g=d+16|0;h=k[g>>2]|0;g=k[g+4>>2]|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;b=kq(h|0,g|0,2,0)|0;c=L}while(!((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0))}while(0);a=0;r=y;return a|0}else{if(!b)break;p=a+24|0;s=x+4|0;t=x+8|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;b=kq(n|0,o|0,13,0)|0;c=L;d:do if(!((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0)){d=q;n=0;do{f=d+16|0;e=k[d>>2]|0;d=e+h|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;q=f;k[q>>2]=b;k[q+4>>2]=c;k[x>>2]=d;d=kq(h|0,g|0,8,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>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;q=f;k[q>>2]=d;k[q+4>>2]=c;k[s>>2]=b;b=kq(h|0,g|0,12,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>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;q=f;k[q>>2]=b;k[q+4>>2]=c;k[t>>2]=d;d=k[p>>2]|0;c=d+84|0;b=k[c>>2]|0;if((b|0)==(k[d+88>>2]|0))fn(d+80|0,x);else{k[b>>2]=k[x>>2];k[b+4>>2]=k[x+4>>2];k[b+8>>2]=k[x+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;m=d+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;g=d+16|0;h=k[g>>2]|0;g=k[g+4>>2]|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;b=kq(h|0,g|0,4,0)|0;c=L}while(!((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0))}while(0);a=0;r=y;return a|0}}while(0);k[(k[a+4>>2]|0)+64>>2]=u;a=1;r=y;return a|0}function en(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+32|0;m=o+12|0;l=o;c=b*3|0;k[m>>2]=0;n=m+4|0;k[n>>2]=0;k[m+8>>2]=0;do if(b)if(c>>>0>1073741823)zp(m);else{i=b*12|0;d=aq(i)|0;k[m>>2]=d;j=d+(c<<2)|0;k[m+8>>2]=j;iq(d|0,0,i|0)|0;k[n>>2]=j;break}else d=0;while(0);if(Ld(c,1,k[a+20>>2]|0,d)|0)if((b|0)>0){c=a+24|0;d=l+4|0;a=l+8|0;h=0;i=0;j=0;while(1){g=l;k[g>>2]=0;k[g+4>>2]=0;g=k[m>>2]|0;p=k[g+(j<<2)>>2]|0;e=p>>>1;e=((p&1|0)==0?e:0-e|0)+i|0;k[l>>2]=e;p=k[g+(j+1<<2)>>2]|0;f=p>>>1;e=((p&1|0)==0?f:0-f|0)+e|0;k[d>>2]=e;g=k[g+(j+2<<2)>>2]|0;f=g>>>1;i=((g&1|0)==0?f:0-f|0)+e|0;k[a>>2]=i;e=k[c>>2]|0;f=e+84|0;g=k[f>>2]|0;if((g|0)==(k[e+88>>2]|0))fn(e+80|0,l);else{k[g>>2]=k[l>>2];k[g+4>>2]=k[l+4>>2];k[g+8>>2]=k[l+8>>2];k[f>>2]=(k[f>>2]|0)+12}h=h+1|0;if((h|0)>=(b|0)){a=1;break}else j=j+3|0}}else a=1;else a=0;c=k[m>>2]|0;if(!c){r=o;return a|0}d=k[n>>2]|0;if((d|0)!=(c|0))k[n>>2]=d+(~((d+-4-c|0)>>>2)<<2);Jp(c);r=o;return a|0}function fn(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;h=a+4|0;i=k[a>>2]|0;d=(((k[h>>2]|0)-i|0)/12|0)+1|0;if(d>>>0>357913941)zp(a);j=a+8|0;c=((k[j>>2]|0)-i|0)/12|0;if(c>>>0<178956970){c=c<<1;c=c>>>0>>0?d:c;e=k[h>>2]|0;d=(e-i|0)/12|0;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=357913941;e=d;d=(d-i|0)/12|0;l=6}if((l|0)==6){g=c;f=aq(c*12|0)|0;c=e}l=f+(d*12|0)|0;k[l>>2]=k[b>>2];k[l+4>>2]=k[b+4>>2];k[l+8>>2]=k[b+8>>2];e=c-i|0;b=l+(((e|0)/-12|0)*12|0)|0;mq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+12;k[j>>2]=f+(g*12|0);if(!i)return;Jp(i);return}function gn(a){a=a|0;nh(a);k[a>>2]=4412;return}function hn(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4472;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b)return;c=a+12|0;a=k[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-4|0;k[c>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[c>>2]|0}while((a|0)!=(b|0));b=k[d>>2]|0}Jp(b);return}function jn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=4472;e=a+28|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Jp(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)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Jp(b);Jp(a);return}function kn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a+20>>2]|0;f=b+8|0;h=k[f+4>>2]|0;e=b+16|0;d=e;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((h|0)>(d|0)|((h|0)==(d|0)?(k[f>>2]|0)>>>0>c>>>0:0))){h=0;return h|0}f=i[(k[b>>2]|0)+c>>0]|0;b=kq(c|0,d|0,1,0)|0;d=e;k[d>>2]=b;k[d+4>>2]=L;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);switch(f<<24>>24){case 0:{b=aq(336)|0;Po(b);c=k[d>>2]|0;k[d>>2]=b;if(c){ab[k[(k[c>>2]|0)+4>>2]&127](c);g=9}break}case 1:{b=aq(376)|0;Qo(b);c=k[d>>2]|0;k[d>>2]=b;if(c){ab[k[(k[c>>2]|0)+4>>2]&127](c);g=9}break}default:g=9}if((g|0)==9){b=k[d>>2]|0;if(!b){h=0;return h|0}}h=gb[k[(k[b>>2]|0)+8>>2]&63](b,a)|0;return h|0}function ln(a,b){a=a|0;b=b|0;a=k[a+28>>2]|0;return gb[k[(k[a>>2]|0)+20>>2]&63](a,b)|0}function mn(a){a=a|0;a=k[a+28>>2]|0;return cb[k[(k[a>>2]|0)+28>>2]&127](a)|0}function nn(a){a=a|0;a=k[a+28>>2]|0;return cb[k[(k[a>>2]|0)+36>>2]&127](a)|0}function on(a,b){a=a|0;b=b|0;a=k[a+28>>2]|0;return gb[k[(k[a>>2]|0)+12>>2]&63](a,b)|0}function pn(a,b){a=a|0;b=b|0;a=k[a+28>>2]|0;return gb[k[(k[a>>2]|0)+16>>2]&63](a,b)|0}function qn(a){a=a|0;a=k[a+28>>2]|0;return cb[k[(k[a>>2]|0)+24>>2]&127](a)|0}function rn(a){a=a|0;nh(a);k[a>>2]=4472;k[a+28>>2]=0;return}function sn(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4532;e=a+320|0;c=k[e>>2]|0;k[e>>2]=0;if(c|0){d=c+-4|0;b=k[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;sd(b)}while((b|0)!=(c|0))}dq(d)}Og(a+304|0);Og(a+264|0);tn(a+228|0);b=k[a+212>>2]|0;c=b;if(b|0){d=a+216|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+200>>2]|0;c=b;if(b|0){d=a+204|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+188>>2]|0;c=b;if(b|0){d=a+192|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+176>>2]|0;c=b;if(b|0){d=a+180|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+160>>2]|0;if(b|0)do{e=b;b=k[b>>2]|0;Jp(e)}while((b|0)!=0);e=a+152|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)Jp(b);b=k[a+136>>2]|0;if(b|0)Jp(b);b=k[a+124>>2]|0;if(b|0)Jp(b);b=k[a+112>>2]|0;if(b|0)Jp(b);b=k[a+88>>2]|0;c=b;if(b|0){d=a+92|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+76>>2]|0;c=b;if(b|0){d=a+80|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+64>>2]|0;if(b|0)Jp(b);b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+36>>2]|0;c=b;if(b|0){d=a+40|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);Jp(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}a=a+8|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Gd(b);Jp(b);return}function tn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a>>2]|0;if(!b)return;h=a+4|0;c=k[h>>2]|0;if((c|0)!=(b|0)){do{k[h>>2]=c+-116;g=k[c+-12>>2]|0;d=g;if(g|0){e=c+-8|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(g)}d=k[c+-28>>2]|0;e=d;if(d|0){f=c+-24|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}d=k[c+-40>>2]|0;e=d;if(d|0){f=c+-36|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}un(c+-112|0);c=k[h>>2]|0}while((c|0)!=(b|0));b=k[a>>2]|0}Jp(b);return}function un(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a+52>>2]|0;c=b;if(b|0){d=a+56|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+40>>2]|0;c=b;if(b|0){d=a+44|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+28>>2]|0;c=b;if(b|0){d=a+32|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+12>>2]|0;if(b|0)Jp(b);b=k[a>>2]|0;if(!b)return;Jp(b);return}function vn(a){a=a|0;sn(a);Jp(a);return}function wn(a,b){a=a|0;b=b|0;k[a+4>>2]=b;return 1}function xn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;h=d;if((c|0)==(d|0)){j=0;return j|0}g=k[(k[a+4>>2]|0)+8>>2]|0;e=(c-d|0)/116|0;a=0;a:while(1){c=k[g+(k[h+(a*116|0)>>2]<<2)>>2]|0;f=k[c+4>>2]|0;c=(k[c+8>>2]|0)-f|0;if((c|0)>0){c=c>>2;d=0;do{if((k[f+(d<<2)>>2]|0)==(b|0))break a;d=d+1|0}while((d|0)<(c|0))}a=a+1|0;if(a>>>0>=e>>>0){a=0;j=9;break}}if((j|0)==9)return a|0;j=(i[h+(a*116|0)+72>>0]|0)==0?0:h+(a*116|0)+4|0;return j|0}function yn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;i=d;a:do if((c|0)!=(d|0)){h=k[(k[a+4>>2]|0)+8>>2]|0;f=(c-d|0)/116|0;c=0;b:while(1){d=k[h+(k[i+(c*116|0)>>2]<<2)>>2]|0;g=k[d+4>>2]|0;d=(k[d+8>>2]|0)-g|0;if((d|0)>0){d=d>>2;e=0;do{if((k[g+(e<<2)>>2]|0)==(b|0))break b;e=e+1|0}while((e|0)<(d|0))}c=c+1|0;if(c>>>0>=f>>>0)break a}i=i+(c*116|0)+76|0;return i|0}while(0);i=a+200|0;return i|0}function zn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+208|0;t=z+168|0;v=z+36|0;u=z;p=z+136|0;s=z+104|0;w=z+32|0;x=a+4|0;l=k[x>>2]|0;c=k[l+20>>2]|0;f=c+8|0;e=k[f>>2]|0;f=k[f+4>>2]|0;g=c+16|0;j=g;h=k[j>>2]|0;j=k[j+4>>2]|0;if(!((f|0)>(j|0)|(f|0)==(j|0)&e>>>0>h>>>0)){b=0;r=z;return b|0}c=k[c>>2]|0;m=i[c+h>>0]|0;d=kq(h|0,j|0,1,0)|0;q=L;o=g;k[o>>2]=d;k[o+4>>2]=q;if(!((f|0)>(q|0)|(f|0)==(q|0)&e>>>0>d>>>0)){b=0;r=z;return b|0}e=i[c+d>>0]|0;o=kq(h|0,j|0,2,0)|0;q=g;k[q>>2]=o;k[q+4>>2]=L;do if(m<<24>>24>-1){c=m<<24>>24;d=k[a+228>>2]|0;if(c>>>0<(((k[a+232>>2]|0)-d|0)/116|0)>>>0){k[d+(c*116|0)>>2]=b;break}else{b=0;r=z;return b|0}}while(0);q=k[l+24>>2]|0;c=m<<24>>24<0;if(!(e<<24>>24)){if(c)g=a+200|0;else{g=m<<24>>24;s=k[a+228>>2]|0;i[s+(g*116|0)+72>>0]=0;g=s+(g*116|0)+76|0}c=aq(88)|0;k[c+4>>2]=0;k[c>>2]=4580;h=c+12|0;k[h>>2]=4604;j=c+64|0;k[j>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;f=c+16|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));k[c+76>>2]=q;k[c+80>>2]=g;k[c+84>>2]=0;n=v+4|0;k[n>>2]=4604;l=v+56|0;k[l>>2]=0;o=v+60|0;k[o>>2]=0;k[v+64>>2]=0;f=v+8|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));e=k[a+8>>2]|0;k[u>>2]=4604;d=u+4|0;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;f=e;k[d>>2]=f;f=((k[f+4>>2]|0)-(k[e>>2]|0)|0)/12|0;i[t>>0]=0;Dg(u+8|0,f,t);ab[k[(k[u>>2]|0)+8>>2]&127](u);Jn(p,u);Jn(t,p);k[v>>2]=k[t+4>>2];f=v+4|0;Mn(f,t)|0;k[t>>2]=4604;d=k[t+20>>2]|0;if(d|0)Jp(d);d=k[t+8>>2]|0;if(d|0)Jp(d);k[v+36>>2]=e;k[v+40>>2]=g;k[v+44>>2]=q;k[v+48>>2]=c;k[p>>2]=4604;d=k[p+20>>2]|0;if(d|0)Jp(d);d=k[p+8>>2]|0;if(d|0)Jp(d);k[c+8>>2]=k[v>>2];Mn(h,f)|0;d=c+44|0;t=v+36|0;k[d>>2]=k[t>>2];k[d+4>>2]=k[t+4>>2];k[d+8>>2]=k[t+8>>2];k[d+12>>2]=k[t+12>>2];i[d+16>>0]=i[t+16>>0]|0;Nn(j,k[l>>2]|0,k[o>>2]|0);k[u>>2]=4604;d=k[u+20>>2]|0;if(d|0)Jp(d);d=k[u+8>>2]|0;if(d|0)Jp(d);d=k[l>>2]|0;e=d;if(d|0){f=k[o>>2]|0;if((f|0)!=(d|0))k[o>>2]=f+(~((f+-4-e|0)>>>2)<<2);Jp(d)}k[n>>2]=4604;d=k[v+24>>2]|0;if(d|0)Jp(d);d=k[v+12>>2]|0;if(d|0)Jp(d)}else{if(c){b=0;r=z;return b|0}c=aq(88)|0;e=m<<24>>24;d=k[a+228>>2]|0;g=d+(e*116|0)+76|0;k[c+4>>2]=0;k[c>>2]=4628;h=c+12|0;k[h>>2]=4652;j=c+64|0;k[j>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;f=c+16|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));k[c+76>>2]=q;k[c+80>>2]=g;k[c+84>>2]=0;n=v+4|0;k[n>>2]=4652;l=v+56|0;k[l>>2]=0;o=v+60|0;k[o>>2]=0;k[v+64>>2]=0;f=v+8|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));f=d+(e*116|0)+4|0;k[u>>2]=4652;p=u+4|0;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;k[p+24>>2]=0;k[p>>2]=f;e=k[d+(e*116|0)+68>>2]|0;e=((k[e+4>>2]|0)-(k[e>>2]|0)|0)/12|0;i[t>>0]=0;Dg(u+8|0,e,t);ab[k[(k[u>>2]|0)+8>>2]&127](u);Xn(s,u);Xn(t,s);k[v>>2]=k[t+4>>2];e=v+4|0;Yn(e,t)|0;k[t>>2]=4652;d=k[t+20>>2]|0;if(d|0)Jp(d);d=k[t+8>>2]|0;if(d|0)Jp(d);k[v+36>>2]=f;k[v+40>>2]=g;k[v+44>>2]=q;k[v+48>>2]=c;k[s>>2]=4652;d=k[s+20>>2]|0;if(d|0)Jp(d);d=k[s+8>>2]|0;if(d|0)Jp(d);k[c+8>>2]=k[v>>2];Yn(h,e)|0;d=c+44|0;t=v+36|0;k[d>>2]=k[t>>2];k[d+4>>2]=k[t+4>>2];k[d+8>>2]=k[t+8>>2];k[d+12>>2]=k[t+12>>2];i[d+16>>0]=i[t+16>>0]|0;Nn(j,k[l>>2]|0,k[o>>2]|0);k[u>>2]=4652;d=k[u+20>>2]|0;if(d|0)Jp(d);d=k[u+8>>2]|0;if(d|0)Jp(d);d=k[l>>2]|0;e=d;if(d|0){f=k[o>>2]|0;if((f|0)!=(d|0))k[o>>2]=f+(~((f+-4-e|0)>>>2)<<2);Jp(d)}k[n>>2]=4652;d=k[v+24>>2]|0;if(d|0)Jp(d);d=k[v+12>>2]|0;if(d|0)Jp(d)}j=aq(52)|0;k[w>>2]=c;Dk(j,w);c=k[w>>2]|0;k[w>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);h=k[x>>2]|0;g=h+8|0;h=h+12|0;c=k[h>>2]|0;d=k[g>>2]|0;e=c-d>>2;do if((e|0)<=(b|0)){f=b+1|0;if(f>>>0>e>>>0){Lk(g,f-e|0);break}if(f>>>0>>0?(y=d+(f<<2)|0,(c|0)!=(y|0)):0)do{x=c+-4|0;k[h>>2]=x;c=k[x>>2]|0;k[x>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[h>>2]|0}while((c|0)!=(y|0))}while(0);b=(k[g>>2]|0)+(b<<2)|0;c=k[b>>2]|0;k[b>>2]=j;if(!c){b=1;r=z;return b|0}ab[k[(k[c>>2]|0)+4>>2]&127](c);b=1;r=z;return b|0}function An(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4580;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}k[a+12>>2]=4604;b=k[a+32>>2]|0;if(b|0)Jp(b);b=k[a+20>>2]|0;if(!b)return;Jp(b);return}function Bn(a){a=a|0;var b=0;k[a>>2]=4604;b=k[a+20>>2]|0;if(b|0)Jp(b);b=k[a+8>>2]|0;if(!b)return;Jp(b);return}function Cn(a){a=a|0;var b=0;k[a>>2]=4604;b=k[a+20>>2]|0;if(b|0)Jp(b);b=k[a+8>>2]|0;if(!b){Jp(a);return}Jp(b);Jp(a);return}function Dn(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;d=k[a+4>>2]|0;d=(k[d+28>>2]|0)-(k[d+24>>2]|0)>>2;i[c>>0]=0;Dg(a+20|0,d,c);r=b;return}function En(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4580;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}k[a+12>>2]=4604;b=k[a+32>>2]|0;if(b|0)Jp(b);b=k[a+20>>2]|0;if(!b){Jp(a);return}Jp(b);Jp(a);return}function Fn(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;h=a+76|0;c=k[h>>2]|0;m=k[c+64>>2]|0;q=b+84|0;i[q>>0]=0;j=b+68|0;l=b+72|0;f=k[l>>2]|0;e=k[j>>2]|0;d=f-e>>2;if(m>>>0<=d>>>0){if(m>>>0>>0?(g=e+(m<<2)|0,(f|0)!=(g|0)):0)k[l>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else{Ve(j,m-d|0,4616);m=k[h>>2]|0;c=m;m=k[m+64>>2]|0}n=(k[c+84>>2]|0)-(k[c+80>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+80|0;l=b+68|0;a=c+80|0;h=c+84|0;j=0;while(1){c=k[a>>2]|0;if((j|0)>=(((k[h>>2]|0)-c|0)/12|0|0)){d=9;break}e=j*3|0;f=k[(k[n>>2]|0)+12>>2]|0;d=k[f+(k[(k[p>>2]|0)+(j*12|0)+(((e|0)%3|0)<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}if(i[q>>0]|0){d=12;break}g=k[l>>2]|0;k[g+(k[c+(j*12|0)>>2]<<2)>>2]=d;d=e+1|0;d=k[f+(k[(k[p>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}k[g+(k[c+(j*12|0)+4>>2]<<2)>>2]=d;d=e+2|0;d=k[f+(k[(k[p>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}k[g+(k[c+(j*12|0)+8>>2]<<2)>>2]=d;j=j+1|0;if((j|0)>=(o|0)){c=1;d=13;break}}if((d|0)==9)Aa(10719,10773,64,10787);else if((d|0)==12)Aa(10792,10811,80,10843);else if((d|0)==13)return c|0;return 0}function Gn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;f=h+4|0;g=h;e=a+84|0;b=k[e>>2]|0;if(!b){b=a+8|0;e=k[b>>2]|0;e=(k[e+4>>2]|0)-(k[e>>2]|0)|0;a=(e|0)/12|0;if((e|0)<=0){r=h;return 1}c=0;do{k[g>>2]=c*3;k[f>>2]=k[g>>2];Hn(b,f);c=c+1|0}while((c|0)<(a|0));r=h;return 1}else{c=k[b>>2]|0;if((k[b+4>>2]|0)==(c|0)){r=h;return 1}d=a+8|0;b=c;a=0;do{k[g>>2]=k[b+(a<<2)>>2];k[f>>2]=k[g>>2];Hn(d,f);a=a+1|0;c=k[e>>2]|0;b=k[c>>2]|0}while(a>>>0<(k[c+4>>2]|0)-b>>2>>>0);r=h;return 1}return 0}function Hn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+32|0;s=A+28|0;q=A+24|0;i=A+20|0;j=A+16|0;l=A+12|0;m=A+8|0;v=A+4|0;w=A;n=k[b>>2]|0;if((n|0)<0){r=A;return}u=(n|0)/3|0;y=a+12|0;if(k[(k[y>>2]|0)+(u>>>5<<2)>>2]&1<<(u&31)|0){r=A;return}t=a+56|0;c=k[t>>2]|0;u=a+60|0;d=k[u>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;k[u>>2]=c}p=a+64|0;if((c|0)==(k[p>>2]|0))Cd(t,b);else{k[c>>2]=n;k[u>>2]=c+4}d=k[a>>2]|0;c=n+1|0;c=((c|0)%3|0|0)==0?n+-2|0:c;if((c|0)<0)g=-1073741824;else g=k[(k[d>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;c=(((n|0)%3|0|0)==0?2:-1)+n|0;if((c|0)<0)h=-1073741824;else h=k[(k[d>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;o=a+24|0;c=k[o>>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=n+1|0;k[j>>2]=((c|0)%3|0|0)==0?n+-2|0:c;k[q>>2]=k[i>>2];k[s>>2]=k[j>>2];In(a+36|0,q,s);c=k[o>>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;k[l>>2]=h;k[m>>2]=n+(((n|0)%3|0|0)==0?2:-1);k[q>>2]=k[l>>2];k[s>>2]=k[m>>2];In(a+36|0,q,s)}c=k[t>>2]|0;e=k[u>>2]|0;if((c|0)==(e|0)){r=A;return}l=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[y>>2]|0,(k[x+(f>>>5<<2)>>2]&1<<(f&31)|0)==0):0){d=x;a:while(1){f=(c|0)/3|0;j=d+(f>>>5<<2)|0;k[j>>2]=1<<(f&31)|k[j>>2];j=(c|0)<0;e=k[a>>2]|0;if(j)i=-1073741824;else i=k[(k[e>>2]|0)+(f*12|0)+(((c|0)%3|0)<<2)>>2]|0;d=k[(k[e+24>>2]|0)+(i<<2)>>2]|0;if((d|0)>=0){n=d+1|0;d=((n|0)%3|0|0)==0?d+-2|0:n;if((d|0)>=0){d=k[(k[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){n=d+1|0;d=((n|0)%3|0|0)==0?d+-2|0:n}}}f=(k[o>>2]|0)+(i>>>5<<2)|0;g=1<<(i&31);h=k[f>>2]|0;if(!(h&g)){k[f>>2]=h|g;k[v>>2]=i;k[w>>2]=c;k[q>>2]=k[v>>2];k[s>>2]=k[w>>2];In(l,q,s);e=k[a>>2]|0;if((d|0)>=0){do if(j)c=-1073741824;else{n=c+1|0;c=((n|0)%3|0|0)==0?c+-2|0:n;if((c|0)<0)break;c=k[(k[e+12>>2]|0)+(c<<2)>>2]|0}while(0);k[b>>2]=c;d=k[y>>2]|0;continue}}do if(j){k[s>>2]=-1073741824;c=-1073741824;d=-1073741824}else{d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if((d|0)>=0)d=k[(k[e+12>>2]|0)+(d<<2)>>2]|0;k[s>>2]=d;c=(((c|0)%3|0|0)==0?2:-1)+c|0;if((c|0)<0)break;c=k[(k[e+12>>2]|0)+(c<<2)>>2]|0}while(0);f=(d|0)<0?-1:(d|0)/3|0;g=(c|0)<0?-1:(c|0)/3|0;do if((f|0)>=0){e=k[y>>2]|0;if(k[e+(f>>>5<<2)>>2]&1<<(f&31)|0){z=41;break}if((g|0)<0){c=d;break}if(!(k[e+(g>>>5<<2)>>2]&1<<(g&31))){z=46;break a}else c=d}else z=41;while(0);if((z|0)==41){z=0;if((g|0)<0){z=43;break}d=k[y>>2]|0;if(!(k[d+(g>>>5<<2)>>2]&1<<(g&31)))e=d;else{z=43;break}}k[b>>2]=c;d=e}do if((z|0)==43){z=0;c=(k[u>>2]|0)+-4|0;k[u>>2]=c}else if((z|0)==46){z=0;e=k[u>>2]|0;k[e+-4>>2]=c;if((e|0)==(k[p>>2]|0)){Cd(t,s);c=k[u>>2]|0;break}else{k[e>>2]=d;c=e+4|0;k[u>>2]=c;break}}while(0);d=k[t>>2]|0}else{c=e+-4|0;k[u>>2]=c}if((d|0)==(c|0))break;else e=c}r=A;return}function In(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;j=r;r=r+16|0;h=j;d=k[a+8>>2]|0;i=k[c>>2]|0;e=(i|0)/3|0;if((i|0)<=-3)Aa(10860,10773,63,10787);f=k[d+80>>2]|0;if((e|0)>=(((k[d+84>>2]|0)-f|0)/12|0|0))Aa(10719,10773,64,10787);d=k[f+(e*12|0)+(((i|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))qg(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)){Cd(e,c);a=k[d>>2]|0;c=a+24|0;i=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]=i;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;r=j;return}else{k[g>>2]=i;k[f>>2]=g+4;a=e;c=a+24|0;i=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]=i;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;r=j;return}}function Jn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+32|0;j=n+24|0;i=n+16|0;l=n+8|0;m=n;k[a>>2]=4604;k[a+4>>2]=k[b+4>>2];e=a+8|0;f=b+8|0;k[e>>2]=0;g=a+12|0;k[g>>2]=0;h=a+16|0;k[h>>2]=0;c=b+12|0;d=k[c>>2]|0;do if(d|0)if((d|0)<0)zp(e);else{d=((d+-1|0)>>>5)+1|0;o=aq(d<<2)|0;k[e>>2]=o;k[g>>2]=0;k[h>>2]=d;g=k[f>>2]|0;k[l>>2]=g;k[l+4>>2]=0;h=k[c>>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];Kn(e,i,j);break}while(0);f=a+20|0;k[f>>2]=0;g=a+24|0;k[g>>2]=0;c=a+28|0;k[c>>2]=0;d=b+24|0;e=k[d>>2]|0;if(!e){r=n;return}if((e|0)<0)zp(f);o=((e+-1|0)>>>5)+1|0;a=aq(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];Kn(f,i,j);r=n;return}function Kn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;o=q+40|0;n=q+32|0;j=q+8|0;l=q;m=q+24|0;p=q+16|0;f=a+4|0;s=k[f>>2]|0;d=b;e=k[d>>2]|0;d=k[d+4>>2]|0;h=c;g=k[h>>2]|0;h=k[h+4>>2]|0;i=g-e<<3;k[f>>2]=s-d+h+i;f=(k[a>>2]|0)+(s>>>5<<2)|0;c=s&31;b=f;if((d|0)!=(c|0)){s=j;k[s>>2]=e;k[s+4>>2]=d;s=l;k[s>>2]=g;k[s+4>>2]=h;k[m>>2]=b;k[m+4>>2]=c;k[n>>2]=k[j>>2];k[n+4>>2]=k[j+4>>2];k[o>>2]=k[l>>2];k[o+4>>2]=k[l+4>>2];Ln(p,n,o,m);r=q;return}a=h-d+i|0;c=e;if((a|0)>0){if(!d){d=0;g=c;b=a}else{e=32-d|0;b=(a|0)<(e|0)?a:e;e=-1>>>(e-b|0)&-1<>2]=k[f>>2]&~e|k[c>>2]&e;e=b+d|0;g=c+4|0;d=e&31;f=f+(e>>>5<<2)|0;e=g;b=a-b|0}a=b>>>5;nq(f|0,e|0,a<<2|0)|0;c=b-(a<<5)|0;e=f+(a<<2)|0;b=e;if((c|0)>0){d=-1>>>(32-c|0);k[e>>2]=k[e>>2]&~d|k[g+(a<<2)>>2]&d;d=c}}k[p>>2]=b;k[p+4>>2]=d;r=q;return} -function ib(a){a=a|0;var b=0;b=r;r=r+a|0;r=r+15&-16;return b|0}function jb(){return r|0}function kb(a){a=a|0;r=a}function lb(a,b){a=a|0;b=b|0;r=a;s=b}function mb(a,b){a=a|0;b=b|0;if(!w){w=a;x=b}}function nb(a){a=a|0;i[t>>0]=i[a>>0];i[t+1>>0]=i[a+1>>0];i[t+2>>0]=i[a+2>>0];i[t+3>>0]=i[a+3>>0]}function ob(a){a=a|0;i[t>>0]=i[a>>0];i[t+1>>0]=i[a+1>>0];i[t+2>>0]=i[a+2>>0];i[t+3>>0]=i[a+3>>0];i[t+4>>0]=i[a+4>>0];i[t+5>>0]=i[a+5>>0];i[t+6>>0]=i[a+6>>0];i[t+7>>0]=i[a+7>>0]}function pb(a){a=a|0;L=a}function qb(){return L|0}function rb(){var a=0;a=aq(68)|0;sg(a);return a|0}function sb(a){a=a|0;return (k[a+8>>2]|0)-(k[a+4>>2]|0)>>2|0}function tb(a){a=a|0;return k[a+64>>2]|0}function ub(a){a=a|0;if(!a)return;ab[k[(k[a>>2]|0)+4>>2]&127](a);return}function vb(){var a=0;a=aq(1)|0;uc(a);return a|0}function wb(a,b){a=a|0;b=b|0;return vc(a,b)|0}function xb(a,b){a=a|0;b=b|0;return wc(b)|0}function yb(a,b){a=a|0;b=b|0;return xc(b)|0}function zb(a,b,c){a=a|0;b=b|0;c=c|0;return yc(a,b,c)|0}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;return zc(b,c)|0}function Bb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ac(b,c,d)|0}function Cb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Bc(b,c,d)|0}function Db(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return cd(b,c,d)|0}function Eb(a){a=a|0;if(!a)return;Jp(a);return}function Fb(){var a=0;a=aq(88)|0;Me(a);return a|0}function Gb(a){a=a|0;return k[a+80>>2]|0}function Hb(a){a=a|0;return k[a+56>>2]|0}function Ib(a){a=a|0;return k[a+28>>2]|0}function Jb(a){a=a|0;return i[a+24>>0]|0}function Kb(a){a=a|0;return (i[a+32>>0]|0)!=0|0}function Lb(a){a=a|0;return k[a+40>>2]|0}function Mb(a){a=a|0;return k[a+48>>2]|0}function Nb(a){a=a|0;return m[a+60>>1]|0|0}function Ob(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a)return;b=k[a+68>>2]|0;c=b;if(b|0){d=a+72|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}e=a+64|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0){c=k[b>>2]|0;if(c|0){d=b+4|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;Jp(c)}Jp(b)}Jp(a);return}function Pb(){var a=0;a=aq(12)|0;nc(a);return a|0}function Qb(a,b){a=a|0;b=b|0;return +(+oc(a,b))}function Rb(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a)return;b=k[a>>2]|0;c=b;if(b|0){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}Jp(a);return}function Sb(){var a=0;a=aq(64)|0;Je(a);return a|0}function Tb(a){a=a|0;if(!a)return;Jp(a);return}function Ub(){var a=0;a=aq(40)|0;Pg(a);return a|0}function Vb(a,b,c){a=a|0;b=b|0;c=c|0;Qg(a,b,c);return}function Wb(a){a=a|0;if(!a)return;Og(a+24|0);Jp(a);return}function Xb(){var a=0;a=aq(92)|0;Ag(a);return a|0}function Yb(a){a=a|0;return ((k[a+84>>2]|0)-(k[a+80>>2]|0)|0)/12|0|0}function Zb(a){a=a|0;return (k[a+8>>2]|0)-(k[a+4>>2]|0)>>2|0}function _b(a){a=a|0;return k[a+64>>2]|0}function $b(a){a=a|0;if(!a)return;ab[k[(k[a>>2]|0)+4>>2]&127](a);return}function ac(a){a=a|0;if(!a)return;Jp(a);return}function bc(){var a=0;a=aq(12)|0;rc(a);return a|0}function cc(a,b){a=a|0;b=b|0;return sc(a,b)|0}function dc(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a)return;b=k[a>>2]|0;c=b;if(b|0){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}Jp(a);return}function ec(){return -1}function fc(){return 0}function gc(){return 1}function hc(){return -1}function ic(){return 0}function jc(){return 1}function kc(){return 2}function lc(){return 3}function mc(){return 4}function nc(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function oc(a,b){a=a|0;b=b|0;return +(+o[(k[a>>2]|0)+(b<<2)>>2])}function pc(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;h=c-m>>2;l=a+8|0;d=k[l>>2]|0;j=k[a>>2]|0;i=j;if(h>>>0<=d-j>>2>>>0){g=a+4|0;d=(k[g>>2]|0)-j>>2;a=h>>>0>d>>>0;d=b+(d<<2)|0;e=a?d:c;f=e;m=f-m|0;nq(j|0,b|0,m|0)|0;b=i+(m>>2<<2)|0;if(!a){d=k[g>>2]|0;if((d|0)==(b|0))return;k[g>>2]=d+(~((d+-4-b|0)>>>2)<<2);return}if((e|0)==(c|0))return;b=k[g>>2]|0;e=b+(((c+-4-f|0)>>>2)+1<<2)|0;while(1){k[b>>2]=k[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}k[g>>2]=e;return}f=j;if(j){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(i|0))k[d>>2]=e+(~((e+-4-j|0)>>>2)<<2);Jp(f);k[l>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(h>>>0>1073741823)zp(a);d=d-0|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?h:d;if(d>>>0>1073741823)zp(a);else g=d}else g=1073741823;d=aq(g<<2)|0;f=a+4|0;k[f>>2]=d;k[a>>2]=d;k[l>>2]=d+(g<<2);if((b|0)==(c|0))return;e=d+(((c+-4-m|0)>>>2)+1<<2)|0;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[f>>2]=e;return}function qc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){iq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)zp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;iq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;mq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Jp(j);return}function rc(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function sc(a,b){a=a|0;b=b|0;return k[(k[a>>2]|0)+(b<<2)>>2]|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,i=0,j=0,l=0,m=0;m=b;g=c-m>>2;i=a+8|0;d=k[i>>2]|0;l=k[a>>2]|0;j=l;if(g>>>0<=d-l>>2>>>0){i=a+4|0;h=(k[i>>2]|0)-l>>2;a=g>>>0>h>>>0;h=b+(h<<2)|0;e=a?h:c;g=e;d=g-m|0;nq(l|0,b|0,d|0)|0;d=j+(d>>2<<2)|0;if(!a){b=k[i>>2]|0;if((b|0)==(d|0))return;k[i>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((e|0)==(c|0))return;f=k[i>>2]|0;e=(c+-4-g|0)>>>2;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[i>>2]=f+(e+1<<2);return}f=l;if(l){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(j|0))k[d>>2]=e+(~((e+-4-l|0)>>>2)<<2);Jp(f);k[i>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(g>>>0>1073741823)zp(a);d=d-0|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?g:d;if(d>>>0>1073741823)zp(a);else h=d}else h=1073741823;f=aq(h<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[i>>2]=f+(h<<2);if((b|0)==(c|0))return;e=(c+-4-m|0)>>>2;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+1<<2);return}function uc(a){a=a|0;return}function vc(a,b){a=a|0;b=b|0;return So(b)|0}function wc(a){a=a|0;return Uo(a)|0}function xc(a){a=a|0;return Vo(a)|0}function yc(a,b,c){a=a|0;b=b|0;c=c|0;return tg(b,c)|0}function zc(a,b){a=a|0;b=b|0;var c=0;if((b|0)<=-1)Aa(9671,9687,54,9715);c=k[a+4>>2]|0;if(((k[a+8>>2]|0)-c>>2|0)>(b|0))return k[c+(b<<2)>>2]|0;else Aa(9725,9687,55,9715);return 0}function Ac(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<=-1)Aa(10860,10773,63,10787);d=k[a+80>>2]|0;if((((k[a+84>>2]|0)-d|0)/12|0|0)>(b|0)){a=d+(b*12|0)|0;tc(c,a,a+12|0);return 1}else Aa(10719,10773,64,10787);return 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=0;m=r;r=r+48|0;d=m+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;l=m;j=i[a+24>>0]|0;k[l>>2]=k[196];k[l+4>>2]=k[197];k[l+8>>2]=k[198];k[l+12>>2]=k[199];j=j<<24>>24;switch(j|0){case 1:{k[e>>2]=b;k[d>>2]=k[e>>2];d=Cc(a,d,l)|0;break}case 2:{k[f>>2]=b;k[d>>2]=k[f>>2];d=Jc(a,d,l)|0;break}case 3:{k[g>>2]=b;k[d>>2]=k[g>>2];d=Qc(a,d,l)|0;break}case 4:{k[h>>2]=b;k[d>>2]=k[h>>2];d=Xc(a,d,l)|0;break}default:{l=0;r=m;return l|0}}if(!d){l=0;r=m;return l|0}pc(c,l,l+(j<<2)|0);l=1;r=m;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,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){a=0;r=n;return a|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=1;r=n;return a|0}case 2:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=1;r=n;return a|0}case 3:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=1;r=n;return a|0}case 4:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=1;r=n;return a|0}default:{a=0;r=n;return a|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];a=Dc(a,d,c)|0;r=n;return a|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];a=Ec(a,d,c)|0;r=n;return a|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];a=Fc(a,d,c)|0;r=n;return a|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];a=Gc(a,d,c)|0;r=n;return a|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];a=Hc(a,d,c)|0;r=n;return a|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];a=Ic(a,d,c)|0;r=n;return a|0}default:{a=0;r=n;return a|0}}return 0}function Dc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+b>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8)&255);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&255);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ec(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+b>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(((l[g>>0]|l[g+1>>0]<<8)&255)<<24>>24);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&255)<<24>>24);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Fc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;g=1;return g|0}default:{g=0;return g|0}}return 0}function Hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;g=1;return g|0}default:{g=0;return g|0}}return 0}function Ic(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;a=1;return a|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;g=1;return g|0}default:{g=0;return g|0}}return 0}function Jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){a=0;r=n;return a|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;o[c+4>>2]=0.0;a=1;r=n;return a|0}case 2:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;m=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=c;k[a>>2]=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;k[a+4>>2]=b;a=1;r=n;return a|0}case 3:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;m=b;m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=c;c=a;i[c>>0]=m;i[c+1>>0]=m>>8;i[c+2>>0]=m>>16;i[c+3>>0]=m>>24;a=a+4|0;i[a>>0]=b;i[a+1>>0]=b>>8;i[a+2>>0]=b>>16;i[a+3>>0]=b>>24;a=1;r=n;return a|0}case 4:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;m=b;m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=c;c=a;i[c>>0]=m;i[c+1>>0]=m>>8;i[c+2>>0]=m>>16;i[c+3>>0]=m>>24;a=a+4|0;i[a>>0]=b;i[a+1>>0]=b>>8;i[a+2>>0]=b>>16;i[a+3>>0]=b>>24;a=1;r=n;return a|0}default:{a=0;r=n;return a|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];a=Kc(a,d,c)|0;r=n;return a|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];a=Lc(a,d,c)|0;r=n;return a|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];a=Mc(a,d,c)|0;r=n;return a|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];a=Nc(a,d,c)|0;r=n;return a|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];a=Oc(a,d,c)|0;r=n;return a|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];a=Pc(a,d,c)|0;r=n;return a|0}default:{a=0;r=n;return a|0}}return 0}function Kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+b>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;o[c+4>>2]=0.0;a=1;return a|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;d=+(l[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;g=1;return g|0}}case 4:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+b>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;o[c+4>>2]=0.0;a=1;return a|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;d=+(i[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;g=1;return g|0}}case 4:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;o[c+4>>2]=0.0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+(g&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;g=1;return g|0}}case 4:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,f|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;f=b;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=b+4|0;g=(i[a+32>>0]|0)==0;b=(lq(f|0,l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0,16)|0)&65535;d=+(f&65535);if(g){o[c>>2]=d;o[c+4>>2]=+(b&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;o[c+4>>2]=0.0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+((g&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;g=1;return g|0}}case 4:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,f|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;f=b;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=b+4|0;g=(i[a+32>>0]|0)==0;b=(lq(f|0,l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0,16)|0)&65535;d=+((f&65535)<<16>>16);if(g){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;o[c+4>>2]=0.0;a=1;return a|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,g|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;g=1;return g|0}}case 4:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Pc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;o[c+4>>2]=0.0;a=1;return a|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,g|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;g=1;return g|0}}case 4:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Qc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){a=0;r=n;return a|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=c+4|0;k[a>>2]=0;k[a+4>>2]=0;a=1;r=n;return a|0}case 2:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;m=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=c;k[a>>2]=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;k[a+4>>2]=b;o[c+8>>2]=0.0;a=1;r=n;return a|0}case 3:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;nq(c|0,(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;a=1;r=n;return a|0}case 4:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;nq(c|0,(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;a=1;r=n;return a|0}default:{a=0;r=n;return a|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];a=Rc(a,d,c)|0;r=n;return a|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];a=Sc(a,d,c)|0;r=n;return a|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];a=Tc(a,d,c)|0;r=n;return a|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];a=Uc(a,d,c)|0;r=n;return a|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];a=Vc(a,d,c)|0;r=n;return a|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];a=Wc(a,d,c)|0;r=n;return a|0}default:{a=0;r=n;return a|0}}return 0}function Rc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+e>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&255)}else{o[c>>2]=d/255.0;d=+(b&255)/255.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;e=i[g+2>>0]|0;d=+(l[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);o[c+8>>2]=+(e&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;o[c+8>>2]=+(e&255)/255.0;g=1;return g|0}}case 4:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;e=g>>>16&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);o[c+8>>2]=+(e&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;o[c+8>>2]=+(e&255)/255.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Sc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+e>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<24>>24)}else{o[c>>2]=d/127.0;d=+(b<<24>>24)/127.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;e=i[g+2>>0]|0;d=+(i[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);o[c+8>>2]=+(e<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;o[c+8>>2]=+(e<<24>>24)/127.0;g=1;return g|0}}case 4:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;e=g>>>16&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);o[c+8>>2]=+(e<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;o[c+8>>2]=+(e<<24>>24)/127.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[e>>0]|l[e+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+(g&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&65535)}else{o[c>>2]=d/65535.0;d=+(b&65535)/65535.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;e=g+4|0;e=l[e>>0]|l[e+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&65535);o[c+8>>2]=+(e&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;o[c+8>>2]=+(e&65535)/65535.0;g=1;return g|0}}case 4:{g=k[b>>2]|0;e=a+48|0;f=k[e>>2]|0;e=k[e+4>>2]|0;b=a+40|0;e=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,f|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;f=e;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=e+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;g=(i[a+32>>0]|0)==0;b=(lq(f|0,e|0,16)|0)&65535;e=e&65535;d=+(f&65535);if(g){o[c>>2]=d;o[c+4>>2]=+(b&65535);o[c+8>>2]=+(e&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;o[c+8>>2]=+(e&65535)/65535.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[e>>0]|l[e+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+((g&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<16>>16)}else{o[c>>2]=d/32767.0;d=+(b<<16>>16)/32767.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;e=g+4|0;e=l[e>>0]|l[e+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);o[c+8>>2]=+(e<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;o[c+8>>2]=+(e<<16>>16)/32767.0;g=1;return g|0}}case 4:{g=k[b>>2]|0;e=a+48|0;f=k[e>>2]|0;e=k[e+4>>2]|0;b=a+40|0;e=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,f|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;f=e;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=e+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;g=(i[a+32>>0]|0)==0;b=(lq(f|0,e|0,16)|0)&65535;e=e&65535;d=+((f&65535)<<16>>16);if(g){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);o[c+8>>2]=+(e<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;o[c+8>>2]=+(e<<16>>16)/32767.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,g|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b>>>0)}else{o[c>>2]=d*2.3283064365386963e-10;d=+(b>>>0)*2.3283064365386963e-10}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);o[c+8>>2]=+(e>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;o[c+8>>2]=+(e>>>0)*2.3283064365386963e-10;g=1;return g|0}}case 4:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);o[c+8>>2]=+(e>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;o[c+8>>2]=+(e>>>0)*2.3283064365386963e-10;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(kq(tq(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,g|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b|0)}else{o[c>>2]=d*4.656612873077393e-10;d=+(b|0)*4.656612873077393e-10}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);o[c+8>>2]=+(e|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;o[c+8>>2]=+(e|0)*4.656612873077393e-10;g=1;return g|0}}case 4:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,L|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);o[c+8>>2]=+(e|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;o[c+8>>2]=+(e|0)*4.656612873077393e-10;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){a=0;r=n;return a|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;a=(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;a=c+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;a=1;r=n;return a|0}case 2:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;b=(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;m=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;a=c;k[a>>2]=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;k[a+4>>2]=b;a=c+8|0;k[a>>2]=0;k[a+4>>2]=0;a=1;r=n;return a|0}case 3:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;nq(c|0,(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;o[c+12>>2]=0.0;a=1;r=n;return a|0}case 4:{b=a+48|0;m=k[b>>2]|0;b=k[b+4>>2]|0;j=a+40|0;nq(c|0,(kq(tq(k[j>>2]|0,k[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,L|0,m|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0,16)|0;a=1;r=n;return a|0}default:{a=0;r=n;return a|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];a=Yc(a,d,c)|0;r=n;return a|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];a=Zc(a,d,c)|0;r=n;return a|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];a=_c(a,d,c)|0;r=n;return a|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];a=$c(a,d,c)|0;r=n;return a|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];a=ad(a,d,c)|0;r=n;return a|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];a=bd(a,d,c)|0;r=n;return a|0}default:{a=0;r=n;return a|0}}return 0}function Yc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=kq(tq(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;e=+(l[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?e:e/255.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8;b=(h&65535)>>>8&255;d=+(h&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&255)}else{o[c>>2]=d/255.0;d=+(b&255)/255.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=i[h+1>>0]|0;b=i[h+2>>0]|0;d=+(l[h>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b&255);d=+(f&255)}else{o[c>>2]=d/255.0;e=+(b&255)/255.0;d=+(f&255)/255.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>8&255;f=h>>>16&255;g=h>>>24&255;d=+(h&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);o[c+8>>2]=+(f&255);o[c+12>>2]=+(g&255);h=1;return h|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;o[c+8>>2]=+(f&255)/255.0;o[c+12>>2]=+(g&255)/255.0;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Zc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=kq(tq(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;e=+(i[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?e:e/127.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8;b=(h&65535)>>>8&255;d=+((h&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<24>>24)}else{o[c>>2]=d/127.0;d=+(b<<24>>24)/127.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=i[h+1>>0]|0;b=i[h+2>>0]|0;d=+(i[h>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b<<24>>24);d=+(f<<24>>24)}else{o[c>>2]=d/127.0;e=+(b<<24>>24)/127.0;d=+(f<<24>>24)/127.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>8&255;f=h>>>16&255;g=h>>>24&255;d=+((h&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);o[c+8>>2]=+(f<<24>>24);o[c+12>>2]=+(g<<24>>24);h=1;return h|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;o[c+8>>2]=+(f<<24>>24)/127.0;o[c+12>>2]=+(g<<24>>24)/127.0;h=1;return h|0}}default:{h=0;return h|0}}return 0}function _c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0,j=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;f=a+48|0;b=k[f>>2]|0;f=k[f+4>>2]|0;h=a+40|0;f=(kq(tq(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+((l[f>>0]|l[f+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?e:e/65535.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=+(h&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&65535)}else{o[c>>2]=d/65535.0;d=+(b&65535)/65535.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+2|0;f=l[f>>0]|l[f+1>>0]<<8;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[h>>0]|l[h+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b&65535);d=+(f&65535)}else{o[c>>2]=d/65535.0;e=+(b&65535)/65535.0;d=+(f&65535)/65535.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{h=k[b>>2]|0;j=a+48|0;g=k[j>>2]|0;j=k[j+4>>2]|0;b=a+40|0;j=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,L|0,g|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;g=j;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=j+4|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;h=(i[a+32>>0]|0)==0;b=(lq(g|0,j|0,16)|0)&65535;f=j&65535;a=(lq(g|0,j|0,48)|0)&65535;d=+(g&65535);if(h){o[c>>2]=d;o[c+4>>2]=+(b&65535);o[c+8>>2]=+(f&65535);o[c+12>>2]=+(a&65535);j=1;return j|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;o[c+8>>2]=+(f&65535)/65535.0;o[c+12>>2]=+(a&65535)/65535.0;j=1;return j|0}}default:{j=0;return j|0}}return 0}function $c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0,j=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;f=a+48|0;b=k[f>>2]|0;f=k[f+4>>2]|0;h=a+40|0;f=(kq(tq(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+((l[f>>0]|l[f+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?e:e/32767.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=+((h&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<16>>16)}else{o[c>>2]=d/32767.0;d=+(b<<16>>16)/32767.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+2|0;f=l[f>>0]|l[f+1>>0]<<8;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[h>>0]|l[h+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b<<16>>16);d=+(f<<16>>16)}else{o[c>>2]=d/32767.0;e=+(b<<16>>16)/32767.0;d=+(f<<16>>16)/32767.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{h=k[b>>2]|0;j=a+48|0;g=k[j>>2]|0;j=k[j+4>>2]|0;b=a+40|0;j=(kq(tq(k[b>>2]|0,k[b+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,L|0,g|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;g=j;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=j+4|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;h=(i[a+32>>0]|0)==0;b=(lq(g|0,j|0,16)|0)&65535;f=j&65535;a=(lq(g|0,j|0,48)|0)&65535;d=+((g&65535)<<16>>16);if(h){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);o[c+8>>2]=+(f<<16>>16);o[c+12>>2]=+(a<<16>>16);j=1;return j|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;o[c+8>>2]=+(f<<16>>16)/32767.0;o[c+12>>2]=+(a<<16>>16)/32767.0;j=1;return j|0}}default:{j=0;return j|0}}return 0}function ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=(kq(tq(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?e:e*2.3283064365386963e-10;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,h|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;h=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b>>>0)}else{o[c>>2]=d*2.3283064365386963e-10;d=+(b>>>0)*2.3283064365386963e-10}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=h+8|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b>>>0);d=+(f>>>0)}else{o[c>>2]=d*2.3283064365386963e-10;e=+(b>>>0)*2.3283064365386963e-10;d=+(f>>>0)*2.3283064365386963e-10}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;f=h+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=h+12|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;d=+((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);o[c+8>>2]=+(f>>>0);o[c+12>>2]=+(g>>>0);h=1;return h|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;o[c+8>>2]=+(f>>>0)*2.3283064365386963e-10;o[c+12>>2]=+(g>>>0)*2.3283064365386963e-10;h=1;return h|0}}default:{h=0;return h|0}}return 0}function bd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=(kq(tq(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?e:e*4.656612873077393e-10;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=(kq(tq(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,L|0,h|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;h=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b|0)}else{o[c>>2]=d*4.656612873077393e-10;d=+(b|0)*4.656612873077393e-10}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=h+8|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b|0);d=+(f|0)}else{o[c>>2]=d*4.656612873077393e-10;e=+(b|0)*4.656612873077393e-10;d=+(f|0)*4.656612873077393e-10}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(kq(tq(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,L|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;f=h+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=h+12|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;d=+(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);o[c+8>>2]=+(f|0);o[c+12>>2]=+(g|0);h=1;return h|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;o[c+8>>2]=+(f|0)*4.656612873077393e-10;o[c+12>>2]=+(g|0)*4.656612873077393e-10;h=1;return h|0}}default:{h=0;return h|0}}return 0}function cd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+48|0;o=w+32|0;p=w+28|0;q=w+24|0;s=w+20|0;t=w+16|0;v=w;u=b+24|0;j=i[u>>0]|0;m=j<<24>>24;n=k[a+64>>2]|0;g=ha(n,m)|0;k[v>>2]=k[196];k[v+4>>2]=k[197];k[v+8>>2]=k[198];k[v+12>>2]=k[199];a=c+4|0;f=k[a>>2]|0;e=k[c>>2]|0;d=f-e>>2;if(g>>>0<=d>>>0){if(g>>>0>>0?(h=e+(g<<2)|0,(f|0)!=(h|0)):0)k[a>>2]=f+(~((f+-4-h|0)>>>2)<<2)}else qc(c,g-d|0);if((n|0)<=0){v=1;r=w;return v|0}h=b+84|0;l=b+68|0;a:do if(j<<24>>24>0){f=0;g=0;while(1){if(!(i[h>>0]|0))a=k[(k[l>>2]|0)+(g<<2)>>2]|0;else a=g;switch(i[u>>0]|0){case 1:{k[p>>2]=a;k[o>>2]=k[p>>2];a=Cc(b,o,v)|0;break}case 2:{k[q>>2]=a;k[o>>2]=k[q>>2];a=Jc(b,o,v)|0;break}case 3:{k[s>>2]=a;k[o>>2]=k[s>>2];a=Qc(b,o,v)|0;break}case 4:{k[t>>2]=a;k[o>>2]=k[t>>2];a=Xc(b,o,v)|0;break}default:break a}if(!a){a=0;d=29;break}a=k[c>>2]|0;d=f;e=0;while(1){k[a+(d<<2)>>2]=k[v+(e<<2)>>2];e=e+1|0;if((e|0)==(m|0))break;else d=d+1|0}g=g+1|0;if((g|0)>=(n|0)){a=1;d=29;break}else f=m+f|0}if((d|0)==29){r=w;return a|0}}else{d=0;while(1){if(!(i[h>>0]|0))a=k[(k[l>>2]|0)+(d<<2)>>2]|0;else a=d;switch(i[u>>0]|0){case 1:{k[p>>2]=a;k[o>>2]=k[p>>2];a=Cc(b,o,v)|0;break}case 2:{k[q>>2]=a;k[o>>2]=k[q>>2];a=Jc(b,o,v)|0;break}case 3:{k[s>>2]=a;k[o>>2]=k[s>>2];a=Qc(b,o,v)|0;break}case 4:{k[t>>2]=a;k[o>>2]=k[t>>2];a=Xc(b,o,v)|0;break}default:break a}if(!a){a=0;d=29;break}d=d+1|0;if((d|0)>=(n|0)){a=1;d=29;break}}if((d|0)==29){r=w;return a|0}}while(0);v=0;r=w;return v|0}function dd(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 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;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)zp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;mq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Jp(i);return}function fd(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;f=k[a>>2]|0;j=f;b=f+((k[b>>2]|0)-j)|0;l=d-c|0;if((l|0)<=0){p=b;return p|0}o=a+8|0;h=k[o>>2]|0;p=a+4|0;m=k[p>>2]|0;e=m;if((l|0)<=(h-e|0)){g=e-b|0;if((l|0)>(g|0)){h=c+g|0;if((h|0)==(d|0))e=m;else{f=h;e=m;do{i[e>>0]=i[f>>0]|0;e=(k[p>>2]|0)+1|0;k[p>>2]=e;f=f+1|0}while((f|0)!=(d|0))}if((g|0)>0)d=h;else{p=b;return p|0}}else e=m;g=e-(b+l)|0;f=b+g|0;if(f>>>0>>0){h=e;do{i[h>>0]=i[f>>0]|0;f=f+1|0;h=(k[p>>2]|0)+1|0;k[p>>2]=h}while((f|0)!=(m|0))}nq(e+(0-g)|0,b|0,g|0)|0;if((d|0)==(c|0)){p=b;return p|0}else e=b;while(1){i[e>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(d|0))break;else e=e+1|0}return b|0}g=e-j+l|0;if((g|0)<0)zp(a);e=h-j|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?g:e;h=b;g=h-j|0;if(!e){l=0;j=0}else n=16}else{h=b;e=2147483647;g=h-j|0;n=16}if((n|0)==16){l=e;j=aq(e)|0}m=j+g|0;e=m;g=j+l|0;if((c|0)==(d|0))c=e;else{f=m;do{i[f>>0]=i[c>>0]|0;f=e+1|0;e=f;c=c+1|0}while((c|0)!=(d|0));c=e;f=k[a>>2]|0}n=h-f|0;j=m+(0-n)|0;mq(j|0,f|0,n|0)|0;n=(k[p>>2]|0)-h|0;l=c;mq(l|0,b|0,n|0)|0;b=k[a>>2]|0;k[a>>2]=j;k[p>>2]=l+n;k[o>>2]=g;if(!b){p=m;return p|0}Jp(b);p=m;return p|0}function gd(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 hd(a){a=a|0;var b=0,c=0,d=0,e=0;d=k[a>>2]|0;e=a+4|0;b=k[e>>2]|0;c=d;if((b|0)==(d|0))b=d;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[e>>2]=b}k[a+16>>2]=0;k[a+12>>2]=b;if(!d)return;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);Jp(d);return}function id(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=k[a>>2]|0;n=a+4|0;c=k[n>>2]|0;j=m;if((c|0)==(m|0))d=m;else{d=c+(~((c+-4-j|0)>>>2)<<2)|0;k[n>>2]=d;c=d}s=a+16|0;k[s>>2]=0;t=a+12|0;k[t>>2]=d;i=b+8|0;d=i;p=k[d>>2]|0;d=k[d+4>>2]|0;r=b+16|0;f=r;g=k[f>>2]|0;f=kq(g|0,k[f+4>>2]|0,4,0)|0;e=L;if((d|0)<(e|0)|(d|0)==(e|0)&p>>>0>>0){a=0;return a|0}q=(k[b>>2]|0)+g|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;h=r;k[h>>2]=f;k[h+4>>2]=e;h=hq(p|0,d|0,f|0,e|0)|0;g=L;if(0>(g|0)|0==(g|0)&q>>>0>h>>>0){a=0;return a|0}h=q>>>2;g=c-j>>2;if(h>>>0<=g>>>0)if(h>>>0>>0?(o=m+(h<<2)|0,(c|0)!=(o|0)):0){k[n>>2]=c+(~((c+-4-o|0)>>>2)<<2);c=p}else c=p;else{jd(a,h-g|0);c=i;e=r;f=k[e>>2]|0;e=k[e+4>>2]|0;d=k[c+4>>2]|0;c=k[c>>2]|0}p=kq(f|0,e|0,q|0,0)|0;o=L;if((d|0)<(o|0)|(d|0)==(o|0)&c>>>0

>>0){a=0;return a|0}mq(k[a>>2]|0,(k[b>>2]|0)+f|0,q|0)|0;b=r;q=kq(k[b>>2]|0,k[b+4>>2]|0,q|0,0)|0;b=r;k[b>>2]=q;k[b+4>>2]=L;k[t>>2]=k[a>>2];k[s>>2]=0;a=1;return a|0}function jd(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;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){iq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)zp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;iq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;mq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Jp(j);return}function kd(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;k[a+24>>2]=0;k[a+28>>2]=0;return}function ld(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f;e=d;k[e>>2]=0;k[e+4>>2]=0;md(a,2,d);d=k[a+12>>2]|0;e=a+16|0;b=k[e>>2]|0;c=d;if((b|0)==(d|0))b=d;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[e>>2]=b}k[a+24>>2]=0;k[a+28>>2]=0;if(d|0){if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);Jp(d)}d=k[a>>2]|0;if(!d){r=f;return}b=a+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-8-d|0)>>>3)<<3);Jp(d);r=f;return}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,i=0,j=0,l=0,m=0;i=a+8|0;d=k[i>>2]|0;g=k[a>>2]|0;j=g;if(d-g>>3>>>0>=b>>>0){i=a+4|0;h=k[i>>2]|0;f=h-g>>3;g=f>>>0>>0;d=g?f:b;if(d|0){e=j;while(1){m=c;l=k[m+4>>2]|0;a=e;k[a>>2]=k[m>>2];k[a+4>>2]=l;d=d+-1|0;if(!d)break;else e=e+8|0}}if(g){e=b-f|0;d=e;f=h;while(1){b=c;l=k[b+4>>2]|0;m=f;k[m>>2]=k[b>>2];k[m+4>>2]=l;d=d+-1|0;if(!d)break;else f=f+8|0}k[i>>2]=h+(e<<3);return}else{d=j+(b<<3)|0;if((h|0)==(d|0))return;k[i>>2]=h+(~((h+-8-d|0)>>>3)<<3);return}}f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(j|0))k[d>>2]=e+(~((e+-8-g|0)>>>3)<<3);Jp(f);k[i>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(b>>>0>536870911)zp(a);d=d-0|0;if(d>>3>>>0<268435455){d=d>>2;d=d>>>0>>0?b:d;if(d>>>0>536870911)zp(a);else h=d}else h=536870911;f=aq(h<<3)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[i>>2]=f+(h<<3);d=b;e=f;while(1){j=c;l=k[j+4>>2]|0;m=e;k[m>>2]=k[j>>2];k[m+4>>2]=l;d=d+-1|0;if(!d)break;else e=e+8|0}k[g>>2]=f+(b<<3);return}function nd(a){a=a|0;Fa(a|0)|0;Xp()}function od(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e;c=b;k[c>>2]=0;k[c+4>>2]=0;md(a,2,b);b=k[a+12>>2]|0;c=a+16|0;d=k[c>>2]|0;if((d|0)==(b|0)){d=a+24|0;k[d>>2]=0;a=a+28|0;k[a>>2]=0;r=e;return}k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);d=a+24|0;k[d>>2]=0;a=a+28|0;k[a>>2]=0;r=e;return}function pd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=k[a>>2]|0;if(b){e=c+8|0;c=e;c=kq(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;k[e>>2]=c;k[e+4>>2]=L;e=a+28|0;c=k[e>>2]|0;d=a+24|0;k[d>>2]=k[d>>2]|1<>2]|0,k[e+4>>2]|0,1,0)|0;k[c>>2]=e;k[c+4>>2]=L;c=a+28|0;e=c;c=k[c>>2]|0}d=c+1|0;k[e>>2]=d;if((d|0)!=32)return;c=a+24|0;b=a+16|0;d=k[b>>2]|0;if((d|0)==(k[a+20>>2]|0))ed(a+12|0,c);else{k[d>>2]=k[c>>2];k[b>>2]=d+4}k[e>>2]=0;k[c>>2]=0;return}function qd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+32|0;s=y;t=y+24|0;q=y+28|0;w=y+8|0;o=y+20|0;v=k[a>>2]|0;x=v+8|0;c=k[v>>2]|0;v=k[v+4>>2]|0;x=kq(c|0,v|0,k[x>>2]|0,k[x+4>>2]|0)|0;m=L;m=kq((x|0)==0&(m|0)==0&1|0,0,x|0,m|0)|0;m=~~((+(c>>>0)+4294967296.0*+(v>>>0))/(+(m>>>0)+4294967296.0*+(L>>>0))*256.0+.5)>>>0;m=m>>>0<255?m:255;i[q>>0]=((m&255)<<24>>24==0&1)+m;m=a+12|0;v=a+16|0;c=((k[v>>2]|0)-(k[m>>2]|0)<<1)+64|0;k[w>>2]=0;x=w+4|0;k[x>>2]=0;k[w+8>>2]=0;if(!c)n=0;else{if((c|0)<0)zp(w);d=aq(c)|0;k[x>>2]=d;k[w>>2]=d;k[w+8>>2]=d+c;do{i[d>>0]=0;d=(k[x>>2]|0)+1|0;k[x>>2]=d;c=c+-1|0}while((c|0)!=0);n=k[w>>2]|0}p=a+28|0;c=(k[p>>2]|0)+-1|0;if((c|0)>-1){j=a+24|0;d=4096;e=0;do{h=i[q>>0]|0;f=256-(h&255)|0;g=(k[j>>2]&1<>>0>=h<<12>>>0){i[n+e>>0]=d;d=d>>>8;e=e+1|0}tq(k[800+(h<<3)>>2]|0,0,d|0,0)|0;d=d+(g?0:f&255)+(ha((L+d|0)>>>(k[800+(h<<3)+4>>2]|0),256-h|0)|0)|0;c=c+-1|0}while((c|0)>-1)}else{d=4096;e=0}c=k[v>>2]|0;if((c|0)==(k[m>>2]|0))f=d;else{do{c=c+-4|0;l=k[c>>2]|0;j=31;while(1){h=i[q>>0]|0;f=256-(h&255)|0;g=(1<>>0>=h<<12>>>0){i[n+e>>0]=d;d=d>>>8;e=e+1|0}tq(k[800+(h<<3)>>2]|0,0,d|0,0)|0;d=d+(g?0:f&255)+(ha((L+d|0)>>>(k[800+(h<<3)+4>>2]|0),256-h|0)|0)|0;if((j|0)>0)j=j+-1|0;else break}}while((c|0)!=(k[m>>2]|0));f=d}if(f>>>0<=4095)Aa(5456,5477,133,5490);if(f>>>0>=1048576)Aa(5504,5477,134,5490);d=f+-4096|0;do if(d>>>0>=64){c=n+e|0;if(d>>>0<16384){d=f+12288|0;i[c>>0]=d;i[c+1>>0]=d>>>8;d=e+2|0;break}else{d=f+8384512|0;i[c>>0]=d;i[c+1>>0]=d>>>8;i[c+2>>0]=d>>>16;d=e+3|0;break}}else{i[n+e>>0]=d;d=e+1|0}while(0);c=b+16|0;n=c;m=k[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(k[n>>2]|0)>>>0>0)){k[t>>2]=k[b+4>>2];k[s>>2]=k[t>>2];fd(b,s,q,q+1|0)|0;n=c;q=k[n>>2]|0;n=k[n+4>>2]|0;k[o>>2]=d;if(!((n|0)>0|(n|0)==0&q>>>0>0)){k[t>>2]=k[b+4>>2];k[s>>2]=k[t>>2];fd(b,s,o,o+4|0)|0;q=c;o=k[q+4>>2]|0;c=k[w>>2]|0;if(!((o|0)>0|(o|0)==0&(k[q>>2]|0)>>>0>0)){k[t>>2]=k[b+4>>2];k[s>>2]=k[t>>2];fd(b,s,c,c+d|0)|0}}else u=31}else{k[o>>2]=d;u=31}c=s;k[c>>2]=0;k[c+4>>2]=0;md(a,2,s);c=k[a+12>>2]|0;d=k[v>>2]|0;if((d|0)!=(c|0))k[v>>2]=d+(~((d+-4-c|0)>>>2)<<2);k[a+24>>2]=0;k[p>>2]=0;c=k[w>>2]|0;if(!c){r=y;return}if((k[x>>2]|0)!=(c|0))k[x>>2]=c;Jp(c);r=y;return}function rd(a){a=a|0;i[a+12>>0]=0;return}function sd(a){a=a|0;return}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;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=kq(h|0,g|0,1,0)|0;f=j;k[f>>2]=e;k[f+4>>2]=L;f=d;d=k[f>>2]|0;f=k[f+4>>2]|0;g=kq(h|0,g|0,5,0)|0;h=L;if((f|0)<(h|0)|(f|0)==(h|0)&d>>>0>>0){j=0;return j|0}c=k[b>>2]|0;b=c+e|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=j;k[e>>2]=g;k[e+4>>2]=h;f=hq(d|0,f|0,g|0,h|0)|0;e=L;if(0>(e|0)|0==(e|0)&b>>>0>f>>>0){j=0;return j|0}c=c+g|0;if((b|0)<1){j=0;return j|0}k[a>>2]=c;d=b+-1|0;e=c+d|0;a:do switch((l[e>>0]|0)>>>6|0){case 0:{k[a+4>>2]=d;d=(l[e>>0]|0)&63;c=a+8|0;k[c>>2]=d;break}case 1:if((b|0)<2){j=0;return j|0}else{k[a+4>>2]=b+-2;d=c+b+-2|0;d=(l[d+1>>0]|0)<<8&16128|(l[d>>0]|0);c=a+8|0;k[c>>2]=d;break a}case 2:if((b|0)<3){j=0;return j|0}else{k[a+4>>2]=b+-3;d=c+b+-3|0;d=(l[d+1>>0]|0)<<8|(l[d>>0]|0)|(l[d+2>>0]|0)<<16&4128768;c=a+8|0;k[c>>2]=d;break a}default:{j=0;return j|0}}while(0);a=d+4096|0;k[c>>2]=a;if(a>>>0>1048575){j=0;return j|0}a=kq(g|0,h|0,b|0,0)|0;k[j>>2]=a;k[j+4>>2]=L;j=1;return j|0}function ud(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;c=l[a+12>>0]|0;d=a+8|0;b=k[d>>2]|0;if(b>>>0<4096){f=a+4|0;e=(k[f>>2]|0)+-1|0;k[f>>2]=e;b=l[(k[a>>2]|0)+e>>0]|0|b<<8;k[d>>2]=b}a=b&255;c=0-c&255;e=ha(b>>>8,c)|0;f=a>>>0>>0;k[d>>2]=f?e+a|0:b-c-e|0;return f|0}function vd(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)Aa(10044,5436,153,10095);if((b|0)<=0)Aa(10124,5436,154,10095);f=a+8|0;g=a+4|0;h=0-(l[a+12>>0]|0)&255;e=b;d=k[f>>2]|0;b=0;do{if(d>>>0<4096){i=(k[g>>2]|0)+-1|0;k[g>>2]=i;d=l[(k[a>>2]|0)+i>>0]|0|d<<8;k[f>>2]=d}m=d&255;j=ha(d>>>8,h)|0;i=m>>>0>>0;d=i?j+m|0:d-h-j|0;k[f>>2]=d;b=i&1|b<<1;e=e+-1|0}while((e|0)!=0);k[c>>2]=b;return}function wd(a){a=a|0;p[a+16>>3]=.5;return}function xd(a){a=a|0;p[a+16>>3]=.5;return}function yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;p[a+16>>3]=.5;e=b+8|0;d=k[e>>2]|0;e=k[e+4>>2]|0;i=b+16|0;g=i;c=k[g>>2]|0;g=kq(c|0,k[g+4>>2]|0,4,0)|0;h=L;if((e|0)<(h|0)|(e|0)==(h|0)&d>>>0>>0){i=0;return i|0}b=k[b>>2]|0;f=b+c|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;c=i;k[c>>2]=g;k[c+4>>2]=h;e=hq(d|0,e|0,g|0,h|0)|0;d=L;if(0>(d|0)|0==(d|0)&f>>>0>e>>>0){i=0;return i|0}b=b+g|0;if((f|0)<1){i=0;return i|0}k[a>>2]=b;c=f+-1|0;d=b+c|0;a:do switch((l[d>>0]|0)>>>6|0){case 0:{k[a+4>>2]=c;c=(l[d>>0]|0)&63;b=a+8|0;k[b>>2]=c;break}case 1:if((f|0)<2){i=0;return i|0}else{k[a+4>>2]=f+-2;c=b+f+-2|0;c=(l[c+1>>0]|0)<<8&16128|(l[c>>0]|0);b=a+8|0;k[b>>2]=c;break a}case 2:if((f|0)<3){i=0;return i|0}else{k[a+4>>2]=f+-3;c=b+f+-3|0;c=(l[c+1>>0]|0)<<8|(l[c>>0]|0)|(l[c+2>>0]|0)<<16&4128768;b=a+8|0;k[b>>2]=c;break a}default:{i=0;return i|0}}while(0);a=c+4096|0;k[b>>2]=a;if(a>>>0>1048575){i=0;return i|0}h=kq(g|0,h|0,f|0,0)|0;k[i>>2]=h;k[i+4>>2]=L;i=1;return i|0}function zd(a){a=a|0;var b=0,c=0,d=0.0,e=0,f=0,g=0,h=0,i=0;c=a+16|0;d=+p[c>>3];if(!(d<=1.0))Aa(5534,5547,22,5576);if(!(d>=0.0))Aa(5594,5547,23,5576);f=~~(d*256.0+.5)>>>0;g=(f|0)==256;e=a+8|0;b=k[e>>2]|0;if(b>>>0<4096){i=a+4|0;h=(k[i>>2]|0)+-1|0;k[i>>2]=h;b=l[(k[a>>2]|0)+h>>0]|0|b<<8;k[e>>2]=b}a=b&255;g=0-(f+(g<<31>>31)+((f|0)==(g&1|0)&1))&255;h=ha(b>>>8,g)|0;i=a>>>0>>0;k[e>>2]=i?h+a|0:b-g-h|0;p[c>>3]=d*.9921875+ +(i&1^1|0)*.0078125;return i|0}function Ad(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 Bd(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;m=a+8|0;f=k[m>>2]|0;n=a+4|0;d=k[n>>2]|0;g=d;if(f-d>>2>>>0>=b>>>0){d=b;e=g;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[n>>2]=g+(b<<2);return}l=k[a>>2]|0;e=(d-l>>2)+b|0;if(e>>>0>1073741823)zp(a);d=f-l|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[n>>2]|0;e=f-l>>2;if(!d){i=0;d=0;h=f}else j=9}else{e=k[n>>2]|0;d=1073741823;f=e;e=e-l>>2;j=9}if((j|0)==9){i=d;d=aq(d<<2)|0;h=f}g=d+(e<<2)|0;e=d+(i<<2)|0;d=b;f=g;while(1){k[f>>2]=k[c>>2];d=d+-1|0;if(!d)break;else f=f+4|0}j=h-l|0;c=g+(0-(j>>2)<<2)|0;mq(c|0,l|0,j|0)|0;k[a>>2]=c;k[n>>2]=g+(b<<2);k[m>>2]=e;if(!l)return;Jp(l);return}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,j=0,l=0;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)zp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;mq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Jp(i);return}function Dd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+32|0;h=i+16|0;c=i+8|0;d=i;e=a+8|0;if(k[e>>2]<<5>>>0>=b>>>0){r=i;return}k[h>>2]=0;f=h+4|0;k[f>>2]=0;g=h+8|0;k[g>>2]=0;if((b|0)<0)zp(h);l=((b+-1|0)>>>5)+1|0;b=aq(l<<2)|0;k[h>>2]=b;k[f>>2]=0;k[g>>2]=l;l=k[a>>2]|0;k[c>>2]=l;k[c+4>>2]=0;b=a+4|0;j=k[b>>2]|0;k[d>>2]=l+(j>>>5<<2);k[d+4>>2]=j&31;Ed(h,c,d);c=k[a>>2]|0;k[a>>2]=k[h>>2];k[h>>2]=c;a=k[b>>2]|0;k[b>>2]=k[f>>2];k[f>>2]=a;a=k[e>>2]|0;k[e>>2]=k[g>>2];k[g>>2]=a;if(c|0)Jp(c);r=i;return}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;o=r;r=r+32|0;j=o+24|0;l=o+16|0;m=o+8|0;n=o;f=a+4|0;p=k[f>>2]|0;e=k[b>>2]|0;d=k[b+4>>2]|0;i=k[c>>2]|0;g=k[c+4>>2]|0;h=i-e<<3;k[f>>2]=p-d+g+h;f=(k[a>>2]|0)+(p>>>5<<2)|0;c=p&31;b=f;if((d|0)!=(c|0)){k[j>>2]=e;k[j+4>>2]=d;k[l>>2]=i;k[l+4>>2]=g;k[m>>2]=b;k[m+4>>2]=c;Fd(n,j,l,m);r=o;return}a=g-d+h|0;c=e;if((a|0)>0){if(!d){d=0;g=c;b=a}else{g=32-d|0;b=(a|0)<(g|0)?a:g;g=-1>>>(g-b|0)&-1<>2]=k[f>>2]&~g|k[c>>2]&g;d=b+d|0;g=c+4|0;f=f+(d>>>5<<2)|0;d=d&31;e=g;b=a-b|0}a=b>>>5;nq(f|0,e|0,a<<2|0)|0;c=b-(a<<5)|0;e=f+(a<<2)|0;b=e;if((c|0)>0){d=-1>>>(32-c|0);k[e>>2]=k[e>>2]&~d|k[g+(a<<2)>>2]&d;d=c}}k[n>>2]=b;k[n+4>>2]=d;r=o;return}function Fd(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;m=k[b>>2]|0;l=b+4|0;e=k[l>>2]|0;h=((k[c>>2]|0)-m<<3)+(k[c+4>>2]|0)-e|0;c=m;if((h|0)<=0){b=d+4|0;d=k[d>>2]|0;k[a>>2]=d;a=a+4|0;d=k[b>>2]|0;k[a>>2]=d;return}if(!e){e=d+4|0;j=e;e=k[e>>2]|0}else{j=32-e|0;m=(h|0)<(j|0)?h:j;c=-1>>>(j-m|0)&-1<>2];j=d+4|0;n=k[j>>2]|0;e=32-n|0;f=e>>>0>>0?e:m;g=k[d>>2]|0;n=k[g>>2]&~(-1>>>(e-f|0)&-1<>2]=n;e=k[j>>2]|0;i=k[l>>2]|0;k[g>>2]=n|(e>>>0>i>>>0?c<>>(i-e|0));e=(k[j>>2]|0)+f|0;g=g+(e>>>5<<2)|0;k[d>>2]=g;e=e&31;k[j>>2]=e;i=m-f|0;if((i|0)>0){e=k[g>>2]&~(-1>>>(32-i|0));k[g>>2]=e;k[g>>2]=e|c>>>((k[l>>2]|0)+f|0);k[j>>2]=i;e=i}c=(k[b>>2]|0)+4|0;k[b>>2]=c;h=h-m|0}i=32-e|0;f=-1<>>0>31){g=~f;e=h;do{n=k[c>>2]|0;c=k[d>>2]|0;m=k[c>>2]&g;k[c>>2]=m;k[c>>2]=m|n<>2];c=c+4|0;k[d>>2]=c;k[c>>2]=k[c>>2]&f|n>>>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|0)<=0){b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;a=k[b>>2]|0;k[n>>2]=a;return}f=k[c>>2]&-1>>>(32-h|0);g=(i|0)<(h|0)?i:h;e=k[d>>2]|0;c=k[e>>2]&~(-1<>2]&-1>>>(i-g|0));k[e>>2]=c;k[e>>2]=c|f<>2];c=(k[j>>2]|0)+g|0;e=e+(c>>>5<<2)|0;k[d>>2]=e;k[j>>2]=c&31;c=h-g|0;if((c|0)<=0){b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;a=k[b>>2]|0;k[n>>2]=a;return}k[e>>2]=k[e>>2]&~(-1>>>(32-c|0))|f>>>g;k[j>>2]=c;b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;a=k[b>>2]|0;k[n>>2]=a;return}function Gd(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}d=k[a>>2]|0;if(!d)return;b=a+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~(((c+-12-d|0)>>>0)/12|0)*12|0);Jp(d);return}function Hd(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;Id(a,b,2852);e=b*3|0;Jd(a+12|0,e,2848);f=a+24|0;g=a+32|0;h=k[f>>2]|0;if((k[g>>2]|0)-h>>2>>>0>=e>>>0)return;d=a+28|0;c=(k[d>>2]|0)-h|0;a=c>>2;if(!b)b=0;else b=aq(b*12|0)|0;i=b+(a<<2)|0;j=i+(0-a<<2)|0;a=h;mq(j|0,a|0,c|0)|0;k[f>>2]=j;k[d>>2]=i;k[g>>2]=b+(e<<2);if(!h)return;Jp(a);return}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;i=a+8|0;d=k[i>>2]|0;g=k[a>>2]|0;m=g;if(((d-g|0)/12|0)>>>0>=b>>>0){l=a+4|0;j=k[l>>2]|0;f=(j-g|0)/12|0;g=f>>>0>>0;d=g?f:b;a=j;if(d|0){h=c+4|0;i=c+8|0;e=m;while(1){k[e>>2]=k[c>>2];k[e+4>>2]=k[h>>2];k[e+8>>2]=k[i>>2];d=d+-1|0;if(!d)break;else e=e+12|0}}if(g){d=b-f|0;b=j;do{k[b>>2]=k[c>>2];k[b+4>>2]=k[c+4>>2];k[b+8>>2]=k[c+8>>2];b=(k[l>>2]|0)+12|0;k[l>>2]=b;d=d+-1|0}while((d|0)!=0);return}b=m+(b*12|0)|0;if((a|0)==(b|0))return;k[l>>2]=a+(~(((a+-12-b|0)>>>0)/12|0)*12|0);return}f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(m|0))k[d>>2]=e+(~(((e+-12-g|0)>>>0)/12|0)*12|0);Jp(f);k[i>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}f=b>>>0>357913941;if(f)zp(a);d=(d-0|0)/12|0;if(d>>>0<178956970){e=d<<1;d=e>>>0>=b>>>0;if(d|f^1)h=d?e:b;else zp(a)}else h=357913941;d=aq(h*12|0)|0;e=a+4|0;k[e>>2]=d;k[a>>2]=d;k[i>>2]=d+(h*12|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[e>>2]|0)+12|0;k[e>>2]=d;b=b+-1|0}while((b|0)!=0);return}function Jd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+8|0;d=k[i>>2]|0;g=k[a>>2]|0;j=g;if(d-g>>2>>>0>=b>>>0){i=a+4|0;h=k[i>>2]|0;f=h-g>>2;g=f>>>0>>0;d=g?f:b;if(d|0){e=j;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(g){e=b-f|0;d=e;f=h;while(1){k[f>>2]=k[c>>2];d=d+-1|0;if(!d)break;else f=f+4|0}k[i>>2]=h+(e<<2);return}else{d=j+(b<<2)|0;if((h|0)==(d|0))return;k[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);return}}f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(j|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);Jp(f);k[i>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(b>>>0>1073741823)zp(a);d=d-0|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?b:d;if(d>>>0>1073741823)zp(a);else h=d}else h=1073741823;f=aq(h<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[i>>2]=f+(h<<2);d=b;e=f;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[g>>2]=f+(b<<2);return}function Kd(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 Ld(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){c=0;return c|0}if(!a){c=1;return c|0}h=c+8|0;j=k[h+4>>2]|0;g=c+16|0;f=g;e=k[f>>2]|0;f=k[f+4>>2]|0;if(!((j|0)>(f|0)|((j|0)==(f|0)?(k[h>>2]|0)>>>0>e>>>0:0))){j=0;return j|0}j=i[(k[c>>2]|0)+e>>0]|0;f=kq(e|0,f|0,1,0)|0;h=g;k[h>>2]=f;k[h+4>>2]=L;switch(j<<24>>24){case 0:{j=Md(a,b,c,d)|0;return j|0}case 1:{j=Qd(a,c,d)|0;return j|0}default:{j=0;return j|0}}return 0}function Md(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+64|0;E=F;p=E;q=p+40|0;do{k[p>>2]=0;p=p+4|0}while((p|0)<(q|0));a:do if(((Nd(E,c)|0?(n=c+8|0,m=k[n>>2]|0,n=k[n+4>>2]|0,o=c+16|0,f=o,e=k[f>>2]|0,f=kq(e|0,k[f+4>>2]|0,8,0)|0,g=L,!((n|0)<(g|0)|(n|0)==(g|0)&m>>>0>>0)):0)?(h=k[c>>2]|0,j=h+e|0,u=j,u=l[u>>0]|l[u+1>>0]<<8|l[u+2>>0]<<16|l[u+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,D=o,k[D>>2]=f,k[D+4>>2]=g,D=hq(m|0,n|0,f|0,g|0)|0,C=L,!(j>>>0>C>>>0|(j|0)==(C|0)&u>>>0>D>>>0)):0)?(v=h+f|0,C=kq(u|0,j|0,f|0,g|0)|0,D=o,k[D>>2]=C,k[D+4>>2]=L,(u|0)>=1):0){D=E+40|0;k[D>>2]=v;e=u+-1|0;f=v+e|0;switch((l[f>>0]|0)>>>6|0){case 0:{k[E+44>>2]=e;t=l[f>>0]&63;s=E+48|0;k[s>>2]=t;break}case 1:{if((u|0)<2){j=0;break a}k[E+44>>2]=u+-2;t=v+u+-2|0;t=l[t+1>>0]<<8&16128|l[t>>0];s=E+48|0;k[s>>2]=t;break}case 2:{if((u|0)<3){j=0;break a}k[E+44>>2]=u+-3;t=v+u+-3|0;t=l[t+1>>0]<<8|l[t>>0]|l[t+2>>0]<<16&4128768;s=E+48|0;k[s>>2]=t;break}case 3:{k[E+44>>2]=u+-4;t=v+u+-4|0;t=l[t+2>>0]<<16|l[t+3>>0]<<24&1056964608|l[t+1>>0]<<8|l[t>>0];s=E+48|0;k[s>>2]=t;break}default:{}}C=t+16384|0;k[s>>2]=C;if(C>>>0<=4194303){e=(a|0)>0;b:do if(e){if(!(k[E+12>>2]|0)){j=0;break a}Rg(c,0,0)|0;if(e){t=E+48|0;u=E+44|0;v=E+16|0;w=E+28|0;x=(b|0)>0;C=c+36|0;y=c+32|0;z=c+24|0;A=c+28|0;f=k[t>>2]|0;B=0;e=0;while(1){c:do if(f>>>0<16384){g=k[u>>2]|0;do{if((g|0)<=0)break c;g=g+-1|0;k[u>>2]=g;f=l[(k[D>>2]|0)+g>>0]|f<<8;k[t>>2]=f}while(f>>>0<16384)}while(0);p=f&4095;s=k[(k[v>>2]|0)+(p<<2)>>2]|0;q=k[w>>2]|0;f=(ha(k[q+(s<<3)>>2]|0,f>>>12)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[t>>2]=f;if(x){p=(s|0)>0;if((s|0)<=-1){e=33;break}if((s|0)<33){q=0;o=e}else{e=32;break}while(1){if(!(i[C>>0]|0)){j=0;break a}if(p){j=k[z>>2]|0;m=k[A>>2]|0;h=k[y>>2]|0;n=0;g=0;do{e=j+(h>>>3)|0;if(e>>>0>>0){e=(l[e>>0]|0)>>>(h&7)&1;h=h+1|0;k[y>>2]=h}else e=0;g=e<>2]=g;q=q+1|0;if((q|0)>=(b|0))break;else o=e}}B=B+b|0;if((B|0)>=(a|0))break b}if((e|0)==32){if(!(i[C>>0]|0)){j=0;break a}Aa(5649,5622,113,5641)}else if((e|0)==33){if(!(i[C>>0]|0)){j=0;break a}Aa(5607,5622,112,5641)}}}else Rg(c,0,0)|0;while(0);Sg(c);j=1}else j=0}else j=0;while(0);e=k[E+28>>2]|0;f=e;if(e|0){g=E+32|0;h=k[g>>2]|0;if((h|0)!=(e|0))k[g>>2]=h+(~((h+-8-f|0)>>>3)<<3);Jp(e)}e=k[E+16>>2]|0;f=e;if(e|0){g=E+20|0;h=k[g>>2]|0;if((h|0)!=(e|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);Jp(e)}g=k[E>>2]|0;if(!g){r=F;return j|0}e=E+4|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-g|0)>>>2)<<2);Jp(g);r=F;return j|0}function Nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=Od(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|0;return 0}function Od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=4096){if(f>>>0>4096?(e=g+16384|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else jd(a,4096-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Pd(d,c-f|0);if(!c){j=0;return j|0}f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(d>>>0>4096){d=0;j=19;break}if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if(h>>>0>=c>>>0)break;else e=d}if((j|0)==19)return d|0;j=(d|0)==4096;return j|0}function Pd(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;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>3>>>0>=b>>>0){do{a=c;k[a>>2]=0;k[a+4>>2]=0;c=(k[i>>2]|0)+8|0;k[i>>2]=c;b=b+-1|0}while((b|0)!=0);return}f=k[a>>2]|0;e=(c-f>>3)+b|0;if(e>>>0>536870911)zp(a);c=d-f|0;if(c>>3>>>0<268435455){c=c>>2;c=c>>>0>>0?e:c;d=(k[i>>2]|0)-f>>3;if(!c){f=0;e=0;c=d}else g=9}else{c=536870911;d=(k[i>>2]|0)-f>>3;g=9}if((g|0)==9){f=c;e=aq(c<<3)|0;c=d}g=e+(c<<3)|0;e=e+(f<<3)|0;d=g;c=g;do{f=d;k[f>>2]=0;k[f+4>>2]=0;d=c+8|0;c=d;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;f=(k[i>>2]|0)-b|0;g=g+(0-(f>>3)<<3)|0;mq(g|0,b|0,f|0)|0;k[a>>2]=g;k[i>>2]=c;k[h>>2]=e;if(!b)return;Jp(b);return}function Qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=b+8|0;h=k[g+4>>2]|0;f=b+16|0;e=f;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((h|0)>(e|0)|((h|0)==(e|0)?(k[g>>2]|0)>>>0>d>>>0:0))){h=0;return h|0}h=i[(k[b>>2]|0)+d>>0]|0;e=kq(d|0,e|0,1,0)|0;g=f;k[g>>2]=e;k[g+4>>2]=L;do switch(h&255|0){case 1:{h=Rd(a,b,c)|0;return h|0}case 2:{h=Td(a,b,c)|0;return h|0}case 3:{h=Vd(a,b,c)|0;return h|0}case 4:{h=Xd(a,b,c)|0;return h|0}case 5:{h=Zd(a,b,c)|0;return h|0}case 6:{h=_d(a,b,c)|0;return h|0}case 7:{h=ae(a,b,c)|0;return h|0}case 8:{h=ce(a,b,c)|0;return h|0}case 9:{h=ee(a,b,c)|0;return h|0}case 10:{h=he(a,b,c)|0;return h|0}case 11:{h=ke(a,b,c)|0;return h|0}case 12:{h=ne(a,b,c)|0;return h|0}case 13:{h=qe(a,b,c)|0;return h|0}case 14:{h=te(a,b,c)|0;return h|0}case 15:{h=we(a,b,c)|0;return h|0}case 16:{h=ye(a,b,c)|0;return h|0}case 17:{h=Ae(a,b,c)|0;return h|0}case 18:{h=Ce(a,b,c)|0;return h|0}default:{h=0;return h|0}}while(0);return 0}function Rd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(Sd(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+16384|0;k[o>>2]=d;d=d>>>0>4194303;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>12)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function Sd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=Od(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|0;return 0}function Td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(Ud(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+16384|0;k[o>>2]=d;d=d>>>0>4194303;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>12)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function Ud(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;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=Od(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|0;return 0}function Vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(Wd(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+16384|0;k[o>>2]=d;d=d>>>0>4194303;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>12)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function Wd(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;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=Od(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|0;return 0}function Xd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(Yd(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+16384|0;k[o>>2]=d;d=d>>>0>4194303;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>12)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=Od(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|0;return 0}function Zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(Nd(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+16384|0;k[o>>2]=d;d=d>>>0>4194303;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>12)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function _d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if($d(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+16384|0;k[o>>2]=d;d=d>>>0>4194303;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>12)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function $d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=Od(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|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,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(be(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+16384|0;k[o>>2]=d;d=d>>>0>4194303;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>12)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=Od(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|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,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(de(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+16384|0;k[o>>2]=d;d=d>>>0>4194303;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<16384){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>12)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function de(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;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=Od(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|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=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(fe(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+32768|0;k[o>>2]=d;d=d>>>0>8388607;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<32768){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<32768)}while(0);p=d&8191;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>13)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}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,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=ge(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|0;return 0}function ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=8192){if(f>>>0>8192?(e=g+32768|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else jd(a,8192-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Pd(d,c-f|0);if(!c){j=0;return j|0}f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(d>>>0>8192){d=0;j=19;break}if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if(h>>>0>=c>>>0)break;else e=d}if((j|0)==19)return d|0;j=(d|0)==8192;return j|0}function he(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(ie(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+131072|0;k[o>>2]=d;d=d>>>0>33554431;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<131072){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<131072)}while(0);p=d&32767;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>15)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function ie(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=je(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|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,h=0,i=0,j=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=32768){if(f>>>0>32768?(e=g+131072|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else jd(a,32768-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Pd(d,c-f|0);if(!c){j=0;return j|0}f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(d>>>0>32768){d=0;j=19;break}if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if(h>>>0>=c>>>0)break;else e=d}if((j|0)==19)return d|0;j=(d|0)==32768;return j|0} -function Vk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=r;r=r+96|0;ga=ia+80|0;n=ia+32|0;ha=ia+56|0;fa=ia+44|0;_=ia+16|0;Z=ia;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];j=k[c>>2]|0;$=c+4|0;l=k[$>>2]|0;aa=c+8|0;m=k[aa>>2]|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;ba=ha+8|0;ca=ha+4|0;da=ha+16|0;ea=ha+20|0;Wk(ha);g=k[ca>>2]|0;h=(k[ea>>2]|0)+(k[da>>2]|0)|0;if((k[ba>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Y=g+16|0;k[Y>>2]=k[n>>2];k[Y+4>>2]=k[n+4>>2];k[Y+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ea>>2]|0)+1|0;k[ea>>2]=g;if(!g){Zk(ha);r=ia;return}Q=a+44|0;R=a+40|0;S=f+4|0;T=ga+4|0;U=ga+8|0;V=a+24|0;W=a+20|0;X=a+84|0;Y=a+80|0;a:while(1){N=k[da>>2]|0;n=g+-1|0;m=n+N|0;O=k[ca>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[fa>>2]=k[L>>2];k[fa+4>>2]=k[L+4>>2];k[fa+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[ea>>2]=n;n=k[ba>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Jp(k[n+-4>>2]|0);k[ba>>2]=(k[ba>>2]|0)+-4}k[c>>2]=h;k[$>>2]=j;k[aa>>2]=l;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[ga>>2]=k[fa>>2];k[ga+4>>2]=k[fa+4>>2];k[ga+8>>2]=k[fa+8>>2];O=Gm(a,P,c,ga,m)|0;n=d+(O<<2)|0;e=k[n>>2]|0;g=k[a>>2]|0;do if((g|0)==(e|0)){if((P|0)>0){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[S>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=tq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;mq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[S>>2]=P+g}}else{if(!P){g=14;break a}if(P>>>0>=3){k[ga>>2]=k[c>>2];k[T>>2]=k[$>>2];k[U>>2]=k[aa>>2];m=ga+(O<<2)|0;k[m>>2]=(k[m>>2]|0)+(1<>>0>=33){g=32;break a}if((g|0)==31){g=34;break a}j=k[V>>2]|0;g=32-j|0;l=k[W>>2]|0;h=k[l>>2]<>>(32-m|0);N=j+m|0;k[V>>2]=N;if((N|0)==32){k[W>>2]=l+4;k[V>>2]=0}}else{N=m-g|0;k[V>>2]=N;M=l+4|0;k[W>>2]=M;N=32-N|0;g=(k[M>>2]|0)>>>N|h>>>(N-g|0)}l=(P>>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[X>>2]|0;g=k[Y>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[X>>2]=P;if((P|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=j?l:h;o=j?h:l}k[n>>2]=e+1;if(b|0){k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];m=k[c>>2]|0;n=k[$>>2]|0;e=k[aa>>2]|0;l=k[ba>>2]|0;j=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Wk(ha);g=k[da>>2]|0;h=k[ea>>2]|0;l=k[ba>>2]|0;j=k[ca>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[ea>>2]=(k[ea>>2]|0)+1}if(o|0){k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];m=k[ga>>2]|0;n=k[T>>2]|0;e=k[U>>2]|0;l=k[ba>>2]|0;j=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Wk(ha);g=k[da>>2]|0;h=k[ea>>2]|0;l=k[ba>>2]|0;j=k[ca>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Z>>2];k[P+4>>2]=k[Z+4>>2];k[P+8>>2]=k[Z+8>>2];k[g+28>>2]=O;k[ea>>2]=(k[ea>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=g-e|0;F=k[d+(x<<2)>>2]|0;I=g-F|0;q=k[d+(t<<2)>>2]|0;J=g-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(g|0)==(e|0);B=ga+(O<<2)|0;E=c+(O<<2)|0;F=(g|0)==(F|0);C=ga+(x<<2)|0;G=c+(x<<2)|0;q=(g|0)==(q|0);p=ga+(t<<2)|0;s=c+(t<<2)|0;t=ga+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ga+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ga+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=H-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=I-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=J-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[S>>2]|0;k[S>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=tq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;mq((k[k[N>>2]>>2]|0)+l|0,ga|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ea>>2]|0;if(!g){g=58;break}}if((g|0)==14)Aa(9923,9961,231,10031);else if((g|0)==21)Aa(10044,10068,111,10095);else if((g|0)==23)Aa(10124,10068,112,10095);else if((g|0)==32)Aa(10044,10068,111,10095);else if((g|0)==34)Aa(10124,10068,112,10095);else if((g|0)==58){Zk(ha);r=ia;return}}function Wk(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;nq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Jp(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=aq(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Xk(a,e);r=p;return}k[f>>2]=b;Yk(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;nq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=aq(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Jp(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=aq(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=aq(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=aq(c<<2)|0;Jp(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;nq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=aq(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Jp(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Jp(b);r=p;return}function Xk(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;nq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=aq(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Jp(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Yk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;nq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Jp(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function Zk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Jp(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Jp(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Jp(b);return}function _k(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=kq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=kq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=kq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){u=1;r=s;return u|0}if(!(id(a+8|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+28|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+48|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+68|0,b)|0)){u=0;r=s;return u|0}u=k[g>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];$k(a,u,n,m,0,q);u=1;r=s;return u|0}function $k(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=r;r=r+96|0;ga=ia+80|0;n=ia+32|0;ha=ia+56|0;fa=ia+44|0;_=ia+16|0;Z=ia;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];j=k[c>>2]|0;$=c+4|0;l=k[$>>2]|0;aa=c+8|0;m=k[aa>>2]|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;ba=ha+8|0;ca=ha+4|0;da=ha+16|0;ea=ha+20|0;al(ha);g=k[ca>>2]|0;h=(k[ea>>2]|0)+(k[da>>2]|0)|0;if((k[ba>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;Y=g+16|0;k[Y>>2]=k[n>>2];k[Y+4>>2]=k[n+4>>2];k[Y+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ea>>2]|0)+1|0;k[ea>>2]=g;if(!g){dl(ha);r=ia;return}Q=a+44|0;R=a+40|0;S=f+4|0;T=ga+4|0;U=ga+8|0;V=a+24|0;W=a+20|0;X=a+84|0;Y=a+80|0;a:while(1){N=k[da>>2]|0;n=g+-1|0;m=n+N|0;O=k[ca>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[fa>>2]=k[L>>2];k[fa+4>>2]=k[L+4>>2];k[fa+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[ea>>2]=n;n=k[ba>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Jp(k[n+-4>>2]|0);k[ba>>2]=(k[ba>>2]|0)+-4}k[c>>2]=h;k[$>>2]=j;k[aa>>2]=l;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[ga>>2]=k[fa>>2];k[ga+4>>2]=k[fa+4>>2];k[ga+8>>2]=k[fa+8>>2];O=Im(a,P,c,ga,m)|0;n=d+(O<<2)|0;e=k[n>>2]|0;g=k[a>>2]|0;do if((g|0)==(e|0)){if((P|0)>0){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[S>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=tq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;mq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[S>>2]=P+g}}else{if(!P){g=14;break a}if(P>>>0>=3){k[ga>>2]=k[c>>2];k[T>>2]=k[$>>2];k[U>>2]=k[aa>>2];m=ga+(O<<2)|0;k[m>>2]=(k[m>>2]|0)+(1<>>0>=33){g=32;break a}if((g|0)==31){g=34;break a}j=k[V>>2]|0;g=32-j|0;l=k[W>>2]|0;h=k[l>>2]<>>(32-m|0);N=j+m|0;k[V>>2]=N;if((N|0)==32){k[W>>2]=l+4;k[V>>2]=0}}else{N=m-g|0;k[V>>2]=N;M=l+4|0;k[W>>2]=M;N=32-N|0;g=(k[M>>2]|0)>>>N|h>>>(N-g|0)}l=(P>>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[X>>2]|0;g=k[Y>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[X>>2]=P;if((P|0)==32){k[Y>>2]=g+4;k[X>>2]=0}b=j?l:h;o=j?h:l}k[n>>2]=e+1;if(b|0){k[_>>2]=k[d>>2];k[_+4>>2]=k[d+4>>2];k[_+8>>2]=k[d+8>>2];m=k[c>>2]|0;n=k[$>>2]|0;e=k[aa>>2]|0;l=k[ba>>2]|0;j=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){al(ha);g=k[da>>2]|0;h=k[ea>>2]|0;l=k[ba>>2]|0;j=k[ca>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[_>>2];k[P+4>>2]=k[_+4>>2];k[P+8>>2]=k[_+8>>2];k[g+28>>2]=O;k[ea>>2]=(k[ea>>2]|0)+1}if(o|0){k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];m=k[ga>>2]|0;n=k[T>>2]|0;e=k[U>>2]|0;l=k[ba>>2]|0;j=k[ca>>2]|0;g=k[da>>2]|0;h=k[ea>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){al(ha);g=k[da>>2]|0;h=k[ea>>2]|0;l=k[ba>>2]|0;j=k[ca>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Z>>2];k[P+4>>2]=k[Z+4>>2];k[P+8>>2]=k[Z+8>>2];k[g+28>>2]=O;k[ea>>2]=(k[ea>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=g-e|0;F=k[d+(x<<2)>>2]|0;I=g-F|0;q=k[d+(t<<2)>>2]|0;J=g-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(g|0)==(e|0);B=ga+(O<<2)|0;E=c+(O<<2)|0;F=(g|0)==(F|0);C=ga+(x<<2)|0;G=c+(x<<2)|0;q=(g|0)==(q|0);p=ga+(t<<2)|0;s=c+(t<<2)|0;t=ga+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ga+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ga+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=H-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=I-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=J-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[S>>2]|0;k[S>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=tq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;mq((k[k[N>>2]>>2]|0)+l|0,ga|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ea>>2]|0;if(!g){g=58;break}}if((g|0)==14)Aa(9923,9961,231,10031);else if((g|0)==21)Aa(10044,10068,111,10095);else if((g|0)==23)Aa(10124,10068,112,10095);else if((g|0)==32)Aa(10044,10068,111,10095);else if((g|0)==34)Aa(10124,10068,112,10095);else if((g|0)==58){dl(ha);r=ia;return}}function al(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;nq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Jp(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=aq(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;bl(a,e);r=p;return}k[f>>2]=b;cl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;nq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=aq(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Jp(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=aq(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=aq(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=aq(c<<2)|0;Jp(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;nq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=aq(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Jp(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Jp(b);r=p;return}function bl(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;nq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=aq(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Jp(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function cl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;nq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Jp(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function dl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Jp(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Jp(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Jp(b);return}function el(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=kq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=kq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=kq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){u=1;r=s;return u|0}if(!(td(a+8|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+24|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+44|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+64|0,b)|0)){u=0;r=s;return u|0}u=k[g>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];fl(a,u,n,m,0,q);u=1;r=s;return u|0}function fl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=r;r=r+112|0;ga=ia+88|0;n=ia+32|0;ha=ia+64|0;fa=ia+48|0;ea=ia+44|0;Z=ia+16|0;Y=ia;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];j=k[c>>2]|0;_=c+4|0;l=k[_>>2]|0;$=c+8|0;m=k[$>>2]|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;aa=ha+8|0;ba=ha+4|0;ca=ha+16|0;da=ha+20|0;gl(ha);g=k[ba>>2]|0;h=(k[da>>2]|0)+(k[ca>>2]|0)|0;if((k[aa>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;X=g+16|0;k[X>>2]=k[n>>2];k[X+4>>2]=k[n+4>>2];k[X+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[da>>2]|0)+1|0;k[da>>2]=g;if(!g){jl(ha);r=ia;return}Q=a+40|0;R=a+36|0;S=f+4|0;T=ga+4|0;U=ga+8|0;V=a+8|0;W=a+80|0;X=a+76|0;a:while(1){N=k[ca>>2]|0;n=g+-1|0;m=n+N|0;O=k[ba>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[fa>>2]=k[L>>2];k[fa+4>>2]=k[L+4>>2];k[fa+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[da>>2]=n;n=k[aa>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Jp(k[n+-4>>2]|0);k[aa>>2]=(k[aa>>2]|0)+-4}k[c>>2]=h;k[_>>2]=j;k[$>>2]=l;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[ga>>2]=k[fa>>2];k[ga+4>>2]=k[fa+4>>2];k[ga+8>>2]=k[fa+8>>2];O=Km(a,P,c,ga,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;g=k[a>>2]|0;do if((g|0)==(n|0)){if((P|0)>0){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[S>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=tq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;mq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[S>>2]=P+g}}else{if(!P){g=14;break a}if(P>>>0>=3){k[ga>>2]=k[c>>2];k[T>>2]=k[_>>2];k[U>>2]=k[$>>2];l=ga+(O<<2)|0;k[l>>2]=(k[l>>2]|0)+(1<>2]=0;vd(V,l,ea);l=(P>>>1)-(k[ea>>2]|0)|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[W>>2]|0;g=k[X>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[W>>2]=P;if((P|0)==32){k[X>>2]=g+4;k[W>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];m=k[c>>2]|0;n=k[_>>2]|0;e=k[$>>2]|0;l=k[aa>>2]|0;j=k[ba>>2]|0;g=k[ca>>2]|0;h=k[da>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){gl(ha);g=k[ca>>2]|0;h=k[da>>2]|0;l=k[aa>>2]|0;j=k[ba>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Z>>2];k[P+4>>2]=k[Z+4>>2];k[P+8>>2]=k[Z+8>>2];k[g+28>>2]=O;k[da>>2]=(k[da>>2]|0)+1}if(o|0){k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];m=k[ga>>2]|0;n=k[T>>2]|0;e=k[U>>2]|0;l=k[aa>>2]|0;j=k[ba>>2]|0;g=k[ca>>2]|0;h=k[da>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){gl(ha);g=k[ca>>2]|0;h=k[da>>2]|0;l=k[aa>>2]|0;j=k[ba>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Y>>2];k[P+4>>2]=k[Y+4>>2];k[P+8>>2]=k[Y+8>>2];k[g+28>>2]=O;k[da>>2]=(k[da>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=g-n|0;F=k[d+(x<<2)>>2]|0;I=g-F|0;q=k[d+(t<<2)>>2]|0;J=g-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(g|0)==(n|0);B=ga+(O<<2)|0;E=c+(O<<2)|0;F=(g|0)==(F|0);C=ga+(x<<2)|0;G=c+(x<<2)|0;q=(g|0)==(q|0);p=ga+(t<<2)|0;s=c+(t<<2)|0;t=ga+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ga+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ga+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=H-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=I-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=J-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[S>>2]|0;k[S>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=tq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;mq((k[k[N>>2]>>2]|0)+l|0,ga|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[da>>2]|0;if(!g){g=50;break}}if((g|0)==14)Aa(9923,9961,231,10031);else if((g|0)==21)Aa(10044,10068,111,10095);else if((g|0)==23)Aa(10124,10068,112,10095);else if((g|0)==50){jl(ha);r=ia;return}}function gl(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;nq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Jp(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=aq(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;hl(a,e);r=p;return}k[f>>2]=b;il(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;nq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=aq(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Jp(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=aq(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=aq(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=aq(c<<2)|0;Jp(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;nq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=aq(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Jp(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Jp(b);r=p;return}function hl(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;nq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=aq(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Jp(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function il(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;nq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Jp(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function jl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Jp(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Jp(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Jp(b);return}function kl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=kq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=kq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=kq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){u=1;r=s;return u|0}if(!(td(a+8|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+24|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+44|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+64|0,b)|0)){u=0;r=s;return u|0}u=k[g>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];ll(a,u,n,m,0,q);u=1;r=s;return u|0}function ll(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=r;r=r+112|0;ga=ia+88|0;n=ia+32|0;ha=ia+64|0;fa=ia+48|0;ea=ia+44|0;Z=ia+16|0;Y=ia;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];j=k[c>>2]|0;_=c+4|0;l=k[_>>2]|0;$=c+8|0;m=k[$>>2]|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;aa=ha+8|0;ba=ha+4|0;ca=ha+16|0;da=ha+20|0;ml(ha);g=k[ba>>2]|0;h=(k[da>>2]|0)+(k[ca>>2]|0)|0;if((k[aa>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;X=g+16|0;k[X>>2]=k[n>>2];k[X+4>>2]=k[n+4>>2];k[X+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[da>>2]|0)+1|0;k[da>>2]=g;if(!g){pl(ha);r=ia;return}Q=a+40|0;R=a+36|0;S=f+4|0;T=ga+4|0;U=ga+8|0;V=a+8|0;W=a+80|0;X=a+76|0;a:while(1){N=k[ca>>2]|0;n=g+-1|0;m=n+N|0;O=k[ba>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[fa>>2]=k[L>>2];k[fa+4>>2]=k[L+4>>2];k[fa+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[da>>2]=n;n=k[aa>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Jp(k[n+-4>>2]|0);k[aa>>2]=(k[aa>>2]|0)+-4}k[c>>2]=h;k[_>>2]=j;k[$>>2]=l;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[ga>>2]=k[fa>>2];k[ga+4>>2]=k[fa+4>>2];k[ga+8>>2]=k[fa+8>>2];O=Mm(a,P,c,ga,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;g=k[a>>2]|0;do if((g|0)==(n|0)){if((P|0)>0){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[S>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=tq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;mq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[S>>2]=P+g}}else{if(!P){g=14;break a}if(P>>>0>=3){k[ga>>2]=k[c>>2];k[T>>2]=k[_>>2];k[U>>2]=k[$>>2];l=ga+(O<<2)|0;k[l>>2]=(k[l>>2]|0)+(1<>2]=0;vd(V,l,ea);l=(P>>>1)-(k[ea>>2]|0)|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[W>>2]|0;g=k[X>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[W>>2]=P;if((P|0)==32){k[X>>2]=g+4;k[W>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){k[Z>>2]=k[d>>2];k[Z+4>>2]=k[d+4>>2];k[Z+8>>2]=k[d+8>>2];m=k[c>>2]|0;n=k[_>>2]|0;e=k[$>>2]|0;l=k[aa>>2]|0;j=k[ba>>2]|0;g=k[ca>>2]|0;h=k[da>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){ml(ha);g=k[ca>>2]|0;h=k[da>>2]|0;l=k[aa>>2]|0;j=k[ba>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Z>>2];k[P+4>>2]=k[Z+4>>2];k[P+8>>2]=k[Z+8>>2];k[g+28>>2]=O;k[da>>2]=(k[da>>2]|0)+1}if(o|0){k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];m=k[ga>>2]|0;n=k[T>>2]|0;e=k[U>>2]|0;l=k[aa>>2]|0;j=k[ba>>2]|0;g=k[ca>>2]|0;h=k[da>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){ml(ha);g=k[ca>>2]|0;h=k[da>>2]|0;l=k[aa>>2]|0;j=k[ba>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Y>>2];k[P+4>>2]=k[Y+4>>2];k[P+8>>2]=k[Y+8>>2];k[g+28>>2]=O;k[da>>2]=(k[da>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=g-n|0;F=k[d+(x<<2)>>2]|0;I=g-F|0;q=k[d+(t<<2)>>2]|0;J=g-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(g|0)==(n|0);B=ga+(O<<2)|0;E=c+(O<<2)|0;F=(g|0)==(F|0);C=ga+(x<<2)|0;G=c+(x<<2)|0;q=(g|0)==(q|0);p=ga+(t<<2)|0;s=c+(t<<2)|0;t=ga+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ga+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ga+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=H-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=I-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=J-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[S>>2]|0;k[S>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=tq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;mq((k[k[N>>2]>>2]|0)+l|0,ga|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[da>>2]|0;if(!g){g=50;break}}if((g|0)==14)Aa(9923,9961,231,10031);else if((g|0)==21)Aa(10044,10068,111,10095);else if((g|0)==23)Aa(10124,10068,112,10095);else if((g|0)==50){pl(ha);r=ia;return}}function ml(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;nq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Jp(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=aq(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;nl(a,e);r=p;return}k[f>>2]=b;ol(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;nq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=aq(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Jp(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=aq(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=aq(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=aq(c<<2)|0;Jp(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;nq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=aq(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Jp(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Jp(b);r=p;return}function nl(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;nq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=aq(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Jp(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function ol(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;nq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Jp(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function pl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Jp(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Jp(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Jp(b);return}function ql(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+64|0;q=t+48|0;m=t+32|0;n=t+20|0;o=t+8|0;p=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(td(a+8+(d<<4)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(td(a+520|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+536|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+556|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+576|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;s=k[c+4>>2]|0;u=p;k[u>>2]=k[c>>2];k[u+4>>2]=s;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];rl(a,v,n,m,0,q);v=1;r=t;return v|0}function rl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=r;r=r+96|0;ea=ga+80|0;n=ga+32|0;fa=ga+56|0;da=ga+44|0;Y=ga+16|0;X=ga;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];j=k[c>>2]|0;Z=c+4|0;l=k[Z>>2]|0;_=c+8|0;m=k[_>>2]|0;k[fa>>2]=0;k[fa+4>>2]=0;k[fa+8>>2]=0;k[fa+12>>2]=0;k[fa+16>>2]=0;k[fa+20>>2]=0;$=fa+8|0;aa=fa+4|0;ba=fa+16|0;ca=fa+20|0;sl(fa);g=k[aa>>2]|0;h=(k[ca>>2]|0)+(k[ba>>2]|0)|0;if((k[$>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;W=g+16|0;k[W>>2]=k[n>>2];k[W+4>>2]=k[n+4>>2];k[W+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ca>>2]|0)+1|0;k[ca>>2]=g;if(!g){vl(fa);r=ga;return}Q=a+552|0;R=a+548|0;S=f+4|0;T=ea+4|0;U=ea+8|0;V=a+592|0;W=a+588|0;a:while(1){N=k[ba>>2]|0;n=g+-1|0;m=n+N|0;O=k[aa>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[da>>2]=k[L>>2];k[da+4>>2]=k[L+4>>2];k[da+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[ca>>2]=n;n=k[$>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Jp(k[n+-4>>2]|0);k[$>>2]=(k[$>>2]|0)+-4}k[c>>2]=h;k[Z>>2]=j;k[_>>2]=l;k[d>>2]=k[da>>2];k[d+4>>2]=k[da+4>>2];k[d+8>>2]=k[da+8>>2];k[ea>>2]=k[da>>2];k[ea+4>>2]=k[da+4>>2];k[ea+8>>2]=k[da+8>>2];O=Pm(a,P,c,ea,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;g=k[a>>2]|0;do if((g|0)==(n|0)){if((P|0)>0){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[S>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=tq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;mq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[S>>2]=P+g}}else{if(!P){g=14;break a}if(P>>>0>=3){k[ea>>2]=k[c>>2];k[T>>2]=k[Z>>2];k[U>>2]=k[_>>2];N=ea+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[V>>2]|0;g=k[W>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[V>>2]=P;if((P|0)==32){k[W>>2]=g+4;k[V>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];m=k[c>>2]|0;n=k[Z>>2]|0;e=k[_>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){sl(fa);g=k[ba>>2]|0;h=k[ca>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Y>>2];k[P+4>>2]=k[Y+4>>2];k[P+8>>2]=k[Y+8>>2];k[g+28>>2]=O;k[ca>>2]=(k[ca>>2]|0)+1}if(o|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];m=k[ea>>2]|0;n=k[T>>2]|0;e=k[U>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){sl(fa);g=k[ba>>2]|0;h=k[ca>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[X>>2];k[P+4>>2]=k[X+4>>2];k[P+8>>2]=k[X+8>>2];k[g+28>>2]=O;k[ca>>2]=(k[ca>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=g-n|0;F=k[d+(x<<2)>>2]|0;I=g-F|0;q=k[d+(t<<2)>>2]|0;J=g-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(g|0)==(n|0);B=ea+(O<<2)|0;E=c+(O<<2)|0;F=(g|0)==(F|0);C=ea+(x<<2)|0;G=c+(x<<2)|0;q=(g|0)==(q|0);p=ea+(t<<2)|0;s=c+(t<<2)|0;t=ea+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ea+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ea+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=H-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=I-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=J-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[S>>2]|0;k[S>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=tq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;mq((k[k[N>>2]>>2]|0)+l|0,ea|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ca>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9923,9961,231,10031);else if((g|0)==21)Aa(10044,10068,111,10095);else if((g|0)==23)Aa(10124,10068,112,10095);else if((g|0)==52){vl(fa);r=ga;return}}function sl(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;nq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Jp(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=aq(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;tl(a,e);r=p;return}k[f>>2]=b;ul(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;nq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=aq(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Jp(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=aq(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=aq(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=aq(c<<2)|0;Jp(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;nq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=aq(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Jp(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Jp(b);r=p;return}function tl(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;nq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=aq(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Jp(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function ul(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;nq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Jp(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function vl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Jp(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Jp(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Jp(b);return}function wl(a){a=a|0;sd(a+496|0);sd(a+480|0);sd(a+464|0);sd(a+448|0);sd(a+432|0);sd(a+416|0);sd(a+400|0);sd(a+384|0);sd(a+368|0);sd(a+352|0);sd(a+336|0);sd(a+320|0);sd(a+304|0);sd(a+288|0);sd(a+272|0);sd(a+256|0);sd(a+240|0);sd(a+224|0);sd(a+208|0);sd(a+192|0);sd(a+176|0);sd(a+160|0);sd(a+144|0);sd(a+128|0);sd(a+112|0);sd(a+96|0);sd(a+80|0);sd(a+64|0);sd(a+48|0);sd(a+32|0);sd(a+16|0);sd(a);return}function xl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+64|0;q=t+48|0;m=t+32|0;n=t+20|0;o=t+8|0;p=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(td(a+8+(d<<4)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(td(a+520|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+536|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+556|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+576|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;s=k[c+4>>2]|0;u=p;k[u>>2]=k[c>>2];k[u+4>>2]=s;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];yl(a,v,n,m,0,q);v=1;r=t;return v|0}function yl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=r;r=r+96|0;ea=ga+80|0;n=ga+32|0;fa=ga+56|0;da=ga+44|0;Y=ga+16|0;X=ga;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];j=k[c>>2]|0;Z=c+4|0;l=k[Z>>2]|0;_=c+8|0;m=k[_>>2]|0;k[fa>>2]=0;k[fa+4>>2]=0;k[fa+8>>2]=0;k[fa+12>>2]=0;k[fa+16>>2]=0;k[fa+20>>2]=0;$=fa+8|0;aa=fa+4|0;ba=fa+16|0;ca=fa+20|0;zl(fa);g=k[aa>>2]|0;h=(k[ca>>2]|0)+(k[ba>>2]|0)|0;if((k[$>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;W=g+16|0;k[W>>2]=k[n>>2];k[W+4>>2]=k[n+4>>2];k[W+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ca>>2]|0)+1|0;k[ca>>2]=g;if(!g){Cl(fa);r=ga;return}Q=a+552|0;R=a+548|0;S=f+4|0;T=ea+4|0;U=ea+8|0;V=a+592|0;W=a+588|0;a:while(1){N=k[ba>>2]|0;n=g+-1|0;m=n+N|0;O=k[aa>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[da>>2]=k[L>>2];k[da+4>>2]=k[L+4>>2];k[da+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[ca>>2]=n;n=k[$>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Jp(k[n+-4>>2]|0);k[$>>2]=(k[$>>2]|0)+-4}k[c>>2]=h;k[Z>>2]=j;k[_>>2]=l;k[d>>2]=k[da>>2];k[d+4>>2]=k[da+4>>2];k[d+8>>2]=k[da+8>>2];k[ea>>2]=k[da>>2];k[ea+4>>2]=k[da+4>>2];k[ea+8>>2]=k[da+8>>2];O=Rm(a,P,c,ea,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;g=k[a>>2]|0;do if((g|0)==(n|0)){if((P|0)>0){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[S>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=tq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;mq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[S>>2]=P+g}}else{if(!P){g=14;break a}if(P>>>0>=3){k[ea>>2]=k[c>>2];k[T>>2]=k[Z>>2];k[U>>2]=k[_>>2];N=ea+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[V>>2]|0;g=k[W>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[V>>2]=P;if((P|0)==32){k[W>>2]=g+4;k[V>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];m=k[c>>2]|0;n=k[Z>>2]|0;e=k[_>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){zl(fa);g=k[ba>>2]|0;h=k[ca>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Y>>2];k[P+4>>2]=k[Y+4>>2];k[P+8>>2]=k[Y+8>>2];k[g+28>>2]=O;k[ca>>2]=(k[ca>>2]|0)+1}if(o|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];m=k[ea>>2]|0;n=k[T>>2]|0;e=k[U>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){zl(fa);g=k[ba>>2]|0;h=k[ca>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[X>>2];k[P+4>>2]=k[X+4>>2];k[P+8>>2]=k[X+8>>2];k[g+28>>2]=O;k[ca>>2]=(k[ca>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=g-n|0;F=k[d+(x<<2)>>2]|0;I=g-F|0;q=k[d+(t<<2)>>2]|0;J=g-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(g|0)==(n|0);B=ea+(O<<2)|0;E=c+(O<<2)|0;F=(g|0)==(F|0);C=ea+(x<<2)|0;G=c+(x<<2)|0;q=(g|0)==(q|0);p=ea+(t<<2)|0;s=c+(t<<2)|0;t=ea+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ea+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ea+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=H-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=I-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=J-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[S>>2]|0;k[S>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=tq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;mq((k[k[N>>2]>>2]|0)+l|0,ea|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ca>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9923,9961,231,10031);else if((g|0)==21)Aa(10044,10068,111,10095);else if((g|0)==23)Aa(10124,10068,112,10095);else if((g|0)==52){Cl(fa);r=ga;return}}function zl(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;nq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Jp(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=aq(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Al(a,e);r=p;return}k[f>>2]=b;Bl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;nq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=aq(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Jp(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=aq(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=aq(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=aq(c<<2)|0;Jp(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;nq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=aq(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Jp(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Jp(b);r=p;return}function Al(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;nq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=aq(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Jp(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Bl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;nq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Jp(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function Cl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Jp(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Jp(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Jp(b);return}function Dl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+64|0;q=t+48|0;m=t+32|0;n=t+20|0;o=t+8|0;p=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(td(a+8+(d<<4)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(td(a+520|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+536|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+556|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+576|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;s=k[c+4>>2]|0;u=p;k[u>>2]=k[c>>2];k[u+4>>2]=s;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];El(a,v,n,m,0,q);v=1;r=t;return v|0}function El(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=r;r=r+96|0;ea=ga+80|0;n=ga+32|0;fa=ga+56|0;da=ga+44|0;Y=ga+16|0;X=ga;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];j=k[c>>2]|0;Z=c+4|0;l=k[Z>>2]|0;_=c+8|0;m=k[_>>2]|0;k[fa>>2]=0;k[fa+4>>2]=0;k[fa+8>>2]=0;k[fa+12>>2]=0;k[fa+16>>2]=0;k[fa+20>>2]=0;$=fa+8|0;aa=fa+4|0;ba=fa+16|0;ca=fa+20|0;Fl(fa);g=k[aa>>2]|0;h=(k[ca>>2]|0)+(k[ba>>2]|0)|0;if((k[$>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;W=g+16|0;k[W>>2]=k[n>>2];k[W+4>>2]=k[n+4>>2];k[W+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ca>>2]|0)+1|0;k[ca>>2]=g;if(!g){Il(fa);r=ga;return}Q=a+552|0;R=a+548|0;S=f+4|0;T=ea+4|0;U=ea+8|0;V=a+592|0;W=a+588|0;a:while(1){N=k[ba>>2]|0;n=g+-1|0;m=n+N|0;O=k[aa>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[da>>2]=k[L>>2];k[da+4>>2]=k[L+4>>2];k[da+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[ca>>2]=n;n=k[$>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Jp(k[n+-4>>2]|0);k[$>>2]=(k[$>>2]|0)+-4}k[c>>2]=h;k[Z>>2]=j;k[_>>2]=l;k[d>>2]=k[da>>2];k[d+4>>2]=k[da+4>>2];k[d+8>>2]=k[da+8>>2];k[ea>>2]=k[da>>2];k[ea+4>>2]=k[da+4>>2];k[ea+8>>2]=k[da+8>>2];O=Tm(a,P,c,ea,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;g=k[a>>2]|0;do if((g|0)==(n|0)){if((P|0)>0){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[S>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=tq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;mq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[S>>2]=P+g}}else{if(!P){g=14;break a}if(P>>>0>=3){k[ea>>2]=k[c>>2];k[T>>2]=k[Z>>2];k[U>>2]=k[_>>2];N=ea+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[V>>2]|0;g=k[W>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[V>>2]=P;if((P|0)==32){k[W>>2]=g+4;k[V>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];m=k[c>>2]|0;n=k[Z>>2]|0;e=k[_>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Fl(fa);g=k[ba>>2]|0;h=k[ca>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Y>>2];k[P+4>>2]=k[Y+4>>2];k[P+8>>2]=k[Y+8>>2];k[g+28>>2]=O;k[ca>>2]=(k[ca>>2]|0)+1}if(o|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];m=k[ea>>2]|0;n=k[T>>2]|0;e=k[U>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Fl(fa);g=k[ba>>2]|0;h=k[ca>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[X>>2];k[P+4>>2]=k[X+4>>2];k[P+8>>2]=k[X+8>>2];k[g+28>>2]=O;k[ca>>2]=(k[ca>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=g-n|0;F=k[d+(x<<2)>>2]|0;I=g-F|0;q=k[d+(t<<2)>>2]|0;J=g-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(g|0)==(n|0);B=ea+(O<<2)|0;E=c+(O<<2)|0;F=(g|0)==(F|0);C=ea+(x<<2)|0;G=c+(x<<2)|0;q=(g|0)==(q|0);p=ea+(t<<2)|0;s=c+(t<<2)|0;t=ea+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ea+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ea+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=H-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=I-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=J-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[S>>2]|0;k[S>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=tq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;mq((k[k[N>>2]>>2]|0)+l|0,ea|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ca>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9923,9961,231,10031);else if((g|0)==21)Aa(10044,10068,111,10095);else if((g|0)==23)Aa(10124,10068,112,10095);else if((g|0)==52){Il(fa);r=ga;return}}function Fl(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;nq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Jp(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=aq(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Gl(a,e);r=p;return}k[f>>2]=b;Hl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;nq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=aq(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Jp(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=aq(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=aq(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=aq(c<<2)|0;Jp(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;nq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=aq(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Jp(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Jp(b);r=p;return}function Gl(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;nq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=aq(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Jp(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Hl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;nq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Jp(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function Il(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Jp(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Jp(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Jp(b);return}function Jl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+64|0;q=t+48|0;m=t+32|0;n=t+20|0;o=t+8|0;p=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(td(a+8+(d<<4)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(td(a+520|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+536|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+556|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+576|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;s=k[c+4>>2]|0;u=p;k[u>>2]=k[c>>2];k[u+4>>2]=s;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];Kl(a,v,n,m,0,q);v=1;r=t;return v|0}function Kl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=r;r=r+96|0;ea=ga+80|0;n=ga+32|0;fa=ga+56|0;da=ga+44|0;Y=ga+16|0;X=ga;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];j=k[c>>2]|0;Z=c+4|0;l=k[Z>>2]|0;_=c+8|0;m=k[_>>2]|0;k[fa>>2]=0;k[fa+4>>2]=0;k[fa+8>>2]=0;k[fa+12>>2]=0;k[fa+16>>2]=0;k[fa+20>>2]=0;$=fa+8|0;aa=fa+4|0;ba=fa+16|0;ca=fa+20|0;Ll(fa);g=k[aa>>2]|0;h=(k[ca>>2]|0)+(k[ba>>2]|0)|0;if((k[$>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;W=g+16|0;k[W>>2]=k[n>>2];k[W+4>>2]=k[n+4>>2];k[W+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ca>>2]|0)+1|0;k[ca>>2]=g;if(!g){Ol(fa);r=ga;return}Q=a+552|0;R=a+548|0;S=f+4|0;T=ea+4|0;U=ea+8|0;V=a+592|0;W=a+588|0;a:while(1){N=k[ba>>2]|0;n=g+-1|0;m=n+N|0;O=k[aa>>2]|0;M=k[O+(m>>>7<<2)>>2]|0;m=m&127;P=k[M+(m<<5)>>2]|0;h=k[M+(m<<5)+4>>2]|0;j=k[M+(m<<5)+8>>2]|0;l=k[M+(m<<5)+12>>2]|0;L=M+(m<<5)+16|0;k[da>>2]=k[L>>2];k[da+4>>2]=k[L+4>>2];k[da+8>>2]=k[L+8>>2];m=k[M+(m<<5)+28>>2]|0;k[ca>>2]=n;n=k[$>>2]|0;if((1-g-N+((n|0)==(O|0)?0:(n-O<<5)+-1|0)|0)>>>0>255){Jp(k[n+-4>>2]|0);k[$>>2]=(k[$>>2]|0)+-4}k[c>>2]=h;k[Z>>2]=j;k[_>>2]=l;k[d>>2]=k[da>>2];k[d+4>>2]=k[da+4>>2];k[d+8>>2]=k[da+8>>2];k[ea>>2]=k[da>>2];k[ea+4>>2]=k[da+4>>2];k[ea+8>>2]=k[da+8>>2];O=Vm(a,P,c,ea,m)|0;m=d+(O<<2)|0;n=k[m>>2]|0;g=k[a>>2]|0;do if((g|0)==(n|0)){if((P|0)>0){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[S>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=tq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;mq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[S>>2]=P+g}}else{if(!P){g=14;break a}if(P>>>0>=3){k[ea>>2]=k[c>>2];k[T>>2]=k[Z>>2];k[U>>2]=k[_>>2];N=ea+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[V>>2]|0;g=k[W>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[V>>2]=P;if((P|0)==32){k[W>>2]=g+4;k[V>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];m=k[c>>2]|0;n=k[Z>>2]|0;e=k[_>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Ll(fa);g=k[ba>>2]|0;h=k[ca>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Y>>2];k[P+4>>2]=k[Y+4>>2];k[P+8>>2]=k[Y+8>>2];k[g+28>>2]=O;k[ca>>2]=(k[ca>>2]|0)+1}if(o|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];m=k[ea>>2]|0;n=k[T>>2]|0;e=k[U>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Ll(fa);g=k[ba>>2]|0;h=k[ca>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[X>>2];k[P+4>>2]=k[X+4>>2];k[P+8>>2]=k[X+8>>2];k[g+28>>2]=O;k[ca>>2]=(k[ca>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;H=g-n|0;F=k[d+(x<<2)>>2]|0;I=g-F|0;q=k[d+(t<<2)>>2]|0;J=g-q|0;N=k[f>>2]|0;K=N+84|0;L=N+68|0;M=N+40|0;N=N+64|0;D=(g|0)==(n|0);B=ea+(O<<2)|0;E=c+(O<<2)|0;F=(g|0)==(F|0);C=ea+(x<<2)|0;G=c+(x<<2)|0;q=(g|0)==(q|0);p=ea+(t<<2)|0;s=c+(t<<2)|0;t=ea+(t<<2)|0;u=(J|0)<33;v=(J|0)>0;w=32-J|0;x=ea+(x<<2)|0;y=(I|0)<33;z=(I|0)>0;A=32-I|0;m=ea+(O<<2)|0;n=(H|0)<33;e=(H|0)>0;b=32-H|0;o=0;do{k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=H-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+H|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=I-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+I|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=J-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+J|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[S>>2]|0;k[S>>2]=g+1;if(!(i[K>>0]|0))g=k[(k[L>>2]|0)+(g<<2)>>2]|0;l=M;O=k[l>>2]|0;l=tq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;mq((k[k[N>>2]>>2]|0)+l|0,ea|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ca>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9923,9961,231,10031);else if((g|0)==21)Aa(10044,10068,111,10095);else if((g|0)==23)Aa(10124,10068,112,10095);else if((g|0)==52){Ol(fa);r=ga;return}}function Ll(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;nq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Jp(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=aq(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Ml(a,e);r=p;return}k[f>>2]=b;Nl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;nq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=aq(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Jp(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=aq(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=aq(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=aq(c<<2)|0;Jp(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;nq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=aq(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Jp(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Jp(b);r=p;return}function Ml(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;nq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=aq(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Jp(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Nl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;nq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Jp(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function Ol(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Jp(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Jp(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Jp(b);return}function Pl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+64|0;q=t+48|0;m=t+32|0;n=t+20|0;o=t+8|0;p=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(yd(a+8+(d*24|0)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(yd(a+776|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+800|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+820|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+840|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;s=k[c+4>>2]|0;u=p;k[u>>2]=k[c>>2];k[u+4>>2]=s;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];Ql(a,v,n,m,0,q);v=1;r=t;return v|0}function Ql(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=r;r=r+96|0;ea=ga+80|0;n=ga+32|0;fa=ga+56|0;da=ga+44|0;Y=ga+16|0;X=ga;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];j=k[c>>2]|0;Z=c+4|0;l=k[Z>>2]|0;_=c+8|0;m=k[_>>2]|0;k[fa>>2]=0;k[fa+4>>2]=0;k[fa+8>>2]=0;k[fa+12>>2]=0;k[fa+16>>2]=0;k[fa+20>>2]=0;$=fa+8|0;aa=fa+4|0;ba=fa+16|0;ca=fa+20|0;Rl(fa);g=k[aa>>2]|0;h=(k[ca>>2]|0)+(k[ba>>2]|0)|0;if((k[$>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;W=g+16|0;k[W>>2]=k[n>>2];k[W+4>>2]=k[n+4>>2];k[W+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ca>>2]|0)+1|0;k[ca>>2]=g;if(!g){Ul(fa);r=ga;return}Q=a+816|0;R=a+812|0;S=f+4|0;T=ea+4|0;U=ea+8|0;V=a+856|0;W=a+852|0;a:while(1){h=k[aa>>2]|0;O=k[ba>>2]|0;N=k[h+(O>>>7<<2)>>2]|0;n=O&127;P=k[N+(n<<5)>>2]|0;j=k[N+(n<<5)+4>>2]|0;l=k[N+(n<<5)+8>>2]|0;m=k[N+(n<<5)+12>>2]|0;M=N+(n<<5)+16|0;k[da>>2]=k[M>>2];k[da+4>>2]=k[M+4>>2];k[da+8>>2]=k[M+8>>2];n=k[N+(n<<5)+28>>2]|0;k[ca>>2]=g+-1;O=O+1|0;k[ba>>2]=O;if(O>>>0>255){Jp(k[h>>2]|0);k[aa>>2]=(k[aa>>2]|0)+4;k[ba>>2]=(k[ba>>2]|0)+-128}k[c>>2]=j;k[Z>>2]=l;k[_>>2]=m;k[d>>2]=k[da>>2];k[d+4>>2]=k[da+4>>2];k[d+8>>2]=k[da+8>>2];k[ea>>2]=k[da>>2];k[ea+4>>2]=k[da+4>>2];k[ea+8>>2]=k[da+8>>2];O=Ym(a,P,c,ea,n)|0;m=d+(O<<2)|0;n=k[m>>2]|0;g=k[a>>2]|0;do if((g|0)==(n|0)){if((P|0)>0){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[S>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=tq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;mq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[S>>2]=P+g}}else{if(!P){g=14;break a}if(P>>>0>=3){k[ea>>2]=k[c>>2];k[T>>2]=k[Z>>2];k[U>>2]=k[_>>2];N=ea+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[V>>2]|0;g=k[W>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[V>>2]=P;if((P|0)==32){k[W>>2]=g+4;k[V>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];m=k[c>>2]|0;n=k[Z>>2]|0;e=k[_>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Rl(fa);g=k[ba>>2]|0;h=k[ca>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Y>>2];k[P+4>>2]=k[Y+4>>2];k[P+8>>2]=k[Y+8>>2];k[g+28>>2]=O;k[ca>>2]=(k[ca>>2]|0)+1}if(o|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];m=k[ea>>2]|0;n=k[T>>2]|0;e=k[U>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Rl(fa);g=k[ba>>2]|0;h=k[ca>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[X>>2];k[P+4>>2]=k[X+4>>2];k[P+8>>2]=k[X+8>>2];k[g+28>>2]=O;k[ca>>2]=(k[ca>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;N=g-n|0;F=k[d+(x<<2)>>2]|0;H=g-F|0;q=k[d+(t<<2)>>2]|0;I=g-q|0;M=k[f>>2]|0;J=M+84|0;K=M+68|0;L=M+40|0;M=M+64|0;D=(g|0)==(n|0);B=ea+(O<<2)|0;E=c+(O<<2)|0;F=(g|0)==(F|0);C=ea+(x<<2)|0;G=c+(x<<2)|0;q=(g|0)==(q|0);p=ea+(t<<2)|0;s=c+(t<<2)|0;t=ea+(t<<2)|0;u=(I|0)<33;v=(I|0)>0;w=32-I|0;x=ea+(x<<2)|0;y=(H|0)<33;z=(H|0)>0;A=32-H|0;m=ea+(O<<2)|0;n=(N|0)<33;e=(N|0)>0;b=32-N|0;o=0;do{k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=N-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+N|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=H-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+H|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=I-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+I|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[S>>2]|0;k[S>>2]=g+1;if(!(i[J>>0]|0))g=k[(k[K>>2]|0)+(g<<2)>>2]|0;l=L;O=k[l>>2]|0;l=tq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;mq((k[k[M>>2]>>2]|0)+l|0,ea|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ca>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9923,9961,231,10031);else if((g|0)==21)Aa(10044,10068,111,10095);else if((g|0)==23)Aa(10124,10068,112,10095);else if((g|0)==52){Ul(fa);r=ga;return}}function Rl(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;nq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Jp(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=aq(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Sl(a,e);r=p;return}k[f>>2]=b;Tl(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;nq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=aq(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Jp(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=aq(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=aq(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=aq(c<<2)|0;Jp(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;nq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=aq(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Jp(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Jp(b);r=p;return}function Sl(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;nq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=aq(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Jp(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function Tl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;nq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Jp(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function Ul(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Jp(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Jp(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Jp(b);return}function Vl(a){a=a|0;xd(a+744|0);xd(a+720|0);xd(a+696|0);xd(a+672|0);xd(a+648|0);xd(a+624|0);xd(a+600|0);xd(a+576|0);xd(a+552|0);xd(a+528|0);xd(a+504|0);xd(a+480|0);xd(a+456|0);xd(a+432|0);xd(a+408|0);xd(a+384|0);xd(a+360|0);xd(a+336|0);xd(a+312|0);xd(a+288|0);xd(a+264|0);xd(a+240|0);xd(a+216|0);xd(a+192|0);xd(a+168|0);xd(a+144|0);xd(a+120|0);xd(a+96|0);xd(a+72|0);xd(a+48|0);xd(a+24|0);xd(a);return}function Wl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+64|0;q=t+48|0;m=t+32|0;n=t+20|0;o=t+8|0;p=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(yd(a+8+(d*24|0)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(yd(a+776|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+800|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+820|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+840|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;s=k[c+4>>2]|0;u=p;k[u>>2]=k[c>>2];k[u+4>>2]=s;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];Xl(a,v,n,m,0,q);v=1;r=t;return v|0}function Xl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=r;r=r+96|0;ea=ga+80|0;n=ga+32|0;fa=ga+56|0;da=ga+44|0;Y=ga+16|0;X=ga;k[n>>2]=k[d>>2];k[n+4>>2]=k[d+4>>2];k[n+8>>2]=k[d+8>>2];j=k[c>>2]|0;Z=c+4|0;l=k[Z>>2]|0;_=c+8|0;m=k[_>>2]|0;k[fa>>2]=0;k[fa+4>>2]=0;k[fa+8>>2]=0;k[fa+12>>2]=0;k[fa+16>>2]=0;k[fa+20>>2]=0;$=fa+8|0;aa=fa+4|0;ba=fa+16|0;ca=fa+20|0;Yl(fa);g=k[aa>>2]|0;h=(k[ca>>2]|0)+(k[ba>>2]|0)|0;if((k[$>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=m;W=g+16|0;k[W>>2]=k[n>>2];k[W+4>>2]=k[n+4>>2];k[W+8>>2]=k[n+8>>2];k[g+28>>2]=e;g=(k[ca>>2]|0)+1|0;k[ca>>2]=g;if(!g){$l(fa);r=ga;return}Q=a+816|0;R=a+812|0;S=f+4|0;T=ea+4|0;U=ea+8|0;V=a+856|0;W=a+852|0;a:while(1){h=k[aa>>2]|0;O=k[ba>>2]|0;N=k[h+(O>>>7<<2)>>2]|0;n=O&127;P=k[N+(n<<5)>>2]|0;j=k[N+(n<<5)+4>>2]|0;l=k[N+(n<<5)+8>>2]|0;m=k[N+(n<<5)+12>>2]|0;M=N+(n<<5)+16|0;k[da>>2]=k[M>>2];k[da+4>>2]=k[M+4>>2];k[da+8>>2]=k[M+8>>2];n=k[N+(n<<5)+28>>2]|0;k[ca>>2]=g+-1;O=O+1|0;k[ba>>2]=O;if(O>>>0>255){Jp(k[h>>2]|0);k[aa>>2]=(k[aa>>2]|0)+4;k[ba>>2]=(k[ba>>2]|0)+-128}k[c>>2]=j;k[Z>>2]=l;k[_>>2]=m;k[d>>2]=k[da>>2];k[d+4>>2]=k[da+4>>2];k[d+8>>2]=k[da+8>>2];k[ea>>2]=k[da>>2];k[ea+4>>2]=k[da+4>>2];k[ea+8>>2]=k[da+8>>2];O=_m(a,P,c,ea,n)|0;m=d+(O<<2)|0;n=k[m>>2]|0;g=k[a>>2]|0;do if((g|0)==(n|0)){if((P|0)>0){m=k[f>>2]|0;h=m+84|0;j=m+68|0;l=m+40|0;m=m+64|0;g=k[S>>2]|0;n=g;b=0;while(1){if(!(i[h>>0]|0))e=k[(k[j>>2]|0)+(n<<2)>>2]|0;else e=n;N=l;O=k[N>>2]|0;N=tq(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;mq((k[k[m>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else n=n+1|0}k[S>>2]=P+g}}else{if(!P){g=14;break a}if(P>>>0>=3){k[ea>>2]=k[c>>2];k[T>>2]=k[Z>>2];k[U>>2]=k[_>>2];N=ea+(O<<2)|0;k[N>>2]=(k[N>>2]|0)+(1<>>1)-g|0;h=P-l|0;if((l|0)==(h|0)){b=l;o=l}else{P=k[V>>2]|0;g=k[W>>2]|0;j=(k[g>>2]&1<<31-P|0)!=0;P=P+1|0;k[V>>2]=P;if((P|0)==32){k[W>>2]=g+4;k[V>>2]=0}b=j?l:h;o=j?h:l}k[m>>2]=n+1;if(b|0){k[Y>>2]=k[d>>2];k[Y+4>>2]=k[d+4>>2];k[Y+8>>2]=k[d+8>>2];m=k[c>>2]|0;n=k[Z>>2]|0;e=k[_>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Yl(fa);g=k[ba>>2]|0;h=k[ca>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[Y>>2];k[P+4>>2]=k[Y+4>>2];k[P+8>>2]=k[Y+8>>2];k[g+28>>2]=O;k[ca>>2]=(k[ca>>2]|0)+1}if(o|0){k[X>>2]=k[d>>2];k[X+4>>2]=k[d+4>>2];k[X+8>>2]=k[d+8>>2];m=k[ea>>2]|0;n=k[T>>2]|0;e=k[U>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0;g=k[ba>>2]|0;h=k[ca>>2]|0;if((((l|0)==(j|0)?0:(l-j<<5)+-1|0)|0)==(h+g|0)){Yl(fa);g=k[ba>>2]|0;h=k[ca>>2]|0;l=k[$>>2]|0;j=k[aa>>2]|0}g=h+g|0;if((l|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=e;P=g+16|0;k[P>>2]=k[X>>2];k[P+4>>2]=k[X+4>>2];k[P+8>>2]=k[X+8>>2];k[g+28>>2]=O;k[ca>>2]=(k[ca>>2]|0)+1}break}x=(O|0)==2?0:O+1|0;t=(x|0)==2?0:x+1|0;N=g-n|0;F=k[d+(x<<2)>>2]|0;H=g-F|0;q=k[d+(t<<2)>>2]|0;I=g-q|0;M=k[f>>2]|0;J=M+84|0;K=M+68|0;L=M+40|0;M=M+64|0;D=(g|0)==(n|0);B=ea+(O<<2)|0;E=c+(O<<2)|0;F=(g|0)==(F|0);C=ea+(x<<2)|0;G=c+(x<<2)|0;q=(g|0)==(q|0);p=ea+(t<<2)|0;s=c+(t<<2)|0;t=ea+(t<<2)|0;u=(I|0)<33;v=(I|0)>0;w=32-I|0;x=ea+(x<<2)|0;y=(H|0)<33;z=(H|0)>0;A=32-H|0;m=ea+(O<<2)|0;n=(N|0)<33;e=(N|0)>0;b=32-N|0;o=0;do{k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;do if(!D){if(!n){g=21;break a}if(!e){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=N-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[m>>2]=g;h=m;break}g=h>>>b;k[m>>2]=g;O=j+N|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=m}else h=m}else{h=B;g=k[B>>2]|0}while(0);k[h>>2]=g|k[E>>2];do if(!F){if(!y){g=21;break a}if(!z){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=H-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;O=j+H|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=x}else h=x}else{h=C;g=k[C>>2]|0}while(0);k[h>>2]=g|k[G>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}j=k[Q>>2]|0;g=32-j|0;l=k[R>>2]|0;h=k[l>>2]<(g|0)){O=I-g|0;k[Q>>2]=O;l=l+4|0;k[R>>2]=l;O=32-O|0;g=(k[l>>2]|0)>>>O|h>>>(O-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;O=j+I|0;k[Q>>2]=O;if((O|0)==32){k[R>>2]=l+4;k[Q>>2]=0;h=t}else h=t}else{h=p;g=k[p>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[S>>2]|0;k[S>>2]=g+1;if(!(i[J>>0]|0))g=k[(k[K>>2]|0)+(g<<2)>>2]|0;l=L;O=k[l>>2]|0;l=tq(g|0,((g|0)<0)<<31>>31|0,O|0,k[l+4>>2]|0)|0;mq((k[k[M>>2]>>2]|0)+l|0,ea|0,O|0)|0;o=o+1|0}while(o>>>0

>>0)}while(0);g=k[ca>>2]|0;if(!g){g=52;break}}if((g|0)==14)Aa(9923,9961,231,10031);else if((g|0)==21)Aa(10044,10068,111,10095);else if((g|0)==23)Aa(10124,10068,112,10095);else if((g|0)==52){$l(fa);r=ga;return}}function Yl(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=r;r=r+16|0;e=p+4|0;f=p;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;g=k[m>>2]|0;o=k[g>>2]|0;g=g+4|0;k[m>>2]=g;n=a+8|0;b=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;d=b;do if((b|0)==(j|0)){f=k[a>>2]|0;e=f;if(g>>>0>f>>>0){b=g;a=((b-e>>2)+1|0)/-2|0;l=g+(a<<2)|0;b=d-b|0;nq(l|0,g|0,b|0)|0;b=l+(b>>2<<2)|0;k[n>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}j=c-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;h=e;c=e+(j>>>2<<2)|0;i=c;j=e+(j<<2)|0;if((g|0)==(b|0)){c=f;b=i}else{e=g;d=i;do{k[c>>2]=k[e>>2];c=d+4|0;d=c;e=e+4|0}while((e|0)!=(b|0));b=d;c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=i;k[n>>2]=b;k[l>>2]=j;if(c){Jp(c);b=k[n>>2]|0}}while(0);k[b>>2]=o;k[n>>2]=(k[n>>2]|0)+4;r=p;return}o=a+8|0;c=k[o>>2]|0;m=a+4|0;j=k[m>>2]|0;g=c-j|0;l=g>>2;n=a+12|0;d=k[n>>2]|0;b=d-(k[a>>2]|0)|0;h=c;if(l>>>0>2>>>0){b=aq(4096)|0;if((d|0)!=(c|0)){k[e>>2]=b;Zl(a,e);r=p;return}k[f>>2]=b;_l(a,f);g=k[m>>2]|0;j=k[g>>2]|0;g=g+4|0;k[m>>2]=g;b=k[o>>2]|0;l=k[n>>2]|0;d=l;e=b;do if((b|0)==(l|0)){c=k[a>>2]|0;f=c;if(g>>>0>c>>>0){b=g;a=((b-f>>2)+1|0)/-2|0;n=g+(a<<2)|0;b=e-b|0;nq(n|0,g|0,b|0)|0;b=n+(b>>2<<2)|0;k[o>>2]=b;k[m>>2]=(k[m>>2]|0)+(a<<2);break}i=d-f>>1;i=(i|0)==0?1:i;l=aq(i<<2)|0;f=l;d=l+(i>>>2<<2)|0;h=d;i=l+(i<<2)|0;if((g|0)==(b|0))b=h;else{e=g;c=h;do{k[d>>2]=k[e>>2];d=c+4|0;c=d;e=e+4|0}while((e|0)!=(b|0));b=c;c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=h;k[o>>2]=b;k[n>>2]=i;if(c){Jp(c);b=k[o>>2]|0}}while(0);k[b>>2]=j;k[o>>2]=(k[o>>2]|0)+4;r=p;return}f=b>>1;f=(f|0)==0?1:f;b=aq(f<<2)|0;e=b;d=b+(l<<2)|0;c=b+(f<<2)|0;i=aq(4096)|0;do if((l|0)==(f|0))if((g|0)>0){f=j;d=d+(((l+1|0)/-2|0)<<2)|0;break}else{c=g>>1;c=(c|0)==0?1:c;l=aq(c<<2)|0;Jp(b);h=k[o>>2]|0;f=k[m>>2]|0;e=l;d=l+(c>>>2<<2)|0;c=l+(c<<2)|0;break}else f=j;while(0);b=d;k[d>>2]=i;d=d+4|0;if((h|0)==(f|0)){f=e;e=b}else{l=h;do{l=l+-4|0;f=b;do if((f|0)==(e|0)){i=d;if(i>>>0>>0){j=i+((((c-d>>2)+1|0)/2|0)<<2)|0;f=d-b|0;d=j+(0-(f>>2)<<2)|0;nq(d|0,b|0,f|0)|0;f=d;b=d;d=j;break}c=c-e>>1;c=(c|0)==0?1:c;g=aq(c<<2)|0;e=g;h=g+((c+3|0)>>>2<<2)|0;j=h;c=g+(c<<2)|0;if((f|0)==(i|0))d=j;else{g=h;d=j;do{k[g>>2]=k[f>>2];g=d+4|0;d=g;f=f+4|0}while((f|0)!=(i|0))}if(!b){f=h;b=j}else{Jp(b);f=h;b=j}}while(0);k[f+-4>>2]=k[l>>2];b=b+-4|0}while((l|0)!=(k[m>>2]|0));f=e;e=b}b=k[a>>2]|0;k[a>>2]=f;k[m>>2]=e;k[o>>2]=d;k[n>>2]=c;if(!b){r=p;return}Jp(b);r=p;return}function Zl(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+8|0;c=k[o>>2]|0;m=a+12|0;n=k[m>>2]|0;e=n;f=c;do if((c|0)==(n|0)){n=a+4|0;h=k[n>>2]|0;g=k[a>>2]|0;d=g;if(h>>>0>g>>>0){c=h;a=((c-d>>2)+1|0)/-2|0;m=h+(a<<2)|0;c=f-c|0;nq(m|0,h|0,c|0)|0;c=m+(c>>2<<2)|0;k[o>>2]=c;k[n>>2]=(k[n>>2]|0)+(a<<2);break}l=e-d>>1;l=(l|0)==0?1:l;f=aq(l<<2)|0;i=f;d=f+(l>>>2<<2)|0;j=d;l=f+(l<<2)|0;if((h|0)==(c|0)){d=g;c=j}else{f=h;e=j;do{k[d>>2]=k[f>>2];d=e+4|0;e=d;f=f+4|0}while((f|0)!=(c|0));c=e;d=k[a>>2]|0}k[a>>2]=i;k[n>>2]=j;k[o>>2]=c;k[m>>2]=l;if(d){Jp(d);c=k[o>>2]|0}}while(0);k[c>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+4;return}function _l(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;m=k[a>>2]|0;e=m;do if((c|0)==(m|0)){l=a+8|0;f=k[l>>2]|0;m=a+12|0;j=k[m>>2]|0;d=j;if(f>>>0>>0){j=f;m=((d-j>>2)+1|0)/2|0;j=j-c|0;a=f+(m<<2)+(0-(j>>2)<<2)|0;nq(a|0,c|0,j|0)|0;k[n>>2]=a;k[l>>2]=(k[l>>2]|0)+(m<<2);c=a;break}j=d-e>>1;j=(j|0)==0?1:j;e=aq(j<<2)|0;g=e;h=e+((j+3|0)>>>2<<2)|0;i=h;j=e+(j<<2)|0;if((c|0)==(f|0))d=i;else{e=h;d=i;do{k[e>>2]=k[c>>2];e=d+4|0;d=e;c=c+4|0}while((c|0)!=(f|0));c=k[a>>2]|0}k[a>>2]=g;k[n>>2]=i;k[l>>2]=d;k[m>>2]=j;if(!c)c=h;else{Jp(c);c=k[n>>2]|0}}while(0);k[c+-4>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+-4;return}function $l(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;g=k[l>>2]|0;h=g;e=c;if((g|0)==(c|0)){f=0;g=a+20|0;b=0}else{g=a+20|0;f=(k[g>>2]|0)+b|0;f=(k[c+(f>>>7<<2)>>2]|0)+((f&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(f|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[g>>2]=0;b=h-e>>2;if(b>>>0>2)do{Jp(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Jp(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Jp(b);return}function am(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+64|0;q=t+48|0;m=t+32|0;n=t+20|0;o=t+8|0;p=t;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;u=kq(d|0,f|0,4,0)|0;v=L;if((g|0)<(v|0)|(g|0)==(v|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;v=kq(d|0,f|0,4,0)|0;u=L;if((g|0)<(u|0)|(g|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=kq(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=L}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(yd(a+8+(d*24|0)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(yd(a+776|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+800|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+820|0,b)|0)){v=0;r=t;return v|0}if(!(id(a+840|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;s=k[c+4>>2]|0;u=p;k[u>>2]=k[c>>2];k[u+4>>2]=s;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];bm(a,v,n,m,0,q);v=1;r=t;return v|0} -function hi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+16|0;p=q;j=b+8|0;g=j;h=k[g>>2]|0;g=k[g+4>>2]|0;o=b+16|0;d=o;c=k[d>>2]|0;d=kq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){p=0;r=q;return p|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=o;k[g>>2]=d;k[g+4>>2]=e;e=a+76|0;ii(e,h,0);rd(p);if(td(p,b)|0){if((h|0)>0){f=0;g=1;do{g=g^((ud(p)|0)^1);d=(k[e>>2]|0)+(f>>>5<<2)|0;c=1<<(f&31);if(g)c=k[d>>2]|c;else c=k[d>>2]&~c;k[d>>2]=c;f=f+1|0}while((f|0)<(h|0))}e=j;g=k[e>>2]|0;e=k[e+4>>2]|0;h=o;c=k[h>>2]|0;h=kq(c|0,k[h+4>>2]|0,4,0)|0;f=L;if(!((e|0)<(f|0)|(e|0)==(f|0)&g>>>0>>0)?(g=a+12|0,m=(k[b>>2]|0)+c|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,i[g>>0]=m,i[g+1>>0]=m>>8,i[g+2>>0]=m>>16,i[g+3>>0]=m>>24,g=o,e=k[g>>2]|0,g=k[g+4>>2]|0,n=kq(e|0,g|0,4,0)|0,f=o,k[f>>2]=n,k[f+4>>2]=L,f=j,h=k[f>>2]|0,f=k[f+4>>2]|0,j=kq(e|0,g|0,8,0)|0,g=L,!((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0)):0){d=a+16|0;b=(k[b>>2]|0)+n|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;i[d>>0]=b;i[d+1>>0]=b>>8;i[d+2>>0]=b>>16;i[d+3>>0]=b>>24;d=o;d=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;c=o;k[c>>2]=d;k[c+4>>2]=L;b=b+(1-m)|0;k[a+20>>2]=b;c=(b|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(!(b&1)){k[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;sd(p);p=c;r=q;return p|0}function ii(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+32|0;s=u+8|0;l=u;n=a+4|0;t=k[n>>2]|0;if(t>>>0>=b>>>0){k[n>>2]=b;r=u;return}q=a+8|0;d=k[q>>2]|0;p=d<<5;g=b-t|0;if(p>>>0>>0|t>>>0>(p-g|0)>>>0){k[s>>2]=0;o=s+4|0;k[o>>2]=0;p=s+8|0;k[p>>2]=0;if((b|0)<0)zp(a);if(d<<5>>>0>1073741822)d=2147483647;else{d=d<<6;m=b+31&-32;d=d>>>0>>0?m:d}Dd(s,d);e=k[n>>2]|0;j=e+g|0;k[o>>2]=j;d=k[a>>2]|0;h=d;m=k[s>>2]|0;e=(h+(e>>>5<<2)-d<<3)+(e&31)|0;if((e|0)>0){i=e>>>5;nq(m|0,d|0,i<<2|0)|0;e=e-(i<<5)|0;f=m+(i<<2)|0;d=f;if((e|0)>0){j=-1>>>(32-e|0);k[f>>2]=k[f>>2]&~j|k[h+(i<<2)>>2]&j;f=k[o>>2]|0}else{e=0;f=j}}else{e=0;d=m;f=j}k[l>>2]=d;k[l+4>>2]=e;h=l;d=k[h>>2]|0;h=k[h+4>>2]|0;e=k[a>>2]|0;k[a>>2]=m;k[s>>2]=e;a=k[n>>2]|0;k[n>>2]=f;k[o>>2]=a;a=k[q>>2]|0;k[q>>2]=k[p>>2];k[p>>2]=a;if(e|0)Jp(e)}else{d=(k[a>>2]|0)+(t>>>5<<2)|0;k[n>>2]=b;h=t&31}if((t|0)==(b|0)){r=u;return}e=(h|0)==0;f=d;if(c){if(!e){c=32-h|0;d=c>>>0>g>>>0?g:c;k[f>>2]=k[f>>2]|-1>>>(c-d|0)&-1<>>5;iq(d|0,-1,e<<2|0)|0;d=e<<5;if((d|0)==(g|0)){r=u;return}c=f+(e<<2)|0;k[c>>2]=k[c>>2]|-1>>>(32-g+d|0);r=u;return}else{if(!e){c=32-h|0;d=c>>>0>g>>>0?g:c;k[f>>2]=k[f>>2]&~(-1>>>(c-d|0)&-1<>>5;iq(d|0,0,e<<2|0)|0;d=e<<5;if((d|0)==(g|0)){r=u;return}c=f+(e<<2)|0;k[c>>2]=k[c>>2]&~(-1>>>(32-g+d|0));r=u;return}}function ji(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+16|0;y=A+4|0;z=A;k[a+72>>2]=e;k[a+64>>2]=f;x=a+68|0;w=cq(e>>>0>1073741823?-1:e<<2)|0;f=k[x>>2]|0;k[x>>2]=w;if(f|0)dq(f);w=a+8|0;k[w>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;i=1;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;v=1-g+f|0;k[a+20>>2]=v;f=(v|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(v&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Xg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=a+56|0;h=k[o>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;if((i|0)<=0){r=A;return 1}p=a+16|0;q=a+32|0;s=a+12|0;t=a+28|0;u=a+20|0;v=a+24|0;j=g;g=(i>>2)+-1|0;while(1){if(j-f>>2>>>0<=g>>>0){f=22;break}k[z>>2]=k[f+(g<<2)>>2];k[y>>2]=k[z>>2];ki(a,y,b,g);n=ha(g,e)|0;m=b+(n<<2)|0;l=k[x>>2]|0;if((k[w>>2]|0)>0){d=0;do{j=k[l+(d<<2)>>2]|0;f=k[p>>2]|0;do if((j|0)<=(f|0)){f=k[s>>2]|0;h=k[q>>2]|0;i=h+(d<<2)|0;if((j|0)<(f|0)){k[i>>2]=f;break}else{k[i>>2]=j;break}}else{h=k[q>>2]|0;k[h+(d<<2)>>2]=f}while(0);d=d+1|0;f=k[w>>2]|0}while((d|0)<(f|0));i=h;if((f|0)>0){h=0;do{k[c+(h+n<<2)>>2]=(k[m+(h<<2)>>2]|0)-(k[i+(h<<2)>>2]|0);h=h+1|0;f=k[w>>2]|0}while((h|0)<(f|0));if((f|0)>0){i=0;do{f=c+(i+n<<2)|0;h=k[f>>2]|0;if((h|0)>=(k[t>>2]|0)){if((h|0)>(k[v>>2]|0))k[f>>2]=h-(k[u>>2]|0)}else k[f>>2]=(k[u>>2]|0)+h;i=i+1|0}while((i|0)<(k[w>>2]|0))}}}g=g+-1|0;if((g|0)<=-1){f=19;break}h=k[o>>2]|0;f=k[h>>2]|0;j=k[h+4>>2]|0}if((f|0)==19){r=A;return 1}else if((f|0)==22)Ap(h);return 0}function ki(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;i=a+48|0;e=k[b>>2]|0;do if((e|0)>=0){b=e+1|0;b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e|0)%3|0)){g=e+2|0;break}else{g=e+-1|0;break}}else{g=e;b=e}while(0);e=k[(k[i>>2]|0)+28>>2]|0;b=k[e+(b<<2)>>2]|0;e=k[e+(g<<2)>>2]|0;g=k[a+52>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)Ap(g);n=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=e>>>0)Ap(g);e=k[j+(e<<2)>>2]|0;b=(n|0)<(d|0);if(!(b&(e|0)<(d|0))){do if(b){i=a+72|0;g=k[i>>2]|0;b=g;g=ha(g,n)|0}else{if((d|0)>0){i=a+72|0;g=k[i>>2]|0;b=g;g=ha(g,d+-1|0)|0;break}g=a+72|0;if((k[g>>2]|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+g<<2)>>2];e=e+1|0}while((e|0)<(k[i>>2]|0));r=t;return}b=a+72|0;j=k[b>>2]|0;i=ha(j,n)|0;f=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);j=ha(j,e)|0;l=+(k[c+(j<<2)>>2]|0);m=+(k[c+(j+1<<2)>>2]|0);if(!(l!=f|m!=h)){a=k[a+68>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~m;r=t;return}li(s,a,d);li(p,a,n);li(q,a,e);B=+o[p>>2];x=+o[q>>2]-B;A=+o[p+4>>2];w=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=x*x+0.0+w*w+y*y;u=(x*B+0.0+w*A+y*z)/v;x=B-x*u;w=A-w*u;y=z-y*u;v=+X(+((y*y+(w*w+(x*x+0.0)))/v));x=l-f;w=m-h;l=f+x*u;m=x*v;u=h+w*u;v=w*v;h=l-v;f=m+u;l=v+l;m=u-m;i=ha(k[b>>2]|0,d)|0;u=+(k[c+(i<<2)>>2]|0);v=+(k[c+(i+1<<2)>>2]|0);w=u-h;x=v-f;u=u-l;v=v-m;i=a+76|0;j=a+80|0;b=k[j>>2]|0;e=k[a+84>>2]|0;g=(b|0)==(e<<5|0);if(x*x+(w*w+0.0)>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Dd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31)}else{if(g){if((b+1|0)<0)zp(i);if(e<<5>>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Dd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(b&31));h=l;f=m}c=~~+V(+(h+.5));a=k[a+68>>2]|0;k[a>>2]=c;c=~~+V(+(f+.5));k[a+4>>2]=c;r=t;return}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,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+64>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+60>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];Cc(b,d,a)|0;r=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];Jc(b,d,a)|0;r=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];Qc(b,d,a)|0;r=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];Xc(b,d,a)|0;r=j;return}default:{r=j;return}}}function mi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+16|0;x=z+4|0;y=z;k[a+72>>2]=e;k[a+64>>2]=f;w=a+68|0;v=cq(e>>>0>1073741823?-1:e<<2)|0;d=k[w>>2]|0;k[w>>2]=v;if(d|0)dq(d);v=a+8|0;k[v>>2]=e;d=a+32|0;f=a+36|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else Xg(d,e-g|0);o=a+56|0;g=k[o>>2]|0;f=k[g+4>>2]|0;d=k[g>>2]|0;u=f-d|0;p=u>>2;if((u|0)<=0){r=z;return 1}q=a+16|0;s=a+32|0;t=a+12|0;u=a+20|0;h=g;g=0;while(1){if(f-d>>2>>>0<=g>>>0){d=13;break}k[y>>2]=k[d+(g<<2)>>2];k[x>>2]=k[y>>2];ni(a,x,c,g);m=ha(g,e)|0;j=k[w>>2]|0;n=c+(m<<2)|0;if((k[v>>2]|0)>0){l=0;do{i=k[j+(l<<2)>>2]|0;d=k[q>>2]|0;do if((i|0)<=(d|0)){d=k[t>>2]|0;f=k[s>>2]|0;h=f+(l<<2)|0;if((i|0)<(d|0)){k[h>>2]=d;break}else{k[h>>2]=i;break}}else{f=k[s>>2]|0;k[f+(l<<2)>>2]=d}while(0);l=l+1|0;d=k[v>>2]|0}while((l|0)<(d|0));h=f;if((d|0)>0){f=0;do{k[n+(f<<2)>>2]=(k[b+(f+m<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;d=k[v>>2]|0}while((f|0)<(d|0));if((d|0)>0){h=0;do{d=n+(h<<2)|0;f=k[d>>2]|0;if((f|0)<=(k[q>>2]|0)){if((f|0)<(k[t>>2]|0))k[d>>2]=(k[u>>2]|0)+f}else k[d>>2]=f-(k[u>>2]|0);h=h+1|0}while((h|0)<(k[v>>2]|0))}}}g=g+1|0;if((g|0)>=(p|0)){d=10;break}h=k[o>>2]|0;d=k[h>>2]|0;f=k[h+4>>2]|0}if((d|0)==10){r=z;return 1}else if((d|0)==13)Ap(h);return 0}function ni(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0.0,i=0,j=0.0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;g=a+48|0;e=k[b>>2]|0;do if((e|0)>=0){b=e+1|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);e=k[(k[g>>2]|0)+28>>2]|0;b=k[e+(b<<2)>>2]|0;e=k[e+(f<<2)>>2]|0;f=k[a+52>>2]|0;g=k[f+4>>2]|0;i=k[f>>2]|0;if(g-i>>2>>>0<=b>>>0)Ap(f);n=k[i+(b<<2)>>2]|0;if(g-i>>2>>>0<=e>>>0)Ap(f);e=k[i+(e<<2)>>2]|0;b=(n|0)<(d|0);if(b&(e|0)<(d|0)){i=k[a+72>>2]|0;g=ha(i,n)|0;j=+(k[c+(g<<2)>>2]|0);l=+(k[c+(g+1<<2)>>2]|0);i=ha(i,e)|0;m=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);if(m!=j|h!=l){li(s,a,d);li(p,a,n);li(q,a,e);B=+o[p>>2];w=+o[q>>2]-B;A=+o[p+4>>2];x=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=w*w+0.0+x*x+y*y;u=(w*B+0.0+x*A+y*z)/v;w=B-w*u;x=A-x*u;y=z-y*u;v=+X(+((y*y+(x*x+(w*w+0.0)))/v));w=m-j;h=h-l;m=w*v;v=h*v;d=a+80|0;s=(k[d>>2]|0)+-1|0;c=(1<<(s&31)&k[(k[a+76>>2]|0)+(s>>>5<<2)>>2]|0)==0;k[d>>2]=s;d=~~+V(+(j+w*u+(c?v:-v)+.5));a=k[a+68>>2]|0;k[a>>2]=d;c=~~+V(+(l+h*u+(c?-m:m)+.5));k[a+4>>2]=c;r=t;return}else{a=k[a+68>>2]|0;k[a>>2]=~~m;k[a+4>>2]=~~h;r=t;return}}do if(b){g=a+72|0;f=k[g>>2]|0;b=f;f=ha(f,n)|0}else{if((d|0)>0){g=a+72|0;f=k[g>>2]|0;b=f;f=ha(f,d+-1|0)|0;break}f=a+72|0;if((k[f>>2]|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[f>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+f<<2)>>2];e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}function oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;switch(a|0){case 1:{a=aq(60)|0;k[a>>2]=3168;k[a+4>>2]=b;k[a+8>>2]=k[c>>2];b=a+12|0;e=c+4|0;k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];Qh(a+32|0,c+24|0);c=a+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[a>>2]=3424;c=a;return c|0}case 2:{e=aq(60)|0;k[e>>2]=3168;k[e+4>>2]=b;k[e+8>>2]=k[c>>2];a=e+12|0;b=c+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[a+16>>2]=k[b+16>>2];Qh(e+32|0,c+24|0);c=e+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[e>>2]=3488;return e|0}case 3:{e=aq(88)|0;k[e>>2]=3168;k[e+4>>2]=b;k[e+8>>2]=k[c>>2];a=e+12|0;b=c+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[a+16>>2]=k[b+16>>2];Qh(e+32|0,c+24|0);c=e+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[e>>2]=3552;c=e+60|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;k[c+24>>2]=0;return e|0}default:{e=0;return e|0}}return 0}function pi(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Jp(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);Jp(b);Jp(a);return}function qi(a){a=a|0;return 1}function ri(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 si(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=a+8|0;k[G>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;g=f;i=1;while(1){f=k[b+(i<<2)>>2]|0;if((f|0)>=(h|0))if((f|0)>(g|0)){k[j>>2]=f;g=f;f=h}else f=h;else k[l>>2]=f;i=i+1|0;if((i|0)==(d|0))break;else h=f}}else g=f;E=1-f+g|0;k[a+20>>2]=E;f=(E|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(E&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Xg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=e>>>0>1073741823?-1:e<<2;E=cq(o)|0;iq(E|0,0,o|0)|0;o=k[a+48>>2]|0;p=a+56|0;h=k[p>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;a:do if((i|0)>4){q=k[a+52>>2]|0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=o+12|0;y=(e|0)>0;m=i>>2;while(1){n=m+-1|0;if(g-f>>2>>>0<=n>>>0)break;f=k[f+(n<<2)>>2]|0;if((f|0)>=0?(z=k[(k[x>>2]|0)+(f<<2)>>2]|0,(z|0)>-1):0){h=k[o>>2]|0;g=(z|0)%3|0;i=k[q>>2]|0;l=k[i+(k[h+(((z|0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;f=z+1|0;f=((f|0)%3|0|0)==0?z+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;j=k[i+(f<<2)>>2]|0;f=((g|0)==0?2:-1)+z|0;if((f|0)<0)f=-1073741824;else f=k[h+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;d=ha(n,e)|0;if((l|0)<(n|0)&(j|0)<(n|0)&(f|0)<(n|0)){i=ha(l,e)|0;h=ha(j,e)|0;f=ha(f,e)|0;if(y){g=0;do{k[E+(g<<2)>>2]=(k[b+(g+f<<2)>>2]|0)+(k[b+(g+h<<2)>>2]|0)-(k[b+(g+i<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}l=b+(d<<2)|0;if((k[G>>2]|0)>0){j=0;do{i=k[E+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[s>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[G>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+d<<2)>>2]=(k[l+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[G>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+d<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[u>>2]|0)){if((g|0)>(k[w>>2]|0))k[f>>2]=g-(k[v>>2]|0)}else k[f>>2]=(k[v>>2]|0)+g;h=h+1|0}while((h|0)<(k[G>>2]|0))}}}}else{B=d;D=30}}else{B=ha(n,e)|0;D=30}if((D|0)==30?(D=0,A=b+(B<<2)|0,C=b+((ha(m+-2|0,e)|0)<<2)|0,(k[G>>2]|0)>0):0){j=0;do{i=k[C+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[s>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[G>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+B<<2)>>2]=(k[A+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[G>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+B<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[u>>2]|0)){if((g|0)>(k[w>>2]|0))k[f>>2]=g-(k[v>>2]|0)}else k[f>>2]=(k[v>>2]|0)+g;h=h+1|0}while((h|0)<(k[G>>2]|0))}}}if((n|0)<=1){F=E;break a}h=k[p>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0;m=n}Ap(h)}else F=E;while(0);if((e|0)>0)iq(E|0,0,e<<2|0)|0;if((k[G>>2]|0)<=0){dq(E);return 1}j=a+16|0;l=a+32|0;d=a+12|0;m=0;do{i=k[F+(m<<2)>>2]|0;f=k[j>>2]|0;do if((i|0)<=(f|0)){f=k[d>>2]|0;h=k[l>>2]|0;g=h+(m<<2)|0;if((i|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=i;break}}else{h=k[l>>2]|0;k[h+(m<<2)>>2]=f}while(0);m=m+1|0;f=k[G>>2]|0}while((m|0)<(f|0));if((f|0)>0)g=0;else{dq(E);return 1}do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)-(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[G>>2]|0}while((g|0)<(f|0));if((f|0)<=0){dq(E);return 1}j=a+28|0;l=a+20|0;f=a+24|0;i=0;do{g=c+(i<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[j>>2]|0)){if((h|0)>(k[f>>2]|0))k[g>>2]=h-(k[l>>2]|0)}else k[g>>2]=(k[l>>2]|0)+h;i=i+1|0}while((i|0)<(k[G>>2]|0));dq(E);return 1}function ti(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;g=a+32|0;h=a+36|0;f=k[h>>2]|0;d=k[g>>2]|0;i=f-d>>2;if(i>>>0>=e>>>0)if(i>>>0>e>>>0?(j=d+(e<<2)|0,(f|0)!=(j|0)):0){k[h>>2]=f+(~((f+-4-j|0)>>>2)<<2);d=e}else d=e;else{Xg(g,e-i|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=cq(t)|0;iq(w|0,0,t|0)|0;if((d|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{h=k[w+(j<<2)>>2]|0;d=k[l>>2]|0;do if((h|0)<=(d|0)){d=k[m>>2]|0;f=k[i>>2]|0;g=f+(j<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[i>>2]|0;k[f+(j<<2)>>2]=d}while(0);j=j+1|0;d=k[x>>2]|0}while((j|0)<(d|0));g=f;if((d|0)>0){f=0;do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)+(k[g+(f<<2)>>2]|0);f=f+1|0;d=k[x>>2]|0}while((f|0)<(d|0));if((d|0)>0){d=a+20|0;h=0;do{f=c+(h<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[l>>2]|0)){if((g|0)<(k[m>>2]|0))k[f>>2]=(k[d>>2]|0)+g}else k[f>>2]=g-(k[d>>2]|0);h=h+1|0}while((h|0)<(k[x>>2]|0))}}}p=a+56|0;g=k[p>>2]|0;f=k[g+4>>2]|0;d=k[g>>2]|0;t=f-d|0;q=t>>2;if((t|0)<=4){dq(w);return 1}r=a+16|0;s=a+32|0;t=a+12|0;a=a+20|0;n=u+12|0;o=(e|0)>0;h=d;m=1;while(1){if(f-h>>2>>>0<=m>>>0){C=28;break}d=k[h+(m<<2)>>2]|0;if((d|0)>=0?(y=k[(k[n>>2]|0)+(d<<2)>>2]|0,(y|0)>-1):0){g=k[u>>2]|0;f=(y|0)%3|0;h=k[v>>2]|0;j=k[h+(k[g+(((y|0)/3|0)*12|0)+(f<<2)>>2]<<2)>>2]|0;d=y+1|0;d=((d|0)%3|0|0)==0?y+-2|0:d;if((d|0)<0)d=-1073741824;else d=k[g+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;i=k[h+(d<<2)>>2]|0;d=((f|0)==0?2:-1)+y|0;if((d|0)<0)d=-1073741824;else d=k[g+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;d=k[h+(d<<2)>>2]|0;l=ha(m,e)|0;if((j|0)<(m|0)&(i|0)<(m|0)&(d|0)<(m|0)){h=ha(j,e)|0;g=ha(i,e)|0;d=ha(d,e)|0;if(o){f=0;do{k[w+(f<<2)>>2]=(k[c+(f+d<<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))}j=c+(l<<2)|0;if((k[x>>2]|0)>0){i=0;do{h=k[w+(i<<2)>>2]|0;d=k[r>>2]|0;do if((h|0)<=(d|0)){d=k[t>>2]|0;f=k[s>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[s>>2]|0;k[f+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[x>>2]|0}while((i|0)<(d|0));if((d|0)>0){g=0;do{k[j+(g<<2)>>2]=(k[b+(g+l<<2)>>2]|0)+(k[f+(g<<2)>>2]|0);g=g+1|0;d=k[x>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=0;do{d=j+(g<<2)|0;f=k[d>>2]|0;if((f|0)<=(k[r>>2]|0)){if((f|0)<(k[t>>2]|0))k[d>>2]=(k[a>>2]|0)+f}else k[d>>2]=f-(k[a>>2]|0);g=g+1|0}while((g|0)<(k[x>>2]|0))}}}}else{B=l;C=36}}else{B=ha(m,e)|0;C=36}if((C|0)==36?(C=0,z=c+((ha(m+-1|0,e)|0)<<2)|0,A=c+(B<<2)|0,(k[x>>2]|0)>0):0){i=0;do{h=k[z+(i<<2)>>2]|0;d=k[r>>2]|0;do if((h|0)<=(d|0)){d=k[t>>2]|0;f=k[s>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[s>>2]|0;k[f+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[x>>2]|0}while((i|0)<(d|0));if((d|0)>0){g=0;do{k[A+(g<<2)>>2]=(k[b+(g+B<<2)>>2]|0)+(k[f+(g<<2)>>2]|0);g=g+1|0;d=k[x>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=0;do{d=A+(g<<2)|0;f=k[d>>2]|0;if((f|0)<=(k[r>>2]|0)){if((f|0)<(k[t>>2]|0))k[d>>2]=(k[a>>2]|0)+f}else k[d>>2]=f-(k[a>>2]|0);g=g+1|0}while((g|0)<(k[x>>2]|0))}}}d=m+1|0;if((d|0)>=(q|0)){C=25;break}g=k[p>>2]|0;h=k[g>>2]|0;f=k[g+4>>2]|0;m=d}if((C|0)==25){dq(w);return 1}else if((C|0)==28)Ap(g);return 0}function ui(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Jp(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);Jp(b);Jp(a);return}function vi(a){a=a|0;return 2}function wi(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 xi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=a+8|0;k[K>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;g=f;i=1;while(1){f=k[b+(i<<2)>>2]|0;if((f|0)>=(h|0))if((f|0)>(g|0)){k[j>>2]=f;g=f;f=h}else f=h;else k[l>>2]=f;i=i+1|0;if((i|0)==(d|0))break;else h=f}}else g=f;I=1-f+g|0;k[a+20>>2]=I;f=(I|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(I&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Xg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);s=k[a+48>>2]|0;t=k[a+52>>2]|0;u=e>>>0>1073741823?-1:e<<2;I=cq(u)|0;iq(I|0,0,u|0)|0;u=a+56|0;h=k[u>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;a:do if((i|0)>4){v=(e|0)>0;w=a+16|0;x=a+32|0;y=a+12|0;z=a+28|0;A=a+20|0;B=a+24|0;C=s+12|0;D=e<<2;q=i>>2;while(1){r=q+-1|0;if(g-f>>2>>>0<=r>>>0)break;p=k[f+(r<<2)>>2]|0;if(v)iq(I|0,0,D|0)|0;if((p|0)>-1){o=k[C>>2]|0;n=p;g=0;do{h=k[o+(n<<2)>>2]|0;if((h|0)>-1){j=k[s>>2]|0;i=(h|0)%3|0;l=k[t>>2]|0;m=k[l+(k[j+(((h|0)/3|0)*12|0)+(i<<2)>>2]<<2)>>2]|0;f=h+1|0;f=((f|0)%3|0|0)==0?h+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[j+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;d=k[l+(f<<2)>>2]|0;f=((i|0)==0?2:-1)+h|0;if((f|0)<0)f=-1073741824;else f=k[j+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;f=k[l+(f<<2)>>2]|0;if((m|0)<(r|0)&(d|0)<(r|0)&(f|0)<(r|0)){j=ha(m,e)|0;i=ha(d,e)|0;f=ha(f,e)|0;if(v){h=0;do{m=I+(h<<2)|0;k[m>>2]=(k[b+(h+f<<2)>>2]|0)+(k[b+(h+i<<2)>>2]|0)-(k[b+(h+j<<2)>>2]|0)+(k[m>>2]|0);h=h+1|0}while((h|0)!=(e|0))}g=g+1|0}}f=(((n|0)%3|0|0)==0?2:-1)+n|0;do if((f|0)>=0){f=k[o+(f<<2)>>2]|0;if((f|0)>=0)if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);n=(f|0)==(p|0)?-1073741824:f}while((n|0)>-1);d=ha(r,e)|0;if(g){if(v){f=0;do{p=I+(f<<2)|0;k[p>>2]=(k[p>>2]|0)/(g|0)|0;f=f+1|0}while((f|0)!=(e|0))}l=b+(d<<2)|0;if((k[K>>2]|0)>0){j=0;do{i=k[I+(j<<2)>>2]|0;f=k[w>>2]|0;do if((i|0)<=(f|0)){f=k[y>>2]|0;g=k[x>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[x>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[K>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+d<<2)>>2]=(k[l+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[K>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+d<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[z>>2]|0)){if((g|0)>(k[B>>2]|0))k[f>>2]=g-(k[A>>2]|0)}else k[f>>2]=(k[A>>2]|0)+g;h=h+1|0}while((h|0)<(k[K>>2]|0))}}}}else{F=d;H=44}}else{F=ha(r,e)|0;H=44}if((H|0)==44?(H=0,E=b+(F<<2)|0,G=b+((ha(q+-2|0,e)|0)<<2)|0,(k[K>>2]|0)>0):0){j=0;do{i=k[G+(j<<2)>>2]|0;f=k[w>>2]|0;do if((i|0)<=(f|0)){f=k[y>>2]|0;g=k[x>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[x>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[K>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+F<<2)>>2]=(k[E+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[K>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+F<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[z>>2]|0)){if((g|0)>(k[B>>2]|0))k[f>>2]=g-(k[A>>2]|0)}else k[f>>2]=(k[A>>2]|0)+g;h=h+1|0}while((h|0)<(k[K>>2]|0))}}}if((r|0)<=1){J=I;break a}h=k[u>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0;q=r}Ap(h)}else J=I;while(0);if((e|0)>0)iq(I|0,0,e<<2|0)|0;if((k[K>>2]|0)<=0){dq(I);return 1}j=a+16|0;l=a+32|0;d=a+12|0;m=0;do{i=k[J+(m<<2)>>2]|0;f=k[j>>2]|0;do if((i|0)<=(f|0)){f=k[d>>2]|0;h=k[l>>2]|0;g=h+(m<<2)|0;if((i|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=i;break}}else{h=k[l>>2]|0;k[h+(m<<2)>>2]=f}while(0);m=m+1|0;f=k[K>>2]|0}while((m|0)<(f|0));if((f|0)>0)g=0;else{dq(I);return 1}do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)-(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[K>>2]|0}while((g|0)<(f|0));if((f|0)<=0){dq(I);return 1}j=a+28|0;l=a+20|0;f=a+24|0;i=0;do{g=c+(i<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[j>>2]|0)){if((h|0)>(k[f>>2]|0))k[g>>2]=h-(k[l>>2]|0)}else k[g>>2]=(k[l>>2]|0)+h;i=i+1|0}while((i|0)<(k[K>>2]|0));dq(I);return 1}function yi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;C=a+8|0;k[C>>2]=e;g=a+32|0;h=a+36|0;f=k[h>>2]|0;d=k[g>>2]|0;i=f-d>>2;if(i>>>0>=e>>>0)if(i>>>0>e>>>0?(j=d+(e<<2)|0,(f|0)!=(j|0)):0){k[h>>2]=f+(~((f+-4-j|0)>>>2)<<2);d=e}else d=e;else{Xg(g,e-i|0);d=k[C>>2]|0}A=e>>>0>1073741823?-1:e<<2;B=cq(A)|0;iq(B|0,0,A|0)|0;if((d|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{h=k[B+(j<<2)>>2]|0;d=k[l>>2]|0;do if((h|0)<=(d|0)){d=k[m>>2]|0;f=k[i>>2]|0;g=f+(j<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[i>>2]|0;k[f+(j<<2)>>2]=d}while(0);j=j+1|0;d=k[C>>2]|0}while((j|0)<(d|0));g=f;if((d|0)>0){f=0;do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)+(k[g+(f<<2)>>2]|0);f=f+1|0;d=k[C>>2]|0}while((f|0)<(d|0));if((d|0)>0){d=a+20|0;h=0;do{f=c+(h<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[l>>2]|0)){if((g|0)<(k[m>>2]|0))k[f>>2]=(k[d>>2]|0)+g}else k[f>>2]=g-(k[d>>2]|0);h=h+1|0}while((h|0)<(k[C>>2]|0))}}}t=k[a+48>>2]|0;u=a+56|0;g=k[u>>2]|0;f=k[g+4>>2]|0;d=k[g>>2]|0;A=f-d|0;v=A>>2;if((A|0)<=4){dq(B);return 1}w=k[a+52>>2]|0;x=(e|0)>0;y=a+16|0;z=a+32|0;A=a+12|0;q=a+20|0;r=t+12|0;s=e<<2;h=d;p=1;while(1){if(f-h>>2>>>0<=p>>>0){G=28;break}o=k[h+(p<<2)>>2]|0;if(x)iq(B|0,0,s|0)|0;if((o|0)>-1){n=k[r>>2]|0;a=o;f=0;do{g=k[n+(a<<2)>>2]|0;if((g|0)>-1){i=k[t>>2]|0;h=(g|0)%3|0;j=k[w>>2]|0;m=k[j+(k[i+(((g|0)/3|0)*12|0)+(h<<2)>>2]<<2)>>2]|0;d=g+1|0;d=((d|0)%3|0|0)==0?g+-2|0:d;if((d|0)<0)d=-1073741824;else d=k[i+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;l=k[j+(d<<2)>>2]|0;d=((h|0)==0?2:-1)+g|0;if((d|0)<0)d=-1073741824;else d=k[i+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;d=k[j+(d<<2)>>2]|0;if((m|0)<(p|0)&(l|0)<(p|0)&(d|0)<(p|0)){i=ha(m,e)|0;h=ha(l,e)|0;d=ha(d,e)|0;if(x){g=0;do{m=B+(g<<2)|0;k[m>>2]=(k[c+(g+d<<2)>>2]|0)+(k[c+(g+h<<2)>>2]|0)-(k[c+(g+i<<2)>>2]|0)+(k[m>>2]|0);g=g+1|0}while((g|0)!=(e|0))}f=f+1|0}}d=(((a|0)%3|0|0)==0?2:-1)+a|0;do if((d|0)>=0){d=k[n+(d<<2)>>2]|0;if((d|0)>=0)if(!((d|0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);a=(d|0)==(o|0)?-1073741824:d}while((a|0)>-1);j=ha(p,e)|0;if(f){if(x){d=0;do{o=B+(d<<2)|0;k[o>>2]=(k[o>>2]|0)/(f|0)|0;d=d+1|0}while((d|0)!=(e|0))}l=c+(j<<2)|0;if((k[C>>2]|0)>0){i=0;do{h=k[B+(i<<2)>>2]|0;d=k[y>>2]|0;do if((h|0)<=(d|0)){d=k[A>>2]|0;f=k[z>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[z>>2]|0;k[f+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[C>>2]|0}while((i|0)<(d|0));if((d|0)>0){g=0;do{k[l+(g<<2)>>2]=(k[b+(g+j<<2)>>2]|0)+(k[f+(g<<2)>>2]|0);g=g+1|0;d=k[C>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=0;do{d=l+(g<<2)|0;f=k[d>>2]|0;if((f|0)<=(k[y>>2]|0)){if((f|0)<(k[A>>2]|0))k[d>>2]=(k[q>>2]|0)+f}else k[d>>2]=f-(k[q>>2]|0);g=g+1|0}while((g|0)<(k[C>>2]|0))}}}}else{F=j;G=50}}else{F=ha(p,e)|0;G=50}if((G|0)==50?(G=0,D=c+((ha(p+-1|0,e)|0)<<2)|0,E=c+(F<<2)|0,(k[C>>2]|0)>0):0){i=0;do{h=k[D+(i<<2)>>2]|0;d=k[y>>2]|0;do if((h|0)<=(d|0)){d=k[A>>2]|0;f=k[z>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[z>>2]|0;k[f+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[C>>2]|0}while((i|0)<(d|0));if((d|0)>0){g=0;do{k[E+(g<<2)>>2]=(k[b+(g+F<<2)>>2]|0)+(k[f+(g<<2)>>2]|0);g=g+1|0;d=k[C>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=0;do{d=E+(g<<2)|0;f=k[d>>2]|0;if((f|0)<=(k[y>>2]|0)){if((f|0)<(k[A>>2]|0))k[d>>2]=(k[q>>2]|0)+f}else k[d>>2]=f-(k[q>>2]|0);g=g+1|0}while((g|0)<(k[C>>2]|0))}}}d=p+1|0;if((d|0)>=(v|0)){G=25;break}g=k[u>>2]|0;h=k[g>>2]|0;f=k[g+4>>2]|0;p=d}if((G|0)==25){dq(B);return 1}else if((G|0)==28)Ap(g);return 0}function zi(a){a=a|0;var b=0,c=0;k[a>>2]=3552;b=k[a+76>>2]|0;if(b|0)Jp(b);c=a+68|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)dq(b);k[a>>2]=3168;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Jp(c);return}function Ai(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3552;b=k[a+76>>2]|0;if(b|0)Jp(b);d=a+68|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)dq(b);k[a>>2]=3168;d=k[a+32>>2]|0;if(!d){Jp(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);Jp(d);Jp(a);return}function Bi(a){a=a|0;return 3}function Ci(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 Di(a){a=a|0;return 1}function Ei(a,b){a=a|0;b=b|0;if(!b)return 0;else Aa(8689,8700,75,8780);return 0}function Fi(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){a=0;return a|0}if((i[b+24>>0]|0)!=3){a=0;return a|0}k[a+60>>2]=b;a=1;return a|0}function Gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n+40|0;l=n+36|0;c=n+32|0;m=n;d=a+80|0;k[c>>2]=k[d>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0)){k[l>>2]=k[b+4>>2];k[j>>2]=k[l>>2];fd(b,j,c,c+4|0)|0}kd(m);od(m);c=k[a+76>>2]|0;g=k[d>>2]|0;f=g>>>5;h=c+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){f=c;c=1;while(1){if(d){e=0;d=c;while(1){c=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){ld(m);r=n;return 1}d=b+4|0;k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];fd(b,j,c,c+4|0)|0;h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){ld(m);r=n;return 1}k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];fd(b,j,c,c+4|0)|0;ld(m);r=n;return 1}function Hi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+16|0;p=q;j=b+8|0;g=j;h=k[g>>2]|0;g=k[g+4>>2]|0;o=b+16|0;d=o;c=k[d>>2]|0;d=kq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){p=0;r=q;return p|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=o;k[g>>2]=d;k[g+4>>2]=e;e=a+76|0;ii(e,h,0);rd(p);if(td(p,b)|0){if((h|0)>0){f=0;g=1;do{g=g^((ud(p)|0)^1);d=(k[e>>2]|0)+(f>>>5<<2)|0;c=1<<(f&31);if(g)c=k[d>>2]|c;else c=k[d>>2]&~c;k[d>>2]=c;f=f+1|0}while((f|0)<(h|0))}e=j;g=k[e>>2]|0;e=k[e+4>>2]|0;h=o;c=k[h>>2]|0;h=kq(c|0,k[h+4>>2]|0,4,0)|0;f=L;if(!((e|0)<(f|0)|(e|0)==(f|0)&g>>>0>>0)?(g=a+12|0,m=(k[b>>2]|0)+c|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,i[g>>0]=m,i[g+1>>0]=m>>8,i[g+2>>0]=m>>16,i[g+3>>0]=m>>24,g=o,e=k[g>>2]|0,g=k[g+4>>2]|0,n=kq(e|0,g|0,4,0)|0,f=o,k[f>>2]=n,k[f+4>>2]=L,f=j,h=k[f>>2]|0,f=k[f+4>>2]|0,j=kq(e|0,g|0,8,0)|0,g=L,!((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0)):0){d=a+16|0;b=(k[b>>2]|0)+n|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;i[d>>0]=b;i[d+1>>0]=b>>8;i[d+2>>0]=b>>16;i[d+3>>0]=b>>24;d=o;d=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;c=o;k[c>>2]=d;k[c+4>>2]=L;b=b+(1-m)|0;k[a+20>>2]=b;c=(b|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(!(b&1)){k[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;sd(p);p=c;r=q;return p|0}function Ii(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+16|0;y=A+4|0;z=A;k[a+72>>2]=e;k[a+64>>2]=f;x=a+68|0;w=cq(e>>>0>1073741823?-1:e<<2)|0;f=k[x>>2]|0;k[x>>2]=w;if(f|0)dq(f);w=a+8|0;k[w>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;i=1;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;v=1-g+f|0;k[a+20>>2]=v;f=(v|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(v&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Xg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=a+56|0;h=k[o>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;if((i|0)<=0){r=A;return 1}p=a+16|0;q=a+32|0;s=a+12|0;t=a+28|0;u=a+20|0;v=a+24|0;j=g;g=(i>>2)+-1|0;while(1){if(j-f>>2>>>0<=g>>>0){f=22;break}k[z>>2]=k[f+(g<<2)>>2];k[y>>2]=k[z>>2];Ji(a,y,b,g);n=ha(g,e)|0;m=b+(n<<2)|0;l=k[x>>2]|0;if((k[w>>2]|0)>0){d=0;do{j=k[l+(d<<2)>>2]|0;f=k[p>>2]|0;do if((j|0)<=(f|0)){f=k[s>>2]|0;h=k[q>>2]|0;i=h+(d<<2)|0;if((j|0)<(f|0)){k[i>>2]=f;break}else{k[i>>2]=j;break}}else{h=k[q>>2]|0;k[h+(d<<2)>>2]=f}while(0);d=d+1|0;f=k[w>>2]|0}while((d|0)<(f|0));i=h;if((f|0)>0){h=0;do{k[c+(h+n<<2)>>2]=(k[m+(h<<2)>>2]|0)-(k[i+(h<<2)>>2]|0);h=h+1|0;f=k[w>>2]|0}while((h|0)<(f|0));if((f|0)>0){i=0;do{f=c+(i+n<<2)|0;h=k[f>>2]|0;if((h|0)>=(k[t>>2]|0)){if((h|0)>(k[v>>2]|0))k[f>>2]=h-(k[u>>2]|0)}else k[f>>2]=(k[u>>2]|0)+h;i=i+1|0}while((i|0)<(k[w>>2]|0))}}}g=g+-1|0;if((g|0)<=-1){f=19;break}h=k[o>>2]|0;f=k[h>>2]|0;j=k[h+4>>2]|0}if((f|0)==19){r=A;return 1}else if((f|0)==22)Ap(h);return 0}function Ji(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;i=a+48|0;b=k[b>>2]|0;if((b|0)>=0){e=b+1|0;e=((e|0)%3|0|0)==0?b+-2|0:e;g=b+(((b|0)%3|0|0)==0?2:-1)|0;if((e|0)<0)b=-1073741824;else b=k[(k[k[i>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((g|0)<0)e=-1073741824;else e=k[(k[k[i>>2]>>2]|0)+(((g|0)/3|0)*12|0)+(((g|0)%3|0)<<2)>>2]|0}else{b=-1073741824;e=-1073741824}g=k[a+52>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)Ap(g);n=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=e>>>0)Ap(g);e=k[j+(e<<2)>>2]|0;b=(n|0)<(d|0);if(!(b&(e|0)<(d|0))){do if(b){i=a+72|0;g=k[i>>2]|0;b=g;g=ha(g,n)|0}else{if((d|0)>0){i=a+72|0;g=k[i>>2]|0;b=g;g=ha(g,d+-1|0)|0;break}g=a+72|0;if((k[g>>2]|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+g<<2)>>2];e=e+1|0}while((e|0)<(k[i>>2]|0));r=t;return}b=a+72|0;j=k[b>>2]|0;i=ha(j,n)|0;f=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);j=ha(j,e)|0;l=+(k[c+(j<<2)>>2]|0);m=+(k[c+(j+1<<2)>>2]|0);if(!(l!=f|m!=h)){a=k[a+68>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~m;r=t;return}Ki(s,a,d);Ki(p,a,n);Ki(q,a,e);B=+o[p>>2];x=+o[q>>2]-B;A=+o[p+4>>2];w=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=x*x+0.0+w*w+y*y;u=(x*B+0.0+w*A+y*z)/v;x=B-x*u;w=A-w*u;y=z-y*u;v=+X(+((y*y+(w*w+(x*x+0.0)))/v));x=l-f;w=m-h;l=f+x*u;m=x*v;u=h+w*u;v=w*v;h=l-v;f=m+u;l=v+l;m=u-m;i=ha(k[b>>2]|0,d)|0;u=+(k[c+(i<<2)>>2]|0);v=+(k[c+(i+1<<2)>>2]|0);w=u-h;x=v-f;u=u-l;v=v-m;i=a+76|0;j=a+80|0;b=k[j>>2]|0;e=k[a+84>>2]|0;g=(b|0)==(e<<5|0);if(x*x+(w*w+0.0)>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Dd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31)}else{if(g){if((b+1|0)<0)zp(i);if(e<<5>>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Dd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(b&31));h=l;f=m}c=~~+V(+(h+.5));a=k[a+68>>2]|0;k[a>>2]=c;c=~~+V(+(f+.5));k[a+4>>2]=c;r=t;return}function Ki(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+64>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+60>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];Cc(b,d,a)|0;r=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];Jc(b,d,a)|0;r=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];Qc(b,d,a)|0;r=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];Xc(b,d,a)|0;r=j;return}default:{r=j;return}}}function Li(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+16|0;x=z+4|0;y=z;k[a+72>>2]=e;k[a+64>>2]=f;w=a+68|0;v=cq(e>>>0>1073741823?-1:e<<2)|0;d=k[w>>2]|0;k[w>>2]=v;if(d|0)dq(d);v=a+8|0;k[v>>2]=e;d=a+32|0;f=a+36|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else Xg(d,e-g|0);o=a+56|0;g=k[o>>2]|0;f=k[g+4>>2]|0;d=k[g>>2]|0;u=f-d|0;p=u>>2;if((u|0)<=0){r=z;return 1}q=a+16|0;s=a+32|0;t=a+12|0;u=a+20|0;h=g;g=0;while(1){if(f-d>>2>>>0<=g>>>0){d=13;break}k[y>>2]=k[d+(g<<2)>>2];k[x>>2]=k[y>>2];Mi(a,x,c,g);m=ha(g,e)|0;j=k[w>>2]|0;n=c+(m<<2)|0;if((k[v>>2]|0)>0){l=0;do{i=k[j+(l<<2)>>2]|0;d=k[q>>2]|0;do if((i|0)<=(d|0)){d=k[t>>2]|0;f=k[s>>2]|0;h=f+(l<<2)|0;if((i|0)<(d|0)){k[h>>2]=d;break}else{k[h>>2]=i;break}}else{f=k[s>>2]|0;k[f+(l<<2)>>2]=d}while(0);l=l+1|0;d=k[v>>2]|0}while((l|0)<(d|0));h=f;if((d|0)>0){f=0;do{k[n+(f<<2)>>2]=(k[b+(f+m<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;d=k[v>>2]|0}while((f|0)<(d|0));if((d|0)>0){h=0;do{d=n+(h<<2)|0;f=k[d>>2]|0;if((f|0)<=(k[q>>2]|0)){if((f|0)<(k[t>>2]|0))k[d>>2]=(k[u>>2]|0)+f}else k[d>>2]=f-(k[u>>2]|0);h=h+1|0}while((h|0)<(k[v>>2]|0))}}}g=g+1|0;if((g|0)>=(p|0)){d=10;break}h=k[o>>2]|0;d=k[h>>2]|0;f=k[h+4>>2]|0}if((d|0)==10){r=z;return 1}else if((d|0)==13)Ap(h);return 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.0,i=0.0,j=0.0,l=0.0,m=0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;f=a+48|0;b=k[b>>2]|0;if((b|0)>=0){e=b+1|0;e=((e|0)%3|0|0)==0?b+-2|0:e;b=b+(((b|0)%3|0|0)==0?2:-1)|0;if((e|0)<0)e=-1073741824;else e=k[(k[k[f>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((b|0)<0)m=-1073741824;else m=k[(k[k[f>>2]>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0}else{m=-1073741824;e=-1073741824}b=k[a+52>>2]|0;f=k[b+4>>2]|0;g=k[b>>2]|0;if(f-g>>2>>>0<=e>>>0)Ap(b);n=k[g+(e<<2)>>2]|0;if(f-g>>2>>>0<=m>>>0)Ap(b);e=k[g+(m<<2)>>2]|0;b=(n|0)<(d|0);if(b&(e|0)<(d|0)){m=k[a+72>>2]|0;g=ha(m,n)|0;i=+(k[c+(g<<2)>>2]|0);j=+(k[c+(g+1<<2)>>2]|0);m=ha(m,e)|0;l=+(k[c+(m<<2)>>2]|0);h=+(k[c+(m+1<<2)>>2]|0);if(l!=i|h!=j){Ki(s,a,d);Ki(p,a,n);Ki(q,a,e);B=+o[p>>2];w=+o[q>>2]-B;A=+o[p+4>>2];x=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=w*w+0.0+x*x+y*y;u=(w*B+0.0+x*A+y*z)/v;w=B-w*u;x=A-x*u;y=z-y*u;v=+X(+((y*y+(x*x+(w*w+0.0)))/v));w=l-i;h=h-j;l=w*v;v=h*v;d=a+80|0;s=(k[d>>2]|0)+-1|0;c=(1<<(s&31)&k[(k[a+76>>2]|0)+(s>>>5<<2)>>2]|0)==0;k[d>>2]=s;d=~~+V(+(i+w*u+(c?v:-v)+.5));a=k[a+68>>2]|0;k[a>>2]=d;c=~~+V(+(j+h*u+(c?-l:l)+.5));k[a+4>>2]=c;r=t;return}else{a=k[a+68>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~h;r=t;return}}do if(b){g=a+72|0;f=k[g>>2]|0;b=f;f=ha(f,n)|0}else{if((d|0)>0){g=a+72|0;f=k[g>>2]|0;b=f;f=ha(f,d+-1|0)|0;break}f=a+72|0;if((k[f>>2]|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[f>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+68>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+f<<2)>>2];e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}function Ni(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Jp(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);Jp(b);Jp(a);return}function Oi(a){a=a|0;return 0}function Pi(a){a=a|0;return 1}function Qi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=a+8|0;k[u>>2]=e;do if(d){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;g=f;i=1;while(1){f=k[b+(i<<2)>>2]|0;if((f|0)>=(h|0))if((f|0)>(g|0)){k[j>>2]=f;g=f;f=h}else f=h;else k[l>>2]=f;i=i+1|0;if((i|0)==(d|0))break;else h=f}}else g=f;t=1-f+g|0;k[a+20>>2]=t;f=(t|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(t&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Xg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}else d=0;while(0);f=d-e|0;if((f|0)>0){n=0-e|0;o=a+16|0;p=a+32|0;q=a+12|0;r=a+28|0;s=a+20|0;t=a+24|0;d=k[u>>2]|0;do{m=b+(f<<2)|0;l=m+(n<<2)|0;if((d|0)>0){j=0;do{i=k[l+(j<<2)>>2]|0;d=k[o>>2]|0;do if((i|0)<=(d|0)){d=k[q>>2]|0;g=k[p>>2]|0;h=g+(j<<2)|0;if((i|0)<(d|0)){k[h>>2]=d;break}else{k[h>>2]=i;break}}else{g=k[p>>2]|0;k[g+(j<<2)>>2]=d}while(0);j=j+1|0;d=k[u>>2]|0}while((j|0)<(d|0));h=g;if((d|0)>0){g=0;do{k[c+(g+f<<2)>>2]=(k[m+(g<<2)>>2]|0)-(k[h+(g<<2)>>2]|0);g=g+1|0;d=k[u>>2]|0}while((g|0)<(d|0));if((d|0)>0){h=0;do{d=c+(h+f<<2)|0;g=k[d>>2]|0;if((g|0)>=(k[r>>2]|0)){if((g|0)>(k[t>>2]|0))k[d>>2]=g-(k[s>>2]|0)}else k[d>>2]=(k[s>>2]|0)+g;h=h+1|0;d=k[u>>2]|0}while((h|0)<(d|0))}}}f=f-e|0}while((f|0)>0)}else d=k[u>>2]|0;e=e>>>0>1073741823?-1:e<<2;n=cq(e)|0;iq(n|0,0,e|0)|0;if((d|0)<=0){dq(n);return 1}i=a+16|0;j=a+32|0;l=a+12|0;m=0;do{h=k[n+(m<<2)>>2]|0;d=k[i>>2]|0;do if((h|0)<=(d|0)){d=k[l>>2]|0;g=k[j>>2]|0;f=g+(m<<2)|0;if((h|0)<(d|0)){k[f>>2]=d;break}else{k[f>>2]=h;break}}else{g=k[j>>2]|0;k[g+(m<<2)>>2]=d}while(0);m=m+1|0;d=k[u>>2]|0}while((m|0)<(d|0));if((d|0)>0)f=0;else{dq(n);return 1}do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)-(k[g+(f<<2)>>2]|0);f=f+1|0;d=k[u>>2]|0}while((f|0)<(d|0));if((d|0)<=0){dq(n);return 1}i=a+28|0;j=a+20|0;d=a+24|0;h=0;do{f=c+(h<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[i>>2]|0)){if((g|0)>(k[d>>2]|0))k[f>>2]=g-(k[j>>2]|0)}else k[f>>2]=(k[j>>2]|0)+g;h=h+1|0}while((h|0)<(k[u>>2]|0));dq(n);return 1}function Ri(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=a+8|0;k[t>>2]=e;g=a+32|0;h=a+36|0;f=k[h>>2]|0;j=k[g>>2]|0;i=f-j>>2;if(i>>>0>=e>>>0)if(i>>>0>e>>>0?(l=j+(e<<2)|0,(f|0)!=(l|0)):0){k[h>>2]=f+(~((f+-4-l|0)>>>2)<<2);f=e}else f=e;else{Xg(g,e-i|0);f=k[t>>2]|0}r=e>>>0>1073741823?-1:e<<2;s=cq(r)|0;iq(s|0,0,r|0)|0;if((f|0)>0){m=a+16|0;j=a+32|0;n=a+12|0;l=0;do{i=k[s+(l<<2)>>2]|0;f=k[m>>2]|0;do if((i|0)<=(f|0)){f=k[n>>2]|0;g=k[j>>2]|0;h=g+(l<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[j>>2]|0;k[g+(l<<2)>>2]=f}while(0);l=l+1|0;f=k[t>>2]|0}while((l|0)<(f|0));h=g;if((f|0)>0){g=0;do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)+(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[t>>2]|0}while((g|0)<(f|0));if((f|0)>0){h=a+20|0;i=0;do{f=c+(i<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[m>>2]|0)){if((g|0)<(k[n>>2]|0))k[f>>2]=(k[h>>2]|0)+g}else k[f>>2]=g-(k[h>>2]|0);i=i+1|0;f=k[t>>2]|0}while((i|0)<(f|0))}}}if((e|0)>=(d|0)){dq(s);return 1}o=0-e|0;p=a+16|0;q=a+32|0;r=a+12|0;a=a+20|0;n=e;do{m=c+(n<<2)|0;l=m+(o<<2)|0;if((f|0)>0){j=0;do{i=k[l+(j<<2)>>2]|0;f=k[p>>2]|0;do if((i|0)<=(f|0)){f=k[r>>2]|0;g=k[q>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[q>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[t>>2]|0}while((j|0)<(f|0));h=g;if((f|0)>0){g=0;do{k[m+(g<<2)>>2]=(k[b+(g+n<<2)>>2]|0)+(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[t>>2]|0}while((g|0)<(f|0));if((f|0)>0){h=0;do{g=m+(h<<2)|0;f=k[g>>2]|0;if((f|0)<=(k[p>>2]|0)){if((f|0)<(k[r>>2]|0))k[g>>2]=(k[a>>2]|0)+f}else k[g>>2]=f-(k[a>>2]|0);h=h+1|0;f=k[t>>2]|0}while((h|0)<(f|0))}}}n=n+e|0}while((n|0)<(d|0));dq(s);return 1}function Si(a){a=a|0;return i[(k[a+8>>2]|0)+24>>0]|0}function Ti(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0;o=a+8|0;d=k[o>>2]|0;switch(k[d+28>>2]|0){case 2:{c=i[d+24>>0]|0;h=c<<24>>24;l=cq((h|0)>-1?h:-1)|0;a:do if(b|0){g=a+16|0;if(c<<24>>24>0){d=0;e=0}else{mq(k[k[d+64>>2]>>2]|0,l|0,h|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+h|0;mq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,l|0,h|0)|0;c=c+1|0;if((c|0)==(b|0))break a}}while(1){c=k[g>>2]|0;a=0;f=e;while(1){i[l+a>>0]=k[c+(f<<2)>>2];a=a+1|0;if((a|0)==(h|0))break;else f=f+1|0}mq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,l|0,h|0)|0;d=d+1|0;if((d|0)==(b|0))break;else e=e+h|0}}while(0);dq(l);b=1;return b|0}case 1:{c=i[d+24>>0]|0;h=c<<24>>24;l=cq((h|0)>-1?h:-1)|0;b:do if(b|0){g=a+16|0;if(c<<24>>24>0){d=0;e=0}else{mq(k[k[d+64>>2]>>2]|0,l|0,h|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+h|0;mq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,l|0,h|0)|0;c=c+1|0;if((c|0)==(b|0))break b}}while(1){c=k[g>>2]|0;a=0;f=e;while(1){i[l+a>>0]=k[c+(f<<2)>>2];a=a+1|0;if((a|0)==(h|0))break;else f=f+1|0}mq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,l|0,h|0)|0;d=d+1|0;if((d|0)==(b|0))break;else e=e+h|0}}while(0);dq(l);b=1;return b|0}case 4:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<1;n=cq(l>>>0>2147483647?-1:l<<1)|0;c:do if(b|0){h=a+16|0;if(c<<24>>24>0){d=0;e=0;f=0}else{mq(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+m|0;mq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,n|0,m|0)|0;c=c+1|0;if((c|0)==(b|0))break c}}while(1){c=k[h>>2]|0;a=0;g=f;while(1){j[n+(a<<1)>>1]=k[c+(g<<2)>>2];a=a+1|0;if((a|0)==(l|0))break;else g=g+1|0}mq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,n|0,m|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+m|0;f=f+l|0}}}while(0);dq(n);b=1;return b|0}case 3:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<1;n=cq(l>>>0>2147483647?-1:l<<1)|0;d:do if(b|0){h=a+16|0;if(c<<24>>24>0){d=0;e=0;f=0}else{mq(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+m|0;mq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,n|0,m|0)|0;c=c+1|0;if((c|0)==(b|0))break d}}while(1){c=k[h>>2]|0;a=0;g=f;while(1){j[n+(a<<1)>>1]=k[c+(g<<2)>>2];a=a+1|0;if((a|0)==(l|0))break;else g=g+1|0}mq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,n|0,m|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+m|0;f=f+l|0}}}while(0);dq(n);b=1;return b|0}case 6:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<2;n=cq(l>>>0>1073741823?-1:l<<2)|0;e:do if(b|0){h=a+16|0;if(c<<24>>24>0){d=0;e=0;f=0}else{mq(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+m|0;mq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,n|0,m|0)|0;c=c+1|0;if((c|0)==(b|0))break e}}while(1){c=k[h>>2]|0;a=0;g=f;while(1){k[n+(a<<2)>>2]=k[c+(g<<2)>>2];a=a+1|0;if((a|0)==(l|0))break;else g=g+1|0}mq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,n|0,m|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+m|0;f=f+l|0}}}while(0);dq(n);b=1;return b|0}case 5:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<2;n=cq(l>>>0>1073741823?-1:l<<2)|0;f:do if(b|0){h=a+16|0;if(c<<24>>24>0){d=0;e=0;f=0}else{mq(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=1;a=0}while(1){a=a+m|0;mq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+a|0,n|0,m|0)|0;c=c+1|0;if((c|0)==(b|0))break f}}while(1){c=k[h>>2]|0;a=0;g=f;while(1){k[n+(a<<2)>>2]=k[c+(g<<2)>>2];a=a+1|0;if((a|0)==(l|0))break;else g=g+1|0}mq((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,n|0,m|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+m|0;f=f+l|0}}}while(0);dq(n);b=1;return b|0}default:{b=0;return b|0}}return 0}function Ui(a){a=a|0;wh(a);k[a>>2]=3116;a=a+16|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;return}function Vi(a){a=a|0;var b=0,c=0;k[a>>2]=3680;c=a+36|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)dq(b);k[a>>2]=3116;c=a+28|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);c=k[a+16>>2]|0;if(!c)return;b=a+20|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Jp(c);return}function Wi(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3680;d=a+36|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)dq(b);k[a>>2]=3116;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);b=k[a+16>>2]|0;if(!b){Jp(a);return}c=a+20|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Jp(b);Jp(a);return}function Xi(a,b,c){a=a|0;b=b|0;c=c|0;if(!(zh(a,b,c)|0)){c=0;return c|0}b=k[b+4>>2]|0;if((c|0)<=-1)Aa(9671,9687,62,9715);a=k[b+4>>2]|0;if(((k[b+8>>2]|0)-a>>2|0)<=(c|0))Aa(9725,9687,63,9715);c=(k[(k[a+(c<<2)>>2]|0)+28>>2]|0)==9;return c|0}function Yi(a,b,c){a=a|0;b=b|0;c=c|0;if(!(cb[k[(k[a>>2]|0)+44>>2]&127](a)|0)){a=0;return a|0}a=Bh(a,b,c)|0;return a|0}function Zi(a,b){a=a|0;b=b|0;return gb[k[(k[a>>2]|0)+48>>2]&63](a,b)|0}function _i(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;c=i[(k[a+8>>2]|0)+24>>0]|0;g=a+36|0;f=cq(c>>>0>1073741823?-1:c<<2)|0;b=k[g>>2]|0;k[g>>2]=f;if(b|0)dq(b);e=a+4|0;f=k[(k[e>>2]|0)+20>>2]|0;b=c<<2;n=f+8|0;j=k[n>>2]|0;n=k[n+4>>2]|0;c=f+16|0;h=c;d=k[h>>2]|0;h=kq(d|0,k[h+4>>2]|0,b|0,0)|0;m=L;if((n|0)<(m|0)|(n|0)==(m|0)&j>>>0>>0){n=0;return n|0}mq(k[g>>2]|0,(k[f>>2]|0)+d|0,b|0)|0;h=c;h=kq(k[h>>2]|0,k[h+4>>2]|0,b|0,0)|0;b=c;k[b>>2]=h;k[b+4>>2]=L;b=(k[e>>2]|0)+20|0;c=k[b>>2]|0;h=c+8|0;m=k[h>>2]|0;h=k[h+4>>2]|0;d=c+16|0;n=d;e=k[n>>2]|0;n=kq(e|0,k[n+4>>2]|0,4,0)|0;j=L;if((h|0)<(j|0)|(h|0)==(j|0)&m>>>0>>0){n=0;return n|0}m=a+40|0;n=(k[c>>2]|0)+e|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;i[m>>0]=n;i[m+1>>0]=n>>8;i[m+2>>0]=n>>16;i[m+3>>0]=n>>24;m=d;m=kq(k[m>>2]|0,k[m+4>>2]|0,4,0)|0;n=d;k[n>>2]=m;k[n+4>>2]=L;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=kq(d|0,e|0,1,0)|0;n=c;k[n>>2]=m;k[n+4>>2]=L;if((b&255)>31){n=0;return n|0}k[a+32>>2]=b&255;n=1;return n|0}function $i(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0.0,w=0;u=r;r=r+16|0;n=u;p=k[a+32>>2]|0;q=a+8|0;c=i[(k[q>>2]|0)+24>>0]|0;m=c<<24>>24;s=m<<2;t=cq(m>>>0>1073741823?-1:m<<2)|0;Lg(n);Mg(n,+o[a+40>>2],(1<>24>0){a=0;g=0;c=0}else{a=0;c=0;while(1){mq((k[k[(k[q>>2]|0)+64>>2]>>2]|0)+c|0,t|0,s|0)|0;a=a+1|0;if((a|0)==(b|0))break;else c=c+s|0}dq(t);r=u;return 1}a:while(1){e=k[p>>2]|0;f=0;d=c;while(1){if((k[j>>2]|0)-e>>2>>>0<=d>>>0){a=4;break a}c=d+1|0;w=k[e+(d<<2)>>2]|0;d=(w|0)<0;v=+o[l>>2]*+((d?0-w|0:w)|0);o[t+(f<<2)>>2]=+o[(k[h>>2]|0)+(f<<2)>>2]+ +o[n>>2]*(d?-v:v);f=f+1|0;if((f|0)>=(m|0))break;else d=c}mq((k[k[(k[q>>2]|0)+64>>2]>>2]|0)+g|0,t|0,s|0)|0;a=a+1|0;if(a>>>0>>0)g=g+s|0;else{a=8;break}}if((a|0)==4)Ap(p);else if((a|0)==8){dq(t);r=u;return 1}return 0}function aj(a){a=a|0;Ui(a);k[a>>2]=3680;k[a+32>>2]=-1;k[a+36>>2]=0;o[a+40>>2]=0.0;return}function bj(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3116;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);d=k[a+16>>2]|0;if(!d){Jp(a);return}b=a+20|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);Jp(d);Jp(a);return}function cj(a,b,c){a=a|0;b=b|0;c=c|0;if(!(zh(a,b,c)|0)){a=0;return a|0}c=k[a+8>>2]|0;if((i[c+24>>0]|0)!=3){a=0;return a|0}a=(k[c+28>>2]|0)==9;return a|0}function dj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=c+8|0;h=k[g+4>>2]|0;f=c+16|0;e=f;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((h|0)>(e|0)|((h|0)==(e|0)?(k[g>>2]|0)>>>0>d>>>0:0))){h=0;return h|0}h=i[(k[c>>2]|0)+d>>0]|0;e=kq(d|0,e|0,1,0)|0;g=f;k[g>>2]=e;k[g+4>>2]=L;k[a+32>>2]=h&255;h=Bh(a,b,c)|0;return h|0}function ej(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+16|0;d=e;if((c|0)!=2){c=0;r=e;return c|0}f=k[a+12>>2]|0;c=k[a+4>>2]|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;c=fj(b,f,c,d)|0;r=e;return c|0}function fj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=k[c+4>>2]|0;if((b|0)<=-1)Aa(9671,9687,54,9715);f=k[e+4>>2]|0;if(((k[e+8>>2]|0)-f>>2|0)<=(b|0))Aa(9725,9687,55,9715);e=k[f+(b<<2)>>2]|0;if((cb[k[(k[c>>2]|0)+8>>2]&127](c)|0)==1?(g=gj(c,a,b,d)|0,g|0):0){d=g;return d|0}if((a|0)==-2){d=0;return d|0}a=aq(20)|0;k[a+4>>2]=e;c=a+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[a>>2]=4176;d=a;return d|0}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;e=k[a+4>>2]|0;if((c|0)<=-1)Aa(9671,9687,54,9715);f=k[e+4>>2]|0;if(((k[e+8>>2]|0)-f>>2|0)<=(c|0))Aa(9725,9687,55,9715);g=k[f+(c<<2)>>2]|0;if(!((b+-1|0)>>>0<3&(cb[k[(k[a>>2]|0)+8>>2]&127](a)|0)==1)){d=0;return d|0}h=cb[k[(k[a>>2]|0)+36>>2]&127](a)|0;i=gb[k[(k[a>>2]|0)+44>>2]&63](a,c)|0;if((h|0)==0|(i|0)==0){d=0;return d|0}c=gb[k[(k[a>>2]|0)+40>>2]&63](a,c)|0;e=k[a+24>>2]|0;f=i+12|0;if(!c)switch(b|0){case 1:{b=aq(36)|0;k[b+4>>2]=g;a=b+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[b+20>>2]=e;k[b+24>>2]=h;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=3984;d=b;return d|0}case 2:{b=aq(36)|0;k[b+4>>2]=g;a=b+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[b+20>>2]=e;k[b+24>>2]=h;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=4048;d=b;return d|0}case 3:{b=aq(64)|0;k[b+4>>2]=g;a=b+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[b+20>>2]=e;k[b+24>>2]=h;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=4112;d=b+36|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;d=b;return d|0}default:{d=0;return d|0}}else switch(b|0){case 1:{b=aq(36)|0;k[b+4>>2]=g;a=b+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[b+20>>2]=e;k[b+24>>2]=c;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=3792;d=b;return d|0}case 2:{b=aq(36)|0;k[b+4>>2]=g;a=b+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[b+20>>2]=e;k[b+24>>2]=c;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=3856;d=b;return d|0}case 3:{b=aq(64)|0;k[b+4>>2]=g;a=b+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[b+20>>2]=e;k[b+24>>2]=c;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=3920;d=b+36|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;d=b;return d|0}default:{d=0;return d|0}}return 0}function hj(a){a=a|0;return}function ij(a){a=a|0;Jp(a);return}function jj(a){a=a|0;return 1}function kj(a){a=a|0;return k[a+4>>2]|0}function lj(a){a=a|0;if(!(k[a+20>>2]|0)){a=0;return a|0}if(!(k[a+24>>2]|0)){a=0;return a|0}if(!(k[a+28>>2]|0)){a=0;return a|0}a=(k[a+32>>2]|0)!=0;return a|0}function mj(a){a=a|0;return 0}function nj(a,b){a=a|0;b=b|0;return -1}function oj(a,b){a=a|0;b=b|0;return 0}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;h=r;r=r+16|0;e=h+4|0;f=h;c=a+12|0;d=b+16|0;g=d;i=k[g+4>>2]|0;if((i|0)>0|(i|0)==0&(k[g>>2]|0)>>>0>0){r=h;return 1}g=b+4|0;k[f>>2]=k[g>>2];k[e>>2]=k[f>>2];fd(b,e,c,c+4|0)|0;i=d;d=k[i+4>>2]|0;c=a+16|0;if((d|0)>0|(d|0)==0&(k[i>>2]|0)>>>0>0){r=h;return 1}k[f>>2]=k[g>>2];k[e>>2]=k[f>>2];fd(b,e,c,c+4|0)|0;r=h;return 1}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;d=b+8|0;j=d;g=k[j>>2]|0;j=k[j+4>>2]|0;e=b+16|0;f=e;c=k[f>>2]|0;f=kq(c|0,k[f+4>>2]|0,4,0)|0;h=L;if((j|0)<(h|0)|(j|0)==(h|0)&g>>>0>>0){j=0;return j|0}j=a+12|0;g=(k[b>>2]|0)+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;i[j>>0]=g;i[j+1>>0]=g>>8;i[j+2>>0]=g>>16;i[j+3>>0]=g>>24;j=e;g=k[j>>2]|0;j=k[j+4>>2]|0;c=kq(g|0,j|0,4,0)|0;f=e;k[f>>2]=c;k[f+4>>2]=L;f=d;h=k[f>>2]|0;f=k[f+4>>2]|0;j=kq(g|0,j|0,8,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0){j=0;return j|0}h=a+16|0;j=(k[b>>2]|0)+c|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;i[h>>0]=j;i[h+1>>0]=j>>8;i[h+2>>0]=j>>16;i[h+3>>0]=j>>24;h=e;h=kq(k[h>>2]|0,k[h+4>>2]|0,4,0)|0;j=e;k[j>>2]=h;k[j+4>>2]=L;j=1;return j|0}function rj(a){a=a|0;return 1}function sj(a){a=a|0;return 2}function tj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;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;p=a+8|0;k[p>>2]=e;r=e>>>0>1073741823?-1:e<<2;q=cq(r)|0;iq(q|0,0,r|0)|0;r=k[a+24>>2]|0;s=a+32|0;d=k[s>>2]|0;g=k[d+4>>2]|0;f=k[d>>2]|0;h=g-f|0;a:do if((h|0)>4){l=k[a+28>>2]|0;m=r+64|0;n=r+28|0;o=(e|0)>0;i=h>>2;while(1){j=i+-1|0;if(g-f>>2>>>0<=j>>>0)break;f=k[f+(j<<2)>>2]|0;if(!((f|0)<0?1:(1<<(f&31)&k[(k[r>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(u=k[(k[(k[m>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(u|0)>-1):0){h=k[n>>2]|0;f=k[l>>2]|0;d=k[f+(k[h+(u<<2)>>2]<<2)>>2]|0;a=u+1|0;a=k[f+(k[h+((((a|0)%3|0|0)==0?u+-2|0:a)<<2)>>2]<<2)>>2]|0;h=k[f+(k[h+((((u|0)%3|0|0)==0?2:-1)+u<<2)>>2]<<2)>>2]|0;f=ha(j,e)|0;if((d|0)<(j|0)&(a|0)<(j|0)&(h|0)<(j|0)){i=ha(d,e)|0;g=ha(a,e)|0;d=ha(h,e)|0;if(o){a=0;do{k[q+(a<<2)>>2]=(k[b+(a+d<<2)>>2]|0)+(k[b+(a+g<<2)>>2]|0)-(k[b+(a+i<<2)>>2]|0);a=a+1|0}while((a|0)!=(e|0))}uj(p,b+(f<<2)|0,q,c,f)}else v=12}else{f=ha(j,e)|0;v=12}if((v|0)==12){v=0;uj(p,b+(f<<2)|0,b+((ha(i+-2|0,e)|0)<<2)|0,c,f)}if((j|0)<=1){t=q;break a}d=k[s>>2]|0;f=k[d>>2]|0;g=k[d+4>>2]|0;i=j}Ap(d)}else t=q;while(0);if((e|0)<=0){uj(p,b,t,c,0);dq(q);return 1}iq(q|0,0,e<<2|0)|0;uj(p,b,t,c,0);dq(q);return 1}function uj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;s=t+40|0;j=t+32|0;i=t+24|0;f=t+16|0;g=t+8|0;m=t;n=k[c>>2]|0;o=a+8|0;h=k[o>>2]<<1;if((n|0)>(h|0))Aa(7725,7760,83,7852);c=k[c+4>>2]|0;if((c|0)>(h|0))Aa(7870,7760,84,7852);l=k[b>>2]|0;if((l|0)>(h|0))Aa(7905,7760,85,7852);b=k[b+4>>2]|0;if((b|0)>(h|0))Aa(7940,7760,86,7852);if((n|0)<=-1)Aa(7975,7760,87,7852);if((c|0)<=-1)Aa(7997,7760,88,7852);if((l|0)<=-1)Aa(8019,7760,89,7852);if((b|0)<=-1)Aa(8041,7760,90,7852);k[f>>2]=l;k[f+4>>2]=b;k[g>>2]=n;k[g+4>>2]=c;vj(i,a,f,g);q=k[i>>2]|0;k[m>>2]=q;p=k[i+4>>2]|0;k[m+4>>2]=p;k[j>>2]=n;k[j+4>>2]=c;wj(s,a,j,m);i=k[o>>2]|0;h=l-i|0;c=b-i|0;g=(k[s>>2]|0)-i|0;b=(k[s+4>>2]|0)-i|0;f=0-h|0;if((((h|0)>-1?h:f)|0)==(i|0))c=(c|0)<0?0-c|0:c;s=0-g|0;a=((b|0)<0?(((g|0)>-1?g:s)|0)==(i|0):0)?0-b|0:b;if((c|0)==(a|0)?((((h|0)<0?(((c|0)>-1?c:0-c|0)|0)==(i|0):0)?f:h)|0)==((((g|0)<0?(((a|0)>-1?a:0-a|0)|0)==(i|0):0)?s:g)|0):0){k[d+(e<<2)>>2]=q;k[d+(e+1<<2)>>2]=p;r=t;return}else Aa(8100,7760,96,7852)}function vj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0.0;n=b+8|0;f=k[n>>2]|0;o=c+4|0;m=(k[o>>2]|0)-f|0;e=c;k[e>>2]=(k[c>>2]|0)-f;k[e+4>>2]=m;e=(k[d>>2]|0)-f|0;m=d+4|0;f=(k[m>>2]|0)-f|0;i=d;k[i>>2]=e;k[i+4>>2]=f;p=+W(+(+(e|0)))+ +W(+(+(f|0)));i=k[n>>2]|0;if(!(p<=+(i|0))){e=k[c>>2]|0;f=k[o>>2]|0;if((e|0)>-1)if((f|0)<=-1)if((e|0)<1){g=-1;h=-1}else l=6;else{g=1;h=1}else if((f|0)<1){g=-1;h=-1}else l=6;if((l|0)==6){g=(e|0)>0?1:-1;h=(f|0)>0?1:-1}j=ha(i,g)|0;i=ha(i,h)|0;e=(e<<1)-j|0;k[c>>2]=e;f=(f<<1)-i|0;k[o>>2]=f;if((ha(g,h)|0)>-1){f=0-f|0;k[c>>2]=f;e=0-e|0}else k[c>>2]=f;k[c>>2]=(f+j|0)/2|0;k[o>>2]=(e+i|0)/2|0;e=k[d>>2]|0;f=k[m>>2]|0;if((e|0)>-1)if((f|0)<=-1)if((e|0)<1){g=-1;h=-1}else l=14;else{g=1;h=1}else if((f|0)<1){g=-1;h=-1}else l=14;if((l|0)==14){g=(e|0)>0?1:-1;h=(f|0)>0?1:-1}j=k[n>>2]|0;i=ha(j,g)|0;j=ha(j,h)|0;e=(e<<1)-i|0;k[d>>2]=e;f=(f<<1)-j|0;k[m>>2]=f;if((ha(g,h)|0)>-1){f=0-f|0;k[d>>2]=f;e=0-e|0}else k[d>>2]=f;i=(f+i|0)/2|0;k[d>>2]=i;f=(e+j|0)/2|0;k[m>>2]=f;e=i;i=k[n>>2]|0}g=a;k[g>>2]=0;k[g+4>>2]=0;e=(k[c>>2]|0)-e|0;k[a>>2]=e;g=(k[o>>2]|0)-f|0;h=a+4|0;k[h>>2]=g;f=i<<1;if((f|0)<(e|0))Aa(8063,7760,160,8087);if((e|0)<0)e=(k[b+4>>2]|0)+e|0;k[a>>2]=e;if((f|0)<(g|0))Aa(8063,7760,160,8087);if((g|0)>=0){b=g;k[h>>2]=b;return}b=(k[b+4>>2]|0)+g|0;k[h>>2]=b;return}function wj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0.0;n=b+8|0;p=k[n>>2]|0;e=(k[c>>2]|0)-p|0;m=c+4|0;g=(k[m>>2]|0)-p|0;f=c;k[f>>2]=e;k[f+4>>2]=g;q=+W(+(+(e|0)))+ +W(+(+(g|0)));f=k[n>>2]|0;if(!(q<=+(f|0))){if((e|0)>-1)if((g|0)<=-1)if((e|0)<1){h=-1;i=-1}else o=6;else{h=1;i=1}else if((g|0)<1){h=-1;i=-1}else o=6;if((o|0)==6){h=(e|0)>0?1:-1;i=(g|0)>0?1:-1}l=ha(f,h)|0;j=ha(f,i)|0;e=(e<<1)-l|0;k[c>>2]=e;f=(g<<1)-j|0;k[m>>2]=f;if((ha(h,i)|0)>-1){f=0-f|0;k[c>>2]=f;e=0-e|0}else k[c>>2]=f;h=(f+l|0)/2|0;k[c>>2]=h;g=(e+j|0)/2|0;k[m>>2]=g;i=0;e=h;h=k[n>>2]|0}else{i=1;h=f}f=a;k[f>>2]=0;k[f+4>>2]=0;f=(k[d>>2]|0)+e|0;k[a>>2]=f;e=(k[d+4>>2]|0)+g|0;m=a+4|0;k[m>>2]=e;if((h|0)>=(f|0)){if((f|0)<(0-h|0))f=(k[b+4>>2]|0)+f|0}else f=f-(k[b+4>>2]|0)|0;k[a>>2]=f;if((h|0)>=(e|0))if((e|0)<(0-h|0))g=(k[b+4>>2]|0)+e|0;else g=e;else g=e-(k[b+4>>2]|0)|0;k[m>>2]=g;if(i){o=g;b=f;b=b+p|0;p=o+p|0;o=a;k[o>>2]=b;a=a+4|0;k[a>>2]=p;return}if((f|0)>-1)if((g|0)<=-1)if((f|0)<1){i=-1;j=-1}else o=24;else{i=1;j=1}else if((g|0)<1){i=-1;j=-1}else o=24;if((o|0)==24){i=(f|0)>0?1:-1;j=(g|0)>0?1:-1}l=ha(h,i)|0;h=ha(h,j)|0;e=(f<<1)-l|0;k[a>>2]=e;f=(g<<1)-h|0;k[m>>2]=f;if((ha(i,j)|0)>-1){f=0-f|0;k[a>>2]=f;e=0-e|0}else k[a>>2]=f;b=(f+l|0)/2|0;k[a>>2]=b;o=(e+h|0)/2|0;k[m>>2]=o;b=b+p|0;p=o+p|0;o=a;k[o>>2]=b;a=a+4|0;k[a>>2]=p;return}function xj(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;q=a+8|0;k[q>>2]=e;r=k[a+24>>2]|0;s=k[a+28>>2]|0;p=e>>>0>1073741823?-1:e<<2;t=cq(p)|0;iq(t|0,0,p|0)|0;yj(q,t,b,c,0);p=a+32|0;a=k[p>>2]|0;f=k[a+4>>2]|0;d=k[a>>2]|0;o=f-d|0;l=o>>2;if((o|0)<=4){dq(t);return 1}m=r+64|0;n=r+28|0;o=(e|0)>0;g=a;a=1;while(1){if(f-d>>2>>>0<=a>>>0){v=6;break}d=k[d+(a<<2)>>2]|0;if(!((d|0)<0?1:(1<<(d&31)&k[(k[r>>2]|0)+(d>>>5<<2)>>2]|0)!=0)?(u=k[(k[(k[m>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(u|0)>-1):0){h=k[n>>2]|0;d=k[s>>2]|0;f=k[d+(k[h+(u<<2)>>2]<<2)>>2]|0;g=u+1|0;g=k[d+(k[h+((((g|0)%3|0|0)==0?u+-2|0:g)<<2)>>2]<<2)>>2]|0;h=k[d+(k[h+((((u|0)%3|0|0)==0?2:-1)+u<<2)>>2]<<2)>>2]|0;d=ha(a,e)|0;if((f|0)<(a|0)&(g|0)<(a|0)&(h|0)<(a|0)){j=ha(f,e)|0;i=ha(g,e)|0;f=ha(h,e)|0;if(o){g=0;do{k[t+(g<<2)>>2]=(k[c+(g+f<<2)>>2]|0)+(k[c+(g+i<<2)>>2]|0)-(k[c+(g+j<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}yj(q,t,b,c+(d<<2)|0,d)}else v=10}else{d=ha(a,e)|0;v=10}if((v|0)==10){v=0;yj(q,c+((ha(a+-1|0,e)|0)<<2)|0,b,c+(d<<2)|0,d)}a=a+1|0;if((a|0)>=(l|0)){v=3;break}g=k[p>>2]|0;d=k[g>>2]|0;f=k[g+4>>2]|0}if((v|0)==3){dq(t);return 1}else if((v|0)==6)Ap(g);return 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,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;l=n+16|0;m=n+8|0;h=n;i=k[b>>2]|0;j=k[a+8>>2]<<1;if((i|0)>(j|0))Aa(8137,7760,105,8172);g=k[b+4>>2]|0;if((g|0)>(j|0))Aa(8193,7760,106,8172);f=k[c+(e<<2)>>2]|0;if((f|0)>(j|0))Aa(8228,7760,107,8172);b=k[c+(e+1<<2)>>2]|0;if((b|0)>(j|0))Aa(8268,7760,108,8172);if((i|0)<=-1)Aa(7975,7760,110,8172);if((g|0)<=-1)Aa(7997,7760,111,8172);if((f|0)<=-1)Aa(8312,7760,112,8172);if((b|0)>-1){k[l>>2]=f;k[l+4>>2]=b;k[h>>2]=i;k[h+4>>2]=g;wj(m,a,h,l);k[d>>2]=k[m>>2];k[d+4>>2]=k[m+4>>2];r=n;return}else Aa(8339,7760,113,8172)}function zj(a){a=a|0;Jp(a);return}function Aj(a){a=a|0;return 2}function Bj(a){a=a|0;if(!(k[a+20>>2]|0)){a=0;return a|0}if(!(k[a+24>>2]|0)){a=0;return a|0}if(!(k[a+28>>2]|0)){a=0;return a|0}a=(k[a+32>>2]|0)!=0;return a|0}function Cj(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;t=a+8|0;k[t>>2]=e;u=k[a+24>>2]|0;v=k[a+28>>2]|0;s=e>>>0>1073741823?-1:e<<2;w=cq(s)|0;iq(w|0,0,s|0)|0;s=a+32|0;a=k[s>>2]|0;d=k[a+4>>2]|0;f=k[a>>2]|0;g=d-f|0;a:do if((g|0)>4){o=(e|0)>0;p=u+64|0;q=u+28|0;r=e<<2;m=g>>2;while(1){n=m+-1|0;if(d-f>>2>>>0<=n>>>0)break;l=k[f+(n<<2)>>2]|0;if(o)iq(w|0,0,r|0)|0;if((l|0)>-1){j=k[u>>2]|0;f=l;a=0;do{do if(((k[j+(f>>>5<<2)>>2]&1<<(f&31)|0)==0?(y=k[(k[(k[p>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(y|0)>-1):0)?(B=k[q>>2]|0,i=k[v>>2]|0,z=k[i+(k[B+(y<<2)>>2]<<2)>>2]|0,A=y+1|0,A=k[i+(k[B+((((A|0)%3|0|0)==0?y+-2|0:A)<<2)>>2]<<2)>>2]|0,B=k[i+(k[B+((((y|0)%3|0|0)==0?2:-1)+y<<2)>>2]<<2)>>2]|0,(z|0)<(n|0)&(A|0)<(n|0)&(B|0)<(n|0)):0){d=ha(z,e)|0;g=ha(A,e)|0;h=ha(B,e)|0;if(o)i=0;else{a=a+1|0;C=20;break}do{D=w+(i<<2)|0;k[D>>2]=(k[b+(i+h<<2)>>2]|0)+(k[b+(i+g<<2)>>2]|0)-(k[b+(i+d<<2)>>2]|0)+(k[D>>2]|0);i=i+1|0}while((i|0)!=(e|0));a=a+1|0;if((f|0)>=0)C=20}else C=20;while(0);do if((C|0)==20){C=0;if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);do if(!(1<<(f&31)&k[j+(f>>>5<<2)>>2])){if((f|0)>=0){f=k[(k[(k[p>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);f=(f|0)==(l|0)?-1073741824:f}while((f|0)>-1);f=ha(n,e)|0;if(!a)C=32;else{if(o){d=0;do{D=w+(d<<2)|0;k[D>>2]=(k[D>>2]|0)/(a|0)|0;d=d+1|0}while((d|0)!=(e|0))}uj(t,b+(f<<2)|0,w,c,f)}}else{f=ha(n,e)|0;C=32}if((C|0)==32){C=0;uj(t,b+(f<<2)|0,b+((ha(m+-2|0,e)|0)<<2)|0,c,f)}if((n|0)<=1){x=w;break a}a=k[s>>2]|0;f=k[a>>2]|0;d=k[a+4>>2]|0;m=n}Ap(a)}else x=w;while(0);if((e|0)<=0){uj(t,b,x,c,0);dq(w);return 1}iq(w|0,0,e<<2|0)|0;uj(t,b,x,c,0);dq(w);return 1}function Dj(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;t=a+8|0;k[t>>2]=e;v=e>>>0>1073741823?-1:e<<2;u=cq(v)|0;iq(u|0,0,v|0)|0;yj(t,u,b,c,0);v=k[a+24>>2]|0;w=a+32|0;h=k[w>>2]|0;f=k[h+4>>2]|0;d=k[h>>2]|0;r=f-d|0;s=r>>2;if((r|0)<=4){dq(u);return 1}n=k[a+28>>2]|0;o=(e|0)>0;p=v+64|0;q=v+28|0;r=e<<2;g=f;a=h;f=1;while(1){if(g-d>>2>>>0<=f>>>0){B=6;break}m=k[d+(f<<2)>>2]|0;if(o)iq(u|0,0,r|0)|0;if((m|0)>-1){l=k[v>>2]|0;d=m;g=0;do{do if(((k[l+(d>>>5<<2)>>2]&1<<(d&31)|0)==0?(x=k[(k[(k[p>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(x|0)>-1):0)?(A=k[q>>2]|0,j=k[n>>2]|0,y=k[j+(k[A+(x<<2)>>2]<<2)>>2]|0,z=x+1|0,z=k[j+(k[A+((((z|0)%3|0|0)==0?x+-2|0:z)<<2)>>2]<<2)>>2]|0,A=k[j+(k[A+((((x|0)%3|0|0)==0?2:-1)+x<<2)>>2]<<2)>>2]|0,(y|0)<(f|0)&(z|0)<(f|0)&(A|0)<(f|0)):0){a=ha(y,e)|0;h=ha(z,e)|0;i=ha(A,e)|0;if(o)j=0;else{g=g+1|0;B=18;break}do{C=u+(j<<2)|0;k[C>>2]=(k[c+(j+i<<2)>>2]|0)+(k[c+(j+h<<2)>>2]|0)-(k[c+(j+a<<2)>>2]|0)+(k[C>>2]|0);j=j+1|0}while((j|0)!=(e|0));g=g+1|0;if((d|0)>=0)B=18}else B=18;while(0);do if((B|0)==18){B=0;if(!((d|0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);do if(!(1<<(d&31)&k[l+(d>>>5<<2)>>2])){if((d|0)>=0){d=k[(k[(k[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);d=(d|0)==(m|0)?-1073741824:d}while((d|0)>-1);d=ha(f,e)|0;if(!g)B=30;else{if(o){a=0;do{C=u+(a<<2)|0;k[C>>2]=(k[C>>2]|0)/(g|0)|0;a=a+1|0}while((a|0)!=(e|0))}yj(t,u,b,c+(d<<2)|0,d)}}else{d=ha(f,e)|0;B=30}if((B|0)==30){B=0;yj(t,c+((ha(f+-1|0,e)|0)<<2)|0,b,c+(d<<2)|0,d)}f=f+1|0;if((f|0)>=(s|0)){B=3;break}a=k[w>>2]|0;d=k[a>>2]|0;g=k[a+4>>2]|0}if((B|0)==3){dq(u);return 1}else if((B|0)==6)Ap(a);return 0}function Ej(a){a=a|0;var b=0;k[a>>2]=3920;b=k[a+52>>2]|0;if(b|0)Jp(b);a=a+44|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;dq(b);return}function Fj(a){a=a|0;var b=0,c=0;k[a>>2]=3920;b=k[a+52>>2]|0;if(b|0)Jp(b);c=a+44|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){Jp(a);return}dq(b);Jp(a);return}function Gj(a){a=a|0;return 3}function Hj(a){a=a|0;if(!(k[a+36>>2]|0))return 0;if(!(k[a+20>>2]|0))return 0;if(!(k[a+24>>2]|0))return 0;if(!(k[a+28>>2]|0))return 0;else return (k[a+32>>2]|0)!=0|0;return 0}function Ij(a){a=a|0;return 1}function Jj(a,b){a=a|0;b=b|0;if(!b)return 0;else Aa(8689,8700,75,8780);return 0}function Kj(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){a=0;return a|0}if((i[b+24>>0]|0)!=3){a=0;return a|0}k[a+36>>2]=b;a=1;return a|0}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,m=0,n=0;n=r;r=r+48|0;j=n+40|0;l=n+36|0;c=n+32|0;m=n;d=a+56|0;k[c>>2]=k[d>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0)){k[l>>2]=k[b+4>>2];k[j>>2]=k[l>>2];fd(b,j,c,c+4|0)|0}kd(m);od(m);c=k[a+52>>2]|0;g=k[d>>2]|0;f=g>>>5;h=c+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){f=c;c=1;while(1){if(d){e=0;d=c;while(1){c=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){ld(m);r=n;return 1}d=b+4|0;k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];fd(b,j,c,c+4|0)|0;h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){ld(m);r=n;return 1}k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];fd(b,j,c,c+4|0)|0;ld(m);r=n;return 1}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,m=0,n=0,o=0,p=0;p=r;r=r+16|0;o=p;j=b+8|0;g=j;h=k[g>>2]|0;g=k[g+4>>2]|0;n=b+16|0;d=n;c=k[d>>2]|0;d=kq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){o=0;r=p;return o|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=n;k[g>>2]=d;k[g+4>>2]=e;d=a+52|0;ii(d,h,0);rd(o);if(td(o,b)|0){if((h|0)>0){f=0;g=1;do{g=g^((ud(o)|0)^1);e=(k[d>>2]|0)+(f>>>5<<2)|0;c=1<<(f&31);if(g)c=k[e>>2]|c;else c=k[e>>2]&~c;k[e>>2]=c;f=f+1|0}while((f|0)<(h|0))}e=j;g=k[e>>2]|0;e=k[e+4>>2]|0;h=n;c=k[h>>2]|0;h=kq(c|0,k[h+4>>2]|0,4,0)|0;f=L;if(!((e|0)<(f|0)|(e|0)==(f|0)&g>>>0>>0)?(g=a+12|0,e=(k[b>>2]|0)+c|0,e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24,i[g>>0]=e,i[g+1>>0]=e>>8,i[g+2>>0]=e>>16,i[g+3>>0]=e>>24,g=n,e=k[g>>2]|0,g=k[g+4>>2]|0,m=kq(e|0,g|0,4,0)|0,f=n,k[f>>2]=m,k[f+4>>2]=L,f=j,h=k[f>>2]|0,f=k[f+4>>2]|0,j=kq(e|0,g|0,8,0)|0,g=L,!((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0)):0){a=a+16|0;c=(k[b>>2]|0)+m|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[a>>0]=c;i[a+1>>0]=c>>8;i[a+2>>0]=c>>16;i[a+3>>0]=c>>24;a=n;a=kq(k[a>>2]|0,k[a+4>>2]|0,4,0)|0;c=n;k[c>>2]=a;k[c+4>>2]=L;c=1}else c=0}else c=0;sd(o);o=c;r=p;return o|0}function Nj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;n=p+4|0;o=p;k[a+48>>2]=e;k[a+40>>2]=f;m=a+44|0;l=cq(e>>>0>1073741823?-1:e<<2)|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)dq(d);l=a+8|0;k[l>>2]=e;j=a+32|0;g=k[j>>2]|0;f=k[g+4>>2]|0;d=k[g>>2]|0;h=f-d|0;if((h|0)<=0){r=p;return 1}i=f;f=(h>>2)+-1|0;while(1){if(i-d>>2>>>0<=f>>>0){d=8;break}k[o>>2]=k[d+(f<<2)>>2];k[n>>2]=k[o>>2];Oj(a,n,b,f);i=ha(f,e)|0;uj(l,b+(i<<2)|0,k[m>>2]|0,c,i);f=f+-1|0;if((f|0)<=-1){d=5;break}g=k[j>>2]|0;d=k[g>>2]|0;i=k[g+4>>2]|0}if((d|0)==5){r=p;return 1}else if((d|0)==8)Ap(g);return 0}function Oj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;i=a+24|0;e=k[b>>2]|0;do if((e|0)>=0){b=e+1|0;b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e|0)%3|0)){g=e+2|0;break}else{g=e+-1|0;break}}else{g=e;b=e}while(0);e=k[(k[i>>2]|0)+28>>2]|0;b=k[e+(b<<2)>>2]|0;e=k[e+(g<<2)>>2]|0;g=k[a+28>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)Ap(g);n=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=e>>>0)Ap(g);e=k[j+(e<<2)>>2]|0;b=(n|0)<(d|0);if(!(b&(e|0)<(d|0))){do if(b){i=a+48|0;g=k[i>>2]|0;b=g;g=ha(g,n)|0}else{if((d|0)>0){i=a+48|0;g=k[i>>2]|0;b=g;g=ha(g,d+-1|0)|0;break}g=a+48|0;if((k[g>>2]|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+g<<2)>>2];e=e+1|0}while((e|0)<(k[i>>2]|0));r=t;return}b=a+48|0;j=k[b>>2]|0;i=ha(j,n)|0;f=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);j=ha(j,e)|0;l=+(k[c+(j<<2)>>2]|0);m=+(k[c+(j+1<<2)>>2]|0);if(!(l!=f|m!=h)){a=k[a+44>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~m;r=t;return}Pj(s,a,d);Pj(p,a,n);Pj(q,a,e);B=+o[p>>2];x=+o[q>>2]-B;A=+o[p+4>>2];w=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=x*x+0.0+w*w+y*y;u=(x*B+0.0+w*A+y*z)/v;x=B-x*u;w=A-w*u;y=z-y*u;v=+X(+((y*y+(w*w+(x*x+0.0)))/v));x=l-f;w=m-h;l=f+x*u;m=x*v;u=h+w*u;v=w*v;h=l-v;f=m+u;l=v+l;m=u-m;i=ha(k[b>>2]|0,d)|0;u=+(k[c+(i<<2)>>2]|0);v=+(k[c+(i+1<<2)>>2]|0);w=u-h;x=v-f;u=u-l;v=v-m;i=a+52|0;j=a+56|0;b=k[j>>2]|0;e=k[a+60>>2]|0;g=(b|0)==(e<<5|0);if(x*x+(w*w+0.0)>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Dd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31)}else{if(g){if((b+1|0)<0)zp(i);if(e<<5>>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Dd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(b&31));h=l;f=m}c=~~+V(+(h+.5));a=k[a+44>>2]|0;k[a>>2]=c;c=~~+V(+(f+.5));k[a+4>>2]=c;r=t;return}function Pj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+40>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+36>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];Cc(b,d,a)|0;r=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];Jc(b,d,a)|0;r=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];Qc(b,d,a)|0;r=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];Xc(b,d,a)|0;r=j;return}default:{r=j;return}}}function Qj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;n=p+4|0;o=p;k[a+48>>2]=e;k[a+40>>2]=f;m=a+44|0;l=cq(e>>>0>1073741823?-1:e<<2)|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)dq(d);i=a+8|0;k[i>>2]=e;j=a+32|0;g=k[j>>2]|0;f=k[g+4>>2]|0;d=k[g>>2]|0;h=f-d|0;l=h>>2;if((h|0)<=0){r=p;return 1}h=g;g=0;while(1){if(f-d>>2>>>0<=g>>>0){d=8;break}k[o>>2]=k[d+(g<<2)>>2];k[n>>2]=k[o>>2];Rj(a,n,c,g);h=ha(g,e)|0;yj(i,k[m>>2]|0,b,c+(h<<2)|0,h);g=g+1|0;if((g|0)>=(l|0)){d=5;break}h=k[j>>2]|0;d=k[h>>2]|0;f=k[h+4>>2]|0}if((d|0)==5){r=p;return 1}else if((d|0)==8)Ap(h);return 0}function Rj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0.0,i=0,j=0.0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;g=a+24|0;e=k[b>>2]|0;do if((e|0)>=0){b=e+1|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);e=k[(k[g>>2]|0)+28>>2]|0;b=k[e+(b<<2)>>2]|0;e=k[e+(f<<2)>>2]|0;f=k[a+28>>2]|0;g=k[f+4>>2]|0;i=k[f>>2]|0;if(g-i>>2>>>0<=b>>>0)Ap(f);n=k[i+(b<<2)>>2]|0;if(g-i>>2>>>0<=e>>>0)Ap(f);e=k[i+(e<<2)>>2]|0;b=(n|0)<(d|0);if(b&(e|0)<(d|0)){i=k[a+48>>2]|0;g=ha(i,n)|0;j=+(k[c+(g<<2)>>2]|0);l=+(k[c+(g+1<<2)>>2]|0);i=ha(i,e)|0;m=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);if(m!=j|h!=l){Pj(s,a,d);Pj(p,a,n);Pj(q,a,e);B=+o[p>>2];w=+o[q>>2]-B;A=+o[p+4>>2];x=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=w*w+0.0+x*x+y*y;u=(w*B+0.0+x*A+y*z)/v;w=B-w*u;x=A-x*u;y=z-y*u;v=+X(+((y*y+(x*x+(w*w+0.0)))/v));w=m-j;h=h-l;m=w*v;v=h*v;d=a+56|0;s=(k[d>>2]|0)+-1|0;c=(1<<(s&31)&k[(k[a+52>>2]|0)+(s>>>5<<2)>>2]|0)==0;k[d>>2]=s;d=~~+V(+(j+w*u+(c?v:-v)+.5));a=k[a+44>>2]|0;k[a>>2]=d;c=~~+V(+(l+h*u+(c?-m:m)+.5));k[a+4>>2]=c;r=t;return}else{a=k[a+44>>2]|0;k[a>>2]=~~m;k[a+4>>2]=~~h;r=t;return}}do if(b){g=a+48|0;f=k[g>>2]|0;b=f;f=ha(f,n)|0}else{if((d|0)>0){g=a+48|0;f=k[g>>2]|0;b=f;f=ha(f,d+-1|0)|0;break}f=a+48|0;if((k[f>>2]|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[f>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+f<<2)>>2];e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}function Sj(a){a=a|0;Jp(a);return}function Tj(a){a=a|0;return 1}function Uj(a){a=a|0;if(!(k[a+20>>2]|0)){a=0;return a|0}if(!(k[a+24>>2]|0)){a=0;return a|0}if(!(k[a+28>>2]|0)){a=0;return a|0}a=(k[a+32>>2]|0)!=0;return a|0}function Vj(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;p=a+8|0;k[p>>2]=e;r=e>>>0>1073741823?-1:e<<2;q=cq(r)|0;iq(q|0,0,r|0)|0;r=k[a+24>>2]|0;s=a+32|0;d=k[s>>2]|0;g=k[d+4>>2]|0;f=k[d>>2]|0;h=g-f|0;a:do if((h|0)>4){m=k[a+28>>2]|0;n=r+12|0;o=(e|0)>0;j=h>>2;while(1){l=j+-1|0;if(g-f>>2>>>0<=l>>>0)break;f=k[f+(l<<2)>>2]|0;if((f|0)>=0?(u=k[(k[n>>2]|0)+(f<<2)>>2]|0,(u|0)>-1):0){a=k[r>>2]|0;d=(u|0)%3|0;g=k[m>>2]|0;h=k[g+(k[a+(((u|0)/3|0)*12|0)+(d<<2)>>2]<<2)>>2]|0;f=u+1|0;f=((f|0)%3|0|0)==0?u+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[a+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;i=k[g+(f<<2)>>2]|0;f=((d|0)==0?2:-1)+u|0;if((f|0)<0)f=-1073741824;else f=k[a+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;d=k[g+(f<<2)>>2]|0;f=ha(l,e)|0;if((h|0)<(l|0)&(i|0)<(l|0)&(d|0)<(l|0)){h=ha(h,e)|0;g=ha(i,e)|0;d=ha(d,e)|0;if(o){a=0;do{k[q+(a<<2)>>2]=(k[b+(a+d<<2)>>2]|0)+(k[b+(a+g<<2)>>2]|0)-(k[b+(a+h<<2)>>2]|0);a=a+1|0}while((a|0)!=(e|0))}uj(p,b+(f<<2)|0,q,c,f)}else v=16}else{f=ha(l,e)|0;v=16}if((v|0)==16){v=0;uj(p,b+(f<<2)|0,b+((ha(j+-2|0,e)|0)<<2)|0,c,f)}if((l|0)<=1){t=q;break a}d=k[s>>2]|0;f=k[d>>2]|0;g=k[d+4>>2]|0;j=l}Ap(d)}else t=q;while(0);if((e|0)<=0){uj(p,b,t,c,0);dq(q);return 1}iq(q|0,0,e<<2|0)|0;uj(p,b,t,c,0);dq(q);return 1}function Wj(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;p=a+8|0;k[p>>2]=e;q=k[a+24>>2]|0;r=k[a+28>>2]|0;o=e>>>0>1073741823?-1:e<<2;s=cq(o)|0;iq(s|0,0,o|0)|0;yj(p,s,b,c,0);o=a+32|0;a=k[o>>2]|0;f=k[a+4>>2]|0;d=k[a>>2]|0;n=f-d|0;l=n>>2;if((n|0)<=4){dq(s);return 1}m=q+12|0;n=(e|0)>0;g=a;a=1;while(1){if(f-d>>2>>>0<=a>>>0){u=6;break}d=k[d+(a<<2)>>2]|0;if((d|0)>=0?(t=k[(k[m>>2]|0)+(d<<2)>>2]|0,(t|0)>-1):0){g=k[q>>2]|0;f=(t|0)%3|0;h=k[r>>2]|0;i=k[h+(k[g+(((t|0)/3|0)*12|0)+(f<<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=k[g+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;j=k[h+(d<<2)>>2]|0;d=((f|0)==0?2:-1)+t|0;if((d|0)<0)d=-1073741824;else d=k[g+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;f=k[h+(d<<2)>>2]|0;d=ha(a,e)|0;if((i|0)<(a|0)&(j|0)<(a|0)&(f|0)<(a|0)){i=ha(i,e)|0;h=ha(j,e)|0;f=ha(f,e)|0;if(n){g=0;do{k[s+(g<<2)>>2]=(k[c+(g+f<<2)>>2]|0)+(k[c+(g+h<<2)>>2]|0)-(k[c+(g+i<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}yj(p,s,b,c+(d<<2)|0,d)}else u=14}else{d=ha(a,e)|0;u=14}if((u|0)==14){u=0;yj(p,c+((ha(a+-1|0,e)|0)<<2)|0,b,c+(d<<2)|0,d)}a=a+1|0;if((a|0)>=(l|0)){u=3;break}g=k[o>>2]|0;d=k[g>>2]|0;f=k[g+4>>2]|0}if((u|0)==3){dq(s);return 1}else if((u|0)==6)Ap(g);return 0}function Xj(a){a=a|0;Jp(a);return}function Yj(a){a=a|0;return 2}function Zj(a){a=a|0;if(!(k[a+20>>2]|0)){a=0;return a|0}if(!(k[a+24>>2]|0)){a=0;return a|0}if(!(k[a+28>>2]|0)){a=0;return a|0}a=(k[a+32>>2]|0)!=0;return a|0}function _j(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;v=a+8|0;k[v>>2]=e;w=k[a+24>>2]|0;x=k[a+28>>2]|0;u=e>>>0>1073741823?-1:e<<2;y=cq(u)|0;iq(y|0,0,u|0)|0;u=a+32|0;a=k[u>>2]|0;d=k[a+4>>2]|0;f=k[a>>2]|0;g=d-f|0;a:do if((g|0)>4){r=(e|0)>0;s=w+12|0;t=e<<2;p=g>>2;while(1){q=p+-1|0;if(d-f>>2>>>0<=q>>>0)break;o=k[f+(q<<2)>>2]|0;if(r)iq(y|0,0,t|0)|0;if((o|0)>-1){n=k[s>>2]|0;m=o;a=0;do{d=k[n+(m<<2)>>2]|0;if((d|0)>-1){h=k[w>>2]|0;g=(d|0)%3|0;i=k[x>>2]|0;l=k[i+(k[h+(((d|0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;f=d+1|0;f=((f|0)%3|0|0)==0?d+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;j=k[i+(f<<2)>>2]|0;f=((g|0)==0?2:-1)+d|0;if((f|0)<0)f=-1073741824;else f=k[h+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;if((l|0)<(q|0)&(j|0)<(q|0)&(f|0)<(q|0)){h=ha(l,e)|0;g=ha(j,e)|0;f=ha(f,e)|0;if(r){d=0;do{l=y+(d<<2)|0;k[l>>2]=(k[b+(d+f<<2)>>2]|0)+(k[b+(d+g<<2)>>2]|0)-(k[b+(d+h<<2)>>2]|0)+(k[l>>2]|0);d=d+1|0}while((d|0)!=(e|0))}a=a+1|0}}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=ha(q,e)|0;if(!a)A=30;else{if(r){d=0;do{p=y+(d<<2)|0;k[p>>2]=(k[p>>2]|0)/(a|0)|0;d=d+1|0}while((d|0)!=(e|0))}uj(v,b+(f<<2)|0,y,c,f)}}else{f=ha(q,e)|0;A=30}if((A|0)==30){A=0;uj(v,b+(f<<2)|0,b+((ha(p+-2|0,e)|0)<<2)|0,c,f)}if((q|0)<=1){z=y;break a}a=k[u>>2]|0;f=k[a>>2]|0;d=k[a+4>>2]|0;p=q}Ap(a)}else z=y;while(0);if((e|0)<=0){uj(v,b,z,c,0);dq(y);return 1}iq(y|0,0,e<<2|0)|0;uj(v,b,z,c,0);dq(y);return 1}function $j(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;v=a+8|0;k[v>>2]=e;x=e>>>0>1073741823?-1:e<<2;w=cq(x)|0;iq(w|0,0,x|0)|0;yj(v,w,b,c,0);x=k[a+24>>2]|0;y=a+32|0;g=k[y>>2]|0;f=k[g+4>>2]|0;d=k[g>>2]|0;t=f-d|0;u=t>>2;if((t|0)<=4){dq(w);return 1}q=k[a+28>>2]|0;r=(e|0)>0;s=x+12|0;t=e<<2;h=d;a=g;p=1;while(1){if(f-h>>2>>>0<=p>>>0){z=6;break}o=k[h+(p<<2)>>2]|0;if(r)iq(w|0,0,t|0)|0;if((o|0)>-1){n=k[s>>2]|0;m=o;a=0;do{f=k[n+(m<<2)>>2]|0;if((f|0)>-1){h=k[x>>2]|0;g=(f|0)%3|0;i=k[q>>2]|0;l=k[i+(k[h+(((f|0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;d=f+1|0;d=((d|0)%3|0|0)==0?f+-2|0:d;if((d|0)<0)d=-1073741824;else d=k[h+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;j=k[i+(d<<2)>>2]|0;d=((g|0)==0?2:-1)+f|0;if((d|0)<0)d=-1073741824;else d=k[h+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;d=k[i+(d<<2)>>2]|0;if((l|0)<(p|0)&(j|0)<(p|0)&(d|0)<(p|0)){h=ha(l,e)|0;g=ha(j,e)|0;d=ha(d,e)|0;if(r){f=0;do{l=w+(f<<2)|0;k[l>>2]=(k[c+(f+d<<2)>>2]|0)+(k[c+(f+g<<2)>>2]|0)-(k[c+(f+h<<2)>>2]|0)+(k[l>>2]|0);f=f+1|0}while((f|0)!=(e|0))}a=a+1|0}}d=(((m|0)%3|0|0)==0?2:-1)+m|0;do if((d|0)>=0){d=k[n+(d<<2)>>2]|0;if((d|0)>=0)if(!((d|0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);m=(d|0)==(o|0)?-1073741824:d}while((m|0)>-1);d=ha(p,e)|0;if(!a)z=28;else{if(r){f=0;do{o=w+(f<<2)|0;k[o>>2]=(k[o>>2]|0)/(a|0)|0;f=f+1|0}while((f|0)!=(e|0))}yj(v,w,b,c+(d<<2)|0,d)}}else{d=ha(p,e)|0;z=28}if((z|0)==28){z=0;yj(v,c+((ha(p+-1|0,e)|0)<<2)|0,b,c+(d<<2)|0,d)}d=p+1|0;if((d|0)>=(u|0)){z=3;break}a=k[y>>2]|0;h=k[a>>2]|0;f=k[a+4>>2]|0;p=d}if((z|0)==3){dq(w);return 1}else if((z|0)==6)Ap(a);return 0}function ak(a){a=a|0;var b=0;k[a>>2]=4112;b=k[a+52>>2]|0;if(b|0)Jp(b);a=a+44|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;dq(b);return}function bk(a){a=a|0;var b=0,c=0;k[a>>2]=4112;b=k[a+52>>2]|0;if(b|0)Jp(b);c=a+44|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){Jp(a);return}dq(b);Jp(a);return}function ck(a){a=a|0;return 3}function dk(a){a=a|0;if(!(k[a+36>>2]|0))return 0;if(!(k[a+20>>2]|0))return 0;if(!(k[a+24>>2]|0))return 0;if(!(k[a+28>>2]|0))return 0;else return (k[a+32>>2]|0)!=0|0;return 0}function ek(a){a=a|0;return 1}function fk(a,b){a=a|0;b=b|0;if(!b)return 0;else Aa(8689,8700,75,8780);return 0}function gk(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){a=0;return a|0}if((i[b+24>>0]|0)!=3){a=0;return a|0}k[a+36>>2]=b;a=1;return a|0}function hk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n+40|0;l=n+36|0;c=n+32|0;m=n;d=a+56|0;k[c>>2]=k[d>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0)){k[l>>2]=k[b+4>>2];k[j>>2]=k[l>>2];fd(b,j,c,c+4|0)|0}kd(m);od(m);c=k[a+52>>2]|0;g=k[d>>2]|0;f=g>>>5;h=c+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){f=c;c=1;while(1){if(d){e=0;d=c;while(1){c=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){ld(m);r=n;return 1}d=b+4|0;k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];fd(b,j,c,c+4|0)|0;h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){ld(m);r=n;return 1}k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];fd(b,j,c,c+4|0)|0;ld(m);r=n;return 1}function ik(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;o=p;j=b+8|0;g=j;h=k[g>>2]|0;g=k[g+4>>2]|0;n=b+16|0;d=n;c=k[d>>2]|0;d=kq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){o=0;r=p;return o|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=n;k[g>>2]=d;k[g+4>>2]=e;d=a+52|0;ii(d,h,0);rd(o);if(td(o,b)|0){if((h|0)>0){f=0;g=1;do{g=g^((ud(o)|0)^1);e=(k[d>>2]|0)+(f>>>5<<2)|0;c=1<<(f&31);if(g)c=k[e>>2]|c;else c=k[e>>2]&~c;k[e>>2]=c;f=f+1|0}while((f|0)<(h|0))}e=j;g=k[e>>2]|0;e=k[e+4>>2]|0;h=n;c=k[h>>2]|0;h=kq(c|0,k[h+4>>2]|0,4,0)|0;f=L;if(!((e|0)<(f|0)|(e|0)==(f|0)&g>>>0>>0)?(g=a+12|0,e=(k[b>>2]|0)+c|0,e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24,i[g>>0]=e,i[g+1>>0]=e>>8,i[g+2>>0]=e>>16,i[g+3>>0]=e>>24,g=n,e=k[g>>2]|0,g=k[g+4>>2]|0,m=kq(e|0,g|0,4,0)|0,f=n,k[f>>2]=m,k[f+4>>2]=L,f=j,h=k[f>>2]|0,f=k[f+4>>2]|0,j=kq(e|0,g|0,8,0)|0,g=L,!((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0)):0){a=a+16|0;c=(k[b>>2]|0)+m|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[a>>0]=c;i[a+1>>0]=c>>8;i[a+2>>0]=c>>16;i[a+3>>0]=c>>24;a=n;a=kq(k[a>>2]|0,k[a+4>>2]|0,4,0)|0;c=n;k[c>>2]=a;k[c+4>>2]=L;c=1}else c=0}else c=0;sd(o);o=c;r=p;return o|0}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,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;n=p+4|0;o=p;k[a+48>>2]=e;k[a+40>>2]=f;m=a+44|0;l=cq(e>>>0>1073741823?-1:e<<2)|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)dq(d);l=a+8|0;k[l>>2]=e;j=a+32|0;g=k[j>>2]|0;f=k[g+4>>2]|0;d=k[g>>2]|0;h=f-d|0;if((h|0)<=0){r=p;return 1}i=f;f=(h>>2)+-1|0;while(1){if(i-d>>2>>>0<=f>>>0){d=8;break}k[o>>2]=k[d+(f<<2)>>2];k[n>>2]=k[o>>2];kk(a,n,b,f);i=ha(f,e)|0;uj(l,b+(i<<2)|0,k[m>>2]|0,c,i);f=f+-1|0;if((f|0)<=-1){d=5;break}g=k[j>>2]|0;d=k[g>>2]|0;i=k[g+4>>2]|0}if((d|0)==5){r=p;return 1}else if((d|0)==8)Ap(g);return 0}function kk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;i=a+24|0;b=k[b>>2]|0;if((b|0)>=0){e=b+1|0;e=((e|0)%3|0|0)==0?b+-2|0:e;g=b+(((b|0)%3|0|0)==0?2:-1)|0;if((e|0)<0)b=-1073741824;else b=k[(k[k[i>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((g|0)<0)e=-1073741824;else e=k[(k[k[i>>2]>>2]|0)+(((g|0)/3|0)*12|0)+(((g|0)%3|0)<<2)>>2]|0}else{b=-1073741824;e=-1073741824}g=k[a+28>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)Ap(g);n=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=e>>>0)Ap(g);e=k[j+(e<<2)>>2]|0;b=(n|0)<(d|0);if(!(b&(e|0)<(d|0))){do if(b){i=a+48|0;g=k[i>>2]|0;b=g;g=ha(g,n)|0}else{if((d|0)>0){i=a+48|0;g=k[i>>2]|0;b=g;g=ha(g,d+-1|0)|0;break}g=a+48|0;if((k[g>>2]|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+g<<2)>>2];e=e+1|0}while((e|0)<(k[i>>2]|0));r=t;return}b=a+48|0;j=k[b>>2]|0;i=ha(j,n)|0;f=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);j=ha(j,e)|0;l=+(k[c+(j<<2)>>2]|0);m=+(k[c+(j+1<<2)>>2]|0);if(!(l!=f|m!=h)){a=k[a+44>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~m;r=t;return}lk(s,a,d);lk(p,a,n);lk(q,a,e);B=+o[p>>2];x=+o[q>>2]-B;A=+o[p+4>>2];w=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=x*x+0.0+w*w+y*y;u=(x*B+0.0+w*A+y*z)/v;x=B-x*u;w=A-w*u;y=z-y*u;v=+X(+((y*y+(w*w+(x*x+0.0)))/v));x=l-f;w=m-h;l=f+x*u;m=x*v;u=h+w*u;v=w*v;h=l-v;f=m+u;l=v+l;m=u-m;i=ha(k[b>>2]|0,d)|0;u=+(k[c+(i<<2)>>2]|0);v=+(k[c+(i+1<<2)>>2]|0);w=u-h;x=v-f;u=u-l;v=v-m;i=a+52|0;j=a+56|0;b=k[j>>2]|0;e=k[a+60>>2]|0;g=(b|0)==(e<<5|0);if(x*x+(w*w+0.0)>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Dd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31)}else{if(g){if((b+1|0)<0)zp(i);if(e<<5>>>0>1073741822)b=2147483647;else{c=e<<6;b=b+32&-32;b=c>>>0>>0?b:c}Dd(i,b);b=k[j>>2]|0}k[j>>2]=b+1;c=(k[i>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(b&31));h=l;f=m}c=~~+V(+(h+.5));a=k[a+44>>2]|0;k[a>>2]=c;c=~~+V(+(f+.5));k[a+4>>2]=c;r=t;return}function lk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+40>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+36>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];Cc(b,d,a)|0;r=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];Jc(b,d,a)|0;r=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];Qc(b,d,a)|0;r=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];Xc(b,d,a)|0;r=j;return}default:{r=j;return}}}function mk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;n=p+4|0;o=p;k[a+48>>2]=e;k[a+40>>2]=f;m=a+44|0;l=cq(e>>>0>1073741823?-1:e<<2)|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)dq(d);i=a+8|0;k[i>>2]=e;j=a+32|0;g=k[j>>2]|0;f=k[g+4>>2]|0;d=k[g>>2]|0;h=f-d|0;l=h>>2;if((h|0)<=0){r=p;return 1}h=g;g=0;while(1){if(f-d>>2>>>0<=g>>>0){d=8;break}k[o>>2]=k[d+(g<<2)>>2];k[n>>2]=k[o>>2];nk(a,n,c,g);h=ha(g,e)|0;yj(i,k[m>>2]|0,b,c+(h<<2)|0,h);g=g+1|0;if((g|0)>=(l|0)){d=5;break}h=k[j>>2]|0;d=k[h>>2]|0;f=k[h+4>>2]|0}if((d|0)==5){r=p;return 1}else if((d|0)==8)Ap(h);return 0}function nk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0.0,i=0.0,j=0.0,l=0.0,m=0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;s=t+24|0;p=t+12|0;q=t;f=a+24|0;b=k[b>>2]|0;if((b|0)>=0){e=b+1|0;e=((e|0)%3|0|0)==0?b+-2|0:e;b=b+(((b|0)%3|0|0)==0?2:-1)|0;if((e|0)<0)e=-1073741824;else e=k[(k[k[f>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;if((b|0)<0)m=-1073741824;else m=k[(k[k[f>>2]>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0}else{m=-1073741824;e=-1073741824}b=k[a+28>>2]|0;f=k[b+4>>2]|0;g=k[b>>2]|0;if(f-g>>2>>>0<=e>>>0)Ap(b);n=k[g+(e<<2)>>2]|0;if(f-g>>2>>>0<=m>>>0)Ap(b);e=k[g+(m<<2)>>2]|0;b=(n|0)<(d|0);if(b&(e|0)<(d|0)){m=k[a+48>>2]|0;g=ha(m,n)|0;i=+(k[c+(g<<2)>>2]|0);j=+(k[c+(g+1<<2)>>2]|0);m=ha(m,e)|0;l=+(k[c+(m<<2)>>2]|0);h=+(k[c+(m+1<<2)>>2]|0);if(l!=i|h!=j){lk(s,a,d);lk(p,a,n);lk(q,a,e);B=+o[p>>2];w=+o[q>>2]-B;A=+o[p+4>>2];x=+o[q+4>>2]-A;z=+o[p+8>>2];y=+o[q+8>>2]-z;B=+o[s>>2]-B;A=+o[s+4>>2]-A;z=+o[s+8>>2]-z;v=w*w+0.0+x*x+y*y;u=(w*B+0.0+x*A+y*z)/v;w=B-w*u;x=A-x*u;y=z-y*u;v=+X(+((y*y+(x*x+(w*w+0.0)))/v));w=l-i;h=h-j;l=w*v;v=h*v;d=a+56|0;s=(k[d>>2]|0)+-1|0;c=(1<<(s&31)&k[(k[a+52>>2]|0)+(s>>>5<<2)>>2]|0)==0;k[d>>2]=s;d=~~+V(+(i+w*u+(c?v:-v)+.5));a=k[a+44>>2]|0;k[a>>2]=d;c=~~+V(+(j+h*u+(c?-l:l)+.5));k[a+4>>2]=c;r=t;return}else{a=k[a+44>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~h;r=t;return}}do if(b){g=a+48|0;f=k[g>>2]|0;b=f;f=ha(f,n)|0}else{if((d|0)>0){g=a+48|0;f=k[g>>2]|0;b=f;f=ha(f,d+-1|0)|0;break}f=a+48|0;if((k[f>>2]|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=0;e=e+1|0}while((e|0)<(k[f>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}b=k[a+44>>2]|0;e=0;do{k[b+(e<<2)>>2]=k[c+(e+f<<2)>>2];e=e+1|0}while((e|0)<(k[g>>2]|0));r=t;return}function ok(a){a=a|0;Jp(a);return}function pk(a){a=a|0;return 0}function qk(a){a=a|0;return 1}function rk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=a+8|0;k[g>>2]=e;f=d-e|0;if((f|0)>0){a=0-e|0;do{d=b+(f<<2)|0;uj(g,d,d+(a<<2)|0,c,f);f=f-e|0}while((f|0)>0)}d=e>>>0>1073741823?-1:e<<2;e=cq(d)|0;iq(e|0,0,d|0)|0;uj(g,b,e,c,0);dq(e);return 1}function sk(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;f=a+8|0;k[f>>2]=e;h=e>>>0>1073741823?-1:e<<2;a=cq(h)|0;iq(a|0,0,h|0)|0;yj(f,a,b,c,0);if((e|0)>=(d|0)){dq(a);return 1}g=0-e|0;h=e;do{i=c+(h<<2)|0;yj(f,i+(g<<2)|0,b,i,h);h=h+e|0}while((h|0)<(d|0));dq(a);return 1}function tk(a){a=a|0;return 2}function uk(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;n=p;l=a+8|0;m=i[(k[l>>2]|0)+24>>0]<<2;if(!b){r=p;return 1}o=a+16|0;j=a+20|0;c=+((1<>2])+-1|0)+-1.0;f=0;g=0;h=0;while(1){a=h|1;d=k[j>>2]|0;e=k[o>>2]|0;if(d-e>>2>>>0<=h>>>0){a=6;break}if(d-e>>2>>>0<=a>>>0){a=8;break}vk(+(k[e+(h<<2)>>2]|0)/c,+(k[e+(a<<2)>>2]|0)/c,n);mq((k[k[(k[l>>2]|0)+64>>2]>>2]|0)+g|0,n|0,m|0)|0;f=f+1|0;if((f|0)==(b|0)){a=3;break}else{g=g+m|0;h=h+2|0}}if((a|0)==3){r=p;return 1}else if((a|0)==6)Ap(o);else if((a|0)==8)Ap(o);return 0}function vk(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,h=0.0,i=0;e=a+b;d=a-b;if(!(d<=.5)|(!(d>=-.5)|(!(e>=.5)|!(e<=1.5)))){do if(!(e<=.5)){if(e>=1.5){e=1.5-b;b=1.5-a;break}if(!(d<=-.5)){e=b+.5;b=a+-.5;break}else{e=b+-.5;b=a+.5;break}}else{e=.5-b;b=.5-a}while(0);a=e;d=e-b;e=b+e;f=-1.0}else f=1.0;g=a*2.0+-1.0;b=b*2.0+-1.0;h=e*2.0;e=h+-1.0;h=3.0-h;d=d*2.0;a=d+1.0;d=1.0-d;a=d>2]=0.0;h=0.0;g=0.0;i=c+4|0;o[i>>2]=g;c=c+8|0;o[c>>2]=h;return}else{f=1.0/+X(+a);o[c>>2]=d*f;h=b*f;g=g*f;i=c+4|0;o[i>>2]=g;i=c+8|0;o[i>>2]=h;return}}function wk(a){a=a|0;Ui(a);k[a>>2]=3740;k[a+32>>2]=-1;return}function xk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=4240;e=a+48|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);d=k[a+36>>2]|0;e=d;if(d|0){b=a+40|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-e|0)>>>2)<<2);Jp(d)}d=a+24|0;b=k[d>>2]|0;if(b|0){e=a+28|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[e>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Jp(b)}k[a>>2]=2948;d=k[a+4>>2]|0;if(!d)return;b=a+8|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);Jp(d);return}function yk(a){a=a|0;xk(a);Jp(a);return}function zk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;if(!(Wg(a,b)|0)){a=0;return a|0}l=a+24|0;m=a+4|0;n=a+8|0;f=(k[n>>2]|0)-(k[m>>2]|0)>>2;h=a+28|0;c=k[h>>2]|0;e=k[l>>2]|0;d=c-e>>2;if(f>>>0<=d>>>0){if(f>>>0>>0?(g=e+(f<<2)|0,(c|0)!=(g|0)):0)do{j=c+-4|0;k[h>>2]=j;c=k[j>>2]|0;k[j>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[h>>2]|0}while((c|0)!=(g|0))}else Ak(l,f-d|0);e=b+8|0;if(((k[n>>2]|0)-(k[m>>2]|0)|0)<=0){a=1;return a|0}f=b+16|0;g=a+16|0;h=a+4|0;j=0;while(1){o=e;p=k[o+4>>2]|0;d=f;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((p|0)>(d|0)|((p|0)==(d|0)?(k[o>>2]|0)>>>0>c>>>0:0))){c=0;d=17;break}o=i[(k[b>>2]|0)+c>>0]|0;c=kq(c|0,d|0,1,0)|0;p=f;k[p>>2]=c;k[p+4>>2]=L;p=(k[l>>2]|0)+(j<<2)|0;o=gb[k[(k[a>>2]|0)+20>>2]&63](a,o)|0;c=k[p>>2]|0;k[p>>2]=o;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[(k[l>>2]|0)+(j<<2)>>2]|0;if(!c){c=0;d=17;break}if(!(_a[k[(k[c>>2]|0)+8>>2]&31](c,k[g>>2]|0,k[(k[h>>2]|0)+(j<<2)>>2]|0)|0)){c=0;d=17;break}j=j+1|0;if((j|0)>=((k[n>>2]|0)-(k[m>>2]|0)>>2|0)){c=1;d=17;break}}if((d|0)==17)return c|0;return 0}function Ak(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;d=k[m>>2]|0;n=a+4|0;c=k[n>>2]|0;if(d-c>>2>>>0>=b>>>0){iq(c|0,0,b<<2|0)|0;k[n>>2]=c+(b<<2);return}f=k[a>>2]|0;e=(c-f>>2)+b|0;if(e>>>0>1073741823)zp(a);l=f;c=d-f|0;if(c>>2>>>0<536870911){d=c>>1;d=d>>>0>>0?e:d;c=k[n>>2]|0;e=c-f>>2;if(!d){h=0;i=0;g=e}else j=8}else{e=k[n>>2]|0;d=1073741823;c=e;e=e-f>>2;j=8}if((j|0)==8){h=d;i=aq(d<<2)|0;g=e}e=i+(g<<2)|0;iq(e|0,0,b<<2|0)|0;d=e;h=i+(h<<2)|0;g=i+(g+b<<2)|0;if((c|0)!=(l|0)){do{c=c+-4|0;b=k[c>>2]|0;k[c>>2]=0;k[e+-4>>2]=b;e=d+-4|0;d=e}while((c|0)!=(l|0));c=d;d=c;f=k[a>>2]|0;c=k[n>>2]|0}k[a>>2]=d;k[n>>2]=g;k[m>>2]=h;e=f;if((c|0)!=(e|0))do{c=c+-4|0;d=k[c>>2]|0;k[c>>2]=0;if(d|0)ab[k[(k[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!f)return;Jp(f);return}function Bk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;h=a+48|0;c=k[h>>2]|0;if(!c){b=0;return b|0}o=a+36|0;k[c+4>>2]=o;if(!(cb[k[(k[c>>2]|0)+12>>2]&127](c)|0)){b=0;return b|0}n=a+4|0;m=a+8|0;c=k[m>>2]|0;d=k[n>>2]|0;a:do if((c-d|0)>0){g=a+16|0;f=0;while(1){e=k[(k[g>>2]|0)+4>>2]|0;c=k[d+(f<<2)>>2]|0;if((c|0)<=-1){c=9;break}d=k[e+4>>2]|0;if(((k[e+8>>2]|0)-d>>2|0)<=(c|0)){c=11;break}e=k[h>>2]|0;f=f+1|0;if(!(gb[k[(k[e>>2]|0)+8>>2]&63](e,k[d+(c<<2)>>2]|0)|0)){l=0;c=15;break}c=k[m>>2]|0;d=k[n>>2]|0;if((f|0)>=(c-d>>2|0)){i=d;j=c;break a}}if((c|0)==9)Aa(9671,9687,62,9715);else if((c|0)==11)Aa(9725,9687,63,9715);else if((c|0)==15)return l|0}else{i=d;j=c}while(0);if((j-i|0)<=0){b=1;return b|0}c=a+24|0;d=0;while(1){a=k[(k[c>>2]|0)+(d<<2)>>2]|0;d=d+1|0;if(!(_a[k[(k[a>>2]|0)+16>>2]&31](a,o,b)|0)){l=0;c=15;break}if((d|0)>=((k[m>>2]|0)-(k[n>>2]|0)>>2|0)){l=1;c=15;break}}if((c|0)==15)return l|0;return 0}function Ck(a,b){a=a|0;b=b|0;switch(b&255|0){case 0:{b=aq(16)|0;wh(b);break}case 1:{b=aq(32)|0;Ui(b);break}case 2:{b=aq(44)|0;aj(b);break}case 3:{b=aq(36)|0;wk(b);break}default:b=0}return b|0}function Dk(a,b){a=a|0;b=b|0;var c=0;Yg(a);k[a>>2]=4240;c=a+24|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;c=k[b>>2]|0;k[b>>2]=0;k[a+48>>2]=c;return}function Ek(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Jp(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)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Jp(b);Jp(a);return}function Fk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+16|0;j=l;i=aq(52)|0;g=aq(12)|0;f=k[(k[a+4>>2]|0)+64>>2]|0;k[g+4>>2]=0;k[g>>2]=4316;k[g+8>>2]=f;k[j>>2]=g;Dk(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){Lk(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)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[f>>2]|0}while((a|0)!=(h|0))}while(0);b=(k[g>>2]|0)+(b<<2)|0;a=k[b>>2]|0;k[b>>2]=i;if(a|0)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[j>>2]|0;k[j>>2]=0;if(!a){r=l;return 1}ab[k[(k[a>>2]|0)+4>>2]&127](a);r=l;return 1}function Gk(a){a=a|0;return}function Hk(a){a=a|0;Jp(a);return}function Ik(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 Jk(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;d=a+8|0;a=k[d>>2]|0;e=g+4|0;c=k[e>>2]|0;b=k[g>>2]|0;f=c-b>>2;if(a>>>0<=f>>>0){if(a>>>0>>0?(h=b+(a<<2)|0,(c|0)!=(h|0)):0)k[e>>2]=c+(~((c+-4-h|0)>>>2)<<2)}else{Kk(g,a-f|0);a=k[d>>2]|0}if((a|0)>0)c=0;else return 1;while(1){d=k[i>>2]|0;b=k[d>>2]|0;if((k[d+4>>2]|0)-b>>2>>>0<=c>>>0){a=10;break}k[b+(c<<2)>>2]=c;c=c+1|0;if((c|0)>=(a|0)){a=7;break}}if((a|0)==7)return 1;else if((a|0)==10)Ap(d);return 0}function Kk(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;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){iq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)zp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;iq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;mq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Jp(j);return}function Lk(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;d=k[m>>2]|0;n=a+4|0;c=k[n>>2]|0;if(d-c>>2>>>0>=b>>>0){iq(c|0,0,b<<2|0)|0;k[n>>2]=c+(b<<2);return}f=k[a>>2]|0;e=(c-f>>2)+b|0;if(e>>>0>1073741823)zp(a);l=f;c=d-f|0;if(c>>2>>>0<536870911){d=c>>1;d=d>>>0>>0?e:d;c=k[n>>2]|0;e=c-f>>2;if(!d){h=0;i=0;g=e}else j=8}else{e=k[n>>2]|0;d=1073741823;c=e;e=e-f>>2;j=8}if((j|0)==8){h=d;i=aq(d<<2)|0;g=e}e=i+(g<<2)|0;iq(e|0,0,b<<2|0)|0;d=e;h=i+(h<<2)|0;g=i+(g+b<<2)|0;if((c|0)!=(l|0)){do{c=c+-4|0;b=k[c>>2]|0;k[c>>2]=0;k[e+-4>>2]=b;e=d+-4|0;d=e}while((c|0)!=(l|0));c=d;d=c;f=k[a>>2]|0;c=k[n>>2]|0}k[a>>2]=d;k[n>>2]=g;k[m>>2]=h;e=f;if((c|0)!=(e|0))do{c=c+-4|0;d=k[c>>2]|0;k[c>>2]=0;if(d|0)ab[k[(k[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!f)return;Jp(f);return}function Mk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=b+16|0;d=f;c=k[d>>2]|0;d=kq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){h=0;return h|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=f;k[g>>2]=d;k[g+4>>2]=e;k[(k[a+4>>2]|0)+64>>2]=h;h=1;return h|0}function Nk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Jp(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)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Jp(b);Jp(a);return}function Ok(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=aq(24)|0;fm(i);h=a+8|0;f=a+12|0;a=k[f>>2]|0;c=k[h>>2]|0;d=a-c>>2;do if((d|0)<=(b|0)){e=b+1|0;if(e>>>0>d>>>0){Lk(h,e-d|0);break}if(e>>>0>>0?(g=c+(e<<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)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[f>>2]|0}while((a|0)!=(g|0))}while(0);b=(k[h>>2]|0)+(b<<2)|0;a=k[b>>2]|0;k[b>>2]=i;if(!a)return 1;ab[k[(k[a>>2]|0)+4>>2]&127](a);return 1}function Pk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=b+16|0;d=f;c=k[d>>2]|0;d=kq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){h=0;return h|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=f;k[g>>2]=d;k[g+4>>2]=e;k[(k[a+4>>2]|0)+64>>2]=h;h=1;return h|0}function Qk(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2948;b=k[a+4>>2]|0;if(!b){Jp(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);Jp(b);Jp(a);return}function Rk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0;J=r;r=r+976|0;I=J+960|0;H=J+8|0;n=J+952|0;v=J+944|0;z=J+936|0;A=J+928|0;B=J+920|0;C=J+912|0;D=J+904|0;E=J+896|0;F=J+888|0;G=J+880|0;w=J+872|0;y=J;d=k[k[a+4>>2]>>2]|0;a=k[(k[a+16>>2]|0)+4>>2]|0;if((d|0)<=-1)Aa(9671,9687,62,9715);c=k[a+4>>2]|0;if(((k[a+8>>2]|0)-c>>2|0)<=(d|0))Aa(9725,9687,63,9715);a=k[c+(d<<2)>>2]|0;i[a+84>>0]=1;c=k[a+68>>2]|0;d=a+72|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);d=b+8|0;c=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=k[g+4>>2]|0;if(!((d|0)>(g|0)|(d|0)==(g|0)&c>>>0>f>>>0)){I=0;r=J;return I|0}h=k[b>>2]|0;K=i[h+f>>0]|0;j=kq(f|0,g|0,1,0)|0;m=L;M=e;k[M>>2]=j;k[M+4>>2]=m;switch(K<<24>>24){case 0:{if(((d|0)>(m|0)|(d|0)==(m|0)&c>>>0>j>>>0?(s=kq(f|0,g|0,2,0)|0,t=e,k[t>>2]=s,k[t+4>>2]=L,t=kq(f|0,g|0,6,0)|0,u=L,!((d|0)<(u|0)|(d|0)==(u|0)&c>>>0>>0)):0)?(M=h+s|0,M=l[M>>0]|l[M+1>>0]<<8|l[M+2>>0]<<16|l[M+3>>0]<<24,K=e,k[K>>2]=t,k[K+4>>2]=u,Oe(a,M)|0,gm(H),k[n>>2]=a,k[n+4>>2]=0,k[I>>2]=k[n>>2],k[I+4>>2]=k[n+4>>2],Sk(H,b,I)|0):0){M=1;r=J;return M|0}M=0;r=J;return M|0}case 1:{a:do if((d|0)>(m|0)|(d|0)==(m|0)&c>>>0>j>>>0?(x=i[h+j>>0]|0,o=kq(f|0,g|0,2,0)|0,p=e,k[p>>2]=o,k[p+4>>2]=L,p=kq(f|0,g|0,6,0)|0,q=L,!((d|0)<(q|0)|(d|0)==(q|0)&c>>>0

>>0)):0){M=h+o|0;M=l[M>>0]|l[M+1>>0]<<8|l[M+2>>0]<<16|l[M+3>>0]<<24;K=e;k[K>>2]=p;k[K+4>>2]=q;Oe(a,M)|0;do switch(x&255|0){case 0:{Fm(H);k[v>>2]=a;k[v+4>>2]=0;k[I>>2]=k[v>>2];k[I+4>>2]=k[v+4>>2];M=Uk(H,b,I)|0;hd(H+68|0);hd(H+48|0);hd(H+28|0);hd(H+8|0);if(M)a=1;else break a;r=J;return a|0}case 1:{Hm(H);k[z>>2]=a;k[z+4>>2]=0;k[I>>2]=k[z>>2];k[I+4>>2]=k[z+4>>2];M=_k(H,b,I)|0;hd(H+68|0);hd(H+48|0);hd(H+28|0);hd(H+8|0);if(M)a=1;else break a;r=J;return a|0}case 2:{Jm(H);k[A>>2]=a;k[A+4>>2]=0;k[I>>2]=k[A>>2];k[I+4>>2]=k[A+4>>2];M=el(H,b,I)|0;hd(H+64|0);hd(H+44|0);hd(H+24|0);sd(H+8|0);if(M)a=1;else break a;r=J;return a|0}case 3:{Lm(H);k[B>>2]=a;k[B+4>>2]=0;k[I>>2]=k[B>>2];k[I+4>>2]=k[B+4>>2];M=kl(H,b,I)|0;hd(H+64|0);hd(H+44|0);hd(H+24|0);sd(H+8|0);if(M)a=1;else break a;r=J;return a|0}case 4:{Nm(H);k[C>>2]=a;k[C+4>>2]=0;k[I>>2]=k[C>>2];k[I+4>>2]=k[C+4>>2];M=ql(H,b,I)|0;hd(H+576|0);hd(H+556|0);hd(H+536|0);sd(H+520|0);wl(H+8|0);if(M)a=1;else break a;r=J;return a|0}case 5:{Qm(H);k[D>>2]=a;k[D+4>>2]=0;k[I>>2]=k[D>>2];k[I+4>>2]=k[D+4>>2];M=xl(H,b,I)|0;hd(H+576|0);hd(H+556|0);hd(H+536|0);sd(H+520|0);wl(H+8|0);if(M)a=1;else break a;r=J;return a|0}case 6:{Sm(H);k[E>>2]=a;k[E+4>>2]=0;k[I>>2]=k[E>>2];k[I+4>>2]=k[E+4>>2];M=Dl(H,b,I)|0;hd(H+576|0);hd(H+556|0);hd(H+536|0);sd(H+520|0);wl(H+8|0);if(M)a=1;else break a;r=J;return a|0}case 7:{Um(H);k[F>>2]=a;k[F+4>>2]=0;k[I>>2]=k[F>>2];k[I+4>>2]=k[F+4>>2];M=Jl(H,b,I)|0;hd(H+576|0);hd(H+556|0);hd(H+536|0);sd(H+520|0);wl(H+8|0);if(M)a=1;else break a;r=J;return a|0}case 8:{Wm(H);k[G>>2]=a;k[G+4>>2]=0;k[I>>2]=k[G>>2];k[I+4>>2]=k[G+4>>2];M=Pl(H,b,I)|0;hd(H+840|0);hd(H+820|0);hd(H+800|0);xd(H+776|0);Vl(H+8|0);if(M)a=1;else break a;r=J;return a|0}case 9:{Zm(H);k[w>>2]=a;k[w+4>>2]=0;k[I>>2]=k[w>>2];k[I+4>>2]=k[w+4>>2];M=Wl(H,b,I)|0;hd(H+840|0);hd(H+820|0);hd(H+800|0);xd(H+776|0);Vl(H+8|0);if(M)a=1;else break a;r=J;return a|0}case 10:{$m(H);k[y>>2]=a;k[y+4>>2]=0;k[I>>2]=k[y>>2];k[I+4>>2]=k[y+4>>2];M=am(H,b,I)|0;hd(H+840|0);hd(H+820|0);hd(H+800|0);xd(H+776|0);Vl(H+8|0);if(M)a=1;else break a;r=J;return a|0}default:break a}while(0)}while(0);M=0;r=J;return M|0}default:{M=0;r=J;return M|0}}return 0}function Sk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=r;r=r+48|0;t=w+40|0;u=w+24|0;d=w+12|0;e=w+8|0;m=w;q=w+16|0;k[u>>2]=0;v=u+4|0;k[v>>2]=0;k[u+8>>2]=0;f=b+8|0;s=k[f>>2]|0;f=k[f+4>>2]|0;g=b+16|0;j=g;h=k[j>>2]|0;j=k[j+4>>2]|0;n=kq(h|0,j|0,4,0)|0;o=L;a:do if((f|0)<(o|0)|(f|0)==(o|0)&s>>>0>>0)f=0;else{p=k[b>>2]|0;x=p+h|0;x=l[x>>0]|l[x+1>>0]<<8|l[x+2>>0]<<16|l[x+3>>0]<<24;y=g;k[y>>2]=n;k[y+4>>2]=o;b:do switch(x|0){case 3:{if(!((f|0)>(o|0)|(f|0)==(o|0)&s>>>0>n>>>0)){f=0;break a}y=i[p+n>>0]|0;s=kq(h|0,j|0,5,0)|0;x=g;k[x>>2]=s;k[x+4>>2]=L;if(y<<24>>24==1)if(hm(a,b,u)|0)break b;else{f=0;break a}else{up(9779,23,1,k[1178]|0)|0;f=0;break a}}case 2:{if(!(hm(a,b,u)|0)){f=0;break a}break}default:{up(9803,24,1,k[1178]|0)|0;f=0;break a}}while(0);k[d>>2]=k[u>>2];k[e>>2]=k[v>>2];x=c;y=k[x+4>>2]|0;f=m;k[f>>2]=k[x>>2];k[f+4>>2]=y;k[t>>2]=k[m>>2];k[t+4>>2]=k[m+4>>2];Tk(q,d,e,a,t);f=1}while(0);d=k[u>>2]|0;if(!d){r=w;return f|0}e=k[v>>2]|0;if((e|0)!=(d|0))k[v>>2]=e+(~(((e+-12-d|0)>>>0)/12|0)*12|0);Jp(d);r=w;return f|0}function Tk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0,B=0.0,C=0;w=r;r=r+32|0;v=w+16|0;u=w;f=+o[d+4>>2];if(!(f>=0.0))Aa(9828,9848,66,9905);t=(1<>2])+-1|0;Lg(v);Mg(v,f,t);d=k[b>>2]|0;if((d|0)==(k[c>>2]|0)){c=e;u=c;u=k[u>>2]|0;c=c+4|0;c=k[c>>2]|0;e=a;v=e;k[v>>2]=u;e=e+4|0;k[e>>2]=c;r=w;return}s=v+4|0;h=e+4|0;j=u+4|0;l=u+8|0;q=k[e>>2]|0;m=q+84|0;n=q+68|0;p=q+40|0;q=q+64|0;g=k[h>>2]|0;do{b=(k[d>>2]|0)-t|0;C=(b|0)<0;f=+o[s>>2];B=f*+((C?0-b|0:b)|0);y=+o[v>>2];b=(k[d+4>>2]|0)-t|0;A=(b|0)<0;z=f*+((A?0-b|0:b)|0);b=(k[d+8>>2]|0)-t|0;x=(b|0)<0;f=f*+((x?0-b|0:b)|0);b=g;g=g+1|0;k[h>>2]=g;o[u>>2]=y*(C?-B:B);o[j>>2]=y*(A?-z:z);o[l>>2]=y*(x?-f:f);if(!(i[m>>0]|0))b=k[(k[n>>2]|0)+(b<<2)>>2]|0;A=p;C=k[A>>2]|0;A=tq(b|0,((b|0)<0)<<31>>31|0,C|0,k[A+4>>2]|0)|0;mq((k[k[q>>2]>>2]|0)+A|0,u|0,C|0)|0;d=d+12|0}while((d|0)!=(k[c>>2]|0));A=e;e=A;e=k[e>>2]|0;A=A+4|0;A=k[A>>2]|0;C=a;x=C;k[x>>2]=e;C=C+4|0;k[C>>2]=A;r=w;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,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;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;t=kq(d|0,f|0,4,0)|0;u=L;if((h|0)<(u|0)|(h|0)==(u|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=kq(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;f=L;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;u=kq(d|0,f|0,4,0)|0;t=L;if((h|0)<(t|0)|(h|0)==(t|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;t=j;t=kq(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=L}if(!d){u=1;r=s;return u|0}if(!(id(a+8|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+28|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+48|0,b)|0)){u=0;r=s;return u|0}if(!(id(a+68|0,b)|0)){u=0;r=s;return u|0}u=k[g>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];Vk(a,u,n,m,0,q);u=1;r=s;return u|0} -function Jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Kf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Kf(a,b);return}function Kf(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)Jp(c);k[d>>2]=0;return}o=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)Jp(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)e=c&n;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(o){c=f;while(1){m=k[c+4>>2]&n;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}l=c+10|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=j[c+8>>1]|0;g=c;while(1){if(i<<16>>16!=(j[f+8>>1]|0)){f=g;break d}if((j[l>>1]|0)!=(j[f+10>>1]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}else{c=f;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}i=c+10|0;f=k[c>>2]|0;e:do if(!f)f=c;else{l=j[c+8>>1]|0;g=c;while(1){if(l<<16>>16!=(j[f+8>>1]|0)){f=g;break e}if((j[i>>1]|0)!=(j[f+10>>1]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}while(0);f=k[c>>2]|0;if(!f){c=34;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=34;break}else{h=c;d=c}}if((c|0)==34)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,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0;M=r;r=r+48|0;C=M+32|0;K=M+12|0;E=M+40|0;I=M;k[K>>2]=0;k[K+4>>2]=0;k[K+8>>2]=0;k[K+12>>2]=0;o[K+16>>2]=1.0;H=a+80|0;d=k[H>>2]|0;k[I>>2]=0;J=I+4|0;k[J>>2]=0;k[I+8>>2]=0;if(d){if(d>>>0>1073741823)zp(I);B=d<<2;f=aq(B)|0;k[I>>2]=f;e=f+(d<<2)|0;k[I+8>>2]=e;iq(f|0,0,B|0)|0;k[J>>2]=e;e=k[H>>2]|0;if((e|0)>0){z=b+48|0;A=b+40|0;B=E+2|0;u=E+4|0;v=K+4|0;w=C+4|0;x=a+40|0;y=a+64|0;t=k[c>>2]|0;s=0;m=0;do{q=t+s|0;l=z;n=k[l>>2]|0;l=k[l+4>>2]|0;p=A;p=tq(q|0,((q|0)<0)<<31>>31|0,k[p>>2]|0,k[p+4>>2]|0)|0;l=kq(p|0,L|0,n|0,l|0)|0;l=(k[k[b>>2]>>2]|0)+l|0;i[E>>0]=i[l>>0]|0;i[E+1>>0]=i[l+1>>0]|0;i[E+2>>0]=i[l+2>>0]|0;i[E+3>>0]=i[l+3>>0]|0;i[E+4>>0]=i[l+4>>0]|0;i[E+5>>0]=i[l+5>>0]|0;l=j[E>>1]|0;n=j[B>>1]|0;p=j[u>>1]|0;q=((l&65535^318)+239^n&65535)+239^p&65535;e=k[v>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=q&g;else h=(q>>>0)%(e>>>0)|0;c=k[(k[K>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(D=k[c>>2]|0,(D|0)!=0):0){b:do if(d){d=D;while(1){if((k[d+4>>2]&g|0)!=(h|0)){F=25;break a}if(((j[d+8>>1]|0)==l<<16>>16?(j[d+10>>1]|0)==n<<16>>16:0)?(j[d+12>>1]|0)==p<<16>>16:0)break b;d=k[d>>2]|0;if(!d){F=25;break a}}}else{d=D;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){F=25;break a}if(((j[d+8>>1]|0)==l<<16>>16?(j[d+10>>1]|0)==n<<16>>16:0)?(j[d+12>>1]|0)==p<<16>>16:0)break b;d=k[d>>2]|0;if(!d){F=25;break a}}}while(0);k[f+(s<<2)>>2]=k[d+16>>2]}else F=25}else F=25;while(0);if((F|0)==25){F=0;d=aq(20)|0;j[d+8>>1]=l;j[d+10>>1]=n;j[d+12>>1]=p;k[d+16>>2]=m;k[d+4>>2]=q;k[d>>2]=0;Mf(C,K,d);if(!(i[w>>0]|0))Jp(d);q=x;f=k[q>>2]|0;q=tq(f|0,k[q+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;mq((k[k[y>>2]>>2]|0)+q|0,E|0,f|0)|0;f=k[I>>2]|0;k[f+(s<<2)>>2]=m;m=m+1|0}s=s+1|0;e=k[H>>2]|0}while((s|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{l=a+84|0;if(!(i[l>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[I>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(G=g+(e<<2)|0,(h|0)!=(G|0)):0)k[c>>2]=h+(~((h+-4-G|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[H>>2]|0}if((e|0)>0){f=k[I>>2]|0;if(i[l>>0]|0)Aa(10792,10811,80,10843);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[H>>2]=m;f=m}}else f=0;d=k[I>>2]|0;c=d;if(d|0){e=k[J>>2]|0;if((e|0)!=(d|0))k[J>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[K+8>>2]|0;if(d|0)do{J=d;d=k[d>>2]|0;Jp(J)}while((d|0)!=0);d=k[K>>2]|0;k[K>>2]=0;if(!d){r=M;return f|0}Jp(d);r=M;return f|0}function Mf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;p=j[c+8>>1]|0;r=j[c+10>>1]|0;q=j[c+12>>1]|0;e=((p&65535^318)+239^r&65535)+239^q&65535;u=c+4|0;k[u>>2]=e;t=b+4|0;l=k[t>>2]|0;s=(l|0)==0;a:do if(!s){n=l+-1|0;m=(n&l|0)==0;if(m)e=e&n;else e=(e>>>0)%(l>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(m){while(1){if((k[d+4>>2]&n|0)!=(e|0))break a;if(((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==r<<16>>16:0)?(j[d+12>>1]|0)==q<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(e|0))break a;if(((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==r<<16>>16:0)?(j[d+12>>1]|0)==q<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);m=b+12|0;g=+(((k[m>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(s|g>+(l>>>0)*h){if(l>>>0>2)d=(l+-1&l|0)==0;else d=0;f=(d&1|l<<1)^1;d=~~+ga(+(g/h))>>>0;Nf(b,f>>>0>>0?d:f);f=k[t>>2]|0;d=k[u>>2]|0;e=f+-1|0;if(!(e&f)){l=f;e=e&d;break}else{l=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=l+-1|0;if(!(e&l))d=d&e;else d=(d>>>0)%(l>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[m>>2]=(k[m>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function Nf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Of(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Of(a,b);return}function Of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,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)Jp(c);k[d>>2]=0;return}p=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)Jp(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)e=c&o;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(p){c=f;while(1){n=k[c+4>>2]&o;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}l=c+10|0;m=c+12|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=j[c+8>>1]|0;g=c;while(1){if(i<<16>>16!=(j[f+8>>1]|0)){f=g;break d}if((j[l>>1]|0)!=(j[f+10>>1]|0)){f=g;break d}if((j[m>>1]|0)!=(j[f+12>>1]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}else{c=f;while(1){n=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}i=c+10|0;l=c+12|0;f=k[c>>2]|0;e:do if(!f)f=c;else{m=j[c+8>>1]|0;g=c;while(1){if(m<<16>>16!=(j[f+8>>1]|0)){f=g;break e}if((j[i>>1]|0)!=(j[f+10>>1]|0)){f=g;break e}if((j[l>>1]|0)!=(j[f+12>>1]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}while(0);f=k[c>>2]|0;if(!f){c=36;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=36;break}else{h=c;d=c}}if((c|0)==36)return}function Pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=r;r=r+64|0;u=C+48|0;B=C+28|0;v=C+8|0;w=C;z=C+16|0;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;o[B+16>>2]=1.0;y=a+80|0;d=k[y>>2]|0;k[z>>2]=0;A=z+4|0;k[A>>2]=0;k[z+8>>2]=0;if(d){if(d>>>0>1073741823)zp(z);t=d<<2;f=aq(t)|0;k[z>>2]=f;e=f+(d<<2)|0;k[z+8>>2]=e;iq(f|0,0,t|0)|0;k[A>>2]=e;e=k[y>>2]|0;if((e|0)>0){q=k[c>>2]|0;s=b+48|0;t=b+40|0;m=u+4|0;n=a+40|0;p=a+64|0;h=0;g=0;while(1){D=q+h|0;e=s;c=k[e>>2]|0;e=k[e+4>>2]|0;d=t;d=tq(D|0,((D|0)<0)<<31>>31|0,k[d>>2]|0,k[d+4>>2]|0)|0;e=kq(d|0,L|0,c|0,e|0)|0;e=(k[k[b>>2]>>2]|0)+e|0;c=e;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+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;d=v;k[d>>2]=c;k[d+4>>2]=e;d=w;k[d>>2]=c;k[d+4>>2]=e;d=Qf(B,w)|0;if(!d){d=aq(20)|0;f=d+8|0;D=f;j[D>>1]=c;j[D+2>>1]=c>>>16;f=f+4|0;j[f>>1]=e;j[f+2>>1]=e>>>16;k[d+16>>2]=g;f=lq(c|0,e|0,16)|0;D=lq(c|0,e|0,48)|0;k[d+4>>2]=(((c&65535^318)+239^f&65535)+239^e&65535)+239^D;k[d>>2]=0;Rf(u,B,d);if(!(i[m>>0]|0))Jp(d);d=n;f=k[d>>2]|0;d=tq(f|0,k[d+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;mq((k[k[p>>2]>>2]|0)+d|0,v|0,f|0)|0;f=k[z>>2]|0;k[f+(h<<2)>>2]=g;d=g+1|0}else{k[f+(h<<2)>>2]=k[d+16>>2];d=g}h=h+1|0;e=k[y>>2]|0;if((h|0)>=(e|0)){n=d;break}else g=d}}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[z>>2]|0;d=d>>2;c=0;do{D=e+(c<<2)|0;k[D>>2]=k[f+(k[D>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(x=g+(e<<2)|0,(h|0)!=(x|0)):0)k[c>>2]=h+(~((h+-4-x|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[y>>2]|0}if((e|0)>0){f=k[z>>2]|0;if(i[m>>0]|0)Aa(10792,10811,80,10843);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[y>>2]=n;f=n}}else f=0;d=k[z>>2]|0;c=d;if(d|0){e=k[A>>2]|0;if((e|0)!=(d|0))k[A>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[B+8>>2]|0;if(d|0)do{D=d;d=k[d>>2]|0;Jp(D)}while((d|0)!=0);d=k[B>>2]|0;k[B>>2]=0;if(!d){r=C;return f|0}Jp(d);r=C;return f|0}function Qf(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;h=j[b>>1]|0;i=j[b+2>>1]|0;l=j[b+4>>1]|0;g=j[b+6>>1]|0;b=(((h&65535^318)+239^i&65535)+239^l&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)==h<<16>>16?(j[b+10>>1]|0)==i<<16>>16:0)?(j[b+12>>1]|0)==l<<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)==h<<16>>16?(j[b+10>>1]|0)==i<<16>>16:0)?(j[b+12>>1]|0)==l<<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 Rf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;p=j[c+8>>1]|0;s=j[c+10>>1]|0;q=j[c+12>>1]|0;r=j[c+14>>1]|0;e=(((p&65535^318)+239^s&65535)+239^q&65535)+239^r&65535;v=c+4|0;k[v>>2]=e;u=b+4|0;l=k[u>>2]|0;t=(l|0)==0;a:do if(!t){n=l+-1|0;m=(n&l|0)==0;if(m)e=e&n;else e=(e>>>0)%(l>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(m){while(1){if((k[d+4>>2]&n|0)!=(e|0))break a;if((((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==s<<16>>16:0)?(j[d+12>>1]|0)==q<<16>>16:0)?(j[d+14>>1]|0)==r<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(e|0))break a;if((((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==s<<16>>16:0)?(j[d+12>>1]|0)==q<<16>>16:0)?(j[d+14>>1]|0)==r<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);m=b+12|0;g=+(((k[m>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(t|g>+(l>>>0)*h){if(l>>>0>2)d=(l+-1&l|0)==0;else d=0;f=(d&1|l<<1)^1;d=~~+ga(+(g/h))>>>0;Sf(b,f>>>0>>0?d:f);f=k[u>>2]|0;d=k[v>>2]|0;e=f+-1|0;if(!(e&f)){l=f;e=e&d;break}else{l=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=l+-1|0;if(!(e&l))d=d&e;else d=(d>>>0)%(l>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[m>>2]=(k[m>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function Sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Tf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Tf(a,b);return}function Tf(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)Jp(c);k[d>>2]=0;return}q=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=q;if(c|0)Jp(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)e=c&p;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(q){c=f;while(1){o=k[c+4>>2]&p;if((o|0)==(e|0))break c;f=(k[a>>2]|0)+(o<<2)|0;if(!(k[f>>2]|0)){e=o;break b}l=c+10|0;m=c+12|0;n=c+14|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=j[c+8>>1]|0;g=c;while(1){if(i<<16>>16!=(j[f+8>>1]|0)){f=g;break d}if((j[l>>1]|0)!=(j[f+10>>1]|0)){f=g;break d}if((j[m>>1]|0)!=(j[f+12>>1]|0)){f=g;break d}if((j[n>>1]|0)!=(j[f+14>>1]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{r=f;f=g;g=r}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(o<<2)>>2]>>2];k[k[(k[a>>2]|0)+(o<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}else{c=f;while(1){o=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((o|0)==(e|0))break c;f=(k[a>>2]|0)+(o<<2)|0;if(!(k[f>>2]|0)){e=o;break b}i=c+10|0;l=c+12|0;m=c+14|0;f=k[c>>2]|0;e:do if(!f)f=c;else{n=j[c+8>>1]|0;g=c;while(1){if(n<<16>>16!=(j[f+8>>1]|0)){f=g;break e}if((j[i>>1]|0)!=(j[f+10>>1]|0)){f=g;break e}if((j[l>>1]|0)!=(j[f+12>>1]|0)){f=g;break e}if((j[m>>1]|0)!=(j[f+14>>1]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{r=f;f=g;g=r}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(o<<2)>>2]>>2];k[k[(k[a>>2]|0)+(o<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}while(0);f=k[c>>2]|0;if(!f){c=38;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=38;break}else{h=c;d=c}}if((c|0)==38)return}function Uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=r;r=r+48|0;z=H+32|0;G=H+12|0;A=H+40|0;E=H;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;k[G+12>>2]=0;o[G+16>>2]=1.0;D=a+80|0;d=k[D>>2]|0;k[E>>2]=0;F=E+4|0;k[F>>2]=0;k[E+8>>2]=0;if(d){if(d>>>0>1073741823)zp(E);y=d<<2;f=aq(y)|0;k[E>>2]=f;e=f+(d<<2)|0;k[E+8>>2]=e;iq(f|0,0,y|0)|0;k[F>>2]=e;e=k[D>>2]|0;if((e|0)>0){w=b+48|0;x=b+40|0;y=G+4|0;t=z+4|0;u=a+40|0;v=a+64|0;s=k[c>>2]|0;q=0;n=0;do{h=s+q|0;m=w;p=k[m>>2]|0;m=k[m+4>>2]|0;e=x;e=tq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;m=kq(e|0,L|0,p|0,m|0)|0;m=(k[k[b>>2]>>2]|0)+m|0;m=l[m>>0]|l[m+1>>0]<<8;j[A>>1]=m;p=m&65535^318;e=k[y>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&p;else h=(p>>>0)%(e>>>0)|0;d=k[(k[G>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){B=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){B=20;break a}}while((j[d+8>>1]|0)!=m<<16>>16);else do{d=k[d>>2]|0;if(!d){B=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){B=20;break a}}while((j[d+8>>1]|0)!=m<<16>>16);k[f+(q<<2)>>2]=k[d+12>>2]}else B=20}else B=20;while(0);if((B|0)==20){B=0;d=aq(16)|0;j[d+8>>1]=m;k[d+12>>2]=n;k[d+4>>2]=p;k[d>>2]=0;Ef(z,G,d);if(!(i[t>>0]|0))Jp(d);p=u;f=k[p>>2]|0;p=tq(f|0,k[p+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;mq((k[k[v>>2]>>2]|0)+p|0,A|0,f|0)|0;f=k[E>>2]|0;k[f+(q<<2)>>2]=n;n=n+1|0}q=q+1|0;e=k[D>>2]|0}while((q|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[E>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(C=g+(e<<2)|0,(h|0)!=(C|0)):0)k[c>>2]=h+(~((h+-4-C|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[D>>2]|0}if((e|0)>0){f=k[E>>2]|0;if(i[m>>0]|0)Aa(10792,10811,80,10843);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[D>>2]=n;f=n}}else f=0;d=k[E>>2]|0;c=d;if(d|0){e=k[F>>2]|0;if((e|0)!=(d|0))k[F>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[G+8>>2]|0;if(d|0)do{F=d;d=k[d>>2]|0;Jp(F)}while((d|0)!=0);d=k[G>>2]|0;k[G>>2]=0;if(!d){r=H;return f|0}Jp(d);r=H;return f|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,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+40|0;J=K+16|0;D=K+12|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)zp(H);A=d<<2;f=aq(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;iq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;u=k[c>>2]|0;t=0;n=0;do{m=u+t|0;q=y;h=k[q>>2]|0;q=k[q+4>>2]|0;s=z;s=tq(m|0,((m|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;q=kq(s|0,L|0,h|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[D>>2]=q;h=q&65535;s=q>>>16;m=s&65535;s=(q&65535^318)+239^s;e=k[A>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)p=s&g;else p=(s>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(p<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(p|0)){E=23;break a}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(p|0)){E=23;break a}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}while(0);k[f+(t<<2)>>2]=k[d+12>>2]}else E=23}else E=23;while(0);if((E|0)==23){E=0;d=aq(16)|0;p=d+8|0;j[p>>1]=q;j[p+2>>1]=q>>>16;k[d+12>>2]=n;k[d+4>>2]=s;k[d>>2]=0;If(B,J,d);if(!(i[v>>0]|0))Jp(d);s=w;f=k[s>>2]|0;s=tq(f|0,k[s+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;mq((k[k[x>>2]>>2]|0)+s|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(t<<2)>>2]=n;n=n+1|0}t=t+1|0;e=k[G>>2]|0}while((t|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[m>>0]|0)Aa(10792,10811,80,10843);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]=n;f=n}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Jp(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Jp(d);r=K;return f|0}function Wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0;M=r;r=r+48|0;C=M+32|0;K=M+12|0;E=M+40|0;I=M;k[K>>2]=0;k[K+4>>2]=0;k[K+8>>2]=0;k[K+12>>2]=0;o[K+16>>2]=1.0;H=a+80|0;d=k[H>>2]|0;k[I>>2]=0;J=I+4|0;k[J>>2]=0;k[I+8>>2]=0;if(d){if(d>>>0>1073741823)zp(I);B=d<<2;f=aq(B)|0;k[I>>2]=f;e=f+(d<<2)|0;k[I+8>>2]=e;iq(f|0,0,B|0)|0;k[J>>2]=e;e=k[H>>2]|0;if((e|0)>0){z=b+48|0;A=b+40|0;B=E+2|0;u=E+4|0;v=K+4|0;w=C+4|0;x=a+40|0;y=a+64|0;t=k[c>>2]|0;s=0;m=0;do{q=t+s|0;l=z;n=k[l>>2]|0;l=k[l+4>>2]|0;p=A;p=tq(q|0,((q|0)<0)<<31>>31|0,k[p>>2]|0,k[p+4>>2]|0)|0;l=kq(p|0,L|0,n|0,l|0)|0;l=(k[k[b>>2]>>2]|0)+l|0;i[E>>0]=i[l>>0]|0;i[E+1>>0]=i[l+1>>0]|0;i[E+2>>0]=i[l+2>>0]|0;i[E+3>>0]=i[l+3>>0]|0;i[E+4>>0]=i[l+4>>0]|0;i[E+5>>0]=i[l+5>>0]|0;l=j[E>>1]|0;n=j[B>>1]|0;p=j[u>>1]|0;q=((l&65535^318)+239^n&65535)+239^p&65535;e=k[v>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=q&g;else h=(q>>>0)%(e>>>0)|0;c=k[(k[K>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(D=k[c>>2]|0,(D|0)!=0):0){b:do if(d){d=D;while(1){if((k[d+4>>2]&g|0)!=(h|0)){F=25;break a}if(((j[d+8>>1]|0)==l<<16>>16?(j[d+10>>1]|0)==n<<16>>16:0)?(j[d+12>>1]|0)==p<<16>>16:0)break b;d=k[d>>2]|0;if(!d){F=25;break a}}}else{d=D;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){F=25;break a}if(((j[d+8>>1]|0)==l<<16>>16?(j[d+10>>1]|0)==n<<16>>16:0)?(j[d+12>>1]|0)==p<<16>>16:0)break b;d=k[d>>2]|0;if(!d){F=25;break a}}}while(0);k[f+(s<<2)>>2]=k[d+16>>2]}else F=25}else F=25;while(0);if((F|0)==25){F=0;d=aq(20)|0;j[d+8>>1]=l;j[d+10>>1]=n;j[d+12>>1]=p;k[d+16>>2]=m;k[d+4>>2]=q;k[d>>2]=0;Mf(C,K,d);if(!(i[w>>0]|0))Jp(d);q=x;f=k[q>>2]|0;q=tq(f|0,k[q+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;mq((k[k[y>>2]>>2]|0)+q|0,E|0,f|0)|0;f=k[I>>2]|0;k[f+(s<<2)>>2]=m;m=m+1|0}s=s+1|0;e=k[H>>2]|0}while((s|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{l=a+84|0;if(!(i[l>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[I>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(G=g+(e<<2)|0,(h|0)!=(G|0)):0)k[c>>2]=h+(~((h+-4-G|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[H>>2]|0}if((e|0)>0){f=k[I>>2]|0;if(i[l>>0]|0)Aa(10792,10811,80,10843);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[H>>2]=m;f=m}}else f=0;d=k[I>>2]|0;c=d;if(d|0){e=k[J>>2]|0;if((e|0)!=(d|0))k[J>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[K+8>>2]|0;if(d|0)do{J=d;d=k[d>>2]|0;Jp(J)}while((d|0)!=0);d=k[K>>2]|0;k[K>>2]=0;if(!d){r=M;return f|0}Jp(d);r=M;return f|0}function Xf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=r;r=r+64|0;u=C+48|0;B=C+28|0;v=C+8|0;w=C;z=C+16|0;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;o[B+16>>2]=1.0;y=a+80|0;d=k[y>>2]|0;k[z>>2]=0;A=z+4|0;k[A>>2]=0;k[z+8>>2]=0;if(d){if(d>>>0>1073741823)zp(z);t=d<<2;f=aq(t)|0;k[z>>2]=f;e=f+(d<<2)|0;k[z+8>>2]=e;iq(f|0,0,t|0)|0;k[A>>2]=e;e=k[y>>2]|0;if((e|0)>0){q=k[c>>2]|0;s=b+48|0;t=b+40|0;m=u+4|0;n=a+40|0;p=a+64|0;h=0;g=0;while(1){D=q+h|0;e=s;c=k[e>>2]|0;e=k[e+4>>2]|0;d=t;d=tq(D|0,((D|0)<0)<<31>>31|0,k[d>>2]|0,k[d+4>>2]|0)|0;e=kq(d|0,L|0,c|0,e|0)|0;e=(k[k[b>>2]>>2]|0)+e|0;c=e;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+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;d=v;k[d>>2]=c;k[d+4>>2]=e;d=w;k[d>>2]=c;k[d+4>>2]=e;d=Qf(B,w)|0;if(!d){d=aq(20)|0;f=d+8|0;D=f;j[D>>1]=c;j[D+2>>1]=c>>>16;f=f+4|0;j[f>>1]=e;j[f+2>>1]=e>>>16;k[d+16>>2]=g;f=lq(c|0,e|0,16)|0;D=lq(c|0,e|0,48)|0;k[d+4>>2]=(((c&65535^318)+239^f&65535)+239^e&65535)+239^D;k[d>>2]=0;Rf(u,B,d);if(!(i[m>>0]|0))Jp(d);d=n;f=k[d>>2]|0;d=tq(f|0,k[d+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;mq((k[k[p>>2]>>2]|0)+d|0,v|0,f|0)|0;f=k[z>>2]|0;k[f+(h<<2)>>2]=g;d=g+1|0}else{k[f+(h<<2)>>2]=k[d+16>>2];d=g}h=h+1|0;e=k[y>>2]|0;if((h|0)>=(e|0)){n=d;break}else g=d}}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[z>>2]|0;d=d>>2;c=0;do{D=e+(c<<2)|0;k[D>>2]=k[f+(k[D>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(x=g+(e<<2)|0,(h|0)!=(x|0)):0)k[c>>2]=h+(~((h+-4-x|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[y>>2]|0}if((e|0)>0){f=k[z>>2]|0;if(i[m>>0]|0)Aa(10792,10811,80,10843);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[y>>2]=n;f=n}}else f=0;d=k[z>>2]|0;c=d;if(d|0){e=k[A>>2]|0;if((e|0)!=(d|0))k[A>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[B+8>>2]|0;if(d|0)do{D=d;d=k[d>>2]|0;Jp(D)}while((d|0)!=0);d=k[B>>2]|0;k[B>>2]=0;if(!d){r=C;return f|0}Jp(d);r=C;return f|0}function Yf(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,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+48|0;y=G+40|0;F=G+16|0;z=G+12|0;D=G;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;o[F+16>>2]=1.0;C=a+80|0;d=k[C>>2]|0;k[D>>2]=0;E=D+4|0;k[E>>2]=0;k[D+8>>2]=0;if(d){if(d>>>0>1073741823)zp(D);x=d<<2;f=aq(x)|0;k[D>>2]=f;e=f+(d<<2)|0;k[D+8>>2]=e;iq(f|0,0,x|0)|0;k[E>>2]=e;e=k[C>>2]|0;if((e|0)>0){v=b+48|0;w=b+40|0;x=F+4|0;s=y+4|0;t=a+40|0;u=a+64|0;q=k[c>>2]|0;p=0;m=0;do{h=q+p|0;j=v;n=k[j>>2]|0;j=k[j+4>>2]|0;e=w;e=tq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;j=kq(e|0,L|0,n|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[z>>2]=j;n=j^318;e=k[x>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&n;else h=(n>>>0)%(e>>>0)|0;d=k[(k[F>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){A=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));else do{d=k[d>>2]|0;if(!d){A=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));k[f+(p<<2)>>2]=k[d+12>>2]}else A=20}else A=20;while(0);if((A|0)==20){A=0;d=aq(16)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+4>>2]=n;k[d>>2]=0;Se(y,F,d);if(!(i[s>>0]|0))Jp(d);n=t;f=k[n>>2]|0;n=tq(f|0,k[n+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;mq((k[k[u>>2]>>2]|0)+n|0,z|0,f|0)|0;f=k[D>>2]|0;k[f+(p<<2)>>2]=m;m=m+1|0}p=p+1|0;e=k[C>>2]|0}while((p|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[D>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(B=g+(e<<2)|0,(h|0)!=(B|0)):0)k[c>>2]=h+(~((h+-4-B|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[C>>2]|0}if((e|0)>0){f=k[D>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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[C>>2]=m;f=m}}else f=0;d=k[D>>2]|0;c=d;if(d|0){e=k[E>>2]|0;if((e|0)!=(d|0))k[E>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[F+8>>2]|0;if(d|0)do{E=d;d=k[d>>2]|0;Jp(E)}while((d|0)!=0);d=k[F>>2]|0;k[F>>2]=0;if(!d){r=G;return f|0}Jp(d);r=G;return f|0}function Zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+48|0;z=I+40|0;H=I+20|0;B=I;F=I+8|0;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;k[H+12>>2]=0;o[H+16>>2]=1.0;E=a+80|0;d=k[E>>2]|0;k[F>>2]=0;G=F+4|0;k[G>>2]=0;k[F+8>>2]=0;if(d){if(d>>>0>1073741823)zp(F);y=d<<2;f=aq(y)|0;k[F>>2]=f;e=f+(d<<2)|0;k[F+8>>2]=e;iq(f|0,0,y|0)|0;k[G>>2]=e;e=k[E>>2]|0;if((e|0)>0){w=b+48|0;x=b+40|0;y=H+4|0;t=z+4|0;u=a+40|0;v=a+64|0;s=k[c>>2]|0;q=0;m=0;do{e=s+q|0;n=w;j=k[n>>2]|0;n=k[n+4>>2]|0;p=x;p=tq(e|0,((e|0)<0)<<31>>31|0,k[p>>2]|0,k[p+4>>2]|0)|0;n=kq(p|0,L|0,j|0,n|0)|0;n=(k[k[b>>2]>>2]|0)+n|0;j=n;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;n=n+4|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;p=B;k[p>>2]=j;k[p+4>>2]=n;p=(j^318)+239^n;e=k[y>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[H>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(A=k[c>>2]|0,(A|0)!=0):0){b:do if(d){d=A;while(1){if((k[d+4>>2]&g|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}else{d=A;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}while(0);k[f+(q<<2)>>2]=k[d+16>>2]}else C=23}else C=23;while(0);if((C|0)==23){C=0;d=aq(20)|0;h=d+8|0;k[h>>2]=j;k[h+4>>2]=n;k[d+16>>2]=m;k[d+4>>2]=p;k[d>>2]=0;Xe(z,H,d);if(!(i[t>>0]|0))Jp(d);p=u;f=k[p>>2]|0;p=tq(f|0,k[p+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;mq((k[k[v>>2]>>2]|0)+p|0,B|0,f|0)|0;f=k[F>>2]|0;k[f+(q<<2)>>2]=m;m=m+1|0}q=q+1|0;e=k[E>>2]|0}while((q|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[F>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-D|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[E>>2]|0}if((e|0)>0){f=k[F>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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]=m;f=m}}else f=0;d=k[F>>2]|0;c=d;if(d|0){e=k[G>>2]|0;if((e|0)!=(d|0))k[G>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[H+8>>2]|0;if(d|0)do{G=d;d=k[d>>2]|0;Jp(G)}while((d|0)!=0);d=k[H>>2]|0;k[H>>2]=0;if(!d){r=I;return f|0}Jp(d);r=I;return f|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,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+64|0;B=K+48|0;J=K+24|0;D=K+12|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)zp(H);A=d<<2;f=aq(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;iq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=D+4|0;t=D+8|0;u=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;s=k[c>>2]|0;q=0;l=0;do{p=s+q|0;c=y;d=k[c>>2]|0;c=k[c+4>>2]|0;e=z;e=tq(p|0,((p|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;c=kq(e|0,L|0,d|0,c|0)|0;d=D;c=(k[k[b>>2]>>2]|0)+c|0;e=d+12|0;do{i[d>>0]=i[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));j=k[D>>2]|0;m=k[A>>2]|0;n=k[t>>2]|0;p=((j^318)+239^m)+239^n;e=k[u>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}while(0);k[f+(q<<2)>>2]=k[d+20>>2]}else E=25}else E=25;while(0);if((E|0)==25){E=0;d=aq(24)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+16>>2]=n;k[d+20>>2]=l;k[d+4>>2]=p;k[d>>2]=0;$e(B,J,d);if(!(i[v>>0]|0))Jp(d);p=w;f=k[p>>2]|0;p=tq(f|0,k[p+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;mq((k[k[x>>2]>>2]|0)+p|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(q<<2)>>2]=l;l=l+1|0}q=q+1|0;e=k[G>>2]|0}while((q|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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]=l;f=l}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Jp(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Jp(d);r=K;return f|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,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;u=C+88|0;B=C+64|0;v=C+48|0;w=C+32|0;z=C+16|0;t=C;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;o[B+16>>2]=1.0;y=a+80|0;d=k[y>>2]|0;k[z>>2]=0;A=z+4|0;k[A>>2]=0;k[z+8>>2]=0;if(d){if(d>>>0>1073741823)zp(z);s=d<<2;f=aq(s)|0;k[z>>2]=f;e=f+(d<<2)|0;k[z+8>>2]=e;iq(f|0,0,s|0)|0;k[A>>2]=e;e=k[y>>2]|0;if((e|0)>0){p=k[c>>2]|0;q=b+48|0;s=b+40|0;j=u+4|0;m=a+40|0;n=a+64|0;h=0;l=0;do{g=p+h|0;d=q;c=k[d>>2]|0;d=k[d+4>>2]|0;e=s;e=tq(g|0,((g|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;d=kq(e|0,L|0,c|0,d|0)|0;d=(k[k[b>>2]>>2]|0)+d|0;c=v;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));c=w;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));d=df(B,w)|0;if(!d){k[t>>2]=k[w>>2];k[t+4>>2]=k[w+4>>2];k[t+8>>2]=k[w+8>>2];k[t+12>>2]=k[w+12>>2];d=aq(28)|0;g=d+8|0;k[g>>2]=k[t>>2];k[g+4>>2]=k[t+4>>2];k[g+8>>2]=k[t+8>>2];k[g+12>>2]=k[t+12>>2];k[d+24>>2]=l;k[d+4>>2]=(((k[g>>2]^318)+239^k[d+12>>2])+239^k[d+16>>2])+239^k[d+20>>2];k[d>>2]=0;ef(u,B,d);if(!(i[j>>0]|0))Jp(d);g=m;f=k[g>>2]|0;g=tq(f|0,k[g+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;mq((k[k[n>>2]>>2]|0)+g|0,v|0,f|0)|0;f=k[z>>2]|0;k[f+(h<<2)>>2]=l;l=l+1|0}else k[f+(h<<2)>>2]=k[d+24>>2];h=h+1|0;e=k[y>>2]|0}while((h|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[z>>2]|0;d=d>>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;g=a+68|0;h=a+72|0;f=k[h>>2]|0;c=k[g>>2]|0;d=f-c>>2;if(e>>>0<=d>>>0){if(e>>>0>>0?(x=c+(e<<2)|0,(f|0)!=(x|0)):0)k[h>>2]=f+(~((f+-4-x|0)>>>2)<<2)}else{Ve(g,e-d|0,2864);e=k[y>>2]|0}if((e|0)>0){f=k[z>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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[y>>2]=l;f=l}}else f=0;d=k[z>>2]|0;c=d;if(d|0){e=k[A>>2]|0;if((e|0)!=(d|0))k[A>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[B+8>>2]|0;if(d|0)do{A=d;d=k[d>>2]|0;Jp(A)}while((d|0)!=0);d=k[B>>2]|0;k[B>>2]=0;if(!d){r=C;return f|0}Jp(d);r=C;return f|0}function ag(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+48|0;y=G+40|0;F=G+16|0;z=G+12|0;D=G;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;o[F+16>>2]=1.0;C=a+80|0;d=k[C>>2]|0;k[D>>2]=0;E=D+4|0;k[E>>2]=0;k[D+8>>2]=0;if(d){if(d>>>0>1073741823)zp(D);x=d<<2;f=aq(x)|0;k[D>>2]=f;e=f+(d<<2)|0;k[D+8>>2]=e;iq(f|0,0,x|0)|0;k[E>>2]=e;e=k[C>>2]|0;if((e|0)>0){v=b+48|0;w=b+40|0;x=F+4|0;s=y+4|0;t=a+40|0;u=a+64|0;q=k[c>>2]|0;p=0;m=0;do{h=q+p|0;j=v;n=k[j>>2]|0;j=k[j+4>>2]|0;e=w;e=tq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;j=kq(e|0,L|0,n|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[z>>2]=j;n=j^318;e=k[x>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&n;else h=(n>>>0)%(e>>>0)|0;d=k[(k[F>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){A=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));else do{d=k[d>>2]|0;if(!d){A=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));k[f+(p<<2)>>2]=k[d+12>>2]}else A=20}else A=20;while(0);if((A|0)==20){A=0;d=aq(16)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+4>>2]=n;k[d>>2]=0;Se(y,F,d);if(!(i[s>>0]|0))Jp(d);n=t;f=k[n>>2]|0;n=tq(f|0,k[n+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;mq((k[k[u>>2]>>2]|0)+n|0,z|0,f|0)|0;f=k[D>>2]|0;k[f+(p<<2)>>2]=m;m=m+1|0}p=p+1|0;e=k[C>>2]|0}while((p|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[D>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(B=g+(e<<2)|0,(h|0)!=(B|0)):0)k[c>>2]=h+(~((h+-4-B|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[C>>2]|0}if((e|0)>0){f=k[D>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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[C>>2]=m;f=m}}else f=0;d=k[D>>2]|0;c=d;if(d|0){e=k[E>>2]|0;if((e|0)!=(d|0))k[E>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[F+8>>2]|0;if(d|0)do{E=d;d=k[d>>2]|0;Jp(E)}while((d|0)!=0);d=k[F>>2]|0;k[F>>2]=0;if(!d){r=G;return f|0}Jp(d);r=G;return f|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,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+48|0;z=I+40|0;H=I+20|0;B=I;F=I+8|0;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;k[H+12>>2]=0;o[H+16>>2]=1.0;E=a+80|0;d=k[E>>2]|0;k[F>>2]=0;G=F+4|0;k[G>>2]=0;k[F+8>>2]=0;if(d){if(d>>>0>1073741823)zp(F);y=d<<2;f=aq(y)|0;k[F>>2]=f;e=f+(d<<2)|0;k[F+8>>2]=e;iq(f|0,0,y|0)|0;k[G>>2]=e;e=k[E>>2]|0;if((e|0)>0){w=b+48|0;x=b+40|0;y=H+4|0;t=z+4|0;u=a+40|0;v=a+64|0;s=k[c>>2]|0;q=0;m=0;do{e=s+q|0;n=w;j=k[n>>2]|0;n=k[n+4>>2]|0;p=x;p=tq(e|0,((e|0)<0)<<31>>31|0,k[p>>2]|0,k[p+4>>2]|0)|0;n=kq(p|0,L|0,j|0,n|0)|0;n=(k[k[b>>2]>>2]|0)+n|0;j=n;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;n=n+4|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;p=B;k[p>>2]=j;k[p+4>>2]=n;p=(j^318)+239^n;e=k[y>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[H>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(A=k[c>>2]|0,(A|0)!=0):0){b:do if(d){d=A;while(1){if((k[d+4>>2]&g|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}else{d=A;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}while(0);k[f+(q<<2)>>2]=k[d+16>>2]}else C=23}else C=23;while(0);if((C|0)==23){C=0;d=aq(20)|0;h=d+8|0;k[h>>2]=j;k[h+4>>2]=n;k[d+16>>2]=m;k[d+4>>2]=p;k[d>>2]=0;Xe(z,H,d);if(!(i[t>>0]|0))Jp(d);p=u;f=k[p>>2]|0;p=tq(f|0,k[p+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;mq((k[k[v>>2]>>2]|0)+p|0,B|0,f|0)|0;f=k[F>>2]|0;k[f+(q<<2)>>2]=m;m=m+1|0}q=q+1|0;e=k[E>>2]|0}while((q|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[F>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-D|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[E>>2]|0}if((e|0)>0){f=k[F>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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]=m;f=m}}else f=0;d=k[F>>2]|0;c=d;if(d|0){e=k[G>>2]|0;if((e|0)!=(d|0))k[G>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[H+8>>2]|0;if(d|0)do{G=d;d=k[d>>2]|0;Jp(G)}while((d|0)!=0);d=k[H>>2]|0;k[H>>2]=0;if(!d){r=I;return f|0}Jp(d);r=I;return f|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,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+64|0;B=K+48|0;J=K+24|0;D=K+12|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)zp(H);A=d<<2;f=aq(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;iq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=D+4|0;t=D+8|0;u=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;s=k[c>>2]|0;q=0;l=0;do{p=s+q|0;c=y;d=k[c>>2]|0;c=k[c+4>>2]|0;e=z;e=tq(p|0,((p|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;c=kq(e|0,L|0,d|0,c|0)|0;d=D;c=(k[k[b>>2]>>2]|0)+c|0;e=d+12|0;do{i[d>>0]=i[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));j=k[D>>2]|0;m=k[A>>2]|0;n=k[t>>2]|0;p=((j^318)+239^m)+239^n;e=k[u>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}while(0);k[f+(q<<2)>>2]=k[d+20>>2]}else E=25}else E=25;while(0);if((E|0)==25){E=0;d=aq(24)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+16>>2]=n;k[d+20>>2]=l;k[d+4>>2]=p;k[d>>2]=0;$e(B,J,d);if(!(i[v>>0]|0))Jp(d);p=w;f=k[p>>2]|0;p=tq(f|0,k[p+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;mq((k[k[x>>2]>>2]|0)+p|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(q<<2)>>2]=l;l=l+1|0}q=q+1|0;e=k[G>>2]|0}while((q|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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]=l;f=l}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Jp(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Jp(d);r=K;return f|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,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;u=C+88|0;B=C+64|0;v=C+48|0;w=C+32|0;z=C+16|0;t=C;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;o[B+16>>2]=1.0;y=a+80|0;d=k[y>>2]|0;k[z>>2]=0;A=z+4|0;k[A>>2]=0;k[z+8>>2]=0;if(d){if(d>>>0>1073741823)zp(z);s=d<<2;f=aq(s)|0;k[z>>2]=f;e=f+(d<<2)|0;k[z+8>>2]=e;iq(f|0,0,s|0)|0;k[A>>2]=e;e=k[y>>2]|0;if((e|0)>0){p=k[c>>2]|0;q=b+48|0;s=b+40|0;j=u+4|0;m=a+40|0;n=a+64|0;h=0;l=0;do{g=p+h|0;d=q;c=k[d>>2]|0;d=k[d+4>>2]|0;e=s;e=tq(g|0,((g|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;d=kq(e|0,L|0,c|0,d|0)|0;d=(k[k[b>>2]>>2]|0)+d|0;c=v;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));c=w;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));d=df(B,w)|0;if(!d){k[t>>2]=k[w>>2];k[t+4>>2]=k[w+4>>2];k[t+8>>2]=k[w+8>>2];k[t+12>>2]=k[w+12>>2];d=aq(28)|0;g=d+8|0;k[g>>2]=k[t>>2];k[g+4>>2]=k[t+4>>2];k[g+8>>2]=k[t+8>>2];k[g+12>>2]=k[t+12>>2];k[d+24>>2]=l;k[d+4>>2]=(((k[g>>2]^318)+239^k[d+12>>2])+239^k[d+16>>2])+239^k[d+20>>2];k[d>>2]=0;ef(u,B,d);if(!(i[j>>0]|0))Jp(d);g=m;f=k[g>>2]|0;g=tq(f|0,k[g+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;mq((k[k[n>>2]>>2]|0)+g|0,v|0,f|0)|0;f=k[z>>2]|0;k[f+(h<<2)>>2]=l;l=l+1|0}else k[f+(h<<2)>>2]=k[d+24>>2];h=h+1|0;e=k[y>>2]|0}while((h|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[z>>2]|0;d=d>>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;g=a+68|0;h=a+72|0;f=k[h>>2]|0;c=k[g>>2]|0;d=f-c>>2;if(e>>>0<=d>>>0){if(e>>>0>>0?(x=c+(e<<2)|0,(f|0)!=(x|0)):0)k[h>>2]=f+(~((f+-4-x|0)>>>2)<<2)}else{Ve(g,e-d|0,2864);e=k[y>>2]|0}if((e|0)>0){f=k[z>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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[y>>2]=l;f=l}}else f=0;d=k[z>>2]|0;c=d;if(d|0){e=k[A>>2]|0;if((e|0)!=(d|0))k[A>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[B+8>>2]|0;if(d|0)do{A=d;d=k[d>>2]|0;Jp(A)}while((d|0)!=0);d=k[B>>2]|0;k[B>>2]=0;if(!d){r=C;return f|0}Jp(d);r=C;return f|0}function eg(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2876;b=k[a+52>>2]|0;c=b;if(b|0){d=a+56|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+40>>2]|0;c=b;if(b|0){d=a+44|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+28>>2]|0;c=b;if(b|0){d=a+32|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+16>>2]|0;if(!b){a=a+4|0;fg(a);return}c=a+20|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Jp(b);a=a+4|0;fg(a);return}function fg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a>>2]|0;if(!b)return;h=a+4|0;c=k[h>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[h>>2]=f;g=k[f>>2]|0;k[f>>2]=0;if(g|0){c=k[g+68>>2]|0;d=c;if(c|0){e=g+72|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(c)}f=g+64|0;c=k[f>>2]|0;k[f>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;Jp(d)}Jp(c)}Jp(g)}c=k[h>>2]|0}while((c|0)!=(b|0));b=k[a>>2]|0}Jp(b);return}function gg(a){a=a|0;eg(a);Jp(a);return}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;i=r;r=r+16|0;d=i;k[d>>2]=b;if((b|0)<=-1)Aa(5686,5698,93,5725);h=a+4|0;if(((k[a+8>>2]|0)-(k[h>>2]|0)>>2|0)<=(b|0))ig(h,b+1|0);e=k[(k[c>>2]|0)+56>>2]|0;do if((e|0)<4){f=a+16+(e*12|0)+4|0;g=k[f>>2]|0;if((g|0)==(k[a+16+(e*12|0)+8>>2]|0)){lg(a+16+(e*12|0)|0,d);break}else{k[g>>2]=b;k[f>>2]=g+4;break}}while(0);a=(k[h>>2]|0)+(b<<2)|0;b=k[c>>2]|0;k[c>>2]=0;h=k[a>>2]|0;k[a>>2]=b;if(!h){r=i;return}d=k[h+68>>2]|0;e=d;if(d|0){f=h+72|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}a=h+64|0;d=k[a>>2]|0;k[a>>2]=0;if(d|0){e=k[d>>2]|0;if(e|0){f=d+4|0;if((k[f>>2]|0)!=(e|0))k[f>>2]=e;Jp(e)}Jp(d)}Jp(h);r=i;return}function ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=a+4|0;c=k[g>>2]|0;d=k[a>>2]|0;e=c-d>>2;if(e>>>0>>0){jg(a,b-e|0);return}if(e>>>0<=b>>>0)return;f=d+(b<<2)|0;if((c|0)==(f|0))return;do{b=c+-4|0;k[g>>2]=b;a=k[b>>2]|0;k[b>>2]=0;if(a|0){c=k[a+68>>2]|0;d=c;if(c|0){e=a+72|0;b=k[e>>2]|0;if((b|0)!=(c|0))k[e>>2]=b+(~((b+-4-d|0)>>>2)<<2);Jp(c)}b=a+64|0;c=k[b>>2]|0;k[b>>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;Jp(d)}Jp(c)}Jp(a)}c=k[g>>2]|0}while((c|0)!=(f|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,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;q=s;o=a+8|0;j=k[o>>2]|0;p=a+4|0;c=k[p>>2]|0;if(j-c>>2>>>0>=b>>>0){iq(c|0,0,b<<2|0)|0;k[p>>2]=c+(b<<2);r=s;return}f=k[a>>2]|0;c=(c-f>>2)+b|0;if(c>>>0>1073741823)zp(a);i=f;d=j-f|0;if(d>>2>>>0<536870911){g=d>>1;g=g>>>0>>0?c:g}else g=1073741823;e=k[p>>2]|0;k[q+12>>2]=0;k[q+16>>2]=a+8;d=e;if(!g)h=0;else h=aq(g<<2)|0;k[q>>2]=h;c=h+(e-f>>2<<2)|0;l=q+8|0;m=q+4|0;k[m>>2]=c;n=q+12|0;k[n>>2]=h+(g<<2);iq(c|0,0,b<<2|0)|0;k[l>>2]=c+(b<<2);if((d|0)==(i|0))d=j;else{do{d=d+-4|0;j=k[d>>2]|0;k[d>>2]=0;k[c+-4>>2]=j;c=(k[m>>2]|0)+-4|0;k[m>>2]=c}while((d|0)!=(i|0));f=k[a>>2]|0;e=k[p>>2]|0;d=k[o>>2]|0}k[a>>2]=c;k[m>>2]=f;k[p>>2]=k[l>>2];k[l>>2]=e;k[o>>2]=k[n>>2];k[n>>2]=d;k[q>>2]=k[m>>2];kg(q);r=s;return}function kg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=k[a+4>>2]|0;h=a+8|0;b=k[h>>2]|0;if((b|0)!=(g|0))do{e=b+-4|0;k[h>>2]=e;f=k[e>>2]|0;k[e>>2]=0;if(f|0){b=k[f+68>>2]|0;c=b;if(b|0){d=f+72|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}e=f+64|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0){c=k[b>>2]|0;if(c|0){d=b+4|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;Jp(c)}Jp(b)}Jp(f)}b=k[h>>2]|0}while((b|0)!=(g|0));b=k[a>>2]|0;if(!b)return;Jp(b);return}function lg(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;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)zp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;mq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Jp(i);return}function mg(a){a=a|0;var b=0,c=0,d=0;if(!(k[a+64>>2]|0)){d=0;return d|0}d=a+4|0;c=a+8|0;a=k[d>>2]|0;if(((k[c>>2]|0)-a|0)>0)b=0;else{d=1;return d|0}while(1){a=k[a+(b<<2)>>2]|0;b=b+1|0;if(!(Pe(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 ng(a){a=a|0;var b=0,c=0,d=0,e=0.0,f=0.0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=r;r=r+64|0;R=S+28|0;P=S+16|0;M=S+4|0;K=S;Q=a;F=a+64|0;b=k[F>>2]|0;k[R>>2]=0;k[R+4>>2]=0;k[R+8>>2]=0;k[R+12>>2]=0;k[R+16>>2]=Q;H=R+20|0;o[H>>2]=1.0;k[R+24>>2]=Q;og(R,b);b=k[F>>2]|0;k[P>>2]=0;Q=P+4|0;k[Q>>2]=0;k[P+8>>2]=0;do if(b)if(b>>>0>1073741823)zp(P);else{O=b<<2;E=aq(O)|0;k[P>>2]=E;c=E+(b<<2)|0;k[P+8>>2]=c;iq(E|0,0,O|0)|0;k[Q>>2]=c;c=k[F>>2]|0;break}else c=0;while(0);k[M>>2]=0;O=M+4|0;k[O>>2]=0;k[M+8>>2]=0;k[K>>2]=0;a:do if((c|0)>0){y=R+16|0;A=R+4|0;B=R+12|0;C=R+8|0;D=M+8|0;z=R+24|0;E=0;x=0;b:while(1){t=k[y>>2]|0;s=t+4|0;t=t+8|0;b=k[s>>2]|0;c=(k[t>>2]|0)-b|0;if((c|0)>0){g=c>>2;c=0;h=0;do{d=k[b+(h<<2)>>2]|0;if(!(i[d+84>>0]|0))d=k[(k[d+68>>2]|0)+(E<<2)>>2]|0;else d=E;c=d<<2^c<<1;h=h+1|0}while((h|0)<(g|0))}else c=0;w=k[A>>2]|0;v=(w|0)==0;c:do if(!v){m=w+-1|0;d=(m&w|0)==0;if(d)q=m&c;else q=(c>>>0)%(w>>>0)|0;b=k[(k[R>>2]|0)+(q<<2)>>2]|0;if((b|0)!=0?(I=k[b>>2]|0,(I|0)!=0):0){p=k[z>>2]|0;n=p+4|0;p=p+8|0;d:do if(d){b=I;while(1){if((k[b+4>>2]&m|0)!=(q|0)){N=41;break c}l=k[b+8>>2]|0;d=k[n>>2]|0;c=(k[p>>2]|0)-d|0;if((c|0)<=0)break d;j=c>>2;h=0;while(1){if((j|0)<=(h|0)){N=35;break b}c=k[d+(h<<2)>>2]|0;if(!(i[c+84>>0]|0)){g=k[c+68>>2]|0;c=k[g+(l<<2)>>2]|0;g=k[g+(E<<2)>>2]|0}else{c=l;g=E}h=h+1|0;if((c|0)!=(g|0))break;if((h|0)>=(j|0)){N=39;break d}}b=k[b>>2]|0;if(!b){N=41;break c}}}else{b=I;while(1){if((((k[b+4>>2]|0)>>>0)%(w>>>0)|0|0)!=(q|0)){N=41;break c}l=k[b+8>>2]|0;d=k[n>>2]|0;c=(k[p>>2]|0)-d|0;if((c|0)<=0)break d;j=c>>2;h=0;while(1){if((j|0)<=(h|0)){N=35;break b}c=k[d+(h<<2)>>2]|0;if(!(i[c+84>>0]|0)){g=k[c+68>>2]|0;c=k[g+(l<<2)>>2]|0;g=k[g+(E<<2)>>2]|0}else{c=l;g=E}h=h+1|0;if((c|0)!=(g|0))break;if((h|0)>=(j|0)){N=39;break d}}b=k[b>>2]|0;if(!b){N=41;break c}}}while(0);if((N|0)==39){N=0;if(!b){N=41;break}}k[(k[P>>2]|0)+(E<<2)>>2]=k[b+12>>2];c=x}else N=41}else N=41;while(0);do if((N|0)==41){N=0;u=aq(16)|0;k[u+8>>2]=E;k[u+12>>2]=x;b=k[s>>2]|0;c=(k[t>>2]|0)-b|0;if((c|0)>0){j=c>>2;c=0;g=0;do{d=k[b+(g<<2)>>2]|0;if(!(i[d+84>>0]|0))d=k[(k[d+68>>2]|0)+(E<<2)>>2]|0;else d=E;c=d<<2^c<<1;g=g+1|0}while((g|0)<(j|0));h=u+4|0;k[h>>2]=c;k[u>>2]=0;d=0;g=0;while(1){c=k[b+(g<<2)>>2]|0;if(!(i[c+84>>0]|0))c=k[(k[c+68>>2]|0)+(E<<2)>>2]|0;else c=E;c=c<<2^d<<1;g=g+1|0;if((g|0)>=(j|0)){t=u;b=c;break}else d=c}}else{h=u+4|0;k[h>>2]=0;k[u>>2]=0;t=u;b=0}k[h>>2]=b;e:do if(!v){p=w+-1|0;d=(p&w|0)==0;if(d)b=p&b;else b=(b>>>0)%(w>>>0)|0;c=k[(k[R>>2]|0)+(b<<2)>>2]|0;if((c|0)!=0?(J=k[c>>2]|0,(J|0)!=0):0){s=k[z>>2]|0;q=s+4|0;s=s+8|0;f:do if(d){n=J;while(1){if((k[n+4>>2]&p|0)!=(b|0)){N=77;break e}m=k[n+8>>2]|0;d=k[q>>2]|0;c=(k[s>>2]|0)-d|0;if((c|0)<=0)break f;l=c>>2;j=0;while(1){if((l|0)<=(j|0)){N=73;break b}c=k[d+(j<<2)>>2]|0;if(!(i[c+84>>0]|0)){g=k[c+68>>2]|0;c=k[g+(m<<2)>>2]|0;g=k[g+(E<<2)>>2]|0}else{c=m;g=E}j=j+1|0;if((c|0)!=(g|0))break;if((j|0)>=(l|0))break f}n=k[n>>2]|0;if(!n){N=77;break e}}}else{n=J;while(1){if((((k[n+4>>2]|0)>>>0)%(w>>>0)|0|0)!=(b|0)){N=77;break e}m=k[n+8>>2]|0;d=k[q>>2]|0;c=(k[s>>2]|0)-d|0;if((c|0)<=0)break f;l=c>>2;j=0;while(1){if((l|0)<=(j|0)){N=73;break b}c=k[d+(j<<2)>>2]|0;if(!(i[c+84>>0]|0)){g=k[c+68>>2]|0;c=k[g+(m<<2)>>2]|0;g=k[g+(E<<2)>>2]|0}else{c=m;g=E}j=j+1|0;if((c|0)!=(g|0))break;if((j|0)>=(l|0))break f}n=k[n>>2]|0;if(!n){N=77;break e}}}while(0);Jp(u)}else N=77}else{b=0;N=77}while(0);if((N|0)==77){N=0;e=+(((k[B>>2]|0)+1|0)>>>0);f=+o[H>>2];do if(v|e>+(w>>>0)*f){if(w>>>0>2)b=(w+-1&w|0)==0;else b=0;d=(b&1|w<<1)^1;b=~~+ga(+(e/f))>>>0;og(R,d>>>0>>0?b:d);d=k[A>>2]|0;b=k[h>>2]|0;c=d+-1|0;if(!(c&d)){g=d;b=c&b;break}else{g=d;b=(b>>>0)%(d>>>0)|0;break}}else g=w;while(0);b=(k[R>>2]|0)+(b<<2)|0;c=k[b>>2]|0;if(!c){k[u>>2]=k[C>>2];k[C>>2]=u;k[b>>2]=C;b=k[t>>2]|0;if(b|0){b=k[b+4>>2]|0;c=g+-1|0;if(!(c&g))b=b&c;else b=(b>>>0)%(g>>>0)|0;k[(k[R>>2]|0)+(b<<2)>>2]=u}}else{k[u>>2]=k[c>>2];k[c>>2]=u}k[B>>2]=(k[B>>2]|0)+1}c=x+1|0;k[(k[P>>2]|0)+(E<<2)>>2]=x;b=k[O>>2]|0;if((b|0)==(k[D>>2]|0)){qg(M,K);break}else{k[b>>2]=E;k[O>>2]=b+4;break}}while(0);E=E+1|0;k[K>>2]=E;b=k[F>>2]|0;if((E|0)>=(b|0)){G=b;L=c;break a}else x=c}if((N|0)==35)Aa(9725,9687,63,9715);else if((N|0)==73)Aa(9725,9687,63,9715)}else{G=c;L=0}while(0);if((L|0)!=(G|0)){db[k[(k[a>>2]|0)+20>>2]&7](a,P,M);k[F>>2]=L}b=k[M>>2]|0;c=b;if(b|0){d=k[O>>2]|0;if((d|0)!=(b|0))k[O>>2]=d+(~((d+-4-c|0)>>>2)<<2);Jp(b)}b=k[P>>2]|0;c=b;if(b|0){d=k[Q>>2]|0;if((d|0)!=(b|0))k[Q>>2]=d+(~((d+-4-c|0)>>>2)<<2);Jp(b)}b=k[R+8>>2]|0;if(b|0)do{Q=b;b=k[b>>2]|0;Jp(Q)}while((b|0)!=0);b=k[R>>2]|0;k[R>>2]=0;if(!b){r=S;return}Jp(b);r=S;return}function og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){pg(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+20>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;pg(a,b);return}function pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Jp(c);k[d>>2]=0;return}u=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=u;if(c|0)Jp(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;f=k[d>>2]|0;if(!f)return;c=k[f+4>>2]|0;t=b+-1|0;u=(t&b|0)==0;if(u)e=c&t;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[f>>2]|0;if(!c)return;s=a+24|0;g=f;d=f;a:while(1){r=d;b:while(1){while(1){d=k[c+4>>2]|0;if(u)q=d&t;else q=(d>>>0)%(b>>>0)|0;if((q|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(q<<2)|0;if(!(k[d>>2]|0)){e=q;f=c;c=r;break b}d=k[c>>2]|0;c:do if(!d)d=c;else{n=k[c+8>>2]|0;m=k[s>>2]|0;p=k[m+4>>2]|0;m=(k[m+8>>2]|0)-p|0;o=m>>2;if((m|0)>0)l=c;else while(1){f=k[d>>2]|0;if(!f)break c;else d=f}while(1){j=k[d+8>>2]|0;m=0;do{if((o|0)<=(m|0)){c=31;break a}f=k[p+(m<<2)>>2]|0;if(!(i[f+84>>0]|0)){h=k[f+68>>2]|0;f=k[h+(n<<2)>>2]|0;h=k[h+(j<<2)>>2]|0}else{f=n;h=j}m=m+1|0;if((f|0)!=(h|0)){d=l;break c}}while((m|0)<(o|0));f=k[d>>2]|0;if(!f)break;else{l=d;d=f}}}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[g>>2]|0;if(!c){c=36;break a}}c=k[d>>2]|0;if(!c){c=36;break a}else{g=d;r=d}}k[d>>2]=c;c=k[f>>2]|0;if(!c){c=36;break}else{g=f;d=f}}if((c|0)==31)Aa(9725,9687,63,9715);else if((c|0)==36)return}function qg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)zp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;mq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Jp(i);return}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,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=a+8|0;o=a+4|0;q=0}else{j=k[b>>2]|0;l=a+4|0;h=a+8|0;c=0;b:while(1){f=k[d>>2]|0;g=k[j+(f<<2)>>2]|0;if((g|0)>=(c|0)){c=k[l>>2]|0;b=(k[h>>2]|0)-c|0;if((b|0)>0){b=b>>2;e=0;do{a=k[c+(e<<2)>>2]|0;if(i[a+84>>0]|0)break b;a=k[a+68>>2]|0;k[a+(g<<2)>>2]=k[a+(f<<2)>>2];e=e+1|0}while((e|0)<(b|0))}c=g+1|0}d=d+4|0;if((d|0)==(m|0)){n=h;o=l;q=c;break a}}Aa(10792,10811,80,10843)}while(0);b=k[n>>2]|0;c=k[o>>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(q>>>0<=e>>>0){if(q>>>0>>0?(p=f+(q<<2)|0,(g|0)!=(p|0)):0)k[d>>2]=g+(~((g+-4-p|0)>>>2)<<2)}else{Ve(a,q-e|0,2900);c=k[o>>2]|0;b=k[n>>2]|0}h=h+1|0}while((h|0)<(b-c>>2|0));return}function sg(a){a=a|0;var b=0;k[a>>2]=2876;b=a+4|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[a+20>>2]=0;k[a+24>>2]=0;k[a+28>>2]=0;k[a+32>>2]=0;k[a+36>>2]=0;k[a+40>>2]=0;k[a+44>>2]=0;k[a+48>>2]=0;k[a+52>>2]=0;k[a+56>>2]=0;k[a+60>>2]=0;k[a+64>>2]=0;return}function tg(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>3){b=-1;return b|0}c=k[a+16+(b*12|0)>>2]|0;if(((k[a+16+(b*12|0)+4>>2]|0)-c|0)<=0){b=-1;return b|0}b=k[c>>2]|0;return b|0}function ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+16|0;d=h;c=k[(k[a>>2]|0)+8>>2]|0;f=a+4|0;g=a+8|0;e=(k[g>>2]|0)-(k[f>>2]|0)>>2;i=k[b>>2]|0;k[b>>2]=0;k[d>>2]=i;db[c&7](a,e,d);e=k[d>>2]|0;k[d>>2]=0;if(!e){g=k[g>>2]|0;i=k[f>>2]|0;i=g-i|0;i=i>>2;i=i+-1|0;r=h;return i|0}b=k[e+68>>2]|0;a=b;if(b|0){c=e+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-a|0)>>>2)<<2);Jp(b)}i=e+64|0;b=k[i>>2]|0;k[i>>2]=0;if(b|0){a=k[b>>2]|0;if(a|0){c=b+4|0;if((k[c>>2]|0)!=(a|0))k[c>>2]=a;Jp(a)}Jp(b)}Jp(e);g=k[g>>2]|0;i=k[f>>2]|0;i=g-i|0;i=i>>2;i=i+-1|0;r=h;return i|0}function vg(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2912;b=k[a+80>>2]|0;c=b;if(b|0){d=a+84|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);Jp(b)}b=k[a+68>>2]|0;if(!b){eg(a);return}c=a+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Jp(b);eg(a);return}function wg(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2912;b=k[a+80>>2]|0;c=b;if(b|0){d=a+84|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);Jp(b)}b=k[a+68>>2]|0;if(!b){eg(a);Jp(a);return}c=a+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Jp(b);eg(a);Jp(a);return}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;i=r;r=r+16|0;h=i;g=k[c>>2]|0;k[c>>2]=0;k[h>>2]=g;hg(a,b,h);g=k[h>>2]|0;k[h>>2]=0;if(g|0){c=k[g+68>>2]|0;d=c;if(c|0){e=g+72|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(c)}h=g+64|0;c=k[h>>2]|0;k[h>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;Jp(d)}Jp(c)}Jp(g)}h=a+68|0;a=a+72|0;c=k[a>>2]|0;f=k[h>>2]|0;g=c-f>>2;if((g|0)>(b|0)){r=i;return}d=b+1|0;e=c;if(d>>>0>g>>>0){yg(h,d-g|0);r=i;return}if(d>>>0>=g>>>0){r=i;return}c=f+(d<<2)|0;if((e|0)==(c|0)){r=i;return}k[a>>2]=e+(~((e+-4-c|0)>>>2)<<2);r=i;return}function yg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=a+8|0;e=k[l>>2]|0;m=a+4|0;c=k[m>>2]|0;f=c;if(e-c>>2>>>0>=b>>>0){c=b;d=f;while(1){k[d>>2]=1;c=c+-1|0;if(!c)break;else d=d+4|0}k[m>>2]=f+(b<<2);return}j=k[a>>2]|0;d=(c-j>>2)+b|0;if(d>>>0>1073741823)zp(a);c=e-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?d:c;e=k[m>>2]|0;d=e-j>>2;if(!c){h=0;c=0;g=e}else i=9}else{d=k[m>>2]|0;c=1073741823;e=d;d=d-j>>2;i=9}if((i|0)==9){h=c;c=aq(c<<2)|0;g=e}f=c+(d<<2)|0;d=c+(h<<2)|0;c=b;e=f;while(1){k[e>>2]=1;c=c+-1|0;if(!c)break;else e=e+4|0}h=g-j|0;i=f+(0-(h>>2)<<2)|0;mq(i|0,j|0,h|0)|0;k[a>>2]=i;k[m>>2]=f+(b<<2);k[l>>2]=d;if(!j)return;Jp(j);return}function zg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;rg(a,b,c);d=k[a+84>>2]|0;c=k[a+80>>2]|0;e=c;if((d-c|0)<=0)return;b=k[b>>2]|0;c=(d-c|0)/12|0;a=0;do{d=e+(a*12|0)|0;k[d>>2]=k[b+(k[d>>2]<<2)>>2];d=e+(a*12|0)+4|0;k[d>>2]=k[b+(k[d>>2]<<2)>>2];d=e+(a*12|0)+8|0;k[d>>2]=k[b+(k[d>>2]<<2)>>2];a=a+1|0}while((a|0)<(c|0));return}function Ag(a){a=a|0;sg(a);k[a>>2]=2912;a=a+68|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;return}function Bg(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 Cg(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=r;r=r+16|0;c=p+1|0;d=p;if(!b){a=0;r=p;return a|0}f=b+4|0;n=(((k[f>>2]|0)-(k[b>>2]|0)|0)/12|0)*3|0;i[c>>0]=0;Dg(a,n,c);n=b+24|0;o=b+28|0;c=(k[o>>2]|0)-(k[n>>2]|0)>>2;i[d>>0]=0;Dg(a+12|0,c,d);Eg(a+28|0,(((k[f>>2]|0)-(k[b>>2]|0)|0)/12|0)*3|0,2936);f=a+52|0;c=(k[o>>2]|0)-(k[n>>2]|0)|0;g=c>>2;h=a+60|0;j=k[f>>2]|0;if((k[h>>2]|0)-j>>2>>>0>>0){l=a+56|0;m=(k[l>>2]|0)-j|0;d=m>>2;if(!g)e=0;else e=aq(c)|0;q=e+(d<<2)|0;d=q+(0-d<<2)|0;c=j;mq(d|0,c|0,m|0)|0;k[f>>2]=d;k[l>>2]=q;k[h>>2]=e+(g<<2);if(j|0)Jp(c)}m=a+40|0;c=(k[o>>2]|0)-(k[n>>2]|0)|0;f=c>>2;g=a+48|0;h=k[m>>2]|0;if((k[g>>2]|0)-h>>2>>>0>>0){j=a+44|0;l=(k[j>>2]|0)-h|0;d=l>>2;if(!f)e=0;else e=aq(c)|0;q=e+(d<<2)|0;o=q+(0-d<<2)|0;c=h;mq(o|0,c|0,l|0)|0;k[m>>2]=o;k[j>>2]=q;k[g>>2]=e+(f<<2);if(h|0)Jp(c)}k[a+64>>2]=b;i[a+24>>0]=1;q=1;r=p;return q|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,j=0,l=0,m=0;l=r;r=r+16|0;j=l;e=a+4|0;k[e>>2]=0;if(!b){r=l;return}f=a+8|0;d=k[f>>2]|0;if(d<<5>>>0>>0){k[j>>2]=0;g=j+4|0;k[g>>2]=0;h=j+8|0;k[h>>2]=0;if((b|0)<0)zp(a);if(d<<5>>>0>1073741822)d=2147483647;else{d=d<<6;m=b+31&-32;d=d>>>0>>0?m:d}Dd(j,d);d=k[a>>2]|0;k[a>>2]=k[j>>2];k[j>>2]=d;m=k[e>>2]|0;k[e>>2]=b;k[g>>2]=m;m=k[f>>2]|0;k[f>>2]=k[h>>2];k[h>>2]=m;if(d|0)Jp(d)}else k[e>>2]=b;a=k[a>>2]|0;e=a;f=b>>>5;d=f<<2;if(!(i[c>>0]|0)){iq(a|0,0,d|0)|0;a=f<<5;if((a|0)==(b|0)){r=l;return}m=e+(f<<2)|0;k[m>>2]=k[m>>2]&~(-1>>>(32-b+a|0));r=l;return}else{iq(a|0,-1,d|0)|0;a=f<<5;if((a|0)==(b|0)){r=l;return}m=e+(f<<2)|0;k[m>>2]=k[m>>2]|-1>>>(32-b+a|0);r=l;return}}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;i=a+8|0;d=k[i>>2]|0;g=k[a>>2]|0;j=g;if(d-g>>2>>>0>=b>>>0){i=a+4|0;h=k[i>>2]|0;f=h-g>>2;g=f>>>0>>0;d=g?f:b;if(d|0){e=j;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(g){e=b-f|0;d=e;f=h;while(1){k[f>>2]=k[c>>2];d=d+-1|0;if(!d)break;else f=f+4|0}k[i>>2]=h+(e<<2);return}else{d=j+(b<<2)|0;if((h|0)==(d|0))return;k[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);return}}f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(j|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);Jp(f);k[i>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(b>>>0>1073741823)zp(a);d=d-0|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?b:d;if(d>>>0>1073741823)zp(a);else h=d}else h=1073741823;f=aq(h<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[i>>2]=f+(h<<2);d=b;e=f;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[g>>2]=f+(b<<2);return}function Fg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+16|0;x=E+8|0;C=E+12|0;B=E+4|0;y=E;A=a+64|0;d=k[A>>2]|0;if(((k[d+28>>2]|0)-(k[d+24>>2]|0)|0)<=0){r=E;return}z=b+80|0;u=b+84|0;v=a+52|0;w=c+84|0;l=c+68|0;m=a+56|0;n=a+60|0;o=a+12|0;p=a+28|0;q=a+40|0;s=a+44|0;t=a+48|0;h=0;j=0;a:while(1){f=k[(k[d+24>>2]|0)+(j<<2)>>2]|0;if((f|0)<0)b=h;else{b=h+1|0;c=(f|0)/3|0;d=k[z>>2]|0;if((c|0)>=(((k[u>>2]|0)-d|0)/12|0|0)){D=6;break}c=k[d+(c*12|0)+(((f|0)%3|0)<<2)>>2]|0;if(!(i[w>>0]|0))c=k[(k[l>>2]|0)+(c<<2)>>2]|0;k[x>>2]=c;d=k[m>>2]|0;if(d>>>0<(k[n>>2]|0)>>>0){k[d>>2]=c;k[m>>2]=d+4}else Gg(v,x);k[C>>2]=f;k[B>>2]=0;do if(!(k[(k[o>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)))g=f;else{c=f+1|0;c=((c|0)%3|0|0)==0?f+-2|0:c;e=k[a>>2]|0;if(!(1<<(c&31)&k[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=k[(k[(k[A>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0){g=c+1|0;c=((g|0)%3|0|0)==0?c+-2|0:g;k[B>>2]=c;if((c|0)>-1)d=c;else{g=f;break}while(1){c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if(1<<(c&31)&k[e+(c>>>5<<2)>>2]|0){c=-1073741824;break}if((c|0)<0)break;c=k[(k[(k[A>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;g=c+1|0;c=((g|0)%3|0|0)==0?c+-2|0:g;if((c|0)>-1)d=c;else break}k[C>>2]=d;k[B>>2]=c;g=d;break}}}else c=-1073741824;k[B>>2]=c;g=f}while(0);k[(k[p>>2]|0)+(g<<2)>>2]=h;c=k[s>>2]|0;if((c|0)==(k[t>>2]|0))Cd(q,C);else{k[c>>2]=g;k[s>>2]=c+4}d=k[A>>2]|0;b:do if((g|0)>=0){c=(((g|0)%3|0|0)==0?2:-1)+g|0;if((c|0)>=0){c=k[(k[d+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0){c=c+(((c|0)%3|0|0)==0?2:-1)|0;k[B>>2]=c;if((c|0)>-1&(c|0)!=(g|0)){d=h;while(1){h=c+1|0;h=((h|0)%3|0|0)==0?c+-2|0:h;do if(k[(k[a>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)){f=b+1|0;d=(c|0)/3|0;if((c|0)<=-3){D=33;break a}e=k[z>>2]|0;if((d|0)>=(((k[u>>2]|0)-e|0)/12|0|0)){D=35;break a}d=k[e+(d*12|0)+(((c|0)%3|0)<<2)>>2]|0;if(!(i[w>>0]|0))d=k[(k[l>>2]|0)+(d<<2)>>2]|0;k[y>>2]=d;e=k[m>>2]|0;if(e>>>0<(k[n>>2]|0)>>>0){k[e>>2]=d;k[m>>2]=e+4}else Gg(v,y);d=k[s>>2]|0;if((d|0)==(k[t>>2]|0)){Cd(q,B);e=b;b=f;break}else{k[d>>2]=c;k[s>>2]=d+4;e=b;b=f;break}}else e=d;while(0);k[(k[p>>2]|0)+(c<<2)>>2]=e;d=k[A>>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[d+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;c=c+(((c|0)%3|0|0)==0?2:-1)|0;k[B>>2]=c;if(!((c|0)>-1&(c|0)!=(g|0)))break b;else d=e}k[B>>2]=c}}else D=30}else D=30}else{c=g;D=30}while(0);if((D|0)==30){D=0;k[B>>2]=c}}j=j+1|0;if((j|0)>=((k[d+28>>2]|0)-(k[d+24>>2]|0)>>2|0)){D=3;break}else h=b}if((D|0)==3){r=E;return}else if((D|0)==6)Aa(10719,10773,64,10787);else if((D|0)==33)Aa(10860,10773,63,10787);else if((D|0)==35)Aa(10719,10773,64,10787)}function Gg(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;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)zp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;mq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Jp(i);return}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,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;w=r;r=r+16|0;v=w+8|0;u=w+4|0;t=w;i=a+64|0;c=k[i>>2]|0;if(((k[c+28>>2]|0)-(k[c+24>>2]|0)|0)<=0){r=w;return}q=a+52|0;s=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;f=0;h=0;while(1){d=k[(k[c+24>>2]|0)+(h<<2)>>2]|0;if((d|0)<0)b=f;else{b=f+1|0;k[v>>2]=f;c=k[s>>2]|0;if((c|0)==(k[j>>2]|0))Ig(q,v);else{k[c>>2]=f;k[s>>2]=c+4}k[u>>2]=d;k[t>>2]=0;do if(!(k[(k[l>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)))g=d;else{c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;e=k[a>>2]|0;if(!(1<<(c&31)&k[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=k[(k[(k[i>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0){g=c+1|0;c=((g|0)%3|0|0)==0?c+-2|0:g;k[t>>2]=c;if((c|0)>-1)d=c;else{g=d;break}while(1){c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if(1<<(c&31)&k[e+(c>>>5<<2)>>2]|0){c=-1073741824;break}if((c|0)<0)break;c=k[(k[(k[i>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;g=c+1|0;c=((g|0)%3|0|0)==0?c+-2|0:g;if((c|0)>-1)d=c;else break}k[u>>2]=d;k[t>>2]=c;g=d;break}}}else c=-1073741824;k[t>>2]=c;g=d}while(0);k[(k[m>>2]|0)+(g<<2)>>2]=f;c=k[o>>2]|0;if((c|0)==(k[p>>2]|0))Cd(n,u);else{k[c>>2]=g;k[o>>2]=c+4}c=k[i>>2]|0;a:do if((g|0)>=0){d=(((g|0)%3|0|0)==0?2:-1)+g|0;if((d|0)>=0){d=k[(k[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d|0)%3|0|0)==0?2:-1)|0;k[t>>2]=d;if((d|0)>-1&(d|0)!=(g|0)){c=f;while(1){f=d+1|0;f=((f|0)%3|0|0)==0?d+-2|0:f;do if(k[(k[a>>2]|0)+(f>>>5<<2)>>2]&1<<(f&31)){e=b+1|0;k[v>>2]=b;c=k[s>>2]|0;if((c|0)==(k[j>>2]|0))Ig(q,v);else{k[c>>2]=b;k[s>>2]=c+4}c=k[o>>2]|0;if((c|0)==(k[p>>2]|0)){Cd(n,t);f=b;b=e;break}else{k[c>>2]=d;k[o>>2]=c+4;f=b;b=e;break}}else f=c;while(0);k[(k[m>>2]|0)+(d<<2)>>2]=f;c=k[i>>2]|0;if((d|0)<0)break;d=(((d|0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0)break;d=k[(k[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;d=d+(((d|0)%3|0|0)==0?2:-1)|0;k[t>>2]=d;if(!((d|0)>-1&(d|0)!=(g|0)))break a;else c=f}k[t>>2]=d}}else x=26}else x=26}else{d=g;x=26}while(0);if((x|0)==26){x=0;k[t>>2]=d}}h=h+1|0;if((h|0)>=((k[c+28>>2]|0)-(k[c+24>>2]|0)>>2|0))break;else f=b}r=w;return}function Ig(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;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)zp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;mq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Jp(i);return}function Jg(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){Fg(a,b,c);return}else{Hg(a,0,0);return}}function Kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=k[b>>2]|0;f=k[a>>2]|0;h=f+(d>>>5<<2)|0;k[h>>2]=k[h>>2]|1<<(d&31);h=k[a+64>>2]|0;e=(d|0)<0;if(!e?(c=d+1|0,c=((c|0)%3|0|0)==0?d+-2|0:c,(c|0)>=0):0)b=k[(k[h>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;else b=-1073741824;g=a+12|0;c=(k[g>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31);if(e){h=(k[g>>2]|0)+402653184|0;k[h>>2]=k[h>>2]|1;return}b=(((d|0)%3|0|0)==0?2:-1)+d|0;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;c=(k[g>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31);if(e)return;c=k[(k[h+12>>2]|0)+(d<<2)>>2]|0;if((c|0)<=-1)return;i[a+24>>0]=0;b=f+(c>>>5<<2)|0;k[b>>2]=k[b>>2]|1<<(c&31);b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;a=(k[g>>2]|0)+(b>>>5<<2)|0;k[a>>2]=k[a>>2]|1<<(b&31);b=(((c|0)%3|0|0)==0?2:-1)+c|0;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0;h=(k[g>>2]|0)+(b>>>5<<2)|0;k[h>>2]=k[h>>2]|1<<(b&31);return}function Lg(a){a=a|0;o[a>>2]=1.0;o[a+4>>2]=1.0;return}function Mg(a,b,c){a=a|0;b=+b;c=c|0;o[a+4>>2]=1.0/+(c|0);o[a>>2]=b;return}function Ng(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function Og(a){a=a|0;return}function Pg(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;Ng(a+24|0);i[a+36>>0]=0;return}function Qg(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;a=a+16|0;k[a>>2]=0;k[a+4>>2]=0;return}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,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=kq(e|0,k[f+4>>2]|0,8,0)|0;h=L;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=kq(k[e>>2]|0,k[e+4>>2]|0,8,0)|0;c=L;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=hq(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 Sg(a){a=a|0;var b=0,c=0;i[a+36>>0]=0;c=kq(k[a+32>>2]|0,0,7,0)|0;c=lq(c|0,L|0,3)|0;a=a+16|0;b=a;b=kq(c|0,L|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[a>>2]=b;k[a+4>>2]=L;return}function Tg(a){a=a|0;var b=0,c=0;k[a>>2]=2948;c=k[a+4>>2]|0;if(!c)return;a=a+8|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Jp(c);return}function Ug(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2948;b=k[a+4>>2]|0;if(!b){Jp(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);Jp(b);Jp(a);return}function Vg(a,b,c){a=a|0;b=b|0;c=c|0;k[a+16>>2]=b;k[a+20>>2]=c;return 1}function Wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+80|0;z=A;w=A+64|0;x=b+8|0;u=x;v=k[u>>2]|0;u=k[u+4>>2]|0;y=b+16|0;d=y;c=k[d>>2]|0;d=kq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((u|0)<(e|0)|(u|0)==(e|0)&v>>>0>>0){b=0;r=A;return b|0}v=(k[b>>2]|0)+c|0;v=l[v>>0]|l[v+1>>0]<<8|l[v+2>>0]<<16|l[v+3>>0]<<24;u=y;k[u>>2]=d;k[u+4>>2]=e;if((v|0)<1){b=0;r=A;return b|0}u=a+4|0;c=a+8|0;f=k[c>>2]|0;e=k[u>>2]|0;d=f-e>>2;if(v>>>0<=d>>>0){if(v>>>0>>0?(g=e+(v<<2)|0,(f|0)!=(g|0)):0)k[c>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else Xg(u,v-d|0);q=k[a+20>>2]|0;s=z+60|0;t=0;while(1){n=x;m=k[n>>2]|0;n=k[n+4>>2]|0;g=y;d=k[g>>2]|0;g=k[g+4>>2]|0;if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>d>>>0)){c=0;d=27;break}o=k[b>>2]|0;p=i[o+d>>0]|0;c=kq(d|0,g|0,1,0)|0;h=L;a=y;k[a>>2]=c;k[a+4>>2]=h;if(!((n|0)>(h|0)|(n|0)==(h|0)&m>>>0>c>>>0)){c=0;d=27;break}h=i[o+c>>0]|0;c=kq(d|0,g|0,2,0)|0;a=L;f=y;k[f>>2]=c;k[f+4>>2]=a;if(!((n|0)>(a|0)|(n|0)==(a|0)&m>>>0>c>>>0)){c=0;d=27;break}a=i[o+c>>0]|0;c=kq(d|0,g|0,3,0)|0;f=L;e=y;k[e>>2]=c;k[e+4>>2]=f;if(!((n|0)>(f|0)|(n|0)==(f|0)&m>>>0>c>>>0)){c=0;d=27;break}e=i[o+c>>0]|0;f=kq(d|0,g|0,4,0)|0;c=y;k[c>>2]=f;k[c+4>>2]=L;c=kq(d|0,g|0,6,0)|0;d=L;if((n|0)<(d|0)|(n|0)==(d|0)&m>>>0>>0){c=0;d=27;break}g=o+f|0;g=l[g>>0]|l[g+1>>0]<<8;n=y;k[n>>2]=c;k[n+4>>2]=d;n=h&255;Je(z);o=ha(dd(n)|0,a&255)|0;Ke(z,p&255,0,a,n,e<<24>>24!=0,o,((o|0)<0)<<31>>31,0,0);j[s>>1]=g;g=aq(88)|0;Ne(g,z);k[w>>2]=g;g=ug(q,w)|0;a=k[w>>2]|0;k[w>>2]=0;if(a|0){c=k[a+68>>2]|0;d=c;if(c|0){e=a+72|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(c)}p=a+64|0;c=k[p>>2]|0;k[p>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;Jp(d)}Jp(c)}Jp(a)}k[(k[u>>2]|0)+(t<<2)>>2]=g;t=t+1|0;if((t|0)>=(v|0)){c=1;d=27;break}}if((d|0)==27){r=A;return c|0}return 0}function Xg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){iq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)zp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;iq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;mq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Jp(j);return}function Yg(a){a=a|0;k[a>>2]=2948;a=a+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;return}function Zg(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b)return;c=a+12|0;a=k[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-4|0;k[c>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)ab[k[(k[a>>2]|0)+4>>2]&127](a);a=k[c>>2]|0}while((a|0)!=(b|0));b=k[d>>2]|0}Jp(b);return}function _g(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Jp(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)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Jp(b);Jp(a);return}function $g(a){a=a|0;return 0}function ah(a){a=a|0;return 1}function bh(a){a=a|0;return 1}function ch(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=a+20|0;b=k[h>>2]|0;g=b+8|0;f=k[g+4>>2]|0;e=b+16|0;d=e;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((f|0)>(d|0)|((f|0)==(d|0)?(k[g>>2]|0)>>>0>c>>>0:0))){a=0;return a|0}f=i[(k[b>>2]|0)+c>>0]|0;d=kq(c|0,d|0,1,0)|0;g=e;k[g>>2]=d;k[g+4>>2]=L;g=f&255;e=f<<24>>24==0;a:do if(!e){b=0;while(1){if(!(gb[k[(k[a>>2]|0)+16>>2]&63](a,b)|0)){b=0;break}b=b+1|0;if((b|0)>=(g|0))break a}return b|0}while(0);f=a+8|0;b=k[f>>2]|0;c=k[a+12>>2]|0;b:do if((b|0)!=(c|0)){d=a+4|0;while(1){j=k[b>>2]|0;b=b+4|0;if(!(_a[k[(k[j>>2]|0)+8>>2]&31](j,a,k[d>>2]|0)|0)){b=0;break}if((b|0)==(c|0))break b}return b|0}while(0);c:do if(!e){b=0;while(1){j=k[(k[f>>2]|0)+(b<<2)>>2]|0;b=b+1|0;if(!(gb[k[(k[j>>2]|0)+12>>2]&63](j,k[h>>2]|0)|0)){b=0;break}if((b|0)>=(g|0))break c}return b|0}while(0);if(!(cb[k[(k[a>>2]|0)+28>>2]&127](a)|0)){j=0;return j|0}j=cb[k[(k[a>>2]|0)+32>>2]&127](a)|0;return j|0}function dh(a){a=a|0;var b=0,c=0,d=0;b=k[a+8>>2]|0;c=k[a+12>>2]|0;if((b|0)==(c|0)){c=1;return c|0}a=a+20|0;while(1){d=k[b>>2]|0;b=b+4|0;if(!(gb[k[(k[d>>2]|0)+16>>2]&63](d,k[a>>2]|0)|0)){b=0;a=5;break}if((b|0)==(c|0)){b=1;a=5;break}}if((a|0)==5)return b|0;return 0}function eh(a){a=a|0;return 1}function fh(a){a=a|0;k[a>>2]=2976;a=a+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;return}function gh(a,b,c){a=a|0;b=b|0;c=c|0;k[a+20>>2]=b;k[a+4>>2]=c;if(!(cb[k[(k[a>>2]|0)+12>>2]&127](a)|0)){a=0;return a|0}if(!(cb[k[(k[a>>2]|0)+20>>2]&127](a)|0)){a=0;return a|0}a=cb[k[(k[a>>2]|0)+24>>2]&127](a)|0;return a|0}function hh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Jp(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)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Jp(b);Jp(a);return}function ih(a){a=a|0;return 1}function jh(a){a=a|0;if(!(k[a+24>>2]|0))return 0;else return cb[k[(k[a>>2]|0)+48>>2]&127](a)|0;return 0}function kh(a){a=a|0;return 0}function lh(a,b){a=a|0;b=b|0;return 0}function mh(a,b){a=a|0;b=b|0;return 0}function nh(a){a=a|0;fh(a);k[a>>2]=3020;k[a+24>>2]=0;return}function oh(a,b,c){a=a|0;b=b|0;c=c|0;k[a+24>>2]=c;return gh(a,b,c)|0}function ph(a){a=a|0;return}function qh(a){a=a|0;Jp(a);return}function rh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;k[a+4>>2]=b;b=k[b+4>>2]|0;if((c|0)<=-1)Aa(9671,9687,62,9715);d=k[b+4>>2]|0;if(((k[b+8>>2]|0)-d>>2|0)>(c|0)){k[a+8>>2]=k[d+(c<<2)>>2];k[a+12>>2]=c;return 1}else Aa(9725,9687,63,9715);return 0}function sh(a,b){a=a|0;b=b|0;k[a+8>>2]=b;k[a+12>>2]=-1;return 1}function th(a,b,c){a=a|0;b=b|0;c=c|0;if(!(Oe(k[a+8>>2]|0,(k[b+4>>2]|0)-(k[b>>2]|0)>>2)|0)){a=0;return a|0}a=_a[k[(k[a>>2]|0)+24>>2]&31](a,b,c)|0;return a|0}function uh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;if((cb[k[(k[b>>2]|0)+20>>2]&127](b)|0)<=0){b=1;return b|0}e=a+4|0;f=0;while(1){a=k[(k[e>>2]|0)+4>>2]|0;a=tg(a,gb[k[(k[b>>2]|0)+24>>2]&63](b,f)|0)|0;if((a|0)==-1){a=0;c=10;break}c=k[(k[e>>2]|0)+4>>2]|0;if((a|0)<=-1){c=6;break}d=k[c+4>>2]|0;if(((k[c+8>>2]|0)-d>>2|0)<=(a|0)){c=8;break}f=f+1|0;if(!(gb[k[(k[b>>2]|0)+28>>2]&63](b,k[d+(a<<2)>>2]|0)|0)){a=0;c=10;break}if((f|0)>=(cb[k[(k[b>>2]|0)+20>>2]&127](b)|0)){a=1;c=10;break}}if((c|0)==6)Aa(9671,9687,62,9715);else if((c|0)==8)Aa(9725,9687,63,9715);else if((c|0)==10)return a|0;return 0}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,i=0,j=0,l=0,m=0,n=0,o=0;j=(k[b+4>>2]|0)-(k[b>>2]|0)|0;l=j>>2;h=a+8|0;b=k[(k[h>>2]|0)+40>>2]|0;m=cq((b|0)>-1?b:-1)|0;a=c+8|0;if((j|0)<=0){c=1;dq(m);return c|0}d=c+16|0;i=0;j=0;while(1){o=a;n=k[o>>2]|0;o=k[o+4>>2]|0;f=d;e=k[f>>2]|0;f=kq(e|0,k[f+4>>2]|0,b|0,0)|0;g=L;if((o|0)<(g|0)|(o|0)==(g|0)&n>>>0>>0){b=0;a=5;break}mq(m|0,(k[c>>2]|0)+e|0,b|0)|0;o=d;k[o>>2]=f;k[o+4>>2]=g;mq((k[k[(k[h>>2]|0)+64>>2]>>2]|0)+j|0,m|0,b|0)|0;i=i+1|0;if((i|0)>=(l|0)){b=1;a=5;break}else j=j+b|0}if((a|0)==5){dq(m);return b|0}return 0}function wh(a){a=a|0;k[a>>2]=3080;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=-1;return}function xh(a){a=a|0;var b=0,c=0;k[a>>2]=3116;c=a+28|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);c=k[a+16>>2]|0;if(!c)return;b=a+20|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Jp(c);return}function yh(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3116;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)ab[k[(k[b>>2]|0)+4>>2]&127](b);d=k[a+16>>2]|0;if(!d){Jp(a);return}b=a+20|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);Jp(d);Jp(a);return}function zh(a,b,c){a=a|0;b=b|0;c=c|0;return rh(a,b,c)|0}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,l=0,m=0,n=0;m=(k[b+4>>2]|0)-(k[b>>2]|0)>>2;g=c+8|0;j=k[g>>2]|0;g=k[g+4>>2]|0;h=c+16|0;d=h;e=k[d>>2]|0;d=k[d+4>>2]|0;if((g|0)>(d|0)|(g|0)==(d|0)&j>>>0>e>>>0){f=i[(k[c>>2]|0)+e>>0]|0;e=kq(e|0,d|0,1,0)|0;d=L;n=h;k[n>>2]=e;k[n+4>>2]=d;if(f<<24>>24!=-2)l=3}else{f=0;l=3}if((l|0)==3){if((g|0)>(d|0)|(g|0)==(d|0)&j>>>0>e>>>0){n=i[(k[c>>2]|0)+e>>0]|0;l=kq(e|0,d|0,1,0)|0;d=h;k[d>>2]=l;k[d+4>>2]=L;d=n}else d=0;n=a+28|0;l=_a[k[(k[a>>2]|0)+32>>2]&31](a,f<<24>>24,d<<24>>24)|0;d=k[n>>2]|0;k[n>>2]=l;if(d|0)ab[k[(k[d>>2]|0)+4>>2]&127](d)}d=k[a+28>>2]|0;if(d|0?!(gb[k[(k[a>>2]|0)+20>>2]&63](a,d)|0):0){n=0;return n|0}if(!(_a[k[(k[a>>2]|0)+28>>2]&31](a,b,c)|0)){n=0;return n|0}n=gb[k[(k[a>>2]|0)+40>>2]&63](a,m)|0;return n|0}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,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=cb[k[(k[a>>2]|0)+36>>2]&127](a)|0;v=a+16|0;h=ha((k[b+4>>2]|0)-(k[b>>2]|0)>>2,u)|0;t=a+20|0;f=k[t>>2]|0;e=k[v>>2]|0;d=f-e>>2;if(h>>>0<=d>>>0){if(h>>>0>>0?(g=e+(h<<2)|0,(f|0)!=(g|0)):0)k[t>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else Xg(v,h-d|0);r=c+8|0;n=r;o=k[n>>2]|0;n=k[n+4>>2]|0;s=c+16|0;g=s;f=k[g>>2]|0;g=k[g+4>>2]|0;if(!((n|0)>(g|0)|(n|0)==(g|0)&o>>>0>f>>>0)){b=0;return b|0}l=k[c>>2]|0;q=i[l+f>>0]|0;d=kq(f|0,g|0,1,0)|0;e=L;p=s;k[p>>2]=d;k[p+4>>2]=e;a:do if(!(q<<24>>24)){if(!((n|0)>(e|0)|(n|0)==(e|0)&o>>>0>d>>>0)){b=0;return b|0}j=i[l+d>>0]|0;m=kq(f|0,g|0,2,0)|0;d=L;h=s;k[h>>2]=m;k[h+4>>2]=d;h=k[t>>2]|0;g=k[v>>2]|0;e=h-g|0;f=g;if(j<<24>>24==4){r=kq(m|0,d|0,e|0,0)|0;q=L;if((n|0)<(q|0)|(n|0)==(q|0)&o>>>0>>0){b=0;return b|0}else{mq(f|0,l+m|0,e|0)|0;r=s;r=kq(k[r>>2]|0,k[r+4>>2]|0,e|0,0)|0;k[s>>2]=r;k[s+4>>2]=L;break}}if((h|0)!=(g|0)){q=j&255;p=j&255;l=n;j=o;e=m;f=0;while(1){o=kq(e|0,d|0,q|0,0)|0;n=L;if(!((l|0)<(n|0)|(l|0)==(n|0)&j>>>0>>0)){mq(g+(f<<2)|0,(k[c>>2]|0)+e|0,p|0)|0;e=s;e=kq(k[e>>2]|0,k[e+4>>2]|0,q|0,0)|0;d=L;g=s;k[g>>2]=e;k[g+4>>2]=d;g=k[v>>2]|0;h=k[t>>2]|0}f=f+1|0;if(f>>>0>=h-g>>2>>>0)break a;j=r;l=k[j+4>>2]|0;j=k[j>>2]|0}}}else if(!(Ld(h,u,c,k[v>>2]|0)|0)){b=0;return b|0}while(0);e=a+28|0;d=k[e>>2]|0;if(!((d|0)!=0?cb[k[(k[d>>2]|0)+40>>2]&127](d)|0:0)){a=k[v>>2]|0;Kd(a,(k[t>>2]|0)-a>>2,a)}d=k[e>>2]|0;if(d|0){if(!(gb[k[(k[d>>2]|0)+36>>2]&63](d,c)|0)){b=0;return b|0}a=k[e>>2]|0;c=k[v>>2]|0;if(!(bb[k[(k[a>>2]|0)+52>>2]&31](a,c,c,(k[t>>2]|0)-c>>2,u,k[b>>2]|0)|0)){b=0;return b|0}}b=1;return b|0}function Ch(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+48|0;f=g;if((c|0)!=1){b=0;r=g;return b|0}e=k[a+12>>2]|0;c=k[a+4>>2]|0;a=f;d=a+36|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(d|0));b=Dh(b,e,c,f)|0;r=g;return b|0}function Dh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=k[c+4>>2]|0;if((b|0)<=-1)Aa(9671,9687,54,9715);f=k[e+4>>2]|0;if(((k[e+8>>2]|0)-f>>2|0)<=(b|0))Aa(9725,9687,55,9715);e=k[f+(b<<2)>>2]|0;if((cb[k[(k[c>>2]|0)+8>>2]&127](c)|0)==1?(g=Eh(c,a,b,d)|0,g|0):0){d=g;return d|0}if((a|0)==-2){d=0;return d|0}a=aq(44)|0;k[a>>2]=3168;k[a+4>>2]=e;k[a+8>>2]=k[d>>2];c=a+12|0;b=d+4|0;k[c>>2]=k[b>>2];k[c+4>>2]=k[b+4>>2];k[c+8>>2]=k[b+8>>2];k[c+12>>2]=k[b+12>>2];k[c+16>>2]=k[b+16>>2];Qh(a+32|0,d+24|0);k[a>>2]=3616;d=a;return d|0}function Eh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+16|0;i=j;e=k[a+4>>2]|0;if((c|0)<=-1)Aa(9671,9687,54,9715);f=k[e+4>>2]|0;if(((k[e+8>>2]|0)-f>>2|0)<=(c|0))Aa(9725,9687,55,9715);f=k[f+(c<<2)>>2]|0;if(!((b+-1|0)>>>0<3&(cb[k[(k[a>>2]|0)+8>>2]&127](a)|0)==1)){d=0;r=j;return d|0}g=cb[k[(k[a>>2]|0)+36>>2]&127](a)|0;h=gb[k[(k[a>>2]|0)+44>>2]&63](a,c)|0;if((g|0)==0|(h|0)==0){d=0;r=j;return d|0}e=gb[k[(k[a>>2]|0)+40>>2]&63](a,c)|0;if(!e){c=i;k[c>>2]=0;k[c+4>>2]=0;k[i>>2]=k[a+24>>2];k[i+4>>2]=g;k[i+12>>2]=h;k[i+8>>2]=h+12;d=oi(b,f,d,i)|0;r=j;return d|0}else{c=i;k[c>>2]=0;k[c+4>>2]=0;k[i>>2]=k[a+24>>2];k[i+4>>2]=e;k[i+12>>2]=h;k[i+8>>2]=h+12;d=Fh(b,f,d,i)|0;r=j;return d|0}return 0}function Fh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;switch(a|0){case 1:{a=aq(60)|0;k[a>>2]=3168;k[a+4>>2]=b;k[a+8>>2]=k[c>>2];b=a+12|0;e=c+4|0;k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];Qh(a+32|0,c+24|0);c=a+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[a>>2]=3232;c=a;return c|0}case 2:{e=aq(60)|0;k[e>>2]=3168;k[e+4>>2]=b;k[e+8>>2]=k[c>>2];a=e+12|0;b=c+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[a+16>>2]=k[b+16>>2];Qh(e+32|0,c+24|0);c=e+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[e>>2]=3296;return e|0}case 3:{e=aq(88)|0;k[e>>2]=3168;k[e+4>>2]=b;k[e+8>>2]=k[c>>2];a=e+12|0;b=c+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[a+16>>2]=k[b+16>>2];Qh(e+32|0,c+24|0);c=e+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[e>>2]=3360;c=e+60|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;k[c+24>>2]=0;return e|0}default:{e=0;return e|0}}return 0}function Gh(a){a=a|0;var b=0,c=0;k[a>>2]=3168;c=k[a+32>>2]|0;if(!c)return;a=a+36|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Jp(c);return}function Hh(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Jp(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);Jp(b);Jp(a);return}function Ih(a){a=a|0;return k[a+4>>2]|0}function Jh(a){a=a|0;return 0}function Kh(a,b){a=a|0;b=b|0;return -1}function Lh(a,b){a=a|0;b=b|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,i=0;h=r;r=r+16|0;e=h+4|0;f=h;c=a+12|0;d=b+16|0;g=d;i=k[g+4>>2]|0;if((i|0)>0|(i|0)==0&(k[g>>2]|0)>>>0>0){r=h;return 1}g=b+4|0;k[f>>2]=k[g>>2];k[e>>2]=k[f>>2];fd(b,e,c,c+4|0)|0;i=d;d=k[i+4>>2]|0;c=a+16|0;if((d|0)>0|(d|0)==0&(k[i>>2]|0)>>>0>0){r=h;return 1}k[f>>2]=k[g>>2];k[e>>2]=k[f>>2];fd(b,e,c,c+4|0)|0;r=h;return 1}function Nh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;e=b+8|0;j=e;g=k[j>>2]|0;j=k[j+4>>2]|0;f=b+16|0;d=f;c=k[d>>2]|0;d=kq(c|0,k[d+4>>2]|0,4,0)|0;h=L;if((j|0)<(h|0)|(j|0)==(h|0)&g>>>0>>0){j=0;return j|0}j=a+12|0;c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[j>>0]=c;i[j+1>>0]=c>>8;i[j+2>>0]=c>>16;i[j+3>>0]=c>>24;j=f;g=k[j>>2]|0;j=k[j+4>>2]|0;d=kq(g|0,j|0,4,0)|0;h=f;k[h>>2]=d;k[h+4>>2]=L;h=k[e>>2]|0;e=k[e+4>>2]|0;j=kq(g|0,j|0,8,0)|0;g=L;if((e|0)<(g|0)|(e|0)==(g|0)&h>>>0>>0){j=0;return j|0}h=a+16|0;j=(k[b>>2]|0)+d|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;i[h>>0]=j;i[h+1>>0]=j>>8;i[h+2>>0]=j>>16;i[h+3>>0]=j>>24;h=f;h=kq(k[h>>2]|0,k[h+4>>2]|0,4,0)|0;d=f;k[d>>2]=h;k[d+4>>2]=L;j=1-c+j|0;k[a+20>>2]=j;c=(j|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(j&1|0){j=1;return j|0}k[d>>2]=c+-1;j=1;return j|0}function Oh(a){a=a|0;return 0}function Ph(a){a=a|0;return 1}function Qh(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;e=b+4|0;c=(k[e>>2]|0)-(k[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823)zp(a);f=aq(c)|0;k[g>>2]=f;k[a>>2]=f;k[a+8>>2]=f+(d<<2);c=k[b>>2]|0;b=k[e>>2]|0;if((c|0)==(b|0))return;a=(b+-4-c|0)>>>2;d=f;while(1){k[d>>2]=k[c>>2];c=c+4|0;if((c|0)==(b|0))break;else d=d+4|0}k[g>>2]=f+(a+1<<2);return}function Rh(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Jp(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);Jp(b);Jp(a);return}function Sh(a){a=a|0;return 1}function Th(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 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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=a+8|0;k[H>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;g=f;i=1;while(1){f=k[b+(i<<2)>>2]|0;if((f|0)>=(h|0))if((f|0)>(g|0)){k[j>>2]=f;g=f;f=h}else f=h;else k[l>>2]=f;i=i+1|0;if((i|0)==(d|0))break;else h=f}}else g=f;F=1-f+g|0;k[a+20>>2]=F;f=(F|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(F&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Xg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=e>>>0>1073741823?-1:e<<2;F=cq(o)|0;iq(F|0,0,o|0)|0;o=k[a+48>>2]|0;p=a+56|0;h=k[p>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;a:do if((i|0)>4){q=k[a+52>>2]|0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=o+64|0;y=o+28|0;z=(e|0)>0;m=i>>2;while(1){n=m+-1|0;if(g-f>>2>>>0<=n>>>0)break;f=k[f+(n<<2)>>2]|0;if(!((f|0)<0?1:(1<<(f&31)&k[(k[o>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(A=k[(k[(k[x>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(A|0)>-1):0){h=k[y>>2]|0;d=k[q>>2]|0;f=k[d+(k[h+(A<<2)>>2]<<2)>>2]|0;g=A+1|0;g=k[d+(k[h+((((g|0)%3|0|0)==0?A+-2|0:g)<<2)>>2]<<2)>>2]|0;h=k[d+(k[h+((((A|0)%3|0|0)==0?2:-1)+A<<2)>>2]<<2)>>2]|0;d=ha(n,e)|0;if((f|0)<(n|0)&(g|0)<(n|0)&(h|0)<(n|0)){j=ha(f,e)|0;i=ha(g,e)|0;f=ha(h,e)|0;if(z){g=0;do{k[F+(g<<2)>>2]=(k[b+(g+f<<2)>>2]|0)+(k[b+(g+i<<2)>>2]|0)-(k[b+(g+j<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}l=b+(d<<2)|0;if((k[H>>2]|0)>0){j=0;do{i=k[F+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[s>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[H>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+d<<2)>>2]=(k[l+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[H>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+d<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[u>>2]|0)){if((g|0)>(k[w>>2]|0))k[f>>2]=g-(k[v>>2]|0)}else k[f>>2]=(k[v>>2]|0)+g;h=h+1|0}while((h|0)<(k[H>>2]|0))}}}}else{C=d;E=26}}else{C=ha(n,e)|0;E=26}if((E|0)==26?(E=0,B=b+(C<<2)|0,D=b+((ha(m+-2|0,e)|0)<<2)|0,(k[H>>2]|0)>0):0){j=0;do{i=k[D+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[s>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[H>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+C<<2)>>2]=(k[B+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[H>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+C<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[u>>2]|0)){if((g|0)>(k[w>>2]|0))k[f>>2]=g-(k[v>>2]|0)}else k[f>>2]=(k[v>>2]|0)+g;h=h+1|0}while((h|0)<(k[H>>2]|0))}}}if((n|0)<=1){G=F;break a}h=k[p>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0;m=n}Ap(h)}else G=F;while(0);if((e|0)>0)iq(F|0,0,e<<2|0)|0;if((k[H>>2]|0)<=0){dq(F);return 1}j=a+16|0;l=a+32|0;d=a+12|0;m=0;do{i=k[G+(m<<2)>>2]|0;f=k[j>>2]|0;do if((i|0)<=(f|0)){f=k[d>>2]|0;h=k[l>>2]|0;g=h+(m<<2)|0;if((i|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=i;break}}else{h=k[l>>2]|0;k[h+(m<<2)>>2]=f}while(0);m=m+1|0;f=k[H>>2]|0}while((m|0)<(f|0));if((f|0)>0)g=0;else{dq(F);return 1}do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)-(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[H>>2]|0}while((g|0)<(f|0));if((f|0)<=0){dq(F);return 1}j=a+28|0;l=a+20|0;f=a+24|0;i=0;do{g=c+(i<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[j>>2]|0)){if((h|0)>(k[f>>2]|0))k[g>>2]=h-(k[l>>2]|0)}else k[g>>2]=(k[l>>2]|0)+h;i=i+1|0}while((i|0)<(k[H>>2]|0));dq(F);return 1}function Vh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;y=a+8|0;k[y>>2]=e;g=a+32|0;h=a+36|0;f=k[h>>2]|0;d=k[g>>2]|0;i=f-d>>2;if(i>>>0>=e>>>0)if(i>>>0>e>>>0?(j=d+(e<<2)|0,(f|0)!=(j|0)):0){k[h>>2]=f+(~((f+-4-j|0)>>>2)<<2);d=e}else d=e;else{Xg(g,e-i|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=cq(u)|0;iq(x|0,0,u|0)|0;if((d|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{h=k[x+(j<<2)>>2]|0;d=k[l>>2]|0;do if((h|0)<=(d|0)){d=k[m>>2]|0;f=k[i>>2]|0;g=f+(j<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[i>>2]|0;k[f+(j<<2)>>2]=d}while(0);j=j+1|0;d=k[y>>2]|0}while((j|0)<(d|0));g=f;if((d|0)>0){f=0;do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)+(k[g+(f<<2)>>2]|0);f=f+1|0;d=k[y>>2]|0}while((f|0)<(d|0));if((d|0)>0){d=a+20|0;h=0;do{f=c+(h<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[l>>2]|0)){if((g|0)<(k[m>>2]|0))k[f>>2]=(k[d>>2]|0)+g}else k[f>>2]=g-(k[d>>2]|0);h=h+1|0}while((h|0)<(k[y>>2]|0))}}}q=a+56|0;d=k[q>>2]|0;g=k[d+4>>2]|0;f=k[d>>2]|0;u=g-f|0;r=u>>2;if((u|0)<=4){dq(x);return 1}s=a+16|0;t=a+32|0;u=a+12|0;a=a+20|0;n=v+64|0;o=v+28|0;p=(e|0)>0;h=d;m=1;while(1){if(g-f>>2>>>0<=m>>>0){D=28;break}d=k[f+(m<<2)>>2]|0;if(!((d|0)<0?1:(1<<(d&31)&k[(k[v>>2]|0)+(d>>>5<<2)>>2]|0)!=0)?(z=k[(k[(k[n>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(z|0)>-1):0){g=k[o>>2]|0;l=k[w>>2]|0;d=k[l+(k[g+(z<<2)>>2]<<2)>>2]|0;f=z+1|0;f=k[l+(k[g+((((f|0)%3|0|0)==0?z+-2|0:f)<<2)>>2]<<2)>>2]|0;g=k[l+(k[g+((((z|0)%3|0|0)==0?2:-1)+z<<2)>>2]<<2)>>2]|0;l=ha(m,e)|0;if((d|0)<(m|0)&(f|0)<(m|0)&(g|0)<(m|0)){i=ha(d,e)|0;h=ha(f,e)|0;d=ha(g,e)|0;if(p){f=0;do{k[x+(f<<2)>>2]=(k[c+(f+d<<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=c+(l<<2)|0;if((k[y>>2]|0)>0){i=0;do{h=k[x+(i<<2)>>2]|0;d=k[s>>2]|0;do if((h|0)<=(d|0)){d=k[u>>2]|0;f=k[t>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[t>>2]|0;k[f+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[y>>2]|0}while((i|0)<(d|0));if((d|0)>0){g=0;do{k[j+(g<<2)>>2]=(k[b+(g+l<<2)>>2]|0)+(k[f+(g<<2)>>2]|0);g=g+1|0;d=k[y>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=0;do{d=j+(g<<2)|0;f=k[d>>2]|0;if((f|0)<=(k[s>>2]|0)){if((f|0)<(k[u>>2]|0))k[d>>2]=(k[a>>2]|0)+f}else k[d>>2]=f-(k[a>>2]|0);g=g+1|0}while((g|0)<(k[y>>2]|0))}}}}else{C=l;D=32}}else{C=ha(m,e)|0;D=32}if((D|0)==32?(D=0,A=c+((ha(m+-1|0,e)|0)<<2)|0,B=c+(C<<2)|0,(k[y>>2]|0)>0):0){i=0;do{h=k[A+(i<<2)>>2]|0;d=k[s>>2]|0;do if((h|0)<=(d|0)){d=k[u>>2]|0;f=k[t>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[t>>2]|0;k[f+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[y>>2]|0}while((i|0)<(d|0));if((d|0)>0){g=0;do{k[B+(g<<2)>>2]=(k[b+(g+C<<2)>>2]|0)+(k[f+(g<<2)>>2]|0);g=g+1|0;d=k[y>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=0;do{d=B+(g<<2)|0;f=k[d>>2]|0;if((f|0)<=(k[s>>2]|0)){if((f|0)<(k[u>>2]|0))k[d>>2]=(k[a>>2]|0)+f}else k[d>>2]=f-(k[a>>2]|0);g=g+1|0}while((g|0)<(k[y>>2]|0))}}}d=m+1|0;if((d|0)>=(r|0)){D=25;break}g=k[q>>2]|0;h=g;f=k[g>>2]|0;g=k[g+4>>2]|0;m=d}if((D|0)==25){dq(x);return 1}else if((D|0)==28)Ap(h);return 0}function Wh(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Jp(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);Jp(b);Jp(a);return}function Xh(a){a=a|0;return 2}function Yh(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 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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=a+8|0;k[M>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){h=f;g=f;i=1;while(1){f=k[b+(i<<2)>>2]|0;if((f|0)>=(h|0))if((f|0)>(g|0)){k[j>>2]=f;g=f;f=h}else f=h;else k[l>>2]=f;i=i+1|0;if((i|0)==(d|0))break;else h=f}}else g=f;K=1-f+g|0;k[a+20>>2]=K;f=(K|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(K&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Xg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);p=k[a+48>>2]|0;q=k[a+52>>2]|0;r=e>>>0>1073741823?-1:e<<2;K=cq(r)|0;iq(K|0,0,r|0)|0;r=a+56|0;h=k[r>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;i=g-f|0;a:do if((i|0)>4){s=(e|0)>0;t=a+16|0;u=a+32|0;v=a+12|0;w=a+28|0;x=a+20|0;y=a+24|0;z=p+64|0;A=p+28|0;B=e<<2;n=i>>2;while(1){o=n+-1|0;if(g-f>>2>>>0<=o>>>0)break;m=k[f+(o<<2)>>2]|0;if(s)iq(K|0,0,B|0)|0;if((m|0)>-1){d=k[p>>2]|0;f=m;g=0;do{do if(((k[d+(f>>>5<<2)>>2]&1<<(f&31)|0)==0?(C=k[(k[(k[z>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(C|0)>-1):0)?(E=k[A>>2]|0,l=k[q>>2]|0,I=k[l+(k[E+(C<<2)>>2]<<2)>>2]|0,D=C+1|0,D=k[l+(k[E+((((D|0)%3|0|0)==0?C+-2|0:D)<<2)>>2]<<2)>>2]|0,E=k[l+(k[E+((((C|0)%3|0|0)==0?2:-1)+C<<2)>>2]<<2)>>2]|0,(I|0)<(o|0)&(D|0)<(o|0)&(E|0)<(o|0)):0){h=ha(I,e)|0;i=ha(D,e)|0;j=ha(E,e)|0;if(s)l=0;else{g=g+1|0;J=34;break}do{N=K+(l<<2)|0;k[N>>2]=(k[b+(l+j<<2)>>2]|0)+(k[b+(l+i<<2)>>2]|0)-(k[b+(l+h<<2)>>2]|0)+(k[N>>2]|0);l=l+1|0}while((l|0)!=(e|0));g=g+1|0;if((f|0)>=0)J=34}else J=34;while(0);do if((J|0)==34){J=0;if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);do if(!(1<<(f&31)&k[d+(f>>>5<<2)>>2])){if((f|0)>=0){f=k[(k[(k[z>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f|0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);f=(f|0)==(m|0)?-1073741824:f}while((f|0)>-1);d=ha(o,e)|0;if(g){if(s){f=0;do{N=K+(f<<2)|0;k[N>>2]=(k[N>>2]|0)/(g|0)|0;f=f+1|0}while((f|0)!=(e|0))}l=b+(d<<2)|0;if((k[M>>2]|0)>0){j=0;do{i=k[K+(j<<2)>>2]|0;f=k[t>>2]|0;do if((i|0)<=(f|0)){f=k[v>>2]|0;g=k[u>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[u>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[M>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+d<<2)>>2]=(k[l+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[M>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+d<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[w>>2]|0)){if((g|0)>(k[y>>2]|0))k[f>>2]=g-(k[x>>2]|0)}else k[f>>2]=(k[x>>2]|0)+g;h=h+1|0}while((h|0)<(k[M>>2]|0))}}}}else{G=d;J=46}}else{G=ha(o,e)|0;J=46}if((J|0)==46?(J=0,F=b+(G<<2)|0,H=b+((ha(n+-2|0,e)|0)<<2)|0,(k[M>>2]|0)>0):0){j=0;do{i=k[H+(j<<2)>>2]|0;f=k[t>>2]|0;do if((i|0)<=(f|0)){f=k[v>>2]|0;g=k[u>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[u>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[M>>2]|0}while((j|0)<(f|0));if((f|0)>0){h=0;do{k[c+(h+G<<2)>>2]=(k[F+(h<<2)>>2]|0)-(k[g+(h<<2)>>2]|0);h=h+1|0;f=k[M>>2]|0}while((h|0)<(f|0));if((f|0)>0){h=0;do{f=c+(h+G<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[w>>2]|0)){if((g|0)>(k[y>>2]|0))k[f>>2]=g-(k[x>>2]|0)}else k[f>>2]=(k[x>>2]|0)+g;h=h+1|0}while((h|0)<(k[M>>2]|0))}}}if((o|0)<=1){L=K;break a}h=k[r>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0;n=o}Ap(h)}else L=K;while(0);if((e|0)>0)iq(K|0,0,e<<2|0)|0;if((k[M>>2]|0)<=0){dq(K);return 1}j=a+16|0;l=a+32|0;d=a+12|0;m=0;do{i=k[L+(m<<2)>>2]|0;f=k[j>>2]|0;do if((i|0)<=(f|0)){f=k[d>>2]|0;h=k[l>>2]|0;g=h+(m<<2)|0;if((i|0)<(f|0)){k[g>>2]=f;break}else{k[g>>2]=i;break}}else{h=k[l>>2]|0;k[h+(m<<2)>>2]=f}while(0);m=m+1|0;f=k[M>>2]|0}while((m|0)<(f|0));if((f|0)>0)g=0;else{dq(K);return 1}do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)-(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[M>>2]|0}while((g|0)<(f|0));if((f|0)<=0){dq(K);return 1}j=a+28|0;l=a+20|0;f=a+24|0;i=0;do{g=c+(i<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[j>>2]|0)){if((h|0)>(k[f>>2]|0))k[g>>2]=h-(k[l>>2]|0)}else k[g>>2]=(k[l>>2]|0)+h;i=i+1|0}while((i|0)<(k[M>>2]|0));dq(K);return 1}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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;A=a+8|0;k[A>>2]=e;g=a+32|0;h=a+36|0;f=k[h>>2]|0;d=k[g>>2]|0;i=f-d>>2;if(i>>>0>=e>>>0)if(i>>>0>e>>>0?(j=d+(e<<2)|0,(f|0)!=(j|0)):0){k[h>>2]=f+(~((f+-4-j|0)>>>2)<<2);d=e}else d=e;else{Xg(g,e-i|0);d=k[A>>2]|0}y=e>>>0>1073741823?-1:e<<2;z=cq(y)|0;iq(z|0,0,y|0)|0;if((d|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{h=k[z+(j<<2)>>2]|0;d=k[l>>2]|0;do if((h|0)<=(d|0)){d=k[m>>2]|0;f=k[i>>2]|0;g=f+(j<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[i>>2]|0;k[f+(j<<2)>>2]=d}while(0);j=j+1|0;d=k[A>>2]|0}while((j|0)<(d|0));g=f;if((d|0)>0){f=0;do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)+(k[g+(f<<2)>>2]|0);f=f+1|0;d=k[A>>2]|0}while((f|0)<(d|0));if((d|0)>0){d=a+20|0;h=0;do{f=c+(h<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[l>>2]|0)){if((g|0)<(k[m>>2]|0))k[f>>2]=(k[d>>2]|0)+g}else k[f>>2]=g-(k[d>>2]|0);h=h+1|0}while((h|0)<(k[A>>2]|0))}}}r=k[a+48>>2]|0;s=a+56|0;g=k[s>>2]|0;f=k[g+4>>2]|0;d=k[g>>2]|0;y=f-d|0;t=y>>2;if((y|0)<=4){dq(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;h=d;a=1;while(1){if(f-h>>2>>>0<=a>>>0){I=28;break}m=k[h+(a<<2)>>2]|0;if(v)iq(z|0,0,q|0)|0;if((m|0)>-1){l=k[r>>2]|0;d=m;f=0;do{do if(((k[l+(d>>>5<<2)>>2]&1<<(d&31)|0)==0?(B=k[(k[(k[o>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(B|0)>-1):0)?(E=k[p>>2]|0,j=k[u>>2]|0,C=k[j+(k[E+(B<<2)>>2]<<2)>>2]|0,D=B+1|0,D=k[j+(k[E+((((D|0)%3|0|0)==0?B+-2|0:D)<<2)>>2]<<2)>>2]|0,E=k[j+(k[E+((((B|0)%3|0|0)==0?2:-1)+B<<2)>>2]<<2)>>2]|0,(C|0)<(a|0)&(D|0)<(a|0)&(E|0)<(a|0)):0){g=ha(C,e)|0;h=ha(D,e)|0;i=ha(E,e)|0;if(v)j=0;else{f=f+1|0;I=40;break}do{J=z+(j<<2)|0;k[J>>2]=(k[c+(j+i<<2)>>2]|0)+(k[c+(j+h<<2)>>2]|0)-(k[c+(j+g<<2)>>2]|0)+(k[J>>2]|0);j=j+1|0}while((j|0)!=(e|0));f=f+1|0;if((d|0)>=0)I=40}else I=40;while(0);do if((I|0)==40){I=0;if(!((d|0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);do if(!(1<<(d&31)&k[l+(d>>>5<<2)>>2])){if((d|0)>=0){d=k[(k[(k[o>>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);d=(d|0)==(m|0)?-1073741824:d}while((d|0)>-1);j=ha(a,e)|0;if(f){if(v){d=0;do{J=z+(d<<2)|0;k[J>>2]=(k[J>>2]|0)/(f|0)|0;d=d+1|0}while((d|0)!=(e|0))}l=c+(j<<2)|0;if((k[A>>2]|0)>0){i=0;do{h=k[z+(i<<2)>>2]|0;d=k[w>>2]|0;do if((h|0)<=(d|0)){d=k[y>>2]|0;f=k[x>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[x>>2]|0;k[f+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[A>>2]|0}while((i|0)<(d|0));if((d|0)>0){g=0;do{k[l+(g<<2)>>2]=(k[b+(g+j<<2)>>2]|0)+(k[f+(g<<2)>>2]|0);g=g+1|0;d=k[A>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=0;do{d=l+(g<<2)|0;f=k[d>>2]|0;if((f|0)<=(k[w>>2]|0)){if((f|0)<(k[y>>2]|0))k[d>>2]=(k[n>>2]|0)+f}else k[d>>2]=f-(k[n>>2]|0);g=g+1|0}while((g|0)<(k[A>>2]|0))}}}}else{H=j;I=52}}else{H=ha(a,e)|0;I=52}if((I|0)==52?(I=0,F=c+((ha(a+-1|0,e)|0)<<2)|0,G=c+(H<<2)|0,(k[A>>2]|0)>0):0){i=0;do{h=k[F+(i<<2)>>2]|0;d=k[w>>2]|0;do if((h|0)<=(d|0)){d=k[y>>2]|0;f=k[x>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;break}else{k[g>>2]=h;break}}else{f=k[x>>2]|0;k[f+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[A>>2]|0}while((i|0)<(d|0));if((d|0)>0){g=0;do{k[G+(g<<2)>>2]=(k[b+(g+H<<2)>>2]|0)+(k[f+(g<<2)>>2]|0);g=g+1|0;d=k[A>>2]|0}while((g|0)<(d|0));if((d|0)>0){g=0;do{d=G+(g<<2)|0;f=k[d>>2]|0;if((f|0)<=(k[w>>2]|0)){if((f|0)<(k[y>>2]|0))k[d>>2]=(k[n>>2]|0)+f}else k[d>>2]=f-(k[n>>2]|0);g=g+1|0}while((g|0)<(k[A>>2]|0))}}}d=a+1|0;if((d|0)>=(t|0)){I=25;break}g=k[s>>2]|0;h=k[g>>2]|0;f=k[g+4>>2]|0;a=d}if((I|0)==25){dq(z);return 1}else if((I|0)==28)Ap(g);return 0}function $h(a){a=a|0;var b=0,c=0;k[a>>2]=3360;b=k[a+76>>2]|0;if(b|0)Jp(b);c=a+68|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)dq(b);k[a>>2]=3168;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Jp(c);return}function ai(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3360;b=k[a+76>>2]|0;if(b|0)Jp(b);d=a+68|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)dq(b);k[a>>2]=3168;d=k[a+32>>2]|0;if(!d){Jp(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);Jp(d);Jp(a);return}function bi(a){a=a|0;return 3}function ci(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 di(a){a=a|0;return 1}function ei(a,b){a=a|0;b=b|0;if(!b)return 0;else Aa(8689,8700,75,8780);return 0}function fi(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){a=0;return a|0}if((i[b+24>>0]|0)!=3){a=0;return a|0}k[a+60>>2]=b;a=1;return a|0}function gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n+40|0;l=n+36|0;c=n+32|0;m=n;d=a+80|0;k[c>>2]=k[d>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0)){k[l>>2]=k[b+4>>2];k[j>>2]=k[l>>2];fd(b,j,c,c+4|0)|0}kd(m);od(m);c=k[a+76>>2]|0;g=k[d>>2]|0;f=g>>>5;h=c+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){f=c;c=1;while(1){if(d){e=0;d=c;while(1){c=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){ld(m);r=n;return 1}d=b+4|0;k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];fd(b,j,c,c+4|0)|0;h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){ld(m);r=n;return 1}k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];fd(b,j,c,c+4|0)|0;ld(m);r=n;return 1} -function ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(le(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+262144|0;k[o>>2]=d;d=d>>>0>67108863;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<262144){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<262144)}while(0);p=d&65535;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>16)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=me(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|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,h=0,i=0,j=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=65536){if(f>>>0>65536?(e=g+262144|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else jd(a,65536-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Pd(d,c-f|0);if(!c){j=0;return j|0}f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(d>>>0>65536){d=0;j=19;break}if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if(h>>>0>=c>>>0)break;else e=d}if((j|0)==19)return d|0;j=(d|0)==65536;return j|0}function ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(oe(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+1048576|0;k[o>>2]=d;d=d>>>0>268435455;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<1048576){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<1048576)}while(0);p=d&262143;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>18)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=pe(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|0;return 0}function pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=262144){if(f>>>0>262144?(e=g+1048576|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else jd(a,262144-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Pd(d,c-f|0);if(!c){j=0;return j|0}f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(d>>>0>262144){d=0;j=19;break}if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if(h>>>0>=c>>>0)break;else e=d}if((j|0)==19)return d|0;j=(d|0)==262144;return j|0}function qe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(re(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+2097152|0;k[o>>2]=d;d=d>>>0>536870911;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<2097152){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<2097152)}while(0);p=d&524287;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>19)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=se(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|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,h=0,i=0,j=0;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=524288){if(f>>>0>524288?(e=g+2097152|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else jd(a,524288-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Pd(d,c-f|0);if(!c){j=0;return j|0}f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(d>>>0>524288){d=0;j=19;break}if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if(h>>>0>=c>>>0)break;else e=d}if((j|0)==19)return d|0;j=(d|0)==524288;return j|0}function te(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(ue(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+4194304|0;k[o>>2]=d;d=d>>>0>1073741823;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<4194304){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<4194304)}while(0);p=d&1048575;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>20)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=ve(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|0;return 0}function ve(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;d=a+4|0;h=k[d>>2]|0;g=k[a>>2]|0;f=h-g>>2;if(f>>>0>=1048576){if(f>>>0>1048576?(e=g+4194304|0,(h|0)!=(e|0)):0)k[d>>2]=h+(~((h+-4-e|0)>>>2)<<2)}else jd(a,1048576-f|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Pd(d,c-f|0);if(!c){j=0;return j|0}f=k[d>>2]|0;e=0;h=0;while(1){d=b+(h<<2)|0;k[f+(h<<3)>>2]=k[d>>2];k[f+(h<<3)+4>>2]=e;d=(k[d>>2]|0)+e|0;if(d>>>0>1048576){d=0;j=19;break}if(e>>>0>>0){g=k[a>>2]|0;do{k[g+(e<<2)>>2]=h;e=e+1|0}while((e|0)!=(d|0))}h=h+1|0;if(h>>>0>=c>>>0)break;else e=d}if((j|0)==19)return d|0;j=(d|0)==1048576;return j|0}function we(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(xe(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+4194304|0;k[o>>2]=d;d=d>>>0>1073741823;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<4194304){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<4194304)}while(0);p=d&1048575;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>20)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|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,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=ve(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|0;return 0}function ye(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(ze(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+4194304|0;k[o>>2]=d;d=d>>>0>1073741823;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<4194304){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<4194304)}while(0);p=d&1048575;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>20)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|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,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=ve(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|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,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(Be(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+4194304|0;k[o>>2]=d;d=d>>>0>1073741823;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<4194304){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<4194304)}while(0);p=d&1048575;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>20)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function Be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=ve(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|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,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(De(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}d=b+8|0;i=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=kq(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((d|0)<(h|0)|(d|0)==(h|0)&i>>>0>>0)?(j=k[b>>2]|0,m=j+f|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=e,k[b>>2]=g,k[b+4>>2]=h,b=hq(i|0,d|0,g|0,h|0)|0,i=L,!(m>>>0>i>>>0|(m|0)==(i|0)&q>>>0>b>>>0)):0)?(s=j+g|0,m=kq(q|0,m|0,g|0,h|0)|0,b=e,k[b>>2]=m,k[b+4>>2]=L,(q|0)>=1):0){m=t+40|0;k[m>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6|0){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+4194304|0;k[o>>2]=d;d=d>>>0>1073741823;if(d|n^1)h=d^1;else{f=t+48|0;g=t+44|0;h=t+16|0;i=t+28|0;d=k[f>>2]|0;j=0;while(1){b:do if(d>>>0<4194304){e=k[g>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[g>>2]=e;d=l[(k[m>>2]|0)+e>>0]|0|d<<8;k[f>>2]=d}while(d>>>0<4194304)}while(0);p=d&1048575;s=k[(k[h>>2]|0)+(p<<2)>>2]|0;q=k[i>>2]|0;d=(ha(k[q+(s<<3)>>2]|0,d>>>20)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[f>>2]=d;k[c+(j<<2)>>2]=s;j=j+1|0;if((j|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Jp(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Jp(f);r=u;return h|0}function De(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;o=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=kq(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[o>>0]=c;i[o+1>>0]=c>>8;i[o+2>>0]=c>>16;i[o+3>>0]=c>>24;g=p;g=kq(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=p;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(a,c-e|0);c=k[o>>2]|0}if(!c){a=1;return a|0}m=j;j=k[m>>2]|0;m=k[m+4>>2]|0;c=p;d=k[c+4>>2]|0;c=k[c>>2]|0;n=0;a:while(1){if(!((m|0)>(d|0)|(m|0)==(d|0)&j>>>0>c>>>0)){c=0;e=15;break}h=k[b>>2]|0;g=i[h+c>>0]|0;d=kq(c|0,d|0,1,0)|0;e=L;c=p;k[c>>2]=d;k[c+4>>2]=e;c=g&255;g=c&3;c=c>>>2;if(!g)f=d;else{f=0;while(1){if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;e=15;break a}q=i[h+d>>0]|0;d=kq(d|0,e|0,1,0)|0;e=L;r=p;k[r>>2]=d;k[r+4>>2]=e;c=(q&255)<<(f<<3|6)|c;f=f+1|0;if((f|0)>=(g|0)){f=d;break}}}d=k[a>>2]|0;k[d+(n<<2)>>2]=c;n=n+1|0;c=k[o>>2]|0;if(n>>>0>=c>>>0){e=14;break}else{d=e;c=f}}if((e|0)==14){r=ve(a+16|0,d,c)|0;return r|0}else if((e|0)==15)return c|0;return 0}function Ee(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)zp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;mq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Jp(i);return}function Fe(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 Ge(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){a=0;return a|0}do if(!b){d=a+4|0;b=k[d>>2]|0;e=k[a>>2]|0;f=b-e|0;if(c>>>0>f>>>0){He(a,c-f|0);break}if(c>>>0>>0?(g=e+c|0,(b|0)!=(g|0)):0)k[d>>2]=g}else Ie(a,b,b+c|0);while(0);a=a+24|0;g=a;g=kq(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;k[a>>2]=g;k[a+4>>2]=L;a=1;return a|0}function He(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;d=k[h>>2]|0;j=a+4|0;c=k[j>>2]|0;if((d-c|0)>>>0>=b>>>0){do{i[c>>0]=0;c=(k[j>>2]|0)+1|0;k[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}f=k[a>>2]|0;e=c-f+b|0;if((e|0)<0)zp(a);c=d-f|0;if(c>>>0<1073741823){c=c<<1;c=c>>>0>>0?e:c;d=(k[j>>2]|0)-f|0;if(!c){f=0;e=0;c=d}else g=9}else{c=2147483647;d=(k[j>>2]|0)-f|0;g=9}if((g|0)==9){f=c;e=aq(c)|0;c=d}g=e+c|0;e=e+f|0;d=g;c=g;do{i[d>>0]=0;d=c+1|0;c=d;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;f=(k[j>>2]|0)-b|0;g=g+(0-f)|0;mq(g|0,b|0,f|0)|0;k[a>>2]=g;k[j>>2]=c;k[h>>2]=e;if(!b)return;Jp(b);return}function Ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;g=b;j=c-g|0;m=a+8|0;d=k[m>>2]|0;e=k[a>>2]|0;h=e;if(j>>>0<=(d-e|0)>>>0){f=a+4|0;d=(k[f>>2]|0)-e|0;a=j>>>0>d>>>0;d=b+d|0;e=a?d:c;m=e-g|0;nq(h|0,b|0,m|0)|0;b=h+m|0;if(!a){if((k[f>>2]|0)==(b|0))return;k[f>>2]=b;return}if((e|0)==(c|0))return;b=k[f>>2]|0;do{i[b>>0]=i[d>>0]|0;b=(k[f>>2]|0)+1|0;k[f>>2]=b;d=d+1|0}while((d|0)!=(c|0));return}if(e){d=a+4|0;if((k[d>>2]|0)!=(h|0))k[d>>2]=h;Jp(h);k[m>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}f=(j|0)<0;if(f)zp(a);d=d-0|0;if(d>>>0<1073741823){e=d<<1;d=e>>>0>=j>>>0;if(d|f^1)l=d?e:j;else zp(a)}else l=2147483647;d=aq(l)|0;e=a+4|0;k[e>>2]=d;k[a>>2]=d;k[m>>2]=d+l;if((b|0)==(c|0))return;do{i[d>>0]=i[b>>0]|0;d=(k[e>>2]|0)+1|0;k[e>>2]=d;b=b+1|0}while((b|0)!=(c|0));return}function Je(a){a=a|0;var b=0;k[a>>2]=0;b=a+8|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;i[a+24>>0]=1;k[a+28>>2]=9;b=a+40|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[a+56>>2]=-1;j[a+60>>1]=0;return}function Ke(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 Le(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;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;a=a+48|0;k[a>>2]=e;k[a+4>>2]=f;return}function Me(a){a=a|0;Je(a);a=a+64|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;i[a+20>>0]=0;return}function Ne(a,b){a=a|0;b=b|0;var c=0,d=0;d=a;c=d+64|0;do{k[d>>2]=k[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(c|0));d=a+64|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;i[d+20>>0]=0;return}function Oe(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=aq(32)|0,Fe(e),c=k[f>>2]|0,k[f>>2]=e,c|0):0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;Jp(d)}Jp(c)}c=dd(k[a+28>>2]|0)|0;c=ha(i[a+24>>0]|0,c)|0;d=((c|0)<0)<<31>>31;g=k[f>>2]|0;e=tq(c|0,d|0,b|0,0)|0;if(!(Ge(g,0,e,L)|0)){g=0;return g|0}Le(a,k[f>>2]|0,c,d,0,0);k[a+80>>2]=b;g=1;return g|0}function Pe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[e>>2]=0;k[d>>2]=k[e>>2];a=Qe(a,b,d)|0;r=c;return a|0}function Qe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;switch(k[b+28>>2]|0){case 9:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=Re(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=We(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=_e(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=cf(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=hf(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=mf(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=qf(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=uf(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=zf(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Af(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Bf(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Cf(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=Df(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Hf(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Lf(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Pf(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=Uf(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Vf(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Wf(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Xf(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=Yf(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Zf(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=_f(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=$f(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=ag(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=bg(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=cg(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=dg(a,b,d)|0;break}default:c=0}break}default:{a=-1;r=j;return a|0}}a=(c|0)==0?-1:c;r=j;return a|0}function Re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+48|0;y=G+40|0;F=G+16|0;z=G+12|0;D=G;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;o[F+16>>2]=1.0;C=a+80|0;d=k[C>>2]|0;k[D>>2]=0;E=D+4|0;k[E>>2]=0;k[D+8>>2]=0;if(d){if(d>>>0>1073741823)zp(D);x=d<<2;f=aq(x)|0;k[D>>2]=f;e=f+(d<<2)|0;k[D+8>>2]=e;iq(f|0,0,x|0)|0;k[E>>2]=e;e=k[C>>2]|0;if((e|0)>0){v=b+48|0;w=b+40|0;x=F+4|0;s=y+4|0;t=a+40|0;u=a+64|0;q=k[c>>2]|0;p=0;m=0;do{h=q+p|0;j=v;n=k[j>>2]|0;j=k[j+4>>2]|0;e=w;e=tq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;j=kq(e|0,L|0,n|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[z>>2]=j;n=j^318;e=k[x>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&n;else h=(n>>>0)%(e>>>0)|0;d=k[(k[F>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){A=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));else do{d=k[d>>2]|0;if(!d){A=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){A=20;break a}}while((k[d+8>>2]|0)!=(j|0));k[f+(p<<2)>>2]=k[d+12>>2]}else A=20}else A=20;while(0);if((A|0)==20){A=0;d=aq(16)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+4>>2]=n;k[d>>2]=0;Se(y,F,d);if(!(i[s>>0]|0))Jp(d);n=t;f=k[n>>2]|0;n=tq(f|0,k[n+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;mq((k[k[u>>2]>>2]|0)+n|0,z|0,f|0)|0;f=k[D>>2]|0;k[f+(p<<2)>>2]=m;m=m+1|0}p=p+1|0;e=k[C>>2]|0}while((p|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[D>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(B=g+(e<<2)|0,(h|0)!=(B|0)):0)k[c>>2]=h+(~((h+-4-B|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[C>>2]|0}if((e|0)>0){f=k[D>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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[C>>2]=m;f=m}}else f=0;d=k[D>>2]|0;c=d;if(d|0){e=k[E>>2]|0;if((e|0)!=(d|0))k[E>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[F+8>>2]|0;if(d|0)do{E=d;d=k[d>>2]|0;Jp(E)}while((d|0)!=0);d=k[F>>2]|0;k[F>>2]=0;if(!d){r=G;return f|0}Jp(d);r=G;return f|0}function Se(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0;m=k[c+8>>2]|0;d=m^318;q=c+4|0;k[q>>2]=d;p=b+4|0;j=k[p>>2]|0;n=(j|0)==0;a:do if(!n){l=j+-1|0;f=(l&j|0)==0;if(f)e=l&d;else e=(d>>>0)%(j>>>0)|0;d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(d)if(f){while(1){d=k[d>>2]|0;if(!d)break a;if((k[d+4>>2]&l|0)!=(e|0))break a;if((k[d+8>>2]|0)==(m|0)){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){d=k[d>>2]|0;if(!d)break a;if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((k[d+8>>2]|0)==(m|0)){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(n|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;Te(b,f>>>0>>0?d:f);f=k[p>>2]|0;d=k[q>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function Te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Ue(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Ue(a,b);return}function Ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Jp(c);k[d>>2]=0;return}m=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=m;if(c|0)Jp(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;l=b+-1|0;m=(l&b|0)==0;if(m)e=c&l;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[f>>2]|0;if(!c)return;else{g=f;d=f}a:while(1){b:do if(m){j=g;i=d;while(1){while(1){h=k[c+4>>2]&l;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((k[g>>2]|0)==(k[f+8>>2]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[j>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{j=d;i=d}}}else{j=g;i=d;while(1){while(1){h=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((k[g>>2]|0)==(k[f+8>>2]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[j>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{j=d;i=d}}}while(0);k[d>>2]=c;c=k[f>>2]|0;if(!c){c=32;break}else{g=f;d=f}}if((c|0)==32)return}function Ve(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;m=a+8|0;f=k[m>>2]|0;n=a+4|0;d=k[n>>2]|0;g=d;if(f-d>>2>>>0>=b>>>0){d=b;e=g;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[n>>2]=g+(b<<2);return}l=k[a>>2]|0;e=(d-l>>2)+b|0;if(e>>>0>1073741823)zp(a);d=f-l|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?e:d;f=k[n>>2]|0;e=f-l>>2;if(!d){i=0;d=0;h=f}else j=10}else{e=k[n>>2]|0;d=1073741823;f=e;e=e-l>>2;j=10}if((j|0)==10){i=d;d=aq(d<<2)|0;h=f}g=d+(e<<2)|0;e=d+(i<<2)|0;d=b;f=g;while(1){k[f>>2]=k[c>>2];d=d+-1|0;if(!d)break;else f=f+4|0}j=h-l|0;c=g+(0-(j>>2)<<2)|0;mq(c|0,l|0,j|0)|0;k[a>>2]=c;k[n>>2]=g+(b<<2);k[m>>2]=e;if(!l)return;Jp(l);return}function We(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,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+48|0;z=I+40|0;H=I+20|0;B=I;F=I+8|0;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;k[H+12>>2]=0;o[H+16>>2]=1.0;E=a+80|0;d=k[E>>2]|0;k[F>>2]=0;G=F+4|0;k[G>>2]=0;k[F+8>>2]=0;if(d){if(d>>>0>1073741823)zp(F);y=d<<2;f=aq(y)|0;k[F>>2]=f;e=f+(d<<2)|0;k[F+8>>2]=e;iq(f|0,0,y|0)|0;k[G>>2]=e;e=k[E>>2]|0;if((e|0)>0){w=b+48|0;x=b+40|0;y=H+4|0;t=z+4|0;u=a+40|0;v=a+64|0;s=k[c>>2]|0;q=0;m=0;do{e=s+q|0;n=w;j=k[n>>2]|0;n=k[n+4>>2]|0;p=x;p=tq(e|0,((e|0)<0)<<31>>31|0,k[p>>2]|0,k[p+4>>2]|0)|0;n=kq(p|0,L|0,j|0,n|0)|0;n=(k[k[b>>2]>>2]|0)+n|0;j=n;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;n=n+4|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;p=B;k[p>>2]=j;k[p+4>>2]=n;p=(j^318)+239^n;e=k[y>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[H>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(A=k[c>>2]|0,(A|0)!=0):0){b:do if(d){d=A;while(1){if((k[d+4>>2]&g|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}else{d=A;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){C=23;break a}if((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){C=23;break a}}}while(0);k[f+(q<<2)>>2]=k[d+16>>2]}else C=23}else C=23;while(0);if((C|0)==23){C=0;d=aq(20)|0;h=d+8|0;k[h>>2]=j;k[h+4>>2]=n;k[d+16>>2]=m;k[d+4>>2]=p;k[d>>2]=0;Xe(z,H,d);if(!(i[t>>0]|0))Jp(d);p=u;f=k[p>>2]|0;p=tq(f|0,k[p+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;mq((k[k[v>>2]>>2]|0)+p|0,B|0,f|0)|0;f=k[F>>2]|0;k[f+(q<<2)>>2]=m;m=m+1|0}q=q+1|0;e=k[E>>2]|0}while((q|0)<(e|0))}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[F>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-D|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[E>>2]|0}if((e|0)>0){f=k[F>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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]=m;f=m}}else f=0;d=k[F>>2]|0;c=d;if(d|0){e=k[G>>2]|0;if((e|0)!=(d|0))k[G>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[H+8>>2]|0;if(d|0)do{G=d;d=k[d>>2]|0;Jp(G)}while((d|0)!=0);d=k[H>>2]|0;k[H>>2]=0;if(!d){r=I;return f|0}Jp(d);r=I;return f|0}function Xe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=k[c+8>>2]|0;p=k[c+12>>2]|0;e=(n^318)+239^p;s=c+4|0;k[s>>2]=e;r=b+4|0;j=k[r>>2]|0;q=(j|0)==0;a:do if(!q){m=j+-1|0;l=(m&j|0)==0;if(l)e=m&e;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(p|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(p|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(q|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;Ye(b,f>>>0>>0?d:f);f=k[r>>2]|0;d=k[s>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function Ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Ze(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Ze(a,b);return}function Ze(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)Jp(c);k[d>>2]=0;return}n=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)Jp(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)e=c&m;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(n){c=f;while(1){l=k[c+4>>2]&m;if((l|0)==(e|0))break c;f=(k[a>>2]|0)+(l<<2)|0;if(!(k[f>>2]|0)){e=l;break b}j=c+12|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=k[c+8>>2]|0;g=c;while(1){if((i|0)!=(k[f+8>>2]|0)){f=g;break d}if((k[j>>2]|0)!=(k[f+12>>2]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{o=f;f=g;g=o}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}else{c=f;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break c;f=(k[a>>2]|0)+(l<<2)|0;if(!(k[f>>2]|0)){e=l;break b}i=c+12|0;f=k[c>>2]|0;e:do if(!f)f=c;else{j=k[c+8>>2]|0;g=c;while(1){if((j|0)!=(k[f+8>>2]|0)){f=g;break e}if((k[i>>2]|0)!=(k[f+12>>2]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{o=f;f=g;g=o}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}while(0);f=k[c>>2]|0;if(!f){c=34;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=34;break}else{h=c;d=c}}if((c|0)==34)return}function _e(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+64|0;B=K+48|0;J=K+24|0;D=K+12|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)zp(H);A=d<<2;f=aq(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;iq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=D+4|0;t=D+8|0;u=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;s=k[c>>2]|0;q=0;l=0;do{p=s+q|0;c=y;d=k[c>>2]|0;c=k[c+4>>2]|0;e=z;e=tq(p|0,((p|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;c=kq(e|0,L|0,d|0,c|0)|0;d=D;c=(k[k[b>>2]>>2]|0)+c|0;e=d+12|0;do{i[d>>0]=i[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));j=k[D>>2]|0;m=k[A>>2]|0;n=k[t>>2]|0;p=((j^318)+239^m)+239^n;e=k[u>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=25;break a}if(((k[d+8>>2]|0)==(j|0)?(k[d+12>>2]|0)==(m|0):0)?(k[d+16>>2]|0)==(n|0):0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}while(0);k[f+(q<<2)>>2]=k[d+20>>2]}else E=25}else E=25;while(0);if((E|0)==25){E=0;d=aq(24)|0;k[d+8>>2]=j;k[d+12>>2]=m;k[d+16>>2]=n;k[d+20>>2]=l;k[d+4>>2]=p;k[d>>2]=0;$e(B,J,d);if(!(i[v>>0]|0))Jp(d);p=w;f=k[p>>2]|0;p=tq(f|0,k[p+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;mq((k[k[x>>2]>>2]|0)+p|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(q<<2)>>2]=l;l=l+1|0}q=q+1|0;e=k[G>>2]|0}while((q|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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]=l;f=l}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Jp(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Jp(d);r=K;return f|0}function $e(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;n=k[c+8>>2]|0;p=k[c+12>>2]|0;q=k[c+16>>2]|0;e=((n^318)+239^p)+239^q;t=c+4|0;k[t>>2]=e;s=b+4|0;j=k[s>>2]|0;r=(j|0)==0;a:do if(!r){m=j+-1|0;l=(m&j|0)==0;if(l)e=m&e;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if(((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(p|0):0)?(k[d+16>>2]|0)==(q|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if(((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(p|0):0)?(k[d+16>>2]|0)==(q|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(r|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;af(b,f>>>0>>0?d:f);f=k[s>>2]|0;d=k[t>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){bf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;bf(a,b);return}function bf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Jp(c);k[d>>2]=0;return}o=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)Jp(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)e=c&n;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(o){c=f;while(1){m=k[c+4>>2]&n;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}j=c+12|0;l=c+16|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=k[c+8>>2]|0;g=c;while(1){if((i|0)!=(k[f+8>>2]|0)){f=g;break d}if((k[j>>2]|0)!=(k[f+12>>2]|0)){f=g;break d}if((k[l>>2]|0)!=(k[f+16>>2]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}else{c=f;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}i=c+12|0;j=c+16|0;f=k[c>>2]|0;e:do if(!f)f=c;else{l=k[c+8>>2]|0;g=c;while(1){if((l|0)!=(k[f+8>>2]|0)){f=g;break e}if((k[i>>2]|0)!=(k[f+12>>2]|0)){f=g;break e}if((k[j>>2]|0)!=(k[f+16>>2]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}while(0);f=k[c>>2]|0;if(!f){c=36;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=36;break}else{h=c;d=c}}if((c|0)==36)return}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,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;u=C+88|0;B=C+64|0;v=C+48|0;w=C+32|0;z=C+16|0;t=C;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;o[B+16>>2]=1.0;y=a+80|0;d=k[y>>2]|0;k[z>>2]=0;A=z+4|0;k[A>>2]=0;k[z+8>>2]=0;if(d){if(d>>>0>1073741823)zp(z);s=d<<2;f=aq(s)|0;k[z>>2]=f;e=f+(d<<2)|0;k[z+8>>2]=e;iq(f|0,0,s|0)|0;k[A>>2]=e;e=k[y>>2]|0;if((e|0)>0){p=k[c>>2]|0;q=b+48|0;s=b+40|0;j=u+4|0;m=a+40|0;n=a+64|0;h=0;l=0;do{g=p+h|0;d=q;c=k[d>>2]|0;d=k[d+4>>2]|0;e=s;e=tq(g|0,((g|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;d=kq(e|0,L|0,c|0,d|0)|0;d=(k[k[b>>2]>>2]|0)+d|0;c=v;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));c=w;e=d;g=c+16|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));d=df(B,w)|0;if(!d){k[t>>2]=k[w>>2];k[t+4>>2]=k[w+4>>2];k[t+8>>2]=k[w+8>>2];k[t+12>>2]=k[w+12>>2];d=aq(28)|0;g=d+8|0;k[g>>2]=k[t>>2];k[g+4>>2]=k[t+4>>2];k[g+8>>2]=k[t+8>>2];k[g+12>>2]=k[t+12>>2];k[d+24>>2]=l;k[d+4>>2]=(((k[g>>2]^318)+239^k[d+12>>2])+239^k[d+16>>2])+239^k[d+20>>2];k[d>>2]=0;ef(u,B,d);if(!(i[j>>0]|0))Jp(d);g=m;f=k[g>>2]|0;g=tq(f|0,k[g+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;mq((k[k[n>>2]>>2]|0)+g|0,v|0,f|0)|0;f=k[z>>2]|0;k[f+(h<<2)>>2]=l;l=l+1|0}else k[f+(h<<2)>>2]=k[d+24>>2];h=h+1|0;e=k[y>>2]|0}while((h|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[z>>2]|0;d=d>>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;g=a+68|0;h=a+72|0;f=k[h>>2]|0;c=k[g>>2]|0;d=f-c>>2;if(e>>>0<=d>>>0){if(e>>>0>>0?(x=c+(e<<2)|0,(f|0)!=(x|0)):0)k[h>>2]=f+(~((f+-4-x|0)>>>2)<<2)}else{Ve(g,e-d|0,2864);e=k[y>>2]|0}if((e|0)>0){f=k[z>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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[y>>2]=l;f=l}}else f=0;d=k[z>>2]|0;c=d;if(d|0){e=k[A>>2]|0;if((e|0)!=(d|0))k[A>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[B+8>>2]|0;if(d|0)do{A=d;d=k[d>>2]|0;Jp(A)}while((d|0)!=0);d=k[B>>2]|0;k[B>>2]=0;if(!d){r=C;return f|0}Jp(d);r=C;return f|0}function df(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=k[b>>2]|0;i=k[b+4>>2]|0;j=k[b+8>>2]|0;g=k[b+12>>2]|0;b=(((h^318)+239^i)+239^j)+239^g;d=k[a+4>>2]|0;if(!d){j=0;return j|0}e=d+-1|0;c=(e&d|0)==0;if(c)f=b&e;else f=(b>>>0)%(d>>>0)|0;b=k[(k[a>>2]|0)+(f<<2)>>2]|0;if(!b){j=0;return j|0}b=k[b>>2]|0;if(!b){j=0;return j|0}if(c){while(1){if((k[b+4>>2]&e|0)!=(f|0)){b=0;a=20;break}if((((k[b+8>>2]|0)==(h|0)?(k[b+12>>2]|0)==(i|0):0)?(k[b+16>>2]|0)==(j|0):0)?(k[b+20>>2]|0)==(g|0):0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}else{while(1){if((((k[b+4>>2]|0)>>>0)%(d>>>0)|0|0)!=(f|0)){b=0;a=20;break}if((((k[b+8>>2]|0)==(h|0)?(k[b+12>>2]|0)==(i|0):0)?(k[b+16>>2]|0)==(j|0):0)?(k[b+20>>2]|0)==(g|0):0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}return 0}function ef(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;n=k[c+8>>2]|0;q=k[c+12>>2]|0;r=k[c+16>>2]|0;p=k[c+20>>2]|0;e=(((n^318)+239^q)+239^r)+239^p;u=c+4|0;k[u>>2]=e;t=b+4|0;j=k[t>>2]|0;s=(j|0)==0;a:do if(!s){m=j+-1|0;l=(m&j|0)==0;if(l)e=e&m;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if((((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(q|0):0)?(k[d+16>>2]|0)==(r|0):0)?(k[d+20>>2]|0)==(p|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((((k[d+8>>2]|0)==(n|0)?(k[d+12>>2]|0)==(q|0):0)?(k[d+16>>2]|0)==(r|0):0)?(k[d+20>>2]|0)==(p|0):0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(s|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;ff(b,f>>>0>>0?d:f);f=k[t>>2]|0;d=k[u>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function ff(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){gf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;gf(a,b);return}function gf(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)Jp(c);k[d>>2]=0;return}p=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)Jp(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)e=c&o;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(p){c=f;while(1){n=k[c+4>>2]&o;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}j=c+12|0;l=c+16|0;m=c+20|0;f=k[c>>2]|0;d:do if(!f)f=c;else{i=k[c+8>>2]|0;g=c;while(1){if((i|0)!=(k[f+8>>2]|0)){f=g;break d}if((k[j>>2]|0)!=(k[f+12>>2]|0)){f=g;break d}if((k[l>>2]|0)!=(k[f+16>>2]|0)){f=g;break d}if((k[m>>2]|0)!=(k[f+20>>2]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}else{c=f;while(1){n=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}i=c+12|0;j=c+16|0;l=c+20|0;f=k[c>>2]|0;e:do if(!f)f=c;else{m=k[c+8>>2]|0;g=c;while(1){if((m|0)!=(k[f+8>>2]|0)){f=g;break e}if((k[i>>2]|0)!=(k[f+12>>2]|0)){f=g;break e}if((k[j>>2]|0)!=(k[f+16>>2]|0)){f=g;break e}if((k[l>>2]|0)!=(k[f+20>>2]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}while(0);f=k[c>>2]|0;if(!f){c=38;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=38;break}else{h=c;d=c}}if((c|0)==38)return}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,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+48|0;x=F+32|0;E=F+12|0;y=F+40|0;C=F;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[E+12>>2]=0;o[E+16>>2]=1.0;B=a+80|0;d=k[B>>2]|0;k[C>>2]=0;D=C+4|0;k[D>>2]=0;k[C+8>>2]=0;if(d){if(d>>>0>1073741823)zp(C);w=d<<2;f=aq(w)|0;k[C>>2]=f;e=f+(d<<2)|0;k[C+8>>2]=e;iq(f|0,0,w|0)|0;k[D>>2]=e;e=k[B>>2]|0;if((e|0)>0){u=b+48|0;v=b+40|0;w=E+4|0;q=x+4|0;s=a+40|0;t=a+64|0;p=k[c>>2]|0;n=0;l=0;do{h=p+n|0;j=u;m=k[j>>2]|0;j=k[j+4>>2]|0;e=v;e=tq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;j=kq(e|0,L|0,m|0,j|0)|0;j=i[(k[k[b>>2]>>2]|0)+j>>0]|0;i[y>>0]=j;m=j&255^318;e=k[w>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&m;else h=(m>>>0)%(e>>>0)|0;d=k[(k[E>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){z=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){z=20;break a}}while((i[d+8>>0]|0)!=j<<24>>24);else do{d=k[d>>2]|0;if(!d){z=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){z=20;break a}}while((i[d+8>>0]|0)!=j<<24>>24);k[f+(n<<2)>>2]=k[d+12>>2]}else z=20}else z=20;while(0);if((z|0)==20){z=0;d=aq(16)|0;i[d+8>>0]=j;k[d+12>>2]=l;k[d+4>>2]=m;k[d>>2]=0;jf(x,E,d);if(!(i[q>>0]|0))Jp(d);m=s;f=k[m>>2]|0;m=tq(f|0,k[m+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;mq((k[k[t>>2]>>2]|0)+m|0,y|0,f|0)|0;f=k[C>>2]|0;k[f+(n<<2)>>2]=l;l=l+1|0}n=n+1|0;e=k[B>>2]|0}while((n|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[C>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(A=g+(e<<2)|0,(h|0)!=(A|0)):0)k[c>>2]=h+(~((h+-4-A|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[B>>2]|0}if((e|0)>0){f=k[C>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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[B>>2]=l;f=l}}else f=0;d=k[C>>2]|0;c=d;if(d|0){e=k[D>>2]|0;if((e|0)!=(d|0))k[D>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[E+8>>2]|0;if(d|0)do{D=d;d=k[d>>2]|0;Jp(D)}while((d|0)!=0);d=k[E>>2]|0;k[E>>2]=0;if(!d){r=F;return f|0}Jp(d);r=F;return f|0}function jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0;m=i[c+8>>0]|0;d=m&255^318;q=c+4|0;k[q>>2]=d;p=b+4|0;j=k[p>>2]|0;n=(j|0)==0;a:do if(!n){l=j+-1|0;f=(l&j|0)==0;if(f)e=l&d;else e=(d>>>0)%(j>>>0)|0;d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(d)if(f){while(1){d=k[d>>2]|0;if(!d)break a;if((k[d+4>>2]&l|0)!=(e|0))break a;if((i[d+8>>0]|0)==m<<24>>24){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){d=k[d>>2]|0;if(!d)break a;if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((i[d+8>>0]|0)==m<<24>>24){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(n|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;kf(b,f>>>0>>0?d:f);f=k[p>>2]|0;d=k[q>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){lf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;lf(a,b);return}function lf(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)Jp(c);k[d>>2]=0;return}n=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)Jp(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;m=b+-1|0;n=(m&b|0)==0;if(n)e=c&m;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[f>>2]|0;if(!c)return;else{g=f;d=f}a:while(1){b:do if(n){l=g;j=d;while(1){while(1){h=k[c+4>>2]&m;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=j;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((i[g>>0]|0)==(i[f+8>>0]|0))d=f;else break}k[j>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[l>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{l=d;j=d}}}else{l=g;j=d;while(1){while(1){h=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=j;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((i[g>>0]|0)==(i[f+8>>0]|0))d=f;else break}k[j>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[l>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{l=d;j=d}}}while(0);k[d>>2]=c;c=k[f>>2]|0;if(!c){c=32;break}else{g=f;d=f}}if((c|0)==32)return}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,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+32|0;J=K+12|0;D=K+40|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)zp(H);A=d<<2;f=aq(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;iq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;u=k[c>>2]|0;t=0;n=0;do{p=u+t|0;q=y;m=k[q>>2]|0;q=k[q+4>>2]|0;s=z;s=tq(p|0,((p|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;q=kq(s|0,L|0,m|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8;j[D>>1]=q;m=q&255;s=(q&65535)>>>8;p=s&255;s=s&65535;d=(q&255^318)+239^s;e=k[A>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=d&g;else h=(d>>>0)%(e>>>0)|0;d=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((d|0)!=0?(C=k[d>>2]|0,(C|0)!=0):0){b:do if(c){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=23;break a}if((i[d+8>>0]|0)==m<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=23;break a}if((i[d+8>>0]|0)==m<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}while(0);k[f+(t<<2)>>2]=k[d+12>>2]}else E=23}else E=23;while(0);if((E|0)==23){E=0;d=aq(16)|0;p=d+8|0;i[p>>0]=q;i[p+1>>0]=q>>8;k[d+12>>2]=n;k[d+4>>2]=(q&255^318)+239^s;k[d>>2]=0;nf(B,J,d);if(!(i[v>>0]|0))Jp(d);s=w;f=k[s>>2]|0;s=tq(f|0,k[s+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;mq((k[k[x>>2]>>2]|0)+s|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(t<<2)>>2]=n;n=n+1|0}t=t+1|0;e=k[G>>2]|0}while((t|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[m>>0]|0)Aa(10792,10811,80,10843);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]=n;f=n}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Jp(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Jp(d);r=K;return f|0}function nf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i[c+8>>0]|0;p=i[c+9>>0]|0;e=(n&255^318)+239^p&255;s=c+4|0;k[s>>2]=e;r=b+4|0;j=k[r>>2]|0;q=(j|0)==0;a:do if(!q){m=j+-1|0;l=(m&j|0)==0;if(l)e=m&e;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(q|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;of(b,f>>>0>>0?d:f);f=k[r>>2]|0;d=k[s>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){pf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;pf(a,b);return}function pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Jp(c);k[d>>2]=0;return}o=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)Jp(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)e=c&n;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(o){c=f;while(1){m=k[c+4>>2]&n;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}l=c+9|0;f=k[c>>2]|0;d:do if(!f)f=c;else{j=i[c+8>>0]|0;g=c;while(1){if(j<<24>>24!=(i[f+8>>0]|0)){f=g;break d}if((i[l>>0]|0)!=(i[f+9>>0]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}else{c=f;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;f=(k[a>>2]|0)+(m<<2)|0;if(!(k[f>>2]|0)){e=m;break b}j=c+9|0;f=k[c>>2]|0;e:do if(!f)f=c;else{l=i[c+8>>0]|0;g=c;while(1){if(l<<24>>24!=(i[f+8>>0]|0)){f=g;break e}if((i[j>>0]|0)!=(i[f+9>>0]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{p=f;f=g;g=p}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=34;break a}}}while(0);f=k[c>>2]|0;if(!f){c=34;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=34;break}else{h=c;d=c}}if((c|0)==34)return}function qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+32|0;J=K+12|0;D=K+40|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)zp(H);A=d<<2;f=aq(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;iq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=D+1|0;t=D+2|0;u=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;s=k[c>>2]|0;q=0;l=0;do{p=s+q|0;j=y;m=k[j>>2]|0;j=k[j+4>>2]|0;n=z;n=tq(p|0,((p|0)<0)<<31>>31|0,k[n>>2]|0,k[n+4>>2]|0)|0;j=kq(n|0,L|0,m|0,j|0)|0;j=(k[k[b>>2]>>2]|0)+j|0;i[D>>0]=i[j>>0]|0;i[D+1>>0]=i[j+1>>0]|0;i[D+2>>0]=i[j+2>>0]|0;j=i[D>>0]|0;m=i[A>>0]|0;n=i[t>>0]|0;p=((j&255^318)+239^m&255)+239^n&255;e=k[u>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=25;break a}if(((i[d+8>>0]|0)==j<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0)?(i[d+10>>0]|0)==n<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=25;break a}if(((i[d+8>>0]|0)==j<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0)?(i[d+10>>0]|0)==n<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}while(0);k[f+(q<<2)>>2]=k[d+12>>2]}else E=25}else E=25;while(0);if((E|0)==25){E=0;d=aq(16)|0;i[d+8>>0]=j;i[d+9>>0]=m;i[d+10>>0]=n;k[d+12>>2]=l;k[d+4>>2]=p;k[d>>2]=0;rf(B,J,d);if(!(i[v>>0]|0))Jp(d);p=w;f=k[p>>2]|0;p=tq(f|0,k[p+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;mq((k[k[x>>2]>>2]|0)+p|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(q<<2)>>2]=l;l=l+1|0}q=q+1|0;e=k[G>>2]|0}while((q|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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]=l;f=l}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Jp(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Jp(d);r=K;return f|0}function rf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;n=i[c+8>>0]|0;q=i[c+9>>0]|0;p=i[c+10>>0]|0;e=((n&255^318)+239^q&255)+239^p&255;t=c+4|0;k[t>>2]=e;s=b+4|0;j=k[s>>2]|0;r=(j|0)==0;a:do if(!r){m=j+-1|0;l=(m&j|0)==0;if(l)e=e&m;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if(((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==q<<24>>24:0)?(i[d+10>>0]|0)==p<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if(((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==q<<24>>24:0)?(i[d+10>>0]|0)==p<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(r|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;sf(b,f>>>0>>0?d:f);f=k[s>>2]|0;d=k[t>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){tf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;tf(a,b);return}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,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)Jp(c);k[d>>2]=0;return}p=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)Jp(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)e=c&o;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(p){c=f;while(1){n=k[c+4>>2]&o;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}l=c+9|0;m=c+10|0;f=k[c>>2]|0;d:do if(!f)f=c;else{j=i[c+8>>0]|0;g=c;while(1){if(j<<24>>24!=(i[f+8>>0]|0)){f=g;break d}if((i[l>>0]|0)!=(i[f+9>>0]|0)){f=g;break d}if((i[m>>0]|0)!=(i[f+10>>0]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}else{c=f;while(1){n=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(e|0))break c;f=(k[a>>2]|0)+(n<<2)|0;if(!(k[f>>2]|0)){e=n;break b}j=c+9|0;l=c+10|0;f=k[c>>2]|0;e:do if(!f)f=c;else{m=i[c+8>>0]|0;g=c;while(1){if(m<<24>>24!=(i[f+8>>0]|0)){f=g;break e}if((i[j>>0]|0)!=(i[f+9>>0]|0)){f=g;break e}if((i[l>>0]|0)!=(i[f+10>>0]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{q=f;f=g;g=q}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=36;break a}}}while(0);f=k[c>>2]|0;if(!f){c=36;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=36;break}else{h=c;d=c}}if((c|0)==36)return}function uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=r;r=r+48|0;s=A+40|0;z=A+20|0;t=A+16|0;u=A+12|0;x=A;k[z>>2]=0;k[z+4>>2]=0;k[z+8>>2]=0;k[z+12>>2]=0;o[z+16>>2]=1.0;w=a+80|0;d=k[w>>2]|0;k[x>>2]=0;y=x+4|0;k[y>>2]=0;k[x+8>>2]=0;if(d){if(d>>>0>1073741823)zp(x);q=d<<2;f=aq(q)|0;k[x>>2]=f;e=f+(d<<2)|0;k[x+8>>2]=e;iq(f|0,0,q|0)|0;k[y>>2]=e;e=k[w>>2]|0;if((e|0)>0){n=k[c>>2]|0;p=b+48|0;q=b+40|0;h=s+4|0;j=a+40|0;m=a+64|0;g=0;e=0;while(1){C=n+g|0;c=p;d=k[c>>2]|0;c=k[c+4>>2]|0;B=q;B=tq(C|0,((C|0)<0)<<31>>31|0,k[B>>2]|0,k[B+4>>2]|0)|0;c=kq(B|0,L|0,d|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[t>>2]=c;k[u>>2]=c;d=vf(z,u)|0;if(!d){d=aq(16)|0;C=d+8|0;i[C>>0]=c;i[C+1>>0]=c>>8;i[C+2>>0]=c>>16;i[C+3>>0]=c>>24;k[d+12>>2]=e;k[d+4>>2]=(((c&255^318)+239^c>>>8&255)+239^c>>>16&255)+239^c>>>24;k[d>>2]=0;wf(s,z,d);if(!(i[h>>0]|0))Jp(d);d=j;f=k[d>>2]|0;d=tq(f|0,k[d+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;mq((k[k[m>>2]>>2]|0)+d|0,t|0,f|0)|0;f=k[x>>2]|0;k[f+(g<<2)>>2]=e;d=e+1|0}else{k[f+(g<<2)>>2]=k[d+12>>2];d=e}g=g+1|0;e=k[w>>2]|0;if((g|0)>=(e|0)){m=d;break}else e=d}}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[x>>2]|0;d=d>>2;c=0;do{C=e+(c<<2)|0;k[C>>2]=k[f+(k[C>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;g=a+68|0;h=a+72|0;f=k[h>>2]|0;c=k[g>>2]|0;d=f-c>>2;if(e>>>0<=d>>>0){if(e>>>0>>0?(v=c+(e<<2)|0,(f|0)!=(v|0)):0)k[h>>2]=f+(~((f+-4-v|0)>>>2)<<2)}else{Ve(g,e-d|0,2864);e=k[w>>2]|0}if((e|0)>0){f=k[x>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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[w>>2]=m;f=m}}else f=0;d=k[x>>2]|0;c=d;if(d|0){e=k[y>>2]|0;if((e|0)!=(d|0))k[y>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[z+8>>2]|0;if(d|0)do{C=d;d=k[d>>2]|0;Jp(C)}while((d|0)!=0);d=k[z>>2]|0;k[z>>2]=0;if(!d){r=A;return f|0}Jp(d);r=A;return f|0}function vf(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;h=i[b>>0]|0;j=i[b+1>>0]|0;l=i[b+2>>0]|0;g=i[b+3>>0]|0;b=(((h&255^318)+239^j&255)+239^l&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)==h<<24>>24?(i[b+9>>0]|0)==j<<24>>24:0)?(i[b+10>>0]|0)==l<<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)==h<<24>>24?(i[b+9>>0]|0)==j<<24>>24:0)?(i[b+10>>0]|0)==l<<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 wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;n=i[c+8>>0]|0;r=i[c+9>>0]|0;p=i[c+10>>0]|0;q=i[c+11>>0]|0;e=(((n&255^318)+239^r&255)+239^p&255)+239^q&255;u=c+4|0;k[u>>2]=e;t=b+4|0;j=k[t>>2]|0;s=(j|0)==0;a:do if(!s){m=j+-1|0;l=(m&j|0)==0;if(l)e=e&m;else e=(e>>>0)%(j>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(l){while(1){if((k[d+4>>2]&m|0)!=(e|0))break a;if((((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==r<<24>>24:0)?(i[d+10>>0]|0)==p<<24>>24:0)?(i[d+11>>0]|0)==q<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(e|0))break a;if((((i[d+8>>0]|0)==n<<24>>24?(i[d+9>>0]|0)==r<<24>>24:0)?(i[d+10>>0]|0)==p<<24>>24:0)?(i[d+11>>0]|0)==q<<24>>24:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(s|g>+(j>>>0)*h){if(j>>>0>2)d=(j+-1&j|0)==0;else d=0;f=(d&1|j<<1)^1;d=~~+ga(+(g/h))>>>0;xf(b,f>>>0>>0?d:f);f=k[t>>2]|0;d=k[u>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function xf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){yf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;yf(a,b);return}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,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)Jp(c);k[d>>2]=0;return}q=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=q;if(c|0)Jp(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)e=c&p;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[g>>2]|0;if(!c)return;else{h=g;f=c;d=g}a:while(1){b:while(1){c:do if(q){c=f;while(1){o=k[c+4>>2]&p;if((o|0)==(e|0))break c;f=(k[a>>2]|0)+(o<<2)|0;if(!(k[f>>2]|0)){e=o;break b}l=c+9|0;m=c+10|0;n=c+11|0;f=k[c>>2]|0;d:do if(!f)f=c;else{j=i[c+8>>0]|0;g=c;while(1){if(j<<24>>24!=(i[f+8>>0]|0)){f=g;break d}if((i[l>>0]|0)!=(i[f+9>>0]|0)){f=g;break d}if((i[m>>0]|0)!=(i[f+10>>0]|0)){f=g;break d}if((i[n>>0]|0)!=(i[f+11>>0]|0)){f=g;break d}g=k[f>>2]|0;if(!g)break;else{r=f;f=g;g=r}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(o<<2)>>2]>>2];k[k[(k[a>>2]|0)+(o<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}else{c=f;while(1){o=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((o|0)==(e|0))break c;f=(k[a>>2]|0)+(o<<2)|0;if(!(k[f>>2]|0)){e=o;break b}j=c+9|0;l=c+10|0;m=c+11|0;f=k[c>>2]|0;e:do if(!f)f=c;else{n=i[c+8>>0]|0;g=c;while(1){if(n<<24>>24!=(i[f+8>>0]|0)){f=g;break e}if((i[j>>0]|0)!=(i[f+9>>0]|0)){f=g;break e}if((i[l>>0]|0)!=(i[f+10>>0]|0)){f=g;break e}if((i[m>>0]|0)!=(i[f+11>>0]|0)){f=g;break e}g=k[f>>2]|0;if(!g)break;else{r=f;f=g;g=r}}}while(0);k[d>>2]=k[f>>2];k[f>>2]=k[k[(k[a>>2]|0)+(o<<2)>>2]>>2];k[k[(k[a>>2]|0)+(o<<2)>>2]>>2]=c;c=k[h>>2]|0;if(!c){c=38;break a}}}while(0);f=k[c>>2]|0;if(!f){c=38;break a}else{h=c;d=c}}k[f>>2]=d;f=k[c>>2]|0;if(!f){c=38;break}else{h=c;d=c}}if((c|0)==38)return}function zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+48|0;x=F+32|0;E=F+12|0;y=F+40|0;C=F;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[E+12>>2]=0;o[E+16>>2]=1.0;B=a+80|0;d=k[B>>2]|0;k[C>>2]=0;D=C+4|0;k[D>>2]=0;k[C+8>>2]=0;if(d){if(d>>>0>1073741823)zp(C);w=d<<2;f=aq(w)|0;k[C>>2]=f;e=f+(d<<2)|0;k[C+8>>2]=e;iq(f|0,0,w|0)|0;k[D>>2]=e;e=k[B>>2]|0;if((e|0)>0){u=b+48|0;v=b+40|0;w=E+4|0;q=x+4|0;s=a+40|0;t=a+64|0;p=k[c>>2]|0;n=0;l=0;do{h=p+n|0;j=u;m=k[j>>2]|0;j=k[j+4>>2]|0;e=v;e=tq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;j=kq(e|0,L|0,m|0,j|0)|0;j=i[(k[k[b>>2]>>2]|0)+j>>0]|0;i[y>>0]=j;m=j&255^318;e=k[w>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&m;else h=(m>>>0)%(e>>>0)|0;d=k[(k[E>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){z=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){z=20;break a}}while((i[d+8>>0]|0)!=j<<24>>24);else do{d=k[d>>2]|0;if(!d){z=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){z=20;break a}}while((i[d+8>>0]|0)!=j<<24>>24);k[f+(n<<2)>>2]=k[d+12>>2]}else z=20}else z=20;while(0);if((z|0)==20){z=0;d=aq(16)|0;i[d+8>>0]=j;k[d+12>>2]=l;k[d+4>>2]=m;k[d>>2]=0;jf(x,E,d);if(!(i[q>>0]|0))Jp(d);m=s;f=k[m>>2]|0;m=tq(f|0,k[m+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;mq((k[k[t>>2]>>2]|0)+m|0,y|0,f|0)|0;f=k[C>>2]|0;k[f+(n<<2)>>2]=l;l=l+1|0}n=n+1|0;e=k[B>>2]|0}while((n|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[C>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(A=g+(e<<2)|0,(h|0)!=(A|0)):0)k[c>>2]=h+(~((h+-4-A|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[B>>2]|0}if((e|0)>0){f=k[C>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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[B>>2]=l;f=l}}else f=0;d=k[C>>2]|0;c=d;if(d|0){e=k[D>>2]|0;if((e|0)!=(d|0))k[D>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[E+8>>2]|0;if(d|0)do{D=d;d=k[d>>2]|0;Jp(D)}while((d|0)!=0);d=k[E>>2]|0;k[E>>2]=0;if(!d){r=F;return f|0}Jp(d);r=F;return f|0}function Af(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+32|0;J=K+12|0;D=K+40|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)zp(H);A=d<<2;f=aq(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;iq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;u=k[c>>2]|0;t=0;n=0;do{p=u+t|0;q=y;m=k[q>>2]|0;q=k[q+4>>2]|0;s=z;s=tq(p|0,((p|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;q=kq(s|0,L|0,m|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8;j[D>>1]=q;m=q&255;s=(q&65535)>>>8;p=s&255;s=s&65535;d=(q&255^318)+239^s;e=k[A>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=d&g;else h=(d>>>0)%(e>>>0)|0;d=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((d|0)!=0?(C=k[d>>2]|0,(C|0)!=0):0){b:do if(c){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=23;break a}if((i[d+8>>0]|0)==m<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=23;break a}if((i[d+8>>0]|0)==m<<24>>24?(i[d+9>>0]|0)==p<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}while(0);k[f+(t<<2)>>2]=k[d+12>>2]}else E=23}else E=23;while(0);if((E|0)==23){E=0;d=aq(16)|0;p=d+8|0;i[p>>0]=q;i[p+1>>0]=q>>8;k[d+12>>2]=n;k[d+4>>2]=(q&255^318)+239^s;k[d>>2]=0;nf(B,J,d);if(!(i[v>>0]|0))Jp(d);s=w;f=k[s>>2]|0;s=tq(f|0,k[s+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;mq((k[k[x>>2]>>2]|0)+s|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(t<<2)>>2]=n;n=n+1|0}t=t+1|0;e=k[G>>2]|0}while((t|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[m>>0]|0)Aa(10792,10811,80,10843);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]=n;f=n}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Jp(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Jp(d);r=K;return f|0}function Bf(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,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+32|0;J=K+12|0;D=K+40|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)zp(H);A=d<<2;f=aq(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;iq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=D+1|0;t=D+2|0;u=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;s=k[c>>2]|0;q=0;l=0;do{p=s+q|0;j=y;m=k[j>>2]|0;j=k[j+4>>2]|0;n=z;n=tq(p|0,((p|0)<0)<<31>>31|0,k[n>>2]|0,k[n+4>>2]|0)|0;j=kq(n|0,L|0,m|0,j|0)|0;j=(k[k[b>>2]>>2]|0)+j|0;i[D>>0]=i[j>>0]|0;i[D+1>>0]=i[j+1>>0]|0;i[D+2>>0]=i[j+2>>0]|0;j=i[D>>0]|0;m=i[A>>0]|0;n=i[t>>0]|0;p=((j&255^318)+239^m&255)+239^n&255;e=k[u>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)h=p&g;else h=(p>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(h<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(h|0)){E=25;break a}if(((i[d+8>>0]|0)==j<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0)?(i[d+10>>0]|0)==n<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){E=25;break a}if(((i[d+8>>0]|0)==j<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0)?(i[d+10>>0]|0)==n<<24>>24:0)break b;d=k[d>>2]|0;if(!d){E=25;break a}}}while(0);k[f+(q<<2)>>2]=k[d+12>>2]}else E=25}else E=25;while(0);if((E|0)==25){E=0;d=aq(16)|0;i[d+8>>0]=j;i[d+9>>0]=m;i[d+10>>0]=n;k[d+12>>2]=l;k[d+4>>2]=p;k[d>>2]=0;rf(B,J,d);if(!(i[v>>0]|0))Jp(d);p=w;f=k[p>>2]|0;p=tq(f|0,k[p+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;mq((k[k[x>>2]>>2]|0)+p|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(q<<2)>>2]=l;l=l+1|0}q=q+1|0;e=k[G>>2]|0}while((q|0)<(e|0))}else l=0;if((l|0)==(e|0))f=l;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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]=l;f=l}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Jp(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Jp(d);r=K;return f|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,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=r;r=r+48|0;s=A+40|0;z=A+20|0;t=A+16|0;u=A+12|0;x=A;k[z>>2]=0;k[z+4>>2]=0;k[z+8>>2]=0;k[z+12>>2]=0;o[z+16>>2]=1.0;w=a+80|0;d=k[w>>2]|0;k[x>>2]=0;y=x+4|0;k[y>>2]=0;k[x+8>>2]=0;if(d){if(d>>>0>1073741823)zp(x);q=d<<2;f=aq(q)|0;k[x>>2]=f;e=f+(d<<2)|0;k[x+8>>2]=e;iq(f|0,0,q|0)|0;k[y>>2]=e;e=k[w>>2]|0;if((e|0)>0){n=k[c>>2]|0;p=b+48|0;q=b+40|0;h=s+4|0;j=a+40|0;m=a+64|0;g=0;e=0;while(1){C=n+g|0;c=p;d=k[c>>2]|0;c=k[c+4>>2]|0;B=q;B=tq(C|0,((C|0)<0)<<31>>31|0,k[B>>2]|0,k[B+4>>2]|0)|0;c=kq(B|0,L|0,d|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[t>>2]=c;k[u>>2]=c;d=vf(z,u)|0;if(!d){d=aq(16)|0;C=d+8|0;i[C>>0]=c;i[C+1>>0]=c>>8;i[C+2>>0]=c>>16;i[C+3>>0]=c>>24;k[d+12>>2]=e;k[d+4>>2]=(((c&255^318)+239^c>>>8&255)+239^c>>>16&255)+239^c>>>24;k[d>>2]=0;wf(s,z,d);if(!(i[h>>0]|0))Jp(d);d=j;f=k[d>>2]|0;d=tq(f|0,k[d+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;mq((k[k[m>>2]>>2]|0)+d|0,t|0,f|0)|0;f=k[x>>2]|0;k[f+(g<<2)>>2]=e;d=e+1|0}else{k[f+(g<<2)>>2]=k[d+12>>2];d=e}g=g+1|0;e=k[w>>2]|0;if((g|0)>=(e|0)){m=d;break}else e=d}}else m=0;if((m|0)==(e|0))f=m;else{j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[x>>2]|0;d=d>>2;c=0;do{C=e+(c<<2)|0;k[C>>2]=k[f+(k[C>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;g=a+68|0;h=a+72|0;f=k[h>>2]|0;c=k[g>>2]|0;d=f-c>>2;if(e>>>0<=d>>>0){if(e>>>0>>0?(v=c+(e<<2)|0,(f|0)!=(v|0)):0)k[h>>2]=f+(~((f+-4-v|0)>>>2)<<2)}else{Ve(g,e-d|0,2864);e=k[w>>2]|0}if((e|0)>0){f=k[x>>2]|0;if(i[j>>0]|0)Aa(10792,10811,80,10843);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[w>>2]=m;f=m}}else f=0;d=k[x>>2]|0;c=d;if(d|0){e=k[y>>2]|0;if((e|0)!=(d|0))k[y>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[z+8>>2]|0;if(d|0)do{C=d;d=k[d>>2]|0;Jp(C)}while((d|0)!=0);d=k[z>>2]|0;k[z>>2]=0;if(!d){r=A;return f|0}Jp(d);r=A;return f|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,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=r;r=r+48|0;z=H+32|0;G=H+12|0;A=H+40|0;E=H;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;k[G+12>>2]=0;o[G+16>>2]=1.0;D=a+80|0;d=k[D>>2]|0;k[E>>2]=0;F=E+4|0;k[F>>2]=0;k[E+8>>2]=0;if(d){if(d>>>0>1073741823)zp(E);y=d<<2;f=aq(y)|0;k[E>>2]=f;e=f+(d<<2)|0;k[E+8>>2]=e;iq(f|0,0,y|0)|0;k[F>>2]=e;e=k[D>>2]|0;if((e|0)>0){w=b+48|0;x=b+40|0;y=G+4|0;t=z+4|0;u=a+40|0;v=a+64|0;s=k[c>>2]|0;q=0;n=0;do{h=s+q|0;m=w;p=k[m>>2]|0;m=k[m+4>>2]|0;e=x;e=tq(h|0,((h|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;m=kq(e|0,L|0,p|0,m|0)|0;m=(k[k[b>>2]>>2]|0)+m|0;m=l[m>>0]|l[m+1>>0]<<8;j[A>>1]=m;p=m&65535^318;e=k[y>>2]|0;a:do if(e){g=e+-1|0;c=(g&e|0)==0;if(c)h=g&p;else h=(p>>>0)%(e>>>0)|0;d=k[(k[G>>2]|0)+(h<<2)>>2]|0;if(d){if(c)do{d=k[d>>2]|0;if(!d){B=20;break a}if((k[d+4>>2]&g|0)!=(h|0)){B=20;break a}}while((j[d+8>>1]|0)!=m<<16>>16);else do{d=k[d>>2]|0;if(!d){B=20;break a}if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(h|0)){B=20;break a}}while((j[d+8>>1]|0)!=m<<16>>16);k[f+(q<<2)>>2]=k[d+12>>2]}else B=20}else B=20;while(0);if((B|0)==20){B=0;d=aq(16)|0;j[d+8>>1]=m;k[d+12>>2]=n;k[d+4>>2]=p;k[d>>2]=0;Ef(z,G,d);if(!(i[t>>0]|0))Jp(d);p=u;f=k[p>>2]|0;p=tq(f|0,k[p+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;mq((k[k[v>>2]>>2]|0)+p|0,A|0,f|0)|0;f=k[E>>2]|0;k[f+(q<<2)>>2]=n;n=n+1|0}q=q+1|0;e=k[D>>2]|0}while((q|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[E>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(C=g+(e<<2)|0,(h|0)!=(C|0)):0)k[c>>2]=h+(~((h+-4-C|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[D>>2]|0}if((e|0)>0){f=k[E>>2]|0;if(i[m>>0]|0)Aa(10792,10811,80,10843);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[D>>2]=n;f=n}}else f=0;d=k[E>>2]|0;c=d;if(d|0){e=k[F>>2]|0;if((e|0)!=(d|0))k[F>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[G+8>>2]|0;if(d|0)do{F=d;d=k[d>>2]|0;Jp(F)}while((d|0)!=0);d=k[G>>2]|0;k[G>>2]=0;if(!d){r=H;return f|0}Jp(d);r=H;return f|0}function Ef(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,l=0,m=0,n=0,p=0,q=0,r=0;n=j[c+8>>1]|0;d=n&65535^318;r=c+4|0;k[r>>2]=d;q=b+4|0;l=k[q>>2]|0;p=(l|0)==0;a:do if(!p){m=l+-1|0;f=(m&l|0)==0;if(f)e=m&d;else e=(d>>>0)%(l>>>0)|0;d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(d)if(f){while(1){d=k[d>>2]|0;if(!d)break a;if((k[d+4>>2]&m|0)!=(e|0))break a;if((j[d+8>>1]|0)==n<<16>>16){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){d=k[d>>2]|0;if(!d)break a;if((((k[d+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(e|0))break a;if((j[d+8>>1]|0)==n<<16>>16){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);m=b+12|0;g=+(((k[m>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(p|g>+(l>>>0)*h){if(l>>>0>2)d=(l+-1&l|0)==0;else d=0;f=(d&1|l<<1)^1;d=~~+ga(+(g/h))>>>0;Ff(b,f>>>0>>0?d:f);f=k[q>>2]|0;d=k[r>>2]|0;e=f+-1|0;if(!(e&f)){l=f;e=e&d;break}else{l=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=l+-1|0;if(!(e&l))d=d&e;else d=(d>>>0)%(l>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[m>>2]=(k[m>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function Ff(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){Gf(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;Gf(a,b);return}function Gf(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)Jp(c);k[d>>2]=0;return}n=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)Jp(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;m=b+-1|0;n=(m&b|0)==0;if(n)e=c&m;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[f>>2]|0;if(!c)return;else{g=f;d=f}a:while(1){b:do if(n){l=g;i=d;while(1){while(1){h=k[c+4>>2]&m;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((j[g>>1]|0)==(j[f+8>>1]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[l>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{l=d;i=d}}}else{l=g;i=d;while(1){while(1){h=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((j[g>>1]|0)==(j[f+8>>1]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[l>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{l=d;i=d}}}while(0);k[d>>2]=c;c=k[f>>2]|0;if(!c){c=32;break}else{g=f;d=f}}if((c|0)==32)return}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,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+48|0;B=K+40|0;J=K+16|0;D=K+12|0;H=K;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[J+16>>2]=1.0;G=a+80|0;d=k[G>>2]|0;k[H>>2]=0;I=H+4|0;k[I>>2]=0;k[H+8>>2]=0;if(d){if(d>>>0>1073741823)zp(H);A=d<<2;f=aq(A)|0;k[H>>2]=f;e=f+(d<<2)|0;k[H+8>>2]=e;iq(f|0,0,A|0)|0;k[I>>2]=e;e=k[G>>2]|0;if((e|0)>0){y=b+48|0;z=b+40|0;A=J+4|0;v=B+4|0;w=a+40|0;x=a+64|0;u=k[c>>2]|0;t=0;n=0;do{m=u+t|0;q=y;h=k[q>>2]|0;q=k[q+4>>2]|0;s=z;s=tq(m|0,((m|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;q=kq(s|0,L|0,h|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[D>>2]=q;h=q&65535;s=q>>>16;m=s&65535;s=(q&65535^318)+239^s;e=k[A>>2]|0;a:do if(e){g=e+-1|0;d=(g&e|0)==0;if(d)p=s&g;else p=(s>>>0)%(e>>>0)|0;c=k[(k[J>>2]|0)+(p<<2)>>2]|0;if((c|0)!=0?(C=k[c>>2]|0,(C|0)!=0):0){b:do if(d){d=C;while(1){if((k[d+4>>2]&g|0)!=(p|0)){E=23;break a}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(p|0)){E=23;break a}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)break b;d=k[d>>2]|0;if(!d){E=23;break a}}}while(0);k[f+(t<<2)>>2]=k[d+12>>2]}else E=23}else E=23;while(0);if((E|0)==23){E=0;d=aq(16)|0;p=d+8|0;j[p>>1]=q;j[p+2>>1]=q>>>16;k[d+12>>2]=n;k[d+4>>2]=s;k[d>>2]=0;If(B,J,d);if(!(i[v>>0]|0))Jp(d);s=w;f=k[s>>2]|0;s=tq(f|0,k[s+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;mq((k[k[x>>2]>>2]|0)+s|0,D|0,f|0)|0;f=k[H>>2]|0;k[f+(t<<2)>>2]=n;n=n+1|0}t=t+1|0;e=k[G>>2]|0}while((t|0)<(e|0))}else n=0;if((n|0)==(e|0))f=n;else{m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;d=(k[a+72>>2]|0)-e|0;if((d|0)>0){f=k[H>>2]|0;d=d>>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;d=a+68|0;c=a+72|0;h=k[c>>2]|0;g=k[d>>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[c>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ve(d,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[m>>0]|0)Aa(10792,10811,80,10843);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]=n;f=n}}else f=0;d=k[H>>2]|0;c=d;if(d|0){e=k[I>>2]|0;if((e|0)!=(d|0))k[I>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(d)}d=k[J+8>>2]|0;if(d|0)do{I=d;d=k[d>>2]|0;Jp(I)}while((d|0)!=0);d=k[J>>2]|0;k[J>>2]=0;if(!d){r=K;return f|0}Jp(d);r=K;return f|0}function If(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;p=j[c+8>>1]|0;q=j[c+10>>1]|0;e=(p&65535^318)+239^q&65535;t=c+4|0;k[t>>2]=e;s=b+4|0;l=k[s>>2]|0;r=(l|0)==0;a:do if(!r){n=l+-1|0;m=(n&l|0)==0;if(m)e=n&e;else e=(e>>>0)%(l>>>0)|0;f=k[(k[b>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0?(d=k[f>>2]|0,(d|0)!=0):0)if(m){while(1){if((k[d+4>>2]&n|0)!=(e|0))break a;if((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==q<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){if((((k[d+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(e|0))break a;if((j[d+8>>1]|0)==p<<16>>16?(j[d+10>>1]|0)==q<<16>>16:0){e=0;break}d=k[d>>2]|0;if(!d)break a}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);m=b+12|0;g=+(((k[m>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(r|g>+(l>>>0)*h){if(l>>>0>2)d=(l+-1&l|0)==0;else d=0;f=(d&1|l<<1)^1;d=~~+ga(+(g/h))>>>0;Jf(b,f>>>0>>0?d:f);f=k[s>>2]|0;d=k[t>>2]|0;e=f+-1|0;if(!(e&f)){l=f;e=e&d;break}else{l=f;e=(d>>>0)%(f>>>0)|0;break}}while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=l+-1|0;if(!(e&l))d=d&e;else d=(d>>>0)%(l>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[m>>2]=(k[m>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return} -function Ln(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;q=k[b>>2]|0;l=k[b+4>>2]|0;n=((k[c>>2]|0)-q<<3)+(k[c+4>>2]|0)-l|0;c=q;if((n|0)<=0){b=d+4|0;d=k[d>>2]|0;k[a>>2]=d;a=a+4|0;d=k[b>>2]|0;k[a>>2]=d;return}if(!l){e=d+4|0;j=e;e=k[e>>2]|0;p=n}else{f=32-l|0;m=(n|0)<(f|0)?n:f;f=-1>>>(f-m|0)&-1<>2];j=d+4|0;i=k[j>>2]|0;e=32-i|0;g=e>>>0>>0?e:m;h=k[d>>2]|0;i=k[h>>2]&~(-1>>>(e-g|0)&-1<>2]=i;e=k[j>>2]|0;k[h>>2]=i|(e>>>0>l>>>0?f<>>(l-e|0));e=(k[j>>2]|0)+g|0;h=h+(e>>>5<<2)|0;k[d>>2]=h;e=e&31;k[j>>2]=e;i=m-g|0;if((i|0)>0){k[h>>2]=k[h>>2]&~(-1>>>(32-i|0))|f>>>(l+g|0);k[j>>2]=i;e=i}c=c+4|0;k[b>>2]=c;p=n-m|0}q=32-e|0;g=-1<>>0>31){i=~g;f=k[d>>2]|0;m=p+-32|0;h=m>>>5;l=h+1|0;h=m-(h<<5)|0;m=c;n=k[f>>2]|0;o=f;e=p;while(1){p=k[m>>2]|0;r=n&i;k[o>>2]=r;k[o>>2]=r|p<>2];o=o+4|0;n=k[o>>2]&g|p>>>q;k[o>>2]=n;e=e+-32|0;if(e>>>0<=31)break;else m=m+4|0}c=c+(l<<2)|0;k[b>>2]=c;k[d>>2]=f+(l<<2)}else h=p;if((h|0)<=0){b=j;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;a=k[b>>2]|0;k[r>>2]=a;return}f=k[c>>2]&-1>>>(32-h|0);g=(q|0)<(h|0)?q:h;e=k[d>>2]|0;c=k[e>>2]&~(-1<>2]&-1>>>(q-g|0));k[e>>2]=c;k[e>>2]=c|f<>2];c=(k[j>>2]|0)+g|0;e=e+(c>>>5<<2)|0;k[d>>2]=e;k[j>>2]=c&31;c=h-g|0;if((c|0)<=0){b=j;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;a=k[b>>2]|0;k[r>>2]=a;return}k[e>>2]=k[e>>2]&~(-1>>>(32-c|0))|f>>>g;k[j>>2]=c;b=j;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;a=k[b>>2]|0;k[r>>2]=a;return}function Mn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;k[a+4>>2]=k[b+4>>2];h=a+8|0;i=b+8|0;if((a|0)==(b|0))return a|0;j=b+12|0;c=k[j>>2]|0;if(!c)c=0;else{e=a+16|0;do if(c>>>0>k[e>>2]<<5>>>0){d=k[h>>2]|0;if(d){Jp(d);k[h>>2]=0;k[e>>2]=0;k[a+12>>2]=0;c=k[j>>2]|0}if((c|0)<0)zp(h);else{f=((c+-1|0)>>>5)+1|0;g=aq(f<<2)|0;k[h>>2]=g;k[a+12>>2]=0;k[e>>2]=f;f=k[j>>2]|0;break}}else{f=c;g=k[h>>2]|0}while(0);nq(g|0,k[i>>2]|0,((f+-1|0)>>>5<<2)+4|0)|0;c=k[j>>2]|0}k[a+12>>2]=c;g=a+20|0;h=b+20|0;e=b+24|0;c=k[e>>2]|0;if(!c)c=0;else{f=a+28|0;do if(c>>>0>k[f>>2]<<5>>>0){d=k[g>>2]|0;if(d){Jp(d);k[g>>2]=0;k[f>>2]=0;k[a+24>>2]=0;c=k[e>>2]|0}if((c|0)<0)zp(g);else{l=((c+-1|0)>>>5)+1|0;m=aq(l<<2)|0;k[g>>2]=m;k[a+24>>2]=0;k[f>>2]=l;l=k[e>>2]|0;break}}else{l=c;m=k[g>>2]|0}while(0);nq(m|0,k[h>>2]|0,((l+-1|0)>>>5<<2)+4|0)|0;c=k[e>>2]|0}k[a+24>>2]=c;return a|0}function Nn(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;h=c-m>>2;j=a+8|0;d=k[j>>2]|0;g=k[a>>2]|0;l=g;if(h>>>0>d-g>>2>>>0){f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(l|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);Jp(f);k[j>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(h>>>0>1073741823)zp(a);d=d-0|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?h:d;if(d>>>0>1073741823)zp(a);else i=d}else i=1073741823;f=aq(i<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[j>>2]=f+(i<<2);if((b|0)==(c|0))return;e=(c+-4-m|0)>>>2;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+1<<2);return}else{j=a+4|0;i=k[j>>2]|0;f=i-g>>2;g=h>>>0>f>>>0;h=b+(f<<2)|0;f=g?h:c;if((f|0)==(b|0))b=l;else{e=f+-4-m|0;d=l;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(f|0))break;else d=d+4|0}b=l+((e>>>2)+1<<2)|0}if(!g){if((i|0)==(b|0))return;k[j>>2]=i+(~((i+-4-b|0)>>>2)<<2);return}if((f|0)==(c|0))return;e=(c+-4-f|0)>>>2;b=h;d=i;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]=i+(e+1<<2);return}}function On(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4628;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}k[a+12>>2]=4652;b=k[a+32>>2]|0;if(b|0)Jp(b);b=k[a+20>>2]|0;if(!b)return;Jp(b);return}function Pn(a){a=a|0;var b=0;k[a>>2]=4652;b=k[a+20>>2]|0;if(b|0)Jp(b);b=k[a+8>>2]|0;if(!b)return;Jp(b);return}function Qn(a){a=a|0;var b=0;k[a>>2]=4652;b=k[a+20>>2]|0;if(b|0)Jp(b);b=k[a+8>>2]|0;if(!b){Jp(a);return}Jp(b);Jp(a);return}function Rn(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;d=k[a+4>>2]|0;d=(k[d+56>>2]|0)-(k[d+52>>2]|0)>>2;i[c>>0]=0;Dg(a+20|0,d,c);r=b;return}function Sn(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4628;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}k[a+12>>2]=4652;b=k[a+32>>2]|0;if(b|0)Jp(b);b=k[a+20>>2]|0;if(!b){Jp(a);return}Jp(b);Jp(a);return}function Tn(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;h=a+76|0;c=k[h>>2]|0;m=k[c+64>>2]|0;r=b+84|0;i[r>>0]=0;j=b+68|0;l=b+72|0;f=k[l>>2]|0;e=k[j>>2]|0;d=f-e>>2;if(m>>>0<=d>>>0){if(m>>>0>>0?(g=e+(m<<2)|0,(f|0)!=(g|0)):0)k[l>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else{Ve(j,m-d|0,4616);m=k[h>>2]|0;c=m;m=k[m+64>>2]|0}p=(k[c+84>>2]|0)-(k[c+80>>2]|0)|0;q=(p|0)/12|0;if((p|0)<=0){r=1;return r|0}p=n+28|0;o=a+80|0;n=b+68|0;a=c+80|0;j=c+84|0;l=0;while(1){c=k[a>>2]|0;if((l|0)>=(((k[j>>2]|0)-c|0)/12|0|0)){d=9;break}e=l*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+(l*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+(l*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+(l*12|0)+8>>2]<<2)>>2]=d;l=l+1|0;if((l|0)>=(q|0)){c=1;d=14;break}}if((d|0)==9)Aa(10719,10773,64,10787);else if((d|0)==12)Aa(10792,10811,80,10843);else if((d|0)==14)return c|0;return 0}function Un(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;f=h+4|0;g=h;e=a+84|0;b=k[e>>2]|0;if(!b){b=a+8|0;e=k[(k[b>>2]|0)+64>>2]|0;e=(k[e+4>>2]|0)-(k[e>>2]|0)|0;a=(e|0)/12|0;if((e|0)<=0){r=h;return 1}c=0;do{k[g>>2]=c*3;k[f>>2]=k[g>>2];Vn(b,f);c=c+1|0}while((c|0)<(a|0));r=h;return 1}else{c=k[b>>2]|0;if((k[b+4>>2]|0)==(c|0)){r=h;return 1}d=a+8|0;b=c;a=0;do{k[g>>2]=k[b+(a<<2)>>2];k[f>>2]=k[g>>2];Vn(d,f);a=a+1|0;c=k[e>>2]|0;b=k[c>>2]|0}while(a>>>0<(k[c+4>>2]|0)-b>>2>>>0);r=h;return 1}return 0}function Vn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+32|0;s=A+28|0;q=A+24|0;h=A+20|0;i=A+16|0;l=A+12|0;m=A+8|0;v=A+4|0;w=A;n=k[b>>2]|0;if((n|0)<0){r=A;return}u=(n|0)/3|0;y=a+12|0;if(k[(k[y>>2]|0)+(u>>>5<<2)>>2]&1<<(u&31)|0){r=A;return}t=a+56|0;c=k[t>>2]|0;u=a+60|0;d=k[u>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;k[u>>2]=c}p=a+64|0;if((c|0)==(k[p>>2]|0))Cd(t,b);else{k[c>>2]=n;k[u>>2]=c+4}d=n+1|0;j=k[(k[a>>2]|0)+28>>2]|0;d=k[j+((((d|0)%3|0|0)==0?n+-2|0:d)<<2)>>2]|0;j=k[j+(n+(((n|0)%3|0|0)==0?2:-1)<<2)>>2]|0;o=a+24|0;c=k[o>>2]|0;e=c+(d>>>5<<2)|0;f=1<<(d&31);g=k[e>>2]|0;if(!(g&f)){k[e>>2]=g|f;k[h>>2]=d;c=n+1|0;k[i>>2]=((c|0)%3|0|0)==0?n+-2|0:c;k[q>>2]=k[h>>2];k[s>>2]=k[i>>2];Wn(a+36|0,q,s);c=k[o>>2]|0}c=c+(j>>>5<<2)|0;d=1<<(j&31);e=k[c>>2]|0;if(!(e&d)){k[c>>2]=e|d;k[l>>2]=j;k[m>>2]=n+(((n|0)%3|0|0)==0?2:-1);k[q>>2]=k[l>>2];k[s>>2]=k[m>>2];Wn(a+36|0,q,s)}d=k[t>>2]|0;c=k[u>>2]|0;if((d|0)==(c|0)){r=A;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[y>>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){n=(c|0)/3|0;i=d+(n>>>5<<2)|0;k[i>>2]=1<<(n&31)|k[i>>2];i=k[(k[e+28>>2]|0)+(c<<2)>>2]|0;d=k[(k[e+40>>2]|0)+(i<<2)>>2]|0;if((d|0)<0)h=1;else{h=k[(k[k[e+64>>2]>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;h=(1<<(h&31)&k[(k[e+12>>2]|0)+(h>>>5<<2)>>2]|0)!=0}d=(k[o>>2]|0)+(i>>>5<<2)|0;f=1<<(i&31);g=k[d>>2]|0;if(!(g&f)){k[d>>2]=g|f;k[v>>2]=i;k[w>>2]=c;k[q>>2]=k[v>>2];k[s>>2]=k[w>>2];Wn(j,q,s);e=k[a>>2]|0;if(h)h=e;else{if((c|0)>=0){n=c+1|0;c=((n|0)%3|0|0)==0?c+-2|0:n}if(!(1<<(c&31)&k[(k[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=k[(k[(k[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;k[b>>2]=c;d=k[y>>2]|0;continue}}else h=e;d=(c|0)<0;if(d)e=c;else{e=c+1|0;e=((e|0)%3|0|0)==0?c+-2|0:e}if(!(1<<(e&31)&k[(k[h>>2]|0)+(e>>>5<<2)>>2])){if((e|0)>=0)e=k[(k[(k[h+64>>2]|0)+12>>2]|0)+(e<<2)>>2]|0}else e=-1073741824;k[s>>2]=e;do if(!d)if(!((c|0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);if(!(1<<(c&31)&k[(k[h>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=k[(k[(k[h+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;f=(e|0)<0?-1:(e|0)/3|0;g=(c|0)<0?-1:(c|0)/3|0;do if((f|0)>=0){d=k[y>>2]|0;if(k[d+(f>>>5<<2)>>2]&1<<(f&31)|0){z=42;break}if((g|0)<0){c=e;break}if(!(k[d+(g>>>5<<2)>>2]&1<<(g&31))){z=47;break a}else c=e}else z=42;while(0);if((z|0)==42){z=0;if((g|0)<0){z=44;break}d=k[y>>2]|0;if(k[d+(g>>>5<<2)>>2]&1<<(g&31)){z=44;break}}k[b>>2]=c;e=h}do if((z|0)==44){z=0;c=(k[u>>2]|0)+-4|0;k[u>>2]=c}else if((z|0)==47){z=0;d=k[u>>2]|0;k[d+-4>>2]=c;if((d|0)==(k[p>>2]|0)){Cd(t,s);c=k[u>>2]|0;break}else{k[d>>2]=e;c=d+4|0;k[u>>2]=c;break}}while(0);d=k[t>>2]|0}else{c=c+-4|0;k[u>>2]=c}}while((d|0)!=(c|0));r=A;return}function Wn(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;j=r;r=r+16|0;h=j;d=k[a+8>>2]|0;i=k[c>>2]|0;e=(i|0)/3|0;if((i|0)<=-3)Aa(10860,10773,63,10787);f=k[d+80>>2]|0;if((e|0)>=(((k[d+84>>2]|0)-f|0)/12|0|0))Aa(10719,10773,64,10787);d=k[f+(e*12|0)+(((i|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))qg(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)){Cd(e,c);a=k[d>>2]|0;c=a+24|0;i=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]=i;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;r=j;return}else{k[g>>2]=i;k[f>>2]=g+4;a=e;c=a+24|0;i=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]=i;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;r=j;return}}function Xn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+32|0;j=n+24|0;i=n+16|0;l=n+8|0;m=n;k[a>>2]=4652;k[a+4>>2]=k[b+4>>2];e=a+8|0;f=b+8|0;k[e>>2]=0;g=a+12|0;k[g>>2]=0;h=a+16|0;k[h>>2]=0;c=b+12|0;d=k[c>>2]|0;do if(d|0)if((d|0)<0)zp(e);else{d=((d+-1|0)>>>5)+1|0;o=aq(d<<2)|0;k[e>>2]=o;k[g>>2]=0;k[h>>2]=d;g=k[f>>2]|0;k[l>>2]=g;k[l+4>>2]=0;h=k[c>>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];Kn(e,i,j);break}while(0);f=a+20|0;k[f>>2]=0;g=a+24|0;k[g>>2]=0;c=a+28|0;k[c>>2]=0;d=b+24|0;e=k[d>>2]|0;if(!e){r=n;return}if((e|0)<0)zp(f);o=((e+-1|0)>>>5)+1|0;a=aq(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];Kn(f,i,j);r=n;return}function Yn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;k[a+4>>2]=k[b+4>>2];h=a+8|0;i=b+8|0;if((a|0)==(b|0))return a|0;j=b+12|0;c=k[j>>2]|0;if(!c)c=0;else{e=a+16|0;do if(c>>>0>k[e>>2]<<5>>>0){d=k[h>>2]|0;if(d){Jp(d);k[h>>2]=0;k[e>>2]=0;k[a+12>>2]=0;c=k[j>>2]|0}if((c|0)<0)zp(h);else{f=((c+-1|0)>>>5)+1|0;g=aq(f<<2)|0;k[h>>2]=g;k[a+12>>2]=0;k[e>>2]=f;f=k[j>>2]|0;break}}else{f=c;g=k[h>>2]|0}while(0);nq(g|0,k[i>>2]|0,((f+-1|0)>>>5<<2)+4|0)|0;c=k[j>>2]|0}k[a+12>>2]=c;g=a+20|0;h=b+20|0;e=b+24|0;c=k[e>>2]|0;if(!c)c=0;else{f=a+28|0;do if(c>>>0>k[f>>2]<<5>>>0){d=k[g>>2]|0;if(d){Jp(d);k[g>>2]=0;k[f>>2]=0;k[a+24>>2]=0;c=k[e>>2]|0}if((c|0)<0)zp(g);else{l=((c+-1|0)>>>5)+1|0;m=aq(l<<2)|0;k[g>>2]=m;k[a+24>>2]=0;k[f>>2]=l;l=k[e>>2]|0;break}}else{l=c;m=k[g>>2]|0}while(0);nq(m|0,k[h>>2]|0,((l+-1|0)>>>5<<2)+4|0)|0;c=k[e>>2]|0}k[a+24>>2]=c;return a|0}function Zn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;x=C+88|0;s=C+92|0;B=C+40|0;A=C;u=C+84|0;y=C+80|0;o=a+148|0;k[o>>2]=0;e=a+164|0;if(k[e>>2]|0){c=a+160|0;b=k[c>>2]|0;if(b|0)do{z=b;b=k[b>>2]|0;Jp(z)}while((b|0)!=0);k[c>>2]=0;b=k[a+156>>2]|0;if(b|0){c=a+152|0;d=0;do{k[(k[c>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(b|0))}k[e>>2]=0}t=a+4|0;b=k[(k[t>>2]|0)+20>>2]|0;m=b+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;n=b+16|0;g=n;f=k[g>>2]|0;g=k[g+4>>2]|0;d=kq(f|0,g|0,4,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){B=0;r=C;return B|0}h=k[b>>2]|0;e=h+f|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;b=n;k[b>>2]=d;k[b+4>>2]=c;k[o>>2]=e;e=kq(f|0,g|0,8,0)|0;b=L;if((m|0)<(b|0)|(m|0)==(b|0)&j>>>0>>0){B=0;r=C;return B|0}c=h+d|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;q=n;k[q>>2]=e;k[q+4>>2]=b;q=a+172|0;k[q>>2]=c;b=kq(f|0,g|0,12,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){B=0;r=C;return B|0}p=h+e|0;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;d=n;k[d>>2]=b;k[d+4>>2]=c;b=k[a+24>>2]|0;c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);z=a+8|0;b=aq(60)|0;Ad(b);c=k[z>>2]|0;k[z>>2]=b;if(c){Gd(c);Jp(c);b=k[z>>2]|0;if(!b){B=0;r=C;return B|0}}Hd(b,p);f=a+176|0;g=k[f>>2]|0;h=a+180|0;b=k[h>>2]|0;c=g;if((b|0)!=(g|0)){b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[h>>2]=b}e=a+184|0;if((k[e>>2]|0)-c>>2>>>0

>>0){b=b-c|0;c=b>>2;if(!p)d=0;else d=aq(p<<2)|0;w=d+(c<<2)|0;v=w+(0-c<<2)|0;mq(v|0,g|0,b|0)|0;k[f>>2]=v;k[h>>2]=w;k[e>>2]=d+(p<<2);if(g|0)Jp(g)}f=a+188|0;g=k[f>>2]|0;h=a+192|0;b=k[h>>2]|0;c=g;if((b|0)!=(g|0)){b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[h>>2]=b}e=a+196|0;if((k[e>>2]|0)-c>>2>>>0

>>0){b=b-c|0;c=b>>2;if(!p)d=0;else d=aq(p<<2)|0;w=d+(c<<2)|0;v=w+(0-c<<2)|0;mq(v|0,g|0,b|0)|0;k[f>>2]=v;k[h>>2]=w;k[e>>2]=d+(p<<2);if(g|0)Jp(g)}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[t>>2]|0)+20>>2]|0;w=b+8|0;v=k[w+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((v|0)>(e|0)|((v|0)==(e|0)?(k[w>>2]|0)>>>0>d>>>0:0))){B=0;r=C;return B|0}h=i[(k[b>>2]|0)+d>>0]|0;v=kq(d|0,e|0,1,0)|0;w=c;k[w>>2]=v;k[w+4>>2]=L;if(h<<24>>24<0){B=0;r=C;return B|0}v=a+228|0;g=k[v>>2]|0;w=a+232|0;b=k[w>>2]|0;if((b|0)!=(g|0))do{k[w>>2]=b+-116;c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(c)}un(b+-112|0);b=k[w>>2]|0}while((b|0)!=(g|0));o=h<<24>>24;_n(v,o);b=k[(k[t>>2]|0)+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=k[d+4>>2]|0;m=kq(c|0,d|0,4,0)|0;e=L;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){B=0;r=C;return B|0}f=k[b>>2]|0;n=f+c|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;b=j;k[b>>2]=m;k[b+4>>2]=e;if(p>>>0>>0){B=0;r=C;return B|0}b=kq(c|0,d|0,8,0)|0;c=L;if((h|0)<(c|0)|(h|0)==(c|0)&g>>>0>>0){B=0;r=C;return B|0}e=f+m|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;h=j;k[h>>2]=b;k[h+4>>2]=c;h=a+136|0;b=(k[q>>2]|0)+e|0;i[s>>0]=1;Dg(h,b,s);b=k[(k[t>>2]|0)+20>>2]|0;q=b+8|0;s=k[q>>2]|0;q=k[q+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=kq(d|0,k[e+4>>2]|0,4,0)|0;f=L;if((q|0)<(f|0)|(q|0)==(f|0)&s>>>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;s=c;k[s>>2]=e;k[s+4>>2]=f}Pg(B);q=k[(k[t>>2]|0)+20>>2]|0;m=q+16|0;j=k[m>>2]|0;s=(k[q>>2]|0)+j+b|0;q=q+8|0;p=k[q>>2]|0;q=k[q+4>>2]|0;b=kq(j|0,k[m+4>>2]|0,b|0,0)|0;b=hq(p|0,q|0,b|0,L|0)|0;Qg(B,s,b);b=co(a,B)|0;if((b|0)==-1)b=0;else{c=a+240|0;k[a+328>>2]=a;q=(cb[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;q=k[q>>2]|0;p=k[q>>2]|0;q=k[q+16>>2]|0;s=(cb[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;s=k[s>>2]|0;m=s+8|0;s=s+16|0;s=hq(k[m>>2]|0,k[m+4>>2]|0,k[s>>2]|0,k[s+4>>2]|0)|0;Qg(c,p+q|0,s);k[a+324>>2]=o;Pg(A);do if(go(c,A)|0){if((ho(a,n)|0)==-1){b=0;break}p=k[(k[t>>2]|0)+20>>2]|0;s=A+16|0;o=k[s>>2]|0;q=(k[A>>2]|0)+o|0;n=A+8|0;s=hq(k[n>>2]|0,k[n+4>>2]|0,o|0,k[s+4>>2]|0)|0;Qg(p,q,s);t=(k[(k[t>>2]|0)+20>>2]|0)+16|0;s=t;s=kq(k[s>>2]|0,k[s+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[t>>2]=s;k[t+4>>2]=L;do if((k[w>>2]|0)!=(k[v>>2]|0)){t=k[z>>2]|0;if(((k[t+4>>2]|0)-(k[t>>2]|0)|0)<=0)break;b=0;do{k[u>>2]=b;k[x>>2]=k[u>>2];oo(a,x)|0;b=b+3|0;t=k[z>>2]|0}while((b|0)<((((k[t+4>>2]|0)-(k[t>>2]|0)|0)/12|0)*3|0))}while(0);Sg(c);Sg(a+280|0);c=k[z>>2]|0;f=k[c+28>>2]|0;g=k[c+24>>2]|0;q=g;if((f-g|0)>0){j=k[h>>2]|0;m=f-g>>2;n=c+12|0;p=0;do{do if(k[j+(p>>>5<<2)>>2]&1<<(p&31)|0){o=q+(p<<2)|0;b=k[o>>2]|0;if((b|0)<0)break;d=b+1|0;d=((d|0)%3|0|0)==0?b+-2|0:d;if((d|0)>=0){h=k[n>>2]|0;d=k[h+(d<<2)>>2]|0;a:do if((d|0)<0)e=b;else{u=d+1|0;d=((u|0)%3|0|0)==0?d+-2|0:u;if((d|0)>-1&(d|0)!=(b|0))e=d;else{e=b;break}while(1){d=e+1|0;d=((d|0)%3|0|0)==0?e+-2|0:d;if((d|0)<0)break a;d=k[h+(d<<2)>>2]|0;if((d|0)<0)break a;u=d+1|0;d=((u|0)%3|0|0)==0?d+-2|0:u;if((d|0)>-1&(d|0)!=(b|0))e=d;else break}}while(0);if((d|0)==(b|0))break;else b=e}k[o>>2]=b}while(0);p=p+1|0}while((p|0)<(m|0))}d=k[w>>2]|0;u=k[v>>2]|0;b=u;if((d|0)==(u|0))c=d;else{f=0;do{Cg(b+(f*116|0)+4|0,c)|0;b=k[v>>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[y>>2]=k[c>>2];k[x>>2]=k[y>>2];Kg(b+(f*116|0)+4|0,x);c=c+4|0;b=k[v>>2]|0}while((c|0)!=(d|0));Jg(b+(f*116|0)+4|0,0,0);f=f+1|0;d=k[w>>2]|0;e=k[v>>2]|0;b=e;c=k[z>>2]|0}while(f>>>0<((d-e|0)/116|0)>>>0);g=k[c+24>>2]|0;f=k[c+28>>2]|0;c=e}e=f-g>>2;f=a+212|0;j=a+216|0;m=k[j>>2]|0;h=k[f>>2]|0;g=m-h>>2;do if(e>>>0>g>>>0){Xg(f,e-g|0);b=k[v>>2]|0;d=k[w>>2]|0;c=b}else{if(e>>>0>=g>>>0)break;e=h+(e<<2)|0;if((m|0)==(e|0))break;k[j>>2]=m+(~((m+-4-e|0)>>>2)<<2)}while(0);if((d|0)!=(c|0)){m=0;while(1){f=(k[b+(m*116|0)+60>>2]|0)-(k[b+(m*116|0)+56>>2]|0)>>2;g=k[z>>2]|0;g=(k[g+28>>2]|0)-(k[g+24>>2]|0)>>2;f=(f|0)<(g|0)?g:f;g=b+(m*116|0)+88|0;h=b+(m*116|0)+92|0;j=k[h>>2]|0;e=k[g>>2]|0;b=j-e>>2;do if(f>>>0>b>>>0){Xg(g,f-b|0);c=k[v>>2]|0;d=k[w>>2]|0}else{if(f>>>0>=b>>>0)break;b=e+(f<<2)|0;if((j|0)==(b|0))break;k[h>>2]=j+(~((j+-4-b|0)>>>2)<<2)}while(0);m=m+1|0;if(m>>>0>=((d-c|0)/116|0)>>>0)break;else b=c}}po(a)|0;b=1}else b=0;while(0);Og(A+24|0)}Og(B+24|0);B=b;r=C;return B|0}function _n(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=a+4|0;e=k[g>>2]|0;c=k[a>>2]|0;d=(e-c|0)/116|0;if(d>>>0>>0){$n(a,b-d|0);return}if(d>>>0<=b>>>0)return;f=c+(b*116|0)|0;if((e|0)==(f|0))return;do{k[g>>2]=e+-116;c=k[e+-12>>2]|0;d=c;if(c|0){b=e+-8|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Jp(c)}c=k[e+-28>>2]|0;d=c;if(c|0){b=e+-24|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Jp(c)}c=k[e+-40>>2]|0;d=c;if(c|0){b=e+-36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Jp(c)}un(e+-112|0);e=k[g>>2]|0}while((e|0)!=(f|0));return}function $n(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;o=r;r=r+32|0;m=o;l=a+8|0;d=k[l>>2]|0;n=a+4|0;c=k[n>>2]|0;if(((d-c|0)/116|0)>>>0>=b>>>0){do{k[c>>2]=-1;Bg(c+4|0);i[c+72>>0]=1;e=c+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c=(k[n>>2]|0)+116|0;k[n>>2]=c;b=b+-1|0}while((b|0)!=0);r=o;return}f=k[a>>2]|0;e=((c-f|0)/116|0)+b|0;if(e>>>0>37025580)zp(a);c=(d-f|0)/116|0;if(c>>>0<18512790){j=c<<1;e=j>>>0>>0?e:j}else e=37025580;c=((k[n>>2]|0)-f|0)/116|0;k[m+12>>2]=0;k[m+16>>2]=a+8;if(!e)d=0;else d=aq(e*116|0)|0;k[m>>2]=d;c=d+(c*116|0)|0;g=m+8|0;k[g>>2]=c;h=m+4|0;k[h>>2]=c;j=m+12|0;k[j>>2]=d+(e*116|0);d=c;do{k[d>>2]=-1;Bg(d+4|0);i[d+72>>0]=1;e=d+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));d=d+116|0;k[g>>2]=d;b=b+-1|0}while((b|0)!=0);d=k[a>>2]|0;b=k[n>>2]|0;if((b|0)!=(d|0)){do{c=c+-116|0;b=b+-116|0;ao(c,b)}while((b|0)!=(d|0));k[h>>2]=c;d=k[a>>2]|0;b=k[n>>2]|0}k[a>>2]=c;k[h>>2]=d;k[n>>2]=k[g>>2];k[g>>2]=b;n=k[l>>2]|0;k[l>>2]=k[j>>2];k[j>>2]=n;k[m>>2]=k[h>>2];bo(m);r=o;return}function ao(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;k[a>>2]=k[b>>2];c=b+4|0;k[a+4>>2]=k[c>>2];d=b+8|0;k[a+8>>2]=k[d>>2];e=b+12|0;k[a+12>>2]=k[e>>2];k[c>>2]=0;k[d>>2]=0;k[e>>2]=0;e=b+16|0;k[a+16>>2]=k[e>>2];d=b+20|0;k[a+20>>2]=k[d>>2];c=b+24|0;k[a+24>>2]=k[c>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;i[a+28>>0]=i[b+28>>0]|0;c=a+32|0;d=b+32|0;k[c>>2]=0;e=a+36|0;k[e>>2]=0;k[a+40>>2]=0;k[c>>2]=k[d>>2];c=b+36|0;k[e>>2]=k[c>>2];e=b+40|0;k[a+40>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;d=a+44|0;c=b+44|0;k[d>>2]=0;e=a+48|0;k[e>>2]=0;k[a+52>>2]=0;k[d>>2]=k[c>>2];d=b+48|0;k[e>>2]=k[d>>2];e=b+52|0;k[a+52>>2]=k[e>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;c=a+56|0;d=b+56|0;k[c>>2]=0;e=a+60|0;k[e>>2]=0;k[a+64>>2]=0;k[c>>2]=k[d>>2];c=b+60|0;k[e>>2]=k[c>>2];e=b+64|0;k[a+64>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;k[a+68>>2]=k[b+68>>2];i[a+72>>0]=i[b+72>>0]|0;d=a+76|0;c=b+76|0;k[d>>2]=0;e=a+80|0;k[e>>2]=0;k[a+84>>2]=0;k[d>>2]=k[c>>2];d=b+80|0;k[e>>2]=k[d>>2];e=b+84|0;k[a+84>>2]=k[e>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;c=a+88|0;d=b+88|0;k[c>>2]=0;e=a+92|0;k[e>>2]=0;k[a+96>>2]=0;k[c>>2]=k[d>>2];c=b+92|0;k[e>>2]=k[c>>2];e=b+96|0;k[a+96>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;k[a+100>>2]=k[b+100>>2];d=a+104|0;c=b+104|0;k[d>>2]=0;e=a+108|0;k[e>>2]=0;k[a+112>>2]=0;k[d>>2]=k[c>>2];d=b+108|0;k[e>>2]=k[d>>2];b=b+112|0;k[a+112>>2]=k[b>>2];k[b>>2]=0;k[d>>2]=0;k[c>>2]=0;return}function bo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=k[a+4>>2]|0;h=a+8|0;b=k[h>>2]|0;if((b|0)!=(g|0))do{k[h>>2]=b+-116;f=k[b+-12>>2]|0;c=f;if(f|0){d=b+-8|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(f)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(c)}un(b+-112|0);b=k[h>>2]|0}while((b|0)!=(g|0));b=k[a>>2]|0;if(!b)return;Jp(b);return}function co(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+16|0;w=x;u=b+8|0;g=u;f=k[g>>2]|0;g=k[g+4>>2]|0;v=b+16|0;d=v;c=k[d>>2]|0;d=kq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0){w=-1;r=x;return w|0}n=(k[b>>2]|0)+c|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;t=v;k[t>>2]=d;k[t+4>>2]=e;a:do if(!n)h=d;else{o=w+4|0;p=w+8|0;q=a+40|0;s=a+44|0;t=a+36|0;c=e;m=0;while(1){e=kq(d|0,c|0,4,0)|0;h=L;if((g|0)<(h|0)|(g|0)==(h|0)&f>>>0>>0)break;j=k[b>>2]|0;y=j+d|0;k[w>>2]=l[y>>0]|l[y+1>>0]<<8|l[y+2>>0]<<16|l[y+3>>0]<<24;y=v;k[y>>2]=e;k[y+4>>2]=h;h=kq(d|0,c|0,8,0)|0;y=L;if((g|0)<(y|0)|(g|0)==(y|0)&f>>>0>>0)break;e=j+e|0;k[o>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=kq(d|0,c|0,8,0)|0;y=L;h=v;k[h>>2]=e;k[h+4>>2]=y;if(!((g|0)>(y|0)|(g|0)==(y|0)&f>>>0>e>>>0))break;y=i[j+e>>0]|0;j=kq(d|0,c|0,9,0)|0;c=v;k[c>>2]=j;k[c+4>>2]=L;i[p>>0]=y&3|i[p>>0]&-4;c=k[q>>2]|0;if((c|0)==(k[s>>2]|0))eo(t,w);else{k[c>>2]=k[w>>2];k[c+4>>2]=k[w+4>>2];k[c+8>>2]=k[w+8>>2];k[q>>2]=(k[q>>2]|0)+12}m=m+1|0;g=u;f=k[g>>2]|0;g=k[g+4>>2]|0;c=v;d=k[c>>2]|0;c=k[c+4>>2]|0;if(m>>>0>=n>>>0){h=d;e=c;break a}}y=-1;r=x;return y|0}while(0);d=kq(h|0,e|0,4,0)|0;c=L;if((g|0)<(c|0)|(g|0)==(c|0)&f>>>0>>0){y=-1;r=x;return y|0}o=(k[b>>2]|0)+h|0;o=l[o>>0]|l[o+1>>0]<<8|l[o+2>>0]<<16|l[o+3>>0]<<24;y=v;k[y>>2]=d;k[y+4>>2]=c;if(!o){y=d;r=x;return y|0}m=a+52|0;n=a+56|0;j=a+48|0;k[w>>2]=0;e=kq(h|0,e|0,8,0)|0;c=L;b:do if(!((g|0)<(c|0)|(g|0)==(c|0)&f>>>0>>0)){f=0;while(1){d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[w>>2]=d;y=v;k[y>>2]=e;k[y+4>>2]=c;c=k[m>>2]|0;if((c|0)==(k[n>>2]|0))fo(j,w);else{k[c>>2]=d;k[m>>2]=c+4}f=f+1|0;if(f>>>0>=o>>>0)break;a=u;y=k[a>>2]|0;a=k[a+4>>2]|0;e=v;d=k[e>>2]|0;e=k[e+4>>2]|0;k[w>>2]=0;e=kq(d|0,e|0,4,0)|0;c=L;if((a|0)<(c|0)|(a|0)==(c|0)&y>>>0>>0)break b}y=k[v>>2]|0;r=x;return y|0}while(0);y=-1;r=x;return y|0}function eo(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;h=a+4|0;i=k[a>>2]|0;d=(((k[h>>2]|0)-i|0)/12|0)+1|0;if(d>>>0>357913941)zp(a);j=a+8|0;c=((k[j>>2]|0)-i|0)/12|0;if(c>>>0<178956970){c=c<<1;c=c>>>0>>0?d:c;e=k[h>>2]|0;d=(e-i|0)/12|0;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=357913941;e=d;d=(d-i|0)/12|0;l=6}if((l|0)==6){g=c;f=aq(c*12|0)|0;c=e}l=f+(d*12|0)|0;k[l>>2]=k[b>>2];k[l+4>>2]=k[b+4>>2];k[l+8>>2]=k[b+8>>2];e=c-i|0;b=l+(((e|0)/-12|0)*12|0)|0;mq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+12;k[j>>2]=f+(g*12|0);if(!i)return;Jp(i);return}function fo(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;h=a+4|0;i=k[a>>2]|0;c=((k[h>>2]|0)-i>>2)+1|0;if(c>>>0>1073741823)zp(a);j=a+8|0;d=(k[j>>2]|0)-i|0;if(d>>2>>>0<536870911){e=d>>1;c=e>>>0>>0?c:e;e=k[h>>2]|0;d=e-i>>2;if(!c){g=0;f=0;c=e}else l=6}else{d=k[h>>2]|0;c=1073741823;e=d;d=d-i>>2;l=6}if((l|0)==6){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;k[l>>2]=k[b>>2];e=c-i|0;b=l+(0-(e>>2)<<2)|0;mq(b|0,i|0,e|0)|0;k[a>>2]=b;k[h>>2]=l+4;k[j>>2]=f+(g<<2);if(!i)return;Jp(i);return}function go(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;n=r;r=r+48|0;l=n+40|0;m=n;if(!(Rg(a,1,l)|0)){m=0;r=n;return m|0}c=a+40|0;e=a+16|0;f=k[e>>2]|0;d=(k[a>>2]|0)+f|0;o=a+8|0;e=hq(k[o>>2]|0,k[o+4>>2]|0,f|0,k[e+4>>2]|0)|0;Qg(c,d,e);e=l;d=k[e>>2]|0;e=k[e+4>>2]|0;f=a+48|0;o=f;g=a+56|0;j=g;h=k[j>>2]|0;j=k[j+4>>2]|0;o=hq(k[o>>2]|0,k[o+4>>2]|0,h|0,j|0)|0;p=L;if(e>>>0>p>>>0|(e|0)==(p|0)&d>>>0>o>>>0){p=0;r=n;return p|0}o=kq(h|0,j|0,d|0,e|0)|0;p=g;k[p>>2]=o;k[p+4>>2]=L;if(!(Rg(c,1,l)|0)){p=0;r=n;return p|0}Pg(m);d=g;p=k[d>>2]|0;c=(k[c>>2]|0)+p|0;e=f;d=hq(k[e>>2]|0,k[e+4>>2]|0,p|0,k[d+4>>2]|0)|0;Qg(m,c,d);d=l;c=k[d>>2]|0;d=k[d+4>>2]|0;p=m+8|0;e=m+16|0;g=e;f=k[g>>2]|0;g=k[g+4>>2]|0;p=hq(k[p>>2]|0,k[p+4>>2]|0,f|0,g|0)|0;o=L;a:do if(d>>>0>o>>>0|(d|0)==(o|0)&c>>>0>p>>>0)c=0;else{c=kq(f|0,g|0,c|0,d|0)|0;h=e;k[h>>2]=c;k[h+4>>2]=L;h=a+84|0;c=k[h>>2]|0;if((c|0)>0){g=a+80|0;e=c<<4;e=cq(c>>>0>268435455|e>>>0>4294967291?-1:e+4|0)|0;k[e>>2]=c;e=e+4|0;c=e+(c<<4)|0;d=e;do{rd(d);d=d+16|0}while((d|0)!=(c|0));f=k[g>>2]|0;k[g>>2]=e;if(f|0){d=f+-4|0;c=k[d>>2]|0;if(c|0){c=f+(c<<4)|0;do{c=c+-16|0;sd(c)}while((c|0)!=(f|0))}dq(d)}if((k[h>>2]|0)>0){c=0;do{if(!(td((k[g>>2]|0)+(c<<4)|0,m)|0)){c=0;break a}c=c+1|0}while((c|0)<(k[h>>2]|0))}}c=b;d=m;e=c+36|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));i[b+36>>0]=i[m+36>>0]|0;c=1}while(0);Og(m+24|0);p=c;r=n;return p|0}function ho(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0;ra=r;r=r+48|0;oa=ra+28|0;pa=ra+8|0;ka=ra+4|0;la=ra;k[oa>>2]=0;qa=oa+4|0;k[qa>>2]=0;k[oa+8>>2]=0;k[pa>>2]=0;k[pa+4>>2]=0;k[pa+8>>2]=0;k[pa+12>>2]=0;o[pa+16>>2]=1.0;ha=a+136|0;ba=k[a+140>>2]|0;a:do if((b|0)>0){_=a+276|0;$=a+8|0;aa=a+36|0;F=a+40|0;H=b+-1|0;I=pa+4|0;J=oa+8|0;K=a+272|0;M=a+264|0;N=a+268|0;x=0;e=0;while(1){d=x+1|0;if(i[_>>0]|0){f=k[K>>2]|0;h=k[M>>2]|0;j=k[N>>2]|0;c=h+(f>>>3)|0;if(c>>>0>>0?(R=(l[c>>0]|0)>>>(f&7)&1,S=f+1|0,k[K>>2]=S,(R|0)!=0):0){c=h+(S>>>3)|0;if(c>>>0>>0){g=(l[c>>0]|0)>>>(S&7)&1;f=f+2|0;k[K>>2]=f}else{g=0;f=S}c=h+(f>>>3)|0;if(c>>>0>>0){c=(l[c>>0]|0)>>>(f&7);k[K>>2]=f+1;c=c<<1&2}else c=0;f=R;c=(c|g)<<1;ca=11}else ca=12}else{f=0;c=0;ca=11}b:do if((ca|0)==11){ca=0;c=c|f;if(c){switch(c|0){case 3:case 5:{u=k[(k[qa>>2]|0)+-4>>2]|0;w=x*3|0;n=((c|0)==5?2:1)+w|0;c=k[$>>2]|0;v=k[c+12>>2]|0;k[v+(n<<2)>>2]=u;k[v+(u<<2)>>2]=n;v=e+1|0;s=(n|0)<0;t=(n|0)%3|0;k[(k[c>>2]|0)+((s?-1073741824:(n|0)/3|0)*12|0)+(t<<2)>>2]=e;if((e|0)>-1){j=c+24|0;g=c+28|0;f=k[g>>2]|0;c=k[j>>2]|0;h=f-c>>2;do if(h>>>0<=e>>>0){if(v>>>0>h>>>0){io(j,v-h|0);c=k[j>>2]|0;break}if(v>>>0>>0?(P=c+(v<<2)|0,(f|0)!=(P|0)):0)k[g>>2]=f+(~((f+-4-P|0)>>>2)<<2)}while(0);k[c+(e<<2)>>2]=n;c=k[$>>2]|0}if(s)p=n;else{p=n+1|0;p=((p|0)%3|0|0)==0?n+-2|0:p}q=(u|0)<0;if(!q?(D=(((u|0)%3|0|0)==0?2:-1)+u|0,(D|0)>=0):0)m=k[(k[c>>2]|0)+(((D|0)/3|0)*12|0)+(((D|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[c>>2]|0)+(((p|0)<0?-1073741824:(p|0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=c+24|0;f=c+28|0;e=k[f>>2]|0;c=k[j>>2]|0;g=e-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){io(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(Q=c+(h<<2)|0,(e|0)!=(Q|0)):0)k[f>>2]=e+(~((e+-4-Q|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=p;c=k[$>>2]|0}do if(!s)if(!t){n=n+2|0;break}else{n=n+-1|0;break}while(0);if(!q?(A=u+1|0,A=((A|0)%3|0|0)==0?u+-2|0:A,(A|0)>=0):0)m=k[(k[c>>2]|0)+(((A|0)/3|0)*12|0)+(((A|0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[c>>2]|0)+(((n|0)<0?-1073741824:(n|0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=c+24|0;f=c+28|0;e=k[f>>2]|0;c=k[j>>2]|0;g=e-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){io(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(T=c+(h<<2)|0,(e|0)!=(T|0)):0)k[f>>2]=e+(~((e+-4-T|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=n}k[(k[qa>>2]|0)+-4>>2]=w;e=v;break}case 1:{c=k[qa>>2]|0;u=k[c+-4>>2]|0;n=c+-4|0;k[qa>>2]=n;h=k[I>>2]|0;c:do if(h){j=h+-1|0;g=(j&h|0)==0;if(g)m=j&x;else m=(x>>>0)%(h>>>0)|0;f=k[(k[pa>>2]|0)+(m<<2)>>2]|0;if(f){if(g)do{f=k[f>>2]|0;if(!f){c=n;break c}if((k[f+4>>2]&j|0)!=(m|0)){c=n;break c}}while((k[f+8>>2]|0)!=(x|0));else do{f=k[f>>2]|0;if(!f){c=n;break c}if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(m|0)){c=n;break c}}while((k[f+8>>2]|0)!=(x|0));f=f+12|0;if((n|0)==(k[J>>2]|0)){Cd(oa,f);c=k[qa>>2]|0;break}else{k[n>>2]=k[f>>2];k[qa>>2]=c;break}}else c=n}else c=n;while(0);p=k[c+-4>>2]|0;v=x*3|0;s=v+2|0;h=k[$>>2]|0;w=k[h+12>>2]|0;k[w+(p<<2)>>2]=s;k[w+(s<<2)>>2]=p;q=v+1|0;k[w+(u<<2)>>2]=q;k[w+(q<<2)>>2]=u;if((p|0)>=0){c=(((p|0)%3|0|0)==0?2:-1)+p|0;if((c|0)>=0){w=k[h>>2]|0;f=k[w+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;k[w+(x*12|0)+(((v|0)%3|0)<<2)>>2]=f;if((f|0)>-1){n=h+24|0;h=h+28|0;g=k[h>>2]|0;c=k[n>>2]|0;j=g-c>>2;do if(j>>>0<=f>>>0){m=f+1|0;if(m>>>0>j>>>0){io(n,m-j|0);c=k[n>>2]|0;break}if(m>>>0>>0?(U=c+(m<<2)|0,(g|0)!=(U|0)):0)k[h>>2]=g+(~((g+-4-U|0)>>>2)<<2)}while(0);k[c+(f<<2)>>2]=v;g=1;h=k[$>>2]|0}else g=0}else{k[(k[h>>2]|0)+(x*12|0)+(((v|0)%3|0)<<2)>>2]=-1073741824;f=-1073741824;g=0}c=p+1|0;c=((c|0)%3|0|0)==0?p+-2|0:c;if((c|0)<0){p=-1073741824;t=f;c=h}else{p=k[(k[h>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;t=f;c=h}}else{k[(k[h>>2]|0)+(x*12|0)+(((v|0)%3|0)<<2)>>2]=-1073741824;p=-1073741824;t=-1073741824;g=0;c=h}k[(k[c>>2]|0)+(((v|0)<-1?-1073741824:(q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]=p;if((p|0)>-1){n=c+24|0;h=c+28|0;f=k[h>>2]|0;c=k[n>>2]|0;j=f-c>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){io(n,m-j|0);c=k[n>>2]|0;break}if(m>>>0>>0?(V=c+(m<<2)|0,(f|0)!=(V|0)):0)k[h>>2]=f+(~((f+-4-V|0)>>>2)<<2)}while(0);k[c+(p<<2)>>2]=q;c=k[$>>2]|0}q=(u|0)<0;if(!q?(C=(((u|0)%3|0|0)==0?2:-1)+u|0,(C|0)>=0):0)p=k[(k[c>>2]|0)+(((C|0)/3|0)*12|0)+(((C|0)%3|0)<<2)>>2]|0;else p=-1073741824;k[(k[c>>2]|0)+(((v|0)<-2?-1073741824:(s|0)/3|0)*12|0)+(((s|0)%3|0)<<2)>>2]=p;if((p|0)>-1){n=c+24|0;h=c+28|0;f=k[h>>2]|0;c=k[n>>2]|0;j=f-c>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){io(n,m-j|0);c=k[n>>2]|0;break}if(m>>>0>>0?(W=c+(m<<2)|0,(f|0)!=(W|0)):0)k[h>>2]=f+(~((f+-4-W|0)>>>2)<<2)}while(0);k[c+(p<<2)>>2]=s}d:do if(!q?(y=u+1|0,y=((y|0)%3|0|0)==0?u+-2|0:y,(y|0)>=0):0){c=k[(k[k[$>>2]>>2]|0)+(((y|0)/3|0)*12|0)+(((y|0)%3|0)<<2)>>2]|0;f=k[$>>2]|0;q=t+1|0;if(g)p=y;else{h=k[f>>2]|0;j=f+12|0;g=y;while(1){k[h+(((g|0)/3|0)*12|0)+(((g|0)%3|0)<<2)>>2]=t;x=g+1|0;g=((x|0)%3|0|0)==0?g+-2|0:x;if((g|0)<0)break d;g=k[(k[j>>2]|0)+(g<<2)>>2]|0;if((g|0)<0)break d;x=g+1|0;g=((x|0)%3|0|0)==0?g+-2|0:x;if((g|0)<=-1)break d}}do{k[(k[f>>2]|0)+(((p|0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=t;m=f+24|0;n=f+28|0;g=k[n>>2]|0;f=k[m>>2]|0;h=g-f>>2;do if(h>>>0<=t>>>0){j=g;if(q>>>0>h>>>0){io(m,q-h|0);f=k[m>>2]|0;break}if(q>>>0>=h>>>0)break;g=f+(q<<2)|0;if((j|0)==(g|0))break;k[n>>2]=j+(~((j+-4-g|0)>>>2)<<2)}while(0);k[f+(t<<2)>>2]=p;g=p+1|0;g=((g|0)%3|0|0)==0?p+-2|0:g;f=k[$>>2]|0;if((g|0)<0)break d;g=k[(k[f+12>>2]|0)+(g<<2)>>2]|0;if((g|0)<0)break d;p=g+1|0;p=((p|0)%3|0|0)==0?g+-2|0:p}while((p|0)>-1)}else ca=141;while(0);if((ca|0)==141){ca=0;f=k[$>>2]|0;c=-1073741824}k[(k[f+24>>2]|0)+(c<<2)>>2]=-1073741824;k[(k[qa>>2]|0)+-4>>2]=v;break b}case 7:{m=x*3|0;k[ka>>2]=m;f=k[$>>2]|0;n=e+1|0;c=k[f>>2]|0;k[c+(x*12|0)+(((m|0)%3|0)<<2)>>2]=e;if((e|0)>-1){j=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[j>>2]|0;h=f-c>>2;do if(h>>>0<=e>>>0){if(n>>>0>h>>>0){io(j,n-h|0);c=k[j>>2]|0;break}if(n>>>0>>0?(X=c+(n<<2)|0,(f|0)!=(X|0)):0)k[g>>2]=f+(~((f+-4-X|0)>>>2)<<2)}while(0);k[c+(e<<2)>>2]=m;f=k[$>>2]|0;g=k[ka>>2]|0;c=k[f>>2]|0}else g=m;m=g+1|0;p=e+2|0;k[c+(((g|0)<-1?-1073741824:(m|0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=n;if((e|0)>-2){j=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[j>>2]|0;h=f-c>>2;do if(h>>>0<=n>>>0){if(p>>>0>h>>>0){io(j,p-h|0);c=k[j>>2]|0;break}if(p>>>0>>0?(Y=c+(p<<2)|0,(f|0)!=(Y|0)):0)k[g>>2]=f+(~((f+-4-Y|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=m;f=k[$>>2]|0;g=k[ka>>2]|0;c=k[f>>2]|0}m=g+2|0;e=e+3|0;k[c+(((g|0)<-2?-1073741824:(m|0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=p;if((p|0)>-1){j=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[j>>2]|0;h=f-c>>2;do if(h>>>0<=p>>>0){if(e>>>0>h>>>0){io(j,e-h|0);c=k[j>>2]|0;break}if(e>>>0>>0?(Z=c+(e<<2)|0,(f|0)!=(Z|0)):0)k[g>>2]=f+(~((f+-4-Z|0)>>>2)<<2)}while(0);k[c+(p<<2)>>2]=m}c=k[qa>>2]|0;if((c|0)==(k[J>>2]|0))Cd(oa,ka);else{k[c>>2]=k[ka>>2];k[qa>>2]=c+4}break}default:{e=-1;break a}}j=b-x|0;m=j+-1|0;c=k[F>>2]|0;if((c|0)!=(k[aa>>2]|0))do{f=k[c+-8>>2]|0;if((f|0)>=(j|0)){e=-1;break a}if((f|0)!=(m|0))break b;g=i[c+-4>>0]|0;h=k[c+-12>>2]|0;k[F>>2]=c+-12;if((h|0)<0){e=-1;break a}c=k[(k[qa>>2]|0)+-4>>2]|0;f=(c|0)<0;do if(!(g&1)){if(!f)if(!((c|0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}else if(!f){x=c+1|0;c=((x|0)%3|0|0)==0?c+-2|0:x}while(0);k[ka>>2]=H-h;x=jo(pa,ka)|0;k[x>>2]=c;c=k[F>>2]|0}while((c|0)!=(k[aa>>2]|0))}else ca=12}while(0);if((ca|0)==12){ca=0;t=k[(k[qa>>2]|0)+-4>>2]|0;u=(t|0)<0;e:do if(!u){c=t+(((t|0)%3|0|0)==0?2:-1)|0;if((c|0)<0)ca=14;else{h=k[$>>2]|0;g=k[h+12>>2]|0;while(1){f=k[g+(c<<2)>>2]|0;if((f|0)<=-1){q=0;f=h;break e}c=f+(((f|0)%3|0|0)==0?2:-1)|0;if((c|0)<0){q=1;f=h;break}}}}else{c=t;ca=14}while(0);if((ca|0)==14){ca=0;f=k[$>>2]|0;q=1;g=k[f+12>>2]|0}v=x*3|0;s=v+1|0;k[g+(t<<2)>>2]=s;k[g+(s<<2)>>2]=t;w=v+2|0;k[g+(c<<2)>>2]=w;k[g+(w<<2)>>2]=c;if(!u?(z=t+1|0,z=((z|0)%3|0|0)==0?t+-2|0:z,(z|0)>=0):0){n=k[f>>2]|0;p=k[n+(((z|0)/3|0)*12|0)+(((z|0)%3|0)<<2)>>2]|0;k[n+(x*12|0)+(((v|0)%3|0)<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){io(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]=v;f=k[$>>2]|0}}else{k[(k[f>>2]|0)+(x*12|0)+(((v|0)%3|0)<<2)>>2]=-1073741824;p=-1073741824}if(!q?(B=c+1|0,B=((B|0)%3|0|0)==0?c+-2|0:B,(B|0)>=0):0)n=k[(k[f>>2]|0)+(((B|0)/3|0)*12|0)+(((B|0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[f>>2]|0)+(((v|0)<-1?-1073741824:(s|0)/3|0)*12|0)+(((s|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[m>>2]|0;h=f-c>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){io(m,j-h|0);c=k[m>>2]|0;break}if(j>>>0>>0?(L=c+(j<<2)|0,(f|0)!=(L|0)):0)k[g>>2]=f+(~((f+-4-L|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=s;c=k[$>>2]|0}else c=f;if(!u?(E=(((t|0)%3|0|0)==0?2:-1)+t|0,(E|0)>=0):0)n=k[(k[c>>2]|0)+(((E|0)/3|0)*12|0)+(((E|0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[c>>2]|0)+(((v|0)<-2?-1073741824:(w|0)/3|0)*12|0)+(((w|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=c+24|0;g=c+28|0;f=k[g>>2]|0;c=k[m>>2]|0;h=f-c>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){io(m,j-h|0);c=k[m>>2]|0;break}if(j>>>0>>0?(O=c+(j<<2)|0,(f|0)!=(O|0)):0)k[g>>2]=f+(~((f+-4-O|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=w}if((e|0)>(ba|0)){e=-1;break a}ca=(k[ha>>2]|0)+(p>>>5<<2)|0;k[ca>>2]=k[ca>>2]&~(1<<(p&31));k[(k[qa>>2]|0)+-4>>2]=v}if((d|0)<(b|0))x=d;else{ca=198;break}}}else{d=0;e=0;ca=198}while(0);do if((ca|0)==198)if((e|0)<=(ba|0)){c=k[qa>>2]|0;f:do if((c|0)!=(k[oa>>2]|0)){u=a+316|0;v=a+8|0;w=a+64|0;x=a+68|0;y=a+72|0;z=a+80|0;A=a+84|0;B=a+76|0;C=a+312|0;D=a+304|0;E=a+308|0;t=d;g:while(1){ba=c;n=k[ba+-4>>2]|0;k[ka>>2]=n;k[qa>>2]=ba+-4;do if(i[u>>0]|0){c=k[C>>2]|0;d=(k[D>>2]|0)+(c>>>3)|0;if(d>>>0<(k[E>>2]|0)>>>0?(ba=l[d>>0]|0,k[C>>2]=c+1,ba&1<<(c&7)|0):0){ca=205;break}c=k[x>>2]|0;d=k[y>>2]|0;if((c|0)==(d<<5|0)){if((c+1|0)<0){ca=263;break g}if(d<<5>>>0>1073741822)c=2147483647;else{ba=d<<6;c=c+32&-32;c=ba>>>0>>0?c:ba}Dd(w,c);c=k[x>>2]|0}k[x>>2]=c+1;ba=(k[w>>2]|0)+(c>>>5<<2)|0;k[ba>>2]=k[ba>>2]&~(1<<(c&31));c=k[z>>2]|0;if((c|0)==(k[A>>2]|0)){Cd(B,ka);d=t;break}else{k[c>>2]=n;k[z>>2]=c+4;d=t;break}}else ca=205;while(0);if((ca|0)==205){ca=0;g=(n|0)<0;h:do if(!g){c=n+(((n|0)%3|0|0)==0?2:-1)|0;if((c|0)>=0){d=k[(k[v>>2]|0)+12>>2]|0;f=c;while(1){c=k[d+(f<<2)>>2]|0;if((c|0)<=-1){d=0;c=f;break}c=c+(((c|0)%3|0|0)==0?2:-1)|0;if((c|0)<0){d=1;break}else f=c}if(g){f=n;ca=212;break}}else d=1;f=n+1|0;f=((f|0)%3|0|0)==0?n+-2|0:f;if((f|0)<0)ca=212;else{g=k[v>>2]|0;h=k[g+12>>2]|0;j=f;while(1){f=k[h+(j<<2)>>2]|0;if((f|0)<=-1){m=d;s=0;q=j;break h}ba=f+1|0;f=((ba|0)%3|0|0)==0?f+-2|0:ba;if((f|0)<0){m=d;s=1;q=f;break}else j=f}}}else{d=1;c=n;f=n;ca=212}while(0);if((ca|0)==212){ca=0;g=k[v>>2]|0;m=d;s=1;h=k[g+12>>2]|0;q=f}d=t+1|0;f=t*3|0;k[la>>2]=f;k[h+(f<<2)>>2]=n;k[h+(n<<2)>>2]=f;ba=f+1|0;k[h+(ba<<2)>>2]=c;k[h+(c<<2)>>2]=ba;ba=f+2|0;k[h+(ba<<2)>>2]=q;k[h+(q<<2)>>2]=ba;if(!m?(fa=c+1|0,fa=((fa|0)%3|0|0)==0?c+-2|0:fa,(fa|0)>=0):0)p=k[(k[g>>2]|0)+(((fa|0)/3|0)*12|0)+(((fa|0)%3|0)<<2)>>2]|0;else p=-1073741824;k[(k[g>>2]|0)+(((t|0)<0?-1073741824:t)*12|0)+(((f|0)%3|0)<<2)>>2]=p;if((p|0)>-1){n=g+24|0;h=g+28|0;g=k[h>>2]|0;c=k[n>>2]|0;j=g-c>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){io(n,m-j|0);c=k[n>>2]|0;break}if(m>>>0>>0?(ia=c+(m<<2)|0,(g|0)!=(ia|0)):0)k[h>>2]=g+(~((g+-4-ia|0)>>>2)<<2)}while(0);k[c+(p<<2)>>2]=f;f=k[la>>2]|0;g=k[v>>2]|0}p=f+1|0;if(!s?(ea=q+1|0,ea=((ea|0)%3|0|0)==0?q+-2|0:ea,(ea|0)>=0):0)n=k[(k[g>>2]|0)+(((ea|0)/3|0)*12|0)+(((ea|0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[g>>2]|0)+(((f|0)<-1?-1073741824:(p|0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=g+24|0;g=g+28|0;f=k[g>>2]|0;c=k[m>>2]|0;h=f-c>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){io(m,j-h|0);c=k[m>>2]|0;break}if(j>>>0>>0?(ja=c+(j<<2)|0,(f|0)!=(ja|0)):0)k[g>>2]=f+(~((f+-4-ja|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=p;f=k[la>>2]|0;g=k[v>>2]|0}q=f+2|0;c=k[ka>>2]|0;if((c|0)>=0?(da=c+1|0,da=((da|0)%3|0|0)==0?c+-2|0:da,(da|0)>=0):0)p=k[(k[g>>2]|0)+(((da|0)/3|0)*12|0)+(((da|0)%3|0)<<2)>>2]|0;else p=-1073741824;k[(k[g>>2]|0)+(((f|0)<-2?-1073741824:(q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]=p;if((p|0)>-1){m=g+24|0;n=g+28|0;f=k[n>>2]|0;c=k[m>>2]|0;g=f-c>>2;do if(g>>>0<=p>>>0){h=p+1|0;j=f;if(h>>>0>g>>>0){io(m,h-g|0);c=k[m>>2]|0;break}if(h>>>0>>0){f=c+(h<<2)|0;if((j|0)==(f|0))break;k[n>>2]=j+(~((j+-4-f|0)>>>2)<<2)}}while(0);k[c+(p<<2)>>2]=q;g=k[la>>2]|0}else g=f;if((g|0)<0)c=-1073741824;else c=k[(k[k[v>>2]>>2]|0)+(((g|0)/3|0)*12|0)+(((g|0)%3|0)<<2)>>2]|0;f=k[ha>>2]|0;ba=f+(c>>>5<<2)|0;k[ba>>2]=k[ba>>2]&~(1<<(c&31));c=g+1|0;if((g|0)<-1)c=-1073741824;else c=k[(k[k[v>>2]>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;ba=f+(c>>>5<<2)|0;k[ba>>2]=k[ba>>2]&~(1<<(c&31));c=g+2|0;if((g|0)<-2)c=-1073741824;else c=k[(k[k[v>>2]>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;f=f+(c>>>5<<2)|0;k[f>>2]=k[f>>2]&~(1<<(c&31));c=k[x>>2]|0;f=k[y>>2]|0;if((c|0)==(f<<5|0)){if((c+1|0)<0){ca=251;break}if(f<<5>>>0>1073741822)c=2147483647;else{ba=f<<6;c=c+32&-32;c=ba>>>0>>0?c:ba}Dd(w,c);c=k[x>>2]|0}k[x>>2]=c+1;ba=(k[w>>2]|0)+(c>>>5<<2)|0;k[ba>>2]=k[ba>>2]|1<<(c&31);c=k[z>>2]|0;if((c|0)==(k[A>>2]|0))Cd(B,la);else{k[c>>2]=g;k[z>>2]=c+4}}c=k[qa>>2]|0;if((c|0)==(k[oa>>2]|0)){ga=v;ma=d;break f}else t=d}if((ca|0)==251)zp(w);else if((ca|0)==263)zp(w)}else{ga=a+8|0;ma=d}while(0);la=k[ga>>2]|0;if((ma|0)==(((k[la+4>>2]|0)-(k[la>>2]|0)|0)/12|0|0)){h=a+88|0;c=a+92|0;g=k[c>>2]|0;d=k[h>>2]|0;f=g-d>>2;if(e>>>0>f>>>0){no(h,e-f|0);break}if(e>>>0>>0?(na=d+(e<<2)|0,(g|0)!=(na|0)):0)k[c>>2]=g+(~((g+-4-na|0)>>>2)<<2)}else e=-1}else e=-1;while(0);c=k[pa+8>>2]|0;if(c|0)do{na=c;c=k[c>>2]|0;Jp(na)}while((c|0)!=0);c=k[pa>>2]|0;k[pa>>2]=0;if(c|0)Jp(c);c=k[oa>>2]|0;if(!c){r=ra;return e|0}d=k[qa>>2]|0;if((d|0)!=(c|0))k[qa>>2]=d+(~((d+-4-c|0)>>>2)<<2);Jp(c);r=ra;return e|0}function io(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;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){iq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)zp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;iq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;mq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Jp(j);return}function jo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;h=i;f=k[b>>2]|0;d=k[a+4>>2]|0;a:do if(d|0){e=d+-1|0;c=(e&d|0)==0;if(c)g=e&f;else g=(f>>>0)%(d>>>0)|0;b=k[(k[a>>2]|0)+(g<<2)>>2]|0;if(b|0)if(c){do{b=k[b>>2]|0;if(!b)break a;if((k[b+4>>2]&e|0)!=(g|0))break a}while((k[b+8>>2]|0)!=(f|0));a=b+12|0;r=i;return a|0}else{do{b=k[b>>2]|0;if(!b)break a;if((((k[b+4>>2]|0)>>>0)%(d>>>0)|0|0)!=(g|0))break a}while((k[b+8>>2]|0)!=(f|0));a=b+12|0;r=i;return a|0}}while(0);g=aq(16)|0;k[g+8>>2]=f;k[g+12>>2]=0;ko(h,a,g);a=k[h>>2]|0;a=a+12|0;r=i;return a|0}function ko(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,h=0.0,j=0,l=0,m=0,n=0,p=0,q=0;l=k[c+8>>2]|0;q=c+4|0;k[q>>2]=l;n=b+4|0;p=k[n>>2]|0;m=(p|0)==0;a:do if(!m){j=p+-1|0;f=(j&p|0)==0;if(f)e=j&l;else e=(l>>>0)%(p>>>0)|0;d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(d)if(f){while(1){d=k[d>>2]|0;if(!d)break a;if((k[d+4>>2]&j|0)!=(e|0))break a;if((k[d+8>>2]|0)==(l|0)){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}else{while(1){d=k[d>>2]|0;if(!d)break a;if((((k[d+4>>2]|0)>>>0)%(p>>>0)|0|0)!=(e|0))break a;if((k[d+8>>2]|0)==(l|0)){e=0;break}}b=d;k[a>>2]=b;a=a+4|0;i[a>>0]=e;return}}else e=0;while(0);l=b+12|0;g=+(((k[l>>2]|0)+1|0)>>>0);h=+o[b+16>>2];do if(m|g>+(p>>>0)*h){if(p>>>0>2)d=(p+-1&p|0)==0;else d=0;f=(d&1|p<<1)^1;d=~~+ga(+(g/h))>>>0;lo(b,f>>>0>>0?d:f);f=k[n>>2]|0;d=k[q>>2]|0;e=f+-1|0;if(!(e&f)){j=f;e=e&d;break}else{j=f;e=(d>>>0)%(f>>>0)|0;break}}else j=p;while(0);d=k[(k[b>>2]|0)+(e<<2)>>2]|0;if(!d){d=b+8|0;k[c>>2]=k[d>>2];k[d>>2]=c;k[(k[b>>2]|0)+(e<<2)>>2]=d;d=k[c>>2]|0;if(d|0){d=k[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;k[(k[b>>2]|0)+(d<<2)>>2]=c}}else{k[c>>2]=k[d>>2];k[d>>2]=c}k[l>>2]=(k[l>>2]|0)+1;b=1;k[a>>2]=c;a=a+4|0;i[a>>0]=b;return}function lo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)!=1){if(b+-1&b)b=yp(b)|0}else b=2;e=k[a+4>>2]|0;if(b>>>0>e>>>0){mo(a,b);return}if(b>>>0>=e>>>0)return;if(e>>>0>2)d=(e+-1&e|0)==0;else d=0;c=~~+ga(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d)c=1<<32-(ja(c+-1|0)|0);else c=yp(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=e>>>0)return;mo(a,b);return}function mo(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)Jp(c);k[d>>2]=0;return}m=aq(b<<2)|0;c=k[a>>2]|0;k[a>>2]=m;if(c|0)Jp(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;l=b+-1|0;m=(l&b|0)==0;if(m)e=c&l;else e=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(e<<2)>>2]=d;c=k[f>>2]|0;if(!c)return;else{g=f;d=f}a:while(1){b:do if(m){j=g;i=d;while(1){while(1){h=k[c+4>>2]&l;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((k[g>>2]|0)==(k[f+8>>2]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[j>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{j=d;i=d}}}else{j=g;i=d;while(1){while(1){h=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((h|0)==(e|0)){d=c;break}d=(k[a>>2]|0)+(h<<2)|0;if(!(k[d>>2]|0)){e=h;f=c;c=i;break b}g=c+8|0;d=c;while(1){f=k[d>>2]|0;if(!f)break;if((k[g>>2]|0)==(k[f+8>>2]|0))d=f;else break}k[i>>2]=f;k[d>>2]=k[k[(k[a>>2]|0)+(h<<2)>>2]>>2];k[k[(k[a>>2]|0)+(h<<2)>>2]>>2]=c;c=k[j>>2]|0;if(!c){c=32;break a}}c=k[d>>2]|0;if(!c){c=32;break a}else{j=d;i=d}}}while(0);k[d>>2]=c;c=k[f>>2]|0;if(!c){c=32;break}else{g=f;d=f}}if((c|0)==32)return}function no(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;h=a+8|0;d=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(d-c>>2>>>0>=b>>>0){iq(c|0,0,b<<2|0)|0;k[i>>2]=c+(b<<2);return}j=k[a>>2]|0;e=(c-j>>2)+b|0;if(e>>>0>1073741823)zp(a);c=d-j|0;if(c>>2>>>0<536870911){c=c>>1;c=c>>>0>>0?e:c;e=k[i>>2]|0;d=e-j>>2;if(!c){g=0;f=0;c=e}else l=8}else{d=k[i>>2]|0;c=1073741823;e=d;d=d-j>>2;l=8}if((l|0)==8){g=c;f=aq(c<<2)|0;c=e}l=f+(d<<2)|0;iq(l|0,0,b<<2|0)|0;d=c-j|0;e=l+(0-(d>>2)<<2)|0;mq(e|0,j|0,d|0)|0;k[a>>2]=e;k[i>>2]=l+(b<<2);k[h>>2]=f+(g<<2);if(!j)return;Jp(j);return}function oo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+32|0;s=u+8|0;n=u+4|0;o=u;c=k[b>>2]|0;k[s>>2]=c;m=a+8|0;do if((c|0)>=0){l=c+1|0;k[s+4>>2]=((l|0)%3|0|0)==0?c+-2|0:l;if(!((c|0)%3|0)){b=c+2|0;break}else{b=c+-1|0;break}}else{k[s+4>>2]=c;b=c}while(0);k[s+8>>2]=b;j=a+228|0;l=a+232|0;i=a+320|0;b=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)){f=0;do{do if(ud((k[i>>2]|0)+(f<<4)|0)|0){a=k[j>>2]|0;k[o>>2]=c;d=a+(f*116|0)+108|0;e=k[d>>2]|0;if(e>>>0<(k[a+(f*116|0)+112>>2]|0)>>>0){k[e>>2]=c;k[d>>2]=e+4;break}else{Ee(a+(f*116|0)+104|0,o);break}}while(0);f=f+1|0}while(f>>>0<(((k[l>>2]|0)-(k[j>>2]|0)|0)/116|0)>>>0)}}else t=11;if((t|0)==11?(t=0,p=k[l>>2]|0,q=k[j>>2]|0,(p|0)!=(q|0)):0){a=q;d=p;h=0;do{e=a;k[n>>2]=c;f=e+(h*116|0)+108|0;g=k[f>>2]|0;if(g>>>0<(k[e+(h*116|0)+112>>2]|0)>>>0){k[g>>2]=c;k[f>>2]=g+4}else{Ee(e+(h*116|0)+104|0,n);a=k[j>>2]|0;d=k[l>>2]|0}h=h+1|0}while(h>>>0<((d-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;c=k[s+(b<<2)>>2]|0}r=u;return 1}function po(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=r;r=r+64|0;G=J+44|0;K=J+28|0;I=J+12|0;t=J+40|0;A=J+24|0;D=J;H=a+4|0;e=k[(k[H>>2]|0)+24>>2]|0;F=a+8|0;b=k[F>>2]|0;b=((k[b+4>>2]|0)-(k[b>>2]|0)|0)/12|0;c=e+80|0;e=e+84|0;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;h=k[e>>2]|0;g=k[c>>2]|0;f=(h-g|0)/12|0;if(b>>>0<=f>>>0){if(b>>>0>>0?(i=g+(b*12|0)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~(((h+-12-i|0)>>>0)/12|0)*12|0)}else qo(c,b-f|0,G);y=a+228|0;z=a+232|0;if((k[z>>2]|0)==(k[y>>2]|0)){b=k[F>>2]|0;b=(k[b+28>>2]|0)-(k[b+24>>2]|0)|0;c=b>>2;k[K>>2]=0;p=K+4|0;k[p>>2]=0;k[K+8>>2]=0;do if(c)if(c>>>0>1073741823)zp(K);else{d=aq(b)|0;k[K>>2]=d;E=d+(c<<2)|0;k[K+8>>2]=E;iq(d|0,-1,b|0)|0;k[p>>2]=E;break}else d=0;while(0);e=k[H>>2]|0;b=k[e+24>>2]|0;f=k[b+84>>2]|0;c=k[b+80>>2]|0;if((f-c|0)>0){n=I+4|0;o=I+8|0;j=b;d=c;c=e;l=e;m=0;b=0;while(1){k[I>>2]=0;k[I+4>>2]=0;k[I+8>>2]=0;h=m*3|0;if((m|0)<0)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(m*12|0)+(((h|0)%3|0)<<2)>>2]|0;i=k[K>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;a=b;b=b+1|0}else a=g;k[I>>2]=a;e=h+1|0;if((h|0)<-1)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;g=b;b=b+1|0}k[n>>2]=g;e=h+2|0;if((h|0)<-2)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;g=b;b=b+1|0}k[o>>2]=g;h=j+80|0;g=j+84|0;e=(f-d|0)/12|0;i=m;m=m+1|0;do if((i|0)>=(e|0)){k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;if(m>>>0>e>>>0){qo(h,m-e|0,G);c=k[H>>2]|0;d=k[h>>2]|0;e=c;break}if(m>>>0>>0?(q=d+(m*12|0)|0,(f|0)!=(q|0)):0){k[g>>2]=f+(~(((f+-12-q|0)>>>0)/12|0)*12|0);e=l}else e=l}else e=l;while(0);k[d+(i*12|0)>>2]=a;k[d+(i*12|0)+4>>2]=k[n>>2];k[d+(i*12|0)+8>>2]=k[o>>2];j=k[e+24>>2]|0;f=k[j+84>>2]|0;d=k[j+80>>2]|0;if((m|0)>=((f-d|0)/12|0|0))break;else l=e}d=k[K>>2]|0}else{c=e;b=0}k[(k[c+4>>2]|0)+64>>2]=b;b=d;if(d|0){c=k[p>>2]|0;if((c|0)!=(d|0))k[p>>2]=c+(~((c+-4-b|0)>>>2)<<2);Jp(d)}r=J;return 1}k[K>>2]=0;E=K+4|0;k[E>>2]=0;k[K+8>>2]=0;b=k[F>>2]|0;q=k[b+4>>2]|0;s=k[b>>2]|0;c=q-s|0;d=((c|0)/12|0)*3|0;k[I>>2]=0;B=I+4|0;k[B>>2]=0;k[I+8>>2]=0;do if((q|0)!=(s|0))if(d>>>0>1073741823)zp(I);else{s=aq(c)|0;k[I>>2]=s;j=s+(d<<2)|0;k[I+8>>2]=j;iq(s|0,0,c|0)|0;k[B>>2]=j;j=k[F>>2]|0;break}else j=b;while(0);a:do if(((k[j+28>>2]|0)-(k[j+24>>2]|0)|0)>0){q=a+136|0;s=K+8|0;p=0;b:while(1){f=k[(k[j+24>>2]|0)+(p<<2)>>2]|0;if((f|0)>=0){c:do if((k[(k[q>>2]|0)+(p>>>5<<2)>>2]&1<<(p&31)|0)==0?(u=k[z>>2]|0,v=k[y>>2]|0,w=v,(u|0)!=(v|0)):0){g=(f|0)/3|0;h=(f|0)%3|0;e=((h|0)==0?2:-1)+f|0;i=(e|0)<0;a=(u-v|0)/116|0;l=j+12|0;m=j+12|0;o=0;d:while(1){n=k[(k[k[w+(o*116|0)+68>>2]>>2]|0)+(g*12|0)+(h<<2)>>2]|0;if(1<<(n&31)&k[(k[w+(o*116|0)+16>>2]|0)+(n>>>5<<2)>>2]|0){n=k[w+(o*116|0)+32>>2]|0;d=k[n+(f<<2)>>2]|0;do if(!i){c=k[(k[l>>2]|0)+(e<<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=e;while(0);if((c|0)!=(f|0))do{b=k[n+(c<<2)>>2]|0;if((c|0)<0)break d;if((b|0)!=(d|0))break c;c=(((c|0)%3|0|0)==0?2:-1)+c|0;do if((c|0)>=0){c=k[(k[m>>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)}while((c|0)!=(f|0))}o=o+1|0;if(o>>>0>=a>>>0){c=f;break c}}while(1)if((b|0)==(d|0))b=d;else break}else c=f;while(0);b=k[E>>2]|0;k[(k[I>>2]|0)+(c<<2)>>2]=b-(k[K>>2]|0)>>2;k[t>>2]=c;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=c;k[E>>2]=b+4;b=j}else{Ee(K,t);b=k[F>>2]|0}do if((c|0)>=0){f=(((c|0)%3|0|0)==0?2:-1)+c|0;if((f|0)>=0){f=k[(k[b+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=c;while(0);if((f|0)>-1&(f|0)!=(c|0)){b=c;while(1){if((f|0)<0)break b;d=k[z>>2]|0;e=k[y>>2]|0;g=e;e:do if((d|0)!=(e|0)){d=(d-e|0)/116|0;e=0;while(1){o=k[g+(e*116|0)+32>>2]|0;e=e+1|0;if((k[o+(f<<2)>>2]|0)!=(k[o+(b<<2)>>2]|0))break;if(e>>>0>=d>>>0){x=87;break e}}b=k[E>>2]|0;k[(k[I>>2]|0)+(f<<2)>>2]=b-(k[K>>2]|0)>>2;k[A>>2]=f;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=f;k[E>>2]=b+4;break}else{Ee(K,A);break}}else x=87;while(0);if((x|0)==87){x=0;o=k[I>>2]|0;k[o+(f<<2)>>2]=k[o+(b<<2)>>2]}b=(((f|0)%3|0|0)==0?2:-1)+f|0;do if((b|0)>=0){b=k[(k[(k[F>>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}}while(0);if((b|0)>-1&(b|0)!=(c|0)){o=f;f=b;b=o}else break}}}p=p+1|0;j=k[F>>2]|0;if((p|0)>=((k[j+28>>2]|0)-(k[j+24>>2]|0)>>2|0))break a}f:while(1){c=k[z>>2]|0;d=k[y>>2]|0;e=d;g:do if((c|0)!=(d|0)){c=(c-d|0)/116|0;d=0;while(1){J=k[e+(d*116|0)+32>>2]|0;d=d+1|0;if((k[J+(f<<2)>>2]|0)!=(k[J+(b<<2)>>2]|0))break;if(d>>>0>=c>>>0)break g}b=k[E>>2]|0;k[(k[I>>2]|0)+(f<<2)>>2]=b-(k[K>>2]|0)>>2;k[A>>2]=f;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=f;k[E>>2]=b+4;b=f;continue f}else{Ee(K,A);b=f;continue f}}while(0);J=k[I>>2]|0;k[J+(f<<2)>>2]=k[J+(b<<2)>>2];b=f}}while(0);c=k[H>>2]|0;b=k[c+24>>2]|0;e=k[b+84>>2]|0;d=k[b+80>>2]|0;if((e-d|0)>0){j=D+4|0;l=D+8|0;i=c;f=c;a=0;while(1){k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;g=(k[I>>2]|0)+(a*3<<2)|0;k[D>>2]=k[g>>2];k[D+4>>2]=k[g+4>>2];k[D+8>>2]=k[g+8>>2];g=b+80|0;b=b+84|0;c=(e-d|0)/12|0;h=a;a=a+1|0;do if((h|0)>=(c|0)){k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;if(a>>>0>c>>>0){qo(g,a-c|0,G);c=k[H>>2]|0;d=k[g>>2]|0;f=c;break}if(a>>>0>>0?(C=d+(a*12|0)|0,(e|0)!=(C|0)):0){k[b>>2]=e+(~(((e+-12-C|0)>>>0)/12|0)*12|0);c=i}else c=i}else c=i;while(0);k[d+(h*12|0)>>2]=k[D>>2];k[d+(h*12|0)+4>>2]=k[j>>2];k[d+(h*12|0)+8>>2]=k[l>>2];b=k[f+24>>2]|0;e=k[b+84>>2]|0;d=k[b+80>>2]|0;if((a|0)>=((e-d|0)/12|0|0))break;else i=c}}b=k[K>>2]|0;k[(k[c+4>>2]|0)+64>>2]=(k[E>>2]|0)-b>>2;c=k[I>>2]|0;d=c;if(c){b=k[B>>2]|0;if((b|0)!=(c|0))k[B>>2]=b+(~((b+-4-d|0)>>>2)<<2);Jp(c);b=k[K>>2]|0}c=b;if(b|0){d=k[E>>2]|0;if((d|0)!=(b|0))k[E>>2]=d+(~((d+-4-c|0)>>>2)<<2);Jp(b)}r=J;return 1}function qo(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;e=k[i>>2]|0;j=a+4|0;d=k[j>>2]|0;if(((e-d|0)/12|0)>>>0>=b>>>0){do{k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];k[d+8>>2]=k[c+8>>2];d=(k[j>>2]|0)+12|0;k[j>>2]=d;b=b+-1|0}while((b|0)!=0);return}g=k[a>>2]|0;f=((d-g|0)/12|0)+b|0;if(f>>>0>357913941)zp(a);d=(e-g|0)/12|0;if(d>>>0<178956970){d=d<<1;d=d>>>0>>0?f:d;e=((k[j>>2]|0)-g|0)/12|0;if(!d){g=0;f=0;d=e}else h=9}else{d=357913941;e=((k[j>>2]|0)-g|0)/12|0;h=9}if((h|0)==9){g=d;f=aq(d*12|0)|0;d=e}h=f+(d*12|0)|0;f=f+(g*12|0)|0;e=h;d=h;do{k[e>>2]=k[c>>2];k[e+4>>2]=k[c+4>>2];k[e+8>>2]=k[c+8>>2];e=d+12|0;d=e;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;g=(k[j>>2]|0)-b|0;c=h+(((g|0)/-12|0)*12|0)|0;mq(c|0,b|0,g|0)|0;k[a>>2]=c;k[j>>2]=d;k[i>>2]=f;if(!b)return;Jp(b);return}function ro(a){a=a|0;return 1}function so(a){a=a|0;return k[a+4>>2]|0}function to(a){a=a|0;return k[a+8>>2]|0}function uo(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4672;sd(a+352|0);b=k[a+340>>2]|0;c=b;if(b|0){d=a+344|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}e=a+320|0;c=k[e>>2]|0;k[e>>2]=0;if(c|0){d=c+-4|0;b=k[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;sd(b)}while((b|0)!=(c|0))}dq(d)}Og(a+304|0);Og(a+264|0);vo(a+228|0);b=k[a+212>>2]|0;c=b;if(b|0){d=a+216|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+200>>2]|0;c=b;if(b|0){d=a+204|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+188>>2]|0;c=b;if(b|0){d=a+192|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+176>>2]|0;c=b;if(b|0){d=a+180|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+160>>2]|0;if(b|0)do{e=b;b=k[b>>2]|0;Jp(e)}while((b|0)!=0);e=a+152|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)Jp(b);b=k[a+136>>2]|0;if(b|0)Jp(b);b=k[a+124>>2]|0;if(b|0)Jp(b);b=k[a+112>>2]|0;if(b|0)Jp(b);b=k[a+88>>2]|0;c=b;if(b|0){d=a+92|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}e=k[a+76>>2]|0;b=e;if(e|0){c=a+80|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Jp(e)}b=k[a+64>>2]|0;if(b|0)Jp(b);b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+36>>2]|0;c=b;if(b|0){d=a+40|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);Jp(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(b)}a=a+8|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Gd(b);Jp(b);return}function vo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a>>2]|0;if(!b)return;h=a+4|0;c=k[h>>2]|0;if((c|0)!=(b|0)){do{k[h>>2]=c+-116;g=k[c+-12>>2]|0;d=g;if(g|0){e=c+-8|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(g)}d=k[c+-28>>2]|0;e=d;if(d|0){f=c+-24|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}d=k[c+-40>>2]|0;e=d;if(d|0){f=c+-36|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Jp(d)}un(c+-112|0);c=k[h>>2]|0}while((c|0)!=(b|0));b=k[a>>2]|0}Jp(b);return}function wo(a){a=a|0;uo(a);Jp(a);return}function xo(a,b){a=a|0;b=b|0;k[a+4>>2]=b;return 1}function yo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;h=d;if((c|0)==(d|0)){j=0;return j|0}g=k[(k[a+4>>2]|0)+8>>2]|0;e=(c-d|0)/116|0;a=0;a:while(1){c=k[g+(k[h+(a*116|0)>>2]<<2)>>2]|0;f=k[c+4>>2]|0;c=(k[c+8>>2]|0)-f|0;if((c|0)>0){c=c>>2;d=0;do{if((k[f+(d<<2)>>2]|0)==(b|0))break a;d=d+1|0}while((d|0)<(c|0))}a=a+1|0;if(a>>>0>=e>>>0){a=0;j=9;break}}if((j|0)==9)return a|0;j=(i[h+(a*116|0)+72>>0]|0)==0?0:h+(a*116|0)+4|0;return j|0}function zo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;i=d;a:do if((c|0)!=(d|0)){h=k[(k[a+4>>2]|0)+8>>2]|0;f=(c-d|0)/116|0;c=0;b:while(1){d=k[h+(k[i+(c*116|0)>>2]<<2)>>2]|0;g=k[d+4>>2]|0;d=(k[d+8>>2]|0)-g|0;if((d|0)>0){d=d>>2;e=0;do{if((k[g+(e<<2)>>2]|0)==(b|0))break b;e=e+1|0}while((e|0)<(d|0))}c=c+1|0;if(c>>>0>=f>>>0)break a}i=i+(c*116|0)+76|0;return i|0}while(0);i=a+200|0;return i|0}function Ao(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+208|0;t=z+168|0;v=z+36|0;u=z;p=z+136|0;s=z+104|0;w=z+32|0;x=a+4|0;l=k[x>>2]|0;c=k[l+20>>2]|0;f=c+8|0;e=k[f>>2]|0;f=k[f+4>>2]|0;g=c+16|0;j=g;h=k[j>>2]|0;j=k[j+4>>2]|0;if(!((f|0)>(j|0)|(f|0)==(j|0)&e>>>0>h>>>0)){b=0;r=z;return b|0}c=k[c>>2]|0;m=i[c+h>>0]|0;d=kq(h|0,j|0,1,0)|0;q=L;o=g;k[o>>2]=d;k[o+4>>2]=q;if(!((f|0)>(q|0)|(f|0)==(q|0)&e>>>0>d>>>0)){b=0;r=z;return b|0}e=i[c+d>>0]|0;o=kq(h|0,j|0,2,0)|0;q=g;k[q>>2]=o;k[q+4>>2]=L;do if(m<<24>>24>-1){c=m<<24>>24;d=k[a+228>>2]|0;if(c>>>0<(((k[a+232>>2]|0)-d|0)/116|0)>>>0){k[d+(c*116|0)>>2]=b;break}else{b=0;r=z;return b|0}}while(0);q=k[l+24>>2]|0;c=m<<24>>24<0;if(!(e<<24>>24)){if(c)g=a+200|0;else{g=m<<24>>24;s=k[a+228>>2]|0;i[s+(g*116|0)+72>>0]=0;g=s+(g*116|0)+76|0}c=aq(88)|0;k[c+4>>2]=0;k[c>>2]=4580;h=c+12|0;k[h>>2]=4604;j=c+64|0;k[j>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;f=c+16|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));k[c+76>>2]=q;k[c+80>>2]=g;k[c+84>>2]=0;n=v+4|0;k[n>>2]=4604;l=v+56|0;k[l>>2]=0;o=v+60|0;k[o>>2]=0;k[v+64>>2]=0;f=v+8|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));e=k[a+8>>2]|0;k[u>>2]=4604;d=u+4|0;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;f=e;k[d>>2]=f;f=((k[f+4>>2]|0)-(k[e>>2]|0)|0)/12|0;i[t>>0]=0;Dg(u+8|0,f,t);ab[k[(k[u>>2]|0)+8>>2]&127](u);Jn(p,u);Jn(t,p);k[v>>2]=k[t+4>>2];f=v+4|0;Mn(f,t)|0;k[t>>2]=4604;d=k[t+20>>2]|0;if(d|0)Jp(d);d=k[t+8>>2]|0;if(d|0)Jp(d);k[v+36>>2]=e;k[v+40>>2]=g;k[v+44>>2]=q;k[v+48>>2]=c;k[p>>2]=4604;d=k[p+20>>2]|0;if(d|0)Jp(d);d=k[p+8>>2]|0;if(d|0)Jp(d);k[c+8>>2]=k[v>>2];Mn(h,f)|0;d=c+44|0;t=v+36|0;k[d>>2]=k[t>>2];k[d+4>>2]=k[t+4>>2];k[d+8>>2]=k[t+8>>2];k[d+12>>2]=k[t+12>>2];i[d+16>>0]=i[t+16>>0]|0;Nn(j,k[l>>2]|0,k[o>>2]|0);k[u>>2]=4604;d=k[u+20>>2]|0;if(d|0)Jp(d);d=k[u+8>>2]|0;if(d|0)Jp(d);d=k[l>>2]|0;e=d;if(d|0){f=k[o>>2]|0;if((f|0)!=(d|0))k[o>>2]=f+(~((f+-4-e|0)>>>2)<<2);Jp(d)}k[n>>2]=4604;d=k[v+24>>2]|0;if(d|0)Jp(d);d=k[v+12>>2]|0;if(d|0)Jp(d)}else{if(c){b=0;r=z;return b|0}c=aq(88)|0;e=m<<24>>24;d=k[a+228>>2]|0;g=d+(e*116|0)+76|0;k[c+4>>2]=0;k[c>>2]=4628;h=c+12|0;k[h>>2]=4652;j=c+64|0;k[j>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;f=c+16|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));k[c+76>>2]=q;k[c+80>>2]=g;k[c+84>>2]=0;n=v+4|0;k[n>>2]=4652;l=v+56|0;k[l>>2]=0;o=v+60|0;k[o>>2]=0;k[v+64>>2]=0;f=v+8|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));f=d+(e*116|0)+4|0;k[u>>2]=4652;p=u+4|0;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;k[p+24>>2]=0;k[p>>2]=f;e=k[d+(e*116|0)+68>>2]|0;e=((k[e+4>>2]|0)-(k[e>>2]|0)|0)/12|0;i[t>>0]=0;Dg(u+8|0,e,t);ab[k[(k[u>>2]|0)+8>>2]&127](u);Xn(s,u);Xn(t,s);k[v>>2]=k[t+4>>2];e=v+4|0;Yn(e,t)|0;k[t>>2]=4652;d=k[t+20>>2]|0;if(d|0)Jp(d);d=k[t+8>>2]|0;if(d|0)Jp(d);k[v+36>>2]=f;k[v+40>>2]=g;k[v+44>>2]=q;k[v+48>>2]=c;k[s>>2]=4652;d=k[s+20>>2]|0;if(d|0)Jp(d);d=k[s+8>>2]|0;if(d|0)Jp(d);k[c+8>>2]=k[v>>2];Yn(h,e)|0;d=c+44|0;t=v+36|0;k[d>>2]=k[t>>2];k[d+4>>2]=k[t+4>>2];k[d+8>>2]=k[t+8>>2];k[d+12>>2]=k[t+12>>2];i[d+16>>0]=i[t+16>>0]|0;Nn(j,k[l>>2]|0,k[o>>2]|0);k[u>>2]=4652;d=k[u+20>>2]|0;if(d|0)Jp(d);d=k[u+8>>2]|0;if(d|0)Jp(d);d=k[l>>2]|0;e=d;if(d|0){f=k[o>>2]|0;if((f|0)!=(d|0))k[o>>2]=f+(~((f+-4-e|0)>>>2)<<2);Jp(d)}k[n>>2]=4652;d=k[v+24>>2]|0;if(d|0)Jp(d);d=k[v+12>>2]|0;if(d|0)Jp(d)}j=aq(52)|0;k[w>>2]=c;Dk(j,w);c=k[w>>2]|0;k[w>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);h=k[x>>2]|0;g=h+8|0;h=h+12|0;c=k[h>>2]|0;d=k[g>>2]|0;e=c-d>>2;do if((e|0)<=(b|0)){f=b+1|0;if(f>>>0>e>>>0){Lk(g,f-e|0);break}if(f>>>0>>0?(y=d+(f<<2)|0,(c|0)!=(y|0)):0)do{x=c+-4|0;k[h>>2]=x;c=k[x>>2]|0;k[x>>2]=0;if(c|0)ab[k[(k[c>>2]|0)+4>>2]&127](c);c=k[h>>2]|0}while((c|0)!=(y|0))}while(0);b=(k[g>>2]|0)+(b<<2)|0;c=k[b>>2]|0;k[b>>2]=j;if(!c){b=1;r=z;return b|0}ab[k[(k[c>>2]|0)+4>>2]&127](c);b=1;r=z;return b|0}function Bo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;x=C+88|0;s=C+92|0;B=C+40|0;A=C;u=C+84|0;y=C+80|0;o=a+148|0;k[o>>2]=0;e=a+164|0;if(k[e>>2]|0){c=a+160|0;b=k[c>>2]|0;if(b|0)do{z=b;b=k[b>>2]|0;Jp(z)}while((b|0)!=0);k[c>>2]=0;b=k[a+156>>2]|0;if(b|0){c=a+152|0;d=0;do{k[(k[c>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(b|0))}k[e>>2]=0}t=a+4|0;b=k[(k[t>>2]|0)+20>>2]|0;m=b+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;n=b+16|0;g=n;f=k[g>>2]|0;g=k[g+4>>2]|0;d=kq(f|0,g|0,4,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){B=0;r=C;return B|0}h=k[b>>2]|0;e=h+f|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;b=n;k[b>>2]=d;k[b+4>>2]=c;k[o>>2]=e;e=kq(f|0,g|0,8,0)|0;b=L;if((m|0)<(b|0)|(m|0)==(b|0)&j>>>0>>0){B=0;r=C;return B|0}c=h+d|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;q=n;k[q>>2]=e;k[q+4>>2]=b;q=a+172|0;k[q>>2]=c;b=kq(f|0,g|0,12,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){B=0;r=C;return B|0}p=h+e|0;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;d=n;k[d>>2]=b;k[d+4>>2]=c;b=k[a+24>>2]|0;c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);z=a+8|0;b=aq(60)|0;Ad(b);c=k[z>>2]|0;k[z>>2]=b;if(c){Gd(c);Jp(c);b=k[z>>2]|0;if(!b){B=0;r=C;return B|0}}Hd(b,p);f=a+176|0;g=k[f>>2]|0;h=a+180|0;b=k[h>>2]|0;c=g;if((b|0)!=(g|0)){b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[h>>2]=b}e=a+184|0;if((k[e>>2]|0)-c>>2>>>0

>>0){b=b-c|0;c=b>>2;if(!p)d=0;else d=aq(p<<2)|0;w=d+(c<<2)|0;v=w+(0-c<<2)|0;mq(v|0,g|0,b|0)|0;k[f>>2]=v;k[h>>2]=w;k[e>>2]=d+(p<<2);if(g|0)Jp(g)}f=a+188|0;g=k[f>>2]|0;h=a+192|0;b=k[h>>2]|0;c=g;if((b|0)!=(g|0)){b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[h>>2]=b}e=a+196|0;if((k[e>>2]|0)-c>>2>>>0

>>0){b=b-c|0;c=b>>2;if(!p)d=0;else d=aq(p<<2)|0;w=d+(c<<2)|0;v=w+(0-c<<2)|0;mq(v|0,g|0,b|0)|0;k[f>>2]=v;k[h>>2]=w;k[e>>2]=d+(p<<2);if(g|0)Jp(g)}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[t>>2]|0)+20>>2]|0;w=b+8|0;v=k[w+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((v|0)>(e|0)|((v|0)==(e|0)?(k[w>>2]|0)>>>0>d>>>0:0))){B=0;r=C;return B|0}h=i[(k[b>>2]|0)+d>>0]|0;v=kq(d|0,e|0,1,0)|0;w=c;k[w>>2]=v;k[w+4>>2]=L;if(h<<24>>24<0){B=0;r=C;return B|0}v=a+228|0;g=k[v>>2]|0;w=a+232|0;b=k[w>>2]|0;if((b|0)!=(g|0))do{k[w>>2]=b+-116;c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(c)}un(b+-112|0);b=k[w>>2]|0}while((b|0)!=(g|0));o=h<<24>>24;Co(v,o);b=k[(k[t>>2]|0)+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=k[d+4>>2]|0;m=kq(c|0,d|0,4,0)|0;e=L;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){B=0;r=C;return B|0}f=k[b>>2]|0;n=f+c|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;b=j;k[b>>2]=m;k[b+4>>2]=e;if(p>>>0>>0){B=0;r=C;return B|0}b=kq(c|0,d|0,8,0)|0;c=L;if((h|0)<(c|0)|(h|0)==(c|0)&g>>>0>>0){B=0;r=C;return B|0}p=f+m|0;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;h=j;k[h>>2]=b;k[h+4>>2]=c;h=a+136|0;b=(k[q>>2]|0)+p|0;i[s>>0]=1;Dg(h,b,s);b=k[(k[t>>2]|0)+20>>2]|0;p=b+8|0;s=k[p>>2]|0;p=k[p+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=kq(d|0,k[e+4>>2]|0,4,0)|0;f=L;if((p|0)<(f|0)|(p|0)==(f|0)&s>>>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;s=c;k[s>>2]=e;k[s+4>>2]=f}Pg(B);p=k[(k[t>>2]|0)+20>>2]|0;j=p+16|0;g=k[j>>2]|0;s=(k[p>>2]|0)+g+b|0;p=p+8|0;m=k[p>>2]|0;p=k[p+4>>2]|0;b=kq(g|0,k[j+4>>2]|0,b|0,0)|0;b=hq(m|0,p|0,b|0,L|0)|0;Qg(B,s,b);b=Go(a,B)|0;if((b|0)==-1)b=0;else{c=a+240|0;k[a+328>>2]=a;p=(cb[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;p=k[p>>2]|0;m=k[p>>2]|0;p=k[p+16>>2]|0;s=(cb[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;s=k[s>>2]|0;j=s+8|0;s=s+16|0;s=hq(k[j>>2]|0,k[j+4>>2]|0,k[s>>2]|0,k[s+4>>2]|0)|0;Qg(c,m+p|0,s);s=cb[k[(k[a>>2]|0)+36>>2]&127](a)|0;k[a+332>>2]=s;k[a+336>>2]=k[q>>2];k[a+324>>2]=o;Pg(A);do if(Ho(c,A)|0){if((Io(a,n)|0)==-1){b=0;break}p=k[(k[t>>2]|0)+20>>2]|0;s=A+16|0;o=k[s>>2]|0;q=(k[A>>2]|0)+o|0;n=A+8|0;s=hq(k[n>>2]|0,k[n+4>>2]|0,o|0,k[s+4>>2]|0)|0;Qg(p,q,s);t=(k[(k[t>>2]|0)+20>>2]|0)+16|0;s=t;s=kq(k[s>>2]|0,k[s+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[t>>2]=s;k[t+4>>2]=L;do if((k[w>>2]|0)!=(k[v>>2]|0)){t=k[z>>2]|0;if(((k[t+4>>2]|0)-(k[t>>2]|0)|0)<=0)break;b=0;do{k[u>>2]=b;k[x>>2]=k[u>>2];Ko(a,x)|0;b=b+3|0;t=k[z>>2]|0}while((b|0)<((((k[t+4>>2]|0)-(k[t>>2]|0)|0)/12|0)*3|0))}while(0);Sg(c);Sg(a+280|0);c=k[z>>2]|0;f=k[c+28>>2]|0;g=k[c+24>>2]|0;q=g;if((f-g|0)>0){j=k[h>>2]|0;m=f-g>>2;n=c+12|0;p=0;do{do if(k[j+(p>>>5<<2)>>2]&1<<(p&31)|0){o=q+(p<<2)|0;b=k[o>>2]|0;if((b|0)<0)break;d=b+1|0;d=((d|0)%3|0|0)==0?b+-2|0:d;if((d|0)>=0){h=k[n>>2]|0;d=k[h+(d<<2)>>2]|0;a:do if((d|0)<0)e=b;else{u=d+1|0;d=((u|0)%3|0|0)==0?d+-2|0:u;if((d|0)>-1&(d|0)!=(b|0))e=d;else{e=b;break}while(1){d=e+1|0;d=((d|0)%3|0|0)==0?e+-2|0:d;if((d|0)<0)break a;d=k[h+(d<<2)>>2]|0;if((d|0)<0)break a;u=d+1|0;d=((u|0)%3|0|0)==0?d+-2|0:u;if((d|0)>-1&(d|0)!=(b|0))e=d;else break}}while(0);if((d|0)==(b|0))break;else b=e}k[o>>2]=b}while(0);p=p+1|0}while((p|0)<(m|0))}d=k[w>>2]|0;u=k[v>>2]|0;b=u;if((d|0)==(u|0))c=d;else{f=0;do{Cg(b+(f*116|0)+4|0,c)|0;b=k[v>>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[y>>2]=k[c>>2];k[x>>2]=k[y>>2];Kg(b+(f*116|0)+4|0,x);c=c+4|0;b=k[v>>2]|0}while((c|0)!=(d|0));Jg(b+(f*116|0)+4|0,0,0);f=f+1|0;d=k[w>>2]|0;e=k[v>>2]|0;b=e;c=k[z>>2]|0}while(f>>>0<((d-e|0)/116|0)>>>0);g=k[c+24>>2]|0;f=k[c+28>>2]|0;c=e}e=f-g>>2;f=a+212|0;j=a+216|0;m=k[j>>2]|0;h=k[f>>2]|0;g=m-h>>2;do if(e>>>0>g>>>0){Xg(f,e-g|0);b=k[v>>2]|0;d=k[w>>2]|0;c=b}else{if(e>>>0>=g>>>0)break;e=h+(e<<2)|0;if((m|0)==(e|0))break;k[j>>2]=m+(~((m+-4-e|0)>>>2)<<2)}while(0);if((d|0)!=(c|0)){m=0;while(1){f=(k[b+(m*116|0)+60>>2]|0)-(k[b+(m*116|0)+56>>2]|0)>>2;g=k[z>>2]|0;g=(k[g+28>>2]|0)-(k[g+24>>2]|0)>>2;f=(f|0)<(g|0)?g:f;g=b+(m*116|0)+88|0;h=b+(m*116|0)+92|0;j=k[h>>2]|0;e=k[g>>2]|0;b=j-e>>2;do if(f>>>0>b>>>0){Xg(g,f-b|0);c=k[v>>2]|0;d=k[w>>2]|0}else{if(f>>>0>=b>>>0)break;b=e+(f<<2)|0;if((j|0)==(b|0))break;k[h>>2]=j+(~((j+-4-b|0)>>>2)<<2)}while(0);m=m+1|0;if(m>>>0>=((d-c|0)/116|0)>>>0)break;else b=c}}Lo(a)|0;b=1}else b=0;while(0);Og(A+24|0)}Og(B+24|0);B=b;r=C;return B|0}function Co(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=a+4|0;e=k[g>>2]|0;c=k[a>>2]|0;d=(e-c|0)/116|0;if(d>>>0>>0){Do(a,b-d|0);return}if(d>>>0<=b>>>0)return;f=c+(b*116|0)|0;if((e|0)==(f|0))return;do{k[g>>2]=e+-116;c=k[e+-12>>2]|0;d=c;if(c|0){b=e+-8|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Jp(c)}c=k[e+-28>>2]|0;d=c;if(c|0){b=e+-24|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Jp(c)}c=k[e+-40>>2]|0;d=c;if(c|0){b=e+-36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-d|0)>>>2)<<2);Jp(c)}un(e+-112|0);e=k[g>>2]|0}while((e|0)!=(f|0));return}function Do(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;o=r;r=r+32|0;m=o;l=a+8|0;d=k[l>>2]|0;n=a+4|0;c=k[n>>2]|0;if(((d-c|0)/116|0)>>>0>=b>>>0){do{k[c>>2]=-1;Bg(c+4|0);i[c+72>>0]=1;e=c+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c=(k[n>>2]|0)+116|0;k[n>>2]=c;b=b+-1|0}while((b|0)!=0);r=o;return}f=k[a>>2]|0;e=((c-f|0)/116|0)+b|0;if(e>>>0>37025580)zp(a);c=(d-f|0)/116|0;if(c>>>0<18512790){j=c<<1;e=j>>>0>>0?e:j}else e=37025580;c=((k[n>>2]|0)-f|0)/116|0;k[m+12>>2]=0;k[m+16>>2]=a+8;if(!e)d=0;else d=aq(e*116|0)|0;k[m>>2]=d;c=d+(c*116|0)|0;g=m+8|0;k[g>>2]=c;h=m+4|0;k[h>>2]=c;j=m+12|0;k[j>>2]=d+(e*116|0);d=c;do{k[d>>2]=-1;Bg(d+4|0);i[d+72>>0]=1;e=d+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));d=d+116|0;k[g>>2]=d;b=b+-1|0}while((b|0)!=0);d=k[a>>2]|0;b=k[n>>2]|0;if((b|0)!=(d|0)){do{c=c+-116|0;b=b+-116|0;Eo(c,b)}while((b|0)!=(d|0));k[h>>2]=c;d=k[a>>2]|0;b=k[n>>2]|0}k[a>>2]=c;k[h>>2]=d;k[n>>2]=k[g>>2];k[g>>2]=b;n=k[l>>2]|0;k[l>>2]=k[j>>2];k[j>>2]=n;k[m>>2]=k[h>>2];Fo(m);r=o;return}function Eo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;k[a>>2]=k[b>>2];c=b+4|0;k[a+4>>2]=k[c>>2];d=b+8|0;k[a+8>>2]=k[d>>2];e=b+12|0;k[a+12>>2]=k[e>>2];k[c>>2]=0;k[d>>2]=0;k[e>>2]=0;e=b+16|0;k[a+16>>2]=k[e>>2];d=b+20|0;k[a+20>>2]=k[d>>2];c=b+24|0;k[a+24>>2]=k[c>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;i[a+28>>0]=i[b+28>>0]|0;c=a+32|0;d=b+32|0;k[c>>2]=0;e=a+36|0;k[e>>2]=0;k[a+40>>2]=0;k[c>>2]=k[d>>2];c=b+36|0;k[e>>2]=k[c>>2];e=b+40|0;k[a+40>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;d=a+44|0;c=b+44|0;k[d>>2]=0;e=a+48|0;k[e>>2]=0;k[a+52>>2]=0;k[d>>2]=k[c>>2];d=b+48|0;k[e>>2]=k[d>>2];e=b+52|0;k[a+52>>2]=k[e>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;c=a+56|0;d=b+56|0;k[c>>2]=0;e=a+60|0;k[e>>2]=0;k[a+64>>2]=0;k[c>>2]=k[d>>2];c=b+60|0;k[e>>2]=k[c>>2];e=b+64|0;k[a+64>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;k[a+68>>2]=k[b+68>>2];i[a+72>>0]=i[b+72>>0]|0;d=a+76|0;c=b+76|0;k[d>>2]=0;e=a+80|0;k[e>>2]=0;k[a+84>>2]=0;k[d>>2]=k[c>>2];d=b+80|0;k[e>>2]=k[d>>2];e=b+84|0;k[a+84>>2]=k[e>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;c=a+88|0;d=b+88|0;k[c>>2]=0;e=a+92|0;k[e>>2]=0;k[a+96>>2]=0;k[c>>2]=k[d>>2];c=b+92|0;k[e>>2]=k[c>>2];e=b+96|0;k[a+96>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;k[a+100>>2]=k[b+100>>2];d=a+104|0;c=b+104|0;k[d>>2]=0;e=a+108|0;k[e>>2]=0;k[a+112>>2]=0;k[d>>2]=k[c>>2];d=b+108|0;k[e>>2]=k[d>>2];b=b+112|0;k[a+112>>2]=k[b>>2];k[b>>2]=0;k[d>>2]=0;k[c>>2]=0;return}function Fo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=k[a+4>>2]|0;h=a+8|0;b=k[h>>2]|0;if((b|0)!=(g|0))do{k[h>>2]=b+-116;f=k[b+-12>>2]|0;c=f;if(f|0){d=b+-8|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Jp(f)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Jp(c)}un(b+-112|0);b=k[h>>2]|0}while((b|0)!=(g|0));b=k[a>>2]|0;if(!b)return;Jp(b);return}function Go(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+16|0;w=x;u=b+8|0;g=u;f=k[g>>2]|0;g=k[g+4>>2]|0;v=b+16|0;d=v;c=k[d>>2]|0;d=kq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0){w=-1;r=x;return w|0}n=(k[b>>2]|0)+c|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;t=v;k[t>>2]=d;k[t+4>>2]=e;a:do if(!n)h=d;else{o=w+4|0;p=w+8|0;q=a+40|0;s=a+44|0;t=a+36|0;c=e;m=0;while(1){e=kq(d|0,c|0,4,0)|0;h=L;if((g|0)<(h|0)|(g|0)==(h|0)&f>>>0>>0)break;j=k[b>>2]|0;y=j+d|0;k[w>>2]=l[y>>0]|l[y+1>>0]<<8|l[y+2>>0]<<16|l[y+3>>0]<<24;y=v;k[y>>2]=e;k[y+4>>2]=h;h=kq(d|0,c|0,8,0)|0;y=L;if((g|0)<(y|0)|(g|0)==(y|0)&f>>>0>>0)break;e=j+e|0;k[o>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=kq(d|0,c|0,8,0)|0;y=L;h=v;k[h>>2]=e;k[h+4>>2]=y;if(!((g|0)>(y|0)|(g|0)==(y|0)&f>>>0>e>>>0))break;y=i[j+e>>0]|0;j=kq(d|0,c|0,9,0)|0;c=v;k[c>>2]=j;k[c+4>>2]=L;i[p>>0]=y&3|i[p>>0]&-4;c=k[q>>2]|0;if((c|0)==(k[s>>2]|0))eo(t,w);else{k[c>>2]=k[w>>2];k[c+4>>2]=k[w+4>>2];k[c+8>>2]=k[w+8>>2];k[q>>2]=(k[q>>2]|0)+12}m=m+1|0;g=u;f=k[g>>2]|0;g=k[g+4>>2]|0;c=v;d=k[c>>2]|0;c=k[c+4>>2]|0;if(m>>>0>=n>>>0){h=d;e=c;break a}}y=-1;r=x;return y|0}while(0);d=kq(h|0,e|0,4,0)|0;c=L;if((g|0)<(c|0)|(g|0)==(c|0)&f>>>0>>0){y=-1;r=x;return y|0}o=(k[b>>2]|0)+h|0;o=l[o>>0]|l[o+1>>0]<<8|l[o+2>>0]<<16|l[o+3>>0]<<24;y=v;k[y>>2]=d;k[y+4>>2]=c;if(!o){y=d;r=x;return y|0}m=a+52|0;n=a+56|0;j=a+48|0;k[w>>2]=0;e=kq(h|0,e|0,8,0)|0;c=L;b:do if(!((g|0)<(c|0)|(g|0)==(c|0)&f>>>0>>0)){f=0;while(1){d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[w>>2]=d;y=v;k[y>>2]=e;k[y+4>>2]=c;c=k[m>>2]|0;if((c|0)==(k[n>>2]|0))fo(j,w);else{k[c>>2]=d;k[m>>2]=c+4}f=f+1|0;if(f>>>0>=o>>>0)break;a=u;y=k[a>>2]|0;a=k[a+4>>2]|0;e=v;d=k[e>>2]|0;e=k[e+4>>2]|0;k[w>>2]=0;e=kq(d|0,e|0,4,0)|0;c=L;if((a|0)<(c|0)|(a|0)==(c|0)&y>>>0>>0)break b}y=k[v>>2]|0;r=x;return y|0}while(0);y=-1;r=x;return y|0}function Ho(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+16|0;i=m;if(!(go(a,b)|0)){a=0;r=m;return a|0}g=b+8|0;h=k[g>>2]|0;g=k[g+4>>2]|0;f=b+16|0;d=f;c=k[d>>2]|0;d=kq(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){a=0;r=m;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;h=f;k[h>>2]=d;k[h+4>>2]=e;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 Bd(d,c-f|0,i);a=td(a+112|0,b)|0;r=m;return a|0}function Io(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0;xa=r;r=r+48|0;ma=xa+40|0;ua=xa+28|0;va=xa+4|0;F=xa+24|0;ra=xa;k[ua>>2]=0;wa=ua+4|0;k[wa>>2]=0;k[ua+8>>2]=0;k[va>>2]=0;k[va+4>>2]=0;k[va+8>>2]=0;k[va+12>>2]=0;o[va+16>>2]=1.0;oa=a+136|0;ha=k[a+140>>2]|0;a:do if((b|0)>0){fa=a+240|0;ga=a+372|0;G=a+276|0;H=a+368|0;J=a+272|0;K=a+264|0;L=a+268|0;M=a+8|0;O=a+36|0;P=a+40|0;Q=b+-1|0;S=va+4|0;T=a+340|0;U=ua+8|0;V=a+352|0;y=0;e=0;while(1){d=y+1|0;if((k[ga>>2]|0)!=-1?ud(V)|0:0){f=k[ga>>2]|0;ia=16}else ia=6;b:do if((ia|0)==6){do if(!(i[G>>0]|0)){f=0;c=0}else{f=k[J>>2]|0;h=k[K>>2]|0;j=k[L>>2]|0;c=h+(f>>>3)|0;if(c>>>0>>0?(Z=(l[c>>0]|0)>>>(f&7)&1,_=f+1|0,k[J>>2]=_,Z|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;f=Z;c=(c|g)<<1;break}k[H>>2]=0;ia=17;break b}while(0);f=c|f;ia=16}while(0);c:do if((ia|0)==16){ia=0;k[H>>2]=f;if(f){switch(f|0){case 3:case 5:{v=k[(k[wa>>2]|0)+-4>>2]|0;c=y*3|0;p=((f|0)==5?2:1)+c|0;f=k[M>>2]|0;w=k[f+12>>2]|0;k[w+(p<<2)>>2]=v;k[w+(v<<2)>>2]=p;w=e+1|0;t=(p|0)<0;u=(p|0)%3|0;k[(k[f>>2]|0)+((t?-1073741824:(p|0)/3|0)*12|0)+(u<<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(w>>>0>j>>>0){io(m,w-j|0);f=k[m>>2]|0;break}if(w>>>0>>0?(W=f+(w<<2)|0,(g|0)!=(W|0)):0)k[h>>2]=g+(~((g+-4-W|0)>>>2)<<2)}while(0);k[f+(e<<2)>>2]=p;f=k[M>>2]|0}if(t)q=p;else{q=p+1|0;q=((q|0)%3|0|0)==0?p+-2|0:q}s=(v|0)<0;if(!s?(D=(((v|0)%3|0|0)==0?2:-1)+v|0,(D|0)>=0):0)n=k[(k[f>>2]|0)+(((D|0)/3|0)*12|0)+(((D|0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[f>>2]|0)+(((q|0)<0?-1073741824:(q|0)/3|0)*12|0)+(((q|0)%3|0)<<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){io(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]=q;f=k[M>>2]|0}do if(!t)if(!u){p=p+2|0;break}else{p=p+-1|0;break}while(0);if(!s?(A=v+1|0,A=((A|0)%3|0|0)==0?v+-2|0:A,(A|0)>=0):0)n=k[(k[f>>2]|0)+(((A|0)/3|0)*12|0)+(((A|0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[f>>2]|0)+(((p|0)<0?-1073741824:(p|0)/3|0)*12|0)+(((p|0)%3|0)<<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){io(m,j-h|0);e=k[m>>2]|0;break}if(j>>>0>>0?(Y=e+(j<<2)|0,(f|0)!=(Y|0)):0)k[g>>2]=f+(~((f+-4-Y|0)>>>2)<<2)}while(0);k[e+(n<<2)>>2]=p}k[(k[wa>>2]|0)+-4>>2]=c;e=w;break}case 1:{c=k[wa>>2]|0;g=k[c+-4>>2]|0;p=c+-4|0;k[wa>>2]=p;j=k[S>>2]|0;d: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[va>>2]|0)+(n<<2)>>2]|0;if(f){if(h)do{f=k[f>>2]|0;if(!f){c=p;break d}if((k[f+4>>2]&m|0)!=(n|0)){c=p;break d}}while((k[f+8>>2]|0)!=(y|0));else do{f=k[f>>2]|0;if(!f){c=p;break d}if((((k[f+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(n|0)){c=p;break d}}while((k[f+8>>2]|0)!=(y|0));f=f+12|0;if((p|0)==(k[U>>2]|0)){Cd(ua,f);c=k[wa>>2]|0;break}else{k[p>>2]=k[f>>2];k[wa>>2]=c;break}}else c=p}else c=p;while(0);s=k[c+-4>>2]|0;c=y*3|0;u=c+2|0;m=k[M>>2]|0;ia=k[m+12>>2]|0;k[ia+(s<<2)>>2]=u;k[ia+(u<<2)>>2]=s;t=c+1|0;k[ia+(g<<2)>>2]=t;k[ia+(t<<2)>>2]=g;if((s|0)>=0){f=(((s|0)%3|0|0)==0?2:-1)+s|0;if((f|0)>=0){ia=k[m>>2]|0;h=k[ia+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;k[ia+(y*12|0)+(((c|0)%3|0)<<2)>>2]=h;if((h|0)>-1){q=m+24|0;m=m+28|0;j=k[m>>2]|0;f=k[q>>2]|0;n=j-f>>2;do if(n>>>0<=h>>>0){p=h+1|0;if(p>>>0>n>>>0){io(q,p-n|0);f=k[q>>2]|0;break}if(p>>>0>>0?($=f+(p<<2)|0,(j|0)!=($|0)):0)k[m>>2]=j+(~((j+-4-$|0)>>>2)<<2)}while(0);k[f+(h<<2)>>2]=c;j=1;m=k[M>>2]|0}else j=0}else{k[(k[m>>2]|0)+(y*12|0)+(((c|0)%3|0)<<2)>>2]=-1073741824;h=-1073741824;j=0}f=s+1|0;f=((f|0)%3|0|0)==0?s+-2|0:f;if((f|0)<0){s=-1073741824;v=h;f=m}else{s=k[(k[m>>2]|0)+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;v=h;f=m}}else{k[(k[m>>2]|0)+(y*12|0)+(((c|0)%3|0)<<2)>>2]=-1073741824;s=-1073741824;v=-1073741824;j=0;f=m}k[(k[f>>2]|0)+(((c|0)<-1?-1073741824:(t|0)/3|0)*12|0)+(((t|0)%3|0)<<2)>>2]=s;if((s|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<=s>>>0){p=s+1|0;if(p>>>0>n>>>0){io(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[m>>2]=h+(~((h+-4-aa|0)>>>2)<<2)}while(0);k[f+(s<<2)>>2]=t;f=k[M>>2]|0}t=(g|0)<0;if(!t?(C=(((g|0)%3|0|0)==0?2:-1)+g|0,(C|0)>=0):0)s=k[(k[f>>2]|0)+(((C|0)/3|0)*12|0)+(((C|0)%3|0)<<2)>>2]|0;else s=-1073741824;k[(k[f>>2]|0)+(((c|0)<-2?-1073741824:(u|0)/3|0)*12|0)+(((u|0)%3|0)<<2)>>2]=s;if((s|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<=s>>>0){p=s+1|0;if(p>>>0>n>>>0){io(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);k[f+(s<<2)>>2]=u}if(!t){f=g+1|0;f=((f|0)%3|0|0)==0?g+-2|0:f;if((f|0)<0){s=-1073741824;g=f}else{s=k[(k[k[M>>2]>>2]|0)+(((f|0)/3|0)*12|0)+(((f|0)%3|0)<<2)>>2]|0;g=f}}else s=-1073741824;ia=k[T>>2]|0;f=ia+(v<<2)|0;k[f>>2]=(k[f>>2]|0)+(k[ia+(s<<2)>>2]|0);f=k[M>>2]|0;e:do if((g|0)>-1){q=v+1|0;if(!j){h=k[f>>2]|0;j=f+12|0;while(1){k[h+(((g|0)/3|0)*12|0)+(((g|0)%3|0)<<2)>>2]=v;ia=g+1|0;g=((ia|0)%3|0|0)==0?g+-2|0:ia;if((g|0)<0)break e;g=k[(k[j>>2]|0)+(g<<2)>>2]|0;if((g|0)<0)break e;ia=g+1|0;g=((ia|0)%3|0|0)==0?g+-2|0:ia;if((g|0)<=-1)break e}}do{k[(k[f>>2]|0)+(((g|0)/3|0)*12|0)+(((g|0)%3|0)<<2)>>2]=v;n=f+24|0;p=f+28|0;h=k[p>>2]|0;f=k[n>>2]|0;j=h-f>>2;do if(j>>>0<=v>>>0){m=h;if(q>>>0>j>>>0){io(n,q-j|0);f=k[n>>2]|0;break}if(q>>>0>=j>>>0)break;h=f+(q<<2)|0;if((m|0)==(h|0))break;k[p>>2]=m+(~((m+-4-h|0)>>>2)<<2)}while(0);k[f+(v<<2)>>2]=g;f=g+1|0;g=((f|0)%3|0|0)==0?g+-2|0:f;f=k[M>>2]|0;if((g|0)<0)break e;g=k[(k[f+12>>2]|0)+(g<<2)>>2]|0;if((g|0)<0)break e;ia=g+1|0;g=((ia|0)%3|0|0)==0?g+-2|0:ia}while((g|0)>-1)}while(0);k[(k[f+24>>2]|0)+(s<<2)>>2]=-1073741824;k[(k[wa>>2]|0)+-4>>2]=c;ia=191;break c}case 7:{m=y*3|0;k[ma>>2]=m;f=k[M>>2]|0;n=e+1|0;c=k[f>>2]|0;k[c+(y*12|0)+(((m|0)%3|0)<<2)>>2]=e;if((e|0)>-1){j=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[j>>2]|0;h=f-c>>2;do if(h>>>0<=e>>>0){if(n>>>0>h>>>0){io(j,n-h|0);c=k[j>>2]|0;break}if(n>>>0>>0?(ca=c+(n<<2)|0,(f|0)!=(ca|0)):0)k[g>>2]=f+(~((f+-4-ca|0)>>>2)<<2)}while(0);k[c+(e<<2)>>2]=m;f=k[M>>2]|0;g=k[ma>>2]|0;c=k[f>>2]|0}else g=m;m=g+1|0;p=e+2|0;k[c+(((g|0)<-1?-1073741824:(m|0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=n;if((e|0)>-2){j=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[j>>2]|0;h=f-c>>2;do if(h>>>0<=n>>>0){if(p>>>0>h>>>0){io(j,p-h|0);c=k[j>>2]|0;break}if(p>>>0>>0?(da=c+(p<<2)|0,(f|0)!=(da|0)):0)k[g>>2]=f+(~((f+-4-da|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=m;f=k[M>>2]|0;g=k[ma>>2]|0;c=k[f>>2]|0}m=g+2|0;e=e+3|0;k[c+(((g|0)<-2?-1073741824:(m|0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=p;if((p|0)>-1){j=f+24|0;g=f+28|0;f=k[g>>2]|0;c=k[j>>2]|0;h=f-c>>2;do if(h>>>0<=p>>>0){if(e>>>0>h>>>0){io(j,e-h|0);c=k[j>>2]|0;break}if(e>>>0>>0?(ea=c+(e<<2)|0,(f|0)!=(ea|0)):0)k[g>>2]=f+(~((f+-4-ea|0)>>>2)<<2)}while(0);k[c+(p<<2)>>2]=m}c=k[wa>>2]|0;if((c|0)==(k[U>>2]|0)){Cd(ua,ma);c=k[wa>>2]|0}else{k[c>>2]=k[ma>>2];c=c+4|0;k[wa>>2]=c}c=k[c+-4>>2]|0;break}default:{e=-1;break a}}k[F>>2]=c;k[ma>>2]=k[F>>2];Jo(fa,ma);j=b-y|0;m=j+-1|0;c=k[P>>2]|0;if((c|0)!=(k[O>>2]|0))do{f=k[c+-8>>2]|0;if((f|0)>=(j|0)){e=-1;break a}if((f|0)!=(m|0))break c;g=i[c+-4>>0]|0;h=k[c+-12>>2]|0;k[P>>2]=c+-12;if((h|0)<0){e=-1;break a}c=k[(k[wa>>2]|0)+-4>>2]|0;f=(c|0)<0;do if(!(g&1)){if(!f)if(!((c|0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}else if(!f){y=c+1|0;c=((y|0)%3|0|0)==0?c+-2|0:y}while(0);k[ma>>2]=Q-h;y=jo(va,ma)|0;k[y>>2]=c;c=k[P>>2]|0}while((c|0)!=(k[O>>2]|0))}else ia=17}while(0);if((ia|0)==17){ia=0;v=k[(k[wa>>2]|0)+-4>>2]|0;w=(v|0)<0;f:do if(!w){c=v+(((v|0)%3|0|0)==0?2:-1)|0;if((c|0)<0)ia=19;else{h=k[M>>2]|0;g=k[h+12>>2]|0;while(1){f=k[g+(c<<2)>>2]|0;if((f|0)<=-1){s=0;f=h;q=c;break f}c=f+(((f|0)%3|0|0)==0?2:-1)|0;if((c|0)<0){s=1;f=h;q=c;break}}}}else{c=v;ia=19}while(0);if((ia|0)==19){ia=0;f=k[M>>2]|0;s=1;g=k[f+12>>2]|0;q=c}c=y*3|0;u=c+1|0;k[g+(v<<2)>>2]=u;k[g+(u<<2)>>2]=v;x=c+2|0;k[g+(q<<2)>>2]=x;k[g+(x<<2)>>2]=q;if(!w?(z=v+1|0,z=((z|0)%3|0|0)==0?v+-2|0:z,(z|0)>=0):0){t=k[f>>2]|0;p=k[t+(((z|0)/3|0)*12|0)+(((z|0)%3|0)<<2)>>2]|0;k[t+(y*12|0)+(((c|0)%3|0)<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){io(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(I=f+(m<<2)|0,(g|0)!=(I|0)):0)k[h>>2]=g+(~((g+-4-I|0)>>>2)<<2)}while(0);k[f+(p<<2)>>2]=c;t=p;f=k[M>>2]|0}else t=p}else{k[(k[f>>2]|0)+(y*12|0)+(((c|0)%3|0)<<2)>>2]=-1073741824;t=-1073741824}if(!s?(B=q+1|0,B=((B|0)%3|0|0)==0?q+-2|0:B,(B|0)>=0):0)p=k[(k[f>>2]|0)+(((B|0)/3|0)*12|0)+(((B|0)%3|0)<<2)>>2]|0;else p=-1073741824;k[(k[f>>2]|0)+(((c|0)<-1?-1073741824:(u|0)/3|0)*12|0)+(((u|0)%3|0)<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){io(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(N=f+(m<<2)|0,(g|0)!=(N|0)):0)k[h>>2]=g+(~((g+-4-N|0)>>>2)<<2)}while(0);k[f+(p<<2)>>2]=u;f=k[M>>2]|0}if(!w?(E=(((v|0)%3|0|0)==0?2:-1)+v|0,(E|0)>=0):0)p=k[(k[f>>2]|0)+(((E|0)/3|0)*12|0)+(((E|0)%3|0)<<2)>>2]|0;else p=-1073741824;k[(k[f>>2]|0)+(((c|0)<-2?-1073741824:(x|0)/3|0)*12|0)+(((x|0)%3|0)<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){io(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(R=f+(m<<2)|0,(g|0)!=(R|0)):0)k[h>>2]=g+(~((g+-4-R|0)>>>2)<<2)}while(0);k[f+(p<<2)>>2]=x}if((e|0)>(ha|0)){e=-1;break a}ia=(k[oa>>2]|0)+(t>>>5<<2)|0;k[ia>>2]=k[ia>>2]&~(1<<(t&31));k[(k[wa>>2]|0)+-4>>2]=c;ia=191}if((ia|0)==191){k[F>>2]=c;k[ma>>2]=k[F>>2];Jo(fa,ma)}if((d|0)<(b|0))y=d;else{ia=205;break}}}else{d=0;e=0;ia=205}while(0);do if((ia|0)==205)if((e|0)<=(ha|0)){c=k[wa>>2]|0;g:do if((c|0)!=(k[ua>>2]|0)){u=a+316|0;v=a+8|0;w=a+64|0;x=a+68|0;y=a+72|0;z=a+80|0;A=a+84|0;B=a+76|0;C=a+312|0;D=a+304|0;E=a+308|0;t=d;h:while(1){ha=c;n=k[ha+-4>>2]|0;k[ma>>2]=n;k[wa>>2]=ha+-4;do if(i[u>>0]|0){c=k[C>>2]|0;d=(k[D>>2]|0)+(c>>>3)|0;if(d>>>0<(k[E>>2]|0)>>>0?(ha=l[d>>0]|0,k[C>>2]=c+1,ha&1<<(c&7)|0):0){ia=212;break}c=k[x>>2]|0;d=k[y>>2]|0;if((c|0)==(d<<5|0)){if((c+1|0)<0){ia=270;break h}if(d<<5>>>0>1073741822)c=2147483647;else{ha=d<<6;c=c+32&-32;c=ha>>>0>>0?c:ha}Dd(w,c);c=k[x>>2]|0}k[x>>2]=c+1;ha=(k[w>>2]|0)+(c>>>5<<2)|0;k[ha>>2]=k[ha>>2]&~(1<<(c&31));c=k[z>>2]|0;if((c|0)==(k[A>>2]|0)){Cd(B,ma);d=t;break}else{k[c>>2]=n;k[z>>2]=c+4;d=t;break}}else ia=212;while(0);if((ia|0)==212){ia=0;g=(n|0)<0;i:do if(!g){c=n+(((n|0)%3|0|0)==0?2:-1)|0;if((c|0)>=0){d=k[(k[v>>2]|0)+12>>2]|0;f=c;while(1){c=k[d+(f<<2)>>2]|0;if((c|0)<=-1){d=0;c=f;break}c=c+(((c|0)%3|0|0)==0?2:-1)|0;if((c|0)<0){d=1;break}else f=c}if(g){f=n;ia=219;break}}else d=1;f=n+1|0;f=((f|0)%3|0|0)==0?n+-2|0:f;if((f|0)<0)ia=219;else{g=k[v>>2]|0;h=k[g+12>>2]|0;j=f;while(1){f=k[h+(j<<2)>>2]|0;if((f|0)<=-1){m=d;s=0;q=j;break i}ha=f+1|0;f=((ha|0)%3|0|0)==0?f+-2|0:ha;if((f|0)<0){m=d;s=1;q=f;break}else j=f}}}else{d=1;c=n;f=n;ia=219}while(0);if((ia|0)==219){ia=0;g=k[v>>2]|0;m=d;s=1;h=k[g+12>>2]|0;q=f}d=t+1|0;f=t*3|0;k[ra>>2]=f;k[h+(f<<2)>>2]=n;k[h+(n<<2)>>2]=f;ha=f+1|0;k[h+(ha<<2)>>2]=c;k[h+(c<<2)>>2]=ha;ha=f+2|0;k[h+(ha<<2)>>2]=q;k[h+(q<<2)>>2]=ha;if(!m?(la=c+1|0,la=((la|0)%3|0|0)==0?c+-2|0:la,(la|0)>=0):0)p=k[(k[g>>2]|0)+(((la|0)/3|0)*12|0)+(((la|0)%3|0)<<2)>>2]|0;else p=-1073741824;k[(k[g>>2]|0)+(((t|0)<0?-1073741824:t)*12|0)+(((f|0)%3|0)<<2)>>2]=p;if((p|0)>-1){n=g+24|0;h=g+28|0;g=k[h>>2]|0;c=k[n>>2]|0;j=g-c>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){io(n,m-j|0);c=k[n>>2]|0;break}if(m>>>0>>0?(pa=c+(m<<2)|0,(g|0)!=(pa|0)):0)k[h>>2]=g+(~((g+-4-pa|0)>>>2)<<2)}while(0);k[c+(p<<2)>>2]=f;f=k[ra>>2]|0;g=k[v>>2]|0}p=f+1|0;if(!s?(ka=q+1|0,ka=((ka|0)%3|0|0)==0?q+-2|0:ka,(ka|0)>=0):0)n=k[(k[g>>2]|0)+(((ka|0)/3|0)*12|0)+(((ka|0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[g>>2]|0)+(((f|0)<-1?-1073741824:(p|0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=g+24|0;g=g+28|0;f=k[g>>2]|0;c=k[m>>2]|0;h=f-c>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){io(m,j-h|0);c=k[m>>2]|0;break}if(j>>>0>>0?(qa=c+(j<<2)|0,(f|0)!=(qa|0)):0)k[g>>2]=f+(~((f+-4-qa|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=p;f=k[ra>>2]|0;g=k[v>>2]|0}q=f+2|0;c=k[ma>>2]|0;if((c|0)>=0?(ja=c+1|0,ja=((ja|0)%3|0|0)==0?c+-2|0:ja,(ja|0)>=0):0)p=k[(k[g>>2]|0)+(((ja|0)/3|0)*12|0)+(((ja|0)%3|0)<<2)>>2]|0;else p=-1073741824;k[(k[g>>2]|0)+(((f|0)<-2?-1073741824:(q|0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]=p;if((p|0)>-1){m=g+24|0;n=g+28|0;f=k[n>>2]|0;c=k[m>>2]|0;g=f-c>>2;do if(g>>>0<=p>>>0){h=p+1|0;j=f;if(h>>>0>g>>>0){io(m,h-g|0);c=k[m>>2]|0;break}if(h>>>0>>0){f=c+(h<<2)|0;if((j|0)==(f|0))break;k[n>>2]=j+(~((j+-4-f|0)>>>2)<<2)}}while(0);k[c+(p<<2)>>2]=q;g=k[ra>>2]|0}else g=f;if((g|0)<0)c=-1073741824;else c=k[(k[k[v>>2]>>2]|0)+(((g|0)/3|0)*12|0)+(((g|0)%3|0)<<2)>>2]|0;f=k[oa>>2]|0;ha=f+(c>>>5<<2)|0;k[ha>>2]=k[ha>>2]&~(1<<(c&31));c=g+1|0;if((g|0)<-1)c=-1073741824;else c=k[(k[k[v>>2]>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;ha=f+(c>>>5<<2)|0;k[ha>>2]=k[ha>>2]&~(1<<(c&31));c=g+2|0;if((g|0)<-2)c=-1073741824;else c=k[(k[k[v>>2]>>2]|0)+(((c|0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]|0;f=f+(c>>>5<<2)|0;k[f>>2]=k[f>>2]&~(1<<(c&31));c=k[x>>2]|0;f=k[y>>2]|0;if((c|0)==(f<<5|0)){if((c+1|0)<0){ia=258;break}if(f<<5>>>0>1073741822)c=2147483647;else{ha=f<<6;c=c+32&-32;c=ha>>>0>>0?c:ha}Dd(w,c);c=k[x>>2]|0}k[x>>2]=c+1;ha=(k[w>>2]|0)+(c>>>5<<2)|0;k[ha>>2]=k[ha>>2]|1<<(c&31);c=k[z>>2]|0;if((c|0)==(k[A>>2]|0))Cd(B,ra);else{k[c>>2]=g;k[z>>2]=c+4}}c=k[wa>>2]|0;if((c|0)==(k[ua>>2]|0)){na=v;sa=d;break g}else t=d}if((ia|0)==258)zp(w);else if((ia|0)==270)zp(w)}else{na=a+8|0;sa=d}while(0);ra=k[na>>2]|0;if((sa|0)==(((k[ra+4>>2]|0)-(k[ra>>2]|0)|0)/12|0|0)){h=a+88|0;c=a+92|0;g=k[c>>2]|0;d=k[h>>2]|0;f=g-d>>2;if(e>>>0>f>>>0){no(h,e-f|0);break}if(e>>>0>>0?(ta=d+(e<<2)|0,(g|0)!=(ta|0)):0)k[c>>2]=g+(~((g+-4-ta|0)>>>2)<<2)}else e=-1}else e=-1;while(0);c=k[va+8>>2]|0;if(c|0)do{ta=c;c=k[c>>2]|0;Jp(ta)}while((c|0)!=0);c=k[va>>2]|0;k[va>>2]=0;if(c|0)Jp(c);c=k[ua>>2]|0;if(!c){r=xa;return e|0}d=k[wa>>2]|0;if((d|0)!=(c|0))k[wa>>2]=d+(~((d+-4-c|0)>>>2)<<2);Jp(c);r=xa;return e|0}function Jo(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+92|0;h=k[b>>2]|0;i=(h|0)<0;do if(!i){b=h+1|0;b=((b|0)%3|0|0)==0?h+-2|0:b;if(!((h|0)%3|0)){e=h+2|0;d=b;break}else{e=h+-1|0;d=b;break}}else{e=h;d=h}while(0);f=a+128|0;b=k[f>>2]|0;switch(b|0){case 1:case 0:{if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+1;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+1;c=32;break}case 5:{if(i)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((h|0)/3|0)*12|0)+(((h|0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;b=c+(b<<2)|0;k[b>>2]=(k[b>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+1;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+2;c=32;break}case 3:{if(i)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((h|0)/3|0)*12|0)+(((h|0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;b=c+(b<<2)|0;k[b>>2]=(k[b>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+2;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+1;c=32;break}case 7:{if(i)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((h|0)/3|0)*12|0)+(((h|0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;b=c+(b<<2)|0;k[b>>2]=(k[b>>2]|0)+2;if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d|0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+2;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+2;c=32;break}default:{}}if((c|0)==32)b=k[f>>2]|0;switch(b|0){case 5:case 0:break;default:{k[a+132>>2]=-1;return}}b=k[g>>2]|0;if(!i?(j=h+1|0,j=((j|0)%3|0|0)==0?h+-2|0:j,(j|0)>=0):0)b=k[(k[b>>2]|0)+(((j|0)/3|0)*12|0)+(((j|0)%3|0)<<2)>>2]|0;else b=-1073741824;k[a+132>>2]=(k[(k[a+100>>2]|0)+(b<<2)>>2]|0)<6?5:0;return}function Ko(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+32|0;s=u+8|0;n=u+4|0;o=u;c=k[b>>2]|0;k[s>>2]=c;m=a+8|0;do if((c|0)>=0){l=c+1|0;k[s+4>>2]=((l|0)%3|0|0)==0?c+-2|0:l;if(!((c|0)%3|0)){b=c+2|0;break}else{b=c+-1|0;break}}else{k[s+4>>2]=c;b=c}while(0);k[s+8>>2]=b;j=a+228|0;l=a+232|0;i=a+320|0;b=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)){f=0;do{do if(ud((k[i>>2]|0)+(f<<4)|0)|0){a=k[j>>2]|0;k[o>>2]=c;d=a+(f*116|0)+108|0;e=k[d>>2]|0;if(e>>>0<(k[a+(f*116|0)+112>>2]|0)>>>0){k[e>>2]=c;k[d>>2]=e+4;break}else{Ee(a+(f*116|0)+104|0,o);break}}while(0);f=f+1|0}while(f>>>0<(((k[l>>2]|0)-(k[j>>2]|0)|0)/116|0)>>>0)}}else t=11;if((t|0)==11?(t=0,p=k[l>>2]|0,q=k[j>>2]|0,(p|0)!=(q|0)):0){a=q;d=p;h=0;do{e=a;k[n>>2]=c;f=e+(h*116|0)+108|0;g=k[f>>2]|0;if(g>>>0<(k[e+(h*116|0)+112>>2]|0)>>>0){k[g>>2]=c;k[f>>2]=g+4}else{Ee(e+(h*116|0)+104|0,n);a=k[j>>2]|0;d=k[l>>2]|0}h=h+1|0}while(h>>>0<((d-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;c=k[s+(b<<2)>>2]|0}r=u;return 1}function Lo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=r;r=r+64|0;G=J+44|0;K=J+28|0;I=J+12|0;t=J+40|0;A=J+24|0;D=J;H=a+4|0;e=k[(k[H>>2]|0)+24>>2]|0;F=a+8|0;b=k[F>>2]|0;b=((k[b+4>>2]|0)-(k[b>>2]|0)|0)/12|0;c=e+80|0;e=e+84|0;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;h=k[e>>2]|0;g=k[c>>2]|0;f=(h-g|0)/12|0;if(b>>>0<=f>>>0){if(b>>>0>>0?(i=g+(b*12|0)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~(((h+-12-i|0)>>>0)/12|0)*12|0)}else qo(c,b-f|0,G);y=a+228|0;z=a+232|0;if((k[z>>2]|0)==(k[y>>2]|0)){b=k[F>>2]|0;b=(k[b+28>>2]|0)-(k[b+24>>2]|0)|0;c=b>>2;k[K>>2]=0;p=K+4|0;k[p>>2]=0;k[K+8>>2]=0;do if(c)if(c>>>0>1073741823)zp(K);else{d=aq(b)|0;k[K>>2]=d;E=d+(c<<2)|0;k[K+8>>2]=E;iq(d|0,-1,b|0)|0;k[p>>2]=E;break}else d=0;while(0);e=k[H>>2]|0;b=k[e+24>>2]|0;f=k[b+84>>2]|0;c=k[b+80>>2]|0;if((f-c|0)>0){n=I+4|0;o=I+8|0;j=b;d=c;c=e;l=e;m=0;b=0;while(1){k[I>>2]=0;k[I+4>>2]=0;k[I+8>>2]=0;h=m*3|0;if((m|0)<0)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(m*12|0)+(((h|0)%3|0)<<2)>>2]|0;i=k[K>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;a=b;b=b+1|0}else a=g;k[I>>2]=a;e=h+1|0;if((h|0)<-1)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;g=b;b=b+1|0}k[n>>2]=g;e=h+2|0;if((h|0)<-2)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(((e|0)/3|0)*12|0)+(((e|0)%3|0)<<2)>>2]|0;e=i+(e<<2)|0;g=k[e>>2]|0;if((g|0)==-1){k[e>>2]=b;g=b;b=b+1|0}k[o>>2]=g;h=j+80|0;g=j+84|0;e=(f-d|0)/12|0;i=m;m=m+1|0;do if((i|0)>=(e|0)){k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;if(m>>>0>e>>>0){qo(h,m-e|0,G);c=k[H>>2]|0;d=k[h>>2]|0;e=c;break}if(m>>>0>>0?(q=d+(m*12|0)|0,(f|0)!=(q|0)):0){k[g>>2]=f+(~(((f+-12-q|0)>>>0)/12|0)*12|0);e=l}else e=l}else e=l;while(0);k[d+(i*12|0)>>2]=a;k[d+(i*12|0)+4>>2]=k[n>>2];k[d+(i*12|0)+8>>2]=k[o>>2];j=k[e+24>>2]|0;f=k[j+84>>2]|0;d=k[j+80>>2]|0;if((m|0)>=((f-d|0)/12|0|0))break;else l=e}d=k[K>>2]|0}else{c=e;b=0}k[(k[c+4>>2]|0)+64>>2]=b;b=d;if(d|0){c=k[p>>2]|0;if((c|0)!=(d|0))k[p>>2]=c+(~((c+-4-b|0)>>>2)<<2);Jp(d)}r=J;return 1}k[K>>2]=0;E=K+4|0;k[E>>2]=0;k[K+8>>2]=0;b=k[F>>2]|0;q=k[b+4>>2]|0;s=k[b>>2]|0;c=q-s|0;d=((c|0)/12|0)*3|0;k[I>>2]=0;B=I+4|0;k[B>>2]=0;k[I+8>>2]=0;do if((q|0)!=(s|0))if(d>>>0>1073741823)zp(I);else{s=aq(c)|0;k[I>>2]=s;j=s+(d<<2)|0;k[I+8>>2]=j;iq(s|0,0,c|0)|0;k[B>>2]=j;j=k[F>>2]|0;break}else j=b;while(0);a:do if(((k[j+28>>2]|0)-(k[j+24>>2]|0)|0)>0){q=a+136|0;s=K+8|0;p=0;b:while(1){f=k[(k[j+24>>2]|0)+(p<<2)>>2]|0;if((f|0)>=0){c:do if((k[(k[q>>2]|0)+(p>>>5<<2)>>2]&1<<(p&31)|0)==0?(u=k[z>>2]|0,v=k[y>>2]|0,w=v,(u|0)!=(v|0)):0){g=(f|0)/3|0;h=(f|0)%3|0;e=((h|0)==0?2:-1)+f|0;i=(e|0)<0;a=(u-v|0)/116|0;l=j+12|0;m=j+12|0;o=0;d:while(1){n=k[(k[k[w+(o*116|0)+68>>2]>>2]|0)+(g*12|0)+(h<<2)>>2]|0;if(1<<(n&31)&k[(k[w+(o*116|0)+16>>2]|0)+(n>>>5<<2)>>2]|0){n=k[w+(o*116|0)+32>>2]|0;d=k[n+(f<<2)>>2]|0;do if(!i){c=k[(k[l>>2]|0)+(e<<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=e;while(0);if((c|0)!=(f|0))do{b=k[n+(c<<2)>>2]|0;if((c|0)<0)break d;if((b|0)!=(d|0))break c;c=(((c|0)%3|0|0)==0?2:-1)+c|0;do if((c|0)>=0){c=k[(k[m>>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)}while((c|0)!=(f|0))}o=o+1|0;if(o>>>0>=a>>>0){c=f;break c}}while(1)if((b|0)==(d|0))b=d;else break}else c=f;while(0);b=k[E>>2]|0;k[(k[I>>2]|0)+(c<<2)>>2]=b-(k[K>>2]|0)>>2;k[t>>2]=c;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=c;k[E>>2]=b+4;b=j}else{Ee(K,t);b=k[F>>2]|0}do if((c|0)>=0){f=(((c|0)%3|0|0)==0?2:-1)+c|0;if((f|0)>=0){f=k[(k[b+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=c;while(0);if((f|0)>-1&(f|0)!=(c|0)){b=c;while(1){if((f|0)<0)break b;d=k[z>>2]|0;e=k[y>>2]|0;g=e;e:do if((d|0)!=(e|0)){d=(d-e|0)/116|0;e=0;while(1){o=k[g+(e*116|0)+32>>2]|0;e=e+1|0;if((k[o+(f<<2)>>2]|0)!=(k[o+(b<<2)>>2]|0))break;if(e>>>0>=d>>>0){x=87;break e}}b=k[E>>2]|0;k[(k[I>>2]|0)+(f<<2)>>2]=b-(k[K>>2]|0)>>2;k[A>>2]=f;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=f;k[E>>2]=b+4;break}else{Ee(K,A);break}}else x=87;while(0);if((x|0)==87){x=0;o=k[I>>2]|0;k[o+(f<<2)>>2]=k[o+(b<<2)>>2]}b=(((f|0)%3|0|0)==0?2:-1)+f|0;do if((b|0)>=0){b=k[(k[(k[F>>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}}while(0);if((b|0)>-1&(b|0)!=(c|0)){o=f;f=b;b=o}else break}}}p=p+1|0;j=k[F>>2]|0;if((p|0)>=((k[j+28>>2]|0)-(k[j+24>>2]|0)>>2|0))break a}f:while(1){c=k[z>>2]|0;d=k[y>>2]|0;e=d;g:do if((c|0)!=(d|0)){c=(c-d|0)/116|0;d=0;while(1){J=k[e+(d*116|0)+32>>2]|0;d=d+1|0;if((k[J+(f<<2)>>2]|0)!=(k[J+(b<<2)>>2]|0))break;if(d>>>0>=c>>>0)break g}b=k[E>>2]|0;k[(k[I>>2]|0)+(f<<2)>>2]=b-(k[K>>2]|0)>>2;k[A>>2]=f;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=f;k[E>>2]=b+4;b=f;continue f}else{Ee(K,A);b=f;continue f}}while(0);J=k[I>>2]|0;k[J+(f<<2)>>2]=k[J+(b<<2)>>2];b=f}}while(0);c=k[H>>2]|0;b=k[c+24>>2]|0;e=k[b+84>>2]|0;d=k[b+80>>2]|0;if((e-d|0)>0){j=D+4|0;l=D+8|0;i=c;f=c;a=0;while(1){k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;g=(k[I>>2]|0)+(a*3<<2)|0;k[D>>2]=k[g>>2];k[D+4>>2]=k[g+4>>2];k[D+8>>2]=k[g+8>>2];g=b+80|0;b=b+84|0;c=(e-d|0)/12|0;h=a;a=a+1|0;do if((h|0)>=(c|0)){k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;if(a>>>0>c>>>0){qo(g,a-c|0,G);c=k[H>>2]|0;d=k[g>>2]|0;f=c;break}if(a>>>0>>0?(C=d+(a*12|0)|0,(e|0)!=(C|0)):0){k[b>>2]=e+(~(((e+-12-C|0)>>>0)/12|0)*12|0);c=i}else c=i}else c=i;while(0);k[d+(h*12|0)>>2]=k[D>>2];k[d+(h*12|0)+4>>2]=k[j>>2];k[d+(h*12|0)+8>>2]=k[l>>2];b=k[f+24>>2]|0;e=k[b+84>>2]|0;d=k[b+80>>2]|0;if((a|0)>=((e-d|0)/12|0|0))break;else i=c}}b=k[K>>2]|0;k[(k[c+4>>2]|0)+64>>2]=(k[E>>2]|0)-b>>2;c=k[I>>2]|0;d=c;if(c){b=k[B>>2]|0;if((b|0)!=(c|0))k[B>>2]=b+(~((b+-4-d|0)>>>2)<<2);Jp(c);b=k[K>>2]|0}c=b;if(b|0){d=k[E>>2]|0;if((d|0)!=(b|0))k[E>>2]=d+(~((d+-4-c|0)>>>2)<<2);Jp(b)}r=J;return 1}function Mo(a){a=a|0;return 1}function No(a){a=a|0;return k[a+4>>2]|0}function Oo(a){a=a|0;return k[a+8>>2]|0}function Po(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4532;b=a+100|0;c=a+4|0;d=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[b>>2]=-1;k[a+104>>2]=-1;k[a+108>>2]=-1;b=a+168|0;c=a+112|0;d=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));o[b>>2]=1.0;b=a+240|0;c=a+172|0;d=c+68|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Pg(b);Pg(a+280|0);k[a+320>>2]=0;k[a+324>>2]=0;k[a+328>>2]=0;return}function Qo(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4672;b=a+100|0;c=a+4|0;d=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[b>>2]=-1;k[a+104>>2]=-1;k[a+108>>2]=-1;b=a+168|0;c=a+112|0;d=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));o[b>>2]=1.0;b=a+240|0;c=a+172|0;d=c+68|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Ro(b);return}function Ro(a){a=a|0;var b=0;Pg(a);Pg(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;rd(a+112|0);k[a+128>>2]=-1;k[a+132>>2]=-1;return}function So(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;o=q+40|0;p=q;c=p;b=c+40|0;do{k[c>>2]=k[a>>2];c=c+4|0;a=a+4|0}while((c|0)<(b|0));i[o>>0]=0;i[o+1>>0]=0;i[o+2>>0]=0;i[o+3>>0]=0;i[o+4>>0]=0;i[o+5>>0]=0;f=p+8|0;e=k[f>>2]|0;f=k[f+4>>2]|0;g=p+16|0;b=g;a=k[b>>2]|0;b=k[b+4>>2]|0;c=kq(a|0,b|0,5,0)|0;d=L;if(((((!((f|0)<(d|0)|(f|0)==(d|0)&e>>>0>>0)?(h=k[p>>2]|0,s=h+a|0,i[o>>0]=i[s>>0]|0,i[o+1>>0]=i[s+1>>0]|0,i[o+2>>0]=i[s+2>>0]|0,i[o+3>>0]=i[s+3>>0]|0,i[o+4>>0]=i[s+4>>0]|0,s=g,k[s>>2]=c,k[s+4>>2]=d,((f|0)>(d|0)|(f|0)==(d|0)&e>>>0>c>>>0)&(qp(o,11245)|0)==0):0)?(s=kq(a|0,b|0,6,0)|0,o=L,d=g,k[d>>2]=s,k[d+4>>2]=o,(f|0)>(o|0)|(f|0)==(o|0)&e>>>0>s>>>0):0)?(j=kq(a|0,b|0,7,0)|0,s=L,o=g,k[o>>2]=j,k[o+4>>2]=s,(f|0)>(s|0)|(f|0)==(s|0)&e>>>0>j>>>0):0)?(l=i[h+j>>0]|0,s=kq(a|0,b|0,8,0)|0,o=L,j=g,k[j>>2]=s,k[j+4>>2]=o,(f|0)>(o|0)|(f|0)==(o|0)&e>>>0>s>>>0):0)?(n=kq(a|0,b|0,9,0)|0,m=g,k[m>>2]=n,k[m+4>>2]=L,m=kq(a|0,b|0,11,0)|0,n=L,!((f|0)<(n|0)|(f|0)==(n|0)&e>>>0>>0)):0){s=g;k[s>>2]=m;k[s+4>>2]=n;s=l&255;p=p+24|0;Og(p);r=q;return s|0}s=-1;p=p+24|0;Og(p);r=q;return s|0}function To(a){a=a|0;switch(a<<24>>24){case 0:{a=aq(24)|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;fh(a);k[a>>2]=4272;return a|0}case 1:{a=aq(24)|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;fh(a);k[a>>2]=4340;return a|0}default:{a=0;return a|0}}return 0} -function Uo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+16|0;s=t;i[s>>0]=0;i[s+1>>0]=0;i[s+2>>0]=0;i[s+3>>0]=0;i[s+4>>0]=0;i[s+5>>0]=0;m=a+8|0;g=k[m>>2]|0;m=k[m+4>>2]|0;n=a+16|0;c=n;b=k[c>>2]|0;c=k[c+4>>2]|0;d=kq(b|0,c|0,5,0)|0;e=L;if(((((!((m|0)<(e|0)|(m|0)==(e|0)&g>>>0>>0)?(f=k[a>>2]|0,u=f+b|0,i[s>>0]=i[u>>0]|0,i[s+1>>0]=i[u+1>>0]|0,i[s+2>>0]=i[u+2>>0]|0,i[s+3>>0]=i[u+3>>0]|0,i[s+4>>0]=i[u+4>>0]|0,u=n,k[u>>2]=d,k[u+4>>2]=e,((m|0)>(e|0)|(m|0)==(e|0)&g>>>0>d>>>0)&(qp(s,11245)|0)==0):0)?(u=kq(b|0,c|0,6,0)|0,s=L,e=n,k[e>>2]=u,k[e+4>>2]=s,(m|0)>(s|0)|(m|0)==(s|0)&g>>>0>u>>>0):0)?(h=kq(b|0,c|0,7,0)|0,u=L,s=n,k[s>>2]=h,k[s+4>>2]=u,(m|0)>(u|0)|(m|0)==(u|0)&g>>>0>h>>>0):0)?(j=i[f+h>>0]|0,l=kq(b|0,c|0,8,0)|0,u=L,s=n,k[s>>2]=l,k[s+4>>2]=u,(m|0)>(u|0)|(m|0)==(u|0)&g>>>0>l>>>0):0)?(o=i[f+l>>0]|0,q=kq(b|0,c|0,9,0)|0,p=n,k[p>>2]=q,k[p+4>>2]=L,p=kq(b|0,c|0,11,0)|0,q=L,!((m|0)<(q|0)|(m|0)==(q|0)&g>>>0

>>0)):0){u=n;k[u>>2]=p;k[u+4>>2]=q;switch(j&255|0){case 0:{d=To(o)|0;if(!d){u=0;r=t;return u|0}e=aq(68)|0;sg(e);b=gh(d,a,e)|0;c=b?0:e;if(!b)ab[k[(k[c>>2]|0)+4>>2]&127](c);ab[k[(k[d>>2]|0)+4>>2]&127](d);u=b?e:0;r=t;return u|0}case 1:{switch(o<<24>>24){case 0:{d=aq(28)|0;gn(d);break}case 1:{d=aq(32)|0;rn(d);break}default:{u=0;r=t;return u|0}}e=aq(92)|0;Ag(e);b=oh(d,a,e)|0;c=b?0:e;if(!b)ab[k[(k[c>>2]|0)+4>>2]&127](c);ab[k[(k[d>>2]|0)+4>>2]&127](d);u=b?e:0;r=t;return u|0}default:{u=0;r=t;return u|0}}}u=0;r=t;return u|0}function Vo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+16|0;s=t;i[s>>0]=0;i[s+1>>0]=0;i[s+2>>0]=0;i[s+3>>0]=0;i[s+4>>0]=0;i[s+5>>0]=0;m=a+8|0;g=k[m>>2]|0;m=k[m+4>>2]|0;n=a+16|0;c=n;b=k[c>>2]|0;c=k[c+4>>2]|0;d=kq(b|0,c|0,5,0)|0;e=L;if(((((!((m|0)<(e|0)|(m|0)==(e|0)&g>>>0>>0)?(f=k[a>>2]|0,u=f+b|0,i[s>>0]=i[u>>0]|0,i[s+1>>0]=i[u+1>>0]|0,i[s+2>>0]=i[u+2>>0]|0,i[s+3>>0]=i[u+3>>0]|0,i[s+4>>0]=i[u+4>>0]|0,u=n,k[u>>2]=d,k[u+4>>2]=e,((m|0)>(e|0)|(m|0)==(e|0)&g>>>0>d>>>0)&(qp(s,11245)|0)==0):0)?(u=kq(b|0,c|0,6,0)|0,s=L,e=n,k[e>>2]=u,k[e+4>>2]=s,(m|0)>(s|0)|(m|0)==(s|0)&g>>>0>u>>>0):0)?(h=kq(b|0,c|0,7,0)|0,u=L,s=n,k[s>>2]=h,k[s+4>>2]=u,(m|0)>(u|0)|(m|0)==(u|0)&g>>>0>h>>>0):0)?(j=i[f+h>>0]|0,l=kq(b|0,c|0,8,0)|0,u=L,s=n,k[s>>2]=l,k[s+4>>2]=u,(m|0)>(u|0)|(m|0)==(u|0)&g>>>0>l>>>0):0)?(o=i[f+l>>0]|0,q=kq(b|0,c|0,9,0)|0,p=n,k[p>>2]=q,k[p+4>>2]=L,p=kq(b|0,c|0,11,0)|0,q=L,!((m|0)<(q|0)|(m|0)==(q|0)&g>>>0

>>0)):0){u=n;k[u>>2]=p;k[u+4>>2]=q;if(j<<24>>24!=1){u=0;r=t;return u|0}switch(o<<24>>24){case 0:{d=aq(28)|0;gn(d);break}case 1:{d=aq(32)|0;rn(d);break}default:{u=0;r=t;return u|0}}e=aq(92)|0;Ag(e);b=oh(d,a,e)|0;c=b?0:e;if(!b)ab[k[(k[c>>2]|0)+4>>2]&127](c);ab[k[(k[d>>2]|0)+4>>2]&127](d);u=b?e:0;r=t;return u|0}u=0;r=t;return u|0}function Wo(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=k[a+60>>2];a=Xo(Sa(6,c|0)|0)|0;r=b;return a|0}function Xo(a){a=a|0;var b=0;if(a>>>0>4294963200){b=Yo()|0;k[b>>2]=0-a;a=-1}return a|0}function Yo(){var a=0;if(!(k[3608]|0))a=14476;else{a=(La()|0)+64|0;a=k[a>>2]|0}return a|0}function Zo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;m=p+16|0;l=p;d=p+32|0;n=a+28|0;e=k[n>>2]|0;k[d>>2]=e;o=a+20|0;e=(k[o>>2]|0)-e|0;k[d+4>>2]=e;k[d+8>>2]=b;k[d+12>>2]=c;i=a+60|0;j=a+44|0;b=2;e=e+c|0;while(1){if(!(k[3608]|0)){k[m>>2]=k[i>>2];k[m+4>>2]=d;k[m+8>>2]=b;g=Xo(Xa(146,m|0)|0)|0}else{Ta(70,a|0);k[l>>2]=k[i>>2];k[l+4>>2]=d;k[l+8>>2]=b;g=Xo(Xa(146,l|0)|0)|0;wa(0)}if((e|0)==(g|0)){e=6;break}if((g|0)<0){e=8;break}e=e-g|0;f=k[d+4>>2]|0;if(g>>>0<=f>>>0)if((b|0)==2){k[n>>2]=(k[n>>2]|0)+g;h=f;b=2}else h=f;else{h=k[j>>2]|0;k[n>>2]=h;k[o>>2]=h;h=k[d+12>>2]|0;g=g-f|0;d=d+8|0;b=b+-1|0}k[d>>2]=(k[d>>2]|0)+g;k[d+4>>2]=h-g}if((e|0)==6){m=k[j>>2]|0;k[a+16>>2]=m+(k[a+48>>2]|0);a=m;k[n>>2]=a;k[o>>2]=a}else if((e|0)==8){k[a+16>>2]=0;k[n>>2]=0;k[o>>2]=0;k[a>>2]=k[a>>2]|32;if((b|0)==2)c=0;else c=c-(k[d+4>>2]|0)|0}r=p;return c|0}function _o(a){a=a|0;if(!(k[a+68>>2]|0))$o(a);return}function $o(a){a=a|0;return}function ap(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+32|0;f=e;d=e+20|0;k[f>>2]=k[a+60>>2];k[f+4>>2]=0;k[f+8>>2]=b;k[f+12>>2]=d;k[f+16>>2]=c;if((Xo(Va(140,f|0)|0)|0)<0){k[d>>2]=-1;a=-1}else a=k[d>>2]|0;r=e;return a|0}function bp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+80|0;d=e;k[a+36>>2]=14;if((k[a>>2]&64|0)==0?(k[d>>2]=k[a+60>>2],k[d+4>>2]=21505,k[d+8>>2]=e+12,Na(54,d|0)|0):0)i[a+75>>0]=-1;d=Zo(a,b,c)|0;r=e;return d|0}function cp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+224|0;n=s+120|0;q=s+80|0;p=s;o=s+136|0;d=q;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));k[n>>2]=k[c>>2];if((dp(0,b,n,p,q)|0)<0)c=-1;else{if((k[a+76>>2]|0)>-1)l=pp(a)|0;else l=0;c=k[a>>2]|0;m=c&32;if((i[a+74>>0]|0)<1)k[a>>2]=c&-33;c=a+48|0;if(!(k[c>>2]|0)){e=a+44|0;f=k[e>>2]|0;k[e>>2]=o;g=a+28|0;k[g>>2]=o;h=a+20|0;k[h>>2]=o;k[c>>2]=80;j=a+16|0;k[j>>2]=o+80;d=dp(a,b,n,p,q)|0;if(f){_a[k[a+36>>2]&31](a,0,0)|0;d=(k[h>>2]|0)==0?-1:d;k[e>>2]=f;k[c>>2]=0;k[j>>2]=0;k[g>>2]=0;k[h>>2]=0}}else d=dp(a,b,n,p,q)|0;c=k[a>>2]|0;k[a>>2]=c|m;if(l|0)$o(a);c=(c&32|0)==0?d:-1}r=s;return c|0}function dp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0.0,o=0,q=0,s=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=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,ia=0;ia=r;r=r+624|0;ca=ia+24|0;ea=ia+16|0;da=ia+588|0;$=ia+576|0;ba=ia;W=ia+536|0;ga=ia+8|0;fa=ia+528|0;M=(a|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ga+4|0;Y=da;Z=0-Y|0;_=$+12|0;$=$+11|0;aa=_;O=aa-Y|0;P=-2-Y|0;Q=aa+2|0;R=ca+288|0;S=da+9|0;T=S;U=da+8|0;f=0;h=0;g=0;y=b;a:while(1){do if((f|0)>-1)if((h|0)>(2147483647-f|0)){f=Yo()|0;k[f>>2]=75;f=-1;break}else{f=h+f|0;break}while(0);b=i[y>>0]|0;if(!(b<<24>>24)){K=244;break}else h=y;b:while(1){switch(b<<24>>24){case 37:{b=h;K=9;break b}case 0:{b=h;break b}default:{}}J=h+1|0;b=i[J>>0]|0;h=J}c:do if((K|0)==9)while(1){K=0;if((i[b+1>>0]|0)!=37)break c;h=h+1|0;b=b+2|0;if((i[b>>0]|0)==37)K=9;else break}while(0);w=h-y|0;if(M?(k[a>>2]&32|0)==0:0)ep(y,w,a)|0;if((h|0)!=(y|0)){h=w;y=b;continue}o=b+1|0;h=i[o>>0]|0;m=(h<<24>>24)+-48|0;if(m>>>0<10){J=(i[b+2>>0]|0)==36;o=J?b+3|0:o;h=i[o>>0]|0;u=J?m:-1;g=J?1:g}else u=-1;b=h<<24>>24;d:do if((b&-32|0)==32){m=0;while(1){if(!(1<>24)+-32|m;o=o+1|0;h=i[o>>0]|0;b=h<<24>>24;if((b&-32|0)!=32){q=m;break}}}else q=0;while(0);do if(h<<24>>24==42){h=o+1|0;b=(i[h>>0]|0)+-48|0;if(b>>>0<10?(i[o+2>>0]|0)==36:0){k[e+(b<<2)>>2]=10;g=1;o=o+3|0;b=k[d+((i[h>>0]|0)+-48<<3)>>2]|0}else{if(g|0){f=-1;break a}if(!M){v=q;g=0;o=h;J=0;break}g=(k[c>>2]|0)+(4-1)&~(4-1);b=k[g>>2]|0;k[c>>2]=g+4;g=0;o=h}if((b|0)<0){v=q|8192;J=0-b|0}else{v=q;J=b}}else{m=(h<<24>>24)+-48|0;if(m>>>0<10){b=o;h=0;do{h=(h*10|0)+m|0;b=b+1|0;m=(i[b>>0]|0)+-48|0}while(m>>>0<10);if((h|0)<0){f=-1;break a}else{v=q;o=b;J=h}}else{v=q;J=0}}while(0);e:do if((i[o>>0]|0)==46){b=o+1|0;h=i[b>>0]|0;if(h<<24>>24!=42){m=(h<<24>>24)+-48|0;if(m>>>0<10)h=0;else{q=0;break}while(1){h=(h*10|0)+m|0;b=b+1|0;m=(i[b>>0]|0)+-48|0;if(m>>>0>=10){q=h;break e}}}b=o+2|0;h=(i[b>>0]|0)+-48|0;if(h>>>0<10?(i[o+3>>0]|0)==36:0){k[e+(h<<2)>>2]=10;q=k[d+((i[b>>0]|0)+-48<<3)>>2]|0;b=o+4|0;break}if(g|0){f=-1;break a}if(M){I=(k[c>>2]|0)+(4-1)&~(4-1);q=k[I>>2]|0;k[c>>2]=I+4}else q=0}else{q=-1;b=o}while(0);s=0;while(1){h=(i[b>>0]|0)+-65|0;if(h>>>0>57){f=-1;break a}m=b+1|0;h=i[11251+(s*58|0)+h>>0]|0;o=h&255;if((o+-1|0)>>>0<8){b=m;s=o}else{I=m;break}}if(!(h<<24>>24)){f=-1;break}m=(u|0)>-1;do if(h<<24>>24==19)if(m){f=-1;break a}else K=52;else{if(m){k[e+(u<<2)>>2]=o;G=d+(u<<3)|0;H=k[G+4>>2]|0;K=ba;k[K>>2]=k[G>>2];k[K+4>>2]=H;K=52;break}if(!M){f=0;break a}gp(ba,o,c)}while(0);if((K|0)==52?(K=0,!M):0){h=w;y=I;continue}u=i[b>>0]|0;u=(s|0)!=0&(u&15|0)==3?u&-33:u;m=v&-65537;H=(v&8192|0)==0?v:m;f:do switch(u|0){case 110:switch(s|0){case 0:{k[k[ba>>2]>>2]=f;h=w;y=I;continue a}case 1:{k[k[ba>>2]>>2]=f;h=w;y=I;continue a}case 2:{h=k[ba>>2]|0;k[h>>2]=f;k[h+4>>2]=((f|0)<0)<<31>>31;h=w;y=I;continue a}case 3:{j[k[ba>>2]>>1]=f;h=w;y=I;continue a}case 4:{i[k[ba>>2]>>0]=f;h=w;y=I;continue a}case 6:{k[k[ba>>2]>>2]=f;h=w;y=I;continue a}case 7:{h=k[ba>>2]|0;k[h>>2]=f;k[h+4>>2]=((f|0)<0)<<31>>31;h=w;y=I;continue a}default:{h=w;y=I;continue a}}case 112:{s=H|8;q=q>>>0>8?q:8;u=120;K=64;break}case 88:case 120:{s=H;K=64;break}case 111:{m=ba;h=k[m>>2]|0;m=k[m+4>>2]|0;if((h|0)==0&(m|0)==0)b=N;else{b=N;do{b=b+-1|0;i[b>>0]=h&7|48;h=lq(h|0,m|0,3)|0;m=L}while(!((h|0)==0&(m|0)==0))}if(!(H&8)){h=H;s=0;o=11731;K=77}else{s=V-b|0;h=H;q=(q|0)>(s|0)?q:s+1|0;s=0;o=11731;K=77}break}case 105:case 100:{h=ba;b=k[h>>2]|0;h=k[h+4>>2]|0;if((h|0)<0){b=hq(0,0,b|0,h|0)|0;h=L;m=ba;k[m>>2]=b;k[m+4>>2]=h;m=1;o=11731;K=76;break f}if(!(H&2048)){o=H&1;m=o;o=(o|0)==0?11731:11733;K=76}else{m=1;o=11732;K=76}break}case 117:{h=ba;b=k[h>>2]|0;h=k[h+4>>2]|0;m=0;o=11731;K=76;break}case 99:{i[W>>0]=k[ba>>2];b=W;u=1;w=0;v=11731;h=N;break}case 109:{h=Yo()|0;h=ip(k[h>>2]|0)|0;K=82;break}case 115:{h=k[ba>>2]|0;h=h|0?h:13633;K=82;break}case 67:{k[ga>>2]=k[ba>>2];k[X>>2]=0;k[ba>>2]=ga;b=ga;q=-1;K=86;break}case 83:{b=k[ba>>2]|0;if(!q){kp(a,32,J,0,H);b=0;K=97}else K=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{n=+p[ba>>3];k[ea>>2]=0;p[t>>3]=n;if((k[t+4>>2]|0)>=0)if(!(H&2048)){G=H&1;F=G;G=(G|0)==0?13641:13646}else{F=1;G=13643}else{n=-n;F=1;G=13640}p[t>>3]=n;E=k[t+4>>2]&2146435072;do if(E>>>0<2146435072|(E|0)==2146435072&0<0){x=+np(n,ea)*2.0;h=x!=0.0;if(h)k[ea>>2]=(k[ea>>2]|0)+-1;C=u|32;if((C|0)==97){v=u&32;y=(v|0)==0?G:G+9|0;w=F|2;b=12-q|0;do if(!(q>>>0>11|(b|0)==0)){n=8.0;do{b=b+-1|0;n=n*16.0}while((b|0)!=0);if((i[y>>0]|0)==45){n=-(n+(-x-n));break}else{n=x+n-n;break}}else n=x;while(0);h=k[ea>>2]|0;b=(h|0)<0?0-h|0:h;b=hp(b,((b|0)<0)<<31>>31,_)|0;if((b|0)==(_|0)){i[$>>0]=48;b=$}i[b+-1>>0]=(h>>31&2)+43;s=b+-2|0;i[s>>0]=u+15;o=(q|0)<1;m=(H&8|0)==0;h=da;while(1){G=~~n;b=h+1|0;i[h>>0]=l[11715+G>>0]|v;n=(n-+(G|0))*16.0;do if((b-Y|0)==1){if(m&(o&n==0.0))break;i[b>>0]=46;b=h+2|0}while(0);if(!(n!=0.0))break;else h=b}m=s;q=(q|0)!=0&(P+b|0)<(q|0)?Q+q-m|0:O-m+b|0;o=q+w|0;kp(a,32,J,o,H);if(!(k[a>>2]&32))ep(y,w,a)|0;kp(a,48,J,o,H^65536);h=b-Y|0;if(!(k[a>>2]&32))ep(da,h,a)|0;b=aa-m|0;kp(a,48,q-(h+b)|0,0,0);if(!(k[a>>2]&32))ep(s,b,a)|0;kp(a,32,J,o,H^8192);b=(o|0)<(J|0)?J:o;break}b=(q|0)<0?6:q;if(h){h=(k[ea>>2]|0)+-28|0;k[ea>>2]=h;n=x*268435456.0}else{n=x;h=k[ea>>2]|0}E=(h|0)<0?ca:R;D=E;h=E;do{B=~~n>>>0;k[h>>2]=B;h=h+4|0;n=(n-+(B>>>0))*1.0e9}while(n!=0.0);m=h;h=k[ea>>2]|0;if((h|0)>0){q=E;while(1){s=(h|0)>29?29:h;o=m+-4|0;do if(o>>>0>>0)o=q;else{h=0;do{B=jq(k[o>>2]|0,0,s|0)|0;B=kq(B|0,L|0,h|0,0)|0;h=L;A=vq(B|0,h|0,1e9,0)|0;k[o>>2]=A;h=uq(B|0,h|0,1e9,0)|0;o=o+-4|0}while(o>>>0>=q>>>0);if(!h){o=q;break}o=q+-4|0;k[o>>2]=h}while(0);while(1){if(m>>>0<=o>>>0)break;h=m+-4|0;if(!(k[h>>2]|0))m=h;else break}h=(k[ea>>2]|0)-s|0;k[ea>>2]=h;if((h|0)>0)q=o;else break}}else o=E;if((h|0)<0){y=((b+25|0)/9|0)+1|0;z=(C|0)==102;v=o;while(1){w=0-h|0;w=(w|0)>9?9:w;do if(v>>>0>>0){h=(1<>>w;o=0;s=v;do{B=k[s>>2]|0;k[s>>2]=(B>>>w)+o;o=ha(B&h,q)|0;s=s+4|0}while(s>>>0>>0);h=(k[v>>2]|0)==0?v+4|0:v;if(!o){o=h;break}k[m>>2]=o;o=h;m=m+4|0}else o=(k[v>>2]|0)==0?v+4|0:v;while(0);h=z?E:o;m=(m-h>>2|0)>(y|0)?h+(y<<2)|0:m;h=(k[ea>>2]|0)+w|0;k[ea>>2]=h;if((h|0)>=0){z=o;break}else v=o}}else z=o;do if(z>>>0>>0){h=(D-z>>2)*9|0;q=k[z>>2]|0;if(q>>>0<10)break;else o=10;do{o=o*10|0;h=h+1|0}while(q>>>0>=o>>>0)}else h=0;while(0);A=(C|0)==103;B=(b|0)!=0;o=b-((C|0)!=102?h:0)+((B&A)<<31>>31)|0;if((o|0)<(((m-D>>2)*9|0)+-9|0)){s=o+9216|0;o=E+4+(((s|0)/9|0)+-1024<<2)|0;s=((s|0)%9|0)+1|0;if((s|0)<9){q=10;do{q=q*10|0;s=s+1|0}while((s|0)!=9)}else q=10;w=k[o>>2]|0;y=(w>>>0)%(q>>>0)|0;s=(o+4|0)==(m|0);do if(s&(y|0)==0)q=z;else{x=(((w>>>0)/(q>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(q|0)/2|0;if(y>>>0>>0)n=.5;else n=s&(y|0)==(v|0)?1.0:1.5;do if(F){if((i[G>>0]|0)!=45)break;x=-x;n=-n}while(0);s=w-y|0;k[o>>2]=s;if(!(x+n!=x)){q=z;break}C=s+q|0;k[o>>2]=C;if(C>>>0>999999999){h=z;while(1){q=o+-4|0;k[o>>2]=0;if(q>>>0>>0){h=h+-4|0;k[h>>2]=0}C=(k[q>>2]|0)+1|0;k[q>>2]=C;if(C>>>0>999999999)o=q;else{v=h;o=q;break}}}else v=z;h=(D-v>>2)*9|0;s=k[v>>2]|0;if(s>>>0<10){q=v;break}else q=10;do{q=q*10|0;h=h+1|0}while(s>>>0>=q>>>0);q=v}while(0);C=o+4|0;z=q;m=m>>>0>C>>>0?C:m}w=0-h|0;while(1){if(m>>>0<=z>>>0){y=0;C=m;break}o=m+-4|0;if(!(k[o>>2]|0))m=o;else{y=1;C=m;break}}do if(A){b=(B&1^1)+b|0;if((b|0)>(h|0)&(h|0)>-5){u=u+-1|0;b=b+-1-h|0}else{u=u+-2|0;b=b+-1|0}m=H&8;if(m|0)break;do if(y){m=k[C+-4>>2]|0;if(!m){o=9;break}if(!((m>>>0)%10|0)){q=10;o=0}else{o=0;break}do{q=q*10|0;o=o+1|0}while(!((m>>>0)%(q>>>0)|0|0))}else o=9;while(0);m=((C-D>>2)*9|0)+-9|0;if((u|32|0)==102){m=m-o|0;m=(m|0)<0?0:m;b=(b|0)<(m|0)?b:m;m=0;break}else{m=m+h-o|0;m=(m|0)<0?0:m;b=(b|0)<(m|0)?b:m;m=0;break}}else m=H&8;while(0);v=b|m;q=(v|0)!=0&1;s=(u|32|0)==102;if(s){h=(h|0)>0?h:0;u=0}else{o=(h|0)<0?w:h;o=hp(o,((o|0)<0)<<31>>31,_)|0;if((aa-o|0)<2)do{o=o+-1|0;i[o>>0]=48}while((aa-o|0)<2);i[o+-1>>0]=(h>>31&2)+43;D=o+-2|0;i[D>>0]=u;h=aa-D|0;u=D}w=F+1+b+q+h|0;kp(a,32,J,w,H);if(!(k[a>>2]&32))ep(G,F,a)|0;kp(a,48,J,w,H^65536);do if(s){o=z>>>0>E>>>0?E:z;h=o;do{m=hp(k[h>>2]|0,0,S)|0;do if((h|0)==(o|0)){if((m|0)!=(S|0))break;i[U>>0]=48;m=U}else{if(m>>>0<=da>>>0)break;iq(da|0,48,m-Y|0)|0;do m=m+-1|0;while(m>>>0>da>>>0)}while(0);if(!(k[a>>2]&32))ep(m,T-m|0,a)|0;h=h+4|0}while(h>>>0<=E>>>0);do if(v|0){if(k[a>>2]&32|0)break;ep(13675,1,a)|0}while(0);if((b|0)>0&h>>>0>>0){m=h;while(1){h=hp(k[m>>2]|0,0,S)|0;if(h>>>0>da>>>0){iq(da|0,48,h-Y|0)|0;do h=h+-1|0;while(h>>>0>da>>>0)}if(!(k[a>>2]&32))ep(h,(b|0)>9?9:b,a)|0;m=m+4|0;h=b+-9|0;if(!((b|0)>9&m>>>0>>0)){b=h;break}else b=h}}kp(a,48,b+9|0,9,0)}else{s=y?C:z+4|0;if((b|0)>-1){q=(m|0)==0;o=z;do{h=hp(k[o>>2]|0,0,S)|0;if((h|0)==(S|0)){i[U>>0]=48;h=U}do if((o|0)==(z|0)){m=h+1|0;if(!(k[a>>2]&32))ep(h,1,a)|0;if(q&(b|0)<1){h=m;break}if(k[a>>2]&32|0){h=m;break}ep(13675,1,a)|0;h=m}else{if(h>>>0<=da>>>0)break;iq(da|0,48,h+Z|0)|0;do h=h+-1|0;while(h>>>0>da>>>0)}while(0);m=T-h|0;if(!(k[a>>2]&32))ep(h,(b|0)>(m|0)?m:b,a)|0;b=b-m|0;o=o+4|0}while(o>>>0>>0&(b|0)>-1)}kp(a,48,b+18|0,18,0);if(k[a>>2]&32|0)break;ep(u,aa-u|0,a)|0}while(0);kp(a,32,J,w,H^8192);b=(w|0)<(J|0)?J:w}else{s=(u&32|0)!=0;q=n!=n|0.0!=0.0;h=q?0:F;o=h+3|0;kp(a,32,J,o,m);b=k[a>>2]|0;if(!(b&32)){ep(G,h,a)|0;b=k[a>>2]|0}if(!(b&32))ep(q?(s?13667:13671):s?13659:13663,3,a)|0;kp(a,32,J,o,H^8192);b=(o|0)<(J|0)?J:o}while(0);h=b;y=I;continue a}default:{b=y;m=H;u=q;w=0;v=11731;h=N}}while(0);g:do if((K|0)==64){m=ba;h=k[m>>2]|0;m=k[m+4>>2]|0;o=u&32;if(!((h|0)==0&(m|0)==0)){b=N;do{b=b+-1|0;i[b>>0]=l[11715+(h&15)>>0]|o;h=lq(h|0,m|0,4)|0;m=L}while(!((h|0)==0&(m|0)==0));K=ba;if((s&8|0)==0|(k[K>>2]|0)==0&(k[K+4>>2]|0)==0){h=s;s=0;o=11731;K=77}else{h=s;s=2;o=11731+(u>>4)|0;K=77}}else{b=N;h=s;s=0;o=11731;K=77}}else if((K|0)==76){b=hp(b,h,N)|0;h=H;s=m;K=77}else if((K|0)==82){K=0;H=jp(h,0,q)|0;G=(H|0)==0;b=h;u=G?q:H-h|0;w=0;v=11731;h=G?h+q|0:H}else if((K|0)==86){K=0;m=0;h=0;s=b;while(1){o=k[s>>2]|0;if(!o)break;h=lp(fa,o)|0;if((h|0)<0|h>>>0>(q-m|0)>>>0)break;m=h+m|0;if(q>>>0>m>>>0)s=s+4|0;else break}if((h|0)<0){f=-1;break a}kp(a,32,J,m,H);if(!m){b=0;K=97}else{o=0;while(1){h=k[b>>2]|0;if(!h){b=m;K=97;break g}h=lp(fa,h)|0;o=h+o|0;if((o|0)>(m|0)){b=m;K=97;break g}if(!(k[a>>2]&32))ep(fa,h,a)|0;if(o>>>0>=m>>>0){b=m;K=97;break}else b=b+4|0}}}while(0);if((K|0)==97){K=0;kp(a,32,J,b,H^8192);h=(J|0)>(b|0)?J:b;y=I;continue}if((K|0)==77){K=0;m=(q|0)>-1?h&-65537:h;h=ba;h=(k[h>>2]|0)!=0|(k[h+4>>2]|0)!=0;if((q|0)!=0|h){u=(h&1^1)+(V-b)|0;u=(q|0)>(u|0)?q:u;w=s;v=o;h=N}else{b=N;u=0;w=s;v=o;h=N}}s=h-b|0;o=(u|0)<(s|0)?s:u;q=w+o|0;h=(J|0)<(q|0)?q:J;kp(a,32,h,q,m);if(!(k[a>>2]&32))ep(v,w,a)|0;kp(a,48,h,q,m^65536);kp(a,48,o,s,0);if(!(k[a>>2]&32))ep(b,s,a)|0;kp(a,32,h,q,m^8192);y=I}h:do if((K|0)==244)if(!a)if(g){f=1;while(1){g=k[e+(f<<2)>>2]|0;if(!g)break;gp(d+(f<<3)|0,g,c);f=f+1|0;if((f|0)>=10){f=1;break h}}if((f|0)<10)while(1){if(k[e+(f<<2)>>2]|0){f=-1;break h}f=f+1|0;if((f|0)>=10){f=1;break}}else f=1}else f=0;while(0);r=ia;return f|0}function ep(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=c+16|0;e=k[d>>2]|0;if(!e)if(!(fp(c)|0)){e=k[d>>2]|0;f=5}else d=0;else f=5;a:do if((f|0)==5){g=c+20|0;d=k[g>>2]|0;f=d;if((e-d|0)>>>0>>0){d=_a[k[c+36>>2]&31](c,a,b)|0;break}b:do if((i[c+75>>0]|0)>-1){d=b;while(1){if(!d){e=f;d=0;break b}e=d+-1|0;if((i[a+e>>0]|0)==10)break;else d=e}if((_a[k[c+36>>2]&31](c,a,d)|0)>>>0>>0)break a;b=b-d|0;a=a+d|0;e=k[g>>2]|0}else{e=f;d=0}while(0);mq(e|0,a|0,b|0)|0;k[g>>2]=(k[g>>2]|0)+b;d=d+b|0}while(0);return d|0}function fp(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;b=k[a+44>>2]|0;k[a+28>>2]=b;k[a+20>>2]=b;k[a+16>>2]=b+(k[a+48>>2]|0);b=0}else{k[a>>2]=b|32;b=-1}return b|0}function gp(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 hp(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=vq(a|0,b|0,10,0)|0;c=c+-1|0;i[c>>0]=d|48;d=uq(a|0,b|0,10,0)|0;if(b>>>0>9|(b|0)==9&a>>>0>4294967295){a=d;b=L}else{a=d;break}}if(a)while(1){c=c+-1|0;i[c>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}return c|0}function ip(a){a=a|0;var b=0,c=0;b=0;while(1){if((l[11741+b>>0]|0)==(a|0)){c=2;break}b=b+1|0;if((b|0)==87){b=87;a=11829;c=5;break}}if((c|0)==2)if(!b)a=11829;else{a=11829;c=5}if((c|0)==5)while(1){c=a;while(1){a=c+1|0;if(!(i[c>>0]|0))break;else c=a}b=b+-1|0;if(!b)break;else c=5}return a|0}function jp(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=ha(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 kp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=r;r=r+256|0;g=h;do if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;iq(g|0,b|0,(e>>>0>256?256:e)|0)|0;b=k[a>>2]|0;f=(b&32|0)==0;if(e>>>0>255){d=c-d|0;do{if(f){ep(g,256,a)|0;b=k[a>>2]|0}e=e+-256|0;f=(b&32|0)==0}while(e>>>0>255);if(f)e=d&255;else break}else if(!f)break;ep(g,e,a)|0}while(0);r=h;return}function lp(a,b){a=a|0;b=b|0;if(!a)a=0;else a=mp(a,b,0)|0;return a|0}function mp(a,b,c){a=a|0;b=b|0;c=c|0;do if(a){if(b>>>0<128){i[a>>0]=b;a=1;break}if(b>>>0<2048){i[a>>0]=b>>>6|192;i[a+1>>0]=b&63|128;a=2;break}if(b>>>0<55296|(b&-8192|0)==57344){i[a>>0]=b>>>12|224;i[a+1>>0]=b>>>6&63|128;i[a+2>>0]=b&63|128;a=3;break}if((b+-65536|0)>>>0<1048576){i[a>>0]=b>>>18|240;i[a+1>>0]=b>>>12&63|128;i[a+2>>0]=b>>>6&63|128;i[a+3>>0]=b&63|128;a=4;break}else{a=Yo()|0;k[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function np(a,b){a=+a;b=b|0;return +(+op(a,b))}function op(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[t>>3]=a;c=k[t>>2]|0;d=k[t+4>>2]|0;e=lq(c|0,d|0,52)|0;e=e&2047;switch(e|0){case 0:{if(a!=0.0){a=+op(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+-1022;k[t>>2]=c;k[t+4>>2]=d&-2146435073|1071644672;a=+p[t>>3]}}return +a}function pp(a){a=a|0;return 0}function qp(a,b){a=a|0;b=b|0;var c=0,d=0;d=i[a>>0]|0;c=i[b>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=c<<24>>24)b=d;else{do{a=a+1|0;b=b+1|0;d=i[a>>0]|0;c=i[b>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=c<<24>>24));b=d}return (b&255)-(c&255)|0}function rp(a){a=a|0;var b=0,c=0;do if(a){if((k[a+76>>2]|0)<=-1){b=sp(a)|0;break}c=(pp(a)|0)==0;b=sp(a)|0;if(!c)$o(a)}else{if(!(k[1235]|0))b=0;else b=rp(k[1235]|0)|0;Ra(14460);a=k[3614]|0;if(a)do{if((k[a+76>>2]|0)>-1)c=pp(a)|0;else c=0;if((k[a+20>>2]|0)>>>0>(k[a+28>>2]|0)>>>0)b=sp(a)|0|b;if(c|0)$o(a);a=k[a+56>>2]|0}while((a|0)!=0);Oa(14460)}while(0);return b|0}function sp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=a+20|0;f=a+28|0;if((k[b>>2]|0)>>>0>(k[f>>2]|0)>>>0?(_a[k[a+36>>2]&31](a,0,0)|0,(k[b>>2]|0)==0):0)b=-1;else{g=a+4|0;c=k[g>>2]|0;d=a+8|0;e=k[d>>2]|0;if(c>>>0>>0)_a[k[a+40>>2]&31](a,c-e|0,1)|0;k[a+16>>2]=0;k[f>>2]=0;k[b>>2]=0;k[d>>2]=0;k[g>>2]=0;b=0}return b|0}function tp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;h=j;g=b&255;i[h>>0]=g;d=a+16|0;e=k[d>>2]|0;if(!e)if(!(fp(a)|0)){e=k[d>>2]|0;f=4}else c=-1;else f=4;do if((f|0)==4){d=a+20|0;f=k[d>>2]|0;if(f>>>0>>0?(c=b&255,(c|0)!=(i[a+75>>0]|0)):0){k[d>>2]=f+1;i[f>>0]=g;break}if((_a[k[a+36>>2]&31](a,h,1)|0)==1)c=l[h>>0]|0;else c=-1}while(0);r=j;return c|0}function up(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=ha(c,b)|0;if((k[d+76>>2]|0)>-1){f=(pp(d)|0)==0;a=ep(a,e,d)|0;if(!f)$o(d)}else a=ep(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function vp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;if((k[b+76>>2]|0)>=0?(pp(b)|0)!=0:0){if((i[b+75>>0]|0)!=(a|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]=a;c=a&255}else c=tp(b,a)|0;$o(b)}else g=3;do if((g|0)==3){if((i[b+75>>0]|0)!=(a|0)?(f=b+20|0,c=k[f>>2]|0,c>>>0<(k[b+16>>2]|0)>>>0):0){k[f>>2]=c+1;i[c>>0]=a;c=a&255;break}c=tp(b,a)|0}while(0);return c|0}function wp(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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=k[3620]|0;b=i>>>a;if(b&3|0){b=(b&1^1)+a|0;c=14520+(b<<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[3624]|0)>>>0)ya();a=g+12|0;if((k[a>>2]|0)==(e|0)){k[a>>2]=c;k[d>>2]=g;break}else ya()}else k[3620]=i&~(1<>2]=L|3;L=e+L+4|0;k[L>>2]=k[L>>2]|1;L=f;return L|0}g=k[3622]|0;if(o>>>0>g>>>0){if(b|0){c=2<>>12&16;c=c>>>h;e=c>>>5&8;c=c>>>e;f=c>>>2&4;c=c>>>f;d=c>>>1&2;c=c>>>d;b=c>>>1&1;b=(e|h|f|d|b)+(c>>>b)|0;c=14520+(b<<1<<2)|0;d=c+8|0;f=k[d>>2]|0;h=f+8|0;e=k[h>>2]|0;do if((c|0)!=(e|0)){if(e>>>0<(k[3624]|0)>>>0)ya();a=e+12|0;if((k[a>>2]|0)==(f|0)){k[a>>2]=c;k[d>>2]=e;j=k[3622]|0;break}else ya()}else{k[3620]=i&~(1<>2]=o|3;d=f+o|0;k[d+4>>2]=g|1;k[d+g>>2]=g;if(j|0){e=k[3625]|0;b=j>>>3;c=14520+(b<<1<<2)|0;a=k[3620]|0;b=1<>2]|0;if(b>>>0<(k[3624]|0)>>>0)ya();else{l=a;m=b}}else{k[3620]=a|b;l=c+8|0;m=c}k[l>>2]=e;k[m+12>>2]=e;k[e+8>>2]=m;k[e+12>>2]=c}k[3622]=g;k[3625]=d;L=h;return L|0}a=k[3621]|0;if(a){c=(a&0-a)+-1|0;K=c>>>12&16;c=c>>>K;J=c>>>5&8;c=c>>>J;L=c>>>2&4;c=c>>>L;b=c>>>1&2;c=c>>>b;d=c>>>1&1;d=k[14784+((J|K|L|b|d)+(c>>>d)<<2)>>2]|0;c=(k[d+4>>2]&-8)-o|0;b=d;while(1){a=k[b+16>>2]|0;if(!a){a=k[b+20>>2]|0;if(!a){i=d;break}}b=(k[a+4>>2]&-8)-o|0;L=b>>>0>>0;c=L?b:c;b=a;d=L?a:d}f=k[3624]|0;if(i>>>0>>0)ya();h=i+o|0;if(i>>>0>=h>>>0)ya();g=k[i+24>>2]|0;d=k[i+12>>2]|0;do if((d|0)==(i|0)){b=i+20|0;a=k[b>>2]|0;if(!a){b=i+16|0;a=k[b>>2]|0;if(!a){n=0;break}}while(1){d=a+20|0;e=k[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=k[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0>>0)ya();else{k[b>>2]=0;n=a;break}}else{e=k[i+8>>2]|0;if(e>>>0>>0)ya();a=e+12|0;if((k[a>>2]|0)!=(i|0))ya();b=d+8|0;if((k[b>>2]|0)==(i|0)){k[a>>2]=d;k[b>>2]=e;n=d;break}else ya()}while(0);do if(g|0){a=k[i+28>>2]|0;b=14784+(a<<2)|0;if((i|0)==(k[b>>2]|0)){k[b>>2]=n;if(!n){k[3621]=k[3621]&~(1<>>0<(k[3624]|0)>>>0)ya();a=g+16|0;if((k[a>>2]|0)==(i|0))k[a>>2]=n;else k[g+20>>2]=n;if(!n)break}b=k[3624]|0;if(n>>>0>>0)ya();k[n+24>>2]=g;a=k[i+16>>2]|0;do if(a|0)if(a>>>0>>0)ya();else{k[n+16>>2]=a;k[a+24>>2]=n;break}while(0);a=k[i+20>>2]|0;if(a|0)if(a>>>0<(k[3624]|0)>>>0)ya();else{k[n+20>>2]=a;k[a+24>>2]=n;break}}while(0);if(c>>>0<16){L=c+o|0;k[i+4>>2]=L|3;L=i+L+4|0;k[L>>2]=k[L>>2]|1}else{k[i+4>>2]=o|3;k[h+4>>2]=c|1;k[h+c>>2]=c;a=k[3622]|0;if(a|0){e=k[3625]|0;b=a>>>3;d=14520+(b<<1<<2)|0;a=k[3620]|0;b=1<>2]|0;if(b>>>0<(k[3624]|0)>>>0)ya();else{p=a;q=b}}else{k[3620]=a|b;p=d+8|0;q=d}k[p>>2]=e;k[q+12>>2]=e;k[e+8>>2]=q;k[e+12>>2]=d}k[3622]=c;k[3625]=h}L=i+8|0;return L|0}}}else if(a>>>0<=4294967231){a=a+11|0;o=a&-8;i=k[3621]|0;if(i){c=0-o|0;a=a>>>8;if(a)if(o>>>0>16777215)h=31;else{q=(a+1048320|0)>>>16&8;E=a<>>16&4;E=E<>>16&2;h=14-(p|q|h)+(E<>>15)|0;h=o>>>(h+7|0)&1|h<<1}else h=0;b=k[14784+(h<<2)>>2]|0;a:do if(!b){a=0;b=0;E=86}else{e=c;a=0;f=o<<((h|0)==31?0:25-(h>>>1)|0);g=b;b=0;while(1){d=k[g+4>>2]&-8;c=d-o|0;if(c>>>0>>0)if((d|0)==(o|0)){a=g;b=g;E=90;break a}else b=g;else c=e;d=k[g+20>>2]|0;g=k[g+16+(f>>>31<<2)>>2]|0;a=(d|0)==0|(d|0)==(g|0)?a:d;d=(g|0)==0;if(d){E=86;break}else{e=c;f=f<<(d&1^1)}}}while(0);if((E|0)==86){if((a|0)==0&(b|0)==0){a=2<>>12&16;q=q>>>m;l=q>>>5&8;q=q>>>l;n=q>>>2&4;q=q>>>n;p=q>>>1&2;q=q>>>p;a=q>>>1&1;a=k[14784+((l|m|n|p|a)+(q>>>a)<<2)>>2]|0}if(!a){h=c;i=b}else E=90}if((E|0)==90)while(1){E=0;q=(k[a+4>>2]&-8)-o|0;d=q>>>0>>0;c=d?q:c;b=d?a:b;d=k[a+16>>2]|0;if(d|0){a=d;E=90;continue}a=k[a+20>>2]|0;if(!a){h=c;i=b;break}else E=90}if((i|0)!=0?h>>>0<((k[3622]|0)-o|0)>>>0:0){e=k[3624]|0;if(i>>>0>>0)ya();g=i+o|0;if(i>>>0>=g>>>0)ya();f=k[i+24>>2]|0;c=k[i+12>>2]|0;do if((c|0)==(i|0)){b=i+20|0;a=k[b>>2]|0;if(!a){b=i+16|0;a=k[b>>2]|0;if(!a){s=0;break}}while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0>>0)ya();else{k[b>>2]=0;s=a;break}}else{d=k[i+8>>2]|0;if(d>>>0>>0)ya();a=d+12|0;if((k[a>>2]|0)!=(i|0))ya();b=c+8|0;if((k[b>>2]|0)==(i|0)){k[a>>2]=c;k[b>>2]=d;s=c;break}else ya()}while(0);do if(f|0){a=k[i+28>>2]|0;b=14784+(a<<2)|0;if((i|0)==(k[b>>2]|0)){k[b>>2]=s;if(!s){k[3621]=k[3621]&~(1<>>0<(k[3624]|0)>>>0)ya();a=f+16|0;if((k[a>>2]|0)==(i|0))k[a>>2]=s;else k[f+20>>2]=s;if(!s)break}b=k[3624]|0;if(s>>>0>>0)ya();k[s+24>>2]=f;a=k[i+16>>2]|0;do if(a|0)if(a>>>0>>0)ya();else{k[s+16>>2]=a;k[a+24>>2]=s;break}while(0);a=k[i+20>>2]|0;if(a|0)if(a>>>0<(k[3624]|0)>>>0)ya();else{k[s+20>>2]=a;k[a+24>>2]=s;break}}while(0);do if(h>>>0>=16){k[i+4>>2]=o|3;k[g+4>>2]=h|1;k[g+h>>2]=h;a=h>>>3;if(h>>>0<256){c=14520+(a<<1<<2)|0;b=k[3620]|0;a=1<>2]|0;if(b>>>0<(k[3624]|0)>>>0)ya();else{u=a;v=b}}else{k[3620]=b|a;u=c+8|0;v=c}k[u>>2]=g;k[v+12>>2]=g;k[g+8>>2]=v;k[g+12>>2]=c;break}a=h>>>8;if(a)if(h>>>0>16777215)c=31;else{K=(a+1048320|0)>>>16&8;L=a<>>16&4;L=L<>>16&2;c=14-(J|K|c)+(L<>>15)|0;c=h>>>(c+7|0)&1|c<<1}else c=0;d=14784+(c<<2)|0;k[g+28>>2]=c;a=g+16|0;k[a+4>>2]=0;k[a>>2]=0;a=k[3621]|0;b=1<>2]=g;k[g+24>>2]=d;k[g+12>>2]=g;k[g+8>>2]=g;break}e=h<<((c|0)==31?0:25-(c>>>1)|0);a=k[d>>2]|0;while(1){if((k[a+4>>2]&-8|0)==(h|0)){c=a;E=148;break}b=a+16+(e>>>31<<2)|0;c=k[b>>2]|0;if(!c){E=145;break}else{e=e<<1;a=c}}if((E|0)==145)if(b>>>0<(k[3624]|0)>>>0)ya();else{k[b>>2]=g;k[g+24>>2]=a;k[g+12>>2]=g;k[g+8>>2]=g;break}else if((E|0)==148){a=c+8|0;b=k[a>>2]|0;L=k[3624]|0;if(b>>>0>=L>>>0&c>>>0>=L>>>0){k[b+12>>2]=g;k[a>>2]=g;k[g+8>>2]=b;k[g+12>>2]=c;k[g+24>>2]=0;break}else ya()}}else{L=h+o|0;k[i+4>>2]=L|3;L=i+L+4|0;k[L>>2]=k[L>>2]|1}while(0);L=i+8|0;return L|0}}}else o=-1;while(0);c=k[3622]|0;if(c>>>0>=o>>>0){a=c-o|0;b=k[3625]|0;if(a>>>0>15){L=b+o|0;k[3625]=L;k[3622]=a;k[L+4>>2]=a|1;k[L+a>>2]=a;k[b+4>>2]=o|3}else{k[3622]=0;k[3625]=0;k[b+4>>2]=c|3;L=b+c+4|0;k[L>>2]=k[L>>2]|1}L=b+8|0;return L|0}a=k[3623]|0;if(a>>>0>o>>>0){J=a-o|0;k[3623]=J;L=k[3626]|0;K=L+o|0;k[3626]=K;k[K+4>>2]=J|1;k[L+4>>2]=o|3;L=L+8|0;return L|0}do if(!(k[3738]|0)){a=Ja(30)|0;if(!(a+-1&a)){k[3740]=a;k[3739]=a;k[3741]=-1;k[3742]=-1;k[3743]=0;k[3731]=0;v=(Ua(0)|0)&-16^1431655768;k[3738]=v;break}else ya()}while(0);g=o+48|0;f=k[3740]|0;h=o+47|0;e=f+h|0;f=0-f|0;i=e&f;if(i>>>0<=o>>>0){L=0;return L|0}a=k[3730]|0;if(a|0?(u=k[3728]|0,v=u+i|0,v>>>0<=u>>>0|v>>>0>a>>>0):0){L=0;return L|0}b:do if(!(k[3731]&4)){a=k[3626]|0;c:do if(a){c=14928;while(1){b=k[c>>2]|0;if(b>>>0<=a>>>0?(r=c+4|0,(b+(k[r>>2]|0)|0)>>>0>a>>>0):0){d=c;c=r;break}c=k[c+8>>2]|0;if(!c){E=173;break c}}a=e-(k[3623]|0)&f;if(a>>>0<2147483647){b=Ea(a|0)|0;if((b|0)==((k[d>>2]|0)+(k[c>>2]|0)|0)){if((b|0)!=(-1|0)){g=b;e=a;E=193;break b}}else E=183}}else E=173;while(0);do if((E|0)==173?(t=Ea(0)|0,(t|0)!=(-1|0)):0){a=t;b=k[3739]|0;c=b+-1|0;if(!(c&a))a=i;else a=i-a+(c+a&0-b)|0;b=k[3728]|0;c=b+a|0;if(a>>>0>o>>>0&a>>>0<2147483647){v=k[3730]|0;if(v|0?c>>>0<=b>>>0|c>>>0>v>>>0:0)break;b=Ea(a|0)|0;if((b|0)==(t|0)){g=t;e=a;E=193;break b}else E=183}}while(0);d:do if((E|0)==183){c=0-a|0;do if(g>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(w=k[3740]|0,w=h-a+w&0-w,w>>>0<2147483647):0)if((Ea(w|0)|0)==(-1|0)){Ea(c|0)|0;break d}else{a=w+a|0;break}while(0);if((b|0)!=(-1|0)){g=b;e=a;E=193;break b}}while(0);k[3731]=k[3731]|4;E=190}else E=190;while(0);if((((E|0)==190?i>>>0<2147483647:0)?(x=Ea(i|0)|0,y=Ea(0)|0,x>>>0>>0&((x|0)!=(-1|0)&(y|0)!=(-1|0))):0)?(z=y-x|0,z>>>0>(o+40|0)>>>0):0){g=x;e=z;E=193}if((E|0)==193){a=(k[3728]|0)+e|0;k[3728]=a;if(a>>>0>(k[3729]|0)>>>0)k[3729]=a;h=k[3626]|0;do if(h){d=14928;do{a=k[d>>2]|0;b=d+4|0;c=k[b>>2]|0;if((g|0)==(a+c|0)){A=a;B=b;C=c;D=d;E=203;break}d=k[d+8>>2]|0}while((d|0)!=0);if(((E|0)==203?(k[D+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=A>>>0:0){k[B>>2]=C+e;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=h+L|0;L=e-L+(k[3623]|0)|0;k[3626]=K;k[3623]=L;k[K+4>>2]=L|1;k[K+L+4>>2]=40;k[3627]=k[3742];break}a=k[3624]|0;if(g>>>0>>0){k[3624]=g;i=g}else i=a;c=g+e|0;a=14928;while(1){if((k[a>>2]|0)==(c|0)){b=a;E=211;break}a=k[a+8>>2]|0;if(!a){b=14928;break}}if((E|0)==211)if(!(k[a+12>>2]&8)){k[b>>2]=g;l=a+4|0;k[l>>2]=(k[l>>2]|0)+e;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;a=c+8|0;a=c+((a&7|0)==0?0:0-a&7)|0;j=l+o|0;f=a-l-o|0;k[l+4>>2]=o|3;do if((a|0)!=(h|0)){if((a|0)==(k[3625]|0)){L=(k[3622]|0)+f|0;k[3622]=L;k[3625]=j;k[j+4>>2]=L|1;k[j+L>>2]=L;break}b=k[a+4>>2]|0;if((b&3|0)==1){h=b&-8;e=b>>>3;e:do if(b>>>0>=256){g=k[a+24>>2]|0;d=k[a+12>>2]|0;do if((d|0)==(a|0)){c=a+16|0;d=c+4|0;b=k[d>>2]|0;if(!b){b=k[c>>2]|0;if(!b){J=0;break}}else c=d;while(1){d=b+20|0;e=k[d>>2]|0;if(e|0){b=e;c=d;continue}d=b+16|0;e=k[d>>2]|0;if(!e)break;else{b=e;c=d}}if(c>>>0>>0)ya();else{k[c>>2]=0;J=b;break}}else{e=k[a+8>>2]|0;if(e>>>0>>0)ya();b=e+12|0;if((k[b>>2]|0)!=(a|0))ya();c=d+8|0;if((k[c>>2]|0)==(a|0)){k[b>>2]=d;k[c>>2]=e;J=d;break}else ya()}while(0);if(!g)break;b=k[a+28>>2]|0;c=14784+(b<<2)|0;do if((a|0)!=(k[c>>2]|0)){if(g>>>0<(k[3624]|0)>>>0)ya();b=g+16|0;if((k[b>>2]|0)==(a|0))k[b>>2]=J;else k[g+20>>2]=J;if(!J)break e}else{k[c>>2]=J;if(J|0)break;k[3621]=k[3621]&~(1<>>0>>0)ya();k[J+24>>2]=g;b=a+16|0;c=k[b>>2]|0;do if(c|0)if(c>>>0>>0)ya();else{k[J+16>>2]=c;k[c+24>>2]=J;break}while(0);b=k[b+4>>2]|0;if(!b)break;if(b>>>0<(k[3624]|0)>>>0)ya();else{k[J+20>>2]=b;k[b+24>>2]=J;break}}else{c=k[a+8>>2]|0;d=k[a+12>>2]|0;b=14520+(e<<1<<2)|0;do if((c|0)!=(b|0)){if(c>>>0>>0)ya();if((k[c+12>>2]|0)==(a|0))break;ya()}while(0);if((d|0)==(c|0)){k[3620]=k[3620]&~(1<>>0>>0)ya();b=d+8|0;if((k[b>>2]|0)==(a|0)){G=b;break}ya()}while(0);k[c+12>>2]=d;k[G>>2]=c}while(0);a=a+h|0;f=h+f|0}a=a+4|0;k[a>>2]=k[a>>2]&-2;k[j+4>>2]=f|1;k[j+f>>2]=f;a=f>>>3;if(f>>>0<256){c=14520+(a<<1<<2)|0;b=k[3620]|0;a=1<>2]|0;if(b>>>0>=(k[3624]|0)>>>0){K=a;L=b;break}ya()}while(0);k[K>>2]=j;k[L+12>>2]=j;k[j+8>>2]=L;k[j+12>>2]=c;break}a=f>>>8;do if(!a)c=0;else{if(f>>>0>16777215){c=31;break}K=(a+1048320|0)>>>16&8;L=a<>>16&4;L=L<>>16&2;c=14-(J|K|c)+(L<>>15)|0;c=f>>>(c+7|0)&1|c<<1}while(0);d=14784+(c<<2)|0;k[j+28>>2]=c;a=j+16|0;k[a+4>>2]=0;k[a>>2]=0;a=k[3621]|0;b=1<>2]=j;k[j+24>>2]=d;k[j+12>>2]=j;k[j+8>>2]=j;break}e=f<<((c|0)==31?0:25-(c>>>1)|0);a=k[d>>2]|0;while(1){if((k[a+4>>2]&-8|0)==(f|0)){c=a;E=281;break}b=a+16+(e>>>31<<2)|0;c=k[b>>2]|0;if(!c){E=278;break}else{e=e<<1;a=c}}if((E|0)==278)if(b>>>0<(k[3624]|0)>>>0)ya();else{k[b>>2]=j;k[j+24>>2]=a;k[j+12>>2]=j;k[j+8>>2]=j;break}else if((E|0)==281){a=c+8|0;b=k[a>>2]|0;L=k[3624]|0;if(b>>>0>=L>>>0&c>>>0>=L>>>0){k[b+12>>2]=j;k[a>>2]=j;k[j+8>>2]=b;k[j+12>>2]=c;k[j+24>>2]=0;break}else ya()}}else{L=(k[3623]|0)+f|0;k[3623]=L;k[3626]=j;k[j+4>>2]=L|1}while(0);L=l+8|0;return L|0}else b=14928;while(1){a=k[b>>2]|0;if(a>>>0<=h>>>0?(F=a+(k[b+4>>2]|0)|0,F>>>0>h>>>0):0){b=F;break}b=k[b+8>>2]|0}f=b+-47|0;c=f+8|0;c=f+((c&7|0)==0?0:0-c&7)|0;f=h+16|0;c=c>>>0>>0?h:c;a=c+8|0;d=g+8|0;d=(d&7|0)==0?0:0-d&7;L=g+d|0;d=e+-40-d|0;k[3626]=L;k[3623]=d;k[L+4>>2]=d|1;k[L+d+4>>2]=40;k[3627]=k[3742];d=c+4|0;k[d>>2]=27;k[a>>2]=k[3732];k[a+4>>2]=k[3733];k[a+8>>2]=k[3734];k[a+12>>2]=k[3735];k[3732]=g;k[3733]=e;k[3735]=0;k[3734]=a;a=c+24|0;do{a=a+4|0;k[a>>2]=7}while((a+4|0)>>>0>>0);if((c|0)!=(h|0)){g=c-h|0;k[d>>2]=k[d>>2]&-2;k[h+4>>2]=g|1;k[c>>2]=g;a=g>>>3;if(g>>>0<256){c=14520+(a<<1<<2)|0;b=k[3620]|0;a=1<>2]|0;if(b>>>0<(k[3624]|0)>>>0)ya();else{H=a;I=b}}else{k[3620]=b|a;H=c+8|0;I=c}k[H>>2]=h;k[I+12>>2]=h;k[h+8>>2]=I;k[h+12>>2]=c;break}a=g>>>8;if(a)if(g>>>0>16777215)c=31;else{K=(a+1048320|0)>>>16&8;L=a<>>16&4;L=L<>>16&2;c=14-(J|K|c)+(L<>>15)|0;c=g>>>(c+7|0)&1|c<<1}else c=0;e=14784+(c<<2)|0;k[h+28>>2]=c;k[h+20>>2]=0;k[f>>2]=0;a=k[3621]|0;b=1<>2]=h;k[h+24>>2]=e;k[h+12>>2]=h;k[h+8>>2]=h;break}d=g<<((c|0)==31?0:25-(c>>>1)|0);a=k[e>>2]|0;while(1){if((k[a+4>>2]&-8|0)==(g|0)){c=a;E=307;break}b=a+16+(d>>>31<<2)|0;c=k[b>>2]|0;if(!c){E=304;break}else{d=d<<1;a=c}}if((E|0)==304)if(b>>>0<(k[3624]|0)>>>0)ya();else{k[b>>2]=h;k[h+24>>2]=a;k[h+12>>2]=h;k[h+8>>2]=h;break}else if((E|0)==307){a=c+8|0;b=k[a>>2]|0;L=k[3624]|0;if(b>>>0>=L>>>0&c>>>0>=L>>>0){k[b+12>>2]=h;k[a>>2]=h;k[h+8>>2]=b;k[h+12>>2]=c;k[h+24>>2]=0;break}else ya()}}}else{L=k[3624]|0;if((L|0)==0|g>>>0>>0)k[3624]=g;k[3732]=g;k[3733]=e;k[3735]=0;k[3629]=k[3738];k[3628]=-1;a=0;do{L=14520+(a<<1<<2)|0;k[L+12>>2]=L;k[L+8>>2]=L;a=a+1|0}while((a|0)!=32);L=g+8|0;L=(L&7|0)==0?0:0-L&7;K=g+L|0;L=e+-40-L|0;k[3626]=K;k[3623]=L;k[K+4>>2]=L|1;k[K+L+4>>2]=40;k[3627]=k[3742]}while(0);a=k[3623]|0;if(a>>>0>o>>>0){J=a-o|0;k[3623]=J;L=k[3626]|0;K=L+o|0;k[3626]=K;k[K+4>>2]=J|1;k[L+4>>2]=o|3;L=L+8|0;return L|0}}L=Yo()|0;k[L>>2]=12;L=0;return L|0}function xp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!a)return;c=a+-8|0;g=k[3624]|0;if(c>>>0>>0)ya();a=k[a+-4>>2]|0;b=a&3;if((b|0)==1)ya();d=a&-8;m=c+d|0;do if(!(a&1)){a=k[c>>2]|0;if(!b)return;j=c+(0-a)|0;i=a+d|0;if(j>>>0>>0)ya();if((j|0)==(k[3625]|0)){a=m+4|0;b=k[a>>2]|0;if((b&3|0)!=3){q=j;f=i;break}k[3622]=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=14520+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0>>0)ya();if((k[b+12>>2]|0)!=(j|0))ya()}if((c|0)==(b|0)){k[3620]=k[3620]&~(1<>>0>>0)ya();a=c+8|0;if((k[a>>2]|0)==(j|0))e=a;else ya()}else e=c+8|0;k[b+12>>2]=c;k[e>>2]=b;q=j;f=i;break}e=k[j+24>>2]|0;c=k[j+12>>2]|0;do if((c|0)==(j|0)){b=j+16|0;c=b+4|0;a=k[c>>2]|0;if(!a){a=k[b>>2]|0;if(!a){h=0;break}}else b=c;while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0>>0)ya();else{k[b>>2]=0;h=a;break}}else{d=k[j+8>>2]|0;if(d>>>0>>0)ya();a=d+12|0;if((k[a>>2]|0)!=(j|0))ya();b=c+8|0;if((k[b>>2]|0)==(j|0)){k[a>>2]=c;k[b>>2]=d;h=c;break}else ya()}while(0);if(e){a=k[j+28>>2]|0;b=14784+(a<<2)|0;if((j|0)==(k[b>>2]|0)){k[b>>2]=h;if(!h){k[3621]=k[3621]&~(1<>>0<(k[3624]|0)>>>0)ya();a=e+16|0;if((k[a>>2]|0)==(j|0))k[a>>2]=h;else k[e+20>>2]=h;if(!h){q=j;f=i;break}}c=k[3624]|0;if(h>>>0>>0)ya();k[h+24>>2]=e;a=j+16|0;b=k[a>>2]|0;do if(b|0)if(b>>>0>>0)ya();else{k[h+16>>2]=b;k[b+24>>2]=h;break}while(0);a=k[a+4>>2]|0;if(a)if(a>>>0<(k[3624]|0)>>>0)ya();else{k[h+20>>2]=a;k[a+24>>2]=h;q=j;f=i;break}else{q=j;f=i}}else{q=j;f=i}}else{q=c;f=d}while(0);if(q>>>0>=m>>>0)ya();a=m+4|0;b=k[a>>2]|0;if(!(b&1))ya();if(!(b&2)){if((m|0)==(k[3626]|0)){p=(k[3623]|0)+f|0;k[3623]=p;k[3626]=q;k[q+4>>2]=p|1;if((q|0)!=(k[3625]|0))return;k[3625]=0;k[3622]=0;return}if((m|0)==(k[3625]|0)){p=(k[3622]|0)+f|0;k[3622]=p;k[3625]=q;k[q+4>>2]=p|1;k[q+p>>2]=p;return}f=(b&-8)+f|0;d=b>>>3;do if(b>>>0>=256){e=k[m+24>>2]|0;a=k[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;c=b+4|0;a=k[c>>2]|0;if(!a){a=k[b>>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[3624]|0)>>>0)ya();else{k[b>>2]=0;n=a;break}}else{b=k[m+8>>2]|0;if(b>>>0<(k[3624]|0)>>>0)ya();c=b+12|0;if((k[c>>2]|0)!=(m|0))ya();d=a+8|0;if((k[d>>2]|0)==(m|0)){k[c>>2]=a;k[d>>2]=b;n=a;break}else ya()}while(0);if(e|0){a=k[m+28>>2]|0;b=14784+(a<<2)|0;if((m|0)==(k[b>>2]|0)){k[b>>2]=n;if(!n){k[3621]=k[3621]&~(1<>>0<(k[3624]|0)>>>0)ya();a=e+16|0;if((k[a>>2]|0)==(m|0))k[a>>2]=n;else k[e+20>>2]=n;if(!n)break}c=k[3624]|0;if(n>>>0>>0)ya();k[n+24>>2]=e;a=m+16|0;b=k[a>>2]|0;do if(b|0)if(b>>>0>>0)ya();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[3624]|0)>>>0)ya();else{k[n+20>>2]=a;k[a+24>>2]=n;break}}}else{b=k[m+8>>2]|0;c=k[m+12>>2]|0;a=14520+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(k[3624]|0)>>>0)ya();if((k[b+12>>2]|0)!=(m|0))ya()}if((c|0)==(b|0)){k[3620]=k[3620]&~(1<>>0<(k[3624]|0)>>>0)ya();a=c+8|0;if((k[a>>2]|0)==(m|0))l=a;else ya()}else l=c+8|0;k[b+12>>2]=c;k[l>>2]=b}while(0);k[q+4>>2]=f|1;k[q+f>>2]=f;if((q|0)==(k[3625]|0)){k[3622]=f;return}}else{k[a>>2]=b&-2;k[q+4>>2]=f|1;k[q+f>>2]=f}a=f>>>3;if(f>>>0<256){c=14520+(a<<1<<2)|0;b=k[3620]|0;a=1<>2]|0;if(b>>>0<(k[3624]|0)>>>0)ya();else{o=a;p=b}}else{k[3620]=b|a;o=c+8|0;p=c}k[o>>2]=q;k[p+12>>2]=q;k[q+8>>2]=p;k[q+12>>2]=c;return}a=f>>>8;if(a)if(f>>>0>16777215)c=31;else{o=(a+1048320|0)>>>16&8;p=a<>>16&4;p=p<>>16&2;c=14-(n|o|c)+(p<>>15)|0;c=f>>>(c+7|0)&1|c<<1}else c=0;d=14784+(c<<2)|0;k[q+28>>2]=c;k[q+20>>2]=0;k[q+16>>2]=0;a=k[3621]|0;b=1<>>1)|0);a=k[d>>2]|0;while(1){if((k[a+4>>2]&-8|0)==(f|0)){c=a;d=130;break}b=a+16+(e>>>31<<2)|0;c=k[b>>2]|0;if(!c){d=127;break}else{e=e<<1;a=c}}if((d|0)==127)if(b>>>0<(k[3624]|0)>>>0)ya();else{k[b>>2]=q;k[q+24>>2]=a;k[q+12>>2]=q;k[q+8>>2]=q;break}else if((d|0)==130){a=c+8|0;b=k[a>>2]|0;p=k[3624]|0;if(b>>>0>=p>>>0&c>>>0>=p>>>0){k[b+12>>2]=q;k[a>>2]=q;k[q+8>>2]=b;k[q+12>>2]=c;k[q+24>>2]=0;break}else ya()}}else{k[3621]=a|b;k[d>>2]=q;k[q+24>>2]=d;k[q+12>>2]=q;k[q+8>>2]=q}while(0);q=(k[3628]|0)+-1|0;k[3628]=q;if(!q)a=14936;else return;while(1){a=k[a>>2]|0;if(!a)break;else a=a+8|0}k[3628]=-1;return}function yp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;a:do if(a>>>0<212){b=4944;c=48;b:while(1){while(1){if(!c)break b;d=(c|0)/2|0;e=b+(d<<2)|0;if((k[e>>2]|0)>>>0>>0){b=e;break}else c=d}b=b+4|0;c=c+-1-d|0}b=k[b>>2]|0}else{f=(a>>>0)/210|0;g=f*210|0;a=a-g|0;b=5136;c=48;c:while(1){while(1){if(!c)break c;d=(c|0)/2|0;e=b+(d<<2)|0;if((k[e>>2]|0)>>>0>>0){b=e;break}else c=d}b=b+4|0;c=c+-1-d|0}b=b-5136>>2;a=b;b=(k[5136+(b<<2)>>2]|0)+g|0;while(1){e=5;while(1){if(e>>>0>=47){e=211;h=17;break}c=k[4944+(e<<2)>>2]|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break;else e=e+1|0}d:do if((h|0)==17)while(1){h=0;c=(b>>>0)/(e>>>0)|0;if(c>>>0>>0)break a;if((b|0)==(ha(c,e)|0))break d;c=e+10|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+12|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+16|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+18|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+22|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+28|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+30|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+36|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+40|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+42|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+46|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+52|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+58|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+60|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+66|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+70|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+72|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+78|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+82|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+88|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+96|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+100|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+102|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+106|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+108|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+112|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+120|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+126|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+130|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+136|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+138|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+142|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+148|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+150|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+156|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+162|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+166|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+168|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+172|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+178|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+180|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+186|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+190|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+192|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+196|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+198|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break d;c=e+208|0;d=(b>>>0)/(c>>>0)|0;if(d>>>0>>0)break a;if((b|0)==(ha(d,c)|0))break;else{e=e+210|0;h=17}}while(0);g=a+1|0;e=(g|0)==48;b=(e&1)+f|0;g=e?0:g;a=g;f=b;b=(k[5136+(g<<2)>>2]|0)+(b*210|0)|0}}while(0);return b|0}function zp(a){a=a|0;Aa(13677,13700,303,13797)}function Ap(a){a=a|0;Aa(13818,13700,314,13841)}function Bp(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+48|0;g=e+32|0;c=e+24|0;h=e+16|0;f=e;e=e+36|0;a=Cp()|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[1353];Fp(14239,c)}if((b|0)==1126902529&(a|0)==1129074247)a=k[d+44>>2]|0;else a=d+80|0;k[e>>2]=a;d=k[d>>2]|0;a=k[d+4>>2]|0;if(_a[k[(k[168]|0)+16>>2]&31](672,d,e)|0){h=k[e>>2]|0;e=k[1353]|0;h=cb[k[(k[h>>2]|0)+8>>2]&127](h)|0;k[f>>2]=e;k[f+4>>2]=a;k[f+8>>2]=h;Fp(14153,f)}else{k[h>>2]=k[1353];k[h+4>>2]=a;Fp(14198,h)}}Fp(14277,g)}function Cp(){var a=0,b=0;a=r;r=r+16|0;if(!(Ma(14976,3)|0)){b=Ka(k[3745]|0)|0;r=a;return b|0}else Fp(13965,a);return 0}function Dp(){var a=0;a=r;r=r+16|0;if(!(xa(14980,71)|0)){r=a;return}else Fp(13915,a)}function Ep(a){a=a|0;var b=0;b=r;r=r+16|0;xp(a);if(!(Pa(k[3745]|0,0)|0)){r=b;return}else Fp(13862,b)}function Fp(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c>>2]=b;b=k[1178]|0;cp(b,a,c)|0;vp(10,b)|0;ya()}function Gp(a){a=a|0;return}function Hp(a){a=a|0;return}function Ip(a){a=a|0;Jp(a);return}function Jp(a){a=a|0;xp(a);return}function Kp(a){a=a|0;return}function Lp(a){a=a|0;return}function Mp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+64|0;f=g;if((a|0)!=(b|0))if((b|0)!=0?(e=Np(b,712,680,0)|0,(e|0)!=0):0){b=f;d=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(d|0));k[f>>2]=e;k[f+8>>2]=a;k[f+12>>2]=-1;k[f+48>>2]=1;hb[k[(k[e>>2]|0)+28>>2]&3](e,f,k[c>>2]|0,1);if((k[f+24>>2]|0)==1){k[c>>2]=k[f+16>>2];b=1}else b=0}else b=0;else b=1;r=g;return b|0}function Np(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;p=q;o=k[a>>2]|0;n=a+(k[o+-8>>2]|0)|0;o=k[o+-4>>2]|0;k[p>>2]=c;k[p+4>>2]=a;k[p+8>>2]=b;k[p+12>>2]=d;h=p+16|0;d=p+20|0;a=p+24|0;b=p+28|0;e=p+32|0;f=p+40|0;g=(o|0)==(c|0);l=h;m=l+36|0;do{k[l>>2]=0;l=l+4|0}while((l|0)<(m|0));j[h+36>>1]=0;i[h+38>>0]=0;a:do if(g){k[p+48>>2]=1;fb[k[(k[c>>2]|0)+20>>2]&3](c,p,n,n,1,0);d=(k[a>>2]|0)==1?n:0}else{$a[k[(k[o>>2]|0)+24>>2]&3](o,p,n,1,0);switch(k[p+36>>2]|0){case 0:{d=(k[f>>2]|0)==1&(k[b>>2]|0)==1&(k[e>>2]|0)==1?k[d>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((k[a>>2]|0)!=1?!((k[f>>2]|0)==0&(k[b>>2]|0)==1&(k[e>>2]|0)==1):0){d=0;break}d=k[h>>2]|0}while(0);r=q;return d|0}function Op(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((a|0)==(k[b+8>>2]|0))Pp(0,b,c,d,e);else{a=k[a+8>>2]|0;fb[k[(k[a>>2]|0)+20>>2]&3](a,b,c,d,e,f)}return}function Pp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;i[b+53>>0]=1;do if((k[b+4>>2]|0)==(d|0)){i[b+52>>0]=1;d=b+16|0;a=k[d>>2]|0;if(!a){k[d>>2]=c;k[b+24>>2]=e;k[b+36>>2]=1;if(!((e|0)==1?(k[b+48>>2]|0)==1:0))break;i[b+54>>0]=1;break}if((a|0)!=(c|0)){e=b+36|0;k[e>>2]=(k[e>>2]|0)+1;i[b+54>>0]=1;break}a=b+24|0;d=k[a>>2]|0;if((d|0)==2){k[a>>2]=e;d=e}if((d|0)==1?(k[b+48>>2]|0)==1:0)i[b+54>>0]=1}while(0);return}function Qp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;do if((a|0)==(k[b+8>>2]|0)){if((k[b+4>>2]|0)==(c|0)?(f=b+28|0,(k[f>>2]|0)!=1):0)k[f>>2]=d}else{if((a|0)!=(k[b>>2]|0)){h=k[a+8>>2]|0;$a[k[(k[h>>2]|0)+24>>2]&3](h,b,c,d,e);break}if((k[b+16>>2]|0)!=(c|0)?(h=b+20|0,(k[h>>2]|0)!=(c|0)):0){k[b+32>>2]=d;g=b+44|0;if((k[g>>2]|0)==4)break;f=b+52|0;i[f>>0]=0;d=b+53|0;i[d>>0]=0;a=k[a+8>>2]|0;fb[k[(k[a>>2]|0)+20>>2]&3](a,b,c,c,1,e);if(i[d>>0]|0)if(!(i[f>>0]|0)){f=1;d=13}else d=17;else{f=0;d=13}do if((d|0)==13){k[h>>2]=c;c=b+40|0;k[c>>2]=(k[c>>2]|0)+1;if((k[b+36>>2]|0)==1?(k[b+24>>2]|0)==2:0){i[b+54>>0]=1;if(f){d=17;break}else{f=4;break}}if(f)d=17;else f=4}while(0);if((d|0)==17)f=3;k[g>>2]=f;break}if((d|0)==1)k[b+32>>2]=1}while(0);return}function Rp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(k[b+8>>2]|0))Sp(0,b,c,d);else{a=k[a+8>>2]|0;hb[k[(k[a>>2]|0)+28>>2]&3](a,b,c,d)}return}function Sp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;a=b+16|0;e=k[a>>2]|0;do if(e){if((e|0)!=(c|0)){d=b+36|0;k[d>>2]=(k[d>>2]|0)+1;k[b+24>>2]=2;i[b+54>>0]=1;break}a=b+24|0;if((k[a>>2]|0)==2)k[a>>2]=d}else{k[a>>2]=c;k[b+24>>2]=d;k[b+36>>2]=1}while(0);return}function Tp(a){a=a|0;Jp(a);return}function Up(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((a|0)==(k[b+8>>2]|0))Pp(0,b,c,d,e);return}function Vp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;do if((a|0)==(k[b+8>>2]|0)){if((k[b+4>>2]|0)==(c|0)?(g=b+28|0,(k[g>>2]|0)!=1):0)k[g>>2]=d}else if((a|0)==(k[b>>2]|0)){if((k[b+16>>2]|0)!=(c|0)?(f=b+20|0,(k[f>>2]|0)!=(c|0)):0){k[b+32>>2]=d;k[f>>2]=c;e=b+40|0;k[e>>2]=(k[e>>2]|0)+1;if((k[b+36>>2]|0)==1?(k[b+24>>2]|0)==2:0)i[b+54>>0]=1;k[b+44>>2]=4;break}if((d|0)==1)k[b+32>>2]=1}while(0);return}function Wp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(k[b+8>>2]|0))Sp(0,b,c,d);return}function Xp(){var a=0,b=0,c=0,d=0;c=r;r=r+16|0;d=c+8|0;a=Cp()|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){eb[k[b+12>>2]&3]();Fp(14289,c)}c=k[1332]|0;k[1332]=c+0;eb[c&3]();Fp(14289,d)}function Yp(a){a=a|0;return}function Zp(a){a=a|0;return}function _p(a){a=a|0;Jp(a);return}function $p(a){a=a|0;return 14342}function aq(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=wp(b)|0;if(a|0){b=6;break}a=bq()|0;if(!a){b=5;break}eb[a&3]()}if((b|0)==5){b=Ba(4)|0;k[b>>2]=5424;Qa(b|0,736,68)}else if((b|0)==6)return a|0;return 0}function bq(){var a=0;a=k[3746]|0;k[3746]=a+0;return a|0}function cq(a){a=a|0;return aq(a)|0}function dq(a){a=a|0;Jp(a);return}function eq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+16|0;d=e;k[d>>2]=k[c>>2];a=_a[k[(k[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)k[c>>2]=k[d>>2];r=e;return a&1|0}function fq(a){a=a|0;if(!a)a=0;else a=(Np(a,712,768,0)|0)!=0;return a&1|0}function gq(){}function hq(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 (L=d,a-c>>>0|0)|0}function iq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a+c|0;if((c|0)>=20){b=b&255;f=a&3;g=b|b<<8|b<<16|b<<24;e=d&~3;if(f){f=a+4-f|0;while((a|0)<(f|0)){i[a>>0]=b;a=a+1|0}}while((a|0)<(e|0)){k[a>>2]=g;a=a+4|0}}while((a|0)<(d|0)){i[a>>0]=b;a=a+1|0}return a-c|0}function jq(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b<>>32-c;return a<>>0;return (L=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function lq(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b>>>c;return a>>>c|(b&(1<>>c-32|0}function mq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((c|0)>=4096)return Ga(a|0,b|0,c|0)|0;d=a|0;if((a&3)==(b&3)){while(a&3){if(!c)return d|0;i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}while((c|0)>=4){k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0;c=c-4|0}}while((c|0)>0){i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}return d|0}function nq(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 mq(a,b,c)|0;return a|0}function oq(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b>>c;return a>>>c|(b&(1<>c-32|0}function pq(a){a=a|0;var b=0;b=i[v+(a&255)>>0]|0;if((b|0)<8)return b|0;b=i[v+(a>>8&255)>>0]|0;if((b|0)<8)return b+8|0;b=i[v+(a>>16&255)>>0]|0;if((b|0)<8)return b+16|0;return (i[v+(a>>>24)>>0]|0)+24|0}function qq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=ha(e,f)|0;d=a>>>16;a=(c>>>16)+(ha(e,d)|0)|0;e=b>>>16;b=ha(e,f)|0;return (L=(a>>>16)+(ha(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function rq(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=hq(j^a|0,i^b|0,j|0,i|0)|0;g=L;a=f^j;b=e^i;return hq((wq(h,g,hq(f^c|0,e^d|0,f|0,e|0)|0,L,0)|0)^a|0,L^b|0,a|0,b|0)|0}function sq(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;e=r;r=r+16|0;h=e|0;g=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;j=d>>31|((d|0)<0?-1:0)<<1;i=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;a=hq(g^a|0,f^b|0,g|0,f|0)|0;b=L;wq(a,b,hq(j^c|0,i^d|0,j|0,i|0)|0,L,h)|0;d=hq(k[h>>2]^g|0,k[h+4>>2]^f|0,g|0,f|0)|0;c=L;r=e;return (L=c,d)|0}function tq(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=qq(e,f)|0;a=L;return (L=(ha(b,f)|0)+(ha(d,e)|0)+a|a&0,c|0|0)|0}function uq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wq(a,b,c,d,0)|0}function vq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=r;r=r+16|0;e=f|0;wq(a,b,c,d,e)|0;r=f;return (L=k[e+4>>2]|0,k[e>>2]|0)|0}function wq(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 (L=n,e)|0}else{if(!f){n=0;e=0;return (L=n,e)|0}k[e>>2]=a|0;k[e+4>>2]=b&0;n=0;e=0;return (L=n,e)|0}}f=(h|0)==0;do if(g){if(!f){f=(ja(h|0)|0)-(ja(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 (L=n,e)|0}f=g-1|0;if(f&g|0){h=(ja(g|0)|0)+33-(ja(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 (L=o,p)|0}else{p=pq(g|0)|0;o=j>>>(p>>>0)|0;p=j<<32-p|l>>>(p>>>0)|0;return (L=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 (L=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 (L=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>>>((pq(h|0)|0)>>>0);return (L=o,p)|0}f=(ja(h|0)|0)-(ja(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 (L=o,p)|0}while(0);if(!g){j=h;i=0;h=0}else{m=c|0|0;l=n|d&0;j=kq(m|0,l|0,-1,-1)|0;c=L;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;hq(j|0,c|0,d|0,n|0)|0;p=L;o=p>>31|((p|0)<0?-1:0)<<1;h=o&1;a=hq(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=L;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 (L=o,p)|0}function xq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return _a[a&31](b|0,c|0,d|0)|0}function yq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;$a[a&3](b|0,c|0,d|0,e|0,f|0)}function zq(a,b){a=a|0;b=b|0;ab[a&127](b|0)}function Aq(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 bb[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Bq(a,b){a=a|0;b=b|0;return cb[a&127](b|0)|0}function Cq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;db[a&7](b|0,c|0,d|0)}function Dq(a){a=a|0;eb[a&3]()}function Eq(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;fb[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Fq(a,b,c){a=a|0;b=b|0;c=c|0;return gb[a&63](b|0,c|0)|0}function Gq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;hb[a&3](b|0,c|0,d|0,e|0)}function Hq(a,b,c){a=a|0;b=b|0;c=c|0;ka(0);return 0}function Iq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ka(1)}function Jq(a){a=a|0;ka(2)}function Kq(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(3);return 0}function Lq(a){a=a|0;ka(4);return 0}function Mq(a,b,c){a=a|0;b=b|0;c=c|0;ka(5)}function Nq(){ka(6)}function Oq(){Wa()}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;ka(7)}function Qq(a,b){a=a|0;b=b|0;ka(8);return 0}function Rq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(9)} +function gb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!a)return;c=a+-8|0;g=k[2873]|0;if(c>>>0>>0)sa();a=k[a+-4>>2]|0;b=a&3;if((b|0)==1)sa();d=a&-8;n=c+d|0;do if(!(a&1)){a=k[c>>2]|0;if(!b)return;j=c+(0-a)|0;i=a+d|0;if(j>>>0>>0)sa();if((j|0)==(k[2874]|0)){a=n+4|0;b=k[a>>2]|0;if((b&3|0)!=3){q=j;e=i;break}k[2871]=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=11516+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0>>0)sa();if((k[b+12>>2]|0)!=(j|0))sa()}if((c|0)==(b|0)){k[2869]=k[2869]&~(1<>>0>>0)sa();a=c+8|0;if((k[a>>2]|0)==(j|0))f=a;else sa()}else f=c+8|0;k[b+12>>2]=c;k[f>>2]=b;q=j;e=i;break}f=k[j+24>>2]|0;c=k[j+12>>2]|0;do if((c|0)==(j|0)){c=j+16|0;b=c+4|0;a=k[b>>2]|0;if(!a){a=k[c>>2]|0;if(!a){h=0;break}else b=c}while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0>>0)sa();else{k[b>>2]=0;h=a;break}}else{d=k[j+8>>2]|0;if(d>>>0>>0)sa();a=d+12|0;if((k[a>>2]|0)!=(j|0))sa();b=c+8|0;if((k[b>>2]|0)==(j|0)){k[a>>2]=c;k[b>>2]=d;h=c;break}else sa()}while(0);if(f){a=k[j+28>>2]|0;b=11780+(a<<2)|0;if((j|0)==(k[b>>2]|0)){k[b>>2]=h;if(!h){k[2870]=k[2870]&~(1<>>0<(k[2873]|0)>>>0)sa();a=f+16|0;if((k[a>>2]|0)==(j|0))k[a>>2]=h;else k[f+20>>2]=h;if(!h){q=j;e=i;break}}c=k[2873]|0;if(h>>>0>>0)sa();k[h+24>>2]=f;a=j+16|0;b=k[a>>2]|0;do if(b|0)if(b>>>0>>0)sa();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[2873]|0)>>>0)sa();else{k[h+20>>2]=a;k[a+24>>2]=h;q=j;e=i;break}else{q=j;e=i}}else{q=j;e=i}}else{q=c;e=d}while(0);if(q>>>0>=n>>>0)sa();a=n+4|0;b=k[a>>2]|0;if(!(b&1))sa();if(!(b&2)){if((n|0)==(k[2875]|0)){p=(k[2872]|0)+e|0;k[2872]=p;k[2875]=q;k[q+4>>2]=p|1;if((q|0)!=(k[2874]|0))return;k[2874]=0;k[2871]=0;return}if((n|0)==(k[2874]|0)){p=(k[2871]|0)+e|0;k[2871]=p;k[2874]=q;k[q+4>>2]=p|1;k[q+p>>2]=p;return}e=(b&-8)+e|0;d=b>>>3;do if(b>>>0>=256){f=k[n+24>>2]|0;a=k[n+12>>2]|0;do if((a|0)==(n|0)){c=n+16|0;b=c+4|0;a=k[b>>2]|0;if(!a){a=k[c>>2]|0;if(!a){m=0;break}else b=c}while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0<(k[2873]|0)>>>0)sa();else{k[b>>2]=0;m=a;break}}else{b=k[n+8>>2]|0;if(b>>>0<(k[2873]|0)>>>0)sa();c=b+12|0;if((k[c>>2]|0)!=(n|0))sa();d=a+8|0;if((k[d>>2]|0)==(n|0)){k[c>>2]=a;k[d>>2]=b;m=a;break}else sa()}while(0);if(f|0){a=k[n+28>>2]|0;b=11780+(a<<2)|0;if((n|0)==(k[b>>2]|0)){k[b>>2]=m;if(!m){k[2870]=k[2870]&~(1<>>0<(k[2873]|0)>>>0)sa();a=f+16|0;if((k[a>>2]|0)==(n|0))k[a>>2]=m;else k[f+20>>2]=m;if(!m)break}c=k[2873]|0;if(m>>>0>>0)sa();k[m+24>>2]=f;a=n+16|0;b=k[a>>2]|0;do if(b|0)if(b>>>0>>0)sa();else{k[m+16>>2]=b;k[b+24>>2]=m;break}while(0);a=k[a+4>>2]|0;if(a|0)if(a>>>0<(k[2873]|0)>>>0)sa();else{k[m+20>>2]=a;k[a+24>>2]=m;break}}}else{b=k[n+8>>2]|0;c=k[n+12>>2]|0;a=11516+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(k[2873]|0)>>>0)sa();if((k[b+12>>2]|0)!=(n|0))sa()}if((c|0)==(b|0)){k[2869]=k[2869]&~(1<>>0<(k[2873]|0)>>>0)sa();a=c+8|0;if((k[a>>2]|0)==(n|0))l=a;else sa()}else l=c+8|0;k[b+12>>2]=c;k[l>>2]=b}while(0);k[q+4>>2]=e|1;k[q+e>>2]=e;if((q|0)==(k[2874]|0)){k[2871]=e;return}}else{k[a>>2]=b&-2;k[q+4>>2]=e|1;k[q+e>>2]=e}a=e>>>3;if(e>>>0<256){c=11516+(a<<1<<2)|0;b=k[2869]|0;a=1<>2]|0;if(b>>>0<(k[2873]|0)>>>0)sa();else{o=b;p=a}}else{k[2869]=b|a;o=c;p=c+8|0}k[p>>2]=q;k[o+12>>2]=q;k[q+8>>2]=o;k[q+12>>2]=c;return}a=e>>>8;if(a)if(e>>>0>16777215)a=31;else{o=(a+1048320|0)>>>16&8;p=a<>>16&4;p=p<>>16&2;a=14-(n|o|a)+(p<>>15)|0;a=e>>>(a+7|0)&1|a<<1}else a=0;d=11780+(a<<2)|0;k[q+28>>2]=a;k[q+20>>2]=0;k[q+16>>2]=0;b=k[2870]|0;c=1<>>1)|0);d=k[d>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(e|0)){a=130;break}c=d+16+(b>>>31<<2)|0;a=k[c>>2]|0;if(!a){a=127;break}else{b=b<<1;d=a}}if((a|0)==127)if(c>>>0<(k[2873]|0)>>>0)sa();else{k[c>>2]=q;k[q+24>>2]=d;k[q+12>>2]=q;k[q+8>>2]=q;break}else if((a|0)==130){a=d+8|0;b=k[a>>2]|0;p=k[2873]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){k[b+12>>2]=q;k[a>>2]=q;k[q+8>>2]=b;k[q+12>>2]=d;k[q+24>>2]=0;break}else sa()}}else{k[2870]=b|c;k[d>>2]=q;k[q+24>>2]=d;k[q+12>>2]=q;k[q+8>>2]=q}while(0);q=(k[2877]|0)+-1|0;k[2877]=q;if(!q)a=11932;else return;while(1){a=k[a>>2]|0;if(!a)break;else a=a+8|0}k[2877]=-1;return}function hb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0.0,n=0.0,p=0.0,q=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0.0,Y=0.0,Z=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0;W=r;r=r+48|0;S=W+24|0;T=W+12|0;U=W;V=a+72|0;k[V>>2]=e;R=a+64|0;k[R>>2]=f;Q=a+68|0;g=e>>>0>1073741823?-1:e<<2;g=(g|0)==0?1:g;while(1){f=Xa(g)|0;if(f|0)break;f=k[2993]|0;k[2993]=f+0;if(!f){f=0;break}Na[f&1]()}g=k[Q>>2]|0;k[Q>>2]=f;if(g|0)gb(g);P=a+8|0;k[P>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;N=1-g+f|0;k[a+20>>2]=N;f=(N|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(N&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Ld(f,e-i|0);break}if(i>>>0>e>>>0?(s=h+(e<<2)|0,(j|0)!=(s|0)):0)k[g>>2]=j+(~((j+-4-s|0)>>>2)<<2)}while(0);v=a+56|0;h=k[v>>2]|0;g=k[h+4>>2]|0;h=k[h>>2]|0;f=g-h|0;if((f|0)<=0){r=W;return 1}w=a+16|0;x=a+32|0;y=a+12|0;z=a+28|0;A=a+20|0;B=a+24|0;C=a+48|0;D=a+52|0;u=a+60|0;E=U+4|0;F=T+4|0;G=U+8|0;H=T+8|0;I=S+4|0;J=S+8|0;K=a+76|0;L=a+80|0;N=a+84|0;t=a+68|0;f=(f>>2)+-1|0;a:while(1){if(g-h>>2>>>0<=f>>>0){f=25;break}h=k[h+(f<<2)>>2]|0;g=h+1|0;if((h|0)>=0){g=((g|0)%3|0|0)==0?h+-2|0:g;h=h+(((h>>>0)%3|0|0)==0?2:-1)|0;if((g|0)<0)g=-1073741824;else g=k[(k[k[C>>2]>>2]|0)+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]|0;if((h|0)<0)i=-1073741824;else i=k[(k[k[C>>2]>>2]|0)+(((h>>>0)/3|0)*12|0)+(((h>>>0)%3|0)<<2)>>2]|0}else{g=-1073741824;i=-1073741824}j=k[D>>2]|0;h=k[j>>2]|0;j=(k[j+4>>2]|0)-h>>2;if(j>>>0<=g>>>0){f=33;break}l=k[h+(g<<2)>>2]|0;if(j>>>0<=i>>>0){f=35;break}h=k[h+(i<<2)>>2]|0;g=(l|0)<(f|0);b:do if(!(g&(h|0)<(f|0))){do if(g){g=k[V>>2]|0;i=_(g,l)|0}else{if((f|0)>0){g=k[V>>2]|0;i=_(g,f+-1|0)|0;break}if((k[V>>2]|0)<=0)break b;h=k[t>>2]|0;g=0;while(1){k[h+(g<<2)>>2]=0;g=g+1|0;if((g|0)>=(k[V>>2]|0))break b}}while(0);if((g|0)>0){h=k[t>>2]|0;g=0;do{k[h+(g<<2)>>2]=k[b+(g+i<<2)>>2];g=g+1|0}while((g|0)<(k[V>>2]|0))}}else{a=k[V>>2]|0;s=_(a,l)|0;m=+(k[b+(s<<2)>>2]|0);n=+(k[b+(s+1<<2)>>2]|0);a=_(a,h)|0;p=+(k[b+(a<<2)>>2]|0);q=+(k[b+(a+1<<2)>>2]|0);if(!(p!=m|q!=n)){a=k[t>>2]|0;k[a>>2]=~~p;k[a+4>>2]=~~q;break}Sd(S,k[u>>2]|0,k[R>>2]|0,f);Sd(T,k[u>>2]|0,k[R>>2]|0,l);Sd(U,k[u>>2]|0,k[R>>2]|0,h);da=+o[T>>2];$=+o[U>>2]-da;ca=+o[F>>2];Z=+o[E>>2]-ca;ba=+o[H>>2];aa=+o[G>>2]-ba;da=+o[S>>2]-da;ca=+o[I>>2]-ca;ba=+o[J>>2]-ba;Y=$*$+0.0+Z*Z+aa*aa;X=($*da+0.0+Z*ca+aa*ba)/Y;$=da-$*X;Z=ca-Z*X;aa=ba-aa*X;Y=+O(+((aa*aa+(Z*Z+($*$+0.0)))/Y));$=p-m;Z=q-n;p=m+$*X;q=$*Y;X=n+Z*X;Y=Z*Y;n=p-Y;m=q+X;p=Y+p;q=X-q;g=_(k[V>>2]|0,f)|0;X=+(k[b+(g<<2)>>2]|0);Y=+(k[b+(g+1<<2)>>2]|0);Z=X-n;$=Y-m;X=X-p;Y=Y-q;g=k[L>>2]|0;h=k[N>>2]|0;i=(g|0)==(h<<5|0);if($*$+(Z*Z+0.0)>>0<1073741823?(a>>>0>>0?s:a):2147483647);g=k[L>>2]|0}k[L>>2]=g+1;a=(k[K>>2]|0)+(g>>>5<<2)|0;k[a>>2]=k[a>>2]|1<<(g&31)}else{if(i){if((g+1|0)<0){f=46;break a}a=h<<6;s=g+32&-32;Td(K,g>>>0<1073741823?(a>>>0>>0?s:a):2147483647);g=k[L>>2]|0}k[L>>2]=g+1;a=(k[K>>2]|0)+(g>>>5<<2)|0;k[a>>2]=k[a>>2]&~(1<<(g&31));n=p;m=q}s=~~+M(+(n+.5));a=k[t>>2]|0;k[a>>2]=s;s=~~+M(+(m+.5));k[a+4>>2]=s}while(0);a=_(f,e)|0;s=b+(a<<2)|0;d=k[Q>>2]|0;if((k[P>>2]|0)>0){l=0;do{j=k[d+(l<<2)>>2]|0;g=k[w>>2]|0;do if((j|0)<=(g|0)){g=k[y>>2]|0;h=k[x>>2]|0;i=h+(l<<2)|0;if((j|0)<(g|0)){k[i>>2]=g;i=h;break}else{k[i>>2]=j;i=h;break}}else{i=k[x>>2]|0;k[i+(l<<2)>>2]=g}while(0);l=l+1|0;g=k[P>>2]|0}while((l|0)<(g|0));if((g|0)>0){g=0;do{k[c+(g+a<<2)>>2]=(k[s+(g<<2)>>2]|0)-(k[i+(g<<2)>>2]|0);g=g+1|0;h=k[P>>2]|0}while((g|0)<(h|0));if((h|0)>0){g=0;do{h=c+(g+a<<2)|0;i=k[h>>2]|0;if((i|0)>=(k[z>>2]|0)){if((i|0)>(k[B>>2]|0))k[h>>2]=i-(k[A>>2]|0)}else k[h>>2]=(k[A>>2]|0)+i;g=g+1|0}while((g|0)<(k[P>>2]|0))}}}f=f+-1|0;if((f|0)<=-1){f=23;break}g=k[v>>2]|0;h=k[g>>2]|0;g=k[g+4>>2]|0}if((f|0)==23){r=W;return 1}else if((f|0)==25)Ba(11196,11078,315,11219);else if((f|0)==33)Ba(11196,11078,315,11219);else if((f|0)==35)Ba(11196,11078,315,11219);else if((f|0)==41)Ba(11055,11078,304,11175);else if((f|0)==46)Ba(11055,11078,304,11175);return 0}function ib(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+208|0;t=y+168|0;v=y+32|0;u=y;p=y+136|0;q=y+104|0;w=a+4|0;l=k[w>>2]|0;c=k[l+20>>2]|0;f=c+8|0;e=k[f>>2]|0;f=k[f+4>>2]|0;g=c+16|0;j=g;h=k[j>>2]|0;j=k[j+4>>2]|0;if(!((f|0)>(j|0)|(f|0)==(j|0)&e>>>0>h>>>0)){x=0;r=y;return x|0}c=k[c>>2]|0;m=i[c+h>>0]|0;d=Yf(h|0,j|0,1,0)|0;s=L;o=g;k[o>>2]=d;k[o+4>>2]=s;if(!((f|0)>(s|0)|(f|0)==(s|0)&e>>>0>d>>>0)){x=0;r=y;return x|0}e=i[c+d>>0]|0;o=Yf(h|0,j|0,2,0)|0;s=g;k[s>>2]=o;k[s+4>>2]=L;do if(m<<24>>24>-1){c=m<<24>>24;d=k[a+228>>2]|0;if(c>>>0<(((k[a+232>>2]|0)-d|0)/116|0)>>>0){k[d+(c*116|0)>>2]=b;break}else{x=0;r=y;return x|0}}while(0);s=k[l+24>>2]|0;c=m<<24>>24<0;if(!(e<<24>>24)){if(c)g=a+200|0;else{g=m<<24>>24;q=k[a+228>>2]|0;i[q+(g*116|0)+72>>0]=0;g=q+(g*116|0)+76|0}while(1){d=Xa(88)|0;if(d|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){d=0;break}Na[c&1]()}k[d+4>>2]=0;k[d>>2]=4512;h=d+12|0;k[h>>2]=4536;j=d+64|0;k[j>>2]=0;k[d+68>>2]=0;k[d+72>>2]=0;f=d+16|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));k[d+76>>2]=s;k[d+80>>2]=g;k[d+84>>2]=0;n=v+4|0;k[n>>2]=4536;l=v+56|0;k[l>>2]=0;o=v+60|0;k[o>>2]=0;k[v+64>>2]=0;f=v+8|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));e=k[a+8>>2]|0;k[u>>2]=4536;c=u+4|0;f=c+4|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;f=e;k[c>>2]=f;f=((k[f+4>>2]|0)-(k[e>>2]|0)|0)/12|0;i[t>>0]=0;nd(u+8|0,f,t);Ja[k[(k[u>>2]|0)+8>>2]&127](u);cd(p,u);cd(t,p);k[v>>2]=k[t+4>>2];f=v+4|0;Jc(f,t);k[t>>2]=4536;c=k[t+20>>2]|0;if(c|0)gb(c);c=k[t+8>>2]|0;if(c|0)gb(c);k[v+36>>2]=e;k[v+40>>2]=g;k[v+44>>2]=s;k[v+48>>2]=d;k[p>>2]=4536;c=k[p+20>>2]|0;if(c|0)gb(c);c=k[p+8>>2]|0;if(c|0)gb(c);k[d+8>>2]=k[v>>2];Jc(h,f);c=d+44|0;t=v+36|0;k[c>>2]=k[t>>2];k[c+4>>2]=k[t+4>>2];k[c+8>>2]=k[t+8>>2];k[c+12>>2]=k[t+12>>2];i[c+16>>0]=i[t+16>>0]|0;Hc(j,k[l>>2]|0,k[o>>2]|0);k[u>>2]=4536;c=k[u+20>>2]|0;if(c|0)gb(c);c=k[u+8>>2]|0;if(c|0)gb(c);c=k[l>>2]|0;e=c;if(c|0){f=k[o>>2]|0;if((f|0)!=(c|0))k[o>>2]=f+(~((f+-4-e|0)>>>2)<<2);gb(c)}k[n>>2]=4536;c=k[v+24>>2]|0;if(c|0)gb(c);c=k[v+12>>2]|0;if(c|0)gb(c)}else{if(c){x=0;r=y;return x|0}while(1){d=Xa(88)|0;if(d|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){d=0;break}Na[c&1]()}e=m<<24>>24;c=k[a+228>>2]|0;g=c+(e*116|0)+76|0;k[d+4>>2]=0;k[d>>2]=4556;h=d+12|0;k[h>>2]=4580;j=d+64|0;k[j>>2]=0;k[d+68>>2]=0;k[d+72>>2]=0;f=d+16|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));k[d+76>>2]=s;k[d+80>>2]=g;k[d+84>>2]=0;n=v+4|0;k[n>>2]=4580;l=v+56|0;k[l>>2]=0;o=v+60|0;k[o>>2]=0;k[v+64>>2]=0;f=v+8|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));f=c+(e*116|0)+4|0;k[u>>2]=4580;p=u+4|0;a=p+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;k[p>>2]=f;e=k[c+(e*116|0)+68>>2]|0;e=((k[e+4>>2]|0)-(k[e>>2]|0)|0)/12|0;i[t>>0]=0;nd(u+8|0,e,t);Ja[k[(k[u>>2]|0)+8>>2]&127](u);$c(q,u);$c(t,q);k[v>>2]=k[t+4>>2];e=v+4|0;Jc(e,t);k[t>>2]=4580;c=k[t+20>>2]|0;if(c|0)gb(c);c=k[t+8>>2]|0;if(c|0)gb(c);k[v+36>>2]=f;k[v+40>>2]=g;k[v+44>>2]=s;k[v+48>>2]=d;k[q>>2]=4580;c=k[q+20>>2]|0;if(c|0)gb(c);c=k[q+8>>2]|0;if(c|0)gb(c);k[d+8>>2]=k[v>>2];Jc(h,e);c=d+44|0;t=v+36|0;k[c>>2]=k[t>>2];k[c+4>>2]=k[t+4>>2];k[c+8>>2]=k[t+8>>2];k[c+12>>2]=k[t+12>>2];i[c+16>>0]=i[t+16>>0]|0;Hc(j,k[l>>2]|0,k[o>>2]|0);k[u>>2]=4580;c=k[u+20>>2]|0;if(c|0)gb(c);c=k[u+8>>2]|0;if(c|0)gb(c);c=k[l>>2]|0;e=c;if(c|0){f=k[o>>2]|0;if((f|0)!=(c|0))k[o>>2]=f+(~((f+-4-e|0)>>>2)<<2);gb(c)}k[n>>2]=4580;c=k[v+24>>2]|0;if(c|0)gb(c);c=k[v+12>>2]|0;if(c|0)gb(c)}while(1){c=Xa(52)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}j=c+4|0;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[c>>2]=4172;j=c+24|0;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;k[c+48>>2]=d;j=c;h=k[w>>2]|0;c=k[h+12>>2]|0;d=k[h+8>>2]|0;g=h+8|0;h=h+12|0;e=c-d>>2;do if((e|0)<=(b|0)){f=b+1|0;if(f>>>0>e>>>0){Xc(g,f-e|0);break}if(f>>>0>>0?(x=d+(f<<2)|0,(c|0)!=(x|0)):0)do{w=c+-4|0;k[h>>2]=w;c=k[w>>2]|0;k[w>>2]=0;if(c|0)Ja[k[(k[c>>2]|0)+4>>2]&127](c);c=k[h>>2]|0}while((c|0)!=(x|0))}while(0);x=(k[g>>2]|0)+(b<<2)|0;c=k[x>>2]|0;k[x>>2]=j;if(!c){x=1;r=y;return x|0}Ja[k[(k[c>>2]|0)+4>>2]&127](c);x=1;r=y;return x|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,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=a+8|0;k[K>>2]=e;do if(d|0){f=k[b>>2]|0;l=a+16|0;k[l>>2]=f;j=a+12|0;k[j>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[l>>2]=g;f=g;g=h}else g=h;else k[j>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;E=1-g+f|0;k[a+20>>2]=E;f=(E|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(E&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Ld(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);C=k[a+48>>2]|0;D=k[a+52>>2]|0;h=e>>>0>1073741823?-1:e<<2;g=(h|0)==0?1:h;while(1){f=Xa(g)|0;if(f|0){E=f;break}f=k[2993]|0;k[2993]=f+0;if(!f){E=0;break}Na[f&1]()}Ke(E|0,0,h|0)|0;s=a+56|0;g=k[s>>2]|0;h=k[g+4>>2]|0;g=k[g>>2]|0;f=h-g|0;a:do if((f|0)>4){t=(e|0)>0;u=a+16|0;v=a+32|0;w=a+12|0;x=a+28|0;y=a+20|0;z=a+24|0;A=C+12|0;B=e<<2;q=f>>2;f=h;while(1){r=q+-1|0;if(f-g>>2>>>0<=r>>>0)break;p=k[g+(r<<2)>>2]|0;if(t)Ke(E|0,0,B|0)|0;if((p|0)>-1){o=k[A>>2]|0;m=0;n=p;while(1){g=k[o+(n<<2)>>2]|0;if((g|0)>-1){i=k[C>>2]|0;h=(g>>>0)%3|0;l=k[D>>2]|0;d=k[l+(k[i+(((g>>>0)/3|0)*12|0)+(h<<2)>>2]<<2)>>2]|0;f=g+1|0;f=((f|0)%3|0|0)==0?g+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[i+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;j=k[l+(f<<2)>>2]|0;f=((h|0)==0?2:-1)+g|0;if((f|0)<0)f=-1073741824;else f=k[i+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;f=k[l+(f<<2)>>2]|0;if((d|0)<(r|0)&(j|0)<(r|0)&(f|0)<(r|0)){i=_(d,e)|0;h=_(j,e)|0;g=_(f,e)|0;if(t){f=0;do{d=E+(f<<2)|0;k[d>>2]=(k[b+(f+g<<2)>>2]|0)+(k[b+(f+h<<2)>>2]|0)-(k[b+(f+i<<2)>>2]|0)+(k[d>>2]|0);f=f+1|0}while((f|0)!=(e|0))}g=m+1|0}else g=m}else g=m;f=(((n>>>0)%3|0|0)==0?2:-1)+n|0;do if((f|0)>=0){f=k[o+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);n=(f|0)==(p|0)?-1073741824:f;if((n|0)<=-1)break;else m=g}d=_(r,e)|0;if(g){if(t){f=0;do{p=E+(f<<2)|0;k[p>>2]=(k[p>>2]|0)/(g|0)|0;f=f+1|0}while((f|0)!=(e|0))}l=b+(d<<2)|0;if((k[K>>2]|0)>0){j=0;do{i=k[E+(j<<2)>>2]|0;f=k[u>>2]|0;do if((i|0)<=(f|0)){f=k[w>>2]|0;g=k[v>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[v>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[K>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+d<<2)>>2]=(k[l+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[K>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+d<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[x>>2]|0)){if((h|0)>(k[z>>2]|0))k[g>>2]=h-(k[y>>2]|0)}else k[g>>2]=(k[y>>2]|0)+h;f=f+1|0}while((f|0)<(k[K>>2]|0))}}}}else{G=d;I=48}}else{G=_(r,e)|0;I=48}if((I|0)==48?(I=0,F=b+(G<<2)|0,H=b+((_(q+-2|0,e)|0)<<2)|0,(k[K>>2]|0)>0):0){j=0;do{i=k[H+(j<<2)>>2]|0;f=k[u>>2]|0;do if((i|0)<=(f|0)){f=k[w>>2]|0;g=k[v>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[v>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[K>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+G<<2)>>2]=(k[F+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[K>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+G<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[x>>2]|0)){if((h|0)>(k[z>>2]|0))k[g>>2]=h-(k[y>>2]|0)}else k[g>>2]=(k[y>>2]|0)+h;f=f+1|0}while((f|0)<(k[K>>2]|0))}}}if((r|0)<=1){J=E;break a}f=k[s>>2]|0;q=r;g=k[f>>2]|0;f=k[f+4>>2]|0}Ba(11196,11078,315,11219)}else J=E;while(0);if((e|0)>0)Ke(E|0,0,e<<2|0)|0;if((k[K>>2]|0)<=0){gb(E);return 1}l=a+16|0;d=a+32|0;m=a+12|0;j=0;do{i=k[J+(j<<2)>>2]|0;f=k[l>>2]|0;do if((i|0)<=(f|0)){f=k[m>>2]|0;g=k[d>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[d>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[K>>2]|0}while((j|0)<(f|0));if((f|0)>0)f=0;else{gb(E);return 1}do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[K>>2]|0}while((f|0)<(g|0));if((g|0)<=0){gb(E);return 1}j=a+28|0;l=a+20|0;g=a+24|0;f=0;do{h=c+(f<<2)|0;i=k[h>>2]|0;if((i|0)>=(k[j>>2]|0)){if((i|0)>(k[g>>2]|0))k[h>>2]=i-(k[l>>2]|0)}else k[h>>2]=(k[l>>2]|0)+i;f=f+1|0}while((f|0)<(k[K>>2]|0));gb(E);return 1}function kb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0.0,n=0.0,p=0.0,q=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0.0,Y=0.0,Z=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0;W=r;r=r+48|0;S=W+24|0;T=W+12|0;U=W;V=a+72|0;k[V>>2]=e;R=a+64|0;k[R>>2]=f;Q=a+68|0;g=e>>>0>1073741823?-1:e<<2;g=(g|0)==0?1:g;while(1){f=Xa(g)|0;if(f|0)break;f=k[2993]|0;k[2993]=f+0;if(!f){f=0;break}Na[f&1]()}g=k[Q>>2]|0;k[Q>>2]=f;if(g|0)gb(g);P=a+8|0;k[P>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;N=1-g+f|0;k[a+20>>2]=N;f=(N|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(N&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Ld(f,e-i|0);break}if(i>>>0>e>>>0?(s=h+(e<<2)|0,(j|0)!=(s|0)):0)k[g>>2]=j+(~((j+-4-s|0)>>>2)<<2)}while(0);v=a+56|0;h=k[v>>2]|0;g=k[h+4>>2]|0;h=k[h>>2]|0;f=g-h|0;if((f|0)<=0){r=W;return 1}w=a+16|0;x=a+32|0;y=a+12|0;z=a+28|0;A=a+20|0;B=a+24|0;C=a+48|0;D=a+52|0;u=a+60|0;E=U+4|0;F=T+4|0;G=U+8|0;H=T+8|0;I=S+4|0;J=S+8|0;K=a+76|0;L=a+80|0;N=a+84|0;t=a+68|0;f=(f>>2)+-1|0;a:while(1){if(g-h>>2>>>0<=f>>>0){f=25;break}h=k[h+(f<<2)>>2]|0;g=h+1|0;do if((h|0)>=0){g=((g|0)%3|0|0)==0?h+-2|0:g;if(!((h>>>0)%3|0)){i=h+2|0;break}else{i=h+-1|0;break}}else{i=h;g=h}while(0);j=k[(k[C>>2]|0)+28>>2]|0;h=k[j+(g<<2)>>2]|0;i=k[j+(i<<2)>>2]|0;j=k[D>>2]|0;g=k[j>>2]|0;j=(k[j+4>>2]|0)-g>>2;if(j>>>0<=h>>>0){f=32;break}l=k[g+(h<<2)>>2]|0;if(j>>>0<=i>>>0){f=34;break}h=k[g+(i<<2)>>2]|0;g=(l|0)<(f|0);b:do if(!(g&(h|0)<(f|0))){do if(g){g=k[V>>2]|0;i=_(g,l)|0}else{if((f|0)>0){g=k[V>>2]|0;i=_(g,f+-1|0)|0;break}if((k[V>>2]|0)<=0)break b;h=k[t>>2]|0;g=0;while(1){k[h+(g<<2)>>2]=0;g=g+1|0;if((g|0)>=(k[V>>2]|0))break b}}while(0);if((g|0)>0){h=k[t>>2]|0;g=0;do{k[h+(g<<2)>>2]=k[b+(g+i<<2)>>2];g=g+1|0}while((g|0)<(k[V>>2]|0))}}else{a=k[V>>2]|0;s=_(a,l)|0;m=+(k[b+(s<<2)>>2]|0);n=+(k[b+(s+1<<2)>>2]|0);a=_(a,h)|0;p=+(k[b+(a<<2)>>2]|0);q=+(k[b+(a+1<<2)>>2]|0);if(!(p!=m|q!=n)){a=k[t>>2]|0;k[a>>2]=~~p;k[a+4>>2]=~~q;break}Sd(S,k[u>>2]|0,k[R>>2]|0,f);Sd(T,k[u>>2]|0,k[R>>2]|0,l);Sd(U,k[u>>2]|0,k[R>>2]|0,h);da=+o[T>>2];$=+o[U>>2]-da;ca=+o[F>>2];Z=+o[E>>2]-ca;ba=+o[H>>2];aa=+o[G>>2]-ba;da=+o[S>>2]-da;ca=+o[I>>2]-ca;ba=+o[J>>2]-ba;Y=$*$+0.0+Z*Z+aa*aa;X=($*da+0.0+Z*ca+aa*ba)/Y;$=da-$*X;Z=ca-Z*X;aa=ba-aa*X;Y=+O(+((aa*aa+(Z*Z+($*$+0.0)))/Y));$=p-m;Z=q-n;p=m+$*X;q=$*Y;X=n+Z*X;Y=Z*Y;n=p-Y;m=q+X;p=Y+p;q=X-q;g=_(k[V>>2]|0,f)|0;X=+(k[b+(g<<2)>>2]|0);Y=+(k[b+(g+1<<2)>>2]|0);Z=X-n;$=Y-m;X=X-p;Y=Y-q;g=k[L>>2]|0;h=k[N>>2]|0;i=(g|0)==(h<<5|0);if($*$+(Z*Z+0.0)>>0<1073741823?(a>>>0>>0?s:a):2147483647);g=k[L>>2]|0}k[L>>2]=g+1;a=(k[K>>2]|0)+(g>>>5<<2)|0;k[a>>2]=k[a>>2]|1<<(g&31)}else{if(i){if((g+1|0)<0){f=45;break a}a=h<<6;s=g+32&-32;Td(K,g>>>0<1073741823?(a>>>0>>0?s:a):2147483647);g=k[L>>2]|0}k[L>>2]=g+1;a=(k[K>>2]|0)+(g>>>5<<2)|0;k[a>>2]=k[a>>2]&~(1<<(g&31));n=p;m=q}s=~~+M(+(n+.5));a=k[t>>2]|0;k[a>>2]=s;s=~~+M(+(m+.5));k[a+4>>2]=s}while(0);a=_(f,e)|0;s=b+(a<<2)|0;d=k[Q>>2]|0;if((k[P>>2]|0)>0){l=0;do{j=k[d+(l<<2)>>2]|0;g=k[w>>2]|0;do if((j|0)<=(g|0)){g=k[y>>2]|0;h=k[x>>2]|0;i=h+(l<<2)|0;if((j|0)<(g|0)){k[i>>2]=g;i=h;break}else{k[i>>2]=j;i=h;break}}else{i=k[x>>2]|0;k[i+(l<<2)>>2]=g}while(0);l=l+1|0;g=k[P>>2]|0}while((l|0)<(g|0));if((g|0)>0){g=0;do{k[c+(g+a<<2)>>2]=(k[s+(g<<2)>>2]|0)-(k[i+(g<<2)>>2]|0);g=g+1|0;h=k[P>>2]|0}while((g|0)<(h|0));if((h|0)>0){g=0;do{h=c+(g+a<<2)|0;i=k[h>>2]|0;if((i|0)>=(k[z>>2]|0)){if((i|0)>(k[B>>2]|0))k[h>>2]=i-(k[A>>2]|0)}else k[h>>2]=(k[A>>2]|0)+i;g=g+1|0}while((g|0)<(k[P>>2]|0))}}}f=f+-1|0;if((f|0)<=-1){f=23;break}g=k[v>>2]|0;h=k[g>>2]|0;g=k[g+4>>2]|0}if((f|0)==23){r=W;return 1}else if((f|0)==25)Ba(11196,11078,315,11219);else if((f|0)==32)Ba(11196,11078,315,11219);else if((f|0)==34)Ba(11196,11078,315,11219);else if((f|0)==40)Ba(11055,11078,304,11175);else if((f|0)==45)Ba(11055,11078,304,11175);return 0}function lb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0;o=a+8|0;f=k[o>>2]|0;switch(k[f+28>>2]|0){case 2:{e=i[f+24>>0]|0;l=e<<24>>24;d=(l|0)>-1?l:-1;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0){h=c;break}c=k[2993]|0;k[2993]=c+0;if(!c){h=0;break}Na[c&1]()}a:do if(b|0){g=a+16|0;if(e<<24>>24>0){d=0;e=0}else{xe(k[k[f+64>>2]>>2]|0,h|0,l|0)|0;if((b|0)==1)break;else{c=0;d=1}while(1){c=c+l|0;xe((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+c|0,h|0,l|0)|0;d=d+1|0;if((d|0)==(b|0))break a}}while(1){f=k[g>>2]|0;c=0;a=e;while(1){i[h+c>>0]=k[f+(a<<2)>>2];c=c+1|0;if((c|0)==(l|0))break;else a=a+1|0}xe((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,h|0,l|0)|0;d=d+1|0;if((d|0)==(b|0))break;else e=e+l|0}}while(0);gb(h);o=1;return o|0}case 1:{e=i[f+24>>0]|0;l=e<<24>>24;d=(l|0)>-1?l:-1;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0){h=c;break}c=k[2993]|0;k[2993]=c+0;if(!c){h=0;break}Na[c&1]()}b:do if(b|0){g=a+16|0;if(e<<24>>24>0){d=0;e=0}else{xe(k[k[f+64>>2]>>2]|0,h|0,l|0)|0;if((b|0)==1)break;else{c=0;d=1}while(1){c=c+l|0;xe((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+c|0,h|0,l|0)|0;d=d+1|0;if((d|0)==(b|0))break b}}while(1){f=k[g>>2]|0;c=0;a=e;while(1){i[h+c>>0]=k[f+(a<<2)>>2];c=c+1|0;if((c|0)==(l|0))break;else a=a+1|0}xe((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,h|0,l|0)|0;d=d+1|0;if((d|0)==(b|0))break;else e=e+l|0}}while(0);gb(h);o=1;return o|0}case 4:{e=i[f+24>>0]|0;m=e<<24>>24;n=m<<1;d=m>>>0>2147483647?-1:m<<1;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0){l=c;break}c=k[2993]|0;k[2993]=c+0;if(!c){l=0;break}Na[c&1]()}c:do if(b|0){h=a+16|0;if(e<<24>>24>0){d=0;e=0;a=0}else{xe(k[k[f+64>>2]>>2]|0,l|0,n|0)|0;if((b|0)==1)break;else{c=0;d=1}while(1){c=c+n|0;xe((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+c|0,l|0,n|0)|0;d=d+1|0;if((d|0)==(b|0))break c}}while(1){g=k[h>>2]|0;c=0;f=a;while(1){j[l+(c<<1)>>1]=k[g+(f<<2)>>2];c=c+1|0;if((c|0)==(m|0))break;else f=f+1|0}xe((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,l|0,n|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+n|0;a=a+m|0}}}while(0);gb(l);o=1;return o|0}case 3:{e=i[f+24>>0]|0;m=e<<24>>24;n=m<<1;d=m>>>0>2147483647?-1:m<<1;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0){l=c;break}c=k[2993]|0;k[2993]=c+0;if(!c){l=0;break}Na[c&1]()}d:do if(b|0){h=a+16|0;if(e<<24>>24>0){d=0;e=0;a=0}else{xe(k[k[f+64>>2]>>2]|0,l|0,n|0)|0;if((b|0)==1)break;else{c=0;d=1}while(1){c=c+n|0;xe((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+c|0,l|0,n|0)|0;d=d+1|0;if((d|0)==(b|0))break d}}while(1){g=k[h>>2]|0;c=0;f=a;while(1){j[l+(c<<1)>>1]=k[g+(f<<2)>>2];c=c+1|0;if((c|0)==(m|0))break;else f=f+1|0}xe((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,l|0,n|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+n|0;a=a+m|0}}}while(0);gb(l);o=1;return o|0}case 6:{e=i[f+24>>0]|0;m=e<<24>>24;n=m<<2;d=m>>>0>1073741823?-1:m<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0){l=c;break}c=k[2993]|0;k[2993]=c+0;if(!c){l=0;break}Na[c&1]()}e:do if(b|0){h=a+16|0;if(e<<24>>24>0){d=0;e=0;a=0}else{xe(k[k[f+64>>2]>>2]|0,l|0,n|0)|0;if((b|0)==1)break;else{c=0;d=1}while(1){c=c+n|0;xe((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+c|0,l|0,n|0)|0;d=d+1|0;if((d|0)==(b|0))break e}}while(1){g=k[h>>2]|0;c=0;f=a;while(1){k[l+(c<<2)>>2]=k[g+(f<<2)>>2];c=c+1|0;if((c|0)==(m|0))break;else f=f+1|0}xe((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,l|0,n|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+n|0;a=a+m|0}}}while(0);gb(l);o=1;return o|0}case 5:{e=i[f+24>>0]|0;m=e<<24>>24;n=m<<2;d=m>>>0>1073741823?-1:m<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0){l=c;break}c=k[2993]|0;k[2993]=c+0;if(!c){l=0;break}Na[c&1]()}f:do if(b|0){h=a+16|0;if(e<<24>>24>0){d=0;e=0;a=0}else{xe(k[k[f+64>>2]>>2]|0,l|0,n|0)|0;if((b|0)==1)break;else{c=0;d=1}while(1){c=c+n|0;xe((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+c|0,l|0,n|0)|0;d=d+1|0;if((d|0)==(b|0))break f}}while(1){g=k[h>>2]|0;c=0;f=a;while(1){k[l+(c<<2)>>2]=k[g+(f<<2)>>2];c=c+1|0;if((c|0)==(m|0))break;else f=f+1|0}xe((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+e|0,l|0,n|0)|0;d=d+1|0;if((d|0)==(b|0))break;else{e=e+n|0;a=a+m|0}}}while(0);gb(l);o=1;return o|0}default:{o=0;return o|0}}return 0}function mb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;A=a+8|0;k[A>>2]=e;h=a+32|0;i=a+36|0;g=k[i>>2]|0;f=k[h>>2]|0;d=g-f>>2;if(d>>>0>=e>>>0)if(d>>>0>e>>>0?(j=f+(e<<2)|0,(g|0)!=(j|0)):0){k[i>>2]=g+(~((g+-4-j|0)>>>2)<<2);h=e}else h=e;else{Ld(h,e-d|0);h=k[A>>2]|0}g=e>>>0>1073741823?-1:e<<2;f=(g|0)==0?1:g;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}Ke(d|0,0,g|0)|0;if((h|0)>0){m=a+16|0;l=a+32|0;n=a+12|0;j=0;do{i=k[d+(j<<2)>>2]|0;f=k[m>>2]|0;do if((i|0)<=(f|0)){f=k[n>>2]|0;g=k[l>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[l>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[A>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[A>>2]|0}while((f|0)<(g|0));if((g|0)>0){g=a+20|0;f=0;do{h=c+(f<<2)|0;i=k[h>>2]|0;if((i|0)<=(k[m>>2]|0)){if((i|0)<(k[n>>2]|0))k[h>>2]=(k[g>>2]|0)+i}else k[h>>2]=i-(k[g>>2]|0);f=f+1|0}while((f|0)<(k[A>>2]|0))}}}s=k[a+48>>2]|0;t=a+56|0;h=k[t>>2]|0;g=k[h+4>>2]|0;h=k[h>>2]|0;z=g-h|0;u=z>>2;if((z|0)<=4){gb(d);return 1}v=k[a+52>>2]|0;w=(e|0)>0;x=a+16|0;y=a+32|0;z=a+12|0;o=a+20|0;p=s+64|0;q=s+28|0;r=e<<2;f=1;while(1){if(g-h>>2>>>0<=f>>>0){I=31;break}a=k[h+(f<<2)>>2]|0;if(w)Ke(d|0,0,r|0)|0;if((a|0)>-1){n=k[s>>2]|0;g=0;m=a;while(1){do if(((k[n+(m>>>5<<2)>>2]&1<<(m&31)|0)==0?(B=k[(k[(k[p>>2]|0)+12>>2]|0)+(m<<2)>>2]|0,(B|0)>-1):0)?(E=k[q>>2]|0,l=k[v>>2]|0,C=k[l+(k[E+(B<<2)>>2]<<2)>>2]|0,D=B+1|0,D=k[l+(k[E+((((D|0)%3|0|0)==0?B+-2|0:D)<<2)>>2]<<2)>>2]|0,E=k[l+(k[E+((((B>>>0)%3|0|0)==0?2:-1)+B<<2)>>2]<<2)>>2]|0,(C|0)<(f|0)&(D|0)<(f|0)&(E|0)<(f|0)):0){i=_(C,e)|0;j=_(D,e)|0;l=_(E,e)|0;if(w)h=0;else{g=g+1|0;I=44;break}do{J=d+(h<<2)|0;k[J>>2]=(k[c+(h+l<<2)>>2]|0)+(k[c+(h+j<<2)>>2]|0)-(k[c+(h+i<<2)>>2]|0)+(k[J>>2]|0);h=h+1|0}while((h|0)!=(e|0));g=g+1|0;if((m|0)<0){h=g;g=m}else I=44}else I=44;while(0);do if((I|0)==44){I=0;if(!((m>>>0)%3|0)){h=g;g=m+2|0;break}else{h=g;g=m+-1|0;break}}while(0);do if(!(1<<(g&31)&k[n+(g>>>5<<2)>>2])){if((g|0)>=0){g=k[(k[(k[p>>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);m=(g|0)==(a|0)?-1073741824:g;if((m|0)<=-1)break;else g=h}m=_(f,e)|0;if(h){if(w){g=0;do{J=d+(g<<2)|0;k[J>>2]=(k[J>>2]|0)/(h|0)|0;g=g+1|0}while((g|0)!=(e|0))}n=c+(m<<2)|0;if((k[A>>2]|0)>0){l=0;do{j=k[d+(l<<2)>>2]|0;g=k[x>>2]|0;do if((j|0)<=(g|0)){g=k[z>>2]|0;h=k[y>>2]|0;i=h+(l<<2)|0;if((j|0)<(g|0)){k[i>>2]=g;i=h;break}else{k[i>>2]=j;i=h;break}}else{i=k[y>>2]|0;k[i+(l<<2)>>2]=g}while(0);l=l+1|0;g=k[A>>2]|0}while((l|0)<(g|0));if((g|0)>0){g=0;do{k[n+(g<<2)>>2]=(k[b+(g+m<<2)>>2]|0)+(k[i+(g<<2)>>2]|0);g=g+1|0;h=k[A>>2]|0}while((g|0)<(h|0));if((h|0)>0){g=0;do{h=n+(g<<2)|0;i=k[h>>2]|0;if((i|0)<=(k[x>>2]|0)){if((i|0)<(k[z>>2]|0))k[h>>2]=(k[o>>2]|0)+i}else k[h>>2]=i-(k[o>>2]|0);g=g+1|0}while((g|0)<(k[A>>2]|0))}}}}else{H=m;I=56}}else{H=_(f,e)|0;I=56}if((I|0)==56?(I=0,F=c+((_(f+-1|0,e)|0)<<2)|0,G=c+(H<<2)|0,(k[A>>2]|0)>0):0){l=0;do{j=k[F+(l<<2)>>2]|0;g=k[x>>2]|0;do if((j|0)<=(g|0)){g=k[z>>2]|0;h=k[y>>2]|0;i=h+(l<<2)|0;if((j|0)<(g|0)){k[i>>2]=g;i=h;break}else{k[i>>2]=j;i=h;break}}else{i=k[y>>2]|0;k[i+(l<<2)>>2]=g}while(0);l=l+1|0;g=k[A>>2]|0}while((l|0)<(g|0));if((g|0)>0){g=0;do{k[G+(g<<2)>>2]=(k[b+(g+H<<2)>>2]|0)+(k[i+(g<<2)>>2]|0);g=g+1|0;h=k[A>>2]|0}while((g|0)<(h|0));if((h|0)>0){g=0;do{h=G+(g<<2)|0;i=k[h>>2]|0;if((i|0)<=(k[x>>2]|0)){if((i|0)<(k[z>>2]|0))k[h>>2]=(k[o>>2]|0)+i}else k[h>>2]=i-(k[o>>2]|0);g=g+1|0}while((g|0)<(k[A>>2]|0))}}}f=f+1|0;if((f|0)>=(u|0)){I=29;break}g=k[t>>2]|0;h=k[g>>2]|0;g=k[g+4>>2]|0}if((I|0)==29){gb(d);return 1}else if((I|0)==31)Ba(11196,11078,315,11219);return 0}function nb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=a+8|0;k[H>>2]=e;do if(d|0){f=k[b>>2]|0;l=a+16|0;k[l>>2]=f;j=a+12|0;k[j>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[l>>2]=g;f=g;g=h}else g=h;else k[j>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;A=1-g+f|0;k[a+20>>2]=A;f=(A|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(A&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Ld(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);h=e>>>0>1073741823?-1:e<<2;g=(h|0)==0?1:h;while(1){f=Xa(g)|0;if(f|0){A=f;break}f=k[2993]|0;k[2993]=f+0;if(!f){A=0;break}Na[f&1]()}Ke(A|0,0,h|0)|0;y=k[a+48>>2]|0;f=k[a+56>>2]|0;z=k[f>>2]|0;f=(k[f+4>>2]|0)-z|0;a:do if((f|0)>4){o=f>>2;p=k[a+52>>2]|0;q=a+16|0;r=a+32|0;s=a+12|0;t=a+28|0;u=a+20|0;v=a+24|0;w=y+12|0;x=(e|0)>0;n=o;while(1){m=n;n=n+-1|0;if(o>>>0<=n>>>0)break;f=k[z+(n<<2)>>2]|0;if((f|0)>=0?(B=k[(k[w>>2]|0)+(f<<2)>>2]|0,(B|0)>-1):0){h=k[y>>2]|0;g=(B>>>0)%3|0;i=k[p>>2]|0;l=k[i+(k[h+(((B>>>0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;f=B+1|0;f=((f|0)%3|0|0)==0?B+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;j=k[i+(f<<2)>>2]|0;f=((g|0)==0?2:-1)+B|0;if((f|0)<0)f=-1073741824;else f=k[h+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;d=_(n,e)|0;if((l|0)<(n|0)&(j|0)<(n|0)&(f|0)<(n|0)){i=_(l,e)|0;h=_(j,e)|0;g=_(f,e)|0;if(x){f=0;do{k[A+(f<<2)>>2]=(k[b+(f+g<<2)>>2]|0)+(k[b+(f+h<<2)>>2]|0)-(k[b+(f+i<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}l=b+(d<<2)|0;if((k[H>>2]|0)>0){j=0;do{i=k[A+(j<<2)>>2]|0;f=k[q>>2]|0;do if((i|0)<=(f|0)){f=k[s>>2]|0;g=k[r>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[r>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[H>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+d<<2)>>2]=(k[l+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[H>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+d<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[t>>2]|0)){if((h|0)>(k[v>>2]|0))k[g>>2]=h-(k[u>>2]|0)}else k[g>>2]=(k[u>>2]|0)+h;f=f+1|0}while((f|0)<(k[H>>2]|0))}}}}else{D=d;F=34}}else{D=_(n,e)|0;F=34}if((F|0)==34?(F=0,C=b+(D<<2)|0,E=b+((_(m+-2|0,e)|0)<<2)|0,(k[H>>2]|0)>0):0){j=0;do{i=k[E+(j<<2)>>2]|0;f=k[q>>2]|0;do if((i|0)<=(f|0)){f=k[s>>2]|0;g=k[r>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[r>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[H>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+D<<2)>>2]=(k[C+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[H>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+D<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[t>>2]|0)){if((h|0)>(k[v>>2]|0))k[g>>2]=h-(k[u>>2]|0)}else k[g>>2]=(k[u>>2]|0)+h;f=f+1|0}while((f|0)<(k[H>>2]|0))}}}if((n|0)<=1){G=A;break a}}Ba(11196,11078,315,11219)}else G=A;while(0);if((e|0)>0)Ke(A|0,0,e<<2|0)|0;if((k[H>>2]|0)<=0){gb(A);return 1}l=a+16|0;d=a+32|0;m=a+12|0;j=0;do{i=k[G+(j<<2)>>2]|0;f=k[l>>2]|0;do if((i|0)<=(f|0)){f=k[m>>2]|0;g=k[d>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[d>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[H>>2]|0}while((j|0)<(f|0));if((f|0)>0)f=0;else{gb(A);return 1}do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[H>>2]|0}while((f|0)<(g|0));if((g|0)<=0){gb(A);return 1}j=a+28|0;l=a+20|0;g=a+24|0;f=0;do{h=c+(f<<2)|0;i=k[h>>2]|0;if((i|0)>=(k[j>>2]|0)){if((i|0)>(k[g>>2]|0))k[h>>2]=i-(k[l>>2]|0)}else k[h>>2]=(k[l>>2]|0)+i;f=f+1|0}while((f|0)<(k[H>>2]|0));gb(A);return 1}function ob(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;m=n;if((c|0)!=1){m=0;r=n;return m|0}e=k[a+12>>2]|0;f=k[a+4>>2]|0;k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;k[m+12>>2]=0;k[m+16>>2]=0;d=f+4|0;a=k[d>>2]|0;if((e|0)<=-1)Ba(9441,9457,54,9485);c=k[a+4>>2]|0;if(((k[a+8>>2]|0)-c>>2|0)<=(e|0))Ba(9495,9457,55,9485);j=k[c+(e<<2)>>2]|0;a:do if((La[k[(k[f>>2]|0)+8>>2]&127](f)|0)==1){h=k[d>>2]|0;c=k[h+4>>2]|0;if(((k[h+8>>2]|0)-c>>2|0)<=(e|0))Ba(9495,9457,55,9485);h=k[c+(e<<2)>>2]|0;if((b+-1|0)>>>0<3&(La[k[(k[f>>2]|0)+8>>2]&127](f)|0)==1?(g=La[k[(k[f>>2]|0)+36>>2]&127](f)|0,i=Pa[k[(k[f>>2]|0)+44>>2]&63](f,e)|0,!((g|0)==0|(i|0)==0)):0){a=Pa[k[(k[f>>2]|0)+40>>2]&63](f,e)|0;d=k[f+24>>2]|0;e=i+12|0;if(!a){switch(b|0){case -2:{c=0;break a}case 1:{while(1){c=Xa(60)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c>>2]=3100;k[c+4>>2]=h;k[c+8>>2]=0;h=c+12|0;k[h>>2]=k[m>>2];k[h+4>>2]=k[m+4>>2];k[h+8>>2]=k[m+8>>2];k[h+12>>2]=k[m+12>>2];k[h+16>>2]=k[m+16>>2];k[c+32>>2]=0;k[c+36>>2]=0;k[c+40>>2]=0;k[c+44>>2]=d;k[c+48>>2]=g;k[c+52>>2]=e;k[c+56>>2]=i;k[c>>2]=3228;break}case 2:{while(1){c=Xa(60)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c>>2]=3100;k[c+4>>2]=h;k[c+8>>2]=0;h=c+12|0;k[h>>2]=k[m>>2];k[h+4>>2]=k[m+4>>2];k[h+8>>2]=k[m+8>>2];k[h+12>>2]=k[m+12>>2];k[h+16>>2]=k[m+16>>2];k[c+32>>2]=0;k[c+36>>2]=0;k[c+40>>2]=0;k[c+44>>2]=d;k[c+48>>2]=g;k[c+52>>2]=e;k[c+56>>2]=i;k[c>>2]=3292;break}case 3:{while(1){c=Xa(88)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c>>2]=3100;k[c+4>>2]=h;k[c+8>>2]=0;h=c+12|0;k[h>>2]=k[m>>2];k[h+4>>2]=k[m+4>>2];k[h+8>>2]=k[m+8>>2];k[h+12>>2]=k[m+12>>2];k[h+16>>2]=k[m+16>>2];k[c+32>>2]=0;k[c+36>>2]=0;k[c+40>>2]=0;k[c+44>>2]=d;k[c+48>>2]=g;k[c+52>>2]=e;k[c+56>>2]=i;k[c>>2]=3356;i=c+60|0;k[i>>2]=0;k[i+4>>2]=0;k[i+8>>2]=0;k[i+12>>2]=0;k[i+16>>2]=0;k[i+20>>2]=0;k[i+24>>2]=0;break}default:{l=42;break a}}if(!c){l=41;break}}else{switch(b|0){case -2:{c=0;break a}case 1:{while(1){c=Xa(60)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c>>2]=3100;k[c+4>>2]=h;k[c+8>>2]=0;h=c+12|0;k[h>>2]=k[m>>2];k[h+4>>2]=k[m+4>>2];k[h+8>>2]=k[m+8>>2];k[h+12>>2]=k[m+12>>2];k[h+16>>2]=k[m+16>>2];k[c+32>>2]=0;k[c+36>>2]=0;k[c+40>>2]=0;k[c+44>>2]=d;k[c+48>>2]=a;k[c+52>>2]=e;k[c+56>>2]=i;k[c>>2]=3420;break}case 2:{while(1){c=Xa(60)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c>>2]=3100;k[c+4>>2]=h;k[c+8>>2]=0;h=c+12|0;k[h>>2]=k[m>>2];k[h+4>>2]=k[m+4>>2];k[h+8>>2]=k[m+8>>2];k[h+12>>2]=k[m+12>>2];k[h+16>>2]=k[m+16>>2];k[c+32>>2]=0;k[c+36>>2]=0;k[c+40>>2]=0;k[c+44>>2]=d;k[c+48>>2]=a;k[c+52>>2]=e;k[c+56>>2]=i;k[c>>2]=3484;break}case 3:{while(1){c=Xa(88)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c>>2]=3100;k[c+4>>2]=h;k[c+8>>2]=0;h=c+12|0;k[h>>2]=k[m>>2];k[h+4>>2]=k[m+4>>2];k[h+8>>2]=k[m+8>>2];k[h+12>>2]=k[m+12>>2];k[h+16>>2]=k[m+16>>2];k[c+32>>2]=0;k[c+36>>2]=0;k[c+40>>2]=0;k[c+44>>2]=d;k[c+48>>2]=a;k[c+52>>2]=e;k[c+56>>2]=i;k[c>>2]=3548;i=c+60|0;k[i>>2]=0;k[i+4>>2]=0;k[i+8>>2]=0;k[i+12>>2]=0;k[i+16>>2]=0;k[i+20>>2]=0;k[i+24>>2]=0;break}default:{l=42;break a}}if(!c){l=41;break}}}else l=41}else l=41;while(0);if((l|0)==41)if((b|0)==-2)c=0;else l=42;if((l|0)==42){while(1){c=Xa(44)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]();l=42}k[c>>2]=3100;k[c+4>>2]=j;k[c+8>>2]=0;l=c+12|0;k[l>>2]=k[m>>2];k[l+4>>2]=k[m+4>>2];k[l+8>>2]=k[m+8>>2];k[l+12>>2]=k[m+12>>2];k[l+16>>2]=k[m+16>>2];k[c+32>>2]=0;k[c+36>>2]=0;k[c+40>>2]=0;k[c>>2]=3164}m=c;r=n;return m|0}function pb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;C=a+8|0;k[C>>2]=e;h=a+32|0;i=a+36|0;g=k[i>>2]|0;f=k[h>>2]|0;d=g-f>>2;if(d>>>0>=e>>>0)if(d>>>0>e>>>0?(j=f+(e<<2)|0,(g|0)!=(j|0)):0){k[i>>2]=g+(~((g+-4-j|0)>>>2)<<2);h=e}else h=e;else{Ld(h,e-d|0);h=k[C>>2]|0}g=e>>>0>1073741823?-1:e<<2;f=(g|0)==0?1:g;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}Ke(d|0,0,g|0)|0;if((h|0)>0){m=a+16|0;l=a+32|0;n=a+12|0;j=0;do{i=k[d+(j<<2)>>2]|0;f=k[m>>2]|0;do if((i|0)<=(f|0)){f=k[n>>2]|0;g=k[l>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[l>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[C>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[C>>2]|0}while((f|0)<(g|0));if((g|0)>0){g=a+20|0;f=0;do{h=c+(f<<2)|0;i=k[h>>2]|0;if((i|0)<=(k[m>>2]|0)){if((i|0)<(k[n>>2]|0))k[h>>2]=(k[g>>2]|0)+i}else k[h>>2]=i-(k[g>>2]|0);f=f+1|0}while((f|0)<(k[C>>2]|0))}}}u=k[a+48>>2]|0;v=a+56|0;h=k[v>>2]|0;g=k[h+4>>2]|0;h=k[h>>2]|0;B=g-h|0;w=B>>2;if((B|0)<=4){gb(d);return 1}x=k[a+52>>2]|0;y=(e|0)>0;z=a+16|0;A=a+32|0;B=a+12|0;r=a+20|0;s=u+12|0;t=e<<2;f=1;while(1){if(g-h>>2>>>0<=f>>>0){G=31;break}q=k[h+(f<<2)>>2]|0;if(y)Ke(d|0,0,t|0)|0;if((q|0)>-1){p=k[s>>2]|0;a=0;o=q;while(1){h=k[p+(o<<2)>>2]|0;if((h|0)>-1){j=k[u>>2]|0;i=(h>>>0)%3|0;l=k[x>>2]|0;n=k[l+(k[j+(((h>>>0)/3|0)*12|0)+(i<<2)>>2]<<2)>>2]|0;g=h+1|0;g=((g|0)%3|0|0)==0?h+-2|0:g;if((g|0)<0)g=-1073741824;else g=k[j+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]|0;m=k[l+(g<<2)>>2]|0;g=((i|0)==0?2:-1)+h|0;if((g|0)<0)g=-1073741824;else g=k[j+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]|0;g=k[l+(g<<2)>>2]|0;if((n|0)<(f|0)&(m|0)<(f|0)&(g|0)<(f|0)){j=_(n,e)|0;i=_(m,e)|0;h=_(g,e)|0;if(y){g=0;do{n=d+(g<<2)|0;k[n>>2]=(k[c+(g+h<<2)>>2]|0)+(k[c+(g+i<<2)>>2]|0)-(k[c+(g+j<<2)>>2]|0)+(k[n>>2]|0);g=g+1|0}while((g|0)!=(e|0))}h=a+1|0}else h=a}else h=a;g=(((o>>>0)%3|0|0)==0?2:-1)+o|0;do 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);o=(g|0)==(q|0)?-1073741824:g;if((o|0)<=-1)break;else a=h}m=_(f,e)|0;if(h){if(y){g=0;do{q=d+(g<<2)|0;k[q>>2]=(k[q>>2]|0)/(h|0)|0;g=g+1|0}while((g|0)!=(e|0))}n=c+(m<<2)|0;if((k[C>>2]|0)>0){l=0;do{j=k[d+(l<<2)>>2]|0;g=k[z>>2]|0;do if((j|0)<=(g|0)){g=k[B>>2]|0;h=k[A>>2]|0;i=h+(l<<2)|0;if((j|0)<(g|0)){k[i>>2]=g;i=h;break}else{k[i>>2]=j;i=h;break}}else{i=k[A>>2]|0;k[i+(l<<2)>>2]=g}while(0);l=l+1|0;g=k[C>>2]|0}while((l|0)<(g|0));if((g|0)>0){g=0;do{k[n+(g<<2)>>2]=(k[b+(g+m<<2)>>2]|0)+(k[i+(g<<2)>>2]|0);g=g+1|0;h=k[C>>2]|0}while((g|0)<(h|0));if((h|0)>0){g=0;do{h=n+(g<<2)|0;i=k[h>>2]|0;if((i|0)<=(k[z>>2]|0)){if((i|0)<(k[B>>2]|0))k[h>>2]=(k[r>>2]|0)+i}else k[h>>2]=i-(k[r>>2]|0);g=g+1|0}while((g|0)<(k[C>>2]|0))}}}}else{F=m;G=54}}else{F=_(f,e)|0;G=54}if((G|0)==54?(G=0,D=c+((_(f+-1|0,e)|0)<<2)|0,E=c+(F<<2)|0,(k[C>>2]|0)>0):0){l=0;do{j=k[D+(l<<2)>>2]|0;g=k[z>>2]|0;do if((j|0)<=(g|0)){g=k[B>>2]|0;h=k[A>>2]|0;i=h+(l<<2)|0;if((j|0)<(g|0)){k[i>>2]=g;i=h;break}else{k[i>>2]=j;i=h;break}}else{i=k[A>>2]|0;k[i+(l<<2)>>2]=g}while(0);l=l+1|0;g=k[C>>2]|0}while((l|0)<(g|0));if((g|0)>0){g=0;do{k[E+(g<<2)>>2]=(k[b+(g+F<<2)>>2]|0)+(k[i+(g<<2)>>2]|0);g=g+1|0;h=k[C>>2]|0}while((g|0)<(h|0));if((h|0)>0){g=0;do{h=E+(g<<2)|0;i=k[h>>2]|0;if((i|0)<=(k[z>>2]|0)){if((i|0)<(k[B>>2]|0))k[h>>2]=(k[r>>2]|0)+i}else k[h>>2]=i-(k[r>>2]|0);g=g+1|0}while((g|0)<(k[C>>2]|0))}}}f=f+1|0;if((f|0)>=(w|0)){G=29;break}g=k[v>>2]|0;h=k[g>>2]|0;g=k[g+4>>2]|0}if((G|0)==29){gb(d);return 1}else if((G|0)==31)Ba(11196,11078,315,11219);return 0}function qb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,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;I=a+8|0;k[I>>2]=e;do if(d|0){f=k[b>>2]|0;l=a+16|0;k[l>>2]=f;j=a+12|0;k[j>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[l>>2]=g;f=g;g=h}else g=h;else k[j>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;B=1-g+f|0;k[a+20>>2]=B;f=(B|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(B&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Ld(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);h=e>>>0>1073741823?-1:e<<2;g=(h|0)==0?1:h;while(1){f=Xa(g)|0;if(f|0){B=f;break}f=k[2993]|0;k[2993]=f+0;if(!f){B=0;break}Na[f&1]()}Ke(B|0,0,h|0)|0;z=k[a+48>>2]|0;f=k[a+56>>2]|0;A=k[f>>2]|0;f=(k[f+4>>2]|0)-A|0;a:do if((f|0)>4){o=f>>2;p=k[a+52>>2]|0;q=a+16|0;r=a+32|0;s=a+12|0;t=a+28|0;u=a+20|0;v=a+24|0;w=z+64|0;x=z+28|0;y=(e|0)>0;n=o;while(1){m=n;n=n+-1|0;if(o>>>0<=n>>>0)break;f=k[A+(n<<2)>>2]|0;if(!((f|0)<0?1:(1<<(f&31)&k[(k[z>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(C=k[(k[(k[w>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(C|0)>-1):0){h=k[x>>2]|0;d=k[p>>2]|0;f=k[d+(k[h+(C<<2)>>2]<<2)>>2]|0;g=C+1|0;g=k[d+(k[h+((((g|0)%3|0|0)==0?C+-2|0:g)<<2)>>2]<<2)>>2]|0;h=k[d+(k[h+((((C>>>0)%3|0|0)==0?2:-1)+C<<2)>>2]<<2)>>2]|0;d=_(n,e)|0;if((f|0)<(n|0)&(g|0)<(n|0)&(h|0)<(n|0)){j=_(f,e)|0;i=_(g,e)|0;g=_(h,e)|0;if(y){f=0;do{k[B+(f<<2)>>2]=(k[b+(f+g<<2)>>2]|0)+(k[b+(f+i<<2)>>2]|0)-(k[b+(f+j<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}l=b+(d<<2)|0;if((k[I>>2]|0)>0){j=0;do{i=k[B+(j<<2)>>2]|0;f=k[q>>2]|0;do if((i|0)<=(f|0)){f=k[s>>2]|0;g=k[r>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[r>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[I>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+d<<2)>>2]=(k[l+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[I>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+d<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[t>>2]|0)){if((h|0)>(k[v>>2]|0))k[g>>2]=h-(k[u>>2]|0)}else k[g>>2]=(k[u>>2]|0)+h;f=f+1|0}while((f|0)<(k[I>>2]|0))}}}}else{E=d;G=30}}else{E=_(n,e)|0;G=30}if((G|0)==30?(G=0,D=b+(E<<2)|0,F=b+((_(m+-2|0,e)|0)<<2)|0,(k[I>>2]|0)>0):0){j=0;do{i=k[F+(j<<2)>>2]|0;f=k[q>>2]|0;do if((i|0)<=(f|0)){f=k[s>>2]|0;g=k[r>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[r>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[I>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+E<<2)>>2]=(k[D+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[I>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+E<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[t>>2]|0)){if((h|0)>(k[v>>2]|0))k[g>>2]=h-(k[u>>2]|0)}else k[g>>2]=(k[u>>2]|0)+h;f=f+1|0}while((f|0)<(k[I>>2]|0))}}}if((n|0)<=1){H=B;break a}}Ba(11196,11078,315,11219)}else H=B;while(0);if((e|0)>0)Ke(B|0,0,e<<2|0)|0;if((k[I>>2]|0)<=0){gb(B);return 1}l=a+16|0;d=a+32|0;m=a+12|0;j=0;do{i=k[H+(j<<2)>>2]|0;f=k[l>>2]|0;do if((i|0)<=(f|0)){f=k[m>>2]|0;g=k[d>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[d>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[I>>2]|0}while((j|0)<(f|0));if((f|0)>0)f=0;else{gb(B);return 1}do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[I>>2]|0}while((f|0)<(g|0));if((g|0)<=0){gb(B);return 1}j=a+28|0;l=a+20|0;g=a+24|0;f=0;do{h=c+(f<<2)|0;i=k[h>>2]|0;if((i|0)>=(k[j>>2]|0)){if((i|0)>(k[g>>2]|0))k[h>>2]=i-(k[l>>2]|0)}else k[h>>2]=(k[l>>2]|0)+i;f=f+1|0}while((f|0)<(k[I>>2]|0));gb(B);return 1}function rb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0.0,m=0.0,n=0.0,p=0.0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,$=0.0,aa=0.0,ba=0.0;U=r;r=r+48|0;Q=U+24|0;R=U+12|0;S=U;T=a+72|0;k[T>>2]=e;P=a+64|0;k[P>>2]=f;N=a+68|0;f=e>>>0>1073741823?-1:e<<2;f=(f|0)==0?1:f;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}f=k[N>>2]|0;k[N>>2]=d;if(f|0)gb(f);L=a+8|0;k[L>>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 Ld(d,e-g|0);v=a+56|0;g=k[v>>2]|0;f=k[g+4>>2]|0;g=k[g>>2]|0;K=f-g|0;w=K>>2;if((K|0)<=0){r=U;return 1}x=a+16|0;y=a+32|0;z=a+12|0;A=a+20|0;B=a+48|0;C=a+52|0;u=a+60|0;D=S+4|0;E=R+4|0;F=S+8|0;G=R+8|0;H=Q+4|0;I=Q+8|0;J=a+80|0;K=a+76|0;t=a+68|0;d=0;while(1){if(f-g>>2>>>0<=d>>>0){d=16;break}g=k[g+(d<<2)>>2]|0;f=g+1|0;if((g|0)>=0){f=((f|0)%3|0|0)==0?g+-2|0:f;g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((f|0)<0)f=-1073741824;else f=k[(k[k[B>>2]>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;if((g|0)<0)i=-1073741824;else i=k[(k[k[B>>2]>>2]|0)+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]|0}else{i=-1073741824;f=-1073741824}h=k[C>>2]|0;g=k[h>>2]|0;h=(k[h+4>>2]|0)-g>>2;if(h>>>0<=f>>>0){d=24;break}j=k[g+(f<<2)>>2]|0;if(h>>>0<=i>>>0){d=26;break}g=k[g+(i<<2)>>2]|0;f=(j|0)<(d|0);a:do if(f&(g|0)<(d|0)){s=k[T>>2]|0;q=_(s,j)|0;l=+(k[c+(q<<2)>>2]|0);m=+(k[c+(q+1<<2)>>2]|0);s=_(s,g)|0;n=+(k[c+(s<<2)>>2]|0);p=+(k[c+(s+1<<2)>>2]|0);if(n!=l|p!=m){Sd(Q,k[u>>2]|0,k[P>>2]|0,d);Sd(R,k[u>>2]|0,k[P>>2]|0,j);Sd(S,k[u>>2]|0,k[P>>2]|0,g);ba=+o[R>>2];X=+o[S>>2]-ba;aa=+o[E>>2];Y=+o[D>>2]-aa;$=+o[G>>2];Z=+o[F>>2]-$;ba=+o[Q>>2]-ba;aa=+o[H>>2]-aa;$=+o[I>>2]-$;W=X*X+0.0+Y*Y+Z*Z;V=(X*ba+0.0+Y*aa+Z*$)/W;X=ba-X*V;Y=aa-Y*V;Z=$-Z*V;W=+O(+((Z*Z+(Y*Y+(X*X+0.0)))/W));X=n-l;n=p-m;p=X*W;W=n*W;a=(k[J>>2]|0)+-1|0;q=(1<<(a&31)&k[(k[K>>2]|0)+(a>>>5<<2)>>2]|0)==0;k[J>>2]=a;a=~~+M(+(l+X*V+(q?W:-W)+.5));s=k[t>>2]|0;k[s>>2]=a;q=~~+M(+(m+n*V+(q?-p:p)+.5));k[s+4>>2]=q;break}else{s=k[t>>2]|0;k[s>>2]=~~n;k[s+4>>2]=~~p;break}}else{do if(f){f=k[T>>2]|0;h=_(f,j)|0}else{if((d|0)>0){f=k[T>>2]|0;h=_(f,d+-1|0)|0;break}if((k[T>>2]|0)<=0)break a;g=k[t>>2]|0;f=0;while(1){k[g+(f<<2)>>2]=0;f=f+1|0;if((f|0)>=(k[T>>2]|0))break a}}while(0);if((f|0)>0){g=k[t>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[c+(f+h<<2)>>2];f=f+1|0}while((f|0)<(k[T>>2]|0))}}while(0);q=_(d,e)|0;a=k[N>>2]|0;s=c+(q<<2)|0;if((k[L>>2]|0)>0){j=0;do{i=k[a+(j<<2)>>2]|0;f=k[x>>2]|0;do if((i|0)<=(f|0)){f=k[z>>2]|0;g=k[y>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[y>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[L>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[s+(f<<2)>>2]=(k[b+(f+q<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[L>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=s+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[x>>2]|0)){if((h|0)<(k[z>>2]|0))k[g>>2]=(k[A>>2]|0)+h}else k[g>>2]=h-(k[A>>2]|0);f=f+1|0}while((f|0)<(k[L>>2]|0))}}}d=d+1|0;if((d|0)>=(w|0)){d=14;break}f=k[v>>2]|0;g=k[f>>2]|0;f=k[f+4>>2]|0}if((d|0)==14){r=U;return 1}else if((d|0)==16)Ba(11196,11078,315,11219);else if((d|0)==24)Ba(11196,11078,315,11219);else if((d|0)==26)Ba(11196,11078,315,11219);return 0}function sb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0.0,m=0.0,n=0.0,p=0.0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,$=0.0,aa=0.0,ba=0.0;U=r;r=r+48|0;Q=U+24|0;R=U+12|0;S=U;T=a+72|0;k[T>>2]=e;P=a+64|0;k[P>>2]=f;N=a+68|0;f=e>>>0>1073741823?-1:e<<2;f=(f|0)==0?1:f;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}f=k[N>>2]|0;k[N>>2]=d;if(f|0)gb(f);L=a+8|0;k[L>>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 Ld(d,e-g|0);v=a+56|0;g=k[v>>2]|0;f=k[g+4>>2]|0;g=k[g>>2]|0;K=f-g|0;w=K>>2;if((K|0)<=0){r=U;return 1}x=a+16|0;y=a+32|0;z=a+12|0;A=a+20|0;B=a+48|0;C=a+52|0;u=a+60|0;D=S+4|0;E=R+4|0;F=S+8|0;G=R+8|0;H=Q+4|0;I=Q+8|0;J=a+80|0;K=a+76|0;t=a+68|0;d=0;while(1){if(f-g>>2>>>0<=d>>>0){d=16;break}g=k[g+(d<<2)>>2]|0;f=g+1|0;do if((g|0)>=0){f=((f|0)%3|0|0)==0?g+-2|0:f;if(!((g>>>0)%3|0)){h=g+2|0;break}else{h=g+-1|0;break}}else{h=g;f=g}while(0);g=k[(k[B>>2]|0)+28>>2]|0;i=k[g+(f<<2)>>2]|0;g=k[g+(h<<2)>>2]|0;h=k[C>>2]|0;f=k[h>>2]|0;h=(k[h+4>>2]|0)-f>>2;if(h>>>0<=i>>>0){d=23;break}i=k[f+(i<<2)>>2]|0;if(h>>>0<=g>>>0){d=25;break}g=k[f+(g<<2)>>2]|0;f=(i|0)<(d|0);a:do if(f&(g|0)<(d|0)){s=k[T>>2]|0;q=_(s,i)|0;l=+(k[c+(q<<2)>>2]|0);m=+(k[c+(q+1<<2)>>2]|0);s=_(s,g)|0;n=+(k[c+(s<<2)>>2]|0);p=+(k[c+(s+1<<2)>>2]|0);if(n!=l|p!=m){Sd(Q,k[u>>2]|0,k[P>>2]|0,d);Sd(R,k[u>>2]|0,k[P>>2]|0,i);Sd(S,k[u>>2]|0,k[P>>2]|0,g);ba=+o[R>>2];X=+o[S>>2]-ba;aa=+o[E>>2];Y=+o[D>>2]-aa;$=+o[G>>2];Z=+o[F>>2]-$;ba=+o[Q>>2]-ba;aa=+o[H>>2]-aa;$=+o[I>>2]-$;W=X*X+0.0+Y*Y+Z*Z;V=(X*ba+0.0+Y*aa+Z*$)/W;X=ba-X*V;Y=aa-Y*V;Z=$-Z*V;W=+O(+((Z*Z+(Y*Y+(X*X+0.0)))/W));X=n-l;n=p-m;p=X*W;W=n*W;a=(k[J>>2]|0)+-1|0;q=(1<<(a&31)&k[(k[K>>2]|0)+(a>>>5<<2)>>2]|0)==0;k[J>>2]=a;a=~~+M(+(l+X*V+(q?W:-W)+.5));s=k[t>>2]|0;k[s>>2]=a;q=~~+M(+(m+n*V+(q?-p:p)+.5));k[s+4>>2]=q;break}else{s=k[t>>2]|0;k[s>>2]=~~n;k[s+4>>2]=~~p;break}}else{do if(f){f=k[T>>2]|0;h=_(f,i)|0}else{if((d|0)>0){f=k[T>>2]|0;h=_(f,d+-1|0)|0;break}if((k[T>>2]|0)<=0)break a;g=k[t>>2]|0;f=0;while(1){k[g+(f<<2)>>2]=0;f=f+1|0;if((f|0)>=(k[T>>2]|0))break a}}while(0);if((f|0)>0){g=k[t>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[c+(f+h<<2)>>2];f=f+1|0}while((f|0)<(k[T>>2]|0))}}while(0);q=_(d,e)|0;a=k[N>>2]|0;s=c+(q<<2)|0;if((k[L>>2]|0)>0){j=0;do{i=k[a+(j<<2)>>2]|0;f=k[x>>2]|0;do if((i|0)<=(f|0)){f=k[z>>2]|0;g=k[y>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[y>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[L>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[s+(f<<2)>>2]=(k[b+(f+q<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[L>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=s+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[x>>2]|0)){if((h|0)<(k[z>>2]|0))k[g>>2]=(k[A>>2]|0)+h}else k[g>>2]=h-(k[A>>2]|0);f=f+1|0}while((f|0)<(k[L>>2]|0))}}}d=d+1|0;if((d|0)>=(w|0)){d=14;break}f=k[v>>2]|0;g=k[f>>2]|0;f=k[f+4>>2]|0}if((d|0)==14){r=U;return 1}else if((d|0)==16)Ba(11196,11078,315,11219);else if((d|0)==23)Ba(11196,11078,315,11219);else if((d|0)==25)Ba(11196,11078,315,11219);return 0}function tb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;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);h=e}else h=e;else{Ld(h,e-d|0);h=k[x>>2]|0}v=k[a+48>>2]|0;w=k[a+52>>2]|0;g=e>>>0>1073741823?-1:e<<2;f=(g|0)==0?1:g;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}Ke(d|0,0,g|0)|0;if((h|0)>0){m=a+16|0;l=a+32|0;n=a+12|0;j=0;do{i=k[d+(j<<2)>>2]|0;f=k[m>>2]|0;do if((i|0)<=(f|0)){f=k[n>>2]|0;g=k[l>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[l>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[x>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[x>>2]|0}while((f|0)<(g|0));if((g|0)>0){g=a+20|0;f=0;do{h=c+(f<<2)|0;i=k[h>>2]|0;if((i|0)<=(k[m>>2]|0)){if((i|0)<(k[n>>2]|0))k[h>>2]=(k[g>>2]|0)+i}else k[h>>2]=i-(k[g>>2]|0);f=f+1|0}while((f|0)<(k[x>>2]|0))}}}u=k[a+56>>2]|0;q=k[u>>2]|0;u=(k[u+4>>2]|0)-q|0;r=u>>2;if((u|0)<=4){gb(d);return 1}s=a+16|0;t=a+32|0;u=a+12|0;a=a+20|0;o=v+12|0;p=(e|0)>0;n=1;while(1){if(r>>>0<=n>>>0){C=31;break}f=k[q+(n<<2)>>2]|0;if((f|0)>=0?(y=k[(k[o>>2]|0)+(f<<2)>>2]|0,(y|0)>-1):0){h=k[v>>2]|0;g=(y>>>0)%3|0;i=k[w>>2]|0;l=k[i+(k[h+(((y>>>0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;f=y+1|0;f=((f|0)%3|0|0)==0?y+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;j=k[i+(f<<2)>>2]|0;f=((g|0)==0?2:-1)+y|0;if((f|0)<0)f=-1073741824;else f=k[h+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;m=_(n,e)|0;if((l|0)<(n|0)&(j|0)<(n|0)&(f|0)<(n|0)){i=_(l,e)|0;h=_(j,e)|0;g=_(f,e)|0;if(p){f=0;do{k[d+(f<<2)>>2]=(k[c+(f+g<<2)>>2]|0)+(k[c+(f+h<<2)>>2]|0)-(k[c+(f+i<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}l=c+(m<<2)|0;if((k[x>>2]|0)>0){j=0;do{i=k[d+(j<<2)>>2]|0;f=k[s>>2]|0;do if((i|0)<=(f|0)){f=k[u>>2]|0;g=k[t>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[t>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[x>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[l+(f<<2)>>2]=(k[b+(f+m<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[x>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=l+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[s>>2]|0)){if((h|0)<(k[u>>2]|0))k[g>>2]=(k[a>>2]|0)+h}else k[g>>2]=h-(k[a>>2]|0);f=f+1|0}while((f|0)<(k[x>>2]|0))}}}}else{B=m;C=40}}else{B=_(n,e)|0;C=40}if((C|0)==40?(C=0,z=c+((_(n+-1|0,e)|0)<<2)|0,A=c+(B<<2)|0,(k[x>>2]|0)>0):0){j=0;do{i=k[z+(j<<2)>>2]|0;f=k[s>>2]|0;do if((i|0)<=(f|0)){f=k[u>>2]|0;g=k[t>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[t>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[x>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[A+(f<<2)>>2]=(k[b+(f+B<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[x>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=A+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[s>>2]|0)){if((h|0)<(k[u>>2]|0))k[g>>2]=(k[a>>2]|0)+h}else k[g>>2]=h-(k[a>>2]|0);f=f+1|0}while((f|0)<(k[x>>2]|0))}}}n=n+1|0;if((n|0)>=(r|0)){C=29;break}}if((C|0)==29){gb(d);return 1}else if((C|0)==31)Ba(11196,11078,315,11219);return 0}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.0,h=0,i=0.0,j=0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0;L=r;r=r+48|0;H=L+24|0;I=L+12|0;J=L;K=a+48|0;k[K>>2]=e;G=a+40|0;k[G>>2]=f;F=a+44|0;f=e>>>0>1073741823?-1:e<<2;f=(f|0)==0?1:f;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}f=k[F>>2]|0;k[F>>2]=d;if(f|0)gb(f);s=a+8|0;k[s>>2]=e;t=a+32|0;h=k[t>>2]|0;f=k[h+4>>2]|0;h=k[h>>2]|0;d=f-h|0;if((d|0)<=0){r=L;return 1}u=a+24|0;v=a+28|0;q=a+36|0;w=J+4|0;x=I+4|0;y=J+8|0;z=I+8|0;A=H+4|0;B=H+8|0;C=a+52|0;D=a+56|0;E=a+60|0;p=a+44|0;d=(d>>2)+-1|0;a:while(1){if(f-h>>2>>>0<=d>>>0){d=11;break}h=k[h+(d<<2)>>2]|0;f=h+1|0;if((h|0)>=0){f=((f|0)%3|0|0)==0?h+-2|0:f;h=h+(((h>>>0)%3|0|0)==0?2:-1)|0;if((f|0)<0)f=-1073741824;else f=k[(k[k[u>>2]>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;if((h|0)<0)a=-1073741824;else a=k[(k[k[u>>2]>>2]|0)+(((h>>>0)/3|0)*12|0)+(((h>>>0)%3|0)<<2)>>2]|0}else{f=-1073741824;a=-1073741824}j=k[v>>2]|0;h=k[j>>2]|0;j=(k[j+4>>2]|0)-h>>2;if(j>>>0<=f>>>0){d=19;break}n=k[h+(f<<2)>>2]|0;if(j>>>0<=a>>>0){d=21;break}h=k[h+(a<<2)>>2]|0;f=(n|0)<(d|0);b:do if(!(f&(h|0)<(d|0))){do if(f){f=k[K>>2]|0;a=_(f,n)|0}else{if((d|0)>0){f=k[K>>2]|0;a=_(f,d+-1|0)|0;break}if((k[K>>2]|0)<=0)break b;h=k[p>>2]|0;f=0;while(1){k[h+(f<<2)>>2]=0;f=f+1|0;if((f|0)>=(k[K>>2]|0))break b}}while(0);if((f|0)>0){h=k[p>>2]|0;f=0;do{k[h+(f<<2)>>2]=k[b+(f+a<<2)>>2];f=f+1|0}while((f|0)<(k[K>>2]|0))}}else{j=k[K>>2]|0;a=_(j,n)|0;g=+(k[b+(a<<2)>>2]|0);i=+(k[b+(a+1<<2)>>2]|0);j=_(j,h)|0;l=+(k[b+(j<<2)>>2]|0);m=+(k[b+(j+1<<2)>>2]|0);if(!(l!=g|m!=i)){n=k[p>>2]|0;k[n>>2]=~~l;k[n+4>>2]=~~m;break}Sd(H,k[q>>2]|0,k[G>>2]|0,d);Sd(I,k[q>>2]|0,k[G>>2]|0,n);Sd(J,k[q>>2]|0,k[G>>2]|0,h);V=+o[I>>2];R=+o[J>>2]-V;U=+o[x>>2];Q=+o[w>>2]-U;T=+o[z>>2];S=+o[y>>2]-T;V=+o[H>>2]-V;U=+o[A>>2]-U;T=+o[B>>2]-T;P=R*R+0.0+Q*Q+S*S;N=(R*V+0.0+Q*U+S*T)/P;R=V-R*N;Q=U-Q*N;S=T-S*N;P=+O(+((S*S+(Q*Q+(R*R+0.0)))/P));R=l-g;Q=m-i;l=g+R*N;m=R*P;N=i+Q*N;P=Q*P;i=l-P;g=m+N;l=P+l;m=N-m;f=_(k[K>>2]|0,d)|0;N=+(k[b+(f<<2)>>2]|0);P=+(k[b+(f+1<<2)>>2]|0);Q=N-i;R=P-g;N=N-l;P=P-m;f=k[D>>2]|0;h=k[E>>2]|0;a=(f|0)==(h<<5|0);if(R*R+(Q*Q+0.0)>>0<1073741823?(n>>>0>>0?j:n):2147483647);f=k[D>>2]|0}k[D>>2]=f+1;n=(k[C>>2]|0)+(f>>>5<<2)|0;k[n>>2]=k[n>>2]|1<<(f&31)}else{if(a){if((f+1|0)<0){d=32;break a}n=h<<6;j=f+32&-32;Td(C,f>>>0<1073741823?(n>>>0>>0?j:n):2147483647);f=k[D>>2]|0}k[D>>2]=f+1;n=(k[C>>2]|0)+(f>>>5<<2)|0;k[n>>2]=k[n>>2]&~(1<<(f&31));i=l;g=m}j=~~+M(+(i+.5));n=k[p>>2]|0;k[n>>2]=j;j=~~+M(+(g+.5));k[n+4>>2]=j}while(0);n=_(d,e)|0;gc(s,b+(n<<2)|0,k[F>>2]|0,c,n);d=d+-1|0;if((d|0)<=-1){d=9;break}f=k[t>>2]|0;h=k[f>>2]|0;f=k[f+4>>2]|0}if((d|0)==9){r=L;return 1}else if((d|0)==11)Ba(11196,11078,315,11219);else if((d|0)==19)Ba(11196,11078,315,11219);else if((d|0)==21)Ba(11196,11078,315,11219);else if((d|0)==27)Ba(11055,11078,304,11175);else if((d|0)==32)Ba(11055,11078,304,11175);return 0}function vb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;w=r;r=r+16|0;a=w;i[a>>0]=0;i[a+1>>0]=0;i[a+2>>0]=0;i[a+3>>0]=0;i[a+4>>0]=0;i[a+5>>0]=0;n=b+8|0;m=k[n>>2]|0;n=k[n+4>>2]|0;f=b+16|0;h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;j=Yf(g|0,h|0,5,0)|0;l=L;if(!((n|0)<(l|0)|(n|0)==(l|0)&m>>>0>>0)?(o=k[b>>2]|0,e=o+g|0,i[a>>0]=i[e>>0]|0,i[a+1>>0]=i[e+1>>0]|0,i[a+2>>0]=i[e+2>>0]|0,i[a+3>>0]=i[e+3>>0]|0,i[a+4>>0]=i[e+4>>0]|0,e=f,k[e>>2]=j,k[e+4>>2]=l,(i[a>>0]|0)==68):0){e=11049;do{a=a+1|0;e=e+1|0;c=i[a>>0]|0;d=i[e>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=d<<24>>24));if((((((n|0)>(l|0)|(n|0)==(l|0)&m>>>0>j>>>0)&c<<24>>24==d<<24>>24?(l=Yf(g|0,h|0,6,0)|0,j=L,e=f,k[e>>2]=l,k[e+4>>2]=j,(n|0)>(j|0)|(n|0)==(j|0)&m>>>0>l>>>0):0)?(p=Yf(g|0,h|0,7,0)|0,l=L,j=f,k[j>>2]=p,k[j+4>>2]=l,(n|0)>(l|0)|(n|0)==(l|0)&m>>>0>p>>>0):0)?(q=i[o+p>>0]|0,s=Yf(g|0,h|0,8,0)|0,p=L,l=f,k[l>>2]=s,k[l+4>>2]=p,(n|0)>(p|0)|(n|0)==(p|0)&m>>>0>s>>>0):0)?(t=i[o+s>>0]|0,v=Yf(g|0,h|0,9,0)|0,u=f,k[u>>2]=v,k[u+4>>2]=L,u=Yf(g|0,h|0,11,0)|0,v=L,!((n|0)<(v|0)|(n|0)==(v|0)&m>>>0>>0)):0){s=f;k[s>>2]=u;k[s+4>>2]=v;switch(q<<24>>24){case 0:{switch(t<<24>>24){case 0:{while(1){a=Xa(24)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}e=a+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[a>>2]=4204;e=a;break}case 1:{while(1){a=Xa(24)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}e=a+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[a>>2]=4272;e=a;break}default:{x=0;r=w;return x|0}}if(!e){x=0;r=w;return x|0}while(1){a=Xa(68)|0;if(a|0){c=a;break}a=k[2993]|0;k[2993]=a+0;if(!a){c=0;break}Na[a&1]()}k[c>>2]=2872;a=c+4|0;d=a+64|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(d|0));k[e+20>>2]=b;k[e+4>>2]=c;if(La[k[(k[e>>2]|0)+12>>2]&127](e)|0?La[k[(k[e>>2]|0)+20>>2]&127](e)|0:0){d=La[k[(k[e>>2]|0)+24>>2]&127](e)|0;a=d?c:0;if(!d){c=d?0:c;x=27}}else{a=0;x=27}if((x|0)==27)Ja[k[(k[c>>2]|0)+4>>2]&127](c);Ja[k[(k[e>>2]|0)+4>>2]&127](e);x=a;r=w;return x|0}case 1:{switch(t<<24>>24){case 0:{while(1){a=Xa(28)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}e=a+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[a+24>>2]=0;k[a>>2]=4344;e=a;break}case 1:{while(1){a=Xa(32)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}e=a+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[a+24>>2]=0;k[a>>2]=4404;k[a+28>>2]=0;e=a;break}default:{x=0;r=w;return x|0}}while(1){a=Xa(92)|0;if(a|0){c=a;break}a=k[2993]|0;k[2993]=a+0;if(!a){c=0;break}Na[a&1]()}a=c+4|0;d=a+64|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(d|0));k[c>>2]=2908;v=c+68|0;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;k[v+12>>2]=0;k[v+16>>2]=0;k[v+20>>2]=0;k[e+24>>2]=c;k[e+20>>2]=b;k[e+4>>2]=c;if(La[k[(k[e>>2]|0)+12>>2]&127](e)|0?La[k[(k[e>>2]|0)+20>>2]&127](e)|0:0){d=La[k[(k[e>>2]|0)+24>>2]&127](e)|0;a=d?c:0;if(!d){c=d?0:c;x=45}}else{a=0;x=45}if((x|0)==45)Ja[k[(k[c>>2]|0)+4>>2]&127](c);Ja[k[(k[e>>2]|0)+4>>2]&127](e);x=a;r=w;return x|0}default:{x=0;r=w;return x|0}}}}x=0;r=w;return x|0}function wb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;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);h=e}else h=e;else{Ld(h,e-d|0);h=k[y>>2]|0}w=k[a+48>>2]|0;x=k[a+52>>2]|0;g=e>>>0>1073741823?-1:e<<2;f=(g|0)==0?1:g;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}Ke(d|0,0,g|0)|0;if((h|0)>0){m=a+16|0;l=a+32|0;n=a+12|0;j=0;do{i=k[d+(j<<2)>>2]|0;f=k[m>>2]|0;do if((i|0)<=(f|0)){f=k[n>>2]|0;g=k[l>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[l>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[y>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[y>>2]|0}while((f|0)<(g|0));if((g|0)>0){g=a+20|0;f=0;do{h=c+(f<<2)|0;i=k[h>>2]|0;if((i|0)<=(k[m>>2]|0)){if((i|0)<(k[n>>2]|0))k[h>>2]=(k[g>>2]|0)+i}else k[h>>2]=i-(k[g>>2]|0);f=f+1|0}while((f|0)<(k[y>>2]|0))}}}v=k[a+56>>2]|0;r=k[v>>2]|0;v=(k[v+4>>2]|0)-r|0;s=v>>2;if((v|0)<=4){gb(d);return 1}t=a+16|0;u=a+32|0;v=a+12|0;a=a+20|0;o=w+64|0;p=w+28|0;q=(e|0)>0;n=1;while(1){if(s>>>0<=n>>>0){D=31;break}f=k[r+(n<<2)>>2]|0;if(!((f|0)<0?1:(1<<(f&31)&k[(k[w>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(z=k[(k[(k[o>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(z|0)>-1):0){h=k[p>>2]|0;m=k[x>>2]|0;f=k[m+(k[h+(z<<2)>>2]<<2)>>2]|0;g=z+1|0;g=k[m+(k[h+((((g|0)%3|0|0)==0?z+-2|0:g)<<2)>>2]<<2)>>2]|0;h=k[m+(k[h+((((z>>>0)%3|0|0)==0?2:-1)+z<<2)>>2]<<2)>>2]|0;m=_(n,e)|0;if((f|0)<(n|0)&(g|0)<(n|0)&(h|0)<(n|0)){j=_(f,e)|0;i=_(g,e)|0;g=_(h,e)|0;if(q){f=0;do{k[d+(f<<2)>>2]=(k[c+(f+g<<2)>>2]|0)+(k[c+(f+i<<2)>>2]|0)-(k[c+(f+j<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}l=c+(m<<2)|0;if((k[y>>2]|0)>0){j=0;do{i=k[d+(j<<2)>>2]|0;f=k[t>>2]|0;do if((i|0)<=(f|0)){f=k[v>>2]|0;g=k[u>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[u>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[y>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[l+(f<<2)>>2]=(k[b+(f+m<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[y>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=l+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[t>>2]|0)){if((h|0)<(k[v>>2]|0))k[g>>2]=(k[a>>2]|0)+h}else k[g>>2]=h-(k[a>>2]|0);f=f+1|0}while((f|0)<(k[y>>2]|0))}}}}else{C=m;D=36}}else{C=_(n,e)|0;D=36}if((D|0)==36?(D=0,A=c+((_(n+-1|0,e)|0)<<2)|0,B=c+(C<<2)|0,(k[y>>2]|0)>0):0){j=0;do{i=k[A+(j<<2)>>2]|0;f=k[t>>2]|0;do if((i|0)<=(f|0)){f=k[v>>2]|0;g=k[u>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[u>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[y>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[B+(f<<2)>>2]=(k[b+(f+C<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[y>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=B+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[t>>2]|0)){if((h|0)<(k[v>>2]|0))k[g>>2]=(k[a>>2]|0)+h}else k[g>>2]=h-(k[a>>2]|0);f=f+1|0}while((f|0)<(k[y>>2]|0))}}}n=n+1|0;if((n|0)>=(s|0)){D=29;break}}if((D|0)==29){gb(d);return 1}else if((D|0)==31)Ba(11196,11078,315,11219);return 0}function xb(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.0,h=0,i=0.0,j=0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0;L=r;r=r+48|0;H=L+24|0;I=L+12|0;J=L;K=a+48|0;k[K>>2]=e;G=a+40|0;k[G>>2]=f;F=a+44|0;f=e>>>0>1073741823?-1:e<<2;f=(f|0)==0?1:f;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}f=k[F>>2]|0;k[F>>2]=d;if(f|0)gb(f);s=a+8|0;k[s>>2]=e;t=a+32|0;h=k[t>>2]|0;f=k[h+4>>2]|0;h=k[h>>2]|0;d=f-h|0;if((d|0)<=0){r=L;return 1}u=a+24|0;v=a+28|0;q=a+36|0;w=J+4|0;x=I+4|0;y=J+8|0;z=I+8|0;A=H+4|0;B=H+8|0;C=a+52|0;D=a+56|0;E=a+60|0;p=a+44|0;d=(d>>2)+-1|0;a:while(1){if(f-h>>2>>>0<=d>>>0){d=11;break}h=k[h+(d<<2)>>2]|0;f=h+1|0;do if((h|0)>=0){f=((f|0)%3|0|0)==0?h+-2|0:f;if(!((h>>>0)%3|0)){a=h+2|0;break}else{a=h+-1|0;break}}else{a=h;f=h}while(0);j=k[(k[u>>2]|0)+28>>2]|0;h=k[j+(f<<2)>>2]|0;a=k[j+(a<<2)>>2]|0;j=k[v>>2]|0;f=k[j>>2]|0;j=(k[j+4>>2]|0)-f>>2;if(j>>>0<=h>>>0){d=18;break}n=k[f+(h<<2)>>2]|0;if(j>>>0<=a>>>0){d=20;break}h=k[f+(a<<2)>>2]|0;f=(n|0)<(d|0);b:do if(!(f&(h|0)<(d|0))){do if(f){f=k[K>>2]|0;a=_(f,n)|0}else{if((d|0)>0){f=k[K>>2]|0;a=_(f,d+-1|0)|0;break}if((k[K>>2]|0)<=0)break b;h=k[p>>2]|0;f=0;while(1){k[h+(f<<2)>>2]=0;f=f+1|0;if((f|0)>=(k[K>>2]|0))break b}}while(0);if((f|0)>0){h=k[p>>2]|0;f=0;do{k[h+(f<<2)>>2]=k[b+(f+a<<2)>>2];f=f+1|0}while((f|0)<(k[K>>2]|0))}}else{j=k[K>>2]|0;a=_(j,n)|0;g=+(k[b+(a<<2)>>2]|0);i=+(k[b+(a+1<<2)>>2]|0);j=_(j,h)|0;l=+(k[b+(j<<2)>>2]|0);m=+(k[b+(j+1<<2)>>2]|0);if(!(l!=g|m!=i)){n=k[p>>2]|0;k[n>>2]=~~l;k[n+4>>2]=~~m;break}Sd(H,k[q>>2]|0,k[G>>2]|0,d);Sd(I,k[q>>2]|0,k[G>>2]|0,n);Sd(J,k[q>>2]|0,k[G>>2]|0,h);V=+o[I>>2];R=+o[J>>2]-V;U=+o[x>>2];Q=+o[w>>2]-U;T=+o[z>>2];S=+o[y>>2]-T;V=+o[H>>2]-V;U=+o[A>>2]-U;T=+o[B>>2]-T;P=R*R+0.0+Q*Q+S*S;N=(R*V+0.0+Q*U+S*T)/P;R=V-R*N;Q=U-Q*N;S=T-S*N;P=+O(+((S*S+(Q*Q+(R*R+0.0)))/P));R=l-g;Q=m-i;l=g+R*N;m=R*P;N=i+Q*N;P=Q*P;i=l-P;g=m+N;l=P+l;m=N-m;f=_(k[K>>2]|0,d)|0;N=+(k[b+(f<<2)>>2]|0);P=+(k[b+(f+1<<2)>>2]|0);Q=N-i;R=P-g;N=N-l;P=P-m;f=k[D>>2]|0;h=k[E>>2]|0;a=(f|0)==(h<<5|0);if(R*R+(Q*Q+0.0)>>0<1073741823?(n>>>0>>0?j:n):2147483647);f=k[D>>2]|0}k[D>>2]=f+1;n=(k[C>>2]|0)+(f>>>5<<2)|0;k[n>>2]=k[n>>2]|1<<(f&31)}else{if(a){if((f+1|0)<0){d=31;break a}n=h<<6;j=f+32&-32;Td(C,f>>>0<1073741823?(n>>>0>>0?j:n):2147483647);f=k[D>>2]|0}k[D>>2]=f+1;n=(k[C>>2]|0)+(f>>>5<<2)|0;k[n>>2]=k[n>>2]&~(1<<(f&31));i=l;g=m}j=~~+M(+(i+.5));n=k[p>>2]|0;k[n>>2]=j;j=~~+M(+(g+.5));k[n+4>>2]=j}while(0);n=_(d,e)|0;gc(s,b+(n<<2)|0,k[F>>2]|0,c,n);d=d+-1|0;if((d|0)<=-1){d=9;break}f=k[t>>2]|0;h=k[f>>2]|0;f=k[f+4>>2]|0}if((d|0)==9){r=L;return 1}else if((d|0)==11)Ba(11196,11078,315,11219);else if((d|0)==18)Ba(11196,11078,315,11219);else if((d|0)==20)Ba(11196,11078,315,11219);else if((d|0)==26)Ba(11055,11078,304,11175);else if((d|0)==31)Ba(11055,11078,304,11175);return 0}function yb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+64|0;E=G;if((a|0)<0){F=0;r=G;return F|0}if(!a){F=1;r=G;return F|0}n=c+8|0;A=n;z=k[A+4>>2]|0;B=c+16|0;f=B;e=k[f>>2]|0;f=k[f+4>>2]|0;if(!((z|0)>(f|0)|((z|0)==(f|0)?(k[A>>2]|0)>>>0>e>>>0:0))){F=0;r=G;return F|0}A=i[(k[c>>2]|0)+e>>0]|0;y=Yf(e|0,f|0,1,0)|0;z=B;k[z>>2]=y;k[z+4>>2]=L;switch(A<<24>>24){case 0:{e=E;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a:do if(((Ac(E,c)|0?(v=n,u=k[v>>2]|0,v=k[v+4>>2]|0,h=B,g=k[h>>2]|0,h=Yf(g|0,k[h+4>>2]|0,8,0)|0,j=L,!((v|0)<(j|0)|(v|0)==(j|0)&u>>>0>>0)):0)?(t=k[c>>2]|0,m=t+g|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,A=B,k[A>>2]=h,k[A+4>>2]=j,A=Nf(u|0,v|0,h|0,j|0)|0,z=L,!(m>>>0>z>>>0|(m|0)==(z|0)&q>>>0>A>>>0)):0)?(s=t+h|0,C=Yf(q|0,m|0,h|0,j|0)|0,D=L,A=B,k[A>>2]=C,k[A+4>>2]=D,(q|0)>=1):0){A=E+40|0;k[A>>2]=s;e=q+-1|0;f=s+e|0;switch((l[f>>0]|0)>>>6&3){case 0:{k[E+44>>2]=e;p=(l[f>>0]|0)&63;o=E+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){F=0;break a}k[E+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=E+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){F=0;break a}k[E+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=E+48|0;k[o>>2]=p;break}case 3:{k[E+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=E+48|0;k[o>>2]=p;break}default:{}}z=p+16384|0;k[o>>2]=z;if(z>>>0<=4194303?(k[E+12>>2]|0)!=0:0){z=c+36|0;i[z>>0]=1;y=t+C|0;w=Nf(u|0,v|0,C|0,D|0)|0;x=c+32|0;k[x>>2]=0;k[c+24>>2]=y;k[c+28>>2]=y+w;s=E+48|0;t=E+44|0;u=E+16|0;v=E+28|0;c=(b|0)>0;q=0;e=0;f=k[s>>2]|0;while(1){b:do if(f>>>0<16384){g=k[t>>2]|0;do{if((g|0)<=0)break b;g=g+-1|0;k[t>>2]=g;f=l[(k[A>>2]|0)+g>>0]|0|f<<8;k[s>>2]=f}while(f>>>0<16384)}while(0);n=f&4095;p=k[(k[u>>2]|0)+(n<<2)>>2]|0;o=k[v>>2]|0;f=(_(k[o+(p<<3)>>2]|0,f>>>12)|0)+n-(k[o+(p<<3)+4>>2]|0)|0;k[s>>2]=f;if(c){o=(p|0)>0;if((p|0)<=-1){e=33;break}if((p|0)<33)n=0;else{e=34;break}while(1){if(o){g=0;m=0;j=k[x>>2]|0;do{h=j>>>3;if((h|0)<(w|0)){h=(l[y+h>>0]|0)>>>(j&7)&1;j=j+1|0;k[x>>2]=j}else h=0;g=h<>2]=g;n=n+1|0;if((n|0)>=(b|0)){e=h;break}else e=h}}q=q+b|0;if((q|0)>=(a|0)){e=36;break}}if((e|0)==33)Ba(5411,5426,112,5445);else if((e|0)==34)Ba(5453,5426,113,5445);else if((e|0)==36){i[z>>0]=0;F=Yf(k[x>>2]|0,0,7,0)|0;F=Kf(F|0,L|0,3)|0;D=Yf(F|0,L|0,C|0,D|0)|0;F=B;k[F>>2]=D;k[F+4>>2]=L;F=1;break}}else F=0}else F=0;while(0);e=k[E+28>>2]|0;f=e;if(e|0){g=E+32|0;h=k[g>>2]|0;if((h|0)!=(e|0))k[g>>2]=h+(~((h+-8-f|0)>>>3)<<3);gb(e)}e=k[E+16>>2]|0;f=e;if(e|0){g=E+20|0;h=k[g>>2]|0;if((h|0)!=(e|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);gb(e)}g=k[E>>2]|0;h=g;if(g|0){e=E+4|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-h|0)>>>2)<<2);gb(g)}r=G;return F|0}case 1:{F=Ua(a,c,d)|0;r=G;return F|0}default:{F=0;r=G;return F|0}}return 0}function zb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;if((c|0)!=2){l=0;return l|0}e=k[a+12>>2]|0;f=k[a+4>>2]|0;d=f+4|0;a=k[d>>2]|0;if((e|0)<=-1)Ba(9441,9457,54,9485);c=k[a+4>>2]|0;if(((k[a+8>>2]|0)-c>>2|0)<=(e|0))Ba(9495,9457,55,9485);i=k[c+(e<<2)>>2]|0;a:do if((La[k[(k[f>>2]|0)+8>>2]&127](f)|0)==1){h=k[d>>2]|0;c=k[h+4>>2]|0;if(((k[h+8>>2]|0)-c>>2|0)<=(e|0))Ba(9495,9457,55,9485);h=k[c+(e<<2)>>2]|0;if((b+-1|0)>>>0<3&(La[k[(k[f>>2]|0)+8>>2]&127](f)|0)==1?(g=La[k[(k[f>>2]|0)+36>>2]&127](f)|0,j=Pa[k[(k[f>>2]|0)+44>>2]&63](f,e)|0,!((g|0)==0|(j|0)==0)):0){a=Pa[k[(k[f>>2]|0)+40>>2]&63](f,e)|0;d=k[f+24>>2]|0;e=j+12|0;b:do if(!a)switch(b|0){case -2:{c=0;break a}case 1:{while(1){c=Xa(36)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c+4>>2]=h;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=d;k[c+24>>2]=g;k[c+28>>2]=e;k[c+32>>2]=j;k[c>>2]=3980;break b}case 2:{while(1){c=Xa(36)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c+4>>2]=h;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=d;k[c+24>>2]=g;k[c+28>>2]=e;k[c+32>>2]=j;k[c>>2]=4044;break b}case 3:{while(1){c=Xa(64)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c+4>>2]=h;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=d;k[c+24>>2]=g;k[c+28>>2]=e;k[c+32>>2]=j;k[c>>2]=4108;j=c+36|0;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;k[j+24>>2]=0;break b}default:{l=40;break a}}else switch(b|0){case -2:{c=0;break a}case 1:{while(1){c=Xa(36)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c+4>>2]=h;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=d;k[c+24>>2]=a;k[c+28>>2]=e;k[c+32>>2]=j;k[c>>2]=3788;break b}case 2:{while(1){c=Xa(36)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c+4>>2]=h;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=d;k[c+24>>2]=a;k[c+28>>2]=e;k[c+32>>2]=j;k[c>>2]=3852;break b}case 3:{while(1){c=Xa(64)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c+4>>2]=h;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=d;k[c+24>>2]=a;k[c+28>>2]=e;k[c+32>>2]=j;k[c>>2]=3916;j=c+36|0;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;k[j+24>>2]=0;break b}default:{l=40;break a}}while(0);if(!c)l=39}else l=39}else l=39;while(0);if((l|0)==39)if((b|0)==-2)c=0;else l=40;if((l|0)==40){while(1){c=Xa(20)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]();l=40}k[c+4>>2]=i;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c>>2]=3724}l=c;return l|0}function Ab(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+16|0;m=u;k[m>>2]=b;p=u+4|0;if((b|0)<0){r=u;return}o=(b>>>0)/3|0;q=a+12|0;if(k[(k[q>>2]|0)+(o>>>5<<2)>>2]&1<<(o&31)|0){r=u;return}n=a+56|0;c=k[n>>2]|0;o=a+60|0;d=k[o>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;k[o>>2]=c}l=a+64|0;if((c|0)==(k[l>>2]|0))Pd(n,m);else{k[c>>2]=b;k[o>>2]=c+4}e=b+1|0;i=k[(k[a>>2]|0)+28>>2]|0;d=k[i+((((e|0)%3|0|0)==0?b+-2|0:e)<<2)>>2]|0;i=k[i+((((b>>>0)%3|0|0)==0?2:-1)+b<<2)>>2]|0;j=a+24|0;c=k[j>>2]|0;f=c+(d>>>5<<2)|0;g=1<<(d&31);h=k[f>>2]|0;if(!(h&g)){k[f>>2]=h|g;fd(a+36|0,d,((e|0)%3|0|0)==0?b+-2|0:e);c=k[j>>2]|0}c=c+(i>>>5<<2)|0;d=1<<(i&31);e=k[c>>2]|0;if(!(e&d)){k[c>>2]=e|d;fd(a+36|0,i,(((b>>>0)%3|0|0)==0?2:-1)+b|0)}d=k[n>>2]|0;c=k[o>>2]|0;if((d|0)==(c|0)){r=u;return}b=a+36|0;do{e=k[c+-4>>2]|0;k[m>>2]=e;f=(e|0)/3|0;if((e|0)>=0?(s=k[q>>2]|0,(k[s+(f>>>5<<2)>>2]&1<<(f&31)|0)==0):0){c=e;d=s;e=k[a>>2]|0;a:while(1){h=(c|0)/3|0;i=d+(h>>>5<<2)|0;k[i>>2]=1<<(h&31)|k[i>>2];i=k[(k[e+28>>2]|0)+(c<<2)>>2]|0;d=k[(k[e+40>>2]|0)+(i<<2)>>2]|0;if((d|0)<0)h=1;else{h=k[(k[k[e+64>>2]>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;h=(1<<(h&31)&k[(k[e+12>>2]|0)+(h>>>5<<2)>>2]|0)!=0}d=(k[j>>2]|0)+(i>>>5<<2)|0;f=1<<(i&31);g=k[d>>2]|0;if(!(g&f)){k[d>>2]=g|f;fd(b,i,c);e=k[a>>2]|0;if(h)i=e;else{d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;if(!(1<<(c&31)&k[(k[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=k[(k[(k[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;k[m>>2]=c;d=k[q>>2]|0;continue}}else i=e;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)h=d;else h=k[(k[(k[i+64>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;else h=-1073741824;k[p>>2]=h;do if(!e)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);if(!(1<<(c&31)&k[(k[i>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=k[(k[(k[i+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;d=(h|0)<0;e=d?-1:(h>>>0)/3|0;f=(c|0)<0;g=f?-1:(c>>>0)/3|0;do if(!d){d=k[q>>2]|0;if(k[d+(e>>>5<<2)>>2]&1<<(e&31)|0){t=42;break}if(f){c=h;break}if(!(k[d+(g>>>5<<2)>>2]&1<<(g&31))){t=47;break a}else c=h}else t=42;while(0);if((t|0)==42){t=0;if(f){t=44;break}d=k[q>>2]|0;if(k[d+(g>>>5<<2)>>2]&1<<(g&31)){t=44;break}}k[m>>2]=c;e=i}do if((t|0)==44){t=0;c=(k[o>>2]|0)+-4|0;k[o>>2]=c}else if((t|0)==47){t=0;d=k[o>>2]|0;k[d+-4>>2]=c;if((d|0)==(k[l>>2]|0)){Pd(n,p);c=k[o>>2]|0;break}else{k[d>>2]=h;c=d+4|0;k[o>>2]=c;break}}while(0);d=k[n>>2]|0}else{c=c+-4|0;k[o>>2]=c}}while((d|0)!=(c|0));r=u;return}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,s=0,t=0,u=0,v=0;v=r;r=r+16|0;n=v;k[n>>2]=b;q=v+4|0;if((b|0)<0){r=v;return}p=(b>>>0)/3|0;s=a+12|0;if(k[(k[s>>2]|0)+(p>>>5<<2)>>2]&1<<(p&31)|0){r=v;return}o=a+56|0;c=k[o>>2]|0;p=a+60|0;d=k[p>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;k[p>>2]=c}m=a+64|0;if((c|0)==(k[m>>2]|0))Pd(o,n);else{k[c>>2]=b;k[p>>2]=c+4}d=k[a>>2]|0;h=b+1|0;c=((h|0)%3|0|0)==0?b+-2|0:h;if((c|0)<0)g=-1073741824;else g=k[(k[d>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;c=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((c|0)<0)i=-1073741824;else i=k[(k[d>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;l=a+24|0;c=k[l>>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;fd(a+36|0,g,((h|0)%3|0|0)==0?b+-2|0:h);c=k[l>>2]|0}c=c+(i>>>5<<2)|0;d=1<<(i&31);e=k[c>>2]|0;if(!(e&d)){k[c>>2]=e|d;fd(a+36|0,i,(((b>>>0)%3|0|0)==0?2:-1)+b|0)}c=k[o>>2]|0;e=k[p>>2]|0;if((c|0)==(e|0)){r=v;return}j=a+36|0;d=c;while(1){c=k[e+-4>>2]|0;k[n>>2]=c;f=(c|0)/3|0;if((c|0)>=0?(t=k[s>>2]|0,(k[t+(f>>>5<<2)>>2]&1<<(f&31)|0)==0):0){e=k[a>>2]|0;d=t;a:while(1){i=(c|0)/3|0;b=d+(i>>>5<<2)|0;k[b>>2]=1<<(i&31)|k[b>>2];b=(c|0)<0;if(b)i=-1073741824;else i=k[(k[e>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;d=k[(k[e+24>>2]|0)+(i<<2)>>2]|0;f=d+1|0;if((d|0)>=0){d=((f|0)%3|0|0)==0?d+-2|0:f;if((d|0)>=0){d=k[(k[e+12>>2]|0)+(d<<2)>>2]|0;f=d+1|0;if((d|0)>=0)d=((f|0)%3|0|0)==0?d+-2|0:f}}f=(k[l>>2]|0)+(i>>>5<<2)|0;g=1<<(i&31);h=k[f>>2]|0;if(!(h&g)){k[f>>2]=h|g;fd(j,i,c);e=k[a>>2]|0;if((d|0)>=0){do if(b)c=-1073741824;else{b=c+1|0;c=((b|0)%3|0|0)==0?c+-2|0:b;if((c|0)<0)break;c=k[(k[e+12>>2]|0)+(c<<2)>>2]|0}while(0);k[n>>2]=c;d=k[s>>2]|0;continue}}if(b){u=37;break}d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if((d|0)>=0)d=k[(k[e+12>>2]|0)+(d<<2)>>2]|0;k[q>>2]=d;c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0)c=k[(k[e+12>>2]|0)+(c<<2)>>2]|0;b=(d|0)<0;g=b?-1:(d>>>0)/3|0;h=(c|0)<0;i=h?-1:(c>>>0)/3|0;do if(!b){f=k[s>>2]|0;if(k[f+(g>>>5<<2)>>2]&1<<(g&31)|0){u=42;break}if(h){c=d;break}if(!(k[f+(i>>>5<<2)>>2]&1<<(i&31))){u=47;break a}else c=d}else u=42;while(0);if((u|0)==42){u=0;if(h){u=44;break}d=k[s>>2]|0;if(!(k[d+(i>>>5<<2)>>2]&1<<(i&31)))f=d;else{u=44;break}}k[n>>2]=c;d=f}do if((u|0)==37){k[q>>2]=-1073741824;u=44}else if((u|0)==47){u=0;e=k[p>>2]|0;k[e+-4>>2]=c;if((e|0)==(k[m>>2]|0)){Pd(o,q);c=k[p>>2]|0;break}else{k[e>>2]=d;c=e+4|0;k[p>>2]=c;break}}while(0);if((u|0)==44){u=0;c=(k[p>>2]|0)+-4|0;k[p>>2]=c}d=k[o>>2]|0}else{c=e+-4|0;k[p>>2]=c}if((d|0)==(c|0))break;else e=c}r=v;return}function Cb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0.0,i=0.0,j=0.0,l=0.0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0;L=r;r=r+48|0;H=L+24|0;I=L+12|0;J=L;K=a+48|0;k[K>>2]=e;G=a+40|0;k[G>>2]=f;F=a+44|0;f=e>>>0>1073741823?-1:e<<2;f=(f|0)==0?1:f;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}f=k[F>>2]|0;k[F>>2]=d;if(f|0)gb(f);s=a+8|0;k[s>>2]=e;t=a+32|0;g=k[t>>2]|0;f=k[g+4>>2]|0;g=k[g>>2]|0;E=f-g|0;u=E>>2;if((E|0)<=0){r=L;return 1}v=a+24|0;w=a+28|0;q=a+36|0;x=J+4|0;y=I+4|0;z=J+8|0;A=I+8|0;B=H+4|0;C=H+8|0;D=a+56|0;E=a+52|0;p=a+44|0;d=0;while(1){if(f-g>>2>>>0<=d>>>0){d=11;break}g=k[g+(d<<2)>>2]|0;f=g+1|0;if((g|0)>=0){f=((f|0)%3|0|0)==0?g+-2|0:f;g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((f|0)<0)f=-1073741824;else f=k[(k[k[v>>2]>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;if((g|0)<0)m=-1073741824;else m=k[(k[k[v>>2]>>2]|0)+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]|0}else{m=-1073741824;f=-1073741824}a=k[w>>2]|0;g=k[a>>2]|0;a=(k[a+4>>2]|0)-g>>2;if(a>>>0<=f>>>0){d=19;break}n=k[g+(f<<2)>>2]|0;if(a>>>0<=m>>>0){d=21;break}g=k[g+(m<<2)>>2]|0;f=(n|0)<(d|0);a:do if(f&(g|0)<(d|0)){m=k[K>>2]|0;a=_(m,n)|0;h=+(k[c+(a<<2)>>2]|0);i=+(k[c+(a+1<<2)>>2]|0);m=_(m,g)|0;j=+(k[c+(m<<2)>>2]|0);l=+(k[c+(m+1<<2)>>2]|0);if(j!=h|l!=i){Sd(H,k[q>>2]|0,k[G>>2]|0,d);Sd(I,k[q>>2]|0,k[G>>2]|0,n);Sd(J,k[q>>2]|0,k[G>>2]|0,g);V=+o[I>>2];Q=+o[J>>2]-V;U=+o[y>>2];R=+o[x>>2]-U;T=+o[A>>2];S=+o[z>>2]-T;V=+o[H>>2]-V;U=+o[B>>2]-U;T=+o[C>>2]-T;P=Q*Q+0.0+R*R+S*S;N=(Q*V+0.0+R*U+S*T)/P;Q=V-Q*N;R=U-R*N;S=T-S*N;P=+O(+((S*S+(R*R+(Q*Q+0.0)))/P));Q=j-h;j=l-i;l=Q*P;P=j*P;a=(k[D>>2]|0)+-1|0;m=(1<<(a&31)&k[(k[E>>2]|0)+(a>>>5<<2)>>2]|0)==0;k[D>>2]=a;a=~~+M(+(h+Q*N+(m?P:-P)+.5));n=k[p>>2]|0;k[n>>2]=a;m=~~+M(+(i+j*N+(m?-l:l)+.5));k[n+4>>2]=m;break}else{n=k[p>>2]|0;k[n>>2]=~~j;k[n+4>>2]=~~l;break}}else{do if(f){f=k[K>>2]|0;a=_(f,n)|0}else{if((d|0)>0){f=k[K>>2]|0;a=_(f,d+-1|0)|0;break}if((k[K>>2]|0)<=0)break a;g=k[p>>2]|0;f=0;while(1){k[g+(f<<2)>>2]=0;f=f+1|0;if((f|0)>=(k[K>>2]|0))break a}}while(0);if((f|0)>0){g=k[p>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[c+(f+a<<2)>>2];f=f+1|0}while((f|0)<(k[K>>2]|0))}}while(0);n=_(d,e)|0;Jd(s,k[F>>2]|0,b,c+(n<<2)|0,n);d=d+1|0;if((d|0)>=(u|0)){d=9;break}f=k[t>>2]|0;g=k[f>>2]|0;f=k[f+4>>2]|0}if((d|0)==9){r=L;return 1}else if((d|0)==11)Ba(11196,11078,315,11219);else if((d|0)==19)Ba(11196,11078,315,11219);else if((d|0)==21)Ba(11196,11078,315,11219);return 0}function Db(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+48|0;D=F+20|0;A=F;B=F+33|0;y=F+26|0;z=F+24|0;E=b+8|0;w=E;x=k[w>>2]|0;w=k[w+4>>2]|0;C=b+16|0;d=C;c=k[d>>2]|0;d=Yf(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((w|0)<(e|0)|(w|0)==(e|0)&x>>>0>>0){E=0;r=F;return E|0}x=(k[b>>2]|0)+c|0;x=l[x>>0]|l[x+1>>0]<<8|l[x+2>>0]<<16|l[x+3>>0]<<24;w=C;k[w>>2]=d;k[w+4>>2]=e;if((x|0)<1){E=0;r=F;return E|0}w=a+4|0;c=a+8|0;f=k[c>>2]|0;e=k[w>>2]|0;d=f-e>>2;if(x>>>0<=d>>>0){if(x>>>0>>0?(g=e+(x<<2)|0,(f|0)!=(g|0)):0)k[c>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else Ld(w,x-d|0);t=k[a+20>>2]|0;s=A+4|0;u=t+4|0;v=t+8|0;q=0;while(1){h=E;a=k[h>>2]|0;h=k[h+4>>2]|0;f=C;d=k[f>>2]|0;f=k[f+4>>2]|0;if(!((h|0)>(f|0)|(h|0)==(f|0)&a>>>0>d>>>0)){c=0;d=38;break}m=k[b>>2]|0;n=i[m+d>>0]|0;c=Yf(d|0,f|0,1,0)|0;p=L;o=C;k[o>>2]=c;k[o+4>>2]=p;if(!((h|0)>(p|0)|(h|0)==(p|0)&a>>>0>c>>>0)){c=0;d=38;break}o=i[m+c>>0]|0;c=Yf(d|0,f|0,2,0)|0;p=L;g=C;k[g>>2]=c;k[g+4>>2]=p;if(!((h|0)>(p|0)|(h|0)==(p|0)&a>>>0>c>>>0)){c=0;d=38;break}p=i[m+c>>0]|0;c=Yf(d|0,f|0,3,0)|0;g=L;e=C;k[e>>2]=c;k[e+4>>2]=g;if(!((h|0)>(g|0)|(h|0)==(g|0)&a>>>0>c>>>0)){c=0;d=38;break}g=i[m+c>>0]|0;e=Yf(d|0,f|0,4,0)|0;c=C;k[c>>2]=e;k[c+4>>2]=L;c=Yf(d|0,f|0,6,0)|0;d=L;if((h|0)<(d|0)|(h|0)==(d|0)&a>>>0>>0){c=0;d=38;break}m=m+e|0;m=l[m>>0]|l[m+1>>0]<<8;h=C;k[h>>2]=c;k[h+4>>2]=d;h=o&255;k[s>>2]=0;k[s+4>>2]=0;k[s+8>>2]=0;k[s+12>>2]=0;a=n&255;d=g<<24>>24!=0;switch(o<<24>>24){case 11:case 2:case 1:{c=1;break}case 4:case 3:{c=2;break}case 6:case 5:{c=4;break}case 8:case 7:{c=8;break}case 9:{c=4;break}case 10:{c=8;break}default:c=-1}e=_(c,p&255)|0;f=((e|0)<0)<<31>>31;d=d&1;while(1){c=Xa(88)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c>>2]=0;o=c+4|0;k[o>>2]=k[A>>2];k[o+4>>2]=k[A+4>>2];k[o+8>>2]=k[A+8>>2];k[o+12>>2]=k[A+12>>2];k[o+16>>2]=k[A+16>>2];i[c+24>>0]=p;p=c+25|0;i[p>>0]=i[B>>0]|0;i[p+1>>0]=i[B+1>>0]|0;i[p+2>>0]=i[B+2>>0]|0;k[c+28>>2]=h;i[c+32>>0]=d;p=c+33|0;i[p>>0]=i[y>>0]|0;i[p+1>>0]=i[y+1>>0]|0;i[p+2>>0]=i[y+2>>0]|0;i[p+3>>0]=i[y+3>>0]|0;i[p+4>>0]=i[y+4>>0]|0;i[p+5>>0]=i[y+5>>0]|0;i[p+6>>0]=i[y+6>>0]|0;p=c+40|0;k[p>>2]=e;k[p+4>>2]=f;p=c+48|0;k[p>>2]=0;k[p+4>>2]=0;k[c+56>>2]=a;j[c+60>>1]=m;j[c+62>>1]=j[z>>1]|0;p=c+64|0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[p+12>>2]=0;k[p+16>>2]=0;i[p+20>>0]=0;p=k[(k[t>>2]|0)+8>>2]|0;a=(k[v>>2]|0)-(k[u>>2]|0)>>2;k[D>>2]=c;Ma[p&7](t,a,D);a=k[D>>2]|0;k[D>>2]=0;if(a|0){c=k[a+68>>2]|0;d=c;if(c|0){e=a+72|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}p=a+64|0;c=k[p>>2]|0;k[p>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;gb(d)}gb(c)}gb(a)}k[(k[w>>2]|0)+(q<<2)>>2]=((k[v>>2]|0)-(k[u>>2]|0)>>2)+-1;q=q+1|0;if((q|0)>=(x|0)){c=1;d=38;break}}if((d|0)==38){r=F;return c|0}return 0}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.0,j=0.0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,N=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0;K=r;r=r+48|0;G=K+24|0;H=K+12|0;I=K;J=a+48|0;k[J>>2]=e;F=a+40|0;k[F>>2]=f;E=a+44|0;f=e>>>0>1073741823?-1:e<<2;f=(f|0)==0?1:f;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}f=k[E>>2]|0;k[E>>2]=d;if(f|0)gb(f);q=a+8|0;k[q>>2]=e;s=a+32|0;g=k[s>>2]|0;f=k[g+4>>2]|0;g=k[g>>2]|0;D=f-g|0;t=D>>2;if((D|0)<=0){r=K;return 1}u=a+24|0;v=a+28|0;p=a+36|0;w=I+4|0;x=H+4|0;y=I+8|0;z=H+8|0;A=G+4|0;B=G+8|0;C=a+56|0;D=a+52|0;n=a+44|0;d=0;while(1){if(f-g>>2>>>0<=d>>>0){d=11;break}g=k[g+(d<<2)>>2]|0;f=g+1|0;do if((g|0)>=0){f=((f|0)%3|0|0)==0?g+-2|0:f;if(!((g>>>0)%3|0)){a=g+2|0;break}else{a=g+-1|0;break}}else{a=g;f=g}while(0);g=k[(k[u>>2]|0)+28>>2]|0;h=k[g+(f<<2)>>2]|0;g=k[g+(a<<2)>>2]|0;a=k[v>>2]|0;f=k[a>>2]|0;a=(k[a+4>>2]|0)-f>>2;if(a>>>0<=h>>>0){d=18;break}h=k[f+(h<<2)>>2]|0;if(a>>>0<=g>>>0){d=20;break}g=k[f+(g<<2)>>2]|0;f=(h|0)<(d|0);a:do if(f&(g|0)<(d|0)){a=k[J>>2]|0;f=_(a,h)|0;i=+(k[c+(f<<2)>>2]|0);j=+(k[c+(f+1<<2)>>2]|0);a=_(a,g)|0;l=+(k[c+(a<<2)>>2]|0);m=+(k[c+(a+1<<2)>>2]|0);if(l!=i|m!=j){Sd(G,k[p>>2]|0,k[F>>2]|0,d);Sd(H,k[p>>2]|0,k[F>>2]|0,h);Sd(I,k[p>>2]|0,k[F>>2]|0,g);U=+o[H>>2];P=+o[I>>2]-U;T=+o[x>>2];Q=+o[w>>2]-T;S=+o[z>>2];R=+o[y>>2]-S;U=+o[G>>2]-U;T=+o[A>>2]-T;S=+o[B>>2]-S;N=P*P+0.0+Q*Q+R*R;L=(P*U+0.0+Q*T+R*S)/N;P=U-P*L;Q=T-Q*L;R=S-R*L;N=+O(+((R*R+(Q*Q+(P*P+0.0)))/N));P=l-i;l=m-j;m=P*N;N=l*N;g=(k[C>>2]|0)+-1|0;a=(1<<(g&31)&k[(k[D>>2]|0)+(g>>>5<<2)>>2]|0)==0;k[C>>2]=g;g=~~+M(+(i+P*L+(a?N:-N)+.5));h=k[n>>2]|0;k[h>>2]=g;a=~~+M(+(j+l*L+(a?-m:m)+.5));k[h+4>>2]=a;break}else{h=k[n>>2]|0;k[h>>2]=~~l;k[h+4>>2]=~~m;break}}else{do if(f){f=k[J>>2]|0;a=_(f,h)|0}else{if((d|0)>0){f=k[J>>2]|0;a=_(f,d+-1|0)|0;break}if((k[J>>2]|0)<=0)break a;g=k[n>>2]|0;f=0;while(1){k[g+(f<<2)>>2]=0;f=f+1|0;if((f|0)>=(k[J>>2]|0))break a}}while(0);if((f|0)>0){g=k[n>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[c+(f+a<<2)>>2];f=f+1|0}while((f|0)<(k[J>>2]|0))}}while(0);h=_(d,e)|0;Jd(q,k[E>>2]|0,b,c+(h<<2)|0,h);d=d+1|0;if((d|0)>=(t|0)){d=9;break}f=k[s>>2]|0;g=k[f>>2]|0;f=k[f+4>>2]|0}if((d|0)==9){r=K;return 1}else if((d|0)==11)Ba(11196,11078,315,11219);else if((d|0)==18)Ba(11196,11078,315,11219);else if((d|0)==20)Ba(11196,11078,315,11219);return 0}function Fb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;if((b|0)<=-1)Ba(5469,5481,93,5508);o=a+4|0;n=a+8|0;g=k[n>>2]|0;h=k[o>>2]|0;i=g-h>>2;a:do if((i|0)<=(b|0)){f=b+1|0;e=h;d=g;if(f>>>0<=i>>>0){if(f>>>0>=i>>>0)break;i=e+(f<<2)|0;if((d|0)==(i|0))break;while(1){m=d+-4|0;k[n>>2]=m;h=k[m>>2]|0;k[m>>2]=0;if(h|0){d=k[h+68>>2]|0;e=d;if(d|0){f=h+72|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}m=h+64|0;d=k[m>>2]|0;k[m>>2]=0;if(d|0){e=k[d>>2]|0;if(e|0){f=d+4|0;if((k[f>>2]|0)!=(e|0))k[f>>2]=e;gb(e)}gb(d)}gb(h)}d=k[n>>2]|0;if((d|0)==(i|0))break a}}j=f-i|0;m=a+12|0;d=k[m>>2]|0;if(d-g>>2>>>0>=j>>>0){Ke(g|0,0,j<<2|0)|0;k[n>>2]=g+(j<<2);break}if(f>>>0>1073741823)Ba(11055,11078,304,11175);l=d-h|0;g=l>>1;g=l>>2>>>0<536870911?(g>>>0>>0?f:g):1073741823;if(!g)d=0;else{if(g>>>0>1073741823){o=Da(4)|0;k[o>>2]=5228;ra(o|0,736,67)}e=g<<2;e=(e|0)==0?1:e;while(1){d=Xa(e)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}}f=d+(i<<2)|0;e=f;i=d+(g<<2)|0;Ke(f|0,0,j<<2|0)|0;h=f+(j<<2)|0;g=k[o>>2]|0;d=k[n>>2]|0;if((d|0)==(g|0)){d=g;l=d}else{do{d=d+-4|0;l=k[d>>2]|0;k[d>>2]=0;k[f+-4>>2]=l;f=e+-4|0;e=f}while((d|0)!=(g|0));l=k[o>>2]|0;d=k[n>>2]|0}k[o>>2]=e;k[n>>2]=h;k[m>>2]=i;j=l;if((d|0)!=(j|0))do{d=d+-4|0;i=k[d>>2]|0;k[d>>2]=0;if(i|0){e=k[i+68>>2]|0;f=e;if(e|0){g=i+72|0;h=k[g>>2]|0;if((h|0)!=(e|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);gb(e)}n=i+64|0;e=k[n>>2]|0;k[n>>2]=0;if(e|0){f=k[e>>2]|0;if(f|0){g=e+4|0;if((k[g>>2]|0)!=(f|0))k[g>>2]=f;gb(f)}gb(e)}gb(i)}}while((d|0)!=(j|0));if(l|0)gb(l)}while(0);d=k[(k[c>>2]|0)+56>>2]|0;do if((d|0)<4){m=a+16+(d*12|0)+4|0;e=k[m>>2]|0;n=a+16+(d*12|0)+8|0;f=k[n>>2]|0;if((e|0)!=(f|0)){k[e>>2]=b;k[m>>2]=e+4;break}j=a+16+(d*12|0)|0;l=k[j>>2]|0;i=e-l|0;h=i>>2;d=h+1|0;if(d>>>0>1073741823)Ba(11055,11078,304,11175);a=f-l|0;g=a>>1;g=a>>2>>>0<536870911?(g>>>0>>0?d:g):1073741823;if(!g)d=0;else{if(g>>>0>1073741823){o=Da(4)|0;k[o>>2]=5228;ra(o|0,736,67)}e=g<<2;e=(e|0)==0?1:e;while(1){d=Xa(e)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}}f=d+(h<<2)|0;k[f>>2]=b;e=f+(0-h<<2)|0;if((i|0)>0)xe(e|0,l|0,i|0)|0;k[j>>2]=e;k[m>>2]=f+4;k[n>>2]=d+(g<<2);if(l|0)gb(l)}while(0);o=(k[o>>2]|0)+(b<<2)|0;b=k[c>>2]|0;k[c>>2]=0;h=k[o>>2]|0;k[o>>2]=b;if(!h)return;d=k[h+68>>2]|0;e=d;if(d|0){f=h+72|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}o=h+64|0;d=k[o>>2]|0;k[o>>2]=0;if(d|0){e=k[d>>2]|0;if(e|0){f=d+4|0;if((k[f>>2]|0)!=(e|0))k[f>>2]=e;gb(e)}gb(d)}gb(h);return}function Gb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=a+8|0;k[u>>2]=e;do if(d){f=k[b>>2]|0;l=a+16|0;k[l>>2]=f;j=a+12|0;k[j>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[l>>2]=g;f=g;g=h}else g=h;else k[j>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;t=1-g+f|0;k[a+20>>2]=t;f=(t|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(t&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Ld(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}else d=0;while(0);d=d-e|0;if((d|0)>0){n=0-e|0;o=a+16|0;p=a+32|0;q=a+12|0;r=a+28|0;s=a+20|0;t=a+24|0;h=k[u>>2]|0;do{m=b+(d<<2)|0;l=m+(n<<2)|0;if((h|0)>0){j=0;do{i=k[l+(j<<2)>>2]|0;f=k[o>>2]|0;do if((i|0)<=(f|0)){f=k[q>>2]|0;g=k[p>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;break}else{k[h>>2]=i;break}}else{g=k[p>>2]|0;k[g+(j<<2)>>2]=f}while(0);j=j+1|0;h=k[u>>2]|0}while((j|0)<(h|0));if((h|0)>0){f=0;do{k[c+(f+d<<2)>>2]=(k[m+(f<<2)>>2]|0)-(k[g+(f<<2)>>2]|0);f=f+1|0;h=k[u>>2]|0}while((f|0)<(h|0));if((h|0)>0){i=0;do{f=c+(i+d<<2)|0;g=k[f>>2]|0;if((g|0)>=(k[r>>2]|0)){if((g|0)>(k[t>>2]|0))k[f>>2]=g-(k[s>>2]|0)}else k[f>>2]=(k[s>>2]|0)+g;i=i+1|0;h=k[u>>2]|0}while((i|0)<(h|0))}}}d=d-e|0}while((d|0)>0)}else h=k[u>>2]|0;g=e>>>0>1073741823?-1:e<<2;f=(g|0)==0?1:g;while(1){d=Xa(f)|0;if(d|0){n=d;break}d=k[2993]|0;k[2993]=d+0;if(!d){n=0;break}Na[d&1]()}Ke(n|0,0,g|0)|0;if((h|0)<=0){gb(n);return 1}j=a+16|0;l=a+32|0;m=a+12|0;i=0;do{h=k[n+(i<<2)>>2]|0;d=k[j>>2]|0;do if((h|0)<=(d|0)){d=k[m>>2]|0;f=k[l>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;g=f;break}else{k[g>>2]=h;g=f;break}}else{g=k[l>>2]|0;k[g+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[u>>2]|0}while((i|0)<(d|0));if((d|0)>0)d=0;else{gb(n);return 1}do{k[c+(d<<2)>>2]=(k[b+(d<<2)>>2]|0)-(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[u>>2]|0}while((d|0)<(f|0));if((f|0)<=0){gb(n);return 1}i=a+28|0;j=a+20|0;f=a+24|0;d=0;do{g=c+(d<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[i>>2]|0)){if((h|0)>(k[f>>2]|0))k[g>>2]=h-(k[j>>2]|0)}else k[g>>2]=(k[j>>2]|0)+h;d=d+1|0}while((d|0)<(k[u>>2]|0));gb(n);return 1}function Hb(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,s=0,t=0,u=0,v=0,w=0,x=0;v=r;r=r+16|0;s=v;t=c+24|0;p=i[t>>0]|0;u=p<<24>>24;q=k[b+64>>2]|0;b=_(q,u)|0;k[s>>2]=k[196];k[s+4>>2]=k[197];k[s+8>>2]=k[198];k[s+12>>2]=k[199];m=d+4|0;f=k[m>>2]|0;n=k[d>>2]|0;o=f-n|0;l=o>>2;a=n;g=f;do if(b>>>0>l>>>0){h=b-l|0;j=d+8|0;a=k[j>>2]|0;if(a-f>>2>>>0>=h>>>0){Ke(f|0,0,h<<2|0)|0;k[m>>2]=g+(h<<2);break}if(b>>>0>1073741823)Ba(11055,11078,304,11175);g=a-n|0;f=g>>1;f=g>>2>>>0<536870911?(f>>>0>>0?b:f):1073741823;if(!f)a=0;else{if(f>>>0>1073741823){d=Da(4)|0;k[d>>2]=5228;ra(d|0,736,67)}b=f<<2;b=(b|0)==0?1:b;while(1){a=Xa(b)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}}e=a+(l<<2)|0;Ke(e|0,0,h<<2|0)|0;b=e+(0-l<<2)|0;if((o|0)>0)xe(b|0,n|0,o|0)|0;k[d>>2]=b;k[m>>2]=e+(h<<2);k[j>>2]=a+(f<<2);if(n|0)gb(n)}else if(b>>>0>>0?(e=a+(b<<2)|0,(g|0)!=(e|0)):0)k[m>>2]=g+(~((g+-4-e|0)>>>2)<<2);while(0);if((q|0)<=0){d=1;r=v;return d|0}f=c+84|0;g=c+68|0;if(p<<24>>24<=0){b=0;a:while(1){if(!(i[f>>0]|0))a=k[(k[g>>2]|0)+(b<<2)>>2]|0;else a=b;switch(i[t>>0]|0){case 1:{if(!(ab(c,a,s)|0)){a=0;b=41;break a}break}case 2:{if(!(_a(c,a,s)|0)){a=0;b=41;break a}break}case 3:{if(!(Za(c,a,s)|0)){a=0;b=41;break a}break}case 4:{if(!(Ya(c,a,s)|0)){a=0;b=41;break a}break}default:{a=0;b=41;break a}}b=b+1|0;if((b|0)>=(q|0)){a=1;b=41;break}}if((b|0)==41){r=v;return a|0}}else{w=0;x=0}b:while(1){if(!(i[f>>0]|0))a=k[(k[g>>2]|0)+(x<<2)>>2]|0;else a=x;switch(i[t>>0]|0){case 1:{if(!(ab(c,a,s)|0)){a=0;b=41;break b}break}case 2:{if(!(_a(c,a,s)|0)){a=0;b=41;break b}break}case 3:{if(!(Za(c,a,s)|0)){a=0;b=41;break b}break}case 4:{if(!(Ya(c,a,s)|0)){a=0;b=41;break b}break}default:{a=0;b=41;break b}}e=k[d>>2]|0;a=0;b=w;while(1){k[e+(b<<2)>>2]=k[s+(a<<2)>>2];a=a+1|0;if((a|0)==(u|0))break;else b=b+1|0}x=x+1|0;if((x|0)>=(q|0)){a=1;b=41;break}else w=u+w|0}if((b|0)==41){r=v;return a|0}return 0}function Ib(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+16|0;p=u;q=u+8|0;t=k[a>>2]|0;o=t+8|0;d=k[t>>2]|0;t=k[t+4>>2]|0;o=Yf(d|0,t|0,k[o>>2]|0,k[o+4>>2]|0)|0;m=L;m=Yf((o|0)==0&(m|0)==0&1|0,0,o|0,m|0)|0;m=~~((+(d>>>0)+4294967296.0*+(t>>>0))/(+(m>>>0)+4294967296.0*+(L>>>0))*256.0+.5)>>>0;m=m>>>0<255?m:255;i[q>>0]=((m&255)<<24>>24==0&1)+m;m=a+12|0;t=a+16|0;d=((k[t>>2]|0)-(k[m>>2]|0)<<1)+64|0;if(!d)n=0;else{if((d|0)<0)Ba(11055,11078,304,11175);while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}e=c;while(1){i[e>>0]=0;d=d+-1|0;if(!d){n=c;break}else e=e+1|0}}o=a+28|0;c=(k[o>>2]|0)+-1|0;if((c|0)>-1){j=a+24|0;d=4096;e=0;do{h=i[q>>0]|0;f=256-(h&255)|0;g=(k[j>>2]&1<>>0>=h<<12>>>0){i[n+e>>0]=d;e=e+1|0;d=d>>>8}Af(k[800+(h<<3)>>2]|0,0,d|0,0)|0;d=d+(g?0:f&255)+(_((L+d|0)>>>(k[800+(h<<3)+4>>2]|0),256-h|0)|0)|0;c=c+-1|0}while((c|0)>-1);c=e}else{d=4096;c=0}e=k[t>>2]|0;if((e|0)==(k[m>>2]|0))f=d;else{do{e=e+-4|0;l=k[e>>2]|0;j=31;while(1){h=i[q>>0]|0;f=256-(h&255)|0;g=(1<>>0>=h<<12>>>0){i[n+c>>0]=d;c=c+1|0;d=d>>>8}Af(k[800+(h<<3)>>2]|0,0,d|0,0)|0;d=d+(g?0:f&255)+(_((L+d|0)>>>(k[800+(h<<3)+4>>2]|0),256-h|0)|0)|0;if((j|0)<=0)break;else j=j+-1|0}}while((e|0)!=(k[m>>2]|0));f=d}if(f>>>0<=4095)Ba(5260,5281,133,5294);if(f>>>0>=1048576)Ba(5308,5281,134,5294);e=f+-4096|0;do if(e>>>0>=64){d=n+c|0;if(e>>>0<16384){m=f+12288|0;i[d>>0]=m;i[d+1>>0]=m>>>8;c=c+2|0;break}else{m=f+8384512|0;i[d>>0]=m;i[d+1>>0]=m>>>8;i[d+2>>0]=m>>>16;c=c+3|0;break}}else{i[n+c>>0]=e;c=c+1|0}while(0);d=b+16|0;m=d;l=k[m+4>>2]|0;if(!((l|0)>0|(l|0)==0&(k[m>>2]|0)>>>0>0)){e=b+4|0;yc(b,k[e>>2]|0,q,q+1|0);m=d;q=k[m>>2]|0;m=k[m+4>>2]|0;k[p>>2]=c;if(!((m|0)>0|(m|0)==0&q>>>0>0)){yc(b,k[e>>2]|0,p,p+4|0);q=d;m=k[q+4>>2]|0;if(!((m|0)>0|(m|0)==0&(k[q>>2]|0)>>>0>0))yc(b,k[e>>2]|0,n,n+c|0)}else s=32}else{k[p>>2]=c;s=32}c=p;k[c>>2]=0;k[c+4>>2]=0;Mc(a,p);c=k[a+12>>2]|0;d=k[t>>2]|0;if((d|0)!=(c|0))k[t>>2]=d+(~((d+-4-c|0)>>>2)<<2);k[a+24>>2]=0;k[o>>2]=0;if(!n){r=u;return}gb(n);r=u;return}function Jb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;v=a+8|0;k[v>>2]=e;w=k[a+24>>2]|0;u=k[a+28>>2]|0;g=e>>>0>1073741823?-1:e<<2;f=(g|0)==0?1:g;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}Ke(d|0,0,g|0)|0;p=a+32|0;g=k[p>>2]|0;a=k[g+4>>2]|0;g=k[g>>2]|0;f=a-g|0;a:do if((f|0)>4){q=(e|0)>0;r=w+64|0;s=w+28|0;t=e<<2;o=f>>2;f=a;while(1){n=o+-1|0;if(f-g>>2>>>0<=n>>>0)break;m=k[g+(n<<2)>>2]|0;if(q)Ke(d|0,0,t|0)|0;if((m|0)>-1){l=k[w>>2]|0;f=0;j=m;while(1){do if(((k[l+(j>>>5<<2)>>2]&1<<(j&31)|0)==0?(y=k[(k[(k[r>>2]|0)+12>>2]|0)+(j<<2)>>2]|0,(y|0)>-1):0)?(B=k[s>>2]|0,i=k[u>>2]|0,z=k[i+(k[B+(y<<2)>>2]<<2)>>2]|0,A=y+1|0,A=k[i+(k[B+((((A|0)%3|0|0)==0?y+-2|0:A)<<2)>>2]<<2)>>2]|0,B=k[i+(k[B+((((y>>>0)%3|0|0)==0?2:-1)+y<<2)>>2]<<2)>>2]|0,(z|0)<(n|0)&(A|0)<(n|0)&(B|0)<(n|0)):0){a=_(z,e)|0;h=_(A,e)|0;i=_(B,e)|0;if(q)g=0;else{f=f+1|0;C=24;break}do{D=d+(g<<2)|0;k[D>>2]=(k[b+(g+i<<2)>>2]|0)+(k[b+(g+h<<2)>>2]|0)-(k[b+(g+a<<2)>>2]|0)+(k[D>>2]|0);g=g+1|0}while((g|0)!=(e|0));f=f+1|0;if((j|0)<0){a=f;f=j}else C=24}else C=24;while(0);do if((C|0)==24){C=0;if(!((j>>>0)%3|0)){a=f;f=j+2|0;break}else{a=f;f=j+-1|0;break}}while(0);do if(!(1<<(f&31)&k[l+(f>>>5<<2)>>2])){if((f|0)>=0){f=k[(k[(k[r>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);j=(f|0)==(m|0)?-1073741824:f;if((j|0)<=-1)break;else f=a}f=_(n,e)|0;if(!a)C=36;else{if(q){g=0;do{D=d+(g<<2)|0;k[D>>2]=(k[D>>2]|0)/(a|0)|0;g=g+1|0}while((g|0)!=(e|0))}gc(v,b+(f<<2)|0,d,c,f)}}else{f=_(n,e)|0;C=36}if((C|0)==36){C=0;gc(v,b+(f<<2)|0,b+((_(o+-2|0,e)|0)<<2)|0,c,f)}if((n|0)<=1){x=d;break a}f=k[p>>2]|0;o=n;g=k[f>>2]|0;f=k[f+4>>2]|0}Ba(11196,11078,315,11219)}else x=d;while(0);if((e|0)<=0){gc(v,b,x,c,0);gb(d);return 1}Ke(d|0,0,e<<2|0)|0;gc(v,b,x,c,0);gb(d);return 1}function Kb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;w=r;r=r+16|0;a=w;i[a>>0]=0;i[a+1>>0]=0;i[a+2>>0]=0;i[a+3>>0]=0;i[a+4>>0]=0;i[a+5>>0]=0;n=b+8|0;m=k[n>>2]|0;n=k[n+4>>2]|0;f=b+16|0;h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;j=Yf(g|0,h|0,5,0)|0;l=L;if(!((n|0)<(l|0)|(n|0)==(l|0)&m>>>0>>0)?(o=k[b>>2]|0,e=o+g|0,i[a>>0]=i[e>>0]|0,i[a+1>>0]=i[e+1>>0]|0,i[a+2>>0]=i[e+2>>0]|0,i[a+3>>0]=i[e+3>>0]|0,i[a+4>>0]=i[e+4>>0]|0,e=f,k[e>>2]=j,k[e+4>>2]=l,(i[a>>0]|0)==68):0){e=11049;do{a=a+1|0;e=e+1|0;c=i[a>>0]|0;d=i[e>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=d<<24>>24));if((((((n|0)>(l|0)|(n|0)==(l|0)&m>>>0>j>>>0)&c<<24>>24==d<<24>>24?(l=Yf(g|0,h|0,6,0)|0,j=L,e=f,k[e>>2]=l,k[e+4>>2]=j,(n|0)>(j|0)|(n|0)==(j|0)&m>>>0>l>>>0):0)?(p=Yf(g|0,h|0,7,0)|0,l=L,j=f,k[j>>2]=p,k[j+4>>2]=l,(n|0)>(l|0)|(n|0)==(l|0)&m>>>0>p>>>0):0)?(q=i[o+p>>0]|0,s=Yf(g|0,h|0,8,0)|0,p=L,l=f,k[l>>2]=s,k[l+4>>2]=p,(n|0)>(p|0)|(n|0)==(p|0)&m>>>0>s>>>0):0)?(t=i[o+s>>0]|0,v=Yf(g|0,h|0,9,0)|0,u=f,k[u>>2]=v,k[u+4>>2]=L,u=Yf(g|0,h|0,11,0)|0,v=L,!((n|0)<(v|0)|(n|0)==(v|0)&m>>>0>>0)):0){s=f;k[s>>2]=u;k[s+4>>2]=v;if(q<<24>>24!=1){x=0;r=w;return x|0}switch(t<<24>>24){case 0:{while(1){a=Xa(28)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}e=a+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[a+24>>2]=0;k[a>>2]=4344;e=a;break}case 1:{while(1){a=Xa(32)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}e=a+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[a+24>>2]=0;k[a>>2]=4404;k[a+28>>2]=0;e=a;break}default:{x=0;r=w;return x|0}}while(1){a=Xa(92)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}c=a+4|0;d=c+64|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[a>>2]=2908;v=a+68|0;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;k[v+12>>2]=0;k[v+16>>2]=0;k[v+20>>2]=0;k[e+24>>2]=a;k[e+20>>2]=b;k[e+4>>2]=a;if(La[k[(k[e>>2]|0)+12>>2]&127](e)|0?La[k[(k[e>>2]|0)+20>>2]&127](e)|0:0){c=La[k[(k[e>>2]|0)+24>>2]&127](e)|0;if(!c){a=c?0:a;x=27}}else x=27;if((x|0)==27){Ja[k[(k[a>>2]|0)+4>>2]&127](a);a=0}Ja[k[(k[e>>2]|0)+4>>2]&127](e);x=a;r=w;return x|0}}x=0;r=w;return x|0}function Lb(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;e=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)gb(c);k[e>>2]=0;return}if(b>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=k[a>>2]|0;k[a>>2]=c;if(d|0)gb(d);k[e>>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=44;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=44;break a}}}while(0);d=k[c>>2]|0;if(!d){c=44;break a}else{f=c;o=c}}k[d>>2]=o;d=k[c>>2]|0;if(!d){c=44;break}else f=c}if((c|0)==44)return}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;e=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)gb(c);k[e>>2]=0;return}if(b>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=k[a>>2]|0;k[a>>2]=c;if(d|0)gb(d);k[e>>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=44;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=44;break a}}}while(0);d=k[c>>2]|0;if(!d){c=44;break a}else{f=c;n=c}}k[d>>2]=n;d=k[c>>2]|0;if(!d){c=44;break}else f=c}if((c|0)==44)return}function Nb(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;e=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)gb(c);k[e>>2]=0;return}if(b>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=k[a>>2]|0;k[a>>2]=c;if(d|0)gb(d);k[e>>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=44;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=44;break a}}}while(0);d=k[c>>2]|0;if(!d){c=44;break a}else{f=c;o=c}}k[d>>2]=o;d=k[c>>2]|0;if(!d){c=44;break}else f=c}if((c|0)==44)return}function Ob(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;c=k[g>>2]|0;f=k[a>>2]|0;j=f;do if(((c-f|0)/12|0)>>>0>=b>>>0){i=a+4|0;c=k[i>>2]|0;f=(c-f|0)/12|0;g=f>>>0>>0;d=g?f:b;h=c;if(d|0){e=j;while(1){k[e>>2]=-1073741824;k[e+4>>2]=-1073741824;k[e+8>>2]=-1073741824;d=d+-1|0;if(!d)break;else e=e+12|0}}if(g){d=b-f|0;do{k[c>>2]=k[712];k[c+4>>2]=k[713];k[c+8>>2]=k[714];c=(k[i>>2]|0)+12|0;k[i>>2]=c;d=d+-1|0}while((d|0)!=0)}else{c=j+(b*12|0)|0;if((h|0)==(c|0))break;k[i>>2]=h+(~(((h+-12-c|0)>>>0)/12|0)*12|0);break}}else{e=f;if(f){c=a+4|0;d=k[c>>2]|0;if((d|0)!=(j|0))k[c>>2]=d+(~(((d+-12-f|0)>>>0)/12|0)*12|0);gb(e);k[g>>2]=0;k[c>>2]=0;k[a>>2]=0;c=0}if(b>>>0>357913941)Ba(11055,11078,304,11175);j=(c|0)/12|0;f=j<<1;f=j>>>0<178956970?(f>>>0>>0?b:f):357913941;if(f>>>0>357913941)qg();d=f*12|0;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}e=a+4|0;k[e>>2]=c;k[a>>2]=c;k[g>>2]=c+(f*12|0);d=b;do{k[c>>2]=k[712];k[c+4>>2]=k[713];k[c+8>>2]=k[714];c=(k[e>>2]|0)+12|0;k[e>>2]=c;d=d+-1|0}while((d|0)!=0)}while(0);b=b*3|0;h=a+12|0;i=a+20|0;c=k[i>>2]|0;f=k[h>>2]|0;j=f;if(c-f>>2>>>0>=b>>>0){h=a+16|0;g=k[h>>2]|0;e=g-f>>2;f=b>>>0>e>>>0;c=f?e:b;if(c|0){d=j;while(1){k[d>>2]=-1073741824;c=c+-1|0;if(!c)break;else d=d+4|0}}if(f){d=b-e|0;c=d;e=g;while(1){k[e>>2]=-1073741824;c=c+-1|0;if(!c)break;else e=e+4|0}k[h>>2]=g+(d<<2);a=a+24|0;Xd(a,b);return}else{c=j+(b<<2)|0;if((g|0)==(c|0)){a=a+24|0;Xd(a,b);return}k[h>>2]=g+(~((g+-4-c|0)>>>2)<<2);a=a+24|0;Xd(a,b);return}}e=f;if(f){c=a+16|0;d=k[c>>2]|0;if((d|0)!=(j|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);gb(e);k[i>>2]=0;k[c>>2]=0;k[h>>2]=0;c=0}if(b>>>0>1073741823)Ba(11055,11078,304,11175);g=c>>1;g=c>>2>>>0<536870911?(g>>>0>>0?b:g):1073741823;if(g>>>0>1073741823)qg();d=g<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0){e=c;break}c=k[2993]|0;k[2993]=c+0;if(!c){e=0;break}Na[c&1]()}f=a+16|0;k[f>>2]=e;k[h>>2]=e;k[i>>2]=e+(g<<2);c=b;d=e;while(1){k[d>>2]=-1073741824;c=c+-1|0;if(!c)break;else d=d+4|0}k[f>>2]=e+(b<<2);a=a+24|0;Xd(a,b);return}function Pb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;w=a+8|0;k[w>>2]=e;g=e>>>0>1073741823?-1:e<<2;f=(g|0)==0?1:g;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}Ke(d|0,0,g|0)|0;Jd(w,d,b,c,0);t=k[a+24>>2]|0;u=a+32|0;h=k[u>>2]|0;g=k[h+4>>2]|0;h=k[h>>2]|0;s=g-h|0;v=s>>2;if((s|0)<=4){gb(d);return 1}o=k[a+28>>2]|0;p=(e|0)>0;q=t+64|0;r=t+28|0;s=e<<2;f=1;while(1){if(g-h>>2>>>0<=f>>>0){B=9;break}n=k[h+(f<<2)>>2]|0;if(p)Ke(d|0,0,s|0)|0;if((n|0)>-1){m=k[t>>2]|0;g=0;l=n;while(1){do if(((k[m+(l>>>5<<2)>>2]&1<<(l&31)|0)==0?(x=k[(k[(k[q>>2]|0)+12>>2]|0)+(l<<2)>>2]|0,(x|0)>-1):0)?(A=k[r>>2]|0,j=k[o>>2]|0,y=k[j+(k[A+(x<<2)>>2]<<2)>>2]|0,z=x+1|0,z=k[j+(k[A+((((z|0)%3|0|0)==0?x+-2|0:z)<<2)>>2]<<2)>>2]|0,A=k[j+(k[A+((((x>>>0)%3|0|0)==0?2:-1)+x<<2)>>2]<<2)>>2]|0,(y|0)<(f|0)&(z|0)<(f|0)&(A|0)<(f|0)):0){h=_(y,e)|0;i=_(z,e)|0;j=_(A,e)|0;if(p)a=0;else{g=g+1|0;B=22;break}do{C=d+(a<<2)|0;k[C>>2]=(k[c+(a+j<<2)>>2]|0)+(k[c+(a+i<<2)>>2]|0)-(k[c+(a+h<<2)>>2]|0)+(k[C>>2]|0);a=a+1|0}while((a|0)!=(e|0));g=g+1|0;if((l|0)<0){h=g;g=l}else B=22}else B=22;while(0);do if((B|0)==22){B=0;if(!((l>>>0)%3|0)){h=g;g=l+2|0;break}else{h=g;g=l+-1|0;break}}while(0);do if(!(1<<(g&31)&k[m+(g>>>5<<2)>>2])){if((g|0)>=0){g=k[(k[(k[q>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}else g=-1073741824;while(0);l=(g|0)==(n|0)?-1073741824:g;if((l|0)<=-1)break;else g=h}g=_(f,e)|0;if(!h)B=34;else{if(p){a=0;do{C=d+(a<<2)|0;k[C>>2]=(k[C>>2]|0)/(h|0)|0;a=a+1|0}while((a|0)!=(e|0))}Jd(w,d,b,c+(g<<2)|0,g)}}else{g=_(f,e)|0;B=34}if((B|0)==34){B=0;Jd(w,c+((_(f+-1|0,e)|0)<<2)|0,b,c+(g<<2)|0,g)}f=f+1|0;if((f|0)>=(v|0)){B=7;break}g=k[u>>2]|0;h=k[g>>2]|0;g=k[g+4>>2]|0}if((B|0)==7){gb(d);return 1}else if((B|0)==9)Ba(11196,11078,315,11219);return 0}function Qb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=a+8|0;k[x>>2]=e;y=k[a+24>>2]|0;w=k[a+28>>2]|0;g=e>>>0>1073741823?-1:e<<2;f=(g|0)==0?1:g;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}Ke(d|0,0,g|0)|0;s=a+32|0;g=k[s>>2]|0;a=k[g+4>>2]|0;g=k[g>>2]|0;f=a-g|0;a:do if((f|0)>4){t=(e|0)>0;u=y+12|0;v=e<<2;r=f>>2;f=a;while(1){q=r+-1|0;if(f-g>>2>>>0<=q>>>0)break;p=k[g+(q<<2)>>2]|0;if(t)Ke(d|0,0,v|0)|0;if((p|0)>-1){o=k[u>>2]|0;a=0;n=p;do{g=k[o+(n<<2)>>2]|0;if((g|0)>-1){i=k[y>>2]|0;h=(g>>>0)%3|0;j=k[w>>2]|0;m=k[j+(k[i+(((g>>>0)/3|0)*12|0)+(h<<2)>>2]<<2)>>2]|0;f=g+1|0;f=((f|0)%3|0|0)==0?g+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[i+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;l=k[j+(f<<2)>>2]|0;f=((h|0)==0?2:-1)+g|0;if((f|0)<0)f=-1073741824;else f=k[i+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;f=k[j+(f<<2)>>2]|0;if((m|0)<(q|0)&(l|0)<(q|0)&(f|0)<(q|0)){i=_(m,e)|0;h=_(l,e)|0;g=_(f,e)|0;if(t){f=0;do{m=d+(f<<2)|0;k[m>>2]=(k[b+(f+g<<2)>>2]|0)+(k[b+(f+h<<2)>>2]|0)-(k[b+(f+i<<2)>>2]|0)+(k[m>>2]|0);f=f+1|0}while((f|0)!=(e|0))}a=a+1|0}}f=(((n>>>0)%3|0|0)==0?2:-1)+n|0;do if((f|0)>=0){f=k[o+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);n=(f|0)==(p|0)?-1073741824:f}while((n|0)>-1);f=_(q,e)|0;if(!a)A=34;else{if(t){g=0;do{r=d+(g<<2)|0;k[r>>2]=(k[r>>2]|0)/(a|0)|0;g=g+1|0}while((g|0)!=(e|0))}gc(x,b+(f<<2)|0,d,c,f)}}else{f=_(q,e)|0;A=34}if((A|0)==34){A=0;gc(x,b+(f<<2)|0,b+((_(r+-2|0,e)|0)<<2)|0,c,f)}if((q|0)<=1){z=d;break a}f=k[s>>2]|0;r=q;g=k[f>>2]|0;f=k[f+4>>2]|0}Ba(11196,11078,315,11219)}else z=d;while(0);if((e|0)<=0){gc(x,b,z,c,0);gb(d);return 1}Ke(d|0,0,e<<2|0)|0;gc(x,b,z,c,0);gb(d);return 1}function Rb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)gb(c);k[e>>2]=0;return}if(b>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=k[a>>2]|0;k[a>>2]=c;if(d|0)gb(d);k[e>>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=42;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=42;break a}}}while(0);d=k[c>>2]|0;if(!d){c=42;break a}else{f=c;n=c}}k[d>>2]=n;d=k[c>>2]|0;if(!d){c=42;break}else f=c}if((c|0)==42)return}function Sb(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;e=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)gb(c);k[e>>2]=0;return}if(b>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=k[a>>2]|0;k[a>>2]=c;if(d|0)gb(d);k[e>>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=42;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=42;break a}}}while(0);d=k[c>>2]|0;if(!d){c=42;break a}else{f=c;m=c}}k[d>>2]=m;d=k[c>>2]|0;if(!d){c=42;break}else f=c}if((c|0)==42)return}function Tb(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;e=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)gb(c);k[e>>2]=0;return}if(b>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=k[a>>2]|0;k[a>>2]=c;if(d|0)gb(d);k[e>>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=42;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=42;break a}}}while(0);d=k[c>>2]|0;if(!d){c=42;break a}else{f=c;n=c}}k[d>>2]=n;d=k[c>>2]|0;if(!d){c=42;break}else f=c}if((c|0)==42)return}function Ub(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;b=k[a+20>>2]|0;h=b+8|0;g=k[h+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[h>>2]|0)>>>0>d>>>0:0))){a=0;return a|0}f=i[(k[b>>2]|0)+d>>0]|0;b=Yf(d|0,e|0,1,0)|0;h=c;k[h>>2]=b;k[h+4>>2]=L;h=a+28|0;b=k[h>>2]|0;k[h>>2]=0;if(b|0)Ja[k[(k[b>>2]|0)+4>>2]&127](b);switch(f<<24>>24){case 0:{while(1){b=Xa(336)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}k[b>>2]=4464;c=b+100|0;f=b+4|0;g=f+96|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));k[c>>2]=-1;k[b+104>>2]=-1;k[b+108>>2]=-1;c=b+168|0;f=b+112|0;g=f+56|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));o[c>>2]=1.0;c=b+248|0;k[b+280>>2]=0;d=b+288|0;k[b+320>>2]=0;k[b+324>>2]=0;k[b+328>>2]=0;e=b;f=b+172|0;g=f+72|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|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;k[c+24>>2]=0;i[c+28>>0]=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;i[d+28>>0]=0;c=k[h>>2]|0;k[h>>2]=e;if(c){Ja[k[(k[c>>2]|0)+4>>2]&127](c);j=15}break}case 1:{while(1){b=Xa(376)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}k[b>>2]=4604;c=b+100|0;f=b+4|0;g=f+96|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));k[c>>2]=-1;k[b+104>>2]=-1;k[b+108>>2]=-1;c=b+168|0;f=b+112|0;g=f+56|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));o[c>>2]=1.0;c=b+248|0;k[b+280>>2]=0;d=b+288|0;e=b+320|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[e+28>>2]=0;i[b+364>>0]=0;e=b+368|0;f=b+172|0;g=f+72|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|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;k[c+24>>2]=0;i[c+28>>0]=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;i[d+28>>0]=0;k[e>>2]=-1;k[b+372>>2]=-1;c=k[h>>2]|0;k[h>>2]=b;if(c){Ja[k[(k[c>>2]|0)+4>>2]&127](c);j=15}break}default:j=15}if((j|0)==15){b=k[h>>2]|0;if(!b){a=0;return a|0}}a=Pa[k[(k[b>>2]|0)+8>>2]&63](b,a)|0;return a|0}function Vb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=a+8|0;k[y>>2]=e;g=e>>>0>1073741823?-1:e<<2;f=(g|0)==0?1:g;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}Ke(d|0,0,g|0)|0;Jd(y,d,b,c,0);v=k[a+24>>2]|0;w=a+32|0;h=k[w>>2]|0;g=k[h+4>>2]|0;h=k[h>>2]|0;u=g-h|0;x=u>>2;if((u|0)<=4){gb(d);return 1}r=k[a+28>>2]|0;s=(e|0)>0;t=v+12|0;u=e<<2;f=1;while(1){if(g-h>>2>>>0<=f>>>0){z=9;break}q=k[h+(f<<2)>>2]|0;if(s)Ke(d|0,0,u|0)|0;if((q|0)>-1){p=k[t>>2]|0;a=0;o=q;do{h=k[p+(o<<2)>>2]|0;if((h|0)>-1){j=k[v>>2]|0;i=(h>>>0)%3|0;l=k[r>>2]|0;n=k[l+(k[j+(((h>>>0)/3|0)*12|0)+(i<<2)>>2]<<2)>>2]|0;g=h+1|0;g=((g|0)%3|0|0)==0?h+-2|0:g;if((g|0)<0)g=-1073741824;else g=k[j+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]|0;m=k[l+(g<<2)>>2]|0;g=((i|0)==0?2:-1)+h|0;if((g|0)<0)g=-1073741824;else g=k[j+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]|0;g=k[l+(g<<2)>>2]|0;if((n|0)<(f|0)&(m|0)<(f|0)&(g|0)<(f|0)){j=_(n,e)|0;i=_(m,e)|0;h=_(g,e)|0;if(s){g=0;do{n=d+(g<<2)|0;k[n>>2]=(k[c+(g+h<<2)>>2]|0)+(k[c+(g+i<<2)>>2]|0)-(k[c+(g+j<<2)>>2]|0)+(k[n>>2]|0);g=g+1|0}while((g|0)!=(e|0))}a=a+1|0}}g=(((o>>>0)%3|0|0)==0?2:-1)+o|0;do 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);o=(g|0)==(q|0)?-1073741824:g}while((o|0)>-1);g=_(f,e)|0;if(!a)z=32;else{if(s){h=0;do{q=d+(h<<2)|0;k[q>>2]=(k[q>>2]|0)/(a|0)|0;h=h+1|0}while((h|0)!=(e|0))}Jd(y,d,b,c+(g<<2)|0,g)}}else{g=_(f,e)|0;z=32}if((z|0)==32){z=0;Jd(y,c+((_(f+-1|0,e)|0)<<2)|0,b,c+(g<<2)|0,g)}f=f+1|0;if((f|0)>=(x|0)){z=7;break}g=k[w>>2]|0;h=k[g>>2]|0;g=k[g+4>>2]|0}if((z|0)==7){gb(d);return 1}else if((z|0)==9)Ba(11196,11078,315,11219);return 0}function Wb(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;e=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)gb(c);k[e>>2]=0;return}if(b>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=k[a>>2]|0;k[a>>2]=c;if(d|0)gb(d);k[e>>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=40;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=40;break a}}}while(0);d=k[c>>2]|0;if(!d){c=40;break a}else{f=c;m=c}}k[d>>2]=m;d=k[c>>2]|0;if(!d){c=40;break}else f=c}if((c|0)==40)return}function Xb(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;e=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)gb(c);k[e>>2]=0;return}if(b>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=k[a>>2]|0;k[a>>2]=c;if(d|0)gb(d);k[e>>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=40;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=40;break a}}}while(0);d=k[c>>2]|0;if(!d){c=40;break a}else{f=c;l=c}}k[d>>2]=l;d=k[c>>2]|0;if(!d){c=40;break}else f=c}if((c|0)==40)return}function Yb(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;e=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)gb(c);k[e>>2]=0;return}if(b>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=k[a>>2]|0;k[a>>2]=c;if(d|0)gb(d);k[e>>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=40;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=40;break a}}}while(0);d=k[c>>2]|0;if(!d){c=40;break a}else{f=c;m=c}}k[d>>2]=m;d=k[c>>2]|0;if(!d){c=40;break}else f=c}if((c|0)==40)return}function Zb(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;h=a+92|0;j=(b|0)<0;l=b+1|0;do if(!j){c=((l|0)%3|0|0)==0?b+-2|0:l;if(!((b>>>0)%3|0)){f=b+2|0;e=c;break}else{f=b+-1|0;e=c;break}}else{f=b;e=b}while(0);g=a+128|0;c=k[g>>2]|0;switch(c|0){case 1:case 0:{if((e|0)<0)c=-1073741824;else c=k[(k[k[h>>2]>>2]|0)+(((e>>>0)/3|0)*12|0)+(((e>>>0)%3|0)<<2)>>2]|0;d=k[a+100>>2]|0;e=d+(c<<2)|0;k[e>>2]=(k[e>>2]|0)+1;if((f|0)<0)c=-1073741824;else c=k[(k[k[h>>2]>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;d=d+(c<<2)|0;k[d>>2]=(k[d>>2]|0)+1;d=32;break}case 5:{if(j)c=-1073741824;else c=k[(k[k[h>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;d=k[a+100>>2]|0;c=d+(c<<2)|0;k[c>>2]=(k[c>>2]|0)+1;if((e|0)<0)c=-1073741824;else c=k[(k[k[h>>2]>>2]|0)+(((e>>>0)/3|0)*12|0)+(((e>>>0)%3|0)<<2)>>2]|0;e=d+(c<<2)|0;k[e>>2]=(k[e>>2]|0)+1;if((f|0)<0)c=-1073741824;else c=k[(k[k[h>>2]>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;d=d+(c<<2)|0;k[d>>2]=(k[d>>2]|0)+2;d=32;break}case 3:{if(j)c=-1073741824;else c=k[(k[k[h>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;d=k[a+100>>2]|0;c=d+(c<<2)|0;k[c>>2]=(k[c>>2]|0)+1;if((e|0)<0)c=-1073741824;else c=k[(k[k[h>>2]>>2]|0)+(((e>>>0)/3|0)*12|0)+(((e>>>0)%3|0)<<2)>>2]|0;e=d+(c<<2)|0;k[e>>2]=(k[e>>2]|0)+2;if((f|0)<0)c=-1073741824;else c=k[(k[k[h>>2]>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;d=d+(c<<2)|0;k[d>>2]=(k[d>>2]|0)+1;d=32;break}case 7:{if(j)c=-1073741824;else c=k[(k[k[h>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;d=k[a+100>>2]|0;c=d+(c<<2)|0;k[c>>2]=(k[c>>2]|0)+2;if((e|0)<0)c=-1073741824;else c=k[(k[k[h>>2]>>2]|0)+(((e>>>0)/3|0)*12|0)+(((e>>>0)%3|0)<<2)>>2]|0;e=d+(c<<2)|0;k[e>>2]=(k[e>>2]|0)+2;if((f|0)<0)c=-1073741824;else c=k[(k[k[h>>2]>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;d=d+(c<<2)|0;k[d>>2]=(k[d>>2]|0)+2;d=32;break}default:{}}if((d|0)==32)c=k[g>>2]|0;switch(c|0){case 5:case 0:break;default:{k[a+132>>2]=-1;return}}c=k[h>>2]|0;if(!j?(i=((l|0)%3|0|0)==0?b+-2|0:l,(i|0)>=0):0)c=k[(k[c>>2]|0)+(((i>>>0)/3|0)*12|0)+(((i>>>0)%3|0)<<2)>>2]|0;else c=-1073741824;k[a+132>>2]=(k[(k[a+100>>2]|0)+(c<<2)>>2]|0)<6?5:0;return}function _b(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;if(!(Db(a,b)|0)){s=0;return s|0}q=a+24|0;r=a+4|0;s=a+8|0;m=(k[s>>2]|0)-(k[r>>2]|0)>>2;p=a+28|0;e=k[p>>2]|0;f=k[q>>2]|0;j=e-f>>2;n=f;c=e;do if(m>>>0>j>>>0){l=m-j|0;o=a+32|0;d=k[o>>2]|0;if(d-e>>2>>>0>=l>>>0){Ke(e|0,0,l<<2|0)|0;k[p>>2]=e+(l<<2);break}if(m>>>0>1073741823)Ba(11055,11078,304,11175);g=d-f|0;h=g>>1;h=g>>2>>>0<536870911?(h>>>0>>0?m:h):1073741823;if(!h)g=0;else{if(h>>>0>1073741823){s=Da(4)|0;k[s>>2]=5228;ra(s|0,736,67)}e=h<<2;e=(e|0)==0?1:e;while(1){d=Xa(e)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}g=d}d=g+(j<<2)|0;Ke(d|0,0,l<<2|0)|0;e=d;h=g+(h<<2)|0;g=g+(m<<2)|0;if((c|0)==(n|0))c=n;else{do{c=c+-4|0;m=k[c>>2]|0;k[c>>2]=0;k[d+-4>>2]=m;d=e+-4|0;e=d}while((c|0)!=(n|0));f=k[q>>2]|0;c=k[p>>2]|0}k[q>>2]=e;k[p>>2]=g;k[o>>2]=h;e=f;if((c|0)!=(e|0))do{c=c+-4|0;d=k[c>>2]|0;k[c>>2]=0;if(d|0)Ja[k[(k[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(f|0)gb(f)}else if(m>>>0>>0?(d=n+(m<<2)|0,(c|0)!=(d|0)):0)do{o=c+-4|0;k[p>>2]=o;c=k[o>>2]|0;k[o>>2]=0;if(c|0)Ja[k[(k[c>>2]|0)+4>>2]&127](c);c=k[p>>2]|0}while((c|0)!=(d|0));while(0);f=b+8|0;if(((k[s>>2]|0)-(k[r>>2]|0)|0)<=0){s=1;return s|0}g=b+16|0;h=a+16|0;j=a+4|0;e=0;while(1){p=f;o=k[p+4>>2]|0;d=g;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((o|0)>(d|0)|((o|0)==(d|0)?(k[p>>2]|0)>>>0>c>>>0:0))){c=0;d=37;break}o=i[(k[b>>2]|0)+c>>0]|0;c=Yf(c|0,d|0,1,0)|0;p=g;k[p>>2]=c;k[p+4>>2]=L;p=(k[q>>2]|0)+(e<<2)|0;o=Pa[k[(k[a>>2]|0)+20>>2]&63](a,o)|0;c=k[p>>2]|0;k[p>>2]=o;if(c|0)Ja[k[(k[c>>2]|0)+4>>2]&127](c);c=k[(k[q>>2]|0)+(e<<2)>>2]|0;if(!c){c=0;d=37;break}if(!(Ha[k[(k[c>>2]|0)+8>>2]&31](c,k[h>>2]|0,k[(k[j>>2]|0)+(e<<2)>>2]|0)|0)){c=0;d=37;break}e=e+1|0;if((e|0)>=((k[s>>2]|0)-(k[r>>2]|0)>>2|0)){c=1;d=37;break}}if((d|0)==37)return c|0;return 0}function $b(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=r;r=r+48|0;j=m;c=m+40|0;l=m+8|0;f=a+56|0;k[c>>2]=k[f>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0))yc(b,k[b+4>>2]|0,c,c+4|0);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+24>>2]=0;k[l+28>>2]=0;c=j;k[c>>2]=0;k[c+4>>2]=0;Mc(l,j);c=k[l+12>>2]|0;d=l+16|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);k[l+24>>2]=0;k[l+28>>2]=0;e=k[a+52>>2]|0;g=k[f>>2]|0;f=g>>>5;h=e+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){c=1;f=e;while(1){if(d){d=0;while(1){e=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){ce(l);r=m;return 1}d=b+4|0;yc(b,k[d>>2]|0,c,c+4|0);h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){ce(l);r=m;return 1}i=k[d>>2]|0;k[j>>2]=i;yc(b,i,c,c+4|0);ce(l);r=m;return 1}function ac(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+48|0;j=m;c=m+40|0;l=m+8|0;f=a+80|0;k[c>>2]=k[f>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0))yc(b,k[b+4>>2]|0,c,c+4|0);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+24>>2]=0;k[l+28>>2]=0;c=j;k[c>>2]=0;k[c+4>>2]=0;Mc(l,j);c=k[l+12>>2]|0;d=l+16|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);k[l+24>>2]=0;k[l+28>>2]=0;e=k[a+76>>2]|0;g=k[f>>2]|0;f=g>>>5;h=e+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){c=1;f=e;while(1){if(d){d=0;while(1){e=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){ce(l);r=m;return 1}d=b+4|0;yc(b,k[d>>2]|0,c,c+4|0);h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){ce(l);r=m;return 1}i=k[d>>2]|0;k[j>>2]=i;yc(b,i,c,c+4|0);ce(l);r=m;return 1}function bc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;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);i=e}else i=e;else{Ld(i,e-f|0);i=k[t>>2]|0}h=e>>>0>1073741823?-1:e<<2;g=(h|0)==0?1:h;while(1){f=Xa(g)|0;if(f|0)break;f=k[2993]|0;k[2993]=f+0;if(!f){f=0;break}Na[f&1]()}Ke(f|0,0,h|0)|0;if((i|0)>0){n=a+16|0;m=a+32|0;o=a+12|0;l=0;do{j=k[f+(l<<2)>>2]|0;g=k[n>>2]|0;do if((j|0)<=(g|0)){g=k[o>>2]|0;h=k[m>>2]|0;i=h+(l<<2)|0;if((j|0)<(g|0)){k[i>>2]=g;break}else{k[i>>2]=j;break}}else{h=k[m>>2]|0;k[h+(l<<2)>>2]=g}while(0);l=l+1|0;i=k[t>>2]|0}while((l|0)<(i|0));if((i|0)>0){g=0;do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)+(k[h+(g<<2)>>2]|0);g=g+1|0;i=k[t>>2]|0}while((g|0)<(i|0));if((i|0)>0){l=a+20|0;j=0;do{g=c+(j<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[n>>2]|0)){if((h|0)<(k[o>>2]|0))k[g>>2]=(k[l>>2]|0)+h}else k[g>>2]=h-(k[l>>2]|0);j=j+1|0;i=k[t>>2]|0}while((j|0)<(i|0))}}}if((e|0)>=(d|0)){gb(f);return 1}p=0-e|0;q=a+16|0;r=a+32|0;s=a+12|0;a=a+20|0;o=e;do{n=c+(o<<2)|0;m=n+(p<<2)|0;if((i|0)>0){l=0;do{j=k[m+(l<<2)>>2]|0;g=k[q>>2]|0;do if((j|0)<=(g|0)){g=k[s>>2]|0;h=k[r>>2]|0;i=h+(l<<2)|0;if((j|0)<(g|0)){k[i>>2]=g;break}else{k[i>>2]=j;break}}else{h=k[r>>2]|0;k[h+(l<<2)>>2]=g}while(0);l=l+1|0;i=k[t>>2]|0}while((l|0)<(i|0));if((i|0)>0){g=0;do{k[n+(g<<2)>>2]=(k[b+(g+o<<2)>>2]|0)+(k[h+(g<<2)>>2]|0);g=g+1|0;i=k[t>>2]|0}while((g|0)<(i|0));if((i|0)>0){j=0;do{g=n+(j<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[q>>2]|0)){if((h|0)<(k[s>>2]|0))k[g>>2]=(k[a>>2]|0)+h}else k[g>>2]=h-(k[a>>2]|0);j=j+1|0;i=k[t>>2]|0}while((j|0)<(i|0))}}}o=o+e|0}while((o|0)<(d|0));gb(f);return 1}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=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;x=La[k[(k[a>>2]|0)+36>>2]&127](a)|0;v=a+16|0;h=_((k[b+4>>2]|0)-(k[b>>2]|0)>>2,x)|0;w=a+20|0;f=k[w>>2]|0;e=k[v>>2]|0;d=f-e>>2;if(h>>>0<=d>>>0){if(h>>>0>>0?(g=e+(h<<2)|0,(f|0)!=(g|0)):0)k[w>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else Ld(v,h-d|0);q=c+8|0;o=q;j=k[o>>2]|0;o=k[o+4>>2]|0;r=c+16|0;g=r;f=k[g>>2]|0;g=k[g+4>>2]|0;if(!((o|0)>(g|0)|(o|0)==(g|0)&j>>>0>f>>>0)){x=0;return x|0}m=k[c>>2]|0;p=i[m+f>>0]|0;d=Yf(f|0,g|0,1,0)|0;e=L;n=r;k[n>>2]=d;k[n+4>>2]=e;a:do if(!(p<<24>>24)){if(!((o|0)>(e|0)|(o|0)==(e|0)&j>>>0>d>>>0)){x=0;return x|0}l=i[m+d>>0]|0;e=Yf(f|0,g|0,2,0)|0;f=L;g=r;k[g>>2]=e;k[g+4>>2]=f;g=k[w>>2]|0;n=k[v>>2]|0;d=g-n|0;h=n;if(l<<24>>24==4){q=Yf(e|0,f|0,d|0,0)|0;p=L;if((o|0)<(p|0)|(o|0)==(p|0)&j>>>0>>0){x=0;return x|0}else{xe(h|0,m+e|0,d|0)|0;q=r;q=Yf(k[q>>2]|0,k[q+4>>2]|0,d|0,0)|0;k[r>>2]=q;k[r+4>>2]=L;break}}if(d|0){p=l&255;m=l&255;d=0;l=o;h=n;while(1){o=Yf(e|0,f|0,p|0,0)|0;n=L;if(!((l|0)<(n|0)|(l|0)==(n|0)&j>>>0>>0)){xe(h+(d<<2)|0,(k[c>>2]|0)+e|0,m|0)|0;e=r;e=Yf(k[e>>2]|0,k[e+4>>2]|0,p|0,0)|0;f=L;h=r;k[h>>2]=e;k[h+4>>2]=f;h=k[v>>2]|0;g=k[w>>2]|0}d=d+1|0;if(d>>>0>=g-h>>2>>>0)break a;j=q;l=k[j+4>>2]|0;j=k[j>>2]|0}}}else if(!(yb(h,x,c,k[v>>2]|0)|0)){x=0;return x|0}while(0);e=a+28|0;d=k[e>>2]|0;if(!((d|0)!=0?La[k[(k[d>>2]|0)+40>>2]&127](d)|0:0))s=21;if((s|0)==21?(t=k[v>>2]|0,s=(k[w>>2]|0)-t|0,u=s>>2,(s|0)>0):0){d=0;do{s=t+(d<<2)|0;a=k[s>>2]|0;k[s>>2]=a<<31>>31^a>>>1;d=d+1|0}while((d|0)!=(u|0))}d=k[e>>2]|0;if(d|0){if(!(Pa[k[(k[d>>2]|0)+36>>2]&63](d,c)|0)){x=0;return x|0}u=k[e>>2]|0;c=k[v>>2]|0;if(!(Ka[k[(k[u>>2]|0)+52>>2]&31](u,c,c,(k[w>>2]|0)-c>>2,x,k[b>>2]|0)|0)){x=0;return x|0}}x=1;return x|0}function dc(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;q=r;r=r+16|0;c=q;if(!b){r=q;return}m=b+4|0;o=(((k[m>>2]|0)-(k[b>>2]|0)|0)/12|0)*3|0;i[c>>0]=0;nd(a,o,c);o=b+24|0;p=b+28|0;h=(k[p>>2]|0)-(k[o>>2]|0)>>2;i[c>>0]=0;nd(a+12|0,h,c);h=a+28|0;m=(((k[m>>2]|0)-(k[b>>2]|0)|0)/12|0)*3|0;j=a+36|0;c=k[j>>2]|0;f=k[h>>2]|0;l=f;do if(c-f>>2>>>0>>0){e=f;if(f){c=a+32|0;d=k[c>>2]|0;if((d|0)!=(l|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);gb(e);k[j>>2]=0;k[c>>2]=0;k[h>>2]=0;c=0}if(m>>>0>1073741823)Ba(11055,11078,304,11175);g=c>>1;g=c>>2>>>0<536870911?(g>>>0>>0?m:g):1073741823;if(g>>>0>1073741823)qg();d=g<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0){e=c;break}c=k[2993]|0;k[2993]=c+0;if(!c){e=0;break}Na[c&1]()}f=a+32|0;k[f>>2]=e;k[h>>2]=e;k[j>>2]=e+(g<<2);c=m;d=e;while(1){k[d>>2]=-1073741824;c=c+-1|0;if(!c)break;else d=d+4|0}k[f>>2]=e+(m<<2)}else{h=a+32|0;g=k[h>>2]|0;e=g-f>>2;f=m>>>0>e>>>0;c=f?e:m;if(c|0){d=l;while(1){k[d>>2]=-1073741824;c=c+-1|0;if(!c)break;else d=d+4|0}}if(!f){c=l+(m<<2)|0;if((g|0)==(c|0))break;k[h>>2]=g+(~((g+-4-c|0)>>>2)<<2);break}d=m-e|0;c=d;e=g;while(1){k[e>>2]=-1073741824;c=c+-1|0;if(!c)break;else e=e+4|0}k[h>>2]=g+(d<<2)}while(0);g=a+52|0;c=(k[p>>2]|0)-(k[o>>2]|0)|0;h=c>>2;j=a+60|0;l=k[g>>2]|0;if((k[j>>2]|0)-l>>2>>>0>>0){m=a+56|0;n=(k[m>>2]|0)-l|0;f=n>>2;if(!h)c=0;else{if(h>>>0>1073741823){q=Da(4)|0;k[q>>2]=5228;ra(q|0,736,67)}d=(c|0)==0?1:c;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}}e=c+(f<<2)|0;d=e+(0-f<<2)|0;if((n|0)>0)xe(d|0,l|0,n|0)|0;k[g>>2]=d;k[m>>2]=e;k[j>>2]=c+(h<<2);if(l|0)gb(l)}Xd(a+40|0,(k[p>>2]|0)-(k[o>>2]|0)>>2);k[a+64>>2]=b;i[a+24>>0]=1;r=q;return}function ec(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;o=p;h=a+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;d=a+16|0;e=d;c=k[e>>2]|0;e=Yf(c|0,k[e+4>>2]|0,8,0)|0;f=L;if((h|0)<(f|0)|(h|0)==(f|0)&g>>>0>>0){o=0;r=p;return o|0}n=k[a>>2]|0;c=n+c|0;m=c;m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;c=c+4|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;j=d;k[j>>2]=e;k[j+4>>2]=f;i[a+36>>0]=1;n=n+e|0;g=Nf(g|0,h|0,e|0,f|0)|0;h=L;k[a+32>>2]=0;k[a+24>>2]=n;k[a+28>>2]=n+g;k[a+40>>2]=n;j=a+48|0;k[j>>2]=g;k[j+4>>2]=0;j=a+56|0;f=j;k[f>>2]=0;k[f+4>>2]=0;if(c>>>0>0|(c|0)==0&m>>>0>g>>>0){o=0;r=p;return o|0}d=j;k[d>>2]=m;k[d+4>>2]=c;c=Yf(m|0,c|0,8,0)|0;d=L;if(0<(d|0)|0==(d|0)&g>>>0>>0){o=0;r=p;return o|0}f=n+m|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;m=j;k[m>>2]=c;k[m+4>>2]=d;i[a+76>>0]=1;n=n+c|0;m=Nf(g|0,h|0,c|0,d|0)|0;k[a+72>>2]=0;k[a+64>>2]=n;k[a+68>>2]=n+m;m=o+8|0;j=m+16|0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;i[j+12>>0]=0;k[o>>2]=n;n=Nf(g|0,h|0,c|0,d|0)|0;c=m;k[c>>2]=n;k[c+4>>2]=0;c=o+16|0;m=c;k[m>>2]=0;k[m+4>>2]=0;a:do if(f>>>0>0|(f|0)==0&e>>>0>n>>>0)c=0;else{h=c;k[h>>2]=e;k[h+4>>2]=f;h=a+84|0;f=k[h>>2]|0;if((f|0)>0){g=a+80|0;d=f<<4;d=f>>>0>268435455|d>>>0>4294967291?-1:d+4|0;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c>>2]=f;e=c+4|0;c=e+(f<<4)|0;d=e;do{i[d+12>>0]=0;d=d+16|0}while((d|0)!=(c|0));c=k[g>>2]|0;k[g>>2]=e;if(c|0)gb(c+-4|0);if((k[h>>2]|0)>0){c=0;do{if(!(Dc((k[g>>2]|0)+(c<<4)|0,o)|0)){c=0;break a}c=c+1|0}while((c|0)<(k[h>>2]|0))}}c=b;d=o;e=c+36|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));i[b+36>>0]=i[o+36>>0]|0;c=1}while(0);o=c;r=p;return o|0}function fc(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;e=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)gb(c);k[e>>2]=0;return}if(b>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=k[a>>2]|0;k[a>>2]=c;if(d|0)gb(d);k[e>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;f=k[d>>2]|0;if(!f)return;c=k[f+4>>2]|0;t=b+-1|0;u=(t&b|0)==0;if(u)c=c&t;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[f>>2]|0;if(!d)return;s=a+24|0;r=c;e=f;c=f;a:while(1){q=c;b:while(1){c=d;while(1){d=k[c+4>>2]|0;if(u)p=d&t;else p=(d>>>0)%(b>>>0)|0;if((p|0)==(r|0))break;d=(k[a>>2]|0)+(p<<2)|0;if(!(k[d>>2]|0))break b;f=k[c>>2]|0;c:do if(!f)d=c;else{m=k[c+8>>2]|0;l=k[s>>2]|0;o=k[l+4>>2]|0;l=(k[l+8>>2]|0)-o|0;n=l>>2;if((l|0)>0)d=c;else{d=f;while(1){f=k[d>>2]|0;if(!f)break c;else d=f}}while(1){l=k[f+8>>2]|0;j=0;do{if((n|0)<=(j|0)){c=37;break a}g=k[o+(j<<2)>>2]|0;if(!(i[g+84>>0]|0)){h=k[g+68>>2]|0;g=k[h+(l<<2)>>2]|0;h=k[h+(m<<2)>>2]|0}else{g=l;h=m}j=j+1|0;if((h|0)!=(g|0))break c}while((j|0)<(n|0));d=k[f>>2]|0;if(!d){d=f;break}else{l=f;f=d;d=l}}}while(0);k[q>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(p<<2)>>2]>>2];k[k[(k[a>>2]|0)+(p<<2)>>2]>>2]=c;c=k[e>>2]|0;if(!c){c=42;break a}}d=k[c>>2]|0;if(!d){c=42;break a}else{e=c;q=c}}k[d>>2]=q;d=k[c>>2]|0;if(!d){c=42;break}else{r=p;e=c}}if((c|0)==37)Ba(9495,9457,63,9485);else if((c|0)==42)return}function gc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=r;r=r+32|0;q=w+16|0;s=w+8|0;t=w;u=k[c>>2]|0;v=a+8|0;j=k[v>>2]|0;n=j<<1;if((u|0)>(n|0))Ba(7470,7136,83,7505);o=k[c+4>>2]|0;if((o|0)>(n|0))Ba(7523,7136,84,7505);p=k[b>>2]|0;if((p|0)>(n|0))Ba(7558,7136,85,7505);m=k[b+4>>2]|0;if((m|0)>(n|0))Ba(7593,7136,86,7505);if((u|0)<=-1)Ba(7368,7136,87,7505);if((o|0)<=-1)Ba(7390,7136,88,7505);if((p|0)<=-1)Ba(7628,7136,89,7505);if((m|0)<=-1)Ba(7650,7136,90,7505);i=p-j|0;g=m-j|0;c=u-j|0;f=o-j|0;if(!(+N(+(+(c|0)))+ +N(+(+(f|0)))<=+(j|0))){if((i|0)>-1)if((g|0)<=-1)if((i|0)<1){b=-1;h=-1}else l=22;else{b=1;h=1}else if((g|0)<1){b=-1;h=-1}else l=22;if((l|0)==22){b=(i|0)>0?1:-1;h=(g|0)>0?1:-1}z=_(j,b)|0;x=_(j,h)|0;y=(i<<1)-z|0;i=(g<<1)-x|0;g=(_(b,h)|0)>-1;i=((g?0-i|0:i)+z|0)/2|0;g=((g?0-y|0:y)+x|0)/2|0;if((c|0)>-1)if((f|0)<=-1)if((c|0)<1){b=-1;h=-1}else l=27;else{b=1;h=1}else if((f|0)<1){b=-1;h=-1}else l=27;if((l|0)==27){b=(c|0)>0?1:-1;h=(f|0)>0?1:-1}x=_(j,b)|0;z=_(j,h)|0;y=(c<<1)-x|0;c=(f<<1)-z|0;f=(_(b,h)|0)>-1;b=i;c=((f?0-c|0:c)+x|0)/2|0;f=((f?0-y|0:y)+z|0)/2|0}else b=i;b=b-c|0;c=g-f|0;if((n|0)<(b|0))Ba(7709,7136,160,7733);if((b|0)<0)b=(k[a+4>>2]|0)+b|0;if((n|0)<(c|0))Ba(7709,7136,160,7733);if((c|0)<0)c=(k[a+4>>2]|0)+c|0;k[t>>2]=b;k[t+4>>2]=c;k[s>>2]=u;k[s+4>>2]=o;wc(q,a,s,t);x=k[v>>2]|0;u=p-x|0;s=m-x|0;z=(k[q>>2]|0)-x|0;v=(k[q+4>>2]|0)-x|0;t=0-u|0;s=((s|0)<0?(((u|0)>-1?u:t)|0)==(x|0):0)?0-s|0:s;y=0-z|0;v=((v|0)<0?(((z|0)>-1?z:y)|0)==(x|0):0)?0-v|0:v;if((s|0)==(v|0)?((((u|0)<0?(((s|0)>-1?s:0-s|0)|0)==(x|0):0)?t:u)|0)==((((z|0)<0?(((v|0)>-1?v:0-v|0)|0)==(x|0):0)?y:z)|0):0){k[d+(e<<2)>>2]=b;k[d+(e+1<<2)>>2]=c;r=w;return}else Ba(7672,7136,96,7505)}function hc(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;e=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)gb(c);k[e>>2]=0;return}if(b>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=k[a>>2]|0;k[a>>2]=c;if(d|0)gb(d);k[e>>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}g=c+8|0;h=c;while(1){d=k[h>>2]|0;if(!d){d=0;break}if((j[g>>1]|0)==(j[d+8>>1]|0))h=d;else break}k[i>>2]=d;k[h>>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}}d=k[c>>2]|0;if(!d){c=38;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;h=c;while(1){d=k[h>>2]|0;if(!d){d=0;break}if((j[g>>1]|0)==(j[d+8>>1]|0))h=d;else break}k[i>>2]=d;k[h>>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}}d=k[c>>2]|0;if(!d){c=38;break a}else{f=c;i=c}}}while(0);k[d>>2]=f;d=k[c>>2]|0;if(!d){c=38;break}else f=c}if((c|0)==38)return}function ic(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;e=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)gb(c);k[e>>2]=0;return}if(b>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=k[a>>2]|0;k[a>>2]=c;if(d|0)gb(d);k[e>>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}g=c+8|0;h=c;while(1){d=k[h>>2]|0;if(!d){d=0;break}if((i[g>>0]|0)==(i[d+8>>0]|0))h=d;else break}k[j>>2]=d;k[h>>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}}d=k[c>>2]|0;if(!d){c=38;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;h=c;while(1){d=k[h>>2]|0;if(!d){d=0;break}if((i[g>>0]|0)==(i[d+8>>0]|0))h=d;else break}k[j>>2]=d;k[h>>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}}d=k[c>>2]|0;if(!d){c=38;break a}else{f=c;j=c}}}while(0);k[d>>2]=f;d=k[c>>2]|0;if(!d){c=38;break}else f=c}if((c|0)==38)return}function jc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0.0,g=0,h=0.0,i=0,j=0,l=0,m=0;l=a+4|0;i=k[l>>2]|0;j=(i|0)==0;a:do if(!j){e=i+-1|0;d=(e&i|0)==0;if(d)g=e&b;else g=(b>>>0)%(i>>>0)|0;c=k[(k[a>>2]|0)+(g<<2)>>2]|0;if(c)if(d){do{c=k[c>>2]|0;if(!c){c=g;break a}if((k[c+4>>2]&e|0)!=(g|0)){c=g;break a}}while((k[c+8>>2]|0)!=(b|0));a=c+12|0;return a|0}else{do{c=k[c>>2]|0;if(!c){c=g;break a}if((((k[c+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(g|0)){c=g;break a}}while((k[c+8>>2]|0)!=(b|0));a=c+12|0;return a|0}else c=g}else c=0;while(0);while(1){g=Xa(16)|0;if(g|0)break;m=k[2993]|0;k[2993]=m+0;Na[m&1]()}k[g+8>>2]=b;k[g+12>>2]=0;k[g+4>>2]=b;k[g>>2]=0;m=a+12|0;d=k[m>>2]|0;f=+((d+1|0)>>>0);h=+o[a+16>>2];do if(j|f>+(i>>>0)*h){c=(i>>>0>2&(i+-1&i|0)==0&1|i<<1)^1;j=~~+Z(+(f/h))>>>0;c=c>>>0>>0?j:c;if((c|0)!=1){if(c+-1&c)c=$a(c)|0}else c=2;e=k[l>>2]|0;if(c>>>0<=e>>>0){if(c>>>0>>0){d=~~+Z(+(+(d>>>0)/h))>>>0;if(e>>>0>2&(e+-1&e|0)==0)d=1<<32-(ba(d+-1|0)|0);else d=$a(d)|0;c=c>>>0>>0?d:c;if(c>>>0>>0)kc(a,c)}}else kc(a,c);c=k[l>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&b;break}else{e=c;c=(b>>>0)%(c>>>0)|0;break}}else e=i;while(0);c=(k[a>>2]|0)+(c<<2)|0;d=k[c>>2]|0;if(!d){b=a+8|0;k[g>>2]=k[b>>2];k[b>>2]=g;k[c>>2]=b;c=k[g>>2]|0;if(c|0){d=k[c+4>>2]|0;c=e+-1|0;if(!(c&e))c=d&c;else c=(d>>>0)%(e>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=g}}else{k[g>>2]=k[d>>2];k[d>>2]=g}k[m>>2]=(k[m>>2]|0)+1;a=g;a=a+12|0;return a|0}function kc(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;e=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)gb(c);k[e>>2]=0;return}if(b>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=k[a>>2]|0;k[a>>2]=c;if(d|0)gb(d);k[e>>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}g=c+8|0;h=c;while(1){d=k[h>>2]|0;if(!d){d=0;break}if((k[g>>2]|0)==(k[d+8>>2]|0))h=d;else break}k[i>>2]=d;k[h>>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=38;break a}}d=k[c>>2]|0;if(!d){c=38;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;h=c;while(1){d=k[h>>2]|0;if(!d){d=0;break}if((k[g>>2]|0)==(k[d+8>>2]|0))h=d;else break}k[i>>2]=d;k[h>>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=38;break a}}d=k[c>>2]|0;if(!d){c=38;break a}else{f=c;i=c}}}while(0);k[d>>2]=f;d=k[c>>2]|0;if(!d){c=38;break}else f=c}if((c|0)==38)return}function lc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+16|0;q=s;b=k[a>>2]|0;o=a+4|0;a=k[o>>2]|0;p=a-b|0;c=p>>5;if((p|0)<=32){q=k[o>>2]|0;q=q+-32|0;k[o>>2]=q;r=s;return}p=b;n=a;i=n+-32|0;a=k[p>>2]|0;d=p+4|0;j=k[d>>2]|0;e=p+8|0;l=k[e>>2]|0;g=p+12|0;m=k[g>>2]|0;h=p+16|0;k[q>>2]=k[h>>2];k[q+4>>2]=k[h+4>>2];k[q+8>>2]=k[h+8>>2];k[q+12>>2]=k[h+12>>2];f=b;k[f>>2]=k[i>>2];k[f+4>>2]=k[i+4>>2];k[f+8>>2]=k[i+8>>2];k[f+12>>2]=k[i+12>>2];k[f+16>>2]=k[i+16>>2];k[f+20>>2]=k[i+20>>2];k[f+24>>2]=k[i+24>>2];k[f+28>>2]=k[i+28>>2];k[i>>2]=a;k[n+-28>>2]=j;k[n+-24>>2]=l;k[n+-20>>2]=m;n=n+-16|0;k[n>>2]=k[q>>2];k[n+4>>2]=k[q+4>>2];k[n+8>>2]=k[q+8>>2];k[n+12>>2]=k[q+12>>2];n=c+-1|0;if((c|0)==2){q=k[o>>2]|0;q=q+-32|0;k[o>>2]=q;r=s;return}l=c+-3|0;m=(l|0)/2|0;if((l|0)<-1){q=k[o>>2]|0;q=q+-32|0;k[o>>2]=q;r=s;return}a=p+32|0;b=a;if((n|0)>2){l=p+64|0;j=(k[a>>2]|0)>>>0<(k[l>>2]|0)>>>0;a=j?2:1;b=j?l:b}else a=1;l=k[p>>2]|0;if((k[b>>2]|0)>>>0>>0){q=k[o>>2]|0;q=q+-32|0;k[o>>2]=q;r=s;return}j=k[d>>2]|0;i=k[e>>2]|0;g=k[g>>2]|0;k[q>>2]=k[h>>2];k[q+4>>2]=k[h+4>>2];k[q+8>>2]=k[h+8>>2];k[q+12>>2]=k[h+12>>2];while(1){h=f;f=b;k[h>>2]=k[f>>2];k[h+4>>2]=k[f+4>>2];k[h+8>>2]=k[f+8>>2];k[h+12>>2]=k[f+12>>2];k[h+16>>2]=k[f+16>>2];k[h+20>>2]=k[f+20>>2];k[h+24>>2]=k[f+24>>2];k[h+28>>2]=k[f+28>>2];if((m|0)<(a|0))break;a=a<<1|1;d=p+(a<<5)|0;c=d;e=a+1|0;if((e|0)<(n|0)){h=d+32|0;d=(k[d>>2]|0)>>>0<(k[h>>2]|0)>>>0;a=d?e:a;c=d?h:c}if((k[c>>2]|0)>>>0>>0)break;else b=c}p=b;k[p>>2]=l;k[p+4>>2]=j;k[p+8>>2]=i;k[p+12>>2]=g;p=p+16|0;k[p>>2]=k[q>>2];k[p+4>>2]=k[q+4>>2];k[p+8>>2]=k[q+8>>2];k[p+12>>2]=k[q+12>>2];q=k[o>>2]|0;q=q+-32|0;k[o>>2]=q;r=s;return}function mc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;v=r;r=r+16|0;f=v;s=b+8|0;o=s;p=k[o>>2]|0;o=k[o+4>>2]|0;q=b+16|0;d=q;c=k[d>>2]|0;d=Yf(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((o|0)<(e|0)|(o|0)==(e|0)&p>>>0>>0){a=0;r=v;return a|0}p=(k[b>>2]|0)+c|0;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;m=q;k[m>>2]=d;k[m+4>>2]=e;m=a+76|0;Ic(m,p);c=f+12|0;i[c>>0]=0;if(Dc(f,b)|0){if((p|0)>0){n=f+8|0;o=f+4|0;j=k[f>>2]|0;h=0-(l[c>>0]|0)&255;f=1;g=0;c=k[n>>2]|0;do{if(c>>>0<4096){e=(k[o>>2]|0)+-1|0;k[o>>2]=e;c=l[j+e>>0]|0|c<<8}w=c&255;d=_(c>>>8,h)|0;e=w>>>0>>0;c=e?d+w|0:c-h-d|0;f=f^(e^1);e=(k[m>>2]|0)+(g>>>5<<2)|0;d=1<<(g&31);if(f)d=k[e>>2]|d;else d=k[e>>2]&~d;k[e>>2]=d;g=g+1|0}while((g|0)!=(p|0));k[n>>2]=c}n=s;p=k[n>>2]|0;n=k[n+4>>2]|0;w=q;c=k[w>>2]|0;w=Yf(c|0,k[w+4>>2]|0,4,0)|0;o=L;if(!((n|0)<(o|0)|(n|0)==(o|0)&p>>>0>>0)?(w=a+12|0,t=(k[b>>2]|0)+c|0,t=l[t>>0]|l[t+1>>0]<<8|l[t+2>>0]<<16|l[t+3>>0]<<24,i[w>>0]=t,i[w+1>>0]=t>>8,i[w+2>>0]=t>>16,i[w+3>>0]=t>>24,w=q,p=k[w>>2]|0,w=k[w+4>>2]|0,u=Yf(p|0,w|0,4,0)|0,o=q,k[o>>2]=u,k[o+4>>2]=L,o=s,s=k[o>>2]|0,o=k[o+4>>2]|0,w=Yf(p|0,w|0,8,0)|0,p=L,!((o|0)<(p|0)|(o|0)==(p|0)&s>>>0>>0)):0){d=a+16|0;w=(k[b>>2]|0)+u|0;w=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;i[d>>0]=w;i[d+1>>0]=w>>8;i[d+2>>0]=w>>16;i[d+3>>0]=w>>24;d=q;d=Yf(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;c=q;k[c>>2]=d;k[c+4>>2]=L;w=w+(1-t)|0;k[a+20>>2]=w;c=(w|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(!(w&1)){k[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;w=c;r=v;return w|0}function nc(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=a+64|0;if(!(k[r>>2]|0)){while(1){c=Xa(32)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;e=c+16|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;e=k[r>>2]|0;k[r>>2]=c;if(e|0){c=k[e>>2]|0;if(c|0){d=e+4|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;gb(c)}gb(e)}}switch(k[a+28>>2]|0){case 11:case 2:case 1:{c=1;break}case 4:case 3:{c=2;break}case 6:case 5:{c=4;break}case 8:case 7:{c=8;break}case 9:{c=4;break}case 10:{c=8;break}default:c=-1}n=_(i[a+24>>0]|0,c)|0;o=((n|0)<0)<<31>>31;p=k[r>>2]|0;f=Af(n|0,o|0,b|0,0)|0;if((L|0)<0){r=0;return r|0}q=p+4|0;g=k[q>>2]|0;h=k[p>>2]|0;l=g-h|0;d=h;c=g;a:do if(f>>>0>l>>>0){d=f-l|0;m=p+8|0;e=k[m>>2]|0;if((e-g|0)>>>0>=d>>>0)while(1){i[c>>0]=0;c=(k[q>>2]|0)+1|0;k[q>>2]=c;d=d+-1|0;if(!d)break a}if((f|0)<0)Ba(11055,11078,304,11175);h=e-h|0;j=h<<1;j=h>>>0<1073741823?(j>>>0>>0?f:j):2147483647;b:do if(!j)c=0;else while(1){c=Xa(j)|0;if(c|0)break b;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break b}Na[c&1]()}while(0);h=c+l|0;g=h;e=h;do{i[e>>0]=0;e=g+1|0;g=e;d=d+-1|0}while((d|0)!=0);e=k[p>>2]|0;f=(k[q>>2]|0)-e|0;d=h+(0-f)|0;if((f|0)>0)xe(d|0,e|0,f|0)|0;k[p>>2]=d;k[q>>2]=g;k[m>>2]=c+j;if(e|0)gb(e)}else if(f>>>0>>0?(j=d+f|0,(c|0)!=(j|0)):0)k[q>>2]=j;while(0);p=p+24|0;m=p;m=Yf(k[m>>2]|0,k[m+4>>2]|0,1,0)|0;k[p>>2]=m;k[p+4>>2]=L;p=k[r>>2]|0;k[a>>2]=p;m=p+16|0;r=k[m+4>>2]|0;q=a+8|0;k[q>>2]=k[m>>2];k[q+4>>2]=r;p=p+24|0;q=k[p+4>>2]|0;r=a+16|0;k[r>>2]=k[p>>2];k[r+4>>2]=q;r=a+40|0;k[r>>2]=n;k[r+4>>2]=o;r=a+48|0;k[r>>2]=0;k[r+4>>2]=0;k[a+80>>2]=b;r=1;return r|0}function oc(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;p=r;r=r+16|0;a=p;j=i[b+24>>0]|0;k[a>>2]=k[196];k[a+4>>2]=k[197];k[a+8>>2]=k[198];k[a+12>>2]=k[199];f=j<<24>>24;switch(f|0){case 1:{if(!(ab(b,c,a)|0)){o=0;r=p;return o|0}break}case 2:{if(!(_a(b,c,a)|0)){o=0;r=p;return o|0}break}case 3:{if(!(Za(b,c,a)|0)){o=0;r=p;return o|0}break}case 4:{if(!(Ya(b,c,a)|0)){o=0;r=p;return o|0}break}default:{o=0;r=p;return o|0}}o=a+(f<<2)|0;n=a;h=d+8|0;b=k[h>>2]|0;l=k[d>>2]|0;m=l;if(f>>>0<=b-l>>2>>>0){j=d+4|0;h=(k[j>>2]|0)-l>>2;f=f>>>0>h>>>0;h=a+(h<<2)|0;e=f?h:o;g=e;b=g-n|0;c=b>>2;if(c|0)hf(l|0,a|0,b|0)|0;b=m+(c<<2)|0;if(!f){a=k[j>>2]|0;if((a|0)==(b|0)){o=1;r=p;return o|0}k[j>>2]=a+(~((a+-4-b|0)>>>2)<<2);o=1;r=p;return o|0}if((e|0)==(o|0)){o=1;r=p;return o|0}e=k[j>>2]|0;c=(o+-4-g|0)>>>2;a=h;b=e;while(1){k[b>>2]=k[a>>2];a=a+4|0;if((a|0)==(o|0))break;else b=b+4|0}k[j>>2]=e+(c+1<<2);o=1;r=p;return o|0}e=l;if(l){b=d+4|0;c=k[b>>2]|0;if((c|0)!=(m|0))k[b>>2]=c+(~((c+-4-l|0)>>>2)<<2);gb(e);k[h>>2]=0;k[b>>2]=0;k[d>>2]=0;b=0}if(j<<24>>24<0)Ba(11055,11078,304,11175);e=b>>1;e=b>>2>>>0<536870911?(e>>>0>>0?f:e):1073741823;if(e>>>0>1073741823)qg();c=e<<2;c=(c|0)==0?1:c;while(1){b=Xa(c)|0;if(b|0){f=b;break}b=k[2993]|0;k[2993]=b+0;if(!b){f=0;break}Na[b&1]()}g=d+4|0;k[g>>2]=f;k[d>>2]=f;k[h>>2]=f+(e<<2);if(!(j<<24>>24)){o=1;r=p;return o|0}c=(o+-4-n|0)>>>2;b=f;while(1){k[b>>2]=k[a>>2];a=a+4|0;if((a|0)==(o|0))break;else b=b+4|0}k[g>>2]=f+(c+1<<2);o=1;r=p;return o|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;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=a+8|0;k[s>>2]=e;g=e>>>0>1073741823?-1:e<<2;f=(g|0)==0?1:g;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}Ke(d|0,0,g|0)|0;q=k[a+24>>2]|0;r=a+32|0;g=k[r>>2]|0;h=k[g+4>>2]|0;g=k[g>>2]|0;f=h-g|0;a:do if((f|0)>4){n=k[a+28>>2]|0;o=q+12|0;p=(e|0)>0;l=f>>2;f=h;while(1){m=l+-1|0;if(f-g>>2>>>0<=m>>>0)break;f=k[g+(m<<2)>>2]|0;if((f|0)>=0?(u=k[(k[o>>2]|0)+(f<<2)>>2]|0,(u|0)>-1):0){h=k[q>>2]|0;g=(u>>>0)%3|0;a=k[n>>2]|0;i=k[a+(k[h+(((u>>>0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;f=u+1|0;f=((f|0)%3|0|0)==0?u+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;j=k[a+(f<<2)>>2]|0;f=((g|0)==0?2:-1)+u|0;if((f|0)<0)f=-1073741824;else f=k[h+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;g=k[a+(f<<2)>>2]|0;f=_(m,e)|0;if((i|0)<(m|0)&(j|0)<(m|0)&(g|0)<(m|0)){i=_(i,e)|0;a=_(j,e)|0;h=_(g,e)|0;if(p){g=0;do{k[d+(g<<2)>>2]=(k[b+(g+h<<2)>>2]|0)+(k[b+(g+a<<2)>>2]|0)-(k[b+(g+i<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}gc(s,b+(f<<2)|0,d,c,f)}else v=20}else{f=_(m,e)|0;v=20}if((v|0)==20){v=0;gc(s,b+(f<<2)|0,b+((_(l+-2|0,e)|0)<<2)|0,c,f)}if((m|0)<=1){t=d;break a}f=k[r>>2]|0;l=m;g=k[f>>2]|0;f=k[f+4>>2]|0}Ba(11196,11078,315,11219)}else t=d;while(0);if((e|0)<=0){gc(s,b,t,c,0);gb(d);return 1}Ke(d|0,0,e<<2|0)|0;gc(s,b,t,c,0);gb(d);return 1}function qc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+16|0;f=u;s=b+8|0;o=s;p=k[o>>2]|0;o=k[o+4>>2]|0;q=b+16|0;d=q;c=k[d>>2]|0;d=Yf(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((o|0)<(e|0)|(o|0)==(e|0)&p>>>0>>0){t=0;r=u;return t|0}p=(k[b>>2]|0)+c|0;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;m=q;k[m>>2]=d;k[m+4>>2]=e;m=a+52|0;Ic(m,p);c=f+12|0;i[c>>0]=0;if(Dc(f,b)|0){if((p|0)>0){n=f+8|0;o=f+4|0;j=k[f>>2]|0;h=0-(l[c>>0]|0)&255;f=1;g=0;c=k[n>>2]|0;do{if(c>>>0<4096){e=(k[o>>2]|0)+-1|0;k[o>>2]=e;c=l[j+e>>0]|0|c<<8}v=c&255;d=_(c>>>8,h)|0;e=v>>>0>>0;c=e?d+v|0:c-h-d|0;f=f^(e^1);e=(k[m>>2]|0)+(g>>>5<<2)|0;d=1<<(g&31);if(f)d=k[e>>2]|d;else d=k[e>>2]&~d;k[e>>2]=d;g=g+1|0}while((g|0)!=(p|0));k[n>>2]=c}n=s;p=k[n>>2]|0;n=k[n+4>>2]|0;v=q;c=k[v>>2]|0;v=Yf(c|0,k[v+4>>2]|0,4,0)|0;o=L;if(!((n|0)<(o|0)|(n|0)==(o|0)&p>>>0>>0)?(v=a+12|0,p=(k[b>>2]|0)+c|0,p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24,i[v>>0]=p,i[v+1>>0]=p>>8,i[v+2>>0]=p>>16,i[v+3>>0]=p>>24,v=q,p=k[v>>2]|0,v=k[v+4>>2]|0,t=Yf(p|0,v|0,4,0)|0,o=q,k[o>>2]=t,k[o+4>>2]=L,o=s,s=k[o>>2]|0,o=k[o+4>>2]|0,v=Yf(p|0,v|0,8,0)|0,p=L,!((o|0)<(p|0)|(o|0)==(p|0)&s>>>0>>0)):0){v=a+16|0;c=(k[b>>2]|0)+t|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[v>>0]=c;i[v+1>>0]=c>>8;i[v+2>>0]=c>>16;i[v+3>>0]=c>>24;v=q;v=Yf(k[v>>2]|0,k[v+4>>2]|0,4,0)|0;c=q;k[c>>2]=v;k[c+4>>2]=L;c=1}else c=0}else c=0;v=c;r=u;return v|0}function rc(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4604;b=k[a+340>>2]|0;c=b;if(b|0){d=a+344|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}e=a+320|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)gb(b+-4|0);Od(a+228|0);b=k[a+212>>2]|0;c=b;if(b|0){d=a+216|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+200>>2]|0;c=b;if(b|0){d=a+204|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+188>>2]|0;c=b;if(b|0){d=a+192|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+176>>2]|0;c=b;if(b|0){d=a+180|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+160>>2]|0;if(b|0)do{e=b;b=k[b>>2]|0;gb(e)}while((b|0)!=0);e=a+152|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)gb(b);b=k[a+136>>2]|0;if(b|0)gb(b);b=k[a+124>>2]|0;if(b|0)gb(b);b=k[a+112>>2]|0;if(b|0)gb(b);b=k[a+88>>2]|0;c=b;if(b|0){d=a+92|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+76>>2]|0;c=b;if(b|0){d=a+80|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+64>>2]|0;if(b|0)gb(b);b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+36>>2]|0;c=b;if(b|0){d=a+40|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);gb(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}a=a+8|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;_d(b);gb(b);return}function sc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=a+8|0;k[s>>2]=e;g=e>>>0>1073741823?-1:e<<2;f=(g|0)==0?1:g;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}Ke(d|0,0,g|0)|0;q=k[a+24>>2]|0;r=a+32|0;g=k[r>>2]|0;h=k[g+4>>2]|0;g=k[g>>2]|0;f=h-g|0;a:do if((f|0)>4){m=k[a+28>>2]|0;n=q+64|0;o=q+28|0;p=(e|0)>0;j=f>>2;f=h;while(1){l=j+-1|0;if(f-g>>2>>>0<=l>>>0)break;f=k[g+(l<<2)>>2]|0;if(!((f|0)<0?1:(1<<(f&31)&k[(k[q>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(u=k[(k[(k[n>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(u|0)>-1):0){i=k[o>>2]|0;f=k[m>>2]|0;g=k[f+(k[i+(u<<2)>>2]<<2)>>2]|0;a=u+1|0;a=k[f+(k[i+((((a|0)%3|0|0)==0?u+-2|0:a)<<2)>>2]<<2)>>2]|0;i=k[f+(k[i+((((u>>>0)%3|0|0)==0?2:-1)+u<<2)>>2]<<2)>>2]|0;f=_(l,e)|0;if((g|0)<(l|0)&(a|0)<(l|0)&(i|0)<(l|0)){j=_(g,e)|0;h=_(a,e)|0;a=_(i,e)|0;if(p){g=0;do{k[d+(g<<2)>>2]=(k[b+(g+a<<2)>>2]|0)+(k[b+(g+h<<2)>>2]|0)-(k[b+(g+j<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}gc(s,b+(f<<2)|0,d,c,f)}else v=16}else{f=_(l,e)|0;v=16}if((v|0)==16){v=0;gc(s,b+(f<<2)|0,b+((_(j+-2|0,e)|0)<<2)|0,c,f)}if((l|0)<=1){t=d;break a}f=k[r>>2]|0;j=l;g=k[f>>2]|0;f=k[f+4>>2]|0}Ba(11196,11078,315,11219)}else t=d;while(0);if((e|0)<=0){gc(s,b,t,c,0);gb(d);return 1}Ke(d|0,0,e<<2|0)|0;gc(s,b,t,c,0);gb(d);return 1}function tc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=a+8|0;k[r>>2]=e;s=k[a+24>>2]|0;q=k[a+28>>2]|0;g=e>>>0>1073741823?-1:e<<2;f=(g|0)==0?1:g;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}Ke(d|0,0,g|0)|0;Jd(r,d,b,c,0);m=a+32|0;g=k[m>>2]|0;a=k[g+4>>2]|0;g=k[g>>2]|0;p=a-g|0;n=p>>2;if((p|0)<=4){gb(d);return 1}o=s+12|0;p=(e|0)>0;f=1;while(1){if(a-g>>2>>>0<=f>>>0){u=9;break}g=k[g+(f<<2)>>2]|0;if((g|0)>=0?(t=k[(k[o>>2]|0)+(g<<2)>>2]|0,(t|0)>-1):0){h=k[s>>2]|0;a=(t>>>0)%3|0;i=k[q>>2]|0;j=k[i+(k[h+(((t>>>0)/3|0)*12|0)+(a<<2)>>2]<<2)>>2]|0;g=t+1|0;g=((g|0)%3|0|0)==0?t+-2|0:g;if((g|0)<0)g=-1073741824;else g=k[h+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]|0;l=k[i+(g<<2)>>2]|0;g=((a|0)==0?2:-1)+t|0;if((g|0)<0)g=-1073741824;else g=k[h+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]|0;a=k[i+(g<<2)>>2]|0;g=_(f,e)|0;if((j|0)<(f|0)&(l|0)<(f|0)&(a|0)<(f|0)){j=_(j,e)|0;i=_(l,e)|0;h=_(a,e)|0;if(p){a=0;do{k[d+(a<<2)>>2]=(k[c+(a+h<<2)>>2]|0)+(k[c+(a+i<<2)>>2]|0)-(k[c+(a+j<<2)>>2]|0);a=a+1|0}while((a|0)!=(e|0))}Jd(r,d,b,c+(g<<2)|0,g)}else u=18}else{g=_(f,e)|0;u=18}if((u|0)==18){u=0;Jd(r,c+((_(f+-1|0,e)|0)<<2)|0,b,c+(g<<2)|0,g)}f=f+1|0;if((f|0)>=(n|0)){u=7;break}a=k[m>>2]|0;g=k[a>>2]|0;a=k[a+4>>2]|0}if((u|0)==7){gb(d);return 1}else if((u|0)==9)Ba(11196,11078,315,11219);return 0}function uc(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4464;e=a+320|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)gb(b+-4|0);Od(a+228|0);d=k[a+212>>2]|0;e=d;if(d|0){b=a+216|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-e|0)>>>2)<<2);gb(d)}b=k[a+200>>2]|0;c=b;if(b|0){d=a+204|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+188>>2]|0;c=b;if(b|0){d=a+192|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+176>>2]|0;c=b;if(b|0){d=a+180|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+160>>2]|0;if(b|0)do{e=b;b=k[b>>2]|0;gb(e)}while((b|0)!=0);e=a+152|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)gb(b);b=k[a+136>>2]|0;if(b|0)gb(b);b=k[a+124>>2]|0;if(b|0)gb(b);b=k[a+112>>2]|0;if(b|0)gb(b);b=k[a+88>>2]|0;c=b;if(b|0){d=a+92|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+76>>2]|0;c=b;if(b|0){d=a+80|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+64>>2]|0;if(b|0)gb(b);b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+36>>2]|0;c=b;if(b|0){d=a+40|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);gb(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}a=a+8|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;_d(b);gb(b);return}function vc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=a+8|0;k[s>>2]=e;t=k[a+24>>2]|0;r=k[a+28>>2]|0;g=e>>>0>1073741823?-1:e<<2;f=(g|0)==0?1:g;while(1){d=Xa(f)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}Ke(d|0,0,g|0)|0;Jd(s,d,b,c,0);m=a+32|0;g=k[m>>2]|0;a=k[g+4>>2]|0;g=k[g>>2]|0;q=a-g|0;n=q>>2;if((q|0)<=4){gb(d);return 1}o=t+64|0;p=t+28|0;q=(e|0)>0;f=1;while(1){if(a-g>>2>>>0<=f>>>0){v=9;break}g=k[g+(f<<2)>>2]|0;if(!((g|0)<0?1:(1<<(g&31)&k[(k[t>>2]|0)+(g>>>5<<2)>>2]|0)!=0)?(u=k[(k[(k[o>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(u|0)>-1):0){i=k[p>>2]|0;g=k[r>>2]|0;a=k[g+(k[i+(u<<2)>>2]<<2)>>2]|0;h=u+1|0;h=k[g+(k[i+((((h|0)%3|0|0)==0?u+-2|0:h)<<2)>>2]<<2)>>2]|0;i=k[g+(k[i+((((u>>>0)%3|0|0)==0?2:-1)+u<<2)>>2]<<2)>>2]|0;g=_(f,e)|0;if((a|0)<(f|0)&(h|0)<(f|0)&(i|0)<(f|0)){l=_(a,e)|0;j=_(h,e)|0;h=_(i,e)|0;if(q){a=0;do{k[d+(a<<2)>>2]=(k[c+(a+h<<2)>>2]|0)+(k[c+(a+j<<2)>>2]|0)-(k[c+(a+l<<2)>>2]|0);a=a+1|0}while((a|0)!=(e|0))}Jd(s,d,b,c+(g<<2)|0,g)}else v=14}else{g=_(f,e)|0;v=14}if((v|0)==14){v=0;Jd(s,c+((_(f+-1|0,e)|0)<<2)|0,b,c+(g<<2)|0,g)}f=f+1|0;if((f|0)>=(n|0)){v=7;break}a=k[m>>2]|0;g=k[a>>2]|0;a=k[a+4>>2]|0}if((v|0)==7){gb(d);return 1}else if((v|0)==9)Ba(11196,11078,315,11219);return 0}function wc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0.0;n=b+8|0;p=k[n>>2]|0;e=(k[c>>2]|0)-p|0;m=c+4|0;g=(k[m>>2]|0)-p|0;f=c;k[f>>2]=e;k[f+4>>2]=g;q=+N(+(+(e|0)))+ +N(+(+(g|0)));f=k[n>>2]|0;if(!(q<=+(f|0))){if((e|0)>-1)if((g|0)<=-1)if((e|0)<1){h=-1;i=-1}else o=6;else{h=1;i=1}else if((g|0)<1){h=-1;i=-1}else o=6;if((o|0)==6){h=(e|0)>0?1:-1;i=(g|0)>0?1:-1}l=_(f,h)|0;j=_(f,i)|0;e=(e<<1)-l|0;k[c>>2]=e;f=(g<<1)-j|0;k[m>>2]=f;if((_(h,i)|0)>-1){f=0-f|0;k[c>>2]=f;e=0-e|0}else k[c>>2]=f;l=(f+l|0)/2|0;k[c>>2]=l;g=(e+j|0)/2|0;k[m>>2]=g;h=0;e=l;j=k[n>>2]|0}else{h=1;j=f}f=(k[d>>2]|0)+e|0;k[a>>2]=f;e=(k[d+4>>2]|0)+g|0;l=a+4|0;k[l>>2]=e;if((j|0)>=(f|0)){if((f|0)<(0-j|0))f=(k[b+4>>2]|0)+f|0}else f=f-(k[b+4>>2]|0)|0;k[a>>2]=f;if((j|0)>=(e|0))if((e|0)<(0-j|0))i=(k[b+4>>2]|0)+e|0;else i=e;else i=e-(k[b+4>>2]|0)|0;k[l>>2]=i;if(h){o=i;b=f;b=b+p|0;o=o+p|0;p=a;a=p;k[a>>2]=b;p=p+4|0;k[p>>2]=o;return}if((f|0)>-1)if((i|0)<=-1)if((f|0)<1){g=-1;h=-1}else o=24;else{g=1;h=1}else if((i|0)<1){g=-1;h=-1}else o=24;if((o|0)==24){g=(f|0)>0?1:-1;h=(i|0)>0?1:-1}c=_(j,g)|0;j=_(j,h)|0;e=(f<<1)-c|0;k[a>>2]=e;f=(i<<1)-j|0;k[l>>2]=f;if((_(g,h)|0)>-1){f=0-f|0;k[a>>2]=f;e=0-e|0}else k[a>>2]=f;b=(f+c|0)/2|0;k[a>>2]=b;o=(e+j|0)/2|0;k[l>>2]=o;b=b+p|0;o=o+p|0;p=a;a=p;k[a>>2]=b;p=p+4|0;k[p>>2]=o;return}function xc(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;o=r;r=r+16|0;n=o;g=k[c>>2]|0;k[c>>2]=0;k[n>>2]=g;Fb(a,b,n);g=k[n>>2]|0;k[n>>2]=0;if(g|0){f=k[g+68>>2]|0;c=f;if(f|0){d=g+72|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(f)}n=g+64|0;c=k[n>>2]|0;k[n>>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;gb(d)}gb(c)}gb(g)}i=a+68|0;n=a+72|0;e=k[n>>2]|0;j=k[i>>2]|0;l=e-j|0;h=l>>2;if((h|0)>(b|0)){r=o;return}d=b+1|0;c=j;f=e;if(d>>>0<=h>>>0){if(d>>>0>=h>>>0){r=o;return}c=c+(d<<2)|0;if((f|0)==(c|0)){r=o;return}k[n>>2]=f+(~((f+-4-c|0)>>>2)<<2);r=o;return}m=d-h|0;b=a+76|0;c=k[b>>2]|0;if(c-e>>2>>>0>=m>>>0){c=m;d=f;while(1){k[d>>2]=1;c=c+-1|0;if(!c)break;else d=d+4|0}k[n>>2]=f+(m<<2);r=o;return}if(d>>>0>1073741823)Ba(11055,11078,304,11175);a=c-j|0;g=a>>1;g=a>>2>>>0<536870911?(g>>>0>>0?d:g):1073741823;if(!g)c=0;else{if(g>>>0>1073741823){o=Da(4)|0;k[o>>2]=5228;ra(o|0,736,67)}d=g<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}}f=c+(h<<2)|0;d=m;e=f;while(1){k[e>>2]=1;d=d+-1|0;if(!d)break;else e=e+4|0}d=f+(0-h<<2)|0;if((l|0)>0)xe(d|0,j|0,l|0)|0;k[i>>2]=d;k[n>>2]=f+(m<<2);k[b>>2]=c+(g<<2);if(!j){r=o;return}gb(j);r=o;return}function yc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;l=k[a>>2]|0;g=l;j=d-c|0;if((j|0)<=0)return;n=a+8|0;f=k[n>>2]|0;o=a+4|0;m=k[o>>2]|0;e=m;if((j|0)<=(f-e|0)){g=e-b|0;if((j|0)>(g|0)){h=c+g|0;if((h|0)==(d|0))e=m;else{f=h;e=m;do{i[e>>0]=i[f>>0]|0;f=f+1|0;e=(k[o>>2]|0)+1|0;k[o>>2]=e}while((f|0)!=(d|0))}if((g|0)>0){d=h;h=e}else return}else h=m;g=h-(b+j)|0;e=b+g|0;if(e>>>0>>0){f=h;do{i[f>>0]=i[e>>0]|0;e=e+1|0;f=(k[o>>2]|0)+1|0;k[o>>2]=f}while((e|0)!=(m|0))}if(g|0)hf(h+(0-g)|0,b|0,g|0)|0;if((d|0)==(c|0))return;while(1){i[b>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(d|0))break;else b=b+1|0}return}e=e-g+j|0;if((e|0)<0)Ba(11055,11078,304,11175);m=f-g|0;h=m<<1;h=m>>>0<1073741823?(h>>>0>>0?e:h):2147483647;m=b;f=m-g|0;a:do if(!h)g=0;else while(1){e=Xa(h)|0;if(e|0){g=e;break a}e=k[2993]|0;k[2993]=e+0;if(!e){g=0;break a}Na[e&1]()}while(0);j=g+f|0;e=j;h=g+h|0;if((c|0)==(d|0)){c=e;f=l}else{f=j;do{i[f>>0]=i[c>>0]|0;f=e+1|0;e=f;c=c+1|0}while((c|0)!=(d|0));c=e;f=k[a>>2]|0}e=m-f|0;g=j+(0-e)|0;if((e|0)>0)xe(g|0,f|0,e|0)|0;e=(k[o>>2]|0)-m|0;if((e|0)>0){xe(c|0,b|0,e|0)|0;c=c+e|0;b=k[a>>2]|0}else b=f;k[a>>2]=g;k[o>>2]=c;k[n>>2]=h;if(!b)return;gb(b);return}function zc(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;f=a+4|0;j=k[f>>2]|0;d=d-b<<3;k[f>>2]=j-c+e+d;f=(k[a>>2]|0)+(j>>>5<<2)|0;i=j&31;if((i|0)==(c|0)){d=e-c+d|0;if((d|0)<=0)return;if(c){m=32-c|0;n=(d|0)<(m|0)?d:m;m=-1>>>(m-n|0)&-1<>2]=k[f>>2]&~m|k[b>>2]&m;d=d-n|0;f=f+((n+c|0)>>>5<<2)|0;b=b+4|0}e=d>>>5;hf(f|0,b|0,e<<2|0)|0;a=d-(e<<5)|0;d=f+(e<<2)|0;if((a|0)<=0)return;n=-1>>>(32-a|0);k[d>>2]=k[d>>2]&~n|k[b+(e<<2)>>2]&n;return}g=d+e-c|0;if((g|0)<=0)return;if(!c)d=b;else{e=32-c|0;h=(g|0)<(e|0)?g:e;e=-1>>>(e-h|0)&-1<>2];d=32-i|0;a=d>>>0>>0?d:h;k[f>>2]=k[f>>2]&~(-1>>>(d-a|0)&-1<>>0>c>>>0?e<>>(c-i|0));f=f+((i+a|0)>>>5<<2)|0;d=h-a|0;if((d|0)>0)k[f>>2]=k[f>>2]&~(-1>>>(32-d|0))|e>>>(a+c|0);else d=j+a&31;g=g-h|0;i=d;d=b+4|0}n=32-i|0;c=-1<>>0>31){l=~c;m=g+-32|0;h=m>>>5;j=h<<5;a=d;e=k[f>>2]|0;b=f;while(1){o=k[a>>2]|0;k[b>>2]=e&l|o<>2]&c|o>>>n;k[b>>2]=e;g=g+-32|0;if(g>>>0<=31)break;else a=a+4|0}o=h+1|0;g=m-j|0;f=f+(o<<2)|0;d=d+(o<<2)|0}if(!g)return;b=k[d>>2]&-1>>>(32-g|0);e=(n|0)<(g|0)?n:g;k[f>>2]=k[f>>2]&~(-1<>>(n-e|0))|b<>>5<<2)|0;d=g-e|0;if((d|0)<=0)return;k[a>>2]=k[a>>2]&~(-1>>>(32-d|0))|b>>>e;return}function Ac(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;o=b+16|0;n=o;c=k[n>>2]|0;n=Yf(c|0,k[n+4>>2]|0,4,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[p>>0]=c;i[p+1>>0]=c>>8;i[p+2>>0]=c>>16;i[p+3>>0]=c>>24;g=o;g=Yf(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=o;k[d>>2]=g;k[d+4>>2]=L;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{Ld(a,c-e|0);c=k[p>>2]|0}if(!c){a=1;return a|0}n=j;m=k[n>>2]|0;n=k[n+4>>2]|0;c=o;j=0;d=k[c+4>>2]|0;c=k[c>>2]|0;a:while(1){if(!((n|0)>(d|0)|(n|0)==(d|0)&m>>>0>c>>>0)){c=0;d=15;break}h=k[b>>2]|0;e=i[h+c>>0]|0;c=Yf(c|0,d|0,1,0)|0;d=L;g=o;k[g>>2]=c;k[g+4>>2]=d;e=e&255;g=e&3;e=e>>>2;if(g){f=0;do{if(!((n|0)>(d|0)|(n|0)==(d|0)&m>>>0>c>>>0)){c=0;d=15;break a}q=i[h+c>>0]|0;c=Yf(c|0,d|0,1,0)|0;d=L;r=o;k[r>>2]=c;k[r+4>>2]=d;e=(q&255)<<(f<<3|6)|e;f=f+1|0}while((f|0)<(g|0))}f=k[a>>2]|0;k[f+(j<<2)>>2]=e;j=j+1|0;e=k[p>>2]|0;if(j>>>0>=e>>>0){d=14;break}}if((d|0)==14){r=qd(a+16|0,f,e)|0;return r|0}else if((d|0)==15)return c|0;return 0}function Bc(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;d=i[(k[a+8>>2]|0)+24>>0]|0;g=a+36|0;c=d>>>0>1073741823?-1:d<<2;c=(c|0)==0?1:c;while(1){b=Xa(c)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}c=k[g>>2]|0;k[g>>2]=b;if(c|0)gb(c);e=a+4|0;f=k[(k[e>>2]|0)+20>>2]|0;b=d<<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=Yf(d|0,k[h+4>>2]|0,b|0,0)|0;m=L;if((n|0)<(m|0)|(n|0)==(m|0)&j>>>0>>0){n=0;return n|0}xe(k[g>>2]|0,(k[f>>2]|0)+d|0,b|0)|0;h=c;h=Yf(k[h>>2]|0,k[h+4>>2]|0,b|0,0)|0;b=c;k[b>>2]=h;k[b+4>>2]=L;b=(k[e>>2]|0)+20|0;c=k[b>>2]|0;h=c+8|0;m=k[h>>2]|0;h=k[h+4>>2]|0;d=c+16|0;n=d;e=k[n>>2]|0;n=Yf(e|0,k[n+4>>2]|0,4,0)|0;j=L;if((h|0)<(j|0)|(h|0)==(j|0)&m>>>0>>0){n=0;return n|0}m=a+40|0;n=(k[c>>2]|0)+e|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;i[m>>0]=n;i[m+1>>0]=n>>8;i[m+2>>0]=n>>16;i[m+3>>0]=n>>24;m=d;m=Yf(k[m>>2]|0,k[m+4>>2]|0,4,0)|0;n=d;k[n>>2]=m;k[n+4>>2]=L;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=Yf(d|0,e|0,1,0)|0;n=c;k[n>>2]=m;k[n+4>>2]=L;if((b&255)>31){n=0;return n|0}k[a+32>>2]=b&255;n=1;return n|0}function Cc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=k[a+8>>2]|0;j=a+76|0;c=k[j>>2]|0;m=k[c+64>>2]|0;q=b+84|0;i[q>>0]=0;l=b+68|0;d=b+72|0;g=k[d>>2]|0;f=k[l>>2]|0;e=g-f>>2;if(m>>>0<=e>>>0){if(m>>>0>>0?(h=f+(m<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(l,m-e|0,4592);m=k[j>>2]|0;c=m;m=k[m+64>>2]|0}o=k[c+80>>2]|0;l=(k[c+84>>2]|0)-o|0;n=(l|0)/12|0;if((l|0)<=0){q=1;return q|0}a=a+80|0;h=b+68|0;g=0;while(1){if((g|0)>=(n|0)){d=9;break}j=o;d=g*3|0;e=k[p>>2]|0;f=k[(k[a>>2]|0)+12>>2]|0;c=k[f+(k[e+(g*12|0)+(((d>>>0)%3|0)<<2)>>2]<<2)>>2]|0;if(c>>>0>=m>>>0){c=0;d=13;break}if(i[q>>0]|0){d=12;break}l=k[h>>2]|0;k[l+(k[j+(g*12|0)>>2]<<2)>>2]=c;c=d+1|0;c=k[f+(k[e+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]<<2)>>2]|0;if(c>>>0>=m>>>0){c=0;d=13;break}k[l+(k[j+(g*12|0)+4>>2]<<2)>>2]=c;c=d+2|0;c=k[f+(k[e+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]<<2)>>2]|0;if(c>>>0>=m>>>0){c=0;d=13;break}k[l+(k[j+(g*12|0)+8>>2]<<2)>>2]=c;g=g+1|0;if((g|0)>=(n|0)){c=1;d=13;break}}if((d|0)==9)Ba(10269,10250,64,10264);else if((d|0)==12)Ba(10323,10342,80,10374);else if((d|0)==13)return c|0;return 0}function Dc(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=Yf(h|0,g|0,1,0)|0;f=j;k[f>>2]=e;k[f+4>>2]=L;f=d;d=k[f>>2]|0;f=k[f+4>>2]|0;g=Yf(h|0,g|0,5,0)|0;h=L;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=Nf(d|0,f|0,g|0,h|0)|0;b=L;if(0>(b|0)|0==(b|0)&e>>>0>f>>>0){j=0;return j|0}c=c+g|0;if((e|0)<1){j=0;return j|0}k[a>>2]=c;d=e+-1|0;b=c+d|0;a:do switch((l[b>>0]|0)>>>6&3){case 0:{k[a+4>>2]=d;d=(l[b>>0]|0)&63;c=a+8|0;k[c>>2]=d;break}case 1:if((e|0)<2){j=0;return j|0}else{k[a+4>>2]=e+-2;d=c+e+-2|0;d=(l[d+1>>0]|0)<<8&16128|(l[d>>0]|0);c=a+8|0;k[c>>2]=d;break a}case 2:if((e|0)<3){j=0;return j|0}else{k[a+4>>2]=e+-3;d=c+e+-3|0;d=(l[d+1>>0]|0)<<8|(l[d>>0]|0)|(l[d+2>>0]|0)<<16&4128768;c=a+8|0;k[c>>2]=d;break a}default:{j=0;return j|0}}while(0);a=d+4096|0;k[c>>2]=a;if(a>>>0>1048575){j=0;return j|0}h=Yf(g|0,h|0,e|0,0)|0;k[j>>2]=h;k[j+4>>2]=L;j=1;return j|0}function Ec(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=k[a+8>>2]|0;j=a+76|0;c=k[j>>2]|0;m=k[c+64>>2]|0;r=b+84|0;i[r>>0]=0;l=b+68|0;d=b+72|0;g=k[d>>2]|0;f=k[l>>2]|0;e=g-f>>2;if(m>>>0<=e>>>0){if(m>>>0>>0?(h=f+(m<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jd(l,m-e|0,4592);m=k[j>>2]|0;c=m;m=k[m+64>>2]|0}q=k[c+80>>2]|0;o=(k[c+84>>2]|0)-q|0;p=(o|0)/12|0;if((o|0)<=0){r=1;return r|0}o=n+28|0;n=a+80|0;h=b+68|0;g=0;while(1){if((g|0)>=(p|0)){d=9;break}j=q;d=g*3|0;e=k[o>>2]|0;f=k[(k[n>>2]|0)+12>>2]|0;c=k[f+(k[e+(d<<2)>>2]<<2)>>2]|0;if(c>>>0>=m>>>0){c=0;d=14;break}if(i[r>>0]|0){d=12;break}l=k[h>>2]|0;k[l+(k[j+(g*12|0)>>2]<<2)>>2]=c;c=k[f+(k[e+(d+1<<2)>>2]<<2)>>2]|0;if(c>>>0>=m>>>0){c=0;d=14;break}k[l+(k[j+(g*12|0)+4>>2]<<2)>>2]=c;c=k[f+(k[e+(d+2<<2)>>2]<<2)>>2]|0;if(c>>>0>=m>>>0){c=0;d=14;break}k[l+(k[j+(g*12|0)+8>>2]<<2)>>2]=c;g=g+1|0;if((g|0)>=(p|0)){c=1;d=14;break}}if((d|0)==9)Ba(10269,10250,64,10264);else if((d|0)==12)Ba(10323,10342,80,10374);else if((d|0)==14)return c|0;return 0}function Fc(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0,f=0,g=0.0,h=0.0,j=0.0,l=0.0,m=0,n=0,p=0,q=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=r;r=r+16|0;x=z;y=a+8|0;u=i[(k[y>>2]|0)+24>>0]<<2;if(!b){r=z;return 1}v=a+16|0;w=a+20|0;t=+((1<>2])+-1|0)+-1.0;q=x+4|0;s=x+8|0;m=0;n=0;p=0;while(1){f=p|1;a=k[v>>2]|0;e=(k[w>>2]|0)-a>>2;if(e>>>0<=p>>>0){a=5;break}if(e>>>0<=f>>>0){a=7;break}j=+(k[a+(p<<2)>>2]|0)/t;p=p+2|0;h=+(k[a+(f<<2)>>2]|0)/t;c=j+h;d=j-h;if(!(d<=.5)|(!(d>=-.5)|(!(c>=.5)|!(c<=1.5)))){do if(!(c<=.5)){if(c>=1.5){g=1.5-h;h=1.5-j;break}if(!(d<=-.5)){g=h+.5;h=j+-.5;break}else{g=h+-.5;h=j+.5;break}}else{g=.5-h;h=.5-j}while(0);c=h+g;d=g-h;l=-1.0}else{l=1.0;g=j}j=g*2.0+-1.0;g=h*2.0+-1.0;h=c*2.0;c=h+-1.0;h=3.0-h;A=d*2.0;d=A+1.0;A=1.0-A;d=A>2]=0.0;d=0.0;c=0.0}else{A=1.0/+O(+d);o[x>>2]=c*A;d=g*A;c=j*A}o[q>>2]=c;o[s>>2]=d;xe((k[k[(k[y>>2]|0)+64>>2]>>2]|0)+m|0,x|0,u|0)|0;n=n+1|0;if((n|0)==(b|0)){a=3;break}else m=m+u|0}if((a|0)==3){r=z;return 1}else if((a|0)==5)Ba(11196,11078,315,11219);else if((a|0)==7)Ba(11196,11078,315,11219);return 0}function Gc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;d=k[a>>2]|0;i=c-d>>5;e=i+1|0;if(e>>>0>134217727)Ba(11055,11078,304,11175);l=d;j=c;m=a+8|0;h=(k[m>>2]|0)-d|0;f=h>>4;f=h>>5>>>0<67108863?(f>>>0>>0?e:f):134217727;if(!f)e=0;else{if(f>>>0>134217727){n=Da(4)|0;k[n>>2]=5228;ra(n|0,736,67)}e=f<<5;e=(e|0)==0?1:e;while(1){d=Xa(e)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}e=d}g=e+(i<<5)|0;d=g;h=e+(f<<5)|0;k[g>>2]=k[b>>2];k[e+(i<<5)+4>>2]=k[b+4>>2];k[e+(i<<5)+8>>2]=k[b+8>>2];k[e+(i<<5)+12>>2]=k[b+12>>2];f=e+(i<<5)+16|0;i=b+16|0;k[f>>2]=k[i>>2];k[f+4>>2]=k[i+4>>2];k[f+8>>2]=k[i+8>>2];k[f+12>>2]=k[i+12>>2];f=g+32|0;if((j|0)!=(l|0)){e=j;c=g;do{i=e;e=e+-32|0;k[c+-32>>2]=k[e>>2];k[c+-28>>2]=k[i+-28>>2];k[c+-24>>2]=k[i+-24>>2];k[c+-20>>2]=k[i+-20>>2];j=c+-16|0;i=i+-16|0;k[j>>2]=k[i>>2];k[j+4>>2]=k[i+4>>2];k[j+8>>2]=k[i+8>>2];k[j+12>>2]=k[i+12>>2];c=d+-32|0;d=c}while((e|0)!=(l|0));c=k[a>>2]|0}k[a>>2]=d;k[n>>2]=f;k[m>>2]=h;if(!c)return;gb(c);return}function Hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=c;j=b;g=l-j|0;n=g>>2;h=a+8|0;d=k[h>>2]|0;f=k[a>>2]|0;m=f;if(n>>>0<=d-f>>2>>>0){i=a+4|0;h=k[i>>2]|0;a=h-f>>2;g=n>>>0>a>>>0;a=g?b+(a<<2)|0:c;f=h;if((a|0)==(b|0))d=m;else{e=a+-4|0;d=b;c=m;while(1){k[c>>2]=k[d>>2];d=d+4|0;if((d|0)==(a|0))break;else c=c+4|0}d=m+(((e-j|0)>>>2)+1<<2)|0}if(g){d=l-a|0;if((d|0)<=0)return;xe(h|0,a|0,d|0)|0;k[i>>2]=(k[i>>2]|0)+(d>>2<<2);return}else{if((f|0)==(d|0))return;k[i>>2]=f+(~((f+-4-d|0)>>>2)<<2);return}}e=f;if(f){d=a+4|0;c=k[d>>2]|0;if((c|0)!=(m|0))k[d>>2]=c+(~((c+-4-f|0)>>>2)<<2);gb(e);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(n>>>0>1073741823)Ba(11055,11078,304,11175);e=d>>1;e=d>>2>>>0<536870911?(e>>>0>>0?n:e):1073741823;if(e>>>0>1073741823)qg();c=e<<2;c=(c|0)==0?1:c;while(1){d=Xa(c)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}c=a+4|0;k[c>>2]=d;k[a>>2]=d;k[h>>2]=d+(e<<2);if((g|0)<=0)return;xe(d|0,b|0,g|0)|0;k[c>>2]=d+(n<<2);return}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;n=r;r=r+16|0;j=n;l=a+4|0;c=k[l>>2]|0;if(c>>>0>=b>>>0){k[l>>2]=b;r=n;return}m=a+8|0;e=k[m>>2]|0;f=e<<5;d=b-c|0;if(f>>>0>>0|c>>>0>(f-d|0)>>>0){k[j>>2]=0;h=j+4|0;k[h>>2]=0;i=j+8|0;k[i>>2]=0;if((b|0)<0)Ba(11055,11078,304,11175);c=e<<6;b=b+31&-32;Td(j,f>>>0<1073741823?(c>>>0>>0?b:c):2147483647);b=k[l>>2]|0;k[h>>2]=b+d;c=k[a>>2]|0;f=c;e=k[j>>2]|0;b=(f+(b>>>5<<2)-c<<3)+(b&31)|0;if((b|0)>0){g=b>>>5;hf(e|0,c|0,g<<2|0)|0;c=b-(g<<5)|0;b=e+(g<<2)|0;e=b;if((c|0)>0){o=-1>>>(32-c|0);k[b>>2]=k[b>>2]&~o|k[f+(g<<2)>>2]&o}else c=0}else c=0;b=k[a>>2]|0;k[a>>2]=k[j>>2];k[j>>2]=b;o=k[l>>2]|0;k[l>>2]=k[h>>2];k[h>>2]=o;o=k[m>>2]|0;k[m>>2]=k[i>>2];k[i>>2]=o;if(b|0)gb(b)}else{e=(k[a>>2]|0)+(c>>>5<<2)|0;k[l>>2]=b;c=c&31}if(!d){r=n;return}b=e;if(!c)c=e;else{m=32-c|0;o=m>>>0>d>>>0?d:m;k[b>>2]=k[b>>2]&~(-1>>>(m-o|0)&-1<>>5;Ke(c|0,0,o<<2|0)|0;d=d-(o<<5)|0;c=b+(o<<2)|0;if(!d){r=n;return}k[c>>2]=k[c>>2]&~(-1>>>(32-d|0));r=n;return}function Jc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;k[a+4>>2]=k[b+4>>2];g=a+8|0;h=b+8|0;if((a|0)==(b|0))return;i=b+12|0;c=k[i>>2]|0;if(!c)c=0;else{f=a+16|0;if(c>>>0>k[f>>2]<<5>>>0){d=k[g>>2]|0;if(d){gb(d);k[g>>2]=0;k[f>>2]=0;k[a+12>>2]=0;c=k[i>>2]|0}if((c|0)<0)Ba(11055,11078,304,11175);e=((c+-1|0)>>>5)+1|0;d=e<<2;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[g>>2]=c;k[a+12>>2]=0;k[f>>2]=e;d=k[i>>2]|0}else{d=c;c=k[g>>2]|0}hf(c|0,k[h>>2]|0,((d+-1|0)>>>5<<2)+4|0)|0;c=k[i>>2]|0}k[a+12>>2]=c;g=a+20|0;i=b+20|0;h=b+24|0;c=k[h>>2]|0;if(!c)c=0;else{f=a+28|0;if(c>>>0>k[f>>2]<<5>>>0){d=k[g>>2]|0;if(d){gb(d);k[g>>2]=0;k[f>>2]=0;k[a+24>>2]=0;c=k[h>>2]|0}if((c|0)<0)Ba(11055,11078,304,11175);e=((c+-1|0)>>>5)+1|0;d=e<<2;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[g>>2]=c;k[a+24>>2]=0;k[f>>2]=e;d=k[h>>2]|0}else{d=c;c=k[g>>2]|0}hf(c|0,k[i>>2]|0,((d+-1|0)>>>5<<2)+4|0)|0;c=k[h>>2]|0}k[a+24>>2]=c;return}function Kc(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;if((c|0)<=-1)Ba(10225,10250,63,10264);a=k[b+80>>2]|0;if((((k[b+84>>2]|0)-a|0)/12|0|0)<=(c|0))Ba(10269,10250,64,10264);l=a+(c*12|0)|0;f=l+12|0;e=d+8|0;a=k[e>>2]|0;h=k[d>>2]|0;i=h;if(a-h>>2>>>0<3){c=h;if(h){a=d+4|0;b=k[a>>2]|0;if((b|0)!=(i|0))k[a>>2]=b+(~((b+-4-h|0)>>>2)<<2);gb(c);k[e>>2]=0;k[a>>2]=0;k[d>>2]=0;a=0}c=a>>1;c=a>>2>>>0<536870911?(c>>>0<3?3:c):1073741823;if(c>>>0>1073741823)qg();b=c<<2;b=(b|0)==0?1:b;while(1){a=Xa(b)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}j=d+4|0;k[j>>2]=a;k[d>>2]=a;k[e>>2]=a+(c<<2);k[a>>2]=k[l>>2];k[a+4>>2]=k[l+4>>2];k[a+8>>2]=k[l+8>>2];k[j>>2]=a+12;return 1}j=d+4|0;a=(k[j>>2]|0)-h>>2;d=a>>>0<3;e=d?l+(a<<2)|0:f;g=e;b=g-l|0;c=b>>2;if(c|0)hf(h|0,l|0,b|0)|0;b=i+(c<<2)|0;if(!d){a=k[j>>2]|0;if((a|0)==(b|0))return 1;k[j>>2]=a+(~((a+-4-b|0)>>>2)<<2);return 1}if((e|0)==(f|0))return 1;c=k[j>>2]|0;e=l+8|0;b=c;while(1){k[b>>2]=k[l+(a<<2)>>2];a=a+1|0;if((a|0)==3)break;else b=b+4|0}k[j>>2]=c+(((e-g|0)>>>2)+1<<2);return 1}function Lc(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=a+4|0;n=k[o>>2]|0;i=a+8|0;d=k[i>>2]|0;j=n+4|0;e=k[j>>2]|0;l=k[n>>2]|0;m=e-l|0;h=m>>2;a=l;c=e;if(d>>>0<=h>>>0){if(d>>>0>>0?(b=a+(d<<2)|0,(c|0)!=(b|0)):0)k[j>>2]=c+(~((c+-4-b|0)>>>2)<<2)}else{f=d-h|0;g=n+8|0;a=k[g>>2]|0;if(a-e>>2>>>0>>0){if(d>>>0>1073741823)Ba(11055,11078,304,11175);c=a-l|0;e=c>>1;d=c>>2>>>0<536870911?(e>>>0>>0?d:e):1073741823;if(!d)a=0;else{if(d>>>0>1073741823){o=Da(4)|0;k[o>>2]=5228;ra(o|0,736,67)}b=d<<2;b=(b|0)==0?1:b;while(1){a=Xa(b)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}}c=a+(h<<2)|0;Ke(c|0,0,f<<2|0)|0;b=c+(0-h<<2)|0;if((m|0)>0)xe(b|0,l|0,m|0)|0;k[n>>2]=b;k[j>>2]=c+(f<<2);k[g>>2]=a+(d<<2);if(l|0)gb(l)}else{Ke(e|0,0,f<<2|0)|0;k[j>>2]=c+(f<<2)}d=k[i>>2]|0}if((d|0)<=0)return 1;b=k[o>>2]|0;c=k[b>>2]|0;b=(k[b+4>>2]|0)-c>>2;a=0;while(1){if(b>>>0<=a>>>0){a=26;break}k[c+(a<<2)>>2]=a;a=a+1|0;if((a|0)>=(d|0)){a=24;break}}if((a|0)==24)return 1;else if((a|0)==26)Ba(11196,11078,315,11219);return 0}function Mc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;g=a+8|0;c=k[g>>2]|0;f=k[a>>2]|0;h=f;if(c-f>>3>>>0>=2){g=a+4|0;a=k[g>>2]|0;e=a-f>>3;f=e>>>0<2;c=f?e:2;if(c|0){d=h;while(1){l=b;j=k[l+4>>2]|0;i=d;k[i>>2]=k[l>>2];k[i+4>>2]=j;c=c+-1|0;if(!c)break;else d=d+8|0}}if(f){d=2-e|0;c=d;e=a;while(1){i=b;j=k[i+4>>2]|0;l=e;k[l>>2]=k[i>>2];k[l+4>>2]=j;c=c+-1|0;if(!c)break;else e=e+8|0}k[g>>2]=a+(d<<3);return}else{c=h+16|0;if((a|0)==(c|0))return;k[g>>2]=a+(~((a+-8-c|0)>>>3)<<3);return}}e=f;if(f){c=a+4|0;d=k[c>>2]|0;if((d|0)!=(h|0))k[c>>2]=d+(~((d+-8-f|0)>>>3)<<3);gb(e);k[g>>2]=0;k[c>>2]=0;k[a>>2]=0;c=0}e=c>>2;e=c>>3>>>0<268435455?(e>>>0<2?2:e):536870911;if(e>>>0>536870911)qg();d=e<<3;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}l=a+4|0;k[l>>2]=c;k[a>>2]=c;k[g>>2]=c+(e<<3);h=b;j=k[h+4>>2]|0;i=c;k[i>>2]=k[h>>2];k[i+4>>2]=j;i=k[b+4>>2]|0;j=c+8|0;k[j>>2]=k[b>>2];k[j+4>>2]=i;k[l>>2]=c+16;return}function Nc(a,b){a=a|0;b=b|0;switch(b<<24>>24){case 0:{while(1){a=Xa(16)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}k[a>>2]=3012;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=-1;b=a;return b|0}case 1:{while(1){a=Xa(32)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=-1;k[a>>2]=3048;b=a+16|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;b=a;return b|0}case 2:{while(1){a=Xa(44)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=-1;b=a+16|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[a>>2]=3612;k[a+32>>2]=-1;k[a+36>>2]=0;o[a+40>>2]=0.0;b=a;return b|0}case 3:{while(1){a=Xa(36)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=-1;b=a+16|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[a>>2]=3672;k[a+32>>2]=-1;b=a;return b|0}default:{b=0;return b|0}}return 0}function Oc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,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;m=n;if((c|0)==(n|0))i=n;else{i=c+(~((c+-4-m|0)>>>2)<<2)|0;k[o>>2]=i}r=a+16|0;k[r>>2]=0;s=a+12|0;k[s>>2]=i;j=b+8|0;d=j;c=k[d>>2]|0;d=k[d+4>>2]|0;t=b+16|0;f=t;g=k[f>>2]|0;f=Yf(g|0,k[f+4>>2]|0,4,0)|0;e=L;if((d|0)<(e|0)|(d|0)==(e|0)&c>>>0>>0){b=0;return b|0}q=(k[b>>2]|0)+g|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;h=t;k[h>>2]=f;k[h+4>>2]=e;h=Nf(c|0,d|0,f|0,e|0)|0;g=L;if(0>(g|0)|0==(g|0)&q>>>0>h>>>0){b=0;return b|0}h=q>>>2;g=i-m>>2;if(h>>>0<=g>>>0){if(h>>>0>>0?(p=n+(h<<2)|0,(i|0)!=(p|0)):0)k[o>>2]=i+(~((i+-4-p|0)>>>2)<<2)}else{Ld(a,h-g|0);c=j;e=t;f=k[e>>2]|0;e=k[e+4>>2]|0;d=k[c+4>>2]|0;c=k[c>>2]|0}p=Yf(f|0,e|0,q|0,0)|0;o=L;if((d|0)<(o|0)|(d|0)==(o|0)&c>>>0

>>0){b=0;return b|0}xe(k[a>>2]|0,(k[b>>2]|0)+f|0,q|0)|0;b=t;q=Yf(k[b>>2]|0,k[b+4>>2]|0,q|0,0)|0;b=t;k[b>>2]=q;k[b+4>>2]=L;k[s>>2]=k[a>>2];k[r>>2]=0;b=1;return b|0}function Pc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;d=k[c>>2]|0;m=k[c+4>>2]|0;a:do if((d|0)==(m|0)){n=0;o=a+8|0;p=a+4|0}else{j=k[b>>2]|0;l=a+4|0;h=a+8|0;c=0;b:while(1){f=k[d>>2]|0;g=k[j+(f<<2)>>2]|0;if((g|0)>=(c|0)){c=k[l>>2]|0;b=(k[h>>2]|0)-c|0;if((b|0)>0){a=b>>2;b=0;do{e=k[c+(b<<2)>>2]|0;if(i[e+84>>0]|0)break b;e=k[e+68>>2]|0;k[e+(g<<2)>>2]=k[e+(f<<2)>>2];b=b+1|0}while((b|0)<(a|0))}c=g+1|0}d=d+4|0;if((d|0)==(m|0)){n=c;o=h;p=l;break a}}Ba(10323,10342,80,10374)}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{jd(a,n-e|0,2896);c=k[p>>2]|0;b=k[o>>2]|0}h=h+1|0}while((h|0)<(b-c>>2|0));return}function Qc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;p[a+16>>3]=.5;e=b+8|0;d=k[e>>2]|0;e=k[e+4>>2]|0;g=b+16|0;h=g;c=k[h>>2]|0;h=Yf(c|0,k[h+4>>2]|0,4,0)|0;i=L;if((e|0)<(i|0)|(e|0)==(i|0)&d>>>0>>0){i=0;return i|0}b=k[b>>2]|0;f=b+c|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;c=g;k[c>>2]=h;k[c+4>>2]=i;e=Nf(d|0,e|0,h|0,i|0)|0;d=L;if(0>(d|0)|0==(d|0)&f>>>0>e>>>0){i=0;return i|0}b=b+h|0;if((f|0)<1){i=0;return i|0}k[a>>2]=b;c=f+-1|0;d=b+c|0;a:do switch((l[d>>0]|0)>>>6&3){case 0:{k[a+4>>2]=c;c=(l[d>>0]|0)&63;b=a+8|0;k[b>>2]=c;break}case 1:if((f|0)<2){i=0;return i|0}else{k[a+4>>2]=f+-2;c=b+f+-2|0;c=(l[c+1>>0]|0)<<8&16128|(l[c>>0]|0);b=a+8|0;k[b>>2]=c;break a}case 2:if((f|0)<3){i=0;return i|0}else{k[a+4>>2]=f+-3;c=b+f+-3|0;c=(l[c+1>>0]|0)<<8|(l[c>>0]|0)|(l[c+2>>0]|0)<<16&4128768;b=a+8|0;k[b>>2]=c;break a}default:{i=0;return i|0}}while(0);a=c+4096|0;k[b>>2]=a;if(a>>>0>1048575){i=0;return i|0}h=Yf(h|0,i|0,f|0,0)|0;i=g;k[i>>2]=h;k[i+4>>2]=L;i=1;return i|0}function Rc(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;c=k[a>>2]|0;if(b){m=c+8|0;b=m;b=Yf(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;k[m>>2]=b;k[m+4>>2]=L;m=a+28|0;b=k[m>>2]|0;l=a+24|0;k[l>>2]=k[l>>2]|1<>2]|0,k[m+4>>2]|0,1,0)|0;b=c;k[b>>2]=m;k[b+4>>2]=L;b=a+28|0;m=b;b=k[b>>2]|0}l=b+1|0;k[m>>2]=l;if((l|0)!=32)return;i=a+24|0;j=a+16|0;b=k[j>>2]|0;l=a+20|0;h=k[l>>2]|0;c=h;if((b|0)==(h|0)){g=a+12|0;h=k[g>>2]|0;f=b-h|0;e=f>>2;b=e+1|0;if(b>>>0>1073741823)Ba(11055,11078,304,11175);a=c-h|0;d=a>>1;d=a>>2>>>0<536870911?(d>>>0>>0?b:d):1073741823;if(!d)b=0;else{if(d>>>0>1073741823){m=Da(4)|0;k[m>>2]=5228;ra(m|0,736,67)}c=d<<2;c=(c|0)==0?1:c;while(1){b=Xa(c)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}}a=b+(e<<2)|0;k[a>>2]=k[i>>2];c=a+(0-e<<2)|0;if((f|0)>0)xe(c|0,h|0,f|0)|0;k[g>>2]=c;k[j>>2]=a+4;k[l>>2]=b+(d<<2);if(h|0)gb(h)}else{k[b>>2]=k[i>>2];k[j>>2]=b+4}k[m>>2]=0;k[i>>2]=0;return}function Sc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;h=a+48|0;c=k[h>>2]|0;if(!c){o=0;return o|0}o=a+36|0;k[c+4>>2]=o;if(!(La[k[(k[c>>2]|0)+12>>2]&127](c)|0)){o=0;return o|0}m=a+4|0;n=a+8|0;c=k[n>>2]|0;d=k[m>>2]|0;a:do if((c-d|0)>0){g=a+16|0;f=0;c=d;while(1){e=k[(k[g>>2]|0)+4>>2]|0;c=k[c+(f<<2)>>2]|0;if((c|0)<=-1){c=9;break}d=k[e+4>>2]|0;if(((k[e+8>>2]|0)-d>>2|0)<=(c|0)){c=11;break}e=k[h>>2]|0;f=f+1|0;if(!(Pa[k[(k[e>>2]|0)+8>>2]&63](e,k[d+(c<<2)>>2]|0)|0)){l=0;c=15;break}d=k[n>>2]|0;c=k[m>>2]|0;if((f|0)>=(d-c>>2|0)){i=c;j=d;break a}}if((c|0)==9)Ba(9441,9457,62,9485);else if((c|0)==11)Ba(9495,9457,63,9485);else if((c|0)==15)return l|0}else{i=d;j=c}while(0);if((j-i|0)<=0){o=1;return o|0}d=a+24|0;c=0;while(1){l=k[(k[d>>2]|0)+(c<<2)>>2]|0;c=c+1|0;if(!(Ha[k[(k[l>>2]|0)+16>>2]&31](l,o,b)|0)){l=0;c=15;break}if((c|0)>=((k[n>>2]|0)-(k[m>>2]|0)>>2|0)){l=1;c=15;break}}if((c|0)==15)return l|0;return 0}function Tc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0.0,l=0,m=0,n=0.0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0;e=k[a+32>>2]|0;r=a+8|0;f=i[(k[r>>2]|0)+24>>0]|0;q=f<<24>>24;s=q<<2;d=q>>>0>1073741823?-1:q<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0){p=c;break}c=k[2993]|0;k[2993]=c+0;if(!c){p=0;break}Na[c&1]()}n=+o[a+40>>2];j=1.0/+((1<>24>0){e=0;a=0;c=0}else{c=0;d=0;while(1){xe((k[k[(k[r>>2]|0)+64>>2]>>2]|0)+d|0,p|0,s|0)|0;c=c+1|0;if((c|0)==(b|0))break;else d=d+s|0}gb(p);return 1}a:while(1){g=k[l>>2]|0;f=(k[m>>2]|0)-g>>2;d=0;do{if(f>>>0<=c>>>0){c=9;break a}v=c;c=c+1|0;v=k[g+(v<<2)>>2]|0;u=(v|0)<0;t=j*+((u?0-v|0:v)|0);o[p+(d<<2)>>2]=+o[(k[h>>2]|0)+(d<<2)>>2]+n*(u?-t:t);d=d+1|0}while((d|0)<(q|0));xe((k[k[(k[r>>2]|0)+64>>2]>>2]|0)+a|0,p|0,s|0)|0;e=e+1|0;if(e>>>0>=b>>>0){c=13;break}else a=a+s|0}if((c|0)==9)Ba(11196,11078,315,11219);else if((c|0)==13){gb(p);return 1}return 0}function Uc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;while(1){c=Xa(52)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}while(1){d=Xa(12)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}h=k[(k[a+4>>2]|0)+64>>2]|0;k[d+4>>2]=0;k[d>>2]=4248;k[d+8>>2]=h;h=c+4|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[h+12>>2]=0;k[h+16>>2]=0;k[c>>2]=4172;h=c+24|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[h+12>>2]=0;k[h+16>>2]=0;k[h+20>>2]=0;k[c+48>>2]=d;h=c;g=a+8|0;f=a+12|0;c=k[f>>2]|0;d=k[g>>2]|0;a=c-d>>2;do if((a|0)<=(b|0)){e=b+1|0;if(e>>>0>a>>>0){Xc(g,e-a|0);break}if(e>>>0>>0?(i=d+(e<<2)|0,(c|0)!=(i|0)):0)do{e=c+-4|0;k[f>>2]=e;c=k[e>>2]|0;k[e>>2]=0;if(c|0)Ja[k[(k[c>>2]|0)+4>>2]&127](c);c=k[f>>2]|0}while((c|0)!=(i|0))}while(0);i=(k[g>>2]|0)+(b<<2)|0;c=k[i>>2]|0;k[i>>2]=h;if(!c)return 1;Ja[k[(k[c>>2]|0)+4>>2]&127](c);return 1}function Vc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=k[a>>2]|0;h=f+(b>>>5<<2)|0;k[h>>2]=k[h>>2]|1<<(b&31);h=k[a+64>>2]|0;e=(b|0)<0;d=b+1|0;if(!e?(c=((d|0)%3|0|0)==0?b+-2|0:d,(c|0)>=0):0)c=k[(k[h>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;else c=-1073741824;g=a+12|0;d=(k[g>>2]|0)+(c>>>5<<2)|0;k[d>>2]=k[d>>2]|1<<(c&31);if(e){h=(k[g>>2]|0)+402653184|0;k[h>>2]=k[h>>2]|1;return}c=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((c|0)<0)c=-1073741824;else c=k[(k[h>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;d=(k[g>>2]|0)+(c>>>5<<2)|0;k[d>>2]=k[d>>2]|1<<(c&31);d=k[(k[h+12>>2]|0)+(b<<2)>>2]|0;if((d|0)<=-1)return;i[a+24>>0]=0;c=f+(d>>>5<<2)|0;k[c>>2]=k[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=k[(k[h>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;f=(k[g>>2]|0)+(c>>>5<<2)|0;k[f>>2]=k[f>>2]|1<<(c&31);c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)c=-1073741824;else c=k[(k[h>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;h=(k[g>>2]|0)+(c>>>5<<2)|0;k[h>>2]=k[h>>2]|1<<(c&31);return}function Wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0;h=j[c>>1]|0;l=j[c+2>>1]|0;i=j[c+4>>1]|0;g=j[c+6>>1]|0;c=(((h&65535^318)+239^l&65535)+239^i&65535)+239^g&65535;if(!b){l=0;return l|0}e=b+-1|0;d=(e&b|0)==0;if(d)f=c&e;else f=(c>>>0)%(b>>>0)|0;c=k[a+(f<<2)>>2]|0;if(!c){l=0;return l|0}c=k[c>>2]|0;if(!c){l=0;return l|0}if(d){while(1){if((k[c+4>>2]&e|0)!=(f|0)){c=0;a=20;break}if((((j[c+8>>1]|0)==h<<16>>16?(j[c+10>>1]|0)==l<<16>>16:0)?(j[c+12>>1]|0)==i<<16>>16:0)?(j[c+14>>1]|0)==g<<16>>16:0){a=20;break}c=k[c>>2]|0;if(!c){c=0;a=20;break}}if((a|0)==20)return c|0}else{while(1){if((((k[c+4>>2]|0)>>>0)%(b>>>0)|0|0)!=(f|0)){c=0;a=20;break}if((((j[c+8>>1]|0)==h<<16>>16?(j[c+10>>1]|0)==l<<16>>16:0)?(j[c+12>>1]|0)==i<<16>>16:0)?(j[c+14>>1]|0)==g<<16>>16:0){a=20;break}c=k[c>>2]|0;if(!c){c=0;a=20;break}}if((a|0)==20)return c|0}return 0}function Xc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=a+8|0;d=k[m>>2]|0;n=a+4|0;c=k[n>>2]|0;if(d-c>>2>>>0>=b>>>0){Ke(c|0,0,b<<2|0)|0;k[n>>2]=c+(b<<2);return}f=k[a>>2]|0;i=c-f>>2;j=i+b|0;if(j>>>0>1073741823)Ba(11055,11078,304,11175);l=f;g=d-f|0;h=g>>1;h=g>>2>>>0<536870911?(h>>>0>>0?j:h):1073741823;if(!h)g=0;else{if(h>>>0>1073741823){n=Da(4)|0;k[n>>2]=5228;ra(n|0,736,67)}e=h<<2;e=(e|0)==0?1:e;while(1){d=Xa(e)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}g=d}d=g+(i<<2)|0;Ke(d|0,0,b<<2|0)|0;e=d;h=g+(h<<2)|0;g=g+(j<<2)|0;if((c|0)!=(l|0)){do{c=c+-4|0;j=k[c>>2]|0;k[c>>2]=0;k[d+-4>>2]=j;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]=h;e=f;if((c|0)!=(e|0))do{c=c+-4|0;d=k[c>>2]|0;k[c>>2]=0;if(d|0)Ja[k[(k[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!f)return;gb(f);return}function Yc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;h=i[c>>0]|0;l=i[c+1>>0]|0;j=i[c+2>>0]|0;g=i[c+3>>0]|0;c=(((h&255^318)+239^l&255)+239^j&255)+239^g&255;if(!b){l=0;return l|0}e=b+-1|0;d=(e&b|0)==0;if(d)f=c&e;else f=(c>>>0)%(b>>>0)|0;c=k[a+(f<<2)>>2]|0;if(!c){l=0;return l|0}c=k[c>>2]|0;if(!c){l=0;return l|0}if(d){while(1){if((k[c+4>>2]&e|0)!=(f|0)){c=0;a=20;break}if((((i[c+8>>0]|0)==h<<24>>24?(i[c+9>>0]|0)==l<<24>>24:0)?(i[c+10>>0]|0)==j<<24>>24:0)?(i[c+11>>0]|0)==g<<24>>24:0){a=20;break}c=k[c>>2]|0;if(!c){c=0;a=20;break}}if((a|0)==20)return c|0}else{while(1){if((((k[c+4>>2]|0)>>>0)%(b>>>0)|0|0)!=(f|0)){c=0;a=20;break}if((((i[c+8>>0]|0)==h<<24>>24?(i[c+9>>0]|0)==l<<24>>24:0)?(i[c+10>>0]|0)==j<<24>>24:0)?(i[c+11>>0]|0)==g<<24>>24:0){a=20;break}c=k[c>>2]|0;if(!c){c=0;a=20;break}}if((a|0)==20)return c|0}return 0}function Zc(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;f=k[j>>2]|0;l=a+4|0;d=k[l>>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[l>>2]|0)+12|0;k[l>>2]=d;b=b+-1|0}while((b|0)!=0);return}e=k[a>>2]|0;g=(d-e|0)/12|0;d=g+b|0;if(d>>>0>357913941)Ba(11055,11078,304,11175);h=(f-e|0)/12|0;i=h<<1;i=h>>>0<178956970?(i>>>0>>0?d:i):357913941;if(!i)d=0;else{if(i>>>0>357913941){l=Da(4)|0;k[l>>2]=5228;ra(l|0,736,67)}e=i*12|0;e=(e|0)==0?1:e;while(1){d=Xa(e)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}}h=d+(g*12|0)|0;e=h;g=h;do{k[e>>2]=k[c>>2];k[e+4>>2]=k[c+4>>2];k[e+8>>2]=k[c+8>>2];e=g+12|0;g=e;b=b+-1|0}while((b|0)!=0);e=k[a>>2]|0;f=(k[l>>2]|0)-e|0;b=h+(((f|0)/-12|0)*12|0)|0;if((f|0)>0)xe(b|0,e|0,f|0)|0;k[a>>2]=b;k[l>>2]=g;k[j>>2]=d+(i*12|0);if(!e)return;gb(e);return}function _c(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;k[a>>2]=2872;b=k[a+52>>2]|0;c=b;if(b|0){d=a+56|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+40>>2]|0;c=b;if(b|0){d=a+44|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+28>>2]|0;c=b;if(b|0){d=a+32|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+16>>2]|0;c=b;if(b|0){d=a+20|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}h=a+4|0;b=k[h>>2]|0;if(!b)return;g=a+8|0;c=k[g>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;k[g>>2]=a;f=k[a>>2]|0;k[a>>2]=0;if(f|0){c=k[f+68>>2]|0;d=c;if(c|0){e=f+72|0;a=k[e>>2]|0;if((a|0)!=(c|0))k[e>>2]=a+(~((a+-4-d|0)>>>2)<<2);gb(c)}a=f+64|0;c=k[a>>2]|0;k[a>>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;gb(d)}gb(c)}gb(f)}c=k[g>>2]|0}while((c|0)!=(b|0));b=k[h>>2]|0}gb(b);return}function $c(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;k[a>>2]=4580;k[a+4>>2]=k[b+4>>2];f=a+8|0;k[f>>2]=0;g=a+12|0;k[g>>2]=0;h=a+16|0;k[h>>2]=0;i=b+12|0;c=k[i>>2]|0;if(c|0){if((c|0)<0)Ba(11055,11078,304,11175);e=((c+-1|0)>>>5)+1|0;d=e<<2;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[f>>2]=c;k[g>>2]=0;k[h>>2]=e;h=k[b+8>>2]|0;i=k[i>>2]|0;zc(f,h,0,h+(i>>>5<<2)|0,i&31)}h=a+20|0;k[h>>2]=0;i=a+24|0;k[i>>2]=0;f=a+28|0;k[f>>2]=0;g=b+24|0;c=k[g>>2]|0;if(!c)return;if((c|0)<0)Ba(11055,11078,304,11175);e=((c+-1|0)>>>5)+1|0;d=e<<2;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[h>>2]=c;k[i>>2]=0;k[f>>2]=e;a=k[b+20>>2]|0;b=k[g>>2]|0;zc(h,a,0,a+(b>>>5<<2)|0,b&31);return}function ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=k[c>>2]|0;i=k[c+4>>2]|0;j=k[c+8>>2]|0;g=k[c+12>>2]|0;c=(((h^318)+239^i)+239^j)+239^g;if(!b){j=0;return j|0}e=b+-1|0;d=(e&b|0)==0;if(d)f=c&e;else f=(c>>>0)%(b>>>0)|0;c=k[a+(f<<2)>>2]|0;if(!c){j=0;return j|0}c=k[c>>2]|0;if(!c){j=0;return j|0}if(d){while(1){if((k[c+4>>2]&e|0)!=(f|0)){c=0;a=20;break}if((((k[c+8>>2]|0)==(h|0)?(k[c+12>>2]|0)==(i|0):0)?(k[c+16>>2]|0)==(j|0):0)?(k[c+20>>2]|0)==(g|0):0){a=20;break}c=k[c>>2]|0;if(!c){c=0;a=20;break}}if((a|0)==20)return c|0}else{while(1){if((((k[c+4>>2]|0)>>>0)%(b>>>0)|0|0)!=(f|0)){c=0;a=20;break}if((((k[c+8>>2]|0)==(h|0)?(k[c+12>>2]|0)==(i|0):0)?(k[c+16>>2]|0)==(j|0):0)?(k[c+20>>2]|0)==(g|0):0){a=20;break}c=k[c>>2]|0;if(!c){c=0;a=20;break}}if((a|0)==20)return c|0}return 0}function bd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;o=r;r=r+16|0;a=o;j=k[b>>2]|0;n=b+8|0;m=k[n>>2]|0;n=k[n+4>>2]|0;f=b+16|0;e=k[f>>2]|0;f=k[f+4>>2]|0;i[a>>0]=0;i[a+1>>0]=0;i[a+2>>0]=0;i[a+3>>0]=0;i[a+4>>0]=0;i[a+5>>0]=0;g=Yf(e|0,f|0,5,0)|0;h=L;if(!((n|0)<(h|0)|(n|0)==(h|0)&m>>>0>>0)?(d=j+e|0,i[a>>0]=i[d>>0]|0,i[a+1>>0]=i[d+1>>0]|0,i[a+2>>0]=i[d+2>>0]|0,i[a+3>>0]=i[d+3>>0]|0,i[a+4>>0]=i[d+4>>0]|0,(i[a>>0]|0)==68):0){d=11049;do{a=a+1|0;d=d+1|0;b=i[a>>0]|0;c=i[d>>0]|0}while(!(b<<24>>24==0?1:b<<24>>24!=c<<24>>24));d=Yf(e|0,f|0,6,0)|0;a=L;if((((n|0)>(h|0)|(n|0)==(h|0)&m>>>0>g>>>0)&b<<24>>24==c<<24>>24&((n|0)>(a|0)|(n|0)==(a|0)&m>>>0>d>>>0)?(p=Yf(e|0,f|0,7,0)|0,h=L,(n|0)>(h|0)|(n|0)==(h|0)&m>>>0>p>>>0):0)?(d=Yf(e|0,f|0,8,0)|0,c=L,h=Yf(e|0,f|0,11,0)|0,g=L,!((n|0)<(c|0)|(n|0)==(c|0)&m>>>0<=d>>>0|((n|0)<(g|0)|(n|0)==(g|0)&m>>>0>>0))):0){p=l[j+p>>0]|0;r=o;return p|0}}p=-1;r=o;return p|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;k[a>>2]=4536;k[a+4>>2]=k[b+4>>2];f=a+8|0;k[f>>2]=0;g=a+12|0;k[g>>2]=0;h=a+16|0;k[h>>2]=0;i=b+12|0;c=k[i>>2]|0;if(c|0){if((c|0)<0)Ba(11055,11078,304,11175);e=((c+-1|0)>>>5)+1|0;d=e<<2;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[f>>2]=c;k[g>>2]=0;k[h>>2]=e;h=k[b+8>>2]|0;i=k[i>>2]|0;zc(f,h,0,h+(i>>>5<<2)|0,i&31)}h=a+20|0;k[h>>2]=0;i=a+24|0;k[i>>2]=0;f=a+28|0;k[f>>2]=0;g=b+24|0;c=k[g>>2]|0;if(!c)return;if((c|0)<0)Ba(11055,11078,304,11175);e=((c+-1|0)>>>5)+1|0;d=e<<2;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}k[h>>2]=c;k[i>>2]=0;k[f>>2]=e;a=k[b+20>>2]|0;b=k[g>>2]|0;zc(h,a,0,a+(b>>>5<<2)|0,b&31);return}function dd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=a+20|0;e=k[h>>2]|0;g=e+8|0;f=k[g+4>>2]|0;b=e+16|0;d=b;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((f|0)>(d|0)|((f|0)==(d|0)?(k[g>>2]|0)>>>0>c>>>0:0))){h=0;return h|0}e=i[(k[e>>2]|0)+c>>0]|0;f=Yf(c|0,d|0,1,0)|0;g=b;k[g>>2]=f;k[g+4>>2]=L;g=e&255;e=e<<24>>24==0;a:do if(!e){b=0;while(1){if(!(Pa[k[(k[a>>2]|0)+16>>2]&63](a,b)|0)){b=0;break}b=b+1|0;if((b|0)>=(g|0))break a}return b|0}while(0);f=a+8|0;b=k[f>>2]|0;c=k[a+12>>2]|0;b:do if((b|0)!=(c|0)){d=a+4|0;while(1){j=k[b>>2]|0;b=b+4|0;if(!(Ha[k[(k[j>>2]|0)+8>>2]&31](j,a,k[d>>2]|0)|0)){b=0;break}if((b|0)==(c|0))break b}return b|0}while(0);c:do if(!e){b=0;while(1){j=k[(k[f>>2]|0)+(b<<2)>>2]|0;b=b+1|0;if(!(Pa[k[(k[j>>2]|0)+12>>2]&63](j,k[h>>2]|0)|0)){b=0;break}if((b|0)>=(g|0))break c}return b|0}while(0);if(!(La[k[(k[a>>2]|0)+28>>2]&127](a)|0)){j=0;return j|0}j=La[k[(k[a>>2]|0)+32>>2]&127](a)|0;return j|0}function ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;e=b+8|0;j=e;g=k[j>>2]|0;j=k[j+4>>2]|0;f=b+16|0;d=f;c=k[d>>2]|0;d=Yf(c|0,k[d+4>>2]|0,4,0)|0;h=L;if((j|0)<(h|0)|(j|0)==(h|0)&g>>>0>>0){j=0;return j|0}j=a+12|0;c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[j>>0]=c;i[j+1>>0]=c>>8;i[j+2>>0]=c>>16;i[j+3>>0]=c>>24;j=f;g=k[j>>2]|0;j=k[j+4>>2]|0;d=Yf(g|0,j|0,4,0)|0;h=f;k[h>>2]=d;k[h+4>>2]=L;h=k[e>>2]|0;e=k[e+4>>2]|0;j=Yf(g|0,j|0,8,0)|0;g=L;if((e|0)<(g|0)|(e|0)==(g|0)&h>>>0>>0){j=0;return j|0}h=a+16|0;j=(k[b>>2]|0)+d|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;i[h>>0]=j;i[h+1>>0]=j>>8;i[h+2>>0]=j>>16;i[h+3>>0]=j>>24;h=f;h=Yf(k[h>>2]|0,k[h+4>>2]|0,4,0)|0;d=f;k[d>>2]=h;k[d+4>>2]=L;j=1-c+j|0;k[a+20>>2]=j;c=(j|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(j&1|0){j=1;return j|0}k[d>>2]=c+-1;j=1;return j|0}function fd(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;j=r;r=r+16|0;i=j;k[i>>2]=c;h=j+8|0;e=k[a+8>>2]|0;f=(c|0)/3|0;if((c|0)<=-3)Ba(10225,10250,63,10264);d=k[e+80>>2]|0;if((f|0)>=(((k[e+84>>2]|0)-d|0)/12|0|0))Ba(10269,10250,64,10264);d=k[d+(f*12|0)+(((c|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))Pd(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)){Pd(e,i);c=k[d>>2]|0;i=c+24|0;h=k[i>>2]|0;c=c+12|0;c=k[c>>2]|0;c=c+(b<<2)|0;k[c>>2]=h;c=k[i>>2]|0;c=c+1|0;k[i>>2]=c;r=j;return}else{k[g>>2]=c;k[f>>2]=g+4;c=e;i=c+24|0;h=k[i>>2]|0;c=c+12|0;c=k[c>>2]|0;c=c+(b<<2)|0;k[c>>2]=h;c=k[i>>2]|0;c=c+1|0;k[i>>2]=c;r=j;return}}function gd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;do if((a|0)==(k[b+8>>2]|0)){if((k[b+4>>2]|0)==(c|0)?(f=b+28|0,(k[f>>2]|0)!=1):0)k[f>>2]=d}else{if((a|0)!=(k[b>>2]|0)){h=k[a+8>>2]|0;Ia[k[(k[h>>2]|0)+24>>2]&3](h,b,c,d,e);break}if((k[b+16>>2]|0)!=(c|0)?(h=b+20|0,(k[h>>2]|0)!=(c|0)):0){k[b+32>>2]=d;g=b+44|0;if((k[g>>2]|0)==4)break;f=b+52|0;i[f>>0]=0;d=b+53|0;i[d>>0]=0;a=k[a+8>>2]|0;Oa[k[(k[a>>2]|0)+20>>2]&3](a,b,c,c,1,e);if(i[d>>0]|0)if(!(i[f>>0]|0)){f=1;d=13}else d=17;else{f=0;d=13}do if((d|0)==13){k[h>>2]=c;c=b+40|0;k[c>>2]=(k[c>>2]|0)+1;if((k[b+36>>2]|0)==1?(k[b+24>>2]|0)==2:0){i[b+54>>0]=1;if(f){d=17;break}else{f=4;break}}if(f)d=17;else f=4}while(0);if((d|0)==17)f=3;k[g>>2]=f;break}if((d|0)==1)k[b+32>>2]=1}while(0);return}function hd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=(k[b+4>>2]|0)-(k[b>>2]|0)>>2;h=c+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;j=c+16|0;e=j;d=k[e>>2]|0;e=k[e+4>>2]|0;if((h|0)>(e|0)|(h|0)==(e|0)&g>>>0>d>>>0){f=i[(k[c>>2]|0)+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;n=j;k[n>>2]=d;k[n+4>>2]=e;if(f<<24>>24!=-2)l=3}else{f=0;l=3}if((l|0)==3){if((h|0)>(e|0)|(h|0)==(e|0)&g>>>0>d>>>0){n=i[(k[c>>2]|0)+d>>0]|0;l=Yf(d|0,e|0,1,0)|0;d=j;k[d>>2]=l;k[d+4>>2]=L;d=n}else d=0;n=a+28|0;l=Ha[k[(k[a>>2]|0)+32>>2]&31](a,f<<24>>24,d<<24>>24)|0;d=k[n>>2]|0;k[n>>2]=l;if(d|0)Ja[k[(k[d>>2]|0)+4>>2]&127](d)}d=k[a+28>>2]|0;if(d|0?!(Pa[k[(k[a>>2]|0)+20>>2]&63](a,d)|0):0){n=0;return n|0}if(!(Ha[k[(k[a>>2]|0)+28>>2]&31](a,b,c)|0)){n=0;return n|0}n=Pa[k[(k[a>>2]|0)+40>>2]&63](a,m)|0;return n|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;o=r;r=r+32|0;l=o;h=o+16|0;m=a+28|0;d=k[m>>2]|0;k[h>>2]=d;n=a+20|0;d=(k[n>>2]|0)-d|0;k[h+4>>2]=d;k[h+8>>2]=b;k[h+12>>2]=c;i=a+60|0;j=a+44|0;e=2;d=d+c|0;while(1){k[l>>2]=k[i>>2];k[l+4>>2]=h;k[l+8>>2]=e;b=va(146,l|0)|0;if(b>>>0>4294963200){k[2868]=0-b;b=-1}if((d|0)==(b|0)){b=5;break}if((b|0)<0){b=7;break}g=d-b|0;d=k[h+4>>2]|0;if(b>>>0<=d>>>0)if((e|0)==2){k[m>>2]=(k[m>>2]|0)+b;e=2;f=h}else f=h;else{f=k[j>>2]|0;k[m>>2]=f;k[n>>2]=f;b=b-d|0;e=e+-1|0;f=h+8|0;d=k[h+12>>2]|0}k[f>>2]=(k[f>>2]|0)+b;k[f+4>>2]=d-b;d=g;h=f}if((b|0)==5){l=k[j>>2]|0;k[a+16>>2]=l+(k[a+48>>2]|0);a=l;k[m>>2]=a;k[n>>2]=a}else if((b|0)==7){k[a+16>>2]=0;k[m>>2]=0;k[n>>2]=0;k[a>>2]=k[a>>2]|32;if((e|0)==2)c=0;else c=c-(k[h+4>>2]|0)|0}r=o;return c|0}function jd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,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;f=d;if(e-d>>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[n>>2]=f+(b<<2);return}l=k[a>>2]|0;j=d-l|0;i=j>>2;d=i+b|0;if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=e-l|0;h=g>>1;h=g>>2>>>0<536870911?(h>>>0>>0?d:h):1073741823;if(!h)d=0;else{if(h>>>0>1073741823){n=Da(4)|0;k[n>>2]=5228;ra(n|0,736,67)}e=h<<2;e=(e|0)==0?1:e;while(1){d=Xa(e)|0;if(d|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){d=0;break}Na[d&1]()}}g=d+(i<<2)|0;e=b;f=g;while(1){k[f>>2]=k[c>>2];e=e+-1|0;if(!e)break;else f=f+4|0}e=g+(0-i<<2)|0;if((j|0)>0)xe(e|0,l|0,j|0)|0;k[a>>2]=e;k[n>>2]=g+(b<<2);k[m>>2]=d+(h<<2);if(!l)return;gb(l);return}function kd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;h=k[l>>2]|0;e=h;f=c;if((h|0)==(c|0)){g=0;h=a+20|0;b=0}else{h=a+20|0;g=(k[h>>2]|0)+b|0;g=(k[c+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(g|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[h>>2]=0;b=e-f>>2;if(b>>>0>2)do{gb(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{gb(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;gb(b);return}function ld(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;e=k[i>>2]|0;j=a+4|0;c=k[j>>2]|0;if(e-c>>3>>>0>=b>>>0){do{i=c;k[i>>2]=0;k[i+4>>2]=0;c=(k[j>>2]|0)+8|0;k[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}d=k[a>>2]|0;f=c-d>>3;c=f+b|0;if(c>>>0>536870911)Ba(11055,11078,304,11175);g=e-d|0;h=g>>2;h=g>>3>>>0<268435455?(h>>>0>>0?c:h):536870911;if(!h)c=0;else{if(h>>>0>536870911){j=Da(4)|0;k[j>>2]=5228;ra(j|0,736,67)}d=h<<3;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}}g=c+(f<<3)|0;d=g;f=g;do{e=d;k[e>>2]=0;k[e+4>>2]=0;d=f+8|0;f=d;b=b+-1|0}while((b|0)!=0);d=k[a>>2]|0;e=(k[j>>2]|0)-d|0;b=g+(0-(e>>3)<<3)|0;if((e|0)>0)xe(b|0,d|0,e|0)|0;k[a>>2]=b;k[j>>2]=f;k[i>>2]=c+(h<<3);if(!d)return;gb(d);return}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,j=0,l=0,m=0;l=a+4|0;c=k[l>>2]|0;m=k[a>>2]|0;h=(c-m|0)/12|0;d=h+1|0;if(d>>>0>357913941)Ba(11055,11078,304,11175);j=m;g=c;i=a+8|0;f=((k[i>>2]|0)-m|0)/12|0;e=f<<1;e=f>>>0<178956970?(e>>>0>>0?d:e):357913941;if(!e)d=0;else{if(e>>>0>357913941){m=Da(4)|0;k[m>>2]=5228;ra(m|0,736,67)}d=e*12|0;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=c}c=d+(h*12|0)|0;f=d+(e*12|0)|0;k[c>>2]=k[b>>2];k[d+(h*12|0)+4>>2]=k[b+4>>2];k[d+(h*12|0)+8>>2]=k[b+8>>2];e=c+12|0;if((g|0)!=(j|0)){d=g;do{h=d;d=d+-12|0;k[c+-12>>2]=k[d>>2];k[c+-8>>2]=k[h+-8>>2];k[c+-4>>2]=k[h+-4>>2];c=c+-12|0}while((d|0)!=(j|0))}k[a>>2]=c;k[l>>2]=e;k[i>>2]=f;if(!m)return;gb(m);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;m=r;r=r+16|0;h=m;j=a+4|0;k[j>>2]=0;if(!b){r=m;return}l=a+8|0;d=k[l>>2]|0;e=d<<5;if(e>>>0>>0){k[h>>2]=0;f=h+4|0;k[f>>2]=0;g=h+8|0;k[g>>2]=0;if((b|0)<0)Ba(11055,11078,304,11175);d=d<<6;n=b+31&-32;Td(h,e>>>0<1073741823?(d>>>0>>0?n:d):2147483647);d=k[a>>2]|0;k[a>>2]=k[h>>2];k[h>>2]=d;h=k[j>>2]|0;k[j>>2]=b;k[f>>2]=h;j=k[l>>2]|0;k[l>>2]=k[g>>2];k[g>>2]=j;if(d|0)gb(d)}else k[j>>2]=b;a=k[a>>2]|0;e=a;f=b>>>5;d=f<<2;if(!(i[c>>0]|0)){Ke(a|0,0,d|0)|0;d=b-(f<<5)|0;a=e+(f<<2)|0;if(!d){r=m;return}k[a>>2]=k[a>>2]&~(-1>>>(32-d|0));r=m;return}else{Ke(a|0,-1,d|0)|0;d=b-(f<<5)|0;a=e+(f<<2)|0;if(!d){r=m;return}k[a>>2]=k[a>>2]|-1>>>(32-d|0);r=m;return}}function od(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;d=b+8|0;j=d;g=k[j>>2]|0;j=k[j+4>>2]|0;e=b+16|0;f=e;c=k[f>>2]|0;f=Yf(c|0,k[f+4>>2]|0,4,0)|0;h=L;if((j|0)<(h|0)|(j|0)==(h|0)&g>>>0>>0){j=0;return j|0}j=a+12|0;g=(k[b>>2]|0)+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;i[j>>0]=g;i[j+1>>0]=g>>8;i[j+2>>0]=g>>16;i[j+3>>0]=g>>24;j=e;g=k[j>>2]|0;j=k[j+4>>2]|0;c=Yf(g|0,j|0,4,0)|0;f=e;k[f>>2]=c;k[f+4>>2]=L;f=d;h=k[f>>2]|0;f=k[f+4>>2]|0;j=Yf(g|0,j|0,8,0)|0;g=L;if((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0){j=0;return j|0}h=a+16|0;j=(k[b>>2]|0)+c|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;i[h>>0]=j;i[h+1>>0]=j>>8;i[h+2>>0]=j>>16;i[h+3>>0]=j>>24;h=e;h=Yf(k[h>>2]|0,k[h+4>>2]|0,4,0)|0;j=e;k[j>>2]=h;k[j+4>>2]=L;j=1;return j|0}function pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,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 Ld(a,1048576-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else ld(d,c-f|0);if(!c){j=0;return j|0}g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>1048576){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==1048576;return j|0}function qd(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 Ld(a,4096-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else ld(d,c-f|0);if(!c){j=0;return j|0}g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>4096){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==4096;return j|0}function rd(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;d=(k[b+4>>2]|0)-(k[b>>2]|0)|0;m=d>>2;l=a+8|0;j=k[(k[l>>2]|0)+40>>2]|0;a=(j|0)>-1?j:-1;a=(a|0)==0?1:a;while(1){b=Xa(a)|0;if(b|0){i=b;break}b=k[2993]|0;k[2993]=b+0;if(!b){i=0;break}Na[b&1]()}h=c+8|0;if((d|0)<=0){c=1;gb(i);return c|0}d=c+16|0;b=0;a=0;while(1){o=h;n=k[o>>2]|0;o=k[o+4>>2]|0;f=d;e=k[f>>2]|0;f=Yf(e|0,k[f+4>>2]|0,j|0,0)|0;g=L;if((o|0)<(g|0)|(o|0)==(g|0)&n>>>0>>0){b=0;a=9;break}xe(i|0,(k[c>>2]|0)+e|0,j|0)|0;o=d;k[o>>2]=f;k[o+4>>2]=g;xe((k[k[(k[l>>2]|0)+64>>2]>>2]|0)+b|0,i|0,j|0)|0;a=a+1|0;if((a|0)>=(m|0)){b=1;a=9;break}else b=b+j|0}if((a|0)==9){gb(i);return b|0}return 0}function sd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+64|0;o=s;q=k[a>>2]|0;p=a+(k[q+-8>>2]|0)|0;q=k[q+-4>>2]|0;k[o>>2]=b;k[o+4>>2]=a;k[o+8>>2]=696;a=o+12|0;c=o+16|0;d=o+20|0;e=o+24|0;f=o+28|0;g=o+32|0;h=o+40|0;l=(q|0)==(b|0);m=a;n=m+40|0;do{k[m>>2]=0;m=m+4|0}while((m|0)<(n|0));j[a+40>>1]=0;i[a+42>>0]=0;a:do if(l){k[o+48>>2]=1;Oa[k[(k[b>>2]|0)+20>>2]&3](b,o,p,p,1,0);a=(k[e>>2]|0)==1?p:0}else{Ia[k[(k[q>>2]|0)+24>>2]&3](q,o,p,1,0);switch(k[o+36>>2]|0){case 0:{a=(k[h>>2]|0)==1&(k[f>>2]|0)==1&(k[g>>2]|0)==1?k[d>>2]|0:0;break a}case 1:break;default:{a=0;break a}}if((k[e>>2]|0)!=1?!((k[h>>2]|0)==0&(k[f>>2]|0)==1&(k[g>>2]|0)==1):0){a=0;break}a=k[c>>2]|0}while(0);r=s;return a|0}function td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;while(1){c=Xa(24)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}h=c+4|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[h+12>>2]=0;k[h+16>>2]=0;k[c>>2]=4316;h=c;g=a+8|0;f=a+12|0;c=k[f>>2]|0;a=k[g>>2]|0;d=c-a>>2;do if((d|0)<=(b|0)){e=b+1|0;if(e>>>0>d>>>0){Xc(g,e-d|0);break}if(e>>>0>>0?(i=a+(e<<2)|0,(c|0)!=(i|0)):0)do{e=c+-4|0;k[f>>2]=e;c=k[e>>2]|0;k[e>>2]=0;if(c|0)Ja[k[(k[c>>2]|0)+4>>2]&127](c);c=k[f>>2]|0}while((c|0)!=(i|0))}while(0);i=(k[g>>2]|0)+(b<<2)|0;c=k[i>>2]|0;k[i>>2]=h;if(!c)return 1;Ja[k[(k[c>>2]|0)+4>>2]&127](c);return 1}function ud(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=$a(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){fc(a,b);return}if(b>>>0>=d>>>0)return;c=~~+Z(+(+((k[a+12>>2]|0)>>>0)/+o[a+20>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ba(c+-1|0)|0);else c=$a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;fc(a,b);return}function vd(a){a=a|0;var b=0,c=0,d=0,e=0;e=a+84|0;b=k[e>>2]|0;if(!b){b=a+8|0;e=k[(k[b>>2]|0)+64>>2]|0;e=(k[e+4>>2]|0)-(k[e>>2]|0)|0;c=(e|0)/12|0;if((e|0)>0)a=0;else return 1;do{Ab(b,a*3|0);a=a+1|0}while((a|0)<(c|0));return 1}d=k[b>>2]|0;if((k[b+4>>2]|0)==(d|0))return 1;c=a+8|0;b=0;a=d;do{Ab(c,k[a+(b<<2)>>2]|0);b=b+1|0;d=k[e>>2]|0;a=k[d>>2]|0}while(b>>>0<(k[d+4>>2]|0)-a>>2>>>0);return 1}function wd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;if((La[k[(k[b>>2]|0)+20>>2]&127](b)|0)<=0){b=1;return b|0}f=a+4|0;e=0;while(1){a=k[(k[f>>2]|0)+4>>2]|0;c=Pa[k[(k[b>>2]|0)+24>>2]&63](b,e)|0;if((c|0)==-1|(c|0)>3){a=0;c=12;break}d=k[a+16+(c*12|0)>>2]|0;if(((k[a+16+(c*12|0)+4>>2]|0)-d|0)<=0){a=0;c=12;break}a=k[d>>2]|0;if((a|0)==-1){a=0;c=12;break}c=k[(k[f>>2]|0)+4>>2]|0;if((a|0)<=-1){c=8;break}d=k[c+4>>2]|0;if(((k[c+8>>2]|0)-d>>2|0)<=(a|0)){c=10;break}e=e+1|0;if(!(Pa[k[(k[b>>2]|0)+28>>2]&63](b,k[d+(a<<2)>>2]|0)|0)){a=0;c=12;break}if((e|0)>=(La[k[(k[b>>2]|0)+20>>2]&127](b)|0)){a=1;c=12;break}}if((c|0)==8)Ba(9441,9457,62,9485);else if((c|0)==10)Ba(9495,9457,63,9485);else if((c|0)==12)return a|0;return 0} +function Ua(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=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,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0;jd=r;r=r+64|0;id=jd;gd=b+8|0;h=gd;fd=k[h>>2]|0;h=k[h+4>>2]|0;hd=b+16|0;g=hd;f=k[g>>2]|0;g=k[g+4>>2]|0;if(!((h|0)>(g|0)|(h|0)==(g|0)&fd>>>0>f>>>0)){id=0;r=jd;return id|0}j=k[b>>2]|0;e=i[j+f>>0]|0;ed=Yf(f|0,g|0,1,0)|0;d=hd;k[d>>2]=ed;k[d+4>>2]=L;do switch(e<<24>>24){case 1:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));p=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;a:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[p>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[p>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;while(1){if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break a}j=k[b>>2]|0;h=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;g=L;e=hd;k[e>>2]=d;k[e+4>>2]=g;e=h&255;h=e&3;e=e>>>2;if(h){f=0;do{if(!((o|0)>(g|0)|(o|0)==(g|0)&n>>>0>d>>>0)){h=0;break a}fd=i[j+d>>0]|0;d=Yf(d|0,g|0,1,0)|0;g=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=g;e=(fd&255)<<(f<<3|6)|e;f=f+1|0}while((f|0)<(h|0))}f=k[id>>2]|0;k[f+(m<<2)>>2]=e;m=m+1|0;e=k[p>>2]|0;if(m>>>0>=e>>>0)break;else e=g}if(!(qd(id+16|0,f,e)|0)){h=0;break}}f=(a|0)>0;if(((!(f&(k[p>>2]|0)==0)?(u=gd,t=k[u>>2]|0,u=k[u+4>>2]|0,w=hd,v=k[w>>2]|0,w=Yf(v|0,k[w+4>>2]|0,8,0)|0,x=L,!((u|0)<(x|0)|(u|0)==(x|0)&t>>>0>>0)):0)?(F=k[b>>2]|0,G=F+v|0,mb=G,mb=l[mb>>0]|l[mb+1>>0]<<8|l[mb+2>>0]<<16|l[mb+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,b=hd,k[b>>2]=w,k[b+4>>2]=x,b=Nf(t|0,u|0,w|0,x|0)|0,gd=L,!(G>>>0>gd>>>0|(G|0)==(gd|0)&mb>>>0>b>>>0)):0)?(ob=F+w|0,b=Yf(mb|0,G|0,w|0,x|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(mb|0)>=1):0){n=id+40|0;k[n>>2]=ob;d=mb+-1|0;e=ob+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;vb=(l[e>>0]|0)&63;jb=id+48|0;k[jb>>2]=vb;break}case 1:{if((mb|0)<2){h=0;break a}k[id+44>>2]=mb+-2;vb=ob+mb+-2|0;vb=(l[vb+1>>0]|0)<<8&16128|(l[vb>>0]|0);jb=id+48|0;k[jb>>2]=vb;break}case 2:{if((mb|0)<3){h=0;break a}k[id+44>>2]=mb+-3;vb=ob+mb+-3|0;vb=(l[vb+1>>0]|0)<<8|(l[vb>>0]|0)|(l[vb+2>>0]|0)<<16&4128768;jb=id+48|0;k[jb>>2]=vb;break}case 3:{k[id+44>>2]=mb+-4;vb=ob+mb+-4|0;vb=(l[vb+2>>0]|0)<<16|(l[vb+3>>0]|0)<<24&1056964608|(l[vb+1>>0]|0)<<8|(l[vb>>0]|0);jb=id+48|0;k[jb>>2]=vb;break}default:{}}d=vb+16384|0;k[jb>>2]=d;d=d>>>0>4194303;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){b:do if(d>>>0<16384){e=k[h>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<16384)}while(0);gd=d&4095;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>12)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 2:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));p=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;c:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[p>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[p>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break c}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break c}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}g=k[id>>2]|0;k[g+(m<<2)>>2]=f;m=m+1|0;f=k[p>>2]|0}while(m>>>0>>0);if(!(qd(id+16|0,g,f)|0)){h=0;break}}f=(a|0)>0;if(((!(f&(k[p>>2]|0)==0)?(da=gd,ca=k[da>>2]|0,da=k[da+4>>2]|0,fa=hd,ea=k[fa>>2]|0,fa=Yf(ea|0,k[fa+4>>2]|0,8,0)|0,ga=L,!((da|0)<(ga|0)|(da|0)==(ga|0)&ca>>>0>>0)):0)?(oa=k[b>>2]|0,pa=oa+ea|0,Bb=pa,Bb=l[Bb>>0]|l[Bb+1>>0]<<8|l[Bb+2>>0]<<16|l[Bb+3>>0]<<24,pa=pa+4|0,pa=l[pa>>0]|l[pa+1>>0]<<8|l[pa+2>>0]<<16|l[pa+3>>0]<<24,b=hd,k[b>>2]=fa,k[b+4>>2]=ga,b=Nf(ca|0,da|0,fa|0,ga|0)|0,gd=L,!(pa>>>0>gd>>>0|(pa|0)==(gd|0)&Bb>>>0>b>>>0)):0)?(Db=oa+fa|0,b=Yf(Bb|0,pa|0,fa|0,ga|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(Bb|0)>=1):0){n=id+40|0;k[n>>2]=Db;d=Bb+-1|0;e=Db+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;Nb=(l[e>>0]|0)&63;fb=id+48|0;k[fb>>2]=Nb;break}case 1:{if((Bb|0)<2){h=0;break c}k[id+44>>2]=Bb+-2;Nb=Db+Bb+-2|0;Nb=(l[Nb+1>>0]|0)<<8&16128|(l[Nb>>0]|0);fb=id+48|0;k[fb>>2]=Nb;break}case 2:{if((Bb|0)<3){h=0;break c}k[id+44>>2]=Bb+-3;Nb=Db+Bb+-3|0;Nb=(l[Nb+1>>0]|0)<<8|(l[Nb>>0]|0)|(l[Nb+2>>0]|0)<<16&4128768;fb=id+48|0;k[fb>>2]=Nb;break}case 3:{k[id+44>>2]=Bb+-4;Nb=Db+Bb+-4|0;Nb=(l[Nb+2>>0]|0)<<16|(l[Nb+3>>0]|0)<<24&1056964608|(l[Nb+1>>0]|0)<<8|(l[Nb>>0]|0);fb=id+48|0;k[fb>>2]=Nb;break}default:{}}d=Nb+16384|0;k[fb>>2]=d;d=d>>>0>4194303;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){d:do if(d>>>0<16384){e=k[h>>2]|0;do{if((e|0)<=0)break d;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<16384)}while(0);gd=d&4095;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>12)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 3:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));p=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;e:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[p>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[p>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break e}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break e}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}g=k[id>>2]|0;k[g+(m<<2)>>2]=f;m=m+1|0;f=k[p>>2]|0}while(m>>>0>>0);if(!(qd(id+16|0,g,f)|0)){h=0;break}}f=(a|0)>0;if(((!(f&(k[p>>2]|0)==0)?(Ma=gd,La=k[Ma>>2]|0,Ma=k[Ma+4>>2]|0,Oa=hd,Na=k[Oa>>2]|0,Oa=Yf(Na|0,k[Oa+4>>2]|0,8,0)|0,Pa=L,!((Ma|0)<(Pa|0)|(Ma|0)==(Pa|0)&La>>>0>>0)):0)?(Qa=k[b>>2]|0,Ra=Qa+Na|0,Ob=Ra,Ob=l[Ob>>0]|l[Ob+1>>0]<<8|l[Ob+2>>0]<<16|l[Ob+3>>0]<<24,Ra=Ra+4|0,Ra=l[Ra>>0]|l[Ra+1>>0]<<8|l[Ra+2>>0]<<16|l[Ra+3>>0]<<24,b=hd,k[b>>2]=Oa,k[b+4>>2]=Pa,b=Nf(La|0,Ma|0,Oa|0,Pa|0)|0,gd=L,!(Ra>>>0>gd>>>0|(Ra|0)==(gd|0)&Ob>>>0>b>>>0)):0)?(Pb=Qa+Oa|0,b=Yf(Ob|0,Ra|0,Oa|0,Pa|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(Ob|0)>=1):0){n=id+40|0;k[n>>2]=Pb;d=Ob+-1|0;e=Pb+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;Qb=(l[e>>0]|0)&63;$a=id+48|0;k[$a>>2]=Qb;break}case 1:{if((Ob|0)<2){h=0;break e}k[id+44>>2]=Ob+-2;Qb=Pb+Ob+-2|0;Qb=(l[Qb+1>>0]|0)<<8&16128|(l[Qb>>0]|0);$a=id+48|0;k[$a>>2]=Qb;break}case 2:{if((Ob|0)<3){h=0;break e}k[id+44>>2]=Ob+-3;Qb=Pb+Ob+-3|0;Qb=(l[Qb+1>>0]|0)<<8|(l[Qb>>0]|0)|(l[Qb+2>>0]|0)<<16&4128768;$a=id+48|0;k[$a>>2]=Qb;break}case 3:{k[id+44>>2]=Ob+-4;Qb=Pb+Ob+-4|0;Qb=(l[Qb+2>>0]|0)<<16|(l[Qb+3>>0]|0)<<24&1056964608|(l[Qb+1>>0]|0)<<8|(l[Qb>>0]|0);$a=id+48|0;k[$a>>2]=Qb;break}default:{}}d=Qb+16384|0;k[$a>>2]=d;d=d>>>0>4194303;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){f:do if(d>>>0<16384){e=k[h>>2]|0;do{if((e|0)<=0)break f;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<16384)}while(0);gd=d&4095;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>12)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 4:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));p=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;g:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[p>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[p>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break g}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break g}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}g=k[id>>2]|0;k[g+(m<<2)>>2]=f;m=m+1|0;f=k[p>>2]|0}while(m>>>0>>0);if(!(qd(id+16|0,g,f)|0)){h=0;break}}f=(a|0)>0;if(((!(f&(k[p>>2]|0)==0)?(Ta=gd,Sa=k[Ta>>2]|0,Ta=k[Ta+4>>2]|0,Va=hd,Ua=k[Va>>2]|0,Va=Yf(Ua|0,k[Va+4>>2]|0,8,0)|0,Wa=L,!((Ta|0)<(Wa|0)|(Ta|0)==(Wa|0)&Sa>>>0>>0)):0)?(Xa=k[b>>2]|0,Ya=Xa+Ua|0,Rb=Ya,Rb=l[Rb>>0]|l[Rb+1>>0]<<8|l[Rb+2>>0]<<16|l[Rb+3>>0]<<24,Ya=Ya+4|0,Ya=l[Ya>>0]|l[Ya+1>>0]<<8|l[Ya+2>>0]<<16|l[Ya+3>>0]<<24,b=hd,k[b>>2]=Va,k[b+4>>2]=Wa,b=Nf(Sa|0,Ta|0,Va|0,Wa|0)|0,gd=L,!(Ya>>>0>gd>>>0|(Ya|0)==(gd|0)&Rb>>>0>b>>>0)):0)?(Sb=Xa+Va|0,b=Yf(Rb|0,Ya|0,Va|0,Wa|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(Rb|0)>=1):0){n=id+40|0;k[n>>2]=Sb;d=Rb+-1|0;e=Sb+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;Tb=(l[e>>0]|0)&63;db=id+48|0;k[db>>2]=Tb;break}case 1:{if((Rb|0)<2){h=0;break g}k[id+44>>2]=Rb+-2;Tb=Sb+Rb+-2|0;Tb=(l[Tb+1>>0]|0)<<8&16128|(l[Tb>>0]|0);db=id+48|0;k[db>>2]=Tb;break}case 2:{if((Rb|0)<3){h=0;break g}k[id+44>>2]=Rb+-3;Tb=Sb+Rb+-3|0;Tb=(l[Tb+1>>0]|0)<<8|(l[Tb>>0]|0)|(l[Tb+2>>0]|0)<<16&4128768;db=id+48|0;k[db>>2]=Tb;break}case 3:{k[id+44>>2]=Rb+-4;Tb=Sb+Rb+-4|0;Tb=(l[Tb+2>>0]|0)<<16|(l[Tb+3>>0]|0)<<24&1056964608|(l[Tb+1>>0]|0)<<8|(l[Tb>>0]|0);db=id+48|0;k[db>>2]=Tb;break}default:{}}d=Tb+16384|0;k[db>>2]=d;d=d>>>0>4194303;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){h:do if(d>>>0<16384){e=k[h>>2]|0;do{if((e|0)<=0)break h;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<16384)}while(0);gd=d&4095;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>12)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}e=k[id+16>>2]|0;f=e;if(e|0){g=id+20|0;d=k[g>>2]|0;if((d|0)!=(e|0))k[g>>2]=d+(~((d+-4-f|0)>>>2)<<2);gb(e)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 5:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));i:do if(Ac(id,b)|0){j=(a|0)>0;if(j?(k[id+12>>2]|0)==0:0){h=0;break}e=gd;d=k[e>>2]|0;e=k[e+4>>2]|0;g=hd;f=k[g>>2]|0;g=Yf(f|0,k[g+4>>2]|0,8,0)|0;h=L;if((!((e|0)<(h|0)|(e|0)==(h|0)&d>>>0>>0)?(m=k[b>>2]|0,n=m+f|0,p=n,p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24,n=n+4|0,n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24,b=hd,k[b>>2]=g,k[b+4>>2]=h,b=Nf(d|0,e|0,g|0,h|0)|0,gd=L,!(n>>>0>gd>>>0|(n|0)==(gd|0)&p>>>0>b>>>0)):0)?(q=m+g|0,b=Yf(p|0,n|0,g|0,h|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(p|0)>=1):0){n=id+40|0;k[n>>2]=q;d=p+-1|0;e=q+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;s=(l[e>>0]|0)&63;o=id+48|0;k[o>>2]=s;break}case 1:{if((p|0)<2){h=0;break i}k[id+44>>2]=p+-2;s=q+p+-2|0;s=(l[s+1>>0]|0)<<8&16128|(l[s>>0]|0);o=id+48|0;k[o>>2]=s;break}case 2:{if((p|0)<3){h=0;break i}k[id+44>>2]=p+-3;s=q+p+-3|0;s=(l[s+1>>0]|0)<<8|(l[s>>0]|0)|(l[s+2>>0]|0)<<16&4128768;o=id+48|0;k[o>>2]=s;break}case 3:{k[id+44>>2]=p+-4;s=q+p+-4|0;s=(l[s+2>>0]|0)<<16|(l[s+3>>0]|0)<<24&1056964608|(l[s+1>>0]|0)<<8|(l[s>>0]|0);o=id+48|0;k[o>>2]=s;break}default:{}}d=s+16384|0;k[o>>2]=d;d=d>>>0>4194303;if(d|j^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){j:do if(d>>>0<16384){e=k[h>>2]|0;do{if((e|0)<=0)break j;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<16384)}while(0);gd=d&4095;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>12)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 6:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));p=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;k:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[p>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[p>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break k}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break k}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}g=k[id>>2]|0;k[g+(m<<2)>>2]=f;m=m+1|0;f=k[p>>2]|0}while(m>>>0>>0);if(!(qd(id+16|0,g,f)|0)){h=0;break}}f=(a|0)>0;if(((!(f&(k[p>>2]|0)==0)?(z=gd,y=k[z>>2]|0,z=k[z+4>>2]|0,B=hd,A=k[B>>2]|0,B=Yf(A|0,k[B+4>>2]|0,8,0)|0,C=L,!((z|0)<(C|0)|(z|0)==(C|0)&y>>>0>>0)):0)?(D=k[b>>2]|0,E=D+A|0,kb=E,kb=l[kb>>0]|l[kb+1>>0]<<8|l[kb+2>>0]<<16|l[kb+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,b=hd,k[b>>2]=B,k[b+4>>2]=C,b=Nf(y|0,z|0,B|0,C|0)|0,gd=L,!(E>>>0>gd>>>0|(E|0)==(gd|0)&kb>>>0>b>>>0)):0)?(lb=D+B|0,b=Yf(kb|0,E|0,B|0,C|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(kb|0)>=1):0){n=id+40|0;k[n>>2]=lb;d=kb+-1|0;e=lb+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;nb=(l[e>>0]|0)&63;eb=id+48|0;k[eb>>2]=nb;break}case 1:{if((kb|0)<2){h=0;break k}k[id+44>>2]=kb+-2;nb=lb+kb+-2|0;nb=(l[nb+1>>0]|0)<<8&16128|(l[nb>>0]|0);eb=id+48|0;k[eb>>2]=nb;break}case 2:{if((kb|0)<3){h=0;break k}k[id+44>>2]=kb+-3;nb=lb+kb+-3|0;nb=(l[nb+1>>0]|0)<<8|(l[nb>>0]|0)|(l[nb+2>>0]|0)<<16&4128768;eb=id+48|0;k[eb>>2]=nb;break}case 3:{k[id+44>>2]=kb+-4;nb=lb+kb+-4|0;nb=(l[nb+2>>0]|0)<<16|(l[nb+3>>0]|0)<<24&1056964608|(l[nb+1>>0]|0)<<8|(l[nb>>0]|0);eb=id+48|0;k[eb>>2]=nb;break}default:{}}d=nb+16384|0;k[eb>>2]=d;d=d>>>0>4194303;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){l:do if(d>>>0<16384){e=k[h>>2]|0;do{if((e|0)<=0)break l;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<16384)}while(0);gd=d&4095;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>12)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 7:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));p=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;m:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[p>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[p>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break m}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break m}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}g=k[id>>2]|0;k[g+(m<<2)>>2]=f;m=m+1|0;f=k[p>>2]|0}while(m>>>0>>0);if(!(qd(id+16|0,g,f)|0)){h=0;break}}f=(a|0)>0;if(((!(f&(k[p>>2]|0)==0)?(I=gd,H=k[I>>2]|0,I=k[I+4>>2]|0,K=hd,J=k[K>>2]|0,K=Yf(J|0,k[K+4>>2]|0,8,0)|0,M=L,!((I|0)<(M|0)|(I|0)==(M|0)&H>>>0>>0)):0)?(N=k[b>>2]|0,O=N+J|0,pb=O,pb=l[pb>>0]|l[pb+1>>0]<<8|l[pb+2>>0]<<16|l[pb+3>>0]<<24,O=O+4|0,O=l[O>>0]|l[O+1>>0]<<8|l[O+2>>0]<<16|l[O+3>>0]<<24,b=hd,k[b>>2]=K,k[b+4>>2]=M,b=Nf(H|0,I|0,K|0,M|0)|0,gd=L,!(O>>>0>gd>>>0|(O|0)==(gd|0)&pb>>>0>b>>>0)):0)?(qb=N+K|0,b=Yf(pb|0,O|0,K|0,M|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(pb|0)>=1):0){n=id+40|0;k[n>>2]=qb;d=pb+-1|0;e=qb+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;rb=(l[e>>0]|0)&63;hb=id+48|0;k[hb>>2]=rb;break}case 1:{if((pb|0)<2){h=0;break m}k[id+44>>2]=pb+-2;rb=qb+pb+-2|0;rb=(l[rb+1>>0]|0)<<8&16128|(l[rb>>0]|0);hb=id+48|0;k[hb>>2]=rb;break}case 2:{if((pb|0)<3){h=0;break m}k[id+44>>2]=pb+-3;rb=qb+pb+-3|0;rb=(l[rb+1>>0]|0)<<8|(l[rb>>0]|0)|(l[rb+2>>0]|0)<<16&4128768;hb=id+48|0;k[hb>>2]=rb;break}case 3:{k[id+44>>2]=pb+-4;rb=qb+pb+-4|0;rb=(l[rb+2>>0]|0)<<16|(l[rb+3>>0]|0)<<24&1056964608|(l[rb+1>>0]|0)<<8|(l[rb>>0]|0);hb=id+48|0;k[hb>>2]=rb;break}default:{}}d=rb+16384|0;k[hb>>2]=d;d=d>>>0>4194303;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){n:do if(d>>>0<16384){e=k[h>>2]|0;do{if((e|0)<=0)break n;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<16384)}while(0);gd=d&4095;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>12)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 8:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));p=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;o:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[p>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[p>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break o}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break o}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}g=k[id>>2]|0;k[g+(m<<2)>>2]=f;m=m+1|0;f=k[p>>2]|0}while(m>>>0>>0);if(!(qd(id+16|0,g,f)|0)){h=0;break}}f=(a|0)>0;if(((!(f&(k[p>>2]|0)==0)?(Q=gd,P=k[Q>>2]|0,Q=k[Q+4>>2]|0,S=hd,R=k[S>>2]|0,S=Yf(R|0,k[S+4>>2]|0,8,0)|0,T=L,!((Q|0)<(T|0)|(Q|0)==(T|0)&P>>>0>>0)):0)?(U=k[b>>2]|0,V=U+R|0,sb=V,sb=l[sb>>0]|l[sb+1>>0]<<8|l[sb+2>>0]<<16|l[sb+3>>0]<<24,V=V+4|0,V=l[V>>0]|l[V+1>>0]<<8|l[V+2>>0]<<16|l[V+3>>0]<<24,b=hd,k[b>>2]=S,k[b+4>>2]=T,b=Nf(P|0,Q|0,S|0,T|0)|0,gd=L,!(V>>>0>gd>>>0|(V|0)==(gd|0)&sb>>>0>b>>>0)):0)?(tb=U+S|0,b=Yf(sb|0,V|0,S|0,T|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(sb|0)>=1):0){n=id+40|0;k[n>>2]=tb;d=sb+-1|0;e=tb+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;ub=(l[e>>0]|0)&63;ib=id+48|0;k[ib>>2]=ub;break}case 1:{if((sb|0)<2){h=0;break o}k[id+44>>2]=sb+-2;ub=tb+sb+-2|0;ub=(l[ub+1>>0]|0)<<8&16128|(l[ub>>0]|0);ib=id+48|0;k[ib>>2]=ub;break}case 2:{if((sb|0)<3){h=0;break o}k[id+44>>2]=sb+-3;ub=tb+sb+-3|0;ub=(l[ub+1>>0]|0)<<8|(l[ub>>0]|0)|(l[ub+2>>0]|0)<<16&4128768;ib=id+48|0;k[ib>>2]=ub;break}case 3:{k[id+44>>2]=sb+-4;ub=tb+sb+-4|0;ub=(l[ub+2>>0]|0)<<16|(l[ub+3>>0]|0)<<24&1056964608|(l[ub+1>>0]|0)<<8|(l[ub>>0]|0);ib=id+48|0;k[ib>>2]=ub;break}default:{}}d=ub+16384|0;k[ib>>2]=d;d=d>>>0>4194303;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){p:do if(d>>>0<16384){e=k[h>>2]|0;do{if((e|0)<=0)break p;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<16384)}while(0);gd=d&4095;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>12)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 9:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));s=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;q:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[s>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[s>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break q}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break q}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}q=k[id>>2]|0;k[q+(m<<2)>>2]=f;m=m+1|0;p=k[s>>2]|0}while(m>>>0

>>0);j=id+16|0;d=id+20|0;g=k[d>>2]|0;f=k[j>>2]|0;e=g-f>>2;if(e>>>0>=8192){if((e|0)!=8192?(Ub=f+32768|0,(g|0)!=(Ub|0)):0)k[d>>2]=g+(~((g+-4-Ub|0)>>>2)<<2)}else Ld(j,8192-e|0);d=id+28|0;e=id+32|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(p>>>0<=f>>>0){if(p>>>0>>0?(Zb=g+(p<<3)|0,(h|0)!=(Zb|0)):0)k[e>>2]=h+(~((h+-8-Zb|0)>>>3)<<3)}else ld(d,p-f|0);if(!p){h=0;break}h=k[d>>2]|0;g=k[j>>2]|0;e=0;f=0;do{fd=q+(e<<2)|0;k[h+(e<<3)>>2]=k[fd>>2];k[h+(e<<3)+4>>2]=f;d=f;f=(k[fd>>2]|0)+f|0;if(f>>>0>8192){h=0;break q}if(d>>>0>>0)do{k[g+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0));e=e+1|0}while(e>>>0

>>0);if((f|0)!=8192){h=0;break}}f=(a|0)>0;if(((!(f&(k[s>>2]|0)==0)?(dc=gd,cc=k[dc>>2]|0,dc=k[dc+4>>2]|0,fc=hd,ec=k[fc>>2]|0,fc=Yf(ec|0,k[fc+4>>2]|0,8,0)|0,gc=L,!((dc|0)<(gc|0)|(dc|0)==(gc|0)&cc>>>0>>0)):0)?(hc=k[b>>2]|0,ic=hc+ec|0,Rc=ic,Rc=l[Rc>>0]|l[Rc+1>>0]<<8|l[Rc+2>>0]<<16|l[Rc+3>>0]<<24,ic=ic+4|0,ic=l[ic>>0]|l[ic+1>>0]<<8|l[ic+2>>0]<<16|l[ic+3>>0]<<24,b=hd,k[b>>2]=fc,k[b+4>>2]=gc,b=Nf(cc|0,dc|0,fc|0,gc|0)|0,gd=L,!(ic>>>0>gd>>>0|(ic|0)==(gd|0)&Rc>>>0>b>>>0)):0)?(Sc=hc+fc|0,b=Yf(Rc|0,ic|0,fc|0,gc|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(Rc|0)>=1):0){n=id+40|0;k[n>>2]=Sc;d=Rc+-1|0;e=Sc+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;Tc=(l[e>>0]|0)&63;Mc=id+48|0;k[Mc>>2]=Tc;break}case 1:{if((Rc|0)<2){h=0;break q}k[id+44>>2]=Rc+-2;Tc=Sc+Rc+-2|0;Tc=(l[Tc+1>>0]|0)<<8&16128|(l[Tc>>0]|0);Mc=id+48|0;k[Mc>>2]=Tc;break}case 2:{if((Rc|0)<3){h=0;break q}k[id+44>>2]=Rc+-3;Tc=Sc+Rc+-3|0;Tc=(l[Tc+1>>0]|0)<<8|(l[Tc>>0]|0)|(l[Tc+2>>0]|0)<<16&4128768;Mc=id+48|0;k[Mc>>2]=Tc;break}case 3:{k[id+44>>2]=Rc+-4;Tc=Sc+Rc+-4|0;Tc=(l[Tc+2>>0]|0)<<16|(l[Tc+3>>0]|0)<<24&1056964608|(l[Tc+1>>0]|0)<<8|(l[Tc>>0]|0);Mc=id+48|0;k[Mc>>2]=Tc;break}default:{}}d=Tc+32768|0;k[Mc>>2]=d;d=d>>>0>8388607;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){r:do if(d>>>0<32768){e=k[h>>2]|0;do{if((e|0)<=0)break r;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<32768)}while(0);gd=d&8191;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>13)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 10:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));s=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;s:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[s>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[s>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break s}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break s}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}q=k[id>>2]|0;k[q+(m<<2)>>2]=f;m=m+1|0;p=k[s>>2]|0}while(m>>>0

>>0);j=id+16|0;d=id+20|0;g=k[d>>2]|0;f=k[j>>2]|0;e=g-f>>2;if(e>>>0>=32768){if((e|0)!=32768?(Vb=f+131072|0,(g|0)!=(Vb|0)):0)k[d>>2]=g+(~((g+-4-Vb|0)>>>2)<<2)}else Ld(j,32768-e|0);d=id+28|0;e=id+32|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(p>>>0<=f>>>0){if(p>>>0>>0?(_b=g+(p<<3)|0,(h|0)!=(_b|0)):0)k[e>>2]=h+(~((h+-8-_b|0)>>>3)<<3)}else ld(d,p-f|0);if(!p){h=0;break}h=k[d>>2]|0;g=k[j>>2]|0;e=0;f=0;do{fd=q+(e<<2)|0;k[h+(e<<3)>>2]=k[fd>>2];k[h+(e<<3)+4>>2]=f;d=f;f=(k[fd>>2]|0)+f|0;if(f>>>0>32768){h=0;break s}if(d>>>0>>0)do{k[g+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0));e=e+1|0}while(e>>>0

>>0);if((f|0)!=32768){h=0;break}}f=(a|0)>0;if(((!(f&(k[s>>2]|0)==0)?(kc=gd,jc=k[kc>>2]|0,kc=k[kc+4>>2]|0,mc=hd,lc=k[mc>>2]|0,mc=Yf(lc|0,k[mc+4>>2]|0,8,0)|0,nc=L,!((kc|0)<(nc|0)|(kc|0)==(nc|0)&jc>>>0>>0)):0)?(oc=k[b>>2]|0,pc=oc+lc|0,Uc=pc,Uc=l[Uc>>0]|l[Uc+1>>0]<<8|l[Uc+2>>0]<<16|l[Uc+3>>0]<<24,pc=pc+4|0,pc=l[pc>>0]|l[pc+1>>0]<<8|l[pc+2>>0]<<16|l[pc+3>>0]<<24,b=hd,k[b>>2]=mc,k[b+4>>2]=nc,b=Nf(jc|0,kc|0,mc|0,nc|0)|0,gd=L,!(pc>>>0>gd>>>0|(pc|0)==(gd|0)&Uc>>>0>b>>>0)):0)?(Vc=oc+mc|0,b=Yf(Uc|0,pc|0,mc|0,nc|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(Uc|0)>=1):0){n=id+40|0;k[n>>2]=Vc;d=Uc+-1|0;e=Vc+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;Wc=(l[e>>0]|0)&63;Nc=id+48|0;k[Nc>>2]=Wc;break}case 1:{if((Uc|0)<2){h=0;break s}k[id+44>>2]=Uc+-2;Wc=Vc+Uc+-2|0;Wc=(l[Wc+1>>0]|0)<<8&16128|(l[Wc>>0]|0);Nc=id+48|0;k[Nc>>2]=Wc;break}case 2:{if((Uc|0)<3){h=0;break s}k[id+44>>2]=Uc+-3;Wc=Vc+Uc+-3|0;Wc=(l[Wc+1>>0]|0)<<8|(l[Wc>>0]|0)|(l[Wc+2>>0]|0)<<16&4128768;Nc=id+48|0;k[Nc>>2]=Wc;break}case 3:{k[id+44>>2]=Uc+-4;Wc=Vc+Uc+-4|0;Wc=(l[Wc+2>>0]|0)<<16|(l[Wc+3>>0]|0)<<24&1056964608|(l[Wc+1>>0]|0)<<8|(l[Wc>>0]|0);Nc=id+48|0;k[Nc>>2]=Wc;break}default:{}}d=Wc+131072|0;k[Nc>>2]=d;d=d>>>0>33554431;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){t:do if(d>>>0<131072){e=k[h>>2]|0;do{if((e|0)<=0)break t;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<131072)}while(0);gd=d&32767;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>15)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 11:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));s=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;u:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[s>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[s>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break u}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break u}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}q=k[id>>2]|0;k[q+(m<<2)>>2]=f;m=m+1|0;p=k[s>>2]|0}while(m>>>0

>>0);j=id+16|0;d=id+20|0;g=k[d>>2]|0;f=k[j>>2]|0;e=g-f>>2;if(e>>>0>=65536){if((e|0)!=65536?(Wb=f+262144|0,(g|0)!=(Wb|0)):0)k[d>>2]=g+(~((g+-4-Wb|0)>>>2)<<2)}else Ld(j,65536-e|0);d=id+28|0;e=id+32|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(p>>>0<=f>>>0){if(p>>>0>>0?($b=g+(p<<3)|0,(h|0)!=($b|0)):0)k[e>>2]=h+(~((h+-8-$b|0)>>>3)<<3)}else ld(d,p-f|0);if(!p){h=0;break}h=k[d>>2]|0;g=k[j>>2]|0;e=0;f=0;do{fd=q+(e<<2)|0;k[h+(e<<3)>>2]=k[fd>>2];k[h+(e<<3)+4>>2]=f;d=f;f=(k[fd>>2]|0)+f|0;if(f>>>0>65536){h=0;break u}if(d>>>0>>0)do{k[g+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0));e=e+1|0}while(e>>>0

>>0);if((f|0)!=65536){h=0;break}}f=(a|0)>0;if(((!(f&(k[s>>2]|0)==0)?(rc=gd,qc=k[rc>>2]|0,rc=k[rc+4>>2]|0,tc=hd,sc=k[tc>>2]|0,tc=Yf(sc|0,k[tc+4>>2]|0,8,0)|0,uc=L,!((rc|0)<(uc|0)|(rc|0)==(uc|0)&qc>>>0>>0)):0)?(vc=k[b>>2]|0,wc=vc+sc|0,Xc=wc,Xc=l[Xc>>0]|l[Xc+1>>0]<<8|l[Xc+2>>0]<<16|l[Xc+3>>0]<<24,wc=wc+4|0,wc=l[wc>>0]|l[wc+1>>0]<<8|l[wc+2>>0]<<16|l[wc+3>>0]<<24,b=hd,k[b>>2]=tc,k[b+4>>2]=uc,b=Nf(qc|0,rc|0,tc|0,uc|0)|0,gd=L,!(wc>>>0>gd>>>0|(wc|0)==(gd|0)&Xc>>>0>b>>>0)):0)?(Yc=vc+tc|0,b=Yf(Xc|0,wc|0,tc|0,uc|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(Xc|0)>=1):0){n=id+40|0;k[n>>2]=Yc;d=Xc+-1|0;e=Yc+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;Zc=(l[e>>0]|0)&63;Oc=id+48|0;k[Oc>>2]=Zc;break}case 1:{if((Xc|0)<2){h=0;break u}k[id+44>>2]=Xc+-2;Zc=Yc+Xc+-2|0;Zc=(l[Zc+1>>0]|0)<<8&16128|(l[Zc>>0]|0);Oc=id+48|0;k[Oc>>2]=Zc;break}case 2:{if((Xc|0)<3){h=0;break u}k[id+44>>2]=Xc+-3;Zc=Yc+Xc+-3|0;Zc=(l[Zc+1>>0]|0)<<8|(l[Zc>>0]|0)|(l[Zc+2>>0]|0)<<16&4128768;Oc=id+48|0;k[Oc>>2]=Zc;break}case 3:{k[id+44>>2]=Xc+-4;Zc=Yc+Xc+-4|0;Zc=(l[Zc+2>>0]|0)<<16|(l[Zc+3>>0]|0)<<24&1056964608|(l[Zc+1>>0]|0)<<8|(l[Zc>>0]|0);Oc=id+48|0;k[Oc>>2]=Zc;break}default:{}}d=Zc+262144|0;k[Oc>>2]=d;d=d>>>0>67108863;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){v:do if(d>>>0<262144){e=k[h>>2]|0;do{if((e|0)<=0)break v;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<262144)}while(0);gd=d&65535;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>16)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 12:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));s=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;w:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[s>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[s>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break w}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break w}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}q=k[id>>2]|0;k[q+(m<<2)>>2]=f;m=m+1|0;p=k[s>>2]|0}while(m>>>0

>>0);j=id+16|0;d=id+20|0;g=k[d>>2]|0;f=k[j>>2]|0;e=g-f>>2;if(e>>>0>=262144){if((e|0)!=262144?(Xb=f+1048576|0,(g|0)!=(Xb|0)):0)k[d>>2]=g+(~((g+-4-Xb|0)>>>2)<<2)}else Ld(j,262144-e|0);d=id+28|0;e=id+32|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(p>>>0<=f>>>0){if(p>>>0>>0?(ac=g+(p<<3)|0,(h|0)!=(ac|0)):0)k[e>>2]=h+(~((h+-8-ac|0)>>>3)<<3)}else ld(d,p-f|0);if(!p){h=0;break}h=k[d>>2]|0;g=k[j>>2]|0;e=0;f=0;do{fd=q+(e<<2)|0;k[h+(e<<3)>>2]=k[fd>>2];k[h+(e<<3)+4>>2]=f;d=f;f=(k[fd>>2]|0)+f|0;if(f>>>0>262144){h=0;break w}if(d>>>0>>0)do{k[g+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0));e=e+1|0}while(e>>>0

>>0);if((f|0)!=262144){h=0;break}}f=(a|0)>0;if(((!(f&(k[s>>2]|0)==0)?(yc=gd,xc=k[yc>>2]|0,yc=k[yc+4>>2]|0,Bc=hd,zc=k[Bc>>2]|0,Bc=Yf(zc|0,k[Bc+4>>2]|0,8,0)|0,Cc=L,!((yc|0)<(Cc|0)|(yc|0)==(Cc|0)&xc>>>0>>0)):0)?(Dc=k[b>>2]|0,Ec=Dc+zc|0,_c=Ec,_c=l[_c>>0]|l[_c+1>>0]<<8|l[_c+2>>0]<<16|l[_c+3>>0]<<24,Ec=Ec+4|0,Ec=l[Ec>>0]|l[Ec+1>>0]<<8|l[Ec+2>>0]<<16|l[Ec+3>>0]<<24,b=hd,k[b>>2]=Bc,k[b+4>>2]=Cc,b=Nf(xc|0,yc|0,Bc|0,Cc|0)|0,gd=L,!(Ec>>>0>gd>>>0|(Ec|0)==(gd|0)&_c>>>0>b>>>0)):0)?($c=Dc+Bc|0,b=Yf(_c|0,Ec|0,Bc|0,Cc|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(_c|0)>=1):0){n=id+40|0;k[n>>2]=$c;d=_c+-1|0;e=$c+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;ad=(l[e>>0]|0)&63;Pc=id+48|0;k[Pc>>2]=ad;break}case 1:{if((_c|0)<2){h=0;break w}k[id+44>>2]=_c+-2;ad=$c+_c+-2|0;ad=(l[ad+1>>0]|0)<<8&16128|(l[ad>>0]|0);Pc=id+48|0;k[Pc>>2]=ad;break}case 2:{if((_c|0)<3){h=0;break w}k[id+44>>2]=_c+-3;ad=$c+_c+-3|0;ad=(l[ad+1>>0]|0)<<8|(l[ad>>0]|0)|(l[ad+2>>0]|0)<<16&4128768;Pc=id+48|0;k[Pc>>2]=ad;break}case 3:{k[id+44>>2]=_c+-4;ad=$c+_c+-4|0;ad=(l[ad+2>>0]|0)<<16|(l[ad+3>>0]|0)<<24&1056964608|(l[ad+1>>0]|0)<<8|(l[ad>>0]|0);Pc=id+48|0;k[Pc>>2]=ad;break}default:{}}d=ad+1048576|0;k[Pc>>2]=d;d=d>>>0>268435455;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){x:do if(d>>>0<1048576){e=k[h>>2]|0;do{if((e|0)<=0)break x;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<1048576)}while(0);gd=d&262143;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>18)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 13:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));s=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;y:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[s>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[s>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break y}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break y}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}q=k[id>>2]|0;k[q+(m<<2)>>2]=f;m=m+1|0;p=k[s>>2]|0}while(m>>>0

>>0);j=id+16|0;d=id+20|0;g=k[d>>2]|0;f=k[j>>2]|0;e=g-f>>2;if(e>>>0>=524288){if((e|0)!=524288?(Yb=f+2097152|0,(g|0)!=(Yb|0)):0)k[d>>2]=g+(~((g+-4-Yb|0)>>>2)<<2)}else Ld(j,524288-e|0);d=id+28|0;e=id+32|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(p>>>0<=f>>>0){if(p>>>0>>0?(bc=g+(p<<3)|0,(h|0)!=(bc|0)):0)k[e>>2]=h+(~((h+-8-bc|0)>>>3)<<3)}else ld(d,p-f|0);if(!p){h=0;break}h=k[d>>2]|0;g=k[j>>2]|0;e=0;f=0;do{fd=q+(e<<2)|0;k[h+(e<<3)>>2]=k[fd>>2];k[h+(e<<3)+4>>2]=f;d=f;f=(k[fd>>2]|0)+f|0;if(f>>>0>524288){h=0;break y}if(d>>>0>>0)do{k[g+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0));e=e+1|0}while(e>>>0

>>0);if((f|0)!=524288){h=0;break}}f=(a|0)>0;if(((!(f&(k[s>>2]|0)==0)?(Gc=gd,Fc=k[Gc>>2]|0,Gc=k[Gc+4>>2]|0,Ic=hd,Hc=k[Ic>>2]|0,Ic=Yf(Hc|0,k[Ic+4>>2]|0,8,0)|0,Jc=L,!((Gc|0)<(Jc|0)|(Gc|0)==(Jc|0)&Fc>>>0>>0)):0)?(Kc=k[b>>2]|0,Lc=Kc+Hc|0,bd=Lc,bd=l[bd>>0]|l[bd+1>>0]<<8|l[bd+2>>0]<<16|l[bd+3>>0]<<24,Lc=Lc+4|0,Lc=l[Lc>>0]|l[Lc+1>>0]<<8|l[Lc+2>>0]<<16|l[Lc+3>>0]<<24,b=hd,k[b>>2]=Ic,k[b+4>>2]=Jc,b=Nf(Fc|0,Gc|0,Ic|0,Jc|0)|0,gd=L,!(Lc>>>0>gd>>>0|(Lc|0)==(gd|0)&bd>>>0>b>>>0)):0)?(cd=Kc+Ic|0,b=Yf(bd|0,Lc|0,Ic|0,Jc|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(bd|0)>=1):0){n=id+40|0;k[n>>2]=cd;d=bd+-1|0;e=cd+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;dd=(l[e>>0]|0)&63;Qc=id+48|0;k[Qc>>2]=dd;break}case 1:{if((bd|0)<2){h=0;break y}k[id+44>>2]=bd+-2;dd=cd+bd+-2|0;dd=(l[dd+1>>0]|0)<<8&16128|(l[dd>>0]|0);Qc=id+48|0;k[Qc>>2]=dd;break}case 2:{if((bd|0)<3){h=0;break y}k[id+44>>2]=bd+-3;dd=cd+bd+-3|0;dd=(l[dd+1>>0]|0)<<8|(l[dd>>0]|0)|(l[dd+2>>0]|0)<<16&4128768;Qc=id+48|0;k[Qc>>2]=dd;break}case 3:{k[id+44>>2]=bd+-4;dd=cd+bd+-4|0;dd=(l[dd+2>>0]|0)<<16|(l[dd+3>>0]|0)<<24&1056964608|(l[dd+1>>0]|0)<<8|(l[dd>>0]|0);Qc=id+48|0;k[Qc>>2]=dd;break}default:{}}d=dd+2097152|0;k[Qc>>2]=d;d=d>>>0>536870911;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){z:do if(d>>>0<2097152){e=k[h>>2]|0;do{if((e|0)<=0)break z;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<2097152)}while(0);gd=d&524287;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>19)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 14:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));p=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;A:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[p>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[p>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break A}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break A}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}g=k[id>>2]|0;k[g+(m<<2)>>2]=f;m=m+1|0;f=k[p>>2]|0}while(m>>>0>>0);if(!(pd(id+16|0,g,f)|0)){h=0;break}}f=(a|0)>0;if(((!(f&(k[p>>2]|0)==0)?(X=gd,W=k[X>>2]|0,X=k[X+4>>2]|0,Z=hd,Y=k[Z>>2]|0,Z=Yf(Y|0,k[Z+4>>2]|0,8,0)|0,$=L,!((X|0)<($|0)|(X|0)==($|0)&W>>>0>>0)):0)?(aa=k[b>>2]|0,ba=aa+Y|0,wb=ba,wb=l[wb>>0]|l[wb+1>>0]<<8|l[wb+2>>0]<<16|l[wb+3>>0]<<24,ba=ba+4|0,ba=l[ba>>0]|l[ba+1>>0]<<8|l[ba+2>>0]<<16|l[ba+3>>0]<<24,b=hd,k[b>>2]=Z,k[b+4>>2]=$,b=Nf(W|0,X|0,Z|0,$|0)|0,gd=L,!(ba>>>0>gd>>>0|(ba|0)==(gd|0)&wb>>>0>b>>>0)):0)?(xb=aa+Z|0,b=Yf(wb|0,ba|0,Z|0,$|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(wb|0)>=1):0){n=id+40|0;k[n>>2]=xb;d=wb+-1|0;e=xb+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;yb=(l[e>>0]|0)&63;Za=id+48|0;k[Za>>2]=yb;break}case 1:{if((wb|0)<2){h=0;break A}k[id+44>>2]=wb+-2;yb=xb+wb+-2|0;yb=(l[yb+1>>0]|0)<<8&16128|(l[yb>>0]|0);Za=id+48|0;k[Za>>2]=yb;break}case 2:{if((wb|0)<3){h=0;break A}k[id+44>>2]=wb+-3;yb=xb+wb+-3|0;yb=(l[yb+1>>0]|0)<<8|(l[yb>>0]|0)|(l[yb+2>>0]|0)<<16&4128768;Za=id+48|0;k[Za>>2]=yb;break}case 3:{k[id+44>>2]=wb+-4;yb=xb+wb+-4|0;yb=(l[yb+2>>0]|0)<<16|(l[yb+3>>0]|0)<<24&1056964608|(l[yb+1>>0]|0)<<8|(l[yb>>0]|0);Za=id+48|0;k[Za>>2]=yb;break}default:{}}d=yb+4194304|0;k[Za>>2]=d;d=d>>>0>1073741823;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){B:do if(d>>>0<4194304){e=k[h>>2]|0;do{if((e|0)<=0)break B;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<4194304)}while(0);gd=d&1048575;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>20)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 15:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));p=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;C:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[p>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[p>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break C}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break C}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}g=k[id>>2]|0;k[g+(m<<2)>>2]=f;m=m+1|0;f=k[p>>2]|0}while(m>>>0>>0);if(!(pd(id+16|0,g,f)|0)){h=0;break}}f=(a|0)>0;if(((!(f&(k[p>>2]|0)==0)?(ia=gd,ha=k[ia>>2]|0,ia=k[ia+4>>2]|0,ka=hd,ja=k[ka>>2]|0,ka=Yf(ja|0,k[ka+4>>2]|0,8,0)|0,la=L,!((ia|0)<(la|0)|(ia|0)==(la|0)&ha>>>0>>0)):0)?(ma=k[b>>2]|0,na=ma+ja|0,zb=na,zb=l[zb>>0]|l[zb+1>>0]<<8|l[zb+2>>0]<<16|l[zb+3>>0]<<24,na=na+4|0,na=l[na>>0]|l[na+1>>0]<<8|l[na+2>>0]<<16|l[na+3>>0]<<24,b=hd,k[b>>2]=ka,k[b+4>>2]=la,b=Nf(ha|0,ia|0,ka|0,la|0)|0,gd=L,!(na>>>0>gd>>>0|(na|0)==(gd|0)&zb>>>0>b>>>0)):0)?(Ab=ma+ka|0,b=Yf(zb|0,na|0,ka|0,la|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(zb|0)>=1):0){n=id+40|0;k[n>>2]=Ab;d=zb+-1|0;e=Ab+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;Cb=(l[e>>0]|0)&63;_a=id+48|0;k[_a>>2]=Cb;break}case 1:{if((zb|0)<2){h=0;break C}k[id+44>>2]=zb+-2;Cb=Ab+zb+-2|0;Cb=(l[Cb+1>>0]|0)<<8&16128|(l[Cb>>0]|0);_a=id+48|0;k[_a>>2]=Cb;break}case 2:{if((zb|0)<3){h=0;break C}k[id+44>>2]=zb+-3;Cb=Ab+zb+-3|0;Cb=(l[Cb+1>>0]|0)<<8|(l[Cb>>0]|0)|(l[Cb+2>>0]|0)<<16&4128768;_a=id+48|0;k[_a>>2]=Cb;break}case 3:{k[id+44>>2]=zb+-4;Cb=Ab+zb+-4|0;Cb=(l[Cb+2>>0]|0)<<16|(l[Cb+3>>0]|0)<<24&1056964608|(l[Cb+1>>0]|0)<<8|(l[Cb>>0]|0);_a=id+48|0;k[_a>>2]=Cb;break}default:{}}d=Cb+4194304|0;k[_a>>2]=d;d=d>>>0>1073741823;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){D:do if(d>>>0<4194304){e=k[h>>2]|0;do{if((e|0)<=0)break D;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<4194304)}while(0);gd=d&1048575;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>20)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 16:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));p=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;E:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[p>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[p>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break E}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break E}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}g=k[id>>2]|0;k[g+(m<<2)>>2]=f;m=m+1|0;f=k[p>>2]|0}while(m>>>0>>0);if(!(pd(id+16|0,g,f)|0)){h=0;break}}f=(a|0)>0;if(((!(f&(k[p>>2]|0)==0)?(ra=gd,qa=k[ra>>2]|0,ra=k[ra+4>>2]|0,ta=hd,sa=k[ta>>2]|0,ta=Yf(sa|0,k[ta+4>>2]|0,8,0)|0,ua=L,!((ra|0)<(ua|0)|(ra|0)==(ua|0)&qa>>>0>>0)):0)?(va=k[b>>2]|0,wa=va+sa|0,Eb=wa,Eb=l[Eb>>0]|l[Eb+1>>0]<<8|l[Eb+2>>0]<<16|l[Eb+3>>0]<<24,wa=wa+4|0,wa=l[wa>>0]|l[wa+1>>0]<<8|l[wa+2>>0]<<16|l[wa+3>>0]<<24,b=hd,k[b>>2]=ta,k[b+4>>2]=ua,b=Nf(qa|0,ra|0,ta|0,ua|0)|0,gd=L,!(wa>>>0>gd>>>0|(wa|0)==(gd|0)&Eb>>>0>b>>>0)):0)?(Fb=va+ta|0,b=Yf(Eb|0,wa|0,ta|0,ua|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(Eb|0)>=1):0){n=id+40|0;k[n>>2]=Fb;d=Eb+-1|0;e=Fb+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;Gb=(l[e>>0]|0)&63;ab=id+48|0;k[ab>>2]=Gb;break}case 1:{if((Eb|0)<2){h=0;break E}k[id+44>>2]=Eb+-2;Gb=Fb+Eb+-2|0;Gb=(l[Gb+1>>0]|0)<<8&16128|(l[Gb>>0]|0);ab=id+48|0;k[ab>>2]=Gb;break}case 2:{if((Eb|0)<3){h=0;break E}k[id+44>>2]=Eb+-3;Gb=Fb+Eb+-3|0;Gb=(l[Gb+1>>0]|0)<<8|(l[Gb>>0]|0)|(l[Gb+2>>0]|0)<<16&4128768;ab=id+48|0;k[ab>>2]=Gb;break}case 3:{k[id+44>>2]=Eb+-4;Gb=Fb+Eb+-4|0;Gb=(l[Gb+2>>0]|0)<<16|(l[Gb+3>>0]|0)<<24&1056964608|(l[Gb+1>>0]|0)<<8|(l[Gb>>0]|0);ab=id+48|0;k[ab>>2]=Gb;break}default:{}}d=Gb+4194304|0;k[ab>>2]=d;d=d>>>0>1073741823;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){F:do if(d>>>0<4194304){e=k[h>>2]|0;do{if((e|0)<=0)break F;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<4194304)}while(0);gd=d&1048575;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>20)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 17:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));p=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;G:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[p>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[p>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break G}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break G}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}g=k[id>>2]|0;k[g+(m<<2)>>2]=f;m=m+1|0;f=k[p>>2]|0}while(m>>>0>>0);if(!(pd(id+16|0,g,f)|0)){h=0;break}}f=(a|0)>0;if(((!(f&(k[p>>2]|0)==0)?(ya=gd,xa=k[ya>>2]|0,ya=k[ya+4>>2]|0,Aa=hd,za=k[Aa>>2]|0,Aa=Yf(za|0,k[Aa+4>>2]|0,8,0)|0,Ba=L,!((ya|0)<(Ba|0)|(ya|0)==(Ba|0)&xa>>>0>>0)):0)?(Ca=k[b>>2]|0,Da=Ca+za|0,Hb=Da,Hb=l[Hb>>0]|l[Hb+1>>0]<<8|l[Hb+2>>0]<<16|l[Hb+3>>0]<<24,Da=Da+4|0,Da=l[Da>>0]|l[Da+1>>0]<<8|l[Da+2>>0]<<16|l[Da+3>>0]<<24,b=hd,k[b>>2]=Aa,k[b+4>>2]=Ba,b=Nf(xa|0,ya|0,Aa|0,Ba|0)|0,gd=L,!(Da>>>0>gd>>>0|(Da|0)==(gd|0)&Hb>>>0>b>>>0)):0)?(Ib=Ca+Aa|0,b=Yf(Hb|0,Da|0,Aa|0,Ba|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(Hb|0)>=1):0){n=id+40|0;k[n>>2]=Ib;d=Hb+-1|0;e=Ib+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;Jb=(l[e>>0]|0)&63;bb=id+48|0;k[bb>>2]=Jb;break}case 1:{if((Hb|0)<2){h=0;break G}k[id+44>>2]=Hb+-2;Jb=Ib+Hb+-2|0;Jb=(l[Jb+1>>0]|0)<<8&16128|(l[Jb>>0]|0);bb=id+48|0;k[bb>>2]=Jb;break}case 2:{if((Hb|0)<3){h=0;break G}k[id+44>>2]=Hb+-3;Jb=Ib+Hb+-3|0;Jb=(l[Jb+1>>0]|0)<<8|(l[Jb>>0]|0)|(l[Jb+2>>0]|0)<<16&4128768;bb=id+48|0;k[bb>>2]=Jb;break}case 3:{k[id+44>>2]=Hb+-4;Jb=Ib+Hb+-4|0;Jb=(l[Jb+2>>0]|0)<<16|(l[Jb+3>>0]|0)<<24&1056964608|(l[Jb+1>>0]|0)<<8|(l[Jb>>0]|0);bb=id+48|0;k[bb>>2]=Jb;break}default:{}}d=Jb+4194304|0;k[bb>>2]=d;d=d>>>0>1073741823;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){H:do if(d>>>0<4194304){e=k[h>>2]|0;do{if((e|0)<=0)break H;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<4194304)}while(0);gd=d&1048575;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>20)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}case 18:{d=id;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));p=id+12|0;e=Yf(f|0,g|0,5,0)|0;f=L;I:do if(!((h|0)<(f|0)|(h|0)==(f|0)&fd>>>0>>0)){d=j+ed|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[p>>2]=d;fd=hd;k[fd>>2]=e;k[fd+4>>2]=f;if(d|0?(Ld(id,d),k[p>>2]|0):0){o=gd;n=k[o>>2]|0;o=k[o+4>>2]|0;d=hd;m=0;e=k[d+4>>2]|0;d=k[d>>2]|0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break I}j=k[b>>2]|0;f=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;h=hd;k[h>>2]=d;k[h+4>>2]=e;f=f&255;h=f&3;f=f>>>2;if(h){g=0;do{if(!((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0)){h=0;break I}fd=i[j+d>>0]|0;d=Yf(d|0,e|0,1,0)|0;e=L;ed=hd;k[ed>>2]=d;k[ed+4>>2]=e;f=(fd&255)<<(g<<3|6)|f;g=g+1|0}while((g|0)<(h|0))}g=k[id>>2]|0;k[g+(m<<2)>>2]=f;m=m+1|0;f=k[p>>2]|0}while(m>>>0>>0);if(!(pd(id+16|0,g,f)|0)){h=0;break}}f=(a|0)>0;if(((!(f&(k[p>>2]|0)==0)?(Fa=gd,Ea=k[Fa>>2]|0,Fa=k[Fa+4>>2]|0,Ha=hd,Ga=k[Ha>>2]|0,Ha=Yf(Ga|0,k[Ha+4>>2]|0,8,0)|0,Ia=L,!((Fa|0)<(Ia|0)|(Fa|0)==(Ia|0)&Ea>>>0>>0)):0)?(Ja=k[b>>2]|0,Ka=Ja+Ga|0,Kb=Ka,Kb=l[Kb>>0]|l[Kb+1>>0]<<8|l[Kb+2>>0]<<16|l[Kb+3>>0]<<24,Ka=Ka+4|0,Ka=l[Ka>>0]|l[Ka+1>>0]<<8|l[Ka+2>>0]<<16|l[Ka+3>>0]<<24,b=hd,k[b>>2]=Ha,k[b+4>>2]=Ia,b=Nf(Ea|0,Fa|0,Ha|0,Ia|0)|0,gd=L,!(Ka>>>0>gd>>>0|(Ka|0)==(gd|0)&Kb>>>0>b>>>0)):0)?(Lb=Ja+Ha|0,b=Yf(Kb|0,Ka|0,Ha|0,Ia|0)|0,hd,k[hd>>2]=b,k[hd+4>>2]=L,(Kb|0)>=1):0){n=id+40|0;k[n>>2]=Lb;d=Kb+-1|0;e=Lb+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[id+44>>2]=d;Mb=(l[e>>0]|0)&63;cb=id+48|0;k[cb>>2]=Mb;break}case 1:{if((Kb|0)<2){h=0;break I}k[id+44>>2]=Kb+-2;Mb=Lb+Kb+-2|0;Mb=(l[Mb+1>>0]|0)<<8&16128|(l[Mb>>0]|0);cb=id+48|0;k[cb>>2]=Mb;break}case 2:{if((Kb|0)<3){h=0;break I}k[id+44>>2]=Kb+-3;Mb=Lb+Kb+-3|0;Mb=(l[Mb+1>>0]|0)<<8|(l[Mb>>0]|0)|(l[Mb+2>>0]|0)<<16&4128768;cb=id+48|0;k[cb>>2]=Mb;break}case 3:{k[id+44>>2]=Kb+-4;Mb=Lb+Kb+-4|0;Mb=(l[Mb+2>>0]|0)<<16|(l[Mb+3>>0]|0)<<24&1056964608|(l[Mb+1>>0]|0)<<8|(l[Mb>>0]|0);cb=id+48|0;k[cb>>2]=Mb;break}default:{}}d=Mb+4194304|0;k[cb>>2]=d;d=d>>>0>1073741823;if(d|f^1)h=d^1;else{g=id+48|0;h=id+44|0;j=id+16|0;m=id+28|0;f=0;d=k[g>>2]|0;while(1){J:do if(d>>>0<4194304){e=k[h>>2]|0;do{if((e|0)<=0)break J;e=e+-1|0;k[h>>2]=e;d=l[(k[n>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<4194304)}while(0);gd=d&1048575;hd=k[(k[j>>2]|0)+(gd<<2)>>2]|0;b=k[m>>2]|0;d=(_(k[b+(hd<<3)>>2]|0,d>>>20)|0)+gd-(k[b+(hd<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=hd;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[id+28>>2]|0;e=d;if(d|0){f=id+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);gb(d)}d=k[id+16>>2]|0;e=d;if(d|0){f=id+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}f=k[id>>2]|0;g=f;if(f|0){d=id+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);gb(f)}id=h;r=jd;return id|0}default:{id=0;r=jd;return id|0}}while(0);return 0}function Va(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,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,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;la=r;r=r+80|0;ma=la+68|0;ja=la+48|0;ca=la+44|0;da=la+40|0;ea=la;p=a+148|0;k[p>>2]=0;e=a+164|0;if(k[e>>2]|0){c=a+160|0;b=k[c>>2]|0;if(b|0)do{ka=b;b=k[b>>2]|0;gb(ka)}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}ka=a+4|0;b=k[(k[ka>>2]|0)+20>>2]|0;m=b+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;n=b+16|0;g=n;f=k[g>>2]|0;g=k[g+4>>2]|0;d=Yf(f|0,g|0,4,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){ma=0;r=la;return ma|0}h=k[b>>2]|0;e=h+f|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;b=n;k[b>>2]=d;k[b+4>>2]=c;k[p>>2]=e;e=Yf(f|0,g|0,8,0)|0;b=L;if((m|0)<(b|0)|(m|0)==(b|0)&j>>>0>>0){ma=0;r=la;return ma|0}c=h+d|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;v=n;k[v>>2]=e;k[v+4>>2]=b;v=a+172|0;k[v>>2]=c;b=Yf(f|0,g|0,12,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){ma=0;r=la;return ma|0}p=h+e|0;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;d=n;k[d>>2]=b;k[d+4>>2]=c;b=k[a+24>>2]|0;c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);ga=a+8|0;while(1){b=Xa(60)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}e=b;f=e+60|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c=k[ga>>2]|0;k[ga>>2]=b;if(c){_d(c);gb(c);b=k[ga>>2]|0;if(!b){ma=0;r=la;return ma|0}}Ob(b,p);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);Xd(b,p);b=a+188|0;c=k[b>>2]|0;d=a+192|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Xd(b,p);b=k[a+36>>2]|0;V=a+40|0;c=k[V>>2]|0;if((c|0)!=(b|0))k[V>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);b=k[a+48>>2]|0;u=a+52|0;c=k[u>>2]|0;if((c|0)!=(b|0))k[u>>2]=c+(~((c+-4-b|0)>>>2)<<2);Z=a+68|0;k[Z>>2]=0;b=k[a+76>>2]|0;$=a+80|0;c=k[$>>2]|0;if((c|0)!=(b|0))k[$>>2]=c+(~((c+-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[ka>>2]|0)+20>>2]|0;ia=b+8|0;ha=k[ia+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((ha|0)>(e|0)|((ha|0)==(e|0)?(k[ia>>2]|0)>>>0>d>>>0:0))){ma=0;r=la;return ma|0}h=i[(k[b>>2]|0)+d>>0]|0;ha=Yf(d|0,e|0,1,0)|0;ia=c;k[ia>>2]=ha;k[ia+4>>2]=L;if(h<<24>>24<0){ma=0;r=la;return ma|0}fa=a+228|0;g=k[fa>>2]|0;ia=a+232|0;b=k[ia>>2]|0;if((b|0)==(g|0)){ha=fa;f=g}else{do{k[ia>>2]=b+-116;c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}ee(b+-112|0);b=k[ia>>2]|0}while((b|0)!=(g|0));ha=fa;f=k[fa>>2]|0}e=b;t=h<<24>>24;c=(e-f|0)/116|0;d=f;a:do if(t>>>0<=c>>>0){if(t>>>0>>0?(q=d+(t*116|0)|0,(b|0)!=(q|0)):0)do{k[ia>>2]=b+-116;c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}ee(b+-112|0);b=k[ia>>2]|0}while((b|0)!=(q|0))}else{c=t-c|0;m=a+236|0;d=k[m>>2]|0;if(((d-e|0)/116|0)>>>0>=c>>>0)while(1){k[b>>2]=-1;e=b+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;i[b+28>>0]=1;e=b+32|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));i[b+72>>0]=1;e=b+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));b=(k[ia>>2]|0)+116|0;k[ia>>2]=b;c=c+-1|0;if(!c)break a}g=(e-f|0)/116|0;b=g+c|0;if(b>>>0>37025580)Ba(11055,11078,304,11175);Y=(d-f|0)/116|0;e=Y<<1;e=Y>>>0<18512790?(e>>>0>>0?b:e):37025580;if(!e)b=0;else{if(e>>>0>37025580){ma=Da(4)|0;k[ma>>2]=5228;ra(ma|0,736,67)}d=e*116|0;d=(d|0)==0?1:d;while(1){b=Xa(d)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}}h=b+(g*116|0)|0;g=h;d=b+(e*116|0)|0;j=g;b=h;do{k[b>>2]=-1;e=b+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;i[b+28>>0]=1;e=b+32|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));i[b+72>>0]=1;e=b+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));b=j+116|0;j=b;c=c+-1|0}while((c|0)!=0);e=k[fa>>2]|0;b=e;c=k[ia>>2]|0;if((c|0)==(e|0)){c=g;h=b}else{b=h;do{U=b;b=b+-116|0;W=c;c=c+-116|0;k[b>>2]=k[c>>2];Y=W+-112|0;k[U+-112>>2]=k[Y>>2];X=W+-108|0;k[U+-108>>2]=k[X>>2];T=W+-104|0;k[U+-104>>2]=k[T>>2];k[Y>>2]=0;k[X>>2]=0;k[T>>2]=0;T=W+-100|0;k[U+-100>>2]=k[T>>2];X=W+-96|0;k[U+-96>>2]=k[X>>2];Y=W+-92|0;k[U+-92>>2]=k[Y>>2];k[T>>2]=0;k[X>>2]=0;k[Y>>2]=0;i[U+-88>>0]=i[W+-88>>0]|0;Y=U+-84|0;X=W+-84|0;k[Y>>2]=0;T=U+-80|0;k[T>>2]=0;k[U+-76>>2]=0;k[Y>>2]=k[X>>2];Y=W+-80|0;k[T>>2]=k[Y>>2];T=W+-76|0;k[U+-76>>2]=k[T>>2];k[T>>2]=0;k[Y>>2]=0;k[X>>2]=0;X=U+-72|0;Y=W+-72|0;k[X>>2]=0;T=U+-68|0;k[T>>2]=0;k[U+-64>>2]=0;k[X>>2]=k[Y>>2];X=W+-68|0;k[T>>2]=k[X>>2];T=W+-64|0;k[U+-64>>2]=k[T>>2];k[T>>2]=0;k[X>>2]=0;k[Y>>2]=0;Y=U+-60|0;X=W+-60|0;k[Y>>2]=0;T=U+-56|0;k[T>>2]=0;k[U+-52>>2]=0;k[Y>>2]=k[X>>2];Y=W+-56|0;k[T>>2]=k[Y>>2];T=W+-52|0;k[U+-52>>2]=k[T>>2];k[T>>2]=0;k[Y>>2]=0;k[X>>2]=0;k[U+-48>>2]=k[W+-48>>2];i[U+-44>>0]=i[W+-44>>0]|0;X=U+-40|0;Y=W+-40|0;k[X>>2]=0;T=U+-36|0;k[T>>2]=0;k[U+-32>>2]=0;k[X>>2]=k[Y>>2];X=W+-36|0;k[T>>2]=k[X>>2];T=W+-32|0;k[U+-32>>2]=k[T>>2];k[T>>2]=0;k[X>>2]=0;k[Y>>2]=0;Y=U+-28|0;X=W+-28|0;k[Y>>2]=0;T=U+-24|0;k[T>>2]=0;k[U+-20>>2]=0;k[Y>>2]=k[X>>2];Y=W+-24|0;k[T>>2]=k[Y>>2];T=W+-20|0;k[U+-20>>2]=k[T>>2];k[T>>2]=0;k[Y>>2]=0;k[X>>2]=0;k[U+-16>>2]=k[W+-16>>2];X=U+-12|0;Y=W+-12|0;k[X>>2]=0;T=U+-8|0;k[T>>2]=0;k[U+-4>>2]=0;k[X>>2]=k[Y>>2];X=W+-8|0;k[T>>2]=k[X>>2];W=W+-4|0;k[U+-4>>2]=k[W>>2];k[W>>2]=0;k[X>>2]=0;k[Y>>2]=0}while((c|0)!=(e|0));c=b;h=k[ha>>2]|0;b=k[ia>>2]|0}k[ha>>2]=c;k[ia>>2]=j;k[m>>2]=d;g=h;if((b|0)!=(g|0))do{c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}ee(b+-112|0);b=b+-116|0}while((b|0)!=(g|0));if(!h)break;gb(h)}while(0);b=k[(k[ka>>2]|0)+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=k[d+4>>2]|0;m=Yf(c|0,d|0,4,0)|0;e=L;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){ma=0;r=la;return ma|0}f=k[b>>2]|0;Q=f+c|0;Q=l[Q>>0]|l[Q+1>>0]<<8|l[Q+2>>0]<<16|l[Q+3>>0]<<24;Y=j;k[Y>>2]=m;k[Y+4>>2]=e;if(p>>>0>>0){ma=0;r=la;return ma|0}b=Yf(c|0,d|0,8,0)|0;c=L;if((h|0)<(c|0)|(h|0)==(c|0)&g>>>0>>0){ma=0;r=la;return ma|0}g=f+m|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;Y=j;k[Y>>2]=b;k[Y+4>>2]=c;Y=a+136|0;g=(k[v>>2]|0)+g|0;i[ma>>0]=1;nd(Y,g,ma);g=k[(k[ka>>2]|0)+20>>2]|0;j=g+8|0;h=k[j>>2]|0;j=k[j+4>>2]|0;c=g+16|0;b=c;d=k[b>>2]|0;b=k[b+4>>2]|0;e=Yf(d|0,b|0,4,0)|0;f=L;g=k[g>>2]|0;if((j|0)<(f|0)|(j|0)==(f|0)&h>>>0>>0)c=0;else{d=g+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[c>>2]=e;k[c+4>>2]=f;c=d;d=e;b=f}s=g+d+c|0;q=Yf(d|0,b|0,c|0,0)|0;q=Nf(h|0,j|0,q|0,L|0)|0;if(0<0|0==0&q>>>0<4){ma=0;r=la;return ma|0}h=l[s>>0]|l[s+1>>0]<<8|l[s+2>>0]<<16|l[s+3>>0]<<24;b:do if(!h){c=4;b=0}else{j=ma+4|0;m=ma+8|0;n=a+44|0;p=a+36|0;g=0;c=4;b=0;while(1){d=Yf(c|0,b|0,4,0)|0;X=L;if(0<(X|0)|0==(X|0)&q>>>0>>0)break;e=s+c|0;k[ma>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=Yf(c|0,b|0,8,0)|0;f=L;if(0<(f|0)|0==(f|0)&q>>>0>>0)break;X=s+d|0;k[j>>2]=l[X>>0]|l[X+1>>0]<<8|l[X+2>>0]<<16|l[X+3>>0]<<24;if(!(0>(f|0)|0==(f|0)&q>>>0>e>>>0))break;d=i[s+e>>0]|0;c=Yf(c|0,b|0,9,0)|0;b=L;i[m>>0]=d&3|i[m>>0]&-4;d=k[V>>2]|0;if((d|0)==(k[n>>2]|0))Kd(p,ma);else{k[d>>2]=k[ma>>2];k[d+4>>2]=k[ma+4>>2];k[d+8>>2]=k[ma+8>>2];k[V>>2]=(k[V>>2]|0)+12}g=g+1|0;if(g>>>0>=h>>>0)break b}ma=0;r=la;return ma|0}while(0);d=Yf(c|0,b|0,4,0)|0;X=L;if(0<(X|0)|0==(X|0)&q>>>0>>0){ma=0;r=la;return ma|0}g=s+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;c:do if(!g)U=d;else{h=a+56|0;j=a+48|0;k[ma>>2]=0;b=Yf(c|0,b|0,8,0)|0;e=L;d:do if(!(0<(e|0)|0==(e|0)&q>>>0>>0)){f=0;c=d;d=b;while(1){b=s+c|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;k[ma>>2]=b;c=k[u>>2]|0;if((c|0)==(k[h>>2]|0))Pd(j,ma);else{k[c>>2]=b;k[u>>2]=c+4}f=f+1|0;if(f>>>0>=g>>>0)break;k[ma>>2]=0;b=Yf(d|0,e|0,4,0)|0;e=L;if(0<(e|0)|0==(e|0)&q>>>0>>0)break d;else{c=d;d=b}}U=d;break c}while(0);ma=0;r=la;return ma|0}while(0);if((U|0)==-1){ma=0;r=la;return ma|0}P=a+240|0;k[a+328>>2]=a;X=(La[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;X=k[X>>2]|0;S=k[X>>2]|0;X=k[X+16>>2]|0;e=(La[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;e=k[e>>2]|0;W=e+8|0;e=e+16|0;e=Nf(k[W>>2]|0,k[W+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0;k[P>>2]=S+X;X=a+248|0;k[X>>2]=e;k[X+4>>2]=0;X=a+256|0;e=X;k[e>>2]=0;k[e+4>>2]=0;e=La[k[(k[a>>2]|0)+36>>2]&127](a)|0;k[a+332>>2]=e;e=a+336|0;k[e>>2]=k[v>>2];k[a+324>>2]=t;k[ea>>2]=0;S=ea+8|0;k[S>>2]=0;k[S+4>>2]=0;k[S+8>>2]=0;k[S+12>>2]=0;k[S+16>>2]=0;k[S+20>>2]=0;k[S+24>>2]=0;i[S+28>>0]=0;do if(ec(P,ea)|0){R=S;W=k[R>>2]|0;R=k[R+4>>2]|0;T=ea+16|0;c=T;b=k[c>>2]|0;c=Yf(b|0,k[c+4>>2]|0,4,0)|0;d=L;if((R|0)<(d|0)|(R|0)==(d|0)&W>>>0>>0){b=0;break}j=(k[ea>>2]|0)+b|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;q=T;k[q>>2]=c;k[q+4>>2]=d;d=(k[e>>2]|0)+j|0;k[e>>2]=d;j=a+340|0;q=a+344|0;c=k[q>>2]|0;m=k[j>>2]|0;n=c-m|0;g=n>>2;b=m;e=c;do if(d>>>0>g>>>0){p=d-g|0;h=a+348|0;b=k[h>>2]|0;if(b-c>>2>>>0>=p>>>0){b=p;c=e;while(1){k[c>>2]=0;b=b+-1|0;if(!b)break;else c=c+4|0}k[q>>2]=e+(p<<2);break}if(d>>>0>1073741823)Ba(11055,11078,304,11175);W=b-m|0;f=W>>1;f=W>>2>>>0<536870911?(f>>>0>>0?d:f):1073741823;if(!f)b=0;else{if(f>>>0>1073741823){ma=Da(4)|0;k[ma>>2]=5228;ra(ma|0,736,67)}c=f<<2;c=(c|0)==0?1:c;while(1){b=Xa(c)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}}e=b+(g<<2)|0;c=p;d=e;while(1){k[d>>2]=0;c=c+-1|0;if(!c)break;else d=d+4|0}c=e+(0-g<<2)|0;if((n|0)>0)xe(c|0,m|0,n|0)|0;k[j>>2]=c;k[q>>2]=e+(p<<2);k[h>>2]=b+(f<<2);if(!m)break;gb(m)}else{if(d>>>0>=g>>>0)break;b=b+(d<<2)|0;if((e|0)==(b|0))break;k[q>>2]=e+(~((e+-4-b|0)>>>2)<<2)}while(0);if(!(Dc(a+352|0,ea)|0)){b=0;break}k[ma>>2]=0;R=ma+4|0;k[R>>2]=0;k[ma+8>>2]=0;k[ja>>2]=0;k[ja+4>>2]=0;k[ja+8>>2]=0;k[ja+12>>2]=0;o[ja+16>>2]=1.0;O=k[a+140>>2]|0;e:do if((Q|0)>0){x=a+372|0;y=a+276|0;z=a+368|0;A=a+272|0;B=a+264|0;C=a+268|0;D=a+8|0;E=a+36|0;F=Q+-1|0;G=ja+4|0;H=a+340|0;I=ma+8|0;J=a+364|0;K=a+360|0;M=a+356|0;N=a+352|0;e=0;w=0;m=0;while(1){b=w+1|0;c=k[x>>2]|0;do if((c|0)!=-1){f=l[J>>0]|0;d=k[K>>2]|0;if(d>>>0<4096){W=(k[M>>2]|0)+-1|0;k[M>>2]=W;d=l[(k[N>>2]|0)+W>>0]|d<<8;k[K>>2]=d}t=d&255;u=0-f&255;v=_(d>>>8,u)|0;W=t>>>0>>0;k[K>>2]=W?v+t|0:d-u-v|0;if(!W){W=155;break}k[z>>2]=c;if(!c)W=166;else W=207}else W=155;while(0);f:do if((W|0)==155){g:do if(!(i[y>>0]|0))c=1;else{f=k[A>>2]|0;g=k[B>>2]|0;h=k[C>>2]|0;c=g+(f>>>3)|0;do if(c>>>0>>0){W=l[c>>0]|0;d=f+1|0;k[A>>2]=d;if(!(W&1<<(f&7)))break;c=g+(d>>>3)|0;if(c>>>0>>0){W=(l[c>>0]|0)>>>(d&7)&1;d=f+2|0;k[A>>2]=d;f=W}else f=0;c=g+(d>>>3)|0;if(c>>>0>>0){c=(l[c>>0]|0)>>>(d&7);k[A>>2]=d+1;c=c<<1&2}else c=0;c=(c|f)<<1|1;break g}while(0);k[z>>2]=0;W=166;break f}while(0);k[z>>2]=c;W=207}while(0);h:do if((W|0)==166){W=0;u=k[m+-4>>2]|0;v=(u|0)<0;i:do if(v){c=u;W=168}else{c=u+(((u>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0){W=168;break}f=k[D>>2]|0;g=k[f+12>>2]|0;while(1){d=k[g+(c<<2)>>2]|0;if((d|0)<=-1){q=0;p=c;break i}c=d+(((d>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0){q=1;p=c;break}}}while(0);if((W|0)==168){W=0;f=k[D>>2]|0;q=1;p=c;g=k[f+12>>2]|0}c=w*3|0;s=c+1|0;k[g+(u<<2)>>2]=s;k[g+(s<<2)>>2]=u;w=c+2|0;k[g+(p<<2)>>2]=w;k[g+(w<<2)>>2]=p;d=u+1|0;do if(v)t=-1073741824;else{d=((d|0)%3|0|0)==0?u+-2|0:d;if((d|0)<0){t=-1073741824;break}t=k[(k[f>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[f>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]=t;if((t|0)>-1){m=f+24|0;n=f+28|0;f=k[n>>2]|0;d=k[m>>2]|0;g=f-d>>2;do if(g>>>0<=t>>>0){h=t+1|0;j=f;if(h>>>0>g>>>0){Ld(m,h-g|0);d=k[m>>2]|0;break}if(h>>>0>=g>>>0)break;f=d+(h<<2)|0;if((j|0)==(f|0))break;k[n>>2]=j+(~((j+-4-f|0)>>>2)<<2)}while(0);k[d+(t<<2)>>2]=c;f=k[D>>2]|0}d=p+1|0;do if(q)p=-1073741824;else{d=((d|0)%3|0|0)==0?p+-2|0:d;if((d|0)<0){p=-1073741824;break}p=k[(k[f>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[f>>2]|0)+(((c|0)<-1?-1073741824:(s>>>0)/3|0)*12|0)+(((s|0)%3|0)<<2)>>2]=p;if((p|0)>-1){m=f+24|0;n=f+28|0;f=k[n>>2]|0;d=k[m>>2]|0;g=f-d>>2;do if(g>>>0<=p>>>0){h=p+1|0;j=f;if(h>>>0>g>>>0){Ld(m,h-g|0);d=k[m>>2]|0;break}if(h>>>0>=g>>>0)break;f=d+(h<<2)|0;if((j|0)==(f|0))break;k[n>>2]=j+(~((j+-4-f|0)>>>2)<<2)}while(0);k[d+(p<<2)>>2]=s;f=k[D>>2]|0}do if(v)p=-1073741824;else{d=(((u>>>0)%3|0|0)==0?2:-1)+u|0;if((d|0)<0){p=-1073741824;break}p=k[(k[f>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[f>>2]|0)+(((c|0)<-2?-1073741824:(w>>>0)/3|0)*12|0)+(((w|0)%3|0)<<2)>>2]=p;if((p|0)>-1){m=f+24|0;n=f+28|0;f=k[n>>2]|0;d=k[m>>2]|0;g=f-d>>2;do if(g>>>0<=p>>>0){h=p+1|0;j=f;if(h>>>0>g>>>0){Ld(m,h-g|0);d=k[m>>2]|0;break}if(h>>>0>=g>>>0)break;f=d+(h<<2)|0;if((j|0)==(f|0))break;k[n>>2]=j+(~((j+-4-f|0)>>>2)<<2)}while(0);k[d+(p<<2)>>2]=w}if((e|0)>(O|0)){e=-1;break e}d=(k[Y>>2]|0)+(t>>>5<<2)|0;k[d>>2]=k[d>>2]&~(1<<(t&31));d=k[R>>2]|0;k[d+-4>>2]=c;W=340}else if((W|0)==207){W=0;switch(c|0){case 3:case 5:{u=k[m+-4>>2]|0;d=w*3|0;p=((c|0)==5?2:1)+d|0;c=k[D>>2]|0;v=k[c+12>>2]|0;k[v+(p<<2)>>2]=u;k[v+(u<<2)>>2]=p;v=e+1|0;t=(p|0)<0;k[(k[c>>2]|0)+((t?-1073741824:(p>>>0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=e;if((e|0)>-1){j=c+24|0;m=c+28|0;f=k[m>>2]|0;c=k[j>>2]|0;g=f-c>>2;do if(g>>>0<=e>>>0){h=f;if(v>>>0>g>>>0){Ld(j,v-g|0);c=k[j>>2]|0;break}if(v>>>0>=g>>>0)break;f=c+(v<<2)|0;if((h|0)==(f|0))break;k[m>>2]=h+(~((h+-4-f|0)>>>2)<<2)}while(0);k[c+(e<<2)>>2]=p;e=k[D>>2]|0}else e=c;c=p+1|0;if(t)q=p;else q=((c|0)%3|0|0)==0?p+-2|0:c;s=(u|0)<0;do if(s)n=-1073741824;else{c=(((u>>>0)%3|0|0)==0?2:-1)+u|0;if((c|0)<0){n=-1073741824;break}n=k[(k[e>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[e>>2]|0)+(((q|0)<0?-1073741824:(q>>>0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]=n;if((n|0)>-1){j=e+24|0;m=e+28|0;e=k[m>>2]|0;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){Ld(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]=q;e=k[D>>2]|0}do if(!t)if(!((p>>>0)%3|0)){p=p+2|0;break}else{p=p+-1|0;break}while(0);c=u+1|0;do if(s)n=-1073741824;else{c=((c|0)%3|0|0)==0?u+-2|0:c;if((c|0)<0){n=-1073741824;break}n=k[(k[e>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[e>>2]|0)+(((p|0)<0?-1073741824:(p>>>0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=n;if((n|0)>-1){j=e+24|0;m=e+28|0;e=k[m>>2]|0;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){Ld(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}n=k[R>>2]|0;k[n+-4>>2]=d;e=v;break}case 1:{c=m+-4|0;u=k[c>>2]|0;k[R>>2]=c;g=k[G>>2]|0;j:do if(g){h=g+-1|0;f=(h&g|0)==0;if(f)j=h&w;else j=(w>>>0)%(g>>>0)|0;d=k[(k[ja>>2]|0)+(j<<2)>>2]|0;if(!d)break;if(f)do{d=k[d>>2]|0;if(!d)break j;if((k[d+4>>2]&h|0)!=(j|0))break j}while((k[d+8>>2]|0)!=(w|0));else do{d=k[d>>2]|0;if(!d)break j;if((((k[d+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(j|0))break j}while((k[d+8>>2]|0)!=(w|0));d=d+12|0;if((c|0)==(k[I>>2]|0)){Pd(ma,d);c=k[R>>2]|0;break}else{k[c>>2]=k[d>>2];k[R>>2]=m;c=m;break}}while(0);p=k[c+-4>>2]|0;w=w*3|0;s=w+2|0;d=k[D>>2]|0;n=k[d+12>>2]|0;k[n+(p<<2)>>2]=s;k[n+(s<<2)>>2]=p;q=w+1|0;k[n+(u<<2)>>2]=q;k[n+(q<<2)>>2]=u;n=(p|0)<0;do if(n)v=-1073741824;else{c=(((p>>>0)%3|0|0)==0?2:-1)+p|0;if((c|0)<0){v=-1073741824;break}v=k[(k[d>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[d>>2]|0)+(((w>>>0)/3|0)*12|0)+(((w|0)%3|0)<<2)>>2]=v;t=(v|0)>-1;if(t){j=d+24|0;m=d+28|0;d=k[m>>2]|0;c=k[j>>2]|0;f=d-c>>2;do if(f>>>0<=v>>>0){g=v+1|0;h=d;if(g>>>0>f>>>0){Ld(j,g-f|0);c=k[j>>2]|0;break}if(g>>>0>=f>>>0)break;d=c+(g<<2)|0;if((h|0)==(d|0))break;k[m>>2]=h+(~((h+-4-d|0)>>>2)<<2)}while(0);k[c+(v<<2)>>2]=w;d=k[D>>2]|0}c=p+1|0;do if(n)n=-1073741824;else{c=((c|0)%3|0|0)==0?p+-2|0:c;if((c|0)<0){n=-1073741824;break}n=k[(k[d>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[d>>2]|0)+(((w|0)<-1?-1073741824:(q>>>0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]=n;if((n|0)>-1){j=d+24|0;m=d+28|0;d=k[m>>2]|0;c=k[j>>2]|0;f=d-c>>2;do if(f>>>0<=n>>>0){g=n+1|0;h=d;if(g>>>0>f>>>0){Ld(j,g-f|0);c=k[j>>2]|0;break}if(g>>>0>=f>>>0)break;d=c+(g<<2)|0;if((h|0)==(d|0))break;k[m>>2]=h+(~((h+-4-d|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=q;d=k[D>>2]|0}p=(u|0)<0;do if(p)n=-1073741824;else{c=(((u>>>0)%3|0|0)==0?2:-1)+u|0;if((c|0)<0){n=-1073741824;break}n=k[(k[d>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[d>>2]|0)+(((w|0)<-2?-1073741824:(s>>>0)/3|0)*12|0)+(((s|0)%3|0)<<2)>>2]=n;if((n|0)>-1){j=d+24|0;m=d+28|0;d=k[m>>2]|0;c=k[j>>2]|0;f=d-c>>2;do if(f>>>0<=n>>>0){g=n+1|0;h=d;if(g>>>0>f>>>0){Ld(j,g-f|0);c=k[j>>2]|0;break}if(g>>>0>=f>>>0)break;d=c+(g<<2)|0;if((h|0)==(d|0))break;k[m>>2]=h+(~((h+-4-d|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=s}c=u+1|0;do if(p){p=-1073741824;d=u}else{c=((c|0)%3|0|0)==0?u+-2|0:c;if((c|0)<0){p=-1073741824;d=c;break}p=k[(k[k[D>>2]>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;d=c}while(0);W=k[H>>2]|0;c=W+(v<<2)|0;k[c>>2]=(k[c>>2]|0)+(k[W+(p<<2)>>2]|0);c=k[D>>2]|0;k:do if((d|0)>-1){n=v+1|0;if(!t){g=k[c>>2]|0;h=c+12|0;while(1){k[g+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]=v;W=d+1|0;d=((W|0)%3|0|0)==0?d+-2|0:W;if((d|0)<0)break k;d=k[(k[h>>2]|0)+(d<<2)>>2]|0;f=d+1|0;if((d|0)<0)break k;d=((f|0)%3|0|0)==0?d+-2|0:f;if((d|0)<=-1)break k}}do{k[(k[c>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]=v;j=c+24|0;m=c+28|0;f=k[m>>2]|0;c=k[j>>2]|0;g=f-c>>2;do if(g>>>0<=v>>>0){h=f;if(n>>>0>g>>>0){Ld(j,n-g|0);c=k[j>>2]|0;break}if(n>>>0>=g>>>0)break;f=c+(n<<2)|0;if((h|0)==(f|0))break;k[m>>2]=h+(~((h+-4-f|0)>>>2)<<2)}while(0);k[c+(v<<2)>>2]=d;c=d+1|0;d=((c|0)%3|0|0)==0?d+-2|0:c;c=k[D>>2]|0;if((d|0)<0)break k;d=k[(k[c+12>>2]|0)+(d<<2)>>2]|0;f=d+1|0;if((d|0)<0)break k;d=((f|0)%3|0|0)==0?d+-2|0:f}while((d|0)>-1)}while(0);k[(k[c+24>>2]|0)+(p<<2)>>2]=-1073741824;d=k[R>>2]|0;k[d+-4>>2]=w;c=w;W=340;break h}case 7:{m=w*3|0;k[ca>>2]=m;d=k[D>>2]|0;n=e+1|0;c=k[d>>2]|0;k[c+(((m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=e;if((e|0)>-1){h=d+24|0;j=d+28|0;d=k[j>>2]|0;c=k[h>>2]|0;f=d-c>>2;do if(f>>>0<=e>>>0){g=d;if(n>>>0>f>>>0){Ld(h,n-f|0);c=k[h>>2]|0;break}if(n>>>0>=f>>>0)break;d=c+(n<<2)|0;if((g|0)==(d|0))break;k[j>>2]=g+(~((g+-4-d|0)>>>2)<<2)}while(0);k[c+(e<<2)>>2]=m;d=k[D>>2]|0;f=k[ca>>2]|0;c=k[d>>2]|0}else f=m;m=f+1|0;p=e+2|0;k[c+(((f|0)<-1?-1073741824:(m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=n;if((e|0)>-2){h=d+24|0;j=d+28|0;d=k[j>>2]|0;c=k[h>>2]|0;f=d-c>>2;do if(f>>>0<=n>>>0){g=d;if(p>>>0>f>>>0){Ld(h,p-f|0);c=k[h>>2]|0;break}if(p>>>0>=f>>>0)break;d=c+(p<<2)|0;if((g|0)==(d|0))break;k[j>>2]=g+(~((g+-4-d|0)>>>2)<<2)}while(0);k[c+(n<<2)>>2]=m;d=k[D>>2]|0;f=k[ca>>2]|0;c=k[d>>2]|0}m=f+2|0;e=e+3|0;k[c+(((f|0)<-2?-1073741824:(m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=p;if((p|0)>-1){h=d+24|0;j=d+28|0;d=k[j>>2]|0;c=k[h>>2]|0;f=d-c>>2;do if(f>>>0<=p>>>0){g=d;if(e>>>0>f>>>0){Ld(h,e-f|0);c=k[h>>2]|0;break}if(e>>>0>=f>>>0)break;d=c+(e<<2)|0;if((g|0)==(d|0))break;k[j>>2]=g+(~((g+-4-d|0)>>>2)<<2)}while(0);k[c+(p<<2)>>2]=m}c=k[R>>2]|0;if((c|0)==(k[I>>2]|0)){Pd(ma,ca);c=k[R>>2]|0}else{k[c>>2]=k[ca>>2];c=c+4|0;k[R>>2]=c}n=c;d=k[c+-4>>2]|0;break}default:{e=-1;break e}}c=n;Zb(P,d);j=Q-w|0;m=j+-1|0;d=k[V>>2]|0;if((d|0)==(k[E>>2]|0)){d=n;break}while(1){f=k[d+-8>>2]|0;if((f|0)>=(j|0)){e=-1;break e}if((f|0)!=(m|0)){d=n;break h}f=i[d+-4>>0]|0;h=k[d+-12>>2]|0;k[V>>2]=d+-12;if((h|0)<0){e=-1;break e}d=k[n+-4>>2]|0;g=(d|0)<0;do if(!(f&1)){if(g)break;if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}else{f=d+1|0;if(g)break;d=((f|0)%3|0|0)==0?d+-2|0:f}while(0);w=jc(ja,F-h|0)|0;k[w>>2]=d;d=k[V>>2]|0;if((d|0)==(k[E>>2]|0)){d=n;break}}}while(0);if((W|0)==340){Zb(P,c);c=d}if((b|0)<(Q|0)){w=b;m=d}else{W=354;break}}}else{e=0;b=0;c=0;W=354}while(0);do if((W|0)==354){if((e|0)>(O|0)){e=-1;break}d=k[ma>>2]|0;l:do if((c|0)!=(d|0)){t=a+316|0;u=a+8|0;v=a+64|0;w=a+72|0;x=a+84|0;y=a+76|0;z=a+312|0;A=a+304|0;B=a+308|0;m:while(1){m=k[c+-4>>2]|0;k[ca>>2]=m;c=c+-4|0;k[R>>2]=c;do if(i[t>>0]|0){f=k[z>>2]|0;g=(k[A>>2]|0)+(f>>>3)|0;if(g>>>0<(k[B>>2]|0)>>>0?(V=l[g>>0]|0,k[z>>2]=f+1,V&1<<(f&7)|0):0){W=361;break}f=k[Z>>2]|0;g=k[w>>2]|0;if((f|0)==(g<<5|0)){if((f+1|0)<0){W=416;break m}V=g<<6;Q=f+32&-32;Td(v,f>>>0<1073741823?(V>>>0>>0?Q:V):2147483647);f=k[Z>>2]|0}k[Z>>2]=f+1;V=(k[v>>2]|0)+(f>>>5<<2)|0;k[V>>2]=k[V>>2]&~(1<<(f&31));f=k[$>>2]|0;if((f|0)==(k[x>>2]|0)){Pd(y,ca);break}else{k[f>>2]=m;k[$>>2]=f+4;break}}else W=361;while(0);if((W|0)==361){W=0;n:do if((m|0)<0){d=1;f=m;c=m;W=367}else{c=m+(((m>>>0)%3|0|0)==0?2:-1)|0;o:do if((c|0)<0)h=1;else{f=k[(k[u>>2]|0)+12>>2]|0;d=c;while(1){c=k[f+(d<<2)>>2]|0;if((c|0)<=-1){h=0;c=d;break o}c=c+(((c>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0){h=1;break}else d=c}}while(0);f=m+1|0;f=((f|0)%3|0|0)==0?m+-2|0:f;if((f|0)<0){d=h;W=367;break}j=k[u>>2]|0;g=k[j+12>>2]|0;while(1){d=k[g+(f<<2)>>2]|0;if((d|0)<=-1){d=h;q=0;h=j;break n}f=d+1|0;f=((f|0)%3|0|0)==0?d+-2|0:f;if((f|0)<0){d=h;q=1;h=j;break}}}while(0);if((W|0)==367){W=0;h=k[u>>2]|0;q=1;g=k[h+12>>2]|0}s=b+1|0;p=b*3|0;k[da>>2]=p;k[g+(p<<2)>>2]=m;k[g+(m<<2)>>2]=p;V=p+1|0;k[g+(V<<2)>>2]=c;k[g+(c<<2)>>2]=V;V=p+2|0;k[g+(V<<2)>>2]=f;k[g+(f<<2)>>2]=V;g=c+1|0;do if(d)n=-1073741824;else{c=((g|0)%3|0|0)==0?c+-2|0:g;if((c|0)<0){n=-1073741824;break}n=k[(k[h>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[h>>2]|0)+(((b|0)<0?-1073741824:(p>>>0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=n;if((n|0)>-1){j=h+24|0;m=h+28|0;c=k[m>>2]|0;b=k[j>>2]|0;d=c-b>>2;do if(d>>>0<=n>>>0){g=n+1|0;h=c;if(g>>>0>d>>>0){Ld(j,g-d|0);b=k[j>>2]|0;break}if(g>>>0>=d>>>0)break;c=b+(g<<2)|0;if((h|0)==(c|0))break;k[m>>2]=h+(~((h+-4-c|0)>>>2)<<2)}while(0);k[b+(n<<2)>>2]=p;d=k[da>>2]|0;c=k[u>>2]|0}else{d=p;c=h}n=d+1|0;b=f+1|0;do if(q)m=-1073741824;else{b=((b|0)%3|0|0)==0?f+-2|0:b;if((b|0)<0){m=-1073741824;break}m=k[(k[c>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[c>>2]|0)+(((d|0)<-1?-1073741824:(n>>>0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){h=c+24|0;j=c+28|0;c=k[j>>2]|0;b=k[h>>2]|0;d=c-b>>2;do if(d>>>0<=m>>>0){f=m+1|0;g=c;if(f>>>0>d>>>0){Ld(h,f-d|0);b=k[h>>2]|0;break}if(f>>>0>=d>>>0)break;c=b+(f<<2)|0;if((g|0)==(c|0))break;k[j>>2]=g+(~((g+-4-c|0)>>>2)<<2)}while(0);k[b+(m<<2)>>2]=n;d=k[da>>2]|0;f=k[u>>2]|0}else f=c;n=d+2|0;b=k[ca>>2]|0;c=b+1|0;do if((b|0)<0)m=-1073741824;else{b=((c|0)%3|0|0)==0?b+-2|0:c;if((b|0)<0){m=-1073741824;break}m=k[(k[f>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[f>>2]|0)+(((d|0)<-2?-1073741824:(n>>>0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){h=f+24|0;j=f+28|0;c=k[j>>2]|0;b=k[h>>2]|0;d=c-b>>2;do if(d>>>0<=m>>>0){f=m+1|0;g=c;if(f>>>0>d>>>0){Ld(h,f-d|0);b=k[h>>2]|0;break}if(f>>>0>=d>>>0)break;c=b+(f<<2)|0;if((g|0)==(c|0))break;k[j>>2]=g+(~((g+-4-c|0)>>>2)<<2)}while(0);k[b+(m<<2)>>2]=n;d=k[da>>2]|0}if((d|0)<0)b=-1073741824;else b=k[(k[k[u>>2]>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;c=k[Y>>2]|0;V=c+(b>>>5<<2)|0;k[V>>2]=k[V>>2]&~(1<<(b&31));b=d+1|0;if((d|0)<-1)b=-1073741824;else b=k[(k[k[u>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;V=c+(b>>>5<<2)|0;k[V>>2]=k[V>>2]&~(1<<(b&31));b=d+2|0;if((d|0)<-2)b=-1073741824;else b=k[(k[k[u>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;c=c+(b>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(b&31));b=k[Z>>2]|0;c=k[w>>2]|0;if((b|0)==(c<<5|0)){if((b+1|0)<0){W=406;break}V=c<<6;Q=b+32&-32;Td(v,b>>>0<1073741823?(V>>>0>>0?Q:V):2147483647);b=k[Z>>2]|0}k[Z>>2]=b+1;V=(k[v>>2]|0)+(b>>>5<<2)|0;k[V>>2]=k[V>>2]|1<<(b&31);b=k[$>>2]|0;if((b|0)==(k[x>>2]|0))Pd(y,da);else{k[b>>2]=d;k[$>>2]=b+4}b=s;c=k[R>>2]|0;d=k[ma>>2]|0}if((c|0)==(d|0)){aa=b;ba=u;break l}}if((W|0)==406)Ba(11055,11078,304,11175);else if((W|0)==416)Ba(11055,11078,304,11175)}else{aa=b;ba=a+8|0}while(0);da=k[ba>>2]|0;if((aa|0)!=(((k[da+4>>2]|0)-(k[da>>2]|0)|0)/12|0|0)){e=-1;break}b=a+88|0;f=a+92|0;g=k[f>>2]|0;c=k[b>>2]|0;d=g-c>>2;if(e>>>0>d>>>0){Ld(b,e-d|0);break}if(e>>>0>=d>>>0)break;b=c+(e<<2)|0;if((g|0)==(b|0))break;k[f>>2]=g+(~((g+-4-b|0)>>>2)<<2)}while(0);b=k[ja+8>>2]|0;if(b|0)do{da=b;b=k[b>>2]|0;gb(da)}while((b|0)!=0);b=k[ja>>2]|0;k[ja>>2]=0;if(b|0)gb(b);b=k[ma>>2]|0;c=b;if(b|0){d=k[R>>2]|0;if((d|0)!=(b|0))k[R>>2]=d+(~((d+-4-c|0)>>>2)<<2);gb(b)}if((e|0)==-1){b=0;break}f=k[(k[ka>>2]|0)+20>>2]|0;c=T;b=k[c>>2]|0;e=(k[ea>>2]|0)+b|0;ea=S;c=Nf(k[ea>>2]|0,k[ea+4>>2]|0,b|0,k[c+4>>2]|0)|0;k[f>>2]=e;e=f+8|0;k[e>>2]=c;k[e+4>>2]=0;f=f+16|0;k[f>>2]=U;k[f+4>>2]=((U|0)<0)<<31>>31;f=k[ia>>2]|0;e=k[ha>>2]|0;c=e;b=k[ga>>2]|0;do if((f|0)==(e|0)){d=b;u=f;v=f}else{if(((k[b+4>>2]|0)-(k[b>>2]|0)|0)<=0){d=b;u=f;v=e;break}s=a+8|0;t=ma+4|0;u=ma+8|0;v=a+320|0;q=0;d=e;j=e;b=f;while(1){k[ma>>2]=q;p=q+1|0;k[t>>2]=((p|0)%3|0|0)==0?q+-2|0:p;k[u>>2]=q+(((q>>>0)%3|0|0)==0?2:-1);p=0;n=q;while(1){do if((n|0)<0)W=449;else{if((k[(k[(k[s>>2]|0)+12>>2]|0)+(n<<2)>>2]|0)<0){W=449;break}if((b|0)==(e|0)){m=d;h=j;g=e;f=e;break}else m=0;while(1){f=k[v>>2]|0;g=l[f+(m<<4)+12>>0]|0;h=f+(m<<4)+8|0;e=k[h>>2]|0;if(e>>>0<4096){da=f+(m<<4)+4|0;ea=(k[da>>2]|0)+-1|0;k[da>>2]=ea;e=l[(k[f+(m<<4)>>2]|0)+ea>>0]|e<<8;k[h>>2]=e}ba=e&255;ca=0-g&255;da=_(e>>>8,ca)|0;ea=ba>>>0>>0;k[h>>2]=ea?da+ba|0:e-ca-da|0;if(ea){k[ja>>2]=n;b=c+(m*116|0)+108|0;d=k[b>>2]|0;if(d>>>0<(k[c+(m*116|0)+112>>2]|0)>>>0){k[d>>2]=n;k[b>>2]=d+4}else Pd(c+(m*116|0)+104|0,ja);d=k[ha>>2]|0;e=d;b=k[ia>>2]|0}else e=j;m=m+1|0;c=e;if(m>>>0>=((b-e|0)/116|0)>>>0){m=d;h=e;g=e;f=b;break}else j=e}}while(0);do if((W|0)==449){W=0;c=j;if((b|0)==(j|0)){m=d;h=j;g=j;f=j;break}else h=0;while(1){e=j;k[ja>>2]=n;f=e+(h*116|0)+108|0;g=k[f>>2]|0;if(g>>>0<(k[e+(h*116|0)+112>>2]|0)>>>0){k[g>>2]=n;k[f>>2]=g+4;e=j}else{Pd(e+(h*116|0)+104|0,ja);c=k[ha>>2]|0;e=c;b=k[ia>>2]|0;d=c}h=h+1|0;if(h>>>0>=((b-e|0)/116|0)>>>0){m=d;h=e;g=e;f=b;break}else j=e}}while(0);b=p+1|0;if((b|0)==3)break;p=b;n=k[ma+(b<<2)>>2]|0;b=f;e=g;j=h;d=m}q=q+3|0;d=k[ga>>2]|0;if((q|0)>=((((k[d+4>>2]|0)-(k[d>>2]|0)|0)/12|0)*3|0)){u=f;v=m;break}else{d=m;j=h;e=g;b=f}}}while(0);i[a+276>>0]=0;b=Yf(k[a+272>>2]|0,0,7,0)|0;b=Kf(b|0,L|0,3)|0;t=X;t=Yf(b|0,L|0,k[t>>2]|0,k[t+4>>2]|0)|0;b=X;k[b>>2]=t;k[b+4>>2]=L;i[a+316>>0]=0;b=Yf(k[a+312>>2]|0,0,7,0)|0;b=Kf(b|0,L|0,3)|0;t=a+296|0;f=t;f=Yf(b|0,L|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[t>>2]=f;k[t+4>>2]=L;t=k[d+28>>2]|0;f=k[d+24>>2]|0;b=t-f|0;s=f;if((b|0)>0){q=k[Y>>2]|0;m=b>>2;n=d+12|0;j=0;do{do if(k[q+(j>>>5<<2)>>2]&1<<(j&31)|0){p=s+(j<<2)|0;h=k[p>>2]|0;if((h|0)<0)break;b=h+1|0;b=((b|0)%3|0|0)==0?h+-2|0:b;if((b|0)>=0){g=k[n>>2]|0;c=k[g+(b<<2)>>2]|0;b=c+1|0;p: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 p;c=k[g+(c<<2)>>2]|0;e=c+1|0;if((c|0)<0)break p;c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)>-1&(c|0)!=(h|0))b=c;else break}}while(0);if((c|0)==(h|0))break}else b=h;k[p>>2]=b}while(0);j=j+1|0}while((j|0)<(m|0))}b=v;if((u|0)==(v|0)){d=t;e=v;c=v}else{f=0;do{dc(b+(f*116|0)+4|0,d);b=k[fa>>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{Vc(b+(f*116|0)+4|0,k[c>>2]|0);c=c+4|0;b=k[fa>>2]|0}while((c|0)!=(d|0));cb(b+(f*116|0)+4|0,0,0);f=f+1|0;c=k[ia>>2]|0;e=k[ha>>2]|0;b=e;d=k[ga>>2]|0}while(f>>>0<((c-e|0)/116|0)>>>0);f=k[d+24>>2]|0;d=k[d+28>>2]|0}d=d-f>>2;f=a+212|0;j=a+216|0;m=k[j>>2]|0;h=k[f>>2]|0;g=m-h>>2;do if(d>>>0>g>>>0){Ld(f,d-g|0);b=k[ha>>2]|0;c=k[ia>>2]|0;e=b}else{if(d>>>0>=g>>>0)break;d=h+(d<<2)|0;if((m|0)==(d|0))break;k[j>>2]=m+(~((m+-4-d|0)>>>2)<<2)}while(0);if((c|0)==(e|0)){b=e;c=e}else{n=0;h=b;b=e;m=e;while(1){f=(k[h+(n*116|0)+60>>2]|0)-(k[h+(n*116|0)+56>>2]|0)>>2;g=k[ga>>2]|0;g=(k[g+28>>2]|0)-(k[g+24>>2]|0)>>2;f=(f|0)<(g|0)?g:f;g=h+(n*116|0)+88|0;h=h+(n*116|0)+92|0;j=k[h>>2]|0;e=k[g>>2]|0;d=j-e>>2;do if(f>>>0>d>>>0){Ld(g,f-d|0);b=k[ha>>2]|0;d=b;c=k[ia>>2]|0}else{if(f>>>0>=d>>>0){d=m;break}d=e+(f<<2)|0;if((j|0)==(d|0)){d=m;break}k[h>>2]=j+(~((j+-4-d|0)>>>2)<<2);d=m}while(0);n=n+1|0;if(n>>>0>=((c-d|0)/116|0)>>>0)break;else{h=d;m=d}}}h=k[(k[ka>>2]|0)+24>>2]|0;z=a+8|0;d=k[z>>2]|0;d=((k[d+4>>2]|0)-(k[d>>2]|0)|0)/12|0;e=h+80|0;h=h+84|0;k[ma>>2]=0;k[ma+4>>2]=0;k[ma+8>>2]=0;j=k[h>>2]|0;g=k[e>>2]|0;f=(j-g|0)/12|0;do if(d>>>0>f>>>0){Zc(e,d-f|0,ma);c=k[ia>>2]|0;b=k[ha>>2]|0}else{if(d>>>0>=f>>>0)break;d=g+(d*12|0)|0;if((j|0)==(d|0))break;k[h>>2]=j+(~(((j+-12-d|0)>>>0)/12|0)*12|0)}while(0);if((c|0)==(b|0)){b=k[z>>2]|0;b=(k[b+28>>2]|0)-(k[b+24>>2]|0)|0;e=b>>2;if(!e)d=0;else{if(e>>>0>1073741823)Ba(11055,11078,304,11175);c=(b|0)==0?1:b;while(1){b=Xa(c)|0;if(b|0){d=b;break}b=k[2993]|0;k[2993]=b+0;if(!b){d=0;break}Na[b&1]()}b=e;c=d;while(1){k[c>>2]=-1;b=b+-1|0;if(!b)break;else c=c+4|0}}b=k[ka>>2]|0;f=k[b+24>>2]|0;e=k[f+84>>2]|0;g=k[f+80>>2]|0;if((e-g|0)>0){c=0;w=0;u=b;v=b;while(1){n=w*3|0;b=d+(k[(k[k[z>>2]>>2]|0)+(((n>>>0)/3|0)*12|0)+(((n>>>0)%3|0)<<2)>>2]<<2)|0;h=k[b>>2]|0;if((h|0)==-1){k[b>>2]=c;j=c+1|0;h=c}else j=c;b=n+1|0;if((n|0)<-1)b=-1073741824;else b=k[(k[k[z>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;b=d+(b<<2)|0;c=k[b>>2]|0;if((c|0)==-1){k[b>>2]=j;m=j+1|0;t=j}else{m=j;t=c}b=n+2|0;if((n|0)<-2)b=-1073741824;else b=k[(k[k[z>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;b=d+(b<<2)|0;j=k[b>>2]|0;if((j|0)==-1){k[b>>2]=m;c=m+1|0;j=m}else c=m;n=f+80|0;q=f+84|0;b=(e-g|0)/12|0;p=g;s=w;w=w+1|0;if((s|0)<(b|0)){b=u;m=v}else{m=e;k[ma>>2]=0;k[ma+4>>2]=0;k[ma+8>>2]=0;do if(w>>>0>b>>>0){Zc(n,w-b|0,ma);m=k[ka>>2]|0;g=k[m+24>>2]|0;b=k[n>>2]|0;f=g;e=k[g+84>>2]|0;g=k[g+80>>2]|0}else{if(w>>>0>=b>>>0){b=p;m=v;break}b=p+(w*12|0)|0;if((m|0)==(b|0)){b=p;m=v;break}e=m+(~(((m+-12-b|0)>>>0)/12|0)*12|0)|0;k[q>>2]=e;b=p;m=v}while(0);p=b;b=m}k[p+(s*12|0)>>2]=h;k[p+(s*12|0)+4>>2]=t;k[p+(s*12|0)+8>>2]=j;if((w|0)>=((e-g|0)/12|0|0))break;else{u=b;v=m}}}else c=0;k[(k[b+4>>2]|0)+64>>2]=c;if(!d){b=1;break}gb(d);b=1;break}k[ja>>2]=0;y=ja+4|0;k[y>>2]=0;k[ja+8>>2]=0;b=k[z>>2]|0;c=(k[b+4>>2]|0)-(k[b>>2]|0)|0;if(!c)x=0;else{if((((c|0)/12|0)*3|0)>>>0>1073741823)Ba(11055,11078,304,11175);while(1){b=Xa(c)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}Ke(b|0,0,c|0)|0;x=b;b=k[z>>2]|0}q:do if(((k[b+28>>2]|0)-(k[b+24>>2]|0)|0)>0){v=a+136|0;w=ja+8|0;u=0;r:while(1){f=k[(k[b+24>>2]|0)+(u<<2)>>2]|0;s:do if((f|0)>=0){t:do if(!(k[(k[v>>2]|0)+(u>>>5<<2)>>2]&1<<(u&31))){c=k[ia>>2]|0;d=k[ha>>2]|0;p=d;if((c|0)==(d|0))break;q=(f>>>0)/3|0;s=(f>>>0)%3|0;n=((s|0)==0?2:-1)+f|0;t=(n|0)<0;g=(c-d|0)/116|0;h=b+12|0;e=0;u:while(1){a=k[(k[k[p+(e*116|0)+68>>2]>>2]|0)+(q*12|0)+(s<<2)>>2]|0;do if(1<<(a&31)&k[(k[p+(e*116|0)+16>>2]|0)+(a>>>5<<2)>>2]|0){j=k[p+(e*116|0)+32>>2]|0;m=k[j+(f<<2)>>2]|0;if(!t){c=k[(k[h>>2]|0)+(n<<2)>>2]|0;do if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);if((c|0)==(f|0))break;else d=c}else d=n;while(1){c=k[j+(d<<2)>>2]|0;if((d|0)<0)break u;if((c|0)!=(m|0)){f=d;break t}c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;do if((c|0)>=0){c=k[(k[h>>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);if((c|0)==(f|0))break;else d=c}}while(0);e=e+1|0;if(e>>>0>=g>>>0)break t}while(1)if((c|0)==(m|0))c=m;else{f=d;break}}while(0);c=k[y>>2]|0;k[x+(f<<2)>>2]=c-(k[ja>>2]|0)>>2;k[ma>>2]=f;if(c>>>0<(k[w>>2]|0)>>>0){k[c>>2]=f;k[y>>2]=c+4}else{Pd(ja,ma);b=k[z>>2]|0}if((f|0)<0)break;c=(((f>>>0)%3|0|0)==0?2:-1)+f|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;if((c|0)>-1&(c|0)!=(f|0)){g=c;d=f}else break;while(1){if((g|0)<0)break r;b=k[ia>>2]|0;c=k[ha>>2]|0;e=c;v:do if((b|0)!=(c|0)){c=(b-c|0)/116|0;b=0;while(1){a=k[e+(b*116|0)+32>>2]|0;b=b+1|0;if((k[a+(g<<2)>>2]|0)!=(k[a+(d<<2)>>2]|0))break;if(b>>>0>=c>>>0){W=575;break v}}b=k[y>>2]|0;k[x+(g<<2)>>2]=b-(k[ja>>2]|0)>>2;k[ma>>2]=g;if(b>>>0<(k[w>>2]|0)>>>0){k[b>>2]=g;k[y>>2]=b+4}else Pd(ja,ma)}else W=575;while(0);if((W|0)==575){W=0;k[x+(g<<2)>>2]=k[x+(d<<2)>>2]}c=(((g>>>0)%3|0|0)==0?2:-1)+g|0;b=k[z>>2]|0;if((c|0)<0)break s;c=k[(k[b+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break s;c=c+(((c>>>0)%3|0|0)==0?2:-1)|0;if((c|0)>-1&(c|0)!=(f|0)){d=g;g=c}else break}}while(0);u=u+1|0;if((u|0)>=((k[b+28>>2]|0)-(k[b+24>>2]|0)>>2|0))break q}f=x+(g<<2)|0;w:while(1){b=k[ia>>2]|0;c=k[ha>>2]|0;e=c;x:do if((b|0)!=(c|0)){c=(b-c|0)/116|0;b=0;while(1){la=k[e+(b*116|0)+32>>2]|0;b=b+1|0;if((k[la+(g<<2)>>2]|0)!=(k[la+(d<<2)>>2]|0))break;if(b>>>0>=c>>>0)break x}b=k[y>>2]|0;k[f>>2]=b-(k[ja>>2]|0)>>2;k[ma>>2]=g;if(b>>>0<(k[w>>2]|0)>>>0){k[b>>2]=g;k[y>>2]=b+4}else Pd(ja,ma);d=g;continue w}while(0);k[f>>2]=k[x+(d<<2)>>2];d=g}}while(0);b=k[ka>>2]|0;c=k[b+24>>2]|0;e=k[c+84>>2]|0;d=k[c+80>>2]|0;if((e-d|0)>0){t=0;g=b;m=b;while(1){s=x+(t*3<<2)|0;n=k[s>>2]|0;q=k[s+4>>2]|0;s=k[s+8>>2]|0;b=c+80|0;h=c+84|0;f=(e-d|0)/12|0;j=d;p=t;t=t+1|0;if((p|0)<(f|0)){b=g;f=m}else{g=e;k[ma>>2]=0;k[ma+4>>2]=0;k[ma+8>>2]=0;do if(t>>>0>f>>>0){Zc(b,t-f|0,ma);f=k[ka>>2]|0;d=k[f+24>>2]|0;b=k[b>>2]|0;c=d;e=k[d+84>>2]|0;d=k[d+80>>2]|0}else{if(t>>>0>=f>>>0){b=j;f=m;break}b=j+(t*12|0)|0;if((g|0)==(b|0)){b=j;f=m;break}e=g+(~(((g+-12-b|0)>>>0)/12|0)*12|0)|0;k[h>>2]=e;b=j;f=m}while(0);j=b;b=f}k[j+(p*12|0)>>2]=n;k[j+(p*12|0)+4>>2]=q;k[j+(p*12|0)+8>>2]=s;if((t|0)>=((e-d|0)/12|0|0))break;else{g=b;m=f}}}c=k[y>>2]|0;d=k[ja>>2]|0;k[(k[b+4>>2]|0)+64>>2]=c-d>>2;if(x|0)gb(x);b=d;if(d|0){if((c|0)!=(d|0))k[y>>2]=c+(~((c+-4-d|0)>>>2)<<2);gb(b)}b=1}else b=0;while(0);ma=b;r=la;return ma|0}function Wa(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,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,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;da=r;r=r+80|0;ea=da+68|0;ba=da+48|0;U=da+44|0;V=da+40|0;W=da;p=a+148|0;k[p>>2]=0;e=a+164|0;if(k[e>>2]|0){c=a+160|0;b=k[c>>2]|0;if(b|0)do{ca=b;b=k[b>>2]|0;gb(ca)}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}ca=a+4|0;b=k[(k[ca>>2]|0)+20>>2]|0;m=b+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;n=b+16|0;g=n;f=k[g>>2]|0;g=k[g+4>>2]|0;d=Yf(f|0,g|0,4,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){ea=0;r=da;return ea|0}h=k[b>>2]|0;e=h+f|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;b=n;k[b>>2]=d;k[b+4>>2]=c;k[p>>2]=e;e=Yf(f|0,g|0,8,0)|0;b=L;if((m|0)<(b|0)|(m|0)==(b|0)&j>>>0>>0){ea=0;r=da;return ea|0}c=h+d|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;s=n;k[s>>2]=e;k[s+4>>2]=b;s=a+172|0;k[s>>2]=c;b=Yf(f|0,g|0,12,0)|0;c=L;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){ea=0;r=da;return ea|0}p=h+e|0;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;d=n;k[d>>2]=b;k[d+4>>2]=c;b=k[a+24>>2]|0;c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Y=a+8|0;while(1){b=Xa(60)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}e=b;f=e+60|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c=k[Y>>2]|0;k[Y>>2]=b;if(c){_d(c);gb(c);b=k[Y>>2]|0;if(!b){ea=0;r=da;return ea|0}}Ob(b,p);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);Xd(b,p);b=a+188|0;c=k[b>>2]|0;d=a+192|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Xd(b,p);b=k[a+36>>2]|0;N=a+40|0;c=k[N>>2]|0;if((c|0)!=(b|0))k[N>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);b=k[a+48>>2]|0;u=a+52|0;c=k[u>>2]|0;if((c|0)!=(b|0))k[u>>2]=c+(~((c+-4-b|0)>>>2)<<2);Q=a+68|0;k[Q>>2]=0;b=k[a+76>>2]|0;R=a+80|0;c=k[R>>2]|0;if((c|0)!=(b|0))k[R>>2]=c+(~((c+-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[ca>>2]|0)+20>>2]|0;$=b+8|0;Z=k[$+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((Z|0)>(e|0)|((Z|0)==(e|0)?(k[$>>2]|0)>>>0>d>>>0:0))){ea=0;r=da;return ea|0}h=i[(k[b>>2]|0)+d>>0]|0;Z=Yf(d|0,e|0,1,0)|0;$=c;k[$>>2]=Z;k[$+4>>2]=L;if(h<<24>>24<0){ea=0;r=da;return ea|0}X=a+228|0;g=k[X>>2]|0;$=a+232|0;b=k[$>>2]|0;if((b|0)==(g|0)){Z=X;f=g}else{do{k[$>>2]=b+-116;c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}ee(b+-112|0);b=k[$>>2]|0}while((b|0)!=(g|0));Z=X;f=k[X>>2]|0}e=b;t=h<<24>>24;c=(e-f|0)/116|0;d=f;a:do if(t>>>0<=c>>>0){if(t>>>0>>0?(q=d+(t*116|0)|0,(b|0)!=(q|0)):0)do{k[$>>2]=b+-116;c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}ee(b+-112|0);b=k[$>>2]|0}while((b|0)!=(q|0))}else{c=t-c|0;m=a+236|0;d=k[m>>2]|0;if(((d-e|0)/116|0)>>>0>=c>>>0)while(1){k[b>>2]=-1;e=b+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;i[b+28>>0]=1;e=b+32|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));i[b+72>>0]=1;e=b+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));b=(k[$>>2]|0)+116|0;k[$>>2]=b;c=c+-1|0;if(!c)break a}g=(e-f|0)/116|0;b=g+c|0;if(b>>>0>37025580)Ba(11055,11078,304,11175);P=(d-f|0)/116|0;e=P<<1;e=P>>>0<18512790?(e>>>0>>0?b:e):37025580;if(!e)b=0;else{if(e>>>0>37025580){ea=Da(4)|0;k[ea>>2]=5228;ra(ea|0,736,67)}d=e*116|0;d=(d|0)==0?1:d;while(1){b=Xa(d)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}}h=b+(g*116|0)|0;g=h;d=b+(e*116|0)|0;j=g;b=h;do{k[b>>2]=-1;e=b+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;i[b+28>>0]=1;e=b+32|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));i[b+72>>0]=1;e=b+76|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));b=j+116|0;j=b;c=c+-1|0}while((c|0)!=0);e=k[X>>2]|0;b=e;c=k[$>>2]|0;if((c|0)==(e|0)){c=g;h=b}else{b=h;do{K=b;b=b+-116|0;M=c;c=c+-116|0;k[b>>2]=k[c>>2];P=M+-112|0;k[K+-112>>2]=k[P>>2];O=M+-108|0;k[K+-108>>2]=k[O>>2];J=M+-104|0;k[K+-104>>2]=k[J>>2];k[P>>2]=0;k[O>>2]=0;k[J>>2]=0;J=M+-100|0;k[K+-100>>2]=k[J>>2];O=M+-96|0;k[K+-96>>2]=k[O>>2];P=M+-92|0;k[K+-92>>2]=k[P>>2];k[J>>2]=0;k[O>>2]=0;k[P>>2]=0;i[K+-88>>0]=i[M+-88>>0]|0;P=K+-84|0;O=M+-84|0;k[P>>2]=0;J=K+-80|0;k[J>>2]=0;k[K+-76>>2]=0;k[P>>2]=k[O>>2];P=M+-80|0;k[J>>2]=k[P>>2];J=M+-76|0;k[K+-76>>2]=k[J>>2];k[J>>2]=0;k[P>>2]=0;k[O>>2]=0;O=K+-72|0;P=M+-72|0;k[O>>2]=0;J=K+-68|0;k[J>>2]=0;k[K+-64>>2]=0;k[O>>2]=k[P>>2];O=M+-68|0;k[J>>2]=k[O>>2];J=M+-64|0;k[K+-64>>2]=k[J>>2];k[J>>2]=0;k[O>>2]=0;k[P>>2]=0;P=K+-60|0;O=M+-60|0;k[P>>2]=0;J=K+-56|0;k[J>>2]=0;k[K+-52>>2]=0;k[P>>2]=k[O>>2];P=M+-56|0;k[J>>2]=k[P>>2];J=M+-52|0;k[K+-52>>2]=k[J>>2];k[J>>2]=0;k[P>>2]=0;k[O>>2]=0;k[K+-48>>2]=k[M+-48>>2];i[K+-44>>0]=i[M+-44>>0]|0;O=K+-40|0;P=M+-40|0;k[O>>2]=0;J=K+-36|0;k[J>>2]=0;k[K+-32>>2]=0;k[O>>2]=k[P>>2];O=M+-36|0;k[J>>2]=k[O>>2];J=M+-32|0;k[K+-32>>2]=k[J>>2];k[J>>2]=0;k[O>>2]=0;k[P>>2]=0;P=K+-28|0;O=M+-28|0;k[P>>2]=0;J=K+-24|0;k[J>>2]=0;k[K+-20>>2]=0;k[P>>2]=k[O>>2];P=M+-24|0;k[J>>2]=k[P>>2];J=M+-20|0;k[K+-20>>2]=k[J>>2];k[J>>2]=0;k[P>>2]=0;k[O>>2]=0;k[K+-16>>2]=k[M+-16>>2];O=K+-12|0;P=M+-12|0;k[O>>2]=0;J=K+-8|0;k[J>>2]=0;k[K+-4>>2]=0;k[O>>2]=k[P>>2];O=M+-8|0;k[J>>2]=k[O>>2];M=M+-4|0;k[K+-4>>2]=k[M>>2];k[M>>2]=0;k[O>>2]=0;k[P>>2]=0}while((c|0)!=(e|0));c=b;h=k[Z>>2]|0;b=k[$>>2]|0}k[Z>>2]=c;k[$>>2]=j;k[m>>2]=d;g=h;if((b|0)!=(g|0))do{c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(c)}ee(b+-112|0);b=b+-116|0}while((b|0)!=(g|0));if(!h)break;gb(h)}while(0);b=k[(k[ca>>2]|0)+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=k[d+4>>2]|0;m=Yf(c|0,d|0,4,0)|0;e=L;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){ea=0;r=da;return ea|0}f=k[b>>2]|0;I=f+c|0;I=l[I>>0]|l[I+1>>0]<<8|l[I+2>>0]<<16|l[I+3>>0]<<24;P=j;k[P>>2]=m;k[P+4>>2]=e;if(p>>>0>>0){ea=0;r=da;return ea|0}b=Yf(c|0,d|0,8,0)|0;c=L;if((h|0)<(c|0)|(h|0)==(c|0)&g>>>0>>0){ea=0;r=da;return ea|0}g=f+m|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;P=j;k[P>>2]=b;k[P+4>>2]=c;P=a+136|0;g=(k[s>>2]|0)+g|0;i[ea>>0]=1;nd(P,g,ea);g=k[(k[ca>>2]|0)+20>>2]|0;j=g+8|0;h=k[j>>2]|0;j=k[j+4>>2]|0;c=g+16|0;b=c;d=k[b>>2]|0;b=k[b+4>>2]|0;e=Yf(d|0,b|0,4,0)|0;f=L;g=k[g>>2]|0;if((j|0)<(f|0)|(j|0)==(f|0)&h>>>0>>0)c=0;else{d=g+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[c>>2]=e;k[c+4>>2]=f;c=d;d=e;b=f}s=g+d+c|0;q=Yf(d|0,b|0,c|0,0)|0;q=Nf(h|0,j|0,q|0,L|0)|0;if(0<0|0==0&q>>>0<4){ea=0;r=da;return ea|0}h=l[s>>0]|l[s+1>>0]<<8|l[s+2>>0]<<16|l[s+3>>0]<<24;b:do if(!h){c=4;b=0}else{j=ea+4|0;m=ea+8|0;n=a+44|0;p=a+36|0;g=0;c=4;b=0;while(1){d=Yf(c|0,b|0,4,0)|0;O=L;if(0<(O|0)|0==(O|0)&q>>>0>>0)break;e=s+c|0;k[ea>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=Yf(c|0,b|0,8,0)|0;f=L;if(0<(f|0)|0==(f|0)&q>>>0>>0)break;O=s+d|0;k[j>>2]=l[O>>0]|l[O+1>>0]<<8|l[O+2>>0]<<16|l[O+3>>0]<<24;if(!(0>(f|0)|0==(f|0)&q>>>0>e>>>0))break;d=i[s+e>>0]|0;c=Yf(c|0,b|0,9,0)|0;b=L;i[m>>0]=d&3|i[m>>0]&-4;d=k[N>>2]|0;if((d|0)==(k[n>>2]|0))Kd(p,ea);else{k[d>>2]=k[ea>>2];k[d+4>>2]=k[ea+4>>2];k[d+8>>2]=k[ea+8>>2];k[N>>2]=(k[N>>2]|0)+12}g=g+1|0;if(g>>>0>=h>>>0)break b}ea=0;r=da;return ea|0}while(0);d=Yf(c|0,b|0,4,0)|0;O=L;if(0<(O|0)|0==(O|0)&q>>>0>>0){ea=0;r=da;return ea|0}g=s+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;c:do if(!g)M=d;else{h=a+56|0;j=a+48|0;k[ea>>2]=0;b=Yf(c|0,b|0,8,0)|0;e=L;d:do if(!(0<(e|0)|0==(e|0)&q>>>0>>0)){f=0;c=d;d=b;while(1){b=s+c|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;k[ea>>2]=b;c=k[u>>2]|0;if((c|0)==(k[h>>2]|0))Pd(j,ea);else{k[c>>2]=b;k[u>>2]=c+4}f=f+1|0;if(f>>>0>=g>>>0)break;k[ea>>2]=0;b=Yf(d|0,e|0,4,0)|0;e=L;if(0<(e|0)|0==(e|0)&q>>>0>>0)break d;else{c=d;d=b}}M=d;break c}while(0);ea=0;r=da;return ea|0}while(0);if((M|0)==-1){ea=0;r=da;return ea|0}K=a+240|0;k[a+328>>2]=a;O=(La[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;O=k[O>>2]|0;H=k[O>>2]|0;O=k[O+16>>2]|0;J=(La[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;J=k[J>>2]|0;G=J+8|0;J=J+16|0;J=Nf(k[G>>2]|0,k[G+4>>2]|0,k[J>>2]|0,k[J+4>>2]|0)|0;k[K>>2]=H+O;O=a+248|0;k[O>>2]=J;k[O+4>>2]=0;O=a+256|0;J=O;k[J>>2]=0;k[J+4>>2]=0;k[a+324>>2]=t;k[W>>2]=0;J=W+8|0;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;k[J+24>>2]=0;i[J+28>>0]=0;do if(ec(K,W)|0){k[ea>>2]=0;K=ea+4|0;k[K>>2]=0;k[ea+8>>2]=0;k[ba>>2]=0;k[ba+4>>2]=0;k[ba+8>>2]=0;k[ba+12>>2]=0;o[ba+16>>2]=1.0;H=k[a+140>>2]|0;e:do if((I|0)>0){x=a+276|0;y=ba+4|0;z=a+8|0;A=ea+8|0;C=a+272|0;D=a+264|0;E=a+268|0;F=a+36|0;G=I+-1|0;c=0;w=0;f:while(1){b=w+1|0;g:do if(!(i[x>>0]|0))aa=212;else{f=k[C>>2]|0;g=k[D>>2]|0;h=k[E>>2]|0;d=g+(f>>>3)|0;do if(d>>>0>>0){v=l[d>>0]|0;e=f+1|0;k[C>>2]=e;if(!(v&1<<(f&7)))break;d=g+(e>>>3)|0;if(d>>>0>>0){v=(l[d>>0]|0)>>>(e&7)&1;e=f+2|0;k[C>>2]=e;f=v}else f=0;d=g+(e>>>3)|0;if(d>>>0>>0){d=(l[d>>0]|0)>>>(e&7);k[C>>2]=e+1;d=d<<1&2}else d=0;d=(d|f)<<1|1;switch(d&7){case 1:{aa=212;break g}case 3:case 5:{t=k[(k[K>>2]|0)+-4>>2]|0;v=w*3|0;n=((d|0)==5?2:1)+v|0;d=k[z>>2]|0;u=k[d+12>>2]|0;k[u+(n<<2)>>2]=t;k[u+(t<<2)>>2]=n;u=c+1|0;s=(n|0)<0;k[(k[d>>2]|0)+((s?-1073741824:(n>>>0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=c;if((c|0)>-1){h=d+24|0;j=d+28|0;e=k[j>>2]|0;d=k[h>>2]|0;f=e-d>>2;do if(f>>>0<=c>>>0){g=e;if(u>>>0>f>>>0){Ld(h,u-f|0);d=k[h>>2]|0;break}if(u>>>0>=f>>>0)break;e=d+(u<<2)|0;if((g|0)==(e|0))break;k[j>>2]=g+(~((g+-4-e|0)>>>2)<<2)}while(0);k[d+(c<<2)>>2]=n;d=k[z>>2]|0}c=n+1|0;if(s)p=n;else p=((c|0)%3|0|0)==0?n+-2|0:c;q=(t|0)<0;do if(q)m=-1073741824;else{c=(((t>>>0)%3|0|0)==0?2:-1)+t|0;if((c|0)<0){m=-1073741824;break}m=k[(k[d>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[d>>2]|0)+(((p|0)<0?-1073741824:(p>>>0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=m;if((m|0)>-1){h=d+24|0;j=d+28|0;d=k[j>>2]|0;c=k[h>>2]|0;e=d-c>>2;do if(e>>>0<=m>>>0){f=m+1|0;g=d;if(f>>>0>e>>>0){Ld(h,f-e|0);c=k[h>>2]|0;break}if(f>>>0>=e>>>0)break;d=c+(f<<2)|0;if((g|0)==(d|0))break;k[j>>2]=g+(~((g+-4-d|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=p;d=k[z>>2]|0}do if(!s)if(!((n>>>0)%3|0)){n=n+2|0;break}else{n=n+-1|0;break}while(0);c=t+1|0;do if(q)m=-1073741824;else{c=((c|0)%3|0|0)==0?t+-2|0:c;if((c|0)<0){m=-1073741824;break}m=k[(k[d>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[d>>2]|0)+(((n|0)<0?-1073741824:(n>>>0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){h=d+24|0;j=d+28|0;d=k[j>>2]|0;c=k[h>>2]|0;e=d-c>>2;do if(e>>>0<=m>>>0){f=m+1|0;g=d;if(f>>>0>e>>>0){Ld(h,f-e|0);c=k[h>>2]|0;break}if(f>>>0>=e>>>0)break;d=c+(f<<2)|0;if((g|0)==(d|0))break;k[j>>2]=g+(~((g+-4-d|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=n}k[(k[K>>2]|0)+-4>>2]=v;c=u;break}case 7:{m=w*3|0;k[U>>2]=m;e=k[z>>2]|0;n=c+1|0;d=k[e>>2]|0;k[d+(((m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=c;if((c|0)>-1){h=e+24|0;j=e+28|0;e=k[j>>2]|0;d=k[h>>2]|0;f=e-d>>2;do if(f>>>0<=c>>>0){g=e;if(n>>>0>f>>>0){Ld(h,n-f|0);d=k[h>>2]|0;break}if(n>>>0>=f>>>0)break;e=d+(n<<2)|0;if((g|0)==(e|0))break;k[j>>2]=g+(~((g+-4-e|0)>>>2)<<2)}while(0);k[d+(c<<2)>>2]=m;e=k[z>>2]|0;f=k[U>>2]|0;d=k[e>>2]|0}else f=m;m=f+1|0;p=c+2|0;k[d+(((f|0)<-1?-1073741824:(m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=n;if((c|0)>-2){h=e+24|0;j=e+28|0;e=k[j>>2]|0;d=k[h>>2]|0;f=e-d>>2;do if(f>>>0<=n>>>0){g=e;if(p>>>0>f>>>0){Ld(h,p-f|0);d=k[h>>2]|0;break}if(p>>>0>=f>>>0)break;e=d+(p<<2)|0;if((g|0)==(e|0))break;k[j>>2]=g+(~((g+-4-e|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=m;e=k[z>>2]|0;f=k[U>>2]|0;d=k[e>>2]|0}m=f+2|0;c=c+3|0;k[d+(((f|0)<-2?-1073741824:(m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=p;if((p|0)>-1){h=e+24|0;j=e+28|0;e=k[j>>2]|0;d=k[h>>2]|0;f=e-d>>2;do if(f>>>0<=p>>>0){g=e;if(c>>>0>f>>>0){Ld(h,c-f|0);d=k[h>>2]|0;break}if(c>>>0>=f>>>0)break;e=d+(c<<2)|0;if((g|0)==(e|0))break;k[j>>2]=g+(~((g+-4-e|0)>>>2)<<2)}while(0);k[d+(p<<2)>>2]=m}d=k[K>>2]|0;if((d|0)==(k[A>>2]|0))Pd(ea,U);else{k[d>>2]=k[U>>2];k[K>>2]=d+4}break}default:break f}h=I-w|0;j=h+-1|0;d=k[N>>2]|0;if((d|0)==(k[F>>2]|0))break g;while(1){e=k[d+-8>>2]|0;if((e|0)>=(h|0)){B=-1;break e}if((e|0)!=(j|0))break g;e=i[d+-4>>0]|0;g=k[d+-12>>2]|0;k[N>>2]=d+-12;if((g|0)<0){B=-1;break e}d=k[(k[K>>2]|0)+-4>>2]|0;f=(d|0)<0;do if(!(e&1)){if(f)break;if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}else{e=d+1|0;if(f)break;d=((e|0)%3|0|0)==0?d+-2|0:e}while(0);w=jc(ba,G-g|0)|0;k[w>>2]=d;d=k[N>>2]|0;if((d|0)==(k[F>>2]|0))break g}}while(0);t=k[(k[K>>2]|0)+-4>>2]|0;u=(t|0)<0;h:do if(u){d=t;aa=135}else{d=t+(((t>>>0)%3|0|0)==0?2:-1)|0;if((d|0)<0){aa=135;break}g=k[z>>2]|0;f=k[g+12>>2]|0;while(1){e=k[f+(d<<2)>>2]|0;if((e|0)<=-1){p=0;break h}d=e+(((e>>>0)%3|0|0)==0?2:-1)|0;if((d|0)<0){p=1;break}}}while(0);if((aa|0)==135){aa=0;g=k[z>>2]|0;p=1;f=k[g+12>>2]|0}v=w*3|0;q=v+1|0;k[f+(t<<2)>>2]=q;k[f+(q<<2)>>2]=t;w=v+2|0;k[f+(d<<2)>>2]=w;k[f+(w<<2)>>2]=d;e=t+1|0;do if(u)s=-1073741824;else{e=((e|0)%3|0|0)==0?t+-2|0:e;if((e|0)<0){s=-1073741824;break}s=k[(k[g>>2]|0)+(((e>>>0)/3|0)*12|0)+(((e>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[g>>2]|0)+(((v>>>0)/3|0)*12|0)+(((v|0)%3|0)<<2)>>2]=s;if((s|0)>-1){m=g+24|0;n=g+28|0;f=k[n>>2]|0;e=k[m>>2]|0;g=f-e>>2;do if(g>>>0<=s>>>0){h=s+1|0;j=f;if(h>>>0>g>>>0){Ld(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);k[e+(s<<2)>>2]=v;e=k[z>>2]|0}else e=g;f=d+1|0;do if(p)n=-1073741824;else{d=((f|0)%3|0|0)==0?d+-2|0:f;if((d|0)<0){n=-1073741824;break}n=k[(k[e>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[e>>2]|0)+(((v|0)<-1?-1073741824:(q>>>0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]=n;if((n|0)>-1){j=e+24|0;m=e+28|0;e=k[m>>2]|0;d=k[j>>2]|0;f=e-d>>2;do if(f>>>0<=n>>>0){g=n+1|0;h=e;if(g>>>0>f>>>0){Ld(j,g-f|0);d=k[j>>2]|0;break}if(g>>>0>=f>>>0)break;e=d+(g<<2)|0;if((h|0)==(e|0))break;k[m>>2]=h+(~((h+-4-e|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=q;e=k[z>>2]|0}do if(u)n=-1073741824;else{d=(((t>>>0)%3|0|0)==0?2:-1)+t|0;if((d|0)<0){n=-1073741824;break}n=k[(k[e>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[e>>2]|0)+(((v|0)<-2?-1073741824:(w>>>0)/3|0)*12|0)+(((w|0)%3|0)<<2)>>2]=n;if((n|0)>-1){j=e+24|0;m=e+28|0;e=k[m>>2]|0;d=k[j>>2]|0;f=e-d>>2;do if(f>>>0<=n>>>0){g=n+1|0;h=e;if(g>>>0>f>>>0){Ld(j,g-f|0);d=k[j>>2]|0;break}if(g>>>0>=f>>>0)break;e=d+(g<<2)|0;if((h|0)==(e|0))break;k[m>>2]=h+(~((h+-4-e|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=w}if((c|0)>(H|0)){B=-1;break e}w=(k[P>>2]|0)+(s>>>5<<2)|0;k[w>>2]=k[w>>2]&~(1<<(s&31));k[(k[K>>2]|0)+-4>>2]=v}while(0);if((aa|0)==212){aa=0;d=k[K>>2]|0;m=d+-4|0;u=k[m>>2]|0;k[K>>2]=m;g=k[y>>2]|0;i:do if(g){h=g+-1|0;f=(h&g|0)==0;if(f)j=h&w;else j=(w>>>0)%(g>>>0)|0;e=k[(k[ba>>2]|0)+(j<<2)>>2]|0;if(!e){d=m;break}if(f)do{e=k[e>>2]|0;if(!e){d=m;break i}if((k[e+4>>2]&h|0)!=(j|0)){d=m;break i}}while((k[e+8>>2]|0)!=(w|0));else do{e=k[e>>2]|0;if(!e){d=m;break i}if((((k[e+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(j|0)){d=m;break i}}while((k[e+8>>2]|0)!=(w|0));e=e+12|0;if((m|0)==(k[A>>2]|0)){Pd(ea,e);d=k[K>>2]|0;break}else{k[m>>2]=k[e>>2];k[K>>2]=d;break}}else d=m;while(0);p=k[d+-4>>2]|0;w=w*3|0;s=w+2|0;e=k[z>>2]|0;n=k[e+12>>2]|0;k[n+(p<<2)>>2]=s;k[n+(s<<2)>>2]=p;q=w+1|0;k[n+(u<<2)>>2]=q;k[n+(q<<2)>>2]=u;n=(p|0)<0;do if(n)v=-1073741824;else{d=(((p>>>0)%3|0|0)==0?2:-1)+p|0;if((d|0)<0){v=-1073741824;break}v=k[(k[e>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[e>>2]|0)+(((w>>>0)/3|0)*12|0)+(((w|0)%3|0)<<2)>>2]=v;t=(v|0)>-1;if(t){j=e+24|0;m=e+28|0;e=k[m>>2]|0;d=k[j>>2]|0;f=e-d>>2;do if(f>>>0<=v>>>0){g=v+1|0;h=e;if(g>>>0>f>>>0){Ld(j,g-f|0);d=k[j>>2]|0;break}if(g>>>0>=f>>>0)break;e=d+(g<<2)|0;if((h|0)==(e|0))break;k[m>>2]=h+(~((h+-4-e|0)>>>2)<<2)}while(0);k[d+(v<<2)>>2]=w;e=k[z>>2]|0}d=p+1|0;do if(n)n=-1073741824;else{d=((d|0)%3|0|0)==0?p+-2|0:d;if((d|0)<0){n=-1073741824;break}n=k[(k[e>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[e>>2]|0)+(((w|0)<-1?-1073741824:(q>>>0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]=n;if((n|0)>-1){j=e+24|0;m=e+28|0;e=k[m>>2]|0;d=k[j>>2]|0;f=e-d>>2;do if(f>>>0<=n>>>0){g=n+1|0;h=e;if(g>>>0>f>>>0){Ld(j,g-f|0);d=k[j>>2]|0;break}if(g>>>0>=f>>>0)break;e=d+(g<<2)|0;if((h|0)==(e|0))break;k[m>>2]=h+(~((h+-4-e|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=q;e=k[z>>2]|0}p=(u|0)<0;do if(p)n=-1073741824;else{d=(((u>>>0)%3|0|0)==0?2:-1)+u|0;if((d|0)<0){n=-1073741824;break}n=k[(k[e>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[e>>2]|0)+(((w|0)<-2?-1073741824:(s>>>0)/3|0)*12|0)+(((s|0)%3|0)<<2)>>2]=n;if((n|0)>-1){j=e+24|0;m=e+28|0;e=k[m>>2]|0;d=k[j>>2]|0;f=e-d>>2;do if(f>>>0<=n>>>0){g=n+1|0;h=e;if(g>>>0>f>>>0){Ld(j,g-f|0);d=k[j>>2]|0;break}if(g>>>0>=f>>>0)break;e=d+(g<<2)|0;if((h|0)==(e|0))break;k[m>>2]=h+(~((h+-4-e|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=s}d=u+1|0;j:do if(p)aa=262;else{f=((d|0)%3|0|0)==0?u+-2|0:d;if((f|0)<0){aa=262;break}e=k[z>>2]|0;j=k[e>>2]|0;d=k[j+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;p=v+1|0;if(t)g=j;else{h=e+12|0;while(1){k[j+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]=v;u=f+1|0;f=((u|0)%3|0|0)==0?f+-2|0:u;if((f|0)<0)break j;f=k[(k[h>>2]|0)+(f<<2)>>2]|0;g=f+1|0;if((f|0)<0)break j;f=((g|0)%3|0|0)==0?f+-2|0:g;if((f|0)<=-1)break j}}while(1){k[g+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]=v;m=e+24|0;n=e+28|0;g=k[n>>2]|0;e=k[m>>2]|0;h=g-e>>2;do if(h>>>0<=v>>>0){j=g;if(p>>>0>h>>>0){Ld(m,p-h|0);e=k[m>>2]|0;break}if(p>>>0>=h>>>0)break;g=e+(p<<2)|0;if((j|0)==(g|0))break;k[n>>2]=j+(~((j+-4-g|0)>>>2)<<2)}while(0);k[e+(v<<2)>>2]=f;e=f+1|0;f=((e|0)%3|0|0)==0?f+-2|0:e;e=k[z>>2]|0;if((f|0)<0)break j;f=k[(k[e+12>>2]|0)+(f<<2)>>2]|0;g=f+1|0;if((f|0)<0)break j;f=((g|0)%3|0|0)==0?f+-2|0:g;if((f|0)<=-1)break j;g=k[e>>2]|0}}while(0);if((aa|0)==262){aa=0;e=k[z>>2]|0;d=-1073741824}k[(k[e+24>>2]|0)+(d<<2)>>2]=-1073741824;k[(k[K>>2]|0)+-4>>2]=w}if((b|0)<(I|0))w=b;else{B=c;aa=320;break e}}}else{B=0;b=0;aa=320}while(0);do if((aa|0)==320){if((B|0)>(H|0)){B=-1;break}c=k[K>>2]|0;d=k[ea>>2]|0;k:do if((c|0)!=(d|0)){s=a+316|0;t=a+8|0;u=a+64|0;v=a+72|0;w=a+84|0;x=a+76|0;y=a+312|0;z=a+304|0;A=a+308|0;l:while(1){j=k[c+-4>>2]|0;k[U>>2]=j;c=c+-4|0;k[K>>2]=c;do if(i[s>>0]|0){e=k[y>>2]|0;f=(k[z>>2]|0)+(e>>>3)|0;if(f>>>0<(k[A>>2]|0)>>>0?(N=l[f>>0]|0,k[y>>2]=e+1,N&1<<(e&7)|0):0){aa=327;break}e=k[Q>>2]|0;f=k[v>>2]|0;if((e|0)==(f<<5|0)){if((e+1|0)<0){aa=382;break l}N=f<<6;I=e+32&-32;Td(u,e>>>0<1073741823?(N>>>0>>0?I:N):2147483647);e=k[Q>>2]|0}k[Q>>2]=e+1;N=(k[u>>2]|0)+(e>>>5<<2)|0;k[N>>2]=k[N>>2]&~(1<<(e&31));e=k[R>>2]|0;if((e|0)==(k[w>>2]|0)){Pd(x,U);break}else{k[e>>2]=j;k[R>>2]=e+4;break}}else aa=327;while(0);if((aa|0)==327){aa=0;m:do if((j|0)<0){d=1;e=j;c=j;aa=333}else{c=j+(((j>>>0)%3|0|0)==0?2:-1)|0;n:do if((c|0)<0)g=1;else{e=k[(k[t>>2]|0)+12>>2]|0;d=c;while(1){c=k[e+(d<<2)>>2]|0;if((c|0)<=-1){g=0;c=d;break n}c=c+(((c>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0){g=1;break}else d=c}}while(0);e=j+1|0;e=((e|0)%3|0|0)==0?j+-2|0:e;if((e|0)<0){d=g;aa=333;break}h=k[t>>2]|0;f=k[h+12>>2]|0;while(1){d=k[f+(e<<2)>>2]|0;if((d|0)<=-1){d=g;p=0;g=h;break m}e=d+1|0;e=((e|0)%3|0|0)==0?d+-2|0:e;if((e|0)<0){d=g;p=1;g=h;break}}}while(0);if((aa|0)==333){aa=0;g=k[t>>2]|0;p=1;f=k[g+12>>2]|0}q=b+1|0;n=b*3|0;k[V>>2]=n;k[f+(n<<2)>>2]=j;k[f+(j<<2)>>2]=n;N=n+1|0;k[f+(N<<2)>>2]=c;k[f+(c<<2)>>2]=N;N=n+2|0;k[f+(N<<2)>>2]=e;k[f+(e<<2)>>2]=N;f=c+1|0;do if(d)m=-1073741824;else{c=((f|0)%3|0|0)==0?c+-2|0:f;if((c|0)<0){m=-1073741824;break}m=k[(k[g>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[g>>2]|0)+(((b|0)<0?-1073741824:(n>>>0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){h=g+24|0;j=g+28|0;c=k[j>>2]|0;b=k[h>>2]|0;d=c-b>>2;do if(d>>>0<=m>>>0){f=m+1|0;g=c;if(f>>>0>d>>>0){Ld(h,f-d|0);b=k[h>>2]|0;break}if(f>>>0>=d>>>0)break;c=b+(f<<2)|0;if((g|0)==(c|0))break;k[j>>2]=g+(~((g+-4-c|0)>>>2)<<2)}while(0);k[b+(m<<2)>>2]=n;d=k[V>>2]|0;c=k[t>>2]|0}else{d=n;c=g}m=d+1|0;b=e+1|0;do if(p)j=-1073741824;else{b=((b|0)%3|0|0)==0?e+-2|0:b;if((b|0)<0){j=-1073741824;break}j=k[(k[c>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[c>>2]|0)+(((d|0)<-1?-1073741824:(m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=j;if((j|0)>-1){g=c+24|0;h=c+28|0;c=k[h>>2]|0;b=k[g>>2]|0;d=c-b>>2;do if(d>>>0<=j>>>0){e=j+1|0;f=c;if(e>>>0>d>>>0){Ld(g,e-d|0);b=k[g>>2]|0;break}if(e>>>0>=d>>>0)break;c=b+(e<<2)|0;if((f|0)==(c|0))break;k[h>>2]=f+(~((f+-4-c|0)>>>2)<<2)}while(0);k[b+(j<<2)>>2]=m;d=k[V>>2]|0;e=k[t>>2]|0}else e=c;m=d+2|0;b=k[U>>2]|0;c=b+1|0;do if((b|0)<0)j=-1073741824;else{b=((c|0)%3|0|0)==0?b+-2|0:c;if((b|0)<0){j=-1073741824;break}j=k[(k[e>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0}while(0);k[(k[e>>2]|0)+(((d|0)<-2?-1073741824:(m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=j;if((j|0)>-1){g=e+24|0;h=e+28|0;c=k[h>>2]|0;b=k[g>>2]|0;d=c-b>>2;do if(d>>>0<=j>>>0){e=j+1|0;f=c;if(e>>>0>d>>>0){Ld(g,e-d|0);b=k[g>>2]|0;break}if(e>>>0>=d>>>0)break;c=b+(e<<2)|0;if((f|0)==(c|0))break;k[h>>2]=f+(~((f+-4-c|0)>>>2)<<2)}while(0);k[b+(j<<2)>>2]=m;d=k[V>>2]|0}if((d|0)<0)b=-1073741824;else b=k[(k[k[t>>2]>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;c=k[P>>2]|0;N=c+(b>>>5<<2)|0;k[N>>2]=k[N>>2]&~(1<<(b&31));b=d+1|0;if((d|0)<-1)b=-1073741824;else b=k[(k[k[t>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;N=c+(b>>>5<<2)|0;k[N>>2]=k[N>>2]&~(1<<(b&31));b=d+2|0;if((d|0)<-2)b=-1073741824;else b=k[(k[k[t>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;c=c+(b>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(b&31));b=k[Q>>2]|0;c=k[v>>2]|0;if((b|0)==(c<<5|0)){if((b+1|0)<0){aa=372;break}N=c<<6;I=b+32&-32;Td(u,b>>>0<1073741823?(N>>>0>>0?I:N):2147483647);b=k[Q>>2]|0}k[Q>>2]=b+1;N=(k[u>>2]|0)+(b>>>5<<2)|0;k[N>>2]=k[N>>2]|1<<(b&31);b=k[R>>2]|0;if((b|0)==(k[w>>2]|0))Pd(x,V);else{k[b>>2]=d;k[R>>2]=b+4}b=q;c=k[K>>2]|0;d=k[ea>>2]|0}if((c|0)==(d|0)){S=b;T=t;break k}}if((aa|0)==372)Ba(11055,11078,304,11175);else if((aa|0)==382)Ba(11055,11078,304,11175)}else{S=b;T=a+8|0}while(0);V=k[T>>2]|0;if((S|0)!=(((k[V+4>>2]|0)-(k[V>>2]|0)|0)/12|0|0)){B=-1;break}b=a+88|0;e=a+92|0;f=k[e>>2]|0;c=k[b>>2]|0;d=f-c>>2;if(B>>>0>d>>>0){Ld(b,B-d|0);break}if(B>>>0>=d>>>0)break;b=c+(B<<2)|0;if((f|0)==(b|0))break;k[e>>2]=f+(~((f+-4-b|0)>>>2)<<2)}while(0);b=k[ba+8>>2]|0;if(b|0)do{V=b;b=k[b>>2]|0;gb(V)}while((b|0)!=0);b=k[ba>>2]|0;k[ba>>2]=0;if(b|0)gb(b);b=k[ea>>2]|0;c=b;if(b|0){d=k[K>>2]|0;if((d|0)!=(b|0))k[K>>2]=d+(~((d+-4-c|0)>>>2)<<2);gb(b)}if((B|0)==-1){b=0;break}f=k[(k[ca>>2]|0)+20>>2]|0;c=W+16|0;b=k[c>>2]|0;e=(k[W>>2]|0)+b|0;W=J;c=Nf(k[W>>2]|0,k[W+4>>2]|0,b|0,k[c+4>>2]|0)|0;k[f>>2]=e;e=f+8|0;k[e>>2]=c;k[e+4>>2]=0;f=f+16|0;k[f>>2]=M;k[f+4>>2]=((M|0)<0)<<31>>31;f=k[$>>2]|0;e=k[Z>>2]|0;c=e;b=k[Y>>2]|0;do if((f|0)==(e|0)){d=b;u=f;v=f}else{if(((k[b+4>>2]|0)-(k[b>>2]|0)|0)<=0){d=b;u=f;v=e;break}s=a+8|0;t=ea+4|0;u=ea+8|0;v=a+320|0;q=0;d=e;j=e;b=f;while(1){k[ea>>2]=q;p=q+1|0;k[t>>2]=((p|0)%3|0|0)==0?q+-2|0:p;k[u>>2]=q+(((q>>>0)%3|0|0)==0?2:-1);p=0;n=q;while(1){do if((n|0)<0)aa=416;else{if((k[(k[(k[s>>2]|0)+12>>2]|0)+(n<<2)>>2]|0)<0){aa=416;break}if((b|0)==(e|0)){m=d;h=j;g=e;f=e;break}else m=0;while(1){f=k[v>>2]|0;g=l[f+(m<<4)+12>>0]|0;h=f+(m<<4)+8|0;e=k[h>>2]|0;if(e>>>0<4096){V=f+(m<<4)+4|0;W=(k[V>>2]|0)+-1|0;k[V>>2]=W;e=l[(k[f+(m<<4)>>2]|0)+W>>0]|e<<8;k[h>>2]=e}T=e&255;U=0-g&255;V=_(e>>>8,U)|0;W=T>>>0>>0;k[h>>2]=W?V+T|0:e-U-V|0;if(W){k[ba>>2]=n;b=c+(m*116|0)+108|0;d=k[b>>2]|0;if(d>>>0<(k[c+(m*116|0)+112>>2]|0)>>>0){k[d>>2]=n;k[b>>2]=d+4}else Pd(c+(m*116|0)+104|0,ba);d=k[Z>>2]|0;e=d;b=k[$>>2]|0}else e=j;m=m+1|0;c=e;if(m>>>0>=((b-e|0)/116|0)>>>0){m=d;h=e;g=e;f=b;break}else j=e}}while(0);do if((aa|0)==416){aa=0;c=j;if((b|0)==(j|0)){m=d;h=j;g=j;f=j;break}else h=0;while(1){e=j;k[ba>>2]=n;f=e+(h*116|0)+108|0;g=k[f>>2]|0;if(g>>>0<(k[e+(h*116|0)+112>>2]|0)>>>0){k[g>>2]=n;k[f>>2]=g+4;e=j}else{Pd(e+(h*116|0)+104|0,ba);c=k[Z>>2]|0;e=c;b=k[$>>2]|0;d=c}h=h+1|0;if(h>>>0>=((b-e|0)/116|0)>>>0){m=d;h=e;g=e;f=b;break}else j=e}}while(0);b=p+1|0;if((b|0)==3)break;p=b;n=k[ea+(b<<2)>>2]|0;b=f;e=g;j=h;d=m}q=q+3|0;d=k[Y>>2]|0;if((q|0)>=((((k[d+4>>2]|0)-(k[d>>2]|0)|0)/12|0)*3|0)){u=f;v=m;break}else{d=m;j=h;e=g;b=f}}}while(0);i[a+276>>0]=0;b=Yf(k[a+272>>2]|0,0,7,0)|0;b=Kf(b|0,L|0,3)|0;t=O;t=Yf(b|0,L|0,k[t>>2]|0,k[t+4>>2]|0)|0;b=O;k[b>>2]=t;k[b+4>>2]=L;i[a+316>>0]=0;b=Yf(k[a+312>>2]|0,0,7,0)|0;b=Kf(b|0,L|0,3)|0;t=a+296|0;f=t;f=Yf(b|0,L|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[t>>2]=f;k[t+4>>2]=L;t=k[d+28>>2]|0;f=k[d+24>>2]|0;b=t-f|0;s=f;if((b|0)>0){q=k[P>>2]|0;m=b>>2;n=d+12|0;j=0;do{do if(k[q+(j>>>5<<2)>>2]&1<<(j&31)|0){p=s+(j<<2)|0;h=k[p>>2]|0;if((h|0)<0)break;b=h+1|0;b=((b|0)%3|0|0)==0?h+-2|0:b;if((b|0)>=0){g=k[n>>2]|0;c=k[g+(b<<2)>>2]|0;b=c+1|0;o: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 o;c=k[g+(c<<2)>>2]|0;e=c+1|0;if((c|0)<0)break o;c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)>-1&(c|0)!=(h|0))b=c;else break}}while(0);if((c|0)==(h|0))break}else b=h;k[p>>2]=b}while(0);j=j+1|0}while((j|0)<(m|0))}b=v;if((u|0)==(v|0)){d=t;e=v;c=v}else{f=0;do{dc(b+(f*116|0)+4|0,d);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{Vc(b+(f*116|0)+4|0,k[c>>2]|0);c=c+4|0;b=k[X>>2]|0}while((c|0)!=(d|0));cb(b+(f*116|0)+4|0,0,0);f=f+1|0;c=k[$>>2]|0;e=k[Z>>2]|0;b=e;d=k[Y>>2]|0}while(f>>>0<((c-e|0)/116|0)>>>0);f=k[d+24>>2]|0;d=k[d+28>>2]|0}d=d-f>>2;f=a+212|0;j=a+216|0;m=k[j>>2]|0;h=k[f>>2]|0;g=m-h>>2;do if(d>>>0>g>>>0){Ld(f,d-g|0);b=k[Z>>2]|0;c=k[$>>2]|0;e=b}else{if(d>>>0>=g>>>0)break;d=h+(d<<2)|0;if((m|0)==(d|0))break;k[j>>2]=m+(~((m+-4-d|0)>>>2)<<2)}while(0);if((c|0)==(e|0)){b=e;c=e}else{n=0;h=b;b=e;m=e;while(1){f=(k[h+(n*116|0)+60>>2]|0)-(k[h+(n*116|0)+56>>2]|0)>>2;g=k[Y>>2]|0;g=(k[g+28>>2]|0)-(k[g+24>>2]|0)>>2;f=(f|0)<(g|0)?g:f;g=h+(n*116|0)+88|0;h=h+(n*116|0)+92|0;j=k[h>>2]|0;e=k[g>>2]|0;d=j-e>>2;do if(f>>>0>d>>>0){Ld(g,f-d|0);b=k[Z>>2]|0;d=b;c=k[$>>2]|0}else{if(f>>>0>=d>>>0){d=m;break}d=e+(f<<2)|0;if((j|0)==(d|0)){d=m;break}k[h>>2]=j+(~((j+-4-d|0)>>>2)<<2);d=m}while(0);n=n+1|0;if(n>>>0>=((c-d|0)/116|0)>>>0)break;else{h=d;m=d}}}h=k[(k[ca>>2]|0)+24>>2]|0;z=a+8|0;d=k[z>>2]|0;d=((k[d+4>>2]|0)-(k[d>>2]|0)|0)/12|0;e=h+80|0;h=h+84|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;j=k[h>>2]|0;g=k[e>>2]|0;f=(j-g|0)/12|0;do if(d>>>0>f>>>0){Zc(e,d-f|0,ea);c=k[$>>2]|0;b=k[Z>>2]|0}else{if(d>>>0>=f>>>0)break;d=g+(d*12|0)|0;if((j|0)==(d|0))break;k[h>>2]=j+(~(((j+-12-d|0)>>>0)/12|0)*12|0)}while(0);if((c|0)==(b|0)){b=k[z>>2]|0;b=(k[b+28>>2]|0)-(k[b+24>>2]|0)|0;e=b>>2;if(!e)d=0;else{if(e>>>0>1073741823)Ba(11055,11078,304,11175);c=(b|0)==0?1:b;while(1){b=Xa(c)|0;if(b|0){d=b;break}b=k[2993]|0;k[2993]=b+0;if(!b){d=0;break}Na[b&1]()}b=e;c=d;while(1){k[c>>2]=-1;b=b+-1|0;if(!b)break;else c=c+4|0}}b=k[ca>>2]|0;f=k[b+24>>2]|0;e=k[f+84>>2]|0;g=k[f+80>>2]|0;if((e-g|0)>0){c=0;w=0;u=b;v=b;while(1){n=w*3|0;b=d+(k[(k[k[z>>2]>>2]|0)+(((n>>>0)/3|0)*12|0)+(((n>>>0)%3|0)<<2)>>2]<<2)|0;h=k[b>>2]|0;if((h|0)==-1){k[b>>2]=c;j=c+1|0;h=c}else j=c;b=n+1|0;if((n|0)<-1)b=-1073741824;else b=k[(k[k[z>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;b=d+(b<<2)|0;c=k[b>>2]|0;if((c|0)==-1){k[b>>2]=j;m=j+1|0;t=j}else{m=j;t=c}b=n+2|0;if((n|0)<-2)b=-1073741824;else b=k[(k[k[z>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;b=d+(b<<2)|0;j=k[b>>2]|0;if((j|0)==-1){k[b>>2]=m;c=m+1|0;j=m}else c=m;n=f+80|0;q=f+84|0;b=(e-g|0)/12|0;p=g;s=w;w=w+1|0;if((s|0)<(b|0)){b=u;m=v}else{m=e;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;do if(w>>>0>b>>>0){Zc(n,w-b|0,ea);m=k[ca>>2]|0;g=k[m+24>>2]|0;b=k[n>>2]|0;f=g;e=k[g+84>>2]|0;g=k[g+80>>2]|0}else{if(w>>>0>=b>>>0){b=p;m=v;break}b=p+(w*12|0)|0;if((m|0)==(b|0)){b=p;m=v;break}e=m+(~(((m+-12-b|0)>>>0)/12|0)*12|0)|0;k[q>>2]=e;b=p;m=v}while(0);p=b;b=m}k[p+(s*12|0)>>2]=h;k[p+(s*12|0)+4>>2]=t;k[p+(s*12|0)+8>>2]=j;if((w|0)>=((e-g|0)/12|0|0))break;else{u=b;v=m}}}else c=0;k[(k[b+4>>2]|0)+64>>2]=c;if(!d){b=1;break}gb(d);b=1;break}k[ba>>2]=0;y=ba+4|0;k[y>>2]=0;k[ba+8>>2]=0;b=k[z>>2]|0;c=(k[b+4>>2]|0)-(k[b>>2]|0)|0;if(!c)x=0;else{if((((c|0)/12|0)*3|0)>>>0>1073741823)Ba(11055,11078,304,11175);while(1){b=Xa(c)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}Ke(b|0,0,c|0)|0;x=b;b=k[z>>2]|0}p:do if(((k[b+28>>2]|0)-(k[b+24>>2]|0)|0)>0){v=a+136|0;w=ba+8|0;u=0;q:while(1){f=k[(k[b+24>>2]|0)+(u<<2)>>2]|0;r:do if((f|0)>=0){s:do if(!(k[(k[v>>2]|0)+(u>>>5<<2)>>2]&1<<(u&31))){c=k[$>>2]|0;d=k[Z>>2]|0;p=d;if((c|0)==(d|0))break;q=(f>>>0)/3|0;s=(f>>>0)%3|0;n=((s|0)==0?2:-1)+f|0;t=(n|0)<0;g=(c-d|0)/116|0;h=b+12|0;e=0;t:while(1){a=k[(k[k[p+(e*116|0)+68>>2]>>2]|0)+(q*12|0)+(s<<2)>>2]|0;do if(1<<(a&31)&k[(k[p+(e*116|0)+16>>2]|0)+(a>>>5<<2)>>2]|0){j=k[p+(e*116|0)+32>>2]|0;m=k[j+(f<<2)>>2]|0;if(!t){c=k[(k[h>>2]|0)+(n<<2)>>2]|0;do if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);if((c|0)==(f|0))break;else d=c}else d=n;while(1){c=k[j+(d<<2)>>2]|0;if((d|0)<0)break t;if((c|0)!=(m|0)){f=d;break s}c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;do if((c|0)>=0){c=k[(k[h>>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);if((c|0)==(f|0))break;else d=c}}while(0);e=e+1|0;if(e>>>0>=g>>>0)break s}while(1)if((c|0)==(m|0))c=m;else{f=d;break}}while(0);c=k[y>>2]|0;k[x+(f<<2)>>2]=c-(k[ba>>2]|0)>>2;k[ea>>2]=f;if(c>>>0<(k[w>>2]|0)>>>0){k[c>>2]=f;k[y>>2]=c+4}else{Pd(ba,ea);b=k[z>>2]|0}if((f|0)<0)break;c=(((f>>>0)%3|0|0)==0?2:-1)+f|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;if((c|0)>-1&(c|0)!=(f|0)){g=c;d=f}else break;while(1){if((g|0)<0)break q;b=k[$>>2]|0;c=k[Z>>2]|0;e=c;u:do if((b|0)!=(c|0)){c=(b-c|0)/116|0;b=0;while(1){a=k[e+(b*116|0)+32>>2]|0;b=b+1|0;if((k[a+(g<<2)>>2]|0)!=(k[a+(d<<2)>>2]|0))break;if(b>>>0>=c>>>0){aa=542;break u}}b=k[y>>2]|0;k[x+(g<<2)>>2]=b-(k[ba>>2]|0)>>2;k[ea>>2]=g;if(b>>>0<(k[w>>2]|0)>>>0){k[b>>2]=g;k[y>>2]=b+4}else Pd(ba,ea)}else aa=542;while(0);if((aa|0)==542){aa=0;k[x+(g<<2)>>2]=k[x+(d<<2)>>2]}c=(((g>>>0)%3|0|0)==0?2:-1)+g|0;b=k[z>>2]|0;if((c|0)<0)break r;c=k[(k[b+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break r;c=c+(((c>>>0)%3|0|0)==0?2:-1)|0;if((c|0)>-1&(c|0)!=(f|0)){d=g;g=c}else break}}while(0);u=u+1|0;if((u|0)>=((k[b+28>>2]|0)-(k[b+24>>2]|0)>>2|0))break p}f=x+(g<<2)|0;v:while(1){b=k[$>>2]|0;c=k[Z>>2]|0;e=c;w:do if((b|0)!=(c|0)){c=(b-c|0)/116|0;b=0;while(1){da=k[e+(b*116|0)+32>>2]|0;b=b+1|0;if((k[da+(g<<2)>>2]|0)!=(k[da+(d<<2)>>2]|0))break;if(b>>>0>=c>>>0)break w}b=k[y>>2]|0;k[f>>2]=b-(k[ba>>2]|0)>>2;k[ea>>2]=g;if(b>>>0<(k[w>>2]|0)>>>0){k[b>>2]=g;k[y>>2]=b+4}else Pd(ba,ea);d=g;continue v}while(0);k[f>>2]=k[x+(d<<2)>>2];d=g}}while(0);b=k[ca>>2]|0;c=k[b+24>>2]|0;e=k[c+84>>2]|0;d=k[c+80>>2]|0;if((e-d|0)>0){t=0;g=b;m=b;while(1){s=x+(t*3<<2)|0;n=k[s>>2]|0;q=k[s+4>>2]|0;s=k[s+8>>2]|0;b=c+80|0;h=c+84|0;f=(e-d|0)/12|0;j=d;p=t;t=t+1|0;if((p|0)<(f|0)){b=g;f=m}else{g=e;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;do if(t>>>0>f>>>0){Zc(b,t-f|0,ea);f=k[ca>>2]|0;d=k[f+24>>2]|0;b=k[b>>2]|0;c=d;e=k[d+84>>2]|0;d=k[d+80>>2]|0}else{if(t>>>0>=f>>>0){b=j;f=m;break}b=j+(t*12|0)|0;if((g|0)==(b|0)){b=j;f=m;break}e=g+(~(((g+-12-b|0)>>>0)/12|0)*12|0)|0;k[h>>2]=e;b=j;f=m}while(0);j=b;b=f}k[j+(p*12|0)>>2]=n;k[j+(p*12|0)+4>>2]=q;k[j+(p*12|0)+8>>2]=s;if((t|0)>=((e-d|0)/12|0|0))break;else{g=b;m=f}}}c=k[y>>2]|0;d=k[ba>>2]|0;k[(k[b+4>>2]|0)+64>>2]=c-d>>2;if(x|0)gb(x);b=d;if(d|0){if((c|0)!=(d|0))k[y>>2]=c+(~((c+-4-d|0)>>>2)<<2);gb(b)}b=1}else b=0;while(0);ea=b;r=da;return ea|0}function Xa(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=r;r=r+16|0;o=L;do if(a>>>0<245){n=a>>>0<11?16:a+11&-8;a=n>>>3;t=k[2869]|0;c=t>>>a;if(c&3|0){a=(c&1^1)+a|0;c=11516+(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[2873]|0)>>>0)sa();b=g+12|0;if((k[b>>2]|0)==(e|0)){k[b>>2]=c;k[d>>2]=g;break}else sa()}else k[2869]=t&~(1<>2]=K|3;K=e+K+4|0;k[K>>2]=k[K>>2]|1;K=f;r=L;return K|0}s=k[2871]|0;if(n>>>0>s>>>0){if(c|0){h=2<>>12&16;a=a>>>h;d=a>>>5&8;a=a>>>d;f=a>>>2&4;a=a>>>f;c=a>>>1&2;a=a>>>c;b=a>>>1&1;b=(d|h|f|c|b)+(a>>>b)|0;a=11516+(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[2873]|0)>>>0)sa();e=d+12|0;if((k[e>>2]|0)==(f|0)){k[e>>2]=a;k[c>>2]=d;i=t;break}else sa()}else{i=t&~(1<>2]=n|3;d=f+n|0;k[d+4>>2]=g|1;k[d+g>>2]=g;if(s|0){e=k[2874]|0;b=s>>>3;c=11516+(b<<1<<2)|0;b=1<>2]|0;if(a>>>0<(k[2873]|0)>>>0)sa();else{j=a;l=b}}else{k[2869]=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[2871]=g;k[2874]=d;K=h;r=L;return K|0}j=k[2870]|0;if(j){a=(j&0-j)+-1|0;J=a>>>12&16;a=a>>>J;I=a>>>5&8;a=a>>>I;K=a>>>2&4;a=a>>>K;h=a>>>1&2;a=a>>>h;i=a>>>1&1;i=k[11780+((I|J|K|h|i)+(a>>>i)<<2)>>2]|0;a=i;h=i;i=(k[i+4>>2]&-8)-n|0;while(1){b=k[a+16>>2]|0;if(!b){b=k[a+20>>2]|0;if(!b)break}K=(k[b+4>>2]&-8)-n|0;J=K>>>0>>0;a=b;h=J?b:h;i=J?K:i}e=k[2873]|0;if(h>>>0>>0)sa();g=h+n|0;if(h>>>0>=g>>>0)sa();f=k[h+24>>2]|0;c=k[h+12>>2]|0;do if((c|0)==(h|0)){a=h+20|0;b=k[a>>2]|0;if(!b){a=h+16|0;b=k[a>>2]|0;if(!b){m=0;break}}while(1){c=b+20|0;d=k[c>>2]|0;if(d|0){b=d;a=c;continue}c=b+16|0;d=k[c>>2]|0;if(!d)break;else{b=d;a=c}}if(a>>>0>>0)sa();else{k[a>>2]=0;m=b;break}}else{d=k[h+8>>2]|0;if(d>>>0>>0)sa();b=d+12|0;if((k[b>>2]|0)!=(h|0))sa();a=c+8|0;if((k[a>>2]|0)==(h|0)){k[b>>2]=c;k[a>>2]=d;m=c;break}else sa()}while(0);do if(f|0){b=k[h+28>>2]|0;a=11780+(b<<2)|0;if((h|0)==(k[a>>2]|0)){k[a>>2]=m;if(!m){k[2870]=j&~(1<>>0<(k[2873]|0)>>>0)sa();b=f+16|0;if((k[b>>2]|0)==(h|0))k[b>>2]=m;else k[f+20>>2]=m;if(!m)break}a=k[2873]|0;if(m>>>0>>0)sa();k[m+24>>2]=f;b=k[h+16>>2]|0;do if(b|0)if(b>>>0>>0)sa();else{k[m+16>>2]=b;k[b+24>>2]=m;break}while(0);b=k[h+20>>2]|0;if(b|0)if(b>>>0<(k[2873]|0)>>>0)sa();else{k[m+20>>2]=b;k[b+24>>2]=m;break}}while(0);if(i>>>0<16){K=i+n|0;k[h+4>>2]=K|3;K=h+K+4|0;k[K>>2]=k[K>>2]|1}else{k[h+4>>2]=n|3;k[g+4>>2]=i|1;k[g+i>>2]=i;if(s|0){d=k[2874]|0;b=s>>>3;c=11516+(b<<1<<2)|0;b=1<>2]|0;if(a>>>0<(k[2873]|0)>>>0)sa();else{p=a;q=b}}else{k[2869]=t|b;p=c;q=c+8|0}k[q>>2]=d;k[p+12>>2]=d;k[d+8>>2]=p;k[d+12>>2]=c}k[2871]=i;k[2874]=g}K=h+8|0;r=L;return K|0}}}else if(a>>>0<=4294967231){a=a+11|0;n=a&-8;j=k[2870]|0;if(j){d=0-n|0;a=a>>>8;if(a)if(n>>>0>16777215)i=31;else{q=(a+1048320|0)>>>16&8;D=a<>>16&4;D=D<>>16&2;i=14-(p|q|i)+(D<>>15)|0;i=n>>>(i+7|0)&1|i<<1}else i=0;a=k[11780+(i<<2)>>2]|0;a:do if(!a){c=0;e=0;D=86}else{e=0;h=a;g=n<<((i|0)==31?0:25-(i>>>1)|0);c=0;while(1){a=(k[h+4>>2]&-8)-n|0;if(a>>>0>>0)if(!a){a=h;d=0;c=h;D=90;break a}else{e=h;d=a}a=k[h+20>>2]|0;h=k[h+16+(g>>>31<<2)>>2]|0;c=(a|0)==0|(a|0)==(h|0)?c:a;a=(h|0)==0;if(a){D=86;break}else g=g<<(a&1^1)}}while(0);if((D|0)==86){if((c|0)==0&(e|0)==0){a=2<>>12&16;q=q>>>l;i=q>>>5&8;q=q>>>i;m=q>>>2&4;q=q>>>m;p=q>>>1&2;q=q>>>p;c=q>>>1&1;c=k[11780+((i|l|m|p|c)+(q>>>c)<<2)>>2]|0}if(!c){i=e;h=d}else{a=e;D=90}}if((D|0)==90)while(1){D=0;q=(k[c+4>>2]&-8)-n|0;e=q>>>0>>0;d=e?q:d;a=e?c:a;e=k[c+16>>2]|0;if(e|0){c=e;D=90;continue}c=k[c+20>>2]|0;if(!c){i=a;h=d;break}else D=90}if((i|0)!=0?h>>>0<((k[2871]|0)-n|0)>>>0:0){e=k[2873]|0;if(i>>>0>>0)sa();g=i+n|0;if(i>>>0>=g>>>0)sa();f=k[i+24>>2]|0;c=k[i+12>>2]|0;do if((c|0)==(i|0)){a=i+20|0;b=k[a>>2]|0;if(!b){a=i+16|0;b=k[a>>2]|0;if(!b){s=0;break}}while(1){c=b+20|0;d=k[c>>2]|0;if(d|0){b=d;a=c;continue}c=b+16|0;d=k[c>>2]|0;if(!d)break;else{b=d;a=c}}if(a>>>0>>0)sa();else{k[a>>2]=0;s=b;break}}else{d=k[i+8>>2]|0;if(d>>>0>>0)sa();b=d+12|0;if((k[b>>2]|0)!=(i|0))sa();a=c+8|0;if((k[a>>2]|0)==(i|0)){k[b>>2]=c;k[a>>2]=d;s=c;break}else sa()}while(0);do if(f){b=k[i+28>>2]|0;a=11780+(b<<2)|0;if((i|0)==(k[a>>2]|0)){k[a>>2]=s;if(!s){t=j&~(1<>>0<(k[2873]|0)>>>0)sa();b=f+16|0;if((k[b>>2]|0)==(i|0))k[b>>2]=s;else k[f+20>>2]=s;if(!s){t=j;break}}a=k[2873]|0;if(s>>>0>>0)sa();k[s+24>>2]=f;b=k[i+16>>2]|0;do if(b|0)if(b>>>0>>0)sa();else{k[s+16>>2]=b;k[b+24>>2]=s;break}while(0);b=k[i+20>>2]|0;if(b)if(b>>>0<(k[2873]|0)>>>0)sa();else{k[s+20>>2]=b;k[b+24>>2]=s;t=j;break}else t=j}else t=j;while(0);do if(h>>>0>=16){k[i+4>>2]=n|3;k[g+4>>2]=h|1;k[g+h>>2]=h;b=h>>>3;if(h>>>0<256){c=11516+(b<<1<<2)|0;a=k[2869]|0;b=1<>2]|0;if(a>>>0<(k[2873]|0)>>>0)sa();else{B=a;C=b}}else{k[2869]=a|b;B=c;C=c+8|0}k[C>>2]=g;k[B+12>>2]=g;k[g+8>>2]=B;k[g+12>>2]=c;break}b=h>>>8;if(b)if(h>>>0>16777215)b=31;else{J=(b+1048320|0)>>>16&8;K=b<>>16&4;K=K<>>16&2;b=14-(I|J|b)+(K<>>15)|0;b=h>>>(b+7|0)&1|b<<1}else b=0;c=11780+(b<<2)|0;k[g+28>>2]=b;a=g+16|0;k[a+4>>2]=0;k[a>>2]=0;a=1<>2]=g;k[g+24>>2]=c;k[g+12>>2]=g;k[g+8>>2]=g;break}a=h<<((b|0)==31?0:25-(b>>>1)|0);d=k[c>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(h|0)){D=148;break}c=d+16+(a>>>31<<2)|0;b=k[c>>2]|0;if(!b){D=145;break}else{a=a<<1;d=b}}if((D|0)==145)if(c>>>0<(k[2873]|0)>>>0)sa();else{k[c>>2]=g;k[g+24>>2]=d;k[g+12>>2]=g;k[g+8>>2]=g;break}else if((D|0)==148){b=d+8|0;a=k[b>>2]|0;K=k[2873]|0;if(a>>>0>=K>>>0&d>>>0>=K>>>0){k[a+12>>2]=g;k[b>>2]=g;k[g+8>>2]=a;k[g+12>>2]=d;k[g+24>>2]=0;break}else sa()}}else{K=h+n|0;k[i+4>>2]=K|3;K=i+K+4|0;k[K>>2]=k[K>>2]|1}while(0);K=i+8|0;r=L;return K|0}}}else n=-1;while(0);c=k[2871]|0;if(c>>>0>=n>>>0){b=c-n|0;a=k[2874]|0;if(b>>>0>15){K=a+n|0;k[2874]=K;k[2871]=b;k[K+4>>2]=b|1;k[K+b>>2]=b;k[a+4>>2]=n|3}else{k[2871]=0;k[2874]=0;k[a+4>>2]=c|3;K=a+c+4|0;k[K>>2]=k[K>>2]|1}K=a+8|0;r=L;return K|0}h=k[2872]|0;if(h>>>0>n>>>0){I=h-n|0;k[2872]=I;K=k[2875]|0;J=K+n|0;k[2875]=J;k[J+4>>2]=I|1;k[K+4>>2]=n|3;K=K+8|0;r=L;return K|0}if(!(k[2987]|0)){k[2989]=4096;k[2988]=4096;k[2990]=-1;k[2991]=-1;k[2992]=0;k[2980]=0;a=o&-16^1431655768;k[o>>2]=a;k[2987]=a;a=4096}else a=k[2989]|0;i=n+48|0;j=n+47|0;g=a+j|0;e=0-a|0;l=g&e;if(l>>>0<=n>>>0){K=0;r=L;return K|0}a=k[2979]|0;if(a|0?(B=k[2977]|0,C=B+l|0,C>>>0<=B>>>0|C>>>0>a>>>0):0){K=0;r=L;return K|0}b:do if(!(k[2980]&4)){c=k[2875]|0;c:do if(c){d=11924;while(1){a=k[d>>2]|0;if(a>>>0<=c>>>0?(u=d+4|0,(a+(k[u>>2]|0)|0)>>>0>c>>>0):0)break;a=k[d+8>>2]|0;if(!a){D=172;break c}else d=a}c=g-h&e;if(c>>>0<2147483647){a=Ue(c|0)|0;if((a|0)==((k[d>>2]|0)+(k[u>>2]|0)|0)){if((a|0)!=(-1|0)){g=c;f=a;D=190;break b}}else{b=c;D=180}}}else D=172;while(0);do if(((D|0)==172?(f=Ue(0)|0,(f|0)!=(-1|0)):0)?(b=f,v=k[2988]|0,w=v+-1|0,b=((w&b|0)==0?0:(w+b&0-v)-b|0)+l|0,v=k[2977]|0,w=b+v|0,b>>>0>n>>>0&b>>>0<2147483647):0){C=k[2979]|0;if(C|0?w>>>0<=v>>>0|w>>>0>C>>>0:0)break;a=Ue(b|0)|0;if((a|0)==(f|0)){g=b;D=190;break b}else D=180}while(0);d:do if((D|0)==180){c=0-b|0;do if(i>>>0>b>>>0&(b>>>0<2147483647&(a|0)!=(-1|0))?(x=k[2989]|0,x=j-b+x&0-x,x>>>0<2147483647):0)if((Ue(x|0)|0)==(-1|0)){Ue(c|0)|0;break d}else{b=x+b|0;break}while(0);if((a|0)!=(-1|0)){g=b;f=a;D=190;break b}}while(0);k[2980]=k[2980]|4;D=187}else D=187;while(0);if((((D|0)==187?l>>>0<2147483647:0)?(A=Ue(l|0)|0,y=Ue(0)|0,A>>>0>>0&((A|0)!=(-1|0)&(y|0)!=(-1|0))):0)?(z=y-A|0,z>>>0>(n+40|0)>>>0):0){g=z;f=A;D=190}if((D|0)==190){b=(k[2977]|0)+g|0;k[2977]=b;if(b>>>0>(k[2978]|0)>>>0)k[2978]=b;j=k[2875]|0;do if(j){b=11924;while(1){a=k[b>>2]|0;c=b+4|0;d=k[c>>2]|0;if((f|0)==(a+d|0)){D=200;break}e=k[b+8>>2]|0;if(!e)break;else b=e}if(((D|0)==200?(k[b+12>>2]&8|0)==0:0)?j>>>0>>0&j>>>0>=a>>>0:0){k[c>>2]=d+g;K=j+8|0;K=(K&7|0)==0?0:0-K&7;J=j+K|0;K=g-K+(k[2872]|0)|0;k[2875]=J;k[2872]=K;k[J+4>>2]=K|1;k[J+K+4>>2]=40;k[2876]=k[2991];break}b=k[2873]|0;if(f>>>0>>0){k[2873]=f;h=f}else h=b;a=f+g|0;b=11924;while(1){if((k[b>>2]|0)==(a|0)){D=208;break}b=k[b+8>>2]|0;if(!b){a=11924;break}}if((D|0)==208)if(!(k[b+12>>2]&8)){k[b>>2]=f;m=b+4|0;k[m>>2]=(k[m>>2]|0)+g;m=f+8|0;m=f+((m&7|0)==0?0:0-m&7)|0;b=a+8|0;b=a+((b&7|0)==0?0:0-b&7)|0;l=m+n|0;i=b-m-n|0;k[m+4>>2]=n|3;do if((b|0)!=(j|0)){if((b|0)==(k[2874]|0)){K=(k[2871]|0)+i|0;k[2871]=K;k[2874]=l;k[l+4>>2]=K|1;k[l+K>>2]=K;break}a=k[b+4>>2]|0;if((a&3|0)==1){g=a&-8;e=a>>>3;e:do if(a>>>0>=256){f=k[b+24>>2]|0;d=k[b+12>>2]|0;do if((d|0)==(b|0)){d=b+16|0;c=d+4|0;a=k[c>>2]|0;if(!a){a=k[d>>2]|0;if(!a){I=0;break}else c=d}while(1){d=a+20|0;e=k[d>>2]|0;if(e|0){a=e;c=d;continue}d=a+16|0;e=k[d>>2]|0;if(!e)break;else{a=e;c=d}}if(c>>>0>>0)sa();else{k[c>>2]=0;I=a;break}}else{e=k[b+8>>2]|0;if(e>>>0>>0)sa();a=e+12|0;if((k[a>>2]|0)!=(b|0))sa();c=d+8|0;if((k[c>>2]|0)==(b|0)){k[a>>2]=d;k[c>>2]=e;I=d;break}else sa()}while(0);if(!f)break;a=k[b+28>>2]|0;c=11780+(a<<2)|0;do if((b|0)!=(k[c>>2]|0)){if(f>>>0<(k[2873]|0)>>>0)sa();a=f+16|0;if((k[a>>2]|0)==(b|0))k[a>>2]=I;else k[f+20>>2]=I;if(!I)break e}else{k[c>>2]=I;if(I|0)break;k[2870]=k[2870]&~(1<>>0>>0)sa();k[I+24>>2]=f;a=b+16|0;c=k[a>>2]|0;do if(c|0)if(c>>>0>>0)sa();else{k[I+16>>2]=c;k[c+24>>2]=I;break}while(0);a=k[a+4>>2]|0;if(!a)break;if(a>>>0<(k[2873]|0)>>>0)sa();else{k[I+20>>2]=a;k[a+24>>2]=I;break}}else{c=k[b+8>>2]|0;d=k[b+12>>2]|0;a=11516+(e<<1<<2)|0;do if((c|0)!=(a|0)){if(c>>>0>>0)sa();if((k[c+12>>2]|0)==(b|0))break;sa()}while(0);if((d|0)==(c|0)){k[2869]=k[2869]&~(1<>>0>>0)sa();a=d+8|0;if((k[a>>2]|0)==(b|0)){F=a;break}sa()}while(0);k[c+12>>2]=d;k[F>>2]=c}while(0);b=b+g|0;e=g+i|0}else e=i;b=b+4|0;k[b>>2]=k[b>>2]&-2;k[l+4>>2]=e|1;k[l+e>>2]=e;b=e>>>3;if(e>>>0<256){c=11516+(b<<1<<2)|0;a=k[2869]|0;b=1<>2]|0;if(a>>>0>=(k[2873]|0)>>>0){J=a;K=b;break}sa()}while(0);k[K>>2]=l;k[J+12>>2]=l;k[l+8>>2]=J;k[l+12>>2]=c;break}b=e>>>8;do if(!b)b=0;else{if(e>>>0>16777215){b=31;break}J=(b+1048320|0)>>>16&8;K=b<>>16&4;K=K<>>16&2;b=14-(I|J|b)+(K<>>15)|0;b=e>>>(b+7|0)&1|b<<1}while(0);d=11780+(b<<2)|0;k[l+28>>2]=b;a=l+16|0;k[a+4>>2]=0;k[a>>2]=0;a=k[2870]|0;c=1<>2]=l;k[l+24>>2]=d;k[l+12>>2]=l;k[l+8>>2]=l;break}a=e<<((b|0)==31?0:25-(b>>>1)|0);d=k[d>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(e|0)){D=278;break}c=d+16+(a>>>31<<2)|0;b=k[c>>2]|0;if(!b){D=275;break}else{a=a<<1;d=b}}if((D|0)==275)if(c>>>0<(k[2873]|0)>>>0)sa();else{k[c>>2]=l;k[l+24>>2]=d;k[l+12>>2]=l;k[l+8>>2]=l;break}else if((D|0)==278){b=d+8|0;a=k[b>>2]|0;K=k[2873]|0;if(a>>>0>=K>>>0&d>>>0>=K>>>0){k[a+12>>2]=l;k[b>>2]=l;k[l+8>>2]=a;k[l+12>>2]=d;k[l+24>>2]=0;break}else sa()}}else{K=(k[2872]|0)+i|0;k[2872]=K;k[2875]=l;k[l+4>>2]=K|1}while(0);K=m+8|0;r=L;return K|0}else a=11924;while(1){b=k[a>>2]|0;if(b>>>0<=j>>>0?(E=b+(k[a+4>>2]|0)|0,E>>>0>j>>>0):0)break;a=k[a+8>>2]|0}e=E+-47|0;a=e+8|0;a=e+((a&7|0)==0?0:0-a&7)|0;e=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;c=f+8|0;c=(c&7|0)==0?0:0-c&7;K=f+c|0;c=g+-40-c|0;k[2875]=K;k[2872]=c;k[K+4>>2]=c|1;k[K+c+4>>2]=40;k[2876]=k[2991];c=a+4|0;k[c>>2]=27;k[b>>2]=k[2981];k[b+4>>2]=k[2982];k[b+8>>2]=k[2983];k[b+12>>2]=k[2984];k[2981]=f;k[2982]=g;k[2984]=0;k[2983]=b;b=a+24|0;do{b=b+4|0;k[b>>2]=7}while((b+4|0)>>>0>>0);if((a|0)!=(j|0)){f=a-j|0;k[c>>2]=k[c>>2]&-2;k[j+4>>2]=f|1;k[a>>2]=f;b=f>>>3;if(f>>>0<256){c=11516+(b<<1<<2)|0;a=k[2869]|0;b=1<>2]|0;if(a>>>0<(k[2873]|0)>>>0)sa();else{G=a;H=b}}else{k[2869]=a|b;G=c;H=c+8|0}k[H>>2]=j;k[G+12>>2]=j;k[j+8>>2]=G;k[j+12>>2]=c;break}b=f>>>8;if(b)if(f>>>0>16777215)c=31;else{J=(b+1048320|0)>>>16&8;K=b<>>16&4;K=K<>>16&2;c=14-(I|J|c)+(K<>>15)|0;c=f>>>(c+7|0)&1|c<<1}else c=0;d=11780+(c<<2)|0;k[j+28>>2]=c;k[j+20>>2]=0;k[e>>2]=0;b=k[2870]|0;a=1<>2]=j;k[j+24>>2]=d;k[j+12>>2]=j;k[j+8>>2]=j;break}a=f<<((c|0)==31?0:25-(c>>>1)|0);d=k[d>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(f|0)){D=304;break}c=d+16+(a>>>31<<2)|0;b=k[c>>2]|0;if(!b){D=301;break}else{a=a<<1;d=b}}if((D|0)==301)if(c>>>0<(k[2873]|0)>>>0)sa();else{k[c>>2]=j;k[j+24>>2]=d;k[j+12>>2]=j;k[j+8>>2]=j;break}else if((D|0)==304){b=d+8|0;a=k[b>>2]|0;K=k[2873]|0;if(a>>>0>=K>>>0&d>>>0>=K>>>0){k[a+12>>2]=j;k[b>>2]=j;k[j+8>>2]=a;k[j+12>>2]=d;k[j+24>>2]=0;break}else sa()}}}else{K=k[2873]|0;if((K|0)==0|f>>>0>>0)k[2873]=f;k[2981]=f;k[2982]=g;k[2984]=0;k[2878]=k[2987];k[2877]=-1;b=0;do{K=11516+(b<<1<<2)|0;k[K+12>>2]=K;k[K+8>>2]=K;b=b+1|0}while((b|0)!=32);K=f+8|0;K=(K&7|0)==0?0:0-K&7;J=f+K|0;K=g+-40-K|0;k[2875]=J;k[2872]=K;k[J+4>>2]=K|1;k[J+K+4>>2]=40;k[2876]=k[2991]}while(0);b=k[2872]|0;if(b>>>0>n>>>0){I=b-n|0;k[2872]=I;K=k[2875]|0;J=K+n|0;k[2875]=J;k[J+4>>2]=I|1;k[K+4>>2]=n|3;K=K+8|0;r=L;return K|0}}k[2868]=12;K=0;r=L;return K|0}function Ya(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0,j=0;if(!c){c=0;return c|0}switch(k[a+28>>2]|0){case 9:switch(i[a+24>>0]|0){case 1:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;a=(Yf(Af(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=a+48|0;h=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;a=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,h|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=a;a=a+4|0;a=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;h=c;k[h>>2]=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[h+4>>2]=a;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;hf(c|0,(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;o[c+12>>2]=0.0;h=1;return h|0}case 4:{h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;hf(c|0,(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0,16)|0;h=1;return h|0}default:{h=0;return h|0}}case 2:switch(i[a+24>>0]|0){case 1:{h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,g|0,h|0)|0;e=+(l[(k[k[a>>2]>>2]|0)+h>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?e:e/255.0;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:{h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8;b=(h&65535)>>>8&255;d=+(h&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&255)}else{o[c>>2]=d/255.0;d=+(b&255)/255.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=i[h+1>>0]|0;b=i[h+2>>0]|0;d=+(l[h>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b&255);d=+(f&255)}else{o[c>>2]=d/255.0;e=+(b&255)/255.0;d=+(f&255)/255.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>8&255;f=h>>>16&255;g=h>>>24&255;d=+(h&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);o[c+8>>2]=+(f&255);o[c+12>>2]=+(g&255);h=1;return h|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;o[c+8>>2]=+(f&255)/255.0;o[c+12>>2]=+(g&255)/255.0;h=1;return h|0}}default:{h=0;return h|0}}case 1:switch(i[a+24>>0]|0){case 1:{h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,g|0,h|0)|0;e=+(i[(k[k[a>>2]>>2]|0)+h>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?e:e/127.0;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:{h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8;b=(h&65535)>>>8&255;d=+((h&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<24>>24)}else{o[c>>2]=d/127.0;d=+(b<<24>>24)/127.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=i[h+1>>0]|0;b=i[h+2>>0]|0;d=+(i[h>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b<<24>>24);d=+(f<<24>>24)}else{o[c>>2]=d/127.0;e=+(b<<24>>24)/127.0;d=+(f<<24>>24)/127.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>8&255;f=h>>>16&255;g=h>>>24&255;d=+((h&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);o[c+8>>2]=+(f<<24>>24);o[c+12>>2]=+(g<<24>>24);h=1;return h|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;o[c+8>>2]=+(f<<24>>24)/127.0;o[c+12>>2]=+(g<<24>>24)/127.0;h=1;return h|0}}default:{h=0;return h|0}}case 4:switch(i[a+24>>0]|0){case 1:{h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+((l[h>>0]|l[h+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?e:e/65535.0;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:{h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=+(h&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&65535)}else{o[c>>2]=d/65535.0;d=+(b&65535)/65535.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+2|0;f=l[f>>0]|l[f+1>>0]<<8;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[h>>0]|l[h+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b&65535);d=+(f&65535)}else{o[c>>2]=d/65535.0;e=+(b&65535)/65535.0;d=+(f&65535)/65535.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{g=a+48|0;j=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=(Yf(Af(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,j|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;j=g;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+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;h=(i[a+32>>0]|0)==0;b=(Kf(j|0,g|0,16)|0)&65535;f=g&65535;g=(Kf(j|0,g|0,48)|0)&65535;d=+(j&65535);if(h){o[c>>2]=d;o[c+4>>2]=+(b&65535);o[c+8>>2]=+(f&65535);o[c+12>>2]=+(g&65535);j=1;return j|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;o[c+8>>2]=+(f&65535)/65535.0;o[c+12>>2]=+(g&65535)/65535.0;j=1;return j|0}}default:{j=0;return j|0}}case 3:switch(i[a+24>>0]|0){case 1:{j=a+48|0;h=k[j>>2]|0;j=k[j+4>>2]|0;g=a+40|0;j=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,h|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+((l[j>>0]|l[j+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?e:e/32767.0;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:{j=a+48|0;h=k[j>>2]|0;j=k[j+4>>2]|0;g=a+40|0;j=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,h|0,j|0)|0)+(k[k[a>>2]>>2]|0)|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=+((j&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<16>>16)}else{o[c>>2]=d/32767.0;d=+(b<<16>>16)/32767.0}o[c+4>>2]=d;j=c+8|0;k[j>>2]=0;k[j+4>>2]=0;j=1;return j|0}case 3:{j=a+48|0;f=k[j>>2]|0;j=k[j+4>>2]|0;h=a+40|0;j=(Yf(Af(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,j|0)|0)+(k[k[a>>2]>>2]|0)|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=+((l[j>>0]|l[j+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b<<16>>16);d=+(f<<16>>16)}else{o[c>>2]=d/32767.0;e=+(b<<16>>16)/32767.0;d=+(f<<16>>16)/32767.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;j=1;return j|0}case 4:{g=a+48|0;h=k[g>>2]|0;g=k[g+4>>2]|0;j=a+40|0;g=(Yf(Af(k[j>>2]|0,k[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,h|0,g|0)|0)+(k[k[a>>2]>>2]|0)|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=(Kf(h|0,g|0,16)|0)&65535;f=g&65535;g=(Kf(h|0,g|0,48)|0)&65535;d=+((h&65535)<<16>>16);if(j){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);o[c+8>>2]=+(f<<16>>16);o[c+12>>2]=+(g<<16>>16);j=1;return j|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;o[c+8>>2]=+(f<<16>>16)/32767.0;o[c+12>>2]=+(g<<16>>16)/32767.0;j=1;return j|0}}default:{j=0;return j|0}}case 6:switch(i[a+24>>0]|0){case 1:{j=a+48|0;h=k[j>>2]|0;j=k[j+4>>2]|0;g=a+40|0;j=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,h|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+((l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?e:e*2.3283064365386963e-10;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:{j=a+48|0;h=k[j>>2]|0;j=k[j+4>>2]|0;g=a+40|0;b=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,h|0,j|0)|0)+(k[k[a>>2]>>2]|0)|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=+((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=+(b>>>0)}else{o[c>>2]=d*2.3283064365386963e-10;d=+(b>>>0)*2.3283064365386963e-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:{j=a+48|0;f=k[j>>2]|0;j=k[j+4>>2]|0;h=a+40|0;j=(Yf(Af(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,j|0)|0)+(k[k[a>>2]>>2]|0)|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=+((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=+(b>>>0);d=+(f>>>0)}else{o[c>>2]=d*2.3283064365386963e-10;e=+(b>>>0)*2.3283064365386963e-10;d=+(f>>>0)*2.3283064365386963e-10}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;j=1;return j|0}case 4:{j=a+48|0;f=k[j>>2]|0;j=k[j+4>>2]|0;g=a+40|0;j=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,j|0)|0)+(k[k[a>>2]>>2]|0)|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=+((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;o[c+4>>2]=+(b>>>0);o[c+8>>2]=+(f>>>0);o[c+12>>2]=+(g>>>0);j=1;return j|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;o[c+8>>2]=+(f>>>0)*2.3283064365386963e-10;o[c+12>>2]=+(g>>>0)*2.3283064365386963e-10;j=1;return j|0}}default:{j=0;return j|0}}case 5:switch(i[a+24>>0]|0){case 1:{j=a+48|0;h=k[j>>2]|0;j=k[j+4>>2]|0;g=a+40|0;j=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,h|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+(l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?e:e*4.656612873077393e-10;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:{j=a+48|0;h=k[j>>2]|0;j=k[j+4>>2]|0;g=a+40|0;b=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,h|0,j|0)|0)+(k[k[a>>2]>>2]|0)|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=+(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=+(b|0)}else{o[c>>2]=d*4.656612873077393e-10;d=+(b|0)*4.656612873077393e-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:{j=a+48|0;f=k[j>>2]|0;j=k[j+4>>2]|0;h=a+40|0;j=(Yf(Af(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,j|0)|0)+(k[k[a>>2]>>2]|0)|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=+(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=+(b|0);d=+(f|0)}else{o[c>>2]=d*4.656612873077393e-10;e=+(b|0)*4.656612873077393e-10;d=+(f|0)*4.656612873077393e-10}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;j=1;return j|0}case 4:{j=a+48|0;f=k[j>>2]|0;j=k[j+4>>2]|0;g=a+40|0;j=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,j|0)|0)+(k[k[a>>2]>>2]|0)|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=+(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;o[c+4>>2]=+(b|0);o[c+8>>2]=+(f|0);o[c+12>>2]=+(g|0);j=1;return j|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;o[c+8>>2]=+(f|0)*4.656612873077393e-10;o[c+12>>2]=+(g|0)*4.656612873077393e-10;j=1;return j|0}}default:{j=0;return j|0}}default:{j=0;return j|0}}return 0}function Za(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;if(!c){c=0;return c|0}switch(k[a+28>>2]|0){case 9:switch(i[a+24>>0]|0){case 1:{e=a+48|0;f=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;a=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=a+48|0;g=k[f>>2]|0;f=k[f+4>>2]|0;e=a+40|0;f=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,g|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;a=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[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;k[g+4>>2]=f;o[c+8>>2]=0.0;g=1;return g|0}case 3:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;hf(c|0,(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;g=1;return g|0}case 4:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;hf(c|0,(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;g=1;return g|0}default:{g=0;return g|0}}case 2:switch(i[a+24>>0]|0){case 1:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;g=c+4|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 2:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&255)}else{o[c>>2]=d/255.0;d=+(b&255)/255.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{g=a+48|0;e=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;e=i[g+2>>0]|0;d=+(l[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);o[c+8>>2]=+(e&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;o[c+8>>2]=+(e&255)/255.0;g=1;return g|0}}case 4:{g=a+48|0;e=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;e=g>>>16&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);o[c+8>>2]=+(e&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;o[c+8>>2]=+(e&255)/255.0;g=1;return g|0}}default:{g=0;return g|0}}case 1:switch(i[a+24>>0]|0){case 1:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;g=c+4|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 2:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<24>>24)}else{o[c>>2]=d/127.0;d=+(b<<24>>24)/127.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{g=a+48|0;e=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;e=i[g+2>>0]|0;d=+(i[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);o[c+8>>2]=+(e<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;o[c+8>>2]=+(e<<24>>24)/127.0;g=1;return g|0}}case 4:{g=a+48|0;e=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;e=g>>>16&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);o[c+8>>2]=+(e<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;o[c+8>>2]=+(e<<24>>24)/127.0;g=1;return g|0}}default:{g=0;return g|0}}case 4:switch(i[a+24>>0]|0){case 1:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;g=c+4|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 2:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+(g&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&65535)}else{o[c>>2]=d/65535.0;d=+(b&65535)/65535.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{g=a+48|0;e=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;e=g+4|0;e=l[e>>0]|l[e+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&65535);o[c+8>>2]=+(e&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;o[c+8>>2]=+(e&65535)/65535.0;g=1;return g|0}}case 4:{e=a+48|0;f=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;f=e;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=e+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;g=(i[a+32>>0]|0)==0;b=(Kf(f|0,e|0,16)|0)&65535;e=e&65535;d=+(f&65535);if(g){o[c>>2]=d;o[c+4>>2]=+(b&65535);o[c+8>>2]=+(e&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;o[c+8>>2]=+(e&65535)/65535.0;g=1;return g|0}}default:{g=0;return g|0}}case 3:switch(i[a+24>>0]|0){case 1:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;g=c+4|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 2:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+((g&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<16>>16)}else{o[c>>2]=d/32767.0;d=+(b<<16>>16)/32767.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{g=a+48|0;e=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;e=g+4|0;e=l[e>>0]|l[e+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);o[c+8>>2]=+(e<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;o[c+8>>2]=+(e<<16>>16)/32767.0;g=1;return g|0}}case 4:{e=a+48|0;f=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;f=e;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=e+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;g=(i[a+32>>0]|0)==0;b=(Kf(f|0,e|0,16)|0)&65535;e=e&65535;d=+((f&65535)<<16>>16);if(g){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);o[c+8>>2]=+(e<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;o[c+8>>2]=+(e<<16>>16)/32767.0;g=1;return g|0}}default:{g=0;return g|0}}case 6:switch(i[a+24>>0]|0){case 1:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;g=c+4|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 2:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;b=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b>>>0)}else{o[c>>2]=d*2.3283064365386963e-10;d=+(b>>>0)*2.3283064365386963e-10}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{g=a+48|0;e=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);o[c+8>>2]=+(e>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;o[c+8>>2]=+(e>>>0)*2.3283064365386963e-10;g=1;return g|0}}case 4:{g=a+48|0;e=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);o[c+8>>2]=+(e>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;o[c+8>>2]=+(e>>>0)*2.3283064365386963e-10;g=1;return g|0}}default:{g=0;return g|0}}case 5:switch(i[a+24>>0]|0){case 1:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;g=c+4|0;k[g>>2]=0;k[g+4>>2]=0;g=1;return g|0}case 2:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;b=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b|0)}else{o[c>>2]=d*4.656612873077393e-10;d=+(b|0)*4.656612873077393e-10}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{g=a+48|0;e=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);o[c+8>>2]=+(e|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;o[c+8>>2]=+(e|0)*4.656612873077393e-10;g=1;return g|0}}case 4:{g=a+48|0;e=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);o[c+8>>2]=+(e|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;o[c+8>>2]=+(e|0)*4.656612873077393e-10;g=1;return g|0}}default:{g=0;return g|0}}default:{g=0;return g|0}}return 0}function _a(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;if(!c){c=0;return c|0}switch(k[a+28>>2]|0){case 9:switch(i[a+24>>0]|0){case 1:{e=a+48|0;f=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;a=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;o[c+4>>2]=0.0;c=1;return c|0}case 2:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;g=a+40|0;f=(Yf(Af(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|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:{f=a+48|0;g=k[f>>2]|0;f=k[f+4>>2]|0;e=a+40|0;f=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,g|0,f|0)|0)+(k[k[a>>2]>>2]|0)|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:{f=a+48|0;g=k[f>>2]|0;f=k[f+4>>2]|0;e=a+40|0;f=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,g|0,f|0)|0)+(k[k[a>>2]>>2]|0)|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}}case 2:switch(i[a+24>>0]|0){case 1:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;o[c+4>>2]=0.0;g=1;return g|0}case 2:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;g=1;return g|0}}case 3:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;d=+(l[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;g=1;return g|0}}case 4:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;g=1;return g|0}}default:{g=0;return g|0}}case 1:switch(i[a+24>>0]|0){case 1:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;o[c+4>>2]=0.0;g=1;return g|0}case 2:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;g=1;return g|0}}case 3:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;d=+(i[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;g=1;return g|0}}case 4:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;g=1;return g|0}}default:{g=0;return g|0}}case 4:switch(i[a+24>>0]|0){case 1:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;o[c+4>>2]=0.0;g=1;return g|0}case 2:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+(g&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;g=1;return g|0}}case 3:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;g=1;return g|0}}case 4:{f=a+48|0;g=k[f>>2]|0;f=k[f+4>>2]|0;e=a+40|0;b=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,g|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;f=b;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=b+4|0;g=(i[a+32>>0]|0)==0;b=(Kf(f|0,l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0,16)|0)&65535;d=+(f&65535);if(g){o[c>>2]=d;o[c+4>>2]=+(b&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;g=1;return g|0}}default:{g=0;return g|0}}case 3:switch(i[a+24>>0]|0){case 1:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;o[c+4>>2]=0.0;g=1;return g|0}case 2:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+((g&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;g=1;return g|0}}case 3:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;g=1;return g|0}}case 4:{f=a+48|0;g=k[f>>2]|0;f=k[f+4>>2]|0;e=a+40|0;b=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,g|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;f=b;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=b+4|0;g=(i[a+32>>0]|0)==0;b=(Kf(f|0,l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0,16)|0)&65535;d=+((f&65535)<<16>>16);if(g){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;g=1;return g|0}}default:{g=0;return g|0}}case 6:switch(i[a+24>>0]|0){case 1:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;o[c+4>>2]=0.0;g=1;return g|0}case 2:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;b=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;g=1;return g|0}}case 3:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;g=1;return g|0}}case 4:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;g=1;return g|0}}default:{g=0;return g|0}}case 5:switch(i[a+24>>0]|0){case 1:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;o[c+4>>2]=0.0;g=1;return g|0}case 2:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;b=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;g=1;return g|0}}case 3:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;g=1;return g|0}}case 4:{g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Yf(Af(k[e>>2]|0,k[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;g=1;return g|0}}default:{g=0;return g|0}}default:{g=0;return g|0}}return 0}function $a(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;a:do if(a>>>0<212){a=$e(4756,4948,a)|0;a=k[a>>2]|0}else{g=(a>>>0)/210|0;e=g*210|0;d=($e(4948,5140,a-e|0)|0)-4948>>2;a=0;f=d;e=(k[4948+(d<<2)>>2]|0)+e|0;while(1){b=5;while(1){if(b>>>0>=47){d=211;h=8;break}c=k[4756+(b<<2)>>2]|0;d=(e>>>0)/(c>>>0)|0;if(d>>>0>>0){a=e;break a}if((e|0)==(_(d,c)|0))break;else b=b+1|0}b:do if((h|0)==8){c:while(1){h=0;b=(e>>>0)/(d>>>0)|0;do if(b>>>0>=d>>>0)if((e|0)!=(_(b,d)|0)){b=d+10|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=(_(c,b)|0)){b=d+12|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=(_(c,b)|0)){b=d+16|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=(_(c,b)|0)){b=d+18|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=(_(c,b)|0)){b=d+22|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=(_(c,b)|0)){b=d+28|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)==(_(c,b)|0))c=9;else{b=d+30|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+36|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+40|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+42|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+46|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+52|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+58|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+60|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+66|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+70|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+72|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+78|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+82|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+88|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+96|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+100|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+102|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+106|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+108|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+112|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+120|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+126|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+130|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+136|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+138|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+142|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+148|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+150|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+156|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+162|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+166|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+168|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+172|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+178|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+180|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+186|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+190|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+192|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+196|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+198|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==(_(c,b)|0)){c=9;break}b=d+208|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}c=(e|0)==(_(c,b)|0);b=c?b:d+210|0;c=c?9:0}else{c=1;a=e}}else c=9;else{c=1;a=e}}else c=9;else{c=1;a=e}}else c=9;else{c=1;a=e}}else c=9;else{c=1;a=e}}else c=9;else{c=1;a=e}}else{b=d;c=9}else{b=d;c=1;a=e}while(0);switch(c&15){case 9:break b;case 0:{d=b;h=8;break}default:break c}}if(c)break a}while(0);d=f+1|0;c=(d|0)==48;e=(c&1)+g|0;d=c?0:d;f=d;g=e;e=(k[4948+(d<<2)>>2]|0)+(e*210|0)|0}}while(0);return a|0}function ab(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0;if(!c){c=0;return c|0}switch(k[a+28>>2]|0){case 9:switch(i[a+24>>0]|0){case 1:{d=a+48|0;e=k[d>>2]|0;d=k[d+4>>2]|0;f=a+40|0;a=(Yf(Af(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,d|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;c=1;return c|0}case 2:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|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 3:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|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 4:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|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}default:{f=0;return f|0}}case 2:switch(i[a+24>>0]|0){case 1:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0;g=+(l[(k[k[a>>2]>>2]|0)+f>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?g:g/255.0;f=1;return f|0}case 2:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+((l[f>>0]|l[f+1>>0]<<8)&255);o[c>>2]=(i[a+32>>0]|0)==0?g:g/255.0;f=1;return f|0}case 3:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0;g=+(l[(k[k[a>>2]>>2]|0)+f>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?g:g/255.0;f=1;return f|0}case 4:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+((l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)&255);o[c>>2]=(i[a+32>>0]|0)==0?g:g/255.0;f=1;return f|0}default:{f=0;return f|0}}case 1:switch(i[a+24>>0]|0){case 1:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0;g=+(i[(k[k[a>>2]>>2]|0)+f>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?g:g/127.0;f=1;return f|0}case 2:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+(((l[f>>0]|l[f+1>>0]<<8)&255)<<24>>24);o[c>>2]=(i[a+32>>0]|0)==0?g:g/127.0;f=1;return f|0}case 3:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0;g=+(i[(k[k[a>>2]>>2]|0)+f>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?g:g/127.0;f=1;return f|0}case 4:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+(((l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)&255)<<24>>24);o[c>>2]=(i[a+32>>0]|0)==0?g:g/127.0;f=1;return f|0}default:{f=0;return f|0}}case 4:switch(i[a+24>>0]|0){case 1:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+((l[f>>0]|l[f+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?g:g/65535.0;f=1;return f|0}case 2:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+((l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)&65535);o[c>>2]=(i[a+32>>0]|0)==0?g:g/65535.0;f=1;return f|0}case 3:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+((l[f>>0]|l[f+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?g:g/65535.0;f=1;return f|0}case 4:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+((l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)&65535);o[c>>2]=(i[a+32>>0]|0)==0?g:g/65535.0;f=1;return f|0}default:{f=0;return f|0}}case 3:switch(i[a+24>>0]|0){case 1:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+((l[f>>0]|l[f+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?g:g/32767.0;f=1;return f|0}case 2:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+(((l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)&65535)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?g:g/32767.0;f=1;return f|0}case 3:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+((l[f>>0]|l[f+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?g:g/32767.0;f=1;return f|0}case 4:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+(((l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)&65535)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?g:g/32767.0;f=1;return f|0}default:{f=0;return f|0}}case 6:switch(i[a+24>>0]|0){case 1:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+((l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?g:g*2.3283064365386963e-10;f=1;return f|0}case 2:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+((l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?g:g*2.3283064365386963e-10;f=1;return f|0}case 3:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+((l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?g:g*2.3283064365386963e-10;f=1;return f|0}case 4:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+((l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?g:g*2.3283064365386963e-10;f=1;return f|0}default:{f=0;return f|0}}case 5:switch(i[a+24>>0]|0){case 1:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+(l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?g:g*4.656612873077393e-10;f=1;return f|0}case 2:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+(l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?g:g*4.656612873077393e-10;f=1;return f|0}case 3:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+(l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?g:g*4.656612873077393e-10;f=1;return f|0}case 4:{f=a+48|0;e=k[f>>2]|0;f=k[f+4>>2]|0;d=a+40|0;f=(Yf(Af(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,L|0,e|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;g=+(l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?g:g*4.656612873077393e-10;f=1;return f|0}default:{f=0;return f|0}}default:{f=0;return f|0}}return 0}function bb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0.0,g=0.0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=r;r=r+64|0;P=Q+28|0;N=Q+16|0;I=Q+4|0;J=Q;O=a;K=a+64|0;e=k[K>>2]|0;k[P>>2]=0;k[P+4>>2]=0;k[P+8>>2]=0;k[P+12>>2]=0;k[P+16>>2]=O;L=P+20|0;o[L>>2]=1.0;k[P+24>>2]=O;ud(P,e);e=k[K>>2]|0;k[N>>2]=0;O=N+4|0;k[O>>2]=0;k[N+8>>2]=0;if(e|0){if(e>>>0>1073741823)Ba(11055,11078,304,11175);d=e<<2;c=(d|0)==0?1:d;while(1){b=Xa(c)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}k[N>>2]=b;F=b+(e<<2)|0;k[N+8>>2]=F;Ke(b|0,0,d|0)|0;k[O>>2]=F}k[I>>2]=0;F=I+4|0;k[F>>2]=0;k[I+8>>2]=0;k[J>>2]=0;do if((e|0)>0){z=P+16|0;B=P+4|0;C=P+12|0;D=P+8|0;E=I+8|0;A=P+24|0;y=0;b=0;a:while(1){v=k[z>>2]|0;j=k[v+4>>2]|0;v=(k[v+8>>2]|0)-j|0;u=(v|0)>0;if(u){h=j;l=v>>2;e=0;c=0;do{d=k[h+(e<<2)>>2]|0;if(!(i[d+84>>0]|0))d=k[(k[d+68>>2]|0)+(b<<2)>>2]|0;else d=b;c=d<<2^c<<1;e=e+1|0}while((e|0)<(l|0))}else c=0;w=k[B>>2]|0;x=(w|0)==0;b:do if(!x){p=w+-1|0;d=(p&w|0)==0;if(d)t=p&c;else t=(c>>>0)%(w>>>0)|0;c=k[(k[P>>2]|0)+(t<<2)>>2]|0;if((c|0)!=0?(G=k[c>>2]|0,(G|0)!=0):0){s=k[A>>2]|0;q=s+4|0;s=s+8|0;c:do if(d){c=G;while(1){if((k[c+4>>2]&p|0)!=(t|0)){M=46;break b}n=k[c+8>>2]|0;e=k[q>>2]|0;d=(k[s>>2]|0)-e|0;if((d|0)<=0)break c;m=d>>2;l=0;while(1){if((m|0)<=(l|0)){M=40;break a}d=k[e+(l<<2)>>2]|0;if(!(i[d+84>>0]|0)){h=k[d+68>>2]|0;d=k[h+(b<<2)>>2]|0;h=k[h+(n<<2)>>2]|0}else{d=b;h=n}l=l+1|0;if((h|0)!=(d|0))break;if((l|0)>=(m|0)){M=44;break c}}c=k[c>>2]|0;if(!c){M=46;break b}}}else{c=G;while(1){if((((k[c+4>>2]|0)>>>0)%(w>>>0)|0|0)!=(t|0)){M=46;break b}n=k[c+8>>2]|0;e=k[q>>2]|0;d=(k[s>>2]|0)-e|0;if((d|0)<=0)break c;m=d>>2;l=0;while(1){if((m|0)<=(l|0)){M=40;break a}d=k[e+(l<<2)>>2]|0;if(!(i[d+84>>0]|0)){h=k[d+68>>2]|0;d=k[h+(b<<2)>>2]|0;h=k[h+(n<<2)>>2]|0}else{d=b;h=n}l=l+1|0;if((h|0)!=(d|0))break;if((l|0)>=(m|0)){M=44;break c}}c=k[c>>2]|0;if(!c){M=46;break b}}}while(0);if((M|0)==44){M=0;if(!c){M=46;break}}k[(k[N>>2]|0)+(b<<2)>>2]=k[c+12>>2];d=y}else M=46}else M=46;while(0);do if((M|0)==46){M=0;if(u){h=v>>2;e=0;c=0;do{d=k[j+(e<<2)>>2]|0;if(!(i[d+84>>0]|0))d=k[(k[d+68>>2]|0)+(b<<2)>>2]|0;else d=b;c=d<<2^c<<1;e=e+1|0}while((e|0)<(h|0));t=c}else t=0;d:do if(!x){n=w+-1|0;d=(n&w|0)==0;if(d)s=n&t;else s=(t>>>0)%(w>>>0)|0;c=k[(k[P>>2]|0)+(s<<2)>>2]|0;if((c|0)!=0?(H=k[c>>2]|0,(H|0)!=0):0){q=k[A>>2]|0;p=q+4|0;q=q+8|0;if(d){l=H;while(1){if((k[l+4>>2]&n|0)!=(s|0)){d=s;M=77;break d}m=k[l+8>>2]|0;d=k[p>>2]|0;c=(k[q>>2]|0)-d|0;if((c|0)<=0)break d;j=c>>2;h=0;while(1){if((j|0)<=(h|0)){M=73;break a}c=k[d+(h<<2)>>2]|0;if(!(i[c+84>>0]|0)){e=k[c+68>>2]|0;c=k[e+(b<<2)>>2]|0;e=k[e+(m<<2)>>2]|0}else{c=b;e=m}h=h+1|0;if((e|0)!=(c|0))break;if((h|0)>=(j|0))break d}l=k[l>>2]|0;if(!l){d=s;M=77;break}}}else{l=H;while(1){if((((k[l+4>>2]|0)>>>0)%(w>>>0)|0|0)!=(s|0)){d=s;M=77;break d}m=k[l+8>>2]|0;d=k[p>>2]|0;c=(k[q>>2]|0)-d|0;if((c|0)<=0)break d;j=c>>2;h=0;while(1){if((j|0)<=(h|0)){M=73;break a}c=k[d+(h<<2)>>2]|0;if(!(i[c+84>>0]|0)){e=k[c+68>>2]|0;c=k[e+(b<<2)>>2]|0;e=k[e+(m<<2)>>2]|0}else{c=b;e=m}h=h+1|0;if((e|0)!=(c|0))break;if((h|0)>=(j|0))break d}l=k[l>>2]|0;if(!l){d=s;M=77;break}}}}else{d=s;M=77}}else{d=0;M=77}while(0);if((M|0)==77){M=0;while(1){c=Xa(16)|0;if(c|0){h=c;break}c=k[2993]|0;k[2993]=c+0;if(!c){h=0;break}Na[c&1]()}k[h+8>>2]=b;k[h+12>>2]=y;k[h+4>>2]=t;k[h>>2]=0;f=+(((k[C>>2]|0)+1|0)>>>0);g=+o[L>>2];do if(x|f>+(w>>>0)*g){b=(w>>>0>2&(w+-1&w|0)==0&1|w<<1)^1;c=~~+Z(+(f/g))>>>0;ud(P,b>>>0>>0?c:b);b=k[B>>2]|0;c=b+-1|0;if(!(c&b)){e=b;b=c&t;break}else{e=b;b=(t>>>0)%(b>>>0)|0;break}}else{e=w;b=d}while(0);b=(k[P>>2]|0)+(b<<2)|0;c=k[b>>2]|0;if(!c){k[h>>2]=k[D>>2];k[D>>2]=h;k[b>>2]=D;b=k[h>>2]|0;if(b|0){b=k[b+4>>2]|0;c=e+-1|0;if(!(c&e))b=b&c;else b=(b>>>0)%(e>>>0)|0;k[(k[P>>2]|0)+(b<<2)>>2]=h}}else{k[h>>2]=k[c>>2];k[c>>2]=h}k[C>>2]=(k[C>>2]|0)+1;b=k[J>>2]|0}d=y+1|0;k[(k[N>>2]|0)+(b<<2)>>2]=y;c=k[F>>2]|0;if((c|0)==(k[E>>2]|0)){Pd(I,J);break}else{k[c>>2]=b;k[F>>2]=c+4;break}}while(0);b=b+1|0;k[J>>2]=b;c=k[K>>2]|0;if((b|0)>=(c|0)){M=12;break}else y=d}if((M|0)==12){if((d|0)==(c|0))break;Ma[k[(k[a>>2]|0)+20>>2]&7](a,N,I);k[K>>2]=d;break}else if((M|0)==40)Ba(9495,9457,63,9485);else if((M|0)==73)Ba(9495,9457,63,9485)}while(0);b=k[I>>2]|0;c=b;if(b|0){d=k[F>>2]|0;if((d|0)!=(b|0))k[F>>2]=d+(~((d+-4-c|0)>>>2)<<2);gb(b)}b=k[N>>2]|0;c=b;if(b|0){d=k[O>>2]|0;if((d|0)!=(b|0))k[O>>2]=d+(~((d+-4-c|0)>>>2)<<2);gb(b)}b=k[P+8>>2]|0;if(b|0)do{O=b;b=k[b>>2]|0;gb(O)}while((b|0)!=0);b=k[P>>2]|0;k[P>>2]=0;if(!b){r=Q;return}gb(b);r=Q;return}function cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+16|0;A=E+8|0;B=E+4|0;C=E;D=a+64|0;e=k[D>>2]|0;d=((k[e+28>>2]|0)-(k[e+24>>2]|0)|0)>0;if(!((b|0)!=0&(c|0)!=0)){if(!d){r=E;return}l=a+52|0;m=a+56|0;n=a+60|0;o=a+12|0;p=a+28|0;q=a+40|0;s=a+44|0;t=a+48|0;j=0;d=e;h=0;while(1){c=k[(k[d+24>>2]|0)+(j<<2)>>2]|0;if((c|0)<0)b=h;else{f=h+1|0;k[A>>2]=h;d=k[m>>2]|0;if((d|0)==(k[n>>2]|0))Pd(l,A);else{k[d>>2]=h;k[m>>2]=d+4}k[B>>2]=c;k[C>>2]=0;do if(!(k[(k[o>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)))g=c;else{d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;e=k[a>>2]|0;if(!(1<<(d&31)&k[e+(d>>>5<<2)>>2])){if((d|0)>=0){g=k[(k[D>>2]|0)+12>>2]|0;d=k[g+(d<<2)>>2]|0;b=d+1|0;if((d|0)>=0){d=((b|0)%3|0|0)==0?d+-2|0:b;k[C>>2]=d;if((d|0)>-1)c=d;else{g=c;break}while(1){d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if(1<<(d&31)&k[e+(d>>>5<<2)>>2]|0){d=-1073741824;z=64;break}if((d|0)<0){z=64;break}d=k[g+(d<<2)>>2]|0;b=d+1|0;if((d|0)<0){z=64;break}d=((b|0)%3|0|0)==0?d+-2|0:b;k[C>>2]=d;if((d|0)>-1)c=d;else{z=68;break}}if((z|0)==64){z=0;k[B>>2]=c;k[C>>2]=d;g=c;break}else if((z|0)==68){z=0;k[B>>2]=c;g=c;break}}}}else d=-1073741824;k[C>>2]=d;g=c}while(0);k[(k[p>>2]|0)+(g<<2)>>2]=h;d=k[s>>2]|0;if((d|0)==(k[t>>2]|0))Pd(q,B);else{k[d>>2]=g;k[s>>2]=d+4}d=k[D>>2]|0;b=(((g>>>0)%3|0|0)==0?2:-1)+g|0;a:do if((b|0)>=0){b=k[(k[d+12>>2]|0)+(b<<2)>>2]|0;if((b|0)>=0){b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;k[C>>2]=b;if((b|0)>-1&(b|0)!=(g|0)){d=h;while(1){y=b+1|0;y=((y|0)%3|0|0)==0?b+-2|0:y;do if(k[(k[a>>2]|0)+(y>>>5<<2)>>2]&1<<(y&31)){c=f+1|0;k[A>>2]=f;d=k[m>>2]|0;if((d|0)==(k[n>>2]|0))Pd(l,A);else{k[d>>2]=f;k[m>>2]=d+4}d=k[s>>2]|0;if((d|0)==(k[t>>2]|0)){Pd(q,C);e=f;break}else{k[d>>2]=b;k[s>>2]=d+4;e=f;break}}else{c=f;e=d}while(0);k[(k[p>>2]|0)+(b<<2)>>2]=e;d=k[D>>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[d+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;k[C>>2]=b;if(!((b|0)>-1&(b|0)!=(g|0))){b=c;break a}else{f=c;d=e}}k[C>>2]=b;b=c}else b=f}else z=75}else z=75;while(0);if((z|0)==75){z=0;k[C>>2]=b;b=f}}j=j+1|0;if((j|0)>=((k[d+28>>2]|0)-(k[d+24>>2]|0)>>2|0))break;else h=b}r=E;return}if(!d){r=E;return}y=b+80|0;v=b+84|0;w=a+52|0;x=c+84|0;m=c+68|0;n=a+56|0;o=a+60|0;p=a+12|0;q=a+28|0;s=a+40|0;t=a+44|0;u=a+48|0;j=0;l=0;d=e;b:while(1){c=k[(k[d+24>>2]|0)+(l<<2)>>2]|0;if((c|0)<0)b=j;else{h=j+1|0;d=(c>>>0)/3|0;b=k[y>>2]|0;if((d|0)>=(((k[v>>2]|0)-b|0)/12|0|0)){z=6;break}d=k[b+(d*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;if(!(i[x>>0]|0))d=k[(k[m>>2]|0)+(d<<2)>>2]|0;k[A>>2]=d;b=k[n>>2]|0;if(b>>>0<(k[o>>2]|0)>>>0){k[b>>2]=d;k[n>>2]=b+4}else Pd(w,A);k[A>>2]=c;k[B>>2]=0;do if(!(k[(k[p>>2]|0)+(l>>>5<<2)>>2]&1<<(l&31)))g=c;else{d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;e=k[a>>2]|0;if(!(1<<(d&31)&k[e+(d>>>5<<2)>>2])){if((d|0)>=0){f=k[(k[D>>2]|0)+12>>2]|0;d=k[f+(d<<2)>>2]|0;b=d+1|0;if((d|0)>=0){d=((b|0)%3|0|0)==0?d+-2|0:b;k[B>>2]=d;if((d|0)>-1)c=d;else{g=c;break}while(1){d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if(1<<(d&31)&k[e+(d>>>5<<2)>>2]|0){d=-1073741824;z=19;break}if((d|0)<0){z=19;break}d=k[f+(d<<2)>>2]|0;b=d+1|0;if((d|0)<0){z=19;break}d=((b|0)%3|0|0)==0?d+-2|0:b;k[B>>2]=d;if((d|0)>-1)c=d;else{z=23;break}}if((z|0)==19){z=0;k[A>>2]=c;k[B>>2]=d;g=c;break}else if((z|0)==23){z=0;k[A>>2]=c;g=c;break}}}}else d=-1073741824;k[B>>2]=d;g=c}while(0);k[(k[q>>2]|0)+(g<<2)>>2]=j;d=k[t>>2]|0;if((d|0)==(k[u>>2]|0))Pd(s,A);else{k[d>>2]=g;k[t>>2]=d+4}d=k[D>>2]|0;b=(((g>>>0)%3|0|0)==0?2:-1)+g|0;c:do if((b|0)>=0){b=k[(k[d+12>>2]|0)+(b<<2)>>2]|0;if((b|0)>=0){b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;k[B>>2]=b;if((b|0)>-1&(b|0)!=(g|0)){f=h;d=j;while(1){j=b+1|0;j=((j|0)%3|0|0)==0?b+-2|0:j;do if(k[(k[a>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)){e=f+1|0;d=(b|0)/3|0;if((b|0)<=-3){z=33;break b}c=k[y>>2]|0;if((d|0)>=(((k[v>>2]|0)-c|0)/12|0|0)){z=35;break b}d=k[c+(d*12|0)+(((b|0)%3|0)<<2)>>2]|0;if(!(i[x>>0]|0))d=k[(k[m>>2]|0)+(d<<2)>>2]|0;k[C>>2]=d;c=k[n>>2]|0;if(c>>>0<(k[o>>2]|0)>>>0){k[c>>2]=d;k[n>>2]=c+4}else Pd(w,C);d=k[t>>2]|0;if((d|0)==(k[u>>2]|0)){Pd(s,B);c=f;break}else{k[d>>2]=b;k[t>>2]=d+4;c=f;break}}else{e=f;c=d}while(0);k[(k[q>>2]|0)+(b<<2)>>2]=c;d=k[D>>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[d+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;k[B>>2]=b;if(!((b|0)>-1&(b|0)!=(g|0))){b=e;break c}else{f=e;d=c}}k[B>>2]=b;b=e}else b=h}else z=30}else z=30;while(0);if((z|0)==30){z=0;k[B>>2]=b;b=h}}l=l+1|0;if((l|0)>=((k[d+28>>2]|0)-(k[d+24>>2]|0)>>2|0)){z=90;break}else j=b}if((z|0)==6)Ba(10269,10250,64,10264);else if((z|0)==33)Ba(10225,10250,63,10264);else if((z|0)==35)Ba(10269,10250,64,10264);else if((z|0)==90){r=E;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;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;m=a+4|0;l=k[m>>2]|0;n=k[l>>2]|0;l=l+4|0;k[m>>2]=l;o=a+8|0;i=k[o>>2]|0;j=a+12|0;q=k[j>>2]|0;b=q;f=i;do if((i|0)==(q|0)){c=k[a>>2]|0;d=c;if(l>>>0>c>>>0){b=l;d=((b-d>>2)+1|0)/-2|0;e=l+(d<<2)|0;b=f-b|0;c=b>>2;if(!c)b=l;else{hf(e|0,l|0,b|0)|0;b=k[m>>2]|0}a=e+(c<<2)|0;k[o>>2]=a;k[m>>2]=b+(d<<2);b=a;break}f=b-d>>1;f=(f|0)==0?1:f;if(f>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}e=f>>>2;d=f<<2;d=(d|0)==0?1:d;while(1){b=Xa(d)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}h=b;d=b+(e<<2)|0;g=d;e=b+(f<<2)|0;if((l|0)==(i|0))b=g;else{b=g;c=l;do{k[d>>2]=k[c>>2];d=b+4|0;b=d;c=c+4|0}while((c|0)!=(i|0));c=k[a>>2]|0}k[a>>2]=h;k[m>>2]=g;k[o>>2]=b;k[j>>2]=e;if(c){gb(c);b=k[o>>2]|0}}else b=i;while(0);k[b>>2]=n;k[o>>2]=(k[o>>2]|0)+4;return}q=a+8|0;b=k[q>>2]|0;p=a+4|0;e=b-(k[p>>2]|0)|0;o=a+12|0;c=k[o>>2]|0;d=c-(k[a>>2]|0)|0;if(e>>>0>=d>>>0){j=d>>1;j=(j|0)==0?1:j;if(j>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}h=e>>2;c=j<<2;c=(c|0)==0?1:c;while(1){b=Xa(c)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}d=b;l=b+(h<<2)|0;e=l;f=b+(j<<2)|0;i=f;while(1){c=Xa(4096)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}m=c;g=l;do if((h|0)==(j|0)){c=b;if(l>>>0>b>>>0){b=l+((((g-c>>2)+1|0)/-2|0)<<2)|0;e=b;c=i;break}f=f-c>>1;f=(f|0)==0?1:f;if(f>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}e=f>>>2;d=f<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=c;g=c+(e<<2)|0;e=g;c=c+(f<<2)|0;if(!b)b=g;else{gb(b);b=g}}else{c=i;b=l}while(0);k[b>>2]=m;b=k[q>>2]|0;h=e;g=e+4|0;f=c;a:while(1){if((b|0)==(k[p>>2]|0))break;l=b+-4|0;b=h;do if((b|0)==(d|0)){j=g;if(j>>>0>>0){e=j+((((f-g>>2)+1|0)/2|0)<<2)|0;b=g-h|0;m=b>>2;c=e+(0-m<<2)|0;if(!m)c=e;else hf(c|0,h|0,b|0)|0;h=c;b=c;break}f=f-d>>1;f=(f|0)==0?1:f;if(f>>>0>1073741823){n=108;break a}e=(f+3|0)>>>2;d=f<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}d=c;i=c+(e<<2)|0;g=i;f=c+(f<<2)|0;if((b|0)==(j|0))b=g;else{e=i;c=g;do{k[e>>2]=k[b>>2];e=c+4|0;c=e;b=b+4|0}while((b|0)!=(j|0));b=c}if(!h){h=g;e=b;b=i}else{gb(h);h=g;e=b;b=i}}else e=g;while(0);k[b+-4>>2]=k[l>>2];b=l;h=h+-4|0;g=e}if((n|0)==108){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}b=k[a>>2]|0;k[a>>2]=d;k[p>>2]=h;k[q>>2]=g;k[o>>2]=f;if(!b)return;gb(b);return}if((c|0)!=(b|0)){while(1){b=Xa(4096)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}l=b;i=k[q>>2]|0;n=k[o>>2]|0;b=n;f=i;do if((i|0)==(n|0)){j=k[p>>2]|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{hf(e|0,j|0,b|0)|0;b=k[p>>2]|0}a=e+(c<<2)|0;k[q>>2]=a;k[p>>2]=b+(d<<2);b=a;break}f=b-d>>1;f=(f|0)==0?1:f;if(f>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}e=f>>>2;d=f<<2;d=(d|0)==0?1:d;while(1){b=Xa(d)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}h=b;d=b+(e<<2)|0;g=d;e=b+(f<<2)|0;if((j|0)==(i|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)!=(i|0));c=k[a>>2]|0}k[a>>2]=h;k[p>>2]=g;k[q>>2]=b;k[o>>2]=e;if(c){gb(c);b=k[q>>2]|0}}else b=i;while(0);k[b>>2]=l;k[q>>2]=(k[q>>2]|0)+4;return}while(1){b=Xa(4096)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}l=k[p>>2]|0;n=k[a>>2]|0;e=n;do if((l|0)==(n|0)){d=k[q>>2]|0;n=k[o>>2]|0;c=n;if(d>>>0>>0){e=d;g=((c-e>>2)+1|0)/2|0;c=d+(g<<2)|0;e=e-l|0;n=e>>2;f=c+(0-n<<2)|0;if(n){hf(f|0,l|0,e|0)|0;c=f;d=k[q>>2]|0}k[p>>2]=c;k[q>>2]=d+(g<<2);break}g=c-e>>1;g=(g|0)==0?1:g;if(g>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}f=(g+3|0)>>>2;e=g<<2;e=(e|0)==0?1:e;while(1){c=Xa(e)|0;if(c|0){e=c;break}c=k[2993]|0;k[2993]=c+0;if(!c){e=0;break}Na[c&1]()}j=e;c=e+(f<<2)|0;i=c;h=e+(g<<2)|0;if((l|0)==(d|0)){e=i;d=l}else{g=c;e=i;f=l;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]=j;k[p>>2]=i;k[q>>2]=e;k[o>>2]=h;if(d){gb(d);c=k[p>>2]|0}}else c=l;while(0);k[c+-4>>2]=b;j=k[p>>2]|0;l=j+-4|0;k[p>>2]=l;l=k[l>>2]|0;k[p>>2]=j;i=k[q>>2]|0;n=k[o>>2]|0;b=n;f=i;do if((i|0)==(n|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{hf(e|0,j|0,b|0)|0;b=k[p>>2]|0}a=e+(c<<2)|0;k[q>>2]=a;k[p>>2]=b+(d<<2);b=a;break}f=b-d>>1;f=(f|0)==0?1:f;if(f>>>0>1073741823){a=Da(4)|0;k[a>>2]=5228;ra(a|0,736,67)}e=f>>>2;d=f<<2;d=(d|0)==0?1:d;while(1){b=Xa(d)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}h=b;d=b+(e<<2)|0;g=d;e=b+(f<<2)|0;if((j|0)==(i|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)!=(i|0));c=k[a>>2]|0}k[a>>2]=h;k[p>>2]=g;k[q>>2]=b;k[o>>2]=e;if(c){gb(c);b=k[q>>2]|0}}else b=i;while(0);k[b>>2]=l;k[q>>2]=(k[q>>2]|0)+4;return}function eb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+16|0;v=x;t=a+20|0;b=k[t>>2]|0;g=b+8|0;h=k[g>>2]|0;g=k[g+4>>2]|0;f=b+16|0;n=f;m=k[n>>2]|0;n=k[n+4>>2]|0;d=Yf(m|0,n|0,4,0)|0;c=L;if((g|0)<(c|0)|(g|0)==(c|0)&h>>>0>>0){a=0;r=x;return a|0}s=k[b>>2]|0;w=s+m|0;w=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;e=f;k[e>>2]=d;k[e+4>>2]=c;c=Yf(m|0,n|0,8,0)|0;e=L;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){a=0;r=x;return a|0}u=s+d|0;u=l[u>>0]|l[u+1>>0]<<8|l[u+2>>0]<<16|l[u+3>>0]<<24;q=f;k[q>>2]=c;k[q+4>>2]=e;if(!((g|0)>(e|0)|(g|0)==(e|0)&h>>>0>c>>>0)){a=0;r=x;return a|0}q=i[s+c>>0]|0;d=Yf(m|0,n|0,9,0)|0;j=L;p=f;k[p>>2]=d;k[p+4>>2]=j;a:do if(!(q<<24>>24)){e=w*3|0;if(!w)n=0;else{if(e>>>0>1073741823)Ba(11055,11078,304,11175);d=w*12|0;c=(d|0)==0?1:d;while(1){b=Xa(c)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}Ke(b|0,0,d|0)|0;n=b;b=k[t>>2]|0}if(yb(e,1,b,n)|0)if((w|0)>0){g=a+24|0;h=v+4|0;j=v+8|0;b=0;c=0;d=0;while(1){e=k[n+(c<<2)>>2]|0;m=e>>>1;m=((e&1|0)==0?m:0-m|0)+d|0;k[v>>2]=m;e=k[n+(c+1<<2)>>2]|0;f=e>>>1;m=((e&1|0)==0?f:0-f|0)+m|0;k[h>>2]=m;f=k[n+(c+2<<2)>>2]|0;e=f>>>1;d=((f&1|0)==0?e:0-e|0)+m|0;k[j>>2]=d;m=k[g>>2]|0;e=m+84|0;f=k[e>>2]|0;if((f|0)==(k[m+88>>2]|0))Kd(m+80|0,v);else{k[f>>2]=k[v>>2];k[f+4>>2]=k[v+4>>2];k[f+8>>2]=k[v+8>>2];k[e>>2]=(k[e>>2]|0)+12}b=b+1|0;if((b|0)>=(w|0))break;else c=c+3|0}gb(n);break}else b=1;else b=0;if(!n){if(b)break;else b=0;r=x;return b|0}else{gb(n);if(b)break;else b=0;r=x;return b|0}}else{if((u|0)<256){if((w|0)<=0)break;o=a+24|0;p=v+4|0;q=v+8|0;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;b:do if((g|0)>(j|0)|(g|0)==(j|0)&h>>>0>d>>>0){n=0;m=s;f=j;e=h;while(1){c=b+16|0;j=i[m+d>>0]|0;b=Yf(d|0,f|0,1,0)|0;s=L;h=c;k[h>>2]=b;k[h+4>>2]=s;k[v>>2]=j&255;if(!((g|0)>(s|0)|(g|0)==(s|0)&e>>>0>b>>>0))break b;j=i[m+b>>0]|0;b=Yf(d|0,f|0,2,0)|0;s=L;h=c;k[h>>2]=b;k[h+4>>2]=s;k[p>>2]=j&255;if(!((g|0)>(s|0)|(g|0)==(s|0)&e>>>0>b>>>0))break b;b=i[m+b>>0]|0;s=Yf(d|0,f|0,3,0)|0;d=c;k[d>>2]=s;k[d+4>>2]=L;k[q>>2]=b&255;d=k[o>>2]|0;c=d+84|0;b=k[c>>2]|0;if((b|0)==(k[d+88>>2]|0))Kd(d+80|0,v);else{k[b>>2]=k[v>>2];k[b+4>>2]=k[v+4>>2];k[b+8>>2]=k[v+8>>2];k[c>>2]=(k[c>>2]|0)+12}b=n+1|0;if((b|0)>=(w|0))break a;c=k[t>>2]|0;f=c+16|0;d=k[f>>2]|0;f=k[f+4>>2]|0;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;g=c+8|0;e=k[g>>2]|0;g=k[g+4>>2]|0;if(!((g|0)>(f|0)|(g|0)==(f|0)&e>>>0>d>>>0))break b;n=b;b=c;m=k[c>>2]|0}}while(0);a=0;r=x;return a|0}c=(w|0)>0;if((u|0)<65536){if(!c)break;o=a+24|0;p=v+4|0;q=v+8|0;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;c=Yf(m|0,n|0,11,0)|0;e=L;c:do if(!((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0)){n=0;m=s;while(1){f=b+16|0;b=m+d|0;b=l[b>>0]|l[b+1>>0]<<8;s=f;k[s>>2]=c;k[s+4>>2]=e;k[v>>2]=b&65535;e=Yf(d|0,j|0,4,0)|0;b=L;if((g|0)<(b|0)|(g|0)==(b|0)&h>>>0>>0)break c;c=m+c|0;c=l[c>>0]|l[c+1>>0]<<8;s=f;k[s>>2]=e;k[s+4>>2]=b;k[p>>2]=c&65535;b=Yf(d|0,j|0,6,0)|0;c=L;if((g|0)<(c|0)|(g|0)==(c|0)&h>>>0>>0)break c;d=m+e|0;d=l[d>>0]|l[d+1>>0]<<8;s=f;k[s>>2]=b;k[s+4>>2]=c;k[q>>2]=d&65535;d=k[o>>2]|0;c=d+84|0;b=k[c>>2]|0;if((b|0)==(k[d+88>>2]|0))Kd(d+80|0,v);else{k[b>>2]=k[v>>2];k[b+4>>2]=k[v+4>>2];k[b+8>>2]=k[v+8>>2];k[c>>2]=(k[c>>2]|0)+12}b=n+1|0;if((b|0)>=(w|0))break a;c=k[t>>2]|0;j=c+16|0;d=k[j>>2]|0;j=k[j+4>>2]|0;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;g=c+8|0;h=k[g>>2]|0;g=k[g+4>>2]|0;e=Yf(d|0,j|0,2,0)|0;f=L;if((g|0)<(f|0)|(g|0)==(f|0)&h>>>0>>0)break c;n=b;b=c;m=k[c>>2]|0;c=e;e=f}}while(0);a=0;r=x;return a|0}else{if(!c)break;o=a+24|0;p=v+4|0;q=v+8|0;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;c=Yf(m|0,n|0,13,0)|0;e=L;d:do if(!((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0)){n=0;m=s;while(1){f=b+16|0;b=m+d|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;s=f;k[s>>2]=c;k[s+4>>2]=e;k[v>>2]=b;e=Yf(d|0,j|0,8,0)|0;b=L;if((g|0)<(b|0)|(g|0)==(b|0)&h>>>0>>0)break d;c=m+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;s=f;k[s>>2]=e;k[s+4>>2]=b;k[p>>2]=c;b=Yf(d|0,j|0,12,0)|0;c=L;if((g|0)<(c|0)|(g|0)==(c|0)&h>>>0>>0)break d;d=m+e|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;s=f;k[s>>2]=b;k[s+4>>2]=c;k[q>>2]=d;d=k[o>>2]|0;c=d+84|0;b=k[c>>2]|0;if((b|0)==(k[d+88>>2]|0))Kd(d+80|0,v);else{k[b>>2]=k[v>>2];k[b+4>>2]=k[v+4>>2];k[b+8>>2]=k[v+8>>2];k[c>>2]=(k[c>>2]|0)+12}b=n+1|0;if((b|0)>=(w|0))break a;c=k[t>>2]|0;j=c+16|0;d=k[j>>2]|0;j=k[j+4>>2]|0;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;g=c+8|0;h=k[g>>2]|0;g=k[g+4>>2]|0;e=Yf(d|0,j|0,4,0)|0;f=L;if((g|0)<(f|0)|(g|0)==(f|0)&h>>>0>>0)break d;n=b;b=c;m=k[c>>2]|0;c=e;e=f}}while(0);a=0;r=x;return a|0}}while(0);k[(k[a+4>>2]|0)+64>>2]=u;a=1;r=x;return a|0}function fb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=a+8|0;k[M>>2]=e;do if(d|0){f=k[b>>2]|0;l=a+16|0;k[l>>2]=f;j=a+12|0;k[j>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[l>>2]=g;f=g;g=h}else g=h;else k[j>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;C=1-g+f|0;k[a+20>>2]=C;f=(C|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(C&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){Ld(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);A=k[a+48>>2]|0;B=k[a+52>>2]|0;h=e>>>0>1073741823?-1:e<<2;g=(h|0)==0?1:h;while(1){f=Xa(g)|0;if(f|0){C=f;break}f=k[2993]|0;k[2993]=f+0;if(!f){C=0;break}Na[f&1]()}Ke(C|0,0,h|0)|0;p=a+56|0;g=k[p>>2]|0;h=k[g+4>>2]|0;g=k[g>>2]|0;f=h-g|0;a:do if((f|0)>4){q=(e|0)>0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=A+64|0;y=A+28|0;z=e<<2;n=f>>2;f=h;while(1){o=n+-1|0;if(f-g>>2>>>0<=o>>>0)break;m=k[g+(o<<2)>>2]|0;if(q)Ke(C|0,0,z|0)|0;if((m|0)>-1){d=k[A>>2]|0;f=0;l=m;while(1){do if(((k[d+(l>>>5<<2)>>2]&1<<(l&31)|0)==0?(D=k[(k[(k[x>>2]|0)+12>>2]|0)+(l<<2)>>2]|0,(D|0)>-1):0)?(G=k[y>>2]|0,j=k[B>>2]|0,E=k[j+(k[G+(D<<2)>>2]<<2)>>2]|0,F=D+1|0,F=k[j+(k[G+((((F|0)%3|0|0)==0?D+-2|0:F)<<2)>>2]<<2)>>2]|0,G=k[j+(k[G+((((D>>>0)%3|0|0)==0?2:-1)+D<<2)>>2]<<2)>>2]|0,(E|0)<(o|0)&(F|0)<(o|0)&(G|0)<(o|0)):0){h=_(E,e)|0;i=_(F,e)|0;j=_(G,e)|0;if(q)g=0;else{f=f+1|0;K=38;break}do{N=C+(g<<2)|0;k[N>>2]=(k[b+(g+j<<2)>>2]|0)+(k[b+(g+i<<2)>>2]|0)-(k[b+(g+h<<2)>>2]|0)+(k[N>>2]|0);g=g+1|0}while((g|0)!=(e|0));f=f+1|0;if((l|0)<0){g=f;f=l}else K=38}else K=38;while(0);do if((K|0)==38){K=0;if(!((l>>>0)%3|0)){g=f;f=l+2|0;break}else{g=f;f=l+-1|0;break}}while(0);do if(!(1<<(f&31)&k[d+(f>>>5<<2)>>2])){if((f|0)>=0){f=k[(k[(k[x>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);l=(f|0)==(m|0)?-1073741824:f;if((l|0)<=-1)break;else f=g}d=_(o,e)|0;if(g){if(q){f=0;do{N=C+(f<<2)|0;k[N>>2]=(k[N>>2]|0)/(g|0)|0;f=f+1|0}while((f|0)!=(e|0))}l=b+(d<<2)|0;if((k[M>>2]|0)>0){j=0;do{i=k[C+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[s>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[M>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+d<<2)>>2]=(k[l+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[M>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+d<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[u>>2]|0)){if((h|0)>(k[w>>2]|0))k[g>>2]=h-(k[v>>2]|0)}else k[g>>2]=(k[v>>2]|0)+h;f=f+1|0}while((f|0)<(k[M>>2]|0))}}}}else{I=d;K=50}}else{I=_(o,e)|0;K=50}if((K|0)==50?(K=0,H=b+(I<<2)|0,J=b+((_(n+-2|0,e)|0)<<2)|0,(k[M>>2]|0)>0):0){j=0;do{i=k[J+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[s>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[M>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+I<<2)>>2]=(k[H+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[M>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+I<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[u>>2]|0)){if((h|0)>(k[w>>2]|0))k[g>>2]=h-(k[v>>2]|0)}else k[g>>2]=(k[v>>2]|0)+h;f=f+1|0}while((f|0)<(k[M>>2]|0))}}}if((o|0)<=1){L=C;break a}f=k[p>>2]|0;n=o;g=k[f>>2]|0;f=k[f+4>>2]|0}Ba(11196,11078,315,11219)}else L=C;while(0);if((e|0)>0)Ke(C|0,0,e<<2|0)|0;if((k[M>>2]|0)<=0){gb(C);return 1}l=a+16|0;d=a+32|0;m=a+12|0;j=0;do{i=k[L+(j<<2)>>2]|0;f=k[l>>2]|0;do if((i|0)<=(f|0)){f=k[m>>2]|0;g=k[d>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[d>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[M>>2]|0}while((j|0)<(f|0));if((f|0)>0)f=0;else{gb(C);return 1}do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[M>>2]|0}while((f|0)<(g|0));if((g|0)<=0){gb(C);return 1}j=a+28|0;l=a+20|0;g=a+24|0;f=0;do{h=c+(f<<2)|0;i=k[h>>2]|0;if((i|0)>=(k[j>>2]|0)){if((i|0)>(k[g>>2]|0))k[h>>2]=i-(k[l>>2]|0)}else k[h>>2]=(k[l>>2]|0)+i;f=f+1|0}while((f|0)<(k[M>>2]|0));gb(C);return 1} +function Sa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0.0,m=0,n=0,q=0,s=0.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,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,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.0,pa=0.0,qa=0.0;na=r;r=r+1872|0;la=na+1808|0;ga=na+1832|0;ka=na+1792|0;ha=na+1776|0;ma=na+912|0;ia=na+896|0;ja=na+880|0;ea=na+864|0;aa=na;d=k[k[a+4>>2]>>2]|0;a=k[(k[a+16>>2]|0)+4>>2]|0;if((d|0)<=-1)Ba(9441,9457,62,9485);c=k[a+4>>2]|0;if(((k[a+8>>2]|0)-c>>2|0)<=(d|0))Ba(9495,9457,63,9485);fa=k[c+(d<<2)>>2]|0;i[fa+84>>0]=1;a=k[fa+68>>2]|0;c=fa+72|0;d=k[c>>2]|0;if((d|0)!=(a|0))k[c>>2]=d+(~((d+-4-a|0)>>>2)<<2);x=b+8|0;c=x;a=k[c>>2]|0;c=k[c+4>>2]|0;z=b+16|0;e=z;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((c|0)>(e|0)|(c|0)==(e|0)&a>>>0>d>>>0)){ma=0;r=na;return ma|0}f=k[b>>2]|0;da=i[f+d>>0]|0;g=Yf(d|0,e|0,1,0)|0;h=L;ca=z;k[ca>>2]=g;k[ca+4>>2]=h;switch(da<<24>>24){case 0:{if((c|0)>(h|0)|(c|0)==(h|0)&a>>>0>g>>>0?(u=Yf(d|0,e|0,2,0)|0,v=z,k[v>>2]=u,k[v+4>>2]=L,v=Yf(d|0,e|0,6,0)|0,w=L,!((c|0)<(w|0)|(c|0)==(w|0)&a>>>0>>0)):0){u=f+u|0;u=l[u>>0]|l[u+1>>0]<<8|l[u+2>>0]<<16|l[u+3>>0]<<24;h=z;k[h>>2]=v;k[h+4>>2]=w;nc(fa,u)|0;k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ka+12>>2]=0;k[ga>>2]=0;u=ga+4|0;k[u>>2]=0;k[ga+8>>2]=0;h=x;g=k[h>>2]|0;h=k[h+4>>2]|0;c=z;a=k[c>>2]|0;c=k[c+4>>2]|0;d=Yf(a|0,c|0,4,0)|0;e=L;a:do if(!((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0)){f=k[b>>2]|0;ma=f+a|0;ma=l[ma>>0]|l[ma+1>>0]<<8|l[ma+2>>0]<<16|l[ma+3>>0]<<24;ja=z;k[ja>>2]=d;k[ja+4>>2]=e;b:do switch(ma|0){case 3:{if(!((h|0)>(e|0)|(h|0)==(e|0)&g>>>0>d>>>0)){e=0;break a}ma=i[f+d>>0]|0;ia=Yf(a|0,c|0,5,0)|0;ja=z;k[ja>>2]=ia;k[ja+4>>2]=L;if(ma<<24>>24==1)if(Ta(ka,b,ga)|0)break b;else{e=0;break a}a=k[1165]|0;c=(a|0)==0;if((k[1180]|0)>-1){do if(c){a=i[4718]|0;i[4718]=a+255|a;a=k[1161]|0;if(!(a&8)){k[1163]=0;k[1162]=0;c=k[1172]|0;k[1168]=c;k[1166]=c;a=c+(k[1173]|0)|0;k[1165]=a;break}else{k[1161]=a|32;e=0;break a}}else c=k[1166]|0;while(0);if((a-c|0)>>>0<23){Ha[k[4680>>2]&31](4644,9549,23)|0;e=0;break a}if((i[4719]|0)>-1){if((Ha[k[4680>>2]&31](4644,9549,23)|0)>>>0<23){e=0;break a}a=0;d=9572;c=k[1166]|0}else{a=23;d=9549}xe(c|0,d|0,a|0)|0;k[1166]=(k[1166]|0)+a;e=0;break a}else{do if(c){a=i[4718]|0;i[4718]=a+255|a;a=k[1161]|0;if(!(a&8)){k[1163]=0;k[1162]=0;c=k[1172]|0;k[1168]=c;k[1166]=c;a=c+(k[1173]|0)|0;k[1165]=a;break}else{k[1161]=a|32;e=0;break a}}else c=k[1166]|0;while(0);if((a-c|0)>>>0<23){Ha[k[4680>>2]&31](4644,9549,23)|0;e=0;break a}if((i[4719]|0)>-1){if((Ha[k[4680>>2]&31](4644,9549,23)|0)>>>0<23){e=0;break a}a=0;d=9572;c=k[1166]|0}else{a=23;d=9549}xe(c|0,d|0,a|0)|0;k[1166]=(k[1166]|0)+a;e=0;break a}}case 2:{if(!(Ta(ka,b,ga)|0)){e=0;break a}break}default:{a=k[1165]|0;c=(a|0)==0;if((k[1180]|0)>-1){do if(c){a=i[4718]|0;i[4718]=a+255|a;a=k[1161]|0;if(!(a&8)){k[1163]=0;k[1162]=0;c=k[1172]|0;k[1168]=c;k[1166]=c;a=c+(k[1173]|0)|0;k[1165]=a;break}else{k[1161]=a|32;e=0;break a}}else c=k[1166]|0;while(0);if((a-c|0)>>>0<24){Ha[k[4680>>2]&31](4644,9573,24)|0;e=0;break a}if((i[4719]|0)>-1){if((Ha[k[4680>>2]&31](4644,9573,24)|0)>>>0<24){e=0;break a}a=0;d=9597;c=k[1166]|0}else{a=24;d=9573}xe(c|0,d|0,a|0)|0;k[1166]=(k[1166]|0)+a;e=0;break a}else{do if(c){a=i[4718]|0;i[4718]=a+255|a;a=k[1161]|0;if(!(a&8)){k[1163]=0;k[1162]=0;c=k[1172]|0;k[1168]=c;k[1166]=c;a=c+(k[1173]|0)|0;k[1165]=a;break}else{k[1161]=a|32;e=0;break a}}else c=k[1166]|0;while(0);if((a-c|0)>>>0<24){Ha[k[4680>>2]&31](4644,9573,24)|0;e=0;break a}if((i[4719]|0)>-1){if((Ha[k[4680>>2]&31](4644,9573,24)|0)>>>0<24){e=0;break a}a=0;d=9597;c=k[1166]|0}else{a=24;d=9573}xe(c|0,d|0,a|0)|0;k[1166]=(k[1166]|0)+a;e=0;break a}}}while(0);s=+o[ka+4>>2];if(!(s>=0.0))Ba(9598,9618,66,9675);t=k[u>>2]|0;a=k[ga>>2]|0;h=(1<>2])+-1|0;j=1.0/+(h|0);if((a|0)==(t|0))e=1;else{m=fa+84|0;n=fa+68|0;q=fa+40|0;g=fa+64|0;e=la+4|0;f=la+8|0;c=a;d=0;while(1){ia=(k[c>>2]|0)-h|0;ja=(ia|0)<0;qa=j*+((ja?0-ia|0:ia)|0);ia=(k[c+4>>2]|0)-h|0;ka=(ia|0)<0;pa=j*+((ka?0-ia|0:ia)|0);ia=(k[c+8>>2]|0)-h|0;ma=(ia|0)<0;oa=j*+((ma?0-ia|0:ia)|0);o[la>>2]=s*(ja?-qa:qa);o[e>>2]=s*(ka?-pa:pa);o[f>>2]=s*(ma?-oa:oa);if(!(i[m>>0]|0))a=k[(k[n>>2]|0)+(d<<2)>>2]|0;else a=d;ka=q;ma=k[ka>>2]|0;ka=Af(a|0,((a|0)<0)<<31>>31|0,ma|0,k[ka+4>>2]|0)|0;xe((k[k[g>>2]>>2]|0)+ka|0,la|0,ma|0)|0;c=c+12|0;if((c|0)==(t|0)){e=1;break}else d=d+1|0}}}else e=0;while(0);a=k[ga>>2]|0;c=a;if(a|0){d=k[u>>2]|0;if((d|0)!=(a|0))k[u>>2]=d+(~(((d+-12-c|0)>>>0)/12|0)*12|0);gb(a)}if(e){ma=1;r=na;return ma|0}}ma=0;r=na;return ma|0}case 1:{c:do if((c|0)>(h|0)|(c|0)==(h|0)&a>>>0>g>>>0?(m=i[f+g>>0]|0,n=Yf(d|0,e|0,2,0)|0,q=z,k[q>>2]=n,k[q+4>>2]=L,q=Yf(d|0,e|0,6,0)|0,t=L,!((c|0)<(t|0)|(c|0)==(t|0)&a>>>0>>0)):0){da=f+n|0;da=l[da>>0]|l[da+1>>0]<<8|l[da+2>>0]<<16|l[da+3>>0]<<24;ca=z;k[ca>>2]=q;k[ca+4>>2]=t;nc(fa,da)|0;do switch(m<<24>>24){case 0:{k[ma>>2]=0;h=ma+8|0;m=ma+28|0;n=ma+48|0;q=ma+68|0;a=h;c=a+80|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));g=x;f=k[g>>2]|0;g=k[g+4>>2]|0;a=z;c=k[a>>2]|0;a=k[a+4>>2]|0;d=Yf(c|0,a|0,4,0)|0;e=L;if(!((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0)){c=(k[b>>2]|0)+c|0;k[ma>>2]=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;c=z;k[c>>2]=d;k[c+4>>2]=e;c=d;a=e}e=ma+4|0;a=Yf(c|0,a|0,4,0)|0;d=L;if(!((g|0)<(d|0)|(g|0)==(d|0)&f>>>0>>0)?(da=(k[b>>2]|0)+c|0,da=l[da>>0]|l[da+1>>0]<<8|l[da+2>>0]<<16|l[da+3>>0]<<24,k[e>>2]=da,ca=z,k[ca>>2]=a,k[ca+4>>2]=d,(da|0)==0):0)f=1;else if(((Oc(h,b)|0?Oc(m,b)|0:0)?Oc(n,b)|0:0)?Oc(q,b)|0:0){d=k[e>>2]|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;W=ha+4|0;X=ha+8|0;k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;k[la+12>>2]=0;k[la+16>>2]=0;k[la+20>>2]=0;Y=la+8|0;Z=la+4|0;$=la+16|0;aa=la+20|0;db(la);a=k[Z>>2]|0;e=k[Y>>2]|0;c=(k[aa>>2]|0)+(k[$>>2]|0)|0;if((e|0)==(a|0))a=0;else a=(k[a+(c>>>7<<2)>>2]|0)+((c&127)<<5)|0;k[a>>2]=d;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;da=a+16|0;k[da>>2]=k[ea>>2];k[da+4>>2]=k[ea+4>>2];k[da+8>>2]=k[ea+8>>2];k[a+28>>2]=0;a=(k[aa>>2]|0)+1|0;k[aa>>2]=a;d:do if(a|0){K=ma+44|0;M=ma+40|0;N=ga+4|0;O=ga+8|0;P=ma+24|0;Q=ma+20|0;R=ma+84|0;S=ma+80|0;T=fa+84|0;U=fa+68|0;V=fa+40|0;J=fa+64|0;c=0;e:while(1){ea=k[$>>2]|0;da=a+-1|0;d=da+ea|0;fa=k[Z>>2]|0;ca=k[fa+(d>>>7<<2)>>2]|0;d=d&127;I=k[ca+(d<<5)>>2]|0;u=k[ca+(d<<5)+4>>2]|0;v=k[ca+(d<<5)+8>>2]|0;w=k[ca+(d<<5)+12>>2]|0;H=ca+(d<<5)+16|0;k[ia>>2]=k[H>>2];k[ia+4>>2]=k[H+4>>2];k[ia+8>>2]=k[H+8>>2];d=k[ca+(d<<5)+28>>2]|0;k[aa>>2]=da;fa=e-fa|0;if((1-a-ea+((fa|0)==0?0:(fa<<5)+-1|0)|0)>>>0>255){gb(k[e+-4>>2]|0);e=(k[Y>>2]|0)+-4|0;k[Y>>2]=e}k[ha>>2]=u;k[W>>2]=v;k[X>>2]=w;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];x=(d|0)==2?0:d+1|0;n=ka+(x<<2)|0;q=k[n>>2]|0;a=k[ma>>2]|0;H=a-q|0;do if(!H){if((I|0)>0){a=0;e=c}else break;while(1){if(!(i[T>>0]|0))d=k[(k[U>>2]|0)+(e<<2)>>2]|0;else d=e;ea=V;fa=k[ea>>2]|0;ea=Af(d|0,((d|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ha|0,fa|0)|0;a=a+1|0;if((a|0)==(I|0))break;else e=e+1|0}c=I+c|0}else{if(!I){y=99;break e}if(I>>>0>=3){k[ga>>2]=u;k[N>>2]=v;k[O>>2]=w;f=ga+(x<<2)|0;k[f>>2]=(k[f>>2]|0)+(1<>>0>=33){y=115;break e}if(!f){y=117;break e}g=k[P>>2]|0;a=32-g|0;h=k[Q>>2]|0;d=k[h>>2]<(a|0)){fa=f-a|0;k[P>>2]=fa;ea=h+4|0;k[Q>>2]=ea;fa=32-fa|0;a=(k[ea>>2]|0)>>>fa|d>>>(fa-a|0)}else{a=d>>>(32-f|0);fa=g+f|0;k[P>>2]=fa;if((fa|0)!=32)break;k[Q>>2]=h+4;k[P>>2]=0}while(0);g=(I>>>1)-a|0;d=I-g|0;if((g|0)==(d|0)){m=g;t=g}else{fa=k[R>>2]|0;a=k[S>>2]|0;f=(k[a>>2]&1<<31-fa|0)!=0;fa=fa+1|0;k[R>>2]=fa;if((fa|0)==32){k[S>>2]=a+4;k[R>>2]=0}m=f?g:d;t=f?d:g}k[n>>2]=q+1;if(m){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];g=k[Z>>2]|0;fa=e-g|0;a=k[$>>2]|0;d=k[aa>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(la);f=k[Y>>2]|0;h=f;a=k[$>>2]|0;d=k[aa>>2]|0;e=k[Z>>2]|0}else{h=e;f=e;e=g}a=d+a|0;if((f|0)==(e|0))a=0;else a=(k[e+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=m;k[a+4>>2]=u;k[a+8>>2]=v;k[a+12>>2]=w;e=a+16|0;k[e>>2]=k[ja>>2];k[e+4>>2]=k[ja+4>>2];k[e+8>>2]=k[ja+8>>2];k[a+28>>2]=x;k[aa>>2]=(k[aa>>2]|0)+1;e=h}if(t|0){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];g=k[ga>>2]|0;h=k[N>>2]|0;m=k[O>>2]|0;f=k[Z>>2]|0;fa=e-f|0;a=k[$>>2]|0;d=k[aa>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(la);a=k[$>>2]|0;d=k[aa>>2]|0;e=k[Y>>2]|0;f=k[Z>>2]|0}a=d+a|0;if((e|0)==(f|0))a=0;else a=(k[f+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=t;k[a+4>>2]=g;k[a+8>>2]=h;k[a+12>>2]=m;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=x;k[aa>>2]=(k[aa>>2]|0)+1}break}t=(x|0)==2?0:x+1|0;v=(t|0)==2?0:t+1|0;G=a-(k[ka+(t<<2)>>2]|0)|0;C=a-(k[ka+(v<<2)>>2]|0)|0;D=ga+(x<<2)|0;E=(H|0)<33;F=(H|0)>0;n=ha+(x<<2)|0;q=(G|0)==0;h=ga+(t<<2)|0;t=ha+(t<<2)|0;u=(C|0)==0;m=ga+(v<<2)|0;v=ha+(v<<2)|0;w=(C|0)<33;x=(C|0)>0;y=32-C|0;z=(G|0)<33;b=(G|0)>0;A=32-G|0;B=32-H|0;g=0;a=c;while(1){k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;if(!E){y=104;break e}if(!F){y=106;break e}e=k[K>>2]|0;c=32-e|0;f=k[M>>2]|0;d=k[f>>2]<(c|0)){fa=H-c|0;k[K>>2]=fa;f=f+4|0;k[M>>2]=f;ea=32-fa|0;c=(k[f>>2]|0)>>>ea|d>>>(ea-c|0);k[D>>2]=c;d=fa}else{c=d>>>B;k[D>>2]=c;d=e+H|0;k[K>>2]=d;if((d|0)!=32)break;f=f+4|0;k[M>>2]=f;k[K>>2]=0;d=0}while(0);k[D>>2]=c|k[n>>2];do if(q)c=k[h>>2]|0;else{if(!z){y=104;break e}if(!b){y=106;break e}c=32-d|0;e=k[f>>2]<(c|0)){d=G-c|0;k[K>>2]=d;f=f+4|0;k[M>>2]=f;fa=32-d|0;c=(k[f>>2]|0)>>>fa|e>>>(fa-c|0);k[h>>2]=c;break}c=e>>>A;k[h>>2]=c;d=d+G|0;k[K>>2]=d;if((d|0)!=32)break;f=f+4|0;k[M>>2]=f;k[K>>2]=0;d=0}while(0);k[h>>2]=c|k[t>>2];do if(u)c=k[m>>2]|0;else{if(!w){y=104;break e}if(!x){y=106;break e}c=32-d|0;e=k[f>>2]<(c|0)){fa=C-c|0;k[K>>2]=fa;ea=f+4|0;k[M>>2]=ea;fa=32-fa|0;c=(k[ea>>2]|0)>>>fa|e>>>(fa-c|0);k[m>>2]=c;break}c=e>>>y;k[m>>2]=c;fa=d+C|0;k[K>>2]=fa;if((fa|0)!=32)break;k[M>>2]=f+4;k[K>>2]=0}while(0);k[m>>2]=c|k[v>>2];c=a+1|0;if(!(i[T>>0]|0))a=k[(k[U>>2]|0)+(a<<2)>>2]|0;ea=V;fa=k[ea>>2]|0;ea=Af(a|0,((a|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ga|0,fa|0)|0;g=g+1|0;if(g>>>0>=I>>>0)break;else a=c}}while(0);a=k[aa>>2]|0;if(!a)break d;e=k[Y>>2]|0}if((y|0)==99)Ba(9865,9903,231,9973);else if((y|0)==104)Ba(9986,10010,111,10037);else if((y|0)==106)Ba(10066,10010,112,10037);else if((y|0)==115)Ba(9986,10010,111,10037);else if((y|0)==117)Ba(10066,10010,112,10037)}while(0);kd(la);f=1}else f=0;d=k[ma+68>>2]|0;e=ma+72|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+84>>2]=0;k[ma+80>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+48>>2]|0;e=ma+52|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+64>>2]=0;k[ma+60>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+28>>2]|0;e=ma+32|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+44>>2]=0;k[ma+40>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+8>>2]|0;e=ma+12|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+24>>2]=0;k[ma+20>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}if(f)a=1;else break c;r=na;return a|0}case 1:{k[ma>>2]=0;h=ma+8|0;m=ma+28|0;n=ma+48|0;q=ma+68|0;a=h;c=a+80|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));g=x;f=k[g>>2]|0;g=k[g+4>>2]|0;a=z;c=k[a>>2]|0;a=k[a+4>>2]|0;d=Yf(c|0,a|0,4,0)|0;e=L;if(!((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0)){c=(k[b>>2]|0)+c|0;k[ma>>2]=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;c=z;k[c>>2]=d;k[c+4>>2]=e;c=d;a=e}e=ma+4|0;a=Yf(c|0,a|0,4,0)|0;d=L;if(!((g|0)<(d|0)|(g|0)==(d|0)&f>>>0>>0)?(da=(k[b>>2]|0)+c|0,da=l[da>>0]|l[da+1>>0]<<8|l[da+2>>0]<<16|l[da+3>>0]<<24,k[e>>2]=da,ca=z,k[ca>>2]=a,k[ca+4>>2]=d,(da|0)==0):0)f=1;else if(((Oc(h,b)|0?Oc(m,b)|0:0)?Oc(n,b)|0:0)?Oc(q,b)|0:0){d=k[e>>2]|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;X=ha+4|0;Y=ha+8|0;k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;k[la+12>>2]=0;k[la+16>>2]=0;k[la+20>>2]=0;Z=la+8|0;$=la+4|0;aa=la+16|0;ca=la+20|0;db(la);a=k[$>>2]|0;e=k[Z>>2]|0;c=(k[ca>>2]|0)+(k[aa>>2]|0)|0;if((e|0)==(a|0))a=0;else a=(k[a+(c>>>7<<2)>>2]|0)+((c&127)<<5)|0;k[a>>2]=d;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;da=a+16|0;k[da>>2]=k[ea>>2];k[da+4>>2]=k[ea+4>>2];k[da+8>>2]=k[ea+8>>2];k[a+28>>2]=0;a=(k[ca>>2]|0)+1|0;k[ca>>2]=a;f:do if(a|0){M=ma+44|0;N=ma+40|0;O=ga+4|0;P=ga+8|0;Q=ma+24|0;R=ma+20|0;S=ma+84|0;T=ma+80|0;U=fa+84|0;V=fa+68|0;W=fa+40|0;K=fa+64|0;c=0;g:while(1){ea=k[aa>>2]|0;da=a+-1|0;d=da+ea|0;fa=k[$>>2]|0;I=k[fa+(d>>>7<<2)>>2]|0;d=d&127;J=k[I+(d<<5)>>2]|0;t=k[I+(d<<5)+4>>2]|0;u=k[I+(d<<5)+8>>2]|0;v=k[I+(d<<5)+12>>2]|0;H=I+(d<<5)+16|0;k[ia>>2]=k[H>>2];k[ia+4>>2]=k[H+4>>2];k[ia+8>>2]=k[H+8>>2];d=k[I+(d<<5)+28>>2]|0;k[ca>>2]=da;fa=e-fa|0;if((1-a-ea+((fa|0)==0?0:(fa<<5)+-1|0)|0)>>>0>255){gb(k[e+-4>>2]|0);e=(k[Z>>2]|0)+-4|0;k[Z>>2]=e}k[ha>>2]=t;k[X>>2]=u;k[Y>>2]=v;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];w=(d|0)==2?0:d+1|0;m=ka+(w<<2)|0;n=k[m>>2]|0;a=k[ma>>2]|0;I=a-n|0;do if(!I){if((J|0)>0){a=0;e=c}else break;while(1){if(!(i[U>>0]|0))d=k[(k[V>>2]|0)+(e<<2)>>2]|0;else d=e;ea=W;fa=k[ea>>2]|0;ea=Af(d|0,((d|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[K>>2]>>2]|0)+ea|0,ha|0,fa|0)|0;a=a+1|0;if((a|0)==(J|0))break;else e=e+1|0}c=J+c|0}else{if(!J){y=203;break g}if(J>>>0>=3){k[ga>>2]=t;k[O>>2]=u;k[P>>2]=v;f=ga+(w<<2)|0;k[f>>2]=(k[f>>2]|0)+(1<>>0>=33){y=219;break g}if(!f){y=221;break g}g=k[Q>>2]|0;a=32-g|0;h=k[R>>2]|0;d=k[h>>2]<(a|0)){fa=f-a|0;k[Q>>2]=fa;ea=h+4|0;k[R>>2]=ea;fa=32-fa|0;a=(k[ea>>2]|0)>>>fa|d>>>(fa-a|0)}else{a=d>>>(32-f|0);fa=g+f|0;k[Q>>2]=fa;if((fa|0)!=32)break;k[R>>2]=h+4;k[Q>>2]=0}while(0);g=(J>>>1)-a|0;d=J-g|0;if((g|0)==(d|0)){h=g;q=g}else{fa=k[S>>2]|0;a=k[T>>2]|0;f=(k[a>>2]&1<<31-fa|0)!=0;fa=fa+1|0;k[S>>2]=fa;if((fa|0)==32){k[T>>2]=a+4;k[S>>2]=0}h=f?g:d;q=f?d:g}k[m>>2]=n+1;if(h){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];f=k[$>>2]|0;fa=e-f|0;a=k[aa>>2]|0;d=k[ca>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(la);e=k[Z>>2]|0;a=k[aa>>2]|0;d=k[ca>>2]|0;g=e;f=k[$>>2]|0}else g=e;a=d+a|0;if((g|0)==(f|0))a=0;else a=(k[f+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=h;k[a+4>>2]=t;k[a+8>>2]=u;k[a+12>>2]=v;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=w;k[ca>>2]=(k[ca>>2]|0)+1}if(q|0){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];g=k[ga>>2]|0;h=k[O>>2]|0;m=k[P>>2]|0;f=k[$>>2]|0;fa=e-f|0;a=k[aa>>2]|0;d=k[ca>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(la);a=k[aa>>2]|0;d=k[ca>>2]|0;e=k[Z>>2]|0;f=k[$>>2]|0}a=d+a|0;if((e|0)==(f|0))a=0;else a=(k[f+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=q;k[a+4>>2]=g;k[a+8>>2]=h;k[a+12>>2]=m;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=w;k[ca>>2]=(k[ca>>2]|0)+1}break}u=(w|0)==2?0:w+1|0;x=(u|0)==2?0:u+1|0;H=a-(k[ka+(u<<2)>>2]|0)|0;D=a-(k[ka+(x<<2)>>2]|0)|0;E=ga+(w<<2)|0;F=(I|0)<33;G=(I|0)>0;q=ha+(w<<2)|0;t=(H|0)==0;m=ga+(u<<2)|0;u=ha+(u<<2)|0;v=(D|0)==0;n=ga+(x<<2)|0;w=ha+(x<<2)|0;x=(D|0)<33;y=(D|0)>0;z=32-D|0;b=(H|0)<33;A=(H|0)>0;B=32-H|0;C=32-I|0;h=0;a=c;while(1){k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;if(!F){y=208;break g}if(!G){y=210;break g}e=k[M>>2]|0;c=32-e|0;f=k[N>>2]|0;d=k[f>>2]<(c|0)){fa=I-c|0;k[M>>2]=fa;g=f+4|0;k[N>>2]=g;ea=32-fa|0;d=(k[g>>2]|0)>>>ea|d>>>(ea-c|0);k[E>>2]=d;c=fa}else{d=d>>>C;k[E>>2]=d;c=e+I|0;k[M>>2]=c;if((c|0)!=32){g=f;break}g=f+4|0;k[N>>2]=g;k[M>>2]=0;c=0}while(0);k[E>>2]=d|k[q>>2];do if(t){d=k[m>>2]|0;f=c;e=g}else{if(!b){y=208;break g}if(!A){y=210;break g}d=32-c|0;e=k[g>>2]<(d|0)){f=H-d|0;k[M>>2]=f;fa=g+4|0;k[N>>2]=fa;ea=32-f|0;d=(k[fa>>2]|0)>>>ea|e>>>(ea-d|0);k[m>>2]=d;e=fa;break}d=e>>>B;k[m>>2]=d;c=c+H|0;k[M>>2]=c;if((c|0)!=32){f=c;e=g;break}e=g+4|0;k[N>>2]=e;k[M>>2]=0;f=0}while(0);k[m>>2]=d|k[u>>2];do if(v)c=k[n>>2]|0;else{if(!x){y=208;break g}if(!y){y=210;break g}c=32-f|0;d=k[e>>2]<(c|0)){fa=D-c|0;k[M>>2]=fa;ea=e+4|0;k[N>>2]=ea;fa=32-fa|0;c=(k[ea>>2]|0)>>>fa|d>>>(fa-c|0);k[n>>2]=c;break}c=d>>>z;k[n>>2]=c;fa=f+D|0;k[M>>2]=fa;if((fa|0)!=32)break;k[N>>2]=e+4;k[M>>2]=0}while(0);k[n>>2]=c|k[w>>2];c=a+1|0;if(!(i[U>>0]|0))a=k[(k[V>>2]|0)+(a<<2)>>2]|0;ea=W;fa=k[ea>>2]|0;ea=Af(a|0,((a|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[K>>2]>>2]|0)+ea|0,ga|0,fa|0)|0;h=h+1|0;if(h>>>0>=J>>>0)break;else a=c}}while(0);a=k[ca>>2]|0;if(!a)break f;e=k[Z>>2]|0}if((y|0)==203)Ba(9865,9903,231,9973);else if((y|0)==208)Ba(9986,10010,111,10037);else if((y|0)==210)Ba(10066,10010,112,10037);else if((y|0)==219)Ba(9986,10010,111,10037);else if((y|0)==221)Ba(10066,10010,112,10037)}while(0);kd(la);f=1}else f=0;d=k[ma+68>>2]|0;e=ma+72|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+84>>2]=0;k[ma+80>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+48>>2]|0;e=ma+52|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+64>>2]=0;k[ma+60>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+28>>2]|0;e=ma+32|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+44>>2]=0;k[ma+40>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+8>>2]|0;e=ma+12|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+24>>2]=0;k[ma+20>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}if(f)a=1;else break c;r=na;return a|0}case 2:{k[aa>>2]=0;i[aa+20>>0]=0;h=aa+24|0;m=aa+44|0;n=aa+64|0;a=h;c=a+60|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));g=x;f=k[g>>2]|0;g=k[g+4>>2]|0;a=z;c=k[a>>2]|0;a=k[a+4>>2]|0;d=Yf(c|0,a|0,4,0)|0;e=L;if(!((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0)){c=(k[b>>2]|0)+c|0;k[aa>>2]=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;c=z;k[c>>2]=d;k[c+4>>2]=e;c=d;a=e}e=aa+4|0;a=Yf(c|0,a|0,4,0)|0;d=L;if(!((g|0)<(d|0)|(g|0)==(d|0)&f>>>0>>0)?(da=(k[b>>2]|0)+c|0,da=l[da>>0]|l[da+1>>0]<<8|l[da+2>>0]<<16|l[da+3>>0]<<24,k[e>>2]=da,ca=z,k[ca>>2]=a,k[ca+4>>2]=d,(da|0)==0):0)f=1;else{$=aa+8|0;if(((Dc($,b)|0?Oc(h,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){d=k[e>>2]|0;k[ma>>2]=0;k[ma+4>>2]=0;k[ma+8>>2]=0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;U=ma+4|0;V=ma+8|0;k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;k[la+12>>2]=0;k[la+16>>2]=0;k[la+20>>2]=0;W=la+8|0;X=la+4|0;Y=la+16|0;Z=la+20|0;db(la);a=k[X>>2]|0;e=k[W>>2]|0;c=(k[Z>>2]|0)+(k[Y>>2]|0)|0;if((e|0)==(a|0))a=0;else a=(k[a+(c>>>7<<2)>>2]|0)+((c&127)<<5)|0;k[a>>2]=d;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;da=a+16|0;k[da>>2]=k[ea>>2];k[da+4>>2]=k[ea+4>>2];k[da+8>>2]=k[ea+8>>2];k[a+28>>2]=0;a=(k[Z>>2]|0)+1|0;k[Z>>2]=a;h:do if(a|0){K=aa+40|0;M=aa+36|0;N=ga+4|0;O=ga+8|0;P=aa+80|0;Q=aa+76|0;R=fa+84|0;S=fa+68|0;T=fa+40|0;J=fa+64|0;c=0;i:while(1){ea=k[Y>>2]|0;da=a+-1|0;d=da+ea|0;fa=k[X>>2]|0;ca=k[fa+(d>>>7<<2)>>2]|0;d=d&127;I=k[ca+(d<<5)>>2]|0;n=k[ca+(d<<5)+4>>2]|0;q=k[ca+(d<<5)+8>>2]|0;t=k[ca+(d<<5)+12>>2]|0;H=ca+(d<<5)+16|0;k[ia>>2]=k[H>>2];k[ia+4>>2]=k[H+4>>2];k[ia+8>>2]=k[H+8>>2];d=k[ca+(d<<5)+28>>2]|0;k[Z>>2]=da;fa=e-fa|0;if((1-a-ea+((fa|0)==0?0:(fa<<5)+-1|0)|0)>>>0>255){gb(k[e+-4>>2]|0);k[W>>2]=(k[W>>2]|0)+-4}k[ma>>2]=n;k[U>>2]=q;k[V>>2]=t;k[ha>>2]=k[ia>>2];k[ha+4>>2]=k[ia+4>>2];k[ha+8>>2]=k[ia+8>>2];v=(d|0)==2?0:d+1|0;g=ha+(v<<2)|0;h=k[g>>2]|0;a=k[aa>>2]|0;H=a-h|0;do if(!H){if((I|0)>0){a=0;e=c}else break;while(1){if(!(i[R>>0]|0))d=k[(k[S>>2]|0)+(e<<2)>>2]|0;else d=e;ea=T;fa=k[ea>>2]|0;ea=Af(d|0,((d|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ma|0,fa|0)|0;a=a+1|0;if((a|0)==(I|0))break;else e=e+1|0}c=I+c|0}else{if(!I){y=307;break i}if(I>>>0>=3){k[ga>>2]=n;k[N>>2]=q;k[O>>2]=t;f=ga+(v<<2)|0;k[f>>2]=(k[f>>2]|0)+(1<>2]=0;de($,f,ka);f=(I>>>1)-(k[ka>>2]|0)|0;d=I-f|0;if((f|0)==(d|0)){m=f;u=f}else{fa=k[P>>2]|0;a=k[Q>>2]|0;e=(k[a>>2]&1<<31-fa|0)!=0;fa=fa+1|0;k[P>>2]=fa;if((fa|0)==32){k[Q>>2]=a+4;k[P>>2]=0}m=e?f:d;u=e?d:f}k[g>>2]=h+1;if(m|0){k[ja>>2]=k[ha>>2];k[ja+4>>2]=k[ha+4>>2];k[ja+8>>2]=k[ha+8>>2];f=k[W>>2]|0;e=k[X>>2]|0;fa=f-e|0;a=k[Y>>2]|0;d=k[Z>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(la);a=k[Y>>2]|0;d=k[Z>>2]|0;f=k[W>>2]|0;e=k[X>>2]|0}a=d+a|0;if((f|0)==(e|0))a=0;else a=(k[e+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=m;k[a+4>>2]=n;k[a+8>>2]=q;k[a+12>>2]=t;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=v;k[Z>>2]=(k[Z>>2]|0)+1}if(u|0){k[ja>>2]=k[ha>>2];k[ja+4>>2]=k[ha+4>>2];k[ja+8>>2]=k[ha+8>>2];g=k[ga>>2]|0;h=k[N>>2]|0;m=k[O>>2]|0;f=k[W>>2]|0;e=k[X>>2]|0;fa=f-e|0;a=k[Y>>2]|0;d=k[Z>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(la);a=k[Y>>2]|0;d=k[Z>>2]|0;f=k[W>>2]|0;e=k[X>>2]|0}a=d+a|0;if((f|0)==(e|0))a=0;else a=(k[e+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=u;k[a+4>>2]=g;k[a+8>>2]=h;k[a+12>>2]=m;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=v;k[Z>>2]=(k[Z>>2]|0)+1}break}t=(v|0)==2?0:v+1|0;w=(t|0)==2?0:t+1|0;G=a-(k[ha+(t<<2)>>2]|0)|0;C=a-(k[ha+(w<<2)>>2]|0)|0;D=ga+(v<<2)|0;E=(H|0)<33;F=(H|0)>0;n=ma+(v<<2)|0;q=(G|0)==0;h=ga+(t<<2)|0;t=ma+(t<<2)|0;u=(C|0)==0;m=ga+(w<<2)|0;v=ma+(w<<2)|0;w=(C|0)<33;x=(C|0)>0;y=32-C|0;z=(G|0)<33;b=(G|0)>0;A=32-G|0;B=32-H|0;g=0;a=c;while(1){k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;if(!E){y=312;break i}if(!F){y=314;break i}e=k[K>>2]|0;c=32-e|0;f=k[M>>2]|0;d=k[f>>2]<(c|0)){fa=H-c|0;k[K>>2]=fa;f=f+4|0;k[M>>2]=f;ea=32-fa|0;c=(k[f>>2]|0)>>>ea|d>>>(ea-c|0);k[D>>2]=c;d=fa}else{c=d>>>B;k[D>>2]=c;d=e+H|0;k[K>>2]=d;if((d|0)!=32)break;f=f+4|0;k[M>>2]=f;k[K>>2]=0;d=0}while(0);k[D>>2]=c|k[n>>2];do if(q)c=k[h>>2]|0;else{if(!z){y=312;break i}if(!b){y=314;break i}c=32-d|0;e=k[f>>2]<(c|0)){d=G-c|0;k[K>>2]=d;f=f+4|0;k[M>>2]=f;fa=32-d|0;c=(k[f>>2]|0)>>>fa|e>>>(fa-c|0);k[h>>2]=c;break}c=e>>>A;k[h>>2]=c;d=d+G|0;k[K>>2]=d;if((d|0)!=32)break;f=f+4|0;k[M>>2]=f;k[K>>2]=0;d=0}while(0);k[h>>2]=c|k[t>>2];do if(u)c=k[m>>2]|0;else{if(!w){y=312;break i}if(!x){y=314;break i}c=32-d|0;e=k[f>>2]<(c|0)){fa=C-c|0;k[K>>2]=fa;ea=f+4|0;k[M>>2]=ea;fa=32-fa|0;c=(k[ea>>2]|0)>>>fa|e>>>(fa-c|0);k[m>>2]=c;break}c=e>>>y;k[m>>2]=c;fa=d+C|0;k[K>>2]=fa;if((fa|0)!=32)break;k[M>>2]=f+4;k[K>>2]=0}while(0);k[m>>2]=c|k[v>>2];c=a+1|0;if(!(i[R>>0]|0))a=k[(k[S>>2]|0)+(a<<2)>>2]|0;ea=T;fa=k[ea>>2]|0;ea=Af(a|0,((a|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ga|0,fa|0)|0;g=g+1|0;if(g>>>0>=I>>>0)break;else a=c}}while(0);a=k[Z>>2]|0;if(!a)break h;e=k[W>>2]|0}if((y|0)==307)Ba(9865,9903,231,9973);else if((y|0)==312)Ba(9986,10010,111,10037);else if((y|0)==314)Ba(10066,10010,112,10037)}while(0);kd(la);f=1}else f=0}d=k[aa+64>>2]|0;e=aa+68|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[aa+80>>2]=0;k[aa+76>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[aa+44>>2]|0;e=aa+48|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[aa+60>>2]=0;k[aa+56>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[aa+24>>2]|0;e=aa+28|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[aa+40>>2]=0;k[aa+36>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}if(f)a=1;else break c;r=na;return a|0}case 3:{k[aa>>2]=0;i[aa+20>>0]=0;h=aa+24|0;m=aa+44|0;n=aa+64|0;a=h;c=a+60|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));g=x;f=k[g>>2]|0;g=k[g+4>>2]|0;a=z;c=k[a>>2]|0;a=k[a+4>>2]|0;d=Yf(c|0,a|0,4,0)|0;e=L;if(!((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0)){c=(k[b>>2]|0)+c|0;k[aa>>2]=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;c=z;k[c>>2]=d;k[c+4>>2]=e;c=d;a=e}e=aa+4|0;a=Yf(c|0,a|0,4,0)|0;d=L;if(!((g|0)<(d|0)|(g|0)==(d|0)&f>>>0>>0)?(da=(k[b>>2]|0)+c|0,da=l[da>>0]|l[da+1>>0]<<8|l[da+2>>0]<<16|l[da+3>>0]<<24,k[e>>2]=da,ca=z,k[ca>>2]=a,k[ca+4>>2]=d,(da|0)==0):0)f=1;else{$=aa+8|0;if(((Dc($,b)|0?Oc(h,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){d=k[e>>2]|0;k[ma>>2]=0;k[ma+4>>2]=0;k[ma+8>>2]=0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;U=ma+4|0;V=ma+8|0;k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;k[la+12>>2]=0;k[la+16>>2]=0;k[la+20>>2]=0;W=la+8|0;X=la+4|0;Y=la+16|0;Z=la+20|0;db(la);a=k[X>>2]|0;e=k[W>>2]|0;c=(k[Z>>2]|0)+(k[Y>>2]|0)|0;if((e|0)==(a|0))a=0;else a=(k[a+(c>>>7<<2)>>2]|0)+((c&127)<<5)|0;k[a>>2]=d;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;da=a+16|0;k[da>>2]=k[ea>>2];k[da+4>>2]=k[ea+4>>2];k[da+8>>2]=k[ea+8>>2];k[a+28>>2]=0;a=(k[Z>>2]|0)+1|0;k[Z>>2]=a;j:do if(a|0){K=aa+40|0;M=aa+36|0;N=ga+4|0;O=ga+8|0;P=aa+80|0;Q=aa+76|0;R=fa+84|0;S=fa+68|0;T=fa+40|0;J=fa+64|0;c=0;k:while(1){ea=k[Y>>2]|0;da=a+-1|0;d=da+ea|0;fa=k[X>>2]|0;ca=k[fa+(d>>>7<<2)>>2]|0;d=d&127;I=k[ca+(d<<5)>>2]|0;n=k[ca+(d<<5)+4>>2]|0;q=k[ca+(d<<5)+8>>2]|0;t=k[ca+(d<<5)+12>>2]|0;H=ca+(d<<5)+16|0;k[ia>>2]=k[H>>2];k[ia+4>>2]=k[H+4>>2];k[ia+8>>2]=k[H+8>>2];d=k[ca+(d<<5)+28>>2]|0;k[Z>>2]=da;fa=e-fa|0;if((1-a-ea+((fa|0)==0?0:(fa<<5)+-1|0)|0)>>>0>255){gb(k[e+-4>>2]|0);k[W>>2]=(k[W>>2]|0)+-4}k[ma>>2]=n;k[U>>2]=q;k[V>>2]=t;k[ha>>2]=k[ia>>2];k[ha+4>>2]=k[ia+4>>2];k[ha+8>>2]=k[ia+8>>2];v=(d|0)==2?0:d+1|0;g=ha+(v<<2)|0;h=k[g>>2]|0;a=k[aa>>2]|0;H=a-h|0;do if(!H){if((I|0)>0){a=0;e=c}else break;while(1){if(!(i[R>>0]|0))d=k[(k[S>>2]|0)+(e<<2)>>2]|0;else d=e;ea=T;fa=k[ea>>2]|0;ea=Af(d|0,((d|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ma|0,fa|0)|0;a=a+1|0;if((a|0)==(I|0))break;else e=e+1|0}c=I+c|0}else{if(!I){y=397;break k}if(I>>>0>=3){k[ga>>2]=n;k[N>>2]=q;k[O>>2]=t;f=ga+(v<<2)|0;k[f>>2]=(k[f>>2]|0)+(1<>2]=0;de($,f,ka);f=(I>>>1)-(k[ka>>2]|0)|0;d=I-f|0;if((f|0)==(d|0)){m=f;u=f}else{fa=k[P>>2]|0;a=k[Q>>2]|0;e=(k[a>>2]&1<<31-fa|0)!=0;fa=fa+1|0;k[P>>2]=fa;if((fa|0)==32){k[Q>>2]=a+4;k[P>>2]=0}m=e?f:d;u=e?d:f}k[g>>2]=h+1;if(m|0){k[ja>>2]=k[ha>>2];k[ja+4>>2]=k[ha+4>>2];k[ja+8>>2]=k[ha+8>>2];f=k[W>>2]|0;e=k[X>>2]|0;fa=f-e|0;a=k[Y>>2]|0;d=k[Z>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(la);a=k[Y>>2]|0;d=k[Z>>2]|0;f=k[W>>2]|0;e=k[X>>2]|0}a=d+a|0;if((f|0)==(e|0))a=0;else a=(k[e+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=m;k[a+4>>2]=n;k[a+8>>2]=q;k[a+12>>2]=t;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=v;k[Z>>2]=(k[Z>>2]|0)+1}if(u|0){k[ja>>2]=k[ha>>2];k[ja+4>>2]=k[ha+4>>2];k[ja+8>>2]=k[ha+8>>2];g=k[ga>>2]|0;h=k[N>>2]|0;m=k[O>>2]|0;f=k[W>>2]|0;e=k[X>>2]|0;fa=f-e|0;a=k[Y>>2]|0;d=k[Z>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(la);a=k[Y>>2]|0;d=k[Z>>2]|0;f=k[W>>2]|0;e=k[X>>2]|0}a=d+a|0;if((f|0)==(e|0))a=0;else a=(k[e+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=u;k[a+4>>2]=g;k[a+8>>2]=h;k[a+12>>2]=m;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=v;k[Z>>2]=(k[Z>>2]|0)+1}break}t=(v|0)==2?0:v+1|0;w=(t|0)==2?0:t+1|0;G=a-(k[ha+(t<<2)>>2]|0)|0;C=a-(k[ha+(w<<2)>>2]|0)|0;D=ga+(v<<2)|0;E=(H|0)<33;F=(H|0)>0;n=ma+(v<<2)|0;q=(G|0)==0;h=ga+(t<<2)|0;t=ma+(t<<2)|0;u=(C|0)==0;m=ga+(w<<2)|0;v=ma+(w<<2)|0;w=(C|0)<33;x=(C|0)>0;y=32-C|0;z=(G|0)<33;b=(G|0)>0;A=32-G|0;B=32-H|0;g=0;a=c;while(1){k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;if(!E){y=402;break k}if(!F){y=404;break k}e=k[K>>2]|0;c=32-e|0;f=k[M>>2]|0;d=k[f>>2]<(c|0)){fa=H-c|0;k[K>>2]=fa;f=f+4|0;k[M>>2]=f;ea=32-fa|0;c=(k[f>>2]|0)>>>ea|d>>>(ea-c|0);k[D>>2]=c;d=fa}else{c=d>>>B;k[D>>2]=c;d=e+H|0;k[K>>2]=d;if((d|0)!=32)break;f=f+4|0;k[M>>2]=f;k[K>>2]=0;d=0}while(0);k[D>>2]=c|k[n>>2];do if(q)c=k[h>>2]|0;else{if(!z){y=402;break k}if(!b){y=404;break k}c=32-d|0;e=k[f>>2]<(c|0)){d=G-c|0;k[K>>2]=d;f=f+4|0;k[M>>2]=f;fa=32-d|0;c=(k[f>>2]|0)>>>fa|e>>>(fa-c|0);k[h>>2]=c;break}c=e>>>A;k[h>>2]=c;d=d+G|0;k[K>>2]=d;if((d|0)!=32)break;f=f+4|0;k[M>>2]=f;k[K>>2]=0;d=0}while(0);k[h>>2]=c|k[t>>2];do if(u)c=k[m>>2]|0;else{if(!w){y=402;break k}if(!x){y=404;break k}c=32-d|0;e=k[f>>2]<(c|0)){fa=C-c|0;k[K>>2]=fa;ea=f+4|0;k[M>>2]=ea;fa=32-fa|0;c=(k[ea>>2]|0)>>>fa|e>>>(fa-c|0);k[m>>2]=c;break}c=e>>>y;k[m>>2]=c;fa=d+C|0;k[K>>2]=fa;if((fa|0)!=32)break;k[M>>2]=f+4;k[K>>2]=0}while(0);k[m>>2]=c|k[v>>2];c=a+1|0;if(!(i[R>>0]|0))a=k[(k[S>>2]|0)+(a<<2)>>2]|0;ea=T;fa=k[ea>>2]|0;ea=Af(a|0,((a|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ga|0,fa|0)|0;g=g+1|0;if(g>>>0>=I>>>0)break;else a=c}}while(0);a=k[Z>>2]|0;if(!a)break j;e=k[W>>2]|0}if((y|0)==397)Ba(9865,9903,231,9973);else if((y|0)==402)Ba(9986,10010,111,10037);else if((y|0)==404)Ba(10066,10010,112,10037)}while(0);kd(la);f=1}else f=0}d=k[aa+64>>2]|0;e=aa+68|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[aa+80>>2]=0;k[aa+76>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[aa+44>>2]|0;e=aa+48|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[aa+60>>2]=0;k[aa+56>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[aa+24>>2]|0;e=aa+28|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[aa+40>>2]=0;k[aa+36>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}if(f)a=1;else break c;r=na;return a|0}case 4:{k[ma>>2]=0;i[ma+20>>0]=0;i[ma+36>>0]=0;i[ma+52>>0]=0;i[ma+68>>0]=0;i[ma+84>>0]=0;i[ma+100>>0]=0;i[ma+116>>0]=0;i[ma+132>>0]=0;i[ma+148>>0]=0;i[ma+164>>0]=0;i[ma+180>>0]=0;i[ma+196>>0]=0;i[ma+212>>0]=0;i[ma+228>>0]=0;i[ma+244>>0]=0;i[ma+260>>0]=0;i[ma+276>>0]=0;i[ma+292>>0]=0;i[ma+308>>0]=0;i[ma+324>>0]=0;i[ma+340>>0]=0;i[ma+356>>0]=0;i[ma+372>>0]=0;i[ma+388>>0]=0;i[ma+404>>0]=0;i[ma+420>>0]=0;i[ma+436>>0]=0;i[ma+452>>0]=0;i[ma+468>>0]=0;i[ma+484>>0]=0;i[ma+500>>0]=0;i[ma+516>>0]=0;i[ma+532>>0]=0;h=ma+536|0;m=ma+556|0;n=ma+576|0;a=h;c=a+60|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));g=x;f=k[g>>2]|0;g=k[g+4>>2]|0;a=z;c=k[a>>2]|0;a=k[a+4>>2]|0;d=Yf(c|0,a|0,4,0)|0;e=L;if(!((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0)){c=(k[b>>2]|0)+c|0;k[ma>>2]=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;c=z;k[c>>2]=d;k[c+4>>2]=e;c=d;a=e}e=ma+4|0;a=Yf(c|0,a|0,4,0)|0;d=L;if(!((g|0)<(d|0)|(g|0)==(d|0)&f>>>0>>0)?(da=(k[b>>2]|0)+c|0,da=l[da>>0]|l[da+1>>0]<<8|l[da+2>>0]<<16|l[da+3>>0]<<24,k[e>>2]=da,ca=z,k[ca>>2]=a,k[ca+4>>2]=d,(da|0)==0):0)f=1;else{a=0;y=472}l:do if((y|0)==472){while(1){if(!(Dc(ma+8+(a<<4)|0,b)|0)){f=0;break l}a=a+1|0;if((a|0)>=32)break;else y=472}if(((Dc(ma+520|0,b)|0?Oc(h,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){d=k[e>>2]|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;U=ha+4|0;V=ha+8|0;k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;k[la+12>>2]=0;k[la+16>>2]=0;k[la+20>>2]=0;W=la+8|0;X=la+4|0;Y=la+16|0;Z=la+20|0;db(la);a=k[X>>2]|0;e=k[W>>2]|0;c=(k[Z>>2]|0)+(k[Y>>2]|0)|0;if((e|0)==(a|0))a=0;else a=(k[a+(c>>>7<<2)>>2]|0)+((c&127)<<5)|0;k[a>>2]=d;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;da=a+16|0;k[da>>2]=k[ea>>2];k[da+4>>2]=k[ea+4>>2];k[da+8>>2]=k[ea+8>>2];k[a+28>>2]=0;a=(k[Z>>2]|0)+1|0;k[Z>>2]=a;m:do if(a|0){K=ma+552|0;M=ma+548|0;N=ga+4|0;O=ga+8|0;P=ma+592|0;Q=ma+588|0;R=fa+84|0;S=fa+68|0;T=fa+40|0;J=fa+64|0;c=0;n:while(1){ea=k[Y>>2]|0;da=a+-1|0;d=da+ea|0;fa=k[X>>2]|0;ca=k[fa+(d>>>7<<2)>>2]|0;d=d&127;I=k[ca+(d<<5)>>2]|0;u=k[ca+(d<<5)+4>>2]|0;v=k[ca+(d<<5)+8>>2]|0;w=k[ca+(d<<5)+12>>2]|0;aa=ca+(d<<5)+16|0;k[ia>>2]=k[aa>>2];k[ia+4>>2]=k[aa+4>>2];k[ia+8>>2]=k[aa+8>>2];d=k[ca+(d<<5)+28>>2]|0;k[Z>>2]=da;fa=e-fa|0;if((1-a-ea+((fa|0)==0?0:(fa<<5)+-1|0)|0)>>>0>255){gb(k[e+-4>>2]|0);e=(k[W>>2]|0)+-4|0;k[W>>2]=e}k[ha>>2]=u;k[U>>2]=v;k[V>>2]=w;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];x=(d|0)==2?0:d+1|0;n=ka+(x<<2)|0;q=k[n>>2]|0;a=k[ma>>2]|0;H=a-q|0;do if(!H){if((I|0)>0){a=0;e=c}else break;while(1){if(!(i[R>>0]|0))d=k[(k[S>>2]|0)+(e<<2)>>2]|0;else d=e;ea=T;fa=k[ea>>2]|0;ea=Af(d|0,((d|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ha|0,fa|0)|0;a=a+1|0;if((a|0)==(I|0))break;else e=e+1|0}c=I+c|0}else{if(!I){y=489;break n}if(I>>>0>=3){k[ga>>2]=u;k[N>>2]=v;k[O>>2]=w;m=ga+(x<<2)|0;k[m>>2]=(k[m>>2]|0)+(1<>0]|0;g=ma+8+(h<<4)+8|0;d=k[g>>2]|0;if(d>>>0<4096){ea=ma+8+(h<<4)+4|0;fa=(k[ea>>2]|0)+-1|0;k[ea>>2]=fa;d=l[(k[ma+8+(h<<4)>>2]|0)+fa>>0]|d<<8;k[g>>2]=d}ca=d&255;da=0-f&255;ea=_(d>>>8,da)|0;fa=ca>>>0>>0;k[g>>2]=fa?ea+ca|0:d-da-ea|0;a=fa&1|a<<1;h=h+1|0}while((h|0)!=(m|0))}g=(I>>>1)-a|0;d=I-g|0;if((g|0)==(d|0)){h=g;t=g}else{fa=k[P>>2]|0;a=k[Q>>2]|0;f=(k[a>>2]&1<<31-fa|0)!=0;fa=fa+1|0;k[P>>2]=fa;if((fa|0)==32){k[Q>>2]=a+4;k[P>>2]=0}h=f?g:d;t=f?d:g}k[n>>2]=q+1;if(h){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];f=k[X>>2]|0;fa=e-f|0;a=k[Y>>2]|0;d=k[Z>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(la);e=k[W>>2]|0;a=k[Y>>2]|0;d=k[Z>>2]|0;g=e;f=k[X>>2]|0}else g=e;a=d+a|0;if((g|0)==(f|0))a=0;else a=(k[f+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=h;k[a+4>>2]=u;k[a+8>>2]=v;k[a+12>>2]=w;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=x;k[Z>>2]=(k[Z>>2]|0)+1}if(t|0){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];g=k[ga>>2]|0;h=k[N>>2]|0;m=k[O>>2]|0;f=k[X>>2]|0;fa=e-f|0;a=k[Y>>2]|0;d=k[Z>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(la);a=k[Y>>2]|0;d=k[Z>>2]|0;e=k[W>>2]|0;f=k[X>>2]|0}a=d+a|0;if((e|0)==(f|0))a=0;else a=(k[f+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=t;k[a+4>>2]=g;k[a+8>>2]=h;k[a+12>>2]=m;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=x;k[Z>>2]=(k[Z>>2]|0)+1}break}t=(x|0)==2?0:x+1|0;v=(t|0)==2?0:t+1|0;G=a-(k[ka+(t<<2)>>2]|0)|0;C=a-(k[ka+(v<<2)>>2]|0)|0;D=ga+(x<<2)|0;E=(H|0)<33;F=(H|0)>0;n=ha+(x<<2)|0;q=(G|0)==0;h=ga+(t<<2)|0;t=ha+(t<<2)|0;u=(C|0)==0;m=ga+(v<<2)|0;v=ha+(v<<2)|0;w=(C|0)<33;x=(C|0)>0;y=32-C|0;z=(G|0)<33;b=(G|0)>0;A=32-G|0;B=32-H|0;g=0;a=c;while(1){k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;if(!E){y=494;break n}if(!F){y=496;break n}e=k[K>>2]|0;c=32-e|0;f=k[M>>2]|0;d=k[f>>2]<(c|0)){fa=H-c|0;k[K>>2]=fa;f=f+4|0;k[M>>2]=f;ea=32-fa|0;c=(k[f>>2]|0)>>>ea|d>>>(ea-c|0);k[D>>2]=c;d=fa}else{c=d>>>B;k[D>>2]=c;d=e+H|0;k[K>>2]=d;if((d|0)!=32)break;f=f+4|0;k[M>>2]=f;k[K>>2]=0;d=0}while(0);k[D>>2]=c|k[n>>2];do if(q)c=k[h>>2]|0;else{if(!z){y=494;break n}if(!b){y=496;break n}c=32-d|0;e=k[f>>2]<(c|0)){d=G-c|0;k[K>>2]=d;f=f+4|0;k[M>>2]=f;fa=32-d|0;c=(k[f>>2]|0)>>>fa|e>>>(fa-c|0);k[h>>2]=c;break}c=e>>>A;k[h>>2]=c;d=d+G|0;k[K>>2]=d;if((d|0)!=32)break;f=f+4|0;k[M>>2]=f;k[K>>2]=0;d=0}while(0);k[h>>2]=c|k[t>>2];do if(u)c=k[m>>2]|0;else{if(!w){y=494;break n}if(!x){y=496;break n}c=32-d|0;e=k[f>>2]<(c|0)){fa=C-c|0;k[K>>2]=fa;ea=f+4|0;k[M>>2]=ea;fa=32-fa|0;c=(k[ea>>2]|0)>>>fa|e>>>(fa-c|0);k[m>>2]=c;break}c=e>>>y;k[m>>2]=c;fa=d+C|0;k[K>>2]=fa;if((fa|0)!=32)break;k[M>>2]=f+4;k[K>>2]=0}while(0);k[m>>2]=c|k[v>>2];c=a+1|0;if(!(i[R>>0]|0))a=k[(k[S>>2]|0)+(a<<2)>>2]|0;ea=T;fa=k[ea>>2]|0;ea=Af(a|0,((a|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ga|0,fa|0)|0;g=g+1|0;if(g>>>0>=I>>>0)break;else a=c}}while(0);a=k[Z>>2]|0;if(!a)break m;e=k[W>>2]|0}if((y|0)==489)Ba(9865,9903,231,9973);else if((y|0)==494)Ba(9986,10010,111,10037);else if((y|0)==496)Ba(10066,10010,112,10037)}while(0);kd(la);f=1}else f=0}while(0);d=k[ma+576>>2]|0;e=ma+580|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+592>>2]=0;k[ma+588>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+556>>2]|0;e=ma+560|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+572>>2]=0;k[ma+568>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+536>>2]|0;e=ma+540|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+552>>2]=0;k[ma+548>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}if(f)a=1;else break c;r=na;return a|0}case 5:{k[ma>>2]=0;i[ma+20>>0]=0;i[ma+36>>0]=0;i[ma+52>>0]=0;i[ma+68>>0]=0;i[ma+84>>0]=0;i[ma+100>>0]=0;i[ma+116>>0]=0;i[ma+132>>0]=0;i[ma+148>>0]=0;i[ma+164>>0]=0;i[ma+180>>0]=0;i[ma+196>>0]=0;i[ma+212>>0]=0;i[ma+228>>0]=0;i[ma+244>>0]=0;i[ma+260>>0]=0;i[ma+276>>0]=0;i[ma+292>>0]=0;i[ma+308>>0]=0;i[ma+324>>0]=0;i[ma+340>>0]=0;i[ma+356>>0]=0;i[ma+372>>0]=0;i[ma+388>>0]=0;i[ma+404>>0]=0;i[ma+420>>0]=0;i[ma+436>>0]=0;i[ma+452>>0]=0;i[ma+468>>0]=0;i[ma+484>>0]=0;i[ma+500>>0]=0;i[ma+516>>0]=0;i[ma+532>>0]=0;h=ma+536|0;m=ma+556|0;n=ma+576|0;a=h;c=a+60|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));g=x;f=k[g>>2]|0;g=k[g+4>>2]|0;a=z;c=k[a>>2]|0;a=k[a+4>>2]|0;d=Yf(c|0,a|0,4,0)|0;e=L;if(!((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0)){c=(k[b>>2]|0)+c|0;k[ma>>2]=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;c=z;k[c>>2]=d;k[c+4>>2]=e;c=d;a=e}e=ma+4|0;a=Yf(c|0,a|0,4,0)|0;d=L;if(!((g|0)<(d|0)|(g|0)==(d|0)&f>>>0>>0)?(da=(k[b>>2]|0)+c|0,da=l[da>>0]|l[da+1>>0]<<8|l[da+2>>0]<<16|l[da+3>>0]<<24,k[e>>2]=da,ca=z,k[ca>>2]=a,k[ca+4>>2]=d,(da|0)==0):0)f=1;else{a=0;y=568}o:do if((y|0)==568){while(1){if(!(Dc(ma+8+(a<<4)|0,b)|0)){f=0;break o}a=a+1|0;if((a|0)>=32)break;else y=568}if(((Dc(ma+520|0,b)|0?Oc(h,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){d=k[e>>2]|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;U=ha+4|0;V=ha+8|0;k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;k[la+12>>2]=0;k[la+16>>2]=0;k[la+20>>2]=0;W=la+8|0;X=la+4|0;Y=la+16|0;Z=la+20|0;db(la);a=k[X>>2]|0;e=k[W>>2]|0;c=(k[Z>>2]|0)+(k[Y>>2]|0)|0;if((e|0)==(a|0))a=0;else a=(k[a+(c>>>7<<2)>>2]|0)+((c&127)<<5)|0;k[a>>2]=d;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;da=a+16|0;k[da>>2]=k[ea>>2];k[da+4>>2]=k[ea+4>>2];k[da+8>>2]=k[ea+8>>2];k[a+28>>2]=0;a=(k[Z>>2]|0)+1|0;k[Z>>2]=a;p:do if(a|0){K=ma+552|0;M=ma+548|0;N=ga+4|0;O=ga+8|0;P=ma+592|0;Q=ma+588|0;R=fa+84|0;S=fa+68|0;T=fa+40|0;J=fa+64|0;c=0;q:while(1){ea=k[Y>>2]|0;da=a+-1|0;d=da+ea|0;fa=k[X>>2]|0;ca=k[fa+(d>>>7<<2)>>2]|0;d=d&127;I=k[ca+(d<<5)>>2]|0;u=k[ca+(d<<5)+4>>2]|0;v=k[ca+(d<<5)+8>>2]|0;w=k[ca+(d<<5)+12>>2]|0;aa=ca+(d<<5)+16|0;k[ia>>2]=k[aa>>2];k[ia+4>>2]=k[aa+4>>2];k[ia+8>>2]=k[aa+8>>2];d=k[ca+(d<<5)+28>>2]|0;k[Z>>2]=da;fa=e-fa|0;if((1-a-ea+((fa|0)==0?0:(fa<<5)+-1|0)|0)>>>0>255){gb(k[e+-4>>2]|0);e=(k[W>>2]|0)+-4|0;k[W>>2]=e}k[ha>>2]=u;k[U>>2]=v;k[V>>2]=w;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];x=(d|0)==2?0:d+1|0;n=ka+(x<<2)|0;q=k[n>>2]|0;a=k[ma>>2]|0;H=a-q|0;do if(!H){if((I|0)>0){a=0;e=c}else break;while(1){if(!(i[R>>0]|0))d=k[(k[S>>2]|0)+(e<<2)>>2]|0;else d=e;ea=T;fa=k[ea>>2]|0;ea=Af(d|0,((d|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ha|0,fa|0)|0;a=a+1|0;if((a|0)==(I|0))break;else e=e+1|0}c=I+c|0}else{if(!I){y=585;break q}if(I>>>0>=3){k[ga>>2]=u;k[N>>2]=v;k[O>>2]=w;m=ga+(x<<2)|0;k[m>>2]=(k[m>>2]|0)+(1<>0]|0;g=ma+8+(h<<4)+8|0;d=k[g>>2]|0;if(d>>>0<4096){ea=ma+8+(h<<4)+4|0;fa=(k[ea>>2]|0)+-1|0;k[ea>>2]=fa;d=l[(k[ma+8+(h<<4)>>2]|0)+fa>>0]|d<<8;k[g>>2]=d}ca=d&255;da=0-f&255;ea=_(d>>>8,da)|0;fa=ca>>>0>>0;k[g>>2]=fa?ea+ca|0:d-da-ea|0;a=fa&1|a<<1;h=h+1|0}while((h|0)!=(m|0))}g=(I>>>1)-a|0;d=I-g|0;if((g|0)==(d|0)){h=g;t=g}else{fa=k[P>>2]|0;a=k[Q>>2]|0;f=(k[a>>2]&1<<31-fa|0)!=0;fa=fa+1|0;k[P>>2]=fa;if((fa|0)==32){k[Q>>2]=a+4;k[P>>2]=0}h=f?g:d;t=f?d:g}k[n>>2]=q+1;if(h){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];f=k[X>>2]|0;fa=e-f|0;a=k[Y>>2]|0;d=k[Z>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(la);e=k[W>>2]|0;a=k[Y>>2]|0;d=k[Z>>2]|0;g=e;f=k[X>>2]|0}else g=e;a=d+a|0;if((g|0)==(f|0))a=0;else a=(k[f+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=h;k[a+4>>2]=u;k[a+8>>2]=v;k[a+12>>2]=w;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=x;k[Z>>2]=(k[Z>>2]|0)+1}if(t|0){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];g=k[ga>>2]|0;h=k[N>>2]|0;m=k[O>>2]|0;f=k[X>>2]|0;fa=e-f|0;a=k[Y>>2]|0;d=k[Z>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(la);a=k[Y>>2]|0;d=k[Z>>2]|0;e=k[W>>2]|0;f=k[X>>2]|0}a=d+a|0;if((e|0)==(f|0))a=0;else a=(k[f+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=t;k[a+4>>2]=g;k[a+8>>2]=h;k[a+12>>2]=m;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=x;k[Z>>2]=(k[Z>>2]|0)+1}break}t=(x|0)==2?0:x+1|0;v=(t|0)==2?0:t+1|0;G=a-(k[ka+(t<<2)>>2]|0)|0;C=a-(k[ka+(v<<2)>>2]|0)|0;D=ga+(x<<2)|0;E=(H|0)<33;F=(H|0)>0;n=ha+(x<<2)|0;q=(G|0)==0;h=ga+(t<<2)|0;t=ha+(t<<2)|0;u=(C|0)==0;m=ga+(v<<2)|0;v=ha+(v<<2)|0;w=(C|0)<33;x=(C|0)>0;y=32-C|0;z=(G|0)<33;b=(G|0)>0;A=32-G|0;B=32-H|0;g=0;a=c;while(1){k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;if(!E){y=590;break q}if(!F){y=592;break q}e=k[K>>2]|0;c=32-e|0;f=k[M>>2]|0;d=k[f>>2]<(c|0)){fa=H-c|0;k[K>>2]=fa;f=f+4|0;k[M>>2]=f;ea=32-fa|0;c=(k[f>>2]|0)>>>ea|d>>>(ea-c|0);k[D>>2]=c;d=fa}else{c=d>>>B;k[D>>2]=c;d=e+H|0;k[K>>2]=d;if((d|0)!=32)break;f=f+4|0;k[M>>2]=f;k[K>>2]=0;d=0}while(0);k[D>>2]=c|k[n>>2];do if(q)c=k[h>>2]|0;else{if(!z){y=590;break q}if(!b){y=592;break q}c=32-d|0;e=k[f>>2]<(c|0)){d=G-c|0;k[K>>2]=d;f=f+4|0;k[M>>2]=f;fa=32-d|0;c=(k[f>>2]|0)>>>fa|e>>>(fa-c|0);k[h>>2]=c;break}c=e>>>A;k[h>>2]=c;d=d+G|0;k[K>>2]=d;if((d|0)!=32)break;f=f+4|0;k[M>>2]=f;k[K>>2]=0;d=0}while(0);k[h>>2]=c|k[t>>2];do if(u)c=k[m>>2]|0;else{if(!w){y=590;break q}if(!x){y=592;break q}c=32-d|0;e=k[f>>2]<(c|0)){fa=C-c|0;k[K>>2]=fa;ea=f+4|0;k[M>>2]=ea;fa=32-fa|0;c=(k[ea>>2]|0)>>>fa|e>>>(fa-c|0);k[m>>2]=c;break}c=e>>>y;k[m>>2]=c;fa=d+C|0;k[K>>2]=fa;if((fa|0)!=32)break;k[M>>2]=f+4;k[K>>2]=0}while(0);k[m>>2]=c|k[v>>2];c=a+1|0;if(!(i[R>>0]|0))a=k[(k[S>>2]|0)+(a<<2)>>2]|0;ea=T;fa=k[ea>>2]|0;ea=Af(a|0,((a|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ga|0,fa|0)|0;g=g+1|0;if(g>>>0>=I>>>0)break;else a=c}}while(0);a=k[Z>>2]|0;if(!a)break p;e=k[W>>2]|0}if((y|0)==585)Ba(9865,9903,231,9973);else if((y|0)==590)Ba(9986,10010,111,10037);else if((y|0)==592)Ba(10066,10010,112,10037)}while(0);kd(la);f=1}else f=0}while(0);d=k[ma+576>>2]|0;e=ma+580|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+592>>2]=0;k[ma+588>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+556>>2]|0;e=ma+560|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+572>>2]=0;k[ma+568>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+536>>2]|0;e=ma+540|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+552>>2]=0;k[ma+548>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}if(f)a=1;else break c;r=na;return a|0}case 6:{k[ma>>2]=0;i[ma+20>>0]=0;i[ma+36>>0]=0;i[ma+52>>0]=0;i[ma+68>>0]=0;i[ma+84>>0]=0;i[ma+100>>0]=0;i[ma+116>>0]=0;i[ma+132>>0]=0;i[ma+148>>0]=0;i[ma+164>>0]=0;i[ma+180>>0]=0;i[ma+196>>0]=0;i[ma+212>>0]=0;i[ma+228>>0]=0;i[ma+244>>0]=0;i[ma+260>>0]=0;i[ma+276>>0]=0;i[ma+292>>0]=0;i[ma+308>>0]=0;i[ma+324>>0]=0;i[ma+340>>0]=0;i[ma+356>>0]=0;i[ma+372>>0]=0;i[ma+388>>0]=0;i[ma+404>>0]=0;i[ma+420>>0]=0;i[ma+436>>0]=0;i[ma+452>>0]=0;i[ma+468>>0]=0;i[ma+484>>0]=0;i[ma+500>>0]=0;i[ma+516>>0]=0;i[ma+532>>0]=0;h=ma+536|0;m=ma+556|0;n=ma+576|0;a=h;c=a+60|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));g=x;f=k[g>>2]|0;g=k[g+4>>2]|0;a=z;c=k[a>>2]|0;a=k[a+4>>2]|0;d=Yf(c|0,a|0,4,0)|0;e=L;if(!((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0)){c=(k[b>>2]|0)+c|0;k[ma>>2]=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;c=z;k[c>>2]=d;k[c+4>>2]=e;c=d;a=e}e=ma+4|0;a=Yf(c|0,a|0,4,0)|0;d=L;if(!((g|0)<(d|0)|(g|0)==(d|0)&f>>>0>>0)?(da=(k[b>>2]|0)+c|0,da=l[da>>0]|l[da+1>>0]<<8|l[da+2>>0]<<16|l[da+3>>0]<<24,k[e>>2]=da,ca=z,k[ca>>2]=a,k[ca+4>>2]=d,(da|0)==0):0)f=1;else{a=0;y=664}r:do if((y|0)==664){while(1){if(!(Dc(ma+8+(a<<4)|0,b)|0)){f=0;break r}a=a+1|0;if((a|0)>=32)break;else y=664}if(((Dc(ma+520|0,b)|0?Oc(h,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){d=k[e>>2]|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;Y=ha+4|0;Z=ha+8|0;k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;k[ga+12>>2]=0;k[ga+16>>2]=0;k[ga+20>>2]=0;$=ga+8|0;aa=ga+4|0;ca=ga+16|0;da=ga+20|0;db(ga);a=k[aa>>2]|0;e=k[$>>2]|0;c=(k[da>>2]|0)+(k[ca>>2]|0)|0;if((e|0)==(a|0))a=0;else a=(k[a+(c>>>7<<2)>>2]|0)+((c&127)<<5)|0;k[a>>2]=d;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;X=a+16|0;k[X>>2]=k[ea>>2];k[X+4>>2]=k[ea+4>>2];k[X+8>>2]=k[ea+8>>2];k[a+28>>2]=0;a=(k[da>>2]|0)+1|0;k[da>>2]=a;s:do if(a|0){N=ma+552|0;O=ma+548|0;P=la+4|0;Q=la+8|0;R=ma+592|0;S=ma+588|0;T=la+4|0;U=la+8|0;V=fa+84|0;W=fa+68|0;X=fa+40|0;J=fa+64|0;K=ma+572|0;M=ma+568|0;d=e;c=0;t:while(1){ea=k[ca>>2]|0;H=a+-1|0;G=H+ea|0;fa=k[aa>>2]|0;F=k[fa+(G>>>7<<2)>>2]|0;G=G&127;I=k[F+(G<<5)>>2]|0;u=k[F+(G<<5)+4>>2]|0;v=k[F+(G<<5)+8>>2]|0;w=k[F+(G<<5)+12>>2]|0;G=F+(G<<5)+16|0;k[ia>>2]=k[G>>2];k[ia+4>>2]=k[G+4>>2];k[ia+8>>2]=k[G+8>>2];k[da>>2]=H;fa=d-fa|0;if((1-a-ea+((fa|0)==0?0:(fa<<5)+-1|0)|0)>>>0>255){gb(k[d+-4>>2]|0);d=(k[$>>2]|0)+-4|0;k[$>>2]=d}k[ha>>2]=u;k[Y>>2]=v;k[Z>>2]=w;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];k[la>>2]=k[ia>>2];k[la+4>>2]=k[ia+4>>2];k[la+8>>2]=k[ia+8>>2];do if(I>>>0<64){x=(k[la>>2]|0)>>>0>(k[T>>2]|0)>>>0&1;x=(k[la+(x<<2)>>2]|0)>>>0>(k[U>>2]|0)>>>0?2:x}else{f=k[K>>2]|0;a=32-f|0;g=k[M>>2]|0;e=k[g>>2]<>2]=x;fa=g+4|0;k[M>>2]=fa;x=32-x|0;x=(k[fa>>2]|0)>>>x|e>>>(x-a|0);break}a=e>>>28;fa=f+4|0;k[K>>2]=fa;if((fa|0)!=32){x=a;break}k[M>>2]=g+4;k[K>>2]=0;x=a}while(0);n=ka+(x<<2)|0;q=k[n>>2]|0;a=k[ma>>2]|0;H=a-q|0;do if(!H){if((I|0)>0){a=0;e=c}else break;while(1){if(!(i[V>>0]|0))d=k[(k[W>>2]|0)+(e<<2)>>2]|0;else d=e;ea=X;fa=k[ea>>2]|0;ea=Af(d|0,((d|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ha|0,fa|0)|0;a=a+1|0;if((a|0)==(I|0))break;else e=e+1|0}c=I+c|0}else{if(!I){y=687;break t}if(I>>>0>=3){k[la>>2]=u;k[P>>2]=v;k[Q>>2]=w;m=la+(x<<2)|0;k[m>>2]=(k[m>>2]|0)+(1<>0]|0;g=ma+8+(h<<4)+8|0;e=k[g>>2]|0;if(e>>>0<4096){ea=ma+8+(h<<4)+4|0;fa=(k[ea>>2]|0)+-1|0;k[ea>>2]=fa;e=l[(k[ma+8+(h<<4)>>2]|0)+fa>>0]|e<<8;k[g>>2]=e}G=e&255;H=0-f&255;ea=_(e>>>8,H)|0;fa=G>>>0>>0;k[g>>2]=fa?ea+G|0:e-H-ea|0;a=fa&1|a<<1;h=h+1|0}while((h|0)!=(m|0))}g=(I>>>1)-a|0;e=I-g|0;if((g|0)==(e|0)){h=g;t=g}else{fa=k[R>>2]|0;a=k[S>>2]|0;f=(k[a>>2]&1<<31-fa|0)!=0;fa=fa+1|0;k[R>>2]=fa;if((fa|0)==32){k[S>>2]=a+4;k[R>>2]=0}h=f?g:e;t=f?e:g}k[n>>2]=q+1;if(h){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];f=k[aa>>2]|0;fa=d-f|0;a=k[ca>>2]|0;e=k[da>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(e+a|0)){db(ga);d=k[$>>2]|0;a=k[ca>>2]|0;e=k[da>>2]|0;g=d;f=k[aa>>2]|0}else g=d;a=e+a|0;if((g|0)==(f|0))a=0;else a=(k[f+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=h;k[a+4>>2]=u;k[a+8>>2]=v;k[a+12>>2]=w;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=x;k[da>>2]=(k[da>>2]|0)+1}if(t|0){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];g=k[la>>2]|0;h=k[P>>2]|0;m=k[Q>>2]|0;f=k[aa>>2]|0;fa=d-f|0;a=k[ca>>2]|0;e=k[da>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(e+a|0)){db(ga);a=k[ca>>2]|0;e=k[da>>2]|0;d=k[$>>2]|0;f=k[aa>>2]|0}a=e+a|0;if((d|0)==(f|0))a=0;else a=(k[f+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=t;k[a+4>>2]=g;k[a+8>>2]=h;k[a+12>>2]=m;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=x;k[da>>2]=(k[da>>2]|0)+1}break}t=(x|0)==2?0:x+1|0;v=(t|0)==2?0:t+1|0;G=a-(k[ka+(t<<2)>>2]|0)|0;C=a-(k[ka+(v<<2)>>2]|0)|0;D=la+(x<<2)|0;E=(H|0)<33;F=(H|0)>0;n=ha+(x<<2)|0;q=(G|0)==0;h=la+(t<<2)|0;t=ha+(t<<2)|0;u=(C|0)==0;m=la+(v<<2)|0;v=ha+(v<<2)|0;w=(C|0)<33;x=(C|0)>0;y=32-C|0;z=(G|0)<33;b=(G|0)>0;A=32-G|0;B=32-H|0;g=0;a=c;while(1){k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;if(!E){y=692;break t}if(!F){y=694;break t}e=k[N>>2]|0;c=32-e|0;f=k[O>>2]|0;d=k[f>>2]<(c|0)){fa=H-c|0;k[N>>2]=fa;f=f+4|0;k[O>>2]=f;ea=32-fa|0;c=(k[f>>2]|0)>>>ea|d>>>(ea-c|0);k[D>>2]=c;d=fa}else{c=d>>>B;k[D>>2]=c;d=e+H|0;k[N>>2]=d;if((d|0)!=32)break;f=f+4|0;k[O>>2]=f;k[N>>2]=0;d=0}while(0);k[D>>2]=c|k[n>>2];do if(q)c=k[h>>2]|0;else{if(!z){y=692;break t}if(!b){y=694;break t}c=32-d|0;e=k[f>>2]<(c|0)){d=G-c|0;k[N>>2]=d;f=f+4|0;k[O>>2]=f;fa=32-d|0;c=(k[f>>2]|0)>>>fa|e>>>(fa-c|0);k[h>>2]=c;break}c=e>>>A;k[h>>2]=c;d=d+G|0;k[N>>2]=d;if((d|0)!=32)break;f=f+4|0;k[O>>2]=f;k[N>>2]=0;d=0}while(0);k[h>>2]=c|k[t>>2];do if(u)c=k[m>>2]|0;else{if(!w){y=692;break t}if(!x){y=694;break t}c=32-d|0;e=k[f>>2]<(c|0)){fa=C-c|0;k[N>>2]=fa;ea=f+4|0;k[O>>2]=ea;fa=32-fa|0;c=(k[ea>>2]|0)>>>fa|e>>>(fa-c|0);k[m>>2]=c;break}c=e>>>y;k[m>>2]=c;fa=d+C|0;k[N>>2]=fa;if((fa|0)!=32)break;k[O>>2]=f+4;k[N>>2]=0}while(0);k[m>>2]=c|k[v>>2];c=a+1|0;if(!(i[V>>0]|0))a=k[(k[W>>2]|0)+(a<<2)>>2]|0;ea=X;fa=k[ea>>2]|0;ea=Af(a|0,((a|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,la|0,fa|0)|0;g=g+1|0;if(g>>>0>=I>>>0)break;else a=c}}while(0);a=k[da>>2]|0;if(!a)break s;d=k[$>>2]|0}if((y|0)==687)Ba(9865,9903,231,9973);else if((y|0)==692)Ba(9986,10010,111,10037);else if((y|0)==694)Ba(10066,10010,112,10037)}while(0);kd(ga);f=1}else f=0}while(0);d=k[ma+576>>2]|0;e=ma+580|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+592>>2]=0;k[ma+588>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+556>>2]|0;e=ma+560|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+572>>2]=0;k[ma+568>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+536>>2]|0;e=ma+540|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+552>>2]=0;k[ma+548>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}if(f)a=1;else break c;r=na;return a|0}case 7:{k[ma>>2]=0;i[ma+20>>0]=0;i[ma+36>>0]=0;i[ma+52>>0]=0;i[ma+68>>0]=0;i[ma+84>>0]=0;i[ma+100>>0]=0;i[ma+116>>0]=0;i[ma+132>>0]=0;i[ma+148>>0]=0;i[ma+164>>0]=0;i[ma+180>>0]=0;i[ma+196>>0]=0;i[ma+212>>0]=0;i[ma+228>>0]=0;i[ma+244>>0]=0;i[ma+260>>0]=0;i[ma+276>>0]=0;i[ma+292>>0]=0;i[ma+308>>0]=0;i[ma+324>>0]=0;i[ma+340>>0]=0;i[ma+356>>0]=0;i[ma+372>>0]=0;i[ma+388>>0]=0;i[ma+404>>0]=0;i[ma+420>>0]=0;i[ma+436>>0]=0;i[ma+452>>0]=0;i[ma+468>>0]=0;i[ma+484>>0]=0;i[ma+500>>0]=0;i[ma+516>>0]=0;i[ma+532>>0]=0;h=ma+536|0;m=ma+556|0;n=ma+576|0;a=h;c=a+60|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));g=x;f=k[g>>2]|0;g=k[g+4>>2]|0;a=z;c=k[a>>2]|0;a=k[a+4>>2]|0;d=Yf(c|0,a|0,4,0)|0;e=L;if(!((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0)){c=(k[b>>2]|0)+c|0;k[ma>>2]=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;c=z;k[c>>2]=d;k[c+4>>2]=e;c=d;a=e}e=ma+4|0;a=Yf(c|0,a|0,4,0)|0;d=L;if(!((g|0)<(d|0)|(g|0)==(d|0)&f>>>0>>0)?(da=(k[b>>2]|0)+c|0,da=l[da>>0]|l[da+1>>0]<<8|l[da+2>>0]<<16|l[da+3>>0]<<24,k[e>>2]=da,ca=z,k[ca>>2]=a,k[ca+4>>2]=d,(da|0)==0):0)f=1;else{a=0;y=766}u:do if((y|0)==766){while(1){if(!(Dc(ma+8+(a<<4)|0,b)|0)){f=0;break u}a=a+1|0;if((a|0)>=32)break;else y=766}if(((Dc(ma+520|0,b)|0?Oc(h,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){d=k[e>>2]|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;Y=ha+4|0;Z=ha+8|0;k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;k[ga+12>>2]=0;k[ga+16>>2]=0;k[ga+20>>2]=0;$=ga+8|0;aa=ga+4|0;ca=ga+16|0;da=ga+20|0;db(ga);a=k[aa>>2]|0;e=k[$>>2]|0;c=(k[da>>2]|0)+(k[ca>>2]|0)|0;if((e|0)==(a|0))a=0;else a=(k[a+(c>>>7<<2)>>2]|0)+((c&127)<<5)|0;k[a>>2]=d;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;X=a+16|0;k[X>>2]=k[ea>>2];k[X+4>>2]=k[ea+4>>2];k[X+8>>2]=k[ea+8>>2];k[a+28>>2]=0;a=(k[da>>2]|0)+1|0;k[da>>2]=a;v:do if(a|0){N=ma+552|0;O=ma+548|0;P=la+4|0;Q=la+8|0;R=ma+592|0;S=ma+588|0;T=la+4|0;U=la+8|0;V=fa+84|0;W=fa+68|0;X=fa+40|0;J=fa+64|0;K=ma+572|0;M=ma+568|0;d=e;c=0;w:while(1){ea=k[ca>>2]|0;H=a+-1|0;G=H+ea|0;fa=k[aa>>2]|0;F=k[fa+(G>>>7<<2)>>2]|0;G=G&127;I=k[F+(G<<5)>>2]|0;u=k[F+(G<<5)+4>>2]|0;v=k[F+(G<<5)+8>>2]|0;w=k[F+(G<<5)+12>>2]|0;G=F+(G<<5)+16|0;k[ia>>2]=k[G>>2];k[ia+4>>2]=k[G+4>>2];k[ia+8>>2]=k[G+8>>2];k[da>>2]=H;fa=d-fa|0;if((1-a-ea+((fa|0)==0?0:(fa<<5)+-1|0)|0)>>>0>255){gb(k[d+-4>>2]|0);d=(k[$>>2]|0)+-4|0;k[$>>2]=d}k[ha>>2]=u;k[Y>>2]=v;k[Z>>2]=w;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];k[la>>2]=k[ia>>2];k[la+4>>2]=k[ia+4>>2];k[la+8>>2]=k[ia+8>>2];do if(I>>>0<64){x=(k[la>>2]|0)>>>0>(k[T>>2]|0)>>>0&1;x=(k[la+(x<<2)>>2]|0)>>>0>(k[U>>2]|0)>>>0?2:x}else{f=k[K>>2]|0;a=32-f|0;g=k[M>>2]|0;e=k[g>>2]<>2]=x;fa=g+4|0;k[M>>2]=fa;x=32-x|0;x=(k[fa>>2]|0)>>>x|e>>>(x-a|0);break}a=e>>>28;fa=f+4|0;k[K>>2]=fa;if((fa|0)!=32){x=a;break}k[M>>2]=g+4;k[K>>2]=0;x=a}while(0);n=ka+(x<<2)|0;q=k[n>>2]|0;a=k[ma>>2]|0;H=a-q|0;do if(!H){if((I|0)>0){a=0;e=c}else break;while(1){if(!(i[V>>0]|0))d=k[(k[W>>2]|0)+(e<<2)>>2]|0;else d=e;ea=X;fa=k[ea>>2]|0;ea=Af(d|0,((d|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ha|0,fa|0)|0;a=a+1|0;if((a|0)==(I|0))break;else e=e+1|0}c=I+c|0}else{if(!I){y=789;break w}if(I>>>0>=3){k[la>>2]=u;k[P>>2]=v;k[Q>>2]=w;m=la+(x<<2)|0;k[m>>2]=(k[m>>2]|0)+(1<>0]|0;g=ma+8+(h<<4)+8|0;e=k[g>>2]|0;if(e>>>0<4096){ea=ma+8+(h<<4)+4|0;fa=(k[ea>>2]|0)+-1|0;k[ea>>2]=fa;e=l[(k[ma+8+(h<<4)>>2]|0)+fa>>0]|e<<8;k[g>>2]=e}G=e&255;H=0-f&255;ea=_(e>>>8,H)|0;fa=G>>>0>>0;k[g>>2]=fa?ea+G|0:e-H-ea|0;a=fa&1|a<<1;h=h+1|0}while((h|0)!=(m|0))}g=(I>>>1)-a|0;e=I-g|0;if((g|0)==(e|0)){h=g;t=g}else{fa=k[R>>2]|0;a=k[S>>2]|0;f=(k[a>>2]&1<<31-fa|0)!=0;fa=fa+1|0;k[R>>2]=fa;if((fa|0)==32){k[S>>2]=a+4;k[R>>2]=0}h=f?g:e;t=f?e:g}k[n>>2]=q+1;if(h){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];f=k[aa>>2]|0;fa=d-f|0;a=k[ca>>2]|0;e=k[da>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(e+a|0)){db(ga);d=k[$>>2]|0;a=k[ca>>2]|0;e=k[da>>2]|0;g=d;f=k[aa>>2]|0}else g=d;a=e+a|0;if((g|0)==(f|0))a=0;else a=(k[f+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=h;k[a+4>>2]=u;k[a+8>>2]=v;k[a+12>>2]=w;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=x;k[da>>2]=(k[da>>2]|0)+1}if(t|0){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];g=k[la>>2]|0;h=k[P>>2]|0;m=k[Q>>2]|0;f=k[aa>>2]|0;fa=d-f|0;a=k[ca>>2]|0;e=k[da>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(e+a|0)){db(ga);a=k[ca>>2]|0;e=k[da>>2]|0;d=k[$>>2]|0;f=k[aa>>2]|0}a=e+a|0;if((d|0)==(f|0))a=0;else a=(k[f+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=t;k[a+4>>2]=g;k[a+8>>2]=h;k[a+12>>2]=m;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=x;k[da>>2]=(k[da>>2]|0)+1}break}t=(x|0)==2?0:x+1|0;v=(t|0)==2?0:t+1|0;G=a-(k[ka+(t<<2)>>2]|0)|0;C=a-(k[ka+(v<<2)>>2]|0)|0;D=la+(x<<2)|0;E=(H|0)<33;F=(H|0)>0;n=ha+(x<<2)|0;q=(G|0)==0;h=la+(t<<2)|0;t=ha+(t<<2)|0;u=(C|0)==0;m=la+(v<<2)|0;v=ha+(v<<2)|0;w=(C|0)<33;x=(C|0)>0;y=32-C|0;z=(G|0)<33;b=(G|0)>0;A=32-G|0;B=32-H|0;g=0;a=c;while(1){k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;if(!E){y=794;break w}if(!F){y=796;break w}e=k[N>>2]|0;c=32-e|0;f=k[O>>2]|0;d=k[f>>2]<(c|0)){fa=H-c|0;k[N>>2]=fa;f=f+4|0;k[O>>2]=f;ea=32-fa|0;c=(k[f>>2]|0)>>>ea|d>>>(ea-c|0);k[D>>2]=c;d=fa}else{c=d>>>B;k[D>>2]=c;d=e+H|0;k[N>>2]=d;if((d|0)!=32)break;f=f+4|0;k[O>>2]=f;k[N>>2]=0;d=0}while(0);k[D>>2]=c|k[n>>2];do if(q)c=k[h>>2]|0;else{if(!z){y=794;break w}if(!b){y=796;break w}c=32-d|0;e=k[f>>2]<(c|0)){d=G-c|0;k[N>>2]=d;f=f+4|0;k[O>>2]=f;fa=32-d|0;c=(k[f>>2]|0)>>>fa|e>>>(fa-c|0);k[h>>2]=c;break}c=e>>>A;k[h>>2]=c;d=d+G|0;k[N>>2]=d;if((d|0)!=32)break;f=f+4|0;k[O>>2]=f;k[N>>2]=0;d=0}while(0);k[h>>2]=c|k[t>>2];do if(u)c=k[m>>2]|0;else{if(!w){y=794;break w}if(!x){y=796;break w}c=32-d|0;e=k[f>>2]<(c|0)){fa=C-c|0;k[N>>2]=fa;ea=f+4|0;k[O>>2]=ea;fa=32-fa|0;c=(k[ea>>2]|0)>>>fa|e>>>(fa-c|0);k[m>>2]=c;break}c=e>>>y;k[m>>2]=c;fa=d+C|0;k[N>>2]=fa;if((fa|0)!=32)break;k[O>>2]=f+4;k[N>>2]=0}while(0);k[m>>2]=c|k[v>>2];c=a+1|0;if(!(i[V>>0]|0))a=k[(k[W>>2]|0)+(a<<2)>>2]|0;ea=X;fa=k[ea>>2]|0;ea=Af(a|0,((a|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,la|0,fa|0)|0;g=g+1|0;if(g>>>0>=I>>>0)break;else a=c}}while(0);a=k[da>>2]|0;if(!a)break v;d=k[$>>2]|0}if((y|0)==789)Ba(9865,9903,231,9973);else if((y|0)==794)Ba(9986,10010,111,10037);else if((y|0)==796)Ba(10066,10010,112,10037)}while(0);kd(ga);f=1}else f=0}while(0);d=k[ma+576>>2]|0;e=ma+580|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+592>>2]=0;k[ma+588>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+556>>2]|0;e=ma+560|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+572>>2]=0;k[ma+568>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+536>>2]|0;e=ma+540|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+552>>2]=0;k[ma+548>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}if(f)a=1;else break c;r=na;return a|0}case 8:{k[ma>>2]=0;p[ma+24>>3]=.5;p[ma+48>>3]=.5;p[ma+72>>3]=.5;p[ma+96>>3]=.5;p[ma+120>>3]=.5;p[ma+144>>3]=.5;p[ma+168>>3]=.5;p[ma+192>>3]=.5;p[ma+216>>3]=.5;p[ma+240>>3]=.5;p[ma+264>>3]=.5;p[ma+288>>3]=.5;p[ma+312>>3]=.5;p[ma+336>>3]=.5;p[ma+360>>3]=.5;p[ma+384>>3]=.5;p[ma+408>>3]=.5;p[ma+432>>3]=.5;p[ma+456>>3]=.5;p[ma+480>>3]=.5;p[ma+504>>3]=.5;p[ma+528>>3]=.5;p[ma+552>>3]=.5;p[ma+576>>3]=.5;p[ma+600>>3]=.5;p[ma+624>>3]=.5;p[ma+648>>3]=.5;p[ma+672>>3]=.5;p[ma+696>>3]=.5;p[ma+720>>3]=.5;p[ma+744>>3]=.5;p[ma+768>>3]=.5;p[ma+792>>3]=.5;h=ma+800|0;m=ma+820|0;n=ma+840|0;a=h;c=a+60|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));g=x;f=k[g>>2]|0;g=k[g+4>>2]|0;a=z;c=k[a>>2]|0;a=k[a+4>>2]|0;d=Yf(c|0,a|0,4,0)|0;e=L;if(!((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0)){c=(k[b>>2]|0)+c|0;k[ma>>2]=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;c=z;k[c>>2]=d;k[c+4>>2]=e;c=d;a=e}e=ma+4|0;a=Yf(c|0,a|0,4,0)|0;d=L;if(!((g|0)<(d|0)|(g|0)==(d|0)&f>>>0>>0)?(da=(k[b>>2]|0)+c|0,da=l[da>>0]|l[da+1>>0]<<8|l[da+2>>0]<<16|l[da+3>>0]<<24,k[e>>2]=da,ca=z,k[ca>>2]=a,k[ca+4>>2]=d,(da|0)==0):0)f=1;else{a=0;y=868}x:do if((y|0)==868){while(1){if(!(Qc(ma+8+(a*24|0)|0,b)|0)){f=0;break x}a=a+1|0;if((a|0)>=32)break;else y=868}if(((Qc(ma+776|0,b)|0?Oc(h,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){d=k[e>>2]|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;Y=ha+4|0;Z=ha+8|0;k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;k[ga+12>>2]=0;k[ga+16>>2]=0;k[ga+20>>2]=0;$=ga+8|0;aa=ga+4|0;ca=ga+16|0;da=ga+20|0;db(ga);a=k[aa>>2]|0;c=(k[da>>2]|0)+(k[ca>>2]|0)|0;if((k[$>>2]|0)==(a|0))a=0;else a=(k[a+(c>>>7<<2)>>2]|0)+((c&127)<<5)|0;k[a>>2]=d;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;X=a+16|0;k[X>>2]=k[ea>>2];k[X+4>>2]=k[ea+4>>2];k[X+8>>2]=k[ea+8>>2];k[a+28>>2]=0;a=(k[da>>2]|0)+1|0;k[da>>2]=a;y:do if(a|0){N=ma+816|0;O=ma+812|0;P=la+4|0;Q=la+8|0;R=ma+856|0;S=ma+852|0;T=la+4|0;U=la+8|0;V=fa+84|0;W=fa+68|0;X=fa+40|0;J=fa+64|0;K=ma+836|0;M=ma+832|0;c=0;z:while(1){d=k[aa>>2]|0;fa=k[ca>>2]|0;H=k[d+(fa>>>7<<2)>>2]|0;ea=fa&127;I=k[H+(ea<<5)>>2]|0;q=k[H+(ea<<5)+4>>2]|0;t=k[H+(ea<<5)+8>>2]|0;u=k[H+(ea<<5)+12>>2]|0;ea=H+(ea<<5)+16|0;k[ia>>2]=k[ea>>2];k[ia+4>>2]=k[ea+4>>2];k[ia+8>>2]=k[ea+8>>2];k[da>>2]=a+-1;fa=fa+1|0;k[ca>>2]=fa;if(fa>>>0>255){gb(k[d>>2]|0);k[aa>>2]=(k[aa>>2]|0)+4;k[ca>>2]=(k[ca>>2]|0)+-128}k[ha>>2]=q;k[Y>>2]=t;k[Z>>2]=u;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];k[la>>2]=k[ia>>2];k[la+4>>2]=k[ia+4>>2];k[la+8>>2]=k[ia+8>>2];do if(I>>>0<64){v=(k[la>>2]|0)>>>0>(k[T>>2]|0)>>>0&1;v=(k[la+(v<<2)>>2]|0)>>>0>(k[U>>2]|0)>>>0?2:v}else{e=k[K>>2]|0;a=32-e|0;f=k[M>>2]|0;d=k[f>>2]<>2]=v;fa=f+4|0;k[M>>2]=fa;v=32-v|0;v=(k[fa>>2]|0)>>>v|d>>>(v-a|0);break}a=d>>>28;fa=e+4|0;k[K>>2]=fa;if((fa|0)!=32){v=a;break}k[M>>2]=f+4;k[K>>2]=0;v=a}while(0);g=ka+(v<<2)|0;h=k[g>>2]|0;a=k[ma>>2]|0;H=a-h|0;do if(!H){if((I|0)>0){a=0;e=c}else break;while(1){if(!(i[V>>0]|0))d=k[(k[W>>2]|0)+(e<<2)>>2]|0;else d=e;ea=X;fa=k[ea>>2]|0;ea=Af(d|0,((d|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ha|0,fa|0)|0;a=a+1|0;if((a|0)==(I|0))break;else e=e+1|0}c=I+c|0}else{if(!I){y=891;break z}if(I>>>0>=3){k[la>>2]=q;k[P>>2]=t;k[Q>>2]=u;e=la+(v<<2)|0;k[e>>2]=(k[e>>2]|0)+(1<>>1)-a|0;d=I-f|0;if((f|0)==(d|0)){m=f;n=f}else{fa=k[R>>2]|0;a=k[S>>2]|0;e=(k[a>>2]&1<<31-fa|0)!=0;fa=fa+1|0;k[R>>2]=fa;if((fa|0)==32){k[S>>2]=a+4;k[R>>2]=0}m=e?f:d;n=e?d:f}k[g>>2]=h+1;if(m|0){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];f=k[$>>2]|0;e=k[aa>>2]|0;fa=f-e|0;a=k[ca>>2]|0;d=k[da>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(ga);a=k[ca>>2]|0;d=k[da>>2]|0;f=k[$>>2]|0;e=k[aa>>2]|0}a=d+a|0;if((f|0)==(e|0))a=0;else a=(k[e+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=m;k[a+4>>2]=q;k[a+8>>2]=t;k[a+12>>2]=u;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=v;k[da>>2]=(k[da>>2]|0)+1}if(n|0){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];g=k[la>>2]|0;h=k[P>>2]|0;m=k[Q>>2]|0;f=k[$>>2]|0;e=k[aa>>2]|0;fa=f-e|0;a=k[ca>>2]|0;d=k[da>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(ga);a=k[ca>>2]|0;d=k[da>>2]|0;f=k[$>>2]|0;e=k[aa>>2]|0}a=d+a|0;if((f|0)==(e|0))a=0;else a=(k[e+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=n;k[a+4>>2]=g;k[a+8>>2]=h;k[a+12>>2]=m;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=v;k[da>>2]=(k[da>>2]|0)+1}break}t=(v|0)==2?0:v+1|0;w=(t|0)==2?0:t+1|0;G=a-(k[ka+(t<<2)>>2]|0)|0;C=a-(k[ka+(w<<2)>>2]|0)|0;D=la+(v<<2)|0;E=(H|0)<33;F=(H|0)>0;n=ha+(v<<2)|0;q=(G|0)==0;h=la+(t<<2)|0;t=ha+(t<<2)|0;u=(C|0)==0;m=la+(w<<2)|0;v=ha+(w<<2)|0;w=(C|0)<33;x=(C|0)>0;y=32-C|0;z=(G|0)<33;b=(G|0)>0;A=32-G|0;B=32-H|0;g=0;a=c;while(1){k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;if(!E){y=896;break z}if(!F){y=898;break z}e=k[N>>2]|0;c=32-e|0;f=k[O>>2]|0;d=k[f>>2]<(c|0)){fa=H-c|0;k[N>>2]=fa;f=f+4|0;k[O>>2]=f;ea=32-fa|0;c=(k[f>>2]|0)>>>ea|d>>>(ea-c|0);k[D>>2]=c;d=fa}else{c=d>>>B;k[D>>2]=c;d=e+H|0;k[N>>2]=d;if((d|0)!=32)break;f=f+4|0;k[O>>2]=f;k[N>>2]=0;d=0}while(0);k[D>>2]=c|k[n>>2];do if(q)c=k[h>>2]|0;else{if(!z){y=896;break z}if(!b){y=898;break z}c=32-d|0;e=k[f>>2]<(c|0)){d=G-c|0;k[N>>2]=d;f=f+4|0;k[O>>2]=f;fa=32-d|0;c=(k[f>>2]|0)>>>fa|e>>>(fa-c|0);k[h>>2]=c;break}c=e>>>A;k[h>>2]=c;d=d+G|0;k[N>>2]=d;if((d|0)!=32)break;f=f+4|0;k[O>>2]=f;k[N>>2]=0;d=0}while(0);k[h>>2]=c|k[t>>2];do if(u)c=k[m>>2]|0;else{if(!w){y=896;break z}if(!x){y=898;break z}c=32-d|0;e=k[f>>2]<(c|0)){fa=C-c|0;k[N>>2]=fa;ea=f+4|0;k[O>>2]=ea;fa=32-fa|0;c=(k[ea>>2]|0)>>>fa|e>>>(fa-c|0);k[m>>2]=c;break}c=e>>>y;k[m>>2]=c;fa=d+C|0;k[N>>2]=fa;if((fa|0)!=32)break;k[O>>2]=f+4;k[N>>2]=0}while(0);k[m>>2]=c|k[v>>2];c=a+1|0;if(!(i[V>>0]|0))a=k[(k[W>>2]|0)+(a<<2)>>2]|0;ea=X;fa=k[ea>>2]|0;ea=Af(a|0,((a|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,la|0,fa|0)|0;g=g+1|0;if(g>>>0>=I>>>0)break;else a=c}}while(0);a=k[da>>2]|0;if(!a)break y}if((y|0)==891)Ba(9865,9903,231,9973);else if((y|0)==896)Ba(9986,10010,111,10037);else if((y|0)==898)Ba(10066,10010,112,10037)}while(0);kd(ga);f=1}else f=0}while(0);d=k[ma+840>>2]|0;e=ma+844|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+856>>2]=0;k[ma+852>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+820>>2]|0;e=ma+824|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+836>>2]=0;k[ma+832>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+800>>2]|0;e=ma+804|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+816>>2]=0;k[ma+812>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}if(f)a=1;else break c;r=na;return a|0}case 9:{k[ma>>2]=0;p[ma+24>>3]=.5;p[ma+48>>3]=.5;p[ma+72>>3]=.5;p[ma+96>>3]=.5;p[ma+120>>3]=.5;p[ma+144>>3]=.5;p[ma+168>>3]=.5;p[ma+192>>3]=.5;p[ma+216>>3]=.5;p[ma+240>>3]=.5;p[ma+264>>3]=.5;p[ma+288>>3]=.5;p[ma+312>>3]=.5;p[ma+336>>3]=.5;p[ma+360>>3]=.5;p[ma+384>>3]=.5;p[ma+408>>3]=.5;p[ma+432>>3]=.5;p[ma+456>>3]=.5;p[ma+480>>3]=.5;p[ma+504>>3]=.5;p[ma+528>>3]=.5;p[ma+552>>3]=.5;p[ma+576>>3]=.5;p[ma+600>>3]=.5;p[ma+624>>3]=.5;p[ma+648>>3]=.5;p[ma+672>>3]=.5;p[ma+696>>3]=.5;p[ma+720>>3]=.5;p[ma+744>>3]=.5;p[ma+768>>3]=.5;p[ma+792>>3]=.5;h=ma+800|0;m=ma+820|0;n=ma+840|0;a=h;c=a+60|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));g=x;f=k[g>>2]|0;g=k[g+4>>2]|0;a=z;c=k[a>>2]|0;a=k[a+4>>2]|0;d=Yf(c|0,a|0,4,0)|0;e=L;if(!((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0)){c=(k[b>>2]|0)+c|0;k[ma>>2]=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;c=z;k[c>>2]=d;k[c+4>>2]=e;c=d;a=e}e=ma+4|0;a=Yf(c|0,a|0,4,0)|0;d=L;if(!((g|0)<(d|0)|(g|0)==(d|0)&f>>>0>>0)?(da=(k[b>>2]|0)+c|0,da=l[da>>0]|l[da+1>>0]<<8|l[da+2>>0]<<16|l[da+3>>0]<<24,k[e>>2]=da,ca=z,k[ca>>2]=a,k[ca+4>>2]=d,(da|0)==0):0)f=1;else{a=0;y=967}A:do if((y|0)==967){while(1){if(!(Qc(ma+8+(a*24|0)|0,b)|0)){f=0;break A}a=a+1|0;if((a|0)>=32)break;else y=967}if(((Qc(ma+776|0,b)|0?Oc(h,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){d=k[e>>2]|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ka>>2]=0;k[ka+4>>2]=0;k[ka+8>>2]=0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;Y=ha+4|0;Z=ha+8|0;k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;k[ga+12>>2]=0;k[ga+16>>2]=0;k[ga+20>>2]=0;$=ga+8|0;aa=ga+4|0;ca=ga+16|0;da=ga+20|0;db(ga);a=k[aa>>2]|0;c=(k[da>>2]|0)+(k[ca>>2]|0)|0;if((k[$>>2]|0)==(a|0))a=0;else a=(k[a+(c>>>7<<2)>>2]|0)+((c&127)<<5)|0;k[a>>2]=d;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;X=a+16|0;k[X>>2]=k[ea>>2];k[X+4>>2]=k[ea+4>>2];k[X+8>>2]=k[ea+8>>2];k[a+28>>2]=0;a=(k[da>>2]|0)+1|0;k[da>>2]=a;B:do if(a|0){N=ma+816|0;O=ma+812|0;P=la+4|0;Q=la+8|0;R=ma+856|0;S=ma+852|0;T=la+4|0;U=la+8|0;V=fa+84|0;W=fa+68|0;X=fa+40|0;J=fa+64|0;K=ma+836|0;M=ma+832|0;c=0;C:while(1){d=k[aa>>2]|0;fa=k[ca>>2]|0;H=k[d+(fa>>>7<<2)>>2]|0;ea=fa&127;I=k[H+(ea<<5)>>2]|0;q=k[H+(ea<<5)+4>>2]|0;t=k[H+(ea<<5)+8>>2]|0;u=k[H+(ea<<5)+12>>2]|0;ea=H+(ea<<5)+16|0;k[ia>>2]=k[ea>>2];k[ia+4>>2]=k[ea+4>>2];k[ia+8>>2]=k[ea+8>>2];k[da>>2]=a+-1;fa=fa+1|0;k[ca>>2]=fa;if(fa>>>0>255){gb(k[d>>2]|0);k[aa>>2]=(k[aa>>2]|0)+4;k[ca>>2]=(k[ca>>2]|0)+-128}k[ha>>2]=q;k[Y>>2]=t;k[Z>>2]=u;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];k[la>>2]=k[ia>>2];k[la+4>>2]=k[ia+4>>2];k[la+8>>2]=k[ia+8>>2];do if(I>>>0<64){v=(k[la>>2]|0)>>>0>(k[T>>2]|0)>>>0&1;v=(k[la+(v<<2)>>2]|0)>>>0>(k[U>>2]|0)>>>0?2:v}else{e=k[K>>2]|0;a=32-e|0;f=k[M>>2]|0;d=k[f>>2]<>2]=v;fa=f+4|0;k[M>>2]=fa;v=32-v|0;v=(k[fa>>2]|0)>>>v|d>>>(v-a|0);break}a=d>>>28;fa=e+4|0;k[K>>2]=fa;if((fa|0)!=32){v=a;break}k[M>>2]=f+4;k[K>>2]=0;v=a}while(0);g=ka+(v<<2)|0;h=k[g>>2]|0;a=k[ma>>2]|0;H=a-h|0;do if(!H){if((I|0)>0){a=0;e=c}else break;while(1){if(!(i[V>>0]|0))d=k[(k[W>>2]|0)+(e<<2)>>2]|0;else d=e;ea=X;fa=k[ea>>2]|0;ea=Af(d|0,((d|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,ha|0,fa|0)|0;a=a+1|0;if((a|0)==(I|0))break;else e=e+1|0}c=I+c|0}else{if(!I){y=990;break C}if(I>>>0>=3){k[la>>2]=q;k[P>>2]=t;k[Q>>2]=u;e=la+(v<<2)|0;k[e>>2]=(k[e>>2]|0)+(1<>>1)-a|0;d=I-f|0;if((f|0)==(d|0)){m=f;n=f}else{fa=k[R>>2]|0;a=k[S>>2]|0;e=(k[a>>2]&1<<31-fa|0)!=0;fa=fa+1|0;k[R>>2]=fa;if((fa|0)==32){k[S>>2]=a+4;k[R>>2]=0}m=e?f:d;n=e?d:f}k[g>>2]=h+1;if(m|0){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];f=k[$>>2]|0;e=k[aa>>2]|0;fa=f-e|0;a=k[ca>>2]|0;d=k[da>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(ga);a=k[ca>>2]|0;d=k[da>>2]|0;f=k[$>>2]|0;e=k[aa>>2]|0}a=d+a|0;if((f|0)==(e|0))a=0;else a=(k[e+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=m;k[a+4>>2]=q;k[a+8>>2]=t;k[a+12>>2]=u;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=v;k[da>>2]=(k[da>>2]|0)+1}if(n|0){k[ja>>2]=k[ka>>2];k[ja+4>>2]=k[ka+4>>2];k[ja+8>>2]=k[ka+8>>2];g=k[la>>2]|0;h=k[P>>2]|0;m=k[Q>>2]|0;f=k[$>>2]|0;e=k[aa>>2]|0;fa=f-e|0;a=k[ca>>2]|0;d=k[da>>2]|0;if((((fa|0)==0?0:(fa<<5)+-1|0)|0)==(d+a|0)){db(ga);a=k[ca>>2]|0;d=k[da>>2]|0;f=k[$>>2]|0;e=k[aa>>2]|0}a=d+a|0;if((f|0)==(e|0))a=0;else a=(k[e+(a>>>7<<2)>>2]|0)+((a&127)<<5)|0;k[a>>2]=n;k[a+4>>2]=g;k[a+8>>2]=h;k[a+12>>2]=m;fa=a+16|0;k[fa>>2]=k[ja>>2];k[fa+4>>2]=k[ja+4>>2];k[fa+8>>2]=k[ja+8>>2];k[a+28>>2]=v;k[da>>2]=(k[da>>2]|0)+1}break}t=(v|0)==2?0:v+1|0;w=(t|0)==2?0:t+1|0;G=a-(k[ka+(t<<2)>>2]|0)|0;C=a-(k[ka+(w<<2)>>2]|0)|0;D=la+(v<<2)|0;E=(H|0)<33;F=(H|0)>0;n=ha+(v<<2)|0;q=(G|0)==0;h=la+(t<<2)|0;t=ha+(t<<2)|0;u=(C|0)==0;m=la+(w<<2)|0;v=ha+(w<<2)|0;w=(C|0)<33;x=(C|0)>0;y=32-C|0;z=(G|0)<33;b=(G|0)>0;A=32-G|0;B=32-H|0;g=0;a=c;while(1){k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;if(!E){y=995;break C}if(!F){y=997;break C}e=k[N>>2]|0;c=32-e|0;f=k[O>>2]|0;d=k[f>>2]<(c|0)){fa=H-c|0;k[N>>2]=fa;f=f+4|0;k[O>>2]=f;ea=32-fa|0;c=(k[f>>2]|0)>>>ea|d>>>(ea-c|0);k[D>>2]=c;d=fa}else{c=d>>>B;k[D>>2]=c;d=e+H|0;k[N>>2]=d;if((d|0)!=32)break;f=f+4|0;k[O>>2]=f;k[N>>2]=0;d=0}while(0);k[D>>2]=c|k[n>>2];do if(q)c=k[h>>2]|0;else{if(!z){y=995;break C}if(!b){y=997;break C}c=32-d|0;e=k[f>>2]<(c|0)){d=G-c|0;k[N>>2]=d;f=f+4|0;k[O>>2]=f;fa=32-d|0;c=(k[f>>2]|0)>>>fa|e>>>(fa-c|0);k[h>>2]=c;break}c=e>>>A;k[h>>2]=c;d=d+G|0;k[N>>2]=d;if((d|0)!=32)break;f=f+4|0;k[O>>2]=f;k[N>>2]=0;d=0}while(0);k[h>>2]=c|k[t>>2];do if(u)c=k[m>>2]|0;else{if(!w){y=995;break C}if(!x){y=997;break C}c=32-d|0;e=k[f>>2]<(c|0)){fa=C-c|0;k[N>>2]=fa;ea=f+4|0;k[O>>2]=ea;fa=32-fa|0;c=(k[ea>>2]|0)>>>fa|e>>>(fa-c|0);k[m>>2]=c;break}c=e>>>y;k[m>>2]=c;fa=d+C|0;k[N>>2]=fa;if((fa|0)!=32)break;k[O>>2]=f+4;k[N>>2]=0}while(0);k[m>>2]=c|k[v>>2];c=a+1|0;if(!(i[V>>0]|0))a=k[(k[W>>2]|0)+(a<<2)>>2]|0;ea=X;fa=k[ea>>2]|0;ea=Af(a|0,((a|0)<0)<<31>>31|0,fa|0,k[ea+4>>2]|0)|0;xe((k[k[J>>2]>>2]|0)+ea|0,la|0,fa|0)|0;g=g+1|0;if(g>>>0>=I>>>0)break;else a=c}}while(0);a=k[da>>2]|0;if(!a)break B}if((y|0)==990)Ba(9865,9903,231,9973);else if((y|0)==995)Ba(9986,10010,111,10037);else if((y|0)==997)Ba(10066,10010,112,10037)}while(0);kd(ga);f=1}else f=0}while(0);d=k[ma+840>>2]|0;e=ma+844|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+856>>2]=0;k[ma+852>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+820>>2]|0;e=ma+824|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+836>>2]=0;k[ma+832>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[ma+800>>2]|0;e=ma+804|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[ma+816>>2]=0;k[ma+812>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}if(f)a=1;else break c;r=na;return a|0}case 10:{k[aa>>2]=0;p[aa+24>>3]=.5;p[aa+48>>3]=.5;p[aa+72>>3]=.5;p[aa+96>>3]=.5;p[aa+120>>3]=.5;p[aa+144>>3]=.5;p[aa+168>>3]=.5;p[aa+192>>3]=.5;p[aa+216>>3]=.5;p[aa+240>>3]=.5;p[aa+264>>3]=.5;p[aa+288>>3]=.5;p[aa+312>>3]=.5;p[aa+336>>3]=.5;p[aa+360>>3]=.5;p[aa+384>>3]=.5;p[aa+408>>3]=.5;p[aa+432>>3]=.5;p[aa+456>>3]=.5;p[aa+480>>3]=.5;p[aa+504>>3]=.5;p[aa+528>>3]=.5;p[aa+552>>3]=.5;p[aa+576>>3]=.5;p[aa+600>>3]=.5;p[aa+624>>3]=.5;p[aa+648>>3]=.5;p[aa+672>>3]=.5;p[aa+696>>3]=.5;p[aa+720>>3]=.5;p[aa+744>>3]=.5;p[aa+768>>3]=.5;p[aa+792>>3]=.5;h=aa+800|0;m=aa+820|0;n=aa+840|0;a=h;c=a+60|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));g=x;f=k[g>>2]|0;g=k[g+4>>2]|0;a=z;c=k[a>>2]|0;a=k[a+4>>2]|0;d=Yf(c|0,a|0,4,0)|0;e=L;if(!((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0)){c=(k[b>>2]|0)+c|0;k[aa>>2]=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;c=z;k[c>>2]=d;k[c+4>>2]=e;c=d;a=e}e=aa+4|0;a=Yf(c|0,a|0,4,0)|0;d=L;if(!((g|0)<(d|0)|(g|0)==(d|0)&f>>>0>>0)?(da=(k[b>>2]|0)+c|0,da=l[da>>0]|l[da+1>>0]<<8|l[da+2>>0]<<16|l[da+3>>0]<<24,k[e>>2]=da,ca=z,k[ca>>2]=a,k[ca+4>>2]=d,(da|0)==0):0)U=1;else{a=0;y=1066}D:do if((y|0)==1066){while(1){y=0;if(!(Qc(aa+8+(a*24|0)|0,b)|0)){U=0;break D}a=a+1|0;if((a|0)>=32)break;else y=1066}if(((Qc(aa+776|0,b)|0?Oc(h,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){S=k[e>>2]|0;k[ja>>2]=0;k[ja+4>>2]=0;k[ja+8>>2]=0;k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;k[ga>>2]=S;S=ga+4|0;Q=ja+4|0;R=ja+8|0;k[S>>2]=0;k[S+4>>2]=0;k[S+8>>2]=0;k[S+12>>2]=0;k[S+16>>2]=0;k[S+20>>2]=0;k[S+24>>2]=0;k[ka>>2]=0;S=ka+4|0;k[S>>2]=0;k[ka+8>>2]=0;T=ka+8|0;Gc(ka,ga);c=k[S>>2]|0;n=k[ka>>2]|0;a=c-n|0;if((a|0)>32){d=((a>>5)+-2|0)/2|0;e=n+(d<<5)|0;a=c+-32|0;f=k[a>>2]|0;if((k[e>>2]|0)>>>0>>0){g=k[c+-28>>2]|0;h=k[c+-24>>2]|0;m=k[c+-20>>2]|0;c=c+-16|0;k[la>>2]=k[c>>2];k[la+4>>2]=k[c+4>>2];k[la+8>>2]=k[c+8>>2];k[la+12>>2]=k[c+12>>2];c=e;while(1){k[a>>2]=k[c>>2];k[a+4>>2]=k[c+4>>2];k[a+8>>2]=k[c+8>>2];k[a+12>>2]=k[c+12>>2];k[a+16>>2]=k[c+16>>2];k[a+20>>2]=k[c+20>>2];k[a+24>>2]=k[c+24>>2];k[a+28>>2]=k[c+28>>2];if(!d)break;d=(d+-1|0)/2|0;a=n+(d<<5)|0;if((k[a>>2]|0)>>>0>=f>>>0)break;else{ga=c;c=a;a=ga}}k[c>>2]=f;k[c+4>>2]=g;k[c+8>>2]=h;k[c+12>>2]=m;a=c+16|0;k[a>>2]=k[la>>2];k[a+4>>2]=k[la+4>>2];k[a+8>>2]=k[la+8>>2];k[a+12>>2]=k[la+12>>2];a=0;y=1077}else{a=0;y=1077}}else{d=n;a=0}E:while(1){if((y|0)==1077){d=k[ka>>2]|0;c=k[S>>2]|0}if((d|0)==(c|0)){y=1138;break}P=k[d>>2]|0;q=k[d+4>>2]|0;u=k[d+8>>2]|0;v=k[d+12>>2]|0;ga=d+16|0;k[ea>>2]=k[ga>>2];k[ea+4>>2]=k[ga+4>>2];k[ea+8>>2]=k[ga+8>>2];lc(ka);k[ja>>2]=q;k[Q>>2]=u;k[R>>2]=v;k[ia>>2]=k[ea>>2];k[ia+4>>2]=k[ea+4>>2];k[ia+8>>2]=k[ea+8>>2];k[la>>2]=k[ea>>2];k[la+4>>2]=k[ea+4>>2];k[la+8>>2]=k[ea+8>>2];do if(P>>>0<64){y=(k[la>>2]|0)>>>0>(k[la+4>>2]|0)>>>0&1;y=(k[la+(y<<2)>>2]|0)>>>0>(k[la+8>>2]|0)>>>0?2:y}else{e=aa+836|0;f=k[e>>2]|0;c=32-f|0;g=aa+832|0;h=k[g>>2]|0;d=k[h>>2]<>2]=y;ga=h+4|0;k[g>>2]=ga;y=32-y|0;y=(k[ga>>2]|0)>>>y|d>>>(y-c|0);break}c=d>>>28;ga=f+4|0;k[e>>2]=ga;if((ga|0)!=32){y=c;break}k[g>>2]=h+4;k[e>>2]=0;y=c}while(0);m=ia+(y<<2)|0;n=k[m>>2]|0;c=k[aa>>2]|0;O=c-n|0;F:do if(!O){if((P|0)<=0)break;e=fa+84|0;f=fa+68|0;g=fa+40|0;h=fa+64|0;c=0;m=a;while(1){if(!(i[e>>0]|0))d=k[(k[f>>2]|0)+(m<<2)>>2]|0;else d=m;da=g;ga=k[da>>2]|0;da=Af(d|0,((d|0)<0)<<31>>31|0,ga|0,k[da+4>>2]|0)|0;xe((k[k[h>>2]>>2]|0)+da|0,ja|0,ga|0)|0;c=c+1|0;if((c|0)==(P|0))break;else m=m+1|0}a=P+a|0}else{if(!P){y=1092;break E}if(P>>>0<3){t=(y|0)==2?0:y+1|0;v=(t|0)==2?0:t+1|0;N=c-(k[ia+(t<<2)>>2]|0)|0;C=c-(k[ia+(v<<2)>>2]|0)|0;D=aa+816|0;E=aa+812|0;F=fa+84|0;G=fa+68|0;H=fa+40|0;I=fa+64|0;J=la+(y<<2)|0;K=(O|0)<33;M=(O|0)>0;n=ja+(y<<2)|0;q=(N|0)==0;h=la+(t<<2)|0;t=ja+(t<<2)|0;u=(C|0)==0;m=la+(v<<2)|0;v=ja+(v<<2)|0;w=(C|0)<33;x=(C|0)>0;y=32-C|0;z=(N|0)<33;b=(N|0)>0;A=32-N|0;B=32-O|0;g=0;c=a;while(1){k[la>>2]=0;k[la+4>>2]=0;k[la+8>>2]=0;if(!K){y=1097;break E}if(!M){y=1099;break E}e=k[D>>2]|0;a=32-e|0;f=k[E>>2]|0;d=k[f>>2]<(a|0)){ga=O-a|0;k[D>>2]=ga;f=f+4|0;k[E>>2]=f;da=32-ga|0;a=(k[f>>2]|0)>>>da|d>>>(da-a|0);k[J>>2]=a;d=ga}else{a=d>>>B;k[J>>2]=a;d=e+O|0;k[D>>2]=d;if((d|0)!=32)break;f=f+4|0;k[E>>2]=f;k[D>>2]=0;d=0}while(0);k[J>>2]=a|k[n>>2];do if(q)a=k[h>>2]|0;else{if(!z){y=1097;break E}if(!b){y=1099;break E}a=32-d|0;e=k[f>>2]<(a|0)){d=N-a|0;k[D>>2]=d;f=f+4|0;k[E>>2]=f;ga=32-d|0;a=(k[f>>2]|0)>>>ga|e>>>(ga-a|0);k[h>>2]=a;break}a=e>>>A;k[h>>2]=a;d=d+N|0;k[D>>2]=d;if((d|0)!=32)break;f=f+4|0;k[E>>2]=f;k[D>>2]=0;d=0}while(0);k[h>>2]=a|k[t>>2];do if(u)a=k[m>>2]|0;else{if(!w){y=1097;break E}if(!x){y=1099;break E}a=32-d|0;e=k[f>>2]<(a|0)){ga=C-a|0;k[D>>2]=ga;da=f+4|0;k[E>>2]=da;ga=32-ga|0;a=(k[da>>2]|0)>>>ga|e>>>(ga-a|0);k[m>>2]=a;break}a=e>>>y;k[m>>2]=a;ga=d+C|0;k[D>>2]=ga;if((ga|0)!=32)break;k[E>>2]=f+4;k[D>>2]=0}while(0);k[m>>2]=a|k[v>>2];a=c+1|0;if(!(i[F>>0]|0))c=k[(k[G>>2]|0)+(c<<2)>>2]|0;da=H;ga=k[da>>2]|0;da=Af(c|0,((c|0)<0)<<31>>31|0,ga|0,k[da+4>>2]|0)|0;xe((k[k[I>>2]>>2]|0)+da|0,la|0,ga|0)|0;g=g+1|0;if(g>>>0>=P>>>0)break F;else c=a}}k[ha>>2]=q;w=ha+4|0;k[w>>2]=u;x=ha+8|0;k[x>>2]=v;e=ha+(y<<2)|0;k[e>>2]=(k[e>>2]|0)+(1<>>1)-c|0;f=P-h|0;if((h|0)==(f|0)){e=h;t=h}else{c=aa+856|0;ga=k[c>>2]|0;d=aa+852|0;e=k[d>>2]|0;g=(k[e>>2]&1<<31-ga|0)!=0;ga=ga+1|0;k[c>>2]=ga;if((ga|0)==32){k[d>>2]=e+4;k[c>>2]=0}e=g?h:f;t=g?f:h}k[m>>2]=n+1;if(e|0){k[ma>>2]=e;k[ma+4>>2]=q;k[ma+8>>2]=u;k[ma+12>>2]=v;c=ma+16|0;k[c>>2]=k[ia>>2];k[c+4>>2]=k[ia+4>>2];k[c+8>>2]=k[ia+8>>2];k[ma+28>>2]=y;d=k[S>>2]|0;if(d>>>0<(k[T>>2]|0)>>>0){k[d>>2]=e;k[d+4>>2]=q;k[d+8>>2]=u;k[d+12>>2]=v;e=d+16|0;k[e>>2]=k[c>>2];k[e+4>>2]=k[c+4>>2];k[e+8>>2]=k[c+8>>2];k[e+12>>2]=k[c+12>>2];e=d+32|0;k[S>>2]=e}else{Gc(ka,ma);e=k[S>>2]|0}d=k[ka>>2]|0;c=e-d|0;do if((c|0)>32){f=((c>>5)+-2|0)/2|0;g=d+(f<<5)|0;c=e+-32|0;h=k[c>>2]|0;if((k[g>>2]|0)>>>0>=h>>>0)break;m=k[e+-28>>2]|0;n=k[e+-24>>2]|0;q=k[e+-20>>2]|0;e=e+-16|0;k[la>>2]=k[e>>2];k[la+4>>2]=k[e+4>>2];k[la+8>>2]=k[e+8>>2];k[la+12>>2]=k[e+12>>2];e=g;while(1){k[c>>2]=k[e>>2];k[c+4>>2]=k[e+4>>2];k[c+8>>2]=k[e+8>>2];k[c+12>>2]=k[e+12>>2];k[c+16>>2]=k[e+16>>2];k[c+20>>2]=k[e+20>>2];k[c+24>>2]=k[e+24>>2];k[c+28>>2]=k[e+28>>2];if(!f)break;f=(f+-1|0)/2|0;c=d+(f<<5)|0;if((k[c>>2]|0)>>>0>=h>>>0)break;else{ga=e;e=c;c=ga}}k[e>>2]=h;k[e+4>>2]=m;k[e+8>>2]=n;k[e+12>>2]=q;ga=e+16|0;k[ga>>2]=k[la>>2];k[ga+4>>2]=k[la+4>>2];k[ga+8>>2]=k[la+8>>2];k[ga+12>>2]=k[la+12>>2]}while(0)}if(t|0){k[ma>>2]=t;g=k[ha>>2]|0;k[ma+4>>2]=g;f=k[w>>2]|0;k[ma+8>>2]=f;e=k[x>>2]|0;k[ma+12>>2]=e;d=ma+16|0;k[d>>2]=k[ia>>2];k[d+4>>2]=k[ia+4>>2];k[d+8>>2]=k[ia+8>>2];k[ma+28>>2]=y;c=k[S>>2]|0;if(c>>>0<(k[T>>2]|0)>>>0){k[c>>2]=t;k[c+4>>2]=g;k[c+8>>2]=f;k[c+12>>2]=e;e=c+16|0;k[e>>2]=k[d>>2];k[e+4>>2]=k[d+4>>2];k[e+8>>2]=k[d+8>>2];k[e+12>>2]=k[d+12>>2];e=c+32|0;k[S>>2]=e}else{Gc(ka,ma);e=k[S>>2]|0}d=k[ka>>2]|0;c=e-d|0;do if((c|0)>32){f=((c>>5)+-2|0)/2|0;g=d+(f<<5)|0;c=e+-32|0;h=k[c>>2]|0;if((k[g>>2]|0)>>>0>=h>>>0)break;m=k[e+-28>>2]|0;n=k[e+-24>>2]|0;q=k[e+-20>>2]|0;e=e+-16|0;k[la>>2]=k[e>>2];k[la+4>>2]=k[e+4>>2];k[la+8>>2]=k[e+8>>2];k[la+12>>2]=k[e+12>>2];e=g;while(1){k[c>>2]=k[e>>2];k[c+4>>2]=k[e+4>>2];k[c+8>>2]=k[e+8>>2];k[c+12>>2]=k[e+12>>2];k[c+16>>2]=k[e+16>>2];k[c+20>>2]=k[e+20>>2];k[c+24>>2]=k[e+24>>2];k[c+28>>2]=k[e+28>>2];if(!f)break;f=(f+-1|0)/2|0;c=d+(f<<5)|0;if((k[c>>2]|0)>>>0>=h>>>0)break;else{ga=e;e=c;c=ga}}k[e>>2]=h;k[e+4>>2]=m;k[e+8>>2]=n;k[e+12>>2]=q;ga=e+16|0;k[ga>>2]=k[la>>2];k[ga+4>>2]=k[la+4>>2];k[ga+8>>2]=k[la+8>>2];k[ga+12>>2]=k[la+12>>2]}while(0)}}while(0);y=1077}if((y|0)==1092)Ba(9865,9903,231,9973);else if((y|0)==1097)Ba(9986,10010,111,10037);else if((y|0)==1099)Ba(10066,10010,112,10037);else if((y|0)==1138){if(d|0)gb(d);U=1;break}}else U=0}while(0);d=k[aa+840>>2]|0;e=aa+844|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[aa+856>>2]=0;k[aa+852>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[aa+820>>2]|0;e=aa+824|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[aa+836>>2]=0;k[aa+832>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}d=k[aa+800>>2]|0;e=aa+804|0;a=k[e>>2]|0;c=d;if((a|0)==(d|0))a=d;else{a=a+(~((a+-4-c|0)>>>2)<<2)|0;k[e>>2]=a}k[aa+816>>2]=0;k[aa+812>>2]=a;if(d|0){if((a|0)!=(d|0))k[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(d)}if(U)a=1;else break c;r=na;return a|0}default:break c}while(0)}while(0);ma=0;r=na;return ma|0}default:{ma=0;r=na;return ma|0}}return 0}function Ta(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,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,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,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ka=r;r=r+1872|0;ha=ka+1808|0;ca=ka+1832|0;da=ka+1792|0;ea=ka+1776|0;ia=ka+912|0;fa=ka+896|0;ga=ka+880|0;aa=ka+864|0;Z=ka;f=b+8|0;V=f;$=k[V>>2]|0;V=k[V+4>>2]|0;q=b+16|0;ja=q;d=k[ja>>2]|0;ja=Yf(d|0,k[ja+4>>2]|0,4,0)|0;W=L;if((V|0)<(W|0)|(V|0)==(W|0)&$>>>0>>0){c=0;r=ka;return c|0}ja=(k[b>>2]|0)+d|0;ja=l[ja>>0]|l[ja+1>>0]<<8|l[ja+2>>0]<<16|l[ja+3>>0]<<24;i[a>>0]=ja;i[a+1>>0]=ja>>8;i[a+2>>0]=ja>>16;i[a+3>>0]=ja>>24;ja=q;W=k[ja>>2]|0;ja=k[ja+4>>2]|0;d=Yf(W|0,ja|0,4,0)|0;V=q;k[V>>2]=d;k[V+4>>2]=L;V=f;$=k[V>>2]|0;V=k[V+4>>2]|0;ja=Yf(W|0,ja|0,8,0)|0;W=L;if((V|0)<(W|0)|(V|0)==(W|0)&$>>>0>>0){c=0;r=ka;return c|0}$=a+4|0;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;i[$>>0]=V;i[$+1>>0]=V>>8;i[$+2>>0]=V>>16;i[$+3>>0]=V>>24;$=q;V=k[$>>2]|0;$=k[$+4>>2]|0;d=Yf(V|0,$|0,4,0)|0;ja=q;k[ja>>2]=d;k[ja+4>>2]=L;ja=a+8|0;U=f;W=k[U>>2]|0;U=k[U+4>>2]|0;$=Yf(V|0,$|0,8,0)|0;V=L;if((U|0)<(V|0)|(U|0)==(V|0)&W>>>0<$>>>0){c=0;r=ka;return c|0}e=(k[b>>2]|0)+d|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;i[ja>>0]=e;i[ja+1>>0]=e>>8;i[ja+2>>0]=e>>16;i[ja+3>>0]=e>>24;$=q;V=k[$>>2]|0;$=k[$+4>>2]|0;d=Yf(V|0,$|0,4,0)|0;U=q;k[U>>2]=d;k[U+4>>2]=L;U=f;W=k[U>>2]|0;U=k[U+4>>2]|0;$=Yf(V|0,$|0,8,0)|0;V=L;if((U|0)<(V|0)|(U|0)==(V|0)&W>>>0<$>>>0){c=0;r=ka;return c|0}W=a+12|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[W>>0]=d;i[W+1>>0]=d>>8;i[W+2>>0]=d>>16;i[W+3>>0]=d>>24;W=q;W=Yf(k[W>>2]|0,k[W+4>>2]|0,4,0)|0;$=q;k[$>>2]=W;k[$+4>>2]=L;a:do if(e|0)do switch(d|0){case 0:{Nd(c,e);k[ia>>2]=0;j=ia+8|0;m=ia+28|0;n=ia+48|0;o=ia+68|0;d=j;e=d+80|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;d=q;e=k[d>>2]|0;d=k[d+4>>2]|0;a=Yf(e|0,d|0,4,0)|0;f=L;if(!((h|0)<(f|0)|(h|0)==(f|0)&g>>>0>>0)){e=(k[b>>2]|0)+e|0;k[ia>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=q;k[e>>2]=a;k[e+4>>2]=f;e=a;d=f}f=ia+4|0;d=Yf(e|0,d|0,4,0)|0;a=L;if(!(!((h|0)<(a|0)|(h|0)==(a|0)&g>>>0>>0)?($=(k[b>>2]|0)+e|0,$=l[$>>0]|l[$+1>>0]<<8|l[$+2>>0]<<16|l[$+3>>0]<<24,k[f>>2]=$,Z=q,k[Z>>2]=d,k[Z+4>>2]=a,!($|0)):0))s=11;if(((((s|0)==11?Oc(j,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0)?Oc(o,b)|0:0){a=k[f>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;T=ea+4|0;U=ea+8|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;V=ha+8|0;W=ha+4|0;X=ha+16|0;Y=ha+20|0;db(ha);d=k[W>>2]|0;f=k[V>>2]|0;e=(k[Y>>2]|0)+(k[X>>2]|0)|0;if((f|0)==(d|0))d=0;else d=(k[d+(e>>>7<<2)>>2]|0)+((e&127)<<5)|0;k[d>>2]=a;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;$=d+16|0;k[$>>2]=k[aa>>2];k[$+4>>2]=k[aa+4>>2];k[$+8>>2]=k[aa+8>>2];k[d+28>>2]=0;d=(k[Y>>2]|0)+1|0;k[Y>>2]=d;b:do if(d|0){G=ia+44|0;H=ia+40|0;I=ca+4|0;J=ca+8|0;K=ca+4|0;M=ca+8|0;N=ia+24|0;O=ia+20|0;P=ia+84|0;Q=ia+80|0;R=c+4|0;S=c+8|0;e=f;c:while(1){$=k[X>>2]|0;Z=d+-1|0;a=Z+$|0;aa=k[W>>2]|0;E=k[aa+(a>>>7<<2)>>2]|0;a=a&127;F=k[E+(a<<5)>>2]|0;o=k[E+(a<<5)+4>>2]|0;q=k[E+(a<<5)+8>>2]|0;b=k[E+(a<<5)+12>>2]|0;D=E+(a<<5)+16|0;k[fa>>2]=k[D>>2];k[fa+4>>2]=k[D+4>>2];k[fa+8>>2]=k[D+8>>2];a=k[E+(a<<5)+28>>2]|0;k[Y>>2]=Z;aa=e-aa|0;if((1-d-$+((aa|0)==0?0:(aa<<5)+-1|0)|0)>>>0>255){gb(k[e+-4>>2]|0);e=(k[V>>2]|0)+-4|0;k[V>>2]=e}k[ea>>2]=o;k[T>>2]=q;k[U>>2]=b;k[da>>2]=k[fa>>2];k[da+4>>2]=k[fa+4>>2];k[da+8>>2]=k[fa+8>>2];s=(a|0)==2?0:a+1|0;j=da+(s<<2)|0;m=k[j>>2]|0;d=k[ia>>2]|0;E=d-m|0;do if(!E){if((F|0)>0)d=0;else break;do{e=k[R>>2]|0;if((e|0)==(k[S>>2]|0))md(c,ea);else{k[e>>2]=k[ea>>2];k[e+4>>2]=k[T>>2];k[e+8>>2]=k[U>>2];k[R>>2]=e+12}d=d+1|0}while((d|0)<(F|0))}else{if(!F){s=28;break c}if(F>>>0>=3){k[ca>>2]=o;k[K>>2]=q;k[M>>2]=b;f=ca+(s<<2)|0;k[f>>2]=(k[f>>2]|0)+(1<>>0>=33){s=45;break c}if(!f){s=47;break c}g=k[N>>2]|0;d=32-g|0;h=k[O>>2]|0;a=k[h>>2]<(d|0)){aa=f-d|0;k[N>>2]=aa;$=h+4|0;k[O>>2]=$;aa=32-aa|0;d=(k[$>>2]|0)>>>aa|a>>>(aa-d|0)}else{d=a>>>(32-f|0);aa=g+f|0;k[N>>2]=aa;if((aa|0)!=32)break;k[O>>2]=h+4;k[N>>2]=0}while(0);g=(F>>>1)-d|0;a=F-g|0;if((g|0)==(a|0)){h=g;n=g}else{aa=k[P>>2]|0;d=k[Q>>2]|0;f=(k[d>>2]&1<<31-aa|0)!=0;aa=aa+1|0;k[P>>2]=aa;if((aa|0)==32){k[Q>>2]=d+4;k[P>>2]=0}h=f?g:a;n=f?a:g}k[j>>2]=m+1;if(h){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];f=k[W>>2]|0;aa=e-f|0;d=k[X>>2]|0;a=k[Y>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(a+d|0)){db(ha);e=k[V>>2]|0;d=k[X>>2]|0;a=k[Y>>2]|0;g=e;f=k[W>>2]|0}else g=e;d=a+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=h;k[d+4>>2]=o;k[d+8>>2]=q;k[d+12>>2]=b;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=s;k[Y>>2]=(k[Y>>2]|0)+1}if(n|0){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];g=k[ca>>2]|0;h=k[K>>2]|0;j=k[M>>2]|0;f=k[W>>2]|0;aa=e-f|0;d=k[X>>2]|0;a=k[Y>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(a+d|0)){db(ha);d=k[X>>2]|0;a=k[Y>>2]|0;e=k[V>>2]|0;f=k[W>>2]|0}d=a+d|0;if((e|0)==(f|0))d=0;else d=(k[f+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=n;k[d+4>>2]=g;k[d+8>>2]=h;k[d+12>>2]=j;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=s;k[Y>>2]=(k[Y>>2]|0)+1}break}o=(s|0)==2?0:s+1|0;b=(o|0)==2?0:o+1|0;D=d-(k[da+(o<<2)>>2]|0)|0;z=d-(k[da+(b<<2)>>2]|0)|0;A=ca+(s<<2)|0;B=(E|0)<33;C=(E|0)>0;m=ea+(s<<2)|0;n=(D|0)==0;h=ca+(o<<2)|0;o=ea+(o<<2)|0;q=(z|0)==0;j=ca+(b<<2)|0;b=ea+(b<<2)|0;s=(z|0)<33;t=(z|0)>0;u=32-z|0;v=(D|0)<33;w=(D|0)>0;x=32-D|0;y=32-E|0;g=0;do{k[ca>>2]=0;k[ca+4>>2]=0;k[ca+8>>2]=0;if(!B){s=34;break c}if(!C){s=36;break c}a=k[G>>2]|0;d=32-a|0;f=k[H>>2]|0;e=k[f>>2]<(d|0)){aa=E-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;$=32-aa|0;d=(k[f>>2]|0)>>>$|e>>>($-d|0);k[A>>2]=d;e=aa}else{d=e>>>y;k[A>>2]=d;e=a+E|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[A>>2]=d|k[m>>2];do if(n)d=k[h>>2]|0;else{if(!v){s=34;break c}if(!w){s=36;break c}d=32-e|0;a=k[f>>2]<(d|0)){e=D-d|0;k[G>>2]=e;f=f+4|0;k[H>>2]=f;aa=32-e|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[h>>2]=d;break}d=a>>>x;k[h>>2]=d;e=e+D|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[h>>2]=d|k[o>>2];do if(q)d=k[j>>2]|0;else{if(!s){s=34;break c}if(!t){s=36;break c}d=32-e|0;a=k[f>>2]<(d|0)){aa=z-d|0;k[G>>2]=aa;$=f+4|0;k[H>>2]=$;aa=32-aa|0;d=(k[$>>2]|0)>>>aa|a>>>(aa-d|0);k[j>>2]=d;break}d=a>>>u;k[j>>2]=d;aa=e+z|0;k[G>>2]=aa;if((aa|0)!=32)break;k[H>>2]=f+4;k[G>>2]=0}while(0);k[j>>2]=d|k[b>>2];d=k[R>>2]|0;if((d|0)==(k[S>>2]|0))md(c,ca);else{k[d>>2]=k[ca>>2];k[d+4>>2]=k[I>>2];k[d+8>>2]=k[J>>2];k[R>>2]=d+12}g=g+1|0}while(g>>>0>>0)}while(0);d=k[Y>>2]|0;if(!d)break b;e=k[V>>2]|0}if((s|0)==28)Ba(9865,9903,231,9973);else if((s|0)==34)Ba(9986,10010,111,10037);else if((s|0)==36)Ba(10066,10010,112,10037);else if((s|0)==45)Ba(9986,10010,111,10037);else if((s|0)==47)Ba(10066,10010,112,10037)}while(0);kd(ha)}a=k[ia+68>>2]|0;f=ia+72|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+84>>2]=0;k[ia+80>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+48>>2]|0;f=ia+52|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+64>>2]=0;k[ia+60>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+28>>2]|0;f=ia+32|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+44>>2]=0;k[ia+40>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+8>>2]|0;f=ia+12|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+24>>2]=0;k[ia+20>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}break a}case 1:{Nd(c,e);k[ia>>2]=0;j=ia+8|0;m=ia+28|0;n=ia+48|0;o=ia+68|0;d=j;e=d+80|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;d=q;e=k[d>>2]|0;d=k[d+4>>2]|0;a=Yf(e|0,d|0,4,0)|0;f=L;if(!((h|0)<(f|0)|(h|0)==(f|0)&g>>>0>>0)){e=(k[b>>2]|0)+e|0;k[ia>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=q;k[e>>2]=a;k[e+4>>2]=f;e=a;d=f}f=ia+4|0;d=Yf(e|0,d|0,4,0)|0;a=L;if(!(!((h|0)<(a|0)|(h|0)==(a|0)&g>>>0>>0)?($=(k[b>>2]|0)+e|0,$=l[$>>0]|l[$+1>>0]<<8|l[$+2>>0]<<16|l[$+3>>0]<<24,k[f>>2]=$,Z=q,k[Z>>2]=d,k[Z+4>>2]=a,!($|0)):0))s=116;if(((((s|0)==116?Oc(j,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0)?Oc(o,b)|0:0){a=k[f>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;T=ea+4|0;U=ea+8|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;V=ha+8|0;W=ha+4|0;X=ha+16|0;Y=ha+20|0;db(ha);d=k[W>>2]|0;f=k[V>>2]|0;e=(k[Y>>2]|0)+(k[X>>2]|0)|0;if((f|0)==(d|0))d=0;else d=(k[d+(e>>>7<<2)>>2]|0)+((e&127)<<5)|0;k[d>>2]=a;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;$=d+16|0;k[$>>2]=k[aa>>2];k[$+4>>2]=k[aa+4>>2];k[$+8>>2]=k[aa+8>>2];k[d+28>>2]=0;d=(k[Y>>2]|0)+1|0;k[Y>>2]=d;d:do if(d|0){G=ia+44|0;H=ia+40|0;I=ca+4|0;J=ca+8|0;K=ca+4|0;M=ca+8|0;N=ia+24|0;O=ia+20|0;P=ia+84|0;Q=ia+80|0;R=c+4|0;S=c+8|0;e=f;e:while(1){$=k[X>>2]|0;Z=d+-1|0;a=Z+$|0;aa=k[W>>2]|0;E=k[aa+(a>>>7<<2)>>2]|0;a=a&127;F=k[E+(a<<5)>>2]|0;q=k[E+(a<<5)+4>>2]|0;b=k[E+(a<<5)+8>>2]|0;s=k[E+(a<<5)+12>>2]|0;D=E+(a<<5)+16|0;k[fa>>2]=k[D>>2];k[fa+4>>2]=k[D+4>>2];k[fa+8>>2]=k[D+8>>2];a=k[E+(a<<5)+28>>2]|0;k[Y>>2]=Z;aa=e-aa|0;if((1-d-$+((aa|0)==0?0:(aa<<5)+-1|0)|0)>>>0>255){gb(k[e+-4>>2]|0);e=(k[V>>2]|0)+-4|0;k[V>>2]=e}k[ea>>2]=q;k[T>>2]=b;k[U>>2]=s;k[da>>2]=k[fa>>2];k[da+4>>2]=k[fa+4>>2];k[da+8>>2]=k[fa+8>>2];t=(a|0)==2?0:a+1|0;m=da+(t<<2)|0;n=k[m>>2]|0;d=k[ia>>2]|0;E=d-n|0;do if(!E){if((F|0)>0)d=0;else break;do{e=k[R>>2]|0;if((e|0)==(k[S>>2]|0))md(c,ea);else{k[e>>2]=k[ea>>2];k[e+4>>2]=k[T>>2];k[e+8>>2]=k[U>>2];k[R>>2]=e+12}d=d+1|0}while((d|0)<(F|0))}else{if(!F){s=133;break e}if(F>>>0>=3){k[ca>>2]=q;k[K>>2]=b;k[M>>2]=s;f=ca+(t<<2)|0;k[f>>2]=(k[f>>2]|0)+(1<>>0>=33){s=150;break e}if(!f){s=152;break e}g=k[N>>2]|0;d=32-g|0;h=k[O>>2]|0;a=k[h>>2]<(d|0)){aa=f-d|0;k[N>>2]=aa;$=h+4|0;k[O>>2]=$;aa=32-aa|0;d=(k[$>>2]|0)>>>aa|a>>>(aa-d|0)}else{d=a>>>(32-f|0);aa=g+f|0;k[N>>2]=aa;if((aa|0)!=32)break;k[O>>2]=h+4;k[N>>2]=0}while(0);g=(F>>>1)-d|0;a=F-g|0;if((g|0)==(a|0)){j=g;o=g}else{aa=k[P>>2]|0;d=k[Q>>2]|0;f=(k[d>>2]&1<<31-aa|0)!=0;aa=aa+1|0;k[P>>2]=aa;if((aa|0)==32){k[Q>>2]=d+4;k[P>>2]=0}j=f?g:a;o=f?a:g}k[m>>2]=n+1;if(j){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];g=k[W>>2]|0;aa=e-g|0;d=k[X>>2]|0;a=k[Y>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(a+d|0)){db(ha);f=k[V>>2]|0;h=f;d=k[X>>2]|0;a=k[Y>>2]|0;e=k[W>>2]|0}else{h=e;f=e;e=g}d=a+d|0;if((f|0)==(e|0))d=0;else d=(k[e+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=j;k[d+4>>2]=q;k[d+8>>2]=b;k[d+12>>2]=s;e=d+16|0;k[e>>2]=k[ga>>2];k[e+4>>2]=k[ga+4>>2];k[e+8>>2]=k[ga+8>>2];k[d+28>>2]=t;k[Y>>2]=(k[Y>>2]|0)+1;e=h}if(o|0){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];g=k[ca>>2]|0;h=k[K>>2]|0;j=k[M>>2]|0;f=k[W>>2]|0;aa=e-f|0;d=k[X>>2]|0;a=k[Y>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(a+d|0)){db(ha);d=k[X>>2]|0;a=k[Y>>2]|0;e=k[V>>2]|0;f=k[W>>2]|0}d=a+d|0;if((e|0)==(f|0))d=0;else d=(k[f+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=o;k[d+4>>2]=g;k[d+8>>2]=h;k[d+12>>2]=j;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=t;k[Y>>2]=(k[Y>>2]|0)+1}break}o=(t|0)==2?0:t+1|0;b=(o|0)==2?0:o+1|0;D=d-(k[da+(o<<2)>>2]|0)|0;z=d-(k[da+(b<<2)>>2]|0)|0;A=ca+(t<<2)|0;B=(E|0)<33;C=(E|0)>0;m=ea+(t<<2)|0;n=(D|0)==0;h=ca+(o<<2)|0;o=ea+(o<<2)|0;q=(z|0)==0;j=ca+(b<<2)|0;b=ea+(b<<2)|0;s=(z|0)<33;t=(z|0)>0;u=32-z|0;v=(D|0)<33;w=(D|0)>0;x=32-D|0;y=32-E|0;g=0;do{k[ca>>2]=0;k[ca+4>>2]=0;k[ca+8>>2]=0;if(!B){s=139;break e}if(!C){s=141;break e}a=k[G>>2]|0;d=32-a|0;f=k[H>>2]|0;e=k[f>>2]<(d|0)){aa=E-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;$=32-aa|0;d=(k[f>>2]|0)>>>$|e>>>($-d|0);k[A>>2]=d;e=aa}else{d=e>>>y;k[A>>2]=d;e=a+E|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[A>>2]=d|k[m>>2];do if(n)d=k[h>>2]|0;else{if(!v){s=139;break e}if(!w){s=141;break e}d=32-e|0;a=k[f>>2]<(d|0)){e=D-d|0;k[G>>2]=e;f=f+4|0;k[H>>2]=f;aa=32-e|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[h>>2]=d;break}d=a>>>x;k[h>>2]=d;e=e+D|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[h>>2]=d|k[o>>2];do if(q)d=k[j>>2]|0;else{if(!s){s=139;break e}if(!t){s=141;break e}d=32-e|0;a=k[f>>2]<(d|0)){aa=z-d|0;k[G>>2]=aa;$=f+4|0;k[H>>2]=$;aa=32-aa|0;d=(k[$>>2]|0)>>>aa|a>>>(aa-d|0);k[j>>2]=d;break}d=a>>>u;k[j>>2]=d;aa=e+z|0;k[G>>2]=aa;if((aa|0)!=32)break;k[H>>2]=f+4;k[G>>2]=0}while(0);k[j>>2]=d|k[b>>2];d=k[R>>2]|0;if((d|0)==(k[S>>2]|0))md(c,ca);else{k[d>>2]=k[ca>>2];k[d+4>>2]=k[I>>2];k[d+8>>2]=k[J>>2];k[R>>2]=d+12}g=g+1|0}while(g>>>0>>0)}while(0);d=k[Y>>2]|0;if(!d)break d;e=k[V>>2]|0}if((s|0)==133)Ba(9865,9903,231,9973);else if((s|0)==139)Ba(9986,10010,111,10037);else if((s|0)==141)Ba(10066,10010,112,10037);else if((s|0)==150)Ba(9986,10010,111,10037);else if((s|0)==152)Ba(10066,10010,112,10037)}while(0);kd(ha)}a=k[ia+68>>2]|0;f=ia+72|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+84>>2]=0;k[ia+80>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+48>>2]|0;f=ia+52|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+64>>2]=0;k[ia+60>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+28>>2]|0;f=ia+32|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+44>>2]=0;k[ia+40>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+8>>2]|0;f=ia+12|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+24>>2]=0;k[ia+20>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}break a}case 2:{Nd(c,e);k[Z>>2]=0;i[Z+20>>0]=0;j=Z+24|0;m=Z+44|0;n=Z+64|0;d=j;e=d+60|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;d=q;e=k[d>>2]|0;d=k[d+4>>2]|0;a=Yf(e|0,d|0,4,0)|0;f=L;if((h|0)<(f|0)|(h|0)==(f|0)&g>>>0>>0)a=e;else{d=(k[b>>2]|0)+e|0;k[Z>>2]=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;d=q;k[d>>2]=a;k[d+4>>2]=f;d=f}f=Z+4|0;d=Yf(a|0,d|0,4,0)|0;e=L;if(!(!((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0)?($=(k[b>>2]|0)+a|0,$=l[$>>0]|l[$+1>>0]<<8|l[$+2>>0]<<16|l[$+3>>0]<<24,k[f>>2]=$,Y=q,k[Y>>2]=d,k[Y+4>>2]=e,!($|0)):0))s=221;if(((((s|0)==221?(X=Z+8|0,Dc(X,b)|0):0)?Oc(j,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){a=k[f>>2]|0;k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;R=ia+4|0;S=ia+8|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;T=ha+8|0;U=ha+4|0;V=ha+16|0;W=ha+20|0;db(ha);d=k[U>>2]|0;f=k[T>>2]|0;e=(k[W>>2]|0)+(k[V>>2]|0)|0;if((f|0)==(d|0))d=0;else d=(k[d+(e>>>7<<2)>>2]|0)+((e&127)<<5)|0;k[d>>2]=a;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;$=d+16|0;k[$>>2]=k[aa>>2];k[$+4>>2]=k[aa+4>>2];k[$+8>>2]=k[aa+8>>2];k[d+28>>2]=0;d=(k[W>>2]|0)+1|0;k[W>>2]=d;f:do if(d|0){G=Z+40|0;H=Z+36|0;I=ca+4|0;J=ca+8|0;K=ca+4|0;M=ca+8|0;N=Z+80|0;O=Z+76|0;P=c+4|0;Q=c+8|0;a=f;g:while(1){$=k[V>>2]|0;Y=d+-1|0;e=Y+$|0;aa=k[U>>2]|0;E=k[aa+(e>>>7<<2)>>2]|0;e=e&127;F=k[E+(e<<5)>>2]|0;m=k[E+(e<<5)+4>>2]|0;n=k[E+(e<<5)+8>>2]|0;o=k[E+(e<<5)+12>>2]|0;D=E+(e<<5)+16|0;k[fa>>2]=k[D>>2];k[fa+4>>2]=k[D+4>>2];k[fa+8>>2]=k[D+8>>2];e=k[E+(e<<5)+28>>2]|0;k[W>>2]=Y;aa=a-aa|0;if((1-d-$+((aa|0)==0?0:(aa<<5)+-1|0)|0)>>>0>255){gb(k[a+-4>>2]|0);k[T>>2]=(k[T>>2]|0)+-4}k[ia>>2]=m;k[R>>2]=n;k[S>>2]=o;k[ea>>2]=k[fa>>2];k[ea+4>>2]=k[fa+4>>2];k[ea+8>>2]=k[fa+8>>2];b=(e|0)==2?0:e+1|0;g=ea+(b<<2)|0;h=k[g>>2]|0;d=k[Z>>2]|0;E=d-h|0;do if(!E){if((F|0)>0)d=0;else break;do{e=k[P>>2]|0;if((e|0)==(k[Q>>2]|0))md(c,ia);else{k[e>>2]=k[ia>>2];k[e+4>>2]=k[R>>2];k[e+8>>2]=k[S>>2];k[P>>2]=e+12}d=d+1|0}while((d|0)<(F|0))}else{if(!F){s=238;break g}if(F>>>0>=3){k[ca>>2]=m;k[K>>2]=n;k[M>>2]=o;f=ca+(b<<2)|0;k[f>>2]=(k[f>>2]|0)+(1<>2]=0;de(X,f,da);f=(F>>>1)-(k[da>>2]|0)|0;e=F-f|0;if((f|0)==(e|0)){j=f;q=f}else{aa=k[N>>2]|0;d=k[O>>2]|0;a=(k[d>>2]&1<<31-aa|0)!=0;aa=aa+1|0;k[N>>2]=aa;if((aa|0)==32){k[O>>2]=d+4;k[N>>2]=0}j=a?f:e;q=a?e:f}k[g>>2]=h+1;if(j|0){k[ga>>2]=k[ea>>2];k[ga+4>>2]=k[ea+4>>2];k[ga+8>>2]=k[ea+8>>2];f=k[T>>2]|0;a=k[U>>2]|0;aa=f-a|0;d=k[V>>2]|0;e=k[W>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(e+d|0)){db(ha);d=k[V>>2]|0;e=k[W>>2]|0;f=k[T>>2]|0;a=k[U>>2]|0}d=e+d|0;if((f|0)==(a|0))d=0;else d=(k[a+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=j;k[d+4>>2]=m;k[d+8>>2]=n;k[d+12>>2]=o;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=b;k[W>>2]=(k[W>>2]|0)+1}if(q|0){k[ga>>2]=k[ea>>2];k[ga+4>>2]=k[ea+4>>2];k[ga+8>>2]=k[ea+8>>2];g=k[ca>>2]|0;h=k[K>>2]|0;j=k[M>>2]|0;f=k[T>>2]|0;a=k[U>>2]|0;aa=f-a|0;d=k[V>>2]|0;e=k[W>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(e+d|0)){db(ha);d=k[V>>2]|0;e=k[W>>2]|0;f=k[T>>2]|0;a=k[U>>2]|0}d=e+d|0;if((f|0)==(a|0))d=0;else d=(k[a+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=q;k[d+4>>2]=g;k[d+8>>2]=h;k[d+12>>2]=j;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=b;k[W>>2]=(k[W>>2]|0)+1}break}o=(b|0)==2?0:b+1|0;s=(o|0)==2?0:o+1|0;D=d-(k[ea+(o<<2)>>2]|0)|0;z=d-(k[ea+(s<<2)>>2]|0)|0;A=ca+(b<<2)|0;B=(E|0)<33;C=(E|0)>0;m=ia+(b<<2)|0;n=(D|0)==0;h=ca+(o<<2)|0;o=ia+(o<<2)|0;q=(z|0)==0;j=ca+(s<<2)|0;b=ia+(s<<2)|0;s=(z|0)<33;t=(z|0)>0;u=32-z|0;v=(D|0)<33;w=(D|0)>0;x=32-D|0;y=32-E|0;g=0;do{k[ca>>2]=0;k[ca+4>>2]=0;k[ca+8>>2]=0;if(!B){s=244;break g}if(!C){s=246;break g}a=k[G>>2]|0;d=32-a|0;f=k[H>>2]|0;e=k[f>>2]<(d|0)){aa=E-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;$=32-aa|0;d=(k[f>>2]|0)>>>$|e>>>($-d|0);k[A>>2]=d;e=aa}else{d=e>>>y;k[A>>2]=d;e=a+E|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[A>>2]=d|k[m>>2];do if(n)d=k[h>>2]|0;else{if(!v){s=244;break g}if(!w){s=246;break g}d=32-e|0;a=k[f>>2]<(d|0)){e=D-d|0;k[G>>2]=e;f=f+4|0;k[H>>2]=f;aa=32-e|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[h>>2]=d;break}d=a>>>x;k[h>>2]=d;e=e+D|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[h>>2]=d|k[o>>2];do if(q)d=k[j>>2]|0;else{if(!s){s=244;break g}if(!t){s=246;break g}d=32-e|0;a=k[f>>2]<(d|0)){aa=z-d|0;k[G>>2]=aa;$=f+4|0;k[H>>2]=$;aa=32-aa|0;d=(k[$>>2]|0)>>>aa|a>>>(aa-d|0);k[j>>2]=d;break}d=a>>>u;k[j>>2]=d;aa=e+z|0;k[G>>2]=aa;if((aa|0)!=32)break;k[H>>2]=f+4;k[G>>2]=0}while(0);k[j>>2]=d|k[b>>2];d=k[P>>2]|0;if((d|0)==(k[Q>>2]|0))md(c,ca);else{k[d>>2]=k[ca>>2];k[d+4>>2]=k[I>>2];k[d+8>>2]=k[J>>2];k[P>>2]=d+12}g=g+1|0}while(g>>>0>>0)}while(0);d=k[W>>2]|0;if(!d)break f;a=k[T>>2]|0}if((s|0)==238)Ba(9865,9903,231,9973);else if((s|0)==244)Ba(9986,10010,111,10037);else if((s|0)==246)Ba(10066,10010,112,10037)}while(0);kd(ha)}a=k[Z+64>>2]|0;f=Z+68|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[Z+80>>2]=0;k[Z+76>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[Z+44>>2]|0;f=Z+48|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[Z+60>>2]=0;k[Z+56>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[Z+24>>2]|0;f=Z+28|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[Z+40>>2]=0;k[Z+36>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}break a}case 3:{Nd(c,e);k[Z>>2]=0;i[Z+20>>0]=0;j=Z+24|0;m=Z+44|0;n=Z+64|0;d=j;e=d+60|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;d=q;e=k[d>>2]|0;d=k[d+4>>2]|0;a=Yf(e|0,d|0,4,0)|0;f=L;if(!((h|0)<(f|0)|(h|0)==(f|0)&g>>>0>>0)){e=(k[b>>2]|0)+e|0;k[Z>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=q;k[e>>2]=a;k[e+4>>2]=f;e=a;d=f}f=Z+4|0;d=Yf(e|0,d|0,4,0)|0;a=L;if(!(!((h|0)<(a|0)|(h|0)==(a|0)&g>>>0>>0)?($=(k[b>>2]|0)+e|0,$=l[$>>0]|l[$+1>>0]<<8|l[$+2>>0]<<16|l[$+3>>0]<<24,k[f>>2]=$,X=q,k[X>>2]=d,k[X+4>>2]=a,!($|0)):0))s=312;if(((((s|0)==312?(Y=Z+8|0,Dc(Y,b)|0):0)?Oc(j,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){a=k[f>>2]|0;k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;R=ia+4|0;S=ia+8|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;T=ha+8|0;U=ha+4|0;V=ha+16|0;W=ha+20|0;db(ha);d=k[U>>2]|0;f=k[T>>2]|0;e=(k[W>>2]|0)+(k[V>>2]|0)|0;if((f|0)==(d|0))d=0;else d=(k[d+(e>>>7<<2)>>2]|0)+((e&127)<<5)|0;k[d>>2]=a;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;$=d+16|0;k[$>>2]=k[aa>>2];k[$+4>>2]=k[aa+4>>2];k[$+8>>2]=k[aa+8>>2];k[d+28>>2]=0;d=(k[W>>2]|0)+1|0;k[W>>2]=d;h:do if(d|0){G=Z+40|0;H=Z+36|0;I=ca+4|0;J=ca+8|0;K=ca+4|0;M=ca+8|0;N=Z+80|0;O=Z+76|0;P=c+4|0;Q=c+8|0;a=f;i:while(1){$=k[V>>2]|0;X=d+-1|0;e=X+$|0;aa=k[U>>2]|0;E=k[aa+(e>>>7<<2)>>2]|0;e=e&127;F=k[E+(e<<5)>>2]|0;m=k[E+(e<<5)+4>>2]|0;n=k[E+(e<<5)+8>>2]|0;o=k[E+(e<<5)+12>>2]|0;D=E+(e<<5)+16|0;k[fa>>2]=k[D>>2];k[fa+4>>2]=k[D+4>>2];k[fa+8>>2]=k[D+8>>2];e=k[E+(e<<5)+28>>2]|0;k[W>>2]=X;aa=a-aa|0;if((1-d-$+((aa|0)==0?0:(aa<<5)+-1|0)|0)>>>0>255){gb(k[a+-4>>2]|0);k[T>>2]=(k[T>>2]|0)+-4}k[ia>>2]=m;k[R>>2]=n;k[S>>2]=o;k[ea>>2]=k[fa>>2];k[ea+4>>2]=k[fa+4>>2];k[ea+8>>2]=k[fa+8>>2];b=(e|0)==2?0:e+1|0;g=ea+(b<<2)|0;h=k[g>>2]|0;d=k[Z>>2]|0;E=d-h|0;do if(!E){if((F|0)>0)d=0;else break;do{e=k[P>>2]|0;if((e|0)==(k[Q>>2]|0))md(c,ia);else{k[e>>2]=k[ia>>2];k[e+4>>2]=k[R>>2];k[e+8>>2]=k[S>>2];k[P>>2]=e+12}d=d+1|0}while((d|0)<(F|0))}else{if(!F){s=329;break i}if(F>>>0>=3){k[ca>>2]=m;k[K>>2]=n;k[M>>2]=o;f=ca+(b<<2)|0;k[f>>2]=(k[f>>2]|0)+(1<>2]=0;de(Y,f,da);f=(F>>>1)-(k[da>>2]|0)|0;e=F-f|0;if((f|0)==(e|0)){j=f;q=f}else{aa=k[N>>2]|0;d=k[O>>2]|0;a=(k[d>>2]&1<<31-aa|0)!=0;aa=aa+1|0;k[N>>2]=aa;if((aa|0)==32){k[O>>2]=d+4;k[N>>2]=0}j=a?f:e;q=a?e:f}k[g>>2]=h+1;if(j|0){k[ga>>2]=k[ea>>2];k[ga+4>>2]=k[ea+4>>2];k[ga+8>>2]=k[ea+8>>2];f=k[T>>2]|0;a=k[U>>2]|0;aa=f-a|0;d=k[V>>2]|0;e=k[W>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(e+d|0)){db(ha);d=k[V>>2]|0;e=k[W>>2]|0;f=k[T>>2]|0;a=k[U>>2]|0}d=e+d|0;if((f|0)==(a|0))d=0;else d=(k[a+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=j;k[d+4>>2]=m;k[d+8>>2]=n;k[d+12>>2]=o;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=b;k[W>>2]=(k[W>>2]|0)+1}if(q|0){k[ga>>2]=k[ea>>2];k[ga+4>>2]=k[ea+4>>2];k[ga+8>>2]=k[ea+8>>2];g=k[ca>>2]|0;h=k[K>>2]|0;j=k[M>>2]|0;f=k[T>>2]|0;a=k[U>>2]|0;aa=f-a|0;d=k[V>>2]|0;e=k[W>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(e+d|0)){db(ha);d=k[V>>2]|0;e=k[W>>2]|0;f=k[T>>2]|0;a=k[U>>2]|0}d=e+d|0;if((f|0)==(a|0))d=0;else d=(k[a+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=q;k[d+4>>2]=g;k[d+8>>2]=h;k[d+12>>2]=j;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=b;k[W>>2]=(k[W>>2]|0)+1}break}o=(b|0)==2?0:b+1|0;s=(o|0)==2?0:o+1|0;D=d-(k[ea+(o<<2)>>2]|0)|0;z=d-(k[ea+(s<<2)>>2]|0)|0;A=ca+(b<<2)|0;B=(E|0)<33;C=(E|0)>0;m=ia+(b<<2)|0;n=(D|0)==0;h=ca+(o<<2)|0;o=ia+(o<<2)|0;q=(z|0)==0;j=ca+(s<<2)|0;b=ia+(s<<2)|0;s=(z|0)<33;t=(z|0)>0;u=32-z|0;v=(D|0)<33;w=(D|0)>0;x=32-D|0;y=32-E|0;g=0;do{k[ca>>2]=0;k[ca+4>>2]=0;k[ca+8>>2]=0;if(!B){s=335;break i}if(!C){s=337;break i}a=k[G>>2]|0;d=32-a|0;f=k[H>>2]|0;e=k[f>>2]<(d|0)){aa=E-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;$=32-aa|0;d=(k[f>>2]|0)>>>$|e>>>($-d|0);k[A>>2]=d;e=aa}else{d=e>>>y;k[A>>2]=d;e=a+E|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[A>>2]=d|k[m>>2];do if(n)d=k[h>>2]|0;else{if(!v){s=335;break i}if(!w){s=337;break i}d=32-e|0;a=k[f>>2]<(d|0)){e=D-d|0;k[G>>2]=e;f=f+4|0;k[H>>2]=f;aa=32-e|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[h>>2]=d;break}d=a>>>x;k[h>>2]=d;e=e+D|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[h>>2]=d|k[o>>2];do if(q)d=k[j>>2]|0;else{if(!s){s=335;break i}if(!t){s=337;break i}d=32-e|0;a=k[f>>2]<(d|0)){aa=z-d|0;k[G>>2]=aa;$=f+4|0;k[H>>2]=$;aa=32-aa|0;d=(k[$>>2]|0)>>>aa|a>>>(aa-d|0);k[j>>2]=d;break}d=a>>>u;k[j>>2]=d;aa=e+z|0;k[G>>2]=aa;if((aa|0)!=32)break;k[H>>2]=f+4;k[G>>2]=0}while(0);k[j>>2]=d|k[b>>2];d=k[P>>2]|0;if((d|0)==(k[Q>>2]|0))md(c,ca);else{k[d>>2]=k[ca>>2];k[d+4>>2]=k[I>>2];k[d+8>>2]=k[J>>2];k[P>>2]=d+12}g=g+1|0}while(g>>>0>>0)}while(0);d=k[W>>2]|0;if(!d)break h;a=k[T>>2]|0}if((s|0)==329)Ba(9865,9903,231,9973);else if((s|0)==335)Ba(9986,10010,111,10037);else if((s|0)==337)Ba(10066,10010,112,10037)}while(0);kd(ha)}a=k[Z+64>>2]|0;f=Z+68|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[Z+80>>2]=0;k[Z+76>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[Z+44>>2]|0;f=Z+48|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[Z+60>>2]=0;k[Z+56>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[Z+24>>2]|0;f=Z+28|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[Z+40>>2]=0;k[Z+36>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}break a}case 4:{Nd(c,e);k[ia>>2]=0;i[ia+20>>0]=0;i[ia+36>>0]=0;i[ia+52>>0]=0;i[ia+68>>0]=0;i[ia+84>>0]=0;i[ia+100>>0]=0;i[ia+116>>0]=0;i[ia+132>>0]=0;i[ia+148>>0]=0;i[ia+164>>0]=0;i[ia+180>>0]=0;i[ia+196>>0]=0;i[ia+212>>0]=0;i[ia+228>>0]=0;i[ia+244>>0]=0;i[ia+260>>0]=0;i[ia+276>>0]=0;i[ia+292>>0]=0;i[ia+308>>0]=0;i[ia+324>>0]=0;i[ia+340>>0]=0;i[ia+356>>0]=0;i[ia+372>>0]=0;i[ia+388>>0]=0;i[ia+404>>0]=0;i[ia+420>>0]=0;i[ia+436>>0]=0;i[ia+452>>0]=0;i[ia+468>>0]=0;i[ia+484>>0]=0;i[ia+500>>0]=0;i[ia+516>>0]=0;i[ia+532>>0]=0;j=ia+536|0;m=ia+556|0;n=ia+576|0;d=j;e=d+60|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;d=q;e=k[d>>2]|0;d=k[d+4>>2]|0;a=Yf(e|0,d|0,4,0)|0;f=L;if(!((h|0)<(f|0)|(h|0)==(f|0)&g>>>0>>0)){e=(k[b>>2]|0)+e|0;k[ia>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=q;k[e>>2]=a;k[e+4>>2]=f;e=a;d=f}f=ia+4|0;d=Yf(e|0,d|0,4,0)|0;a=L;if(!(!((h|0)<(a|0)|(h|0)==(a|0)&g>>>0>>0)?($=(k[b>>2]|0)+e|0,$=l[$>>0]|l[$+1>>0]<<8|l[$+2>>0]<<16|l[$+3>>0]<<24,k[f>>2]=$,Z=q,k[Z>>2]=d,k[Z+4>>2]=a,!($|0)):0)){d=0;s=404}j:do if((s|0)==404){while(1){if(!(Dc(ia+8+(d<<4)|0,b)|0))break j;d=d+1|0;if((d|0)>=32)break;else s=404}if(((Dc(ia+520|0,b)|0?Oc(j,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){a=k[f>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;R=ea+4|0;S=ea+8|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;T=ha+8|0;U=ha+4|0;V=ha+16|0;W=ha+20|0;db(ha);d=k[U>>2]|0;f=k[T>>2]|0;e=(k[W>>2]|0)+(k[V>>2]|0)|0;if((f|0)==(d|0))d=0;else d=(k[d+(e>>>7<<2)>>2]|0)+((e&127)<<5)|0;k[d>>2]=a;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;$=d+16|0;k[$>>2]=k[aa>>2];k[$+4>>2]=k[aa+4>>2];k[$+8>>2]=k[aa+8>>2];k[d+28>>2]=0;d=(k[W>>2]|0)+1|0;k[W>>2]=d;k:do if(d|0){G=ia+552|0;H=ia+548|0;I=ca+4|0;J=ca+8|0;K=ca+4|0;M=ca+8|0;N=ia+592|0;O=ia+588|0;P=c+4|0;Q=c+8|0;e=f;l:while(1){$=k[V>>2]|0;Z=d+-1|0;a=Z+$|0;aa=k[U>>2]|0;Y=k[aa+(a>>>7<<2)>>2]|0;a=a&127;F=k[Y+(a<<5)>>2]|0;q=k[Y+(a<<5)+4>>2]|0;b=k[Y+(a<<5)+8>>2]|0;s=k[Y+(a<<5)+12>>2]|0;X=Y+(a<<5)+16|0;k[fa>>2]=k[X>>2];k[fa+4>>2]=k[X+4>>2];k[fa+8>>2]=k[X+8>>2];a=k[Y+(a<<5)+28>>2]|0;k[W>>2]=Z;aa=e-aa|0;if((1-d-$+((aa|0)==0?0:(aa<<5)+-1|0)|0)>>>0>255){gb(k[e+-4>>2]|0);e=(k[T>>2]|0)+-4|0;k[T>>2]=e}k[ea>>2]=q;k[R>>2]=b;k[S>>2]=s;k[da>>2]=k[fa>>2];k[da+4>>2]=k[fa+4>>2];k[da+8>>2]=k[fa+8>>2];t=(a|0)==2?0:a+1|0;m=da+(t<<2)|0;n=k[m>>2]|0;d=k[ia>>2]|0;E=d-n|0;do if(!E){if((F|0)>0)d=0;else break;do{e=k[P>>2]|0;if((e|0)==(k[Q>>2]|0))md(c,ea);else{k[e>>2]=k[ea>>2];k[e+4>>2]=k[R>>2];k[e+8>>2]=k[S>>2];k[P>>2]=e+12}d=d+1|0}while((d|0)<(F|0))}else{if(!F){s=422;break l}if(F>>>0>=3){k[ca>>2]=q;k[K>>2]=b;k[M>>2]=s;j=ca+(t<<2)|0;k[j>>2]=(k[j>>2]|0)+(1<>0]|0;g=ia+8+(h<<4)+8|0;a=k[g>>2]|0;if(a>>>0<4096){$=ia+8+(h<<4)+4|0;aa=(k[$>>2]|0)+-1|0;k[$>>2]=aa;a=l[(k[ia+8+(h<<4)>>2]|0)+aa>>0]|0|a<<8;k[g>>2]=a}Y=a&255;Z=0-f&255;$=_(a>>>8,Z)|0;aa=Y>>>0>>0;k[g>>2]=aa?$+Y|0:a-Z-$|0;d=aa&1|d<<1;h=h+1|0}while((h|0)!=(j|0))}g=(F>>>1)-d|0;a=F-g|0;if((g|0)==(a|0)){h=g;o=g}else{aa=k[N>>2]|0;d=k[O>>2]|0;f=(k[d>>2]&1<<31-aa|0)!=0;aa=aa+1|0;k[N>>2]=aa;if((aa|0)==32){k[O>>2]=d+4;k[N>>2]=0}h=f?g:a;o=f?a:g}k[m>>2]=n+1;if(h){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];f=k[U>>2]|0;aa=e-f|0;d=k[V>>2]|0;a=k[W>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(a+d|0)){db(ha);e=k[T>>2]|0;d=k[V>>2]|0;a=k[W>>2]|0;g=e;f=k[U>>2]|0}else g=e;d=a+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=h;k[d+4>>2]=q;k[d+8>>2]=b;k[d+12>>2]=s;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=t;k[W>>2]=(k[W>>2]|0)+1}if(o|0){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];g=k[ca>>2]|0;h=k[K>>2]|0;j=k[M>>2]|0;f=k[U>>2]|0;aa=e-f|0;d=k[V>>2]|0;a=k[W>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(a+d|0)){db(ha);d=k[V>>2]|0;a=k[W>>2]|0;e=k[T>>2]|0;f=k[U>>2]|0}d=a+d|0;if((e|0)==(f|0))d=0;else d=(k[f+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=o;k[d+4>>2]=g;k[d+8>>2]=h;k[d+12>>2]=j;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=t;k[W>>2]=(k[W>>2]|0)+1}break}o=(t|0)==2?0:t+1|0;b=(o|0)==2?0:o+1|0;D=d-(k[da+(o<<2)>>2]|0)|0;z=d-(k[da+(b<<2)>>2]|0)|0;A=ca+(t<<2)|0;B=(E|0)<33;C=(E|0)>0;m=ea+(t<<2)|0;n=(D|0)==0;h=ca+(o<<2)|0;o=ea+(o<<2)|0;q=(z|0)==0;j=ca+(b<<2)|0;b=ea+(b<<2)|0;s=(z|0)<33;t=(z|0)>0;u=32-z|0;v=(D|0)<33;w=(D|0)>0;x=32-D|0;y=32-E|0;g=0;do{k[ca>>2]=0;k[ca+4>>2]=0;k[ca+8>>2]=0;if(!B){s=428;break l}if(!C){s=430;break l}a=k[G>>2]|0;d=32-a|0;f=k[H>>2]|0;e=k[f>>2]<(d|0)){aa=E-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;$=32-aa|0;d=(k[f>>2]|0)>>>$|e>>>($-d|0);k[A>>2]=d;e=aa}else{d=e>>>y;k[A>>2]=d;e=a+E|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[A>>2]=d|k[m>>2];do if(n)d=k[h>>2]|0;else{if(!v){s=428;break l}if(!w){s=430;break l}d=32-e|0;a=k[f>>2]<(d|0)){e=D-d|0;k[G>>2]=e;f=f+4|0;k[H>>2]=f;aa=32-e|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[h>>2]=d;break}d=a>>>x;k[h>>2]=d;e=e+D|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[h>>2]=d|k[o>>2];do if(q)d=k[j>>2]|0;else{if(!s){s=428;break l}if(!t){s=430;break l}d=32-e|0;a=k[f>>2]<(d|0)){aa=z-d|0;k[G>>2]=aa;$=f+4|0;k[H>>2]=$;aa=32-aa|0;d=(k[$>>2]|0)>>>aa|a>>>(aa-d|0);k[j>>2]=d;break}d=a>>>u;k[j>>2]=d;aa=e+z|0;k[G>>2]=aa;if((aa|0)!=32)break;k[H>>2]=f+4;k[G>>2]=0}while(0);k[j>>2]=d|k[b>>2];d=k[P>>2]|0;if((d|0)==(k[Q>>2]|0))md(c,ca);else{k[d>>2]=k[ca>>2];k[d+4>>2]=k[I>>2];k[d+8>>2]=k[J>>2];k[P>>2]=d+12}g=g+1|0}while(g>>>0>>0)}while(0);d=k[W>>2]|0;if(!d)break k;e=k[T>>2]|0}if((s|0)==422)Ba(9865,9903,231,9973);else if((s|0)==428)Ba(9986,10010,111,10037);else if((s|0)==430)Ba(10066,10010,112,10037)}while(0);kd(ha)}}while(0);a=k[ia+576>>2]|0;f=ia+580|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+592>>2]=0;k[ia+588>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+556>>2]|0;f=ia+560|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+572>>2]=0;k[ia+568>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+536>>2]|0;f=ia+540|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+552>>2]=0;k[ia+548>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}break a}case 5:{Nd(c,e);k[ia>>2]=0;i[ia+20>>0]=0;i[ia+36>>0]=0;i[ia+52>>0]=0;i[ia+68>>0]=0;i[ia+84>>0]=0;i[ia+100>>0]=0;i[ia+116>>0]=0;i[ia+132>>0]=0;i[ia+148>>0]=0;i[ia+164>>0]=0;i[ia+180>>0]=0;i[ia+196>>0]=0;i[ia+212>>0]=0;i[ia+228>>0]=0;i[ia+244>>0]=0;i[ia+260>>0]=0;i[ia+276>>0]=0;i[ia+292>>0]=0;i[ia+308>>0]=0;i[ia+324>>0]=0;i[ia+340>>0]=0;i[ia+356>>0]=0;i[ia+372>>0]=0;i[ia+388>>0]=0;i[ia+404>>0]=0;i[ia+420>>0]=0;i[ia+436>>0]=0;i[ia+452>>0]=0;i[ia+468>>0]=0;i[ia+484>>0]=0;i[ia+500>>0]=0;i[ia+516>>0]=0;i[ia+532>>0]=0;j=ia+536|0;m=ia+556|0;n=ia+576|0;d=j;e=d+60|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;d=q;e=k[d>>2]|0;d=k[d+4>>2]|0;a=Yf(e|0,d|0,4,0)|0;f=L;if(!((h|0)<(f|0)|(h|0)==(f|0)&g>>>0>>0)){e=(k[b>>2]|0)+e|0;k[ia>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=q;k[e>>2]=a;k[e+4>>2]=f;e=a;d=f}f=ia+4|0;d=Yf(e|0,d|0,4,0)|0;a=L;if(!(!((h|0)<(a|0)|(h|0)==(a|0)&g>>>0>>0)?($=(k[b>>2]|0)+e|0,$=l[$>>0]|l[$+1>>0]<<8|l[$+2>>0]<<16|l[$+3>>0]<<24,k[f>>2]=$,Z=q,k[Z>>2]=d,k[Z+4>>2]=a,!($|0)):0)){d=0;s=501}m:do if((s|0)==501){while(1){if(!(Dc(ia+8+(d<<4)|0,b)|0))break m;d=d+1|0;if((d|0)>=32)break;else s=501}if(((Dc(ia+520|0,b)|0?Oc(j,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){a=k[f>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;R=ea+4|0;S=ea+8|0;k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;k[ha+12>>2]=0;k[ha+16>>2]=0;k[ha+20>>2]=0;T=ha+8|0;U=ha+4|0;V=ha+16|0;W=ha+20|0;db(ha);d=k[U>>2]|0;f=k[T>>2]|0;e=(k[W>>2]|0)+(k[V>>2]|0)|0;if((f|0)==(d|0))d=0;else d=(k[d+(e>>>7<<2)>>2]|0)+((e&127)<<5)|0;k[d>>2]=a;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;$=d+16|0;k[$>>2]=k[aa>>2];k[$+4>>2]=k[aa+4>>2];k[$+8>>2]=k[aa+8>>2];k[d+28>>2]=0;d=(k[W>>2]|0)+1|0;k[W>>2]=d;n:do if(d|0){G=ia+552|0;H=ia+548|0;I=ca+4|0;J=ca+8|0;K=ca+4|0;M=ca+8|0;N=ia+592|0;O=ia+588|0;P=c+4|0;Q=c+8|0;e=f;o:while(1){$=k[V>>2]|0;Z=d+-1|0;a=Z+$|0;aa=k[U>>2]|0;Y=k[aa+(a>>>7<<2)>>2]|0;a=a&127;F=k[Y+(a<<5)>>2]|0;q=k[Y+(a<<5)+4>>2]|0;b=k[Y+(a<<5)+8>>2]|0;s=k[Y+(a<<5)+12>>2]|0;X=Y+(a<<5)+16|0;k[fa>>2]=k[X>>2];k[fa+4>>2]=k[X+4>>2];k[fa+8>>2]=k[X+8>>2];a=k[Y+(a<<5)+28>>2]|0;k[W>>2]=Z;aa=e-aa|0;if((1-d-$+((aa|0)==0?0:(aa<<5)+-1|0)|0)>>>0>255){gb(k[e+-4>>2]|0);e=(k[T>>2]|0)+-4|0;k[T>>2]=e}k[ea>>2]=q;k[R>>2]=b;k[S>>2]=s;k[da>>2]=k[fa>>2];k[da+4>>2]=k[fa+4>>2];k[da+8>>2]=k[fa+8>>2];t=(a|0)==2?0:a+1|0;m=da+(t<<2)|0;n=k[m>>2]|0;d=k[ia>>2]|0;E=d-n|0;do if(!E){if((F|0)>0)d=0;else break;do{e=k[P>>2]|0;if((e|0)==(k[Q>>2]|0))md(c,ea);else{k[e>>2]=k[ea>>2];k[e+4>>2]=k[R>>2];k[e+8>>2]=k[S>>2];k[P>>2]=e+12}d=d+1|0}while((d|0)<(F|0))}else{if(!F){s=519;break o}if(F>>>0>=3){k[ca>>2]=q;k[K>>2]=b;k[M>>2]=s;j=ca+(t<<2)|0;k[j>>2]=(k[j>>2]|0)+(1<>0]|0;g=ia+8+(h<<4)+8|0;a=k[g>>2]|0;if(a>>>0<4096){$=ia+8+(h<<4)+4|0;aa=(k[$>>2]|0)+-1|0;k[$>>2]=aa;a=l[(k[ia+8+(h<<4)>>2]|0)+aa>>0]|0|a<<8;k[g>>2]=a}Y=a&255;Z=0-f&255;$=_(a>>>8,Z)|0;aa=Y>>>0>>0;k[g>>2]=aa?$+Y|0:a-Z-$|0;d=aa&1|d<<1;h=h+1|0}while((h|0)!=(j|0))}g=(F>>>1)-d|0;a=F-g|0;if((g|0)==(a|0)){h=g;o=g}else{aa=k[N>>2]|0;d=k[O>>2]|0;f=(k[d>>2]&1<<31-aa|0)!=0;aa=aa+1|0;k[N>>2]=aa;if((aa|0)==32){k[O>>2]=d+4;k[N>>2]=0}h=f?g:a;o=f?a:g}k[m>>2]=n+1;if(h){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];f=k[U>>2]|0;aa=e-f|0;d=k[V>>2]|0;a=k[W>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(a+d|0)){db(ha);e=k[T>>2]|0;d=k[V>>2]|0;a=k[W>>2]|0;g=e;f=k[U>>2]|0}else g=e;d=a+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=h;k[d+4>>2]=q;k[d+8>>2]=b;k[d+12>>2]=s;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=t;k[W>>2]=(k[W>>2]|0)+1}if(o|0){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];g=k[ca>>2]|0;h=k[K>>2]|0;j=k[M>>2]|0;f=k[U>>2]|0;aa=e-f|0;d=k[V>>2]|0;a=k[W>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(a+d|0)){db(ha);d=k[V>>2]|0;a=k[W>>2]|0;e=k[T>>2]|0;f=k[U>>2]|0}d=a+d|0;if((e|0)==(f|0))d=0;else d=(k[f+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=o;k[d+4>>2]=g;k[d+8>>2]=h;k[d+12>>2]=j;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=t;k[W>>2]=(k[W>>2]|0)+1}break}o=(t|0)==2?0:t+1|0;b=(o|0)==2?0:o+1|0;D=d-(k[da+(o<<2)>>2]|0)|0;z=d-(k[da+(b<<2)>>2]|0)|0;A=ca+(t<<2)|0;B=(E|0)<33;C=(E|0)>0;m=ea+(t<<2)|0;n=(D|0)==0;h=ca+(o<<2)|0;o=ea+(o<<2)|0;q=(z|0)==0;j=ca+(b<<2)|0;b=ea+(b<<2)|0;s=(z|0)<33;t=(z|0)>0;u=32-z|0;v=(D|0)<33;w=(D|0)>0;x=32-D|0;y=32-E|0;g=0;do{k[ca>>2]=0;k[ca+4>>2]=0;k[ca+8>>2]=0;if(!B){s=525;break o}if(!C){s=527;break o}a=k[G>>2]|0;d=32-a|0;f=k[H>>2]|0;e=k[f>>2]<(d|0)){aa=E-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;$=32-aa|0;d=(k[f>>2]|0)>>>$|e>>>($-d|0);k[A>>2]=d;e=aa}else{d=e>>>y;k[A>>2]=d;e=a+E|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[A>>2]=d|k[m>>2];do if(n)d=k[h>>2]|0;else{if(!v){s=525;break o}if(!w){s=527;break o}d=32-e|0;a=k[f>>2]<(d|0)){e=D-d|0;k[G>>2]=e;f=f+4|0;k[H>>2]=f;aa=32-e|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[h>>2]=d;break}d=a>>>x;k[h>>2]=d;e=e+D|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[h>>2]=d|k[o>>2];do if(q)d=k[j>>2]|0;else{if(!s){s=525;break o}if(!t){s=527;break o}d=32-e|0;a=k[f>>2]<(d|0)){aa=z-d|0;k[G>>2]=aa;$=f+4|0;k[H>>2]=$;aa=32-aa|0;d=(k[$>>2]|0)>>>aa|a>>>(aa-d|0);k[j>>2]=d;break}d=a>>>u;k[j>>2]=d;aa=e+z|0;k[G>>2]=aa;if((aa|0)!=32)break;k[H>>2]=f+4;k[G>>2]=0}while(0);k[j>>2]=d|k[b>>2];d=k[P>>2]|0;if((d|0)==(k[Q>>2]|0))md(c,ca);else{k[d>>2]=k[ca>>2];k[d+4>>2]=k[I>>2];k[d+8>>2]=k[J>>2];k[P>>2]=d+12}g=g+1|0}while(g>>>0>>0)}while(0);d=k[W>>2]|0;if(!d)break n;e=k[T>>2]|0}if((s|0)==519)Ba(9865,9903,231,9973);else if((s|0)==525)Ba(9986,10010,111,10037);else if((s|0)==527)Ba(10066,10010,112,10037)}while(0);kd(ha)}}while(0);a=k[ia+576>>2]|0;f=ia+580|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+592>>2]=0;k[ia+588>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+556>>2]|0;f=ia+560|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+572>>2]=0;k[ia+568>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+536>>2]|0;f=ia+540|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+552>>2]=0;k[ia+548>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}break a}case 6:{Nd(c,e);k[ia>>2]=0;i[ia+20>>0]=0;i[ia+36>>0]=0;i[ia+52>>0]=0;i[ia+68>>0]=0;i[ia+84>>0]=0;i[ia+100>>0]=0;i[ia+116>>0]=0;i[ia+132>>0]=0;i[ia+148>>0]=0;i[ia+164>>0]=0;i[ia+180>>0]=0;i[ia+196>>0]=0;i[ia+212>>0]=0;i[ia+228>>0]=0;i[ia+244>>0]=0;i[ia+260>>0]=0;i[ia+276>>0]=0;i[ia+292>>0]=0;i[ia+308>>0]=0;i[ia+324>>0]=0;i[ia+340>>0]=0;i[ia+356>>0]=0;i[ia+372>>0]=0;i[ia+388>>0]=0;i[ia+404>>0]=0;i[ia+420>>0]=0;i[ia+436>>0]=0;i[ia+452>>0]=0;i[ia+468>>0]=0;i[ia+484>>0]=0;i[ia+500>>0]=0;i[ia+516>>0]=0;i[ia+532>>0]=0;j=ia+536|0;m=ia+556|0;n=ia+576|0;d=j;e=d+60|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;d=q;e=k[d>>2]|0;d=k[d+4>>2]|0;a=Yf(e|0,d|0,4,0)|0;f=L;if(!((h|0)<(f|0)|(h|0)==(f|0)&g>>>0>>0)){e=(k[b>>2]|0)+e|0;k[ia>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=q;k[e>>2]=a;k[e+4>>2]=f;e=a;d=f}f=ia+4|0;d=Yf(e|0,d|0,4,0)|0;a=L;if(!(!((h|0)<(a|0)|(h|0)==(a|0)&g>>>0>>0)?($=(k[b>>2]|0)+e|0,$=l[$>>0]|l[$+1>>0]<<8|l[$+2>>0]<<16|l[$+3>>0]<<24,k[f>>2]=$,Z=q,k[Z>>2]=d,k[Z+4>>2]=a,!($|0)):0)){d=0;s=598}p:do if((s|0)==598){while(1){if(!(Dc(ia+8+(d<<4)|0,b)|0))break p;d=d+1|0;if((d|0)>=32)break;else s=598}if(((Dc(ia+520|0,b)|0?Oc(j,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){a=k[f>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;V=ea+4|0;W=ea+8|0;k[ca>>2]=0;k[ca+4>>2]=0;k[ca+8>>2]=0;k[ca+12>>2]=0;k[ca+16>>2]=0;k[ca+20>>2]=0;X=ca+8|0;Y=ca+4|0;Z=ca+16|0;$=ca+20|0;db(ca);d=k[Y>>2]|0;f=k[X>>2]|0;e=(k[$>>2]|0)+(k[Z>>2]|0)|0;if((f|0)==(d|0))d=0;else d=(k[d+(e>>>7<<2)>>2]|0)+((e&127)<<5)|0;k[d>>2]=a;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;U=d+16|0;k[U>>2]=k[aa>>2];k[U+4>>2]=k[aa+4>>2];k[U+8>>2]=k[aa+8>>2];k[d+28>>2]=0;d=(k[$>>2]|0)+1|0;k[$>>2]=d;q:do if(d|0){G=ia+552|0;H=ia+548|0;I=ha+4|0;J=ha+8|0;K=ha+4|0;M=ha+8|0;N=ia+592|0;O=ia+588|0;P=ha+4|0;Q=ha+8|0;R=c+4|0;S=c+8|0;T=ia+572|0;U=ia+568|0;e=f;r:while(1){E=k[Z>>2]|0;D=d+-1|0;C=D+E|0;aa=k[Y>>2]|0;B=k[aa+(C>>>7<<2)>>2]|0;C=C&127;F=k[B+(C<<5)>>2]|0;q=k[B+(C<<5)+4>>2]|0;b=k[B+(C<<5)+8>>2]|0;s=k[B+(C<<5)+12>>2]|0;C=B+(C<<5)+16|0;k[fa>>2]=k[C>>2];k[fa+4>>2]=k[C+4>>2];k[fa+8>>2]=k[C+8>>2];k[$>>2]=D;aa=e-aa|0;if((1-d-E+((aa|0)==0?0:(aa<<5)+-1|0)|0)>>>0>255){gb(k[e+-4>>2]|0);e=(k[X>>2]|0)+-4|0;k[X>>2]=e}k[ea>>2]=q;k[V>>2]=b;k[W>>2]=s;k[da>>2]=k[fa>>2];k[da+4>>2]=k[fa+4>>2];k[da+8>>2]=k[fa+8>>2];k[ha>>2]=k[fa>>2];k[ha+4>>2]=k[fa+4>>2];k[ha+8>>2]=k[fa+8>>2];do if(F>>>0<64){t=(k[ha>>2]|0)>>>0>(k[P>>2]|0)>>>0&1;t=(k[ha+(t<<2)>>2]|0)>>>0>(k[Q>>2]|0)>>>0?2:t}else{f=k[T>>2]|0;d=32-f|0;g=k[U>>2]|0;a=k[g>>2]<>2]=t;aa=g+4|0;k[U>>2]=aa;t=32-t|0;t=(k[aa>>2]|0)>>>t|a>>>(t-d|0);break}d=a>>>28;aa=f+4|0;k[T>>2]=aa;if((aa|0)!=32){t=d;break}k[U>>2]=g+4;k[T>>2]=0;t=d}while(0);m=da+(t<<2)|0;n=k[m>>2]|0;d=k[ia>>2]|0;E=d-n|0;do if(!E){if((F|0)>0)d=0;else break;do{e=k[R>>2]|0;if((e|0)==(k[S>>2]|0))md(c,ea);else{k[e>>2]=k[ea>>2];k[e+4>>2]=k[V>>2];k[e+8>>2]=k[W>>2];k[R>>2]=e+12}d=d+1|0}while((d|0)<(F|0))}else{if(!F){s=622;break r}if(F>>>0>=3){k[ha>>2]=q;k[K>>2]=b;k[M>>2]=s;j=ha+(t<<2)|0;k[j>>2]=(k[j>>2]|0)+(1<>0]|0;g=ia+8+(h<<4)+8|0;a=k[g>>2]|0;if(a>>>0<4096){E=ia+8+(h<<4)+4|0;aa=(k[E>>2]|0)+-1|0;k[E>>2]=aa;a=l[(k[ia+8+(h<<4)>>2]|0)+aa>>0]|0|a<<8;k[g>>2]=a}C=a&255;D=0-f&255;E=_(a>>>8,D)|0;aa=C>>>0>>0;k[g>>2]=aa?E+C|0:a-D-E|0;d=aa&1|d<<1;h=h+1|0}while((h|0)!=(j|0))}g=(F>>>1)-d|0;a=F-g|0;if((g|0)==(a|0)){h=g;o=g}else{aa=k[N>>2]|0;d=k[O>>2]|0;f=(k[d>>2]&1<<31-aa|0)!=0;aa=aa+1|0;k[N>>2]=aa;if((aa|0)==32){k[O>>2]=d+4;k[N>>2]=0}h=f?g:a;o=f?a:g}k[m>>2]=n+1;if(h){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];f=k[Y>>2]|0;aa=e-f|0;d=k[Z>>2]|0;a=k[$>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(a+d|0)){db(ca);e=k[X>>2]|0;d=k[Z>>2]|0;a=k[$>>2]|0;g=e;f=k[Y>>2]|0}else g=e;d=a+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=h;k[d+4>>2]=q;k[d+8>>2]=b;k[d+12>>2]=s;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=t;k[$>>2]=(k[$>>2]|0)+1}if(o|0){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];g=k[ha>>2]|0;h=k[K>>2]|0;j=k[M>>2]|0;f=k[Y>>2]|0;aa=e-f|0;d=k[Z>>2]|0;a=k[$>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(a+d|0)){db(ca);d=k[Z>>2]|0;a=k[$>>2]|0;e=k[X>>2]|0;f=k[Y>>2]|0}d=a+d|0;if((e|0)==(f|0))d=0;else d=(k[f+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=o;k[d+4>>2]=g;k[d+8>>2]=h;k[d+12>>2]=j;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=t;k[$>>2]=(k[$>>2]|0)+1}break}o=(t|0)==2?0:t+1|0;b=(o|0)==2?0:o+1|0;D=d-(k[da+(o<<2)>>2]|0)|0;z=d-(k[da+(b<<2)>>2]|0)|0;A=ha+(t<<2)|0;B=(E|0)<33;C=(E|0)>0;m=ea+(t<<2)|0;n=(D|0)==0;h=ha+(o<<2)|0;o=ea+(o<<2)|0;q=(z|0)==0;j=ha+(b<<2)|0;b=ea+(b<<2)|0;s=(z|0)<33;t=(z|0)>0;u=32-z|0;v=(D|0)<33;w=(D|0)>0;x=32-D|0;y=32-E|0;g=0;do{k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;if(!B){s=628;break r}if(!C){s=630;break r}a=k[G>>2]|0;d=32-a|0;f=k[H>>2]|0;e=k[f>>2]<(d|0)){aa=E-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;a=32-aa|0;d=(k[f>>2]|0)>>>a|e>>>(a-d|0);k[A>>2]=d;e=aa}else{d=e>>>y;k[A>>2]=d;e=a+E|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[A>>2]=d|k[m>>2];do if(n)d=k[h>>2]|0;else{if(!v){s=628;break r}if(!w){s=630;break r}d=32-e|0;a=k[f>>2]<(d|0)){e=D-d|0;k[G>>2]=e;f=f+4|0;k[H>>2]=f;aa=32-e|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[h>>2]=d;break}d=a>>>x;k[h>>2]=d;e=e+D|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[h>>2]=d|k[o>>2];do if(q)d=k[j>>2]|0;else{if(!s){s=628;break r}if(!t){s=630;break r}d=32-e|0;a=k[f>>2]<(d|0)){aa=z-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;aa=32-aa|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[j>>2]=d;break}d=a>>>u;k[j>>2]=d;aa=e+z|0;k[G>>2]=aa;if((aa|0)!=32)break;k[H>>2]=f+4;k[G>>2]=0}while(0);k[j>>2]=d|k[b>>2];d=k[R>>2]|0;if((d|0)==(k[S>>2]|0))md(c,ha);else{k[d>>2]=k[ha>>2];k[d+4>>2]=k[I>>2];k[d+8>>2]=k[J>>2];k[R>>2]=d+12}g=g+1|0}while(g>>>0>>0)}while(0);d=k[$>>2]|0;if(!d)break q;e=k[X>>2]|0}if((s|0)==622)Ba(9865,9903,231,9973);else if((s|0)==628)Ba(9986,10010,111,10037);else if((s|0)==630)Ba(10066,10010,112,10037)}while(0);kd(ca)}}while(0);a=k[ia+576>>2]|0;f=ia+580|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+592>>2]=0;k[ia+588>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+556>>2]|0;f=ia+560|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+572>>2]=0;k[ia+568>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+536>>2]|0;f=ia+540|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+552>>2]=0;k[ia+548>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}break a}case 7:{Nd(c,e);k[ia>>2]=0;i[ia+20>>0]=0;i[ia+36>>0]=0;i[ia+52>>0]=0;i[ia+68>>0]=0;i[ia+84>>0]=0;i[ia+100>>0]=0;i[ia+116>>0]=0;i[ia+132>>0]=0;i[ia+148>>0]=0;i[ia+164>>0]=0;i[ia+180>>0]=0;i[ia+196>>0]=0;i[ia+212>>0]=0;i[ia+228>>0]=0;i[ia+244>>0]=0;i[ia+260>>0]=0;i[ia+276>>0]=0;i[ia+292>>0]=0;i[ia+308>>0]=0;i[ia+324>>0]=0;i[ia+340>>0]=0;i[ia+356>>0]=0;i[ia+372>>0]=0;i[ia+388>>0]=0;i[ia+404>>0]=0;i[ia+420>>0]=0;i[ia+436>>0]=0;i[ia+452>>0]=0;i[ia+468>>0]=0;i[ia+484>>0]=0;i[ia+500>>0]=0;i[ia+516>>0]=0;i[ia+532>>0]=0;j=ia+536|0;m=ia+556|0;n=ia+576|0;d=j;e=d+60|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;d=q;e=k[d>>2]|0;d=k[d+4>>2]|0;a=Yf(e|0,d|0,4,0)|0;f=L;if(!((h|0)<(f|0)|(h|0)==(f|0)&g>>>0>>0)){e=(k[b>>2]|0)+e|0;k[ia>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=q;k[e>>2]=a;k[e+4>>2]=f;e=a;d=f}f=ia+4|0;d=Yf(e|0,d|0,4,0)|0;a=L;if(!(!((h|0)<(a|0)|(h|0)==(a|0)&g>>>0>>0)?($=(k[b>>2]|0)+e|0,$=l[$>>0]|l[$+1>>0]<<8|l[$+2>>0]<<16|l[$+3>>0]<<24,k[f>>2]=$,Z=q,k[Z>>2]=d,k[Z+4>>2]=a,!($|0)):0)){d=0;s=701}s:do if((s|0)==701){while(1){if(!(Dc(ia+8+(d<<4)|0,b)|0))break s;d=d+1|0;if((d|0)>=32)break;else s=701}if(((Dc(ia+520|0,b)|0?Oc(j,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){a=k[f>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;V=ea+4|0;W=ea+8|0;k[ca>>2]=0;k[ca+4>>2]=0;k[ca+8>>2]=0;k[ca+12>>2]=0;k[ca+16>>2]=0;k[ca+20>>2]=0;X=ca+8|0;Y=ca+4|0;Z=ca+16|0;$=ca+20|0;db(ca);d=k[Y>>2]|0;f=k[X>>2]|0;e=(k[$>>2]|0)+(k[Z>>2]|0)|0;if((f|0)==(d|0))d=0;else d=(k[d+(e>>>7<<2)>>2]|0)+((e&127)<<5)|0;k[d>>2]=a;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;U=d+16|0;k[U>>2]=k[aa>>2];k[U+4>>2]=k[aa+4>>2];k[U+8>>2]=k[aa+8>>2];k[d+28>>2]=0;d=(k[$>>2]|0)+1|0;k[$>>2]=d;t:do if(d|0){G=ia+552|0;H=ia+548|0;I=ha+4|0;J=ha+8|0;K=ha+4|0;M=ha+8|0;N=ia+592|0;O=ia+588|0;P=ha+4|0;Q=ha+8|0;R=c+4|0;S=c+8|0;T=ia+572|0;U=ia+568|0;e=f;u:while(1){E=k[Z>>2]|0;D=d+-1|0;C=D+E|0;aa=k[Y>>2]|0;B=k[aa+(C>>>7<<2)>>2]|0;C=C&127;F=k[B+(C<<5)>>2]|0;q=k[B+(C<<5)+4>>2]|0;b=k[B+(C<<5)+8>>2]|0;s=k[B+(C<<5)+12>>2]|0;C=B+(C<<5)+16|0;k[fa>>2]=k[C>>2];k[fa+4>>2]=k[C+4>>2];k[fa+8>>2]=k[C+8>>2];k[$>>2]=D;aa=e-aa|0;if((1-d-E+((aa|0)==0?0:(aa<<5)+-1|0)|0)>>>0>255){gb(k[e+-4>>2]|0);e=(k[X>>2]|0)+-4|0;k[X>>2]=e}k[ea>>2]=q;k[V>>2]=b;k[W>>2]=s;k[da>>2]=k[fa>>2];k[da+4>>2]=k[fa+4>>2];k[da+8>>2]=k[fa+8>>2];k[ha>>2]=k[fa>>2];k[ha+4>>2]=k[fa+4>>2];k[ha+8>>2]=k[fa+8>>2];do if(F>>>0<64){t=(k[ha>>2]|0)>>>0>(k[P>>2]|0)>>>0&1;t=(k[ha+(t<<2)>>2]|0)>>>0>(k[Q>>2]|0)>>>0?2:t}else{f=k[T>>2]|0;d=32-f|0;g=k[U>>2]|0;a=k[g>>2]<>2]=t;aa=g+4|0;k[U>>2]=aa;t=32-t|0;t=(k[aa>>2]|0)>>>t|a>>>(t-d|0);break}d=a>>>28;aa=f+4|0;k[T>>2]=aa;if((aa|0)!=32){t=d;break}k[U>>2]=g+4;k[T>>2]=0;t=d}while(0);m=da+(t<<2)|0;n=k[m>>2]|0;d=k[ia>>2]|0;E=d-n|0;do if(!E){if((F|0)>0)d=0;else break;do{e=k[R>>2]|0;if((e|0)==(k[S>>2]|0))md(c,ea);else{k[e>>2]=k[ea>>2];k[e+4>>2]=k[V>>2];k[e+8>>2]=k[W>>2];k[R>>2]=e+12}d=d+1|0}while((d|0)<(F|0))}else{if(!F){s=725;break u}if(F>>>0>=3){k[ha>>2]=q;k[K>>2]=b;k[M>>2]=s;j=ha+(t<<2)|0;k[j>>2]=(k[j>>2]|0)+(1<>0]|0;g=ia+8+(h<<4)+8|0;a=k[g>>2]|0;if(a>>>0<4096){E=ia+8+(h<<4)+4|0;aa=(k[E>>2]|0)+-1|0;k[E>>2]=aa;a=l[(k[ia+8+(h<<4)>>2]|0)+aa>>0]|0|a<<8;k[g>>2]=a}C=a&255;D=0-f&255;E=_(a>>>8,D)|0;aa=C>>>0>>0;k[g>>2]=aa?E+C|0:a-D-E|0;d=aa&1|d<<1;h=h+1|0}while((h|0)!=(j|0))}g=(F>>>1)-d|0;a=F-g|0;if((g|0)==(a|0)){h=g;o=g}else{aa=k[N>>2]|0;d=k[O>>2]|0;f=(k[d>>2]&1<<31-aa|0)!=0;aa=aa+1|0;k[N>>2]=aa;if((aa|0)==32){k[O>>2]=d+4;k[N>>2]=0}h=f?g:a;o=f?a:g}k[m>>2]=n+1;if(h){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];f=k[Y>>2]|0;aa=e-f|0;d=k[Z>>2]|0;a=k[$>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(a+d|0)){db(ca);e=k[X>>2]|0;d=k[Z>>2]|0;a=k[$>>2]|0;g=e;f=k[Y>>2]|0}else g=e;d=a+d|0;if((g|0)==(f|0))d=0;else d=(k[f+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=h;k[d+4>>2]=q;k[d+8>>2]=b;k[d+12>>2]=s;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=t;k[$>>2]=(k[$>>2]|0)+1}if(o|0){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];g=k[ha>>2]|0;h=k[K>>2]|0;j=k[M>>2]|0;f=k[Y>>2]|0;aa=e-f|0;d=k[Z>>2]|0;a=k[$>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(a+d|0)){db(ca);d=k[Z>>2]|0;a=k[$>>2]|0;e=k[X>>2]|0;f=k[Y>>2]|0}d=a+d|0;if((e|0)==(f|0))d=0;else d=(k[f+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=o;k[d+4>>2]=g;k[d+8>>2]=h;k[d+12>>2]=j;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=t;k[$>>2]=(k[$>>2]|0)+1}break}o=(t|0)==2?0:t+1|0;b=(o|0)==2?0:o+1|0;D=d-(k[da+(o<<2)>>2]|0)|0;z=d-(k[da+(b<<2)>>2]|0)|0;A=ha+(t<<2)|0;B=(E|0)<33;C=(E|0)>0;m=ea+(t<<2)|0;n=(D|0)==0;h=ha+(o<<2)|0;o=ea+(o<<2)|0;q=(z|0)==0;j=ha+(b<<2)|0;b=ea+(b<<2)|0;s=(z|0)<33;t=(z|0)>0;u=32-z|0;v=(D|0)<33;w=(D|0)>0;x=32-D|0;y=32-E|0;g=0;do{k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;if(!B){s=731;break u}if(!C){s=733;break u}a=k[G>>2]|0;d=32-a|0;f=k[H>>2]|0;e=k[f>>2]<(d|0)){aa=E-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;a=32-aa|0;d=(k[f>>2]|0)>>>a|e>>>(a-d|0);k[A>>2]=d;e=aa}else{d=e>>>y;k[A>>2]=d;e=a+E|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[A>>2]=d|k[m>>2];do if(n)d=k[h>>2]|0;else{if(!v){s=731;break u}if(!w){s=733;break u}d=32-e|0;a=k[f>>2]<(d|0)){e=D-d|0;k[G>>2]=e;f=f+4|0;k[H>>2]=f;aa=32-e|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[h>>2]=d;break}d=a>>>x;k[h>>2]=d;e=e+D|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[h>>2]=d|k[o>>2];do if(q)d=k[j>>2]|0;else{if(!s){s=731;break u}if(!t){s=733;break u}d=32-e|0;a=k[f>>2]<(d|0)){aa=z-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;aa=32-aa|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[j>>2]=d;break}d=a>>>u;k[j>>2]=d;aa=e+z|0;k[G>>2]=aa;if((aa|0)!=32)break;k[H>>2]=f+4;k[G>>2]=0}while(0);k[j>>2]=d|k[b>>2];d=k[R>>2]|0;if((d|0)==(k[S>>2]|0))md(c,ha);else{k[d>>2]=k[ha>>2];k[d+4>>2]=k[I>>2];k[d+8>>2]=k[J>>2];k[R>>2]=d+12}g=g+1|0}while(g>>>0>>0)}while(0);d=k[$>>2]|0;if(!d)break t;e=k[X>>2]|0}if((s|0)==725)Ba(9865,9903,231,9973);else if((s|0)==731)Ba(9986,10010,111,10037);else if((s|0)==733)Ba(10066,10010,112,10037)}while(0);kd(ca)}}while(0);a=k[ia+576>>2]|0;f=ia+580|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+592>>2]=0;k[ia+588>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+556>>2]|0;f=ia+560|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+572>>2]=0;k[ia+568>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+536>>2]|0;f=ia+540|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+552>>2]=0;k[ia+548>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}break a}case 8:{Nd(c,e);k[ia>>2]=0;p[ia+24>>3]=.5;p[ia+48>>3]=.5;p[ia+72>>3]=.5;p[ia+96>>3]=.5;p[ia+120>>3]=.5;p[ia+144>>3]=.5;p[ia+168>>3]=.5;p[ia+192>>3]=.5;p[ia+216>>3]=.5;p[ia+240>>3]=.5;p[ia+264>>3]=.5;p[ia+288>>3]=.5;p[ia+312>>3]=.5;p[ia+336>>3]=.5;p[ia+360>>3]=.5;p[ia+384>>3]=.5;p[ia+408>>3]=.5;p[ia+432>>3]=.5;p[ia+456>>3]=.5;p[ia+480>>3]=.5;p[ia+504>>3]=.5;p[ia+528>>3]=.5;p[ia+552>>3]=.5;p[ia+576>>3]=.5;p[ia+600>>3]=.5;p[ia+624>>3]=.5;p[ia+648>>3]=.5;p[ia+672>>3]=.5;p[ia+696>>3]=.5;p[ia+720>>3]=.5;p[ia+744>>3]=.5;p[ia+768>>3]=.5;p[ia+792>>3]=.5;j=ia+800|0;m=ia+820|0;n=ia+840|0;d=j;e=d+60|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;d=q;e=k[d>>2]|0;d=k[d+4>>2]|0;a=Yf(e|0,d|0,4,0)|0;f=L;if(!((h|0)<(f|0)|(h|0)==(f|0)&g>>>0>>0)){e=(k[b>>2]|0)+e|0;k[ia>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=q;k[e>>2]=a;k[e+4>>2]=f;e=a;d=f}f=ia+4|0;d=Yf(e|0,d|0,4,0)|0;a=L;if(!(!((h|0)<(a|0)|(h|0)==(a|0)&g>>>0>>0)?($=(k[b>>2]|0)+e|0,$=l[$>>0]|l[$+1>>0]<<8|l[$+2>>0]<<16|l[$+3>>0]<<24,k[f>>2]=$,Z=q,k[Z>>2]=d,k[Z+4>>2]=a,!($|0)):0)){d=0;s=804}v:do if((s|0)==804){while(1){if(!(Qc(ia+8+(d*24|0)|0,b)|0))break v;d=d+1|0;if((d|0)>=32)break;else s=804}if(((Qc(ia+776|0,b)|0?Oc(j,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){a=k[f>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;V=ea+4|0;W=ea+8|0;k[ca>>2]=0;k[ca+4>>2]=0;k[ca+8>>2]=0;k[ca+12>>2]=0;k[ca+16>>2]=0;k[ca+20>>2]=0;X=ca+8|0;Y=ca+4|0;Z=ca+16|0;$=ca+20|0;db(ca);d=k[Y>>2]|0;e=(k[$>>2]|0)+(k[Z>>2]|0)|0;if((k[X>>2]|0)==(d|0))d=0;else d=(k[d+(e>>>7<<2)>>2]|0)+((e&127)<<5)|0;k[d>>2]=a;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;U=d+16|0;k[U>>2]=k[aa>>2];k[U+4>>2]=k[aa+4>>2];k[U+8>>2]=k[aa+8>>2];k[d+28>>2]=0;d=(k[$>>2]|0)+1|0;k[$>>2]=d;w:do if(d|0){G=ia+816|0;H=ia+812|0;I=ha+4|0;J=ha+8|0;K=ha+4|0;M=ha+8|0;N=ia+856|0;O=ia+852|0;P=ha+4|0;Q=ha+8|0;R=c+4|0;S=c+8|0;T=ia+836|0;U=ia+832|0;x:while(1){e=k[Y>>2]|0;aa=k[Z>>2]|0;D=k[e+(aa>>>7<<2)>>2]|0;E=aa&127;F=k[D+(E<<5)>>2]|0;n=k[D+(E<<5)+4>>2]|0;o=k[D+(E<<5)+8>>2]|0;q=k[D+(E<<5)+12>>2]|0;E=D+(E<<5)+16|0;k[fa>>2]=k[E>>2];k[fa+4>>2]=k[E+4>>2];k[fa+8>>2]=k[E+8>>2];k[$>>2]=d+-1;aa=aa+1|0;k[Z>>2]=aa;if(aa>>>0>255){gb(k[e>>2]|0);k[Y>>2]=(k[Y>>2]|0)+4;k[Z>>2]=(k[Z>>2]|0)+-128}k[ea>>2]=n;k[V>>2]=o;k[W>>2]=q;k[da>>2]=k[fa>>2];k[da+4>>2]=k[fa+4>>2];k[da+8>>2]=k[fa+8>>2];k[ha>>2]=k[fa>>2];k[ha+4>>2]=k[fa+4>>2];k[ha+8>>2]=k[fa+8>>2];do if(F>>>0<64){b=(k[ha>>2]|0)>>>0>(k[P>>2]|0)>>>0&1;b=(k[ha+(b<<2)>>2]|0)>>>0>(k[Q>>2]|0)>>>0?2:b}else{a=k[T>>2]|0;d=32-a|0;f=k[U>>2]|0;e=k[f>>2]<>2]=b;aa=f+4|0;k[U>>2]=aa;b=32-b|0;b=(k[aa>>2]|0)>>>b|e>>>(b-d|0);break}d=e>>>28;aa=a+4|0;k[T>>2]=aa;if((aa|0)!=32){b=d;break}k[U>>2]=f+4;k[T>>2]=0;b=d}while(0);g=da+(b<<2)|0;h=k[g>>2]|0;d=k[ia>>2]|0;E=d-h|0;do if(!E){if((F|0)>0)d=0;else break;do{e=k[R>>2]|0;if((e|0)==(k[S>>2]|0))md(c,ea);else{k[e>>2]=k[ea>>2];k[e+4>>2]=k[V>>2];k[e+8>>2]=k[W>>2];k[R>>2]=e+12}d=d+1|0}while((d|0)<(F|0))}else{if(!F){s=828;break x}if(F>>>0>=3){k[ha>>2]=n;k[K>>2]=o;k[M>>2]=q;a=ha+(b<<2)|0;k[a>>2]=(k[a>>2]|0)+(1<>>1)-d|0;e=F-f|0;if((f|0)==(e|0)){j=f;m=f}else{aa=k[N>>2]|0;d=k[O>>2]|0;a=(k[d>>2]&1<<31-aa|0)!=0;aa=aa+1|0;k[N>>2]=aa;if((aa|0)==32){k[O>>2]=d+4;k[N>>2]=0}j=a?f:e;m=a?e:f}k[g>>2]=h+1;if(j|0){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];f=k[X>>2]|0;a=k[Y>>2]|0;aa=f-a|0;d=k[Z>>2]|0;e=k[$>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(e+d|0)){db(ca);d=k[Z>>2]|0;e=k[$>>2]|0;f=k[X>>2]|0;a=k[Y>>2]|0}d=e+d|0;if((f|0)==(a|0))d=0;else d=(k[a+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=j;k[d+4>>2]=n;k[d+8>>2]=o;k[d+12>>2]=q;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=b;k[$>>2]=(k[$>>2]|0)+1}if(m|0){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];g=k[ha>>2]|0;h=k[K>>2]|0;j=k[M>>2]|0;f=k[X>>2]|0;a=k[Y>>2]|0;aa=f-a|0;d=k[Z>>2]|0;e=k[$>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(e+d|0)){db(ca);d=k[Z>>2]|0;e=k[$>>2]|0;f=k[X>>2]|0;a=k[Y>>2]|0}d=e+d|0;if((f|0)==(a|0))d=0;else d=(k[a+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=m;k[d+4>>2]=g;k[d+8>>2]=h;k[d+12>>2]=j;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=b;k[$>>2]=(k[$>>2]|0)+1}break}o=(b|0)==2?0:b+1|0;s=(o|0)==2?0:o+1|0;D=d-(k[da+(o<<2)>>2]|0)|0;z=d-(k[da+(s<<2)>>2]|0)|0;A=ha+(b<<2)|0;B=(E|0)<33;C=(E|0)>0;m=ea+(b<<2)|0;n=(D|0)==0;h=ha+(o<<2)|0;o=ea+(o<<2)|0;q=(z|0)==0;j=ha+(s<<2)|0;b=ea+(s<<2)|0;s=(z|0)<33;t=(z|0)>0;u=32-z|0;v=(D|0)<33;w=(D|0)>0;x=32-D|0;y=32-E|0;g=0;do{k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;if(!B){s=834;break x}if(!C){s=836;break x}a=k[G>>2]|0;d=32-a|0;f=k[H>>2]|0;e=k[f>>2]<(d|0)){aa=E-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;a=32-aa|0;d=(k[f>>2]|0)>>>a|e>>>(a-d|0);k[A>>2]=d;e=aa}else{d=e>>>y;k[A>>2]=d;e=a+E|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[A>>2]=d|k[m>>2];do if(n)d=k[h>>2]|0;else{if(!v){s=834;break x}if(!w){s=836;break x}d=32-e|0;a=k[f>>2]<(d|0)){e=D-d|0;k[G>>2]=e;f=f+4|0;k[H>>2]=f;aa=32-e|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[h>>2]=d;break}d=a>>>x;k[h>>2]=d;e=e+D|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[h>>2]=d|k[o>>2];do if(q)d=k[j>>2]|0;else{if(!s){s=834;break x}if(!t){s=836;break x}d=32-e|0;a=k[f>>2]<(d|0)){aa=z-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;aa=32-aa|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[j>>2]=d;break}d=a>>>u;k[j>>2]=d;aa=e+z|0;k[G>>2]=aa;if((aa|0)!=32)break;k[H>>2]=f+4;k[G>>2]=0}while(0);k[j>>2]=d|k[b>>2];d=k[R>>2]|0;if((d|0)==(k[S>>2]|0))md(c,ha);else{k[d>>2]=k[ha>>2];k[d+4>>2]=k[I>>2];k[d+8>>2]=k[J>>2];k[R>>2]=d+12}g=g+1|0}while(g>>>0>>0)}while(0);d=k[$>>2]|0;if(!d)break w}if((s|0)==828)Ba(9865,9903,231,9973);else if((s|0)==834)Ba(9986,10010,111,10037);else if((s|0)==836)Ba(10066,10010,112,10037)}while(0);kd(ca)}}while(0);a=k[ia+840>>2]|0;f=ia+844|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+856>>2]=0;k[ia+852>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+820>>2]|0;f=ia+824|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+836>>2]=0;k[ia+832>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+800>>2]|0;f=ia+804|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+816>>2]=0;k[ia+812>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}break a}case 9:{Nd(c,e);k[ia>>2]=0;p[ia+24>>3]=.5;p[ia+48>>3]=.5;p[ia+72>>3]=.5;p[ia+96>>3]=.5;p[ia+120>>3]=.5;p[ia+144>>3]=.5;p[ia+168>>3]=.5;p[ia+192>>3]=.5;p[ia+216>>3]=.5;p[ia+240>>3]=.5;p[ia+264>>3]=.5;p[ia+288>>3]=.5;p[ia+312>>3]=.5;p[ia+336>>3]=.5;p[ia+360>>3]=.5;p[ia+384>>3]=.5;p[ia+408>>3]=.5;p[ia+432>>3]=.5;p[ia+456>>3]=.5;p[ia+480>>3]=.5;p[ia+504>>3]=.5;p[ia+528>>3]=.5;p[ia+552>>3]=.5;p[ia+576>>3]=.5;p[ia+600>>3]=.5;p[ia+624>>3]=.5;p[ia+648>>3]=.5;p[ia+672>>3]=.5;p[ia+696>>3]=.5;p[ia+720>>3]=.5;p[ia+744>>3]=.5;p[ia+768>>3]=.5;p[ia+792>>3]=.5;j=ia+800|0;m=ia+820|0;n=ia+840|0;d=j;e=d+60|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;d=q;e=k[d>>2]|0;d=k[d+4>>2]|0;a=Yf(e|0,d|0,4,0)|0;f=L;if(!((h|0)<(f|0)|(h|0)==(f|0)&g>>>0>>0)){e=(k[b>>2]|0)+e|0;k[ia>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=q;k[e>>2]=a;k[e+4>>2]=f;e=a;d=f}f=ia+4|0;d=Yf(e|0,d|0,4,0)|0;a=L;if(!(!((h|0)<(a|0)|(h|0)==(a|0)&g>>>0>>0)?($=(k[b>>2]|0)+e|0,$=l[$>>0]|l[$+1>>0]<<8|l[$+2>>0]<<16|l[$+3>>0]<<24,k[f>>2]=$,Z=q,k[Z>>2]=d,k[Z+4>>2]=a,!($|0)):0)){d=0;s=904}y:do if((s|0)==904){while(1){if(!(Qc(ia+8+(d*24|0)|0,b)|0))break y;d=d+1|0;if((d|0)>=32)break;else s=904}if(((Qc(ia+776|0,b)|0?Oc(j,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){a=k[f>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;V=ea+4|0;W=ea+8|0;k[ca>>2]=0;k[ca+4>>2]=0;k[ca+8>>2]=0;k[ca+12>>2]=0;k[ca+16>>2]=0;k[ca+20>>2]=0;X=ca+8|0;Y=ca+4|0;Z=ca+16|0;$=ca+20|0;db(ca);d=k[Y>>2]|0;e=(k[$>>2]|0)+(k[Z>>2]|0)|0;if((k[X>>2]|0)==(d|0))d=0;else d=(k[d+(e>>>7<<2)>>2]|0)+((e&127)<<5)|0;k[d>>2]=a;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;U=d+16|0;k[U>>2]=k[aa>>2];k[U+4>>2]=k[aa+4>>2];k[U+8>>2]=k[aa+8>>2];k[d+28>>2]=0;d=(k[$>>2]|0)+1|0;k[$>>2]=d;z:do if(d|0){G=ia+816|0;H=ia+812|0;I=ha+4|0;J=ha+8|0;K=ha+4|0;M=ha+8|0;N=ia+856|0;O=ia+852|0;P=ha+4|0;Q=ha+8|0;R=c+4|0;S=c+8|0;T=ia+836|0;U=ia+832|0;A:while(1){e=k[Y>>2]|0;aa=k[Z>>2]|0;D=k[e+(aa>>>7<<2)>>2]|0;E=aa&127;F=k[D+(E<<5)>>2]|0;n=k[D+(E<<5)+4>>2]|0;o=k[D+(E<<5)+8>>2]|0;q=k[D+(E<<5)+12>>2]|0;E=D+(E<<5)+16|0;k[fa>>2]=k[E>>2];k[fa+4>>2]=k[E+4>>2];k[fa+8>>2]=k[E+8>>2];k[$>>2]=d+-1;aa=aa+1|0;k[Z>>2]=aa;if(aa>>>0>255){gb(k[e>>2]|0);k[Y>>2]=(k[Y>>2]|0)+4;k[Z>>2]=(k[Z>>2]|0)+-128}k[ea>>2]=n;k[V>>2]=o;k[W>>2]=q;k[da>>2]=k[fa>>2];k[da+4>>2]=k[fa+4>>2];k[da+8>>2]=k[fa+8>>2];k[ha>>2]=k[fa>>2];k[ha+4>>2]=k[fa+4>>2];k[ha+8>>2]=k[fa+8>>2];do if(F>>>0<64){b=(k[ha>>2]|0)>>>0>(k[P>>2]|0)>>>0&1;b=(k[ha+(b<<2)>>2]|0)>>>0>(k[Q>>2]|0)>>>0?2:b}else{a=k[T>>2]|0;d=32-a|0;f=k[U>>2]|0;e=k[f>>2]<>2]=b;aa=f+4|0;k[U>>2]=aa;b=32-b|0;b=(k[aa>>2]|0)>>>b|e>>>(b-d|0);break}d=e>>>28;aa=a+4|0;k[T>>2]=aa;if((aa|0)!=32){b=d;break}k[U>>2]=f+4;k[T>>2]=0;b=d}while(0);g=da+(b<<2)|0;h=k[g>>2]|0;d=k[ia>>2]|0;E=d-h|0;do if(!E){if((F|0)>0)d=0;else break;do{e=k[R>>2]|0;if((e|0)==(k[S>>2]|0))md(c,ea);else{k[e>>2]=k[ea>>2];k[e+4>>2]=k[V>>2];k[e+8>>2]=k[W>>2];k[R>>2]=e+12}d=d+1|0}while((d|0)<(F|0))}else{if(!F){s=928;break A}if(F>>>0>=3){k[ha>>2]=n;k[K>>2]=o;k[M>>2]=q;a=ha+(b<<2)|0;k[a>>2]=(k[a>>2]|0)+(1<>>1)-d|0;e=F-f|0;if((f|0)==(e|0)){j=f;m=f}else{aa=k[N>>2]|0;d=k[O>>2]|0;a=(k[d>>2]&1<<31-aa|0)!=0;aa=aa+1|0;k[N>>2]=aa;if((aa|0)==32){k[O>>2]=d+4;k[N>>2]=0}j=a?f:e;m=a?e:f}k[g>>2]=h+1;if(j|0){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];f=k[X>>2]|0;a=k[Y>>2]|0;aa=f-a|0;d=k[Z>>2]|0;e=k[$>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(e+d|0)){db(ca);d=k[Z>>2]|0;e=k[$>>2]|0;f=k[X>>2]|0;a=k[Y>>2]|0}d=e+d|0;if((f|0)==(a|0))d=0;else d=(k[a+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=j;k[d+4>>2]=n;k[d+8>>2]=o;k[d+12>>2]=q;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=b;k[$>>2]=(k[$>>2]|0)+1}if(m|0){k[ga>>2]=k[da>>2];k[ga+4>>2]=k[da+4>>2];k[ga+8>>2]=k[da+8>>2];g=k[ha>>2]|0;h=k[K>>2]|0;j=k[M>>2]|0;f=k[X>>2]|0;a=k[Y>>2]|0;aa=f-a|0;d=k[Z>>2]|0;e=k[$>>2]|0;if((((aa|0)==0?0:(aa<<5)+-1|0)|0)==(e+d|0)){db(ca);d=k[Z>>2]|0;e=k[$>>2]|0;f=k[X>>2]|0;a=k[Y>>2]|0}d=e+d|0;if((f|0)==(a|0))d=0;else d=(k[a+(d>>>7<<2)>>2]|0)+((d&127)<<5)|0;k[d>>2]=m;k[d+4>>2]=g;k[d+8>>2]=h;k[d+12>>2]=j;aa=d+16|0;k[aa>>2]=k[ga>>2];k[aa+4>>2]=k[ga+4>>2];k[aa+8>>2]=k[ga+8>>2];k[d+28>>2]=b;k[$>>2]=(k[$>>2]|0)+1}break}o=(b|0)==2?0:b+1|0;s=(o|0)==2?0:o+1|0;D=d-(k[da+(o<<2)>>2]|0)|0;z=d-(k[da+(s<<2)>>2]|0)|0;A=ha+(b<<2)|0;B=(E|0)<33;C=(E|0)>0;m=ea+(b<<2)|0;n=(D|0)==0;h=ha+(o<<2)|0;o=ea+(o<<2)|0;q=(z|0)==0;j=ha+(s<<2)|0;b=ea+(s<<2)|0;s=(z|0)<33;t=(z|0)>0;u=32-z|0;v=(D|0)<33;w=(D|0)>0;x=32-D|0;y=32-E|0;g=0;do{k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;if(!B){s=934;break A}if(!C){s=936;break A}a=k[G>>2]|0;d=32-a|0;f=k[H>>2]|0;e=k[f>>2]<(d|0)){aa=E-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;a=32-aa|0;d=(k[f>>2]|0)>>>a|e>>>(a-d|0);k[A>>2]=d;e=aa}else{d=e>>>y;k[A>>2]=d;e=a+E|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[A>>2]=d|k[m>>2];do if(n)d=k[h>>2]|0;else{if(!v){s=934;break A}if(!w){s=936;break A}d=32-e|0;a=k[f>>2]<(d|0)){e=D-d|0;k[G>>2]=e;f=f+4|0;k[H>>2]=f;aa=32-e|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[h>>2]=d;break}d=a>>>x;k[h>>2]=d;e=e+D|0;k[G>>2]=e;if((e|0)!=32)break;f=f+4|0;k[H>>2]=f;k[G>>2]=0;e=0}while(0);k[h>>2]=d|k[o>>2];do if(q)d=k[j>>2]|0;else{if(!s){s=934;break A}if(!t){s=936;break A}d=32-e|0;a=k[f>>2]<(d|0)){aa=z-d|0;k[G>>2]=aa;f=f+4|0;k[H>>2]=f;aa=32-aa|0;d=(k[f>>2]|0)>>>aa|a>>>(aa-d|0);k[j>>2]=d;break}d=a>>>u;k[j>>2]=d;aa=e+z|0;k[G>>2]=aa;if((aa|0)!=32)break;k[H>>2]=f+4;k[G>>2]=0}while(0);k[j>>2]=d|k[b>>2];d=k[R>>2]|0;if((d|0)==(k[S>>2]|0))md(c,ha);else{k[d>>2]=k[ha>>2];k[d+4>>2]=k[I>>2];k[d+8>>2]=k[J>>2];k[R>>2]=d+12}g=g+1|0}while(g>>>0>>0)}while(0);d=k[$>>2]|0;if(!d)break z}if((s|0)==928)Ba(9865,9903,231,9973);else if((s|0)==934)Ba(9986,10010,111,10037);else if((s|0)==936)Ba(10066,10010,112,10037)}while(0);kd(ca)}}while(0);a=k[ia+840>>2]|0;f=ia+844|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+856>>2]=0;k[ia+852>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+820>>2]|0;f=ia+824|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+836>>2]=0;k[ia+832>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[ia+800>>2]|0;f=ia+804|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[ia+816>>2]=0;k[ia+812>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}break a}default:{Nd(c,e);k[Z>>2]=0;p[Z+24>>3]=.5;p[Z+48>>3]=.5;p[Z+72>>3]=.5;p[Z+96>>3]=.5;p[Z+120>>3]=.5;p[Z+144>>3]=.5;p[Z+168>>3]=.5;p[Z+192>>3]=.5;p[Z+216>>3]=.5;p[Z+240>>3]=.5;p[Z+264>>3]=.5;p[Z+288>>3]=.5;p[Z+312>>3]=.5;p[Z+336>>3]=.5;p[Z+360>>3]=.5;p[Z+384>>3]=.5;p[Z+408>>3]=.5;p[Z+432>>3]=.5;p[Z+456>>3]=.5;p[Z+480>>3]=.5;p[Z+504>>3]=.5;p[Z+528>>3]=.5;p[Z+552>>3]=.5;p[Z+576>>3]=.5;p[Z+600>>3]=.5;p[Z+624>>3]=.5;p[Z+648>>3]=.5;p[Z+672>>3]=.5;p[Z+696>>3]=.5;p[Z+720>>3]=.5;p[Z+744>>3]=.5;p[Z+768>>3]=.5;p[Z+792>>3]=.5;j=Z+800|0;m=Z+820|0;n=Z+840|0;d=j;e=d+60|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;d=q;e=k[d>>2]|0;d=k[d+4>>2]|0;a=Yf(e|0,d|0,4,0)|0;f=L;if(!((h|0)<(f|0)|(h|0)==(f|0)&g>>>0>>0)){e=(k[b>>2]|0)+e|0;k[Z>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=q;k[e>>2]=a;k[e+4>>2]=f;e=a;d=f}f=Z+4|0;d=Yf(e|0,d|0,4,0)|0;a=L;if(!(!((h|0)<(a|0)|(h|0)==(a|0)&g>>>0>>0)?($=(k[b>>2]|0)+e|0,$=l[$>>0]|l[$+1>>0]<<8|l[$+2>>0]<<16|l[$+3>>0]<<24,k[f>>2]=$,Y=q,k[Y>>2]=d,k[Y+4>>2]=a,!($|0)):0)){d=0;s=1004}B:do if((s|0)==1004){while(1){s=0;if(!(Qc(Z+8+(d*24|0)|0,b)|0))break B;d=d+1|0;if((d|0)>=32)break;else s=1004}if(((Qc(Z+776|0,b)|0?Oc(j,b)|0:0)?Oc(m,b)|0:0)?Oc(n,b)|0:0){P=k[f>>2]|0;k[ga>>2]=0;k[ga+4>>2]=0;k[ga+8>>2]=0;k[fa>>2]=0;k[fa+4>>2]=0;k[fa+8>>2]=0;k[ca>>2]=P;P=ca+4|0;N=ga+4|0;O=ga+8|0;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;k[P+24>>2]=0;k[da>>2]=0;P=da+4|0;k[P>>2]=0;k[da+8>>2]=0;Q=da+8|0;Gc(da,ca);d=k[P>>2]|0;n=k[da>>2]|0;e=d-n|0;if((e|0)>32){a=((e>>5)+-2|0)/2|0;e=n+(a<<5)|0;f=d+-32|0;g=k[f>>2]|0;if((k[e>>2]|0)>>>0>>0){h=k[d+-28>>2]|0;j=k[d+-24>>2]|0;m=k[d+-20>>2]|0;d=d+-16|0;k[ha>>2]=k[d>>2];k[ha+4>>2]=k[d+4>>2];k[ha+8>>2]=k[d+8>>2];k[ha+12>>2]=k[d+12>>2];d=f;while(1){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[d+16>>2]=k[e+16>>2];k[d+20>>2]=k[e+20>>2];k[d+24>>2]=k[e+24>>2];k[d+28>>2]=k[e+28>>2];if(!a)break;a=(a+-1|0)/2|0;d=n+(a<<5)|0;if((k[d>>2]|0)>>>0>=g>>>0)break;else{ca=e;e=d;d=ca}}k[e>>2]=g;k[e+4>>2]=h;k[e+8>>2]=j;k[e+12>>2]=m;s=e+16|0;k[s>>2]=k[ha>>2];k[s+4>>2]=k[ha+4>>2];k[s+8>>2]=k[ha+8>>2];k[s+12>>2]=k[ha+12>>2];s=1015}else s=1015}else e=n;C:while(1){if((s|0)==1015){e=k[da>>2]|0;d=k[P>>2]|0}if((e|0)==(d|0)){s=1077;break}M=k[e>>2]|0;n=k[e+4>>2]|0;q=k[e+8>>2]|0;b=k[e+12>>2]|0;ca=e+16|0;k[aa>>2]=k[ca>>2];k[aa+4>>2]=k[ca+4>>2];k[aa+8>>2]=k[ca+8>>2];lc(da);k[ga>>2]=n;k[N>>2]=q;k[O>>2]=b;k[fa>>2]=k[aa>>2];k[fa+4>>2]=k[aa+4>>2];k[fa+8>>2]=k[aa+8>>2];k[ha>>2]=k[aa>>2];k[ha+4>>2]=k[aa+4>>2];k[ha+8>>2]=k[aa+8>>2];do if(M>>>0<64){u=(k[ha>>2]|0)>>>0>(k[ha+4>>2]|0)>>>0&1;u=(k[ha+(u<<2)>>2]|0)>>>0>(k[ha+8>>2]|0)>>>0?2:u}else{a=Z+836|0;f=k[a>>2]|0;d=32-f|0;g=Z+832|0;h=k[g>>2]|0;e=k[h>>2]<>2]=u;ca=h+4|0;k[g>>2]=ca;u=32-u|0;u=(k[ca>>2]|0)>>>u|e>>>(u-d|0);break}d=e>>>28;ca=f+4|0;k[a>>2]=ca;if((ca|0)!=32){u=d;break}k[g>>2]=h+4;k[a>>2]=0;u=d}while(0);j=fa+(u<<2)|0;m=k[j>>2]|0;d=k[Z>>2]|0;K=d-m|0;D:do if(K){if(!M){s=1031;break C}if(M>>>0<3){o=(u|0)==2?0:u+1|0;b=(o|0)==2?0:o+1|0;J=d-(k[fa+(o<<2)>>2]|0)|0;z=d-(k[fa+(b<<2)>>2]|0)|0;A=Z+816|0;B=Z+812|0;C=c+4|0;D=c+8|0;E=ha+4|0;F=ha+8|0;G=ha+(u<<2)|0;H=(K|0)<33;I=(K|0)>0;m=ga+(u<<2)|0;n=(J|0)==0;h=ha+(o<<2)|0;o=ga+(o<<2)|0;q=(z|0)==0;j=ha+(b<<2)|0;b=ga+(b<<2)|0;s=(z|0)<33;t=(z|0)>0;u=32-z|0;v=(J|0)<33;w=(J|0)>0;x=32-J|0;y=32-K|0;g=0;while(1){k[ha>>2]=0;k[ha+4>>2]=0;k[ha+8>>2]=0;if(!H){s=1037;break C}if(!I){s=1039;break C}a=k[A>>2]|0;d=32-a|0;f=k[B>>2]|0;e=k[f>>2]<(d|0)){ca=K-d|0;k[A>>2]=ca;f=f+4|0;k[B>>2]=f;$=32-ca|0;d=(k[f>>2]|0)>>>$|e>>>($-d|0);k[G>>2]=d;e=ca}else{d=e>>>y;k[G>>2]=d;e=a+K|0;k[A>>2]=e;if((e|0)!=32)break;f=f+4|0;k[B>>2]=f;k[A>>2]=0;e=0}while(0);k[G>>2]=d|k[m>>2];do if(n)d=k[h>>2]|0;else{if(!v){s=1037;break C}if(!w){s=1039;break C}d=32-e|0;a=k[f>>2]<(d|0)){e=J-d|0;k[A>>2]=e;f=f+4|0;k[B>>2]=f;ca=32-e|0;d=(k[f>>2]|0)>>>ca|a>>>(ca-d|0);k[h>>2]=d;break}d=a>>>x;k[h>>2]=d;e=e+J|0;k[A>>2]=e;if((e|0)!=32)break;f=f+4|0;k[B>>2]=f;k[A>>2]=0;e=0}while(0);k[h>>2]=d|k[o>>2];do if(q)d=k[j>>2]|0;else{if(!s){s=1037;break C}if(!t){s=1039;break C}d=32-e|0;a=k[f>>2]<(d|0)){ca=z-d|0;k[A>>2]=ca;$=f+4|0;k[B>>2]=$;ca=32-ca|0;d=(k[$>>2]|0)>>>ca|a>>>(ca-d|0);k[j>>2]=d;break}d=a>>>u;k[j>>2]=d;ca=e+z|0;k[A>>2]=ca;if((ca|0)!=32)break;k[B>>2]=f+4;k[A>>2]=0}while(0);k[j>>2]=d|k[b>>2];d=k[C>>2]|0;if((d|0)==(k[D>>2]|0))md(c,ha);else{k[d>>2]=k[ha>>2];k[d+4>>2]=k[E>>2];k[d+8>>2]=k[F>>2];k[C>>2]=d+12}g=g+1|0;if(g>>>0>=M>>>0)break D}}k[ea>>2]=n;s=ea+4|0;k[s>>2]=q;t=ea+8|0;k[t>>2]=b;a=ea+(u<<2)|0;k[a>>2]=(k[a>>2]|0)+(1<>>1)-d|0;f=M-h|0;if((h|0)==(f|0)){a=h;o=h}else{d=Z+856|0;ca=k[d>>2]|0;e=Z+852|0;a=k[e>>2]|0;g=(k[a>>2]&1<<31-ca|0)!=0;ca=ca+1|0;k[d>>2]=ca;if((ca|0)==32){k[e>>2]=a+4;k[d>>2]=0}a=g?h:f;o=g?f:h}k[j>>2]=m+1;if(a|0){k[ia>>2]=a;k[ia+4>>2]=n;k[ia+8>>2]=q;k[ia+12>>2]=b;d=ia+16|0;k[d>>2]=k[fa>>2];k[d+4>>2]=k[fa+4>>2];k[d+8>>2]=k[fa+8>>2];k[ia+28>>2]=u;e=k[P>>2]|0;if(e>>>0<(k[Q>>2]|0)>>>0){k[e>>2]=a;k[e+4>>2]=n;k[e+8>>2]=q;k[e+12>>2]=b;a=e+16|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];a=e+32|0;k[P>>2]=a}else{Gc(da,ia);a=k[P>>2]|0}e=k[da>>2]|0;d=a-e|0;do if((d|0)>32){f=((d>>5)+-2|0)/2|0;g=e+(f<<5)|0;d=a+-32|0;h=k[d>>2]|0;if((k[g>>2]|0)>>>0>=h>>>0)break;j=k[a+-28>>2]|0;m=k[a+-24>>2]|0;n=k[a+-20>>2]|0;a=a+-16|0;k[ha>>2]=k[a>>2];k[ha+4>>2]=k[a+4>>2];k[ha+8>>2]=k[a+8>>2];k[ha+12>>2]=k[a+12>>2];a=g;while(1){k[d>>2]=k[a>>2];k[d+4>>2]=k[a+4>>2];k[d+8>>2]=k[a+8>>2];k[d+12>>2]=k[a+12>>2];k[d+16>>2]=k[a+16>>2];k[d+20>>2]=k[a+20>>2];k[d+24>>2]=k[a+24>>2];k[d+28>>2]=k[a+28>>2];if(!f)break;f=(f+-1|0)/2|0;d=e+(f<<5)|0;if((k[d>>2]|0)>>>0>=h>>>0)break;else{ca=a;a=d;d=ca}}k[a>>2]=h;k[a+4>>2]=j;k[a+8>>2]=m;k[a+12>>2]=n;ca=a+16|0;k[ca>>2]=k[ha>>2];k[ca+4>>2]=k[ha+4>>2];k[ca+8>>2]=k[ha+8>>2];k[ca+12>>2]=k[ha+12>>2]}while(0)}if(o|0){k[ia>>2]=o;g=k[ea>>2]|0;k[ia+4>>2]=g;f=k[s>>2]|0;k[ia+8>>2]=f;a=k[t>>2]|0;k[ia+12>>2]=a;e=ia+16|0;k[e>>2]=k[fa>>2];k[e+4>>2]=k[fa+4>>2];k[e+8>>2]=k[fa+8>>2];k[ia+28>>2]=u;d=k[P>>2]|0;if(d>>>0<(k[Q>>2]|0)>>>0){k[d>>2]=o;k[d+4>>2]=g;k[d+8>>2]=f;k[d+12>>2]=a;a=d+16|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];a=d+32|0;k[P>>2]=a}else{Gc(da,ia);a=k[P>>2]|0}e=k[da>>2]|0;d=a-e|0;do if((d|0)>32){f=((d>>5)+-2|0)/2|0;g=e+(f<<5)|0;d=a+-32|0;h=k[d>>2]|0;if((k[g>>2]|0)>>>0>=h>>>0)break;j=k[a+-28>>2]|0;m=k[a+-24>>2]|0;n=k[a+-20>>2]|0;a=a+-16|0;k[ha>>2]=k[a>>2];k[ha+4>>2]=k[a+4>>2];k[ha+8>>2]=k[a+8>>2];k[ha+12>>2]=k[a+12>>2];a=g;while(1){k[d>>2]=k[a>>2];k[d+4>>2]=k[a+4>>2];k[d+8>>2]=k[a+8>>2];k[d+12>>2]=k[a+12>>2];k[d+16>>2]=k[a+16>>2];k[d+20>>2]=k[a+20>>2];k[d+24>>2]=k[a+24>>2];k[d+28>>2]=k[a+28>>2];if(!f)break;f=(f+-1|0)/2|0;d=e+(f<<5)|0;if((k[d>>2]|0)>>>0>=h>>>0)break;else{ca=a;a=d;d=ca}}k[a>>2]=h;k[a+4>>2]=j;k[a+8>>2]=m;k[a+12>>2]=n;ca=a+16|0;k[ca>>2]=k[ha>>2];k[ca+4>>2]=k[ha+4>>2];k[ca+8>>2]=k[ha+8>>2];k[ca+12>>2]=k[ha+12>>2]}while(0)}}else{if((M|0)<=0)break;e=c+4|0;a=c+8|0;d=0;do{f=k[e>>2]|0;if((f|0)==(k[a>>2]|0))md(c,ga);else{k[f>>2]=k[ga>>2];k[f+4>>2]=k[N>>2];k[f+8>>2]=k[O>>2];k[e>>2]=f+12}d=d+1|0}while((d|0)<(M|0))}while(0);s=1015}if((s|0)==1031)Ba(9865,9903,231,9973);else if((s|0)==1037)Ba(9986,10010,111,10037);else if((s|0)==1039)Ba(10066,10010,112,10037);else if((s|0)==1077){if(e|0)gb(e);break}}}while(0);a=k[Z+840>>2]|0;f=Z+844|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[Z+856>>2]=0;k[Z+852>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[Z+820>>2]|0;f=Z+824|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[Z+836>>2]=0;k[Z+832>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}a=k[Z+800>>2]|0;f=Z+804|0;d=k[f>>2]|0;e=a;if((d|0)==(a|0))d=a;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;k[f>>2]=d}k[Z+816>>2]=0;k[Z+812>>2]=d;if(a|0){if((d|0)!=(a|0))k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);gb(a)}break a}}while(0);while(0);if((((k[c+4>>2]|0)-(k[c>>2]|0)|0)/12|0|0)==(k[ja>>2]|0)){c=1;r=ka;return c|0}else Ba(9727,9770,117,9834);return 0} +function Ra(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=0,q=0,s=0.0,t=0.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,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,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0;Wa=r;r=r+64|0;Va=Wa+32|0;Ua=Wa+16|0;Sa=Wa;a:do switch(k[b+28>>2]|0){case 9:switch(i[b+24>>0]|0){case 1:{D=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[D>>2]=1.0;E=a+80|0;d=k[E>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[E>>2]|0;b:do if((h|0)>0){w=b+48|0;x=b+40|0;y=Va+4|0;z=Va+12|0;A=Va+8|0;B=a+40|0;C=a+64|0;h=0;v=0;d=0;while(1){Ra=v+c|0;q=w;u=k[q>>2]|0;q=k[q+4>>2]|0;Sa=x;Sa=Af(Ra|0,((Ra|0)<0)<<31>>31|0,k[Sa>>2]|0,k[Sa+4>>2]|0)|0;q=Yf(Sa|0,L|0,u|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[Ua>>2]=q;u=q^318;c:do if(h){p=h+-1|0;n=(p&h|0)==0;if(n)g=p&u;else g=(u>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;d:do if(f|0){if(n)do{f=k[f>>2]|0;if(!f)break d;if((k[f+4>>2]&p|0)!=(g|0))break d}while((k[f+8>>2]|0)!=(q|0));else do{f=k[f>>2]|0;if(!f)break d;if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break d}while((k[f+8>>2]|0)!=(q|0));k[e+(v<<2)>>2]=k[f+12>>2];break c}while(0);if(n)f=p&u;else f=(u>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if(g)if(n)while(1){g=k[g>>2]|0;if(!g){m=0;Ta=37;break c}if((k[g+4>>2]&p|0)!=(f|0)){m=0;Ta=37;break c}if((k[g+8>>2]|0)==(q|0)){Ta=53;break}}else while(1){g=k[g>>2]|0;if(!g){m=0;Ta=37;break c}if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){m=0;Ta=37;break c}if((k[g+8>>2]|0)==(q|0)){Ta=53;break}}else{m=0;Ta=37}}else{f=0;h=0;m=1;Ta=37}while(0);if((Ta|0)==37){while(1){g=Xa(16)|0;if(g|0){n=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){n=0;break}Na[g&1]()}k[n+8>>2]=q;k[n+12>>2]=d;k[n+4>>2]=u;k[n>>2]=0;s=+(((k[z>>2]|0)+1|0)>>>0);t=+o[D>>2];do if(m|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Md(Va,f>>>0>>0?g:f);f=k[y>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&u;break}else{h=f;f=(u>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[n>>2]=k[A>>2];k[A>>2]=n;k[f>>2]=A;f=k[n>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=n}}else{k[n>>2]=k[g>>2];k[g>>2]=n}k[z>>2]=(k[z>>2]|0)+1;Ta=53}if((Ta|0)==53){Ta=0;Ra=B;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[C>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(v<<2)>>2]=d;d=d+1|0}f=v+1|0;h=k[E>>2]|0;if((f|0)>=(h|0))break b;h=k[y>>2]|0;v=f}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(G=n+(h<<2)|0,(p|0)!=(G|0)):0)k[g>>2]=p+(~((p+-4-G|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[E>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[E>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 2:{F=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[F>>2]=1.0;G=a+80|0;d=k[G>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[G>>2]|0;e:do if((h|0)>0){y=b+48|0;z=b+40|0;A=Va+4|0;B=Va+12|0;C=Va+8|0;D=a+40|0;E=a+64|0;x=0;d=0;h=0;while(1){v=x+c|0;u=y;q=k[u>>2]|0;u=k[u+4>>2]|0;w=z;w=Af(v|0,((v|0)<0)<<31>>31|0,k[w>>2]|0,k[w+4>>2]|0)|0;u=Yf(w|0,L|0,q|0,u|0)|0;u=(k[k[b>>2]>>2]|0)+u|0;q=u;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;u=u+4|0;u=l[u>>0]|l[u+1>>0]<<8|l[u+2>>0]<<16|l[u+3>>0]<<24;w=Ua;k[w>>2]=q;k[w+4>>2]=u;w=(q^318)+239^u;v=(h|0)==0;f:do if(!v){p=h+-1|0;n=(p&h|0)==0;if(n)g=w&p;else g=(w>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;g:do if(f|0?(H=k[f>>2]|0,H|0):0){h:do if(n){f=H;while(1){if((k[f+4>>2]&p|0)!=(g|0))break g;if((k[f+8>>2]|0)==(q|0)?(k[f+12>>2]|0)==(u|0):0)break h;f=k[f>>2]|0;if(!f)break g}}else{f=H;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break g;if((k[f+8>>2]|0)==(q|0)?(k[f+12>>2]|0)==(u|0):0)break h;f=k[f>>2]|0;if(!f)break g}}while(0);k[e+(x<<2)>>2]=k[f+16>>2];break f}while(0);if(n)f=p&w;else f=(w>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(K=k[g>>2]|0,(K|0)!=0):0)if(n){g=K;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=118;break f}if((k[g+8>>2]|0)==(q|0)?(k[g+12>>2]|0)==(u|0):0){Ta=134;break f}g=k[g>>2]|0;if(!g){Ta=118;break}}}else{g=K;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=118;break f}if((k[g+8>>2]|0)==(q|0)?(k[g+12>>2]|0)==(u|0):0){Ta=134;break f}g=k[g>>2]|0;if(!g){Ta=118;break}}}else Ta=118}else{f=0;Ta=118}while(0);if((Ta|0)==118){while(1){g=Xa(20)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}Ta=m+8|0;k[Ta>>2]=q;k[Ta+4>>2]=u;k[m+16>>2]=d;k[m+4>>2]=w;k[m>>2]=0;s=+(((k[B>>2]|0)+1|0)>>>0);t=+o[F>>2];do if(v|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Cd(Va,f>>>0>>0?g:f);f=k[A>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&w;break}else{h=f;f=(w>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[C>>2];k[C>>2]=m;k[f>>2]=C;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[B>>2]=(k[B>>2]|0)+1;Ta=134}if((Ta|0)==134){Ta=0;Ra=D;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[E>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(x<<2)>>2]=d;d=d+1|0}f=x+1|0;h=k[G>>2]|0;if((f|0)>=(h|0))break e;x=f;h=k[A>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(qa=n+(h<<2)|0,(p|0)!=(qa|0)):0)k[g>>2]=p+(~((p+-4-qa|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[G>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[G>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 3:{I=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[I>>2]=1.0;J=a+80|0;d=k[J>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[J>>2]|0;i:do if((h|0)>0){B=b+48|0;C=b+40|0;D=Va+4|0;E=Va+12|0;F=Va+8|0;G=a+40|0;H=a+64|0;z=Ua+4|0;A=Ua+8|0;d=0;y=0;h=0;while(1){n=y+c|0;m=B;g=k[m>>2]|0;m=k[m+4>>2]|0;Sa=C;n=Af(k[Sa>>2]|0,k[Sa+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;m=Yf(n|0,L|0,g|0,m|0)|0;g=Ua;m=(k[k[b>>2]>>2]|0)+m|0;n=g+12|0;do{i[g>>0]=i[m>>0]|0;g=g+1|0;m=m+1|0}while((g|0)<(n|0));q=k[Ua>>2]|0;u=k[z>>2]|0;v=k[A>>2]|0;x=((q^318)+239^u)+239^v;w=(h|0)==0;j:do if(!w){p=h+-1|0;n=(p&h|0)==0;if(n)g=x&p;else g=(x>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;k:do if(f|0?(ka=k[f>>2]|0,ka|0):0){l:do if(n){f=ka;while(1){if((k[f+4>>2]&p|0)!=(g|0))break k;do if((k[f+8>>2]|0)==(q|0)){if((k[f+12>>2]|0)!=(u|0))break;if((k[f+16>>2]|0)==(v|0))break l}while(0);f=k[f>>2]|0;if(!f)break k}}else{f=ka;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break k;do if((k[f+8>>2]|0)==(q|0)){if((k[f+12>>2]|0)!=(u|0))break;if((k[f+16>>2]|0)==(v|0))break l}while(0);f=k[f>>2]|0;if(!f)break k}}while(0);k[e+(y<<2)>>2]=k[f+20>>2];break j}while(0);if(n)f=p&x;else f=(x>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(pa=k[g>>2]|0,(pa|0)!=0):0)if(n){g=pa;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=203;break j}do if((k[g+8>>2]|0)==(q|0)){if((k[g+12>>2]|0)!=(u|0))break;if((k[g+16>>2]|0)==(v|0)){Ta=219;break j}}while(0);g=k[g>>2]|0;if(!g){Ta=203;break}}}else{g=pa;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=203;break j}do if((k[g+8>>2]|0)==(q|0)){if((k[g+12>>2]|0)!=(u|0))break;if((k[g+16>>2]|0)==(v|0)){Ta=219;break j}}while(0);g=k[g>>2]|0;if(!g){Ta=203;break}}}else Ta=203}else{f=0;Ta=203}while(0);if((Ta|0)==203){while(1){g=Xa(24)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}k[m+8>>2]=q;k[m+12>>2]=u;k[m+16>>2]=v;k[m+20>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[E>>2]|0)+1|0)>>>0);t=+o[I>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Bd(Va,f>>>0>>0?g:f);f=k[D>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[F>>2];k[F>>2]=m;k[f>>2]=F;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[E>>2]=(k[E>>2]|0)+1;Ta=219}if((Ta|0)==219){Ta=0;Qa=G;Sa=k[Qa>>2]|0;Qa=Af(Sa|0,k[Qa+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[H>>2]>>2]|0)+Qa|0,Ua|0,Sa|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}f=y+1|0;h=k[J>>2]|0;if((f|0)>=(h|0))break i;y=f;h=k[D>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Ra=n+(h<<2)|0,(p|0)!=(Ra|0)):0)k[g>>2]=p+(~((p+-4-Ra|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[J>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[J>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 4:{J=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[J>>2]=1.0;K=a+80|0;d=k[K>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[K>>2]|0;if((h|0)>0){C=b+48|0;D=b+40|0;z=Sa+4|0;A=Sa+8|0;B=Sa+12|0;E=Va+4|0;F=Va+12|0;G=Va+8|0;H=a+40|0;I=a+64|0;d=0;y=0;do{m=y+c|0;f=C;g=k[f>>2]|0;f=k[f+4>>2]|0;n=D;m=Af(k[n>>2]|0,k[n+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;f=Yf(m|0,L|0,g|0,f|0)|0;f=(k[k[b>>2]>>2]|0)+f|0;g=Ua;m=f;n=g+16|0;do{i[g>>0]=i[m>>0]|0;g=g+1|0;m=m+1|0}while((g|0)<(n|0));g=Sa;m=f;n=g+16|0;do{i[g>>0]=i[m>>0]|0;g=g+1|0;m=m+1|0}while((g|0)<(n|0));g=k[Va>>2]|0;h=k[E>>2]|0;f=ad(g,h,Sa)|0;if(!f){p=k[Sa>>2]|0;q=k[z>>2]|0;u=k[A>>2]|0;v=k[B>>2]|0;x=(((p^318)+239^q)+239^u)+239^v;w=(h|0)==0;m:do if(!w){n=h+-1|0;m=(n&h|0)==0;if(m)f=x&n;else f=(x>>>0)%(h>>>0)|0;g=k[g+(f<<2)>>2]|0;if((g|0)!=0?(ha=k[g>>2]|0,(ha|0)!=0):0)if(m){g=ha;while(1){if((k[g+4>>2]&n|0)!=(f|0)){Ta=275;break m}do if((k[g+8>>2]|0)==(p|0)){if((k[g+12>>2]|0)!=(q|0))break;if((k[g+16>>2]|0)!=(u|0))break;if((k[g+20>>2]|0)==(v|0))break m}while(0);g=k[g>>2]|0;if(!g){Ta=275;break}}}else{g=ha;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=275;break m}do if((k[g+8>>2]|0)==(p|0)){if((k[g+12>>2]|0)!=(q|0))break;if((k[g+16>>2]|0)!=(u|0))break;if((k[g+20>>2]|0)==(v|0))break m}while(0);g=k[g>>2]|0;if(!g){Ta=275;break}}}else Ta=275}else{f=0;Ta=275}while(0);if((Ta|0)==275){Ta=0;while(1){g=Xa(28)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}k[m+8>>2]=p;k[m+12>>2]=q;k[m+16>>2]=u;k[m+20>>2]=v;k[m+24>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[F>>2]|0)+1|0)>>>0);t=+o[J>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Ad(Va,f>>>0>>0?g:f);f=k[E>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[G>>2];k[G>>2]=m;k[f>>2]=G;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[F>>2]=(k[F>>2]|0)+1}Qa=H;Ra=k[Qa>>2]|0;Qa=Af(Ra|0,k[Qa+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[I>>2]>>2]|0)+Qa|0,Ua|0,Ra|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}else k[e+(y<<2)>>2]=k[f+24>>2];y=y+1|0;h=k[K>>2]|0}while((y|0)<(h|0))}else d=0;if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Oa=n+(h<<2)|0,(p|0)!=(Oa|0)):0)k[g>>2]=p+(~((p+-4-Oa|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[K>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[K>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}default:{d=0;break a}}case 1:switch(i[b+24>>0]|0){case 1:{D=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[D>>2]=1.0;E=a+80|0;d=k[E>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[E>>2]|0;n:do if((h|0)>0){w=b+48|0;x=b+40|0;y=Va+4|0;z=Va+12|0;A=Va+8|0;B=a+40|0;C=a+64|0;h=0;v=0;d=0;while(1){Ra=v+c|0;q=w;u=k[q>>2]|0;q=k[q+4>>2]|0;Sa=x;Sa=Af(Ra|0,((Ra|0)<0)<<31>>31|0,k[Sa>>2]|0,k[Sa+4>>2]|0)|0;q=Yf(Sa|0,L|0,u|0,q|0)|0;q=i[(k[k[b>>2]>>2]|0)+q>>0]|0;i[Ua>>0]=q;u=q&255^318;o:do if(h){p=h+-1|0;n=(p&h|0)==0;if(n)g=p&u;else g=(u>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;p:do if(f|0){if(n)do{f=k[f>>2]|0;if(!f)break p;if((k[f+4>>2]&p|0)!=(g|0))break p}while((i[f+8>>0]|0)!=q<<24>>24);else do{f=k[f>>2]|0;if(!f)break p;if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break p}while((i[f+8>>0]|0)!=q<<24>>24);k[e+(v<<2)>>2]=k[f+12>>2];break o}while(0);if(n)f=p&u;else f=(u>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if(g)if(n)while(1){g=k[g>>2]|0;if(!g){m=0;Ta=350;break o}if((k[g+4>>2]&p|0)!=(f|0)){m=0;Ta=350;break o}if((i[g+8>>0]|0)==q<<24>>24){Ta=366;break}}else while(1){g=k[g>>2]|0;if(!g){m=0;Ta=350;break o}if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){m=0;Ta=350;break o}if((i[g+8>>0]|0)==q<<24>>24){Ta=366;break}}else{m=0;Ta=350}}else{f=0;h=0;m=1;Ta=350}while(0);if((Ta|0)==350){while(1){g=Xa(16)|0;if(g|0){n=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){n=0;break}Na[g&1]()}i[n+8>>0]=q;k[n+12>>2]=d;k[n+4>>2]=u;k[n>>2]=0;s=+(((k[z>>2]|0)+1|0)>>>0);t=+o[D>>2];do if(m|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Gd(Va,f>>>0>>0?g:f);f=k[y>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&u;break}else{h=f;f=(u>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[n>>2]=k[A>>2];k[A>>2]=n;k[f>>2]=A;f=k[n>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=n}}else{k[n>>2]=k[g>>2];k[g>>2]=n}k[z>>2]=(k[z>>2]|0)+1;Ta=366}if((Ta|0)==366){Ta=0;Ra=B;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[C>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(v<<2)>>2]=d;d=d+1|0}f=v+1|0;h=k[E>>2]|0;if((f|0)>=(h|0))break n;h=k[y>>2]|0;v=f}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(F=n+(h<<2)|0,(p|0)!=(F|0)):0)k[g>>2]=p+(~((p+-4-F|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[E>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[E>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 2:{G=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[G>>2]=1.0;H=a+80|0;d=k[H>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[H>>2]|0;q:do if((h|0)>0){z=b+48|0;A=b+40|0;B=Va+4|0;C=Va+12|0;D=Va+8|0;E=a+40|0;F=a+64|0;y=0;d=0;h=0;while(1){u=y+c|0;v=z;q=k[v>>2]|0;v=k[v+4>>2]|0;x=A;x=Af(u|0,((u|0)<0)<<31>>31|0,k[x>>2]|0,k[x+4>>2]|0)|0;v=Yf(x|0,L|0,q|0,v|0)|0;v=(k[k[b>>2]>>2]|0)+v|0;v=l[v>>0]|l[v+1>>0]<<8;j[Ua>>1]=v;q=v&255;x=(v&65535)>>>8;u=x&255;x=(v&255^318)+239^x&65535;w=(h|0)==0;r:do if(!w){p=h+-1|0;n=(p&h|0)==0;if(n)g=x&p;else g=(x>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;s:do if(f|0?(Q=k[f>>2]|0,Q|0):0){t:do if(n){f=Q;while(1){if((k[f+4>>2]&p|0)!=(g|0))break s;if((i[f+8>>0]|0)==q<<24>>24?(i[f+9>>0]|0)==u<<24>>24:0)break t;f=k[f>>2]|0;if(!f)break s}}else{f=Q;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break s;if((i[f+8>>0]|0)==q<<24>>24?(i[f+9>>0]|0)==u<<24>>24:0)break t;f=k[f>>2]|0;if(!f)break s}}while(0);k[e+(y<<2)>>2]=k[f+12>>2];break r}while(0);if(n)f=p&x;else f=(x>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(W=k[g>>2]|0,(W|0)!=0):0)if(n){g=W;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=431;break r}if((i[g+8>>0]|0)==q<<24>>24?(i[g+9>>0]|0)==u<<24>>24:0){Ta=447;break r}g=k[g>>2]|0;if(!g){Ta=431;break}}}else{g=W;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=431;break r}if((i[g+8>>0]|0)==q<<24>>24?(i[g+9>>0]|0)==u<<24>>24:0){Ta=447;break r}g=k[g>>2]|0;if(!g){Ta=431;break}}}else Ta=431}else{f=0;Ta=431}while(0);if((Ta|0)==431){while(1){g=Xa(16)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}Ta=m+8|0;i[Ta>>0]=v;i[Ta+1>>0]=v>>8;k[m+12>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[C>>2]|0)+1|0)>>>0);t=+o[G>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Fd(Va,f>>>0>>0?g:f);f=k[B>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[D>>2];k[D>>2]=m;k[f>>2]=D;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[C>>2]=(k[C>>2]|0)+1;Ta=447}if((Ta|0)==447){Ta=0;Ra=E;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[F>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}f=y+1|0;h=k[H>>2]|0;if((f|0)>=(h|0))break q;y=f;h=k[B>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(ta=n+(h<<2)|0,(p|0)!=(ta|0)):0)k[g>>2]=p+(~((p+-4-ta|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[H>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[H>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 3:{I=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[I>>2]=1.0;J=a+80|0;d=k[J>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[J>>2]|0;u:do if((h|0)>0){B=b+48|0;C=b+40|0;D=Va+4|0;E=Va+12|0;F=Va+8|0;G=a+40|0;H=a+64|0;z=Ua+1|0;A=Ua+2|0;y=0;d=0;h=0;while(1){v=y+c|0;q=B;u=k[q>>2]|0;q=k[q+4>>2]|0;x=C;v=Af(k[x>>2]|0,k[x+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;q=Yf(v|0,L|0,u|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;i[Ua>>0]=i[q>>0]|0;i[Ua+1>>0]=i[q+1>>0]|0;i[Ua+2>>0]=i[q+2>>0]|0;q=i[Ua>>0]|0;u=i[z>>0]|0;v=i[A>>0]|0;x=((q&255^318)+239^u&255)+239^v&255;w=(h|0)==0;v:do if(!w){p=h+-1|0;n=(p&h|0)==0;if(n)g=x&p;else g=(x>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;w:do if(f|0?(ba=k[f>>2]|0,ba|0):0){x:do if(n){f=ba;while(1){if((k[f+4>>2]&p|0)!=(g|0))break w;do if((i[f+8>>0]|0)==q<<24>>24){if((i[f+9>>0]|0)!=u<<24>>24)break;if((i[f+10>>0]|0)==v<<24>>24)break x}while(0);f=k[f>>2]|0;if(!f)break w}}else{f=ba;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break w;do if((i[f+8>>0]|0)==q<<24>>24){if((i[f+9>>0]|0)!=u<<24>>24)break;if((i[f+10>>0]|0)==v<<24>>24)break x}while(0);f=k[f>>2]|0;if(!f)break w}}while(0);k[e+(y<<2)>>2]=k[f+12>>2];break v}while(0);if(n)f=p&x;else f=(x>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(fa=k[g>>2]|0,(fa|0)!=0):0)if(n){g=fa;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=516;break v}do if((i[g+8>>0]|0)==q<<24>>24){if((i[g+9>>0]|0)!=u<<24>>24)break;if((i[g+10>>0]|0)==v<<24>>24){Ta=532;break v}}while(0);g=k[g>>2]|0;if(!g){Ta=516;break}}}else{g=fa;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=516;break v}do if((i[g+8>>0]|0)==q<<24>>24){if((i[g+9>>0]|0)!=u<<24>>24)break;if((i[g+10>>0]|0)==v<<24>>24){Ta=532;break v}}while(0);g=k[g>>2]|0;if(!g){Ta=516;break}}}else Ta=516}else{f=0;Ta=516}while(0);if((Ta|0)==516){while(1){g=Xa(16)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}i[m+8>>0]=q;i[m+9>>0]=u;i[m+10>>0]=v;k[m+12>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[E>>2]|0)+1|0)>>>0);t=+o[I>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Ed(Va,f>>>0>>0?g:f);f=k[D>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[F>>2];k[F>>2]=m;k[f>>2]=F;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[E>>2]=(k[E>>2]|0)+1;Ta=532}if((Ta|0)==532){Ta=0;Ra=G;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[H>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}f=y+1|0;h=k[J>>2]|0;if((f|0)>=(h|0))break u;y=f;h=k[D>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Ha=n+(h<<2)|0,(p|0)!=(Ha|0)):0)k[g>>2]=p+(~((p+-4-Ha|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[J>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[J>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 4:{M=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[M>>2]=1.0;N=a+80|0;d=k[N>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[N>>2]|0;if((h|0)>0){E=b+48|0;F=b+40|0;G=Va+4|0;H=Va+12|0;I=Va+8|0;J=a+40|0;K=a+64|0;D=0;d=0;do{f=D+c|0;g=E;n=k[g>>2]|0;g=k[g+4>>2]|0;h=F;h=Af(f|0,((f|0)<0)<<31>>31|0,k[h>>2]|0,k[h+4>>2]|0)|0;g=Yf(h|0,L|0,n|0,g|0)|0;g=(k[k[b>>2]>>2]|0)+g|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[Ua>>2]=g;k[Sa>>2]=g;n=k[Va>>2]|0;h=k[G>>2]|0;f=Yc(n,h,Sa)|0;if(!f){q=g&255;y=g>>>8;u=y&255;z=g>>>16;v=z&255;A=g>>>24;w=A&255;x=g&255;y=y&255;z=z&255;C=(((x^318)+239^y)+239^z)+239^A;B=(h|0)==0;y:do if(!B){p=h+-1|0;m=(p&h|0)==0;if(m)f=C&p;else f=(C>>>0)%(h>>>0)|0;g=k[n+(f<<2)>>2]|0;if((g|0)!=0?(Y=k[g>>2]|0,(Y|0)!=0):0)if(m){g=Y;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=588;break y}do if((i[g+8>>0]|0)==q<<24>>24){if((i[g+9>>0]|0)!=u<<24>>24)break;if((i[g+10>>0]|0)!=v<<24>>24)break;if((i[g+11>>0]|0)==w<<24>>24)break y}while(0);g=k[g>>2]|0;if(!g){Ta=588;break}}}else{g=Y;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=588;break y}do if((i[g+8>>0]|0)==q<<24>>24){if((i[g+9>>0]|0)!=u<<24>>24)break;if((i[g+10>>0]|0)!=v<<24>>24)break;if((i[g+11>>0]|0)==w<<24>>24)break y}while(0);g=k[g>>2]|0;if(!g){Ta=588;break}}}else Ta=588}else{f=0;Ta=588}while(0);if((Ta|0)==588){Ta=0;while(1){g=Xa(16)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}Ra=m+8|0;Qa=A<<24|x|z<<16|y<<8;i[Ra>>0]=Qa;i[Ra+1>>0]=Qa>>8;i[Ra+2>>0]=Qa>>16;i[Ra+3>>0]=Qa>>24;k[m+12>>2]=d;k[m+4>>2]=C;k[m>>2]=0;s=+(((k[H>>2]|0)+1|0)>>>0);t=+o[M>>2];do if(B|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Dd(Va,f>>>0>>0?g:f);f=k[G>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&C;break}else{h=f;f=(C>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[I>>2];k[I>>2]=m;k[f>>2]=I;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[H>>2]=(k[H>>2]|0)+1}Qa=J;Ra=k[Qa>>2]|0;Qa=Af(Ra|0,k[Qa+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[K>>2]>>2]|0)+Qa|0,Ua|0,Ra|0)|0;k[e+(D<<2)>>2]=d;d=d+1|0}else k[e+(D<<2)>>2]=k[f+12>>2];D=D+1|0;h=k[N>>2]|0}while((D|0)<(h|0))}else d=0;if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(za=n+(h<<2)|0,(p|0)!=(za|0)):0)k[g>>2]=p+(~((p+-4-za|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[N>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[N>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}default:{d=0;break a}}case 11:case 2:switch(i[b+24>>0]|0){case 1:{D=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[D>>2]=1.0;E=a+80|0;d=k[E>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[E>>2]|0;z:do if((h|0)>0){w=b+48|0;x=b+40|0;y=Va+4|0;z=Va+12|0;A=Va+8|0;B=a+40|0;C=a+64|0;h=0;v=0;d=0;while(1){Ra=v+c|0;q=w;u=k[q>>2]|0;q=k[q+4>>2]|0;Sa=x;Sa=Af(Ra|0,((Ra|0)<0)<<31>>31|0,k[Sa>>2]|0,k[Sa+4>>2]|0)|0;q=Yf(Sa|0,L|0,u|0,q|0)|0;q=i[(k[k[b>>2]>>2]|0)+q>>0]|0;i[Ua>>0]=q;u=q&255^318;A:do if(h){p=h+-1|0;n=(p&h|0)==0;if(n)g=p&u;else g=(u>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;B:do if(f|0){if(n)do{f=k[f>>2]|0;if(!f)break B;if((k[f+4>>2]&p|0)!=(g|0))break B}while((i[f+8>>0]|0)!=q<<24>>24);else do{f=k[f>>2]|0;if(!f)break B;if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break B}while((i[f+8>>0]|0)!=q<<24>>24);k[e+(v<<2)>>2]=k[f+12>>2];break A}while(0);if(n)f=p&u;else f=(u>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if(g)if(n)while(1){g=k[g>>2]|0;if(!g){m=0;Ta=663;break A}if((k[g+4>>2]&p|0)!=(f|0)){m=0;Ta=663;break A}if((i[g+8>>0]|0)==q<<24>>24){Ta=679;break}}else while(1){g=k[g>>2]|0;if(!g){m=0;Ta=663;break A}if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){m=0;Ta=663;break A}if((i[g+8>>0]|0)==q<<24>>24){Ta=679;break}}else{m=0;Ta=663}}else{f=0;h=0;m=1;Ta=663}while(0);if((Ta|0)==663){while(1){g=Xa(16)|0;if(g|0){n=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){n=0;break}Na[g&1]()}i[n+8>>0]=q;k[n+12>>2]=d;k[n+4>>2]=u;k[n>>2]=0;s=+(((k[z>>2]|0)+1|0)>>>0);t=+o[D>>2];do if(m|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Gd(Va,f>>>0>>0?g:f);f=k[y>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&u;break}else{h=f;f=(u>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[n>>2]=k[A>>2];k[A>>2]=n;k[f>>2]=A;f=k[n>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=n}}else{k[n>>2]=k[g>>2];k[g>>2]=n}k[z>>2]=(k[z>>2]|0)+1;Ta=679}if((Ta|0)==679){Ta=0;Ra=B;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[C>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(v<<2)>>2]=d;d=d+1|0}f=v+1|0;h=k[E>>2]|0;if((f|0)>=(h|0))break z;h=k[y>>2]|0;v=f}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Aa=n+(h<<2)|0,(p|0)!=(Aa|0)):0)k[g>>2]=p+(~((p+-4-Aa|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[E>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[E>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 2:{G=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[G>>2]=1.0;H=a+80|0;d=k[H>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[H>>2]|0;C:do if((h|0)>0){z=b+48|0;A=b+40|0;B=Va+4|0;C=Va+12|0;D=Va+8|0;E=a+40|0;F=a+64|0;y=0;d=0;h=0;while(1){u=y+c|0;v=z;q=k[v>>2]|0;v=k[v+4>>2]|0;x=A;x=Af(u|0,((u|0)<0)<<31>>31|0,k[x>>2]|0,k[x+4>>2]|0)|0;v=Yf(x|0,L|0,q|0,v|0)|0;v=(k[k[b>>2]>>2]|0)+v|0;v=l[v>>0]|l[v+1>>0]<<8;j[Ua>>1]=v;q=v&255;x=(v&65535)>>>8;u=x&255;x=(v&255^318)+239^x&65535;w=(h|0)==0;D:do if(!w){p=h+-1|0;n=(p&h|0)==0;if(n)g=x&p;else g=(x>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;E:do if(f|0?(R=k[f>>2]|0,R|0):0){F:do if(n){f=R;while(1){if((k[f+4>>2]&p|0)!=(g|0))break E;if((i[f+8>>0]|0)==q<<24>>24?(i[f+9>>0]|0)==u<<24>>24:0)break F;f=k[f>>2]|0;if(!f)break E}}else{f=R;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break E;if((i[f+8>>0]|0)==q<<24>>24?(i[f+9>>0]|0)==u<<24>>24:0)break F;f=k[f>>2]|0;if(!f)break E}}while(0);k[e+(y<<2)>>2]=k[f+12>>2];break D}while(0);if(n)f=p&x;else f=(x>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(X=k[g>>2]|0,(X|0)!=0):0)if(n){g=X;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=744;break D}if((i[g+8>>0]|0)==q<<24>>24?(i[g+9>>0]|0)==u<<24>>24:0){Ta=760;break D}g=k[g>>2]|0;if(!g){Ta=744;break}}}else{g=X;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=744;break D}if((i[g+8>>0]|0)==q<<24>>24?(i[g+9>>0]|0)==u<<24>>24:0){Ta=760;break D}g=k[g>>2]|0;if(!g){Ta=744;break}}}else Ta=744}else{f=0;Ta=744}while(0);if((Ta|0)==744){while(1){g=Xa(16)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}Ta=m+8|0;i[Ta>>0]=v;i[Ta+1>>0]=v>>8;k[m+12>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[C>>2]|0)+1|0)>>>0);t=+o[G>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Fd(Va,f>>>0>>0?g:f);f=k[B>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[D>>2];k[D>>2]=m;k[f>>2]=D;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[C>>2]=(k[C>>2]|0)+1;Ta=760}if((Ta|0)==760){Ta=0;Ra=E;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[F>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}f=y+1|0;h=k[H>>2]|0;if((f|0)>=(h|0))break C;y=f;h=k[B>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(ua=n+(h<<2)|0,(p|0)!=(ua|0)):0)k[g>>2]=p+(~((p+-4-ua|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[H>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[H>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 3:{I=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[I>>2]=1.0;J=a+80|0;d=k[J>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[J>>2]|0;G:do if((h|0)>0){B=b+48|0;C=b+40|0;D=Va+4|0;E=Va+12|0;F=Va+8|0;G=a+40|0;H=a+64|0;z=Ua+1|0;A=Ua+2|0;y=0;d=0;h=0;while(1){v=y+c|0;q=B;u=k[q>>2]|0;q=k[q+4>>2]|0;x=C;v=Af(k[x>>2]|0,k[x+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;q=Yf(v|0,L|0,u|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;i[Ua>>0]=i[q>>0]|0;i[Ua+1>>0]=i[q+1>>0]|0;i[Ua+2>>0]=i[q+2>>0]|0;q=i[Ua>>0]|0;u=i[z>>0]|0;v=i[A>>0]|0;x=((q&255^318)+239^u&255)+239^v&255;w=(h|0)==0;H:do if(!w){p=h+-1|0;n=(p&h|0)==0;if(n)g=x&p;else g=(x>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;I:do if(f|0?(ca=k[f>>2]|0,ca|0):0){J:do if(n){f=ca;while(1){if((k[f+4>>2]&p|0)!=(g|0))break I;do if((i[f+8>>0]|0)==q<<24>>24){if((i[f+9>>0]|0)!=u<<24>>24)break;if((i[f+10>>0]|0)==v<<24>>24)break J}while(0);f=k[f>>2]|0;if(!f)break I}}else{f=ca;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break I;do if((i[f+8>>0]|0)==q<<24>>24){if((i[f+9>>0]|0)!=u<<24>>24)break;if((i[f+10>>0]|0)==v<<24>>24)break J}while(0);f=k[f>>2]|0;if(!f)break I}}while(0);k[e+(y<<2)>>2]=k[f+12>>2];break H}while(0);if(n)f=p&x;else f=(x>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(ga=k[g>>2]|0,(ga|0)!=0):0)if(n){g=ga;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=829;break H}do if((i[g+8>>0]|0)==q<<24>>24){if((i[g+9>>0]|0)!=u<<24>>24)break;if((i[g+10>>0]|0)==v<<24>>24){Ta=845;break H}}while(0);g=k[g>>2]|0;if(!g){Ta=829;break}}}else{g=ga;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=829;break H}do if((i[g+8>>0]|0)==q<<24>>24){if((i[g+9>>0]|0)!=u<<24>>24)break;if((i[g+10>>0]|0)==v<<24>>24){Ta=845;break H}}while(0);g=k[g>>2]|0;if(!g){Ta=829;break}}}else Ta=829}else{f=0;Ta=829}while(0);if((Ta|0)==829){while(1){g=Xa(16)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}i[m+8>>0]=q;i[m+9>>0]=u;i[m+10>>0]=v;k[m+12>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[E>>2]|0)+1|0)>>>0);t=+o[I>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Ed(Va,f>>>0>>0?g:f);f=k[D>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[F>>2];k[F>>2]=m;k[f>>2]=F;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[E>>2]=(k[E>>2]|0)+1;Ta=845}if((Ta|0)==845){Ta=0;Ra=G;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[H>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}f=y+1|0;h=k[J>>2]|0;if((f|0)>=(h|0))break G;y=f;h=k[D>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Ia=n+(h<<2)|0,(p|0)!=(Ia|0)):0)k[g>>2]=p+(~((p+-4-Ia|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[J>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[J>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 4:{M=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[M>>2]=1.0;N=a+80|0;d=k[N>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[N>>2]|0;if((h|0)>0){E=b+48|0;F=b+40|0;G=Va+4|0;H=Va+12|0;I=Va+8|0;J=a+40|0;K=a+64|0;D=0;d=0;do{f=D+c|0;g=E;n=k[g>>2]|0;g=k[g+4>>2]|0;h=F;h=Af(f|0,((f|0)<0)<<31>>31|0,k[h>>2]|0,k[h+4>>2]|0)|0;g=Yf(h|0,L|0,n|0,g|0)|0;g=(k[k[b>>2]>>2]|0)+g|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;k[Ua>>2]=g;k[Sa>>2]=g;n=k[Va>>2]|0;h=k[G>>2]|0;f=Yc(n,h,Sa)|0;if(!f){q=g&255;y=g>>>8;u=y&255;z=g>>>16;v=z&255;A=g>>>24;w=A&255;x=g&255;y=y&255;z=z&255;C=(((x^318)+239^y)+239^z)+239^A;B=(h|0)==0;K:do if(!B){p=h+-1|0;m=(p&h|0)==0;if(m)f=C&p;else f=(C>>>0)%(h>>>0)|0;g=k[n+(f<<2)>>2]|0;if((g|0)!=0?(_=k[g>>2]|0,(_|0)!=0):0)if(m){g=_;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=901;break K}do if((i[g+8>>0]|0)==q<<24>>24){if((i[g+9>>0]|0)!=u<<24>>24)break;if((i[g+10>>0]|0)!=v<<24>>24)break;if((i[g+11>>0]|0)==w<<24>>24)break K}while(0);g=k[g>>2]|0;if(!g){Ta=901;break}}}else{g=_;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=901;break K}do if((i[g+8>>0]|0)==q<<24>>24){if((i[g+9>>0]|0)!=u<<24>>24)break;if((i[g+10>>0]|0)!=v<<24>>24)break;if((i[g+11>>0]|0)==w<<24>>24)break K}while(0);g=k[g>>2]|0;if(!g){Ta=901;break}}}else Ta=901}else{f=0;Ta=901}while(0);if((Ta|0)==901){Ta=0;while(1){g=Xa(16)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}Ra=m+8|0;Qa=A<<24|x|z<<16|y<<8;i[Ra>>0]=Qa;i[Ra+1>>0]=Qa>>8;i[Ra+2>>0]=Qa>>16;i[Ra+3>>0]=Qa>>24;k[m+12>>2]=d;k[m+4>>2]=C;k[m>>2]=0;s=+(((k[H>>2]|0)+1|0)>>>0);t=+o[M>>2];do if(B|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Dd(Va,f>>>0>>0?g:f);f=k[G>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&C;break}else{h=f;f=(C>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[I>>2];k[I>>2]=m;k[f>>2]=I;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[H>>2]=(k[H>>2]|0)+1}Qa=J;Ra=k[Qa>>2]|0;Qa=Af(Ra|0,k[Qa+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[K>>2]>>2]|0)+Qa|0,Ua|0,Ra|0)|0;k[e+(D<<2)>>2]=d;d=d+1|0}else k[e+(D<<2)>>2]=k[f+12>>2];D=D+1|0;h=k[N>>2]|0}while((D|0)<(h|0))}else d=0;if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Ca=n+(h<<2)|0,(p|0)!=(Ca|0)):0)k[g>>2]=p+(~((p+-4-Ca|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[N>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[N>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}default:{d=0;break a}}case 4:switch(i[b+24>>0]|0){case 1:{D=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[D>>2]=1.0;E=a+80|0;d=k[E>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[E>>2]|0;L:do if((h|0)>0){w=b+48|0;x=b+40|0;y=Va+4|0;z=Va+12|0;A=Va+8|0;B=a+40|0;C=a+64|0;h=0;v=0;d=0;while(1){Ra=v+c|0;q=w;u=k[q>>2]|0;q=k[q+4>>2]|0;Sa=x;Sa=Af(Ra|0,((Ra|0)<0)<<31>>31|0,k[Sa>>2]|0,k[Sa+4>>2]|0)|0;q=Yf(Sa|0,L|0,u|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8;j[Ua>>1]=q;u=q&65535^318;M:do if(h){p=h+-1|0;n=(p&h|0)==0;if(n)g=p&u;else g=(u>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;N:do if(f|0){if(n)do{f=k[f>>2]|0;if(!f)break N;if((k[f+4>>2]&p|0)!=(g|0))break N}while((j[f+8>>1]|0)!=q<<16>>16);else do{f=k[f>>2]|0;if(!f)break N;if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break N}while((j[f+8>>1]|0)!=q<<16>>16);k[e+(v<<2)>>2]=k[f+12>>2];break M}while(0);if(n)f=p&u;else f=(u>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if(g)if(n)while(1){g=k[g>>2]|0;if(!g){m=0;Ta=976;break M}if((k[g+4>>2]&p|0)!=(f|0)){m=0;Ta=976;break M}if((j[g+8>>1]|0)==q<<16>>16){Ta=992;break}}else while(1){g=k[g>>2]|0;if(!g){m=0;Ta=976;break M}if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){m=0;Ta=976;break M}if((j[g+8>>1]|0)==q<<16>>16){Ta=992;break}}else{m=0;Ta=976}}else{f=0;h=0;m=1;Ta=976}while(0);if((Ta|0)==976){while(1){g=Xa(16)|0;if(g|0){n=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){n=0;break}Na[g&1]()}j[n+8>>1]=q;k[n+12>>2]=d;k[n+4>>2]=u;k[n>>2]=0;s=+(((k[z>>2]|0)+1|0)>>>0);t=+o[D>>2];do if(m|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;zd(Va,f>>>0>>0?g:f);f=k[y>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&u;break}else{h=f;f=(u>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[n>>2]=k[A>>2];k[A>>2]=n;k[f>>2]=A;f=k[n>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=n}}else{k[n>>2]=k[g>>2];k[g>>2]=n}k[z>>2]=(k[z>>2]|0)+1;Ta=992}if((Ta|0)==992){Ta=0;Ra=B;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[C>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(v<<2)>>2]=d;d=d+1|0}f=v+1|0;h=k[E>>2]|0;if((f|0)>=(h|0))break L;h=k[y>>2]|0;v=f}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Da=n+(h<<2)|0,(p|0)!=(Da|0)):0)k[g>>2]=p+(~((p+-4-Da|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[E>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[E>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 2:{G=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[G>>2]=1.0;H=a+80|0;d=k[H>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[H>>2]|0;O:do if((h|0)>0){z=b+48|0;A=b+40|0;B=Va+4|0;C=Va+12|0;D=Va+8|0;E=a+40|0;F=a+64|0;y=0;d=0;h=0;while(1){u=y+c|0;v=z;q=k[v>>2]|0;v=k[v+4>>2]|0;x=A;x=Af(u|0,((u|0)<0)<<31>>31|0,k[x>>2]|0,k[x+4>>2]|0)|0;v=Yf(x|0,L|0,q|0,v|0)|0;v=(k[k[b>>2]>>2]|0)+v|0;v=l[v>>0]|l[v+1>>0]<<8|l[v+2>>0]<<16|l[v+3>>0]<<24;k[Ua>>2]=v;q=v&65535;x=v>>>16;u=x&65535;x=(v&65535^318)+239^x;w=(h|0)==0;P:do if(!w){p=h+-1|0;n=(p&h|0)==0;if(n)g=x&p;else g=(x>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;Q:do if(f|0?(O=k[f>>2]|0,O|0):0){R:do if(n){f=O;while(1){if((k[f+4>>2]&p|0)!=(g|0))break Q;if((j[f+8>>1]|0)==q<<16>>16?(j[f+10>>1]|0)==u<<16>>16:0)break R;f=k[f>>2]|0;if(!f)break Q}}else{f=O;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break Q;if((j[f+8>>1]|0)==q<<16>>16?(j[f+10>>1]|0)==u<<16>>16:0)break R;f=k[f>>2]|0;if(!f)break Q}}while(0);k[e+(y<<2)>>2]=k[f+12>>2];break P}while(0);if(n)f=p&x;else f=(x>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(S=k[g>>2]|0,(S|0)!=0):0)if(n){g=S;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=1057;break P}if((j[g+8>>1]|0)==q<<16>>16?(j[g+10>>1]|0)==u<<16>>16:0){Ta=1073;break P}g=k[g>>2]|0;if(!g){Ta=1057;break}}}else{g=S;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=1057;break P}if((j[g+8>>1]|0)==q<<16>>16?(j[g+10>>1]|0)==u<<16>>16:0){Ta=1073;break P}g=k[g>>2]|0;if(!g){Ta=1057;break}}}else Ta=1057}else{f=0;Ta=1057}while(0);if((Ta|0)==1057){while(1){g=Xa(16)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}Ta=m+8|0;j[Ta>>1]=v;j[Ta+2>>1]=v>>>16;k[m+12>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[C>>2]|0)+1|0)>>>0);t=+o[G>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;yd(Va,f>>>0>>0?g:f);f=k[B>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[D>>2];k[D>>2]=m;k[f>>2]=D;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[C>>2]=(k[C>>2]|0)+1;Ta=1073}if((Ta|0)==1073){Ta=0;Ra=E;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[F>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}f=y+1|0;h=k[H>>2]|0;if((f|0)>=(h|0))break O;y=f;h=k[B>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(va=n+(h<<2)|0,(p|0)!=(va|0)):0)k[g>>2]=p+(~((p+-4-va|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[H>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[H>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 3:{I=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[I>>2]=1.0;J=a+80|0;d=k[J>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[J>>2]|0;S:do if((h|0)>0){B=b+48|0;C=b+40|0;D=Va+4|0;E=Va+12|0;F=Va+8|0;G=a+40|0;H=a+64|0;z=Ua+2|0;A=Ua+4|0;d=0;y=0;h=0;while(1){v=y+c|0;q=B;u=k[q>>2]|0;q=k[q+4>>2]|0;x=C;v=Af(k[x>>2]|0,k[x+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;q=Yf(v|0,L|0,u|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;i[Ua>>0]=i[q>>0]|0;i[Ua+1>>0]=i[q+1>>0]|0;i[Ua+2>>0]=i[q+2>>0]|0;i[Ua+3>>0]=i[q+3>>0]|0;i[Ua+4>>0]=i[q+4>>0]|0;i[Ua+5>>0]=i[q+5>>0]|0;q=j[Ua>>1]|0;u=j[z>>1]|0;v=j[A>>1]|0;x=((q&65535^318)+239^u&65535)+239^v&65535;w=(h|0)==0;T:do if(!w){p=h+-1|0;n=(p&h|0)==0;if(n)g=x&p;else g=(x>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;U:do if(f|0?($=k[f>>2]|0,$|0):0){V:do if(n){f=$;while(1){if((k[f+4>>2]&p|0)!=(g|0))break U;do if((j[f+8>>1]|0)==q<<16>>16){if((j[f+10>>1]|0)!=u<<16>>16)break;if((j[f+12>>1]|0)==v<<16>>16)break V}while(0);f=k[f>>2]|0;if(!f)break U}}else{f=$;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break U;do if((j[f+8>>1]|0)==q<<16>>16){if((j[f+10>>1]|0)!=u<<16>>16)break;if((j[f+12>>1]|0)==v<<16>>16)break V}while(0);f=k[f>>2]|0;if(!f)break U}}while(0);k[e+(y<<2)>>2]=k[f+16>>2];break T}while(0);if(n)f=p&x;else f=(x>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(da=k[g>>2]|0,(da|0)!=0):0)if(n){g=da;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=1142;break T}do if((j[g+8>>1]|0)==q<<16>>16){if((j[g+10>>1]|0)!=u<<16>>16)break;if((j[g+12>>1]|0)==v<<16>>16){Ta=1158;break T}}while(0);g=k[g>>2]|0;if(!g){Ta=1142;break}}}else{g=da;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=1142;break T}do if((j[g+8>>1]|0)==q<<16>>16){if((j[g+10>>1]|0)!=u<<16>>16)break;if((j[g+12>>1]|0)==v<<16>>16){Ta=1158;break T}}while(0);g=k[g>>2]|0;if(!g){Ta=1142;break}}}else Ta=1142}else{f=0;Ta=1142}while(0);if((Ta|0)==1142){while(1){g=Xa(20)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}j[m+8>>1]=q;j[m+10>>1]=u;j[m+12>>1]=v;k[m+16>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[E>>2]|0)+1|0)>>>0);t=+o[I>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Hd(Va,f>>>0>>0?g:f);f=k[D>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[F>>2];k[F>>2]=m;k[f>>2]=F;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[E>>2]=(k[E>>2]|0)+1;Ta=1158}if((Ta|0)==1158){Ta=0;Ra=G;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[H>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}f=y+1|0;h=k[J>>2]|0;if((f|0)>=(h|0))break S;y=f;h=k[D>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Ja=n+(h<<2)|0,(p|0)!=(Ja|0)):0)k[g>>2]=p+(~((p+-4-Ja|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[J>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[J>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 4:{K=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[K>>2]=1.0;M=a+80|0;d=k[M>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[M>>2]|0;if((h|0)>0){D=b+48|0;E=b+40|0;F=Va+4|0;G=Va+12|0;H=Va+8|0;I=a+40|0;J=a+64|0;C=0;d=0;do{h=C+c|0;z=D;y=k[z>>2]|0;z=k[z+4>>2]|0;g=E;g=Af(h|0,((h|0)<0)<<31>>31|0,k[g>>2]|0,k[g+4>>2]|0)|0;z=Yf(g|0,L|0,y|0,z|0)|0;z=(k[k[b>>2]>>2]|0)+z|0;y=z;y=l[y>>0]|l[y+1>>0]<<8|l[y+2>>0]<<16|l[y+3>>0]<<24;z=z+4|0;z=l[z>>0]|l[z+1>>0]<<8|l[z+2>>0]<<16|l[z+3>>0]<<24;g=Ua;k[g>>2]=y;k[g+4>>2]=z;g=Sa;k[g>>2]=y;k[g+4>>2]=z;g=k[Va>>2]|0;h=k[F>>2]|0;f=Wc(g,h,Sa)|0;if(!f){p=y&65535;B=Kf(y|0,z|0,16)|0;q=B&65535;u=z&65535;w=Kf(y|0,z|0,48)|0;x=L;v=w&65535;B=(((y&65535^318)+239^B&65535)+239^z&65535)+239^w;A=(h|0)==0;W:do if(!A){n=h+-1|0;m=(n&h|0)==0;if(m)f=B&n;else f=(B>>>0)%(h>>>0)|0;g=k[g+(f<<2)>>2]|0;if((g|0)!=0?(T=k[g>>2]|0,(T|0)!=0):0)if(m){g=T;while(1){if((k[g+4>>2]&n|0)!=(f|0)){Ta=1214;break W}do if((j[g+8>>1]|0)==p<<16>>16){if((j[g+10>>1]|0)!=q<<16>>16)break;if((j[g+12>>1]|0)!=u<<16>>16)break;if((j[g+14>>1]|0)==v<<16>>16)break W}while(0);g=k[g>>2]|0;if(!g){Ta=1214;break}}}else{g=T;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=1214;break W}do if((j[g+8>>1]|0)==p<<16>>16){if((j[g+10>>1]|0)!=q<<16>>16)break;if((j[g+12>>1]|0)!=u<<16>>16)break;if((j[g+14>>1]|0)==v<<16>>16)break W}while(0);g=k[g>>2]|0;if(!g){Ta=1214;break}}}else Ta=1214}else{f=0;Ta=1214}while(0);if((Ta|0)==1214){Ta=0;while(1){g=Xa(20)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}Oa=Hf(w|0,x|0,48)|0;Oa=y|Oa;Qa=z&65535|L;Ra=m+8|0;Pa=Ra;j[Pa>>1]=Oa;j[Pa+2>>1]=Oa>>>16;Ra=Ra+4|0;j[Ra>>1]=Qa;j[Ra+2>>1]=Qa>>>16;k[m+16>>2]=d;k[m+4>>2]=B;k[m>>2]=0;s=+(((k[G>>2]|0)+1|0)>>>0);t=+o[K>>2];do if(A|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;xd(Va,f>>>0>>0?g:f);f=k[F>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&B;break}else{h=f;f=(B>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[H>>2];k[H>>2]=m;k[f>>2]=H;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[G>>2]=(k[G>>2]|0)+1}Qa=I;Ra=k[Qa>>2]|0;Qa=Af(Ra|0,k[Qa+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[J>>2]>>2]|0)+Qa|0,Ua|0,Ra|0)|0;k[e+(C<<2)>>2]=d;d=d+1|0}else k[e+(C<<2)>>2]=k[f+16>>2];C=C+1|0;h=k[M>>2]|0}while((C|0)<(h|0))}else d=0;if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(wa=n+(h<<2)|0,(p|0)!=(wa|0)):0)k[g>>2]=p+(~((p+-4-wa|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[M>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[M>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}default:{d=0;break a}}case 3:switch(i[b+24>>0]|0){case 1:{D=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[D>>2]=1.0;E=a+80|0;d=k[E>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[E>>2]|0;X:do if((h|0)>0){w=b+48|0;x=b+40|0;y=Va+4|0;z=Va+12|0;A=Va+8|0;B=a+40|0;C=a+64|0;h=0;v=0;d=0;while(1){Ra=v+c|0;q=w;u=k[q>>2]|0;q=k[q+4>>2]|0;Sa=x;Sa=Af(Ra|0,((Ra|0)<0)<<31>>31|0,k[Sa>>2]|0,k[Sa+4>>2]|0)|0;q=Yf(Sa|0,L|0,u|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8;j[Ua>>1]=q;u=q&65535^318;Y:do if(h){p=h+-1|0;n=(p&h|0)==0;if(n)g=p&u;else g=(u>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;Z:do if(f|0){if(n)do{f=k[f>>2]|0;if(!f)break Z;if((k[f+4>>2]&p|0)!=(g|0))break Z}while((j[f+8>>1]|0)!=q<<16>>16);else do{f=k[f>>2]|0;if(!f)break Z;if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break Z}while((j[f+8>>1]|0)!=q<<16>>16);k[e+(v<<2)>>2]=k[f+12>>2];break Y}while(0);if(n)f=p&u;else f=(u>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if(g)if(n)while(1){g=k[g>>2]|0;if(!g){m=0;Ta=1289;break Y}if((k[g+4>>2]&p|0)!=(f|0)){m=0;Ta=1289;break Y}if((j[g+8>>1]|0)==q<<16>>16){Ta=1305;break}}else while(1){g=k[g>>2]|0;if(!g){m=0;Ta=1289;break Y}if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){m=0;Ta=1289;break Y}if((j[g+8>>1]|0)==q<<16>>16){Ta=1305;break}}else{m=0;Ta=1289}}else{f=0;h=0;m=1;Ta=1289}while(0);if((Ta|0)==1289){while(1){g=Xa(16)|0;if(g|0){n=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){n=0;break}Na[g&1]()}j[n+8>>1]=q;k[n+12>>2]=d;k[n+4>>2]=u;k[n>>2]=0;s=+(((k[z>>2]|0)+1|0)>>>0);t=+o[D>>2];do if(m|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;zd(Va,f>>>0>>0?g:f);f=k[y>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&u;break}else{h=f;f=(u>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[n>>2]=k[A>>2];k[A>>2]=n;k[f>>2]=A;f=k[n>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=n}}else{k[n>>2]=k[g>>2];k[g>>2]=n}k[z>>2]=(k[z>>2]|0)+1;Ta=1305}if((Ta|0)==1305){Ta=0;Ra=B;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[C>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(v<<2)>>2]=d;d=d+1|0}f=v+1|0;h=k[E>>2]|0;if((f|0)>=(h|0))break X;h=k[y>>2]|0;v=f}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Ea=n+(h<<2)|0,(p|0)!=(Ea|0)):0)k[g>>2]=p+(~((p+-4-Ea|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[E>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[E>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 2:{G=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[G>>2]=1.0;H=a+80|0;d=k[H>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[H>>2]|0;_:do if((h|0)>0){z=b+48|0;A=b+40|0;B=Va+4|0;C=Va+12|0;D=Va+8|0;E=a+40|0;F=a+64|0;y=0;d=0;h=0;while(1){u=y+c|0;v=z;q=k[v>>2]|0;v=k[v+4>>2]|0;x=A;x=Af(u|0,((u|0)<0)<<31>>31|0,k[x>>2]|0,k[x+4>>2]|0)|0;v=Yf(x|0,L|0,q|0,v|0)|0;v=(k[k[b>>2]>>2]|0)+v|0;v=l[v>>0]|l[v+1>>0]<<8|l[v+2>>0]<<16|l[v+3>>0]<<24;k[Ua>>2]=v;q=v&65535;x=v>>>16;u=x&65535;x=(v&65535^318)+239^x;w=(h|0)==0;$:do if(!w){p=h+-1|0;n=(p&h|0)==0;if(n)g=x&p;else g=(x>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;aa:do if(f|0?(P=k[f>>2]|0,P|0):0){ba:do if(n){f=P;while(1){if((k[f+4>>2]&p|0)!=(g|0))break aa;if((j[f+8>>1]|0)==q<<16>>16?(j[f+10>>1]|0)==u<<16>>16:0)break ba;f=k[f>>2]|0;if(!f)break aa}}else{f=P;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break aa;if((j[f+8>>1]|0)==q<<16>>16?(j[f+10>>1]|0)==u<<16>>16:0)break ba;f=k[f>>2]|0;if(!f)break aa}}while(0);k[e+(y<<2)>>2]=k[f+12>>2];break $}while(0);if(n)f=p&x;else f=(x>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(U=k[g>>2]|0,(U|0)!=0):0)if(n){g=U;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=1370;break $}if((j[g+8>>1]|0)==q<<16>>16?(j[g+10>>1]|0)==u<<16>>16:0){Ta=1386;break $}g=k[g>>2]|0;if(!g){Ta=1370;break}}}else{g=U;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=1370;break $}if((j[g+8>>1]|0)==q<<16>>16?(j[g+10>>1]|0)==u<<16>>16:0){Ta=1386;break $}g=k[g>>2]|0;if(!g){Ta=1370;break}}}else Ta=1370}else{f=0;Ta=1370}while(0);if((Ta|0)==1370){while(1){g=Xa(16)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}Ta=m+8|0;j[Ta>>1]=v;j[Ta+2>>1]=v>>>16;k[m+12>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[C>>2]|0)+1|0)>>>0);t=+o[G>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;yd(Va,f>>>0>>0?g:f);f=k[B>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[D>>2];k[D>>2]=m;k[f>>2]=D;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[C>>2]=(k[C>>2]|0)+1;Ta=1386}if((Ta|0)==1386){Ta=0;Ra=E;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[F>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}f=y+1|0;h=k[H>>2]|0;if((f|0)>=(h|0))break _;y=f;h=k[B>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(xa=n+(h<<2)|0,(p|0)!=(xa|0)):0)k[g>>2]=p+(~((p+-4-xa|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[H>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[H>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 3:{I=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[I>>2]=1.0;J=a+80|0;d=k[J>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[J>>2]|0;ca:do if((h|0)>0){B=b+48|0;C=b+40|0;D=Va+4|0;E=Va+12|0;F=Va+8|0;G=a+40|0;H=a+64|0;z=Ua+2|0;A=Ua+4|0;d=0;y=0;h=0;while(1){v=y+c|0;q=B;u=k[q>>2]|0;q=k[q+4>>2]|0;x=C;v=Af(k[x>>2]|0,k[x+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;q=Yf(v|0,L|0,u|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;i[Ua>>0]=i[q>>0]|0;i[Ua+1>>0]=i[q+1>>0]|0;i[Ua+2>>0]=i[q+2>>0]|0;i[Ua+3>>0]=i[q+3>>0]|0;i[Ua+4>>0]=i[q+4>>0]|0;i[Ua+5>>0]=i[q+5>>0]|0;q=j[Ua>>1]|0;u=j[z>>1]|0;v=j[A>>1]|0;x=((q&65535^318)+239^u&65535)+239^v&65535;w=(h|0)==0;da:do if(!w){p=h+-1|0;n=(p&h|0)==0;if(n)g=x&p;else g=(x>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;ea:do if(f|0?(aa=k[f>>2]|0,aa|0):0){fa:do if(n){f=aa;while(1){if((k[f+4>>2]&p|0)!=(g|0))break ea;do if((j[f+8>>1]|0)==q<<16>>16){if((j[f+10>>1]|0)!=u<<16>>16)break;if((j[f+12>>1]|0)==v<<16>>16)break fa}while(0);f=k[f>>2]|0;if(!f)break ea}}else{f=aa;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break ea;do if((j[f+8>>1]|0)==q<<16>>16){if((j[f+10>>1]|0)!=u<<16>>16)break;if((j[f+12>>1]|0)==v<<16>>16)break fa}while(0);f=k[f>>2]|0;if(!f)break ea}}while(0);k[e+(y<<2)>>2]=k[f+16>>2];break da}while(0);if(n)f=p&x;else f=(x>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(ea=k[g>>2]|0,(ea|0)!=0):0)if(n){g=ea;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=1455;break da}do if((j[g+8>>1]|0)==q<<16>>16){if((j[g+10>>1]|0)!=u<<16>>16)break;if((j[g+12>>1]|0)==v<<16>>16){Ta=1471;break da}}while(0);g=k[g>>2]|0;if(!g){Ta=1455;break}}}else{g=ea;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=1455;break da}do if((j[g+8>>1]|0)==q<<16>>16){if((j[g+10>>1]|0)!=u<<16>>16)break;if((j[g+12>>1]|0)==v<<16>>16){Ta=1471;break da}}while(0);g=k[g>>2]|0;if(!g){Ta=1455;break}}}else Ta=1455}else{f=0;Ta=1455}while(0);if((Ta|0)==1455){while(1){g=Xa(20)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}j[m+8>>1]=q;j[m+10>>1]=u;j[m+12>>1]=v;k[m+16>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[E>>2]|0)+1|0)>>>0);t=+o[I>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Hd(Va,f>>>0>>0?g:f);f=k[D>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[F>>2];k[F>>2]=m;k[f>>2]=F;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[E>>2]=(k[E>>2]|0)+1;Ta=1471}if((Ta|0)==1471){Ta=0;Ra=G;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[H>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}f=y+1|0;h=k[J>>2]|0;if((f|0)>=(h|0))break ca;y=f;h=k[D>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Ka=n+(h<<2)|0,(p|0)!=(Ka|0)):0)k[g>>2]=p+(~((p+-4-Ka|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[J>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[J>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 4:{K=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[K>>2]=1.0;M=a+80|0;d=k[M>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[M>>2]|0;if((h|0)>0){D=b+48|0;E=b+40|0;F=Va+4|0;G=Va+12|0;H=Va+8|0;I=a+40|0;J=a+64|0;C=0;d=0;do{h=C+c|0;z=D;y=k[z>>2]|0;z=k[z+4>>2]|0;g=E;g=Af(h|0,((h|0)<0)<<31>>31|0,k[g>>2]|0,k[g+4>>2]|0)|0;z=Yf(g|0,L|0,y|0,z|0)|0;z=(k[k[b>>2]>>2]|0)+z|0;y=z;y=l[y>>0]|l[y+1>>0]<<8|l[y+2>>0]<<16|l[y+3>>0]<<24;z=z+4|0;z=l[z>>0]|l[z+1>>0]<<8|l[z+2>>0]<<16|l[z+3>>0]<<24;g=Ua;k[g>>2]=y;k[g+4>>2]=z;g=Sa;k[g>>2]=y;k[g+4>>2]=z;g=k[Va>>2]|0;h=k[F>>2]|0;f=Wc(g,h,Sa)|0;if(!f){p=y&65535;B=Kf(y|0,z|0,16)|0;q=B&65535;u=z&65535;w=Kf(y|0,z|0,48)|0;x=L;v=w&65535;B=(((y&65535^318)+239^B&65535)+239^z&65535)+239^w;A=(h|0)==0;ga:do if(!A){n=h+-1|0;m=(n&h|0)==0;if(m)f=B&n;else f=(B>>>0)%(h>>>0)|0;g=k[g+(f<<2)>>2]|0;if((g|0)!=0?(V=k[g>>2]|0,(V|0)!=0):0)if(m){g=V;while(1){if((k[g+4>>2]&n|0)!=(f|0)){Ta=1527;break ga}do if((j[g+8>>1]|0)==p<<16>>16){if((j[g+10>>1]|0)!=q<<16>>16)break;if((j[g+12>>1]|0)!=u<<16>>16)break;if((j[g+14>>1]|0)==v<<16>>16)break ga}while(0);g=k[g>>2]|0;if(!g){Ta=1527;break}}}else{g=V;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=1527;break ga}do if((j[g+8>>1]|0)==p<<16>>16){if((j[g+10>>1]|0)!=q<<16>>16)break;if((j[g+12>>1]|0)!=u<<16>>16)break;if((j[g+14>>1]|0)==v<<16>>16)break ga}while(0);g=k[g>>2]|0;if(!g){Ta=1527;break}}}else Ta=1527}else{f=0;Ta=1527}while(0);if((Ta|0)==1527){Ta=0;while(1){g=Xa(20)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}Oa=Hf(w|0,x|0,48)|0;Oa=y|Oa;Qa=z&65535|L;Ra=m+8|0;Pa=Ra;j[Pa>>1]=Oa;j[Pa+2>>1]=Oa>>>16;Ra=Ra+4|0;j[Ra>>1]=Qa;j[Ra+2>>1]=Qa>>>16;k[m+16>>2]=d;k[m+4>>2]=B;k[m>>2]=0;s=+(((k[G>>2]|0)+1|0)>>>0);t=+o[K>>2];do if(A|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;xd(Va,f>>>0>>0?g:f);f=k[F>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&B;break}else{h=f;f=(B>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[H>>2];k[H>>2]=m;k[f>>2]=H;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[G>>2]=(k[G>>2]|0)+1}Qa=I;Ra=k[Qa>>2]|0;Qa=Af(Ra|0,k[Qa+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[J>>2]>>2]|0)+Qa|0,Ua|0,Ra|0)|0;k[e+(C<<2)>>2]=d;d=d+1|0}else k[e+(C<<2)>>2]=k[f+16>>2];C=C+1|0;h=k[M>>2]|0}while((C|0)<(h|0))}else d=0;if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(ya=n+(h<<2)|0,(p|0)!=(ya|0)):0)k[g>>2]=p+(~((p+-4-ya|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[M>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[M>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}default:{d=0;break a}}case 6:switch(i[b+24>>0]|0){case 1:{D=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[D>>2]=1.0;E=a+80|0;d=k[E>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[E>>2]|0;ha:do if((h|0)>0){w=b+48|0;x=b+40|0;y=Va+4|0;z=Va+12|0;A=Va+8|0;B=a+40|0;C=a+64|0;h=0;v=0;d=0;while(1){Ra=v+c|0;q=w;u=k[q>>2]|0;q=k[q+4>>2]|0;Sa=x;Sa=Af(Ra|0,((Ra|0)<0)<<31>>31|0,k[Sa>>2]|0,k[Sa+4>>2]|0)|0;q=Yf(Sa|0,L|0,u|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[Ua>>2]=q;u=q^318;ia:do if(h){p=h+-1|0;n=(p&h|0)==0;if(n)g=p&u;else g=(u>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;ja:do if(f|0){if(n)do{f=k[f>>2]|0;if(!f)break ja;if((k[f+4>>2]&p|0)!=(g|0))break ja}while((k[f+8>>2]|0)!=(q|0));else do{f=k[f>>2]|0;if(!f)break ja;if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break ja}while((k[f+8>>2]|0)!=(q|0));k[e+(v<<2)>>2]=k[f+12>>2];break ia}while(0);if(n)f=p&u;else f=(u>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if(g)if(n)while(1){g=k[g>>2]|0;if(!g){m=0;Ta=1602;break ia}if((k[g+4>>2]&p|0)!=(f|0)){m=0;Ta=1602;break ia}if((k[g+8>>2]|0)==(q|0)){Ta=1618;break}}else while(1){g=k[g>>2]|0;if(!g){m=0;Ta=1602;break ia}if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){m=0;Ta=1602;break ia}if((k[g+8>>2]|0)==(q|0)){Ta=1618;break}}else{m=0;Ta=1602}}else{f=0;h=0;m=1;Ta=1602}while(0);if((Ta|0)==1602){while(1){g=Xa(16)|0;if(g|0){n=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){n=0;break}Na[g&1]()}k[n+8>>2]=q;k[n+12>>2]=d;k[n+4>>2]=u;k[n>>2]=0;s=+(((k[z>>2]|0)+1|0)>>>0);t=+o[D>>2];do if(m|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Md(Va,f>>>0>>0?g:f);f=k[y>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&u;break}else{h=f;f=(u>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[n>>2]=k[A>>2];k[A>>2]=n;k[f>>2]=A;f=k[n>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=n}}else{k[n>>2]=k[g>>2];k[g>>2]=n}k[z>>2]=(k[z>>2]|0)+1;Ta=1618}if((Ta|0)==1618){Ta=0;Ra=B;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[C>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(v<<2)>>2]=d;d=d+1|0}f=v+1|0;h=k[E>>2]|0;if((f|0)>=(h|0))break ha;h=k[y>>2]|0;v=f}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Fa=n+(h<<2)|0,(p|0)!=(Fa|0)):0)k[g>>2]=p+(~((p+-4-Fa|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[E>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[E>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 2:{F=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[F>>2]=1.0;G=a+80|0;d=k[G>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[G>>2]|0;ka:do if((h|0)>0){y=b+48|0;z=b+40|0;A=Va+4|0;B=Va+12|0;C=Va+8|0;D=a+40|0;E=a+64|0;x=0;d=0;h=0;while(1){v=x+c|0;u=y;q=k[u>>2]|0;u=k[u+4>>2]|0;w=z;w=Af(v|0,((v|0)<0)<<31>>31|0,k[w>>2]|0,k[w+4>>2]|0)|0;u=Yf(w|0,L|0,q|0,u|0)|0;u=(k[k[b>>2]>>2]|0)+u|0;q=u;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;u=u+4|0;u=l[u>>0]|l[u+1>>0]<<8|l[u+2>>0]<<16|l[u+3>>0]<<24;w=Ua;k[w>>2]=q;k[w+4>>2]=u;w=(q^318)+239^u;v=(h|0)==0;la:do if(!v){p=h+-1|0;n=(p&h|0)==0;if(n)g=w&p;else g=(w>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;ma:do if(f|0?(I=k[f>>2]|0,I|0):0){na:do if(n){f=I;while(1){if((k[f+4>>2]&p|0)!=(g|0))break ma;if((k[f+8>>2]|0)==(q|0)?(k[f+12>>2]|0)==(u|0):0)break na;f=k[f>>2]|0;if(!f)break ma}}else{f=I;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break ma;if((k[f+8>>2]|0)==(q|0)?(k[f+12>>2]|0)==(u|0):0)break na;f=k[f>>2]|0;if(!f)break ma}}while(0);k[e+(x<<2)>>2]=k[f+16>>2];break la}while(0);if(n)f=p&w;else f=(w>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(M=k[g>>2]|0,(M|0)!=0):0)if(n){g=M;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=1683;break la}if((k[g+8>>2]|0)==(q|0)?(k[g+12>>2]|0)==(u|0):0){Ta=1699;break la}g=k[g>>2]|0;if(!g){Ta=1683;break}}}else{g=M;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=1683;break la}if((k[g+8>>2]|0)==(q|0)?(k[g+12>>2]|0)==(u|0):0){Ta=1699;break la}g=k[g>>2]|0;if(!g){Ta=1683;break}}}else Ta=1683}else{f=0;Ta=1683}while(0);if((Ta|0)==1683){while(1){g=Xa(20)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}Ta=m+8|0;k[Ta>>2]=q;k[Ta+4>>2]=u;k[m+16>>2]=d;k[m+4>>2]=w;k[m>>2]=0;s=+(((k[B>>2]|0)+1|0)>>>0);t=+o[F>>2];do if(v|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Cd(Va,f>>>0>>0?g:f);f=k[A>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&w;break}else{h=f;f=(w>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[C>>2];k[C>>2]=m;k[f>>2]=C;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[B>>2]=(k[B>>2]|0)+1;Ta=1699}if((Ta|0)==1699){Ta=0;Ra=D;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[E>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(x<<2)>>2]=d;d=d+1|0}f=x+1|0;h=k[G>>2]|0;if((f|0)>=(h|0))break ka;x=f;h=k[A>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(ra=n+(h<<2)|0,(p|0)!=(ra|0)):0)k[g>>2]=p+(~((p+-4-ra|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[G>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[G>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 3:{I=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[I>>2]=1.0;J=a+80|0;d=k[J>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[J>>2]|0;oa:do if((h|0)>0){B=b+48|0;C=b+40|0;D=Va+4|0;E=Va+12|0;F=Va+8|0;G=a+40|0;H=a+64|0;z=Ua+4|0;A=Ua+8|0;d=0;y=0;h=0;while(1){n=y+c|0;m=B;g=k[m>>2]|0;m=k[m+4>>2]|0;Sa=C;n=Af(k[Sa>>2]|0,k[Sa+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;m=Yf(n|0,L|0,g|0,m|0)|0;g=Ua;m=(k[k[b>>2]>>2]|0)+m|0;n=g+12|0;do{i[g>>0]=i[m>>0]|0;g=g+1|0;m=m+1|0}while((g|0)<(n|0));q=k[Ua>>2]|0;u=k[z>>2]|0;v=k[A>>2]|0;x=((q^318)+239^u)+239^v;w=(h|0)==0;pa:do if(!w){p=h+-1|0;n=(p&h|0)==0;if(n)g=x&p;else g=(x>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;qa:do if(f|0?(la=k[f>>2]|0,la|0):0){ra:do if(n){f=la;while(1){if((k[f+4>>2]&p|0)!=(g|0))break qa;do if((k[f+8>>2]|0)==(q|0)){if((k[f+12>>2]|0)!=(u|0))break;if((k[f+16>>2]|0)==(v|0))break ra}while(0);f=k[f>>2]|0;if(!f)break qa}}else{f=la;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break qa;do if((k[f+8>>2]|0)==(q|0)){if((k[f+12>>2]|0)!=(u|0))break;if((k[f+16>>2]|0)==(v|0))break ra}while(0);f=k[f>>2]|0;if(!f)break qa}}while(0);k[e+(y<<2)>>2]=k[f+20>>2];break pa}while(0);if(n)f=p&x;else f=(x>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(na=k[g>>2]|0,(na|0)!=0):0)if(n){g=na;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=1768;break pa}do if((k[g+8>>2]|0)==(q|0)){if((k[g+12>>2]|0)!=(u|0))break;if((k[g+16>>2]|0)==(v|0)){Ta=1784;break pa}}while(0);g=k[g>>2]|0;if(!g){Ta=1768;break}}}else{g=na;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=1768;break pa}do if((k[g+8>>2]|0)==(q|0)){if((k[g+12>>2]|0)!=(u|0))break;if((k[g+16>>2]|0)==(v|0)){Ta=1784;break pa}}while(0);g=k[g>>2]|0;if(!g){Ta=1768;break}}}else Ta=1768}else{f=0;Ta=1768}while(0);if((Ta|0)==1768){while(1){g=Xa(24)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}k[m+8>>2]=q;k[m+12>>2]=u;k[m+16>>2]=v;k[m+20>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[E>>2]|0)+1|0)>>>0);t=+o[I>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Bd(Va,f>>>0>>0?g:f);f=k[D>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[F>>2];k[F>>2]=m;k[f>>2]=F;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[E>>2]=(k[E>>2]|0)+1;Ta=1784}if((Ta|0)==1784){Ta=0;Ra=G;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[H>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}f=y+1|0;h=k[J>>2]|0;if((f|0)>=(h|0))break oa;y=f;h=k[D>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Pa=n+(h<<2)|0,(p|0)!=(Pa|0)):0)k[g>>2]=p+(~((p+-4-Pa|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[J>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[J>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 4:{J=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[J>>2]=1.0;K=a+80|0;d=k[K>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[K>>2]|0;if((h|0)>0){C=b+48|0;D=b+40|0;z=Ua+4|0;A=Ua+8|0;B=Ua+12|0;E=Va+4|0;F=Va+12|0;G=Va+8|0;H=a+40|0;I=a+64|0;d=0;y=0;do{m=y+c|0;f=C;g=k[f>>2]|0;f=k[f+4>>2]|0;n=D;m=Af(k[n>>2]|0,k[n+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;f=Yf(m|0,L|0,g|0,f|0)|0;f=(k[k[b>>2]>>2]|0)+f|0;g=Sa;m=f;n=g+16|0;do{i[g>>0]=i[m>>0]|0;g=g+1|0;m=m+1|0}while((g|0)<(n|0));g=Ua;m=f;n=g+16|0;do{i[g>>0]=i[m>>0]|0;g=g+1|0;m=m+1|0}while((g|0)<(n|0));g=k[Va>>2]|0;h=k[E>>2]|0;f=ad(g,h,Ua)|0;if(!f){p=k[Ua>>2]|0;q=k[z>>2]|0;u=k[A>>2]|0;v=k[B>>2]|0;x=(((p^318)+239^q)+239^u)+239^v;w=(h|0)==0;sa:do if(!w){n=h+-1|0;m=(n&h|0)==0;if(m)f=x&n;else f=(x>>>0)%(h>>>0)|0;g=k[g+(f<<2)>>2]|0;if((g|0)!=0?(ia=k[g>>2]|0,(ia|0)!=0):0)if(m){g=ia;while(1){if((k[g+4>>2]&n|0)!=(f|0)){Ta=1840;break sa}do if((k[g+8>>2]|0)==(p|0)){if((k[g+12>>2]|0)!=(q|0))break;if((k[g+16>>2]|0)!=(u|0))break;if((k[g+20>>2]|0)==(v|0))break sa}while(0);g=k[g>>2]|0;if(!g){Ta=1840;break}}}else{g=ia;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=1840;break sa}do if((k[g+8>>2]|0)==(p|0)){if((k[g+12>>2]|0)!=(q|0))break;if((k[g+16>>2]|0)!=(u|0))break;if((k[g+20>>2]|0)==(v|0))break sa}while(0);g=k[g>>2]|0;if(!g){Ta=1840;break}}}else Ta=1840}else{f=0;Ta=1840}while(0);if((Ta|0)==1840){Ta=0;while(1){g=Xa(28)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}k[m+8>>2]=p;k[m+12>>2]=q;k[m+16>>2]=u;k[m+20>>2]=v;k[m+24>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[F>>2]|0)+1|0)>>>0);t=+o[J>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Ad(Va,f>>>0>>0?g:f);f=k[E>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[G>>2];k[G>>2]=m;k[f>>2]=G;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[F>>2]=(k[F>>2]|0)+1}Qa=H;Ra=k[Qa>>2]|0;Qa=Af(Ra|0,k[Qa+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[I>>2]>>2]|0)+Qa|0,Sa|0,Ra|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}else k[e+(y<<2)>>2]=k[f+24>>2];y=y+1|0;h=k[K>>2]|0}while((y|0)<(h|0))}else d=0;if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(La=n+(h<<2)|0,(p|0)!=(La|0)):0)k[g>>2]=p+(~((p+-4-La|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[K>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[K>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}default:{d=0;break a}}case 5:switch(i[b+24>>0]|0){case 1:{D=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[D>>2]=1.0;E=a+80|0;d=k[E>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[E>>2]|0;ta:do if((h|0)>0){w=b+48|0;x=b+40|0;y=Va+4|0;z=Va+12|0;A=Va+8|0;B=a+40|0;C=a+64|0;h=0;v=0;d=0;while(1){Ra=v+c|0;q=w;u=k[q>>2]|0;q=k[q+4>>2]|0;Sa=x;Sa=Af(Ra|0,((Ra|0)<0)<<31>>31|0,k[Sa>>2]|0,k[Sa+4>>2]|0)|0;q=Yf(Sa|0,L|0,u|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[Ua>>2]=q;u=q^318;ua:do if(h){p=h+-1|0;n=(p&h|0)==0;if(n)g=p&u;else g=(u>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;va:do if(f|0){if(n)do{f=k[f>>2]|0;if(!f)break va;if((k[f+4>>2]&p|0)!=(g|0))break va}while((k[f+8>>2]|0)!=(q|0));else do{f=k[f>>2]|0;if(!f)break va;if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break va}while((k[f+8>>2]|0)!=(q|0));k[e+(v<<2)>>2]=k[f+12>>2];break ua}while(0);if(n)f=p&u;else f=(u>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if(g)if(n)while(1){g=k[g>>2]|0;if(!g){m=0;Ta=1915;break ua}if((k[g+4>>2]&p|0)!=(f|0)){m=0;Ta=1915;break ua}if((k[g+8>>2]|0)==(q|0)){Ta=1931;break}}else while(1){g=k[g>>2]|0;if(!g){m=0;Ta=1915;break ua}if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){m=0;Ta=1915;break ua}if((k[g+8>>2]|0)==(q|0)){Ta=1931;break}}else{m=0;Ta=1915}}else{f=0;h=0;m=1;Ta=1915}while(0);if((Ta|0)==1915){while(1){g=Xa(16)|0;if(g|0){n=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){n=0;break}Na[g&1]()}k[n+8>>2]=q;k[n+12>>2]=d;k[n+4>>2]=u;k[n>>2]=0;s=+(((k[z>>2]|0)+1|0)>>>0);t=+o[D>>2];do if(m|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Md(Va,f>>>0>>0?g:f);f=k[y>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&u;break}else{h=f;f=(u>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[n>>2]=k[A>>2];k[A>>2]=n;k[f>>2]=A;f=k[n>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=n}}else{k[n>>2]=k[g>>2];k[g>>2]=n}k[z>>2]=(k[z>>2]|0)+1;Ta=1931}if((Ta|0)==1931){Ta=0;Ra=B;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[C>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(v<<2)>>2]=d;d=d+1|0}f=v+1|0;h=k[E>>2]|0;if((f|0)>=(h|0))break ta;h=k[y>>2]|0;v=f}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Ga=n+(h<<2)|0,(p|0)!=(Ga|0)):0)k[g>>2]=p+(~((p+-4-Ga|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[E>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[E>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 2:{F=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[F>>2]=1.0;G=a+80|0;d=k[G>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[G>>2]|0;wa:do if((h|0)>0){y=b+48|0;z=b+40|0;A=Va+4|0;B=Va+12|0;C=Va+8|0;D=a+40|0;E=a+64|0;x=0;d=0;h=0;while(1){v=x+c|0;u=y;q=k[u>>2]|0;u=k[u+4>>2]|0;w=z;w=Af(v|0,((v|0)<0)<<31>>31|0,k[w>>2]|0,k[w+4>>2]|0)|0;u=Yf(w|0,L|0,q|0,u|0)|0;u=(k[k[b>>2]>>2]|0)+u|0;q=u;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;u=u+4|0;u=l[u>>0]|l[u+1>>0]<<8|l[u+2>>0]<<16|l[u+3>>0]<<24;w=Ua;k[w>>2]=q;k[w+4>>2]=u;w=(q^318)+239^u;v=(h|0)==0;xa:do if(!v){p=h+-1|0;n=(p&h|0)==0;if(n)g=w&p;else g=(w>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;ya:do if(f|0?(J=k[f>>2]|0,J|0):0){za:do if(n){f=J;while(1){if((k[f+4>>2]&p|0)!=(g|0))break ya;if((k[f+8>>2]|0)==(q|0)?(k[f+12>>2]|0)==(u|0):0)break za;f=k[f>>2]|0;if(!f)break ya}}else{f=J;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break ya;if((k[f+8>>2]|0)==(q|0)?(k[f+12>>2]|0)==(u|0):0)break za;f=k[f>>2]|0;if(!f)break ya}}while(0);k[e+(x<<2)>>2]=k[f+16>>2];break xa}while(0);if(n)f=p&w;else f=(w>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(N=k[g>>2]|0,(N|0)!=0):0)if(n){g=N;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=1996;break xa}if((k[g+8>>2]|0)==(q|0)?(k[g+12>>2]|0)==(u|0):0){Ta=2012;break xa}g=k[g>>2]|0;if(!g){Ta=1996;break}}}else{g=N;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=1996;break xa}if((k[g+8>>2]|0)==(q|0)?(k[g+12>>2]|0)==(u|0):0){Ta=2012;break xa}g=k[g>>2]|0;if(!g){Ta=1996;break}}}else Ta=1996}else{f=0;Ta=1996}while(0);if((Ta|0)==1996){while(1){g=Xa(20)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}Ta=m+8|0;k[Ta>>2]=q;k[Ta+4>>2]=u;k[m+16>>2]=d;k[m+4>>2]=w;k[m>>2]=0;s=+(((k[B>>2]|0)+1|0)>>>0);t=+o[F>>2];do if(v|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Cd(Va,f>>>0>>0?g:f);f=k[A>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&w;break}else{h=f;f=(w>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[C>>2];k[C>>2]=m;k[f>>2]=C;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[B>>2]=(k[B>>2]|0)+1;Ta=2012}if((Ta|0)==2012){Ta=0;Ra=D;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[E>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(x<<2)>>2]=d;d=d+1|0}f=x+1|0;h=k[G>>2]|0;if((f|0)>=(h|0))break wa;x=f;h=k[A>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(sa=n+(h<<2)|0,(p|0)!=(sa|0)):0)k[g>>2]=p+(~((p+-4-sa|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[G>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[G>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 3:{I=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[I>>2]=1.0;J=a+80|0;d=k[J>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[J>>2]|0;Aa:do if((h|0)>0){B=b+48|0;C=b+40|0;D=Va+4|0;E=Va+12|0;F=Va+8|0;G=a+40|0;H=a+64|0;z=Ua+4|0;A=Ua+8|0;d=0;y=0;h=0;while(1){n=y+c|0;m=B;g=k[m>>2]|0;m=k[m+4>>2]|0;Sa=C;n=Af(k[Sa>>2]|0,k[Sa+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;m=Yf(n|0,L|0,g|0,m|0)|0;g=Ua;m=(k[k[b>>2]>>2]|0)+m|0;n=g+12|0;do{i[g>>0]=i[m>>0]|0;g=g+1|0;m=m+1|0}while((g|0)<(n|0));q=k[Ua>>2]|0;u=k[z>>2]|0;v=k[A>>2]|0;x=((q^318)+239^u)+239^v;w=(h|0)==0;Ba:do if(!w){p=h+-1|0;n=(p&h|0)==0;if(n)g=x&p;else g=(x>>>0)%(h>>>0)|0;m=k[Va>>2]|0;f=k[m+(g<<2)>>2]|0;Ca:do if(f|0?(ma=k[f>>2]|0,ma|0):0){Da:do if(n){f=ma;while(1){if((k[f+4>>2]&p|0)!=(g|0))break Ca;do if((k[f+8>>2]|0)==(q|0)){if((k[f+12>>2]|0)!=(u|0))break;if((k[f+16>>2]|0)==(v|0))break Da}while(0);f=k[f>>2]|0;if(!f)break Ca}}else{f=ma;while(1){if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(g|0))break Ca;do if((k[f+8>>2]|0)==(q|0)){if((k[f+12>>2]|0)!=(u|0))break;if((k[f+16>>2]|0)==(v|0))break Da}while(0);f=k[f>>2]|0;if(!f)break Ca}}while(0);k[e+(y<<2)>>2]=k[f+20>>2];break Ba}while(0);if(n)f=p&x;else f=(x>>>0)%(h>>>0)|0;g=k[m+(f<<2)>>2]|0;if((g|0)!=0?(oa=k[g>>2]|0,(oa|0)!=0):0)if(n){g=oa;while(1){if((k[g+4>>2]&p|0)!=(f|0)){Ta=2081;break Ba}do if((k[g+8>>2]|0)==(q|0)){if((k[g+12>>2]|0)!=(u|0))break;if((k[g+16>>2]|0)==(v|0)){Ta=2097;break Ba}}while(0);g=k[g>>2]|0;if(!g){Ta=2081;break}}}else{g=oa;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=2081;break Ba}do if((k[g+8>>2]|0)==(q|0)){if((k[g+12>>2]|0)!=(u|0))break;if((k[g+16>>2]|0)==(v|0)){Ta=2097;break Ba}}while(0);g=k[g>>2]|0;if(!g){Ta=2081;break}}}else Ta=2081}else{f=0;Ta=2081}while(0);if((Ta|0)==2081){while(1){g=Xa(24)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}k[m+8>>2]=q;k[m+12>>2]=u;k[m+16>>2]=v;k[m+20>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[E>>2]|0)+1|0)>>>0);t=+o[I>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Bd(Va,f>>>0>>0?g:f);f=k[D>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[F>>2];k[F>>2]=m;k[f>>2]=F;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[E>>2]=(k[E>>2]|0)+1;Ta=2097}if((Ta|0)==2097){Ta=0;Ra=G;Sa=k[Ra>>2]|0;Ra=Af(Sa|0,k[Ra+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[H>>2]>>2]|0)+Ra|0,Ua|0,Sa|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}f=y+1|0;h=k[J>>2]|0;if((f|0)>=(h|0))break Aa;y=f;h=k[D>>2]|0}}else d=0;while(0);if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Qa=n+(h<<2)|0,(p|0)!=(Qa|0)):0)k[g>>2]=p+(~((p+-4-Qa|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[J>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[J>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}case 4:{J=Va+16|0;k[Va>>2]=0;k[Va+4>>2]=0;k[Va+8>>2]=0;k[Va+12>>2]=0;o[J>>2]=1.0;K=a+80|0;d=k[K>>2]|0;if(d){if(d>>>0>1073741823)Ba(11055,11078,304,11175);g=d<<2;f=(g|0)==0?1:g;while(1){e=Xa(f)|0;if(e|0)break;d=k[2993]|0;k[2993]=d+0;if(!d){e=0;break}Na[d&1]()}Ke(e|0,0,g|0)|0;h=k[K>>2]|0;if((h|0)>0){C=b+48|0;D=b+40|0;z=Ua+4|0;A=Ua+8|0;B=Ua+12|0;E=Va+4|0;F=Va+12|0;G=Va+8|0;H=a+40|0;I=a+64|0;d=0;y=0;do{m=y+c|0;f=C;g=k[f>>2]|0;f=k[f+4>>2]|0;n=D;m=Af(k[n>>2]|0,k[n+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;f=Yf(m|0,L|0,g|0,f|0)|0;f=(k[k[b>>2]>>2]|0)+f|0;g=Sa;m=f;n=g+16|0;do{i[g>>0]=i[m>>0]|0;g=g+1|0;m=m+1|0}while((g|0)<(n|0));g=Ua;m=f;n=g+16|0;do{i[g>>0]=i[m>>0]|0;g=g+1|0;m=m+1|0}while((g|0)<(n|0));g=k[Va>>2]|0;h=k[E>>2]|0;f=ad(g,h,Ua)|0;if(!f){p=k[Ua>>2]|0;q=k[z>>2]|0;u=k[A>>2]|0;v=k[B>>2]|0;x=(((p^318)+239^q)+239^u)+239^v;w=(h|0)==0;Ea:do if(!w){n=h+-1|0;m=(n&h|0)==0;if(m)f=x&n;else f=(x>>>0)%(h>>>0)|0;g=k[g+(f<<2)>>2]|0;if((g|0)!=0?(ja=k[g>>2]|0,(ja|0)!=0):0)if(m){g=ja;while(1){if((k[g+4>>2]&n|0)!=(f|0)){Ta=2153;break Ea}do if((k[g+8>>2]|0)==(p|0)){if((k[g+12>>2]|0)!=(q|0))break;if((k[g+16>>2]|0)!=(u|0))break;if((k[g+20>>2]|0)==(v|0))break Ea}while(0);g=k[g>>2]|0;if(!g){Ta=2153;break}}}else{g=ja;while(1){if((((k[g+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(f|0)){Ta=2153;break Ea}do if((k[g+8>>2]|0)==(p|0)){if((k[g+12>>2]|0)!=(q|0))break;if((k[g+16>>2]|0)!=(u|0))break;if((k[g+20>>2]|0)==(v|0))break Ea}while(0);g=k[g>>2]|0;if(!g){Ta=2153;break}}}else Ta=2153}else{f=0;Ta=2153}while(0);if((Ta|0)==2153){Ta=0;while(1){g=Xa(28)|0;if(g|0){m=g;break}g=k[2993]|0;k[2993]=g+0;if(!g){m=0;break}Na[g&1]()}k[m+8>>2]=p;k[m+12>>2]=q;k[m+16>>2]=u;k[m+20>>2]=v;k[m+24>>2]=d;k[m+4>>2]=x;k[m>>2]=0;s=+(((k[F>>2]|0)+1|0)>>>0);t=+o[J>>2];do if(w|s>+(h>>>0)*t){f=(h>>>0>2&(h+-1&h|0)==0&1|h<<1)^1;g=~~+Z(+(s/t))>>>0;Ad(Va,f>>>0>>0?g:f);f=k[E>>2]|0;g=f+-1|0;if(!(g&f)){h=f;f=g&x;break}else{h=f;f=(x>>>0)%(f>>>0)|0;break}}while(0);f=(k[Va>>2]|0)+(f<<2)|0;g=k[f>>2]|0;if(!g){k[m>>2]=k[G>>2];k[G>>2]=m;k[f>>2]=G;f=k[m>>2]|0;if(f|0){f=k[f+4>>2]|0;g=h+-1|0;if(!(g&h))f=f&g;else f=(f>>>0)%(h>>>0)|0;k[(k[Va>>2]|0)+(f<<2)>>2]=m}}else{k[m>>2]=k[g>>2];k[g>>2]=m}k[F>>2]=(k[F>>2]|0)+1}Qa=H;Ra=k[Qa>>2]|0;Qa=Af(Ra|0,k[Qa+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;xe((k[k[I>>2]>>2]|0)+Qa|0,Sa|0,Ra|0)|0;k[e+(y<<2)>>2]=d;d=d+1|0}else k[e+(y<<2)>>2]=k[f+24>>2];y=y+1|0;h=k[K>>2]|0}while((y|0)<(h|0))}else d=0;if((d|0)!=(h|0)){q=a+84|0;if(!(i[q>>0]|0)){h=k[a+68>>2]|0;f=(k[a+72>>2]|0)-h|0;if((f|0)>0){g=f>>2;f=0;do{a=h+(f<<2)|0;k[a>>2]=k[e+(k[a>>2]<<2)>>2];f=f+1|0}while((f|0)<(g|0))}}else{i[q>>0]=0;f=a+68|0;g=a+72|0;p=k[g>>2]|0;n=k[f>>2]|0;m=p-n>>2;if(h>>>0<=m>>>0){if(h>>>0>>0?(Ma=n+(h<<2)|0,(p|0)!=(Ma|0)):0)k[g>>2]=p+(~((p+-4-Ma|0)>>>2)<<2)}else{jd(f,h-m|0,2860);h=k[K>>2]|0}if((h|0)>0){if(i[q>>0]|0)Ba(10323,10342,80,10374);g=k[a+68>>2]|0;f=0;do{k[g+(f<<2)>>2]=k[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}}k[K>>2]=d}if(e)gb(e)}else d=0;e=k[Va+8>>2]|0;if(e|0)do{a=e;e=k[e>>2]|0;gb(a)}while((e|0)!=0);e=k[Va>>2]|0;k[Va>>2]=0;if(e|0)gb(e);break a}default:{d=0;break a}}default:{Va=-1;r=Wa;return Va|0}}while(0);Va=(d|0)==0?-1:d;r=Wa;return Va|0} +function xd(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=$a(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Lb(a,b);return}if(b>>>0>=d>>>0)return;c=~~+Z(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ba(c+-1|0)|0);else c=$a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Lb(a,b);return}function yd(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=$a(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Wb(a,b);return}if(b>>>0>=d>>>0)return;c=~~+Z(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ba(c+-1|0)|0);else c=$a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Wb(a,b);return}function zd(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=$a(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){hc(a,b);return}if(b>>>0>=d>>>0)return;c=~~+Z(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ba(c+-1|0)|0);else c=$a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;hc(a,b);return}function Ad(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=$a(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Mb(a,b);return}if(b>>>0>=d>>>0)return;c=~~+Z(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ba(c+-1|0)|0);else c=$a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Mb(a,b);return}function Bd(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=$a(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Sb(a,b);return}if(b>>>0>=d>>>0)return;c=~~+Z(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ba(c+-1|0)|0);else c=$a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Sb(a,b);return}function Cd(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=$a(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Xb(a,b);return}if(b>>>0>=d>>>0)return;c=~~+Z(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ba(c+-1|0)|0);else c=$a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Xb(a,b);return}function Dd(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=$a(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Nb(a,b);return}if(b>>>0>=d>>>0)return;c=~~+Z(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ba(c+-1|0)|0);else c=$a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Nb(a,b);return}function Ed(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=$a(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Tb(a,b);return}if(b>>>0>=d>>>0)return;c=~~+Z(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ba(c+-1|0)|0);else c=$a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Tb(a,b);return}function Fd(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=$a(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Yb(a,b);return}if(b>>>0>=d>>>0)return;c=~~+Z(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ba(c+-1|0)|0);else c=$a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Yb(a,b);return}function Gd(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=$a(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){ic(a,b);return}if(b>>>0>=d>>>0)return;c=~~+Z(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ba(c+-1|0)|0);else c=$a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;ic(a,b);return}function Hd(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=$a(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Rb(a,b);return}if(b>>>0>=d>>>0)return;c=~~+Z(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ba(c+-1|0)|0);else c=$a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Rb(a,b);return}function Id(a){a=a|0;var b=0,c=0,d=0,e=0;e=a+84|0;b=k[e>>2]|0;if(!b){b=a+8|0;e=k[b>>2]|0;e=(k[e+4>>2]|0)-(k[e>>2]|0)|0;c=(e|0)/12|0;if((e|0)>0)a=0;else return 1;do{Bb(b,a*3|0);a=a+1|0}while((a|0)<(c|0));return 1}d=k[b>>2]|0;if((k[b+4>>2]|0)==(d|0))return 1;c=a+8|0;b=0;a=d;do{Bb(c,k[a+(b<<2)>>2]|0);b=b+1|0;d=k[e>>2]|0;a=k[d>>2]|0}while(b>>>0<(k[d+4>>2]|0)-a>>2>>>0);return 1}function Jd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;i=n+16|0;j=n+8|0;l=n;m=k[b>>2]|0;h=k[a+8>>2]<<1;if((m|0)>(h|0))Ba(7101,7136,105,7228);f=k[b+4>>2]|0;if((f|0)>(h|0))Ba(7249,7136,106,7228);g=k[c+(e<<2)>>2]|0;if((g|0)>(h|0))Ba(7284,7136,107,7228);b=k[c+(e+1<<2)>>2]|0;if((b|0)>(h|0))Ba(7324,7136,108,7228);if((m|0)<=-1)Ba(7368,7136,110,7228);if((f|0)<=-1)Ba(7390,7136,111,7228);if((g|0)<=-1)Ba(7412,7136,112,7228);if((b|0)>-1){k[i>>2]=g;k[i+4>>2]=b;k[l>>2]=m;k[l+4>>2]=f;wc(j,a,l,i);k[d>>2]=k[j>>2];k[d+4>>2]=k[j+4>>2];r=n;return}else Ba(7439,7136,113,7228)}function Kd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=a+4|0;h=k[a>>2]|0;i=(k[g>>2]|0)-h|0;e=(i|0)/12|0;c=e+1|0;if(c>>>0>357913941)Ba(11055,11078,304,11175);j=a+8|0;d=((k[j>>2]|0)-h|0)/12|0;f=d<<1;f=d>>>0<178956970?(f>>>0>>0?c:f):357913941;if(!f)c=0;else{if(f>>>0>357913941){j=Da(4)|0;k[j>>2]=5228;ra(j|0,736,67)}d=f*12|0;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}}e=c+(e*12|0)|0;k[e>>2]=k[b>>2];k[e+4>>2]=k[b+4>>2];k[e+8>>2]=k[b+8>>2];d=e+(((i|0)/-12|0)*12|0)|0;if((i|0)>0)xe(d|0,h|0,i|0)|0;k[a>>2]=d;k[g>>2]=e+12;k[j>>2]=c+(f*12|0);if(!h)return;gb(h);return}function Ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+8|0;d=k[j>>2]|0;l=a+4|0;c=k[l>>2]|0;if(d-c>>2>>>0>=b>>>0){Ke(c|0,0,b<<2|0)|0;k[l>>2]=c+(b<<2);return}i=k[a>>2]|0;h=c-i|0;g=h>>2;c=g+b|0;if(c>>>0>1073741823)Ba(11055,11078,304,11175);e=d-i|0;f=e>>1;f=e>>2>>>0<536870911?(f>>>0>>0?c:f):1073741823;if(!f)c=0;else{if(f>>>0>1073741823){l=Da(4)|0;k[l>>2]=5228;ra(l|0,736,67)}d=f<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}}e=c+(g<<2)|0;Ke(e|0,0,b<<2|0)|0;d=e+(0-g<<2)|0;if((h|0)>0)xe(d|0,i|0,h|0)|0;k[a>>2]=d;k[l>>2]=e+(b<<2);k[j>>2]=c+(f<<2);if(!i)return;gb(i);return}function Md(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=$a(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){kc(a,b);return}if(b>>>0>=d>>>0)return;c=~~+Z(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ba(c+-1|0)|0);else c=$a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;kc(a,b);return}function Nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=a+8|0;i=k[a>>2]|0;g=i;if((((k[h>>2]|0)-i|0)/12|0)>>>0>=b>>>0)return;j=a+4|0;d=k[j>>2]|0;f=(d-i|0)/12|0;if(!b)e=0;else{if(b>>>0>357913941){j=Da(4)|0;k[j>>2]=5228;ra(j|0,736,67)}e=b*12|0;e=(e|0)==0?1:e;while(1){c=Xa(e)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}e=c}c=e+(f*12|0)|0;f=c;e=e+(b*12|0)|0;if((d|0)==(g|0))c=f;else do{b=d;d=d+-12|0;k[c+-12>>2]=k[d>>2];k[c+-8>>2]=k[b+-8>>2];k[c+-4>>2]=k[b+-4>>2];c=c+-12|0}while((d|0)!=(g|0));k[a>>2]=c;k[j>>2]=f;k[h>>2]=e;if(!i)return;gb(i);return}function Od(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a>>2]|0;if(!b)return;h=a+4|0;c=k[h>>2]|0;if((c|0)!=(b|0)){do{k[h>>2]=c+-116;g=k[c+-12>>2]|0;d=g;if(g|0){e=c+-8|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);gb(g)}d=k[c+-28>>2]|0;e=d;if(d|0){f=c+-24|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}d=k[c+-40>>2]|0;e=d;if(d|0){f=c+-36|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);gb(d)}ee(c+-112|0);c=k[h>>2]|0}while((c|0)!=(b|0));b=k[a>>2]|0}gb(b);return}function Pd(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;h=a+4|0;i=k[a>>2]|0;j=(k[h>>2]|0)-i|0;g=j>>2;c=g+1|0;if(c>>>0>1073741823)Ba(11055,11078,304,11175);l=a+8|0;e=(k[l>>2]|0)-i|0;f=e>>1;f=e>>2>>>0<536870911?(f>>>0>>0?c:f):1073741823;if(!f)c=0;else{if(f>>>0>1073741823){l=Da(4)|0;k[l>>2]=5228;ra(l|0,736,67)}d=f<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}}e=c+(g<<2)|0;k[e>>2]=k[b>>2];d=e+(0-g<<2)|0;if((j|0)>0)xe(d|0,i|0,j|0)|0;k[a>>2]=d;k[h>>2]=e+4;k[l>>2]=c+(f<<2);if(!i)return;gb(i);return}function Qd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=4172;e=a+48|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)Ja[k[(k[b>>2]|0)+4>>2]&127](b);e=k[a+36>>2]|0;b=e;if(e|0){c=a+40|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);gb(e)}d=a+24|0;b=k[d>>2]|0;if(b|0){e=a+28|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[e>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)Ja[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}gb(b)}k[a>>2]=2940;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);gb(d);return}function Rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;f=g;c=a+12|0;d=b+16|0;e=d;h=k[e+4>>2]|0;if((h|0)>0|(h|0)==0&(k[e>>2]|0)>>>0>0){r=g;return 1}e=b+4|0;yc(b,k[e>>2]|0,c,c+4|0);h=d;d=k[h+4>>2]|0;a=a+16|0;if((d|0)>0|(d|0)==0&(k[h>>2]|0)>>>0>0){r=g;return 1}h=k[e>>2]|0;k[f>>2]=h;yc(b,h,a,a+4|0);r=g;return 1}function Sd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=k[c+(d<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>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:{ab(b,c,a)|0;return}case 2:{_a(b,c,a)|0;return}case 3:{Za(b,c,a)|0;return}case 4:{Ya(b,c,a)|0;return}default:return}}function Td(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+8|0;if(k[m>>2]<<5>>>0>=b>>>0)return;if((b|0)<0)Ba(11055,11078,304,11175);l=((b+-1|0)>>>5)+1|0;c=l<<2;while(1){b=Xa(c)|0;if(b|0)break;b=k[2993]|0;k[2993]=b+0;if(!b){b=0;break}Na[b&1]()}e=b;c=k[a>>2]|0;f=a+4|0;g=k[f>>2]|0;d=c;g=(g&31)+(d+(g>>>5<<2)-c<<3)|0;if((g|0)>0?(h=g>>>5,hf(b|0,c|0,h<<2|0)|0,i=g-(h<<5)|0,j=b+(h<<2)|0,(i|0)>0):0){i=-1>>>(32-i|0);k[j>>2]=k[j>>2]&~i|k[d+(h<<2)>>2]&i}b=k[a>>2]|0;k[a>>2]=e;k[f>>2]=g;k[m>>2]=l;if(!b)return;gb(b);return}function Ud(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=a+8|0;k[i>>2]=e;h=e>>>0>1073741823?-1:e<<2;f=(h|0)==0?1:h;while(1){a=Xa(f)|0;if(a|0){g=a;break}a=k[2993]|0;k[2993]=a+0;if(!a){g=0;break}Na[a&1]()}Ke(g|0,0,h|0)|0;Jd(i,g,b,c,0);if((e|0)>=(d|0)){gb(g);return 1}f=0-e|0;a=e;do{h=c+(a<<2)|0;Jd(i,h+(f<<2)|0,b,h,a);a=a+e|0}while((a|0)<(d|0));gb(g);return 1}function Vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;h=d;if((c|0)==(d|0)){j=0;return j|0}g=k[(k[a+4>>2]|0)+8>>2]|0;f=(c-d|0)/116|0;a=0;a:while(1){c=k[g+(k[h+(a*116|0)>>2]<<2)>>2]|0;e=k[c+4>>2]|0;c=(k[c+8>>2]|0)-e|0;if((c|0)>0){d=c>>2;c=0;do{if((k[e+(c<<2)>>2]|0)==(b|0))break a;c=c+1|0}while((c|0)<(d|0))}a=a+1|0;if(a>>>0>=f>>>0){a=0;j=9;break}}if((j|0)==9)return a|0;j=(i[h+(a*116|0)+72>>0]|0)==0?0:h+(a*116|0)+4|0;return j|0}function Wd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=a+8|0;k[g>>2]=e;a=d-e|0;if((a|0)>0){f=0-e|0;do{d=b+(a<<2)|0;gc(g,d,d+(f<<2)|0,c,a);a=a-e|0}while((a|0)>0)}d=e>>>0>1073741823?-1:e<<2;f=(d|0)==0?1:d;while(1){a=Xa(f)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}Ke(a|0,0,d|0)|0;gc(g,b,a,c,0);gb(a);return 1}function Xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=a+8|0;i=k[a>>2]|0;if((k[h>>2]|0)-i>>2>>>0>=b>>>0)return;j=a+4|0;g=(k[j>>2]|0)-i|0;f=g>>2;if(!b)c=0;else{if(b>>>0>1073741823){j=Da(4)|0;k[j>>2]=5228;ra(j|0,736,67)}d=b<<2;d=(d|0)==0?1:d;while(1){c=Xa(d)|0;if(c|0)break;c=k[2993]|0;k[2993]=c+0;if(!c){c=0;break}Na[c&1]()}}e=c+(f<<2)|0;d=e+(0-f<<2)|0;if((g|0)>0)xe(d|0,i|0,g|0)|0;k[a>>2]=d;k[j>>2]=e;k[h>>2]=c+(b<<2);if(!i)return;gb(i);return}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;i=d;a:do if((c|0)!=(d|0)){h=k[(k[a+4>>2]|0)+8>>2]|0;g=(c-d|0)/116|0;c=0;b:while(1){d=k[h+(k[i+(c*116|0)>>2]<<2)>>2]|0;f=k[d+4>>2]|0;d=(k[d+8>>2]|0)-f|0;if((d|0)>0){e=d>>2;d=0;do{if((k[f+(d<<2)>>2]|0)==(b|0))break b;d=d+1|0}while((d|0)<(e|0))}c=c+1|0;if(c>>>0>=g>>>0)break a}i=i+(c*116|0)+76|0;return i|0}while(0);i=a+200|0;return i|0}function Zd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;i[a+53>>0]=1;do if((k[a+4>>2]|0)==(c|0)){i[a+52>>0]=1;e=a+16|0;c=k[e>>2]|0;if(!c){k[e>>2]=b;k[a+24>>2]=d;k[a+36>>2]=1;if(!((d|0)==1?(k[a+48>>2]|0)==1:0))break;i[a+54>>0]=1;break}if((c|0)!=(b|0)){d=a+36|0;k[d>>2]=(k[d>>2]|0)+1;i[a+54>>0]=1;break}e=a+24|0;c=k[e>>2]|0;if((c|0)==2){k[e>>2]=d;c=d}if((c|0)==1?(k[a+48>>2]|0)==1:0)i[a+54>>0]=1}while(0);return}function _d(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}d=k[a>>2]|0;if(!d)return;b=a+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~(((c+-12-d|0)>>>0)/12|0)*12|0);gb(d);return}function $d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;Pc(a,b,c);d=k[a+80>>2]|0;a=(k[a+84>>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 ae(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;do if((a|0)==(k[b+8>>2]|0)){if((k[b+4>>2]|0)==(c|0)?(f=b+28|0,(k[f>>2]|0)!=1):0)k[f>>2]=d}else if((a|0)==(k[b>>2]|0)){if((k[b+16>>2]|0)!=(c|0)?(g=b+20|0,(k[g>>2]|0)!=(c|0)):0){k[b+32>>2]=d;k[g>>2]=c;e=b+40|0;k[e>>2]=(k[e>>2]|0)+1;if((k[b+36>>2]|0)==1?(k[b+24>>2]|0)==2:0)i[b+54>>0]=1;k[b+44>>2]=4;break}if((d|0)==1)k[b+32>>2]=1}while(0);return}function be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=c+8|0;h=k[g+4>>2]|0;d=c+16|0;f=d;e=k[f>>2]|0;f=k[f+4>>2]|0;if(!((h|0)>(f|0)|((h|0)==(f|0)?(k[g>>2]|0)>>>0>e>>>0:0))){h=0;return h|0}h=i[(k[c>>2]|0)+e>>0]|0;f=Yf(e|0,f|0,1,0)|0;g=d;k[g>>2]=f;k[g+4>>2]=L;k[a+32>>2]=h&255;h=cc(a,b,c)|0;return h|0}function ce(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f;e=d;k[e>>2]=0;k[e+4>>2]=0;Mc(a,d);d=k[a+12>>2]|0;e=a+16|0;b=k[e>>2]|0;c=d;if((b|0)==(d|0))b=d;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[e>>2]=b}k[a+24>>2]=0;k[a+28>>2]=0;if(d|0){if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);gb(d)}d=k[a>>2]|0;if(!d){r=f;return}b=a+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-8-d|0)>>>3)<<3);gb(d);r=f;return}function de(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)Ba(9986,5240,153,10037);if((b|0)<=0)Ba(10066,5240,154,10037);g=a+8|0;h=a+4|0;f=0-(l[a+12>>0]|0)&255;e=0;d=k[g>>2]|0;do{if(d>>>0<4096){i=(k[h>>2]|0)+-1|0;k[h>>2]=i;d=l[(k[a>>2]|0)+i>>0]|0|d<<8;k[g>>2]=d}m=d&255;j=_(d>>>8,f)|0;i=m>>>0>>0;d=i?j+m|0:d-f-j|0;k[g>>2]=d;e=i&1|e<<1;b=b+-1|0}while((b|0)!=0);k[c>>2]=e;return}function ee(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a+52>>2]|0;c=b;if(b|0){d=a+56|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+40>>2]|0;c=b;if(b|0){d=a+44|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+28>>2]|0;c=b;if(b|0){d=a+32|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}b=k[a+12>>2]|0;if(b|0)gb(b);b=k[a>>2]|0;if(!b)return;gb(b);return}function fe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+64|0;e=g;if((a|0)!=(b|0))if((b|0)!=0?(f=sd(b,680)|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;Qa[k[(k[f>>2]|0)+28>>2]&3](f,e,k[c>>2]|0,1);if((k[e+24>>2]|0)==1){k[c>>2]=k[e+16>>2];b=1}else b=0}else b=0;else b=1;r=g;return b|0}function ge(a){a=a|0;var b=0,c=0,d=0,e=0,f=0.0,g=0,h=0;c=a+16|0;f=+p[c>>3];if(!(f<=1.0))Ba(5338,5351,22,5380);if(!(f>=0.0))Ba(5398,5351,23,5380);d=~~(f*256.0+.5)>>>0;d=d-((d|0)==256&1)|0;e=a+8|0;b=k[e>>2]|0;if(b>>>0<4096){h=a+4|0;g=(k[h>>2]|0)+-1|0;k[h>>2]=g;b=l[(k[a>>2]|0)+g>>0]|0|b<<8;k[e>>2]=b}a=b&255;d=0-(d+((d|0)==0&1))&255;g=_(b>>>8,d)|0;h=a>>>0>>0;k[e>>2]=h?g+a|0:b-d-g|0;p[c>>3]=f*.9921875+ +(h&1^1|0)*.0078125;return h|0}function he(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=4404;e=a+28|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)Ja[k[(k[b>>2]|0)+4>>2]&127](b);k[a>>2]=2968;e=a+8|0;b=k[e>>2]|0;if(!b){gb(a);return}d=a+12|0;c=k[d>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[d>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)Ja[k[(k[c>>2]|0)+4>>2]&127](c);c=k[d>>2]|0}while((c|0)!=(b|0));b=k[e>>2]|0}gb(b);gb(a);return}function ie(){var a=0,b=0;while(1){a=Xa(88)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}k[a>>2]=0;b=a+8|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;i[a+24>>0]=1;k[a+28>>2]=9;b=a+40|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[a+56>>2]=-1;j[a+60>>1]=0;b=a+64|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 a|0}function je(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4404;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)Ja[k[(k[b>>2]|0)+4>>2]&127](b);k[a>>2]=2968;d=a+8|0;b=k[d>>2]|0;if(!b)return;c=a+12|0;a=k[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-4|0;k[c>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)Ja[k[(k[a>>2]|0)+4>>2]&127](a);a=k[c>>2]|0}while((a|0)!=(b|0));b=k[d>>2]|0}gb(b);return}function ke(a){a=a|0;var b=0,c=0,d=0;if(!(k[a+64>>2]|0)){d=0;return d|0}d=a+4|0;c=a+8|0;a=k[d>>2]|0;if(((k[c>>2]|0)-a|0)>0)b=0;else{d=1;return d|0}while(1){a=k[a+(b<<2)>>2]|0;b=b+1|0;if(!(Ra(a,a,0)|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 le(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;f=k[a+20>>2]|0;h=f+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;b=f+16|0;d=b;c=k[d>>2]|0;d=Yf(c|0,k[d+4>>2]|0,4,0)|0;e=L;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){h=0;return h|0}h=(k[f>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=b;k[g>>2]=d;k[g+4>>2]=e;k[(k[a+4>>2]|0)+64>>2]=h;h=1;return h|0}function me(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4556;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}k[a+12>>2]=4580;b=k[a+32>>2]|0;if(b|0)gb(b);b=k[a+20>>2]|0;if(!b){gb(a);return}gb(b);gb(a);return}function ne(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4512;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}k[a+12>>2]=4536;b=k[a+32>>2]|0;if(b|0)gb(b);b=k[a+20>>2]|0;if(!b){gb(a);return}gb(b);gb(a);return}function oe(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4556;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}k[a+12>>2]=4580;b=k[a+32>>2]|0;if(b|0)gb(b);b=k[a+20>>2]|0;if(!b)return;gb(b);return}function pe(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4512;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}k[a+12>>2]=4536;b=k[a+32>>2]|0;if(b|0)gb(b);b=k[a+20>>2]|0;if(!b)return;gb(b);return}function qe(){var a=0,b=0;while(1){a=Xa(64)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}k[a>>2]=0;b=a+8|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;i[a+24>>0]=1;k[a+28>>2]=9;b=a+40|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[a+56>>2]=-1;j[a+60>>1]=0;return a|0}function re(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3548;b=k[a+76>>2]|0;if(b|0)gb(b);d=a+68|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)gb(b);k[a>>2]=3100;d=k[a+32>>2]|0;if(!d){gb(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);gb(d);gb(a);return}function se(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3612;d=a+36|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)gb(b);k[a>>2]=3048;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)Ja[k[(k[b>>2]|0)+4>>2]&127](b);b=k[a+16>>2]|0;if(!b){gb(a);return}c=a+20|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);gb(b);gb(a);return}function te(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2908;b=k[a+80>>2]|0;c=b;if(b|0){d=a+84|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);gb(b)}b=k[a+68>>2]|0;if(!b){_c(a);gb(a);return}c=a+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);gb(b);_c(a);gb(a);return}function ue(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3356;b=k[a+76>>2]|0;if(b|0)gb(b);d=a+68|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)gb(b);k[a>>2]=3100;d=k[a+32>>2]|0;if(!d){gb(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);gb(d);gb(a);return}function ve(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2968;d=a+8|0;b=k[d>>2]|0;if(!b){gb(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)Ja[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}gb(b);gb(a);return}function we(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+16|0;e=k[d>>2]|0;do if(e){if((e|0)!=(b|0)){c=a+36|0;k[c>>2]=(k[c>>2]|0)+1;k[a+24>>2]=2;i[a+54>>0]=1;break}a=a+24|0;if((k[a>>2]|0)==2)k[a>>2]=c}else{k[d>>2]=b;k[a+24>>2]=c;k[a+36>>2]=1}while(0);return}function xe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((c|0)>=4096)return wa(a|0,b|0,c|0)|0;d=a|0;if((a&3)==(b&3)){while(a&3){if(!c)return d|0;i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}while((c|0)>=4){k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0;c=c-4|0}}while((c|0)>0){i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}return d|0}function ye(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a)return;b=k[a+68>>2]|0;c=b;if(b|0){d=a+72|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}e=a+64|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0){c=k[b>>2]|0;if(c|0){d=b+4|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;gb(c)}gb(b)}gb(a);return}function ze(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2908;b=k[a+80>>2]|0;c=b;if(b|0){d=a+84|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);gb(b)}b=k[a+68>>2]|0;if(!b){_c(a);return}c=a+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);gb(b);_c(a);return}function Ae(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)Ba(9441,9457,62,9485);b=k[d+4>>2]|0;if(((k[d+8>>2]|0)-b>>2|0)<=(c|0))Ba(9495,9457,63,9485);b=k[b+(c<<2)>>2]|0;k[a+8>>2]=b;k[a+12>>2]=c;if((i[b+24>>0]|0)!=3){c=0;return c|0}c=(k[b+28>>2]|0)==9;return c|0}function Be(a){a=a|0;var b=0,c=0;k[a>>2]=3548;b=k[a+76>>2]|0;if(b|0)gb(b);c=a+68|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)gb(b);k[a>>2]=3100;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);gb(c);return}function Ce(a){a=a|0;var b=0,c=0;k[a>>2]=3612;c=a+36|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)gb(b);k[a>>2]=3048;c=a+28|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)Ja[k[(k[b>>2]|0)+4>>2]&127](b);c=k[a+16>>2]|0;if(!c)return;b=a+20|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(c);return}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+32|0;g=f;d=f+20|0;k[g>>2]=k[a+60>>2];k[g+4>>2]=0;k[g+8>>2]=b;k[g+12>>2]=d;k[g+16>>2]=c;a=ya(140,g|0)|0;if(a>>>0<=4294963200)if((a|0)<0)e=5;else a=k[d>>2]|0;else{k[2868]=0-a;e=5}if((e|0)==5){k[d>>2]=-1;a=-1}r=f;return a|0}function Ee(a){a=a|0;var b=0,c=0;k[a>>2]=3356;b=k[a+76>>2]|0;if(b|0)gb(b);c=a+68|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)gb(b);k[a>>2]=3100;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);gb(c);return}function Fe(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2968;d=a+8|0;b=k[d>>2]|0;if(!b)return;c=a+12|0;a=k[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-4|0;k[c>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)Ja[k[(k[a>>2]|0)+4>>2]&127](a);a=k[c>>2]|0}while((a|0)!=(b|0));b=k[d>>2]|0}gb(b);return}function Ge(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)Ba(9441,9457,62,9485);b=k[d+4>>2]|0;if(((k[d+8>>2]|0)-b>>2|0)>(c|0)){d=b+(c<<2)|0;k[a+8>>2]=k[d>>2];k[a+12>>2]=c;return (k[(k[d>>2]|0)+28>>2]|0)==9|0}else Ba(9495,9457,63,9485);return 0}function He(){var a=0,b=0,c=0;while(1){a=Xa(92)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}b=a+4|0;c=b+64|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));k[a>>2]=2908;c=a+68|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;return a|0}function Ie(a){a=a|0;var b=0,c=0,d=0;b=k[a+8>>2]|0;c=k[a+12>>2]|0;if((b|0)==(c|0)){c=1;return c|0}a=a+20|0;while(1){d=k[b>>2]|0;b=b+4|0;if(!(Pa[k[(k[d>>2]|0)+16>>2]&63](d,k[a>>2]|0)|0)){b=0;a=5;break}if((b|0)==(c|0)){b=1;a=5;break}}if((a|0)==5)return b|0;return 0}function Je(a,b,c){a=a|0;b=b|0;c=c|0;if(!(La[k[(k[a>>2]|0)+44>>2]&127](a)|0)){c=0;return c|0}c=cc(a,b,c)|0;return c|0}function Ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a+c|0;if((c|0)>=20){b=b&255;f=a&3;g=b|b<<8|b<<16|b<<24;e=d&~3;if(f){f=a+4-f|0;while((a|0)<(f|0)){i[a>>0]=b;a=a+1|0}}while((a|0)<(e|0)){k[a>>2]=g;a=a+4|0}}while((a|0)<(d|0)){i[a>>0]=b;a=a+1|0}return a-c|0}function Le(){var a=0,b=0;while(1){a=Xa(40)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}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;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;i[b+28>>0]=0;return a|0}function Me(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3048;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)Ja[k[(k[b>>2]|0)+4>>2]&127](b);d=k[a+16>>2]|0;if(!d){gb(a);return}b=a+20|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);gb(d);gb(a);return}function Ne(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)Ba(9441,9457,62,9485);b=k[d+4>>2]|0;if(((k[d+8>>2]|0)-b>>2|0)>(c|0)){k[a+8>>2]=k[b+(c<<2)>>2];k[a+12>>2]=c;return 1}else Ba(9495,9457,63,9485);return 0}function Oe(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((a|0)==(k[b+8>>2]|0))Zd(b,c,d,e);else{a=k[a+8>>2]|0;Oa[k[(k[a>>2]|0)+20>>2]&3](a,b,c,d,e,f)}return}function Pe(a){a=a|0;var b=0,c=0;k[a>>2]=3048;c=a+28|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)Ja[k[(k[b>>2]|0)+4>>2]&127](b);c=k[a+16>>2]|0;if(!c)return;b=a+20|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);gb(c);return}function Qe(a,b,c){a=a|0;b=b|0;c=c|0;if(!(nc(k[a+8>>2]|0,(k[b+4>>2]|0)-(k[b>>2]|0)>>2)|0)){c=0;return c|0}c=Ha[k[(k[a>>2]|0)+24>>2]&31](a,b,c)|0;return c|0}function Re(a){a=a|0;if(!(k[a+36>>2]|0))return 0;if(!(k[a+20>>2]|0))return 0;if(!(k[a+24>>2]|0))return 0;if(!(k[a+28>>2]|0))return 0;else return (k[a+32>>2]|0)!=0|0;return 0}function Se(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(k[b+8>>2]|0))we(b,c,d);else{a=k[a+8>>2]|0;Qa[k[(k[a>>2]|0)+28>>2]&3](a,b,c,d)}return}function Te(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 Ue(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=k[t>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){ga()|0;ta(12);return -1}k[t>>2]=a;if((a|0)>(fa()|0)?(ea()|0)==0:0){ta(12);k[t>>2]=b;return -1}return b|0}function Ve(a){a=a|0;if(!(k[a+20>>2]|0)){a=0;return a|0}if(!(k[a+24>>2]|0)){a=0;return a|0}if(!(k[a+28>>2]|0)){a=0;return a|0}a=(k[a+32>>2]|0)!=0;return a|0}function We(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 Xe(a){a=a|0;var b=0,c=0;k[a>>2]=3916;b=k[a+52>>2]|0;if(b|0)gb(b);c=a+44|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){gb(a);return}gb(b);gb(a);return}function Ye(){var a=0,b=0,c=0;while(1){a=Xa(68)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}k[a>>2]=2872;b=a+4|0;c=b+64|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));return a|0}function Ze(a){a=a|0;var b=0,c=0;k[a>>2]=4108;b=k[a+52>>2]|0;if(b|0)gb(b);c=a+44|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){gb(a);return}gb(b);gb(a);return}function _e(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;d=k[a+4>>2]|0;d=(k[d+56>>2]|0)-(k[d+52>>2]|0)>>2;i[c>>0]=0;nd(a+20|0,d,c);r=b;return}function $e(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=a;a=b-a>>2;while(1){if(!a)break;b=(a|0)/2|0;f=d+(b<<2)|0;e=(k[f>>2]|0)>>>0>>0;d=e?f+4|0:d;a=e?a+-1-b|0:b}return d|0}function af(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){b=0;return b|0}if((i[b+24>>0]|0)!=3){b=0;return b|0}k[a+36>>2]=b;b=1;return b|0}function bf(a){a=a|0;var b=0;k[a>>2]=3916;b=k[a+52>>2]|0;if(b|0)gb(b);b=a+44|0;a=k[b>>2]|0;k[b>>2]=0;if(!a)return;gb(a);return}function cf(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;d=k[a+4>>2]|0;d=(k[d+28>>2]|0)-(k[d+24>>2]|0)>>2;i[c>>0]=0;nd(a+20|0,d,c);r=b;return}function df(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3100;b=k[a+32>>2]|0;if(!b){gb(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);gb(b);gb(a);return}function ef(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 ff(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 (L=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function gf(a){a=a|0;var b=0;k[a>>2]=4108;b=k[a+52>>2]|0;if(b|0)gb(b);b=a+44|0;a=k[b>>2]|0;k[b>>2]=0;if(!a)return;gb(a);return}function hf(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 xe(a,b,c)|0;return a|0}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;if((a|0)==(k[b+8>>2]|0))Zd(b,c,d,e);return}function kf(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a)return;b=k[a>>2]|0;c=b;if(b|0){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);gb(b)}gb(a);return}function lf(a){a=a|0;var b=0,c=0;k[a>>2]=3100;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);gb(c);return}function mf(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<=-1)Ba(9441,9457,54,9485);a=k[b+4>>2]|0;if(((k[b+8>>2]|0)-a>>2|0)>(c|0))return k[a+(c<<2)>>2]|0;else Ba(9495,9457,55,9485);return 0}function nf(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)==-1|(c|0)>3){c=-1;return c|0}a=k[b+16+(c*12|0)>>2]|0;if(((k[b+16+(c*12|0)+4>>2]|0)-a|0)<=0){c=-1;return c|0}c=k[a>>2]|0;return c|0}function of(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+16|0;d=e;k[d>>2]=k[c>>2];a=Ha[k[(k[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)k[c>>2]=k[d>>2];r=e;return a&1|0}function pf(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2940;b=k[a+4>>2]|0;if(!b){gb(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);gb(b);gb(a);return}function qf(){var a=0;while(1){a=Xa(12)|0;if(a|0)break;a=k[2993]|0;k[2993]=a+0;if(!a){a=0;break}Na[a&1]()}k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return a|0}function rf(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 sf(){var a=0,b=0;while(1){a=Xa(1)|0;if(a|0){b=5;break}a=k[2993]|0;k[2993]=a+0;if(!a){a=0;b=5;break}Na[a&1]()}if((b|0)==5)return a|0;return 0}function tf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(k[b+8>>2]|0))we(b,c,d);return}function uf(a){a=a|0;var b=0,c=0;k[a>>2]=2940;c=k[a+4>>2]|0;if(!c)return;a=a+8|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);gb(c);return}function vf(a){a=a|0;var b=0;k[a>>2]=4580;b=k[a+20>>2]|0;if(b|0)gb(b);b=k[a+8>>2]|0;if(!b){gb(a);return}gb(b);gb(a);return}function wf(a){a=a|0;var b=0;k[a>>2]=4536;b=k[a+20>>2]|0;if(b|0)gb(b);b=k[a+8>>2]|0;if(!b){gb(a);return}gb(b);gb(a);return}function xf(a,b){a=a|0;b=b|0;if(!b)return 0;else Ba(7916,7927,75,8007);return 0}function yf(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=k[a+60>>2];a=ua(6,c|0)|0;if(a>>>0>4294963200){k[2868]=0-a;a=-1}r=b;return a|0}function zf(a){a=a|0;var b=0;k[a>>2]=4580;b=k[a+20>>2]|0;if(b|0)gb(b);a=k[a+8>>2]|0;if(!a)return;gb(a);return}function Af(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=ff(e,f)|0;a=L;return (L=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function Bf(a){a=a|0;var b=0;k[a>>2]=4536;b=k[a+20>>2]|0;if(b|0)gb(b);a=k[a+8>>2]|0;if(!a)return;gb(a);return}function Cf(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 Df(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 Ka[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Ef(a){a=a|0;rc(a);gb(a);return}function Ff(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;Oa[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Gf(a){a=a|0;if(!(k[a+24>>2]|0))return 0;else return La[k[(k[a>>2]|0)+48>>2]&127](a)|0;return 0}function Hf(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b<>>32-c;return a<>2]|0;return Pa[k[(k[a>>2]|0)+16>>2]&63](a,b)|0}function Jf(a,b){a=a|0;b=b|0;a=k[a+28>>2]|0;return Pa[k[(k[a>>2]|0)+12>>2]&63](a,b)|0}function Kf(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Lf(a,b){a=a|0;b=b|0;a=k[a+28>>2]|0;return Pa[k[(k[a>>2]|0)+20>>2]&63](a,b)|0}function Mf(){}function Nf(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 (L=d,a-c>>>0|0)|0}function Of(a){a=a|0;uc(a);gb(a);return}function Pf(a,b,c){a=a|0;b=b|0;c=c|0;k[a+16>>2]=b;k[a+20>>2]=c;return 1}function Qf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ia[a&3](b|0,c|0,d|0,e|0,f|0)}function Rf(a){a=a|0;a=k[a+28>>2]|0;return La[k[(k[a>>2]|0)+28>>2]&127](a)|0}function Sf(a){a=a|0;a=k[a+28>>2]|0;return La[k[(k[a>>2]|0)+24>>2]&127](a)|0}function Tf(a,b){a=a|0;b=b|0;return Pa[k[(k[a>>2]|0)+48>>2]&63](a,b)|0}function Uf(a,b){a=a|0;b=b|0;k[a+4>>2]=b;return 1}function Vf(a){a=a|0;return 3}function Wf(a){a=a|0;a=k[a+28>>2]|0;return La[k[(k[a>>2]|0)+36>>2]&127](a)|0}function Xf(a,b){a=a|0;b=b|0;k[a+8>>2]=b;k[a+12>>2]=-1;return 1}function Yf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (L=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function Zf(a){a=a|0;if(!a)return;Ja[k[(k[a>>2]|0)+4>>2]&127](a);return}function _f(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Qa[a&3](b|0,c|0,d|0,e|0)}function $f(a){a=a|0;Qd(a);gb(a);return}function ag(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ha[a&31](b|0,c|0,d|0)|0}function bg(a){a=a|0;if(!a)a=0;else a=(sd(a,768)|0)!=0;return a&1|0}function cg(a){a=a|0;return k[a+8>>2]|0}function dg(a){a=a|0;return i[(k[a+8>>2]|0)+24>>0]|0}function eg(a,b){a=a|0;b=b|0;return -1}function fg(a,b){a=a|0;b=b|0;return +(+o[(k[a>>2]|0)+(b<<2)>>2])}function gg(a,b){a=a|0;b=b|0;return k[(k[a>>2]|0)+(b<<2)>>2]|0}function hg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ma[a&7](b|0,c|0,d|0)}function ig(a){a=a|0;return k[a+4>>2]|0}function jg(a){a=a|0;var b=0;b=r;r=r+a|0;r=r+15&-16;return b|0}function kg(a){a=a|0;return ((k[a+84>>2]|0)-(k[a+80>>2]|0)|0)/12|0|0}function lg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(3);return 0}function mg(a){a=a|0;return (k[a+8>>2]|0)-(k[a+4>>2]|0)>>2|0}function ng(a,b,c){a=a|0;b=b|0;c=c|0;return Pa[a&63](b|0,c|0)|0}function og(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(7)}function pg(a,b){a=a|0;b=b|0;if(!w){w=a;x=b}}function qg(){Ba(11055,11078,304,11175)}function rg(a){a=a|0;return (i[a+32>>0]|0)!=0|0}function sg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(1)}function tg(a){a=a|0;return i[a+24>>0]|0}function ug(a){a=a|0;return m[a+60>>1]|0|0}function vg(a){a=a|0;return k[a+56>>2]|0}function wg(a){a=a|0;return 2}function xg(a,b){a=a|0;b=b|0;return 0}function yg(a){a=a|0;_c(a);gb(a);return}function zg(a){a=a|0;return k[a+40>>2]|0}function Ag(a){a=a|0;return k[a+48>>2]|0}function Bg(a){a=a|0;if(a|0)gb(a);return}function Cg(a,b){a=a|0;b=b|0;return La[a&127](b|0)|0}function Dg(a){a=a|0;return k[a+28>>2]|0}function Eg(a){a=a|0;return k[a+80>>2]|0}function Fg(a,b){a=a|0;b=b|0;r=a;s=b}function Gg(a){a=a|0;return k[a+64>>2]|0}function Hg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(9)}function Ig(a,b){a=a|0;b=b|0;Ja[a&127](b|0)}function Jg(a,b,c){a=a|0;b=b|0;c=c|0;ca(0);return 0}function Kg(a){a=a|0;return 1}function Lg(a){a=a|0;return 0}function Mg(){return 3}function Ng(a,b,c){a=a|0;b=b|0;c=c|0;ca(5)}function Og(){return 0}function Pg(){return -1}function Qg(){return 4}function Rg(){return 1}function Sg(){return 2}function Tg(a,b){a=a|0;b=b|0;ca(8);return 0}function Ug(a){a=a|0;gb(a);return}function Vg(a){a=a|0;return 11370}function Wg(a){a=a|0;Na[a&1]()}function Xg(){Ca()}function Yg(a){a=a|0;return}function Zg(a){a=a|0;r=a}function _g(a){a=a|0;L=a}function $g(a){a=a|0;ca(4);return 0}function ah(){return L|0}function bh(){return r|0}function ch(a){a=a|0;ca(2)}function dh(){ca(6)} // EMSCRIPTEN_END_FUNCS -var _a=[Hq,Vg,rh,th,vh,zh,Ah,Bh,Ch,Xi,Yi,cj,dj,ej,Zo,ap,bp,Mp,Hq,Hq,Hq,Hq,Hq,Hq,Hq,Hq,Hq,Hq,Hq,Hq,Hq,Hq];var $a=[Iq,Vp,Qp,Iq];var ab=[Jq,eg,gg,ng,vg,wg,Tg,Ug,Zg,_g,hh,ph,qh,xh,yh,Gh,Hh,Rh,Wh,$h,ai,pi,ui,zi,Ai,Ni,Vi,Wi,bj,hj,ij,zj,Ej,Fj,Sj,Xj,ak,bk,ok,xk,yk,Ek,Gk,Hk,Nk,Qk,bn,hn,jn,sn,vn,An,En,Bn,Cn,Dn,On,Sn,Pn,Qn,Rn,uo,wo,Gp,Tp,Kp,Lp,Ip,Yp,_p,_o,Ep,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq,Jq];var bb=[Kq,Uh,Vh,Zh,_h,ji,mi,si,ti,xi,yi,Ii,Li,Qi,Ri,tj,xj,Cj,Dj,Nj,Qj,Vj,Wj,_j,$j,jk,mk,rk,sk,Kq,Kq,Kq];var cb=[Lq,mg,$g,ah,bh,ch,dh,eh,ih,jh,kh,Si,Ih,Jh,Oh,Ph,Sh,Th,Xh,Yh,bi,ci,di,qi,ri,vi,wi,Bi,Ci,Di,Oi,Pi,_i,tk,jj,kj,lj,mj,rj,sj,Aj,Bj,Gj,Hj,Ij,Tj,Uj,Yj,Zj,ck,dk,ek,pk,qk,Mk,Jk,Pk,dn,kn,mn,nn,qn,Zn,ro,so,to,Gn,Un,Bo,Mo,No,Oo,Wo,$p,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq,Lq];var db=[Mq,hg,rg,xg,zg,Mq,Mq,Mq];var eb=[Nq,Oq,Bp,Dp];var fb=[Pq,Up,Op,Pq];var gb=[Qq,Wg,lh,mh,sh,uh,Ti,Kh,Lh,Mh,Nh,ei,fi,gi,hi,Ei,Fi,Gi,Hi,Zi,$i,uk,nj,oj,pj,qj,Jj,Kj,Lj,Mj,fk,gk,hk,ik,zk,Bk,Ck,Fk,Ik,Ok,Rk,cn,ln,on,pn,wn,xn,yn,zn,Fn,Tn,xo,yo,zo,Ao,Qq,Qq,Qq,Qq,Qq,Qq,Qq,Qq,Qq];var hb=[Rq,Wp,Rp,Rq];return{_emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1:yb,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:Ub,_bitshift64Shl:jq,_emscripten_bind_Mesh___destroy___0:$b,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:Pb,_emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1:wb,_emscripten_bind_PointAttribute_byte_offset_0:Mb,_emscripten_bind_PointAttribute_normalized_0:Kb,_bitshift64Lshr:lq,_i64Subtract:hq,_emscripten_bind_WebIDLWrapper_GetAttributeFloat_3:Cb,_i64Add:kq,_malloc:wp,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:jc,_fflush:rp,___cxa_is_pointer_type:fq,_emscripten_bind_PointAttribute_size_0:Gb,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:kc,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:ic,_emscripten_bind_VoidPtr___destroy___0:ac,_memset:iq,_emscripten_bind_PointAttribute_attribute_type_0:Hb,_emscripten_bind_DecoderBuffer_Init_2:Vb,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:gc,_emscripten_bind_DecoderBuffer___destroy___0:Wb,___errno_location:Yo,_emscripten_bind_PointAttribute_custom_id_0:Nb,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:hc,_emscripten_bind_DracoInt32Array___destroy___0:dc,_emscripten_bind_Mesh_num_points_0:_b,_emscripten_bind_Mesh_Mesh_0:Xb,_emscripten_bind_WebIDLWrapper_GetAttribute_2:Ab,_emscripten_bind_PointAttribute_components_count_0:Jb,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:fc,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:lc,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:mc,_emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3:Bb,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:bc,_emscripten_bind_PointAttribute_data_type_0:Ib,_emscripten_bind_Mesh_num_attributes_0:Zb,_emscripten_bind_DracoFloat32Array_GetValue_1:Qb,_emscripten_bind_DracoFloat32Array___destroy___0:Rb,_emscripten_bind_PointCloud_num_points_0:tb,_emscripten_bind_PointCloud___destroy___0:ub,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:Sb,_emscripten_bind_PointAttribute_PointAttribute_0:Fb,_free:xp,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:ec,_emscripten_bind_GeometryAttribute___destroy___0:Tb,_emscripten_bind_Mesh_num_faces_0:Yb,_emscripten_bind_DracoInt32Array_GetValue_1:cc,_emscripten_bind_PointAttribute_byte_stride_0:Lb,_emscripten_bind_WebIDLWrapper_GetAttributeId_2:zb,_memcpy:mq,_emscripten_bind_WebIDLWrapper_WebIDLWrapper_0:vb,_memmove:nq,_emscripten_bind_PointCloud_num_attributes_0:sb,_emscripten_bind_WebIDLWrapper___destroy___0:Eb,_emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1:xb,_emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3:Db,_emscripten_bind_PointCloud_PointCloud_0:rb,_emscripten_bind_PointAttribute___destroy___0:Ob,___cxa_can_catch:eq,runPostSets:gq,_emscripten_replace_memory:Za,stackAlloc:ib,stackSave:jb,stackRestore:kb,establishStackSpace:lb,setThrew:mb,setTempRet0:pb,getTempRet0:qb,dynCall_iiii:xq,dynCall_viiiii:yq,dynCall_vi:zq,dynCall_iiiiiii:Aq,dynCall_ii:Bq,dynCall_viii:Cq,dynCall_v:Dq,dynCall_viiiiii:Eq,dynCall_iii:Fq,dynCall_viiii:Gq}}) +var Ha=[Jg,Pf,Ne,Qe,rd,Ne,hd,cc,ob,Ge,Je,Ae,be,zb,id,De,fe,Jg,Jg,Jg,Jg,Jg,Jg,Jg,Jg,Jg,Jg,Jg,Jg,Jg,Jg,Jg];var Ia=[sg,ae,gd,sg];var Ja=[ch,_c,yg,bb,ze,te,uf,pf,Fe,ve,Yg,Ug,Pe,Me,lf,df,df,df,df,Ee,ue,df,df,Be,re,Ce,se,Me,Yg,Ug,Ug,Ug,bf,Xe,Ug,Ug,gf,Ze,Qd,$f,ve,Yg,Ug,ve,pf,ve,je,he,uc,Of,pe,ne,Bf,wf,cf,oe,me,zf,vf,_e,rc,Ef,Yg,Ug,Yg,Yg,Ug,Yg,Ug,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch];var Ka=[lg,Gb,bc,nb,tb,jb,pb,hb,rb,qb,wb,fb,mb,kb,sb,Wd,Ud,sc,vc,Jb,Pb,xb,Eb,pc,tc,Qb,Vb,ub,Cb,lg,lg,lg];var La=[$g,ke,Lg,Kg,Kg,dd,Ie,Kg,dg,ig,Lg,Lg,Kg,Lg,Kg,Kg,We,wg,We,Vf,Te,Kg,Kg,We,wg,We,Vf,Te,Kg,Bc,wg,Lg,ig,Kg,Lg,Kg,wg,Kg,Ve,wg,Ve,Vf,Re,Kg,Kg,Ve,wg,Ve,Vf,Re,Kg,le,Lc,le,Kg,Gf,Lg,eb,Ub,Rf,Wf,Sf,Wa,Kg,ig,cg,Id,vd,Va,Kg,ig,cg,yf,Vg,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g,$g];var Ma=[Ng,Fb,Pc,xc,$d,Ng,Ng,Ng];var Na=[dh,Xg];var Oa=[og,jf,Oe,og];var Pa=[Tg,Db,Xf,wd,lb,eg,xg,Rd,ed,xf,ef,ac,mc,xf,ef,ac,mc,Tf,Tc,Fc,eg,xg,Rd,od,xf,af,$b,qc,xf,af,$b,qc,_b,Sc,Nc,Uc,rf,td,Sa,Uc,xg,xg,Lf,Jf,If,Uf,Vd,Yd,ib,Cc,Ec,Uf,Vd,Yd,ib,Tg,Tg,Tg,Tg,Tg,Tg,Tg,Tg,Tg];var Qa=[Hg,tf,Se,Hg];return{_emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1:Kb,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:Le,_bitshift64Shl:Hf,_emscripten_bind_Mesh___destroy___0:Zf,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:qf,_emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1:bd,_emscripten_bind_PointAttribute_byte_offset_0:Ag,_emscripten_bind_PointAttribute_normalized_0:rg,_bitshift64Lshr:Kf,_i64Subtract:Nf,_emscripten_bind_WebIDLWrapper_GetAttributeFloat_3:oc,_i64Add:Yf,_malloc:Xa,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:Rg,___cxa_is_pointer_type:bg,_emscripten_bind_PointAttribute_size_0:Eg,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:Sg,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:Og,_emscripten_bind_VoidPtr___destroy___0:Bg,_memset:Ke,_emscripten_bind_PointAttribute_attribute_type_0:vg,_sbrk:Ue,_emscripten_bind_DecoderBuffer_Init_2:Cf,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:Rg,_emscripten_bind_DecoderBuffer___destroy___0:Bg,_emscripten_bind_PointAttribute_custom_id_0:ug,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:Pg,_emscripten_bind_DracoInt32Array___destroy___0:kf,_emscripten_bind_Mesh_num_points_0:Gg,_emscripten_bind_Mesh_Mesh_0:He,_emscripten_bind_WebIDLWrapper_GetAttribute_2:mf,_emscripten_bind_PointAttribute_components_count_0:tg,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:Og,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:Mg,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:Qg,_emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3:Kc,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:qf,_emscripten_bind_PointAttribute_data_type_0:Dg,_emscripten_bind_Mesh_num_attributes_0:mg,_emscripten_bind_DracoFloat32Array_GetValue_1:fg,_emscripten_bind_DracoFloat32Array___destroy___0:kf,_emscripten_bind_PointCloud_num_points_0:Gg,_emscripten_bind_PointCloud___destroy___0:Zf,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:qe,___muldsi3:ff,_emscripten_bind_PointAttribute_PointAttribute_0:ie,_free:gb,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:Pg,_emscripten_bind_GeometryAttribute___destroy___0:Bg,_emscripten_bind_Mesh_num_faces_0:kg,_emscripten_bind_DracoInt32Array_GetValue_1:gg,_emscripten_bind_PointAttribute_byte_stride_0:zg,_emscripten_bind_WebIDLWrapper_GetAttributeId_2:nf,_memcpy:xe,_emscripten_bind_WebIDLWrapper_WebIDLWrapper_0:sf,_memmove:hf,___muldi3:Af,_emscripten_bind_PointCloud_num_attributes_0:mg,_emscripten_bind_WebIDLWrapper___destroy___0:Bg,_emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1:vb,_emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3:Hb,_emscripten_bind_PointCloud_PointCloud_0:Ye,_emscripten_bind_PointAttribute___destroy___0:ye,___cxa_can_catch:of,runPostSets:Mf,_emscripten_replace_memory:Ga,stackAlloc:jg,stackSave:bh,stackRestore:Zg,establishStackSpace:Fg,setThrew:pg,setTempRet0:_g,getTempRet0:ah,dynCall_iiii:ag,dynCall_viiiii:Qf,dynCall_vi:Ig,dynCall_iiiiiii:Df,dynCall_ii:Cg,dynCall_viii:hg,dynCall_v:Wg,dynCall_viiiiii:Ff,dynCall_iii:ng,dynCall_viiii:_f}}) // EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1=Module["_emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1"]=asm["_emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1"];var _emscripten_bind_DecoderBuffer_DecoderBuffer_0=Module["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"]=asm["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_PointCloud___destroy___0=Module["_emscripten_bind_PointCloud___destroy___0"]=asm["_emscripten_bind_PointCloud___destroy___0"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1=Module["_emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1"]=asm["_emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1=Module["_emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1"]=asm["_emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1"];var _emscripten_bind_PointAttribute_normalized_0=Module["_emscripten_bind_PointAttribute_normalized_0"]=asm["_emscripten_bind_PointAttribute_normalized_0"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _emscripten_bind_WebIDLWrapper_GetAttributeFloat_3=Module["_emscripten_bind_WebIDLWrapper_GetAttributeFloat_3"]=asm["_emscripten_bind_WebIDLWrapper_GetAttributeFloat_3"];var _emscripten_bind_WebIDLWrapper_GetAttributeId_2=Module["_emscripten_bind_WebIDLWrapper_GetAttributeId_2"]=asm["_emscripten_bind_WebIDLWrapper_GetAttributeId_2"];var _fflush=Module["_fflush"]=asm["_fflush"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _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_DecoderBuffer_Init_2=Module["_emscripten_bind_DecoderBuffer_Init_2"]=asm["_emscripten_bind_DecoderBuffer_Init_2"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _emscripten_bind_DecoderBuffer___destroy___0=Module["_emscripten_bind_DecoderBuffer___destroy___0"]=asm["_emscripten_bind_DecoderBuffer___destroy___0"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];var _emscripten_bind_PointAttribute_custom_id_0=Module["_emscripten_bind_PointAttribute_custom_id_0"]=asm["_emscripten_bind_PointAttribute_custom_id_0"];var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"];var _emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_WebIDLWrapper_GetAttribute_2=Module["_emscripten_bind_WebIDLWrapper_GetAttribute_2"]=asm["_emscripten_bind_WebIDLWrapper_GetAttribute_2"];var _emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=Module["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"]=asm["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var _emscripten_bind_PointAttribute_components_count_0=Module["_emscripten_bind_PointAttribute_components_count_0"]=asm["_emscripten_bind_PointAttribute_components_count_0"];var _emscripten_bind_WebIDLWrapper___destroy___0=Module["_emscripten_bind_WebIDLWrapper___destroy___0"]=asm["_emscripten_bind_WebIDLWrapper___destroy___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_DracoInt32Array_DracoInt32Array_0=Module["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"]=asm["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3=Module["_emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3"]=asm["_emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _emscripten_bind_DracoFloat32Array_GetValue_1=Module["_emscripten_bind_DracoFloat32Array_GetValue_1"]=asm["_emscripten_bind_DracoFloat32Array_GetValue_1"];var _emscripten_bind_DracoFloat32Array___destroy___0=Module["_emscripten_bind_DracoFloat32Array___destroy___0"]=asm["_emscripten_bind_DracoFloat32Array___destroy___0"];var _emscripten_bind_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=asm["_emscripten_bind_PointCloud_num_points_0"];var _emscripten_bind_DracoInt32Array___destroy___0=Module["_emscripten_bind_DracoInt32Array___destroy___0"]=asm["_emscripten_bind_DracoInt32Array___destroy___0"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var _free=Module["_free"]=asm["_free"];var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=asm["_emscripten_bind_GeometryAttribute___destroy___0"];var _emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=Module["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"]=asm["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _malloc=Module["_malloc"]=asm["_malloc"];var _emscripten_bind_WebIDLWrapper_WebIDLWrapper_0=Module["_emscripten_bind_WebIDLWrapper_WebIDLWrapper_0"]=asm["_emscripten_bind_WebIDLWrapper_WebIDLWrapper_0"];var _memmove=Module["_memmove"]=asm["_memmove"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=Module["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"];var _emscripten_bind_DracoInt32Array_GetValue_1=Module["_emscripten_bind_DracoInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoInt32Array_GetValue_1"];var _emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3=Module["_emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3"]=asm["_emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(this.needed){for(var i=0;i=this.size){assert(len>0);this.needed+=len;ret=Module["_malloc"](len);this.temps.push(ret)}else{ret=this.buffer+this.pos;this.pos+=len}var retShifted=ret;switch(bytes){case 2:retShifted>>=1;break;case 4:retShifted>>=2;break;case 8:retShifted>>=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)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(this.needed){for(var i=0;i=this.size){assert(len>0);this.needed+=len;ret=Module["_malloc"](len);this.temps.push(ret)}else{ret=this.buffer+this.pos;this.pos+=len}var retShifted=ret;switch(bytes){case 2:retShifted>>=1;break;case 4:retShifted>>=2;break;case 8:retShifted>>=3;break}for(var i=0;i