Mercurial > hg > ugly-duckling
view src/assets/extractors/VampTestPlugin.js @ 236:53ea6406d601
Generate new project with latest @angular/cli, including Angular 4.
author | Lucas Thompson <dev@lucas.im> |
---|---|
date | Tue, 25 Apr 2017 20:01:09 +0100 |
parents | |
children |
line wrap: on
line source
(function (factory) { if (typeof module === 'object' && typeof module.exports === 'object') { factory(module.exports); } else if (typeof define === 'function' && define.amd) { define(["exports"], factory); } })(function (exports) { "use strict"; exports.createLibrary = function(Module) { Module = Module || {}; var Module;if(!Module)Module=(typeof VampTestPluginModule!=="undefined"?VampTestPluginModule:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){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};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.log(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]}}var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"="+convertCode.returnValue+";"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;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){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={"v":"void","b":"bool","c":"char","s":"short","i":"int","l":"long","f":"float","d":"double","w":"wchar_t","a":"signed char","h":"unsigned char","t":"unsigned short","j":"unsigned int","m":"unsigned long","x":"long long","y":"unsigned long long","z":"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a<i;a++)pre+=" ";Module.print(pre+"^")}function parseNested(){i++;if(func[i]==="K")i++;var parts=[];while(func[i]!=="E"){if(func[i]==="S"){i++;var next=func.indexOf("_",i);var num=func.substring(i,next)||0;parts.push(subs[num]||"?");i=next+1;continue}if(func[i]==="C"){parts.push(parts[parts.length-1]);i+=2;continue}var size=parseInt(func.substr(i));var pre=size.toString().length;if(!size||!pre){i--;break}var curr=func.substr(i+pre,size);parts.push(curr);subs.push(curr);i+=pre+size}i++;return parts}function parse(rawList,limit,allowVoid){limit=limit||Infinity;var ret="",list=[];function flushList(){return"("+list.join(", ")+")"}var name;if(func[i]==="N"){name=parseNested().join("::");limit--;if(limit===0)return rawList?[name]:name}else{if(func[i]==="K"||first&&func[i]==="L")i++;var size=parseInt(func.substr(i));if(size){var pre=size.toString().length;name=func.substr(i+pre,size);i+=pre+size}}first=false;if(func[i]==="I"){i++;var iList=parse(true);var iRet=parse(true,1,true);ret+=iRet[0]+" "+name+"<"+iList.join(", ")+">"}else{ret=name}paramLoop:while(i<func.length&&limit-->0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}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 HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}assert(typeof Int32Array!=="undefined"&&typeof Float64Array!=="undefined"&&!!(new Int32Array(1))["subarray"]&&!!(new Int32Array(1))["set"],"JS engine does not provide full typed array support");var buffer;buffer=new ArrayBuffer(TOTAL_MEMORY);HEAP8=new Int8Array(buffer);HEAP16=new Int16Array(buffer);HEAP32=new Int32Array(buffer);HEAPU8=new Uint8Array(buffer);HEAPU16=new Uint16Array(buffer);HEAPU32=new Uint32Array(buffer);HEAPF32=new Float32Array(buffer);HEAPF64=new Float64Array(buffer);HEAP32[0]=255;assert(HEAPU8[0]===255&&HEAPU8[3]===0,"Typed arrays 2 must be run on a little-endian system");Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}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 getUniqueRunDependency(id){return id}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 memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+33280;__ATINIT__.push({func:(function(){__GLOBAL__I_000101()})},{func:(function(){__GLOBAL__sub_I_vamp_test_plugin_cpp()})},{func:(function(){__GLOBAL__sub_I_PluginLoader_cpp()})},{func:(function(){__GLOBAL__sub_I_PluginSummarisingAdapter_cpp()})},{func:(function(){__GLOBAL__sub_I_iostream_cpp()})});allocate([24,20,0,0,83,65,0,0,64,20,0,0,29,65,0,0,8,0,0,0,0,0,0,0,64,20,0,0,20,65,0,0,16,0,0,0,0,0,0,0,24,20,0,0,167,65,0,0,64,20,0,0,124,65,0,0,48,0,0,0,0,0,0,0,64,20,0,0,202,65,0,0,48,0,0,0,0,0,0,0,64,20,0,0,49,73,0,0,104,0,0,0,0,0,0,0,24,20,0,0,93,73,0,0,64,20,0,0,130,73,0,0,136,3,0,0,0,0,0,0,64,20,0,0,124,75,0,0,152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,20,0,0,9,83,0,0,168,0,0,0,0,0,0,0,24,20,0,0,37,83,0,0,64,20,0,0,80,83,0,0,200,3,0,0,0,0,0,0,64,20,0,0,146,83,0,0,56,4,0,0,0,0,0,0,64,20,0,0,215,83,0,0,40,1,0,0,0,0,0,0,64,20,0,0,249,85,0,0,240,0,0,0,0,0,0,0,24,20,0,0,18,86,0,0,24,20,0,0,48,86,0,0,64,20,0,0,115,86,0,0,40,1,0,0,0,0,0,0,64,20,0,0,163,86,0,0,40,1,0,0,0,0,0,0,24,20,0,0,95,88,0,0,64,20,0,0,118,88,0,0,224,0,0,0,0,0,0,0,24,20,0,0,223,88,0,0,64,20,0,0,243,88,0,0,112,1,0,0,0,0,0,0,64,20,0,0,7,89,0,0,128,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,20,0,0,61,90,0,0,56,1,0,0,0,0,0,0,64,20,0,0,111,89,0,0,56,1,0,0,0,0,0,0,64,20,0,0,60,93,0,0,136,3,0,0,0,0,0,0,64,20,0,0,133,93,0,0,136,3,0,0,0,0,0,0,64,20,0,0,204,93,0,0,192,1,0,0,0,0,0,0,64,20,0,0,226,93,0,0,56,1,0,0,0,0,0,0,64,20,0,0,69,94,0,0,136,3,0,0,0,0,0,0,64,20,0,0,145,94,0,0,240,1,0,0,0,0,0,0,64,20,0,0,163,94,0,0,56,1,0,0,0,0,0,0,64,20,0,0,199,94,0,0,136,3,0,0,0,0,0,0,64,20,0,0,18,95,0,0,32,2,0,0,0,0,0,0,64,20,0,0,40,95,0,0,56,1,0,0,0,0,0,0,64,20,0,0,76,95,0,0,136,3,0,0,0,0,0,0,64,20,0,0,149,95,0,0,80,2,0,0,0,0,0,0,64,20,0,0,172,95,0,0,56,1,0,0,0,0,0,0,64,20,0,0,208,95,0,0,136,3,0,0,0,0,0,0,64,20,0,0,26,96,0,0,128,2,0,0,0,0,0,0,64,20,0,0,45,96,0,0,56,1,0,0,0,0,0,0,64,20,0,0,82,96,0,0,136,3,0,0,0,0,0,0,64,20,0,0,152,96,0,0,176,2,0,0,0,0,0,0,24,20,0,0,165,96,0,0,64,20,0,0,178,96,0,0,176,2,0,0,0,0,0,0,64,20,0,0,194,96,0,0,184,2,0,0,0,0,0,0,24,20,0,0,211,96,0,0,64,20,0,0,224,96,0,0,216,2,0,0,0,0,0,0,64,20,0,0,1,97,0,0,224,2,0,0,0,0,0,0,64,20,0,0,71,97,0,0,224,2,0,0,0,0,0,0,64,20,0,0,35,97,0,0,0,3,0,0,0,0,0,0,64,20,0,0,105,97,0,0,240,2,0,0,0,0,0,0,64,20,0,0,142,97,0,0,240,2,0,0,0,0,0,0,64,20,0,0,231,118,0,0,208,3,0,0,0,0,0,0,64,20,0,0,38,119,0,0,208,3,0,0,0,0,0,0,64,20,0,0,62,119,0,0,200,3,0,0,0,0,0,0,64,20,0,0,87,119,0,0,200,3,0,0,0,0,0,0,24,20,0,0,111,119,0,0,104,20,0,0,136,119,0,0,0,0,0,0,1,0,0,0,128,3,0,0,0,0,0,0,24,20,0,0,166,119,0,0,64,20,0,0,184,119,0,0,160,3,0,0,0,0,0,0,64,20,0,0,226,119,0,0,160,3,0,0,0,0,0,0,24,20,0,0,12,120,0,0,24,20,0,0,61,120,0,0,104,20,0,0,110,120,0,0,0,0,0,0,1,0,0,0,168,3,0,0,3,244,255,255,104,20,0,0,157,120,0,0,0,0,0,0,1,0,0,0,184,3,0,0,3,244,255,255,104,20,0,0,204,120,0,0,0,0,0,0,1,0,0,0,168,3,0,0,3,244,255,255,104,20,0,0,251,120,0,0,0,0,0,0,1,0,0,0,184,3,0,0,3,244,255,255,104,20,0,0,42,121,0,0,3,0,0,0,2,0,0,0,216,3,0,0,2,0,0,0,8,4,0,0,2,8,0,0,64,20,0,0,123,121,0,0,128,3,0,0,0,0,0,0,104,20,0,0,145,121,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,120,10,0,0,2,0,0,0,104,20,0,0,163,121,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,128,10,0,0,2,0,0,0,104,20,0,0,197,121,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,128,10,0,0,2,0,0,0,104,20,0,0,232,121,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,128,10,0,0,2,0,0,0,64,20,0,0,11,122,0,0,200,4,0,0,0,0,0,0,64,20,0,0,45,122,0,0,200,4,0,0,0,0,0,0,104,20,0,0,80,122,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,128,10,0,0,2,0,0,0,64,20,0,0,114,122,0,0,88,4,0,0,0,0,0,0,64,20,0,0,136,122,0,0,88,4,0,0,0,0,0,0,64,20,0,0,156,122,0,0,88,4,0,0,0,0,0,0,104,20,0,0,176,122,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,120,10,0,0,2,0,0,0,64,20,0,0,194,122,0,0,88,4,0,0,0,0,0,0,64,20,0,0,215,122,0,0,88,4,0,0,0,0,0,0,104,20,0,0,236,122,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,136,10,0,0,0,0,0,0,104,20,0,0,48,123,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,160,10,0,0,0,0,0,0,104,20,0,0,116,123,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,184,10,0,0,0,0,0,0,104,20,0,0,184,123,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,208,10,0,0,0,0,0,0,104,20,0,0,252,123,0,0,0,0,0,0,3,0,0,0,88,4,0,0,2,0,0,0,232,10,0,0,2,0,0,0,240,10,0,0,0,8,0,0,104,20,0,0,65,124,0,0,0,0,0,0,3,0,0,0,88,4,0,0,2,0,0,0,232,10,0,0,2,0,0,0,248,10,0,0,0,8,0,0,104,20,0,0,134,124,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,0,11,0,0,0,8,0,0,104,20,0,0,203,124,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,0,11,0,0,0,8,0,0,104,20,0,0,16,125,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,8,11,0,0,2,0,0,0,104,20,0,0,44,125,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,8,11,0,0,2,0,0,0,104,20,0,0,72,125,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,8,11,0,0,2,0,0,0,104,20,0,0,100,125,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,8,11,0,0,2,0,0,0,104,20,0,0,128,125,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,16,11,0,0,0,0,0,0,104,20,0,0,198,125,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,24,11,0,0,0,0,0,0,104,20,0,0,12,126,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,32,11,0,0,0,0,0,0,104,20,0,0,82,126,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,40,11,0,0,0,0,0,0,104,20,0,0,152,126,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,48,11,0,0,2,0,0,0,104,20,0,0,173,126,0,0,0,0,0,0,2,0,0,0,88,4,0,0,2,0,0,0,48,11,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,20,0,0,228,129,0,0,24,20,0,0,205,129,0,0,104,20,0,0,183,129,0,0,0,0,0,0,1,0,0,0,64,11,0,0,0,0,0,0,104,20,0,0,136,129,0,0,0,0,0,0,1,0,0,0,64,11,0,0,0,0,0,0,104,20,0,0,114,129,0,0,0,0,0,0,1,0,0,0,56,11,0,0,0,0,0,0,104,20,0,0,67,129,0,0,0,0,0,0,1,0,0,0,56,11,0,0,0,0,0,0,24,20,0,0,48,129,0,0,24,20,0,0,14,129,0,0,24,20,0,0,236,128,0,0,24,20,0,0,215,128,0,0,24,20,0,0,194,128,0,0,24,20,0,0,169,128,0,0,24,20,0,0,144,128,0,0,24,20,0,0,119,128,0,0,24,20,0,0,94,128,0,0,24,20,0,0,70,128,0,0,24,20,0,0,89,129,0,0,24,20,0,0,158,129,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,56,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,72,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,112,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,5,0,0,0,8,0,0,0,0,0,0,0,88,0,0,0,9,0,0,0,10,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,128,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,1,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,13,0,0,0,1,0,0,0,14,0,0,0,64,0,0,0,0,0,0,0,192,0,0,0,14,0,0,0,15,0,0,0,56,0,0,0,248,255,255,255,192,0,0,0,16,0,0,0,17,0,0,0,192,255,255,255,192,255,255,255,192,0,0,0,18,0,0,0,19,0,0,0,64,0,0,0,0,0,0,0,216,3,0,0,20,0,0,0,21,0,0,0,192,255,255,255,192,255,255,255,216,3,0,0,22,0,0,0,23,0,0,0,0,0,0,0,176,0,0,0,24,0,0,0,25,0,0,0,15,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,8,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,11,0,0,0,7,0,0,0,3,0,0,0,8,0,0,0,32,13,0,0,248,13,0,0,92,13,0,0,112,13,0,0,52,14,0,0,72,14,0,0,32,14,0,0,12,14,0,0,72,13,0,0,52,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,56,4,0,0,26,0,0,0,27,0,0,0,56,0,0,0,248,255,255,255,56,4,0,0,28,0,0,0,29,0,0,0,192,255,255,255,192,255,255,255,56,4,0,0,30,0,0,0,31,0,0,0,56,0,0,0,0,0,0,0,8,4,0,0,32,0,0,0,33,0,0,0,200,255,255,255,200,255,255,255,8,4,0,0,34,0,0,0,35,0,0,0,0,0,0,0,208,0,0,0,36,0,0,0,37,0,0,0,12,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,13,0,0,0,21,0,0,0,2,0,0,0,2,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,2,0,0,0,38,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,26,0,0,0,3,0,0,0,27,0,0,0,0,0,0,0,248,0,0,0,39,0,0,0,40,0,0,0,0,0,0,0,0,1,0,0,41,0,0,0,42,0,0,0,12,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,13,0,0,0,21,0,0,0,2,0,0,0,3,0,0,0,22,0,0,0,23,0,0,0,28,0,0,0,25,0,0,0,3,0,0,0,43,0,0,0,14,0,0,0,19,0,0,0,20,0,0,0,17,0,0,0,18,0,0,0,29,0,0,0,4,0,0,0,30,0,0,0,0,0,0,0,16,1,0,0,44,0,0,0,45,0,0,0,12,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,13,0,0,0,21,0,0,0,2,0,0,0,3,0,0,0,22,0,0,0,23,0,0,0,28,0,0,0,25,0,0,0,4,0,0,0,46,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,17,0,0,0,18,0,0,0,29,0,0,0,5,0,0,0,30,0,0,0,0,0,0,0,32,1,0,0,47,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,1,0,0,49,0,0,0,50,0,0,0,12,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,13,0,0,0,21,0,0,0,2,0,0,0,3,0,0,0,22,0,0,0,23,0,0,0,28,0,0,0,25,0,0,0,5,0,0,0,43,0,0,0,14,0,0,0,19,0,0,0,20,0,0,0,17,0,0,0,18,0,0,0,29,0,0,0,6,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,1,0,0,24,0,0,0,9,0,0,0,10,0,0,0,31,0,0,0,1,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,11,0,0,0,29,0,0,0,12,0,0,0,51,0,0,0,52,0,0,0,0,0,0,0,80,1,0,0,30,0,0,0,13,0,0,0,14,0,0,0,32,0,0,0,1,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,31,0,0,0,15,0,0,0,32,0,0,0,16,0,0,0,53,0,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,2,0,0,55,0,0,0,56,0,0,0,57,0,0,0,5,0,0,0,58,0,0,0,0,0,0,0,16,2,0,0,33,0,0,0,17,0,0,0,18,0,0,0,33,0,0,0,2,0,0,0,34,0,0,0,26,0,0,0,27,0,0,0,31,0,0,0,15,0,0,0,29,0,0,0,12,0,0,0,59,0,0,0,60,0,0,0,0,0,0,0,0,2,0,0,61,0,0,0,62,0,0,0,63,0,0,0,5,0,0,0,64,0,0,0,0,0,0,0,224,1,0,0,35,0,0,0,19,0,0,0,20,0,0,0,34,0,0,0,3,0,0,0,36,0,0,0,26,0,0,0,27,0,0,0,31,0,0,0,15,0,0,0,29,0,0,0,12,0,0,0,59,0,0,0,65,0,0,0,0,0,0,0,208,1,0,0,66,0,0,0,67,0,0,0,68,0,0,0,5,0,0,0,69,0,0,0,0,0,0,0,192,1,0,0,37,0,0,0,21,0,0,0,22,0,0,0,35,0,0,0,1,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,31,0,0,0,15,0,0,0,29,0,0,0,12,0,0,0,70,0,0,0,71,0,0,0,0,0,0,0,176,1,0,0,37,0,0,0,21,0,0,0,22,0,0,0,35,0,0,0,1,0,0,0,25,0,0,0,26,0,0,0,38,0,0,0,31,0,0,0,15,0,0,0,29,0,0,0,12,0,0,0,70,0,0,0,72,0,0,0,0,0,0,0,160,1,0,0,73,0,0,0,74,0,0,0,75,0,0,0,5,0,0,0,76,0,0,0,0,0,0,0,112,1,0,0,24,0,0,0,9,0,0,0,10,0,0,0,31,0,0,0,1,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,31,0,0,0,15,0,0,0,29,0,0,0,12,0,0,0,51,0,0,0,77,0,0,0,0,0,0,0,144,1,0,0,78,0,0,0,79,0,0,0,80,0,0,0,5,0,0,0,81,0,0,0,0,0,0,0,128,1,0,0,30,0,0,0,13,0,0,0,14,0,0,0,32,0,0,0,1,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,31,0,0,0,15,0,0,0,29,0,0,0,12,0,0,0,53,0,0,0,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,2,0,0,83,0,0,0,84,0,0,0,85,0,0,0,5,0,0,0,86,0,0,0,0,0,0,0,112,2,0,0,39,0,0,0,23,0,0,0,24,0,0,0,36,0,0,0,1,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,31,0,0,0,15,0,0,0,29,0,0,0,12,0,0,0,59,0,0,0,87,0,0,0,0,0,0,0,96,2,0,0,88,0,0,0,89,0,0,0,90,0,0,0,5,0,0,0,91,0,0,0,0,0,0,0,64,2,0,0,40,0,0,0,25,0,0,0,26,0,0,0,37,0,0,0,1,0,0,0,25,0,0,0,41,0,0,0,27,0,0,0,31,0,0,0,15,0,0,0,29,0,0,0,12,0,0,0,59,0,0,0,92,0,0,0,2,0,0,0,0,0,0,0,160,2,0,0,93,0,0,0,94,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,184,2,0,0,95,0,0,0,96,0,0,0,43,0,0,0,0,0,0,0,200,2,0,0,95,0,0,0,97,0,0,0,43,0,0,0,0,0,0,0,240,2,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,4,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,32,3,0,0,98,0,0,0,102,0,0,0,100,0,0,0,101,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,8,0,0,0,0,0,0,0,48,3,0,0,98,0,0,0,103,0,0,0,100,0,0,0,101,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,50,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,68,22,0,0,180,22,0,0,36,23,0,0,36,23,0,0,20,63,0,0,148,31,0,0,148,25,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,7,0,0,0,208,116,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,9,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,7,0,0,0,200,112,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,7,0,0,0,192,108,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+8080);allocate([64,3,0,0,104,0,0,0,105,0,0,0,38,0,0,0,10,0,0,0,5,0,0,0,10,0,0,0,45,0,0,0,46,0,0,0,11,0,0,0,47,0,0,0,48,0,0,0,27,0,0,0,12,0,0,0,28,0,0,0,0,0,0,0,80,3,0,0,104,0,0,0,106,0,0,0,39,0,0,0,10,0,0,0,5,0,0,0,10,0,0,0,49,0,0,0,46,0,0,0,11,0,0,0,50,0,0,0,51,0,0,0,29,0,0,0,13,0,0,0,30,0,0,0,0,0,0,0,96,3,0,0,107,0,0,0,108,0,0,0,40,0,0,0,1,0,0,0,6,0,0,0,11,0,0,0,52,0,0,0,9,0,0,0,2,0,0,0,53,0,0,0,11,0,0,0,31,0,0,0,14,0,0,0,32,0,0,0,0,0,0,0,112,3,0,0,107,0,0,0,109,0,0,0,41,0,0,0,1,0,0,0,6,0,0,0,11,0,0,0,8,0,0,0,9,0,0,0,2,0,0,0,54,0,0,0,55,0,0,0,33,0,0,0,3,0,0,0,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,3,0,0,107,0,0,0,110,0,0,0,15,0,0,0,1,0,0,0,6,0,0,0,11,0,0,0,8,0,0,0,9,0,0,0,2,0,0,0,53,0,0,0,11,0,0,0,31,0,0,0,3,0,0,0,34,0,0,0,0,0,0,0,208,3,0,0,104,0,0,0,111,0,0,0,42,0,0,0,10,0,0,0,5,0,0,0,10,0,0,0,49,0,0,0,46,0,0,0,11,0,0,0,47,0,0,0,48,0,0,0,27,0,0,0,13,0,0,0,30,0,0,0,8,0,0,0,0,0,0,0,216,3,0,0,20,0,0,0,21,0,0,0,248,255,255,255,248,255,255,255,216,3,0,0,22,0,0,0,23,0,0,0,8,0,0,0,0,0,0,0,240,3,0,0,112,0,0,0,113,0,0,0,248,255,255,255,248,255,255,255,240,3,0,0,114,0,0,0,115,0,0,0,4,0,0,0,0,0,0,0,8,4,0,0,32,0,0,0,33,0,0,0,252,255,255,255,252,255,255,255,8,4,0,0,34,0,0,0,35,0,0,0,4,0,0,0,0,0,0,0,32,4,0,0,116,0,0,0,117,0,0,0,252,255,255,255,252,255,255,255,32,4,0,0,118,0,0,0,119,0,0,0,0,0,0,0,160,3,0,0,120,0,0,0,121,0,0,0,0,0,0,0,56,5,0,0,122,0,0,0,123,0,0,0,124,0,0,0,1,0,0,0,12,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,5,0,0,125,0,0,0,126,0,0,0,124,0,0,0,2,0,0,0,13,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,5,0,0,127,0,0,0,128,0,0,0,124,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,5,0,0,129,0,0,0,130,0,0,0,124,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,5,0,0,131,0,0,0,132,0,0,0,124,0,0,0,3,0,0,0,4,0,0,0,23,0,0,0,5,0,0,0,24,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,5,0,0,133,0,0,0,134,0,0,0,124,0,0,0,7,0,0,0,8,0,0,0,25,0,0,0,9,0,0,0,26,0,0,0,3,0,0,0,4,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,6,0,0,135,0,0,0,136,0,0,0,124,0,0,0,56,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,1,0,0,0,248,255,255,255,24,6,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,6,0,0,137,0,0,0,138,0,0,0,124,0,0,0,64,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,2,0,0,0,248,255,255,255,64,6,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,6,0,0,139,0,0,0,140,0,0,0,124,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,6,0,0,141,0,0,0,142,0,0,0,124,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,6,0,0,143,0,0,0,144,0,0,0,124,0,0,0,72,0,0,0,73,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,74,0,0,0,47,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,6,0,0,145,0,0,0,146,0,0,0,124,0,0,0,75,0,0,0,76,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,77,0,0,0,53,0,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,6,0,0,147,0,0,0,148,0,0,0,124,0,0,0,78,0,0,0,79,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,80,0,0,0,59,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,7,0,0,149,0,0,0,150,0,0,0,124,0,0,0,81,0,0,0,82,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,83,0,0,0,65,0,0,0,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,7,0,0,151,0,0,0,152,0,0,0,124,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,7,0,0,153,0,0,0,154,0,0,0,124,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,7,0,0,155,0,0,0,156,0,0,0,124,0,0,0,1,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,7,0,0,157,0,0,0,158,0,0,0,124,0,0,0,2,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,7,0,0,159,0,0,0,160,0,0,0,124,0,0,0,17,0,0,0,7,0,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,7,0,0,161,0,0,0,162,0,0,0,124,0,0,0,18,0,0,0,8,0,0,0,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,5,0,0,163,0,0,0,164,0,0,0,124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,5,0,0,165,0,0,0,166,0,0,0,124,0,0,0,35,0,0,0,19,0,0,0,36,0,0,0,20,0,0,0,37,0,0,0,6,0,0,0,21,0,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,8,5,0,0,167,0,0,0,168,0,0,0,124,0,0,0,3,0,0,0,4,0,0,0,12,0,0,0,84,0,0,0,85,0,0,0,13,0,0,0,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,5,0,0,169,0,0,0,170,0,0,0,124,0,0,0,87,0,0,0,88,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,0,0,0,0,136,5,0,0,171,0,0,0,172,0,0,0,124,0,0,0,89,0,0,0,90,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,0,0,0,0,88,4,0,0,173,0,0,0,174,0,0,0,124,0,0,0,0,0,0,0,104,4,0,0,173,0,0,0,175,0,0,0,124,0,0,0,22,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,38,0,0,0,23,0,0,0,39,0,0,0,24,0,0,0,40,0,0,0,10,0,0,0,25,0,0,0,14,0,0,0,0,0,0,0,136,4,0,0,173,0,0,0,176,0,0,0,124,0,0,0,5,0,0,0,6,0,0,0,15,0,0,0,91,0,0,0,92,0,0,0,16,0,0,0,93,0,0,0,0,0,0,0,168,4,0,0,173,0,0,0,177,0,0,0,124,0,0,0,7,0,0,0,8,0,0,0,17,0,0,0,94,0,0,0,95,0,0,0,18,0,0,0,96,0,0,0,0,0,0,0,200,4,0,0,173,0,0,0,178,0,0,0,124,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,97,0,0,0,98,0,0,0,20,0,0,0,99,0,0,0,0,0,0,0,232,4,0,0,173,0,0,0,179,0,0,0,124,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,97,0,0,0,98,0,0,0,20,0,0,0,99,0,0,0,0,0,0,0,248,4,0,0,173,0,0,0,180,0,0,0,124,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,97,0,0,0,98,0,0,0,20,0,0,0,99,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,37,0,0,0,89,0,0,0,45,0,0,0,37,0,0,0,109,0,0,0,45,0,0,0,37,0,0,0,100,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,0,0,0,114,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,102,0,0,0,97,0,0,0,108,0,0,0,115,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,110,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,114,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,117,0,0,0,114,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,114,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,99,0,0,0,104,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,105,0,0,0,108,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,101,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,121,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,117,0,0,0,115,0,0,0,116,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,116,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,111,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,77,0,0,0,0,0,0,0,80,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,97,0,0,0,32,0,0,0,37,0,0,0,98,0,0,0,32,0,0,0,37,0,0,0,100,0,0,0,32,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,3,32,2,32,2,32,2,32,2,32,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,96,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,213,8,213,8,213,8,213,8,213,8,213,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,4,192,4,192,4,192,4,192,4,192,4,192,8,214,8,214,8,214,8,214,8,214,8,214,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,4,192,4,192,4,192,4,192,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,65,100,97,112,116,101,114,0,78,49,51,112,105,112,101,114,95,118,97,109,112,95,106,115,49,54,80,105,112,101,114,65,100,97,112,116,101,114,66,97,115,101,73,49,52,86,97,109,112,84,101,115,116,80,108,117,103,105,110,69,69,0,78,49,51,112,105,112,101,114,95,118,97,109,112,95,106,115,50,49,80,105,112,101,114,65,100,97,112,116,101,114,73,110,116,101,114,102,97,99,101,69,0,78,49,48,112,105,112,101,114,95,118,97,109,112,50,54,67,111,117,110,116,105,110,103,80,108,117,103,105,110,72,97,110,100,108,101,77,97,112,112,101,114,69,0,78,49,48,112,105,112,101,114,95,118,97,109,112,49,56,80,108,117,103,105,110,72,97,110,100,108,101,77,97,112,112,101,114,69,0,78,49,48,112,105,112,101,114,95,118,97,109,112,50,54,65,115,115,105,103,110,101,100,80,108,117,103,105,110,72,97,110,100,108,101,77,97,112,112,101,114,69,0,105,110,118,97,108,105,100,32,106,115,111,110,58,32,0,111,98,106,101,99,116,32,101,120,112,101,99,116,101,100,32,97,116,32,116,111,112,32,108,101,118,101,108,0,109,97,112,58,58,97,116,58,32,32,107,101,121,32,110,111,116,32,102,111,117,110,100,0,102,97,105,108,101,100,32,116,111,32,99,111,110,115,116,114,117,99,116,32,112,108,117,103,105,110,32,119,105,116,104,32,107,101,121,32,0,110,111,32,97,100,97,112,116,101,114,32,102,111,114,32,112,108,117,103,105,110,32,107,101,121,32,0,99,111,110,102,105,103,117,114,97,116,105,111,110,32,102,97,105,108,101,100,32,40,119,114,111,110,103,32,99,104,97,110,110,101,108,32,99,111,117,110,116,44,32,115,116,101,112,32,115,105,122,101,44,32,98,108,111,99,107,32,115,105,122,101,63,41,0,117,110,107,110,111,119,110,32,112,108,117,103,105,110,32,104,97,110,100,108,101,0,112,108,117,103,105,110,32,104,97,115,32,110,111,116,32,98,101,101,110,32,99,111,110,102,105,103,117,114,101,100,0,105,100,0,117,110,107,110,111,119,110,32,111,114,32,105,110,118,97,108,105,100,32,112,108,117,103,105,110,32,104,97,110,100,108,101,0,112,108,117,103,105,110,32,104,97,115,32,97,108,114,101,97,100,121,32,98,101,101,110,32,99,111,110,102,105,103,117,114,101,100,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,115,32,115,117,112,112,108,105,101,100,0,119,114,111,110,103,32,98,108,111,99,107,32,115,105,122,101,32,115,117,112,112,108,105,101,100,0,105,110,118,97,108,105,100,32,114,101,113,117,101,115,116,0,104,97,110,100,108,101,0,102,101,97,116,117,114,101,115,0,109,101,116,104,111,100,0,102,105,110,105,115,104,0,114,101,115,117,108,116,0,102,101,97,116,117,114,101,86,97,108,117,101,115,0,108,97,98,101,108,0,116,105,109,101,115,116,97,109,112,0,100,117,114,97,116,105,111,110,0,115,0,110,0,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47,0,115,116,97,114,116,95,98,105,116,32,43,32,98,105,116,115,95,99,111,117,110,116,32,60,32,49,54,0,47,85,115,101,114,115,47,108,117,99,97,115,47,99,111,100,101,47,112,105,112,101,114,45,118,97,109,112,45,106,115,47,46,46,47,112,105,112,101,114,45,118,97,109,112,45,99,112,112,47,101,120,116,47,98,97,115,101,45,110,47,105,110,99,108,117,100,101,47,98,97,115,101,110,46,104,112,112,0,101,120,116,114,97,99,116,95,111,118,101,114,108,97,112,112,105,110,103,95,98,105,116,115,0,106,115,111,110,114,112,99,0,50,46,48,0,112,97,114,97,109,115,0,115,116,114,105,110,103,32,101,120,112,101,99,116,101,100,32,102,111,114,32,109,101,116,104,111,100,0,101,120,112,101,99,116,101,100,32,118,97,108,117,101,32,34,0,34,32,102,111,114,32,116,121,112,101,0,111,98,106,101,99,116,32,101,120,112,101,99,116,101,100,32,102,111,114,32,112,97,114,97,109,115,0,110,117,109,98,101,114,32,111,114,32,115,116,114,105,110,103,32,101,120,112,101,99,116,101,100,32,102,111,114,32,105,100,0,115,116,114,105,110,103,32,101,120,112,101,99,116,101,100,32,102,111,114,32,106,115,111,110,114,112,99,0,117,110,101,120,112,101,99,116,101,100,32,102,105,101,108,100,32,34,0,34,32,105,110,32,114,112,99,32,114,101,113,117,101,115,116,32,111,98,106,101,99,116,0,112,114,111,99,101,115,115,0,112,114,111,99,101,115,115,73,110,112,117,116,0,109,97,108,102,111,114,109,101,100,32,112,114,111,99,101,115,115,32,114,101,113,117,101,115,116,58,32,0,105,110,112,117,116,66,117,102,102,101,114,115,0,101,120,112,101,99,116,101,100,32,97,114,114,97,121,115,32,111,114,32,115,116,114,105,110,103,115,32,105,110,32,105,110,112,117,116,66,117,102,102,101,114,115,32,97,114,114,97,121,0,105,110,118,97,108,105,100,32,86,97,109,112,58,58,82,101,97,108,84,105,109,101,32,111,98,106,101,99,116,32,0,99,111,110,102,105,103,117,114,101,0,70,97,105,108,101,100,32,116,111,32,99,111,110,102,105,103,117,114,101,32,112,108,117,103,105,110,0,111,117,116,112,117,116,76,105,115,116,0,115,116,101,112,83,105,122,101,0,98,108,111,99,107,83,105,122,101,0,102,114,97,109,105,110,103,0,98,97,115,105,99,0,99,111,110,102,105,103,117,114,101,100,0,117,110,105,116,0,79,110,101,83,97,109,112,108,101,80,101,114,83,116,101,112,0,70,105,120,101,100,83,97,109,112,108,101,82,97,116,101,0,86,97,114,105,97,98,108,101,83,97,109,112,108,101,82,97,116,101,0,115,97,109,112,108,101,84,121,112,101,0,115,97,109,112,108,101,82,97,116,101,0,104,97,115,68,117,114,97,116,105,111,110,0,98,105,110,67,111,117,110,116,0,98,105,110,78,97,109,101,115,0,101,120,116,101,110,116,115,0,113,117,97,110,116,105,122,101,83,116,101,112,0,109,105,110,0,109,97,120,0,105,100,101,110,116,105,102,105,101,114,0,110,97,109,101,0,100,101,115,99,114,105,112,116,105,111,110,0,99,111,110,102,105,103,117,114,97,116,105,111,110,0,109,97,108,102,111,114,109,101,100,32,99,111,110,102,105,103,117,114,97,116,105,111,110,32,114,101,113,117,101,115,116,58,32,0,99,104,97,110,110,101,108,67,111,117,110,116,0,109,97,108,102,111,114,109,101,100,32,112,108,117,103,105,110,32,99,111,110,102,105,103,117,114,97,116,105,111,110,58,32,0,109,97,108,102,111,114,109,101,100,32,102,114,97,109,105,110,103,58,32,0,112,97,114,97,109,101,116,101,114,86,97,108,117,101,115,0,111,98,106,101,99,116,32,101,120,112,101,99,116,101,100,32,102,111,114,32,112,97,114,97,109,101,116,101,114,32,118,97,108,117,101,115,0,110,117,109,98,101,114,32,101,120,112,101,99,116,101,100,32,102,111,114,32,112,97,114,97,109,101,116,101,114,32,118,97,108,117,101,0,99,117,114,114,101,110,116,80,114,111,103,114,97,109,0,115,116,114,105,110,103,32,101,120,112,101,99,116,101,100,32,102,111,114,32,112,114,111,103,114,97,109,32,110,97,109,101,0,108,111,97,100,0,70,97,105,108,101,100,32,116,111,32,108,111,97,100,32,112,108,117,103,105,110,0,115,116,97,116,105,99,68,97,116,97,0,100,101,102,97,117,108,116,67,111,110,102,105,103,117,114,97,116,105,111,110,0,107,101,121,0,109,97,107,101,114,0,114,105,103,104,116,115,0,118,101,114,115,105,111,110,0,99,97,116,101,103,111,114,121,0,109,105,110,67,104,97,110,110,101,108,67,111,117,110,116,0,109,97,120,67,104,97,110,110,101,108,67,111,117,110,116,0,112,97,114,97,109,101,116,101,114,115,0,112,114,111,103,114,97,109,115,0,105,110,112,117,116,68,111,109,97,105,110,0,84,105,109,101,68,111,109,97,105,110,0,70,114,101,113,117,101,110,99,121,68,111,109,97,105,110,0,98,97,115,105,99,79,117,116,112,117,116,73,110,102,111,0,100,101,102,97,117,108,116,86,97,108,117,101,0,118,97,108,117,101,78,97,109,101,115,0,69,82,82,79,82,58,32,68,117,112,108,105,99,97,116,101,32,112,108,117,103,105,110,32,104,97,110,100,108,101,32,0,32,102,111,114,32,112,108,117,103,105,110,32,0,32,40,97,108,114,101,97,100,121,32,117,115,101,100,32,102,111,114,32,112,108,117,103,105,110,32,0,68,117,112,108,105,99,97,116,101,32,112,108,117,103,105,110,32,104,97,110,100,108,101,0,78,49,48,112,105,112,101,114,95,118,97,109,112,50,55,68,101,102,97,117,108,116,80,108,117,103,105,110,79,117,116,112,117,116,73,100,77,97,112,112,101,114,69,0,78,49,48,112,105,112,101,114,95,118,97,109,112,50,48,80,108,117,103,105,110,79,117,116,112,117,116,73,100,77,97,112,112,101,114,69,0,78,83,116,51,95,95,49,50,48,95,95,115,104,97,114,101,100,95,112,116,114,95,101,109,112,108,97,99,101,73,78,49,48,112,105,112,101,114,95,118,97,109,112,50,55,68,101,102,97,117,108,116,80,108,117,103,105,110,79,117,116,112,117,116,73,100,77,97,112,112,101,114,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,83,50,95,69,69,69,69,0,105,110,112,117,116,83,97,109,112,108,101,82,97,116,101,0,109,97,108,102,111,114,109,101,100,32,108,111,97,100,32,114,101,113,117,101,115,116,58,32,0,97,100,97,112,116,101,114,70,108,97,103,115,0,97,114,114,97,121,32,101,120,112,101,99,116,101,100,32,102,111,114,32,97,100,97,112,116,101,114,32,102,108,97,103,115,0,115,116,114,105,110,103,32,101,120,112,101,99,116,101,100,32,102,111,114,32,97,100,97,112,116,101,114,32,102,108,97,103,0,65,100,97,112,116,73,110,112,117,116,68,111,109,97,105,110,0,65,100,97,112,116,67,104,97,110,110,101,108,67,111,117,110,116,0,65,100,97,112,116,66,117,102,102,101,114,83,105,122,101,0,65,100,97,112,116,65,108,108,83,97,102,101,0,65,100,97,112,116,65,108,108,0,105,110,118,97,108,105,100,32,97,100,97,112,116,101,114,32,102,108,97,103,32,115,116,114,105,110,103,58,32,0,108,105,115,116,0,97,118,97,105,108,97,98,108,101,0,102,114,111,109,0,97,114,114,97,121,32,101,120,112,101,99,116,101,100,32,102,111,114,32,102,114,111,109,32,102,105,101,108,100,0,115,116,114,105,110,103,32,101,120,112,101,99,116,101,100,32,102,111,114,32,101,108,101,109,101,110,116,32,105,110,32,102,114,111,109,32,97,114,114,97,121,0,105,110,118,97,108,105,100,0,117,110,107,110,111,119,110,32,111,114,32,117,110,101,120,112,101,99,116,101,100,32,114,101,113,117,101,115,116,47,114,101,115,112,111,110,115,101,32,116,121,112,101,32,34,0,34,0,99,111,100,101,0,109,101,115,115,97,103,101,0,101,114,114,111,114,32,105,110,32,0,32,114,101,113,117,101,115,116,58,32,0,101,114,114,111,114,0,49,52,86,97,109,112,84,101,115,116,80,108,117,103,105,110,0,118,97,109,112,45,116,101,115,116,45,112,108,117,103,105,110,45,102,114,101,113,0,118,97,109,112,45,116,101,115,116,45,112,108,117,103,105,110,0,86,97,109,112,32,84,101,115,116,32,80,108,117,103,105,110,32,40,70,114,101,113,117,101,110,99,121,45,68,111,109,97,105,110,32,73,110,112,117,116,41,0,86,97,109,112,32,84,101,115,116,32,80,108,117,103,105,110,0,84,101,115,116,32,112,108,117,103,105,110,32,102,111,114,32,104,111,115,116,115,32,104,97,110,100,108,105,110,103,32,118,97,114,105,111,117,115,32,111,117,116,112,117,116,32,116,121,112,101,115,0,67,104,114,105,115,32,67,97,110,110,97,109,0,66,83,68,0,112,114,111,100,117,99,101,95,111,117,116,112,117,116,0,80,114,111,100,117,99,101,32,115,111,109,101,32,111,117,116,112,117,116,0,87,104,101,116,104,101,114,32,116,111,32,112,114,111,100,117,99,101,32,97,110,121,32,111,117,116,112,117,116,46,32,73,102,32,116,104,105,115,32,112,97,114,97,109,101,116,101,114,32,105,115,32,115,119,105,116,99,104,101,100,32,111,102,102,44,32,116,104,101,32,112,108,117,103,105,110,32,119,105,108,108,32,112,114,111,100,117,99,101,32,110,111,32,111,117,116,112,117,116,46,32,84,104,105,115,32,105,115,32,105,110,116,101,110,100,101,100,32,102,111,114,32,98,97,115,105,99,32,116,101,115,116,105,110,103,32,111,102,32,119,104,101,116,104,101,114,32,97,32,104,111,115,116,39,115,32,112,97,114,97,109,101,116,101,114,32,115,101,116,116,105,110,103,32,108,111,103,105,99,32,105,115,32,102,117,110,99,116,105,111,110,105,110,103,46,0,105,110,115,116,97,110,116,115,0,73,110,115,116,97,110,116,115,0,83,105,110,103,108,101,32,116,105,109,101,32,112,111,105,110,116,115,32,119,105,116,104,111,117,116,32,118,97,108,117,101,115,0,99,117,114,118,101,45,111,115,115,0,67,117,114,118,101,58,32,79,110,101,83,97,109,112,108,101,80,101,114,83,116,101,112,0,65,32,116,105,109,101,32,115,101,114,105,101,115,32,119,105,116,104,32,111,110,101,32,118,97,108,117,101,32,112,101,114,32,112,114,111,99,101,115,115,32,98,108,111,99,107,0,99,117,114,118,101,45,102,115,114,0,67,117,114,118,101,58,32,70,105,120,101,100,83,97,109,112,108,101,82,97,116,101,0,65,32,116,105,109,101,32,115,101,114,105,101,115,32,119,105,116,104,32,101,113,117,97,108,108,121,45,115,112,97,99,101,100,32,118,97,108,117,101,115,32,40,105,110,100,101,112,101,110,100,101,110,116,32,111,102,32,112,114,111,99,101,115,115,32,115,116,101,112,32,115,105,122,101,41,0,99,117,114,118,101,45,102,115,114,45,116,105,109,101,100,0,67,117,114,118,101,58,32,70,105,120,101,100,83,97,109,112,108,101,82,97,116,101,47,84,105,109,101,100,0,65,32,116,105,109,101,32,115,101,114,105,101,115,32,119,105,116,104,32,97,32,102,105,120,101,100,32,115,97,109,112,108,101,32,114,97,116,101,32,40,105,110,100,101,112,101,110,100,101,110,116,32,111,102,32,112,114,111,99,101,115,115,32,115,116,101,112,32,115,105,122,101,41,32,98,117,116,32,119,105,116,104,32,116,105,109,101,115,116,97,109,112,115,32,111,110,32,102,101,97,116,117,114,101,115,0,99,117,114,118,101,45,102,115,114,45,109,105,120,101,100,0,67,117,114,118,101,58,32,70,105,120,101,100,83,97,109,112,108,101,82,97,116,101,47,77,105,120,101,100,0,65,32,116,105,109,101,32,115,101,114,105,101,115,32,119,105,116,104,32,97,32,102,105,120,101,100,32,115,97,109,112,108,101,32,114,97,116,101,32,40,105,110,100,101,112,101,110,100,101,110,116,32,111,102,32,112,114,111,99,101,115,115,32,115,116,101,112,32,115,105,122,101,41,32,97,110,100,32,119,105,116,104,32,116,105,109,101,115,116,97,109,112,115,32,111,110,32,115,111,109,101,32,102,101,97,116,117,114,101,115,0,99,117,114,118,101,45,118,115,114,0,67,117,114,118,101,58,32,86,97,114,105,97,98,108,101,83,97,109,112,108,101,82,97,116,101,0,65,32,118,97,114,105,97,98,108,121,45,115,112,97,99,101,100,32,115,101,114,105,101,115,32,111,102,32,118,97,108,117,101,115,0,103,114,105,100,45,111,115,115,0,71,114,105,100,58,32,79,110,101,83,97,109,112,108,101,80,101,114,83,116,101,112,0,65,32,102,105,120,101,100,45,104,101,105,103,104,116,32,103,114,105,100,32,111,102,32,118,97,108,117,101,115,32,119,105,116,104,32,111,110,101,32,99,111,108,117,109,110,32,112,101,114,32,112,114,111,99,101,115,115,32,98,108,111,99,107,0,103,114,105,100,45,102,115,114,0,71,114,105,100,58,32,70,105,120,101,100,83,97,109,112,108,101,82,97,116,101,0,65,32,102,105,120,101,100,45,104,101,105,103,104,116,32,103,114,105,100,32,111,102,32,118,97,108,117,101,115,32,119,105,116,104,32,101,113,117,97,108,108,121,45,115,112,97,99,101,100,32,99,111,108,117,109,110,115,32,40,105,110,100,101,112,101,110,100,101,110,116,32,111,102,32,112,114,111,99,101,115,115,32,115,116,101,112,32,115,105,122,101,41,0,110,111,116,101,115,45,114,101,103,105,111,110,115,0,78,111,116,101,115,32,111,114,32,82,101,103,105,111,110,115,0,86,97,114,105,97,98,108,121,45,115,112,97,99,101,100,32,102,101,97,116,117,114,101,115,32,119,105,116,104,32,111,110,101,32,118,97,108,117,101,32,97,110,100,32,100,117,114,97,116,105,111,110,0,105,110,112,117,116,45,115,117,109,109,97,114,121,0,68,97,116,97,32,100,101,114,105,118,101,100,32,102,114,111,109,32,105,110,112,117,116,115,0,79,110,101,45,115,97,109,112,108,101,45,112,101,114,45,115,116,101,112,32,102,101,97,116,117,114,101,115,32,119,105,116,104,32,110,32,118,97,108,117,101,115,44,32,119,104,101,114,101,32,110,32,105,115,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,105,110,112,117,116,32,99,104,97,110,110,101,108,115,46,32,69,97,99,104,32,102,101,97,116,117,114,101,32,99,111,110,116,97,105,110,115,44,32,102,111,114,32,101,97,99,104,32,105,110,112,117,116,32,99,104,97,110,110,101,108,44,32,116,104,101,32,102,105,114,115,116,32,115,97,109,112,108,101,32,118,97,108,117,101,32,111,110,32,116,104,97,116,32,99,104,97,110,110,101,108,32,112,108,117,115,32,116,104],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10632);allocate([101,32,116,111,116,97,108,32,110,117,109,98,101,114,32,111,102,32,110,111,110,45,122,101,114,111,32,115,97,109,112,108,101,115,32,111,110,32,116,104,97,116,32,99,104,97,110,110,101,108,46,32,40,34,78,111,110,45,122,101,114,111,34,32,105,115,32,100,101,116,101,114,109,105,110,101,100,32,98,121,32,99,111,109,112,97,114,105,115,111,110,32,97,103,97,105,110,115,116,32,97,32,109,97,103,110,105,116,117,100,101,32,116,104,114,101,115,104,111,108,100,32,119,104,105,99,104,32,105,115,32,97,99,116,117,97,108,108,121,32,49,101,45,54,32,114,97,116,104,101,114,32,116,104,97,110,32,101,120,97,99,116,108,121,32,122,101,114,111,46,41,0,105,110,112,117,116,45,116,105,109,101,115,116,97,109,112,0,73,110,112,117,116,32,116,105,109,101,115,116,97,109,112,0,79,110,101,45,115,97,109,112,108,101,45,112,101,114,45,115,116,101,112,32,102,101,97,116,117,114,101,115,32,119,105,116,104,32,111,110,101,32,118,97,108,117,101,44,32,99,111,110,116,97,105,110,105,110,103,32,116,104,101,32,116,105,109,101,32,105,110,32,115,97,109,112,108,101,32,102,114,97,109,101,115,32,99,111,110,118,101,114,116,101,100,32,102,114,111,109,32,116,104,101,32,116,105,109,101,115,116,97,109,112,32,111,102,32,116,104,101,32,99,111,114,114,101,115,112,111,110,100,105,110,103,32,112,114,111,99,101,115,115,32,105,110,112,117,116,32,98,108,111,99,107,46,0,115,97,109,112,108,101,115,0,32,97,116,32,0,32,100,117,114,46,32,0,78,49,49,95,86,97,109,112,80,108,117,103,105,110,52,86,97,109,112,54,80,108,117,103,105,110,69,0,78,49,49,95,86,97,109,112,80,108,117,103,105,110,52,86,97,109,112,49,48,80,108,117,103,105,110,66,97,115,101,69,0,32,115,110,97,112,32,116,111,32,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,105,110,103,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,56,98,97,115,105,99,95,115,116,114,105,110,103,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,78,57,95,86,97,109,112,72,111,115,116,52,86,97,109,112,55,72,111,115,116,69,120,116,50,50,80,108,117,103,105,110,66,117,102,102,101,114,105,110,103,65,100,97,112,116,101,114,69,0,80,108,117,103,105,110,66,117,102,102,101,114,105,110,103,65,100,97,112,116,101,114,58,58,105,110,105,116,105,97,108,105,115,101,58,32,105,110,112,117,116,32,115,116,101,112,83,105,122,101,32,109,117,115,116,32,98,101,32,101,113,117,97,108,32,116,111,32,98,108,111,99,107,83,105,122,101,32,102,111,114,32,116,104,105,115,32,97,100,97,112,116,101,114,32,40,115,116,101,112,83,105,122,101,32,61,32,0,44,32,98,108,111,99,107,83,105,122,101,32,61,32,0,41,0,80,108,117,103,105,110,66,117,102,102,101,114,105,110,103,65,100,97,112,116,101,114,58,58,105,110,105,116,105,97,108,105,115,101,58,32,87,65,82,78,73,78,71,58,32,115,116,101,112,32,115,105,122,101,32,0,32,105,115,32,103,114,101,97,116,101,114,32,116,104,97,110,32,98,108,111,99,107,32,115,105,122,101,32,0,58,32,99,97,110,110,111,116,32,104,97,110,100,108,101,32,116,104,105,115,32,105,110,32,97,100,97,112,116,101,114,59,32,97,100,106,117,115,116,105,110,103,32,98,108,111,99,107,32,115,105,122,101,32,116,111,32,0,80,108,117,103,105,110,66,117,102,102,101,114,105,110,103,65,100,97,112,116,101,114,58,58,112,114,111,99,101,115,115,58,32,69,82,82,79,82,58,32,80,108,117,103,105,110,32,104,97,115,32,110,111,116,32,98,101,101,110,32,105,110,105,116,105,97,108,105,115,101,100,0,87,65,82,78,73,78,71,58,32,80,108,117,103,105,110,66,117,102,102,101,114,105,110,103,65,100,97,112,116,101,114,58,58,73,109,112,108,58,58,112,114,111,99,101,115,115,58,32,0,66,117,102,102,101,114,32,111,118,101,114,102,108,111,119,58,32,119,114,111,116,101,32,0,32,111,102,32,0,32,105,110,112,117,116,32,115,97,109,112,108,101,115,32,40,102,111,114,32,112,108,117,103,105,110,32,115,116,101,112,32,115,105,122,101,32,0,44,32,98,108,111,99,107,32,115,105,122,101,32,0,70,101,97,116,117,114,101,32,69,120,116,114,97,99,116,105,111,110,32,80,108,117,103,105,110,0,78,57,95,86,97,109,112,72,111,115,116,52,86,97,109,112,54,80,108,117,103,105,110,69,0,78,57,95,86,97,109,112,72,111,115,116,52,86,97,109,112,49,48,80,108,117,103,105,110,66,97,115,101,69,0,78,57,95,86,97,109,112,72,111,115,116,52,86,97,109,112,55,72,111,115,116,69,120,116,50,50,80,108,117,103,105,110,66,117,102,102,101,114,105,110,103,65,100,97,112,116,101,114,52,73,109,112,108,49,48,82,105,110,103,66,117,102,102,101,114,69,0,78,57,95,86,97,109,112,72,111,115,116,52,86,97,109,112,55,72,111,115,116,69,120,116,50,48,80,108,117,103,105,110,67,104,97,110,110,101,108,65,100,97,112,116,101,114,69,0,78,57,95,86,97,109,112,72,111,115,116,52,86,97,109,112,55,72,111,115,116,69,120,116,50,52,80,108,117,103,105,110,73,110,112,117,116,68,111,109,97,105,110,65,100,97,112,116,101,114,69,0,82,101,97,108,32,70,70,84,32,111,112,116,105,109,105,122,97,116,105,111,110,32,109,117,115,116,32,98,101,32,101,118,101,110,46,10,0,107,105,115,115,32,102,102,116,32,117,115,97,103,101,32,101,114,114,111,114,58,32,105,109,112,114,111,112,101,114,32,97,108,108,111,99,10,0,69,82,82,79,82,58,32,80,108,117,103,105,110,73,110,112,117,116,68,111,109,97,105,110,65,100,97,112,116,101,114,58,58,105,110,105,116,105,97,108,105,115,101,58,32,98,108,111,99,107,115,105,122,101,32,60,32,50,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,82,82,79,82,58,32,80,108,117,103,105,110,73,110,112,117,116,68,111,109,97,105,110,65,100,97,112,116,101,114,58,58,105,110,105,116,105,97,108,105,115,101,58,32,111,100,100,32,98,108,111,99,107,115,105,122,101,32,0,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,87,65,82,78,73,78,71,58,32,80,108,117,103,105,110,73,110,112,117,116,68,111,109,97,105,110,65,100,97,112,116,101,114,58,58,105,110,105,116,105,97,108,105,115,101,58,32,98,108,111,99,107,115,105,122,101,32,60,32,50,32,110,111,116,0,115,117,112,112,111,114,116,101,100,44,32,105,110,99,114,101,97,115,105,110,103,32,102,114,111,109,32,0,32,116,111,32,50,0,87,65,82,78,73,78,71,58,32,80,108,117,103,105,110,73,110,112,117,116,68,111,109,97,105,110,65,100,97,112,116,101,114,58,58,105,110,105,116,105,97,108,105,115,101,58,32,111,100,100,32,98,108,111,99,107,115,105,122,101,32,110,111,116,0,32,116,111,32,0,78,57,95,86,97,109,112,72,111,115,116,54,87,105,110,100,111,119,73,100,69,69,0,78,57,95,86,97,109,112,72,111,115,116,52,86,97,109,112,55,72,111,115,116,69,120,116,49,51,80,108,117,103,105,110,87,114,97,112,112,101,114,69,0,69,82,82,79,82,58,32,78,97,78,47,73,110,102,32,112,97,115,115,101,100,32,116,111,32,86,97,109,112,58,58,82,101,97,108,84,105,109,101,58,58,102,114,111,109,83,101,99,111,110,100,115,0,45,0,48,0,58,0,46,48,48,48,0,78,54,106,115,111,110,49,49,57,74,115,111,110,86,97,108,117,101,69,0,78,54,106,115,111,110,49,49,57,74,115,111,110,65,114,114,97,121,69,0,78,54,106,115,111,110,49,49,49,48,74,115,111,110,79,98,106,101,99,116,69,0,39,37,99,39,32,40,37,100,41,0,40,37,100,41,0,117,110,101,120,112,101,99,116,101,100,32,116,114,97,105,108,105,110,103,32,0,101,120,112,101,99,116,101,100,32,74,83,79,78,32,111,98,106,101,99,116,44,32,103,111,116,32,0,98,97,100,32,116,121,112,101,32,102,111,114,32,0,32,105,110,32,0,78,54,106,115,111,110,49,49,53,86,97,108,117,101,73,76,78,83,95,52,74,115,111,110,52,84,121,112,101,69,53,69,78,83,116,51,95,95,49,51,109,97,112,73,78,83,51,95,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,99,78,83,51,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,51,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,83,49,95,78,83,51,95,52,108,101,115,115,73,83,65,95,69,69,78,83,56,95,73,78,83,51,95,52,112,97,105,114,73,75,83,65,95,83,49,95,69,69,69,69,69,69,69,69,0,123,0,44,32,0,58,32,0,125,0,92,92,0,92,34,0,92,98,0,92,102,0,92,110,0,92,114,0,92,116,0,92,117,37,48,52,120,0,92,117,50,48,50,56,0,92,117,50,48,50,57,0,78,54,106,115,111,110,49,49,53,86,97,108,117,101,73,76,78,83,95,52,74,115,111,110,52,84,121,112,101,69,52,69,78,83,116,51,95,95,49,54,118,101,99,116,111,114,73,83,49,95,78,83,51,95,57,97,108,108,111,99,97,116,111,114,73,83,49,95,69,69,69,69,69,69,0,91,0,93,0,117,110,101,120,112,101,99,116,101,100,32,101,110,100,32,111,102,32,105,110,112,117,116,32,105,110,115,105,100,101,32,99,111,109,109,101,110,116,0,117,110,101,120,112,101,99,116,101,100,32,101,110,100,32,111,102,32,105,110,112,117,116,32,105,110,115,105,100,101,32,105,110,108,105,110,101,32,99,111,109,109,101,110,116,0,117,110,101,120,112,101,99,116,101,100,32,101,110,100,32,111,102,32,105,110,112,117,116,32,105,110,115,105,100,101,32,109,117,108,116,105,45,108,105,110,101,32,99,111,109,109,101,110,116,0,109,97,108,102,111,114,109,101,100,32,99,111,109,109,101,110,116,0,101,120,99,101,101,100,101,100,32,109,97,120,105,109,117,109,32,110,101,115,116,105,110,103,32,100,101,112,116,104,0,110,117,108,108,0,101,120,112,101,99,116,101,100,32,39,34,39,32,105,110,32,111,98,106,101,99,116,44,32,103,111,116,32,0,101,120,112,101,99,116,101,100,32,39,58,39,32,105,110,32,111,98,106,101,99,116,44,32,103,111,116,32,0,101,120,112,101,99,116,101,100,32,39,44,39,32,105,110,32,111,98,106,101,99,116,44,32,103,111,116,32,0,101,120,112,101,99,116,101,100,32,39,44,39,32,105,110,32,108,105,115,116,44,32,103,111,116,32,0,101,120,112,101,99,116,101,100,32,118,97,108,117,101,44,32,103,111,116,32,0,117,110,101,120,112,101,99,116,101,100,32,101,110,100,32,111,102,32,105,110,112,117,116,32,105,110,32,115,116,114,105,110,103,0,117,110,101,115,99,97,112,101,100,32,0,32,105,110,32,115,116,114,105,110,103,0,98,97,100,32,92,117,32,101,115,99,97,112,101,58,32,0,105,110,118,97,108,105,100,32,101,115,99,97,112,101,32,99,104,97,114,97,99,116,101,114,32,0,105,32,33,61,32,48,0,47,85,115,101,114,115,47,108,117,99,97,115,47,99,111,100,101,47,112,105,112,101,114,45,118,97,109,112,45,99,112,112,47,101,120,116,47,106,115,111,110,49,49,47,106,115,111,110,49,49,46,99,112,112,0,101,120,112,101,99,116,0,112,97,114,115,101,32,101,114,114,111,114,58,32,101,120,112,101,99,116,101,100,32,0,44,32,103,111,116,32,0,108,101,97,100,105,110,103,32,48,115,32,110,111,116,32,112,101,114,109,105,116,116,101,100,32,105,110,32,110,117,109,98,101,114,115,0,105,110,118,97,108,105,100,32,0,32,105,110,32,110,117,109,98,101,114,0,97,116,32,108,101,97,115,116,32,111,110,101,32,100,105,103,105,116,32,114,101,113,117,105,114,101,100,32,105,110,32,102,114,97,99,116,105,111,110,97,108,32,112,97,114,116,0,97,116,32,108,101,97,115,116,32,111,110,101,32,100,105,103,105,116,32,114,101,113,117,105,114,101,100,32,105,110,32,101,120,112,111,110,101,110,116,0,117,110,101,120,112,101,99,116,101,100,32,101,110,100,32,111,102,32,105,110,112,117,116,0,78,83,116,51,95,95,49,50,48,95,95,115,104,97,114,101,100,95,112,116,114,95,101,109,112,108,97,99,101,73,78,54,106,115,111,110,49,49,49,48,74,115,111,110,79,98,106,101,99,116,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,83,50,95,69,69,69,69,0,78,83,116,51,95,95,49,50,48,95,95,115,104,97,114,101,100,95,112,116,114,95,101,109,112,108,97,99,101,73,78,54,106,115,111,110,49,49,57,74,115,111,110,65,114,114,97,121,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,83,50,95,69,69,69,69,0,78,54,106,115,111,110,49,49,49,48,74,115,111,110,83,116,114,105,110,103,69,0,78,54,106,115,111,110,49,49,53,86,97,108,117,101,73,76,78,83,95,52,74,115,111,110,52,84,121,112,101,69,51,69,78,83,116,51,95,95,49,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,99,78,83,51,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,51,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,50,48,95,95,115,104,97,114,101,100,95,112,116,114,95,101,109,112,108,97,99,101,73,78,54,106,115,111,110,49,49,49,48,74,115,111,110,83,116,114,105,110,103,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,83,50,95,69,69,69,69,0,37,100,0,78,54,106,115,111,110,49,49,55,74,115,111,110,73,110,116,69,0,78,54,106,115,111,110,49,49,53,86,97,108,117,101,73,76,78,83,95,52,74,115,111,110,52,84,121,112,101,69,49,69,105,69,69,0,78,83,116,51,95,95,49,50,48,95,95,115,104,97,114,101,100,95,112,116,114,95,101,109,112,108,97,99,101,73,78,54,106,115,111,110,49,49,55,74,115,111,110,73,110,116,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,83,50,95,69,69,69,69,0,37,46,49,55,103,0,78,54,106,115,111,110,49,49,49,48,74,115,111,110,68,111,117,98,108,101,69,0,78,54,106,115,111,110,49,49,53,86,97,108,117,101,73,76,78,83,95,52,74,115,111,110,52,84,121,112,101,69,49,69,100,69,69,0,78,83,116,51,95,95,49,50,48,95,95,115,104,97,114,101,100,95,112,116,114,95,101,109,112,108,97,99,101,73,78,54,106,115,111,110,49,49,49,48,74,115,111,110,68,111,117,98,108,101,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,83,50,95,69,69,69,69,0,78,54,106,115,111,110,49,49,49,49,74,115,111,110,66,111,111,108,101,97,110,69,0,78,54,106,115,111,110,49,49,53,86,97,108,117,101,73,76,78,83,95,52,74,115,111,110,52,84,121,112,101,69,50,69,98,69,69,0,78,83,116,51,95,95,49,50,48,95,95,115,104,97,114,101,100,95,112,116,114,95,101,109,112,108,97,99,101,73,78,54,106,115,111,110,49,49,49,49,74,115,111,110,66,111,111,108,101,97,110,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,83,50,95,69,69,69,69,0,78,54,106,115,111,110,49,49,56,74,115,111,110,78,117,108,108,69,0,78,54,106,115,111,110,49,49,53,86,97,108,117,101,73,76,78,83,95,52,74,115,111,110,52,84,121,112,101,69,48,69,68,110,69,69,0,78,83,116,51,95,95,49,50,48,95,95,115,104,97,114,101,100,95,112,116,114,95,101,109,112,108,97,99,101,73,78,54,106,115,111,110,49,49,56,74,115,111,110,78,117,108,108,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,83,50,95,69,69,69,69,0,83,116,57,98,97,100,95,97,108,108,111,99,0,83,116,57,101,120,99,101,112,116,105,111,110,0,83,116,49,49,108,111,103,105,99,95,101,114,114,111,114,0,83,116,49,50,111,117,116,95,111,102,95,114,97,110,103,101,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,54,95,95,115,104,105,109,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,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,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,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,108,117,99,97,115,47,99,111,100,101,47,108,105,98,114,97,114,105,101,115,47,101,109,115,99,114,105,112,116,101,110,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,108,117,99,97,115,47,99,111,100,101,47,108,105,98,114,97,114,105,101,115,47,101,109,115,99,114,105,112,116,101,110,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,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,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,115,116,100,58,58,98,97,100,95,97,108,108,111,99,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,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,111,117,116,95,111,102,95,114,97,110,103,101,34,0,95,95,116,104,114,111,119,95,111,117,116,95,111,102,95,114,97,110,103,101,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,117,110,99,97,117,103,104,116,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,80,79,83,73,88],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20872);allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,119,69,69,0,117,110,115,117,112,112,111,114,116,101,100,32,108,111,99,97,108,101,32,102,111,114,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,52,95,95,115,104,97,114,101,100,95,99,111,117,110,116,69,0,78,83,116,51,95,95,49,49,57,95,95,115,104,97,114,101,100,95,119,101,97,107,95,99,111,117,110,116,69,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,52,98,97,115,105,99,95,105,111,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,65,66,67,68,69,70,120,88,43,45,112,80,105,73,110,78,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,102,97,99,101,116,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,119,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,99,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,115,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,105,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,49,54,95,95,110,97,114,114,111,119,95,116,111,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,49,55,95,95,119,105,100,101,110,95,102,114,111,109,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,119,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,95,95,105,109,112,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,99,69,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,119,69,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,119,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,49,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,49,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,99,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,119,69,69,0,37,112,0,67,0,37,0,0,0,0,0,108,0,108,108,0,0,76,0,37,112,0,0,0,0,37,72,58,37,77,58,37,83,37,109,47,37,100,47,37,121,37,89,45,37,109,45,37,100,37,73,58,37,77,58,37,83,32,37,112,37,72,58,37,77,37,72,58,37,77,58,37,83,48,49,50,51,52,53,54,55,56,57,0,37,76,102,0,48,49,50,51,52,53,54,55,56,57,0,37,46,48,76,102,0,116,114,117,101,0,102,97,108,115,101,0,83,117,110,100,97,121,0,77,111,110,100,97,121,0,84,117,101,115,100,97,121,0,87,101,100,110,101,115,100,97,121,0,84,104,117,114,115,100,97,121,0,70,114,105,100,97,121,0,83,97,116,117,114,100,97,121,0,83,117,110,0,77,111,110,0,84,117,101,0,87,101,100,0,84,104,117,0,70,114,105,0,83,97,116,0,74,97,110,117,97,114,121,0,70,101,98,114,117,97,114,121,0,77,97,114,99,104,0,65,112,114,105,108,0,77,97,121,0,74,117,110,101,0,74,117,108,121,0,65,117,103,117,115,116,0,83,101,112,116,101,109,98,101,114,0,79,99,116,111,98,101,114,0,78,111,118,101,109,98,101,114,0,68,101,99,101,109,98,101,114,0,74,97,110,0,70,101,98,0,77,97,114,0,65,112,114,0,74,117,110,0,74,117,108,0,65,117,103,0,83,101,112,0,79,99,116,0,78,111,118,0,68,101,99,0,65,77,0,80,77,0,37,109,47,37,100,47,37,121,0,37,72,58,37,77,58,37,83,0,37,97,32,37,98,32,37,100,32,37,72,58,37,77,58,37,83,32,37,89,0,37,73,58,37,77,58,37,83,32,37,112,0,78,83,116,51,95,95,49,49,51,109,101,115,115,97,103,101,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,95,95,116,105,109,101,95,112,117,116,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,119,69,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,99,69,69,0,78,83,116,51,95,95,49,57,116,105,109,101,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,112,117,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,103,101,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,50,99,111,100,101,99,118,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,99,116,121,112,101,95,98,97,115,101,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+29896);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}Module["_i64Subtract"]=_i64Subtract;var _fabsf=Math_abs;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i<typeArray.length;i++){if(typeArray[i]&&Module["___cxa_can_catch"](typeArray[i],throwntype,thrown)){thrown=HEAP32[thrown>>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}Module["_memset"]=_memset;var _BDtoILow=true;function _pthread_mutex_lock(){}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,"0")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":(function(date){return WEEKDAYS[date.tm_wday].substring(0,3)}),"%A":(function(date){return WEEKDAYS[date.tm_wday]}),"%b":(function(date){return MONTHS[date.tm_mon].substring(0,3)}),"%B":(function(date){return MONTHS[date.tm_mon]}),"%C":(function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)}),"%d":(function(date){return leadingNulls(date.tm_mday,2)}),"%e":(function(date){return leadingSomething(date.tm_mday,2," ")}),"%g":(function(date){return getWeekBasedYear(date).toString().substring(2)}),"%G":(function(date){return getWeekBasedYear(date)}),"%H":(function(date){return leadingNulls(date.tm_hour,2)}),"%I":(function(date){return leadingNulls(date.tm_hour<13?date.tm_hour:date.tm_hour-12,2)}),"%j":(function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)}),"%m":(function(date){return leadingNulls(date.tm_mon+1,2)}),"%M":(function(date){return leadingNulls(date.tm_min,2)}),"%n":(function(){return"\n"}),"%p":(function(date){if(date.tm_hour>0&&date.tm_hour<13){return"AM"}else{return"PM"}}),"%S":(function(date){return leadingNulls(date.tm_sec,2)}),"%t":(function(){return"\t"}),"%u":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7}),"%U":(function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"}),"%V":(function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()<date.tm_year+1900){daysDifference=date.tm_yday+32-firstWeekStartThisYear.getDate()}else{daysDifference=date.tm_yday+1-firstWeekStartThisYear.getDate()}return leadingNulls(Math.ceil(daysDifference/7),2)}),"%w":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()}),"%W":(function(date){var janFirst=new Date(date.tm_year,0,1);var firstMonday=janFirst.getDay()===1?janFirst:__addDays(janFirst,janFirst.getDay()===0?1:7-janFirst.getDay()+1);var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstMonday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstMondayUntilEndJanuary=31-firstMonday.getDate();var days=firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstMonday,janFirst)===0?"01":"00"}),"%y":(function(date){return(date.tm_year+1900).toString().substring(2)}),"%Y":(function(date){return date.tm_year+1900}),"%z":(function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)}),"%Z":(function(date){return date.tm_zone}),"%%":(function(){return"%"})};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}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 ___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}var _fabs=Math_abs;var _floor=Math_floor;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}var _sqrt=Math_sqrt;var PATH=undefined;function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){setTimeout(Browser.mainLoop.runner,value)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(!window["setImmediate"]){var setImmediates=[];var emscriptenMainLoopMessageId="__emcc";function Browser_setImmediate_messageHandler(event){if(event.source===window&&event.data===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}window.addEventListener("message",Browser_setImmediate_messageHandler,true);window["setImmediate"]=function Browser_emulated_setImmediate(func){setImmediates.push(func);window.postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){window["setImmediate"](Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter((function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}}));if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;if(typeof SDL==="object"&&SDL.audio&&SDL.audio.queueNewAudioData)SDL.audio.queueNewAudioData();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:(function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++}),resume:(function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()}),updateStatus:(function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining<expected){Module["setStatus"](message+" ("+(expected-remaining)+"/"+expected+")")}else{Module["setStatus"](message)}}else{Module["setStatus"]("")}}}),runIter:(function(func){if(ABORT)return;if(Module["preMainLoop"]){var preRet=Module["preMainLoop"]();if(preRet===false){return}}try{func()}catch(e){if(e instanceof ExitStatus){return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}if(Module["postMainLoop"])Module["postMainLoop"]()})},isFullScreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:(function(){if(!Module["preloadPlugins"])Module["preloadPlugins"]=[];if(Browser.initted)return;Browser.initted=true;try{new Blob;Browser.hasBlobConstructor=true}catch(e){Browser.hasBlobConstructor=false;console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Browser.BlobBuilder=typeof MozBlobBuilder!="undefined"?MozBlobBuilder:typeof WebKitBlobBuilder!="undefined"?WebKitBlobBuilder:!Browser.hasBlobConstructor?console.log("warning: no BlobBuilder"):null;Browser.URLObject=typeof window!="undefined"?window.URL?window.URL:window.webkitURL:undefined;if(!Module.noImageDecoding&&typeof Browser.URLObject==="undefined"){console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");Module.noImageDecoding=true}var imagePlugin={};imagePlugin["canHandle"]=function imagePlugin_canHandle(name){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(name)};imagePlugin["handle"]=function imagePlugin_handle(byteArray,name,onload,onerror){var b=null;if(Browser.hasBlobConstructor){try{b=new Blob([byteArray],{type:Browser.getMimetype(name)});if(b.size!==byteArray.length){b=new Blob([(new Uint8Array(byteArray)).buffer],{type:Browser.getMimetype(name)})}}catch(e){Runtime.warnOnce("Blob constructor present but fails: "+e+"; falling back to blob builder")}}if(!b){var bb=new Browser.BlobBuilder;bb.append((new Uint8Array(byteArray)).buffer);b=bb.getBlob()}var url=Browser.URLObject.createObjectURL(b);var img=new Image;img.onload=function img_onload(){assert(img.complete,"Image "+name+" could not be decoded");var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);Module["preloadedImages"][name]=canvas;Browser.URLObject.revokeObjectURL(url);if(onload)onload(byteArray)};img.onerror=function img_onerror(event){console.log("Image "+url+" could not be decoded");if(onerror)onerror()};img.src=url};Module["preloadPlugins"].push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;Module["preloadedAudios"][name]=audio;if(onload)onload(byteArray)}function fail(){if(done)return;done=true;Module["preloadedAudios"][name]=new Audio;if(onerror)onerror()}if(Browser.hasBlobConstructor){try{var b=new Blob([byteArray],{type:Browser.getMimetype(name)})}catch(e){return fail()}var url=Browser.URLObject.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",(function(){finish(audio)}),false);audio.onerror=function audio_onerror(event){if(done)return;console.log("warning: browser could not fully decode audio "+name+", trying slower base64 approach");function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i<data.length;i++){leftchar=leftchar<<8|data[i];leftbits+=8;while(leftbits>=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout((function(){finish(audio)}),1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(function(){});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(function(){});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",(function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}}),false)}}}),createContext:(function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach((function(callback){callback()}));Browser.init()}return ctx}),destroyContext:(function(canvas,useWebGL,setInModule){}),fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:(function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||(function(){});canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullScreenChange,false);document.addEventListener("mozfullscreenchange",fullScreenChange,false);document.addEventListener("webkitfullscreenchange",fullScreenChange,false);document.addEventListener("MSFullscreenChange",fullScreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer["requestFullScreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullScreen"]?(function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}}),nextRAF:0,fakeRequestAnimationFrame:(function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)}),requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:(function(func){return(function(){if(!ABORT)return func.apply(null,arguments)})}),allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=false}),resumeAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach((function(func){func()}))}}),safeRequestAnimationFrame:(function(func){return Browser.requestAnimationFrame((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}))}),safeSetTimeout:(function(func,timeout){Module["noExitRuntime"]=true;return setTimeout((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}),timeout)}),safeSetInterval:(function(func,timeout){Module["noExitRuntime"]=true;return setInterval((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}}),timeout)}),getMimetype:(function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]}),getUserMedia:(function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)}),getMovementX:(function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0}),getMovementY:(function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0}),getMouseWheelDelta:(function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta}),mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:(function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}}),xhrLoad:(function(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)}),asyncLoad:(function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)}),(function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}}));if(!noRunDep)addRunDependency("al "+url)}),resizeListeners:[],updateResizeListeners:(function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach((function(listener){listener(canvas.width,canvas.height)}))}),setCanvasSize:(function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()}),windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),updateCanvasDimensions:(function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h<Module["forcedAspectRatio"]){w=Math.round(h*Module["forcedAspectRatio"])}else{h=Math.round(w/Module["forcedAspectRatio"])}}if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvas.parentNode&&typeof screen!="undefined"){var factor=Math.min(screen.width/w,screen.height/h);w=Math.round(w*factor);h=Math.round(h*factor)}if(Browser.resizeCanvas){if(canvas.width!=w)canvas.width=w;if(canvas.height!=h)canvas.height=h;if(typeof canvas.style!="undefined"){canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}else{if(canvas.width!=wNative)canvas.width=wNative;if(canvas.height!=hNative)canvas.height=hNative;if(typeof canvas.style!="undefined"){if(w!=wNative||h!=hNative){canvas.style.setProperty("width",w+"px","important");canvas.style.setProperty("height",h+"px","important")}else{canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}}}),wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:(function(){var handle=Browser.nextWgetRequestHandle;Browser.nextWgetRequestHandle++;return handle})};function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}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 _sin=Math_sin;Module["_i64Add"]=_i64Add;Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cond_broadcast(){return 0}function ___cxa_guard_acquire(variable){if(!HEAP8[variable>>0]){HEAP8[variable>>0]=1;return 1}return 0}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_guard_release(){}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;var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _cos=Math_cos;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["_bitshift64Shl"]=_bitshift64Shl;Module["_memmove"]=_memmove;var _BItoD=true;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}}function _pthread_cond_wait(){return 0}function _pthread_mutex_unlock(){}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.buffer=[];var buffer=___syscall146.buffer;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j<len;j++){var curr=HEAPU8[ptr+j];if(curr===0||curr===10){Module["print"](UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}}ret+=len}return ret}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___dso_handle=allocate(1,"i32*",ALLOC_STATIC);Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE<TOTAL_MEMORY,"TOTAL_MEMORY not big enough for stack");var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{return Module["dynCall_iiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viid(index,a1,a2,a3){try{Module["dynCall_viid"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_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_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_dii(index,a1,a2){try{return Module["dynCall_dii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_di(index,a1){try{return Module["dynCall_di"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_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_iid(index,a1,a2){try{return Module["dynCall_iid"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiid(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiid"](index,a1,a2,a3,a4,a5,a6)}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_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{return Module["dynCall_iiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}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)}}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_iiiiid(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiid"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiiiiiii":invoke_iiiiiiii,"invoke_iiii":invoke_iiii,"invoke_viid":invoke_viid,"invoke_viiiiii":invoke_viiiiii,"invoke_viiiii":invoke_viiiii,"invoke_dii":invoke_dii,"invoke_di":invoke_di,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_iid":invoke_iid,"invoke_iiiiiid":invoke_iiiiiid,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_iiiiiiiii":invoke_iiiiiiiii,"invoke_iiiii":invoke_iiiii,"invoke_viiii":invoke_viiii,"invoke_iii":invoke_iii,"invoke_iiiiid":invoke_iiiiid,"invoke_iiiiii":invoke_iiiiii,"_fabs":_fabs,"_strftime":_strftime,"_pthread_cond_wait":_pthread_cond_wait,"_sin":_sin,"_pthread_key_create":_pthread_key_create,"_abort":_abort,"___cxa_guard_acquire":___cxa_guard_acquire,"___setErrNo":___setErrNo,"___assert_fail":___assert_fail,"___cxa_allocate_exception":___cxa_allocate_exception,"___cxa_find_matching_catch":___cxa_find_matching_catch,"_floor":_floor,"__isLeapYear":__isLeapYear,"___cxa_guard_release":___cxa_guard_release,"__addDays":__addDays,"_strftime_l":_strftime_l,"_emscripten_set_main_loop_timing":_emscripten_set_main_loop_timing,"_fabsf":_fabsf,"_sbrk":_sbrk,"___cxa_begin_catch":___cxa_begin_catch,"_emscripten_memcpy_big":_emscripten_memcpy_big,"___resumeException":___resumeException,"__ZSt18uncaught_exceptionv":__ZSt18uncaught_exceptionv,"_sysconf":_sysconf,"_pthread_getspecific":_pthread_getspecific,"__arraySum":__arraySum,"_cos":_cos,"_pthread_self":_pthread_self,"_pthread_mutex_unlock":_pthread_mutex_unlock,"_pthread_once":_pthread_once,"_sqrt":_sqrt,"___syscall54":___syscall54,"___unlock":___unlock,"_pthread_cleanup_pop":_pthread_cleanup_pop,"_pthread_cond_broadcast":_pthread_cond_broadcast,"_emscripten_set_main_loop":_emscripten_set_main_loop,"_pthread_setspecific":_pthread_setspecific,"___cxa_atexit":___cxa_atexit,"___cxa_throw":___cxa_throw,"__exit":__exit,"___lock":___lock,"___syscall6":___syscall6,"_pthread_cleanup_push":_pthread_cleanup_push,"___cxa_pure_virtual":___cxa_pure_virtual,"_time":_time,"_pthread_mutex_lock":_pthread_mutex_lock,"_atexit":_atexit,"___syscall140":___syscall140,"_exit":_exit,"___syscall145":___syscall145,"___syscall146":___syscall146,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8,"___dso_handle":___dso_handle};// EMSCRIPTEN_START_ASM var asm=(function(global,env,buffer) { "use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=env.___dso_handle|0;var o=0;var p=0;var q=0;var r=0;var s=global.NaN,t=global.Infinity;var u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0.0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=0;var N=global.Math.floor;var O=global.Math.abs;var P=global.Math.sqrt;var Q=global.Math.pow;var R=global.Math.cos;var S=global.Math.sin;var T=global.Math.tan;var U=global.Math.acos;var V=global.Math.asin;var W=global.Math.atan;var X=global.Math.atan2;var Y=global.Math.exp;var Z=global.Math.log;var _=global.Math.ceil;var $=global.Math.imul;var aa=global.Math.min;var ba=global.Math.clz32;var ca=env.abort;var da=env.assert;var ea=env.invoke_iiiiiiii;var fa=env.invoke_iiii;var ga=env.invoke_viid;var ha=env.invoke_viiiiii;var ia=env.invoke_viiiii;var ja=env.invoke_dii;var ka=env.invoke_di;var la=env.invoke_vi;var ma=env.invoke_vii;var na=env.invoke_iiiiiii;var oa=env.invoke_ii;var pa=env.invoke_iid;var qa=env.invoke_iiiiiid;var ra=env.invoke_viii;var sa=env.invoke_v;var ta=env.invoke_iiiiiiiii;var ua=env.invoke_iiiii;var va=env.invoke_viiii;var wa=env.invoke_iii;var xa=env.invoke_iiiiid;var ya=env.invoke_iiiiii;var za=env._fabs;var Aa=env._strftime;var Ba=env._pthread_cond_wait;var Ca=env._sin;var Da=env._pthread_key_create;var Ea=env._abort;var Fa=env.___cxa_guard_acquire;var Ga=env.___setErrNo;var Ha=env.___assert_fail;var Ia=env.___cxa_allocate_exception;var Ja=env.___cxa_find_matching_catch;var Ka=env._floor;var La=env.__isLeapYear;var Ma=env.___cxa_guard_release;var Na=env.__addDays;var Oa=env._strftime_l;var Pa=env._emscripten_set_main_loop_timing;var Qa=env._fabsf;var Ra=env._sbrk;var Sa=env.___cxa_begin_catch;var Ta=env._emscripten_memcpy_big;var Ua=env.___resumeException;var Va=env.__ZSt18uncaught_exceptionv;var Wa=env._sysconf;var Xa=env._pthread_getspecific;var Ya=env.__arraySum;var Za=env._cos;var _a=env._pthread_self;var $a=env._pthread_mutex_unlock;var ab=env._pthread_once;var bb=env._sqrt;var cb=env.___syscall54;var db=env.___unlock;var eb=env._pthread_cleanup_pop;var fb=env._pthread_cond_broadcast;var gb=env._emscripten_set_main_loop;var hb=env._pthread_setspecific;var ib=env.___cxa_atexit;var jb=env.___cxa_throw;var kb=env.__exit;var lb=env.___lock;var mb=env.___syscall6;var nb=env._pthread_cleanup_push;var ob=env.___cxa_pure_virtual;var pb=env._time;var qb=env._pthread_mutex_lock;var rb=env._atexit;var sb=env.___syscall140;var tb=env._exit;var ub=env.___syscall145;var vb=env.___syscall146;var wb=0.0; // EMSCRIPTEN_START_FUNCS function _p(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;m=c[f>>2]|0;n=(m|0)==(e|0);do if(n){o=(a[l+24>>0]|0)==b<<24>>24;if(!o?(a[l+25>>0]|0)!=b<<24>>24:0){p=5;break}c[f>>2]=e+1;a[e>>0]=o?43:45;c[g>>2]=0;q=0}else p=5;while(0);a:do if((p|0)==5){o=a[i>>0]|0;if(b<<24>>24==h<<24>>24?(((o&1)==0?(o&255)>>>1:c[i+4>>2]|0)|0)!=0:0){o=c[k>>2]|0;if((o-j|0)>=160){q=0;break}r=c[g>>2]|0;c[k>>2]=o+4;c[o>>2]=r;c[g>>2]=0;q=0;break}r=l+26|0;o=l;while(1){if((a[o>>0]|0)==b<<24>>24){s=o;break}o=o+1|0;if((o|0)==(r|0)){s=r;break}}r=s-l|0;if((r|0)>23)q=-1;else{switch(d|0){case 10:case 8:{if((r|0)>=(d|0)){q=-1;break a}break}case 16:{if((r|0)>=22){if(n){q=-1;break a}if((m-e|0)>=3){q=-1;break a}if((a[m+-1>>0]|0)!=48){q=-1;break a}c[g>>2]=0;o=a[31066+r>>0]|0;c[f>>2]=m+1;a[m>>0]=o;q=0;break a}break}default:{}}o=a[31066+r>>0]|0;c[f>>2]=m+1;a[m>>0]=o;c[g>>2]=(c[g>>2]|0)+1;q=0}}while(0);return q|0}function $p(){if((a[2024]|0)==0?(Fa(2024)|0)!=0:0){c[3235]=rl(2147483647,32453,0)|0;Ma(2024)}return c[3235]|0}function aq(a){a=a|0;return}function bq(a){a=a|0;gk(a);return}function cq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;j=i;i=i+64|0;k=j+56|0;l=j+52|0;m=j+48|0;n=j+44|0;o=j+40|0;p=j+36|0;q=j+32|0;r=j+8|0;s=j;a:do if(!(c[f+4>>2]&1)){c[m>>2]=-1;t=c[(c[b>>2]|0)+16>>2]|0;c[n>>2]=c[d>>2];c[o>>2]=c[e>>2];c[l>>2]=c[n>>2];c[k>>2]=c[o>>2];u=Gb[t&63](b,l,k,f,g,m)|0;c[d>>2]=u;switch(c[m>>2]|0){case 0:{a[h>>0]=0;v=u;break a;break}case 1:{a[h>>0]=1;v=u;break a;break}default:{a[h>>0]=1;c[g>>2]=4;v=u;break a}}}else{u=oo(f)|0;c[p>>2]=u;t=Lt(p,12368)|0;wn(u)|0;u=oo(f)|0;c[q>>2]=u;w=Lt(q,12524)|0;wn(u)|0;Fb[c[(c[w>>2]|0)+24>>2]&127](r,w);Fb[c[(c[w>>2]|0)+28>>2]&127](r+12|0,w);c[s>>2]=c[e>>2];c[k>>2]=c[s>>2];a[h>>0]=(Iv(d,k,r,r+24|0,t,g,1)|0)==(r|0)&1;t=c[d>>2]|0;$n(r+12|0);$n(r);v=t}while(0);i=j;return v|0}function dq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;l=h+4|0;m=h;c[l>>2]=c[b>>2];c[m>>2]=c[d>>2];c[k>>2]=c[l>>2];c[j>>2]=c[m>>2];m=Jv(a,k,j,e,f,g)|0;i=h;return m|0}function eq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;l=h+4|0;m=h;c[l>>2]=c[b>>2];c[m>>2]=c[d>>2];c[k>>2]=c[l>>2];c[j>>2]=c[m>>2];m=Kv(a,k,j,e,f,g)|0;i=h;return m|0}function fq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;l=h+4|0;m=h;c[l>>2]=c[b>>2];c[m>>2]=c[d>>2];c[k>>2]=c[l>>2];c[j>>2]=c[m>>2];m=Lv(a,k,j,e,f,g)|0;i=h;return m|0}function gq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;l=h+4|0;m=h;c[l>>2]=c[b>>2];c[m>>2]=c[d>>2];c[k>>2]=c[l>>2];c[j>>2]=c[m>>2];m=Mv(a,k,j,e,f,g)|0;i=h;return m|0}function hq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;l=h+4|0;m=h;c[l>>2]=c[b>>2];c[m>>2]=c[d>>2];c[k>>2]=c[l>>2];c[j>>2]=c[m>>2];m=Nv(a,k,j,e,f,g)|0;i=h;return m|0}function iq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;l=h+4|0;m=h;c[l>>2]=c[b>>2];c[m>>2]=c[d>>2];c[k>>2]=c[l>>2];c[j>>2]=c[m>>2];m=Ov(a,k,j,e,f,g)|0;i=h;return m|0}function jq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;l=h+4|0;m=h;c[l>>2]=c[b>>2];c[m>>2]=c[d>>2];c[k>>2]=c[l>>2];c[j>>2]=c[m>>2];m=Pv(a,k,j,e,f,g)|0;i=h;return m|0}function kq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;l=h+4|0;m=h;c[l>>2]=c[b>>2];c[m>>2]=c[d>>2];c[k>>2]=c[l>>2];c[j>>2]=c[m>>2];m=Qv(a,k,j,e,f,g)|0;i=h;return m|0}function lq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;l=h+4|0;m=h;c[l>>2]=c[b>>2];c[m>>2]=c[d>>2];c[k>>2]=c[l>>2];c[j>>2]=c[m>>2];m=Rv(a,k,j,e,f,g)|0;i=h;return m|0}function mq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,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;b=i;i=i+320|0;j=b;k=b+208|0;l=b+32|0;m=b+28|0;n=b+16|0;o=b+12|0;p=b+48|0;q=b+8|0;r=b+4|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;s=oo(f)|0;c[m>>2]=s;f=Lt(m,12368)|0;Nb[c[(c[f>>2]|0)+48>>2]&15](f,31066,31092,k)|0;wn(s)|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;if(!(a[n>>0]&1))t=10;else t=(c[n>>2]&-2)+-1|0;Mn(n,t,0);t=n+8|0;s=n+1|0;f=(a[n>>0]&1)==0?s:c[t>>2]|0;c[o>>2]=f;c[q>>2]=p;c[r>>2]=0;m=n+4|0;u=c[d>>2]|0;v=f;a:while(1){if(u){f=c[u+12>>2]|0;if((f|0)==(c[u+16>>2]|0))w=Hb[c[(c[u>>2]|0)+36>>2]&127](u)|0;else w=c[f>>2]|0;if((w|0)==-1){c[d>>2]=0;x=0;y=1}else{x=u;y=0}}else{x=0;y=1}f=c[e>>2]|0;do if(f){z=c[f+12>>2]|0;if((z|0)==(c[f+16>>2]|0))A=Hb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else A=c[z>>2]|0;if((A|0)!=-1)if(y){B=f;break}else{C=x;D=f;E=v;break a}else{c[e>>2]=0;F=16;break}}else F=16;while(0);if((F|0)==16){F=0;if(y){C=x;D=0;E=v;break}else B=0}f=a[n>>0]|0;z=(f&1)==0?(f&255)>>>1:c[m>>2]|0;if((c[o>>2]|0)==(v+z|0)){Mn(n,z<<1,0);if(!(a[n>>0]&1))G=10;else G=(c[n>>2]&-2)+-1|0;Mn(n,G,0);f=(a[n>>0]&1)==0?s:c[t>>2]|0;c[o>>2]=f+z;H=f}else H=v;f=x+12|0;z=c[f>>2]|0;I=x+16|0;if((z|0)==(c[I>>2]|0))J=Hb[c[(c[x>>2]|0)+36>>2]&127](x)|0;else J=c[z>>2]|0;if(nq(J,16,H,o,r,0,l,p,q,k)|0){C=x;D=B;E=H;break}z=c[f>>2]|0;if((z|0)==(c[I>>2]|0)){Hb[c[(c[x>>2]|0)+40>>2]&127](x)|0;u=x;v=H;continue}else{c[f>>2]=z+4;u=x;v=H;continue}}Mn(n,(c[o>>2]|0)-E|0,0);E=(a[n>>0]&1)==0?s:c[t>>2]|0;t=$p()|0;c[j>>2]=h;if((Hv(E,t,32450,j)|0)!=1)c[g>>2]=4;if(C){j=c[C+12>>2]|0;if((j|0)==(c[C+16>>2]|0))K=Hb[c[(c[C>>2]|0)+36>>2]&127](C)|0;else K=c[j>>2]|0;if((K|0)==-1){c[d>>2]=0;L=1}else L=0}else L=1;do if(D){K=c[D+12>>2]|0;if((K|0)==(c[D+16>>2]|0))M=Hb[c[(c[D>>2]|0)+36>>2]&127](D)|0;else M=c[K>>2]|0;if((M|0)!=-1)if(L)break;else{F=45;break}else{c[e>>2]=0;F=43;break}}else F=43;while(0);if((F|0)==43?L:0)F=45;if((F|0)==45)c[g>>2]=c[g>>2]|2;g=c[d>>2]|0;In(n);In(l);i=b;return g|0}function nq(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;m=c[f>>2]|0;n=(m|0)==(e|0);do if(n){o=(c[l+96>>2]|0)==(b|0);if(!o?(c[l+100>>2]|0)!=(b|0):0){p=5;break}c[f>>2]=e+1;a[e>>0]=o?43:45;c[g>>2]=0;q=0}else p=5;while(0);a:do if((p|0)==5){o=a[i>>0]|0;if((b|0)==(h|0)?(((o&1)==0?(o&255)>>>1:c[i+4>>2]|0)|0)!=0:0){o=c[k>>2]|0;if((o-j|0)>=160){q=0;break}r=c[g>>2]|0;c[k>>2]=o+4;c[o>>2]=r;c[g>>2]=0;q=0;break}r=l+104|0;o=l;while(1){if((c[o>>2]|0)==(b|0)){s=o;break}o=o+4|0;if((o|0)==(r|0)){s=r;break}}r=s-l|0;o=r>>2;if((r|0)>92)q=-1;else{switch(d|0){case 10:case 8:{if((o|0)>=(d|0)){q=-1;break a}break}case 16:{if((r|0)>=88){if(n){q=-1;break a}if((m-e|0)>=3){q=-1;break a}if((a[m+-1>>0]|0)!=48){q=-1;break a}c[g>>2]=0;r=a[31066+o>>0]|0;c[f>>2]=m+1;a[m>>0]=r;q=0;break a}break}default:{}}r=a[31066+o>>0]|0;c[f>>2]=m+1;a[m>>0]=r;c[g>>2]=(c[g>>2]|0)+1;q=0}}while(0);return q|0}function oq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;i=i+16|0;h=g;j=oo(d)|0;c[h>>2]=j;d=Lt(h,12376)|0;Nb[c[(c[d>>2]|0)+32>>2]&15](d,31066,31092,e)|0;e=Lt(h,12516)|0;a[f>>0]=Hb[c[(c[e>>2]|0)+16>>2]&127](e)|0;Fb[c[(c[e>>2]|0)+20>>2]&127](b,e);wn(j)|0;i=g;return}function pq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h;k=oo(d)|0;c[j>>2]=k;d=Lt(j,12376)|0;Nb[c[(c[d>>2]|0)+32>>2]&15](d,31066,31098,e)|0;e=Lt(j,12516)|0;a[f>>0]=Hb[c[(c[e>>2]|0)+12>>2]&127](e)|0;a[g>>0]=Hb[c[(c[e>>2]|0)+16>>2]&127](e)|0;Fb[c[(c[e>>2]|0)+20>>2]&127](b,e);wn(k)|0;i=h;return}function qq(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0;a:do if(b<<24>>24==i<<24>>24)if(a[e>>0]|0){a[e>>0]=0;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=46;p=a[k>>0]|0;if((((p&1)==0?(p&255)>>>1:c[k+4>>2]|0)|0)!=0?(p=c[m>>2]|0,(p-l|0)<160):0){q=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=q;r=0}else r=0}else r=-1;else{if(b<<24>>24==j<<24>>24?(q=a[k>>0]|0,(((q&1)==0?(q&255)>>>1:c[k+4>>2]|0)|0)!=0):0){if(!(a[e>>0]|0)){r=-1;break}q=c[m>>2]|0;if((q-l|0)>=160){r=0;break}p=c[n>>2]|0;c[m>>2]=q+4;c[q>>2]=p;c[n>>2]=0;r=0;break}p=o+32|0;q=o;while(1){if((a[q>>0]|0)==b<<24>>24){s=q;break}q=q+1|0;if((q|0)==(p|0)){s=p;break}}p=s-o|0;if((p|0)>31)r=-1;else{q=a[31066+p>>0]|0;switch(p|0){case 24:case 25:{t=c[h>>2]|0;if((t|0)!=(g|0)?(d[t+-1>>0]&95|0)!=(d[f>>0]&127|0):0){r=-1;break a}c[h>>2]=t+1;a[t>>0]=q;r=0;break a;break}case 23:case 22:{a[f>>0]=80;t=c[h>>2]|0;c[h>>2]=t+1;a[t>>0]=q;r=0;break a;break}default:{t=q&95;if((((t|0)==(a[f>>0]|0)?(a[f>>0]=t|128,(a[e>>0]|0)!=0):0)?(a[e>>0]=0,t=a[k>>0]|0,(((t&1)==0?(t&255)>>>1:c[k+4>>2]|0)|0)!=0):0)?(t=c[m>>2]|0,(t-l|0)<160):0){u=c[n>>2]|0;c[m>>2]=t+4;c[t>>2]=u}u=c[h>>2]|0;c[h>>2]=u+1;a[u>>0]=q;if((p|0)>21){r=0;break a}c[n>>2]=(c[n>>2]|0)+1;r=0;break a}}}}while(0);return r|0}function rq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;h=oo(b)|0;c[g>>2]=h;b=Lt(g,12368)|0;Nb[c[(c[b>>2]|0)+48>>2]&15](b,31066,31092,d)|0;d=Lt(g,12524)|0;c[e>>2]=Hb[c[(c[d>>2]|0)+16>>2]&127](d)|0;Fb[c[(c[d>>2]|0)+20>>2]&127](a,d);wn(h)|0;i=f;return}function sq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;i=i+16|0;h=g;j=oo(b)|0;c[h>>2]=j;b=Lt(h,12368)|0;Nb[c[(c[b>>2]|0)+48>>2]&15](b,31066,31098,d)|0;d=Lt(h,12524)|0;c[e>>2]=Hb[c[(c[d>>2]|0)+12>>2]&127](d)|0;c[f>>2]=Hb[c[(c[d>>2]|0)+16>>2]&127](d)|0;Fb[c[(c[d>>2]|0)+20>>2]&127](a,d);wn(j)|0;i=g;return}function tq(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0;a:do if((b|0)==(i|0))if(a[e>>0]|0){a[e>>0]=0;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=46;p=a[k>>0]|0;if((((p&1)==0?(p&255)>>>1:c[k+4>>2]|0)|0)!=0?(p=c[m>>2]|0,(p-l|0)<160):0){q=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=q;r=0}else r=0}else r=-1;else{if((b|0)==(j|0)?(q=a[k>>0]|0,(((q&1)==0?(q&255)>>>1:c[k+4>>2]|0)|0)!=0):0){if(!(a[e>>0]|0)){r=-1;break}q=c[m>>2]|0;if((q-l|0)>=160){r=0;break}p=c[n>>2]|0;c[m>>2]=q+4;c[q>>2]=p;c[n>>2]=0;r=0;break}p=o+128|0;q=o;while(1){if((c[q>>2]|0)==(b|0)){s=q;break}q=q+4|0;if((q|0)==(p|0)){s=p;break}}p=s-o|0;q=p>>2;if((p|0)<=124){t=a[31066+q>>0]|0;switch(q|0){case 24:case 25:{q=c[h>>2]|0;if((q|0)!=(g|0)?(d[q+-1>>0]&95|0)!=(d[f>>0]&127|0):0){r=-1;break a}c[h>>2]=q+1;a[q>>0]=t;r=0;break a;break}case 23:case 22:{a[f>>0]=80;break}default:{q=t&95;if((((q|0)==(a[f>>0]|0)?(a[f>>0]=q|128,(a[e>>0]|0)!=0):0)?(a[e>>0]=0,q=a[k>>0]|0,(((q&1)==0?(q&255)>>>1:c[k+4>>2]|0)|0)!=0):0)?(q=c[m>>2]|0,(q-l|0)<160):0){u=c[n>>2]|0;c[m>>2]=q+4;c[q>>2]=u}}}u=c[h>>2]|0;c[h>>2]=u+1;a[u>>0]=t;if((p|0)>84)r=0;else{c[n>>2]=(c[n>>2]|0)+1;r=0}}else r=-1}while(0);return r|0}function uq(a){a=a|0;return}function vq(a){a=a|0;gk(a);return}function wq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;j=h+20|0;k=h+16|0;l=h+12|0;m=h;if(!(c[e+4>>2]&1)){n=c[(c[b>>2]|0)+24>>2]|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];o=Rb[n&31](b,j,e,f,g&1)|0}else{f=oo(e)|0;c[l>>2]=f;e=Lt(l,12516)|0;wn(f)|0;f=c[e>>2]|0;if(g)Fb[c[f+24>>2]&127](m,e);else Fb[c[f+28>>2]&127](m,e);e=a[m>>0]|0;f=(e&1)==0;g=m+1|0;l=m+8|0;j=f?g:m+1|0;b=f?g:c[m+8>>2]|0;g=m+4|0;f=(e&1)==0;if((b|0)!=((f?j:c[l>>2]|0)+(f?(e&255)>>>1:c[g>>2]|0)|0)){e=b;do{b=a[e>>0]|0;f=c[d>>2]|0;do if(f){n=f+24|0;k=c[n>>2]|0;if((k|0)!=(c[f+28>>2]|0)){c[n>>2]=k+1;a[k>>0]=b;break}if((Pb[c[(c[f>>2]|0)+52>>2]&63](f,b&255)|0)==-1)c[d>>2]=0}while(0);e=e+1|0;b=a[m>>0]|0;f=(b&1)==0}while((e|0)!=((f?j:c[l>>2]|0)+(f?(b&255)>>>1:c[g>>2]|0)|0))}g=c[d>>2]|0;In(m);o=g}i=h;return o|0}function xq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=i;i=i+64|0;h=b;j=b+56|0;k=b+44|0;l=b+20|0;m=b+16|0;n=b+12|0;o=b+8|0;p=b+4|0;a[j>>0]=a[32455]|0;a[j+1>>0]=a[32456]|0;a[j+2>>0]=a[32457]|0;a[j+3>>0]=a[32458]|0;a[j+4>>0]=a[32459]|0;a[j+5>>0]=a[32460]|0;yq(j+1|0,32461,1,c[e+4>>2]|0);q=$p()|0;c[h>>2]=g;g=k+(Sv(k,12,q,j,h)|0)|0;j=zq(k,g,e)|0;q=oo(e)|0;c[o>>2]=q;Aq(k,j,g,l,m,n,o);wn(q)|0;c[p>>2]=c[d>>2];d=c[m>>2]|0;m=c[n>>2]|0;c[h>>2]=c[p>>2];p=we(h,l,d,m,e,f)|0;i=b;return p|0}function yq(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!(e&2048))f=b;else{a[b>>0]=43;f=b+1|0}if(!(e&512))g=f;else{a[f>>0]=35;g=f+1|0}f=a[c>>0]|0;if(!(f<<24>>24))h=g;else{b=c;c=g;g=f;while(1){b=b+1|0;f=c+1|0;a[c>>0]=g;g=a[b>>0]|0;if(!(g<<24>>24)){h=f;break}else c=f}}a:do switch(e&74|0){case 64:{a[h>>0]=111;break}case 8:{if(!(e&16384)){a[h>>0]=120;break a}else{a[h>>0]=88;break a}break}default:if(d){a[h>>0]=100;break a}else{a[h>>0]=117;break a}}while(0);return}function zq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do switch(c[e+4>>2]&176|0){case 16:{f=a[b>>0]|0;switch(f<<24>>24){case 43:case 45:{g=b+1|0;break a;break}default:{}}if((d-b|0)>1&f<<24>>24==48){switch(a[b+1>>0]|0){case 88:case 120:break;default:{h=7;break a}}g=b+2|0}else h=7;break}case 32:{g=d;break}default:h=7}while(0);if((h|0)==7)g=b;return g|0}function Aq(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;k=i;i=i+16|0;l=k;m=Lt(j,12376)|0;n=Lt(j,12516)|0;Fb[c[(c[n>>2]|0)+20>>2]&127](l,n);j=a[l>>0]|0;o=l+4|0;if(((j&1)==0?(j&255)>>>1:c[o>>2]|0)|0){c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{p=Pb[c[(c[m>>2]|0)+28>>2]&63](m,j)|0;j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=p;q=b+1|0;break}default:q=b}a:do if((e-q|0)>1?(a[q>>0]|0)==48:0){p=q+1|0;switch(a[p>>0]|0){case 88:case 120:break;default:{r=q;break a}}j=Pb[c[(c[m>>2]|0)+28>>2]&63](m,48)|0;s=c[h>>2]|0;c[h>>2]=s+1;a[s>>0]=j;j=Pb[c[(c[m>>2]|0)+28>>2]&63](m,a[p>>0]|0)|0;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=j;r=q+2|0}else r=q;while(0);if((r|0)!=(e|0)?(q=e+-1|0,r>>>0<q>>>0):0){j=r;p=q;do{q=a[j>>0]|0;a[j>>0]=a[p>>0]|0;a[p>>0]=q;j=j+1|0;p=p+-1|0}while(j>>>0<p>>>0)}p=Hb[c[(c[n>>2]|0)+16>>2]&127](n)|0;n=l+8|0;j=l+1|0;if(r>>>0<e>>>0){q=0;s=0;t=r;while(1){u=a[((a[l>>0]&1)==0?j:c[n>>2]|0)+s>>0]|0;if(u<<24>>24!=0&(q|0)==(u<<24>>24|0)){u=c[h>>2]|0;c[h>>2]=u+1;a[u>>0]=p;u=a[l>>0]|0;v=0;w=(s>>>0<(((u&1)==0?(u&255)>>>1:c[o>>2]|0)+-1|0)>>>0&1)+s|0}else{v=q;w=s}u=Pb[c[(c[m>>2]|0)+28>>2]&63](m,a[t>>0]|0)|0;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=u;t=t+1|0;if(t>>>0>=e>>>0)break;else{q=v+1|0;s=w}}}w=b;s=f+(r-w)|0;r=c[h>>2]|0;if((s|0)==(r|0)){y=w;z=s}else{v=r+-1|0;if(s>>>0<v>>>0){r=s;s=v;do{v=a[r>>0]|0;a[r>>0]=a[s>>0]|0;a[s>>0]=v;r=r+1|0;s=s+-1|0}while(r>>>0<s>>>0)}y=w;z=c[h>>2]|0}}else{Nb[c[(c[m>>2]|0)+32>>2]&15](m,b,e,f)|0;m=b;b=f+(e-m)|0;c[h>>2]=b;y=m;z=b}c[g>>2]=(d|0)==(e|0)?z:f+(d-y)|0;In(l);i=k;return}function Bq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=i;i=i+96|0;h=a+8|0;j=a;k=a+74|0;l=a+32|0;m=a+28|0;n=a+24|0;o=a+20|0;p=a+16|0;q=j;c[q>>2]=37;c[q+4>>2]=0;yq(j+1|0,32463,1,c[d+4>>2]|0);q=$p()|0;r=h;c[r>>2]=f;c[r+4>>2]=g;g=k+(Sv(k,22,q,j,h)|0)|0;j=zq(k,g,d)|0;q=oo(d)|0;c[o>>2]=q;Aq(k,j,g,l,m,n,o);wn(q)|0;c[p>>2]=c[b>>2];b=c[m>>2]|0;m=c[n>>2]|0;c[h>>2]=c[p>>2];p=we(h,l,b,m,d,e)|0;i=a;return p|0}function Cq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=i;i=i+64|0;h=b;j=b+56|0;k=b+44|0;l=b+20|0;m=b+16|0;n=b+12|0;o=b+8|0;p=b+4|0;a[j>>0]=a[32455]|0;a[j+1>>0]=a[32456]|0;a[j+2>>0]=a[32457]|0;a[j+3>>0]=a[32458]|0;a[j+4>>0]=a[32459]|0;a[j+5>>0]=a[32460]|0;yq(j+1|0,32461,0,c[e+4>>2]|0);q=$p()|0;c[h>>2]=g;g=k+(Sv(k,12,q,j,h)|0)|0;j=zq(k,g,e)|0;q=oo(e)|0;c[o>>2]=q;Aq(k,j,g,l,m,n,o);wn(q)|0;c[p>>2]=c[d>>2];d=c[m>>2]|0;m=c[n>>2]|0;c[h>>2]=c[p>>2];p=we(h,l,d,m,e,f)|0;i=b;return p|0}function Dq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=i;i=i+112|0;h=a+8|0;j=a;k=a+75|0;l=a+32|0;m=a+28|0;n=a+24|0;o=a+20|0;p=a+16|0;q=j;c[q>>2]=37;c[q+4>>2]=0;yq(j+1|0,32463,0,c[d+4>>2]|0);q=$p()|0;r=h;c[r>>2]=f;c[r+4>>2]=g;g=k+(Sv(k,23,q,j,h)|0)|0;j=zq(k,g,d)|0;q=oo(d)|0;c[o>>2]=q;Aq(k,j,g,l,m,n,o);wn(q)|0;c[p>>2]=c[b>>2];b=c[m>>2]|0;m=c[n>>2]|0;c[h>>2]=c[p>>2];p=we(h,l,b,m,d,e)|0;i=a;return p|0}function Eq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,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;a=i;i=i+160|0;g=a+68|0;j=a+32|0;k=a+24|0;l=a+8|0;m=a;n=a+72|0;o=a+64|0;p=a+102|0;q=a+60|0;r=a+56|0;s=a+52|0;t=a+48|0;u=m;c[u>>2]=37;c[u+4>>2]=0;u=Fq(m+1|0,32466,c[d+4>>2]|0)|0;c[o>>2]=n;v=$p()|0;if(u){c[l>>2]=c[d+8>>2];h[l+8>>3]=f;w=Sv(n,30,v,m,l)|0}else{h[k>>3]=f;w=Sv(n,30,v,m,k)|0}if((w|0)>29){k=$p()|0;c[j>>2]=c[d+8>>2];h[j+8>>3]=f;v=Tv(o,k,m,j)|0;j=c[o>>2]|0;if(!j)Tk();else{x=j;y=j;z=v}}else{x=c[o>>2]|0;y=0;z=w}w=x+z|0;o=zq(x,w,d)|0;if((x|0)!=(n|0)){v=Lm(z<<1)|0;if(!v)Tk();else{A=x;B=v;C=v}}else{A=n;B=0;C=p}p=oo(d)|0;c[s>>2]=p;Gq(A,o,w,C,q,r,s);wn(p)|0;c[t>>2]=c[b>>2];b=c[q>>2]|0;q=c[r>>2]|0;c[g>>2]=c[t>>2];t=we(g,C,b,q,d,e)|0;Mm(B);Mm(y);i=a;return t|0}function Fq(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(!(d&2048))e=b;else{a[b>>0]=43;e=b+1|0}if(!(d&1024))f=e;else{a[e>>0]=35;f=e+1|0}e=d&260;b=d>>>14;d=(e|0)==260;if(d){g=f;h=0}else{a[f>>0]=46;a[f+1>>0]=42;g=f+2|0;h=1}f=a[c>>0]|0;if(!(f<<24>>24))i=g;else{j=c;c=g;g=f;while(1){j=j+1|0;f=c+1|0;a[c>>0]=g;g=a[j>>0]|0;if(!(g<<24>>24)){i=f;break}else c=f}}a:do switch(e|0){case 4:{if(!(b&1)){a[i>>0]=102;break a}else{a[i>>0]=70;break a}break}case 256:{if(!(b&1)){a[i>>0]=101;break a}else{a[i>>0]=69;break a}break}default:{c=(b&1|0)!=0;if(d)if(c){a[i>>0]=65;break a}else{a[i>>0]=97;break a}else if(c){a[i>>0]=71;break a}else{a[i>>0]=103;break a}}}while(0);return h|0}function Gq(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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;k=i;i=i+16|0;l=k;m=Lt(j,12376)|0;n=Lt(j,12516)|0;Fb[c[(c[n>>2]|0)+20>>2]&127](l,n);c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=Pb[c[(c[m>>2]|0)+28>>2]&63](m,j)|0;j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=o;p=b+1|0;break}default:p=b}o=e;a:do if((o-p|0)>1?(a[p>>0]|0)==48:0){j=p+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:{q=4;break a}}r=Pb[c[(c[m>>2]|0)+28>>2]&63](m,48)|0;s=c[h>>2]|0;c[h>>2]=s+1;a[s>>0]=r;r=p+2|0;s=Pb[c[(c[m>>2]|0)+28>>2]&63](m,a[j>>0]|0)|0;j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=s;if(r>>>0<e>>>0){s=r;while(1){j=a[s>>0]|0;if(!(ql(j,$p()|0)|0)){t=r;u=s;break a}j=s+1|0;if(j>>>0<e>>>0)s=j;else{t=r;u=j;break}}}else{t=r;u=r}}else q=4;while(0);b:do if((q|0)==4)if(p>>>0<e>>>0){s=p;while(1){j=a[s>>0]|0;if(!(pl(j,$p()|0)|0)){t=p;u=s;break b}j=s+1|0;if(j>>>0<e>>>0)s=j;else{t=p;u=j;break}}}else{t=p;u=p}while(0);p=a[l>>0]|0;q=l+4|0;if(((p&1)==0?(p&255)>>>1:c[q>>2]|0)|0){if((t|0)!=(u|0)?(p=u+-1|0,t>>>0<p>>>0):0){s=t;r=p;do{p=a[s>>0]|0;a[s>>0]=a[r>>0]|0;a[r>>0]=p;s=s+1|0;r=r+-1|0}while(s>>>0<r>>>0)}r=Hb[c[(c[n>>2]|0)+16>>2]&127](n)|0;s=l+8|0;p=l+1|0;if(t>>>0<u>>>0){j=0;v=0;w=t;while(1){x=a[((a[l>>0]&1)==0?p:c[s>>2]|0)+v>>0]|0;if(x<<24>>24>0&(j|0)==(x<<24>>24|0)){x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=r;x=a[l>>0]|0;y=0;z=(v>>>0<(((x&1)==0?(x&255)>>>1:c[q>>2]|0)+-1|0)>>>0&1)+v|0}else{y=j;z=v}x=Pb[c[(c[m>>2]|0)+28>>2]&63](m,a[w>>0]|0)|0;A=c[h>>2]|0;c[h>>2]=A+1;a[A>>0]=x;w=w+1|0;if(w>>>0>=u>>>0)break;else{j=y+1|0;v=z}}}z=f+(t-b)|0;v=c[h>>2]|0;if((z|0)!=(v|0)?(y=v+-1|0,z>>>0<y>>>0):0){v=z;z=y;do{y=a[v>>0]|0;a[v>>0]=a[z>>0]|0;a[z>>0]=y;v=v+1|0;z=z+-1|0}while(v>>>0<z>>>0);B=m}else B=m}else{Nb[c[(c[m>>2]|0)+32>>2]&15](m,t,u,c[h>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(u-t);B=m}c:do if(u>>>0<e>>>0){t=u;while(1){z=a[t>>0]|0;if(z<<24>>24==46){C=t;break}v=Pb[c[(c[B>>2]|0)+28>>2]&63](m,z)|0;z=c[h>>2]|0;c[h>>2]=z+1;a[z>>0]=v;v=t+1|0;if(v>>>0<e>>>0)t=v;else{D=v;break c}}t=Hb[c[(c[n>>2]|0)+12>>2]&127](n)|0;v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=t;D=C+1|0}else D=u;while(0);Nb[c[(c[m>>2]|0)+32>>2]&15](m,D,e,c[h>>2]|0)|0;m=(c[h>>2]|0)+(o-D)|0;c[h>>2]=m;c[g>>2]=(d|0)==(e|0)?m:f+(d-b)|0;In(l);i=k;return}function Hq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,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;a=i;i=i+176|0;g=a+76|0;j=a+48|0;k=a+32|0;l=a+24|0;m=a+8|0;n=a;o=a+80|0;p=a+72|0;q=a+110|0;r=a+68|0;s=a+64|0;t=a+60|0;u=a+56|0;v=n;c[v>>2]=37;c[v+4>>2]=0;v=Fq(n+1|0,32467,c[d+4>>2]|0)|0;c[p>>2]=o;w=$p()|0;if(v){c[m>>2]=c[d+8>>2];h[m+8>>3]=f;x=Sv(o,30,w,n,m)|0}else{h[l>>3]=f;x=Sv(o,30,w,n,l)|0}if((x|0)>29){l=$p()|0;if(v){c[k>>2]=c[d+8>>2];h[k+8>>3]=f;y=Tv(p,l,n,k)|0}else{h[j>>3]=f;y=Tv(p,l,n,j)|0}j=c[p>>2]|0;if(!j)Tk();else{z=j;A=j;B=y}}else{z=c[p>>2]|0;A=0;B=x}x=z+B|0;p=zq(z,x,d)|0;if((z|0)!=(o|0)){y=Lm(B<<1)|0;if(!y)Tk();else{C=z;D=y;E=y}}else{C=o;D=0;E=q}q=oo(d)|0;c[t>>2]=q;Gq(C,p,x,E,r,s,t);wn(q)|0;c[u>>2]=c[b>>2];b=c[r>>2]|0;r=c[s>>2]|0;c[g>>2]=c[u>>2];u=we(g,E,b,r,d,e)|0;Mm(D);Mm(A);i=a;return u|0}function Iq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=i;i=i+80|0;h=b;j=b+70|0;k=b+12|0;l=b+32|0;m=b+8|0;n=b+4|0;a[j>>0]=a[32469]|0;a[j+1>>0]=a[32470]|0;a[j+2>>0]=a[32471]|0;a[j+3>>0]=a[32472]|0;a[j+4>>0]=a[32473]|0;a[j+5>>0]=a[32474]|0;o=$p()|0;c[h>>2]=g;g=Sv(k,20,o,j,h)|0;j=k+g|0;o=zq(k,j,e)|0;p=oo(e)|0;c[m>>2]=p;q=Lt(m,12376)|0;wn(p)|0;Nb[c[(c[q>>2]|0)+32>>2]&15](q,k,j,l)|0;q=l+g|0;c[n>>2]=c[d>>2];c[h>>2]=c[n>>2];n=we(h,l,(o|0)==(j|0)?q:l+(o-k)|0,q,e,f)|0;i=b;return n|0}function Jq(a){a=a|0;return}function Kq(a){a=a|0;gk(a);return}function Lq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=i;i=i+32|0;j=h+20|0;k=h+16|0;l=h+12|0;m=h;if(!(c[e+4>>2]&1)){n=c[(c[b>>2]|0)+24>>2]|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];o=Rb[n&31](b,j,e,f,g&1)|0}else{f=oo(e)|0;c[l>>2]=f;e=Lt(l,12524)|0;wn(f)|0;f=c[e>>2]|0;if(g)Fb[c[f+24>>2]&127](m,e);else Fb[c[f+28>>2]&127](m,e);e=a[m>>0]|0;f=(e&1)==0;g=m+4|0;l=m+8|0;j=f?g:m+4|0;b=f?g:c[m+8>>2]|0;g=(e&1)==0;if((b|0)!=((g?j:c[l>>2]|0)+((g?(e&255)>>>1:c[j>>2]|0)<<2)|0)){e=b;do{b=c[e>>2]|0;g=c[d>>2]|0;if(g){f=g+24|0;n=c[f>>2]|0;if((n|0)==(c[g+28>>2]|0))p=Pb[c[(c[g>>2]|0)+52>>2]&63](g,b)|0;else{c[f>>2]=n+4;c[n>>2]=b;p=b}if((p|0)==-1)c[d>>2]=0}e=e+4|0;b=a[m>>0]|0;n=(b&1)==0}while((e|0)!=((n?j:c[l>>2]|0)+((n?(b&255)>>>1:c[j>>2]|0)<<2)|0))}j=c[d>>2]|0;$n(m);o=j}i=h;return o|0}function Mq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=i;i=i+128|0;h=b;j=b+116|0;k=b+104|0;l=b+20|0;m=b+16|0;n=b+12|0;o=b+8|0;p=b+4|0;a[j>>0]=a[32455]|0;a[j+1>>0]=a[32456]|0;a[j+2>>0]=a[32457]|0;a[j+3>>0]=a[32458]|0;a[j+4>>0]=a[32459]|0;a[j+5>>0]=a[32460]|0;yq(j+1|0,32461,1,c[e+4>>2]|0);q=$p()|0;c[h>>2]=g;g=k+(Sv(k,12,q,j,h)|0)|0;j=zq(k,g,e)|0;q=oo(e)|0;c[o>>2]=q;Nq(k,j,g,l,m,n,o);wn(q)|0;c[p>>2]=c[d>>2];d=c[m>>2]|0;m=c[n>>2]|0;c[h>>2]=c[p>>2];p=Uv(h,l,d,m,e,f)|0;i=b;return p|0}function Nq(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;k=i;i=i+16|0;l=k;m=Lt(j,12368)|0;n=Lt(j,12524)|0;Fb[c[(c[n>>2]|0)+20>>2]&127](l,n);j=a[l>>0]|0;o=l+4|0;if(((j&1)==0?(j&255)>>>1:c[o>>2]|0)|0){c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{p=Pb[c[(c[m>>2]|0)+44>>2]&63](m,j)|0;j=c[h>>2]|0;c[h>>2]=j+4;c[j>>2]=p;q=b+1|0;break}default:q=b}a:do if((e-q|0)>1?(a[q>>0]|0)==48:0){p=q+1|0;switch(a[p>>0]|0){case 88:case 120:break;default:{r=q;break a}}j=Pb[c[(c[m>>2]|0)+44>>2]&63](m,48)|0;s=c[h>>2]|0;c[h>>2]=s+4;c[s>>2]=j;j=Pb[c[(c[m>>2]|0)+44>>2]&63](m,a[p>>0]|0)|0;p=c[h>>2]|0;c[h>>2]=p+4;c[p>>2]=j;r=q+2|0}else r=q;while(0);if((r|0)!=(e|0)?(q=e+-1|0,r>>>0<q>>>0):0){j=r;p=q;do{q=a[j>>0]|0;a[j>>0]=a[p>>0]|0;a[p>>0]=q;j=j+1|0;p=p+-1|0}while(j>>>0<p>>>0)}p=Hb[c[(c[n>>2]|0)+16>>2]&127](n)|0;n=l+8|0;j=l+1|0;if(r>>>0<e>>>0){q=0;s=0;t=r;while(1){u=a[((a[l>>0]&1)==0?j:c[n>>2]|0)+s>>0]|0;if(u<<24>>24!=0&(q|0)==(u<<24>>24|0)){u=c[h>>2]|0;c[h>>2]=u+4;c[u>>2]=p;u=a[l>>0]|0;v=0;w=(s>>>0<(((u&1)==0?(u&255)>>>1:c[o>>2]|0)+-1|0)>>>0&1)+s|0}else{v=q;w=s}u=Pb[c[(c[m>>2]|0)+44>>2]&63](m,a[t>>0]|0)|0;x=c[h>>2]|0;c[h>>2]=x+4;c[x>>2]=u;t=t+1|0;if(t>>>0>=e>>>0)break;else{q=v+1|0;s=w}}}w=b;s=f+(r-w<<2)|0;r=c[h>>2]|0;if((s|0)!=(r|0)){v=r+-4|0;if(s>>>0<v>>>0){q=s;t=v;do{v=c[q>>2]|0;c[q>>2]=c[t>>2];c[t>>2]=v;q=q+4|0;t=t+-4|0}while(q>>>0<t>>>0);y=w;z=r}else{y=w;z=r}}else{y=w;z=s}}else{Nb[c[(c[m>>2]|0)+48>>2]&15](m,b,e,f)|0;m=b;b=f+(e-m<<2)|0;c[h>>2]=b;y=m;z=b}c[g>>2]=(d|0)==(e|0)?z:f+(d-y<<2)|0;In(l);i=k;return}function Oq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=i;i=i+224|0;h=a+8|0;j=a;k=a+196|0;l=a+32|0;m=a+28|0;n=a+24|0;o=a+20|0;p=a+16|0;q=j;c[q>>2]=37;c[q+4>>2]=0;yq(j+1|0,32463,1,c[d+4>>2]|0);q=$p()|0;r=h;c[r>>2]=f;c[r+4>>2]=g;g=k+(Sv(k,22,q,j,h)|0)|0;j=zq(k,g,d)|0;q=oo(d)|0;c[o>>2]=q;Nq(k,j,g,l,m,n,o);wn(q)|0;c[p>>2]=c[b>>2];b=c[m>>2]|0;m=c[n>>2]|0;c[h>>2]=c[p>>2];p=Uv(h,l,b,m,d,e)|0;i=a;return p|0}function Pq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=i;i=i+128|0;h=b;j=b+116|0;k=b+104|0;l=b+20|0;m=b+16|0;n=b+12|0;o=b+8|0;p=b+4|0;a[j>>0]=a[32455]|0;a[j+1>>0]=a[32456]|0;a[j+2>>0]=a[32457]|0;a[j+3>>0]=a[32458]|0;a[j+4>>0]=a[32459]|0;a[j+5>>0]=a[32460]|0;yq(j+1|0,32461,0,c[e+4>>2]|0);q=$p()|0;c[h>>2]=g;g=k+(Sv(k,12,q,j,h)|0)|0;j=zq(k,g,e)|0;q=oo(e)|0;c[o>>2]=q;Nq(k,j,g,l,m,n,o);wn(q)|0;c[p>>2]=c[d>>2];d=c[m>>2]|0;m=c[n>>2]|0;c[h>>2]=c[p>>2];p=Uv(h,l,d,m,e,f)|0;i=b;return p|0}function Qq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=i;i=i+240|0;h=a+8|0;j=a;k=a+204|0;l=a+32|0;m=a+28|0;n=a+24|0;o=a+20|0;p=a+16|0;q=j;c[q>>2]=37;c[q+4>>2]=0;yq(j+1|0,32463,0,c[d+4>>2]|0);q=$p()|0;r=h;c[r>>2]=f;c[r+4>>2]=g;g=k+(Sv(k,23,q,j,h)|0)|0;j=zq(k,g,d)|0;q=oo(d)|0;c[o>>2]=q;Nq(k,j,g,l,m,n,o);wn(q)|0;c[p>>2]=c[b>>2];b=c[m>>2]|0;m=c[n>>2]|0;c[h>>2]=c[p>>2];p=Uv(h,l,b,m,d,e)|0;i=a;return p|0}function Rq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,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;a=i;i=i+336|0;g=a+296|0;j=a+32|0;k=a+24|0;l=a+8|0;m=a;n=a+300|0;o=a+64|0;p=a+68|0;q=a+60|0;r=a+56|0;s=a+52|0;t=a+48|0;u=m;c[u>>2]=37;c[u+4>>2]=0;u=Fq(m+1|0,32466,c[d+4>>2]|0)|0;c[o>>2]=n;v=$p()|0;if(u){c[l>>2]=c[d+8>>2];h[l+8>>3]=f;w=Sv(n,30,v,m,l)|0}else{h[k>>3]=f;w=Sv(n,30,v,m,k)|0}if((w|0)>29){k=$p()|0;c[j>>2]=c[d+8>>2];h[j+8>>3]=f;v=Tv(o,k,m,j)|0;j=c[o>>2]|0;if(!j)Tk();else{x=j;y=j;z=v}}else{x=c[o>>2]|0;y=0;z=w}w=x+z|0;o=zq(x,w,d)|0;if((x|0)!=(n|0)){v=Lm(z<<3)|0;if(!v)Tk();else{A=x;B=v;C=v}}else{A=n;B=0;C=p}p=oo(d)|0;c[s>>2]=p;Sq(A,o,w,C,q,r,s);wn(p)|0;c[t>>2]=c[b>>2];p=c[q>>2]|0;q=c[r>>2]|0;c[g>>2]=c[t>>2];t=Uv(g,C,p,q,d,e)|0;c[b>>2]=t;if(B)Mm(B);Mm(y);i=a;return t|0}function Sq(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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;k=i;i=i+16|0;l=k;m=Lt(j,12368)|0;n=Lt(j,12524)|0;Fb[c[(c[n>>2]|0)+20>>2]&127](l,n);c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=Pb[c[(c[m>>2]|0)+44>>2]&63](m,j)|0;j=c[h>>2]|0;c[h>>2]=j+4;c[j>>2]=o;p=b+1|0;break}default:p=b}o=e;a:do if((o-p|0)>1?(a[p>>0]|0)==48:0){j=p+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:{q=4;break a}}r=Pb[c[(c[m>>2]|0)+44>>2]&63](m,48)|0;s=c[h>>2]|0;c[h>>2]=s+4;c[s>>2]=r;r=p+2|0;s=Pb[c[(c[m>>2]|0)+44>>2]&63](m,a[j>>0]|0)|0;j=c[h>>2]|0;c[h>>2]=j+4;c[j>>2]=s;if(r>>>0<e>>>0){s=r;while(1){j=a[s>>0]|0;if(!(ql(j,$p()|0)|0)){t=r;u=s;break a}j=s+1|0;if(j>>>0<e>>>0)s=j;else{t=r;u=j;break}}}else{t=r;u=r}}else q=4;while(0);b:do if((q|0)==4)if(p>>>0<e>>>0){s=p;while(1){j=a[s>>0]|0;if(!(pl(j,$p()|0)|0)){t=p;u=s;break b}j=s+1|0;if(j>>>0<e>>>0)s=j;else{t=p;u=j;break}}}else{t=p;u=p}while(0);p=a[l>>0]|0;q=l+4|0;if(((p&1)==0?(p&255)>>>1:c[q>>2]|0)|0){if((t|0)!=(u|0)?(p=u+-1|0,t>>>0<p>>>0):0){s=t;r=p;do{p=a[s>>0]|0;a[s>>0]=a[r>>0]|0;a[r>>0]=p;s=s+1|0;r=r+-1|0}while(s>>>0<r>>>0)}r=Hb[c[(c[n>>2]|0)+16>>2]&127](n)|0;s=l+8|0;p=l+1|0;if(t>>>0<u>>>0){j=0;v=0;w=t;while(1){x=a[((a[l>>0]&1)==0?p:c[s>>2]|0)+v>>0]|0;if(x<<24>>24>0&(j|0)==(x<<24>>24|0)){x=c[h>>2]|0;c[h>>2]=x+4;c[x>>2]=r;x=a[l>>0]|0;y=0;z=(v>>>0<(((x&1)==0?(x&255)>>>1:c[q>>2]|0)+-1|0)>>>0&1)+v|0}else{y=j;z=v}x=Pb[c[(c[m>>2]|0)+44>>2]&63](m,a[w>>0]|0)|0;A=c[h>>2]|0;c[h>>2]=A+4;c[A>>2]=x;w=w+1|0;if(w>>>0>=u>>>0)break;else{j=y+1|0;v=z}}}z=f+(t-b<<2)|0;v=c[h>>2]|0;if((z|0)!=(v|0)){y=v+-4|0;if(z>>>0<y>>>0){j=z;w=y;do{y=c[j>>2]|0;c[j>>2]=c[w>>2];c[w>>2]=y;j=j+4|0;w=w+-4|0}while(j>>>0<w>>>0);B=m;C=v}else{B=m;C=v}}else{B=m;C=z}}else{Nb[c[(c[m>>2]|0)+48>>2]&15](m,t,u,c[h>>2]|0)|0;z=(c[h>>2]|0)+(u-t<<2)|0;c[h>>2]=z;B=m;C=z}c:do if(u>>>0<e>>>0){z=u;while(1){t=a[z>>0]|0;if(t<<24>>24==46){D=z;break}v=Pb[c[(c[B>>2]|0)+44>>2]&63](m,t)|0;t=c[h>>2]|0;w=t+4|0;c[h>>2]=w;c[t>>2]=v;v=z+1|0;if(v>>>0<e>>>0)z=v;else{E=w;F=v;break c}}z=Hb[c[(c[n>>2]|0)+12>>2]&127](n)|0;v=c[h>>2]|0;w=v+4|0;c[h>>2]=w;c[v>>2]=z;E=w;F=D+1|0}else{E=C;F=u}while(0);Nb[c[(c[m>>2]|0)+48>>2]&15](m,F,e,E)|0;E=(c[h>>2]|0)+(o-F<<2)|0;c[h>>2]=E;c[g>>2]=(d|0)==(e|0)?E:f+(d-b<<2)|0;In(l);i=k;return}function Tq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,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;a=i;i=i+352|0;g=a+304|0;j=a+48|0;k=a+32|0;l=a+24|0;m=a+8|0;n=a;o=a+308|0;p=a+72|0;q=a+76|0;r=a+68|0;s=a+64|0;t=a+60|0;u=a+56|0;v=n;c[v>>2]=37;c[v+4>>2]=0;v=Fq(n+1|0,32467,c[d+4>>2]|0)|0;c[p>>2]=o;w=$p()|0;if(v){c[m>>2]=c[d+8>>2];h[m+8>>3]=f;x=Sv(o,30,w,n,m)|0}else{h[l>>3]=f;x=Sv(o,30,w,n,l)|0}if((x|0)>29){l=$p()|0;if(v){c[k>>2]=c[d+8>>2];h[k+8>>3]=f;y=Tv(p,l,n,k)|0}else{h[j>>3]=f;y=Tv(p,l,n,j)|0}j=c[p>>2]|0;if(!j)Tk();else{z=j;A=j;B=y}}else{z=c[p>>2]|0;A=0;B=x}x=z+B|0;p=zq(z,x,d)|0;if((z|0)!=(o|0)){y=Lm(B<<3)|0;if(!y)Tk();else{C=z;D=y;E=y}}else{C=o;D=0;E=q}q=oo(d)|0;c[t>>2]=q;Sq(C,p,x,E,r,s,t);wn(q)|0;c[u>>2]=c[b>>2];q=c[r>>2]|0;r=c[s>>2]|0;c[g>>2]=c[u>>2];u=Uv(g,E,q,r,d,e)|0;c[b>>2]=u;if(D)Mm(D);Mm(A);i=a;return u|0}function Uq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=i;i=i+192|0;h=b;j=b+180|0;k=b+160|0;l=b+12|0;m=b+8|0;n=b+4|0;a[j>>0]=a[32469]|0;a[j+1>>0]=a[32470]|0;a[j+2>>0]=a[32471]|0;a[j+3>>0]=a[32472]|0;a[j+4>>0]=a[32473]|0;a[j+5>>0]=a[32474]|0;o=$p()|0;c[h>>2]=g;g=Sv(k,20,o,j,h)|0;j=k+g|0;o=zq(k,j,e)|0;p=oo(e)|0;c[m>>2]=p;q=Lt(m,12368)|0;wn(p)|0;Nb[c[(c[q>>2]|0)+48>>2]&15](q,k,j,l)|0;q=l+(g<<2)|0;c[n>>2]=c[d>>2];c[h>>2]=c[n>>2];n=Uv(h,l,(o|0)==(j|0)?q:l+(o-k<<2)|0,q,e,f)|0;i=b;return n|0}function Vq(e,f,g,h,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;n=i;i=i+32|0;o=n+16|0;p=n+12|0;q=n+8|0;r=n+4|0;s=n;t=oo(h)|0;c[q>>2]=t;u=Lt(q,12376)|0;wn(t)|0;c[j>>2]=0;t=u+8|0;q=c[f>>2]|0;a:do if((l|0)!=(m|0)){v=l;w=q;b:while(1){x=w;if(w)if((c[w+12>>2]|0)==(c[w+16>>2]|0)?(Hb[c[(c[w>>2]|0)+36>>2]&127](w)|0)==-1:0){c[f>>2]=0;y=0;z=0}else{y=w;z=x}else{y=0;z=x}x=(y|0)==0;A=c[g>>2]|0;B=A;do if(A){if((c[A+12>>2]|0)==(c[A+16>>2]|0)?(Hb[c[(c[A>>2]|0)+36>>2]&127](A)|0)==-1:0){c[g>>2]=0;C=0;D=11;break}if(x){E=A;F=B}else{G=y;D=12;break b}}else{C=B;D=11}while(0);if((D|0)==11){D=0;if(x){G=y;D=12;break}else{E=0;F=C}}c:do if((yb[c[(c[u>>2]|0)+36>>2]&31](u,a[v>>0]|0,0)|0)<<24>>24==37){B=v+1|0;if((B|0)==(m|0)){H=y;D=15;break b}A=yb[c[(c[u>>2]|0)+36>>2]&31](u,a[B>>0]|0,0)|0;switch(A<<24>>24){case 48:case 69:{I=v+2|0;if((I|0)==(m|0)){J=y;D=18;break b}K=B;L=yb[c[(c[u>>2]|0)+36>>2]&31](u,a[I>>0]|0,0)|0;M=A;break}default:{K=v;L=A;M=0}}A=c[(c[e>>2]|0)+36>>2]|0;c[r>>2]=z;c[s>>2]=F;c[p>>2]=c[r>>2];c[o>>2]=c[s>>2];c[f>>2]=Mb[A&15](e,p,o,h,j,k,L,M)|0;N=K+2|0}else{A=a[v>>0]|0;if(A<<24>>24>-1?(I=c[t>>2]|0,(b[I+(A<<24>>24<<1)>>1]&8192)!=0):0){A=v;while(1){B=A+1|0;if((B|0)==(m|0)){O=m;break}P=a[B>>0]|0;if(P<<24>>24<=-1){O=B;break}if(!(b[I+(P<<24>>24<<1)>>1]&8192)){O=B;break}else A=B}A=y;I=E;B=E;while(1){if(A)if((c[A+12>>2]|0)==(c[A+16>>2]|0)?(Hb[c[(c[A>>2]|0)+36>>2]&127](A)|0)==-1:0){c[f>>2]=0;Q=0}else Q=A;else Q=0;P=(Q|0)==0;do if(B){if((c[B+12>>2]|0)!=(c[B+16>>2]|0))if(P){R=I;S=B;break}else{N=O;break c}if((Hb[c[(c[B>>2]|0)+36>>2]&127](B)|0)!=-1)if(P^(I|0)==0){R=I;S=I;break}else{N=O;break c}else{c[g>>2]=0;T=0;D=37;break}}else{T=I;D=37}while(0);if((D|0)==37){D=0;if(P){N=O;break c}else{R=T;S=0}}U=Q+12|0;V=c[U>>2]|0;W=Q+16|0;if((V|0)==(c[W>>2]|0))X=Hb[c[(c[Q>>2]|0)+36>>2]&127](Q)|0;else X=d[V>>0]|0;if((X&255)<<24>>24<=-1){N=O;break c}if(!(b[(c[t>>2]|0)+(X<<24>>24<<1)>>1]&8192)){N=O;break c}V=c[U>>2]|0;if((V|0)==(c[W>>2]|0)){Hb[c[(c[Q>>2]|0)+40>>2]&127](Q)|0;A=Q;I=R;B=S;continue}else{c[U>>2]=V+1;A=Q;I=R;B=S;continue}}}B=y+12|0;I=c[B>>2]|0;A=y+16|0;if((I|0)==(c[A>>2]|0))Y=Hb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else Y=d[I>>0]|0;I=Pb[c[(c[u>>2]|0)+12>>2]&63](u,Y&255)|0;if(I<<24>>24!=(Pb[c[(c[u>>2]|0)+12>>2]&63](u,a[v>>0]|0)|0)<<24>>24){D=55;break b}I=c[B>>2]|0;if((I|0)==(c[A>>2]|0))Hb[c[(c[y>>2]|0)+40>>2]&127](y)|0;else c[B>>2]=I+1;N=v+1|0}while(0);x=c[f>>2]|0;if((N|0)!=(m|0)&(c[j>>2]|0)==0){v=N;w=x}else{Z=x;break a}}if((D|0)==12){c[j>>2]=4;Z=G;break}else if((D|0)==15){c[j>>2]=4;Z=H;break}else if((D|0)==18){c[j>>2]=4;Z=J;break}else if((D|0)==55){c[j>>2]=4;Z=c[f>>2]|0;break}}else Z=q;while(0);if(Z)if((c[Z+12>>2]|0)==(c[Z+16>>2]|0)?(Hb[c[(c[Z>>2]|0)+36>>2]&127](Z)|0)==-1:0){c[f>>2]=0;_=0}else _=Z;else _=0;Z=(_|0)==0;f=c[g>>2]|0;do if(f){if((c[f+12>>2]|0)==(c[f+16>>2]|0)?(Hb[c[(c[f>>2]|0)+36>>2]&127](f)|0)==-1:0){c[g>>2]=0;D=65;break}if(!Z)D=66}else D=65;while(0);if((D|0)==65?Z:0)D=66;if((D|0)==66)c[j>>2]=c[j>>2]|2;i=n;return _|0}function Wq(a){a=a|0;return}function Xq(a){a=a|0;gk(a);return}function Yq(a){a=a|0;return 2}function Zq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;l=h+4|0;m=h;c[l>>2]=c[b>>2];c[m>>2]=c[d>>2];c[k>>2]=c[l>>2];c[j>>2]=c[m>>2];m=Vq(a,k,j,e,f,g,32475,32483)|0;i=h;return m|0}function _q(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;i=i+16|0;k=j+12|0;l=j+8|0;m=j+4|0;n=j;o=b+8|0;p=Hb[c[(c[o>>2]|0)+20>>2]&127](o)|0;c[m>>2]=c[d>>2];c[n>>2]=c[e>>2];e=a[p>>0]|0;d=(e&1)==0;o=d?p+1|0:c[p+8>>2]|0;q=o+(d?(e&255)>>>1:c[p+4>>2]|0)|0;c[l>>2]=c[m>>2];c[k>>2]=c[n>>2];n=Vq(b,l,k,f,g,h,o,q)|0;i=j;return n|0}function $q(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+8|0;k=h+4|0;l=h;m=oo(e)|0;c[k>>2]=m;e=Lt(k,12376)|0;wn(m)|0;c[l>>2]=c[d>>2];c[j>>2]=c[l>>2];ar(a,g+24|0,b,j,f,e);i=h;return c[b>>2]|0}function ar(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;h=i;i=i+16|0;j=h+4|0;k=h;l=a+8|0;a=Hb[c[c[l>>2]>>2]&127](l)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];k=(xv(d,j,a,a+168|0,g,f,0)|0)-a|0;if((k|0)<168)c[b>>2]=((k|0)/12|0|0)%7|0;i=h;return}function br(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+8|0;k=h+4|0;l=h;m=oo(e)|0;c[k>>2]=m;e=Lt(k,12376)|0;wn(m)|0;c[l>>2]=c[d>>2];c[j>>2]=c[l>>2];cr(a,g+16|0,b,j,f,e);i=h;return c[b>>2]|0}function cr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;h=i;i=i+16|0;j=h+4|0;k=h;l=a+8|0;a=Hb[c[(c[l>>2]|0)+4>>2]&127](l)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];k=(xv(d,j,a,a+288|0,g,f,0)|0)-a|0;if((k|0)<288)c[b>>2]=((k|0)/12|0|0)%12|0;i=h;return}function dr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+8|0;k=h+4|0;l=h;m=oo(e)|0;c[k>>2]=m;e=Lt(k,12376)|0;wn(m)|0;c[l>>2]=c[d>>2];c[j>>2]=c[l>>2];er(a,g+20|0,b,j,f,e);i=h;return c[b>>2]|0}function er(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;a=i;i=i+16|0;h=a+4|0;j=a;c[j>>2]=c[e>>2];c[h>>2]=c[j>>2];j=Vv(d,h,f,g,4)|0;if(!(c[f>>2]&4)){if((j|0)<69)k=j+2e3|0;else k=(j+-69|0)>>>0<31?j+1900|0:j;c[b>>2]=k+-1900}i=a;return}function fr(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;k=i;i=i+144|0;l=k+132|0;m=k+116|0;n=k+128|0;o=k+124|0;p=k+120|0;q=k+112|0;r=k+108|0;s=k+104|0;t=k+100|0;u=k+96|0;v=k+92|0;w=k+88|0;x=k+84|0;y=k+80|0;z=k+76|0;A=k+72|0;B=k+68|0;C=k+64|0;D=k+60|0;E=k+56|0;F=k+52|0;G=k+48|0;H=k+44|0;I=k+40|0;J=k+36|0;K=k+32|0;L=k+28|0;M=k+24|0;N=k+20|0;O=k+16|0;P=k+12|0;Q=k+8|0;R=k+4|0;S=k;c[g>>2]=0;T=oo(f)|0;c[n>>2]=T;U=Lt(n,12376)|0;wn(T)|0;do switch(j<<24>>24|0){case 65:case 97:{c[o>>2]=c[e>>2];c[l>>2]=c[o>>2];ar(b,h+24|0,d,l,g,U);V=26;break}case 104:case 66:case 98:{c[p>>2]=c[e>>2];c[l>>2]=c[p>>2];cr(b,h+16|0,d,l,g,U);V=26;break}case 99:{T=b+8|0;n=Hb[c[(c[T>>2]|0)+12>>2]&127](T)|0;c[q>>2]=c[d>>2];c[r>>2]=c[e>>2];T=a[n>>0]|0;W=(T&1)==0;X=W?n+1|0:c[n+8>>2]|0;Y=X+(W?(T&255)>>>1:c[n+4>>2]|0)|0;c[m>>2]=c[q>>2];c[l>>2]=c[r>>2];c[d>>2]=Vq(b,m,l,f,g,h,X,Y)|0;V=26;break}case 101:case 100:{c[s>>2]=c[e>>2];c[l>>2]=c[s>>2];gr(b,h+12|0,d,l,g,U);V=26;break}case 68:{c[t>>2]=c[d>>2];c[u>>2]=c[e>>2];c[m>>2]=c[t>>2];c[l>>2]=c[u>>2];c[d>>2]=Vq(b,m,l,f,g,h,32483,32491)|0;V=26;break}case 70:{c[v>>2]=c[d>>2];c[w>>2]=c[e>>2];c[m>>2]=c[v>>2];c[l>>2]=c[w>>2];c[d>>2]=Vq(b,m,l,f,g,h,32491,32499)|0;V=26;break}case 72:{c[x>>2]=c[e>>2];c[l>>2]=c[x>>2];hr(b,h+8|0,d,l,g,U);V=26;break}case 73:{c[y>>2]=c[e>>2];c[l>>2]=c[y>>2];ir(b,h+8|0,d,l,g,U);V=26;break}case 106:{c[z>>2]=c[e>>2];c[l>>2]=c[z>>2];jr(b,h+28|0,d,l,g,U);V=26;break}case 109:{c[A>>2]=c[e>>2];c[l>>2]=c[A>>2];kr(b,h+16|0,d,l,g,U);V=26;break}case 77:{c[B>>2]=c[e>>2];c[l>>2]=c[B>>2];lr(b,h+4|0,d,l,g,U);V=26;break}case 116:case 110:{c[C>>2]=c[e>>2];c[l>>2]=c[C>>2];mr(b,d,l,g,U);V=26;break}case 112:{c[D>>2]=c[e>>2];c[l>>2]=c[D>>2];nr(b,h+8|0,d,l,g,U);V=26;break}case 114:{c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[m>>2]=c[E>>2];c[l>>2]=c[F>>2];c[d>>2]=Vq(b,m,l,f,g,h,32499,32510)|0;V=26;break}case 82:{c[G>>2]=c[d>>2];c[H>>2]=c[e>>2];c[m>>2]=c[G>>2];c[l>>2]=c[H>>2];c[d>>2]=Vq(b,m,l,f,g,h,32510,32515)|0;V=26;break}case 83:{c[I>>2]=c[e>>2];c[l>>2]=c[I>>2];or(b,h,d,l,g,U);V=26;break}case 84:{c[J>>2]=c[d>>2];c[K>>2]=c[e>>2];c[m>>2]=c[J>>2];c[l>>2]=c[K>>2];c[d>>2]=Vq(b,m,l,f,g,h,32515,32523)|0;V=26;break}case 119:{c[L>>2]=c[e>>2];c[l>>2]=c[L>>2];pr(b,h+24|0,d,l,g,U);V=26;break}case 120:{Y=c[(c[b>>2]|0)+20>>2]|0;c[M>>2]=c[d>>2];c[N>>2]=c[e>>2];c[m>>2]=c[M>>2];c[l>>2]=c[N>>2];Z=Gb[Y&63](b,m,l,f,g,h)|0;break}case 88:{Y=b+8|0;X=Hb[c[(c[Y>>2]|0)+24>>2]&127](Y)|0;c[O>>2]=c[d>>2];c[P>>2]=c[e>>2];Y=a[X>>0]|0;n=(Y&1)==0;T=n?X+1|0:c[X+8>>2]|0;W=T+(n?(Y&255)>>>1:c[X+4>>2]|0)|0;c[m>>2]=c[O>>2];c[l>>2]=c[P>>2];c[d>>2]=Vq(b,m,l,f,g,h,T,W)|0;V=26;break}case 121:{c[Q>>2]=c[e>>2];c[l>>2]=c[Q>>2];er(b,h+20|0,d,l,g,U);V=26;break}case 89:{c[R>>2]=c[e>>2];c[l>>2]=c[R>>2];qr(b,h+20|0,d,l,g,U);V=26;break}case 37:{c[S>>2]=c[e>>2];c[l>>2]=c[S>>2];rr(b,d,l,g,U);V=26;break}default:{c[g>>2]=c[g>>2]|4;V=26}}while(0);if((V|0)==26)Z=c[d>>2]|0;i=k;return Z|0}function gr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;a=i;i=i+16|0;h=a+4|0;j=a;c[j>>2]=c[e>>2];c[h>>2]=c[j>>2];j=Vv(d,h,f,g,2)|0;g=c[f>>2]|0;if((j+-1|0)>>>0<31&(g&4|0)==0)c[b>>2]=j;else c[f>>2]=g|4;i=a;return}function hr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;a=i;i=i+16|0;h=a+4|0;j=a;c[j>>2]=c[e>>2];c[h>>2]=c[j>>2];j=Vv(d,h,f,g,2)|0;g=c[f>>2]|0;if((j|0)<24&(g&4|0)==0)c[b>>2]=j;else c[f>>2]=g|4;i=a;return}function ir(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;a=i;i=i+16|0;h=a+4|0;j=a;c[j>>2]=c[e>>2];c[h>>2]=c[j>>2];j=Vv(d,h,f,g,2)|0;g=c[f>>2]|0;if((j+-1|0)>>>0<12&(g&4|0)==0)c[b>>2]=j;else c[f>>2]=g|4;i=a;return}function jr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;a=i;i=i+16|0;h=a+4|0;j=a;c[j>>2]=c[e>>2];c[h>>2]=c[j>>2];j=Vv(d,h,f,g,3)|0;g=c[f>>2]|0;if((j|0)<366&(g&4|0)==0)c[b>>2]=j;else c[f>>2]=g|4;i=a;return}function kr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;a=i;i=i+16|0;h=a+4|0;j=a;c[j>>2]=c[e>>2];c[h>>2]=c[j>>2];j=Vv(d,h,f,g,2)|0;g=c[f>>2]|0;if((j|0)<13&(g&4|0)==0)c[b>>2]=j+-1;else c[f>>2]=g|4;i=a;return}function lr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;a=i;i=i+16|0;h=a+4|0;j=a;c[j>>2]=c[e>>2];c[h>>2]=c[j>>2];j=Vv(d,h,f,g,2)|0;g=c[f>>2]|0;if((j|0)<60&(g&4|0)==0)c[b>>2]=j;else c[f>>2]=g|4;i=a;return}function mr(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a=h+8|0;a:while(1){h=c[e>>2]|0;do if(h)if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((Hb[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[e>>2]=0;i=0;break}else{i=c[e>>2]|0;break}else i=h;else i=0;while(0);h=(i|0)==0;j=c[f>>2]|0;do if(j){if((c[j+12>>2]|0)!=(c[j+16>>2]|0))if(h){k=j;break}else{l=j;break a}if((Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0)!=-1)if(h){k=j;break}else{l=j;break a}else{c[f>>2]=0;m=12;break}}else m=12;while(0);if((m|0)==12){m=0;if(h){l=0;break}else k=0}j=c[e>>2]|0;n=c[j+12>>2]|0;if((n|0)==(c[j+16>>2]|0))o=Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else o=d[n>>0]|0;if((o&255)<<24>>24<=-1){l=k;break}if(!(b[(c[a>>2]|0)+(o<<24>>24<<1)>>1]&8192)){l=k;break}n=c[e>>2]|0;j=n+12|0;p=c[j>>2]|0;if((p|0)==(c[n+16>>2]|0)){Hb[c[(c[n>>2]|0)+40>>2]&127](n)|0;continue}else{c[j>>2]=p+1;continue}}k=c[e>>2]|0;do if(k)if((c[k+12>>2]|0)==(c[k+16>>2]|0))if((Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}else q=k;else q=0;while(0);k=(q|0)==0;do if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)?(Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0)==-1:0){c[f>>2]=0;m=32;break}if(!k)m=33}else m=32;while(0);if((m|0)==32?k:0)m=33;if((m|0)==33)c[g>>2]=c[g>>2]|2;return}function nr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+16|0;k=j+4|0;l=j;m=b+8|0;b=Hb[c[(c[m>>2]|0)+8>>2]&127](m)|0;m=a[b>>0]|0;if(!(m&1))n=(m&255)>>>1;else n=c[b+4>>2]|0;m=a[b+12>>0]|0;if(!(m&1))o=(m&255)>>>1;else o=c[b+16>>2]|0;do if((n|0)!=(0-o|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];m=xv(e,k,b,b+24|0,h,g,0)|0;p=c[d>>2]|0;if((m|0)==(b|0)&(p|0)==12){c[d>>2]=0;break}if((p|0)<12&(m-b|0)==12)c[d>>2]=p+12}else c[g>>2]=c[g>>2]|4;while(0);i=j;return}function or(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;a=i;i=i+16|0;h=a+4|0;j=a;c[j>>2]=c[e>>2];c[h>>2]=c[j>>2];j=Vv(d,h,f,g,2)|0;g=c[f>>2]|0;if((j|0)<61&(g&4|0)==0)c[b>>2]=j;else c[f>>2]=g|4;i=a;return}function pr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;a=i;i=i+16|0;h=a+4|0;j=a;c[j>>2]=c[e>>2];c[h>>2]=c[j>>2];j=Vv(d,h,f,g,1)|0;g=c[f>>2]|0;if((j|0)<7&(g&4|0)==0)c[b>>2]=j;else c[f>>2]=g|4;i=a;return}function qr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;a=i;i=i+16|0;h=a+4|0;j=a;c[j>>2]=c[e>>2];c[h>>2]=c[j>>2];j=Vv(d,h,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=j+-1900;i=a;return}function rr(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a=c[b>>2]|0;do if(a)if((c[a+12>>2]|0)==(c[a+16>>2]|0))if((Hb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1){c[b>>2]=0;h=0;break}else{h=c[b>>2]|0;break}else h=a;else h=0;while(0);a=(h|0)==0;h=c[e>>2]|0;do if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0)?(Hb[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1:0){c[e>>2]=0;i=11;break}if(a){j=h;i=13}else i=12}else i=11;while(0);if((i|0)==11)if(a)i=12;else{j=0;i=13}a:do if((i|0)==12)c[f>>2]=c[f>>2]|6;else if((i|0)==13){a=c[b>>2]|0;h=c[a+12>>2]|0;if((h|0)==(c[a+16>>2]|0))k=Hb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else k=d[h>>0]|0;if((yb[c[(c[g>>2]|0)+36>>2]&31](g,k&255,0)|0)<<24>>24!=37){c[f>>2]=c[f>>2]|4;break}h=c[b>>2]|0;a=h+12|0;l=c[a>>2]|0;if((l|0)==(c[h+16>>2]|0)){Hb[c[(c[h>>2]|0)+40>>2]&127](h)|0;m=c[b>>2]|0;if(!m)n=0;else{o=m;i=21}}else{c[a>>2]=l+1;o=h;i=21}do if((i|0)==21)if((c[o+12>>2]|0)==(c[o+16>>2]|0))if((Hb[c[(c[o>>2]|0)+36>>2]&127](o)|0)==-1){c[b>>2]=0;n=0;break}else{n=c[b>>2]|0;break}else n=o;while(0);h=(n|0)==0;do if(j){if((c[j+12>>2]|0)==(c[j+16>>2]|0)?(Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0)==-1:0){c[e>>2]=0;i=30;break}if(h)break a}else i=30;while(0);if((i|0)==30?!h:0)break;c[f>>2]=c[f>>2]|2}while(0);return}function sr(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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;k=i;i=i+32|0;l=k+16|0;m=k+12|0;n=k+8|0;o=k+4|0;p=k;q=oo(e)|0;c[n>>2]=q;r=Lt(n,12368)|0;wn(q)|0;c[f>>2]=0;q=c[b>>2]|0;a:do if((h|0)!=(j|0)){n=h;s=q;b:while(1){t=s;if(s){u=c[s+12>>2]|0;if((u|0)==(c[s+16>>2]|0))v=Hb[c[(c[s>>2]|0)+36>>2]&127](s)|0;else v=c[u>>2]|0;if((v|0)==-1){c[b>>2]=0;w=0;x=1;y=0}else{w=s;x=0;y=t}}else{w=0;x=1;y=t}t=c[d>>2]|0;u=t;do if(t){z=c[t+12>>2]|0;if((z|0)==(c[t+16>>2]|0))A=Hb[c[(c[t>>2]|0)+36>>2]&127](t)|0;else A=c[z>>2]|0;if((A|0)!=-1)if(x){B=t;C=u;break}else{D=w;E=16;break b}else{c[d>>2]=0;F=0;E=14;break}}else{F=u;E=14}while(0);if((E|0)==14){E=0;if(x){D=w;E=16;break}else{B=0;C=F}}c:do if((yb[c[(c[r>>2]|0)+52>>2]&31](r,c[n>>2]|0,0)|0)<<24>>24==37){u=n+4|0;if((u|0)==(j|0)){G=w;E=19;break b}t=yb[c[(c[r>>2]|0)+52>>2]&31](r,c[u>>2]|0,0)|0;switch(t<<24>>24){case 48:case 69:{z=n+8|0;if((z|0)==(j|0)){H=w;E=22;break b}I=u;J=yb[c[(c[r>>2]|0)+52>>2]&31](r,c[z>>2]|0,0)|0;K=t;break}default:{I=n;J=t;K=0}}t=c[(c[a>>2]|0)+36>>2]|0;c[o>>2]=y;c[p>>2]=C;c[m>>2]=c[o>>2];c[l>>2]=c[p>>2];c[b>>2]=Mb[t&15](a,m,l,e,f,g,J,K)|0;L=I+8|0}else{if(yb[c[(c[r>>2]|0)+12>>2]&31](r,8192,c[n>>2]|0)|0)M=n;else{t=w+12|0;z=c[t>>2]|0;u=w+16|0;if((z|0)==(c[u>>2]|0))N=Hb[c[(c[w>>2]|0)+36>>2]&127](w)|0;else N=c[z>>2]|0;z=Pb[c[(c[r>>2]|0)+28>>2]&63](r,N)|0;if((z|0)!=(Pb[c[(c[r>>2]|0)+28>>2]&63](r,c[n>>2]|0)|0)){E=59;break b}z=c[t>>2]|0;if((z|0)==(c[u>>2]|0))Hb[c[(c[w>>2]|0)+40>>2]&127](w)|0;else c[t>>2]=z+4;L=n+4|0;break}while(1){z=M+4|0;if((z|0)==(j|0)){O=j;break}if(yb[c[(c[r>>2]|0)+12>>2]&31](r,8192,c[z>>2]|0)|0)M=z;else{O=z;break}}z=w;t=B;u=B;while(1){if(z){P=c[z+12>>2]|0;if((P|0)==(c[z+16>>2]|0))Q=Hb[c[(c[z>>2]|0)+36>>2]&127](z)|0;else Q=c[P>>2]|0;if((Q|0)==-1){c[b>>2]=0;R=1;S=0}else{R=0;S=z}}else{R=1;S=0}do if(u){P=c[u+12>>2]|0;if((P|0)==(c[u+16>>2]|0))T=Hb[c[(c[u>>2]|0)+36>>2]&127](u)|0;else T=c[P>>2]|0;if((T|0)!=-1)if(R^(t|0)==0){U=t;V=t;break}else{L=O;break c}else{c[d>>2]=0;W=0;E=42;break}}else{W=t;E=42}while(0);if((E|0)==42){E=0;if(R){L=O;break c}else{U=W;V=0}}P=S+12|0;X=c[P>>2]|0;Y=S+16|0;if((X|0)==(c[Y>>2]|0))Z=Hb[c[(c[S>>2]|0)+36>>2]&127](S)|0;else Z=c[X>>2]|0;if(!(yb[c[(c[r>>2]|0)+12>>2]&31](r,8192,Z)|0)){L=O;break c}X=c[P>>2]|0;if((X|0)==(c[Y>>2]|0)){Hb[c[(c[S>>2]|0)+40>>2]&127](S)|0;z=S;t=U;u=V;continue}else{c[P>>2]=X+4;z=S;t=U;u=V;continue}}}while(0);u=c[b>>2]|0;if((L|0)!=(j|0)&(c[f>>2]|0)==0){n=L;s=u}else{_=u;break a}}if((E|0)==16){c[f>>2]=4;_=D;break}else if((E|0)==19){c[f>>2]=4;_=G;break}else if((E|0)==22){c[f>>2]=4;_=H;break}else if((E|0)==59){c[f>>2]=4;_=c[b>>2]|0;break}}else _=q;while(0);if(_){q=c[_+12>>2]|0;if((q|0)==(c[_+16>>2]|0))$=Hb[c[(c[_>>2]|0)+36>>2]&127](_)|0;else $=c[q>>2]|0;if(($|0)==-1){c[b>>2]=0;aa=0;ba=1}else{aa=_;ba=0}}else{aa=0;ba=1}_=c[d>>2]|0;do if(_){b=c[_+12>>2]|0;if((b|0)==(c[_+16>>2]|0))ca=Hb[c[(c[_>>2]|0)+36>>2]&127](_)|0;else ca=c[b>>2]|0;if((ca|0)!=-1)if(ba)break;else{E=74;break}else{c[d>>2]=0;E=72;break}}else E=72;while(0);if((E|0)==72?ba:0)E=74;if((E|0)==74)c[f>>2]=c[f>>2]|2;i=k;return aa|0}function tr(a){a=a|0;return}function ur(a){a=a|0;gk(a);return}function vr(a){a=a|0;return 2}function wr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;l=h+4|0;m=h;c[l>>2]=c[b>>2];c[m>>2]=c[d>>2];c[k>>2]=c[l>>2];c[j>>2]=c[m>>2];m=sr(a,k,j,e,f,g,12944,12976)|0;i=h;return m|0}function xr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;i=i+16|0;k=j+12|0;l=j+8|0;m=j+4|0;n=j;o=b+8|0;p=Hb[c[(c[o>>2]|0)+20>>2]&127](o)|0;c[m>>2]=c[d>>2];c[n>>2]=c[e>>2];e=a[p>>0]|0;d=(e&1)==0;o=p+4|0;q=d?o:c[p+8>>2]|0;p=q+((d?(e&255)>>>1:c[o>>2]|0)<<2)|0;c[l>>2]=c[m>>2];c[k>>2]=c[n>>2];n=sr(b,l,k,f,g,h,q,p)|0;i=j;return n|0}function yr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+8|0;k=h+4|0;l=h;m=oo(e)|0;c[k>>2]=m;e=Lt(k,12368)|0;wn(m)|0;c[l>>2]=c[d>>2];c[j>>2]=c[l>>2];zr(a,g+24|0,b,j,f,e);i=h;return c[b>>2]|0}function zr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;h=i;i=i+16|0;j=h+4|0;k=h;l=a+8|0;a=Hb[c[c[l>>2]>>2]&127](l)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];k=(Iv(d,j,a,a+168|0,g,f,0)|0)-a|0;if((k|0)<168)c[b>>2]=((k|0)/12|0|0)%7|0;i=h;return}function Ar(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+8|0;k=h+4|0;l=h;m=oo(e)|0;c[k>>2]=m;e=Lt(k,12368)|0;wn(m)|0;c[l>>2]=c[d>>2];c[j>>2]=c[l>>2];Br(a,g+16|0,b,j,f,e);i=h;return c[b>>2]|0}function Br(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;h=i;i=i+16|0;j=h+4|0;k=h;l=a+8|0;a=Hb[c[(c[l>>2]|0)+4>>2]&127](l)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];k=(Iv(d,j,a,a+288|0,g,f,0)|0)-a|0;if((k|0)<288)c[b>>2]=((k|0)/12|0|0)%12|0;i=h;return}function Cr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+8|0;k=h+4|0;l=h;m=oo(e)|0;c[k>>2]=m;e=Lt(k,12368)|0;wn(m)|0;c[l>>2]=c[d>>2];c[j>>2]=c[l>>2];Dr(a,g+20|0,b,j,f,e);i=h;return c[b>>2]|0}function Dr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;a=i;i=i+16|0;h=a+4|0;j=a;c[j>>2]=c[e>>2];c[h>>2]=c[j>>2];j=Wv(d,h,f,g,4)|0;if(!(c[f>>2]&4)){if((j|0)<69)k=j+2e3|0;else k=(j+-69|0)>>>0<31?j+1900|0:j;c[b>>2]=k+-1900}i=a;return}function Er(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;k=i;i=i+144|0;l=k+132|0;m=k+116|0;n=k+128|0;o=k+124|0;p=k+120|0;q=k+112|0;r=k+108|0;s=k+104|0;t=k+100|0;u=k+96|0;v=k+92|0;w=k+88|0;x=k+84|0;y=k+80|0;z=k+76|0;A=k+72|0;B=k+68|0;C=k+64|0;D=k+60|0;E=k+56|0;F=k+52|0;G=k+48|0;H=k+44|0;I=k+40|0;J=k+36|0;K=k+32|0;L=k+28|0;M=k+24|0;N=k+20|0;O=k+16|0;P=k+12|0;Q=k+8|0;R=k+4|0;S=k;c[g>>2]=0;T=oo(f)|0;c[n>>2]=T;U=Lt(n,12368)|0;wn(T)|0;do switch(j<<24>>24|0){case 65:case 97:{c[o>>2]=c[e>>2];c[l>>2]=c[o>>2];zr(b,h+24|0,d,l,g,U);V=26;break}case 104:case 66:case 98:{c[p>>2]=c[e>>2];c[l>>2]=c[p>>2];Br(b,h+16|0,d,l,g,U);V=26;break}case 99:{T=b+8|0;n=Hb[c[(c[T>>2]|0)+12>>2]&127](T)|0;c[q>>2]=c[d>>2];c[r>>2]=c[e>>2];T=a[n>>0]|0;W=(T&1)==0;X=n+4|0;Y=W?X:c[n+8>>2]|0;n=Y+((W?(T&255)>>>1:c[X>>2]|0)<<2)|0;c[m>>2]=c[q>>2];c[l>>2]=c[r>>2];c[d>>2]=sr(b,m,l,f,g,h,Y,n)|0;V=26;break}case 101:case 100:{c[s>>2]=c[e>>2];c[l>>2]=c[s>>2];Fr(b,h+12|0,d,l,g,U);V=26;break}case 68:{c[t>>2]=c[d>>2];c[u>>2]=c[e>>2];c[m>>2]=c[t>>2];c[l>>2]=c[u>>2];c[d>>2]=sr(b,m,l,f,g,h,12976,13008)|0;V=26;break}case 70:{c[v>>2]=c[d>>2];c[w>>2]=c[e>>2];c[m>>2]=c[v>>2];c[l>>2]=c[w>>2];c[d>>2]=sr(b,m,l,f,g,h,13008,13040)|0;V=26;break}case 72:{c[x>>2]=c[e>>2];c[l>>2]=c[x>>2];Gr(b,h+8|0,d,l,g,U);V=26;break}case 73:{c[y>>2]=c[e>>2];c[l>>2]=c[y>>2];Hr(b,h+8|0,d,l,g,U);V=26;break}case 106:{c[z>>2]=c[e>>2];c[l>>2]=c[z>>2];Ir(b,h+28|0,d,l,g,U);V=26;break}case 109:{c[A>>2]=c[e>>2];c[l>>2]=c[A>>2];Jr(b,h+16|0,d,l,g,U);V=26;break}case 77:{c[B>>2]=c[e>>2];c[l>>2]=c[B>>2];Kr(b,h+4|0,d,l,g,U);V=26;break}case 116:case 110:{c[C>>2]=c[e>>2];c[l>>2]=c[C>>2];Lr(b,d,l,g,U);V=26;break}case 112:{c[D>>2]=c[e>>2];c[l>>2]=c[D>>2];Mr(b,h+8|0,d,l,g,U);V=26;break}case 114:{c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[m>>2]=c[E>>2];c[l>>2]=c[F>>2];c[d>>2]=sr(b,m,l,f,g,h,13040,13084)|0;V=26;break}case 82:{c[G>>2]=c[d>>2];c[H>>2]=c[e>>2];c[m>>2]=c[G>>2];c[l>>2]=c[H>>2];c[d>>2]=sr(b,m,l,f,g,h,13084,13104)|0;V=26;break}case 83:{c[I>>2]=c[e>>2];c[l>>2]=c[I>>2];Nr(b,h,d,l,g,U);V=26;break}case 84:{c[J>>2]=c[d>>2];c[K>>2]=c[e>>2];c[m>>2]=c[J>>2];c[l>>2]=c[K>>2];c[d>>2]=sr(b,m,l,f,g,h,13104,13136)|0;V=26;break}case 119:{c[L>>2]=c[e>>2];c[l>>2]=c[L>>2];Or(b,h+24|0,d,l,g,U);V=26;break}case 120:{n=c[(c[b>>2]|0)+20>>2]|0;c[M>>2]=c[d>>2];c[N>>2]=c[e>>2];c[m>>2]=c[M>>2];c[l>>2]=c[N>>2];Z=Gb[n&63](b,m,l,f,g,h)|0;break}case 88:{n=b+8|0;Y=Hb[c[(c[n>>2]|0)+24>>2]&127](n)|0;c[O>>2]=c[d>>2];c[P>>2]=c[e>>2];n=a[Y>>0]|0;X=(n&1)==0;T=Y+4|0;W=X?T:c[Y+8>>2]|0;Y=W+((X?(n&255)>>>1:c[T>>2]|0)<<2)|0;c[m>>2]=c[O>>2];c[l>>2]=c[P>>2];c[d>>2]=sr(b,m,l,f,g,h,W,Y)|0;V=26;break}case 121:{c[Q>>2]=c[e>>2];c[l>>2]=c[Q>>2];Dr(b,h+20|0,d,l,g,U);V=26;break}case 89:{c[R>>2]=c[e>>2];c[l>>2]=c[R>>2];Pr(b,h+20|0,d,l,g,U);V=26;break}case 37:{c[S>>2]=c[e>>2];c[l>>2]=c[S>>2];Qr(b,d,l,g,U);V=26;break}default:{c[g>>2]=c[g>>2]|4;V=26}}while(0);if((V|0)==26)Z=c[d>>2]|0;i=k;return Z|0}function Fr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;a=i;i=i+16|0;h=a+4|0;j=a;c[j>>2]=c[e>>2];c[h>>2]=c[j>>2];j=Wv(d,h,f,g,2)|0;g=c[f>>2]|0;if((j+-1|0)>>>0<31&(g&4|0)==0)c[b>>2]=j;else c[f>>2]=g|4;i=a;return}function Gr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;a=i;i=i+16|0;h=a+4|0;j=a;c[j>>2]=c[e>>2];c[h>>2]=c[j>>2];j=Wv(d,h,f,g,2)|0;g=c[f>>2]|0;if((j|0)<24&(g&4|0)==0)c[b>>2]=j;else c[f>>2]=g|4;i=a;return}function Hr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;a=i;i=i+16|0;h=a+4|0;j=a;c[j>>2]=c[e>>2];c[h>>2]=c[j>>2];j=Wv(d,h,f,g,2)|0;g=c[f>>2]|0;if((j+-1|0)>>>0<12&(g&4|0)==0)c[b>>2]=j;else c[f>>2]=g|4;i=a;return}function Ir(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;a=i;i=i+16|0;h=a+4|0;j=a;c[j>>2]=c[e>>2];c[h>>2]=c[j>>2];j=Wv(d,h,f,g,3)|0;g=c[f>>2]|0;if((j|0)<366&(g&4|0)==0)c[b>>2]=j;else c[f>>2]=g|4;i=a;return}function Jr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;a=i;i=i+16|0;h=a+4|0;j=a;c[j>>2]=c[e>>2];c[h>>2]=c[j>>2];j=Wv(d,h,f,g,2)|0;g=c[f>>2]|0;if((j|0)<13&(g&4|0)==0)c[b>>2]=j+-1;else c[f>>2]=g|4;i=a;return}function Kr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;a=i;i=i+16|0;h=a+4|0;j=a;c[j>>2]=c[e>>2];c[h>>2]=c[j>>2];j=Wv(d,h,f,g,2)|0;g=c[f>>2]|0;if((j|0)<60&(g&4|0)==0)c[b>>2]=j;else c[f>>2]=g|4;i=a;return}function Lr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:while(1){a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))h=Hb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else h=c[g>>2]|0;if((h|0)==-1){c[b>>2]=0;i=1;break}else{i=(c[b>>2]|0)==0;break}}else i=1;while(0);a=c[d>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))j=Hb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else j=c[g>>2]|0;if((j|0)!=-1)if(i){k=a;break}else{l=a;break a}else{c[d>>2]=0;m=15;break}}else m=15;while(0);if((m|0)==15){m=0;if(i){l=0;break}else k=0}a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))n=Hb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else n=c[g>>2]|0;if(!(yb[c[(c[f>>2]|0)+12>>2]&31](f,8192,n)|0)){l=k;break}g=c[b>>2]|0;a=g+12|0;o=c[a>>2]|0;if((o|0)==(c[g+16>>2]|0)){Hb[c[(c[g>>2]|0)+40>>2]&127](g)|0;continue}else{c[a>>2]=o+4;continue}}k=c[b>>2]|0;do if(k){n=c[k+12>>2]|0;if((n|0)==(c[k+16>>2]|0))p=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else p=c[n>>2]|0;if((p|0)==-1){c[b>>2]=0;q=1;break}else{q=(c[b>>2]|0)==0;break}}else q=1;while(0);do if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0))r=Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else r=c[b>>2]|0;if((r|0)!=-1)if(q)break;else{m=39;break}else{c[d>>2]=0;m=37;break}}else m=37;while(0);if((m|0)==37?q:0)m=39;if((m|0)==39)c[e>>2]=c[e>>2]|2;return}function Mr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+16|0;k=j+4|0;l=j;m=b+8|0;b=Hb[c[(c[m>>2]|0)+8>>2]&127](m)|0;m=a[b>>0]|0;if(!(m&1))n=(m&255)>>>1;else n=c[b+4>>2]|0;m=a[b+12>>0]|0;if(!(m&1))o=(m&255)>>>1;else o=c[b+16>>2]|0;do if((n|0)!=(0-o|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];m=Iv(e,k,b,b+24|0,h,g,0)|0;p=c[d>>2]|0;if((m|0)==(b|0)&(p|0)==12){c[d>>2]=0;break}if((p|0)<12&(m-b|0)==12)c[d>>2]=p+12}else c[g>>2]=c[g>>2]|4;while(0);i=j;return}function Nr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;a=i;i=i+16|0;h=a+4|0;j=a;c[j>>2]=c[e>>2];c[h>>2]=c[j>>2];j=Wv(d,h,f,g,2)|0;g=c[f>>2]|0;if((j|0)<61&(g&4|0)==0)c[b>>2]=j;else c[f>>2]=g|4;i=a;return}function Or(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;a=i;i=i+16|0;h=a+4|0;j=a;c[j>>2]=c[e>>2];c[h>>2]=c[j>>2];j=Wv(d,h,f,g,1)|0;g=c[f>>2]|0;if((j|0)<7&(g&4|0)==0)c[b>>2]=j;else c[f>>2]=g|4;i=a;return}function Pr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;a=i;i=i+16|0;h=a+4|0;j=a;c[j>>2]=c[e>>2];c[h>>2]=c[j>>2];j=Wv(d,h,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=j+-1900;i=a;return}function Qr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))h=Hb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else h=c[g>>2]|0;if((h|0)==-1){c[b>>2]=0;i=1;break}else{i=(c[b>>2]|0)==0;break}}else i=1;while(0);h=c[d>>2]|0;do if(h){a=c[h+12>>2]|0;if((a|0)==(c[h+16>>2]|0))j=Hb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else j=c[a>>2]|0;if((j|0)!=-1)if(i){k=h;l=17;break}else{l=16;break}else{c[d>>2]=0;l=14;break}}else l=14;while(0);if((l|0)==14)if(i)l=16;else{k=0;l=17}a:do if((l|0)==16)c[e>>2]=c[e>>2]|6;else if((l|0)==17){i=c[b>>2]|0;h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))m=Hb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else m=c[h>>2]|0;if((yb[c[(c[f>>2]|0)+52>>2]&31](f,m,0)|0)<<24>>24!=37){c[e>>2]=c[e>>2]|4;break}h=c[b>>2]|0;i=h+12|0;j=c[i>>2]|0;if((j|0)==(c[h+16>>2]|0)){Hb[c[(c[h>>2]|0)+40>>2]&127](h)|0;a=c[b>>2]|0;if(!a)n=1;else{o=a;l=25}}else{c[i>>2]=j+4;o=h;l=25}do if((l|0)==25){h=c[o+12>>2]|0;if((h|0)==(c[o+16>>2]|0))p=Hb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else p=c[h>>2]|0;if((p|0)==-1){c[b>>2]=0;n=1;break}else{n=(c[b>>2]|0)==0;break}}while(0);do if(k){h=c[k+12>>2]|0;if((h|0)==(c[k+16>>2]|0))q=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else q=c[h>>2]|0;if((q|0)!=-1)if(n)break a;else break;else{c[d>>2]=0;l=37;break}}else l=37;while(0);if((l|0)==37?!n:0)break;c[e>>2]=c[e>>2]|2}while(0);return}function Rr(a){a=a|0;Sr(a+8|0);return}function Sr(a){a=a|0;var b=0;b=c[a>>2]|0;if((b|0)!=($p()|0))ol(c[a>>2]|0);return}function Tr(a){a=a|0;Sr(a+8|0);gk(a);return}function Ur(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0;f=i;i=i+112|0;e=f+4|0;k=f;c[k>>2]=e+100;Vr(b+8|0,e,k,g,h,j);j=c[k>>2]|0;k=c[d>>2]|0;if((e|0)==(j|0))l=k;else{d=e;e=k;while(1){k=a[d>>0]|0;do if(e){h=e+24|0;g=c[h>>2]|0;if((g|0)==(c[e+28>>2]|0)){b=(Pb[c[(c[e>>2]|0)+52>>2]&63](e,k&255)|0)==-1;m=b?0:e;break}else{c[h>>2]=g+1;a[g>>0]=k;m=e;break}}else m=0;while(0);d=d+1|0;if((d|0)==(j|0)){l=m;break}else e=m}}i=f;return l|0}function Vr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;j=i;i=i+16|0;k=j;a[k>>0]=37;l=k+1|0;a[l>>0]=g;m=k+2|0;a[m>>0]=h;a[k+3>>0]=0;if(h<<24>>24){a[l>>0]=h;a[m>>0]=g}c[e>>2]=d+(Oa(d|0,(c[e>>2]|0)-d|0,k|0,f|0,c[b>>2]|0)|0);i=j;return}function Wr(a){a=a|0;Sr(a+8|0);return}function Xr(a){a=a|0;Sr(a+8|0);gk(a);return}function Yr(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;e=i;i=i+416|0;d=e+8|0;j=e;c[j>>2]=d+400;Zr(a+8|0,d,j,f,g,h);h=c[j>>2]|0;j=c[b>>2]|0;if((d|0)==(h|0))k=j;else{b=d;d=j;while(1){j=c[b>>2]|0;if(!d)l=0;else{g=d+24|0;f=c[g>>2]|0;if((f|0)==(c[d+28>>2]|0))m=Pb[c[(c[d>>2]|0)+52>>2]&63](d,j)|0;else{c[g>>2]=f+4;c[f>>2]=j;m=j}l=(m|0)==-1?0:d}b=b+4|0;if((b|0)==(h|0)){k=l;break}else d=l}}i=e;return k|0}function Zr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+128|0;j=h+16|0;k=h+12|0;l=h;m=h+8|0;c[k>>2]=j+100;Vr(a,j,k,e,f,g);g=l;c[g>>2]=0;c[g+4>>2]=0;c[m>>2]=j;j=(c[d>>2]|0)-b>>2;g=sl(c[a>>2]|0)|0;a=Hl(b,m,j,l)|0;if(g)sl(g)|0;c[d>>2]=b+(a<<2);i=h;return}function _r(a){a=a|0;return}function $r(a){a=a|0;gk(a);return}function as(a){a=a|0;return 127}function bs(a){a=a|0;return 127}function cs(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function ds(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function es(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function fs(a,b){a=a|0;b=b|0;Gn(a,1,45);return}function gs(a){a=a|0;return 0}function hs(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function is(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function js(a){a=a|0;return}function ks(a){a=a|0;gk(a);return}function ls(a){a=a|0;return 127}function ms(a){a=a|0;return 127}function ns(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function os(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function ps(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function qs(a,b){a=a|0;b=b|0;Gn(a,1,45);return}function rs(a){a=a|0;return 0}function ss(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function ts(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function us(a){a=a|0;return}function vs(a){a=a|0;gk(a);return}function ws(a){a=a|0;return 2147483647}function xs(a){a=a|0;return 2147483647}function ys(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function zs(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function As(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Bs(a,b){a=a|0;b=b|0;_n(a,1,45);return}function Cs(a){a=a|0;return 0}function Ds(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Es(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Fs(a){a=a|0;return}function Gs(a){a=a|0;gk(a);return}function Hs(a){a=a|0;return 2147483647}function Is(a){a=a|0;return 2147483647}function Js(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Ks(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Ls(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Ms(a,b){a=a|0;b=b|0;_n(a,1,45);return}function Ns(a){a=a|0;return 0}function Os(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Ps(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Qs(a){a=a|0;return}function Rs(a){a=a|0;gk(a);return}function Ss(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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;b=i;i=i+240|0;k=b+24|0;l=b;m=b+136|0;n=b+16|0;o=b+12|0;p=b+8|0;q=b+134|0;r=b+4|0;s=b+124|0;c[n>>2]=m;t=n+4|0;c[t>>2]=192;c[p>>2]=oo(g)|0;u=Lt(p,12376)|0;a[q>>0]=0;c[r>>2]=c[e>>2];v=c[g+4>>2]|0;c[k>>2]=c[r>>2];if(Us(d,k,f,p,v,h,q,u,n,o,m+100|0)|0){Nb[c[(c[u>>2]|0)+32>>2]&15](u,32523,32533,s)|0;u=c[o>>2]|0;m=c[n>>2]|0;v=u-m|0;if((v|0)>98){f=Lm(v+2|0)|0;if(!f)Tk();else{w=f;x=f}}else{w=0;x=k}if(!(a[q>>0]|0))y=x;else{a[x>>0]=45;y=x+1|0}x=s+10|0;q=s;if(m>>>0<u>>>0){u=s+1|0;f=u+1|0;v=f+1|0;r=v+1|0;g=r+1|0;z=g+1|0;A=z+1|0;B=A+1|0;C=B+1|0;D=y;E=m;while(1){m=a[E>>0]|0;if((a[s>>0]|0)!=m<<24>>24)if((a[u>>0]|0)!=m<<24>>24)if((a[f>>0]|0)!=m<<24>>24)if((a[v>>0]|0)!=m<<24>>24)if((a[r>>0]|0)!=m<<24>>24)if((a[g>>0]|0)!=m<<24>>24)if((a[z>>0]|0)!=m<<24>>24)if((a[A>>0]|0)!=m<<24>>24)if((a[B>>0]|0)==m<<24>>24)F=B;else F=(a[C>>0]|0)==m<<24>>24?C:x;else F=A;else F=z;else F=g;else F=r;else F=v;else F=f;else F=u;else F=s;a[D>>0]=a[32523+(F-q)>>0]|0;E=E+1|0;m=D+1|0;if(E>>>0>=(c[o>>2]|0)>>>0){G=m;break}else D=m}}else G=y;a[G>>0]=0;c[l>>2]=j;dm(k,32534,l)|0;if(w)Mm(w)}w=c[d>>2]|0;do if(w)if((c[w+12>>2]|0)==(c[w+16>>2]|0))if((Hb[c[(c[w>>2]|0)+36>>2]&127](w)|0)==-1){c[d>>2]=0;H=0;break}else{H=c[d>>2]|0;break}else H=w;else H=0;while(0);w=(H|0)==0;H=c[e>>2]|0;do if(H){if((c[H+12>>2]|0)==(c[H+16>>2]|0)?(Hb[c[(c[H>>2]|0)+36>>2]&127](H)|0)==-1:0){c[e>>2]=0;I=25;break}if(!w)I=26}else I=25;while(0);if((I|0)==25?w:0)I=26;if((I|0)==26)c[h>>2]=c[h>>2]|2;h=c[d>>2]|0;wn(c[p>>2]|0)|0;p=c[n>>2]|0;c[n>>2]=0;if(p)Eb[c[t>>2]&255](p);i=b;return h|0}function Ts(a){a=a|0;return}function Us(e,f,g,h,j,k,l,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,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,gb=0,hb=0,ib=0,jb=0;q=i;i=i+512|0;r=q+88|0;s=q+96|0;t=q+80|0;u=q+72|0;v=q+68|0;w=q+500|0;x=q+497|0;y=q+496|0;z=q+56|0;A=q+44|0;B=q+32|0;C=q+20|0;D=q+8|0;E=q+4|0;F=q;c[r>>2]=p;c[t>>2]=s;p=t+4|0;c[p>>2]=192;c[u>>2]=s;c[v>>2]=s+400;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;Xs(g,h,w,x,y,z,A,B,C,E);c[o>>2]=c[n>>2];h=m+8|0;m=B+4|0;g=C+4|0;G=C+8|0;H=C+1|0;I=B+8|0;J=B+1|0;K=(j&512|0)!=0;j=A+8|0;L=A+1|0;M=A+4|0;N=D+4|0;O=D+8|0;P=D+1|0;Q=w+3|0;R=z+4|0;S=s;s=0;T=0;a:while(1){U=c[e>>2]|0;do if(U)if((c[U+12>>2]|0)==(c[U+16>>2]|0))if((Hb[c[(c[U>>2]|0)+36>>2]&127](U)|0)==-1){c[e>>2]=0;V=0;break}else{V=c[e>>2]|0;break}else V=U;else V=0;while(0);U=(V|0)==0;W=c[f>>2]|0;do if(W){if((c[W+12>>2]|0)!=(c[W+16>>2]|0))if(U){X=W;break}else{Y=S;Z=T;_=202;break a}if((Hb[c[(c[W>>2]|0)+36>>2]&127](W)|0)!=-1)if(U){X=W;break}else{Y=S;Z=T;_=202;break a}else{c[f>>2]=0;_=12;break}}else _=12;while(0);if((_|0)==12){_=0;if(U){Y=S;Z=T;_=202;break}else X=0}b:do switch(a[w+s>>0]|0){case 1:{if((s|0)==3){$=S;aa=T}else{W=c[e>>2]|0;ba=c[W+12>>2]|0;if((ba|0)==(c[W+16>>2]|0))ca=Hb[c[(c[W>>2]|0)+36>>2]&127](W)|0;else ca=d[ba>>0]|0;if((ca&255)<<24>>24<=-1){_=26;break a}if(!(b[(c[h>>2]|0)+(ca<<24>>24<<1)>>1]&8192)){_=26;break a}ba=c[e>>2]|0;W=ba+12|0;da=c[W>>2]|0;if((da|0)==(c[ba+16>>2]|0))ea=Hb[c[(c[ba>>2]|0)+40>>2]&127](ba)|0;else{c[W>>2]=da+1;ea=d[da>>0]|0}Qn(D,ea&255);fa=X;ga=X;_=28}break}case 0:{if((s|0)==3){$=S;aa=T}else{fa=X;ga=X;_=28}break}case 3:{da=a[B>>0]|0;W=(da&1)==0?(da&255)>>>1:c[m>>2]|0;ba=a[C>>0]|0;ha=(ba&1)==0?(ba&255)>>>1:c[g>>2]|0;if((W|0)==(0-ha|0)){$=S;aa=T}else{ba=(W|0)==0;W=c[e>>2]|0;ia=c[W+12>>2]|0;ja=c[W+16>>2]|0;ka=(ia|0)==(ja|0);if(ba|(ha|0)==0){if(ka)la=Hb[c[(c[W>>2]|0)+36>>2]&127](W)|0;else la=d[ia>>0]|0;ha=la&255;if(ba){if(ha<<24>>24!=(a[((a[C>>0]&1)==0?H:c[G>>2]|0)>>0]|0)){$=S;aa=T;break b}ba=c[e>>2]|0;ma=ba+12|0;na=c[ma>>2]|0;if((na|0)==(c[ba+16>>2]|0))Hb[c[(c[ba>>2]|0)+40>>2]&127](ba)|0;else c[ma>>2]=na+1;a[l>>0]=1;na=a[C>>0]|0;$=S;aa=((na&1)==0?(na&255)>>>1:c[g>>2]|0)>>>0>1?C:T;break b}if(ha<<24>>24!=(a[((a[B>>0]&1)==0?J:c[I>>2]|0)>>0]|0)){a[l>>0]=1;$=S;aa=T;break b}ha=c[e>>2]|0;na=ha+12|0;ma=c[na>>2]|0;if((ma|0)==(c[ha+16>>2]|0))Hb[c[(c[ha>>2]|0)+40>>2]&127](ha)|0;else c[na>>2]=ma+1;ma=a[B>>0]|0;$=S;aa=((ma&1)==0?(ma&255)>>>1:c[m>>2]|0)>>>0>1?B:T;break b}if(ka){ka=Hb[c[(c[W>>2]|0)+36>>2]&127](W)|0;ma=c[e>>2]|0;oa=ka;pa=a[B>>0]|0;qa=ma;ra=c[ma+12>>2]|0;sa=c[ma+16>>2]|0}else{oa=d[ia>>0]|0;pa=da;qa=W;ra=ia;sa=ja}ja=qa+12|0;ia=(ra|0)==(sa|0);if((oa&255)<<24>>24==(a[((pa&1)==0?J:c[I>>2]|0)>>0]|0)){if(ia)Hb[c[(c[qa>>2]|0)+40>>2]&127](qa)|0;else c[ja>>2]=ra+1;ja=a[B>>0]|0;$=S;aa=((ja&1)==0?(ja&255)>>>1:c[m>>2]|0)>>>0>1?B:T;break b}if(ia)ta=Hb[c[(c[qa>>2]|0)+36>>2]&127](qa)|0;else ta=d[ra>>0]|0;if((ta&255)<<24>>24!=(a[((a[C>>0]&1)==0?H:c[G>>2]|0)>>0]|0)){_=82;break a}ia=c[e>>2]|0;ja=ia+12|0;W=c[ja>>2]|0;if((W|0)==(c[ia+16>>2]|0))Hb[c[(c[ia>>2]|0)+40>>2]&127](ia)|0;else c[ja>>2]=W+1;a[l>>0]=1;W=a[C>>0]|0;$=S;aa=((W&1)==0?(W&255)>>>1:c[g>>2]|0)>>>0>1?C:T}break}case 2:{if(!(s>>>0<2|(T|0)!=0)?!(K|(s|0)==2&(a[Q>>0]|0)!=0):0){$=S;aa=0;break b}W=a[A>>0]|0;ja=(W&1)==0;ia=c[j>>2]|0;da=ja?L:ia;ma=da;c:do if((s|0)!=0?(d[w+(s+-1)>>0]|0)<2:0){ka=ja?(W&255)>>>1:c[M>>2]|0;na=da+ka|0;ha=c[h>>2]|0;d:do if(!ka)ua=ma;else{ba=da;va=ma;while(1){wa=a[ba>>0]|0;if(wa<<24>>24<=-1){ua=va;break d}if(!(b[ha+(wa<<24>>24<<1)>>1]&8192)){ua=va;break d}ba=ba+1|0;wa=ba;if((ba|0)==(na|0)){ua=wa;break}else va=wa}}while(0);na=ua-ma|0;ha=a[D>>0]|0;ka=(ha&1)==0;va=ka?(ha&255)>>>1:c[N>>2]|0;if(va>>>0>=na>>>0){ha=ka?P:c[O>>2]|0;ka=ha+va|0;if((ua|0)==(ma|0))xa=ua;else{ba=da;wa=ha+(va-na)|0;while(1){if((a[wa>>0]|0)!=(a[ba>>0]|0)){xa=ma;break c}wa=wa+1|0;if((wa|0)==(ka|0)){xa=ua;break}else ba=ba+1|0}}}else xa=ma}else xa=ma;while(0);ma=(W&1)==0;da=(ma?L:ia)+(ma?(W&255)>>>1:c[M>>2]|0)|0;ma=xa;e:do if((ma|0)==(da|0))ya=da;else{ja=X;ba=X;ka=ma;while(1){wa=c[e>>2]|0;do if(wa)if((c[wa+12>>2]|0)==(c[wa+16>>2]|0))if((Hb[c[(c[wa>>2]|0)+36>>2]&127](wa)|0)==-1){c[e>>2]=0;za=0;break}else{za=c[e>>2]|0;break}else za=wa;else za=0;while(0);wa=(za|0)==0;do if(ba){if((c[ba+12>>2]|0)!=(c[ba+16>>2]|0))if(wa){Aa=ja;Ba=ba;break}else{ya=ka;break e}if((Hb[c[(c[ba>>2]|0)+36>>2]&127](ba)|0)!=-1)if(wa^(ja|0)==0){Aa=ja;Ba=ja;break}else{ya=ka;break e}else{c[f>>2]=0;Ca=0;_=107;break}}else{Ca=ja;_=107}while(0);if((_|0)==107){_=0;if(wa){ya=ka;break e}else{Aa=Ca;Ba=0}}na=c[e>>2]|0;va=c[na+12>>2]|0;if((va|0)==(c[na+16>>2]|0))Da=Hb[c[(c[na>>2]|0)+36>>2]&127](na)|0;else Da=d[va>>0]|0;if((Da&255)<<24>>24!=(a[ka>>0]|0)){ya=ka;break e}va=c[e>>2]|0;na=va+12|0;ha=c[na>>2]|0;if((ha|0)==(c[va+16>>2]|0))Hb[c[(c[va>>2]|0)+40>>2]&127](va)|0;else c[na>>2]=ha+1;ka=ka+1|0;ha=a[A>>0]|0;na=(ha&1)==0;va=(na?L:c[j>>2]|0)+(na?(ha&255)>>>1:c[M>>2]|0)|0;if((ka|0)==(va|0)){ya=va;break}else{ja=Aa;ba=Ba}}}while(0);if(K?(ma=a[A>>0]|0,da=(ma&1)==0,(ya|0)!=((da?L:c[j>>2]|0)+(da?(ma&255)>>>1:c[M>>2]|0)|0)):0){_=119;break a}else{$=S;aa=T}break}case 4:{ma=a[y>>0]|0;da=X;W=X;ia=S;ba=0;f:while(1){ja=c[e>>2]|0;do if(ja)if((c[ja+12>>2]|0)==(c[ja+16>>2]|0))if((Hb[c[(c[ja>>2]|0)+36>>2]&127](ja)|0)==-1){c[e>>2]=0;Ea=0;break}else{Ea=c[e>>2]|0;break}else Ea=ja;else Ea=0;while(0);ja=(Ea|0)==0;do if(W){if((c[W+12>>2]|0)!=(c[W+16>>2]|0))if(ja){Fa=da;Ga=W;break}else{Ha=ia;Ia=da;Ja=ba;break f}if((Hb[c[(c[W>>2]|0)+36>>2]&127](W)|0)!=-1)if(ja^(da|0)==0){Fa=da;Ga=da;break}else{Ha=ia;Ia=da;Ja=ba;break f}else{c[f>>2]=0;Ka=0;_=130;break}}else{Ka=da;_=130}while(0);if((_|0)==130){_=0;if(ja){Ha=ia;Ia=Ka;Ja=ba;break}else{Fa=Ka;Ga=0}}ka=c[e>>2]|0;va=c[ka+12>>2]|0;if((va|0)==(c[ka+16>>2]|0))La=Hb[c[(c[ka>>2]|0)+36>>2]&127](ka)|0;else La=d[va>>0]|0;va=La&255;if(va<<24>>24>-1?(b[(c[h>>2]|0)+(La<<24>>24<<1)>>1]&2048)!=0:0){ka=c[o>>2]|0;if((ka|0)==(c[r>>2]|0)){Xv(n,o,r);Ma=c[o>>2]|0}else Ma=ka;c[o>>2]=Ma+1;a[Ma>>0]=va;Na=ia;Oa=ba+1|0}else{ka=a[z>>0]|0;if(!(va<<24>>24==ma<<24>>24&((ba|0)!=0?(((ka&1)==0?(ka&255)>>>1:c[R>>2]|0)|0)!=0:0))){Ha=ia;Ia=Fa;Ja=ba;break}if((ia|0)==(c[v>>2]|0)){Yv(t,u,v);Pa=c[u>>2]|0}else Pa=ia;ka=Pa+4|0;c[u>>2]=ka;c[Pa>>2]=ba;Na=ka;Oa=0}ka=c[e>>2]|0;va=ka+12|0;ha=c[va>>2]|0;if((ha|0)==(c[ka+16>>2]|0)){Hb[c[(c[ka>>2]|0)+40>>2]&127](ka)|0;da=Fa;W=Ga;ia=Na;ba=Oa;continue}else{c[va>>2]=ha+1;da=Fa;W=Ga;ia=Na;ba=Oa;continue}}if((Ja|0)!=0?(c[t>>2]|0)!=(Ha|0):0){if((Ha|0)==(c[v>>2]|0)){Yv(t,u,v);Qa=c[u>>2]|0}else Qa=Ha;ba=Qa+4|0;c[u>>2]=ba;c[Qa>>2]=Ja;Ra=ba}else Ra=Ha;ba=c[E>>2]|0;if((ba|0)>0){ia=c[e>>2]|0;do if(ia)if((c[ia+12>>2]|0)==(c[ia+16>>2]|0))if((Hb[c[(c[ia>>2]|0)+36>>2]&127](ia)|0)==-1){c[e>>2]=0;Sa=0;break}else{Sa=c[e>>2]|0;break}else Sa=ia;else Sa=0;while(0);ia=(Sa|0)==0;do if(Ia){if((c[Ia+12>>2]|0)==(c[Ia+16>>2]|0)?(Hb[c[(c[Ia>>2]|0)+36>>2]&127](Ia)|0)==-1:0){c[f>>2]=0;_=162;break}if(ia)Ta=Ia;else{_=167;break a}}else _=162;while(0);if((_|0)==162){_=0;if(ia){_=167;break a}else Ta=0}W=c[e>>2]|0;da=c[W+12>>2]|0;if((da|0)==(c[W+16>>2]|0))Ua=Hb[c[(c[W>>2]|0)+36>>2]&127](W)|0;else Ua=d[da>>0]|0;if((Ua&255)<<24>>24!=(a[x>>0]|0)){_=167;break a}da=c[e>>2]|0;W=da+12|0;ma=c[W>>2]|0;if((ma|0)==(c[da+16>>2]|0))Hb[c[(c[da>>2]|0)+40>>2]&127](da)|0;else c[W>>2]=ma+1;if((ba|0)>0){ma=Ta;W=Ta;da=ba;while(1){ha=c[e>>2]|0;do if(ha)if((c[ha+12>>2]|0)==(c[ha+16>>2]|0))if((Hb[c[(c[ha>>2]|0)+36>>2]&127](ha)|0)==-1){c[e>>2]=0;Va=0;break}else{Va=c[e>>2]|0;break}else Va=ha;else Va=0;while(0);ha=(Va|0)==0;do if(W){if((c[W+12>>2]|0)!=(c[W+16>>2]|0))if(ha){Wa=ma;Xa=W;break}else{_=189;break a}if((Hb[c[(c[W>>2]|0)+36>>2]&127](W)|0)!=-1)if(ha^(ma|0)==0){Wa=ma;Xa=ma;break}else{_=189;break a}else{c[f>>2]=0;Ya=0;_=182;break}}else{Ya=ma;_=182}while(0);if((_|0)==182){_=0;if(ha){_=189;break a}else{Wa=Ya;Xa=0}}ja=c[e>>2]|0;va=c[ja+12>>2]|0;if((va|0)==(c[ja+16>>2]|0))Za=Hb[c[(c[ja>>2]|0)+36>>2]&127](ja)|0;else Za=d[va>>0]|0;if((Za&255)<<24>>24<=-1){_=189;break a}if(!(b[(c[h>>2]|0)+(Za<<24>>24<<1)>>1]&2048)){_=189;break a}if((c[o>>2]|0)==(c[r>>2]|0))Xv(n,o,r);va=c[e>>2]|0;ja=c[va+12>>2]|0;if((ja|0)==(c[va+16>>2]|0))_a=Hb[c[(c[va>>2]|0)+36>>2]&127](va)|0;else _a=d[ja>>0]|0;ja=c[o>>2]|0;c[o>>2]=ja+1;a[ja>>0]=_a;ja=da;da=da+-1|0;c[E>>2]=da;va=c[e>>2]|0;ka=va+12|0;na=c[ka>>2]|0;if((na|0)==(c[va+16>>2]|0))Hb[c[(c[va>>2]|0)+40>>2]&127](va)|0;else c[ka>>2]=na+1;if((ja|0)<=1)break;else{ma=Wa;W=Xa}}}}if((c[o>>2]|0)==(c[n>>2]|0)){_=200;break a}else{$=Ra;aa=T}break}default:{$=S;aa=T}}while(0);g:do if((_|0)==28)while(1){_=0;U=c[e>>2]|0;do if(U)if((c[U+12>>2]|0)==(c[U+16>>2]|0))if((Hb[c[(c[U>>2]|0)+36>>2]&127](U)|0)==-1){c[e>>2]=0;$a=0;break}else{$a=c[e>>2]|0;break}else $a=U;else $a=0;while(0);U=($a|0)==0;do if(ga){if((c[ga+12>>2]|0)!=(c[ga+16>>2]|0))if(U){ab=fa;bb=ga;break}else{$=S;aa=T;break g}if((Hb[c[(c[ga>>2]|0)+36>>2]&127](ga)|0)!=-1)if(U^(fa|0)==0){ab=fa;bb=fa;break}else{$=S;aa=T;break g}else{c[f>>2]=0;cb=0;_=38;break}}else{cb=fa;_=38}while(0);if((_|0)==38){_=0;if(U){$=S;aa=T;break g}else{ab=cb;bb=0}}ha=c[e>>2]|0;W=c[ha+12>>2]|0;if((W|0)==(c[ha+16>>2]|0))db=Hb[c[(c[ha>>2]|0)+36>>2]&127](ha)|0;else db=d[W>>0]|0;if((db&255)<<24>>24<=-1){$=S;aa=T;break g}if(!(b[(c[h>>2]|0)+(db<<24>>24<<1)>>1]&8192)){$=S;aa=T;break g}W=c[e>>2]|0;ha=W+12|0;ma=c[ha>>2]|0;if((ma|0)==(c[W+16>>2]|0))eb=Hb[c[(c[W>>2]|0)+40>>2]&127](W)|0;else{c[ha>>2]=ma+1;eb=d[ma>>0]|0}Qn(D,eb&255);fa=ab;ga=bb;_=28}while(0);s=s+1|0;if(s>>>0>=4){Y=$;Z=aa;_=202;break}else{S=$;T=aa}}h:do if((_|0)==26){c[k>>2]=c[k>>2]|4;fb=0}else if((_|0)==82){c[k>>2]=c[k>>2]|4;fb=0}else if((_|0)==119){c[k>>2]=c[k>>2]|4;fb=0}else if((_|0)==167){c[k>>2]=c[k>>2]|4;fb=0}else if((_|0)==189){c[k>>2]=c[k>>2]|4;fb=0}else if((_|0)==200){c[k>>2]=c[k>>2]|4;fb=0}else if((_|0)==202){i:do if(Z){aa=Z+1|0;T=Z+8|0;$=Z+4|0;S=1;j:while(1){s=a[Z>>0]|0;if(!(s&1))gb=(s&255)>>>1;else gb=c[$>>2]|0;if(S>>>0>=gb>>>0)break i;s=c[e>>2]|0;do if(s)if((c[s+12>>2]|0)==(c[s+16>>2]|0))if((Hb[c[(c[s>>2]|0)+36>>2]&127](s)|0)==-1){c[e>>2]=0;hb=0;break}else{hb=c[e>>2]|0;break}else hb=s;else hb=0;while(0);s=(hb|0)==0;U=c[f>>2]|0;do if(U){if((c[U+12>>2]|0)==(c[U+16>>2]|0)?(Hb[c[(c[U>>2]|0)+36>>2]&127](U)|0)==-1:0){c[f>>2]=0;_=218;break}if(!s)break j}else _=218;while(0);if((_|0)==218?(_=0,s):0)break;U=c[e>>2]|0;bb=c[U+12>>2]|0;if((bb|0)==(c[U+16>>2]|0))ib=Hb[c[(c[U>>2]|0)+36>>2]&127](U)|0;else ib=d[bb>>0]|0;if(!(a[Z>>0]&1))jb=aa;else jb=c[T>>2]|0;if((ib&255)<<24>>24!=(a[jb+S>>0]|0))break;bb=S+1|0;U=c[e>>2]|0;ga=U+12|0;ab=c[ga>>2]|0;if((ab|0)==(c[U+16>>2]|0)){Hb[c[(c[U>>2]|0)+40>>2]&127](U)|0;S=bb;continue}else{c[ga>>2]=ab+1;S=bb;continue}}c[k>>2]=c[k>>2]|4;fb=0;break h}while(0);S=c[t>>2]|0;if((S|0)!=(Y|0)?(c[F>>2]=0,Ys(z,S,Y,F),(c[F>>2]|0)!=0):0){c[k>>2]=c[k>>2]|4;fb=0}else fb=1}while(0);In(D);In(C);In(B);In(A);In(z);z=c[t>>2]|0;c[t>>2]=0;if(z)Eb[c[p>>2]&255](z);i=q;return fb|0}function Vs(a){a=a|0;return}function Ws(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;b=i;i=i+144|0;k=b+24|0;l=b+32|0;m=b+16|0;n=b+8|0;o=b+4|0;p=b+28|0;q=b;c[m>>2]=l;r=m+4|0;c[r>>2]=192;s=oo(g)|0;c[o>>2]=s;t=Lt(o,12376)|0;a[p>>0]=0;u=c[e>>2]|0;c[q>>2]=u;v=c[g+4>>2]|0;c[k>>2]=c[q>>2];q=u;if(Us(d,k,f,o,v,h,p,t,m,n,l+100|0)|0){if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}if(a[p>>0]|0)Qn(j,Pb[c[(c[t>>2]|0)+28>>2]&63](t,45)|0);p=Pb[c[(c[t>>2]|0)+28>>2]&63](t,48)|0;t=c[m>>2]|0;l=c[n>>2]|0;n=l+-1|0;a:do if(t>>>0<n>>>0){v=t;while(1){if((a[v>>0]|0)!=p<<24>>24){w=v;break a}o=v+1|0;if(o>>>0<n>>>0)v=o;else{w=o;break}}}else w=t;while(0);Zv(j,w,l)|0}l=c[d>>2]|0;do if(l)if((c[l+12>>2]|0)==(c[l+16>>2]|0))if((Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0)==-1){c[d>>2]=0;x=0;break}else{x=c[d>>2]|0;break}else x=l;else x=0;while(0);l=(x|0)==0;do if(u){if((c[q+12>>2]|0)==(c[q+16>>2]|0)?(Hb[c[(c[u>>2]|0)+36>>2]&127](q)|0)==-1:0){c[e>>2]=0;y=21;break}if(!l)y=22}else y=21;while(0);if((y|0)==21?l:0)y=22;if((y|0)==22)c[h>>2]=c[h>>2]|2;h=c[d>>2]|0;wn(s)|0;s=c[m>>2]|0;c[m>>2]=0;if(s)Eb[c[r>>2]&255](s);i=b;return h|0}function Xs(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;n=i;i=i+112|0;o=n+100|0;p=n+88|0;q=n+76|0;r=n+64|0;s=n+52|0;t=n+48|0;u=n+36|0;v=n+24|0;w=n+12|0;x=n;if(b){b=Lt(d,11984)|0;Fb[c[(c[b>>2]|0)+44>>2]&127](o,b);y=c[o>>2]|0;a[e>>0]=y;a[e+1>>0]=y>>8;a[e+2>>0]=y>>16;a[e+3>>0]=y>>24;Fb[c[(c[b>>2]|0)+32>>2]&127](p,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}On(l,0);c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;In(p);Fb[c[(c[b>>2]|0)+28>>2]&127](q,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}On(k,0);c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;In(q);a[f>>0]=Hb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[g>>0]=Hb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Fb[c[(c[b>>2]|0)+20>>2]&127](r,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}On(h,0);c[h>>2]=c[r>>2];c[h+4>>2]=c[r+4>>2];c[h+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;In(r);Fb[c[(c[b>>2]|0)+24>>2]&127](s,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}On(j,0);c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;In(s);z=Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0}else{b=Lt(d,11920)|0;Fb[c[(c[b>>2]|0)+44>>2]&127](t,b);d=c[t>>2]|0;a[e>>0]=d;a[e+1>>0]=d>>8;a[e+2>>0]=d>>16;a[e+3>>0]=d>>24;Fb[c[(c[b>>2]|0)+32>>2]&127](u,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}On(l,0);c[l>>2]=c[u>>2];c[l+4>>2]=c[u+4>>2];c[l+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;In(u);Fb[c[(c[b>>2]|0)+28>>2]&127](v,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}On(k,0);c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;In(v);a[f>>0]=Hb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[g>>0]=Hb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Fb[c[(c[b>>2]|0)+20>>2]&127](w,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}On(h,0);c[h>>2]=c[w>>2];c[h+4>>2]=c[w+4>>2];c[h+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;In(w);Fb[c[(c[b>>2]|0)+24>>2]&127](x,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}On(j,0);c[j>>2]=c[x>>2];c[j+4>>2]=c[x+4>>2];c[j+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;In(x);z=Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0}c[m>>2]=z;i=n;return}function Ys(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;g=a[b>>0]|0;h=b+4|0;i=c[h>>2]|0;a:do if(((g&1)==0?(g&255)>>>1:i)|0){if((d|0)==(e|0)){j=g;k=i}else{l=e+-4|0;if(l>>>0>d>>>0){m=d;n=l;do{l=c[m>>2]|0;c[m>>2]=c[n>>2];c[n>>2]=l;m=m+4|0;n=n+-4|0}while(m>>>0<n>>>0)}j=a[b>>0]|0;k=c[h>>2]|0}n=(j&1)==0;m=n?b+1|0:c[b+8>>2]|0;l=e+-4|0;o=m+(n?(j&255)>>>1:k)|0;n=a[m>>0]|0;p=n<<24>>24<1|n<<24>>24==127;b:do if(l>>>0>d>>>0){q=n;r=m;s=d;t=p;while(1){if(!t?(q<<24>>24|0)!=(c[s>>2]|0):0)break;r=(o-r|0)>1?r+1|0:r;s=s+4|0;u=a[r>>0]|0;v=u<<24>>24<1|u<<24>>24==127;if(s>>>0>=l>>>0){w=u;x=v;break b}else{q=u;t=v}}c[f>>2]=4;break a}else{w=n;x=p}while(0);if(!x?((c[l>>2]|0)+-1|0)>>>0>=w<<24>>24>>>0:0)c[f>>2]=4}while(0);return}function Zs(a){a=a|0;return}function _s(a){a=a|0;gk(a);return}function $s(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;b=i;i=i+576|0;k=b+424|0;l=b;m=b+24|0;n=b+16|0;o=b+12|0;p=b+8|0;q=b+464|0;r=b+4|0;s=b+468|0;c[n>>2]=m;t=n+4|0;c[t>>2]=192;c[p>>2]=oo(g)|0;u=Lt(p,12368)|0;a[q>>0]=0;c[r>>2]=c[e>>2];v=c[g+4>>2]|0;c[k>>2]=c[r>>2];if(at(d,k,f,p,v,h,q,u,n,o,m+400|0)|0){Nb[c[(c[u>>2]|0)+48>>2]&15](u,32538,32548,k)|0;u=c[o>>2]|0;m=c[n>>2]|0;v=u-m|0;if((v|0)>392){f=Lm((v>>2)+2|0)|0;if(!f)Tk();else{w=f;x=f}}else{w=0;x=s}if(!(a[q>>0]|0))y=x;else{a[x>>0]=45;y=x+1|0}x=k+40|0;q=k;if(m>>>0<u>>>0){u=k+4|0;f=u+4|0;v=f+4|0;r=v+4|0;g=r+4|0;z=g+4|0;A=z+4|0;B=A+4|0;C=B+4|0;D=y;E=m;while(1){m=c[E>>2]|0;if((c[k>>2]|0)!=(m|0))if((c[u>>2]|0)!=(m|0))if((c[f>>2]|0)!=(m|0))if((c[v>>2]|0)!=(m|0))if((c[r>>2]|0)!=(m|0))if((c[g>>2]|0)!=(m|0))if((c[z>>2]|0)!=(m|0))if((c[A>>2]|0)!=(m|0))if((c[B>>2]|0)==(m|0))F=B;else F=(c[C>>2]|0)==(m|0)?C:x;else F=A;else F=z;else F=g;else F=r;else F=v;else F=f;else F=u;else F=k;a[D>>0]=a[32538+(F-q>>2)>>0]|0;E=E+4|0;m=D+1|0;if(E>>>0>=(c[o>>2]|0)>>>0){G=m;break}else D=m}}else G=y;a[G>>0]=0;c[l>>2]=j;dm(s,32534,l)|0;if(w)Mm(w)}w=c[d>>2]|0;do if(w){l=c[w+12>>2]|0;if((l|0)==(c[w+16>>2]|0))H=Hb[c[(c[w>>2]|0)+36>>2]&127](w)|0;else H=c[l>>2]|0;if((H|0)==-1){c[d>>2]=0;I=1;break}else{I=(c[d>>2]|0)==0;break}}else I=1;while(0);H=c[e>>2]|0;do if(H){w=c[H+12>>2]|0;if((w|0)==(c[H+16>>2]|0))J=Hb[c[(c[H>>2]|0)+36>>2]&127](H)|0;else J=c[w>>2]|0;if((J|0)!=-1)if(I)break;else{K=30;break}else{c[e>>2]=0;K=28;break}}else K=28;while(0);if((K|0)==28?I:0)K=30;if((K|0)==30)c[h>>2]=c[h>>2]|2;h=c[d>>2]|0;wn(c[p>>2]|0)|0;p=c[n>>2]|0;c[n>>2]=0;if(p)Eb[c[t>>2]&255](p);i=b;return h|0}function at(b,e,f,g,h,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,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,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;p=i;i=i+512|0;q=p+96|0;r=p+104|0;s=p+88|0;t=p+80|0;u=p+76|0;v=p+504|0;w=p+72|0;x=p+68|0;y=p+56|0;z=p+44|0;A=p+32|0;B=p+20|0;C=p+8|0;D=p+4|0;E=p;c[q>>2]=o;c[s>>2]=r;o=s+4|0;c[o>>2]=192;c[t>>2]=r;c[u>>2]=r+400;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;ct(f,g,v,w,x,y,z,A,B,D);c[n>>2]=c[m>>2];g=A+4|0;f=B+4|0;F=B+8|0;G=A+8|0;H=(h&512|0)!=0;h=z+8|0;I=z+4|0;J=C+4|0;K=C+8|0;L=v+3|0;M=y+4|0;N=r;r=0;O=0;a:while(1){P=c[b>>2]|0;do if(P){Q=c[P+12>>2]|0;if((Q|0)==(c[P+16>>2]|0))R=Hb[c[(c[P>>2]|0)+36>>2]&127](P)|0;else R=c[Q>>2]|0;if((R|0)==-1){c[b>>2]=0;S=1;break}else{S=(c[b>>2]|0)==0;break}}else S=1;while(0);P=c[e>>2]|0;do if(P){Q=c[P+12>>2]|0;if((Q|0)==(c[P+16>>2]|0))T=Hb[c[(c[P>>2]|0)+36>>2]&127](P)|0;else T=c[Q>>2]|0;if((T|0)!=-1)if(S){U=P;break}else{V=N;W=O;X=217;break a}else{c[e>>2]=0;X=15;break}}else X=15;while(0);if((X|0)==15){X=0;if(S){V=N;W=O;X=217;break}else U=0}b:do switch(a[v+r>>0]|0){case 1:{if((r|0)==3){Y=N;Z=O}else{P=c[b>>2]|0;Q=c[P+12>>2]|0;if((Q|0)==(c[P+16>>2]|0))_=Hb[c[(c[P>>2]|0)+36>>2]&127](P)|0;else _=c[Q>>2]|0;if(!(yb[c[(c[l>>2]|0)+12>>2]&31](l,8192,_)|0)){X=28;break a}Q=c[b>>2]|0;P=Q+12|0;$=c[P>>2]|0;if(($|0)==(c[Q+16>>2]|0))aa=Hb[c[(c[Q>>2]|0)+40>>2]&127](Q)|0;else{c[P>>2]=$+4;aa=c[$>>2]|0}eo(C,aa);ba=U;ca=U;X=30}break}case 0:{if((r|0)==3){Y=N;Z=O}else{ba=U;ca=U;X=30}break}case 3:{$=a[A>>0]|0;P=($&1)==0?($&255)>>>1:c[g>>2]|0;Q=a[B>>0]|0;da=(Q&1)==0?(Q&255)>>>1:c[f>>2]|0;if((P|0)==(0-da|0)){Y=N;Z=O}else{Q=(P|0)==0;P=c[b>>2]|0;ea=c[P+12>>2]|0;fa=c[P+16>>2]|0;ga=(ea|0)==(fa|0);if(Q|(da|0)==0){if(ga)ha=Hb[c[(c[P>>2]|0)+36>>2]&127](P)|0;else ha=c[ea>>2]|0;if(Q){if((ha|0)!=(c[((a[B>>0]&1)==0?f:c[F>>2]|0)>>2]|0)){Y=N;Z=O;break b}Q=c[b>>2]|0;da=Q+12|0;ia=c[da>>2]|0;if((ia|0)==(c[Q+16>>2]|0))Hb[c[(c[Q>>2]|0)+40>>2]&127](Q)|0;else c[da>>2]=ia+4;a[k>>0]=1;ia=a[B>>0]|0;Y=N;Z=((ia&1)==0?(ia&255)>>>1:c[f>>2]|0)>>>0>1?B:O;break b}if((ha|0)!=(c[((a[A>>0]&1)==0?g:c[G>>2]|0)>>2]|0)){a[k>>0]=1;Y=N;Z=O;break b}ia=c[b>>2]|0;da=ia+12|0;Q=c[da>>2]|0;if((Q|0)==(c[ia+16>>2]|0))Hb[c[(c[ia>>2]|0)+40>>2]&127](ia)|0;else c[da>>2]=Q+4;Q=a[A>>0]|0;Y=N;Z=((Q&1)==0?(Q&255)>>>1:c[g>>2]|0)>>>0>1?A:O;break b}if(ga){ga=Hb[c[(c[P>>2]|0)+36>>2]&127](P)|0;Q=c[b>>2]|0;ja=ga;ka=a[A>>0]|0;la=Q;ma=c[Q+12>>2]|0;na=c[Q+16>>2]|0}else{ja=c[ea>>2]|0;ka=$;la=P;ma=ea;na=fa}fa=la+12|0;ea=(ma|0)==(na|0);if((ja|0)==(c[((ka&1)==0?g:c[G>>2]|0)>>2]|0)){if(ea)Hb[c[(c[la>>2]|0)+40>>2]&127](la)|0;else c[fa>>2]=ma+4;fa=a[A>>0]|0;Y=N;Z=((fa&1)==0?(fa&255)>>>1:c[g>>2]|0)>>>0>1?A:O;break b}if(ea)oa=Hb[c[(c[la>>2]|0)+36>>2]&127](la)|0;else oa=c[ma>>2]|0;if((oa|0)!=(c[((a[B>>0]&1)==0?f:c[F>>2]|0)>>2]|0)){X=86;break a}ea=c[b>>2]|0;fa=ea+12|0;P=c[fa>>2]|0;if((P|0)==(c[ea+16>>2]|0))Hb[c[(c[ea>>2]|0)+40>>2]&127](ea)|0;else c[fa>>2]=P+4;a[k>>0]=1;P=a[B>>0]|0;Y=N;Z=((P&1)==0?(P&255)>>>1:c[f>>2]|0)>>>0>1?B:O}break}case 2:{if(!(r>>>0<2|(O|0)!=0)?!(H|(r|0)==2&(a[L>>0]|0)!=0):0){Y=N;Z=0;break b}P=a[z>>0]|0;fa=c[h>>2]|0;ea=(P&1)==0?I:fa;$=ea;c:do if((r|0)!=0?(d[v+(r+-1)>>0]|0)<2:0){Q=(P&1)==0;d:do if((ea|0)==((Q?I:fa)+((Q?(P&255)>>>1:c[I>>2]|0)<<2)|0)){pa=P;qa=fa;ra=$}else{ga=ea;da=$;while(1){if(!(yb[c[(c[l>>2]|0)+12>>2]&31](l,8192,c[ga>>2]|0)|0)){sa=da;break}ga=ga+4|0;ia=ga;ta=a[z>>0]|0;ua=c[h>>2]|0;va=(ta&1)==0;if((ga|0)==((va?I:ua)+((va?(ta&255)>>>1:c[I>>2]|0)<<2)|0)){pa=ta;qa=ua;ra=ia;break d}else da=ia}pa=a[z>>0]|0;qa=c[h>>2]|0;ra=sa}while(0);Q=(pa&1)==0?I:qa;da=Q;ga=ra-da>>2;ia=a[C>>0]|0;ua=(ia&1)==0;ta=ua?(ia&255)>>>1:c[J>>2]|0;if(ta>>>0>=ga>>>0){ia=ua?J:c[K>>2]|0;ua=ia+(ta<<2)|0;if(!ga){wa=qa;xa=pa;ya=ra}else{va=Q;Q=ia+(ta-ga<<2)|0;while(1){if((c[Q>>2]|0)!=(c[va>>2]|0)){wa=qa;xa=pa;ya=da;break c}Q=Q+4|0;if((Q|0)==(ua|0)){wa=qa;xa=pa;ya=ra;break}else va=va+4|0}}}else{wa=qa;xa=pa;ya=da}}else{wa=fa;xa=P;ya=$}while(0);$=(xa&1)==0;P=($?I:wa)+(($?(xa&255)>>>1:c[I>>2]|0)<<2)|0;$=ya;e:do if(($|0)==(P|0))za=P;else{fa=U;ea=U;va=$;while(1){ua=c[b>>2]|0;do if(ua){Q=c[ua+12>>2]|0;if((Q|0)==(c[ua+16>>2]|0))Aa=Hb[c[(c[ua>>2]|0)+36>>2]&127](ua)|0;else Aa=c[Q>>2]|0;if((Aa|0)==-1){c[b>>2]=0;Ba=1;break}else{Ba=(c[b>>2]|0)==0;break}}else Ba=1;while(0);do if(ea){ua=c[ea+12>>2]|0;if((ua|0)==(c[ea+16>>2]|0))Ca=Hb[c[(c[ea>>2]|0)+36>>2]&127](ea)|0;else Ca=c[ua>>2]|0;if((Ca|0)!=-1)if(Ba^(fa|0)==0){Da=fa;Ea=fa;break}else{za=va;break e}else{c[e>>2]=0;Fa=0;X=114;break}}else{Fa=fa;X=114}while(0);if((X|0)==114){X=0;if(Ba){za=va;break e}else{Da=Fa;Ea=0}}ua=c[b>>2]|0;Q=c[ua+12>>2]|0;if((Q|0)==(c[ua+16>>2]|0))Ga=Hb[c[(c[ua>>2]|0)+36>>2]&127](ua)|0;else Ga=c[Q>>2]|0;if((Ga|0)!=(c[va>>2]|0)){za=va;break e}Q=c[b>>2]|0;ua=Q+12|0;ga=c[ua>>2]|0;if((ga|0)==(c[Q+16>>2]|0))Hb[c[(c[Q>>2]|0)+40>>2]&127](Q)|0;else c[ua>>2]=ga+4;va=va+4|0;ga=a[z>>0]|0;ua=(ga&1)==0;Q=(ua?I:c[h>>2]|0)+((ua?(ga&255)>>>1:c[I>>2]|0)<<2)|0;if((va|0)==(Q|0)){za=Q;break}else{fa=Da;ea=Ea}}}while(0);if(H?($=a[z>>0]|0,P=($&1)==0,(za|0)!=((P?I:c[h>>2]|0)+((P?($&255)>>>1:c[I>>2]|0)<<2)|0)):0){X=126;break a}else{Y=N;Z=O}break}case 4:{$=c[x>>2]|0;P=U;ea=U;fa=N;va=0;f:while(1){da=c[b>>2]|0;do if(da){Q=c[da+12>>2]|0;if((Q|0)==(c[da+16>>2]|0))Ha=Hb[c[(c[da>>2]|0)+36>>2]&127](da)|0;else Ha=c[Q>>2]|0;if((Ha|0)==-1){c[b>>2]=0;Ia=1;break}else{Ia=(c[b>>2]|0)==0;break}}else Ia=1;while(0);do if(ea){da=c[ea+12>>2]|0;if((da|0)==(c[ea+16>>2]|0))Ja=Hb[c[(c[ea>>2]|0)+36>>2]&127](ea)|0;else Ja=c[da>>2]|0;if((Ja|0)!=-1)if(Ia^(P|0)==0){Ka=P;La=P;break}else{Ma=fa;Na=P;Oa=va;break f}else{c[e>>2]=0;Pa=0;X=140;break}}else{Pa=P;X=140}while(0);if((X|0)==140){X=0;if(Ia){Ma=fa;Na=Pa;Oa=va;break}else{Ka=Pa;La=0}}da=c[b>>2]|0;Q=c[da+12>>2]|0;if((Q|0)==(c[da+16>>2]|0))Qa=Hb[c[(c[da>>2]|0)+36>>2]&127](da)|0;else Qa=c[Q>>2]|0;if(yb[c[(c[l>>2]|0)+12>>2]&31](l,2048,Qa)|0){Q=c[n>>2]|0;if((Q|0)==(c[q>>2]|0)){_v(m,n,q);Ra=c[n>>2]|0}else Ra=Q;c[n>>2]=Ra+4;c[Ra>>2]=Qa;Sa=fa;Ta=va+1|0}else{Q=a[y>>0]|0;if(!((Qa|0)==($|0)&((va|0)!=0?(((Q&1)==0?(Q&255)>>>1:c[M>>2]|0)|0)!=0:0))){Ma=fa;Na=Ka;Oa=va;break}if((fa|0)==(c[u>>2]|0)){Yv(s,t,u);Ua=c[t>>2]|0}else Ua=fa;Q=Ua+4|0;c[t>>2]=Q;c[Ua>>2]=va;Sa=Q;Ta=0}Q=c[b>>2]|0;da=Q+12|0;ga=c[da>>2]|0;if((ga|0)==(c[Q+16>>2]|0)){Hb[c[(c[Q>>2]|0)+40>>2]&127](Q)|0;P=Ka;ea=La;fa=Sa;va=Ta;continue}else{c[da>>2]=ga+4;P=Ka;ea=La;fa=Sa;va=Ta;continue}}if((Oa|0)!=0?(c[s>>2]|0)!=(Ma|0):0){if((Ma|0)==(c[u>>2]|0)){Yv(s,t,u);Va=c[t>>2]|0}else Va=Ma;va=Va+4|0;c[t>>2]=va;c[Va>>2]=Oa;Wa=va}else Wa=Ma;va=c[D>>2]|0;if((va|0)>0){fa=c[b>>2]|0;do if(fa){ea=c[fa+12>>2]|0;if((ea|0)==(c[fa+16>>2]|0))Xa=Hb[c[(c[fa>>2]|0)+36>>2]&127](fa)|0;else Xa=c[ea>>2]|0;if((Xa|0)==-1){c[b>>2]=0;Ya=1;break}else{Ya=(c[b>>2]|0)==0;break}}else Ya=1;while(0);do if(Na){fa=c[Na+12>>2]|0;if((fa|0)==(c[Na+16>>2]|0))Za=Hb[c[(c[Na>>2]|0)+36>>2]&127](Na)|0;else Za=c[fa>>2]|0;if((Za|0)!=-1)if(Ya){_a=Na;break}else{X=180;break a}else{c[e>>2]=0;X=174;break}}else X=174;while(0);if((X|0)==174){X=0;if(Ya){X=180;break a}else _a=0}fa=c[b>>2]|0;ea=c[fa+12>>2]|0;if((ea|0)==(c[fa+16>>2]|0))$a=Hb[c[(c[fa>>2]|0)+36>>2]&127](fa)|0;else $a=c[ea>>2]|0;if(($a|0)!=(c[w>>2]|0)){X=180;break a}ea=c[b>>2]|0;fa=ea+12|0;P=c[fa>>2]|0;if((P|0)==(c[ea+16>>2]|0))Hb[c[(c[ea>>2]|0)+40>>2]&127](ea)|0;else c[fa>>2]=P+4;if((va|0)>0){P=_a;fa=_a;ea=va;while(1){$=c[b>>2]|0;do if($){ga=c[$+12>>2]|0;if((ga|0)==(c[$+16>>2]|0))ab=Hb[c[(c[$>>2]|0)+36>>2]&127]($)|0;else ab=c[ga>>2]|0;if((ab|0)==-1){c[b>>2]=0;bb=1;break}else{bb=(c[b>>2]|0)==0;break}}else bb=1;while(0);do if(fa){$=c[fa+12>>2]|0;if(($|0)==(c[fa+16>>2]|0))cb=Hb[c[(c[fa>>2]|0)+36>>2]&127](fa)|0;else cb=c[$>>2]|0;if((cb|0)!=-1)if(bb^(P|0)==0){db=P;eb=P;break}else{X=204;break a}else{c[e>>2]=0;fb=0;X=198;break}}else{fb=P;X=198}while(0);if((X|0)==198){X=0;if(bb){X=204;break a}else{db=fb;eb=0}}$=c[b>>2]|0;ga=c[$+12>>2]|0;if((ga|0)==(c[$+16>>2]|0))gb=Hb[c[(c[$>>2]|0)+36>>2]&127]($)|0;else gb=c[ga>>2]|0;if(!(yb[c[(c[l>>2]|0)+12>>2]&31](l,2048,gb)|0)){X=204;break a}if((c[n>>2]|0)==(c[q>>2]|0))_v(m,n,q);ga=c[b>>2]|0;$=c[ga+12>>2]|0;if(($|0)==(c[ga+16>>2]|0))hb=Hb[c[(c[ga>>2]|0)+36>>2]&127](ga)|0;else hb=c[$>>2]|0;$=c[n>>2]|0;c[n>>2]=$+4;c[$>>2]=hb;$=ea;ea=ea+-1|0;c[D>>2]=ea;ga=c[b>>2]|0;da=ga+12|0;Q=c[da>>2]|0;if((Q|0)==(c[ga+16>>2]|0))Hb[c[(c[ga>>2]|0)+40>>2]&127](ga)|0;else c[da>>2]=Q+4;if(($|0)<=1)break;else{P=db;fa=eb}}}}if((c[n>>2]|0)==(c[m>>2]|0)){X=215;break a}else{Y=Wa;Z=O}break}default:{Y=N;Z=O}}while(0);g:do if((X|0)==30)while(1){X=0;fa=c[b>>2]|0;do if(fa){P=c[fa+12>>2]|0;if((P|0)==(c[fa+16>>2]|0))ib=Hb[c[(c[fa>>2]|0)+36>>2]&127](fa)|0;else ib=c[P>>2]|0;if((ib|0)==-1){c[b>>2]=0;jb=1;break}else{jb=(c[b>>2]|0)==0;break}}else jb=1;while(0);do if(ca){fa=c[ca+12>>2]|0;if((fa|0)==(c[ca+16>>2]|0))kb=Hb[c[(c[ca>>2]|0)+36>>2]&127](ca)|0;else kb=c[fa>>2]|0;if((kb|0)!=-1)if(jb^(ba|0)==0){lb=ba;mb=ba;break}else{Y=N;Z=O;break g}else{c[e>>2]=0;nb=0;X=43;break}}else{nb=ba;X=43}while(0);if((X|0)==43){X=0;if(jb){Y=N;Z=O;break g}else{lb=nb;mb=0}}fa=c[b>>2]|0;P=c[fa+12>>2]|0;if((P|0)==(c[fa+16>>2]|0))ob=Hb[c[(c[fa>>2]|0)+36>>2]&127](fa)|0;else ob=c[P>>2]|0;if(!(yb[c[(c[l>>2]|0)+12>>2]&31](l,8192,ob)|0)){Y=N;Z=O;break g}P=c[b>>2]|0;fa=P+12|0;ea=c[fa>>2]|0;if((ea|0)==(c[P+16>>2]|0))pb=Hb[c[(c[P>>2]|0)+40>>2]&127](P)|0;else{c[fa>>2]=ea+4;pb=c[ea>>2]|0}eo(C,pb);ba=lb;ca=mb;X=30}while(0);r=r+1|0;if(r>>>0>=4){V=Y;W=Z;X=217;break}else{N=Y;O=Z}}h:do if((X|0)==28){c[j>>2]=c[j>>2]|4;qb=0}else if((X|0)==86){c[j>>2]=c[j>>2]|4;qb=0}else if((X|0)==126){c[j>>2]=c[j>>2]|4;qb=0}else if((X|0)==180){c[j>>2]=c[j>>2]|4;qb=0}else if((X|0)==204){c[j>>2]=c[j>>2]|4;qb=0}else if((X|0)==215){c[j>>2]=c[j>>2]|4;qb=0}else if((X|0)==217){i:do if(W){Z=W+4|0;O=W+8|0;Y=1;j:while(1){N=a[W>>0]|0;if(!(N&1))rb=(N&255)>>>1;else rb=c[Z>>2]|0;if(Y>>>0>=rb>>>0)break i;N=c[b>>2]|0;do if(N){r=c[N+12>>2]|0;if((r|0)==(c[N+16>>2]|0))sb=Hb[c[(c[N>>2]|0)+36>>2]&127](N)|0;else sb=c[r>>2]|0;if((sb|0)==-1){c[b>>2]=0;tb=1;break}else{tb=(c[b>>2]|0)==0;break}}else tb=1;while(0);N=c[e>>2]|0;do if(N){r=c[N+12>>2]|0;if((r|0)==(c[N+16>>2]|0))ub=Hb[c[(c[N>>2]|0)+36>>2]&127](N)|0;else ub=c[r>>2]|0;if((ub|0)!=-1)if(tb)break;else break j;else{c[e>>2]=0;X=236;break}}else X=236;while(0);if((X|0)==236?(X=0,tb):0)break;N=c[b>>2]|0;r=c[N+12>>2]|0;if((r|0)==(c[N+16>>2]|0))vb=Hb[c[(c[N>>2]|0)+36>>2]&127](N)|0;else vb=c[r>>2]|0;if(!(a[W>>0]&1))wb=Z;else wb=c[O>>2]|0;if((vb|0)!=(c[wb+(Y<<2)>>2]|0))break;r=Y+1|0;N=c[b>>2]|0;mb=N+12|0;ca=c[mb>>2]|0;if((ca|0)==(c[N+16>>2]|0)){Hb[c[(c[N>>2]|0)+40>>2]&127](N)|0;Y=r;continue}else{c[mb>>2]=ca+4;Y=r;continue}}c[j>>2]=c[j>>2]|4;qb=0;break h}while(0);Y=c[s>>2]|0;if((Y|0)!=(V|0)?(c[E>>2]=0,Ys(y,Y,V,E),(c[E>>2]|0)!=0):0){c[j>>2]=c[j>>2]|4;qb=0}else qb=1}while(0);$n(C);$n(B);$n(A);$n(z);In(y);y=c[s>>2]|0;c[s>>2]=0;if(y)Eb[c[o>>2]&255](y);i=p;return qb|0}function bt(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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=i;i=i+432|0;k=b+424|0;l=b+24|0;m=b+16|0;n=b+8|0;o=b+4|0;p=b+428|0;q=b;c[m>>2]=l;r=m+4|0;c[r>>2]=192;s=oo(g)|0;c[o>>2]=s;t=Lt(o,12368)|0;a[p>>0]=0;u=c[e>>2]|0;c[q>>2]=u;v=c[g+4>>2]|0;c[k>>2]=c[q>>2];q=u;if(at(d,k,f,o,v,h,p,t,m,n,l+400|0)|0){if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;if(a[p>>0]|0)eo(j,Pb[c[(c[t>>2]|0)+44>>2]&63](t,45)|0);p=Pb[c[(c[t>>2]|0)+44>>2]&63](t,48)|0;t=c[m>>2]|0;l=c[n>>2]|0;n=l+-4|0;a:do if(t>>>0<n>>>0){v=t;while(1){if((c[v>>2]|0)!=(p|0)){w=v;break a}o=v+4|0;if(o>>>0<n>>>0)v=o;else{w=o;break}}}else w=t;while(0);$v(j,w,l)|0}l=c[d>>2]|0;do if(l){w=c[l+12>>2]|0;if((w|0)==(c[l+16>>2]|0))x=Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else x=c[w>>2]|0;if((x|0)==-1){c[d>>2]=0;y=1;break}else{y=(c[d>>2]|0)==0;break}}else y=1;while(0);do if(u){x=c[q+12>>2]|0;if((x|0)==(c[q+16>>2]|0))z=Hb[c[(c[u>>2]|0)+36>>2]&127](q)|0;else z=c[x>>2]|0;if((z|0)!=-1)if(y)break;else{A=26;break}else{c[e>>2]=0;A=24;break}}else A=24;while(0);if((A|0)==24?y:0)A=26;if((A|0)==26)c[h>>2]=c[h>>2]|2;h=c[d>>2]|0;wn(s)|0;s=c[m>>2]|0;c[m>>2]=0;if(s)Eb[c[r>>2]&255](s);i=b;return h|0}function ct(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;n=i;i=i+112|0;o=n+100|0;p=n+88|0;q=n+76|0;r=n+64|0;s=n+52|0;t=n+48|0;u=n+36|0;v=n+24|0;w=n+12|0;x=n;if(b){b=Lt(d,12112)|0;Fb[c[(c[b>>2]|0)+44>>2]&127](o,b);y=c[o>>2]|0;a[e>>0]=y;a[e+1>>0]=y>>8;a[e+2>>0]=y>>16;a[e+3>>0]=y>>24;Fb[c[(c[b>>2]|0)+32>>2]&127](p,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;co(l,0);c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;$n(p);Fb[c[(c[b>>2]|0)+28>>2]&127](q,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;co(k,0);c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;$n(q);c[f>>2]=Hb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[g>>2]=Hb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Fb[c[(c[b>>2]|0)+20>>2]&127](r,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}On(h,0);c[h>>2]=c[r>>2];c[h+4>>2]=c[r+4>>2];c[h+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;In(r);Fb[c[(c[b>>2]|0)+24>>2]&127](s,b);if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;co(j,0);c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;$n(s);z=Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0}else{b=Lt(d,12048)|0;Fb[c[(c[b>>2]|0)+44>>2]&127](t,b);d=c[t>>2]|0;a[e>>0]=d;a[e+1>>0]=d>>8;a[e+2>>0]=d>>16;a[e+3>>0]=d>>24;Fb[c[(c[b>>2]|0)+32>>2]&127](u,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;co(l,0);c[l>>2]=c[u>>2];c[l+4>>2]=c[u+4>>2];c[l+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;$n(u);Fb[c[(c[b>>2]|0)+28>>2]&127](v,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;co(k,0);c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;$n(v);c[f>>2]=Hb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[g>>2]=Hb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Fb[c[(c[b>>2]|0)+20>>2]&127](w,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}On(h,0);c[h>>2]=c[w>>2];c[h+4>>2]=c[w+4>>2];c[h+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;In(w);Fb[c[(c[b>>2]|0)+24>>2]&127](x,b);if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;co(j,0);c[j>>2]=c[x>>2];c[j+4>>2]=c[x+4>>2];c[j+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;$n(x);z=Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0}c[m>>2]=z;i=n;return}function dt(a){a=a|0;return}function et(a){a=a|0;gk(a);return}function ft(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var k=0,l=0,m=0,n=0,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;b=i;i=i+384|0;k=b+8|0;l=b;m=b+284|0;n=b+72|0;o=b+184|0;p=b+68|0;q=b+80|0;r=b+77|0;s=b+76|0;t=b+56|0;u=b+44|0;v=b+32|0;w=b+28|0;x=b+84|0;y=b+24|0;z=b+20|0;A=b+16|0;c[n>>2]=m;h[k>>3]=j;B=cm(m,100,32549,k)|0;if(B>>>0>99){m=$p()|0;h[l>>3]=j;C=Tv(n,m,32549,l)|0;l=c[n>>2]|0;if(!l)Tk();m=Lm(C)|0;if(!m)Tk();else{D=m;E=l;F=m;G=C}}else{D=0;E=0;F=o;G=B}B=oo(f)|0;c[p>>2]=B;o=Lt(p,12376)|0;C=c[n>>2]|0;Nb[c[(c[o>>2]|0)+32>>2]&15](o,C,C+G|0,F)|0;if(!G)H=0;else H=(a[c[n>>2]>>0]|0)==45;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;gt(e,H,p,q,r,s,t,u,v,w);e=c[w>>2]|0;if((G|0)>(e|0)){w=a[v>>0]|0;n=a[u>>0]|0;I=(G-e<<1|1)+e+((w&1)==0?(w&255)>>>1:c[v+4>>2]|0)+((n&1)==0?(n&255)>>>1:c[u+4>>2]|0)|0}else{n=a[v>>0]|0;w=a[u>>0]|0;I=e+2+((n&1)==0?(n&255)>>>1:c[v+4>>2]|0)+((w&1)==0?(w&255)>>>1:c[u+4>>2]|0)|0}if(I>>>0>100){w=Lm(I)|0;if(!w)Tk();else{J=w;K=w}}else{J=0;K=x}ht(K,y,z,c[f+4>>2]|0,F,F+G|0,o,H,q,a[r>>0]|0,a[s>>0]|0,t,u,v,e);c[A>>2]=c[d>>2];d=c[y>>2]|0;y=c[z>>2]|0;c[k>>2]=c[A>>2];A=we(k,K,d,y,f,g)|0;if(!J)L=B;else{Mm(J);L=c[p>>2]|0}In(v);In(u);In(t);wn(L)|0;if(D)Mm(D);if(E)Mm(E);i=b;return A|0}function gt(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,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;n=i;i=i+112|0;o=n+108|0;p=n+96|0;q=n+92|0;r=n+80|0;s=n+68|0;t=n+56|0;u=n+52|0;v=n+40|0;w=n+36|0;x=n+24|0;y=n+12|0;z=n;if(b){b=Lt(e,11984)|0;A=c[b>>2]|0;if(d){Fb[c[A+44>>2]&127](o,b);B=c[o>>2]|0;a[f>>0]=B;a[f+1>>0]=B>>8;a[f+2>>0]=B>>16;a[f+3>>0]=B>>24;Fb[c[(c[b>>2]|0)+32>>2]&127](p,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}On(l,0);c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;In(p);C=b}else{Fb[c[A+40>>2]&127](q,b);A=c[q>>2]|0;a[f>>0]=A;a[f+1>>0]=A>>8;a[f+2>>0]=A>>16;a[f+3>>0]=A>>24;Fb[c[(c[b>>2]|0)+28>>2]&127](r,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}On(l,0);c[l>>2]=c[r>>2];c[l+4>>2]=c[r+4>>2];c[l+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;In(r);C=b}a[g>>0]=Hb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[h>>0]=Hb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Fb[c[(c[C>>2]|0)+20>>2]&127](s,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}On(j,0);c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;In(s);Fb[c[(c[C>>2]|0)+24>>2]&127](t,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}On(k,0);c[k>>2]=c[t>>2];c[k+4>>2]=c[t+4>>2];c[k+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;In(t);D=Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0}else{b=Lt(e,11920)|0;e=c[b>>2]|0;if(d){Fb[c[e+44>>2]&127](u,b);d=c[u>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Fb[c[(c[b>>2]|0)+32>>2]&127](v,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}On(l,0);c[l>>2]=c[v>>2];c[l+4>>2]=c[v+4>>2];c[l+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;In(v);E=b}else{Fb[c[e+40>>2]&127](w,b);e=c[w>>2]|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;Fb[c[(c[b>>2]|0)+28>>2]&127](x,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}On(l,0);c[l>>2]=c[x>>2];c[l+4>>2]=c[x+4>>2];c[l+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;In(x);E=b}a[g>>0]=Hb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[h>>0]=Hb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Fb[c[(c[E>>2]|0)+20>>2]&127](y,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}On(j,0);c[j>>2]=c[y>>2];c[j+4>>2]=c[y+4>>2];c[j+8>>2]=c[y+8>>2];c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;In(y);Fb[c[(c[E>>2]|0)+24>>2]&127](z,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}On(k,0);c[k>>2]=c[z>>2];c[k+4>>2]=c[z+4>>2];c[k+8>>2]=c[z+8>>2];c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;In(z);D=Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0}c[m>>2]=D;i=n;return}function ht(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,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;c[f>>2]=d;s=q+4|0;t=q+8|0;u=q+1|0;v=p+4|0;w=(g&512|0)==0;x=p+8|0;y=p+1|0;z=j+8|0;A=(r|0)>0;B=o+4|0;C=o+8|0;D=o+1|0;E=r+1|0;F=-2-r-((r|0)<0?~r:-1)|0;G=(r|0)>0;H=h;h=0;while(1){switch(a[l+h>>0]|0){case 0:{c[e>>2]=c[f>>2];I=H;break}case 1:{c[e>>2]=c[f>>2];J=Pb[c[(c[j>>2]|0)+28>>2]&63](j,32)|0;K=c[f>>2]|0;c[f>>2]=K+1;a[K>>0]=J;I=H;break}case 3:{J=a[q>>0]|0;K=(J&1)==0;if(!((K?(J&255)>>>1:c[s>>2]|0)|0))I=H;else{J=a[(K?u:c[t>>2]|0)>>0]|0;K=c[f>>2]|0;c[f>>2]=K+1;a[K>>0]=J;I=H}break}case 2:{J=a[p>>0]|0;K=(J&1)==0;L=K?(J&255)>>>1:c[v>>2]|0;if(w|(L|0)==0)I=H;else{J=K?y:c[x>>2]|0;K=J+L|0;M=c[f>>2]|0;if(!L)N=M;else{L=M;M=J;while(1){a[L>>0]=a[M>>0]|0;M=M+1|0;J=L+1|0;if((M|0)==(K|0)){N=J;break}else L=J}}c[f>>2]=N;I=H}break}case 4:{L=c[f>>2]|0;K=k?H+1|0:H;M=K;J=c[z>>2]|0;a:do if(K>>>0<i>>>0){O=K;while(1){P=a[O>>0]|0;if(P<<24>>24<=-1){Q=O;break a}if(!(b[J+(P<<24>>24<<1)>>1]&2048)){Q=O;break a}P=O+1|0;if(P>>>0<i>>>0)O=P;else{Q=P;break}}}else Q=K;while(0);J=Q;if(A){O=-2-J-~(J>>>0>M>>>0?M:J)|0;J=F>>>0>O>>>0?F:O;if(Q>>>0>K>>>0&G){O=Q;P=r;while(1){O=O+-1|0;R=a[O>>0]|0;S=c[f>>2]|0;c[f>>2]=S+1;a[S>>0]=R;R=(P|0)>1;if(!(O>>>0>K>>>0&R)){T=R;break}else P=P+-1|0}}else T=G;P=E+J|0;O=Q+(J+1)|0;if(T)U=Pb[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;else U=0;M=c[f>>2]|0;c[f>>2]=M+1;if((P|0)>0){R=M;S=P;while(1){a[R>>0]=U;P=c[f>>2]|0;c[f>>2]=P+1;if((S|0)>1){R=P;S=S+-1|0}else{V=P;break}}}else V=M;a[V>>0]=m;W=O}else W=Q;if((W|0)!=(K|0)){S=a[o>>0]|0;R=(S&1)==0;if(!((R?(S&255)>>>1:c[B>>2]|0)|0))X=-1;else X=a[(R?D:c[C>>2]|0)>>0]|0;if((W|0)!=(K|0)){R=W;S=X;J=0;P=0;while(1){if((P|0)==(S|0)){Y=c[f>>2]|0;c[f>>2]=Y+1;a[Y>>0]=n;Y=J+1|0;Z=a[o>>0]|0;_=(Z&1)==0;if(Y>>>0<(_?(Z&255)>>>1:c[B>>2]|0)>>>0){Z=a[(_?D:c[C>>2]|0)+Y>>0]|0;$=Z<<24>>24==127?-1:Z<<24>>24;aa=Y;ba=0}else{$=P;aa=Y;ba=0}}else{$=S;aa=J;ba=P}R=R+-1|0;Y=a[R>>0]|0;Z=c[f>>2]|0;c[f>>2]=Z+1;a[Z>>0]=Y;if((R|0)==(K|0))break;else{S=$;J=aa;P=ba+1|0}}}}else{P=Pb[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;J=c[f>>2]|0;c[f>>2]=J+1;a[J>>0]=P}P=c[f>>2]|0;if((L|0)!=(P|0)?(J=P+-1|0,L>>>0<J>>>0):0){P=L;S=J;do{J=a[P>>0]|0;a[P>>0]=a[S>>0]|0;a[S>>0]=J;P=P+1|0;S=S+-1|0}while(P>>>0<S>>>0);I=K}else I=K;break}default:I=H}h=h+1|0;if((h|0)==4)break;else H=I}I=a[q>>0]|0;q=(I&1)==0;H=q?(I&255)>>>1:c[s>>2]|0;if(H>>>0>1){s=q?u:c[t>>2]|0;t=s+H|0;u=c[f>>2]|0;if((H|0)==1)ca=u;else{H=u;u=s+1|0;while(1){a[H>>0]=a[u>>0]|0;s=H+1|0;u=u+1|0;if((u|0)==(t|0)){ca=s;break}else H=s}}c[f>>2]=ca}switch(g&176|0){case 32:{c[e>>2]=c[f>>2];break}case 16:break;default:c[e>>2]=d}return}function it(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,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;b=i;i=i+176|0;j=b+56|0;k=b+52|0;l=b+64|0;m=b+61|0;n=b+60|0;o=b+40|0;p=b+28|0;q=b+16|0;r=b+12|0;s=b+68|0;t=b+8|0;u=b+4|0;v=b;w=oo(f)|0;c[k>>2]=w;x=Lt(k,12376)|0;y=a[h>>0]|0;z=(y&1)==0;A=h+4|0;if(!((z?(y&255)>>>1:c[A>>2]|0)|0))B=0;else{y=a[(z?h+1|0:c[h+8>>2]|0)>>0]|0;B=y<<24>>24==(Pb[c[(c[x>>2]|0)+28>>2]&63](x,45)|0)<<24>>24}c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;gt(e,B,k,l,m,n,o,p,q,r);e=a[h>>0]|0;y=c[A>>2]|0;A=(e&1)==0?(e&255)>>>1:y;z=c[r>>2]|0;if((A|0)>(z|0)){r=a[q>>0]|0;C=a[p>>0]|0;D=(A-z<<1|1)+z+((r&1)==0?(r&255)>>>1:c[q+4>>2]|0)+((C&1)==0?(C&255)>>>1:c[p+4>>2]|0)|0}else{C=a[q>>0]|0;r=a[p>>0]|0;D=z+2+((C&1)==0?(C&255)>>>1:c[q+4>>2]|0)+((r&1)==0?(r&255)>>>1:c[p+4>>2]|0)|0}if(D>>>0>100){r=Lm(D)|0;if(!r)Tk();else{E=r;F=r}}else{E=0;F=s}s=(e&1)==0;r=s?h+1|0:c[h+8>>2]|0;ht(F,t,u,c[f+4>>2]|0,r,r+(s?(e&255)>>>1:y)|0,x,B,l,a[m>>0]|0,a[n>>0]|0,o,p,q,z);c[v>>2]=c[d>>2];d=c[t>>2]|0;t=c[u>>2]|0;c[j>>2]=c[v>>2];v=we(j,F,d,t,f,g)|0;if(!E)G=w;else{Mm(E);G=c[k>>2]|0}In(q);In(p);In(o);wn(G)|0;i=b;return v|0}function jt(a){a=a|0;return}function kt(a){a=a|0;gk(a);return}function lt(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var k=0,l=0,m=0,n=0,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;b=i;i=i+992|0;k=b+8|0;l=b;m=b+888|0;n=b+880|0;o=b+480|0;p=b+76|0;q=b+884|0;r=b+72|0;s=b+68|0;t=b+56|0;u=b+44|0;v=b+32|0;w=b+28|0;x=b+80|0;y=b+24|0;z=b+20|0;A=b+16|0;c[n>>2]=m;h[k>>3]=j;B=cm(m,100,32549,k)|0;if(B>>>0>99){m=$p()|0;h[l>>3]=j;C=Tv(n,m,32549,l)|0;l=c[n>>2]|0;if(!l)Tk();m=Lm(C<<2)|0;if(!m)Tk();else{D=m;E=l;F=m;G=C}}else{D=0;E=0;F=o;G=B}B=oo(f)|0;c[p>>2]=B;o=Lt(p,12368)|0;C=c[n>>2]|0;Nb[c[(c[o>>2]|0)+48>>2]&15](o,C,C+G|0,F)|0;if(!G)H=0;else H=(a[c[n>>2]>>0]|0)==45;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;mt(e,H,p,q,r,s,t,u,v,w);e=c[w>>2]|0;if((G|0)>(e|0)){w=a[v>>0]|0;n=a[u>>0]|0;I=(G-e<<1|1)+e+((w&1)==0?(w&255)>>>1:c[v+4>>2]|0)+((n&1)==0?(n&255)>>>1:c[u+4>>2]|0)|0}else{n=a[v>>0]|0;w=a[u>>0]|0;I=e+2+((n&1)==0?(n&255)>>>1:c[v+4>>2]|0)+((w&1)==0?(w&255)>>>1:c[u+4>>2]|0)|0}if(I>>>0>100){w=Lm(I<<2)|0;if(!w)Tk();else{J=w;K=w}}else{J=0;K=x}nt(K,y,z,c[f+4>>2]|0,F,F+(G<<2)|0,o,H,q,c[r>>2]|0,c[s>>2]|0,t,u,v,e);c[A>>2]=c[d>>2];d=c[y>>2]|0;y=c[z>>2]|0;c[k>>2]=c[A>>2];A=Uv(k,K,d,y,f,g)|0;if(!J)L=B;else{Mm(J);L=c[p>>2]|0}$n(v);$n(u);In(t);wn(L)|0;if(D)Mm(D);if(E)Mm(E);i=b;return A|0}function mt(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,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;n=i;i=i+112|0;o=n+108|0;p=n+96|0;q=n+92|0;r=n+80|0;s=n+68|0;t=n+56|0;u=n+52|0;v=n+40|0;w=n+36|0;x=n+24|0;y=n+12|0;z=n;if(b){b=Lt(e,12112)|0;A=c[b>>2]|0;if(d){Fb[c[A+44>>2]&127](o,b);B=c[o>>2]|0;a[f>>0]=B;a[f+1>>0]=B>>8;a[f+2>>0]=B>>16;a[f+3>>0]=B>>24;Fb[c[(c[b>>2]|0)+32>>2]&127](p,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;co(l,0);c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;$n(p)}else{Fb[c[A+40>>2]&127](q,b);A=c[q>>2]|0;a[f>>0]=A;a[f+1>>0]=A>>8;a[f+2>>0]=A>>16;a[f+3>>0]=A>>24;Fb[c[(c[b>>2]|0)+28>>2]&127](r,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;co(l,0);c[l>>2]=c[r>>2];c[l+4>>2]=c[r+4>>2];c[l+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;$n(r)}c[g>>2]=Hb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[h>>2]=Hb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Fb[c[(c[b>>2]|0)+20>>2]&127](s,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}On(j,0);c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;In(s);Fb[c[(c[b>>2]|0)+24>>2]&127](t,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;co(k,0);c[k>>2]=c[t>>2];c[k+4>>2]=c[t+4>>2];c[k+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;$n(t);C=Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0}else{b=Lt(e,12048)|0;e=c[b>>2]|0;if(d){Fb[c[e+44>>2]&127](u,b);d=c[u>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Fb[c[(c[b>>2]|0)+32>>2]&127](v,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;co(l,0);c[l>>2]=c[v>>2];c[l+4>>2]=c[v+4>>2];c[l+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;$n(v)}else{Fb[c[e+40>>2]&127](w,b);e=c[w>>2]|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;Fb[c[(c[b>>2]|0)+28>>2]&127](x,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;co(l,0);c[l>>2]=c[x>>2];c[l+4>>2]=c[x+4>>2];c[l+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;$n(x)}c[g>>2]=Hb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[h>>2]=Hb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Fb[c[(c[b>>2]|0)+20>>2]&127](y,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}On(j,0);c[j>>2]=c[y>>2];c[j+4>>2]=c[y+4>>2];c[j+8>>2]=c[y+8>>2];c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;In(y);Fb[c[(c[b>>2]|0)+24>>2]&127](z,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;co(k,0);c[k>>2]=c[z>>2];c[k+4>>2]=c[z+4>>2];c[k+8>>2]=c[z+8>>2];c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;$n(z);C=Hb[c[(c[b>>2]|0)+36>>2]&127](b)|0}c[m>>2]=C;i=n;return}function nt(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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;c[e>>2]=b;r=p+4|0;s=p+8|0;t=o+4|0;u=(f&512|0)==0;v=o+8|0;w=(q|0)>0;x=n+4|0;y=n+8|0;z=n+1|0;A=(q|0)>0;B=g;g=0;while(1){switch(a[k+g>>0]|0){case 0:{c[d>>2]=c[e>>2];C=B;break}case 1:{c[d>>2]=c[e>>2];D=Pb[c[(c[i>>2]|0)+44>>2]&63](i,32)|0;E=c[e>>2]|0;c[e>>2]=E+4;c[E>>2]=D;C=B;break}case 3:{D=a[p>>0]|0;E=(D&1)==0;if(!((E?(D&255)>>>1:c[r>>2]|0)|0))C=B;else{D=c[(E?r:c[s>>2]|0)>>2]|0;E=c[e>>2]|0;c[e>>2]=E+4;c[E>>2]=D;C=B}break}case 2:{D=a[o>>0]|0;E=(D&1)==0;F=E?(D&255)>>>1:c[t>>2]|0;if(u|(F|0)==0)C=B;else{D=E?t:c[v>>2]|0;E=D+(F<<2)|0;G=c[e>>2]|0;if(F){H=G;I=D;while(1){c[H>>2]=c[I>>2];I=I+4|0;if((I|0)==(E|0))break;else H=H+4|0}}c[e>>2]=G+(F<<2);C=B}break}case 4:{H=c[e>>2]|0;E=j?B+4|0:B;a:do if(E>>>0<h>>>0){I=E;while(1){if(!(yb[c[(c[i>>2]|0)+12>>2]&31](i,2048,c[I>>2]|0)|0)){J=I;break a}D=I+4|0;if(D>>>0<h>>>0)I=D;else{J=D;break}}}else J=E;while(0);if(w){if(J>>>0>E>>>0&A){F=c[e>>2]|0;G=J;I=q;while(1){D=G+-4|0;K=F+4|0;c[F>>2]=c[D>>2];L=I+-1|0;M=(I|0)>1;if(D>>>0>E>>>0&M){F=K;G=D;I=L}else{N=D;O=L;P=M;Q=K;break}}c[e>>2]=Q;R=P;S=N;T=O}else{R=A;S=J;T=q}if(R)U=Pb[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;else U=0;I=c[e>>2]|0;G=T+((T|0)<0?~T:-1)|0;if((T|0)>0){F=I;K=T;while(1){c[F>>2]=U;if((K|0)>1){F=F+4|0;K=K+-1|0}else break}}c[e>>2]=I+(G+2<<2);c[I+(G+1<<2)>>2]=l;V=S}else V=J;if((V|0)==(E|0)){K=Pb[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;F=c[e>>2]|0;M=F+4|0;c[e>>2]=M;c[F>>2]=K;W=M}else{M=a[n>>0]|0;K=(M&1)==0;F=c[x>>2]|0;if(!((K?(M&255)>>>1:F)|0))X=-1;else X=a[(K?z:c[y>>2]|0)>>0]|0;if((V|0)!=(E|0)){K=V;M=X;L=0;D=0;while(1){Y=c[e>>2]|0;if((D|0)==(M|0)){Z=Y+4|0;c[e>>2]=Z;c[Y>>2]=m;_=L+1|0;$=a[n>>0]|0;aa=($&1)==0;if(_>>>0<(aa?($&255)>>>1:F)>>>0){$=a[(aa?z:c[y>>2]|0)+_>>0]|0;ba=Z;ca=$<<24>>24==127?-1:$<<24>>24;da=_;ea=0}else{ba=Z;ca=D;da=_;ea=0}}else{ba=Y;ca=M;da=L;ea=D}K=K+-4|0;Y=c[K>>2]|0;c[e>>2]=ba+4;c[ba>>2]=Y;if((K|0)==(E|0))break;else{M=ca;L=da;D=ea+1|0}}}W=c[e>>2]|0}if((H|0)!=(W|0)?(D=W+-4|0,H>>>0<D>>>0):0){L=H;M=D;do{D=c[L>>2]|0;c[L>>2]=c[M>>2];c[M>>2]=D;L=L+4|0;M=M+-4|0}while(L>>>0<M>>>0);C=E}else C=E;break}default:C=B}g=g+1|0;if((g|0)==4)break;else B=C}C=a[p>>0]|0;p=(C&1)==0;B=p?(C&255)>>>1:c[r>>2]|0;if(B>>>0>1){C=p?r:c[s>>2]|0;s=C+4|0;r=C+(B<<2)|0;C=c[e>>2]|0;p=r-s|0;if((B|0)!=1){B=C;g=s;while(1){c[B>>2]=c[g>>2];g=g+4|0;if((g|0)==(r|0))break;else B=B+4|0}}c[e>>2]=C+(p>>>2<<2)}switch(f&176|0){case 32:{c[d>>2]=c[e>>2];break}case 16:break;default:c[d>>2]=b}return}function ot(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,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=i;i=i+480|0;j=b+468|0;k=b+464|0;l=b+472|0;m=b+56|0;n=b+52|0;o=b+40|0;p=b+28|0;q=b+16|0;r=b+12|0;s=b+64|0;t=b+8|0;u=b+4|0;v=b;w=oo(f)|0;c[k>>2]=w;x=Lt(k,12368)|0;y=a[h>>0]|0;z=(y&1)==0;A=h+4|0;if(!((z?(y&255)>>>1:c[A>>2]|0)|0))B=0;else{y=c[(z?A:c[h+8>>2]|0)>>2]|0;B=(y|0)==(Pb[c[(c[x>>2]|0)+44>>2]&63](x,45)|0)}c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;mt(e,B,k,l,m,n,o,p,q,r);e=a[h>>0]|0;y=c[A>>2]|0;z=(e&1)==0?(e&255)>>>1:y;C=c[r>>2]|0;if((z|0)>(C|0)){r=a[q>>0]|0;D=a[p>>0]|0;E=(z-C<<1|1)+C+((r&1)==0?(r&255)>>>1:c[q+4>>2]|0)+((D&1)==0?(D&255)>>>1:c[p+4>>2]|0)|0}else{D=a[q>>0]|0;r=a[p>>0]|0;E=C+2+((D&1)==0?(D&255)>>>1:c[q+4>>2]|0)+((r&1)==0?(r&255)>>>1:c[p+4>>2]|0)|0}if(E>>>0>100){r=Lm(E<<2)|0;if(!r)Tk();else{F=r;G=r}}else{F=0;G=s}s=(e&1)==0;r=s?A:c[h+8>>2]|0;nt(G,t,u,c[f+4>>2]|0,r,r+((s?(e&255)>>>1:y)<<2)|0,x,B,l,c[m>>2]|0,c[n>>2]|0,o,p,q,C);c[v>>2]=c[d>>2];d=c[t>>2]|0;t=c[u>>2]|0;c[j>>2]=c[v>>2];v=Uv(j,G,d,t,f,g)|0;if(!F)H=w;else{Mm(F);H=c[k>>2]|0}$n(q);$n(p);In(o);wn(H)|0;i=b;return v|0}function pt(a){a=a|0;return}function qt(a){a=a|0;gk(a);return}function rt(b,d,e){b=b|0;d=d|0;e=e|0;e=nl((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function st(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;d=i;i=i+16|0;j=d;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;k=a[h>>0]|0;l=(k&1)==0;m=l?h+1|0:c[h+8>>2]|0;n=l?(k&255)>>>1:c[h+4>>2]|0;h=m+n|0;if((n|0)>0){n=m;do{Qn(j,a[n>>0]|0);n=n+1|0}while(n>>>0<h>>>0)}h=ml((e|0)==-1?-1:e<<1,f,g,(a[j>>0]&1)==0?j+1|0:c[j+8>>2]|0)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g=um(h)|0;f=h+g|0;if((g|0)>0){g=h;do{Qn(b,a[g>>0]|0);g=g+1|0}while(g>>>0<f>>>0)}In(j);i=d;return}function tt(a,b){a=a|0;b=b|0;return}function ut(a){a=a|0;return}function vt(a){a=a|0;gk(a);return}function wt(b,d,e){b=b|0;d=d|0;e=e|0;e=nl((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function xt(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=i;i=i+176|0;j=d+168|0;k=d+40|0;l=d+32|0;m=d+28|0;n=d+16|0;o=d+8|0;p=d;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[o+4>>2]=0;c[o>>2]=12852;q=a[h>>0]|0;r=(q&1)==0;s=h+4|0;t=r?s:c[h+8>>2]|0;h=r?(q&255)>>>1:c[s>>2]|0;s=t+(h<<2)|0;q=k+32|0;if((h|0)>0){h=t;do{c[m>>2]=h;t=Mb[c[(c[o>>2]|0)+12>>2]&15](o,j,h,s,m,k,q,l)|0;if(k>>>0<(c[l>>2]|0)>>>0){r=k;do{Qn(n,a[r>>0]|0);r=r+1|0}while(r>>>0<(c[l>>2]|0)>>>0)}h=c[m>>2]|0}while((t|0)!=2&h>>>0<s>>>0)}s=ml((e|0)==-1?-1:e<<1,f,g,(a[n>>0]&1)==0?n+1|0:c[n+8>>2]|0)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[p+4>>2]=0;c[p>>2]=12900;g=um(s)|0;f=s+g|0;e=f;h=k+128|0;if((g|0)>0){g=s;do{c[m>>2]=g;s=Mb[c[(c[p>>2]|0)+16>>2]&15](p,j,g,(e-g|0)>32?g+32|0:f,m,k,h,l)|0;if(k>>>0<(c[l>>2]|0)>>>0){q=k;do{eo(b,c[q>>2]|0);q=q+4|0}while(q>>>0<(c[l>>2]|0)>>>0)}g=c[m>>2]|0}while((s|0)!=2&g>>>0<f>>>0)}In(n);i=d;return}function yt(a,b){a=a|0;b=b|0;return}function zt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;c[a+4>>2]=b+-1;c[a>>2]=12352;b=a+8|0;aw(b,28);Fn(a+144|0,32453,1);d=c[b>>2]|0;b=a+12|0;e=c[b>>2]|0;if((e|0)!=(d|0)){f=e;while(1){e=f+-4|0;if((e|0)==(d|0)){g=e;break}else f=e}c[b>>2]=g}c[509]=0;c[508]=11280;bw(a,2032);c[511]=0;c[510]=11320;cw(a,2040);au(2048,0,0,1);dw(a,2048);c[517]=0;c[516]=12640;ew(a,2064);c[519]=0;c[518]=12708;fw(a,2072);c[521]=0;c[520]=12460;c[522]=$p()|0;gw(a,2080);c[525]=0;c[524]=12756;hw(a,2096);c[527]=0;c[526]=12804;iw(a,2104);Tu(2112,1);jw(a,2112);Uu(2136,1);kw(a,2136);c[543]=0;c[542]=11360;lw(a,2168);c[545]=0;c[544]=11432;mw(a,2176);c[547]=0;c[546]=11504;nw(a,2184);c[549]=0;c[548]=11564;ow(a,2192);c[551]=0;c[550]=11872;pw(a,2200);c[553]=0;c[552]=11936;qw(a,2208);c[555]=0;c[554]=12e3;rw(a,2216);c[557]=0;c[556]=12064;sw(a,2224);c[559]=0;c[558]=12128;tw(a,2232);c[561]=0;c[560]=12164;uw(a,2240);c[563]=0;c[562]=12200;vw(a,2248);c[565]=0;c[564]=12236;ww(a,2256);c[567]=0;c[566]=11624;c[568]=11672;xw(a,2264);c[571]=0;c[570]=11716;c[572]=11764;yw(a,2280);c[575]=0;c[574]=12620;c[576]=$p()|0;c[574]=11808;zw(a,2296);c[579]=0;c[578]=12620;c[580]=$p()|0;c[578]=11840;Aw(a,2312);c[583]=0;c[582]=12272;Bw(a,2328);c[585]=0;c[584]=12312;Cw(a,2336);return}function At(){if((a[2344]|0)==0?(Fa(2344)|0)!=0:0){Et()|0;c[3285]=13136;Ma(2344)}return c[3285]|0}function Bt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;vn(b);e=a+8|0;f=c[e>>2]|0;if((c[a+12>>2]|0)-f>>2>>>0>d>>>0)g=f;else{Dw(e,d+1|0);g=c[e>>2]|0}f=c[g+(d<<2)>>2]|0;if(!f)h=g;else{wn(f)|0;h=c[e>>2]|0}c[h+(d<<2)>>2]=b;return}function Ct(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=12352;b=a+8|0;d=a+12|0;e=c[b>>2]|0;if((c[d>>2]|0)!=(e|0)){f=e;e=0;do{g=c[f+(e<<2)>>2]|0;if(g)wn(g)|0;e=e+1|0;f=c[b>>2]|0}while(e>>>0<(c[d>>2]|0)-f>>2>>>0)}In(a+144|0);Ew(b);return}function Dt(a){a=a|0;Ct(a);gk(a);return}function Et(){zt(2352,1);c[3284]=2352;return 13136}function Ft(){var a=0;a=c[(At()|0)>>2]|0;c[3286]=a;vn(a);return 13144}function Gt(){if((a[2512]|0)==0?(Fa(2512)|0)!=0:0){Ft()|0;c[3287]=13144;Ma(2512)}return c[3287]|0}function Ht(a){a=a|0;var b=0;b=c[(Gt()|0)>>2]|0;c[a>>2]=b;vn(b);return}function It(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=d;vn(d);return}function Jt(a){a=a|0;wn(c[a>>2]|0)|0;return}function Kt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;if((c[a>>2]|0)!=-1){c[d>>2]=a;c[d+4>>2]=193;c[d+8>>2]=0;Dn(a,d,194)}i=b;return (c[a+4>>2]|0)+-1|0}function Lt(a,b){a=a|0;b=b|0;var d=0;d=c[a>>2]|0;a=Kt(b)|0;return c[(c[d+8>>2]|0)+(a<<2)>>2]|0}function Mt(a){a=a|0;gk(a);return}function Nt(a){a=a|0;if(a)Eb[c[(c[a>>2]|0)+4>>2]&255](a);return}function Ot(a){a=a|0;var b=0;b=c[3091]|0;c[3091]=b+1;c[a+4>>2]=b+1;return}function Pt(a){a=a|0;gk(a);return}function Qt(a,d,e){a=a|0;d=d|0;e=e|0;var f=0;if(e>>>0<128)f=(b[(c[($k()|0)>>2]|0)+(e<<1)>>1]&d)<<16>>16!=0;else f=0;return f|0}function Rt(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0;a=(f-d|0)>>>2;if((d|0)!=(f|0)){h=d;i=g;while(1){g=c[h>>2]|0;if(g>>>0<128)j=e[(c[($k()|0)>>2]|0)+(g<<1)>>1]|0;else j=0;b[i>>1]=j;h=h+4|0;if((h|0)==(f|0))break;else i=i+2|0}}return d+(a<<2)|0}function St(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if((e|0)==(f|0))g=f;else{a=e;while(1){h=c[a>>2]|0;if(h>>>0<128?(b[(c[($k()|0)>>2]|0)+(h<<1)>>1]&d)<<16>>16!=0:0){g=a;break a}a=a+4|0;if((a|0)==(f|0)){g=f;break}}}while(0);return g|0}function Tt(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if((e|0)==(f|0))g=f;else{a=e;while(1){h=c[a>>2]|0;if(h>>>0>=128){g=a;break a}if(!((b[(c[($k()|0)>>2]|0)+(h<<1)>>1]&d)<<16>>16)){g=a;break a}a=a+4|0;if((a|0)==(f|0)){g=f;break}}}while(0);return g|0}function Ut(a,b){a=a|0;b=b|0;var d=0;if(b>>>0<128)d=c[(c[(bl()|0)>>2]|0)+(b<<2)>>2]|0;else d=b;return d|0}function Vt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;a=(d-b|0)>>>2;if((b|0)!=(d|0)){e=b;do{f=c[e>>2]|0;if(f>>>0<128)g=c[(c[(bl()|0)>>2]|0)+(f<<2)>>2]|0;else g=f;c[e>>2]=g;e=e+4|0}while((e|0)!=(d|0))}return b+(a<<2)|0}function Wt(a,b){a=a|0;b=b|0;var d=0;if(b>>>0<128)d=c[(c[(al()|0)>>2]|0)+(b<<2)>>2]|0;else d=b;return d|0}function Xt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;a=(d-b|0)>>>2;if((b|0)!=(d|0)){e=b;do{f=c[e>>2]|0;if(f>>>0<128)g=c[(c[(al()|0)>>2]|0)+(f<<2)>>2]|0;else g=f;c[e>>2]=g;e=e+4|0}while((e|0)!=(d|0))}return b+(a<<2)|0}function Yt(a,b){a=a|0;b=b|0;return b<<24>>24|0}function Zt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if((d|0)!=(e|0)){b=d;d=f;while(1){c[d>>2]=a[b>>0];b=b+1|0;if((b|0)==(e|0))break;else d=d+4|0}}return e|0}function _t(a,b,c){a=a|0;b=b|0;c=c|0;return (b>>>0<128?b&255:c)|0}function $t(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;b=(e-d|0)>>>2;if((d|0)!=(e|0)){h=d;i=g;while(1){g=c[h>>2]|0;a[i>>0]=g>>>0<128?g&255:f;h=h+4|0;if((h|0)==(e|0))break;else i=i+1|0}}return d+(b<<2)|0}function au(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;c[b+4>>2]=f+-1;c[b>>2]=12392;f=b+8|0;c[f>>2]=d;a[b+12>>0]=e&1;if(!d)c[f>>2]=c[($k()|0)>>2];return}function bu(b){b=b|0;var d=0;c[b>>2]=12392;d=c[b+8>>2]|0;if((d|0)!=0?(a[b+12>>0]|0)!=0:0)hk(d);return}function cu(a){a=a|0;bu(a);gk(a);return}function du(a,b){a=a|0;b=b|0;var d=0;if(b<<24>>24>-1)d=c[(c[(bl()|0)>>2]|0)+((b&255)<<2)>>2]&255;else d=b;return d|0}function eu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((d|0)!=(e|0)){b=d;do{d=a[b>>0]|0;if(d<<24>>24>-1)f=c[(c[(bl()|0)>>2]|0)+(d<<24>>24<<2)>>2]&255;else f=d;a[b>>0]=f;b=b+1|0}while((b|0)!=(e|0))}return e|0}function fu(a,b){a=a|0;b=b|0;var d=0;if(b<<24>>24>-1)d=c[(c[(al()|0)>>2]|0)+(b<<24>>24<<2)>>2]&255;else d=b;return d|0}function gu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((d|0)!=(e|0)){b=d;do{d=a[b>>0]|0;if(d<<24>>24>-1)f=c[(c[(al()|0)>>2]|0)+(d<<24>>24<<2)>>2]&255;else f=d;a[b>>0]=f;b=b+1|0}while((b|0)!=(e|0))}return e|0}function hu(a,b){a=a|0;b=b|0;return b|0}function iu(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;if((c|0)!=(d|0)){b=c;c=e;while(1){a[c>>0]=a[b>>0]|0;b=b+1|0;if((b|0)==(d|0))break;else c=c+1|0}}return d|0}function ju(a,b,c){a=a|0;b=b|0;c=c|0;return (b<<24>>24>-1?b:c)|0}function ku(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((c|0)!=(d|0)){b=c;c=f;while(1){f=a[b>>0]|0;a[c>>0]=f<<24>>24>-1?f:e;b=b+1|0;if((b|0)==(d|0))break;else c=c+1|0}}return d|0}function lu(a){a=a|0;gk(a);return}function mu(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function nu(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function ou(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function pu(a){a=a|0;return 1}function qu(a){a=a|0;return 1}function ru(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;b=d-c|0;return (b>>>0<e>>>0?b:e)|0}function su(a){a=a|0;return 1}function tu(a){a=a|0;wv(a);gk(a);return} function _d(b,d,e){b=b|0;d=d|0;e=e|0;var 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;f=b+4|0;b=c[f>>2]|0;if(!b){c[d>>2]=f;g=f;return g|0}f=a[e>>0]|0;h=(f&1)==0;i=h?(f&255)>>>1:c[e+4>>2]|0;f=h?e+1|0:c[e+8>>2]|0;e=b;while(1){b=e+16|0;h=a[b>>0]|0;j=(h&1)==0;k=j?(h&255)>>>1:c[e+20>>2]|0;h=j?b+1|0:c[e+24>>2]|0;b=k>>>0<i>>>0;j=rm(f,h,b?k:i)|0;l=i>>>0<k>>>0;if((((j|0)==0?(l?-2147483648:0):j)|0)<0){j=c[e>>2]|0;if(!j){m=e;n=e;o=5;break}else p=j}else{j=rm(h,f,l?i:k)|0;if((((j|0)==0?(b?-2147483648:0):j)|0)>=0){q=e;o=10;break}j=e+4|0;b=c[j>>2]|0;if(!b){r=j;s=e;o=9;break}else p=b}e=p}if((o|0)==5){c[d>>2]=n;g=m;return g|0}else if((o|0)==9){c[d>>2]=s;g=r;return g|0}else if((o|0)==10){c[d>>2]=q;g=d;return g|0}return 0}function $d(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=i;i=i+176|0;h=g+120|0;j=g+88|0;k=g+72|0;l=g+128|0;m=g+60|0;n=g+24|0;o=g+16|0;p=g;Fn(j,17284,6);c[j+12>>2]=1;Fn(j+16|0,18166,13);c[j+28>>2]=5;c[h>>2]=j;c[h+4>>2]=2;q=li(d,h,f)|0;In(j+16|0);In(j);if(!q){c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;q=a[f>>0]|0;j=f+4|0;h=(q&1)==0?(q&255)>>>1:c[j>>2]|0;Yn(k,18180,33,h+33|0);q=f+8|0;r=f+1|0;Rn(k,(a[f>>0]&1)==0?r:c[q>>2]|0,h)|0;if(!(a[f>>0]&1)){a[r>>0]=0;a[f>>0]=0}else{a[c[q>>2]>>0]=0;c[j>>2]=0}On(f,0);c[f>>2]=c[k>>2];c[f+4>>2]=c[k+4>>2];c[f+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;In(k);c[b+20>>2]=0;c[b+24>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=b+20;k=b+28|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;i=g;return}k=l+16|0;c[l+20>>2]=0;j=l+24|0;c[j>>2]=0;q=l+20|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[k>>2]=q;r=l+28|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;h=c[(c[e>>2]|0)+12>>2]|0;Fn(m,17284,6);s=Xh($h(d,m)|0)|0;c[l>>2]=Pb[h&63](e,s)|0;In(m);m=l+4|0;Fn(p,18166,13);s=$h(d,p)|0;c[o>>2]=c[s>>2];d=o+4|0;e=c[s+4>>2]|0;c[d>>2]=e;if(e)xn(e);ae(n,o,f);c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];o=n+12|0;uc(k,c[q>>2]|0);c[k>>2]=c[o>>2];e=n+16|0;s=c[e>>2]|0;c[q>>2]=s;h=n+20|0;t=c[h>>2]|0;c[j>>2]=t;if(!t)c[k>>2]=q;else{c[s+8>>2]=q;c[o>>2]=e;c[e>>2]=0;c[h>>2]=0}h=n+24|0;if(!(a[r>>0]&1)){a[r+1>>0]=0;a[r>>0]=0}else{a[c[l+36>>2]>>0]=0;c[l+32>>2]=0}On(r,0);c[r>>2]=c[h>>2];c[r+4>>2]=c[h+4>>2];c[r+8>>2]=c[h+8>>2];c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;In(h);uc(n+12|0,c[e>>2]|0);e=c[d>>2]|0;if(e)yn(e);In(p);if(!(Xn(f,32466)|0)){f=c[l>>2]|0;c[b>>2]=f;p=b+4|0;c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];m=b+16|0;c[m>>2]=c[k>>2];p=c[l+20>>2]|0;c[b+20>>2]=p;e=c[j>>2]|0;c[b+24>>2]=e;d=b+20|0;if(!e)c[m>>2]=d;else{c[p+8>>2]=d;c[k>>2]=q;c[q>>2]=0;c[j>>2]=0}j=b+28|0;c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[b>>2]=f}else{c[b+20>>2]=0;c[b+24>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=b+20;f=b+28|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0}In(r);uc(l+16|0,c[q>>2]|0);i=g;return}function ae(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0;f=i;i=i+304|0;h=f+288|0;j=f+232|0;k=f+220|0;l=f+208|0;m=f+200|0;n=f+168|0;o=f+156|0;p=f+144|0;q=f+132|0;r=f+120|0;s=f+108|0;t=f+96|0;u=f+248|0;v=f+84|0;w=f+72|0;x=f+60|0;y=f+48|0;z=f+36|0;A=f+24|0;B=f+12|0;C=f;Fn(j,18214,12);c[j+12>>2]=1;c[h>>2]=j;c[h+4>>2]=1;D=li(d,h,e)|0;In(j);if(!D){c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;D=a[e>>0]|0;j=e+4|0;h=(D&1)==0?(D&255)>>>1:c[j>>2]|0;Yn(k,18227,32,h+32|0);D=e+8|0;E=e+1|0;Rn(k,(a[e>>0]&1)==0?E:c[D>>2]|0,h)|0;if(!(a[e>>0]&1)){a[E>>0]=0;a[e>>0]=0}else{a[c[D>>2]>>0]=0;c[j>>2]=0}On(e,0);c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;In(k);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+12>>2]=b+16;k=b+24|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;i=f;return}Fn(l,17975,7);k=$h(d,l)|0;Fn(n,17956,8);c[n+12>>2]=1;Fn(n+16|0,17965,9);c[n+28>>2]=1;c[m>>2]=n;c[m+4>>2]=2;j=li(k,m,e)|0;In(n+16|0);In(n);In(l);if(!j){c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;j=a[e>>0]|0;l=e+4|0;n=(j&1)==0?(j&255)>>>1:c[l>>2]|0;Yn(o,18260,19,n+19|0);j=e+8|0;m=e+1|0;Rn(o,(a[e>>0]&1)==0?m:c[j>>2]|0,n)|0;if(!(a[e>>0]&1)){a[m>>0]=0;a[e>>0]=0}else{a[c[j>>2]>>0]=0;c[l>>2]=0}On(e,0);c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;In(o);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+12>>2]=b+16;o=b+24|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;i=f;return}Fn(p,18280,15);if(Vh($h(d,p)|0)|0){Fn(q,18280,15);o=(Vh($h(d,q)|0)|0)==5;In(q);In(p);if(!o){Kn(e,18296)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+12>>2]=b+16;o=b+24|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;i=f;return}}else In(p);Fn(r,18280,15);p=_h($h(d,r)|0)|0;In(r);r=c[p>>2]|0;o=p+4|0;a:do if((r|0)!=(o|0)){p=r;while(1){if((Vh(p+28|0)|0)!=1)break;q=c[p+4>>2]|0;if(!q){l=p;while(1){j=c[l+8>>2]|0;if((c[j>>2]|0)==(l|0)){F=j;break}else l=j}}else{l=q;while(1){j=c[l>>2]|0;if(!j){F=l;break}else l=j}}if((F|0)==(o|0))break a;else p=F}Kn(e,18333)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+12>>2]=b+16;p=b+24|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;i=f;return}while(0);Fn(s,18369,14);if(Vh($h(d,s)|0)|0){Fn(t,18369,14);F=(Vh($h(d,t)|0)|0)==3;In(t);In(s);if(!F){Kn(e,18384)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+12>>2]=b+16;e=b+24|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;i=f;return}}else In(s);c[u>>2]=0;s=u+4|0;c[s>>2]=0;e=u+8|0;c[e>>2]=0;F=u+12|0;c[u+16>>2]=0;t=u+20|0;c[t>>2]=0;o=u+16|0;c[F>>2]=o;r=u+24|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Fn(v,18214,12);c[u>>2]=~~+zl(+Wh($h(d,v)|0));In(v);Fn(w,17975,7);v=$h(d,w)|0;Fn(x,17956,8);c[s>>2]=~~+zl(+Wh($h(v,x)|0));In(x);In(w);Fn(y,17975,7);w=$h(d,y)|0;Fn(z,17965,9);c[e>>2]=~~+zl(+Wh($h(w,z)|0));In(z);In(y);Fn(A,18280,15);y=_h($h(d,A)|0)|0;In(A);A=c[y>>2]|0;z=y+4|0;if((A|0)!=(z|0)){y=A;while(1){G=+Wh(y+28|0);g[(vc(F,y+16|0)|0)>>2]=G;A=c[y+4>>2]|0;if(!A){w=y;while(1){e=c[w+8>>2]|0;if((c[e>>2]|0)==(w|0)){H=e;break}else w=e}}else{w=A;while(1){e=c[w>>2]|0;if(!e){H=w;break}else w=e}}if((H|0)==(z|0))break;else y=H}}Fn(B,18369,14);H=(Vh($h(d,B)|0)|0)==3;In(B);if(H){Fn(C,18369,14);Jn(r,Yh($h(d,C)|0)|0)|0;In(C)};c[b>>2]=c[u>>2];c[b+4>>2]=c[u+4>>2];c[b+8>>2]=c[u+8>>2];C=b+12|0;c[C>>2]=c[F>>2];d=c[u+16>>2]|0;c[b+16>>2]=d;H=c[t>>2]|0;c[b+20>>2]=H;B=b+16|0;if(!H)c[C>>2]=B;else{c[d+8>>2]=B;c[F>>2]=o;c[o>>2]=0;c[t>>2]=0}t=b+24|0;c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;In(r);uc(u+12|0,c[o>>2]|0);i=f;return}function be(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;e=i;i=i+96|0;f=e+80|0;g=e+68|0;h=e+56|0;j=e+48|0;k=e+32|0;l=e+24|0;m=e+8|0;n=e;o=g+4|0;c[o>>2]=0;p=g+8|0;c[p>>2]=0;q=g+4|0;c[g>>2]=q;Fn(h,17284,6);r=yd(g,f,h)|0;s=c[r>>2]|0;if(!s){t=ek(36)|0;u=t+16|0;c[u>>2]=c[h>>2];c[u+4>>2]=c[h+4>>2];c[u+8>>2]=c[h+8>>2];c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;Kh(t+28|0);u=c[f>>2]|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=u;c[r>>2]=t;u=c[c[g>>2]>>2]|0;if(!u)v=t;else{c[g>>2]=u;v=c[r>>2]|0}xc(c[o>>2]|0,v);c[p>>2]=(c[p>>2]|0)+1;w=t}else w=s;Lh(j,+((Pb[c[(c[d>>2]|0)+8>>2]&63](d,c[b>>2]|0)|0)>>>0));d=c[j>>2]|0;s=j+4|0;t=c[s>>2]|0;c[j>>2]=0;c[s>>2]=0;c[w+28>>2]=d;d=w+32|0;w=c[d>>2]|0;c[d>>2]=t;if(w)yn(w);w=c[s>>2]|0;if(w)yn(w);In(h);Fn(k,18444,10);h=yd(g,f,k)|0;w=c[h>>2]|0;if(!w){s=ek(36)|0;t=s+16|0;c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;Kh(s+28|0);t=c[f>>2]|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=t;c[h>>2]=s;t=c[c[g>>2]>>2]|0;if(!t)x=s;else{c[g>>2]=t;x=c[h>>2]|0}xc(c[o>>2]|0,x);c[p>>2]=(c[p>>2]|0)+1;y=s}else y=w;ce(l,b+4|0);w=c[l>>2]|0;s=l+4|0;x=c[s>>2]|0;c[l>>2]=0;c[s>>2]=0;c[y+28>>2]=w;w=y+32|0;y=c[w>>2]|0;c[w>>2]=x;if(y)yn(y);y=c[s>>2]|0;if(y)yn(y);In(k);Fn(m,18455,20);k=yd(g,f,m)|0;y=c[k>>2]|0;if(!y){s=ek(36)|0;x=s+16|0;c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];c[x+8>>2]=c[m+8>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;Kh(s+28|0);x=c[f>>2]|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=x;c[k>>2]=s;x=c[c[g>>2]>>2]|0;if(!x)z=s;else{c[g>>2]=x;z=c[k>>2]|0}xc(c[o>>2]|0,z);c[p>>2]=(c[p>>2]|0)+1;A=s}else A=y;de(n,b+140|0);b=c[n>>2]|0;y=n+4|0;s=c[y>>2]|0;c[n>>2]=0;c[y>>2]=0;c[A+28>>2]=b;b=A+32|0;A=c[b>>2]|0;c[b>>2]=s;if(A)yn(A);A=c[y>>2]|0;if(!A){In(m);Th(a,g);B=c[q>>2]|0;Bd(g,B);i=e;return}yn(A);In(m);Th(a,g);B=c[q>>2]|0;Bd(g,B);i=e;return}function ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,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,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;d=i;i=i+448|0;e=d+432|0;f=d+420|0;g=d+408|0;h=d+400|0;j=d+384|0;k=d+376|0;l=d+360|0;m=d+352|0;n=d+336|0;o=d+328|0;p=d+312|0;q=d+304|0;r=d+288|0;s=d+280|0;t=d+264|0;u=d+256|0;v=d+240|0;w=d+232|0;x=d+216|0;y=d+208|0;z=d+196|0;A=d+184|0;B=d+176|0;C=d+160|0;D=d+152|0;E=d+140|0;F=d+128|0;G=d+120|0;H=d+104|0;I=d+96|0;J=d+80|0;K=d+72|0;L=d+56|0;M=d+44|0;N=d+32|0;O=d+24|0;P=d+8|0;Q=d;R=f+4|0;c[R>>2]=0;S=f+8|0;c[S>>2]=0;T=f+4|0;c[f>>2]=T;Fn(g,18476,3);U=yd(f,e,g)|0;V=c[U>>2]|0;if(!V){W=ek(36)|0;X=W+16|0;c[X>>2]=c[g>>2];c[X+4>>2]=c[g+4>>2];c[X+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;Kh(W+28|0);X=c[e>>2]|0;c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=X;c[U>>2]=W;X=c[c[f>>2]>>2]|0;if(!X)Y=W;else{c[f>>2]=X;Y=c[U>>2]|0}xc(c[R>>2]|0,Y);c[S>>2]=(c[S>>2]|0)+1;Z=W}else Z=V;Oh(h,b);V=c[h>>2]|0;W=h+4|0;Y=c[W>>2]|0;c[h>>2]=0;c[W>>2]=0;c[Z+28>>2]=V;V=Z+32|0;Z=c[V>>2]|0;c[V>>2]=Y;if(Z)yn(Z);Z=c[W>>2]|0;if(Z)yn(Z);In(g);Fn(j,17983,5);g=yd(f,e,j)|0;Z=c[g>>2]|0;if(!Z){W=ek(36)|0;Y=W+16|0;c[Y>>2]=c[j>>2];c[Y+4>>2]=c[j+4>>2];c[Y+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;Kh(W+28|0);Y=c[e>>2]|0;c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=Y;c[g>>2]=W;Y=c[c[f>>2]>>2]|0;if(!Y)_=W;else{c[f>>2]=Y;_=c[g>>2]|0}xc(c[R>>2]|0,_);c[S>>2]=(c[S>>2]|0)+1;$=W}else $=Z;fe(k,b+12|0);Z=c[k>>2]|0;W=k+4|0;_=c[W>>2]|0;c[k>>2]=0;c[W>>2]=0;c[$+28>>2]=Z;Z=$+32|0;$=c[Z>>2]|0;c[Z>>2]=_;if($)yn($);$=c[W>>2]|0;if($)yn($);In(j);Fn(l,18480,5);j=yd(f,e,l)|0;$=c[j>>2]|0;if(!$){W=ek(36)|0;_=W+16|0;c[_>>2]=c[l>>2];c[_+4>>2]=c[l+4>>2];c[_+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;Kh(W+28|0);_=c[e>>2]|0;c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=_;c[j>>2]=W;_=c[c[f>>2]>>2]|0;if(!_)aa=W;else{c[f>>2]=_;aa=c[j>>2]|0}xc(c[R>>2]|0,aa);c[S>>2]=(c[S>>2]|0)+1;ba=W}else ba=$;Oh(m,b+48|0);$=c[m>>2]|0;W=m+4|0;aa=c[W>>2]|0;c[m>>2]=0;c[W>>2]=0;c[ba+28>>2]=$;$=ba+32|0;ba=c[$>>2]|0;c[$>>2]=aa;if(ba)yn(ba);ba=c[W>>2]|0;if(ba)yn(ba);In(l);Fn(n,18486,6);l=yd(f,e,n)|0;ba=c[l>>2]|0;if(!ba){W=ek(36)|0;aa=W+16|0;c[aa>>2]=c[n>>2];c[aa+4>>2]=c[n+4>>2];c[aa+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;Kh(W+28|0);aa=c[e>>2]|0;c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=aa;c[l>>2]=W;aa=c[c[f>>2]>>2]|0;if(!aa)ca=W;else{c[f>>2]=aa;ca=c[l>>2]|0}xc(c[R>>2]|0,ca);c[S>>2]=(c[S>>2]|0)+1;da=W}else da=ba;Oh(o,b+60|0);ba=c[o>>2]|0;W=o+4|0;ca=c[W>>2]|0;c[o>>2]=0;c[W>>2]=0;c[da+28>>2]=ba;ba=da+32|0;da=c[ba>>2]|0;c[ba>>2]=ca;if(da)yn(da);da=c[W>>2]|0;if(da)yn(da);In(n);Fn(p,18493,7);n=yd(f,e,p)|0;da=c[n>>2]|0;if(!da){W=ek(36)|0;ca=W+16|0;c[ca>>2]=c[p>>2];c[ca+4>>2]=c[p+4>>2];c[ca+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Kh(W+28|0);ca=c[e>>2]|0;c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=ca;c[n>>2]=W;ca=c[c[f>>2]>>2]|0;if(!ca)ea=W;else{c[f>>2]=ca;ea=c[n>>2]|0}xc(c[R>>2]|0,ea);c[S>>2]=(c[S>>2]|0)+1;fa=W}else fa=da;Mh(q,c[b+72>>2]|0);da=c[q>>2]|0;W=q+4|0;ea=c[W>>2]|0;c[q>>2]=0;c[W>>2]=0;c[fa+28>>2]=da;da=fa+32|0;fa=c[da>>2]|0;c[da>>2]=ea;if(fa)yn(fa);fa=c[W>>2]|0;if(fa)yn(fa);In(p);c[r>>2]=0;p=r+4|0;c[p>>2]=0;c[r+8>>2]=0;fa=c[b+76>>2]|0;W=c[b+80>>2]|0;if((fa|0)!=(W|0)){ea=r+8|0;da=s+4|0;q=fa;do{Oh(s,q);fa=c[p>>2]|0;do if(fa>>>0<(c[ea>>2]|0)>>>0){c[fa>>2]=c[s>>2];c[fa+4>>2]=c[da>>2];c[s>>2]=0;c[da>>2]=0;c[p>>2]=fa+8}else{Dd(r,s);n=c[da>>2]|0;if(!n)break;yn(n)}while(0);q=q+12|0}while((q|0)!=(W|0))}Fn(t,18501,8);W=yd(f,e,t)|0;q=c[W>>2]|0;if(!q){da=ek(36)|0;s=da+16|0;c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Kh(da+28|0);s=c[e>>2]|0;c[da>>2]=0;c[da+4>>2]=0;c[da+8>>2]=s;c[W>>2]=da;s=c[c[f>>2]>>2]|0;if(!s)ga=da;else{c[f>>2]=s;ga=c[W>>2]|0}xc(c[R>>2]|0,ga);c[S>>2]=(c[S>>2]|0)+1;ha=da}else ha=q;Rh(u,r);q=c[u>>2]|0;da=u+4|0;ga=c[da>>2]|0;c[u>>2]=0;c[da>>2]=0;c[ha+28>>2]=q;q=ha+32|0;ha=c[q>>2]|0;c[q>>2]=ga;if(ha)yn(ha);ha=c[da>>2]|0;if(ha)yn(ha);In(t);Fn(v,18510,15);t=yd(f,e,v)|0;ha=c[t>>2]|0;if(!ha){da=ek(36)|0;ga=da+16|0;c[ga>>2]=c[v>>2];c[ga+4>>2]=c[v+4>>2];c[ga+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Kh(da+28|0);ga=c[e>>2]|0;c[da>>2]=0;c[da+4>>2]=0;c[da+8>>2]=ga;c[t>>2]=da;ga=c[c[f>>2]>>2]|0;if(!ga)ia=da;else{c[f>>2]=ga;ia=c[t>>2]|0}xc(c[R>>2]|0,ia);c[S>>2]=(c[S>>2]|0)+1;ja=da}else ja=ha;Mh(w,c[b+88>>2]|0);ha=c[w>>2]|0;da=w+4|0;ia=c[da>>2]|0;c[w>>2]=0;c[da>>2]=0;c[ja+28>>2]=ha;ha=ja+32|0;ja=c[ha>>2]|0;c[ha>>2]=ia;if(ja)yn(ja);ja=c[da>>2]|0;if(ja)yn(ja);In(v);Fn(x,18526,15);v=yd(f,e,x)|0;ja=c[v>>2]|0;if(!ja){da=ek(36)|0;ia=da+16|0;c[ia>>2]=c[x>>2];c[ia+4>>2]=c[x+4>>2];c[ia+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Kh(da+28|0);ia=c[e>>2]|0;c[da>>2]=0;c[da+4>>2]=0;c[da+8>>2]=ia;c[v>>2]=da;ia=c[c[f>>2]>>2]|0;if(!ia)ka=da;else{c[f>>2]=ia;ka=c[v>>2]|0}xc(c[R>>2]|0,ka);c[S>>2]=(c[S>>2]|0)+1;la=da}else la=ja;Mh(y,c[b+92>>2]|0);ja=c[y>>2]|0;da=y+4|0;ka=c[da>>2]|0;c[y>>2]=0;c[da>>2]=0;c[la+28>>2]=ja;ja=la+32|0;la=c[ja>>2]|0;c[ja>>2]=ka;if(la)yn(la);la=c[da>>2]|0;if(la)yn(la);In(x);c[z>>2]=0;x=z+4|0;c[x>>2]=0;c[z+8>>2]=0;c[A>>2]=0;la=A+4|0;c[la>>2]=0;c[A+8>>2]=0;da=b+100|0;ka=c[da>>2]|0;ja=b+96|0;y=c[ja>>2]|0;v=ka-y|0;ia=(v|0)/80|0;do if((ka|0)!=(y|0)){if(ia>>>0>53687091)ck(A);ha=ek(v)|0;c[la>>2]=ha;c[A>>2]=ha;c[A+8>>2]=ha+(ia*80|0);w=c[ja>>2]|0;t=c[da>>2]|0;if((w|0)==(t|0))break;else{ma=w;na=ha}while(1){ge(na,ma);ha=c[la>>2]|0;w=ha+80|0;c[la>>2]=w;ma=ma+80|0;if((ma|0)==(t|0)){oa=ha;pa=w;break}else na=w}t=c[A>>2]|0;if((t|0)==(pa|0))break;w=z+8|0;ha=B+4|0;ga=t;while(1){he(B,ga);t=c[x>>2]|0;do if(t>>>0<(c[w>>2]|0)>>>0){c[t>>2]=c[B>>2];c[t+4>>2]=c[ha>>2];c[B>>2]=0;c[ha>>2]=0;c[x>>2]=t+8}else{Dd(z,B);q=c[ha>>2]|0;if(!q)break;yn(q)}while(0);if((ga|0)==(oa|0))break;else ga=ga+80|0}}while(0);Fn(C,18542,10);oa=yd(f,e,C)|0;B=c[oa>>2]|0;if(!B){pa=ek(36)|0;na=pa+16|0;c[na>>2]=c[C>>2];c[na+4>>2]=c[C+4>>2];c[na+8>>2]=c[C+8>>2];c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;Kh(pa+28|0);na=c[e>>2]|0;c[pa>>2]=0;c[pa+4>>2]=0;c[pa+8>>2]=na;c[oa>>2]=pa;na=c[c[f>>2]>>2]|0;if(!na)qa=pa;else{c[f>>2]=na;qa=c[oa>>2]|0}xc(c[R>>2]|0,qa);c[S>>2]=(c[S>>2]|0)+1;ra=pa}else ra=B;Rh(D,z);B=c[D>>2]|0;pa=D+4|0;qa=c[pa>>2]|0;c[D>>2]=0;c[pa>>2]=0;c[ra+28>>2]=B;B=ra+32|0;ra=c[B>>2]|0;c[B>>2]=qa;if(ra)yn(ra);ra=c[pa>>2]|0;if(ra)yn(ra);In(C);c[E>>2]=0;C=E+4|0;c[C>>2]=0;c[E+8>>2]=0;gd(F,b+108|0);ra=c[F>>2]|0;pa=F+4|0;qa=c[pa>>2]|0;if((ra|0)!=(qa|0)){B=E+8|0;D=G+4|0;oa=ra;do{Oh(G,oa);ra=c[C>>2]|0;do if(ra>>>0<(c[B>>2]|0)>>>0){c[ra>>2]=c[G>>2];c[ra+4>>2]=c[D>>2];c[G>>2]=0;c[D>>2]=0;c[C>>2]=ra+8}else{Dd(E,G);na=c[D>>2]|0;if(!na)break;yn(na)}while(0);oa=oa+12|0}while((oa|0)!=(qa|0))}Fn(H,18553,8);qa=yd(f,e,H)|0;oa=c[qa>>2]|0;if(!oa){D=ek(36)|0;G=D+16|0;c[G>>2]=c[H>>2];c[G+4>>2]=c[H+4>>2];c[G+8>>2]=c[H+8>>2];c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;Kh(D+28|0);G=c[e>>2]|0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=G;c[qa>>2]=D;G=c[c[f>>2]>>2]|0;if(!G)sa=D;else{c[f>>2]=G;sa=c[qa>>2]|0}xc(c[R>>2]|0,sa);c[S>>2]=(c[S>>2]|0)+1;ta=D}else ta=oa;Rh(I,E);oa=c[I>>2]|0;D=I+4|0;sa=c[D>>2]|0;c[I>>2]=0;c[D>>2]=0;c[ta+28>>2]=oa;oa=ta+32|0;ta=c[oa>>2]|0;c[oa>>2]=sa;if(ta)yn(ta);ta=c[D>>2]|0;if(ta)yn(ta);In(H);Fn(J,18562,11);H=yd(f,e,J)|0;ta=c[H>>2]|0;if(!ta){D=ek(36)|0;sa=D+16|0;c[sa>>2]=c[J>>2];c[sa+4>>2]=c[J+4>>2];c[sa+8>>2]=c[J+8>>2];c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;Kh(D+28|0);sa=c[e>>2]|0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=sa;c[H>>2]=D;sa=c[c[f>>2]>>2]|0;if(!sa)ua=D;else{c[f>>2]=sa;ua=c[H>>2]|0}xc(c[R>>2]|0,ua);c[S>>2]=(c[S>>2]|0)+1;va=D}else va=ta;ta=va+28|0;switch(c[b+120>>2]|0){case 0:{Fn(L,18574,10);break}case 1:{Fn(L,18585,15);break}default:Fn(L,32466,0)}Ph(K,L);D=c[K>>2]|0;ua=K+4|0;H=c[ua>>2]|0;c[K>>2]=0;c[ua>>2]=0;c[ta>>2]=D;D=va+32|0;va=c[D>>2]|0;c[D>>2]=H;if(va)yn(va);va=c[ua>>2]|0;if(va)yn(va);In(L);In(J);c[M>>2]=0;J=M+4|0;c[J>>2]=0;c[M+8>>2]=0;ie(N,b+124|0);b=c[N>>2]|0;L=N+4|0;va=c[L>>2]|0;if((b|0)!=(va|0)){ua=M+8|0;H=O+4|0;D=b;do{fe(O,D);b=c[J>>2]|0;do if(b>>>0<(c[ua>>2]|0)>>>0){c[b>>2]=c[O>>2];c[b+4>>2]=c[H>>2];c[O>>2]=0;c[H>>2]=0;c[J>>2]=b+8}else{Dd(M,O);ta=c[H>>2]|0;if(!ta)break;yn(ta)}while(0);D=D+36|0}while((D|0)!=(va|0))}Fn(P,18601,15);va=yd(f,e,P)|0;D=c[va>>2]|0;if(!D){H=ek(36)|0;O=H+16|0;c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;Kh(H+28|0);O=c[e>>2]|0;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=O;c[va>>2]=H;O=c[c[f>>2]>>2]|0;if(!O)wa=H;else{c[f>>2]=O;wa=c[va>>2]|0}xc(c[R>>2]|0,wa);c[S>>2]=(c[S>>2]|0)+1;xa=H}else xa=D;Rh(Q,M);D=c[Q>>2]|0;H=Q+4|0;S=c[H>>2]|0;c[Q>>2]=0;c[H>>2]=0;c[xa+28>>2]=D;D=xa+32|0;xa=c[D>>2]|0;c[D>>2]=S;if(xa)yn(xa);xa=c[H>>2]|0;if(xa)yn(xa);In(P);Th(a,f);a=c[N>>2]|0;if(a){P=c[L>>2]|0;if((P|0)==(a|0))ya=a;else{xa=P;do{P=xa+-36|0;c[L>>2]=P;In(xa+-12|0);In(xa+-24|0);In(P);xa=c[L>>2]|0}while((xa|0)!=(a|0));ya=c[N>>2]|0}gk(ya)}ya=c[M>>2]|0;if(ya){N=c[J>>2]|0;if((N|0)==(ya|0))za=ya;else{a=N;while(1){N=a+-8|0;c[J>>2]=N;xa=c[a+-4>>2]|0;if(!xa)Aa=N;else{yn(xa);Aa=c[J>>2]|0}if((Aa|0)==(ya|0))break;else a=Aa}za=c[M>>2]|0}gk(za)}za=c[F>>2]|0;if(za){M=c[pa>>2]|0;if((M|0)==(za|0))Ba=za;else{Aa=M;do{M=Aa+-12|0;c[pa>>2]=M;In(M);Aa=c[pa>>2]|0}while((Aa|0)!=(za|0));Ba=c[F>>2]|0}gk(Ba)}Ba=c[E>>2]|0;if(Ba){F=c[C>>2]|0;if((F|0)==(Ba|0))Ca=Ba;else{za=F;while(1){F=za+-8|0;c[C>>2]=F;Aa=c[za+-4>>2]|0;if(!Aa)Da=F;else{yn(Aa);Da=c[C>>2]|0}if((Da|0)==(Ba|0))break;else za=Da}Ca=c[E>>2]|0}gk(Ca)}lc(A);A=c[z>>2]|0;if(A){Ca=c[x>>2]|0;if((Ca|0)==(A|0))Ea=A;else{E=Ca;while(1){Ca=E+-8|0;c[x>>2]=Ca;Da=c[E+-4>>2]|0;if(!Da)Fa=Ca;else{yn(Da);Fa=c[x>>2]|0}if((Fa|0)==(A|0))break;else E=Fa}Ea=c[z>>2]|0}gk(Ea)}Ea=c[r>>2]|0;if(!Ea){Ga=c[T>>2]|0;Bd(f,Ga);i=d;return}z=c[p>>2]|0;if((z|0)==(Ea|0))Ha=Ea;else{Fa=z;while(1){z=Fa+-8|0;c[p>>2]=z;E=c[Fa+-4>>2]|0;if(!E)Ia=z;else{yn(E);Ia=c[p>>2]|0}if((Ia|0)==(Ea|0))break;else Fa=Ia}Ha=c[r>>2]|0}gk(Ha);Ga=c[T>>2]|0;Bd(f,Ga);i=d;return}function de(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,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;d=i;i=i+192|0;e=d+184|0;f=d+172|0;h=d+160|0;j=d+152|0;k=d+136|0;l=d+128|0;m=d+112|0;n=d+104|0;o=d+88|0;p=d+80|0;q=d+68|0;r=d+56|0;s=d+48|0;t=d+32|0;u=d+24|0;v=d+8|0;w=d;x=f+4|0;c[x>>2]=0;y=f+8|0;c[y>>2]=0;z=f+4|0;c[f>>2]=z;c[h+4>>2]=0;c[h+8>>2]=0;A=h+4|0;c[h>>2]=A;B=c[b+12>>2]|0;C=b+16|0;if((B|0)!=(C|0)){D=j+4|0;E=B;while(1){B=ee(h,E+16|0)|0;Lh(j,+g[E+28>>2]);F=c[j>>2]|0;G=c[D>>2]|0;c[j>>2]=0;c[D>>2]=0;c[B>>2]=F;F=B+4|0;B=c[F>>2]|0;c[F>>2]=G;if(B)yn(B);B=c[D>>2]|0;if(B)yn(B);B=c[E+4>>2]|0;if(!B){G=E;while(1){F=c[G+8>>2]|0;if((c[F>>2]|0)==(G|0)){H=F;break}else G=F}}else{G=B;while(1){F=c[G>>2]|0;if(!F){H=G;break}else G=F}}if((H|0)==(C|0))break;else E=H}}Fn(k,18280,15);H=yd(f,e,k)|0;E=c[H>>2]|0;if(!E){C=ek(36)|0;D=C+16|0;c[D>>2]=c[k>>2];c[D+4>>2]=c[k+4>>2];c[D+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;Kh(C+28|0);D=c[e>>2]|0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=D;c[H>>2]=C;D=c[c[f>>2]>>2]|0;if(!D)I=C;else{c[f>>2]=D;I=c[H>>2]|0}xc(c[x>>2]|0,I);c[y>>2]=(c[y>>2]|0)+1;J=C}else J=E;Th(l,h);E=c[l>>2]|0;C=l+4|0;I=c[C>>2]|0;c[l>>2]=0;c[C>>2]=0;c[J+28>>2]=E;E=J+32|0;J=c[E>>2]|0;c[E>>2]=I;if(J)yn(J);J=c[C>>2]|0;if(J)yn(J);In(k);k=b+24|0;if(Xn(k,32466)|0){Fn(m,18369,14);J=yd(f,e,m)|0;C=c[J>>2]|0;if(!C){I=ek(36)|0;E=I+16|0;c[E>>2]=c[m>>2];c[E+4>>2]=c[m+4>>2];c[E+8>>2]=c[m+8>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;Kh(I+28|0);E=c[e>>2]|0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=E;c[J>>2]=I;E=c[c[f>>2]>>2]|0;if(!E)K=I;else{c[f>>2]=E;K=c[J>>2]|0}xc(c[x>>2]|0,K);c[y>>2]=(c[y>>2]|0)+1;L=I}else L=C;Oh(n,k);k=c[n>>2]|0;C=n+4|0;I=c[C>>2]|0;c[n>>2]=0;c[C>>2]=0;c[L+28>>2]=k;k=L+32|0;L=c[k>>2]|0;c[k>>2]=I;if(L)yn(L);L=c[C>>2]|0;if(L)yn(L);In(m)}Fn(o,18214,12);m=yd(f,e,o)|0;L=c[m>>2]|0;if(!L){C=ek(36)|0;I=C+16|0;c[I>>2]=c[o>>2];c[I+4>>2]=c[o+4>>2];c[I+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;Kh(C+28|0);I=c[e>>2]|0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=I;c[m>>2]=C;I=c[c[f>>2]>>2]|0;if(!I)M=C;else{c[f>>2]=I;M=c[m>>2]|0}xc(c[x>>2]|0,M);c[y>>2]=(c[y>>2]|0)+1;N=C}else N=L;Mh(p,c[b>>2]|0);L=c[p>>2]|0;C=p+4|0;M=c[C>>2]|0;c[p>>2]=0;c[C>>2]=0;c[N+28>>2]=L;L=N+32|0;N=c[L>>2]|0;c[L>>2]=M;if(N)yn(N);N=c[C>>2]|0;if(N)yn(N);In(o);o=q+4|0;c[o>>2]=0;N=q+8|0;c[N>>2]=0;C=q+4|0;c[q>>2]=C;Fn(r,17956,8);M=yd(q,e,r)|0;L=c[M>>2]|0;if(!L){p=ek(36)|0;m=p+16|0;c[m>>2]=c[r>>2];c[m+4>>2]=c[r+4>>2];c[m+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Kh(p+28|0);m=c[e>>2]|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=m;c[M>>2]=p;m=c[c[q>>2]>>2]|0;if(!m)O=p;else{c[q>>2]=m;O=c[M>>2]|0}xc(c[o>>2]|0,O);c[N>>2]=(c[N>>2]|0)+1;P=p}else P=L;Mh(s,c[b+4>>2]|0);L=c[s>>2]|0;p=s+4|0;O=c[p>>2]|0;c[s>>2]=0;c[p>>2]=0;c[P+28>>2]=L;L=P+32|0;P=c[L>>2]|0;c[L>>2]=O;if(P)yn(P);P=c[p>>2]|0;if(P)yn(P);In(r);Fn(t,17965,9);r=yd(q,e,t)|0;P=c[r>>2]|0;if(!P){p=ek(36)|0;O=p+16|0;c[O>>2]=c[t>>2];c[O+4>>2]=c[t+4>>2];c[O+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Kh(p+28|0);O=c[e>>2]|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=O;c[r>>2]=p;O=c[c[q>>2]>>2]|0;if(!O)Q=p;else{c[q>>2]=O;Q=c[r>>2]|0}xc(c[o>>2]|0,Q);c[N>>2]=(c[N>>2]|0)+1;R=p}else R=P;Mh(u,c[b+8>>2]|0);b=c[u>>2]|0;P=u+4|0;p=c[P>>2]|0;c[u>>2]=0;c[P>>2]=0;c[R+28>>2]=b;b=R+32|0;R=c[b>>2]|0;c[b>>2]=p;if(R)yn(R);R=c[P>>2]|0;if(R)yn(R);In(t);Fn(v,17975,7);t=yd(f,e,v)|0;R=c[t>>2]|0;if(!R){P=ek(36)|0;p=P+16|0;c[p>>2]=c[v>>2];c[p+4>>2]=c[v+4>>2];c[p+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Kh(P+28|0);p=c[e>>2]|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=p;c[t>>2]=P;p=c[c[f>>2]>>2]|0;if(!p)S=P;else{c[f>>2]=p;S=c[t>>2]|0}xc(c[x>>2]|0,S);c[y>>2]=(c[y>>2]|0)+1;T=P}else T=R;Th(w,q);R=c[w>>2]|0;P=w+4|0;y=c[P>>2]|0;c[w>>2]=0;c[P>>2]=0;c[T+28>>2]=R;R=T+32|0;T=c[R>>2]|0;c[R>>2]=y;if(T)yn(T);T=c[P>>2]|0;if(!T){In(v);Th(a,f);U=c[C>>2]|0;Bd(q,U);V=c[A>>2]|0;Bd(h,V);W=c[z>>2]|0;Bd(f,W);i=d;return}yn(T);In(v);Th(a,f);U=c[C>>2]|0;Bd(q,U);V=c[A>>2]|0;Bd(h,V);W=c[z>>2]|0;Bd(f,W);i=d;return}function ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+16|0;e=d;f=yd(a,e,b)|0;g=c[f>>2]|0;if(g){h=g;j=h+28|0;i=d;return j|0}g=ek(36)|0;En(g+16|0,b);Kh(g+28|0);b=c[e>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=b;c[f>>2]=g;b=c[c[a>>2]>>2]|0;if(!b)k=g;else{c[a>>2]=b;k=c[f>>2]|0}xc(c[a+4>>2]|0,k);k=a+8|0;c[k>>2]=(c[k>>2]|0)+1;h=g;j=h+28|0;i=d;return j|0}function fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+80|0;e=d+76|0;f=d;g=d+64|0;h=d+4|0;Fn(h,18138,10);Oh(h+12|0,b);Fn(h+20|0,18149,4);Oh(h+32|0,b+12|0);Fn(h+40|0,18154,11);Oh(h+52|0,b+24|0);c[g+4>>2]=0;c[g+8>>2]=0;b=g+4|0;c[g>>2]=b;j=b;c[f>>2]=j;c[e>>2]=c[f>>2];Hd(g,e,h)|0;c[f>>2]=j;c[e>>2]=c[f>>2];Hd(g,e,h+20|0)|0;c[f>>2]=j;c[e>>2]=c[f>>2];Hd(g,e,h+40|0)|0;Uh(a,g);Bd(g,c[b>>2]|0);b=c[h+56>>2]|0;if(b)yn(b);In(h+40|0);b=c[h+36>>2]|0;if(b)yn(b);In(h+20|0);b=c[h+16>>2]|0;if(!b){In(h);i=d;return}yn(b);In(h);i=d;return}function ge(a,b){a=a|0;b=b|0;var d=0,e=0;En(a,b);En(a+12|0,b+12|0);En(a+24|0,b+24|0);En(a+36|0,b+36|0);d=a+48|0;e=b+48|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[d+16>>2]=c[e+16>>2];gd(a+68|0,b+68|0);return}function he(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;e=i;i=i+192|0;f=e+176|0;h=e+40|0;j=e+164|0;k=e+64|0;l=e+56|0;m=e+48|0;n=e+28|0;o=e+24|0;p=e+20|0;q=e+8|0;r=e;je(l,d);Fn(k,17983,5);c[k+12>>2]=c[l>>2];s=l+4|0;c[k+16>>2]=c[s>>2];c[l>>2]=0;c[s>>2]=0;Fn(k+20|0,18e3,4);Oh(k+32|0,d+36|0);ke(m,d);Fn(k+40|0,18109,7);c[k+52>>2]=c[m>>2];l=m+4|0;c[k+56>>2]=c[l>>2];c[m>>2]=0;c[l>>2]=0;Fn(k+60|0,18617,12);Lh(k+72|0,+g[d+56>>2]);c[o>>2]=c[d+68>>2];c[p>>2]=c[d+72>>2];c[h>>2]=c[o>>2];c[f>>2]=c[p>>2];Xd(n,h,f);Fn(k+80|0,18630,10);Sh(k+92|0,n);p=j+4|0;c[p>>2]=0;o=j+8|0;c[o>>2]=0;m=j+4|0;c[j>>2]=m;t=m;c[h>>2]=t;c[f>>2]=c[h>>2];Hd(j,f,k)|0;c[h>>2]=t;c[f>>2]=c[h>>2];Hd(j,f,k+20|0)|0;c[h>>2]=t;c[f>>2]=c[h>>2];Hd(j,f,k+40|0)|0;c[h>>2]=t;c[f>>2]=c[h>>2];Hd(j,f,k+60|0)|0;c[h>>2]=t;c[f>>2]=c[h>>2];Hd(j,f,k+80|0)|0;h=c[k+96>>2]|0;if(h)yn(h);In(k+80|0);h=c[k+76>>2]|0;if(h)yn(h);In(k+60|0);h=c[k+56>>2]|0;if(h)yn(h);In(k+40|0);h=c[k+36>>2]|0;if(h)yn(h);In(k+20|0);h=c[k+16>>2]|0;if(h)yn(h);In(k);k=c[n>>2]|0;if(k){h=n+4|0;t=c[h>>2]|0;if((t|0)==(k|0))u=k;else{v=t;while(1){t=v+-8|0;c[h>>2]=t;w=c[v+-4>>2]|0;if(!w)x=t;else{yn(w);x=c[h>>2]|0}if((x|0)==(k|0))break;else v=x}u=c[n>>2]|0}gk(u)}u=c[l>>2]|0;if(u)yn(u);u=c[s>>2]|0;if(u)yn(u);if(!(a[d+60>>0]|0)){Th(b,j);y=c[m>>2]|0;Bd(j,y);i=e;return}Fn(q,18117,12);u=yd(j,f,q)|0;s=c[u>>2]|0;if(!s){l=ek(36)|0;n=l+16|0;c[n>>2]=c[q>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Kh(l+28|0);n=c[f>>2]|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=n;c[u>>2]=l;n=c[c[j>>2]>>2]|0;if(!n)z=l;else{c[j>>2]=n;z=c[u>>2]|0}xc(c[p>>2]|0,z);c[o>>2]=(c[o>>2]|0)+1;A=l}else A=s;Lh(r,+g[d+64>>2]);d=c[r>>2]|0;s=r+4|0;l=c[s>>2]|0;c[r>>2]=0;c[s>>2]=0;c[A+28>>2]=d;d=A+32|0;A=c[d>>2]|0;c[d>>2]=l;if(A)yn(A);A=c[s>>2]|0;if(A)yn(A);In(q);Th(b,j);y=c[m>>2]|0;Bd(j,y);i=e;return}function ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=0;d=a+4|0;c[d>>2]=0;c[a+8>>2]=0;e=b+4|0;f=c[e>>2]|0;g=c[b>>2]|0;h=f-g|0;i=(h|0)/36|0;if((f|0)==(g|0))return;if(i>>>0>119304647)ck(a);g=ek(h)|0;c[d>>2]=g;c[a>>2]=g;c[a+8>>2]=g+(i*36|0);i=c[b>>2]|0;b=c[e>>2]|0;if((i|0)==(b|0))return;e=i;i=g;do{En(i,e);En(i+12|0,e+12|0);En(i+24|0,e+24|0);i=(c[d>>2]|0)+36|0;c[d>>2]=i;e=e+36|0}while((e|0)!=(b|0));return}function je(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+80|0;e=d+76|0;f=d;g=d+64|0;h=d+4|0;Fn(h,18138,10);Oh(h+12|0,b);Fn(h+20|0,18149,4);Oh(h+32|0,b+12|0);Fn(h+40|0,18154,11);Oh(h+52|0,b+24|0);c[g+4>>2]=0;c[g+8>>2]=0;b=g+4|0;c[g>>2]=b;j=b;c[f>>2]=j;c[e>>2]=c[f>>2];Hd(g,e,h)|0;c[f>>2]=j;c[e>>2]=c[f>>2];Hd(g,e,h+20|0)|0;c[f>>2]=j;c[e>>2]=c[f>>2];Hd(g,e,h+40|0)|0;Uh(a,g);Bd(g,c[b>>2]|0);b=c[h+56>>2]|0;if(b)yn(b);In(h+40|0);b=c[h+36>>2]|0;if(b)yn(b);In(h+20|0);b=c[h+16>>2]|0;if(!b){In(h);i=d;return}yn(b);In(h);i=d;return}function ke(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0;d=i;i=i+64|0;e=d+56|0;f=d+40|0;h=d+44|0;j=d;Fn(j,18130,3);Lh(j+12|0,+g[b+48>>2]);Fn(j+20|0,18134,3);Lh(j+32|0,+g[b+52>>2]);c[h+4>>2]=0;c[h+8>>2]=0;b=h+4|0;c[h>>2]=b;k=b;c[f>>2]=k;c[e>>2]=c[f>>2];Hd(h,e,j)|0;c[f>>2]=k;c[e>>2]=c[f>>2];Hd(h,e,j+20|0)|0;Uh(a,h);Bd(h,c[b>>2]|0);b=c[j+36>>2]|0;if(b)yn(b);In(j+20|0);b=c[j+16>>2]|0;if(!b){In(j);i=d;return}yn(b);In(j);i=d;return}function le(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;i=i+32|0;g=f+16|0;h=f+8|0;j=f;gp(h,b);if(!(a[h>>0]|0)){hp(h);i=f;return b|0}k=c[(c[b>>2]|0)+-12>>2]|0;c[j>>2]=c[b+(k+24)>>2];l=b+k|0;m=c[b+(k+4)>>2]|0;n=d+e|0;e=b+(k+76)|0;k=c[e>>2]|0;if((k|0)==-1){c[g>>2]=oo(l)|0;o=Lt(g,12376)|0;p=Pb[c[(c[o>>2]|0)+28>>2]&63](o,32)|0;Jt(g);o=p<<24>>24;c[e>>2]=o;q=o}else q=k;c[g>>2]=c[j>>2];if(we(g,d,(m&176|0)==32?n:d,n,l,q&255)|0){hp(h);i=f;return b|0}q=c[(c[b>>2]|0)+-12>>2]|0;jo(b+q|0,c[b+(q+16)>>2]|5);hp(h);i=f;return b|0}function me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d;c[a>>2]=3220;f=a+4|0;c[f>>2]=0;g=a+8|0;c[g>>2]=0;c[a+12>>2]=0;Fb[c[(c[b>>2]|0)+92>>2]&127](e,b);b=c[e>>2]|0;h=c[e+4>>2]|0;if((b|0)==(h|0)){mc(e);i=d;return}j=a+12|0;a=b;do{b=c[g>>2]|0;if((b|0)==(c[j>>2]|0))ne(f,a);else{En(b,a);c[g>>2]=(c[g>>2]|0)+12}a=a+100|0}while((a|0)!=(h|0));mc(e);i=d;return}function ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=a+4|0;e=c[a>>2]|0;f=(((c[d>>2]|0)-e|0)/12|0)+1|0;if(f>>>0>357913941){ck(a);g=c[a>>2]|0}else g=e;e=a+8|0;h=g;g=((c[e>>2]|0)-h|0)/12|0;if(g>>>0<178956970){i=g<<1;g=i>>>0<f>>>0?f:i;i=((c[d>>2]|0)-h|0)/12|0;if(!g){j=0;k=0;l=i}else{m=g;n=i;o=6}}else{m=357913941;n=((c[d>>2]|0)-h|0)/12|0;o=6}if((o|0)==6){j=m;k=ek(m*12|0)|0;l=n}n=k+(l*12|0)|0;m=n;o=k+(j*12|0)|0;En(n,b);b=k+((l+1|0)*12|0)|0;l=c[a>>2]|0;k=c[d>>2]|0;if((k|0)==(l|0)){p=a;q=d;r=m;s=l;t=k}else{j=k;k=n;n=m;while(1){m=k+-12|0;j=j+-12|0;c[m>>2]=c[j>>2];c[m+4>>2]=c[j+4>>2];c[m+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;k=n+-12|0;m=k;if((j|0)==(l|0)){u=m;break}else n=m}p=a;q=d;r=u;s=c[a>>2]|0;t=c[d>>2]|0}c[p>>2]=r;c[q>>2]=b;c[e>>2]=o;o=s;e=t;if((e|0)!=(o|0)){t=e;do{t=t+-12|0;In(t)}while((t|0)!=(o|0))}if(!s)return;gk(s);return}function oe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=3220;b=a+4|0;d=c[b>>2]|0;if(!d)return;e=a+8|0;a=c[e>>2]|0;if((a|0)==(d|0))f=d;else{g=a;do{a=g+-12|0;c[e>>2]=a;In(a);g=c[e>>2]|0}while((g|0)!=(d|0));f=c[b>>2]|0}gk(f);return}function pe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=3220;b=a+4|0;d=c[b>>2]|0;if(!d){gk(a);return}e=a+8|0;f=c[e>>2]|0;if((f|0)==(d|0))g=d;else{h=f;do{f=h+-12|0;c[e>>2]=f;In(f);h=c[e>>2]|0}while((h|0)!=(d|0));g=c[b>>2]|0}gk(g);gk(a);return}function qe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=c[b+4>>2]|0;f=(c[b+8>>2]|0)-e|0;b=(f|0)/12|0;if((f|0)<=0){g=-1;return g|0}f=a[d>>0]|0;h=(f&1)==0;i=h?(f&255)>>>1:c[d+4>>2]|0;f=d+8|0;j=d+1|0;d=(i|0)==0;if(h){h=0;a:while(1){k=e+(h*12|0)|0;l=a[k>>0]|0;m=(l&1)==0;b:do if((i|0)==((m?(l&255)>>>1:c[e+(h*12|0)+4>>2]|0)|0)){if(d){g=h;n=15;break a}o=i;p=j;q=m?k+1|0:c[e+(h*12|0)+8>>2]|0;while(1){if((a[p>>0]|0)!=(a[q>>0]|0))break b;o=o+-1|0;if(!o){g=h;n=15;break a}else{p=p+1|0;q=q+1|0}}}while(0);h=h+1|0;if((h|0)>=(b|0)){g=-1;n=15;break}}if((n|0)==15)return g|0}if(d){d=0;while(1){h=a[e+(d*12|0)>>0]|0;if(!(((h&1)==0?(h&255)>>>1:c[e+(d*12|0)+4>>2]|0)|0)){g=d;n=15;break}d=d+1|0;if((d|0)>=(b|0)){g=-1;n=15;break}}if((n|0)==15)return g|0}else r=0;while(1){d=e+(r*12|0)|0;h=a[d>>0]|0;j=(h&1)==0;if((i|0)==((j?(h&255)>>>1:c[e+(r*12|0)+4>>2]|0)|0)?(rm(c[f>>2]|0,j?d+1|0:c[e+(r*12|0)+8>>2]|0,i)|0)==0:0){g=r;n=15;break}r=r+1|0;if((r|0)>=(b|0)){g=-1;n=15;break}}if((n|0)==15)return g|0;return 0}function re(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((d|0)>=0?(e=c[b+4>>2]|0,(((c[b+8>>2]|0)-e|0)/12|0)>>>0>d>>>0):0){En(a,e+(d*12|0)|0);return}Fn(a,32466,0);return}function se(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=3192;c[a+12>>2]=3220;b=a+16|0;d=c[b>>2]|0;if(!d){un(a);return}e=a+20|0;f=c[e>>2]|0;if((f|0)==(d|0))g=d;else{h=f;do{f=h+-12|0;c[e>>2]=f;In(f);h=c[e>>2]|0}while((h|0)!=(d|0));g=c[b>>2]|0}gk(g);un(a);return}function te(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=3192;c[a+12>>2]=3220;b=a+16|0;d=c[b>>2]|0;if(!d){un(a);gk(a);return}e=a+20|0;f=c[e>>2]|0;if((f|0)==(d|0))g=d;else{h=f;do{f=h+-12|0;c[e>>2]=f;In(f);h=c[e>>2]|0}while((h|0)!=(d|0));g=c[b>>2]|0}gk(g);un(a);gk(a);return}function ue(a){a=a|0;var b=0;b=a+12|0;Eb[c[c[b>>2]>>2]&255](b);return}function ve(a){a=a|0;gk(a);return}function we(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;i=i+16|0;k=j;l=c[b>>2]|0;if(!l){m=0;i=j;return m|0}n=f;f=d;o=n-f|0;p=g+12|0;g=c[p>>2]|0;q=(g|0)>(o|0)?g-o|0:0;o=e;g=o-f|0;if((g|0)>0?(yb[c[(c[l>>2]|0)+48>>2]&31](l,d,g)|0)!=(g|0):0){c[b>>2]=0;m=0;i=j;return m|0}do if((q|0)>0){Gn(k,q,h);if((yb[c[(c[l>>2]|0)+48>>2]&31](l,(a[k>>0]&1)==0?k+1|0:c[k+8>>2]|0,q)|0)==(q|0)){In(k);break}c[b>>2]=0;In(k);m=0;i=j;return m|0}while(0);k=n-o|0;if((k|0)>0?(yb[c[(c[l>>2]|0)+48>>2]&31](l,e,k)|0)!=(k|0):0){c[b>>2]=0;m=0;i=j;return m|0}c[p>>2]=0;m=l;i=j;return m|0}function xe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=i;i=i+144|0;h=f+128|0;j=f+96|0;k=f+80|0;l=f+60|0;m=f+48|0;n=f+36|0;o=f+24|0;p=f+16|0;q=f;Fn(j,18476,3);c[j+12>>2]=3;Fn(j+16|0,18913,15);c[j+28>>2]=1;c[h>>2]=j;c[h+4>>2]=2;r=li(d,h,e)|0;In(j+16|0);In(j);if(!r){c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;r=a[e>>0]|0;j=e+4|0;h=(r&1)==0?(r&255)>>>1:c[j>>2]|0;Yn(k,18929,24,h+24|0);r=e+8|0;s=e+1|0;Rn(k,(a[e>>0]&1)==0?s:c[r>>2]|0,h)|0;if(!(a[e>>0]&1)){a[s>>0]=0;a[e>>0]=0}else{a[c[r>>2]>>0]=0;c[j>>2]=0}On(e,0);c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;In(k);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;i=f;return};c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;Fn(m,18476,3);Jn(l,Yh($h(d,m)|0)|0)|0;In(m);Fn(n,18913,15);m=l+12|0;g[m>>2]=+Wh($h(d,n)|0);In(n);Fn(o,18954,12);n=(Vh($h(d,o)|0)|0)==0;In(o);if(!n){Fn(q,18954,12);n=$h(d,q)|0;c[p>>2]=c[n>>2];d=p+4|0;o=c[n+4>>2]|0;c[d>>2]=o;if(o)xn(o);c[l+16>>2]=ye(p,e)|0;p=c[d>>2]|0;if(p)yn(p);In(q);if(Xn(e,32466)|0){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0}else t=13}else t=13;if((t|0)==13){c[b>>2]=c[l>>2];c[b+4>>2]=c[l+4>>2];c[b+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;t=m;m=c[t+4>>2]|0;e=b+12|0;c[e>>2]=c[t>>2];c[e+4>>2]=m}In(l);i=f;return}function ye(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+32|0;f=e+12|0;g=e;if((Vh(b)|0)!=4){Kn(d,18967)|0;h=0;i=e;return h|0}j=Zh(b)|0;b=c[j>>2]|0;k=c[j+4>>2]|0;if((b|0)==(k|0)){h=0;i=e;return h|0}else{l=b;m=0}a:while(1){if((Vh(l)|0)!=3){n=m;o=5;break}En(f,Yh(l)|0);do if(!(Xn(f,19033)|0))p=m|1;else{if(!(Xn(f,19050)|0)){p=m|2;break}if(!(Xn(f,19068)|0)){p=m|4;break}if(!(Xn(f,19084)|0)){p=m|3;break}if(Xn(f,19097)|0){q=m;o=16;break a}p=m|255}while(0);In(f);l=l+8|0;if((l|0)==(k|0)){h=p;o=21;break}else m=p}if((o|0)==5){Kn(d,19e3)|0;h=n;i=e;return h|0}else if((o|0)==16){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;n=a[f>>0]|0;p=(n&1)==0?(n&255)>>>1:c[f+4>>2]|0;Yn(g,19106,29,p+29|0);Rn(g,(a[f>>0]&1)==0?f+1|0:c[f+8>>2]|0,p)|0;if(!(a[d>>0]&1)){a[d+1>>0]=0;a[d>>0]=0}else{a[c[d+8>>2]>>0]=0;c[d+4>>2]=0}On(d,0);c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;In(g);In(f);h=q;i=e;return h|0}else if((o|0)==21){i=e;return h|0}return 0}function ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=i;i=i+64|0;e=d+52|0;f=d+40|0;g=d+32|0;h=d+20|0;j=d+8|0;k=d;c[f>>2]=0;l=f+4|0;c[l>>2]=0;c[f+8>>2]=0;m=c[b>>2]|0;n=c[b+4>>2]|0;if((m|0)!=(n|0)){b=f+8|0;o=g+4|0;p=m;do{ce(g,p);m=c[l>>2]|0;if(m>>>0>=(c[b>>2]|0)>>>0){Dd(f,g);q=c[o>>2]|0;if(q)yn(q)}else{c[m>>2]=c[g>>2];c[m+4>>2]=c[o>>2];c[g>>2]=0;c[o>>2]=0;c[l>>2]=m+8}p=p+136|0}while((p|0)!=(n|0))}n=h+4|0;c[n>>2]=0;p=h+8|0;c[p>>2]=0;o=h+4|0;c[h>>2]=o;Fn(j,19141,9);g=yd(h,e,j)|0;b=c[g>>2]|0;if(!b){m=ek(36)|0;q=m+16|0;c[q>>2]=c[j>>2];c[q+4>>2]=c[j+4>>2];c[q+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;Kh(m+28|0);q=c[e>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=q;c[g>>2]=m;q=c[c[h>>2]>>2]|0;if(!q)r=m;else{c[h>>2]=q;r=c[g>>2]|0}xc(c[n>>2]|0,r);c[p>>2]=(c[p>>2]|0)+1;s=m}else s=b;Rh(k,f);b=c[k>>2]|0;m=k+4|0;p=c[m>>2]|0;c[k>>2]=0;c[m>>2]=0;c[s+28>>2]=b;b=s+32|0;s=c[b>>2]|0;c[b>>2]=p;if(s)yn(s);s=c[m>>2]|0;if(s)yn(s);In(j);Th(a,h);Bd(h,c[o>>2]|0);o=c[f>>2]|0;if(!o){i=d;return}h=c[l>>2]|0;if((h|0)==(o|0))t=o;else{a=h;while(1){h=a+-8|0;c[l>>2]=h;j=c[a+-4>>2]|0;if(!j)u=h;else{yn(j);u=c[l>>2]|0}if((u|0)==(o|0))break;else a=u}t=c[f>>2]|0}gk(t);i=d;return}function Ae(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+48|0;f=e+36|0;g=e+24|0;h=e+12|0;j=e;c[f>>2]=0;k=f+4|0;c[k>>2]=0;c[f+8>>2]=0;Fn(g,19151,4);if(Vh($h(b,g)|0)|0){Fn(h,19151,4);l=(Vh($h(b,h)|0)|0)==4;In(h);In(g);if(l)m=5;else{Kn(d,19156)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0}}else{In(g);m=5}a:do if((m|0)==5){Fn(j,19151,4);g=Zh($h(b,j)|0)|0;In(j);l=c[g>>2]|0;h=c[g+4>>2]|0;g=f+8|0;b:do if((l|0)!=(h|0)){n=l;while(1){if((Vh(n)|0)!=3)break;o=Yh(n)|0;p=c[k>>2]|0;if((p|0)==(c[g>>2]|0))ne(f,o);else{En(p,o);c[k>>2]=(c[k>>2]|0)+12}n=n+8|0;if((n|0)==(h|0))break b}Kn(d,19186)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;break a}while(0);c[a>>2]=c[f>>2];c[a+4>>2]=c[k>>2];c[a+8>>2]=c[g>>2];c[g>>2]=0;c[k>>2]=0;c[f>>2]=0;i=e;return}while(0);a=c[f>>2]|0;if(!a){i=e;return}d=c[k>>2]|0;if((d|0)==(a|0))q=a;else{j=d;do{d=j+-12|0;c[k>>2]=d;In(d);j=c[k>>2]|0}while((j|0)!=(a|0));q=c[f>>2]|0}gk(q);i=e;return}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;d=c[a>>2]|0;e=a+4|0;f=c[e>>2]|0;g=b+4|0;if((f|0)==(d|0)){h=g;i=a;j=c[g>>2]|0;k=d;c[i>>2]=j;c[h>>2]=k;l=b+8|0;m=c[e>>2]|0;n=c[l>>2]|0;c[e>>2]=n;c[l>>2]=m;o=a+8|0;p=b+12|0;q=c[o>>2]|0;r=c[p>>2]|0;c[o>>2]=r;c[p>>2]=q;s=c[h>>2]|0;c[b>>2]=s;return}t=f;f=c[g>>2]|0;while(1){u=f+-136|0;v=t;t=t+-136|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;u=f+-124|0;w=v+-124|0;c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;w=f+-112|0;u=v+-112|0;c[w>>2]=c[u>>2];c[w+4>>2]=c[u+4>>2];c[w+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;u=f+-100|0;w=v+-100|0;c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;w=f+-88|0;u=v+-88|0;c[w>>2]=c[u>>2];c[w+4>>2]=c[u+4>>2];c[w+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;u=f+-76|0;w=v+-76|0;c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[f+-64>>2]=c[v+-64>>2];w=f+-60|0;u=v+-60|0;c[w>>2]=0;x=f+-56|0;c[x>>2]=0;c[f+-52>>2]=0;c[w>>2]=c[u>>2];w=v+-56|0;c[x>>2]=c[w>>2];x=v+-52|0;c[f+-52>>2]=c[x>>2];c[x>>2]=0;c[w>>2]=0;c[u>>2]=0;u=v+-48|0;w=c[u+4>>2]|0;x=f+-48|0;c[x>>2]=c[u>>2];c[x+4>>2]=w;w=f+-40|0;x=v+-40|0;c[w>>2]=0;u=f+-36|0;c[u>>2]=0;c[f+-32>>2]=0;c[w>>2]=c[x>>2];w=v+-36|0;c[u>>2]=c[w>>2];u=v+-32|0;c[f+-32>>2]=c[u>>2];c[u>>2]=0;c[w>>2]=0;c[x>>2]=0;x=f+-28|0;w=v+-28|0;c[x>>2]=0;u=f+-24|0;c[u>>2]=0;c[f+-20>>2]=0;c[x>>2]=c[w>>2];x=v+-24|0;c[u>>2]=c[x>>2];u=v+-20|0;c[f+-20>>2]=c[u>>2];c[u>>2]=0;c[x>>2]=0;c[w>>2]=0;w=f+-16|0;x=v+-16|0;c[w>>2]=c[x>>2];u=f+-12|0;y=v+-12|0;c[u>>2]=0;z=f+-8|0;c[z>>2]=0;c[f+-4>>2]=0;c[u>>2]=c[y>>2];u=v+-8|0;c[z>>2]=c[u>>2];z=v+-4|0;c[f+-4>>2]=c[z>>2];c[z>>2]=0;c[u>>2]=0;c[y>>2]=0;c[w>>2]=c[x>>2];x=(c[g>>2]|0)+-136|0;c[g>>2]=x;if((t|0)==(d|0)){A=x;break}else f=x}h=g;i=a;j=A;k=c[a>>2]|0;c[i>>2]=j;c[h>>2]=k;l=b+8|0;m=c[e>>2]|0;n=c[l>>2]|0;c[e>>2]=n;c[l>>2]=m;o=a+8|0;p=b+12|0;q=c[o>>2]|0;r=c[p>>2]|0;c[o>>2]=r;c[p>>2]=q;s=c[h>>2]|0;c[b>>2]=s;return}function Ce(b,d,e){b=b|0;d=d|0;e=e|0;var 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;f=b+4|0;b=c[f>>2]|0;if(!b){c[d>>2]=f;g=f;return g|0}f=a[e>>0]|0;h=(f&1)==0;i=h?(f&255)>>>1:c[e+4>>2]|0;f=h?e+1|0:c[e+8>>2]|0;e=b;while(1){b=e+16|0;h=a[b>>0]|0;j=(h&1)==0;k=j?(h&255)>>>1:c[e+20>>2]|0;h=j?b+1|0:c[e+24>>2]|0;b=k>>>0<i>>>0;j=rm(f,h,b?k:i)|0;l=i>>>0<k>>>0;if((((j|0)==0?(l?-2147483648:0):j)|0)<0){j=c[e>>2]|0;if(!j){m=e;n=e;o=5;break}else p=j}else{j=rm(h,f,l?i:k)|0;if((((j|0)==0?(b?-2147483648:0):j)|0)>=0){q=e;o=10;break}j=e+4|0;b=c[j>>2]|0;if(!b){r=j;s=e;o=9;break}else p=b}e=p}if((o|0)==5){c[d>>2]=n;g=m;return g|0}else if((o|0)==9){c[d>>2]=s;g=r;return g|0}else if((o|0)==10){c[d>>2]=q;g=d;return g|0}return 0}function De(b,d,e){b=b|0;d=+d;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+16|0;h=f;g[b+4>>2]=d;c[b>>2]=3244;a[b+8>>0]=e&1;a[b+9>>0]=1;e=b+12|0;j=b+16|0;k=b+20|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[b+28>>2]=1;e=b+32|0;c[b+52>>2]=0;c[b+56>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[b+48>>2]=b+52;e=b+24|0;b=h+4|0;l=0;do{Ch(h,+(l|0)*1.5);m=c[k>>2]|0;if(m>>>0<(c[e>>2]|0)>>>0){c[m>>2]=c[h>>2];c[m+4>>2]=c[b>>2];c[k>>2]=m+8}else bf(j,h);l=l+1|0}while((l|0)<10);i=f;return}function Ee(a){a=a|0;var b=0,d=0;c[a>>2]=3244;cf(a+48|0,c[a+52>>2]|0);b=c[a+16>>2]|0;if(!b)return;d=a+20|0;a=c[d>>2]|0;if((a|0)!=(b|0))c[d>>2]=a+(~((a+-8-b|0)>>>3)<<3);gk(b);return}function Fe(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=3244;cf(a+48|0,c[a+52>>2]|0);b=c[a+16>>2]|0;if(!b){gk(a);return}d=a+20|0;e=c[d>>2]|0;if((e|0)!=(b|0))c[d>>2]=e+(~((e+-8-b|0)>>>3)<<3);gk(b);gk(a);return}function Ge(b,c){b=b|0;c=c|0;if(!(a[c+8>>0]|0)){Fn(b,19363,16);return}else{Fn(b,19341,21);return}}function He(b,c){b=b|0;c=c|0;if(!(a[c+8>>0]|0)){Fn(b,19422,16);return}else{Fn(b,19380,41);return}}function Ie(a,b){a=a|0;b=b|0;Fn(a,19439,51);return}function Je(a,b){a=a|0;b=b|0;Fn(a,19491,12);return}function Ke(a){a=a|0;return 4}function Le(a,b){a=a|0;b=b|0;Fn(a,19504,3);return}function Me(a){a=a|0;return d[a+8>>0]|0|0}function Ne(a){a=a|0;return 0}function Oe(a){a=a|0;return 0}function Pe(a){a=a|0;return 1}function Qe(a){a=a|0;return 10}function Re(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+80|0;e=d;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;f=e+64|0;h=e;j=h+60|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));a[e+60>>0]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;Kn(e,19508)|0;h=e+12|0;Kn(h,19523)|0;j=e+24|0;Kn(j,19543)|0;k=e+36|0;Kn(k,32466)|0;g[e+48>>2]=0.0;g[e+52>>2]=1.0;g[e+56>>2]=1.0;a[e+60>>0]=1;g[f>>2]=1.0;df(b,e);b=e+68|0;f=c[b>>2]|0;if(!f){In(k);In(j);In(h);In(e);i=d;return}l=e+72|0;m=c[l>>2]|0;if((m|0)==(f|0))n=f;else{o=m;do{m=o+-12|0;c[l>>2]=m;In(m);o=c[l>>2]|0}while((o|0)!=(f|0));n=c[b>>2]|0}gk(n);In(k);In(j);In(h);In(e);i=d;return}function Se(b,c){b=b|0;c=c|0;var d=0.0;if(Xn(c,19508)|0){d=0.0;return +d}d=(a[b+9>>0]|0)!=0?1.0:0.0;return +d}function Te(b,c,d){b=b|0;c=c|0;d=+d;if(Xn(c,19508)|0)return;a[b+9>>0]=d>.5&1;return}function Ue(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Ve(a,b){a=a|0;b=b|0;Fn(a,32466,0);return}function We(a,b){a=a|0;b=b|0;return}function Xe(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=i;i=i+112|0;f=e;c[b>>2]=0;h=b+4|0;c[h>>2]=0;c[b+8>>2]=0;j=f+52|0;g[f+72>>2]=0.0;g[f+76>>2]=0.0;k=f+80|0;a[k>>0]=0;l=f+84|0;m=f;n=m+48|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));a[f+48>>0]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;a[j+16>>0]=0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;a[l+12>>0]=0;Kn(f,19739)|0;l=f+12|0;Kn(l,19748)|0;m=f+24|0;Kn(m,19757)|0;n=f+36|0;Kn(n,32466)|0;o=f+48|0;a[o>>0]=1;c[j>>2]=0;p=f+68|0;a[p>>0]=0;a[k>>0]=0;q=f+88|0;c[q>>2]=2;r=f+96|0;a[r>>0]=0;s=d+48|0;c[(ff(s,f)|0)>>2]=0;t=c[h>>2]|0;u=b+8|0;if((t|0)==(c[u>>2]|0))hf(b,f);else{gf(t,f);c[h>>2]=(c[h>>2]|0)+100}Kn(f,19791)|0;Kn(l,19801)|0;Kn(m,19825)|0;Kn(n,32466)|0;a[o>>0]=1;c[j>>2]=1;a[p>>0]=0;a[k>>0]=0;c[q>>2]=0;a[r>>0]=0;c[(ff(s,f)|0)>>2]=1;t=c[h>>2]|0;if((t|0)==(c[u>>2]|0))hf(b,f);else{gf(t,f);c[h>>2]=(c[h>>2]|0)+100}Kn(f,19872)|0;Kn(l,19882)|0;Kn(m,19905)|0;Kn(n,32466)|0;a[o>>0]=1;c[j>>2]=1;a[p>>0]=0;a[k>>0]=0;c[q>>2]=1;t=f+92|0;g[t>>2]=2.5;a[r>>0]=0;c[(ff(s,f)|0)>>2]=2;v=c[h>>2]|0;if((v|0)==(c[u>>2]|0))hf(b,f);else{gf(v,f);c[h>>2]=(c[h>>2]|0)+100}Kn(f,19981)|0;Kn(l,19997)|0;Kn(m,20026)|0;Kn(n,32466)|0;a[o>>0]=1;c[j>>2]=1;a[p>>0]=0;a[k>>0]=0;c[q>>2]=1;g[t>>2]=2.5;a[r>>0]=0;c[(ff(s,f)|0)>>2]=3;v=c[h>>2]|0;if((v|0)==(c[u>>2]|0))hf(b,f);else{gf(v,f);c[h>>2]=(c[h>>2]|0)+100}Kn(f,20132)|0;Kn(l,20148)|0;Kn(m,20177)|0;Kn(n,32466)|0;a[o>>0]=1;c[j>>2]=1;a[p>>0]=0;a[k>>0]=0;c[q>>2]=1;g[t>>2]=2.5;a[r>>0]=0;c[(ff(s,f)|0)>>2]=4;v=c[h>>2]|0;if((v|0)==(c[u>>2]|0))hf(b,f);else{gf(v,f);c[h>>2]=(c[h>>2]|0)+100}Kn(f,20288)|0;Kn(l,20298)|0;Kn(m,20324)|0;Kn(n,32466)|0;a[o>>0]=1;c[j>>2]=1;a[p>>0]=0;a[k>>0]=0;c[q>>2]=2;g[t>>2]=0.0;a[r>>0]=0;c[(ff(s,f)|0)>>2]=5;v=c[h>>2]|0;if((v|0)==(c[u>>2]|0))hf(b,f);else{gf(v,f);c[h>>2]=(c[h>>2]|0)+100}Kn(f,20359)|0;Kn(l,20368)|0;Kn(m,20391)|0;Kn(n,32466)|0;a[o>>0]=1;c[j>>2]=10;a[p>>0]=0;a[k>>0]=0;c[q>>2]=0;g[t>>2]=0.0;a[r>>0]=0;c[(ff(s,f)|0)>>2]=6;v=c[h>>2]|0;if((v|0)==(c[u>>2]|0))hf(b,f);else{gf(v,f);c[h>>2]=(c[h>>2]|0)+100}Kn(f,20455)|0;Kn(l,20464)|0;Kn(m,20486)|0;Kn(n,32466)|0;a[o>>0]=1;c[j>>2]=10;a[p>>0]=0;a[k>>0]=0;c[q>>2]=1;g[t>>2]=2.5;a[r>>0]=0;c[(ff(s,f)|0)>>2]=7;v=c[h>>2]|0;if((v|0)==(c[u>>2]|0))hf(b,f);else{gf(v,f);c[h>>2]=(c[h>>2]|0)+100}Kn(f,20579)|0;Kn(l,20593)|0;Kn(m,20610)|0;Kn(n,32466)|0;a[o>>0]=1;c[j>>2]=1;a[p>>0]=0;a[k>>0]=0;c[q>>2]=2;g[t>>2]=0.0;a[r>>0]=1;c[(ff(s,f)|0)>>2]=8;t=c[h>>2]|0;if((t|0)==(c[u>>2]|0))hf(b,f);else{gf(t,f);c[h>>2]=(c[h>>2]|0)+100}Kn(f,20663)|0;Kn(l,20677)|0;Kn(m,20702)|0;Kn(n,32466)|0;a[o>>0]=1;c[j>>2]=c[d+28>>2];a[p>>0]=0;a[k>>0]=0;c[q>>2]=0;a[r>>0]=0;c[(ff(s,f)|0)>>2]=9;d=c[h>>2]|0;if((d|0)==(c[u>>2]|0))hf(b,f);else{gf(d,f);c[h>>2]=(c[h>>2]|0)+100}Kn(f,21052)|0;Kn(l,21068)|0;Kn(m,21084)|0;Kn(n,21237)|0;a[o>>0]=1;c[j>>2]=1;a[p>>0]=0;a[k>>0]=0;c[q>>2]=0;a[r>>0]=0;c[(ff(s,f)|0)>>2]=10;s=c[h>>2]|0;if((s|0)==(c[u>>2]|0))hf(b,f);else{gf(s,f);c[h>>2]=(c[h>>2]|0)+100}h=f+56|0;s=c[h>>2]|0;if(!s){In(n);In(m);In(l);In(f);i=e;return}b=f+60|0;u=c[b>>2]|0;if((u|0)==(s|0))w=s;else{r=u;do{u=r+-12|0;c[b>>2]=u;In(u);r=c[b>>2]|0}while((r|0)!=(s|0));w=c[h>>2]|0}gk(w);In(n);In(m);In(l);In(f);i=e;return}function Ye(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((Hb[c[(c[a>>2]|0)+84>>2]&127](a)|0)>>>0>b>>>0){f=0;return f|0}if((Hb[c[(c[a>>2]|0)+88>>2]&127](a)|0)>>>0<b>>>0){f=0;return f|0}c[a+28>>2]=b;c[a+32>>2]=d;c[a+36>>2]=e;f=1;return f|0}function Ze(a){a=a|0;c[a+12>>2]=0;return}function _e(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,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,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=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,gb=0,hb=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,yc=0,zc=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.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,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0.0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0.0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0;h=i;i=i+1168|0;j=h+1144|0;k=h+744|0;l=h+728|0;m=h+696|0;o=h+672|0;p=h+608|0;q=h+1136|0;r=h+1128|0;s=h+1112|0;t=h+1064|0;u=h+1056|0;v=h+1048|0;w=h+1032|0;x=h+984|0;y=h+976|0;z=h+968|0;A=h+960|0;B=h+952|0;C=h+936|0;D=h+888|0;E=h+720|0;F=h+712|0;G=h+684|0;H=h+624|0;I=h+600|0;J=h+584|0;K=h+536|0;L=h+528|0;M=h+512|0;N=h+464|0;O=h+456|0;P=h+448|0;Q=h+432|0;R=h+384|0;S=h+376|0;T=h+360|0;U=h+312|0;V=h+304|0;W=h+288|0;X=h+240|0;Y=h+232|0;Z=h+224|0;_=h+208|0;$=h+160|0;aa=h+152|0;ba=h+136|0;ca=h+88|0;da=h+80|0;ea=h+72|0;fa=h+56|0;ga=h+8|0;ha=h;ia=b+4|0;c[ia>>2]=0;ja=b+8|0;c[ja>>2]=0;ka=b+4|0;c[b>>2]=ka;Gh(r,c[d+32>>2]|0,~~+g[d+4>>2]>>>0);la=e+4|0;Bh(q,(c[r>>2]|0)+(c[e>>2]|0)|0,(c[r+4>>2]|0)+(c[la>>2]|0)|0);r=d+20|0;ma=d+16|0;na=c[ma>>2]|0;if(((c[r>>2]|0)-na|0)>0){oa=v+4|0;pa=z+4|0;qa=d+48|0;ra=d+52|0;sa=d+56|0;ta=ka;ua=E+4|0;va=F+4|0;wa=B+4|0;xa=k+64|0;ya=k+8|0;za=k+12|0;Aa=k+4|0;Ba=k+64|0;Ca=k+64|0;Da=k+136|0;Ea=k+140|0;Ga=k+44|0;Ha=k+60|0;Ia=D+4|0;Ja=D+8|0;Ka=D+12|0;La=D+16|0;Na=D+20|0;Oa=D+28|0;Pa=D+24|0;Qa=k+8|0;Ra=m+8|0;Sa=m+1|0;Ta=m+4|0;Ua=o+8|0;Va=o+1|0;Wa=o+4|0;Xa=D+36|0;Ya=Xa+1|0;Za=D+32|0;_a=D+24|0;$a=D+44|0;ab=D+40|0;bb=q+4|0;cb=y+4|0;db=k+64|0;eb=k+8|0;fb=k+12|0;gb=k+4|0;hb=k+64|0;jb=k+64|0;kb=k+136|0;lb=k+140|0;mb=k+44|0;nb=k+60|0;ob=x+4|0;pb=x+8|0;qb=x+12|0;rb=x+16|0;sb=x+28|0;tb=x+24|0;ub=k+8|0;vb=m+8|0;wb=m+1|0;xb=m+4|0;yb=x+36|0;zb=yb+1|0;Ab=x+20|0;Bb=x+32|0;Cb=x+24|0;Db=x+44|0;Eb=x+40|0;Fb=u+4|0;Gb=k+64|0;Hb=k+8|0;Ib=k+12|0;Jb=k+4|0;Kb=k+64|0;Lb=k+64|0;Mb=k+136|0;Nb=k+140|0;Ob=k+44|0;Pb=k+60|0;Qb=t+4|0;Rb=t+8|0;Sb=t+12|0;Tb=t+16|0;Ub=k+8|0;Vb=l+8|0;Wb=l+1|0;Xb=l+4|0;Yb=t+36|0;Zb=Yb+1|0;_b=t+20|0;$b=t+24|0;ac=t+28|0;bc=t+32|0;cc=t+24|0;dc=t+44|0;ec=t+40|0;fc=na;na=0;do{gc=c[fc+(na<<3)>>2]|0;hc=c[e>>2]|0;if((gc|0)==(hc|0)){if((c[fc+(na<<3)+4>>2]|0)>=(c[la>>2]|0))ic=6}else if((gc|0)>=(hc|0))ic=6;a:do if((ic|0)==6){ic=0;do if(!f){hc=c[ma>>2]|0;gc=c[hc+(na<<3)>>2]|0;jc=c[q>>2]|0;if((gc|0)==(jc|0))if((c[hc+(na<<3)+4>>2]|0)<(c[bb>>2]|0))break;else break a;else if((gc|0)<(jc|0))break;else break a}while(0);Fn(s,19739,8);jc=kf(qa,j,s)|0;gc=c[jc>>2]|0;if(!gc){hc=ek(32)|0;kc=hc+16|0;c[kc>>2]=c[s>>2];c[kc+4>>2]=c[s+4>>2];c[kc+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[hc+28>>2]=0;kc=c[j>>2]|0;c[hc>>2]=0;c[hc+4>>2]=0;c[hc+8>>2]=kc;c[jc>>2]=hc;kc=c[c[qa>>2]>>2]|0;if(!kc)lc=hc;else{c[qa>>2]=kc;lc=c[jc>>2]|0}xc(c[ra>>2]|0,lc);c[sa>>2]=(c[sa>>2]|0)+1;mc=hc}else mc=gc;gc=mc+28|0;hc=c[ka>>2]|0;do if(hc){jc=c[gc>>2]|0;kc=hc;while(1){nc=c[kc+16>>2]|0;if((jc|0)<(nc|0)){oc=c[kc>>2]|0;if(!oc){pc=kc;qc=kc;ic=18;break}else rc=oc}else{if((nc|0)>=(jc|0)){sc=kc;ic=24;break}nc=kc+4|0;oc=c[nc>>2]|0;if(!oc){tc=nc;uc=kc;ic=22;break}else rc=oc}kc=rc}if((ic|0)==18){ic=0;c[j>>2]=qc;vc=pc;wc=qc;ic=25;break}else if((ic|0)==22){ic=0;c[j>>2]=uc;vc=tc;wc=uc;ic=25;break}else if((ic|0)==24){ic=0;c[j>>2]=sc;if(!sc){vc=j;wc=sc;ic=25;break}else{yc=sc;break}}}else{c[j>>2]=ka;vc=ka;wc=ta;ic=25}while(0);if((ic|0)==25){ic=0;hc=ek(32)|0;c[hc+16>>2]=c[gc>>2];c[hc+20>>2]=0;c[hc+24>>2]=0;c[hc+28>>2]=0;c[hc>>2]=0;c[hc+4>>2]=0;c[hc+8>>2]=wc;c[vc>>2]=hc;kc=c[c[b>>2]>>2]|0;if(!kc)zc=hc;else{c[b>>2]=kc;zc=c[vc>>2]|0}xc(c[ia>>2]|0,zc);c[ja>>2]=(c[ja>>2]|0)+1;yc=hc}hc=c[ma>>2]|0;c[u>>2]=c[hc+(na<<3)>>2];c[Fb>>2]=c[hc+(na<<3)+4>>2];kc=(c[r>>2]|0)-hc>>3;c[Hb>>2]=3380;c[k>>2]=3420;c[Gb>>2]=3440;c[Jb>>2]=0;po(Kb,Ib);c[Mb>>2]=0;c[Nb>>2]=-1;c[k>>2]=3360;c[Lb>>2]=3400;c[Hb>>2]=3380;so(Ib);c[Ib>>2]=3456;c[Ob>>2]=0;c[Ob+4>>2]=0;c[Ob+8>>2]=0;c[Ob+12>>2]=0;c[Pb>>2]=24;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;lf(Ib,j);In(j);c[Tb>>2]=0;c[Tb+4>>2]=0;c[Tb+8>>2]=0;c[Tb+12>>2]=0;c[Tb+16>>2]=0;c[Tb+20>>2]=0;c[Tb+24>>2]=0;c[Tb+28>>2]=0;a[t>>0]=1;c[Qb>>2]=c[u>>2];c[Rb>>2]=c[Fb>>2];a[Sb>>0]=0;hc=le(ip(le(ip(Ub,na+1|0)|0,21926,4)|0,kc)|0,21245,4)|0;Dh(l,u,0);kc=a[l>>0]|0;jc=(kc&1)==0;le(hc,jc?Wb:c[Vb>>2]|0,jc?(kc&255)>>>1:c[Xb>>2]|0)|0;In(l);mf(m,Ib);if(!(a[Yb>>0]&1)){a[Zb>>0]=0;a[Yb>>0]=0}else{a[c[dc>>2]>>0]=0;c[ec>>2]=0}On(Yb,0);c[Yb>>2]=c[m>>2];c[Yb+4>>2]=c[m+4>>2];c[Yb+8>>2]=c[m+8>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;In(m);c[k>>2]=3360;c[Gb>>2]=3400;c[Ub>>2]=3380;c[Ib>>2]=3456;In(Ob);qo(Ib);ko(Gb);kc=yc+24|0;jc=c[kc>>2]|0;if(jc>>>0<(c[yc+28>>2]|0)>>>0){a[jc>>0]=a[t>>0]|0;c[jc+4>>2]=c[Qb>>2];c[jc+8>>2]=c[Rb>>2];a[jc+12>>0]=a[Sb>>0]|0;c[jc+16>>2]=c[Tb>>2];c[jc+20>>2]=c[_b>>2];hc=jc+24|0;c[hc>>2]=0;oc=jc+28|0;c[oc>>2]=0;c[jc+32>>2]=0;c[hc>>2]=c[$b>>2];c[oc>>2]=c[ac>>2];c[jc+32>>2]=c[bc>>2];c[bc>>2]=0;c[ac>>2]=0;c[$b>>2]=0;oc=jc+36|0;c[oc>>2]=c[Yb>>2];c[oc+4>>2]=c[Yb+4>>2];c[oc+8>>2]=c[Yb+8>>2];c[Yb>>2]=0;c[Yb+4>>2]=0;c[Yb+8>>2]=0;c[kc>>2]=(c[kc>>2]|0)+48}else nf(yc+20|0,t);In(Yb);kc=c[cc>>2]|0;oc=kc;if(kc){jc=c[ac>>2]|0;if((jc|0)!=(kc|0))c[ac>>2]=jc+(~((jc+-4-oc|0)>>>2)<<2);gk(kc)}In(s)}while(0);Eh(v,(c[ma>>2]|0)+(na<<3)|0,2);kc=c[v>>2]|0;oc=c[e>>2]|0;if((kc|0)==(oc|0)){if((c[oa>>2]|0)>=(c[la>>2]|0))ic=42}else if((kc|0)>=(oc|0))ic=42;b:do if((ic|0)==42){ic=0;do if(!f){oc=c[q>>2]|0;if((kc|0)==(oc|0))if((c[oa>>2]|0)<(c[bb>>2]|0))break;else break b;else if((kc|0)<(oc|0))break;else break b}while(0);Fn(w,20288,9);gc=kf(qa,j,w)|0;oc=c[gc>>2]|0;if(!oc){jc=ek(32)|0;hc=jc+16|0;c[hc>>2]=c[w>>2];c[hc+4>>2]=c[w+4>>2];c[hc+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[jc+28>>2]=0;hc=c[j>>2]|0;c[jc>>2]=0;c[jc+4>>2]=0;c[jc+8>>2]=hc;c[gc>>2]=jc;hc=c[c[qa>>2]>>2]|0;if(!hc)Ac=jc;else{c[qa>>2]=hc;Ac=c[gc>>2]|0}xc(c[ra>>2]|0,Ac);c[sa>>2]=(c[sa>>2]|0)+1;Bc=jc}else Bc=oc;oc=Bc+28|0;jc=c[ka>>2]|0;do if(jc){gc=c[oc>>2]|0;hc=jc;while(1){nc=c[hc+16>>2]|0;if((gc|0)<(nc|0)){Cc=c[hc>>2]|0;if(!Cc){Dc=hc;Ec=hc;ic=54;break}else Fc=Cc}else{if((nc|0)>=(gc|0)){Gc=hc;ic=60;break}nc=hc+4|0;Cc=c[nc>>2]|0;if(!Cc){Hc=nc;Ic=hc;ic=58;break}else Fc=Cc}hc=Fc}if((ic|0)==54){ic=0;c[j>>2]=Ec;Jc=Dc;Kc=Ec;ic=61;break}else if((ic|0)==58){ic=0;c[j>>2]=Ic;Jc=Hc;Kc=Ic;ic=61;break}else if((ic|0)==60){ic=0;c[j>>2]=Gc;if(!Gc){Jc=j;Kc=Gc;ic=61;break}else{Lc=Gc;break}}}else{c[j>>2]=ka;Jc=ka;Kc=ta;ic=61}while(0);if((ic|0)==61){ic=0;jc=ek(32)|0;c[jc+16>>2]=c[oc>>2];c[jc+20>>2]=0;c[jc+24>>2]=0;c[jc+28>>2]=0;c[jc>>2]=0;c[jc+4>>2]=0;c[jc+8>>2]=Kc;c[Jc>>2]=jc;hc=c[c[b>>2]>>2]|0;if(!hc)Mc=jc;else{c[b>>2]=hc;Mc=c[Jc>>2]|0}xc(c[ia>>2]|0,Mc);c[ja>>2]=(c[ja>>2]|0)+1;Lc=jc}c[y>>2]=c[v>>2];c[cb>>2]=c[oa>>2];jc=(c[r>>2]|0)-(c[ma>>2]|0)>>3;c[eb>>2]=3380;c[k>>2]=3420;c[db>>2]=3440;c[gb>>2]=0;po(hb,fb);c[kb>>2]=0;c[lb>>2]=-1;c[k>>2]=3360;c[jb>>2]=3400;c[eb>>2]=3380;so(fb);c[fb>>2]=3456;c[mb>>2]=0;c[mb+4>>2]=0;c[mb+8>>2]=0;c[mb+12>>2]=0;c[nb>>2]=24;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;lf(fb,j);In(j);c[rb>>2]=0;c[rb+4>>2]=0;c[rb+8>>2]=0;c[rb+12>>2]=0;c[rb+16>>2]=0;c[rb+20>>2]=0;c[rb+24>>2]=0;c[rb+28>>2]=0;a[x>>0]=1;c[ob>>2]=c[y>>2];c[pb>>2]=c[cb>>2];a[qb>>0]=0;Nc=+(na|0)/+(jc|0);g[l>>2]=Nc;of(tb,l);hc=le(kp(le(ip(le(ip(ub,na+1|0)|0,21926,4)|0,jc)|0,23054,2)|0,Nc)|0,21245,4)|0;Dh(m,y,0);jc=a[m>>0]|0;gc=(jc&1)==0;le(hc,gc?wb:c[vb>>2]|0,gc?(jc&255)>>>1:c[xb>>2]|0)|0;In(m);mf(o,fb);if(!(a[yb>>0]&1)){a[zb>>0]=0;a[yb>>0]=0}else{a[c[Db>>2]>>0]=0;c[Eb>>2]=0}On(yb,0);c[yb>>2]=c[o>>2];c[yb+4>>2]=c[o+4>>2];c[yb+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;In(o);c[k>>2]=3360;c[db>>2]=3400;c[ub>>2]=3380;c[fb>>2]=3456;In(mb);qo(fb);ko(db);jc=Lc+24|0;gc=c[jc>>2]|0;if(gc>>>0<(c[Lc+28>>2]|0)>>>0){a[gc>>0]=a[x>>0]|0;c[gc+4>>2]=c[ob>>2];c[gc+8>>2]=c[pb>>2];a[gc+12>>0]=a[qb>>0]|0;c[gc+16>>2]=c[rb>>2];c[gc+20>>2]=c[Ab>>2];hc=gc+24|0;c[hc>>2]=0;Cc=gc+28|0;c[Cc>>2]=0;c[gc+32>>2]=0;c[hc>>2]=c[tb>>2];c[Cc>>2]=c[sb>>2];c[gc+32>>2]=c[Bb>>2];c[Bb>>2]=0;c[sb>>2]=0;c[tb>>2]=0;Cc=gc+36|0;c[Cc>>2]=c[yb>>2];c[Cc+4>>2]=c[yb+4>>2];c[Cc+8>>2]=c[yb+8>>2];c[yb>>2]=0;c[yb+4>>2]=0;c[yb+8>>2]=0;c[jc>>2]=(c[jc>>2]|0)+48}else nf(Lc+20|0,x);In(yb);jc=c[Cb>>2]|0;Cc=jc;if(jc){gc=c[sb>>2]|0;if((gc|0)!=(jc|0))c[sb>>2]=gc+(~((gc+-4-Cc|0)>>>2)<<2);gk(jc)}In(w)}while(0);kc=c[ma>>2]|0;Bh(A,c[kc+(na<<3)>>2]<<1,c[kc+(na<<3)+4>>2]<<1);Eh(z,A,3);Ch(B,(na&1|0)==0?1.75:.5);kc=c[z>>2]|0;jc=c[e>>2]|0;if((kc|0)==(jc|0)){if((c[pa>>2]|0)>=(c[la>>2]|0))ic=78}else if((kc|0)>=(jc|0))ic=78;c:do if((ic|0)==78){ic=0;do if(!f){jc=c[q>>2]|0;if((kc|0)==(jc|0))if((c[pa>>2]|0)<(c[bb>>2]|0))break;else break c;else if((kc|0)<(jc|0))break;else break c}while(0);Fn(C,20579,13);oc=kf(qa,j,C)|0;jc=c[oc>>2]|0;if(!jc){Cc=ek(32)|0;gc=Cc+16|0;c[gc>>2]=c[C>>2];c[gc+4>>2]=c[C+4>>2];c[gc+8>>2]=c[C+8>>2];c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[Cc+28>>2]=0;gc=c[j>>2]|0;c[Cc>>2]=0;c[Cc+4>>2]=0;c[Cc+8>>2]=gc;c[oc>>2]=Cc;gc=c[c[qa>>2]>>2]|0;if(!gc)Oc=Cc;else{c[qa>>2]=gc;Oc=c[oc>>2]|0}xc(c[ra>>2]|0,Oc);c[sa>>2]=(c[sa>>2]|0)+1;Pc=Cc}else Pc=jc;jc=Pc+28|0;Cc=c[ka>>2]|0;do if(Cc){oc=c[jc>>2]|0;gc=Cc;while(1){hc=c[gc+16>>2]|0;if((oc|0)<(hc|0)){nc=c[gc>>2]|0;if(!nc){Qc=gc;Rc=gc;ic=90;break}else Sc=nc}else{if((hc|0)>=(oc|0)){Tc=gc;ic=96;break}hc=gc+4|0;nc=c[hc>>2]|0;if(!nc){Uc=hc;Vc=gc;ic=94;break}else Sc=nc}gc=Sc}if((ic|0)==90){ic=0;c[j>>2]=Rc;Wc=Qc;Xc=Rc;ic=97;break}else if((ic|0)==94){ic=0;c[j>>2]=Vc;Wc=Uc;Xc=Vc;ic=97;break}else if((ic|0)==96){ic=0;c[j>>2]=Tc;if(!Tc){Wc=j;Xc=Tc;ic=97;break}else{Yc=Tc;break}}}else{c[j>>2]=ka;Wc=ka;Xc=ta;ic=97}while(0);if((ic|0)==97){ic=0;Cc=ek(32)|0;c[Cc+16>>2]=c[jc>>2];c[Cc+20>>2]=0;c[Cc+24>>2]=0;c[Cc+28>>2]=0;c[Cc>>2]=0;c[Cc+4>>2]=0;c[Cc+8>>2]=Xc;c[Wc>>2]=Cc;gc=c[c[b>>2]>>2]|0;if(!gc)Zc=Cc;else{c[b>>2]=gc;Zc=c[Wc>>2]|0}xc(c[ia>>2]|0,Zc);c[ja>>2]=(c[ja>>2]|0)+1;Yc=Cc}c[E>>2]=c[z>>2];c[ua>>2]=c[pa>>2];c[F>>2]=c[B>>2];c[va>>2]=c[wa>>2];Cc=(c[r>>2]|0)-(c[ma>>2]|0)>>3;c[ya>>2]=3380;c[k>>2]=3420;c[xa>>2]=3440;c[Aa>>2]=0;po(Ba,za);c[Da>>2]=0;c[Ea>>2]=-1;c[k>>2]=3360;c[Ca>>2]=3400;c[ya>>2]=3380;so(za);c[za>>2]=3456;c[Ga>>2]=0;c[Ga+4>>2]=0;c[Ga+8>>2]=0;c[Ga+12>>2]=0;c[Ha>>2]=24;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;lf(za,j);In(j);c[La>>2]=0;c[La+4>>2]=0;c[La+8>>2]=0;c[La+12>>2]=0;c[La+16>>2]=0;c[La+20>>2]=0;c[La+24>>2]=0;c[La+28>>2]=0;a[D>>0]=1;c[Ia>>2]=c[E>>2];c[Ja>>2]=c[ua>>2];a[Ka>>0]=1;c[La>>2]=c[F>>2];c[Na>>2]=c[va>>2];Nc=+(na|0)/+(Cc|0);g[l>>2]=Nc;of(Pa,l);gc=le(kp(le(ip(le(ip(Qa,na+1|0)|0,21926,4)|0,Cc)|0,23054,2)|0,Nc)|0,21245,4)|0;Dh(m,E,0);Cc=a[m>>0]|0;oc=(Cc&1)==0;nc=le(le(gc,oc?Sa:c[Ra>>2]|0,oc?(Cc&255)>>>1:c[Ta>>2]|0)|0,21250,6)|0;Dh(o,F,0);Cc=a[o>>0]|0;oc=(Cc&1)==0;le(nc,oc?Va:c[Ua>>2]|0,oc?(Cc&255)>>>1:c[Wa>>2]|0)|0;In(o);In(m);mf(p,za);if(!(a[Xa>>0]&1)){a[Ya>>0]=0;a[Xa>>0]=0}else{a[c[$a>>2]>>0]=0;c[ab>>2]=0}On(Xa,0);c[Xa>>2]=c[p>>2];c[Xa+4>>2]=c[p+4>>2];c[Xa+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;In(p);c[k>>2]=3360;c[xa>>2]=3400;c[Qa>>2]=3380;c[za>>2]=3456;In(Ga);qo(za);ko(xa);Cc=Yc+24|0;oc=c[Cc>>2]|0;if(oc>>>0<(c[Yc+28>>2]|0)>>>0){a[oc>>0]=a[D>>0]|0;c[oc+4>>2]=c[Ia>>2];c[oc+8>>2]=c[Ja>>2];a[oc+12>>0]=a[Ka>>0]|0;c[oc+16>>2]=c[La>>2];c[oc+20>>2]=c[Na>>2];nc=oc+24|0;c[nc>>2]=0;gc=oc+28|0;c[gc>>2]=0;c[oc+32>>2]=0;c[nc>>2]=c[Pa>>2];c[gc>>2]=c[Oa>>2];c[oc+32>>2]=c[Za>>2];c[Za>>2]=0;c[Oa>>2]=0;c[Pa>>2]=0;gc=oc+36|0;c[gc>>2]=c[Xa>>2];c[gc+4>>2]=c[Xa+4>>2];c[gc+8>>2]=c[Xa+8>>2];c[Xa>>2]=0;c[Xa+4>>2]=0;c[Xa+8>>2]=0;c[Cc>>2]=(c[Cc>>2]|0)+48}else nf(Yc+20|0,D);In(Xa);Cc=c[_a>>2]|0;gc=Cc;if(Cc){oc=c[Oa>>2]|0;if((oc|0)!=(Cc|0))c[Oa>>2]=oc+(~((oc+-4-gc|0)>>>2)<<2);gk(Cc)}In(C)}while(0);na=na+1|0;fc=c[ma>>2]|0}while((na|0)<((c[r>>2]|0)-fc>>3|0))}fc=d+12|0;r=c[fc>>2]|0;if(!f){if((r|0)>=20){_c=c[q>>2]|0;$c=d+40|0;c[$c>>2]=_c;ad=q+4|0;bd=c[ad>>2]|0;cd=d+44|0;c[cd>>2]=bd;dd=c[fc>>2]|0;ed=dd+1|0;c[fc>>2]=ed;i=h;return}Fn(G,19791,9);f=d+48|0;na=kf(f,j,G)|0;ma=c[na>>2]|0;if(!ma){C=ek(32)|0;Oa=C+16|0;c[Oa>>2]=c[G>>2];c[Oa+4>>2]=c[G+4>>2];c[Oa+8>>2]=c[G+8>>2];c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[C+28>>2]=0;Oa=c[j>>2]|0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=Oa;c[na>>2]=C;Oa=c[c[f>>2]>>2]|0;if(!Oa)fd=C;else{c[f>>2]=Oa;fd=c[na>>2]|0}xc(c[d+52>>2]|0,fd);fd=d+56|0;c[fd>>2]=(c[fd>>2]|0)+1;gd=C}else gd=ma;ma=gd+28|0;gd=c[ka>>2]|0;do if(gd){C=c[ma>>2]|0;fd=gd;while(1){na=c[fd+16>>2]|0;if((C|0)<(na|0)){Oa=c[fd>>2]|0;if(!Oa){hd=fd;id=fd;ic=122;break}else jd=Oa}else{if((na|0)>=(C|0)){kd=fd;ic=128;break}na=fd+4|0;Oa=c[na>>2]|0;if(!Oa){ld=na;md=fd;ic=126;break}else jd=Oa}fd=jd}if((ic|0)==122){c[j>>2]=id;nd=hd;od=id;ic=129;break}else if((ic|0)==126){c[j>>2]=md;nd=ld;od=md;ic=129;break}else if((ic|0)==128){c[j>>2]=kd;if(!kd){nd=j;od=kd;ic=129;break}else{pd=kd;break}}}else{c[j>>2]=ka;nd=ka;od=ka;ic=129}while(0);if((ic|0)==129){kd=ek(32)|0;c[kd+16>>2]=c[ma>>2];c[kd+20>>2]=0;c[kd+24>>2]=0;c[kd+28>>2]=0;c[kd>>2]=0;c[kd+4>>2]=0;c[kd+8>>2]=od;c[nd>>2]=kd;od=c[c[b>>2]>>2]|0;if(!od)qd=kd;else{c[b>>2]=od;qd=c[nd>>2]|0}xc(c[ia>>2]|0,qd);c[ja>>2]=(c[ja>>2]|0)+1;pd=kd}c[I>>2]=c[e>>2];c[I+4>>2]=c[la>>2];pf(H,I,c[fc>>2]|0,20);I=pd+24|0;kd=c[I>>2]|0;if(kd>>>0<(c[pd+28>>2]|0)>>>0){a[kd>>0]=a[H>>0]|0;c[kd+4>>2]=c[H+4>>2];c[kd+8>>2]=c[H+8>>2];a[kd+12>>0]=a[H+12>>0]|0;c[kd+16>>2]=c[H+16>>2];c[kd+20>>2]=c[H+20>>2];qd=kd+24|0;nd=H+24|0;c[qd>>2]=0;od=kd+28|0;c[od>>2]=0;c[kd+32>>2]=0;c[qd>>2]=c[nd>>2];qd=H+28|0;c[od>>2]=c[qd>>2];od=H+32|0;c[kd+32>>2]=c[od>>2];c[od>>2]=0;c[qd>>2]=0;c[nd>>2]=0;nd=kd+36|0;kd=H+36|0;c[nd>>2]=c[kd>>2];c[nd+4>>2]=c[kd+4>>2];c[nd+8>>2]=c[kd+8>>2];c[kd>>2]=0;c[kd+4>>2]=0;c[kd+8>>2]=0;c[I>>2]=(c[I>>2]|0)+48;rd=kd}else{nf(pd+20|0,H);rd=H+36|0}In(rd);rd=c[H+24>>2]|0;pd=rd;if(rd){kd=H+28|0;H=c[kd>>2]|0;if((H|0)!=(rd|0))c[kd>>2]=H+(~((H+-4-pd|0)>>>2)<<2);gk(rd)}In(G);G=c[fc>>2]|0;if((G|0)<5){rd=d+48|0;Fn(J,19872,9);pd=kf(rd,j,J)|0;H=c[pd>>2]|0;if(!H){kd=ek(32)|0;I=kd+16|0;c[I>>2]=c[J>>2];c[I+4>>2]=c[J+4>>2];c[I+8>>2]=c[J+8>>2];c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[kd+28>>2]=0;I=c[j>>2]|0;c[kd>>2]=0;c[kd+4>>2]=0;c[kd+8>>2]=I;c[pd>>2]=kd;I=c[c[rd>>2]>>2]|0;if(!I)sd=kd;else{c[rd>>2]=I;sd=c[pd>>2]|0}xc(c[d+52>>2]|0,sd);sd=d+56|0;c[sd>>2]=(c[sd>>2]|0)+1;td=kd}else td=H;H=td+28|0;td=c[ka>>2]|0;do if(td){kd=c[H>>2]|0;sd=td;while(1){pd=c[sd+16>>2]|0;if((kd|0)<(pd|0)){I=c[sd>>2]|0;if(!I){ud=sd;vd=sd;ic=148;break}else wd=I}else{if((pd|0)>=(kd|0)){xd=sd;ic=154;break}pd=sd+4|0;I=c[pd>>2]|0;if(!I){yd=pd;zd=sd;ic=152;break}else wd=I}sd=wd}if((ic|0)==148){c[j>>2]=vd;Ad=ud;Bd=vd;ic=155;break}else if((ic|0)==152){c[j>>2]=zd;Ad=yd;Bd=zd;ic=155;break}else if((ic|0)==154){c[j>>2]=xd;if(!xd){Ad=j;Bd=xd;ic=155;break}else{Cd=xd;break}}}else{c[j>>2]=ka;Ad=ka;Bd=ka;ic=155}while(0);if((ic|0)==155){xd=ek(32)|0;c[xd+16>>2]=c[H>>2];c[xd+20>>2]=0;c[xd+24>>2]=0;c[xd+28>>2]=0;c[xd>>2]=0;c[xd+4>>2]=0;c[xd+8>>2]=Bd;c[Ad>>2]=xd;Bd=c[c[b>>2]>>2]|0;if(!Bd)Dd=xd;else{c[b>>2]=Bd;Dd=c[Ad>>2]|0}xc(c[ia>>2]|0,Dd);c[ja>>2]=(c[ja>>2]|0)+1;Cd=xd}Ch(L,+(c[fc>>2]|0)/2.5);pf(K,L,c[fc>>2]|0,10);L=Cd+24|0;xd=c[L>>2]|0;if(xd>>>0<(c[Cd+28>>2]|0)>>>0){a[xd>>0]=a[K>>0]|0;c[xd+4>>2]=c[K+4>>2];c[xd+8>>2]=c[K+8>>2];a[xd+12>>0]=a[K+12>>0]|0;c[xd+16>>2]=c[K+16>>2];c[xd+20>>2]=c[K+20>>2];Dd=xd+24|0;Ad=K+24|0;c[Dd>>2]=0;Bd=xd+28|0;c[Bd>>2]=0;c[xd+32>>2]=0;c[Dd>>2]=c[Ad>>2];Dd=K+28|0;c[Bd>>2]=c[Dd>>2];Bd=K+32|0;c[xd+32>>2]=c[Bd>>2];c[Bd>>2]=0;c[Dd>>2]=0;c[Ad>>2]=0;Ad=xd+36|0;xd=K+36|0;c[Ad>>2]=c[xd>>2];c[Ad+4>>2]=c[xd+4>>2];c[Ad+8>>2]=c[xd+8>>2];c[xd>>2]=0;c[xd+4>>2]=0;c[xd+8>>2]=0;c[L>>2]=(c[L>>2]|0)+48;Ed=xd}else{nf(Cd+20|0,K);Ed=K+36|0}In(Ed);Ed=c[K+24>>2]|0;Cd=Ed;if(Ed){xd=K+28|0;K=c[xd>>2]|0;if((K|0)!=(Ed|0))c[xd>>2]=K+(~((K+-4-Cd|0)>>>2)<<2);gk(Ed)}In(J);J=c[fc>>2]|0;Nc=+(((J|0)/4|0)<<1|0);Ed=(J|0)%4|0;if((Ed|0)>0)Fd=Nc+ +(Ed+-1|0)/6.0;else Fd=Nc;Fn(M,19981,15);Ed=kf(rd,j,M)|0;J=c[Ed>>2]|0;if(!J){Cd=ek(32)|0;K=Cd+16|0;c[K>>2]=c[M>>2];c[K+4>>2]=c[M+4>>2];c[K+8>>2]=c[M+8>>2];c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[Cd+28>>2]=0;K=c[j>>2]|0;c[Cd>>2]=0;c[Cd+4>>2]=0;c[Cd+8>>2]=K;c[Ed>>2]=Cd;K=c[c[rd>>2]>>2]|0;if(!K)Gd=Cd;else{c[rd>>2]=K;Gd=c[Ed>>2]|0}xc(c[d+52>>2]|0,Gd);Gd=d+56|0;c[Gd>>2]=(c[Gd>>2]|0)+1;Hd=Cd}else Hd=J;J=Hd+28|0;Hd=c[ka>>2]|0;do if(Hd){Cd=c[J>>2]|0;Gd=Hd;while(1){Ed=c[Gd+16>>2]|0;if((Cd|0)<(Ed|0)){K=c[Gd>>2]|0;if(!K){Id=Gd;Jd=Gd;ic=175;break}else Kd=K}else{if((Ed|0)>=(Cd|0)){Ld=Gd;ic=181;break}Ed=Gd+4|0;K=c[Ed>>2]|0;if(!K){Md=Ed;Nd=Gd;ic=179;break}else Kd=K}Gd=Kd}if((ic|0)==175){c[j>>2]=Jd;Od=Id;Pd=Jd;ic=182;break}else if((ic|0)==179){c[j>>2]=Nd;Od=Md;Pd=Nd;ic=182;break}else if((ic|0)==181){c[j>>2]=Ld;if(!Ld){Od=j;Pd=Ld;ic=182;break}else{Qd=Ld;break}}}else{c[j>>2]=ka;Od=ka;Pd=ka;ic=182}while(0);if((ic|0)==182){Ld=ek(32)|0;c[Ld+16>>2]=c[J>>2];c[Ld+20>>2]=0;c[Ld+24>>2]=0;c[Ld+28>>2]=0;c[Ld>>2]=0;c[Ld+4>>2]=0;c[Ld+8>>2]=Pd;c[Od>>2]=Ld;Pd=c[c[b>>2]>>2]|0;if(!Pd)Rd=Ld;else{c[b>>2]=Pd;Rd=c[Od>>2]|0}xc(c[ia>>2]|0,Rd);c[ja>>2]=(c[ja>>2]|0)+1;Qd=Ld}Ch(O,Fd);Ch(P,+(~~(Fd/.4000000059604645+.5)|0)*.4000000059604645);qf(N,O,P,c[fc>>2]|0);P=Qd+24|0;O=c[P>>2]|0;if(O>>>0<(c[Qd+28>>2]|0)>>>0){a[O>>0]=a[N>>0]|0;c[O+4>>2]=c[N+4>>2];c[O+8>>2]=c[N+8>>2];a[O+12>>0]=a[N+12>>0]|0;c[O+16>>2]=c[N+16>>2];c[O+20>>2]=c[N+20>>2];Ld=O+24|0;Rd=N+24|0;c[Ld>>2]=0;Od=O+28|0;c[Od>>2]=0;c[O+32>>2]=0;c[Ld>>2]=c[Rd>>2];Ld=N+28|0;c[Od>>2]=c[Ld>>2];Od=N+32|0;c[O+32>>2]=c[Od>>2];c[Od>>2]=0;c[Ld>>2]=0;c[Rd>>2]=0;Rd=O+36|0;O=N+36|0;c[Rd>>2]=c[O>>2];c[Rd+4>>2]=c[O+4>>2];c[Rd+8>>2]=c[O+8>>2];c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[P>>2]=(c[P>>2]|0)+48;Sd=O}else{nf(Qd+20|0,N);Sd=N+36|0}In(Sd);Sd=c[N+24>>2]|0;Qd=Sd;if(Sd){O=N+28|0;N=c[O>>2]|0;if((N|0)!=(Sd|0))c[O>>2]=N+(~((N+-4-Qd|0)>>>2)<<2);gk(Sd)}In(M);Td=c[fc>>2]|0}else Td=G;if((Td|0)>=20){_c=c[q>>2]|0;$c=d+40|0;c[$c>>2]=_c;ad=q+4|0;bd=c[ad>>2]|0;cd=d+44|0;c[cd>>2]=bd;dd=c[fc>>2]|0;ed=dd+1|0;c[fc>>2]=ed;i=h;return}Fn(Q,20359,8);Td=d+48|0;G=kf(Td,j,Q)|0;M=c[G>>2]|0;if(!M){Sd=ek(32)|0;Qd=Sd+16|0;c[Qd>>2]=c[Q>>2];c[Qd+4>>2]=c[Q+4>>2];c[Qd+8>>2]=c[Q+8>>2];c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Sd+28>>2]=0;Qd=c[j>>2]|0;c[Sd>>2]=0;c[Sd+4>>2]=0;c[Sd+8>>2]=Qd;c[G>>2]=Sd;Qd=c[c[Td>>2]>>2]|0;if(!Qd)Ud=Sd;else{c[Td>>2]=Qd;Ud=c[G>>2]|0}xc(c[d+52>>2]|0,Ud);Ud=d+56|0;c[Ud>>2]=(c[Ud>>2]|0)+1;Vd=Sd}else Vd=M;M=Vd+28|0;Vd=c[ka>>2]|0;do if(Vd){Sd=c[M>>2]|0;Ud=Vd;while(1){G=c[Ud+16>>2]|0;if((Sd|0)<(G|0)){Qd=c[Ud>>2]|0;if(!Qd){Wd=Ud;Xd=Ud;ic=202;break}else Yd=Qd}else{if((G|0)>=(Sd|0)){Zd=Ud;ic=208;break}G=Ud+4|0;Qd=c[G>>2]|0;if(!Qd){_d=G;$d=Ud;ic=206;break}else Yd=Qd}Ud=Yd}if((ic|0)==202){c[j>>2]=Xd;ae=Wd;be=Xd;ic=209;break}else if((ic|0)==206){c[j>>2]=$d;ae=_d;be=$d;ic=209;break}else if((ic|0)==208){c[j>>2]=Zd;if(!Zd){ae=j;be=Zd;ic=209;break}else{ce=Zd;break}}}else{c[j>>2]=ka;ae=ka;be=ka;ic=209}while(0);if((ic|0)==209){Zd=ek(32)|0;c[Zd+16>>2]=c[M>>2];c[Zd+20>>2]=0;c[Zd+24>>2]=0;c[Zd+28>>2]=0;c[Zd>>2]=0;c[Zd+4>>2]=0;c[Zd+8>>2]=be;c[ae>>2]=Zd;be=c[c[b>>2]>>2]|0;if(!be)de=Zd;else{c[b>>2]=be;de=c[ae>>2]|0}xc(c[ia>>2]|0,de);c[ja>>2]=(c[ja>>2]|0)+1;ce=Zd}c[S>>2]=c[e>>2];c[S+4>>2]=c[la>>2];rf(R,S,c[fc>>2]|0,20);S=ce+24|0;la=c[S>>2]|0;if(la>>>0<(c[ce+28>>2]|0)>>>0){a[la>>0]=a[R>>0]|0;c[la+4>>2]=c[R+4>>2];c[la+8>>2]=c[R+8>>2];a[la+12>>0]=a[R+12>>0]|0;c[la+16>>2]=c[R+16>>2];c[la+20>>2]=c[R+20>>2];e=la+24|0;Zd=R+24|0;c[e>>2]=0;de=la+28|0;c[de>>2]=0;c[la+32>>2]=0;c[e>>2]=c[Zd>>2];e=R+28|0;c[de>>2]=c[e>>2];de=R+32|0;c[la+32>>2]=c[de>>2];c[de>>2]=0;c[e>>2]=0;c[Zd>>2]=0;Zd=la+36|0;la=R+36|0;c[Zd>>2]=c[la>>2];c[Zd+4>>2]=c[la+4>>2];c[Zd+8>>2]=c[la+8>>2];c[la>>2]=0;c[la+4>>2]=0;c[la+8>>2]=0;c[S>>2]=(c[S>>2]|0)+48;ee=la}else{nf(ce+20|0,R);ee=R+36|0}In(ee);ee=c[R+24>>2]|0;ce=ee;if(ee){la=R+28|0;R=c[la>>2]|0;if((R|0)!=(ee|0))c[la>>2]=R+(~((R+-4-ce|0)>>>2)<<2);gk(ee)}In(Q);_c=c[q>>2]|0;$c=d+40|0;c[$c>>2]=_c;ad=q+4|0;bd=c[ad>>2]|0;cd=d+44|0;c[cd>>2]=bd;dd=c[fc>>2]|0;ed=dd+1|0;c[fc>>2]=ed;i=h;return}Q=(r|0)>5?5:r;r=d+48|0;if((Q|0)<10){ee=d+52|0;ce=d+56|0;R=ka;la=U+4|0;S=U+8|0;Zd=U+12|0;e=U+16|0;de=U+20|0;ae=U+24|0;be=U+28|0;M=U+32|0;$d=U+36|0;_d=U+24|0;Xd=X+4|0;Wd=X+8|0;Yd=X+12|0;Vd=X+16|0;Ud=X+20|0;Sd=X+24|0;Qd=X+28|0;G=X+32|0;Td=X+36|0;N=X+24|0;O=Q;do{Fn(T,19872,9);Q=kf(r,j,T)|0;P=c[Q>>2]|0;if(!P){Rd=ek(32)|0;Ld=Rd+16|0;c[Ld>>2]=c[T>>2];c[Ld+4>>2]=c[T+4>>2];c[Ld+8>>2]=c[T+8>>2];c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;c[Rd+28>>2]=0;Ld=c[j>>2]|0;c[Rd>>2]=0;c[Rd+4>>2]=0;c[Rd+8>>2]=Ld;c[Q>>2]=Rd;Ld=c[c[r>>2]>>2]|0;if(!Ld)fe=Rd;else{c[r>>2]=Ld;fe=c[Q>>2]|0}xc(c[ee>>2]|0,fe);c[ce>>2]=(c[ce>>2]|0)+1;ge=Rd}else ge=P;P=ge+28|0;Rd=c[ka>>2]|0;do if(Rd){Q=c[P>>2]|0;Ld=Rd;while(1){Od=c[Ld+16>>2]|0;if((Q|0)<(Od|0)){Pd=c[Ld>>2]|0;if(!Pd){he=Ld;ie=Ld;ic=232;break}else je=Pd}else{if((Od|0)>=(Q|0)){ke=Ld;ic=238;break}Od=Ld+4|0;Pd=c[Od>>2]|0;if(!Pd){me=Od;ne=Ld;ic=236;break}else je=Pd}Ld=je}if((ic|0)==232){ic=0;c[j>>2]=ie;oe=he;pe=ie;ic=239;break}else if((ic|0)==236){ic=0;c[j>>2]=ne;oe=me;pe=ne;ic=239;break}else if((ic|0)==238){ic=0;c[j>>2]=ke;if(!ke){oe=j;pe=ke;ic=239;break}else{qe=ke;break}}}else{c[j>>2]=ka;oe=ka;pe=R;ic=239}while(0);if((ic|0)==239){ic=0;Rd=ek(32)|0;c[Rd+16>>2]=c[P>>2];c[Rd+20>>2]=0;c[Rd+24>>2]=0;c[Rd+28>>2]=0;c[Rd>>2]=0;c[Rd+4>>2]=0;c[Rd+8>>2]=pe;c[oe>>2]=Rd;Ld=c[c[b>>2]>>2]|0;if(!Ld)re=Rd;else{c[b>>2]=Ld;re=c[oe>>2]|0}xc(c[ia>>2]|0,re);c[ja>>2]=(c[ja>>2]|0)+1;qe=Rd}Ch(V,+(O|0)/2.5);pf(U,V,O,10);Rd=qe+24|0;Ld=c[Rd>>2]|0;if(Ld>>>0<(c[qe+28>>2]|0)>>>0){a[Ld>>0]=a[U>>0]|0;c[Ld+4>>2]=c[la>>2];c[Ld+8>>2]=c[S>>2];a[Ld+12>>0]=a[Zd>>0]|0;c[Ld+16>>2]=c[e>>2];c[Ld+20>>2]=c[de>>2];Q=Ld+24|0;c[Q>>2]=0;jc=Ld+28|0;c[jc>>2]=0;c[Ld+32>>2]=0;c[Q>>2]=c[ae>>2];c[jc>>2]=c[be>>2];c[Ld+32>>2]=c[M>>2];c[M>>2]=0;c[be>>2]=0;c[ae>>2]=0;jc=Ld+36|0;c[jc>>2]=c[$d>>2];c[jc+4>>2]=c[$d+4>>2];c[jc+8>>2]=c[$d+8>>2];c[$d>>2]=0;c[$d+4>>2]=0;c[$d+8>>2]=0;c[Rd>>2]=(c[Rd>>2]|0)+48}else nf(qe+20|0,U);In($d);Rd=c[_d>>2]|0;jc=Rd;if(Rd){Ld=c[be>>2]|0;if((Ld|0)!=(Rd|0))c[be>>2]=Ld+(~((Ld+-4-jc|0)>>>2)<<2);gk(Rd)}In(T);Fd=+(((O|0)/4|0)<<1|0);Rd=(O|0)%4|0;if((Rd|0)>0)se=Fd+ +(Rd+-1|0)/6.0;else se=Fd;Fn(W,19981,15);Rd=kf(r,j,W)|0;jc=c[Rd>>2]|0;if(!jc){Ld=ek(32)|0;Q=Ld+16|0;c[Q>>2]=c[W>>2];c[Q+4>>2]=c[W+4>>2];c[Q+8>>2]=c[W+8>>2];c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;c[Ld+28>>2]=0;Q=c[j>>2]|0;c[Ld>>2]=0;c[Ld+4>>2]=0;c[Ld+8>>2]=Q;c[Rd>>2]=Ld;Q=c[c[r>>2]>>2]|0;if(!Q)te=Ld;else{c[r>>2]=Q;te=c[Rd>>2]|0}xc(c[ee>>2]|0,te);c[ce>>2]=(c[ce>>2]|0)+1;ue=Ld}else ue=jc;jc=ue+28|0;Ld=c[ka>>2]|0;do if(Ld){Rd=c[jc>>2]|0;Q=Ld;while(1){Pd=c[Q+16>>2]|0;if((Rd|0)<(Pd|0)){Od=c[Q>>2]|0;if(!Od){ve=Q;we=Q;ic=259;break}else xe=Od}else{if((Pd|0)>=(Rd|0)){ye=Q;ic=265;break}Pd=Q+4|0;Od=c[Pd>>2]|0;if(!Od){ze=Pd;Ae=Q;ic=263;break}else xe=Od}Q=xe}if((ic|0)==259){ic=0;c[j>>2]=we;Be=ve;Ce=we;ic=266;break}else if((ic|0)==263){ic=0;c[j>>2]=Ae;Be=ze;Ce=Ae;ic=266;break}else if((ic|0)==265){ic=0;c[j>>2]=ye;if(!ye){Be=j;Ce=ye;ic=266;break}else{De=ye;break}}}else{c[j>>2]=ka;Be=ka;Ce=R;ic=266}while(0);if((ic|0)==266){ic=0;Ld=ek(32)|0;c[Ld+16>>2]=c[jc>>2];c[Ld+20>>2]=0;c[Ld+24>>2]=0;c[Ld+28>>2]=0;c[Ld>>2]=0;c[Ld+4>>2]=0;c[Ld+8>>2]=Ce;c[Be>>2]=Ld;P=c[c[b>>2]>>2]|0;if(!P)Ee=Ld;else{c[b>>2]=P;Ee=c[Be>>2]|0}xc(c[ia>>2]|0,Ee);c[ja>>2]=(c[ja>>2]|0)+1;De=Ld}Ch(Y,se);Ch(Z,+(~~(se/.4000000059604645+.5)|0)*.4000000059604645);qf(X,Y,Z,O);Ld=De+24|0;P=c[Ld>>2]|0;if(P>>>0<(c[De+28>>2]|0)>>>0){a[P>>0]=a[X>>0]|0;c[P+4>>2]=c[Xd>>2];c[P+8>>2]=c[Wd>>2];a[P+12>>0]=a[Yd>>0]|0;c[P+16>>2]=c[Vd>>2];c[P+20>>2]=c[Ud>>2];Q=P+24|0;c[Q>>2]=0;Rd=P+28|0;c[Rd>>2]=0;c[P+32>>2]=0;c[Q>>2]=c[Sd>>2];c[Rd>>2]=c[Qd>>2];c[P+32>>2]=c[G>>2];c[G>>2]=0;c[Qd>>2]=0;c[Sd>>2]=0;Rd=P+36|0;c[Rd>>2]=c[Td>>2];c[Rd+4>>2]=c[Td+4>>2];c[Rd+8>>2]=c[Td+8>>2];c[Td>>2]=0;c[Td+4>>2]=0;c[Td+8>>2]=0;c[Ld>>2]=(c[Ld>>2]|0)+48}else nf(De+20|0,X);In(Td);Ld=c[N>>2]|0;Rd=Ld;if(Ld){P=c[Qd>>2]|0;if((P|0)!=(Ld|0))c[Qd>>2]=P+(~((P+-4-Rd|0)>>>2)<<2);gk(Ld)}In(W);O=O+1|0}while((O|0)<10);Fe=r;Ge=ee;He=ce;Ie=r;Je=ka;Ke=ka;Le=R;Me=b}else{Fe=r;Ge=d+52|0;He=d+56|0;Ie=r;Je=ka;Ke=ka;Le=ka;Me=b}R=ca+4|0;ce=ca+8|0;ee=ca+12|0;O=ca+16|0;W=ca+20|0;Qd=ca+24|0;N=ca+28|0;Td=ca+32|0;X=ca+36|0;De=ca+24|0;Sd=$+4|0;G=$+8|0;Ud=$+12|0;Vd=$+16|0;Yd=$+20|0;Wd=$+24|0;Xd=$+28|0;Z=$+32|0;Y=$+36|0;Ee=$+24|0;Be=0;do{if((a[144]|0)==0?(Fa(144)|0)!=0:0){c[888]=0;c[889]=0;c[890]=0;Ce=ek(40)|0;c[888]=Ce;ye=Ce+40|0;c[890]=ye;c[Ce>>2]=1075419546;c[Ce+4>>2]=1077516698;c[Ce+8>>2]=1078523331;c[Ce+12>>2]=1080033280;c[Ce+16>>2]=1082130432;c[Ce+20>>2]=1082969293;c[Ce+24>>2]=1081711002;c[Ce+28>>2]=1082969293;c[Ce+32>>2]=1083808154;c[Ce+36>>2]=1084227584;c[889]=ye;ib(184,3552,n|0)|0;Ma(144)}se=+g[(c[888]|0)+(Be<<2)>>2];Fd=+(~~(se/.4000000059604645+.5)|0)*.4000000059604645+1.0e-05;switch(Be|0){case 4:case 5:case 8:{Fn(_,20132,15);ye=kf(r,j,_)|0;Ce=c[ye>>2]|0;if(!Ce){Ae=ek(32)|0;ze=Ae+16|0;c[ze>>2]=c[_>>2];c[ze+4>>2]=c[_+4>>2];c[ze+8>>2]=c[_+8>>2];c[_>>2]=0;c[_+4>>2]=0;c[_+8>>2]=0;c[Ae+28>>2]=0;ze=c[j>>2]|0;c[Ae>>2]=0;c[Ae+4>>2]=0;c[Ae+8>>2]=ze;c[ye>>2]=Ae;ze=c[c[Fe>>2]>>2]|0;if(!ze)Ne=Ae;else{c[Ie>>2]=ze;Ne=c[ye>>2]|0}xc(c[Ge>>2]|0,Ne);c[He>>2]=(c[He>>2]|0)+1;Oe=Ae}else Oe=Ce;Ce=Oe+28|0;Ae=c[Je>>2]|0;do if(Ae){ye=c[Ce>>2]|0;ze=Ae;while(1){we=c[ze+16>>2]|0;if((ye|0)<(we|0)){ve=c[ze>>2]|0;if(!ve){Pe=ze;Qe=ze;ic=290;break}else Re=ve}else{if((we|0)>=(ye|0)){Se=ze;ic=296;break}we=ze+4|0;ve=c[we>>2]|0;if(!ve){Te=we;Ue=ze;ic=294;break}else Re=ve}ze=Re}if((ic|0)==290){ic=0;c[j>>2]=Qe;Ve=Pe;We=Qe;ic=297;break}else if((ic|0)==294){ic=0;c[j>>2]=Ue;Ve=Te;We=Ue;ic=297;break}else if((ic|0)==296){ic=0;c[j>>2]=Se;if(!Se){Ve=j;We=Se;ic=297;break}else{Xe=Se;break}}}else{c[j>>2]=ka;Ve=Ke;We=Le;ic=297}while(0);if((ic|0)==297){ic=0;Ae=ek(32)|0;c[Ae+16>>2]=c[Ce>>2];c[Ae+20>>2]=0;c[Ae+24>>2]=0;c[Ae+28>>2]=0;c[Ae>>2]=0;c[Ae+4>>2]=0;c[Ae+8>>2]=We;c[Ve>>2]=Ae;jc=c[c[b>>2]>>2]|0;if(!jc)Ye=Ae;else{c[Me>>2]=jc;Ye=c[Ve>>2]|0}xc(c[ia>>2]|0,Ye);c[ja>>2]=(c[ja>>2]|0)+1;Xe=Ae}Ch(aa,se);pf($,aa,Be,10);Ae=Xe+24|0;jc=c[Ae>>2]|0;if(jc>>>0<(c[Xe+28>>2]|0)>>>0){a[jc>>0]=a[$>>0]|0;c[jc+4>>2]=c[Sd>>2];c[jc+8>>2]=c[G>>2];a[jc+12>>0]=a[Ud>>0]|0;c[jc+16>>2]=c[Vd>>2];c[jc+20>>2]=c[Yd>>2];ze=jc+24|0;c[ze>>2]=0;ye=jc+28|0;c[ye>>2]=0;c[jc+32>>2]=0;c[ze>>2]=c[Wd>>2];c[ye>>2]=c[Xd>>2];c[jc+32>>2]=c[Z>>2];c[Z>>2]=0;c[Xd>>2]=0;c[Wd>>2]=0;ye=jc+36|0;c[ye>>2]=c[Y>>2];c[ye+4>>2]=c[Y+4>>2];c[ye+8>>2]=c[Y+8>>2];c[Y>>2]=0;c[Y+4>>2]=0;c[Y+8>>2]=0;c[Ae>>2]=(c[Ae>>2]|0)+48}else nf(Xe+20|0,$);In(Y);Ae=c[Ee>>2]|0;ye=Ae;if(Ae){jc=c[Xd>>2]|0;if((jc|0)!=(Ae|0))c[Xd>>2]=jc+(~((jc+-4-ye|0)>>>2)<<2);gk(Ae)}In(_);break}default:{Fn(ba,20132,15);Ae=kf(r,j,ba)|0;ye=c[Ae>>2]|0;if(!ye){jc=ek(32)|0;ze=jc+16|0;c[ze>>2]=c[ba>>2];c[ze+4>>2]=c[ba+4>>2];c[ze+8>>2]=c[ba+8>>2];c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[jc+28>>2]=0;ze=c[j>>2]|0;c[jc>>2]=0;c[jc+4>>2]=0;c[jc+8>>2]=ze;c[Ae>>2]=jc;ze=c[c[Fe>>2]>>2]|0;if(!ze)Ze=jc;else{c[Ie>>2]=ze;Ze=c[Ae>>2]|0}xc(c[Ge>>2]|0,Ze);c[He>>2]=(c[He>>2]|0)+1;_e=jc}else _e=ye;ye=_e+28|0;jc=c[Je>>2]|0;do if(jc){Ae=c[ye>>2]|0;ze=jc;while(1){ve=c[ze+16>>2]|0;if((Ae|0)<(ve|0)){we=c[ze>>2]|0;if(!we){$e=ze;af=ze;ic=316;break}else bf=we}else{if((ve|0)>=(Ae|0)){cf=ze;ic=322;break}ve=ze+4|0;we=c[ve>>2]|0;if(!we){df=ve;ef=ze;ic=320;break}else bf=we}ze=bf}if((ic|0)==316){ic=0;c[j>>2]=af;ff=$e;gf=af;ic=323;break}else if((ic|0)==320){ic=0;c[j>>2]=ef;ff=df;gf=ef;ic=323;break}else if((ic|0)==322){ic=0;c[j>>2]=cf;if(!cf){ff=j;gf=cf;ic=323;break}else{hf=cf;break}}}else{c[j>>2]=ka;ff=Ke;gf=Le;ic=323}while(0);if((ic|0)==323){ic=0;jc=ek(32)|0;c[jc+16>>2]=c[ye>>2];c[jc+20>>2]=0;c[jc+24>>2]=0;c[jc+28>>2]=0;c[jc>>2]=0;c[jc+4>>2]=0;c[jc+8>>2]=gf;c[ff>>2]=jc;Ce=c[c[b>>2]>>2]|0;if(!Ce)jf=jc;else{c[Me>>2]=Ce;jf=c[ff>>2]|0}xc(c[ia>>2]|0,jf);c[ja>>2]=(c[ja>>2]|0)+1;hf=jc}Ch(da,se);Ch(ea,Fd);qf(ca,da,ea,Be);jc=hf+24|0;Ce=c[jc>>2]|0;if(Ce>>>0<(c[hf+28>>2]|0)>>>0){a[Ce>>0]=a[ca>>0]|0;c[Ce+4>>2]=c[R>>2];c[Ce+8>>2]=c[ce>>2];a[Ce+12>>0]=a[ee>>0]|0;c[Ce+16>>2]=c[O>>2];c[Ce+20>>2]=c[W>>2];ze=Ce+24|0;c[ze>>2]=0;Ae=Ce+28|0;c[Ae>>2]=0;c[Ce+32>>2]=0;c[ze>>2]=c[Qd>>2];c[Ae>>2]=c[N>>2];c[Ce+32>>2]=c[Td>>2];c[Td>>2]=0;c[N>>2]=0;c[Qd>>2]=0;Ae=Ce+36|0;c[Ae>>2]=c[X>>2];c[Ae+4>>2]=c[X+4>>2];c[Ae+8>>2]=c[X+8>>2];c[X>>2]=0;c[X+4>>2]=0;c[X+8>>2]=0;c[jc>>2]=(c[jc>>2]|0)+48}else nf(hf+20|0,ca);In(X);jc=c[De>>2]|0;Ae=jc;if(jc){Ce=c[N>>2]|0;if((Ce|0)!=(jc|0))c[N>>2]=Ce+(~((Ce+-4-Ae|0)>>>2)<<2);gk(jc)}In(ba)}}Be=Be+1|0}while((Be|0)<10);Be=ga+4|0;ba=ga+8|0;N=ga+12|0;De=ga+16|0;X=ga+20|0;ca=ga+24|0;hf=ga+28|0;Qd=ga+32|0;Td=ga+36|0;W=ga+24|0;O=0;do{Fn(fa,20455,8);ee=kf(r,j,fa)|0;ce=c[ee>>2]|0;if(!ce){R=ek(32)|0;ea=R+16|0;c[ea>>2]=c[fa>>2];c[ea+4>>2]=c[fa+4>>2];c[ea+8>>2]=c[fa+8>>2];c[fa>>2]=0;c[fa+4>>2]=0;c[fa+8>>2]=0;c[R+28>>2]=0;ea=c[j>>2]|0;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=ea;c[ee>>2]=R;ea=c[c[Fe>>2]>>2]|0;if(!ea)sf=R;else{c[Ie>>2]=ea;sf=c[ee>>2]|0}xc(c[Ge>>2]|0,sf);c[He>>2]=(c[He>>2]|0)+1;tf=R}else tf=ce;ce=tf+28|0;R=c[Je>>2]|0;do if(R){ee=c[ce>>2]|0;ea=R;while(1){da=c[ea+16>>2]|0;if((ee|0)<(da|0)){jf=c[ea>>2]|0;if(!jf){uf=ea;vf=ea;ic=343;break}else wf=jf}else{if((da|0)>=(ee|0)){xf=ea;ic=349;break}da=ea+4|0;jf=c[da>>2]|0;if(!jf){yf=da;zf=ea;ic=347;break}else wf=jf}ea=wf}if((ic|0)==343){ic=0;c[j>>2]=vf;Af=uf;Bf=vf;ic=350;break}else if((ic|0)==347){ic=0;c[j>>2]=zf;Af=yf;Bf=zf;ic=350;break}else if((ic|0)==349){ic=0;c[j>>2]=xf;if(!xf){Af=j;Bf=xf;ic=350;break}else{Cf=xf;break}}}else{c[j>>2]=ka;Af=Ke;Bf=Le;ic=350}while(0);if((ic|0)==350){ic=0;R=ek(32)|0;c[R+16>>2]=c[ce>>2];c[R+20>>2]=0;c[R+24>>2]=0;c[R+28>>2]=0;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=Bf;c[Af>>2]=R;ye=c[c[b>>2]>>2]|0;if(!ye)Df=R;else{c[Me>>2]=ye;Df=c[Af>>2]|0}xc(c[ia>>2]|0,Df);c[ja>>2]=(c[ja>>2]|0)+1;Cf=R}Ch(ha,+(O|0)/2.5);rf(ga,ha,O,10);R=Cf+24|0;ye=c[R>>2]|0;if(ye>>>0<(c[Cf+28>>2]|0)>>>0){a[ye>>0]=a[ga>>0]|0;c[ye+4>>2]=c[Be>>2];c[ye+8>>2]=c[ba>>2];a[ye+12>>0]=a[N>>0]|0;c[ye+16>>2]=c[De>>2];c[ye+20>>2]=c[X>>2];ea=ye+24|0;c[ea>>2]=0;ee=ye+28|0;c[ee>>2]=0;c[ye+32>>2]=0;c[ea>>2]=c[ca>>2];c[ee>>2]=c[hf>>2];c[ye+32>>2]=c[Qd>>2];c[Qd>>2]=0;c[hf>>2]=0;c[ca>>2]=0;ee=ye+36|0;c[ee>>2]=c[Td>>2];c[ee+4>>2]=c[Td+4>>2];c[ee+8>>2]=c[Td+8>>2];c[Td>>2]=0;c[Td+4>>2]=0;c[Td+8>>2]=0;c[R>>2]=(c[R>>2]|0)+48}else nf(Cf+20|0,ga);In(Td);R=c[W>>2]|0;ee=R;if(R){ye=c[hf>>2]|0;if((ye|0)!=(R|0))c[hf>>2]=ye+(~((ye+-4-ee|0)>>>2)<<2);gk(R)}In(fa);O=O+1|0}while((O|0)<10);_c=c[q>>2]|0;$c=d+40|0;c[$c>>2]=_c;ad=q+4|0;bd=c[ad>>2]|0;cd=d+44|0;c[cd>>2]=bd;dd=c[fc>>2]|0;ed=dd+1|0;c[fc>>2]=ed;i=h;return}function $e(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var 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,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0.0,_=0,$=0,aa=0.0,ba=0.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,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;j=i;i=i+160|0;l=j+156|0;m=j+144|0;n=j+136|0;o=j+88|0;p=j+80|0;q=j+68|0;r=j+56|0;s=j+44|0;t=j+32|0;u=j+28|0;v=j+16|0;w=j+12|0;x=j;if(!(a[d+9>>0]|0)){c[b+4>>2]=0;c[b+8>>2]=0;c[b>>2]=b+4;i=j;return}c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];_e(m,d,n,0);a[o>>0]=0;n=o+4|0;c[n>>2]=0;y=o+8|0;c[y>>2]=0;z=o+12|0;a[z>>0]=0;A=o+16|0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[A+16>>2]=0;c[A+20>>2]=0;c[A+24>>2]=0;c[A+28>>2]=0;B=d+28|0;if((c[B>>2]|0)>0){C=d+8|0;D=d+36|0;E=o+28|0;F=o+32|0;G=o+24|0;H=q+4|0;I=q+8|0;J=r+4|0;K=r+8|0;L=s+4|0;M=s+8|0;N=t+4|0;P=t+8|0;Q=t+8|0;R=s+8|0;S=r+8|0;T=q+8|0;U=0;do{do if(!(a[C>>0]|0)){V=c[e+(U<<2)>>2]|0;W=c[V>>2]|0;c[p>>2]=W;X=c[D>>2]|0;if((X|0)>0){Y=W;Z=(c[k>>2]=W,+g[k>>2]);_=0;while(1){if(!(+O(+(+g[V+(_<<2)>>2]))>=9.999999974752427e-07)){$=Y;aa=Z}else{ba=Z+1.0;g[p>>2]=ba;$=(g[k>>2]=ba,c[k>>2]|0);aa=ba}_=_+1|0;if((_|0)>=(X|0)){ca=$;break}else{Y=$;Z=aa}}}else ca=W;Y=c[E>>2]|0;if((Y|0)==(c[F>>2]|0)){of(G,p);break}else{c[Y>>2]=ca;c[E>>2]=Y+4;break}}else{Y=c[D>>2]|0;c[q>>2]=0;c[H>>2]=0;c[I>>2]=0;if(Y){if(Y>>>0>536870911)ck(q);X=ek(Y<<3)|0;c[q>>2]=X;_=X+(Y<<3)|0;c[T>>2]=_;hx(X|0,0,Y<<3|0)|0;c[H>>2]=_;_=c[D>>2]|0;c[r>>2]=0;c[J>>2]=0;c[K>>2]=0;if(_){if(_>>>0>536870911)ck(r);Y=ek(_<<3)|0;c[r>>2]=Y;X=Y+(_<<3)|0;c[S>>2]=X;hx(Y|0,0,_<<3|0)|0;c[J>>2]=X;X=c[D>>2]|0;c[s>>2]=0;c[L>>2]=0;c[M>>2]=0;if(X){if(X>>>0>536870911)ck(s);_=ek(X<<3)|0;c[s>>2]=_;Y=_+(X<<3)|0;c[R>>2]=Y;hx(_|0,0,X<<3|0)|0;c[L>>2]=Y;Y=c[D>>2]|0;c[t>>2]=0;c[N>>2]=0;c[P>>2]=0;if(Y){if(Y>>>0>536870911)ck(t);X=ek(Y<<3)|0;c[t>>2]=X;_=X+(Y<<3)|0;c[Q>>2]=_;hx(X|0,0,Y<<3|0)|0;c[N>>2]=_;_=c[D>>2]|0;if((_|0)<-1){da=_;ea=c[q>>2]|0;fa=c[r>>2]|0;ga=X}else{ha=X;ia=_;ja=31}}else{ha=0;ia=0;ja=31}}else ja=26}else ja=22}else{c[r>>2]=0;c[J>>2]=0;c[K>>2]=0;ja=22}if((ja|0)==22){ja=0;c[s>>2]=0;c[L>>2]=0;c[M>>2]=0;ja=26}if((ja|0)==26){ja=0;c[t>>2]=0;c[N>>2]=0;c[P>>2]=0;ha=0;ia=0;ja=31}if((ja|0)==31){ja=0;_=c[e+(U<<2)>>2]|0;X=c[q>>2]|0;Y=c[r>>2]|0;V=(ia|0)/2|0;ka=0;while(1){la=ka<<1;ma=X+(ka<<3)|0;h[ma>>3]=+g[_+(la<<2)>>2];na=Y+(ka<<3)|0;h[na>>3]=+g[_+((la|1)<<2)>>2];if((ka|0)>0){la=ia-ka|0;h[X+(la<<3)>>3]=+h[ma>>3];h[Y+(la<<3)>>3]=-+h[na>>3]}if((ka|0)<(V|0))ka=ka+1|0;else{da=ia;ea=X;fa=Y;ga=ha;break}}}Hh(da,ea,fa,c[s>>2]|0,ga);g[u>>2]=0.0;Y=c[D>>2]|0;X=c[s>>2]|0;if((Y|0)>0){Z=0.0;ka=0;while(1){if(!(+O(+(+h[X+(ka<<3)>>3]))>=9.999999974752427e-07))oa=Z;else{ba=Z+1.0;g[u>>2]=ba;oa=ba}ka=ka+1|0;if((ka|0)>=(Y|0)){pa=oa;break}else Z=oa}}else pa=0.0;Z=+h[X>>3]+pa;g[u>>2]=Z;Y=c[E>>2]|0;if((Y|0)==(c[F>>2]|0))of(G,u);else{g[Y>>2]=Z;c[E>>2]=Y+4}Y=c[t>>2]|0;ka=Y;if(Y){V=c[N>>2]|0;if((V|0)!=(Y|0))c[N>>2]=V+(~((V+-8-ka|0)>>>3)<<3);gk(Y)}Y=c[s>>2]|0;ka=Y;if(Y){V=c[L>>2]|0;if((V|0)!=(Y|0))c[L>>2]=V+(~((V+-8-ka|0)>>>3)<<3);gk(Y)}Y=c[r>>2]|0;ka=Y;if(Y){V=c[J>>2]|0;if((V|0)!=(Y|0))c[J>>2]=V+(~((V+-8-ka|0)>>>3)<<3);gk(Y)}Y=c[q>>2]|0;ka=Y;if(Y){V=c[H>>2]|0;if((V|0)!=(Y|0))c[H>>2]=V+(~((V+-8-ka|0)>>>3)<<3);gk(Y)}}while(0);U=U+1|0}while((U|0)<(c[B>>2]|0))}B=d+48|0;Fn(v,20663,13);U=kf(B,l,v)|0;H=c[U>>2]|0;if(!H){q=ek(32)|0;J=q+16|0;c[J>>2]=c[v>>2];c[J+4>>2]=c[v+4>>2];c[J+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[q+28>>2]=0;J=c[l>>2]|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=J;c[U>>2]=q;J=c[c[B>>2]>>2]|0;if(!J)qa=q;else{c[B>>2]=J;qa=c[U>>2]|0}xc(c[d+52>>2]|0,qa);qa=d+56|0;c[qa>>2]=(c[qa>>2]|0)+1;ra=q}else ra=H;H=ra+28|0;ra=m+4|0;q=c[ra>>2]|0;do if(q){qa=c[H>>2]|0;U=q;while(1){J=c[U+16>>2]|0;if((qa|0)<(J|0)){r=c[U>>2]|0;if(!r){sa=U;ta=U;ja=67;break}else ua=r}else{if((J|0)>=(qa|0)){va=U;ja=73;break}J=U+4|0;r=c[J>>2]|0;if(!r){wa=J;xa=U;ja=71;break}else ua=r}U=ua}if((ja|0)==67){c[l>>2]=ta;ya=sa;za=ta;ja=74;break}else if((ja|0)==71){c[l>>2]=xa;ya=wa;za=xa;ja=74;break}else if((ja|0)==73){c[l>>2]=va;if(!va){ya=l;za=va;ja=74;break}else{Aa=va;break}}}else{c[l>>2]=ra;ya=ra;za=ra;ja=74}while(0);if((ja|0)==74){va=ek(32)|0;c[va+16>>2]=c[H>>2];c[va+20>>2]=0;c[va+24>>2]=0;c[va+28>>2]=0;c[va>>2]=0;c[va+4>>2]=0;c[va+8>>2]=za;c[ya>>2]=va;za=c[c[m>>2]>>2]|0;if(!za)Ba=va;else{c[m>>2]=za;Ba=c[ya>>2]|0}xc(c[m+4>>2]|0,Ba);Ba=m+8|0;c[Ba>>2]=(c[Ba>>2]|0)+1;Aa=va}va=Aa+24|0;Ba=c[va>>2]|0;if((Ba|0)==(c[Aa+28>>2]|0)){uf(Aa+20|0,o);Ca=o+24|0}else{a[Ba>>0]=a[o>>0]|0;c[Ba+4>>2]=c[n>>2];c[Ba+8>>2]=c[y>>2];a[Ba+12>>0]=a[z>>0]|0;c[Ba+16>>2]=c[A>>2];c[Ba+20>>2]=c[o+20>>2];Aa=o+24|0;Od(Ba+24|0,Aa);En(Ba+36|0,o+36|0);c[va>>2]=(c[va>>2]|0)+48;Ca=Aa}In(v);v=c[o+24>>2]|0;Aa=o+28|0;va=c[Aa>>2]|0;if((va|0)!=(v|0))c[Aa>>2]=va+(~((va+-4-v|0)>>>2)<<2);pa=+(Fh(f,~~+g[d+4>>2]>>>0)|0);g[w>>2]=pa;f=c[Aa>>2]|0;if((f|0)==(c[o+32>>2]|0))of(Ca,w);else{g[f>>2]=pa;c[Aa>>2]=f+4}Fn(x,21052,15);f=kf(B,l,x)|0;w=c[f>>2]|0;if(!w){v=ek(32)|0;va=v+16|0;c[va>>2]=c[x>>2];c[va+4>>2]=c[x+4>>2];c[va+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[v+28>>2]=0;va=c[l>>2]|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=va;c[f>>2]=v;va=c[c[B>>2]>>2]|0;if(!va)Da=v;else{c[B>>2]=va;Da=c[f>>2]|0}xc(c[d+52>>2]|0,Da);Da=d+56|0;c[Da>>2]=(c[Da>>2]|0)+1;Ea=v}else Ea=w;w=Ea+28|0;Ea=c[ra>>2]|0;do if(Ea){v=c[w>>2]|0;Da=Ea;while(1){d=c[Da+16>>2]|0;if((v|0)<(d|0)){f=c[Da>>2]|0;if(!f){Fa=Da;Ga=Da;ja=93;break}else Ha=f}else{if((d|0)>=(v|0)){Ia=Da;ja=99;break}d=Da+4|0;f=c[d>>2]|0;if(!f){Ja=d;Ka=Da;ja=97;break}else Ha=f}Da=Ha}if((ja|0)==93){c[l>>2]=Ga;La=Fa;Ma=Ga;ja=100;break}else if((ja|0)==97){c[l>>2]=Ka;La=Ja;Ma=Ka;ja=100;break}else if((ja|0)==99){c[l>>2]=Ia;if(!Ia){La=l;Ma=Ia;ja=100;break}else{Na=Ia;break}}}else{c[l>>2]=ra;La=ra;Ma=ra;ja=100}while(0);if((ja|0)==100){ja=ek(32)|0;c[ja+16>>2]=c[w>>2];c[ja+20>>2]=0;c[ja+24>>2]=0;c[ja+28>>2]=0;c[ja>>2]=0;c[ja+4>>2]=0;c[ja+8>>2]=Ma;c[La>>2]=ja;Ma=c[c[m>>2]>>2]|0;if(!Ma)Oa=ja;else{c[m>>2]=Ma;Oa=c[La>>2]|0}xc(c[m+4>>2]|0,Oa);Oa=m+8|0;c[Oa>>2]=(c[Oa>>2]|0)+1;Na=ja}ja=Na+24|0;Oa=c[ja>>2]|0;if((Oa|0)==(c[Na+28>>2]|0))uf(Na+20|0,o);else{a[Oa>>0]=a[o>>0]|0;c[Oa+4>>2]=c[n>>2];c[Oa+8>>2]=c[y>>2];a[Oa+12>>0]=a[z>>0]|0;c[Oa+16>>2]=c[A>>2];c[Oa+20>>2]=c[o+20>>2];Od(Oa+24|0,Ca);En(Oa+36|0,o+36|0);c[ja>>2]=(c[ja>>2]|0)+48}In(x);c[b>>2]=c[m>>2];x=c[m+4>>2]|0;c[b+4>>2]=x;ja=m+8|0;Oa=c[ja>>2]|0;c[b+8>>2]=Oa;Ca=b+4|0;if(!Oa)c[b>>2]=Ca;else{c[x+8>>2]=Ca;c[m>>2]=ra;c[ra>>2]=0;c[ja>>2]=0}In(o+36|0);ja=c[o+24>>2]|0;o=ja;if(ja){Ca=c[Aa>>2]|0;if((Ca|0)!=(ja|0))c[Aa>>2]=Ca+(~((Ca+-4-o|0)>>>2)<<2);gk(ja)}tf(m,c[ra>>2]|0);i=j;return}function af(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e+8|0;g=e;if(!(a[d+9>>0]|0)){c[b+4>>2]=0;c[b+8>>2]=0;c[b>>2]=b+4;i=e;return}c[g>>2]=c[d+40>>2];c[g+4>>2]=c[d+44>>2];_e(f,d,g,1);c[b>>2]=c[f>>2];g=c[f+4>>2]|0;c[b+4>>2]=g;d=f+8|0;h=c[d>>2]|0;c[b+8>>2]=h;j=b+4|0;if(!h){c[b>>2]=j;k=g}else{c[g+8>>2]=j;j=f+4|0;c[f>>2]=j;c[j>>2]=0;c[d>>2]=0;k=0}tf(f,k);i=e;return}function bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=a+4|0;e=c[a>>2]|0;f=e;g=((c[d>>2]|0)-f>>3)+1|0;if(g>>>0>536870911){ck(a);h=c[a>>2]|0;i=h;j=h}else{i=f;j=e}e=a+8|0;f=j;h=(c[e>>2]|0)-f|0;if(h>>3>>>0<268435455){k=h>>2;h=k>>>0<g>>>0?g:k;k=c[d>>2]|0;g=k-f>>3;if(!h){l=0;m=0;n=g;o=k}else{p=h;q=g;r=k;s=6}}else{k=c[d>>2]|0;p=536870911;q=k-f>>3;r=k;s=6}if((s|0)==6){l=p;m=ek(p<<3)|0;n=q;o=r}r=m+(n<<3)|0;q=m+(l<<3)|0;c[r>>2]=c[b>>2];c[m+(n<<3)+4>>2]=c[b+4>>2];b=m+(n+1<<3)|0;if((o|0)==(j|0)){t=r;u=f}else{l=o+-8-f|0;f=o;o=r;while(1){r=f;f=f+-8|0;c[o+-8>>2]=c[f>>2];c[o+-4>>2]=c[r+-4>>2];if((f|0)==(j|0))break;else o=o+-8|0}t=m+(n+~(l>>>3)<<3)|0;u=i}c[a>>2]=t;c[d>>2]=b;c[e>>2]=q;if(!u)return;gk(u);return}function cf(a,b){a=a|0;b=b|0;if(!b)return;else{cf(a,c[b>>2]|0);cf(a,c[b+4>>2]|0);In(b+16|0);gk(b);return}}function df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=i;i=i+32|0;e=d;f=a+4|0;g=c[a>>2]|0;h=(((c[f>>2]|0)-g|0)/80|0)+1|0;if(h>>>0>53687091){ck(a);j=c[a>>2]|0}else j=g;g=a+8|0;k=j;j=((c[g>>2]|0)-k|0)/80|0;if(j>>>0<26843545){l=j<<1;m=l>>>0<h>>>0?h:l}else m=53687091;l=((c[f>>2]|0)-k|0)/80|0;c[e+12>>2]=0;c[e+16>>2]=a+8;if(!m)n=0;else n=ek(m*80|0)|0;c[e>>2]=n;k=n+(l*80|0)|0;h=e+8|0;c[h>>2]=k;j=e+4|0;c[j>>2]=k;o=e+12|0;c[o>>2]=n+(m*80|0);Kf(k,b);c[h>>2]=n+((l+1|0)*80|0);l=c[a>>2]|0;n=c[f>>2]|0;if((n|0)==(l|0)){p=k;q=a;r=f;s=l;t=n;u=p;c[q>>2]=u;c[j>>2]=s;v=c[h>>2]|0;c[r>>2]=v;c[h>>2]=t;w=c[g>>2]|0;x=c[o>>2]|0;c[g>>2]=x;c[o>>2]=w;y=c[j>>2]|0;c[e>>2]=y;Lf(e);i=d;return}else{z=n;A=k}while(1){k=A+-80|0;n=z;z=z+-80|0;c[k>>2]=c[z>>2];c[k+4>>2]=c[z+4>>2];c[k+8>>2]=c[z+8>>2];c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;k=A+-68|0;b=n+-68|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=A+-56|0;k=n+-56|0;c[b>>2]=c[k>>2];c[b+4>>2]=c[k+4>>2];c[b+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;k=A+-44|0;b=n+-44|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=A+-32|0;k=n+-32|0;c[b>>2]=c[k>>2];c[b+4>>2]=c[k+4>>2];c[b+8>>2]=c[k+8>>2];c[b+12>>2]=c[k+12>>2];c[b+16>>2]=c[k+16>>2];k=A+-12|0;b=n+-12|0;c[k>>2]=0;m=A+-8|0;c[m>>2]=0;c[A+-4>>2]=0;c[k>>2]=c[b>>2];k=n+-8|0;c[m>>2]=c[k>>2];m=n+-4|0;c[A+-4>>2]=c[m>>2];c[m>>2]=0;c[k>>2]=0;c[b>>2]=0;b=(c[j>>2]|0)+-80|0;c[j>>2]=b;if((z|0)==(l|0)){B=b;break}else A=b}p=B;q=a;r=f;s=c[a>>2]|0;t=c[f>>2]|0;u=p;c[q>>2]=u;c[j>>2]=s;v=c[h>>2]|0;c[r>>2]=v;c[h>>2]=t;w=c[g>>2]|0;x=c[o>>2]|0;c[g>>2]=x;c[o>>2]=w;y=c[j>>2]|0;c[e>>2]=y;Lf(e);i=d;return}function ef(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=c[a>>2]|0;if(!b)return;d=a+4|0;e=c[d>>2]|0;if((e|0)==(b|0))f=b;else{g=e;do{e=g+-80|0;c[d>>2]=e;h=g+-12|0;i=c[h>>2]|0;if(i){j=g+-8|0;k=c[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k;do{k=m+-12|0;c[j>>2]=k;In(k);m=c[j>>2]|0}while((m|0)!=(i|0));l=c[h>>2]|0}gk(l)}In(g+-44|0);In(g+-56|0);In(g+-68|0);In(e);g=c[d>>2]|0}while((g|0)!=(b|0));f=c[a>>2]|0}gk(f);return}function ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+16|0;e=d;f=kf(a,e,b)|0;g=c[f>>2]|0;if(g){h=g;j=h+28|0;i=d;return j|0}g=ek(32)|0;En(g+16|0,b);c[g+28>>2]=0;b=c[e>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=b;c[f>>2]=g;b=c[c[a>>2]>>2]|0;if(!b)k=g;else{c[a>>2]=b;k=c[f>>2]|0}xc(c[a+4>>2]|0,k);k=a+8|0;c[k>>2]=(c[k>>2]|0)+1;h=g;j=h+28|0;i=d;return j|0}function gf(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0;En(b,c);En(b+12|0,c+12|0);En(b+24|0,c+24|0);En(b+36|0,c+36|0);e=c+48|0;f=e;g=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;f=e+4|0;e=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;f=b+48|0;h=f;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;g=f+4|0;a[g>>0]=e;a[g+1>>0]=e>>8;a[g+2>>0]=e>>16;a[g+3>>0]=e>>24;gd(b+56|0,c+56|0);e=b+68|0;b=c+68|0;c=e+29|0;do{a[e>>0]=a[b>>0]|0;e=e+1|0;b=b+1|0}while((e|0)<(c|0));return}function hf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;f=i;i=i+32|0;g=f;h=b+4|0;j=c[b>>2]|0;k=(((c[h>>2]|0)-j|0)/100|0)+1|0;if(k>>>0>42949672){ck(b);l=c[b>>2]|0}else l=j;j=b+8|0;m=l;l=((c[j>>2]|0)-m|0)/100|0;if(l>>>0<21474836){n=l<<1;o=n>>>0<k>>>0?k:n}else o=42949672;n=((c[h>>2]|0)-m|0)/100|0;c[g+12>>2]=0;c[g+16>>2]=b+8;if(!o)p=0;else p=ek(o*100|0)|0;c[g>>2]=p;m=p+(n*100|0)|0;k=g+8|0;c[k>>2]=m;l=g+4|0;c[l>>2]=m;q=g+12|0;c[q>>2]=p+(o*100|0);gf(m,e);c[k>>2]=p+((n+1|0)*100|0);n=c[b>>2]|0;p=c[h>>2]|0;if((p|0)==(n|0)){r=m;s=b;t=h;u=n;v=p;w=r;c[s>>2]=w;c[l>>2]=u;x=c[k>>2]|0;c[t>>2]=x;c[k>>2]=v;y=c[j>>2]|0;z=c[q>>2]|0;c[j>>2]=z;c[q>>2]=y;A=c[l>>2]|0;c[g>>2]=A;Jf(g);i=f;return}else{B=p;C=m}while(1){m=C+-100|0;p=B;B=B+-100|0;c[m>>2]=c[B>>2];c[m+4>>2]=c[B+4>>2];c[m+8>>2]=c[B+8>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;m=C+-88|0;e=p+-88|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;e=C+-76|0;m=p+-76|0;c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;m=C+-64|0;e=p+-64|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;e=p+-52|0;m=e;o=d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24;m=e+4|0;e=d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24;m=C+-52|0;D=m;a[D>>0]=o;a[D+1>>0]=o>>8;a[D+2>>0]=o>>16;a[D+3>>0]=o>>24;o=m+4|0;a[o>>0]=e;a[o+1>>0]=e>>8;a[o+2>>0]=e>>16;a[o+3>>0]=e>>24;e=C+-44|0;o=p+-44|0;c[e>>2]=0;m=C+-40|0;c[m>>2]=0;c[C+-36>>2]=0;c[e>>2]=c[o>>2];e=p+-40|0;c[m>>2]=c[e>>2];m=p+-36|0;c[C+-36>>2]=c[m>>2];c[m>>2]=0;c[e>>2]=0;c[o>>2]=0;o=C+-32|0;e=p+-32|0;p=o+29|0;do{a[o>>0]=a[e>>0]|0;o=o+1|0;e=e+1|0}while((o|0)<(p|0));e=(c[l>>2]|0)+-100|0;c[l>>2]=e;if((B|0)==(n|0)){E=e;break}else C=e}r=E;s=b;t=h;u=c[b>>2]|0;v=c[h>>2]|0;w=r;c[s>>2]=w;c[l>>2]=u;x=c[k>>2]|0;c[t>>2]=x;c[k>>2]=v;y=c[j>>2]|0;z=c[q>>2]|0;c[j>>2]=z;c[q>>2]=y;A=c[l>>2]|0;c[g>>2]=A;Jf(g);i=f;return}function jf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=c[a>>2]|0;if(!b)return;d=a+4|0;e=c[d>>2]|0;if((e|0)==(b|0))f=b;else{g=e;do{e=g+-100|0;c[d>>2]=e;h=g+-44|0;i=c[h>>2]|0;if(i){j=g+-40|0;k=c[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k;do{k=m+-12|0;c[j>>2]=k;In(k);m=c[j>>2]|0}while((m|0)!=(i|0));l=c[h>>2]|0}gk(l)}In(g+-64|0);In(g+-76|0);In(g+-88|0);In(e);g=c[d>>2]|0}while((g|0)!=(b|0));f=c[a>>2]|0}gk(f);return}function kf(b,d,e){b=b|0;d=d|0;e=e|0;var 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;f=b+4|0;b=c[f>>2]|0;if(!b){c[d>>2]=f;g=f;return g|0}f=a[e>>0]|0;h=(f&1)==0;i=h?(f&255)>>>1:c[e+4>>2]|0;f=h?e+1|0:c[e+8>>2]|0;e=b;while(1){b=e+16|0;h=a[b>>0]|0;j=(h&1)==0;k=j?(h&255)>>>1:c[e+20>>2]|0;h=j?b+1|0:c[e+24>>2]|0;b=k>>>0<i>>>0;j=rm(f,h,b?k:i)|0;l=i>>>0<k>>>0;if((((j|0)==0?(l?-2147483648:0):j)|0)<0){j=c[e>>2]|0;if(!j){m=e;n=e;o=5;break}else p=j}else{j=rm(h,f,l?i:k)|0;if((((j|0)==0?(b?-2147483648:0):j)|0)>=0){q=e;o=10;break}j=e+4|0;b=c[j>>2]|0;if(!b){r=j;s=e;o=9;break}else p=b}e=p}if((o|0)==5){c[d>>2]=n;g=m;return g|0}else if((o|0)==9){c[d>>2]=s;g=r;return g|0}else if((o|0)==10){c[d>>2]=q;g=d;return g|0}return 0}function lf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=b+32|0;Jn(e,d)|0;d=b+44|0;c[d>>2]=0;f=b+48|0;g=c[f>>2]|0;if(g&8){h=a[e>>0]|0;if(!(h&1)){i=((h&255)>>>1)+(e+1)|0;c[d>>2]=i;j=i;k=e+1|0;l=e+1|0}else{i=(c[b+40>>2]|0)+(c[b+36>>2]|0)|0;c[d>>2]=i;h=c[b+40>>2]|0;j=i;k=h;l=h}c[b+8>>2]=k;c[b+12>>2]=l;c[b+16>>2]=j}if(!(g&16))return;g=a[e>>0]|0;if(!(g&1)){j=(g&255)>>>1;c[d>>2]=e+1+j;m=10;n=j}else{j=c[b+36>>2]|0;c[d>>2]=(c[b+40>>2]|0)+j;m=(c[e>>2]&-2)+-1|0;n=j}Mn(e,m,0);m=a[e>>0]|0;if(!(m&1)){o=e+1|0;p=(m&255)>>>1;q=e+1|0}else{e=c[b+40>>2]|0;o=e;p=c[b+36>>2]|0;q=e}e=b+24|0;c[e>>2]=q;c[b+20>>2]=q;c[b+28>>2]=o+p;if(!(c[f>>2]&3))return;c[e>>2]=q+n;return}function mf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=c[d+48>>2]|0;if(e&16){f=d+44|0;g=c[f>>2]|0;h=c[d+24>>2]|0;if(g>>>0<h>>>0){c[f>>2]=h;i=h}else i=g;g=c[d+20>>2]|0;h=i-g|0;if(h>>>0>4294967279)bk(b);if(h>>>0<11){a[b>>0]=h<<1;j=b+1|0}else{f=h+16&-16;k=ek(f)|0;c[b+8>>2]=k;c[b>>2]=f|1;c[b+4>>2]=h;j=k}if((g|0)==(i|0))l=j;else{k=g;g=j;while(1){a[g>>0]=a[k>>0]|0;k=k+1|0;if((k|0)==(i|0))break;else g=g+1|0}l=j+h|0}a[l>>0]=0;return}if(!(e&8)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}e=c[d+8>>2]|0;l=c[d+16>>2]|0;d=l-e|0;if(d>>>0>4294967279)bk(b);if(d>>>0<11){a[b>>0]=d<<1;m=b+1|0}else{h=d+16&-16;j=ek(h)|0;c[b+8>>2]=j;c[b>>2]=h|1;c[b+4>>2]=d;m=j}if((e|0)==(l|0))n=m;else{j=e;e=m;while(1){a[e>>0]=a[j>>0]|0;j=j+1|0;if((j|0)==(l|0))break;else e=e+1|0}n=m+d|0}a[n>>0]=0;return}function nf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+32|0;f=e;g=b+4|0;h=c[b>>2]|0;j=(((c[g>>2]|0)-h|0)/48|0)+1|0;if(j>>>0>89478485){ck(b);k=c[b>>2]|0}else k=h;h=k;k=((c[b+8>>2]|0)-h|0)/48|0;if(k>>>0<44739242){l=k<<1;m=l>>>0<j>>>0?j:l}else m=89478485;l=((c[g>>2]|0)-h|0)/48|0;c[f+12>>2]=0;c[f+16>>2]=b+8;if(!m)n=0;else n=ek(m*48|0)|0;c[f>>2]=n;h=n+(l*48|0)|0;g=f+8|0;j=f+4|0;c[j>>2]=h;c[f+12>>2]=n+(m*48|0);a[h>>0]=a[d>>0]|0;c[n+(l*48|0)+4>>2]=c[d+4>>2];c[n+(l*48|0)+8>>2]=c[d+8>>2];a[n+(l*48|0)+12>>0]=a[d+12>>0]|0;c[n+(l*48|0)+16>>2]=c[d+16>>2];c[n+(l*48|0)+20>>2]=c[d+20>>2];h=d+24|0;c[n+(l*48|0)+32>>2]=0;c[n+(l*48|0)+24>>2]=c[h>>2];m=d+28|0;c[n+(l*48|0)+28>>2]=c[m>>2];k=d+32|0;c[n+(l*48|0)+32>>2]=c[k>>2];c[k>>2]=0;c[m>>2]=0;c[h>>2]=0;h=n+(l*48|0)+36|0;m=d+36|0;c[h>>2]=c[m>>2];c[h+4>>2]=c[m+4>>2];c[h+8>>2]=c[m+8>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[g>>2]=n+((l+1|0)*48|0);xf(b,f);b=c[j>>2]|0;j=c[g>>2]|0;if((j|0)!=(b|0)){l=~(((j+-48-b|0)>>>0)/48|0);n=j;do{In(n+-12|0);m=c[n+-24>>2]|0;h=m;if(m){d=n+-20|0;k=c[d>>2]|0;if((k|0)!=(m|0))c[d>>2]=k+(~((k+-4-h|0)>>>2)<<2);gk(m)}n=n+-48|0}while((n|0)!=(b|0));c[g>>2]=j+(l*48|0)}l=c[f>>2]|0;if(!l){i=e;return}gk(l);i=e;return}function of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=a+4|0;e=c[a>>2]|0;f=e;g=((c[d>>2]|0)-f>>2)+1|0;if(g>>>0>1073741823){ck(a);h=c[a>>2]|0;i=h;j=h}else{i=e;j=f}f=a+8|0;e=i;h=(c[f>>2]|0)-e|0;if(h>>2>>>0<536870911){k=h>>1;h=k>>>0<g>>>0?g:k;k=(c[d>>2]|0)-e|0;g=k>>2;if(!h){l=0;m=0;n=g;o=k}else{p=h;q=g;r=k;s=6}}else{k=(c[d>>2]|0)-e|0;p=1073741823;q=k>>2;r=k;s=6}if((s|0)==6){l=p;m=ek(p<<2)|0;n=q;o=r}c[m+(n<<2)>>2]=c[b>>2];kx(m|0,i|0,o|0)|0;c[a>>2]=m;c[d>>2]=m+(n+1<<2);c[f>>2]=m+(l<<2);if(!j)return;gk(j);return}function pf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;h=i;i=i+192|0;j=h+176|0;k=h+32|0;l=h+24|0;m=h+12|0;n=h;o=k+64|0;p=k+8|0;c[p>>2]=3380;q=k+12|0;c[k>>2]=3420;c[o>>2]=3440;c[k+4>>2]=0;po(k+64|0,q);c[k+136>>2]=0;c[k+140>>2]=-1;c[k>>2]=3360;c[k+64>>2]=3400;c[p>>2]=3380;so(q);c[q>>2]=3456;p=k+44|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[k+60>>2]=24;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;lf(q,j);In(j);j=b+4|0;r=b+16|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;a[b>>0]=0;s=+(e|0)/+(f|0);c[j>>2]=0;c[j+4>>2]=0;a[j+8>>0]=0;g[l>>2]=s;of(b+24|0,l);l=k+8|0;j=le(kp(le(ip(le(ip(l,e+1|0)|0,21926,4)|0,f)|0,23054,2)|0,s)|0,21245,4)|0;Dh(m,d,0);d=a[m>>0]|0;f=(d&1)==0;le(j,f?m+1|0:c[m+8>>2]|0,f?(d&255)>>>1:c[m+4>>2]|0)|0;In(m);mf(n,q);m=b+36|0;if(!(a[m>>0]&1)){a[m+1>>0]=0;a[m>>0]=0;On(m,0);c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;In(n);c[k>>2]=3360;c[o>>2]=3400;c[l>>2]=3380;c[q>>2]=3456;In(p);qo(q);ko(o);i=h;return}else{a[c[b+44>>2]>>0]=0;c[b+40>>2]=0;On(m,0);c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;In(n);c[k>>2]=3360;c[o>>2]=3400;c[l>>2]=3380;c[q>>2]=3456;In(p);qo(q);ko(o);i=h;return}}function qf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0;h=i;i=i+208|0;j=h+184|0;k=h+40|0;l=h+36|0;m=h+24|0;n=h+12|0;o=h;p=k+64|0;q=k+8|0;c[q>>2]=3380;r=k+12|0;c[k>>2]=3420;c[p>>2]=3440;c[k+4>>2]=0;po(k+64|0,r);c[k+136>>2]=0;c[k+140>>2]=-1;c[k>>2]=3360;c[k+64>>2]=3400;c[q>>2]=3380;so(r);c[r>>2]=3456;q=k+44|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[k+60>>2]=24;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;lf(r,j);In(j);j=b+16|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;c[j+28>>2]=0;a[b>>0]=1;c[b+4>>2]=c[d>>2];c[b+8>>2]=c[d+4>>2];a[b+12>>0]=0;s=+(f|0)/10.0;g[l>>2]=s;of(b+24|0,l);l=k+8|0;j=le(kp(le(ip(le(ip(l,f+1|0)|0,21926,4)|0,10)|0,23054,2)|0,s)|0,21245,4)|0;Dh(m,d,0);d=a[m>>0]|0;f=(d&1)==0;t=le(le(j,f?m+1|0:c[m+8>>2]|0,f?(d&255)>>>1:c[m+4>>2]|0)|0,21318,9)|0;Dh(n,e,0);e=a[n>>0]|0;d=(e&1)==0;le(t,d?n+1|0:c[n+8>>2]|0,d?(e&255)>>>1:c[n+4>>2]|0)|0;In(n);In(m);mf(o,r);m=b+36|0;if(!(a[m>>0]&1)){a[m+1>>0]=0;a[m>>0]=0;On(m,0);c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;In(o);c[k>>2]=3360;c[p>>2]=3400;c[l>>2]=3380;c[r>>2]=3456;In(q);qo(r);ko(p);i=h;return}else{a[c[b+44>>2]>>0]=0;c[b+40>>2]=0;On(m,0);c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;In(o);c[k>>2]=3360;c[p>>2]=3400;c[l>>2]=3380;c[r>>2]=3456;In(q);qo(r);ko(p);i=h;return}}function rf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0;h=i;i=i+192|0;j=h+176|0;k=h+32|0;l=h+24|0;m=h+12|0;n=h;o=k+64|0;p=k+8|0;c[p>>2]=3380;q=k+12|0;c[k>>2]=3420;c[o>>2]=3440;c[k+4>>2]=0;po(k+64|0,q);c[k+136>>2]=0;c[k+140>>2]=-1;c[k>>2]=3360;c[k+64>>2]=3400;c[p>>2]=3380;so(q);c[q>>2]=3456;p=k+44|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[k+60>>2]=24;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;lf(q,j);In(j);j=b+4|0;r=b+16|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;a[b>>0]=0;r=e+2|0;s=+(f+10|0);t=b+28|0;u=b+32|0;v=b+24|0;c[j>>2]=0;c[j+4>>2]=0;a[j+8>>0]=0;j=0;w=0;x=0;while(1){y=+(r+x|0)/s;g[l>>2]=y;if((j|0)==(w|0))of(v,l);else{g[j>>2]=y;c[t>>2]=j+4}z=x+1|0;if((z|0)>=10)break;j=c[t>>2]|0;w=c[u>>2]|0;x=z}x=k+8|0;u=le(ip(le(ip(x,e+1|0)|0,21926,4)|0,f)|0,21245,4)|0;Dh(m,d,0);d=a[m>>0]|0;f=(d&1)==0;le(u,f?m+1|0:c[m+8>>2]|0,f?(d&255)>>>1:c[m+4>>2]|0)|0;In(m);mf(n,q);m=b+36|0;if(!(a[m>>0]&1)){a[m+1>>0]=0;a[m>>0]=0;On(m,0);c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;In(n);c[k>>2]=3360;c[o>>2]=3400;c[x>>2]=3380;c[q>>2]=3456;In(p);qo(q);ko(o);i=h;return}else{a[c[b+44>>2]>>0]=0;c[b+40>>2]=0;On(m,0);c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;In(n);c[k>>2]=3360;c[o>>2]=3400;c[x>>2]=3380;c[q>>2]=3456;In(p);qo(q);ko(o);i=h;return}}function sf(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(!b)return;d=a+4|0;a=c[d>>2]|0;if((a|0)!=(b|0))c[d>>2]=a+(~((a+-4-b|0)>>>2)<<2);gk(b);return}function tf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!b)return;tf(a,c[b>>2]|0);tf(a,c[b+4>>2]|0);a=b+20|0;d=c[a>>2]|0;if(d){e=b+24|0;f=c[e>>2]|0;if((f|0)==(d|0))g=d;else{h=f;do{c[e>>2]=h+-48;In(h+-12|0);f=c[h+-24>>2]|0;i=f;if(f){j=h+-20|0;k=c[j>>2]|0;if((k|0)!=(f|0))c[j>>2]=k+(~((k+-4-i|0)>>>2)<<2);gk(f)}h=c[e>>2]|0}while((h|0)!=(d|0));g=c[a>>2]|0}gk(g)}gk(b);return}function uf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+32|0;f=e;g=b+4|0;h=c[b>>2]|0;j=(((c[g>>2]|0)-h|0)/48|0)+1|0;if(j>>>0>89478485){ck(b);k=c[b>>2]|0}else k=h;h=k;k=((c[b+8>>2]|0)-h|0)/48|0;if(k>>>0<44739242){l=k<<1;m=l>>>0<j>>>0?j:l}else m=89478485;l=((c[g>>2]|0)-h|0)/48|0;c[f+12>>2]=0;c[f+16>>2]=b+8;if(!m)n=0;else n=ek(m*48|0)|0;c[f>>2]=n;h=n+(l*48|0)|0;g=f+8|0;c[g>>2]=h;j=f+4|0;c[j>>2]=h;c[f+12>>2]=n+(m*48|0);a[h>>0]=a[d>>0]|0;c[n+(l*48|0)+4>>2]=c[d+4>>2];c[n+(l*48|0)+8>>2]=c[d+8>>2];a[n+(l*48|0)+12>>0]=a[d+12>>0]|0;c[n+(l*48|0)+16>>2]=c[d+16>>2];c[n+(l*48|0)+20>>2]=c[d+20>>2];Od(n+(l*48|0)+24|0,d+24|0);En(n+(l*48|0)+36|0,d+36|0);c[g>>2]=n+((l+1|0)*48|0);xf(b,f);b=c[j>>2]|0;j=c[g>>2]|0;if((j|0)!=(b|0)){l=~(((j+-48-b|0)>>>0)/48|0);n=j;do{In(n+-12|0);d=c[n+-24>>2]|0;h=d;if(d){m=n+-20|0;k=c[m>>2]|0;if((k|0)!=(d|0))c[m>>2]=k+(~((k+-4-h|0)>>>2)<<2);gk(d)}n=n+-48|0}while((n|0)!=(b|0));c[g>>2]=j+(l*48|0)}l=c[f>>2]|0;if(!l){i=e;return}gk(l);i=e;return}function vf(a){a=a|0;return 2}function wf(a,b){a=a|0;b=b|0;Fn(a,21983,25);return}function xf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c[b>>2]|0;f=b+4|0;g=c[f>>2]|0;h=d+4|0;if((g|0)==(e|0)){i=h;j=b;k=c[h>>2]|0;l=e}else{m=g;g=c[h>>2]|0;while(1){n=m;m=m+-48|0;a[g+-48>>0]=a[m>>0]|0;c[g+-44>>2]=c[n+-44>>2];c[g+-40>>2]=c[n+-40>>2];a[g+-36>>0]=a[n+-36>>0]|0;c[g+-32>>2]=c[n+-32>>2];c[g+-28>>2]=c[n+-28>>2];Od(g+-24|0,n+-24|0);En(g+-12|0,n+-12|0);n=(c[h>>2]|0)+-48|0;c[h>>2]=n;if((m|0)==(e|0)){o=n;break}else g=n}i=h;j=b;k=o;l=c[b>>2]|0}c[j>>2]=k;c[i>>2]=l;l=d+8|0;k=c[f>>2]|0;c[f>>2]=c[l>>2];c[l>>2]=k;k=b+8|0;b=d+12|0;l=c[k>>2]|0;c[k>>2]=c[b>>2];c[b>>2]=l;c[d>>2]=c[i>>2];return}function yf(a){a=a|0;c[a>>2]=3456;In(a+32|0);qo(a);return}function zf(a){a=a|0;c[a>>2]=3456;In(a+32|0);qo(a);gk(a);return}function Af(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=d+44|0;j=c[i>>2]|0;k=d+24|0;l=c[k>>2]|0;if(j>>>0<l>>>0){c[i>>2]=l;m=l}else m=j;j=m;i=h&24;if(!i){n=b;c[n>>2]=0;c[n+4>>2]=0;n=b+8|0;c[n>>2]=-1;c[n+4>>2]=-1;return}if((g|0)==1&(i|0)==24){i=b;c[i>>2]=0;c[i+4>>2]=0;i=b+8|0;c[i>>2]=-1;c[i+4>>2]=-1;return}a:do switch(g|0){case 0:{o=0;p=0;break}case 1:{if(!(h&8)){i=l-(c[d+20>>2]|0)|0;o=i;p=((i|0)<0)<<31>>31;break a}else{i=(c[d+12>>2]|0)-(c[d+8>>2]|0)|0;o=i;p=((i|0)<0)<<31>>31;break a}break}case 2:{i=d+32|0;if(!(a[i>>0]&1))q=i+1|0;else q=c[d+40>>2]|0;i=m-q|0;o=i;p=((i|0)<0)<<31>>31;break}default:{i=b;c[i>>2]=0;c[i+4>>2]=0;i=b+8|0;c[i>>2]=-1;c[i+4>>2]=-1;return}}while(0);q=ix(o|0,p|0,e|0,f|0)|0;f=D;if((f|0)>=0){e=d+32|0;if(!(a[e>>0]&1))r=e+1|0;else r=c[d+40>>2]|0;e=m-r|0;r=((e|0)<0)<<31>>31;if(!((r|0)<(f|0)|(r|0)==(f|0)&e>>>0<q>>>0)){e=h&8;if(!((q|0)==0&(f|0)==0)){if((e|0)!=0?(c[d+12>>2]|0)==0:0){r=b;c[r>>2]=0;c[r+4>>2]=0;r=b+8|0;c[r>>2]=-1;c[r+4>>2]=-1;return}if((h&16|0)!=0&(l|0)==0){l=b;c[l>>2]=0;c[l+4>>2]=0;l=b+8|0;c[l>>2]=-1;c[l+4>>2]=-1;return}}if(e){c[d+12>>2]=(c[d+8>>2]|0)+q;c[d+16>>2]=j}if(h&16)c[k>>2]=(c[d+20>>2]|0)+q;d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=q;c[d+4>>2]=f;return}}f=b;c[f>>2]=0;c[f+4>>2]=0;f=b+8|0;c[f>>2]=-1;c[f+4>>2]=-1;return}function Bf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=d+8|0;Ab[c[(c[b>>2]|0)+16>>2]&15](a,b,c[f>>2]|0,c[f+4>>2]|0,0,e);return}function Cf(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0;b=a+44|0;e=c[b>>2]|0;f=c[a+24>>2]|0;if(e>>>0<f>>>0){c[b>>2]=f;g=f}else g=e;if(!(c[a+48>>2]&8)){h=-1;return h|0}e=a+16|0;f=c[e>>2]|0;b=a+12|0;if(f>>>0<g>>>0){a=c[b>>2]|0;c[e>>2]=g;i=a;j=g}else{i=c[b>>2]|0;j=f}if(i>>>0>=j>>>0){h=-1;return h|0}h=d[i>>0]|0;return h|0}function Df(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=b+44|0;f=c[e>>2]|0;g=c[b+24>>2]|0;if(f>>>0<g>>>0){c[e>>2]=g;h=g}else h=f;f=h;h=b+8|0;g=c[h>>2]|0;e=b+12|0;i=c[e>>2]|0;j=g;if(g>>>0>=i>>>0){k=-1;return k|0}if((d|0)==-1){c[h>>2]=g;c[e>>2]=i+-1;c[b+16>>2]=f;k=0;return k|0}if(!(c[b+48>>2]&16)){g=d&255;l=i+-1|0;if(g<<24>>24==(a[l>>0]|0)){m=g;n=l}else{k=-1;return k|0}}else{m=d&255;n=i+-1|0}c[h>>2]=j;c[e>>2]=n;c[b+16>>2]=f;a[n>>0]=m;k=d;return k|0}function Ef(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;e=i;i=i+16|0;f=e;if((d|0)==-1){g=0;i=e;return g|0}h=b+12|0;j=b+8|0;k=(c[h>>2]|0)-(c[j>>2]|0)|0;l=b+24|0;m=c[l>>2]|0;n=b+28|0;o=c[n>>2]|0;if((m|0)==(o|0)){p=b+48|0;if(!(c[p>>2]&16)){g=-1;i=e;return g|0}q=b+20|0;r=c[q>>2]|0;s=b+44|0;t=(c[s>>2]|0)-r|0;u=b+32|0;Qn(u,0);if(!(a[u>>0]&1))v=10;else v=(c[u>>2]&-2)+-1|0;Mn(u,v,0);v=a[u>>0]|0;if(!(v&1)){w=u+1|0;x=(v&255)>>>1}else{w=c[b+40>>2]|0;x=c[b+36>>2]|0}v=w+x|0;c[q>>2]=w;c[n>>2]=v;n=w+(m-r)|0;c[l>>2]=n;r=w+t|0;c[s>>2]=r;y=p;z=s;A=n;B=r;C=v}else{v=b+44|0;y=b+48|0;z=v;A=m;B=c[v>>2]|0;C=o}o=A+1|0;c[f>>2]=o;v=c[(o>>>0<B>>>0?z:f)>>2]|0;c[z>>2]=v;if(c[y>>2]&8){y=b+32|0;if(!(a[y>>0]&1))D=y+1|0;else D=c[b+40>>2]|0;c[j>>2]=D;c[h>>2]=D+k;c[b+16>>2]=v}if((A|0)==(C|0)){g=Pb[c[(c[b>>2]|0)+52>>2]&63](b,d&255)|0;i=e;return g|0}else{c[l>>2]=o;a[A>>0]=d;g=d&255;i=e;return g|0}return 0}function Ff(a){a=a|0;var b=0,d=0;c[a>>2]=3360;b=a+64|0;c[b>>2]=3400;c[a+8>>2]=3380;d=a+12|0;c[d>>2]=3456;In(a+44|0);qo(d);ko(b);return}function Gf(a){a=a|0;var b=0,d=0;c[a>>2]=3360;b=a+64|0;c[b>>2]=3400;c[a+8>>2]=3380;d=a+12|0;c[d>>2]=3456;In(a+44|0);qo(d);ko(b);gk(a);return}function Hf(a){a=a|0;var b=0,d=0;b=a+-8|0;c[b>>2]=3360;a=b+64|0;c[a>>2]=3400;c[b+8>>2]=3380;d=b+12|0;c[d>>2]=3456;In(b+44|0);qo(d);ko(a);gk(b);return}function If(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[(c[a>>2]|0)+-12>>2]|0;d=a+b|0;c[d>>2]=3360;e=a+(b+64)|0;c[e>>2]=3400;c[a+(b+8)>>2]=3380;f=a+(b+12)|0;c[f>>2]=3456;In(a+(b+44)|0);qo(f);ko(e);gk(d);return}function Jf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;if((e|0)!=(b|0)){f=e;do{e=f+-100|0;c[d>>2]=e;g=f+-44|0;h=c[g>>2]|0;if(h){i=f+-40|0;j=c[i>>2]|0;if((j|0)==(h|0))k=h;else{l=j;do{j=l+-12|0;c[i>>2]=j;In(j);l=c[i>>2]|0}while((l|0)!=(h|0));k=c[g>>2]|0}gk(k)}In(f+-64|0);In(f+-76|0);In(f+-88|0);In(e);f=c[d>>2]|0}while((f|0)!=(b|0))}b=c[a>>2]|0;if(!b)return;gk(b);return}function Kf(a,b){a=a|0;b=b|0;var d=0,e=0;En(a,b);En(a+12|0,b+12|0);En(a+24|0,b+24|0);En(a+36|0,b+36|0);d=a+48|0;e=b+48|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[d+16>>2]=c[e+16>>2];gd(a+68|0,b+68|0);return}function Lf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;if((e|0)!=(b|0)){f=e;do{e=f+-80|0;c[d>>2]=e;g=f+-12|0;h=c[g>>2]|0;if(h){i=f+-8|0;j=c[i>>2]|0;if((j|0)==(h|0))k=h;else{l=j;do{j=l+-12|0;c[i>>2]=j;In(j);l=c[i>>2]|0}while((l|0)!=(h|0));k=c[g>>2]|0}gk(k)}In(f+-44|0);In(f+-56|0);In(f+-68|0);In(e);f=c[d>>2]|0}while((f|0)!=(b|0))}b=c[a>>2]|0;if(!b)return;gk(b);return}function Mf(a,b){a=a|0;b=b|0;var d=0;Xg(a,b);c[a>>2]=3672;d=ek(96)|0;cg(d,b,+g[a+4>>2]);c[a+12>>2]=d;return}function Nf(a){a=a|0;var b=0;c[a>>2]=3672;b=c[a+12>>2]|0;if(b){dg(b);gk(b)}Yg(a);return}function Of(a){a=a|0;var b=0;c[a>>2]=3672;b=c[a+12>>2]|0;if(b){dg(b);gk(b)}Yg(a);gk(a);return}function Pf(a){a=a|0;return Hb[c[(c[a>>2]|0)+76>>2]&127](a)|0}function Qf(a){a=a|0;return ph(a)|0}function Rf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return Sf(c[a+12>>2]|0,b,d,e)|0}function Sf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f;if((d|0)!=(e|0)){k=le(jp(le(jp(le(9776,21513,107)|0,d)|0,21621,14)|0,e)|0,21636,1)|0;c[g>>2]=oo(k+(c[(c[k>>2]|0)+-12>>2]|0)|0)|0;e=Lt(g,12376)|0;l=Pb[c[(c[e>>2]|0)+28>>2]&63](e,10)|0;Jt(g);mp(k,l)|0;Yo(k)|0;m=0;i=f;return m|0}k=a+28|0;c[k>>2]=b;c[a+4>>2]=d;b=a+8|0;c[b>>2]=d;d=a+20|0;c[d>>2]=0;l=a+24|0;c[l>>2]=0;e=c[a+12>>2]|0;if(!e)n=0;else{c[d>>2]=e;n=e}e=c[a+16>>2]|0;if(!e)o=0;else{c[l>>2]=e;o=e}if(!(n|o)){o=c[a>>2]|0;c[d>>2]=Hb[c[(c[o>>2]|0)+80>>2]&127](o)|0;o=c[a>>2]|0;c[l>>2]=Hb[c[(c[o>>2]|0)+76>>2]&127](o)|0}o=c[a>>2]|0;n=(Hb[c[(c[o>>2]|0)+72>>2]&127](o)|0)==1;o=c[l>>2]|0;e=c[d>>2]|0;p=(e|0)==0;do if(!o)if(p){c[l>>2]=1024;if(n){c[d>>2]=512;q=1024;break}else{c[d>>2]=1024;q=1024;break}}else if(n){r=e<<1;c[l>>2]=r;s=e;t=r;u=21;break}else{c[l>>2]=e;q=e;break}else if(p)if(n){r=o>>>1;c[d>>2]=r;s=r;t=o;u=21;break}else{c[d>>2]=o;q=o;break}else{s=e;t=o;u=21}while(0);if((u|0)==21)if(s>>>0>t>>>0){u=s<<(n&1);n=le(9776,21638,55)|0;s=le(jp(n,c[d>>2]|0)|0,21694,28)|0;n=jp(le(jp(s,c[l>>2]|0)|0,21723,57)|0,u)|0;c[g>>2]=oo(n+(c[(c[n>>2]|0)+-12>>2]|0)|0)|0;s=Lt(g,12376)|0;o=Pb[c[(c[s>>2]|0)+28>>2]&63](s,10)|0;Jt(g);mp(n,o)|0;Yo(n)|0;c[l>>2]=u;q=u}else q=t;t=c[k>>2]|0;u=a+44|0;c[u>>2]=fk(t>>>0>1073741823?-1:t<<2)|0;if(!t){v=0;w=q}else{n=a+36|0;o=a+40|0;g=a+32|0;s=t;t=q;q=0;while(1){e=ek(20)|0;p=c[b>>2]|0;c[e>>2]=3784;r=t+1+p|0;c[e+4>>2]=fk(r>>>0>1073741823?-1:r<<2)|0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=r;c[h>>2]=e;r=c[n>>2]|0;if(r>>>0<(c[o>>2]|0)>>>0){c[r>>2]=e;c[n>>2]=(c[n>>2]|0)+4;x=t;y=s}else{gg(g,h);x=c[l>>2]|0;y=c[k>>2]|0}e=fk(x>>>0>1073741823?-1:x<<2)|0;c[(c[u>>2]|0)+(q<<2)>>2]=e;q=q+1|0;if(q>>>0>=y>>>0){v=y;w=x;break}else{s=y;t=x}}}x=c[a>>2]|0;if(!(Nb[c[(c[x>>2]|0)+64>>2]&15](x,v,c[d>>2]|0,w)|0)){m=0;i=f;return m|0}w=c[a+60>>2]|0;d=a+64|0;v=c[d>>2]|0;if((v|0)!=(w|0)){x=v;do{v=x+-100|0;c[d>>2]=v;t=x+-44|0;y=c[t>>2]|0;if(y){s=x+-40|0;q=c[s>>2]|0;if((q|0)==(y|0))z=y;else{u=q;do{q=u+-12|0;c[s>>2]=q;In(q);u=c[s>>2]|0}while((u|0)!=(y|0));z=c[t>>2]|0}gk(z)}In(x+-64|0);In(x+-76|0);In(x+-88|0);In(v);x=c[d>>2]|0}while((x|0)!=(w|0))}Uf(j,a);mc(j);m=1;i=f;return m|0}function Tf(a,b){a=a|0;b=b|0;Uf(a,c[b+12>>2]|0);return}function Uf(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,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;e=i;i=i+16|0;f=e+12|0;h=e;j=d+60|0;k=c[j>>2]|0;l=d+64|0;m=c[l>>2]|0;if((k|0)==(m|0)){n=c[d>>2]|0;Fb[c[(c[n>>2]|0)+92>>2]&127](h,n);ad(j);c[j>>2]=c[h>>2];n=h+4|0;c[l>>2]=c[n>>2];o=h+8|0;c[d+68>>2]=c[o>>2];c[o>>2]=0;c[n>>2]=0;c[h>>2]=0;mc(h);p=c[l>>2]|0;q=c[j>>2]|0}else{p=m;q=k}c[b>>2]=0;k=b+4|0;c[k>>2]=0;c[b+8>>2]=0;m=p-q|0;h=(m|0)/100|0;if((p|0)!=(q|0)){if(h>>>0>42949672)ck(b);q=ek(m)|0;c[k>>2]=q;c[b>>2]=q;c[b+8>>2]=q+(h*100|0);h=c[j>>2]|0;j=c[l>>2]|0;if((h|0)==(j|0)){r=q;s=q}else{l=h;h=q;while(1){hg(h,l);q=(c[k>>2]|0)+100|0;c[k>>2]=q;l=l+100|0;if((l|0)==(j|0)){t=q;break}else h=q}r=t;s=c[b>>2]|0}}else{r=0;s=0}if((r-s|0)<=0){i=e;return}r=d+48|0;t=d+20|0;h=d+72|0;j=d+76|0;l=j;q=d+76|0;m=d+80|0;d=s;s=0;do{p=d+(s*100|0)+88|0;switch(c[p>>2]|0){case 0:{c[p>>2]=1;g[d+(s*100|0)+92>>2]=+g[r>>2]/+((c[t>>2]|0)>>>0);p=c[j>>2]|0;do if(p){n=p;while(1){o=c[n+16>>2]|0;if((s|0)<(o|0)){u=c[n>>2]|0;if(!u){v=n;w=n;x=15;break}else y=u}else{if((o|0)>=(s|0)){z=n;x=21;break}o=n+4|0;u=c[o>>2]|0;if(!u){A=o;B=n;x=19;break}else y=u}n=y}if((x|0)==15){x=0;c[f>>2]=w;C=v;D=w;x=22;break}else if((x|0)==19){x=0;c[f>>2]=B;C=A;D=B;x=22;break}else if((x|0)==21){x=0;c[f>>2]=z;if(!z){C=f;D=z;x=22;break}else{E=z;break}}}else{c[f>>2]=j;C=j;D=l;x=22}while(0);if((x|0)==22){x=0;p=ek(24)|0;c[p+16>>2]=s;a[p+20>>0]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=D;c[C>>2]=p;n=c[c[h>>2]>>2]|0;if(!n)F=p;else{c[h>>2]=n;F=c[C>>2]|0}xc(c[q>>2]|0,F);c[m>>2]=(c[m>>2]|0)+1;E=p}a[E+20>>0]=1;break}case 1:{p=d+(s*100|0)+92|0;if(+g[p>>2]==0.0)g[p>>2]=+g[r>>2]/+((c[t>>2]|0)>>>0);p=c[j>>2]|0;do if(p){n=p;while(1){u=c[n+16>>2]|0;if((s|0)<(u|0)){o=c[n>>2]|0;if(!o){G=n;H=n;x=31;break}else I=o}else{if((u|0)>=(s|0)){J=n;x=37;break}u=n+4|0;o=c[u>>2]|0;if(!o){K=u;L=n;x=35;break}else I=o}n=I}if((x|0)==31){x=0;c[f>>2]=H;M=G;N=H;x=38;break}else if((x|0)==35){x=0;c[f>>2]=L;M=K;N=L;x=38;break}else if((x|0)==37){x=0;c[f>>2]=J;if(!J){M=f;N=J;x=38;break}else{O=J;break}}}else{c[f>>2]=j;M=j;N=l;x=38}while(0);if((x|0)==38){x=0;p=ek(24)|0;c[p+16>>2]=s;a[p+20>>0]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=N;c[M>>2]=p;n=c[c[h>>2]>>2]|0;if(!n)P=p;else{c[h>>2]=n;P=c[M>>2]|0}xc(c[q>>2]|0,P);c[m>>2]=(c[m>>2]|0)+1;O=p}a[O+20>>0]=1;break}case 2:{p=c[j>>2]|0;do if(p){n=p;while(1){o=c[n+16>>2]|0;if((s|0)<(o|0)){u=c[n>>2]|0;if(!u){Q=n;R=n;x=45;break}else S=u}else{if((o|0)>=(s|0)){T=n;x=51;break}o=n+4|0;u=c[o>>2]|0;if(!u){U=o;V=n;x=49;break}else S=u}n=S}if((x|0)==45){x=0;c[f>>2]=R;W=Q;X=R;x=52;break}else if((x|0)==49){x=0;c[f>>2]=V;W=U;X=V;x=52;break}else if((x|0)==51){x=0;c[f>>2]=T;if(!T){W=f;X=T;x=52;break}else{Y=T;break}}}else{c[f>>2]=j;W=j;X=l;x=52}while(0);if((x|0)==52){x=0;p=ek(24)|0;c[p+16>>2]=s;a[p+20>>0]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=X;c[W>>2]=p;n=c[c[h>>2]>>2]|0;if(!n)Z=p;else{c[h>>2]=n;Z=c[W>>2]|0}xc(c[q>>2]|0,Z);c[m>>2]=(c[m>>2]|0)+1;Y=p}a[Y+20>>0]=0;break}default:{}}s=s+1|0;d=c[b>>2]|0}while((s|0)<(((c[k>>2]|0)-d|0)/100|0|0));i=e;return}function Vf(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=c[a+12>>2]|0;En(f,b);Wf(g,f,d);In(f);i=e;return}function Wf(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;i=i+32|0;f=e+12|0;g=e;h=c[a>>2]|0;j=c[(c[h>>2]|0)+44>>2]|0;En(f,b);zb[j&3](h,f,d);In(f);f=c[a+60>>2]|0;h=a+64|0;j=c[h>>2]|0;if((j|0)==(f|0)){Uf(g,a);mc(g);i=e;return}else k=j;do{j=k+-100|0;c[h>>2]=j;b=k+-44|0;l=c[b>>2]|0;if(l){m=k+-40|0;n=c[m>>2]|0;if((n|0)==(l|0))o=l;else{p=n;do{n=p+-12|0;c[m>>2]=n;In(n);p=c[m>>2]|0}while((p|0)!=(l|0));o=c[b>>2]|0}gk(o)}In(k+-64|0);In(k+-76|0);In(k+-88|0);In(j);k=c[h>>2]|0}while((k|0)!=(f|0));Uf(g,a);mc(g);i=e;return}function Xf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=c[a+12>>2]|0;En(e,b);Yf(f,e);In(e);i=d;return}function Yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+32|0;e=d+12|0;f=d;g=c[a>>2]|0;h=c[(c[g>>2]|0)+56>>2]|0;En(e,b);Fb[h&127](g,e);In(e);e=c[a+60>>2]|0;g=a+64|0;h=c[g>>2]|0;if((h|0)==(e|0)){Uf(f,a);mc(f);i=d;return}else j=h;do{h=j+-100|0;c[g>>2]=h;b=j+-44|0;k=c[b>>2]|0;if(k){l=j+-40|0;m=c[l>>2]|0;if((m|0)==(k|0))n=k;else{o=m;do{m=o+-12|0;c[l>>2]=m;In(m);o=c[l>>2]|0}while((o|0)!=(k|0));n=c[b>>2]|0}gk(n)}In(j+-64|0);In(j+-76|0);In(j+-88|0);In(h);j=c[g>>2]|0}while((j|0)!=(e|0));Uf(f,a);mc(f);i=d;return}function Zf(b){b=b|0;var d=0,e=0,f=0,g=0;d=c[b+12>>2]|0;c[d+52>>2]=0;a[d+56>>0]=1;b=c[d+36>>2]|0;e=c[d+32>>2]|0;if((b|0)!=(e|0)){f=b-e>>2;b=0;do{g=c[e+(b<<2)>>2]|0;c[g+8>>2]=0;c[g+12>>2]=0;b=b+1|0}while(b>>>0<f>>>0)}f=d+84|0;b=d+88|0;ig(f,c[b>>2]|0);c[d+92>>2]=0;c[f>>2]=b;c[b>>2]=0;b=c[d>>2]|0;Eb[c[(c[b>>2]|0)+68>>2]&255](b);return}function _f(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;h=c[b+12>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];$f(a,h,d,g);i=f;return}function $f(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;h=i;i=i+16|0;j=h+12|0;k=h;if(!(c[d+4>>2]|0)){l=le(9776,21781,71)|0;c[j>>2]=oo(l+(c[(c[l>>2]|0)+-12>>2]|0)|0)|0;m=Lt(j,12376)|0;n=Pb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;Jt(j);mp(l,n)|0;Yo(l)|0;c[b+4>>2]=0;c[b+8>>2]=0;c[b>>2]=b+4;i=h;return}c[k+4>>2]=0;l=k+8|0;c[l>>2]=0;n=k+4|0;c[k>>2]=n;m=d+56|0;if(a[m>>0]|0){c[d+52>>2]=xh(f,~~(+g[d+48>>2]+.5))|0;a[m>>0]=0}m=d+28|0;f=d+32|0;if(!(c[m>>2]|0))o=d+24|0;else{p=d+8|0;q=d+20|0;r=d+24|0;s=0;do{t=jg(c[(c[f>>2]|0)+(s<<2)>>2]|0,c[e+(s<<2)>>2]|0,c[p>>2]|0)|0;if((s|0)==0?(t|0)<(c[p>>2]|0):0){u=le(ip(le(le(9776,21853,48)|0,21902,23)|0,t)|0,21926,4)|0;t=le(jp(u,c[p>>2]|0)|0,21931,37)|0;u=le(jp(t,c[q>>2]|0)|0,21969,13)|0;t=le(jp(u,c[r>>2]|0)|0,21636,1)|0;c[j>>2]=oo(t+(c[(c[t>>2]|0)+-12>>2]|0)|0)|0;u=Lt(j,12376)|0;v=Pb[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;Jt(j);mp(t,v)|0;Yo(t)|0}s=s+1|0}while(s>>>0<(c[m>>2]|0)>>>0);o=r}while(1){r=c[c[f>>2]>>2]|0;m=c[r+8>>2]|0;s=c[r+12>>2]|0;if((m|0)<=(s|0))if((m|0)<(s|0))w=m-s+(c[r+16>>2]|0)|0;else w=0;else w=m-s|0;if((w|0)<(c[o>>2]|0))break;eg(d,k)}c[b>>2]=c[k>>2];d=c[k+4>>2]|0;c[b+4>>2]=d;o=c[l>>2]|0;c[b+8>>2]=o;w=b+4|0;if(!o){c[b>>2]=w;x=d}else{c[d+8>>2]=w;c[k>>2]=n;c[n>>2]=0;c[l>>2]=0;x=0}cd(k,x);i=h;return}function ag(a,b){a=a|0;b=b|0;bg(a,c[b+12>>2]|0);return}function bg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,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;e=i;i=i+32|0;f=e+24|0;g=e+12|0;h=e;j=b+4|0;c[j>>2]=0;k=b+8|0;c[k>>2]=0;l=b+4|0;c[b>>2]=l;m=d+32|0;n=d+24|0;while(1){o=c[c[m>>2]>>2]|0;p=c[o+8>>2]|0;q=c[o+12>>2]|0;r=(p|0)>(q|0);if(!r)if((p|0)<(q|0))s=p-q+(c[o+16>>2]|0)|0;else s=0;else s=p-q|0;t=c[n>>2]|0;if((s|0)<(t|0))break;eg(d,b)}if(!r){if((p|0)<(q|0)){u=p-q+(c[o+16>>2]|0)|0;v=12}}else{u=p-q|0;v=12}if((v|0)==12?(u|0)>0:0){u=d+28|0;r=c[u>>2]|0;a:do if(r){s=r;w=o;x=p;y=q;z=t;A=0;while(1){B=w+8|0;if((x|0)<=(y|0))if((x|0)<(y|0))C=x-y+(c[w+16>>2]|0)|0;else C=0;else C=x-y|0;D=z-C|0;E=w+16|0;F=c[E>>2]|0;G=y-x+F|0;H=(G|0)>(F|0)?0-F|0:0;I=G+-1+H|0;G=(I|0)<(D|0)?I:D;if(!G)J=s;else{I=F-x|0;K=w+4|0;L=c[K>>2]|0;if((G|0)<=(I|0)){if((G|0)>0){M=x-y-F-H|0;N=~D;hx(L+(x<<2)|0,0,-4-(((M|0)>(N|0)?M:N)<<2)|0)|0}}else{if((I|0)>0){hx(L+(x<<2)|0,0,I<<2|0)|0;O=c[K>>2]|0}else O=L;L=x-y-F-H|0;H=~D;hx(O|0,0,x+1073741823-F-((L|0)>(H|0)?L:H)<<2|0)|0}H=c[E>>2]|0;E=G+x|0;while(1)if((E|0)<(H|0)){P=E;break}else E=E-H|0;c[B>>2]=P;J=c[u>>2]|0}H=A+1|0;if(H>>>0>=J>>>0)break a;E=c[(c[m>>2]|0)+(H<<2)>>2]|0;s=J;w=E;x=c[E+8>>2]|0;y=c[E+12>>2]|0;z=c[n>>2]|0;A=H}}while(0);eg(d,b)}n=c[d>>2]|0;Fb[c[(c[n>>2]|0)+100>>2]&127](g,n);n=c[g>>2]|0;J=g+4|0;if((n|0)==(J|0)){Q=c[J>>2]|0;cd(g,Q);i=e;return}m=h+4|0;u=d+60|0;P=l;O=n;while(1){n=c[O+16>>2]|0;kg(h,O+20|0);C=c[m>>2]|0;t=c[h>>2]|0;if((C|0)==(t|0)){R=C;S=C}else{C=t;t=0;while(1){if((c[(c[u>>2]|0)+(n*100|0)+88>>2]|0)==1)fg(d,n,C+(t*48|0)|0);q=c[l>>2]|0;do if(q){p=q;while(1){o=c[p+16>>2]|0;if((n|0)<(o|0)){r=c[p>>2]|0;if(!r){T=p;U=p;v=39;break}else V=r}else{if((o|0)>=(n|0)){W=p;v=45;break}o=p+4|0;r=c[o>>2]|0;if(!r){X=o;Y=p;v=43;break}else V=r}p=V}if((v|0)==39){v=0;c[f>>2]=U;Z=T;_=U;v=46;break}else if((v|0)==43){v=0;c[f>>2]=Y;Z=X;_=Y;v=46;break}else if((v|0)==45){v=0;c[f>>2]=W;if(!W){Z=f;_=W;v=46;break}else{$=W;break}}}else{c[f>>2]=l;Z=l;_=P;v=46}while(0);if((v|0)==46){v=0;q=ek(32)|0;c[q+16>>2]=n;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=_;c[Z>>2]=q;B=c[c[b>>2]>>2]|0;if(!B)aa=q;else{c[b>>2]=B;aa=c[Z>>2]|0}xc(c[j>>2]|0,aa);c[k>>2]=(c[k>>2]|0)+1;$=q}q=c[h>>2]|0;B=q+(t*48|0)|0;p=$+24|0;r=c[p>>2]|0;if((r|0)==(c[$+28>>2]|0))lg($+20|0,B);else{a[r>>0]=a[B>>0]|0;c[r+4>>2]=c[q+(t*48|0)+4>>2];c[r+8>>2]=c[q+(t*48|0)+8>>2];a[r+12>>0]=a[q+(t*48|0)+12>>0]|0;c[r+16>>2]=c[q+(t*48|0)+16>>2];c[r+20>>2]=c[q+(t*48|0)+20>>2];Od(r+24|0,q+(t*48|0)+24|0);En(r+36|0,q+(t*48|0)+36|0);c[p>>2]=(c[p>>2]|0)+48}t=t+1|0;p=c[m>>2]|0;q=c[h>>2]|0;if(t>>>0>=((p-q|0)/48|0)>>>0){R=q;S=p;break}else C=q}}if(R){if((S|0)==(R|0))ba=S;else{C=S;do{c[m>>2]=C+-48;In(C+-12|0);t=c[C+-24>>2]|0;n=t;if(t){q=C+-20|0;p=c[q>>2]|0;if((p|0)!=(t|0))c[q>>2]=p+(~((p+-4-n|0)>>>2)<<2);gk(t)}C=c[m>>2]|0}while((C|0)!=(R|0));ba=c[h>>2]|0}gk(ba)}C=c[O+4>>2]|0;if(!C){t=O;while(1){n=c[t+8>>2]|0;if((c[n>>2]|0)==(t|0)){ca=n;break}else t=n}}else{t=C;while(1){n=c[t>>2]|0;if(!n){ca=t;break}else t=n}}if((ca|0)==(J|0))break;else O=ca}Q=c[J>>2]|0;cd(g,Q);i=e;return}function cg(b,d,e){b=b|0;d=d|0;e=+e;var f=0,h=0,j=0,k=0;f=i;i=i+16|0;h=f;c[b>>2]=d;d=b+48|0;j=b+4|0;k=j+44|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));g[d>>2]=e;c[b+52>>2]=0;a[b+56>>0]=1;c[b+60>>2]=0;c[b+64>>2]=0;c[b+68>>2]=0;c[b+76>>2]=0;c[b+80>>2]=0;c[b+72>>2]=b+76;c[b+88>>2]=0;c[b+92>>2]=0;c[b+84>>2]=b+88;Uf(h,b);mc(h);i=f;return}function dg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+28|0;if(!(c[b>>2]|0))d=a+44|0;else{e=a+32|0;f=a+44|0;g=0;do{h=c[(c[e>>2]|0)+(g<<2)>>2]|0;if(h)Eb[c[(c[h>>2]|0)+4>>2]&255](h);h=c[(c[f>>2]|0)+(g<<2)>>2]|0;if(h)hk(h);g=g+1|0}while(g>>>0<(c[b>>2]|0)>>>0);d=f}f=c[d>>2]|0;if(f)hk(f);ig(a+84|0,c[a+88>>2]|0);mg(a+72|0,c[a+76>>2]|0);mc(a+60|0);f=c[a+32>>2]|0;if(!f)return;d=a+36|0;a=c[d>>2]|0;if((a|0)!=(f|0))c[d>>2]=a+(~((a+-4-f|0)>>>2)<<2);gk(f);return} function hl(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,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;a:do if(e>>>0>36){c[(el()|0)>>2]=22;i=0;j=0}else{k=b+4|0;l=b+100|0;do{m=c[k>>2]|0;if(m>>>0<(c[l>>2]|0)>>>0){c[k>>2]=m+1;n=d[m>>0]|0}else n=jl(b)|0}while((cl(n)|0)!=0);o=n;b:do switch(o|0){case 43:case 45:{m=((o|0)==45)<<31>>31;p=c[k>>2]|0;if(p>>>0<(c[l>>2]|0)>>>0){c[k>>2]=p+1;q=d[p>>0]|0;r=m;break b}else{q=jl(b)|0;r=m;break b}break}default:{q=o;r=0}}while(0);m=(e|0)==0;do if((e&-17|0)==0&(q|0)==48){p=c[k>>2]|0;if(p>>>0<(c[l>>2]|0)>>>0){c[k>>2]=p+1;s=d[p>>0]|0}else s=jl(b)|0;if((s|32|0)!=120)if(m){t=8;u=s;v=46;break}else{w=e;x=s;v=32;break}p=c[k>>2]|0;if(p>>>0<(c[l>>2]|0)>>>0){c[k>>2]=p+1;y=d[p>>0]|0}else y=jl(b)|0;if((d[27560+(y+1)>>0]|0)>15){p=(c[l>>2]|0)==0;if(!p)c[k>>2]=(c[k>>2]|0)+-1;if(!f){il(b,0);i=0;j=0;break a}if(p){i=0;j=0;break a}c[k>>2]=(c[k>>2]|0)+-1;i=0;j=0;break a}else{t=16;u=y;v=46}}else{p=m?10:e;if((d[27560+(q+1)>>0]|0)>>>0<p>>>0){w=p;x=q;v=32}else{if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+-1;il(b,0);c[(el()|0)>>2]=22;i=0;j=0;break a}}while(0);if((v|0)==32)if((w|0)==10){m=x+-48|0;if(m>>>0<10){p=m;m=0;while(1){z=(m*10|0)+p|0;A=c[k>>2]|0;if(A>>>0<(c[l>>2]|0)>>>0){c[k>>2]=A+1;B=d[A>>0]|0}else B=jl(b)|0;p=B+-48|0;if(!(p>>>0<10&z>>>0<429496729)){C=z;E=B;break}else m=z}F=C;G=0;H=E}else{F=0;G=0;H=x}m=H+-48|0;if(m>>>0<10){p=F;z=G;A=m;m=H;while(1){I=sx(p|0,z|0,10,0)|0;J=D;K=((A|0)<0)<<31>>31;L=~K;if(J>>>0>L>>>0|(J|0)==(L|0)&I>>>0>~A>>>0){M=A;N=p;O=z;P=m;break}L=ix(I|0,J|0,A|0,K|0)|0;K=D;J=c[k>>2]|0;if(J>>>0<(c[l>>2]|0)>>>0){c[k>>2]=J+1;Q=d[J>>0]|0}else Q=jl(b)|0;J=Q+-48|0;if(J>>>0<10&(K>>>0<429496729|(K|0)==429496729&L>>>0<2576980378)){p=L;z=K;A=J;m=Q}else{M=J;N=L;O=K;P=Q;break}}if(M>>>0>9){R=O;S=N;T=r}else{U=10;V=N;W=O;X=P;v=72}}else{R=G;S=F;T=r}}else{t=w;u=x;v=46}c:do if((v|0)==46){if(!(t+-1&t)){m=a[27817+((t*23|0)>>>5&7)>>0]|0;A=a[27560+(u+1)>>0]|0;z=A&255;if(z>>>0<t>>>0){p=z;z=0;while(1){K=p|z<<m;L=c[k>>2]|0;if(L>>>0<(c[l>>2]|0)>>>0){c[k>>2]=L+1;Y=d[L>>0]|0}else Y=jl(b)|0;L=a[27560+(Y+1)>>0]|0;p=L&255;if(!(K>>>0<134217728&p>>>0<t>>>0)){Z=K;_=L;aa=Y;break}else z=K}ba=_;ca=0;da=Z;ea=aa}else{ba=A;ca=0;da=0;ea=u}z=jx(-1,-1,m|0)|0;p=D;if((ba&255)>>>0>=t>>>0|(ca>>>0>p>>>0|(ca|0)==(p|0)&da>>>0>z>>>0)){U=t;V=da;W=ca;X=ea;v=72;break}else{fa=da;ga=ca;ha=ba}while(1){K=lx(fa|0,ga|0,m|0)|0;L=D;J=ha&255|K;K=c[k>>2]|0;if(K>>>0<(c[l>>2]|0)>>>0){c[k>>2]=K+1;ia=d[K>>0]|0}else ia=jl(b)|0;ha=a[27560+(ia+1)>>0]|0;if((ha&255)>>>0>=t>>>0|(L>>>0>p>>>0|(L|0)==(p|0)&J>>>0>z>>>0)){U=t;V=J;W=L;X=ia;v=72;break c}else{fa=J;ga=L}}}z=a[27560+(u+1)>>0]|0;p=z&255;if(p>>>0<t>>>0){m=p;p=0;while(1){A=m+($(p,t)|0)|0;L=c[k>>2]|0;if(L>>>0<(c[l>>2]|0)>>>0){c[k>>2]=L+1;ja=d[L>>0]|0}else ja=jl(b)|0;L=a[27560+(ja+1)>>0]|0;m=L&255;if(!(A>>>0<119304647&m>>>0<t>>>0)){ka=A;la=L;ma=ja;break}else p=A}na=la;oa=ka;pa=0;qa=ma}else{na=z;oa=0;pa=0;qa=u}if((na&255)>>>0<t>>>0){p=tx(-1,-1,t|0,0)|0;m=D;A=pa;L=oa;J=na;K=qa;while(1){if(A>>>0>m>>>0|(A|0)==(m|0)&L>>>0>p>>>0){U=t;V=L;W=A;X=K;v=72;break c}I=sx(L|0,A|0,t|0,0)|0;ra=D;sa=J&255;if(ra>>>0>4294967295|(ra|0)==-1&I>>>0>~sa>>>0){U=t;V=L;W=A;X=K;v=72;break c}ta=ix(sa|0,0,I|0,ra|0)|0;ra=D;I=c[k>>2]|0;if(I>>>0<(c[l>>2]|0)>>>0){c[k>>2]=I+1;ua=d[I>>0]|0}else ua=jl(b)|0;J=a[27560+(ua+1)>>0]|0;if((J&255)>>>0>=t>>>0){U=t;V=ta;W=ra;X=ua;v=72;break}else{A=ra;L=ta;K=ua}}}else{U=t;V=oa;W=pa;X=qa;v=72}}while(0);if((v|0)==72)if((d[27560+(X+1)>>0]|0)>>>0<U>>>0){do{K=c[k>>2]|0;if(K>>>0<(c[l>>2]|0)>>>0){c[k>>2]=K+1;va=d[K>>0]|0}else va=jl(b)|0}while((d[27560+(va+1)>>0]|0)>>>0<U>>>0);c[(el()|0)>>2]=34;R=h;S=g;T=(g&1|0)==0&0==0?r:0}else{R=W;S=V;T=r}if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+-1;if(!(R>>>0<h>>>0|(R|0)==(h|0)&S>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(T|0)!=0)){c[(el()|0)>>2]=34;K=ix(g|0,h|0,-1,-1)|0;i=D;j=K;break}if(R>>>0>h>>>0|(R|0)==(h|0)&S>>>0>g>>>0){c[(el()|0)>>2]=34;i=h;j=g;break}}K=((T|0)<0)<<31>>31;L=gx(S^T|0,R^K|0,T|0,K|0)|0;i=D;j=L}while(0);D=i;return j|0}function il(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+4>>2]|0;e=c[a+8>>2]|0;f=e-d|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=d+b;else c[a+100>>2]=e;return}function jl(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=b+104|0;f=c[e>>2]|0;if((f|0)!=0?(c[b+108>>2]|0)>=(f|0):0)g=4;else{f=Yl(b)|0;if((f|0)>=0){h=c[e>>2]|0;e=b+8|0;if(h){i=c[e>>2]|0;j=c[b+4>>2]|0;k=i;l=h-(c[b+108>>2]|0)+-1|0;if((k-j|0)>(l|0)){c[b+100>>2]=j+l;m=i}else{n=k;o=i;g=9}}else{i=c[e>>2]|0;n=i;o=i;g=9}if((g|0)==9){c[b+100>>2]=n;m=o}o=c[b+4>>2]|0;if(m){n=b+108|0;c[n>>2]=m+1-o+(c[n>>2]|0)}n=o+-1|0;if((d[n>>0]|0|0)==(f|0))p=f;else{a[n>>0]=f;p=f}}else g=4}if((g|0)==4){c[b+100>>2]=0;p=-1}return p|0}function kl(a){a=a|0;var b=0;if(a>>>0>4294963200){c[(el()|0)>>2]=0-a;b=-1}else b=a;return b|0}function ll(a){a=a|0;return 0}function ml(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function nl(a,b){a=a|0;b=b|0;return -1|0}function ol(a){a=a|0;Mm(a);return}function pl(a,b){a=a|0;b=b|0;return (a+-48|0)>>>0<10|0}function ql(a,b){a=a|0;b=b|0;return dl(a)|0}function rl(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(((a[c>>0]|0)!=0?(sm(c,32453)|0)!=0:0)?(sm(c,27826)|0)!=0:0)e=0;else if(!d)e=Nm(1,4)|0;else e=d;return e|0}function sl(a){a=a|0;var b=0,d=0;b=(_a()|0)+176|0;d=c[b>>2]|0;if(a)c[b>>2]=a;return d|0}function tl(a,b){a=+a;b=+b;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;h[k>>3]=b;f=c[k+4>>2]&-2147483648|e&2147483647;c[k>>2]=d;c[k+4>>2]=f;return +(+h[k>>3])}function ul(a,b){a=+a;b=+b;return +(+tl(a,b))}function vl(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=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,E=0,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.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;h[k>>3]=b;f=c[k>>2]|0;g=c[k+4>>2]|0;i=jx(d|0,e|0,52)|0;j=i&2047;i=jx(f|0,g|0,52)|0;l=i&2047;i=e&-2147483648;m=lx(f|0,g|0,1)|0;n=D;a:do if(!((m|0)==0&(n|0)==0)?(o=g&2147483647,!(o>>>0>2146435072|(o|0)==2146435072&f>>>0>0|(j|0)==2047)):0){o=lx(d|0,e|0,1)|0;p=D;if(!(p>>>0>n>>>0|(p|0)==(n|0)&o>>>0>m>>>0))return +((o|0)==(m|0)&(p|0)==(n|0)?a*0.0:a);if(!j){p=lx(d|0,e|0,12)|0;o=D;if((o|0)>-1|(o|0)==-1&p>>>0>4294967295){q=p;p=o;o=0;while(1){r=o+-1|0;q=lx(q|0,p|0,1)|0;p=D;if(!((p|0)>-1|(p|0)==-1&q>>>0>4294967295)){s=r;break}else o=r}}else s=0;o=lx(d|0,e|0,1-s|0)|0;t=o;u=D;v=s}else{t=d;u=e&1048575|1048576;v=j}if(!l){o=lx(f|0,g|0,12)|0;q=D;if((q|0)>-1|(q|0)==-1&o>>>0>4294967295){p=o;o=q;q=0;while(1){r=q+-1|0;p=lx(p|0,o|0,1)|0;o=D;if(!((o|0)>-1|(o|0)==-1&p>>>0>4294967295)){w=r;break}else q=r}}else w=0;q=lx(f|0,g|0,1-w|0)|0;x=q;y=D;z=w}else{x=f;y=g&1048575|1048576;z=l}q=gx(t|0,u|0,x|0,y|0)|0;p=D;o=(p|0)>-1|(p|0)==-1&q>>>0>4294967295;b:do if((v|0)>(z|0)){r=o;A=q;B=p;C=t;E=u;F=v;while(1){if(r)if((C|0)==(x|0)&(E|0)==(y|0))break;else{G=A;H=B}else{G=C;H=E}I=lx(G|0,H|0,1)|0;J=D;K=F+-1|0;L=gx(I|0,J|0,x|0,y|0)|0;M=D;N=(M|0)>-1|(M|0)==-1&L>>>0>4294967295;if((K|0)>(z|0)){r=N;A=L;B=M;C=I;E=J;F=K}else{O=N;P=I;Q=J;R=L;S=M;T=K;break b}}U=a*0.0;break a}else{O=o;P=t;Q=u;R=q;S=p;T=v}while(0);if(O)if((P|0)==(x|0)&(Q|0)==(y|0)){U=a*0.0;break}else{V=S;W=R}else{V=Q;W=P}if(V>>>0<1048576|(V|0)==1048576&W>>>0<0){p=W;q=V;o=T;while(1){F=lx(p|0,q|0,1)|0;E=D;C=o+-1|0;if(E>>>0<1048576|(E|0)==1048576&F>>>0<0){p=F;q=E;o=C}else{X=F;Y=E;Z=C;break}}}else{X=W;Y=V;Z=T}if((Z|0)>0){o=ix(X|0,Y|0,0,-1048576)|0;q=D;p=lx(Z|0,0,52)|0;_=q|D;$=o|p}else{p=jx(X|0,Y|0,1-Z|0)|0;_=D;$=p}c[k>>2]=$;c[k+4>>2]=_|i;U=+h[k>>3]}else aa=3;while(0);if((aa|0)==3){ba=a*b;U=ba/ba}return +U}function wl(a,b){a=+a;b=+b;return +(+vl(a,b))}function xl(a,b){a=+a;b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0.0,l=0,m=0.0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=jx(d|0,e|0,52)|0;g=f&2047;switch(g|0){case 0:{if(a!=0.0){i=+xl(a*18446744073709551616.0,b);j=i;l=(c[b>>2]|0)+-64|0}else{j=a;l=0}c[b>>2]=l;m=j;break}case 2047:{m=a;break}default:{c[b>>2]=g+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;m=+h[k>>3]}}return +m}function yl(a,b){a=+a;b=b|0;return +(+xl(a,b))}function zl(a){a=+a;var b=0,d=0,e=0,f=0.0,g=0.0,i=0.0,j=0.0,l=0.0;h[k>>3]=a;b=c[k+4>>2]|0;d=jx(c[k>>2]|0,b|0,52)|0;e=d&2047;do if(e>>>0>1074)f=a;else{d=(b|0)<0;g=d?-a:a;if(e>>>0<1022){f=a*0.0;break}i=g+4503599627370496.0+-4503599627370496.0-g;if(!(i>.5)){j=g+i;if(!(i<=-.5))l=j;else l=j+1.0}else l=g+i+-1.0;f=d?-l:l}while(0);return +f}function Al(a){a=+a;var b=0,d=0,e=0.0,f=0,h=0.0,i=0.0,j=0.0,l=0.0;b=(g[k>>2]=a,c[k>>2]|0);d=b>>>23&255;do if(d>>>0>149)e=a;else{f=(b|0)<0;h=f?-a:a;if(d>>>0<126){e=a*0.0;break}i=h+8388608.0+-8388608.0-h;if(!(i>.5)){j=h+i;if(!(i<=-.5))l=j;else l=j+1.0}else l=h+i+-1.0;e=f?-l:l}while(0);return +e}function Bl(a,b){a=+a;b=b|0;var d=0.0,e=0,f=0,g=0,i=0.0;if((b|0)>1023){d=a*8988465674311579538646525.0e283;e=b+-1023|0;if((e|0)>1023){f=b+-2046|0;g=(f|0)>1023?1023:f;i=d*8988465674311579538646525.0e283}else{g=e;i=d}}else if((b|0)<-1022){d=a*2.2250738585072014e-308;e=b+1022|0;if((e|0)<-1022){f=b+2044|0;g=(f|0)<-1022?-1022:f;i=d*2.2250738585072014e-308}else{g=e;i=d}}else{g=b;i=a}b=lx(g+1023|0,0,52)|0;g=D;c[k>>2]=b;c[k+4>>2]=g;return +(i*+h[k>>3])}function Cl(a,b){a=+a;b=b|0;return +(+Bl(a,b))}function Dl(a,b,c){a=a|0;b=b|0;c=c|0;return El(0,a,b,(c|0)!=0?c:5580)|0}function El(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=i;i=i+16|0;h=g;j=(f|0)==0?5584:f;f=c[j>>2]|0;a:do if(!d)if(!f)k=0;else l=15;else{m=(b|0)==0?h:b;if(!e)k=-2;else{if(!f){n=a[d>>0]|0;o=n&255;if(n<<24>>24>-1){c[m>>2]=o;k=n<<24>>24!=0&1;break}n=o+-194|0;if(n>>>0>50){l=15;break}o=c[5312+(n<<2)>>2]|0;n=e+-1|0;if(!n)p=o;else{q=n;r=o;s=d+1|0;l=9}}else{q=e;r=f;s=d;l=9}b:do if((l|0)==9){o=a[s>>0]|0;n=(o&255)>>>3;if((n+-16|n+(r>>26))>>>0>7){l=15;break a}else{t=q;u=o;v=r;w=s}while(1){w=w+1|0;v=(u&255)+-128|v<<6;t=t+-1|0;if((v|0)>=0){x=v;y=t;break}if(!t){p=v;break b}u=a[w>>0]|0;if((u&-64)<<24>>24!=-128){l=15;break a}}c[j>>2]=0;c[m>>2]=x;k=e-y|0;break a}while(0);c[j>>2]=p;k=-2}}while(0);if((l|0)==15){c[j>>2]=0;c[(el()|0)>>2]=84;k=-1}i=g;return k|0}function Fl(a){a=a|0;var b=0;if(!a)b=1;else b=(c[a>>2]|0)==0;return b&1|0}function Gl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,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=i;i=i+1040|0;h=g+8|0;j=g;k=c[b>>2]|0;c[j>>2]=k;l=(a|0)!=0;m=l?e:256;e=l?a:h;a=k;a:do if((m|0)!=0&(k|0)!=0){n=d;o=m;p=a;q=0;r=e;while(1){s=n>>>2;t=s>>>0>=o>>>0;if(!(n>>>0>131|t)){u=n;v=o;w=p;x=q;y=r;break a}z=t?o:s;s=n-z|0;t=Hl(r,j,z,f)|0;if((t|0)==-1){A=s;B=r;break}z=(r|0)==(h|0);C=z?0:t;D=o-C|0;E=z?r:r+(t<<2)|0;z=t+q|0;t=c[j>>2]|0;if((o|0)!=(C|0)&(t|0)!=0){n=s;o=D;p=t;q=z;r=E}else{u=s;v=D;w=t;x=z;y=E;break a}}u=A;v=0;w=c[j>>2]|0;x=-1;y=B}else{u=d;v=m;w=a;x=0;y=e}while(0);b:do if((w|0)!=0?(v|0)!=0&(u|0)!=0:0){e=u;a=v;m=w;d=x;B=y;while(1){A=El(B,m,e,f)|0;if((A+2|0)>>>0<3){F=A;G=d;break}m=(c[j>>2]|0)+A|0;c[j>>2]=m;a=a+-1|0;h=d+1|0;if(!((a|0)!=0&(e|0)!=(A|0))){H=h;break b}else{e=e-A|0;d=h;B=B+4|0}}switch(F|0){case -1:{H=-1;break b;break}case 0:{c[j>>2]=0;H=G;break b;break}default:{c[f>>2]=0;H=G;break b}}}else H=x;while(0);if(l)c[b>>2]=c[j>>2];i=g;return H|0}function Hl(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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;h=c[e>>2]|0;if((g|0)!=0?(i=c[g>>2]|0,(i|0)!=0):0)if(!b){j=f;k=i;l=h;m=16}else{c[g>>2]=0;n=b;o=f;p=i;q=h;m=37}else if(!b){r=f;s=h;m=7}else{t=b;u=f;v=h;m=6}a:while(1)if((m|0)==6){m=0;if(!u){w=v;m=26;break}else{x=t;y=u;z=v}while(1){h=a[z>>0]|0;do if(((h&255)+-1|0)>>>0<127?y>>>0>4&(z&3|0)==0:0){i=x;g=y;A=z;while(1){B=c[A>>2]|0;if((B+-16843009|B)&-2139062144){C=i;D=g;E=B;F=A;m=32;break}c[i>>2]=B&255;c[i+4>>2]=d[A+1>>0];c[i+8>>2]=d[A+2>>0];B=A+4|0;G=i+16|0;c[i+12>>2]=d[A+3>>0];H=g+-4|0;if(H>>>0>4){i=G;g=H;A=B}else{I=B;J=G;K=H;m=31;break}}if((m|0)==31){m=0;L=J;M=K;N=a[I>>0]|0;O=I;break}else if((m|0)==32){m=0;L=C;M=D;N=E&255;O=F;break}}else{L=x;M=y;N=h;O=z}while(0);h=N&255;if((h+-1|0)>>>0>=127){P=L;Q=M;R=h;S=O;break}A=O+1|0;c[L>>2]=h;y=M+-1|0;if(!y){w=A;m=26;break a}else{x=L+4|0;z=A}}A=R+-194|0;if(A>>>0>50){T=P;U=Q;V=S;m=48;break}n=P;o=Q;p=c[5312+(A<<2)>>2]|0;q=S+1|0;m=37;continue}else if((m|0)==7){m=0;A=a[s>>0]|0;if(((A&255)+-1|0)>>>0<127?(s&3|0)==0:0){h=c[s>>2]|0;if(!((h+-16843009|h)&-2139062144)){g=r;i=s;while(1){H=i+4|0;G=g+-4|0;B=c[H>>2]|0;if(!((B+-16843009|B)&-2139062144)){g=G;i=H}else{W=G;X=B;Y=H;break}}}else{W=r;X=h;Y=s}Z=W;_=X&255;$=Y}else{Z=r;_=A;$=s}i=_&255;if((i+-1|0)>>>0<127){r=Z+-1|0;s=$+1|0;m=7;continue}else{aa=Z;ba=i;ca=$}i=ba+-194|0;if(i>>>0>50){T=b;U=aa;V=ca;m=48;break}j=aa;k=c[5312+(i<<2)>>2]|0;l=ca+1|0;m=16;continue}else if((m|0)==16){m=0;i=(d[l>>0]|0)>>>3;if((i+-16|i+(k>>26))>>>0>7){m=17;break}i=l+1|0;if(k&33554432){if((a[i>>0]&-64)<<24>>24!=-128){m=20;break}g=l+2|0;if(!(k&524288))da=g;else{if((a[g>>0]&-64)<<24>>24!=-128){m=23;break}da=l+3|0}}else da=i;r=j+-1|0;s=da;m=7;continue}else if((m|0)==37){m=0;i=d[q>>0]|0;g=i>>>3;if((g+-16|g+(p>>26))>>>0>7){m=38;break}g=q+1|0;H=i+-128|p<<6;if((H|0)<0){i=d[g>>0]|0;if((i&192|0)!=128){m=41;break}B=q+2|0;G=i+-128|H<<6;if((G|0)<0){i=d[B>>0]|0;if((i&192|0)!=128){m=44;break}ea=i+-128|G<<6;fa=q+3|0}else{ea=G;fa=B}}else{ea=H;fa=g}c[n>>2]=ea;t=n+4|0;u=o+-1|0;v=fa;m=6;continue}if((m|0)==17){ga=b;ha=j;ia=k;ja=l+-1|0;m=47}else if((m|0)==20){ga=b;ha=j;ia=k;ja=l+-1|0;m=47}else if((m|0)==23){ga=b;ha=j;ia=k;ja=l+-1|0;m=47}else if((m|0)==26){c[e>>2]=w;ka=f}else if((m|0)==38){ga=n;ha=o;ia=p;ja=q+-1|0;m=47}else if((m|0)==41){la=n;ma=q+-1|0;m=52}else if((m|0)==44){la=n;ma=q+-1|0;m=52}if((m|0)==47)if(!ia){T=ga;U=ha;V=ja;m=48}else{la=ga;ma=ja;m=52}if((m|0)==48)if(!(a[V>>0]|0)){if(T){c[T>>2]=0;c[e>>2]=0}ka=f-U|0}else{la=T;ma=V;m=52}if((m|0)==52){c[(el()|0)>>2]=84;if(!la)ka=-1;else{c[e>>2]=ma;ka=-1}}return ka|0}function Il(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+16|0;h=g;a:do if(!e)j=0;else{do if(f){k=(b|0)==0?h:b;l=a[e>>0]|0;m=l&255;if(l<<24>>24>-1){c[k>>2]=m;j=l<<24>>24!=0&1;break a}l=m+-194|0;if(l>>>0<=50){m=e+1|0;n=c[5312+(l<<2)>>2]|0;if(f>>>0<4?(n&-2147483648>>>((f*6|0)+-6|0)|0)!=0:0)break;l=d[m>>0]|0;m=l>>>3;if((m+-16|m+(n>>26))>>>0<=7){m=l+-128|n<<6;if((m|0)>=0){c[k>>2]=m;j=2;break a}n=d[e+2>>0]|0;if((n&192|0)==128){l=n+-128|m<<6;if((l|0)>=0){c[k>>2]=l;j=3;break a}m=d[e+3>>0]|0;if((m&192|0)==128){c[k>>2]=m+-128|l<<6;j=4;break a}}}}}while(0);c[(el()|0)>>2]=84;j=-1}while(0);i=g;return j|0}function Jl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;do if(b){if(d>>>0<128){a[b>>0]=d;f=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;f=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;f=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;f=4;break}else{c[(el()|0)>>2]=84;f=-1;break}}else f=1;while(0);return f|0}function Kl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;f=i;i=i+272|0;g=f+8|0;h=f;j=c[b>>2]|0;c[h>>2]=j;k=(a|0)!=0;l=k?e:256;e=k?a:g;a=j;a:do if((l|0)!=0&(j|0)!=0){m=d;n=l;o=a;p=0;q=e;while(1){r=m>>>0>=n>>>0;if(!(r|m>>>0>32)){s=m;t=n;u=o;v=p;w=q;break a}x=r?n:m;r=m-x|0;y=Ll(q,h,x,0)|0;if((y|0)==-1){z=r;A=q;break}x=(q|0)==(g|0);B=x?0:y;C=n-B|0;D=x?q:q+y|0;x=y+p|0;y=c[h>>2]|0;if((n|0)!=(B|0)&(y|0)!=0){m=r;n=C;o=y;p=x;q=D}else{s=r;t=C;u=y;v=x;w=D;break a}}s=z;t=0;u=c[h>>2]|0;v=-1;w=A}else{s=d;t=l;u=a;v=0;w=e}while(0);b:do if((u|0)!=0?(t|0)!=0&(s|0)!=0:0){e=s;a=t;l=u;d=v;A=w;while(1){z=Jl(A,c[l>>2]|0,0)|0;if((z+1|0)>>>0<2){E=z;F=d;break}l=(c[h>>2]|0)+4|0;c[h>>2]=l;e=e+-1|0;g=d+1|0;if(!((a|0)!=(z|0)&(e|0)!=0)){G=g;break b}else{a=a-z|0;d=g;A=A+z|0}}if(!E){c[h>>2]=0;G=F}else G=-1}else G=v;while(0);if(k)c[b>>2]=c[h>>2];i=f;return G|0}function Ll(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,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;f=i;i=i+16|0;g=f;a:do if(!b){h=c[d>>2]|0;j=c[h>>2]|0;if(!j)k=0;else{l=0;m=j;j=h;while(1){if(m>>>0>127){h=Jl(g,m,0)|0;if((h|0)==-1){k=-1;break a}else n=h}else n=1;h=n+l|0;j=j+4|0;m=c[j>>2]|0;if(!m){k=h;break}else l=h}}}else{b:do if(e>>>0>3){l=b;m=e;j=c[d>>2]|0;while(1){h=c[j>>2]|0;if((h+-1|0)>>>0>126){if(!h){o=l;p=m;break}q=Jl(l,h,0)|0;if((q|0)==-1){k=-1;break a}r=l+q|0;s=m-q|0;t=j}else{a[l>>0]=h;r=l+1|0;s=m+-1|0;t=c[d>>2]|0}j=t+4|0;c[d>>2]=j;if(s>>>0<=3){u=r;v=s;break b}else{l=r;m=s}}a[o>>0]=0;c[d>>2]=0;k=e-p|0;break a}else{u=b;v=e}while(0);if(v){m=u;l=v;j=c[d>>2]|0;while(1){h=c[j>>2]|0;if((h+-1|0)>>>0>126){if(!h){w=m;x=l;y=19;break}q=Jl(g,h,0)|0;if((q|0)==-1){k=-1;break a}if(l>>>0<q>>>0){z=l;y=22;break}Jl(m,c[j>>2]|0,0)|0;A=m+q|0;B=l-q|0;C=j}else{a[m>>0]=h;A=m+1|0;B=l+-1|0;C=c[d>>2]|0}j=C+4|0;c[d>>2]=j;if(!B){k=e;break a}else{m=A;l=B}}if((y|0)==19){a[w>>0]=0;c[d>>2]=0;k=e-x|0;break}else if((y|0)==22){k=e-z|0;break}}else k=e}while(0);i=f;return k|0}function Ml(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=Jl(a,b,0)|0;return c|0}function Nl(a){a=a|0;return 0}function Ol(a){a=a|0;return}function Pl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+16|0;g=f;h=e&255;a[g>>0]=h;j=b+16|0;k=c[j>>2]|0;if(!k)if(!(Xl(b)|0)){l=c[j>>2]|0;m=4}else n=-1;else{l=k;m=4}do if((m|0)==4){k=b+20|0;j=c[k>>2]|0;if(j>>>0<l>>>0?(o=e&255,(o|0)!=(a[b+75>>0]|0)):0){c[k>>2]=j+1;a[j>>0]=h;n=o;break}if((yb[c[b+36>>2]&31](b,g,1)|0)==1)n=d[g>>0]|0;else n=-1}while(0);i=f;return n|0}function Ql(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=kl(mb(6,d|0)|0)|0;i=b;return a|0}function Rl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+48|0;g=f+16|0;h=f;j=f+32|0;c[j>>2]=d;k=j+4|0;l=b+48|0;m=c[l>>2]|0;c[k>>2]=e-((m|0)!=0&1);n=b+44|0;c[j+8>>2]=c[n>>2];c[j+12>>2]=m;if(!(c[1317]|0)){c[g>>2]=c[b+60>>2];c[g+4>>2]=j;c[g+8>>2]=2;o=kl(ub(145,g|0)|0)|0}else{nb(189,b|0);c[h>>2]=c[b+60>>2];c[h+4>>2]=j;c[h+8>>2]=2;j=kl(ub(145,h|0)|0)|0;eb(0);o=j}if((o|0)>=1){j=c[k>>2]|0;if(o>>>0>j>>>0){k=c[n>>2]|0;n=b+4|0;c[n>>2]=k;h=k;c[b+8>>2]=h+(o-j);if(!(c[l>>2]|0))p=e;else{c[n>>2]=h+1;a[d+(e+-1)>>0]=a[h>>0]|0;p=e}}else p=o}else{c[b>>2]=c[b>>2]|o&48^16;c[b+8>>2]=0;c[b+4>>2]=0;p=o}i=f;return p|0}function Sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+20|0;c[f>>2]=c[a+60>>2];c[f+4>>2]=0;c[f+8>>2]=b;c[f+12>>2]=g;c[f+16>>2]=d;if((kl(sb(140,f|0)|0)|0)<0){c[g>>2]=-1;h=-1}else h=c[g>>2]|0;i=e;return h|0}function Tl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=i;i=i+48|0;f=e+16|0;g=e;h=e+32|0;j=a+28|0;k=c[j>>2]|0;c[h>>2]=k;l=a+20|0;m=(c[l>>2]|0)-k|0;c[h+4>>2]=m;c[h+8>>2]=b;c[h+12>>2]=d;b=a+60|0;k=a+44|0;n=h;h=2;o=m+d|0;while(1){if(!(c[1317]|0)){c[f>>2]=c[b>>2];c[f+4>>2]=n;c[f+8>>2]=h;p=kl(vb(146,f|0)|0)|0}else{nb(190,a|0);c[g>>2]=c[b>>2];c[g+4>>2]=n;c[g+8>>2]=h;m=kl(vb(146,g|0)|0)|0;eb(0);p=m}if((o|0)==(p|0)){q=6;break}if((p|0)<0){r=n;s=h;q=8;break}m=o-p|0;t=c[n+4>>2]|0;if(p>>>0<=t>>>0)if((h|0)==2){c[j>>2]=(c[j>>2]|0)+p;u=t;v=p;w=n;x=2}else{u=t;v=p;w=n;x=h}else{y=c[k>>2]|0;c[j>>2]=y;c[l>>2]=y;u=c[n+12>>2]|0;v=p-t|0;w=n+8|0;x=h+-1|0}c[w>>2]=(c[w>>2]|0)+v;c[w+4>>2]=u-v;n=w;h=x;o=m}if((q|0)==6){o=c[k>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);k=o;c[j>>2]=k;c[l>>2]=k;z=d}else if((q|0)==8){c[a+16>>2]=0;c[j>>2]=0;c[l>>2]=0;c[a>>2]=c[a>>2]|32;if((s|0)==2)z=0;else z=d-(c[r+4>>2]|0)|0}i=e;return z|0}function Ul(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+80|0;g=f;c[b+36>>2]=6;if((c[b>>2]&64|0)==0?(c[g>>2]=c[b+60>>2],c[g+4>>2]=21505,c[g+8>>2]=f+12,(cb(54,g|0)|0)!=0):0)a[b+75>>0]=-1;g=Tl(b,d,e)|0;i=f;return g|0}function Vl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a+84|0;f=c[e>>2]|0;g=d+256|0;h=qm(f,0,g)|0;i=(h|0)==0?g:h-f|0;h=i>>>0<d>>>0?i:d;kx(b|0,f|0,h|0)|0;c[a+4>>2]=f+h;b=f+i|0;c[a+8>>2]=b;c[e>>2]=b;return h|0}function Wl(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=b+20|0;d=b+44|0;if((c[e>>2]|0)>>>0>(c[d>>2]|0)>>>0)yb[c[b+36>>2]&31](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[e>>2]=0;e=c[b>>2]|0;if(e&20)if(!(e&4))f=-1;else{c[b>>2]=e|32;f=-1}else{e=c[d>>2]|0;c[b+8>>2]=e;c[b+4>>2]=e;f=0}return f|0}function Xl(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=c[b>>2]|0;if(!(e&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);f=0}else{c[b>>2]=e|32;f=-1}return f|0}function Yl(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b;if((c[a+8>>2]|0)==0?(Wl(a)|0)!=0:0)f=-1;else if((yb[c[a+32>>2]&31](a,e,1)|0)==1)f=d[e>>0]|0;else f=-1;i=b;return f|0}function Zl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Cm(a)|0;break}d=(Nl(a)|0)==0;e=Cm(a)|0;if(d)b=e;else{Ol(a);b=e}}else{if(!(c[1382]|0))f=0;else f=Zl(c[1382]|0)|0;lb(5296);e=c[1323]|0;if(!e)g=f;else{d=e;e=f;while(1){if((c[d+76>>2]|0)>-1)h=Nl(d)|0;else h=0;if((c[d+20>>2]|0)>>>0>(c[d+28>>2]|0)>>>0)i=Cm(d)|0|e;else i=e;if(h)Ol(d);d=c[d+56>>2]|0;if(!d){g=i;break}else e=i}}db(5296);b=g}while(0);return b|0}function _l(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Nl(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(e=d+20|0,f=c[e>>2]|0,f>>>0<(c[d+16>>2]|0)>>>0):0){c[e>>2]=f+1;a[f>>0]=b;g=b&255}else g=Pl(d,b)|0;Ol(d);h=g}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(g=d+20|0,f=c[g>>2]|0,f>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=f+1;a[f>>0]=b;h=b&255;break}h=Pl(d,b)|0}while(0);return h|0}function $l(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Xl(e)|0)){h=c[f>>2]|0;i=4}else j=0;else{h=g;i=4}a:do if((i|0)==4){g=e+20|0;f=c[g>>2]|0;if((h-f|0)>>>0<d>>>0){j=yb[c[e+36>>2]&31](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){k=d;while(1){if(!k){l=d;m=b;n=f;o=0;break b}p=k+-1|0;if((a[b+p>>0]|0)==10){q=k;break}else k=p}if((yb[c[e+36>>2]&31](e,b,q)|0)>>>0<q>>>0){j=q;break a}l=d-q|0;m=b+q|0;n=c[g>>2]|0;o=q}else{l=d;m=b;n=f;o=0}while(0);kx(n|0,m|0,l|0)|0;c[g>>2]=(c[g>>2]|0)+l;j=o+l|0}while(0);return j|0}function am(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=$(d,b)|0;if((c[e+76>>2]|0)>-1){g=(Nl(e)|0)==0;h=$l(a,f,e)|0;if(g)i=h;else{Ol(e);i=h}}else i=$l(a,f,e)|0;if((i|0)==(f|0))j=d;else j=(i>>>0)/(b>>>0)|0;return j|0}function bm(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;if((c[a+76>>2]|0)>=0?(Nl(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;f=d[e>>0]|0}else f=Yl(a)|0;g=f}else h=3;do if((h|0)==3){f=a+4|0;e=c[f>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[f>>2]=e+1;g=d[e>>0]|0;break}else{g=Yl(a)|0;break}}while(0);return g|0}function cm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=im(a,b,d,g)|0;i=f;return e|0}function dm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=jm(a,b,f)|0;i=e;return d|0}function em(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;do if((b|0)!=-1){if((c[d+76>>2]|0)>-1)e=Nl(d)|0;else e=0;if(!((c[d+8>>2]|0)==0?(Wl(d)|0)!=0:0))f=6;if((f|0)==6?(g=d+4|0,h=c[g>>2]|0,h>>>0>((c[d+44>>2]|0)+-8|0)>>>0):0){i=h+-1|0;c[g>>2]=i;a[i>>0]=b;c[d>>2]=c[d>>2]&-17;if(!e){j=b;break}Ol(d);j=b;break}if(e){Ol(d);j=-1}else j=-1}else j=-1;while(0);return j|0}function fm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e;g=Lm(240)|0;do if(g){c[f>>2]=c[d>>2];h=im(g,240,b,f)|0;if(h>>>0<240){j=Om(g,h+1|0)|0;c[a>>2]=(j|0)!=0?j:g;k=h;break}Mm(g);if((h|0)>=0?(j=h+1|0,h=Lm(j)|0,c[a>>2]=h,(h|0)!=0):0)k=im(h,j,b,d)|0;else k=-1}else k=-1;while(0);i=e;return k|0}function gm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=i;i=i+224|0;g=f+80|0;h=f+96|0;j=f;k=f+136|0;l=h;m=l+40|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[g>>2]=c[e>>2];if((Dm(0,d,g,j,h)|0)<0)n=-1;else{if((c[b+76>>2]|0)>-1)o=Nl(b)|0;else o=0;e=c[b>>2]|0;l=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){m=b+44|0;p=c[m>>2]|0;c[m>>2]=k;q=b+28|0;c[q>>2]=k;r=b+20|0;c[r>>2]=k;c[e>>2]=80;s=b+16|0;c[s>>2]=k+80;k=Dm(b,d,g,j,h)|0;if(!p)t=k;else{yb[c[b+36>>2]&31](b,0,0)|0;u=(c[r>>2]|0)==0?-1:k;c[m>>2]=p;c[e>>2]=0;c[s>>2]=0;c[q>>2]=0;c[r>>2]=0;t=u}}else t=Dm(b,d,g,j,h)|0;h=c[b>>2]|0;c[b>>2]=h|l;if(o)Ol(b);n=(h&32|0)==0?t:-1}i=f;return n|0}function hm(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,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,E=0,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,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.0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0;k=i;i=i+304|0;l=k+16|0;m=k+8|0;n=k+33|0;o=k;p=k+32|0;if((c[e+76>>2]|0)>-1)q=Nl(e)|0;else q=0;r=a[f>>0]|0;a:do if(r<<24>>24){s=e+4|0;t=e+100|0;u=e+108|0;v=e+8|0;w=n+10|0;x=n+33|0;y=m+4|0;z=n+46|0;A=n+94|0;B=r;C=0;E=f;F=0;G=0;H=0;b:while(1){c:do if(!(cl(B&255)|0)){I=(a[E>>0]|0)==37;d:do if(I){J=E+1|0;K=a[J>>0]|0;e:do switch(K<<24>>24){case 37:{break d;break}case 42:{L=0;M=E+2|0;break}default:{N=(K&255)+-48|0;if(N>>>0<10?(a[E+2>>0]|0)==36:0){c[l>>2]=c[j>>2];O=N;while(1){N=(c[l>>2]|0)+(4-1)&~(4-1);P=c[N>>2]|0;c[l>>2]=N+4;if(O>>>0>1)O=O+-1|0;else{Q=P;break}}L=Q;M=E+3|0;break e}O=(c[j>>2]|0)+(4-1)&~(4-1);P=c[O>>2]|0;c[j>>2]=O+4;L=P;M=J}}while(0);J=a[M>>0]|0;K=J&255;if((K+-48|0)>>>0<10){P=K;K=M;O=0;while(1){N=(O*10|0)+-48+P|0;R=K+1|0;S=a[R>>0]|0;P=S&255;if((P+-48|0)>>>0>=10){T=S;U=R;V=N;break}else{K=R;O=N}}}else{T=J;U=M;V=0}if(T<<24>>24==109){O=U+1|0;W=a[O>>0]|0;X=(L|0)!=0&1;Y=O;Z=0;_=0}else{W=T;X=0;Y=U;Z=G;_=H}O=Y+1|0;switch(W&255|0){case 104:{K=(a[O>>0]|0)==104;$=K?Y+2|0:O;aa=K?-2:-1;break}case 108:{K=(a[O>>0]|0)==108;$=K?Y+2|0:O;aa=K?3:1;break}case 106:{$=O;aa=3;break}case 116:case 122:{$=O;aa=1;break}case 76:{$=O;aa=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{$=Y;aa=0;break}default:{ba=X;ca=C;da=Z;ea=_;fa=152;break b}}O=d[$>>0]|0;K=(O&47|0)==3;P=K?O|32:O;O=K?1:aa;switch(P|0){case 99:{ga=F;ha=(V|0)<1?1:V;break}case 91:{ga=F;ha=V;break}case 110:{if(!L){ia=C;ja=$;ka=F;la=Z;ma=_;break c}switch(O|0){case -2:{a[L>>0]=F;ia=C;ja=$;ka=F;la=Z;ma=_;break c;break}case -1:{b[L>>1]=F;ia=C;ja=$;ka=F;la=Z;ma=_;break c;break}case 0:{c[L>>2]=F;ia=C;ja=$;ka=F;la=Z;ma=_;break c;break}case 1:{c[L>>2]=F;ia=C;ja=$;ka=F;la=Z;ma=_;break c;break}case 3:{K=L;c[K>>2]=F;c[K+4>>2]=((F|0)<0)<<31>>31;ia=C;ja=$;ka=F;la=Z;ma=_;break c;break}default:{ia=C;ja=$;ka=F;la=Z;ma=_;break c}}break}default:{il(e,0);do{K=c[s>>2]|0;if(K>>>0<(c[t>>2]|0)>>>0){c[s>>2]=K+1;na=d[K>>0]|0}else na=jl(e)|0}while((cl(na)|0)!=0);J=c[s>>2]|0;if(!(c[t>>2]|0))oa=J;else{K=J+-1|0;c[s>>2]=K;oa=K}ga=(c[u>>2]|0)+F+oa-(c[v>>2]|0)|0;ha=V}}il(e,ha);K=c[s>>2]|0;J=c[t>>2]|0;if(K>>>0<J>>>0){c[s>>2]=K+1;pa=J}else{if((jl(e)|0)<0){ba=X;ca=C;da=Z;ea=_;fa=152;break b}pa=c[t>>2]|0}if(pa)c[s>>2]=(c[s>>2]|0)+-1;f:do switch(P|0){case 91:case 99:case 115:{J=(P|0)==99;g:do if((P&239|0)==99){hx(n|0,-1,257)|0;a[n>>0]=0;if((P|0)==115){a[x>>0]=0;a[w>>0]=0;a[w+1>>0]=0;a[w+2>>0]=0;a[w+3>>0]=0;a[w+4>>0]=0;qa=$}else qa=$}else{K=$+1|0;N=(a[K>>0]|0)==94;R=N&1;S=N?K:$;ra=N?$+2|0:K;hx(n|0,N&1|0,257)|0;a[n>>0]=0;switch(a[ra>>0]|0){case 45:{N=(R^1)&255;a[z>>0]=N;sa=N;ta=S+2|0;break}case 93:{N=(R^1)&255;a[A>>0]=N;sa=N;ta=S+2|0;break}default:{sa=(R^1)&255;ta=ra}}ra=ta;while(1){R=a[ra>>0]|0;h:do switch(R<<24>>24){case 0:{ba=X;ca=C;da=Z;ea=_;fa=152;break b;break}case 93:{qa=ra;break g;break}case 45:{S=ra+1|0;N=a[S>>0]|0;switch(N<<24>>24){case 93:case 0:{ua=45;va=ra;break h;break}default:{}}K=a[ra+-1>>0]|0;if((K&255)<(N&255)){wa=K&255;do{wa=wa+1|0;a[n+wa>>0]=sa;K=a[S>>0]|0}while((wa|0)<(K&255|0));ua=K;va=S}else{ua=N;va=S}break}default:{ua=R;va=ra}}while(0);a[n+((ua&255)+1)>>0]=sa;ra=va+1|0}}while(0);ra=J?ha+1|0:31;R=(O|0)==1;wa=(X|0)!=0;i:do if(R){if(wa){K=Lm(ra<<2)|0;if(!K){ba=X;ca=C;da=0;ea=K;fa=152;break b}else xa=K}else xa=L;c[m>>2]=0;c[y>>2]=0;K=0;ya=ra;za=xa;j:while(1){Aa=(za|0)==0;Ba=K;while(1){k:while(1){Ca=c[s>>2]|0;if(Ca>>>0<(c[t>>2]|0)>>>0){c[s>>2]=Ca+1;Da=d[Ca>>0]|0}else Da=jl(e)|0;if(!(a[n+(Da+1)>>0]|0)){Ea=Ba;Fa=za;break j}a[p>>0]=Da;switch(El(o,p,1,m)|0){case -1:{ba=X;ca=C;da=0;ea=za;fa=152;break b;break}case -2:break;default:break k}}if(Aa)Ga=Ba;else{c[za+(Ba<<2)>>2]=c[o>>2];Ga=Ba+1|0}if(wa&(Ga|0)==(ya|0))break;else Ba=Ga}Ba=ya<<1|1;Aa=Om(za,Ba<<2)|0;if(!Aa){ba=X;ca=C;da=0;ea=za;fa=152;break b}S=ya;ya=Ba;za=Aa;K=S}if(!(Fl(m)|0)){ba=X;ca=C;da=0;ea=Fa;fa=152;break b}else{Ha=Ea;Ia=0;Ja=Fa}}else{if(wa){K=Lm(ra)|0;if(!K){ba=X;ca=C;da=0;ea=0;fa=152;break b}else{Ka=0;La=ra;Ma=K}while(1){K=Ka;do{za=c[s>>2]|0;if(za>>>0<(c[t>>2]|0)>>>0){c[s>>2]=za+1;Na=d[za>>0]|0}else Na=jl(e)|0;if(!(a[n+(Na+1)>>0]|0)){Ha=K;Ia=Ma;Ja=0;break i}a[Ma+K>>0]=Na;K=K+1|0}while((K|0)!=(La|0));K=La<<1|1;za=Om(Ma,K)|0;if(!za){ba=X;ca=C;da=Ma;ea=0;fa=152;break b}else{ya=La;La=K;Ma=za;Ka=ya}}}if(!L){ya=pa;while(1){za=c[s>>2]|0;if(za>>>0<ya>>>0){c[s>>2]=za+1;Oa=d[za>>0]|0}else Oa=jl(e)|0;if(!(a[n+(Oa+1)>>0]|0)){Ha=0;Ia=0;Ja=0;break i}ya=c[t>>2]|0}}else{ya=pa;za=0;while(1){K=c[s>>2]|0;if(K>>>0<ya>>>0){c[s>>2]=K+1;Pa=d[K>>0]|0}else Pa=jl(e)|0;if(!(a[n+(Pa+1)>>0]|0)){Ha=za;Ia=L;Ja=0;break i}a[L+za>>0]=Pa;ya=c[t>>2]|0;za=za+1|0}}}while(0);ra=c[s>>2]|0;if(!(c[t>>2]|0))Qa=ra;else{za=ra+-1|0;c[s>>2]=za;Qa=za}za=Qa-(c[v>>2]|0)+(c[u>>2]|0)|0;if(!za){Ra=X;Sa=C;Ta=Ia;Ua=Ja;break b}if(!((za|0)==(ha|0)|J^1)){Ra=X;Sa=C;Ta=Ia;Ua=Ja;break b}do if(wa)if(R){c[L>>2]=Ja;break}else{c[L>>2]=Ia;break}while(0);if(J){Va=qa;Wa=Ia;Xa=Ja}else{if(Ja)c[Ja+(Ha<<2)>>2]=0;if(!Ia){Va=qa;Wa=0;Xa=Ja;break f}a[Ia+Ha>>0]=0;Va=qa;Wa=Ia;Xa=Ja}break}case 120:case 88:case 112:{Ya=16;fa=134;break}case 111:{Ya=8;fa=134;break}case 117:case 100:{Ya=10;fa=134;break}case 105:{Ya=0;fa=134;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{Za=+gl(e,O,0);if((c[u>>2]|0)==((c[v>>2]|0)-(c[s>>2]|0)|0)){Ra=X;Sa=C;Ta=Z;Ua=_;break b}if(!L){Va=$;Wa=Z;Xa=_}else switch(O|0){case 0:{g[L>>2]=Za;Va=$;Wa=Z;Xa=_;break f;break}case 1:{h[L>>3]=Za;Va=$;Wa=Z;Xa=_;break f;break}case 2:{h[L>>3]=Za;Va=$;Wa=Z;Xa=_;break f;break}default:{Va=$;Wa=Z;Xa=_;break f}}break}default:{Va=$;Wa=Z;Xa=_}}while(0);l:do if((fa|0)==134){fa=0;R=hl(e,Ya,0,-1,-1)|0;if((c[u>>2]|0)==((c[v>>2]|0)-(c[s>>2]|0)|0)){Ra=X;Sa=C;Ta=Z;Ua=_;break b}if((L|0)!=0&(P|0)==112){c[L>>2]=R;Va=$;Wa=Z;Xa=_;break}if(!L){Va=$;Wa=Z;Xa=_}else switch(O|0){case -2:{a[L>>0]=R;Va=$;Wa=Z;Xa=_;break l;break}case -1:{b[L>>1]=R;Va=$;Wa=Z;Xa=_;break l;break}case 0:{c[L>>2]=R;Va=$;Wa=Z;Xa=_;break l;break}case 1:{c[L>>2]=R;Va=$;Wa=Z;Xa=_;break l;break}case 3:{wa=L;c[wa>>2]=R;c[wa+4>>2]=D;Va=$;Wa=Z;Xa=_;break l;break}default:{Va=$;Wa=Z;Xa=_;break l}}}while(0);ia=((L|0)!=0&1)+C|0;ja=Va;ka=(c[u>>2]|0)+ga+(c[s>>2]|0)-(c[v>>2]|0)|0;la=Wa;ma=Xa;break c}while(0);O=E+(I&1)|0;il(e,0);P=c[s>>2]|0;if(P>>>0<(c[t>>2]|0)>>>0){c[s>>2]=P+1;_a=d[P>>0]|0}else _a=jl(e)|0;if((_a|0)!=(d[O>>0]|0)){$a=_a;ab=C;bb=G;cb=H;fa=21;break b}ia=C;ja=O;ka=F+1|0;la=G;ma=H}else{O=E;while(1){P=O+1|0;if(!(cl(d[P>>0]|0)|0)){db=O;break}else O=P}il(e,0);do{O=c[s>>2]|0;if(O>>>0<(c[t>>2]|0)>>>0){c[s>>2]=O+1;eb=d[O>>0]|0}else eb=jl(e)|0}while((cl(eb)|0)!=0);O=c[s>>2]|0;if(!(c[t>>2]|0))fb=O;else{I=O+-1|0;c[s>>2]=I;fb=I}ia=C;ja=db;ka=(c[u>>2]|0)+F+fb-(c[v>>2]|0)|0;la=G;ma=H}while(0);E=ja+1|0;B=a[E>>0]|0;if(!(B<<24>>24)){gb=ia;break a}else{C=ia;F=ka;G=la;H=ma}}if((fa|0)==21){if(c[t>>2]|0)c[s>>2]=(c[s>>2]|0)+-1;if((ab|0)!=0|($a|0)>-1){gb=ab;break}else{hb=0;ib=bb;jb=cb;fa=153}}else if((fa|0)==152)if(!ca){hb=ba;ib=da;jb=ea;fa=153}else{Ra=ba;Sa=ca;Ta=da;Ua=ea}if((fa|0)==153){Ra=hb;Sa=-1;Ta=ib;Ua=jb}if(!Ra)gb=Sa;else{Mm(Ta);Mm(Ua);gb=Sa}}else gb=0;while(0);if(q)Ol(e);i=k;return gb|0}function im(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;i=i+128|0;h=g+112|0;j=g;k=j;l=5588;m=k+112|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));if((d+-1|0)>>>0>2147483646)if(!d){n=h;o=1;p=4}else{c[(el()|0)>>2]=75;q=-1}else{n=b;o=d;p=4}if((p|0)==4){p=-2-n|0;d=o>>>0>p>>>0?p:o;c[j+48>>2]=d;o=j+20|0;c[o>>2]=n;c[j+44>>2]=n;p=n+d|0;n=j+16|0;c[n>>2]=p;c[j+28>>2]=p;p=gm(j,e,f)|0;if(!d)q=p;else{d=c[o>>2]|0;a[d+(((d|0)==(c[n>>2]|0))<<31>>31)>>0]=0;q=p}}i=g;return q|0}function jm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+112|0;f=e;g=f;h=g+112|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[f+32>>2]=26;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+84>>2]=a;a=hm(f,b,d)|0;i=e;return a|0}function km(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=b;while(1){b=c+1|0;if(!(cl(a[c>>0]|0)|0)){d=c;e=b;break}else c=b}c=a[d>>0]|0;switch(c<<24>>24|0){case 45:{f=1;g=5;break}case 43:{f=0;g=5;break}default:{h=d;i=c;j=0}}if((g|0)==5){h=e;i=a[e>>0]|0;j=f}f=(i<<24>>24)+-48|0;if(f>>>0<10){i=h;h=f;f=0;while(1){i=i+1|0;e=(f*10|0)-h|0;h=(a[i>>0]|0)+-48|0;if(h>>>0>=10){k=e;break}else f=e}}else k=0;return ((j|0)!=0?k:0-k|0)|0}function lm(a,b){a=a|0;b=b|0;return +(+Fm(a,b,1))}function mm(a,b,c){a=a|0;b=b|0;c=c|0;return +(+Fm(a,b,2))}function nm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gm(a,b,c,-1,-1)|0;return d|0}function om(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gm(a,b,c,0,-2147483648)|0;return d|0}function pm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gm(a,b,c,-2147483648,0)|0;return d|0}function qm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;f=d&255;g=(e|0)!=0;a:do if(g&(b&3|0)!=0){h=d&255;i=e;j=b;while(1){if((a[j>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=j+1|0;o=i+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=o;j=n}else{q=o;r=p;s=n;m=5;break}}}else{q=e;r=g;s=b;m=5}while(0);if((m|0)==5)if(r){k=q;l=s;m=6}else{t=0;u=s}b:do if((m|0)==6){s=d&255;if((a[l>>0]|0)==s<<24>>24){t=k;u=l}else{q=$(f,16843009)|0;c:do if(k>>>0>3){r=k;b=l;while(1){g=c[b>>2]^q;if((g&-2139062144^-2139062144)&g+-16843009){v=r;w=b;break}g=b+4|0;e=r+-4|0;if(e>>>0>3){r=e;b=g}else{x=e;y=g;m=11;break c}}z=v;A=w}else{x=k;y=l;m=11}while(0);if((m|0)==11)if(!x){t=0;u=y;break}else{z=x;A=y}while(1){if((a[A>>0]|0)==s<<24>>24){t=z;u=A;break b}q=A+1|0;z=z+-1|0;if(!z){t=0;u=q;break}else A=q}}}while(0);return ((t|0)!=0?u:0)|0}function rm(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:do if(!d)e=0;else{f=d;g=b;h=c;while(1){i=a[g>>0]|0;j=a[h>>0]|0;if(i<<24>>24!=j<<24>>24){k=i;l=j;break}f=f+-1|0;if(!f){e=0;break a}else{g=g+1|0;h=h+1|0}}e=(k&255)-(l&255)|0}while(0);return e|0}function sm(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=d;g=e}else{e=b;b=c;do{e=e+1|0;b=b+1|0;c=a[e>>0]|0;d=a[b>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=d<<24>>24));f=c;g=d}return (f&255)-(g&255)|0}function tm(a){a=a|0;var b=0,c=0,d=0;b=(um(a)|0)+1|0;c=Lm(b)|0;if(!c)d=0;else{kx(c|0,a|0,b|0)|0;d=c}return d|0}function um(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=b;a:do if(!(d&3)){e=b;f=4}else{g=b;h=d;while(1){if(!(a[g>>0]|0)){i=h;break a}j=g+1|0;h=j;if(!(h&3)){e=j;f=4;break}else g=j}}while(0);if((f|0)==4){f=e;while(1){e=c[f>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009))f=f+4|0;else{k=e;l=f;break}}if(!((k&255)<<24>>24))m=l;else{k=l;while(1){l=k+1|0;if(!(a[l>>0]|0)){m=l;break}else k=l}}i=m}return i-d|0}function vm(a){a=a|0;var b=0,d=0;b=a;while(1)if(!(c[b>>2]|0)){d=b;break}else b=b+4|0;return d-a>>2|0}function wm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d){e=d;d=b;b=a;while(1){e=e+-1|0;c[b>>2]=c[d>>2];if(!e)break;else{d=d+4|0;b=b+4|0}}}return a|0}function xm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=(d|0)==0;if(a-b>>2>>>0<d>>>0){if(!e){f=d;do{f=f+-1|0;c[a+(f<<2)>>2]=c[b+(f<<2)>>2]}while((f|0)!=0)}}else if(!e){e=b;b=a;f=d;while(1){f=f+-1|0;c[b>>2]=c[e>>2];if(!f)break;else{e=e+4|0;b=b+4|0}}}return a|0}function ym(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d){e=d;d=a;while(1){e=e+-1|0;c[d>>2]=b;if(!e)break;else d=d+4|0}}return a|0}function zm(a,b){a=a|0;b=b|0;var e=0,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;e=a+4|0;f=c[e>>2]|0;g=a+100|0;if(f>>>0<(c[g>>2]|0)>>>0){c[e>>2]=f+1;h=d[f>>0]|0}else h=jl(a)|0;switch(h|0){case 43:case 45:{f=(h|0)==45&1;i=c[e>>2]|0;if(i>>>0<(c[g>>2]|0)>>>0){c[e>>2]=i+1;j=d[i>>0]|0}else j=jl(a)|0;if((b|0)!=0&(j+-48|0)>>>0>9?(c[g>>2]|0)!=0:0){c[e>>2]=(c[e>>2]|0)+-1;k=j;l=f}else{k=j;l=f}break}default:{k=h;l=0}}if((k+-48|0)>>>0>9)if(!(c[g>>2]|0)){m=-2147483648;n=0}else{c[e>>2]=(c[e>>2]|0)+-1;m=-2147483648;n=0}else{h=k;k=0;while(1){f=h+-48+(k*10|0)|0;j=c[e>>2]|0;if(j>>>0<(c[g>>2]|0)>>>0){c[e>>2]=j+1;o=d[j>>0]|0}else o=jl(a)|0;if((o+-48|0)>>>0<10&(f|0)<214748364){h=o;k=f}else{p=f;q=o;break}}o=((p|0)<0)<<31>>31;if((q+-48|0)>>>0<10){k=p;h=o;f=q;while(1){j=sx(k|0,h|0,10,0)|0;b=D;i=ix(f|0,((f|0)<0)<<31>>31|0,-48,-1)|0;r=ix(i|0,D|0,j|0,b|0)|0;b=D;j=c[e>>2]|0;if(j>>>0<(c[g>>2]|0)>>>0){c[e>>2]=j+1;s=d[j>>0]|0}else s=jl(a)|0;if((s+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&r>>>0<2061584302)){k=r;h=b;f=s}else{t=r;u=b;v=s;break}}}else{t=p;u=o;v=q}if((v+-48|0)>>>0<10)do{v=c[e>>2]|0;if(v>>>0<(c[g>>2]|0)>>>0){c[e>>2]=v+1;w=d[v>>0]|0}else w=jl(a)|0}while((w+-48|0)>>>0<10);if(c[g>>2]|0)c[e>>2]=(c[e>>2]|0)+-1;e=(l|0)!=0;l=gx(0,0,t|0,u|0)|0;m=e?D:u;n=e?l:t}D=m;return n|0}function Am(a){a=a|0;if(!(c[a+68>>2]|0))Ol(a);return}function Bm(a){a=a|0;if(!(c[a+68>>2]|0))Ol(a);return}function Cm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+20|0;d=a+28|0;if((c[b>>2]|0)>>>0>(c[d>>2]|0)>>>0?(yb[c[a+36>>2]&31](a,0,0)|0,(c[b>>2]|0)==0):0)e=-1;else{f=a+4|0;g=c[f>>2]|0;h=a+8|0;i=c[h>>2]|0;if(g>>>0<i>>>0)yb[c[a+40>>2]&31](a,g-i|0,1)|0;c[a+16>>2]=0;c[d>>2]=0;c[b>>2]=0;c[h>>2]=0;c[f>>2]=0;e=0}return e|0}function Dm(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,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.0,bb=0.0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0.0,ib=0.0,jb=0.0,kb=0.0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0.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.0,Wb=0.0,Xb=0.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,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0;m=i;i=i+624|0;n=m+24|0;o=m+16|0;p=m+588|0;q=m+576|0;r=m;s=m+536|0;t=m+8|0;u=m+528|0;v=(e|0)!=0;w=s+40|0;x=w;y=s+39|0;s=t+4|0;z=q+12|0;A=q+11|0;q=p;B=z;C=B-q|0;E=-2-q|0;F=B+2|0;G=n+288|0;H=p+9|0;I=H;J=p+8|0;K=0;L=f;f=0;M=0;a:while(1){do if((K|0)>-1)if((f|0)>(2147483647-K|0)){c[(el()|0)>>2]=75;N=-1;break}else{N=f+K|0;break}else N=K;while(0);O=a[L>>0]|0;if(!(O<<24>>24)){P=N;Q=M;R=245;break}else{S=O;T=L}b:while(1){switch(S<<24>>24){case 37:{U=T;V=T;R=9;break b;break}case 0:{W=T;X=T;break b;break}default:{}}O=T+1|0;S=a[O>>0]|0;T=O}c:do if((R|0)==9)while(1){R=0;if((a[U+1>>0]|0)!=37){W=U;X=V;break c}O=V+1|0;Y=U+2|0;if((a[Y>>0]|0)==37){U=Y;V=O;R=9}else{W=Y;X=O;break}}while(0);O=X-L|0;if(v?(c[e>>2]&32|0)==0:0)$l(L,O,e)|0;if((X|0)!=(L|0)){K=N;L=W;f=O;continue}Y=W+1|0;Z=a[Y>>0]|0;_=(Z<<24>>24)+-48|0;if(_>>>0<10){aa=(a[W+2>>0]|0)==36;ba=aa?W+3|0:Y;ca=a[ba>>0]|0;da=aa?_:-1;ea=aa?1:M;fa=ba}else{ca=Z;da=-1;ea=M;fa=Y}Y=ca<<24>>24;d:do if((Y&-32|0)==32){Z=Y;ba=ca;aa=0;_=fa;while(1){if(!(1<<Z+-32&75913)){ga=ba;ha=aa;ia=_;break d}ja=1<<(ba<<24>>24)+-32|aa;ka=_+1|0;la=a[ka>>0]|0;Z=la<<24>>24;if((Z&-32|0)!=32){ga=la;ha=ja;ia=ka;break}else{ba=la;aa=ja;_=ka}}}else{ga=ca;ha=0;ia=fa}while(0);do if(ga<<24>>24==42){Y=ia+1|0;_=(a[Y>>0]|0)+-48|0;if(_>>>0<10?(a[ia+2>>0]|0)==36:0){c[l+(_<<2)>>2]=10;ma=1;na=ia+3|0;oa=c[j+((a[Y>>0]|0)+-48<<3)>>2]|0}else{if(ea){pa=-1;break a}if(!v){qa=ha;ra=Y;sa=0;ta=0;break}_=(c[g>>2]|0)+(4-1)&~(4-1);aa=c[_>>2]|0;c[g>>2]=_+4;ma=0;na=Y;oa=aa}if((oa|0)<0){qa=ha|8192;ra=na;sa=ma;ta=0-oa|0}else{qa=ha;ra=na;sa=ma;ta=oa}}else{aa=(ga<<24>>24)+-48|0;if(aa>>>0<10){Y=ia;_=0;ba=aa;while(1){aa=(_*10|0)+ba|0;Z=Y+1|0;ba=(a[Z>>0]|0)+-48|0;if(ba>>>0>=10){ua=aa;va=Z;break}else{Y=Z;_=aa}}if((ua|0)<0){pa=-1;break a}else{qa=ha;ra=va;sa=ea;ta=ua}}else{qa=ha;ra=ia;sa=ea;ta=0}}while(0);e:do if((a[ra>>0]|0)==46){_=ra+1|0;Y=a[_>>0]|0;if(Y<<24>>24!=42){ba=(Y<<24>>24)+-48|0;if(ba>>>0<10){wa=_;xa=0;ya=ba}else{za=_;Aa=0;break}while(1){_=(xa*10|0)+ya|0;ba=wa+1|0;ya=(a[ba>>0]|0)+-48|0;if(ya>>>0>=10){za=ba;Aa=_;break e}else{wa=ba;xa=_}}}_=ra+2|0;ba=(a[_>>0]|0)+-48|0;if(ba>>>0<10?(a[ra+3>>0]|0)==36:0){c[l+(ba<<2)>>2]=10;za=ra+4|0;Aa=c[j+((a[_>>0]|0)+-48<<3)>>2]|0;break}if(sa){pa=-1;break a}if(v){ba=(c[g>>2]|0)+(4-1)&~(4-1);Y=c[ba>>2]|0;c[g>>2]=ba+4;za=_;Aa=Y}else{za=_;Aa=0}}else{za=ra;Aa=-1}while(0);_=za;Y=0;while(1){ba=(a[_>>0]|0)+-65|0;if(ba>>>0>57){pa=-1;break a}aa=_+1|0;Z=a[29904+(Y*58|0)+ba>>0]|0;ba=Z&255;if((ba+-1|0)>>>0<8){_=aa;Y=ba}else{Ba=aa;Ca=Z;Da=ba;Ea=_;Fa=Y;break}}if(!(Ca<<24>>24)){pa=-1;break}Y=(da|0)>-1;do if(Ca<<24>>24==19)if(Y){pa=-1;break a}else R=52;else{if(Y){c[l+(da<<2)>>2]=Da;_=j+(da<<3)|0;ba=c[_+4>>2]|0;Z=r;c[Z>>2]=c[_>>2];c[Z+4>>2]=ba;R=52;break}if(!v){pa=0;break a}Im(r,Da,g)}while(0);if((R|0)==52?(R=0,!v):0){K=N;L=Ba;f=O;M=sa;continue}Y=a[Ea>>0]|0;ba=(Fa|0)!=0&(Y&15|0)==3?Y&-33:Y;Y=qa&-65537;Z=(qa&8192|0)==0?qa:Y;f:do switch(ba|0){case 110:{switch(Fa|0){case 0:{c[c[r>>2]>>2]=N;K=N;L=Ba;f=O;M=sa;continue a;break}case 1:{c[c[r>>2]>>2]=N;K=N;L=Ba;f=O;M=sa;continue a;break}case 2:{_=c[r>>2]|0;c[_>>2]=N;c[_+4>>2]=((N|0)<0)<<31>>31;K=N;L=Ba;f=O;M=sa;continue a;break}case 3:{b[c[r>>2]>>1]=N;K=N;L=Ba;f=O;M=sa;continue a;break}case 4:{a[c[r>>2]>>0]=N;K=N;L=Ba;f=O;M=sa;continue a;break}case 6:{c[c[r>>2]>>2]=N;K=N;L=Ba;f=O;M=sa;continue a;break}case 7:{_=c[r>>2]|0;c[_>>2]=N;c[_+4>>2]=((N|0)<0)<<31>>31;K=N;L=Ba;f=O;M=sa;continue a;break}default:{K=N;L=Ba;f=O;M=sa;continue a}}break}case 112:{Ga=Z|8;Ha=Aa>>>0>8?Aa:8;Ia=120;R=64;break}case 88:case 120:{Ga=Z;Ha=Aa;Ia=ba;R=64;break}case 111:{_=r;aa=c[_>>2]|0;ka=c[_+4>>2]|0;if((aa|0)==0&(ka|0)==0)Ja=w;else{_=w;ja=aa;aa=ka;while(1){ka=_+-1|0;a[ka>>0]=ja&7|48;ja=jx(ja|0,aa|0,3)|0;aa=D;if((ja|0)==0&(aa|0)==0){Ja=ka;break}else _=ka}}if(!(Z&8)){Ka=Ja;La=Z;Ma=Aa;Na=0;Oa=30384;R=77}else{_=x-Ja+1|0;Ka=Ja;La=Z;Ma=(Aa|0)<(_|0)?_:Aa;Na=0;Oa=30384;R=77}break}case 105:case 100:{_=r;aa=c[_>>2]|0;ja=c[_+4>>2]|0;if((ja|0)<0){_=gx(0,0,aa|0,ja|0)|0;ka=D;la=r;c[la>>2]=_;c[la+4>>2]=ka;Pa=_;Qa=ka;Ra=1;Sa=30384;R=76;break f}if(!(Z&2048)){ka=Z&1;Pa=aa;Qa=ja;Ra=ka;Sa=(ka|0)==0?30384:30386;R=76}else{Pa=aa;Qa=ja;Ra=1;Sa=30385;R=76}break}case 117:{ja=r;Pa=c[ja>>2]|0;Qa=c[ja+4>>2]|0;Ra=0;Sa=30384;R=76;break}case 99:{a[y>>0]=c[r>>2];Ta=y;Ua=Y;Va=1;Wa=0;Xa=30384;Ya=w;break}case 109:{Za=fl(c[(el()|0)>>2]|0)|0;R=82;break}case 115:{ja=c[r>>2]|0;Za=(ja|0)!=0?ja:30394;R=82;break}case 67:{c[t>>2]=c[r>>2];c[s>>2]=0;c[r>>2]=t;_a=-1;R=86;break}case 83:{if(!Aa){Km(e,32,ta,0,Z);$a=0;R=98}else{_a=Aa;R=86}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{ab=+h[r>>3];c[o>>2]=0;h[k>>3]=ab;if((c[k+4>>2]|0)>=0)if(!(Z&2048)){ja=Z&1;bb=ab;cb=ja;db=(ja|0)==0?30402:30407}else{bb=ab;cb=1;db=30404}else{bb=-ab;cb=1;db=30401}h[k>>3]=bb;ja=c[k+4>>2]&2146435072;do if(ja>>>0<2146435072|(ja|0)==2146435072&0<0){ab=+yl(bb,o)*2.0;aa=ab!=0.0;if(aa)c[o>>2]=(c[o>>2]|0)+-1;ka=ba|32;if((ka|0)==97){_=ba&32;la=(_|0)==0?db:db+9|0;eb=cb|2;fb=12-Aa|0;do if(!(Aa>>>0>11|(fb|0)==0)){gb=fb;hb=8.0;while(1){gb=gb+-1|0;ib=hb*16.0;if(!gb){jb=ib;break}else hb=ib}if((a[la>>0]|0)==45){kb=-(jb+(-ab-jb));break}else{kb=ab+jb-jb;break}}else kb=ab;while(0);fb=c[o>>2]|0;gb=(fb|0)<0?0-fb|0:fb;lb=Jm(gb,((gb|0)<0)<<31>>31,z)|0;if((lb|0)==(z|0)){a[A>>0]=48;mb=A}else mb=lb;a[mb+-1>>0]=(fb>>31&2)+43;fb=mb+-2|0;a[fb>>0]=ba+15;lb=(Aa|0)<1;gb=(Z&8|0)==0;hb=kb;nb=p;while(1){ob=~~hb;pb=nb+1|0;a[nb>>0]=d[30368+ob>>0]|_;hb=(hb-+(ob|0))*16.0;do if((pb-q|0)==1){if(gb&(lb&hb==0.0)){qb=pb;break}a[pb>>0]=46;qb=nb+2|0}else qb=pb;while(0);if(!(hb!=0.0)){rb=qb;break}else nb=qb}nb=rb;lb=(Aa|0)!=0&(E+nb|0)<(Aa|0)?F+Aa-fb|0:C-fb+nb|0;gb=lb+eb|0;Km(e,32,ta,gb,Z);if(!(c[e>>2]&32))$l(la,eb,e)|0;Km(e,48,ta,gb,Z^65536);_=nb-q|0;if(!(c[e>>2]&32))$l(p,_,e)|0;nb=B-fb|0;Km(e,48,lb-(_+nb)|0,0,0);if(!(c[e>>2]&32))$l(fb,nb,e)|0;Km(e,32,ta,gb,Z^8192);sb=(gb|0)<(ta|0)?ta:gb;break}gb=(Aa|0)<0?6:Aa;if(aa){nb=(c[o>>2]|0)+-28|0;c[o>>2]=nb;tb=ab*268435456.0;ub=nb}else{tb=ab;ub=c[o>>2]|0}nb=(ub|0)<0?n:G;_=nb;hb=tb;lb=nb;while(1){pb=~~hb>>>0;c[lb>>2]=pb;ob=lb+4|0;hb=(hb-+(pb>>>0))*1.0e9;if(!(hb!=0.0)){vb=ob;break}else lb=ob}lb=c[o>>2]|0;if((lb|0)>0){aa=lb;fb=nb;eb=vb;while(1){la=(aa|0)>29?29:aa;ob=eb+-4|0;do if(ob>>>0<fb>>>0)wb=fb;else{pb=0;xb=ob;while(1){yb=lx(c[xb>>2]|0,0,la|0)|0;zb=ix(yb|0,D|0,pb|0,0)|0;yb=D;Ab=ux(zb|0,yb|0,1e9,0)|0;c[xb>>2]=Ab;Ab=tx(zb|0,yb|0,1e9,0)|0;xb=xb+-4|0;if(xb>>>0<fb>>>0){Bb=Ab;break}else pb=Ab}if(!Bb){wb=fb;break}pb=fb+-4|0;c[pb>>2]=Bb;wb=pb}while(0);ob=eb;while(1){if(ob>>>0<=wb>>>0){Cb=ob;break}pb=ob+-4|0;if(!(c[pb>>2]|0))ob=pb;else{Cb=ob;break}}ob=(c[o>>2]|0)-la|0;c[o>>2]=ob;if((ob|0)>0){aa=ob;fb=wb;eb=Cb}else{Db=ob;Eb=wb;Fb=Cb;break}}}else{Db=lb;Eb=nb;Fb=vb}if((Db|0)<0){eb=((gb+25|0)/9|0)+1|0;fb=(ka|0)==102;aa=Db;ob=Eb;pb=Fb;while(1){xb=0-aa|0;Ab=(xb|0)>9?9:xb;do if(ob>>>0<pb>>>0){xb=(1<<Ab)+-1|0;yb=1e9>>>Ab;zb=0;Gb=ob;while(1){Hb=c[Gb>>2]|0;c[Gb>>2]=(Hb>>>Ab)+zb;Ib=$(Hb&xb,yb)|0;Gb=Gb+4|0;if(Gb>>>0>=pb>>>0){Jb=Ib;break}else zb=Ib}zb=(c[ob>>2]|0)==0?ob+4|0:ob;if(!Jb){Kb=zb;Lb=pb;break}c[pb>>2]=Jb;Kb=zb;Lb=pb+4|0}else{Kb=(c[ob>>2]|0)==0?ob+4|0:ob;Lb=pb}while(0);la=fb?nb:Kb;zb=(Lb-la>>2|0)>(eb|0)?la+(eb<<2)|0:Lb;aa=(c[o>>2]|0)+Ab|0;c[o>>2]=aa;if((aa|0)>=0){Mb=Kb;Nb=zb;break}else{ob=Kb;pb=zb}}}else{Mb=Eb;Nb=Fb}do if(Mb>>>0<Nb>>>0){pb=(_-Mb>>2)*9|0;ob=c[Mb>>2]|0;if(ob>>>0<10){Ob=pb;break}else{Pb=pb;Qb=10}while(1){Qb=Qb*10|0;pb=Pb+1|0;if(ob>>>0<Qb>>>0){Ob=pb;break}else Pb=pb}}else Ob=0;while(0);ob=(ka|0)==103;Ab=(gb|0)!=0;pb=gb-((ka|0)!=102?Ob:0)+((Ab&ob)<<31>>31)|0;if((pb|0)<(((Nb-_>>2)*9|0)+-9|0)){aa=pb+9216|0;pb=(aa|0)/9|0;eb=nb+(pb+-1023<<2)|0;fb=((aa|0)%9|0)+1|0;if((fb|0)<9){aa=10;lb=fb;while(1){fb=aa*10|0;lb=lb+1|0;if((lb|0)==9){Rb=fb;break}else aa=fb}}else Rb=10;aa=c[eb>>2]|0;lb=(aa>>>0)%(Rb>>>0)|0;if((lb|0)==0?(nb+(pb+-1022<<2)|0)==(Nb|0):0){Sb=Mb;Tb=eb;Ub=Ob}else R=163;do if((R|0)==163){R=0;hb=(((aa>>>0)/(Rb>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;ka=(Rb|0)/2|0;do if(lb>>>0<ka>>>0)Vb=.5;else{if((lb|0)==(ka|0)?(nb+(pb+-1022<<2)|0)==(Nb|0):0){Vb=1.0;break}Vb=1.5}while(0);do if(!cb){Wb=hb;Xb=Vb}else{if((a[db>>0]|0)!=45){Wb=hb;Xb=Vb;break}Wb=-hb;Xb=-Vb}while(0);ka=aa-lb|0;c[eb>>2]=ka;if(!(Wb+Xb!=Wb)){Sb=Mb;Tb=eb;Ub=Ob;break}fb=ka+Rb|0;c[eb>>2]=fb;if(fb>>>0>999999999){fb=Mb;ka=eb;while(1){zb=ka+-4|0;c[ka>>2]=0;if(zb>>>0<fb>>>0){la=fb+-4|0;c[la>>2]=0;Yb=la}else Yb=fb;la=(c[zb>>2]|0)+1|0;c[zb>>2]=la;if(la>>>0>999999999){fb=Yb;ka=zb}else{Zb=Yb;_b=zb;break}}}else{Zb=Mb;_b=eb}ka=(_-Zb>>2)*9|0;fb=c[Zb>>2]|0;if(fb>>>0<10){Sb=Zb;Tb=_b;Ub=ka;break}else{$b=ka;ac=10}while(1){ac=ac*10|0;ka=$b+1|0;if(fb>>>0<ac>>>0){Sb=Zb;Tb=_b;Ub=ka;break}else $b=ka}}while(0);eb=Tb+4|0;bc=Sb;cc=Ub;dc=Nb>>>0>eb>>>0?eb:Nb}else{bc=Mb;cc=Ob;dc=Nb}eb=0-cc|0;lb=dc;while(1){if(lb>>>0<=bc>>>0){ec=0;fc=lb;break}aa=lb+-4|0;if(!(c[aa>>2]|0))lb=aa;else{ec=1;fc=lb;break}}do if(ob){lb=(Ab&1^1)+gb|0;if((lb|0)>(cc|0)&(cc|0)>-5){gc=ba+-1|0;hc=lb+-1-cc|0}else{gc=ba+-2|0;hc=lb+-1|0}lb=Z&8;if(lb){ic=gc;jc=hc;kc=lb;break}do if(ec){lb=c[fc+-4>>2]|0;if(!lb){lc=9;break}if(!((lb>>>0)%10|0)){mc=10;nc=0}else{lc=0;break}while(1){mc=mc*10|0;aa=nc+1|0;if((lb>>>0)%(mc>>>0)|0){lc=aa;break}else nc=aa}}else lc=9;while(0);lb=((fc-_>>2)*9|0)+-9|0;if((gc|32|0)==102){aa=lb-lc|0;pb=(aa|0)<0?0:aa;ic=gc;jc=(hc|0)<(pb|0)?hc:pb;kc=0;break}else{pb=lb+cc-lc|0;lb=(pb|0)<0?0:pb;ic=gc;jc=(hc|0)<(lb|0)?hc:lb;kc=0;break}}else{ic=ba;jc=gb;kc=Z&8}while(0);gb=jc|kc;_=(gb|0)!=0&1;Ab=(ic|32|0)==102;if(Ab){oc=(cc|0)>0?cc:0;pc=0}else{ob=(cc|0)<0?eb:cc;lb=Jm(ob,((ob|0)<0)<<31>>31,z)|0;if((B-lb|0)<2){ob=lb;while(1){pb=ob+-1|0;a[pb>>0]=48;if((B-pb|0)<2)ob=pb;else{qc=pb;break}}}else qc=lb;a[qc+-1>>0]=(cc>>31&2)+43;ob=qc+-2|0;a[ob>>0]=ic;oc=B-ob|0;pc=ob}ob=cb+1+jc+_+oc|0;Km(e,32,ta,ob,Z);if(!(c[e>>2]&32))$l(db,cb,e)|0;Km(e,48,ta,ob,Z^65536);do if(Ab){eb=bc>>>0>nb>>>0?nb:bc;pb=eb;while(1){aa=Jm(c[pb>>2]|0,0,H)|0;do if((pb|0)==(eb|0)){if((aa|0)!=(H|0)){rc=aa;break}a[J>>0]=48;rc=J}else{if(aa>>>0>p>>>0)sc=aa;else{rc=aa;break}while(1){fb=sc+-1|0;a[fb>>0]=48;if(fb>>>0>p>>>0)sc=fb;else{rc=fb;break}}}while(0);if(!(c[e>>2]&32))$l(rc,I-rc|0,e)|0;aa=pb+4|0;if(aa>>>0>nb>>>0){tc=aa;break}else pb=aa}do if(gb){if(c[e>>2]&32)break;$l(30436,1,e)|0}while(0);if((jc|0)>0&tc>>>0<fc>>>0){pb=jc;eb=tc;while(1){aa=Jm(c[eb>>2]|0,0,H)|0;if(aa>>>0>p>>>0){fb=aa;while(1){ka=fb+-1|0;a[ka>>0]=48;if(ka>>>0>p>>>0)fb=ka;else{uc=ka;break}}}else uc=aa;if(!(c[e>>2]&32))$l(uc,(pb|0)>9?9:pb,e)|0;eb=eb+4|0;fb=pb+-9|0;if(!((pb|0)>9&eb>>>0<fc>>>0)){vc=fb;break}else pb=fb}}else vc=jc;Km(e,48,vc+9|0,9,0)}else{pb=ec?fc:bc+4|0;if((jc|0)>-1){eb=(kc|0)==0;fb=jc;ka=bc;while(1){zb=Jm(c[ka>>2]|0,0,H)|0;if((zb|0)==(H|0)){a[J>>0]=48;wc=J}else wc=zb;do if((ka|0)==(bc|0)){zb=wc+1|0;if(!(c[e>>2]&32))$l(wc,1,e)|0;if(eb&(fb|0)<1){xc=zb;break}if(c[e>>2]&32){xc=zb;break}$l(30436,1,e)|0;xc=zb}else{if(wc>>>0>p>>>0)yc=wc;else{xc=wc;break}while(1){zb=yc+-1|0;a[zb>>0]=48;if(zb>>>0>p>>>0)yc=zb;else{xc=zb;break}}}while(0);aa=I-xc|0;if(!(c[e>>2]&32))$l(xc,(fb|0)>(aa|0)?aa:fb,e)|0;zb=fb-aa|0;ka=ka+4|0;if(!(ka>>>0<pb>>>0&(zb|0)>-1)){zc=zb;break}else fb=zb}}else zc=jc;Km(e,48,zc+18|0,18,0);if(c[e>>2]&32)break;$l(pc,B-pc|0,e)|0}while(0);Km(e,32,ta,ob,Z^8192);sb=(ob|0)<(ta|0)?ta:ob}else{gb=(ba&32|0)!=0;nb=bb!=bb|0.0!=0.0;Ab=nb?0:cb;_=Ab+3|0;Km(e,32,ta,_,Y);lb=c[e>>2]|0;if(!(lb&32)){$l(db,Ab,e)|0;Ac=c[e>>2]|0}else Ac=lb;if(!(Ac&32))$l(nb?(gb?30428:30432):gb?30420:30424,3,e)|0;Km(e,32,ta,_,Z^8192);sb=(_|0)<(ta|0)?ta:_}while(0);K=N;L=Ba;f=sb;M=sa;continue a;break}default:{Ta=L;Ua=Z;Va=Aa;Wa=0;Xa=30384;Ya=w}}while(0);g:do if((R|0)==64){R=0;ba=r;O=c[ba>>2]|0;ja=c[ba+4>>2]|0;ba=Ia&32;if(!((O|0)==0&(ja|0)==0)){_=w;gb=O;O=ja;while(1){ja=_+-1|0;a[ja>>0]=d[30368+(gb&15)>>0]|ba;gb=jx(gb|0,O|0,4)|0;O=D;if((gb|0)==0&(O|0)==0){Bc=ja;break}else _=ja}_=r;if((Ga&8|0)==0|(c[_>>2]|0)==0&(c[_+4>>2]|0)==0){Ka=Bc;La=Ga;Ma=Ha;Na=0;Oa=30384;R=77}else{Ka=Bc;La=Ga;Ma=Ha;Na=2;Oa=30384+(Ia>>4)|0;R=77}}else{Ka=w;La=Ga;Ma=Ha;Na=0;Oa=30384;R=77}}else if((R|0)==76){R=0;Ka=Jm(Pa,Qa,w)|0;La=Z;Ma=Aa;Na=Ra;Oa=Sa;R=77}else if((R|0)==82){R=0;_=qm(Za,0,Aa)|0;O=(_|0)==0;Ta=Za;Ua=Y;Va=O?Aa:_-Za|0;Wa=0;Xa=30384;Ya=O?Za+Aa|0:_}else if((R|0)==86){R=0;_=0;O=0;gb=c[r>>2]|0;while(1){ba=c[gb>>2]|0;if(!ba){Cc=_;Dc=O;break}ja=Ml(u,ba)|0;if((ja|0)<0|ja>>>0>(_a-_|0)>>>0){Cc=_;Dc=ja;break}ba=ja+_|0;if(_a>>>0>ba>>>0){_=ba;O=ja;gb=gb+4|0}else{Cc=ba;Dc=ja;break}}if((Dc|0)<0){pa=-1;break a}Km(e,32,ta,Cc,Z);if(!Cc){$a=0;R=98}else{gb=0;O=c[r>>2]|0;while(1){_=c[O>>2]|0;if(!_){$a=Cc;R=98;break g}ja=Ml(u,_)|0;gb=ja+gb|0;if((gb|0)>(Cc|0)){$a=Cc;R=98;break g}if(!(c[e>>2]&32))$l(u,ja,e)|0;if(gb>>>0>=Cc>>>0){$a=Cc;R=98;break}else O=O+4|0}}}while(0);if((R|0)==98){R=0;Km(e,32,ta,$a,Z^8192);K=N;L=Ba;f=(ta|0)>($a|0)?ta:$a;M=sa;continue}if((R|0)==77){R=0;Y=(Ma|0)>-1?La&-65537:La;O=r;gb=(c[O>>2]|0)!=0|(c[O+4>>2]|0)!=0;if((Ma|0)!=0|gb){O=(gb&1^1)+(x-Ka)|0;Ta=Ka;Ua=Y;Va=(Ma|0)>(O|0)?Ma:O;Wa=Na;Xa=Oa;Ya=w}else{Ta=w;Ua=Y;Va=0;Wa=Na;Xa=Oa;Ya=w}}Y=Ya-Ta|0;O=(Va|0)<(Y|0)?Y:Va;gb=Wa+O|0;ja=(ta|0)<(gb|0)?gb:ta;Km(e,32,ja,gb,Ua);if(!(c[e>>2]&32))$l(Xa,Wa,e)|0;Km(e,48,ja,gb,Ua^65536);Km(e,48,O,Y,0);if(!(c[e>>2]&32))$l(Ta,Y,e)|0;Km(e,32,ja,gb,Ua^8192);K=N;L=Ba;f=ja;M=sa}h:do if((R|0)==245)if(!e)if(Q){sa=1;while(1){M=c[l+(sa<<2)>>2]|0;if(!M){Ec=sa;break}Im(j+(sa<<3)|0,M,g);sa=sa+1|0;if((sa|0)>=10){pa=1;break h}}if((Ec|0)<10){sa=Ec;while(1){if(c[l+(sa<<2)>>2]|0){pa=-1;break h}sa=sa+1|0;if((sa|0)>=10){pa=1;break}}}else pa=1}else pa=0;else pa=P;while(0);i=m;return pa|0}function Em(a,b,c){a=a|0;b=b|0;c=c|0;return Vl(a,b,c)|0}function Fm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0.0;e=i;i=i+112|0;f=e;g=f;h=g+112|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=f+4|0;c[g>>2]=a;h=f+8|0;c[h>>2]=-1;c[f+44>>2]=a;c[f+76>>2]=-1;il(f,0);j=+gl(f,d,1);d=(c[g>>2]|0)-(c[h>>2]|0)+(c[f+108>>2]|0)|0;if(b)c[b>>2]=(d|0)!=0?a+d|0:a;i=e;return +j}function Gm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+112|0;h=g;c[h>>2]=0;j=h+4|0;c[j>>2]=a;c[h+44>>2]=a;k=h+8|0;c[k>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;il(h,0);l=hl(h,d,1,e,f)|0;if(b)c[b>>2]=a+((c[j>>2]|0)+(c[h+108>>2]|0)-(c[k>>2]|0));i=g;return l|0}function Hm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+20|0;f=c[e>>2]|0;g=(c[a+16>>2]|0)-f|0;a=g>>>0>d>>>0?d:g;kx(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Im(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f;break a;break}case 10:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a;break}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=f;c[e+4>>2]=0;break a;break}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);f=e;g=c[f>>2]|0;i=c[f+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=g;c[e+4>>2]=i;break a;break}case 13:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&65535)<<16>>16;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 14:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&65535;c[i+4>>2]=0;break a;break}case 15:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&255)<<24>>24;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 16:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&255;c[i+4>>2]=0;break a;break}case 17:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+h[i>>3];c[d>>2]=i+8;h[a>>3]=j;break a;break}case 18:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+h[i>>3];c[d>>2]=i+8;h[a>>3]=j;break a;break}default:break a}while(0);while(0);return}function Jm(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){e=d;f=b;g=c;while(1){c=ux(f|0,g|0,10,0)|0;h=e+-1|0;a[h>>0]=c|48;c=tx(f|0,g|0,10,0)|0;if(g>>>0>9|(g|0)==9&f>>>0>4294967295){e=h;f=c;g=D}else{i=h;j=c;break}}k=i;l=j}else{k=d;l=b}if(!l)m=k;else{b=k;k=l;while(1){l=b+-1|0;a[l>>0]=(k>>>0)%10|0|48;if(k>>>0<10){m=l;break}else{b=l;k=(k>>>0)/10|0}}}return m|0}function Km(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;i=i+256|0;h=g;do if((d|0)>(e|0)&(f&73728|0)==0){j=d-e|0;hx(h|0,b|0,(j>>>0>256?256:j)|0)|0;k=c[a>>2]|0;l=(k&32|0)==0;if(j>>>0>255){m=d-e|0;n=j;o=k;k=l;while(1){if(k){$l(h,256,a)|0;p=c[a>>2]|0}else p=o;n=n+-256|0;k=(p&32|0)==0;if(n>>>0<=255)break;else o=p}if(k)q=m&255;else break}else if(l)q=j;else break;$l(h,q,a)|0}while(0);i=g;return}function Lm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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,Aa=0,Ba=0,Ca=0,Da=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,Sa=0,Ta=0,Ua=0;do if(a>>>0<245){b=a>>>0<11?16:a+11&-8;d=b>>>3;e=c[2277]|0;f=e>>>d;if(f&3){g=(f&1^1)+d|0;h=g<<1;i=9148+(h<<2)|0;j=9148+(h+2<<2)|0;h=c[j>>2]|0;k=h+8|0;l=c[k>>2]|0;do if((i|0)!=(l|0)){if(l>>>0<(c[2281]|0)>>>0)Ea();m=l+12|0;if((c[m>>2]|0)==(h|0)){c[m>>2]=i;c[j>>2]=l;break}else Ea()}else c[2277]=e&~(1<<g);while(0);l=g<<3;c[h+4>>2]=l|3;j=h+(l|4)|0;c[j>>2]=c[j>>2]|1;n=k;return n|0}j=c[2279]|0;if(b>>>0>j>>>0){if(f){l=2<<d;i=f<<d&(l|0-l);l=(i&0-i)+-1|0;i=l>>>12&16;m=l>>>i;l=m>>>5&8;o=m>>>l;m=o>>>2&4;p=o>>>m;o=p>>>1&2;q=p>>>o;p=q>>>1&1;r=(l|i|m|o|p)+(q>>>p)|0;p=r<<1;q=9148+(p<<2)|0;o=9148+(p+2<<2)|0;p=c[o>>2]|0;m=p+8|0;i=c[m>>2]|0;do if((q|0)!=(i|0)){if(i>>>0<(c[2281]|0)>>>0)Ea();l=i+12|0;if((c[l>>2]|0)==(p|0)){c[l>>2]=q;c[o>>2]=i;s=c[2279]|0;break}else Ea()}else{c[2277]=e&~(1<<r);s=j}while(0);j=r<<3;e=j-b|0;c[p+4>>2]=b|3;i=p+b|0;c[p+(b|4)>>2]=e|1;c[p+j>>2]=e;if(s){j=c[2282]|0;o=s>>>3;q=o<<1;d=9148+(q<<2)|0;f=c[2277]|0;k=1<<o;if(f&k){o=9148+(q+2<<2)|0;h=c[o>>2]|0;if(h>>>0<(c[2281]|0)>>>0)Ea();else{t=o;u=h}}else{c[2277]=f|k;t=9148+(q+2<<2)|0;u=d}c[t>>2]=j;c[u+12>>2]=j;c[j+8>>2]=u;c[j+12>>2]=d}c[2279]=e;c[2282]=i;n=m;return n|0}i=c[2278]|0;if(i){e=(i&0-i)+-1|0;i=e>>>12&16;d=e>>>i;e=d>>>5&8;j=d>>>e;d=j>>>2&4;q=j>>>d;j=q>>>1&2;k=q>>>j;q=k>>>1&1;f=c[9412+((e|i|d|j|q)+(k>>>q)<<2)>>2]|0;q=(c[f+4>>2]&-8)-b|0;k=f;j=f;while(1){f=c[k+16>>2]|0;if(!f){d=c[k+20>>2]|0;if(!d){v=q;w=j;break}else x=d}else x=f;f=(c[x+4>>2]&-8)-b|0;d=f>>>0<q>>>0;q=d?f:q;k=x;j=d?x:j}j=c[2281]|0;if(w>>>0<j>>>0)Ea();k=w+b|0;if(w>>>0>=k>>>0)Ea();q=c[w+24>>2]|0;m=c[w+12>>2]|0;do if((m|0)==(w|0)){p=w+20|0;r=c[p>>2]|0;if(!r){d=w+16|0;f=c[d>>2]|0;if(!f){y=0;break}else{z=f;A=d}}else{z=r;A=p}while(1){p=z+20|0;r=c[p>>2]|0;if(r){z=r;A=p;continue}p=z+16|0;r=c[p>>2]|0;if(!r){B=z;C=A;break}else{z=r;A=p}}if(C>>>0<j>>>0)Ea();else{c[C>>2]=0;y=B;break}}else{p=c[w+8>>2]|0;if(p>>>0<j>>>0)Ea();r=p+12|0;if((c[r>>2]|0)!=(w|0))Ea();d=m+8|0;if((c[d>>2]|0)==(w|0)){c[r>>2]=m;c[d>>2]=p;y=m;break}else Ea()}while(0);do if(q){m=c[w+28>>2]|0;j=9412+(m<<2)|0;if((w|0)==(c[j>>2]|0)){c[j>>2]=y;if(!y){c[2278]=c[2278]&~(1<<m);break}}else{if(q>>>0<(c[2281]|0)>>>0)Ea();m=q+16|0;if((c[m>>2]|0)==(w|0))c[m>>2]=y;else c[q+20>>2]=y;if(!y)break}m=c[2281]|0;if(y>>>0<m>>>0)Ea();c[y+24>>2]=q;j=c[w+16>>2]|0;do if(j)if(j>>>0<m>>>0)Ea();else{c[y+16>>2]=j;c[j+24>>2]=y;break}while(0);j=c[w+20>>2]|0;if(j)if(j>>>0<(c[2281]|0)>>>0)Ea();else{c[y+20>>2]=j;c[j+24>>2]=y;break}}while(0);if(v>>>0<16){q=v+b|0;c[w+4>>2]=q|3;j=w+(q+4)|0;c[j>>2]=c[j>>2]|1}else{c[w+4>>2]=b|3;c[w+(b|4)>>2]=v|1;c[w+(v+b)>>2]=v;j=c[2279]|0;if(j){q=c[2282]|0;m=j>>>3;j=m<<1;p=9148+(j<<2)|0;d=c[2277]|0;r=1<<m;if(d&r){m=9148+(j+2<<2)|0;f=c[m>>2]|0;if(f>>>0<(c[2281]|0)>>>0)Ea();else{D=m;E=f}}else{c[2277]=d|r;D=9148+(j+2<<2)|0;E=p}c[D>>2]=q;c[E+12>>2]=q;c[q+8>>2]=E;c[q+12>>2]=p}c[2279]=v;c[2282]=k}n=w+8|0;return n|0}else F=b}else F=b}else if(a>>>0<=4294967231){p=a+11|0;q=p&-8;j=c[2278]|0;if(j){r=0-q|0;d=p>>>8;if(d)if(q>>>0>16777215)G=31;else{p=(d+1048320|0)>>>16&8;f=d<<p;d=(f+520192|0)>>>16&4;m=f<<d;f=(m+245760|0)>>>16&2;i=14-(d|p|f)+(m<<f>>>15)|0;G=q>>>(i+7|0)&1|i<<1}else G=0;i=c[9412+(G<<2)>>2]|0;a:do if(!i){H=r;I=0;J=0;K=86}else{f=r;m=0;p=q<<((G|0)==31?0:25-(G>>>1)|0);d=i;e=0;while(1){h=c[d+4>>2]&-8;o=h-q|0;if(o>>>0<f>>>0)if((h|0)==(q|0)){L=o;M=d;N=d;K=90;break a}else{O=o;P=d}else{O=f;P=e}o=c[d+20>>2]|0;d=c[d+16+(p>>>31<<2)>>2]|0;h=(o|0)==0|(o|0)==(d|0)?m:o;if(!d){H=O;I=h;J=P;K=86;break}else{f=O;m=h;p=p<<1;e=P}}}while(0);if((K|0)==86){if((I|0)==0&(J|0)==0){i=2<<G;r=j&(i|0-i);if(!r){F=q;break}i=(r&0-r)+-1|0;r=i>>>12&16;b=i>>>r;i=b>>>5&8;k=b>>>i;b=k>>>2&4;e=k>>>b;k=e>>>1&2;p=e>>>k;e=p>>>1&1;Q=c[9412+((i|r|b|k|e)+(p>>>e)<<2)>>2]|0;R=0}else{Q=I;R=J}if(!Q){S=H;T=R}else{L=H;M=Q;N=R;K=90}}if((K|0)==90)while(1){K=0;e=(c[M+4>>2]&-8)-q|0;p=e>>>0<L>>>0;k=p?e:L;e=p?M:N;p=c[M+16>>2]|0;if(p){L=k;M=p;N=e;K=90;continue}M=c[M+20>>2]|0;if(!M){S=k;T=e;break}else{L=k;N=e;K=90}}if((T|0)!=0?S>>>0<((c[2279]|0)-q|0)>>>0:0){j=c[2281]|0;if(T>>>0<j>>>0)Ea();e=T+q|0;if(T>>>0>=e>>>0)Ea();k=c[T+24>>2]|0;p=c[T+12>>2]|0;do if((p|0)==(T|0)){b=T+20|0;r=c[b>>2]|0;if(!r){i=T+16|0;m=c[i>>2]|0;if(!m){U=0;break}else{V=m;W=i}}else{V=r;W=b}while(1){b=V+20|0;r=c[b>>2]|0;if(r){V=r;W=b;continue}b=V+16|0;r=c[b>>2]|0;if(!r){X=V;Y=W;break}else{V=r;W=b}}if(Y>>>0<j>>>0)Ea();else{c[Y>>2]=0;U=X;break}}else{b=c[T+8>>2]|0;if(b>>>0<j>>>0)Ea();r=b+12|0;if((c[r>>2]|0)!=(T|0))Ea();i=p+8|0;if((c[i>>2]|0)==(T|0)){c[r>>2]=p;c[i>>2]=b;U=p;break}else Ea()}while(0);do if(k){p=c[T+28>>2]|0;j=9412+(p<<2)|0;if((T|0)==(c[j>>2]|0)){c[j>>2]=U;if(!U){c[2278]=c[2278]&~(1<<p);break}}else{if(k>>>0<(c[2281]|0)>>>0)Ea();p=k+16|0;if((c[p>>2]|0)==(T|0))c[p>>2]=U;else c[k+20>>2]=U;if(!U)break}p=c[2281]|0;if(U>>>0<p>>>0)Ea();c[U+24>>2]=k;j=c[T+16>>2]|0;do if(j)if(j>>>0<p>>>0)Ea();else{c[U+16>>2]=j;c[j+24>>2]=U;break}while(0);j=c[T+20>>2]|0;if(j)if(j>>>0<(c[2281]|0)>>>0)Ea();else{c[U+20>>2]=j;c[j+24>>2]=U;break}}while(0);b:do if(S>>>0>=16){c[T+4>>2]=q|3;c[T+(q|4)>>2]=S|1;c[T+(S+q)>>2]=S;k=S>>>3;if(S>>>0<256){j=k<<1;p=9148+(j<<2)|0;b=c[2277]|0;i=1<<k;if(b&i){k=9148+(j+2<<2)|0;r=c[k>>2]|0;if(r>>>0<(c[2281]|0)>>>0)Ea();else{Z=k;_=r}}else{c[2277]=b|i;Z=9148+(j+2<<2)|0;_=p}c[Z>>2]=e;c[_+12>>2]=e;c[T+(q+8)>>2]=_;c[T+(q+12)>>2]=p;break}p=S>>>8;if(p)if(S>>>0>16777215)$=31;else{j=(p+1048320|0)>>>16&8;i=p<<j;p=(i+520192|0)>>>16&4;b=i<<p;i=(b+245760|0)>>>16&2;r=14-(p|j|i)+(b<<i>>>15)|0;$=S>>>(r+7|0)&1|r<<1}else $=0;r=9412+($<<2)|0;c[T+(q+28)>>2]=$;c[T+(q+20)>>2]=0;c[T+(q+16)>>2]=0;i=c[2278]|0;b=1<<$;if(!(i&b)){c[2278]=i|b;c[r>>2]=e;c[T+(q+24)>>2]=r;c[T+(q+12)>>2]=e;c[T+(q+8)>>2]=e;break}b=c[r>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(S|0)){r=S<<(($|0)==31?0:25-($>>>1)|0);i=b;while(1){j=i+16+(r>>>31<<2)|0;p=c[j>>2]|0;if(!p){aa=j;ba=i;break}if((c[p+4>>2]&-8|0)==(S|0)){ca=p;break c}else{r=r<<1;i=p}}if(aa>>>0<(c[2281]|0)>>>0)Ea();else{c[aa>>2]=e;c[T+(q+24)>>2]=ba;c[T+(q+12)>>2]=e;c[T+(q+8)>>2]=e;break b}}else ca=b;while(0);b=ca+8|0;i=c[b>>2]|0;r=c[2281]|0;if(i>>>0>=r>>>0&ca>>>0>=r>>>0){c[i+12>>2]=e;c[b>>2]=e;c[T+(q+8)>>2]=i;c[T+(q+12)>>2]=ca;c[T+(q+24)>>2]=0;break}else Ea()}else{i=S+q|0;c[T+4>>2]=i|3;b=T+(i+4)|0;c[b>>2]=c[b>>2]|1}while(0);n=T+8|0;return n|0}else F=q}else F=q}else F=-1;while(0);T=c[2279]|0;if(T>>>0>=F>>>0){S=T-F|0;ca=c[2282]|0;if(S>>>0>15){c[2282]=ca+F;c[2279]=S;c[ca+(F+4)>>2]=S|1;c[ca+T>>2]=S;c[ca+4>>2]=F|3}else{c[2279]=0;c[2282]=0;c[ca+4>>2]=T|3;S=ca+(T+4)|0;c[S>>2]=c[S>>2]|1}n=ca+8|0;return n|0}ca=c[2280]|0;if(ca>>>0>F>>>0){S=ca-F|0;c[2280]=S;ca=c[2283]|0;c[2283]=ca+F;c[ca+(F+4)>>2]=S|1;c[ca+4>>2]=F|3;n=ca+8|0;return n|0}do if(!(c[2395]|0)){ca=Wa(30)|0;if(!(ca+-1&ca)){c[2397]=ca;c[2396]=ca;c[2398]=-1;c[2399]=-1;c[2400]=0;c[2388]=0;c[2395]=(pb(0)|0)&-16^1431655768;break}else Ea()}while(0);ca=F+48|0;S=c[2397]|0;T=F+47|0;ba=S+T|0;aa=0-S|0;S=ba&aa;if(S>>>0<=F>>>0){n=0;return n|0}$=c[2387]|0;if(($|0)!=0?(_=c[2385]|0,Z=_+S|0,Z>>>0<=_>>>0|Z>>>0>$>>>0):0){n=0;return n|0}d:do if(!(c[2388]&4)){$=c[2283]|0;e:do if($){Z=9556;while(1){_=c[Z>>2]|0;if(_>>>0<=$>>>0?(U=Z+4|0,(_+(c[U>>2]|0)|0)>>>0>$>>>0):0){da=Z;ea=U;break}Z=c[Z+8>>2]|0;if(!Z){K=174;break e}}Z=ba-(c[2280]|0)&aa;if(Z>>>0<2147483647){U=Ra(Z|0)|0;_=(U|0)==((c[da>>2]|0)+(c[ea>>2]|0)|0);X=_?Z:0;if(_)if((U|0)==(-1|0))fa=X;else{ga=U;ha=X;K=194;break d}else{ia=U;ja=Z;ka=X;K=184}}else fa=0}else K=174;while(0);do if((K|0)==174){$=Ra(0)|0;if(($|0)!=(-1|0)){q=$;X=c[2396]|0;Z=X+-1|0;if(!(Z&q))la=S;else la=S-q+(Z+q&0-X)|0;X=c[2385]|0;q=X+la|0;if(la>>>0>F>>>0&la>>>0<2147483647){Z=c[2387]|0;if((Z|0)!=0?q>>>0<=X>>>0|q>>>0>Z>>>0:0){fa=0;break}Z=Ra(la|0)|0;q=(Z|0)==($|0);X=q?la:0;if(q){ga=$;ha=X;K=194;break d}else{ia=Z;ja=la;ka=X;K=184}}else fa=0}else fa=0}while(0);f:do if((K|0)==184){X=0-ja|0;do if(ca>>>0>ja>>>0&(ja>>>0<2147483647&(ia|0)!=(-1|0))?(Z=c[2397]|0,$=T-ja+Z&0-Z,$>>>0<2147483647):0)if((Ra($|0)|0)==(-1|0)){Ra(X|0)|0;fa=ka;break f}else{ma=$+ja|0;break}else ma=ja;while(0);if((ia|0)==(-1|0))fa=ka;else{ga=ia;ha=ma;K=194;break d}}while(0);c[2388]=c[2388]|4;na=fa;K=191}else{na=0;K=191}while(0);if((((K|0)==191?S>>>0<2147483647:0)?(fa=Ra(S|0)|0,S=Ra(0)|0,fa>>>0<S>>>0&((fa|0)!=(-1|0)&(S|0)!=(-1|0))):0)?(ma=S-fa|0,S=ma>>>0>(F+40|0)>>>0,S):0){ga=fa;ha=S?ma:na;K=194}if((K|0)==194){na=(c[2385]|0)+ha|0;c[2385]=na;if(na>>>0>(c[2386]|0)>>>0)c[2386]=na;na=c[2283]|0;g:do if(na){ma=9556;do{S=c[ma>>2]|0;fa=ma+4|0;ia=c[fa>>2]|0;if((ga|0)==(S+ia|0)){oa=S;pa=fa;qa=ia;ra=ma;K=204;break}ma=c[ma+8>>2]|0}while((ma|0)!=0);if(((K|0)==204?(c[ra+12>>2]&8|0)==0:0)?na>>>0<ga>>>0&na>>>0>=oa>>>0:0){c[pa>>2]=qa+ha;ma=(c[2280]|0)+ha|0;ia=na+8|0;fa=(ia&7|0)==0?0:0-ia&7;ia=ma-fa|0;c[2283]=na+fa;c[2280]=ia;c[na+(fa+4)>>2]=ia|1;c[na+(ma+4)>>2]=40;c[2284]=c[2399];break}ma=c[2281]|0;if(ga>>>0<ma>>>0){c[2281]=ga;sa=ga}else sa=ma;ma=ga+ha|0;ia=9556;while(1){if((c[ia>>2]|0)==(ma|0)){ta=ia;ua=ia;K=212;break}ia=c[ia+8>>2]|0;if(!ia){va=9556;break}}if((K|0)==212)if(!(c[ua+12>>2]&8)){c[ta>>2]=ga;ia=ua+4|0;c[ia>>2]=(c[ia>>2]|0)+ha;ia=ga+8|0;ma=(ia&7|0)==0?0:0-ia&7;ia=ga+(ha+8)|0;fa=(ia&7|0)==0?0:0-ia&7;ia=ga+(fa+ha)|0;S=ma+F|0;ka=ga+S|0;ja=ia-(ga+ma)-F|0;c[ga+(ma+4)>>2]=F|3;h:do if((ia|0)!=(na|0)){if((ia|0)==(c[2282]|0)){T=(c[2279]|0)+ja|0;c[2279]=T;c[2282]=ka;c[ga+(S+4)>>2]=T|1;c[ga+(T+S)>>2]=T;break}T=ha+4|0;ca=c[ga+(T+fa)>>2]|0;if((ca&3|0)==1){la=ca&-8;ea=ca>>>3;i:do if(ca>>>0>=256){da=c[ga+((fa|24)+ha)>>2]|0;aa=c[ga+(ha+12+fa)>>2]|0;do if((aa|0)==(ia|0)){ba=fa|16;X=ga+(T+ba)|0;$=c[X>>2]|0;if(!$){Z=ga+(ba+ha)|0;ba=c[Z>>2]|0;if(!ba){wa=0;break}else{xa=ba;ya=Z}}else{xa=$;ya=X}while(1){X=xa+20|0;$=c[X>>2]|0;if($){xa=$;ya=X;continue}X=xa+16|0;$=c[X>>2]|0;if(!$){za=xa;Aa=ya;break}else{xa=$;ya=X}}if(Aa>>>0<sa>>>0)Ea();else{c[Aa>>2]=0;wa=za;break}}else{X=c[ga+((fa|8)+ha)>>2]|0;if(X>>>0<sa>>>0)Ea();$=X+12|0;if((c[$>>2]|0)!=(ia|0))Ea();Z=aa+8|0;if((c[Z>>2]|0)==(ia|0)){c[$>>2]=aa;c[Z>>2]=X;wa=aa;break}else Ea()}while(0);if(!da)break;aa=c[ga+(ha+28+fa)>>2]|0;X=9412+(aa<<2)|0;do if((ia|0)!=(c[X>>2]|0)){if(da>>>0<(c[2281]|0)>>>0)Ea();Z=da+16|0;if((c[Z>>2]|0)==(ia|0))c[Z>>2]=wa;else c[da+20>>2]=wa;if(!wa)break i}else{c[X>>2]=wa;if(wa)break;c[2278]=c[2278]&~(1<<aa);break i}while(0);aa=c[2281]|0;if(wa>>>0<aa>>>0)Ea();c[wa+24>>2]=da;X=fa|16;Z=c[ga+(X+ha)>>2]|0;do if(Z)if(Z>>>0<aa>>>0)Ea();else{c[wa+16>>2]=Z;c[Z+24>>2]=wa;break}while(0);Z=c[ga+(T+X)>>2]|0;if(!Z)break;if(Z>>>0<(c[2281]|0)>>>0)Ea();else{c[wa+20>>2]=Z;c[Z+24>>2]=wa;break}}else{Z=c[ga+((fa|8)+ha)>>2]|0;aa=c[ga+(ha+12+fa)>>2]|0;da=9148+(ea<<1<<2)|0;do if((Z|0)!=(da|0)){if(Z>>>0<sa>>>0)Ea();if((c[Z+12>>2]|0)==(ia|0))break;Ea()}while(0);if((aa|0)==(Z|0)){c[2277]=c[2277]&~(1<<ea);break}do if((aa|0)==(da|0))Ba=aa+8|0;else{if(aa>>>0<sa>>>0)Ea();X=aa+8|0;if((c[X>>2]|0)==(ia|0)){Ba=X;break}Ea()}while(0);c[Z+12>>2]=aa;c[Ba>>2]=Z}while(0);Ca=ga+((la|fa)+ha)|0;Da=la+ja|0}else{Ca=ia;Da=ja}ea=Ca+4|0;c[ea>>2]=c[ea>>2]&-2;c[ga+(S+4)>>2]=Da|1;c[ga+(Da+S)>>2]=Da;ea=Da>>>3;if(Da>>>0<256){T=ea<<1;ca=9148+(T<<2)|0;da=c[2277]|0;X=1<<ea;do if(!(da&X)){c[2277]=da|X;Fa=9148+(T+2<<2)|0;Ga=ca}else{ea=9148+(T+2<<2)|0;$=c[ea>>2]|0;if($>>>0>=(c[2281]|0)>>>0){Fa=ea;Ga=$;break}Ea()}while(0);c[Fa>>2]=ka;c[Ga+12>>2]=ka;c[ga+(S+8)>>2]=Ga;c[ga+(S+12)>>2]=ca;break}T=Da>>>8;do if(!T)Ha=0;else{if(Da>>>0>16777215){Ha=31;break}X=(T+1048320|0)>>>16&8;da=T<<X;la=(da+520192|0)>>>16&4;$=da<<la;da=($+245760|0)>>>16&2;ea=14-(la|X|da)+($<<da>>>15)|0;Ha=Da>>>(ea+7|0)&1|ea<<1}while(0);T=9412+(Ha<<2)|0;c[ga+(S+28)>>2]=Ha;c[ga+(S+20)>>2]=0;c[ga+(S+16)>>2]=0;ca=c[2278]|0;ea=1<<Ha;if(!(ca&ea)){c[2278]=ca|ea;c[T>>2]=ka;c[ga+(S+24)>>2]=T;c[ga+(S+12)>>2]=ka;c[ga+(S+8)>>2]=ka;break}ea=c[T>>2]|0;j:do if((c[ea+4>>2]&-8|0)!=(Da|0)){T=Da<<((Ha|0)==31?0:25-(Ha>>>1)|0);ca=ea;while(1){da=ca+16+(T>>>31<<2)|0;$=c[da>>2]|0;if(!$){Ia=da;Ja=ca;break}if((c[$+4>>2]&-8|0)==(Da|0)){Ka=$;break j}else{T=T<<1;ca=$}}if(Ia>>>0<(c[2281]|0)>>>0)Ea();else{c[Ia>>2]=ka;c[ga+(S+24)>>2]=Ja;c[ga+(S+12)>>2]=ka;c[ga+(S+8)>>2]=ka;break h}}else Ka=ea;while(0);ea=Ka+8|0;ca=c[ea>>2]|0;T=c[2281]|0;if(ca>>>0>=T>>>0&Ka>>>0>=T>>>0){c[ca+12>>2]=ka;c[ea>>2]=ka;c[ga+(S+8)>>2]=ca;c[ga+(S+12)>>2]=Ka;c[ga+(S+24)>>2]=0;break}else Ea()}else{ca=(c[2280]|0)+ja|0;c[2280]=ca;c[2283]=ka;c[ga+(S+4)>>2]=ca|1}while(0);n=ga+(ma|8)|0;return n|0}else va=9556;while(1){S=c[va>>2]|0;if(S>>>0<=na>>>0?(ka=c[va+4>>2]|0,ja=S+ka|0,ja>>>0>na>>>0):0){La=S;Ma=ka;Na=ja;break}va=c[va+8>>2]|0}ma=La+(Ma+-39)|0;ja=La+(Ma+-47+((ma&7|0)==0?0:0-ma&7))|0;ma=na+16|0;ka=ja>>>0<ma>>>0?na:ja;ja=ka+8|0;S=ga+8|0;ia=(S&7|0)==0?0:0-S&7;S=ha+-40-ia|0;c[2283]=ga+ia;c[2280]=S;c[ga+(ia+4)>>2]=S|1;c[ga+(ha+-36)>>2]=40;c[2284]=c[2399];S=ka+4|0;c[S>>2]=27;c[ja>>2]=c[2389];c[ja+4>>2]=c[2390];c[ja+8>>2]=c[2391];c[ja+12>>2]=c[2392];c[2389]=ga;c[2390]=ha;c[2392]=0;c[2391]=ja;ja=ka+28|0;c[ja>>2]=7;if((ka+32|0)>>>0<Na>>>0){ia=ja;do{ja=ia;ia=ia+4|0;c[ia>>2]=7}while((ja+8|0)>>>0<Na>>>0)}if((ka|0)!=(na|0)){ia=ka-na|0;c[S>>2]=c[S>>2]&-2;c[na+4>>2]=ia|1;c[ka>>2]=ia;ja=ia>>>3;if(ia>>>0<256){fa=ja<<1;ca=9148+(fa<<2)|0;ea=c[2277]|0;T=1<<ja;if(ea&T){ja=9148+(fa+2<<2)|0;Z=c[ja>>2]|0;if(Z>>>0<(c[2281]|0)>>>0)Ea();else{Oa=ja;Pa=Z}}else{c[2277]=ea|T;Oa=9148+(fa+2<<2)|0;Pa=ca}c[Oa>>2]=na;c[Pa+12>>2]=na;c[na+8>>2]=Pa;c[na+12>>2]=ca;break}ca=ia>>>8;if(ca)if(ia>>>0>16777215)Qa=31;else{fa=(ca+1048320|0)>>>16&8;T=ca<<fa;ca=(T+520192|0)>>>16&4;ea=T<<ca;T=(ea+245760|0)>>>16&2;Z=14-(ca|fa|T)+(ea<<T>>>15)|0;Qa=ia>>>(Z+7|0)&1|Z<<1}else Qa=0;Z=9412+(Qa<<2)|0;c[na+28>>2]=Qa;c[na+20>>2]=0;c[ma>>2]=0;T=c[2278]|0;ea=1<<Qa;if(!(T&ea)){c[2278]=T|ea;c[Z>>2]=na;c[na+24>>2]=Z;c[na+12>>2]=na;c[na+8>>2]=na;break}ea=c[Z>>2]|0;k:do if((c[ea+4>>2]&-8|0)!=(ia|0)){Z=ia<<((Qa|0)==31?0:25-(Qa>>>1)|0);T=ea;while(1){fa=T+16+(Z>>>31<<2)|0;ca=c[fa>>2]|0;if(!ca){Sa=fa;Ta=T;break}if((c[ca+4>>2]&-8|0)==(ia|0)){Ua=ca;break k}else{Z=Z<<1;T=ca}}if(Sa>>>0<(c[2281]|0)>>>0)Ea();else{c[Sa>>2]=na;c[na+24>>2]=Ta;c[na+12>>2]=na;c[na+8>>2]=na;break g}}else Ua=ea;while(0);ea=Ua+8|0;ia=c[ea>>2]|0;ma=c[2281]|0;if(ia>>>0>=ma>>>0&Ua>>>0>=ma>>>0){c[ia+12>>2]=na;c[ea>>2]=na;c[na+8>>2]=ia;c[na+12>>2]=Ua;c[na+24>>2]=0;break}else Ea()}}else{ia=c[2281]|0;if((ia|0)==0|ga>>>0<ia>>>0)c[2281]=ga;c[2389]=ga;c[2390]=ha;c[2392]=0;c[2286]=c[2395];c[2285]=-1;ia=0;do{ea=ia<<1;ma=9148+(ea<<2)|0;c[9148+(ea+3<<2)>>2]=ma;c[9148+(ea+2<<2)>>2]=ma;ia=ia+1|0}while((ia|0)!=32);ia=ga+8|0;ma=(ia&7|0)==0?0:0-ia&7;ia=ha+-40-ma|0;c[2283]=ga+ma;c[2280]=ia;c[ga+(ma+4)>>2]=ia|1;c[ga+(ha+-36)>>2]=40;c[2284]=c[2399]}while(0);ha=c[2280]|0;if(ha>>>0>F>>>0){ga=ha-F|0;c[2280]=ga;ha=c[2283]|0;c[2283]=ha+F;c[ha+(F+4)>>2]=ga|1;c[ha+4>>2]=F|3;n=ha+8|0;return n|0}}c[(el()|0)>>2]=12;n=0;return n|0}function Mm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;if(!a)return;b=a+-8|0;d=c[2281]|0;if(b>>>0<d>>>0)Ea();e=c[a+-4>>2]|0;f=e&3;if((f|0)==1)Ea();g=e&-8;h=a+(g+-8)|0;do if(!(e&1)){i=c[b>>2]|0;if(!f)return;j=-8-i|0;k=a+j|0;l=i+g|0;if(k>>>0<d>>>0)Ea();if((k|0)==(c[2282]|0)){m=a+(g+-4)|0;n=c[m>>2]|0;if((n&3|0)!=3){o=k;p=l;break}c[2279]=l;c[m>>2]=n&-2;c[a+(j+4)>>2]=l|1;c[h>>2]=l;return}n=i>>>3;if(i>>>0<256){i=c[a+(j+8)>>2]|0;m=c[a+(j+12)>>2]|0;q=9148+(n<<1<<2)|0;if((i|0)!=(q|0)){if(i>>>0<d>>>0)Ea();if((c[i+12>>2]|0)!=(k|0))Ea()}if((m|0)==(i|0)){c[2277]=c[2277]&~(1<<n);o=k;p=l;break}if((m|0)!=(q|0)){if(m>>>0<d>>>0)Ea();q=m+8|0;if((c[q>>2]|0)==(k|0))r=q;else Ea()}else r=m+8|0;c[i+12>>2]=m;c[r>>2]=i;o=k;p=l;break}i=c[a+(j+24)>>2]|0;m=c[a+(j+12)>>2]|0;do if((m|0)==(k|0)){q=a+(j+20)|0;n=c[q>>2]|0;if(!n){s=a+(j+16)|0;t=c[s>>2]|0;if(!t){u=0;break}else{v=t;w=s}}else{v=n;w=q}while(1){q=v+20|0;n=c[q>>2]|0;if(n){v=n;w=q;continue}q=v+16|0;n=c[q>>2]|0;if(!n){x=v;y=w;break}else{v=n;w=q}}if(y>>>0<d>>>0)Ea();else{c[y>>2]=0;u=x;break}}else{q=c[a+(j+8)>>2]|0;if(q>>>0<d>>>0)Ea();n=q+12|0;if((c[n>>2]|0)!=(k|0))Ea();s=m+8|0;if((c[s>>2]|0)==(k|0)){c[n>>2]=m;c[s>>2]=q;u=m;break}else Ea()}while(0);if(i){m=c[a+(j+28)>>2]|0;q=9412+(m<<2)|0;if((k|0)==(c[q>>2]|0)){c[q>>2]=u;if(!u){c[2278]=c[2278]&~(1<<m);o=k;p=l;break}}else{if(i>>>0<(c[2281]|0)>>>0)Ea();m=i+16|0;if((c[m>>2]|0)==(k|0))c[m>>2]=u;else c[i+20>>2]=u;if(!u){o=k;p=l;break}}m=c[2281]|0;if(u>>>0<m>>>0)Ea();c[u+24>>2]=i;q=c[a+(j+16)>>2]|0;do if(q)if(q>>>0<m>>>0)Ea();else{c[u+16>>2]=q;c[q+24>>2]=u;break}while(0);q=c[a+(j+20)>>2]|0;if(q)if(q>>>0<(c[2281]|0)>>>0)Ea();else{c[u+20>>2]=q;c[q+24>>2]=u;o=k;p=l;break}else{o=k;p=l}}else{o=k;p=l}}else{o=b;p=g}while(0);if(o>>>0>=h>>>0)Ea();b=a+(g+-4)|0;u=c[b>>2]|0;if(!(u&1))Ea();if(!(u&2)){if((h|0)==(c[2283]|0)){d=(c[2280]|0)+p|0;c[2280]=d;c[2283]=o;c[o+4>>2]=d|1;if((o|0)!=(c[2282]|0))return;c[2282]=0;c[2279]=0;return}if((h|0)==(c[2282]|0)){d=(c[2279]|0)+p|0;c[2279]=d;c[2282]=o;c[o+4>>2]=d|1;c[o+d>>2]=d;return}d=(u&-8)+p|0;x=u>>>3;do if(u>>>0>=256){y=c[a+(g+16)>>2]|0;w=c[a+(g|4)>>2]|0;do if((w|0)==(h|0)){v=a+(g+12)|0;r=c[v>>2]|0;if(!r){f=a+(g+8)|0;e=c[f>>2]|0;if(!e){z=0;break}else{A=e;B=f}}else{A=r;B=v}while(1){v=A+20|0;r=c[v>>2]|0;if(r){A=r;B=v;continue}v=A+16|0;r=c[v>>2]|0;if(!r){C=A;D=B;break}else{A=r;B=v}}if(D>>>0<(c[2281]|0)>>>0)Ea();else{c[D>>2]=0;z=C;break}}else{v=c[a+g>>2]|0;if(v>>>0<(c[2281]|0)>>>0)Ea();r=v+12|0;if((c[r>>2]|0)!=(h|0))Ea();f=w+8|0;if((c[f>>2]|0)==(h|0)){c[r>>2]=w;c[f>>2]=v;z=w;break}else Ea()}while(0);if(y){w=c[a+(g+20)>>2]|0;l=9412+(w<<2)|0;if((h|0)==(c[l>>2]|0)){c[l>>2]=z;if(!z){c[2278]=c[2278]&~(1<<w);break}}else{if(y>>>0<(c[2281]|0)>>>0)Ea();w=y+16|0;if((c[w>>2]|0)==(h|0))c[w>>2]=z;else c[y+20>>2]=z;if(!z)break}w=c[2281]|0;if(z>>>0<w>>>0)Ea();c[z+24>>2]=y;l=c[a+(g+8)>>2]|0;do if(l)if(l>>>0<w>>>0)Ea();else{c[z+16>>2]=l;c[l+24>>2]=z;break}while(0);l=c[a+(g+12)>>2]|0;if(l)if(l>>>0<(c[2281]|0)>>>0)Ea();else{c[z+20>>2]=l;c[l+24>>2]=z;break}}}else{l=c[a+g>>2]|0;w=c[a+(g|4)>>2]|0;y=9148+(x<<1<<2)|0;if((l|0)!=(y|0)){if(l>>>0<(c[2281]|0)>>>0)Ea();if((c[l+12>>2]|0)!=(h|0))Ea()}if((w|0)==(l|0)){c[2277]=c[2277]&~(1<<x);break}if((w|0)!=(y|0)){if(w>>>0<(c[2281]|0)>>>0)Ea();y=w+8|0;if((c[y>>2]|0)==(h|0))E=y;else Ea()}else E=w+8|0;c[l+12>>2]=w;c[E>>2]=l}while(0);c[o+4>>2]=d|1;c[o+d>>2]=d;if((o|0)==(c[2282]|0)){c[2279]=d;return}else F=d}else{c[b>>2]=u&-2;c[o+4>>2]=p|1;c[o+p>>2]=p;F=p}p=F>>>3;if(F>>>0<256){u=p<<1;b=9148+(u<<2)|0;d=c[2277]|0;E=1<<p;if(d&E){p=9148+(u+2<<2)|0;h=c[p>>2]|0;if(h>>>0<(c[2281]|0)>>>0)Ea();else{G=p;H=h}}else{c[2277]=d|E;G=9148+(u+2<<2)|0;H=b}c[G>>2]=o;c[H+12>>2]=o;c[o+8>>2]=H;c[o+12>>2]=b;return}b=F>>>8;if(b)if(F>>>0>16777215)I=31;else{H=(b+1048320|0)>>>16&8;G=b<<H;b=(G+520192|0)>>>16&4;u=G<<b;G=(u+245760|0)>>>16&2;E=14-(b|H|G)+(u<<G>>>15)|0;I=F>>>(E+7|0)&1|E<<1}else I=0;E=9412+(I<<2)|0;c[o+28>>2]=I;c[o+20>>2]=0;c[o+16>>2]=0;G=c[2278]|0;u=1<<I;a:do if(G&u){H=c[E>>2]|0;b:do if((c[H+4>>2]&-8|0)!=(F|0)){b=F<<((I|0)==31?0:25-(I>>>1)|0);d=H;while(1){h=d+16+(b>>>31<<2)|0;p=c[h>>2]|0;if(!p){J=h;K=d;break}if((c[p+4>>2]&-8|0)==(F|0)){L=p;break b}else{b=b<<1;d=p}}if(J>>>0<(c[2281]|0)>>>0)Ea();else{c[J>>2]=o;c[o+24>>2]=K;c[o+12>>2]=o;c[o+8>>2]=o;break a}}else L=H;while(0);H=L+8|0;d=c[H>>2]|0;b=c[2281]|0;if(d>>>0>=b>>>0&L>>>0>=b>>>0){c[d+12>>2]=o;c[H>>2]=o;c[o+8>>2]=d;c[o+12>>2]=L;c[o+24>>2]=0;break}else Ea()}else{c[2278]=G|u;c[E>>2]=o;c[o+24>>2]=E;c[o+12>>2]=o;c[o+8>>2]=o}while(0);o=(c[2285]|0)+-1|0;c[2285]=o;if(!o)M=9564;else return;while(1){o=c[M>>2]|0;if(!o)break;else M=o+8|0}c[2285]=-1;return}function Nm(a,b){a=a|0;b=b|0;var d=0,e=0;if(a){d=$(b,a)|0;if((b|a)>>>0>65535)e=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1;else e=d}else e=0;d=Lm(e)|0;if(!d)return d|0;if(!(c[d+-4>>2]&3))return d|0;hx(d|0,0,e|0)|0;return d|0}function Om(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a){d=Lm(b)|0;return d|0}if(b>>>0>4294967231){c[(el()|0)>>2]=12;d=0;return d|0}e=Pm(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(e){d=e+8|0;return d|0}e=Lm(b)|0;if(!e){d=0;return d|0}f=c[a+-4>>2]|0;g=(f&-8)-((f&3|0)==0?8:4)|0;kx(e|0,a|0,(g>>>0<b>>>0?g:b)|0)|0;Mm(a);d=e;return d|0}function Pm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;d=a+4|0;e=c[d>>2]|0;f=e&-8;g=a+f|0;h=c[2281]|0;i=e&3;if(!((i|0)!=1&a>>>0>=h>>>0&a>>>0<g>>>0))Ea();j=a+(f|4)|0;k=c[j>>2]|0;if(!(k&1))Ea();if(!i){if(b>>>0<256){l=0;return l|0}if(f>>>0>=(b+4|0)>>>0?(f-b|0)>>>0<=c[2397]<<1>>>0:0){l=a;return l|0}l=0;return l|0}if(f>>>0>=b>>>0){i=f-b|0;if(i>>>0<=15){l=a;return l|0}c[d>>2]=e&1|b|2;c[a+(b+4)>>2]=i|3;c[j>>2]=c[j>>2]|1;Qm(a+b|0,i);l=a;return l|0}if((g|0)==(c[2283]|0)){i=(c[2280]|0)+f|0;if(i>>>0<=b>>>0){l=0;return l|0}j=i-b|0;c[d>>2]=e&1|b|2;c[a+(b+4)>>2]=j|1;c[2283]=a+b;c[2280]=j;l=a;return l|0}if((g|0)==(c[2282]|0)){j=(c[2279]|0)+f|0;if(j>>>0<b>>>0){l=0;return l|0}i=j-b|0;if(i>>>0>15){c[d>>2]=e&1|b|2;c[a+(b+4)>>2]=i|1;c[a+j>>2]=i;m=a+(j+4)|0;c[m>>2]=c[m>>2]&-2;n=a+b|0;o=i}else{c[d>>2]=e&1|j|2;i=a+(j+4)|0;c[i>>2]=c[i>>2]|1;n=0;o=0}c[2279]=o;c[2282]=n;l=a;return l|0}if(k&2){l=0;return l|0}n=(k&-8)+f|0;if(n>>>0<b>>>0){l=0;return l|0}o=n-b|0;i=k>>>3;do if(k>>>0>=256){j=c[a+(f+24)>>2]|0;m=c[a+(f+12)>>2]|0;do if((m|0)==(g|0)){p=a+(f+20)|0;q=c[p>>2]|0;if(!q){r=a+(f+16)|0;s=c[r>>2]|0;if(!s){t=0;break}else{u=s;v=r}}else{u=q;v=p}while(1){p=u+20|0;q=c[p>>2]|0;if(q){u=q;v=p;continue}p=u+16|0;q=c[p>>2]|0;if(!q){w=u;x=v;break}else{u=q;v=p}}if(x>>>0<h>>>0)Ea();else{c[x>>2]=0;t=w;break}}else{p=c[a+(f+8)>>2]|0;if(p>>>0<h>>>0)Ea();q=p+12|0;if((c[q>>2]|0)!=(g|0))Ea();r=m+8|0;if((c[r>>2]|0)==(g|0)){c[q>>2]=m;c[r>>2]=p;t=m;break}else Ea()}while(0);if(j){m=c[a+(f+28)>>2]|0;p=9412+(m<<2)|0;if((g|0)==(c[p>>2]|0)){c[p>>2]=t;if(!t){c[2278]=c[2278]&~(1<<m);break}}else{if(j>>>0<(c[2281]|0)>>>0)Ea();m=j+16|0;if((c[m>>2]|0)==(g|0))c[m>>2]=t;else c[j+20>>2]=t;if(!t)break}m=c[2281]|0;if(t>>>0<m>>>0)Ea();c[t+24>>2]=j;p=c[a+(f+16)>>2]|0;do if(p)if(p>>>0<m>>>0)Ea();else{c[t+16>>2]=p;c[p+24>>2]=t;break}while(0);p=c[a+(f+20)>>2]|0;if(p)if(p>>>0<(c[2281]|0)>>>0)Ea();else{c[t+20>>2]=p;c[p+24>>2]=t;break}}}else{p=c[a+(f+8)>>2]|0;m=c[a+(f+12)>>2]|0;j=9148+(i<<1<<2)|0;if((p|0)!=(j|0)){if(p>>>0<h>>>0)Ea();if((c[p+12>>2]|0)!=(g|0))Ea()}if((m|0)==(p|0)){c[2277]=c[2277]&~(1<<i);break}if((m|0)!=(j|0)){if(m>>>0<h>>>0)Ea();j=m+8|0;if((c[j>>2]|0)==(g|0))y=j;else Ea()}else y=m+8|0;c[p+12>>2]=m;c[y>>2]=p}while(0);if(o>>>0<16){c[d>>2]=n|e&1|2;y=a+(n|4)|0;c[y>>2]=c[y>>2]|1;l=a;return l|0}else{c[d>>2]=e&1|b|2;c[a+(b+4)>>2]=o|3;e=a+(n|4)|0;c[e>>2]=c[e>>2]|1;Qm(a+b|0,o);l=a;return l|0}return 0}function Qm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;d=a+b|0;e=c[a+4>>2]|0;do if(!(e&1)){f=c[a>>2]|0;if(!(e&3))return;g=a+(0-f)|0;h=f+b|0;i=c[2281]|0;if(g>>>0<i>>>0)Ea();if((g|0)==(c[2282]|0)){j=a+(b+4)|0;k=c[j>>2]|0;if((k&3|0)!=3){l=g;m=h;break}c[2279]=h;c[j>>2]=k&-2;c[a+(4-f)>>2]=h|1;c[d>>2]=h;return}k=f>>>3;if(f>>>0<256){j=c[a+(8-f)>>2]|0;n=c[a+(12-f)>>2]|0;o=9148+(k<<1<<2)|0;if((j|0)!=(o|0)){if(j>>>0<i>>>0)Ea();if((c[j+12>>2]|0)!=(g|0))Ea()}if((n|0)==(j|0)){c[2277]=c[2277]&~(1<<k);l=g;m=h;break}if((n|0)!=(o|0)){if(n>>>0<i>>>0)Ea();o=n+8|0;if((c[o>>2]|0)==(g|0))p=o;else Ea()}else p=n+8|0;c[j+12>>2]=n;c[p>>2]=j;l=g;m=h;break}j=c[a+(24-f)>>2]|0;n=c[a+(12-f)>>2]|0;do if((n|0)==(g|0)){o=16-f|0;k=a+(o+4)|0;q=c[k>>2]|0;if(!q){r=a+o|0;o=c[r>>2]|0;if(!o){s=0;break}else{t=o;u=r}}else{t=q;u=k}while(1){k=t+20|0;q=c[k>>2]|0;if(q){t=q;u=k;continue}k=t+16|0;q=c[k>>2]|0;if(!q){v=t;w=u;break}else{t=q;u=k}}if(w>>>0<i>>>0)Ea();else{c[w>>2]=0;s=v;break}}else{k=c[a+(8-f)>>2]|0;if(k>>>0<i>>>0)Ea();q=k+12|0;if((c[q>>2]|0)!=(g|0))Ea();r=n+8|0;if((c[r>>2]|0)==(g|0)){c[q>>2]=n;c[r>>2]=k;s=n;break}else Ea()}while(0);if(j){n=c[a+(28-f)>>2]|0;i=9412+(n<<2)|0;if((g|0)==(c[i>>2]|0)){c[i>>2]=s;if(!s){c[2278]=c[2278]&~(1<<n);l=g;m=h;break}}else{if(j>>>0<(c[2281]|0)>>>0)Ea();n=j+16|0;if((c[n>>2]|0)==(g|0))c[n>>2]=s;else c[j+20>>2]=s;if(!s){l=g;m=h;break}}n=c[2281]|0;if(s>>>0<n>>>0)Ea();c[s+24>>2]=j;i=16-f|0;k=c[a+i>>2]|0;do if(k)if(k>>>0<n>>>0)Ea();else{c[s+16>>2]=k;c[k+24>>2]=s;break}while(0);k=c[a+(i+4)>>2]|0;if(k)if(k>>>0<(c[2281]|0)>>>0)Ea();else{c[s+20>>2]=k;c[k+24>>2]=s;l=g;m=h;break}else{l=g;m=h}}else{l=g;m=h}}else{l=a;m=b}while(0);s=c[2281]|0;if(d>>>0<s>>>0)Ea();v=a+(b+4)|0;w=c[v>>2]|0;if(!(w&2)){if((d|0)==(c[2283]|0)){u=(c[2280]|0)+m|0;c[2280]=u;c[2283]=l;c[l+4>>2]=u|1;if((l|0)!=(c[2282]|0))return;c[2282]=0;c[2279]=0;return}if((d|0)==(c[2282]|0)){u=(c[2279]|0)+m|0;c[2279]=u;c[2282]=l;c[l+4>>2]=u|1;c[l+u>>2]=u;return}u=(w&-8)+m|0;t=w>>>3;do if(w>>>0>=256){p=c[a+(b+24)>>2]|0;e=c[a+(b+12)>>2]|0;do if((e|0)==(d|0)){k=a+(b+20)|0;n=c[k>>2]|0;if(!n){f=a+(b+16)|0;j=c[f>>2]|0;if(!j){x=0;break}else{y=j;z=f}}else{y=n;z=k}while(1){k=y+20|0;n=c[k>>2]|0;if(n){y=n;z=k;continue}k=y+16|0;n=c[k>>2]|0;if(!n){A=y;B=z;break}else{y=n;z=k}}if(B>>>0<s>>>0)Ea();else{c[B>>2]=0;x=A;break}}else{k=c[a+(b+8)>>2]|0;if(k>>>0<s>>>0)Ea();n=k+12|0;if((c[n>>2]|0)!=(d|0))Ea();f=e+8|0;if((c[f>>2]|0)==(d|0)){c[n>>2]=e;c[f>>2]=k;x=e;break}else Ea()}while(0);if(p){e=c[a+(b+28)>>2]|0;h=9412+(e<<2)|0;if((d|0)==(c[h>>2]|0)){c[h>>2]=x;if(!x){c[2278]=c[2278]&~(1<<e);break}}else{if(p>>>0<(c[2281]|0)>>>0)Ea();e=p+16|0;if((c[e>>2]|0)==(d|0))c[e>>2]=x;else c[p+20>>2]=x;if(!x)break}e=c[2281]|0;if(x>>>0<e>>>0)Ea();c[x+24>>2]=p;h=c[a+(b+16)>>2]|0;do if(h)if(h>>>0<e>>>0)Ea();else{c[x+16>>2]=h;c[h+24>>2]=x;break}while(0);h=c[a+(b+20)>>2]|0;if(h)if(h>>>0<(c[2281]|0)>>>0)Ea();else{c[x+20>>2]=h;c[h+24>>2]=x;break}}}else{h=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;p=9148+(t<<1<<2)|0;if((h|0)!=(p|0)){if(h>>>0<s>>>0)Ea();if((c[h+12>>2]|0)!=(d|0))Ea()}if((e|0)==(h|0)){c[2277]=c[2277]&~(1<<t);break}if((e|0)!=(p|0)){if(e>>>0<s>>>0)Ea();p=e+8|0;if((c[p>>2]|0)==(d|0))C=p;else Ea()}else C=e+8|0;c[h+12>>2]=e;c[C>>2]=h}while(0);c[l+4>>2]=u|1;c[l+u>>2]=u;if((l|0)==(c[2282]|0)){c[2279]=u;return}else D=u}else{c[v>>2]=w&-2;c[l+4>>2]=m|1;c[l+m>>2]=m;D=m}m=D>>>3;if(D>>>0<256){w=m<<1;v=9148+(w<<2)|0;u=c[2277]|0;C=1<<m;if(u&C){m=9148+(w+2<<2)|0;d=c[m>>2]|0;if(d>>>0<(c[2281]|0)>>>0)Ea();else{E=m;F=d}}else{c[2277]=u|C;E=9148+(w+2<<2)|0;F=v}c[E>>2]=l;c[F+12>>2]=l;c[l+8>>2]=F;c[l+12>>2]=v;return}v=D>>>8;if(v)if(D>>>0>16777215)G=31;else{F=(v+1048320|0)>>>16&8;E=v<<F;v=(E+520192|0)>>>16&4;w=E<<v;E=(w+245760|0)>>>16&2;C=14-(v|F|E)+(w<<E>>>15)|0;G=D>>>(C+7|0)&1|C<<1}else G=0;C=9412+(G<<2)|0;c[l+28>>2]=G;c[l+20>>2]=0;c[l+16>>2]=0;E=c[2278]|0;w=1<<G;if(!(E&w)){c[2278]=E|w;c[C>>2]=l;c[l+24>>2]=C;c[l+12>>2]=l;c[l+8>>2]=l;return}w=c[C>>2]|0;a:do if((c[w+4>>2]&-8|0)==(D|0))H=w;else{C=D<<((G|0)==31?0:25-(G>>>1)|0);E=w;while(1){F=E+16+(C>>>31<<2)|0;v=c[F>>2]|0;if(!v){I=F;J=E;break}if((c[v+4>>2]&-8|0)==(D|0)){H=v;break a}else{C=C<<1;E=v}}if(I>>>0<(c[2281]|0)>>>0)Ea();c[I>>2]=l;c[l+24>>2]=J;c[l+12>>2]=l;c[l+8>>2]=l;return}while(0);J=H+8|0;I=c[J>>2]|0;D=c[2281]|0;if(!(I>>>0>=D>>>0&H>>>0>=D>>>0))Ea();c[I+12>>2]=l;c[J>>2]=l;c[l+8>>2]=I;c[l+12>>2]=H;c[l+24>>2]=0;return}function Rm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;a=c[1380]|0;Vm(10284,a,10340);c[2401]=11108;c[2403]=11128;c[2402]=0;b=c[2774]|0;po(9604+b|0,10284);c[9604+(b+72)>>2]=0;c[9604+(b+76)>>2]=-1;b=c[1381]|0;Wm(10388,b,10348);c[2423]=11188;c[2424]=11208;d=c[2794]|0;po(9692+d|0,10388);e=d+72|0;c[9692+e>>2]=0;f=d+76|0;c[9692+f>>2]=-1;g=c[1379]|0;Wm(10436,g,10356);c[2444]=11188;c[2445]=11208;po(9776+d|0,10436);c[9776+e>>2]=0;c[9776+f>>2]=-1;h=c[9776+((c[(c[2444]|0)+-12>>2]|0)+24)>>2]|0;c[2465]=11188;c[2466]=11208;po(9860+d|0,h);c[9860+e>>2]=0;c[9860+f>>2]=-1;c[9604+((c[(c[2401]|0)+-12>>2]|0)+72)>>2]=9692;f=9776+((c[(c[2444]|0)+-12>>2]|0)+4)|0;c[f>>2]=c[f>>2]|8192;c[9776+((c[(c[2444]|0)+-12>>2]|0)+72)>>2]=9692;Xm(10484,a,10364);c[2486]=11148;c[2488]=11168;c[2487]=0;a=c[2784]|0;po(9944+a|0,10484);c[9944+(a+72)>>2]=0;c[9944+(a+76)>>2]=-1;Ym(10540,b,10372);c[2508]=11228;c[2509]=11248;b=c[2804]|0;po(10032+b|0,10540);a=b+72|0;c[10032+a>>2]=0;f=b+76|0;c[10032+f>>2]=-1;Ym(10588,g,10380);c[2529]=11228;c[2530]=11248;po(10116+b|0,10588);c[10116+a>>2]=0;c[10116+f>>2]=-1;g=c[10116+((c[(c[2529]|0)+-12>>2]|0)+24)>>2]|0;c[2550]=11228;c[2551]=11248;po(10200+b|0,g);c[10200+a>>2]=0;c[10200+f>>2]=-1;c[9944+((c[(c[2486]|0)+-12>>2]|0)+72)>>2]=10032;f=10116+((c[(c[2529]|0)+-12>>2]|0)+4)|0;c[f>>2]=c[f>>2]|8192;c[10116+((c[(c[2529]|0)+-12>>2]|0)+72)>>2]=10032;return}function Sm(a){a=a|0;Yo(9692)|0;Yo(9860)|0;bp(10032)|0;bp(10200)|0;return}function Tm(){Rm(0);ib(191,30438,n|0)|0;return}function Um(){return}function Vm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;so(b);c[b>>2]=10836;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=-1;a[b+52>>0]=0;It(g,b+4|0);c[h>>2]=c[g>>2];on(b,h);Jt(h);i=f;return}function Wm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;so(b);c[b>>2]=10772;c[b+32>>2]=d;It(g,b+4|0);c[h>>2]=c[g>>2];g=Lt(h,12436)|0;Jt(h);c[b+36>>2]=g;c[b+40>>2]=e;a[b+44>>0]=(Hb[c[(c[g>>2]|0)+28>>2]&127](g)|0)&1;i=f;return}function Xm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;Ho(b);c[b>>2]=10708;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=-1;a[b+52>>0]=0;It(g,b+4|0);c[h>>2]=c[g>>2];cn(b,h);Jt(h);i=f;return}function Ym(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;Ho(b);c[b>>2]=10644;c[b+32>>2]=d;It(g,b+4|0);c[h>>2]=c[g>>2];g=Lt(h,12444)|0;Jt(h);c[b+36>>2]=g;c[b+40>>2]=e;a[b+44>>0]=(Hb[c[(c[g>>2]|0)+28>>2]&127](g)|0)&1;i=f;return}function Zm(a){a=a|0;Fo(a);gk(a);return}function _m(b,d){b=b|0;d=d|0;var e=0;Hb[c[(c[b>>2]|0)+24>>2]&127](b)|0;e=Lt(d,12444)|0;c[b+36>>2]=e;a[b+44>>0]=(Hb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;return}function $m(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;b=i;i=i+16|0;d=b+8|0;e=b;f=a+36|0;g=a+40|0;h=d+8|0;j=d;k=a+32|0;a:while(1){a=c[f>>2]|0;l=Rb[c[(c[a>>2]|0)+20>>2]&31](a,c[g>>2]|0,d,h,e)|0;a=(c[e>>2]|0)-j|0;if((am(d,1,a,c[k>>2]|0)|0)!=(a|0)){m=-1;break}switch(l|0){case 1:break;case 2:{m=-1;break a;break}default:{n=4;break a}}}if((n|0)==4)m=((Zl(c[k>>2]|0)|0)!=0)<<31>>31;i=b;return m|0}function an(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;a:do if(!(a[b+44>>0]|0))if((e|0)>0){f=d;g=0;while(1){if((Pb[c[(c[b>>2]|0)+52>>2]&63](b,c[f>>2]|0)|0)==-1){h=g;break a}i=g+1|0;if((i|0)<(e|0)){f=f+4|0;g=i}else{h=i;break}}}else h=0;else h=am(d,4,e,c[b+32>>2]|0)|0;while(0);return h|0}function bn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=i;i=i+32|0;f=e+16|0;g=e+8|0;h=e+4|0;j=e;k=(d|0)==-1;a:do if(!k){c[g>>2]=d;if(a[b+44>>0]|0)if((am(g,4,1,c[b+32>>2]|0)|0)==1){l=11;break}else{m=-1;break}c[h>>2]=f;n=g+4|0;o=b+36|0;p=b+40|0;q=f+8|0;r=f;s=b+32|0;t=g;while(1){u=c[o>>2]|0;v=Mb[c[(c[u>>2]|0)+12>>2]&15](u,c[p>>2]|0,t,n,j,f,q,h)|0;if((c[j>>2]|0)==(t|0)){m=-1;break a}if((v|0)==3){w=t;break}u=(v|0)==1;if(v>>>0>=2){m=-1;break a}v=(c[h>>2]|0)-r|0;if((am(f,1,v,c[s>>2]|0)|0)!=(v|0)){m=-1;break a}if(u)t=u?c[j>>2]|0:t;else{l=11;break a}}if((am(w,1,1,c[s>>2]|0)|0)!=1)m=-1;else l=11}else l=11;while(0);if((l|0)==11)m=k?0:d;i=e;return m|0}function cn(b,d){b=b|0;d=d|0;var e=0,f=0;e=Lt(d,12444)|0;d=b+36|0;c[d>>2]=e;f=b+44|0;c[f>>2]=Hb[c[(c[e>>2]|0)+24>>2]&127](e)|0;e=c[d>>2]|0;a[b+53>>0]=(Hb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;return}function dn(a){a=a|0;Fo(a);gk(a);return}function en(a){a=a|0;return hn(a,0)|0}function fn(a){a=a|0;return hn(a,1)|0}function gn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+32|0;f=e+16|0;g=e+8|0;h=e+4|0;j=e;k=b+52|0;l=(a[k>>0]|0)!=0;a:do if((d|0)==-1)if(l)m=-1;else{n=c[b+48>>2]|0;a[k>>0]=(n|0)!=-1&1;m=n}else{n=b+48|0;b:do if(l){c[h>>2]=c[n>>2];o=c[b+36>>2]|0;switch(Mb[c[(c[o>>2]|0)+12>>2]&15](o,c[b+40>>2]|0,h,h+4|0,j,f,f+8|0,g)|0){case 1:case 2:{m=-1;break a;break}case 3:{a[f>>0]=c[n>>2];c[g>>2]=f+1;break}default:{}}o=b+32|0;while(1){p=c[g>>2]|0;if(p>>>0<=f>>>0)break b;q=p+-1|0;c[g>>2]=q;if((em(a[q>>0]|0,c[o>>2]|0)|0)==-1){m=-1;break a}}}while(0);c[n>>2]=d;a[k>>0]=1;m=d}while(0);i=e;return m|0}function hn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=i;i=i+32|0;f=e+16|0;g=e+8|0;h=e+4|0;j=e;k=b+52|0;a:do if(a[k>>0]|0){l=b+48|0;m=c[l>>2]|0;if(d){c[l>>2]=-1;a[k>>0]=0;n=m}else n=m}else{m=c[b+44>>2]|0;l=(m|0)>1?m:1;m=b+32|0;if((l|0)>0){o=0;do{p=bm(c[m>>2]|0)|0;if((p|0)==-1){n=-1;break a}a[f+o>>0]=p;o=o+1|0}while((o|0)<(l|0))}b:do if(!(a[b+53>>0]|0)){o=b+40|0;p=b+36|0;q=g+4|0;r=l;c:while(1){s=c[o>>2]|0;t=s;u=c[t>>2]|0;v=c[t+4>>2]|0;t=c[p>>2]|0;w=f+r|0;switch(Mb[c[(c[t>>2]|0)+16>>2]&15](t,s,f,w,h,g,q,j)|0){case 2:{n=-1;break a;break}case 3:{x=r;break c;break}case 1:break;default:{y=r;break b}}s=c[o>>2]|0;c[s>>2]=u;c[s+4>>2]=v;if((r|0)==8){n=-1;break a}v=bm(c[m>>2]|0)|0;if((v|0)==-1){n=-1;break a}a[w>>0]=v;r=r+1|0}c[g>>2]=a[f>>0];y=x}else{c[g>>2]=a[f>>0];y=l}while(0);if(d){l=c[g>>2]|0;c[b+48>>2]=l;n=l;break}else z=y;while(1){if((z|0)<=0)break;z=z+-1|0;if((em(a[f+z>>0]|0,c[m>>2]|0)|0)==-1){n=-1;break a}}n=c[g>>2]|0}while(0);i=e;return n|0}function jn(a){a=a|0;qo(a);gk(a);return}function kn(b,d){b=b|0;d=d|0;var e=0;Hb[c[(c[b>>2]|0)+24>>2]&127](b)|0;e=Lt(d,12436)|0;c[b+36>>2]=e;a[b+44>>0]=(Hb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;return}function ln(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;b=i;i=i+16|0;d=b+8|0;e=b;f=a+36|0;g=a+40|0;h=d+8|0;j=d;k=a+32|0;a:while(1){a=c[f>>2]|0;l=Rb[c[(c[a>>2]|0)+20>>2]&31](a,c[g>>2]|0,d,h,e)|0;a=(c[e>>2]|0)-j|0;if((am(d,1,a,c[k>>2]|0)|0)!=(a|0)){m=-1;break}switch(l|0){case 1:break;case 2:{m=-1;break a;break}default:{n=4;break a}}}if((n|0)==4)m=((Zl(c[k>>2]|0)|0)!=0)<<31>>31;i=b;return m|0}function mn(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;a:do if(!(a[b+44>>0]|0))if((f|0)>0){g=e;h=0;while(1){if((Pb[c[(c[b>>2]|0)+52>>2]&63](b,d[g>>0]|0)|0)==-1){i=h;break a}j=h+1|0;if((j|0)<(f|0)){g=g+1|0;h=j}else{i=j;break}}}else i=0;else i=am(e,1,f,c[b+32>>2]|0)|0;while(0);return i|0}function nn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=i;i=i+32|0;f=e+16|0;g=e+8|0;h=e+4|0;j=e;k=(d|0)==-1;a:do if(!k){a[g>>0]=d;if(a[b+44>>0]|0)if((am(g,1,1,c[b+32>>2]|0)|0)==1){l=11;break}else{m=-1;break}c[h>>2]=f;n=g+1|0;o=b+36|0;p=b+40|0;q=f+8|0;r=f;s=b+32|0;t=g;while(1){u=c[o>>2]|0;v=Mb[c[(c[u>>2]|0)+12>>2]&15](u,c[p>>2]|0,t,n,j,f,q,h)|0;if((c[j>>2]|0)==(t|0)){m=-1;break a}if((v|0)==3){w=t;break}u=(v|0)==1;if(v>>>0>=2){m=-1;break a}v=(c[h>>2]|0)-r|0;if((am(f,1,v,c[s>>2]|0)|0)!=(v|0)){m=-1;break a}if(u)t=u?c[j>>2]|0:t;else{l=11;break a}}if((am(w,1,1,c[s>>2]|0)|0)!=1)m=-1;else l=11}else l=11;while(0);if((l|0)==11)m=k?0:d;i=e;return m|0}function on(b,d){b=b|0;d=d|0;var e=0,f=0;e=Lt(d,12436)|0;d=b+36|0;c[d>>2]=e;f=b+44|0;c[f>>2]=Hb[c[(c[e>>2]|0)+24>>2]&127](e)|0;e=c[d>>2]|0;a[b+53>>0]=(Hb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;return}function pn(a){a=a|0;qo(a);gk(a);return}function qn(a){a=a|0;return tn(a,0)|0}function rn(a){a=a|0;return tn(a,1)|0}function sn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+32|0;f=e+16|0;g=e+4|0;h=e+8|0;j=e;k=b+52|0;l=(a[k>>0]|0)!=0;a:do if((d|0)==-1)if(l)m=-1;else{n=c[b+48>>2]|0;a[k>>0]=(n|0)!=-1&1;m=n}else{n=b+48|0;b:do if(l){a[h>>0]=c[n>>2];o=c[b+36>>2]|0;switch(Mb[c[(c[o>>2]|0)+12>>2]&15](o,c[b+40>>2]|0,h,h+1|0,j,f,f+8|0,g)|0){case 1:case 2:{m=-1;break a;break}case 3:{a[f>>0]=c[n>>2];c[g>>2]=f+1;break}default:{}}o=b+32|0;while(1){p=c[g>>2]|0;if(p>>>0<=f>>>0)break b;q=p+-1|0;c[g>>2]=q;if((em(a[q>>0]|0,c[o>>2]|0)|0)==-1){m=-1;break a}}}while(0);c[n>>2]=d;a[k>>0]=1;m=d}while(0);i=e;return m|0}function tn(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;f=i;i=i+32|0;g=f+16|0;h=f+8|0;j=f+4|0;k=f;l=b+52|0;a:do if(a[l>>0]|0){m=b+48|0;n=c[m>>2]|0;if(e){c[m>>2]=-1;a[l>>0]=0;o=n}else o=n}else{n=c[b+44>>2]|0;m=(n|0)>1?n:1;n=b+32|0;if((m|0)>0){p=0;do{q=bm(c[n>>2]|0)|0;if((q|0)==-1){o=-1;break a}a[g+p>>0]=q;p=p+1|0}while((p|0)<(m|0))}b:do if(!(a[b+53>>0]|0)){p=b+40|0;q=b+36|0;r=h+1|0;s=m;c:while(1){t=c[p>>2]|0;u=t;v=c[u>>2]|0;w=c[u+4>>2]|0;u=c[q>>2]|0;x=g+s|0;switch(Mb[c[(c[u>>2]|0)+16>>2]&15](u,t,g,x,j,h,r,k)|0){case 2:{o=-1;break a;break}case 3:{y=s;break c;break}case 1:break;default:{z=s;break b}}t=c[p>>2]|0;c[t>>2]=v;c[t+4>>2]=w;if((s|0)==8){o=-1;break a}w=bm(c[n>>2]|0)|0;if((w|0)==-1){o=-1;break a}a[x>>0]=w;s=s+1|0}a[h>>0]=a[g>>0]|0;z=y}else{a[h>>0]=a[g>>0]|0;z=m}while(0);if(e){m=a[h>>0]|0;c[b+48>>2]=m&255;A=m}else{m=z;while(1){if((m|0)<=0)break;m=m+-1|0;if((em(d[g+m>>0]|0,c[n>>2]|0)|0)==-1){o=-1;break a}}A=a[h>>0]|0}o=A&255}while(0);i=f;return o|0}function un(a){a=a|0;return}function vn(a){a=a|0;var b=0;b=a+4|0;c[b>>2]=(c[b>>2]|0)+1;return}function wn(a){a=a|0;var b=0,d=0,e=0;b=a+4|0;d=c[b>>2]|0;c[b>>2]=d+-1;if(!d){Eb[c[(c[a>>2]|0)+8>>2]&255](a);e=1}else e=0;return e|0}function xn(a){a=a|0;var b=0;b=a+4|0;c[b>>2]=(c[b>>2]|0)+1;return}function yn(a){a=a|0;if(wn(a)|0)zn(a);return}function zn(a){a=a|0;var b=0,d=0;b=a+8|0;d=c[b>>2]|0;c[b>>2]=d+-1;if(!d)Eb[c[(c[a>>2]|0)+16>>2]&255](a);return}function An(a,b){a=a|0;b=b|0;return 0}function Bn(a,b){a=a|0;b=b|0;c[a>>2]=5104;Cn(a+4|0,b);return}function Cn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=um(b)|0;e=ek(d+13|0)|0;c[e>>2]=d;c[e+4>>2]=d;c[e+8>>2]=0;f=e+12|0;kx(f|0,b|0,d+1|0)|0;c[a>>2]=f;return}function Dn(a,b,d){a=a|0;b=b|0;d=d|0;qb(10892)|0;if((c[a>>2]|0)==1)do Ba(10920,10892)|0;while((c[a>>2]|0)==1);if(!(c[a>>2]|0)){c[a>>2]=1;$a(10892)|0;Eb[d&255](b);qb(10892)|0;c[a>>2]=-1;$a(10892)|0;fb(10920)|0}else $a(10892)|0;return}function En(b,d){b=b|0;d=d|0;if(!(a[d>>0]&1)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}else Fn(b,c[d+8>>2]|0,c[d+4>>2]|0);return}function Fn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(e>>>0>4294967279)bk(b);if(e>>>0<11){a[b>>0]=e<<1;f=b+1|0}else{g=e+16&-16;h=ek(g)|0;c[b+8>>2]=h;c[b>>2]=g|1;c[b+4>>2]=e;f=h}kx(f|0,d|0,e|0)|0;a[f+e>>0]=0;return}function Gn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(d>>>0>4294967279)bk(b);if(d>>>0<11){a[b>>0]=d<<1;f=b+1|0}else{g=d+16&-16;h=ek(g)|0;c[b+8>>2]=h;c[b>>2]=g|1;c[b+4>>2]=d;f=h}hx(f|0,e|0,d|0)|0;a[f+d>>0]=0;return}function Hn(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;g=a[d>>0]|0;h=(g&1)==0;i=h?(g&255)>>>1:c[d+4>>2]|0;if(i>>>0<e>>>0)Yk(b);else{g=i-e|0;Fn(b,(h?d+1|0:c[d+8>>2]|0)+e|0,g>>>0<f>>>0?g:f);return}}function In(b){b=b|0;if(a[b>>0]&1)gk(c[b+8>>2]|0);return}function Jn(b,d){b=b|0;d=d|0;var e=0,f=0;if((b|0)!=(d|0)){e=a[d>>0]|0;f=(e&1)==0;Ln(b,f?d+1|0:c[d+8>>2]|0,f?(e&255)>>>1:c[d+4>>2]|0)|0}return b|0}function Kn(a,b){a=a|0;b=b|0;return Ln(a,b,um(b)|0)|0}function Ln(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a[b>>0]|0;if(!(f&1)){g=10;h=f}else{f=c[b>>2]|0;g=(f&-2)+-1|0;h=f&255}f=(h&1)==0;do if(g>>>0>=e>>>0){if(f)i=b+1|0;else i=c[b+8>>2]|0;mx(i|0,d|0,e|0)|0;a[i+e>>0]=0;if(!(a[b>>0]&1)){a[b>>0]=e<<1;break}else{c[b+4>>2]=e;break}}else{if(f)j=(h&255)>>>1;else j=c[b+4>>2]|0;Sn(b,g,e-g|0,j,0,j,e,d)}while(0);return b|0}function Mn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;g=(f&1)==0;if(g)h=(f&255)>>>1;else h=c[b+4>>2]|0;do if(h>>>0>=d>>>0)if(g){a[b+1+d>>0]=0;a[b>>0]=d<<1;break}else{a[(c[b+8>>2]|0)+d>>0]=0;c[b+4>>2]=d;break}else Nn(b,d-h|0,e)|0;while(0);return}function Nn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if(d){f=a[b>>0]|0;if(!(f&1)){g=10;h=f}else{f=c[b>>2]|0;g=(f&-2)+-1|0;h=f&255}if(!(h&1))i=(h&255)>>>1;else i=c[b+4>>2]|0;if((g-i|0)>>>0<d>>>0){Tn(b,g,d-g+i|0,i,i,0,0);j=a[b>>0]|0}else j=h;if(!(j&1))k=b+1|0;else k=c[b+8>>2]|0;hx(k+i|0,e|0,d|0)|0;e=i+d|0;if(!(a[b>>0]&1))a[b>>0]=e<<1;else c[b+4>>2]=e;a[k+e>>0]=0}return b|0}function On(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(d>>>0>4294967279)bk(b);e=a[b>>0]|0;if(!(e&1)){f=10;g=e}else{e=c[b>>2]|0;f=(e&-2)+-1|0;g=e&255}if(!(g&1))h=(g&255)>>>1;else h=c[b+4>>2]|0;e=h>>>0>d>>>0?h:d;if(e>>>0<11)i=10;else i=(e+16&-16)+-1|0;do if((i|0)!=(f|0)){do if((i|0)!=10){e=ek(i+1|0)|0;if(!(g&1)){j=e;k=1;l=b+1|0;m=0;break}else{j=e;k=1;l=c[b+8>>2]|0;m=1;break}}else{j=b+1|0;k=0;l=c[b+8>>2]|0;m=1}while(0);if(!(g&1))n=(g&255)>>>1;else n=c[b+4>>2]|0;kx(j|0,l|0,n+1|0)|0;if(m)gk(l);if(k){c[b>>2]=i+1|1;c[b+4>>2]=h;c[b+8>>2]=j;break}else{a[b>>0]=h<<1;break}}while(0);return}function Pn(a,b){a=a|0;b=b|0;return Rn(a,b,um(b)|0)|0}function Qn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=a[b>>0]|0;f=(e&1)!=0;if(f){g=(c[b>>2]&-2)+-1|0;h=c[b+4>>2]|0}else{g=10;h=(e&255)>>>1}if((h|0)==(g|0)){Tn(b,g,1,g,g,0,0);if(!(a[b>>0]&1))i=7;else i=8}else if(f)i=8;else i=7;if((i|0)==7){a[b>>0]=(h<<1)+2;j=b+1|0;k=h+1|0}else if((i|0)==8){i=c[b+8>>2]|0;f=h+1|0;c[b+4>>2]=f;j=i;k=f}a[j+h>>0]=d;a[j+k>>0]=0;return}function Rn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a[b>>0]|0;if(!(f&1)){g=10;h=f}else{f=c[b>>2]|0;g=(f&-2)+-1|0;h=f&255}if(!(h&1))i=(h&255)>>>1;else i=c[b+4>>2]|0;if((g-i|0)>>>0>=e>>>0){if(e){if(!(h&1))j=b+1|0;else j=c[b+8>>2]|0;kx(j+i|0,d|0,e|0)|0;h=i+e|0;if(!(a[b>>0]&1))a[b>>0]=h<<1;else c[b+4>>2]=h;a[j+h>>0]=0}}else Sn(b,g,e-g+i|0,i,i,0,e,d);return b|0}function Sn(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;if((-18-d|0)>>>0<e>>>0)bk(b);if(!(a[b>>0]&1))k=b+1|0;else k=c[b+8>>2]|0;if(d>>>0<2147483623){l=e+d|0;e=d<<1;m=l>>>0<e>>>0?e:l;n=m>>>0<11?11:m+16&-16}else n=-17;m=ek(n)|0;if(g)kx(m|0,k|0,g|0)|0;if(i)kx(m+g|0,j|0,i|0)|0;j=f-h|0;if((j|0)!=(g|0))kx(m+(i+g)|0,k+(h+g)|0,j-g|0)|0;if((d|0)!=10)gk(k);c[b+8>>2]=m;c[b>>2]=n|1;n=j+i|0;c[b+4>>2]=n;a[m+n>>0]=0;return}function Tn(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((-17-d|0)>>>0<e>>>0)bk(b);if(!(a[b>>0]&1))j=b+1|0;else j=c[b+8>>2]|0;if(d>>>0<2147483623){k=e+d|0;e=d<<1;l=k>>>0<e>>>0?e:k;m=l>>>0<11?11:l+16&-16}else m=-17;l=ek(m)|0;if(g)kx(l|0,j|0,g|0)|0;k=f-h|0;if((k|0)!=(g|0))kx(l+(i+g)|0,j+(h+g)|0,k-g|0)|0;if((d|0)!=10)gk(j);c[b+8>>2]=l;c[b>>2]=m|1;return}function Un(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a[b>>0]|0;h=(g&1)==0;if(h)i=(g&255)>>>1;else i=c[b+4>>2]|0;if(i>>>0<d>>>0)Yk(b);if(h){j=10;k=g}else{g=c[b>>2]|0;j=(g&-2)+-1|0;k=g&255}if((j-i|0)>>>0>=f>>>0){if(f){if(!(k&1))l=b+1|0;else l=c[b+8>>2]|0;if((i|0)==(d|0)){m=e;n=l+d|0}else{k=l+d|0;mx(l+(f+d)|0,k|0,i-d|0)|0;m=k>>>0<=e>>>0&(l+i|0)>>>0>e>>>0?e+f|0:e;n=k}mx(n|0,m|0,f|0)|0;m=i+f|0;if(!(a[b>>0]&1))a[b>>0]=m<<1;else c[b+4>>2]=m;a[l+m>>0]=0}}else Sn(b,j,i+f-j|0,i,d,0,f,e);return b|0}function Vn(a,b,c){a=a|0;b=b|0;c=c|0;return Un(a,b,c,um(c)|0)|0}function Wn(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=a[b>>0]|0;i=(h&1)==0;if(i)j=(h&255)>>>1;else j=c[b+4>>2]|0;if((g|0)==-1|j>>>0<d>>>0)Yk(b);h=j-d|0;j=h>>>0<e>>>0?h:e;if(i)k=b+1|0;else k=c[b+8>>2]|0;b=j>>>0>g>>>0;i=rm(k+d|0,f,b?g:j)|0;if(!i)if(j>>>0<g>>>0)l=-1;else return b&1|0;else l=i;return l|0}function Xn(a,b){a=a|0;b=b|0;return Wn(a,0,-1,b,um(b)|0)|0}function Yn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;if(f>>>0>4294967279)bk(b);if(f>>>0<11){a[b>>0]=e<<1;g=b+1|0}else{h=f+16&-16;f=ek(h)|0;c[b+8>>2]=f;c[b>>2]=h|1;c[b+4>>2]=e;g=f}kx(g|0,d|0,e|0)|0;a[g+e>>0]=0;return}function Zn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(e>>>0>1073741807)bk(b);if(e>>>0<2){a[b>>0]=e<<1;f=b+4|0}else{g=e+4&-4;h=ek(g<<2)|0;c[b+8>>2]=h;c[b>>2]=g|1;c[b+4>>2]=e;f=h}wm(f,d,e)|0;c[f+(e<<2)>>2]=0;return}function _n(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(d>>>0>1073741807)bk(b);if(d>>>0<2){a[b>>0]=d<<1;f=b+4|0}else{g=d+4&-4;h=ek(g<<2)|0;c[b+8>>2]=h;c[b>>2]=g|1;c[b+4>>2]=d;f=h}ym(f,e,d)|0;c[f+(d<<2)>>2]=0;return}function $n(b){b=b|0;if(a[b>>0]&1)gk(c[b+8>>2]|0);return}function ao(a,b){a=a|0;b=b|0;return bo(a,b,vm(b)|0)|0}function bo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a[b>>0]|0;if(!(f&1)){g=1;h=f}else{f=c[b>>2]|0;g=(f&-2)+-1|0;h=f&255}f=(h&1)==0;do if(g>>>0>=e>>>0){if(f)i=b+4|0;else i=c[b+8>>2]|0;xm(i,d,e)|0;c[i+(e<<2)>>2]=0;if(!(a[b>>0]&1)){a[b>>0]=e<<1;break}else{c[b+4>>2]=e;break}}else{if(f)j=(h&255)>>>1;else j=c[b+4>>2]|0;fo(b,g,e-g|0,j,0,j,e,d)}while(0);return b|0}function co(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(d>>>0>1073741807)bk(b);e=a[b>>0]|0;if(!(e&1)){f=1;g=e}else{e=c[b>>2]|0;f=(e&-2)+-1|0;g=e&255}if(!(g&1))h=(g&255)>>>1;else h=c[b+4>>2]|0;e=h>>>0>d>>>0?h:d;if(e>>>0<2)i=1;else i=(e+4&-4)+-1|0;do if((i|0)!=(f|0)){do if((i|0)!=1){e=ek((i<<2)+4|0)|0;if(!(g&1)){j=e;k=1;l=b+4|0;m=0;break}else{j=e;k=1;l=c[b+8>>2]|0;m=1;break}}else{j=b+4|0;k=0;l=c[b+8>>2]|0;m=1}while(0);if(!(g&1))n=(g&255)>>>1;else n=c[b+4>>2]|0;wm(j,l,n+1|0)|0;if(m)gk(l);if(k){c[b>>2]=i+1|1;c[b+4>>2]=h;c[b+8>>2]=j;break}else{a[b>>0]=h<<1;break}}while(0);return}function eo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=a[b>>0]|0;f=(e&1)!=0;if(f){g=(c[b>>2]&-2)+-1|0;h=c[b+4>>2]|0}else{g=1;h=(e&255)>>>1}if((h|0)==(g|0)){go(b,g,1,g,g,0,0);if(!(a[b>>0]&1))i=7;else i=8}else if(f)i=8;else i=7;if((i|0)==7){a[b>>0]=(h<<1)+2;j=b+4|0;k=h+1|0}else if((i|0)==8){i=c[b+8>>2]|0;f=h+1|0;c[b+4>>2]=f;j=i;k=f}c[j+(h<<2)>>2]=d;c[j+(k<<2)>>2]=0;return}function fo(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;if((1073741806-d|0)>>>0<e>>>0)bk(b);if(!(a[b>>0]&1))k=b+4|0;else k=c[b+8>>2]|0;if(d>>>0<536870887){l=e+d|0;e=d<<1;m=l>>>0<e>>>0?e:l;n=m>>>0<2?2:m+4&-4}else n=1073741807;m=ek(n<<2)|0;if(g)wm(m,k,g)|0;if(i)wm(m+(g<<2)|0,j,i)|0;j=f-h|0;if((j|0)!=(g|0))wm(m+(i+g<<2)|0,k+(h+g<<2)|0,j-g|0)|0;if((d|0)!=1)gk(k);c[b+8>>2]=m;c[b>>2]=n|1;n=j+i|0;c[b+4>>2]=n;c[m+(n<<2)>>2]=0;return}function go(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((1073741807-d|0)>>>0<e>>>0)bk(b);if(!(a[b>>0]&1))j=b+4|0;else j=c[b+8>>2]|0;if(d>>>0<536870887){k=e+d|0;e=d<<1;l=k>>>0<e>>>0?e:k;m=l>>>0<2?2:l+4&-4}else m=1073741807;l=ek(m<<2)|0;if(g)wm(l,j,g)|0;k=f-h|0;if((k|0)!=(g|0))wm(l+(i+g<<2)|0,j+(h+g<<2)|0,k-g|0)|0;if((d|0)!=1)gk(j);c[b+8>>2]=l;c[b>>2]=m|1;return}function ho(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=d;g=e-f|0;if(g>>>0>4294967279)bk(b);if(g>>>0<11){a[b>>0]=g<<1;h=b+1|0}else{i=g+16&-16;j=ek(i)|0;c[b+8>>2]=j;c[b>>2]=i|1;c[b+4>>2]=g;h=j}j=e-f|0;if((d|0)!=(e|0)){f=d;d=h;while(1){a[d>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else d=d+1|0}}a[h+j>>0]=0;return}function io(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=d;g=e-f|0;h=g>>2;if(h>>>0>1073741807)bk(b);if(h>>>0<2){a[b>>0]=g>>>1;i=b+4|0}else{g=h+4&-4;j=ek(g<<2)|0;c[b+8>>2]=j;c[b>>2]=g|1;c[b+4>>2]=h;i=j}j=(e-f|0)>>>2;if((d|0)!=(e|0)){f=d;d=i;while(1){c[d>>2]=c[f>>2];f=f+4|0;if((f|0)==(e|0))break;else d=d+4|0}}c[i+(j<<2)>>2]=0;return}function jo(a,b){a=a|0;b=b|0;c[a+16>>2]=(c[a+24>>2]|0)==0|b;return}function ko(a){a=a|0;lo(a);return}function lo(a){a=a|0;c[a>>2]=11264;no(a,0);Jt(a+28|0);Mm(c[a+32>>2]|0);Mm(c[a+36>>2]|0);Mm(c[a+48>>2]|0);Mm(c[a+60>>2]|0);return}function mo(a){a=a|0;lo(a);gk(a);return}function no(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[a+40>>2]|0;e=a+32|0;f=a+36|0;if(d){g=d;do{g=g+-1|0;Kb[c[(c[e>>2]|0)+(g<<2)>>2]&7](b,a,c[(c[f>>2]|0)+(g<<2)>>2]|0)}while((g|0)!=0)}return}function oo(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;It(d,a+28|0);i=b;return c[d>>2]|0}function po(a,b){a=a|0;b=b|0;var d=0;c[a+24>>2]=b;c[a+16>>2]=(b|0)==0&1;c[a+20>>2]=0;c[a+4>>2]=4098;c[a+12>>2]=0;c[a+8>>2]=6;b=a+28|0;d=a+32|0;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));Ht(b);return}function qo(a){a=a|0;c[a>>2]=10976;Jt(a+4|0);return}function ro(a){a=a|0;c[a>>2]=10976;Jt(a+4|0);gk(a);return}function so(a){a=a|0;var b=0;c[a>>2]=10976;Ht(a+4|0);b=a+8|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;return}function to(a,b){a=a|0;b=b|0;return}function uo(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function vo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function wo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function xo(a){a=a|0;return 0}function yo(a){a=a|0;return 0}function zo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=b+12|0;g=b+16|0;a:do if((e|0)>0){h=d;i=0;while(1){j=c[f>>2]|0;if(j>>>0<(c[g>>2]|0)>>>0){c[f>>2]=j+1;k=a[j>>0]|0}else{j=Hb[c[(c[b>>2]|0)+40>>2]&127](b)|0;if((j|0)==-1){l=i;break a}k=j&255}a[h>>0]=k;j=i+1|0;if((j|0)<(e|0)){h=h+1|0;i=j}else{l=j;break}}}else l=0;while(0);return l|0}function Ao(a){a=a|0;return -1}function Bo(a){a=a|0;var b=0,e=0;if((Hb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1)b=-1;else{e=a+12|0;a=c[e>>2]|0;c[e>>2]=a+1;b=d[a>>0]|0}return b|0}function Co(a,b){a=a|0;b=b|0;return -1}function Do(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+24|0;h=b+28|0;a:do if((f|0)>0){i=e;j=0;while(1){k=c[g>>2]|0;if(k>>>0>=(c[h>>2]|0)>>>0){if((Pb[c[(c[b>>2]|0)+52>>2]&63](b,d[i>>0]|0)|0)==-1){l=j;break a}}else{m=a[i>>0]|0;c[g>>2]=k+1;a[k>>0]=m}m=j+1|0;if((m|0)<(f|0)){i=i+1|0;j=m}else{l=m;break}}}else l=0;while(0);return l|0}function Eo(a,b){a=a|0;b=b|0;return -1}function Fo(a){a=a|0;c[a>>2]=11040;Jt(a+4|0);return}function Go(a){a=a|0;c[a>>2]=11040;Jt(a+4|0);gk(a);return}function Ho(a){a=a|0;var b=0;c[a>>2]=11040;Ht(a+4|0);b=a+8|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;return}function Io(a,b){a=a|0;b=b|0;return}function Jo(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function Ko(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function Lo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function Mo(a){a=a|0;return 0}function No(a){a=a|0;return 0}function Oo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+12|0;f=a+16|0;a:do if((d|0)>0){g=b;h=0;while(1){i=c[e>>2]|0;if(i>>>0>=(c[f>>2]|0)>>>0){j=Hb[c[(c[a>>2]|0)+40>>2]&127](a)|0;if((j|0)==-1){k=h;break a}else l=j}else{c[e>>2]=i+4;l=c[i>>2]|0}c[g>>2]=l;i=h+1|0;if((i|0)<(d|0)){g=g+4|0;h=i}else{k=i;break}}}else k=0;while(0);return k|0}function Po(a){a=a|0;return -1}function Qo(a){a=a|0;var b=0,d=0;if((Hb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1)b=-1;else{d=a+12|0;a=c[d>>2]|0;c[d>>2]=a+4;b=c[a>>2]|0}return b|0}function Ro(a,b){a=a|0;b=b|0;return -1}function So(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=a+24|0;f=a+28|0;a:do if((d|0)>0){g=b;h=0;while(1){i=c[e>>2]|0;if(i>>>0>=(c[f>>2]|0)>>>0){if((Pb[c[(c[a>>2]|0)+52>>2]&63](a,c[g>>2]|0)|0)==-1){j=h;break a}}else{k=c[g>>2]|0;c[e>>2]=i+4;c[i>>2]=k}k=h+1|0;if((k|0)<(d|0)){g=g+4|0;h=k}else{j=k;break}}}else j=0;while(0);return j|0}function To(a,b){a=a|0;b=b|0;return -1}function Uo(a){a=a|0;lo(a+8|0);return}function Vo(a){a=a|0;lo(a+((c[(c[a>>2]|0)+-12>>2]|0)+8)|0);return}function Wo(a){a=a|0;lo(a+8|0);gk(a);return}function Xo(a){a=a|0;Wo(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Yo(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;if(c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0){gp(e,b);if((a[e>>0]|0)!=0?(f=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0,(Hb[c[(c[f>>2]|0)+24>>2]&127](f)|0)==-1):0){f=b+((c[(c[b>>2]|0)+-12>>2]|0)+16)|0;c[f>>2]=c[f>>2]|1}hp(e)}i=d;return b|0}function Zo(a){a=a|0;lo(a+8|0);return}function _o(a){a=a|0;lo(a+((c[(c[a>>2]|0)+-12>>2]|0)+8)|0);return}function $o(a){a=a|0;lo(a+8|0);gk(a);return}function ap(a){a=a|0;$o(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function bp(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;if(c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0){rp(e,b);if((a[e>>0]|0)!=0?(f=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0,(Hb[c[(c[f>>2]|0)+24>>2]&127](f)|0)==-1):0){f=b+((c[(c[b>>2]|0)+-12>>2]|0)+16)|0;c[f>>2]=c[f>>2]|1}sp(e)}i=d;return b|0}function cp(a){a=a|0;lo(a+4|0);return}function dp(a){a=a|0;lo(a+((c[(c[a>>2]|0)+-12>>2]|0)+4)|0);return}function ep(a){a=a|0;lo(a+4|0);gk(a);return}function fp(a){a=a|0;ep(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function gp(b,d){b=b|0;d=d|0;var e=0,f=0;a[b>>0]=0;c[b+4>>2]=d;e=c[(c[d>>2]|0)+-12>>2]|0;if(!(c[d+(e+16)>>2]|0)){f=c[d+(e+72)>>2]|0;if(f)Yo(f)|0;a[b>>0]=1}return}function hp(a){a=a|0;var b=0,d=0;b=a+4|0;a=c[b>>2]|0;d=c[(c[a>>2]|0)+-12>>2]|0;if(((((c[a+(d+24)>>2]|0)!=0?(c[a+(d+16)>>2]|0)==0:0)?(c[a+(d+4)>>2]&8192|0)!=0:0)?!(Va()|0):0)?(d=c[b>>2]|0,a=c[d+((c[(c[d>>2]|0)+-12>>2]|0)+24)>>2]|0,(Hb[c[(c[a>>2]|0)+24>>2]&127](a)|0)==-1):0){a=c[b>>2]|0;b=a+((c[(c[a>>2]|0)+-12>>2]|0)+16)|0;c[b>>2]=c[b>>2]|1}return}function ip(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+32|0;f=e+16|0;g=e+4|0;h=e+8|0;j=e;gp(h,b);if(a[h>>0]|0){c[j>>2]=oo(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;k=Lt(j,11548)|0;Jt(j);j=c[(c[b>>2]|0)+-12>>2]|0;l=c[b+(j+24)>>2]|0;m=b+j|0;n=b+(j+76)|0;j=c[n>>2]|0;if((j|0)==-1){c[f>>2]=oo(m)|0;o=Lt(f,12376)|0;p=Pb[c[(c[o>>2]|0)+28>>2]&63](o,32)|0;Jt(f);o=p<<24>>24;c[n>>2]=o;q=o}else q=j;j=c[(c[k>>2]|0)+16>>2]|0;c[g>>2]=l;c[f>>2]=c[g>>2];if(!(Rb[j&31](k,f,m,q&255,d)|0)){d=b+((c[(c[b>>2]|0)+-12>>2]|0)+16)|0;c[d>>2]=c[d>>2]|5}}hp(h);i=e;return b|0}function jp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+32|0;f=e+16|0;g=e+4|0;h=e+8|0;j=e;gp(h,b);if(a[h>>0]|0){c[j>>2]=oo(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;k=Lt(j,11548)|0;Jt(j);j=c[(c[b>>2]|0)+-12>>2]|0;l=c[b+(j+24)>>2]|0;m=b+j|0;n=b+(j+76)|0;j=c[n>>2]|0;if((j|0)==-1){c[f>>2]=oo(m)|0;o=Lt(f,12376)|0;p=Pb[c[(c[o>>2]|0)+28>>2]&63](o,32)|0;Jt(f);o=p<<24>>24;c[n>>2]=o;q=o}else q=j;j=c[(c[k>>2]|0)+24>>2]|0;c[g>>2]=l;c[f>>2]=c[g>>2];if(!(Rb[j&31](k,f,m,q&255,d)|0)){d=b+((c[(c[b>>2]|0)+-12>>2]|0)+16)|0;c[d>>2]=c[d>>2]|5}}hp(h);i=e;return b|0}function kp(b,d){b=b|0;d=+d;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+32|0;f=e+16|0;g=e+4|0;h=e+8|0;j=e;gp(h,b);if(a[h>>0]|0){c[j>>2]=oo(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;k=Lt(j,11548)|0;Jt(j);j=c[(c[b>>2]|0)+-12>>2]|0;l=c[b+(j+24)>>2]|0;m=b+j|0;n=b+(j+76)|0;j=c[n>>2]|0;if((j|0)==-1){c[f>>2]=oo(m)|0;o=Lt(f,12376)|0;p=Pb[c[(c[o>>2]|0)+28>>2]&63](o,32)|0;Jt(f);o=p<<24>>24;c[n>>2]=o;q=o}else q=j;j=c[(c[k>>2]|0)+32>>2]|0;c[g>>2]=l;c[f>>2]=c[g>>2];if(!(Qb[j&7](k,f,m,q&255,d)|0)){q=b+((c[(c[b>>2]|0)+-12>>2]|0)+16)|0;c[q>>2]=c[q>>2]|5}}hp(h);i=e;return b|0}function lp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+32|0;f=e+16|0;g=e+4|0;h=e+8|0;j=e;gp(h,b);if(a[h>>0]|0){c[j>>2]=oo(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;k=Lt(j,11548)|0;Jt(j);j=c[(c[b>>2]|0)+-12>>2]|0;l=c[b+(j+24)>>2]|0;m=b+j|0;n=b+(j+76)|0;j=c[n>>2]|0;if((j|0)==-1){c[f>>2]=oo(m)|0;o=Lt(f,12376)|0;p=Pb[c[(c[o>>2]|0)+28>>2]&63](o,32)|0;Jt(f);o=p<<24>>24;c[n>>2]=o;q=o}else q=j;j=c[(c[k>>2]|0)+40>>2]|0;c[g>>2]=l;c[f>>2]=c[g>>2];if(!(Rb[j&31](k,f,m,q&255,d)|0)){d=b+((c[(c[b>>2]|0)+-12>>2]|0)+16)|0;c[d>>2]=c[d>>2]|5}}hp(h);i=e;return b|0}function mp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e;gp(f,b);a:do if(a[f>>0]|0){g=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;h=g;do if(g){j=h+24|0;k=c[j>>2]|0;if((k|0)==(c[h+28>>2]|0))if((Pb[c[(c[g>>2]|0)+52>>2]&63](h,d&255)|0)==-1)break;else break a;else{c[j>>2]=k+1;a[k>>0]=d;break a}}while(0);h=b+((c[(c[b>>2]|0)+-12>>2]|0)+16)|0;c[h>>2]=c[h>>2]|1}while(0);hp(f);i=e;return b|0}function np(a){a=a|0;lo(a+4|0);return}function op(a){a=a|0;lo(a+((c[(c[a>>2]|0)+-12>>2]|0)+4)|0);return}function pp(a){a=a|0;lo(a+4|0);gk(a);return}function qp(a){a=a|0;pp(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function rp(b,d){b=b|0;d=d|0;var e=0,f=0;a[b>>0]=0;c[b+4>>2]=d;e=c[(c[d>>2]|0)+-12>>2]|0;if(!(c[d+(e+16)>>2]|0)){f=c[d+(e+72)>>2]|0;if(f)bp(f)|0;a[b>>0]=1}return}function sp(a){a=a|0;var b=0,d=0;b=a+4|0;a=c[b>>2]|0;d=c[(c[a>>2]|0)+-12>>2]|0;if(((((c[a+(d+24)>>2]|0)!=0?(c[a+(d+16)>>2]|0)==0:0)?(c[a+(d+4)>>2]&8192|0)!=0:0)?!(Va()|0):0)?(d=c[b>>2]|0,a=c[d+((c[(c[d>>2]|0)+-12>>2]|0)+24)>>2]|0,(Hb[c[(c[a>>2]|0)+24>>2]&127](a)|0)==-1):0){a=c[b>>2]|0;b=a+((c[(c[a>>2]|0)+-12>>2]|0)+16)|0;c[b>>2]=c[b>>2]|1}return}function tp(a,b){a=a|0;b=b|0;return}function up(a){a=a|0;lo(a+12|0);return}function vp(a){a=a|0;lo(a+-8+12|0);return}function wp(a){a=a|0;lo(a+((c[(c[a>>2]|0)+-12>>2]|0)+12)|0);return}function xp(a){a=a|0;lo(a+12|0);gk(a);return}function yp(a){a=a|0;xp(a+-8|0);return}function zp(a){a=a|0;xp(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Ap(a){a=a|0;lo(a);gk(a);return}function Bp(a){a=a|0;var b=0;b=a+16|0;c[b>>2]=c[b>>2]|1;return}function Cp(a){a=a|0;return}function Dp(a){a=a|0;return}function Ep(a){a=a|0;gk(a);return}function Fp(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;a:do if((e|0)==(f|0)){g=c;h=6}else{b=e;i=c;while(1){if((i|0)==(d|0)){j=-1;break a}k=a[i>>0]|0;l=a[b>>0]|0;if(k<<24>>24<l<<24>>24){j=-1;break a}if(l<<24>>24<k<<24>>24){j=1;break a}k=i+1|0;b=b+1|0;if((b|0)==(f|0)){g=k;h=6;break}else i=k}}while(0);if((h|0)==6)j=(g|0)!=(d|0)&1;return j|0}function Gp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ho(a,c,d);return}function Hp(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;if((c|0)==(d|0))e=0;else{b=0;f=c;while(1){c=(a[f>>0]|0)+(b<<4)|0;g=c&-268435456;h=(g>>>24|g)^c;f=f+1|0;if((f|0)==(d|0)){e=h;break}else b=h}}return e|0}function Ip(a){a=a|0;return}function Jp(a){a=a|0;gk(a);return}function Kp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;a:do if((e|0)==(f|0)){g=b;h=6}else{a=e;i=b;while(1){if((i|0)==(d|0)){j=-1;break a}k=c[i>>2]|0;l=c[a>>2]|0;if((k|0)<(l|0)){j=-1;break a}if((l|0)<(k|0)){j=1;break a}k=i+4|0;a=a+4|0;if((a|0)==(f|0)){g=k;h=6;break}else i=k}}while(0);if((h|0)==6)j=(g|0)!=(d|0)&1;return j|0}function Lp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;io(a,c,d);return}function Mp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if((b|0)==(d|0))e=0;else{a=0;f=b;while(1){b=(c[f>>2]|0)+(a<<4)|0;g=b&-268435456;h=(g>>>24|g)^b;f=f+4|0;if((f|0)==(d|0)){e=h;break}else a=h}}return e|0}function Np(a){a=a|0;return}function Op(a){a=a|0;gk(a);return}function Pp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;j=i;i=i+64|0;k=j+56|0;l=j+52|0;m=j+48|0;n=j+44|0;o=j+40|0;p=j+36|0;q=j+32|0;r=j+8|0;s=j;a:do if(!(c[f+4>>2]&1)){c[m>>2]=-1;t=c[(c[b>>2]|0)+16>>2]|0;c[n>>2]=c[d>>2];c[o>>2]=c[e>>2];c[l>>2]=c[n>>2];c[k>>2]=c[o>>2];u=Gb[t&63](b,l,k,f,g,m)|0;c[d>>2]=u;switch(c[m>>2]|0){case 0:{a[h>>0]=0;v=u;break a;break}case 1:{a[h>>0]=1;v=u;break a;break}default:{a[h>>0]=1;c[g>>2]=4;v=u;break a}}}else{u=oo(f)|0;c[p>>2]=u;t=Lt(p,12376)|0;wn(u)|0;u=oo(f)|0;c[q>>2]=u;w=Lt(q,12516)|0;wn(u)|0;Fb[c[(c[w>>2]|0)+24>>2]&127](r,w);Fb[c[(c[w>>2]|0)+28>>2]&127](r+12|0,w);c[s>>2]=c[e>>2];c[k>>2]=c[s>>2];a[h>>0]=(xv(d,k,r,r+24|0,t,g,1)|0)==(r|0)&1;t=c[d>>2]|0;In(r+12|0);In(r);v=t}while(0);i=j;return v|0}function Qp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;l=h+4|0;m=h;c[l>>2]=c[b>>2];c[m>>2]=c[d>>2];c[k>>2]=c[l>>2];c[j>>2]=c[m>>2];m=yv(a,k,j,e,f,g)|0;i=h;return m|0}function Rp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;l=h+4|0;m=h;c[l>>2]=c[b>>2];c[m>>2]=c[d>>2];c[k>>2]=c[l>>2];c[j>>2]=c[m>>2];m=zv(a,k,j,e,f,g)|0;i=h;return m|0}function Sp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;l=h+4|0;m=h;c[l>>2]=c[b>>2];c[m>>2]=c[d>>2];c[k>>2]=c[l>>2];c[j>>2]=c[m>>2];m=Av(a,k,j,e,f,g)|0;i=h;return m|0}function Tp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;l=h+4|0;m=h;c[l>>2]=c[b>>2];c[m>>2]=c[d>>2];c[k>>2]=c[l>>2];c[j>>2]=c[m>>2];m=Bv(a,k,j,e,f,g)|0;i=h;return m|0}function Up(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;l=h+4|0;m=h;c[l>>2]=c[b>>2];c[m>>2]=c[d>>2];c[k>>2]=c[l>>2];c[j>>2]=c[m>>2];m=Cv(a,k,j,e,f,g)|0;i=h;return m|0}function Vp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;l=h+4|0;m=h;c[l>>2]=c[b>>2];c[m>>2]=c[d>>2];c[k>>2]=c[l>>2];c[j>>2]=c[m>>2];m=Dv(a,k,j,e,f,g)|0;i=h;return m|0}function Wp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;l=h+4|0;m=h;c[l>>2]=c[b>>2];c[m>>2]=c[d>>2];c[k>>2]=c[l>>2];c[j>>2]=c[m>>2];m=Ev(a,k,j,e,f,g)|0;i=h;return m|0}function Xp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;l=h+4|0;m=h;c[l>>2]=c[b>>2];c[m>>2]=c[d>>2];c[k>>2]=c[l>>2];c[j>>2]=c[m>>2];m=Fv(a,k,j,e,f,g)|0;i=h;return m|0}function Yp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;l=h+4|0;m=h;c[l>>2]=c[b>>2];c[m>>2]=c[d>>2];c[k>>2]=c[l>>2];c[j>>2]=c[m>>2];m=Gv(a,k,j,e,f,g)|0;i=h;return m|0}function Zp(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;b=i;i=i+240|0;k=b;l=b+208|0;m=b+32|0;n=b+28|0;o=b+16|0;p=b+12|0;q=b+48|0;r=b+8|0;s=b+4|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;t=oo(g)|0;c[n>>2]=t;g=Lt(n,12376)|0;Nb[c[(c[g>>2]|0)+32>>2]&15](g,31066,31092,l)|0;wn(t)|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;if(!(a[o>>0]&1))u=10;else u=(c[o>>2]&-2)+-1|0;Mn(o,u,0);u=o+8|0;t=o+1|0;g=(a[o>>0]&1)==0?t:c[u>>2]|0;c[p>>2]=g;c[r>>2]=q;c[s>>2]=0;n=o+4|0;v=c[e>>2]|0;w=g;a:while(1){if(v)if((c[v+12>>2]|0)==(c[v+16>>2]|0)?(Hb[c[(c[v>>2]|0)+36>>2]&127](v)|0)==-1:0){c[e>>2]=0;x=0}else x=v;else x=0;g=(x|0)==0;y=c[f>>2]|0;do if(y){if((c[y+12>>2]|0)!=(c[y+16>>2]|0))if(g){z=y;break}else{A=x;B=y;C=w;break a}if((Hb[c[(c[y>>2]|0)+36>>2]&127](y)|0)!=-1)if(g){z=y;break}else{A=x;B=y;C=w;break a}else{c[f>>2]=0;D=13;break}}else D=13;while(0);if((D|0)==13){D=0;if(g){A=x;B=0;C=w;break}else z=0}y=a[o>>0]|0;E=(y&1)==0?(y&255)>>>1:c[n>>2]|0;if((c[p>>2]|0)==(w+E|0)){Mn(o,E<<1,0);if(!(a[o>>0]&1))F=10;else F=(c[o>>2]&-2)+-1|0;Mn(o,F,0);y=(a[o>>0]&1)==0?t:c[u>>2]|0;c[p>>2]=y+E;G=y}else G=w;y=x+12|0;E=c[y>>2]|0;H=x+16|0;if((E|0)==(c[H>>2]|0))I=Hb[c[(c[x>>2]|0)+36>>2]&127](x)|0;else I=d[E>>0]|0;if(_p(I&255,16,G,p,s,0,m,q,r,l)|0){A=x;B=z;C=G;break}E=c[y>>2]|0;if((E|0)==(c[H>>2]|0)){Hb[c[(c[x>>2]|0)+40>>2]&127](x)|0;v=x;w=G;continue}else{c[y>>2]=E+1;v=x;w=G;continue}}Mn(o,(c[p>>2]|0)-C|0,0);C=(a[o>>0]&1)==0?t:c[u>>2]|0;u=$p()|0;c[k>>2]=j;if((Hv(C,u,32450,k)|0)!=1)c[h>>2]=4;if(A)if((c[A+12>>2]|0)==(c[A+16>>2]|0)?(Hb[c[(c[A>>2]|0)+36>>2]&127](A)|0)==-1:0){c[e>>2]=0;J=0}else J=A;else J=0;A=(J|0)==0;do if(B){if((c[B+12>>2]|0)==(c[B+16>>2]|0)?(Hb[c[(c[B>>2]|0)+36>>2]&127](B)|0)==-1:0){c[f>>2]=0;D=37;break}if(!A)D=38}else D=37;while(0);if((D|0)==37?A:0)D=38;if((D|0)==38)c[h>>2]=c[h>>2]|2;h=c[e>>2]|0;In(o);In(m);i=b;return h|0} function eg(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,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,Aa=0;e=i;i=i+80|0;f=e+64|0;h=e+56|0;j=e+40|0;k=e+32|0;l=e+24|0;m=e+8|0;n=e;o=b+28|0;if(!(c[o>>2]|0))p=b+44|0;else{q=b+32|0;r=b+44|0;s=b+24|0;t=0;while(1){u=c[(c[q>>2]|0)+(t<<2)>>2]|0;v=c[(c[r>>2]|0)+(t<<2)>>2]|0;w=c[s>>2]|0;x=c[u+8>>2]|0;y=u+12|0;z=c[y>>2]|0;if((x|0)<=(z|0))if((x|0)<(z|0))A=x-z+(c[u+16>>2]|0)|0;else A=0;else A=x-z|0;if((w|0)>(A|0)){hx(v+(A<<2)|0,0,w-A<<2|0)|0;B=A}else B=w;a:do if(B){w=c[y>>2]|0;z=c[u+16>>2]|0;x=z-w|0;C=c[u+4>>2]|0;if((B|0)<=(x|0)){if((B|0)>0)D=0;else break;while(1){c[v+(D<<2)>>2]=c[C+(D+w<<2)>>2];D=D+1|0;if((D|0)==(B|0))break a}}if((x|0)>0){E=0;do{c[v+(E<<2)>>2]=c[C+(E+w<<2)>>2];E=E+1|0}while((E|0)!=(x|0))}E=w+B-z|0;F=0;do{c[v+(F+x<<2)>>2]=c[C+(F<<2)>>2];F=F+1|0}while((F|0)!=(E|0))}while(0);t=t+1|0;if(t>>>0>=(c[o>>2]|0)>>>0){p=r;break}}}r=b+52|0;yh(h,c[r>>2]|0,~~(+g[b+48>>2]+.5));t=c[b>>2]|0;B=c[(c[t>>2]|0)+96>>2]|0;D=c[p>>2]|0;c[k>>2]=c[h>>2];p=h+4|0;c[k+4>>2]=c[p>>2];Ob[B&15](j,t,D,k);k=c[b>>2]|0;b:do if((k|0)!=0?(D=Hk(k,224,296,0)|0,(D|0)!=0):0){t=D;while(1){if((t|0)!=0?(D=Hk(t,296,272,0)|0,(D|0)!=0):0){G=D;break}D=c[t+8>>2]|0;if(!D){H=0;I=0;break b}t=Hk(D,224,296,0)|0;if(!t){H=0;I=0;break b}}Lg(l,G);H=c[l>>2]|0;I=c[l+4>>2]|0}else{H=0;I=0}while(0);l=c[j>>2]|0;G=j+4|0;if((l|0)!=(G|0)){k=b+72|0;t=b+76|0;D=t;B=b+76|0;A=b+80|0;s=m+4|0;q=b+60|0;v=d+4|0;u=v;y=d+4|0;E=d+8|0;F=n+4|0;C=l;while(1){l=c[C+16>>2]|0;x=c[t>>2]|0;do if(x){z=x;while(1){w=c[z+16>>2]|0;if((l|0)<(w|0)){J=c[z>>2]|0;if(!J){K=z;L=z;M=34;break}else N=J}else{if((w|0)>=(l|0)){O=z;M=40;break}w=z+4|0;J=c[w>>2]|0;if(!J){P=w;Q=z;M=38;break}else N=J}z=N}if((M|0)==34){M=0;c[f>>2]=L;R=K;S=L;M=41;break}else if((M|0)==38){M=0;c[f>>2]=Q;R=P;S=Q;M=41;break}else if((M|0)==40){M=0;c[f>>2]=O;if(!O){R=f;S=O;M=41;break}else{T=O;break}}}else{c[f>>2]=t;R=t;S=D;M=41}while(0);if((M|0)==41){M=0;x=ek(24)|0;c[x+16>>2]=l;a[x+20>>0]=0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=S;c[R>>2]=x;z=c[c[k>>2]>>2]|0;if(!z)U=x;else{c[k>>2]=z;U=c[R>>2]|0}xc(c[B>>2]|0,U);c[A>>2]=(c[A>>2]|0)+1;T=x}if(!(a[T+20>>0]|0)){x=C+24|0;z=C+20|0;if((c[x>>2]|0)!=(c[z>>2]|0)){J=0;do{w=c[v>>2]|0;do if(w){V=w;while(1){W=c[V+16>>2]|0;if((l|0)<(W|0)){X=c[V>>2]|0;if(!X){Y=V;Z=V;M=79;break}else _=X}else{if((W|0)>=(l|0)){$=V;M=85;break}W=V+4|0;X=c[W>>2]|0;if(!X){aa=W;ba=V;M=83;break}else _=X}V=_}if((M|0)==79){M=0;c[f>>2]=Z;ca=Y;da=Z;M=86;break}else if((M|0)==83){M=0;c[f>>2]=ba;ca=aa;da=ba;M=86;break}else if((M|0)==85){M=0;c[f>>2]=$;if(!$){ca=f;da=$;M=86;break}else{ea=$;break}}}else{c[f>>2]=v;ca=v;da=u;M=86}while(0);if((M|0)==86){M=0;w=ek(32)|0;c[w+16>>2]=l;c[w+20>>2]=0;c[w+24>>2]=0;c[w+28>>2]=0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=da;c[ca>>2]=w;V=c[c[d>>2]>>2]|0;if(!V)fa=w;else{c[d>>2]=V;fa=c[ca>>2]|0}xc(c[y>>2]|0,fa);c[E>>2]=(c[E>>2]|0)+1;ea=w}w=c[z>>2]|0;V=w+(J*48|0)|0;X=ea+24|0;W=c[X>>2]|0;if((W|0)==(c[ea+28>>2]|0))lg(ea+20|0,V);else{a[W>>0]=a[V>>0]|0;c[W+4>>2]=c[w+(J*48|0)+4>>2];c[W+8>>2]=c[w+(J*48|0)+8>>2];a[W+12>>0]=a[w+(J*48|0)+12>>0]|0;c[W+16>>2]=c[w+(J*48|0)+16>>2];c[W+20>>2]=c[w+(J*48|0)+20>>2];Od(W+24|0,w+(J*48|0)+24|0);En(W+36|0,w+(J*48|0)+36|0);c[X>>2]=(c[X>>2]|0)+48}J=J+1|0}while(J>>>0<(((c[x>>2]|0)-(c[z>>2]|0)|0)/48|0)>>>0)}}else{kg(m,C+20|0);z=c[s>>2]|0;x=c[m>>2]|0;c:do if((z|0)==(x|0)){ga=z;ha=z}else{J=x;X=0;while(1){switch(c[(c[q>>2]|0)+(l*100|0)+88>>2]|0){case 0:{vh(n,(c[h>>2]|0)+H|0,(c[p>>2]|0)+I|0);c[J+(X*48|0)+4>>2]=c[n>>2];c[J+(X*48|0)+8>>2]=c[F>>2];a[(c[m>>2]|0)+(X*48|0)>>0]=1;break}case 1:{fg(b,l,J+(X*48|0)|0);break}default:{}}w=c[v>>2]|0;do if(w){W=w;while(1){V=c[W+16>>2]|0;if((l|0)<(V|0)){ia=c[W>>2]|0;if(!ia){ja=W;ka=W;M=53;break}else la=ia}else{if((V|0)>=(l|0)){ma=W;M=59;break}V=W+4|0;ia=c[V>>2]|0;if(!ia){na=V;oa=W;M=57;break}else la=ia}W=la}if((M|0)==53){M=0;c[f>>2]=ka;pa=ja;qa=ka;M=60;break}else if((M|0)==57){M=0;c[f>>2]=oa;pa=na;qa=oa;M=60;break}else if((M|0)==59){M=0;c[f>>2]=ma;if(!ma){pa=f;qa=ma;M=60;break}else{ra=ma;break}}}else{c[f>>2]=v;pa=v;qa=u;M=60}while(0);if((M|0)==60){M=0;w=ek(32)|0;c[w+16>>2]=l;c[w+20>>2]=0;c[w+24>>2]=0;c[w+28>>2]=0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=qa;c[pa>>2]=w;W=c[c[d>>2]>>2]|0;if(!W)sa=w;else{c[d>>2]=W;sa=c[pa>>2]|0}xc(c[y>>2]|0,sa);c[E>>2]=(c[E>>2]|0)+1;ra=w}w=c[m>>2]|0;W=w+(X*48|0)|0;ia=ra+24|0;V=c[ia>>2]|0;if((V|0)==(c[ra+28>>2]|0))lg(ra+20|0,W);else{a[V>>0]=a[W>>0]|0;c[V+4>>2]=c[w+(X*48|0)+4>>2];c[V+8>>2]=c[w+(X*48|0)+8>>2];a[V+12>>0]=a[w+(X*48|0)+12>>0]|0;c[V+16>>2]=c[w+(X*48|0)+16>>2];c[V+20>>2]=c[w+(X*48|0)+20>>2];Od(V+24|0,w+(X*48|0)+24|0);En(V+36|0,w+(X*48|0)+36|0);c[ia>>2]=(c[ia>>2]|0)+48}X=X+1|0;ia=c[s>>2]|0;w=c[m>>2]|0;if(X>>>0>=((ia-w|0)/48|0)>>>0){ga=w;ha=ia;break c}else J=w}}while(0);if(ga){if((ha|0)==(ga|0))ta=ha;else{l=ha;do{c[s>>2]=l+-48;In(l+-12|0);x=c[l+-24>>2]|0;z=x;if(x){J=l+-20|0;X=c[J>>2]|0;if((X|0)!=(x|0))c[J>>2]=X+(~((X+-4-z|0)>>>2)<<2);gk(x)}l=c[s>>2]|0}while((l|0)!=(ga|0));ta=c[m>>2]|0}gk(ta)}}l=c[C+4>>2]|0;if(!l){x=C;while(1){z=c[x+8>>2]|0;if((c[z>>2]|0)==(x|0)){ua=z;break}else x=z}}else{x=l;while(1){z=c[x>>2]|0;if(!z){ua=x;break}else x=z}}if((ua|0)==(G|0))break;else C=ua}}ua=c[o>>2]|0;if(!ua){va=c[b+20>>2]|0;wa=c[r>>2]|0;xa=wa+va|0;c[r>>2]=xa;ya=c[G>>2]|0;cd(j,ya);i=e;return}o=c[b+32>>2]|0;C=c[b+20>>2]|0;b=0;do{ta=c[o+(b<<2)>>2]|0;m=c[ta+8>>2]|0;ga=ta+12|0;s=c[ga>>2]|0;if((m|0)<=(s|0))if((m|0)<(s|0))za=m-s+(c[ta+16>>2]|0)|0;else za=0;else za=m-s|0;m=(za|0)<(C|0)?za:C;if(m){ha=c[ta+16>>2]|0;ta=m+s|0;while(1)if((ta|0)<(ha|0)){Aa=ta;break}else ta=ta-ha|0;c[ga>>2]=Aa}b=b+1|0}while(b>>>0<ua>>>0);va=C;wa=c[r>>2]|0;xa=wa+va|0;c[r>>2]=xa;ya=c[G>>2]|0;cd(j,ya);i=e;return}function fg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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;f=i;i=i+16|0;h=f+8|0;j=f;k=+g[(c[b+60>>2]|0)+(d*100|0)+92>>2];if(k==0.0)l=+g[b+48>>2]/+((c[b+20>>2]|0)>>>0);else l=k;k=l;if(!(a[e>>0]|0)){m=b+88|0;n=m;o=m;p=b+84|0}else{m=~~(k*(+(c[e+4>>2]|0)+ +(c[e+8>>2]|0)/1.0e9)+.5);q=b+84|0;r=b+88|0;s=c[r>>2]|0;do if(s){t=s;while(1){u=c[t+16>>2]|0;if((u|0)>(d|0)){v=c[t>>2]|0;if(!v){w=t;x=t;y=8;break}else z=v}else{if((u|0)>=(d|0)){A=t;y=14;break}u=t+4|0;v=c[u>>2]|0;if(!v){B=u;C=t;y=12;break}else z=v}t=z}if((y|0)==8){c[h>>2]=x;D=w;E=x;y=15;break}else if((y|0)==12){c[h>>2]=C;D=B;E=C;y=15;break}else if((y|0)==14){c[h>>2]=A;if(!A){D=h;E=A;y=15;break}else{F=A;break}}}else{c[h>>2]=r;D=r;E=r;y=15}while(0);if((y|0)==15){A=ek(24)|0;c[A+16>>2]=d;c[A+20>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=E;c[D>>2]=A;E=c[c[q>>2]>>2]|0;if(!E)G=A;else{c[q>>2]=E;G=c[D>>2]|0}xc(c[b+88>>2]|0,G);G=b+92|0;c[G>>2]=(c[G>>2]|0)+1;F=A}c[F+20>>2]=m;n=r;o=r;p=q}q=c[o>>2]|0;do if(q){r=q;while(1){m=c[r+16>>2]|0;if((m|0)>(d|0)){F=c[r>>2]|0;if(!F){H=r;I=r;y=22;break}else J=F}else{if((m|0)>=(d|0)){K=r;y=28;break}m=r+4|0;F=c[m>>2]|0;if(!F){L=m;M=r;y=26;break}else J=F}r=J}if((y|0)==22){c[h>>2]=I;N=H;O=I;y=29;break}else if((y|0)==26){c[h>>2]=M;N=L;O=M;y=29;break}else if((y|0)==28){c[h>>2]=K;if(!K){N=h;O=K;y=29;break}else{P=K;break}}}else{c[h>>2]=n;N=b+88|0;O=n;y=29}while(0);if((y|0)==29){K=ek(24)|0;c[K+16>>2]=d;c[K+20>>2]=0;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=O;c[N>>2]=K;O=c[c[p>>2]>>2]|0;if(!O)Q=K;else{c[p>>2]=O;Q=c[N>>2]|0}xc(c[b+88>>2]|0,Q);Q=b+92|0;c[Q>>2]=(c[Q>>2]|0)+1;P=K}wh(j,+(c[P+20>>2]|0)/k);c[e+4>>2]=c[j>>2];c[e+8>>2]=c[j+4>>2];a[e>>0]=1;e=c[o>>2]|0;do if(e){j=e;while(1){P=c[j+16>>2]|0;if((P|0)>(d|0)){K=c[j>>2]|0;if(!K){R=j;S=j;y=35;break}else T=K}else{if((P|0)>=(d|0)){U=j;y=41;break}P=j+4|0;K=c[P>>2]|0;if(!K){V=P;W=j;y=39;break}else T=K}j=T}if((y|0)==35){c[h>>2]=S;X=R;Y=S;y=42;break}else if((y|0)==39){c[h>>2]=W;X=V;Y=W;y=42;break}else if((y|0)==41){c[h>>2]=U;if(!U){X=h;Y=U;y=42;break}else{Z=e;_=U;break}}}else{c[h>>2]=n;X=b+88|0;Y=n;y=42}while(0);if((y|0)==42){U=ek(24)|0;c[U+16>>2]=d;c[U+20>>2]=0;c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=Y;c[X>>2]=U;Y=c[c[p>>2]>>2]|0;if(!Y)$=U;else{c[p>>2]=Y;$=c[X>>2]|0}xc(c[b+88>>2]|0,$);$=b+92|0;c[$>>2]=(c[$>>2]|0)+1;Z=c[o>>2]|0;_=U}U=(c[_+20>>2]|0)+1|0;do if(Z){_=Z;while(1){o=c[_+16>>2]|0;if((o|0)>(d|0)){$=c[_>>2]|0;if(!$){aa=_;ba=_;y=48;break}else ca=$}else{if((o|0)>=(d|0)){da=_;y=54;break}o=_+4|0;$=c[o>>2]|0;if(!$){ea=o;fa=_;y=52;break}else ca=$}_=ca}if((y|0)==48){c[h>>2]=ba;ga=aa;ha=ba;break}else if((y|0)==52){c[h>>2]=fa;ga=ea;ha=fa;break}else if((y|0)==54){c[h>>2]=da;if(!da){ga=h;ha=da;break}else ia=da;ja=ia+20|0;c[ja>>2]=U;i=f;return}}else{c[h>>2]=n;ga=b+88|0;ha=n}while(0);n=ek(24)|0;c[n+16>>2]=d;c[n+20>>2]=0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=ha;c[ga>>2]=n;ha=c[c[p>>2]>>2]|0;if(!ha)ka=n;else{c[p>>2]=ha;ka=c[ga>>2]|0}xc(c[b+88>>2]|0,ka);ka=b+92|0;c[ka>>2]=(c[ka>>2]|0)+1;ia=n;ja=ia+20|0;c[ja>>2]=U;i=f;return}function gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=a+4|0;e=c[a>>2]|0;f=e;g=((c[d>>2]|0)-f>>2)+1|0;if(g>>>0>1073741823){ck(a);h=c[a>>2]|0;i=h;j=h}else{i=e;j=f}f=a+8|0;e=i;h=(c[f>>2]|0)-e|0;if(h>>2>>>0<536870911){k=h>>1;h=k>>>0<g>>>0?g:k;k=(c[d>>2]|0)-e|0;g=k>>2;if(!h){l=0;m=0;n=g;o=k}else{p=h;q=g;r=k;s=6}}else{k=(c[d>>2]|0)-e|0;p=1073741823;q=k>>2;r=k;s=6}if((s|0)==6){l=p;m=ek(p<<2)|0;n=q;o=r}c[m+(n<<2)>>2]=c[b>>2];kx(m|0,i|0,o|0)|0;c[a>>2]=m;c[d>>2]=m+(n+1<<2);c[f>>2]=m+(l<<2);if(!j)return;gk(j);return}function hg(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0;En(b,c);En(b+12|0,c+12|0);En(b+24|0,c+24|0);En(b+36|0,c+36|0);e=c+48|0;f=e;g=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;f=e+4|0;e=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;f=b+48|0;h=f;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;g=f+4|0;a[g>>0]=e;a[g+1>>0]=e>>8;a[g+2>>0]=e>>16;a[g+3>>0]=e>>24;gd(b+56|0,c+56|0);e=b+68|0;b=c+68|0;c=e+29|0;do{a[e>>0]=a[b>>0]|0;e=e+1|0;b=b+1|0}while((e|0)<(c|0));return}function ig(a,b){a=a|0;b=b|0;if(!b)return;else{ig(a,c[b>>2]|0);ig(a,c[b+4>>2]|0);gk(b);return}}function jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=a+8|0;f=c[e>>2]|0;g=c[a+12>>2]|0;h=c[a+16>>2]|0;i=g-f+h|0;j=(i|0)>(h|0)?0-h|0:0;k=i+-1+j|0;i=(k|0)<(d|0)?k:d;if(!i)return i|0;k=h-f|0;l=c[a+4>>2]|0;if((i|0)>(k|0)){if((k|0)>0){a=0;do{c[l+(a+f<<2)>>2]=c[b+(a<<2)>>2];a=a+1|0}while((a|0)!=(k|0))}if((i|0)>(k|0)){a=f-j-g-h|0;m=~d;n=f+-1-h-((a|0)>(m|0)?a:m)|0;m=0;do{c[l+(m<<2)>>2]=c[b+(m+k<<2)>>2];m=m+1|0}while((m|0)!=(n|0))}}else if((i|0)>0){n=f-j-g-h|0;g=~d;d=~((n|0)>(g|0)?n:g);g=0;do{c[l+(g+f<<2)>>2]=c[b+(g<<2)>>2];g=g+1|0}while((g|0)!=(d|0))}d=i+f|0;while(1)if((d|0)<(h|0)){o=d;break}else d=d-h|0;c[e>>2]=o;return i|0}function kg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=0;e=b+4|0;c[e>>2]=0;c[b+8>>2]=0;f=d+4|0;g=c[f>>2]|0;h=c[d>>2]|0;i=g-h|0;j=(i|0)/48|0;if((g|0)==(h|0))return;if(j>>>0>89478485)ck(b);h=ek(i)|0;c[e>>2]=h;c[b>>2]=h;c[b+8>>2]=h+(j*48|0);j=c[d>>2]|0;d=c[f>>2]|0;if((j|0)==(d|0))return;f=j;j=h;do{a[j>>0]=a[f>>0]|0;c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];a[j+12>>0]=a[f+12>>0]|0;c[j+16>>2]=c[f+16>>2];c[j+20>>2]=c[f+20>>2];Od(j+24|0,f+24|0);En(j+36|0,f+36|0);j=(c[e>>2]|0)+48|0;c[e>>2]=j;f=f+48|0}while((f|0)!=(d|0));return}function lg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+32|0;f=e;g=b+4|0;h=c[b>>2]|0;j=(((c[g>>2]|0)-h|0)/48|0)+1|0;if(j>>>0>89478485){ck(b);k=c[b>>2]|0}else k=h;h=k;k=((c[b+8>>2]|0)-h|0)/48|0;if(k>>>0<44739242){l=k<<1;m=l>>>0<j>>>0?j:l}else m=89478485;l=((c[g>>2]|0)-h|0)/48|0;c[f+12>>2]=0;c[f+16>>2]=b+8;if(!m)n=0;else n=ek(m*48|0)|0;c[f>>2]=n;h=n+(l*48|0)|0;g=f+8|0;c[g>>2]=h;j=f+4|0;c[j>>2]=h;c[f+12>>2]=n+(m*48|0);a[h>>0]=a[d>>0]|0;c[n+(l*48|0)+4>>2]=c[d+4>>2];c[n+(l*48|0)+8>>2]=c[d+8>>2];a[n+(l*48|0)+12>>0]=a[d+12>>0]|0;c[n+(l*48|0)+16>>2]=c[d+16>>2];c[n+(l*48|0)+20>>2]=c[d+20>>2];Od(n+(l*48|0)+24|0,d+24|0);En(n+(l*48|0)+36|0,d+36|0);c[g>>2]=n+((l+1|0)*48|0);og(b,f);b=c[j>>2]|0;j=c[g>>2]|0;if((j|0)!=(b|0)){l=~(((j+-48-b|0)>>>0)/48|0);n=j;do{In(n+-12|0);d=c[n+-24>>2]|0;h=d;if(d){m=n+-20|0;k=c[m>>2]|0;if((k|0)!=(d|0))c[m>>2]=k+(~((k+-4-h|0)>>>2)<<2);gk(d)}n=n+-48|0}while((n|0)!=(b|0));c[g>>2]=j+(l*48|0)}l=c[f>>2]|0;if(!l){i=e;return}gk(l);i=e;return}function mg(a,b){a=a|0;b=b|0;if(!b)return;else{mg(a,c[b>>2]|0);mg(a,c[b+4>>2]|0);gk(b);return}}function ng(a,b){a=a|0;b=b|0;Fn(a,21983,25);return}function og(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c[b>>2]|0;f=b+4|0;g=c[f>>2]|0;h=d+4|0;if((g|0)==(e|0)){i=h;j=b;k=c[h>>2]|0;l=e}else{m=g;g=c[h>>2]|0;while(1){n=m;m=m+-48|0;a[g+-48>>0]=a[m>>0]|0;c[g+-44>>2]=c[n+-44>>2];c[g+-40>>2]=c[n+-40>>2];a[g+-36>>0]=a[n+-36>>0]|0;c[g+-32>>2]=c[n+-32>>2];c[g+-28>>2]=c[n+-28>>2];Od(g+-24|0,n+-24|0);En(g+-12|0,n+-12|0);n=(c[h>>2]|0)+-48|0;c[h>>2]=n;if((m|0)==(e|0)){o=n;break}else g=n}i=h;j=b;k=o;l=c[b>>2]|0}c[j>>2]=k;c[i>>2]=l;l=d+8|0;k=c[f>>2]|0;c[f>>2]=c[l>>2];c[l>>2]=k;k=b+8|0;b=d+12|0;l=c[k>>2]|0;c[k>>2]=c[b>>2];c[b>>2]=l;c[d>>2]=c[i>>2];return}function pg(a){a=a|0;var b=0;c[a>>2]=3784;b=c[a+4>>2]|0;if(!b)return;hk(b);return}function qg(a){a=a|0;var b=0;c[a>>2]=3784;b=c[a+4>>2]|0;if(!b){gk(a);return}hk(b);gk(a);return}function rg(a,b){a=a|0;b=b|0;var d=0;Xg(a,b);c[a>>2]=3800;d=ek(28)|0;c[d>>2]=b;b=d+4|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[a+12>>2]=d;return}function sg(a){a=a|0;var b=0;c[a>>2]=3800;b=c[a+12>>2]|0;if(b){yg(b);gk(b)}Yg(a);return}function tg(a){a=a|0;var b=0;c[a>>2]=3800;b=c[a+12>>2]|0;if(b){yg(b);gk(b)}Yg(a);gk(a);return}function ug(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return vg(c[a+12>>2]|0,b,d,e)|0}function vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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;c[a+4>>2]=e;f=c[a>>2]|0;g=Hb[c[(c[f>>2]|0)+84>>2]&127](f)|0;f=c[a>>2]|0;h=Hb[c[(c[f>>2]|0)+88>>2]&127](f)|0;c[a+8>>2]=b;if(g>>>0<=b>>>0){if(h>>>0>=b>>>0){c[a+12>>2]=b;i=b;j=c[a>>2]|0;k=c[j>>2]|0;l=k+64|0;m=c[l>>2]|0;n=Nb[m&15](j,i,d,e)|0;return n|0}if((h|0)==1){f=fk(4)|0;c[a+16>>2]=f;c[f>>2]=fk(e>>>0>1073741823?-1:e<<2)|0}c[a+12>>2]=h;i=h;j=c[a>>2]|0;k=c[j>>2]|0;l=k+64|0;m=c[l>>2]|0;n=Nb[m&15](j,i,d,e)|0;return n|0}c[a+24>>2]=fk(g>>>0>1073741823?-1:g<<2)|0;do if(b>>>0>1?(h=g-b|0,f=fk(h>>>0>1073741823?-1:h<<2)|0,h=a+16|0,c[h>>2]=f,(g|0)!=0):0){o=e>>>0>1073741823?-1:e<<2;if(!e){c[f>>2]=fk(o)|0;if((g|0)==1)break;else p=1;do{q=c[h>>2]|0;c[q+(p<<2)>>2]=fk(o)|0;p=p+1|0}while((p|0)!=(g|0))}else{q=e<<2;c[f>>2]=fk(o)|0;hx(c[c[h>>2]>>2]|0,0,q|0)|0;if((g|0)==1)break;else r=1;do{s=c[h>>2]|0;c[s+(r<<2)>>2]=fk(o)|0;hx(c[(c[h>>2]|0)+(r<<2)>>2]|0,0,q|0)|0;r=r+1|0}while((r|0)!=(g|0))}}while(0);c[a+12>>2]=g;i=g;j=c[a>>2]|0;k=c[j>>2]|0;l=k+64|0;m=c[l>>2]|0;n=Nb[m&15](j,i,d,e)|0;return n|0}function wg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;h=c[b+12>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];xg(a,h,d,g);i=f;return}function xg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0;f=i;i=i+32|0;h=f+24|0;j=f+16|0;k=f+8|0;l=f;m=c[b+8>>2]|0;n=c[b+12>>2]|0;if(m>>>0<n>>>0){switch(m|0){case 1:{if(n){o=b+24|0;p=0;do{c[(c[o>>2]|0)+(p<<2)>>2]=c[d>>2];p=p+1|0}while(p>>>0<n>>>0)}break}case 0:{q=0;r=7;break}default:{p=b+24|0;o=0;do{c[(c[p>>2]|0)+(o<<2)>>2]=c[d+(o<<2)>>2];o=o+1|0}while(o>>>0<m>>>0);q=m;r=7}}if((r|0)==7?q>>>0<n>>>0:0){o=b+16|0;p=b+24|0;s=q;do{c[(c[p>>2]|0)+(s<<2)>>2]=c[(c[o>>2]|0)+(s-m<<2)>>2];s=s+1|0}while(s>>>0<n>>>0)}s=c[b>>2]|0;o=c[(c[s>>2]|0)+96>>2]|0;p=c[b+24>>2]|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];Ob[o&15](a,s,p,h);i=f;return}if(m>>>0<=n>>>0){h=c[b>>2]|0;p=c[(c[h>>2]|0)+96>>2]|0;c[l>>2]=c[e>>2];c[l+4>>2]=c[e+4>>2];Ob[p&15](a,h,d,l);i=f;return}if((n|0)!=1){n=c[b>>2]|0;l=c[(c[n>>2]|0)+96>>2]|0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];Ob[l&15](a,n,d,k);i=f;return}k=c[b+4>>2]|0;n=(k|0)==0;if(!n){l=c[d>>2]|0;h=c[c[b+16>>2]>>2]|0;p=0;do{c[h+(p<<2)>>2]=c[l+(p<<2)>>2];p=p+1|0}while(p>>>0<k>>>0)}if(m>>>0>1)if(n)r=24;else{p=c[c[b+16>>2]>>2]|0;l=1;do{h=c[d+(l<<2)>>2]|0;s=0;do{o=p+(s<<2)|0;g[o>>2]=+g[h+(s<<2)>>2]+ +g[o>>2];s=s+1|0}while(s>>>0<k>>>0);l=l+1|0}while(l>>>0<m>>>0);r=23}else r=23;if((r|0)==23)if(n)r=24;else{t=+(m>>>0);m=b+16|0;n=c[c[m>>2]>>2]|0;l=0;do{p=n+(l<<2)|0;g[p>>2]=+g[p>>2]/t;l=l+1|0}while(l>>>0<k>>>0);u=m}if((r|0)==24)u=b+16|0;r=c[b>>2]|0;b=c[(c[r>>2]|0)+96>>2]|0;m=c[u>>2]|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];Ob[b&15](a,r,m,j);i=f;return}function yg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=a+16|0;d=c[b>>2]|0;if(d){e=a+8|0;f=c[e>>2]|0;g=a+12|0;h=c[g>>2]|0;a:do if(f>>>0>h>>>0){i=c[d>>2]|0;if(i)hk(i)}else if((h|0)!=(f|0)){i=d;j=f;k=h;l=0;while(1){m=c[i+(l<<2)>>2]|0;if(!m){n=k;o=j}else{hk(m);n=c[g>>2]|0;o=c[e>>2]|0}m=l+1|0;if(m>>>0>=(n-o|0)>>>0)break a;i=c[b>>2]|0;j=o;k=n;l=m}}while(0);n=c[b>>2]|0;if(n)hk(n);c[b>>2]=0}b=a+20|0;n=c[b>>2]|0;if(n){o=a+8|0;e=c[o>>2]|0;if(e){g=n;h=e;e=0;while(1){f=c[g+(e<<2)>>2]|0;if(!f){p=g;q=h}else{hk(f);p=c[b>>2]|0;q=c[o>>2]|0}e=e+1|0;if(e>>>0>=q>>>0){r=p;break}else{g=p;h=q}}if(r){s=r;t=19}}else{s=n;t=19}if((t|0)==19)hk(s);c[b>>2]=0}b=a+24|0;a=c[b>>2]|0;if(!a)return;hk(a);c[b>>2]=0;return}function zg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0;if(a&1){am(22231,36,1,c[1379]|0)|0;f=0;return f|0}g=a>>1;a=(g<<4)+276|0;i=a+(((g*3|0)/2|0)<<4)|0;if(e){j=(c[e>>2]|0)>>>0<i>>>0;c[e>>2]=i;if(j){f=0;return f|0}else k=d}else k=Lm(i)|0;if(!k){f=0;return f|0}i=k+12|0;c[k>>2]=i;d=k+a|0;c[k+4>>2]=d;a=k+8|0;c[a>>2]=d+(g<<4);c[i>>2]=g;d=k+16|0;c[d>>2]=b;l=+(g|0);if(((g|0)>0?(m=-0.0/l,n=(b|0)==0?m:-m,h[k+276>>3]=+R(+n),h[k+284>>3]=+S(+n),(g|0)!=1):0)?(n=-6.283185307179586/l,m=(b|0)==0?n:-n,h[k+292>>3]=+R(+m),h[k+300>>3]=+S(+m),(g|0)!=2):0){j=2;do{m=+(j|0)*-6.283185307179586/l;n=(c[d>>2]|0)==0?m:-m;h[i+264+(j<<4)>>3]=+R(+n);h[i+264+(j<<4)+8>>3]=+S(+n);j=j+1|0}while((j|0)!=(g|0))}n=+N(+(+P(+l)));j=g;i=k+20|0;d=4;while(1){a:do if(!((j|0)%(d|0)|0))o=d;else{e=d;while(1){switch(e|0){case 4:{p=2;break}case 2:{p=3;break}default:p=e+2|0}q=+(p|0)>n?j:p;if(!((j|0)%(q|0)|0)){o=q;break a}else e=q}}while(0);j=(j|0)/(o|0)|0;c[i>>2]=o;c[i+4>>2]=j;if((j|0)<=1)break;else{i=i+8|0;d=o}}o=(g|0)/2|0;if((g|0)<=1){f=k;return f|0}n=+(g|0);g=c[a>>2]|0;if(!b){b=0;do{a=b;b=b+1|0;l=(+(b|0)/n+.5)*-3.141592653589793;h[g+(a<<4)>>3]=+R(+l);h[g+(a<<4)+8>>3]=+S(+l)}while((b|0)<(o|0));f=k;return f|0}else{b=0;do{a=b;b=b+1|0;l=(+(b|0)/n+.5)*-3.141592653589793;h[g+(a<<4)>>3]=+R(+l);h[g+(a<<4)+8>>3]=+S(+-l)}while((b|0)<(o|0));f=k;return f|0}return 0}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;e=c[a>>2]|0;if(c[e+4>>2]|0){am(22268,37,1,c[1379]|0)|0;tb(1)}f=c[e>>2]|0;g=a+4|0;i=c[g>>2]|0;if((b|0)==(i|0)){j=Lm(f<<4)|0;Qg(j,b,1,1,e+8|0,e);kx(b|0,j|0,c[e>>2]<<4|0)|0;Mm(j)}else Qg(i,b,1,1,e+8|0,e);e=c[g>>2]|0;k=+h[e>>3];l=+h[e+8>>3];h[d>>3]=k+l;h[d+(f<<4)>>3]=k-l;h[d+8>>3]=0.0;h[d+(f<<4)+8>>3]=0.0;g=(f|0)/2|0;if((f|0)<2)return;b=c[a+8>>2]|0;a=1;while(1){l=+h[e+(a<<4)>>3];k=+h[e+(a<<4)+8>>3];i=f-a|0;m=+h[e+(i<<4)>>3];n=+h[e+(i<<4)+8>>3];o=l+m;p=k-n;q=l-m;m=k+n;j=a+-1|0;n=+h[b+(j<<4)>>3];k=+h[b+(j<<4)+8>>3];l=q*n-m*k;r=m*n+q*k;h[d+(a<<4)>>3]=(o+l)*.5;h[d+(a<<4)+8>>3]=(p+r)*.5;h[d+(i<<4)>>3]=(o-l)*.5;h[d+(i<<4)+8>>3]=(r-p)*.5;if((a|0)<(g|0))a=a+1|0;else break}return}function Bg(a,b){a=a|0;b=b|0;var d=0,e=0;Xg(a,b);c[a>>2]=3912;d=ek(56)|0;e=c[a+4>>2]|0;c[d>>2]=b;c[d+4>>2]=e;e=d+8|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[d+28>>2]=3;e=d+32|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[a+12>>2]=d;return}function Cg(a){a=a|0;var b=0;c[a>>2]=3912;b=c[a+12>>2]|0;if(b){Mg(b);gk(b)}Yg(a);return}function Dg(a){a=a|0;var b=0;c[a>>2]=3912;b=c[a+12>>2]|0;if(b){Mg(b);gk(b)}Yg(a);gk(a);return}function Eg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return Fg(c[a+12>>2]|0,b,d,e)|0}function Fg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=i;i=i+16|0;g=f;h=c[a>>2]|0;if(!(Hb[c[(c[h>>2]|0)+72>>2]&127](h)|0)){c[a+12>>2]=d;c[a+16>>2]=e;c[a+8>>2]=b;h=c[a>>2]|0;j=Nb[c[(c[h>>2]|0)+64>>2]&15](h,b,d,e)|0;i=f;return j|0}if(e>>>0<2){h=le(9776,22306,72)|0;c[g>>2]=oo(h+(c[(c[h>>2]|0)+-12>>2]|0)|0)|0;k=Lt(g,12376)|0;l=Pb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;Jt(g);mp(h,l)|0;Yo(h)|0;j=0;i=f;return j|0}if(e&1){h=le(jp(le(9776,22379,59)|0,e)|0,22439,14)|0;c[g>>2]=oo(h+(c[(c[h>>2]|0)+-12>>2]|0)|0)|0;l=Lt(g,12376)|0;k=Pb[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;Jt(g);mp(h,k)|0;Yo(h)|0;j=0;i=f;return j|0}h=a+8|0;k=c[h>>2]|0;g=a+20|0;if((k|0)>0){l=k;k=c[g>>2]|0;m=0;while(1){n=c[k+(m<<2)>>2]|0;if(!n){o=k;p=l}else{hk(n);o=c[g>>2]|0;p=c[h>>2]|0}m=m+1|0;if((m|0)>=(p|0)){q=o;break}else{l=p;k=o}}if(q)hk(q);q=c[a+24>>2]|0;if(q)hk(q);q=a+48|0;o=c[q>>2]|0;if(o){Mm(o);c[q>>2]=0;q=a+52|0;o=c[q>>2]|0;if(o)hk(o);c[q>>2]=0}q=c[a+32>>2]|0;if(q)Eb[c[(c[q>>2]|0)+4>>2]&255](q)}c[a+12>>2]=d;q=a+16|0;c[q>>2]=e;c[h>>2]=b;h=fk(b>>>0>1073741823?-1:b<<2)|0;c[g>>2]=h;if((b|0)>0?(o=e+2|0,k=o>>>0>1073741823?-1:o<<2,c[h>>2]=fk(k)|0,(b|0)>1):0){h=1;do{o=c[g>>2]|0;c[o+(h<<2)>>2]=fk(k)|0;h=h+1|0}while((h|0)<(b|0))}c[a+24>>2]=fk(e>>>0>536870911?-1:e<<3)|0;h=ek(24)|0;k=c[a+28>>2]|0;switch(k|0){case 4:case 3:case 2:case 1:case 0:{r=k;break}case 7:{r=5;break}case 8:{r=6;break}default:r=3}c[h>>2]=4024;c[h+4>>2]=r;c[h+8>>2]=e;Rg(h);c[a+32>>2]=h;c[a+48>>2]=zg(c[q>>2]|0,0,0,0)|0;h=c[q>>2]|0;q=((h|0)/2|0)+1|0;c[a+52>>2]=fk(q>>>0>268435455?-1:q<<4)|0;c[a+40>>2]=0;q=c[a>>2]|0;j=Nb[c[(c[q>>2]|0)+64>>2]&15](q,b,d,h)|0;i=f;return j|0}function Gg(a){a=a|0;var b=0;b=c[a+12>>2]|0;c[b+40>>2]=0;a=c[b>>2]|0;Eb[c[(c[a>>2]|0)+68>>2]&255](a);return}function Hg(a){a=a|0;return 0}function Ig(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+12>>2]|0;a=c[b>>2]|0;d=Hb[c[(c[a>>2]|0)+80>>2]&127](a)|0;if(d){e=d;return e|0}d=c[b>>2]|0;if((Hb[c[(c[d>>2]|0)+72>>2]&127](d)|0)!=1){e=0;return e|0}d=c[b>>2]|0;a=Hb[c[(c[d>>2]|0)+76>>2]&127](d)|0;d=c[b>>2]|0;if((Hb[c[(c[d>>2]|0)+72>>2]&127](d)|0)==1)if(!a)f=1024;else f=Ng(0,a)|0;else f=a;e=f>>>1;return e|0}function Jg(a){a=a|0;var b=0,d=0,e=0;b=c[a+12>>2]|0;a=c[b>>2]|0;d=Hb[c[(c[a>>2]|0)+76>>2]&127](a)|0;a=c[b>>2]|0;if((Hb[c[(c[a>>2]|0)+72>>2]&127](a)|0)!=1){e=d;return e|0}if(!d){e=1024;return e|0}e=Ng(0,d)|0;return e|0}function Kg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;g=f+16|0;h=f+8|0;j=f;k=c[b+12>>2]|0;b=c[e>>2]|0;l=c[e+4>>2]|0;e=c[k>>2]|0;if(!(Hb[c[(c[e>>2]|0)+72>>2]&127](e)|0)){e=c[k>>2]|0;m=c[(c[e>>2]|0)+96>>2]|0;c[g>>2]=b;c[g+4>>2]=l;Ob[m&15](a,e,d,g);i=f;return}switch(c[k+36>>2]|0){case 2:case 0:{c[h>>2]=b;c[h+4>>2]=l;Og(a,k,d,h);i=f;return}default:{c[j>>2]=b;c[j+4>>2]=l;Pg(a,k,d,j);i=f;return}}}function Lg(a,b){a=a|0;b=b|0;var d=0;d=c[b+12>>2]|0;b=c[d>>2]|0;if(!(Hb[c[(c[b>>2]|0)+72>>2]&127](b)|0)){c[a>>2]=c[1039];c[a+4>>2]=c[1040];return}if(((c[d+36>>2]|0)+-1|0)>>>0<2){c[a>>2]=c[1039];c[a+4>>2]=c[1040];return}else{yh(a,(c[d+16>>2]|0)/2|0,~~(+g[d+4>>2]+.5));return}}function Mg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=a+44|0;d=c[b>>2]|0;e=a+8|0;do if(d){f=c[e>>2]|0;if((f|0)>0){g=f;f=d;h=0;while(1){i=c[f+(h<<2)>>2]|0;if(!i){j=f;k=g}else{hk(i);j=c[b>>2]|0;k=c[e>>2]|0}h=h+1|0;if((h|0)>=(k|0)){l=j;break}else{g=k;f=j}}if(!l)break;else m=l}else m=d;hk(m)}while(0);m=c[e>>2]|0;if((m|0)<=0)return;d=a+20|0;l=c[d>>2]|0;j=m;m=0;while(1){k=c[l+(m<<2)>>2]|0;if(!k){n=j;o=l}else{hk(k);n=c[e>>2]|0;o=c[d>>2]|0}m=m+1|0;if((m|0)>=(n|0)){p=o;break}else{l=o;j=n}}if(p)hk(p);p=c[a+24>>2]|0;if(p)hk(p);p=a+48|0;n=c[p>>2]|0;if(n){Mm(n);c[p>>2]=0;p=a+52|0;n=c[p>>2]|0;if(n)hk(n);c[p>>2]=0}p=c[a+32>>2]|0;if(!p)return;Eb[c[(c[p>>2]|0)+4>>2]&255](p);return}function Ng(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;a=i;i=i+16|0;d=a;if(b>>>0<2){e=le(9776,22454,64)|0;c[d>>2]=oo(e+(c[(c[e>>2]|0)+-12>>2]|0)|0)|0;f=Lt(d,12376)|0;g=Pb[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;Jt(d);mp(e,g)|0;Yo(e)|0;g=le(jp(le(e,22519,27)|0,b)|0,22547,5)|0;c[d>>2]=oo(g+(c[(c[g>>2]|0)+-12>>2]|0)|0)|0;e=Lt(d,12376)|0;f=Pb[c[(c[e>>2]|0)+28>>2]&63](e,10)|0;Jt(d);mp(g,f)|0;Yo(g)|0;h=2;i=a;return h|0}if(!(b&1)){h=b;i=a;return h|0}g=le(9776,22553,64)|0;c[d>>2]=oo(g+(c[(c[g>>2]|0)+-12>>2]|0)|0)|0;f=Lt(d,12376)|0;e=Pb[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;Jt(d);mp(g,e)|0;Yo(g)|0;e=b+1|0;f=jp(le(jp(le(g,22519,27)|0,b)|0,22618,4)|0,e)|0;c[d>>2]=oo(f+(c[(c[f>>2]|0)+-12>>2]|0)|0)|0;b=Lt(d,12376)|0;g=Pb[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;Jt(d);mp(f,g)|0;Yo(f)|0;h=e;i=a;return h|0}function Og(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;f=i;i=i+48|0;j=f+40|0;k=f+32|0;l=f+24|0;m=f+16|0;n=f+8|0;o=f;p=b+4|0;q=+g[p>>2];if(q>0.0)r=~~+Al(q)>>>0;else r=1;s=b+36|0;if(!(c[s>>2]|0)){t=c[b>>2]|0;do if(Hb[c[(c[t>>2]|0)+72>>2]&127](t)|0)if(((c[s>>2]|0)+-1|0)>>>0<2){u=c[1039]|0;c[k>>2]=u;v=c[1040]|0;c[k+4>>2]=v;w=u;x=v;break}else{yh(k,(c[b+16>>2]|0)/2|0,~~(+g[p>>2]+.5));w=c[k>>2]|0;x=c[k+4>>2]|0;break}else{v=c[1039]|0;c[k>>2]=v;u=c[1040]|0;c[k+4>>2]=u;w=v;x=u}while(0);k=e+4|0;vh(j,w+(c[e>>2]|0)|0,x+(c[k>>2]|0)|0);c[e>>2]=c[j>>2];c[k>>2]=c[j+4>>2];vh(l,0,1);j=xh(e,r)|0;x=l+4|0;vh(m,(c[l>>2]|0)+(c[e>>2]|0)|0,(c[x>>2]|0)+(c[k>>2]|0)|0);if((j|0)<(xh(m,r)|0)){vh(n,(c[l>>2]|0)+(c[e>>2]|0)|0,(c[x>>2]|0)+(c[k>>2]|0)|0);c[e>>2]=c[n>>2];c[k>>2]=c[n+4>>2]}}n=b+8|0;if((c[n>>2]|0)<=0){y=b+20|0;z=c[b>>2]|0;A=c[z>>2]|0;B=A+96|0;C=c[B>>2]|0;D=c[y>>2]|0;E=c[e>>2]|0;c[o>>2]=E;F=o+4|0;G=e+4|0;H=c[G>>2]|0;c[F>>2]=H;Ob[C&15](a,z,D,o);i=f;return}k=b+32|0;x=b+24|0;l=b+16|0;r=b+48|0;m=b+52|0;j=b+20|0;w=0;do{p=c[k>>2]|0;s=c[d+(w<<2)>>2]|0;t=c[x>>2]|0;u=c[p+8>>2]|0;if(u){v=c[p+12>>2]|0;p=0;do{h[t+(p<<3)>>3]=+g[s+(p<<2)>>2]*+h[v+(p<<3)>>3];p=p+1|0}while((p|0)!=(u|0))}u=c[l>>2]|0;if((u|0)>1){p=(u|0)/2|0;u=0;do{v=t+(u<<3)|0;q=+h[v>>3];s=t+(p+u<<3)|0;h[v>>3]=+h[s>>3];h[s>>3]=q;u=u+1|0}while((u|0)<(p|0))}Ag(c[r>>2]|0,t,c[m>>2]|0);p=c[l>>2]|0;if((p|0)>=-1){u=c[m>>2]|0;s=c[(c[j>>2]|0)+(w<<2)>>2]|0;v=(p|0)/2|0;p=0;while(1){I=p<<1;g[s+(I<<2)>>2]=+h[u+(p<<4)>>3];g[s+((I|1)<<2)>>2]=+h[u+(p<<4)+8>>3];if((p|0)<(v|0))p=p+1|0;else break}}w=w+1|0}while((w|0)<(c[n>>2]|0));y=j;z=c[b>>2]|0;A=c[z>>2]|0;B=A+96|0;C=c[B>>2]|0;D=c[y>>2]|0;E=c[e>>2]|0;c[o>>2]=E;F=o+4|0;G=e+4|0;H=c[G>>2]|0;c[F>>2]=H;Ob[C&15](a,z,D,o);i=f;return}function Pg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,j=0,k=0,l=0,m=0,n=0,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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;f=i;i=i+16|0;j=f;k=b+40|0;do if(!(c[k>>2]|0)){l=b+44|0;m=b+8|0;n=c[m>>2]|0;if(!(c[l>>2]|0)){o=fk(n>>>0>1073741823?-1:n<<2)|0;c[l>>2]=o;if((n|0)<=0){p=m;break}q=c[b+16>>2]|0;r=((q|0)/2|0)+q|0;q=r>>>0>1073741823?-1:r<<2;c[o>>2]=fk(q)|0;if((n|0)>1){o=1;do{r=c[l>>2]|0;c[r+(o<<2)>>2]=fk(q)|0;o=o+1|0}while((o|0)<(n|0))}}if((n|0)>0){o=b+16|0;q=c[o>>2]|0;r=(((q|0)/2|0)+q|0)>0;q=0;do{if(r){s=c[o>>2]|0;t=((s|0)/2|0)+s|0;hx(c[(c[l>>2]|0)+(q<<2)>>2]|0,0,((t|0)>1?t<<2:4)|0)|0}q=q+1|0}while((q|0)<(n|0));p=m}else p=m}else p=b+8|0;while(0);n=c[p>>2]|0;q=(n|0)>0;if(q){l=c[b+12>>2]|0;o=c[b+16>>2]|0;r=(o|0)/2|0;t=r+o|0;s=b+44|0;if((l|0)<(t|0)){u=c[s>>2]|0;v=(o|0)>0;w=0;do{x=c[u+(w<<2)>>2]|0;y=l;do{c[x+(y-l<<2)>>2]=c[x+(y<<2)>>2];y=y+1|0}while((y|0)<(t|0));if(v){y=c[d+(w<<2)>>2]|0;x=c[(c[s>>2]|0)+(w<<2)>>2]|0;m=0;do{c[x+(r+m<<2)>>2]=c[y+(m<<2)>>2];m=m+1|0}while((m|0)<(o|0))}w=w+1|0}while((w|0)<(n|0))}else{w=(o|0)>0;v=0;do{if(w){t=c[d+(v<<2)>>2]|0;l=c[(c[s>>2]|0)+(v<<2)>>2]|0;u=0;do{c[l+(r+u<<2)>>2]=c[t+(u<<2)>>2];u=u+1|0}while((u|0)<(o|0))}v=v+1|0}while((v|0)<(n|0))}if(q){q=b+32|0;n=b+44|0;v=b+24|0;o=b+16|0;r=b+48|0;s=b+52|0;d=b+20|0;w=0;do{u=c[q>>2]|0;t=c[(c[n>>2]|0)+(w<<2)>>2]|0;l=c[v>>2]|0;m=c[u+8>>2]|0;if(m){y=c[u+12>>2]|0;u=0;do{h[l+(u<<3)>>3]=+g[t+(u<<2)>>2]*+h[y+(u<<3)>>3];u=u+1|0}while((u|0)!=(m|0))}m=c[o>>2]|0;if((m|0)>1){u=(m|0)/2|0;m=0;do{y=l+(m<<3)|0;z=+h[y>>3];t=l+(u+m<<3)|0;h[y>>3]=+h[t>>3];h[t>>3]=z;m=m+1|0}while((m|0)<(u|0))}Ag(c[r>>2]|0,l,c[s>>2]|0);u=c[o>>2]|0;if((u|0)>=-1){m=c[s>>2]|0;t=c[(c[d>>2]|0)+(w<<2)>>2]|0;y=(u|0)/2|0;u=0;while(1){x=u<<1;g[t+(x<<2)>>2]=+h[m+(u<<4)>>3];g[t+((x|1)<<2)>>2]=+h[m+(u<<4)+8>>3];if((u|0)<(y|0))u=u+1|0;else break}}w=w+1|0}while((w|0)<(c[p>>2]|0));A=d;B=c[k>>2]|0;C=B+1|0;c[k>>2]=C;D=c[b>>2]|0;E=c[D>>2]|0;F=E+96|0;G=c[F>>2]|0;H=c[A>>2]|0;I=c[e>>2]|0;c[j>>2]=I;J=j+4|0;K=e+4|0;L=c[K>>2]|0;c[J>>2]=L;Ob[G&15](a,D,H,j);i=f;return}}A=b+20|0;B=c[k>>2]|0;C=B+1|0;c[k>>2]=C;D=c[b>>2]|0;E=c[D>>2]|0;F=E+96|0;G=c[F>>2]|0;H=c[A>>2]|0;I=c[e>>2]|0;c[j>>2]=I;J=j+4|0;K=e+4|0;L=c[K>>2]|0;c[J>>2]=L;Ob[G&15](a,D,H,j);i=f;return}function Qg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0.0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0,R=0;i=c[f>>2]|0;j=f+8|0;k=c[f+4>>2]|0;f=a+(($(k,i)|0)<<4)|0;if((k|0)==1){l=$(e,d)|0;m=a;n=b;while(1){h[m>>3]=+h[n>>3];h[m+8>>3]=+h[n+8>>3];m=m+16|0;if((m|0)==(f|0))break;else n=n+(l<<4)|0}}else{l=$(i,d)|0;n=$(e,d)|0;m=a;o=b;while(1){Qg(m,o,l,e,j,g);m=m+(k<<4)|0;if((m|0)==(f|0))break;else o=o+(n<<4)|0}}switch(i|0){case 2:{n=a;o=k;f=a+(k<<4)|0;m=g+264|0;while(1){p=+h[f>>3];q=+h[m>>3];j=f+8|0;r=+h[j>>3];s=+h[m+8>>3];t=p*q-r*s;u=q*r+p*s;h[f>>3]=+h[n>>3]-t;e=n+8|0;h[j>>3]=+h[e>>3]-u;h[n>>3]=t+ +h[n>>3];h[e>>3]=u+ +h[e>>3];o=o+-1|0;if(!o)break;else{n=n+16|0;f=f+16|0;m=m+(d<<4)|0}}return}case 3:{m=k<<1;u=+h[g+264+(($(k,d)|0)<<4)+8>>3];f=g+264|0;n=d<<1;o=a;e=k;j=f;l=f;while(1){f=o+(k<<4)|0;t=+h[f>>3];s=+h[j>>3];b=o+(k<<4)+8|0;p=+h[b>>3];r=+h[j+8>>3];q=t*s-p*r;v=s*p+t*r;w=o+(m<<4)|0;r=+h[w>>3];t=+h[l>>3];x=o+(m<<4)+8|0;p=+h[x>>3];s=+h[l+8>>3];y=r*t-p*s;z=t*p+r*s;s=q+y;r=v+z;h[f>>3]=+h[o>>3]-s*.5;A=o+8|0;h[b>>3]=+h[A>>3]-r*.5;p=u*(q-y);y=u*(v-z);h[o>>3]=+h[o>>3]+s;h[A>>3]=r+ +h[A>>3];h[w>>3]=y+ +h[f>>3];h[x>>3]=+h[b>>3]-p;h[f>>3]=+h[f>>3]-y;h[b>>3]=p+ +h[b>>3];e=e+-1|0;if(!e)break;else{o=o+16|0;j=j+(d<<4)|0;l=l+(n<<4)|0}}return}case 4:{n=k<<1;l=k*3|0;j=g+264|0;o=d<<1;e=d*3|0;if(!(c[g+4>>2]|0)){m=a;b=k;f=j;x=j;w=j;while(1){A=m+(k<<4)|0;u=+h[A>>3];p=+h[f>>3];B=m+(k<<4)+8|0;y=+h[B>>3];r=+h[f+8>>3];s=u*p-y*r;z=p*y+u*r;C=m+(n<<4)|0;r=+h[C>>3];u=+h[x>>3];D=m+(n<<4)+8|0;y=+h[D>>3];p=+h[x+8>>3];v=r*u-y*p;q=u*y+r*p;E=m+(l<<4)|0;p=+h[E>>3];r=+h[w>>3];F=m+(l<<4)+8|0;y=+h[F>>3];u=+h[w+8>>3];t=p*r-y*u;G=r*y+p*u;u=+h[m>>3];p=u-v;H=m+8|0;y=+h[H>>3];r=y-q;I=v+u;h[m>>3]=I;u=q+y;h[H>>3]=u;y=s+t;q=z+G;v=s-t;t=z-G;h[C>>3]=I-y;h[D>>3]=u-q;h[m>>3]=y+ +h[m>>3];h[H>>3]=q+ +h[H>>3];h[A>>3]=p+t;h[B>>3]=r-v;h[E>>3]=p-t;h[F>>3]=r+v;b=b+-1|0;if(!b)break;else{m=m+16|0;f=f+(d<<4)|0;x=x+(o<<4)|0;w=w+(e<<4)|0}}return}else{w=a;x=k;f=j;m=j;b=j;while(1){j=w+(k<<4)|0;v=+h[j>>3];r=+h[f>>3];F=w+(k<<4)+8|0;t=+h[F>>3];p=+h[f+8>>3];q=v*r-t*p;y=r*t+v*p;E=w+(n<<4)|0;p=+h[E>>3];v=+h[m>>3];B=w+(n<<4)+8|0;t=+h[B>>3];r=+h[m+8>>3];u=p*v-t*r;I=v*t+p*r;A=w+(l<<4)|0;r=+h[A>>3];p=+h[b>>3];H=w+(l<<4)+8|0;t=+h[H>>3];v=+h[b+8>>3];G=r*p-t*v;z=p*t+r*v;v=+h[w>>3];r=v-u;D=w+8|0;t=+h[D>>3];p=t-I;s=u+v;h[w>>3]=s;v=I+t;h[D>>3]=v;t=q+G;I=y+z;u=q-G;G=y-z;h[E>>3]=s-t;h[B>>3]=v-I;h[w>>3]=t+ +h[w>>3];h[D>>3]=I+ +h[D>>3];h[j>>3]=r-G;h[F>>3]=p+u;h[A>>3]=r+G;h[H>>3]=p-u;x=x+-1|0;if(!x)break;else{w=w+16|0;f=f+(d<<4)|0;m=m+(o<<4)|0;b=b+(e<<4)|0}}return}break}case 5:{e=$(k,d)|0;u=+h[g+264+(e<<4)>>3];p=+h[g+264+(e<<4)+8>>3];e=$(k,d<<1)|0;G=+h[g+264+(e<<4)>>3];r=+h[g+264+(e<<4)+8>>3];if((k|0)<=0)return;e=d*3|0;b=a;o=a+(k<<4)|0;m=a+(k<<1<<4)|0;f=a+(k*3<<4)|0;w=a+(k<<2<<4)|0;x=0;while(1){I=+h[b>>3];l=b+8|0;t=+h[l>>3];v=+h[o>>3];n=$(x,d)|0;s=+h[g+264+(n<<4)>>3];H=o+8|0;z=+h[H>>3];y=+h[g+264+(n<<4)+8>>3];q=v*s-z*y;J=s*z+v*y;y=+h[m>>3];n=$(x<<1,d)|0;v=+h[g+264+(n<<4)>>3];A=m+8|0;z=+h[A>>3];s=+h[g+264+(n<<4)+8>>3];K=y*v-z*s;L=v*z+y*s;s=+h[f>>3];n=$(e,x)|0;y=+h[g+264+(n<<4)>>3];F=f+8|0;z=+h[F>>3];v=+h[g+264+(n<<4)+8>>3];M=s*y-z*v;N=y*z+s*v;v=+h[w>>3];n=$(x<<2,d)|0;s=+h[g+264+(n<<4)>>3];j=w+8|0;z=+h[j>>3];y=+h[g+264+(n<<4)+8>>3];O=v*s-z*y;P=s*z+v*y;y=q+O;v=J+P;z=q-O;O=J-P;P=K+M;J=L+N;q=K-M;M=L-N;h[b>>3]=I+(P+y);h[l>>3]=t+(J+v);N=G*P+(I+u*y);L=G*J+(t+u*v);K=r*M+p*O;s=-(p*z)-r*q;h[o>>3]=N-K;h[H>>3]=L-s;h[w>>3]=K+N;h[j>>3]=s+L;L=u*P+(I+G*y);y=u*J+(t+G*v);v=p*M-r*O;O=r*z-p*q;h[m>>3]=v+L;h[A>>3]=O+y;h[f>>3]=L-v;h[F>>3]=y-O;x=x+1|0;if((x|0)==(k|0))break;else{b=b+16|0;o=o+16|0;m=m+16|0;f=f+16|0;w=w+16|0}}return}default:{w=c[g>>2]|0;f=Lm(i<<4)|0;if((k|0)>0){m=(i|0)>0;o=(i|0)>1;b=0;do{a:do if(m){x=b;e=0;while(1){F=f+(e<<4)|0;A=a+(x<<4)|0;c[F>>2]=c[A>>2];c[F+4>>2]=c[A+4>>2];c[F+8>>2]=c[A+8>>2];c[F+12>>2]=c[A+12>>2];e=e+1|0;if((e|0)==(i|0))break;else x=x+k|0}if(o){Q=b;R=0}else{x=b;e=0;while(1){A=a+(x<<4)|0;c[A>>2]=c[f>>2];c[A+4>>2]=c[f+4>>2];c[A+8>>2]=c[f+8>>2];c[A+12>>2]=c[f+12>>2];e=e+1|0;if((e|0)==(i|0))break a;else x=x+k|0}}while(1){x=a+(Q<<4)|0;c[x>>2]=c[f>>2];c[x+4>>2]=c[f+4>>2];c[x+8>>2]=c[f+8>>2];c[x+12>>2]=c[f+12>>2];e=$(Q,d)|0;A=a+(Q<<4)+8|0;p=+h[x>>3];r=+h[A>>3];F=1;j=0;do{H=j+e|0;j=H-((H|0)<(w|0)?0:w)|0;G=+h[f+(F<<4)>>3];u=+h[g+264+(j<<4)>>3];O=+h[f+(F<<4)+8>>3];y=+h[g+264+(j<<4)+8>>3];p=p+(G*u-O*y);h[x>>3]=p;r=r+(u*O+G*y);h[A>>3]=r;F=F+1|0}while((F|0)!=(i|0));R=R+1|0;if((R|0)==(i|0))break;else Q=Q+k|0}}while(0);b=b+1|0}while((b|0)!=(k|0))}Mm(f);return}}}function Rg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0,t=0.0;b=c[a+8>>2]|0;d=fk(b>>>0>536870911?-1:b<<3)|0;e=(b|0)>0;if(e){f=0;do{h[d+(f<<3)>>3]=1.0;f=f+1|0}while((f|0)!=(b|0))}switch(c[a+4>>2]|0){case 0:{if(e){f=0;do{g=d+(f<<3)|0;h[g>>3]=+h[g>>3]*.5;f=f+1|0}while((f|0)!=(b|0))}else i=24;break}case 1:{f=(b|0)/2|0;if((b|0)>1){j=+(f|0);g=0;do{k=+(g|0)/j;l=d+(g<<3)|0;h[l>>3]=k*+h[l>>3];l=d+(f+g<<3)|0;h[l>>3]=(1.0-k)*+h[l>>3];g=g+1|0}while((g|0)<(f|0))}break}case 2:{if(e){j=+(b|0);f=0;do{k=+(f|0);m=.54-+R(+(k*6.283185307179586/j))*.46+ +R(+(k*12.566370614359172/j))*0.0-+R(+(k*18.84955592153876/j))*0.0;g=d+(f<<3)|0;h[g>>3]=+h[g>>3]*m;f=f+1|0}while((f|0)!=(b|0))}else i=24;break}case 3:{if(e){j=+(b|0);f=0;do{m=+(f|0);k=.5-+R(+(m*6.283185307179586/j))*.5+ +R(+(m*12.566370614359172/j))*0.0-+R(+(m*18.84955592153876/j))*0.0;g=d+(f<<3)|0;h[g>>3]=+h[g>>3]*k;f=f+1|0}while((f|0)!=(b|0))}else i=24;break}case 4:{if(e){j=+(b|0);f=0;do{k=+(f|0);m=.42-+R(+(k*6.283185307179586/j))*.5+ +R(+(k*12.566370614359172/j))*.08-+R(+(k*18.84955592153876/j))*0.0;g=d+(f<<3)|0;h[g>>3]=+h[g>>3]*m;f=f+1|0}while((f|0)!=(b|0))}else i=24;break}case 5:{if(e){j=+(b|0);f=0;do{m=+(f|0);k=.3635819-+R(+(m*6.283185307179586/j))*.4891775+ +R(+(m*12.566370614359172/j))*.1365995-+R(+(m*18.84955592153876/j))*.0106411;g=d+(f<<3)|0;h[g>>3]=+h[g>>3]*k;f=f+1|0}while((f|0)!=(b|0))}else i=24;break}case 6:{if(e){j=+(b|0);f=0;do{k=+(f|0);m=.35875-+R(+(k*6.283185307179586/j))*.48829+ +R(+(k*12.566370614359172/j))*.14128-+R(+(k*18.84955592153876/j))*.01168;g=d+(f<<3)|0;h[g>>3]=+h[g>>3]*m;f=f+1|0}while((f|0)!=(b|0))}else i=24;break}default:{}}if((i|0)==24){c[a+12>>2]=d;i=a+16|0;h[i>>3]=0.0;n=0.0;o=i;p=+(b|0);q=n/p;h[o>>3]=q;return}c[a+12>>2]=d;i=a+16|0;h[i>>3]=0.0;if(e){r=0.0;s=0}else{n=0.0;o=i;p=+(b|0);q=n/p;h[o>>3]=q;return}while(1){j=+h[d+(s<<3)>>3]+r;s=s+1|0;if((s|0)==(b|0)){t=j;break}else r=j}h[i>>3]=t;n=t;o=i;p=+(b|0);q=n/p;h[o>>3]=q;return}function Sg(a){a=a|0;var b=0;c[a>>2]=4024;b=c[a+12>>2]|0;if(!b)return;hk(b);return}function Tg(a){a=a|0;var b=0;c[a>>2]=4024;b=c[a+12>>2]|0;if(!b){gk(a);return}hk(b);gk(a);return}function Ug(){c[1008]=0;ib(185,4032,n|0)|0;return}function Vg(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;Eb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Wg(){vh(4036,-2147483648,-2147483648);return}function Xg(a,b){a=a|0;b=b|0;c[a+4>>2]=c[b+4>>2];c[a>>2]=4052;c[a+8>>2]=b;return}function Yg(a){a=a|0;var b=0;c[a>>2]=4052;b=c[a+8>>2]|0;if(!b)return;Eb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Zg(a){a=a|0;var b=0;c[a>>2]=4052;b=c[a+8>>2]|0;if(!b){gk(a);return}Eb[c[(c[b>>2]|0)+4>>2]&255](b);gk(a);return}function _g(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+8>>2]|0;return Nb[c[(c[f>>2]|0)+64>>2]&15](f,b,d,e)|0}function $g(a){a=a|0;var b=0;b=c[a+8>>2]|0;Eb[c[(c[b>>2]|0)+68>>2]&255](b);return}function ah(a){a=a|0;var b=0;b=c[a+8>>2]|0;return Hb[c[(c[b>>2]|0)+72>>2]&127](b)|0}function bh(a){a=a|0;var b=0;b=c[a+8>>2]|0;return Hb[c[(c[b>>2]|0)+8>>2]&127](b)|0}function ch(a,b){a=a|0;b=b|0;var d=0;d=c[b+8>>2]|0;Fb[c[(c[d>>2]|0)+12>>2]&127](a,d);return}function dh(a,b){a=a|0;b=b|0;var d=0;d=c[b+8>>2]|0;Fb[c[(c[d>>2]|0)+16>>2]&127](a,d);return}function eh(a,b){a=a|0;b=b|0;var d=0;d=c[b+8>>2]|0;Fb[c[(c[d>>2]|0)+20>>2]&127](a,d);return}function fh(a,b){a=a|0;b=b|0;var d=0;d=c[b+8>>2]|0;Fb[c[(c[d>>2]|0)+24>>2]&127](a,d);return}function gh(a){a=a|0;var b=0;b=c[a+8>>2]|0;return Hb[c[(c[b>>2]|0)+32>>2]&127](b)|0}function hh(a,b){a=a|0;b=b|0;var d=0;d=c[b+8>>2]|0;Fb[c[(c[d>>2]|0)+28>>2]&127](a,d);return}function ih(a,b){a=a|0;b=b|0;var d=0;d=c[b+8>>2]|0;Fb[c[(c[d>>2]|0)+36>>2]&127](a,d);return}function jh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0;d=i;i=i+16|0;e=d;f=c[a+8>>2]|0;a=c[(c[f>>2]|0)+40>>2]|0;En(e,b);g=+Cb[a&3](f,e);In(e);i=d;return +g}function kh(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=c[a+8>>2]|0;a=c[(c[g>>2]|0)+44>>2]|0;En(f,b);zb[a&3](g,f,d);In(f);i=e;return}function lh(a,b){a=a|0;b=b|0;var d=0;d=c[b+8>>2]|0;Fb[c[(c[d>>2]|0)+48>>2]&127](a,d);return}function mh(a,b){a=a|0;b=b|0;var d=0;d=c[b+8>>2]|0;Fb[c[(c[d>>2]|0)+52>>2]&127](a,d);return}function nh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=c[a+8>>2]|0;a=c[(c[f>>2]|0)+56>>2]|0;En(e,b);Fb[a&127](f,e);In(e);i=d;return}function oh(a){a=a|0;var b=0;b=c[a+8>>2]|0;return Hb[c[(c[b>>2]|0)+80>>2]&127](b)|0}function ph(a){a=a|0;var b=0;b=c[a+8>>2]|0;return Hb[c[(c[b>>2]|0)+76>>2]&127](b)|0}function qh(a){a=a|0;var b=0;b=c[a+8>>2]|0;return Hb[c[(c[b>>2]|0)+84>>2]&127](b)|0}function rh(a){a=a|0;var b=0;b=c[a+8>>2]|0;return Hb[c[(c[b>>2]|0)+88>>2]&127](b)|0}function sh(a,b){a=a|0;b=b|0;var d=0;d=c[b+8>>2]|0;Fb[c[(c[d>>2]|0)+92>>2]&127](a,d);return}function th(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;h=c[b+8>>2]|0;b=c[(c[h>>2]|0)+96>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];Ob[b&15](a,h,d,g);i=f;return}function uh(a,b){a=a|0;b=b|0;var d=0;d=c[b+8>>2]|0;Fb[c[(c[d>>2]|0)+100>>2]&127](a,d);return}function vh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c[a>>2]=b;e=a+4|0;c[e>>2]=d;if(!b){if((d|0)<-999999999){f=((-1e9-d|0)>>>0)/1e9|0;g=~f;h=($(f,1e9)|0)+d+1e9|0;c[e>>2]=h;c[a>>2]=g;i=g;j=h}else{i=0;j=d}if((j|0)<=999999999)return;h=j+-1e9|0;j=(h>>>0)/1e9|0;c[e>>2]=h+($(j,-1e9)|0);c[a>>2]=i+j+1;return}if((b|0)<0){if((d|0)<-999999999){j=((-1e9-d|0)>>>0)/1e9|0;i=b+-1-j|0;h=($(j,1e9)|0)+d+1e9|0;c[e>>2]=h;c[a>>2]=i;k=h;l=i}else{k=d;l=b}if((k|0)>0){m=l;n=k}else return;while(1){if((m|0)>=0){o=17;break}k=n;n=n+-1e9|0;c[e>>2]=n;m=m+1|0;c[a>>2]=m;if((k|0)<=1e9){o=17;break}}if((o|0)==17)return}else{if((d|0)>999999999){m=d+-1e9|0;n=(m>>>0)/1e9|0;k=n+b+1|0;l=m+($(n,-1e9)|0)|0;c[e>>2]=l;c[a>>2]=k;p=l;q=k}else{p=d;q=b}if((p|0)<0){r=q;s=p}else return;while(1){if((r|0)<=0){o=17;break}p=s;s=s+1e9|0;c[e>>2]=s;r=r+-1|0;c[a>>2]=r;if((p|0)>=-1e9){o=17;break}}if((o|0)==17)return}}function wh(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d+8|0;f=d;if(b!=b|0.0!=0.0){g=le(9776,22687,52)|0;c[e>>2]=oo(g+(c[(c[g>>2]|0)+-12>>2]|0)|0)|0;h=Lt(e,12376)|0;j=Pb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;Jt(e);mp(g,j)|0;Yo(g)|0;c[a>>2]=0;c[a+4>>2]=0;i=d;return}if(!(b>=0.0)){wh(f,-b);vh(a,0-(c[f>>2]|0)|0,0-(c[f+4>>2]|0)|0);i=d;return}else{f=~~b;vh(a,f,~~((b-+(f|0))*1.0e9+.5));i=d;return}}function xh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=i;i=i+16|0;e=d;f=c[a>>2]|0;a:do if(!f){g=c[a+4>>2]|0;if((g|0)<0){c[e>>2]=0-f;h=e+4|0;c[h>>2]=0-g;if((g|0)<-999999999){j=-1e9-g|0;k=(j>>>0)/1e9|0;c[h>>2]=j+($(k,-1e9)|0);c[e>>2]=k+1;l=11}else l=11}else{m=g;l=12}}else{g=c[a+4>>2]|0;if((f|0)<0){k=0-f|0;j=0-g|0;c[e>>2]=k;h=e+4|0;c[h>>2]=j;if((g|0)<-999999999){n=-1e9-g|0;o=(n>>>0)/1e9|0;p=o-f+1|0;q=n+($(o,-1e9)|0)|0;c[h>>2]=q;c[e>>2]=p;r=q;s=p}else{r=j;s=k}if((r|0)<0){k=s;j=r;while(1){if((k|0)<=0){l=11;break a}p=j;j=j+1e9|0;c[h>>2]=j;k=k+-1|0;c[e>>2]=k;if((p|0)>=-1e9){l=11;break}}}else l=11}else{m=g;l=12}}while(0);if((l|0)==11){t=0-(xh(e,b)|0)|0;i=d;return t|0}else if((l|0)==12){t=~~(+(b>>>0)*(+(f|0)+ +(m|0)/1.0e9)+.5);i=d;return t|0}return 0}function yh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;if((b|0)<0){yh(f,0-b|0,d);vh(a,0-(c[f>>2]|0)|0,0-(c[f+4>>2]|0)|0);i=e;return}else{f=(b|0)/(d|0)|0;vh(a,f,~~(+(b-($(f,d)|0)|0)/+(d>>>0)*1.0e9+.5));i=e;return}}function zh(a){a=a|0;var b=0,d=0;b=a+-8|0;c[b>>2]=3360;a=b+64|0;c[a>>2]=3400;c[b+8>>2]=3380;d=b+12|0;c[d>>2]=3456;In(b+44|0);qo(d);ko(a);return}function Ah(a){a=a|0;var b=0,d=0,e=0;b=c[(c[a>>2]|0)+-12>>2]|0;c[a+b>>2]=3360;d=a+(b+64)|0;c[d>>2]=3400;c[a+(b+8)>>2]=3380;e=a+(b+12)|0;c[e>>2]=3456;In(a+(b+44)|0);qo(e);ko(d);return}function Bh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c[a>>2]=b;e=a+4|0;c[e>>2]=d;if(!b){if((d|0)<-999999999){f=((-1e9-d|0)>>>0)/1e9|0;g=~f;h=($(f,1e9)|0)+d+1e9|0;c[e>>2]=h;c[a>>2]=g;i=g;j=h}else{i=0;j=d}if((j|0)<=999999999)return;h=j+-1e9|0;j=(h>>>0)/1e9|0;c[e>>2]=h+($(j,-1e9)|0);c[a>>2]=i+j+1;return}if((b|0)<0){if((d|0)<-999999999){j=((-1e9-d|0)>>>0)/1e9|0;i=b+-1-j|0;h=($(j,1e9)|0)+d+1e9|0;c[e>>2]=h;c[a>>2]=i;k=h;l=i}else{k=d;l=b}if((k|0)>0){m=l;n=k}else return;while(1){if((m|0)>=0){o=17;break}k=n;n=n+-1e9|0;c[e>>2]=n;m=m+1|0;c[a>>2]=m;if((k|0)<=1e9){o=17;break}}if((o|0)==17)return}else{if((d|0)>999999999){m=d+-1e9|0;n=(m>>>0)/1e9|0;k=n+b+1|0;l=m+($(n,-1e9)|0)|0;c[e>>2]=l;c[a>>2]=k;p=l;q=k}else{p=d;q=b}if((p|0)<0){r=q;s=p}else return;while(1){if((r|0)<=0){o=17;break}p=s;s=s+1e9|0;c[e>>2]=s;r=r+-1|0;c[a>>2]=r;if((p|0)>=-1e9){o=17;break}}if((o|0)==17)return}}function Ch(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d+8|0;f=d;if(b!=b|0.0!=0.0){g=le(9776,22687,52)|0;c[e>>2]=oo(g+(c[(c[g>>2]|0)+-12>>2]|0)|0)|0;h=Lt(e,12376)|0;j=Pb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;Jt(e);mp(g,j)|0;Yo(g)|0;c[a>>2]=0;c[a+4>>2]=0;i=d;return}if(!(b>=0.0)){Ch(f,-b);Bh(a,0-(c[f>>2]|0)|0,0-(c[f+4>>2]|0)|0);i=d;return}else{f=~~b;Bh(a,f,~~((b-+(f|0))*1.0e9+.5));i=d;return}}function Dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=i;i=i+208|0;f=e+184|0;g=e+24|0;h=e+16|0;j=e+40|0;k=e;l=c[b>>2]|0;a:do if(!l){m=c[b+4>>2]|0;if((m|0)<0){c[h>>2]=0-l;n=h+4|0;c[n>>2]=0-m;if((m|0)<-999999999){o=-1e9-m|0;m=(o>>>0)/1e9|0;c[n>>2]=o+($(m,-1e9)|0);c[h>>2]=m+1;p=11}else p=11}}else if((l|0)<0){m=c[b+4>>2]|0;o=0-l|0;n=0-m|0;c[h>>2]=o;q=h+4|0;c[q>>2]=n;if((m|0)<-999999999){r=-1e9-m|0;m=(r>>>0)/1e9|0;s=m-l+1|0;t=r+($(m,-1e9)|0)|0;c[q>>2]=t;c[h>>2]=s;u=t;v=s}else{u=n;v=o}if((u|0)<0){o=v;n=u;while(1){if((o|0)<=0){p=11;break a}s=n;n=n+1e9|0;c[q>>2]=n;o=o+-1|0;c[h>>2]=o;if((s|0)>=-1e9){p=11;break}}}else p=11}while(0);if((p|0)==11){Dh(g,h,d);h=Vn(g,0,22740)|0;c[a>>2]=c[h>>2];c[a+4>>2]=c[h+4>>2];c[a+8>>2]=c[h+8>>2];c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;In(g);i=e;return}g=j+64|0;h=j+8|0;c[h>>2]=3380;p=j+12|0;c[j>>2]=3420;c[g>>2]=3440;c[j+4>>2]=0;po(j+64|0,p);c[j+136>>2]=0;c[j+140>>2]=-1;c[j>>2]=3360;c[j+64>>2]=3400;c[h>>2]=3380;so(p);c[p>>2]=3456;h=j+44|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[j+60>>2]=24;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;lf(p,f);In(f);f=c[b>>2]|0;if((f|0)>3599){le(ip(j+8|0,(f|0)/3600|0)|0,22744,1)|0;w=c[b>>2]|0}else w=f;if((w|0)>59){f=(w|0)%3600|0;u=j+8|0;if((w|0)>3599&(f|0)<600)le(u,22742,1)|0;le(ip(u,(f|0)/60|0)|0,22744,1)|0;x=c[b>>2]|0}else x=w;w=j+8|0;if((x|0)>9){ip(w,((x|0)%60|0|0)/10|0)|0;y=c[b>>2]|0}else y=x;ip(w,(y|0)%10|0)|0;y=c[b+4>>2]|0;b=(y|0)/1e6|0;b:do if((y+999999|0)>>>0<1999999){if(d)le(w,22746,4)|0}else{le(w,30436,1)|0;ip(w,(y|0)/1e8|0)|0;x=(b|0)%100|0;do if(x){ip(w,(x|0)/10|0)|0;f=(x|0)%10|0;if(!f)if(d)break;else break b;else{ip(w,f)|0;break b}}else{if(!d)break b;le(w,22742,1)|0}while(0);le(w,22742,1)|0}while(0);mf(k,p);c[a>>2]=c[k>>2];c[a+4>>2]=c[k+4>>2];c[a+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;In(k);c[j>>2]=3360;c[g>>2]=3400;c[w>>2]=3380;c[p>>2]=3456;In(h);qo(p);ko(g);i=e;return}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;Bh(a,(e|0)/(d|0)|0,~~((+(c[b+4>>2]|0)+ +((e|0)%(d|0)|0|0)*1.0e9)/+(d|0)+.5));return}function Fh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=i;i=i+16|0;e=d;f=c[a>>2]|0;a:do if(!f){g=c[a+4>>2]|0;if((g|0)<0){c[e>>2]=0-f;h=e+4|0;c[h>>2]=0-g;if((g|0)<-999999999){j=-1e9-g|0;k=(j>>>0)/1e9|0;c[h>>2]=j+($(k,-1e9)|0);c[e>>2]=k+1;l=11}else l=11}else{m=g;l=12}}else{g=c[a+4>>2]|0;if((f|0)<0){k=0-f|0;j=0-g|0;c[e>>2]=k;h=e+4|0;c[h>>2]=j;if((g|0)<-999999999){n=-1e9-g|0;o=(n>>>0)/1e9|0;p=o-f+1|0;q=n+($(o,-1e9)|0)|0;c[h>>2]=q;c[e>>2]=p;r=q;s=p}else{r=j;s=k}if((r|0)<0){k=s;j=r;while(1){if((k|0)<=0){l=11;break a}p=j;j=j+1e9|0;c[h>>2]=j;k=k+-1|0;c[e>>2]=k;if((p|0)>=-1e9){l=11;break}}}else l=11}else{m=g;l=12}}while(0);if((l|0)==11){t=0-(Fh(e,b)|0)|0;i=d;return t|0}else if((l|0)==12){t=~~(+(b>>>0)*(+(f|0)+ +(m|0)/1.0e9)+.5);i=d;return t|0}return 0}function Gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;if((b|0)<0){Gh(f,0-b|0,d);Bh(a,0-(c[f>>2]|0)|0,0-(c[f+4>>2]|0)|0);i=e;return}else{f=(b|0)/(d|0)|0;Bh(a,f,~~(+(b-($(f,d)|0)|0)/+(d>>>0)*1.0e9+.5));i=e;return}}function Hh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0;g=Lm((a<<4)+264|0)|0;if(g){c[g>>2]=a;i=g+4|0;c[i>>2]=1;j=+(a|0);if(((a|0)>0?(k=-0.0/j,h[g+264>>3]=+R(+k),h[g+272>>3]=+S(+-k),(a|0)!=1):0)?(k=-6.283185307179586/j,h[g+280>>3]=+R(+k),h[g+288>>3]=+S(+-k),(a|0)!=2):0){l=2;do{k=+(l|0)*-6.283185307179586/j;m=(c[i>>2]|0)==0?k:-k;h[g+264+(l<<4)>>3]=+R(+m);h[g+264+(l<<4)+8>>3]=+S(+m);l=l+1|0}while((l|0)!=(a|0))}m=+N(+(+P(+j)));l=a;i=g+8|0;n=4;while(1){a:do if(!((l|0)%(n|0)|0))o=n;else{p=n;while(1){switch(p|0){case 4:{q=2;break}case 2:{q=3;break}default:q=p+2|0}r=+(q|0)>m?l:q;if(!((l|0)%(r|0)|0)){o=r;break a}else p=r}}while(0);l=(l|0)/(o|0)|0;c[i>>2]=o;c[i+4>>2]=l;if((l|0)<=1)break;else{i=i+8|0;n=o}}}o=a>>>0>268435455?-1:a<<4;n=fk(o)|0;i=fk(o)|0;o=(a|0)>0;if(o){l=0;do{h[n+(l<<4)>>3]=+h[b+(l<<3)>>3];h[n+(l<<4)+8>>3]=0.0;l=l+1|0}while((l|0)!=(a|0))}if(!((d|0)==0|o^1)){l=0;do{h[n+(l<<4)+8>>3]=+h[d+(l<<3)>>3];l=l+1|0}while((l|0)!=(a|0))}if((n|0)==(i|0)){l=Lm(c[g>>2]<<4)|0;Ih(l,n,1,1,g+8|0,g);kx(n|0,l|0,c[g>>2]<<4|0)|0;Mm(l)}else Ih(i,n,1,1,g+8|0,g);m=1.0/+(a|0);if(o)s=0;else{Mm(g);hk(n);hk(i);return}do{h[e+(s<<3)>>3]=m*+h[i+(s<<4)>>3];h[f+(s<<3)>>3]=m*+h[i+(s<<4)+8>>3];s=s+1|0}while((s|0)!=(a|0));Mm(g);hk(n);hk(i);return}function Ih(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0.0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0,R=0;i=c[f>>2]|0;j=f+8|0;k=c[f+4>>2]|0;f=a+(($(k,i)|0)<<4)|0;if((k|0)==1){l=$(e,d)|0;m=a;n=b;while(1){h[m>>3]=+h[n>>3];h[m+8>>3]=+h[n+8>>3];m=m+16|0;if((m|0)==(f|0))break;else n=n+(l<<4)|0}}else{l=$(i,d)|0;n=$(e,d)|0;m=a;o=b;while(1){Ih(m,o,l,e,j,g);m=m+(k<<4)|0;if((m|0)==(f|0))break;else o=o+(n<<4)|0}}switch(i|0){case 2:{n=a;o=k;f=a+(k<<4)|0;m=g+264|0;while(1){p=+h[f>>3];q=+h[m>>3];j=f+8|0;r=+h[j>>3];s=+h[m+8>>3];t=p*q-r*s;u=q*r+p*s;h[f>>3]=+h[n>>3]-t;e=n+8|0;h[j>>3]=+h[e>>3]-u;h[n>>3]=t+ +h[n>>3];h[e>>3]=u+ +h[e>>3];o=o+-1|0;if(!o)break;else{n=n+16|0;f=f+16|0;m=m+(d<<4)|0}}return}case 3:{m=k<<1;u=+h[g+264+(($(k,d)|0)<<4)+8>>3];f=g+264|0;n=d<<1;o=a;e=k;j=f;l=f;while(1){f=o+(k<<4)|0;t=+h[f>>3];s=+h[j>>3];b=o+(k<<4)+8|0;p=+h[b>>3];r=+h[j+8>>3];q=t*s-p*r;v=s*p+t*r;w=o+(m<<4)|0;r=+h[w>>3];t=+h[l>>3];x=o+(m<<4)+8|0;p=+h[x>>3];s=+h[l+8>>3];y=r*t-p*s;z=t*p+r*s;s=q+y;r=v+z;h[f>>3]=+h[o>>3]-s*.5;A=o+8|0;h[b>>3]=+h[A>>3]-r*.5;p=u*(q-y);y=u*(v-z);h[o>>3]=+h[o>>3]+s;h[A>>3]=r+ +h[A>>3];h[w>>3]=y+ +h[f>>3];h[x>>3]=+h[b>>3]-p;h[f>>3]=+h[f>>3]-y;h[b>>3]=p+ +h[b>>3];e=e+-1|0;if(!e)break;else{o=o+16|0;j=j+(d<<4)|0;l=l+(n<<4)|0}}return}case 4:{n=k<<1;l=k*3|0;j=g+264|0;o=d<<1;e=d*3|0;if(!(c[g+4>>2]|0)){m=a;b=k;f=j;x=j;w=j;while(1){A=m+(k<<4)|0;u=+h[A>>3];p=+h[f>>3];B=m+(k<<4)+8|0;y=+h[B>>3];r=+h[f+8>>3];s=u*p-y*r;z=p*y+u*r;C=m+(n<<4)|0;r=+h[C>>3];u=+h[x>>3];D=m+(n<<4)+8|0;y=+h[D>>3];p=+h[x+8>>3];v=r*u-y*p;q=u*y+r*p;E=m+(l<<4)|0;p=+h[E>>3];r=+h[w>>3];F=m+(l<<4)+8|0;y=+h[F>>3];u=+h[w+8>>3];t=p*r-y*u;G=r*y+p*u;u=+h[m>>3];p=u-v;H=m+8|0;y=+h[H>>3];r=y-q;I=v+u;h[m>>3]=I;u=q+y;h[H>>3]=u;y=s+t;q=z+G;v=s-t;t=z-G;h[C>>3]=I-y;h[D>>3]=u-q;h[m>>3]=y+ +h[m>>3];h[H>>3]=q+ +h[H>>3];h[A>>3]=p+t;h[B>>3]=r-v;h[E>>3]=p-t;h[F>>3]=r+v;b=b+-1|0;if(!b)break;else{m=m+16|0;f=f+(d<<4)|0;x=x+(o<<4)|0;w=w+(e<<4)|0}}return}else{w=a;x=k;f=j;m=j;b=j;while(1){j=w+(k<<4)|0;v=+h[j>>3];r=+h[f>>3];F=w+(k<<4)+8|0;t=+h[F>>3];p=+h[f+8>>3];q=v*r-t*p;y=r*t+v*p;E=w+(n<<4)|0;p=+h[E>>3];v=+h[m>>3];B=w+(n<<4)+8|0;t=+h[B>>3];r=+h[m+8>>3];u=p*v-t*r;I=v*t+p*r;A=w+(l<<4)|0;r=+h[A>>3];p=+h[b>>3];H=w+(l<<4)+8|0;t=+h[H>>3];v=+h[b+8>>3];G=r*p-t*v;z=p*t+r*v;v=+h[w>>3];r=v-u;D=w+8|0;t=+h[D>>3];p=t-I;s=u+v;h[w>>3]=s;v=I+t;h[D>>3]=v;t=q+G;I=y+z;u=q-G;G=y-z;h[E>>3]=s-t;h[B>>3]=v-I;h[w>>3]=t+ +h[w>>3];h[D>>3]=I+ +h[D>>3];h[j>>3]=r-G;h[F>>3]=p+u;h[A>>3]=r+G;h[H>>3]=p-u;x=x+-1|0;if(!x)break;else{w=w+16|0;f=f+(d<<4)|0;m=m+(o<<4)|0;b=b+(e<<4)|0}}return}break}case 5:{e=$(k,d)|0;u=+h[g+264+(e<<4)>>3];p=+h[g+264+(e<<4)+8>>3];e=$(k,d<<1)|0;G=+h[g+264+(e<<4)>>3];r=+h[g+264+(e<<4)+8>>3];if((k|0)<=0)return;e=d*3|0;b=a;o=a+(k<<4)|0;m=a+(k<<1<<4)|0;f=a+(k*3<<4)|0;w=a+(k<<2<<4)|0;x=0;while(1){I=+h[b>>3];l=b+8|0;t=+h[l>>3];v=+h[o>>3];n=$(x,d)|0;s=+h[g+264+(n<<4)>>3];H=o+8|0;z=+h[H>>3];y=+h[g+264+(n<<4)+8>>3];q=v*s-z*y;J=s*z+v*y;y=+h[m>>3];n=$(x<<1,d)|0;v=+h[g+264+(n<<4)>>3];A=m+8|0;z=+h[A>>3];s=+h[g+264+(n<<4)+8>>3];K=y*v-z*s;L=v*z+y*s;s=+h[f>>3];n=$(e,x)|0;y=+h[g+264+(n<<4)>>3];F=f+8|0;z=+h[F>>3];v=+h[g+264+(n<<4)+8>>3];M=s*y-z*v;N=y*z+s*v;v=+h[w>>3];n=$(x<<2,d)|0;s=+h[g+264+(n<<4)>>3];j=w+8|0;z=+h[j>>3];y=+h[g+264+(n<<4)+8>>3];O=v*s-z*y;P=s*z+v*y;y=q+O;v=J+P;z=q-O;O=J-P;P=K+M;J=L+N;q=K-M;M=L-N;h[b>>3]=I+(P+y);h[l>>3]=t+(J+v);N=G*P+(I+u*y);L=G*J+(t+u*v);K=r*M+p*O;s=-(p*z)-r*q;h[o>>3]=N-K;h[H>>3]=L-s;h[w>>3]=K+N;h[j>>3]=s+L;L=u*P+(I+G*y);y=u*J+(t+G*v);v=p*M-r*O;O=r*z-p*q;h[m>>3]=v+L;h[A>>3]=O+y;h[f>>3]=L-v;h[F>>3]=y-O;x=x+1|0;if((x|0)==(k|0))break;else{b=b+16|0;o=o+16|0;m=m+16|0;f=f+16|0;w=w+16|0}}return}default:{w=c[g>>2]|0;f=Lm(i<<4)|0;if((k|0)>0){m=(i|0)>0;o=(i|0)>1;b=0;do{a:do if(m){x=b;e=0;while(1){F=f+(e<<4)|0;A=a+(x<<4)|0;c[F>>2]=c[A>>2];c[F+4>>2]=c[A+4>>2];c[F+8>>2]=c[A+8>>2];c[F+12>>2]=c[A+12>>2];e=e+1|0;if((e|0)==(i|0))break;else x=x+k|0}if(o){Q=b;R=0}else{x=b;e=0;while(1){A=a+(x<<4)|0;c[A>>2]=c[f>>2];c[A+4>>2]=c[f+4>>2];c[A+8>>2]=c[f+8>>2];c[A+12>>2]=c[f+12>>2];e=e+1|0;if((e|0)==(i|0))break a;else x=x+k|0}}while(1){x=a+(Q<<4)|0;c[x>>2]=c[f>>2];c[x+4>>2]=c[f+4>>2];c[x+8>>2]=c[f+8>>2];c[x+12>>2]=c[f+12>>2];e=$(Q,d)|0;A=a+(Q<<4)+8|0;p=+h[x>>3];r=+h[A>>3];F=1;j=0;do{H=j+e|0;j=H-((H|0)<(w|0)?0:w)|0;G=+h[f+(F<<4)>>3];u=+h[g+264+(j<<4)>>3];O=+h[f+(F<<4)+8>>3];y=+h[g+264+(j<<4)+8>>3];p=p+(G*u-O*y);h[x>>3]=p;r=r+(u*O+G*y);h[A>>3]=r;F=F+1|0}while((F|0)!=(i|0));R=R+1|0;if((R|0)==(i|0))break;else Q=Q+k|0}}while(0);b=b+1|0}while((b|0)!=(k|0))}Mm(f);return}}}function Jh(a,b){a=a|0;b=b|0;var d=0;d=c[a>>2]|0;Fb[c[(c[d>>2]|0)+12>>2]&127](d,b);return}function Kh(b){b=b|0;var d=0;if((a[352]|0)==0?(Fa(352)|0)!=0:0){mi(4292);ib(186,4292,n|0)|0;Ma(352)}c[b>>2]=c[1073];d=c[1074]|0;c[b+4>>2]=d;if(!d)return;xn(d);return}function Lh(a,b){a=a|0;b=+b;var d=0,e=0;d=ek(32)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=4360;e=d+16|0;h[d+24>>3]=b;c[e>>2]=4388;c[a>>2]=e;c[a+4>>2]=d;return}function Mh(a,b){a=a|0;b=b|0;var d=0,e=0;d=ek(20)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=4452;e=d+12|0;c[d+16>>2]=b;c[e>>2]=4480;c[a>>2]=e;c[a+4>>2]=d;return}function Nh(b,d){b=b|0;d=d|0;var e=0;if((a[352]|0)==0?(Fa(352)|0)!=0:0){mi(4292);ib(186,4292,n|0)|0;Ma(352)}e=d?4300:4308;c[b>>2]=c[e>>2];d=c[e+4>>2]|0;c[b+4>>2]=d;if(!d)return;xn(d);return}function Oh(a,b){a=a|0;b=b|0;var d=0,e=0;d=ek(28)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=4544;e=d+12|0;c[e>>2]=4572;En(d+16|0,b);c[e>>2]=4636;c[a>>2]=e;c[a+4>>2]=d;return}function Ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=ek(28)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=4544;e=d+12|0;f=d+16|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[e>>2]=4636;c[a>>2]=e;c[a+4>>2]=d;return}function Qh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d;f=ek(28)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=4544;Fn(e,b,um(b)|0);b=f+12|0;g=f+16|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[b>>2]=4636;In(e);c[a>>2]=b;c[a+4>>2]=f;i=d;return}function Rh(a,b){a=a|0;b=b|0;var d=0,e=0;d=ek(28)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=4700;e=d+12|0;c[e>>2]=4728;oi(d+16|0,b);c[e>>2]=4172;c[a>>2]=e;c[a+4>>2]=d;return}function Sh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=ek(28)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=4700;e=d+12|0;c[d+16>>2]=c[b>>2];f=b+4|0;c[d+20>>2]=c[f>>2];g=b+8|0;c[d+24>>2]=c[g>>2];c[g>>2]=0;c[f>>2]=0;c[b>>2]=0;c[e>>2]=4172;c[a>>2]=e;c[a+4>>2]=d;return}function Th(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;pi(e,b);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];i=d;return}function Uh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=ek(28)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=4792;e=d+12|0;c[e>>2]=4820;f=d+16|0;c[f>>2]=c[b>>2];g=d+20|0;h=c[b+4>>2]|0;c[g>>2]=h;i=b+8|0;j=c[i>>2]|0;c[d+24>>2]=j;if(!j){c[f>>2]=g;c[e>>2]=4236;k=e;l=d;c[a>>2]=k;m=a+4|0;c[m>>2]=l;return}else{c[h+8>>2]=g;g=b+4|0;c[b>>2]=g;c[g>>2]=0;c[i>>2]=0;c[e>>2]=4236;k=e;l=d;c[a>>2]=k;m=a+4|0;c[m>>2]=l;return}}function Vh(a){a=a|0;var b=0;b=c[a>>2]|0;return Hb[c[c[b>>2]>>2]&127](b)|0}function Wh(a){a=a|0;var b=0;b=c[a>>2]|0;return +(+Db[c[(c[b>>2]|0)+16>>2]&3](b))}function Xh(a){a=a|0;var b=0;b=c[a>>2]|0;return Hb[c[(c[b>>2]|0)+20>>2]&127](b)|0}function Yh(a){a=a|0;var b=0;b=c[a>>2]|0;return Hb[c[(c[b>>2]|0)+28>>2]&127](b)|0}function Zh(a){a=a|0;var b=0;b=c[a>>2]|0;return Hb[c[(c[b>>2]|0)+32>>2]&127](b)|0}function _h(a){a=a|0;var b=0;b=c[a>>2]|0;return Hb[c[(c[b>>2]|0)+40>>2]&127](b)|0}function $h(a,b){a=a|0;b=b|0;var d=0;d=c[a>>2]|0;return Pb[c[(c[d>>2]|0)+44>>2]&63](d,b)|0}function ai(a){a=a|0;return 0.0}function bi(a){a=a|0;return 0}function ci(a){a=a|0;return 0}function di(b){b=b|0;if(a[352]|0)return 4316;if(!(Fa(352)|0))return 4316;mi(4292);ib(186,4292,n|0)|0;Ma(352);return 4316}function ei(b){b=b|0;if(a[352]|0)return 4328;if(!(Fa(352)|0))return 4328;mi(4292);ib(186,4292,n|0)|0;Ma(352);return 4328}function fi(b){b=b|0;if(a[352]|0)return 4340;if(!(Fa(352)|0))return 4340;mi(4292);ib(186,4292,n|0)|0;Ma(352);return 4340}function gi(b,c){b=b|0;c=c|0;if(a[360]|0)return 4876;if(!(Fa(360)|0))return 4876;Kh(4876);ib(187,4876,n|0)|0;Ma(360);return 4876}function hi(b,c){b=b|0;c=c|0;if(a[360]|0)return 4876;if(!(Fa(360)|0))return 4876;Kh(4876);ib(187,4876,n|0)|0;Ma(360);return 4876}function ii(b,c){b=b|0;c=c|0;var d=0,e=0;d=ri(b+4|0,c)|0;if((d|0)!=(b+8|0)){e=d+28|0;return e|0}if(a[360]|0){e=4876;return e|0}if(!(Fa(360)|0)){e=4876;return e|0}Kh(4876);ib(187,4876,n|0)|0;Ma(360);e=4876;return e|0}function ji(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+4>>2]|0;if((c[b+8>>2]|0)-e>>3>>>0>d>>>0){f=e+(d<<3)|0;return f|0}if(a[360]|0){f=4876;return f|0}if(!(Fa(360)|0)){f=4876;return f|0}Kh(4876);ib(187,4876,n|0)|0;Ma(360);f=4876;return f|0}function ki(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;i=i+80|0;h=g+8|0;j=g;k=g+68|0;l=g+48|0;m=g+40|0;n=g+24|0;o=g+12|0;c[l>>2]=d;p=l+4|0;c[p>>2]=0;c[l+8>>2]=e;a[l+12>>0]=0;c[l+16>>2]=f;si(m,l,0);ti(l);f=c[p>>2]|0;p=a[d>>0]|0;e=(p&1)==0;if((f|0)==((e?(p&255)>>>1:c[d+4>>2]|0)|0)){c[b>>2]=c[m>>2];p=m+4|0;c[b+4>>2]=c[p>>2];c[m>>2]=0;c[p>>2]=0;i=g;return}p=a[(e?d+1|0:c[d+8>>2]|0)+f>>0]|0;f=p<<24>>24;if((p&255)>31&p<<24>>24>-1){c[j>>2]=f;c[j+4>>2]=f;cm(k,12,22813,j)|0}else{c[h>>2]=f;cm(k,12,22823,h)|0}Fn(o,k,um(k)|0);k=Vn(o,0,22828)|0;c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;ui(b,l,n);In(n);In(o);o=c[m+4>>2]|0;if(!o){i=g;return}yn(o);i=g;return}function li(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=i;i=i+80|0;g=f+60|0;h=f+48|0;j=f+36|0;k=f+24|0;l=f+12|0;m=f;n=c[b>>2]|0;if((Hb[c[c[n>>2]>>2]&127](n)|0)!=5){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;n=c[b>>2]|0;Fb[c[(c[n>>2]|0)+12>>2]&127](n,h);n=Vn(h,0,22849)|0;c[g>>2]=c[n>>2];c[g+4>>2]=c[n+4>>2];c[g+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;if(!(a[e>>0]&1)){a[e+1>>0]=0;a[e>>0]=0}else{a[c[e+8>>2]>>0]=0;c[e+4>>2]=0}On(e,0);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;In(g);In(h);o=0;i=f;return o|0}h=c[d>>2]|0;g=c[d+4>>2]|0;d=h+(g<<4)|0;if(!g){o=1;i=f;return o|0}else p=h;while(1){h=c[b>>2]|0;g=c[(Pb[c[(c[h>>2]|0)+44>>2]&63](h,p)|0)>>2]|0;h=Hb[c[c[g>>2]>>2]&127](g)|0;if((h|0)!=(c[p+12>>2]|0)){q=p;break}p=p+16|0;if((p|0)==(d|0)){o=1;r=13;break}}if((r|0)==13){i=f;return o|0};c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;r=a[q>>0]|0;d=(r&1)==0?(r&255)>>>1:c[q+4>>2]|0;Yn(l,22876,13,d+13|0);Rn(l,(a[q>>0]&1)==0?q+1|0:c[q+8>>2]|0,d)|0;d=Pn(l,22890)|0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;d=c[b>>2]|0;Fb[c[(c[d>>2]|0)+12>>2]&127](d,m);d=a[m>>0]|0;b=(d&1)==0;q=Rn(k,b?m+1|0:c[m+8>>2]|0,b?(d&255)>>>1:c[m+4>>2]|0)|0;c[j>>2]=c[q>>2];c[j+4>>2]=c[q+4>>2];c[j+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;if(!(a[e>>0]&1)){a[e+1>>0]=0;a[e>>0]=0}else{a[c[e+8>>2]>>0]=0;c[e+4>>2]=0}On(e,0);c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;In(j);In(m);In(k);In(l);o=0;i=f;return o|0}function mi(b){b=b|0;var d=0,e=0;d=ek(20)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=4892;e=d+12|0;c[d+16>>2]=0;c[e>>2]=4920;c[b>>2]=e;c[b+4>>2]=d;d=ek(20)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=4984;e=d+12|0;a[d+16>>0]=1;c[e>>2]=5012;c[b+8>>2]=e;c[b+12>>2]=d;d=ek(20)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=4984;e=d+12|0;a[d+16>>0]=0;c[e>>2]=5012;c[b+16>>2]=e;c[b+20>>2]=d;d=b+24|0;c[b+52>>2]=0;c[b+56>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[b+48>>2]=b+52;return}function ni(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;Bd(a+48|0,c[a+52>>2]|0);b=a+36|0;d=c[b>>2]|0;if(d){e=a+40|0;f=c[e>>2]|0;if((f|0)==(d|0))g=d;else{h=f;while(1){f=h+-8|0;c[e>>2]=f;i=c[h+-4>>2]|0;if(!i)j=f;else{yn(i);j=c[e>>2]|0}if((j|0)==(d|0))break;else h=j}g=c[b>>2]|0}gk(g)}In(a+24|0);g=c[a+20>>2]|0;if(g)yn(g);g=c[a+12>>2]|0;if(g)yn(g);g=c[a+4>>2]|0;if(!g)return;yn(g);return}function oi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=0;d=a+4|0;c[d>>2]=0;c[a+8>>2]=0;e=b+4|0;f=(c[e>>2]|0)-(c[b>>2]|0)|0;g=f>>3;if(!g)return;if(g>>>0>536870911)ck(a);h=ek(f)|0;c[d>>2]=h;c[a>>2]=h;c[a+8>>2]=h+(g<<3);g=c[b>>2]|0;b=c[e>>2]|0;if((g|0)==(b|0))return;e=g;g=h;do{c[g>>2]=c[e>>2];h=c[e+4>>2]|0;c[g+4>>2]=h;if(!h)i=g;else{xn(h);i=c[d>>2]|0}g=i+8|0;c[d>>2]=g;e=e+8|0}while((e|0)!=(b|0));return}function pi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=i;i=i+16|0;e=d+4|0;f=d;g=ek(28)|0;c[g+4>>2]=0;c[g+8>>2]=0;c[g>>2]=4792;h=g+12|0;c[h>>2]=4820;j=g+16|0;k=g+20|0;c[k>>2]=0;c[g+24>>2]=0;c[j>>2]=k;l=c[b>>2]|0;m=b+4|0;if((l|0)==(m|0)){c[h>>2]=4236;n=a+4|0;c[a>>2]=h;c[n>>2]=g;i=d;return}b=k;k=l;o=l;while(1){c[f>>2]=b;c[e>>2]=c[f>>2];Hd(j,e,k+16|0)|0;l=c[o+4>>2]|0;if(!l){p=o;while(1){q=c[p+8>>2]|0;if((c[q>>2]|0)==(p|0)){r=q;break}else p=q}}else{p=l;while(1){q=c[p>>2]|0;if(!q){r=p;break}else p=q}}if((r|0)==(m|0))break;else{k=r;o=r}}c[h>>2]=4236;n=a+4|0;c[a>>2]=h;c[n>>2]=g;i=d;return}function qi(a){a=a|0;var b=0;b=c[a+4>>2]|0;if(!b)return;yn(b);return}function ri(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=b+4|0;b=c[e>>2]|0;if(b){f=a[d>>0]|0;g=(f&1)==0;h=g?(f&255)>>>1:c[d+4>>2]|0;f=g?d+1|0:c[d+8>>2]|0;d=e;g=b;a:while(1){b=g;while(1){i=b+16|0;j=a[i>>0]|0;k=(j&1)==0;l=k?(j&255)>>>1:c[b+20>>2]|0;j=rm(k?i+1|0:c[b+24>>2]|0,f,h>>>0<l>>>0?h:l)|0;if((((j|0)==0?(l>>>0<h>>>0?-2147483648:0):j)|0)>=0){m=b;break}b=c[b+4>>2]|0;if(!b){n=d;break a}}g=c[m>>2]|0;if(!g){n=m;break}else d=m}if((n|0)!=(e|0)?(m=n+16|0,d=a[m>>0]|0,g=(d&1)==0,b=g?(d&255)>>>1:c[n+20>>2]|0,d=rm(f,g?m+1|0:c[n+24>>2]|0,b>>>0<h>>>0?b:h)|0,(((d|0)==0?(h>>>0<b>>>0?-2147483648:0):d)|0)>=0):0){o=n;return o|0}}o=e;return o|0}function si(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,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;f=i;i=i+368|0;g=f+72|0;h=f+64|0;j=f+56|0;k=f+48|0;l=f+40|0;m=f+32|0;o=f+24|0;p=f+16|0;q=f+8|0;r=f;s=f+352|0;t=f+340|0;u=f+328|0;v=f+320|0;w=f+304|0;x=f+296|0;y=f+280|0;z=f+272|0;A=f+256|0;B=f+244|0;C=f+232|0;D=f+220|0;E=f+208|0;F=f+196|0;G=f+184|0;H=f+176|0;I=f+160|0;J=f+148|0;K=f+136|0;L=f+128|0;M=f+112|0;N=f+100|0;O=f+88|0;P=f+76|0;if((e|0)>200){Fn(t,23333,30);ui(b,d,t);In(t);i=f;return}t=Oi(d)|0;Q=d+12|0;if(a[Q>>0]|0){Kh(b);i=f;return}if(t<<24>>24==45|(t+-48&255)<10){R=d+4|0;c[R>>2]=(c[R>>2]|0)+-1;Pi(b,d);i=f;return}switch(t<<24>>24){case 116:{Fn(u,32555,4);if((a[352]|0)==0?(Fa(352)|0)!=0:0){mi(4292);ib(186,4292,n|0)|0;Ma(352)}c[v>>2]=c[1075];R=v+4|0;S=c[1076]|0;c[R>>2]=S;if(S)xn(S);Qi(b,d,u,v);v=c[R>>2]|0;if(v)yn(v);In(u);i=f;return}case 102:{Fn(w,32560,5);if((a[352]|0)==0?(Fa(352)|0)!=0:0){mi(4292);ib(186,4292,n|0)|0;Ma(352)}c[x>>2]=c[1077];u=x+4|0;v=c[1078]|0;c[u>>2]=v;if(v)xn(v);Qi(b,d,w,x);x=c[u>>2]|0;if(x)yn(x);In(w);i=f;return}case 110:{Fn(y,23364,4);Kh(z);Qi(b,d,y,z);w=c[z+4>>2]|0;if(w)yn(w);In(y);i=f;return}case 34:{Ri(A,d);y=ek(28)|0;c[y+4>>2]=0;c[y+8>>2]=0;c[y>>2]=4544;w=y+12|0;z=y+16|0;c[z>>2]=c[A>>2];c[z+4>>2]=c[A+4>>2];c[z+8>>2]=c[A+8>>2];c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[w>>2]=4636;c[b>>2]=w;c[b+4>>2]=y;In(A);i=f;return}case 123:{A=B+4|0;c[A>>2]=0;y=B+8|0;c[y>>2]=0;w=B+4|0;c[B>>2]=w;z=Oi(d)|0;a:do switch(z<<24>>24){case 125:{pi(s,B);c[b>>2]=c[s>>2];c[b+4>>2]=c[s+4>>2];break}case 34:{x=e+1|0;u=H+4|0;b:while(1){Ri(E,d);if(a[Q>>0]|0){T=36;break}v=Oi(d)|0;if(v<<24>>24!=58){U=v;T=38;break}v=yd(B,s,E)|0;R=c[v>>2]|0;if(!R){S=ek(36)|0;V=S+16|0;c[V>>2]=c[E>>2];c[V+4>>2]=c[E+4>>2];c[V+8>>2]=c[E+8>>2];c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;Kh(S+28|0);V=c[s>>2]|0;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=V;c[v>>2]=S;V=c[c[B>>2]>>2]|0;if(!V)W=S;else{c[B>>2]=V;W=c[v>>2]|0}xc(c[A>>2]|0,W);c[y>>2]=(c[y>>2]|0)+1;X=S}else X=R;si(H,d,x);R=c[H>>2]|0;S=c[u>>2]|0;c[H>>2]=0;c[u>>2]=0;c[X+28>>2]=R;R=X+32|0;v=c[R>>2]|0;c[R>>2]=S;if(v)yn(v);v=c[u>>2]|0;if(v)yn(v);if(a[Q>>0]|0){T=51;break}v=Oi(d)|0;switch(v<<24>>24){case 125:{T=59;break b;break}case 44:break;default:{Y=v;T=53;break b}}v=Oi(d)|0;In(E);if(v<<24>>24!=34){Z=v;T=31;break a}}if((T|0)==36)Kh(b);else if((T|0)==38){u=U<<24>>24;if((U&255)>31&U<<24>>24>-1){c[p>>2]=u;c[p+4>>2]=u;cm(s,12,22813,p)|0}else{c[o>>2]=u;cm(s,12,22823,o)|0}Fn(G,s,um(s)|0);u=Vn(G,0,23398)|0;c[F>>2]=c[u>>2];c[F+4>>2]=c[u+4>>2];c[F+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;ui(b,d,F);In(F);In(G)}else if((T|0)==51)Kh(b);else if((T|0)==53){u=Y<<24>>24;if((Y&255)>31&Y<<24>>24>-1){c[m>>2]=u;c[m+4>>2]=u;cm(s,12,22813,m)|0}else{c[l>>2]=u;cm(s,12,22823,l)|0}Fn(J,s,um(s)|0);u=Vn(J,0,23427)|0;c[I>>2]=c[u>>2];c[I+4>>2]=c[u+4>>2];c[I+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;ui(b,d,I);In(I);In(J)}else if((T|0)==59){In(E);pi(s,B);c[b>>2]=c[s>>2];c[b+4>>2]=c[s+4>>2];break a}In(E);break}default:{Z=z;T=31}}while(0);if((T|0)==31){z=Z<<24>>24;if((Z&255)>31&Z<<24>>24>-1){c[r>>2]=z;c[r+4>>2]=z;cm(s,12,22813,r)|0}else{c[q>>2]=z;cm(s,12,22823,q)|0}Fn(D,s,um(s)|0);q=Vn(D,0,23369)|0;c[C>>2]=c[q>>2];c[C+4>>2]=c[q+4>>2];c[C+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;ui(b,d,C);In(C);In(D)}Bd(B,c[w>>2]|0);i=f;return}case 91:{c[K>>2]=0;w=K+4|0;c[w>>2]=0;c[K+8>>2]=0;do if((Oi(d)|0)<<24>>24!=93){B=d+4|0;D=e+1|0;C=K+8|0;q=L+4|0;c:while(1){c[B>>2]=(c[B>>2]|0)+-1;si(L,d,D);z=c[w>>2]|0;if(z>>>0>=(c[C>>2]|0)>>>0){Dd(K,L);r=c[q>>2]|0;if(r)yn(r)}else{c[z>>2]=c[L>>2];c[z+4>>2]=c[q>>2];c[L>>2]=0;c[q>>2]=0;c[w>>2]=z+8}if(a[Q>>0]|0){T=69;break}z=Oi(d)|0;switch(z<<24>>24){case 93:{T=76;break c;break}case 44:break;default:{_=z;T=71;break c}}Oi(d)|0}if((T|0)==69){Kh(b);break}else if((T|0)==71){q=_<<24>>24;if((_&255)>31&_<<24>>24>-1){c[k>>2]=q;c[k+4>>2]=q;cm(s,12,22813,k)|0}else{c[j>>2]=q;cm(s,12,22823,j)|0}Fn(N,s,um(s)|0);q=Vn(N,0,23456)|0;c[M>>2]=c[q>>2];c[M+4>>2]=c[q+4>>2];c[M+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;ui(b,d,M);In(M);In(N);break}else if((T|0)==76){q=ek(28)|0;c[q+4>>2]=0;c[q+8>>2]=0;c[q>>2]=4700;C=q+12|0;c[C>>2]=4728;oi(q+16|0,K);c[C>>2]=4172;c[b>>2]=C;c[b+4>>2]=q;break}}else{q=ek(28)|0;c[q+4>>2]=0;c[q+8>>2]=0;c[q>>2]=4700;C=q+12|0;c[C>>2]=4728;oi(q+16|0,K);c[C>>2]=4172;c[b>>2]=C;c[b+4>>2]=q}while(0);T=c[K>>2]|0;if(!T){i=f;return}N=c[w>>2]|0;if((N|0)==(T|0))$=T;else{M=N;while(1){N=M+-8|0;c[w>>2]=N;j=c[M+-4>>2]|0;if(!j)aa=N;else{yn(j);aa=c[w>>2]|0}if((aa|0)==(T|0))break;else M=aa}$=c[K>>2]|0}gk($);i=f;return}default:{$=t<<24>>24;if((t&255)>31&t<<24>>24>-1){c[h>>2]=$;c[h+4>>2]=$;cm(s,12,22813,h)|0}else{c[g>>2]=$;cm(s,12,22823,g)|0}Fn(P,s,um(s)|0);s=Vn(P,0,23483)|0;c[O>>2]=c[s>>2];c[O+4>>2]=c[s+4>>2];c[O+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;ui(b,d,O);In(O);In(P);i=f;return}}}function ti(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=b+4|0;e=c[b>>2]|0;f=e+1|0;g=e+8|0;h=c[d>>2]|0;while(1){i=(a[e>>0]&1)==0;if(i)j=f;else j=c[g>>2]|0;if((a[j+h>>0]|0)!=32){if(i)k=f;else k=c[g>>2]|0;if((a[k+h>>0]|0)!=13){if(i)l=f;else l=c[g>>2]|0;if((a[l+h>>0]|0)!=10){if(i)m=f;else m=c[g>>2]|0;if((a[m+h>>0]|0)!=9)break}}}i=h+1|0;c[d>>2]=i;h=i}if((c[b+16>>2]|0)!=1)return;do{h=Ni(b)|0;m=c[b>>2]|0;g=m+1|0;f=m+8|0;l=c[d>>2]|0;while(1){k=(a[m>>0]&1)==0;if(k)n=g;else n=c[f>>2]|0;if((a[n+l>>0]|0)!=32){if(k)o=g;else o=c[f>>2]|0;if((a[o+l>>0]|0)!=13){if(k)p=g;else p=c[f>>2]|0;if((a[p+l>>0]|0)!=10){if(k)q=g;else q=c[f>>2]|0;if((a[q+l>>0]|0)!=9)break}}}k=l+1|0;c[d>>2]=k;l=k}}while(h);return}function ui(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f;Kh(g);h=d+12|0;if(!(a[h>>0]|0)){j=c[d+8>>2]|0;if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}On(j,0);c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0}a[h>>0]=1;c[b>>2]=c[g>>2];h=c[g+4>>2]|0;c[b+4>>2]=h;if(!h){i=f;return}xn(h);yn(h);i=f;return}function vi(a){a=a|0;return}function wi(a){a=a|0;return 4}function xi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[a+8>>2]|0;e=c[a+4>>2]|0;a=c[b+4>>2]|0;if((d-e|0)!=((c[b+8>>2]|0)-a|0)){f=0;return f|0}if((e|0)==(d|0)){f=1;return f|0}else{g=e;h=a}while(1){a=c[g>>2]|0;e=Hb[c[c[a>>2]>>2]&127](a)|0;a=c[h>>2]|0;if((e|0)!=(Hb[c[c[a>>2]>>2]&127](a)|0)){f=0;i=6;break}a=c[g>>2]|0;if(!(Pb[c[(c[a>>2]|0)+4>>2]&63](a,c[h>>2]|0)|0)){f=0;i=6;break}g=g+8|0;if((g|0)==(d|0)){f=1;i=6;break}else h=h+8|0}if((i|0)==6)return f|0;return 0}function yi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+48|0;e=d+32|0;f=d+28|0;g=d+24|0;h=d+20|0;j=d+16|0;k=d+12|0;l=d+8|0;m=d+4|0;n=c[b+8>>2]|0;o=c[b+4>>2]|0;b=c[a+8>>2]|0;c[j>>2]=c[a+4>>2];c[k>>2]=b;c[l>>2]=o;c[m>>2]=n;c[h>>2]=c[j>>2];c[g>>2]=c[k>>2];c[f>>2]=c[l>>2];c[e>>2]=c[m>>2];m=Mi(h,g,f,e,d)|0;i=d;return m|0}function zi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;Pn(b,23176)|0;d=c[a+4>>2]|0;e=c[a+8>>2]|0;if((d|0)==(e|0)){Pn(b,23178)|0;return}else{f=d;g=1}while(1){if(!g)Pn(b,23051)|0;d=c[f>>2]|0;Fb[c[(c[d>>2]|0)+12>>2]&127](d,b);f=f+8|0;if((f|0)==(e|0))break;else g=0}Pn(b,23178)|0;return}function Ai(a){a=a|0;return a+4|0}function Bi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=4728;b=a+4|0;d=c[b>>2]|0;if(!d)return;e=a+8|0;a=c[e>>2]|0;if((a|0)==(d|0))f=d;else{g=a;while(1){a=g+-8|0;c[e>>2]=a;h=c[g+-4>>2]|0;if(!h)i=a;else{yn(h);i=c[e>>2]|0}if((i|0)==(d|0))break;else g=i}f=c[b>>2]|0}gk(f);return}function Ci(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[a>>2]=4728;b=a+4|0;d=c[b>>2]|0;if(!d){gk(a);return}e=a+8|0;f=c[e>>2]|0;if((f|0)==(d|0))g=d;else{h=f;while(1){f=h+-8|0;c[e>>2]=f;i=c[h+-4>>2]|0;if(!i)j=f;else{yn(i);j=c[e>>2]|0}if((j|0)==(d|0))break;else h=j}g=c[b>>2]|0}gk(g);gk(a);return}function Di(a){a=a|0;return 5}function Ei(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((c[b+12>>2]|0)!=(c[d+12>>2]|0)){e=0;return e|0}f=c[b+4>>2]|0;g=b+8|0;b=c[d+4>>2]|0;if((f|0)==(g|0)){e=1;return e|0}d=f;h=b;i=f;f=b;a:while(1){b=d+16|0;j=h+16|0;k=a[b>>0]|0;l=(k&1)==0;m=l?(k&255)>>>1:c[d+20>>2]|0;k=a[j>>0]|0;n=(k&1)==0;if((m|0)!=((n?(k&255)>>>1:c[h+20>>2]|0)|0)){e=0;o=19;break}k=l?b+1|0:c[d+24>>2]|0;b=n?j+1|0:c[h+24>>2]|0;if(l){if(m){l=m;j=k;n=b;while(1){if((a[j>>0]|0)!=(a[n>>0]|0)){e=0;o=19;break a}l=l+-1|0;if(!l)break;else{j=j+1|0;n=n+1|0}}}}else if(rm(k,b,m)|0){e=0;o=19;break}n=d+28|0;j=c[n>>2]|0;l=Hb[c[c[j>>2]>>2]&127](j)|0;j=h+28|0;p=c[j>>2]|0;if((l|0)!=(Hb[c[c[p>>2]>>2]&127](p)|0)){e=0;o=19;break}p=c[n>>2]|0;if(!(Pb[c[(c[p>>2]|0)+4>>2]&63](p,c[j>>2]|0)|0)){e=0;o=19;break}j=c[i+4>>2]|0;if(!j){p=i;while(1){n=c[p+8>>2]|0;if((c[n>>2]|0)==(p|0)){q=n;break}else p=n}}else{p=j;while(1){m=c[p>>2]|0;if(!m){q=p;break}else p=m}}p=c[f+4>>2]|0;if(!p){j=f;while(1){m=c[j+8>>2]|0;if((c[m>>2]|0)==(j|0)){r=m;break}else j=m}}else{j=p;while(1){m=c[j>>2]|0;if(!m){r=j;break}else j=m}}if((q|0)==(g|0)){e=1;o=19;break}else{d=q;h=r;i=q;f=r}}if((o|0)==19)return e|0;return 0}function Fi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;d=i;i=i+48|0;e=d+32|0;f=d+28|0;g=d+24|0;h=d+20|0;j=d+16|0;k=d+12|0;l=d+8|0;m=d+4|0;n=c[b+4>>2]|0;c[j>>2]=c[a+4>>2];c[k>>2]=a+8;c[l>>2]=n;c[m>>2]=b+8;c[h>>2]=c[j>>2];c[g>>2]=c[k>>2];c[f>>2]=c[l>>2];c[e>>2]=c[m>>2];m=Li(h,g,f,e,d)|0;i=d;return m|0}function Gi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;Pn(b,23049)|0;d=c[a+4>>2]|0;e=a+8|0;if((d|0)==(e|0)){Pn(b,23057)|0;return}a=d;d=1;while(1){if(!d)Pn(b,23051)|0;Ki(a+16|0,b);Pn(b,23054)|0;f=c[a+28>>2]|0;Fb[c[(c[f>>2]|0)+12>>2]&127](f,b);f=c[a+4>>2]|0;if(!f){g=a;while(1){h=c[g+8>>2]|0;if((c[h>>2]|0)==(g|0)){i=h;break}else g=h}}else{g=f;while(1){h=c[g>>2]|0;if(!h){i=g;break}else g=h}}if((i|0)==(e|0))break;else{a=i;d=0}}Pn(b,23057)|0;return}function Hi(a){a=a|0;return a+4|0}function Ii(a){a=a|0;c[a>>2]=4820;Bd(a+4|0,c[a+8>>2]|0);return}function Ji(a){a=a|0;c[a>>2]=4820;Bd(a+4|0,c[a+8>>2]|0);gk(a);return}function Ki(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+16|0;f=e;g=e+8|0;Qn(d,34);h=a[b>>0]|0;j=b+4|0;if(!(((h&1)==0?(h&255)>>>1:c[j>>2]|0)|0)){Qn(d,34);i=e;return}k=b+8|0;l=b+1|0;m=h;h=0;do{n=(m&1)==0?l:c[k>>2]|0;o=a[n+h>>0]|0;a:do switch(o<<24>>24){case 92:{Pn(d,23059)|0;p=h;break}case 34:{Pn(d,23062)|0;p=h;break}case 8:{Pn(d,23065)|0;p=h;break}case 12:{Pn(d,23068)|0;p=h;break}case 10:{Pn(d,23071)|0;p=h;break}case 13:{Pn(d,23074)|0;p=h;break}case 9:{Pn(d,23077)|0;p=h;break}default:{if((o&255)<32){c[f>>2]=o<<24>>24;cm(g,8,23080,f)|0;Pn(d,g)|0;p=h;break a}if(o<<24>>24==-30?(a[n+(h+1)>>0]|0)==-128:0){q=h+2|0;if((a[n+q>>0]|0)==-88){Pn(d,23087)|0;p=q;break a}q=h+2|0;if((a[n+q>>0]|0)==-87){Pn(d,23094)|0;p=q;break a}}Qn(d,o);p=h}}while(0);h=p+1|0;m=a[b>>0]|0}while(h>>>0<((m&1)==0?(m&255)>>>1:c[j>>2]|0)>>>0);Qn(d,34);i=e;return}function Li(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;g=c[e>>2]|0;h=c[f>>2]|0;if((g|0)==(h|0)){i=0;return i|0}f=c[b>>2]|0;j=c[d>>2]|0;d=f;k=g;l=f;f=g;m=g;a:while(1){if((l|0)==(j|0)){i=1;n=21;break}g=l+16|0;o=f+16|0;p=a[g>>0]|0;q=(p&1)==0;r=q?(p&255)>>>1:c[l+20>>2]|0;p=a[o>>0]|0;s=(p&1)==0;t=s?(p&255)>>>1:c[f+20>>2]|0;p=q?g+1|0:c[l+24>>2]|0;g=s?o+1|0:c[f+24>>2]|0;o=t>>>0<r>>>0;s=rm(p,g,o?t:r)|0;q=r>>>0<t>>>0;if((((s|0)==0?(q?-2147483648:0):s)|0)<0){i=1;n=21;break}s=rm(g,p,q?r:t)|0;do if((((s|0)==0?(o?-2147483648:0):s)|0)>=0){t=l+28|0;r=c[t>>2]|0;q=Hb[c[c[r>>2]>>2]&127](r)|0;r=f+28|0;p=c[r>>2]|0;g=(q|0)==(Hb[c[c[p>>2]>>2]&127](p)|0);p=c[t>>2]|0;if(g)if(Pb[c[(c[p>>2]|0)+8>>2]&63](p,c[r>>2]|0)|0){i=1;n=21;break a}else break;else{g=Hb[c[c[p>>2]>>2]&127](p)|0;p=c[r>>2]|0;if((g|0)<(Hb[c[c[p>>2]>>2]&127](p)|0)){i=1;n=21;break a}else break}}while(0);s=m+16|0;o=l+16|0;p=a[s>>0]|0;g=(p&1)==0;r=g?(p&255)>>>1:c[m+20>>2]|0;p=a[o>>0]|0;t=(p&1)==0;q=t?(p&255)>>>1:c[l+20>>2]|0;p=g?s+1|0:c[m+24>>2]|0;s=t?o+1|0:c[l+24>>2]|0;o=q>>>0<r>>>0;t=rm(p,s,o?q:r)|0;g=r>>>0<q>>>0;if((((t|0)==0?(g?-2147483648:0):t)|0)<0){i=0;n=21;break}t=rm(s,p,g?r:q)|0;do if((((t|0)==0?(o?-2147483648:0):t)|0)>=0){q=m+28|0;r=c[q>>2]|0;g=Hb[c[c[r>>2]>>2]&127](r)|0;r=l+28|0;p=c[r>>2]|0;s=(g|0)==(Hb[c[c[p>>2]>>2]&127](p)|0);p=c[q>>2]|0;if(s)if(Pb[c[(c[p>>2]|0)+8>>2]&63](p,c[r>>2]|0)|0){i=0;n=21;break a}else break;else{s=Hb[c[c[p>>2]>>2]&127](p)|0;p=c[r>>2]|0;if((s|0)<(Hb[c[c[p>>2]>>2]&127](p)|0)){i=0;n=21;break a}else break}}while(0);t=c[d+4>>2]|0;if(!t){o=d;while(1){p=c[o+8>>2]|0;if((c[p>>2]|0)==(o|0)){u=p;break}else o=p}}else{o=t;while(1){p=c[o>>2]|0;if(!p){u=o;break}else o=p}}c[b>>2]=u;o=c[k+4>>2]|0;if(!o){t=k;while(1){p=c[t+8>>2]|0;if((c[p>>2]|0)==(t|0)){v=p;break}else t=p}}else{t=o;while(1){p=c[t>>2]|0;if(!p){v=t;break}else t=p}}c[e>>2]=v;if((v|0)==(h|0)){i=0;n=21;break}else{d=u;k=v;l=u;f=v;m=v}}if((n|0)==21)return i|0;return 0}function Mi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;f=c[d>>2]|0;g=c[e>>2]|0;if((f|0)==(g|0)){h=0;return h|0}e=c[b>>2]|0;b=f;f=c[a>>2]|0;while(1){if((f|0)==(e|0)){h=1;i=11;break}j=c[f>>2]|0;k=Hb[c[c[j>>2]>>2]&127](j)|0;j=c[b>>2]|0;l=(k|0)==(Hb[c[c[j>>2]>>2]&127](j)|0);j=c[f>>2]|0;if(l){if(Pb[c[(c[j>>2]|0)+8>>2]&63](j,c[b>>2]|0)|0){h=1;i=11;break}}else{l=Hb[c[c[j>>2]>>2]&127](j)|0;j=c[b>>2]|0;if((l|0)<(Hb[c[c[j>>2]>>2]&127](j)|0)){h=1;i=11;break}}j=c[b>>2]|0;l=Hb[c[c[j>>2]>>2]&127](j)|0;j=c[f>>2]|0;k=(l|0)==(Hb[c[c[j>>2]>>2]&127](j)|0);j=c[b>>2]|0;if(k){if(Pb[c[(c[j>>2]|0)+8>>2]&63](j,c[f>>2]|0)|0){h=0;i=11;break}}else{k=Hb[c[c[j>>2]>>2]&127](j)|0;j=c[f>>2]|0;if((k|0)<(Hb[c[c[j>>2]>>2]&127](j)|0)){h=0;i=11;break}}f=f+8|0;c[a>>2]=f;b=b+8|0;c[d>>2]=b;if((b|0)==(g|0)){h=0;i=11;break}}if((i|0)==11)return h|0;return 0}function Ni(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;d=i;i=i+96|0;e=d+72|0;f=d+60|0;g=d+48|0;h=d+36|0;j=d+24|0;k=d+12|0;l=d;m=c[b>>2]|0;n=b+4|0;o=c[n>>2]|0;if(!(a[m>>0]&1))p=m+1|0;else p=c[m+8>>2]|0;if((a[p+o>>0]|0)!=47){q=0;i=d;return q|0}p=o+1|0;c[n>>2]=p;r=a[m>>0]|0;s=(r&1)==0;if(s)t=(r&255)>>>1;else t=c[m+4>>2]|0;if((p|0)==(t|0)){Fn(e,23180,38);t=b+12|0;if(!(a[t>>0]|0)){r=c[b+8>>2]|0;if(!(a[r>>0]&1)){a[r+1>>0]=0;a[r>>0]=0}else{a[c[r+8>>2]>>0]=0;c[r+4>>2]=0}On(r,0);c[r>>2]=c[e>>2];c[r+4>>2]=c[e+4>>2];c[r+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0}a[t>>0]=1;In(e);q=0;i=d;return q|0}if(s)u=m+1|0;else u=c[m+8>>2]|0;if((a[u+p>>0]|0)==47){u=o+2|0;c[n>>2]=u;e=a[m>>0]|0;if(!(e&1))v=(e&255)>>>1;else v=c[m+4>>2]|0;if((u|0)==(v|0)){Fn(f,23219,45);v=b+12|0;if(!(a[v>>0]|0)){t=c[b+8>>2]|0;if(!(a[t>>0]&1)){a[t+1>>0]=0;a[t>>0]=0}else{a[c[t+8>>2]>>0]=0;c[t+4>>2]=0}On(t,0);c[t>>2]=c[f>>2];c[t+4>>2]=c[f+4>>2];c[t+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0}a[v>>0]=1;In(f);q=0;i=d;return q|0}f=m+1|0;v=m+4|0;t=m+8|0;r=e;e=u;do{if(!(r&1))w=f;else w=c[t>>2]|0;if((a[w+e>>0]|0)==10){q=1;x=90;break}e=e+1|0;c[n>>2]=e;r=a[m>>0]|0;if(!(r&1))y=(r&255)>>>1;else y=c[v>>2]|0}while((e|0)!=(y|0));if((x|0)==90){i=d;return q|0}Fn(g,23219,45);y=b+12|0;if(!(a[y>>0]|0)){e=c[b+8>>2]|0;if(!(a[e>>0]&1)){a[e+1>>0]=0;a[e>>0]=0}else{a[c[e+8>>2]>>0]=0;c[e+4>>2]=0}On(e,0);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0}a[y>>0]=1;In(g);q=0;i=d;return q|0}if(s)z=m+1|0;else z=c[m+8>>2]|0;if((a[z+p>>0]|0)!=42){Fn(l,23315,17);p=b+12|0;if(!(a[p>>0]|0)){z=c[b+8>>2]|0;if(!(a[z>>0]&1)){a[z+1>>0]=0;a[z>>0]=0}else{a[c[z+8>>2]>>0]=0;c[z+4>>2]=0}On(z,0);c[z>>2]=c[l>>2];c[z+4>>2]=c[l+4>>2];c[z+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0}a[p>>0]=1;In(l);q=0;i=d;return q|0}l=o+2|0;c[n>>2]=l;o=a[m>>0]|0;if(!(o&1))A=(o&255)>>>1;else A=c[m+4>>2]|0;if(l>>>0>(A+-2|0)>>>0){Fn(h,23265,49);A=b+12|0;if(!(a[A>>0]|0)){p=c[b+8>>2]|0;if(!(a[p>>0]&1)){a[p+1>>0]=0;a[p>>0]=0}else{a[c[p+8>>2]>>0]=0;c[p+4>>2]=0}On(p,0);c[p>>2]=c[h>>2];c[p+4>>2]=c[h+4>>2];c[p+8>>2]=c[h+8>>2];c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0}a[A>>0]=1;In(h);q=0;i=d;return q|0}h=m+1|0;A=m+1|0;p=m+8|0;z=m+4|0;s=m+8|0;g=o;o=l;while(1){l=(g&1)==0;if(l)B=h;else B=c[s>>2]|0;y=o;o=o+1|0;if((a[B+y>>0]|0)==42){if(l)C=A;else C=c[p>>2]|0;if((a[C+o>>0]|0)==47){D=y;break}}c[n>>2]=o;g=a[m>>0]|0;if(!(g&1))E=(g&255)>>>1;else E=c[z>>2]|0;if(o>>>0>(E+-2|0)>>>0){x=68;break}}if((x|0)==68){Fn(j,23265,49);x=b+12|0;if(!(a[x>>0]|0)){E=c[b+8>>2]|0;if(!(a[E>>0]&1)){a[E+1>>0]=0;a[E>>0]=0}else{a[c[E+8>>2]>>0]=0;c[E+4>>2]=0}On(E,0);c[E>>2]=c[j>>2];c[E+4>>2]=c[j+4>>2];c[E+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0}a[x>>0]=1;In(j);q=0;i=d;return q|0}j=D+2|0;c[n>>2]=j;n=a[m>>0]|0;if(!(n&1))F=(n&255)>>>1;else F=c[m+4>>2]|0;if((j|0)!=(F|0)){q=1;i=d;return q|0}Fn(k,23265,49);F=b+12|0;if(!(a[F>>0]|0)){j=c[b+8>>2]|0;if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}On(j,0);c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0}a[F>>0]=1;In(k);q=0;i=d;return q|0}function Oi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;i=i+16|0;e=d;ti(b);f=b+4|0;g=c[f>>2]|0;h=c[b>>2]|0;j=a[h>>0]|0;if(!(j&1))k=(j&255)>>>1;else k=c[h+4>>2]|0;if((g|0)!=(k|0)){c[f>>2]=g+1;if(!(a[h>>0]&1))l=h+1|0;else l=c[h+8>>2]|0;m=a[l+g>>0]|0;i=d;return m|0}Fn(e,23844,23);g=b+12|0;if(!(a[g>>0]|0)){l=c[b+8>>2]|0;if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}On(l,0);c[l>>2]=c[e>>2];c[l+4>>2]=c[e+4>>2];c[l+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0}a[g>>0]=1;In(e);m=0;i=d;return m|0}function Pi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0.0;e=i;i=i+96|0;f=e+8|0;g=e;j=e+84|0;k=e+72|0;l=e+60|0;m=e+48|0;n=e+36|0;o=e+24|0;p=e+12|0;q=d+4|0;r=c[q>>2]|0;s=c[d>>2]|0;t=a[s>>0]|0;if(!(t&1))u=s+1|0;else u=c[s+8>>2]|0;if((a[u+r>>0]|0)==45){u=r+1|0;c[q>>2]=u;v=a[s>>0]|0;w=u}else{v=t;w=r}t=(v&1)==0;if(t)x=s+1|0;else x=c[s+8>>2]|0;a:do if((a[x+w>>0]|0)==48){v=w+1|0;c[q>>2]=v;u=a[s>>0]|0;if(!(u&1))y=s+1|0;else y=c[s+8>>2]|0;if(((a[y+v>>0]|0)+-48&255)<10){Fn(k,23701,35);ui(b,d,k);In(k);i=e;return}else{z=u;A=v}}else{if(t)B=s+1|0;else B=c[s+8>>2]|0;if(((a[B+w>>0]|0)+-49&255)<9){v=s+1|0;u=s+8|0;C=w;while(1){D=C+1|0;c[q>>2]=D;E=a[s>>0]|0;if(!(E&1))F=v;else F=c[u>>2]|0;if(((a[F+D>>0]|0)+-48&255)<10)C=D;else{z=E;A=D;break a}}}if(t)G=s+1|0;else G=c[s+8>>2]|0;C=a[G+w>>0]|0;u=C<<24>>24;if((C&255)>31&C<<24>>24>-1){c[g>>2]=u;c[g+4>>2]=u;cm(j,12,22813,g)|0}else{c[f>>2]=u;cm(j,12,22823,f)|0}Fn(n,j,um(j)|0);u=Vn(n,0,23737)|0;c[m>>2]=c[u>>2];c[m+4>>2]=c[u+4>>2];c[m+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;u=Pn(m,23746)|0;c[l>>2]=c[u>>2];c[l+4>>2]=c[u+4>>2];c[l+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;ui(b,d,l);In(l);In(m);In(n);i=e;return}while(0);n=(z&1)==0;if(n)H=s+1|0;else H=c[s+8>>2]|0;if((a[H+A>>0]|0)!=46){if(n)I=s+1|0;else I=c[s+8>>2]|0;if((a[I+A>>0]|0)!=101){if(n)J=s+1|0;else J=c[s+8>>2]|0;if((A-r|0)>>>0<10?(a[J+A>>0]|0)!=69:0){if(n)K=s+1|0;else K=c[s+8>>2]|0;J=km(K+r|0)|0;K=ek(20)|0;c[K+4>>2]=0;c[K+8>>2]=0;c[K>>2]=4452;I=K+12|0;c[K+16>>2]=J;c[I>>2]=4480;c[b>>2]=I;c[b+4>>2]=K;i=e;return}}}if(n)L=s+1|0;else L=c[s+8>>2]|0;b:do if((a[L+A>>0]|0)==46){n=A+1|0;c[q>>2]=n;K=a[s>>0]|0;if(!(K&1))M=s+1|0;else M=c[s+8>>2]|0;if(((a[M+n>>0]|0)+-48&255)>=10){Fn(o,23757,46);ui(b,d,o);In(o);i=e;return}I=s+1|0;J=s+8|0;H=K;K=n;while(1){if(!(H&1))N=I;else N=c[J>>2]|0;if(((a[N+K>>0]|0)+-48&255)>=10){O=H;P=K;break b}n=K+1|0;c[q>>2]=n;H=a[s>>0]|0;K=n}}else{O=z;P=A}while(0);A=(O&1)==0;if(A)Q=s+1|0;else Q=c[s+8>>2]|0;if((a[Q+P>>0]|0)!=101){if(A)R=s+1|0;else R=c[s+8>>2]|0;if((a[R+P>>0]|0)!=69)S=O;else T=68}else T=68;c:do if((T|0)==68){O=P+1|0;c[q>>2]=O;R=a[s>>0]|0;A=(R&1)==0;if(A)U=s+1|0;else U=c[s+8>>2]|0;if((a[U+O>>0]|0)!=43){if(A)V=s+1|0;else V=c[s+8>>2]|0;if((a[V+O>>0]|0)!=45){W=R;X=O}else T=76}else T=76;if((T|0)==76){O=P+2|0;c[q>>2]=O;W=a[s>>0]|0;X=O}if(!(W&1))Y=s+1|0;else Y=c[s+8>>2]|0;if(((a[Y+X>>0]|0)+-48&255)>=10){Fn(p,23804,39);ui(b,d,p);In(p);i=e;return}O=s+1|0;R=s+8|0;A=W;Q=X;while(1){if(!(A&1))Z=O;else Z=c[R>>2]|0;if(((a[Z+Q>>0]|0)+-48&255)>=10){S=A;break c}z=Q+1|0;c[q>>2]=z;A=a[s>>0]|0;Q=z}}while(0);if(!(S&1))_=s+1|0;else _=c[s+8>>2]|0;$=+lm(_+r|0,0);r=ek(32)|0;c[r+4>>2]=0;c[r+8>>2]=0;c[r>>2]=4360;_=r+16|0;h[r+24>>3]=$;c[_>>2]=4388;c[b>>2]=_;c[b+4>>2]=r;i=e;return}function Qi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=i;i=i+48|0;h=g+36|0;j=g+24|0;k=g+12|0;l=g;m=d+4|0;n=c[m>>2]|0;if(!n)Ha(23602,23609,621,23664);o=n+-1|0;c[m>>2]=o;n=a[e>>0]|0;p=(n&1)==0;q=e+4|0;r=p?(n&255)>>>1:c[q>>2]|0;n=e+8|0;s=e+1|0;if(!(Wn(c[d>>2]|0,o,r,p?s:c[n>>2]|0,r)|0)){r=a[e>>0]|0;c[m>>2]=((r&1)==0?(r&255)>>>1:c[q>>2]|0)+(c[m>>2]|0);c[b>>2]=c[f>>2];r=f+4|0;c[b+4>>2]=c[r>>2];c[f>>2]=0;c[r>>2]=0;i=g;return}else{c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;r=a[e>>0]|0;f=(r&1)==0?(r&255)>>>1:c[q>>2]|0;Yn(k,23671,22,f+22|0);Rn(k,(a[e>>0]&1)==0?s:c[n>>2]|0,f)|0;f=Pn(k,23694)|0;c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;f=c[d>>2]|0;n=a[e>>0]|0;Hn(l,f,c[m>>2]|0,(n&1)==0?(n&255)>>>1:c[q>>2]|0,f);f=a[l>>0]|0;q=(f&1)==0;n=Rn(j,q?l+1|0:c[l+8>>2]|0,q?(f&255)>>>1:c[l+4>>2]|0)|0;c[h>>2]=c[n>>2];c[h+4>>2]=c[n+4>>2];c[h+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;ui(b,d,h);In(h);In(l);In(j);In(k);i=g;return}}function Ri(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;e=i;i=i+176|0;f=e+16|0;g=e+8|0;h=e;j=e+152|0;k=e+140|0;l=e+128|0;m=e+116|0;n=e+104|0;o=e+92|0;p=e+80|0;q=e+68|0;r=e+56|0;s=e+44|0;t=e+32|0;u=e+20|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;v=d+4|0;w=q+4|0;x=q+8|0;y=q+1|0;z=-1;a:while(1){A=c[v>>2]|0;B=c[d>>2]|0;C=a[B>>0]|0;if(!(C&1))D=(C&255)>>>1;else D=c[B+4>>2]|0;if((A|0)==(D|0)){E=6;break}C=A+1|0;c[v>>2]=C;F=a[B>>0]|0;G=(F&1)==0;if(G)H=B+1|0;else H=c[B+8>>2]|0;I=a[H+A>>0]|0;if(I<<24>>24==34){J=z;E=16;break}if((I&255)<32){K=I;E=18;break}if(I<<24>>24!=92){Si(d,z,k);Qn(k,I);z=-1;continue}if(G)L=(F&255)>>>1;else L=c[B+4>>2]|0;if((C|0)==(L|0)){E=30;break}F=A+2|0;c[v>>2]=F;if(!(a[B>>0]&1))M=B+1|0;else M=c[B+8>>2]|0;A=a[M+C>>0]|0;if(A<<24>>24!=117){Si(d,z,k);switch(A<<24>>24){case 98:{Qn(k,8);z=-1;continue a;break}case 102:{Qn(k,12);z=-1;continue a;break}case 110:{Qn(k,10);z=-1;continue a;break}case 114:{Qn(k,13);z=-1;continue a;break}case 116:{Qn(k,9);z=-1;continue a;break}case 47:case 92:case 34:{Qn(k,A);z=-1;continue a;break}default:{N=A;E=68;break a}}}Hn(q,B,F,4,B);B=a[q>>0]|0;F=(B&1)==0;A=F?(B&255)>>>1:c[w>>2]|0;if(A>>>0<4){O=A;E=43;break}B=F?y:c[x>>2]|0;F=a[B>>0]|0;if((F+-48&255)>=10)switch(F<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:{P=A;E=49;break a}}F=a[B+1>>0]|0;if((F+-48&255)>=10)switch(F<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:{P=A;E=49;break a}}F=a[B+2>>0]|0;if((F+-48&255)>=10)switch(F<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:{P=A;E=49;break a}}F=a[B+3>>0]|0;if((F+-48&255)>=10)switch(F<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:{P=A;E=49;break a}}A=pm(B,0,16)|0;if((z&-1024|0)==55296&(A&-1024|0)==56320){Si(d,(A+-56320|(z<<10)+-56623104)+65536|0,k);Q=-1}else{Si(d,z,k);Q=A}c[v>>2]=(c[v>>2]|0)+4;In(q);z=Q}if((E|0)==6){Fn(l,23504,33);Q=d+12|0;if(!(a[Q>>0]|0)){z=c[d+8>>2]|0;if(!(a[z>>0]&1)){a[z+1>>0]=0;a[z>>0]=0}else{a[c[z+8>>2]>>0]=0;c[z+4>>2]=0}On(z,0);c[z>>2]=c[l>>2];c[z+4>>2]=c[l+4>>2];c[z+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0}a[Q>>0]=1;Fn(b,32466,0);In(l);In(k);i=e;return}else if((E|0)==16){Si(d,J,k);c[b>>2]=c[k>>2];c[b+4>>2]=c[k+4>>2];c[b+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;In(k);i=e;return}else if((E|0)==18){c[h>>2]=K<<24>>24;cm(j,12,22823,h)|0;Fn(o,j,um(j)|0);h=Vn(o,0,23538)|0;c[n>>2]=c[h>>2];c[n+4>>2]=c[h+4>>2];c[n+8>>2]=c[h+8>>2];c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;h=Pn(n,23549)|0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;h=d+12|0;if(!(a[h>>0]|0)){K=c[d+8>>2]|0;if(!(a[K>>0]&1)){a[K+1>>0]=0;a[K>>0]=0}else{a[c[K+8>>2]>>0]=0;c[K+4>>2]=0}On(K,0);c[K>>2]=c[m>>2];c[K+4>>2]=c[m+4>>2];c[K+8>>2]=c[m+8>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0}a[h>>0]=1;Fn(b,32466,0);In(m);In(n);In(o);In(k);i=e;return}else if((E|0)==30){Fn(p,23504,33);o=d+12|0;if(!(a[o>>0]|0)){n=c[d+8>>2]|0;if(!(a[n>>0]&1)){a[n+1>>0]=0;a[n>>0]=0}else{a[c[n+8>>2]>>0]=0;c[n+4>>2]=0}On(n,0);c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0}a[o>>0]=1;Fn(b,32466,0);In(p);In(k);i=e;return}else if((E|0)==43){c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Yn(r,23560,15,O+15|0);Rn(r,(a[q>>0]&1)==0?y:c[x>>2]|0,O)|0;O=d+12|0;if(!(a[O>>0]|0)){p=c[d+8>>2]|0;if(!(a[p>>0]&1)){a[p+1>>0]=0;a[p>>0]=0}else{a[c[p+8>>2]>>0]=0;c[p+4>>2]=0}On(p,0);c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0}a[O>>0]=1;Fn(b,32466,0);In(r)}else if((E|0)==49){c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Yn(s,23560,15,P+15|0);Rn(s,(a[q>>0]&1)==0?y:c[x>>2]|0,P)|0;P=d+12|0;if(!(a[P>>0]|0)){x=c[d+8>>2]|0;if(!(a[x>>0]&1)){a[x+1>>0]=0;a[x>>0]=0}else{a[c[x+8>>2]>>0]=0;c[x+4>>2]=0}On(x,0);c[x>>2]=c[s>>2];c[x+4>>2]=c[s+4>>2];c[x+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0}a[P>>0]=1;Fn(b,32466,0);In(s)}else if((E|0)==68){E=N<<24>>24;if((N&255)>31&N<<24>>24>-1){c[g>>2]=E;c[g+4>>2]=E;cm(j,12,22813,g)|0}else{c[f>>2]=E;cm(j,12,22823,f)|0}Fn(u,j,um(j)|0);j=Vn(u,0,23576)|0;c[t>>2]=c[j>>2];c[t+4>>2]=c[j+4>>2];c[t+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;j=d+12|0;if(!(a[j>>0]|0)){f=c[d+8>>2]|0;if(!(a[f>>0]&1)){a[f+1>>0]=0;a[f>>0]=0}else{a[c[f+8>>2]>>0]=0;c[f+4>>2]=0}On(f,0);c[f>>2]=c[t>>2];c[f+4>>2]=c[t+4>>2];c[f+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0}a[j>>0]=1;Fn(b,32466,0);In(t);In(u);In(k);i=e;return}In(q);In(k);i=e;return}function Si(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)<0)return;if((b|0)<128){Qn(c,b&255);return}if((b|0)<2048){Qn(c,(b>>>6|192)&255);Qn(c,(b&63|128)&255);return}if((b|0)<65536){Qn(c,(b>>>12|224)&255);Qn(c,(b>>>6&63|128)&255);Qn(c,(b&63|128)&255);return}else{Qn(c,(b>>>18|240)&255);Qn(c,(b>>>12&63|128)&255);Qn(c,(b>>>6&63|128)&255);Qn(c,(b&63|128)&255);return}}function Ti(a){a=a|0;c[a>>2]=4820;Bd(a+4|0,c[a+8>>2]|0);gk(a);return}function Ui(a){a=a|0;c[a>>2]=4792;c[a+12>>2]=4820;Bd(a+16|0,c[a+20>>2]|0);un(a);return}function Vi(a){a=a|0;c[a>>2]=4792;c[a+12>>2]=4820;Bd(a+16|0,c[a+20>>2]|0);un(a);gk(a);return}function Wi(a){a=a|0;c[a+12>>2]=4820;Bd(a+16|0,c[a+20>>2]|0);return}function Xi(a){a=a|0;gk(a);return}function Yi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[a>>2]=4728;b=a+4|0;d=c[b>>2]|0;if(!d){gk(a);return}e=a+8|0;f=c[e>>2]|0;if((f|0)==(d|0))g=d;else{h=f;while(1){f=h+-8|0;c[e>>2]=f;i=c[h+-4>>2]|0;if(!i)j=f;else{yn(i);j=c[e>>2]|0}if((j|0)==(d|0))break;else h=j}g=c[b>>2]|0}gk(g);gk(a);return}function Zi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[a>>2]=4700;c[a+12>>2]=4728;b=a+16|0;d=c[b>>2]|0;if(!d){un(a);return}e=a+20|0;f=c[e>>2]|0;if((f|0)==(d|0))g=d;else{h=f;while(1){f=h+-8|0;c[e>>2]=f;i=c[h+-4>>2]|0;if(!i)j=f;else{yn(i);j=c[e>>2]|0}if((j|0)==(d|0))break;else h=j}g=c[b>>2]|0}gk(g);un(a);return}function _i(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[a>>2]=4700;c[a+12>>2]=4728;b=a+16|0;d=c[b>>2]|0;if(!d){un(a);gk(a);return}e=a+20|0;f=c[e>>2]|0;if((f|0)==(d|0))g=d;else{h=f;while(1){f=h+-8|0;c[e>>2]=f;i=c[h+-4>>2]|0;if(!i)j=f;else{yn(i);j=c[e>>2]|0}if((j|0)==(d|0))break;else h=j}g=c[b>>2]|0}gk(g);un(a);gk(a);return}function $i(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[a+12>>2]=4728;b=a+16|0;d=c[b>>2]|0;if(!d)return;e=a+20|0;a=c[e>>2]|0;if((a|0)==(d|0))f=d;else{g=a;while(1){a=g+-8|0;c[e>>2]=a;h=c[g+-4>>2]|0;if(!h)i=a;else{yn(h);i=c[e>>2]|0}if((i|0)==(d|0))break;else g=i}f=c[b>>2]|0}gk(f);return}function aj(a){a=a|0;gk(a);return}function bj(a){a=a|0;return 3}function cj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=b+4|0;f=d+4|0;g=a[e>>0]|0;h=(g&1)==0;i=h?(g&255)>>>1:c[b+8>>2]|0;g=a[f>>0]|0;j=(g&1)==0;if((i|0)!=((j?(g&255)>>>1:c[d+8>>2]|0)|0)){k=0;return k|0}g=h?e+1|0:c[b+12>>2]|0;b=j?f+1|0:c[d+12>>2]|0;if(!h){k=(rm(g,b,i)|0)==0;return k|0}if(!i){k=1;return k|0}else{l=i;m=g;n=b}while(1){if((a[m>>0]|0)!=(a[n>>0]|0)){k=0;o=7;break}l=l+-1|0;if(!l){k=1;o=7;break}else{m=m+1|0;n=n+1|0}}if((o|0)==7)return k|0;return 0}function dj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=b+4|0;f=d+4|0;g=a[e>>0]|0;h=(g&1)==0;i=h?(g&255)>>>1:c[b+8>>2]|0;g=a[f>>0]|0;j=(g&1)==0;k=j?(g&255)>>>1:c[d+8>>2]|0;g=rm(h?e+1|0:c[b+12>>2]|0,j?f+1|0:c[d+12>>2]|0,k>>>0<i>>>0?k:i)|0;return (((g|0)==0?(i>>>0<k>>>0?-2147483648:0):g)|0)<0|0}function ej(a,b){a=a|0;b=b|0;Ki(a+4|0,b);return}function fj(a){a=a|0;return a+4|0}function gj(a){a=a|0;c[a>>2]=4572;In(a+4|0);return}function hj(a){a=a|0;c[a>>2]=4572;In(a+4|0);gk(a);return}function ij(a){a=a|0;c[a>>2]=4572;In(a+4|0);gk(a);return}function jj(a){a=a|0;c[a>>2]=4544;c[a+12>>2]=4572;In(a+16|0);un(a);return}function kj(a){a=a|0;c[a>>2]=4544;c[a+12>>2]=4572;In(a+16|0);un(a);gk(a);return}function lj(a){a=a|0;c[a+12>>2]=4572;In(a+16|0);return}function mj(a){a=a|0;gk(a);return}function nj(a){a=a|0;return 1}function oj(a,b){a=a|0;b=b|0;var d=0.0;d=+(c[a+4>>2]|0);return d==+Db[c[(c[b>>2]|0)+16>>2]&3](b)|0}function pj(a,b){a=a|0;b=b|0;var d=0.0;d=+(c[a+4>>2]|0);return d<+Db[c[(c[b>>2]|0)+16>>2]&3](b)|0}function qj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+48|0;e=d;f=d+8|0;c[e>>2]=c[a+4>>2];cm(f,32,24206,e)|0;Pn(b,f)|0;i=d;return}function rj(a){a=a|0;return +(+(c[a+4>>2]|0))}function sj(a){a=a|0;return c[a+4>>2]|0}function tj(a){a=a|0;gk(a);return}function uj(a){a=a|0;un(a);return}function vj(a){a=a|0;un(a);gk(a);return}function wj(a){a=a|0;return}function xj(a){a=a|0;gk(a);return}function yj(a){a=a|0;return 1}function zj(a,b){a=a|0;b=b|0;var d=0.0;d=+h[a+8>>3];return d==+Db[c[(c[b>>2]|0)+16>>2]&3](b)|0}function Aj(a,b){a=a|0;b=b|0;var d=0.0;d=+h[a+8>>3];return d<+Db[c[(c[b>>2]|0)+16>>2]&3](b)|0}function Bj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0;d=i;i=i+48|0;e=d;f=d+8|0;g=+h[a+8>>3];h[k>>3]=g;a=c[k+4>>2]&2146435072;if(a>>>0<2146435072|(a|0)==2146435072&0<0){h[e>>3]=g;cm(f,32,24332,e)|0;Pn(b,f)|0;i=d;return}else{Pn(b,23364)|0;i=d;return}}function Cj(a){a=a|0;return +(+h[a+8>>3])}function Dj(a){a=a|0;return ~~+h[a+8>>3]|0}function Ej(a){a=a|0;gk(a);return}function Fj(a){a=a|0;un(a);return}function Gj(a){a=a|0;un(a);gk(a);return}function Hj(a){a=a|0;return}function Ij(a){a=a|0;gk(a);return}function Jj(a){a=a|0;return 2}function Kj(b,c){b=b|0;c=c|0;return (a[b+4>>0]|0)==(a[c+4>>0]|0)|0}function Lj(a,b){a=a|0;b=b|0;return (d[a+4>>0]|0)<(d[b+4>>0]|0)|0}function Mj(b,c){b=b|0;c=c|0;Pn(c,(a[b+4>>0]|0)!=0?32555:32560)|0;return}function Nj(b){b=b|0;return (a[b+4>>0]|0)!=0|0}function Oj(a){a=a|0;gk(a);return}function Pj(a){a=a|0;un(a);return}function Qj(a){a=a|0;un(a);gk(a);return}function Rj(a){a=a|0;return}function Sj(a){a=a|0;gk(a);return}function Tj(a){a=a|0;return 0}function Uj(a,b){a=a|0;b=b|0;return (c[a+4>>2]|0)==(c[b+4>>2]|0)|0}function Vj(a,b){a=a|0;b=b|0;return (c[a+4>>2]|0)>>>0<(c[b+4>>2]|0)>>>0|0}function Wj(a,b){a=a|0;b=b|0;Pn(b,23364)|0;return}function Xj(a){a=a|0;gk(a);return}function Yj(a){a=a|0;un(a);return}function Zj(a){a=a|0;un(a);gk(a);return}function _j(a){a=a|0;return}function $j(a){a=a|0;gk(a);return}function ak(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=c[1379]|0;gm(b,a,e)|0;_l(10,b)|0;Ea()}function bk(a){a=a|0;Ha(25012,25041,1164,25127)}function ck(a){a=a|0;Ha(25148,25171,303,25127)}function dk(){var a=0,b=0;a=i;i=i+16|0;if(!(ab(5260,3)|0)){b=Xa(c[1314]|0)|0;i=a;return b|0}else ak(25257,a);return 0}function ek(a){a=a|0;var b=0,d=0,e=0;b=(a|0)==0?1:a;a=Lm(b)|0;a:do if(!a){while(1){d=ok()|0;if(!d)break;Lb[d&3]();d=Lm(b)|0;if(d){e=d;break a}}d=Ia(4)|0;c[d>>2]=5080;jb(d|0,672,93)}else e=a;while(0);return e|0}function fk(a){a=a|0;return ek(a)|0}function gk(a){a=a|0;Mm(a);return}function hk(a){a=a|0;gk(a);return}function ik(a){a=a|0;c[a>>2]=5080;return}function jk(a){a=a|0;return}function kk(a){a=a|0;gk(a);return}function lk(a){a=a|0;return 25306}function mk(a){a=a|0;var b=0;b=i;i=i+16|0;Lb[a&3]();ak(25321,b)}function nk(){var a=0,b=0;a=dk()|0;if(((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0)?(a=b+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0)mk(c[b+12>>2]|0);b=c[1267]|0;c[1267]=b+0;mk(b)}function ok(){var a=0;a=c[1273]|0;c[1273]=a+0;return a|0}function pk(a){a=a|0;return}function qk(a){a=a|0;c[a>>2]=5104;Wk(a+4|0);return}function rk(a){a=a|0;qk(a);gk(a);return}function sk(a){a=a|0;return c[a+4>>2]|0}function tk(a){a=a|0;qk(a);gk(a);return}function uk(a){a=a|0;return}function vk(a){a=a|0;return}function wk(a){a=a|0;return}function xk(a){a=a|0;return}function yk(a){a=a|0;gk(a);return}function zk(a){a=a|0;gk(a);return}function Ak(a){a=a|0;gk(a);return}function Bk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+64|0;f=e;if((a|0)!=(b|0))if((b|0)!=0?(g=Hk(b,736,752,0)|0,(g|0)!=0):0){b=f;h=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(h|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;Ob[c[(c[g>>2]|0)+28>>2]&15](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];j=1}else j=0;k=j}else k=0;else k=1;i=e;return k|0}function Ck(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){h=d+36|0;c[h>>2]=(c[h>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}h=d+24|0;if((c[h>>2]|0)==2)c[h>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function Dk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))Ck(0,b,d,e);return}function Ek(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((a|0)==(c[b+8>>2]|0))Ck(0,b,d,e);else{f=c[a+8>>2]|0;Ob[c[(c[f>>2]|0)+28>>2]&15](f,b,d,e)}return}function Fk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=c[a+4>>2]|0;g=f>>8;if(!(f&1))h=g;else h=c[(c[d>>2]|0)+g>>2]|0;g=c[a>>2]|0;Ob[c[(c[g>>2]|0)+28>>2]&15](g,b,d+h|0,(f&2|0)!=0?e:2);return}function Gk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:do if((b|0)!=(c[d+8>>2]|0)){g=c[b+12>>2]|0;h=b+16+(g<<3)|0;Fk(b+16|0,d,e,f);if((g|0)>1){g=d+54|0;i=b+24|0;do{Fk(i,d,e,f);if(a[g>>0]|0)break a;i=i+8|0}while(i>>>0<h>>>0)}}else Ck(0,d,e,f);while(0);return}function Hk(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;i=i+64|0;j=h;k=c[d>>2]|0;l=d+(c[k+-8>>2]|0)|0;m=c[k+-4>>2]|0;c[j>>2]=f;c[j+4>>2]=d;c[j+8>>2]=e;c[j+12>>2]=g;g=j+16|0;e=j+20|0;d=j+24|0;k=j+28|0;n=j+32|0;o=j+40|0;p=(m|0)==(f|0);q=g;r=q+36|0;do{c[q>>2]=0;q=q+4|0}while((q|0)<(r|0));b[g+36>>1]=0;a[g+38>>0]=0;a:do if(p){c[j+48>>2]=1;Ab[c[(c[f>>2]|0)+20>>2]&15](f,j,l,l,1,0);s=(c[d>>2]|0)==1?l:0}else{Bb[c[(c[m>>2]|0)+24>>2]&3](m,j,l,1,0);switch(c[j+36>>2]|0){case 0:{s=(c[o>>2]|0)==1&(c[k>>2]|0)==1&(c[n>>2]|0)==1?c[e>>2]|0:0;break a;break}case 1:break;default:{s=0;break a}}if((c[d>>2]|0)!=1?!((c[o>>2]|0)==0&(c[k>>2]|0)==1&(c[n>>2]|0)==1):0){s=0;break}s=c[g>>2]|0}while(0);i=h;return s|0}function Ik(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;h=c[b>>2]|0;if(!h){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((h|0)!=(e|0)){h=d+36|0;c[h>>2]=(c[h>>2]|0)+1;a[d+54>>0]=1;break}h=d+24|0;b=c[h>>2]|0;if((b|0)==2){c[h>>2]=g;i=g}else i=b;if((i|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function Jk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;a:do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){h=c[b+12>>2]|0;i=b+16+(h<<3)|0;Lk(b+16|0,d,e,f,g);j=b+24|0;if((h|0)<=1)break;h=c[b+8>>2]|0;if((h&2|0)==0?(k=d+36|0,(c[k>>2]|0)!=1):0){if(!(h&1)){h=d+54|0;l=j;while(1){if(a[h>>0]|0)break a;if((c[k>>2]|0)==1)break a;Lk(l,d,e,f,g);l=l+8|0;if(l>>>0>=i>>>0)break a}}l=d+24|0;h=d+54|0;m=j;while(1){if(a[h>>0]|0)break a;if((c[k>>2]|0)==1?(c[l>>2]|0)==1:0)break a;Lk(m,d,e,f,g);m=m+8|0;if(m>>>0>=i>>>0)break a}}m=d+54|0;l=j;while(1){if(a[m>>0]|0)break a;Lk(l,d,e,f,g);l=l+8|0;if(l>>>0>=i>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(i=d+20|0,(c[i>>2]|0)!=(e|0)):0){c[d+32>>2]=f;l=d+44|0;if((c[l>>2]|0)==4)break;m=c[b+12>>2]|0;j=b+16+(m<<3)|0;k=d+52|0;h=d+53|0;n=d+54|0;o=b+8|0;p=d+24|0;b:do if((m|0)>0){q=0;r=0;s=b+16|0;while(1){a[k>>0]=0;a[h>>0]=0;Kk(s,d,e,e,1,g);if(a[n>>0]|0){t=q;u=r;v=20;break b}do if(a[h>>0]|0){if(!(a[k>>0]|0))if(!(c[o>>2]&1)){t=q;u=1;v=20;break b}else{w=q;x=1;break}if((c[p>>2]|0)==1)break b;if(!(c[o>>2]&2))break b;else{w=1;x=1}}else{w=q;x=r}while(0);s=s+8|0;if(s>>>0>=j>>>0){t=w;u=x;v=20;break}else{q=w;r=x}}}else{t=0;u=0;v=20}while(0);do if((v|0)==20){if((!t?(c[i>>2]=e,j=d+40|0,c[j>>2]=(c[j>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[p>>2]|0)==2:0){a[n>>0]=1;if(u)break}else v=24;if((v|0)==24?u:0)break;c[l>>2]=4;break a}while(0);c[l>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function Kk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=c[a+4>>2]|0;i=h>>8;if(!(h&1))j=i;else j=c[(c[e>>2]|0)+i>>2]|0;i=c[a>>2]|0;Ab[c[(c[i>>2]|0)+20>>2]&15](i,b,d,e+j|0,(h&2|0)!=0?f:2,g);return}function Lk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=c[a+4>>2]|0;h=g>>8;if(!(g&1))i=h;else i=c[(c[d>>2]|0)+h>>2]|0;h=c[a>>2]|0;Bb[c[(c[h>>2]|0)+24>>2]&3](h,b,d+i|0,(g&2|0)!=0?e:2,f);return}function Mk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){h=c[b+8>>2]|0;Bb[c[(c[h>>2]|0)+24>>2]&3](h,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;j=d+52|0;a[j>>0]=0;k=d+53|0;a[k>>0]=0;l=c[b+8>>2]|0;Ab[c[(c[l>>2]|0)+20>>2]&15](l,d,e,e,1,g);if(a[k>>0]|0){if(!(a[j>>0]|0)){m=1;n=13}}else{m=0;n=13}do if((n|0)==13){c[h>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(m)break}else n=16;if((n|0)==16?m:0)break;c[i>>2]=4;break a}while(0);c[i>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function Nk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(g=d+28|0,(c[g>>2]|0)!=1):0)c[g>>2]=f}else if((b|0)==(c[d>>2]|0)){if((c[d+16>>2]|0)!=(e|0)?(g=d+20|0,(c[g>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[g>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function Ok(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((b|0)==(c[d+8>>2]|0))Ik(0,d,e,f,g);else{i=d+52|0;j=a[i>>0]|0;k=d+53|0;l=a[k>>0]|0;m=c[b+12>>2]|0;n=b+16+(m<<3)|0;a[i>>0]=0;a[k>>0]=0;Kk(b+16|0,d,e,f,g,h);a:do if((m|0)>1){o=d+24|0;p=b+8|0;q=d+54|0;r=b+24|0;do{if(a[q>>0]|0)break a;if(!(a[i>>0]|0)){if((a[k>>0]|0)!=0?(c[p>>2]&1|0)==0:0)break a}else{if((c[o>>2]|0)==1)break a;if(!(c[p>>2]&2))break a}a[i>>0]=0;a[k>>0]=0;Kk(r,d,e,f,g,h);r=r+8|0}while(r>>>0<n>>>0)}while(0);a[i>>0]=j;a[k>>0]=l}return}function Pk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if((a|0)==(c[b+8>>2]|0))Ik(0,b,d,e,f);else{h=c[a+8>>2]|0;Ab[c[(c[h>>2]|0)+20>>2]&15](h,b,d,e,f,g)}return}function Qk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))Ik(0,b,d,e,f);return}function Rk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;c[f>>2]=c[d>>2];g=yb[c[(c[a>>2]|0)+16>>2]&31](a,b,f)|0;if(g)c[d>>2]=c[f>>2];i=e;return g&1|0}function Sk(a){a=a|0;var b=0;if(!a)b=0;else b=(Hk(a,736,784,0)|0)!=0;return b&1|0}function Tk(){var a=0;a=Ia(4)|0;ik(a);jb(a|0,672,93)}function Uk(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;a=i;i=i+48|0;b=a+32|0;d=a+24|0;e=a+16|0;f=a;g=a+36|0;a=dk()|0;if((a|0)!=0?(h=c[a>>2]|0,(h|0)!=0):0){a=h+48|0;j=c[a>>2]|0;k=c[a+4>>2]|0;if(!((j&-256|0)==1126902528&(k|0)==1129074247)){c[d>>2]=c[1316];ak(25600,d)}if((j|0)==1126902529&(k|0)==1129074247)l=c[h+44>>2]|0;else l=h+80|0;c[g>>2]=l;l=c[h>>2]|0;h=c[l+4>>2]|0;if(yb[c[(c[688>>2]|0)+16>>2]&31](688,l,g)|0){l=c[g>>2]|0;g=c[1316]|0;k=Hb[c[(c[l>>2]|0)+8>>2]&127](l)|0;c[f>>2]=g;c[f+4>>2]=h;c[f+8>>2]=k;ak(25514,f)}else{c[e>>2]=c[1316];c[e+4>>2]=h;ak(25559,e)}}ak(25638,b)}function Vk(){var a=0;a=i;i=i+16|0;if(!(Da(5256,188)|0)){i=a;return}else ak(25361,a)}function Wk(a){a=a|0;var b=0,d=0;b=(c[a>>2]|0)+-4|0;d=c[b>>2]|0;c[b>>2]=d+-1;if((d+-1|0)<0)gk((c[a>>2]|0)+-12|0);return}function Xk(a){a=a|0;var b=0;b=i;i=i+16|0;Mm(a);if(!(hb(c[1314]|0,0)|0)){i=b;return}else ak(25411,b)}function Yk(a){a=a|0;Ha(25464,25041,1175,25493)}function Zk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=nm(a,b,c)|0;return d|0}function _k(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=om(a,b,c)|0;return d|0}function $k(){return 5532}function al(){return 5536}function bl(){return 5540}function cl(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function dl(a){a=a|0;var b=0;if((a+-48|0)>>>0<10)b=1;else b=((a|32)+-97|0)>>>0<6;return b&1|0}function el(){var a=0;if(!(c[1317]|0))a=5544;else a=c[(_a()|0)+60>>2]|0;return a|0}function fl(b){b=b|0;var c=0,e=0,f=0,g=0,h=0,i=0,j=0;c=0;while(1){if((d[25659+c>>0]|0)==(b|0)){e=c;f=2;break}c=c+1|0;if((c|0)==87){g=87;h=25747;f=5;break}}if((f|0)==2)if(!e)i=25747;else{g=e;h=25747;f=5}if((f|0)==5)while(1){f=0;e=h;while(1){c=e+1|0;if(!(a[e>>0]|0)){j=c;break}else e=c}g=g+-1|0;if(!g){i=j;break}else{h=j;f=5}}return i|0}function gl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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.0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0.0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0.0,ua=0,va=0.0,wa=0.0,xa=0,ya=0.0,za=0,Aa=0.0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0.0,La=0,Ma=0,Na=0,Oa=0,Pa=0.0,Qa=0,Ra=0,Sa=0,Ta=0.0,Ua=0.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,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,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.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,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,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0.0,fd=0.0,gd=0.0,hd=0.0,id=0.0,jd=0.0,kd=0.0,ld=0,md=0,nd=0.0,od=0,pd=0.0;g=i;i=i+512|0;h=g;switch(e|0){case 0:{j=24;k=-149;l=4;break}case 1:{j=53;k=-1074;l=4;break}case 2:{j=53;k=-1074;l=4;break}default:m=0.0}a:do if((l|0)==4){e=b+4|0;n=b+100|0;do{o=c[e>>2]|0;if(o>>>0<(c[n>>2]|0)>>>0){c[e>>2]=o+1;p=d[o>>0]|0}else p=jl(b)|0}while((cl(p)|0)!=0);q=p;b:do switch(q|0){case 43:case 45:{o=1-(((q|0)==45&1)<<1)|0;r=c[e>>2]|0;if(r>>>0<(c[n>>2]|0)>>>0){c[e>>2]=r+1;u=d[r>>0]|0;v=o;break b}else{u=jl(b)|0;v=o;break b}break}default:{u=q;v=1}}while(0);o=u;r=0;while(1){if((o|32|0)!=(a[27551+r>>0]|0)){w=o;x=r;break}do if(r>>>0<7){y=c[e>>2]|0;if(y>>>0<(c[n>>2]|0)>>>0){c[e>>2]=y+1;z=d[y>>0]|0;break}else{z=jl(b)|0;break}}else z=o;while(0);y=r+1|0;if(y>>>0<8){o=z;r=y}else{w=z;x=y;break}}c:do switch(x|0){case 8:break;case 3:{l=23;break}default:{r=(f|0)!=0;if(r&x>>>0>3)if((x|0)==8)break c;else{l=23;break c}d:do if(!x){o=w;y=0;while(1){if((o|32|0)!=(a[30428+y>>0]|0)){A=o;B=y;break d}do if(y>>>0<2){C=c[e>>2]|0;if(C>>>0<(c[n>>2]|0)>>>0){c[e>>2]=C+1;E=d[C>>0]|0;break}else{E=jl(b)|0;break}}else E=o;while(0);C=y+1|0;if(C>>>0<3){o=E;y=C}else{A=E;B=C;break}}}else{A=w;B=x}while(0);switch(B|0){case 3:{y=c[e>>2]|0;if(y>>>0<(c[n>>2]|0)>>>0){c[e>>2]=y+1;F=d[y>>0]|0}else F=jl(b)|0;if((F|0)==40)G=1;else{if(!(c[n>>2]|0)){m=s;break a}c[e>>2]=(c[e>>2]|0)+-1;m=s;break a}while(1){y=c[e>>2]|0;if(y>>>0<(c[n>>2]|0)>>>0){c[e>>2]=y+1;H=d[y>>0]|0}else H=jl(b)|0;if(!((H+-48|0)>>>0<10|(H+-65|0)>>>0<26)?!((H|0)==95|(H+-97|0)>>>0<26):0){I=H;J=G;break}G=G+1|0}if((I|0)==41){m=s;break a}y=(c[n>>2]|0)==0;if(!y)c[e>>2]=(c[e>>2]|0)+-1;if(!r){c[(el()|0)>>2]=22;il(b,0);m=0.0;break a}if(!J){m=s;break a}else K=J;while(1){K=K+-1|0;if(!y)c[e>>2]=(c[e>>2]|0)+-1;if(!K){m=s;break a}}break}case 0:{do if((A|0)==48){y=c[e>>2]|0;if(y>>>0<(c[n>>2]|0)>>>0){c[e>>2]=y+1;L=d[y>>0]|0}else L=jl(b)|0;if((L|32|0)!=120){if(!(c[n>>2]|0)){M=48;break}c[e>>2]=(c[e>>2]|0)+-1;M=48;break}y=c[e>>2]|0;if(y>>>0<(c[n>>2]|0)>>>0){c[e>>2]=y+1;N=d[y>>0]|0;P=0}else{N=jl(b)|0;P=0}e:while(1){switch(N|0){case 46:{Q=P;l=74;break e;break}case 48:break;default:{R=0;S=0;T=0;U=0;V=N;W=P;X=0;Y=0;Z=1.0;_=0;aa=0.0;break e}}y=c[e>>2]|0;if(y>>>0<(c[n>>2]|0)>>>0){c[e>>2]=y+1;N=d[y>>0]|0;P=1;continue}else{N=jl(b)|0;P=1;continue}}if((l|0)==74){y=c[e>>2]|0;if(y>>>0<(c[n>>2]|0)>>>0){c[e>>2]=y+1;ba=d[y>>0]|0}else ba=jl(b)|0;if((ba|0)==48){y=0;r=0;while(1){o=c[e>>2]|0;if(o>>>0<(c[n>>2]|0)>>>0){c[e>>2]=o+1;ca=d[o>>0]|0}else ca=jl(b)|0;o=ix(y|0,r|0,-1,-1)|0;C=D;if((ca|0)==48){y=o;r=C}else{R=0;S=0;T=o;U=C;V=ca;W=1;X=1;Y=0;Z=1.0;_=0;aa=0.0;break}}}else{R=0;S=0;T=0;U=0;V=ba;W=Q;X=1;Y=0;Z=1.0;_=0;aa=0.0}}while(1){r=V+-48|0;y=V|32;if(r>>>0>=10){C=(V|0)==46;if(!(C|(y+-97|0)>>>0<6)){da=S;ea=T;fa=R;ga=U;ha=V;ia=W;ja=X;ka=_;la=aa;break}if(C)if(!X){ma=S;na=R;oa=S;pa=R;qa=W;ra=1;sa=Y;ta=Z;ua=_;va=aa}else{da=S;ea=T;fa=R;ga=U;ha=46;ia=W;ja=X;ka=_;la=aa;break}else l=86}else l=86;if((l|0)==86){l=0;C=(V|0)>57?y+-87|0:r;do if(!((R|0)<0|(R|0)==0&S>>>0<8)){if((R|0)<0|(R|0)==0&S>>>0<14){wa=Z*.0625;xa=Y;ya=wa;za=_;Aa=aa+wa*+(C|0);break}if((Y|0)!=0|(C|0)==0){xa=Y;ya=Z;za=_;Aa=aa}else{xa=1;ya=Z;za=_;Aa=aa+Z*.5}}else{xa=Y;ya=Z;za=C+(_<<4)|0;Aa=aa}while(0);C=ix(S|0,R|0,1,0)|0;ma=T;na=U;oa=C;pa=D;qa=1;ra=X;sa=xa;ta=ya;ua=za;va=Aa}C=c[e>>2]|0;if(C>>>0<(c[n>>2]|0)>>>0){c[e>>2]=C+1;R=pa;S=oa;T=ma;U=na;V=d[C>>0]|0;W=qa;X=ra;Y=sa;Z=ta;_=ua;aa=va;continue}else{R=pa;S=oa;T=ma;U=na;V=jl(b)|0;W=qa;X=ra;Y=sa;Z=ta;_=ua;aa=va;continue}}if(!ia){C=(c[n>>2]|0)==0;if(!C)c[e>>2]=(c[e>>2]|0)+-1;if(f){if(!C?(C=c[e>>2]|0,c[e>>2]=C+-1,(ja|0)!=0):0)c[e>>2]=C+-2}else il(b,0);m=+(v|0)*0.0;break a}C=(ja|0)==0;r=C?da:ea;y=C?fa:ga;if((fa|0)<0|(fa|0)==0&da>>>0<8){C=da;o=fa;Ba=ka;while(1){Ca=Ba<<4;C=ix(C|0,o|0,1,0)|0;o=D;if(!((o|0)<0|(o|0)==0&C>>>0<8)){Da=Ca;break}else Ba=Ca}}else Da=ka;if((ha|32|0)==112){Ba=zm(b,f)|0;C=D;if((Ba|0)==0&(C|0)==-2147483648){if(!f){il(b,0);m=0.0;break a}if(!(c[n>>2]|0)){Ea=0;Fa=0}else{c[e>>2]=(c[e>>2]|0)+-1;Ea=0;Fa=0}}else{Ea=Ba;Fa=C}}else if(!(c[n>>2]|0)){Ea=0;Fa=0}else{c[e>>2]=(c[e>>2]|0)+-1;Ea=0;Fa=0}C=lx(r|0,y|0,2)|0;Ba=ix(C|0,D|0,-32,-1)|0;C=ix(Ba|0,D|0,Ea|0,Fa|0)|0;Ba=D;if(!Da){m=+(v|0)*0.0;break a}if((Ba|0)>0|(Ba|0)==0&C>>>0>(0-k|0)>>>0){c[(el()|0)>>2]=34;m=+(v|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}o=k+-106|0;Ca=((o|0)<0)<<31>>31;if((Ba|0)<(Ca|0)|(Ba|0)==(Ca|0)&C>>>0<o>>>0){c[(el()|0)>>2]=34;m=+(v|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((Da|0)>-1){o=C;Ca=Ba;Ga=Da;wa=la;while(1){Ha=!(wa>=.5);Ia=Ha&1|Ga<<1;Ja=Ia^1;Ka=wa+(Ha?wa:wa+-1.0);Ha=ix(o|0,Ca|0,-1,-1)|0;La=D;if((Ia|0)>-1){o=Ha;Ca=La;Ga=Ja;wa=Ka}else{Ma=Ha;Na=La;Oa=Ja;Pa=Ka;break}}}else{Ma=C;Na=Ba;Oa=Da;Pa=la}Ga=gx(32,0,k|0,((k|0)<0)<<31>>31|0)|0;Ca=ix(Ma|0,Na|0,Ga|0,D|0)|0;Ga=D;if(0>(Ga|0)|0==(Ga|0)&j>>>0>Ca>>>0)if((Ca|0)<0){Qa=0;l=127}else{Ra=Ca;l=125}else{Ra=j;l=125}if((l|0)==125)if((Ra|0)<53){Qa=Ra;l=127}else{Sa=Ra;Ta=+(v|0);Ua=0.0}if((l|0)==127){wa=+(v|0);Sa=Qa;Ta=wa;Ua=+ul(+Bl(1.0,84-Qa|0),wa)}Ca=(Oa&1|0)==0&(Pa!=0.0&(Sa|0)<32);wa=Ta*(Ca?0.0:Pa)+(Ua+Ta*+(((Ca&1)+Oa|0)>>>0))-Ua;if(!(wa!=0.0))c[(el()|0)>>2]=34;m=+Cl(wa,Ma);break a}else M=A;while(0);Ca=k+j|0;Ga=0-Ca|0;o=M;y=0;f:while(1){switch(o|0){case 46:{Va=y;l=138;break f;break}case 48:break;default:{Wa=o;Xa=0;Ya=0;Za=y;_a=0;break f}}r=c[e>>2]|0;if(r>>>0<(c[n>>2]|0)>>>0){c[e>>2]=r+1;o=d[r>>0]|0;y=1;continue}else{o=jl(b)|0;y=1;continue}}if((l|0)==138){y=c[e>>2]|0;if(y>>>0<(c[n>>2]|0)>>>0){c[e>>2]=y+1;$a=d[y>>0]|0}else $a=jl(b)|0;if(($a|0)==48){y=0;o=0;while(1){r=ix(y|0,o|0,-1,-1)|0;Ja=D;La=c[e>>2]|0;if(La>>>0<(c[n>>2]|0)>>>0){c[e>>2]=La+1;ab=d[La>>0]|0}else ab=jl(b)|0;if((ab|0)==48){y=r;o=Ja}else{Wa=ab;Xa=r;Ya=Ja;Za=1;_a=1;break}}}else{Wa=$a;Xa=0;Ya=0;Za=Va;_a=1}}c[h>>2]=0;o=Wa+-48|0;y=(Wa|0)==46;g:do if(y|o>>>0<10){Ja=h+496|0;r=Wa;La=0;Ha=0;Ia=y;bb=o;cb=Xa;db=Ya;eb=Za;fb=_a;gb=0;hb=0;ib=0;h:while(1){do if(Ia)if(!fb){jb=La;kb=Ha;lb=La;mb=Ha;nb=eb;ob=1;pb=gb;qb=hb;rb=ib}else{sb=cb;tb=db;ub=La;vb=Ha;wb=eb;xb=gb;yb=hb;zb=ib;break h}else{Ab=ix(La|0,Ha|0,1,0)|0;Bb=D;Cb=(r|0)!=48;if((hb|0)>=125){if(!Cb){jb=cb;kb=db;lb=Ab;mb=Bb;nb=eb;ob=fb;pb=gb;qb=hb;rb=ib;break}c[Ja>>2]=c[Ja>>2]|1;jb=cb;kb=db;lb=Ab;mb=Bb;nb=eb;ob=fb;pb=gb;qb=hb;rb=ib;break}Db=h+(hb<<2)|0;if(!gb)Eb=bb;else Eb=r+-48+((c[Db>>2]|0)*10|0)|0;c[Db>>2]=Eb;Db=gb+1|0;Fb=(Db|0)==9;jb=cb;kb=db;lb=Ab;mb=Bb;nb=1;ob=fb;pb=Fb?0:Db;qb=(Fb&1)+hb|0;rb=Cb?Ab:ib}while(0);Ab=c[e>>2]|0;if(Ab>>>0<(c[n>>2]|0)>>>0){c[e>>2]=Ab+1;Gb=d[Ab>>0]|0}else Gb=jl(b)|0;bb=Gb+-48|0;Ia=(Gb|0)==46;if(!(Ia|bb>>>0<10)){Hb=Gb;Ib=lb;Jb=jb;Kb=mb;Lb=kb;Mb=nb;Nb=ob;Ob=pb;Pb=qb;Qb=rb;l=161;break g}else{r=Gb;La=lb;Ha=mb;cb=jb;db=kb;eb=nb;fb=ob;gb=pb;hb=qb;ib=rb}}Rb=ub;Sb=vb;Tb=sb;Ub=tb;Vb=(wb|0)!=0;Wb=xb;Xb=yb;Yb=zb;l=169}else{Hb=Wa;Ib=0;Jb=Xa;Kb=0;Lb=Ya;Mb=Za;Nb=_a;Ob=0;Pb=0;Qb=0;l=161}while(0);do if((l|0)==161){o=(Nb|0)==0;y=o?Ib:Jb;ib=o?Kb:Lb;o=(Mb|0)!=0;if(!((Hb|32|0)==101&o))if((Hb|0)>-1){Rb=Ib;Sb=Kb;Tb=y;Ub=ib;Vb=o;Wb=Ob;Xb=Pb;Yb=Qb;l=169;break}else{Zb=Ib;_b=Kb;$b=o;ac=y;bc=ib;cc=Ob;dc=Pb;ec=Qb;l=171;break}o=zm(b,f)|0;hb=D;if((o|0)==0&(hb|0)==-2147483648){if(!f){il(b,0);fc=0.0;break}if(!(c[n>>2]|0)){gc=0;hc=0}else{c[e>>2]=(c[e>>2]|0)+-1;gc=0;hc=0}}else{gc=o;hc=hb}hb=ix(gc|0,hc|0,y|0,ib|0)|0;ic=hb;jc=Ib;kc=D;lc=Kb;mc=Ob;nc=Pb;oc=Qb;l=173}while(0);if((l|0)==169)if(c[n>>2]|0){c[e>>2]=(c[e>>2]|0)+-1;if(Vb){ic=Tb;jc=Rb;kc=Ub;lc=Sb;mc=Wb;nc=Xb;oc=Yb;l=173}else l=172}else{Zb=Rb;_b=Sb;$b=Vb;ac=Tb;bc=Ub;cc=Wb;dc=Xb;ec=Yb;l=171}if((l|0)==171)if($b){ic=ac;jc=Zb;kc=bc;lc=_b;mc=cc;nc=dc;oc=ec;l=173}else l=172;do if((l|0)==172){c[(el()|0)>>2]=22;il(b,0);fc=0.0}else if((l|0)==173){hb=c[h>>2]|0;if(!hb){fc=+(v|0)*0.0;break}if(((lc|0)<0|(lc|0)==0&jc>>>0<10)&((ic|0)==(jc|0)&(kc|0)==(lc|0))?j>>>0>30|(hb>>>j|0)==0:0){fc=+(v|0)*+(hb>>>0);break}hb=(k|0)/-2|0;ib=((hb|0)<0)<<31>>31;if((kc|0)>(ib|0)|(kc|0)==(ib|0)&ic>>>0>hb>>>0){c[(el()|0)>>2]=34;fc=+(v|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}hb=k+-106|0;ib=((hb|0)<0)<<31>>31;if((kc|0)<(ib|0)|(kc|0)==(ib|0)&ic>>>0<hb>>>0){c[(el()|0)>>2]=34;fc=+(v|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(!mc)pc=nc;else{if((mc|0)<9){hb=h+(nc<<2)|0;ib=c[hb>>2]|0;y=mc;while(1){o=ib*10|0;y=y+1|0;if((y|0)==9){qc=o;break}else ib=o}c[hb>>2]=qc}pc=nc+1|0}if((oc|0)<9?(oc|0)<=(ic|0)&(ic|0)<18:0){if((ic|0)==9){fc=+(v|0)*+((c[h>>2]|0)>>>0);break}if((ic|0)<9){fc=+(v|0)*+((c[h>>2]|0)>>>0)/+(c[5548+(8-ic<<2)>>2]|0);break}ib=j+27+($(ic,-3)|0)|0;y=c[h>>2]|0;if((ib|0)>30|(y>>>ib|0)==0){fc=+(v|0)*+(y>>>0)*+(c[5548+(ic+-10<<2)>>2]|0);break}}y=(ic|0)%9|0;if(!y){rc=0;sc=0;tc=ic;uc=pc}else{ib=(ic|0)>-1?y:y+9|0;y=c[5548+(8-ib<<2)>>2]|0;if(pc){o=1e9/(y|0)|0;gb=0;fb=0;eb=0;db=ic;while(1){cb=h+(eb<<2)|0;Ha=c[cb>>2]|0;La=((Ha>>>0)/(y>>>0)|0)+fb|0;c[cb>>2]=La;cb=$((Ha>>>0)%(y>>>0)|0,o)|0;Ha=(eb|0)==(gb|0)&(La|0)==0;eb=eb+1|0;La=Ha?db+-9|0:db;r=Ha?eb&127:gb;if((eb|0)==(pc|0)){vc=cb;wc=r;xc=La;break}else{gb=r;fb=cb;db=La}}if(!vc){yc=wc;zc=xc;Ac=pc}else{c[h+(pc<<2)>>2]=vc;yc=wc;zc=xc;Ac=pc+1|0}}else{yc=0;zc=ic;Ac=0}rc=yc;sc=0;tc=9-ib+zc|0;uc=Ac}i:while(1){db=(tc|0)<18;fb=(tc|0)==18;gb=h+(rc<<2)|0;eb=sc;o=uc;while(1){if(!db){if(!fb){Bc=rc;Cc=eb;Dc=tc;Ec=o;break i}if((c[gb>>2]|0)>>>0>=9007199){Bc=rc;Cc=eb;Dc=18;Ec=o;break i}}y=0;hb=o+127|0;La=o;while(1){cb=hb&127;r=h+(cb<<2)|0;Ha=lx(c[r>>2]|0,0,29)|0;bb=ix(Ha|0,D|0,y|0,0)|0;Ha=D;if(Ha>>>0>0|(Ha|0)==0&bb>>>0>1e9){Ia=tx(bb|0,Ha|0,1e9,0)|0;Ja=ux(bb|0,Ha|0,1e9,0)|0;Fc=Ja;Gc=Ia}else{Fc=bb;Gc=0}c[r>>2]=Fc;r=(cb|0)==(rc|0);bb=(cb|0)!=(La+127&127|0)|r?La:(Fc|0)==0?cb:La;if(r){Hc=Gc;Ic=bb;break}else{y=Gc;hb=cb+-1|0;La=bb}}La=eb+-29|0;if(!Hc){eb=La;o=Ic}else{Jc=La;Kc=Hc;Lc=Ic;break}}o=rc+127&127;if((o|0)==(Lc|0)){eb=Lc+127&127;gb=h+((Lc+126&127)<<2)|0;c[gb>>2]=c[gb>>2]|c[h+(eb<<2)>>2];Mc=eb}else Mc=Lc;c[h+(o<<2)>>2]=Kc;rc=o;sc=Jc;tc=tc+9|0;uc=Mc}j:while(1){Nc=Ec+1&127;ib=h+((Ec+127&127)<<2)|0;o=Bc;eb=Cc;gb=Dc;while(1){fb=(gb|0)==18;db=(gb|0)>27?9:1;La=fb^1;Oc=o;Pc=eb;while(1){Qc=Oc&127;Rc=(Qc|0)==(Ec|0);do if(!Rc){hb=c[h+(Qc<<2)>>2]|0;if(hb>>>0<9007199){l=219;break}if(hb>>>0>9007199)break;hb=Oc+1&127;if((hb|0)==(Ec|0)){l=219;break}y=c[h+(hb<<2)>>2]|0;if(y>>>0<254740991){l=219;break}if(!(y>>>0>254740991|La)){Sc=Qc;Tc=Oc;Uc=Pc;Vc=Ec;break j}}else l=219;while(0);if((l|0)==219?(l=0,fb):0){l=220;break j}y=Pc+db|0;if((Oc|0)==(Ec|0)){Oc=Ec;Pc=y}else{Wc=y;Xc=Oc;break}}fb=(1<<db)+-1|0;La=1e9>>>db;y=Xc;hb=0;bb=Xc;cb=gb;while(1){r=h+(bb<<2)|0;Ia=c[r>>2]|0;Ja=(Ia>>>db)+hb|0;c[r>>2]=Ja;r=$(Ia&fb,La)|0;Ia=(bb|0)==(y|0)&(Ja|0)==0;bb=bb+1&127;Ja=Ia?cb+-9|0:cb;Ha=Ia?bb:y;if((bb|0)==(Ec|0)){Yc=r;Zc=Ha;_c=Ja;break}else{y=Ha;hb=r;cb=Ja}}if(!Yc){o=Zc;eb=Wc;gb=_c;continue}if((Nc|0)!=(Zc|0)){$c=Wc;ad=Yc;bd=Zc;cd=_c;break}c[ib>>2]=c[ib>>2]|1;o=Zc;eb=Wc;gb=_c}c[h+(Ec<<2)>>2]=ad;Bc=bd;Cc=$c;Dc=cd;Ec=Nc}if((l|0)==220)if(Rc){c[h+(Nc+-1<<2)>>2]=0;Sc=Ec;Tc=Oc;Uc=Pc;Vc=Nc}else{Sc=Qc;Tc=Oc;Uc=Pc;Vc=Ec}wa=+((c[h+(Sc<<2)>>2]|0)>>>0);gb=Tc+1&127;if((gb|0)==(Vc|0)){eb=Tc+2&127;c[h+(eb+-1<<2)>>2]=0;dd=eb}else dd=Vc;Ka=+(v|0);ed=Ka*(wa*1.0e9+ +((c[h+(gb<<2)>>2]|0)>>>0));gb=Uc+53|0;eb=gb-k|0;o=(eb|0)<(j|0);ib=o&1;cb=o?((eb|0)<0?0:eb):j;if((cb|0)<53){wa=+ul(+Bl(1.0,105-cb|0),ed);fd=+wl(ed,+Bl(1.0,53-cb|0));gd=wa;hd=fd;id=wa+(ed-fd)}else{gd=0.0;hd=0.0;id=ed}hb=Tc+2&127;do if((hb|0)==(dd|0))jd=hd;else{y=c[h+(hb<<2)>>2]|0;do if(y>>>0>=5e8){if(y>>>0>5e8){kd=Ka*.75+hd;break}if((Tc+3&127|0)==(dd|0)){kd=Ka*.5+hd;break}else{kd=Ka*.75+hd;break}}else{if((y|0)==0?(Tc+3&127|0)==(dd|0):0){kd=hd;break}kd=Ka*.25+hd}while(0);if((53-cb|0)<=1){jd=kd;break}if(+wl(kd,1.0)!=0.0){jd=kd;break}jd=kd+1.0}while(0);Ka=id+jd-gd;do if((gb&2147483647|0)>(-2-Ca|0)){if(!(+O(+Ka)>=9007199254740992.0)){ld=ib;md=Uc;nd=Ka}else{ld=o&(cb|0)==(eb|0)?0:ib;md=Uc+1|0;nd=Ka*.5}if((md+50|0)<=(Ga|0)?!(jd!=0.0&(ld|0)!=0):0){od=md;pd=nd;break}c[(el()|0)>>2]=34;od=md;pd=nd}else{od=Uc;pd=Ka}while(0);fc=+Cl(pd,od)}while(0);m=fc;break a;break}default:{if(c[n>>2]|0)c[e>>2]=(c[e>>2]|0)+-1;c[(el()|0)>>2]=22;il(b,0);m=0.0;break a}}}}while(0);if((l|0)==23){Ga=(c[n>>2]|0)==0;if(!Ga)c[e>>2]=(c[e>>2]|0)+-1;if((f|0)!=0&x>>>0>3){Ca=x;do{if(!Ga)c[e>>2]=(c[e>>2]|0)+-1;Ca=Ca+-1|0}while(Ca>>>0>3)}}m=+(v|0)*t}while(0);i=g;return +m} function Sb(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Tb(){return i|0}function Ub(a){a=a|0;i=a}function Vb(a,b){a=a|0;b=b|0;i=a;j=b}function Wb(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function Xb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function Yb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function Zb(a){a=a|0;D=a}function _b(){return D|0}function $b(a){a=a|0;c[a>>2]=3104;In(a+16|0);return}function ac(a){a=a|0;c[a+12>>2]=3128;c[a+24>>2]=3160;Kc(a+92|0,c[a+96>>2]|0);Lc(a+80|0,c[a+84>>2]|0);Lc(a+68|0,c[a+72>>2]|0);Mc(a+56|0,c[a+60>>2]|0);Nc(a+44|0,c[a+48>>2]|0);Oc(a+32|0,c[a+36>>2]|0);Pc(a,c[a+4>>2]|0);return}function bc(a){a=a|0;return cc(2964,a)|0}function cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e+12|0;g=e;Fn(g,d,um(d)|0);Xc(f,b,g);b=tm((a[f>>0]&1)==0?f+1|0:c[f+8>>2]|0)|0;In(f);In(g);i=e;return b|0}function dc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+16|0;h=g;Wc(h,2964,b,d,e,f);f=tm((a[h>>0]&1)==0?h+1|0:c[h+8>>2]|0)|0;In(h);i=g;return f|0}function ec(a){a=a|0;Mm(a);return}function fc(a,b){a=a|0;b=b|0;En(a,b+16|0);return}function gc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;i=i+48|0;f=e+36|0;g=e+24|0;h=e+12|0;j=e;k=Ib[c[(c[d>>2]|0)+12>>2]&1](d,44100.0)|0;l=d+16|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;m=a[l>>0]|0;n=(m&1)==0;o=n?(m&255)>>>1:c[d+20>>2]|0;Yn(g,n?l+1|0:c[d+24>>2]|0,o,o+1|0);Rn(g,22744,1)|0;Fb[c[(c[k>>2]|0)+12>>2]&127](h,k);o=a[h>>0]|0;d=(o&1)==0;l=Rn(g,d?h+1|0:c[h+8>>2]|0,d?(o&255)>>>1:c[h+4>>2]|0)|0;c[f>>2]=c[l>>2];c[f+4>>2]=c[l+4>>2];c[f+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[j>>2]=0;l=j+4|0;c[l>>2]=0;c[j+8>>2]=0;jc(b,f,j,k);b=c[j>>2]|0;if(b){o=c[l>>2]|0;if((o|0)==(b|0))p=b;else{d=o;do{o=d+-12|0;c[l>>2]=o;In(o);d=c[l>>2]|0}while((d|0)!=(b|0));p=c[j>>2]|0}gk(p)}In(f);In(h);In(g);if(!k){i=e;return}Eb[c[(c[k>>2]|0)+4>>2]&255](k);i=e;return}function hc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;f=i;i=i+224|0;h=f+88|0;j=f+72|0;k=f+60|0;l=f+48|0;m=f+36|0;n=f;o=Ib[c[(c[d>>2]|0)+12>>2]&1](d,+g[e+12>>2])|0;p=e+16|0;if((c[d+4>>2]&c[p>>2]|0)!=0?(Hb[c[(c[o>>2]|0)+72>>2]&127](o)|0)==1:0){e=ek(16)|0;Bg(e,o);q=e}else q=o;o=c[p>>2]|0;if(!(c[d+12>>2]&o)){r=o;s=q}else{o=ek(16)|0;Mf(o,q);r=c[p>>2]|0;s=o}if(!(c[d+8>>2]&r))t=s;else{r=ek(16)|0;rg(r,s);t=r}r=b+152|0;c[b+156>>2]=0;s=b+160|0;c[s>>2]=0;o=b+156|0;hx(b|0,0,152)|0;c[r>>2]=o;p=b+164|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[b>>2]=t;q=d+16|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;e=a[q>>0]|0;u=(e&1)==0;v=u?(e&255)>>>1:c[d+20>>2]|0;Yn(k,u?q+1|0:c[d+24>>2]|0,v,v+1|0);Rn(k,22744,1)|0;Fb[c[(c[t>>2]|0)+12>>2]&127](l,t);v=a[l>>0]|0;d=(v&1)==0;q=Rn(k,d?l+1|0:c[l+8>>2]|0,d?(v&255)>>>1:c[l+4>>2]|0)|0;c[j>>2]=c[q>>2];c[j+4>>2]=c[q+4>>2];c[j+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[m>>2]=0;q=m+4|0;c[q>>2]=0;c[m+8>>2]=0;jc(h,j,m,t);rc(b+4|0,h)|0;kc(h);h=c[m>>2]|0;if(h){v=c[q>>2]|0;if((v|0)==(h|0))w=h;else{d=v;do{v=d+-12|0;c[q>>2]=v;In(v);d=c[q>>2]|0}while((d|0)!=(h|0));w=c[m>>2]|0}gk(w)}In(j);In(l);In(k);k=Hb[c[(c[t>>2]|0)+84>>2]&127](t)|0;if((k|0)==(Hb[c[(c[t>>2]|0)+88>>2]&127](t)|0))x=Hb[c[(c[t>>2]|0)+84>>2]&127](t)|0;else x=0;k=Hb[c[(c[t>>2]|0)+76>>2]&127](t)|0;l=Hb[c[(c[t>>2]|0)+80>>2]&127](t)|0;j=(k|0)==0?1024:k;if(!l){k=(Hb[c[(c[t>>2]|0)+72>>2]&127](t)|0)==1;y=k?(j|0)/2|0:j}else y=l;sc(n,t,x,y,j);j=b+140|0;c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];j=n+12|0;uc(r,c[o>>2]|0);c[r>>2]=c[j>>2];y=n+16|0;x=c[y>>2]|0;c[o>>2]=x;t=n+20|0;l=c[t>>2]|0;c[s>>2]=l;if(!l)c[r>>2]=o;else{c[x+8>>2]=o;c[j>>2]=y;c[y>>2]=0;c[t>>2]=0}t=n+24|0;if(!(a[p>>0]&1)){a[p+1>>0]=0;a[p>>0]=0;On(p,0);c[p>>2]=c[t>>2];c[p+4>>2]=c[t+4>>2];c[p+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;In(t);z=n+12|0;A=c[y>>2]|0;uc(z,A);i=f;return}else{a[c[b+172>>2]>>0]=0;c[b+168>>2]=0;On(p,0);c[p>>2]=c[t>>2];c[p+4>>2]=c[t+4>>2];c[p+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;In(t);z=n+12|0;A=c[y>>2]|0;uc(z,A);i=f;return}}function ic(b,c){b=b|0;c=+c;var d=0;d=ek(60)|0;De(d,c,(a[b+28>>0]|0)!=0);return d|0}function jc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=i;i=i+144|0;h=g+120|0;j=g+72|0;k=g+60|0;l=g+48|0;m=g+36|0;n=g+24|0;o=g+12|0;p=g;q=g+84|0;hx(b|0,0,136)|0;Jn(b,d)|0;Fb[c[(c[f>>2]|0)+12>>2]&127](h,f);d=b+12|0;if(!(a[d>>0]&1)){a[d+1>>0]=0;a[d>>0]=0}else{a[c[b+20>>2]>>0]=0;c[b+16>>2]=0}On(d,0);c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;In(h);Fb[c[(c[f>>2]|0)+16>>2]&127](j,f);h=b+24|0;if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[b+32>>2]>>0]=0;c[b+28>>2]=0}On(h,0);c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;In(j);Fb[c[(c[f>>2]|0)+20>>2]&127](k,f);j=b+36|0;if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[b+44>>2]>>0]=0;c[b+40>>2]=0}On(j,0);c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;In(k);Fb[c[(c[f>>2]|0)+24>>2]&127](l,f);k=b+48|0;if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[b+56>>2]>>0]=0;c[b+52>>2]=0}On(k,0);c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;In(l);Fb[c[(c[f>>2]|0)+28>>2]&127](m,f);l=b+60|0;if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[b+68>>2]>>0]=0;c[b+64>>2]=0}On(l,0);c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;In(m);c[b+72>>2]=Hb[c[(c[f>>2]|0)+32>>2]&127](f)|0;m=b+76|0;if((m|0)!=(e|0))oc(m,c[e>>2]|0,c[e+4>>2]|0);c[b+88>>2]=Hb[c[(c[f>>2]|0)+84>>2]&127](f)|0;c[b+92>>2]=Hb[c[(c[f>>2]|0)+88>>2]&127](f)|0;Fb[c[(c[f>>2]|0)+36>>2]&127](n,f);e=b+96|0;pc(e);c[e>>2]=c[n>>2];e=n+4|0;c[b+100>>2]=c[e>>2];m=n+8|0;c[b+104>>2]=c[m>>2];c[m>>2]=0;c[e>>2]=0;c[n>>2]=0;lc(n);Fb[c[(c[f>>2]|0)+48>>2]&127](o,f);n=b+108|0;e=c[n>>2]|0;if(!e){r=b+112|0;s=b+116|0}else{m=b+112|0;l=c[m>>2]|0;if((l|0)==(e|0))t=e;else{k=l;do{l=k+-12|0;c[m>>2]=l;In(l);k=c[m>>2]|0}while((k|0)!=(e|0));t=c[n>>2]|0}gk(t);t=b+116|0;c[t>>2]=0;c[m>>2]=0;c[n>>2]=0;r=m;s=t}c[n>>2]=c[o>>2];n=o+4|0;c[r>>2]=c[n>>2];r=o+8|0;c[s>>2]=c[r>>2];c[r>>2]=0;c[n>>2]=0;c[o>>2]=0;c[b+120>>2]=Hb[c[(c[f>>2]|0)+72>>2]&127](f)|0;Fb[c[(c[f>>2]|0)+92>>2]&127](p,f);f=c[p>>2]|0;o=p+4|0;if((f|0)==(c[o>>2]|0)){mc(p);i=g;return}n=q+12|0;r=q+24|0;s=b+128|0;t=b+132|0;m=b+124|0;b=f;do{f=q;e=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(e|0));Jn(q,b)|0;Jn(n,b+12|0)|0;Jn(r,b+24|0)|0;f=c[s>>2]|0;if((f|0)==(c[t>>2]|0))qc(m,q);else{En(f,q);En(f+12|0,n);En(f+24|0,r);c[s>>2]=(c[s>>2]|0)+36}In(r);In(n);In(q);b=b+100|0}while((b|0)!=(c[o>>2]|0));mc(p);i=g;return}function kc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=a+124|0;d=c[b>>2]|0;if(d){e=a+128|0;f=c[e>>2]|0;if((f|0)==(d|0))g=d;else{h=f;do{f=h+-36|0;c[e>>2]=f;In(h+-12|0);In(h+-24|0);In(f);h=c[e>>2]|0}while((h|0)!=(d|0));g=c[b>>2]|0}gk(g)}g=a+108|0;b=c[g>>2]|0;if(b){d=a+112|0;h=c[d>>2]|0;if((h|0)==(b|0))i=b;else{e=h;do{h=e+-12|0;c[d>>2]=h;In(h);e=c[d>>2]|0}while((e|0)!=(b|0));i=c[g>>2]|0}gk(i)}lc(a+96|0);i=a+76|0;g=c[i>>2]|0;if(g){b=a+80|0;e=c[b>>2]|0;if((e|0)==(g|0))j=g;else{d=e;do{e=d+-12|0;c[b>>2]=e;In(e);d=c[b>>2]|0}while((d|0)!=(g|0));j=c[i>>2]|0}gk(j)}In(a+60|0);In(a+48|0);In(a+36|0);In(a+24|0);In(a+12|0);In(a);return}function lc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=c[a>>2]|0;if(!b)return;d=a+4|0;e=c[d>>2]|0;if((e|0)==(b|0))f=b;else{g=e;do{e=g+-80|0;c[d>>2]=e;h=g+-12|0;i=c[h>>2]|0;if(i){j=g+-8|0;k=c[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k;do{k=m+-12|0;c[j>>2]=k;In(k);m=c[j>>2]|0}while((m|0)!=(i|0));l=c[h>>2]|0}gk(l)}In(g+-44|0);In(g+-56|0);In(g+-68|0);In(e);g=c[d>>2]|0}while((g|0)!=(b|0));f=c[a>>2]|0}gk(f);return}function mc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=c[a>>2]|0;if(!b)return;d=a+4|0;e=c[d>>2]|0;if((e|0)==(b|0))f=b;else{g=e;do{e=g+-100|0;c[d>>2]=e;h=g+-44|0;i=c[h>>2]|0;if(i){j=g+-40|0;k=c[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k;do{k=m+-12|0;c[j>>2]=k;In(k);m=c[j>>2]|0}while((m|0)!=(i|0));l=c[h>>2]|0}gk(l)}In(g+-64|0);In(g+-76|0);In(g+-88|0);In(e);g=c[d>>2]|0}while((g|0)!=(b|0));f=c[a>>2]|0}gk(f);return}function nc(a){a=a|0;Sa(a|0)|0;nk()}function oc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=b;f=(d-e|0)/12|0;g=a+8|0;h=c[g>>2]|0;i=c[a>>2]|0;j=i;if(f>>>0<=((h-j|0)/12|0)>>>0){k=a+4|0;l=((c[k>>2]|0)-j|0)/12|0;j=f>>>0>l>>>0;m=j?b+(l*12|0)|0:d;if((m|0)==(b|0))n=i;else{l=m+-12-e|0;e=b;o=i;while(1){Jn(o,e)|0;e=e+12|0;if((e|0)==(m|0))break;else o=o+12|0}n=i+((((l>>>0)/12|0)+1|0)*12|0)|0}if(!j){j=c[k>>2]|0;if((j|0)==(n|0))return;else p=j;do{j=p+-12|0;c[k>>2]=j;In(j);p=c[k>>2]|0}while((p|0)!=(n|0));return}if((m|0)==(d|0))return;n=m;m=c[k>>2]|0;do{En(m,n);m=(c[k>>2]|0)+12|0;c[k>>2]=m;n=n+12|0}while((n|0)!=(d|0));return}if(!i)q=h;else{h=a+4|0;n=c[h>>2]|0;if((n|0)==(i|0))r=i;else{m=n;do{n=m+-12|0;c[h>>2]=n;In(n);m=c[h>>2]|0}while((m|0)!=(i|0));r=c[a>>2]|0}gk(r);c[g>>2]=0;c[h>>2]=0;c[a>>2]=0;q=0}h=f>>>0>357913941;if(h){ck(a);s=c[g>>2]|0;t=c[a>>2]|0}else{s=q;t=0}q=(s-t|0)/12|0;if(q>>>0<178956970){t=q<<1;q=t>>>0>=f>>>0;if(q|h^1)u=q?t:f;else{ck(a);u=f}}else u=357913941;f=ek(u*12|0)|0;t=a+4|0;c[t>>2]=f;c[a>>2]=f;c[g>>2]=f+(u*12|0);if((b|0)==(d|0))return;u=b;b=f;do{En(b,u);b=(c[t>>2]|0)+12|0;c[t>>2]=b;u=u+12|0}while((u|0)!=(d|0));return}function pc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=c[a>>2]|0;if(!b)return;d=a+4|0;e=c[d>>2]|0;if((e|0)==(b|0))f=b;else{g=e;do{e=g+-80|0;c[d>>2]=e;h=g+-12|0;i=c[h>>2]|0;if(i){j=g+-8|0;k=c[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k;do{k=m+-12|0;c[j>>2]=k;In(k);m=c[j>>2]|0}while((m|0)!=(i|0));l=c[h>>2]|0}gk(l)}In(g+-44|0);In(g+-56|0);In(g+-68|0);In(e);g=c[d>>2]|0}while((g|0)!=(b|0));f=c[a>>2]|0}gk(f);c[a+8>>2]=0;c[d>>2]=0;c[a>>2]=0;return}function qc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=a+4|0;e=c[a>>2]|0;f=(((c[d>>2]|0)-e|0)/36|0)+1|0;if(f>>>0>119304647){ck(a);g=c[a>>2]|0}else g=e;e=a+8|0;h=g;g=((c[e>>2]|0)-h|0)/36|0;if(g>>>0<59652323){i=g<<1;g=i>>>0<f>>>0?f:i;i=((c[d>>2]|0)-h|0)/36|0;if(!g){j=0;k=0;l=i}else{m=g;n=i;o=6}}else{m=119304647;n=((c[d>>2]|0)-h|0)/36|0;o=6}if((o|0)==6){j=m;k=ek(m*36|0)|0;l=n}n=k+(l*36|0)|0;m=n;o=k+(j*36|0)|0;En(n,b);En(k+(l*36|0)+12|0,b+12|0);En(k+(l*36|0)+24|0,b+24|0);b=k+((l+1|0)*36|0)|0;l=c[a>>2]|0;k=c[d>>2]|0;if((k|0)==(l|0)){p=a;q=d;r=m;s=l;t=k}else{j=k;k=n;n=m;while(1){m=k+-36|0;h=j;j=j+-36|0;c[m>>2]=c[j>>2];c[m+4>>2]=c[j+4>>2];c[m+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;m=k+-24|0;i=h+-24|0;c[m>>2]=c[i>>2];c[m+4>>2]=c[i+4>>2];c[m+8>>2]=c[i+8>>2];c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;i=k+-12|0;m=h+-12|0;c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;k=n+-36|0;m=k;if((j|0)==(l|0)){u=m;break}else n=m}p=a;q=d;r=u;s=c[a>>2]|0;t=c[d>>2]|0}c[p>>2]=r;c[q>>2]=b;c[e>>2]=o;o=s;e=t;if((e|0)!=(o|0)){t=e;do{In(t+-12|0);In(t+-24|0);t=t+-36|0;In(t)}while((t|0)!=(o|0))}if(!s)return;gk(s);return}function rc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!(a[b>>0]&1)){a[b+1>>0]=0;a[b>>0]=0}else{a[c[b+8>>2]>>0]=0;c[b+4>>2]=0}On(b,0);c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;tc(b+12|0,d+12|0)|0;e=b+48|0;f=d+48|0;if(!(a[e>>0]&1)){a[e+1>>0]=0;a[e>>0]=0}else{a[c[b+56>>2]>>0]=0;c[b+52>>2]=0}On(e,0);c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;f=b+60|0;e=d+60|0;if(!(a[f>>0]&1)){a[f+1>>0]=0;a[f>>0]=0}else{a[c[b+68>>2]>>0]=0;c[b+64>>2]=0}On(f,0);c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[b+72>>2]=c[d+72>>2];e=b+76|0;f=d+76|0;g=c[e>>2]|0;if(!g){h=b+80|0;i=b+84|0}else{j=b+80|0;k=c[j>>2]|0;if((k|0)==(g|0))l=g;else{m=k;do{k=m+-12|0;c[j>>2]=k;In(k);m=c[j>>2]|0}while((m|0)!=(g|0));l=c[e>>2]|0}gk(l);l=b+84|0;c[l>>2]=0;c[j>>2]=0;c[e>>2]=0;h=j;i=l}c[e>>2]=c[f>>2];e=d+80|0;c[h>>2]=c[e>>2];h=d+84|0;c[i>>2]=c[h>>2];c[h>>2]=0;c[e>>2]=0;c[f>>2]=0;f=d+88|0;e=c[f+4>>2]|0;h=b+88|0;c[h>>2]=c[f>>2];c[h+4>>2]=e;e=b+96|0;h=d+96|0;pc(e);c[e>>2]=c[h>>2];e=d+100|0;c[b+100>>2]=c[e>>2];f=d+104|0;c[b+104>>2]=c[f>>2];c[f>>2]=0;c[e>>2]=0;c[h>>2]=0;h=b+108|0;e=d+108|0;f=c[h>>2]|0;if(!f){n=b+112|0;o=b+116|0}else{i=b+112|0;l=c[i>>2]|0;if((l|0)==(f|0))p=f;else{j=l;do{l=j+-12|0;c[i>>2]=l;In(l);j=c[i>>2]|0}while((j|0)!=(f|0));p=c[h>>2]|0}gk(p);p=b+116|0;c[p>>2]=0;c[i>>2]=0;c[h>>2]=0;n=i;o=p}c[h>>2]=c[e>>2];h=d+112|0;c[n>>2]=c[h>>2];n=d+116|0;c[o>>2]=c[n>>2];c[n>>2]=0;c[h>>2]=0;c[e>>2]=0;c[b+120>>2]=c[d+120>>2];e=b+124|0;h=d+124|0;n=c[e>>2]|0;if(!n){q=b+128|0;r=b+132|0;s=c[h>>2]|0;c[e>>2]=s;t=d+128|0;u=c[t>>2]|0;c[q>>2]=u;v=d+132|0;w=c[v>>2]|0;c[r>>2]=w;c[v>>2]=0;c[t>>2]=0;c[h>>2]=0;return b|0}o=b+128|0;p=c[o>>2]|0;if((p|0)==(n|0))x=n;else{i=p;do{p=i+-36|0;c[o>>2]=p;In(i+-12|0);In(i+-24|0);In(p);i=c[o>>2]|0}while((i|0)!=(n|0));x=c[e>>2]|0}gk(x);x=b+132|0;c[x>>2]=0;c[o>>2]=0;c[e>>2]=0;q=o;r=x;s=c[h>>2]|0;c[e>>2]=s;t=d+128|0;u=c[t>>2]|0;c[q>>2]=u;v=d+132|0;w=c[v>>2]|0;c[r>>2]=w;c[v>>2]=0;c[t>>2]=0;c[h>>2]=0;return b|0}function sc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0;j=i;i=i+64|0;k=j+48|0;l=j+36|0;m=j+24|0;n=j+12|0;o=j;p=b+12|0;c[b+16>>2]=0;c[b+20>>2]=0;c[p>>2]=b+16;q=b+24|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[b>>2]=e;c[b+4>>2]=f;c[b+8>>2]=h;Fb[c[(c[d>>2]|0)+36>>2]&127](k,d);h=c[k>>2]|0;f=k+4|0;if((h|0)!=(c[f>>2]|0)){e=h;do{En(l,e);h=c[(c[d>>2]|0)+40>>2]|0;En(m,l);r=+Cb[h&3](d,m);g[(vc(p,l)|0)>>2]=r;In(m);In(l);e=e+80|0}while((e|0)!=(c[f>>2]|0))}Fb[c[(c[d>>2]|0)+48>>2]&127](n,d);f=c[n>>2]|0;e=n+4|0;l=c[e>>2]|0;m=(f|0)==(l|0);if(f){if(m)s=f;else{p=l;do{l=p+-12|0;c[e>>2]=l;In(l);p=c[e>>2]|0}while((p|0)!=(f|0));s=c[n>>2]|0}gk(s)}if(m){lc(k);i=j;return}Fb[c[(c[d>>2]|0)+52>>2]&127](o,d);if(!(a[q>>0]&1)){a[q+1>>0]=0;a[q>>0]=0}else{a[c[b+32>>2]>>0]=0;c[b+28>>2]=0}On(q,0);c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;In(o);lc(k);i=j;return}function tc(b,d){b=b|0;d=d|0;var e=0,f=0;if(!(a[b>>0]&1)){a[b+1>>0]=0;a[b>>0]=0}else{a[c[b+8>>2]>>0]=0;c[b+4>>2]=0}On(b,0);c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;e=b+12|0;f=d+12|0;if(!(a[e>>0]&1)){a[e+1>>0]=0;a[e>>0]=0}else{a[c[b+20>>2]>>0]=0;c[b+16>>2]=0}On(e,0);c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;f=b+24|0;e=d+24|0;if(!(a[f>>0]&1)){a[f+1>>0]=0;a[f>>0]=0;On(f,0);c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;return b|0}else{a[c[b+32>>2]>>0]=0;c[b+28>>2]=0;On(f,0);c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;return b|0}return 0}function uc(a,b){a=a|0;b=b|0;if(!b)return;else{uc(a,c[b>>2]|0);uc(a,c[b+4>>2]|0);In(b+16|0);gk(b);return}}function vc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0;d=i;i=i+16|0;e=d;f=wc(a,e,b)|0;h=c[f>>2]|0;if(h){j=h;k=j+28|0;i=d;return k|0}h=ek(32)|0;En(h+16|0,b);g[h+28>>2]=0.0;b=c[e>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=b;c[f>>2]=h;b=c[c[a>>2]>>2]|0;if(!b)l=h;else{c[a>>2]=b;l=c[f>>2]|0}xc(c[a+4>>2]|0,l);l=a+8|0;c[l>>2]=(c[l>>2]|0)+1;j=h;k=j+28|0;i=d;return k|0}function wc(b,d,e){b=b|0;d=d|0;e=e|0;var 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;f=b+4|0;b=c[f>>2]|0;if(!b){c[d>>2]=f;g=f;return g|0}f=a[e>>0]|0;h=(f&1)==0;i=h?(f&255)>>>1:c[e+4>>2]|0;f=h?e+1|0:c[e+8>>2]|0;e=b;while(1){b=e+16|0;h=a[b>>0]|0;j=(h&1)==0;k=j?(h&255)>>>1:c[e+20>>2]|0;h=j?b+1|0:c[e+24>>2]|0;b=k>>>0<i>>>0;j=rm(f,h,b?k:i)|0;l=i>>>0<k>>>0;if((((j|0)==0?(l?-2147483648:0):j)|0)<0){j=c[e>>2]|0;if(!j){m=e;n=e;o=5;break}else p=j}else{j=rm(h,f,l?i:k)|0;if((((j|0)==0?(b?-2147483648:0):j)|0)>=0){q=e;o=10;break}j=e+4|0;b=c[j>>2]|0;if(!b){r=j;s=e;o=9;break}else p=b}e=p}if((o|0)==5){c[d>>2]=n;g=m;return g|0}else if((o|0)==9){c[d>>2]=s;g=r;return g|0}else if((o|0)==10){c[d>>2]=q;g=d;return g|0}return 0}function xc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,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=(d|0)==(b|0);a[d+12>>0]=e&1;if(e)return;else f=d;while(1){d=c[f+8>>2]|0;e=d+12|0;if(a[e>>0]|0){g=37;break}h=d+8|0;i=f;f=c[h>>2]|0;j=c[f>>2]|0;if((j|0)==(d|0)){k=c[f+4>>2]|0;if(!k){l=i;m=d;n=h;o=h;p=f;q=f;g=7;break}r=k+12|0;if(a[r>>0]|0){l=i;m=d;n=h;o=h;p=f;q=f;g=7;break}a[e>>0]=1;a[f+12>>0]=(f|0)==(b|0)&1;a[r>>0]=1}else{if(!j){s=i;t=h;u=d;v=h;w=f;x=f;g=24;break}r=j+12|0;if(a[r>>0]|0){s=i;t=h;u=d;v=h;w=f;x=f;g=24;break}a[e>>0]=1;a[f+12>>0]=(f|0)==(b|0)&1;a[r>>0]=1}if((f|0)==(b|0)){g=37;break}}if((g|0)==7){if((c[m>>2]|0)==(l|0)){y=m;z=q}else{q=m+4|0;l=c[q>>2]|0;b=c[l>>2]|0;c[q>>2]=b;if(!b)A=p;else{c[b+8>>2]=m;A=c[n>>2]|0}b=l+8|0;c[b>>2]=A;A=c[o>>2]|0;if((c[A>>2]|0)==(m|0))c[A>>2]=l;else c[A+4>>2]=l;c[l>>2]=m;c[n>>2]=l;y=l;z=c[b>>2]|0}a[y+12>>0]=1;a[z+12>>0]=0;y=c[z>>2]|0;b=y+4|0;l=c[b>>2]|0;c[z>>2]=l;if(l)c[l+8>>2]=z;l=z+8|0;c[y+8>>2]=c[l>>2];n=c[l>>2]|0;if((c[n>>2]|0)==(z|0))c[n>>2]=y;else c[n+4>>2]=y;c[b>>2]=z;c[l>>2]=y;return}else if((g|0)==24){if((c[u>>2]|0)==(s|0)){s=c[u>>2]|0;y=s+4|0;l=c[y>>2]|0;c[u>>2]=l;if(!l)B=w;else{c[l+8>>2]=u;B=c[t>>2]|0}l=s+8|0;c[l>>2]=B;B=c[v>>2]|0;if((c[B>>2]|0)==(u|0))c[B>>2]=s;else c[B+4>>2]=s;c[y>>2]=u;c[t>>2]=s;C=s;D=c[l>>2]|0}else{C=u;D=x}a[C+12>>0]=1;a[D+12>>0]=0;C=D+4|0;x=c[C>>2]|0;u=c[x>>2]|0;c[C>>2]=u;if(u)c[u+8>>2]=D;u=D+8|0;c[x+8>>2]=c[u>>2];C=c[u>>2]|0;if((c[C>>2]|0)==(D|0))c[C>>2]=x;else c[C+4>>2]=x;c[x>>2]=D;c[u>>2]=x;return}else if((g|0)==37)return}function yc(a){a=a|0;c[a>>2]=3128;c[a+12>>2]=3160;Kc(a+80|0,c[a+84>>2]|0);Lc(a+68|0,c[a+72>>2]|0);Lc(a+56|0,c[a+60>>2]|0);Mc(a+44|0,c[a+48>>2]|0);Nc(a+32|0,c[a+36>>2]|0);Oc(a+20|0,c[a+24>>2]|0);return}function zc(a){a=a|0;c[a>>2]=3160;Kc(a+68|0,c[a+72>>2]|0);Lc(a+56|0,c[a+60>>2]|0);Lc(a+44|0,c[a+48>>2]|0);Mc(a+32|0,c[a+36>>2]|0);Nc(a+20|0,c[a+24>>2]|0);Oc(a+8|0,c[a+12>>2]|0);return}function Ac(a){a=a|0;c[a>>2]=3128;c[a+12>>2]=3160;Kc(a+80|0,c[a+84>>2]|0);Lc(a+68|0,c[a+72>>2]|0);Lc(a+56|0,c[a+60>>2]|0);Mc(a+44|0,c[a+48>>2]|0);Nc(a+32|0,c[a+36>>2]|0);Oc(a+20|0,c[a+24>>2]|0);gk(a);return}function Bc(a,b){a=a|0;b=b|0;return Gc(a+12|0,b)|0}function Cc(a,b){a=a|0;b=b|0;return Hc(a+12|0,b)|0}function Dc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=b+12|0;b=c[e>>2]|0;f=c[b+20>>2]|0;g=Pb[c[b+8>>2]&63](e,d)|0;Kb[f&7](a,e,g);return}function Ec(a,b,c){a=a|0;b=b|0;c=c|0;Jc(a,b+12|0,c);return}function Fc(a){a=a|0;c[a>>2]=3160;Kc(a+68|0,c[a+72>>2]|0);Lc(a+56|0,c[a+60>>2]|0);Lc(a+44|0,c[a+48>>2]|0);Mc(a+32|0,c[a+36>>2]|0);Nc(a+20|0,c[a+24>>2]|0);Oc(a+8|0,c[a+12>>2]|0);gk(a);return}function Gc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+24|0;e=c[d>>2]|0;if(e){f=d;g=e;a:while(1){h=g;while(1){if((c[h+16>>2]|0)>>>0>=b>>>0){i=h;break}h=c[h+4>>2]|0;if(!h){j=f;break a}}g=c[i>>2]|0;if(!g){j=i;break}else f=i}if((j|0)!=(d|0)?(c[j+16>>2]|0)>>>0<=b>>>0:0){j=e;while(1){e=c[j+16>>2]|0;if(e>>>0>b>>>0){d=c[j>>2]|0;if(!d)break;else k=d}else{if(e>>>0>=b>>>0){l=j;m=14;break}e=c[j+4>>2]|0;if(!e)break;else k=e}j=k}if((m|0)==14?(l|0)!=0:0){n=l+20|0;o=c[n>>2]|0;return o|0}l=Ia(8)|0;Bn(l,16929);c[l>>2]=5124;jb(l|0,712,95)}}n=a+4|0;o=c[n>>2]|0;return o|0}function Hc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=a+12|0;a=c[d>>2]|0;if(!a){e=0;return e|0}else{f=d;g=a}a:while(1){h=g;while(1){if((c[h+16>>2]|0)>>>0>=b>>>0){i=h;break}h=c[h+4>>2]|0;if(!h){j=f;break a}}g=c[i>>2]|0;if(!g){j=i;break}else f=i}if((j|0)==(d|0)){e=0;return e|0}if((c[j+16>>2]|0)>>>0>b>>>0){e=0;return e|0}else k=a;while(1){a=c[k+16>>2]|0;if(a>>>0>b>>>0){j=c[k>>2]|0;if(!j)break;else l=j}else{if(a>>>0>=b>>>0){m=k;n=13;break}a=c[k+4>>2]|0;if(!a)break;else l=a}k=l}if((n|0)==13?(m|0)!=0:0){e=c[m+20>>2]|0;return e|0}e=Ia(8)|0;Bn(e,16929);c[e>>2]=5124;jb(e|0,712,95);return 0}function Ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[b>>2]|0;f=c[e+20>>2]|0;g=Pb[c[e+8>>2]&63](b,d)|0;Kb[f&7](a,b,g);return}function Jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if((c[b+4>>2]|0)!=(d|0)?(e=b+72|0,b=c[e>>2]|0,(b|0)!=0):0){f=e;g=b;a:while(1){h=g;while(1){if((c[h+16>>2]|0)>>>0>=d>>>0){i=h;break}h=c[h+4>>2]|0;if(!h){j=f;break a}}g=c[i>>2]|0;if(!g){j=i;break}else f=i}if((j|0)!=(e|0)?(c[j+16>>2]|0)>>>0<=d>>>0:0){j=b;while(1){b=c[j+16>>2]|0;if(b>>>0>d>>>0){e=c[j>>2]|0;if(!e)break;else k=e}else{if(b>>>0>=d>>>0){l=j;m=14;break}b=c[j+4>>2]|0;if(!b)break;else k=b}j=k}if((m|0)==14?(l|0)!=0:0){c[a>>2]=c[l+20>>2];m=c[l+24>>2]|0;c[a+4>>2]=m;if(!m)return;xn(m);return}m=Ia(8)|0;Bn(m,16929);c[m>>2]=5124;jb(m|0,712,95)}}c[a>>2]=0;c[a+4>>2]=0;return}function Kc(a,b){a=a|0;b=b|0;if(!b)return;Kc(a,c[b>>2]|0);Kc(a,c[b+4>>2]|0);a=c[b+24>>2]|0;if(a)yn(a);gk(b);return}function Lc(a,b){a=a|0;b=b|0;if(!b)return;else{Lc(a,c[b>>2]|0);Lc(a,c[b+4>>2]|0);gk(b);return}}function Mc(a,b){a=a|0;b=b|0;if(!b)return;else{Mc(a,c[b>>2]|0);Mc(a,c[b+4>>2]|0);gk(b);return}}function Nc(a,b){a=a|0;b=b|0;if(!b)return;else{Nc(a,c[b>>2]|0);Nc(a,c[b+4>>2]|0);gk(b);return}}function Oc(a,b){a=a|0;b=b|0;if(!b)return;else{Oc(a,c[b>>2]|0);Oc(a,c[b+4>>2]|0);gk(b);return}}function Pc(a,b){a=a|0;b=b|0;if(!b)return;else{Pc(a,c[b>>2]|0);Pc(a,c[b+4>>2]|0);In(b+16|0);gk(b);return}}function Qc(){var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b;Fn(2888,19363,16);ib(181,2888,n|0)|0;En(d,2888);c[725]=3104;c[726]=1;c[727]=2;c[728]=4;En(2916,d);In(d);c[725]=3080;a[2928]=0;ib(182,2900,n|0)|0;En(d,2888);c[733]=3104;c[734]=1;c[735]=2;c[736]=4;En(2948,d);In(d);c[733]=3080;a[2960]=1;ib(182,2932,n|0)|0;e=d+4|0;f=ek(8)|0;c[d>>2]=f;g=f+8|0;c[d+8>>2]=g;c[f>>2]=2900;c[f+4>>2]=2932;c[e>>2]=g;Sc(2964,d);g=c[d>>2]|0;if(!g){ib(183,2964,n|0)|0;i=b;return}d=c[e>>2]|0;if((d|0)!=(g|0))c[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);gk(g);ib(183,2964,n|0)|0;i=b;return}function Rc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+16|0;h=f;ki(g,d,e,0);if(!(Xn(e,32466)|0)){if((Vh(g)|0)!=5)Kn(e,16900)|0;c[b>>2]=c[g>>2];d=g+4|0;c[b+4>>2]=c[d>>2];c[g>>2]=0;c[d>>2]=0;i=f;return};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;d=a[e>>0]|0;j=e+4|0;k=(d&1)==0?(d&255)>>>1:c[j>>2]|0;Yn(h,16885,14,k+14|0);d=e+8|0;l=e+1|0;Rn(h,(a[e>>0]&1)==0?l:c[d>>2]|0,k)|0;if(!(a[e>>0]&1)){a[l>>0]=0;a[e>>0]=0}else{a[c[d>>2]>>0]=0;c[j>>2]=0}On(e,0);c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[e+8>>2]=c[h+8>>2];c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;In(h);Kh(b);b=c[g+4>>2]|0;if(!b){i=f;return}yn(b);i=f;return}function Sc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+160|0;f=e+136|0;g=e;c[b+4>>2]=0;c[b+8>>2]=0;c[b>>2]=b+4;c[b+16>>2]=0;c[b+12>>2]=3128;c[b+20>>2]=1;c[b+28>>2]=0;c[b+24>>2]=3160;c[b+36>>2]=0;c[b+40>>2]=0;c[b+32>>2]=b+36;c[b+48>>2]=0;c[b+52>>2]=0;c[b+44>>2]=b+48;c[b+60>>2]=0;c[b+64>>2]=0;c[b+56>>2]=b+60;c[b+72>>2]=0;c[b+76>>2]=0;c[b+68>>2]=b+72;c[b+84>>2]=0;c[b+88>>2]=0;c[b+80>>2]=b+84;c[b+96>>2]=0;c[b+100>>2]=0;c[b+92>>2]=b+96;a[b+104>>0]=0;h=c[d>>2]|0;j=c[d+4>>2]|0;if((h|0)==(j|0)){i=e;return}d=h;do{h=c[d>>2]|0;Fb[c[(c[h>>2]|0)+4>>2]&127](g,h);c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;kc(g);c[(Yc(b,f)|0)>>2]=h;In(f);d=d+4|0}while((d|0)!=(j|0));i=e;return}function Tc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,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;f=i;i=i+176|0;g=f+152|0;h=f+136|0;j=f;k=e+4|0;l=(c[e>>2]|0)==(c[k>>2]|0);c[b>>2]=0;m=b+4|0;c[m>>2]=0;c[b+8>>2]=0;n=c[d>>2]|0;o=d+4|0;if((n|0)==(o|0)){i=f;return}d=g+12|0;p=b+8|0;q=j+12|0;r=j+24|0;s=j+36|0;t=j+48|0;u=j+60|0;v=j+72|0;w=j+76|0;x=j+80|0;y=j+84|0;z=j+88|0;A=j+96|0;B=j+100|0;C=j+104|0;D=j+108|0;E=j+112|0;F=j+116|0;G=j+120|0;H=j+124|0;I=j+128|0;J=j+132|0;K=h+4|0;L=h+8|0;M=h+1|0;N=n;while(1){En(g,N+16|0);n=c[N+28>>2]|0;c[d>>2]=n;O=n;a:do if(l){P=O;Q=15}else{Fb[c[c[n>>2]>>2]&127](h,O);R=c[e>>2]|0;S=c[k>>2]|0;b:do if((R|0)!=(S|0)){T=a[h>>0]|0;U=(T&1)==0;V=U?(T&255)>>>1:c[K>>2]|0;T=U?M:c[L>>2]|0;U=(V|0)==0;W=R;c:while(1){X=a[W>>0]|0;Y=(X&1)==0;d:do if(((Y?(X&255)>>>1:c[W+4>>2]|0)|0)==(V|0)){Z=Y?W+1|0:c[W+8>>2]|0;if(!Y)if(!(rm(Z,T,V)|0))break c;else break;if(U)break c;else{_=V;$=Z;aa=T}while(1){if((a[$>>0]|0)!=(a[aa>>0]|0))break d;_=_+-1|0;if(!_)break c;else{$=$+1|0;aa=aa+1|0}}}while(0);W=W+12|0;if((W|0)==(S|0))break b}In(h);P=c[d>>2]|0;Q=15;break a}while(0);In(h)}while(0);if((Q|0)==15){Q=0;Fb[c[(c[P>>2]|0)+4>>2]&127](j,P);O=c[m>>2]|0;if(O>>>0<(c[p>>2]|0)>>>0){c[O>>2]=c[j>>2];c[O+4>>2]=c[j+4>>2];c[O+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;n=O+12|0;c[n>>2]=c[q>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;n=O+24|0;c[n>>2]=c[r>>2];c[n+4>>2]=c[r+4>>2];c[n+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;n=O+36|0;c[n>>2]=c[s>>2];c[n+4>>2]=c[s+4>>2];c[n+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;n=O+48|0;c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[n+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;n=O+60|0;c[n>>2]=c[u>>2];c[n+4>>2]=c[u+4>>2];c[n+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[O+72>>2]=c[v>>2];n=O+76|0;c[n>>2]=0;S=O+80|0;c[S>>2]=0;c[O+84>>2]=0;c[n>>2]=c[w>>2];c[S>>2]=c[x>>2];c[O+84>>2]=c[y>>2];c[y>>2]=0;c[x>>2]=0;c[w>>2]=0;S=z;n=c[S+4>>2]|0;R=O+88|0;c[R>>2]=c[S>>2];c[R+4>>2]=n;n=O+96|0;c[n>>2]=0;R=O+100|0;c[R>>2]=0;c[O+104>>2]=0;c[n>>2]=c[A>>2];c[R>>2]=c[B>>2];c[O+104>>2]=c[C>>2];c[C>>2]=0;c[B>>2]=0;c[A>>2]=0;R=O+108|0;c[R>>2]=0;n=O+112|0;c[n>>2]=0;c[O+116>>2]=0;c[R>>2]=c[D>>2];c[n>>2]=c[E>>2];c[O+116>>2]=c[F>>2];c[F>>2]=0;c[E>>2]=0;c[D>>2]=0;n=O+120|0;c[n>>2]=c[G>>2];R=O+124|0;c[R>>2]=0;S=O+128|0;c[S>>2]=0;c[O+132>>2]=0;c[R>>2]=c[H>>2];c[S>>2]=c[I>>2];c[O+132>>2]=c[J>>2];c[J>>2]=0;c[I>>2]=0;c[H>>2]=0;c[n>>2]=c[G>>2];c[m>>2]=(c[m>>2]|0)+136}else Zc(b,j);kc(j)}In(g);n=c[N+4>>2]|0;if(!n){O=N;while(1){S=c[O+8>>2]|0;if((c[S>>2]|0)==(O|0)){ba=S;break}else O=S}}else{O=n;while(1){S=c[O>>2]|0;if(!S){ba=O;break}else O=S}}if((ba|0)==(o|0))break;else N=ba}i=f;return}function Uc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+64|0;h=g+56|0;j=g+44|0;k=g+24|0;l=g+12|0;m=g;En(j,e);if((_c(d,j)|0)==(d+4|0)){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;n=a[j>>0]|0;o=(n&1)==0?(n&255)>>>1:c[j+4>>2]|0;Yn(m,16990,26,o+26|0);Rn(m,(a[j>>0]&1)==0?j+1|0:c[j+8>>2]|0,o)|0;if(!(a[f>>0]&1)){a[f+1>>0]=0;a[f>>0]=0}else{a[c[f+8>>2]>>0]=0;c[f+4>>2]=0}On(f,0);c[f>>2]=c[m>>2];c[f+4>>2]=c[m+4>>2];c[f+8>>2]=c[m+8>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;In(m);c[b+156>>2]=0;c[b+160>>2]=0;hx(b|0,0,152)|0;c[b+152>>2]=b+156;m=b+164|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;In(j);i=g;return}m=$c(d,h,j)|0;if(!m){h=Ia(8)|0;Bn(h,16929);c[h>>2]=5124;jb(h|0,712,95)}h=c[m+28>>2]|0;m=c[(c[h>>2]|0)+8>>2]|0;En(k,e);d=e+12|0;e=c[d+4>>2]|0;o=k+12|0;c[o>>2]=c[d>>2];c[o+4>>2]=e;Kb[m&7](b,h,k);In(k);if(c[b>>2]|0){In(j);i=g;return};c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;b=a[j>>0]|0;k=(b&1)==0?(b&255)>>>1:c[j+4>>2]|0;Yn(l,16953,36,k+36|0);Rn(l,(a[j>>0]&1)==0?j+1|0:c[j+8>>2]|0,k)|0;if(!(a[f>>0]&1)){a[f+1>>0]=0;a[f>>0]=0}else{a[c[f+8>>2]>>0]=0;c[f+4>>2]=0}On(f,0);c[f>>2]=c[l>>2];c[f+4>>2]=c[l+4>>2];c[f+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;In(l);In(j);i=g;return}function Vc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=i;i=i+48|0;f=b+36|0;h=b+24|0;j=b+12|0;k=b;l=c[d+16>>2]|0;m=d+20|0;if((l|0)!=(m|0)){n=l;o=l;while(1){l=c[d>>2]|0;p=c[(c[l>>2]|0)+44>>2]|0;En(f,n+16|0);zb[p&3](l,f,+g[n+28>>2]);In(f);l=o;p=c[l+4>>2]|0;if(!p){q=l;while(1){l=c[q+8>>2]|0;if((c[l>>2]|0)==(q|0)){r=l;break}else q=l}}else{q=p;while(1){l=c[q>>2]|0;if(!l){r=q;break}else q=l}}if((r|0)==(m|0))break;else{n=r;o=r}}}r=d+28|0;if(Xn(r,32466)|0){o=c[d>>2]|0;n=c[(c[o>>2]|0)+56>>2]|0;En(h,r);Fb[n&127](o,h);In(h)};c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;h=c[d>>2]|0;c[a>>2]=h;o=Hb[c[(c[h>>2]|0)+80>>2]&127](h)|0;h=c[d>>2]|0;n=Hb[c[(c[h>>2]|0)+76>>2]&127](h)|0;h=c[d>>2]|0;r=d+4|0;m=d+8|0;f=Nb[c[(c[h>>2]|0)+64>>2]&15](h,c[r>>2]|0,c[m>>2]|0,c[d+12>>2]|0)|0;h=c[d>>2]|0;if(f){Fb[c[(c[h>>2]|0)+92>>2]&127](j,h);f=a+4|0;ad(f);c[f>>2]=c[j>>2];f=j+4|0;c[a+8>>2]=c[f>>2];q=j+8|0;c[a+12>>2]=c[q>>2];c[q>>2]=0;c[f>>2]=0;c[j>>2]=0;mc(j);j=m;m=c[j+4>>2]|0;f=a+16|0;c[f>>2]=c[j>>2];c[f+4>>2]=m;i=b;return}if(Nb[c[(c[h>>2]|0)+64>>2]&15](h,c[r>>2]|0,o,n)|0){r=c[d>>2]|0;Fb[c[(c[r>>2]|0)+92>>2]&127](k,r);r=a+4|0;ad(r);c[r>>2]=c[k>>2];r=k+4|0;c[a+8>>2]=c[r>>2];d=k+8|0;c[a+12>>2]=c[d>>2];c[d>>2]=0;c[r>>2]=0;c[k>>2]=0;mc(k);k=a+16|0;c[k>>2]=o;c[k+4>>2]=n;i=b;return}else{Kn(e,17017)|0;i=b;return}}function Wc(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;j=i;i=i+128|0;k=j+120|0;l=j+104|0;m=j+96|0;n=j+88|0;o=j+72|0;p=j+64|0;q=j+56|0;r=j+40|0;s=j+24|0;t=j+16|0;u=j+8|0;v=j;w=Hc(d+24|0,e)|0;if(!w){Fn(l,17084,21);Kh(m);bd(k,l,3,m,0);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Jh(k,b);x=c[k+4>>2]|0;if(x)yn(x);x=c[m+4>>2]|0;if(x)yn(x);In(l);i=j;return}if((c[d+28>>2]|0)!=(e|0)?(l=d+60|0,x=c[l>>2]|0,(x|0)!=0):0){m=l;k=x;a:while(1){x=k;while(1){if((c[x+16>>2]|0)>>>0>=e>>>0){y=x;break}x=c[x+4>>2]|0;if(!x){z=m;break a}}k=c[y>>2]|0;if(!k){z=y;break}else m=y}if((z|0)!=(l|0)?(c[z+16>>2]|0)>>>0<=e>>>0:0){vh(q,g,h);h=r+4|0;c[r+8>>2]=0;g=r+12|0;c[g>>2]=0;e=r+8|0;c[h>>2]=e;c[r>>2]=w;z=c[(c[w>>2]|0)+96>>2]|0;c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];Ob[z&15](s,w,f,t);cd(h,c[e>>2]|0);c[h>>2]=c[s>>2];t=s+4|0;f=c[t>>2]|0;c[e>>2]=f;w=s+8|0;z=c[w>>2]|0;c[g>>2]=z;if(!z){c[h>>2]=e;A=f}else{c[f+8>>2]=e;c[s>>2]=t;c[t>>2]=0;c[w>>2]=0;A=0}cd(s,A);a[d+104>>0]=1;Kh(v);dd(u,r,d+12|0,1,v);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Jh(u,b);d=c[u+4>>2]|0;if(d)yn(d);d=c[v+4>>2]|0;if(d)yn(d);cd(r+4|0,c[e>>2]|0);i=j;return}}Fn(o,17106,30);Kh(p);bd(n,o,3,p,0);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Jh(n,b);b=c[n+4>>2]|0;if(b)yn(b);b=c[p+4>>2]|0;if(b)yn(b);In(o);i=j;return}function Xc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,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,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;g=i;i=i+1024|0;h=g+848|0;j=g+844|0;k=g+832|0;l=g+784|0;m=g+768|0;n=g+760|0;o=g+744|0;p=g+736|0;q=g+728|0;r=g+712|0;s=g+704|0;t=g+696|0;u=g+684|0;v=g+672|0;w=g+664|0;x=g+656|0;y=g+640|0;z=g+632|0;A=g+616|0;B=g+604|0;C=g+584|0;D=g+576|0;E=g+568|0;F=g+556|0;G=g+536|0;H=g+528|0;I=g+512|0;J=g+504|0;K=g+792|0;L=g+496|0;M=g+488|0;N=g+472|0;O=g+464|0;P=g+448|0;Q=g+440|0;R=g+424|0;S=g+400|0;T=g+360|0;U=g+352|0;V=g+336|0;W=g+328|0;X=g+320|0;Y=g+296|0;Z=g+288|0;_=g+280|0;$=g+264|0;aa=g+256|0;ba=g+240|0;ca=g+232|0;da=g+216|0;ea=g+208|0;fa=g+192|0;ga=g+184|0;ha=g+168|0;ia=g+152|0;ja=g+136|0;ka=g+128|0;la=g+120|0;ma=g+112|0;na=g+104|0;oa=g+88|0;pa=g+80|0;qa=g+64|0;ra=g+48|0;sa=g+32|0;ta=g+24|0;ua=g+16|0;va=g;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;En(m,f);Rc(l,m,k);In(m);Fn(o,17137,2);m=$h(l,o)|0;c[n>>2]=c[m>>2];f=n+4|0;wa=c[m+4>>2]|0;c[f>>2]=wa;if(wa)xn(wa);In(o);Kh(p);do if(!(Xn(k,32466)|0)){c[s>>2]=c[l>>2];o=s+4|0;wa=l+4|0;m=c[wa>>2]|0;c[o>>2]=m;if(m)xn(m);m=ed(s,k)|0;xa=c[o>>2]|0;if(xa)yn(xa);if(Xn(k,32466)|0){En(u,k);bd(t,u,5,n,0);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Jh(t,b);xa=c[t+4>>2]|0;if(xa)yn(xa);In(u);break}xa=e+104|0;o=d[xa>>0]|0;a:do switch(m|0){case 0:{c[w>>2]=c[l>>2];ya=w+4|0;za=c[wa>>2]|0;c[ya>>2]=za;if(za)xn(za);fd(v,w,k);za=c[ya>>2]|0;if(za)yn(za);if(!(Xn(k,32466)|0)){gd(B,v);Tc(A,e,B);hd(z,A,n);za=c[z>>2]|0;ya=z+4|0;Aa=c[ya>>2]|0;c[z>>2]=0;c[ya>>2]=0;c[p>>2]=za;za=p+4|0;Ba=c[za>>2]|0;c[za>>2]=Aa;if((Ba|0)!=0?(yn(Ba),Ba=c[ya>>2]|0,(Ba|0)!=0):0)yn(Ba);Ba=c[A>>2]|0;if(Ba){ya=A+4|0;Aa=c[ya>>2]|0;if((Aa|0)==(Ba|0))Ca=Ba;else{za=Aa;do{Aa=za+-136|0;c[ya>>2]=Aa;kc(Aa);za=c[ya>>2]|0}while((za|0)!=(Ba|0));Ca=c[A>>2]|0}gk(Ca)}Ba=c[B>>2]|0;if(Ba){za=B+4|0;ya=c[za>>2]|0;if((ya|0)==(Ba|0))Da=Ba;else{Aa=ya;do{ya=Aa+-12|0;c[za>>2]=ya;In(ya);Aa=c[za>>2]|0}while((Aa|0)!=(Ba|0));Da=c[B>>2]|0}gk(Da)}}else{En(y,k);bd(x,y,0,n,0);Ba=c[x>>2]|0;Aa=x+4|0;za=c[Aa>>2]|0;c[x>>2]=0;c[Aa>>2]=0;c[p>>2]=Ba;Ba=p+4|0;ya=c[Ba>>2]|0;c[Ba>>2]=za;if((ya|0)!=0?(yn(ya),ya=c[Aa>>2]|0,(ya|0)!=0):0)yn(ya);In(y)}ya=c[v>>2]|0;Aa=ya;if(ya){za=v+4|0;Ba=c[za>>2]|0;if((Ba|0)!=(ya|0)){Ea=~(((Ba+-12-Aa|0)>>>0)/12|0);Aa=Ba;do{Aa=Aa+-12|0;In(Aa)}while((Aa|0)!=(ya|0));c[za>>2]=Ba+(Ea*12|0)}gk(ya)}break}case 1:{c[D>>2]=c[l>>2];Aa=D+4|0;Fa=c[wa>>2]|0;c[Aa>>2]=Fa;if(Fa)xn(Fa);id(C,D,k);Fa=c[Aa>>2]|0;if(Fa)yn(Fa);if(!(Xn(k,32466)|0)){En(G,C);Fa=C+12|0;Aa=c[Fa+4>>2]|0;Ga=G+12|0;c[Ga>>2]=c[Fa>>2];c[Ga+4>>2]=Aa;Uc(h,e,G,k);In(G);if(!(Xn(k,32466)|0)){Aa=c[h>>2]|0;Ga=e+20|0;Fa=c[Ga>>2]|0;c[Ga>>2]=Fa+1;jd(e+24|0,Fa,Aa);kd(J,h,e+12|0,n);Aa=c[J>>2]|0;Fa=J+4|0;Ga=c[Fa>>2]|0;c[J>>2]=0;c[Fa>>2]=0;c[p>>2]=Aa;Aa=p+4|0;Ha=c[Aa>>2]|0;c[Aa>>2]=Ga;if((Ha|0)!=0?(yn(Ha),Ha=c[Fa>>2]|0,(Ha|0)!=0):0)yn(Ha)}else{En(I,k);bd(H,I,1,n,0);Ha=c[H>>2]|0;Fa=H+4|0;Ga=c[Fa>>2]|0;c[H>>2]=0;c[Fa>>2]=0;c[p>>2]=Ha;Ha=p+4|0;Aa=c[Ha>>2]|0;c[Ha>>2]=Ga;if((Aa|0)!=0?(yn(Aa),Aa=c[Fa>>2]|0,(Aa|0)!=0):0)yn(Aa);In(I)}In(h+164|0);uc(h+152|0,c[h+156>>2]|0);kc(h+4|0);Ia=C}else{En(F,k);bd(E,F,1,n,0);Aa=c[E>>2]|0;Fa=E+4|0;Ga=c[Fa>>2]|0;c[E>>2]=0;c[Fa>>2]=0;c[p>>2]=Aa;Aa=p+4|0;Ha=c[Aa>>2]|0;c[Aa>>2]=Ga;if((Ha|0)!=0?(yn(Ha),Ha=c[Fa>>2]|0,(Ha|0)!=0):0)yn(Ha);In(F);Ia=C}In(Ia);break}case 2:{c[L>>2]=c[l>>2];Ha=L+4|0;Fa=c[wa>>2]|0;c[Ha>>2]=Fa;if(Fa)xn(Fa);Fa=e+12|0;ld(K,L,Fa,k);Ga=c[Ha>>2]|0;if(Ga)yn(Ga);do if(!(Xn(k,32466)|0)){Ga=e+24|0;Ha=Gc(Ga,c[K>>2]|0)|0;if((Ha|0)==(c[e+16>>2]|0)){Fn(P,17140,32);bd(O,P,2,n,0);Aa=c[O>>2]|0;Ja=O+4|0;Ka=c[Ja>>2]|0;c[O>>2]=0;c[Ja>>2]=0;c[p>>2]=Aa;Aa=p+4|0;La=c[Aa>>2]|0;c[Aa>>2]=Ka;if((La|0)!=0?(yn(La),La=c[Ja>>2]|0,(La|0)!=0):0)yn(La);In(P);break}if((c[e+28>>2]|0)!=(Ha|0)?(La=e+60|0,Ja=c[La>>2]|0,(Ja|0)!=0):0){Ka=La;Aa=Ja;b:while(1){Ja=Aa;while(1){if((c[Ja+16>>2]|0)>>>0>=Ha>>>0){Ma=Ja;break}Ja=c[Ja+4>>2]|0;if(!Ja){Na=Ka;break b}}Aa=c[Ma>>2]|0;if(!Aa){Na=Ma;break}else Ka=Ma}if((Na|0)!=(La|0)?(c[Na+16>>2]|0)>>>0<=Ha>>>0:0){Fn(R,17173,34);bd(Q,R,2,n,0);Ka=c[Q>>2]|0;Aa=Q+4|0;Ja=c[Aa>>2]|0;c[Q>>2]=0;c[Aa>>2]=0;c[p>>2]=Ka;Ka=p+4|0;Oa=c[Ka>>2]|0;c[Ka>>2]=Ja;if((Oa|0)!=0?(yn(Oa),Oa=c[Aa>>2]|0,(Oa|0)!=0):0)yn(Oa);In(R);break}}c[T>>2]=c[K>>2];Oa=T+4|0;Aa=K+4|0;c[Oa>>2]=c[Aa>>2];c[Oa+4>>2]=c[Aa+4>>2];c[Oa+8>>2]=c[Aa+8>>2];Aa=T+16|0;c[T+20>>2]=0;c[T+24>>2]=0;Oa=T+20|0;c[Aa>>2]=Oa;Ja=c[K+16>>2]|0;Ka=K+20|0;if((Ja|0)!=(Ka|0)){Pa=Oa;Qa=Ja;Ra=Ja;while(1){c[j>>2]=Pa;c[h>>2]=c[j>>2];md(Aa,h,Qa+16|0)|0;Ja=c[Ra+4>>2]|0;if(!Ja){Sa=Ra;while(1){Ta=c[Sa+8>>2]|0;if((c[Ta>>2]|0)==(Sa|0)){Ua=Ta;break}else Sa=Ta}}else{Sa=Ja;while(1){Ta=c[Sa>>2]|0;if(!Ta){Ua=Sa;break}else Sa=Ta}}if((Ua|0)==(Ka|0))break;else{Qa=Ua;Ra=Ua}}}Ra=T+28|0;En(Ra,K+28|0);c[T>>2]=c[K>>2];Vc(S,0,T,k);In(Ra);uc(T+16|0,c[Oa>>2]|0);if(!(Xn(k,32466)|0)){nd(Ga,Ha,c[K+4>>2]|0,c[K+12>>2]|0);od(W,S,Fa,n);Ra=c[W>>2]|0;Qa=W+4|0;Ka=c[Qa>>2]|0;c[W>>2]=0;c[Qa>>2]=0;c[p>>2]=Ra;Ra=p+4|0;Aa=c[Ra>>2]|0;c[Ra>>2]=Ka;if((Aa|0)!=0?(yn(Aa),Aa=c[Qa>>2]|0,(Aa|0)!=0):0)yn(Aa)}else{En(V,k);bd(U,V,2,n,0);Aa=c[U>>2]|0;Qa=U+4|0;Ka=c[Qa>>2]|0;c[U>>2]=0;c[Qa>>2]=0;c[p>>2]=Aa;Aa=p+4|0;Ra=c[Aa>>2]|0;c[Aa>>2]=Ka;if((Ra|0)!=0?(yn(Ra),Ra=c[Qa>>2]|0,(Ra|0)!=0):0)yn(Ra);In(V)}mc(S+4|0)}else{En(N,k);bd(M,N,2,n,0);Ra=c[M>>2]|0;Qa=M+4|0;Ka=c[Qa>>2]|0;c[M>>2]=0;c[Qa>>2]=0;c[p>>2]=Ra;Ra=p+4|0;Aa=c[Ra>>2]|0;c[Ra>>2]=Ka;if((Aa|0)!=0?(yn(Aa),Aa=c[Qa>>2]|0,(Aa|0)!=0):0)yn(Aa);In(N)}while(0);In(K+28|0);uc(K+16|0,c[K+20>>2]|0);break}case 3:{c[Z>>2]=c[l>>2];Fa=Z+4|0;ya=c[wa>>2]|0;c[Fa>>2]=ya;if(ya)xn(ya);ya=e+12|0;pd(Y,Z,ya,X,k);Ea=c[Fa>>2]|0;if(Ea)yn(Ea);c:do if(!(Xn(k,32466)|0)){Ea=c[Y>>2]|0;Fa=e+24|0;Ba=Gc(Fa,Ea)|0;za=c[Y+4>>2]|0;Aa=(c[Y+8>>2]|0)-za|0;Qa=(Aa|0)/12|0;Ka=Ea;if((Ba|0)==(c[e+16>>2]|0)){Fn(ba,17140,32);bd(aa,ba,3,n,0);Ra=c[aa>>2]|0;Pa=aa+4|0;La=c[Pa>>2]|0;c[aa>>2]=0;c[Pa>>2]=0;c[p>>2]=Ra;Ra=p+4|0;Sa=c[Ra>>2]|0;c[Ra>>2]=La;if((Sa|0)!=0?(yn(Sa),Sa=c[Pa>>2]|0,(Sa|0)!=0):0)yn(Sa);In(ba);Va=za;Wa=za;Xa=152;break}if((c[e+28>>2]|0)!=(Ba|0)?(Sa=e+60|0,Pa=c[Sa>>2]|0,(Pa|0)!=0):0){La=Sa;Ra=Pa;d:while(1){Pa=Ra;while(1){if((c[Pa+16>>2]|0)>>>0>=Ba>>>0){Ya=Pa;break}Pa=c[Pa+4>>2]|0;if(!Pa){Za=La;break d}}Ra=c[Ya>>2]|0;if(!Ra){Za=Ya;break}else La=Ya}if((Za|0)!=(Sa|0)?(c[Za+16>>2]|0)>>>0<=Ba>>>0:0){if((Qa|0)!=(qd(Fa,Ba)|0)){Fn(fa,17208,33);bd(ea,fa,3,n,0);La=c[ea>>2]|0;Ra=ea+4|0;Ha=c[Ra>>2]|0;c[ea>>2]=0;c[Ra>>2]=0;c[p>>2]=La;La=p+4|0;Ga=c[La>>2]|0;c[La>>2]=Ha;do if(Ga){yn(Ga);Ha=c[Ra>>2]|0;if(!Ha)break;yn(Ha)}while(0);In(fa);Va=za;Wa=za;Xa=152;break}Ra=c[X>>2]|0;if((Ra|0)==1)a[xa>>0]=1;Ga=rd(Fa,Ba)|0;Sa=fk(Qa>>>0>1073741823?-1:Qa<<2)|0;e:do if((Aa|0)>0){Ha=0;while(1){La=c[za+(Ha*12|0)>>2]|0;if(((c[za+(Ha*12|0)+4>>2]|0)-La>>2|0)!=(Ga|0))break;c[Sa+(Ha<<2)>>2]=La;Ha=Ha+1|0;if((Ha|0)>=(Qa|0))break e}hk(Sa);Fn(ha,17242,25);bd(ga,ha,3,n,0);Ha=c[ga>>2]|0;La=ga+4|0;Oa=c[La>>2]|0;c[ga>>2]=0;c[La>>2]=0;c[p>>2]=Ha;Ha=p+4|0;Pa=c[Ha>>2]|0;c[Ha>>2]=Oa;do if(Pa){yn(Pa);Oa=c[La>>2]|0;if(!Oa)break;yn(Oa)}while(0);In(ha);_a=za;$a=za;break c}while(0);Qa=ia+4|0;c[ia+8>>2]=0;Ga=ia+12|0;c[Ga>>2]=0;Aa=ia+8|0;c[Qa>>2]=Aa;c[ia>>2]=Ka;Ba=c[(c[Ea>>2]|0)+96>>2]|0;c[ka>>2]=c[Y+16>>2];c[ka+4>>2]=c[Y+20>>2];Ob[Ba&15](ja,Ea,Sa,ka);cd(Qa,c[Aa>>2]|0);c[Qa>>2]=c[ja>>2];Ba=ja+4|0;Fa=c[Ba>>2]|0;c[Aa>>2]=Fa;La=ja+8|0;Pa=c[La>>2]|0;c[Ga>>2]=Pa;if(!Pa){c[Qa>>2]=Aa;ab=Fa}else{c[Fa+8>>2]=Aa;c[ja>>2]=Ba;c[Ba>>2]=0;c[La>>2]=0;ab=0}cd(ja,ab);hk(Sa);dd(la,ia,ya,Ra,n);La=c[la>>2]|0;Ba=la+4|0;Fa=c[Ba>>2]|0;c[la>>2]=0;c[Ba>>2]=0;c[p>>2]=La;La=p+4|0;Qa=c[La>>2]|0;c[La>>2]=Fa;do if(Qa){yn(Qa);Fa=c[Ba>>2]|0;if(!Fa)break;yn(Fa)}while(0);cd(ia+4|0,c[Aa>>2]|0);Va=za;Wa=za;Xa=152;break}}Fn(da,17106,30);bd(ca,da,3,n,0);Ba=c[ca>>2]|0;Qa=ca+4|0;Ra=c[Qa>>2]|0;c[ca>>2]=0;c[Qa>>2]=0;c[p>>2]=Ba;Ba=p+4|0;Sa=c[Ba>>2]|0;c[Ba>>2]=Ra;if((Sa|0)!=0?(yn(Sa),Sa=c[Qa>>2]|0,(Sa|0)!=0):0)yn(Sa);In(da);Va=za;Wa=za;Xa=152}else{En($,k);bd(_,$,3,n,0);Sa=c[_>>2]|0;Qa=_+4|0;Ra=c[Qa>>2]|0;c[_>>2]=0;c[Qa>>2]=0;c[p>>2]=Sa;Sa=p+4|0;Ba=c[Sa>>2]|0;c[Sa>>2]=Ra;if((Ba|0)!=0?(yn(Ba),Ba=c[Qa>>2]|0,(Ba|0)!=0):0)yn(Ba);In($);Ba=c[Y+4>>2]|0;Va=Ba;Wa=Ba;Xa=152}while(0);if((Xa|0)==152)if(!Wa)break a;else{_a=Wa;$a=Va}ya=Y+8|0;Ba=c[ya>>2]|0;if((Ba|0)==(_a|0))bb=_a;else{Qa=~(((Ba+-12-_a|0)>>>0)/12|0);Ra=Ba;do{Sa=Ra;Ra=Ra+-12|0;Ea=c[Ra>>2]|0;Ka=Ea;if(Ea){Fa=Sa+-8|0;Sa=c[Fa>>2]|0;if((Sa|0)!=(Ea|0))c[Fa>>2]=Sa+(~((Sa+-4-Ka|0)>>>2)<<2);gk(Ea)}}while((Ra|0)!=(_a|0));c[ya>>2]=Ba+(Qa*12|0);bb=$a}gk(bb);break}case 4:{c[ma>>2]=c[l>>2];Ra=ma+4|0;Ea=c[wa>>2]|0;c[Ra>>2]=Ea;if(Ea)xn(Ea);Ea=e+12|0;Ka=sd(ma,Ea,k)|0;Sa=c[Ra>>2]|0;if(Sa)yn(Sa);if(Xn(k,32466)|0){En(oa,k);bd(na,oa,4,n,0);Sa=c[na>>2]|0;Ra=na+4|0;Fa=c[Ra>>2]|0;c[na>>2]=0;c[Ra>>2]=0;c[p>>2]=Sa;Sa=p+4|0;La=c[Sa>>2]|0;c[Sa>>2]=Fa;if((La|0)!=0?(yn(La),La=c[Ra>>2]|0,(La|0)!=0):0)yn(La);In(oa);break a}La=e+24|0;Ra=Gc(La,Ka)|0;if((Ra|0)==(c[e+16>>2]|0)){Fn(qa,17140,32);bd(pa,qa,4,n,0);Fa=c[pa>>2]|0;Sa=pa+4|0;Pa=c[Sa>>2]|0;c[pa>>2]=0;c[Sa>>2]=0;c[p>>2]=Fa;Fa=p+4|0;Ga=c[Fa>>2]|0;c[Fa>>2]=Pa;if((Ga|0)!=0?(yn(Ga),Ga=c[Sa>>2]|0,(Ga|0)!=0):0)yn(Ga);In(qa);break a}Ga=ra+4|0;c[ra+8>>2]=0;Sa=ra+12|0;c[Sa>>2]=0;Pa=ra+8|0;c[Ga>>2]=Pa;c[ra>>2]=Ka;if((c[e+28>>2]|0)!=(Ra|0)?(Fa=e+60|0,Oa=c[Fa>>2]|0,(Oa|0)!=0):0){Ha=Fa;Ja=Oa;f:while(1){Oa=Ja;while(1){if((c[Oa+16>>2]|0)>>>0>=Ra>>>0){cb=Oa;break}Oa=c[Oa+4>>2]|0;if(!Oa){db=Ha;break f}}Ja=c[cb>>2]|0;if(!Ja){db=cb;break}else Ha=cb}if((db|0)!=(Fa|0)?(c[db+16>>2]|0)>>>0<=Ra>>>0:0){Fb[c[(c[Ka>>2]|0)+100>>2]&127](sa,Ka);cd(Ga,c[Pa>>2]|0);c[Ga>>2]=c[sa>>2];Ha=sa+4|0;Ja=c[Ha>>2]|0;c[Pa>>2]=Ja;Qa=sa+8|0;Ba=c[Qa>>2]|0;c[Sa>>2]=Ba;if(!Ba){c[Ga>>2]=Pa;eb=Ja}else{c[Ja+8>>2]=Pa;c[sa>>2]=Ha;c[Ha>>2]=0;c[Qa>>2]=0;eb=0}cd(sa,eb)}}td(ta,ra,Ea,o,n);Qa=c[ta>>2]|0;Ha=ta+4|0;Ja=c[Ha>>2]|0;c[ta>>2]=0;c[Ha>>2]=0;c[p>>2]=Qa;Qa=p+4|0;Ba=c[Qa>>2]|0;c[Qa>>2]=Ja;if((Ba|0)!=0?(yn(Ba),Ba=c[Ha>>2]|0,(Ba|0)!=0):0)yn(Ba);ud(La,Ra);if(Ka)Eb[c[(c[Ka>>2]|0)+4>>2]&255](Ka);cd(ra+4|0,c[Pa>>2]|0);break}case 5:{Fn(va,17268,15);bd(ua,va,5,n,0);Ba=c[ua>>2]|0;Ha=ua+4|0;Ja=c[Ha>>2]|0;c[ua>>2]=0;c[Ha>>2]=0;c[p>>2]=Ba;Ba=p+4|0;Qa=c[Ba>>2]|0;c[Ba>>2]=Ja;if((Qa|0)!=0?(yn(Qa),Qa=c[Ha>>2]|0,(Qa|0)!=0):0)yn(Qa);In(va);break}default:{}}while(0);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Jh(p,b)}else{En(r,k);bd(q,r,5,n,0);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Jh(q,b);o=c[q+4>>2]|0;if(o)yn(o);In(r)}while(0);r=c[p+4>>2]|0;if(r)yn(r);r=c[f>>2]|0;if(r)yn(r);r=c[l+4>>2]|0;if(!r){In(k);i=g;return}yn(r);In(k);i=g;return}function Yc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+16|0;e=d;f=Ce(a,e,b)|0;g=c[f>>2]|0;if(g){h=g;j=h+28|0;i=d;return j|0}g=ek(32)|0;En(g+16|0,b);c[g+28>>2]=0;b=c[e>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=b;c[f>>2]=g;b=c[c[a>>2]>>2]|0;if(!b)k=g;else{c[a>>2]=b;k=c[f>>2]|0}xc(c[a+4>>2]|0,k);k=a+8|0;c[k>>2]=(c[k>>2]|0)+1;h=g;j=h+28|0;i=d;return j|0}function Zc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;d=i;i=i+32|0;e=d;f=a+4|0;g=c[a>>2]|0;h=(((c[f>>2]|0)-g|0)/136|0)+1|0;if(h>>>0>31580641){ck(a);j=c[a>>2]|0}else j=g;g=j;j=((c[a+8>>2]|0)-g|0)/136|0;if(j>>>0<15790320){k=j<<1;l=k>>>0<h>>>0?h:k}else l=31580641;k=((c[f>>2]|0)-g|0)/136|0;c[e+12>>2]=0;c[e+16>>2]=a+8;if(!l)m=0;else m=ek(l*136|0)|0;c[e>>2]=m;g=m+(k*136|0)|0;f=e+8|0;c[f>>2]=g;h=e+4|0;c[h>>2]=g;c[e+12>>2]=m+(l*136|0);c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g=m+(k*136|0)+12|0;l=b+12|0;c[g>>2]=c[l>>2];c[g+4>>2]=c[l+4>>2];c[g+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;l=m+(k*136|0)+24|0;g=b+24|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];c[l+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;g=m+(k*136|0)+36|0;l=b+36|0;c[g>>2]=c[l>>2];c[g+4>>2]=c[l+4>>2];c[g+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;l=m+(k*136|0)+48|0;g=b+48|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];c[l+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;g=m+(k*136|0)+60|0;l=b+60|0;c[g>>2]=c[l>>2];c[g+4>>2]=c[l+4>>2];c[g+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[m+(k*136|0)+72>>2]=c[b+72>>2];l=b+76|0;c[m+(k*136|0)+84>>2]=0;c[m+(k*136|0)+76>>2]=c[l>>2];g=b+80|0;c[m+(k*136|0)+80>>2]=c[g>>2];j=b+84|0;c[m+(k*136|0)+84>>2]=c[j>>2];c[j>>2]=0;c[g>>2]=0;c[l>>2]=0;l=b+88|0;g=c[l+4>>2]|0;j=m+(k*136|0)+88|0;c[j>>2]=c[l>>2];c[j+4>>2]=g;g=b+96|0;c[m+(k*136|0)+104>>2]=0;c[m+(k*136|0)+96>>2]=c[g>>2];j=b+100|0;c[m+(k*136|0)+100>>2]=c[j>>2];l=b+104|0;c[m+(k*136|0)+104>>2]=c[l>>2];c[l>>2]=0;c[j>>2]=0;c[g>>2]=0;g=b+108|0;c[m+(k*136|0)+116>>2]=0;c[m+(k*136|0)+108>>2]=c[g>>2];j=b+112|0;c[m+(k*136|0)+112>>2]=c[j>>2];l=b+116|0;c[m+(k*136|0)+116>>2]=c[l>>2];c[l>>2]=0;c[j>>2]=0;c[g>>2]=0;g=c[b+120>>2]|0;j=b+124|0;c[m+(k*136|0)+132>>2]=0;c[m+(k*136|0)+124>>2]=c[j>>2];l=b+128|0;c[m+(k*136|0)+128>>2]=c[l>>2];n=b+132|0;c[m+(k*136|0)+132>>2]=c[n>>2];c[n>>2]=0;c[l>>2]=0;c[j>>2]=0;c[m+(k*136|0)+120>>2]=g;c[f>>2]=(c[f>>2]|0)+136;Be(a,e);a=c[h>>2]|0;h=c[f>>2]|0;if((h|0)!=(a|0)){g=~(((h+-136-a|0)>>>0)/136|0);k=h;do{k=k+-136|0;kc(k)}while((k|0)!=(a|0));c[f>>2]=h+(g*136|0)}g=c[e>>2]|0;if(!g){i=d;return}gk(g);i=d;return}function _c(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=b+4|0;b=c[e>>2]|0;if(b){f=a[d>>0]|0;g=(f&1)==0;h=g?(f&255)>>>1:c[d+4>>2]|0;f=g?d+1|0:c[d+8>>2]|0;d=e;g=b;a:while(1){b=g;while(1){i=b+16|0;j=a[i>>0]|0;k=(j&1)==0;l=k?(j&255)>>>1:c[b+20>>2]|0;j=rm(k?i+1|0:c[b+24>>2]|0,f,h>>>0<l>>>0?h:l)|0;if((((j|0)==0?(l>>>0<h>>>0?-2147483648:0):j)|0)>=0){m=b;break}b=c[b+4>>2]|0;if(!b){n=d;break a}}g=c[m>>2]|0;if(!g){n=m;break}else d=m}if((n|0)!=(e|0)?(m=n+16|0,d=a[m>>0]|0,g=(d&1)==0,b=g?(d&255)>>>1:c[n+20>>2]|0,d=rm(f,g?m+1|0:c[n+24>>2]|0,b>>>0<h>>>0?b:h)|0,(((d|0)==0?(h>>>0<b>>>0?-2147483648:0):d)|0)>=0):0){o=n;return o|0}}o=e;return o|0}function $c(b,d,e){b=b|0;d=d|0;e=e|0;var 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;f=b+4|0;b=c[f>>2]|0;if(!b){c[d>>2]=f;g=c[f>>2]|0;return g|0}f=a[e>>0]|0;h=(f&1)==0;i=h?(f&255)>>>1:c[e+4>>2]|0;f=h?e+1|0:c[e+8>>2]|0;e=b;while(1){b=e+16|0;h=a[b>>0]|0;j=(h&1)==0;k=j?(h&255)>>>1:c[e+20>>2]|0;h=j?b+1|0:c[e+24>>2]|0;b=k>>>0<i>>>0;j=rm(f,h,b?k:i)|0;l=i>>>0<k>>>0;if((((j|0)==0?(l?-2147483648:0):j)|0)<0){j=c[e>>2]|0;if(!j){m=e;n=e;o=5;break}else p=j}else{j=rm(h,f,l?i:k)|0;if((((j|0)==0?(b?-2147483648:0):j)|0)>=0){q=e;o=10;break}j=e+4|0;b=c[j>>2]|0;if(!b){r=j;s=e;o=9;break}else p=b}e=p}if((o|0)==5){c[d>>2]=n;g=c[m>>2]|0;return g|0}else if((o|0)==9){c[d>>2]=s;g=c[r>>2]|0;return g|0}else if((o|0)==10){c[d>>2]=q;g=q;return g|0}return 0}function ad(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=c[a>>2]|0;if(!b)return;d=a+4|0;e=c[d>>2]|0;if((e|0)==(b|0))f=b;else{g=e;do{e=g+-100|0;c[d>>2]=e;h=g+-44|0;i=c[h>>2]|0;if(i){j=g+-40|0;k=c[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k;do{k=m+-12|0;c[j>>2]=k;In(k);m=c[j>>2]|0}while((m|0)!=(i|0));l=c[h>>2]|0}gk(l)}In(g+-64|0);In(g+-76|0);In(g+-88|0);In(e);g=c[d>>2]|0}while((g|0)!=(b|0));f=c[a>>2]|0}gk(f);c[a+8>>2]=0;c[d>>2]=0;c[a>>2]=0;return}function bd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,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;h=i;i=i+208|0;j=h+200|0;k=h+188|0;l=h+176|0;m=h+164|0;n=h+152|0;o=h+144|0;p=h+128|0;q=h+120|0;r=h+104|0;s=h+96|0;t=h+80|0;u=h+68|0;v=h+56|0;w=h+44|0;x=h+32|0;y=h+24|0;z=h+8|0;A=h;B=k+4|0;c[B>>2]=0;C=k+8|0;c[C>>2]=0;D=k+4|0;c[k>>2]=D;xd(k);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;switch(e|0){case 0:{Kn(l,19136)|0;break}case 1:{Kn(l,18417)|0;break}case 2:{Kn(l,17908)|0;break}case 3:{Kn(l,17766)|0;break}case 4:{Kn(l,17307)|0;break}default:Kn(l,19228)|0}E=m+4|0;c[E>>2]=0;F=m+8|0;c[F>>2]=0;G=m+4|0;c[m>>2]=G;Fn(n,19284,4);H=yd(m,j,n)|0;I=c[H>>2]|0;if(!I){J=ek(36)|0;K=J+16|0;c[K>>2]=c[n>>2];c[K+4>>2]=c[n+4>>2];c[K+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;Kh(J+28|0);K=c[j>>2]|0;c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=K;c[H>>2]=J;K=c[c[m>>2]>>2]|0;if(!K)L=J;else{c[m>>2]=K;L=c[H>>2]|0}xc(c[E>>2]|0,L);c[F>>2]=(c[F>>2]|0)+1;M=J}else M=I;Mh(o,0);I=c[o>>2]|0;J=o+4|0;L=c[J>>2]|0;c[o>>2]=0;c[J>>2]=0;c[M+28>>2]=I;I=M+32|0;M=c[I>>2]|0;c[I>>2]=L;if(M)yn(M);M=c[J>>2]|0;if(M)yn(M);In(n);if((e|0)==5|g){Fn(p,19289,7);g=yd(m,j,p)|0;e=c[g>>2]|0;if(!e){n=ek(36)|0;M=n+16|0;c[M>>2]=c[p>>2];c[M+4>>2]=c[p+4>>2];c[M+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Kh(n+28|0);M=c[j>>2]|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=M;c[g>>2]=n;M=c[c[m>>2]>>2]|0;if(!M)N=n;else{c[m>>2]=M;N=c[g>>2]|0}xc(c[E>>2]|0,N);c[F>>2]=(c[F>>2]|0)+1;O=n}else O=e;Oh(q,d);e=c[q>>2]|0;n=q+4|0;N=c[n>>2]|0;c[q>>2]=0;c[n>>2]=0;c[O+28>>2]=e;e=O+32|0;O=c[e>>2]|0;c[e>>2]=N;if(O)yn(O);O=c[n>>2]|0;if(O)yn(O);In(p)}else{Fn(r,19289,7);p=yd(m,j,r)|0;O=c[p>>2]|0;if(!O){n=ek(36)|0;N=n+16|0;c[N>>2]=c[r>>2];c[N+4>>2]=c[r+4>>2];c[N+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Kh(n+28|0);N=c[j>>2]|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=N;c[p>>2]=n;N=c[c[m>>2]>>2]|0;if(!N)P=n;else{c[m>>2]=N;P=c[p>>2]|0}xc(c[E>>2]|0,P);c[F>>2]=(c[F>>2]|0)+1;Q=n}else Q=O;Fn(w,19297,9);O=a[l>>0]|0;n=(O&1)==0;F=Rn(w,n?l+1|0:c[l+8>>2]|0,n?(O&255)>>>1:c[l+4>>2]|0)|0;c[v>>2]=c[F>>2];c[v+4>>2]=c[F+4>>2];c[v+8>>2]=c[F+8>>2];c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;F=Pn(v,19307)|0;c[u>>2]=c[F>>2];c[u+4>>2]=c[F+4>>2];c[u+8>>2]=c[F+8>>2];c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;F=a[d>>0]|0;O=(F&1)==0;n=Rn(u,O?d+1|0:c[d+8>>2]|0,O?(F&255)>>>1:c[d+4>>2]|0)|0;c[t>>2]=c[n>>2];c[t+4>>2]=c[n+4>>2];c[t+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;Ph(s,t);n=c[s>>2]|0;d=s+4|0;F=c[d>>2]|0;c[s>>2]=0;c[d>>2]=0;c[Q+28>>2]=n;n=Q+32|0;Q=c[n>>2]|0;c[n>>2]=F;if(Q)yn(Q);Q=c[d>>2]|0;if(Q)yn(Q);In(t);In(u);In(v);In(w);In(r)}Fn(x,17300,6);r=yd(k,j,x)|0;w=c[r>>2]|0;if(!w){v=ek(36)|0;u=v+16|0;c[u>>2]=c[x>>2];c[u+4>>2]=c[x+4>>2];c[u+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Kh(v+28|0);u=c[j>>2]|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=u;c[r>>2]=v;u=c[c[k>>2]>>2]|0;if(!u)R=v;else{c[k>>2]=u;R=c[r>>2]|0}xc(c[B>>2]|0,R);c[C>>2]=(c[C>>2]|0)+1;S=v}else S=w;Oh(y,l);w=c[y>>2]|0;v=y+4|0;R=c[v>>2]|0;c[y>>2]=0;c[v>>2]=0;c[S+28>>2]=w;w=S+32|0;S=c[w>>2]|0;c[w>>2]=R;if(S)yn(S);S=c[v>>2]|0;if(S)yn(S);In(x);Fn(z,19318,5);x=yd(k,j,z)|0;S=c[x>>2]|0;if(!S){v=ek(36)|0;R=v+16|0;c[R>>2]=c[z>>2];c[R+4>>2]=c[z+4>>2];c[R+8>>2]=c[z+8>>2];c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;Kh(v+28|0);R=c[j>>2]|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=R;c[x>>2]=v;R=c[c[k>>2]>>2]|0;if(!R)T=v;else{c[k>>2]=R;T=c[x>>2]|0}xc(c[B>>2]|0,T);c[C>>2]=(c[C>>2]|0)+1;U=v}else U=S;Th(A,m);S=c[A>>2]|0;v=A+4|0;C=c[v>>2]|0;c[A>>2]=0;c[v>>2]=0;c[U+28>>2]=S;S=U+32|0;U=c[S>>2]|0;c[S>>2]=C;if(U)yn(U);U=c[v>>2]|0;if(!U){In(z);Ad(k,f);Th(b,k);V=c[G>>2]|0;Bd(m,V);In(l);W=c[D>>2]|0;Bd(k,W);i=h;return}yn(U);In(z);Ad(k,f);Th(b,k);V=c[G>>2]|0;Bd(m,V);In(l);W=c[D>>2]|0;Bd(k,W);i=h;return}function cd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!b)return;cd(a,c[b>>2]|0);cd(a,c[b+4>>2]|0);a=b+20|0;d=c[a>>2]|0;if(d){e=b+24|0;f=c[e>>2]|0;if((f|0)==(d|0))g=d;else{h=f;do{c[e>>2]=h+-48;In(h+-12|0);f=c[h+-24>>2]|0;i=f;if(f){j=h+-20|0;k=c[j>>2]|0;if((k|0)!=(f|0))c[j>>2]=k+(~((k+-4-i|0)>>>2)<<2);gk(f)}h=c[e>>2]|0}while((h|0)!=(d|0));g=c[a>>2]|0}gk(g)}gk(b);return}function dd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;g=i;i=i+128|0;h=g+124|0;j=g+112|0;k=g+100|0;l=g+88|0;m=g+80|0;n=g+64|0;o=g+56|0;p=g+48|0;q=g+32|0;r=g+24|0;s=g+8|0;t=g;u=j+4|0;c[u>>2]=0;v=j+8|0;c[v>>2]=0;w=j+4|0;c[j>>2]=w;xd(j);x=k+4|0;c[x>>2]=0;y=k+8|0;c[y>>2]=0;z=k+4|0;c[k>>2]=z;Fn(l,17284,6);A=yd(k,h,l)|0;B=c[A>>2]|0;if(!B){C=ek(36)|0;D=C+16|0;c[D>>2]=c[l>>2];c[D+4>>2]=c[l+4>>2];c[D+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;Kh(C+28|0);D=c[h>>2]|0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=D;c[A>>2]=C;D=c[c[k>>2]>>2]|0;if(!D)E=C;else{c[k>>2]=D;E=c[A>>2]|0}xc(c[x>>2]|0,E);c[y>>2]=(c[y>>2]|0)+1;F=C}else F=B;Lh(m,+((Pb[c[(c[d>>2]|0)+8>>2]&63](d,c[b>>2]|0)|0)>>>0));B=c[m>>2]|0;C=m+4|0;E=c[C>>2]|0;c[m>>2]=0;c[C>>2]=0;c[F+28>>2]=B;B=F+32|0;F=c[B>>2]|0;c[B>>2]=E;if(F)yn(F);F=c[C>>2]|0;if(F)yn(F);In(l);Fn(n,17291,8);l=yd(k,h,n)|0;F=c[l>>2]|0;if(!F){C=ek(36)|0;E=C+16|0;c[E>>2]=c[n>>2];c[E+4>>2]=c[n+4>>2];c[E+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;Kh(C+28|0);E=c[h>>2]|0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=E;c[l>>2]=C;E=c[c[k>>2]>>2]|0;if(!E)G=C;else{c[k>>2]=E;G=c[l>>2]|0}xc(c[x>>2]|0,G);c[y>>2]=(c[y>>2]|0)+1;H=C}else H=F;Kb[c[(c[d>>2]|0)+16>>2]&7](p,d,c[b>>2]|0);zd(o,b+4|0,c[p>>2]|0,e);e=c[o>>2]|0;b=o+4|0;d=c[b>>2]|0;c[o>>2]=0;c[b>>2]=0;c[H+28>>2]=e;e=H+32|0;H=c[e>>2]|0;c[e>>2]=d;if(H)yn(H);H=c[b>>2]|0;if(H)yn(H);H=c[p+4>>2]|0;if(H)yn(H);In(n);Fn(q,17300,6);n=yd(j,h,q)|0;H=c[n>>2]|0;if(!H){p=ek(36)|0;b=p+16|0;c[b>>2]=c[q>>2];c[b+4>>2]=c[q+4>>2];c[b+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Kh(p+28|0);b=c[h>>2]|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=b;c[n>>2]=p;b=c[c[j>>2]>>2]|0;if(!b)I=p;else{c[j>>2]=b;I=c[n>>2]|0}xc(c[u>>2]|0,I);c[v>>2]=(c[v>>2]|0)+1;J=p}else J=H;Qh(r,17766);H=c[r>>2]|0;p=r+4|0;I=c[p>>2]|0;c[r>>2]=0;c[p>>2]=0;c[J+28>>2]=H;H=J+32|0;J=c[H>>2]|0;c[H>>2]=I;if(J)yn(J);J=c[p>>2]|0;if(J)yn(J);In(q);Fn(s,17314,6);q=yd(j,h,s)|0;J=c[q>>2]|0;if(!J){p=ek(36)|0;I=p+16|0;c[I>>2]=c[s>>2];c[I+4>>2]=c[s+4>>2];c[I+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Kh(p+28|0);I=c[h>>2]|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=I;c[q>>2]=p;I=c[c[j>>2]>>2]|0;if(!I)K=p;else{c[j>>2]=I;K=c[q>>2]|0}xc(c[u>>2]|0,K);c[v>>2]=(c[v>>2]|0)+1;L=p}else L=J;Th(t,k);J=c[t>>2]|0;p=t+4|0;v=c[p>>2]|0;c[t>>2]=0;c[p>>2]=0;c[L+28>>2]=J;J=L+32|0;L=c[J>>2]|0;c[J>>2]=v;if(L)yn(L);L=c[p>>2]|0;if(!L){In(s);Ad(j,f);Th(a,j);M=c[z>>2]|0;Bd(k,M);N=c[w>>2]|0;Bd(j,N);i=g;return}yn(L);In(s);Ad(j,f);Th(a,j);M=c[z>>2]|0;Bd(k,M);N=c[w>>2]|0;Bd(j,N);i=g;return}function ed(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+64|0;f=e+48|0;g=e+36|0;h=e+24|0;j=e+12|0;k=e;Fn(f,17300,6);l=(Vh($h(b,f)|0)|0)==3;In(f);if(!l){Kn(d,17580)|0;m=5;i=e;return m|0}Fn(h,17300,6);En(g,Yh($h(b,h)|0)|0);In(h);if(Xn(g,19136)|0)if(Xn(g,18417)|0)if(Xn(g,17908)|0)if(Xn(g,17766)|0)if(Xn(g,17307)|0)if(!(Xn(g,19228)|0))n=5;else{c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;h=a[g>>0]|0;b=(h&1)==0?(h&255)>>>1:c[g+4>>2]|0;Yn(k,19236,45,b+45|0);Rn(k,(a[g>>0]&1)==0?g+1|0:c[g+8>>2]|0,b)|0;b=Pn(k,19282)|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(!(a[d>>0]&1)){a[d+1>>0]=0;a[d>>0]=0}else{a[c[d+8>>2]>>0]=0;c[d+4>>2]=0}On(d,0);c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;In(j);In(k);n=5}else n=4;else n=3;else n=2;else n=1;else n=0;In(g);m=n;i=e;return m|0}function fd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+48|0;f=e+40|0;g=e+24|0;h=e+16|0;j=e;c[f>>2]=c[b>>2];k=f+4|0;l=c[b+4>>2]|0;c[k>>2]=l;if(l)xn(l);Fn(g,19136,4);Kd(f,g,d);In(g);g=c[k>>2]|0;if(g)yn(g);if(Xn(d,32466)|0){c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;i=e;return}Fn(j,17573,6);g=$h(b,j)|0;c[h>>2]=c[g>>2];b=h+4|0;k=c[g+4>>2]|0;c[b>>2]=k;if(k)xn(k);Ae(a,h,d);d=c[b>>2]|0;if(d)yn(d);In(j);i=e;return}function gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=0;d=a+4|0;c[d>>2]=0;c[a+8>>2]=0;e=b+4|0;f=c[e>>2]|0;g=c[b>>2]|0;h=f-g|0;i=(h|0)/12|0;if((f|0)==(g|0))return;if(i>>>0>357913941)ck(a);g=ek(h)|0;c[d>>2]=g;c[a>>2]=g;c[a+8>>2]=g+(i*12|0);i=c[b>>2]|0;b=c[e>>2]|0;if((i|0)==(b|0))return;e=i;i=g;do{En(i,e);i=(c[d>>2]|0)+12|0;c[d>>2]=i;e=e+12|0}while((e|0)!=(b|0));return}function hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=i;i=i+64|0;f=e+56|0;g=e+44|0;h=e+32|0;j=e+24|0;k=e+8|0;l=e;m=g+4|0;c[m>>2]=0;n=g+8|0;c[n>>2]=0;o=g+4|0;c[g>>2]=o;xd(g);Fn(h,17300,6);p=yd(g,f,h)|0;q=c[p>>2]|0;if(!q){r=ek(36)|0;s=r+16|0;c[s>>2]=c[h>>2];c[s+4>>2]=c[h+4>>2];c[s+8>>2]=c[h+8>>2];c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;Kh(r+28|0);s=c[f>>2]|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=s;c[p>>2]=r;s=c[c[g>>2]>>2]|0;if(!s)t=r;else{c[g>>2]=s;t=c[p>>2]|0}xc(c[m>>2]|0,t);c[n>>2]=(c[n>>2]|0)+1;u=r}else u=q;Qh(j,19136);q=c[j>>2]|0;r=j+4|0;t=c[r>>2]|0;c[j>>2]=0;c[r>>2]=0;c[u+28>>2]=q;q=u+32|0;u=c[q>>2]|0;c[q>>2]=t;if(u)yn(u);u=c[r>>2]|0;if(u)yn(u);In(h);Fn(k,17314,6);h=yd(g,f,k)|0;u=c[h>>2]|0;if(!u){r=ek(36)|0;t=r+16|0;c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;Kh(r+28|0);t=c[f>>2]|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=t;c[h>>2]=r;t=c[c[g>>2]>>2]|0;if(!t)v=r;else{c[g>>2]=t;v=c[h>>2]|0}xc(c[m>>2]|0,v);c[n>>2]=(c[n>>2]|0)+1;w=r}else w=u;ze(l,b);b=c[l>>2]|0;u=l+4|0;r=c[u>>2]|0;c[l>>2]=0;c[u>>2]=0;c[w+28>>2]=b;b=w+32|0;w=c[b>>2]|0;c[b>>2]=r;if(w)yn(w);w=c[u>>2]|0;if(!w){In(k);Ad(g,d);Th(a,g);x=c[o>>2]|0;Bd(g,x);i=e;return}yn(w);In(k);Ad(g,d);Th(a,g);x=c[o>>2]|0;Bd(g,x);i=e;return}function id(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+48|0;f=e+40|0;g=e+24|0;h=e+16|0;j=e;c[f>>2]=c[b>>2];k=f+4|0;l=c[b+4>>2]|0;c[k>>2]=l;if(l)xn(l);Fn(g,18417,4);Kd(f,g,d);In(g);g=c[k>>2]|0;if(g)yn(g);if(Xn(d,32466)|0){c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;i=e;return}Fn(j,17573,6);g=$h(b,j)|0;c[h>>2]=c[g>>2];b=h+4|0;k=c[g+4>>2]|0;c[b>>2]=k;if(k)xn(k);xe(a,h,d);d=c[b>>2]|0;if(d)yn(d);In(j);i=e;return}function jd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,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;e=i;i=i+16|0;f=e;g=d;if(!d){i=e;return}h=a+20|0;j=a+24|0;k=c[j>>2]|0;if(k){l=j;m=k;a:while(1){k=m;while(1){if((c[k+16>>2]|0)>>>0>=d>>>0){n=k;break}k=c[k+4>>2]|0;if(!k){o=l;break a}}m=c[n>>2]|0;if(!m){o=n;break}else l=n}if((o|0)!=(j|0)?(c[o+16>>2]|0)>>>0<=d>>>0:0){i=e;return}}o=a+8|0;n=a+12|0;l=c[n>>2]|0;m=(l|0)==0;do if(!m){k=n;p=l;b:while(1){q=p;while(1){if((c[q+16>>2]|0)>>>0>=b>>>0){r=q;break}q=c[q+4>>2]|0;if(!q){s=k;break b}}p=c[r>>2]|0;if(!p){s=r;break}else k=r}if((s|0)!=(n|0)?(c[s+16>>2]|0)>>>0<=b>>>0:0){k=le(lp(le(jp(le(9776,18641,31)|0,b)|0,18673,12)|0,d)|0,18686,26)|0;p=c[n>>2]|0;do if(p){q=p;while(1){t=c[q+16>>2]|0;if(t>>>0>b>>>0){u=c[q>>2]|0;if(!u){v=q;w=q;x=20;break}else y=u}else{if(t>>>0>=b>>>0){z=q;x=26;break}t=q+4|0;u=c[t>>2]|0;if(!u){A=t;B=q;x=24;break}else y=u}q=y}if((x|0)==20){c[f>>2]=w;C=v;D=w;break}else if((x|0)==24){c[f>>2]=B;C=A;D=B;break}else if((x|0)==26){c[f>>2]=z;if(!z){C=f;D=z;break}else E=z;F=E+20|0;G=c[F>>2]|0;H=lp(k,G)|0;I=le(H,21636,1)|0;J=c[I>>2]|0;K=J+-12|0;L=c[K>>2]|0;M=I+L|0;N=oo(M)|0;c[f>>2]=N;O=Lt(f,12376)|0;P=c[O>>2]|0;Q=P+28|0;R=c[Q>>2]|0;S=Pb[R&63](O,10)|0;Jt(f);mp(I,S)|0;Yo(I)|0;T=Ia(8)|0;Bn(T,18713);jb(T|0,696,95)}}else{c[f>>2]=n;C=n;D=n}while(0);p=ek(24)|0;c[p+16>>2]=b;c[p+20>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=D;c[C>>2]=p;q=c[c[o>>2]>>2]|0;if(!q)U=p;else{c[o>>2]=q;U=c[C>>2]|0}xc(c[a+12>>2]|0,U);q=a+16|0;c[q>>2]=(c[q>>2]|0)+1;E=p;F=E+20|0;G=c[F>>2]|0;H=lp(k,G)|0;I=le(H,21636,1)|0;J=c[I>>2]|0;K=J+-12|0;L=c[K>>2]|0;M=I+L|0;N=oo(M)|0;c[f>>2]=N;O=Lt(f,12376)|0;P=c[O>>2]|0;Q=P+28|0;R=c[Q>>2]|0;S=Pb[R&63](O,10)|0;Jt(f);mp(I,S)|0;Yo(I)|0;T=Ia(8)|0;Bn(T,18713);jb(T|0,696,95)}if(!m){p=l;while(1){q=c[p+16>>2]|0;if(q>>>0>b>>>0){u=c[p>>2]|0;if(!u){V=p;W=p;x=34;break}else X=u}else{if(q>>>0>=b>>>0){Y=p;x=40;break}q=p+4|0;u=c[q>>2]|0;if(!u){Z=q;_=p;x=38;break}else X=u}p=X}if((x|0)==34){c[f>>2]=W;$=V;aa=W;ba=f;x=41;break}else if((x|0)==38){c[f>>2]=_;$=Z;aa=_;ba=f;x=41;break}else if((x|0)==40){c[f>>2]=Y;if(!Y){$=f;aa=Y;ba=f;x=41;break}else{ca=f;da=Y;break}}}else{ea=f;x=39}}else{ea=f;x=39}while(0);if((x|0)==39){c[f>>2]=n;$=n;aa=n;ba=ea;x=41}if((x|0)==41){ea=ek(24)|0;c[ea+16>>2]=b;c[ea+20>>2]=0;c[ea>>2]=0;c[ea+4>>2]=0;c[ea+8>>2]=aa;c[$>>2]=ea;aa=c[c[o>>2]>>2]|0;if(!aa)fa=ea;else{c[o>>2]=aa;fa=c[$>>2]|0}xc(c[a+12>>2]|0,fa);fa=a+16|0;c[fa>>2]=(c[fa>>2]|0)+1;ca=ba;da=ea}c[da+20>>2]=g;da=c[j>>2]|0;do if(da){ea=da;while(1){ba=c[ea+16>>2]|0;if(ba>>>0>d>>>0){ca=c[ea>>2]|0;if(!ca){ga=ea;ha=ea;x=47;break}else ia=ca}else{if(ba>>>0>=d>>>0){ja=ea;x=53;break}ba=ea+4|0;ca=c[ba>>2]|0;if(!ca){ka=ba;la=ea;x=51;break}else ia=ca}ea=ia}if((x|0)==47){c[f>>2]=ha;ma=ga;na=ha;x=54;break}else if((x|0)==51){c[f>>2]=la;ma=ka;na=la;x=54;break}else if((x|0)==53){c[f>>2]=ja;if(!ja){ma=f;na=ja;x=54;break}else{oa=ja;break}}}else{c[f>>2]=j;ma=j;na=j;x=54}while(0);if((x|0)==54){j=ek(24)|0;c[j+16>>2]=g;c[j+20>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=na;c[ma>>2]=j;na=c[c[h>>2]>>2]|0;if(!na)pa=j;else{c[h>>2]=na;pa=c[ma>>2]|0}xc(c[a+24>>2]|0,pa);pa=a+28|0;c[pa>>2]=(c[pa>>2]|0)+1;oa=j}c[oa+20>>2]=b;oa=a+68|0;j=a+72|0;pa=c[j>>2]|0;do if(pa){ma=pa;while(1){na=c[ma+16>>2]|0;if(na>>>0>b>>>0){h=c[ma>>2]|0;if(!h){qa=ma;ra=ma;x=60;break}else sa=h}else{if(na>>>0>=b>>>0){ta=ma;x=66;break}na=ma+4|0;h=c[na>>2]|0;if(!h){ua=na;va=ma;x=64;break}else sa=h}ma=sa}if((x|0)==60){c[f>>2]=ra;wa=qa;xa=ra;x=67;break}else if((x|0)==64){c[f>>2]=va;wa=ua;xa=va;x=67;break}else if((x|0)==66){c[f>>2]=ta;if(!ta){wa=f;xa=ta;x=67;break}else{ya=ta;break}}}else{c[f>>2]=j;wa=j;xa=j;x=67}while(0);if((x|0)==67){x=ek(28)|0;c[x+16>>2]=b;c[x+20>>2]=0;c[x+24>>2]=0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=xa;c[wa>>2]=x;xa=c[c[oa>>2]>>2]|0;if(!xa)za=x;else{c[oa>>2]=xa;za=c[wa>>2]|0}xc(c[a+72>>2]|0,za);za=a+76|0;c[za>>2]=(c[za>>2]|0)+1;ya=x}x=ek(28)|0;c[x+4>>2]=0;c[x+8>>2]=0;c[x>>2]=3192;za=x+12|0;me(za,d);c[ya+20>>2]=za;za=ya+24|0;ya=c[za>>2]|0;c[za>>2]=x;if(!ya){i=e;return}yn(ya);i=e;return}function kd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=i;i=i+80|0;g=f+72|0;h=f+60|0;j=f+48|0;k=f+40|0;l=f+24|0;m=f+16|0;n=f;if(!(c[b>>2]|0)){Fn(n,18422,21);bd(a,n,1,e,0);In(n);i=f;return}n=h+4|0;c[n>>2]=0;o=h+8|0;c[o>>2]=0;p=h+4|0;c[h>>2]=p;xd(h);Fn(j,17300,6);q=yd(h,g,j)|0;r=c[q>>2]|0;if(!r){s=ek(36)|0;t=s+16|0;c[t>>2]=c[j>>2];c[t+4>>2]=c[j+4>>2];c[t+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;Kh(s+28|0);t=c[g>>2]|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=t;c[q>>2]=s;t=c[c[h>>2]>>2]|0;if(!t)u=s;else{c[h>>2]=t;u=c[q>>2]|0}xc(c[n>>2]|0,u);c[o>>2]=(c[o>>2]|0)+1;v=s}else v=r;Qh(k,18417);r=c[k>>2]|0;s=k+4|0;u=c[s>>2]|0;c[k>>2]=0;c[s>>2]=0;c[v+28>>2]=r;r=v+32|0;v=c[r>>2]|0;c[r>>2]=u;if(v)yn(v);v=c[s>>2]|0;if(v)yn(v);In(j);Fn(l,17314,6);j=yd(h,g,l)|0;v=c[j>>2]|0;if(!v){s=ek(36)|0;u=s+16|0;c[u>>2]=c[l>>2];c[u+4>>2]=c[l+4>>2];c[u+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;Kh(s+28|0);u=c[g>>2]|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=u;c[j>>2]=s;u=c[c[h>>2]>>2]|0;if(!u)w=s;else{c[h>>2]=u;w=c[j>>2]|0}xc(c[n>>2]|0,w);c[o>>2]=(c[o>>2]|0)+1;x=s}else x=v;be(m,b,d);d=c[m>>2]|0;b=m+4|0;v=c[b>>2]|0;c[m>>2]=0;c[b>>2]=0;c[x+28>>2]=d;d=x+32|0;x=c[d>>2]|0;c[d>>2]=v;if(x)yn(x);x=c[b>>2]|0;if(x)yn(x);In(l);Ad(h,e);Th(a,h);Bd(h,c[p>>2]|0);i=f;return}function ld(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+48|0;g=f+40|0;h=f+24|0;j=f+16|0;k=f;c[g>>2]=c[b>>2];l=g+4|0;m=c[b+4>>2]|0;c[l>>2]=m;if(m)xn(m);Fn(h,17908,9);Kd(g,h,e);In(h);h=c[l>>2]|0;if(h)yn(h);if(Xn(e,32466)|0){c[a+20>>2]=0;c[a+24>>2]=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=a+20;h=a+28|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;i=f;return}Fn(k,17573,6);h=$h(b,k)|0;c[j>>2]=c[h>>2];b=j+4|0;l=c[h+4>>2]|0;c[b>>2]=l;if(l)xn(l);$d(a,j,d,e);e=c[b>>2]|0;if(e)yn(e);In(k);i=f;return}function md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;j=ek(32)|0;k=j+16|0;En(k,d);c[j+28>>2]=c[d+12>>2];c[h>>2]=c[b>>2];c[f>>2]=c[h>>2];h=Zd(a,f,g,k)|0;k=c[h>>2]|0;if(!k){f=c[g>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=f;c[h>>2]=j;f=c[c[a>>2]>>2]|0;if(!f)l=j;else{c[a>>2]=f;l=c[h>>2]|0}xc(c[a+4>>2]|0,l);l=a+8|0;c[l>>2]=(c[l>>2]|0)+1;m=j;i=e;return m|0}else{if((k|0)==(j|0)){m=k;i=e;return m|0}In(j+16|0);gk(j);m=k;i=e;return m|0}return 0}function nd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;f=i;i=i+16|0;g=f;if((c[a+4>>2]|0)==(b|0)){i=f;return}h=a+32|0;j=a+36|0;k=c[j>>2]|0;do if(k){l=k;while(1){m=c[l+16>>2]|0;if(m>>>0>b>>>0){n=c[l>>2]|0;if(!n){o=l;p=l;q=5;break}else r=n}else{if(m>>>0>=b>>>0){s=l;q=10;break}m=l+4|0;n=c[m>>2]|0;if(!n){t=m;u=l;q=9;break}else r=n}l=r}if((q|0)==5){c[g>>2]=p;v=o;w=p;break}else if((q|0)==9){c[g>>2]=u;v=t;w=u;break}else if((q|0)==10){c[g>>2]=s;v=g;w=s;break}}else{c[g>>2]=j;v=j;w=j}while(0);if(!(c[v>>2]|0)){j=ek(20)|0;c[j+16>>2]=b;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=w;c[v>>2]=j;w=c[c[h>>2]>>2]|0;if(!w)x=j;else{c[h>>2]=w;x=c[v>>2]|0}xc(c[a+36>>2]|0,x);x=a+40|0;c[x>>2]=(c[x>>2]|0)+1}x=a+44|0;v=a+48|0;w=c[v>>2]|0;do if(w){h=w;while(1){j=c[h+16>>2]|0;if(j>>>0>b>>>0){s=c[h>>2]|0;if(!s){y=h;z=h;q=19;break}else A=s}else{if(j>>>0>=b>>>0){B=h;q=25;break}j=h+4|0;s=c[j>>2]|0;if(!s){C=j;D=h;q=23;break}else A=s}h=A}if((q|0)==19){c[g>>2]=z;E=y;F=z;q=26;break}else if((q|0)==23){c[g>>2]=D;E=C;F=D;q=26;break}else if((q|0)==25){c[g>>2]=B;if(!B){E=g;F=B;q=26;break}else{G=B;break}}}else{c[g>>2]=v;E=v;F=v;q=26}while(0);if((q|0)==26){v=ek(24)|0;c[v+16>>2]=b;c[v+20>>2]=0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=F;c[E>>2]=v;F=c[c[x>>2]>>2]|0;if(!F)H=v;else{c[x>>2]=F;H=c[E>>2]|0}xc(c[a+48>>2]|0,H);H=a+52|0;c[H>>2]=(c[H>>2]|0)+1;G=v}c[G+20>>2]=d;d=a+56|0;G=a+60|0;v=c[G>>2]|0;do if(v){H=v;while(1){E=c[H+16>>2]|0;if(E>>>0>b>>>0){F=c[H>>2]|0;if(!F){I=H;J=H;q=32;break}else K=F}else{if(E>>>0>=b>>>0){L=H;q=38;break}E=H+4|0;F=c[E>>2]|0;if(!F){M=E;N=H;q=36;break}else K=F}H=K}if((q|0)==32){c[g>>2]=J;O=I;P=J;q=39;break}else if((q|0)==36){c[g>>2]=N;O=M;P=N;q=39;break}else if((q|0)==38){c[g>>2]=L;if(!L){O=g;P=L;q=39;break}else{Q=L;break}}}else{c[g>>2]=G;O=G;P=G;q=39}while(0);if((q|0)==39){q=ek(24)|0;c[q+16>>2]=b;c[q+20>>2]=0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=P;c[O>>2]=q;P=c[c[d>>2]>>2]|0;if(!P)R=q;else{c[d>>2]=P;R=c[O>>2]|0}xc(c[a+60>>2]|0,R);R=a+64|0;c[R>>2]=(c[R>>2]|0)+1;Q=q}c[Q+20>>2]=e;i=f;return}function od(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=i;i=i+80|0;g=f+72|0;h=f+60|0;j=f+48|0;k=f+40|0;l=f+24|0;m=f+16|0;n=f;if((c[b+4>>2]|0)==(c[b+8>>2]|0)){Fn(n,17918,26);bd(a,n,2,e,0);In(n);i=f;return}n=h+4|0;c[n>>2]=0;o=h+8|0;c[o>>2]=0;p=h+4|0;c[h>>2]=p;xd(h);Fn(j,17300,6);q=yd(h,g,j)|0;r=c[q>>2]|0;if(!r){s=ek(36)|0;t=s+16|0;c[t>>2]=c[j>>2];c[t+4>>2]=c[j+4>>2];c[t+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;Kh(s+28|0);t=c[g>>2]|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=t;c[q>>2]=s;t=c[c[h>>2]>>2]|0;if(!t)u=s;else{c[h>>2]=t;u=c[q>>2]|0}xc(c[n>>2]|0,u);c[o>>2]=(c[o>>2]|0)+1;v=s}else v=r;Qh(k,17908);r=c[k>>2]|0;s=k+4|0;u=c[s>>2]|0;c[k>>2]=0;c[s>>2]=0;c[v+28>>2]=r;r=v+32|0;v=c[r>>2]|0;c[r>>2]=u;if(v)yn(v);v=c[s>>2]|0;if(v)yn(v);In(j);Fn(l,17314,6);j=yd(h,g,l)|0;v=c[j>>2]|0;if(!v){s=ek(36)|0;u=s+16|0;c[u>>2]=c[l>>2];c[u+4>>2]=c[l+4>>2];c[u+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;Kh(s+28|0);u=c[g>>2]|0;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=u;c[j>>2]=s;u=c[c[h>>2]>>2]|0;if(!u)w=s;else{c[h>>2]=u;w=c[j>>2]|0}xc(c[n>>2]|0,w);c[o>>2]=(c[o>>2]|0)+1;x=s}else x=v;Td(m,b,d);d=c[m>>2]|0;b=m+4|0;v=c[b>>2]|0;c[m>>2]=0;c[b>>2]=0;c[x+28>>2]=d;d=x+32|0;x=c[d>>2]|0;c[d>>2]=v;if(x)yn(x);x=c[b>>2]|0;if(x)yn(x);In(l);Ad(h,e);Th(a,h);Bd(h,c[p>>2]|0);i=f;return}function pd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+48|0;h=g+40|0;j=g+24|0;k=g+16|0;l=g;c[h>>2]=c[b>>2];m=h+4|0;n=c[b+4>>2]|0;c[m>>2]=n;if(n)xn(n);Fn(j,17766,7);Kd(h,j,f);In(j);j=c[m>>2]|0;if(j)yn(j);if(Xn(f,32466)|0){c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;i=g;return}Fn(l,17573,6);j=$h(b,l)|0;c[k>>2]=c[j>>2];b=k+4|0;m=c[j+4>>2]|0;c[b>>2]=m;if(m)xn(m);Ld(a,k,d,e,f);f=c[b>>2]|0;if(f)yn(f);In(l);i=g;return}function qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=a+48|0;a=c[d>>2]|0;if(!a){e=0;return e|0}else{f=d;g=a}a:while(1){h=g;while(1){if((c[h+16>>2]|0)>>>0>=b>>>0){i=h;break}h=c[h+4>>2]|0;if(!h){j=f;break a}}g=c[i>>2]|0;if(!g){j=i;break}else f=i}if((j|0)==(d|0)){e=0;return e|0}if((c[j+16>>2]|0)>>>0>b>>>0){e=0;return e|0}else k=a;while(1){a=c[k+16>>2]|0;if(a>>>0>b>>>0){j=c[k>>2]|0;if(!j)break;else l=j}else{if(a>>>0>=b>>>0){m=k;n=13;break}a=c[k+4>>2]|0;if(!a)break;else l=a}k=l}if((n|0)==13?(m|0)!=0:0){e=c[m+20>>2]|0;return e|0}e=Ia(8)|0;Bn(e,16929);c[e>>2]=5124;jb(e|0,712,95);return 0}function rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=a+60|0;a=c[d>>2]|0;if(!a){e=0;return e|0}else{f=d;g=a}a:while(1){h=g;while(1){if((c[h+16>>2]|0)>>>0>=b>>>0){i=h;break}h=c[h+4>>2]|0;if(!h){j=f;break a}}g=c[i>>2]|0;if(!g){j=i;break}else f=i}if((j|0)==(d|0)){e=0;return e|0}if((c[j+16>>2]|0)>>>0>b>>>0){e=0;return e|0}else k=a;while(1){a=c[k+16>>2]|0;if(a>>>0>b>>>0){j=c[k>>2]|0;if(!j)break;else l=j}else{if(a>>>0>=b>>>0){m=k;n=13;break}a=c[k+4>>2]|0;if(!a)break;else l=a}k=l}if((n|0)==13?(m|0)!=0:0){e=c[m+20>>2]|0;return e|0}e=Ia(8)|0;Bn(e,16929);c[e>>2]=5124;jb(e|0,712,95);return 0}function sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+48|0;f=e+40|0;g=e+24|0;h=e+12|0;j=e;c[f>>2]=c[a>>2];k=f+4|0;l=c[a+4>>2]|0;c[k>>2]=l;if(l)xn(l);Fn(g,17307,6);Kd(f,g,d);In(g);g=c[k>>2]|0;if(g)yn(g);if(Xn(d,32466)|0){m=0;i=e;return m|0}d=c[(c[b>>2]|0)+12>>2]|0;Fn(h,17573,6);g=$h(a,h)|0;Fn(j,17284,6);a=Xh($h(g,j)|0)|0;g=Pb[d&63](b,a)|0;In(j);In(h);m=g;i=e;return m|0}function td(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;g=i;i=i+128|0;h=g+124|0;j=g+112|0;k=g+100|0;l=g+88|0;m=g+80|0;n=g+64|0;o=g+56|0;p=g+48|0;q=g+32|0;r=g+24|0;s=g+8|0;t=g;u=j+4|0;c[u>>2]=0;v=j+8|0;c[v>>2]=0;w=j+4|0;c[j>>2]=w;xd(j);x=k+4|0;c[x>>2]=0;y=k+8|0;c[y>>2]=0;z=k+4|0;c[k>>2]=z;Fn(l,17284,6);A=yd(k,h,l)|0;B=c[A>>2]|0;if(!B){C=ek(36)|0;D=C+16|0;c[D>>2]=c[l>>2];c[D+4>>2]=c[l+4>>2];c[D+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;Kh(C+28|0);D=c[h>>2]|0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=D;c[A>>2]=C;D=c[c[k>>2]>>2]|0;if(!D)E=C;else{c[k>>2]=D;E=c[A>>2]|0}xc(c[x>>2]|0,E);c[y>>2]=(c[y>>2]|0)+1;F=C}else F=B;Lh(m,+((Pb[c[(c[d>>2]|0)+8>>2]&63](d,c[b>>2]|0)|0)>>>0));B=c[m>>2]|0;C=m+4|0;E=c[C>>2]|0;c[m>>2]=0;c[C>>2]=0;c[F+28>>2]=B;B=F+32|0;F=c[B>>2]|0;c[B>>2]=E;if(F)yn(F);F=c[C>>2]|0;if(F)yn(F);In(l);Fn(n,17291,8);l=yd(k,h,n)|0;F=c[l>>2]|0;if(!F){C=ek(36)|0;E=C+16|0;c[E>>2]=c[n>>2];c[E+4>>2]=c[n+4>>2];c[E+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;Kh(C+28|0);E=c[h>>2]|0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=E;c[l>>2]=C;E=c[c[k>>2]>>2]|0;if(!E)G=C;else{c[k>>2]=E;G=c[l>>2]|0}xc(c[x>>2]|0,G);c[y>>2]=(c[y>>2]|0)+1;H=C}else H=F;Kb[c[(c[d>>2]|0)+16>>2]&7](p,d,c[b>>2]|0);zd(o,b+4|0,c[p>>2]|0,e);e=c[o>>2]|0;b=o+4|0;d=c[b>>2]|0;c[o>>2]=0;c[b>>2]=0;c[H+28>>2]=e;e=H+32|0;H=c[e>>2]|0;c[e>>2]=d;if(H)yn(H);H=c[b>>2]|0;if(H)yn(H);H=c[p+4>>2]|0;if(H)yn(H);In(n);Fn(q,17300,6);n=yd(j,h,q)|0;H=c[n>>2]|0;if(!H){p=ek(36)|0;b=p+16|0;c[b>>2]=c[q>>2];c[b+4>>2]=c[q+4>>2];c[b+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Kh(p+28|0);b=c[h>>2]|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=b;c[n>>2]=p;b=c[c[j>>2]>>2]|0;if(!b)I=p;else{c[j>>2]=b;I=c[n>>2]|0}xc(c[u>>2]|0,I);c[v>>2]=(c[v>>2]|0)+1;J=p}else J=H;Qh(r,17307);H=c[r>>2]|0;p=r+4|0;I=c[p>>2]|0;c[r>>2]=0;c[p>>2]=0;c[J+28>>2]=H;H=J+32|0;J=c[H>>2]|0;c[H>>2]=I;if(J)yn(J);J=c[p>>2]|0;if(J)yn(J);In(q);Fn(s,17314,6);q=yd(j,h,s)|0;J=c[q>>2]|0;if(!J){p=ek(36)|0;I=p+16|0;c[I>>2]=c[s>>2];c[I+4>>2]=c[s+4>>2];c[I+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Kh(p+28|0);I=c[h>>2]|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=I;c[q>>2]=p;I=c[c[j>>2]>>2]|0;if(!I)K=p;else{c[j>>2]=I;K=c[q>>2]|0}xc(c[u>>2]|0,K);c[v>>2]=(c[v>>2]|0)+1;L=p}else L=J;Th(t,k);J=c[t>>2]|0;p=t+4|0;v=c[p>>2]|0;c[t>>2]=0;c[p>>2]=0;c[L+28>>2]=J;J=L+32|0;L=c[J>>2]|0;c[J>>2]=v;if(L)yn(L);L=c[p>>2]|0;if(!L){In(s);Ad(j,f);Th(a,j);M=c[z>>2]|0;Bd(k,M);N=c[w>>2]|0;Bd(j,N);i=g;return}yn(L);In(s);Ad(j,f);Th(a,j);M=c[z>>2]|0;Bd(k,M);N=c[w>>2]|0;Bd(j,N);i=g;return}function ud(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;d=i;i=i+16|0;e=d+4|0;f=d;c[f>>2]=b;g=a+8|0;h=a+12|0;j=c[h>>2]|0;if(!j){i=d;return}else{k=h;l=j}a:while(1){m=l;while(1){if((c[m+16>>2]|0)>>>0>=b>>>0){n=m;break}m=c[m+4>>2]|0;if(!m){o=k;break a}}l=c[n>>2]|0;if(!l){o=n;break}else k=n}if((o|0)==(h|0)){i=d;return}if((c[o+16>>2]|0)>>>0>b>>>0){i=d;return}o=j;while(1){j=c[o+16>>2]|0;if(j>>>0>b>>>0){n=c[o>>2]|0;if(!n){p=o;q=o;r=11;break}else s=n}else{if(j>>>0>=b>>>0){t=o;r=16;break}j=o+4|0;n=c[j>>2]|0;if(!n){u=j;v=o;r=15;break}else s=n}o=s}if((r|0)==11){c[e>>2]=q;w=p;x=q;r=17}else if((r|0)==15){c[e>>2]=v;w=u;x=v;r=17}else if((r|0)==16){c[e>>2]=t;if(!t){w=e;x=t;r=17}else y=t}if((r|0)==17){r=ek(24)|0;c[r+16>>2]=b;c[r+20>>2]=0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=x;c[w>>2]=r;x=c[c[g>>2]>>2]|0;if(!x)z=r;else{c[g>>2]=x;z=c[w>>2]|0}xc(c[a+12>>2]|0,z);z=a+16|0;c[z>>2]=(c[z>>2]|0)+1;y=r}r=c[y+20>>2]|0;vd(a+68|0,f)|0;f=c[h>>2]|0;if(f){y=h;z=f;b:while(1){w=z;while(1){if((c[w+16>>2]|0)>>>0>=b>>>0){A=w;break}w=c[w+4>>2]|0;if(!w){B=y;break b}}z=c[A>>2]|0;if(!z){B=A;break}else y=A}if((B|0)!=(h|0)?(c[B+16>>2]|0)>>>0<=b>>>0:0){h=c[B+4>>2]|0;if(!h){A=B;while(1){y=c[A+8>>2]|0;if((c[y>>2]|0)==(A|0)){C=y;break}else A=y}}else{A=h;while(1){h=c[A>>2]|0;if(!h){C=A;break}else A=h}}if((c[g>>2]|0)==(B|0))c[g>>2]=C;C=a+16|0;c[C>>2]=(c[C>>2]|0)+-1;wd(f,B);gk(B)}}if((c[a+4>>2]|0)!=(b|0)?(B=a+36|0,f=c[B>>2]|0,(f|0)!=0):0){C=B;g=f;c:while(1){A=g;while(1){if((c[A+16>>2]|0)>>>0>=b>>>0){D=A;break}A=c[A+4>>2]|0;if(!A){E=C;break c}}g=c[D>>2]|0;if(!g){E=D;break}else C=D}if((E|0)!=(B|0)?(c[E+16>>2]|0)>>>0<=b>>>0:0){E=a+32|0;D=B;C=f;d:while(1){g=C;while(1){if((c[g+16>>2]|0)>>>0>=b>>>0){F=g;break}g=c[g+4>>2]|0;if(!g){G=D;break d}}C=c[F>>2]|0;if(!C){G=F;break}else D=F}if((G|0)!=(B|0)?(c[G+16>>2]|0)>>>0<=b>>>0:0){B=c[G+4>>2]|0;if(!B){F=G;while(1){D=c[F+8>>2]|0;if((c[D>>2]|0)==(F|0)){H=D;break}else F=D}}else{F=B;while(1){B=c[F>>2]|0;if(!B){H=F;break}else F=B}}if((c[E>>2]|0)==(G|0))c[E>>2]=H;H=a+40|0;c[H>>2]=(c[H>>2]|0)+-1;wd(f,G);gk(G)}G=a+44|0;f=a+48|0;H=c[f>>2]|0;if(H){E=f;F=H;e:while(1){B=F;while(1){if((c[B+16>>2]|0)>>>0>=b>>>0){I=B;break}B=c[B+4>>2]|0;if(!B){J=E;break e}}F=c[I>>2]|0;if(!F){J=I;break}else E=I}if((J|0)!=(f|0)?(c[J+16>>2]|0)>>>0<=b>>>0:0){b=c[J+4>>2]|0;if(!b){f=J;while(1){I=c[f+8>>2]|0;if((c[I>>2]|0)==(f|0)){K=I;break}else f=I}}else{f=b;while(1){b=c[f>>2]|0;if(!b){K=f;break}else f=b}}if((c[G>>2]|0)==(J|0))c[G>>2]=K;K=a+52|0;c[K>>2]=(c[K>>2]|0)+-1;wd(H,J);gk(J)}}}}J=a+20|0;H=a+24|0;K=c[H>>2]|0;if(!K){i=d;return}G=r;r=H;f=K;f:while(1){b=f;while(1){if((c[b+16>>2]|0)>>>0>=G>>>0){L=b;break}b=c[b+4>>2]|0;if(!b){M=r;break f}}f=c[L>>2]|0;if(!f){M=L;break}else r=L}if((M|0)==(H|0)){i=d;return}if(G>>>0<(c[M+16>>2]|0)>>>0){i=d;return}G=c[M+4>>2]|0;if(!G){H=M;while(1){L=c[H+8>>2]|0;if((c[L>>2]|0)==(H|0)){N=L;break}else H=L}}else{H=G;while(1){G=c[H>>2]|0;if(!G){N=H;break}else H=G}}if((c[J>>2]|0)==(M|0))c[J>>2]=N;N=a+28|0;c[N>>2]=(c[N>>2]|0)+-1;wd(K,M);gk(M);i=d;return}function vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+4|0;e=c[d>>2]|0;if(!e){f=0;return f|0}g=c[b>>2]|0;b=d;h=e;a:while(1){i=h;while(1){if((c[i+16>>2]|0)>>>0>=g>>>0){j=i;break}i=c[i+4>>2]|0;if(!i){k=b;break a}}h=c[j>>2]|0;if(!h){k=j;break}else b=j}if((k|0)==(d|0)){f=0;return f|0}if((k|0)==(d|0)?1:g>>>0<(c[k+16>>2]|0)>>>0){f=0;return f|0}g=c[k+4>>2]|0;if(!g){d=k;while(1){j=c[d+8>>2]|0;if((c[j>>2]|0)==(d|0)){l=j;break}else d=j}}else{d=g;while(1){g=c[d>>2]|0;if(!g){l=d;break}else d=g}}if((c[a>>2]|0)==(k|0))c[a>>2]=l;l=a+8|0;c[l>>2]=(c[l>>2]|0)+-1;wd(e,k);e=c[k+24>>2]|0;if(e)yn(e);gk(k);f=1;return f|0}function wd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;e=c[d>>2]|0;do if(e){f=c[d+4>>2]|0;if(!f){g=d;h=e;i=d;j=7;break}else{k=f;while(1){f=c[k>>2]|0;if(!f){l=k;j=5;break}else k=f}}}else{l=d;j=5}while(0);if((j|0)==5){e=c[l+4>>2]|0;if(!e){m=l+8|0;n=l;o=0;p=0;q=l}else{g=l;h=e;i=l;j=7}}if((j|0)==7){l=g+8|0;c[h+8>>2]=c[l>>2];m=l;n=g;o=h;p=1;q=i}i=c[m>>2]|0;h=c[i>>2]|0;if((h|0)==(n|0)){c[i>>2]=o;if((n|0)==(b|0)){r=o;s=0}else{r=b;s=c[i+4>>2]|0}}else{c[i+4>>2]=o;r=b;s=h}h=n+12|0;b=(a[h>>0]|0)!=0;if((n|0)==(d|0))t=r;else{i=d+8|0;g=c[i>>2]|0;c[m>>2]=g;m=g;if((c[c[i>>2]>>2]|0)==(d|0))c[m>>2]=n;else c[m+4>>2]=n;m=c[d>>2]|0;c[q>>2]=m;c[m+8>>2]=n;m=c[d+4>>2]|0;c[n+4>>2]=m;if(m)c[m+8>>2]=n;a[h>>0]=a[d+12>>0]|0;t=(r|0)==(d|0)?n:r}if(!(b&(t|0)!=0))return;if(p){a[o+12>>0]=1;return}else{u=t;v=s}while(1){s=c[v+8>>2]|0;t=v+12|0;o=(a[t>>0]|0)!=0;if((c[s>>2]|0)==(v|0)){if(o){w=u;x=v}else{a[t>>0]=1;a[s+12>>0]=0;p=c[s>>2]|0;b=p+4|0;r=c[b>>2]|0;c[s>>2]=r;if(r)c[r+8>>2]=s;r=s+8|0;c[p+8>>2]=c[r>>2];n=c[r>>2]|0;if((c[n>>2]|0)==(s|0))c[n>>2]=p;else c[n+4>>2]=p;c[b>>2]=s;c[r>>2]=p;p=c[v+4>>2]|0;w=(u|0)==(p|0)?v:u;x=c[p>>2]|0}y=c[x>>2]|0;z=(y|0)==0;if(!z?(a[y+12>>0]|0)==0:0){A=y;B=x;j=68;break}p=c[x+4>>2]|0;if((p|0)!=0?(a[p+12>>0]|0)==0:0){j=67;break}a[x+12>>0]=0;p=c[x+8>>2]|0;r=p+12|0;if((p|0)==(w|0)|(a[r>>0]|0)==0){C=r;j=64;break}r=c[p+8>>2]|0;D=w;E=(c[r>>2]|0)==(p|0)?r+4|0:r}else{if(o){F=u;G=v}else{a[t>>0]=1;a[s+12>>0]=0;t=s+4|0;o=c[t>>2]|0;r=c[o>>2]|0;c[t>>2]=r;if(r)c[r+8>>2]=s;r=s+8|0;c[o+8>>2]=c[r>>2];t=c[r>>2]|0;if((c[t>>2]|0)==(s|0))c[t>>2]=o;else c[t+4>>2]=o;c[o>>2]=s;c[r>>2]=o;o=c[v>>2]|0;F=(u|0)==(o|0)?v:u;G=c[o+4>>2]|0}o=c[G>>2]|0;if((o|0)!=0?(a[o+12>>0]|0)==0:0){H=G;I=o;J=G;j=38;break}r=c[G+4>>2]|0;if((r|0)!=0?(a[r+12>>0]|0)==0:0){K=o;L=G;M=r;N=G;j=39;break}a[G+12>>0]=0;r=c[G+8>>2]|0;if((r|0)==(F|0)){O=F;j=36;break}if(!(a[r+12>>0]|0)){O=r;j=36;break}o=c[r+8>>2]|0;D=F;E=(c[o>>2]|0)==(r|0)?o+4|0:o}u=D;v=c[E>>2]|0}if((j|0)==36){a[O+12>>0]=1;return}else if((j|0)==38){O=c[J+4>>2]|0;if(!O){P=I;Q=H;R=J;j=40}else{K=I;L=H;M=O;N=J;j=39}}else if((j|0)==64){a[C>>0]=1;return}else if((j|0)==67)if(z){S=x;j=69}else{A=y;B=x;j=68}if((j|0)==39)if(!(a[M+12>>0]|0)){T=M;U=N;j=46}else{P=K;Q=L;R=N;j=40}else if((j|0)==68)if(!(a[A+12>>0]|0)){V=A;W=B;j=75}else{S=B;j=69}if((j|0)==40){a[P+12>>0]=1;a[R+12>>0]=0;B=P+4|0;A=c[B>>2]|0;c[Q>>2]=A;if(A)c[A+8>>2]=R;A=R+8|0;c[P+8>>2]=c[A>>2];Q=c[A>>2]|0;if((c[Q>>2]|0)==(R|0))c[Q>>2]=P;else c[Q+4>>2]=P;c[B>>2]=R;c[A>>2]=P;T=R;U=P;j=46}else if((j|0)==69){P=S+4|0;R=c[P>>2]|0;a[R+12>>0]=1;a[S+12>>0]=0;A=c[R>>2]|0;c[P>>2]=A;if(A)c[A+8>>2]=S;A=S+8|0;c[R+8>>2]=c[A>>2];P=c[A>>2]|0;if((c[P>>2]|0)==(S|0))c[P>>2]=R;else c[P+4>>2]=R;c[R>>2]=S;c[A>>2]=R;V=S;W=R;j=75}if((j|0)==46){R=c[U+8>>2]|0;S=R+12|0;a[U+12>>0]=a[S>>0]|0;a[S>>0]=1;a[T+12>>0]=1;T=R+4|0;S=c[T>>2]|0;U=c[S>>2]|0;c[T>>2]=U;if(U)c[U+8>>2]=R;U=R+8|0;c[S+8>>2]=c[U>>2];T=c[U>>2]|0;if((c[T>>2]|0)==(R|0))c[T>>2]=S;else c[T+4>>2]=S;c[S>>2]=R;c[U>>2]=S;return}else if((j|0)==75){j=c[W+8>>2]|0;S=j+12|0;a[W+12>>0]=a[S>>0]|0;a[S>>0]=1;a[V+12>>0]=1;V=c[j>>2]|0;S=V+4|0;W=c[S>>2]|0;c[j>>2]=W;if(W)c[W+8>>2]=j;W=j+8|0;c[V+8>>2]=c[W>>2];U=c[W>>2]|0;if((c[U>>2]|0)==(j|0))c[U>>2]=V;else c[U+4>>2]=V;c[S>>2]=j;c[W>>2]=V;return}}function xd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;b=i;i=i+32|0;d=b+20|0;e=b+8|0;f=b;Fn(e,17561,7);g=yd(a,d,e)|0;h=c[g>>2]|0;if(!h){j=ek(36)|0;k=j+16|0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;Kh(j+28|0);k=c[d>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=k;c[g>>2]=j;k=c[c[a>>2]>>2]|0;if(!k)l=j;else{c[a>>2]=k;l=c[g>>2]|0}xc(c[a+4>>2]|0,l);l=a+8|0;c[l>>2]=(c[l>>2]|0)+1;m=j}else m=h;Qh(f,17569);h=c[f>>2]|0;j=f+4|0;l=c[j>>2]|0;c[f>>2]=0;c[j>>2]=0;c[m+28>>2]=h;h=m+32|0;m=c[h>>2]|0;c[h>>2]=l;if(m)yn(m);m=c[j>>2]|0;if(!m){In(e);i=b;return}yn(m);In(e);i=b;return}function yd(b,d,e){b=b|0;d=d|0;e=e|0;var 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;f=b+4|0;b=c[f>>2]|0;if(!b){c[d>>2]=f;g=f;return g|0}f=a[e>>0]|0;h=(f&1)==0;i=h?(f&255)>>>1:c[e+4>>2]|0;f=h?e+1|0:c[e+8>>2]|0;e=b;while(1){b=e+16|0;h=a[b>>0]|0;j=(h&1)==0;k=j?(h&255)>>>1:c[e+20>>2]|0;h=j?b+1|0:c[e+24>>2]|0;b=k>>>0<i>>>0;j=rm(f,h,b?k:i)|0;l=i>>>0<k>>>0;if((((j|0)==0?(l?-2147483648:0):j)|0)<0){j=c[e>>2]|0;if(!j){m=e;n=e;o=5;break}else p=j}else{j=rm(h,f,l?i:k)|0;if((((j|0)==0?(b?-2147483648:0):j)|0)>=0){q=e;o=10;break}j=e+4|0;b=c[j>>2]|0;if(!b){r=j;s=e;o=9;break}else p=b}e=p}if((o|0)==5){c[d>>2]=n;g=m;return g|0}else if((o|0)==9){c[d>>2]=s;g=r;return g|0}else if((o|0)==10){c[d>>2]=q;g=d;return g|0}return 0}function zd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;f=i;i=i+64|0;g=f+56|0;h=f+44|0;j=f+32|0;k=f+24|0;l=f+8|0;m=f;n=h+4|0;c[n>>2]=0;o=h+8|0;c[o>>2]=0;p=h+4|0;c[h>>2]=p;q=c[b>>2]|0;r=b+4|0;if((q|0)==(r|0)){Th(a,h);s=c[p>>2]|0;Bd(h,s);i=f;return}b=j+4|0;t=j+8|0;u=m+4|0;v=j+8|0;w=k+4|0;x=q;while(1){c[j>>2]=0;c[b>>2]=0;c[t>>2]=0;q=c[x+20>>2]|0;y=c[x+24>>2]|0;if((q|0)!=(y|0)){z=q;do{Cd(k,z,e);q=c[b>>2]|0;if(q>>>0>=(c[v>>2]|0)>>>0){Dd(j,k);A=c[w>>2]|0;if(A)yn(A)}else{c[q>>2]=c[k>>2];c[q+4>>2]=c[w>>2];c[k>>2]=0;c[w>>2]=0;c[b>>2]=q+8}z=z+48|0}while((z|0)!=(y|0))}Kb[c[(c[d>>2]|0)+12>>2]&7](l,d,c[x+16>>2]|0);y=yd(h,g,l)|0;z=c[y>>2]|0;if(!z){q=ek(36)|0;A=q+16|0;c[A>>2]=c[l>>2];c[A+4>>2]=c[l+4>>2];c[A+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;Kh(q+28|0);A=c[g>>2]|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=A;c[y>>2]=q;A=c[c[h>>2]>>2]|0;if(!A)B=q;else{c[h>>2]=A;B=c[y>>2]|0}xc(c[n>>2]|0,B);c[o>>2]=(c[o>>2]|0)+1;C=q}else C=z;Rh(m,j);z=c[m>>2]|0;q=c[u>>2]|0;c[m>>2]=0;c[u>>2]=0;c[C+28>>2]=z;z=C+32|0;y=c[z>>2]|0;c[z>>2]=q;if(y)yn(y);y=c[u>>2]|0;if(y)yn(y);In(l);y=c[j>>2]|0;if(y){q=c[b>>2]|0;if((q|0)==(y|0))D=y;else{z=q;while(1){q=z+-8|0;c[b>>2]=q;A=c[z+-4>>2]|0;if(!A)E=q;else{yn(A);E=c[b>>2]|0}if((E|0)==(y|0))break;else z=E}D=c[j>>2]|0}gk(D)}z=c[x+4>>2]|0;if(!z){y=x;while(1){A=c[y+8>>2]|0;if((c[A>>2]|0)==(y|0)){F=A;break}else y=A}}else{y=z;while(1){A=c[y>>2]|0;if(!A){F=y;break}else y=A}}if((F|0)==(r|0))break;else x=F}Th(a,h);s=c[p>>2]|0;Bd(h,s);i=f;return}function Ad(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;i=i+16|0;e=d+12|0;f=d;if(!(Vh(b)|0)){i=d;return}Fn(f,17137,2);g=yd(a,e,f)|0;h=c[g>>2]|0;if(!h){j=ek(36)|0;k=j+16|0;c[k>>2]=c[f>>2];c[k+4>>2]=c[f+4>>2];c[k+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;Kh(j+28|0);k=c[e>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=k;c[g>>2]=j;k=c[c[a>>2]>>2]|0;if(!k)l=j;else{c[a>>2]=k;l=c[g>>2]|0}xc(c[a+4>>2]|0,l);l=a+8|0;c[l>>2]=(c[l>>2]|0)+1;m=j}else m=h;h=c[b>>2]|0;j=c[b+4>>2]|0;if(j)xn(j);c[m+28>>2]=h;h=m+32|0;m=c[h>>2]|0;c[h>>2]=j;if(m)yn(m);In(f);i=d;return}function Bd(a,b){a=a|0;b=b|0;if(!b)return;Bd(a,c[b>>2]|0);Bd(a,c[b+4>>2]|0);a=c[b+32>>2]|0;if(a)yn(a);In(b+16|0);gk(b);return}function Cd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,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;f=i;i=i+160|0;g=f+156|0;h=f+140|0;j=f+144|0;k=f+128|0;l=f+120|0;m=f+108|0;n=f+104|0;o=f+100|0;p=f+88|0;q=f+80|0;r=f+68|0;s=f+56|0;t=f+48|0;u=f+32|0;v=f+24|0;w=f+8|0;x=f;y=j+4|0;c[y>>2]=0;z=j+8|0;c[z>>2]=0;A=j+4|0;c[j>>2]=A;B=d+28|0;C=d+24|0;do if((c[B>>2]|0)!=(c[C>>2]|0)){if(e){Fn(p,17321,13);D=yd(j,g,p)|0;E=c[D>>2]|0;if(!E){F=ek(36)|0;G=F+16|0;c[G>>2]=c[p>>2];c[G+4>>2]=c[p+4>>2];c[G+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Kh(F+28|0);G=c[g>>2]|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=G;c[D>>2]=F;G=c[c[j>>2]>>2]|0;if(!G)H=F;else{c[j>>2]=G;H=c[D>>2]|0}xc(c[y>>2]|0,H);c[z>>2]=(c[z>>2]|0)+1;I=F}else I=E;E=c[C>>2]|0;F=c[B>>2]|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[h>>2]=r;c[g>>2]=c[h>>2];Fd(E,F,g);Ph(q,r);F=c[q>>2]|0;E=q+4|0;D=c[E>>2]|0;c[q>>2]=0;c[E>>2]=0;c[I+28>>2]=F;F=I+32|0;G=c[F>>2]|0;c[F>>2]=D;if(G)yn(G);G=c[E>>2]|0;if(G)yn(G);In(r);In(p);break}Fn(k,17321,13);G=yd(j,g,k)|0;E=c[G>>2]|0;if(!E){D=ek(36)|0;F=D+16|0;c[F>>2]=c[k>>2];c[F+4>>2]=c[k+4>>2];c[F+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;Kh(D+28|0);F=c[g>>2]|0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=F;c[G>>2]=D;F=c[c[j>>2]>>2]|0;if(!F)J=D;else{c[j>>2]=F;J=c[G>>2]|0}xc(c[y>>2]|0,J);c[z>>2]=(c[z>>2]|0)+1;K=D}else K=E;c[n>>2]=c[C>>2];c[o>>2]=c[B>>2];c[h>>2]=c[n>>2];c[g>>2]=c[o>>2];Ed(m,h,g);Sh(l,m);E=c[l>>2]|0;D=l+4|0;G=c[D>>2]|0;c[l>>2]=0;c[D>>2]=0;c[K+28>>2]=E;E=K+32|0;F=c[E>>2]|0;c[E>>2]=G;if(F)yn(F);F=c[D>>2]|0;if(F)yn(F);F=c[m>>2]|0;if(F){D=m+4|0;G=c[D>>2]|0;if((G|0)==(F|0))L=F;else{E=G;while(1){G=E+-8|0;c[D>>2]=G;M=c[E+-4>>2]|0;if(!M)N=G;else{yn(M);N=c[D>>2]|0}if((N|0)==(F|0))break;else E=N}L=c[m>>2]|0}gk(L)}In(k)}while(0);k=d+36|0;if(Xn(k,32466)|0){Fn(s,17335,5);L=yd(j,g,s)|0;m=c[L>>2]|0;if(!m){N=ek(36)|0;K=N+16|0;c[K>>2]=c[s>>2];c[K+4>>2]=c[s+4>>2];c[K+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Kh(N+28|0);K=c[g>>2]|0;c[N>>2]=0;c[N+4>>2]=0;c[N+8>>2]=K;c[L>>2]=N;K=c[c[j>>2]>>2]|0;if(!K)O=N;else{c[j>>2]=K;O=c[L>>2]|0}xc(c[y>>2]|0,O);c[z>>2]=(c[z>>2]|0)+1;P=N}else P=m;Oh(t,k);k=c[t>>2]|0;m=t+4|0;N=c[m>>2]|0;c[t>>2]=0;c[m>>2]=0;c[P+28>>2]=k;k=P+32|0;P=c[k>>2]|0;c[k>>2]=N;if(P)yn(P);P=c[m>>2]|0;if(P)yn(P);In(s)}if(a[d>>0]|0){Fn(u,17341,9);s=yd(j,g,u)|0;P=c[s>>2]|0;if(!P){m=ek(36)|0;N=m+16|0;c[N>>2]=c[u>>2];c[N+4>>2]=c[u+4>>2];c[N+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Kh(m+28|0);N=c[g>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=N;c[s>>2]=m;N=c[c[j>>2]>>2]|0;if(!N)Q=m;else{c[j>>2]=N;Q=c[s>>2]|0}xc(c[y>>2]|0,Q);c[z>>2]=(c[z>>2]|0)+1;R=m}else R=P;Gd(v,d+4|0);P=c[v>>2]|0;m=v+4|0;Q=c[m>>2]|0;c[v>>2]=0;c[m>>2]=0;c[R+28>>2]=P;P=R+32|0;R=c[P>>2]|0;c[P>>2]=Q;if(R)yn(R);R=c[m>>2]|0;if(R)yn(R);In(u)}if(!(a[d+12>>0]|0)){Th(b,j);S=c[A>>2]|0;Bd(j,S);i=f;return}Fn(w,17351,8);u=yd(j,g,w)|0;R=c[u>>2]|0;if(!R){m=ek(36)|0;Q=m+16|0;c[Q>>2]=c[w>>2];c[Q+4>>2]=c[w+4>>2];c[Q+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Kh(m+28|0);Q=c[g>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=Q;c[u>>2]=m;Q=c[c[j>>2]>>2]|0;if(!Q)T=m;else{c[j>>2]=Q;T=c[u>>2]|0}xc(c[y>>2]|0,T);c[z>>2]=(c[z>>2]|0)+1;U=m}else U=R;Gd(x,d+16|0);d=c[x>>2]|0;R=x+4|0;m=c[R>>2]|0;c[x>>2]=0;c[R>>2]=0;c[U+28>>2]=d;d=U+32|0;U=c[d>>2]|0;c[d>>2]=m;if(U)yn(U);U=c[R>>2]|0;if(U)yn(U);In(w);Th(b,j);S=c[A>>2]|0;Bd(j,S);i=f;return}function Dd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=a+4|0;e=c[a>>2]|0;f=((c[d>>2]|0)-e>>3)+1|0;if(f>>>0>536870911){ck(a);g=c[a>>2]|0}else g=e;e=a+8|0;h=g;i=(c[e>>2]|0)-h|0;if(i>>3>>>0<268435455){j=i>>2;i=j>>>0<f>>>0?f:j;j=c[d>>2]|0;f=j-h>>3;if(!i){k=0;l=0;m=f;n=j}else{o=i;p=f;q=j;r=6}}else{j=c[d>>2]|0;o=536870911;p=j-h>>3;q=j;r=6}if((r|0)==6){k=o;l=ek(o<<3)|0;m=p;n=q}q=l+(m<<3)|0;p=q;o=l+(k<<3)|0;c[q>>2]=c[b>>2];k=b+4|0;c[l+(m<<3)+4>>2]=c[k>>2];c[b>>2]=0;c[k>>2]=0;k=l+(m+1<<3)|0;if((n|0)==(g|0)){s=a;t=p;u=h}else{h=n;n=q;q=p;while(1){p=h;h=h+-8|0;c[n+-8>>2]=c[h>>2];m=p+-4|0;c[n+-4>>2]=c[m>>2];c[h>>2]=0;c[m>>2]=0;n=q+-8|0;m=n;if((h|0)==(g|0)){v=m;break}else q=m}s=a;t=v;u=c[a>>2]|0}c[s>>2]=t;t=c[d>>2]|0;c[d>>2]=k;c[e>>2]=o;o=u;e=t;if((e|0)!=(o|0)){t=e;do{e=c[t+-4>>2]|0;t=t+-8|0;if(e)yn(e)}while((t|0)!=(o|0))}if(!u)return;gk(u);return}function Ed(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0;c[a>>2]=0;e=a+4|0;c[e>>2]=0;c[a+8>>2]=0;f=c[b>>2]|0;b=c[d>>2]|0;d=b-f|0;h=d>>2;if(!h)return;if(h>>>0>536870911)ck(a);i=ek(d<<1)|0;c[e>>2]=i;c[a>>2]=i;c[a+8>>2]=i+(h<<3);h=f;f=b;if((h|0)==(f|0))return;b=h;h=i;do{Lh(h,+g[b>>2]);h=(c[e>>2]|0)+8|0;c[e>>2]=h;b=b+4|0}while((b|0)!=(f|0));return}function Fd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((b|0)==(d|0))return;f=b;b=0;while(1){g=b+6|0;if(g>>>0<8){Qn(c[e>>2]|0,a[17364+(a[f>>0]>>2-b&63)>>0]|0);h=f;i=g}else{j=f+1|0;k=a[f>>0]|0;l=g>>>0<16;if((j|0)==(d|0)){if(!l){m=7;break}n=k<<24>>24<<b+-2}else{if(!l){m=10;break}l=b+-2|0;n=a[j>>0]>>10-b&(-1<<l^63)|k<<24>>24<<l}Qn(c[e>>2]|0,a[17364+(n&63)>>0]|0);h=j;i=g&7}if((h|0)==(d|0)){m=14;break}else{f=h;b=i}}if((m|0)==7)Ha(17429,17457,71,17536);else if((m|0)==10)Ha(17429,17457,71,17536);else if((m|0)==14)return}function Gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+64|0;e=d+56|0;f=d+40|0;g=d+44|0;h=d;Fn(h,17360,1);Mh(h+12|0,c[b>>2]|0);Fn(h+20|0,17362,1);Mh(h+32|0,c[b+4>>2]|0);c[g+4>>2]=0;c[g+8>>2]=0;b=g+4|0;c[g>>2]=b;j=b;c[f>>2]=j;c[e>>2]=c[f>>2];Hd(g,e,h)|0;c[f>>2]=j;c[e>>2]=c[f>>2];Hd(g,e,h+20|0)|0;Uh(a,g);Bd(g,c[b>>2]|0);b=c[h+36>>2]|0;if(b)yn(b);In(h+20|0);b=c[h+16>>2]|0;if(!b){In(h);i=d;return}yn(b);In(h);i=d;return}function Hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;j=ek(36)|0;k=j+16|0;En(k,d);c[j+28>>2]=c[d+12>>2];l=c[d+16>>2]|0;c[j+32>>2]=l;if(l)xn(l);c[h>>2]=c[b>>2];c[f>>2]=c[h>>2];h=Id(a,f,g,k)|0;k=c[h>>2]|0;if(!k){f=c[g>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=f;c[h>>2]=j;f=c[c[a>>2]>>2]|0;if(!f)m=j;else{c[a>>2]=f;m=c[h>>2]|0}xc(c[a+4>>2]|0,m);m=a+8|0;c[m>>2]=(c[m>>2]|0)+1;n=j;i=e;return n|0}if((k|0)==(j|0)){n=k;i=e;return n|0}m=c[j+32>>2]|0;if(m)yn(m);In(j+16|0);gk(j);n=k;i=e;return n|0}function Id(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=b+4|0;h=c[d>>2]|0;d=h;if((h|0)!=(g|0)?(i=h+16|0,j=a[f>>0]|0,k=(j&1)==0,l=k?(j&255)>>>1:c[f+4>>2]|0,j=a[i>>0]|0,m=(j&1)==0,n=m?(j&255)>>>1:c[h+20>>2]|0,j=k?f+1|0:c[f+8>>2]|0,k=m?i+1|0:c[h+24>>2]|0,i=n>>>0<l>>>0,m=rm(j,k,i?n:l)|0,o=l>>>0<n>>>0,(((m|0)==0?(o?-2147483648:0):m)|0)>=0):0){m=rm(k,j,o?l:n)|0;if((((m|0)==0?(i?-2147483648:0):m)|0)>=0){c[e>>2]=d;p=e;return p|0}m=h+4|0;i=c[m>>2]|0;n=(i|0)==0;if(n){o=h;while(1){k=c[o+8>>2]|0;if((c[k>>2]|0)==(o|0)){q=k;break}else o=k}}else{o=i;while(1){i=c[o>>2]|0;if(!i){q=o;break}else o=i}}if((q|0)!=(g|0)?(g=q+16|0,o=a[g>>0]|0,i=(o&1)==0,k=i?(o&255)>>>1:c[q+20>>2]|0,o=rm(j,i?g+1|0:c[q+24>>2]|0,k>>>0<l>>>0?k:l)|0,(((o|0)==0?(l>>>0<k>>>0?-2147483648:0):o)|0)>=0):0){p=Jd(b,e,f)|0;return p|0}if(n){c[e>>2]=h;p=m;return p|0}else{c[e>>2]=q;p=q;return p|0}}if((h|0)!=(c[b>>2]|0)){q=c[h>>2]|0;if(!q){m=h;while(1){n=c[m+8>>2]|0;if((c[n>>2]|0)==(m|0))m=n;else{r=n;break}}}else{m=q;while(1){q=c[m+4>>2]|0;if(!q){r=m;break}else m=q}}m=r+16|0;q=a[m>>0]|0;n=(q&1)==0;o=n?(q&255)>>>1:c[r+20>>2]|0;q=a[f>>0]|0;k=(q&1)==0;l=k?(q&255)>>>1:c[f+4>>2]|0;q=rm(n?m+1|0:c[r+24>>2]|0,k?f+1|0:c[f+8>>2]|0,l>>>0<o>>>0?l:o)|0;if((((q|0)==0?(o>>>0<l>>>0?-2147483648:0):q)|0)<0)s=r;else{p=Jd(b,e,f)|0;return p|0}}else s=d;if(!(c[h>>2]|0)){c[e>>2]=h;p=h;return p|0}else{h=s;c[e>>2]=h;p=h+4|0;return p|0}return 0}function Jd(b,d,e){b=b|0;d=d|0;e=e|0;var 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;f=b+4|0;b=c[f>>2]|0;if(!b){c[d>>2]=f;g=f;return g|0}f=a[e>>0]|0;h=(f&1)==0;i=h?(f&255)>>>1:c[e+4>>2]|0;f=h?e+1|0:c[e+8>>2]|0;e=b;while(1){b=e+16|0;h=a[b>>0]|0;j=(h&1)==0;k=j?(h&255)>>>1:c[e+20>>2]|0;h=j?b+1|0:c[e+24>>2]|0;b=k>>>0<i>>>0;j=rm(f,h,b?k:i)|0;l=i>>>0<k>>>0;if((((j|0)==0?(l?-2147483648:0):j)|0)<0){j=c[e>>2]|0;if(!j){m=e;n=e;o=5;break}else p=j}else{j=rm(h,f,l?i:k)|0;if((((j|0)==0?(b?-2147483648:0):j)|0)>=0){q=e;o=10;break}j=e+4|0;b=c[j>>2]|0;if(!b){r=j;s=e;o=9;break}else p=b}e=p}if((o|0)==5){c[d>>2]=n;g=m;return g|0}else if((o|0)==9){c[d>>2]=s;g=r;return g|0}else if((o|0)==10){c[d>>2]=q;g=d;return g|0}return 0}function Kd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;f=i;i=i+160|0;g=f+144|0;h=f+132|0;j=f+120|0;k=f+108|0;l=f+96|0;m=f+84|0;n=f+72|0;o=f+60|0;p=f+48|0;q=f+36|0;r=f+24|0;s=f+12|0;t=f;Fn(g,17300,6);u=(Vh($h(b,g)|0)|0)==3;In(g);if(!u){Kn(e,17580)|0;i=f;return}Fn(h,17300,6);u=Yh($h(b,h)|0)|0;g=a[u>>0]|0;v=(g&1)==0;w=v?(g&255)>>>1:c[u+4>>2]|0;g=a[d>>0]|0;x=(g&1)==0;y=d+4|0;a:do if((w|0)==((x?(g&255)>>>1:c[y>>2]|0)|0)){z=v?u+1|0:c[u+8>>2]|0;A=x?d+1|0:c[d+8>>2]|0;if(!v){B=(rm(z,A,w)|0)==0;In(h);if(!B)break}else{if(w){B=w;C=z;z=A;while(1){if((a[C>>0]|0)!=(a[z>>0]|0)){D=8;break a}B=B+-1|0;if(!B)break;else{C=C+1|0;z=z+1|0}}}In(h)}Fn(l,17573,6);if(Vh($h(b,l)|0)|0){Fn(m,17573,6);z=(Vh($h(b,m)|0)|0)==5;In(m);In(l);if(!z){Kn(e,17635)|0;i=f;return}}else In(l);Fn(n,17137,2);do if(Vh($h(b,n)|0)|0){Fn(o,17137,2);if((Vh($h(b,o)|0)|0)==1){In(o);In(n);break}Fn(p,17137,2);z=(Vh($h(b,p)|0)|0)==3;In(p);In(o);In(n);if(!z){Kn(e,17662)|0;i=f;return}}else In(n);while(0);Fn(q,17561,7);if(Vh($h(b,q)|0)|0){Fn(r,17561,7);z=(Vh($h(b,r)|0)|0)==3;In(r);In(q);if(!z){Kn(e,17695)|0;i=f;return}}else In(q);z=_h(b)|0;C=c[z>>2]|0;B=z+4|0;if((C|0)==(B|0)){i=f;return}z=C;while(1){C=z+16|0;if((((Xn(C,17300)|0)!=0?(Xn(C,17573)|0)!=0:0)?(Xn(C,17137)|0)!=0:0)?(Xn(C,17561)|0)!=0:0){E=z;F=C;break}C=c[z+4>>2]|0;if(!C){A=z;while(1){G=c[A+8>>2]|0;if((c[G>>2]|0)==(A|0)){H=G;break}else A=G}}else{A=C;while(1){G=c[A>>2]|0;if(!G){H=A;break}else A=G}}if((H|0)==(B|0)){D=44;break}else z=H}if((D|0)==44){i=f;return};c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;z=a[F>>0]|0;B=(z&1)==0?(z&255)>>>1:c[E+20>>2]|0;Yn(t,17723,18,B+18|0);Rn(t,(a[F>>0]&1)==0?F+1|0:c[E+24>>2]|0,B)|0;B=Pn(t,17742)|0;c[s>>2]=c[B>>2];c[s+4>>2]=c[B+4>>2];c[s+8>>2]=c[B+8>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[e>>0]&1)){a[e+1>>0]=0;a[e>>0]=0}else{a[c[e+8>>2]>>0]=0;c[e+4>>2]=0}On(e,0);c[e>>2]=c[s>>2];c[e+4>>2]=c[s+4>>2];c[e+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;In(s);In(t);i=f;return}else D=8;while(0);if((D|0)==8)In(h);c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;h=a[d>>0]|0;D=(h&1)==0?(h&255)>>>1:c[y>>2]|0;Yn(k,17607,16,D+16|0);Rn(k,(a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0,D)|0;D=Pn(k,17624)|0;c[j>>2]=c[D>>2];c[j+4>>2]=c[D+4>>2];c[j+8>>2]=c[D+8>>2];c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;if(!(a[e>>0]&1)){a[e+1>>0]=0;a[e>>0]=0}else{a[c[e+8>>2]>>0]=0;c[e+4>>2]=0}On(e,0);c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;In(j);In(k);i=f;return}function Ld(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,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.0,N=0,O=0;j=i;i=i+272|0;k=j+264|0;l=j+232|0;m=j+216|0;n=j+208|0;o=j+192|0;p=j+184|0;q=j+152|0;r=j+136|0;s=j+112|0;t=j+96|0;u=j+88|0;v=j+80|0;w=j+64|0;x=j+52|0;y=j+40|0;z=j+28|0;A=j+16|0;B=j+8|0;C=j;Fn(l,17284,6);c[l+12>>2]=1;Fn(l+16|0,17774,12);c[l+28>>2]=5;c[k>>2]=l;c[k+4>>2]=2;D=li(d,k,h)|0;In(l+16|0);In(l);if(!D){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;D=a[h>>0]|0;l=h+4|0;k=(D&1)==0?(D&255)>>>1:c[l>>2]|0;Yn(m,17787,27,k+27|0);D=h+8|0;E=h+1|0;Rn(m,(a[h>>0]&1)==0?E:c[D>>2]|0,k)|0;if(!(a[h>>0]&1)){a[E>>0]=0;a[h>>0]=0}else{a[c[D>>2]>>0]=0;c[l>>2]=0}On(h,0);c[h>>2]=c[m>>2];c[h+4>>2]=c[m+4>>2];c[h+8>>2]=c[m+8>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;In(m);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;i=j;return}Fn(o,17774,12);m=$h(d,o)|0;c[n>>2]=c[m>>2];l=n+4|0;D=c[m+4>>2]|0;c[l>>2]=D;if(D)xn(D);In(o);Fn(q,17341,9);c[q+12>>2]=5;Fn(q+16|0,17815,12);c[q+28>>2]=4;c[p>>2]=q;c[p+4>>2]=2;o=li(n,p,h)|0;In(q+16|0);In(q);if(o){c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=0;o=c[(c[e>>2]|0)+12>>2]|0;Fn(t,17284,6);q=Xh($h(d,t)|0)|0;c[s>>2]=Pb[o&63](e,q)|0;In(t);Fn(w,17341,9);t=$h(n,w)|0;c[v>>2]=c[t>>2];q=v+4|0;e=c[t+4>>2]|0;c[q>>2]=e;if(e)xn(e);Md(u,v,h);v=s+16|0;c[v>>2]=c[u>>2];e=s+20|0;c[e>>2]=c[u+4>>2];u=c[q>>2]|0;if(u)yn(u);In(w);a:do if(!(Xn(h,32466)|0)){Fn(x,17815,12);w=Zh($h(n,x)|0)|0;In(x);u=c[w>>2]|0;q=c[w+4>>2]|0;b:do if((u|0)==(q|0)){F=s+8|0;G=s+12|0;H=s+4|0}else{w=s+8|0;t=s+12|0;o=s+4|0;d=y+4|0;p=A+4|0;D=A+8|0;m=B+4|0;E=A+8|0;k=u;while(1){if((Vh(k)|0)==3){En(z,Yh(k)|0);Nd(y,z,h);In(z);if(Xn(h,32466)|0)break;I=c[w>>2]|0;if((I|0)==(c[t>>2]|0))Pd(o,y);else{Od(I,y);c[w>>2]=(c[w>>2]|0)+12}c[f>>2]=1;I=c[y>>2]|0;J=I;if(I){K=c[d>>2]|0;if((K|0)!=(I|0))c[d>>2]=K+(~((K+-4-J|0)>>>2)<<2);gk(I)}}else{if((Vh(k)|0)!=4){L=52;break}c[A>>2]=0;c[p>>2]=0;c[D>>2]=0;I=Zh(k)|0;J=c[I>>2]|0;K=c[I+4>>2]|0;if((J|0)!=(K|0)){I=J;do{c[B>>2]=c[I>>2];J=c[I+4>>2]|0;c[m>>2]=J;if(J)xn(J);M=+Wh(B);g[C>>2]=M;J=c[p>>2]|0;if(J>>>0<(c[E>>2]|0)>>>0){g[J>>2]=M;c[p>>2]=J+4}else Qd(A,C);J=c[m>>2]|0;if(J)yn(J);I=I+8|0}while((I|0)!=(K|0))}K=c[w>>2]|0;if((K|0)==(c[t>>2]|0))Pd(o,A);else{Od(K,A);c[w>>2]=(c[w>>2]|0)+12}c[f>>2]=0;K=c[A>>2]|0;I=K;if(K){J=c[p>>2]|0;if((J|0)!=(K|0))c[p>>2]=J+(~((J+-4-I|0)>>>2)<<2);gk(K)}}k=k+8|0;if((k|0)==(q|0)){F=w;G=t;H=o;break b}}if((L|0)==52){Kn(h,17828)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;break a};c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;o=c[y>>2]|0;if(!o)break a;t=c[d>>2]|0;if((t|0)!=(o|0))c[d>>2]=t+(~((t+-4-o|0)>>>2)<<2);gk(o);break a}while(0);q=c[s>>2]|0;c[b+4>>2]=c[H>>2];c[b+8>>2]=c[F>>2];c[b+12>>2]=c[G>>2];c[G>>2]=0;c[F>>2]=0;c[s+4>>2]=0;c[b+16>>2]=c[v>>2];c[b+20>>2]=c[e>>2];c[b>>2]=q}else{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0}while(0);e=s+4|0;v=c[e>>2]|0;if(v){F=s+8|0;s=c[F>>2]|0;if((s|0)==(v|0))N=v;else{G=s;while(1){s=G+-12|0;c[F>>2]=s;H=c[s>>2]|0;y=H;if(!H)O=s;else{s=G+-8|0;L=c[s>>2]|0;if((L|0)!=(H|0))c[s>>2]=L+(~((L+-4-y|0)>>>2)<<2);gk(H);O=c[F>>2]|0}if((O|0)==(v|0))break;else G=O}N=c[e>>2]|0}gk(N)}}else{c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;N=a[h>>0]|0;e=h+4|0;O=(N&1)==0?(N&255)>>>1:c[e>>2]|0;Yn(r,17787,27,O+27|0);N=h+8|0;G=h+1|0;Rn(r,(a[h>>0]&1)==0?G:c[N>>2]|0,O)|0;if(!(a[h>>0]&1)){a[G>>0]=0;a[h>>0]=0}else{a[c[N>>2]>>0]=0;c[e>>2]=0}On(h,0);c[h>>2]=c[r>>2];c[h+4>>2]=c[r+4>>2];c[h+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;In(r);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0}b=c[l>>2]|0;if(!b){i=j;return}yn(b);i=j;return}function Md(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+80|0;g=f+64|0;h=f+48|0;j=f+40|0;k=f+24|0;l=f+12|0;m=f;Fn(h,17360,1);n=$h(d,h)|0;c[g>>2]=c[n>>2];o=g+4|0;p=c[n+4>>2]|0;c[o>>2]=p;if(p)xn(p);In(h);Fn(k,17362,1);h=$h(d,k)|0;c[j>>2]=c[h>>2];p=j+4|0;n=c[h+4>>2]|0;c[p>>2]=n;if(n)xn(n);In(k);if((Vh(g)|0)==1?(Vh(j)|0)==1:0){k=Xh(g)|0;vh(b,k,Xh(j)|0)}else{c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;Jh(d,m);d=Vn(m,0,17877)|0;c[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2];c[l+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;if(!(a[e>>0]&1)){a[e+1>>0]=0;a[e>>0]=0}else{a[c[e+8>>2]>>0]=0;c[e+4>>2]=0}On(e,0);c[e>>2]=c[l>>2];c[e+4>>2]=c[l+4>>2];c[e+8>>2]=c[l+8>>2];c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;In(l);In(m);c[b>>2]=0;c[b+4>>2]=0}b=c[p>>2]|0;if(b)yn(b);b=c[o>>2]|0;if(!b){i=f;return}yn(b);i=f;return}function Nd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+48|0;f=e+32|0;g=e+28|0;h=e+24|0;j=e+20|0;k=e+16|0;l=e+12|0;m=e;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;n=a[d>>0]|0;if(!(n&1)){o=d+1|0;p=(n&255)>>>1;q=d+1|0}else{n=c[d+8>>2]|0;o=n;p=c[d+4>>2]|0;q=n}c[j>>2]=q;c[k>>2]=o+p;c[l>>2]=m;c[h>>2]=c[j>>2];c[g>>2]=c[k>>2];c[f>>2]=c[l>>2];Rd(h,g,f);f=a[m>>0]|0;g=(f&1)==0;h=g?m+1|0:c[m+8>>2]|0;Sd(b,h,h+((g?(f&255)>>>1:c[m+4>>2]|0)>>>2<<2)|0);In(m);i=e;return}function Od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;c[a>>2]=0;d=a+4|0;c[d>>2]=0;c[a+8>>2]=0;e=b+4|0;f=(c[e>>2]|0)-(c[b>>2]|0)|0;g=f>>2;if(!g)return;if(g>>>0>1073741823)ck(a);h=ek(f)|0;c[d>>2]=h;c[a>>2]=h;c[a+8>>2]=h+(g<<2);g=c[b>>2]|0;b=c[e>>2]|0;if((g|0)==(b|0))return;e=h+(((b+-4-g|0)>>>2)+1<<2)|0;a=g;g=h;while(1){c[g>>2]=c[a>>2];a=a+4|0;if((a|0)==(b|0))break;else g=g+4|0}c[d>>2]=e;return}function Pd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=a+4|0;e=c[a>>2]|0;f=(((c[d>>2]|0)-e|0)/12|0)+1|0;if(f>>>0>357913941){ck(a);g=c[a>>2]|0}else g=e;e=a+8|0;h=g;g=((c[e>>2]|0)-h|0)/12|0;if(g>>>0<178956970){i=g<<1;g=i>>>0<f>>>0?f:i;i=((c[d>>2]|0)-h|0)/12|0;if(!g){j=0;k=0;l=i}else{m=g;n=i;o=6}}else{m=357913941;n=((c[d>>2]|0)-h|0)/12|0;o=6}if((o|0)==6){j=m;k=ek(m*12|0)|0;l=n}n=k+(l*12|0)|0;m=n;o=k+(j*12|0)|0;Od(n,b);b=k+((l+1|0)*12|0)|0;l=c[a>>2]|0;k=c[d>>2]|0;if((k|0)==(l|0)){p=a;q=d;r=m;s=l;t=k}else{j=k;k=n;n=m;while(1){m=k+-12|0;h=j;j=j+-12|0;c[m>>2]=0;i=k+-8|0;c[i>>2]=0;c[k+-4>>2]=0;c[m>>2]=c[j>>2];m=h+-8|0;c[i>>2]=c[m>>2];i=h+-4|0;c[k+-4>>2]=c[i>>2];c[i>>2]=0;c[m>>2]=0;c[j>>2]=0;k=n+-12|0;m=k;if((j|0)==(l|0)){u=m;break}else n=m}p=a;q=d;r=u;s=c[a>>2]|0;t=c[d>>2]|0}c[p>>2]=r;c[q>>2]=b;c[e>>2]=o;o=s;e=t;if((e|0)!=(o|0)){t=e;do{e=t;t=t+-12|0;b=c[t>>2]|0;q=b;if(b){r=e+-8|0;e=c[r>>2]|0;if((e|0)!=(b|0))c[r>>2]=e+(~((e+-4-q|0)>>>2)<<2);gk(b)}}while((t|0)!=(o|0))}if(!s)return;gk(s);return}function Qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=a+4|0;e=c[a>>2]|0;f=e;g=((c[d>>2]|0)-f>>2)+1|0;if(g>>>0>1073741823){ck(a);h=c[a>>2]|0;i=h;j=h}else{i=e;j=f}f=a+8|0;e=i;h=(c[f>>2]|0)-e|0;if(h>>2>>>0<536870911){k=h>>1;h=k>>>0<g>>>0?g:k;k=(c[d>>2]|0)-e|0;g=k>>2;if(!h){l=0;m=0;n=g;o=k}else{p=h;q=g;r=k;s=6}}else{k=(c[d>>2]|0)-e|0;p=1073741823;q=k>>2;r=k;s=6}if((s|0)==6){l=p;m=ek(p<<2)|0;n=q;o=r}c[m+(n<<2)>>2]=c[b>>2];kx(m|0,i|0,o|0)|0;c[a>>2]=m;c[d>>2]=m+(n+1<<2);c[f>>2]=m+(l<<2);if(!j)return;gk(j);return}function Rd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=c[b>>2]|0;b=c[d>>2]|0;if((f|0)==(b|0))return;d=0;g=f;f=0;a:while(1){h=g;b:while(1){c:do if(!(cl(a[h>>0]|0)|0)){i=a[h>>0]|0;j=i<<24>>24;d:do if((i+-65&255)<26)k=j+191|0;else{if((i+-97&255)<26){k=j+185|0;break}if((i+-48&255)<10){k=j+4|0;break}switch(i<<24>>24){case 43:{k=j+19|0;break d;break}case 47:{k=j+16|0;break d;break}default:break c}}while(0);if((k&255)<<24>>24!=-1){l=k;m=h;break b}}while(0);h=h+1|0;if((h|0)==(b|0)){n=21;break a}}h=l<<24>>24;j=f+6|0;i=((j|0)>8?8:j)-f|0;if((i|0)==6){o=(h<<2-f|d&255)&255;if((j|0)==8){Qn(c[e>>2]|0,o);p=0;q=0}else{p=o;q=j}}else{j=6-i|0;Qn(c[e>>2]|0,(h>>j|d&255)&255);p=h<<8-j&255;q=j}g=m+1|0;if((g|0)==(b|0)){n=21;break}else{d=p;f=q}}if((n|0)==21)return}function Sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b;c[a>>2]=0;f=a+4|0;c[f>>2]=0;c[a+8>>2]=0;g=d-e|0;h=g>>2;if(!h)return;if(h>>>0>1073741823)ck(a);i=ek(g)|0;c[f>>2]=i;c[a>>2]=i;c[a+8>>2]=i+(h<<2);if((b|0)==(d|0))return;h=i+(((d+-4-e|0)>>>2)+1<<2)|0;e=b;b=i;while(1){c[b>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else b=b+4|0}c[f>>2]=h;return}function Td(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;e=i;i=i+176|0;f=e+160|0;g=e+148|0;h=e+136|0;j=e+128|0;k=e+112|0;l=e+104|0;m=e+88|0;n=e+80|0;o=e+68|0;p=e+56|0;q=e+48|0;r=e+32|0;s=e+24|0;t=e+8|0;u=e;v=g+4|0;c[v>>2]=0;w=g+8|0;c[w>>2]=0;x=g+4|0;c[g>>2]=x;Fn(h,17284,6);y=yd(g,f,h)|0;z=c[y>>2]|0;if(!z){A=ek(36)|0;B=A+16|0;c[B>>2]=c[h>>2];c[B+4>>2]=c[h+4>>2];c[B+8>>2]=c[h+8>>2];c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;Kh(A+28|0);B=c[f>>2]|0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=B;c[y>>2]=A;B=c[c[g>>2]>>2]|0;if(!B)C=A;else{c[g>>2]=B;C=c[y>>2]|0}xc(c[v>>2]|0,C);c[w>>2]=(c[w>>2]|0)+1;D=A}else D=z;Lh(j,+((Pb[c[(c[d>>2]|0)+8>>2]&63](d,c[b>>2]|0)|0)>>>0));d=c[j>>2]|0;z=j+4|0;A=c[z>>2]|0;c[j>>2]=0;c[z>>2]=0;c[D+28>>2]=d;d=D+32|0;D=c[d>>2]|0;c[d>>2]=A;if(D)yn(D);D=c[z>>2]|0;if(D)yn(D);In(h);c[k>>2]=0;h=k+4|0;c[h>>2]=0;c[k+8>>2]=0;D=c[b+4>>2]|0;z=c[b+8>>2]|0;if((D|0)!=(z|0)){A=k+8|0;d=l+4|0;j=D;do{Ud(l,j);D=c[h>>2]|0;if(D>>>0>=(c[A>>2]|0)>>>0){Dd(k,l);C=c[d>>2]|0;if(C)yn(C)}else{c[D>>2]=c[l>>2];c[D+4>>2]=c[d>>2];c[l>>2]=0;c[d>>2]=0;c[h>>2]=D+8}j=j+100|0}while((j|0)!=(z|0))}Fn(m,17945,10);z=yd(g,f,m)|0;j=c[z>>2]|0;if(!j){d=ek(36)|0;l=d+16|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;Kh(d+28|0);l=c[f>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=l;c[z>>2]=d;l=c[c[g>>2]>>2]|0;if(!l)E=d;else{c[g>>2]=l;E=c[z>>2]|0}xc(c[v>>2]|0,E);c[w>>2]=(c[w>>2]|0)+1;F=d}else F=j;Rh(n,k);j=c[n>>2]|0;d=n+4|0;E=c[d>>2]|0;c[n>>2]=0;c[d>>2]=0;c[F+28>>2]=j;j=F+32|0;F=c[j>>2]|0;c[j>>2]=E;if(F)yn(F);F=c[d>>2]|0;if(F)yn(F);In(m);m=o+4|0;c[m>>2]=0;F=o+8|0;c[F>>2]=0;d=o+4|0;c[o>>2]=d;Fn(p,17956,8);E=yd(o,f,p)|0;j=c[E>>2]|0;if(!j){n=ek(36)|0;z=n+16|0;c[z>>2]=c[p>>2];c[z+4>>2]=c[p+4>>2];c[z+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Kh(n+28|0);z=c[f>>2]|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=z;c[E>>2]=n;z=c[c[o>>2]>>2]|0;if(!z)G=n;else{c[o>>2]=z;G=c[E>>2]|0}xc(c[m>>2]|0,G);c[F>>2]=(c[F>>2]|0)+1;H=n}else H=j;Mh(q,c[b+16>>2]|0);j=c[q>>2]|0;n=q+4|0;G=c[n>>2]|0;c[q>>2]=0;c[n>>2]=0;c[H+28>>2]=j;j=H+32|0;H=c[j>>2]|0;c[j>>2]=G;if(H)yn(H);H=c[n>>2]|0;if(H)yn(H);In(p);Fn(r,17965,9);p=yd(o,f,r)|0;H=c[p>>2]|0;if(!H){n=ek(36)|0;G=n+16|0;c[G>>2]=c[r>>2];c[G+4>>2]=c[r+4>>2];c[G+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Kh(n+28|0);G=c[f>>2]|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=G;c[p>>2]=n;G=c[c[o>>2]>>2]|0;if(!G)I=n;else{c[o>>2]=G;I=c[p>>2]|0}xc(c[m>>2]|0,I);c[F>>2]=(c[F>>2]|0)+1;J=n}else J=H;Mh(s,c[b+20>>2]|0);b=c[s>>2]|0;H=s+4|0;n=c[H>>2]|0;c[s>>2]=0;c[H>>2]=0;c[J+28>>2]=b;b=J+32|0;J=c[b>>2]|0;c[b>>2]=n;if(J)yn(J);J=c[H>>2]|0;if(J)yn(J);In(r);Fn(t,17975,7);r=yd(g,f,t)|0;J=c[r>>2]|0;if(!J){H=ek(36)|0;n=H+16|0;c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[n+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Kh(H+28|0);n=c[f>>2]|0;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=n;c[r>>2]=H;n=c[c[g>>2]>>2]|0;if(!n)K=H;else{c[g>>2]=n;K=c[r>>2]|0}xc(c[v>>2]|0,K);c[w>>2]=(c[w>>2]|0)+1;L=H}else L=J;Th(u,o);J=c[u>>2]|0;H=u+4|0;w=c[H>>2]|0;c[u>>2]=0;c[H>>2]=0;c[L+28>>2]=J;J=L+32|0;L=c[J>>2]|0;c[J>>2]=w;if(L)yn(L);L=c[H>>2]|0;if(L)yn(L);In(t);Th(a,g);Bd(o,c[d>>2]|0);d=c[k>>2]|0;if(!d){M=c[x>>2]|0;Bd(g,M);i=e;return}o=c[h>>2]|0;if((o|0)==(d|0))N=d;else{a=o;while(1){o=a+-8|0;c[h>>2]=o;t=c[a+-4>>2]|0;if(!t)O=o;else{yn(t);O=c[h>>2]|0}if((O|0)==(d|0))break;else a=O}N=c[k>>2]|0}gk(N);M=c[x>>2]|0;Bd(g,M);i=e;return}function Ud(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;i=i+80|0;e=d+72|0;f=d+56|0;g=d+60|0;h=d+16|0;j=d+8|0;k=d;Vd(j,b);Fn(h,17983,5);c[h+12>>2]=c[j>>2];l=j+4|0;c[h+16>>2]=c[l>>2];c[j>>2]=0;c[l>>2]=0;Wd(k,b);Fn(h+20|0,17989,10);c[h+32>>2]=c[k>>2];b=k+4|0;c[h+36>>2]=c[b>>2];c[k>>2]=0;c[b>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;k=g+4|0;c[g>>2]=k;j=k;c[f>>2]=j;c[e>>2]=c[f>>2];Hd(g,e,h)|0;c[f>>2]=j;c[e>>2]=c[f>>2];Hd(g,e,h+20|0)|0;e=c[h+36>>2]|0;if(e)yn(e);In(h+20|0);e=c[h+16>>2]|0;if(e)yn(e);In(h);h=c[b>>2]|0;if(h)yn(h);h=c[l>>2]|0;if(!h){Th(a,g);m=c[k>>2]|0;Bd(g,m);i=d;return}yn(h);Th(a,g);m=c[k>>2]|0;Bd(g,m);i=d;return}function Vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+80|0;e=d+76|0;f=d;g=d+64|0;h=d+4|0;Fn(h,18138,10);Oh(h+12|0,b);Fn(h+20|0,18149,4);Oh(h+32|0,b+12|0);Fn(h+40|0,18154,11);Oh(h+52|0,b+24|0);c[g+4>>2]=0;c[g+8>>2]=0;b=g+4|0;c[g>>2]=b;j=b;c[f>>2]=j;c[e>>2]=c[f>>2];Hd(g,e,h)|0;c[f>>2]=j;c[e>>2]=c[f>>2];Hd(g,e,h+20|0)|0;c[f>>2]=j;c[e>>2]=c[f>>2];Hd(g,e,h+40|0)|0;Uh(a,g);Bd(g,c[b>>2]|0);b=c[h+56>>2]|0;if(b)yn(b);In(h+40|0);b=c[h+36>>2]|0;if(b)yn(b);In(h+20|0);b=c[h+16>>2]|0;if(!b){In(h);i=d;return}yn(b);In(h);i=d;return}function Wd(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;e=i;i=i+224|0;f=e+216|0;h=e+212|0;j=e+200|0;k=e+120|0;l=e+108|0;m=e+96|0;n=e+88|0;o=e+72|0;p=e+64|0;q=e+52|0;r=e+48|0;s=e+44|0;t=e+32|0;u=e+24|0;v=e+8|0;w=e;Fn(k,18e3,4);Oh(k+12|0,d+36|0);x=k+20|0;switch(c[d+88>>2]|0){case 0:{Fn(l,18005,16);break}case 1:{Fn(l,18022,15);break}case 2:{Fn(l,18038,18);break}default:Fn(l,32466,0)}Fn(x,18057,10);Ph(k+32|0,l);Fn(k+40|0,18068,10);Lh(k+52|0,+g[d+92>>2]);Fn(k+60|0,18079,11);Nh(k+72|0,(a[d+96>>0]|0)!=0);x=j+4|0;c[x>>2]=0;y=j+8|0;c[y>>2]=0;z=j+4|0;c[j>>2]=z;A=z;c[h>>2]=A;c[f>>2]=c[h>>2];Hd(j,f,k)|0;c[h>>2]=A;c[f>>2]=c[h>>2];Hd(j,f,k+20|0)|0;c[h>>2]=A;c[f>>2]=c[h>>2];Hd(j,f,k+40|0)|0;c[h>>2]=A;c[f>>2]=c[h>>2];Hd(j,f,k+60|0)|0;A=c[k+76>>2]|0;if(A)yn(A);In(k+60|0);A=c[k+56>>2]|0;if(A)yn(A);In(k+40|0);A=c[k+36>>2]|0;if(A)yn(A);In(k+20|0);A=c[k+16>>2]|0;if(A)yn(A);In(k);In(l);if(a[d+48>>0]|0){Fn(m,18091,8);l=yd(j,f,m)|0;k=c[l>>2]|0;if(!k){A=ek(36)|0;B=A+16|0;c[B>>2]=c[m>>2];c[B+4>>2]=c[m+4>>2];c[B+8>>2]=c[m+8>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;Kh(A+28|0);B=c[f>>2]|0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=B;c[l>>2]=A;B=c[c[j>>2]>>2]|0;if(!B)C=A;else{c[j>>2]=B;C=c[l>>2]|0}xc(c[x>>2]|0,C);c[y>>2]=(c[y>>2]|0)+1;D=A}else D=k;Mh(n,c[d+52>>2]|0);k=c[n>>2]|0;A=n+4|0;C=c[A>>2]|0;c[n>>2]=0;c[A>>2]=0;c[D+28>>2]=k;k=D+32|0;D=c[k>>2]|0;c[k>>2]=C;if(D)yn(D);D=c[A>>2]|0;if(D)yn(D);In(m);Fn(o,18100,8);m=yd(j,f,o)|0;D=c[m>>2]|0;if(!D){A=ek(36)|0;C=A+16|0;c[C>>2]=c[o>>2];c[C+4>>2]=c[o+4>>2];c[C+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;Kh(A+28|0);C=c[f>>2]|0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=C;c[m>>2]=A;C=c[c[j>>2]>>2]|0;if(!C)E=A;else{c[j>>2]=C;E=c[m>>2]|0}xc(c[x>>2]|0,E);c[y>>2]=(c[y>>2]|0)+1;F=A}else F=D;c[r>>2]=c[d+56>>2];c[s>>2]=c[d+60>>2];c[h>>2]=c[r>>2];c[f>>2]=c[s>>2];Xd(q,h,f);Sh(p,q);h=c[p>>2]|0;s=p+4|0;r=c[s>>2]|0;c[p>>2]=0;c[s>>2]=0;c[F+28>>2]=h;h=F+32|0;F=c[h>>2]|0;c[h>>2]=r;if(F)yn(F);F=c[s>>2]|0;if(F)yn(F);F=c[q>>2]|0;if(F){s=q+4|0;r=c[s>>2]|0;if((r|0)==(F|0))G=F;else{h=r;while(1){r=h+-8|0;c[s>>2]=r;p=c[h+-4>>2]|0;if(!p)H=r;else{yn(p);H=c[s>>2]|0}if((H|0)==(F|0))break;else h=H}G=c[q>>2]|0}gk(G)}In(o)}if(a[d+68>>0]|0){Fn(t,18109,7);o=yd(j,f,t)|0;G=c[o>>2]|0;if(!G){q=ek(36)|0;H=q+16|0;c[H>>2]=c[t>>2];c[H+4>>2]=c[t+4>>2];c[H+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Kh(q+28|0);H=c[f>>2]|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=H;c[o>>2]=q;H=c[c[j>>2]>>2]|0;if(!H)I=q;else{c[j>>2]=H;I=c[o>>2]|0}xc(c[x>>2]|0,I);c[y>>2]=(c[y>>2]|0)+1;J=q}else J=G;Yd(u,d);G=c[u>>2]|0;q=u+4|0;I=c[q>>2]|0;c[u>>2]=0;c[q>>2]=0;c[J+28>>2]=G;G=J+32|0;J=c[G>>2]|0;c[G>>2]=I;if(J)yn(J);J=c[q>>2]|0;if(J)yn(J);In(t)}if(!(a[d+80>>0]|0)){Th(b,j);K=c[z>>2]|0;Bd(j,K);i=e;return}Fn(v,18117,12);t=yd(j,f,v)|0;J=c[t>>2]|0;if(!J){q=ek(36)|0;I=q+16|0;c[I>>2]=c[v>>2];c[I+4>>2]=c[v+4>>2];c[I+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Kh(q+28|0);I=c[f>>2]|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=I;c[t>>2]=q;I=c[c[j>>2]>>2]|0;if(!I)L=q;else{c[j>>2]=I;L=c[t>>2]|0}xc(c[x>>2]|0,L);c[y>>2]=(c[y>>2]|0)+1;M=q}else M=J;Lh(w,+g[d+84>>2]);d=c[w>>2]|0;J=w+4|0;q=c[J>>2]|0;c[w>>2]=0;c[J>>2]=0;c[M+28>>2]=d;d=M+32|0;M=c[d>>2]|0;c[d>>2]=q;if(M)yn(M);M=c[J>>2]|0;if(M)yn(M);In(v);Th(b,j);K=c[z>>2]|0;Bd(j,K);i=e;return}function Xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[a>>2]=0;e=a+4|0;c[e>>2]=0;c[a+8>>2]=0;f=c[b>>2]|0;b=c[d>>2]|0;d=(b-f|0)/12|0;if((b|0)==(f|0))return;if(d>>>0>536870911)ck(a);g=ek(d<<3)|0;c[e>>2]=g;c[a>>2]=g;c[a+8>>2]=g+(d<<3);d=f;f=b;if((d|0)==(f|0))return;b=g;g=d;do{Oh(b,g);b=(c[e>>2]|0)+8|0;c[e>>2]=b;g=g+12|0}while((g|0)!=(f|0));return}function Yd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0;d=i;i=i+64|0;e=d+56|0;f=d+40|0;h=d+44|0;j=d;Fn(j,18130,3);Lh(j+12|0,+g[b+72>>2]);Fn(j+20|0,18134,3);Lh(j+32|0,+g[b+76>>2]);c[h+4>>2]=0;c[h+8>>2]=0;b=h+4|0;c[h>>2]=b;k=b;c[f>>2]=k;c[e>>2]=c[f>>2];Hd(h,e,j)|0;c[f>>2]=k;c[e>>2]=c[f>>2];Hd(h,e,j+20|0)|0;Uh(a,h);Bd(h,c[b>>2]|0);b=c[j+36>>2]|0;if(b)yn(b);In(j+20|0);b=c[j+16>>2]|0;if(!b){In(j);i=d;return}yn(b);In(j);i=d;return}function Zd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=b+4|0;h=c[d>>2]|0;d=h;if((h|0)!=(g|0)?(i=h+16|0,j=a[f>>0]|0,k=(j&1)==0,l=k?(j&255)>>>1:c[f+4>>2]|0,j=a[i>>0]|0,m=(j&1)==0,n=m?(j&255)>>>1:c[h+20>>2]|0,j=k?f+1|0:c[f+8>>2]|0,k=m?i+1|0:c[h+24>>2]|0,i=n>>>0<l>>>0,m=rm(j,k,i?n:l)|0,o=l>>>0<n>>>0,(((m|0)==0?(o?-2147483648:0):m)|0)>=0):0){m=rm(k,j,o?l:n)|0;if((((m|0)==0?(i?-2147483648:0):m)|0)>=0){c[e>>2]=d;p=e;return p|0}m=h+4|0;i=c[m>>2]|0;n=(i|0)==0;if(n){o=h;while(1){k=c[o+8>>2]|0;if((c[k>>2]|0)==(o|0)){q=k;break}else o=k}}else{o=i;while(1){i=c[o>>2]|0;if(!i){q=o;break}else o=i}}if((q|0)!=(g|0)?(g=q+16|0,o=a[g>>0]|0,i=(o&1)==0,k=i?(o&255)>>>1:c[q+20>>2]|0,o=rm(j,i?g+1|0:c[q+24>>2]|0,k>>>0<l>>>0?k:l)|0,(((o|0)==0?(l>>>0<k>>>0?-2147483648:0):o)|0)>=0):0){p=_d(b,e,f)|0;return p|0}if(n){c[e>>2]=h;p=m;return p|0}else{c[e>>2]=q;p=q;return p|0}}if((h|0)!=(c[b>>2]|0)){q=c[h>>2]|0;if(!q){m=h;while(1){n=c[m+8>>2]|0;if((c[n>>2]|0)==(m|0))m=n;else{r=n;break}}}else{m=q;while(1){q=c[m+4>>2]|0;if(!q){r=m;break}else m=q}}m=r+16|0;q=a[m>>0]|0;n=(q&1)==0;o=n?(q&255)>>>1:c[r+20>>2]|0;q=a[f>>0]|0;k=(q&1)==0;l=k?(q&255)>>>1:c[f+4>>2]|0;q=rm(n?m+1|0:c[r+24>>2]|0,k?f+1|0:c[f+8>>2]|0,l>>>0<o>>>0?l:o)|0;if((((q|0)==0?(o>>>0<l>>>0?-2147483648:0):q)|0)<0)s=r;else{p=_d(b,e,f)|0;return p|0}}else s=d;if(!(c[h>>2]|0)){c[e>>2]=h;p=h;return p|0}else{h=s;c[e>>2]=h;p=h+4|0;return p|0}return 0} function uu(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,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;l=i;i=i+16|0;m=l;n=l+8|0;a:do if((e|0)==(f|0))o=f;else{p=e;while(1){if(!(c[p>>2]|0)){o=p;break a}p=p+4|0;if((p|0)==(f|0)){o=f;break}}}while(0);c[k>>2]=h;c[g>>2]=e;p=j;q=b+8|0;b:do if((h|0)==(j|0)|(e|0)==(f|0)){r=e;s=29}else{b=e;t=h;u=o;c:while(1){v=d;w=c[v+4>>2]|0;x=m;c[x>>2]=c[v>>2];c[x+4>>2]=w;w=sl(c[q>>2]|0)|0;x=Kl(t,g,u-b>>2,p-t|0,d)|0;if(w)sl(w)|0;switch(x|0){case 0:{y=1;break b;break}case -1:{z=b;A=t;break c;break}default:{}}w=(c[k>>2]|0)+x|0;c[k>>2]=w;if((w|0)==(j|0)){s=15;break}if((u|0)==(f|0)){B=c[g>>2]|0;C=w;D=f}else{w=sl(c[q>>2]|0)|0;x=Jl(n,0,d)|0;if(w)sl(w)|0;if((x|0)==-1){y=2;break b}if(x>>>0>(p-(c[k>>2]|0)|0)>>>0){y=1;break b}if(x){w=x;x=n;while(1){v=a[x>>0]|0;E=c[k>>2]|0;c[k>>2]=E+1;a[E>>0]=v;w=w+-1|0;if(!w)break;else x=x+1|0}}x=(c[g>>2]|0)+4|0;c[g>>2]=x;d:do if((x|0)==(f|0))F=f;else{w=x;while(1){if(!(c[w>>2]|0)){F=w;break d}w=w+4|0;if((w|0)==(f|0)){F=f;break}}}while(0);B=x;C=c[k>>2]|0;D=F}if((C|0)==(j|0)|(B|0)==(f|0)){r=B;s=29;break b}else{b=B;t=C;u=D}}if((s|0)==15){r=c[g>>2]|0;s=29;break}c[k>>2]=A;e:do if((z|0)==(c[g>>2]|0))G=z;else{u=z;t=A;while(1){b=c[u>>2]|0;w=sl(c[q>>2]|0)|0;v=Jl(t,b,m)|0;if(w)sl(w)|0;if((v|0)==-1){G=u;break e}t=(c[k>>2]|0)+v|0;c[k>>2]=t;v=u+4|0;if((v|0)==(c[g>>2]|0)){G=v;break}else u=v}}while(0);c[g>>2]=G;y=2}while(0);if((s|0)==29)y=(r|0)!=(f|0)&1;i=l;return y|0}function vu(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,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;l=i;i=i+16|0;m=l;a:do if((e|0)==(f|0))n=f;else{o=e;while(1){if(!(a[o>>0]|0)){n=o;break a}o=o+1|0;if((o|0)==(f|0)){n=f;break}}}while(0);c[k>>2]=h;c[g>>2]=e;o=j;p=b+8|0;b:do if((h|0)==(j|0)|(e|0)==(f|0)){q=e;r=29}else{b=e;s=h;t=n;c:while(1){u=d;v=c[u+4>>2]|0;w=m;c[w>>2]=c[u>>2];c[w+4>>2]=v;v=t;w=sl(c[p>>2]|0)|0;u=Gl(s,g,v-b|0,o-s>>2,d)|0;if(w)sl(w)|0;switch(u|0){case 0:{x=2;break b;break}case -1:{y=b;z=s;A=v;break c;break}default:{}}v=(c[k>>2]|0)+(u<<2)|0;c[k>>2]=v;if((v|0)==(j|0)){r=19;break}u=c[g>>2]|0;if((t|0)==(f|0)){B=u;C=v;D=f}else{w=sl(c[p>>2]|0)|0;E=El(v,u,1,d)|0;if(w)sl(w)|0;if(E){x=2;break b}c[k>>2]=(c[k>>2]|0)+4;E=(c[g>>2]|0)+1|0;c[g>>2]=E;d:do if((E|0)==(f|0))F=f;else{w=E;while(1){if(!(a[w>>0]|0)){F=w;break d}w=w+1|0;if((w|0)==(f|0)){F=f;break}}}while(0);B=E;C=c[k>>2]|0;D=F}if((C|0)==(j|0)|(B|0)==(f|0)){q=B;r=29;break b}else{b=B;s=C;t=D}}if((r|0)==19){q=c[g>>2]|0;r=29;break}c[k>>2]=z;e:do if((y|0)!=(c[g>>2]|0)){t=y;s=z;f:while(1){b=sl(c[p>>2]|0)|0;w=El(s,t,A-t|0,m)|0;if(b)sl(b)|0;switch(w|0){case -1:{G=t;r=13;break f;break}case -2:{H=t;r=14;break f;break}case 0:{I=t+1|0;break}default:I=t+w|0}s=(c[k>>2]|0)+4|0;c[k>>2]=s;if((I|0)==(c[g>>2]|0)){J=I;break e}else t=I}if((r|0)==13){c[g>>2]=G;x=2;break b}else if((r|0)==14){c[g>>2]=H;x=1;break b}}else J=y;while(0);c[g>>2]=J;x=(J|0)!=(f|0)&1}while(0);if((r|0)==29)x=(q|0)!=(f|0)&1;i=l;return x|0}function wu(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h;c[g>>2]=e;e=sl(c[b+8>>2]|0)|0;b=Jl(j,0,d)|0;if(e)sl(e)|0;switch(b|0){case 0:case -1:{k=2;break}default:{e=b+-1|0;if(e>>>0<=(f-(c[g>>2]|0)|0)>>>0)if(!e)k=0;else{f=e;e=j;while(1){j=a[e>>0]|0;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=j;f=f+-1|0;if(!f){k=0;break}else e=e+1|0}}else k=1}}i=h;return k|0}function xu(a){a=a|0;var b=0,d=0,e=0;b=a+8|0;a=sl(c[b>>2]|0)|0;d=Il(0,0,4)|0;if(a)sl(a)|0;if(!d){d=c[b>>2]|0;if(d){b=sl(d)|0;if(!b)e=0;else{sl(b)|0;e=0}}else e=1}else e=-1;return e|0}function yu(a){a=a|0;return 0}function zu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=e;h=a+8|0;a:do if((d|0)==(e|0)|(f|0)==0)i=0;else{a=d;j=0;k=0;while(1){l=sl(c[h>>2]|0)|0;m=Dl(a,g-a|0,b)|0;if(l)sl(l)|0;switch(m|0){case -2:case -1:{i=j;break a;break}case 0:{n=a+1|0;o=1;break}default:{n=a+m|0;o=m}}m=o+j|0;k=k+1|0;if((n|0)==(e|0)|k>>>0>=f>>>0){i=m;break a}else{a=n;j=m}}}while(0);return i|0}function Au(a){a=a|0;var b=0,d=0;b=c[a+8>>2]|0;if(b){a=sl(b)|0;if(!a)d=4;else{sl(a)|0;d=4}}else d=1;return d|0}function Bu(a){a=a|0;gk(a);return}function Cu(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;b=i;i=i+16|0;a=b+4|0;k=b;c[a>>2]=d;c[k>>2]=g;l=Gw(d,e,a,g,h,k,1114111,0)|0;c[f>>2]=c[a>>2];c[j>>2]=c[k>>2];i=b;return l|0}function Du(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;b=i;i=i+16|0;a=b+4|0;k=b;c[a>>2]=d;c[k>>2]=g;l=Hw(d,e,a,g,h,k,1114111,0)|0;c[f>>2]=c[a>>2];c[j>>2]=c[k>>2];i=b;return l|0}function Eu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Fu(a){a=a|0;return 0}function Gu(a){a=a|0;return 0}function Hu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Iw(c,d,e,1114111,0)|0}function Iu(a){a=a|0;return 4}function Ju(a){a=a|0;gk(a);return}function Ku(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;b=i;i=i+16|0;a=b+4|0;k=b;c[a>>2]=d;c[k>>2]=g;l=Jw(d,e,a,g,h,k,1114111,0)|0;c[f>>2]=c[a>>2];c[j>>2]=c[k>>2];i=b;return l|0}function Lu(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;b=i;i=i+16|0;a=b+4|0;k=b;c[a>>2]=d;c[k>>2]=g;l=Kw(d,e,a,g,h,k,1114111,0)|0;c[f>>2]=c[a>>2];c[j>>2]=c[k>>2];i=b;return l|0}function Mu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Nu(a){a=a|0;return 0}function Ou(a){a=a|0;return 0}function Pu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Lw(c,d,e,1114111,0)|0}function Qu(a){a=a|0;return 4}function Ru(a){a=a|0;gk(a);return}function Su(a){a=a|0;gk(a);return}function Tu(b,d){b=b|0;d=d|0;c[b+4>>2]=d+-1;c[b>>2]=12540;a[b+8>>0]=46;a[b+9>>0]=44;d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;return}function Uu(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=12580;c[a+8>>2]=46;c[a+12>>2]=44;b=a+16|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function Vu(a){a=a|0;c[a>>2]=12540;In(a+12|0);return}function Wu(a){a=a|0;Vu(a);gk(a);return}function Xu(a){a=a|0;c[a>>2]=12580;In(a+16|0);return}function Yu(a){a=a|0;Xu(a);gk(a);return}function Zu(b){b=b|0;return a[b+8>>0]|0}function _u(a){a=a|0;return c[a+8>>2]|0}function $u(b){b=b|0;return a[b+9>>0]|0}function av(a){a=a|0;return c[a+12>>2]|0}function bv(a,b){a=a|0;b=b|0;En(a,b+12|0);return}function cv(a,b){a=a|0;b=b|0;En(a,b+16|0);return}function dv(a,b){a=a|0;b=b|0;Fn(a,32555,4);return}function ev(a,b){a=a|0;b=b|0;Zn(a,13152,vm(13152)|0);return}function fv(a,b){a=a|0;b=b|0;Fn(a,32560,5);return}function gv(a,b){a=a|0;b=b|0;Zn(a,13172,vm(13172)|0);return}function hv(a){a=a|0;var b=0;switch(c[a+4>>2]&74|0){case 64:{b=8;break}case 8:{b=16;break}case 0:{b=0;break}default:b=10}return b|0}function iv(b){b=b|0;if((a[2520]|0)==0?(Fa(2520)|0)!=0:0){if((a[2528]|0)==0?(Fa(2528)|0)!=0:0){b=13196;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=13364);ib(195,0,n|0)|0;Ma(2528)}Kn(13196,32566)|0;Kn(13208,32573)|0;Kn(13220,32580)|0;Kn(13232,32588)|0;Kn(13244,32598)|0;Kn(13256,32607)|0;Kn(13268,32614)|0;Kn(13280,32623)|0;Kn(13292,32627)|0;Kn(13304,32631)|0;Kn(13316,32635)|0;Kn(13328,32639)|0;Kn(13340,32643)|0;Kn(13352,32647)|0;c[3341]=13196;Ma(2520)}return c[3341]|0}function jv(b){b=b|0;if((a[2536]|0)==0?(Fa(2536)|0)!=0:0){if((a[2544]|0)==0?(Fa(2544)|0)!=0:0){b=13368;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=13536);ib(196,0,n|0)|0;Ma(2544)}ao(13368,13536)|0;ao(13380,13564)|0;ao(13392,13592)|0;ao(13404,13624)|0;ao(13416,13664)|0;ao(13428,13700)|0;ao(13440,13728)|0;ao(13452,13764)|0;ao(13464,13780)|0;ao(13476,13796)|0;ao(13488,13812)|0;ao(13500,13828)|0;ao(13512,13844)|0;ao(13524,13860)|0;c[3469]=13368;Ma(2536)}return c[3469]|0}function kv(b){b=b|0;if((a[2552]|0)==0?(Fa(2552)|0)!=0:0){if((a[2560]|0)==0?(Fa(2560)|0)!=0:0){b=13880;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=14168);ib(197,0,n|0)|0;Ma(2560)}Kn(13880,32651)|0;Kn(13892,32659)|0;Kn(13904,32668)|0;Kn(13916,32674)|0;Kn(13928,32680)|0;Kn(13940,32684)|0;Kn(13952,32689)|0;Kn(13964,32694)|0;Kn(13976,32701)|0;Kn(13988,32711)|0;Kn(14e3,32719)|0;Kn(14012,32728)|0;Kn(14024,32737)|0;Kn(14036,32741)|0;Kn(14048,32745)|0;Kn(14060,32749)|0;Kn(14072,32680)|0;Kn(14084,32753)|0;Kn(14096,32757)|0;Kn(14108,32761)|0;Kn(14120,32765)|0;Kn(14132,32769)|0;Kn(14144,32773)|0;Kn(14156,32777)|0;c[3542]=13880;Ma(2552)}return c[3542]|0}function lv(b){b=b|0;if((a[2568]|0)==0?(Fa(2568)|0)!=0:0){if((a[2576]|0)==0?(Fa(2576)|0)!=0:0){b=14172;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=14460);ib(198,0,n|0)|0;Ma(2576)}ao(14172,14460)|0;ao(14184,14492)|0;ao(14196,14528)|0;ao(14208,14552)|0;ao(14220,14576)|0;ao(14232,14592)|0;ao(14244,14612)|0;ao(14256,14632)|0;ao(14268,14660)|0;ao(14280,14700)|0;ao(14292,14732)|0;ao(14304,14768)|0;ao(14316,14804)|0;ao(14328,14820)|0;ao(14340,14836)|0;ao(14352,14852)|0;ao(14364,14576)|0;ao(14376,14868)|0;ao(14388,14884)|0;ao(14400,14900)|0;ao(14412,14916)|0;ao(14424,14932)|0;ao(14436,14948)|0;ao(14448,14964)|0;c[3745]=14172;Ma(2568)}return c[3745]|0}function mv(b){b=b|0;if((a[2584]|0)==0?(Fa(2584)|0)!=0:0){if((a[2592]|0)==0?(Fa(2592)|0)!=0:0){b=14984;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=15272);ib(199,0,n|0)|0;Ma(2592)}Kn(14984,32781)|0;Kn(14996,32784)|0;c[3818]=14984;Ma(2584)}return c[3818]|0}function nv(b){b=b|0;if((a[2600]|0)==0?(Fa(2600)|0)!=0:0){if((a[2608]|0)==0?(Fa(2608)|0)!=0:0){b=15276;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=15564);ib(200,0,n|0)|0;Ma(2608)}ao(15276,15564)|0;ao(15288,15576)|0;c[3897]=15276;Ma(2600)}return c[3897]|0}function ov(b){b=b|0;if((a[2616]|0)==0?(Fa(2616)|0)!=0:0){Fn(15592,32787,8);ib(181,15592,n|0)|0;Ma(2616)}return 15592}function pv(b){b=b|0;if((a[2624]|0)==0?(Fa(2624)|0)!=0:0){Zn(15640,15604,vm(15604)|0);ib(201,15640,n|0)|0;Ma(2624)}return 15640}function qv(b){b=b|0;if((a[2632]|0)==0?(Fa(2632)|0)!=0:0){Fn(15652,32796,8);ib(181,15652,n|0)|0;Ma(2632)}return 15652}function rv(b){b=b|0;if((a[2640]|0)==0?(Fa(2640)|0)!=0:0){Zn(15700,15664,vm(15664)|0);ib(201,15700,n|0)|0;Ma(2640)}return 15700}function sv(b){b=b|0;if((a[2648]|0)==0?(Fa(2648)|0)!=0:0){Fn(15712,32805,20);ib(181,15712,n|0)|0;Ma(2648)}return 15712}function tv(b){b=b|0;if((a[2656]|0)==0?(Fa(2656)|0)!=0:0){Zn(15808,15724,vm(15724)|0);ib(201,15808,n|0)|0;Ma(2656)}return 15808}function uv(b){b=b|0;if((a[2664]|0)==0?(Fa(2664)|0)!=0:0){Fn(15820,32826,11);ib(181,15820,n|0)|0;Ma(2664)}return 15820}function vv(b){b=b|0;if((a[2672]|0)==0?(Fa(2672)|0)!=0:0){Zn(15880,15832,vm(15832)|0);ib(201,15880,n|0)|0;Ma(2672)}return 15880}function wv(a){a=a|0;var b=0;c[a>>2]=12460;b=a+8|0;a=c[b>>2]|0;if((a|0)!=($p()|0))ol(c[b>>2]|0);return}function xv(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;l=i;i=i+112|0;m=l;n=(g-f|0)/12|0;if(n>>>0>100){o=Lm(n)|0;if(!o)Tk();else{p=o;q=o}}else{p=0;q=m}if((f|0)==(g|0)){r=0;s=n}else{m=f;o=0;t=n;n=q;while(1){u=a[m>>0]|0;if(!(u&1))v=(u&255)>>>1;else v=c[m+4>>2]|0;if(!v){a[n>>0]=2;w=o+1|0;x=t+-1|0}else{a[n>>0]=1;w=o;x=t}m=m+12|0;if((m|0)==(g|0)){r=w;s=x;break}else{o=w;t=x;n=n+1|0}}}n=(f|0)==(g|0);x=(f|0)==(g|0);t=0;w=r;r=s;a:while(1){s=c[b>>2]|0;do if(s)if((c[s+12>>2]|0)==(c[s+16>>2]|0))if((Hb[c[(c[s>>2]|0)+36>>2]&127](s)|0)==-1){c[b>>2]=0;y=0;break}else{y=c[b>>2]|0;break}else y=s;else y=0;while(0);s=(y|0)==0;o=c[e>>2]|0;if(o)if((c[o+12>>2]|0)==(c[o+16>>2]|0)?(Hb[c[(c[o>>2]|0)+36>>2]&127](o)|0)==-1:0){c[e>>2]=0;z=0}else z=o;else z=0;o=(z|0)==0;m=c[b>>2]|0;if(!((r|0)!=0&(s^o))){A=o;B=m;C=z;break}o=c[m+12>>2]|0;if((o|0)==(c[m+16>>2]|0))D=Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else D=d[o>>0]|0;o=D&255;if(k)E=o;else E=Pb[c[(c[h>>2]|0)+12>>2]&63](h,o)|0;o=t+1|0;if(n){F=0;G=w;H=r}else{m=0;s=f;v=w;u=r;I=q;while(1){do if((a[I>>0]|0)==1){if(!(a[s>>0]&1))J=s+1|0;else J=c[s+8>>2]|0;K=a[J+t>>0]|0;if(k)L=K;else L=Pb[c[(c[h>>2]|0)+12>>2]&63](h,K)|0;if(E<<24>>24!=L<<24>>24){a[I>>0]=0;M=m;N=v;O=u+-1|0;break}K=a[s>>0]|0;if(!(K&1))P=(K&255)>>>1;else P=c[s+4>>2]|0;if((P|0)==(o|0)){a[I>>0]=2;M=1;N=v+1|0;O=u+-1|0}else{M=1;N=v;O=u}}else{M=m;N=v;O=u}while(0);s=s+12|0;if((s|0)==(g|0)){F=M;G=N;H=O;break}else{m=M;v=N;u=O;I=I+1|0}}}if(!F){t=o;w=G;r=H;continue}I=c[b>>2]|0;u=I+12|0;v=c[u>>2]|0;if((v|0)==(c[I+16>>2]|0))Hb[c[(c[I>>2]|0)+40>>2]&127](I)|0;else c[u>>2]=v+1;if((G+H|0)>>>0<2|x){t=o;w=G;r=H;continue}else{Q=f;R=G;S=q}while(1){if((a[S>>0]|0)==2){v=a[Q>>0]|0;if(!(v&1))T=(v&255)>>>1;else T=c[Q+4>>2]|0;if((T|0)!=(o|0)){a[S>>0]=0;U=R+-1|0}else U=R}else U=R;v=Q+12|0;if((v|0)==(g|0)){t=o;w=U;r=H;continue a}else{Q=v;R=U;S=S+1|0}}}do if(B)if((c[B+12>>2]|0)==(c[B+16>>2]|0))if((Hb[c[(c[B>>2]|0)+36>>2]&127](B)|0)==-1){c[b>>2]=0;V=0;break}else{V=c[b>>2]|0;break}else V=B;else V=0;while(0);B=(V|0)==0;do if(!A){if((c[C+12>>2]|0)==(c[C+16>>2]|0)?(Hb[c[(c[C>>2]|0)+36>>2]&127](C)|0)==-1:0){c[e>>2]=0;W=65;break}if(!B)W=66}else W=65;while(0);if((W|0)==65?B:0)W=66;if((W|0)==66)c[j>>2]=c[j>>2]|2;b:do if((f|0)==(g|0))W=70;else{B=f;e=q;while(1){if((a[e>>0]|0)==2){X=B;break b}B=B+12|0;if((B|0)==(g|0)){W=70;break}else e=e+1|0}}while(0);if((W|0)==70){c[j>>2]=c[j>>2]|4;X=g}Mm(p);i=l;return X|0}function yv(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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;b=i;i=i+240|0;k=b+202|0;l=b+200|0;m=b+24|0;n=b+12|0;o=b+8|0;p=b+40|0;q=b+4|0;r=b;s=hv(g)|0;oq(m,g,k,l);c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;if(!(a[n>>0]&1))t=10;else t=(c[n>>2]&-2)+-1|0;Mn(n,t,0);t=n+8|0;g=n+1|0;u=(a[n>>0]&1)==0?g:c[t>>2]|0;c[o>>2]=u;c[q>>2]=p;c[r>>2]=0;v=n+4|0;w=a[l>>0]|0;l=c[e>>2]|0;x=u;a:while(1){if(l)if((c[l+12>>2]|0)==(c[l+16>>2]|0)?(Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0)==-1:0){c[e>>2]=0;y=0}else y=l;else y=0;u=(y|0)==0;z=c[f>>2]|0;do if(z){if((c[z+12>>2]|0)!=(c[z+16>>2]|0))if(u){A=z;break}else{B=y;C=z;D=x;break a}if((Hb[c[(c[z>>2]|0)+36>>2]&127](z)|0)!=-1)if(u){A=z;break}else{B=y;C=z;D=x;break a}else{c[f>>2]=0;E=13;break}}else E=13;while(0);if((E|0)==13){E=0;if(u){B=y;C=0;D=x;break}else A=0}z=a[n>>0]|0;F=(z&1)==0?(z&255)>>>1:c[v>>2]|0;if((c[o>>2]|0)==(x+F|0)){Mn(n,F<<1,0);if(!(a[n>>0]&1))G=10;else G=(c[n>>2]&-2)+-1|0;Mn(n,G,0);z=(a[n>>0]&1)==0?g:c[t>>2]|0;c[o>>2]=z+F;H=z}else H=x;z=y+12|0;F=c[z>>2]|0;I=y+16|0;if((F|0)==(c[I>>2]|0))J=Hb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else J=d[F>>0]|0;if(_p(J&255,s,H,o,r,w,m,p,q,k)|0){B=y;C=A;D=H;break}F=c[z>>2]|0;if((F|0)==(c[I>>2]|0)){Hb[c[(c[y>>2]|0)+40>>2]&127](y)|0;l=y;x=H;continue}else{c[z>>2]=F+1;l=y;x=H;continue}}H=a[m>>0]|0;x=c[q>>2]|0;if((((H&1)==0?(H&255)>>>1:c[m+4>>2]|0)|0)!=0?(x-p|0)<160:0){H=c[r>>2]|0;r=x+4|0;c[q>>2]=r;c[x>>2]=H;K=r}else K=x;c[j>>2]=ex(D,c[o>>2]|0,h,s)|0;Ys(m,p,K,h);if(B)if((c[B+12>>2]|0)==(c[B+16>>2]|0)?(Hb[c[(c[B>>2]|0)+36>>2]&127](B)|0)==-1:0){c[e>>2]=0;L=0}else L=B;else L=0;B=(L|0)==0;do if(C){if((c[C+12>>2]|0)==(c[C+16>>2]|0)?(Hb[c[(c[C>>2]|0)+36>>2]&127](C)|0)==-1:0){c[f>>2]=0;E=38;break}if(!B)E=39}else E=38;while(0);if((E|0)==38?B:0)E=39;if((E|0)==39)c[h>>2]=c[h>>2]|2;h=c[e>>2]|0;In(n);In(m);i=b;return h|0}function zv(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;b=i;i=i+240|0;k=b+202|0;l=b+200|0;m=b+24|0;n=b+12|0;o=b+8|0;p=b+40|0;q=b+4|0;r=b;s=hv(g)|0;oq(m,g,k,l);c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;if(!(a[n>>0]&1))t=10;else t=(c[n>>2]&-2)+-1|0;Mn(n,t,0);t=n+8|0;g=n+1|0;u=(a[n>>0]&1)==0?g:c[t>>2]|0;c[o>>2]=u;c[q>>2]=p;c[r>>2]=0;v=n+4|0;w=a[l>>0]|0;l=c[e>>2]|0;x=u;a:while(1){if(l)if((c[l+12>>2]|0)==(c[l+16>>2]|0)?(Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0)==-1:0){c[e>>2]=0;y=0}else y=l;else y=0;u=(y|0)==0;z=c[f>>2]|0;do if(z){if((c[z+12>>2]|0)!=(c[z+16>>2]|0))if(u){A=z;break}else{B=y;C=z;E=x;break a}if((Hb[c[(c[z>>2]|0)+36>>2]&127](z)|0)!=-1)if(u){A=z;break}else{B=y;C=z;E=x;break a}else{c[f>>2]=0;F=13;break}}else F=13;while(0);if((F|0)==13){F=0;if(u){B=y;C=0;E=x;break}else A=0}z=a[n>>0]|0;G=(z&1)==0?(z&255)>>>1:c[v>>2]|0;if((c[o>>2]|0)==(x+G|0)){Mn(n,G<<1,0);if(!(a[n>>0]&1))H=10;else H=(c[n>>2]&-2)+-1|0;Mn(n,H,0);z=(a[n>>0]&1)==0?g:c[t>>2]|0;c[o>>2]=z+G;I=z}else I=x;z=y+12|0;G=c[z>>2]|0;J=y+16|0;if((G|0)==(c[J>>2]|0))K=Hb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else K=d[G>>0]|0;if(_p(K&255,s,I,o,r,w,m,p,q,k)|0){B=y;C=A;E=I;break}G=c[z>>2]|0;if((G|0)==(c[J>>2]|0)){Hb[c[(c[y>>2]|0)+40>>2]&127](y)|0;l=y;x=I;continue}else{c[z>>2]=G+1;l=y;x=I;continue}}I=a[m>>0]|0;x=c[q>>2]|0;if((((I&1)==0?(I&255)>>>1:c[m+4>>2]|0)|0)!=0?(x-p|0)<160:0){I=c[r>>2]|0;r=x+4|0;c[q>>2]=r;c[x>>2]=I;L=r}else L=x;x=dx(E,c[o>>2]|0,h,s)|0;s=j;c[s>>2]=x;c[s+4>>2]=D;Ys(m,p,L,h);if(B)if((c[B+12>>2]|0)==(c[B+16>>2]|0)?(Hb[c[(c[B>>2]|0)+36>>2]&127](B)|0)==-1:0){c[e>>2]=0;M=0}else M=B;else M=0;B=(M|0)==0;do if(C){if((c[C+12>>2]|0)==(c[C+16>>2]|0)?(Hb[c[(c[C>>2]|0)+36>>2]&127](C)|0)==-1:0){c[f>>2]=0;F=38;break}if(!B)F=39}else F=38;while(0);if((F|0)==38?B:0)F=39;if((F|0)==39)c[h>>2]=c[h>>2]|2;h=c[e>>2]|0;In(n);In(m);i=b;return h|0}function Av(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,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;e=i;i=i+240|0;l=e+202|0;m=e+200|0;n=e+24|0;o=e+12|0;p=e+8|0;q=e+40|0;r=e+4|0;s=e;t=hv(h)|0;oq(n,h,l,m);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;if(!(a[o>>0]&1))u=10;else u=(c[o>>2]&-2)+-1|0;Mn(o,u,0);u=o+8|0;h=o+1|0;v=(a[o>>0]&1)==0?h:c[u>>2]|0;c[p>>2]=v;c[r>>2]=q;c[s>>2]=0;w=o+4|0;x=a[m>>0]|0;m=c[f>>2]|0;y=v;a:while(1){if(m)if((c[m+12>>2]|0)==(c[m+16>>2]|0)?(Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0)==-1:0){c[f>>2]=0;z=0}else z=m;else z=0;v=(z|0)==0;A=c[g>>2]|0;do if(A){if((c[A+12>>2]|0)!=(c[A+16>>2]|0))if(v){B=A;break}else{C=z;D=A;E=y;break a}if((Hb[c[(c[A>>2]|0)+36>>2]&127](A)|0)!=-1)if(v){B=A;break}else{C=z;D=A;E=y;break a}else{c[g>>2]=0;F=13;break}}else F=13;while(0);if((F|0)==13){F=0;if(v){C=z;D=0;E=y;break}else B=0}A=a[o>>0]|0;G=(A&1)==0?(A&255)>>>1:c[w>>2]|0;if((c[p>>2]|0)==(y+G|0)){Mn(o,G<<1,0);if(!(a[o>>0]&1))H=10;else H=(c[o>>2]&-2)+-1|0;Mn(o,H,0);A=(a[o>>0]&1)==0?h:c[u>>2]|0;c[p>>2]=A+G;I=A}else I=y;A=z+12|0;G=c[A>>2]|0;J=z+16|0;if((G|0)==(c[J>>2]|0))K=Hb[c[(c[z>>2]|0)+36>>2]&127](z)|0;else K=d[G>>0]|0;if(_p(K&255,t,I,p,s,x,n,q,r,l)|0){C=z;D=B;E=I;break}G=c[A>>2]|0;if((G|0)==(c[J>>2]|0)){Hb[c[(c[z>>2]|0)+40>>2]&127](z)|0;m=z;y=I;continue}else{c[A>>2]=G+1;m=z;y=I;continue}}I=a[n>>0]|0;y=c[r>>2]|0;if((((I&1)==0?(I&255)>>>1:c[n+4>>2]|0)|0)!=0?(y-q|0)<160:0){I=c[s>>2]|0;s=y+4|0;c[r>>2]=s;c[y>>2]=I;L=s}else L=y;b[k>>1]=cx(E,c[p>>2]|0,j,t)|0;Ys(n,q,L,j);if(C)if((c[C+12>>2]|0)==(c[C+16>>2]|0)?(Hb[c[(c[C>>2]|0)+36>>2]&127](C)|0)==-1:0){c[f>>2]=0;M=0}else M=C;else M=0;C=(M|0)==0;do if(D){if((c[D+12>>2]|0)==(c[D+16>>2]|0)?(Hb[c[(c[D>>2]|0)+36>>2]&127](D)|0)==-1:0){c[g>>2]=0;F=38;break}if(!C)F=39}else F=38;while(0);if((F|0)==38?C:0)F=39;if((F|0)==39)c[j>>2]=c[j>>2]|2;j=c[f>>2]|0;In(o);In(n);i=e;return j|0}function Bv(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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;b=i;i=i+240|0;k=b+202|0;l=b+200|0;m=b+24|0;n=b+12|0;o=b+8|0;p=b+40|0;q=b+4|0;r=b;s=hv(g)|0;oq(m,g,k,l);c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;if(!(a[n>>0]&1))t=10;else t=(c[n>>2]&-2)+-1|0;Mn(n,t,0);t=n+8|0;g=n+1|0;u=(a[n>>0]&1)==0?g:c[t>>2]|0;c[o>>2]=u;c[q>>2]=p;c[r>>2]=0;v=n+4|0;w=a[l>>0]|0;l=c[e>>2]|0;x=u;a:while(1){if(l)if((c[l+12>>2]|0)==(c[l+16>>2]|0)?(Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0)==-1:0){c[e>>2]=0;y=0}else y=l;else y=0;u=(y|0)==0;z=c[f>>2]|0;do if(z){if((c[z+12>>2]|0)!=(c[z+16>>2]|0))if(u){A=z;break}else{B=y;C=z;D=x;break a}if((Hb[c[(c[z>>2]|0)+36>>2]&127](z)|0)!=-1)if(u){A=z;break}else{B=y;C=z;D=x;break a}else{c[f>>2]=0;E=13;break}}else E=13;while(0);if((E|0)==13){E=0;if(u){B=y;C=0;D=x;break}else A=0}z=a[n>>0]|0;F=(z&1)==0?(z&255)>>>1:c[v>>2]|0;if((c[o>>2]|0)==(x+F|0)){Mn(n,F<<1,0);if(!(a[n>>0]&1))G=10;else G=(c[n>>2]&-2)+-1|0;Mn(n,G,0);z=(a[n>>0]&1)==0?g:c[t>>2]|0;c[o>>2]=z+F;H=z}else H=x;z=y+12|0;F=c[z>>2]|0;I=y+16|0;if((F|0)==(c[I>>2]|0))J=Hb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else J=d[F>>0]|0;if(_p(J&255,s,H,o,r,w,m,p,q,k)|0){B=y;C=A;D=H;break}F=c[z>>2]|0;if((F|0)==(c[I>>2]|0)){Hb[c[(c[y>>2]|0)+40>>2]&127](y)|0;l=y;x=H;continue}else{c[z>>2]=F+1;l=y;x=H;continue}}H=a[m>>0]|0;x=c[q>>2]|0;if((((H&1)==0?(H&255)>>>1:c[m+4>>2]|0)|0)!=0?(x-p|0)<160:0){H=c[r>>2]|0;r=x+4|0;c[q>>2]=r;c[x>>2]=H;K=r}else K=x;c[j>>2]=bx(D,c[o>>2]|0,h,s)|0;Ys(m,p,K,h);if(B)if((c[B+12>>2]|0)==(c[B+16>>2]|0)?(Hb[c[(c[B>>2]|0)+36>>2]&127](B)|0)==-1:0){c[e>>2]=0;L=0}else L=B;else L=0;B=(L|0)==0;do if(C){if((c[C+12>>2]|0)==(c[C+16>>2]|0)?(Hb[c[(c[C>>2]|0)+36>>2]&127](C)|0)==-1:0){c[f>>2]=0;E=38;break}if(!B)E=39}else E=38;while(0);if((E|0)==38?B:0)E=39;if((E|0)==39)c[h>>2]=c[h>>2]|2;h=c[e>>2]|0;In(n);In(m);i=b;return h|0}function Cv(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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;b=i;i=i+240|0;k=b+202|0;l=b+200|0;m=b+24|0;n=b+12|0;o=b+8|0;p=b+40|0;q=b+4|0;r=b;s=hv(g)|0;oq(m,g,k,l);c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;if(!(a[n>>0]&1))t=10;else t=(c[n>>2]&-2)+-1|0;Mn(n,t,0);t=n+8|0;g=n+1|0;u=(a[n>>0]&1)==0?g:c[t>>2]|0;c[o>>2]=u;c[q>>2]=p;c[r>>2]=0;v=n+4|0;w=a[l>>0]|0;l=c[e>>2]|0;x=u;a:while(1){if(l)if((c[l+12>>2]|0)==(c[l+16>>2]|0)?(Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0)==-1:0){c[e>>2]=0;y=0}else y=l;else y=0;u=(y|0)==0;z=c[f>>2]|0;do if(z){if((c[z+12>>2]|0)!=(c[z+16>>2]|0))if(u){A=z;break}else{B=y;C=z;D=x;break a}if((Hb[c[(c[z>>2]|0)+36>>2]&127](z)|0)!=-1)if(u){A=z;break}else{B=y;C=z;D=x;break a}else{c[f>>2]=0;E=13;break}}else E=13;while(0);if((E|0)==13){E=0;if(u){B=y;C=0;D=x;break}else A=0}z=a[n>>0]|0;F=(z&1)==0?(z&255)>>>1:c[v>>2]|0;if((c[o>>2]|0)==(x+F|0)){Mn(n,F<<1,0);if(!(a[n>>0]&1))G=10;else G=(c[n>>2]&-2)+-1|0;Mn(n,G,0);z=(a[n>>0]&1)==0?g:c[t>>2]|0;c[o>>2]=z+F;H=z}else H=x;z=y+12|0;F=c[z>>2]|0;I=y+16|0;if((F|0)==(c[I>>2]|0))J=Hb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else J=d[F>>0]|0;if(_p(J&255,s,H,o,r,w,m,p,q,k)|0){B=y;C=A;D=H;break}F=c[z>>2]|0;if((F|0)==(c[I>>2]|0)){Hb[c[(c[y>>2]|0)+40>>2]&127](y)|0;l=y;x=H;continue}else{c[z>>2]=F+1;l=y;x=H;continue}}H=a[m>>0]|0;x=c[q>>2]|0;if((((H&1)==0?(H&255)>>>1:c[m+4>>2]|0)|0)!=0?(x-p|0)<160:0){H=c[r>>2]|0;r=x+4|0;c[q>>2]=r;c[x>>2]=H;K=r}else K=x;c[j>>2]=ax(D,c[o>>2]|0,h,s)|0;Ys(m,p,K,h);if(B)if((c[B+12>>2]|0)==(c[B+16>>2]|0)?(Hb[c[(c[B>>2]|0)+36>>2]&127](B)|0)==-1:0){c[e>>2]=0;L=0}else L=B;else L=0;B=(L|0)==0;do if(C){if((c[C+12>>2]|0)==(c[C+16>>2]|0)?(Hb[c[(c[C>>2]|0)+36>>2]&127](C)|0)==-1:0){c[f>>2]=0;E=38;break}if(!B)E=39}else E=38;while(0);if((E|0)==38?B:0)E=39;if((E|0)==39)c[h>>2]=c[h>>2]|2;h=c[e>>2]|0;In(n);In(m);i=b;return h|0}function Dv(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,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,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;b=i;i=i+240|0;k=b+202|0;l=b+200|0;m=b+24|0;n=b+12|0;o=b+8|0;p=b+40|0;q=b+4|0;r=b;s=hv(g)|0;oq(m,g,k,l);c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;if(!(a[n>>0]&1))t=10;else t=(c[n>>2]&-2)+-1|0;Mn(n,t,0);t=n+8|0;g=n+1|0;u=(a[n>>0]&1)==0?g:c[t>>2]|0;c[o>>2]=u;c[q>>2]=p;c[r>>2]=0;v=n+4|0;w=a[l>>0]|0;l=c[e>>2]|0;x=u;a:while(1){if(l)if((c[l+12>>2]|0)==(c[l+16>>2]|0)?(Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0)==-1:0){c[e>>2]=0;y=0}else y=l;else y=0;u=(y|0)==0;z=c[f>>2]|0;do if(z){if((c[z+12>>2]|0)!=(c[z+16>>2]|0))if(u){A=z;break}else{B=y;C=z;E=x;break a}if((Hb[c[(c[z>>2]|0)+36>>2]&127](z)|0)!=-1)if(u){A=z;break}else{B=y;C=z;E=x;break a}else{c[f>>2]=0;F=13;break}}else F=13;while(0);if((F|0)==13){F=0;if(u){B=y;C=0;E=x;break}else A=0}z=a[n>>0]|0;G=(z&1)==0?(z&255)>>>1:c[v>>2]|0;if((c[o>>2]|0)==(x+G|0)){Mn(n,G<<1,0);if(!(a[n>>0]&1))H=10;else H=(c[n>>2]&-2)+-1|0;Mn(n,H,0);z=(a[n>>0]&1)==0?g:c[t>>2]|0;c[o>>2]=z+G;I=z}else I=x;z=y+12|0;G=c[z>>2]|0;J=y+16|0;if((G|0)==(c[J>>2]|0))K=Hb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else K=d[G>>0]|0;if(_p(K&255,s,I,o,r,w,m,p,q,k)|0){B=y;C=A;E=I;break}G=c[z>>2]|0;if((G|0)==(c[J>>2]|0)){Hb[c[(c[y>>2]|0)+40>>2]&127](y)|0;l=y;x=I;continue}else{c[z>>2]=G+1;l=y;x=I;continue}}I=a[m>>0]|0;x=c[q>>2]|0;if((((I&1)==0?(I&255)>>>1:c[m+4>>2]|0)|0)!=0?(x-p|0)<160:0){I=c[r>>2]|0;r=x+4|0;c[q>>2]=r;c[x>>2]=I;L=r}else L=x;x=$w(E,c[o>>2]|0,h,s)|0;s=j;c[s>>2]=x;c[s+4>>2]=D;Ys(m,p,L,h);if(B)if((c[B+12>>2]|0)==(c[B+16>>2]|0)?(Hb[c[(c[B>>2]|0)+36>>2]&127](B)|0)==-1:0){c[e>>2]=0;M=0}else M=B;else M=0;B=(M|0)==0;do if(C){if((c[C+12>>2]|0)==(c[C+16>>2]|0)?(Hb[c[(c[C>>2]|0)+36>>2]&127](C)|0)==-1:0){c[f>>2]=0;F=38;break}if(!B)F=39}else F=38;while(0);if((F|0)==38?B:0)F=39;if((F|0)==39)c[h>>2]=c[h>>2]|2;h=c[e>>2]|0;In(n);In(m);i=b;return h|0}function Ev(b,e,f,h,j,k){b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;b=i;i=i+240|0;l=b+208|0;m=b+203|0;n=b+202|0;o=b+24|0;p=b+12|0;q=b+8|0;r=b+40|0;s=b+4|0;t=b;u=b+201|0;v=b+200|0;pq(o,h,l,m,n);c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;if(!(a[p>>0]&1))w=10;else w=(c[p>>2]&-2)+-1|0;Mn(p,w,0);w=p+8|0;h=p+1|0;x=(a[p>>0]&1)==0?h:c[w>>2]|0;c[q>>2]=x;c[s>>2]=r;c[t>>2]=0;a[u>>0]=1;a[v>>0]=69;y=p+4|0;z=a[m>>0]|0;m=a[n>>0]|0;n=c[e>>2]|0;A=x;a:while(1){if(n)if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Hb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[e>>2]=0;B=0}else B=n;else B=0;x=(B|0)==0;C=c[f>>2]|0;do if(C){if((c[C+12>>2]|0)!=(c[C+16>>2]|0))if(x){D=C;break}else{E=B;F=C;G=A;break a}if((Hb[c[(c[C>>2]|0)+36>>2]&127](C)|0)!=-1)if(x){D=C;break}else{E=B;F=C;G=A;break a}else{c[f>>2]=0;H=13;break}}else H=13;while(0);if((H|0)==13){H=0;if(x){E=B;F=0;G=A;break}else D=0}C=a[p>>0]|0;I=(C&1)==0?(C&255)>>>1:c[y>>2]|0;if((c[q>>2]|0)==(A+I|0)){Mn(p,I<<1,0);if(!(a[p>>0]&1))J=10;else J=(c[p>>2]&-2)+-1|0;Mn(p,J,0);C=(a[p>>0]&1)==0?h:c[w>>2]|0;c[q>>2]=C+I;K=C}else K=A;C=B+12|0;I=c[C>>2]|0;L=B+16|0;if((I|0)==(c[L>>2]|0))M=Hb[c[(c[B>>2]|0)+36>>2]&127](B)|0;else M=d[I>>0]|0;if(qq(M&255,u,v,K,q,z,m,o,r,s,t,l)|0){E=B;F=D;G=K;break}I=c[C>>2]|0;if((I|0)==(c[L>>2]|0)){Hb[c[(c[B>>2]|0)+40>>2]&127](B)|0;n=B;A=K;continue}else{c[C>>2]=I+1;n=B;A=K;continue}}K=a[o>>0]|0;A=c[s>>2]|0;if(!((a[u>>0]|0)==0?1:(((K&1)==0?(K&255)>>>1:c[o+4>>2]|0)|0)==0)?(A-r|0)<160:0){K=c[t>>2]|0;t=A+4|0;c[s>>2]=t;c[A>>2]=K;N=t}else N=A;g[k>>2]=+_w(G,c[q>>2]|0,j);Ys(o,r,N,j);if(E)if((c[E+12>>2]|0)==(c[E+16>>2]|0)?(Hb[c[(c[E>>2]|0)+36>>2]&127](E)|0)==-1:0){c[e>>2]=0;O=0}else O=E;else O=0;E=(O|0)==0;do if(F){if((c[F+12>>2]|0)==(c[F+16>>2]|0)?(Hb[c[(c[F>>2]|0)+36>>2]&127](F)|0)==-1:0){c[f>>2]=0;H=38;break}if(!E)H=39}else H=38;while(0);if((H|0)==38?E:0)H=39;if((H|0)==39)c[j>>2]=c[j>>2]|2;j=c[e>>2]|0;In(p);In(o);i=b;return j|0}function Fv(b,e,f,g,j,k){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;b=i;i=i+240|0;l=b+208|0;m=b+203|0;n=b+202|0;o=b+24|0;p=b+12|0;q=b+8|0;r=b+40|0;s=b+4|0;t=b;u=b+201|0;v=b+200|0;pq(o,g,l,m,n);c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;if(!(a[p>>0]&1))w=10;else w=(c[p>>2]&-2)+-1|0;Mn(p,w,0);w=p+8|0;g=p+1|0;x=(a[p>>0]&1)==0?g:c[w>>2]|0;c[q>>2]=x;c[s>>2]=r;c[t>>2]=0;a[u>>0]=1;a[v>>0]=69;y=p+4|0;z=a[m>>0]|0;m=a[n>>0]|0;n=c[e>>2]|0;A=x;a:while(1){if(n)if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Hb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[e>>2]=0;B=0}else B=n;else B=0;x=(B|0)==0;C=c[f>>2]|0;do if(C){if((c[C+12>>2]|0)!=(c[C+16>>2]|0))if(x){D=C;break}else{E=B;F=C;G=A;break a}if((Hb[c[(c[C>>2]|0)+36>>2]&127](C)|0)!=-1)if(x){D=C;break}else{E=B;F=C;G=A;break a}else{c[f>>2]=0;H=13;break}}else H=13;while(0);if((H|0)==13){H=0;if(x){E=B;F=0;G=A;break}else D=0}C=a[p>>0]|0;I=(C&1)==0?(C&255)>>>1:c[y>>2]|0;if((c[q>>2]|0)==(A+I|0)){Mn(p,I<<1,0);if(!(a[p>>0]&1))J=10;else J=(c[p>>2]&-2)+-1|0;Mn(p,J,0);C=(a[p>>0]&1)==0?g:c[w>>2]|0;c[q>>2]=C+I;K=C}else K=A;C=B+12|0;I=c[C>>2]|0;L=B+16|0;if((I|0)==(c[L>>2]|0))M=Hb[c[(c[B>>2]|0)+36>>2]&127](B)|0;else M=d[I>>0]|0;if(qq(M&255,u,v,K,q,z,m,o,r,s,t,l)|0){E=B;F=D;G=K;break}I=c[C>>2]|0;if((I|0)==(c[L>>2]|0)){Hb[c[(c[B>>2]|0)+40>>2]&127](B)|0;n=B;A=K;continue}else{c[C>>2]=I+1;n=B;A=K;continue}}K=a[o>>0]|0;A=c[s>>2]|0;if(!((a[u>>0]|0)==0?1:(((K&1)==0?(K&255)>>>1:c[o+4>>2]|0)|0)==0)?(A-r|0)<160:0){K=c[t>>2]|0;t=A+4|0;c[s>>2]=t;c[A>>2]=K;N=t}else N=A;h[k>>3]=+Zw(G,c[q>>2]|0,j);Ys(o,r,N,j);if(E)if((c[E+12>>2]|0)==(c[E+16>>2]|0)?(Hb[c[(c[E>>2]|0)+36>>2]&127](E)|0)==-1:0){c[e>>2]=0;O=0}else O=E;else O=0;E=(O|0)==0;do if(F){if((c[F+12>>2]|0)==(c[F+16>>2]|0)?(Hb[c[(c[F>>2]|0)+36>>2]&127](F)|0)==-1:0){c[f>>2]=0;H=38;break}if(!E)H=39}else H=38;while(0);if((H|0)==38?E:0)H=39;if((H|0)==39)c[j>>2]=c[j>>2]|2;j=c[e>>2]|0;In(p);In(o);i=b;return j|0}function Gv(b,e,f,g,j,k){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;b=i;i=i+240|0;l=b+208|0;m=b+203|0;n=b+202|0;o=b+24|0;p=b+12|0;q=b+8|0;r=b+40|0;s=b+4|0;t=b;u=b+201|0;v=b+200|0;pq(o,g,l,m,n);c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;if(!(a[p>>0]&1))w=10;else w=(c[p>>2]&-2)+-1|0;Mn(p,w,0);w=p+8|0;g=p+1|0;x=(a[p>>0]&1)==0?g:c[w>>2]|0;c[q>>2]=x;c[s>>2]=r;c[t>>2]=0;a[u>>0]=1;a[v>>0]=69;y=p+4|0;z=a[m>>0]|0;m=a[n>>0]|0;n=c[e>>2]|0;A=x;a:while(1){if(n)if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Hb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[e>>2]=0;B=0}else B=n;else B=0;x=(B|0)==0;C=c[f>>2]|0;do if(C){if((c[C+12>>2]|0)!=(c[C+16>>2]|0))if(x){D=C;break}else{E=B;F=C;G=A;break a}if((Hb[c[(c[C>>2]|0)+36>>2]&127](C)|0)!=-1)if(x){D=C;break}else{E=B;F=C;G=A;break a}else{c[f>>2]=0;H=13;break}}else H=13;while(0);if((H|0)==13){H=0;if(x){E=B;F=0;G=A;break}else D=0}C=a[p>>0]|0;I=(C&1)==0?(C&255)>>>1:c[y>>2]|0;if((c[q>>2]|0)==(A+I|0)){Mn(p,I<<1,0);if(!(a[p>>0]&1))J=10;else J=(c[p>>2]&-2)+-1|0;Mn(p,J,0);C=(a[p>>0]&1)==0?g:c[w>>2]|0;c[q>>2]=C+I;K=C}else K=A;C=B+12|0;I=c[C>>2]|0;L=B+16|0;if((I|0)==(c[L>>2]|0))M=Hb[c[(c[B>>2]|0)+36>>2]&127](B)|0;else M=d[I>>0]|0;if(qq(M&255,u,v,K,q,z,m,o,r,s,t,l)|0){E=B;F=D;G=K;break}I=c[C>>2]|0;if((I|0)==(c[L>>2]|0)){Hb[c[(c[B>>2]|0)+40>>2]&127](B)|0;n=B;A=K;continue}else{c[C>>2]=I+1;n=B;A=K;continue}}K=a[o>>0]|0;A=c[s>>2]|0;if(!((a[u>>0]|0)==0?1:(((K&1)==0?(K&255)>>>1:c[o+4>>2]|0)|0)==0)?(A-r|0)<160:0){K=c[t>>2]|0;t=A+4|0;c[s>>2]=t;c[A>>2]=K;N=t}else N=A;h[k>>3]=+Yw(G,c[q>>2]|0,j);Ys(o,r,N,j);if(E)if((c[E+12>>2]|0)==(c[E+16>>2]|0)?(Hb[c[(c[E>>2]|0)+36>>2]&127](E)|0)==-1:0){c[e>>2]=0;O=0}else O=E;else O=0;E=(O|0)==0;do if(F){if((c[F+12>>2]|0)==(c[F+16>>2]|0)?(Hb[c[(c[F>>2]|0)+36>>2]&127](F)|0)==-1:0){c[f>>2]=0;H=38;break}if(!E)H=39}else H=38;while(0);if((H|0)==38?E:0)H=39;if((H|0)==39)c[j>>2]=c[j>>2]|2;j=c[e>>2]|0;In(p);In(o);i=b;return j|0}function Hv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=sl(b)|0;b=jm(a,d,g)|0;if(e)sl(e)|0;i=f;return b|0}function Iv(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;k=i;i=i+112|0;l=k;m=(f-e|0)/12|0;if(m>>>0>100){n=Lm(m)|0;if(!n)Tk();else{o=n;p=n}}else{o=0;p=l}if((e|0)==(f|0)){q=0;r=m}else{l=e;n=0;s=m;m=p;while(1){t=a[l>>0]|0;if(!(t&1))u=(t&255)>>>1;else u=c[l+4>>2]|0;if(!u){a[m>>0]=2;v=n+1|0;w=s+-1|0}else{a[m>>0]=1;v=n;w=s}l=l+12|0;if((l|0)==(f|0)){q=v;r=w;break}else{n=v;s=w;m=m+1|0}}}m=(e|0)==(f|0);w=(e|0)==(f|0);s=0;v=q;q=r;a:while(1){r=c[b>>2]|0;do if(r){n=c[r+12>>2]|0;if((n|0)==(c[r+16>>2]|0))x=Hb[c[(c[r>>2]|0)+36>>2]&127](r)|0;else x=c[n>>2]|0;if((x|0)==-1){c[b>>2]=0;y=1;break}else{y=(c[b>>2]|0)==0;break}}else y=1;while(0);r=c[d>>2]|0;if(r){n=c[r+12>>2]|0;if((n|0)==(c[r+16>>2]|0))z=Hb[c[(c[r>>2]|0)+36>>2]&127](r)|0;else z=c[n>>2]|0;if((z|0)==-1){c[d>>2]=0;A=0;B=1}else{A=r;B=0}}else{A=0;B=1}r=c[b>>2]|0;if(!((q|0)!=0&(y^B))){C=r;D=A;break}n=c[r+12>>2]|0;if((n|0)==(c[r+16>>2]|0))E=Hb[c[(c[r>>2]|0)+36>>2]&127](r)|0;else E=c[n>>2]|0;if(j)F=E;else F=Pb[c[(c[g>>2]|0)+28>>2]&63](g,E)|0;n=s+1|0;if(m){G=0;H=v;I=q}else{r=0;l=e;u=v;t=q;J=p;while(1){do if((a[J>>0]|0)==1){if(!(a[l>>0]&1))K=l+4|0;else K=c[l+8>>2]|0;L=c[K+(s<<2)>>2]|0;if(j)M=L;else M=Pb[c[(c[g>>2]|0)+28>>2]&63](g,L)|0;if((F|0)!=(M|0)){a[J>>0]=0;N=r;O=u;P=t+-1|0;break}L=a[l>>0]|0;if(!(L&1))Q=(L&255)>>>1;else Q=c[l+4>>2]|0;if((Q|0)==(n|0)){a[J>>0]=2;N=1;O=u+1|0;P=t+-1|0}else{N=1;O=u;P=t}}else{N=r;O=u;P=t}while(0);l=l+12|0;if((l|0)==(f|0)){G=N;H=O;I=P;break}else{r=N;u=O;t=P;J=J+1|0}}}if(!G){s=n;v=H;q=I;continue}J=c[b>>2]|0;t=J+12|0;u=c[t>>2]|0;if((u|0)==(c[J+16>>2]|0))Hb[c[(c[J>>2]|0)+40>>2]&127](J)|0;else c[t>>2]=u+4;if((H+I|0)>>>0<2|w){s=n;v=H;q=I;continue}else{R=e;S=H;T=p}while(1){if((a[T>>0]|0)==2){u=a[R>>0]|0;if(!(u&1))U=(u&255)>>>1;else U=c[R+4>>2]|0;if((U|0)!=(n|0)){a[T>>0]=0;V=S+-1|0}else V=S}else V=S;u=R+12|0;if((u|0)==(f|0)){s=n;v=V;q=I;continue a}else{R=u;S=V;T=T+1|0}}}do if(C){T=c[C+12>>2]|0;if((T|0)==(c[C+16>>2]|0))W=Hb[c[(c[C>>2]|0)+36>>2]&127](C)|0;else W=c[T>>2]|0;if((W|0)==-1){c[b>>2]=0;X=1;break}else{X=(c[b>>2]|0)==0;break}}else X=1;while(0);do if(D){b=c[D+12>>2]|0;if((b|0)==(c[D+16>>2]|0))Y=Hb[c[(c[D>>2]|0)+36>>2]&127](D)|0;else Y=c[b>>2]|0;if((Y|0)!=-1)if(X)break;else{Z=74;break}else{c[d>>2]=0;Z=72;break}}else Z=72;while(0);if((Z|0)==72?X:0)Z=74;if((Z|0)==74)c[h>>2]=c[h>>2]|2;b:do if((e|0)==(f|0))Z=78;else{X=e;d=p;while(1){if((a[d>>0]|0)==2){_=X;break b}X=X+12|0;if((X|0)==(f|0)){Z=78;break}else d=d+1|0}}while(0);if((Z|0)==78){c[h>>2]=c[h>>2]|4;_=f}Mm(o);i=k;return _|0}function Jv(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;b=i;i=i+320|0;j=b+208|0;k=b+200|0;l=b+24|0;m=b+12|0;n=b+8|0;o=b+40|0;p=b+4|0;q=b;r=hv(f)|0;rq(l,f,j,k);c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;if(!(a[m>>0]&1))s=10;else s=(c[m>>2]&-2)+-1|0;Mn(m,s,0);s=m+8|0;f=m+1|0;t=(a[m>>0]&1)==0?f:c[s>>2]|0;c[n>>2]=t;c[p>>2]=o;c[q>>2]=0;u=m+4|0;v=c[k>>2]|0;k=c[d>>2]|0;w=t;a:while(1){if(k){t=c[k+12>>2]|0;if((t|0)==(c[k+16>>2]|0))x=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else x=c[t>>2]|0;if((x|0)==-1){c[d>>2]=0;y=0;z=1}else{y=k;z=0}}else{y=0;z=1}t=c[e>>2]|0;do if(t){A=c[t+12>>2]|0;if((A|0)==(c[t+16>>2]|0))B=Hb[c[(c[t>>2]|0)+36>>2]&127](t)|0;else B=c[A>>2]|0;if((B|0)!=-1)if(z){C=t;break}else{D=y;E=t;F=w;break a}else{c[e>>2]=0;G=16;break}}else G=16;while(0);if((G|0)==16){G=0;if(z){D=y;E=0;F=w;break}else C=0}t=a[m>>0]|0;A=(t&1)==0?(t&255)>>>1:c[u>>2]|0;if((c[n>>2]|0)==(w+A|0)){Mn(m,A<<1,0);if(!(a[m>>0]&1))H=10;else H=(c[m>>2]&-2)+-1|0;Mn(m,H,0);t=(a[m>>0]&1)==0?f:c[s>>2]|0;c[n>>2]=t+A;I=t}else I=w;t=y+12|0;A=c[t>>2]|0;J=y+16|0;if((A|0)==(c[J>>2]|0))K=Hb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else K=c[A>>2]|0;if(nq(K,r,I,n,q,v,l,o,p,j)|0){D=y;E=C;F=I;break}A=c[t>>2]|0;if((A|0)==(c[J>>2]|0)){Hb[c[(c[y>>2]|0)+40>>2]&127](y)|0;k=y;w=I;continue}else{c[t>>2]=A+4;k=y;w=I;continue}}I=a[l>>0]|0;w=c[p>>2]|0;if((((I&1)==0?(I&255)>>>1:c[l+4>>2]|0)|0)!=0?(w-o|0)<160:0){I=c[q>>2]|0;q=w+4|0;c[p>>2]=q;c[w>>2]=I;L=q}else L=w;c[h>>2]=ex(F,c[n>>2]|0,g,r)|0;Ys(l,o,L,g);if(D){L=c[D+12>>2]|0;if((L|0)==(c[D+16>>2]|0))M=Hb[c[(c[D>>2]|0)+36>>2]&127](D)|0;else M=c[L>>2]|0;if((M|0)==-1){c[d>>2]=0;N=1}else N=0}else N=1;do if(E){M=c[E+12>>2]|0;if((M|0)==(c[E+16>>2]|0))O=Hb[c[(c[E>>2]|0)+36>>2]&127](E)|0;else O=c[M>>2]|0;if((O|0)!=-1)if(N)break;else{G=46;break}else{c[e>>2]=0;G=44;break}}else G=44;while(0);if((G|0)==44?N:0)G=46;if((G|0)==46)c[g>>2]=c[g>>2]|2;g=c[d>>2]|0;In(m);In(l);i=b;return g|0}function Kv(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,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,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;b=i;i=i+320|0;j=b+208|0;k=b+200|0;l=b+24|0;m=b+12|0;n=b+8|0;o=b+40|0;p=b+4|0;q=b;r=hv(f)|0;rq(l,f,j,k);c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;if(!(a[m>>0]&1))s=10;else s=(c[m>>2]&-2)+-1|0;Mn(m,s,0);s=m+8|0;f=m+1|0;t=(a[m>>0]&1)==0?f:c[s>>2]|0;c[n>>2]=t;c[p>>2]=o;c[q>>2]=0;u=m+4|0;v=c[k>>2]|0;k=c[d>>2]|0;w=t;a:while(1){if(k){t=c[k+12>>2]|0;if((t|0)==(c[k+16>>2]|0))x=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else x=c[t>>2]|0;if((x|0)==-1){c[d>>2]=0;y=0;z=1}else{y=k;z=0}}else{y=0;z=1}t=c[e>>2]|0;do if(t){A=c[t+12>>2]|0;if((A|0)==(c[t+16>>2]|0))B=Hb[c[(c[t>>2]|0)+36>>2]&127](t)|0;else B=c[A>>2]|0;if((B|0)!=-1)if(z){C=t;break}else{E=y;F=t;G=w;break a}else{c[e>>2]=0;H=16;break}}else H=16;while(0);if((H|0)==16){H=0;if(z){E=y;F=0;G=w;break}else C=0}t=a[m>>0]|0;A=(t&1)==0?(t&255)>>>1:c[u>>2]|0;if((c[n>>2]|0)==(w+A|0)){Mn(m,A<<1,0);if(!(a[m>>0]&1))I=10;else I=(c[m>>2]&-2)+-1|0;Mn(m,I,0);t=(a[m>>0]&1)==0?f:c[s>>2]|0;c[n>>2]=t+A;J=t}else J=w;t=y+12|0;A=c[t>>2]|0;K=y+16|0;if((A|0)==(c[K>>2]|0))L=Hb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else L=c[A>>2]|0;if(nq(L,r,J,n,q,v,l,o,p,j)|0){E=y;F=C;G=J;break}A=c[t>>2]|0;if((A|0)==(c[K>>2]|0)){Hb[c[(c[y>>2]|0)+40>>2]&127](y)|0;k=y;w=J;continue}else{c[t>>2]=A+4;k=y;w=J;continue}}J=a[l>>0]|0;w=c[p>>2]|0;if((((J&1)==0?(J&255)>>>1:c[l+4>>2]|0)|0)!=0?(w-o|0)<160:0){J=c[q>>2]|0;q=w+4|0;c[p>>2]=q;c[w>>2]=J;M=q}else M=w;w=dx(G,c[n>>2]|0,g,r)|0;r=h;c[r>>2]=w;c[r+4>>2]=D;Ys(l,o,M,g);if(E){M=c[E+12>>2]|0;if((M|0)==(c[E+16>>2]|0))N=Hb[c[(c[E>>2]|0)+36>>2]&127](E)|0;else N=c[M>>2]|0;if((N|0)==-1){c[d>>2]=0;O=1}else O=0}else O=1;do if(F){N=c[F+12>>2]|0;if((N|0)==(c[F+16>>2]|0))P=Hb[c[(c[F>>2]|0)+36>>2]&127](F)|0;else P=c[N>>2]|0;if((P|0)!=-1)if(O)break;else{H=46;break}else{c[e>>2]=0;H=44;break}}else H=44;while(0);if((H|0)==44?O:0)H=46;if((H|0)==46)c[g>>2]=c[g>>2]|2;g=c[d>>2]|0;In(m);In(l);i=b;return g|0}function Lv(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;d=i;i=i+320|0;k=d+208|0;l=d+200|0;m=d+24|0;n=d+12|0;o=d+8|0;p=d+40|0;q=d+4|0;r=d;s=hv(g)|0;rq(m,g,k,l);c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;if(!(a[n>>0]&1))t=10;else t=(c[n>>2]&-2)+-1|0;Mn(n,t,0);t=n+8|0;g=n+1|0;u=(a[n>>0]&1)==0?g:c[t>>2]|0;c[o>>2]=u;c[q>>2]=p;c[r>>2]=0;v=n+4|0;w=c[l>>2]|0;l=c[e>>2]|0;x=u;a:while(1){if(l){u=c[l+12>>2]|0;if((u|0)==(c[l+16>>2]|0))y=Hb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else y=c[u>>2]|0;if((y|0)==-1){c[e>>2]=0;z=0;A=1}else{z=l;A=0}}else{z=0;A=1}u=c[f>>2]|0;do if(u){B=c[u+12>>2]|0;if((B|0)==(c[u+16>>2]|0))C=Hb[c[(c[u>>2]|0)+36>>2]&127](u)|0;else C=c[B>>2]|0;if((C|0)!=-1)if(A){D=u;break}else{E=z;F=u;G=x;break a}else{c[f>>2]=0;H=16;break}}else H=16;while(0);if((H|0)==16){H=0;if(A){E=z;F=0;G=x;break}else D=0}u=a[n>>0]|0;B=(u&1)==0?(u&255)>>>1:c[v>>2]|0;if((c[o>>2]|0)==(x+B|0)){Mn(n,B<<1,0);if(!(a[n>>0]&1))I=10;else I=(c[n>>2]&-2)+-1|0;Mn(n,I,0);u=(a[n>>0]&1)==0?g:c[t>>2]|0;c[o>>2]=u+B;J=u}else J=x;u=z+12|0;B=c[u>>2]|0;K=z+16|0;if((B|0)==(c[K>>2]|0))L=Hb[c[(c[z>>2]|0)+36>>2]&127](z)|0;else L=c[B>>2]|0;if(nq(L,s,J,o,r,w,m,p,q,k)|0){E=z;F=D;G=J;break}B=c[u>>2]|0;if((B|0)==(c[K>>2]|0)){Hb[c[(c[z>>2]|0)+40>>2]&127](z)|0;l=z;x=J;continue}else{c[u>>2]=B+4;l=z;x=J;continue}}J=a[m>>0]|0;x=c[q>>2]|0;if((((J&1)==0?(J&255)>>>1:c[m+4>>2]|0)|0)!=0?(x-p|0)<160:0){J=c[r>>2]|0;r=x+4|0;c[q>>2]=r;c[x>>2]=J;M=r}else M=x;b[j>>1]=cx(G,c[o>>2]|0,h,s)|0;Ys(m,p,M,h);if(E){M=c[E+12>>2]|0;if((M|0)==(c[E+16>>2]|0))N=Hb[c[(c[E>>2]|0)+36>>2]&127](E)|0;else N=c[M>>2]|0;if((N|0)==-1){c[e>>2]=0;O=1}else O=0}else O=1;do if(F){N=c[F+12>>2]|0;if((N|0)==(c[F+16>>2]|0))P=Hb[c[(c[F>>2]|0)+36>>2]&127](F)|0;else P=c[N>>2]|0;if((P|0)!=-1)if(O)break;else{H=46;break}else{c[f>>2]=0;H=44;break}}else H=44;while(0);if((H|0)==44?O:0)H=46;if((H|0)==46)c[h>>2]=c[h>>2]|2;h=c[e>>2]|0;In(n);In(m);i=d;return h|0}function Mv(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;b=i;i=i+320|0;j=b+208|0;k=b+200|0;l=b+24|0;m=b+12|0;n=b+8|0;o=b+40|0;p=b+4|0;q=b;r=hv(f)|0;rq(l,f,j,k);c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;if(!(a[m>>0]&1))s=10;else s=(c[m>>2]&-2)+-1|0;Mn(m,s,0);s=m+8|0;f=m+1|0;t=(a[m>>0]&1)==0?f:c[s>>2]|0;c[n>>2]=t;c[p>>2]=o;c[q>>2]=0;u=m+4|0;v=c[k>>2]|0;k=c[d>>2]|0;w=t;a:while(1){if(k){t=c[k+12>>2]|0;if((t|0)==(c[k+16>>2]|0))x=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else x=c[t>>2]|0;if((x|0)==-1){c[d>>2]=0;y=0;z=1}else{y=k;z=0}}else{y=0;z=1}t=c[e>>2]|0;do if(t){A=c[t+12>>2]|0;if((A|0)==(c[t+16>>2]|0))B=Hb[c[(c[t>>2]|0)+36>>2]&127](t)|0;else B=c[A>>2]|0;if((B|0)!=-1)if(z){C=t;break}else{D=y;E=t;F=w;break a}else{c[e>>2]=0;G=16;break}}else G=16;while(0);if((G|0)==16){G=0;if(z){D=y;E=0;F=w;break}else C=0}t=a[m>>0]|0;A=(t&1)==0?(t&255)>>>1:c[u>>2]|0;if((c[n>>2]|0)==(w+A|0)){Mn(m,A<<1,0);if(!(a[m>>0]&1))H=10;else H=(c[m>>2]&-2)+-1|0;Mn(m,H,0);t=(a[m>>0]&1)==0?f:c[s>>2]|0;c[n>>2]=t+A;I=t}else I=w;t=y+12|0;A=c[t>>2]|0;J=y+16|0;if((A|0)==(c[J>>2]|0))K=Hb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else K=c[A>>2]|0;if(nq(K,r,I,n,q,v,l,o,p,j)|0){D=y;E=C;F=I;break}A=c[t>>2]|0;if((A|0)==(c[J>>2]|0)){Hb[c[(c[y>>2]|0)+40>>2]&127](y)|0;k=y;w=I;continue}else{c[t>>2]=A+4;k=y;w=I;continue}}I=a[l>>0]|0;w=c[p>>2]|0;if((((I&1)==0?(I&255)>>>1:c[l+4>>2]|0)|0)!=0?(w-o|0)<160:0){I=c[q>>2]|0;q=w+4|0;c[p>>2]=q;c[w>>2]=I;L=q}else L=w;c[h>>2]=bx(F,c[n>>2]|0,g,r)|0;Ys(l,o,L,g);if(D){L=c[D+12>>2]|0;if((L|0)==(c[D+16>>2]|0))M=Hb[c[(c[D>>2]|0)+36>>2]&127](D)|0;else M=c[L>>2]|0;if((M|0)==-1){c[d>>2]=0;N=1}else N=0}else N=1;do if(E){M=c[E+12>>2]|0;if((M|0)==(c[E+16>>2]|0))O=Hb[c[(c[E>>2]|0)+36>>2]&127](E)|0;else O=c[M>>2]|0;if((O|0)!=-1)if(N)break;else{G=46;break}else{c[e>>2]=0;G=44;break}}else G=44;while(0);if((G|0)==44?N:0)G=46;if((G|0)==46)c[g>>2]=c[g>>2]|2;g=c[d>>2]|0;In(m);In(l);i=b;return g|0}function Nv(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;b=i;i=i+320|0;j=b+208|0;k=b+200|0;l=b+24|0;m=b+12|0;n=b+8|0;o=b+40|0;p=b+4|0;q=b;r=hv(f)|0;rq(l,f,j,k);c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;if(!(a[m>>0]&1))s=10;else s=(c[m>>2]&-2)+-1|0;Mn(m,s,0);s=m+8|0;f=m+1|0;t=(a[m>>0]&1)==0?f:c[s>>2]|0;c[n>>2]=t;c[p>>2]=o;c[q>>2]=0;u=m+4|0;v=c[k>>2]|0;k=c[d>>2]|0;w=t;a:while(1){if(k){t=c[k+12>>2]|0;if((t|0)==(c[k+16>>2]|0))x=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else x=c[t>>2]|0;if((x|0)==-1){c[d>>2]=0;y=0;z=1}else{y=k;z=0}}else{y=0;z=1}t=c[e>>2]|0;do if(t){A=c[t+12>>2]|0;if((A|0)==(c[t+16>>2]|0))B=Hb[c[(c[t>>2]|0)+36>>2]&127](t)|0;else B=c[A>>2]|0;if((B|0)!=-1)if(z){C=t;break}else{D=y;E=t;F=w;break a}else{c[e>>2]=0;G=16;break}}else G=16;while(0);if((G|0)==16){G=0;if(z){D=y;E=0;F=w;break}else C=0}t=a[m>>0]|0;A=(t&1)==0?(t&255)>>>1:c[u>>2]|0;if((c[n>>2]|0)==(w+A|0)){Mn(m,A<<1,0);if(!(a[m>>0]&1))H=10;else H=(c[m>>2]&-2)+-1|0;Mn(m,H,0);t=(a[m>>0]&1)==0?f:c[s>>2]|0;c[n>>2]=t+A;I=t}else I=w;t=y+12|0;A=c[t>>2]|0;J=y+16|0;if((A|0)==(c[J>>2]|0))K=Hb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else K=c[A>>2]|0;if(nq(K,r,I,n,q,v,l,o,p,j)|0){D=y;E=C;F=I;break}A=c[t>>2]|0;if((A|0)==(c[J>>2]|0)){Hb[c[(c[y>>2]|0)+40>>2]&127](y)|0;k=y;w=I;continue}else{c[t>>2]=A+4;k=y;w=I;continue}}I=a[l>>0]|0;w=c[p>>2]|0;if((((I&1)==0?(I&255)>>>1:c[l+4>>2]|0)|0)!=0?(w-o|0)<160:0){I=c[q>>2]|0;q=w+4|0;c[p>>2]=q;c[w>>2]=I;L=q}else L=w;c[h>>2]=ax(F,c[n>>2]|0,g,r)|0;Ys(l,o,L,g);if(D){L=c[D+12>>2]|0;if((L|0)==(c[D+16>>2]|0))M=Hb[c[(c[D>>2]|0)+36>>2]&127](D)|0;else M=c[L>>2]|0;if((M|0)==-1){c[d>>2]=0;N=1}else N=0}else N=1;do if(E){M=c[E+12>>2]|0;if((M|0)==(c[E+16>>2]|0))O=Hb[c[(c[E>>2]|0)+36>>2]&127](E)|0;else O=c[M>>2]|0;if((O|0)!=-1)if(N)break;else{G=46;break}else{c[e>>2]=0;G=44;break}}else G=44;while(0);if((G|0)==44?N:0)G=46;if((G|0)==46)c[g>>2]=c[g>>2]|2;g=c[d>>2]|0;In(m);In(l);i=b;return g|0}function Ov(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,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,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;b=i;i=i+320|0;j=b+208|0;k=b+200|0;l=b+24|0;m=b+12|0;n=b+8|0;o=b+40|0;p=b+4|0;q=b;r=hv(f)|0;rq(l,f,j,k);c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;if(!(a[m>>0]&1))s=10;else s=(c[m>>2]&-2)+-1|0;Mn(m,s,0);s=m+8|0;f=m+1|0;t=(a[m>>0]&1)==0?f:c[s>>2]|0;c[n>>2]=t;c[p>>2]=o;c[q>>2]=0;u=m+4|0;v=c[k>>2]|0;k=c[d>>2]|0;w=t;a:while(1){if(k){t=c[k+12>>2]|0;if((t|0)==(c[k+16>>2]|0))x=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else x=c[t>>2]|0;if((x|0)==-1){c[d>>2]=0;y=0;z=1}else{y=k;z=0}}else{y=0;z=1}t=c[e>>2]|0;do if(t){A=c[t+12>>2]|0;if((A|0)==(c[t+16>>2]|0))B=Hb[c[(c[t>>2]|0)+36>>2]&127](t)|0;else B=c[A>>2]|0;if((B|0)!=-1)if(z){C=t;break}else{E=y;F=t;G=w;break a}else{c[e>>2]=0;H=16;break}}else H=16;while(0);if((H|0)==16){H=0;if(z){E=y;F=0;G=w;break}else C=0}t=a[m>>0]|0;A=(t&1)==0?(t&255)>>>1:c[u>>2]|0;if((c[n>>2]|0)==(w+A|0)){Mn(m,A<<1,0);if(!(a[m>>0]&1))I=10;else I=(c[m>>2]&-2)+-1|0;Mn(m,I,0);t=(a[m>>0]&1)==0?f:c[s>>2]|0;c[n>>2]=t+A;J=t}else J=w;t=y+12|0;A=c[t>>2]|0;K=y+16|0;if((A|0)==(c[K>>2]|0))L=Hb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else L=c[A>>2]|0;if(nq(L,r,J,n,q,v,l,o,p,j)|0){E=y;F=C;G=J;break}A=c[t>>2]|0;if((A|0)==(c[K>>2]|0)){Hb[c[(c[y>>2]|0)+40>>2]&127](y)|0;k=y;w=J;continue}else{c[t>>2]=A+4;k=y;w=J;continue}}J=a[l>>0]|0;w=c[p>>2]|0;if((((J&1)==0?(J&255)>>>1:c[l+4>>2]|0)|0)!=0?(w-o|0)<160:0){J=c[q>>2]|0;q=w+4|0;c[p>>2]=q;c[w>>2]=J;M=q}else M=w;w=$w(G,c[n>>2]|0,g,r)|0;r=h;c[r>>2]=w;c[r+4>>2]=D;Ys(l,o,M,g);if(E){M=c[E+12>>2]|0;if((M|0)==(c[E+16>>2]|0))N=Hb[c[(c[E>>2]|0)+36>>2]&127](E)|0;else N=c[M>>2]|0;if((N|0)==-1){c[d>>2]=0;O=1}else O=0}else O=1;do if(F){N=c[F+12>>2]|0;if((N|0)==(c[F+16>>2]|0))P=Hb[c[(c[F>>2]|0)+36>>2]&127](F)|0;else P=c[N>>2]|0;if((P|0)!=-1)if(O)break;else{H=46;break}else{c[e>>2]=0;H=44;break}}else H=44;while(0);if((H|0)==44?O:0)H=46;if((H|0)==46)c[g>>2]=c[g>>2]|2;g=c[d>>2]|0;In(m);In(l);i=b;return g|0}function Pv(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;b=i;i=i+352|0;k=b+208|0;l=b+40|0;m=b+36|0;n=b+24|0;o=b+12|0;p=b+8|0;q=b+48|0;r=b+4|0;s=b;t=b+337|0;u=b+336|0;sq(n,f,k,l,m);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;if(!(a[o>>0]&1))v=10;else v=(c[o>>2]&-2)+-1|0;Mn(o,v,0);v=o+8|0;f=o+1|0;w=(a[o>>0]&1)==0?f:c[v>>2]|0;c[p>>2]=w;c[r>>2]=q;c[s>>2]=0;a[t>>0]=1;a[u>>0]=69;x=o+4|0;y=c[l>>2]|0;l=c[m>>2]|0;m=c[d>>2]|0;z=w;a:while(1){if(m){w=c[m+12>>2]|0;if((w|0)==(c[m+16>>2]|0))A=Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else A=c[w>>2]|0;if((A|0)==-1){c[d>>2]=0;B=0;C=1}else{B=m;C=0}}else{B=0;C=1}w=c[e>>2]|0;do if(w){D=c[w+12>>2]|0;if((D|0)==(c[w+16>>2]|0))E=Hb[c[(c[w>>2]|0)+36>>2]&127](w)|0;else E=c[D>>2]|0;if((E|0)!=-1)if(C){F=w;break}else{G=B;H=w;I=z;break a}else{c[e>>2]=0;J=16;break}}else J=16;while(0);if((J|0)==16){J=0;if(C){G=B;H=0;I=z;break}else F=0}w=a[o>>0]|0;D=(w&1)==0?(w&255)>>>1:c[x>>2]|0;if((c[p>>2]|0)==(z+D|0)){Mn(o,D<<1,0);if(!(a[o>>0]&1))K=10;else K=(c[o>>2]&-2)+-1|0;Mn(o,K,0);w=(a[o>>0]&1)==0?f:c[v>>2]|0;c[p>>2]=w+D;L=w}else L=z;w=B+12|0;D=c[w>>2]|0;M=B+16|0;if((D|0)==(c[M>>2]|0))N=Hb[c[(c[B>>2]|0)+36>>2]&127](B)|0;else N=c[D>>2]|0;if(tq(N,t,u,L,p,y,l,n,q,r,s,k)|0){G=B;H=F;I=L;break}D=c[w>>2]|0;if((D|0)==(c[M>>2]|0)){Hb[c[(c[B>>2]|0)+40>>2]&127](B)|0;m=B;z=L;continue}else{c[w>>2]=D+4;m=B;z=L;continue}}L=a[n>>0]|0;z=c[r>>2]|0;if(!((a[t>>0]|0)==0?1:(((L&1)==0?(L&255)>>>1:c[n+4>>2]|0)|0)==0)?(z-q|0)<160:0){L=c[s>>2]|0;s=z+4|0;c[r>>2]=s;c[z>>2]=L;O=s}else O=z;g[j>>2]=+_w(I,c[p>>2]|0,h);Ys(n,q,O,h);if(G){O=c[G+12>>2]|0;if((O|0)==(c[G+16>>2]|0))P=Hb[c[(c[G>>2]|0)+36>>2]&127](G)|0;else P=c[O>>2]|0;if((P|0)==-1){c[d>>2]=0;Q=1}else Q=0}else Q=1;do if(H){P=c[H+12>>2]|0;if((P|0)==(c[H+16>>2]|0))R=Hb[c[(c[H>>2]|0)+36>>2]&127](H)|0;else R=c[P>>2]|0;if((R|0)!=-1)if(Q)break;else{J=46;break}else{c[e>>2]=0;J=44;break}}else J=44;while(0);if((J|0)==44?Q:0)J=46;if((J|0)==46)c[h>>2]=c[h>>2]|2;h=c[d>>2]|0;In(o);In(n);i=b;return h|0}function Qv(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;b=i;i=i+352|0;k=b+208|0;l=b+40|0;m=b+36|0;n=b+24|0;o=b+12|0;p=b+8|0;q=b+48|0;r=b+4|0;s=b;t=b+337|0;u=b+336|0;sq(n,f,k,l,m);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;if(!(a[o>>0]&1))v=10;else v=(c[o>>2]&-2)+-1|0;Mn(o,v,0);v=o+8|0;f=o+1|0;w=(a[o>>0]&1)==0?f:c[v>>2]|0;c[p>>2]=w;c[r>>2]=q;c[s>>2]=0;a[t>>0]=1;a[u>>0]=69;x=o+4|0;y=c[l>>2]|0;l=c[m>>2]|0;m=c[d>>2]|0;z=w;a:while(1){if(m){w=c[m+12>>2]|0;if((w|0)==(c[m+16>>2]|0))A=Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else A=c[w>>2]|0;if((A|0)==-1){c[d>>2]=0;B=0;C=1}else{B=m;C=0}}else{B=0;C=1}w=c[e>>2]|0;do if(w){D=c[w+12>>2]|0;if((D|0)==(c[w+16>>2]|0))E=Hb[c[(c[w>>2]|0)+36>>2]&127](w)|0;else E=c[D>>2]|0;if((E|0)!=-1)if(C){F=w;break}else{G=B;H=w;I=z;break a}else{c[e>>2]=0;J=16;break}}else J=16;while(0);if((J|0)==16){J=0;if(C){G=B;H=0;I=z;break}else F=0}w=a[o>>0]|0;D=(w&1)==0?(w&255)>>>1:c[x>>2]|0;if((c[p>>2]|0)==(z+D|0)){Mn(o,D<<1,0);if(!(a[o>>0]&1))K=10;else K=(c[o>>2]&-2)+-1|0;Mn(o,K,0);w=(a[o>>0]&1)==0?f:c[v>>2]|0;c[p>>2]=w+D;L=w}else L=z;w=B+12|0;D=c[w>>2]|0;M=B+16|0;if((D|0)==(c[M>>2]|0))N=Hb[c[(c[B>>2]|0)+36>>2]&127](B)|0;else N=c[D>>2]|0;if(tq(N,t,u,L,p,y,l,n,q,r,s,k)|0){G=B;H=F;I=L;break}D=c[w>>2]|0;if((D|0)==(c[M>>2]|0)){Hb[c[(c[B>>2]|0)+40>>2]&127](B)|0;m=B;z=L;continue}else{c[w>>2]=D+4;m=B;z=L;continue}}L=a[n>>0]|0;z=c[r>>2]|0;if(!((a[t>>0]|0)==0?1:(((L&1)==0?(L&255)>>>1:c[n+4>>2]|0)|0)==0)?(z-q|0)<160:0){L=c[s>>2]|0;s=z+4|0;c[r>>2]=s;c[z>>2]=L;O=s}else O=z;h[j>>3]=+Zw(I,c[p>>2]|0,g);Ys(n,q,O,g);if(G){O=c[G+12>>2]|0;if((O|0)==(c[G+16>>2]|0))P=Hb[c[(c[G>>2]|0)+36>>2]&127](G)|0;else P=c[O>>2]|0;if((P|0)==-1){c[d>>2]=0;Q=1}else Q=0}else Q=1;do if(H){P=c[H+12>>2]|0;if((P|0)==(c[H+16>>2]|0))R=Hb[c[(c[H>>2]|0)+36>>2]&127](H)|0;else R=c[P>>2]|0;if((R|0)!=-1)if(Q)break;else{J=46;break}else{c[e>>2]=0;J=44;break}}else J=44;while(0);if((J|0)==44?Q:0)J=46;if((J|0)==46)c[g>>2]=c[g>>2]|2;g=c[d>>2]|0;In(o);In(n);i=b;return g|0}function Rv(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;b=i;i=i+352|0;k=b+208|0;l=b+40|0;m=b+36|0;n=b+24|0;o=b+12|0;p=b+8|0;q=b+48|0;r=b+4|0;s=b;t=b+337|0;u=b+336|0;sq(n,f,k,l,m);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;if(!(a[o>>0]&1))v=10;else v=(c[o>>2]&-2)+-1|0;Mn(o,v,0);v=o+8|0;f=o+1|0;w=(a[o>>0]&1)==0?f:c[v>>2]|0;c[p>>2]=w;c[r>>2]=q;c[s>>2]=0;a[t>>0]=1;a[u>>0]=69;x=o+4|0;y=c[l>>2]|0;l=c[m>>2]|0;m=c[d>>2]|0;z=w;a:while(1){if(m){w=c[m+12>>2]|0;if((w|0)==(c[m+16>>2]|0))A=Hb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else A=c[w>>2]|0;if((A|0)==-1){c[d>>2]=0;B=0;C=1}else{B=m;C=0}}else{B=0;C=1}w=c[e>>2]|0;do if(w){D=c[w+12>>2]|0;if((D|0)==(c[w+16>>2]|0))E=Hb[c[(c[w>>2]|0)+36>>2]&127](w)|0;else E=c[D>>2]|0;if((E|0)!=-1)if(C){F=w;break}else{G=B;H=w;I=z;break a}else{c[e>>2]=0;J=16;break}}else J=16;while(0);if((J|0)==16){J=0;if(C){G=B;H=0;I=z;break}else F=0}w=a[o>>0]|0;D=(w&1)==0?(w&255)>>>1:c[x>>2]|0;if((c[p>>2]|0)==(z+D|0)){Mn(o,D<<1,0);if(!(a[o>>0]&1))K=10;else K=(c[o>>2]&-2)+-1|0;Mn(o,K,0);w=(a[o>>0]&1)==0?f:c[v>>2]|0;c[p>>2]=w+D;L=w}else L=z;w=B+12|0;D=c[w>>2]|0;M=B+16|0;if((D|0)==(c[M>>2]|0))N=Hb[c[(c[B>>2]|0)+36>>2]&127](B)|0;else N=c[D>>2]|0;if(tq(N,t,u,L,p,y,l,n,q,r,s,k)|0){G=B;H=F;I=L;break}D=c[w>>2]|0;if((D|0)==(c[M>>2]|0)){Hb[c[(c[B>>2]|0)+40>>2]&127](B)|0;m=B;z=L;continue}else{c[w>>2]=D+4;m=B;z=L;continue}}L=a[n>>0]|0;z=c[r>>2]|0;if(!((a[t>>0]|0)==0?1:(((L&1)==0?(L&255)>>>1:c[n+4>>2]|0)|0)==0)?(z-q|0)<160:0){L=c[s>>2]|0;s=z+4|0;c[r>>2]=s;c[z>>2]=L;O=s}else O=z;h[j>>3]=+Yw(I,c[p>>2]|0,g);Ys(n,q,O,g);if(G){O=c[G+12>>2]|0;if((O|0)==(c[G+16>>2]|0))P=Hb[c[(c[G>>2]|0)+36>>2]&127](G)|0;else P=c[O>>2]|0;if((P|0)==-1){c[d>>2]=0;Q=1}else Q=0}else Q=1;do if(H){P=c[H+12>>2]|0;if((P|0)==(c[H+16>>2]|0))R=Hb[c[(c[H>>2]|0)+36>>2]&127](H)|0;else R=c[P>>2]|0;if((R|0)!=-1)if(Q)break;else{J=46;break}else{c[e>>2]=0;J=44;break}}else J=44;while(0);if((J|0)==44?Q:0)J=46;if((J|0)==46)c[g>>2]=c[g>>2]|2;g=c[d>>2]|0;In(o);In(n);i=b;return g|0}function Sv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+16|0;h=g;c[h>>2]=f;f=sl(d)|0;d=im(a,b,e,h)|0;if(f)sl(f)|0;i=g;return d|0}function Tv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=sl(b)|0;b=fm(a,d,g)|0;if(e)sl(e)|0;i=f;return b|0}function Uv(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=i;i=i+16|0;k=j;l=c[b>>2]|0;a:do if(!l)m=0;else{n=f;o=d;p=n-o>>2;q=g+12|0;r=c[q>>2]|0;s=(r|0)>(p|0)?r-p|0:0;p=e;r=p-o|0;o=r>>2;if((r|0)>0?(yb[c[(c[l>>2]|0)+48>>2]&31](l,d,o)|0)!=(o|0):0){c[b>>2]=0;m=0;break}do if((s|0)>0){_n(k,s,h);if((yb[c[(c[l>>2]|0)+48>>2]&31](l,(a[k>>0]&1)==0?k+4|0:c[k+8>>2]|0,s)|0)==(s|0)){$n(k);break}else{c[b>>2]=0;$n(k);m=0;break a}}while(0);s=n-p|0;o=s>>2;if((s|0)>0?(yb[c[(c[l>>2]|0)+48>>2]&31](l,e,o)|0)!=(o|0):0){c[b>>2]=0;m=0;break}c[q>>2]=0;m=l}while(0);i=j;return m|0}function Vv(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;i=c[a>>2]|0;do if(i)if((c[i+12>>2]|0)==(c[i+16>>2]|0))if((Hb[c[(c[i>>2]|0)+36>>2]&127](i)|0)==-1){c[a>>2]=0;j=0;break}else{j=c[a>>2]|0;break}else j=i;else j=0;while(0);i=(j|0)==0;j=c[e>>2]|0;do if(j){if((c[j+12>>2]|0)==(c[j+16>>2]|0)?(Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0)==-1:0){c[e>>2]=0;k=11;break}if(i){l=j;k=13}else k=12}else k=11;while(0);if((k|0)==11)if(i)k=12;else{l=0;k=13}a:do if((k|0)==12){c[f>>2]=c[f>>2]|6;m=0}else if((k|0)==13){i=c[a>>2]|0;j=c[i+12>>2]|0;if((j|0)==(c[i+16>>2]|0))n=Hb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else n=d[j>>0]|0;j=n&255;if(j<<24>>24>-1?(i=g+8|0,(b[(c[i>>2]|0)+(n<<24>>24<<1)>>1]&2048)!=0):0){o=(yb[c[(c[g>>2]|0)+36>>2]&31](g,j,0)|0)<<24>>24;j=c[a>>2]|0;p=j+12|0;q=c[p>>2]|0;if((q|0)==(c[j+16>>2]|0)){Hb[c[(c[j>>2]|0)+40>>2]&127](j)|0;r=h;s=l;t=l;u=o}else{c[p>>2]=q+1;r=h;s=l;t=l;u=o}while(1){o=u+-48|0;q=r+-1|0;p=c[a>>2]|0;do if(p)if((c[p+12>>2]|0)==(c[p+16>>2]|0))if((Hb[c[(c[p>>2]|0)+36>>2]&127](p)|0)==-1){c[a>>2]=0;v=0;break}else{v=c[a>>2]|0;break}else v=p;else v=0;while(0);p=(v|0)==0;if(t)if((c[t+12>>2]|0)==(c[t+16>>2]|0))if((Hb[c[(c[t>>2]|0)+36>>2]&127](t)|0)==-1){c[e>>2]=0;w=0;x=0}else{w=s;x=s}else{w=s;x=t}else{w=s;x=0}j=c[a>>2]|0;if(!((r|0)>1&(p^(x|0)==0))){y=j;z=w;A=o;break}p=c[j+12>>2]|0;if((p|0)==(c[j+16>>2]|0))B=Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else B=d[p>>0]|0;p=B&255;if(p<<24>>24<=-1){m=o;break a}if(!(b[(c[i>>2]|0)+(B<<24>>24<<1)>>1]&2048)){m=o;break a}j=((yb[c[(c[g>>2]|0)+36>>2]&31](g,p,0)|0)<<24>>24)+(o*10|0)|0;p=c[a>>2]|0;C=p+12|0;D=c[C>>2]|0;if((D|0)==(c[p+16>>2]|0)){Hb[c[(c[p>>2]|0)+40>>2]&127](p)|0;r=q;s=w;t=x;u=j;continue}else{c[C>>2]=D+1;r=q;s=w;t=x;u=j;continue}}do if(y)if((c[y+12>>2]|0)==(c[y+16>>2]|0))if((Hb[c[(c[y>>2]|0)+36>>2]&127](y)|0)==-1){c[a>>2]=0;E=0;break}else{E=c[a>>2]|0;break}else E=y;else E=0;while(0);i=(E|0)==0;do if(z){if((c[z+12>>2]|0)==(c[z+16>>2]|0)?(Hb[c[(c[z>>2]|0)+36>>2]&127](z)|0)==-1:0){c[e>>2]=0;k=50;break}if(i){m=A;break a}}else k=50;while(0);if((k|0)==50?!i:0){m=A;break}c[f>>2]=c[f>>2]|2;m=A;break}c[f>>2]=c[f>>2]|4;m=0}while(0);return m|0}function Wv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,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=c[a>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))i=Hb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else i=c[h>>2]|0;if((i|0)==-1){c[a>>2]=0;j=1;break}else{j=(c[a>>2]|0)==0;break}}else j=1;while(0);i=c[b>>2]|0;do if(i){g=c[i+12>>2]|0;if((g|0)==(c[i+16>>2]|0))k=Hb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else k=c[g>>2]|0;if((k|0)!=-1)if(j){l=i;m=17;break}else{m=16;break}else{c[b>>2]=0;m=14;break}}else m=14;while(0);if((m|0)==14)if(j)m=16;else{l=0;m=17}a:do if((m|0)==16){c[d>>2]=c[d>>2]|6;n=0}else if((m|0)==17){j=c[a>>2]|0;i=c[j+12>>2]|0;if((i|0)==(c[j+16>>2]|0))o=Hb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else o=c[i>>2]|0;if(!(yb[c[(c[e>>2]|0)+12>>2]&31](e,2048,o)|0)){c[d>>2]=c[d>>2]|4;n=0;break}i=(yb[c[(c[e>>2]|0)+52>>2]&31](e,o,0)|0)<<24>>24;j=c[a>>2]|0;k=j+12|0;g=c[k>>2]|0;if((g|0)==(c[j+16>>2]|0)){Hb[c[(c[j>>2]|0)+40>>2]&127](j)|0;p=f;q=l;r=l;s=i}else{c[k>>2]=g+4;p=f;q=l;r=l;s=i}while(1){i=s+-48|0;g=p+-1|0;k=c[a>>2]|0;do if(k){j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))t=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else t=c[j>>2]|0;if((t|0)==-1){c[a>>2]=0;u=1;break}else{u=(c[a>>2]|0)==0;break}}else u=1;while(0);do if(r){k=c[r+12>>2]|0;if((k|0)==(c[r+16>>2]|0))v=Hb[c[(c[r>>2]|0)+36>>2]&127](r)|0;else v=c[k>>2]|0;if((v|0)==-1){c[b>>2]=0;w=0;x=0;y=1;break}else{w=q;x=q;y=(q|0)==0;break}}else{w=q;x=0;y=1}while(0);k=c[a>>2]|0;if(!((p|0)>1&(u^y))){z=k;A=w;B=i;break}j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))C=Hb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else C=c[j>>2]|0;if(!(yb[c[(c[e>>2]|0)+12>>2]&31](e,2048,C)|0)){n=i;break a}j=((yb[c[(c[e>>2]|0)+52>>2]&31](e,C,0)|0)<<24>>24)+(i*10|0)|0;k=c[a>>2]|0;h=k+12|0;D=c[h>>2]|0;if((D|0)==(c[k+16>>2]|0)){Hb[c[(c[k>>2]|0)+40>>2]&127](k)|0;p=g;q=w;r=x;s=j;continue}else{c[h>>2]=D+4;p=g;q=w;r=x;s=j;continue}}do if(z){j=c[z+12>>2]|0;if((j|0)==(c[z+16>>2]|0))E=Hb[c[(c[z>>2]|0)+36>>2]&127](z)|0;else E=c[j>>2]|0;if((E|0)==-1){c[a>>2]=0;F=1;break}else{F=(c[a>>2]|0)==0;break}}else F=1;while(0);do if(A){j=c[A+12>>2]|0;if((j|0)==(c[A+16>>2]|0))G=Hb[c[(c[A>>2]|0)+36>>2]&127](A)|0;else G=c[j>>2]|0;if((G|0)!=-1)if(F){n=B;break a}else break;else{c[b>>2]=0;m=60;break}}else m=60;while(0);if((m|0)==60?!F:0){n=B;break}c[d>>2]=c[d>>2]|2;n=B}while(0);return n|0}function Xv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=a+4|0;f=(c[e>>2]|0)!=192;g=c[a>>2]|0;h=g;i=(c[d>>2]|0)-h|0;j=i>>>0<2147483647?i<<1:-1;i=(c[b>>2]|0)-h|0;h=Om(f?g:0,j)|0;if(!h)Tk();if(!f){f=c[a>>2]|0;c[a>>2]=h;if(!f)k=h;else{Eb[c[e>>2]&255](f);k=c[a>>2]|0}}else{c[a>>2]=h;k=h}c[e>>2]=202;c[b>>2]=k+i;c[d>>2]=(c[a>>2]|0)+j;return}function Yv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=a+4|0;f=(c[e>>2]|0)!=192;g=c[a>>2]|0;h=g;i=(c[d>>2]|0)-h|0;j=i>>>0<2147483647?i<<1:-1;i=(c[b>>2]|0)-h>>2;h=Om(f?g:0,j)|0;if(!h)Tk();if(!f){f=c[a>>2]|0;c[a>>2]=h;if(!f)k=h;else{Eb[c[e>>2]&255](f);k=c[a>>2]|0}}else{c[a>>2]=h;k=h}c[e>>2]=202;c[b>>2]=k+(i<<2);c[d>>2]=(c[a>>2]|0)+(j>>>2<<2);return}function Zv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=d;g=a[b>>0]|0;if(!(g&1)){h=10;i=(g&255)>>>1;j=g}else{g=c[b>>2]|0;h=(g&-2)+-1|0;i=c[b+4>>2]|0;j=g&255}g=e-f|0;do if((e|0)!=(d|0)){if((h-i|0)>>>0<g>>>0){Tn(b,h,i+g-h|0,i,i,0,0);k=a[b>>0]|0}else k=j;if(!(k&1))l=b+1|0;else l=c[b+8>>2]|0;m=e+(i-f)|0;if((d|0)!=(e|0)){n=d;o=l+i|0;while(1){a[o>>0]=a[n>>0]|0;n=n+1|0;if((n|0)==(e|0))break;else o=o+1|0}}a[l+m>>0]=0;o=i+g|0;if(!(a[b>>0]&1)){a[b>>0]=o<<1;break}else{c[b+4>>2]=o;break}}while(0);return b|0}function _v(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=a+4|0;f=(c[e>>2]|0)!=192;g=c[a>>2]|0;h=g;i=(c[d>>2]|0)-h|0;j=i>>>0<2147483647?i<<1:-1;i=(c[b>>2]|0)-h>>2;h=Om(f?g:0,j)|0;if(!h)Tk();if(!f){f=c[a>>2]|0;c[a>>2]=h;if(!f)k=h;else{Eb[c[e>>2]&255](f);k=c[a>>2]|0}}else{c[a>>2]=h;k=h}c[e>>2]=202;c[b>>2]=k+(i<<2);c[d>>2]=(c[a>>2]|0)+(j>>>2<<2);return}function $v(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=d;g=a[b>>0]|0;if(!(g&1)){h=1;i=(g&255)>>>1;j=g}else{g=c[b>>2]|0;h=(g&-2)+-1|0;i=c[b+4>>2]|0;j=g&255}g=e-f>>2;do if(g){if((h-i|0)>>>0<g>>>0){go(b,h,i+g-h|0,i,i,0,0);k=a[b>>0]|0}else k=j;if(!(k&1))l=b+4|0;else l=c[b+8>>2]|0;m=i+((e-f|0)>>>2)|0;if((d|0)!=(e|0)){n=d;o=l+(i<<2)|0;while(1){c[o>>2]=c[n>>2];n=n+4|0;if((n|0)==(e|0))break;else o=o+4|0}}c[l+(m<<2)>>2]=0;o=i+g|0;if(!(a[b>>0]&1)){a[b>>0]=o<<1;break}else{c[b+4>>2]=o;break}}while(0);return b|0}function aw(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+128>>0]=0;if(d){Xw(b,d);Tw(b,d)}return}function bw(a,b){a=a|0;b=b|0;Bt(a,b,Kt(11304)|0);return}function cw(a,b){a=a|0;b=b|0;Bt(a,b,Kt(11344)|0);return}function dw(a,b){a=a|0;b=b|0;Bt(a,b,Kt(12376)|0);return}function ew(a,b){a=a|0;b=b|0;Bt(a,b,Kt(12368)|0);return}function fw(a,b){a=a|0;b=b|0;Bt(a,b,Kt(12436)|0);return}function gw(a,b){a=a|0;b=b|0;Bt(a,b,Kt(12444)|0);return}function hw(a,b){a=a|0;b=b|0;Bt(a,b,Kt(12500)|0);return}function iw(a,b){a=a|0;b=b|0;Bt(a,b,Kt(12508)|0);return}function jw(a,b){a=a|0;b=b|0;Bt(a,b,Kt(12516)|0);return}function kw(a,b){a=a|0;b=b|0;Bt(a,b,Kt(12524)|0);return}function lw(a,b){a=a|0;b=b|0;Bt(a,b,Kt(11416)|0);return}function mw(a,b){a=a|0;b=b|0;Bt(a,b,Kt(11488)|0);return}function nw(a,b){a=a|0;b=b|0;Bt(a,b,Kt(11548)|0);return}function ow(a,b){a=a|0;b=b|0;Bt(a,b,Kt(11608)|0);return}function pw(a,b){a=a|0;b=b|0;Bt(a,b,Kt(11920)|0);return}function qw(a,b){a=a|0;b=b|0;Bt(a,b,Kt(11984)|0);return}function rw(a,b){a=a|0;b=b|0;Bt(a,b,Kt(12048)|0);return}function sw(a,b){a=a|0;b=b|0;Bt(a,b,Kt(12112)|0);return}function tw(a,b){a=a|0;b=b|0;Bt(a,b,Kt(12148)|0);return}function uw(a,b){a=a|0;b=b|0;Bt(a,b,Kt(12184)|0);return}function vw(a,b){a=a|0;b=b|0;Bt(a,b,Kt(12220)|0);return}function ww(a,b){a=a|0;b=b|0;Bt(a,b,Kt(12256)|0);return}function xw(a,b){a=a|0;b=b|0;Bt(a,b,Kt(11700)|0);return}function yw(a,b){a=a|0;b=b|0;Bt(a,b,Kt(11792)|0);return}function zw(a,b){a=a|0;b=b|0;Bt(a,b,Kt(11824)|0);return}function Aw(a,b){a=a|0;b=b|0;Bt(a,b,Kt(11856)|0);return}function Bw(a,b){a=a|0;b=b|0;Bt(a,b,Kt(12296)|0);return}function Cw(a,b){a=a|0;b=b|0;Bt(a,b,Kt(12336)|0);return}function Dw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+4|0;e=c[d>>2]|0;f=c[a>>2]|0;g=e-f>>2;if(g>>>0>=b>>>0){if(g>>>0>b>>>0?(h=f+(b<<2)|0,(e|0)!=(h|0)):0){f=e;while(1){e=f+-4|0;if((e|0)==(h|0)){i=e;break}else f=e}c[d>>2]=i}}else Sw(a,b-g|0);return}function Ew(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b>>2]|0;do if(d){e=b+4|0;f=c[e>>2]|0;if((f|0)!=(d|0)){g=f;while(1){f=g+-4|0;if((f|0)==(d|0)){h=f;break}else g=f}c[e>>2]=h}if((b+16|0)==(d|0)){a[b+128>>0]=0;break}else{gk(d);break}}while(0);return}function Fw(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+4|0;d=c[b>>2]|0;e=c[b+4>>2]|0;b=(c[a>>2]|0)+(e>>1)|0;if(!(e&1))f=d;else f=c[(c[b>>2]|0)+d>>2]|0;Eb[f&255](b);return}function Gw(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0;c[g>>2]=d;c[j>>2]=h;d=i;if(l&2)if((d-h|0)<3)m=1;else{c[j>>2]=h+1;a[h>>0]=-17;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=-69;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=-65;n=4}else n=4;a:do if((n|0)==4){h=f;l=c[g>>2]|0;if(l>>>0<f>>>0){i=l;while(1){l=b[i>>1]|0;o=l&65535;if(o>>>0>k>>>0){m=2;break a}do if((l&65535)<128){p=c[j>>2]|0;if((d-p|0)<1){m=1;break a}c[j>>2]=p+1;a[p>>0]=l}else{if((l&65535)<2048){p=c[j>>2]|0;if((d-p|0)<2){m=1;break a}c[j>>2]=p+1;a[p>>0]=o>>>6|192;p=c[j>>2]|0;c[j>>2]=p+1;a[p>>0]=o&63|128;break}if((l&65535)<55296){p=c[j>>2]|0;if((d-p|0)<3){m=1;break a}c[j>>2]=p+1;a[p>>0]=o>>>12|224;p=c[j>>2]|0;c[j>>2]=p+1;a[p>>0]=o>>>6&63|128;p=c[j>>2]|0;c[j>>2]=p+1;a[p>>0]=o&63|128;break}if((l&65535)>=56320){if((l&65535)<57344){m=2;break a}p=c[j>>2]|0;if((d-p|0)<3){m=1;break a}c[j>>2]=p+1;a[p>>0]=o>>>12|224;p=c[j>>2]|0;c[j>>2]=p+1;a[p>>0]=o>>>6&63|128;p=c[j>>2]|0;c[j>>2]=p+1;a[p>>0]=o&63|128;break}if((h-i|0)<4){m=1;break a}p=i+2|0;q=e[p>>1]|0;if((q&64512|0)!=56320){m=2;break a}if((d-(c[j>>2]|0)|0)<4){m=1;break a}r=o&960;if(((r<<10)+65536|o<<10&64512|q&1023)>>>0>k>>>0){m=2;break a}c[g>>2]=p;p=(r>>>6)+1|0;r=c[j>>2]|0;c[j>>2]=r+1;a[r>>0]=p>>>2|240;r=c[j>>2]|0;c[j>>2]=r+1;a[r>>0]=o>>>2&15|p<<4&48|128;p=c[j>>2]|0;c[j>>2]=p+1;a[p>>0]=o<<4&48|q>>>6&15|128;p=c[j>>2]|0;c[j>>2]=p+1;a[p>>0]=q&63|128}while(0);i=(c[g>>2]|0)+2|0;c[g>>2]=i;if(i>>>0>=f>>>0){m=0;break}}}else m=0}while(0);return m|0}function Hw(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;c[g>>2]=e;c[j>>2]=h;if(l&4){l=c[g>>2]|0;e=f;if((((e-l|0)>2?(a[l>>0]|0)==-17:0)?(a[l+1>>0]|0)==-69:0)?(a[l+2>>0]|0)==-65:0){c[g>>2]=l+3;m=c[j>>2]|0;n=e}else{m=h;n=e}}else{m=h;n=f}h=i;e=c[g>>2]|0;l=e>>>0<f>>>0;a:do if(l&m>>>0<i>>>0){o=e;p=m;while(1){q=a[o>>0]|0;r=q&255;if(r>>>0>k>>>0){s=2;break a}do if(q<<24>>24>-1){b[p>>1]=q&255;c[g>>2]=o+1}else{if((q&255)<194){s=2;break a}if((q&255)<224){if((n-o|0)<2){s=1;break a}t=d[o+1>>0]|0;if((t&192|0)!=128){s=2;break a}u=t&63|r<<6&1984;if(u>>>0>k>>>0){s=2;break a}b[p>>1]=u;c[g>>2]=o+2;break}if((q&255)<240){if((n-o|0)<3){s=1;break a}u=a[o+1>>0]|0;t=a[o+2>>0]|0;switch(r|0){case 224:{if((u&-32)<<24>>24!=-96){s=2;break a}break}case 237:{if((u&-32)<<24>>24!=-128){s=2;break a}break}default:if((u&-64)<<24>>24!=-128){s=2;break a}}v=t&255;if((v&192|0)!=128){s=2;break a}t=(u&255)<<6&4032|r<<12|v&63;if((t&65535)>>>0>k>>>0){s=2;break a}b[p>>1]=t;c[g>>2]=o+3;break}if((q&255)>=245){s=2;break a}if((n-o|0)<4){s=1;break a}t=a[o+1>>0]|0;v=a[o+2>>0]|0;u=a[o+3>>0]|0;switch(r|0){case 240:{if((t+112&255)>=48){s=2;break a}break}case 244:{if((t&-16)<<24>>24!=-128){s=2;break a}break}default:if((t&-64)<<24>>24!=-128){s=2;break a}}w=v&255;if((w&192|0)!=128){s=2;break a}v=u&255;if((v&192|0)!=128){s=2;break a}if((h-p|0)<4){s=1;break a}u=r&7;x=t&255;t=w<<6;y=v&63;if((x<<12&258048|u<<18|t&4032|y)>>>0>k>>>0){s=2;break a}b[p>>1]=x<<2&60|w>>>4&3|((x>>>4&3|u<<2)<<6)+16320|55296;u=p+2|0;c[j>>2]=u;b[u>>1]=y|t&960|56320;c[g>>2]=(c[g>>2]|0)+4}while(0);p=(c[j>>2]|0)+2|0;c[j>>2]=p;o=c[g>>2]|0;r=o>>>0<f>>>0;if(!(r&p>>>0<i>>>0)){z=r;A=39;break}}}else{z=l;A=39}while(0);if((A|0)==39)s=z&1;return s|0}function Iw(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;h=c;if((((g&4|0)!=0?(h-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)i=(a[b+2>>0]|0)==-65?b+3|0:b;else i=b;a:do if((e|0)!=0&i>>>0<c>>>0){g=i;j=0;b:while(1){k=a[g>>0]|0;l=k&255;if(l>>>0>f>>>0){m=g;n=42;break a}do if(k<<24>>24>-1){o=g+1|0;p=j}else{if((k&255)<194){m=g;n=42;break a}if((k&255)<224){if((h-g|0)<2){m=g;n=42;break a}q=d[g+1>>0]|0;if((q&192|0)!=128){m=g;n=42;break a}if((q&63|l<<6&1984)>>>0>f>>>0){m=g;n=42;break a}o=g+2|0;p=j;break}if((k&255)<240){q=g;if((h-q|0)<3){m=g;n=42;break a}r=a[g+1>>0]|0;s=a[g+2>>0]|0;switch(l|0){case 224:{if((r&-32)<<24>>24!=-96){t=q;n=20;break b}break}case 237:{if((r&-32)<<24>>24!=-128){u=q;n=22;break b}break}default:if((r&-64)<<24>>24!=-128){v=q;n=24;break b}}q=s&255;if((q&192|0)!=128){m=g;n=42;break a}if(((r&255)<<6&4032|l<<12&61440|q&63)>>>0>f>>>0){m=g;n=42;break a}o=g+3|0;p=j;break}if((k&255)>=245){m=g;n=42;break a}q=g;if((e-j|0)>>>0<2|(h-q|0)<4){m=g;n=42;break a}r=a[g+1>>0]|0;s=a[g+2>>0]|0;w=a[g+3>>0]|0;switch(l|0){case 240:{if((r+112&255)>=48){x=q;n=32;break b}break}case 244:{if((r&-16)<<24>>24!=-128){y=q;n=34;break b}break}default:if((r&-64)<<24>>24!=-128){z=q;n=36;break b}}q=s&255;if((q&192|0)!=128){m=g;n=42;break a}s=w&255;if((s&192|0)!=128){m=g;n=42;break a}if(((r&255)<<12&258048|l<<18&1835008|q<<6&4032|s&63)>>>0>f>>>0){m=g;n=42;break a}o=g+4|0;p=j+1|0}while(0);j=p+1|0;if(!(j>>>0<e>>>0&o>>>0<c>>>0)){m=o;n=42;break a}else g=o}if((n|0)==20){A=t-b|0;break}else if((n|0)==22){A=u-b|0;break}else if((n|0)==24){A=v-b|0;break}else if((n|0)==32){A=x-b|0;break}else if((n|0)==34){A=y-b|0;break}else if((n|0)==36){A=z-b|0;break}}else{m=i;n=42}while(0);if((n|0)==42)A=m-b|0;return A|0}function Jw(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;c[e>>2]=b;c[h>>2]=f;b=g;if(j&2)if((b-f|0)<3)k=1;else{c[h>>2]=f+1;a[f>>0]=-17;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=-69;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=-65;l=4}else l=4;a:do if((l|0)==4){f=c[e>>2]|0;if(f>>>0<d>>>0){j=f;while(1){f=c[j>>2]|0;if(f>>>0>i>>>0|(f&-2048|0)==55296){k=2;break a}do if(f>>>0>=128){if(f>>>0<2048){g=c[h>>2]|0;if((b-g|0)<2){k=1;break a}c[h>>2]=g+1;a[g>>0]=f>>>6|192;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=f&63|128;break}g=c[h>>2]|0;m=b-g|0;if(f>>>0<65536){if((m|0)<3){k=1;break a}c[h>>2]=g+1;a[g>>0]=f>>>12|224;n=c[h>>2]|0;c[h>>2]=n+1;a[n>>0]=f>>>6&63|128;n=c[h>>2]|0;c[h>>2]=n+1;a[n>>0]=f&63|128;break}else{if((m|0)<4){k=1;break a}c[h>>2]=g+1;a[g>>0]=f>>>18|240;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=f>>>12&63|128;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=f>>>6&63|128;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=f&63|128;break}}else{g=c[h>>2]|0;if((b-g|0)<1){k=1;break a}c[h>>2]=g+1;a[g>>0]=f}while(0);j=(c[e>>2]|0)+4|0;c[e>>2]=j;if(j>>>0>=d>>>0){k=0;break}}}else k=0}while(0);return k|0}function Kw(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;c[f>>2]=b;c[i>>2]=g;if(k&4){k=c[f>>2]|0;b=e;if((((b-k|0)>2?(a[k>>0]|0)==-17:0)?(a[k+1>>0]|0)==-69:0)?(a[k+2>>0]|0)==-65:0){c[f>>2]=k+3;l=c[i>>2]|0;m=b}else{l=g;m=b}}else{l=g;m=e}g=c[f>>2]|0;b=g>>>0<e>>>0;a:do if(b&l>>>0<h>>>0){k=g;n=l;while(1){o=a[k>>0]|0;p=o&255;do if(o<<24>>24>-1){if(p>>>0>j>>>0){q=2;break a}c[n>>2]=p;c[f>>2]=k+1}else{if((o&255)<194){q=2;break a}if((o&255)<224){if((m-k|0)<2){q=1;break a}r=d[k+1>>0]|0;if((r&192|0)!=128){q=2;break a}s=r&63|p<<6&1984;if(s>>>0>j>>>0){q=2;break a}c[n>>2]=s;c[f>>2]=k+2;break}if((o&255)<240){if((m-k|0)<3){q=1;break a}s=a[k+1>>0]|0;r=a[k+2>>0]|0;switch(p|0){case 224:{if((s&-32)<<24>>24!=-96){q=2;break a}break}case 237:{if((s&-32)<<24>>24!=-128){q=2;break a}break}default:if((s&-64)<<24>>24!=-128){q=2;break a}}t=r&255;if((t&192|0)!=128){q=2;break a}r=(s&255)<<6&4032|p<<12&61440|t&63;if(r>>>0>j>>>0){q=2;break a}c[n>>2]=r;c[f>>2]=k+3;break}if((o&255)>=245){q=2;break a}if((m-k|0)<4){q=1;break a}r=a[k+1>>0]|0;t=a[k+2>>0]|0;s=a[k+3>>0]|0;switch(p|0){case 240:{if((r+112&255)>=48){q=2;break a}break}case 244:{if((r&-16)<<24>>24!=-128){q=2;break a}break}default:if((r&-64)<<24>>24!=-128){q=2;break a}}u=t&255;if((u&192|0)!=128){q=2;break a}t=s&255;if((t&192|0)!=128){q=2;break a}s=(r&255)<<12&258048|p<<18&1835008|u<<6&4032|t&63;if(s>>>0>j>>>0){q=2;break a}c[n>>2]=s;c[f>>2]=k+4}while(0);n=(c[i>>2]|0)+4|0;c[i>>2]=n;k=c[f>>2]|0;p=k>>>0<e>>>0;if(!(p&n>>>0<h>>>0)){v=p;w=38;break}}}else{v=b;w=38}while(0);if((w|0)==38)q=v&1;return q|0}function Lw(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;h=c;if((((g&4|0)!=0?(h-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)i=(a[b+2>>0]|0)==-65?b+3|0:b;else i=b;a:do if((e|0)!=0&i>>>0<c>>>0){g=i;j=0;b:while(1){k=a[g>>0]|0;l=k&255;do if(k<<24>>24>-1){if(l>>>0>f>>>0){m=g;n=42;break a}o=g+1|0}else{if((k&255)<194){m=g;n=42;break a}if((k&255)<224){if((h-g|0)<2){m=g;n=42;break a}p=d[g+1>>0]|0;if((p&192|0)!=128){m=g;n=42;break a}if((p&63|l<<6&1984)>>>0>f>>>0){m=g;n=42;break a}o=g+2|0;break}if((k&255)<240){p=g;if((h-p|0)<3){m=g;n=42;break a}q=a[g+1>>0]|0;r=a[g+2>>0]|0;switch(l|0){case 224:{if((q&-32)<<24>>24!=-96){s=p;n=20;break b}break}case 237:{if((q&-32)<<24>>24!=-128){t=p;n=22;break b}break}default:if((q&-64)<<24>>24!=-128){u=p;n=24;break b}}p=r&255;if((p&192|0)!=128){m=g;n=42;break a}if(((q&255)<<6&4032|l<<12&61440|p&63)>>>0>f>>>0){m=g;n=42;break a}o=g+3|0;break}if((k&255)>=245){m=g;n=42;break a}p=g;if((h-p|0)<4){m=g;n=42;break a}q=a[g+1>>0]|0;r=a[g+2>>0]|0;v=a[g+3>>0]|0;switch(l|0){case 240:{if((q+112&255)>=48){w=p;n=32;break b}break}case 244:{if((q&-16)<<24>>24!=-128){x=p;n=34;break b}break}default:if((q&-64)<<24>>24!=-128){y=p;n=36;break b}}p=r&255;if((p&192|0)!=128){m=g;n=42;break a}r=v&255;if((r&192|0)!=128){m=g;n=42;break a}if(((q&255)<<12&258048|l<<18&1835008|p<<6&4032|r&63)>>>0>f>>>0){m=g;n=42;break a}o=g+4|0}while(0);j=j+1|0;if(!(j>>>0<e>>>0&o>>>0<c>>>0)){m=o;n=42;break a}else g=o}if((n|0)==20){z=s-b|0;break}else if((n|0)==22){z=t-b|0;break}else if((n|0)==24){z=u-b|0;break}else if((n|0)==32){z=w-b|0;break}else if((n|0)==34){z=x-b|0;break}else if((n|0)==36){z=y-b|0;break}}else{m=i;n=42}while(0);if((n|0)==42)z=m-b|0;return z|0}function Mw(a){a=a|0;In(13352);In(13340);In(13328);In(13316);In(13304);In(13292);In(13280);In(13268);In(13256);In(13244);In(13232);In(13220);In(13208);In(13196);return}function Nw(a){a=a|0;$n(13524);$n(13512);$n(13500);$n(13488);$n(13476);$n(13464);$n(13452);$n(13440);$n(13428);$n(13416);$n(13404);$n(13392);$n(13380);$n(13368);return}function Ow(a){a=a|0;In(14156);In(14144);In(14132);In(14120);In(14108);In(14096);In(14084);In(14072);In(14060);In(14048);In(14036);In(14024);In(14012);In(14e3);In(13988);In(13976);In(13964);In(13952);In(13940);In(13928);In(13916);In(13904);In(13892);In(13880);return}function Pw(a){a=a|0;$n(14448);$n(14436);$n(14424);$n(14412);$n(14400);$n(14388);$n(14376);$n(14364);$n(14352);$n(14340);$n(14328);$n(14316);$n(14304);$n(14292);$n(14280);$n(14268);$n(14256);$n(14244);$n(14232);$n(14220);$n(14208);$n(14196);$n(14184);$n(14172);return}function Qw(a){a=a|0;In(15260);In(15248);In(15236);In(15224);In(15212);In(15200);In(15188);In(15176);In(15164);In(15152);In(15140);In(15128);In(15116);In(15104);In(15092);In(15080);In(15068);In(15056);In(15044);In(15032);In(15020);In(15008);In(14996);In(14984);return}function Rw(a){a=a|0;$n(15552);$n(15540);$n(15528);$n(15516);$n(15504);$n(15492);$n(15480);$n(15468);$n(15456);$n(15444);$n(15432);$n(15420);$n(15408);$n(15396);$n(15384);$n(15372);$n(15360);$n(15348);$n(15336);$n(15324);$n(15312);$n(15300);$n(15288);$n(15276);return}function Sw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+32|0;e=d;f=c[a+8>>2]|0;g=c[a+4>>2]|0;if(f-g>>2>>>0<b>>>0){h=c[a>>2]|0;j=g-h>>2;g=j+b|0;if(g>>>0>1073741823)ck(a);k=f-h|0;if(k>>2>>>0<536870911){h=k>>1;l=h>>>0<g>>>0?g:h}else l=1073741823;Uw(e,l,j,a+16|0);j=e+8|0;l=c[j>>2]|0;hx(l|0,0,b<<2|0)|0;c[j>>2]=l+(b<<2);Vw(a,e);Ww(e)}else Tw(a,b);i=d;return}function Tw(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Uw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;c[b+12>>2]=0;c[b+16>>2]=f;do if(d){g=f+112|0;if(d>>>0<29&(a[g>>0]|0)==0){a[g>>0]=1;h=f;break}else{h=ek(d<<2)|0;break}}else h=0;while(0);c[b>>2]=h;f=h+(e<<2)|0;c[b+8>>2]=f;c[b+4>>2]=f;c[b+12>>2]=h+(d<<2);return}function Vw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[a>>2]|0;e=a+4|0;f=b+4|0;g=(c[e>>2]|0)-d|0;h=(c[f>>2]|0)+(0-(g>>2)<<2)|0;c[f>>2]=h;kx(h|0,d|0,g|0)|0;g=c[a>>2]|0;c[a>>2]=c[f>>2];c[f>>2]=g;g=b+8|0;d=c[e>>2]|0;c[e>>2]=c[g>>2];c[g>>2]=d;d=a+8|0;a=b+12|0;g=c[d>>2]|0;c[d>>2]=c[a>>2];c[a>>2]=g;c[b>>2]=c[f>>2];return}function Ww(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+4>>2]|0;e=b+8|0;f=c[e>>2]|0;if((f|0)!=(d|0)){g=f;while(1){f=g+-4|0;if((f|0)==(d|0)){h=f;break}else g=f}c[e>>2]=h}h=c[b>>2]|0;do if(h){e=c[b+16>>2]|0;if((e|0)==(h|0)){a[e+112>>0]=0;break}else{gk(h);break}}while(0);return}function Xw(b,d){b=b|0;d=d|0;var e=0,f=0;if(d>>>0>1073741823)ck(b);e=b+128|0;if(d>>>0<29&(a[e>>0]|0)==0){a[e>>0]=1;f=b+16|0}else f=ek(d<<2)|0;c[b+4>>2]=f;c[b>>2]=f;c[b+8>>2]=f+(d<<2);return}function Yw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0.0,k=0,l=0.0;e=i;i=i+16|0;f=e;do if((a|0)!=(b|0)){g=el()|0;h=c[g>>2]|0;c[g>>2]=0;j=+mm(a,f,$p()|0);k=c[g>>2]|0;if(!k)c[g>>2]=h;if((c[f>>2]|0)!=(b|0)){c[d>>2]=4;l=0.0;break}if((k|0)==34){c[d>>2]=4;l=j}else l=j}else{c[d>>2]=4;l=0.0}while(0);i=e;return +l}function Zw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0.0,k=0,l=0.0;e=i;i=i+16|0;f=e;do if((a|0)!=(b|0)){g=el()|0;h=c[g>>2]|0;c[g>>2]=0;j=+mm(a,f,$p()|0);k=c[g>>2]|0;if(!k)c[g>>2]=h;if((c[f>>2]|0)!=(b|0)){c[d>>2]=4;l=0.0;break}if((k|0)==34){c[d>>2]=4;l=j}else l=j}else{c[d>>2]=4;l=0.0}while(0);i=e;return +l}function _w(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,h=0,j=0,k=0.0,l=0;e=i;i=i+16|0;f=e;do if((a|0)==(b|0)){c[d>>2]=4;g=0.0}else{h=el()|0;j=c[h>>2]|0;c[h>>2]=0;k=+mm(a,f,$p()|0);l=c[h>>2]|0;if(!l)c[h>>2]=j;if((c[f>>2]|0)!=(b|0)){c[d>>2]=4;g=0.0;break}if((l|0)==34)c[d>>2]=4;g=k}while(0);i=e;return +g}function $w(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+16|0;h=g;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;j=0;k=0;break}l=el()|0;m=c[l>>2]|0;c[l>>2]=0;n=Zk(b,h,f,$p()|0)|0;o=c[l>>2]|0;if(!o)c[l>>2]=m;if((c[h>>2]|0)!=(d|0)){c[e>>2]=4;j=0;k=0;break}if((o|0)==34){c[e>>2]=4;j=-1;k=-1}else{j=D;k=n}}else{c[e>>2]=4;j=0;k=0}while(0);D=j;i=g;return k|0}function ax(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+16|0;h=g;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;j=0;break}k=el()|0;l=c[k>>2]|0;c[k>>2]=0;m=Zk(b,h,f,$p()|0)|0;n=D;o=c[k>>2]|0;if(!o)c[k>>2]=l;if((c[h>>2]|0)!=(d|0)){c[e>>2]=4;j=0;break}if(n>>>0>0|(n|0)==0&m>>>0>4294967295|(o|0)==34){c[e>>2]=4;j=-1;break}else{j=m;break}}else{c[e>>2]=4;j=0}while(0);i=g;return j|0}function bx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+16|0;h=g;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;j=0;break}k=el()|0;l=c[k>>2]|0;c[k>>2]=0;m=Zk(b,h,f,$p()|0)|0;n=D;o=c[k>>2]|0;if(!o)c[k>>2]=l;if((c[h>>2]|0)!=(d|0)){c[e>>2]=4;j=0;break}if(n>>>0>0|(n|0)==0&m>>>0>4294967295|(o|0)==34){c[e>>2]=4;j=-1;break}else{j=m;break}}else{c[e>>2]=4;j=0}while(0);i=g;return j|0}function cx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+16|0;h=g;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;j=0;break}k=el()|0;l=c[k>>2]|0;c[k>>2]=0;m=Zk(b,h,f,$p()|0)|0;n=D;o=c[k>>2]|0;if(!o)c[k>>2]=l;if((c[h>>2]|0)!=(d|0)){c[e>>2]=4;j=0;break}if(n>>>0>0|(n|0)==0&m>>>0>65535|(o|0)==34){c[e>>2]=4;j=-1;break}else{j=m&65535;break}}else{c[e>>2]=4;j=0}while(0);i=g;return j|0}function dx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+16|0;g=f;do if((a|0)!=(b|0)){h=el()|0;j=c[h>>2]|0;c[h>>2]=0;k=_k(a,g,e,$p()|0)|0;l=D;m=c[h>>2]|0;if(!m)c[h>>2]=j;if((c[g>>2]|0)!=(b|0)){c[d>>2]=4;n=0;o=0;break}if((m|0)==34){c[d>>2]=4;m=(l|0)>0|(l|0)==0&k>>>0>0;D=m?2147483647:-2147483648;i=f;return (m?-1:0)|0}else{n=l;o=k}}else{c[d>>2]=4;n=0;o=0}while(0);D=n;i=f;return o|0}function ex(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+16|0;g=f;a:do if((a|0)==(b|0)){c[d>>2]=4;h=0}else{j=el()|0;k=c[j>>2]|0;c[j>>2]=0;l=_k(a,g,e,$p()|0)|0;m=D;n=c[j>>2]|0;if(!n)c[j>>2]=k;if((c[g>>2]|0)!=(b|0)){c[d>>2]=4;h=0;break}do if((n|0)==34){c[d>>2]=4;if((m|0)>0|(m|0)==0&l>>>0>0){h=2147483647;break a}}else{if((m|0)<-1|(m|0)==-1&l>>>0<2147483648){c[d>>2]=4;break}if((m|0)>0|(m|0)==0&l>>>0>2147483647){c[d>>2]=4;h=2147483647;break a}else{h=l;break a}}while(0);h=-2147483648}while(0);i=f;return h|0}function fx(){}function gx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (D=e,a-c>>>0|0)|0}function hx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;g=b&3;h=d|d<<8|d<<16|d<<24;i=f&~3;if(g){g=b+4-g|0;while((b|0)<(g|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(i|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function ix(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (D=b+d+(e>>>0<a>>>0|0)>>>0,e|0)|0}function jx(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}D=0;return b>>>c-32|0}function kx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ta(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function lx(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}D=a<<c-32;return 0}function mx(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else kx(b,c,d)|0;return b|0}function nx(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}D=(b|0)<0?-1:0;return b>>c-32|0}function ox(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function px(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=$(d,c)|0;f=a>>>16;a=(e>>>16)+($(d,f)|0)|0;d=b>>>16;b=$(d,c)|0;return (D=(a>>>16)+($(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function qx(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=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=gx(e^a,f^b,e,f)|0;b=D;a=g^e;e=h^f;return gx((vx(i,b,gx(g^c,h^d,g,h)|0,D,0)|0)^a,D^e,a,e)|0}function rx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+16|0;g=f|0;h=b>>31|((b|0)<0?-1:0)<<1;j=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;l=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;m=gx(h^a,j^b,h,j)|0;b=D;vx(m,b,gx(k^d,l^e,k,l)|0,D,g)|0;l=gx(c[g>>2]^h,c[g+4>>2]^j,h,j)|0;j=D;i=f;return (D=j,l)|0}function sx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=px(e,a)|0;f=D;return (D=($(b,a)|0)+($(d,e)|0)+f|f&0,c|0|0)|0}function tx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return vx(a,b,c,d,0)|0}function ux(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f|0;vx(a,b,d,e,g)|0;i=f;return (D=c[g+4>>2]|0,c[g>>2]|0)|0}function vx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,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,E=0,F=0,G=0,H=0;g=a;h=b;i=h;j=d;k=e;l=k;if(!i){m=(f|0)!=0;if(!l){if(m){c[f>>2]=(g>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (D=n,o)|0}else{if(!m){n=0;o=0;return (D=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;o=0;return (D=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(ba(l|0)|0)-(ba(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<<r;v=i>>>(q>>>0)&s;w=0;x=g<<r;break}if(!f){n=0;o=0;return (D=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (D=n,o)|0}r=j-1|0;if(r&j){s=(ba(j|0)|0)+33-(ba(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<<p|g>>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<<q&y;x=(i<<q|g>>>(z>>>0))&y|g<<p&s-33>>31;break}if(f){c[f>>2]=r&g;c[f+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (D=n,o)|0}else{r=ox(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (D=n,o)|0}}else{if(m){if(f){c[f>>2]=(i>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (D=n,o)|0}if(!g){if(f){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (D=n,o)|0}r=l-1|0;if(!(r&l)){if(f){c[f>>2]=a|0;c[f+4>>2]=r&i|b&0}n=0;o=i>>>((ox(l|0)|0)>>>0);return (D=n,o)|0}r=(ba(l|0)|0)-(ba(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<<p|g>>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<<p;break}if(!f){n=0;o=0;return (D=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (D=n,o)|0}while(0);if(!t){B=x;C=w;E=v;F=u;G=0;H=0}else{b=d|0|0;d=k|e&0;e=ix(b|0,d|0,-1,-1)|0;k=D;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;gx(e,k,g,a)|0;i=D;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=gx(g,a,l&b,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&d)|0;w=D;u=u-1|0}while((u|0)!=0);B=h;C=x;E=w;F=v;G=0;H=t}t=C;C=0;if(f){c[f>>2]=F;c[f+4>>2]=E}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|G;o=(t<<1|0>>>31)&-2|H;return (D=n,o)|0}function wx(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return xb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function xx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return yb[a&31](b|0,c|0,d|0)|0}function yx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;zb[a&3](b|0,c|0,+d)}function zx(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;Ab[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function Ax(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Bb[a&3](b|0,c|0,d|0,e|0,f|0)}function Bx(a,b,c){a=a|0;b=b|0;c=c|0;return +Cb[a&3](b|0,c|0)}function Cx(a,b){a=a|0;b=b|0;return +Db[a&3](b|0)}function Dx(a,b){a=a|0;b=b|0;Eb[a&255](b|0)}function Ex(a,b,c){a=a|0;b=b|0;c=c|0;Fb[a&127](b|0,c|0)}function Fx(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 Gb[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Gx(a,b){a=a|0;b=b|0;return Hb[a&127](b|0)|0}function Hx(a,b,c){a=a|0;b=b|0;c=+c;return Ib[a&1](b|0,+c)|0}function Ix(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;return Jb[a&3](b|0,c|0,d|0,e|0,f|0,+g)|0}function Jx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Kb[a&7](b|0,c|0,d|0)}function Kx(a){a=a|0;Lb[a&3]()}function Lx(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return Mb[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Mx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Nb[a&15](b|0,c|0,d|0,e|0)|0}function Nx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ob[a&15](b|0,c|0,d|0,e|0)}function Ox(a,b,c){a=a|0;b=b|0;c=c|0;return Pb[a&63](b|0,c|0)|0}function Px(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return Qb[a&7](b|0,c|0,d|0,e|0,+f)|0}function Qx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Rb[a&31](b|0,c|0,d|0,e|0,f|0)|0}function Rx(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;ca(0);return 0}function Sx(a,b,c){a=a|0;b=b|0;c=c|0;ca(1);return 0}function Tx(a,b,c){a=a|0;b=b|0;c=+c;ca(2)}function Ux(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)}function Vx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(4)}function Wx(a,b){a=a|0;b=b|0;ca(5);return 0.0}function Xx(a){a=a|0;ca(6);return 0.0}function Yx(a){a=a|0;ca(7)}function Zx(a,b){a=a|0;b=b|0;ca(8)}function _x(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(9);return 0}function $x(a){a=a|0;ca(10);return 0}function ay(a,b){a=a|0;b=+b;ca(11);return 0}function by(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ca(12);return 0}function cy(a,b,c){a=a|0;b=b|0;c=c|0;ca(13)}function dy(){ca(14)}function ey(){ob()}function fy(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ca(15);return 0}function gy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(16);return 0}function hy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(17)}function iy(a,b){a=a|0;b=b|0;ca(18);return 0}function jy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ca(19);return 0}function ky(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(20);return 0} // EMSCRIPTEN_END_FUNCS var xb=[Rx,Ur,Yr,Ss,Ws,$s,bt,Rx];var yb=[Sx,uo,zo,Do,Bk,Hm,Tl,Sl,Rl,Ul,Jo,Oo,an,So,mn,Hp,Mp,rt,wt,eu,gu,ju,Qt,Vt,Xt,_t,Em,Sx,Sx,Sx,Sx,Sx];var zb=[Tx,Te,Vf,kh];var Ab=[Ux,Af,Qk,Pk,Ok,Ko,vo,st,xt,Ux,Ux,Ux,Ux,Ux,Ux,Ux];var Bb=[Vx,Nk,Mk,Jk];var Cb=[Wx,Se,jh,Wx];var Db=[Xx,ai,Cj,rj];var Eb=[Yx,yc,Ac,zc,Fc,se,te,ue,ve,oe,pe,Ee,Fe,Ze,Ff,Gf,zh,Hf,Ah,If,Uo,Wo,Vo,Xo,yf,zf,up,xp,vp,yp,wp,zp,cp,ep,dp,fp,Nf,Of,Zf,pg,qg,sg,tg,$g,Cg,Dg,Gg,Sg,Tg,Yg,Zg,Bi,Ci,Ii,Ji,Fj,Gj,Hj,Ij,vi,Ej,uj,vj,wj,xj,tj,jj,kj,lj,mj,gj,ij,hj,Zi,_i,$i,aj,Yi,Ui,Vi,Wi,Xi,Ti,Yj,Zj,_j,$j,Xj,Pj,Qj,Rj,Sj,Oj,jk,kk,qk,rk,tk,vk,yk,wk,xk,zk,Ak,Fo,Zm,dn,qo,jn,pn,ro,Go,Zo,$o,_o,ap,np,pp,op,qp,lo,Ap,Cp,Ep,Nt,Ip,Jp,Np,Op,aq,bq,uq,vq,Jq,Kq,Wq,Xq,tr,ur,Rr,Tr,Wr,Xr,_r,$r,js,ks,us,vs,Fs,Gs,Qs,Rs,Zs,_s,dt,et,jt,kt,pt,qt,ut,vt,Ct,Dt,bu,cu,wv,tu,Vu,Wu,Xu,Yu,Dp,Mt,Pt,lu,Bu,Ju,Ru,Su,In,$b,ac,sf,Vg,ni,qi,Xk,Am,Bm,Sm,Ts,Ot,Fw,Mw,Nw,Ow,Pw,Qw,Rw,$n,Mm,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx];var Fb=[Zx,fc,gc,Ge,He,Ie,Je,Le,Re,Ue,Ve,We,wf,Xe,af,to,ch,dh,eh,fh,hh,ih,lh,mh,Xf,ng,Tf,ag,nh,sh,uh,zi,Gi,Bj,qj,ej,Wj,Mj,_m,cn,kn,on,Io,cs,ds,es,fs,hs,is,ns,os,ps,qs,ss,ts,ys,zs,As,Bs,Ds,Es,Js,Ks,Ls,Ms,Os,Ps,tt,yt,bv,dv,fv,cv,ev,gv,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx];var Gb=[_x,Pp,Qp,Rp,Sp,Tp,Up,Vp,Wp,Xp,Yp,Zp,cq,dq,eq,fq,gq,hq,iq,jq,kq,lq,mq,Bq,Dq,Oq,Qq,Zq,_q,$q,br,dr,wr,xr,yr,Ar,Cr,it,ot,_x,_x,_x,_x,_x,_x,_x,_x,_x,_x,_x,_x,_x,_x,_x,_x,_x,_x,_x,_x,_x,_x,_x,_x,_x];var Hb=[$x,vf,Ke,Me,Ne,Oe,Pe,Qe,xo,yo,Cf,Bo,bh,gh,ah,Qf,Pf,qh,rh,ph,oh,Hg,Jg,Ig,wi,bi,ci,di,Ai,fi,Di,ei,Hi,yj,Dj,nj,sj,bj,fj,Tj,Jj,Nj,lk,sk,Ql,$m,No,Po,Qo,Mo,en,fn,ln,Ao,qn,rn,Yq,iv,kv,mv,sv,uv,ov,qv,vr,jv,lv,nv,tv,vv,pv,rv,as,bs,gs,ls,ms,rs,ws,xs,Cs,Hs,Is,Ns,xu,yu,Au,Zu,$u,_u,av,pu,qu,su,Fu,Gu,Iu,Nu,Ou,Qu,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x];var Ib=[ay,ic];var Jb=[by,ft,lt,by];var Kb=[cy,hc,Dc,Ec,Ic,Jc,re,cy];var Lb=[dy,ey,Uk,Vk];var Mb=[fy,fr,Er,uu,vu,mu,nu,Cu,Du,Ku,Lu,fy,fy,fy,fy,fy];var Nb=[gy,Ye,Rf,ug,Eg,_g,iu,Rt,St,Tt,Zt,gy,gy,gy,gy,gy];var Ob=[hy,$e,Bf,_f,wg,Kg,th,Dk,Ek,Gk,Lo,wo,Gp,Lp,hy,hy];var Pb=[iy,Bc,Cc,Gc,Hc,An,qe,Df,Ef,xi,yi,ji,hi,Ei,Fi,gi,ii,zj,Aj,oj,pj,cj,dj,Uj,Vj,Kj,Lj,Ro,bn,gn,To,Co,nn,sn,Eo,du,fu,hu,Ut,Wt,Yt,iy,iy,iy,iy,iy,iy,iy,iy,iy,iy,iy,iy,iy,iy,iy,iy,iy,iy,iy,iy,iy,iy,iy];var Qb=[jy,Eq,Hq,Rq,Tq,jy,jy,jy];var Rb=[ky,Fp,Kp,wq,xq,Cq,Iq,Lq,Mq,Pq,Uq,ku,wu,zu,$t,ou,ru,Eu,Hu,Mu,Pu,ky,ky,ky,ky,ky,ky,ky,ky,ky,ky,ky];return{_malloc:Lm,___cxa_can_catch:Rk,_free:Mm,___cxa_is_pointer_type:Sk,_i64Add:ix,_piperRequestJson:bc,_i64Subtract:gx,_memset:hx,_piperProcessRaw:dc,_memcpy:kx,_memmove:mx,_piperFreeJson:ec,_bitshift64Lshr:jx,_bitshift64Shl:lx,__GLOBAL__I_000101:Tm,__GLOBAL__sub_I_vamp_test_plugin_cpp:Qc,__GLOBAL__sub_I_PluginLoader_cpp:Ug,__GLOBAL__sub_I_PluginSummarisingAdapter_cpp:Wg,__GLOBAL__sub_I_iostream_cpp:Um,runPostSets:fx,stackAlloc:Sb,stackSave:Tb,stackRestore:Ub,establishStackSpace:Vb,setThrew:Wb,setTempRet0:Zb,getTempRet0:_b,dynCall_iiiiiiii:wx,dynCall_iiii:xx,dynCall_viid:yx,dynCall_viiiiii:zx,dynCall_viiiii:Ax,dynCall_dii:Bx,dynCall_di:Cx,dynCall_vi:Dx,dynCall_vii:Ex,dynCall_iiiiiii:Fx,dynCall_ii:Gx,dynCall_iid:Hx,dynCall_iiiiiid:Ix,dynCall_viii:Jx,dynCall_v:Kx,dynCall_iiiiiiiii:Lx,dynCall_iiiii:Mx,dynCall_viiii:Nx,dynCall_iii:Ox,dynCall_iiiiid:Px,dynCall_iiiiii:Qx}}) // EMSCRIPTEN_END_ASM (Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _piperProcessRaw=Module["_piperProcessRaw"]=asm["_piperProcessRaw"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var __GLOBAL__sub_I_PluginLoader_cpp=Module["__GLOBAL__sub_I_PluginLoader_cpp"]=asm["__GLOBAL__sub_I_PluginLoader_cpp"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _piperRequestJson=Module["_piperRequestJson"]=asm["_piperRequestJson"];var __GLOBAL__sub_I_PluginSummarisingAdapter_cpp=Module["__GLOBAL__sub_I_PluginSummarisingAdapter_cpp"]=asm["__GLOBAL__sub_I_PluginSummarisingAdapter_cpp"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _piperFreeJson=Module["_piperFreeJson"]=asm["_piperFreeJson"];var _memset=Module["_memset"]=asm["_memset"];var _malloc=Module["_malloc"]=asm["_malloc"];var __GLOBAL__sub_I_vamp_test_plugin_cpp=Module["__GLOBAL__sub_I_vamp_test_plugin_cpp"]=asm["__GLOBAL__sub_I_vamp_test_plugin_cpp"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=asm["__GLOBAL__sub_I_iostream_cpp"];var _memmove=Module["_memmove"]=asm["_memmove"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=asm["__GLOBAL__I_000101"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viid=Module["dynCall_viid"]=asm["dynCall_viid"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_dii=Module["dynCall_dii"]=asm["dynCall_dii"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iid=Module["dynCall_iid"]=asm["dynCall_iid"];var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=asm["dynCall_iiiiiid"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiid=Module["dynCall_iiiiid"]=asm["dynCall_iiiiid"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];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){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",(function(){process["exit"](status)}));console.log(" ");setTimeout((function(){process["exit"](status)}),500)}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() return Module; }; });