diff options
author | Florian Dold <florian.dold@gmail.com> | 2016-02-18 22:50:17 +0100 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2016-02-18 22:50:27 +0100 |
commit | 079e764ae6f827b1fa7c12b26f370199fc5e4d48 (patch) | |
tree | e938a0868edfaa7bfc7d38b92ed26e978446f142 /extension | |
parent | 0f607edbb2146ff82f9dcd71a1fe2905630c0d58 (diff) | |
download | wallet-core-079e764ae6f827b1fa7c12b26f370199fc5e4d48.tar.xz |
fix #4121 and #4115
Diffstat (limited to 'extension')
-rw-r--r-- | extension/lib/emscripten/libwrapper.js | 22 | ||||
-rw-r--r-- | extension/lib/wallet/emscriptif.ts | 70 | ||||
-rw-r--r-- | extension/lib/wallet/types.ts | 52 | ||||
-rw-r--r-- | extension/lib/wallet/wallet.ts | 224 | ||||
-rw-r--r-- | extension/lib/wallet/wxmessaging.ts | 35 | ||||
-rw-r--r-- | extension/manifest.json | 1 | ||||
-rw-r--r-- | extension/pages/confirm-create-reserve.js | 101 | ||||
-rw-r--r-- | extension/pages/confirm-create-reserve.tsx | 118 | ||||
-rw-r--r-- | extension/style/wallet.css | 17 |
9 files changed, 536 insertions, 104 deletions
diff --git a/extension/lib/emscripten/libwrapper.js b/extension/lib/emscripten/libwrapper.js index 94c48f1d8..cea7b201b 100644 --- a/extension/lib/emscripten/libwrapper.js +++ b/extension/lib/emscripten/libwrapper.js @@ -1,23 +1,23 @@ -var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=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){abort("NO_DYNAMIC_EXECUTION=1 was set, cannot eval")}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){abort("NO_DYNAMIC_EXECUTION=1 was set, cannot eval")}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};cwrap=function cwrap(ident,returnType,argTypes){return(function(){return ccall(ident,returnType,argTypes,arguments)})}}))();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=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;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");if(Module["buffer"]){buffer=Module["buffer"];assert(buffer.byteLength===TOTAL_MEMORY,"provided buffer should be "+TOTAL_MEMORY+" bytes, but it is "+buffer.byteLength)}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();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+77568;__ATINIT__.push({func:(function(){_GNUNET_util_cl_init()})},{func:(function(){_GNUNET_CRYPTO_random_init()})},{func:(function(){_gpg_err_init()})});allocate([0,0,0,0,0,0,0,0,102,154,0,127,199,106,69,159,152,186,249,23,254,223,149,34,17,154,0,127,199,106,69,159,152,186,249,23,254,223,149,51,6,154,0,127,199,106,69,159,152,186,249,23,254,223,149,33,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,34,174,40,215,152,47,138,66,205,101,239,35,145,68,55,113,47,59,77,236,207,251,192,181,188,219,137,129,165,219,181,233,56,181,72,243,91,194,86,57,25,208,5,182,241,17,241,89,155,79,25,175,164,130,63,146,24,129,109,218,213,94,28,171,66,2,3,163,152,170,7,216,190,111,112,69,1,91,131,18,140,178,228,78,190,133,49,36,226,180,255,213,195,125,12,85,111,137,123,242,116,93,190,114,177,150,22,59,254,177,222,128,53,18,199,37,167,6,220,155,148,38,105,207,116,241,155,193,210,74,241,158,193,105,155,228,227,37,79,56,134,71,190,239,181,213,140,139,198,157,193,15,101,156,172,119,204,161,12,36,117,2,43,89,111,44,233,45,131,228,166,110,170,132,116,74,212,251,65,189,220,169,176,92,181,83,17,131,218,136,249,118,171,223,102,238,82,81,62,152,16,50,180,45,109,198,49,168,63,33,251,152,200,39,3,176,228,14,239,190,199,127,89,191,194,143,168,61,243,11,224,198,37,167,10,147,71,145,167,213,111,130,3,224,81,99,202,6,112,110,14,10,103,41,41,20,252,47,210,70,133,10,183,39,38,201,38,92,56,33,27,46,237,42,196,90,252,109,44,77,223,179,149,157,19,13,56,83,222,99,175,139,84,115,10,101,168,178,119,60,187,10,106,118,230,174,237,71,46,201,194,129,59,53,130,20,133,44,114,146,100,3,241,76,161,232,191,162,1,48,66,188,75,102,26,168,145,151,248,208,112,139,75,194,48,190,84,6,163,81,108,199,24,82,239,214,25,232,146,209,16,169,101,85,36,6,153,214,42,32,113,87,133,53,14,244,184,209,187,50,112,160,106,16,200,208,210,184,22,193,164,25,83,171,65,81,8,108,55,30,153,235,142,223,76,119,72,39,168,72,155,225,181,188,176,52,99,90,201,197,179,12,28,57,203,138,65,227,74,170,216,78,115,227,99,119,79,202,156,91,163,184,178,214,243,111,46,104,252,178,239,93,238,130,143,116,96,47,23,67,111,99,165,120,114,171,240,161,20,120,200,132,236,57,100,26,8,2,199,140,40,30,99,35,250,255,190,144,233,189,130,222,235,108,80,164,21,121,198,178,247,163,249,190,43,83,114,227,242,120,113,198,156,97,38,234,206,62,39,202,7,194,192,33,199,184,134,209,30,235,224,205,214,125,218,234,120,209,110,238,127,79,125,245,186,111,23,114,170,103,240,6,166,152,200,162,197,125,99,10,174,13,249,190,4,152,63,17,27,71,28,19,53,11,113,27,132,125,4,35,245,119,219,40,147,36,199,64,123,171,202,50,188,190,201,21,10,190,158,60,76,13,16,156,196,103,29,67,182,66,62,203,190,212,197,76,42,126,101,252,156,41,127,89,236,250,214,58,171,111,203,95,23,88,71,74,140,25,68,108,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,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,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,60,85,0,0,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,251,88,0,0,2,0,0,0,7,89,0,0,4,0,0,0,19,89,0,0,8,0,0,0,31,89,0,0,16,0,0,0,44,89,0,0,32,0,0,0,54,89,0,0,64,0,0,0,65,89,0,0,128,0,0,0,77,89,0,0,0,1,0,0,90,89,0,0,0,2,0,0,102,89,0,0,0,4,0,0,115,89,0,0,0,8,0,0,125,89,0,0,0,16,0,0,136,89,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,2,0,0,0,11,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,2,0,0,0,11,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,104,17,0,0,160,28,0,0,20,29,0,0,116,32,0,0,180,48,0,0,0,0,0,0,168,140,0,0,0,1,0,0,0,0,0,0,2,0,0,0,1,0,0,0,60,96,0,0,127,96,0,0,133,96,0,0,201,96,0,0,12,97,0,0,79,97,0,0,146,97,0,0,151,97,0,0,192,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,162,97,0,0,213,97,0,0,8,98,0,0,59,98,0,0,110,98,0,0,161,98,0,0,212,98,0,0,217,98,0,0,224,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,228,98,0,0,31,99,0,0,90,99,0,0,149,99,0,0,208,99,0,0,11,100,0,0,212,98,0,0,70,100,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,81,100,0,0,148,100,0,0,215,100,0,0,26,101,0,0,93,101,0,0,160,101,0,0,212,98,0,0,227,101,0,0,128,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,238,101,0,0,81,102,0,0,180,102,0,0,23,103,0,0,122,103,0,0,221,103,0,0,212,98,0,0,64,104,0,0,9,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,75,104,0,0,210,104,0,0,89,105,0,0,223,105,0,0,101,106,0,0,236,106,0,0,212,98,0,0,115,107,0,0,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,107,0,0,174,107,0,0,217,107,0,0,4,108,0,0,47,108,0,0,90,108,0,0,212,98,0,0,133,108,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,108,0,0,200,108,0,0,251,108,0,0,46,109,0,0,97,109,0,0,148,109,0,0,212,98,0,0,199,109,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,215,109,0,0,18,110,0,0,77,110,0,0,136,110,0,0,195,110,0,0,254,110,0,0,212,98,0,0,57,111,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,111,0,0,140,111,0,0,207,111,0,0,18,112,0,0,85,112,0,0,152,112,0,0,212,98,0,0,219,112,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,235,112,0,0,62,113,0,0,145,113,0,0,228,113,0,0,55,114,0,0,138,114,0,0,212,98,0,0,221,114,0,0,128,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,237,114,0,0,80,115,0,0,179,115,0,0,22,116,0,0,121,116,0,0,220,116,0,0,212,98,0,0,63,117,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,117,0,0,210,117,0,0,85,118,0,0,216,118,0,0,91,119,0,0,222,119,0,0,212,98,0,0,97,120,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,120,0,0,178,120,0,0,245,120,0,0,56,121,0,0,123,121,0,0,190,121,0,0,212,98,0,0,1,122,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,122,0,0,89,122,0,0,156,122,0,0,223,122,0,0,34,123,0,0,101,123,0,0,212,98,0,0,168,123,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,189,123,0,0,0,124,0,0,67,124,0,0,134,124,0,0,34,123,0,0,201,124,0,0,212,98,0,0,12,125,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,125,0,0,100,125,0,0,167,125,0,0,234,125,0,0,45,126,0,0,112,126,0,0,212,98,0,0,179,126,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,126,0,0,178,120,0,0,68,127,0,0,199,127,0,0,74,128,0,0,205,128,0,0,212,98,0,0,80,129,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,129,0,0,227,129,0,0,102,130,0,0,233,130,0,0,108,131,0,0,239,131,0,0,212,98,0,0,114,132,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,132,0,0,5,133,0,0,136,133,0,0,11,134,0,0,142,134,0,0,17,135,0,0,212,98,0,0,148,135,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,135,0,0,45,126,0,0,178,120,0,0,225,135,0,0,36,136,0,0,103,136,0,0,212,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,140,0,0,170,136,0,0,151,97,0,0,193,136,0,0,151,97,0,0,213,136,0,0,151,97,0,0,224,136,0,0,151,97,0,0,234,136,0,0,217,98,0,0,243,136,0,0,217,98,0,0,253,136,0,0,217,98,0,0,10,137,0,0,70,100,0,0,19,137,0,0,70,100,0,0,39,137,0,0,70,100,0,0,50,137,0,0,70,100,0,0,60,137,0,0,227,101,0,0,69,137,0,0,227,101,0,0,79,137,0,0,227,101,0,0,92,137,0,0,64,104,0,0,101,137,0,0,64,104,0,0,111,137,0,0,64,104,0,0,124,137,0,0,115,107,0,0,133,137,0,0,133,108,0,0,154,137,0,0,199,109,0,0,175,137,0,0,57,111,0,0,196,137,0,0,219,112,0,0,217,137,0,0,221,114,0,0,238,137,0,0,63,117,0,0,4,138,0,0,97,120,0,0,26,138,0,0,1,122,0,0,43,138,0,0,168,123,0,0,60,138,0,0,12,125,0,0,77,138,0,0,1,122,0,0,94,138,0,0,12,125,0,0,118,138,0,0,1,122,0,0,142,138,0,0,12,125,0,0,159,138,0,0,80,129,0,0,176,138,0,0,114,132,0,0,196,138,0,0,148,135,0,0,216,138,0,0,0,0,0,0,0,0,0,0,228,141,0,0,242,141,0,0,15,142,0,0,163,14,1,9,139,198,219,191,69,105,15,58,126,158,109,15,139,190,162,163,158,97,72,0,143,208,94,68,20,142,0,0,34,142,0,0,43,142,0,0,137,111,177,18,138,187,223,25,104,50,16,124,212,157,243,63,71,180,177,22,153,18,186,79,83,104,75,34,64,142,0,0,79,142,0,0,130,142,0,0,127,179,203,53,136,198,193,246,255,169,105,77,125,106,210,100,147,101,176,193,246,93,105,209,236,131,51,234,151,142,0,0,166,142,0,0,217,142,0,0,108,17,80,104,116,1,60,172,106,42,188,27,179,130,98,124,236,106,144,216,110,252,1,45,231,175,236,90,243,142,0,0,3,143,0,0,58,143,0,0,149,233,160,219,150,32,149,173,174,190,155,45,111,13,188,226,212,153,241,18,242,210,183,39,63,166,135,14,190,143,0,0,207,143,0,0,58,143,0,0,58,133,65,102,172,93,159,2,63,84,213,23,208,179,157,189,148,103,112,219,156,43,149,201,246,245,101,209,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,141,0,0,242,141,0,0,15,142,0,0,91,220,193,70,191,96,117,78,106,4,36,38,8,149,117,199,90,0,63,8,157,39,57,131,157,236,88,185,100,236,56,67,20,142,0,0,34,142,0,0,43,142,0,0,176,52,76,97,216,219,56,83,92,168,175,206,175,11,241,43,136,29,194,0,201,131,61,167,38,233,55,108,46,50,207,247,64,142,0,0,79,142,0,0,130,142,0,0,119,62,169,30,54,128,14,70,133,77,184,235,208,145,129,167,41,89,9,139,62,248,193,34,217,99,85,20,206,213,101,254,151,142,0,0,166,142,0,0,217,142,0,0,130,85,138,56,154,68,60,14,164,204,129,152,153,242,8,58,133,240,250,163,229,120,248,7,122,46,63,244,103,41,102,91,243,142,0,0,3,143,0,0,58,143,0,0,96,228,49,89,30,224,182,127,13,138,38,170,203,245,183,127,142,11,198,33,55,40,197,20,5,70,4,15,14,227,127,84,190,143,0,0,207,143,0,0,58,143,0,0,155,9,255,167,27,148,47,203,39,99,95,188,213,176,233,68,191,220,99,100,79,7,19,147,138,127,81,83,92,58,53,226,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,141,0,0,242,141,0,0,15,142,0,0,175,69,210,227,118,72,64,49,97,127,120,210,181,138,107,27,156,126,244,100,245,160,27,71,228,46,195,115,99,34,68,94,142,34,64,202,94,105,226,199,139,50,57,236,250,178,22,73,20,142,0,0,34,142,0,0,43,142,0,0,175,208,57,68,216,72,149,98,107,8,37,244,171,70,144,127,21,249,218,219,228,16,30,198,130,170,3,76,124,235,197,156,250,234,158,169,7,110,222,127,74,241,82,232,178,250,156,182,64,142,0,0,79,142,0,0,130,142,0,0,136,6,38,8,211,230,173,138,10,162,172,224,20,200,168,111,10,166,53,217,71,172,159,235,232,62,244,229,89,102,20,75,42,90,179,157,193,56,20,185,78,58,182,225,1,163,79,39,151,142,0,0,166,142,0,0,217,142,0,0,62,138,105,183,120,60,37,133,25,51,171,98,144,175,108,167,122,153,129,72,8,80,0,156,197,87,124,110,31,87,59,78,104,1,221,35,196,167,214,121,204,248,163,134,198,116,207,251,243,142,0,0,3,143,0,0,58,143,0,0,78,206,8,68,133,129,62,144,136,210,198,58,4,27,197,180,79,158,241,1,42,43,88,143,60,209,31,5,3,58,196,198,12,46,246,171,64,48,254,130,150,36,141,241,99,244,73,82,190,143,0,0,207,143,0,0,58,143,0,0,102,23,23,142,148,31,2,13,53,30,47,37,78,143,211,44,96,36,32,254,176,184,251,154,220,206,187,130,70,30,153,197,166,120,204,49,231,153,23,109,56,96,230,17,12,70,82,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,141,0,0,242,141,0,0,15,142,0,0,22,75,122,123,252,248,25,226,227,149,251,231,59,86,224,163,135,189,100,34,46,131,31,214,16,39,12,215,234,37,5,84,151,88,191,117,192,90,153,74,109,3,79,101,248,240,230,253,202,234,177,163,77,74,107,75,99,110,7,10,56,188,231,55,20,142,0,0,34,142,0,0,43,142,0,0,135,170,124,222,165,239,97,157,79,240,180,36,26,29,108,176,35,121,244,226,206,78,194,120,122,208,179,5,69,225,124,222,218,168,51,183,214,184,167,2,3,139,39,78,174,163,244,228,190,157,145,78,235,97,241,112,46,105,108,32,58,18,104,84,64,142,0,0,79,142,0,0,130,142,0,0,250,115,176,8,157,86,162,132,239,176,240,117,108,137,11,233,177,181,219,221,142,232,26,54,85,248,62,51,178,39,157,57,191,62,132,130,121,167,34,200,6,180,133,164,126,103,200,7,185,70,163,55,190,232,148,38,116,39,136,89,225,50,146,251,151,142,0,0,166,142,0,0,217,142,0,0,176,186,70,86,55,69,140,105,144,229,168,197,246,29,74,247,229,118,217,127,249,75,135,45,231,111,128,80,54,30,227,219,169,28,165,193,26,162,94,180,214,121,39,92,197,120,128,99,165,241,151,65,18,12,79,45,226,173,235,235,16,162,152,221,243,142,0,0,3,143,0,0,58,143,0,0,128,178,66,99,199,193,163,235,183,20,147,193,221,123,232,180,155,70,209,244,27,74,238,193,18,27,1,55,131,248,243,82,107,86,208,55,224,95,37,152,189,15,210,33,93,106,30,82,149,230,79,115,246,63,10,236,139,145,90,152,93,120,101,152,190,143,0,0,207,143,0,0,58,143,0,0,227,123,106,119,93,200,125,186,164,223,169,249,110,94,63,253,222,189,113,248,134,114,137,134,93,245,163,45,32,205,201,68,182,2,44,172,60,73,130,177,13,94,235,85,195,228,222,21,19,70,118,251,109,224,68,96,101,201,116,64,250,140,106,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,30,0,0,180,31,0,0,120,30,0,0,244,31,0,0,52,32,0,0,136,29,0,0,0,0,0,0,156,2,0,0,183,147,0,0,2,0,0,0,188,147,0,0,1,0,0,0,192,147,0,0,8,0,0,0,199,147,0,0,3,0,0,0,209,147,0,0,3,0,0,0,216,147,0,0,9,0,0,0,223,147,0,0,10,0,0,0,230,147,0,0,11,0,0,0,237,147,0,0,5,0,0,0,241,147,0,0,45,1,0,0,245,147,0,0,6,0,0,0,251,147,0,0,7,0,0,0,0,0,0,0,0,0,0,0,32,50,0,0,200,29,0,0,0,0,0,0,7,0,0,0,2,0,0,0,145,148,0,0,168,17,0,0,184,17,0,0,16,0,0,0,128,0,0,0,248,1,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,149,148,0,0,158,148,0,0,165,148,0,0,0,0,0,0,173,148,0,0,1,0,0,0,196,148,0,0,3,0,0,0,219,148,0,0,5,0,0,0,242,148,0,0,2,0,0,0,0,0,0,0,0,0,0,0,198,99,99,165,248,124,124,132,238,119,119,153,246,123,123,141,255,242,242,13,214,107,107,189,222,111,111,177,145,197,197,84,96,48,48,80,2,1,1,3,206,103,103,169,86,43,43,125,231,254,254,25,181,215,215,98,77,171,171,230,236,118,118,154,143,202,202,69,31,130,130,157,137,201,201,64,250,125,125,135,239,250,250,21,178,89,89,235,142,71,71,201,251,240,240,11,65,173,173,236,179,212,212,103,95,162,162,253,69,175,175,234,35,156,156,191,83,164,164,247,228,114,114,150,155,192,192,91,117,183,183,194,225,253,253,28,61,147,147,174,76,38,38,106,108,54,54,90,126,63,63,65,245,247,247,2,131,204,204,79,104,52,52,92,81,165,165,244,209,229,229,52,249,241,241,8,226,113,113,147,171,216,216,115,98,49,49,83,42,21,21,63,8,4,4,12,149,199,199,82,70,35,35,101,157,195,195,94,48,24,24,40,55,150,150,161,10,5,5,15,47,154,154,181,14,7,7,9,36,18,18,54,27,128,128,155,223,226,226,61,205,235,235,38,78,39,39,105,127,178,178,205,234,117,117,159,18,9,9,27,29,131,131,158,88,44,44,116,52,26,26,46,54,27,27,45,220,110,110,178,180,90,90,238,91,160,160,251,164,82,82,246,118,59,59,77,183,214,214,97,125,179,179,206,82,41,41,123,221,227,227,62,94,47,47,113,19,132,132,151,166,83,83,245,185,209,209,104,0,0,0,0,193,237,237,44,64,32,32,96,227,252,252,31,121,177,177,200,182,91,91,237,212,106,106,190,141,203,203,70,103,190,190,217,114,57,57,75,148,74,74,222,152,76,76,212,176,88,88,232,133,207,207,74,187,208,208,107,197,239,239,42,79,170,170,229,237,251,251,22,134,67,67,197,154,77,77,215,102,51,51,85,17,133,133,148,138,69,69,207,233,249,249,16,4,2,2,6,254,127,127,129,160,80,80,240,120,60,60,68,37,159,159,186,75,168,168,227,162,81,81,243,93,163,163,254,128,64,64,192,5,143,143,138,63,146,146,173,33,157,157,188,112,56,56,72,241,245,245,4,99,188,188,223,119,182,182,193,175,218,218,117,66,33,33,99,32,16,16,48,229,255,255,26,253,243,243,14,191,210,210,109,129,205,205,76,24,12,12,20,38,19,19,53,195,236,236,47,190,95,95,225,53,151,151,162,136,68,68,204,46,23,23,57,147,196,196,87,85,167,167,242,252,126,126,130,122,61,61,71,200,100,100,172,186,93,93,231,50,25,25,43,230,115,115,149,192,96,96,160,25,129,129,152,158,79,79,209,163,220,220,127,68,34,34,102,84,42,42,126,59,144,144,171,11,136,136,131,140,70,70,202,199,238,238,41,107,184,184,211,40,20,20,60,167,222,222,121,188,94,94,226,22,11,11,29,173,219,219,118,219,224,224,59,100,50,50,86,116,58,58,78,20,10,10,30,146,73,73,219,12,6,6,10,72,36,36,108,184,92,92,228,159,194,194,93,189,211,211,110,67,172,172,239,196,98,98,166,57,145,145,168,49,149,149,164,211,228,228,55,242,121,121,139,213,231,231,50,139,200,200,67,110,55,55,89,218,109,109,183,1,141,141,140,177,213,213,100,156,78,78,210,73,169,169,224,216,108,108,180,172,86,86,250,243,244,244,7,207,234,234,37,202,101,101,175,244,122,122,142,71,174,174,233,16,8,8,24,111,186,186,213,240,120,120,136,74,37,37,111,92,46,46,114,56,28,28,36,87,166,166,241,115,180,180,199,151,198,198,81,203,232,232,35,161,221,221,124,232,116,116,156,62,31,31,33,150,75,75,221,97,189,189,220,13,139,139,134,15,138,138,133,224,112,112,144,124,62,62,66,113,181,181,196,204,102,102,170,144,72,72,216,6,3,3,5,247,246,246,1,28,14,14,18,194,97,97,163,106,53,53,95,174,87,87,249,105,185,185,208,23,134,134,145,153,193,193,88,58,29,29,39,39,158,158,185,217,225,225,56,235,248,248,19,43,152,152,179,34,17,17,51,210,105,105,187,169,217,217,112,7,142,142,137,51,148,148,167,45,155,155,182,60,30,30,34,21,135,135,146,201,233,233,32,135,206,206,73,170,85,85,255,80,40,40,120,165,223,223,122,3,140,140,143,89,161,161,248,9,137,137,128,26,13,13,23,101,191,191,218,215,230,230,49,132,66,66,198,208,104,104,184,130,65,65,195,41,153,153,176,90,45,45,119,30,15,15,17,123,176,176,203,168,84,84,252,109,187,187,214,44,22,22,58,81,244,167,80,126,65,101,83,26,23,164,195,58,39,94,150,59,171,107,203,31,157,69,241,172,250,88,171,75,227,3,147,32,48,250,85,173,118,109,246,136,204,118,145,245,2,76,37,79,229,215,252,197,42,203,215,38,53,68,128,181,98,163,143,222,177,90,73,37,186,27,103,69,234,14,152,93,254,192,225,195,47,117,2,129,76,240,18,141,70,151,163,107,211,249,198,3,143,95,231,21,146,156,149,191,109,122,235,149,82,89,218,212,190,131,45,88,116,33,211,73,224,105,41,142,201,200,68,117,194,137,106,244,142,121,120,153,88,62,107,39,185,113,221,190,225,79,182,240,136,173,23,201,32,172,102,125,206,58,180,99,223,74,24,229,26,49,130,151,81,51,96,98,83,127,69,177,100,119,224,187,107,174,132,254,129,160,28,249,8,43,148,112,72,104,88,143,69,253,25,148,222,108,135,82,123,248,183,171,115,211,35,114,75,2,226,227,31,143,87,102,85,171,42,178,235,40,7,47,181,194,3,134,197,123,154,211,55,8,165,48,40,135,242,35,191,165,178,2,3,106,186,237,22,130,92,138,207,28,43,167,121,180,146,243,7,242,240,78,105,226,161,101,218,244,205,6,5,190,213,209,52,98,31,196,166,254,138,52,46,83,157,162,243,85,160,5,138,225,50,164,246,235,117,11,131,236,57,64,96,239,170,94,113,159,6,189,110,16,81,62,33,138,249,150,221,6,61,221,62,5,174,77,230,189,70,145,84,141,181,113,196,93,5,4,6,212,111,96,80,21,255,25,152,251,36,214,189,233,151,137,64,67,204,103,217,158,119,176,232,66,189,7,137,139,136,231,25,91,56,121,200,238,219,161,124,10,71,124,66,15,233,248,132,30,201,0,0,0,0,9,128,134,131,50,43,237,72,30,17,112,172,108,90,114,78,253,14,255,251,15,133,56,86,61,174,213,30,54,45,57,39,10,15,217,100,104,92,166,33,155,91,84,209,36,54,46,58,12,10,103,177,147,87,231,15,180,238,150,210,27,155,145,158,128,192,197,79,97,220,32,162,90,119,75,105,28,18,26,22,226,147,186,10,192,160,42,229,60,34,224,67,18,27,23,29,14,9,13,11,242,139,199,173,45,182,168,185,20,30,169,200,87,241,25,133,175,117,7,76,238,153,221,187,163,127,96,253,247,1,38,159,92,114,245,188,68,102,59,197,91,251,126,52,139,67,41,118,203,35,198,220,182,237,252,104,184,228,241,99,215,49,220,202,66,99,133,16,19,151,34,64,132,198,17,32,133,74,36,125,210,187,61,248,174,249,50,17,199,41,161,109,29,158,47,75,220,178,48,243,13,134,82,236,119,193,227,208,43,179,22,108,169,112,185,153,17,148,72,250,71,233,100,34,168,252,140,196,160,240,63,26,86,125,44,216,34,51,144,239,135,73,78,199,217,56,209,193,140,202,162,254,152,212,11,54,166,245,129,207,165,122,222,40,218,183,142,38,63,173,191,164,44,58,157,228,80,120,146,13,106,95,204,155,84,126,70,98,246,141,19,194,144,216,184,232,46,57,247,94,130,195,175,245,159,93,128,190,105,208,147,124,111,213,45,169,207,37,18,179,200,172,153,59,16,24,125,167,232,156,99,110,219,59,187,123,205,38,120,9,110,89,24,244,236,154,183,1,131,79,154,168,230,149,110,101,170,255,230,126,33,188,207,8,239,21,232,230,186,231,155,217,74,111,54,206,234,159,9,212,41,176,124,214,49,164,178,175,42,63,35,49,198,165,148,48,53,162,102,192,116,78,188,55,252,130,202,166,224,144,208,176,51,167,216,21,241,4,152,74,65,236,218,247,127,205,80,14,23,145,246,47,118,77,214,141,67,239,176,77,204,170,77,84,228,150,4,223,158,209,181,227,76,106,136,27,193,44,31,184,70,101,81,127,157,94,234,4,1,140,53,93,250,135,116,115,251,11,65,46,179,103,29,90,146,219,210,82,233,16,86,51,109,214,71,19,154,215,97,140,55,161,12,122,89,248,20,142,235,19,60,137,206,169,39,238,183,97,201,53,225,28,229,237,122,71,177,60,156,210,223,89,85,242,115,63,24,20,206,121,115,199,55,191,83,247,205,234,95,253,170,91,223,61,111,20,120,68,219,134,202,175,243,129,185,104,196,62,56,36,52,44,194,163,64,95,22,29,195,114,188,226,37,12,40,60,73,139,255,13,149,65,57,168,1,113,8,12,179,222,216,180,228,156,100,86,193,144,123,203,132,97,213,50,182,112,72,108,92,116,208,184,87,66,82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125,1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,64,0,0,0,128,0,0,0,27,0,0,0,54,0,0,0,108,0,0,0,216,0,0,0,171,0,0,0,77,0,0,0,154,0,0,0,47,0,0,0,94,0,0,0,188,0,0,0,99,0,0,0,198,0,0,0,151,0,0,0,53,0,0,0,106,0,0,0,212,0,0,0,179,0,0,0,125,0,0,0,250,0,0,0,239,0,0,0,197,0,0,0,145,0,0,0,2,0,0,0,43,126,21,22,40,174,210,166,171,247,21,136,9,207,79,60,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,107,193,190,226,46,64,159,150,233,61,126,17,115,147,23,42,59,63,217,46,183,45,173,32,51,52,73,248,232,60,251,74,174,45,138,87,30,3,172,156,158,183,111,172,69,175,142,81,200,166,69,55,160,179,169,63,205,227,205,173,159,28,229,139,48,200,28,70,163,92,228,17,229,251,193,25,26,10,82,239,38,117,31,103,163,203,177,64,177,128,140,241,135,164,244,223,246,159,36,69,223,79,155,23,173,43,65,123,230,108,55,16,192,75,5,53,124,93,28,14,234,196,198,111,159,247,242,230,5,0,0,0,43,126,21,22,40,174,210,166,171,247,21,136,9,207,79,60,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,107,193,190,226,46,64,159,150,233,61,126,17,115,147,23,42,59,63,217,46,183,45,173,32,51,52,73,248,232,60,251,74,174,45,138,87,30,3,172,156,158,183,111,172,69,175,142,81,119,137,80,141,22,145,143,3,245,60,82,218,197,78,216,37,48,200,28,70,163,92,228,17,229,251,193,25,26,10,82,239,151,64,5,30,156,95,236,246,67,68,247,168,34,96,237,204,246,159,36,69,223,79,155,23,173,43,65,123,230,108,55,16,48,76,101,40,246,89,199,120,102,165,16,217,193,214,174,94,8,0,0,0,2,0,0,0,241,150,0,0,224,28,0,0,236,28,0,0,16,0,0,0,192,0,0,0,248,1,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,248,150,0,0,4,151,0,0,0,0,0,0,12,151,0,0,1,0,0,0,36,151,0,0,3,0,0,0,60,151,0,0,5,0,0,0,84,151,0,0,2,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,2,0,0,0,108,151,0,0,84,29,0,0,96,29,0,0,16,0,0,0,0,1,0,0,248,1,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,115,151,0,0,127,151,0,0,0,0,0,0,135,151,0,0,1,0,0,0,159,151,0,0,3,0,0,0,183,151,0,0,5,0,0,0,207,151,0,0,2,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,231,151,0,0,241,151,0,0,15,0,0,0,188,29,0,0,20,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,184,0,0,0,0,0,0,0,0,152,0,0,15,152,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,147,153,0,0,28,30,0,0,192,153,0,0,195,153,0,0,202,153,0,0,204,153,0,0,206,153,0,0,1,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,151,153,0,0,155,153,0,0,167,153,0,0,0,0,0,0,2,0,0,0,2,0,0,0,22,165,0,0,27,165,0,0,15,0,0,0,96,30,0,0,20,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,184,0,0,0,10,0,0,0,42,165,0,0,63,165,0,0,81,165,0,0,95,165,0,0,109,165,0,0,0,0,0,0,11,0,0,0,2,0,0,0,190,165,0,0,197,165,0,0,19,0,0,0,172,30,0,0,28,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,192,0,0,0,11,0,0,0,216,165,0,0,0,0,0,0,152,47,138,66,145,68,55,113,207,251,192,181,165,219,181,233,91,194,86,57,241,17,241,89,164,130,63,146,213,94,28,171,152,170,7,216,1,91,131,18,190,133,49,36,195,125,12,85,116,93,190,114,254,177,222,128,167,6,220,155,116,241,155,193,193,105,155,228,134,71,190,239,198,157,193,15,204,161,12,36,111,44,233,45,170,132,116,74,220,169,176,92,218,136,249,118,82,81,62,152,109,198,49,168,200,39,3,176,199,127,89,191,243,11,224,198,71,145,167,213,81,99,202,6,103,41,41,20,133,10,183,39,56,33,27,46,252,109,44,77,19,13,56,83,84,115,10,101,187,10,106,118,46,201,194,129,133,44,114,146,161,232,191,162,75,102,26,168,112,139,75,194,163,81,108,199,25,232,146,209,36,6,153,214,133,53,14,244,112,160,106,16,22,193,164,25,8,108,55,30,76,119,72,39,181,188,176,52,179,12,28,57,74,170,216,78,79,202,156,91,243,111,46,104,238,130,143,116,111,99,165,120,20,120,200,132,8,2,199,140,250,255,190,144,235,108,80,164,247,163,249,190,242,120,113,198,8,0,0,0,2,0,0,0,226,166,0,0,233,166,0,0,19,0,0,0,232,31,0,0,32,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,192,0,0,0,11,0,0,0,252,166,0,0,19,167,0,0,0,0,0,0,10,0,0,0,2,0,0,0,41,167,0,0,48,167,0,0,19,0,0,0,40,32,0,0,64,0,0,0,5,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,224,0,0,0,12,0,0,0,67,167,0,0,90,167,0,0,0,0,0,0,9,0,0,0,2,0,0,0,107,169,0,0,114,169,0,0,19,0,0,0,104,32,0,0,48,0,0,0,6,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,224,0,0,0,12,0,0,0,133,169,0,0,156,169,0,0,0,0,0,0,10,0,0,0,0,0,0,0,178,169,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,1,0,0,160,16,0,0,13,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,50,188,188,243,33,236,236,198,67,32,32,244,201,179,179,219,3,218,218,123,139,2,2,251,43,226,226,200,250,158,158,74,236,201,201,211,9,212,212,230,107,24,24,107,159,30,30,69,14,152,152,125,56,178,178,232,210,166,166,75,183,38,38,214,87,60,60,50,138,147,147,216,238,130,130,253,152,82,82,55,212,123,123,113,55,187,187,241,151,91,91,225,131,71,71,48,60,36,36,15,226,81,81,248,198,186,186,27,243,74,74,135,72,191,191,250,112,13,13,6,179,176,176,63,222,117,117,94,253,210,210,186,32,125,125,174,49,102,102,91,163,58,58,138,28,89,89,0,0,0,0,188,147,205,205,157,224,26,26,109,44,174,174,193,171,127,127,177,199,43,43,14,185,190,190,128,160,224,224,93,16,138,138,210,82,59,59,213,186,100,100,160,136,216,216,132,165,231,231,7,232,95,95,20,17,27,27,181,194,44,44,144,180,252,252,44,39,49,49,163,101,128,128,178,42,115,115,115,129,12,12,76,95,121,121,84,65,107,107,146,2,75,75,116,105,83,83,54,143,148,148,81,31,131,131,56,54,42,42,176,156,196,196,189,200,34,34,90,248,213,213,252,195,189,189,96,120,72,72,98,206,255,255,150,7,76,76,108,119,65,65,66,230,199,199,247,36,235,235,16,20,28,28,124,99,93,93,40,34,54,54,39,192,103,103,140,175,233,233,19,249,68,68,149,234,20,20,156,187,245,245,199,24,207,207,36,45,63,63,70,227,192,192,59,219,114,114,112,108,84,84,202,76,41,41,227,53,240,240,133,254,8,8,203,23,198,198,17,79,243,243,208,228,140,140,147,89,164,164,184,150,202,202,166,59,104,104,131,77,184,184,32,40,56,56,255,46,229,229,159,86,173,173,119,132,11,11,195,29,200,200,204,255,153,153,3,237,88,88,111,154,25,25,8,10,14,14,191,126,149,149,64,80,112,112,231,48,247,247,43,207,110,110,226,110,31,31,121,61,181,181,12,15,9,9,170,52,97,97,130,22,87,87,65,11,159,159,58,128,157,157,234,100,17,17,185,205,37,37,228,221,175,175,154,8,69,69,164,141,223,223,151,92,163,163,126,213,234,234,218,88,53,53,122,208,237,237,23,252,67,67,102,203,248,248,148,177,251,251,161,211,55,55,29,64,250,250,61,104,194,194,240,204,180,180,222,93,50,50,179,113,156,156,11,231,86,86,114,218,227,227,167,96,135,135,28,27,21,21,239,58,249,249,209,191,99,99,83,169,52,52,62,133,154,154,143,66,177,177,51,209,124,124,38,155,136,136,95,166,61,61,236,215,161,161,118,223,228,228,42,148,129,129,73,1,145,145,129,251,15,15,136,170,238,238,238,97,22,22,33,115,215,215,196,245,151,151,26,168,165,165,235,63,254,254,217,181,109,109,197,174,120,120,57,109,197,197,153,229,29,29,205,164,118,118,173,220,62,62,49,103,203,203,139,71,182,182,1,91,239,239,24,30,18,18,35,197,96,96,221,176,106,106,31,246,77,77,78,233,206,206,45,124,222,222,249,157,85,85,72,90,126,126,79,178,33,33,242,122,3,3,101,38,160,160,142,25,94,94,120,102,90,90,92,75,101,101,88,78,98,98,25,69,253,253,141,244,6,6,229,134,64,64,152,190,242,242,87,172,51,51,103,144,23,23,127,142,5,5,5,94,232,232,100,125,79,79,175,106,137,137,99,149,16,16,182,47,116,116,254,117,10,10,245,146,92,92,183,116,155,155,60,51,45,45,165,214,48,48,206,73,46,46,233,137,73,73,104,114,70,70,68,85,119,119,224,216,168,168,77,4,150,150,67,189,40,40,105,41,169,169,41,121,217,217,46,145,134,134,172,135,209,209,21,74,244,244,89,21,141,141,168,130,214,214,10,188,185,185,158,13,66,66,110,193,246,246,71,184,47,47,223,6,221,221,52,57,35,35,53,98,204,204,106,196,241,241,207,18,193,193,220,235,133,133,34,158,143,143,201,161,113,113,192,240,144,144,155,83,170,170,137,241,1,1,212,225,139,139,237,140,78,78,171,111,142,142,18,162,171,171,162,62,111,111,13,84,230,230,82,242,219,219,187,123,146,146,2,182,183,183,47,202,105,105,169,217,57,57,215,12,211,211,97,35,167,167,30,173,162,162,180,153,195,195,80,68,108,108,4,5,7,7,246,127,4,4,194,70,39,39,22,167,172,172,37,118,208,208,134,19,80,80,86,247,220,220,85,26,132,132,9,81,225,225,190,37,122,122,145,239,19,19,57,57,217,169,23,23,144,103,156,156,113,179,166,166,210,232,7,7,5,4,82,82,152,253,128,128,101,163,228,228,223,118,69,69,8,154,75,75,2,146,224,224,160,128,90,90,102,120,175,175,221,228,106,106,176,221,99,99,191,209,42,42,54,56,230,230,84,13,32,32,67,198,204,204,98,53,242,242,190,152,18,18,30,24,235,235,36,247,161,161,215,236,65,65,119,108,40,40,189,67,188,188,50,117,123,123,212,55,136,136,155,38,13,13,112,250,68,68,249,19,251,251,177,148,126,126,90,72,3,3,122,242,140,140,228,208,182,182,71,139,36,36,60,48,231,231,165,132,107,107,65,84,221,221,6,223,96,96,197,35,253,253,69,25,58,58,163,91,194,194,104,61,141,141,21,89,236,236,33,243,102,102,49,174,111,111,62,162,87,87,22,130,16,16,149,99,239,239,91,1,184,184,77,131,134,134,145,46,109,109,181,217,131,131,31,81,170,170,83,155,93,93,99,124,104,104,59,166,254,254,63,235,48,48,214,165,122,122,37,190,172,172,167,22,9,9,15,12,240,240,53,227,167,167,35,97,144,144,240,192,233,233,175,140,157,157,128,58,92,92,146,245,12,12,129,115,49,49,39,44,208,208,118,37,86,86,231,11,146,146,123,187,206,206,233,78,1,1,241,137,30,30,159,107,52,52,169,83,241,241,196,106,195,195,153,180,91,91,151,241,71,71,131,225,24,24,107,230,34,34,200,189,152,152,14,69,31,31,110,226,179,179,201,244,116,116,47,182,248,248,203,102,153,153,255,204,20,20,234,149,88,88,237,3,220,220,247,86,139,139,225,212,21,21,27,28,162,162,173,30,211,211,12,215,226,226,43,251,200,200,29,195,94,94,25,142,44,44,194,181,73,73,137,233,193,193,18,207,149,149,126,191,125,125,32,186,17,17,100,234,11,11,132,119,197,197,109,57,137,137,106,175,124,124,209,51,113,113,161,201,255,255,206,98,187,187,55,113,15,15,251,129,181,181,61,121,225,225,81,9,62,62,220,173,63,63,45,36,118,118,164,205,85,85,157,249,130,130,238,216,64,64,134,229,120,120,174,197,37,37,205,185,150,150,4,77,119,119,85,68,14,14,10,8,80,80,19,134,247,247,48,231,55,55,211,161,250,250,64,29,97,97,52,170,78,78,140,237,176,176,179,6,84,84,108,112,115,115,42,178,59,59,82,210,159,159,11,65,2,2,139,123,216,216,136,160,243,243,79,17,203,203,103,49,39,39,70,194,103,103,192,39,252,252,180,144,56,56,40,32,4,4,127,246,72,72,120,96,229,229,46,255,76,76,7,150,101,101,75,92,43,43,199,177,142,142,111,171,66,66,13,158,245,245,187,156,219,219,242,82,74,74,243,27,61,61,166,95,164,164,89,147,185,185,188,10,249,249,58,239,19,19,239,145,8,8,254,133,145,145,1,73,22,22,97,238,222,222,124,45,33,33,178,79,177,177,66,143,114,114,219,59,47,47,184,71,191,191,72,135,174,174,44,109,192,192,227,70,60,60,87,214,154,154,133,62,169,169,41,105,79,79,125,100,129,129,148,42,46,46,73,206,198,198,23,203,105,105,202,47,189,189,195,252,163,163,92,151,232,232,94,5,237,237,208,122,209,209,135,172,5,5,142,127,100,100,186,213,165,165,168,26,38,38,183,75,190,190,185,14,135,135,96,167,213,213,248,90,54,54,34,40,27,27,17,20,117,117,222,63,217,217,121,41,238,238,170,136,45,45,51,60,121,121,95,76,183,183,182,2,202,202,150,184,53,53,88,218,196,196,156,176,67,67,252,23,132,132,26,85,77,77,246,31,89,89,28,138,178,178,56,125,51,51,172,87,207,207,24,199,6,6,244,141,83,83,105,116,155,155,116,183],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([151,151,245,196,173,173,86,159,227,227,218,114,234,234,213,126,244,244,74,21,143,143,158,34,171,171,162,18,98,98,78,88,95,95,232,7,29,29,229,153,35,35,57,52,246,246,193,110,108,108,68,80,50,50,93,222,70,70,114,104,160,160,38,101,205,205,147,188,218,218,3,219,186,186,198,248,158,158,250,200,214,214,130,168,110,110,207,43,112,112,80,64,133,133,235,220,10,10,117,254,147,147,138,50,223,223,141,164,41,41,76,202,28,28,20,16,215,215,115,33,180,180,204,240,212,212,9,211,138,138,16,93,81,81,226,15,0,0,0,0,25,25,154,111,26,26,224,157,148,148,143,54,199,199,230,66,201,201,236,74,210,210,253,94,127,127,171,193,168,168,216,224,50,188,117,188,33,236,243,236,67,32,198,32,201,179,244,179,3,218,219,218,139,2,123,2,43,226,251,226,250,158,200,158,236,201,74,201,9,212,211,212,107,24,230,24,159,30,107,30,14,152,69,152,56,178,125,178,210,166,232,166,183,38,75,38,87,60,214,60,138,147,50,147,238,130,216,130,152,82,253,82,212,123,55,123,55,187,113,187,151,91,241,91,131,71,225,71,60,36,48,36,226,81,15,81,198,186,248,186,243,74,27,74,72,191,135,191,112,13,250,13,179,176,6,176,222,117,63,117,253,210,94,210,32,125,186,125,49,102,174,102,163,58,91,58,28,89,138,89,0,0,0,0,147,205,188,205,224,26,157,26,44,174,109,174,171,127,193,127,199,43,177,43,185,190,14,190,160,224,128,224,16,138,93,138,82,59,210,59,186,100,213,100,136,216,160,216,165,231,132,231,232,95,7,95,17,27,20,27,194,44,181,44,180,252,144,252,39,49,44,49,101,128,163,128,42,115,178,115,129,12,115,12,95,121,76,121,65,107,84,107,2,75,146,75,105,83,116,83,143,148,54,148,31,131,81,131,54,42,56,42,156,196,176,196,200,34,189,34,248,213,90,213,195,189,252,189,120,72,96,72,206,255,98,255,7,76,150,76,119,65,108,65,230,199,66,199,36,235,247,235,20,28,16,28,99,93,124,93,34,54,40,54,192,103,39,103,175,233,140,233,249,68,19,68,234,20,149,20,187,245,156,245,24,207,199,207,45,63,36,63,227,192,70,192,219,114,59,114,108,84,112,84,76,41,202,41,53,240,227,240,254,8,133,8,23,198,203,198,79,243,17,243,228,140,208,140,89,164,147,164,150,202,184,202,59,104,166,104,77,184,131,184,40,56,32,56,46,229,255,229,86,173,159,173,132,11,119,11,29,200,195,200,255,153,204,153,237,88,3,88,154,25,111,25,10,14,8,14,126,149,191,149,80,112,64,112,48,247,231,247,207,110,43,110,110,31,226,31,61,181,121,181,15,9,12,9,52,97,170,97,22,87,130,87,11,159,65,159,128,157,58,157,100,17,234,17,205,37,185,37,221,175,228,175,8,69,154,69,141,223,164,223,92,163,151,163,213,234,126,234,88,53,218,53,208,237,122,237,252,67,23,67,203,248,102,248,177,251,148,251,211,55,161,55,64,250,29,250,104,194,61,194,204,180,240,180,93,50,222,50,113,156,179,156,231,86,11,86,218,227,114,227,96,135,167,135,27,21,28,21,58,249,239,249,191,99,209,99,169,52,83,52,133,154,62,154,66,177,143,177,209,124,51,124,155,136,38,136,166,61,95,61,215,161,236,161,223,228,118,228,148,129,42,129,1,145,73,145,251,15,129,15,170,238,136,238,97,22,238,22,115,215,33,215,245,151,196,151,168,165,26,165,63,254,235,254,181,109,217,109,174,120,197,120,109,197,57,197,229,29,153,29,164,118,205,118,220,62,173,62,103,203,49,203,71,182,139,182,91,239,1,239,30,18,24,18,197,96,35,96,176,106,221,106,246,77,31,77,233,206,78,206,124,222,45,222,157,85,249,85,90,126,72,126,178,33,79,33,122,3,242,3,38,160,101,160,25,94,142,94,102,90,120,90,75,101,92,101,78,98,88,98,69,253,25,253,244,6,141,6,134,64,229,64,190,242,152,242,172,51,87,51,144,23,103,23,142,5,127,5,94,232,5,232,125,79,100,79,106,137,175,137,149,16,99,16,47,116,182,116,117,10,254,10,146,92,245,92,116,155,183,155,51,45,60,45,214,48,165,48,73,46,206,46,137,73,233,73,114,70,104,70,85,119,68,119,216,168,224,168,4,150,77,150,189,40,67,40,41,169,105,169,121,217,41,217,145,134,46,134,135,209,172,209,74,244,21,244,21,141,89,141,130,214,168,214,188,185,10,185,13,66,158,66,193,246,110,246,184,47,71,47,6,221,223,221,57,35,52,35,98,204,53,204,196,241,106,241,18,193,207,193,235,133,220,133,158,143,34,143,161,113,201,113,240,144,192,144,83,170,155,170,241,1,137,1,225,139,212,139,140,78,237,78,111,142,171,142,162,171,18,171,62,111,162,111,84,230,13,230,242,219,82,219,123,146,187,146,182,183,2,183,202,105,47,105,217,57,169,57,12,211,215,211,35,167,97,167,173,162,30,162,153,195,180,195,68,108,80,108,5,7,4,7,127,4,246,4,70,39,194,39,167,172,22,172,118,208,37,208,19,80,134,80,247,220,86,220,26,132,85,132,81,225,9,225,37,122,190,122,239,19,145,19,217,169,57,217,144,103,23,144,113,179,156,113,210,232,166,210,5,4,7,5,152,253,82,152,101,163,128,101,223,118,228,223,8,154,69,8,2,146,75,2,160,128,224,160,102,120,90,102,221,228,175,221,176,221,106,176,191,209,99,191,54,56,42,54,84,13,230,84,67,198,32,67,98,53,204,98,190,152,242,190,30,24,18,30,36,247,235,36,215,236,161,215,119,108,65,119,189,67,40,189,50,117,188,50,212,55,123,212,155,38,136,155,112,250,13,112,249,19,68,249,177,148,251,177,90,72,126,90,122,242,3,122,228,208,140,228,71,139,182,71,60,48,36,60,165,132,231,165,65,84,107,65,6,223,221,6,197,35,96,197,69,25,253,69,163,91,58,163,104,61,194,104,21,89,141,21,33,243,236,33,49,174,102,49,62,162,111,62,22,130,87,22,149,99,16,149,91,1,239,91,77,131,184,77,145,46,134,145,181,217,109,181,31,81,131,31,83,155,170,83,99,124,93,99,59,166,104,59,63,235,254,63,214,165,48,214,37,190,122,37,167,22,172,167,15,12,9,15,53,227,240,53,35,97,167,35,240,192,144,240,175,140,233,175,128,58,157,128,146,245,92,146,129,115,12,129,39,44,49,39,118,37,208,118,231,11,86,231,123,187,146,123,233,78,206,233,241,137,1,241,159,107,30,159,169,83,52,169,196,106,241,196,153,180,195,153,151,241,91,151,131,225,71,131,107,230,24,107,200,189,34,200,14,69,152,14,110,226,31,110,201,244,179,201,47,182,116,47,203,102,248,203,255,204,153,255,234,149,20,234,237,3,88,237,247,86,220,247,225,212,139,225,27,28,21,27,173,30,162,173,12,215,211,12,43,251,226,43,29,195,200,29,25,142,94,25,194,181,44,194,137,233,73,137,18,207,193,18,126,191,149,126,32,186,125,32,100,234,17,100,132,119,11,132,109,57,197,109,106,175,137,106,209,51,124,209,161,201,113,161,206,98,255,206,55,113,187,55,251,129,15,251,61,121,181,61,81,9,225,81,220,173,62,220,45,36,63,45,164,205,118,164,157,249,85,157,238,216,130,238,134,229,64,134,174,197,120,174,205,185,37,205,4,77,150,4,85,68,119,85,10,8,14,10,19,134,80,19,48,231,247,48,211,161,55,211,64,29,250,64,52,170,97,52,140,237,78,140,179,6,176,179,108,112,84,108,42,178,115,42,82,210,59,82,11,65,159,11,139,123,2,139,136,160,216,136,79,17,243,79,103,49,203,103,70,194,39,70,192,39,103,192,180,144,252,180,40,32,56,40,127,246,4,127,120,96,72,120,46,255,229,46,7,150,76,7,75,92,101,75,199,177,43,199,111,171,142,111,13,158,66,13,187,156,245,187,242,82,219,242,243,27,74,243,166,95,61,166,89,147,164,89,188,10,185,188,58,239,249,58,239,145,19,239,254,133,8,254,1,73,145,1,97,238,22,97,124,45,222,124,178,79,33,178,66,143,177,66,219,59,114,219,184,71,47,184,72,135,191,72,44,109,174,44,227,70,192,227,87,214,60,87,133,62,154,133,41,105,169,41,125,100,79,125,148,42,129,148,73,206,46,73,23,203,198,23,202,47,105,202,195,252,189,195,92,151,163,92,94,5,232,94,208,122,237,208,135,172,209,135,142,127,5,142,186,213,100,186,168,26,165,168,183,75,38,183,185,14,190,185,96,167,135,96,248,90,213,248,34,40,54,34,17,20,27,17,222,63,117,222,121,41,217,121,170,136,238,170,51,60,45,51,95,76,121,95,182,2,183,182,150,184,202,150,88,218,53,88,156,176,196,156,252,23,67,252,26,85,132,26,246,31,77,246,28,138,89,28,56,125,178,56,172,87,51,172,24,199,207,24,244,141,6,244,105,116,83,105,116,183,155,116,245,196,151,245,86,159,173,86,218,114,227,218,213,126,234,213,74,21,244,74,158,34,143,158,162,18,171,162,78,88,98,78,232,7,95,232,229,153,29,229,57,52,35,57,193,110,246,193,68,80,108,68,93,222,50,93,114,104,70,114,38,101,160,38,147,188,205,147,3,219,218,3,198,248,186,198,250,200,158,250,130,168,214,130,207,43,110,207,80,64,112,80,235,220,133,235,117,254,10,117,138,50,147,138,141,164,223,141,76,202,41,76,20,16,28,20,115,33,215,115,204,240,180,204,9,211,212,9,16,93,138,16,226,15,81,226,0,0,0,0,154,111,25,154,224,157,26,224,143,54,148,143,230,66,199,230,236,74,201,236,253,94,210,253,171,193,127,171,216,224,168,216,47,1,0,0,0,0,0,0,169,177,0,0,0,0,0,0,0,0,0,0,16,0,0,0,128,0,0,0,160,16,0,0,13,0,0,0,14,0,0,0,15,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,47,138,66,145,68,55,113,207,251,192,181,165,219,181,233,91,194,86,57,241,17,241,89,164,130,63,146,213,94,28,171,152,170,7,216,1,91,131,18,190,133,49,36,195,125,12,85,116,93,190,114,254,177,222,128,167,6,220,155,116,241,155,193,193,105,155,228,134,71,190,239,198,157,193,15,204,161,12,36,111,44,233,45,170,132,116,74,220,169,176,92,218,136,249,118,82,81,62,152,109,198,49,168,200,39,3,176,199,127,89,191,243,11,224,198,71,145,167,213,81,99,202,6,103,41,41,20,133,10,183,39,56,33,27,46,252,109,44,77,19,13,56,83,84,115,10,101,187,10,106,118,46,201,194,129,133,44,114,146,161,232,191,162,75,102,26,168,112,139,75,194,163,81,108,199,25,232,146,209,36,6,153,214,133,53,14,244,112,160,106,16,22,193,164,25,8,108,55,30,76,119,72,39,181,188,176,52,179,12,28,57,74,170,216,78,79,202,156,91,243,111,46,104,238,130,143,116,111,99,165,120,20,120,200,132,8,2,199,140,250,255,190,144,235,108,80,164,247,163,249,190,242,120,113,198,18,0,0,0,0,0,0,0,3,0,0,0,4,184,0,0,116,50,0,0,34,184,0,0,42,184,0,0,51,184,0,0,54,184,0,0,34,184,0,0,3,0,0,0,7,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,8,0,0,0,20,0,0,0,4,0,0,0,21,0,0,0,9,0,0,0,8,184,0,0,12,184,0,0,18,184,0,0,23,184,0,0,29,184,0,0,0,0,0,0,16,0,0,0,7,0,0,0,22,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,22,0,0,0,37,0,0,0,63,0,0,0,92,0,0,0,117,0,0,0,132,0,0,0,147,0,0,0,161,0,0,0,175,0,0,0,190,0,0,0,205,0,0,0,230,0,0,0,243,0,0,0,2,1,0,0,16,1,0,0,27,1,0,0,41,1,0,0,63,1,0,0,79,1,0,0,109,1,0,0,129,1,0,0,153,1,0,0,179,1,0,0,204,1,0,0,222,1,0,0,231,1,0,0,241,1,0,0,1,2,0,0,14,2,0,0,28,2,0,0,47,2,0,0,71,2,0,0,91,2,0,0,107,2,0,0,122,2,0,0,138,2,0,0,154,2,0,0,171,2,0,0,185,2,0,0,201,2,0,0,228,2,0,0,245,2,0,0,9,3,0,0,28,3,0,0,45,3,0,0,65,3,0,0,77,3,0,0,91,3,0,0,104,3,0,0,120,3,0,0,139,3,0,0,158,3,0,0,178,3,0,0,198,3,0,0,212,3,0,0,234,3,0,0,254,3,0,0,6,4,0,0,10,4,0,0,24,4,0,0,47,4,0,0,55,4,0,0,70,4,0,0,83,4,0,0,98,4,0,0,127,4,0,0,156,4,0,0,179,4,0,0,195,4,0,0,211,4,0,0,231,4,0,0,244,4,0,0,3,5,0,0,20,5,0,0,36,5,0,0,53,5,0,0,70,5,0,0,82,5,0,0,95,5,0,0,126,5,0,0,147,5,0,0,167,5,0,0,188,5,0,0,210,5,0,0,222,5,0,0,237,5,0,0,245,5,0,0,2,6,0,0,11,6,0,0,29,6,0,0,40,6,0,0,51,6,0,0,65,6,0,0,85,6,0,0,98,6,0,0,110,6,0,0,124,6,0,0,136,6,0,0,156,6,0,0,175,6,0,0,195,6,0,0,217,6,0,0,241,6,0,0,6,7,0,0,29,7,0,0,50,7,0,0,65,7,0,0,76,7,0,0,96,7,0,0,109,7,0,0,122,7,0,0,139,7,0,0,161,7,0,0,175,7,0,0,195,7,0,0,211,7,0,0,225,7,0,0,236,7,0,0,0,8,0,0,23,8,0,0,44,8,0,0,59,8,0,0,80,8,0,0,102,8,0,0,118,8,0,0,132,8,0,0,148,8,0,0,162,8,0,0,179,8,0,0,191,8,0,0,223,8,0,0,243,8,0,0,255,8,0,0,9,9,0,0,21,9,0,0,39,9,0,0,60,9,0,0,72,9,0,0,87,9,0,0,104,9,0,0,119,9,0,0,135,9,0,0,149,9,0,0,168,9,0,0,187,9,0,0,210,9,0,0,231,9,0,0,255,9,0,0,17,10,0,0,39,10,0,0,62,10,0,0,80,10,0,0,92,10,0,0,110,10,0,0,127,10,0,0,141,10,0,0,158,10,0,0,173,10,0,0,196,10,0,0,215,10,0,0,228,10,0,0,247,10,0,0,15,11,0,0,42,11,0,0,55,11,0,0,80,11,0,0,91,11,0,0,110,11,0,0,122,11,0,0,138,11,0,0,156,11,0,0,183,11,0,0,190,11,0,0,205,11,0,0,221,11,0,0,237,11,0,0,1,12,0,0,14,12,0,0,26,12,0,0,43,12,0,0,55,12,0,0,72,12,0,0,86,12,0,0,102,12,0,0,129,12,0,0,152,12,0,0,175,12,0,0,198,12,0,0,213,12,0,0,230,12,0,0,248,12,0,0,13,13,0,0,32,13,0,0,63,13,0,0,81,13,0,0,99,13,0,0,121,13,0,0,147,13,0,0,174,13,0,0,191,13,0,0,232,13,0,0,8,14,0,0,46,14,0,0,73,14,0,0,103,14,0,0,133,14,0,0,161,14,0,0,198,14,0,0,222,14,0,0,14,15,0,0,56,15,0,0,96,15,0,0,132,15,0,0,143,15,0,0,161,15,0,0,178,15,0,0,209,15,0,0,230,15,0,0,255,15,0,0,14,16,0,0,38,16,0,0,57,16,0,0,93,16,0,0,114,16,0,0,143,16,0,0,163,16,0,0,190,16,0,0,218,16,0,0,233,16,0,0,244,16,0,0,5,17,0,0,42,17,0,0,87,17,0,0,131,17,0,0,171,17,0,0,209,17,0,0,247,17,0,0,33,18,0,0,67,18,0,0,112,18,0,0,157,18,0,0,170,18,0,0,180,18,0,0,193,18,0,0,228,18,0,0,248,18,0,0,10,19,0,0,33,19,0,0,57,19,0,0,78,19,0,0,106,19,0,0,136,19,0,0,164,19,0,0,184,19,0,0,208,19,0,0,235,19,0,0,253,19,0,0,15,20,0,0,43,20,0,0,58,20,0,0,74,20,0,0,102,20,0,0,125,20,0,0,145,20,0,0,162,20,0,0,190,20,0,0,214,20,0,0,239,20,0,0,3,21,0,0,23,21,0,0,42,21,0,0,71,21,0,0,95,21,0,0,123,21,0,0,150,21,0,0,176,21,0,0,205,21,0,0,229,21,0,0,254,21,0,0,25,22,0,0,54,22,0,0,71,22,0,0,96,22,0,0,119,22,0,0,141,22,0,0,160,22,0,0,182,22,0,0,215,22,0,0,245,22,0,0,12,23,0,0,47,23,0,0,63,23,0,0,83,23,0,0,103,23,0,0,120,23,0,0,147,23,0,0,160,23,0,0,182,23,0,0,202,23,0,0,230,23,0,0,2,24,0,0,21,24,0,0,39,24,0,0,80,24,0,0,120,24,0,0,159,24,0,0,173,24,0,0,208,24,0,0,247,24,0,0,24,25,0,0,51,25,0,0,74,25,0,0,104,25,0,0,135,25,0,0,164,25,0,0,190,25,0,0,213,25,0,0,233,25,0,0,252,25,0,0,22,26,0,0,43,26,0,0,76,26,0,0,113,26,0,0,147,26,0,0,172,26,0,0,201,26,0,0,221,26,0,0,248,26,0,0,28,27,0,0,50,27,0,0,72,27,0,0,100,27,0,0,139,27,0,0,173,27,0,0,195,27,0,0,227,27,0,0,250,27,0,0,31,28,0,0,60,28,0,0,77,28,0,0,105,28,0,0,132,28,0,0,153,28,0,0,180,28,0,0,204,28,0,0,219,28,0,0,247,28,0,0,15,29,0,0,34,29,0,0,56,29,0,0,93,29,0,0,119,29,0,0,145,29,0,0,171,29,0,0,197,29,0,0,223,29,0,0,249,29,0,0,19,30,0,0,45,30,0,0,71,30,0,0,98,30,0,0,125,30,0,0,152,30,0,0,179,30,0,0,206,30,0,0,233,30,0,0,4,31,0,0,27,31,0,0,48,31,0,0,60,31,0,0,7,0,0,0,13,0,0,0,98,0,0,0,99,0,0,0,68,0,0,0,97,0,0,0,11,0,0,0,114,0,0,0,0,0,0,0,0,0,0,0,52,0,0,0,9,0,0,0,77,0,0,0,74,0,0,0,53,0,0,0,0,0,0,0,56,0,0,0,57,0,0,0,59,0,0,0,16,0,0,0,125,0,0,0,10,0,0,0,44,0,0,0,70,0,0,0,103,0,0,0,111,0,0,0,104,0,0,0,0,0,0,0,35,0,0,0,35,0,0,0,89,0,0,0,0,0,0,0,33,0,0,0,73,0,0,0,122,0,0,0,17,0,0,0,14,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,0,113,0,0,0,43,0,0,0,0,0,0,0,84,0,0,0,115,0,0,0,4,0,0,0,22,0,0,0,5,0,0,0,106,0,0,0,21,0,0,0,120,0,0,0,51,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,79,0,0,0,80,0,0,0,83,0,0,0,82,0,0,0,81,0,0,0,48,0,0,0,40,0,0,0,124,0,0,0,24,0,0,0,31,0,0,0,90,0,0,0,72,0,0,0,36,0,0,0,119,0,0,0,0,0,0,0,100,0,0,0,102,0,0,0,101,0,0,0,23,0,0,0,55,0,0,0,105,0,0,0,50,0,0,0,61,0,0,0,19,0,0,0,2,0,0,0,8,0,0,0,37,0,0,0,67,0,0,0,123,0,0,0,12,0,0,0,42,0,0,0,64,0,0,0,65,0,0,0,92,0,0,0,28,0,0,0,63,0,0,0,60,0,0,0,38,0,0,0,15,0,0,0,107,0,0,0,20,0,0,0,39,0,0,0,118,0,0,0,88,0,0,0,95,0,0,0,25,0,0,0,76,0,0,0,6,0,0,0,95,0,0,0,75,0,0,0,1,0,0,0,96,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,0,0,0,93,0,0,0,91,0,0,0,34,0,0,0,78,0,0,0,66,0,0,0,121,0,0,0,85,0,0,0,30,0,0,0,0,0,0,0,108,0,0,0,94,0,0,0,29,0,0,0,3,0,0,0,69,0,0,0,116,0,0,0,86,0,0,0,62,0,0,0,110,0,0,0,109,0,0,0,26,0,0,0,117,0,0,0,49,0,0,0,87,0,0,0,11,0,0,0,18,0,0,0,54,0,0,0,107,128,0,0,81,128,0,0,127,128,0,0,47,128,0,0,49,128,0,0,104,128,0,0,0,128,0,0,82,128,0,0,11,128,0,0,21,128,0,0,6,128,0,0,138,128,0,0,86,128,0,0,1,128,0,0,36,128,0,0,95,128,0,0,19,128,0,0,35,128,0,0,139,128,0,0,80,128,0,0,97,128,0,0,51,128,0,0,48,128,0,0,75,128,0,0,65,128,0,0,102,128,0,0,134,128,0,0,37,128,0,0,91,128,0,0,126,128,0,0,122,128,0,0,66,128,0,0,109,128,0,0,32,128,0,0,117,128,0,0,28,128,0,0,29,128,0,0,69,128,0,0,83,128,0,0,94,128,0,0,98,128,0,0,63,128,0,0,87,128,0,0,43,128,0,0,22,128,0,0,54,128,0,0,55,128,0,0,56,128,0,0,62,128,0,0,136,128,0,0,78,128,0,0,53,128,0,0,10,128,0,0,14,128,0,0,140,128,0,0,76,128,0,0,16,128,0,0,17,128,0,0,18,128,0,0,93,128,0,0,79,128,0,0,131,128,0,0,92,128,0,0,88,128,0,0,89,128,0,0,119,128,0,0,84,128,0,0,4,128,0,0,128,128,0,0,23,128,0,0,114,128,0,0,68,128,0,0,33,128,0,0,13,128,0,0,106,128,0,0,103,128,0,0,12,128,0,0,118,128,0,0,57,128,0,0,58,128,0,0,61,128,0,0,60,128,0,0,59,128,0,0,45,128,0,0,121,128,0,0,130,128,0,0,137,128,0,0,100,128,0,0,30,128,0,0,67,128,0,0,116,128,0,0,90,128,0,0,115,128,0,0,125,128,0,0,101,128,0,0,105,128,0,0,108,128,0,0,5,128,0,0,2,128,0,0,3,128,0,0,72,128,0,0,74,128,0,0,73,128,0,0,24,128,0,0,26,128,0,0,77,128,0,0,50,128,0,0,96,128,0,0,124,128,0,0,133,128,0,0,132,128,0,0,25,128,0,0,41,128,0,0,42,128,0,0,7,128,0,0,46,128,0,0,129,128,0,0,135,128,0,0,99,128,0,0,70,128,0,0,52,128,0,0,120,128,0,0,34,128,0,0,85,128,0,0,64,128,0,0,20,128,0,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,116,61,0,0,5,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,24,0,0,0,248,42,1,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,116,61,0,0,236,61,0,0,5,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,24,0,0,0,0,47,1,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,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,32,0,0,0,9,0,0,0,10,0,0,0,13,0,0,0,11,0,0,0,12,0,0,0,133,0,0,0,0,32,0,0,1,32,0,0,2,32,0,0,3,32,0,0,4,32,0,0,5,32,0,0,6,32,0,0,8,32,0,0,9,32,0,0,10,32,0,0,40,32,0,0,41,32,0,0,95,32,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,31,0,0,0,252,63,0,0,0,0,0,0,45,244,81,88,207,140,177,192,70,246,181,203,41,49,3,199,4,91,112,48,180,93,253,32,120,127,139,154,216,89,41,80,104,72,137,171,167,86,3,108,255,183,205,136,63,212,119,180,43,165,163,112,241,186,228,168,252,65,131,253,217,111,225,138,122,47,45,116,150,7,31,13,9,94,3,118,44,112,247,64,165,44,167,111,87,65,168,170,116,223,160,88,100,3,74,199,196,60,83,174,175,95,24,4,21,177,227,109,40,134,171,12,164,191,67,240,233,80,129,57,87,22,82,55,3,0,0,0,3,0,5,0,7,0,11,0,13,0,17,0,19,0,23,0,29,0,31,0,37,0,41,0,43,0,47,0,53,0,59,0,61,0,67,0,71,0,73,0,79,0,83,0,89,0,97,0,101,0,103,0,107,0,109,0,113,0,127,0,131,0,137,0,139,0,149,0,151,0,157,0,163,0,167,0,173,0,179,0,181,0,191,0,193,0,197,0,199,0,211,0,223,0,227,0,229,0,233,0,239,0,241,0,251,0,1,1,7,1,13,1,15,1,21,1,25,1,27,1,37,1,51,1,55,1,57,1,61,1,75,1,81,1,91,1,93,1,97,1,103,1,111,1,117,1,123,1,127,1,133,1,141,1,145,1,153,1,163,1,165,1,175,1,177,1,183,1,187,1,193,1,201,1,205,1,207,1,211,1,223,1,231,1,235,1,243,1,247,1,253,1,9,2,11,2,29,2,35,2,45,2,51,2,57,2,59,2,65,2,75,2,81,2,87,2,89,2,95,2,101,2,105,2,107,2,119,2,129,2,131,2,135,2,141,2,147,2,149,2,161,2,165,2,171,2,179,2,189,2,197,2,207,2,215,2,221,2,227,2,231,2,239,2,245,2,249,2,1,3,5,3,19,3,29,3,41,3,43,3,53,3,55,3,59,3,61,3,71,3,85,3,89,3,91,3,95,3,109,3,113,3,115,3,119,3,139,3,143,3,151,3,161,3,169,3,173,3,179,3,185,3,199,3,203,3,209,3,215,3,223,3,229,3,241,3,245,3,251,3,253,3,7,4,9,4,15,4,25,4,27,4,37,4,39,4,45,4,63,4,67,4,69,4,73,4,79,4,85,4,93,4,99,4,105,4,127,4,129,4,139,4,147,4,157,4,163,4,169,4,177,4,189,4,193,4,199,4,205,4,207,4,213,4,225,4,235,4,253,4,255,4,3,5,9,5,11,5,17,5,21,5,23,5,27,5,39,5,41,5,47,5,81,5,87,5,93,5,101,5,119,5,129,5,143,5,147,5,149,5,153,5,159,5,167,5,171,5,173,5,179,5,191,5,201,5,203,5,207,5,209,5,213,5,219,5,231,5,243,5,251,5,7,6,13,6,17,6,23,6,31,6,35,6,43,6,47,6,61,6,65,6,71,6,73,6,77,6,83,6,85,6,91,6,101,6,121,6,127,6,131,6,133,6,157,6,161,6,163,6,173,6,185,6,187,6,197,6,205,6,211,6,217,6,223,6,241,6,247,6,251,6,253,6,9,7,19,7,31,7,39,7,55,7,69,7,75,7,79,7,81,7,85,7,87,7,97,7,109,7,115,7,121,7,139,7,141,7,157,7,159,7,181,7,187,7,195,7,201,7,205,7,207,7,211,7,219,7,225,7,235,7,237,7,247,7,5,8,15,8,21,8,33,8,35,8,39,8,41,8,51,8,63,8,65,8,81,8,83,8,89,8,93,8,95,8,105,8,113,8,131,8,155,8,159,8,165,8,173,8,189,8,191,8,195,8,203,8,219,8,221,8,225,8,233,8,239,8,245,8,249,8,5,9,7,9,29,9,35,9,37,9,43,9,47,9,53,9,67,9,73,9,77,9,79,9,85,9,89,9,95,9,107,9,113,9,119,9,133,9,137,9,143,9,155,9,163,9,169,9,173,9,199,9,217,9,227,9,235,9,239,9,245,9,247,9,253,9,19,10,31,10,33,10,49,10,57,10,61,10,73,10,87,10,97,10,99,10,103,10,111,10,117,10,123,10,127,10,129,10,133,10,139,10,147,10,151,10,153,10,159,10,169,10,171,10,181,10,189,10,193,10,207,10,217,10,229,10,231,10,237,10,241,10,243,10,3,11,17,11,21,11,27,11,35,11,41,11,45,11,63,11,71,11,81,11,87,11,93,11,101,11,111,11,123,11,137,11,141,11,147,11,153,11,155,11,183,11,185,11,195,11,203,11,207,11,221,11,225,11,233,11,245,11,251,11,7,12,11,12,17,12,37,12,47,12,49,12,65,12,91,12,95,12,97,12,109,12,115,12,119,12,131,12,137,12,145,12,149,12,157,12,179,12,181,12,185,12,187,12,199,12,227,12,229,12,235,12,241,12,247,12,251,12,1,13,3,13,15,13,19,13,31,13,33,13,43,13,45,13,61,13,63,13,79,13,85,13,105,13,121,13,129,13,133,13,135,13,139,13,141,13,163,13,171,13,183,13,189,13,199,13,201,13,205,13,211,13,213,13,219,13,229,13,231,13,243,13,253,13,255,13,9,14,23,14,29,14,33,14,39,14,47,14,53,14,59,14,75,14,87,14,89,14,93,14,107,14,113,14,117,14,125,14,135,14,143,14,149,14,155,14,177,14,183,14,185,14,195,14,209,14,213,14,219,14,237,14,239,14,249,14,7,15,11,15,13,15,23,15,37,15,41,15,49,15,67,15,71,15,77,15,79,15,83,15,89,15,91,15,103,15,107,15,127,15,149,15,161,15,163,15,167,15,173,15,179,15,181,15,187,15,209,15,211,15,217,15,233,15,239,15,251,15,253,15,3,16,15,16,31,16,33,16,37,16,43,16,57,16,61,16,63,16,81,16,105,16,115,16,121,16,123,16,133,16,135,16,145,16,147,16,157,16,163,16,165,16,175,16,177,16,187,16,193,16,201,16,231,16,241,16,243,16,253,16,5,17,11,17,21,17,39,17,45,17,57,17,69,17,71,17,89,17,95,17,99,17,105,17,111,17,129,17,131,17,141,17,155,17,161,17,165,17,167,17,171,17,195,17,197,17,209,17,215,17,231,17,239,17,245,17,251,17,13,18,29,18,31,18,35,18,41,18,43,18,49,18,55,18,65,18,71,18,83,18,95,18,113,18,115,18,121,18,125,18,143,18,151,18,175,18,179,18,181,18,185,18,191,18,193,18,205,18,209,18,223,18,253,18,7,19,13,19,25,19,39,19,45,19,55,19,67,19,69,19,73,19,79,19,87,19,93,19,103,19,105,19,109,19,123,19,129,19,135,19,0,0,0,0,194,1,132,3,70,2,8,7,202,6,140,4,78,5,16,14,210,15,148,13,86,12,24,9,218,8,156,10,94,11,32,28,226,29,164,31,102,30,40,27,234,26,172,24,110,25,48,18,242,19,180,17,118,16,56,21,250,20,188,22,126,23,64,56,130,57,196,59,6,58,72,63,138,62,204,60,14,61,80,54,146,55,212,53,22,52,88,49,154,48,220,50,30,51,96,36,162,37,228,39,38,38,104,35,170,34,236,32,46,33,112,42,178,43,244,41,54,40,120,45,186,44,252,46,62,47,128,112,66,113,4,115,198,114,136,119,74,118,12,116,206,117,144,126,82,127,20,125,214,124,152,121,90,120,28,122,222,123,160,108,98,109,36,111,230,110,168,107,106,106,44,104,238,105,176,98,114,99,52,97,246,96,184,101,122,100,60,102,254,103,192,72,2,73,68,75,134,74,200,79,10,78,76,76,142,77,208,70,18,71,84,69,150,68,216,65,26,64,92,66,158,67,224,84,34,85,100,87,166,86,232,83,42,82,108,80,174,81,240,90,50,91,116,89,182,88,248,93,58,92,124,94,190,95,0,225,194,224,132,226,70,227,8,230,202,231,140,229,78,228,16,239,210,238,148,236,86,237,24,232,218,233,156,235,94,234,32,253,226,252,164,254,102,255,40,250,234,251,172,249,110,248,48,243,242,242,180,240,118,241,56,244,250,245,188,247,126,246,64,217,130,216,196,218,6,219,72,222,138,223,204,221,14,220,80,215,146,214,212,212,22,213,88,208,154,209,220,211,30,210,96,197,162,196,228,198,38,199,104,194,170,195,236,193,46,192,112,203,178,202,244,200,54,201,120,204,186,205,252,207,62,206,128,145,66,144,4,146,198,147,136,150,74,151,12,149,206,148,144,159,82,158,20,156,214,157,152,152,90,153,28,155,222,154,160,141,98,140,36,142,230,143,168,138,106,139,44,137,238,136,176,131,114,130,52,128,246,129,184,132,122,133,60,135,254,134,192,169,2,168,68,170,134,171,200,174,10,175,76,173,142,172,208,167,18,166,84,164,150,165,216,160,26,161,92,163,158,162,224,181,34,180,100,182,166,183,232,178,42,179,108,177,174,176,240,187,50,186,116,184,182,185,248,188,58,189,124,191,190,190,73,0,49,1,83,0,127,1,48,1,105,0,120,1,255,0,129,1,83,2,130,1,131,1,132,1,133,1,134,1,84,2,135,1,136,1,137,1,86,2,138,1,87,2,139,1,140,1,142,1,221,1,143,1,89,2,144,1,91,2,145,1,146,1,147,1,96,2,148,1,99,2,150,1,105,2,151,1,104,2,152,1,153,1,156,1,111,2,157,1,114,2,159,1,117,2,166,1,128,2,167,1,168,1,169,1,131,2,172,1,173,1,174,1,136,2,175,1,176,1,177,1,138,2,178,1,139,2,183,1,146,2,184,1,185,1,188,1,189,1,196,1,198,1,196,1,197,1,197,1,198,1,199,1,201,1,199,1,200,1,200,1,201,1,202,1,204,1,202,1,203,1,203,1,204,1,241,1,243,1,241,1,242,1,242,1,243,1,244,1,245,1,246,1,149,1,247,1,191,1,32,2,158,1,134,3,172,3,136,3,173,3,137,3,174,3,138,3,175,3,140,3,204,3,142,3,205,3,143,3,206,3,153,3,69,3,153,3,190,31,163,3,194,3,247,3,248,3,250,3,251,3,96,30,155,30,223,0,223,0,158,30,223,0,89,31,81,31,91,31,83,31,93,31,85,31,95,31,87,31,188,31,179,31,204,31,195,31,236,31,229,31,252,31,243,31,58,2,101,44,59,2,60,2,61,2,154,1,62,2,102,44,65,2,66,2,67,2,128,1,68,2,137,2,69,2,140,2,244,3,184,3,249,3,242,3,253,3,123,3,254,3,124,3,255,3,125,3,192,4,207,4,38,33,201,3,42,33,107,0,43,33,229,0,50,33,78,33,131,33,132,33,96,44,97,44,98,44,107,2,99,44,125,29,100,44,125,2,109,44,81,2,110,44,113,2,111,44,80,2,112,44,82,2,114,44,115,44,117,44,118,44,126,44,63,2,127,44,64,2,242,44,243,44,125,167,121,29,139,167,140,167,141,167,101,2,170,167,102,2,199,16,39,45,205,16,45,45,118,3,119,3,156,3,181,0,146,3,208,3,152,3,209,3,166,3,213,3,160,3,214,3,154,3,240,3,161,3,241,3,149,3,245,3,207,3,215,3,0,0,0,0,65,0,32,26,192,0,32,31,0,1,1,47,50,1,1,5,57,1,1,15,74,1,1,45,121,1,1,5,112,3,1,3,145,3,32,17,163,3,32,9,0,4,80,16,16,4,32,32,96,4,1,33,138,4,1,53,193,4,1,13,208,4,1,63,20,5,1,19,49,5,48,38,160,1,1,5,179,1,1,3,205,1,1,15,222,1,1,17,248,1,1,39,34,2,1,17,216,3,1,23,0,30,1,149,160,30,1,95,8,31,248,8,24,31,248,6,40,31,248,8,56,31,248,8,72,31,248,6,104,31,248,8,136,31,248,8,152,31,248,8,168,31,248,8,184,31,248,2,186,31,182,2,200,31,170,4,216,31,248,2,218,31,156,2,232,31,248,2,234,31,144,2,248,31,128,2,250,31,130,2,70,2,1,9,16,5,1,3,96,33,16,16,0,44,48,47,103,44,1,5,128,44,1,99,235,44,1,3,64,166,1,45,128,166,1,23,34,167,1,13,50,167,1,61,121,167,1,3,126,167,1,9,144,167,1,3,160,167,1,9,33,255,32,26,0,0,0,0,119,114,97,112,46,99,0,97,109,111,117,110,116,32,115,116,111,114,101,100,32,97,116,32,37,112,44,32,105,115,32,37,115,32,37,108,108,117,46,37,108,117,10,0,109,105,110,116,95,119,105,116,104,100,114,97,119,97,108,0,109,101,114,99,104,95,99,111,110,116,114,97,99,116,0,109,97,115,116,101,114,95,100,101,110,111,109,105,110,97,116,105,111,110,95,107,101,121,95,118,97,108,105,100,105,116,121,0,109,105,110,116,95,116,101,115,116,95,101,100,100,115,97,0,72,101,108,108,111,44,32,119,111,114,108,100,32,40,98,121,32,84,97,108,101,114,32,101,109,115,99,114,105,112,116,101,100,32,99,111,100,101,41,0,99,111,109,109,111,110,95,97,108,108,111,99,97,116,105,111,110,46,99,0,71,78,85,78,69,84,95,120,109,97,108,108,111,99,95,0,109,97,108,108,111,99,0,71,78,85,78,69,84,95,120,102,114,101,101,95,0,71,78,85,78,69,84,95,120,115,116,114,100,117,112,95,0,71,78,85,78,69,84,95,115,110,112,114,105,110,116,102,0,68,69,66,85,71,0,73,78,70,79,0,87,65,82,78,73,78,71,0,69,82,82,79,82,0,78,79,78,69,0,99,111,109,109,111,110,95,108,111,103,103,105,110,103,46,99,0,37,115,45,37,100,0,37,115,37,100,37,115,0,97,98,0,115,101,116,117,112,95,108,111,103,95,102,105,108,101,0,71,78,85,78,69,84,95,108,111,103,95,115,107,105,112,0,109,121,108,111,103,0,108,111,99,97,108,116,105,109,101,32,101,114,114,111,114,0,37,98,32,37,100,32,37,72,58,37,77,58,37,83,45,37,37,48,54,117,0,77,101,115,115,97,103,101,32,96,37,46,42,115,39,32,114,101,112,101,97,116,101,100,32,37,117,32,116,105,109,101,115,32,105,110,32,116,104,101,32,108,97,115,116,32,37,115,10,0,73,78,86,65,76,73,68,0,37,115,32,37,115,32,37,115,32,37,115,0,96,37,115,39,32,102,97,105,108,101,100,32,111,110,32,102,105,108,101,32,96,37,115,39,32,97,116,32,37,115,58,37,100,32,119,105,116,104,32,101,114,114,111,114,58,32,37,115,10,0,99,114,121,112,116,111,95,115,121,109,109,101,116,114,105,99,46,99,0,115,101,116,117,112,95,99,105,112,104,101,114,95,97,101,115,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,115,121,109,109,101,116,114,105,99,95,101,110,99,114,121,112,116,0,115,101,116,117,112,95,99,105,112,104,101,114,95,116,119,111,102,105,115,104,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,115,121,109,109,101,116,114,105,99,95,100,101,99,114,121,112,116,0,40,112,114,105,118,97,116,101,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,100,32,37,98,41,41,41,0,99,114,121,112,116,111,95,101,99,99,46,99,0,103,99,114,121,95,115,101,120,112,95,98,117,105,108,100,0,113,64,101,100,100,115,97,0,40,112,114,105,118,97,116,101,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,102,108,97,103,115,32,101,100,100,115,97,41,40,100,32,37,98,41,41,41,0,100,101,99,111,100,101,95,112,114,105,118,97,116,101,95,101,100,100,115,97,95,107,101,121,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,107,101,121,95,103,101,116,95,112,117,98,108,105,99,0,100,101,99,111,100,101,95,112,114,105,118,97,116,101,95,101,99,100,104,101,95,107,101,121,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,100,104,101,95,107,101,121,95,103,101,116,95,112,117,98,108,105,99,0,40,103,101,110,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,102,108,97,103,115,32,101,100,100,115,97,32,110,111,45,107,101,121,116,101,115,116,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,100,104,101,95,107,101,121,95,99,114,101,97,116,101,0,103,99,114,121,95,112,107,95,103,101,110,107,101,121,0,107,101,121,95,102,114,111,109,95,115,101,120,112,0,40,103,101,110,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,102,108,97,103,115,32,101,100,100,115,97,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,107,101,121,95,99,114,101,97,116,101,0,40,100,97,116,97,40,102,108,97,103,115,32,101,100,100,115,97,41,40,104,97,115,104,45,97,108,103,111,32,37,115,41,40,118,97,108,117,101,32,37,98,41,41,0,100,97,116,97,95,116,111,95,101,100,100,115,97,95,118,97,108,117,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,115,105,103,110,0,69,100,68,83,65,32,115,105,103,110,105,110,103,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,58,32,37,115,10,0,40,112,117,98,108,105,99,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,69,100,50,53,53,49,57,41,40,113,32,37,98,41,41,41,0,40,115,105,103,45,118,97,108,40,101,100,100,115,97,40,114,32,37,98,41,40,115,32,37,98,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,118,101,114,105,102,121,0,40,112,117,98,108,105,99,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,69,100,50,53,53,49,57,41,40,102,108,97,103,115,32,101,100,100,115,97,41,40,113,32,37,98,41,41,41,0,69,100,68,83,65,32,115,105,103,110,97,116,117,114,101,32,118,101,114,105,102,105,99,97,116,105,111,110,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,58],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([32,37,115,10,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,99,95,101,99,100,104,0,103,101,116,95,97,102,102,105,110,101,32,102,97,105,108,101,100,0,99,114,121,112,116,111,95,104,97,115,104,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,104,97,115,104,95,99,111,110,116,101,120,116,95,115,116,97,114,116,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,104,97,115,104,95,99,111,110,116,101,120,116,95,102,105,110,105,115,104,0,99,114,121,112,116,111,95,109,112,105,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,109,112,105,95,112,114,105,110,116,95,117,110,115,105,103,110,101,100,0,96,37,115,39,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,32,119,105,116,104,32,101,114,114,111,114,58,32,37,115,10,0,103,99,114,121,95,109,112,105,95,112,114,105,110,116,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,109,112,105,95,115,99,97,110,95,117,110,115,105,103,110,101,100,0,103,99,114,121,95,109,112,105,95,115,99,97,110,0,49,46,54,46,48,0,108,105,98,103,99,114,121,112,116,32,104,97,115,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,118,101,114,115,105,111,110,32,40,118,101,114,115,105,111,110,32,37,115,32,105,115,32,114,101,113,117,105,114,101,100,41,46,10,0,99,114,121,112,116,111,95,114,97,110,100,111,109,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,97,110,100,111,109,95,105,110,105,116,0,70,97,105,108,101,100,32,116,111,32,115,101,116,32,108,105,98,103,99,114,121,112,116,32,111,112,116,105,111,110,32,37,115,58,32,37,115,10,0,68,73,83,65,66,76,69,95,83,69,67,77,69,77,0,69,78,65,66,76,69,95,81,85,73,67,75,95,82,65,78,68,79,77,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,97,110,100,111,109,95,117,51,50,0,40,103,101,110,107,101,121,40,114,115,97,40,110,98,105,116,115,32,37,100,41,41,41,0,99,114,121,112,116,111,95,114,115,97,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,99,114,101,97,116,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,101,110,99,111,100,101,0,117,116,105,108,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,100,101,99,111,100,101,0,68,101,99,111,100,101,100,32,112,114,105,118,97,116,101,32,107,101,121,32,105,115,32,110,111,116,32,118,97,108,105,100,10,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,103,101,116,95,112,117,98,108,105,99,0,69,120,116,101,114,110,97,108,32,112,114,111,116,111,99,111,108,32,118,105,111,108,97,116,105,111,110,32,100,101,116,101,99,116,101,100,32,97,116,32,37,115,58,37,100,46,10,0,40,112,117,98,108,105,99,45,107,101,121,40,114,115,97,40,110,32,37,109,41,40,101,32,37,109,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,117,98,108,105,99,95,107,101,121,95,101,110,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,117,98,108,105,99,95,107,101,121,95,100,101,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,115,105,103,110,97,116,117,114,101,95,101,110,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,98,108,105,110,100,105,110,103,95,107,101,121,95,101,110,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,98,108,105,110,100,105,110,103,95,107,101,121,95,100,101,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,98,108,105,110,100,0,100,97,116,97,95,116,111,95,115,101,120,112,0,40,100,97,116,97,32,40,102,108,97,103,115,32,114,97,119,41,32,40,118,97,108,117,101,32,37,77,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,115,105,103,110,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,115,105,103,110,97,116,117,114,101,95,100,101,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,117,110,98,108,105,110,100,0,40,115,105,103,45,118,97,108,32,40,114,115,97,32,40,115,32,37,77,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,118,101,114,105,102,121,0,82,83,65,32,115,105,103,110,97,116,117,114,101,32,118,101,114,105,102,105,99,97,116,105,111,110,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,58,32,37,115,10,0,115,116,114,105,110,103,115,46,99,0,37,108,108,117,32,37,115,0,102,111,114,101,118,101,114,0,109,115,0,109,0,100,97,121,0,100,97,121,115,0,101,110,100,32,111,102,32,116,105,109,101,0,37,97,32,37,98,32,37,100,32,37,72,58,37,77,58,37,83,32,37,89,0,194,181,115,0,48,32,109,115,0,71,78,85,78,69,84,95,83,84,82,73,78,71,83,95,100,97,116,97,95,116,111,95,115,116,114,105,110,103,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,71,72,74,75,77,78,80,81,82,83,84,86,87,88,89,90,0,71,78,85,78,69,84,95,83,84,82,73,78,71,83,95,115,116,114,105,110,103,95,116,111,95,100,97,116,97,0,118,105,115,105,98,105,108,105,116,121,46,99,0,103,99,114,121,95,109,100,95,104,97,115,104,95,98,117,102,102,101,114,0,99,97,108,108,101,100,32,105,110,32,110,111,110,45,111,112,101,114,97,116,105,111,110,97,108,32,115,116,97,116,101,0,103,99,114,121,95,109,100,95,103,101,116,95,97,108,103,111,0,117,115,101,100,32,105,110,32,110,111,110,45,111,112,101,114,97,116,105,111,110,97,108,32,115,116,97,116,101,0,103,99,114,121,95,114,97,110,100,111,109,105,122,101,0,103,99,114,121,95,99,114,101,97,116,101,95,110,111,110,99,101,0,109,105,115,99,46,99,0,95,103,99,114,121,95,102,97,116,97,108,95,101,114,114,111,114,0,10,70,97,116,97,108,32,101,114,114,111,114,58,32,0,70,97,116,97,108,58,32,0,79,104,104,104,104,32,106,101,101,101,101,58,32,0,68,66,71,58,32,0,91,85,110,107,110,111,119,110,32,108,111,103,32,108,101,118,101,108,32,37,100,93,58,32,0,95,103,99,114,121,95,108,111,103,118,0,105,110,116,101,114,110,97,108,32,101,114,114,111,114,32,40,102,97,116,97,108,32,111,114,32,98,117,103,41,0,46,46,46,32,116,104,105,115,32,105,115,32,97,32,98,117,103,32,40,37,115,58,37,100,58,37,115,41,10,0,65,115,115,101,114,116,105,111,110,32,96,37,115,39,32,102,97,105,108,101,100,32,40,37,115,58,37,100,58,37,115,41,10,0,32,0,37,115,58,37,115,0,37,42,115,32,32,0,37,48,50,120,0,32,92,10,0,37,42,115,32,37,42,115,0,32,40,110,117,108,108,41,0,32,91,37,117,32,98,105,116,93,0,32,91,111,117,116,32,111,102,32,99,111,114,101,93,0,45,0,43,0,100,105,118,105,100,101,32,98,121,32,122,101,114,111,0,103,108,111,98,97,108,46,99,0,103,108,111,98,97,108,95,105,110,105,116,0,49,46,55,46,48,45,98,101,116,97,50,51,48,0,118,101,114,115,105,111,110,58,37,115,58,10,0,99,105,112,104,101,114,115,58,37,115,58,10,0,97,101,115,58,116,119,111,102,105,115,104,0,112,117,98,107,101,121,115,58,37,115,58,10,0,114,115,97,58,101,99,99,0,100,105,103,101,115,116,115,58,37,115,58,10,0,115,104,97,50,53,54,58,115,104,97,53,49,50,0,114,110,100,45,109,111,100,58,108,105,110,117,120,58,10,0,99,112,117,45,97,114,99,104,58,58,10,0,109,112,105,45,97,115,109,58,37,115,58,10,0,104,119,102,108,105,115,116,58,0,37,115,58,0,10,0,102,105,112,115,45,109,111,100,101,58,37,99,58,37,99,58,10,0,115,116,97,110,100,97,114,100,0,102,105,112,115,0,115,121,115,116,101,109,0,112,114,105,110,116,95,99,111,110,102,105,103,0,114,110,103,45,116,121,112,101,58,37,115,58,37,100,58,10,0,111,117,116,32,111,102,32,99,111,114,101,32,105,110,32,115,101,99,117,114,101,32,109,101,109,111,114,121,0,92,120,37,48,50,120,0,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,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,48,49,50,51,52,53,54,55,56,57,45,46,47,95,58,42,43,61,0,115,101,120,112,46,99,0,100,111,95,118,115,101,120,112,95,115,115,99,97,110,0,37,100,0,37,117,0,38,92,0,95,103,99,114,121,95,115,101,120,112,95,102,105,110,100,95,116,111,107,101,110,0,95,103,99,114,121,95,115,101,120,112,95,110,116,104,0,3,4,0,8,9,11,10,12,13,34,39,92,0,45,46,47,95,58,42,43,61,0,37,48,50,88,0,37,117,58,0,95,103,99,114,121,95,115,101,120,112,95,115,112,114,105,110,116,0,112,97,100,108,111,99,107,45,114,110,103,0,112,97,100,108,111,99,107,45,97,101,115,0,112,97,100,108,111,99,107,45,115,104,97,0,112,97,100,108,111,99,107,45,109,109,117,108,0,105,110,116,101,108,45,99,112,117,0,105,110,116,101,108,45,98,109,105,50,0,105,110,116,101,108,45,115,115,115,101,51,0,105,110,116,101,108,45,112,99,108,109,117,108,0,105,110,116,101,108,45,97,101,115,110,105,0,105,110,116,101,108,45,114,100,114,97,110,100,0,105,110,116,101,108,45,97,118,120,0,105,110,116,101,108,45,97,118,120,50,0,97,114,109,45,110,101,111,110,0,47,101,116,99,47,103,99,114,121,112,116,47,104,119,102,46,100,101,110,121,0,109,101,109,111,114,121,32,97,116,32,37,112,32,99,111,114,114,117,112,116,101,100,32,40,117,110,100,101,114,102,108,111,119,61,37,48,50,120,41,10,0,109,101,109,111,114,121,32,97,116,32,37,112,32,99,111,114,114,117,112,116,101,100,32,40,111,118,101,114,102,108,111,119,61,37,48,50,120,41,10,0,87,97,114,110,105,110,103,58,32,117,115,105,110,103,32,105,110,115,101,99,117,114,101,32,109,101,109,111,114,121,33,10,0,102,97,105,108,101,100,32,116,111,32,100,114,111,112,32,115,101,116,117,105,100,10,0,115,101,99,117,114,101,32,109,101,109,111,114,121,32,105,115,32,100,105,115,97,98,108,101,100,0,99,97,110,39,116,32,109,109,97,112,32,112,111,111,108,32,111,102,32,37,117,32,98,121,116,101,115,58,32,37,115,32,45,32,117,115,105,110,103,32,109,97,108,108,111,99,10,0,99,97,110,39,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,112,111,111,108,32,111,102,32,37,117,32,98,121,116,101,115,10,0,80,108,101,97,115,101,32,110,111,116,101,32,116,104,97,116,32,121,111,117,32,100,111,110,39,116,32,104,97,118,101,32,115,101,99,117,114,101,32,109,101,109,111,114,121,32,111,110,32,116,104,105,115,32,115,121,115,116,101,109,10,0,79,111,112,115,44,32,115,101,99,117,114,101,32,109,101,109,111,114,121,32,112,111,111,108,32,97,108,114,101,97,100,121,32,105,110,105,116,105,97,108,105,122,101,100,10,0,111,112,101,114,97,116,105,111,110,32,105,115,32,110,111,116,32,112,111,115,115,105,98,108,101,32,119,105,116,104,111,117,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,101,99,117,114,101,32,109,101,109,111,114,121,10,0,115,101,99,117,114,101,32,109,101,109,111,114,121,32,112,111,111,108,32,105,115,32,110,111,116,32,108,111,99,107,101,100,32,119,104,105,108,101,32,105,110,32,70,73,80,83,32,109,111,100,101,10,0,115,101,99,109,101,109,32,117,115,97,103,101,58,32,37,117,47,37,108,117,32,98,121,116,101,115,32,105,110,32,37,117,32,98,108,111,99,107,115,10,0,70,65,84,65,76,58,32,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,70,83,77,32,108,111,99,107,32,105,110,32,108,105,98,103,114,121,112,116,58,32,37,115,10,0,70,65,84,65,76,58,32,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,70,83,77,32,108,111,99,107,32,105,110,32,108,105,98,103,114,121,112,116,58,32,37,115,10,0,80,111,119,101,114,45,79,110,0,73,110,105,116,0,83,101,108,102,45,84,101,115,116,0,79,112,101,114,97,116,105,111,110,97,108,0,69,114,114,111,114,0,70,97,116,97,108,45,69,114,114,111,114,0,83,104,117,116,100,111,119,110,0,103,114,97,110,116,101,100,0,100,101,110,105,101,100,0,108,105,98,103,99,114,121,112,116,32,115,116,97,116,101,32,116,114,97,110,115,105,116,105,111,110,32,37,115,32,61,62,32,37,115,32,37,115,10,0,33,100,111,110,101,0,102,105,112,115,46,99,0,95,103,99,114,121,95,105,110,105,116,105,97,108,105,122,101,95,102,105,112,115,95,109,111,100,101,0,33,110,111,95,102,105,112,115,95,109,111,100,101,95,114,101,113,117,105,114,101,100,0,47,101,116,99,47,103,99,114,121,112,116,47,102,105,112,115,95,101,110,97,98,108,101,100,0,47,112,114,111,99,47,115,121,115,47,99,114,121,112,116,111,47,102,105,112,115,95,101,110,97,98,108,101,100,0,114,0,47,112,114,111,99,47,118,101,114,115,105,111,110,0,70,65,84,65,76,58,32,101,114,114,111,114,32,114,101,97,100,105,110,103,32,96,37,115,39,32,105,110,32,108,105,98,103,99,114,121,112,116,58,32,37,115,10,0,70,65,84,65,76,58,32,102,97,105,108,101,100,32,116,111,32,99,114,101,97,116,101,32,116,104,101,32,70,83,77,32,108,111,99,107,32,105,110,32,108,105,98,103,99,114,121,112,116,58,32,37,115,10,0,95,103,99,114,121,95,102,105,112,115,95,109,111,100,101,32,40,41,0,95,103,99,114,121,95,105,110,97,99,116,105,118,97,116,101,95,102,105,112,115,95,109,111,100,101,0,102,97,116,97,108,32,0,44,32,102,117,110,99,116,105,111,110,32,0,110,111,32,100,101,115,99,114,105,112,116,105,111,110,32,97,118,97,105,108,97,98,108,101,0,37,115,101,114,114,111,114,32,105,110,32,108,105,98,103,99,114,121,112,116,44,32,102,105,108,101,32,37,115,44,32,108,105,110,101,32,37,100,37,115,37,115,58,32,37,115,10,0,72,77,65,67,45,0,79,107,97,121,0,32,40,0,108,105,98,103,99,114,121,112,116,32,115,101,108,102,116,101,115,116,58,32,37,115,32,37,115,37,115,32,40,37,100,41,58,32,37,115,37,115,37,115,37,115,10,0,98,97,100,32,99,111,110,116,101,120,116,32,116,121,112,101,32,37,100,32,103,105,118,101,110,32,116,111,32,95,103,99,114,121,95,99,116,120,95,97,108,108,111,99,10,0,99,84,120,0,98,97,100,32,112,111,105,110,116,101,114,32,37,112,32,112,97,115,115,101,100,32,116,111,32,95,103,99,114,121,95,99,116,120,95,103,101,116,95,112,111,105,110,116,101,114,10,0,119,114,111,110,103,32,99,111,110,116,101,120,116,32,116,121,112,101,32,37,100,32,114,101,113,117,101,115,116,32,102,111,114,32,99,111,110,116,101,120,116,32,37,112,32,111,102,32,116,121,112,101,32,37,100,10,0,98,97,100,32,112,111,105,110,116,101,114,32,37,112,32,112,97,115,115,101,100,32,116,111,32,103,99,114,121,95,99,116,120,95,114,101,108,97,115,101,10,0,98,97,100,32,99,111,110,116,101,120,116,32,116,121,112,101,32,37,100,32,100,101,116,101,99,116,101,100,32,105,110,32,103,99,114,121,95,99,116,120,95,114,101,108,97,115,101,10,0,103,99,114,121,95,99,105,112,104,101,114,95,99,108,111,115,101,58,32,97,108,114,101,97,100,121,32,99,108,111,115,101,100,47,105,110,118,97,108,105,100,32,104,97,110,100,108,101,0,99,105,112,104,101,114,46,99,0,99,105,112,104,101,114,95,101,110,99,114,121,112,116,0,99,105,112,104,101,114,32,109,111,100,101,32,78,79,78,69,32,117,115,101,100,0,99,105,112,104,101,114,95,101,110,99,114,121,112,116,58,32,105,110,118,97,108,105,100,32,109,111,100,101,32,37,100,10,0,99,105,112,104,101,114,95,100,101,99,114,121,112,116,0,99,105,112,104,101,114,95,100,101,99,114,121,112,116,58,32,105,110,118,97,108,105,100,32,109,111,100,101,32,37,100,10,0,87,65,82,78,73,78,71,58,32,99,105,112,104,101,114,95,115,101,116,105,118,58,32,105,118,108,101,110,61,37,117,32,98,108,107,108,101,110,61,37,117,10,0,99,105,112,104,101,114,95,115,101,116,105,118,0,73,86,32,108,101,110,103,116,104,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,98,108,111,99,107,108,101,110,103,116,104,0,48,120,55,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,69,68,0,45,48,120,48,49,0,45,48,120,50,68,70,67,57,51,49,49,68,52,57,48,48,49,56,67,55,51,51,56,66,70,56,54,56,56,56,54,49,55,54,55,70,70,56,70,70,53,66,50,66,69,66,69,50,55,53,52,56,65,49,52,66,50,51,53,69,67,65,54,56,55,52,65,0,48,120,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,52,68,69,70,57,68,69,65,50,70,55,57,67,68,54,53,56,49,50,54,51,49,65,53,67,70,53,68,51,69,68,0,48,120,50,49,54,57,51,54,68,51,67,68,54,69,53,51,70,69,67,48,65,52,69,50,51,49,70,68,68,54,68,67,53,67,54,57,50,67,67,55,54,48,57,53,50,53,65,55,66,50,67,57,53,54,50,68,54,48,56,70,50,53,68,53,49,65,0,48,120,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,53,56,0,48,120,48,56,0,78,73,83,84,32,80,45,49,57,50,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,0,48,120,54,52,50,49,48,53,49,57,101,53,57,99,56,48,101,55,48,102,97,55,101,57,97,98,55,50,50,52,51,48,52,57,102,101,98,56,100,101,101,99,99,49,52,54,98,57,98,49,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,57,57,100,101,102,56,51,54,49,52,54,98,99,57,98,49,98,52,100,50,50,56,51,49,0,48,120,49,56,56,100,97,56,48,101,98,48,51,48,57,48,102,54,55,99,98,102,50,48,101,98,52,51,97,49,56,56,48,48,102,52,102,102,48,97,102,100,56,50,102,102,49,48,49,50,0,48,120,48,55,49,57,50,98,57,53,102,102,99,56,100,97,55,56,54,51,49,48,49,49,101,100,54,98,50,52,99,100,100,53,55,51,102,57,55,55,97,49,49,101,55,57,52,56,49,49,0,48,120,48,49,0,78,73,83,84,32,80,45,50,50,52,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,0,48,120,98,52,48,53,48,97,56,53,48,99,48,52,98,51,97,98,102,53,52,49,51,50,53,54,53,48,52,52,98,48,98,55,100,55,98,102,100,56,98,97,50,55,48,98,51,57,52,51,50,51,53,53,102,102,98,52,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,49,54,97,50,101,48,98,56,102,48,51,101,49,51,100,100,50,57,52,53,53,99,53,99,50,97,51,100,0,48,120,98,55,48,101,48,99,98,100,54,98,98,52,98,102,55,102,51,50,49,51,57,48,98,57,52,97,48,51,99,49,100,51,53,54,99,50,49,49,50,50,51,52,51,50,56,48,100,54,49,49,53,99,49,100,50,49,0,48,120,98,100,51,55,54,51,56,56,98,53,102,55,50,51,102,98,52,99,50,50,100,102,101,54,99,100,52,51,55,53,97,48,53,97,48,55,52,55,54,52,52,52,100,53,56,49,57,57,56,53,48,48,55,101,51,52,0,78,73,83,84,32,80,45,50,53,54,0,48,120,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,48,120,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,0,48,120,53,97,99,54,51,53,100,56,97,97,51,97,57,51,101,55,98,51,101,98,98,100,53,53,55,54,57,56,56,54,98,99,54,53,49,100,48,54,98,48,99,99,53,51,98,48,102,54,51,98,99,101,51,99,51,101,50,55,100,50,54,48,52,98,0,48,120,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,98,99,101,54,102,97,97,100,97,55,49,55,57,101,56,52,102,51,98,57,99,97,99,50,102,99,54,51,50,53,53,49,0,48,120,54,98,49,55,100,49,102,50,101,49,50,99,52,50,52,55,102,56,98,99,101,54,101,53,54,51,97,52,52,48,102,50,55,55,48,51,55,100,56,49,50,100,101,98,51,51,97,48,102,52,97,49,51,57,52,53,100,56,57,56,99,50,57,54,0,48,120,52,102,101,51,52,50,101,50,102,101,49,97,55,102,57,98,56,101,101,55,101,98,52,97,55,99,48,102,57,101,49,54,50,98,99,101,51,51,53,55,54,98,51,49,53,101,99,101,99,98,98,54,52,48,54,56,51,55,98,102,53,49,102,53,0,78,73,83,84,32,80,45,51,56,52,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,99,0,48,120,98,51,51,49,50,102,97,55,101,50,51,101,101,55,101,52,57,56,56,101,48,53,54,98,101,51,102,56,50,100,49,57,49,56,49,100,57,99,54,101,102,101,56,49,52,49,49,50,48,51,49,52,48,56,56,102,53,48,49,51,56,55,53,97,99,54,53,54,51,57,56,100,56,97,50,101,100,49,57,100,50,97,56,53,99,56,101,100,100,51,101,99,50,97,101,102,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,55,54,51,52,100,56,49,102,52,51,55,50,100,100,102,53,56,49,97,48,100,98,50,52,56,98,48,97,55,55,97,101,99,101,99,49,57,54,97,99,99,99,53,50,57,55,51,0,48,120,97,97,56,55,99,97,50,50,98,101,56,98,48,53,51,55,56,101,98,49,99,55,49,101,102,51,50,48,97,100,55,52,54,101,49,100,51,98,54,50,56,98,97,55,57,98,57,56,53,57,102,55,52,49,101,48,56,50,53,52,50,97,51,56,53,53,48,50,102,50,53,100,98,102,53,53,50,57,54,99,51,97,53,52,53,101,51,56,55,50,55,54,48,97,98,55,0,48,120,51,54,49,55,100,101,52,97,57,54,50,54,50,99,54,102,53,100,57,101,57,56,98,102,57,50,57,50,100,99,50,57,102,56,102,52,49,100,98,100,50,56,57,97,49,52,55,99,101,57,100,97,51,49,49,51,98,53,102,48,98,56,99,48,48,97,54,48,98,49,99,101,49,100,55,101,56,49,57,100,55,97,52,51,49,100,55,99,57,48,101,97,48,101,53,102,0,78,73,83,84,32,80,45,53,50,49,0,48,120,48,49,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,48,120,48,49,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,0,48,120,48,53,49,57,53,51,101,98,57,54,49,56,101,49,99,57,97,49,102,57,50,57,97,50,49,97,48,98,54,56,53,52,48,101,101,97,50,100,97,55,50,53,98,57,57,98,51,49,53,102,51,98,56,98,52,56,57,57,49,56,101,102,49,48,57,101,49,53,54,49,57,51,57,53,49,101,99,55,101,57,51,55,98,49,54,53,50,99,48,98,100,51,98,98,49,98,102,48,55,51,53,55,51,100,102,56,56,51,100,50,99,51,52,102,49,101,102,52,53,49,102,100,52,54,98,53,48,51,102,48,48,0,48,120,49,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,97,53,49,56,54,56,55,56,51,98,102,50,102,57,54,54,98,55,102,99,99,48,49,52,56,102,55,48,57,97,53,100,48,51,98,98,53,99,57,98,56,56,57,57,99,52,55,97,101,98,98,54,102,98,55,49,101,57,49,51,56,54,52,48,57,0,48,120,48,48,99,54,56,53,56,101,48,54,98,55,48,52,48,52,101,57,99,100,57,101,51,101,99,98,54,54,50,51,57,53,98,52,52,50,57,99,54,52,56,49,51,57,48,53,51,102,98,53,50,49,102,56,50,56,97,102,54,48,54,98,52,100,51,100,98,97,97,49,52,98,53,101,55,55,101,102,101,55,53,57,50,56,102,101,49,100,99,49,50,55,97,50,102,102,97,56,100,101,51,51,52,56,98,51,99,49,56,53,54,97,52,50,57,98,102,57,55,101,55,101,51,49,99,50,101,53,98,100,54,54,0,48,120,48,49,49,56,51,57,50,57,54,97,55,56,57,97,51,98,99,48,48,52,53,99,56,97,53,102,98,52,50,99,55,100,49,98,100,57,57,56,102,53,52,52,52,57,53,55,57,98,52,52,54,56,49,55,97,102,98,100,49,55,50,55,51,101,54,54,50,99,57,55,101,101,55,50,57,57,53,101,102,52,50,54,52,48,99,53,53,48,98,57,48,49,51,102,97,100,48,55,54,49,51,53,51,99,55,48,56,54,97,50,55,50,99,50,52,48,56,56,98,101,57,52,55,54,57,102,100,49,54,54,53,48,0,98,114,97,105,110,112,111,111,108,80,49,54,48,114,49,0,48,120,101,57,53,101,52,97,53,102,55,51,55,48,53,57,100,99,54,48,100,102,99,55,97,100,57,53,98,51,100,56,49,51,57,53,49,53,54,50,48,102,0,48,120,51,52,48,101,55,98,101,50,97,50,56,48,101,98,55,52,101,50,98,101,54,49,98,97,100,97,55,52,53,100,57,55,101,56,102,55,99,51,48,48,0,48,120,49,101,53,56,57,97,56,53,57,53,52,50,51,52,49,50,49,51,52,102,97,97,50,100,98,100,101,99,57,53,99,56,100,56,54,55,53,101,53,56,0,48,120,101,57,53,101,52,97,53,102,55,51,55,48,53,57,100,99,54,48,100,102,53,57,57,49,100,52,53,48,50,57,52,48,57,101,54,48,102,99,48,57,0,48,120,98,101,100,53,97,102,49,54,101,97,51,102,54,97,52,102,54,50,57,51,56,99,52,54,51,49,101,98,53,97,102,55,98,100,98,99,100,98,99,51,0,48,120,49,54,54,55,99,98,52,55,55,97,49,97,56,101,99,51,51,56,102,57,52,55,52,49,54,54,57,99,57,55,54,51,49,54,100,97,54,51,50,49,0,98,114,97,105,110,112,111,111,108,80,49,57,50,114,49,0,48,120,99,51,48,50,102,52,49,100,57,51,50,97,51,54,99,100,97,55,97,51,52,54,51,48,57,51,100,49,56,100,98,55,56,102,99,101,52,55,54,100,101,49,97,56,54,50,57,55,0,48,120,54,97,57,49,49,55,52,48,55,54,98,49,101,48,101,49,57,99,51,57,99,48,51,49,102,101,56,54,56,53,99,49,99,97,101,48,52,48,101,53,99,54,57,97,50,56,101,102,0,48,120,52,54,57,97,50,56,101,102,55,99,50,56,99,99,97,51,100,99,55,50,49,100,48,52,52,102,52,52,57,54,98,99,99,97,55,101,102,52,49,52,54,102,98,102,50,53,99,57,0,48,120,99,51,48,50,102,52,49,100,57,51,50,97,51,54,99,100,97,55,97,51,52,54,50,102,57,101,57,101,57,49,54,98,53,98,101,56,102,49,48,50,57,97,99,52,97,99,99,49,0,48,120,99,48,97,48,54,52,55,101,97,97,98,54,97,52,56,55,53,51,98,48,51,51,99,53,54,99,98,48,102,48,57,48,48,97,50,102,53,99,52,56,53,51,51,55,53,102,100,54,0,48,120,49,52,98,54,57,48,56,54,54,97,98,100,53,98,98,56,56,98,53,102,52,56,50,56,99,49,52,57,48,48,48,50,101,54,55,55,51,102,97,50,102,97,50,57,57,98,56,102,0,98,114,97,105,110,112,111,111,108,80,50,50,52,114,49,0,48,120,100,55,99,49,51,52,97,97,50,54,52,51,54,54,56,54,50,97,49,56,51,48,50,53,55,53,100,49,100,55,56,55,98,48,57,102,48,55,53,55,57,55,100,97,56,57,102,53,55,101,99,56,99,48,102,102,0,48,120,54,56,97,53,101,54,50,99,97,57,99,101,54,99,49,99,50,57,57,56,48,51,97,54,99,49,53,51,48,98,53,49,52,101,49,56,50,97,100,56,98,48,48,52,50,97,53,57,99,97,100,50,57,102,52,51,0,48,120,50,53,56,48,102,54,51,99,99,102,101,52,52,49,51,56,56,55,48,55,49,51,98,49,97,57,50,51,54,57,101,51,51,101,50,49,51,53,100,50,54,54,100,98,98,51,55,50,51,56,54,99,52,48,48,98,0,48,120,100,55,99,49,51,52,97,97,50,54,52,51,54,54,56,54,50,97,49,56,51,48,50,53,55,53,100,48,102,98,57,56,100,49,49,54,98,99,52,98,54,100,100,101,98,99,97,51,97,53,97,55,57,51,57,102,0,48,120,48,100,57,48,50,57,97,100,50,99,55,101,53,99,102,52,51,52,48,56,50,51,98,50,97,56,55,100,99,54,56,99,57,101,52,99,101,51,49,55,52,99,49,101,54,101,102,100,101,101,49,50,99,48,55,100,0,48,120,53,56,97,97,53,54,102,55,55,50,99,48,55,50,54,102,50,52,99,54,98,56,57,101,52,101,99,100,97,99,50,52,51,53,52,98,57,101,57,57,99,97,97,51,102,54,100,51,55,54,49,52,48,50,99,100,0,98,114,97,105,110,112,111,111,108,80,50,53,54,114,49,0,48,120,97,57,102,98,53,55,100,98,97,49,101,101,97,57,98,99,51,101,54,54,48,97,57,48,57,100,56,51,56,100,55,50,54,101,51,98,102,54,50,51,100,53,50,54,50,48,50,56,50,48,49,51,52,56,49,100,49,102,54,101,53,51,55,55,0,48,120,55,100,53,97,48,57,55,53,102,99,50,99,51,48,53,55,101,101,102,54,55,53,51,48,52,49,55,97,102,102,101,55,102,98,56,48,53,53,99,49,50,54,100,99,53,99,54,99,101,57,52,97,52,98,52,52,102,51,51,48,98,53,100,57,0,48,120,50,54,100,99,53,99,54,99,101,57,52,97,52,98,52,52,102,51,51,48,98,53,100,57,98,98,100,55,55,99,98,102,57,53,56,52,49,54,50,57,53,99,102,55,101,49,99,101,54,98,99,99,100,99,49,56,102,102,56,99,48,55,98,54,0,48,120,97,57,102,98,53,55,100,98,97,49,101,101,97,57,98,99,51,101,54,54,48,97,57,48,57,100,56,51,56,100,55,49,56,99,51,57,55,97,97,51,98,53,54,49,97,54,102,55,57,48,49,101,48,101,56,50,57,55,52,56,53,54,97,55,0,48,120,56,98,100,50,97,101,98,57,99,98,55,101,53,55,99,98,50,99,52,98,52,56,50,102,102,99,56,49,98,55,97,102,98,57,100,101,50,55,101,49,101,51,98,100,50,51,99,50,51,97,52,52,53,51,98,100,57,97,99,101,51,50,54,50,0,48,120,53,52,55,101,102,56,51,53,99,51,100,97,99,52,102,100,57,55,102,56,52,54,49,97,49,52,54,49,49,100,99,57,99,50,55,55,52,53,49,51,50,100,101,100,56,101,53,52,53,99,49,100,53,52,99,55,50,102,48,52,54,57,57,55,0,98,114,97,105,110,112,111,111,108,80,51,50,48,114,49,0,48,120,100,51,53,101,52,55,50,48,51,54,98,99,52,102,98,55,101,49,51,99,55,56,53,101,100,50,48,49,101,48,54,53,102,57,56,102,99,102,97,54,102,54,102,52,48,100,101,102,52,102,57,50,98,57,101,99,55,56,57,51,101,99,50,56,102,99,100,52,49,50,98,49,102,49,98,51,50,101,50,55,0,48,120,51,101,101,51,48,98,53,54,56,102,98,97,98,48,102,56,56,51,99,99,101,98,100,52,54,100,51,102,51,98,98,56,97,50,97,55,51,53,49,51,102,53,101,98,55,57,100,97,54,54,49,57,48,101,98,48,56,53,102,102,97,57,102,52,57,50,102,51,55,53,97,57,55,100,56,54,48,101,98,52,0,48,120,53,50,48,56,56,51,57,52,57,100,102,100,98,99,52,50,100,51,97,100,49,57,56,54,52,48,54,56,56,97,54,102,101,49,51,102,52,49,51,52,57,53,53,52,98,52,57,97,99,99,51,49,100,99,99,100,56,56,52,53,51,57,56,49,54,102,53,101,98,52,97,99,56,102,98,49,102,49,97,54,0,48,120,100,51,53,101,52,55,50,48,51,54,98,99,52,102,98,55,101,49,51,99,55,56,53,101,100,50,48,49,101,48,54,53,102,57,56,102,99,102,97,53,98,54,56,102,49,50,97,51,50,100,52,56,50,101,99,55,101,101,56,54,53,56,101,57,56,54,57,49,53,53,53,98,52,52,99,53,57,51,49,49,0,48,120,52,51,98,100,55,101,57,97,102,98,53,51,100,56,98,56,53,50,56,57,98,99,99,52,56,101,101,53,98,102,101,54,102,50,48,49,51,55,100,49,48,97,48,56,55,101,98,54,101,55,56,55,49,101,50,97,49,48,97,53,57,57,99,55,49,48,97,102,56,100,48,100,51,57,101,50,48,54,49,49,0,48,120,49,52,102,100,100,48,53,53,52,53,101,99,49,99,99,56,97,98,52,48,57,51,50,52,55,102,55,55,50,55,53,101,48,55,52,51,102,102,101,100,49,49,55,49,56,50,101,97,97,57,99,55,55,56,55,55,97,97,97,99,54,97,99,55,100,51,53,50,52,53,100,49,54,57,50,101,56,101,101,49,0,98,114,97,105,110,112,111,111,108,80,51,56,52,114,49,0,48,120,56,99,98,57,49,101,56,50,97,51,51,56,54,100,50,56,48,102,53,100,54,102,55,101,53,48,101,54,52,49,100,102,49,53,50,102,55,49,48,57,101,100,53,52,53,54,98,52,49,50,98,49,100,97,49,57,55,102,98,55,49,49,50,51,97,99,100,51,97,55,50,57,57,48,49,100,49,97,55,49,56,55,52,55,48,48,49,51,51,49,48,55,101,99,53,51,0,48,120,55,98,99,51,56,50,99,54,51,100,56,99,49,53,48,99,51,99,55,50,48,56,48,97,99,101,48,53,97,102,97,48,99,50,98,101,97,50,56,101,52,102,98,50,50,55,56,55,49,51,57,49,54,53,101,102,98,97,57,49,102,57,48,102,56,97,97,53,56,49,52,97,53,48,51,97,100,52,101,98,48,52,97,56,99,55,100,100,50,50,99,101,50,56,50,54,0,48,120,48,52,97,56,99,55,100,100,50,50,99,101,50,56,50,54,56,98,51,57,98,53,53,52,49,54,102,48,52,52,55,99,50,102,98,55,55,100,101,49,48,55,100,99,100,50,97,54,50,101,56,56,48,101,97,53,51,101,101,98,54,50,100,53,55,99,98,52,51,57,48,50,57,53,100,98,99,57,57,52,51,97,98,55,56,54,57,54,102,97,53,48,52,99,49,49,0,48,120,56,99,98,57,49,101,56,50,97,51,51,56,54,100,50,56,48,102,53,100,54,102,55,101,53,48,101,54,52,49,100,102,49,53,50,102,55,49,48,57,101,100,53,52,53,54,98,51,49,102,49,54,54,101,54,99,97,99,48,52,50,53,97,55,99,102,51,97,98,54,97,102,54,98,55,102,99,51,49,48,51,98,56,56,51,50,48,50,101,57,48,52,54,53,54,53,0,48,120,49,100,49,99,54,52,102,48,54,56,99,102,52,53,102,102,97,50,97,54,51,97,56,49,98,55,99,49,51,102,54,98,56,56,52,55,97,51,101,55,55,101,102,49,52,102,101,51,100,98,55,102,99,97,102,101,48,99,98,100,49,48,101,56,101,56,50,54,101,48,51,52,51,54,100,54,52,54,97,97,101,102,56,55,98,50,101,50,52,55,100,52,97,102,49,101,0,48,120,56,97,98,101,49,100,55,53,50,48,102,57,99,50,97,52,53,99,98,49,101,98,56,101,57,53,99,102,100,53,53,50,54,50,98,55,48,98,50,57,102,101,101,99,53,56,54,52,101,49,57,99,48,53,52,102,102,57,57,49,50,57,50,56,48,101,52,54,52,54,50,49,55,55,57,49,56,49,49,49,52,50,56,50,48,51,52,49,50,54,51,99,53,51,49,53,0,98,114,97,105,110,112,111,111,108,80,53,49,50,114,49,0,48,120,97,97,100,100,57,100,98,56,100,98,101,57,99,52,56,98,51,102,100,52,101,54,97,101,51,51,99,57,102,99,48,55,99,98,51,48,56,100,98,51,98,51,99,57,100,50,48,101,100,54,54,51,57,99,99,97,55,48,51,51,48,56,55,49,55,100,52,100,57,98,48,48,57,98,99,54,54,56,52,50,97,101,99,100,97,49,50,97,101,54,97,51,56,48,101,54,50,56,56,49,102,102,50,102,50,100,56,50,99,54,56,53,50,56,97,97,54,48,53,54,53,56,51,97,52,56,102,51,0,48,120,55,56,51,48,97,51,51,49,56,98,54,48,51,98,56,57,101,50,51,50,55,49,52,53,97,99,50,51,52,99,99,53,57,52,99,98,100,100,56,100,51,100,102,57,49,54,49,48,97,56,51,52,52,49,99,97,101,97,57,56,54,51,98,99,50,100,101,100,53,100,53,97,97,56,50,53,51,97,97,49,48,97,50,101,102,49,99,57,56,98,57,97,99,56,98,53,55,102,49,49,49,55,97,55,50,98,102,50,99,55,98,57,101,55,99,49,97,99,52,100,55,55,102,99,57,52,99,97,0,48,120,51,100,102,57,49,54,49,48,97,56,51,52,52,49,99,97,101,97,57,56,54,51,98,99,50,100,101,100,53,100,53,97,97,56,50,53,51,97,97,49,48,97,50,101,102,49,99,57,56,98,57,97,99,56,98,53,55,102,49,49,49,55,97,55,50,98,102,50,99,55,98,57,101,55,99,49,97,99,52,100,55,55,102,99,57,52,99,97,100,99,48,56,51,101,54,55,57,56,52,48,53,48,98,55,53,101,98,97,101,53,100,100,50,56,48,57,98,100,54,51,56,48,49,54,102,55,50,51,0,48,120,97,97,100,100,57,100,98,56,100,98,101,57,99,52,56,98,51,102,100,52,101,54,97,101,51,51,99,57,102,99,48,55,99,98,51,48,56,100,98,51,98,51,99,57,100,50,48,101,100,54,54,51,57,99,99,97,55,48,51,51,48,56,55,48,53,53,51,101,53,99,52,49,52,99,97,57,50,54,49,57,52,49,56,54,54,49,49,57,55,102,97,99,49,48,52,55,49,100,98,49,100,51,56,49,48,56,53,100,100,97,100,100,98,53,56,55,57,54,56,50,57,99,97,57,48,48,54,57,0,48,120,56,49,97,101,101,52,98,100,100,56,50,101,100,57,54,52,53,97,50,49,51,50,50,101,57,99,52,99,54,97,57,51,56,53,101,100,57,102,55,48,98,53,100,57,49,54,99,49,98,52,51,98,54,50,101,101,102,52,100,48,48,57,56,101,102,102,51,98,49,102,55,56,101,50,100,48,100,52,56,100,53,48,100,49,54,56,55,98,57,51,98,57,55,100,53,102,55,99,54,100,53,48,52,55,52,48,54,97,53,101,54,56,56,98,51,53,50,50,48,57,98,99,98,57,102,56,50,50,0,48,120,55,100,100,101,51,56,53,100,53,54,54,51,51,50,101,99,99,48,101,97,98,102,97,57,99,102,55,56,50,50,102,100,102,50,48,57,102,55,48,48],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480);allocate([50,52,97,53,55,98,49,97,97,48,48,48,99,53,53,98,56,56,49,102,56,49,49,49,98,50,100,99,100,101,52,57,52,97,53,102,52,56,53,101,53,98,99,97,52,98,100,56,56,97,50,55,54,51,97,101,100,49,99,97,50,98,50,102,97,56,102,48,53,52,48,54,55,56,99,100,49,101,48,102,51,97,100,56,48,56,57,50,0,71,79,83,84,50,48,48,49,45,116,101,115,116,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,52,51,49,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,55,0,48,120,53,102,98,102,102,52,57,56,97,97,57,51,56,99,101,55,51,57,98,56,101,48,50,50,102,98,97,102,101,102,52,48,53,54,51,102,54,101,54,97,51,52,55,50,102,99,50,97,53,49,52,99,48,99,101,57,100,97,101,50,51,98,55,101,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,53,48,102,101,56,97,49,56,57,50,57,55,54,49,53,52,99,53,57,99,102,99,49,57,51,97,99,99,102,53,98,51,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,50,0,48,120,48,56,101,50,97,56,97,48,101,54,53,49,52,55,100,52,98,100,54,51,49,54,48,51,48,101,49,54,100,49,57,99,56,53,99,57,55,102,48,97,57,99,97,50,54,55,49,50,50,98,57,54,97,98,98,99,101,97,55,101,56,102,99,56,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,65,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,57,55,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,57,52,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,97,54,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,54,99,54,49,49,48,55,48,57,57,53,97,100,49,48,48,52,53,56,52,49,98,48,57,98,55,54,49,98,56,57,51,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,0,48,120,56,100,57,49,101,52,55,49,101,48,57,56,57,99,100,97,50,55,100,102,53,48,53,97,52,53,51,102,50,98,55,54,51,53,50,57,52,102,50,100,100,102,50,51,101,51,98,49,50,50,97,99,99,57,57,99,57,101,57,102,49,101,49,52,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,66,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,99,57,57,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,99,57,54,0,48,120,51,101,49,97,102,52,49,57,97,50,54,57,97,53,102,56,54,54,97,55,100,51,99,50,53,99,51,100,102,56,48,97,101,57,55,57,50,53,57,51,55,51,102,102,50,98,49,56,50,102,52,57,100,52,99,101,55,101,49,98,98,99,56,98,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,53,102,55,48,48,99,102,102,102,49,97,54,50,52,101,53,101,52,57,55,49,54,49,98,99,99,56,97,49,57,56,102,0,48,120,51,102,97,56,49,50,52,51,53,57,102,57,54,54,56,48,98,56,51,100,49,99,51,101,98,50,99,48,55,48,101,53,99,53,52,53,99,57,56,53,56,100,48,51,101,99,102,98,55,52,52,98,102,56,100,55,49,55,55,49,55,101,102,99,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,67,0,48,120,57,98,57,102,54,48,53,102,53,97,56,53,56,49,48,55,97,98,49,101,99,56,53,101,54,98,52,49,99,56,97,97,99,102,56,52,54,101,56,54,55,56,57,48,53,49,100,51,55,57,57,56,102,55,98,57,48,50,50,100,55,53,57,98,0,48,120,57,98,57,102,54,48,53,102,53,97,56,53,56,49,48,55,97,98,49,101,99,56,53,101,54,98,52,49,99,56,97,97,99,102,56,52,54,101,56,54,55,56,57,48,53,49,100,51,55,57,57,56,102,55,98,57,48,50,50,100,55,53,57,56,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,48,53,97,0,48,120,57,98,57,102,54,48,53,102,53,97,56,53,56,49,48,55,97,98,49,101,99,56,53,101,54,98,52,49,99,56,97,97,53,56,50,99,97,51,53,49,49,101,100,100,102,98,55,52,102,48,50,102,51,97,54,53,57,56,57,56,48,98,98,57,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,0,48,120,52,49,101,99,101,53,53,55,52,51,55,49,49,97,56,99,51,99,98,102,51,55,56,51,99,100,48,56,99,48,101,101,52,100,52,100,99,52,52,48,100,52,54,52,49,97,56,102,51,54,54,101,53,53,48,100,102,100,98,51,98,98,54,55,0,71,79,83,84,50,48,49,50,45,116,101,115,116,0,48,120,52,53,51,49,97,99,100,49,102,101,48,48,50,51,99,55,53,53,48,100,50,54,55,98,54,98,50,102,101,101,56,48,57,50,50,98,49,52,98,50,102,102,98,57,48,102,48,52,100,52,101,98,55,99,48,57,98,53,100,50,100,49,53,100,102,49,100,56,53,50,55,52,49,97,102,52,55,48,52,97,48,52,53,56,48,52,55,101,56,48,101,52,53,52,54,100,51,53,98,56,51,51,54,102,97,99,50,50,52,100,100,56,49,54,54,52,98,98,102,53,50,56,98,101,54,51,55,51,0,48,120,49,99,102,102,48,56,48,54,97,51,49,49,49,54,100,97,50,57,100,56,99,102,97,53,52,101,53,55,101,98,55,52,56,98,99,53,102,51,55,55,101,52,57,52,48,48,102,100,100,55,56,56,98,54,52,57,101,99,97,49,97,99,52,51,54,49,56,51,52,48,49,51,98,50,97,100,55,51,50,50,52,56,48,97,56,57,99,97,53,56,101,48,99,102,55,52,98,99,57,101,53,52,48,99,50,97,100,100,54,56,57,55,102,97,100,48,97,51,48,56,52,102,51,48,50,97,100,99,0,48,120,52,53,51,49,97,99,100,49,102,101,48,48,50,51,99,55,53,53,48,100,50,54,55,98,54,98,50,102,101,101,56,48,57,50,50,98,49,52,98,50,102,102,98,57,48,102,48,52,100,52,101,98,55,99,48,57,98,53,100,50,100,49,53,100,97,56,50,102,50,100,55,101,99,98,49,100,98,97,99,55,49,57,57,48,53,99,53,101,101,99,99,52,50,51,102,49,100,56,54,101,50,53,101,100,98,101,50,51,99,53,57,53,100,54,52,52,97,97,102,49,56,55,101,54,101,54,100,102,0,48,120,50,52,100,49,57,99,99,54,52,53,55,50,101,101,51,48,102,51,57,54,98,102,54,101,98,98,102,100,55,97,54,99,53,50,49,51,98,51,98,51,100,55,48,53,55,99,99,56,50,53,102,57,49,48,57,51,97,54,56,99,100,55,54,50,102,100,54,48,54,49,49,50,54,50,99,100,56,51,56,100,99,54,98,54,48,97,97,55,101,101,101,56,48,52,101,50,56,98,99,56,52,57,57,55,55,102,97,99,51,51,98,52,98,53,51,48,102,49,98,49,50,48,50,52,56,97,57,97,0,48,120,50,98,98,51,49,50,97,52,51,98,100,50,99,101,54,101,48,100,48,50,48,54,49,51,99,56,53,55,97,99,100,100,99,102,98,102,48,54,49,101,57,49,101,53,102,50,99,51,102,51,50,52,52,55,99,50,53,57,102,51,57,98,50,99,56,51,97,98,49,53,54,100,55,55,102,49,52,57,54,98,102,55,101,98,51,51,53,49,101,49,101,101,52,101,52,51,100,99,49,97,49,56,98,57,49,98,50,52,54,52,48,98,54,100,98,98,57,50,99,98,49,97,100,100,51,55,49,101,0,71,79,83,84,50,48,49,50,45,116,99,50,54,45,65,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,99,55,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,99,52,0,48,120,101,56,99,50,53,48,53,100,101,100,102,99,56,54,100,100,99,49,98,100,48,98,50,98,54,54,54,55,102,49,100,97,51,52,98,56,50,53,55,52,55,54,49,99,98,48,101,56,55,57,98,100,48,56,49,99,102,100,48,98,54,50,54,53,101,101,51,99,98,48,57,48,102,51,48,100,50,55,54,49,52,99,98,52,53,55,52,48,49,48,100,97,57,48,100,100,56,54,50,101,102,57,100,52,101,98,101,101,52,55,54,49,53,48,51,49,57,48,55,56,53,97,55,49,99,55,54,48,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,50,55,101,54,57,53,51,50,102,52,56,100,56,57,49,49,54,102,102,50,50,98,56,100,52,101,48,53,54,48,54,48,57,98,52,98,51,56,97,98,102,97,100,50,98,56,53,100,99,97,99,100,98,49,52,49,49,102,49,48,98,50,55,53,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,51,0,48,120,55,53,48,51,99,102,101,56,55,97,56,51,54,97,101,51,97,54,49,98,56,56,49,54,101,50,53,52,53,48,101,54,99,101,53,101,49,99,57,51,97,99,102,49,97,98,99,49,55,55,56,48,54,52,102,100,99,98,101,102,97,57,50,49,100,102,49,54,50,54,98,101,52,102,100,48,51,54,101,57,51,100,55,53,101,54,97,53,48,101,51,97,52,49,101,57,56,48,50,56,102,101,53,102,99,50,51,53,102,53,98,56,56,57,97,53,56,57,99,98,53,50,49,53,102,50,97,52,0,71,79,83,84,50,48,49,50,45,116,99,50,54,45,66,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,54,102,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,54,99,0,48,120,54,56,55,100,49,98,52,53,57,100,99,56,52,49,52,53,55,101,51,101,48,54,99,102,54,102,53,101,50,53,49,55,98,57,55,99,55,100,54,49,52,97,102,49,51,56,98,99,98,102,56,53,100,99,56,48,54,99,52,98,50,56,57,102,51,101,57,54,53,100,50,100,98,49,52,49,54,100,50,49,55,102,56,98,50,55,54,102,97,100,49,97,98,54,57,99,53,48,102,55,56,98,101,101,49,102,97,51,49,48,54,101,102,98,56,99,99,98,99,55,99,53,49,52,48,49,49,54,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,52,57,97,49,101,99,49,52,50,53,54,53,97,53,52,53,97,99,102,100,98,55,55,98,100,57,100,52,48,99,102,97,56,98,57,57,54,55,49,50,49,48,49,98,101,97,48,101,99,54,51,52,54,99,53,52,51,55,52,102,50,53,98,100,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,50,0,48,120,49,97,56,102,55,101,100,97,51,56,57,98,48,57,52,99,50,99,48,55,49,101,51,54,52,55,97,56,57,52,48,102,51,99,49,50,51,98,54,57,55,53,55,56,99,50,49,51,98,101,54,100,100,57,101,54,99,56,101,99,55,51,51,53,100,99,98,50,50,56,102,100,49,101,100,102,52,97,51,57,49,53,50,99,98,99,97,97,102,56,99,48,51,57,56,56,50,56,48,52,49,48,53,53,102,57,52,99,101,101,101,99,55,101,50,49,51,52,48,55,56,48,102,101,52,49,98,100,0,115,101,99,112,50,53,54,107,49,0,48,120,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,69,70,70,70,70,70,67,50,70,0,48,120,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,69,66,65,65,69,68,67,69,54,65,70,52,56,65,48,51,66,66,70,68,50,53,69,56,67,68,48,51,54,52,49,52,49,0,48,120,55,57,66,69,54,54,55,69,70,57,68,67,66,66,65,67,53,53,65,48,54,50,57,53,67,69,56,55,48,66,48,55,48,50,57,66,70,67,68,66,50,68,67,69,50,56,68,57,53,57,70,50,56,49,53,66,49,54,70,56,49,55,57,56,0,48,120,52,56,51,65,68,65,55,55,50,54,65,51,67,52,54,53,53,68,65,52,70,66,70,67,48,69,49,49,48,56,65,56,70,68,49,55,66,52,52,56,65,54,56,53,53,52,49,57,57,67,52,55,68,48,56,70,70,66,49,48,68,52,66,56,0,49,46,51,46,54,46,49,46,52,46,49,46,49,49,53,57,49,46,49,53,46,49,0,49,46,50,46,56,52,48,46,49,48,48,52,53,46,51,46,49,46,49,0,112,114,105,109,101,49,57,50,118,49,0,115,101,99,112,49,57,50,114,49,0,110,105,115,116,112,49,57,50,0,115,101,99,112,50,50,52,114,49,0,49,46,51,46,49,51,50,46,48,46,51,51,0,110,105,115,116,112,50,50,52,0,49,46,50,46,56,52,48,46,49,48,48,52,53,46,51,46,49,46,55,0,112,114,105,109,101,50,53,54,118,49,0,115,101,99,112,50,53,54,114,49,0,110,105,115,116,112,50,53,54,0,115,101,99,112,51,56,52,114,49,0,49,46,51,46,49,51,50,46,48,46,51,52,0,110,105,115,116,112,51,56,52,0,115,101,99,112,53,50,49,114,49,0,49,46,51,46,49,51,50,46,48,46,51,53,0,110,105,115,116,112,53,50,49,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,49,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,51,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,53,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,55,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,57,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,49,49,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,49,51,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,48,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,49,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,50,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,51,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,88,99,104,65,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,88,99,104,66,0,49,46,50,46,54,52,51,46,50,46,50,46,51,54,46,48,0,49,46,50,46,54,52,51,46,50,46,50,46,51,54,46,49,0,49,46,50,46,54,52,51,46,55,46,49,46,50,46,49,46,50,46,49,0,49,46,50,46,54,52,51,46,55,46,49,46,50,46,49,46,50,46,50,0,49,46,51,46,49,51,50,46,48,46,49,48,0,48,120,48,52,0,45,112,97,98,103,110,104,0,98,0,103,0,46,120,0,46,121,0,46,122,0,104,0,100,0,101,99,99,32,103,101,116,32,112,97,114,97,109,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,40,112,117,98,108,105,99,45,107,101,121,40,101,99,99,40,112,37,109,41,40,97,37,109,41,40,98,37,109,41,40,103,37,109,41,40,110,37,109,41,40,104,37,109,41,41,41,0,103,46,120,0,103,46,121,0,113,46,120,0,113,46,121,0,101,100,100,115,97,95,101,110,99,111,100,101,112,111,105,110,116,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,48,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,68,0,115,99,97,110,110,105,110,103,32,69,67,67,32,112,97,114,97,109,101,116,101,114,32,102,97,105,108,101,100,58,32,37,115,10,0,50,66,56,51,50,52,56,48,52,70,67,49,68,70,48,66,50,66,52,68,48,48,57,57,51,68,70,66,68,55,65,55,50,70,52,51,49,56,48,54,65,68,50,70,69,52,55,56,67,52,69,69,49,66,50,55,52,65,48,69,65,48,66,48,0,101,99,103,101,110,32,32,32,32,32,32,112,107,0,42,32,101,95,112,107,0,32,32,101,95,112,107,0,32,32,32,32,32,109,0,32,32,32,114,0,32,32,32,101,95,114,0,32,72,40,82,43,41,0,32,32,32,101,95,115,0,87,101,105,101,114,115,116,114,97,115,115,0,69,100,119,97,114,100,115,0,83,116,97,110,100,97,114,100,0,69,100,50,53,53,49,57,0,109,112,105,95,112,114,105,110,116,32,102,97,105,108,101,100,58,32,37,115,10,0,109,112,105,95,115,99,97,110,32,102,97,105,108,101,100,58,32,37,115,10,0,70,73,80,83,45,49,57,56,97,44,32,65,46,49,0,83,97,109,112,108,101,32,35,49,0,79,76,163,213,214,139,167,204,10,18,8,201,198,30,156,93,160,64,60,10,0,105,110,118,97,108,105,100,32,116,101,115,116,115,32,100,97,116,97,0,103,99,114,121,95,109,100,95,115,101,116,107,101,121,32,102,97,105,108,101,100,0,103,99,114,121,95,109,100,95,114,101,97,100,32,102,97,105,108,101,100,0,100,111,101,115,32,110,111,116,32,109,97,116,99,104,0,70,73,80,83,45,49,57,56,97,44,32,65,46,50,0,83,97,109,112,108,101,32,35,50,0,9,34,211,64,95,170,61,25,79,130,164,88,48,115,125,92,198,199,93,36,0,70,73,80,83,45,49,57,56,97,44,32,65,46,51,0,83,97,109,112,108,101,32,35,51,0,188,244,30,171,139,178,216,2,243,208,92,175,124,176,146,236,248,209,163,170,0,70,73,80,83,45,49,57,56,97,44,32,65,46,52,0,83,97,109,112,108,101,32,35,52,0,158,168,134,239,226,104,219,236,206,66,12,117,36,223,50,224,117,26,42,38,0,104,109,97,99,0,100,97,116,97,45,50,56,32,107,101,121,45,52,0,119,104,97,116,32,100,111,32,121,97,32,119,97,110,116,32,102,111,114,32,110,111,116,104,105,110,103,63,0,74,101,102,101,0,100,97,116,97,45,57,32,107,101,121,45,50,48,0,72,105,32,84,104,101,114,101,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,100,97,116,97,45,53,48,32,107,101,121,45,50,48,0,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,0,100,97,116,97,45,53,48,32,107,101,121,45,50,54,0,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,100,97,116,97,45,53,52,32,107,101,121,45,49,51,49,0,84,101,115,116,32,85,115,105,110,103,32,76,97,114,103,101,114,32,84,104,97,110,32,66,108,111,99,107,45,83,105,122,101,32,75,101,121,32,45,32,72,97,115,104,32,75,101,121,32,70,105,114,115,116,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,0,100,97,116,97,45,49,53,50,32,107,101,121,45,49,51,49,0,84,104,105,115,32,105,115,32,97,32,116,101,115,116,32,117,115,105,110,103,32,97,32,108,97,114,103,101,114,32,116,104,97,110,32,98,108,111,99,107,45,115,105,122,101,32,107,101,121,32,97,110,100,32,97,32,108,97,114,103,101,114,32,116,104,97,110,32,98,108,111,99,107,45,115,105,122,101,32,100,97,116,97,46,32,84,104,101,32,107,101,121,32,110,101,101,100,115,32,116,111,32,98,101,32,104,97,115,104,101,100,32,98,101,102,111,114,101,32,98,101,105,110,103,32,117,115,101,100,32,98,121,32,116,104,101,32,72,77,65,67,32,97,108,103,111,114,105,116,104,109,46,0,95,103,99,114,121,95,104,109,97,99,50,53,54,95,110,101,119,32,102,97,105,108,101,100,0,95,103,99,114,121,95,104,109,97,99,50,53,54,95,102,105,110,97,108,105,122,101,32,102,97,105,108,101,100,0,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,105,110,32,115,101,99,111,110,100,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,0,97,108,103,111,114,105,116,104,109,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,111,105,100,46,0,79,73,68,46,0,109,100,46,99,0,109,100,95,119,114,105,116,101,0,109,100,95,101,110,97,98,108,101,58,32,97,108,103,111,114,105,116,104,109,32,37,100,32,110,111,116,32,97,118,97,105,108,97,98,108,101,10,0,77,68,53,32,117,115,101,100,0,79,111,112,115,58,32,109,100,32,100,101,98,117,103,32,97,108,114,101,97,100,121,32,115,116,97,114,116,101,100,10,0,100,98,103,109,100,45,37,48,53,100,46,37,46,49,48,115,0,119,0,109,100,32,100,101,98,117,103,58,32,99,97,110,39,116,32,111,112,101,110,32,37,115,10,0,109,100,95,103,101,116,95,97,108,103,111,0,112,111,115,115,105,98,108,101,32,117,115,97,103,101,32,101,114,114,111,114,0,87,65,82,78,73,78,71,58,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,97,108,103,111,114,105,116,104,109,32,105,110,32,109,100,95,103,101,116,95,97,108,103,111,40,41,10,0,109,111,114,101,32,116,104,97,110,32,111,110,101,32,97,108,103,111,114,105,116,104,109,32,105,110,32,109,100,95,114,101,97,100,40,48,41,10,0,109,100,95,114,101,97,100,0,103,99,114,121,95,109,100,95,111,112,101,110,32,102,97,105,108,101,100,32,102,111,114,32,97,108,103,111,32,37,100,58,32,37,115,0,107,101,121,108,101,110,32,60,61,32,104,100,45,62,99,116,120,45,62,109,97,99,112,97,100,115,95,66,115,105,122,101,0,112,114,101,112,97,114,101,95,109,97,99,112,97,100,115,0,110,111,32,65,83,78,46,49,32,79,73,68,32,102,111,114,32,109,100,32,97,108,103,111,32,37,100,10,0,99,97,110,39,116,32,103,101,110,101,114,97,116,101,32,97,32,112,114,105,109,101,32,119,105,116,104,32,108,101,115,115,32,116,104,97,110,32,37,100,32,98,105,116,115,10,0,95,103,99,114,121,95,109,112,105,95,99,109,112,40,32,40,120,41,44,32,40,110,109,105,110,117,115,49,41,32,41,32,60,32,48,32,38,38,32,95,103,99,114,121,95,109,112,105,95,99,109,112,95,117,105,40,32,40,120,41,44,32,40,49,41,32,41,32,62,32,48,0,112,114,105,109,101,103,101,110,46,99,0,105,115,95,112,114,105,109,101,0,112,114,105,109,101,103,101,110,0,111,118,101,114,102,108,111,119,32,105,110,32,112,114,105,109,101,32,103,101,110,101,114,97,116,105,111,110,10,0,112,115,115,0,114,97,119,0,99,111,109,112,0,111,97,101,112,0,112,107,99,115,49,0,112,97,114,97,109,0,110,111,99,111,109,112,0,114,102,99,54,57,55,57,0,110,111,112,97,114,97,109,0,112,107,99,115,49,45,114,97,119,0,105,103,110,105,110,118,102,108,97,103,0,110,111,45,107,101,121,116,101,115,116,0,110,111,45,98,108,105,110,100,105,110,103,0,117,115,101,45,102,105,112,115,49,56,54,0,117,115,101,45,102,105,112,115,49,56,54,45,50,0,110,98,105,116,115,0,114,115,97,45,117,115,101,45,101,0,115,105,103,45,118,97,108,0,104,97,115,104,45,97,108,103,111,0,115,104,97,49,0,109,100,53,0,115,104,97,50,53,54,0,114,105,112,101,109,100,49,54,48,0,114,109,100,49,54,48,0,115,104,97,51,56,52,0,115,104,97,53,49,50,0,115,104,97,50,50,52,0,109,100,50,0,109,100,52,0,116,105,103,101,114,0,104,97,118,97,108,0,108,97,98,101,108,0,114,97,110,100,111,109,45,111,118,101,114,114,105,100,101,0,100,97,116,97,0,104,97,115,104,0,115,97,108,116,45,108,101,110,103,116,104,0,63,0,112,114,105,118,97,116,101,45,107,101,121,0,112,117,98,108,105,99,45,107,101,121,0,103,101,110,107,101,121,0,97,108,103,111,114,105,116,104,109,32,100,105,115,97,98,108,101,100,0,97,108,103,111,114,105,116,104,109,32,110,111,116,32,102,111,117,110,100,0,110,111,32,115,101,108,102,116,101,115,116,32,97,118,97,105,108,97,98,108,101,0,109,111,100,117,108,101,0,65,69,83,0,82,73,74,78,68,65,69,76,0,65,69,83,49,50,56,0,65,69,83,45,49,50,56,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,49,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,51,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,0,232,233,234,235,237,238,239,240,242,243,244,245,247,248,249,250,1,75,175,34,120,166,157,51,29,81,128,16,54,67,233,154,103,67,195,209,81,154,180,242,205,154,120,171,9,165,17,189,65,69,83,45,49,50,56,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,65,69,83,45,49,50,56,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,4,5,6,7,9,10,11,12,14,15,16,17,19,20,21,22,24,25,26,27,29,30,31,32,118,119,116,117,241,242,243,244,248,249,230,231,119,112,113,114,93,30,242,13,206,214,188,188,18,19,26,199,197,71,136,170,65,69,83,45,49,57,50,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,65,69,83,45,49,57,50,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,8,9,10,11,13,14,15,16,18,19,20,21,23,24,25,26,28,29,30,31,33,34,35,36,38,39,40,41,43,44,45,46,6,154,0,127,199,106,69,159,152,186,249,23,254,223,149,33,8,14,149,23,235,22,119,113,154,207,114,128,134,4,10,227,65,69,83,45,50,53,54,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,65,69,83,45,50,53,54,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,99,102,98,0,110,111,32,116,101,115,116,32,100,97,116,97,32,102,111,114,32,116,104,105,115,32,109,111,100,101,0,111,112,101,110,0,115,101,116,32,107,101,121,0,115,101,116,32,73,86,0,101,110,99,114,121,112,116,32,99,111,109,109,97,110,100,0,101,110,99,114,121,112,116,32,109,105,115,109,97,116,99,104,0,100,101,99,114,121,112,116,32,99,111,109,109,97,110,100,0,100,101,99,114,121,112,116,32,109,105,115,109,97,116,99,104,0,111,102,98,0,99,105,112,104,101,114,0,65,69,83,49,57,50,0,82,73,74,78,68,65,69,76,49,57,50,0,65,69,83,45,49,57,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,49,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,51,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,52,0,65,69,83,50,53,54,0,82,73,74,78,68,65,69,76,50,53,54,0,65,69,83,45,50,53,54,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,49,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,51,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,52,0,82,73,80,69,77,68,49,54,48,0,48,33,48,9,6,5,43,36,3,2,1,5,0,4,20,49,46,51,46,51,54,46,51,46,51,46,49,46,50,0,49,46,51,46,51,54,46,51,46,50,46,49,0,105,32,62,32,48,0,114,115,97,45,99,111,109,109,111,110,46,99,0,95,103,99,114,121,95,114,115,97,95,112,107,99,115,49,95,101,110,99,111,100,101,95,102,111,114,95,101,110,99,0,110,32,61,61,32,110,102,114,97,109,101,0,80,75,67,83,35,49,32,98,108,111,99,107,32,116,121,112,101,32,50,32,101,110,99,111,100,101,100,32,100,97,116,97,0,118,97,108,117,101,32,101,120,116,114,97,99,116,101,100,32,102,114,111,109,32,80,75,67,83,35,49,32,98,108,111,99,107,32,116,121,112,101,32,50,32,101,110,99,111,100,101,100,32,100,97,116,97,0,105,32,62,32,49,0,95,103,99,114,121,95,114,115,97,95,112,107,99,115,49,95,101,110,99,111,100,101,95,102,111,114,95,115,105,103,0,80,75,67,83,35,49,32,98,108,111,99,107,32,116,121,112,101,32,49,32,101,110,99,111,100,101,100,32,100,97,116,97,0,95,103,99,114,121,95,114,115,97,95,112,107,99,115,49,95,101,110,99,111,100,101,95,114,97,119,95,102,111,114,95,115,105,103,0,79,65,69,80,32,101,110,99,111,100,101,100,32,100,97,116,97,0,118,97,108,117,101,32,101,120,116,114,97,99,116,101,100,32,102,114,111,109,32,79,65,69,80,32,101,110,99,111,100,101,100,32,100,97,116,97,0,104,108,101,110,0,95,103,99,114,121,95,114,115,97,95,112,115,115,95,101,110,99,111,100,101,0,80,83,83,32,101,110,99,111,100,101,100,32,100,97,116,97,0,95,103,99,114,121,95,114,115,97,95,112,115,115,95,118,101,114,105,102,121,0,82,83,65,0,114,115,97,0,111,112,101,110,112,103,112,45,114,115,97,0,111,105,100,46,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,0,110,101,0,110,101,100,112,113,117,0,97,0,115,0,110,0,100,101,114,105,118,101,45,112,97,114,109,115,0,117,115,101,45,120,57,51,49,0,95,103,99,114,121,95,109,112,105,95,103,101,116,95,110,98,105,116,115,32,40,40,120,112,41,41,32,61,61,32,110,98,105,116,115,0,114,115,97,46,99,0,103,101,110,95,120,57,51,49,95,112,97,114,109,95,120,112,0,95,103,99,114,121,95,109,112,105,95,103,101,116,95,110,98,105,116,115,32,40,40,120,105,41,41,32,61,61,32,49,48,49,0,103,101,110,95,120,57,51,49,95,112,97,114,109,95,120,105,0,88,112,49,0,88,112,50,0,88,112,0,88,113,49,0,88,113,50,0,88,113,0,95,103,99,114,121,95,109,112,105,95,103,99,100,32,40,32,40,103,41,44,32,40,101,41,44,32,40,112,104,105,41,32,41,0,103,101,110,101,114,97,116,101,95,120,57,51,49,0,112,32,97,110,100,32,113,32,97,114,101,32,115,119,97,112,112,101,100,10,0,32,32,113,0,32,32,110,0,32,32,101,0,32,32,100,0,32,32,117,0,115,101,108,102,45,116,101,115,116,32,97,102,116,101,114,32,107,101,121,32,103,101,110,101,114,97,116,105,111,110,32,102,97,105,108,101,100,0,40,109,105,115,99,45,107,101,121,45,105,110,102,111,40,112,45,113,45,115,119,97,112,112,101,100,41,41,0,103,101,110,101,114,97,116,101,95,115,116,100,0,32,32,112,61,32,0,32,32,113,61,32,0,112,104,105,61,32,0,32,32,103,61,32,0,32,32,102,61,32,0,32,32,110,61,32,0,32,32,101,61,32,0,32,32,100,61,32,0,32,32,117,61,32,0,40,107,101,121,45,100,97,116,97,32,40,112,117,98,108,105,99,45,107,101,121,32,32,40,114,115,97,40,110,37,109,41,40,101,37,109,41,41,41,32,40,112,114,105,118,97,116,101,45,107,101,121,32,32,40,114,115,97,40,110,37,109,41,40,101,37,109,41,40,100,37,109,41,40,112,37,109,41,40,113,37,109,41,40,117,37,109,41,41,41,32,37,83,41,0,114,115,97,95,116,101,115,116,107,101,121,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,101,110,99,114,121,112,116,32,100,97,116,97,0,114,115,97,95,101,110,99,114,121,112,116,32,32,32,32,110,0,114,115,97,95,101,110,99,114,121,112,116,32,32,32,32,101,0,114,115,97,95,101,110,99,114,121,112,116,32,32,114,101,115,0,40,101,110,99,45,118,97,108,40,114,115,97,40,97,37,98,41,41,41,0,40,101,110,99,45,118,97,108,40,114,115,97,40,97,37,109,41,41,41,0,114,115,97,95,101,110,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,100,101,99,114,121,112,116,32,100,97,116,97,0,110,101,100,112,63,113,63,117,63,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,110,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,101,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,100,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,112,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,113,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,117,0,114,115,97,95,100,101,99,114,121,112,116,32,32,114,101,115,0,40,118,97,108,117,101,32,37,98,41,0,37,109,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,115,105,103,110,32,32,32,100,97,116,97,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,110,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,101,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,100,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,112,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,113,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,117,0,114,115,97,95,115,105,103,110,32,32,32,32,114,101,115,0,40,115,105,103,45,118,97,108,40,114,115,97,40,115,37,98,41,41,41,0,40,115,105,103,45,118,97,108,40,114,115,97,40,115,37,77,41,41,41,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,118,101,114,105,102,121,32,100,97,116,97,0,114,115,97,95,118,101,114,105,102,121,32,32,115,105,103,0,114,115,97,95,118,101,114,105,102,121,32,32,32,32,110,0,114,115,97,95,118,101,114,105,102,121,32,32,32,32,101,0,114,115,97,95,118,101,114,105,102,121,32,32,99,109,112,0,114,115,97,95,118,101,114,105,102,121,32,32,32,32,61,62,32,37,115,10,0,99,111,110,118,101,114,116,0,40,112,114,105,118,97,116,101,45,107,101,121,32,40,114,115,97,32,32,40,110,32,35,48,48,101,48,99,101,57,54,102,57,48,98,54,99,57,101,48,50,102,51,57,50,50,98,101,97,100,97,57,51,102,101,53,48,97,56,55,53,101,97,99,54,98,99,99,49,56,98,98,57,97,57,99,102,50,101,56,52,57,54,53,99,97,97,32,32,32,32,32,32,50,100,49,102,102,57,53,97,55,102,53,52,50,52,54,53,99,54,99,48,99,49,57,100,50,55,54,101,52,53,50,54,99,101,48,52,56,56,54,56,97,55,97,57,49,52,102,100,51,52,51,99,99,51,97,56,55,100,100,55,52,50,57,49,32,32,32,32,32,32,102,102,99,53,54,53,53,48,54,100,53,98,98,98,50,53,99,98,97,99,54,97,48,101,50,100,100,49,102,56,98,99,97,97,98,48,100,52,97,50,57,99,50,102,51,55,99,57,53,48,102,51,54,51,52,56,52,98,102,50,54,57,102,55,32,32,32,32,32,32,56,57,49,52,52,48,52,54,52,98,97,102,55,57,56,50,55,101,48,51,97,51,54,101,55,48,98,56,49,52,57,51,56,101,101,98,100,99,54,51,101,57,54,52,50,52,55,98,101,55,53,100,99,53,56,98,48,49,52,98,55,101,97,50,53,49,35,41,32,32,40,101,32,35,48,49,48,48,48,49,35,41,32,32,40,100,32,35,48,52,54,49,50,57,102,50,52,56,57,100,55,49,53,55,57,98,101,48,97,55,53,102,101,48,50,57,98,100,54,99,100,98,53,55,52,101,98,102,53,55,101,97,56,97,53,98,48,102,100,97,57,52,50,99,97,98,57,52,51,98,49,49,32,32,32,32,32,32,55,100,55,98,98,57,53,101,53,100,50,56,56,55,53,101,48,102,57,102,99,53,102,99,99,48,54,97,55,50,102,54,100,53,48,50,52,54,52,100,97,98,100,101,100,55,56,101,102,54,98,55,49,54,49,55,55,98,56,51,100,53,98,100,32,32,32,32,32,32,99,53,52,51,100,99,53,100,51,102,101,100,57,51,50,101,53,57,102,53,56,57,55,101,57,50,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+30720);allocate([54,102,53,56,97,48,102,51,51,52,50,52,49,48,54,97,51,98,54,102,97,50,99,98,102,56,55,55,53,49,48,101,52,97,99,50,49,32,32,32,32,32,32,99,51,101,101,52,55,56,53,49,101,57,55,100,49,50,57,57,54,50,50,50,97,99,51,53,54,54,100,52,99,99,98,48,98,56,51,100,49,54,52,48,55,52,97,98,102,55,100,101,54,53,53,102,99,50,52,52,54,100,97,49,55,56,49,35,41,32,32,40,112,32,35,48,48,101,56,54,49,98,55,48,48,101,49,55,101,56,97,102,101,54,56,51,55,101,55,53,49,50,101,51,53,98,54,99,97,49,49,100,48,97,101,52,55,100,56,98,56,53,49,54,49,99,54,55,98,97,102,54,52,51,55,55,50,49,51,32,32,32,32,32,32,102,101,53,50,100,55,55,50,102,50,48,51,53,98,51,99,97,56,51,48,97,102,52,49,100,56,97,52,49,50,48,101,49,99,49,99,55,48,100,49,50,99,99,50,50,102,48,48,100,50,56,100,51,49,100,100,52,56,97,56,100,52,50,52,102,49,35,41,32,32,40,113,32,35,48,48,102,55,97,55,99,97,53,51,54,55,99,54,54,49,102,56,101,54,50,100,102,51,52,102,48,100,48,53,99,49,48,99,56,56,101,53,52,57,50,51,52,56,100,100,55,98,100,100,99,57,52,50,99,57,97,56,102,51,54,57,102,57,32,32,32,32,32,32,51,53,97,48,55,55,56,53,100,50,100,98,56,48,53,50,49,53,101,100,55,56,54,101,52,50,56,53,100,102,49,54,53,56,101,101,100,51,99,101,56,52,102,52,54,57,98,56,49,98,53,48,100,51,53,56,52,48,55,98,52,97,100,51,54,49,35,41,32,32,40,117,32,35,51,48,52,53,53,57,97,57,101,97,100,53,54,100,50,51,48,57,100,50,48,51,56,49,49,97,54,52,49,98,98,49,97,48,57,54,50,54,98,99,56,101,98,51,54,102,102,102,97,50,51,99,57,54,56,101,99,53,98,100,56,57,49,101,32,32,32,32,32,32,101,98,98,97,102,99,55,51,97,101,54,54,54,101,48,49,98,97,55,99,56,57,57,48,98,97,101,48,54,99,99,50,98,98,101,49,48,98,55,53,101,54,57,102,99,97,99,98,51,53,51,97,54,52,55,51,48,55,57,100,56,101,57,98,35,41,41,41,0,40,112,117,98,108,105,99,45,107,101,121,32,40,114,115,97,32,32,40,110,32,35,48,48,101,48,99,101,57,54,102,57,48,98,54,99,57,101,48,50,102,51,57,50,50,98,101,97,100,97,57,51,102,101,53,48,97,56,55,53,101,97,99,54,98,99,99,49,56,98,98,57,97,57,99,102,50,101,56,52,57,54,53,99,97,97,32,32,32,32,32,32,50,100,49,102,102,57,53,97,55,102,53,52,50,52,54,53,99,54,99,48,99,49,57,100,50,55,54,101,52,53,50,54,99,101,48,52,56,56,54,56,97,55,97,57,49,52,102,100,51,52,51,99,99,51,97,56,55,100,100,55,52,50,57,49,32,32,32,32,32,32,102,102,99,53,54,53,53,48,54,100,53,98,98,98,50,53,99,98,97,99,54,97,48,101,50,100,100,49,102,56,98,99,97,97,98,48,100,52,97,50,57,99,50,102,51,55,99,57,53,48,102,51,54,51,52,56,52,98,102,50,54,57,102,55,32,32,32,32,32,32,56,57,49,52,52,48,52,54,52,98,97,102,55,57,56,50,55,101,48,51,97,51,54,101,55,48,98,56,49,52,57,51,56,101,101,98,100,99,54,51,101,57,54,52,50,52,55,98,101,55,53,100,99,53,56,98,48,49,52,98,55,101,97,50,53,49,35,41,32,32,40,101,32,35,48,49,48,48,48,49,35,41,41,41,0,107,101,121,32,99,111,110,115,105,115,116,101,110,99,121,0,115,105,103,110,0,40,100,97,116,97,32,40,102,108,97,103,115,32,112,107,99,115,49,41,32,40,104,97,115,104,32,115,104,97,49,32,35,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,48,48,97,97,98,98,99,99,100,100,101,101,102,102,49,48,50,48,51,48,52,48,35,41,41,0,40,100,97,116,97,32,40,102,108,97,103,115,32,112,107,99,115,49,41,32,40,104,97,115,104,32,115,104,97,49,32,35,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,48,48,97,97,98,98,99,99,100,100,101,101,102,102,56,48,50,48,51,48,52,48,35,41,41,0,99,111,110,118,101,114,116,105,110,103,32,100,97,116,97,32,102,97,105,108,101,100,0,115,105,103,110,105,110,103,32,102,97,105,108,101,100,0,118,101,114,105,102,121,32,102,97,105,108,101,100,0,98,97,100,32,115,105,103,110,97,116,117,114,101,32,110,111,116,32,100,101,116,101,99,116,101,100,0,101,110,99,114,121,112,116,0,40,100,97,116,97,32,40,102,108,97,103,115,32,114,97,119,41,32,40,118,97,108,117,101,32,37,109,41,41,0,101,110,99,114,121,112,116,32,102,97,105,108,101,100,0,101,110,99,45,118,97,108,0,103,99,114,121,95,112,107,95,100,101,99,114,121,112,116,32,114,101,116,117,114,110,101,100,32,103,97,114,98,97,103,101,0,99,105,112,104,101,114,116,101,120,116,32,109,97,116,99,104,101,115,32,112,108,97,105,110,116,101,120,116,0,100,101,99,114,121,112,116,32,102,97,105,108,101,100,0,118,97,108,117,101,0,100,101,99,114,121,112,116,32,114,101,116,117,114,110,101,100,32,110,111,32,112,108,97,105,110,116,101,120,116,0,109,105,115,109,97,116,99,104,0,83,72,65,49,0,48,33,48,9,6,5,43,14,3,2,26,5,0,4,20,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,53,0,49,46,50,46,56,52,48,46,49,48,48,52,48,46,52,46,51,0,49,46,51,46,49,52,46,51,46,50,46,50,54,0,49,46,51,46,49,52,46,51,46,50,46,50,57,0,49,46,50,46,56,52,48,46,49,48,48,52,53,46,52,46,49,0,169,153,62,54,71,6,129,106,186,62,37,113,120,80,194,108,156,208,216,157,0,132,152,62,68,28,59,210,110,186,174,74,161,249,81,41,229,229,70,112,241,0,52,170,151,60,212,196,218,164,246,30,235,43,219,173,39,49,101,52,1,111,0,83,72,65,50,50,52,0,48,45,48,13,6,9,96,134,72,1,101,3,4,2,4,5,0,4,28,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,52,0,35,9,125,34,52,5,216,34,134,66,164,119,189,162,85,179,42,173,188,228,189,160,179,247,227,108,157,167,0,97,98,99,100,98,99,100,101,99,100,101,102,100,101,102,103,101,102,103,104,102,103,104,105,103,104,105,106,104,105,106,107,105,106,107,108,106,107,108,109,107,108,109,110,108,109,110,111,109,110,111,112,110,111,112,113,0,117,56,139,22,81,39,118,204,93,186,93,161,253,137,1,80,176,198,69,92,180,245,139,25,82,82,37,37,0,32,121,70,85,152,12,145,216,187,180,193,234,151,97,138,75,240,63,66,88,25,72,178,238,78,231,173,103,0,186,120,22,191,143,1,207,234,65,65,64,222,93,174,34,35,176,3,97,163,150,23,122,156,180,16,255,97,242,0,21,173,0,36,141,106,97,210,6,56,184,229,192,38,147,12,62,96,57,163,60,228,89,100,255,33,103,246,236,237,212,25,219,6,193,0,205,199,110,92,153,20,251,146,129,161,199,226,132,215,62,103,241,128,154,72,164,151,32,14,4,109,57,204,199,17,44,208,0,83,72,65,50,53,54,0,48,49,48,13,6,9,96,134,72,1,101,3,4,2,1,5,0,4,32,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,49,0,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,49,0,83,72,65,53,49,50,0,48,81,48,13,6,9,96,134,72,1,101,3,4,2,3,5,0,4,64,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,51,0,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,51,0,115,104,111,114,116,32,115,116,114,105,110,103,0,97,98,99,0,203,0,117,63,69,163,94,139,181,160,61,105,154,198,80,7,39,44,50,171,14,222,209,99,26,139,96,90,67,255,91,237,128,134,7,43,161,231,204,35,88,186,236,161,52,200,37,167,0,108,111,110,103,32,115,116,114,105,110,103,0,97,98,99,100,101,102,103,104,98,99,100,101,102,103,104,105,99,100,101,102,103,104,105,106,100,101,102,103,104,105,106,107,101,102,103,104,105,106,107,108,102,103,104,105,106,107,108,109,103,104,105,106,107,108,109,110,104,105,106,107,108,109,110,111,105,106,107,108,109,110,111,112,106,107,108,109,110,111,112,113,107,108,109,110,111,112,113,114,108,109,110,111,112,113,114,115,109,110,111,112,113,114,115,116,110,111,112,113,114,115,116,117,0,9,51,12,51,247,17,71,232,61,25,47,199,130,205,27,71,83,17,27,23,59,59,5,210,47,160,128,134,227,176,247,18,252,199,199,26,85,126,45,185,102,195,233,250,145,116,96,57,0,111,110,101,32,109,105,108,108,105,111,110,32,34,97,34,0,157,14,24,9,113,100,116,203,8,110,131,78,49,10,74,28,237,20,158,156,0,242,72,82,121,114,206,197,112,76,42,91,7,184,179,220,56,236,196,235,174,151,221,216,127,61,137,133,0,100,105,103,101,115,116,0,221,175,53,161,147,97,122,186,204,65,115,73,174,32,65,49,18,230,250,78,137,169,126,162,10,158,238,230,75,85,211,154,33,146,153,42,39,79,193,168,54,186,60,35,163,254,235,189,69,77,68,35,100,60,232,14,42,154,201,79,165,76,164,159,0,142,149,155,117,218,227,19,218,140,244,247,40,20,252,20,63,143,119,121,198,235,159,127,161,114,153,174,173,182,136,144,24,80,29,40,158,73,0,247,228,51,27,153,222,196,181,67,58,199,211,41,238,182,221,38,84,94,150,229,91,135,75,233,9,0,231,24,72,61,12,231,105,100,78,46,66,199,188,21,180,99,142,31,152,177,59,32,68,40,86,50,168,3,175,169,115,235,222,15,242,68,135,126,166,10,76,176,67,44,229,119,195,27,235,0,156,92,44,73,170,46,78,173,178,23,173,140,192,155,0,83,72,65,51,56,52,0,48,65,48,13,6,9,96,134,72,1,101,3,4,2,2,5,0,4,48,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,50,0,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,50,0,84,87,79,70,73,83,72,0,159,88,159,92,246,18,44,50,182,191,236,47,42,232,195,90,212,145,219,22,231,177,195,158,134,203,8,107,120,159,84,25,1,159,152,9,222,23,17,133,143,170,195,163,186,32,251,195,84,119,111,102,105,115,104,45,49,50,56,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,84,119,111,102,105,115,104,45,49,50,56,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,212,59,183,85,110,163,46,70,242,162,130,183,212,91,78,13,87,255,115,157,77,201,44,27,215,252,1,112,12,200,33,111,144,175,233,27,178,136,84,79,44,50,220,35,155,38,53,230,108,180,86,28,64,191,10,151,5,147,28,182,212,8,231,250,84,119,111,102,105,115,104,45,50,53,54,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,84,119,111,102,105,115,104,45,50,53,54,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,37,115,10,0,0,1,23,2,46,24,83,3,106,47,147,25,52,84,69,4,92,107,182,48,166,148,75,26,140,53,129,85,170,70,13,5,36,93,135,108,155,183,193,49,43,167,163,149,152,76,202,27,230,141,115,54,205,130,18,86,98,171,240,71,79,14,189,6,212,37,210,94,39,136,102,109,214,156,121,184,8,194,223,50,104,44,253,168,138,164,90,150,41,153,34,77,96,203,228,28,123,231,59,142,158,116,244,55,216,206,249,131,111,19,178,87,225,99,220,172,196,241,175,72,10,80,66,15,186,190,199,7,222,213,120,38,101,211,209,95,227,40,33,137,89,103,252,110,177,215,248,157,243,122,58,185,198,9,65,195,174,224,219,51,68,105,146,45,82,254,22,169,12,139,128,165,74,91,181,151,201,42,162,154,192,35,134,78,188,97,239,204,17,229,114,29,61,124,235,232,233,60,234,143,125,159,236,117,30,245,62,56,246,217,63,207,118,250,31,132,160,112,237,20,144,179,126,88,251,226,32,100,208,221,119,173,218,197,64,242,57,176,247,73,180,11,127,81,21,67,145,16,113,187,238,191,133,200,161,1,2,4,8,16,32,64,128,77,154,121,242,169,31,62,124,248,189,55,110,220,245,167,3,6,12,24,48,96,192,205,215,227,139,91,182,33,66,132,69,138,89,178,41,82,164,5,10,20,40,80,160,13,26,52,104,208,237,151,99,198,193,207,211,235,155,123,246,161,15,30,60,120,240,173,23,46,92,184,61,122,244,165,7,14,28,56,112,224,141,87,174,17,34,68,136,93,186,57,114,228,133,71,142,81,162,9,18,36,72,144,109,218,249,191,51,102,204,213,231,131,75,150,97,194,201,223,243,171,27,54,108,216,253,183,35,70,140,85,170,25,50,100,200,221,247,163,11,22,44,88,176,45,90,180,37,74,148,101,202,217,255,179,43,86,172,21,42,84,168,29,58,116,232,157,119,238,145,111,222,241,175,19,38,76,152,125,250,185,63,126,252,181,39,78,156,117,234,153,127,254,177,47,94,188,53,106,212,229,135,67,134,65,130,73,146,105,210,233,159,115,230,129,79,158,113,226,137,95,190,49,98,196,197,199,195,203,219,251,187,59,118,236,149,103,206,209,239,147,107,214,225,143,83,166,1,2,4,8,16,32,64,128,77,154,121,242,169,31,62,124,248,189,55,110,220,245,167,3,6,12,24,48,96,192,205,215,227,139,91,182,33,66,132,69,138,89,178,41,82,164,5,10,20,40,80,160,13,26,52,104,208,237,151,99,198,193,207,211,235,155,123,246,161,15,30,60,120,240,173,23,46,92,184,61,122,244,165,7,14,28,56,112,224,141,87,174,17,34,68,136,93,186,57,114,228,133,71,142,81,162,9,18,36,72,144,109,218,249,191,51,102,204,213,231,131,75,150,97,194,201,223,243,171,27,54,108,216,253,183,35,70,140,85,170,25,50,100,200,221,247,163,11,22,44,88,176,45,90,180,37,74,148,101,202,217,255,179,43,86,172,21,42,84,168,29,58,116,232,157,119,238,145,111,222,241,175,19,38,76,152,125,250,185,63,126,252,181,39,78,156,117,234,153,127,254,177,47,94,188,53,106,212,229,135,67,134,65,130,73,146,105,210,233,159,115,230,129,79,158,113,226,137,95,190,49,98,196,197,199,195,203,169,117,103,243,179,198,232,244,4,219,253,123,163,251,118,200,154,74,146,211,128,230,120,107,228,69,221,125,209,232,56,75,13,214,198,50,53,216,152,253,24,55,247,113,236,241,108,225,67,48,117,15,55,248,38,27,250,135,19,250,148,6,72,63,242,94,208,186,139,174,48,91,132,138,84,0,223,188,35,157,25,109,91,193,61,177,89,14,243,128,174,93,162,210,130,213,99,160,1,132,131,7,46,20,217,181,81,144,155,44,124,163,166,178,235,115,165,76,190,84,22,146,12,116,227,54,97,81,192,56,140,176,58,189,245,90,115,252,44,96,37,98,11,150,187,108,78,66,137,247,107,16,83,124,106,40,180,39,241,140,225,19,230,149,189,156,69,199,226,36,244,70,182,59,102,112,204,202,149,227,3,133,86,203,212,17,28,208,30,147,215,184,251,166,195,131,142,32,181,255,233,159,207,119,191,195,186,204,234,3,119,111,57,8,175,191,51,64,201,231,98,43,113,226,129,121,121,12,9,170,173,130,36,65,205,58,249,234,216,185,229,228,197,154,185,164,77,151,68,126,8,218,134,122,231,23,161,102,29,148,170,161,237,29,6,61,112,240,178,222,210,179,65,11,123,114,160,167,17,28,49,239,194,209,39,83,144,62,32,143,246,51,96,38,255,95,150,236,92,118,177,42,171,73,158,129,156,136,82,238,27,33,95,196,147,26,10,235,239,217,145,197,133,57,73,153,238,205,45,173,79,49,143,139,59,1,71,24,135,35,109,221,70,31,214,78,62,45,105,249,100,72,42,79,206,242,203,101,47,142,252,120,151,92,5,88,122,25,172,141,127,229,213,152,26,87,75,103,14,127,167,5,90,100,40,175,20,99,63,182,41,254,136,245,60,183,76,60,2,165,184,206,218,233,176,104,23,68,85,224,31,77,138,67,125,105,87,41,199,46,141,172,116,21,183,89,196,168,159,10,114,158,126,110,21,71,34,223,18,52,88,53,7,106,153,207,52,220,110,34,80,201,222,192,104,155,101,137,188,212,219,237,248,171,200,18,168,162,43,13,64,82,220,187,254,2,50,47,164,169,202,215,16,97,33,30,240,180,211,80,93,4,15,246,0,194,111,22,157,37,54,134,66,86,74,85,94,9,193,190,224,145,117,243,198,244,219,123,251,200,74,211,230,107,69,125,232,75,214,50,216,253,55,113,241,225,48,15,248,27,135,250,6,63,94,186,174,91,138,0,188,157,109,193,177,14,128,93,210,213,160,132,7,20,181,144,44,163,178,115,76,84,146,116,54,81,56,176,189,90,252,96,98,150,108,66,247,16,124,40,39,140,19,149,156,199,36,70,59,112,202,227,133,203,17,208,147,184,166,131,32,255,159,119,195,204,3,111,8,191,64,231,43,226,121,12,170,130,65,58,234,185,228,154,164,151,126,218,122,23,102,148,161,29,61,240,222,179,11,114,167,28,239,209,83,62,143,51,38,95,236,118,42,73,129,136,238,33,196,26,235,217,197,57,153,205,173,49,139,1,24,35,221,31,78,45,249,72,79,242,101,142,120,92,88,25,141,229,152,87,103,127,5,100,175,99,182,254,245,183,60,165,206,233,104,68,224,77,67,105,41,46,172,21,89,168,10,158,110,71,223,52,53,106,207,220,34,201,192,155,137,212,237,171,18,162,13,82,187,2,47,169,215,97,30,180,80,4,246,194,22,37,134,86,85,9,190,145,169,103,179,232,4,253,163,118,154,146,128,120,228,221,209,56,13,198,53,152,24,247,236,108,67,117,55,38,250,19,148,72,242,208,139,48,132,84,223,35,25,91,61,89,243,174,162,130,99,1,131,46,217,81,155,124,166,235,165,190,22,12,227,97,192,140,58,245,115,44,37,11,187,78,137,107,83,106,180,241,225,230,189,69,226,244,182,102,204,149,3,86,212,28,30,215,251,195,142,181,233,207,191,186,234,119,57,175,51,201,98,113,129,121,9,173,36,205,249,216,229,197,185,77,68,8,134,231,161,29,170,237,6,112,178,210,65,123,160,17,49,194,39,144,32,246,96,255,150,92,177,171,158,156,82,27,95,147,10,239,145,133,73,238,45,79,143,59,71,135,109,70,214,62,105,100,42,206,203,47,252,151,5,122,172,127,213,26,75,14,167,90,40,20,63,41,136,60,76,2,184,218,176,23,85,31,138,125,87,199,141,116,183,196,159,114,126,21,34,18,88,7,153,52,110,80,222,104,101,188,219,248,200,168,43,64,220,254,50,164,202,16,33,240,211,93,15,0,111,157,54,66,74,94,193,224,84,87,79,70,73,83,72,49,50,56,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,110,111,110,99,101,32,98,117,102,102,101,114,32,108,111,99,107,58,32,37,115,10,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,110,111,110,99,101,32,98,117,102,102,101,114,32,108,111,99,107,58,32,37,115,10,0,37,115,46,42,0,37,115,46,88,0,101,99,95,105,110,118,109,58,32,105,110,118,101,114,115,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,58,10,0,32,32,97,0,32,32,112,0,37,115,58,32,71,101,116,116,105,110,103,32,89,45,99,111,111,114,100,105,110,97,116,101,32,111,110,32,37,115,32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,10,0,95,103,99,114,121,95,109,112,105,95,101,99,95,103,101,116,95,97,102,102,105,110,101,0,77,111,110,116,103,111,109,101,114,121,0,71,67,82,89,80,84,95,66,65,82,82,69,84,84,0,37,115,58,32,37,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,95,103,99,114,121,95,109,112,105,95,101,99,95,100,117,112,95,112,111,105,110,116,0,95,103,99,114,121,95,109,112,105,95,101,99,95,97,100,100,95,112,111,105,110,116,115,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,33,98,112,95,109,97,114,107,101,114,0,109,112,105,45,112,111,119,46,99,0,95,103,99,114,121,95,109,112,105,95,112,111,119,109,0,114,101,115,45,62,100,32,61,61,32,114,112,0,105,32,61,61,32,110,108,105,109,98,115,0,109,112,105,99,111,100,101,114,46,99,0,95,103,99,114,121,95,109,112,105,95,115,101,116,95,98,117,102,102,101,114,0,58,103,101,110,101,114,105,99,47,109,112,105,104,45,97,100,100,49,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,115,117,98,49,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,109,117,108,49,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,109,117,108,50,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,109,117,108,51,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,108,115,104,105,102,116,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,114,115,104,105,102,116,46,99,0,105,110,118,97,108,105,100,32,109,112,105,95,99,111,110,115,116,32,115,101,108,101,99,116,111,114,32,37,100,10,0,87,97,114,110,105,110,103,58,32,116,114,121,105,110,103,32,116,111,32,99,104,97,110,103,101,32,97,110,32,105,109,109,117,116,97,98,108,101,32,77,80,73,10,0,105,110,118,97,108,105,100,32,102,108,97,103,32,118,97,108,117,101,32,105,110,32,109,112,105,95,102,114,101,101,10,0,109,112,105,95,103,101,116,95,111,112,97,113,117,101,32,111,110,32,110,111,114,109,97,108,32,109,112,105,10,0,109,112,105,95,115,101,116,95,99,111,110,100,58,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,10,0,109,112,105,95,115,119,97,112,95,99,111,110,100,58,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,10,0,105,110,118,97,108,105,100,32,102,108,97,103,32,118,97,108,117,101,10,0,77,80,73,32,115,117,98,115,121,115,116,101,109,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,100,10,0,10,10,84,104,105,115,32,105,115,32,76,105,98,103,99,114,121,112,116,32,49,46,55,46,48,45,98,101,116,97,50,51,48,32,45,32,84,104,101,32,71,78,85,32,67,114,121,112,116,111,32,76,105,98,114,97,114,121,10,67,111,112,121,114,105,103,104,116,32,40,67,41,32,50,48,48,48,45,50,48,49,50,32,70,114,101,101,32,83,111,102,116,119,97,114,101,32,70,111,117,110,100,97,116,105,111,110,44,32,73,110,99,46,10,67,111,112,121,114,105,103,104,116,32,40,67,41,32,50,48,49,50,45,50,48,49,52,32,103,49,48,32,67,111,100,101,32,71,109,98,72,10,67,111,112,121,114,105,103,104,116,32,40,67,41,32,50,48,49,51,45,50,48,49,52,32,74,117,115,115,105,32,75,105,118,105,108,105,110,110,97,10,10,40,97,51,54,101,101,55,53,32,50,48,49,54,45,48,49,45,48,56,84,50,49,58,48,54,43,48,48,48,48,41,10,10,10,0,99,105,112,104,101,114,45,99,109,97,99,46,99,0,99,109,97,99,95,103,101,110,101,114,97,116,101,95,115,117,98,107,101,121,115,0,99,45,62,117,110,117,115,101,100,32,60,32,98,108,111,99,107,115,105,122,101,0,99,105,112,104,101,114,45,99,116,114,46,99,0,95,103,99,114,121,95,99,105,112,104,101,114,95,99,116,114,95,101,110,99,114,121,112,116,0,117,110,117,115,101,100,32,61,61,32,98,108,111,99,107,115,105,122,101,0,99,105,112,104,101,114,45,103,99,109,46,99,0,100,111,95,103,104,97,115,104,95,98,117,102,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,0,115,101,116,107,101,121,32,102,97,105,108,101,100,0,115,101,108,102,116,101,115,116,32,102,111,114,32,67,66,67,32,102,97,105,108,101,100,32,45,32,115,101,101,32,115,121,115,108,111,103,32,102,111,114,32,100,101,116,97,105,108,115,0,115,101,108,102,116,101,115,116,32,102,111,114,32,67,70,66,32,102,97,105,108,101,100,32,45,32,115,101,101,32,115,121,115,108,111,103,32,102,111,114,32,100,101,116,97,105,108,115,0,115,101,108,102,116,101,115,116,32,102,111,114,32,67,84,82,32,102,97,105,108,101,100,32,45,32,115,101,101,32,115,121,115,108,111,103,32,102,111,114,32,100,101,116,97,105,108,115,0,69,67,67,0,101,99,99,0,101,99,100,115,97,0,101,99,100,104,0,101,100,100,115,97,0,103,111,115,116,0,112,97,98,103,110,104,113,0,112,97,98,103,110,104,113,100,0,115,119,0,114,115,0,99,117,114,118,101,0,102,108,97,103,115,0,116,114,97,110,115,105,101,110,116,45,107,101,121,0,101,99,103,101,110,32,99,117,114,118,101,32,105,110,102,111,58,32,37,115,47,37,115,10,0,101,99,103,101,110,32,99,117,114,118,101,32,117,115,101,100,58,32,37,115,10,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,112,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,97,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,98,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,110,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,104,0,101,99,103,101,110,32,99,117,114,118,101,32,71,0,101,99,103,101,110,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,37,115,10,0,81,0,101,99,103,101,110,32,99,111,110,118,101,114,116,101,100,32,81,32,116,111,32,97,32,99,111,109,112,108,105,97,110,116,32,112,111,105,110,116,10,0,101,99,103,101,110,32,100,105,100,110,39,116,32,110,101,101,100,32,116,111,32,99,111,110,118,101,114,116,32,81,32,116,111,32,97,32,99,111,109,112,108,105,97,110,116,32,112,111,105,110,116,10,0,84,101,115,116,105,110,103,32,107,101,121,46,10,0,69,67,68,83,65,32,111,112,101,114,97,116,105,111,110,58,32,115,105,103,110,32,102,97,105,108,101,100,10,0,69,67,68,83,65,32,111,112,101,114,97,116,105,111,110,58,32,115,105,103,110,44,32,118,101,114,105,102,121,32,102,97,105,108,101,100,10,0,69,67,68,83,65,32,111,112,101,114,97,116,105,111,110,58,32,115,105,103,110,44,32,118,101,114,105,102,121,32,111,107,46,10,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,104,107,81,10,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,104,100,107,71,10,0,69,67,68,72,32,116,101,115,116,32,102,97,105,108,101,100,46,10,0,71,0,40,99,117,114,118,101,32,37,115,41,0,40,102,108,97,103,115,32,112,97,114,97,109,41,0,40,102,108,97,103,115,32,101,100,100,115,97,41,0,40,102,108,97,103,115,32,112,97,114,97,109,32,101,100,100,115,97,41,0,40,107,101,121,45,100,97,116,97,32,40,112,117,98,108,105,99,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,112,37,109,41,40,97,37,109,41,40,98,37,109,41,40,103,37,109,41,40,110,37,109,41,40,104,37,109,41,40,113,37,109,41,41,41,32,40,112,114,105,118,97,116,101,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,112,37,109,41,40,97,37,109,41,40,98,37,109,41,40,103,37,109,41,40,110,37,109,41,40,104,37,109,41,40,113,37,109,41,40,100,37,109,41,41,41,32,41,0,40,107,101,121,45,100,97,116,97,32,40,112,117,98,108,105,99,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,113,37,109,41,41,41,32,40,112,114,105,118,97,116,101,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,113,37,109,41,40,100,37,109,41,41,41,32,41,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,112,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,97,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,98,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,71,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,110,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,104,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,81,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,100,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,117,115,105,110,103,32,69,100,50,53,53,49,57,43,69,100,68,83,65,10,0,45,112,63,97,63,98,63,103,63,110,63,104,63,47,113,63,43,100,0,47,113,63,43,100,0,101,99,99,95,116,101,115,116,107,101,121,32,105,110,102,58,32,37,115,47,37,115,10,0,101,99,99,95,116,101,115,116,107,101,121,32,110,97,109,58,32,37,115,10,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,112,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,97,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,98,0,101,99,99,95,116,101,115,116,107,101,121,32,103,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,110,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,104,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,113,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,100,0,66,97,100,32,99,104,101,99,107,58,32,80,111,105,110,116,32,39,71,39,32,100,111,101,115,32,110,111,116,32,98,101,108,111,110,103,32,116,111,32,99,117,114,118,101,32,39,69,39,33,10,0,66,97,100,32,99,104,101,99,107,58,32,39,71,39,32,99,97,110,110,111,116,32,98,101,32,80,111,105,110,116,32,97,116,32,73,110,102,105,110,105,116,121,33,10,0,99,104,101,99,107,95,115,101,99,114,101,116,95,107,101,121,58,32,69,32,105,115,32,110,111,116,32,97,32,99,117,114,118,101,32,111,102,32,111,114,100,101,114,32,110,10,0,66,97,100,32,99,104,101,99,107,58,32,81,32,99,97,110,32,110,111,116,32,98,101,32,97,32,80,111,105,110,116,32,97,116,32,73,110,102,105,110,105,116,121,33,10,0,66,97,100,32,99,104,101,99,107,58,32,99,111,109,112,117,116,97,116,105,111,110,32,111,102,32,100,71,32,102,97,105,108,101,100,10,0,66,97,100,32,99,104,101,99,107,58,32,84,104,101,114,101,32,105,115,32,78,79,32,99,111,114,114,101,115,112,111,110,100,101,110,99,101,32,98,101,116,119,101,101,110,32,39,100,39,32,97,110,100,32,39,81,39,33,10,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,61,62,32,37,115,10,0,112,0,101,99,99,95,101,110,99,114,121,112,116,32,100,97,116,97,0,45,112,63,97,63,98,63,103,63,110,63,104,63,43,113,0,101,99,99,95,101,110,99,114,121,112,116,32,105,110,102,111,58,32,37,115,47,37,115,10,0,101,99,99,95,101,110,99,114,121,112,116,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,112,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,97,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,98,0,101,99,99,95,101,110,99,114,121,112,116,32,32,103,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,110,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,104,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,113,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,107,100,71,10,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,107,71,10,0,40,101,110,99,45,118,97,108,40,101,99,100,104,40,115,37,109,41,40,101,37,109,41,41,41,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,101,0,101,99,99,95,100,101,99,114,121,112,116,32,32,100,95,101,0,45,112,63,97,63,98,63,103,63,110,63,104,63,43,100,0,101,99,99,95,100,101,99,114,121,112,116,32,105,110,102,111,58,32,37,115,47,37,115,10,0,101,99,99,95,100,101,99,114,121,112,116,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,112,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,97,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,98,0,101,99,99,95,100,101,99,114,121,112,116,32,32,103,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,110,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,104,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,100,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,101,99,99,95,100,101,99,114,121,112,116,32,32,114,101,115,0,40,118,97,108,117,101,32,37,109,41,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,101,99,99,95,115,105,103,110,32,32,32,100,97,116,97,0,43,69,100,68,83,65,0,101,99,99,95,115,105,103,110,32,32,32,105,110,102,111,58,32,37,115,47,37,115,37,115,10,0,101,99,99,95,115,105,103,110,32,32,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,112,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,97,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,98,0,101,99,99,95,115,105,103,110,32,32,32,32,103,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,110,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,104,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,113,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,100,0,40,115,105,103,45,118,97,108,40,101,100,100,115,97,40,114,37,77,41,40,115,37,77,41,41,41,0,40,115,105,103,45,118,97,108,40,103,111,115,116,40,114,37,77,41,40,115,37,77,41,41,41,0,40,115,105,103,45,118,97,108,40,101,99,100,115,97,40,114,37,77,41,40,115,37,77,41,41,41,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,61,62,32,37,115,10,0,101,99,99,95,118,101,114,105,102,121,32,100,97,116,97,0,47,114,115,0,101,99,99,95,118,101,114,105,102,121,32,32,115,95,114,0,101,99,99,95,118,101,114,105,102,121,32,32,115,95,115,0,45,112,63,97,63,98,63,103,63,110,63,104,63,47,113,0,47,113,0,101,99,99,95,118,101,114,105,102,121,32,105,110,102,111,58,32,37,115,47,37,115,37,115,10,0,101,99,99,95,118,101,114,105,102,121,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,112,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,97,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,98,0,101,99,99,95,118,101,114,105,102,121,32,32,103,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,110,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,104,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,113,0,71,111,111,100,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,61,62,32,37,115,10,0,108,111,119,45,108,101,118,101,108,0,112,117,98,107,101,121,0,112,63,97,63,98,63,103,63,110,63,104,63,47,113,0,112,63,97,63,98,63,103,63,110,63,104,63,113,0,113,0,112,97,98,103,110,104,113,40,49,58,37,99,37,117,58,0,41,0,100,105,103,101,115,116,32,115,105,122,101,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,101,120,112,101,99,116,101,100,32,115,105,122,101,0,103,99,114,121,95,109,100,95,111,112,101,110,32,102,97,105,108,101,100,0,105,110,118,97,108,105,100,32,68,65,84,65,77,79,68,69,0,100,105,103,101,115,116,32,109,105,115,109,97,116,99,104,0,104,97,115,104,45,99,111,109,109,111,110,46,99,0,95,103,99,114,121,95,109,100,95,98,108,111,99,107,95,119,114,105,116,101,0,142,153,59,159,72,104,18,115,194,150,80,186,50,252,118,206,72,51,46,167,22,77,150,164,71,111,184,197,49,161,24,106,192,223,193,124,152,220,232,123,77,167,240,17,236,72,201,114,113,210,194,15,155,146,143,226,39,13,111,184,99,213,23,56,180,142,238,227,20,167,204,138,185,50,22,69,72,229,38,174,144,34,67,104,81,122,207,234,189,107,179,115,43,192,233,218,153,131,43,97,202,1,182,222,86,36,74,158,136,213,249,179,121,115,246,34,164,61,20,166,89,155,31,101,76,180,90,116,227,85,165,238,166,167,37,28,30,114,145,109,17,194,203,33,77,60,37,37,57,18,29,142,35,78,101,45,101,31,164,200,207,248,128,243,255,199,112,63,148,0,229,42,125,251,75,61,51,5,217,80,111,108,121,49,51,48,53,32,116,101,115,116,32,49,32,102,97,105,108,101,100,46,0,80,111,108,121,49,51,48,53,32,116,101,115,116,32,50,32,102,97,105,108,101,100,46,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,111,108,121,49,51,48,53,32,116,101,115,116,32,51,32,102,97,105,108,101,100,46,0,1,2,3,4,5,6,7,255,254,253,252,251,250,249,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,100,175,226,232,214,173,123,189,210,135,249,124,68,98,61,57,80,111,108,121,49,51,48,53,32,116,101,115,116,32,52,32,102,97,105,108,101,100,46,0,80,111,108,121,49,51,48,53,32,115,101,108,102,116,101,115,116,32,102,97,105,108,101,100,32,40,37,115,41,10,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,112,111,111,108,32,108,111,99,107,58,32,37,115,10,0,110,111,32,101,110,116,114,111,112,121,32,103,97,116,104,101,114,105,110,103,32,109,111,100,117,108,101,32,100,101,116,101,99,116,101,100,10,0,87,65,82,78,73,78,71,58,32,117,115,105,110,103,32,105,110,115,101,99,117,114,101,32,114,97,110,100,111,109,32,110,117,109,98,101,114,32,103,101,110,101,114,97,116,111,114,33,33,10,0,112,111,111,108,95,105,115,95,108,111,99,107,101,100,0,114,97,110,100,111,109,45,99,115,112,114,110,103,46,99,0,97,100,100,95,114,97,110,100,111,109,110,101,115,115,0,109,105,120,95,112,111,111,108,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,112,111,111,108,32,108,111,99,107,58,32,37,115,10,0,32,40,104,119,114,110,103,32,102,97,105,108,101,100,41,0,114,97,110,100,111,109,32,117,115,97,103,101,58,32,112,111,111,108,115,105,122,101,61,37,100,32,109,105,120,101,100,61,37,108,117,32,112,111,108,108,115,61,37,108,117,47,37,108,117,32,97,100,100,101,100,61,37,108,117,47,37,108,117,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,111,117,116,109,105,120,61,37,108,117,32,103,101,116,108,118,108,49,61,37,108,117,47,37,108,117,32,103,101,116,108,118,108,50,61,37,108,117,47,37,108,117,37,115,10,0,114,101,97,100,95,112,111,111,108,0,116,111,111,32,109,97,110,121,32,114,97,110,100,111,109,32,98,105,116,115,32,114,101,113,117,101,115,116,101,100,10,0,114,101,97,100,95,115,101,101,100,95,102,105,108,101,0,99,97,110,39,116,32,111,112,101,110,32,96,37,115,39,58,32,37,115,10,0,99,97,110,39,116,32,108,111,99,107,32,96,37,115,39,58,32,37,115,10,0,119,97,105,116,105,110,103,32,102,111,114,32,108,111,99,107,32,111,110,32,96,37,115,39,46,46,46,10,0,99,97,110,39,116,32,115,116,97,116,32,96,37,115,39,58,32,37,115,10,0,96,37,115,39,32,105,115,32,110,111,116,32,97,32,114,101,103,117,108,97,114,32,102,105,108,101,32,45,32,105,103,110,111,114,101,100,10,0,110,111,116,101,58,32,114,97,110,100,111,109,95,115,101,101,100,32,102,105,108,101,32,105,115,32,101,109,112,116,121,10,0,119,97,114,110,105,110,103,58,32,105,110,118,97,108,105,100,32,115,105,122,101,32,111,102,32,114,97,110,100,111,109,95,115,101,101,100,32,102,105,108,101,32,45,32,110,111,116,32,117,115,101,100,10,0,99,97,110,39,116,32,114,101,97,100,32,96,37,115,39,58,32,37,115,10,0,83,108,111,119,32,101,110,116,114,111,112,121,32,103,97,116,104,101,114,105,110,103,32,109,111,100,117,108,101,32,110,111,116,32,121,101,116,32,105,110,105,116,105,97,108,105,122,101,100,10,0,78,111,32,119,97,121,32,116,111,32,103,97,116,104,101,114,32,101,110,116,114,111,112,121,32,102,111,114,32,116,104,101,32,82,78,71,10,0,100,111,95,102,97,115,116,95,114,97,110,100,111,109,95,112,111,108,108,0,95,103,99,114,121,95,114],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+40960);allocate([110,103,99,115,112,114,110,103,95,115,101,116,95,115,101,101,100,95,102,105,108,101,0,110,111,116,101,58,32,114,97,110,100,111,109,95,115,101,101,100,32,102,105,108,101,32,110,111,116,32,117,112,100,97,116,101,100,10,0,99,97,110,39,116,32,99,114,101,97,116,101,32,96,37,115,39,58,32,37,115,10,0,99,97,110,39,116,32,119,114,105,116,101,32,96,37,115,39,58,32,37,115,10,0,99,97,110,39,116,32,99,108,111,115,101,32,96,37,115,39,58,32,37,115,10,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,33,110,111,110,99,101,95,99,111,110,116,101,120,116,45,62,116,101,115,116,95,100,116,95,112,116,114,0,114,97,110,100,111,109,45,102,105,112,115,46,99,0,95,103,99,114,121,95,114,110,103,102,105,112,115,95,105,110,105,116,105,97,108,105,122,101,0,33,115,116,100,95,114,110,103,95,99,111,110,116,101,120,116,45,62,116,101,115,116,95,100,116,95,112,116,114,0,33,115,116,114,111,110,103,95,114,110,103,95,99,111,110,116,101,120,116,45,62,116,101,115,116,95,100,116,95,112,116,114,0,109,101,109,111,114,121,32,99,111,114,114,117,112,116,105,111,110,32,100,101,116,101,99,116,101,100,32,105,110,32,82,78,71,32,99,111,110,116,101,120,116,32,37,112,10,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,114,110,103,95,99,116,120,0,102,105,112,115,95,114,110,103,95,105,115,95,108,111,99,107,101,100,0,120,57,51,49,95,103,101,110,101,114,97,116,101,95,107,101,121,0,101,114,114,111,114,32,99,114,101,97,116,105,110,103,32,99,105,112,104,101,114,32,99,111,110,116,101,120,116,32,102,111,114,32,82,78,71,58,32,37,115,10,0,33,101,110,116,114,111,112,121,95,99,111,108,108,101,99,116,95,98,117,102,102,101,114,0,103,101,116,95,101,110,116,114,111,112,121,0,101,110,116,114,111,112,121,95,99,111,108,108,101,99,116,95,99,98,0,101,110,116,114,111,112,121,95,99,111,108,108,101,99,116,95,98,117,102,102,101,114,0,101,114,114,111,114,32,103,101,116,116,105,110,103,32,101,110,116,114,111,112,121,32,100,97,116,97,10,0,101,114,114,111,114,32,99,114,101,97,116,105,110,103,32,107,101,121,32,102,111,114,32,82,78,71,58,32,37,115,10,0,120,57,51,49,95,114,101,115,101,101,100,0,120,57,51,49,95,103,101,110,101,114,97,116,101,95,115,101,101,100,0,108,101,110,103,116,104,32,61,61,32,49,54,0,102,111,114,107,32,119,105,116,104,111,117,116,32,112,114,111,112,101,114,32,114,101,45,105,110,105,116,105,97,108,105,122,97,116,105,111,110,32,100,101,116,101,99,116,101,100,32,105,110,32,82,78,71,0,120,57,51,49,95,97,101,115,95,100,114,105,118,101,114,0,114,110,103,95,99,116,120,45,62,99,105,112,104,101,114,95,104,100,0,114,110,103,95,99,116,120,45,62,105,115,95,115,101,101,100,101,100,0,116,101,109,112,118,97,108,117,101,95,102,111,114,95,120,57,51,49,95,97,101,115,95,100,114,105,118,101,114,0,120,57,51,49,95,103,101,116,95,100,116,0,103,101,116,116,105,109,101,111,102,100,97,121,40,41,32,102,97,105,108,101,100,58,32,37,115,10,0,101,110,99,114,121,112,116,95,97,101,115,0,65,69,83,32,101,110,99,114,121,112,116,105,111,110,32,105,110,32,82,78,71,32,102,97,105,108,101,100,58,32,37,115,10,0,100,117,112,108,105,99,97,116,101,32,49,50,56,32,98,105,116,32,98,108,111,99,107,32,114,101,116,117,114,110,101,100,32,98,121,32,82,78,71,0,115,101,118,101,114,101,32,101,114,114,111,114,32,103,101,116,116,105,110,103,32,114,97,110,100,111,109,10,0,115,101,108,102,116,101,115,116,95,107,97,116,0,101,114,114,111,114,32,99,114,101,97,116,105,110,103,32,99,105,112,104,101,114,32,99,111,110,116,101,120,116,32,102,111,114,32,82,78,71,0,185,202,127,214,160,245,211,66,25,109,132,145,118,28,59,190,72,178,130,152,104,194,128,0,0,0,40,24,0,0,37,0,82,23,141,41,162,213,132,18,157,137,154,69,130,2,247,119,66,156,8,61,130,244,138,64,102,181,73,39,171,66,199,195,14,183,97,60,254,176,190,115,247,110,109,111,29,163,20,250,187,75,193,14,197,251,205,70,190,40,97,231,3,43,55,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,247,149,189,74,82,226,158,215,19,211,19,250,32,233,141,188,200,209,229,17,89,82,247,250,55,56,180,197,206,178,176,154,13,156,197,13,22,225,188,237,207,96,98,9,157,32,131,126,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,128,0,129,1,130,2,131,3,160,32,161,33,162,34,163,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,150,237,204,195,221,4,127,117,99,25,55,111,21,34,87,86,122,20,118,119,149,23,126,200,146,232,221,21,203,31,188,177,37,62,46,162,65,27,221,245,33,72,65,113,179,141,47,76,101,114,114,111,114,32,115,101,116,116,105,110,103,32,107,101,121,32,102,111,114,32,82,78,71,0,88,57,46,51,49,32,82,78,71,32,99,111,114,101,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,0,82,78,71,32,111,117,116,112,117,116,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,107,110,111,119,110,32,118,97,108,117,101,0,102,111,114,107,32,100,101,116,101,99,116,105,111,110,32,102,97,105,108,101,100,0,114,97,110,100,111,109,0,75,65,84,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,83,121,115,116,101,109,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,83,121,115,116,101,109,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,98,117,102,102,101,114,0,114,97,110,100,111,109,45,115,121,115,116,101,109,46,99,0,103,101,116,95,114,97,110,100,111,109,0,115,121,115,116,101,109,95,114,110,103,95,105,115,95,108,111,99,107,101,100,0,114,101,97,100,95,99,98,0,114,101,97,100,95,99,98,95,98,117,102,102,101,114,0,101,114,114,111,114,32,114,101,97,100,105,110,103,32,114,97,110,100,111,109,32,102,114,111,109,32,115,121,115,116,101,109,32,82,78,71,32,40,114,99,61,37,100,41,10,0,47,100,101,118,47,114,97,110,100,111,109,0,111,112,101,110,95,100,101,118,95,114,97,110,100,111,109,0,119,97,105,116,95,100,101,118,95,114,97,110,100,111,109,0,99,97,110,39,116,32,111,112,101,110,32,37,115,58,32,37,115,10,0,101,114,114,111,114,32,115,101,116,116,105,110,103,32,70,68,95,67,76,79,69,88,69,67,32,111,110,32,102,100,32,37,100,58,32,37,115,10,0,47,100,101,118,47,117,114,97,110,100,111,109,0,110,101,101,100,95,101,110,116,114,111,112,121,0,115,101,108,101,99,116,40,41,32,101,114,114,111,114,58,32,37,115,10,0,98,111,103,117,115,32,114,101,97,100,32,102,114,111,109,32,114,97,110,100,111,109,32,100,101,118,105,99,101,32,40,110,61,37,100,41,10,0,114,101,97,100,32,101,114,114,111,114,32,111,110,32,114,97,110,100,111,109,32,100,101,118,105,99,101,58,32,37,115,10,0,99,104,111,111,115,105,110,103,32,97,32,114,97,110,100,111,109,32,107,32,111,102,32,37,117,32,98,105,116,115,32,97,116,32,115,101,99,108,101,118,101,108,32,37,100,10,0,9,107,32,116,111,111,32,108,97,114,103,101,32,45,32,97,103,97,105,110,10,0,9,107,32,105,115,32,122,101,114,111,32,45,32,97,103,97,105,110,10,0,1,0,101,99,100,115,97,32,115,105,103,110,32,104,97,115,104,32,32,0,101,99,100,115,97,32,115,105,103,110,32,114,101,115,117,108,116,32,114,32,0,101,99,100,115,97,32,115,105,103,110,32,114,101,115,117,108,116,32,115,32,0,103,111,115,116,32,115,105,103,110,32,104,97,115,104,32,32,0,101,99,99,32,115,105,103,110,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,103,111,115,116,32,115,105,103,110,32,114,101,115,117,108,116,32,114,32,0,103,111,115,116,32,115,105,103,110,32,114,101,115,117,108,116,32,115,32,0,101,99,99,32,118,101,114,105,102,121,58,32,82,101,106,101,99,116,101,100,10,0,101,99,99,32,118,101,114,105,102,121,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,32,32,32,32,32,120,0,32,32,32,32,32,114,0,32,32,32,32,32,115,0,101,99,99,32,118,101,114,105,102,121,58,32,78,111,116,32,118,101,114,105,102,105,101,100,10,0,101,99,99,32,118,101,114,105,102,121,58,32,65,99,99,101,112,116,101,100,10,0,33,34,108,111,99,107,32,65,66,73,32,118,101,114,115,105,111,110,34,0,112,111,115,105,120,45,108,111,99,107,46,99,0,103,101,116,95,108,111,99,107,95,111,98,106,101,99,116,0,115,116,114,101,97,109,45,62,102,108,97,103,115,46,119,114,105,116,105,110,103,0,101,115,116,114,101,97,109,46,99,0,101,115,95,102,108,117,115,104,0,33,115,116,114,101,97,109,45,62,102,108,97,103,115,46,119,114,105,116,105,110,103,0,101,115,95,101,109,112,116,121,0,83,117,99,99,101,115,115,0,71,101,110,101,114,97,108,32,101,114,114,111,114,0,85,110,107,110,111,119,110,32,112,97,99,107,101,116,0,85,110,107,110,111,119,110,32,118,101,114,115,105,111,110,32,105,110,32,112,97,99,107,101,116,0,73,110,118,97,108,105,100,32,112,117,98,108,105,99,32,107,101,121,32,97,108,103,111,114,105,116,104,109,0,73,110,118,97,108,105,100,32,100,105,103,101,115,116,32,97,108,103,111,114,105,116,104,109,0,66,97,100,32,112,117,98,108,105,99,32,107,101,121,0,66,97,100,32,115,101,99,114,101,116,32,107,101,121,0,66,97,100,32,115,105,103,110,97,116,117,114,101,0,78,111,32,112,117,98,108,105,99,32,107,101,121,0,67,104,101,99,107,115,117,109,32,101,114,114,111,114,0,66,97,100,32,112,97,115,115,112,104,114,97,115,101,0,73,110,118,97,108,105,100,32,99,105,112,104,101,114,32,97,108,103,111,114,105,116,104,109,0,75,101,121,114,105,110,103,32,111,112,101,110,0,73,110,118,97,108,105,100,32,112,97,99,107,101,116,0,73,110,118,97,108,105,100,32,97,114,109,111,114,0,78,111,32,117,115,101,114,32,73,68,0,78,111,32,115,101,99,114,101,116,32,107,101,121,0,87,114,111,110,103,32,115,101,99,114,101,116,32,107,101,121,32,117,115,101,100,0,66,97,100,32,115,101,115,115,105,111,110,32,107,101,121,0,85,110,107,110,111,119,110,32,99,111,109,112,114,101,115,115,105,111,110,32,97,108,103,111,114,105,116,104,109,0,78,117,109,98,101,114,32,105,115,32,110,111,116,32,112,114,105,109,101,0,73,110,118,97,108,105,100,32,101,110,99,111,100,105,110,103,32,109,101,116,104,111,100,0,73,110,118,97,108,105,100,32,101,110,99,114,121,112,116,105,111,110,32,115,99,104,101,109,101,0,73,110,118,97,108,105,100,32,115,105,103,110,97,116,117,114,101,32,115,99,104,101,109,101,0,73,110,118,97,108,105,100,32,97,116,116,114,105,98,117,116,101,0,78,111,32,118,97,108,117,101,0,78,111,116,32,102,111,117,110,100,0,86,97,108,117,101,32,110,111,116,32,102,111,117,110,100,0,83,121,110,116,97,120,32,101,114,114,111,114,0,66,97,100,32,77,80,73,32,118,97,108,117,101,0,73,110,118,97,108,105,100,32,112,97,115,115,112,104,114,97,115,101,0,73,110,118,97,108,105,100,32,115,105,103,110,97,116,117,114,101,32,99,108,97,115,115,0,82,101,115,111,117,114,99,101,115,32,101,120,104,97,117,115,116,101,100,0,73,110,118,97,108,105,100,32,107,101,121,114,105,110,103,0,84,114,117,115,116,32,68,66,32,101,114,114,111,114,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,0,73,110,118,97,108,105,100,32,117,115,101,114,32,73,68,0,85,110,101,120,112,101,99,116,101,100,32,101,114,114,111,114,0,84,105,109,101,32,99,111,110,102,108,105,99,116,0,75,101,121,115,101,114,118,101,114,32,101,114,114,111,114,0,87,114,111,110,103,32,112,117,98,108,105,99,32,107,101,121,32,97,108,103,111,114,105,116,104,109,0,84,114,105,98,117,116,101,32,116,111,32,68,46,32,65,46,0,87,101,97,107,32,101,110,99,114,121,112,116,105,111,110,32,107,101,121,0,73,110,118,97,108,105,100,32,107,101,121,32,108,101,110,103,116,104,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,83,121,110,116,97,120,32,101,114,114,111,114,32,105,110,32,85,82,73,0,73,110,118,97,108,105,100,32,85,82,73,0,78,101,116,119,111,114,107,32,101,114,114,111,114,0,85,110,107,110,111,119,110,32,104,111,115,116,0,83,101,108,102,116,101,115,116,32,102,97,105,108,101,100,0,68,97,116,97,32,110,111,116,32,101,110,99,114,121,112,116,101,100,0,68,97,116,97,32,110,111,116,32,112,114,111,99,101,115,115,101,100,0,85,110,117,115,97,98,108,101,32,112,117,98,108,105,99,32,107,101,121,0,85,110,117,115,97,98,108,101,32,115,101,99,114,101,116,32,107,101,121,0,73,110,118,97,108,105,100,32,118,97,108,117,101,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,99,104,97,105,110,0,77,105,115,115,105,110,103,32,99,101,114,116,105,102,105,99,97,116,101,0,78,111,32,100,97,116,97,0,66,117,103,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,73,110,118,97,108,105,100,32,111,112,101,114,97,116,105,111,110,32,99,111,100,101,0,84,105,109,101,111,117,116,0,73,110,116,101,114,110,97,108,32,101,114,114,111,114,0,69,79,70,32,40,103,99,114,121,112,116,41,0,73,110,118,97,108,105,100,32,111,98,106,101,99,116,0,80,114,111,118,105,100,101,100,32,111,98,106,101,99,116,32,105,115,32,116,111,111,32,115,104,111,114,116,0,80,114,111,118,105,100,101,100,32,111,98,106,101,99,116,32,105,115,32,116,111,111,32,108,97,114,103,101,0,77,105,115,115,105,110,103,32,105,116,101,109,32,105,110,32,111,98,106,101,99,116,0,78,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,67,111,110,102,108,105,99,116,105,110,103,32,117,115,101,0,73,110,118,97,108,105,100,32,99,105,112,104,101,114,32,109,111,100,101,0,73,110,118,97,108,105,100,32,102,108,97,103,0,73,110,118,97,108,105,100,32,104,97,110,100,108,101,0,82,101,115,117,108,116,32,116,114,117,110,99,97,116,101,100,0,73,110,99,111,109,112,108,101,116,101,32,108,105,110,101,0,73,110,118,97,108,105,100,32,114,101,115,112,111,110,115,101,0,78,111,32,97,103,101,110,116,32,114,117,110,110,105,110,103,0,65,103,101,110,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,100,97,116,97,0,85,110,115,112,101,99,105,102,105,99,32,65,115,115,117,97,110,32,115,101,114,118,101,114,32,102,97,117,108,116,0,71,101,110,101,114,97,108,32,65,115,115,117,97,110,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,115,101,115,115,105,111,110,32,107,101,121,0,73,110,118,97,108,105,100,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,115,117,112,112,111,114,116,101,100,32,97,108,103,111,114,105,116,104,109,0,78,111,32,112,105,110,101,110,116,114,121,0,112,105,110,101,110,116,114,121,32,101,114,114,111,114,0,66,97,100,32,80,73,78,0,73,110,118,97,108,105,100,32,110,97,109,101,0,66,97,100,32,100,97,116,97,0,73,110,118,97,108,105,100,32,112,97,114,97,109,101,116,101,114,0,87,114,111,110,103,32,99,97,114,100,0,78,111,32,100,105,114,109,110,103,114,0,100,105,114,109,110,103,114,32,101,114,114,111,114,0,67,101,114,116,105,102,105,99,97,116,101,32,114,101,118,111,107,101,100,0,78,111,32,67,82,76,32,107,110,111,119,110,0,67,82,76,32,116,111,111,32,111,108,100,0,76,105,110,101,32,116,111,111,32,108,111,110,103,0,78,111,116,32,116,114,117,115,116,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,108,101,100,0,66,97,100,32,67,65,32,99,101,114,116,105,102,105,99,97,116,101,0,67,101,114,116,105,102,105,99,97,116,101,32,101,120,112,105,114,101,100,0,67,101,114,116,105,102,105,99,97,116,101,32,116,111,111,32,121,111,117,110,103,0,85,110,115,117,112,112,111,114,116,101,100,32,99,101,114,116,105,102,105,99,97,116,101,0,85,110,107,110,111,119,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,115,117,112,112,111,114,116,101,100,32,112,114,111,116,101,99,116,105,111,110,0,67,111,114,114,117,112,116,101,100,32,112,114,111,116,101,99,116,105,111,110,0,65,109,98,105,103,117,111,117,115,32,110,97,109,101,0,67,97,114,100,32,101,114,114,111,114,0,67,97,114,100,32,114,101,115,101,116,32,114,101,113,117,105,114,101,100,0,67,97,114,100,32,114,101,109,111,118,101,100,0,73,110,118,97,108,105,100,32,99,97,114,100,0,67,97,114,100,32,110,111,116,32,112,114,101,115,101,110,116,0,78,111,32,80,75,67,83,49,53,32,97,112,112,108,105,99,97,116,105,111,110,0,78,111,116,32,99,111,110,102,105,114,109,101,100,0,67,111,110,102,105,103,117,114,97,116,105,111,110,32,101,114,114,111,114,0,78,111,32,112,111,108,105,99,121,32,109,97,116,99,104,0,73,110,118,97,108,105,100,32,105,110,100,101,120,0,73,110,118,97,108,105,100,32,73,68,0,78,111,32,83,109,97,114,116,67,97,114,100,32,100,97,101,109,111,110,0,83,109,97,114,116,67,97,114,100,32,100,97,101,109,111,110,32,101,114,114,111,114,0,85,110,115,117,112,112,111,114,116,101,100,32,112,114,111,116,111,99,111,108,0,66,97,100,32,80,73,78,32,109,101,116,104,111,100,0,67,97,114,100,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,100,0,85,110,115,117,112,112,111,114,116,101,100,32,111,112,101,114,97,116,105,111,110,0,87,114,111,110,103,32,107,101,121,32,117,115,97,103,101,0,78,111,116,104,105,110,103,32,102,111,117,110,100,0,87,114,111,110,103,32,98,108,111,98,32,116,121,112,101,0,77,105,115,115,105,110,103,32,118,97,108,117,101,0,72,97,114,100,119,97,114,101,32,112,114,111,98,108,101,109,0,80,73,78,32,98,108,111,99,107,101,100,0,67,111,110,100,105,116,105,111,110,115,32,111,102,32,117,115,101,32,110,111,116,32,115,97,116,105,115,102,105,101,100,0,80,73,78,115,32,97,114,101,32,110,111,116,32,115,121,110,99,101,100,0,73,110,118,97,108,105,100,32,67,82,76,0,66,69,82,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,66,69,82,0,69,108,101,109,101,110,116,32,110,111,116,32,102,111,117,110,100,0,73,100,101,110,116,105,102,105,101,114,32,110,111,116,32,102,111,117,110,100,0,73,110,118,97,108,105,100,32,116,97,103,0,73,110,118,97,108,105,100,32,108,101,110,103,116,104,0,73,110,118,97,108,105,100,32,107,101,121,32,105,110,102,111,0,85,110,101,120,112,101,99,116,101,100,32,116,97,103,0,78,111,116,32,68,69,82,32,101,110,99,111,100,101,100,0,78,111,32,67,77,83,32,111,98,106,101,99,116,0,73,110,118,97,108,105,100,32,67,77,83,32,111,98,106,101,99,116,0,85,110,107,110,111,119,110,32,67,77,83,32,111,98,106,101,99,116,0,85,110,115,117,112,112,111,114,116,101,100,32,67,77,83,32,111,98,106,101,99,116,0,85,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,0,85,110,115,117,112,112,111,114,116,101,100,32,67,77,83,32,118,101,114,115,105,111,110,0,85,110,107,110,111,119,110,32,97,108,103,111,114,105,116,104,109,0,73,110,118,97,108,105,100,32,99,114,121,112,116,111,32,101,110,103,105,110,101,0,80,117,98,108,105,99,32,107,101,121,32,110,111,116,32,116,114,117,115,116,101,100,0,68,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,0,75,101,121,32,101,120,112,105,114,101,100,0,83,105,103,110,97,116,117,114,101,32,101,120,112,105,114,101,100,0,69,110,99,111,100,105,110,103,32,112,114,111,98,108,101,109,0,73,110,118,97,108,105,100,32,115,116,97,116,101,0,68,117,112,108,105,99,97,116,101,100,32,118,97,108,117,101,0,77,105,115,115,105,110,103,32,97,99,116,105,111,110,0,65,83,78,46,49,32,109,111,100,117,108,101,32,110,111,116,32,102,111,117,110,100,0,73,110,118,97,108,105,100,32,79,73,68,32,115,116,114,105,110,103,0,73,110,118,97,108,105,100,32,116,105,109,101,0,73,110,118,97,108,105,100,32,67,82,76,32,111,98,106,101,99,116,0,85,110,115,117,112,112,111,114,116,101,100,32,67,82,76,32,118,101,114,115,105,111,110,0,73,110,118,97,108,105,100,32,99,101,114,116,105,102,105,99,97,116,101,32,111,98,106,101,99,116,0,85,110,107,110,111,119,110,32,110,97,109,101,0,65,32,108,111,99,97,108,101,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,0,78,111,116,32,108,111,99,107,101,100,0,80,114,111,116,111,99,111,108,32,118,105,111,108,97,116,105,111,110,0,73,110,118,97,108,105,100,32,77,65,67,0,73,110,118,97,108,105,100,32,114,101,113,117,101,115,116,0,85,110,107,110,111,119,110,32,101,120,116,101,110,115,105,111,110,0,85,110,107,110,111,119,110,32,99,114,105,116,105,99,97,108,32,101,120,116,101,110,115,105,111,110,0,76,111,99,107,101,100,0,85,110,107,110,111,119,110,32,111,112,116,105,111,110,0,85,110,107,110,111,119,110,32,99,111,109,109,97,110,100,0,78,111,116,32,111,112,101,114,97,116,105,111,110,97,108,0,78,111,32,112,97,115,115,112,104,114,97,115,101,32,103,105,118,101,110,0,78,111,32,80,73,78,32,103,105,118,101,110,0,78,111,116,32,101,110,97,98,108,101,100,0,78,111,32,99,114,121,112,116,111,32,101,110,103,105,110,101,0,77,105,115,115,105,110,103,32,107,101,121,0,84,111,111,32,109,97,110,121,32,111,98,106,101,99,116,115,0,76,105,109,105,116,32,114,101,97,99,104,101,100,0,78,111,116,32,105,110,105,116,105,97,108,105,122,101,100,0,77,105,115,115,105,110,103,32,105,115,115,117,101,114,32,99,101,114,116,105,102,105,99,97,116,101,0,78,111,32,107,101,121,115,101,114,118,101,114,32,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,101,108,108,105,112,116,105,99,32,99,117,114,118,101,0,85,110,107,110,111,119,110,32,101,108,108,105,112,116,105,99,32,99,117,114,118,101,0,68,117,112,108,105,99,97,116,101,100,32,107,101,121,0,65,109,98,105,103,117,111,117,115,32,114,101,115,117,108,116,0,78,111,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,87,114,111,110,103,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,66,97,100,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,67,111,110,102,108,105,99,116,32,105,110,32,116,104,101,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,66,114,111,107,101,110,32,112,117,98,108,105,99,32,107,101,121,0,66,114,111,107,101,110,32,115,101,99,114,101,116,32,107,101,121,0,73,110,118,97,108,105,100,32,77,65,67,32,97,108,103,111,114,105,116,104,109,0,79,112,101,114,97,116,105,111,110,32,102,117,108,108,121,32,99,97,110,99,101,108,108,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,121,101,116,32,102,105,110,105,115,104,101,100,0,66,117,102,102,101,114,32,116,111,111,32,115,104,111,114,116,0,73,110,118,97,108,105,100,32,108,101,110,103,116,104,32,115,112,101,99,105,102,105,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,83,116,114,105,110,103,32,116,111,111,32,108,111,110,103,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,109,97,116,99,104,101,100,32,112,97,114,101,110,116,104,101,115,101,115,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,83,45,101,120,112,114,101,115,115,105,111,110,32,110,111,116,32,99,97,110,111,110,105,99,97,108,0,66,97,100,32,99,104,97,114,97,99,116,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,66,97,100,32,113,117,111,116,97,116,105,111,110,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,90,101,114,111,32,112,114,101,102,105,120,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,78,101,115,116,101,100,32,100,105,115,112,108,97,121,32,104,105,110,116,115,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,109,97,116,99,104,101,100,32,100,105,115,112,108,97,121,32,104,105,110,116,115,0,85,110,101,120,112,101,99,116,101,100,32,114,101,115,101,114,118,101,100,32,112,117,110,99,116,117,97,116,105,111,110,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,66,97,100,32,104,101,120,97,100,101,99,105,109,97,108,32,99,104,97,114,97,99,116,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,79,100,100,32,104,101,120,97,100,101,99,105,109,97,108,32,110,117,109,98,101,114,115,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,66,97,100,32,111,99,116,97,108,32,99,104,97,114,97,99,116,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,76,101,103,97,99,121,32,107,101,121,0,82,101,113,117,101,115,116,32,116,111,111,32,115,104,111,114,116,0,82,101,113,117,101,115,116,32,116,111,111,32,108,111,110,103,0,79,98,106,101,99,116,32,105,115,32,105,110,32,116,101,114,109,105,110,97,116,105,111,110,32,115,116,97,116,101,0,78,111,32,99,101,114,116,105,102,105,99,97,116,101,32,99,104,97,105,110,0,67,101,114,116,105,102,105,99,97,116,101,32,105,115,32,116,111,111,32,108,97,114,103,101,0,73,110,118,97,108,105,100,32,114,101,99,111,114,100,0,84,104,101,32,77,65,67,32,100,111,101,115,32,110,111,116,32,118,101,114,105,102,121,0,85,110,101,120,112,101,99,116,101,100,32,109,101,115,115,97,103,101,0,67,111,109,112,114,101,115,115,105,111,110,32,111,114,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,65,32,99,111,117,110,116,101,114,32,119,111,117,108,100,32,119,114,97,112,0,70,97,116,97,108,32,97,108,101,114,116,32,109,101,115,115,97,103,101,32,114,101,99,101,105,118,101,100,0,78,111,32,99,105,112,104,101,114,32,97,108,103,111,114,105,116,104,109,0,77,105,115,115,105,110,103,32,99,108,105,101,110,116,32,99,101,114,116,105,102,105,99,97,116,101,0,67,108,111,115,101,32,110,111,116,105,102,105,99,97,116,105,111,110,32,114,101,99,101,105,118,101,100,0,84,105,99,107,101,116,32,101,120,112,105,114,101,100,0,66,97,100,32,116,105,99,107,101,116,0,85,110,107,110,111,119,110,32,105,100,101,110,116,105,116,121,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,114,101,113,117,101,115,116,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,118,101,114,105,102,121,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,104,97,110,103,101,32,99,105,112,104,101,114,32,109,101,115,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,108,105,101,110,116,32,104,101,108,108,111,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,115,101,114,118,101,114,32,104,101,108,108,111,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,115,101,114,118,101,114,32,104,101,108,108,111,32,100,111,110,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,115,104,97,107,101,0,66,97,100,32,102,105,110,105,115,104,101,100,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,115,101,114,118,101,114,32,107,101,121,32,101,120,99,104,97,110,103,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,108,105,101,110,116,32,107,101,121,32,101,120,99,104,97,110,103,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,111,103,117,115,32,115,116,114,105,110,103,0,70,111,114,98,105,100,100,101,110,0,75,101,121,32,100,105,115,97,98,108,101,100,0,78,111,116,32,112,111,115,115,105,98,108,101,32,119,105,116,104,32,97,32,99,97,114,100,32,98,97,115,101,100,32,107,101,121,0,73,110,118,97,108,105,100,32,108,111,99,107,32,111,98,106,101,99,116,0,71,101,110,101,114,97,108,32,73,80,67,32,101,114,114,111,114,0,73,80,67,32,97,99,99,101,112,116,32,99,97,108,108,32,102,97,105,108,101,100,0,73,80,67,32,99,111,110,110,101,99,116,32,99,97,108,108,32,102,97,105,108,101,100,0,73,110,118,97,108,105,100,32,73,80,67,32,114,101,115,112,111,110,115,101,0,73,110,118,97,108,105,100,32,118,97,108,117,101,32,112,97,115,115,101,100,32,116,111,32,73,80,67,0,73,110,99,111,109,112,108,101,116,101,32,108,105,110,101,32,112,97,115,115,101,100,32,116,111,32,73,80,67,0,76,105,110,101,32,112,97,115,115,101,100,32,116,111,32,73,80,67,32,116,111,111,32,108,111,110,103,0,78,101,115,116,101,100,32,73,80,67,32,99,111,109,109,97,110,100,115,0,78,111,32,100,97,116,97,32,99,97,108,108,98,97,99,107,32,105,110,32,73,80,67,0,78,111,32,105,110,113,117,105,114,101,32,99,97,108,108,98,97,99,107,32,105,110,32,73,80,67,0,78,111,116,32,97,110,32,73,80,67,32,115,101,114,118,101,114,0,78,111,116,32,97,110,32,73,80,67,32,99,108,105,101,110,116,0,80,114,111,98,108,101,109,32,115,116,97,114,116,105,110,103,32,73,80,67,32,115,101,114,118,101,114,0,73,80,67,32,114,101,97,100,32,101,114,114,111,114,0,73,80,67,32,119,114,105,116,101,32,101,114,114,111,114,0,84,111,111,32,109,117,99,104,32,100,97,116,97,32,102,111,114,32,73,80,67,32,108,97,121,101,114,0,85,110,101,120,112,101,99,116,101,100,32,73,80,67,32,99,111,109,109,97,110,100,0,85,110,107,110,111,119,110,32,73,80,67,32,99,111,109,109,97,110,100,0,73,80,67,32,115,121,110,116,97,120,32,101,114,114,111,114,0,73,80,67,32,99,97,108,108,32,104,97,115,32,98,101,101,110,32,99,97,110,99,101,108,108,101,100,0,78,111,32,105,110,112,117,116,32,115,111,117,114,99,101,32,102,111,114,32,73,80,67,0,78,111,32,111,117,116,112,117,116,32,115,111,117,114,99,101,32,102,111,114,32,73,80,67,0,73,80,67,32,112,97,114,97,109,101,116,101,114,32,101,114,114,111,114,0,85,110,107,110,111,119,110,32,73,80,67,32,105,110,113,117,105,114,101,0,71,101,110,101,114,97,108,32,76,68,65,80,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,97,116,116,114,105,98,117,116,101,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,110,97,109,101,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,115,101,99,117,114,105,116,121,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,115,101,114,118,105,99,101,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,117,112,100,97,116,101,32,101,114,114,111,114,0,69,120,112,101,114,105,109,101,110,116,97,108,32,76,68,65,80,32,101,114,114,111,114,32,99,111,100,101,0,80,114,105,118,97,116,101,32,76,68,65,80,32,101,114,114,111,114,32,99,111,100,101,0,79,116,104,101,114,32,103,101,110,101,114,97,108,32,76,68,65,80,32,101,114,114,111,114,0,76,68,65,80,32,99,111,110,110,101,99,116,105,110,103,32,102,97,105,108,101,100,32,40,88,41,0,76,68,65,80,32,114,101,102,101,114,114,97,108,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,0,76,68,65,80,32,99,108,105,101,110,116,32,108,111,111,112,0,78,111,32,76,68,65,80,32,114,101,115,117,108,116,115,32,114,101,116,117,114,110,101,100,0,76,68,65,80,32,99,111,110,116,114,111,108,32,110,111,116,32,102,111,117,110,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,76,68,65,80,0,76,68,65,80,32,99,111,110,110,101,99,116,32,101,114,114,111,114,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,105,110,32,76,68,65,80,0,66,97,100,32,112,97,114,97,109,101,116,101,114,32,116,111,32,97,110,32,76,68,65,80,32,114,111,117,116,105,110,101,0,85,115,101,114,32,99,97,110,99,101,108,108,101,100,32,76,68,65,80,32,111,112,101,114,97,116,105,111,110,0,66,97,100,32,76,68,65,80,32,115,101,97,114,99,104,32,102,105,108,116,101,114,0,85,110,107,110,111,119,110,32,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,32,109,101,116,104,111,100,0,84,105,109,101,111,117,116,32,105,110,32,76,68,65,80,0,76,68,65,80,32,100,101,99,111,100,105,110,103,32,101,114,114,111,114,0,76,68,65,80,32,101,110,99,111,100,105,110,103,32,101,114,114,111,114,0,76,68,65,80,32,108,111,99,97,108,32,101,114,114,111,114,0,67,97,110,110,111,116,32,99,111,110,116,97,99,116,32,76,68,65,80,32,115,101,114,118,101,114,0,76,68,65,80,32,115,117,99,99,101,115,115,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,115,32,101,114,114,111,114,0,76,68,65,80,32,112,114,111,116,111,99,111,108,32,101,114,114,111,114,0,84,105,109,101,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,32,105,110,32,76,68,65,80,0,83,105,122,101,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,32,105,110,32,76,68,65,80,0,76,68,65,80,32,99,111,109,112,97,114,101,32,102,97,108,115,101,0,76,68,65,80,32,99,111,109,112,97,114,101,32,116,114,117,101,0,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,32,109,101,116,104,111,100,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,116,114,111,110,103,40,101,114,41,32,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,32,114,101,113,117,105,114,101,100,0,80,97,114,116,105,97,108,32,76,68,65,80,32,114,101,115,117,108,116,115,43,114,101,102,101,114,114,97,108,32,114,101,99,101,105,118,101,100,0,76,68,65,80,32,114,101,102,101,114,114,97,108,0,65,100,109,105,110,105,115,116,114,97,116,105,118,101,32,76,68,65,80,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,0,67,114,105,116,105,99,97,108,32,76,68,65,80,32,101,120,116,101,110,115,105,111,110,32,105,115,32,117,110,97,118,97,105,108,97,98,108,101,0,67,111,110,102,105,100,101,110,116,105,97,108,105,116,121,32,114,101,113,117,105,114,101,100,32,98,121,32,76,68,65,80,0,76,68,65,80,32,83,65,83,76,32,98,105,110,100,32,105,110,32,112,114,111,103,114,101,115,115,0,78,111,32,115,117,99,104,32,76,68,65,80,32,97,116,116,114,105,98,117,116,101,0,85,110,100,101,102,105,110,101,100,32,76,68,65,80,32,97,116,116,114,105,98,117,116,101,32,116,121,112,101,0,73,110,97,112,112,114,111,112,114,105,97,116,101,32,109,97,116,99,104,105,110,103,32,105,110,32,76,68,65,80,0,67,111,110,115,116,114,97,105,110,116,32,118,105,111,108,97,116,105,111,110,32,105,110,32,76,68,65,80,0,76,68,65,80,32,116,121,112,101,32,111,114,32,118,97,108,117,101,32,101,120,105,115,116,115,0,73,110,118,97,108,105,100,32,115,121,110,116,97,120,32,105,110,32,76,68,65,80,0,78,111,32,115,117,99,104,32,76,68,65,80,32,111,98,106,101,99,116,0,76,68,65,80,32,97,108,105,97,115,32,112,114,111,98,108,101,109,0,73,110,118,97,108,105,100,32,68,78,32,115,121,110,116,97,120,32,105,110,32,76,68,65,80,0,76,68,65,80,32,101,110,116,114,121,32,105,115,32,97,32,108,101,97,102,0,76,68,65,80,32,97,108,105,97,115,32,100,101,114,101,102,101,114,101,110,99,105,110,103,32,112,114,111,98,108,101,109,0,76,68,65,80,32,112,114,111,120,121,32,97,117,116,104,111,114,105,122,97,116,105,111,110,32,102,97,105,108,117,114,101,32,40,88,41,0,73,110,97,112,112,114,111,112,114,105,97,116,101,32,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,0,73,110,118,97,108,105,100,32,76,68,65,80,32,99,114,101,100,101,110,116,105,97,108,115,0,73,110,115,117,102,102,105,99,105,101,110,116,32,97,99,99,101,115,115,32,102,111,114,32,76,68,65,80,0,76,68,65,80,32,115,101,114,118,101,114,32,105,115,32,98,117,115,121,0,76,68,65,80,32,115,101,114,118,101,114,32,105,115,32,117,110,97,118,97,105,108,97,98,108,101,0,76,68,65,80,32,115,101,114,118,101,114,32,105,115,32,117,110,119,105,108,108,105,110,103,32,116,111,32,112,101,114,102,111,114,109,0,76,111,111,112,32,100,101,116,101,99,116,101,100,32,98,121,32,76,68,65,80,0,76,68,65,80,32,110,97,109,105,110,103,32,118,105,111,108,97,116,105,111,110,0,76,68,65,80,32,111,98,106,101,99,116,32,99,108,97,115,115,32,118,105,111,108,97,116,105,111,110,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,110,111,110,45,108,101,97,102,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,82,68,78,0,65,108,114,101,97,100,121,32,101,120,105,115,116,115,32,40,76,68,65,80,41,0,67,97,110,110,111,116,32,109,111,100,105,102,121,32,76,68,65,80,32,111,98,106,101,99,116,32,99,108,97,115,115,0,76,68,65,80,32,114,101,115,117,108,116,115,32,116,111,111,32,108,97,114,103,101,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,97,102,102,101,99,116,115,32,109,117,108,116,105,112,108,101,32,68,83,65,115,0,86,105,114,116,117,97,108,32,76,68,65,80,32,108,105,115,116,32,118,105,101,119,32,101,114,114,111,114,0,79,116,104,101,114,32,76,68,65,80,32,101,114,114,111,114,0,82,101,115,111,117,114,99,101,115,32,101,120,104,97,117,115,116,101,100,32,105,110,32,76,67,85,80,0,83,101,99,117,114,105,116,121,32,118,105,111,108,97,116,105,111,110,32,105,110,32,76,67,85,80,0,73,110,118,97,108,105,100,32,100,97,116,97,32,105,110,32,76,67,85,80,0,85,110,115,117,112,112,111,114,116,101,100,32,115,99,104,101,109,101,32,105,110,32,76,67,85,80,0,82,101,108,111,97,100,32,114,101,113,117,105,114,101,100,32,105,110,32,76,67,85,80,0,76,68,65,80,32,99,97,110,99,101,108,108,101,100,0,78,111,32,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,116,111,32,99,97,110,99,101,108,0,84,111,111,32,108,97,116,101,32,116,111,32,99,97,110,99,101,108,32,76,68,65,80,0,67,97,110,110,111,116,32,99,97,110,99,101,108,32,76,68,65,80,0,76,68,65,80,32,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,0,80,114,111,120,105,101,100,32,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,32,98,121,32,76,68,65,80,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,50,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,51,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,52,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,53,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,54,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,55,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,56,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,57,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,48,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,49,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,50,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,51,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,52,0,85,115,101,114,32,100,101,102,105,110,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+51200);allocate([100,32,101,114,114,111,114,32,99,111,100,101,32,49,53,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,54,0,83,121,115,116,101,109,32,101,114,114,111,114,32,119,47,111,32,101,114,114,110,111,0,85,110,107,110,111,119,110,32,115,121,115,116,101,109,32,101,114,114,111,114,0,69,110,100,32,111,102,32,102,105,108,101,0,85,110,107,110,111,119,110,32,101,114,114,111,114,32,99,111,100,101,0,97,109,111,117,110,116,46,99,0,84,65,76,69,82,95,97,109,111,117,110,116,95,99,109,112,0,65,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,46,10,0,84,65,76,69,82,95,97,109,111,117,110,116,95,115,117,98,116,114,97,99,116,0,84,65,76,69,82,95,97,109,111,117,110,116,95,97,100,100,0,18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40,41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67,68,69,70,71,72,73,16,16,16,74,75,76,77,78,16,16,16,79,80,16,16,16,16,81,16,16,16,16,16,16,16,16,16,17,17,17,82,83,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,84,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,85,16,16,16,16,86,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,87,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,88,89,90,91,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,92,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,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,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,0,0,0,0,0,0,0,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4,255,255,127,255,255,255,127,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,195,255,3,0,31,80,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,223,60,64,215,255,255,251,255,255,255,255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,254,255,255,255,127,2,254,255,255,255,255,0,0,0,0,0,255,191,182,0,255,255,255,7,7,0,0,0,255,7,255,255,255,255,255,255,255,254,255,195,255,255,255,255,255,255,255,255,255,255,255,255,239,31,254,225,255,159,0,0,255,255,255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255,255,255,3,0,255,255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255,1,0,0,0,0,0,0,0,0,253,31,0,0,0,0,0,0,240,3,255,127,255,255,255,255,255,255,255,239,255,223,225,255,207,255,254,254,238,159,249,255,255,253,197,227,159,89,128,176,207,255,3,0,238,135,249,255,255,253,109,195,135,25,2,94,192,255,63,0,238,191,251,255,255,253,237,227,191,27,1,0,207,255,0,0,238,159,249,255,255,253,237,227,159,25,192,176,207,255,2,0,236,199,61,214,24,199,255,195,199,29,129,0,192,255,0,0,238,223,253,255,255,253,239,227,223,29,96,3,207,255,0,0,236,223,253,255,255,253,239,227,223,29,96,64,207,255,6,0,236,223,253,255,255,255,255,231,223,93,128,0,207,255,0,252,236,255,127,252,255,255,251,47,127,128,95,255,0,0,12,0,254,255,255,255,255,127,255,7,63,32,255,3,0,0,0,0,150,37,240,254,174,236,255,59,95,32,255,243,0,0,0,0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,255,255,254,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,255,3,255,255,231,193,255,255,127,64,255,51,255,255,255,255,191,32,255,255,255,255,255,247,255,255,255,255,255,255,255,255,255,61,127,61,255,255,255,255,255,61,255,255,255,255,61,127,61,255,127,255,255,255,255,255,255,255,61,255,255,255,255,255,255,255,255,135,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,31,0,254,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,159,255,255,254,255,255,7,255,255,255,255,255,255,255,255,255,199,1,0,255,223,15,0,255,255,15,0,255,255,15,0,255,223,13,0,255,255,255,255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,3,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,7,255,255,255,255,255,255,255,255,63,0,255,255,255,31,255,15,255,1,192,255,255,255,255,63,31,0,255,255,255,255,255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,255,255,255,255,255,255,127,254,255,31,0,255,3,255,3,128,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,243,255,255,255,255,255,255,191,255,3,0,255,255,255,255,255,255,63,0,255,227,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,222,111,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,0,0,0,0,0,0,0,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,132,252,47,62,80,189,255,243,224,67,0,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,0,255,255,255,255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255,255,255,255,255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127,255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254,255,255,255,255,255,255,255,255,255,255,247,224,255,255,255,255,63,254,255,255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,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,63,0,0,0,0,0,0,0,0,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,31,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255,255,127,240,143,255,255,255,128,255,255,255,255,255,255,255,255,255,255,0,0,0,0,128,255,252,255,255,255,255,255,255,255,255,255,255,255,255,121,15,0,255,7,0,0,0,0,0,0,0,0,0,255,187,247,255,255,255,0,0,0,255,255,255,255,255,255,15,0,255,255,255,255,255,255,255,255,15,0,255,3,0,0,252,8,255,255,255,255,255,7,255,255,255,255,7,0,255,255,255,31,255,255,255,255,255,255,247,255,0,128,255,3,0,0,0,0,255,255,255,255,255,255,127,0,255,63,255,3,255,255,127,4,255,255,255,255,255,255,255,127,5,0,0,56,255,255,60,0,126,126,126,0,127,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,95,219,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,255,255,252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,255,3,254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,255,127,252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,0,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,31,255,255,255,255,255,255,1,0,0,0,0,0,255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,0,255,255,255,63,255,255,255,255,15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,3,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,145,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,63,0,255,255,255,3,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,239,254,255,255,15,0,0,0,0,0,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,1,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,255,255,255,63,0,0,0,192,255,0,0,252,255,255,255,255,255,255,1,0,0,255,255,255,1,255,3,255,255,255,255,255,255,199,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,30,0,255,3,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,255,63,0,255,3,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,127,0,0,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,255,255,1,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,255,255,255,31,0,255,255,255,255,255,127,0,0,248,255,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,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,255,255,255,255,255,223,255,255,255,255,255,255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,255,123,95,252,253,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,63,255,255,255,253,255,255,247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,255,253,255,255,255,253,255,255,247,207,255,255,255,255,255,255,239,255,255,255,150,254,247,10,132,234,150,170,150,247,247,94,255,251,255,15,238,251,255,15,0,0,0,0,0,0,0,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,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,18,16,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,16,16,34,35,16,36,37,38,39,40,41,42,43,16,44,45,46,17,47,48,17,17,49,17,17,17,50,51,52,53,54,55,56,57,17,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,58,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,59,16,60,61,62,63,64,65,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,66,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,67,16,16,68,16,69,70,71,16,72,16,73,16,16,16,16,74,75,76,77,16,16,78,16,79,80,16,16,16,16,81,16,16,16,16,16,16,16,16,16,16,16,16,16,82,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,83,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,84,85,86,87,16,16,88,89,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,90,16,91,92,93,94,95,96,97,98,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,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,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,0,0,0,254,255,0,252,1,0,0,248,1,0,0,120,0,0,0,0,255,251,223,251,0,0,128,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,252,255,224,175,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,32,64,176,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,134,254,255,255,255,0,64,73,0,0,0,0,0,24,0,223,255,0,200,0,0,0,0,0,0,0,1,0,60,0,0,0,0,0,0,0,0,0,0,0,0,16,224,1,30,0,96,255,191,0,0,0,0,0,0,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,207,3,0,0,0,3,0,32,255,127,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,0,0,0,16,0,32,30,0,48,0,1,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,252,15,0,0,0,0,0,0,0,16,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,3,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,253,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,255,7,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,255,0,0,0,0,0,0,0,16,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,63,2,0,0,0,0,0,0,0,0,0,4,0,0,0,0,16,0,0,0,0,0,0,128,0,128,192,223,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,254,255,255,255,0,252,255,255,0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,192,255,223,255,7,0,0,0,0,0,0,0,0,0,0,128,6,0,252,0,0,24,62,0,0,128,191,0,204,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,96,255,255,255,31,0,0,255,3,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,1,0,0,24,0,0,0,0,0,0,0,0,0,56,0,0,0,0,16,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,254,127,47,0,0,255,3,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,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,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,255,255,255,255,0,0,0,192,0,0,0,0,0,0,0,0,1,0,224,159,0,0,0,0,127,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,16,0,0,252,255,255,255,31,0,0,0,0,0,12,0,0,0,0,0,0,64,0,12,240,0,0,0,0,0,0,192,248,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,255,0,255,255,255,33,16,0,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,127,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,3,224,0,224,0,224,0,96,128,248,255,255,255,252,255,255,255,255,255,127,31,252,241,127,255,127,0,0,255,255,255,3,0,0,255,255,255,255,1,0,123,3,208,193,175,66,0,12,31,188,255,255,0,0,0,0,0,2,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,15,0,255,255,255,255,127,0,0,0,255,7,0,0,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,252,255,255,254,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,31,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,135,3,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,127,255,15,0,0,0,0,0,0,0,0,255,255,255,251,255,255,255,255,255,255,255,255,255,255,15,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,63,0,0,0,255,15,30,255,255,255,1,252,193,224,0,0,0,0,0,0,0,0,0,0,0,30,1,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,15,0,0,0,255,255,255,127,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,127,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,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,0,0,0,0,0,0,192,0,224,0,0,0,0,0,0,0,0,0,0,0,128,15,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,255,255,127,0,3,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,8,0,0,0,15,255,3,0,0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,16,192,0,0,255,255,3,7,0,0,0,0,0,248,0,0,0,0,8,128,0,0,0,0,0,0,0,0,0,0,8,0,255,63,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,0,0,128,11,0,0,0,0,0,0,0,128,2,0,0,192,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,255,255,255,3,127,0,255,255,255,255,247,255,127,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,254,255,0,252,1,0,0,248,1,0,0,248,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,127,0,48,135,255,255,255,255,255,143,255,0,0,0,0,0,0,224,255,255,7,255,15,0,0,0,0,0,0,255,255,255,255,255,63,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,143,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,255,0,255,1,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,255,0,0,0,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,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,63,252,255,63,0,0,0,3,0,0,0,0,0,0,254,3,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,225,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,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,63,0,255,255,255,255,127,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,255,255,255,255,255,255,255,255,63,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,255,255,255,255,255,127,0,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,8,0,0,0,8,0,0,32,0,0,0,32,0,0,128,0,0,0,128,0,0,0,2,0,0,0,2,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,127,254,127,254,255,254,255,0,0,0,0,255,7,255,255,255,127,255,255,255,255,255,255,255,15,255,255,255,255,255,7,0,0,0,0,0,0,0,0,192,255,255,255,7,0,255,255,255,255,255,7,255,1,3,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,1,0,191,255,255,255,255,255,255,255,255,31,255,255,15,0,255,255,255,255,223,7,0,0,255,255,1,0,255,255,255,255,255,255,255,127,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,30,255,255,255,255,255,255,255,63,15,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,255,255,255,255,255,255,255,225,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,114,119,97,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+61440);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]}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;function _pthread_mutex_lock(){}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};var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var _stdin=allocate(1,"i32*",ALLOC_STATIC);var _stdout=allocate(1,"i32*",ALLOC_STATIC);var _stderr=allocate(1,"i32*",ALLOC_STATIC);var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),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}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),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 ___syscall192(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get(),prot=SYSCALLS.get(),flags=SYSCALLS.get(),fd=SYSCALLS.get(),off=SYSCALLS.get();off<<=12;var ptr;var allocated=false;if(fd===-1){ptr=_malloc(len);if(!ptr)return-ERRNO_CODES.ENOMEM;_memset(ptr,0,len);allocated=true}else{var info=FS.getStream(fd);if(!info)return-ERRNO_CODES.EBADF;var res=FS.mmap(info,HEAPU8,addr,len,off,prot,flags);ptr=res.ptr;allocated=res.allocated}SYSCALLS.mappings[ptr]={malloc:ptr,len:len,allocated:allocated,fd:fd,flags:flags};return ptr}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall194(which,varargs){SYSCALLS.varargs=varargs;try{var fd=SYSCALLS.get(),zero=SYSCALLS.getZero(),length=SYSCALLS.get64();FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall202(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall199(){return ___syscall202.apply(null,arguments)}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 _pthread_mutex_init(){}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _UItoD=true;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=allocate(44,"i8",ALLOC_STATIC);var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);var _tzname=allocate(8,"i32*",ALLOC_STATIC);var _daylight=allocate(1,"i32*",ALLOC_STATIC);var _timezone=allocate(1,"i32*",ALLOC_STATIC);function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function ___syscall77(which,varargs){SYSCALLS.varargs=varargs;try{var who=SYSCALLS.get(),usage=SYSCALLS.get();_memset(usage,0,136);HEAP32[usage>>2]=1;HEAP32[usage+4>>2]=2;HEAP32[usage+8>>2]=3;HEAP32[usage+12>>2]=4;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Ashr"]=_bitshift64Ashr;Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}var _environ=allocate(1,"i32*",ALLOC_STATIC);var ___environ=_environ;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _pthread_mutex_unlock(){}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall191(which,varargs){SYSCALLS.varargs=varargs;try{var resource=SYSCALLS.get(),rlim=SYSCALLS.get();HEAP32[rlim>>2]=-1;HEAP32[rlim+4>>2]=-1;HEAP32[rlim+8>>2]=-1;HEAP32[rlim+12>>2]=-1;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;var _BItoD=true;function _pthread_mutex_destroy(){}function ___syscall201(){return ___syscall202.apply(null,arguments)}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall64(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.ppid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;var _BDtoILow=true;function ___syscall75(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}var _floor=Math_floor;var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);Module["_llvm_cttz_i32"]=_llvm_cttz_i32;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();if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;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})};Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Shl"]=_bitshift64Shl;function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);Runtime.stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(Runtime.stackSave());return self.LLVM_SAVEDSTACKS.length-1}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|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 ___syscall340(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),resource=SYSCALLS.get(),new_limit=SYSCALLS.get(),old_limit=SYSCALLS.get();if(old_limit){HEAP32[old_limit>>2]=-1;HEAP32[old_limit+4>>2]=-1;HEAP32[old_limit+8>>2]=-1;HEAP32[old_limit+12>>2]=-1}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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 _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}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}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);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");function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_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_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_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_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_iiiii":invoke_iiiii,"invoke_viiiiii":invoke_viiiiii,"invoke_iii":invoke_iii,"invoke_viiii":invoke_viiii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"_pthread_mutex_init":_pthread_mutex_init,"___syscall64":___syscall64,"___syscall63":___syscall63,"___syscall6":___syscall6,"___syscall202":___syscall202,"___setErrNo":___setErrNo,"___syscall20":___syscall20,"_llvm_stackrestore":_llvm_stackrestore,"___assert_fail":___assert_fail,"_floor":_floor,"__addDays":__addDays,"_localtime_r":_localtime_r,"_tzset":_tzset,"_emscripten_set_main_loop_timing":_emscripten_set_main_loop_timing,"_sbrk":_sbrk,"___syscall192":___syscall192,"___syscall191":___syscall191,"___syscall197":___syscall197,"___syscall195":___syscall195,"___syscall194":___syscall194,"___syscall199":___syscall199,"_sysconf":_sysconf,"_strftime":_strftime,"_clock":_clock,"__arraySum":__arraySum,"_emscripten_memcpy_big":_emscripten_memcpy_big,"___syscall91":___syscall91,"___buildEnvironment":___buildEnvironment,"_pthread_mutex_destroy":_pthread_mutex_destroy,"_pthread_self":_pthread_self,"___syscall75":___syscall75,"_pthread_mutex_unlock":_pthread_mutex_unlock,"___syscall77":___syscall77,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall33":___syscall33,"___syscall54":___syscall54,"___unlock":___unlock,"__isLeapYear":__isLeapYear,"_emscripten_set_main_loop":_emscripten_set_main_loop,"___syscall10":___syscall10,"___syscall3":___syscall3,"___syscall340":___syscall340,"___lock":___lock,"_abort":_abort,"___syscall5":___syscall5,"___syscall4":___syscall4,"_time":_time,"_pthread_mutex_lock":_pthread_mutex_lock,"_gettimeofday":_gettimeofday,"___syscall201":___syscall201,"_atexit":_atexit,"___syscall140":___syscall140,"_localtime":_localtime,"___syscall142":___syscall142,"_pthread_cleanup_push":_pthread_cleanup_push,"___syscall145":___syscall145,"___syscall146":___syscall146,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM +var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=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){abort("NO_DYNAMIC_EXECUTION=1 was set, cannot eval")}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){abort("NO_DYNAMIC_EXECUTION=1 was set, cannot eval")}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};cwrap=function cwrap(ident,returnType,argTypes){return(function(){return ccall(ident,returnType,argTypes,arguments)})}}))();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=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<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 buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;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");if(Module["buffer"]){buffer=Module["buffer"];assert(buffer.byteLength===TOTAL_MEMORY,"provided buffer should be "+TOTAL_MEMORY+" bytes, but it is "+buffer.byteLength)}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();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+77568;__ATINIT__.push({func:(function(){_GNUNET_util_cl_init()})},{func:(function(){_GNUNET_CRYPTO_random_init()})},{func:(function(){_gpg_err_init()})});allocate([0,0,0,0,0,0,0,0,102,154,0,127,199,106,69,159,152,186,249,23,254,223,149,34,17,154,0,127,199,106,69,159,152,186,249,23,254,223,149,51,6,154,0,127,199,106,69,159,152,186,249,23,254,223,149,33,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,34,174,40,215,152,47,138,66,205,101,239,35,145,68,55,113,47,59,77,236,207,251,192,181,188,219,137,129,165,219,181,233,56,181,72,243,91,194,86,57,25,208,5,182,241,17,241,89,155,79,25,175,164,130,63,146,24,129,109,218,213,94,28,171,66,2,3,163,152,170,7,216,190,111,112,69,1,91,131,18,140,178,228,78,190,133,49,36,226,180,255,213,195,125,12,85,111,137,123,242,116,93,190,114,177,150,22,59,254,177,222,128,53,18,199,37,167,6,220,155,148,38,105,207,116,241,155,193,210,74,241,158,193,105,155,228,227,37,79,56,134,71,190,239,181,213,140,139,198,157,193,15,101,156,172,119,204,161,12,36,117,2,43,89,111,44,233,45,131,228,166,110,170,132,116,74,212,251,65,189,220,169,176,92,181,83,17,131,218,136,249,118,171,223,102,238,82,81,62,152,16,50,180,45,109,198,49,168,63,33,251,152,200,39,3,176,228,14,239,190,199,127,89,191,194,143,168,61,243,11,224,198,37,167,10,147,71,145,167,213,111,130,3,224,81,99,202,6,112,110,14,10,103,41,41,20,252,47,210,70,133,10,183,39,38,201,38,92,56,33,27,46,237,42,196,90,252,109,44,77,223,179,149,157,19,13,56,83,222,99,175,139,84,115,10,101,168,178,119,60,187,10,106,118,230,174,237,71,46,201,194,129,59,53,130,20,133,44,114,146,100,3,241,76,161,232,191,162,1,48,66,188,75,102,26,168,145,151,248,208,112,139,75,194,48,190,84,6,163,81,108,199,24,82,239,214,25,232,146,209,16,169,101,85,36,6,153,214,42,32,113,87,133,53,14,244,184,209,187,50,112,160,106,16,200,208,210,184,22,193,164,25,83,171,65,81,8,108,55,30,153,235,142,223,76,119,72,39,168,72,155,225,181,188,176,52,99,90,201,197,179,12,28,57,203,138,65,227,74,170,216,78,115,227,99,119,79,202,156,91,163,184,178,214,243,111,46,104,252,178,239,93,238,130,143,116,96,47,23,67,111,99,165,120,114,171,240,161,20,120,200,132,236,57,100,26,8,2,199,140,40,30,99,35,250,255,190,144,233,189,130,222,235,108,80,164,21,121,198,178,247,163,249,190,43,83,114,227,242,120,113,198,156,97,38,234,206,62,39,202,7,194,192,33,199,184,134,209,30,235,224,205,214,125,218,234,120,209,110,238,127,79,125,245,186,111,23,114,170,103,240,6,166,152,200,162,197,125,99,10,174,13,249,190,4,152,63,17,27,71,28,19,53,11,113,27,132,125,4,35,245,119,219,40,147,36,199,64,123,171,202,50,188,190,201,21,10,190,158,60,76,13,16,156,196,103,29,67,182,66,62,203,190,212,197,76,42,126,101,252,156,41,127,89,236,250,214,58,171,111,203,95,23,88,71,74,140,25,68,108,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,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,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,60,85,0,0,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,251,88,0,0,2,0,0,0,7,89,0,0,4,0,0,0,19,89,0,0,8,0,0,0,31,89,0,0,16,0,0,0,44,89,0,0,32,0,0,0,54,89,0,0,64,0,0,0,65,89,0,0,128,0,0,0,77,89,0,0,0,1,0,0,90,89,0,0,0,2,0,0,102,89,0,0,0,4,0,0,115,89,0,0,0,8,0,0,125,89,0,0,0,16,0,0,136,89,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,2,0,0,0,11,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,2,0,0,0,11,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,104,17,0,0,160,28,0,0,20,29,0,0,116,32,0,0,180,48,0,0,0,0,0,0,168,140,0,0,0,1,0,0,0,0,0,0,2,0,0,0,1,0,0,0,60,96,0,0,127,96,0,0,133,96,0,0,201,96,0,0,12,97,0,0,79,97,0,0,146,97,0,0,151,97,0,0,192,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,162,97,0,0,213,97,0,0,8,98,0,0,59,98,0,0,110,98,0,0,161,98,0,0,212,98,0,0,217,98,0,0,224,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,228,98,0,0,31,99,0,0,90,99,0,0,149,99,0,0,208,99,0,0,11,100,0,0,212,98,0,0,70,100,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,81,100,0,0,148,100,0,0,215,100,0,0,26,101,0,0,93,101,0,0,160,101,0,0,212,98,0,0,227,101,0,0,128,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,238,101,0,0,81,102,0,0,180,102,0,0,23,103,0,0,122,103,0,0,221,103,0,0,212,98,0,0,64,104,0,0,9,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,75,104,0,0,210,104,0,0,89,105,0,0,223,105,0,0,101,106,0,0,236,106,0,0,212,98,0,0,115,107,0,0,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,107,0,0,174,107,0,0,217,107,0,0,4,108,0,0,47,108,0,0,90,108,0,0,212,98,0,0,133,108,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,108,0,0,200,108,0,0,251,108,0,0,46,109,0,0,97,109,0,0,148,109,0,0,212,98,0,0,199,109,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,215,109,0,0,18,110,0,0,77,110,0,0,136,110,0,0,195,110,0,0,254,110,0,0,212,98,0,0,57,111,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,111,0,0,140,111,0,0,207,111,0,0,18,112,0,0,85,112,0,0,152,112,0,0,212,98,0,0,219,112,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,235,112,0,0,62,113,0,0,145,113,0,0,228,113,0,0,55,114,0,0,138,114,0,0,212,98,0,0,221,114,0,0,128,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,237,114,0,0,80,115,0,0,179,115,0,0,22,116,0,0,121,116,0,0,220,116,0,0,212,98,0,0,63,117,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,117,0,0,210,117,0,0,85,118,0,0,216,118,0,0,91,119,0,0,222,119,0,0,212,98,0,0,97,120,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,120,0,0,178,120,0,0,245,120,0,0,56,121,0,0,123,121,0,0,190,121,0,0,212,98,0,0,1,122,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,122,0,0,89,122,0,0,156,122,0,0,223,122,0,0,34,123,0,0,101,123,0,0,212,98,0,0,168,123,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,189,123,0,0,0,124,0,0,67,124,0,0,134,124,0,0,34,123,0,0,201,124,0,0,212,98,0,0,12,125,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,125,0,0,100,125,0,0,167,125,0,0,234,125,0,0,45,126,0,0,112,126,0,0,212,98,0,0,179,126,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,126,0,0,178,120,0,0,68,127,0,0,199,127,0,0,74,128,0,0,205,128,0,0,212,98,0,0,80,129,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,129,0,0,227,129,0,0,102,130,0,0,233,130,0,0,108,131,0,0,239,131,0,0,212,98,0,0,114,132,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,132,0,0,5,133,0,0,136,133,0,0,11,134,0,0,142,134,0,0,17,135,0,0,212,98,0,0,148,135,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,135,0,0,45,126,0,0,178,120,0,0,225,135,0,0,36,136,0,0,103,136,0,0,212,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,140,0,0,170,136,0,0,151,97,0,0,193,136,0,0,151,97,0,0,213,136,0,0,151,97,0,0,224,136,0,0,151,97,0,0,234,136,0,0,217,98,0,0,243,136,0,0,217,98,0,0,253,136,0,0,217,98,0,0,10,137,0,0,70,100,0,0,19,137,0,0,70,100,0,0,39,137,0,0,70,100,0,0,50,137,0,0,70,100,0,0,60,137,0,0,227,101,0,0,69,137,0,0,227,101,0,0,79,137,0,0,227,101,0,0,92,137,0,0,64,104,0,0,101,137,0,0,64,104,0,0,111,137,0,0,64,104,0,0,124,137,0,0,115,107,0,0,133,137,0,0,133,108,0,0,154,137,0,0,199,109,0,0,175,137,0,0,57,111,0,0,196,137,0,0,219,112,0,0,217,137,0,0,221,114,0,0,238,137,0,0,63,117,0,0,4,138,0,0,97,120,0,0,26,138,0,0,1,122,0,0,43,138,0,0,168,123,0,0,60,138,0,0,12,125,0,0,77,138,0,0,1,122,0,0,94,138,0,0,12,125,0,0,118,138,0,0,1,122,0,0,142,138,0,0,12,125,0,0,159,138,0,0,80,129,0,0,176,138,0,0,114,132,0,0,196,138,0,0,148,135,0,0,216,138,0,0,0,0,0,0,0,0,0,0,228,141,0,0,242,141,0,0,15,142,0,0,163,14,1,9,139,198,219,191,69,105,15,58,126,158,109,15,139,190,162,163,158,97,72,0,143,208,94,68,20,142,0,0,34,142,0,0,43,142,0,0,137,111,177,18,138,187,223,25,104,50,16,124,212,157,243,63,71,180,177,22,153,18,186,79,83,104,75,34,64,142,0,0,79,142,0,0,130,142,0,0,127,179,203,53,136,198,193,246,255,169,105,77,125,106,210,100,147,101,176,193,246,93,105,209,236,131,51,234,151,142,0,0,166,142,0,0,217,142,0,0,108,17,80,104,116,1,60,172,106,42,188,27,179,130,98,124,236,106,144,216,110,252,1,45,231,175,236,90,243,142,0,0,3,143,0,0,58,143,0,0,149,233,160,219,150,32,149,173,174,190,155,45,111,13,188,226,212,153,241,18,242,210,183,39,63,166,135,14,190,143,0,0,207,143,0,0,58,143,0,0,58,133,65,102,172,93,159,2,63,84,213,23,208,179,157,189,148,103,112,219,156,43,149,201,246,245,101,209,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,141,0,0,242,141,0,0,15,142,0,0,91,220,193,70,191,96,117,78,106,4,36,38,8,149,117,199,90,0,63,8,157,39,57,131,157,236,88,185,100,236,56,67,20,142,0,0,34,142,0,0,43,142,0,0,176,52,76,97,216,219,56,83,92,168,175,206,175,11,241,43,136,29,194,0,201,131,61,167,38,233,55,108,46,50,207,247,64,142,0,0,79,142,0,0,130,142,0,0,119,62,169,30,54,128,14,70,133,77,184,235,208,145,129,167,41,89,9,139,62,248,193,34,217,99,85,20,206,213,101,254,151,142,0,0,166,142,0,0,217,142,0,0,130,85,138,56,154,68,60,14,164,204,129,152,153,242,8,58,133,240,250,163,229,120,248,7,122,46,63,244,103,41,102,91,243,142,0,0,3,143,0,0,58,143,0,0,96,228,49,89,30,224,182,127,13,138,38,170,203,245,183,127,142,11,198,33,55,40,197,20,5,70,4,15,14,227,127,84,190,143,0,0,207,143,0,0,58,143,0,0,155,9,255,167,27,148,47,203,39,99,95,188,213,176,233,68,191,220,99,100,79,7,19,147,138,127,81,83,92,58,53,226,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,141,0,0,242,141,0,0,15,142,0,0,175,69,210,227,118,72,64,49,97,127,120,210,181,138,107,27,156,126,244,100,245,160,27,71,228,46,195,115,99,34,68,94,142,34,64,202,94,105,226,199,139,50,57,236,250,178,22,73,20,142,0,0,34,142,0,0,43,142,0,0,175,208,57,68,216,72,149,98,107,8,37,244,171,70,144,127,21,249,218,219,228,16,30,198,130,170,3,76,124,235,197,156,250,234,158,169,7,110,222,127,74,241,82,232,178,250,156,182,64,142,0,0,79,142,0,0,130,142,0,0,136,6,38,8,211,230,173,138,10,162,172,224,20,200,168,111,10,166,53,217,71,172,159,235,232,62,244,229,89,102,20,75,42,90,179,157,193,56,20,185,78,58,182,225,1,163,79,39,151,142,0,0,166,142,0,0,217,142,0,0,62,138,105,183,120,60,37,133,25,51,171,98,144,175,108,167,122,153,129,72,8,80,0,156,197,87,124,110,31,87,59,78,104,1,221,35,196,167,214,121,204,248,163,134,198,116,207,251,243,142,0,0,3,143,0,0,58,143,0,0,78,206,8,68,133,129,62,144,136,210,198,58,4,27,197,180,79,158,241,1,42,43,88,143,60,209,31,5,3,58,196,198,12,46,246,171,64,48,254,130,150,36,141,241,99,244,73,82,190,143,0,0,207,143,0,0,58,143,0,0,102,23,23,142,148,31,2,13,53,30,47,37,78,143,211,44,96,36,32,254,176,184,251,154,220,206,187,130,70,30,153,197,166,120,204,49,231,153,23,109,56,96,230,17,12,70,82,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,141,0,0,242,141,0,0,15,142,0,0,22,75,122,123,252,248,25,226,227,149,251,231,59,86,224,163,135,189,100,34,46,131,31,214,16,39,12,215,234,37,5,84,151,88,191,117,192,90,153,74,109,3,79,101,248,240,230,253,202,234,177,163,77,74,107,75,99,110,7,10,56,188,231,55,20,142,0,0,34,142,0,0,43,142,0,0,135,170,124,222,165,239,97,157,79,240,180,36,26,29,108,176,35,121,244,226,206,78,194,120,122,208,179,5,69,225,124,222,218,168,51,183,214,184,167,2,3,139,39,78,174,163,244,228,190,157,145,78,235,97,241,112,46,105,108,32,58,18,104,84,64,142,0,0,79,142,0,0,130,142,0,0,250,115,176,8,157,86,162,132,239,176,240,117,108,137,11,233,177,181,219,221,142,232,26,54,85,248,62,51,178,39,157,57,191,62,132,130,121,167,34,200,6,180,133,164,126,103,200,7,185,70,163,55,190,232,148,38,116,39,136,89,225,50,146,251,151,142,0,0,166,142,0,0,217,142,0,0,176,186,70,86,55,69,140,105,144,229,168,197,246,29,74,247,229,118,217,127,249,75,135,45,231,111,128,80,54,30,227,219,169,28,165,193,26,162,94,180,214,121,39,92,197,120,128,99,165,241,151,65,18,12,79,45,226,173,235,235,16,162,152,221,243,142,0,0,3,143,0,0,58,143,0,0,128,178,66,99,199,193,163,235,183,20,147,193,221,123,232,180,155,70,209,244,27,74,238,193,18,27,1,55,131,248,243,82,107,86,208,55,224,95,37,152,189,15,210,33,93,106,30,82,149,230,79,115,246,63,10,236,139,145,90,152,93,120,101,152,190,143,0,0,207,143,0,0,58,143,0,0,227,123,106,119,93,200,125,186,164,223,169,249,110,94,63,253,222,189,113,248,134,114,137,134,93,245,163,45,32,205,201,68,182,2,44,172,60,73,130,177,13,94,235,85,195,228,222,21,19,70,118,251,109,224,68,96,101,201,116,64,250,140,106,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,30,0,0,180,31,0,0,120,30,0,0,244,31,0,0,52,32,0,0,136,29,0,0,0,0,0,0,156,2,0,0,183,147,0,0,2,0,0,0,188,147,0,0,1,0,0,0,192,147,0,0,8,0,0,0,199,147,0,0,3,0,0,0,209,147,0,0,3,0,0,0,216,147,0,0,9,0,0,0,223,147,0,0,10,0,0,0,230,147,0,0,11,0,0,0,237,147,0,0,5,0,0,0,241,147,0,0,45,1,0,0,245,147,0,0,6,0,0,0,251,147,0,0,7,0,0,0,0,0,0,0,0,0,0,0,32,50,0,0,200,29,0,0,0,0,0,0,7,0,0,0,2,0,0,0,145,148,0,0,168,17,0,0,184,17,0,0,16,0,0,0,128,0,0,0,248,1,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,149,148,0,0,158,148,0,0,165,148,0,0,0,0,0,0,173,148,0,0,1,0,0,0,196,148,0,0,3,0,0,0,219,148,0,0,5,0,0,0,242,148,0,0,2,0,0,0,0,0,0,0,0,0,0,0,198,99,99,165,248,124,124,132,238,119,119,153,246,123,123,141,255,242,242,13,214,107,107,189,222,111,111,177,145,197,197,84,96,48,48,80,2,1,1,3,206,103,103,169,86,43,43,125,231,254,254,25,181,215,215,98,77,171,171,230,236,118,118,154,143,202,202,69,31,130,130,157,137,201,201,64,250,125,125,135,239,250,250,21,178,89,89,235,142,71,71,201,251,240,240,11,65,173,173,236,179,212,212,103,95,162,162,253,69,175,175,234,35,156,156,191,83,164,164,247,228,114,114,150,155,192,192,91,117,183,183,194,225,253,253,28,61,147,147,174,76,38,38,106,108,54,54,90,126,63,63,65,245,247,247,2,131,204,204,79,104,52,52,92,81,165,165,244,209,229,229,52,249,241,241,8,226,113,113,147,171,216,216,115,98,49,49,83,42,21,21,63,8,4,4,12,149,199,199,82,70,35,35,101,157,195,195,94,48,24,24,40,55,150,150,161,10,5,5,15,47,154,154,181,14,7,7,9,36,18,18,54,27,128,128,155,223,226,226,61,205,235,235,38,78,39,39,105,127,178,178,205,234,117,117,159,18,9,9,27,29,131,131,158,88,44,44,116,52,26,26,46,54,27,27,45,220,110,110,178,180,90,90,238,91,160,160,251,164,82,82,246,118,59,59,77,183,214,214,97,125,179,179,206,82,41,41,123,221,227,227,62,94,47,47,113,19,132,132,151,166,83,83,245,185,209,209,104,0,0,0,0,193,237,237,44,64,32,32,96,227,252,252,31,121,177,177,200,182,91,91,237,212,106,106,190,141,203,203,70,103,190,190,217,114,57,57,75,148,74,74,222,152,76,76,212,176,88,88,232,133,207,207,74,187,208,208,107,197,239,239,42,79,170,170,229,237,251,251,22,134,67,67,197,154,77,77,215,102,51,51,85,17,133,133,148,138,69,69,207,233,249,249,16,4,2,2,6,254,127,127,129,160,80,80,240,120,60,60,68,37,159,159,186,75,168,168,227,162,81,81,243,93,163,163,254,128,64,64,192,5,143,143,138,63,146,146,173,33,157,157,188,112,56,56,72,241,245,245,4,99,188,188,223,119,182,182,193,175,218,218,117,66,33,33,99,32,16,16,48,229,255,255,26,253,243,243,14,191,210,210,109,129,205,205,76,24,12,12,20,38,19,19,53,195,236,236,47,190,95,95,225,53,151,151,162,136,68,68,204,46,23,23,57,147,196,196,87,85,167,167,242,252,126,126,130,122,61,61,71,200,100,100,172,186,93,93,231,50,25,25,43,230,115,115,149,192,96,96,160,25,129,129,152,158,79,79,209,163,220,220,127,68,34,34,102,84,42,42,126,59,144,144,171,11,136,136,131,140,70,70,202,199,238,238,41,107,184,184,211,40,20,20,60,167,222,222,121,188,94,94,226,22,11,11,29,173,219,219,118,219,224,224,59,100,50,50,86,116,58,58,78,20,10,10,30,146,73,73,219,12,6,6,10,72,36,36,108,184,92,92,228,159,194,194,93,189,211,211,110,67,172,172,239,196,98,98,166,57,145,145,168,49,149,149,164,211,228,228,55,242,121,121,139,213,231,231,50,139,200,200,67,110,55,55,89,218,109,109,183,1,141,141,140,177,213,213,100,156,78,78,210,73,169,169,224,216,108,108,180,172,86,86,250,243,244,244,7,207,234,234,37,202,101,101,175,244,122,122,142,71,174,174,233,16,8,8,24,111,186,186,213,240,120,120,136,74,37,37,111,92,46,46,114,56,28,28,36,87,166,166,241,115,180,180,199,151,198,198,81,203,232,232,35,161,221,221,124,232,116,116,156,62,31,31,33,150,75,75,221,97,189,189,220,13,139,139,134,15,138,138,133,224,112,112,144,124,62,62,66,113,181,181,196,204,102,102,170,144,72,72,216,6,3,3,5,247,246,246,1,28,14,14,18,194,97,97,163,106,53,53,95,174,87,87,249,105,185,185,208,23,134,134,145,153,193,193,88,58,29,29,39,39,158,158,185,217,225,225,56,235,248,248,19,43,152,152,179,34,17,17,51,210,105,105,187,169,217,217,112,7,142,142,137,51,148,148,167,45,155,155,182,60,30,30,34,21,135,135,146,201,233,233,32,135,206,206,73,170,85,85,255,80,40,40,120,165,223,223,122,3,140,140,143,89,161,161,248,9,137,137,128,26,13,13,23,101,191,191,218,215,230,230,49,132,66,66,198,208,104,104,184,130,65,65,195,41,153,153,176,90,45,45,119,30,15,15,17,123,176,176,203,168,84,84,252,109,187,187,214,44,22,22,58,81,244,167,80,126,65,101,83,26,23,164,195,58,39,94,150,59,171,107,203,31,157,69,241,172,250,88,171,75,227,3,147,32,48,250,85,173,118,109,246,136,204,118,145,245,2,76,37,79,229,215,252,197,42,203,215,38,53,68,128,181,98,163,143,222,177,90,73,37,186,27,103,69,234,14,152,93,254,192,225,195,47,117,2,129,76,240,18,141,70,151,163,107,211,249,198,3,143,95,231,21,146,156,149,191,109,122,235,149,82,89,218,212,190,131,45,88,116,33,211,73,224,105,41,142,201,200,68,117,194,137,106,244,142,121,120,153,88,62,107,39,185,113,221,190,225,79,182,240,136,173,23,201,32,172,102,125,206,58,180,99,223,74,24,229,26,49,130,151,81,51,96,98,83,127,69,177,100,119,224,187,107,174,132,254,129,160,28,249,8,43,148,112,72,104,88,143,69,253,25,148,222,108,135,82,123,248,183,171,115,211,35,114,75,2,226,227,31,143,87,102,85,171,42,178,235,40,7,47,181,194,3,134,197,123,154,211,55,8,165,48,40,135,242,35,191,165,178,2,3,106,186,237,22,130,92,138,207,28,43,167,121,180,146,243,7,242,240,78,105,226,161,101,218,244,205,6,5,190,213,209,52,98,31,196,166,254,138,52,46,83,157,162,243,85,160,5,138,225,50,164,246,235,117,11,131,236,57,64,96,239,170,94,113,159,6,189,110,16,81,62,33,138,249,150,221,6,61,221,62,5,174,77,230,189,70,145,84,141,181,113,196,93,5,4,6,212,111,96,80,21,255,25,152,251,36,214,189,233,151,137,64,67,204,103,217,158,119,176,232,66,189,7,137,139,136,231,25,91,56,121,200,238,219,161,124,10,71,124,66,15,233,248,132,30,201,0,0,0,0,9,128,134,131,50,43,237,72,30,17,112,172,108,90,114,78,253,14,255,251,15,133,56,86,61,174,213,30,54,45,57,39,10,15,217,100,104,92,166,33,155,91,84,209,36,54,46,58,12,10,103,177,147,87,231,15,180,238,150,210,27,155,145,158,128,192,197,79,97,220,32,162,90,119,75,105,28,18,26,22,226,147,186,10,192,160,42,229,60,34,224,67,18,27,23,29,14,9,13,11,242,139,199,173,45,182,168,185,20,30,169,200,87,241,25,133,175,117,7,76,238,153,221,187,163,127,96,253,247,1,38,159,92,114,245,188,68,102,59,197,91,251,126,52,139,67,41,118,203,35,198,220,182,237,252,104,184,228,241,99,215,49,220,202,66,99,133,16,19,151,34,64,132,198,17,32,133,74,36,125,210,187,61,248,174,249,50,17,199,41,161,109,29,158,47,75,220,178,48,243,13,134,82,236,119,193,227,208,43,179,22,108,169,112,185,153,17,148,72,250,71,233,100,34,168,252,140,196,160,240,63,26,86,125,44,216,34,51,144,239,135,73,78,199,217,56,209,193,140,202,162,254,152,212,11,54,166,245,129,207,165,122,222,40,218,183,142,38,63,173,191,164,44,58,157,228,80,120,146,13,106,95,204,155,84,126,70,98,246,141,19,194,144,216,184,232,46,57,247,94,130,195,175,245,159,93,128,190,105,208,147,124,111,213,45,169,207,37,18,179,200,172,153,59,16,24,125,167,232,156,99,110,219,59,187,123,205,38,120,9,110,89,24,244,236,154,183,1,131,79,154,168,230,149,110,101,170,255,230,126,33,188,207,8,239,21,232,230,186,231,155,217,74,111,54,206,234,159,9,212,41,176,124,214,49,164,178,175,42,63,35,49,198,165,148,48,53,162,102,192,116,78,188,55,252,130,202,166,224,144,208,176,51,167,216,21,241,4,152,74,65,236,218,247,127,205,80,14,23,145,246,47,118,77,214,141,67,239,176,77,204,170,77,84,228,150,4,223,158,209,181,227,76,106,136,27,193,44,31,184,70,101,81,127,157,94,234,4,1,140,53,93,250,135,116,115,251,11,65,46,179,103,29,90,146,219,210,82,233,16,86,51,109,214,71,19,154,215,97,140,55,161,12,122,89,248,20,142,235,19,60,137,206,169,39,238,183,97,201,53,225,28,229,237,122,71,177,60,156,210,223,89,85,242,115,63,24,20,206,121,115,199,55,191,83,247,205,234,95,253,170,91,223,61,111,20,120,68,219,134,202,175,243,129,185,104,196,62,56,36,52,44,194,163,64,95,22,29,195,114,188,226,37,12,40,60,73,139,255,13,149,65,57,168,1,113,8,12,179,222,216,180,228,156,100,86,193,144,123,203,132,97,213,50,182,112,72,108,92,116,208,184,87,66,82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125,1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,64,0,0,0,128,0,0,0,27,0,0,0,54,0,0,0,108,0,0,0,216,0,0,0,171,0,0,0,77,0,0,0,154,0,0,0,47,0,0,0,94,0,0,0,188,0,0,0,99,0,0,0,198,0,0,0,151,0,0,0,53,0,0,0,106,0,0,0,212,0,0,0,179,0,0,0,125,0,0,0,250,0,0,0,239,0,0,0,197,0,0,0,145,0,0,0,2,0,0,0,43,126,21,22,40,174,210,166,171,247,21,136,9,207,79,60,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,107,193,190,226,46,64,159,150,233,61,126,17,115,147,23,42,59,63,217,46,183,45,173,32,51,52,73,248,232,60,251,74,174,45,138,87,30,3,172,156,158,183,111,172,69,175,142,81,200,166,69,55,160,179,169,63,205,227,205,173,159,28,229,139,48,200,28,70,163,92,228,17,229,251,193,25,26,10,82,239,38,117,31,103,163,203,177,64,177,128,140,241,135,164,244,223,246,159,36,69,223,79,155,23,173,43,65,123,230,108,55,16,192,75,5,53,124,93,28,14,234,196,198,111,159,247,242,230,5,0,0,0,43,126,21,22,40,174,210,166,171,247,21,136,9,207,79,60,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,107,193,190,226,46,64,159,150,233,61,126,17,115,147,23,42,59,63,217,46,183,45,173,32,51,52,73,248,232,60,251,74,174,45,138,87,30,3,172,156,158,183,111,172,69,175,142,81,119,137,80,141,22,145,143,3,245,60,82,218,197,78,216,37,48,200,28,70,163,92,228,17,229,251,193,25,26,10,82,239,151,64,5,30,156,95,236,246,67,68,247,168,34,96,237,204,246,159,36,69,223,79,155,23,173,43,65,123,230,108,55,16,48,76,101,40,246,89,199,120,102,165,16,217,193,214,174,94,8,0,0,0,2,0,0,0,241,150,0,0,224,28,0,0,236,28,0,0,16,0,0,0,192,0,0,0,248,1,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,248,150,0,0,4,151,0,0,0,0,0,0,12,151,0,0,1,0,0,0,36,151,0,0,3,0,0,0,60,151,0,0,5,0,0,0,84,151,0,0,2,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,2,0,0,0,108,151,0,0,84,29,0,0,96,29,0,0,16,0,0,0,0,1,0,0,248,1,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,115,151,0,0,127,151,0,0,0,0,0,0,135,151,0,0,1,0,0,0,159,151,0,0,3,0,0,0,183,151,0,0,5,0,0,0,207,151,0,0,2,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,231,151,0,0,241,151,0,0,15,0,0,0,188,29,0,0,20,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,184,0,0,0,0,0,0,0,0,152,0,0,15,152,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,147,153,0,0,28,30,0,0,192,153,0,0,195,153,0,0,202,153,0,0,204,153,0,0,206,153,0,0,1,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,151,153,0,0,155,153,0,0,167,153,0,0,0,0,0,0,2,0,0,0,2,0,0,0,22,165,0,0,27,165,0,0,15,0,0,0,96,30,0,0,20,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,184,0,0,0,10,0,0,0,42,165,0,0,63,165,0,0,81,165,0,0,95,165,0,0,109,165,0,0,0,0,0,0,11,0,0,0,2,0,0,0,190,165,0,0,197,165,0,0,19,0,0,0,172,30,0,0,28,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,192,0,0,0,11,0,0,0,216,165,0,0,0,0,0,0,152,47,138,66,145,68,55,113,207,251,192,181,165,219,181,233,91,194,86,57,241,17,241,89,164,130,63,146,213,94,28,171,152,170,7,216,1,91,131,18,190,133,49,36,195,125,12,85,116,93,190,114,254,177,222,128,167,6,220,155,116,241,155,193,193,105,155,228,134,71,190,239,198,157,193,15,204,161,12,36,111,44,233,45,170,132,116,74,220,169,176,92,218,136,249,118,82,81,62,152,109,198,49,168,200,39,3,176,199,127,89,191,243,11,224,198,71,145,167,213,81,99,202,6,103,41,41,20,133,10,183,39,56,33,27,46,252,109,44,77,19,13,56,83,84,115,10,101,187,10,106,118,46,201,194,129,133,44,114,146,161,232,191,162,75,102,26,168,112,139,75,194,163,81,108,199,25,232,146,209,36,6,153,214,133,53,14,244,112,160,106,16,22,193,164,25,8,108,55,30,76,119,72,39,181,188,176,52,179,12,28,57,74,170,216,78,79,202,156,91,243,111,46,104,238,130,143,116,111,99,165,120,20,120,200,132,8,2,199,140,250,255,190,144,235,108,80,164,247,163,249,190,242,120,113,198,8,0,0,0,2,0,0,0,226,166,0,0,233,166,0,0,19,0,0,0,232,31,0,0,32,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,192,0,0,0,11,0,0,0,252,166,0,0,19,167,0,0,0,0,0,0,10,0,0,0,2,0,0,0,41,167,0,0,48,167,0,0,19,0,0,0,40,32,0,0,64,0,0,0,5,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,224,0,0,0,12,0,0,0,67,167,0,0,90,167,0,0,0,0,0,0,9,0,0,0,2,0,0,0,107,169,0,0,114,169,0,0,19,0,0,0,104,32,0,0,48,0,0,0,6,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,224,0,0,0,12,0,0,0,133,169,0,0,156,169,0,0,0,0,0,0,10,0,0,0,0,0,0,0,178,169,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,1,0,0,160,16,0,0,13,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,50,188,188,243,33,236,236,198,67,32,32,244,201,179,179,219,3,218,218,123,139,2,2,251,43,226,226,200,250,158,158,74,236,201,201,211,9,212,212,230,107,24,24,107,159,30,30,69,14,152,152,125,56,178,178,232,210,166,166,75,183,38,38,214,87,60,60,50,138,147,147,216,238,130,130,253,152,82,82,55,212,123,123,113,55,187,187,241,151,91,91,225,131,71,71,48,60,36,36,15,226,81,81,248,198,186,186,27,243,74,74,135,72,191,191,250,112,13,13,6,179,176,176,63,222,117,117,94,253,210,210,186,32,125,125,174,49,102,102,91,163,58,58,138,28,89,89,0,0,0,0,188,147,205,205,157,224,26,26,109,44,174,174,193,171,127,127,177,199,43,43,14,185,190,190,128,160,224,224,93,16,138,138,210,82,59,59,213,186,100,100,160,136,216,216,132,165,231,231,7,232,95,95,20,17,27,27,181,194,44,44,144,180,252,252,44,39,49,49,163,101,128,128,178,42,115,115,115,129,12,12,76,95,121,121,84,65,107,107,146,2,75,75,116,105,83,83,54,143,148,148,81,31,131,131,56,54,42,42,176,156,196,196,189,200,34,34,90,248,213,213,252,195,189,189,96,120,72,72,98,206,255,255,150,7,76,76,108,119,65,65,66,230,199,199,247,36,235,235,16,20,28,28,124,99,93,93,40,34,54,54,39,192,103,103,140,175,233,233,19,249,68,68,149,234,20,20,156,187,245,245,199,24,207,207,36,45,63,63,70,227,192,192,59,219,114,114,112,108,84,84,202,76,41,41,227,53,240,240,133,254,8,8,203,23,198,198,17,79,243,243,208,228,140,140,147,89,164,164,184,150,202,202,166,59,104,104,131,77,184,184,32,40,56,56,255,46,229,229,159,86,173,173,119,132,11,11,195,29,200,200,204,255,153,153,3,237,88,88,111,154,25,25,8,10,14,14,191,126,149,149,64,80,112,112,231,48,247,247,43,207,110,110,226,110,31,31,121,61,181,181,12,15,9,9,170,52,97,97,130,22,87,87,65,11,159,159,58,128,157,157,234,100,17,17,185,205,37,37,228,221,175,175,154,8,69,69,164,141,223,223,151,92,163,163,126,213,234,234,218,88,53,53,122,208,237,237,23,252,67,67,102,203,248,248,148,177,251,251,161,211,55,55,29,64,250,250,61,104,194,194,240,204,180,180,222,93,50,50,179,113,156,156,11,231,86,86,114,218,227,227,167,96,135,135,28,27,21,21,239,58,249,249,209,191,99,99,83,169,52,52,62,133,154,154,143,66,177,177,51,209,124,124,38,155,136,136,95,166,61,61,236,215,161,161,118,223,228,228,42,148,129,129,73,1,145,145,129,251,15,15,136,170,238,238,238,97,22,22,33,115,215,215,196,245,151,151,26,168,165,165,235,63,254,254,217,181,109,109,197,174,120,120,57,109,197,197,153,229,29,29,205,164,118,118,173,220,62,62,49,103,203,203,139,71,182,182,1,91,239,239,24,30,18,18,35,197,96,96,221,176,106,106,31,246,77,77,78,233,206,206,45,124,222,222,249,157,85,85,72,90,126,126,79,178,33,33,242,122,3,3,101,38,160,160,142,25,94,94,120,102,90,90,92,75,101,101,88,78,98,98,25,69,253,253,141,244,6,6,229,134,64,64,152,190,242,242,87,172,51,51,103,144,23,23,127,142,5,5,5,94,232,232,100,125,79,79,175,106,137,137,99,149,16,16,182,47,116,116,254,117,10,10,245,146,92,92,183,116,155,155,60,51,45,45,165,214,48,48,206,73,46,46,233,137,73,73,104,114,70,70,68,85,119,119,224,216,168,168,77,4,150,150,67,189,40,40,105,41,169,169,41,121,217,217,46,145,134,134,172,135,209,209,21,74,244,244,89,21,141,141,168,130,214,214,10,188,185,185,158,13,66,66,110,193,246,246,71,184,47,47,223,6,221,221,52,57,35,35,53,98,204,204,106,196,241,241,207,18,193,193,220,235,133,133,34,158,143,143,201,161,113,113,192,240,144,144,155,83,170,170,137,241,1,1,212,225,139,139,237,140,78,78,171,111,142,142,18,162,171,171,162,62,111,111,13,84,230,230,82,242,219,219,187,123,146,146,2,182,183,183,47,202,105,105,169,217,57,57,215,12,211,211,97,35,167,167,30,173,162,162,180,153,195,195,80,68,108,108,4,5,7,7,246,127,4,4,194,70,39,39,22,167,172,172,37,118,208,208,134,19,80,80,86,247,220,220,85,26,132,132,9,81,225,225,190,37,122,122,145,239,19,19,57,57,217,169,23,23,144,103,156,156,113,179,166,166,210,232,7,7,5,4,82,82,152,253,128,128,101,163,228,228,223,118,69,69,8,154,75,75,2,146,224,224,160,128,90,90,102,120,175,175,221,228,106,106,176,221,99,99,191,209,42,42,54,56,230,230,84,13,32,32,67,198,204,204,98,53,242,242,190,152,18,18,30,24,235,235,36,247,161,161,215,236,65,65,119,108,40,40,189,67,188,188,50,117,123,123,212,55,136,136,155,38,13,13,112,250,68,68,249,19,251,251,177,148,126,126,90,72,3,3,122,242,140,140,228,208,182,182,71,139,36,36,60,48,231,231,165,132,107,107,65,84,221,221,6,223,96,96,197,35,253,253,69,25,58,58,163,91,194,194,104,61,141,141,21,89,236,236,33,243,102,102,49,174,111,111,62,162,87,87,22,130,16,16,149,99,239,239,91,1,184,184,77,131,134,134,145,46,109,109,181,217,131,131,31,81,170,170,83,155,93,93,99,124,104,104,59,166,254,254,63,235,48,48,214,165,122,122,37,190,172,172,167,22,9,9,15,12,240,240,53,227,167,167,35,97,144,144,240,192,233,233,175,140,157,157,128,58,92,92,146,245,12,12,129,115,49,49,39,44,208,208,118,37,86,86,231,11,146,146,123,187,206,206,233,78,1,1,241,137,30,30,159,107,52,52,169,83,241,241,196,106,195,195,153,180,91,91,151,241,71,71,131,225,24,24,107,230,34,34,200,189,152,152,14,69,31,31,110,226,179,179,201,244,116,116,47,182,248,248,203,102,153,153,255,204,20,20,234,149,88,88,237,3,220,220,247,86,139,139,225,212,21,21,27,28,162,162,173,30,211,211,12,215,226,226,43,251,200,200,29,195,94,94,25,142,44,44,194,181,73,73,137,233,193,193,18,207,149,149,126,191,125,125,32,186,17,17,100,234,11,11,132,119,197,197,109,57,137,137,106,175,124,124,209,51,113,113,161,201,255,255,206,98,187,187,55,113,15,15,251,129,181,181,61,121,225,225,81,9,62,62,220,173,63,63,45,36,118,118,164,205,85,85,157,249,130,130,238,216,64,64,134,229,120,120,174,197,37,37,205,185,150,150,4,77,119,119,85,68,14,14,10,8,80,80,19,134,247,247,48,231,55,55,211,161,250,250,64,29,97,97,52,170,78,78,140,237,176,176,179,6,84,84,108,112,115,115,42,178,59,59,82,210,159,159,11,65,2,2,139,123,216,216,136,160,243,243,79,17,203,203,103,49,39,39,70,194,103,103,192,39,252,252,180,144,56,56,40,32,4,4,127,246,72,72,120,96,229,229,46,255,76,76,7,150,101,101,75,92,43,43,199,177,142,142,111,171,66,66,13,158,245,245,187,156,219,219,242,82,74,74,243,27,61,61,166,95,164,164,89,147,185,185,188,10,249,249,58,239,19,19,239,145,8,8,254,133,145,145,1,73,22,22,97,238,222,222,124,45,33,33,178,79,177,177,66,143,114,114,219,59,47,47,184,71,191,191,72,135,174,174,44,109,192,192,227,70,60,60,87,214,154,154,133,62,169,169,41,105,79,79,125,100,129,129,148,42,46,46,73,206,198,198,23,203,105,105,202,47,189,189,195,252,163,163,92,151,232,232,94,5,237,237,208,122,209,209,135,172,5,5,142,127,100,100,186,213,165,165,168,26,38,38,183,75,190,190,185,14,135,135,96,167,213,213,248,90,54,54,34,40,27,27,17,20,117,117,222,63,217,217,121,41,238,238,170,136,45,45,51,60,121,121,95,76,183,183,182,2,202,202,150,184,53,53,88,218,196,196,156,176,67,67,252,23,132,132,26,85,77,77,246,31,89,89,28,138,178,178,56,125,51,51,172,87,207,207,24,199,6,6,244,141,83,83,105,116,155,155,116,183],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([151,151,245,196,173,173,86,159,227,227,218,114,234,234,213,126,244,244,74,21,143,143,158,34,171,171,162,18,98,98,78,88,95,95,232,7,29,29,229,153,35,35,57,52,246,246,193,110,108,108,68,80,50,50,93,222,70,70,114,104,160,160,38,101,205,205,147,188,218,218,3,219,186,186,198,248,158,158,250,200,214,214,130,168,110,110,207,43,112,112,80,64,133,133,235,220,10,10,117,254,147,147,138,50,223,223,141,164,41,41,76,202,28,28,20,16,215,215,115,33,180,180,204,240,212,212,9,211,138,138,16,93,81,81,226,15,0,0,0,0,25,25,154,111,26,26,224,157,148,148,143,54,199,199,230,66,201,201,236,74,210,210,253,94,127,127,171,193,168,168,216,224,50,188,117,188,33,236,243,236,67,32,198,32,201,179,244,179,3,218,219,218,139,2,123,2,43,226,251,226,250,158,200,158,236,201,74,201,9,212,211,212,107,24,230,24,159,30,107,30,14,152,69,152,56,178,125,178,210,166,232,166,183,38,75,38,87,60,214,60,138,147,50,147,238,130,216,130,152,82,253,82,212,123,55,123,55,187,113,187,151,91,241,91,131,71,225,71,60,36,48,36,226,81,15,81,198,186,248,186,243,74,27,74,72,191,135,191,112,13,250,13,179,176,6,176,222,117,63,117,253,210,94,210,32,125,186,125,49,102,174,102,163,58,91,58,28,89,138,89,0,0,0,0,147,205,188,205,224,26,157,26,44,174,109,174,171,127,193,127,199,43,177,43,185,190,14,190,160,224,128,224,16,138,93,138,82,59,210,59,186,100,213,100,136,216,160,216,165,231,132,231,232,95,7,95,17,27,20,27,194,44,181,44,180,252,144,252,39,49,44,49,101,128,163,128,42,115,178,115,129,12,115,12,95,121,76,121,65,107,84,107,2,75,146,75,105,83,116,83,143,148,54,148,31,131,81,131,54,42,56,42,156,196,176,196,200,34,189,34,248,213,90,213,195,189,252,189,120,72,96,72,206,255,98,255,7,76,150,76,119,65,108,65,230,199,66,199,36,235,247,235,20,28,16,28,99,93,124,93,34,54,40,54,192,103,39,103,175,233,140,233,249,68,19,68,234,20,149,20,187,245,156,245,24,207,199,207,45,63,36,63,227,192,70,192,219,114,59,114,108,84,112,84,76,41,202,41,53,240,227,240,254,8,133,8,23,198,203,198,79,243,17,243,228,140,208,140,89,164,147,164,150,202,184,202,59,104,166,104,77,184,131,184,40,56,32,56,46,229,255,229,86,173,159,173,132,11,119,11,29,200,195,200,255,153,204,153,237,88,3,88,154,25,111,25,10,14,8,14,126,149,191,149,80,112,64,112,48,247,231,247,207,110,43,110,110,31,226,31,61,181,121,181,15,9,12,9,52,97,170,97,22,87,130,87,11,159,65,159,128,157,58,157,100,17,234,17,205,37,185,37,221,175,228,175,8,69,154,69,141,223,164,223,92,163,151,163,213,234,126,234,88,53,218,53,208,237,122,237,252,67,23,67,203,248,102,248,177,251,148,251,211,55,161,55,64,250,29,250,104,194,61,194,204,180,240,180,93,50,222,50,113,156,179,156,231,86,11,86,218,227,114,227,96,135,167,135,27,21,28,21,58,249,239,249,191,99,209,99,169,52,83,52,133,154,62,154,66,177,143,177,209,124,51,124,155,136,38,136,166,61,95,61,215,161,236,161,223,228,118,228,148,129,42,129,1,145,73,145,251,15,129,15,170,238,136,238,97,22,238,22,115,215,33,215,245,151,196,151,168,165,26,165,63,254,235,254,181,109,217,109,174,120,197,120,109,197,57,197,229,29,153,29,164,118,205,118,220,62,173,62,103,203,49,203,71,182,139,182,91,239,1,239,30,18,24,18,197,96,35,96,176,106,221,106,246,77,31,77,233,206,78,206,124,222,45,222,157,85,249,85,90,126,72,126,178,33,79,33,122,3,242,3,38,160,101,160,25,94,142,94,102,90,120,90,75,101,92,101,78,98,88,98,69,253,25,253,244,6,141,6,134,64,229,64,190,242,152,242,172,51,87,51,144,23,103,23,142,5,127,5,94,232,5,232,125,79,100,79,106,137,175,137,149,16,99,16,47,116,182,116,117,10,254,10,146,92,245,92,116,155,183,155,51,45,60,45,214,48,165,48,73,46,206,46,137,73,233,73,114,70,104,70,85,119,68,119,216,168,224,168,4,150,77,150,189,40,67,40,41,169,105,169,121,217,41,217,145,134,46,134,135,209,172,209,74,244,21,244,21,141,89,141,130,214,168,214,188,185,10,185,13,66,158,66,193,246,110,246,184,47,71,47,6,221,223,221,57,35,52,35,98,204,53,204,196,241,106,241,18,193,207,193,235,133,220,133,158,143,34,143,161,113,201,113,240,144,192,144,83,170,155,170,241,1,137,1,225,139,212,139,140,78,237,78,111,142,171,142,162,171,18,171,62,111,162,111,84,230,13,230,242,219,82,219,123,146,187,146,182,183,2,183,202,105,47,105,217,57,169,57,12,211,215,211,35,167,97,167,173,162,30,162,153,195,180,195,68,108,80,108,5,7,4,7,127,4,246,4,70,39,194,39,167,172,22,172,118,208,37,208,19,80,134,80,247,220,86,220,26,132,85,132,81,225,9,225,37,122,190,122,239,19,145,19,217,169,57,217,144,103,23,144,113,179,156,113,210,232,166,210,5,4,7,5,152,253,82,152,101,163,128,101,223,118,228,223,8,154,69,8,2,146,75,2,160,128,224,160,102,120,90,102,221,228,175,221,176,221,106,176,191,209,99,191,54,56,42,54,84,13,230,84,67,198,32,67,98,53,204,98,190,152,242,190,30,24,18,30,36,247,235,36,215,236,161,215,119,108,65,119,189,67,40,189,50,117,188,50,212,55,123,212,155,38,136,155,112,250,13,112,249,19,68,249,177,148,251,177,90,72,126,90,122,242,3,122,228,208,140,228,71,139,182,71,60,48,36,60,165,132,231,165,65,84,107,65,6,223,221,6,197,35,96,197,69,25,253,69,163,91,58,163,104,61,194,104,21,89,141,21,33,243,236,33,49,174,102,49,62,162,111,62,22,130,87,22,149,99,16,149,91,1,239,91,77,131,184,77,145,46,134,145,181,217,109,181,31,81,131,31,83,155,170,83,99,124,93,99,59,166,104,59,63,235,254,63,214,165,48,214,37,190,122,37,167,22,172,167,15,12,9,15,53,227,240,53,35,97,167,35,240,192,144,240,175,140,233,175,128,58,157,128,146,245,92,146,129,115,12,129,39,44,49,39,118,37,208,118,231,11,86,231,123,187,146,123,233,78,206,233,241,137,1,241,159,107,30,159,169,83,52,169,196,106,241,196,153,180,195,153,151,241,91,151,131,225,71,131,107,230,24,107,200,189,34,200,14,69,152,14,110,226,31,110,201,244,179,201,47,182,116,47,203,102,248,203,255,204,153,255,234,149,20,234,237,3,88,237,247,86,220,247,225,212,139,225,27,28,21,27,173,30,162,173,12,215,211,12,43,251,226,43,29,195,200,29,25,142,94,25,194,181,44,194,137,233,73,137,18,207,193,18,126,191,149,126,32,186,125,32,100,234,17,100,132,119,11,132,109,57,197,109,106,175,137,106,209,51,124,209,161,201,113,161,206,98,255,206,55,113,187,55,251,129,15,251,61,121,181,61,81,9,225,81,220,173,62,220,45,36,63,45,164,205,118,164,157,249,85,157,238,216,130,238,134,229,64,134,174,197,120,174,205,185,37,205,4,77,150,4,85,68,119,85,10,8,14,10,19,134,80,19,48,231,247,48,211,161,55,211,64,29,250,64,52,170,97,52,140,237,78,140,179,6,176,179,108,112,84,108,42,178,115,42,82,210,59,82,11,65,159,11,139,123,2,139,136,160,216,136,79,17,243,79,103,49,203,103,70,194,39,70,192,39,103,192,180,144,252,180,40,32,56,40,127,246,4,127,120,96,72,120,46,255,229,46,7,150,76,7,75,92,101,75,199,177,43,199,111,171,142,111,13,158,66,13,187,156,245,187,242,82,219,242,243,27,74,243,166,95,61,166,89,147,164,89,188,10,185,188,58,239,249,58,239,145,19,239,254,133,8,254,1,73,145,1,97,238,22,97,124,45,222,124,178,79,33,178,66,143,177,66,219,59,114,219,184,71,47,184,72,135,191,72,44,109,174,44,227,70,192,227,87,214,60,87,133,62,154,133,41,105,169,41,125,100,79,125,148,42,129,148,73,206,46,73,23,203,198,23,202,47,105,202,195,252,189,195,92,151,163,92,94,5,232,94,208,122,237,208,135,172,209,135,142,127,5,142,186,213,100,186,168,26,165,168,183,75,38,183,185,14,190,185,96,167,135,96,248,90,213,248,34,40,54,34,17,20,27,17,222,63,117,222,121,41,217,121,170,136,238,170,51,60,45,51,95,76,121,95,182,2,183,182,150,184,202,150,88,218,53,88,156,176,196,156,252,23,67,252,26,85,132,26,246,31,77,246,28,138,89,28,56,125,178,56,172,87,51,172,24,199,207,24,244,141,6,244,105,116,83,105,116,183,155,116,245,196,151,245,86,159,173,86,218,114,227,218,213,126,234,213,74,21,244,74,158,34,143,158,162,18,171,162,78,88,98,78,232,7,95,232,229,153,29,229,57,52,35,57,193,110,246,193,68,80,108,68,93,222,50,93,114,104,70,114,38,101,160,38,147,188,205,147,3,219,218,3,198,248,186,198,250,200,158,250,130,168,214,130,207,43,110,207,80,64,112,80,235,220,133,235,117,254,10,117,138,50,147,138,141,164,223,141,76,202,41,76,20,16,28,20,115,33,215,115,204,240,180,204,9,211,212,9,16,93,138,16,226,15,81,226,0,0,0,0,154,111,25,154,224,157,26,224,143,54,148,143,230,66,199,230,236,74,201,236,253,94,210,253,171,193,127,171,216,224,168,216,47,1,0,0,0,0,0,0,169,177,0,0,0,0,0,0,0,0,0,0,16,0,0,0,128,0,0,0,160,16,0,0,13,0,0,0,14,0,0,0,15,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,47,138,66,145,68,55,113,207,251,192,181,165,219,181,233,91,194,86,57,241,17,241,89,164,130,63,146,213,94,28,171,152,170,7,216,1,91,131,18,190,133,49,36,195,125,12,85,116,93,190,114,254,177,222,128,167,6,220,155,116,241,155,193,193,105,155,228,134,71,190,239,198,157,193,15,204,161,12,36,111,44,233,45,170,132,116,74,220,169,176,92,218,136,249,118,82,81,62,152,109,198,49,168,200,39,3,176,199,127,89,191,243,11,224,198,71,145,167,213,81,99,202,6,103,41,41,20,133,10,183,39,56,33,27,46,252,109,44,77,19,13,56,83,84,115,10,101,187,10,106,118,46,201,194,129,133,44,114,146,161,232,191,162,75,102,26,168,112,139,75,194,163,81,108,199,25,232,146,209,36,6,153,214,133,53,14,244,112,160,106,16,22,193,164,25,8,108,55,30,76,119,72,39,181,188,176,52,179,12,28,57,74,170,216,78,79,202,156,91,243,111,46,104,238,130,143,116,111,99,165,120,20,120,200,132,8,2,199,140,250,255,190,144,235,108,80,164,247,163,249,190,242,120,113,198,18,0,0,0,0,0,0,0,3,0,0,0,4,184,0,0,116,50,0,0,34,184,0,0,42,184,0,0,51,184,0,0,54,184,0,0,34,184,0,0,3,0,0,0,7,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,8,0,0,0,20,0,0,0,4,0,0,0,21,0,0,0,9,0,0,0,8,184,0,0,12,184,0,0,18,184,0,0,23,184,0,0,29,184,0,0,0,0,0,0,16,0,0,0,7,0,0,0,22,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,22,0,0,0,37,0,0,0,63,0,0,0,92,0,0,0,117,0,0,0,132,0,0,0,147,0,0,0,161,0,0,0,175,0,0,0,190,0,0,0,205,0,0,0,230,0,0,0,243,0,0,0,2,1,0,0,16,1,0,0,27,1,0,0,41,1,0,0,63,1,0,0,79,1,0,0,109,1,0,0,129,1,0,0,153,1,0,0,179,1,0,0,204,1,0,0,222,1,0,0,231,1,0,0,241,1,0,0,1,2,0,0,14,2,0,0,28,2,0,0,47,2,0,0,71,2,0,0,91,2,0,0,107,2,0,0,122,2,0,0,138,2,0,0,154,2,0,0,171,2,0,0,185,2,0,0,201,2,0,0,228,2,0,0,245,2,0,0,9,3,0,0,28,3,0,0,45,3,0,0,65,3,0,0,77,3,0,0,91,3,0,0,104,3,0,0,120,3,0,0,139,3,0,0,158,3,0,0,178,3,0,0,198,3,0,0,212,3,0,0,234,3,0,0,254,3,0,0,6,4,0,0,10,4,0,0,24,4,0,0,47,4,0,0,55,4,0,0,70,4,0,0,83,4,0,0,98,4,0,0,127,4,0,0,156,4,0,0,179,4,0,0,195,4,0,0,211,4,0,0,231,4,0,0,244,4,0,0,3,5,0,0,20,5,0,0,36,5,0,0,53,5,0,0,70,5,0,0,82,5,0,0,95,5,0,0,126,5,0,0,147,5,0,0,167,5,0,0,188,5,0,0,210,5,0,0,222,5,0,0,237,5,0,0,245,5,0,0,2,6,0,0,11,6,0,0,29,6,0,0,40,6,0,0,51,6,0,0,65,6,0,0,85,6,0,0,98,6,0,0,110,6,0,0,124,6,0,0,136,6,0,0,156,6,0,0,175,6,0,0,195,6,0,0,217,6,0,0,241,6,0,0,6,7,0,0,29,7,0,0,50,7,0,0,65,7,0,0,76,7,0,0,96,7,0,0,109,7,0,0,122,7,0,0,139,7,0,0,161,7,0,0,175,7,0,0,195,7,0,0,211,7,0,0,225,7,0,0,236,7,0,0,0,8,0,0,23,8,0,0,44,8,0,0,59,8,0,0,80,8,0,0,102,8,0,0,118,8,0,0,132,8,0,0,148,8,0,0,162,8,0,0,179,8,0,0,191,8,0,0,223,8,0,0,243,8,0,0,255,8,0,0,9,9,0,0,21,9,0,0,39,9,0,0,60,9,0,0,72,9,0,0,87,9,0,0,104,9,0,0,119,9,0,0,135,9,0,0,149,9,0,0,168,9,0,0,187,9,0,0,210,9,0,0,231,9,0,0,255,9,0,0,17,10,0,0,39,10,0,0,62,10,0,0,80,10,0,0,92,10,0,0,110,10,0,0,127,10,0,0,141,10,0,0,158,10,0,0,173,10,0,0,196,10,0,0,215,10,0,0,228,10,0,0,247,10,0,0,15,11,0,0,42,11,0,0,55,11,0,0,80,11,0,0,91,11,0,0,110,11,0,0,122,11,0,0,138,11,0,0,156,11,0,0,183,11,0,0,190,11,0,0,205,11,0,0,221,11,0,0,237,11,0,0,1,12,0,0,14,12,0,0,26,12,0,0,43,12,0,0,55,12,0,0,72,12,0,0,86,12,0,0,102,12,0,0,129,12,0,0,152,12,0,0,175,12,0,0,198,12,0,0,213,12,0,0,230,12,0,0,248,12,0,0,13,13,0,0,32,13,0,0,63,13,0,0,81,13,0,0,99,13,0,0,121,13,0,0,147,13,0,0,174,13,0,0,191,13,0,0,232,13,0,0,8,14,0,0,46,14,0,0,73,14,0,0,103,14,0,0,133,14,0,0,161,14,0,0,198,14,0,0,222,14,0,0,14,15,0,0,56,15,0,0,96,15,0,0,132,15,0,0,143,15,0,0,161,15,0,0,178,15,0,0,209,15,0,0,230,15,0,0,255,15,0,0,14,16,0,0,38,16,0,0,57,16,0,0,93,16,0,0,114,16,0,0,143,16,0,0,163,16,0,0,190,16,0,0,218,16,0,0,233,16,0,0,244,16,0,0,5,17,0,0,42,17,0,0,87,17,0,0,131,17,0,0,171,17,0,0,209,17,0,0,247,17,0,0,33,18,0,0,67,18,0,0,112,18,0,0,157,18,0,0,170,18,0,0,180,18,0,0,193,18,0,0,228,18,0,0,248,18,0,0,10,19,0,0,33,19,0,0,57,19,0,0,78,19,0,0,106,19,0,0,136,19,0,0,164,19,0,0,184,19,0,0,208,19,0,0,235,19,0,0,253,19,0,0,15,20,0,0,43,20,0,0,58,20,0,0,74,20,0,0,102,20,0,0,125,20,0,0,145,20,0,0,162,20,0,0,190,20,0,0,214,20,0,0,239,20,0,0,3,21,0,0,23,21,0,0,42,21,0,0,71,21,0,0,95,21,0,0,123,21,0,0,150,21,0,0,176,21,0,0,205,21,0,0,229,21,0,0,254,21,0,0,25,22,0,0,54,22,0,0,71,22,0,0,96,22,0,0,119,22,0,0,141,22,0,0,160,22,0,0,182,22,0,0,215,22,0,0,245,22,0,0,12,23,0,0,47,23,0,0,63,23,0,0,83,23,0,0,103,23,0,0,120,23,0,0,147,23,0,0,160,23,0,0,182,23,0,0,202,23,0,0,230,23,0,0,2,24,0,0,21,24,0,0,39,24,0,0,80,24,0,0,120,24,0,0,159,24,0,0,173,24,0,0,208,24,0,0,247,24,0,0,24,25,0,0,51,25,0,0,74,25,0,0,104,25,0,0,135,25,0,0,164,25,0,0,190,25,0,0,213,25,0,0,233,25,0,0,252,25,0,0,22,26,0,0,43,26,0,0,76,26,0,0,113,26,0,0,147,26,0,0,172,26,0,0,201,26,0,0,221,26,0,0,248,26,0,0,28,27,0,0,50,27,0,0,72,27,0,0,100,27,0,0,139,27,0,0,173,27,0,0,195,27,0,0,227,27,0,0,250,27,0,0,31,28,0,0,60,28,0,0,77,28,0,0,105,28,0,0,132,28,0,0,153,28,0,0,180,28,0,0,204,28,0,0,219,28,0,0,247,28,0,0,15,29,0,0,34,29,0,0,56,29,0,0,93,29,0,0,119,29,0,0,145,29,0,0,171,29,0,0,197,29,0,0,223,29,0,0,249,29,0,0,19,30,0,0,45,30,0,0,71,30,0,0,98,30,0,0,125,30,0,0,152,30,0,0,179,30,0,0,206,30,0,0,233,30,0,0,4,31,0,0,27,31,0,0,48,31,0,0,60,31,0,0,7,0,0,0,13,0,0,0,98,0,0,0,99,0,0,0,68,0,0,0,97,0,0,0,11,0,0,0,114,0,0,0,0,0,0,0,0,0,0,0,52,0,0,0,9,0,0,0,77,0,0,0,74,0,0,0,53,0,0,0,0,0,0,0,56,0,0,0,57,0,0,0,59,0,0,0,16,0,0,0,125,0,0,0,10,0,0,0,44,0,0,0,70,0,0,0,103,0,0,0,111,0,0,0,104,0,0,0,0,0,0,0,35,0,0,0,35,0,0,0,89,0,0,0,0,0,0,0,33,0,0,0,73,0,0,0,122,0,0,0,17,0,0,0,14,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,0,113,0,0,0,43,0,0,0,0,0,0,0,84,0,0,0,115,0,0,0,4,0,0,0,22,0,0,0,5,0,0,0,106,0,0,0,21,0,0,0,120,0,0,0,51,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,79,0,0,0,80,0,0,0,83,0,0,0,82,0,0,0,81,0,0,0,48,0,0,0,40,0,0,0,124,0,0,0,24,0,0,0,31,0,0,0,90,0,0,0,72,0,0,0,36,0,0,0,119,0,0,0,0,0,0,0,100,0,0,0,102,0,0,0,101,0,0,0,23,0,0,0,55,0,0,0,105,0,0,0,50,0,0,0,61,0,0,0,19,0,0,0,2,0,0,0,8,0,0,0,37,0,0,0,67,0,0,0,123,0,0,0,12,0,0,0,42,0,0,0,64,0,0,0,65,0,0,0,92,0,0,0,28,0,0,0,63,0,0,0,60,0,0,0,38,0,0,0,15,0,0,0,107,0,0,0,20,0,0,0,39,0,0,0,118,0,0,0,88,0,0,0,95,0,0,0,25,0,0,0,76,0,0,0,6,0,0,0,95,0,0,0,75,0,0,0,1,0,0,0,96,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,0,0,0,93,0,0,0,91,0,0,0,34,0,0,0,78,0,0,0,66,0,0,0,121,0,0,0,85,0,0,0,30,0,0,0,0,0,0,0,108,0,0,0,94,0,0,0,29,0,0,0,3,0,0,0,69,0,0,0,116,0,0,0,86,0,0,0,62,0,0,0,110,0,0,0,109,0,0,0,26,0,0,0,117,0,0,0,49,0,0,0,87,0,0,0,11,0,0,0,18,0,0,0,54,0,0,0,107,128,0,0,81,128,0,0,127,128,0,0,47,128,0,0,49,128,0,0,104,128,0,0,0,128,0,0,82,128,0,0,11,128,0,0,21,128,0,0,6,128,0,0,138,128,0,0,86,128,0,0,1,128,0,0,36,128,0,0,95,128,0,0,19,128,0,0,35,128,0,0,139,128,0,0,80,128,0,0,97,128,0,0,51,128,0,0,48,128,0,0,75,128,0,0,65,128,0,0,102,128,0,0,134,128,0,0,37,128,0,0,91,128,0,0,126,128,0,0,122,128,0,0,66,128,0,0,109,128,0,0,32,128,0,0,117,128,0,0,28,128,0,0,29,128,0,0,69,128,0,0,83,128,0,0,94,128,0,0,98,128,0,0,63,128,0,0,87,128,0,0,43,128,0,0,22,128,0,0,54,128,0,0,55,128,0,0,56,128,0,0,62,128,0,0,136,128,0,0,78,128,0,0,53,128,0,0,10,128,0,0,14,128,0,0,140,128,0,0,76,128,0,0,16,128,0,0,17,128,0,0,18,128,0,0,93,128,0,0,79,128,0,0,131,128,0,0,92,128,0,0,88,128,0,0,89,128,0,0,119,128,0,0,84,128,0,0,4,128,0,0,128,128,0,0,23,128,0,0,114,128,0,0,68,128,0,0,33,128,0,0,13,128,0,0,106,128,0,0,103,128,0,0,12,128,0,0,118,128,0,0,57,128,0,0,58,128,0,0,61,128,0,0,60,128,0,0,59,128,0,0,45,128,0,0,121,128,0,0,130,128,0,0,137,128,0,0,100,128,0,0,30,128,0,0,67,128,0,0,116,128,0,0,90,128,0,0,115,128,0,0,125,128,0,0,101,128,0,0,105,128,0,0,108,128,0,0,5,128,0,0,2,128,0,0,3,128,0,0,72,128,0,0,74,128,0,0,73,128,0,0,24,128,0,0,26,128,0,0,77,128,0,0,50,128,0,0,96,128,0,0,124,128,0,0,133,128,0,0,132,128,0,0,25,128,0,0,41,128,0,0,42,128,0,0,7,128,0,0,46,128,0,0,129,128,0,0,135,128,0,0,99,128,0,0,70,128,0,0,52,128,0,0,120,128,0,0,34,128,0,0,85,128,0,0,64,128,0,0,20,128,0,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,116,61,0,0,5,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,24,0,0,0,248,42,1,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,116,61,0,0,236,61,0,0,5,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,24,0,0,0,0,47,1,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,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,32,0,0,0,9,0,0,0,10,0,0,0,13,0,0,0,11,0,0,0,12,0,0,0,133,0,0,0,0,32,0,0,1,32,0,0,2,32,0,0,3,32,0,0,4,32,0,0,5,32,0,0,6,32,0,0,8,32,0,0,9,32,0,0,10,32,0,0,40,32,0,0,41,32,0,0,95,32,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,31,0,0,0,252,63,0,0,0,0,0,0,45,244,81,88,207,140,177,192,70,246,181,203,41,49,3,199,4,91,112,48,180,93,253,32,120,127,139,154,216,89,41,80,104,72,137,171,167,86,3,108,255,183,205,136,63,212,119,180,43,165,163,112,241,186,228,168,252,65,131,253,217,111,225,138,122,47,45,116,150,7,31,13,9,94,3,118,44,112,247,64,165,44,167,111,87,65,168,170,116,223,160,88,100,3,74,199,196,60,83,174,175,95,24,4,21,177,227,109,40,134,171,12,164,191,67,240,233,80,129,57,87,22,82,55,3,0,0,0,3,0,5,0,7,0,11,0,13,0,17,0,19,0,23,0,29,0,31,0,37,0,41,0,43,0,47,0,53,0,59,0,61,0,67,0,71,0,73,0,79,0,83,0,89,0,97,0,101,0,103,0,107,0,109,0,113,0,127,0,131,0,137,0,139,0,149,0,151,0,157,0,163,0,167,0,173,0,179,0,181,0,191,0,193,0,197,0,199,0,211,0,223,0,227,0,229,0,233,0,239,0,241,0,251,0,1,1,7,1,13,1,15,1,21,1,25,1,27,1,37,1,51,1,55,1,57,1,61,1,75,1,81,1,91,1,93,1,97,1,103,1,111,1,117,1,123,1,127,1,133,1,141,1,145,1,153,1,163,1,165,1,175,1,177,1,183,1,187,1,193,1,201,1,205,1,207,1,211,1,223,1,231,1,235,1,243,1,247,1,253,1,9,2,11,2,29,2,35,2,45,2,51,2,57,2,59,2,65,2,75,2,81,2,87,2,89,2,95,2,101,2,105,2,107,2,119,2,129,2,131,2,135,2,141,2,147,2,149,2,161,2,165,2,171,2,179,2,189,2,197,2,207,2,215,2,221,2,227,2,231,2,239,2,245,2,249,2,1,3,5,3,19,3,29,3,41,3,43,3,53,3,55,3,59,3,61,3,71,3,85,3,89,3,91,3,95,3,109,3,113,3,115,3,119,3,139,3,143,3,151,3,161,3,169,3,173,3,179,3,185,3,199,3,203,3,209,3,215,3,223,3,229,3,241,3,245,3,251,3,253,3,7,4,9,4,15,4,25,4,27,4,37,4,39,4,45,4,63,4,67,4,69,4,73,4,79,4,85,4,93,4,99,4,105,4,127,4,129,4,139,4,147,4,157,4,163,4,169,4,177,4,189,4,193,4,199,4,205,4,207,4,213,4,225,4,235,4,253,4,255,4,3,5,9,5,11,5,17,5,21,5,23,5,27,5,39,5,41,5,47,5,81,5,87,5,93,5,101,5,119,5,129,5,143,5,147,5,149,5,153,5,159,5,167,5,171,5,173,5,179,5,191,5,201,5,203,5,207,5,209,5,213,5,219,5,231,5,243,5,251,5,7,6,13,6,17,6,23,6,31,6,35,6,43,6,47,6,61,6,65,6,71,6,73,6,77,6,83,6,85,6,91,6,101,6,121,6,127,6,131,6,133,6,157,6,161,6,163,6,173,6,185,6,187,6,197,6,205,6,211,6,217,6,223,6,241,6,247,6,251,6,253,6,9,7,19,7,31,7,39,7,55,7,69,7,75,7,79,7,81,7,85,7,87,7,97,7,109,7,115,7,121,7,139,7,141,7,157,7,159,7,181,7,187,7,195,7,201,7,205,7,207,7,211,7,219,7,225,7,235,7,237,7,247,7,5,8,15,8,21,8,33,8,35,8,39,8,41,8,51,8,63,8,65,8,81,8,83,8,89,8,93,8,95,8,105,8,113,8,131,8,155,8,159,8,165,8,173,8,189,8,191,8,195,8,203,8,219,8,221,8,225,8,233,8,239,8,245,8,249,8,5,9,7,9,29,9,35,9,37,9,43,9,47,9,53,9,67,9,73,9,77,9,79,9,85,9,89,9,95,9,107,9,113,9,119,9,133,9,137,9,143,9,155,9,163,9,169,9,173,9,199,9,217,9,227,9,235,9,239,9,245,9,247,9,253,9,19,10,31,10,33,10,49,10,57,10,61,10,73,10,87,10,97,10,99,10,103,10,111,10,117,10,123,10,127,10,129,10,133,10,139,10,147,10,151,10,153,10,159,10,169,10,171,10,181,10,189,10,193,10,207,10,217,10,229,10,231,10,237,10,241,10,243,10,3,11,17,11,21,11,27,11,35,11,41,11,45,11,63,11,71,11,81,11,87,11,93,11,101,11,111,11,123,11,137,11,141,11,147,11,153,11,155,11,183,11,185,11,195,11,203,11,207,11,221,11,225,11,233,11,245,11,251,11,7,12,11,12,17,12,37,12,47,12,49,12,65,12,91,12,95,12,97,12,109,12,115,12,119,12,131,12,137,12,145,12,149,12,157,12,179,12,181,12,185,12,187,12,199,12,227,12,229,12,235,12,241,12,247,12,251,12,1,13,3,13,15,13,19,13,31,13,33,13,43,13,45,13,61,13,63,13,79,13,85,13,105,13,121,13,129,13,133,13,135,13,139,13,141,13,163,13,171,13,183,13,189,13,199,13,201,13,205,13,211,13,213,13,219,13,229,13,231,13,243,13,253,13,255,13,9,14,23,14,29,14,33,14,39,14,47,14,53,14,59,14,75,14,87,14,89,14,93,14,107,14,113,14,117,14,125,14,135,14,143,14,149,14,155,14,177,14,183,14,185,14,195,14,209,14,213,14,219,14,237,14,239,14,249,14,7,15,11,15,13,15,23,15,37,15,41,15,49,15,67,15,71,15,77,15,79,15,83,15,89,15,91,15,103,15,107,15,127,15,149,15,161,15,163,15,167,15,173,15,179,15,181,15,187,15,209,15,211,15,217,15,233,15,239,15,251,15,253,15,3,16,15,16,31,16,33,16,37,16,43,16,57,16,61,16,63,16,81,16,105,16,115,16,121,16,123,16,133,16,135,16,145,16,147,16,157,16,163,16,165,16,175,16,177,16,187,16,193,16,201,16,231,16,241,16,243,16,253,16,5,17,11,17,21,17,39,17,45,17,57,17,69,17,71,17,89,17,95,17,99,17,105,17,111,17,129,17,131,17,141,17,155,17,161,17,165,17,167,17,171,17,195,17,197,17,209,17,215,17,231,17,239,17,245,17,251,17,13,18,29,18,31,18,35,18,41,18,43,18,49,18,55,18,65,18,71,18,83,18,95,18,113,18,115,18,121,18,125,18,143,18,151,18,175,18,179,18,181,18,185,18,191,18,193,18,205,18,209,18,223,18,253,18,7,19,13,19,25,19,39,19,45,19,55,19,67,19,69,19,73,19,79,19,87,19,93,19,103,19,105,19,109,19,123,19,129,19,135,19,0,0,0,0,194,1,132,3,70,2,8,7,202,6,140,4,78,5,16,14,210,15,148,13,86,12,24,9,218,8,156,10,94,11,32,28,226,29,164,31,102,30,40,27,234,26,172,24,110,25,48,18,242,19,180,17,118,16,56,21,250,20,188,22,126,23,64,56,130,57,196,59,6,58,72,63,138,62,204,60,14,61,80,54,146,55,212,53,22,52,88,49,154,48,220,50,30,51,96,36,162,37,228,39,38,38,104,35,170,34,236,32,46,33,112,42,178,43,244,41,54,40,120,45,186,44,252,46,62,47,128,112,66,113,4,115,198,114,136,119,74,118,12,116,206,117,144,126,82,127,20,125,214,124,152,121,90,120,28,122,222,123,160,108,98,109,36,111,230,110,168,107,106,106,44,104,238,105,176,98,114,99,52,97,246,96,184,101,122,100,60,102,254,103,192,72,2,73,68,75,134,74,200,79,10,78,76,76,142,77,208,70,18,71,84,69,150,68,216,65,26,64,92,66,158,67,224,84,34,85,100,87,166,86,232,83,42,82,108,80,174,81,240,90,50,91,116,89,182,88,248,93,58,92,124,94,190,95,0,225,194,224,132,226,70,227,8,230,202,231,140,229,78,228,16,239,210,238,148,236,86,237,24,232,218,233,156,235,94,234,32,253,226,252,164,254,102,255,40,250,234,251,172,249,110,248,48,243,242,242,180,240,118,241,56,244,250,245,188,247,126,246,64,217,130,216,196,218,6,219,72,222,138,223,204,221,14,220,80,215,146,214,212,212,22,213,88,208,154,209,220,211,30,210,96,197,162,196,228,198,38,199,104,194,170,195,236,193,46,192,112,203,178,202,244,200,54,201,120,204,186,205,252,207,62,206,128,145,66,144,4,146,198,147,136,150,74,151,12,149,206,148,144,159,82,158,20,156,214,157,152,152,90,153,28,155,222,154,160,141,98,140,36,142,230,143,168,138,106,139,44,137,238,136,176,131,114,130,52,128,246,129,184,132,122,133,60,135,254,134,192,169,2,168,68,170,134,171,200,174,10,175,76,173,142,172,208,167,18,166,84,164,150,165,216,160,26,161,92,163,158,162,224,181,34,180,100,182,166,183,232,178,42,179,108,177,174,176,240,187,50,186,116,184,182,185,248,188,58,189,124,191,190,190,73,0,49,1,83,0,127,1,48,1,105,0,120,1,255,0,129,1,83,2,130,1,131,1,132,1,133,1,134,1,84,2,135,1,136,1,137,1,86,2,138,1,87,2,139,1,140,1,142,1,221,1,143,1,89,2,144,1,91,2,145,1,146,1,147,1,96,2,148,1,99,2,150,1,105,2,151,1,104,2,152,1,153,1,156,1,111,2,157,1,114,2,159,1,117,2,166,1,128,2,167,1,168,1,169,1,131,2,172,1,173,1,174,1,136,2,175,1,176,1,177,1,138,2,178,1,139,2,183,1,146,2,184,1,185,1,188,1,189,1,196,1,198,1,196,1,197,1,197,1,198,1,199,1,201,1,199,1,200,1,200,1,201,1,202,1,204,1,202,1,203,1,203,1,204,1,241,1,243,1,241,1,242,1,242,1,243,1,244,1,245,1,246,1,149,1,247,1,191,1,32,2,158,1,134,3,172,3,136,3,173,3,137,3,174,3,138,3,175,3,140,3,204,3,142,3,205,3,143,3,206,3,153,3,69,3,153,3,190,31,163,3,194,3,247,3,248,3,250,3,251,3,96,30,155,30,223,0,223,0,158,30,223,0,89,31,81,31,91,31,83,31,93,31,85,31,95,31,87,31,188,31,179,31,204,31,195,31,236,31,229,31,252,31,243,31,58,2,101,44,59,2,60,2,61,2,154,1,62,2,102,44,65,2,66,2,67,2,128,1,68,2,137,2,69,2,140,2,244,3,184,3,249,3,242,3,253,3,123,3,254,3,124,3,255,3,125,3,192,4,207,4,38,33,201,3,42,33,107,0,43,33,229,0,50,33,78,33,131,33,132,33,96,44,97,44,98,44,107,2,99,44,125,29,100,44,125,2,109,44,81,2,110,44,113,2,111,44,80,2,112,44,82,2,114,44,115,44,117,44,118,44,126,44,63,2,127,44,64,2,242,44,243,44,125,167,121,29,139,167,140,167,141,167,101,2,170,167,102,2,199,16,39,45,205,16,45,45,118,3,119,3,156,3,181,0,146,3,208,3,152,3,209,3,166,3,213,3,160,3,214,3,154,3,240,3,161,3,241,3,149,3,245,3,207,3,215,3,0,0,0,0,65,0,32,26,192,0,32,31,0,1,1,47,50,1,1,5,57,1,1,15,74,1,1,45,121,1,1,5,112,3,1,3,145,3,32,17,163,3,32,9,0,4,80,16,16,4,32,32,96,4,1,33,138,4,1,53,193,4,1,13,208,4,1,63,20,5,1,19,49,5,48,38,160,1,1,5,179,1,1,3,205,1,1,15,222,1,1,17,248,1,1,39,34,2,1,17,216,3,1,23,0,30,1,149,160,30,1,95,8,31,248,8,24,31,248,6,40,31,248,8,56,31,248,8,72,31,248,6,104,31,248,8,136,31,248,8,152,31,248,8,168,31,248,8,184,31,248,2,186,31,182,2,200,31,170,4,216,31,248,2,218,31,156,2,232,31,248,2,234,31,144,2,248,31,128,2,250,31,130,2,70,2,1,9,16,5,1,3,96,33,16,16,0,44,48,47,103,44,1,5,128,44,1,99,235,44,1,3,64,166,1,45,128,166,1,23,34,167,1,13,50,167,1,61,121,167,1,3,126,167,1,9,144,167,1,3,160,167,1,9,33,255,32,26,0,0,0,0,119,114,97,112,46,99,0,97,109,111,117,110,116,32,115,116,111,114,101,100,32,97,116,32,37,112,44,32,105,115,32,37,115,32,37,108,108,117,46,37,108,117,10,0,109,105,110,116,95,119,105,116,104,100,114,97,119,97,108,0,109,101,114,99,104,95,99,111,110,116,114,97,99,116,0,109,97,115,116,101,114,95,100,101,110,111,109,105,110,97,116,105,111,110,95,107,101,121,95,118,97,108,105,100,105,116,121,0,109,105,110,116,95,116,101,115,116,95,101,100,100,115,97,0,72,101,108,108,111,44,32,119,111,114,108,100,32,40,98,121,32,84,97,108,101,114,32,101,109,115,99,114,105,112,116,101,100,32,99,111,100,101,41,0,99,111,109,109,111,110,95,97,108,108,111,99,97,116,105,111,110,46,99,0,71,78,85,78,69,84,95,120,109,97,108,108,111,99,95,0,109,97,108,108,111,99,0,71,78,85,78,69,84,95,120,102,114,101,101,95,0,71,78,85,78,69,84,95,120,115,116,114,100,117,112,95,0,71,78,85,78,69,84,95,115,110,112,114,105,110,116,102,0,68,69,66,85,71,0,73,78,70,79,0,87,65,82,78,73,78,71,0,69,82,82,79,82,0,78,79,78,69,0,99,111,109,109,111,110,95,108,111,103,103,105,110,103,46,99,0,37,115,45,37,100,0,37,115,37,100,37,115,0,97,98,0,115,101,116,117,112,95,108,111,103,95,102,105,108,101,0,71,78,85,78,69,84,95,108,111,103,95,115,107,105,112,0,109,121,108,111,103,0,108,111,99,97,108,116,105,109,101,32,101,114,114,111,114,0,37,98,32,37,100,32,37,72,58,37,77,58,37,83,45,37,37,48,54,117,0,77,101,115,115,97,103,101,32,96,37,46,42,115,39,32,114,101,112,101,97,116,101,100,32,37,117,32,116,105,109,101,115,32,105,110,32,116,104,101,32,108,97,115,116,32,37,115,10,0,73,78,86,65,76,73,68,0,37,115,32,37,115,32,37,115,32,37,115,0,96,37,115,39,32,102,97,105,108,101,100,32,111,110,32,102,105,108,101,32,96,37,115,39,32,97,116,32,37,115,58,37,100,32,119,105,116,104,32,101,114,114,111,114,58,32,37,115,10,0,99,114,121,112,116,111,95,115,121,109,109,101,116,114,105,99,46,99,0,115,101,116,117,112,95,99,105,112,104,101,114,95,97,101,115,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,115,121,109,109,101,116,114,105,99,95,101,110,99,114,121,112,116,0,115,101,116,117,112,95,99,105,112,104,101,114,95,116,119,111,102,105,115,104,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,115,121,109,109,101,116,114,105,99,95,100,101,99,114,121,112,116,0,40,112,114,105,118,97,116,101,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,100,32,37,98,41,41,41,0,99,114,121,112,116,111,95,101,99,99,46,99,0,103,99,114,121,95,115,101,120,112,95,98,117,105,108,100,0,113,64,101,100,100,115,97,0,40,112,114,105,118,97,116,101,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,102,108,97,103,115,32,101,100,100,115,97,41,40,100,32,37,98,41,41,41,0,100,101,99,111,100,101,95,112,114,105,118,97,116,101,95,101,100,100,115,97,95,107,101,121,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,107,101,121,95,103,101,116,95,112,117,98,108,105,99,0,100,101,99,111,100,101,95,112,114,105,118,97,116,101,95,101,99,100,104,101,95,107,101,121,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,100,104,101,95,107,101,121,95,103,101,116,95,112,117,98,108,105,99,0,40,103,101,110,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,102,108,97,103,115,32,101,100,100,115,97,32,110,111,45,107,101,121,116,101,115,116,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,100,104,101,95,107,101,121,95,99,114,101,97,116,101,0,103,99,114,121,95,112,107,95,103,101,110,107,101,121,0,107,101,121,95,102,114,111,109,95,115,101,120,112,0,40,103,101,110,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,102,108,97,103,115,32,101,100,100,115,97,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,107,101,121,95,99,114,101,97,116,101,0,40,100,97,116,97,40,102,108,97,103,115,32,101,100,100,115,97,41,40,104,97,115,104,45,97,108,103,111,32,37,115,41,40,118,97,108,117,101,32,37,98,41,41,0,100,97,116,97,95,116,111,95,101,100,100,115,97,95,118,97,108,117,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,115,105,103,110,0,69,100,68,83,65,32,115,105,103,110,105,110,103,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,58,32,37,115,10,0,40,112,117,98,108,105,99,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,69,100,50,53,53,49,57,41,40,113,32,37,98,41,41,41,0,40,115,105,103,45,118,97,108,40,101,100,100,115,97,40,114,32,37,98,41,40,115,32,37,98,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,118,101,114,105,102,121,0,40,112,117,98,108,105,99,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,69,100,50,53,53,49,57,41,40,102,108,97,103,115,32,101,100,100,115,97,41,40,113,32,37,98,41,41,41,0,69,100,68,83,65,32,115,105,103,110,97,116,117,114,101,32,118,101,114,105,102,105,99,97,116,105,111,110,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,58],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([32,37,115,10,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,99,95,101,99,100,104,0,103,101,116,95,97,102,102,105,110,101,32,102,97,105,108,101,100,0,99,114,121,112,116,111,95,104,97,115,104,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,104,97,115,104,95,99,111,110,116,101,120,116,95,115,116,97,114,116,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,104,97,115,104,95,99,111,110,116,101,120,116,95,102,105,110,105,115,104,0,99,114,121,112,116,111,95,109,112,105,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,109,112,105,95,112,114,105,110,116,95,117,110,115,105,103,110,101,100,0,96,37,115,39,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,32,119,105,116,104,32,101,114,114,111,114,58,32,37,115,10,0,103,99,114,121,95,109,112,105,95,112,114,105,110,116,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,109,112,105,95,115,99,97,110,95,117,110,115,105,103,110,101,100,0,103,99,114,121,95,109,112,105,95,115,99,97,110,0,49,46,54,46,48,0,108,105,98,103,99,114,121,112,116,32,104,97,115,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,118,101,114,115,105,111,110,32,40,118,101,114,115,105,111,110,32,37,115,32,105,115,32,114,101,113,117,105,114,101,100,41,46,10,0,99,114,121,112,116,111,95,114,97,110,100,111,109,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,97,110,100,111,109,95,105,110,105,116,0,70,97,105,108,101,100,32,116,111,32,115,101,116,32,108,105,98,103,99,114,121,112,116,32,111,112,116,105,111,110,32,37,115,58,32,37,115,10,0,68,73,83,65,66,76,69,95,83,69,67,77,69,77,0,69,78,65,66,76,69,95,81,85,73,67,75,95,82,65,78,68,79,77,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,97,110,100,111,109,95,117,51,50,0,40,103,101,110,107,101,121,40,114,115,97,40,110,98,105,116,115,32,37,100,41,41,41,0,99,114,121,112,116,111,95,114,115,97,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,99,114,101,97,116,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,101,110,99,111,100,101,0,117,116,105,108,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,100,101,99,111,100,101,0,68,101,99,111,100,101,100,32,112,114,105,118,97,116,101,32,107,101,121,32,105,115,32,110,111,116,32,118,97,108,105,100,10,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,103,101,116,95,112,117,98,108,105,99,0,69,120,116,101,114,110,97,108,32,112,114,111,116,111,99,111,108,32,118,105,111,108,97,116,105,111,110,32,100,101,116,101,99,116,101,100,32,97,116,32,37,115,58,37,100,46,10,0,40,112,117,98,108,105,99,45,107,101,121,40,114,115,97,40,110,32,37,109,41,40,101,32,37,109,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,117,98,108,105,99,95,107,101,121,95,101,110,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,117,98,108,105,99,95,107,101,121,95,100,101,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,115,105,103,110,97,116,117,114,101,95,101,110,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,98,108,105,110,100,105,110,103,95,107,101,121,95,101,110,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,98,108,105,110,100,105,110,103,95,107,101,121,95,100,101,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,98,108,105,110,100,0,100,97,116,97,95,116,111,95,115,101,120,112,0,40,100,97,116,97,32,40,102,108,97,103,115,32,114,97,119,41,32,40,118,97,108,117,101,32,37,77,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,115,105,103,110,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,115,105,103,110,97,116,117,114,101,95,100,101,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,117,110,98,108,105,110,100,0,40,115,105,103,45,118,97,108,32,40,114,115,97,32,40,115,32,37,77,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,118,101,114,105,102,121,0,82,83,65,32,115,105,103,110,97,116,117,114,101,32,118,101,114,105,102,105,99,97,116,105,111,110,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,58,32,37,115,10,0,115,116,114,105,110,103,115,46,99,0,37,108,108,117,32,37,115,0,102,111,114,101,118,101,114,0,109,115,0,109,0,100,97,121,0,100,97,121,115,0,101,110,100,32,111,102,32,116,105,109,101,0,37,97,32,37,98,32,37,100,32,37,72,58,37,77,58,37,83,32,37,89,0,194,181,115,0,48,32,109,115,0,71,78,85,78,69,84,95,83,84,82,73,78,71,83,95,100,97,116,97,95,116,111,95,115,116,114,105,110,103,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,71,72,74,75,77,78,80,81,82,83,84,86,87,88,89,90,0,71,78,85,78,69,84,95,83,84,82,73,78,71,83,95,115,116,114,105,110,103,95,116,111,95,100,97,116,97,0,118,105,115,105,98,105,108,105,116,121,46,99,0,103,99,114,121,95,109,100,95,104,97,115,104,95,98,117,102,102,101,114,0,99,97,108,108,101,100,32,105,110,32,110,111,110,45,111,112,101,114,97,116,105,111,110,97,108,32,115,116,97,116,101,0,103,99,114,121,95,109,100,95,103,101,116,95,97,108,103,111,0,117,115,101,100,32,105,110,32,110,111,110,45,111,112,101,114,97,116,105,111,110,97,108,32,115,116,97,116,101,0,103,99,114,121,95,114,97,110,100,111,109,105,122,101,0,103,99,114,121,95,99,114,101,97,116,101,95,110,111,110,99,101,0,109,105,115,99,46,99,0,95,103,99,114,121,95,102,97,116,97,108,95,101,114,114,111,114,0,10,70,97,116,97,108,32,101,114,114,111,114,58,32,0,70,97,116,97,108,58,32,0,79,104,104,104,104,32,106,101,101,101,101,58,32,0,68,66,71,58,32,0,91,85,110,107,110,111,119,110,32,108,111,103,32,108,101,118,101,108,32,37,100,93,58,32,0,95,103,99,114,121,95,108,111,103,118,0,105,110,116,101,114,110,97,108,32,101,114,114,111,114,32,40,102,97,116,97,108,32,111,114,32,98,117,103,41,0,46,46,46,32,116,104,105,115,32,105,115,32,97,32,98,117,103,32,40,37,115,58,37,100,58,37,115,41,10,0,65,115,115,101,114,116,105,111,110,32,96,37,115,39,32,102,97,105,108,101,100,32,40,37,115,58,37,100,58,37,115,41,10,0,32,0,37,115,58,37,115,0,37,42,115,32,32,0,37,48,50,120,0,32,92,10,0,37,42,115,32,37,42,115,0,32,40,110,117,108,108,41,0,32,91,37,117,32,98,105,116,93,0,32,91,111,117,116,32,111,102,32,99,111,114,101,93,0,45,0,43,0,100,105,118,105,100,101,32,98,121,32,122,101,114,111,0,103,108,111,98,97,108,46,99,0,103,108,111,98,97,108,95,105,110,105,116,0,49,46,55,46,48,45,98,101,116,97,50,51,48,0,118,101,114,115,105,111,110,58,37,115,58,10,0,99,105,112,104,101,114,115,58,37,115,58,10,0,97,101,115,58,116,119,111,102,105,115,104,0,112,117,98,107,101,121,115,58,37,115,58,10,0,114,115,97,58,101,99,99,0,100,105,103,101,115,116,115,58,37,115,58,10,0,115,104,97,50,53,54,58,115,104,97,53,49,50,0,114,110,100,45,109,111,100,58,108,105,110,117,120,58,10,0,99,112,117,45,97,114,99,104,58,58,10,0,109,112,105,45,97,115,109,58,37,115,58,10,0,104,119,102,108,105,115,116,58,0,37,115,58,0,10,0,102,105,112,115,45,109,111,100,101,58,37,99,58,37,99,58,10,0,115,116,97,110,100,97,114,100,0,102,105,112,115,0,115,121,115,116,101,109,0,112,114,105,110,116,95,99,111,110,102,105,103,0,114,110,103,45,116,121,112,101,58,37,115,58,37,100,58,10,0,111,117,116,32,111,102,32,99,111,114,101,32,105,110,32,115,101,99,117,114,101,32,109,101,109,111,114,121,0,92,120,37,48,50,120,0,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,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,48,49,50,51,52,53,54,55,56,57,45,46,47,95,58,42,43,61,0,115,101,120,112,46,99,0,100,111,95,118,115,101,120,112,95,115,115,99,97,110,0,37,100,0,37,117,0,38,92,0,95,103,99,114,121,95,115,101,120,112,95,102,105,110,100,95,116,111,107,101,110,0,95,103,99,114,121,95,115,101,120,112,95,110,116,104,0,3,4,0,8,9,11,10,12,13,34,39,92,0,45,46,47,95,58,42,43,61,0,37,48,50,88,0,37,117,58,0,95,103,99,114,121,95,115,101,120,112,95,115,112,114,105,110,116,0,112,97,100,108,111,99,107,45,114,110,103,0,112,97,100,108,111,99,107,45,97,101,115,0,112,97,100,108,111,99,107,45,115,104,97,0,112,97,100,108,111,99,107,45,109,109,117,108,0,105,110,116,101,108,45,99,112,117,0,105,110,116,101,108,45,98,109,105,50,0,105,110,116,101,108,45,115,115,115,101,51,0,105,110,116,101,108,45,112,99,108,109,117,108,0,105,110,116,101,108,45,97,101,115,110,105,0,105,110,116,101,108,45,114,100,114,97,110,100,0,105,110,116,101,108,45,97,118,120,0,105,110,116,101,108,45,97,118,120,50,0,97,114,109,45,110,101,111,110,0,47,101,116,99,47,103,99,114,121,112,116,47,104,119,102,46,100,101,110,121,0,109,101,109,111,114,121,32,97,116,32,37,112,32,99,111,114,114,117,112,116,101,100,32,40,117,110,100,101,114,102,108,111,119,61,37,48,50,120,41,10,0,109,101,109,111,114,121,32,97,116,32,37,112,32,99,111,114,114,117,112,116,101,100,32,40,111,118,101,114,102,108,111,119,61,37,48,50,120,41,10,0,87,97,114,110,105,110,103,58,32,117,115,105,110,103,32,105,110,115,101,99,117,114,101,32,109,101,109,111,114,121,33,10,0,102,97,105,108,101,100,32,116,111,32,100,114,111,112,32,115,101,116,117,105,100,10,0,115,101,99,117,114,101,32,109,101,109,111,114,121,32,105,115,32,100,105,115,97,98,108,101,100,0,99,97,110,39,116,32,109,109,97,112,32,112,111,111,108,32,111,102,32,37,117,32,98,121,116,101,115,58,32,37,115,32,45,32,117,115,105,110,103,32,109,97,108,108,111,99,10,0,99,97,110,39,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,112,111,111,108,32,111,102,32,37,117,32,98,121,116,101,115,10,0,80,108,101,97,115,101,32,110,111,116,101,32,116,104,97,116,32,121,111,117,32,100,111,110,39,116,32,104,97,118,101,32,115,101,99,117,114,101,32,109,101,109,111,114,121,32,111,110,32,116,104,105,115,32,115,121,115,116,101,109,10,0,79,111,112,115,44,32,115,101,99,117,114,101,32,109,101,109,111,114,121,32,112,111,111,108,32,97,108,114,101,97,100,121,32,105,110,105,116,105,97,108,105,122,101,100,10,0,111,112,101,114,97,116,105,111,110,32,105,115,32,110,111,116,32,112,111,115,115,105,98,108,101,32,119,105,116,104,111,117,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,101,99,117,114,101,32,109,101,109,111,114,121,10,0,115,101,99,117,114,101,32,109,101,109,111,114,121,32,112,111,111,108,32,105,115,32,110,111,116,32,108,111,99,107,101,100,32,119,104,105,108,101,32,105,110,32,70,73,80,83,32,109,111,100,101,10,0,115,101,99,109,101,109,32,117,115,97,103,101,58,32,37,117,47,37,108,117,32,98,121,116,101,115,32,105,110,32,37,117,32,98,108,111,99,107,115,10,0,70,65,84,65,76,58,32,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,70,83,77,32,108,111,99,107,32,105,110,32,108,105,98,103,114,121,112,116,58,32,37,115,10,0,70,65,84,65,76,58,32,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,70,83,77,32,108,111,99,107,32,105,110,32,108,105,98,103,114,121,112,116,58,32,37,115,10,0,80,111,119,101,114,45,79,110,0,73,110,105,116,0,83,101,108,102,45,84,101,115,116,0,79,112,101,114,97,116,105,111,110,97,108,0,69,114,114,111,114,0,70,97,116,97,108,45,69,114,114,111,114,0,83,104,117,116,100,111,119,110,0,103,114,97,110,116,101,100,0,100,101,110,105,101,100,0,108,105,98,103,99,114,121,112,116,32,115,116,97,116,101,32,116,114,97,110,115,105,116,105,111,110,32,37,115,32,61,62,32,37,115,32,37,115,10,0,33,100,111,110,101,0,102,105,112,115,46,99,0,95,103,99,114,121,95,105,110,105,116,105,97,108,105,122,101,95,102,105,112,115,95,109,111,100,101,0,33,110,111,95,102,105,112,115,95,109,111,100,101,95,114,101,113,117,105,114,101,100,0,47,101,116,99,47,103,99,114,121,112,116,47,102,105,112,115,95,101,110,97,98,108,101,100,0,47,112,114,111,99,47,115,121,115,47,99,114,121,112,116,111,47,102,105,112,115,95,101,110,97,98,108,101,100,0,114,0,47,112,114,111,99,47,118,101,114,115,105,111,110,0,70,65,84,65,76,58,32,101,114,114,111,114,32,114,101,97,100,105,110,103,32,96,37,115,39,32,105,110,32,108,105,98,103,99,114,121,112,116,58,32,37,115,10,0,70,65,84,65,76,58,32,102,97,105,108,101,100,32,116,111,32,99,114,101,97,116,101,32,116,104,101,32,70,83,77,32,108,111,99,107,32,105,110,32,108,105,98,103,99,114,121,112,116,58,32,37,115,10,0,95,103,99,114,121,95,102,105,112,115,95,109,111,100,101,32,40,41,0,95,103,99,114,121,95,105,110,97,99,116,105,118,97,116,101,95,102,105,112,115,95,109,111,100,101,0,102,97,116,97,108,32,0,44,32,102,117,110,99,116,105,111,110,32,0,110,111,32,100,101,115,99,114,105,112,116,105,111,110,32,97,118,97,105,108,97,98,108,101,0,37,115,101,114,114,111,114,32,105,110,32,108,105,98,103,99,114,121,112,116,44,32,102,105,108,101,32,37,115,44,32,108,105,110,101,32,37,100,37,115,37,115,58,32,37,115,10,0,72,77,65,67,45,0,79,107,97,121,0,32,40,0,108,105,98,103,99,114,121,112,116,32,115,101,108,102,116,101,115,116,58,32,37,115,32,37,115,37,115,32,40,37,100,41,58,32,37,115,37,115,37,115,37,115,10,0,98,97,100,32,99,111,110,116,101,120,116,32,116,121,112,101,32,37,100,32,103,105,118,101,110,32,116,111,32,95,103,99,114,121,95,99,116,120,95,97,108,108,111,99,10,0,99,84,120,0,98,97,100,32,112,111,105,110,116,101,114,32,37,112,32,112,97,115,115,101,100,32,116,111,32,95,103,99,114,121,95,99,116,120,95,103,101,116,95,112,111,105,110,116,101,114,10,0,119,114,111,110,103,32,99,111,110,116,101,120,116,32,116,121,112,101,32,37,100,32,114,101,113,117,101,115,116,32,102,111,114,32,99,111,110,116,101,120,116,32,37,112,32,111,102,32,116,121,112,101,32,37,100,10,0,98,97,100,32,112,111,105,110,116,101,114,32,37,112,32,112,97,115,115,101,100,32,116,111,32,103,99,114,121,95,99,116,120,95,114,101,108,97,115,101,10,0,98,97,100,32,99,111,110,116,101,120,116,32,116,121,112,101,32,37,100,32,100,101,116,101,99,116,101,100,32,105,110,32,103,99,114,121,95,99,116,120,95,114,101,108,97,115,101,10,0,103,99,114,121,95,99,105,112,104,101,114,95,99,108,111,115,101,58,32,97,108,114,101,97,100,121,32,99,108,111,115,101,100,47,105,110,118,97,108,105,100,32,104,97,110,100,108,101,0,99,105,112,104,101,114,46,99,0,99,105,112,104,101,114,95,101,110,99,114,121,112,116,0,99,105,112,104,101,114,32,109,111,100,101,32,78,79,78,69,32,117,115,101,100,0,99,105,112,104,101,114,95,101,110,99,114,121,112,116,58,32,105,110,118,97,108,105,100,32,109,111,100,101,32,37,100,10,0,99,105,112,104,101,114,95,100,101,99,114,121,112,116,0,99,105,112,104,101,114,95,100,101,99,114,121,112,116,58,32,105,110,118,97,108,105,100,32,109,111,100,101,32,37,100,10,0,87,65,82,78,73,78,71,58,32,99,105,112,104,101,114,95,115,101,116,105,118,58,32,105,118,108,101,110,61,37,117,32,98,108,107,108,101,110,61,37,117,10,0,99,105,112,104,101,114,95,115,101,116,105,118,0,73,86,32,108,101,110,103,116,104,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,98,108,111,99,107,108,101,110,103,116,104,0,48,120,55,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,69,68,0,45,48,120,48,49,0,45,48,120,50,68,70,67,57,51,49,49,68,52,57,48,48,49,56,67,55,51,51,56,66,70,56,54,56,56,56,54,49,55,54,55,70,70,56,70,70,53,66,50,66,69,66,69,50,55,53,52,56,65,49,52,66,50,51,53,69,67,65,54,56,55,52,65,0,48,120,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,52,68,69,70,57,68,69,65,50,70,55,57,67,68,54,53,56,49,50,54,51,49,65,53,67,70,53,68,51,69,68,0,48,120,50,49,54,57,51,54,68,51,67,68,54,69,53,51,70,69,67,48,65,52,69,50,51,49,70,68,68,54,68,67,53,67,54,57,50,67,67,55,54,48,57,53,50,53,65,55,66,50,67,57,53,54,50,68,54,48,56,70,50,53,68,53,49,65,0,48,120,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,53,56,0,48,120,48,56,0,78,73,83,84,32,80,45,49,57,50,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,0,48,120,54,52,50,49,48,53,49,57,101,53,57,99,56,48,101,55,48,102,97,55,101,57,97,98,55,50,50,52,51,48,52,57,102,101,98,56,100,101,101,99,99,49,52,54,98,57,98,49,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,57,57,100,101,102,56,51,54,49,52,54,98,99,57,98,49,98,52,100,50,50,56,51,49,0,48,120,49,56,56,100,97,56,48,101,98,48,51,48,57,48,102,54,55,99,98,102,50,48,101,98,52,51,97,49,56,56,48,48,102,52,102,102,48,97,102,100,56,50,102,102,49,48,49,50,0,48,120,48,55,49,57,50,98,57,53,102,102,99,56,100,97,55,56,54,51,49,48,49,49,101,100,54,98,50,52,99,100,100,53,55,51,102,57,55,55,97,49,49,101,55,57,52,56,49,49,0,48,120,48,49,0,78,73,83,84,32,80,45,50,50,52,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,0,48,120,98,52,48,53,48,97,56,53,48,99,48,52,98,51,97,98,102,53,52,49,51,50,53,54,53,48,52,52,98,48,98,55,100,55,98,102,100,56,98,97,50,55,48,98,51,57,52,51,50,51,53,53,102,102,98,52,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,49,54,97,50,101,48,98,56,102,48,51,101,49,51,100,100,50,57,52,53,53,99,53,99,50,97,51,100,0,48,120,98,55,48,101,48,99,98,100,54,98,98,52,98,102,55,102,51,50,49,51,57,48,98,57,52,97,48,51,99,49,100,51,53,54,99,50,49,49,50,50,51,52,51,50,56,48,100,54,49,49,53,99,49,100,50,49,0,48,120,98,100,51,55,54,51,56,56,98,53,102,55,50,51,102,98,52,99,50,50,100,102,101,54,99,100,52,51,55,53,97,48,53,97,48,55,52,55,54,52,52,52,100,53,56,49,57,57,56,53,48,48,55,101,51,52,0,78,73,83,84,32,80,45,50,53,54,0,48,120,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,48,120,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,0,48,120,53,97,99,54,51,53,100,56,97,97,51,97,57,51,101,55,98,51,101,98,98,100,53,53,55,54,57,56,56,54,98,99,54,53,49,100,48,54,98,48,99,99,53,51,98,48,102,54,51,98,99,101,51,99,51,101,50,55,100,50,54,48,52,98,0,48,120,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,98,99,101,54,102,97,97,100,97,55,49,55,57,101,56,52,102,51,98,57,99,97,99,50,102,99,54,51,50,53,53,49,0,48,120,54,98,49,55,100,49,102,50,101,49,50,99,52,50,52,55,102,56,98,99,101,54,101,53,54,51,97,52,52,48,102,50,55,55,48,51,55,100,56,49,50,100,101,98,51,51,97,48,102,52,97,49,51,57,52,53,100,56,57,56,99,50,57,54,0,48,120,52,102,101,51,52,50,101,50,102,101,49,97,55,102,57,98,56,101,101,55,101,98,52,97,55,99,48,102,57,101,49,54,50,98,99,101,51,51,53,55,54,98,51,49,53,101,99,101,99,98,98,54,52,48,54,56,51,55,98,102,53,49,102,53,0,78,73,83,84,32,80,45,51,56,52,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,99,0,48,120,98,51,51,49,50,102,97,55,101,50,51,101,101,55,101,52,57,56,56,101,48,53,54,98,101,51,102,56,50,100,49,57,49,56,49,100,57,99,54,101,102,101,56,49,52,49,49,50,48,51,49,52,48,56,56,102,53,48,49,51,56,55,53,97,99,54,53,54,51,57,56,100,56,97,50,101,100,49,57,100,50,97,56,53,99,56,101,100,100,51,101,99,50,97,101,102,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,55,54,51,52,100,56,49,102,52,51,55,50,100,100,102,53,56,49,97,48,100,98,50,52,56,98,48,97,55,55,97,101,99,101,99,49,57,54,97,99,99,99,53,50,57,55,51,0,48,120,97,97,56,55,99,97,50,50,98,101,56,98,48,53,51,55,56,101,98,49,99,55,49,101,102,51,50,48,97,100,55,52,54,101,49,100,51,98,54,50,56,98,97,55,57,98,57,56,53,57,102,55,52,49,101,48,56,50,53,52,50,97,51,56,53,53,48,50,102,50,53,100,98,102,53,53,50,57,54,99,51,97,53,52,53,101,51,56,55,50,55,54,48,97,98,55,0,48,120,51,54,49,55,100,101,52,97,57,54,50,54,50,99,54,102,53,100,57,101,57,56,98,102,57,50,57,50,100,99,50,57,102,56,102,52,49,100,98,100,50,56,57,97,49,52,55,99,101,57,100,97,51,49,49,51,98,53,102,48,98,56,99,48,48,97,54,48,98,49,99,101,49,100,55,101,56,49,57,100,55,97,52,51,49,100,55,99,57,48,101,97,48,101,53,102,0,78,73,83,84,32,80,45,53,50,49,0,48,120,48,49,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,48,120,48,49,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,0,48,120,48,53,49,57,53,51,101,98,57,54,49,56,101,49,99,57,97,49,102,57,50,57,97,50,49,97,48,98,54,56,53,52,48,101,101,97,50,100,97,55,50,53,98,57,57,98,51,49,53,102,51,98,56,98,52,56,57,57,49,56,101,102,49,48,57,101,49,53,54,49,57,51,57,53,49,101,99,55,101,57,51,55,98,49,54,53,50,99,48,98,100,51,98,98,49,98,102,48,55,51,53,55,51,100,102,56,56,51,100,50,99,51,52,102,49,101,102,52,53,49,102,100,52,54,98,53,48,51,102,48,48,0,48,120,49,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,97,53,49,56,54,56,55,56,51,98,102,50,102,57,54,54,98,55,102,99,99,48,49,52,56,102,55,48,57,97,53,100,48,51,98,98,53,99,57,98,56,56,57,57,99,52,55,97,101,98,98,54,102,98,55,49,101,57,49,51,56,54,52,48,57,0,48,120,48,48,99,54,56,53,56,101,48,54,98,55,48,52,48,52,101,57,99,100,57,101,51,101,99,98,54,54,50,51,57,53,98,52,52,50,57,99,54,52,56,49,51,57,48,53,51,102,98,53,50,49,102,56,50,56,97,102,54,48,54,98,52,100,51,100,98,97,97,49,52,98,53,101,55,55,101,102,101,55,53,57,50,56,102,101,49,100,99,49,50,55,97,50,102,102,97,56,100,101,51,51,52,56,98,51,99,49,56,53,54,97,52,50,57,98,102,57,55,101,55,101,51,49,99,50,101,53,98,100,54,54,0,48,120,48,49,49,56,51,57,50,57,54,97,55,56,57,97,51,98,99,48,48,52,53,99,56,97,53,102,98,52,50,99,55,100,49,98,100,57,57,56,102,53,52,52,52,57,53,55,57,98,52,52,54,56,49,55,97,102,98,100,49,55,50,55,51,101,54,54,50,99,57,55,101,101,55,50,57,57,53,101,102,52,50,54,52,48,99,53,53,48,98,57,48,49,51,102,97,100,48,55,54,49,51,53,51,99,55,48,56,54,97,50,55,50,99,50,52,48,56,56,98,101,57,52,55,54,57,102,100,49,54,54,53,48,0,98,114,97,105,110,112,111,111,108,80,49,54,48,114,49,0,48,120,101,57,53,101,52,97,53,102,55,51,55,48,53,57,100,99,54,48,100,102,99,55,97,100,57,53,98,51,100,56,49,51,57,53,49,53,54,50,48,102,0,48,120,51,52,48,101,55,98,101,50,97,50,56,48,101,98,55,52,101,50,98,101,54,49,98,97,100,97,55,52,53,100,57,55,101,56,102,55,99,51,48,48,0,48,120,49,101,53,56,57,97,56,53,57,53,52,50,51,52,49,50,49,51,52,102,97,97,50,100,98,100,101,99,57,53,99,56,100,56,54,55,53,101,53,56,0,48,120,101,57,53,101,52,97,53,102,55,51,55,48,53,57,100,99,54,48,100,102,53,57,57,49,100,52,53,48,50,57,52,48,57,101,54,48,102,99,48,57,0,48,120,98,101,100,53,97,102,49,54,101,97,51,102,54,97,52,102,54,50,57,51,56,99,52,54,51,49,101,98,53,97,102,55,98,100,98,99,100,98,99,51,0,48,120,49,54,54,55,99,98,52,55,55,97,49,97,56,101,99,51,51,56,102,57,52,55,52,49,54,54,57,99,57,55,54,51,49,54,100,97,54,51,50,49,0,98,114,97,105,110,112,111,111,108,80,49,57,50,114,49,0,48,120,99,51,48,50,102,52,49,100,57,51,50,97,51,54,99,100,97,55,97,51,52,54,51,48,57,51,100,49,56,100,98,55,56,102,99,101,52,55,54,100,101,49,97,56,54,50,57,55,0,48,120,54,97,57,49,49,55,52,48,55,54,98,49,101,48,101,49,57,99,51,57,99,48,51,49,102,101,56,54,56,53,99,49,99,97,101,48,52,48,101,53,99,54,57,97,50,56,101,102,0,48,120,52,54,57,97,50,56,101,102,55,99,50,56,99,99,97,51,100,99,55,50,49,100,48,52,52,102,52,52,57,54,98,99,99,97,55,101,102,52,49,52,54,102,98,102,50,53,99,57,0,48,120,99,51,48,50,102,52,49,100,57,51,50,97,51,54,99,100,97,55,97,51,52,54,50,102,57,101,57,101,57,49,54,98,53,98,101,56,102,49,48,50,57,97,99,52,97,99,99,49,0,48,120,99,48,97,48,54,52,55,101,97,97,98,54,97,52,56,55,53,51,98,48,51,51,99,53,54,99,98,48,102,48,57,48,48,97,50,102,53,99,52,56,53,51,51,55,53,102,100,54,0,48,120,49,52,98,54,57,48,56,54,54,97,98,100,53,98,98,56,56,98,53,102,52,56,50,56,99,49,52,57,48,48,48,50,101,54,55,55,51,102,97,50,102,97,50,57,57,98,56,102,0,98,114,97,105,110,112,111,111,108,80,50,50,52,114,49,0,48,120,100,55,99,49,51,52,97,97,50,54,52,51,54,54,56,54,50,97,49,56,51,48,50,53,55,53,100,49,100,55,56,55,98,48,57,102,48,55,53,55,57,55,100,97,56,57,102,53,55,101,99,56,99,48,102,102,0,48,120,54,56,97,53,101,54,50,99,97,57,99,101,54,99,49,99,50,57,57,56,48,51,97,54,99,49,53,51,48,98,53,49,52,101,49,56,50,97,100,56,98,48,48,52,50,97,53,57,99,97,100,50,57,102,52,51,0,48,120,50,53,56,48,102,54,51,99,99,102,101,52,52,49,51,56,56,55,48,55,49,51,98,49,97,57,50,51,54,57,101,51,51,101,50,49,51,53,100,50,54,54,100,98,98,51,55,50,51,56,54,99,52,48,48,98,0,48,120,100,55,99,49,51,52,97,97,50,54,52,51,54,54,56,54,50,97,49,56,51,48,50,53,55,53,100,48,102,98,57,56,100,49,49,54,98,99,52,98,54,100,100,101,98,99,97,51,97,53,97,55,57,51,57,102,0,48,120,48,100,57,48,50,57,97,100,50,99,55,101,53,99,102,52,51,52,48,56,50,51,98,50,97,56,55,100,99,54,56,99,57,101,52,99,101,51,49,55,52,99,49,101,54,101,102,100,101,101,49,50,99,48,55,100,0,48,120,53,56,97,97,53,54,102,55,55,50,99,48,55,50,54,102,50,52,99,54,98,56,57,101,52,101,99,100,97,99,50,52,51,53,52,98,57,101,57,57,99,97,97,51,102,54,100,51,55,54,49,52,48,50,99,100,0,98,114,97,105,110,112,111,111,108,80,50,53,54,114,49,0,48,120,97,57,102,98,53,55,100,98,97,49,101,101,97,57,98,99,51,101,54,54,48,97,57,48,57,100,56,51,56,100,55,50,54,101,51,98,102,54,50,51,100,53,50,54,50,48,50,56,50,48,49,51,52,56,49,100,49,102,54,101,53,51,55,55,0,48,120,55,100,53,97,48,57,55,53,102,99,50,99,51,48,53,55,101,101,102,54,55,53,51,48,52,49,55,97,102,102,101,55,102,98,56,48,53,53,99,49,50,54,100,99,53,99,54,99,101,57,52,97,52,98,52,52,102,51,51,48,98,53,100,57,0,48,120,50,54,100,99,53,99,54,99,101,57,52,97,52,98,52,52,102,51,51,48,98,53,100,57,98,98,100,55,55,99,98,102,57,53,56,52,49,54,50,57,53,99,102,55,101,49,99,101,54,98,99,99,100,99,49,56,102,102,56,99,48,55,98,54,0,48,120,97,57,102,98,53,55,100,98,97,49,101,101,97,57,98,99,51,101,54,54,48,97,57,48,57,100,56,51,56,100,55,49,56,99,51,57,55,97,97,51,98,53,54,49,97,54,102,55,57,48,49,101,48,101,56,50,57,55,52,56,53,54,97,55,0,48,120,56,98,100,50,97,101,98,57,99,98,55,101,53,55,99,98,50,99,52,98,52,56,50,102,102,99,56,49,98,55,97,102,98,57,100,101,50,55,101,49,101,51,98,100,50,51,99,50,51,97,52,52,53,51,98,100,57,97,99,101,51,50,54,50,0,48,120,53,52,55,101,102,56,51,53,99,51,100,97,99,52,102,100,57,55,102,56,52,54,49,97,49,52,54,49,49,100,99,57,99,50,55,55,52,53,49,51,50,100,101,100,56,101,53,52,53,99,49,100,53,52,99,55,50,102,48,52,54,57,57,55,0,98,114,97,105,110,112,111,111,108,80,51,50,48,114,49,0,48,120,100,51,53,101,52,55,50,48,51,54,98,99,52,102,98,55,101,49,51,99,55,56,53,101,100,50,48,49,101,48,54,53,102,57,56,102,99,102,97,54,102,54,102,52,48,100,101,102,52,102,57,50,98,57,101,99,55,56,57,51,101,99,50,56,102,99,100,52,49,50,98,49,102,49,98,51,50,101,50,55,0,48,120,51,101,101,51,48,98,53,54,56,102,98,97,98,48,102,56,56,51,99,99,101,98,100,52,54,100,51,102,51,98,98,56,97,50,97,55,51,53,49,51,102,53,101,98,55,57,100,97,54,54,49,57,48,101,98,48,56,53,102,102,97,57,102,52,57,50,102,51,55,53,97,57,55,100,56,54,48,101,98,52,0,48,120,53,50,48,56,56,51,57,52,57,100,102,100,98,99,52,50,100,51,97,100,49,57,56,54,52,48,54,56,56,97,54,102,101,49,51,102,52,49,51,52,57,53,53,52,98,52,57,97,99,99,51,49,100,99,99,100,56,56,52,53,51,57,56,49,54,102,53,101,98,52,97,99,56,102,98,49,102,49,97,54,0,48,120,100,51,53,101,52,55,50,48,51,54,98,99,52,102,98,55,101,49,51,99,55,56,53,101,100,50,48,49,101,48,54,53,102,57,56,102,99,102,97,53,98,54,56,102,49,50,97,51,50,100,52,56,50,101,99,55,101,101,56,54,53,56,101,57,56,54,57,49,53,53,53,98,52,52,99,53,57,51,49,49,0,48,120,52,51,98,100,55,101,57,97,102,98,53,51,100,56,98,56,53,50,56,57,98,99,99,52,56,101,101,53,98,102,101,54,102,50,48,49,51,55,100,49,48,97,48,56,55,101,98,54,101,55,56,55,49,101,50,97,49,48,97,53,57,57,99,55,49,48,97,102,56,100,48,100,51,57,101,50,48,54,49,49,0,48,120,49,52,102,100,100,48,53,53,52,53,101,99,49,99,99,56,97,98,52,48,57,51,50,52,55,102,55,55,50,55,53,101,48,55,52,51,102,102,101,100,49,49,55,49,56,50,101,97,97,57,99,55,55,56,55,55,97,97,97,99,54,97,99,55,100,51,53,50,52,53,100,49,54,57,50,101,56,101,101,49,0,98,114,97,105,110,112,111,111,108,80,51,56,52,114,49,0,48,120,56,99,98,57,49,101,56,50,97,51,51,56,54,100,50,56,48,102,53,100,54,102,55,101,53,48,101,54,52,49,100,102,49,53,50,102,55,49,48,57,101,100,53,52,53,54,98,52,49,50,98,49,100,97,49,57,55,102,98,55,49,49,50,51,97,99,100,51,97,55,50,57,57,48,49,100,49,97,55,49,56,55,52,55,48,48,49,51,51,49,48,55,101,99,53,51,0,48,120,55,98,99,51,56,50,99,54,51,100,56,99,49,53,48,99,51,99,55,50,48,56,48,97,99,101,48,53,97,102,97,48,99,50,98,101,97,50,56,101,52,102,98,50,50,55,56,55,49,51,57,49,54,53,101,102,98,97,57,49,102,57,48,102,56,97,97,53,56,49,52,97,53,48,51,97,100,52,101,98,48,52,97,56,99,55,100,100,50,50,99,101,50,56,50,54,0,48,120,48,52,97,56,99,55,100,100,50,50,99,101,50,56,50,54,56,98,51,57,98,53,53,52,49,54,102,48,52,52,55,99,50,102,98,55,55,100,101,49,48,55,100,99,100,50,97,54,50,101,56,56,48,101,97,53,51,101,101,98,54,50,100,53,55,99,98,52,51,57,48,50,57,53,100,98,99,57,57,52,51,97,98,55,56,54,57,54,102,97,53,48,52,99,49,49,0,48,120,56,99,98,57,49,101,56,50,97,51,51,56,54,100,50,56,48,102,53,100,54,102,55,101,53,48,101,54,52,49,100,102,49,53,50,102,55,49,48,57,101,100,53,52,53,54,98,51,49,102,49,54,54,101,54,99,97,99,48,52,50,53,97,55,99,102,51,97,98,54,97,102,54,98,55,102,99,51,49,48,51,98,56,56,51,50,48,50,101,57,48,52,54,53,54,53,0,48,120,49,100,49,99,54,52,102,48,54,56,99,102,52,53,102,102,97,50,97,54,51,97,56,49,98,55,99,49,51,102,54,98,56,56,52,55,97,51,101,55,55,101,102,49,52,102,101,51,100,98,55,102,99,97,102,101,48,99,98,100,49,48,101,56,101,56,50,54,101,48,51,52,51,54,100,54,52,54,97,97,101,102,56,55,98,50,101,50,52,55,100,52,97,102,49,101,0,48,120,56,97,98,101,49,100,55,53,50,48,102,57,99,50,97,52,53,99,98,49,101,98,56,101,57,53,99,102,100,53,53,50,54,50,98,55,48,98,50,57,102,101,101,99,53,56,54,52,101,49,57,99,48,53,52,102,102,57,57,49,50,57,50,56,48,101,52,54,52,54,50,49,55,55,57,49,56,49,49,49,52,50,56,50,48,51,52,49,50,54,51,99,53,51,49,53,0,98,114,97,105,110,112,111,111,108,80,53,49,50,114,49,0,48,120,97,97,100,100,57,100,98,56,100,98,101,57,99,52,56,98,51,102,100,52,101,54,97,101,51,51,99,57,102,99,48,55,99,98,51,48,56,100,98,51,98,51,99,57,100,50,48,101,100,54,54,51,57,99,99,97,55,48,51,51,48,56,55,49,55,100,52,100,57,98,48,48,57,98,99,54,54,56,52,50,97,101,99,100,97,49,50,97,101,54,97,51,56,48,101,54,50,56,56,49,102,102,50,102,50,100,56,50,99,54,56,53,50,56,97,97,54,48,53,54,53,56,51,97,52,56,102,51,0,48,120,55,56,51,48,97,51,51,49,56,98,54,48,51,98,56,57,101,50,51,50,55,49,52,53,97,99,50,51,52,99,99,53,57,52,99,98,100,100,56,100,51,100,102,57,49,54,49,48,97,56,51,52,52,49,99,97,101,97,57,56,54,51,98,99,50,100,101,100,53,100,53,97,97,56,50,53,51,97,97,49,48,97,50,101,102,49,99,57,56,98,57,97,99,56,98,53,55,102,49,49,49,55,97,55,50,98,102,50,99,55,98,57,101,55,99,49,97,99,52,100,55,55,102,99,57,52,99,97,0,48,120,51,100,102,57,49,54,49,48,97,56,51,52,52,49,99,97,101,97,57,56,54,51,98,99,50,100,101,100,53,100,53,97,97,56,50,53,51,97,97,49,48,97,50,101,102,49,99,57,56,98,57,97,99,56,98,53,55,102,49,49,49,55,97,55,50,98,102,50,99,55,98,57,101,55,99,49,97,99,52,100,55,55,102,99,57,52,99,97,100,99,48,56,51,101,54,55,57,56,52,48,53,48,98,55,53,101,98,97,101,53,100,100,50,56,48,57,98,100,54,51,56,48,49,54,102,55,50,51,0,48,120,97,97,100,100,57,100,98,56,100,98,101,57,99,52,56,98,51,102,100,52,101,54,97,101,51,51,99,57,102,99,48,55,99,98,51,48,56,100,98,51,98,51,99,57,100,50,48,101,100,54,54,51,57,99,99,97,55,48,51,51,48,56,55,48,53,53,51,101,53,99,52,49,52,99,97,57,50,54,49,57,52,49,56,54,54,49,49,57,55,102,97,99,49,48,52,55,49,100,98,49,100,51,56,49,48,56,53,100,100,97,100,100,98,53,56,55,57,54,56,50,57,99,97,57,48,48,54,57,0,48,120,56,49,97,101,101,52,98,100,100,56,50,101,100,57,54,52,53,97,50,49,51,50,50,101,57,99,52,99,54,97,57,51,56,53,101,100,57,102,55,48,98,53,100,57,49,54,99,49,98,52,51,98,54,50,101,101,102,52,100,48,48,57,56,101,102,102,51,98,49,102,55,56,101,50,100,48,100,52,56,100,53,48,100,49,54,56,55,98,57,51,98,57,55,100,53,102,55,99,54,100,53,48,52,55,52,48,54,97,53,101,54,56,56,98,51,53,50,50,48,57,98,99,98,57,102,56,50,50,0,48,120,55,100,100,101,51,56,53,100,53,54,54,51,51,50,101,99,99,48,101,97,98,102,97,57,99,102,55,56,50,50,102,100,102,50,48,57,102,55,48,48],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480);allocate([50,52,97,53,55,98,49,97,97,48,48,48,99,53,53,98,56,56,49,102,56,49,49,49,98,50,100,99,100,101,52,57,52,97,53,102,52,56,53,101,53,98,99,97,52,98,100,56,56,97,50,55,54,51,97,101,100,49,99,97,50,98,50,102,97,56,102,48,53,52,48,54,55,56,99,100,49,101,48,102,51,97,100,56,48,56,57,50,0,71,79,83,84,50,48,48,49,45,116,101,115,116,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,52,51,49,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,55,0,48,120,53,102,98,102,102,52,57,56,97,97,57,51,56,99,101,55,51,57,98,56,101,48,50,50,102,98,97,102,101,102,52,48,53,54,51,102,54,101,54,97,51,52,55,50,102,99,50,97,53,49,52,99,48,99,101,57,100,97,101,50,51,98,55,101,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,53,48,102,101,56,97,49,56,57,50,57,55,54,49,53,52,99,53,57,99,102,99,49,57,51,97,99,99,102,53,98,51,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,50,0,48,120,48,56,101,50,97,56,97,48,101,54,53,49,52,55,100,52,98,100,54,51,49,54,48,51,48,101,49,54,100,49,57,99,56,53,99,57,55,102,48,97,57,99,97,50,54,55,49,50,50,98,57,54,97,98,98,99,101,97,55,101,56,102,99,56,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,65,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,57,55,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,57,52,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,97,54,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,54,99,54,49,49,48,55,48,57,57,53,97,100,49,48,48,52,53,56,52,49,98,48,57,98,55,54,49,98,56,57,51,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,0,48,120,56,100,57,49,101,52,55,49,101,48,57,56,57,99,100,97,50,55,100,102,53,48,53,97,52,53,51,102,50,98,55,54,51,53,50,57,52,102,50,100,100,102,50,51,101,51,98,49,50,50,97,99,99,57,57,99,57,101,57,102,49,101,49,52,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,66,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,99,57,57,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,99,57,54,0,48,120,51,101,49,97,102,52,49,57,97,50,54,57,97,53,102,56,54,54,97,55,100,51,99,50,53,99,51,100,102,56,48,97,101,57,55,57,50,53,57,51,55,51,102,102,50,98,49,56,50,102,52,57,100,52,99,101,55,101,49,98,98,99,56,98,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,53,102,55,48,48,99,102,102,102,49,97,54,50,52,101,53,101,52,57,55,49,54,49,98,99,99,56,97,49,57,56,102,0,48,120,51,102,97,56,49,50,52,51,53,57,102,57,54,54,56,48,98,56,51,100,49,99,51,101,98,50,99,48,55,48,101,53,99,53,52,53,99,57,56,53,56,100,48,51,101,99,102,98,55,52,52,98,102,56,100,55,49,55,55,49,55,101,102,99,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,67,0,48,120,57,98,57,102,54,48,53,102,53,97,56,53,56,49,48,55,97,98,49,101,99,56,53,101,54,98,52,49,99,56,97,97,99,102,56,52,54,101,56,54,55,56,57,48,53,49,100,51,55,57,57,56,102,55,98,57,48,50,50,100,55,53,57,98,0,48,120,57,98,57,102,54,48,53,102,53,97,56,53,56,49,48,55,97,98,49,101,99,56,53,101,54,98,52,49,99,56,97,97,99,102,56,52,54,101,56,54,55,56,57,48,53,49,100,51,55,57,57,56,102,55,98,57,48,50,50,100,55,53,57,56,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,48,53,97,0,48,120,57,98,57,102,54,48,53,102,53,97,56,53,56,49,48,55,97,98,49,101,99,56,53,101,54,98,52,49,99,56,97,97,53,56,50,99,97,51,53,49,49,101,100,100,102,98,55,52,102,48,50,102,51,97,54,53,57,56,57,56,48,98,98,57,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,0,48,120,52,49,101,99,101,53,53,55,52,51,55,49,49,97,56,99,51,99,98,102,51,55,56,51,99,100,48,56,99,48,101,101,52,100,52,100,99,52,52,48,100,52,54,52,49,97,56,102,51,54,54,101,53,53,48,100,102,100,98,51,98,98,54,55,0,71,79,83,84,50,48,49,50,45,116,101,115,116,0,48,120,52,53,51,49,97,99,100,49,102,101,48,48,50,51,99,55,53,53,48,100,50,54,55,98,54,98,50,102,101,101,56,48,57,50,50,98,49,52,98,50,102,102,98,57,48,102,48,52,100,52,101,98,55,99,48,57,98,53,100,50,100,49,53,100,102,49,100,56,53,50,55,52,49,97,102,52,55,48,52,97,48,52,53,56,48,52,55,101,56,48,101,52,53,52,54,100,51,53,98,56,51,51,54,102,97,99,50,50,52,100,100,56,49,54,54,52,98,98,102,53,50,56,98,101,54,51,55,51,0,48,120,49,99,102,102,48,56,48,54,97,51,49,49,49,54,100,97,50,57,100,56,99,102,97,53,52,101,53,55,101,98,55,52,56,98,99,53,102,51,55,55,101,52,57,52,48,48,102,100,100,55,56,56,98,54,52,57,101,99,97,49,97,99,52,51,54,49,56,51,52,48,49,51,98,50,97,100,55,51,50,50,52,56,48,97,56,57,99,97,53,56,101,48,99,102,55,52,98,99,57,101,53,52,48,99,50,97,100,100,54,56,57,55,102,97,100,48,97,51,48,56,52,102,51,48,50,97,100,99,0,48,120,52,53,51,49,97,99,100,49,102,101,48,48,50,51,99,55,53,53,48,100,50,54,55,98,54,98,50,102,101,101,56,48,57,50,50,98,49,52,98,50,102,102,98,57,48,102,48,52,100,52,101,98,55,99,48,57,98,53,100,50,100,49,53,100,97,56,50,102,50,100,55,101,99,98,49,100,98,97,99,55,49,57,57,48,53,99,53,101,101,99,99,52,50,51,102,49,100,56,54,101,50,53,101,100,98,101,50,51,99,53,57,53,100,54,52,52,97,97,102,49,56,55,101,54,101,54,100,102,0,48,120,50,52,100,49,57,99,99,54,52,53,55,50,101,101,51,48,102,51,57,54,98,102,54,101,98,98,102,100,55,97,54,99,53,50,49,51,98,51,98,51,100,55,48,53,55,99,99,56,50,53,102,57,49,48,57,51,97,54,56,99,100,55,54,50,102,100,54,48,54,49,49,50,54,50,99,100,56,51,56,100,99,54,98,54,48,97,97,55,101,101,101,56,48,52,101,50,56,98,99,56,52,57,57,55,55,102,97,99,51,51,98,52,98,53,51,48,102,49,98,49,50,48,50,52,56,97,57,97,0,48,120,50,98,98,51,49,50,97,52,51,98,100,50,99,101,54,101,48,100,48,50,48,54,49,51,99,56,53,55,97,99,100,100,99,102,98,102,48,54,49,101,57,49,101,53,102,50,99,51,102,51,50,52,52,55,99,50,53,57,102,51,57,98,50,99,56,51,97,98,49,53,54,100,55,55,102,49,52,57,54,98,102,55,101,98,51,51,53,49,101,49,101,101,52,101,52,51,100,99,49,97,49,56,98,57,49,98,50,52,54,52,48,98,54,100,98,98,57,50,99,98,49,97,100,100,51,55,49,101,0,71,79,83,84,50,48,49,50,45,116,99,50,54,45,65,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,99,55,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,99,52,0,48,120,101,56,99,50,53,48,53,100,101,100,102,99,56,54,100,100,99,49,98,100,48,98,50,98,54,54,54,55,102,49,100,97,51,52,98,56,50,53,55,52,55,54,49,99,98,48,101,56,55,57,98,100,48,56,49,99,102,100,48,98,54,50,54,53,101,101,51,99,98,48,57,48,102,51,48,100,50,55,54,49,52,99,98,52,53,55,52,48,49,48,100,97,57,48,100,100,56,54,50,101,102,57,100,52,101,98,101,101,52,55,54,49,53,48,51,49,57,48,55,56,53,97,55,49,99,55,54,48,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,50,55,101,54,57,53,51,50,102,52,56,100,56,57,49,49,54,102,102,50,50,98,56,100,52,101,48,53,54,48,54,48,57,98,52,98,51,56,97,98,102,97,100,50,98,56,53,100,99,97,99,100,98,49,52,49,49,102,49,48,98,50,55,53,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,51,0,48,120,55,53,48,51,99,102,101,56,55,97,56,51,54,97,101,51,97,54,49,98,56,56,49,54,101,50,53,52,53,48,101,54,99,101,53,101,49,99,57,51,97,99,102,49,97,98,99,49,55,55,56,48,54,52,102,100,99,98,101,102,97,57,50,49,100,102,49,54,50,54,98,101,52,102,100,48,51,54,101,57,51,100,55,53,101,54,97,53,48,101,51,97,52,49,101,57,56,48,50,56,102,101,53,102,99,50,51,53,102,53,98,56,56,57,97,53,56,57,99,98,53,50,49,53,102,50,97,52,0,71,79,83,84,50,48,49,50,45,116,99,50,54,45,66,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,54,102,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,54,99,0,48,120,54,56,55,100,49,98,52,53,57,100,99,56,52,49,52,53,55,101,51,101,48,54,99,102,54,102,53,101,50,53,49,55,98,57,55,99,55,100,54,49,52,97,102,49,51,56,98,99,98,102,56,53,100,99,56,48,54,99,52,98,50,56,57,102,51,101,57,54,53,100,50,100,98,49,52,49,54,100,50,49,55,102,56,98,50,55,54,102,97,100,49,97,98,54,57,99,53,48,102,55,56,98,101,101,49,102,97,51,49,48,54,101,102,98,56,99,99,98,99,55,99,53,49,52,48,49,49,54,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,52,57,97,49,101,99,49,52,50,53,54,53,97,53,52,53,97,99,102,100,98,55,55,98,100,57,100,52,48,99,102,97,56,98,57,57,54,55,49,50,49,48,49,98,101,97,48,101,99,54,51,52,54,99,53,52,51,55,52,102,50,53,98,100,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,50,0,48,120,49,97,56,102,55,101,100,97,51,56,57,98,48,57,52,99,50,99,48,55,49,101,51,54,52,55,97,56,57,52,48,102,51,99,49,50,51,98,54,57,55,53,55,56,99,50,49,51,98,101,54,100,100,57,101,54,99,56,101,99,55,51,51,53,100,99,98,50,50,56,102,100,49,101,100,102,52,97,51,57,49,53,50,99,98,99,97,97,102,56,99,48,51,57,56,56,50,56,48,52,49,48,53,53,102,57,52,99,101,101,101,99,55,101,50,49,51,52,48,55,56,48,102,101,52,49,98,100,0,115,101,99,112,50,53,54,107,49,0,48,120,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,69,70,70,70,70,70,67,50,70,0,48,120,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,69,66,65,65,69,68,67,69,54,65,70,52,56,65,48,51,66,66,70,68,50,53,69,56,67,68,48,51,54,52,49,52,49,0,48,120,55,57,66,69,54,54,55,69,70,57,68,67,66,66,65,67,53,53,65,48,54,50,57,53,67,69,56,55,48,66,48,55,48,50,57,66,70,67,68,66,50,68,67,69,50,56,68,57,53,57,70,50,56,49,53,66,49,54,70,56,49,55,57,56,0,48,120,52,56,51,65,68,65,55,55,50,54,65,51,67,52,54,53,53,68,65,52,70,66,70,67,48,69,49,49,48,56,65,56,70,68,49,55,66,52,52,56,65,54,56,53,53,52,49,57,57,67,52,55,68,48,56,70,70,66,49,48,68,52,66,56,0,49,46,51,46,54,46,49,46,52,46,49,46,49,49,53,57,49,46,49,53,46,49,0,49,46,50,46,56,52,48,46,49,48,48,52,53,46,51,46,49,46,49,0,112,114,105,109,101,49,57,50,118,49,0,115,101,99,112,49,57,50,114,49,0,110,105,115,116,112,49,57,50,0,115,101,99,112,50,50,52,114,49,0,49,46,51,46,49,51,50,46,48,46,51,51,0,110,105,115,116,112,50,50,52,0,49,46,50,46,56,52,48,46,49,48,48,52,53,46,51,46,49,46,55,0,112,114,105,109,101,50,53,54,118,49,0,115,101,99,112,50,53,54,114,49,0,110,105,115,116,112,50,53,54,0,115,101,99,112,51,56,52,114,49,0,49,46,51,46,49,51,50,46,48,46,51,52,0,110,105,115,116,112,51,56,52,0,115,101,99,112,53,50,49,114,49,0,49,46,51,46,49,51,50,46,48,46,51,53,0,110,105,115,116,112,53,50,49,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,49,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,51,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,53,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,55,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,57,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,49,49,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,49,51,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,48,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,49,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,50,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,51,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,88,99,104,65,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,88,99,104,66,0,49,46,50,46,54,52,51,46,50,46,50,46,51,54,46,48,0,49,46,50,46,54,52,51,46,50,46,50,46,51,54,46,49,0,49,46,50,46,54,52,51,46,55,46,49,46,50,46,49,46,50,46,49,0,49,46,50,46,54,52,51,46,55,46,49,46,50,46,49,46,50,46,50,0,49,46,51,46,49,51,50,46,48,46,49,48,0,48,120,48,52,0,45,112,97,98,103,110,104,0,98,0,103,0,46,120,0,46,121,0,46,122,0,104,0,100,0,101,99,99,32,103,101,116,32,112,97,114,97,109,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,40,112,117,98,108,105,99,45,107,101,121,40,101,99,99,40,112,37,109,41,40,97,37,109,41,40,98,37,109,41,40,103,37,109,41,40,110,37,109,41,40,104,37,109,41,41,41,0,103,46,120,0,103,46,121,0,113,46,120,0,113,46,121,0,101,100,100,115,97,95,101,110,99,111,100,101,112,111,105,110,116,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,48,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,68,0,115,99,97,110,110,105,110,103,32,69,67,67,32,112,97,114,97,109,101,116,101,114,32,102,97,105,108,101,100,58,32,37,115,10,0,50,66,56,51,50,52,56,48,52,70,67,49,68,70,48,66,50,66,52,68,48,48,57,57,51,68,70,66,68,55,65,55,50,70,52,51,49,56,48,54,65,68,50,70,69,52,55,56,67,52,69,69,49,66,50,55,52,65,48,69,65,48,66,48,0,101,99,103,101,110,32,32,32,32,32,32,112,107,0,42,32,101,95,112,107,0,32,32,101,95,112,107,0,32,32,32,32,32,109,0,32,32,32,114,0,32,32,32,101,95,114,0,32,72,40,82,43,41,0,32,32,32,101,95,115,0,87,101,105,101,114,115,116,114,97,115,115,0,69,100,119,97,114,100,115,0,83,116,97,110,100,97,114,100,0,69,100,50,53,53,49,57,0,109,112,105,95,112,114,105,110,116,32,102,97,105,108,101,100,58,32,37,115,10,0,109,112,105,95,115,99,97,110,32,102,97,105,108,101,100,58,32,37,115,10,0,70,73,80,83,45,49,57,56,97,44,32,65,46,49,0,83,97,109,112,108,101,32,35,49,0,79,76,163,213,214,139,167,204,10,18,8,201,198,30,156,93,160,64,60,10,0,105,110,118,97,108,105,100,32,116,101,115,116,115,32,100,97,116,97,0,103,99,114,121,95,109,100,95,115,101,116,107,101,121,32,102,97,105,108,101,100,0,103,99,114,121,95,109,100,95,114,101,97,100,32,102,97,105,108,101,100,0,100,111,101,115,32,110,111,116,32,109,97,116,99,104,0,70,73,80,83,45,49,57,56,97,44,32,65,46,50,0,83,97,109,112,108,101,32,35,50,0,9,34,211,64,95,170,61,25,79,130,164,88,48,115,125,92,198,199,93,36,0,70,73,80,83,45,49,57,56,97,44,32,65,46,51,0,83,97,109,112,108,101,32,35,51,0,188,244,30,171,139,178,216,2,243,208,92,175,124,176,146,236,248,209,163,170,0,70,73,80,83,45,49,57,56,97,44,32,65,46,52,0,83,97,109,112,108,101,32,35,52,0,158,168,134,239,226,104,219,236,206,66,12,117,36,223,50,224,117,26,42,38,0,104,109,97,99,0,100,97,116,97,45,50,56,32,107,101,121,45,52,0,119,104,97,116,32,100,111,32,121,97,32,119,97,110,116,32,102,111,114,32,110,111,116,104,105,110,103,63,0,74,101,102,101,0,100,97,116,97,45,57,32,107,101,121,45,50,48,0,72,105,32,84,104,101,114,101,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,100,97,116,97,45,53,48,32,107,101,121,45,50,48,0,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,0,100,97,116,97,45,53,48,32,107,101,121,45,50,54,0,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,100,97,116,97,45,53,52,32,107,101,121,45,49,51,49,0,84,101,115,116,32,85,115,105,110,103,32,76,97,114,103,101,114,32,84,104,97,110,32,66,108,111,99,107,45,83,105,122,101,32,75,101,121,32,45,32,72,97,115,104,32,75,101,121,32,70,105,114,115,116,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,0,100,97,116,97,45,49,53,50,32,107,101,121,45,49,51,49,0,84,104,105,115,32,105,115,32,97,32,116,101,115,116,32,117,115,105,110,103,32,97,32,108,97,114,103,101,114,32,116,104,97,110,32,98,108,111,99,107,45,115,105,122,101,32,107,101,121,32,97,110,100,32,97,32,108,97,114,103,101,114,32,116,104,97,110,32,98,108,111,99,107,45,115,105,122,101,32,100,97,116,97,46,32,84,104,101,32,107,101,121,32,110,101,101,100,115,32,116,111,32,98,101,32,104,97,115,104,101,100,32,98,101,102,111,114,101,32,98,101,105,110,103,32,117,115,101,100,32,98,121,32,116,104,101,32,72,77,65,67,32,97,108,103,111,114,105,116,104,109,46,0,95,103,99,114,121,95,104,109,97,99,50,53,54,95,110,101,119,32,102,97,105,108,101,100,0,95,103,99,114,121,95,104,109,97,99,50,53,54,95,102,105,110,97,108,105,122,101,32,102,97,105,108,101,100,0,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,105,110,32,115,101,99,111,110,100,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,0,97,108,103,111,114,105,116,104,109,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,111,105,100,46,0,79,73,68,46,0,109,100,46,99,0,109,100,95,119,114,105,116,101,0,109,100,95,101,110,97,98,108,101,58,32,97,108,103,111,114,105,116,104,109,32,37,100,32,110,111,116,32,97,118,97,105,108,97,98,108,101,10,0,77,68,53,32,117,115,101,100,0,79,111,112,115,58,32,109,100,32,100,101,98,117,103,32,97,108,114,101,97,100,121,32,115,116,97,114,116,101,100,10,0,100,98,103,109,100,45,37,48,53,100,46,37,46,49,48,115,0,119,0,109,100,32,100,101,98,117,103,58,32,99,97,110,39,116,32,111,112,101,110,32,37,115,10,0,109,100,95,103,101,116,95,97,108,103,111,0,112,111,115,115,105,98,108,101,32,117,115,97,103,101,32,101,114,114,111,114,0,87,65,82,78,73,78,71,58,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,97,108,103,111,114,105,116,104,109,32,105,110,32,109,100,95,103,101,116,95,97,108,103,111,40,41,10,0,109,111,114,101,32,116,104,97,110,32,111,110,101,32,97,108,103,111,114,105,116,104,109,32,105,110,32,109,100,95,114,101,97,100,40,48,41,10,0,109,100,95,114,101,97,100,0,103,99,114,121,95,109,100,95,111,112,101,110,32,102,97,105,108,101,100,32,102,111,114,32,97,108,103,111,32,37,100,58,32,37,115,0,107,101,121,108,101,110,32,60,61,32,104,100,45,62,99,116,120,45,62,109,97,99,112,97,100,115,95,66,115,105,122,101,0,112,114,101,112,97,114,101,95,109,97,99,112,97,100,115,0,110,111,32,65,83,78,46,49,32,79,73,68,32,102,111,114,32,109,100,32,97,108,103,111,32,37,100,10,0,99,97,110,39,116,32,103,101,110,101,114,97,116,101,32,97,32,112,114,105,109,101,32,119,105,116,104,32,108,101,115,115,32,116,104,97,110,32,37,100,32,98,105,116,115,10,0,95,103,99,114,121,95,109,112,105,95,99,109,112,40,32,40,120,41,44,32,40,110,109,105,110,117,115,49,41,32,41,32,60,32,48,32,38,38,32,95,103,99,114,121,95,109,112,105,95,99,109,112,95,117,105,40,32,40,120,41,44,32,40,49,41,32,41,32,62,32,48,0,112,114,105,109,101,103,101,110,46,99,0,105,115,95,112,114,105,109,101,0,112,114,105,109,101,103,101,110,0,111,118,101,114,102,108,111,119,32,105,110,32,112,114,105,109,101,32,103,101,110,101,114,97,116,105,111,110,10,0,112,115,115,0,114,97,119,0,99,111,109,112,0,111,97,101,112,0,112,107,99,115,49,0,112,97,114,97,109,0,110,111,99,111,109,112,0,114,102,99,54,57,55,57,0,110,111,112,97,114,97,109,0,112,107,99,115,49,45,114,97,119,0,105,103,110,105,110,118,102,108,97,103,0,110,111,45,107,101,121,116,101,115,116,0,110,111,45,98,108,105,110,100,105,110,103,0,117,115,101,45,102,105,112,115,49,56,54,0,117,115,101,45,102,105,112,115,49,56,54,45,50,0,110,98,105,116,115,0,114,115,97,45,117,115,101,45,101,0,115,105,103,45,118,97,108,0,104,97,115,104,45,97,108,103,111,0,115,104,97,49,0,109,100,53,0,115,104,97,50,53,54,0,114,105,112,101,109,100,49,54,48,0,114,109,100,49,54,48,0,115,104,97,51,56,52,0,115,104,97,53,49,50,0,115,104,97,50,50,52,0,109,100,50,0,109,100,52,0,116,105,103,101,114,0,104,97,118,97,108,0,108,97,98,101,108,0,114,97,110,100,111,109,45,111,118,101,114,114,105,100,101,0,100,97,116,97,0,104,97,115,104,0,115,97,108,116,45,108,101,110,103,116,104,0,63,0,112,114,105,118,97,116,101,45,107,101,121,0,112,117,98,108,105,99,45,107,101,121,0,103,101,110,107,101,121,0,97,108,103,111,114,105,116,104,109,32,100,105,115,97,98,108,101,100,0,97,108,103,111,114,105,116,104,109,32,110,111,116,32,102,111,117,110,100,0,110,111,32,115,101,108,102,116,101,115,116,32,97,118,97,105,108,97,98,108,101,0,109,111,100,117,108,101,0,65,69,83,0,82,73,74,78,68,65,69,76,0,65,69,83,49,50,56,0,65,69,83,45,49,50,56,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,49,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,51,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,0,232,233,234,235,237,238,239,240,242,243,244,245,247,248,249,250,1,75,175,34,120,166,157,51,29,81,128,16,54,67,233,154,103,67,195,209,81,154,180,242,205,154,120,171,9,165,17,189,65,69,83,45,49,50,56,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,65,69,83,45,49,50,56,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,4,5,6,7,9,10,11,12,14,15,16,17,19,20,21,22,24,25,26,27,29,30,31,32,118,119,116,117,241,242,243,244,248,249,230,231,119,112,113,114,93,30,242,13,206,214,188,188,18,19,26,199,197,71,136,170,65,69,83,45,49,57,50,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,65,69,83,45,49,57,50,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,8,9,10,11,13,14,15,16,18,19,20,21,23,24,25,26,28,29,30,31,33,34,35,36,38,39,40,41,43,44,45,46,6,154,0,127,199,106,69,159,152,186,249,23,254,223,149,33,8,14,149,23,235,22,119,113,154,207,114,128,134,4,10,227,65,69,83,45,50,53,54,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,65,69,83,45,50,53,54,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,99,102,98,0,110,111,32,116,101,115,116,32,100,97,116,97,32,102,111,114,32,116,104,105,115,32,109,111,100,101,0,111,112,101,110,0,115,101,116,32,107,101,121,0,115,101,116,32,73,86,0,101,110,99,114,121,112,116,32,99,111,109,109,97,110,100,0,101,110,99,114,121,112,116,32,109,105,115,109,97,116,99,104,0,100,101,99,114,121,112,116,32,99,111,109,109,97,110,100,0,100,101,99,114,121,112,116,32,109,105,115,109,97,116,99,104,0,111,102,98,0,99,105,112,104,101,114,0,65,69,83,49,57,50,0,82,73,74,78,68,65,69,76,49,57,50,0,65,69,83,45,49,57,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,49,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,51,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,52,0,65,69,83,50,53,54,0,82,73,74,78,68,65,69,76,50,53,54,0,65,69,83,45,50,53,54,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,49,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,51,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,52,0,82,73,80,69,77,68,49,54,48,0,48,33,48,9,6,5,43,36,3,2,1,5,0,4,20,49,46,51,46,51,54,46,51,46,51,46,49,46,50,0,49,46,51,46,51,54,46,51,46,50,46,49,0,105,32,62,32,48,0,114,115,97,45,99,111,109,109,111,110,46,99,0,95,103,99,114,121,95,114,115,97,95,112,107,99,115,49,95,101,110,99,111,100,101,95,102,111,114,95,101,110,99,0,110,32,61,61,32,110,102,114,97,109,101,0,80,75,67,83,35,49,32,98,108,111,99,107,32,116,121,112,101,32,50,32,101,110,99,111,100,101,100,32,100,97,116,97,0,118,97,108,117,101,32,101,120,116,114,97,99,116,101,100,32,102,114,111,109,32,80,75,67,83,35,49,32,98,108,111,99,107,32,116,121,112,101,32,50,32,101,110,99,111,100,101,100,32,100,97,116,97,0,105,32,62,32,49,0,95,103,99,114,121,95,114,115,97,95,112,107,99,115,49,95,101,110,99,111,100,101,95,102,111,114,95,115,105,103,0,80,75,67,83,35,49,32,98,108,111,99,107,32,116,121,112,101,32,49,32,101,110,99,111,100,101,100,32,100,97,116,97,0,95,103,99,114,121,95,114,115,97,95,112,107,99,115,49,95,101,110,99,111,100,101,95,114,97,119,95,102,111,114,95,115,105,103,0,79,65,69,80,32,101,110,99,111,100,101,100,32,100,97,116,97,0,118,97,108,117,101,32,101,120,116,114,97,99,116,101,100,32,102,114,111,109,32,79,65,69,80,32,101,110,99,111,100,101,100,32,100,97,116,97,0,104,108,101,110,0,95,103,99,114,121,95,114,115,97,95,112,115,115,95,101,110,99,111,100,101,0,80,83,83,32,101,110,99,111,100,101,100,32,100,97,116,97,0,95,103,99,114,121,95,114,115,97,95,112,115,115,95,118,101,114,105,102,121,0,82,83,65,0,114,115,97,0,111,112,101,110,112,103,112,45,114,115,97,0,111,105,100,46,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,0,110,101,0,110,101,100,112,113,117,0,97,0,115,0,110,0,100,101,114,105,118,101,45,112,97,114,109,115,0,117,115,101,45,120,57,51,49,0,95,103,99,114,121,95,109,112,105,95,103,101,116,95,110,98,105,116,115,32,40,40,120,112,41,41,32,61,61,32,110,98,105,116,115,0,114,115,97,46,99,0,103,101,110,95,120,57,51,49,95,112,97,114,109,95,120,112,0,95,103,99,114,121,95,109,112,105,95,103,101,116,95,110,98,105,116,115,32,40,40,120,105,41,41,32,61,61,32,49,48,49,0,103,101,110,95,120,57,51,49,95,112,97,114,109,95,120,105,0,88,112,49,0,88,112,50,0,88,112,0,88,113,49,0,88,113,50,0,88,113,0,95,103,99,114,121,95,109,112,105,95,103,99,100,32,40,32,40,103,41,44,32,40,101,41,44,32,40,112,104,105,41,32,41,0,103,101,110,101,114,97,116,101,95,120,57,51,49,0,112,32,97,110,100,32,113,32,97,114,101,32,115,119,97,112,112,101,100,10,0,32,32,113,0,32,32,110,0,32,32,101,0,32,32,100,0,32,32,117,0,115,101,108,102,45,116,101,115,116,32,97,102,116,101,114,32,107,101,121,32,103,101,110,101,114,97,116,105,111,110,32,102,97,105,108,101,100,0,40,109,105,115,99,45,107,101,121,45,105,110,102,111,40,112,45,113,45,115,119,97,112,112,101,100,41,41,0,103,101,110,101,114,97,116,101,95,115,116,100,0,32,32,112,61,32,0,32,32,113,61,32,0,112,104,105,61,32,0,32,32,103,61,32,0,32,32,102,61,32,0,32,32,110,61,32,0,32,32,101,61,32,0,32,32,100,61,32,0,32,32,117,61,32,0,40,107,101,121,45,100,97,116,97,32,40,112,117,98,108,105,99,45,107,101,121,32,32,40,114,115,97,40,110,37,109,41,40,101,37,109,41,41,41,32,40,112,114,105,118,97,116,101,45,107,101,121,32,32,40,114,115,97,40,110,37,109,41,40,101,37,109,41,40,100,37,109,41,40,112,37,109,41,40,113,37,109,41,40,117,37,109,41,41,41,32,37,83,41,0,114,115,97,95,116,101,115,116,107,101,121,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,101,110,99,114,121,112,116,32,100,97,116,97,0,114,115,97,95,101,110,99,114,121,112,116,32,32,32,32,110,0,114,115,97,95,101,110,99,114,121,112,116,32,32,32,32,101,0,114,115,97,95,101,110,99,114,121,112,116,32,32,114,101,115,0,40,101,110,99,45,118,97,108,40,114,115,97,40,97,37,98,41,41,41,0,40,101,110,99,45,118,97,108,40,114,115,97,40,97,37,109,41,41,41,0,114,115,97,95,101,110,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,100,101,99,114,121,112,116,32,100,97,116,97,0,110,101,100,112,63,113,63,117,63,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,110,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,101,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,100,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,112,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,113,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,117,0,114,115,97,95,100,101,99,114,121,112,116,32,32,114,101,115,0,40,118,97,108,117,101,32,37,98,41,0,37,109,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,115,105,103,110,32,32,32,100,97,116,97,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,110,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,101,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,100,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,112,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,113,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,117,0,114,115,97,95,115,105,103,110,32,32,32,32,114,101,115,0,40,115,105,103,45,118,97,108,40,114,115,97,40,115,37,98,41,41,41,0,40,115,105,103,45,118,97,108,40,114,115,97,40,115,37,77,41,41,41,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,118,101,114,105,102,121,32,100,97,116,97,0,114,115,97,95,118,101,114,105,102,121,32,32,115,105,103,0,114,115,97,95,118,101,114,105,102,121,32,32,32,32,110,0,114,115,97,95,118,101,114,105,102,121,32,32,32,32,101,0,114,115,97,95,118,101,114,105,102,121,32,32,99,109,112,0,114,115,97,95,118,101,114,105,102,121,32,32,32,32,61,62,32,37,115,10,0,99,111,110,118,101,114,116,0,40,112,114,105,118,97,116,101,45,107,101,121,32,40,114,115,97,32,32,40,110,32,35,48,48,101,48,99,101,57,54,102,57,48,98,54,99,57,101,48,50,102,51,57,50,50,98,101,97,100,97,57,51,102,101,53,48,97,56,55,53,101,97,99,54,98,99,99,49,56,98,98,57,97,57,99,102,50,101,56,52,57,54,53,99,97,97,32,32,32,32,32,32,50,100,49,102,102,57,53,97,55,102,53,52,50,52,54,53,99,54,99,48,99,49,57,100,50,55,54,101,52,53,50,54,99,101,48,52,56,56,54,56,97,55,97,57,49,52,102,100,51,52,51,99,99,51,97,56,55,100,100,55,52,50,57,49,32,32,32,32,32,32,102,102,99,53,54,53,53,48,54,100,53,98,98,98,50,53,99,98,97,99,54,97,48,101,50,100,100,49,102,56,98,99,97,97,98,48,100,52,97,50,57,99,50,102,51,55,99,57,53,48,102,51,54,51,52,56,52,98,102,50,54,57,102,55,32,32,32,32,32,32,56,57,49,52,52,48,52,54,52,98,97,102,55,57,56,50,55,101,48,51,97,51,54,101,55,48,98,56,49,52,57,51,56,101,101,98,100,99,54,51,101,57,54,52,50,52,55,98,101,55,53,100,99,53,56,98,48,49,52,98,55,101,97,50,53,49,35,41,32,32,40,101,32,35,48,49,48,48,48,49,35,41,32,32,40,100,32,35,48,52,54,49,50,57,102,50,52,56,57,100,55,49,53,55,57,98,101,48,97,55,53,102,101,48,50,57,98,100,54,99,100,98,53,55,52,101,98,102,53,55,101,97,56,97,53,98,48,102,100,97,57,52,50,99,97,98,57,52,51,98,49,49,32,32,32,32,32,32,55,100,55,98,98,57,53,101,53,100,50,56,56,55,53,101,48,102,57,102,99,53,102,99,99,48,54,97,55,50,102,54,100,53,48,50,52,54,52,100,97,98,100,101,100,55,56,101,102,54,98,55,49,54,49,55,55,98,56,51,100,53,98,100,32,32,32,32,32,32,99,53,52,51,100,99,53,100,51,102,101,100,57,51,50,101,53,57,102,53,56,57,55,101,57,50,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+30720);allocate([54,102,53,56,97,48,102,51,51,52,50,52,49,48,54,97,51,98,54,102,97,50,99,98,102,56,55,55,53,49,48,101,52,97,99,50,49,32,32,32,32,32,32,99,51,101,101,52,55,56,53,49,101,57,55,100,49,50,57,57,54,50,50,50,97,99,51,53,54,54,100,52,99,99,98,48,98,56,51,100,49,54,52,48,55,52,97,98,102,55,100,101,54,53,53,102,99,50,52,52,54,100,97,49,55,56,49,35,41,32,32,40,112,32,35,48,48,101,56,54,49,98,55,48,48,101,49,55,101,56,97,102,101,54,56,51,55,101,55,53,49,50,101,51,53,98,54,99,97,49,49,100,48,97,101,52,55,100,56,98,56,53,49,54,49,99,54,55,98,97,102,54,52,51,55,55,50,49,51,32,32,32,32,32,32,102,101,53,50,100,55,55,50,102,50,48,51,53,98,51,99,97,56,51,48,97,102,52,49,100,56,97,52,49,50,48,101,49,99,49,99,55,48,100,49,50,99,99,50,50,102,48,48,100,50,56,100,51,49,100,100,52,56,97,56,100,52,50,52,102,49,35,41,32,32,40,113,32,35,48,48,102,55,97,55,99,97,53,51,54,55,99,54,54,49,102,56,101,54,50,100,102,51,52,102,48,100,48,53,99,49,48,99,56,56,101,53,52,57,50,51,52,56,100,100,55,98,100,100,99,57,52,50,99,57,97,56,102,51,54,57,102,57,32,32,32,32,32,32,51,53,97,48,55,55,56,53,100,50,100,98,56,48,53,50,49,53,101,100,55,56,54,101,52,50,56,53,100,102,49,54,53,56,101,101,100,51,99,101,56,52,102,52,54,57,98,56,49,98,53,48,100,51,53,56,52,48,55,98,52,97,100,51,54,49,35,41,32,32,40,117,32,35,51,48,52,53,53,57,97,57,101,97,100,53,54,100,50,51,48,57,100,50,48,51,56,49,49,97,54,52,49,98,98,49,97,48,57,54,50,54,98,99,56,101,98,51,54,102,102,102,97,50,51,99,57,54,56,101,99,53,98,100,56,57,49,101,32,32,32,32,32,32,101,98,98,97,102,99,55,51,97,101,54,54,54,101,48,49,98,97,55,99,56,57,57,48,98,97,101,48,54,99,99,50,98,98,101,49,48,98,55,53,101,54,57,102,99,97,99,98,51,53,51,97,54,52,55,51,48,55,57,100,56,101,57,98,35,41,41,41,0,40,112,117,98,108,105,99,45,107,101,121,32,40,114,115,97,32,32,40,110,32,35,48,48,101,48,99,101,57,54,102,57,48,98,54,99,57,101,48,50,102,51,57,50,50,98,101,97,100,97,57,51,102,101,53,48,97,56,55,53,101,97,99,54,98,99,99,49,56,98,98,57,97,57,99,102,50,101,56,52,57,54,53,99,97,97,32,32,32,32,32,32,50,100,49,102,102,57,53,97,55,102,53,52,50,52,54,53,99,54,99,48,99,49,57,100,50,55,54,101,52,53,50,54,99,101,48,52,56,56,54,56,97,55,97,57,49,52,102,100,51,52,51,99,99,51,97,56,55,100,100,55,52,50,57,49,32,32,32,32,32,32,102,102,99,53,54,53,53,48,54,100,53,98,98,98,50,53,99,98,97,99,54,97,48,101,50,100,100,49,102,56,98,99,97,97,98,48,100,52,97,50,57,99,50,102,51,55,99,57,53,48,102,51,54,51,52,56,52,98,102,50,54,57,102,55,32,32,32,32,32,32,56,57,49,52,52,48,52,54,52,98,97,102,55,57,56,50,55,101,48,51,97,51,54,101,55,48,98,56,49,52,57,51,56,101,101,98,100,99,54,51,101,57,54,52,50,52,55,98,101,55,53,100,99,53,56,98,48,49,52,98,55,101,97,50,53,49,35,41,32,32,40,101,32,35,48,49,48,48,48,49,35,41,41,41,0,107,101,121,32,99,111,110,115,105,115,116,101,110,99,121,0,115,105,103,110,0,40,100,97,116,97,32,40,102,108,97,103,115,32,112,107,99,115,49,41,32,40,104,97,115,104,32,115,104,97,49,32,35,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,48,48,97,97,98,98,99,99,100,100,101,101,102,102,49,48,50,48,51,48,52,48,35,41,41,0,40,100,97,116,97,32,40,102,108,97,103,115,32,112,107,99,115,49,41,32,40,104,97,115,104,32,115,104,97,49,32,35,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,48,48,97,97,98,98,99,99,100,100,101,101,102,102,56,48,50,48,51,48,52,48,35,41,41,0,99,111,110,118,101,114,116,105,110,103,32,100,97,116,97,32,102,97,105,108,101,100,0,115,105,103,110,105,110,103,32,102,97,105,108,101,100,0,118,101,114,105,102,121,32,102,97,105,108,101,100,0,98,97,100,32,115,105,103,110,97,116,117,114,101,32,110,111,116,32,100,101,116,101,99,116,101,100,0,101,110,99,114,121,112,116,0,40,100,97,116,97,32,40,102,108,97,103,115,32,114,97,119,41,32,40,118,97,108,117,101,32,37,109,41,41,0,101,110,99,114,121,112,116,32,102,97,105,108,101,100,0,101,110,99,45,118,97,108,0,103,99,114,121,95,112,107,95,100,101,99,114,121,112,116,32,114,101,116,117,114,110,101,100,32,103,97,114,98,97,103,101,0,99,105,112,104,101,114,116,101,120,116,32,109,97,116,99,104,101,115,32,112,108,97,105,110,116,101,120,116,0,100,101,99,114,121,112,116,32,102,97,105,108,101,100,0,118,97,108,117,101,0,100,101,99,114,121,112,116,32,114,101,116,117,114,110,101,100,32,110,111,32,112,108,97,105,110,116,101,120,116,0,109,105,115,109,97,116,99,104,0,83,72,65,49,0,48,33,48,9,6,5,43,14,3,2,26,5,0,4,20,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,53,0,49,46,50,46,56,52,48,46,49,48,48,52,48,46,52,46,51,0,49,46,51,46,49,52,46,51,46,50,46,50,54,0,49,46,51,46,49,52,46,51,46,50,46,50,57,0,49,46,50,46,56,52,48,46,49,48,48,52,53,46,52,46,49,0,169,153,62,54,71,6,129,106,186,62,37,113,120,80,194,108,156,208,216,157,0,132,152,62,68,28,59,210,110,186,174,74,161,249,81,41,229,229,70,112,241,0,52,170,151,60,212,196,218,164,246,30,235,43,219,173,39,49,101,52,1,111,0,83,72,65,50,50,52,0,48,45,48,13,6,9,96,134,72,1,101,3,4,2,4,5,0,4,28,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,52,0,35,9,125,34,52,5,216,34,134,66,164,119,189,162,85,179,42,173,188,228,189,160,179,247,227,108,157,167,0,97,98,99,100,98,99,100,101,99,100,101,102,100,101,102,103,101,102,103,104,102,103,104,105,103,104,105,106,104,105,106,107,105,106,107,108,106,107,108,109,107,108,109,110,108,109,110,111,109,110,111,112,110,111,112,113,0,117,56,139,22,81,39,118,204,93,186,93,161,253,137,1,80,176,198,69,92,180,245,139,25,82,82,37,37,0,32,121,70,85,152,12,145,216,187,180,193,234,151,97,138,75,240,63,66,88,25,72,178,238,78,231,173,103,0,186,120,22,191,143,1,207,234,65,65,64,222,93,174,34,35,176,3,97,163,150,23,122,156,180,16,255,97,242,0,21,173,0,36,141,106,97,210,6,56,184,229,192,38,147,12,62,96,57,163,60,228,89,100,255,33,103,246,236,237,212,25,219,6,193,0,205,199,110,92,153,20,251,146,129,161,199,226,132,215,62,103,241,128,154,72,164,151,32,14,4,109,57,204,199,17,44,208,0,83,72,65,50,53,54,0,48,49,48,13,6,9,96,134,72,1,101,3,4,2,1,5,0,4,32,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,49,0,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,49,0,83,72,65,53,49,50,0,48,81,48,13,6,9,96,134,72,1,101,3,4,2,3,5,0,4,64,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,51,0,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,51,0,115,104,111,114,116,32,115,116,114,105,110,103,0,97,98,99,0,203,0,117,63,69,163,94,139,181,160,61,105,154,198,80,7,39,44,50,171,14,222,209,99,26,139,96,90,67,255,91,237,128,134,7,43,161,231,204,35,88,186,236,161,52,200,37,167,0,108,111,110,103,32,115,116,114,105,110,103,0,97,98,99,100,101,102,103,104,98,99,100,101,102,103,104,105,99,100,101,102,103,104,105,106,100,101,102,103,104,105,106,107,101,102,103,104,105,106,107,108,102,103,104,105,106,107,108,109,103,104,105,106,107,108,109,110,104,105,106,107,108,109,110,111,105,106,107,108,109,110,111,112,106,107,108,109,110,111,112,113,107,108,109,110,111,112,113,114,108,109,110,111,112,113,114,115,109,110,111,112,113,114,115,116,110,111,112,113,114,115,116,117,0,9,51,12,51,247,17,71,232,61,25,47,199,130,205,27,71,83,17,27,23,59,59,5,210,47,160,128,134,227,176,247,18,252,199,199,26,85,126,45,185,102,195,233,250,145,116,96,57,0,111,110,101,32,109,105,108,108,105,111,110,32,34,97,34,0,157,14,24,9,113,100,116,203,8,110,131,78,49,10,74,28,237,20,158,156,0,242,72,82,121,114,206,197,112,76,42,91,7,184,179,220,56,236,196,235,174,151,221,216,127,61,137,133,0,100,105,103,101,115,116,0,221,175,53,161,147,97,122,186,204,65,115,73,174,32,65,49,18,230,250,78,137,169,126,162,10,158,238,230,75,85,211,154,33,146,153,42,39,79,193,168,54,186,60,35,163,254,235,189,69,77,68,35,100,60,232,14,42,154,201,79,165,76,164,159,0,142,149,155,117,218,227,19,218,140,244,247,40,20,252,20,63,143,119,121,198,235,159,127,161,114,153,174,173,182,136,144,24,80,29,40,158,73,0,247,228,51,27,153,222,196,181,67,58,199,211,41,238,182,221,38,84,94,150,229,91,135,75,233,9,0,231,24,72,61,12,231,105,100,78,46,66,199,188,21,180,99,142,31,152,177,59,32,68,40,86,50,168,3,175,169,115,235,222,15,242,68,135,126,166,10,76,176,67,44,229,119,195,27,235,0,156,92,44,73,170,46,78,173,178,23,173,140,192,155,0,83,72,65,51,56,52,0,48,65,48,13,6,9,96,134,72,1,101,3,4,2,2,5,0,4,48,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,50,0,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,50,0,84,87,79,70,73,83,72,0,159,88,159,92,246,18,44,50,182,191,236,47,42,232,195,90,212,145,219,22,231,177,195,158,134,203,8,107,120,159,84,25,1,159,152,9,222,23,17,133,143,170,195,163,186,32,251,195,84,119,111,102,105,115,104,45,49,50,56,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,84,119,111,102,105,115,104,45,49,50,56,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,212,59,183,85,110,163,46,70,242,162,130,183,212,91,78,13,87,255,115,157,77,201,44,27,215,252,1,112,12,200,33,111,144,175,233,27,178,136,84,79,44,50,220,35,155,38,53,230,108,180,86,28,64,191,10,151,5,147,28,182,212,8,231,250,84,119,111,102,105,115,104,45,50,53,54,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,84,119,111,102,105,115,104,45,50,53,54,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,37,115,10,0,0,1,23,2,46,24,83,3,106,47,147,25,52,84,69,4,92,107,182,48,166,148,75,26,140,53,129,85,170,70,13,5,36,93,135,108,155,183,193,49,43,167,163,149,152,76,202,27,230,141,115,54,205,130,18,86,98,171,240,71,79,14,189,6,212,37,210,94,39,136,102,109,214,156,121,184,8,194,223,50,104,44,253,168,138,164,90,150,41,153,34,77,96,203,228,28,123,231,59,142,158,116,244,55,216,206,249,131,111,19,178,87,225,99,220,172,196,241,175,72,10,80,66,15,186,190,199,7,222,213,120,38,101,211,209,95,227,40,33,137,89,103,252,110,177,215,248,157,243,122,58,185,198,9,65,195,174,224,219,51,68,105,146,45,82,254,22,169,12,139,128,165,74,91,181,151,201,42,162,154,192,35,134,78,188,97,239,204,17,229,114,29,61,124,235,232,233,60,234,143,125,159,236,117,30,245,62,56,246,217,63,207,118,250,31,132,160,112,237,20,144,179,126,88,251,226,32,100,208,221,119,173,218,197,64,242,57,176,247,73,180,11,127,81,21,67,145,16,113,187,238,191,133,200,161,1,2,4,8,16,32,64,128,77,154,121,242,169,31,62,124,248,189,55,110,220,245,167,3,6,12,24,48,96,192,205,215,227,139,91,182,33,66,132,69,138,89,178,41,82,164,5,10,20,40,80,160,13,26,52,104,208,237,151,99,198,193,207,211,235,155,123,246,161,15,30,60,120,240,173,23,46,92,184,61,122,244,165,7,14,28,56,112,224,141,87,174,17,34,68,136,93,186,57,114,228,133,71,142,81,162,9,18,36,72,144,109,218,249,191,51,102,204,213,231,131,75,150,97,194,201,223,243,171,27,54,108,216,253,183,35,70,140,85,170,25,50,100,200,221,247,163,11,22,44,88,176,45,90,180,37,74,148,101,202,217,255,179,43,86,172,21,42,84,168,29,58,116,232,157,119,238,145,111,222,241,175,19,38,76,152,125,250,185,63,126,252,181,39,78,156,117,234,153,127,254,177,47,94,188,53,106,212,229,135,67,134,65,130,73,146,105,210,233,159,115,230,129,79,158,113,226,137,95,190,49,98,196,197,199,195,203,219,251,187,59,118,236,149,103,206,209,239,147,107,214,225,143,83,166,1,2,4,8,16,32,64,128,77,154,121,242,169,31,62,124,248,189,55,110,220,245,167,3,6,12,24,48,96,192,205,215,227,139,91,182,33,66,132,69,138,89,178,41,82,164,5,10,20,40,80,160,13,26,52,104,208,237,151,99,198,193,207,211,235,155,123,246,161,15,30,60,120,240,173,23,46,92,184,61,122,244,165,7,14,28,56,112,224,141,87,174,17,34,68,136,93,186,57,114,228,133,71,142,81,162,9,18,36,72,144,109,218,249,191,51,102,204,213,231,131,75,150,97,194,201,223,243,171,27,54,108,216,253,183,35,70,140,85,170,25,50,100,200,221,247,163,11,22,44,88,176,45,90,180,37,74,148,101,202,217,255,179,43,86,172,21,42,84,168,29,58,116,232,157,119,238,145,111,222,241,175,19,38,76,152,125,250,185,63,126,252,181,39,78,156,117,234,153,127,254,177,47,94,188,53,106,212,229,135,67,134,65,130,73,146,105,210,233,159,115,230,129,79,158,113,226,137,95,190,49,98,196,197,199,195,203,169,117,103,243,179,198,232,244,4,219,253,123,163,251,118,200,154,74,146,211,128,230,120,107,228,69,221,125,209,232,56,75,13,214,198,50,53,216,152,253,24,55,247,113,236,241,108,225,67,48,117,15,55,248,38,27,250,135,19,250,148,6,72,63,242,94,208,186,139,174,48,91,132,138,84,0,223,188,35,157,25,109,91,193,61,177,89,14,243,128,174,93,162,210,130,213,99,160,1,132,131,7,46,20,217,181,81,144,155,44,124,163,166,178,235,115,165,76,190,84,22,146,12,116,227,54,97,81,192,56,140,176,58,189,245,90,115,252,44,96,37,98,11,150,187,108,78,66,137,247,107,16,83,124,106,40,180,39,241,140,225,19,230,149,189,156,69,199,226,36,244,70,182,59,102,112,204,202,149,227,3,133,86,203,212,17,28,208,30,147,215,184,251,166,195,131,142,32,181,255,233,159,207,119,191,195,186,204,234,3,119,111,57,8,175,191,51,64,201,231,98,43,113,226,129,121,121,12,9,170,173,130,36,65,205,58,249,234,216,185,229,228,197,154,185,164,77,151,68,126,8,218,134,122,231,23,161,102,29,148,170,161,237,29,6,61,112,240,178,222,210,179,65,11,123,114,160,167,17,28,49,239,194,209,39,83,144,62,32,143,246,51,96,38,255,95,150,236,92,118,177,42,171,73,158,129,156,136,82,238,27,33,95,196,147,26,10,235,239,217,145,197,133,57,73,153,238,205,45,173,79,49,143,139,59,1,71,24,135,35,109,221,70,31,214,78,62,45,105,249,100,72,42,79,206,242,203,101,47,142,252,120,151,92,5,88,122,25,172,141,127,229,213,152,26,87,75,103,14,127,167,5,90,100,40,175,20,99,63,182,41,254,136,245,60,183,76,60,2,165,184,206,218,233,176,104,23,68,85,224,31,77,138,67,125,105,87,41,199,46,141,172,116,21,183,89,196,168,159,10,114,158,126,110,21,71,34,223,18,52,88,53,7,106,153,207,52,220,110,34,80,201,222,192,104,155,101,137,188,212,219,237,248,171,200,18,168,162,43,13,64,82,220,187,254,2,50,47,164,169,202,215,16,97,33,30,240,180,211,80,93,4,15,246,0,194,111,22,157,37,54,134,66,86,74,85,94,9,193,190,224,145,117,243,198,244,219,123,251,200,74,211,230,107,69,125,232,75,214,50,216,253,55,113,241,225,48,15,248,27,135,250,6,63,94,186,174,91,138,0,188,157,109,193,177,14,128,93,210,213,160,132,7,20,181,144,44,163,178,115,76,84,146,116,54,81,56,176,189,90,252,96,98,150,108,66,247,16,124,40,39,140,19,149,156,199,36,70,59,112,202,227,133,203,17,208,147,184,166,131,32,255,159,119,195,204,3,111,8,191,64,231,43,226,121,12,170,130,65,58,234,185,228,154,164,151,126,218,122,23,102,148,161,29,61,240,222,179,11,114,167,28,239,209,83,62,143,51,38,95,236,118,42,73,129,136,238,33,196,26,235,217,197,57,153,205,173,49,139,1,24,35,221,31,78,45,249,72,79,242,101,142,120,92,88,25,141,229,152,87,103,127,5,100,175,99,182,254,245,183,60,165,206,233,104,68,224,77,67,105,41,46,172,21,89,168,10,158,110,71,223,52,53,106,207,220,34,201,192,155,137,212,237,171,18,162,13,82,187,2,47,169,215,97,30,180,80,4,246,194,22,37,134,86,85,9,190,145,169,103,179,232,4,253,163,118,154,146,128,120,228,221,209,56,13,198,53,152,24,247,236,108,67,117,55,38,250,19,148,72,242,208,139,48,132,84,223,35,25,91,61,89,243,174,162,130,99,1,131,46,217,81,155,124,166,235,165,190,22,12,227,97,192,140,58,245,115,44,37,11,187,78,137,107,83,106,180,241,225,230,189,69,226,244,182,102,204,149,3,86,212,28,30,215,251,195,142,181,233,207,191,186,234,119,57,175,51,201,98,113,129,121,9,173,36,205,249,216,229,197,185,77,68,8,134,231,161,29,170,237,6,112,178,210,65,123,160,17,49,194,39,144,32,246,96,255,150,92,177,171,158,156,82,27,95,147,10,239,145,133,73,238,45,79,143,59,71,135,109,70,214,62,105,100,42,206,203,47,252,151,5,122,172,127,213,26,75,14,167,90,40,20,63,41,136,60,76,2,184,218,176,23,85,31,138,125,87,199,141,116,183,196,159,114,126,21,34,18,88,7,153,52,110,80,222,104,101,188,219,248,200,168,43,64,220,254,50,164,202,16,33,240,211,93,15,0,111,157,54,66,74,94,193,224,84,87,79,70,73,83,72,49,50,56,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,110,111,110,99,101,32,98,117,102,102,101,114,32,108,111,99,107,58,32,37,115,10,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,110,111,110,99,101,32,98,117,102,102,101,114,32,108,111,99,107,58,32,37,115,10,0,37,115,46,42,0,37,115,46,88,0,101,99,95,105,110,118,109,58,32,105,110,118,101,114,115,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,58,10,0,32,32,97,0,32,32,112,0,37,115,58,32,71,101,116,116,105,110,103,32,89,45,99,111,111,114,100,105,110,97,116,101,32,111,110,32,37,115,32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,10,0,95,103,99,114,121,95,109,112,105,95,101,99,95,103,101,116,95,97,102,102,105,110,101,0,77,111,110,116,103,111,109,101,114,121,0,71,67,82,89,80,84,95,66,65,82,82,69,84,84,0,37,115,58,32,37,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,95,103,99,114,121,95,109,112,105,95,101,99,95,100,117,112,95,112,111,105,110,116,0,95,103,99,114,121,95,109,112,105,95,101,99,95,97,100,100,95,112,111,105,110,116,115,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,33,98,112,95,109,97,114,107,101,114,0,109,112,105,45,112,111,119,46,99,0,95,103,99,114,121,95,109,112,105,95,112,111,119,109,0,114,101,115,45,62,100,32,61,61,32,114,112,0,105,32,61,61,32,110,108,105,109,98,115,0,109,112,105,99,111,100,101,114,46,99,0,95,103,99,114,121,95,109,112,105,95,115,101,116,95,98,117,102,102,101,114,0,58,103,101,110,101,114,105,99,47,109,112,105,104,45,97,100,100,49,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,115,117,98,49,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,109,117,108,49,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,109,117,108,50,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,109,117,108,51,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,108,115,104,105,102,116,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,114,115,104,105,102,116,46,99,0,105,110,118,97,108,105,100,32,109,112,105,95,99,111,110,115,116,32,115,101,108,101,99,116,111,114,32,37,100,10,0,87,97,114,110,105,110,103,58,32,116,114,121,105,110,103,32,116,111,32,99,104,97,110,103,101,32,97,110,32,105,109,109,117,116,97,98,108,101,32,77,80,73,10,0,105,110,118,97,108,105,100,32,102,108,97,103,32,118,97,108,117,101,32,105,110,32,109,112,105,95,102,114,101,101,10,0,109,112,105,95,103,101,116,95,111,112,97,113,117,101,32,111,110,32,110,111,114,109,97,108,32,109,112,105,10,0,109,112,105,95,115,101,116,95,99,111,110,100,58,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,10,0,109,112,105,95,115,119,97,112,95,99,111,110,100,58,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,10,0,105,110,118,97,108,105,100,32,102,108,97,103,32,118,97,108,117,101,10,0,77,80,73,32,115,117,98,115,121,115,116,101,109,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,100,10,0,10,10,84,104,105,115,32,105,115,32,76,105,98,103,99,114,121,112,116,32,49,46,55,46,48,45,98,101,116,97,50,51,48,32,45,32,84,104,101,32,71,78,85,32,67,114,121,112,116,111,32,76,105,98,114,97,114,121,10,67,111,112,121,114,105,103,104,116,32,40,67,41,32,50,48,48,48,45,50,48,49,50,32,70,114,101,101,32,83,111,102,116,119,97,114,101,32,70,111,117,110,100,97,116,105,111,110,44,32,73,110,99,46,10,67,111,112,121,114,105,103,104,116,32,40,67,41,32,50,48,49,50,45,50,48,49,52,32,103,49,48,32,67,111,100,101,32,71,109,98,72,10,67,111,112,121,114,105,103,104,116,32,40,67,41,32,50,48,49,51,45,50,48,49,52,32,74,117,115,115,105,32,75,105,118,105,108,105,110,110,97,10,10,40,97,51,54,101,101,55,53,32,50,48,49,54,45,48,50,45,49,56,84,49,52,58,52,57,43,48,48,48,48,41,10,10,10,0,99,105,112,104,101,114,45,99,109,97,99,46,99,0,99,109,97,99,95,103,101,110,101,114,97,116,101,95,115,117,98,107,101,121,115,0,99,45,62,117,110,117,115,101,100,32,60,32,98,108,111,99,107,115,105,122,101,0,99,105,112,104,101,114,45,99,116,114,46,99,0,95,103,99,114,121,95,99,105,112,104,101,114,95,99,116,114,95,101,110,99,114,121,112,116,0,117,110,117,115,101,100,32,61,61,32,98,108,111,99,107,115,105,122,101,0,99,105,112,104,101,114,45,103,99,109,46,99,0,100,111,95,103,104,97,115,104,95,98,117,102,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,0,115,101,116,107,101,121,32,102,97,105,108,101,100,0,115,101,108,102,116,101,115,116,32,102,111,114,32,67,66,67,32,102,97,105,108,101,100,32,45,32,115,101,101,32,115,121,115,108,111,103,32,102,111,114,32,100,101,116,97,105,108,115,0,115,101,108,102,116,101,115,116,32,102,111,114,32,67,70,66,32,102,97,105,108,101,100,32,45,32,115,101,101,32,115,121,115,108,111,103,32,102,111,114,32,100,101,116,97,105,108,115,0,115,101,108,102,116,101,115,116,32,102,111,114,32,67,84,82,32,102,97,105,108,101,100,32,45,32,115,101,101,32,115,121,115,108,111,103,32,102,111,114,32,100,101,116,97,105,108,115,0,69,67,67,0,101,99,99,0,101,99,100,115,97,0,101,99,100,104,0,101,100,100,115,97,0,103,111,115,116,0,112,97,98,103,110,104,113,0,112,97,98,103,110,104,113,100,0,115,119,0,114,115,0,99,117,114,118,101,0,102,108,97,103,115,0,116,114,97,110,115,105,101,110,116,45,107,101,121,0,101,99,103,101,110,32,99,117,114,118,101,32,105,110,102,111,58,32,37,115,47,37,115,10,0,101,99,103,101,110,32,99,117,114,118,101,32,117,115,101,100,58,32,37,115,10,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,112,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,97,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,98,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,110,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,104,0,101,99,103,101,110,32,99,117,114,118,101,32,71,0,101,99,103,101,110,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,37,115,10,0,81,0,101,99,103,101,110,32,99,111,110,118,101,114,116,101,100,32,81,32,116,111,32,97,32,99,111,109,112,108,105,97,110,116,32,112,111,105,110,116,10,0,101,99,103,101,110,32,100,105,100,110,39,116,32,110,101,101,100,32,116,111,32,99,111,110,118,101,114,116,32,81,32,116,111,32,97,32,99,111,109,112,108,105,97,110,116,32,112,111,105,110,116,10,0,84,101,115,116,105,110,103,32,107,101,121,46,10,0,69,67,68,83,65,32,111,112,101,114,97,116,105,111,110,58,32,115,105,103,110,32,102,97,105,108,101,100,10,0,69,67,68,83,65,32,111,112,101,114,97,116,105,111,110,58,32,115,105,103,110,44,32,118,101,114,105,102,121,32,102,97,105,108,101,100,10,0,69,67,68,83,65,32,111,112,101,114,97,116,105,111,110,58,32,115,105,103,110,44,32,118,101,114,105,102,121,32,111,107,46,10,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,104,107,81,10,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,104,100,107,71,10,0,69,67,68,72,32,116,101,115,116,32,102,97,105,108,101,100,46,10,0,71,0,40,99,117,114,118,101,32,37,115,41,0,40,102,108,97,103,115,32,112,97,114,97,109,41,0,40,102,108,97,103,115,32,101,100,100,115,97,41,0,40,102,108,97,103,115,32,112,97,114,97,109,32,101,100,100,115,97,41,0,40,107,101,121,45,100,97,116,97,32,40,112,117,98,108,105,99,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,112,37,109,41,40,97,37,109,41,40,98,37,109,41,40,103,37,109,41,40,110,37,109,41,40,104,37,109,41,40,113,37,109,41,41,41,32,40,112,114,105,118,97,116,101,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,112,37,109,41,40,97,37,109,41,40,98,37,109,41,40,103,37,109,41,40,110,37,109,41,40,104,37,109,41,40,113,37,109,41,40,100,37,109,41,41,41,32,41,0,40,107,101,121,45,100,97,116,97,32,40,112,117,98,108,105,99,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,113,37,109,41,41,41,32,40,112,114,105,118,97,116,101,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,113,37,109,41,40,100,37,109,41,41,41,32,41,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,112,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,97,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,98,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,71,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,110,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,104,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,81,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,100,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,117,115,105,110,103,32,69,100,50,53,53,49,57,43,69,100,68,83,65,10,0,45,112,63,97,63,98,63,103,63,110,63,104,63,47,113,63,43,100,0,47,113,63,43,100,0,101,99,99,95,116,101,115,116,107,101,121,32,105,110,102,58,32,37,115,47,37,115,10,0,101,99,99,95,116,101,115,116,107,101,121,32,110,97,109,58,32,37,115,10,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,112,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,97,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,98,0,101,99,99,95,116,101,115,116,107,101,121,32,103,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,110,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,104,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,113,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,100,0,66,97,100,32,99,104,101,99,107,58,32,80,111,105,110,116,32,39,71,39,32,100,111,101,115,32,110,111,116,32,98,101,108,111,110,103,32,116,111,32,99,117,114,118,101,32,39,69,39,33,10,0,66,97,100,32,99,104,101,99,107,58,32,39,71,39,32,99,97,110,110,111,116,32,98,101,32,80,111,105,110,116,32,97,116,32,73,110,102,105,110,105,116,121,33,10,0,99,104,101,99,107,95,115,101,99,114,101,116,95,107,101,121,58,32,69,32,105,115,32,110,111,116,32,97,32,99,117,114,118,101,32,111,102,32,111,114,100,101,114,32,110,10,0,66,97,100,32,99,104,101,99,107,58,32,81,32,99,97,110,32,110,111,116,32,98,101,32,97,32,80,111,105,110,116,32,97,116,32,73,110,102,105,110,105,116,121,33,10,0,66,97,100,32,99,104,101,99,107,58,32,99,111,109,112,117,116,97,116,105,111,110,32,111,102,32,100,71,32,102,97,105,108,101,100,10,0,66,97,100,32,99,104,101,99,107,58,32,84,104,101,114,101,32,105,115,32,78,79,32,99,111,114,114,101,115,112,111,110,100,101,110,99,101,32,98,101,116,119,101,101,110,32,39,100,39,32,97,110,100,32,39,81,39,33,10,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,61,62,32,37,115,10,0,112,0,101,99,99,95,101,110,99,114,121,112,116,32,100,97,116,97,0,45,112,63,97,63,98,63,103,63,110,63,104,63,43,113,0,101,99,99,95,101,110,99,114,121,112,116,32,105,110,102,111,58,32,37,115,47,37,115,10,0,101,99,99,95,101,110,99,114,121,112,116,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,112,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,97,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,98,0,101,99,99,95,101,110,99,114,121,112,116,32,32,103,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,110,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,104,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,113,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,107,100,71,10,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,107,71,10,0,40,101,110,99,45,118,97,108,40,101,99,100,104,40,115,37,109,41,40,101,37,109,41,41,41,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,101,0,101,99,99,95,100,101,99,114,121,112,116,32,32,100,95,101,0,45,112,63,97,63,98,63,103,63,110,63,104,63,43,100,0,101,99,99,95,100,101,99,114,121,112,116,32,105,110,102,111,58,32,37,115,47,37,115,10,0,101,99,99,95,100,101,99,114,121,112,116,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,112,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,97,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,98,0,101,99,99,95,100,101,99,114,121,112,116,32,32,103,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,110,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,104,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,100,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,101,99,99,95,100,101,99,114,121,112,116,32,32,114,101,115,0,40,118,97,108,117,101,32,37,109,41,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,101,99,99,95,115,105,103,110,32,32,32,100,97,116,97,0,43,69,100,68,83,65,0,101,99,99,95,115,105,103,110,32,32,32,105,110,102,111,58,32,37,115,47,37,115,37,115,10,0,101,99,99,95,115,105,103,110,32,32,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,112,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,97,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,98,0,101,99,99,95,115,105,103,110,32,32,32,32,103,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,110,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,104,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,113,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,100,0,40,115,105,103,45,118,97,108,40,101,100,100,115,97,40,114,37,77,41,40,115,37,77,41,41,41,0,40,115,105,103,45,118,97,108,40,103,111,115,116,40,114,37,77,41,40,115,37,77,41,41,41,0,40,115,105,103,45,118,97,108,40,101,99,100,115,97,40,114,37,77,41,40,115,37,77,41,41,41,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,61,62,32,37,115,10,0,101,99,99,95,118,101,114,105,102,121,32,100,97,116,97,0,47,114,115,0,101,99,99,95,118,101,114,105,102,121,32,32,115,95,114,0,101,99,99,95,118,101,114,105,102,121,32,32,115,95,115,0,45,112,63,97,63,98,63,103,63,110,63,104,63,47,113,0,47,113,0,101,99,99,95,118,101,114,105,102,121,32,105,110,102,111,58,32,37,115,47,37,115,37,115,10,0,101,99,99,95,118,101,114,105,102,121,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,112,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,97,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,98,0,101,99,99,95,118,101,114,105,102,121,32,32,103,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,110,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,104,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,113,0,71,111,111,100,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,61,62,32,37,115,10,0,108,111,119,45,108,101,118,101,108,0,112,117,98,107,101,121,0,112,63,97,63,98,63,103,63,110,63,104,63,47,113,0,112,63,97,63,98,63,103,63,110,63,104,63,113,0,113,0,112,97,98,103,110,104,113,40,49,58,37,99,37,117,58,0,41,0,100,105,103,101,115,116,32,115,105,122,101,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,101,120,112,101,99,116,101,100,32,115,105,122,101,0,103,99,114,121,95,109,100,95,111,112,101,110,32,102,97,105,108,101,100,0,105,110,118,97,108,105,100,32,68,65,84,65,77,79,68,69,0,100,105,103,101,115,116,32,109,105,115,109,97,116,99,104,0,104,97,115,104,45,99,111,109,109,111,110,46,99,0,95,103,99,114,121,95,109,100,95,98,108,111,99,107,95,119,114,105,116,101,0,142,153,59,159,72,104,18,115,194,150,80,186,50,252,118,206,72,51,46,167,22,77,150,164,71,111,184,197,49,161,24,106,192,223,193,124,152,220,232,123,77,167,240,17,236,72,201,114,113,210,194,15,155,146,143,226,39,13,111,184,99,213,23,56,180,142,238,227,20,167,204,138,185,50,22,69,72,229,38,174,144,34,67,104,81,122,207,234,189,107,179,115,43,192,233,218,153,131,43,97,202,1,182,222,86,36,74,158,136,213,249,179,121,115,246,34,164,61,20,166,89,155,31,101,76,180,90,116,227,85,165,238,166,167,37,28,30,114,145,109,17,194,203,33,77,60,37,37,57,18,29,142,35,78,101,45,101,31,164,200,207,248,128,243,255,199,112,63,148,0,229,42,125,251,75,61,51,5,217,80,111,108,121,49,51,48,53,32,116,101,115,116,32,49,32,102,97,105,108,101,100,46,0,80,111,108,121,49,51,48,53,32,116,101,115,116,32,50,32,102,97,105,108,101,100,46,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,111,108,121,49,51,48,53,32,116,101,115,116,32,51,32,102,97,105,108,101,100,46,0,1,2,3,4,5,6,7,255,254,253,252,251,250,249,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,100,175,226,232,214,173,123,189,210,135,249,124,68,98,61,57,80,111,108,121,49,51,48,53,32,116,101,115,116,32,52,32,102,97,105,108,101,100,46,0,80,111,108,121,49,51,48,53,32,115,101,108,102,116,101,115,116,32,102,97,105,108,101,100,32,40,37,115,41,10,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,112,111,111,108,32,108,111,99,107,58,32,37,115,10,0,110,111,32,101,110,116,114,111,112,121,32,103,97,116,104,101,114,105,110,103,32,109,111,100,117,108,101,32,100,101,116,101,99,116,101,100,10,0,87,65,82,78,73,78,71,58,32,117,115,105,110,103,32,105,110,115,101,99,117,114,101,32,114,97,110,100,111,109,32,110,117,109,98,101,114,32,103,101,110,101,114,97,116,111,114,33,33,10,0,112,111,111,108,95,105,115,95,108,111,99,107,101,100,0,114,97,110,100,111,109,45,99,115,112,114,110,103,46,99,0,97,100,100,95,114,97,110,100,111,109,110,101,115,115,0,109,105,120,95,112,111,111,108,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,112,111,111,108,32,108,111,99,107,58,32,37,115,10,0,32,40,104,119,114,110,103,32,102,97,105,108,101,100,41,0,114,97,110,100,111,109,32,117,115,97,103,101,58,32,112,111,111,108,115,105,122,101,61,37,100,32,109,105,120,101,100,61,37,108,117,32,112,111,108,108,115,61,37,108,117,47,37,108,117,32,97,100,100,101,100,61,37,108,117,47,37,108,117,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,111,117,116,109,105,120,61,37,108,117,32,103,101,116,108,118,108,49,61,37,108,117,47,37,108,117,32,103,101,116,108,118,108,50,61,37,108,117,47,37,108,117,37,115,10,0,114,101,97,100,95,112,111,111,108,0,116,111,111,32,109,97,110,121,32,114,97,110,100,111,109,32,98,105,116,115,32,114,101,113,117,101,115,116,101,100,10,0,114,101,97,100,95,115,101,101,100,95,102,105,108,101,0,99,97,110,39,116,32,111,112,101,110,32,96,37,115,39,58,32,37,115,10,0,99,97,110,39,116,32,108,111,99,107,32,96,37,115,39,58,32,37,115,10,0,119,97,105,116,105,110,103,32,102,111,114,32,108,111,99,107,32,111,110,32,96,37,115,39,46,46,46,10,0,99,97,110,39,116,32,115,116,97,116,32,96,37,115,39,58,32,37,115,10,0,96,37,115,39,32,105,115,32,110,111,116,32,97,32,114,101,103,117,108,97,114,32,102,105,108,101,32,45,32,105,103,110,111,114,101,100,10,0,110,111,116,101,58,32,114,97,110,100,111,109,95,115,101,101,100,32,102,105,108,101,32,105,115,32,101,109,112,116,121,10,0,119,97,114,110,105,110,103,58,32,105,110,118,97,108,105,100,32,115,105,122,101,32,111,102,32,114,97,110,100,111,109,95,115,101,101,100,32,102,105,108,101,32,45,32,110,111,116,32,117,115,101,100,10,0,99,97,110,39,116,32,114,101,97,100,32,96,37,115,39,58,32,37,115,10,0,83,108,111,119,32,101,110,116,114,111,112,121,32,103,97,116,104,101,114,105,110,103,32,109,111,100,117,108,101,32,110,111,116,32,121,101,116,32,105,110,105,116,105,97,108,105,122,101,100,10,0,78,111,32,119,97,121,32,116,111,32,103,97,116,104,101,114,32,101,110,116,114,111,112,121,32,102,111,114,32,116,104,101,32,82,78,71,10,0,100,111,95,102,97,115,116,95,114,97,110,100,111,109,95,112,111,108,108,0,95,103,99,114,121,95,114],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+40960);allocate([110,103,99,115,112,114,110,103,95,115,101,116,95,115,101,101,100,95,102,105,108,101,0,110,111,116,101,58,32,114,97,110,100,111,109,95,115,101,101,100,32,102,105,108,101,32,110,111,116,32,117,112,100,97,116,101,100,10,0,99,97,110,39,116,32,99,114,101,97,116,101,32,96,37,115,39,58,32,37,115,10,0,99,97,110,39,116,32,119,114,105,116,101,32,96,37,115,39,58,32,37,115,10,0,99,97,110,39,116,32,99,108,111,115,101,32,96,37,115,39,58,32,37,115,10,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,33,110,111,110,99,101,95,99,111,110,116,101,120,116,45,62,116,101,115,116,95,100,116,95,112,116,114,0,114,97,110,100,111,109,45,102,105,112,115,46,99,0,95,103,99,114,121,95,114,110,103,102,105,112,115,95,105,110,105,116,105,97,108,105,122,101,0,33,115,116,100,95,114,110,103,95,99,111,110,116,101,120,116,45,62,116,101,115,116,95,100,116,95,112,116,114,0,33,115,116,114,111,110,103,95,114,110,103,95,99,111,110,116,101,120,116,45,62,116,101,115,116,95,100,116,95,112,116,114,0,109,101,109,111,114,121,32,99,111,114,114,117,112,116,105,111,110,32,100,101,116,101,99,116,101,100,32,105,110,32,82,78,71,32,99,111,110,116,101,120,116,32,37,112,10,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,114,110,103,95,99,116,120,0,102,105,112,115,95,114,110,103,95,105,115,95,108,111,99,107,101,100,0,120,57,51,49,95,103,101,110,101,114,97,116,101,95,107,101,121,0,101,114,114,111,114,32,99,114,101,97,116,105,110,103,32,99,105,112,104,101,114,32,99,111,110,116,101,120,116,32,102,111,114,32,82,78,71,58,32,37,115,10,0,33,101,110,116,114,111,112,121,95,99,111,108,108,101,99,116,95,98,117,102,102,101,114,0,103,101,116,95,101,110,116,114,111,112,121,0,101,110,116,114,111,112,121,95,99,111,108,108,101,99,116,95,99,98,0,101,110,116,114,111,112,121,95,99,111,108,108,101,99,116,95,98,117,102,102,101,114,0,101,114,114,111,114,32,103,101,116,116,105,110,103,32,101,110,116,114,111,112,121,32,100,97,116,97,10,0,101,114,114,111,114,32,99,114,101,97,116,105,110,103,32,107,101,121,32,102,111,114,32,82,78,71,58,32,37,115,10,0,120,57,51,49,95,114,101,115,101,101,100,0,120,57,51,49,95,103,101,110,101,114,97,116,101,95,115,101,101,100,0,108,101,110,103,116,104,32,61,61,32,49,54,0,102,111,114,107,32,119,105,116,104,111,117,116,32,112,114,111,112,101,114,32,114,101,45,105,110,105,116,105,97,108,105,122,97,116,105,111,110,32,100,101,116,101,99,116,101,100,32,105,110,32,82,78,71,0,120,57,51,49,95,97,101,115,95,100,114,105,118,101,114,0,114,110,103,95,99,116,120,45,62,99,105,112,104,101,114,95,104,100,0,114,110,103,95,99,116,120,45,62,105,115,95,115,101,101,100,101,100,0,116,101,109,112,118,97,108,117,101,95,102,111,114,95,120,57,51,49,95,97,101,115,95,100,114,105,118,101,114,0,120,57,51,49,95,103,101,116,95,100,116,0,103,101,116,116,105,109,101,111,102,100,97,121,40,41,32,102,97,105,108,101,100,58,32,37,115,10,0,101,110,99,114,121,112,116,95,97,101,115,0,65,69,83,32,101,110,99,114,121,112,116,105,111,110,32,105,110,32,82,78,71,32,102,97,105,108,101,100,58,32,37,115,10,0,100,117,112,108,105,99,97,116,101,32,49,50,56,32,98,105,116,32,98,108,111,99,107,32,114,101,116,117,114,110,101,100,32,98,121,32,82,78,71,0,115,101,118,101,114,101,32,101,114,114,111,114,32,103,101,116,116,105,110,103,32,114,97,110,100,111,109,10,0,115,101,108,102,116,101,115,116,95,107,97,116,0,101,114,114,111,114,32,99,114,101,97,116,105,110,103,32,99,105,112,104,101,114,32,99,111,110,116,101,120,116,32,102,111,114,32,82,78,71,0,185,202,127,214,160,245,211,66,25,109,132,145,118,28,59,190,72,178,130,152,104,194,128,0,0,0,40,24,0,0,37,0,82,23,141,41,162,213,132,18,157,137,154,69,130,2,247,119,66,156,8,61,130,244,138,64,102,181,73,39,171,66,199,195,14,183,97,60,254,176,190,115,247,110,109,111,29,163,20,250,187,75,193,14,197,251,205,70,190,40,97,231,3,43,55,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,247,149,189,74,82,226,158,215,19,211,19,250,32,233,141,188,200,209,229,17,89,82,247,250,55,56,180,197,206,178,176,154,13,156,197,13,22,225,188,237,207,96,98,9,157,32,131,126,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,128,0,129,1,130,2,131,3,160,32,161,33,162,34,163,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,150,237,204,195,221,4,127,117,99,25,55,111,21,34,87,86,122,20,118,119,149,23,126,200,146,232,221,21,203,31,188,177,37,62,46,162,65,27,221,245,33,72,65,113,179,141,47,76,101,114,114,111,114,32,115,101,116,116,105,110,103,32,107,101,121,32,102,111,114,32,82,78,71,0,88,57,46,51,49,32,82,78,71,32,99,111,114,101,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,0,82,78,71,32,111,117,116,112,117,116,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,107,110,111,119,110,32,118,97,108,117,101,0,102,111,114,107,32,100,101,116,101,99,116,105,111,110,32,102,97,105,108,101,100,0,114,97,110,100,111,109,0,75,65,84,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,83,121,115,116,101,109,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,83,121,115,116,101,109,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,98,117,102,102,101,114,0,114,97,110,100,111,109,45,115,121,115,116,101,109,46,99,0,103,101,116,95,114,97,110,100,111,109,0,115,121,115,116,101,109,95,114,110,103,95,105,115,95,108,111,99,107,101,100,0,114,101,97,100,95,99,98,0,114,101,97,100,95,99,98,95,98,117,102,102,101,114,0,101,114,114,111,114,32,114,101,97,100,105,110,103,32,114,97,110,100,111,109,32,102,114,111,109,32,115,121,115,116,101,109,32,82,78,71,32,40,114,99,61,37,100,41,10,0,47,100,101,118,47,114,97,110,100,111,109,0,111,112,101,110,95,100,101,118,95,114,97,110,100,111,109,0,119,97,105,116,95,100,101,118,95,114,97,110,100,111,109,0,99,97,110,39,116,32,111,112,101,110,32,37,115,58,32,37,115,10,0,101,114,114,111,114,32,115,101,116,116,105,110,103,32,70,68,95,67,76,79,69,88,69,67,32,111,110,32,102,100,32,37,100,58,32,37,115,10,0,47,100,101,118,47,117,114,97,110,100,111,109,0,110,101,101,100,95,101,110,116,114,111,112,121,0,115,101,108,101,99,116,40,41,32,101,114,114,111,114,58,32,37,115,10,0,98,111,103,117,115,32,114,101,97,100,32,102,114,111,109,32,114,97,110,100,111,109,32,100,101,118,105,99,101,32,40,110,61,37,100,41,10,0,114,101,97,100,32,101,114,114,111,114,32,111,110,32,114,97,110,100,111,109,32,100,101,118,105,99,101,58,32,37,115,10,0,99,104,111,111,115,105,110,103,32,97,32,114,97,110,100,111,109,32,107,32,111,102,32,37,117,32,98,105,116,115,32,97,116,32,115,101,99,108,101,118,101,108,32,37,100,10,0,9,107,32,116,111,111,32,108,97,114,103,101,32,45,32,97,103,97,105,110,10,0,9,107,32,105,115,32,122,101,114,111,32,45,32,97,103,97,105,110,10,0,1,0,101,99,100,115,97,32,115,105,103,110,32,104,97,115,104,32,32,0,101,99,100,115,97,32,115,105,103,110,32,114,101,115,117,108,116,32,114,32,0,101,99,100,115,97,32,115,105,103,110,32,114,101,115,117,108,116,32,115,32,0,103,111,115,116,32,115,105,103,110,32,104,97,115,104,32,32,0,101,99,99,32,115,105,103,110,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,103,111,115,116,32,115,105,103,110,32,114,101,115,117,108,116,32,114,32,0,103,111,115,116,32,115,105,103,110,32,114,101,115,117,108,116,32,115,32,0,101,99,99,32,118,101,114,105,102,121,58,32,82,101,106,101,99,116,101,100,10,0,101,99,99,32,118,101,114,105,102,121,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,32,32,32,32,32,120,0,32,32,32,32,32,114,0,32,32,32,32,32,115,0,101,99,99,32,118,101,114,105,102,121,58,32,78,111,116,32,118,101,114,105,102,105,101,100,10,0,101,99,99,32,118,101,114,105,102,121,58,32,65,99,99,101,112,116,101,100,10,0,33,34,108,111,99,107,32,65,66,73,32,118,101,114,115,105,111,110,34,0,112,111,115,105,120,45,108,111,99,107,46,99,0,103,101,116,95,108,111,99,107,95,111,98,106,101,99,116,0,115,116,114,101,97,109,45,62,102,108,97,103,115,46,119,114,105,116,105,110,103,0,101,115,116,114,101,97,109,46,99,0,101,115,95,102,108,117,115,104,0,33,115,116,114,101,97,109,45,62,102,108,97,103,115,46,119,114,105,116,105,110,103,0,101,115,95,101,109,112,116,121,0,83,117,99,99,101,115,115,0,71,101,110,101,114,97,108,32,101,114,114,111,114,0,85,110,107,110,111,119,110,32,112,97,99,107,101,116,0,85,110,107,110,111,119,110,32,118,101,114,115,105,111,110,32,105,110,32,112,97,99,107,101,116,0,73,110,118,97,108,105,100,32,112,117,98,108,105,99,32,107,101,121,32,97,108,103,111,114,105,116,104,109,0,73,110,118,97,108,105,100,32,100,105,103,101,115,116,32,97,108,103,111,114,105,116,104,109,0,66,97,100,32,112,117,98,108,105,99,32,107,101,121,0,66,97,100,32,115,101,99,114,101,116,32,107,101,121,0,66,97,100,32,115,105,103,110,97,116,117,114,101,0,78,111,32,112,117,98,108,105,99,32,107,101,121,0,67,104,101,99,107,115,117,109,32,101,114,114,111,114,0,66,97,100,32,112,97,115,115,112,104,114,97,115,101,0,73,110,118,97,108,105,100,32,99,105,112,104,101,114,32,97,108,103,111,114,105,116,104,109,0,75,101,121,114,105,110,103,32,111,112,101,110,0,73,110,118,97,108,105,100,32,112,97,99,107,101,116,0,73,110,118,97,108,105,100,32,97,114,109,111,114,0,78,111,32,117,115,101,114,32,73,68,0,78,111,32,115,101,99,114,101,116,32,107,101,121,0,87,114,111,110,103,32,115,101,99,114,101,116,32,107,101,121,32,117,115,101,100,0,66,97,100,32,115,101,115,115,105,111,110,32,107,101,121,0,85,110,107,110,111,119,110,32,99,111,109,112,114,101,115,115,105,111,110,32,97,108,103,111,114,105,116,104,109,0,78,117,109,98,101,114,32,105,115,32,110,111,116,32,112,114,105,109,101,0,73,110,118,97,108,105,100,32,101,110,99,111,100,105,110,103,32,109,101,116,104,111,100,0,73,110,118,97,108,105,100,32,101,110,99,114,121,112,116,105,111,110,32,115,99,104,101,109,101,0,73,110,118,97,108,105,100,32,115,105,103,110,97,116,117,114,101,32,115,99,104,101,109,101,0,73,110,118,97,108,105,100,32,97,116,116,114,105,98,117,116,101,0,78,111,32,118,97,108,117,101,0,78,111,116,32,102,111,117,110,100,0,86,97,108,117,101,32,110,111,116,32,102,111,117,110,100,0,83,121,110,116,97,120,32,101,114,114,111,114,0,66,97,100,32,77,80,73,32,118,97,108,117,101,0,73,110,118,97,108,105,100,32,112,97,115,115,112,104,114,97,115,101,0,73,110,118,97,108,105,100,32,115,105,103,110,97,116,117,114,101,32,99,108,97,115,115,0,82,101,115,111,117,114,99,101,115,32,101,120,104,97,117,115,116,101,100,0,73,110,118,97,108,105,100,32,107,101,121,114,105,110,103,0,84,114,117,115,116,32,68,66,32,101,114,114,111,114,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,0,73,110,118,97,108,105,100,32,117,115,101,114,32,73,68,0,85,110,101,120,112,101,99,116,101,100,32,101,114,114,111,114,0,84,105,109,101,32,99,111,110,102,108,105,99,116,0,75,101,121,115,101,114,118,101,114,32,101,114,114,111,114,0,87,114,111,110,103,32,112,117,98,108,105,99,32,107,101,121,32,97,108,103,111,114,105,116,104,109,0,84,114,105,98,117,116,101,32,116,111,32,68,46,32,65,46,0,87,101,97,107,32,101,110,99,114,121,112,116,105,111,110,32,107,101,121,0,73,110,118,97,108,105,100,32,107,101,121,32,108,101,110,103,116,104,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,83,121,110,116,97,120,32,101,114,114,111,114,32,105,110,32,85,82,73,0,73,110,118,97,108,105,100,32,85,82,73,0,78,101,116,119,111,114,107,32,101,114,114,111,114,0,85,110,107,110,111,119,110,32,104,111,115,116,0,83,101,108,102,116,101,115,116,32,102,97,105,108,101,100,0,68,97,116,97,32,110,111,116,32,101,110,99,114,121,112,116,101,100,0,68,97,116,97,32,110,111,116,32,112,114,111,99,101,115,115,101,100,0,85,110,117,115,97,98,108,101,32,112,117,98,108,105,99,32,107,101,121,0,85,110,117,115,97,98,108,101,32,115,101,99,114,101,116,32,107,101,121,0,73,110,118,97,108,105,100,32,118,97,108,117,101,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,99,104,97,105,110,0,77,105,115,115,105,110,103,32,99,101,114,116,105,102,105,99,97,116,101,0,78,111,32,100,97,116,97,0,66,117,103,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,73,110,118,97,108,105,100,32,111,112,101,114,97,116,105,111,110,32,99,111,100,101,0,84,105,109,101,111,117,116,0,73,110,116,101,114,110,97,108,32,101,114,114,111,114,0,69,79,70,32,40,103,99,114,121,112,116,41,0,73,110,118,97,108,105,100,32,111,98,106,101,99,116,0,80,114,111,118,105,100,101,100,32,111,98,106,101,99,116,32,105,115,32,116,111,111,32,115,104,111,114,116,0,80,114,111,118,105,100,101,100,32,111,98,106,101,99,116,32,105,115,32,116,111,111,32,108,97,114,103,101,0,77,105,115,115,105,110,103,32,105,116,101,109,32,105,110,32,111,98,106,101,99,116,0,78,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,67,111,110,102,108,105,99,116,105,110,103,32,117,115,101,0,73,110,118,97,108,105,100,32,99,105,112,104,101,114,32,109,111,100,101,0,73,110,118,97,108,105,100,32,102,108,97,103,0,73,110,118,97,108,105,100,32,104,97,110,100,108,101,0,82,101,115,117,108,116,32,116,114,117,110,99,97,116,101,100,0,73,110,99,111,109,112,108,101,116,101,32,108,105,110,101,0,73,110,118,97,108,105,100,32,114,101,115,112,111,110,115,101,0,78,111,32,97,103,101,110,116,32,114,117,110,110,105,110,103,0,65,103,101,110,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,100,97,116,97,0,85,110,115,112,101,99,105,102,105,99,32,65,115,115,117,97,110,32,115,101,114,118,101,114,32,102,97,117,108,116,0,71,101,110,101,114,97,108,32,65,115,115,117,97,110,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,115,101,115,115,105,111,110,32,107,101,121,0,73,110,118,97,108,105,100,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,115,117,112,112,111,114,116,101,100,32,97,108,103,111,114,105,116,104,109,0,78,111,32,112,105,110,101,110,116,114,121,0,112,105,110,101,110,116,114,121,32,101,114,114,111,114,0,66,97,100,32,80,73,78,0,73,110,118,97,108,105,100,32,110,97,109,101,0,66,97,100,32,100,97,116,97,0,73,110,118,97,108,105,100,32,112,97,114,97,109,101,116,101,114,0,87,114,111,110,103,32,99,97,114,100,0,78,111,32,100,105,114,109,110,103,114,0,100,105,114,109,110,103,114,32,101,114,114,111,114,0,67,101,114,116,105,102,105,99,97,116,101,32,114,101,118,111,107,101,100,0,78,111,32,67,82,76,32,107,110,111,119,110,0,67,82,76,32,116,111,111,32,111,108,100,0,76,105,110,101,32,116,111,111,32,108,111,110,103,0,78,111,116,32,116,114,117,115,116,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,108,101,100,0,66,97,100,32,67,65,32,99,101,114,116,105,102,105,99,97,116,101,0,67,101,114,116,105,102,105,99,97,116,101,32,101,120,112,105,114,101,100,0,67,101,114,116,105,102,105,99,97,116,101,32,116,111,111,32,121,111,117,110,103,0,85,110,115,117,112,112,111,114,116,101,100,32,99,101,114,116,105,102,105,99,97,116,101,0,85,110,107,110,111,119,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,115,117,112,112,111,114,116,101,100,32,112,114,111,116,101,99,116,105,111,110,0,67,111,114,114,117,112,116,101,100,32,112,114,111,116,101,99,116,105,111,110,0,65,109,98,105,103,117,111,117,115,32,110,97,109,101,0,67,97,114,100,32,101,114,114,111,114,0,67,97,114,100,32,114,101,115,101,116,32,114,101,113,117,105,114,101,100,0,67,97,114,100,32,114,101,109,111,118,101,100,0,73,110,118,97,108,105,100,32,99,97,114,100,0,67,97,114,100,32,110,111,116,32,112,114,101,115,101,110,116,0,78,111,32,80,75,67,83,49,53,32,97,112,112,108,105,99,97,116,105,111,110,0,78,111,116,32,99,111,110,102,105,114,109,101,100,0,67,111,110,102,105,103,117,114,97,116,105,111,110,32,101,114,114,111,114,0,78,111,32,112,111,108,105,99,121,32,109,97,116,99,104,0,73,110,118,97,108,105,100,32,105,110,100,101,120,0,73,110,118,97,108,105,100,32,73,68,0,78,111,32,83,109,97,114,116,67,97,114,100,32,100,97,101,109,111,110,0,83,109,97,114,116,67,97,114,100,32,100,97,101,109,111,110,32,101,114,114,111,114,0,85,110,115,117,112,112,111,114,116,101,100,32,112,114,111,116,111,99,111,108,0,66,97,100,32,80,73,78,32,109,101,116,104,111,100,0,67,97,114,100,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,100,0,85,110,115,117,112,112,111,114,116,101,100,32,111,112,101,114,97,116,105,111,110,0,87,114,111,110,103,32,107,101,121,32,117,115,97,103,101,0,78,111,116,104,105,110,103,32,102,111,117,110,100,0,87,114,111,110,103,32,98,108,111,98,32,116,121,112,101,0,77,105,115,115,105,110,103,32,118,97,108,117,101,0,72,97,114,100,119,97,114,101,32,112,114,111,98,108,101,109,0,80,73,78,32,98,108,111,99,107,101,100,0,67,111,110,100,105,116,105,111,110,115,32,111,102,32,117,115,101,32,110,111,116,32,115,97,116,105,115,102,105,101,100,0,80,73,78,115,32,97,114,101,32,110,111,116,32,115,121,110,99,101,100,0,73,110,118,97,108,105,100,32,67,82,76,0,66,69,82,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,66,69,82,0,69,108,101,109,101,110,116,32,110,111,116,32,102,111,117,110,100,0,73,100,101,110,116,105,102,105,101,114,32,110,111,116,32,102,111,117,110,100,0,73,110,118,97,108,105,100,32,116,97,103,0,73,110,118,97,108,105,100,32,108,101,110,103,116,104,0,73,110,118,97,108,105,100,32,107,101,121,32,105,110,102,111,0,85,110,101,120,112,101,99,116,101,100,32,116,97,103,0,78,111,116,32,68,69,82,32,101,110,99,111,100,101,100,0,78,111,32,67,77,83,32,111,98,106,101,99,116,0,73,110,118,97,108,105,100,32,67,77,83,32,111,98,106,101,99,116,0,85,110,107,110,111,119,110,32,67,77,83,32,111,98,106,101,99,116,0,85,110,115,117,112,112,111,114,116,101,100,32,67,77,83,32,111,98,106,101,99,116,0,85,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,0,85,110,115,117,112,112,111,114,116,101,100,32,67,77,83,32,118,101,114,115,105,111,110,0,85,110,107,110,111,119,110,32,97,108,103,111,114,105,116,104,109,0,73,110,118,97,108,105,100,32,99,114,121,112,116,111,32,101,110,103,105,110,101,0,80,117,98,108,105,99,32,107,101,121,32,110,111,116,32,116,114,117,115,116,101,100,0,68,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,0,75,101,121,32,101,120,112,105,114,101,100,0,83,105,103,110,97,116,117,114,101,32,101,120,112,105,114,101,100,0,69,110,99,111,100,105,110,103,32,112,114,111,98,108,101,109,0,73,110,118,97,108,105,100,32,115,116,97,116,101,0,68,117,112,108,105,99,97,116,101,100,32,118,97,108,117,101,0,77,105,115,115,105,110,103,32,97,99,116,105,111,110,0,65,83,78,46,49,32,109,111,100,117,108,101,32,110,111,116,32,102,111,117,110,100,0,73,110,118,97,108,105,100,32,79,73,68,32,115,116,114,105,110,103,0,73,110,118,97,108,105,100,32,116,105,109,101,0,73,110,118,97,108,105,100,32,67,82,76,32,111,98,106,101,99,116,0,85,110,115,117,112,112,111,114,116,101,100,32,67,82,76,32,118,101,114,115,105,111,110,0,73,110,118,97,108,105,100,32,99,101,114,116,105,102,105,99,97,116,101,32,111,98,106,101,99,116,0,85,110,107,110,111,119,110,32,110,97,109,101,0,65,32,108,111,99,97,108,101,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,0,78,111,116,32,108,111,99,107,101,100,0,80,114,111,116,111,99,111,108,32,118,105,111,108,97,116,105,111,110,0,73,110,118,97,108,105,100,32,77,65,67,0,73,110,118,97,108,105,100,32,114,101,113,117,101,115,116,0,85,110,107,110,111,119,110,32,101,120,116,101,110,115,105,111,110,0,85,110,107,110,111,119,110,32,99,114,105,116,105,99,97,108,32,101,120,116,101,110,115,105,111,110,0,76,111,99,107,101,100,0,85,110,107,110,111,119,110,32,111,112,116,105,111,110,0,85,110,107,110,111,119,110,32,99,111,109,109,97,110,100,0,78,111,116,32,111,112,101,114,97,116,105,111,110,97,108,0,78,111,32,112,97,115,115,112,104,114,97,115,101,32,103,105,118,101,110,0,78,111,32,80,73,78,32,103,105,118,101,110,0,78,111,116,32,101,110,97,98,108,101,100,0,78,111,32,99,114,121,112,116,111,32,101,110,103,105,110,101,0,77,105,115,115,105,110,103,32,107,101,121,0,84,111,111,32,109,97,110,121,32,111,98,106,101,99,116,115,0,76,105,109,105,116,32,114,101,97,99,104,101,100,0,78,111,116,32,105,110,105,116,105,97,108,105,122,101,100,0,77,105,115,115,105,110,103,32,105,115,115,117,101,114,32,99,101,114,116,105,102,105,99,97,116,101,0,78,111,32,107,101,121,115,101,114,118,101,114,32,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,101,108,108,105,112,116,105,99,32,99,117,114,118,101,0,85,110,107,110,111,119,110,32,101,108,108,105,112,116,105,99,32,99,117,114,118,101,0,68,117,112,108,105,99,97,116,101,100,32,107,101,121,0,65,109,98,105,103,117,111,117,115,32,114,101,115,117,108,116,0,78,111,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,87,114,111,110,103,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,66,97,100,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,67,111,110,102,108,105,99,116,32,105,110,32,116,104,101,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,66,114,111,107,101,110,32,112,117,98,108,105,99,32,107,101,121,0,66,114,111,107,101,110,32,115,101,99,114,101,116,32,107,101,121,0,73,110,118,97,108,105,100,32,77,65,67,32,97,108,103,111,114,105,116,104,109,0,79,112,101,114,97,116,105,111,110,32,102,117,108,108,121,32,99,97,110,99,101,108,108,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,121,101,116,32,102,105,110,105,115,104,101,100,0,66,117,102,102,101,114,32,116,111,111,32,115,104,111,114,116,0,73,110,118,97,108,105,100,32,108,101,110,103,116,104,32,115,112,101,99,105,102,105,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,83,116,114,105,110,103,32,116,111,111,32,108,111,110,103,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,109,97,116,99,104,101,100,32,112,97,114,101,110,116,104,101,115,101,115,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,83,45,101,120,112,114,101,115,115,105,111,110,32,110,111,116,32,99,97,110,111,110,105,99,97,108,0,66,97,100,32,99,104,97,114,97,99,116,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,66,97,100,32,113,117,111,116,97,116,105,111,110,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,90,101,114,111,32,112,114,101,102,105,120,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,78,101,115,116,101,100,32,100,105,115,112,108,97,121,32,104,105,110,116,115,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,109,97,116,99,104,101,100,32,100,105,115,112,108,97,121,32,104,105,110,116,115,0,85,110,101,120,112,101,99,116,101,100,32,114,101,115,101,114,118,101,100,32,112,117,110,99,116,117,97,116,105,111,110,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,66,97,100,32,104,101,120,97,100,101,99,105,109,97,108,32,99,104,97,114,97,99,116,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,79,100,100,32,104,101,120,97,100,101,99,105,109,97,108,32,110,117,109,98,101,114,115,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,66,97,100,32,111,99,116,97,108,32,99,104,97,114,97,99,116,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,76,101,103,97,99,121,32,107,101,121,0,82,101,113,117,101,115,116,32,116,111,111,32,115,104,111,114,116,0,82,101,113,117,101,115,116,32,116,111,111,32,108,111,110,103,0,79,98,106,101,99,116,32,105,115,32,105,110,32,116,101,114,109,105,110,97,116,105,111,110,32,115,116,97,116,101,0,78,111,32,99,101,114,116,105,102,105,99,97,116,101,32,99,104,97,105,110,0,67,101,114,116,105,102,105,99,97,116,101,32,105,115,32,116,111,111,32,108,97,114,103,101,0,73,110,118,97,108,105,100,32,114,101,99,111,114,100,0,84,104,101,32,77,65,67,32,100,111,101,115,32,110,111,116,32,118,101,114,105,102,121,0,85,110,101,120,112,101,99,116,101,100,32,109,101,115,115,97,103,101,0,67,111,109,112,114,101,115,115,105,111,110,32,111,114,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,65,32,99,111,117,110,116,101,114,32,119,111,117,108,100,32,119,114,97,112,0,70,97,116,97,108,32,97,108,101,114,116,32,109,101,115,115,97,103,101,32,114,101,99,101,105,118,101,100,0,78,111,32,99,105,112,104,101,114,32,97,108,103,111,114,105,116,104,109,0,77,105,115,115,105,110,103,32,99,108,105,101,110,116,32,99,101,114,116,105,102,105,99,97,116,101,0,67,108,111,115,101,32,110,111,116,105,102,105,99,97,116,105,111,110,32,114,101,99,101,105,118,101,100,0,84,105,99,107,101,116,32,101,120,112,105,114,101,100,0,66,97,100,32,116,105,99,107,101,116,0,85,110,107,110,111,119,110,32,105,100,101,110,116,105,116,121,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,114,101,113,117,101,115,116,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,118,101,114,105,102,121,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,104,97,110,103,101,32,99,105,112,104,101,114,32,109,101,115,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,108,105,101,110,116,32,104,101,108,108,111,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,115,101,114,118,101,114,32,104,101,108,108,111,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,115,101,114,118,101,114,32,104,101,108,108,111,32,100,111,110,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,115,104,97,107,101,0,66,97,100,32,102,105,110,105,115,104,101,100,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,115,101,114,118,101,114,32,107,101,121,32,101,120,99,104,97,110,103,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,108,105,101,110,116,32,107,101,121,32,101,120,99,104,97,110,103,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,111,103,117,115,32,115,116,114,105,110,103,0,70,111,114,98,105,100,100,101,110,0,75,101,121,32,100,105,115,97,98,108,101,100,0,78,111,116,32,112,111,115,115,105,98,108,101,32,119,105,116,104,32,97,32,99,97,114,100,32,98,97,115,101,100,32,107,101,121,0,73,110,118,97,108,105,100,32,108,111,99,107,32,111,98,106,101,99,116,0,71,101,110,101,114,97,108,32,73,80,67,32,101,114,114,111,114,0,73,80,67,32,97,99,99,101,112,116,32,99,97,108,108,32,102,97,105,108,101,100,0,73,80,67,32,99,111,110,110,101,99,116,32,99,97,108,108,32,102,97,105,108,101,100,0,73,110,118,97,108,105,100,32,73,80,67,32,114,101,115,112,111,110,115,101,0,73,110,118,97,108,105,100,32,118,97,108,117,101,32,112,97,115,115,101,100,32,116,111,32,73,80,67,0,73,110,99,111,109,112,108,101,116,101,32,108,105,110,101,32,112,97,115,115,101,100,32,116,111,32,73,80,67,0,76,105,110,101,32,112,97,115,115,101,100,32,116,111,32,73,80,67,32,116,111,111,32,108,111,110,103,0,78,101,115,116,101,100,32,73,80,67,32,99,111,109,109,97,110,100,115,0,78,111,32,100,97,116,97,32,99,97,108,108,98,97,99,107,32,105,110,32,73,80,67,0,78,111,32,105,110,113,117,105,114,101,32,99,97,108,108,98,97,99,107,32,105,110,32,73,80,67,0,78,111,116,32,97,110,32,73,80,67,32,115,101,114,118,101,114,0,78,111,116,32,97,110,32,73,80,67,32,99,108,105,101,110,116,0,80,114,111,98,108,101,109,32,115,116,97,114,116,105,110,103,32,73,80,67,32,115,101,114,118,101,114,0,73,80,67,32,114,101,97,100,32,101,114,114,111,114,0,73,80,67,32,119,114,105,116,101,32,101,114,114,111,114,0,84,111,111,32,109,117,99,104,32,100,97,116,97,32,102,111,114,32,73,80,67,32,108,97,121,101,114,0,85,110,101,120,112,101,99,116,101,100,32,73,80,67,32,99,111,109,109,97,110,100,0,85,110,107,110,111,119,110,32,73,80,67,32,99,111,109,109,97,110,100,0,73,80,67,32,115,121,110,116,97,120,32,101,114,114,111,114,0,73,80,67,32,99,97,108,108,32,104,97,115,32,98,101,101,110,32,99,97,110,99,101,108,108,101,100,0,78,111,32,105,110,112,117,116,32,115,111,117,114,99,101,32,102,111,114,32,73,80,67,0,78,111,32,111,117,116,112,117,116,32,115,111,117,114,99,101,32,102,111,114,32,73,80,67,0,73,80,67,32,112,97,114,97,109,101,116,101,114,32,101,114,114,111,114,0,85,110,107,110,111,119,110,32,73,80,67,32,105,110,113,117,105,114,101,0,71,101,110,101,114,97,108,32,76,68,65,80,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,97,116,116,114,105,98,117,116,101,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,110,97,109,101,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,115,101,99,117,114,105,116,121,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,115,101,114,118,105,99,101,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,117,112,100,97,116,101,32,101,114,114,111,114,0,69,120,112,101,114,105,109,101,110,116,97,108,32,76,68,65,80,32,101,114,114,111,114,32,99,111,100,101,0,80,114,105,118,97,116,101,32,76,68,65,80,32,101,114,114,111,114,32,99,111,100,101,0,79,116,104,101,114,32,103,101,110,101,114,97,108,32,76,68,65,80,32,101,114,114,111,114,0,76,68,65,80,32,99,111,110,110,101,99,116,105,110,103,32,102,97,105,108,101,100,32,40,88,41,0,76,68,65,80,32,114,101,102,101,114,114,97,108,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,0,76,68,65,80,32,99,108,105,101,110,116,32,108,111,111,112,0,78,111,32,76,68,65,80,32,114,101,115,117,108,116,115,32,114,101,116,117,114,110,101,100,0,76,68,65,80,32,99,111,110,116,114,111,108,32,110,111,116,32,102,111,117,110,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,76,68,65,80,0,76,68,65,80,32,99,111,110,110,101,99,116,32,101,114,114,111,114,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,105,110,32,76,68,65,80,0,66,97,100,32,112,97,114,97,109,101,116,101,114,32,116,111,32,97,110,32,76,68,65,80,32,114,111,117,116,105,110,101,0,85,115,101,114,32,99,97,110,99,101,108,108,101,100,32,76,68,65,80,32,111,112,101,114,97,116,105,111,110,0,66,97,100,32,76,68,65,80,32,115,101,97,114,99,104,32,102,105,108,116,101,114,0,85,110,107,110,111,119,110,32,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,32,109,101,116,104,111,100,0,84,105,109,101,111,117,116,32,105,110,32,76,68,65,80,0,76,68,65,80,32,100,101,99,111,100,105,110,103,32,101,114,114,111,114,0,76,68,65,80,32,101,110,99,111,100,105,110,103,32,101,114,114,111,114,0,76,68,65,80,32,108,111,99,97,108,32,101,114,114,111,114,0,67,97,110,110,111,116,32,99,111,110,116,97,99,116,32,76,68,65,80,32,115,101,114,118,101,114,0,76,68,65,80,32,115,117,99,99,101,115,115,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,115,32,101,114,114,111,114,0,76,68,65,80,32,112,114,111,116,111,99,111,108,32,101,114,114,111,114,0,84,105,109,101,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,32,105,110,32,76,68,65,80,0,83,105,122,101,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,32,105,110,32,76,68,65,80,0,76,68,65,80,32,99,111,109,112,97,114,101,32,102,97,108,115,101,0,76,68,65,80,32,99,111,109,112,97,114,101,32,116,114,117,101,0,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,32,109,101,116,104,111,100,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,116,114,111,110,103,40,101,114,41,32,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,32,114,101,113,117,105,114,101,100,0,80,97,114,116,105,97,108,32,76,68,65,80,32,114,101,115,117,108,116,115,43,114,101,102,101,114,114,97,108,32,114,101,99,101,105,118,101,100,0,76,68,65,80,32,114,101,102,101,114,114,97,108,0,65,100,109,105,110,105,115,116,114,97,116,105,118,101,32,76,68,65,80,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,0,67,114,105,116,105,99,97,108,32,76,68,65,80,32,101,120,116,101,110,115,105,111,110,32,105,115,32,117,110,97,118,97,105,108,97,98,108,101,0,67,111,110,102,105,100,101,110,116,105,97,108,105,116,121,32,114,101,113,117,105,114,101,100,32,98,121,32,76,68,65,80,0,76,68,65,80,32,83,65,83,76,32,98,105,110,100,32,105,110,32,112,114,111,103,114,101,115,115,0,78,111,32,115,117,99,104,32,76,68,65,80,32,97,116,116,114,105,98,117,116,101,0,85,110,100,101,102,105,110,101,100,32,76,68,65,80,32,97,116,116,114,105,98,117,116,101,32,116,121,112,101,0,73,110,97,112,112,114,111,112,114,105,97,116,101,32,109,97,116,99,104,105,110,103,32,105,110,32,76,68,65,80,0,67,111,110,115,116,114,97,105,110,116,32,118,105,111,108,97,116,105,111,110,32,105,110,32,76,68,65,80,0,76,68,65,80,32,116,121,112,101,32,111,114,32,118,97,108,117,101,32,101,120,105,115,116,115,0,73,110,118,97,108,105,100,32,115,121,110,116,97,120,32,105,110,32,76,68,65,80,0,78,111,32,115,117,99,104,32,76,68,65,80,32,111,98,106,101,99,116,0,76,68,65,80,32,97,108,105,97,115,32,112,114,111,98,108,101,109,0,73,110,118,97,108,105,100,32,68,78,32,115,121,110,116,97,120,32,105,110,32,76,68,65,80,0,76,68,65,80,32,101,110,116,114,121,32,105,115,32,97,32,108,101,97,102,0,76,68,65,80,32,97,108,105,97,115,32,100,101,114,101,102,101,114,101,110,99,105,110,103,32,112,114,111,98,108,101,109,0,76,68,65,80,32,112,114,111,120,121,32,97,117,116,104,111,114,105,122,97,116,105,111,110,32,102,97,105,108,117,114,101,32,40,88,41,0,73,110,97,112,112,114,111,112,114,105,97,116,101,32,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,0,73,110,118,97,108,105,100,32,76,68,65,80,32,99,114,101,100,101,110,116,105,97,108,115,0,73,110,115,117,102,102,105,99,105,101,110,116,32,97,99,99,101,115,115,32,102,111,114,32,76,68,65,80,0,76,68,65,80,32,115,101,114,118,101,114,32,105,115,32,98,117,115,121,0,76,68,65,80,32,115,101,114,118,101,114,32,105,115,32,117,110,97,118,97,105,108,97,98,108,101,0,76,68,65,80,32,115,101,114,118,101,114,32,105,115,32,117,110,119,105,108,108,105,110,103,32,116,111,32,112,101,114,102,111,114,109,0,76,111,111,112,32,100,101,116,101,99,116,101,100,32,98,121,32,76,68,65,80,0,76,68,65,80,32,110,97,109,105,110,103,32,118,105,111,108,97,116,105,111,110,0,76,68,65,80,32,111,98,106,101,99,116,32,99,108,97,115,115,32,118,105,111,108,97,116,105,111,110,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,110,111,110,45,108,101,97,102,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,82,68,78,0,65,108,114,101,97,100,121,32,101,120,105,115,116,115,32,40,76,68,65,80,41,0,67,97,110,110,111,116,32,109,111,100,105,102,121,32,76,68,65,80,32,111,98,106,101,99,116,32,99,108,97,115,115,0,76,68,65,80,32,114,101,115,117,108,116,115,32,116,111,111,32,108,97,114,103,101,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,97,102,102,101,99,116,115,32,109,117,108,116,105,112,108,101,32,68,83,65,115,0,86,105,114,116,117,97,108,32,76,68,65,80,32,108,105,115,116,32,118,105,101,119,32,101,114,114,111,114,0,79,116,104,101,114,32,76,68,65,80,32,101,114,114,111,114,0,82,101,115,111,117,114,99,101,115,32,101,120,104,97,117,115,116,101,100,32,105,110,32,76,67,85,80,0,83,101,99,117,114,105,116,121,32,118,105,111,108,97,116,105,111,110,32,105,110,32,76,67,85,80,0,73,110,118,97,108,105,100,32,100,97,116,97,32,105,110,32,76,67,85,80,0,85,110,115,117,112,112,111,114,116,101,100,32,115,99,104,101,109,101,32,105,110,32,76,67,85,80,0,82,101,108,111,97,100,32,114,101,113,117,105,114,101,100,32,105,110,32,76,67,85,80,0,76,68,65,80,32,99,97,110,99,101,108,108,101,100,0,78,111,32,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,116,111,32,99,97,110,99,101,108,0,84,111,111,32,108,97,116,101,32,116,111,32,99,97,110,99,101,108,32,76,68,65,80,0,67,97,110,110,111,116,32,99,97,110,99,101,108,32,76,68,65,80,0,76,68,65,80,32,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,0,80,114,111,120,105,101,100,32,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,32,98,121,32,76,68,65,80,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,50,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,51,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,52,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,53,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,54,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,55,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,56,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,57,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,48,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,49,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,50,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,51,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,52,0,85,115,101,114,32,100,101,102,105,110,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+51200);allocate([100,32,101,114,114,111,114,32,99,111,100,101,32,49,53,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,54,0,83,121,115,116,101,109,32,101,114,114,111,114,32,119,47,111,32,101,114,114,110,111,0,85,110,107,110,111,119,110,32,115,121,115,116,101,109,32,101,114,114,111,114,0,69,110,100,32,111,102,32,102,105,108,101,0,85,110,107,110,111,119,110,32,101,114,114,111,114,32,99,111,100,101,0,97,109,111,117,110,116,46,99,0,84,65,76,69,82,95,97,109,111,117,110,116,95,99,109,112,0,65,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,46,10,0,84,65,76,69,82,95,97,109,111,117,110,116,95,115,117,98,116,114,97,99,116,0,84,65,76,69,82,95,97,109,111,117,110,116,95,97,100,100,0,18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40,41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67,68,69,70,71,72,73,16,16,16,74,75,76,77,78,16,16,16,79,80,16,16,16,16,81,16,16,16,16,16,16,16,16,16,17,17,17,82,83,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,84,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,85,16,16,16,16,86,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,87,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,88,89,90,91,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,92,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,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,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,0,0,0,0,0,0,0,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4,255,255,127,255,255,255,127,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,195,255,3,0,31,80,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,223,60,64,215,255,255,251,255,255,255,255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,254,255,255,255,127,2,254,255,255,255,255,0,0,0,0,0,255,191,182,0,255,255,255,7,7,0,0,0,255,7,255,255,255,255,255,255,255,254,255,195,255,255,255,255,255,255,255,255,255,255,255,255,239,31,254,225,255,159,0,0,255,255,255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255,255,255,3,0,255,255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255,1,0,0,0,0,0,0,0,0,253,31,0,0,0,0,0,0,240,3,255,127,255,255,255,255,255,255,255,239,255,223,225,255,207,255,254,254,238,159,249,255,255,253,197,227,159,89,128,176,207,255,3,0,238,135,249,255,255,253,109,195,135,25,2,94,192,255,63,0,238,191,251,255,255,253,237,227,191,27,1,0,207,255,0,0,238,159,249,255,255,253,237,227,159,25,192,176,207,255,2,0,236,199,61,214,24,199,255,195,199,29,129,0,192,255,0,0,238,223,253,255,255,253,239,227,223,29,96,3,207,255,0,0,236,223,253,255,255,253,239,227,223,29,96,64,207,255,6,0,236,223,253,255,255,255,255,231,223,93,128,0,207,255,0,252,236,255,127,252,255,255,251,47,127,128,95,255,0,0,12,0,254,255,255,255,255,127,255,7,63,32,255,3,0,0,0,0,150,37,240,254,174,236,255,59,95,32,255,243,0,0,0,0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,255,255,254,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,255,3,255,255,231,193,255,255,127,64,255,51,255,255,255,255,191,32,255,255,255,255,255,247,255,255,255,255,255,255,255,255,255,61,127,61,255,255,255,255,255,61,255,255,255,255,61,127,61,255,127,255,255,255,255,255,255,255,61,255,255,255,255,255,255,255,255,135,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,31,0,254,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,159,255,255,254,255,255,7,255,255,255,255,255,255,255,255,255,199,1,0,255,223,15,0,255,255,15,0,255,255,15,0,255,223,13,0,255,255,255,255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,3,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,7,255,255,255,255,255,255,255,255,63,0,255,255,255,31,255,15,255,1,192,255,255,255,255,63,31,0,255,255,255,255,255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,255,255,255,255,255,255,127,254,255,31,0,255,3,255,3,128,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,243,255,255,255,255,255,255,191,255,3,0,255,255,255,255,255,255,63,0,255,227,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,222,111,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,0,0,0,0,0,0,0,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,132,252,47,62,80,189,255,243,224,67,0,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,0,255,255,255,255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255,255,255,255,255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127,255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254,255,255,255,255,255,255,255,255,255,255,247,224,255,255,255,255,63,254,255,255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,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,63,0,0,0,0,0,0,0,0,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,31,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255,255,127,240,143,255,255,255,128,255,255,255,255,255,255,255,255,255,255,0,0,0,0,128,255,252,255,255,255,255,255,255,255,255,255,255,255,255,121,15,0,255,7,0,0,0,0,0,0,0,0,0,255,187,247,255,255,255,0,0,0,255,255,255,255,255,255,15,0,255,255,255,255,255,255,255,255,15,0,255,3,0,0,252,8,255,255,255,255,255,7,255,255,255,255,7,0,255,255,255,31,255,255,255,255,255,255,247,255,0,128,255,3,0,0,0,0,255,255,255,255,255,255,127,0,255,63,255,3,255,255,127,4,255,255,255,255,255,255,255,127,5,0,0,56,255,255,60,0,126,126,126,0,127,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,95,219,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,255,255,252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,255,3,254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,255,127,252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,0,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,31,255,255,255,255,255,255,1,0,0,0,0,0,255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,0,255,255,255,63,255,255,255,255,15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,3,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,145,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,63,0,255,255,255,3,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,239,254,255,255,15,0,0,0,0,0,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,1,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,255,255,255,63,0,0,0,192,255,0,0,252,255,255,255,255,255,255,1,0,0,255,255,255,1,255,3,255,255,255,255,255,255,199,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,30,0,255,3,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,255,63,0,255,3,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,127,0,0,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,255,255,1,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,255,255,255,31,0,255,255,255,255,255,127,0,0,248,255,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,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,255,255,255,255,255,223,255,255,255,255,255,255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,255,123,95,252,253,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,63,255,255,255,253,255,255,247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,255,253,255,255,255,253,255,255,247,207,255,255,255,255,255,255,239,255,255,255,150,254,247,10,132,234,150,170,150,247,247,94,255,251,255,15,238,251,255,15,0,0,0,0,0,0,0,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,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,18,16,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,16,16,34,35,16,36,37,38,39,40,41,42,43,16,44,45,46,17,47,48,17,17,49,17,17,17,50,51,52,53,54,55,56,57,17,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,58,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,59,16,60,61,62,63,64,65,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,66,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,67,16,16,68,16,69,70,71,16,72,16,73,16,16,16,16,74,75,76,77,16,16,78,16,79,80,16,16,16,16,81,16,16,16,16,16,16,16,16,16,16,16,16,16,82,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,83,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,84,85,86,87,16,16,88,89,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,90,16,91,92,93,94,95,96,97,98,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,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,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,0,0,0,254,255,0,252,1,0,0,248,1,0,0,120,0,0,0,0,255,251,223,251,0,0,128,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,252,255,224,175,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,32,64,176,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,134,254,255,255,255,0,64,73,0,0,0,0,0,24,0,223,255,0,200,0,0,0,0,0,0,0,1,0,60,0,0,0,0,0,0,0,0,0,0,0,0,16,224,1,30,0,96,255,191,0,0,0,0,0,0,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,207,3,0,0,0,3,0,32,255,127,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,0,0,0,16,0,32,30,0,48,0,1,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,252,15,0,0,0,0,0,0,0,16,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,3,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,253,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,255,7,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,255,0,0,0,0,0,0,0,16,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,63,2,0,0,0,0,0,0,0,0,0,4,0,0,0,0,16,0,0,0,0,0,0,128,0,128,192,223,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,254,255,255,255,0,252,255,255,0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,192,255,223,255,7,0,0,0,0,0,0,0,0,0,0,128,6,0,252,0,0,24,62,0,0,128,191,0,204,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,96,255,255,255,31,0,0,255,3,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,1,0,0,24,0,0,0,0,0,0,0,0,0,56,0,0,0,0,16,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,254,127,47,0,0,255,3,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,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,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,255,255,255,255,0,0,0,192,0,0,0,0,0,0,0,0,1,0,224,159,0,0,0,0,127,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,16,0,0,252,255,255,255,31,0,0,0,0,0,12,0,0,0,0,0,0,64,0,12,240,0,0,0,0,0,0,192,248,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,255,0,255,255,255,33,16,0,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,127,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,3,224,0,224,0,224,0,96,128,248,255,255,255,252,255,255,255,255,255,127,31,252,241,127,255,127,0,0,255,255,255,3,0,0,255,255,255,255,1,0,123,3,208,193,175,66,0,12,31,188,255,255,0,0,0,0,0,2,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,15,0,255,255,255,255,127,0,0,0,255,7,0,0,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,252,255,255,254,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,31,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,135,3,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,127,255,15,0,0,0,0,0,0,0,0,255,255,255,251,255,255,255,255,255,255,255,255,255,255,15,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,63,0,0,0,255,15,30,255,255,255,1,252,193,224,0,0,0,0,0,0,0,0,0,0,0,30,1,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,15,0,0,0,255,255,255,127,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,127,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,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,0,0,0,0,0,0,192,0,224,0,0,0,0,0,0,0,0,0,0,0,128,15,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,255,255,127,0,3,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,8,0,0,0,15,255,3,0,0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,16,192,0,0,255,255,3,7,0,0,0,0,0,248,0,0,0,0,8,128,0,0,0,0,0,0,0,0,0,0,8,0,255,63,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,0,0,128,11,0,0,0,0,0,0,0,128,2,0,0,192,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,255,255,255,3,127,0,255,255,255,255,247,255,127,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,254,255,0,252,1,0,0,248,1,0,0,248,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,127,0,48,135,255,255,255,255,255,143,255,0,0,0,0,0,0,224,255,255,7,255,15,0,0,0,0,0,0,255,255,255,255,255,63,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,143,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,255,0,255,1,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,255,0,0,0,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,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,63,252,255,63,0,0,0,3,0,0,0,0,0,0,254,3,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,225,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,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,63,0,255,255,255,255,127,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,255,255,255,255,255,255,255,255,63,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,255,255,255,255,255,127,0,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,8,0,0,0,8,0,0,32,0,0,0,32,0,0,128,0,0,0,128,0,0,0,2,0,0,0,2,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,127,254,127,254,255,254,255,0,0,0,0,255,7,255,255,255,127,255,255,255,255,255,255,255,15,255,255,255,255,255,7,0,0,0,0,0,0,0,0,192,255,255,255,7,0,255,255,255,255,255,7,255,1,3,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,1,0,191,255,255,255,255,255,255,255,255,31,255,255,15,0,255,255,255,255,223,7,0,0,255,255,1,0,255,255,255,255,255,255,255,127,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,30,255,255,255,255,255,255,255,63,15,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,255,255,255,255,255,255,255,225,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,114,119,97,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+61440);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]}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;function _pthread_mutex_lock(){}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};var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var _stdin=allocate(1,"i32*",ALLOC_STATIC);var _stdout=allocate(1,"i32*",ALLOC_STATIC);var _stderr=allocate(1,"i32*",ALLOC_STATIC);var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),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}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),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 ___syscall192(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get(),prot=SYSCALLS.get(),flags=SYSCALLS.get(),fd=SYSCALLS.get(),off=SYSCALLS.get();off<<=12;var ptr;var allocated=false;if(fd===-1){ptr=_malloc(len);if(!ptr)return-ERRNO_CODES.ENOMEM;_memset(ptr,0,len);allocated=true}else{var info=FS.getStream(fd);if(!info)return-ERRNO_CODES.EBADF;var res=FS.mmap(info,HEAPU8,addr,len,off,prot,flags);ptr=res.ptr;allocated=res.allocated}SYSCALLS.mappings[ptr]={malloc:ptr,len:len,allocated:allocated,fd:fd,flags:flags};return ptr}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall194(which,varargs){SYSCALLS.varargs=varargs;try{var fd=SYSCALLS.get(),zero=SYSCALLS.getZero(),length=SYSCALLS.get64();FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall202(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall199(){return ___syscall202.apply(null,arguments)}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 _pthread_mutex_init(){}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _UItoD=true;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=allocate(44,"i8",ALLOC_STATIC);var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);var _tzname=allocate(8,"i32*",ALLOC_STATIC);var _daylight=allocate(1,"i32*",ALLOC_STATIC);var _timezone=allocate(1,"i32*",ALLOC_STATIC);function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function ___syscall77(which,varargs){SYSCALLS.varargs=varargs;try{var who=SYSCALLS.get(),usage=SYSCALLS.get();_memset(usage,0,136);HEAP32[usage>>2]=1;HEAP32[usage+4>>2]=2;HEAP32[usage+8>>2]=3;HEAP32[usage+12>>2]=4;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Ashr"]=_bitshift64Ashr;Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}var _environ=allocate(1,"i32*",ALLOC_STATIC);var ___environ=_environ;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _pthread_mutex_unlock(){}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall191(which,varargs){SYSCALLS.varargs=varargs;try{var resource=SYSCALLS.get(),rlim=SYSCALLS.get();HEAP32[rlim>>2]=-1;HEAP32[rlim+4>>2]=-1;HEAP32[rlim+8>>2]=-1;HEAP32[rlim+12>>2]=-1;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;var _BItoD=true;function _pthread_mutex_destroy(){}function ___syscall201(){return ___syscall202.apply(null,arguments)}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall64(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.ppid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;var _BDtoILow=true;function ___syscall75(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}var _floor=Math_floor;var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);Module["_llvm_cttz_i32"]=_llvm_cttz_i32;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();if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;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})};Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Shl"]=_bitshift64Shl;function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);Runtime.stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(Runtime.stackSave());return self.LLVM_SAVEDSTACKS.length-1}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|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 ___syscall340(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),resource=SYSCALLS.get(),new_limit=SYSCALLS.get(),old_limit=SYSCALLS.get();if(old_limit){HEAP32[old_limit>>2]=-1;HEAP32[old_limit+4>>2]=-1;HEAP32[old_limit+8>>2]=-1;HEAP32[old_limit+12>>2]=-1}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,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<12){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 _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}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}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);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");function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_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_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_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_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_iiiii":invoke_iiiii,"invoke_viiiiii":invoke_viiiiii,"invoke_iii":invoke_iii,"invoke_viiii":invoke_viiii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"_pthread_mutex_init":_pthread_mutex_init,"___syscall64":___syscall64,"___syscall63":___syscall63,"___syscall6":___syscall6,"___syscall202":___syscall202,"___setErrNo":___setErrNo,"___syscall20":___syscall20,"_llvm_stackrestore":_llvm_stackrestore,"___assert_fail":___assert_fail,"_floor":_floor,"__addDays":__addDays,"_localtime_r":_localtime_r,"_tzset":_tzset,"_emscripten_set_main_loop_timing":_emscripten_set_main_loop_timing,"_sbrk":_sbrk,"___syscall192":___syscall192,"___syscall191":___syscall191,"___syscall197":___syscall197,"___syscall195":___syscall195,"___syscall194":___syscall194,"___syscall199":___syscall199,"_sysconf":_sysconf,"_strftime":_strftime,"_clock":_clock,"__arraySum":__arraySum,"_emscripten_memcpy_big":_emscripten_memcpy_big,"___syscall91":___syscall91,"___buildEnvironment":___buildEnvironment,"_pthread_mutex_destroy":_pthread_mutex_destroy,"_pthread_self":_pthread_self,"___syscall75":___syscall75,"_pthread_mutex_unlock":_pthread_mutex_unlock,"___syscall77":___syscall77,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall33":___syscall33,"___syscall54":___syscall54,"___unlock":___unlock,"__isLeapYear":__isLeapYear,"_emscripten_set_main_loop":_emscripten_set_main_loop,"___syscall10":___syscall10,"___syscall3":___syscall3,"___syscall340":___syscall340,"___lock":___lock,"_abort":_abort,"___syscall5":___syscall5,"___syscall4":___syscall4,"_time":_time,"_pthread_mutex_lock":_pthread_mutex_lock,"_gettimeofday":_gettimeofday,"___syscall201":___syscall201,"_atexit":_atexit,"___syscall140":___syscall140,"_localtime":_localtime,"___syscall142":___syscall142,"_pthread_cleanup_push":_pthread_cleanup_push,"___syscall145":___syscall145,"___syscall146":___syscall146,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// 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=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=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=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_viiiii;var fa=env.invoke_vi;var ga=env.invoke_vii;var ha=env.invoke_ii;var ia=env.invoke_viii;var ja=env.invoke_v;var ka=env.invoke_iiiii;var la=env.invoke_viiiiii;var ma=env.invoke_iii;var na=env.invoke_viiii;var oa=env._pthread_cleanup_pop;var pa=env.___syscall221;var qa=env._pthread_mutex_init;var ra=env.___syscall64;var sa=env.___syscall63;var ta=env.___syscall6;var ua=env.___syscall202;var va=env.___setErrNo;var wa=env.___syscall20;var xa=env._llvm_stackrestore;var ya=env.___assert_fail;var za=env._floor;var Aa=env.__addDays;var Ba=env._localtime_r;var Ca=env._tzset;var Da=env._emscripten_set_main_loop_timing;var Ea=env._sbrk;var Fa=env.___syscall192;var Ga=env.___syscall191;var Ha=env.___syscall197;var Ia=env.___syscall195;var Ja=env.___syscall194;var Ka=env.___syscall199;var La=env._sysconf;var Ma=env._strftime;var Na=env._clock;var Oa=env.__arraySum;var Pa=env._emscripten_memcpy_big;var Qa=env.___syscall91;var Ra=env.___buildEnvironment;var Sa=env._pthread_mutex_destroy;var Ta=env._pthread_self;var Ua=env.___syscall75;var Va=env._pthread_mutex_unlock;var Wa=env.___syscall77;var Xa=env._llvm_stacksave;var Ya=env._getenv;var Za=env.___syscall33;var _a=env.___syscall54;var $a=env.___unlock;var ab=env.__isLeapYear;var bb=env._emscripten_set_main_loop;var cb=env.___syscall10;var db=env.___syscall3;var eb=env.___syscall340;var fb=env.___lock;var gb=env._abort;var hb=env.___syscall5;var ib=env.___syscall4;var jb=env._time;var kb=env._pthread_mutex_lock;var lb=env._gettimeofday;var mb=env.___syscall201;var nb=env._atexit;var ob=env.___syscall140;var pb=env._localtime;var qb=env.___syscall142;var rb=env._pthread_cleanup_push;var sb=env.___syscall145;var tb=env.___syscall146;var ub=0.0; // EMSCRIPTEN_START_FUNCS -function Gb(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Hb(){return i|0}function Ib(a){a=a|0;i=a}function Jb(a,b){a=a|0;b=b|0;i=a;j=b}function Kb(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function Lb(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 Mb(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 Nb(a){a=a|0;C=a}function Ob(){return C|0}function Pb(){var a=0,b=0,d=0;a=Cc(8,19098,45)|0;b=ge()|0;d=a;c[d>>2]=b;c[d+4>>2]=C;return a|0}function Qb(a,b){a=a|0;b=b|0;var c=0;c=Cc(64,19098,64)|0;ld(a,b,c);return c|0}function Rb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+32|0;d=b;e=a;f=c[e>>2]|0;g=c[e+4>>2]|0;e=c[a+8>>2]|0;c[d>>2]=a;c[d+4>>2]=a+12;a=d+8|0;c[a>>2]=f;c[a+4>>2]=g;c[d+16>>2]=e;Fw(19105,d)|0;i=b;return}function Sb(a){a=a|0;var b=0;b=Cc(32,19098,116)|0;bd(a,b);return b|0}function Tb(a,b){a=a|0;b=b|0;var c=0,d=0;c=Cc(64,19098,131)|0;d=(kd(a,b,c)|0)==-1;return (d?0:c)|0}function Ub(a){a=a|0;var b=0,c=0;b=Cc(32,19098,151)|0;c=(dd(a,Kv(a)|0,b)|0)==1;return (c?b:0)|0}function Vb(a){a=a|0;var b=0,c=0,d=0;b=i;i=i+32|0;c=b;if((dd(a,Kv(a)|0,c)|0)!=1){d=0;i=b;return d|0}a=Cc(32,19098,173)|0;$c(c,a);d=a;i=b;return d|0}function Wb(a){a=a|0;var b=0;b=Cc(32,19098,190)|0;$c(a,b);return b|0}function Xb(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];a=ae(d)|0;i=b;return a|0}function Yb(a){a=a|0;Ec(a,19098,213);return}function Zb(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;c[d>>2]=jw(8)|0;c[d+4>>2]=jw(1302)|0;e=Cc(64,19098,234)|0;hd(a,d,e)|0;i=b;return e|0}function _b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;c[e>>2]=jw(8)|0;c[e+4>>2]=jw(1303)|0;f=jd(1303,e,a,b)|0;i=d;return f|0}function $b(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(!(gv(a,19142)|0)){e=jd(1200,b,c,d)|0;return e|0}if(gv(a,19158)|0){e=-1;return e|0}e=jd(1101,b,c,d)|0;return e|0}function ac(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;a[b+c>>0]=0;do if(gv(b,19173)|0){if(!(gv(b,19206)|0)){f=jw(1303)|0;break}if(!(gv(b,19142)|0)){f=jw(1200)|0;break}else{g=0;return g|0}}else f=jw(1025)|0;while(0);b=e+8|0;c=jw(b)|0;h=Cc(b,19098,329)|0;a[h>>0]=c;a[h+1>>0]=c>>8;a[h+2>>0]=c>>16;a[h+3>>0]=c>>24;c=h+4|0;a[c>>0]=f;a[c+1>>0]=f>>8;a[c+2>>0]=f>>16;a[c+3>>0]=f>>24;if(!e){g=h;return g|0}Dx(h+64|0,d|0,e|0)|0;g=h;return g|0}function bc(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=d+8|0;f=Cc(e,19098,348)|0;Dx(f+8|0,c|0,d|0)|0;d=jw(b)|0;b=f+4|0;a[b>>0]=d;a[b+1>>0]=d>>8;a[b+2>>0]=d>>16;a[b+3>>0]=d>>24;d=jw(e)|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;return f|0}function cc(a){a=a|0;var b=0,c=0;b=~~+M(+(+(((Kv(a)|0)*5|0)>>>3>>>0)))>>>0;c=Cc(b,19098,373)|0;de(a,Kv(a)|0,c,b)|0;a=Od(c,b)|0;Ec(c,19098,213);return a|0}function dc(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=Qd(a,d)|0;a=ce(c[d>>2]|0,e)|0;Ec(c[d>>2]|0,19098,213);i=b;return a|0}function ec(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;g=Cc(64,19098,416)|0;h=Kv(a)|0;c[f>>2]=0;c[f+4>>2]=0;j=(wd(g,64,a,h,b,d,f)|0)==1;i=e;return (j?g:0)|0}function fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;g=Cc(32,19098,441)|0;h=Kv(a)|0;c[f>>2]=0;c[f+4>>2]=0;j=(wd(g,32,a,h,b,d,f)|0)==1;i=e;return (j?g:0)|0}function gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;g=Cc(64,19098,464)|0;h=Kv(a)|0;c[f>>2]=0;c[f+4>>2]=0;j=(wd(g,64,a,h,b,d,f)|0)==1;i=e;return (j?g:0)|0}function hc(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,n=0;j=i;i=i+80|0;k=j+48|0;l=j+24|0;m=j;if((Ou(h,k)|0)!=1){n=0;i=j;return n|0}if((Ou(h,l)|0)!=1){n=0;i=j;return n|0}if((Ou(h,m)|0)!=1){n=0;i=j;return n|0}h=k;c[h>>2]=a;c[h+4>>2]=b;c[k+8>>2]=f;f=l;c[f>>2]=d;c[f+4>>2]=e;c[l+8>>2]=g;if((Vu(m,k,l)|0)!=1){n=0;i=j;return n|0}l=Cc(24,19098,512)|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];c[l+16>>2]=c[m+16>>2];c[l+20>>2]=c[m+20>>2];n=l;i=j;return n|0}function ic(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;j=i;i=i+224|0;k=j;Nd(f,k+88|0);Mu(k+40|0,d);Mu(k+64|0,e);e=k+8|0;d=b;b=e+32|0;do{a[e>>0]=a[d>>0]|0;e=e+1|0;d=d+1|0}while((e|0)<(b|0));c[k>>2]=jw(216)|0;c[k+4>>2]=jw(1200)|0;ld(g,h,k+152|0);h=Cc(216,19098,567)|0;Dx(h|0,k|0,216)|0;i=j;return h|0}function jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+80|0;e=d;c[e>>2]=72;c[e+4>>2]=1201;f=e+8|0;g=a;a=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(a|0));g=Cc(64,19098,593)|0;hd(b,e,g)|0;i=d;return g|0}function kc(a){a=a|0;var b=0;b=Cc(64,19098,635)|0;Nd(a,b);return b|0}function lc(b,d,e,f,g,h,j,k,l,m,n){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;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;o=i;i=i+272|0;p=o+32|0;q=o+40|0;r=o+24|0;s=o+16|0;t=o+8|0;u=o;v=Mx(f|0,0,1e6,0)|0;f=r;c[f>>2]=v;c[f+4>>2]=C;f=Mx(g|0,0,1e6,0)|0;g=s;c[g>>2]=f;c[g+4>>2]=C;g=Mx(h|0,0,1e6,0)|0;h=t;c[h>>2]=g;c[h+4>>2]=C;h=Mx(j|0,0,1e6,0)|0;j=u;c[j>>2]=h;c[j+4>>2]=C;Nd(b,q+168|0);b=q+8|0;j=d;h=b+32|0;do{a[b>>0]=a[j>>0]|0;b=b+1|0;j=j+1|0}while((b|0)<(h|0));c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];r=le(p)|0;j=q+40|0;c[j>>2]=r;c[j+4>>2]=C;c[p>>2]=c[s>>2];c[p+4>>2]=c[s+4>>2];s=le(p)|0;j=q+48|0;c[j>>2]=s;c[j+4>>2]=C;c[p>>2]=c[t>>2];c[p+4>>2]=c[t+4>>2];t=le(p)|0;j=q+56|0;c[j>>2]=t;c[j+4>>2]=C;c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];u=le(p)|0;p=q+64|0;c[p>>2]=u;c[p+4>>2]=C;Mu(q+72|0,k);Mu(q+96|0,l);Mu(q+120|0,m);Mu(q+144|0,n);c[q+4>>2]=jw(1025)|0;c[q>>2]=jw(232)|0;n=(jd(1025,q,e,d)|0)==1&1;i=o;return n|0}function mc(a,b,d,e,f,g,h,j,k,l,m,n,o,p,q,r,s,t,u){a=a|0;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;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;var v=0,w=0,x=0,y=0,z=0,A=0,B=0;q=i;i=i+192|0;p=q+160|0;v=q+96|0;w=q+72|0;x=q+48|0;y=q+24|0;z=q;A=~~+M(+(+(((Kv(a)|0)*5|0)>>>3>>>0)))>>>0;B=Cc(A,19098,373)|0;de(a,Kv(a)|0,B,A)|0;a=Od(B,A)|0;Ec(B,19098,213);de(b,Kv(b)|0,p,32)|0;de(d,Kv(d)|0,v,64)|0;Ou(l,w)|0;l=w;c[l>>2]=j;c[l+4>>2]=0;c[w+8>>2]=k;Ou(o,x)|0;o=x;c[o>>2]=m;c[o+4>>2]=0;c[x+8>>2]=n;Ou(r,y)|0;r=y;c[r>>2]=m;c[r+4>>2]=0;c[y+8>>2]=n;Ou(u,z)|0;u=z;c[u>>2]=s;c[u+4>>2]=0;c[z+8>>2]=t;t=lc(a,p,v,e,f,g,h,w,x,y,z)|0;Ld(a);i=q;return t|0}function nc(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;g=i;i=i+160|0;h=g+8|0;j=g;k=g+80|0;l=g+16|0;m=Mx(d|0,0,1e6,0)|0;d=j;c[d>>2]=m;c[d+4>>2]=C;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];j=le(h)|0;h=k+8|0;c[h>>2]=j;c[h+4>>2]=C;h=nd()|0;if(e){j=0;do{Nd(c[b+(j<<2)>>2]|0,l);od(h,l,64);j=j+1|0}while((j|0)!=(e|0))}pd(h,k+16|0);c[k>>2]=jw(80)|0;c[k+4>>2]=jw(1035)|0;h=(jd(1035,k,f,a)|0)==1&1;i=g;return h|0}function oc(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;g=i;i=i+96|0;h=g+64|0;j=g;k=i;i=i+((1*(d<<2)|0)+15&-16)|0;de(a,Kv(a)|0,h,32)|0;de(f,Kv(f)|0,j,64)|0;f=(d|0)==0;if(f){l=nc(h,k,e,d,j)|0;i=g;return l|0}else m=0;do{a=c[b+(m<<2)>>2]|0;n=~~+M(+(+(((Kv(a)|0)*5|0)>>>3>>>0)))>>>0;o=Cc(n,19098,373)|0;de(a,Kv(a)|0,o,n)|0;a=Od(o,n)|0;Ec(o,19098,213);c[k+(m<<2)>>2]=a;m=m+1|0}while((m|0)!=(d|0));m=nc(h,k,e,d,j)|0;if(f){l=m;i=g;return l|0}else p=0;do{Ld(c[k+(p<<2)>>2]|0);p=p+1|0}while((p|0)!=(d|0));l=m;i=g;return l|0}function pc(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;j=i;i=i+256|0;k=j+24|0;l=j+96|0;m=j+16|0;n=j+8|0;o=j;p=j+64|0;q=j+32|0;r=p;s=b;t=r+32|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));r=q;s=g;t=r+32|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));r=l+72|0;s=p;t=r+32|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));p=Mx(d|0,0,1e6,0)|0;d=m;c[d>>2]=p;c[d+4>>2]=C;d=Mx(e|0,0,1e6,0)|0;e=n;c[e>>2]=d;c[e+4>>2]=C;e=Mx(f|0,0,1e6,0)|0;f=o;c[f>>2]=e;c[f+4>>2]=C;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];m=le(k)|0;f=C;e=l+104|0;d=e;a[d>>0]=m;a[d+1>>0]=m>>8;a[d+2>>0]=m>>16;a[d+3>>0]=m>>24;m=e+4|0;a[m>>0]=f;a[m+1>>0]=f>>8;a[m+2>>0]=f>>16;a[m+3>>0]=f>>24;c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];n=le(k)|0;f=C;m=l+112|0;e=m;a[e>>0]=n;a[e+1>>0]=n>>8;a[e+2>>0]=n>>16;a[e+3>>0]=n>>24;n=m+4|0;a[n>>0]=f;a[n+1>>0]=f>>8;a[n+2>>0]=f>>16;a[n+3>>0]=f>>24;c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];o=le(k)|0;k=C;f=l+120|0;n=f;a[n>>0]=o;a[n+1>>0]=o>>8;a[n+2>>0]=o>>16;a[n+3>>0]=o>>24;o=f+4|0;a[o>>0]=k;a[o+1>>0]=k>>8;a[o+2>>0]=k>>16;a[o+3>>0]=k>>24;r=l+128|0;s=q;t=r+32|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));s=jw(1024)|0;r=l+64|0;t=l+68|0;a[t>>0]=s;a[t+1>>0]=s>>8;a[t+2>>0]=s>>16;a[t+3>>0]=s>>24;s=jw(96)|0;a[r>>0]=s;a[r+1>>0]=s>>8;a[r+2>>0]=s>>16;a[r+3>>0]=s>>24;s=(jd(1024,r,h,b)|0)==1&1;i=j;return s|0}function qc(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+352|0;k=j+24|0;l=j+192|0;m=j+16|0;n=j+8|0;o=j;p=j+160|0;q=j+128|0;r=j+96|0;s=j+32|0;de(b,Kv(b)|0,q,32)|0;de(g,Kv(g)|0,r,32)|0;de(h,Kv(h)|0,s,64)|0;h=p;g=r;r=h+32|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(r|0));h=l+72|0;g=q;r=h+32|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(r|0));b=Mx(d|0,0,1e6,0)|0;d=m;c[d>>2]=b;c[d+4>>2]=C;d=Mx(e|0,0,1e6,0)|0;e=n;c[e>>2]=d;c[e+4>>2]=C;e=Mx(f|0,0,1e6,0)|0;f=o;c[f>>2]=e;c[f+4>>2]=C;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];m=le(k)|0;f=C;e=l+104|0;d=e;a[d>>0]=m;a[d+1>>0]=m>>8;a[d+2>>0]=m>>16;a[d+3>>0]=m>>24;m=e+4|0;a[m>>0]=f;a[m+1>>0]=f>>8;a[m+2>>0]=f>>16;a[m+3>>0]=f>>24;c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];n=le(k)|0;f=C;m=l+112|0;e=m;a[e>>0]=n;a[e+1>>0]=n>>8;a[e+2>>0]=n>>16;a[e+3>>0]=n>>24;n=m+4|0;a[n>>0]=f;a[n+1>>0]=f>>8;a[n+2>>0]=f>>16;a[n+3>>0]=f>>24;c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];o=le(k)|0;k=C;f=l+120|0;n=f;a[n>>0]=o;a[n+1>>0]=o>>8;a[n+2>>0]=o>>16;a[n+3>>0]=o>>24;o=f+4|0;a[o>>0]=k;a[o+1>>0]=k>>8;a[o+2>>0]=k>>16;a[o+3>>0]=k>>24;h=l+128|0;g=p;r=h+32|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(r|0));g=jw(1024)|0;h=l+64|0;r=l+68|0;a[r>>0]=g;a[r+1>>0]=g>>8;a[r+2>>0]=g>>16;a[r+3>>0]=g>>24;g=jw(96)|0;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;g=(jd(1024,h,s,q)|0)==1&1;i=j;return g|0}function rc(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;n=i;i=i+368|0;o=n+16|0;p=n+24|0;q=n+8|0;r=n;s=n+328|0;t=n+296|0;u=p+8|0;v=b;b=u+64|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));u=p+72|0;v=d;b=u+64|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));u=s;v=l;b=u+32|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));u=t;v=k;b=u+32|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));k=Mx(e|0,0,1e6,0)|0;e=q;c[e>>2]=k;c[e+4>>2]=C;e=Mx(f|0,0,1e6,0)|0;f=r;c[f>>2]=e;c[f+4>>2]=C;c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];q=le(o)|0;f=p+136|0;c[f>>2]=q;c[f+4>>2]=C;c[o>>2]=c[r>>2];c[o+4>>2]=c[r+4>>2];r=le(o)|0;o=p+144|0;c[o>>2]=r;c[o+4>>2]=C;o=Hc(g,0)|0;g=p+152|0;c[g>>2]=o;c[g+4>>2]=C;Mu(p+160|0,h);Mu(p+184|0,j);u=p+208|0;v=t;b=u+32|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));u=p+240|0;v=s;b=u+32|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));c[p>>2]=jw(272)|0;c[p+4>>2]=jw(1201)|0;v=Cc(64,19098,1137)|0;hd(m,p,v)|0;i=n;return v|0}function sc(b,d,e,f,g,h,j,k,l,m,n){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;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;o=i;i=i+304|0;p=o+16|0;q=o+24|0;r=o+272|0;s=o+8|0;t=o;u=q+8|0;v=b;b=u+64|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));u=q+72|0;v=d;b=u+64|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));u=r;v=k;b=u+32|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));u=q+216|0;v=l;b=u+32|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));u=q+184|0;v=r;b=u+32|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));v=Mx(e|0,0,1e6,0)|0;e=s;c[e>>2]=v;c[e+4>>2]=C;e=Mx(f|0,0,1e6,0)|0;f=t;c[f>>2]=e;c[f+4>>2]=C;c[p>>2]=c[s>>2];c[p+4>>2]=c[s+4>>2];s=le(p)|0;f=q+144|0;c[f>>2]=s;c[f+4>>2]=C;c[p>>2]=c[t>>2];c[p+4>>2]=c[t+4>>2];t=le(p)|0;p=q+152|0;c[p>>2]=t;c[p+4>>2]=C;Mu(q+160|0,j);j=Hc(g,h)|0;h=q+136|0;c[h>>2]=j;c[h+4>>2]=C;c[q+4>>2]=jw(1033)|0;c[q>>2]=jw(248)|0;h=(jd(1033,q,m,n)|0)!=-1&1;i=o;return h|0}function tc(a,b){a=a|0;b=b|0;var c=0;c=Cc(64,19098,1248)|0;hd(a,b,c)|0;return c|0}function uc(a){a=a|0;return nw(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24)|0}function vc(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+32|0;g=f;if((Ou(e,g)|0)!=1){h=0;i=f;return h|0}e=g;c[e>>2]=a;c[e+4>>2]=b;c[g+8>>2]=d;d=Cc(24,19098,1291)|0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[d+16>>2]=c[g+16>>2];c[d+20>>2]=c[g+20>>2];h=d;i=f;return h|0}function wc(){Cw(19222)|0;return}function xc(a){a=a|0;var b=0;b=a;C=c[b+4>>2]|0;return c[b>>2]|0}function yc(a){a=a|0;return c[a+8>>2]|0}function zc(a){a=a|0;return a+12|0}function Ac(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;Ou(a+12|0,e)|0;if((Su(a)|0)==-1){f=-1;i=d;return f|0}g=a;h=c[g>>2]|0;j=c[g+4>>2]|0;g=Mx(h|0,j|0,b|0,0)|0;k=C;l=e;c[l>>2]=g;c[l+4>>2]=k;l=Nx(g|0,k|0,b|0,0)|0;if(!((l|0)==(h|0)&(C|0)==(j|0))){f=-1;i=d;return f|0}j=c[a+8>>2]|0;h=_(j,b)|0;c[e+8>>2]=h;if(((h>>>0)/(b>>>0)|0|0)!=(j|0)){f=-1;i=d;return f|0}Su(e)|0;c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];c[a+16>>2]=c[e+16>>2];c[a+20>>2]=c[e+20>>2];f=1;i=d;return f|0}function Bc(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0;if((Su(a)|0)==-1){d=-1.0;return +d}if((Su(b)|0)==-1){d=-1.0;return +d}e=a;f=b;d=(+((c[a+8>>2]|0)>>>0)/1.0e6+(+((c[e>>2]|0)>>>0)+4294967296.0*+((c[e+4>>2]|0)>>>0)))*(+((c[b+8>>2]|0)>>>0)/1.0e6+(+((c[f>>2]|0)>>>0)+4294967296.0*+((c[f+4>>2]|0)>>>0)));return +d}function Cc(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;e=i;i=i+64|0;f=e+24|0;g=e+8|0;h=e;j=e+56|0;k=e+52|0;l=e+48|0;m=e+44|0;n=e+40|0;o=e+36|0;p=e+32|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;if((c[j>>2]|0)>>>0>41943040){c[n>>2]=74;if((c[184]|0)==-1)c[184]=Mc(1,0,19262,19282,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[184]|0))Lc();n=c[l>>2]|0;c[h>>2]=c[k>>2];c[h+4>>2]=n;Rc(1,61592,h);Lc()}c[m>>2]=Dc(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if(c[m>>2]|0){i=e;return c[m>>2]|0}c[o>>2]=81;if((c[185]|0)==-1)c[185]=Mc(1,21083,19262,19282,c[o>>2]|0)|0;if((Pc()|0)<=0){if(c[185]|0){o=ov(c[(Yu()|0)>>2]|0)|0;c[g>>2]=19298;c[g+4>>2]=19262;c[g+8>>2]=81;c[g+12>>2]=o;Wc(1,21083,20661,g)}}else Qc(-1,0);c[p>>2]=82;if((c[186]|0)==-1)c[186]=Mc(1,0,19262,19282,c[p>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[186]|0))Lc();c[f>>2]=19262;c[f+4>>2]=82;Rc(1,61592,f);Lc();return 0}function Dc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[h>>2]=sx(c[g>>2]|0)|0;if(!(c[h>>2]|0)){c[f>>2]=0;j=c[f>>2]|0;i=e;return j|0}else{Fx(c[h>>2]|0,0,c[g>>2]|0)|0;c[f>>2]=c[h>>2];j=c[f>>2]|0;i=e;return j|0}return 0}function Ec(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+32|0;f=e;g=e+20|0;h=e+16|0;j=e+12|0;k=e+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(c[g>>2]|0){tx(c[g>>2]|0);i=e;return}c[k>>2]=237;if((c[187]|0)==-1)c[187]=Mc(1,0,19262,19305,c[k>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[187]|0))Lc();k=c[j>>2]|0;c[f>>2]=c[h>>2];c[f+4>>2]=k;Rc(1,61592,f);Lc()}function Fc(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+32|0;f=e;g=e+28|0;h=e+24|0;j=e+20|0;k=e+16|0;l=e+12|0;m=e+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(c[g>>2]|0){c[l>>2]=(Kv(c[g>>2]|0)|0)+1;c[k>>2]=Cc(c[l>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;Dx(c[k>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;i=e;return c[k>>2]|0}c[m>>2]=278;if((c[188]|0)==-1)c[188]=Mc(1,0,19262,19319,c[m>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[188]|0))Lc();m=c[j>>2]|0;c[f>>2]=c[h>>2];c[f+4>>2]=m;Rc(1,61592,f);Lc();return 0}function Gc(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+48|0;g=f;h=f+44|0;j=f+40|0;k=f+36|0;l=f+32|0;m=f+16|0;n=f+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[l>>2]=uv(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,m)|0;if((c[l>>2]|0)>>>0<(c[j>>2]|0)>>>0){i=f;return c[l>>2]|0}c[n>>2]=433;if((c[189]|0)==-1)c[189]=Mc(1,0,19262,19335,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[189]|0))Lc();c[g>>2]=19262;c[g+4>>2]=433;Rc(1,61592,g);Lc();return 0}function Hc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=e;c[f>>2]=a;c[f+4>>2]=b;b=jw(c[e>>2]|0)|0;f=Ax(0,b|0,jw(c[e+4>>2]|0)|0,0)|0;i=d;return f|0}function Ic(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=e;c[f>>2]=a;c[f+4>>2]=b;b=nw(c[e>>2]|0)|0;f=Ax(0,b|0,nw(c[e+4>>2]|0)|0,0)|0;i=d;return f|0}function Jc(){c[17640]=c[3962];return}function Kc(){return}function Lc(){gb()}function Mc(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;g=i;i=i+48|0;h=g+32|0;j=g+28|0;k=g+24|0;l=g+20|0;m=g+16|0;n=g+12|0;o=g+8|0;p=g+4|0;q=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;if(!(c[k>>2]|0))c[k>>2]=c[17641];if((c[17642]|0)>=0&0==(c[17643]|0)){c[h>>2]=(c[j>>2]|0)<=(c[17642]|0)&1;r=c[h>>2]|0;i=g;return r|0}c[q>>2]=(c[17642]|0)>=0&1;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[17644]|0))break;c[o>>2]=(c[17645]|0)+((c[p>>2]|0)*112|0);if(!((c[q>>2]|0)!=0?(c[(c[o>>2]|0)+108>>2]|0)==0:0))s=9;if((((((s|0)==9?(s=0,(c[n>>2]|0)>=(c[(c[o>>2]|0)+96>>2]|0)):0)?(c[n>>2]|0)<=(c[(c[o>>2]|0)+100>>2]|0):0)?0==(ox(c[o>>2]|0,c[k>>2]|0,0,0,0)|0):0)?0==(ox((c[o>>2]|0)+32|0,c[l>>2]|0,0,0,0)|0):0)?0==(ox((c[o>>2]|0)+64|0,c[m>>2]|0,0,0,0)|0):0){s=14;break}c[p>>2]=(c[p>>2]|0)+1}if((s|0)==14){c[h>>2]=(c[j>>2]|0)<=(c[(c[o>>2]|0)+104>>2]|0)&1;r=c[h>>2]|0;i=g;return r|0}o=c[j>>2]|0;if((c[17642]|0)>=0){c[h>>2]=(o|0)<=(c[17642]|0)&1;r=c[h>>2]|0;i=g;return r|0}else{c[h>>2]=(o|0)<=2&1;r=c[h>>2]|0;i=g;return r|0}return 0}function Nc(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;d=i;i=i+4176|0;e=d+24|0;f=d+16|0;g=d;h=d+72|0;j=d+68|0;k=d+76|0;l=d+64|0;m=d+60|0;n=d+56|0;o=d+52|0;p=d+48|0;q=d+44|0;c[j>>2]=b;if(!(c[17647]|0)){c[h>>2]=-1;r=c[h>>2]|0;i=d;return r|0}if(!(Ma(k|0,4097,c[17647]|0,c[j>>2]|0)|0)){c[h>>2]=-1;r=c[h>>2]|0;i=d;return r|0}c[o>>2]=ix(k,91)|0;if(0!=(c[o>>2]|0)?93==(a[(c[o>>2]|0)+1>>0]|0):0){c[p>>2]=Fc(k,19381,344)|0;a[(c[p>>2]|0)+((c[o>>2]|0)-k)>>0]=0;a[(c[p>>2]|0)+((c[o>>2]|0)-k+1)>>0]=0;j=c[p>>2]|0;b=Dw()|0;s=(c[p>>2]|0)+((c[o>>2]|0)-k+2)|0;c[g>>2]=j;c[g+4>>2]=b;c[g+8>>2]=s;tv(k,4096,19404,g)|0;Ec(c[p>>2]|0,19381,354)}if(!(gv(k,71662)|0)){c[h>>2]=1;r=c[h>>2]|0;i=d;return r|0}Oc(71662);Wv(71662,k)|0;c[f>>2]=420;c[l>>2]=Mw(k,1089,f)|0;do if(-1!=(c[l>>2]|0)){if(c[17640]|0)vw(c[17640]|0)|0;c[m>>2]=Yw(c[l>>2]|0,2)|0;lw(c[l>>2]|0)|0;if(-1==(c[m>>2]|0)){c[l>>2]=-1;break}c[n>>2]=uw(2,19411)|0;if(!(c[n>>2]|0)){lw(2)|0;c[l>>2]=-1}}while(0);if(-1!=(c[l>>2]|0)){c[17640]=c[n>>2];c[h>>2]=1;r=c[h>>2]|0;i=d;return r|0}c[q>>2]=392;if((c[190]|0)==-1)c[190]=Mc(1,0,19381,19414,c[q>>2]|0)|0;if((Pc()|0)<=0){if(c[190]|0){q=ov(c[(Yu()|0)>>2]|0)|0;c[e>>2]=38544;c[e+4>>2]=k;c[e+8>>2]=19381;c[e+12>>2]=392;c[e+16>>2]=q;Rc(1,19557,e)}}else Qc(-1,0);c[h>>2]=-1;r=c[h>>2]|0;i=d;return r|0}function Oc(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=b;if(!(a[c[e>>2]>>0]|0)){i=d;return}c[f>>2]=c[70596+((((c[17648]|0)>>>0)%3|0)<<2)>>2];if(c[f>>2]|0){Nw(c[f>>2]|0)|0;Ec(c[f>>2]|0,19381,314)}f=Fc(c[e>>2]|0,19381,316)|0;c[70596+((((c[17648]|0)>>>0)%3|0)<<2)>>2]=f;c[17648]=(c[17648]|0)+1;i=d;return}function Pc(){return c[17652]|0}function Qc(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+32|0;e=d;f=d+20|0;g=d+16|0;h=d+12|0;j=d+8|0;c[f>>2]=a;c[g>>2]=b;if(c[f>>2]|0){c[17652]=(c[17652]|0)+(c[f>>2]|0);i=d;return}c[h>>2]=0==(c[17652]|0)&1;c[17652]=0;if((c[g>>2]|0)==0|(c[h>>2]|0)!=0){i=d;return}c[j>>2]=867;if((c[191]|0)==-1)c[191]=Mc(1,0,19381,19429,c[j>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);i=d;return}if(!(c[191]|0)){i=d;return}c[e>>2]=19381;c[e+4>>2]=867;Rc(1,61592,e);i=d;return}function Rc(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+20|0;g=e+16|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;Sc(c[f>>2]|0,c[17646]|0,c[g>>2]|0,h);i=e;return}function Sc(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,D=0;g=i;i=i+240|0;h=g+40|0;j=g+32|0;k=g+24|0;l=g+108|0;m=g+104|0;n=g+100|0;o=g+96|0;p=g+176|0;q=g+112|0;r=g+92|0;s=g+88|0;t=g+72|0;u=g+68|0;v=g+64|0;w=g+16|0;x=g+56|0;y=g+8|0;z=g+48|0;A=g;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[t>>2]=c[c[o>>2]>>2];c[s>>2]=(uv(0,0,c[n>>2]|0,t)|0)+1;if(!(c[s>>2]|0)){c[u>>2]=910;if((c[192]|0)==-1)c[192]=Mc(1,0,19381,19445,c[u>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[192]|0))Lc();c[k>>2]=19381;c[k+4>>2]=910;Rc(1,61592,k);Lc()}k=p;u=k+64|0;do{a[k>>0]=0;k=k+1|0}while((k|0)<(u|0));k=c[s>>2]|0;c[v>>2]=Xa()|0;u=i;i=i+((1*k|0)+15&-16)|0;lb(x|0,0)|0;k=fe()|0;t=w;c[t>>2]=k;c[t+4>>2]=C;t=w;k=c[t+4>>2]|0;f=(k|0)>0|(k|0)==0&(c[t>>2]|0)>>>0>0;t=w;k=Kx(c[t>>2]|0,c[t+4>>2]|0,1e3,0)|0;t=c[x>>2]|0;e=Ax(t|0,((t|0)<0)<<31>>31|0,k|0,C|0)|0;c[x>>2]=e;do if(f){e=w;k=Lx(c[e>>2]|0,c[e+4>>2]|0,1e3,0)|0;e=Mx(k|0,C|0,1e3,0)|0;k=x+4|0;t=c[k>>2]|0;d=Ax(t|0,((t|0)<0)<<31>>31|0,e|0,C|0)|0;c[k>>2]=d;d=c[x+4>>2]|0;k=((d|0)<0)<<31>>31;if((k|0)>0|(k|0)==0&d>>>0>1e6){d=x+4|0;k=c[d>>2]|0;e=zx(k|0,((k|0)<0)<<31>>31|0,1e6,0)|0;c[d>>2]=e;c[x>>2]=(c[x>>2]|0)+1}}else{e=c[x+4>>2]|0;d=((e|0)<0)<<31>>31;k=w;t=Lx(c[k>>2]|0,c[k+4>>2]|0,1e3,0)|0;k=zx(0,0,t|0,C|0)|0;t=Mx(k|0,C|0,1e3,0)|0;k=C;b=w;B=Lx(c[b>>2]|0,c[b+4>>2]|0,1e3,0)|0;b=Mx(B|0,C|0,1e3,0)|0;B=C;if((d|0)>(k|0)|(d|0)==(k|0)&e>>>0>t>>>0){t=x+4|0;e=c[t>>2]|0;k=Ax(e|0,((e|0)<0)<<31>>31|0,b|0,B|0)|0;c[t>>2]=k;break}else{k=Ax(1e6,0,b|0,B|0)|0;B=x+4|0;b=c[B>>2]|0;t=Ax(b|0,((b|0)<0)<<31>>31|0,k|0,C|0)|0;c[B>>2]=t;c[x>>2]=(c[x>>2]|0)+-1;break}}while(0);c[r>>2]=pb(x|0)|0;if(!(c[r>>2]|0))Wv(p,19451)|0;else{Ma(q|0,64,19467,c[r>>2]|0)|0;c[j>>2]=c[x+4>>2];tv(p,64,q,j)|0}uv(u,c[s>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if(c[r>>2]|0)Nc(c[r>>2]|0)|0;r=70528;if(0!=(c[l>>2]&32|0)&(0!=(c[r>>2]|0)?1:0!=(c[r+4>>2]|0))?0==(iw(u,75759,256)|0):0){c[17653]=(c[17653]|0)+1;c[h>>2]=c[17632];c[h+4>>2]=c[17633];r=ke(h)|0;h=y;c[h>>2]=r;c[h+4>>2]=C;h=y;y=c[h+4>>2]|0;if(y>>>0>10|(y|0)==10&(c[h>>2]|0)>>>0>250327040|(c[17653]|0)>>>0>1e3)Tc(p);c[z>>2]=1;D=c[v>>2]|0;xa(D|0);i=g;return}Tc(p);ow(75759,u,256)|0;c[17653]=0;c[17654]=c[l>>2];h=ge()|0;y=A;c[y>>2]=h;c[y+4>>2]=C;c[17632]=c[A>>2];c[17633]=c[A+4>>2];ow(76015,c[m>>2]|0,32)|0;Uc(c[l>>2]|0,c[m>>2]|0,p,u);c[z>>2]=0;D=c[v>>2]|0;xa(D|0);i=g;return}function Tc(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;d=i;i=i+640|0;e=d+32|0;f=d+16|0;g=d+52|0;h=d+56|0;j=d+48|0;k=d+44|0;l=d+40|0;m=d+8|0;n=d;c[g>>2]=b;b=70528;if((0==(c[b>>2]|0)?0==(c[b+4>>2]|0):0)|0==(c[17653]|0)){i=d;return}c[j>>2]=0;c[k>>2]=Cv(75759,0,256)|0;if(c[k>>2]|0){if((c[k>>2]|0)!=75759)c[k>>2]=(c[k>>2]|0)+-1}else c[k>>2]=76014;if((a[c[k>>2]>>0]|0)==10){c[j>>2]=1;a[c[k>>2]>>0]=0};c[e>>2]=c[17632];c[e+4>>2]=c[17633];b=ke(e)|0;o=m;c[o>>2]=b;c[o+4>>2]=C;c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[l>>2]=$d(e,1)|0;e=c[17653]|0;m=c[l>>2]|0;c[f>>2]=256;c[f+4>>2]=75759;c[f+8>>2]=e;c[f+12>>2]=m;tv(h,576,19488,f)|0;if((c[j>>2]|0)==1)a[c[k>>2]>>0]=10;Uc(c[17654]|0,76015,c[g>>2]|0,h);h=ge()|0;g=n;c[g>>2]=h;c[g+4>>2]=C;c[17632]=c[n>>2];c[17633]=c[n+4>>2];c[17653]=0;i=d;return}function Uc(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+48|0;g=f;h=f+32|0;j=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if(0!=(c[17640]|0)&0==(c[17655]|0)){e=c[17640]|0;d=c[k>>2]|0;b=c[j>>2]|0;a=Vc(c[h>>2]|0)|0;n=c[l>>2]|0;c[g>>2]=d;c[g+4>>2]=b;c[g+8>>2]=a;c[g+12>>2]=n;gw(e,19545,g)|0;ww(c[17640]|0)|0}c[m>>2]=c[17655];while(1){if(!(c[m>>2]|0))break;wb[c[(c[m>>2]|0)+4>>2]&15](c[(c[m>>2]|0)+8>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0);c[m>>2]=c[c[m>>2]>>2]}i=f;return}function Vc(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;do if((c[e>>2]&1|0)<=0){if((c[e>>2]&2|0)>0){c[d>>2]=19362;break}if((c[e>>2]&4|0)>0){c[d>>2]=19357;break}if((c[e>>2]&8|0)>0){c[d>>2]=19351;break}if(!(c[e>>2]&-33)){c[d>>2]=19376;break}else{c[d>>2]=19537;break}}else c[d>>2]=19370;while(0);i=b;return c[d>>2]|0}function Wc(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+176|0;g=f;h=f+32|0;j=f+28|0;k=f+24|0;l=f+8|0;m=f+40|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;if(!(c[j>>2]|0))c[j>>2]=c[17641];c[l>>2]=e;e=c[j>>2]|0;j=Dw()|0;c[g>>2]=e;c[g+4>>2]=j;Gc(m,128,19398,g)|0;Sc(c[h>>2]|0,m,c[k>>2]|0,l);i=f;return}function Xc(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;g=i;i=i+64|0;h=g+8|0;j=g;k=g+56|0;l=g+52|0;m=g+48|0;n=g+44|0;o=g+40|0;p=g+36|0;q=g+32|0;r=g+28|0;s=g+24|0;t=g+20|0;u=g+16|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;f=c[m>>2]|0;c[r>>2]=Xa()|0;e=i;i=i+((1*f|0)+15&-16)|0;if(1!=(Yc(q,c[n>>2]|0,c[o>>2]|0)|0)){c[k>>2]=-1;c[s>>2]=1;v=c[r>>2]|0;xa(v|0);w=c[k>>2]|0;i=g;return w|0}if(Ve(c[q>>2]|0,e,c[m>>2]|0,c[l>>2]|0,c[m>>2]|0)|0){c[t>>2]=136;if((c[196]|0)==-1)c[196]=Mc(1,0,19607,19643,c[t>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[196]|0))Lc();c[j>>2]=19607;c[j+4>>2]=136;Rc(1,61592,j);Lc()}Qe(c[q>>2]|0);if(1!=(Zc(q,c[n>>2]|0,c[o>>2]|0)|0)){c[k>>2]=-1;c[s>>2]=1;v=c[r>>2]|0;xa(v|0);w=c[k>>2]|0;i=g;return w|0}if(!(Ve(c[q>>2]|0,c[p>>2]|0,c[m>>2]|0,e,c[m>>2]|0)|0)){Qe(c[q>>2]|0);Fx(e|0,0,f|0)|0;c[k>>2]=c[m>>2];c[s>>2]=1;v=c[r>>2]|0;xa(v|0);w=c[k>>2]|0;i=g;return w|0}c[u>>2]=140;if((c[200]|0)==-1)c[200]=Mc(1,0,19607,19643,c[u>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[200]|0))Lc();c[h>>2]=19607;c[h+4>>2]=140;Rc(1,61592,h);Lc();return 0}function Yc(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;e=i;i=i+64|0;f=e+16|0;g=e+8|0;h=e;j=e+48|0;k=e+44|0;l=e+40|0;m=e+36|0;n=e+32|0;o=e+28|0;p=e+24|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;if(Pe(c[j>>2]|0,9,2,0)|0){c[n>>2]=68;if((c[193]|0)==-1)c[193]=Mc(1,0,19607,19626,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[193]|0))Lc();c[h>>2]=19607;c[h+4>>2]=68;Rc(1,61592,h);Lc()}c[m>>2]=Re(c[c[j>>2]>>2]|0,c[k>>2]|0,32)|0;if(0!=(c[m>>2]|0)?((c[m>>2]&255)<<24>>24|0)!=43:0){c[o>>2]=72;if((c[194]|0)==-1)c[194]=Mc(1,0,19607,19626,c[o>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[194]|0))Lc();c[g>>2]=19607;c[g+4>>2]=72;Rc(1,61592,g);Lc()}c[m>>2]=Ue(c[c[j>>2]>>2]|0,c[l>>2]|0,16)|0;if(!(c[m>>2]|0)){i=e;return 1}if(((c[m>>2]&255)<<24>>24|0)==43){i=e;return 1}c[p>>2]=76;if((c[195]|0)==-1)c[195]=Mc(1,0,19607,19626,c[p>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[195]|0))Lc();c[f>>2]=19607;c[f+4>>2]=76;Rc(1,61592,f);Lc();return 0}function Zc(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;e=i;i=i+64|0;f=e+16|0;g=e+8|0;h=e;j=e+48|0;k=e+44|0;l=e+40|0;m=e+36|0;n=e+32|0;o=e+28|0;p=e+24|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;if(Pe(c[j>>2]|0,10,2,0)|0){c[n>>2]=98;if((c[197]|0)==-1)c[197]=Mc(1,0,19607,19675,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[197]|0))Lc();c[h>>2]=19607;c[h+4>>2]=98;Rc(1,61592,h);Lc()}c[m>>2]=Re(c[c[j>>2]>>2]|0,(c[k>>2]|0)+32|0,32)|0;if(0!=(c[m>>2]|0)?((c[m>>2]&255)<<24>>24|0)!=43:0){c[o>>2]=102;if((c[198]|0)==-1)c[198]=Mc(1,0,19607,19675,c[o>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[198]|0))Lc();c[g>>2]=19607;c[g+4>>2]=102;Rc(1,61592,g);Lc()}c[m>>2]=Ue(c[c[j>>2]>>2]|0,(c[l>>2]|0)+16|0,16)|0;if(!(c[m>>2]|0)){i=e;return 1}if(((c[m>>2]&255)<<24>>24|0)==43){i=e;return 1}c[p>>2]=106;if((c[199]|0)==-1)c[199]=Mc(1,0,19607,19675,c[p>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[199]|0))Lc();c[f>>2]=19607;c[f+4>>2]=106;Rc(1,61592,f);Lc();return 0}function _c(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;g=i;i=i+64|0;h=g+8|0;j=g;k=g+56|0;l=g+52|0;m=g+48|0;n=g+44|0;o=g+40|0;p=g+36|0;q=g+32|0;r=g+28|0;s=g+24|0;t=g+20|0;u=g+16|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;f=c[m>>2]|0;c[r>>2]=Xa()|0;e=i;i=i+((1*f|0)+15&-16)|0;if(1!=(Zc(q,c[n>>2]|0,c[o>>2]|0)|0)){c[k>>2]=-1;c[s>>2]=1;v=c[r>>2]|0;xa(v|0);w=c[k>>2]|0;i=g;return w|0}if(We(c[q>>2]|0,e,c[m>>2]|0,c[l>>2]|0,c[m>>2]|0)|0){c[t>>2]=171;if((c[201]|0)==-1)c[201]=Mc(1,0,19607,19696,c[t>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[201]|0))Lc();c[j>>2]=19607;c[j+4>>2]=171;Rc(1,61592,j);Lc()}Qe(c[q>>2]|0);if(1!=(Yc(q,c[n>>2]|0,c[o>>2]|0)|0)){c[k>>2]=-1;c[s>>2]=1;v=c[r>>2]|0;xa(v|0);w=c[k>>2]|0;i=g;return w|0}if(!(We(c[q>>2]|0,c[p>>2]|0,c[m>>2]|0,e,c[m>>2]|0)|0)){Qe(c[q>>2]|0);Fx(e|0,0,f|0)|0;c[k>>2]=c[m>>2];c[s>>2]=1;v=c[r>>2]|0;xa(v|0);w=c[k>>2]|0;i=g;return w|0}c[u>>2]=175;if((c[202]|0)==-1)c[202]=Mc(1,0,19607,19696,c[u>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[202]|0))Lc();c[h>>2]=19607;c[h+4>>2]=175;Rc(1,61592,h);Lc();return 0}function $c(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;d=i;i=i+64|0;e=d+16|0;f=d+8|0;g=d;h=d+52|0;j=d+48|0;k=d+44|0;l=d+40|0;m=d+36|0;n=d+32|0;o=d+28|0;p=d+24|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=ad(c[h>>2]|0)|0;if(!(c[k>>2]|0)){c[n>>2]=257;if((c[205]|0)==-1)c[205]=Mc(1,0,19770,19887,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[205]|0))Lc();c[g>>2]=19770;c[g+4>>2]=257;Rc(1,61592,g);Lc()}if(Ie(l,c[k>>2]|0,0)|0){c[o>>2]=258;if((c[206]|0)==-1)c[206]=Mc(1,0,19770,19887,c[o>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[206]|0))Lc();c[f>>2]=19770;c[f+4>>2]=258;Rc(1,61592,f);Lc()}ue(c[k>>2]|0);c[m>>2]=Je(19799,c[l>>2]|0,0)|0;if(c[m>>2]|0){xd(c[j>>2]|0,32,c[m>>2]|0);Ae(c[m>>2]|0);mf(c[l>>2]|0);i=d;return}c[p>>2]=261;if((c[207]|0)==-1)c[207]=Mc(1,0,19770,19887,c[p>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[207]|0))Lc();c[e>>2]=19770;c[e+4>>2]=261;Rc(1,61592,e);Lc()}function ad(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+64|0;d=b+24|0;e=b+8|0;f=b;g=b+48|0;h=b+44|0;j=b+40|0;k=b+36|0;l=b+32|0;c[g>>2]=a;a=c[g>>2]|0;c[f>>2]=32;c[f+4>>2]=a;c[j>>2]=te(h,0,19807,f)|0;if(!(c[j>>2]|0)){i=b;return c[h>>2]|0}c[k>>2]=169;if((c[203]|0)==-1)c[203]=Mc(1,21083,19770,19862,c[k>>2]|0)|0;if((Pc()|0)<=0){if(c[203]|0){k=me(c[j>>2]|0)|0;c[e>>2]=19783;c[e+4>>2]=19770;c[e+8>>2]=169;c[e+12>>2]=k;Wc(1,21083,20661,e)}}else Qc(-1,0);c[l>>2]=170;if((c[204]|0)==-1)c[204]=Mc(1,0,19770,19862,c[l>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[204]|0))Lc();c[d>>2]=19770;c[d+4>>2]=170;Rc(1,61592,d);Lc();return 0}function bd(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;d=i;i=i+64|0;e=d+16|0;f=d+8|0;g=d;h=d+52|0;j=d+48|0;k=d+44|0;l=d+40|0;m=d+36|0;n=d+32|0;o=d+28|0;p=d+24|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=cd(c[h>>2]|0)|0;if(!(c[k>>2]|0)){c[n>>2]=283;if((c[210]|0)==-1)c[210]=Mc(1,0,19770,19947,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[210]|0))Lc();c[g>>2]=19770;c[g+4>>2]=283;Rc(1,61592,g);Lc()}if(Ie(l,c[k>>2]|0,0)|0){c[o>>2]=284;if((c[211]|0)==-1)c[211]=Mc(1,0,19770,19947,c[o>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[211]|0))Lc();c[f>>2]=19770;c[f+4>>2]=284;Rc(1,61592,f);Lc()}ue(c[k>>2]|0);c[m>>2]=Je(19799,c[l>>2]|0,0)|0;if(c[m>>2]|0){xd(c[j>>2]|0,32,c[m>>2]|0);Ae(c[m>>2]|0);mf(c[l>>2]|0);i=d;return}c[p>>2]=287;if((c[212]|0)==-1)c[212]=Mc(1,0,19770,19947,c[p>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[212]|0))Lc();c[e>>2]=19770;c[e+4>>2]=287;Rc(1,61592,e);Lc()}function cd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+64|0;d=b+24|0;e=b+8|0;f=b;g=b+48|0;h=b+44|0;j=b+40|0;k=b+36|0;l=b+32|0;c[g>>2]=a;a=c[g>>2]|0;c[f>>2]=32;c[f+4>>2]=a;c[j>>2]=te(h,0,19728,f)|0;if(!(c[j>>2]|0)){i=b;return c[h>>2]|0}c[k>>2]=202;if((c[208]|0)==-1)c[208]=Mc(1,21083,19770,19922,c[k>>2]|0)|0;if((Pc()|0)<=0){if(c[208]|0){k=me(c[j>>2]|0)|0;c[e>>2]=19783;c[e+4>>2]=19770;c[e+8>>2]=202;c[e+12>>2]=k;Wc(1,21083,20661,e)}}else Qc(-1,0);c[l>>2]=203;if((c[209]|0)==-1)c[209]=Mc(1,0,19770,19922,c[l>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[209]|0))Lc();c[d>>2]=19770;c[d+4>>2]=203;Rc(1,61592,d);Lc();return 0}function dd(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+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=256;if((((c[k>>2]|0)>>>0)%5|0)>>>0>0)c[k>>2]=(c[k>>2]|0)+(5-(((c[k>>2]|0)>>>0)%5|0));c[k>>2]=((c[k>>2]|0)>>>0)/5|0;if((c[h>>2]|0)!=(c[k>>2]|0)){c[f>>2]=-1;l=c[f>>2]|0;i=e;return l|0}if(1!=(de(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,32)|0)){c[f>>2]=-1;l=c[f>>2]|0;i=e;return l|0}else{c[f>>2]=1;l=c[f>>2]|0;i=e;return l|0}return 0}function ed(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a=i;i=i+96|0;b=a+40|0;d=a+24|0;e=a+8|0;f=a+88|0;g=a+84|0;h=a+80|0;j=a+76|0;k=a+72|0;l=a+68|0;m=a+64|0;n=a+60|0;o=a+56|0;p=te(j,0,19982,a)|0;c[l>>2]=p;if(p){c[m>>2]=505;if((c[213]|0)==-1)c[213]=Mc(1,21083,19770,20037,c[m>>2]|0)|0;if((Pc()|0)<=0){if(c[213]|0){m=me(c[l>>2]|0)|0;c[e>>2]=19783;c[e+4>>2]=19770;c[e+8>>2]=505;c[e+12>>2]=m;Wc(1,21083,20661,e)}}else Qc(-1,0);c[f>>2]=0;q=c[f>>2]|0;i=a;return q|0}e=_e(h,c[j>>2]|0)|0;c[l>>2]=e;if(e){c[n>>2]=510;if((c[214]|0)==-1)c[214]=Mc(1,21083,19770,20037,c[n>>2]|0)|0;if((Pc()|0)<=0){if(c[214]|0){n=me(c[l>>2]|0)|0;c[d>>2]=20068;c[d+4>>2]=19770;c[d+8>>2]=510;c[d+12>>2]=n;Wc(1,21083,20661,d)}}else Qc(-1,0);ue(c[j>>2]|0);c[f>>2]=0;q=c[f>>2]|0;i=a;return q|0}ue(c[j>>2]|0);j=fd(k,c[h>>2]|0,37935,35585)|0;c[l>>2]=j;if(!j){ue(c[h>>2]|0);c[g>>2]=Cc(32,19770,530)|0;xd(c[g>>2]|0,32,c[k>>2]|0);Ae(c[k>>2]|0);c[f>>2]=c[g>>2];q=c[f>>2]|0;i=a;return q|0}c[o>>2]=525;if((c[215]|0)==-1)c[215]=Mc(1,21083,19770,20037,c[o>>2]|0)|0;if((Pc()|0)<=0){if(c[215]|0){o=me(c[l>>2]|0)|0;c[b>>2]=20083;c[b+4>>2]=19770;c[b+8>>2]=525;c[b+12>>2]=o;Wc(1,21083,20661,b)}}else Qc(-1,0);ue(c[h>>2]|0);c[f>>2]=0;q=c[f>>2]|0;i=a;return q|0}function fd(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;g=i;i=i+48|0;h=g+36|0;j=g+32|0;k=g+28|0;l=g+24|0;m=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;q=g+4|0;r=g;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=we(c[k>>2]|0,c[l>>2]|0,0)|0;if(!(c[n>>2]|0)){c[h>>2]=1;s=c[h>>2]|0;i=g;return s|0}c[o>>2]=xe(c[n>>2]|0)|0;ue(c[n>>2]|0);c[n>>2]=c[o>>2];if(!(c[n>>2]|0)){c[h>>2]=2;s=c[h>>2]|0;i=g;return s|0}c[r>>2]=0;c[p>>2]=c[m>>2];while(1){t=c[n>>2]|0;if(!(a[c[p>>2]>>0]|0)){u=18;break}c[o>>2]=we(t,c[p>>2]|0,1)|0;if(!(c[o>>2]|0)){u=8;break}m=ye(c[o>>2]|0,1,5)|0;c[(c[j>>2]|0)+(c[r>>2]<<2)>>2]=m;ue(c[o>>2]|0);if(!(c[(c[j>>2]|0)+(c[r>>2]<<2)>>2]|0)){u=13;break}c[p>>2]=(c[p>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1}if((u|0)==8){c[q>>2]=0;while(1){if((c[q>>2]|0)>>>0>=(c[r>>2]|0)>>>0)break;of(c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]|0);c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]=0;c[q>>2]=(c[q>>2]|0)+1}ue(c[n>>2]|0);c[h>>2]=3;s=c[h>>2]|0;i=g;return s|0}else if((u|0)==13){c[q>>2]=0;while(1){if((c[q>>2]|0)>>>0>=(c[r>>2]|0)>>>0)break;of(c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]|0);c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]=0;c[q>>2]=(c[q>>2]|0)+1}ue(c[n>>2]|0);c[h>>2]=4;s=c[h>>2]|0;i=g;return s|0}else if((u|0)==18){ue(t);c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}return 0}function gd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a=i;i=i+96|0;b=a+40|0;d=a+24|0;e=a+8|0;f=a+88|0;g=a+84|0;h=a+80|0;j=a+76|0;k=a+72|0;l=a+68|0;m=a+64|0;n=a+60|0;o=a+56|0;p=te(j,0,20097,a)|0;c[l>>2]=p;if(p){c[m>>2]=604;if((c[216]|0)==-1)c[216]=Mc(1,21083,19770,20141,c[m>>2]|0)|0;if((Pc()|0)<=0){if(c[216]|0){m=me(c[l>>2]|0)|0;c[e>>2]=19783;c[e+4>>2]=19770;c[e+8>>2]=604;c[e+12>>2]=m;Wc(1,21083,20661,e)}}else Qc(-1,0);c[f>>2]=0;q=c[f>>2]|0;i=a;return q|0}e=_e(h,c[j>>2]|0)|0;c[l>>2]=e;if(e){c[n>>2]=609;if((c[217]|0)==-1)c[217]=Mc(1,21083,19770,20141,c[n>>2]|0)|0;if((Pc()|0)<=0){if(c[217]|0){n=me(c[l>>2]|0)|0;c[d>>2]=20068;c[d+4>>2]=19770;c[d+8>>2]=609;c[d+12>>2]=n;Wc(1,21083,20661,d)}}else Qc(-1,0);ue(c[j>>2]|0);c[f>>2]=0;q=c[f>>2]|0;i=a;return q|0}ue(c[j>>2]|0);j=fd(k,c[h>>2]|0,37935,35585)|0;c[l>>2]=j;if(!j){ue(c[h>>2]|0);c[g>>2]=Cc(32,19770,629)|0;xd(c[g>>2]|0,32,c[k>>2]|0);Ae(c[k>>2]|0);c[f>>2]=c[g>>2];q=c[f>>2]|0;i=a;return q|0}c[o>>2]=624;if((c[218]|0)==-1)c[218]=Mc(1,21083,19770,20141,c[o>>2]|0)|0;if((Pc()|0)<=0){if(c[218]|0){o=me(c[l>>2]|0)|0;c[b>>2]=20083;c[b+4>>2]=19770;c[b+8>>2]=624;c[b+12>>2]=o;Wc(1,21083,20661,b)}}else Qc(-1,0);ue(c[h>>2]|0);c[f>>2]=0;q=c[f>>2]|0;i=a;return q|0}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;e=i;i=i+80|0;f=e+16|0;g=e;h=e+68|0;j=e+64|0;k=e+60|0;l=e+56|0;m=e+52|0;n=e+48|0;o=e+44|0;p=e+40|0;q=e+32|0;r=e+28|0;s=e+24|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=ad(c[j>>2]|0)|0;c[o>>2]=id(c[k>>2]|0)|0;k=Xe(n,c[o>>2]|0,c[m>>2]|0)|0;c[p>>2]=k;if(k){c[r>>2]=807;if((c[220]|0)==-1)c[220]=Mc(2,21083,19770,20236,c[r>>2]|0)|0;if((Pc()|0)<=0){if(c[220]|0){r=me(c[p>>2]|0)|0;c[g>>2]=19770;c[g+4>>2]=807;c[g+8>>2]=r;Wc(2,21083,20261,g)}}else Qc(-1,0);ue(c[o>>2]|0);ue(c[m>>2]|0);c[h>>2]=-1;t=c[h>>2]|0;i=e;return t|0}ue(c[m>>2]|0);ue(c[o>>2]|0);o=fd(q,c[n>>2]|0,37797,47158)|0;c[p>>2]=o;if(!o){ue(c[n>>2]|0);xd(c[l>>2]|0,32,c[q>>2]|0);xd((c[l>>2]|0)+32|0,32,c[q+4>>2]|0);Ae(c[q>>2]|0);Ae(c[q+4>>2]|0);c[h>>2]=1;t=c[h>>2]|0;i=e;return t|0}c[s>>2]=819;if((c[221]|0)==-1)c[221]=Mc(1,0,19770,20236,c[s>>2]|0)|0;if((Pc()|0)<=0){if(c[221]|0){c[f>>2]=19770;c[f+4>>2]=819;Rc(1,61592,f)}}else Qc(-1,0);ue(c[n>>2]|0);c[h>>2]=-1;t=c[h>>2]|0;i=e;return t|0}function id(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;b=i;i=i+128|0;e=b+16|0;f=b;g=b+116|0;h=b+112|0;j=b+48|0;k=b+40|0;l=b+36|0;m=b+32|0;c[h>>2]=a;a=c[h>>2]|0;n=c[h>>2]|0;ld(a,nw(d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24)|0,j);c[f>>2]=37855;c[f+4>>2]=64;c[f+8>>2]=j;j=te(k,0,20172,f)|0;c[l>>2]=j;if(!j){c[g>>2]=c[k>>2];o=c[g>>2]|0;i=b;return o|0}c[m>>2]=698;if((c[219]|0)==-1)c[219]=Mc(1,21083,19770,20216,c[m>>2]|0)|0;if((Pc()|0)<=0){if(c[219]|0){m=me(c[l>>2]|0)|0;c[e>>2]=19783;c[e+4>>2]=19770;c[e+8>>2]=698;c[e+12>>2]=m;Wc(1,21083,20661,e)}}else Qc(-1,0);c[g>>2]=0;o=c[g>>2]|0;i=b;return o|0}function jd(a,b,e,f){a=a|0;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;g=i;i=i+96|0;h=g+40|0;j=g+32|0;k=g+16|0;l=g;m=g+92|0;n=g+88|0;o=g+84|0;p=g+80|0;q=g+76|0;r=g+72|0;s=g+68|0;t=g+64|0;u=g+60|0;v=g+56|0;w=g+52|0;c[n>>2]=a;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;f=c[n>>2]|0;n=(c[o>>2]|0)+4|0;if((f|0)!=(nw(d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24)|0)){c[m>>2]=-1;x=c[m>>2]|0;i=g;return x|0}n=c[p>>2]|0;f=(c[p>>2]|0)+32|0;c[l>>2]=32;c[l+4>>2]=n;c[l+8>>2]=32;c[l+12>>2]=f;f=te(s,0,20335,l)|0;c[u>>2]=f;if(f){c[v>>2]=918;if((c[222]|0)==-1)c[222]=Mc(1,21083,19770,20364,c[v>>2]|0)|0;if((Pc()|0)<=0){if(c[222]|0){v=me(c[u>>2]|0)|0;c[k>>2]=19783;c[k+4>>2]=19770;c[k+8>>2]=918;c[k+12>>2]=v;Wc(1,21083,20661,k)}}else Qc(-1,0);c[m>>2]=-1;x=c[m>>2]|0;i=g;return x|0}c[r>>2]=id(c[o>>2]|0)|0;o=c[q>>2]|0;c[j>>2]=32;c[j+4>>2]=o;o=te(t,0,20391,j)|0;c[u>>2]=o;if(o){ue(c[r>>2]|0);ue(c[s>>2]|0);c[m>>2]=-1;x=c[m>>2]|0;i=g;return x|0}c[u>>2]=Ye(c[s>>2]|0,c[r>>2]|0,c[t>>2]|0)|0;ue(c[t>>2]|0);ue(c[r>>2]|0);ue(c[s>>2]|0);if(!(c[u>>2]|0)){c[m>>2]=1;x=c[m>>2]|0;i=g;return x|0}c[w>>2]=938;if((c[223]|0)==-1)c[223]=Mc(4,21083,19770,20364,c[w>>2]|0)|0;if((Pc()|0)<=0){if(c[223]|0){w=me(c[u>>2]|0)|0;c[h>>2]=19770;c[h+4>>2]=938;c[h+8>>2]=w;Wc(4,21083,20443,h)}}else Qc(-1,0);c[m>>2]=-1;x=c[m>>2]|0;i=g;return x|0}function kd(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+144|0;f=e+40|0;g=e+32|0;h=e+16|0;j=e+8|0;k=e;l=e+104|0;m=e+100|0;n=e+96|0;o=e+92|0;p=e+88|0;q=e+84|0;r=e+80|0;s=e+76|0;t=e+72|0;u=e+68|0;v=e+112|0;w=e+64|0;x=e+60|0;y=e+56|0;z=e+52|0;A=e+48|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;d=c[n>>2]|0;c[k>>2]=32;c[k+4>>2]=d;if(te(t,0,20296,k)|0){c[l>>2]=-1;B=c[l>>2]|0;i=e;return B|0}if(Ie(s,c[t>>2]|0,0)|0){c[x>>2]=972;if((c[224]|0)==-1)c[224]=Mc(1,0,19770,20493,c[x>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[224]|0))Lc();c[j>>2]=19770;c[j+4>>2]=972;Rc(1,61592,j);Lc()}ue(c[t>>2]|0);c[q>>2]=Ke(49872,c[s>>2]|0,0)|0;zd(r,c[m>>2]|0,32);c[p>>2]=Ge(0)|0;Me(c[p>>2]|0,c[r>>2]|0,c[q>>2]|0,c[s>>2]|0);He(c[q>>2]|0);Ae(c[r>>2]|0);c[u>>2]=ze(256)|0;if(Le(c[u>>2]|0,0,c[p>>2]|0,c[s>>2]|0)|0){c[y>>2]=989;if((c[225]|0)==-1)c[225]=Mc(1,21083,19770,20493,c[y>>2]|0)|0;if((Pc()|0)<=0){if(c[225]|0){y=me(0)|0;c[h>>2]=20516;c[h+4>>2]=19770;c[h+8>>2]=989;c[h+12>>2]=y;Wc(1,21083,20661,h)}}else Qc(-1,0);He(c[p>>2]|0);mf(c[s>>2]|0);c[l>>2]=-1;B=c[l>>2]|0;i=e;return B|0}He(c[p>>2]|0);mf(c[s>>2]|0);c[w>>2]=32;if(Oe(c[u>>2]|0,2)|0){c[z>>2]=998;if((c[226]|0)==-1)c[226]=Mc(1,0,19770,20493,c[z>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[226]|0))Lc();c[g>>2]=19770;c[g+4>>2]=998;Rc(1,61592,g);Lc()}if(!(Ce(1,v,c[w>>2]|0,w,c[u>>2]|0)|0)){ld(v,c[w>>2]|0,c[o>>2]|0);Ae(c[u>>2]|0);c[l>>2]=1;B=c[l>>2]|0;i=e;return B|0}c[A>>2]=1005;if((c[227]|0)==-1)c[227]=Mc(1,0,19770,20493,c[A>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[227]|0))Lc();c[f>>2]=19770;c[f+4>>2]=1005;Rc(1,61592,f);Lc();return 0}function ld(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;ef(10,c[h>>2]|0,c[f>>2]|0,c[g>>2]|0);i=e;return}function md(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+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=15;while(1){if((c[g>>2]|0)<0)break;b=Bd(c[e>>2]|0,-1)|0;c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]=b;c[g>>2]=(c[g>>2]|0)+-1}i=d;return}function nd(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;b=a;d=a+12|0;e=a+8|0;c[d>>2]=Cc(4,20534,425)|0;if(!($e(c[d>>2]|0,10,0)|0)){i=a;return c[d>>2]|0}c[e>>2]=429;if((c[228]|0)==-1)c[228]=Mc(1,0,20534,20548,c[e>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[228]|0))Lc();c[b>>2]=20534;c[b+4>>2]=429;Rc(1,61592,b);Lc();return 0}function od(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;cf(c[c[f>>2]>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function pd(b,d){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+32|0;f=e;g=e+20|0;h=e+16|0;j=e+12|0;k=e+8|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=df(c[c[g>>2]>>2]|0,0)|0;if(c[j>>2]|0){if(!(c[h>>2]|0)){l=c[g>>2]|0;qd(l);i=e;return}d=c[h>>2]|0;h=c[j>>2]|0;j=d+64|0;do{a[d>>0]=a[h>>0]|0;d=d+1|0;h=h+1|0}while((d|0)<(j|0));l=c[g>>2]|0;qd(l);i=e;return}c[k>>2]=462;if((c[229]|0)==-1)c[229]=Mc(1,0,20534,20581,c[k>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[229]|0))Lc();c[f>>2]=20534;c[f+4>>2]=462;Rc(1,61592,f);Lc()}function qd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;af(c[c[d>>2]>>2]|0);Ec(c[d>>2]|0,20534,480);i=b;return}function rd(b,d,e,f,g,h,j,k,l){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;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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;m=i;i=i+128|0;n=m+120|0;o=m+116|0;p=m+112|0;q=m+108|0;r=m+104|0;s=m+100|0;t=m+96|0;u=m+92|0;v=m+88|0;w=m+84|0;x=m+80|0;y=m+76|0;z=m+72|0;A=m+68|0;B=m+64|0;C=m+60|0;D=m+56|0;E=m+52|0;F=m+48|0;G=m+44|0;H=m+40|0;I=m+24|0;J=m+20|0;K=m+16|0;L=m+12|0;M=m+8|0;N=m+4|0;O=m;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[w>>2]=l;c[D>>2]=gf(c[r>>2]|0)|0;c[E>>2]=gf(c[q>>2]|0)|0;l=c[E>>2]|0;c[F>>2]=Xa()|0;k=i;i=i+((1*l|0)+15&-16)|0;if(!(c[D>>2]|0)){c[n>>2]=-1;c[J>>2]=1;P=c[F>>2]|0;xa(P|0);Q=c[n>>2]|0;i=m;return Q|0}if($e(x,c[q>>2]|0,2)|0){c[n>>2]=-1;c[J>>2]=1;P=c[F>>2]|0;xa(P|0);Q=c[n>>2]|0;i=m;return Q|0}if($e(y,c[r>>2]|0,2)|0){af(c[x>>2]|0);c[n>>2]=-1;c[J>>2]=1;P=c[F>>2]|0;xa(P|0);Q=c[n>>2]|0;i=m;return Q|0}c[I>>2]=c[c[w>>2]>>2];c[H>>2]=0;while(1){r=(c[I>>2]|0)+(4-1)&~(4-1);q=c[r>>2]|0;c[I>>2]=r+4;if(!q)break;q=(c[I>>2]|0)+(4-1)&~(4-1);r=c[q>>2]|0;c[I>>2]=q+4;c[H>>2]=(c[H>>2]|0)+r}Fx(c[o>>2]|0,0,c[p>>2]|0)|0;a:do if((sd(c[x>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,k)|0)!=1)R=34;else{c[B>>2]=((c[p>>2]|0)>>>0)/((c[D>>2]|0)>>>0)|0;c[C>>2]=((c[p>>2]|0)>>>0)%((c[D>>2]|0)>>>0)|0;c[K>>2]=(c[D>>2]|0)+(c[H>>2]|0)+1;r=c[K>>2]|0;c[L>>2]=Xa()|0;q=i;i=i+((1*r|0)+15&-16)|0;c[N>>2]=q+(c[D>>2]|0);c[I>>2]=c[c[w>>2]>>2];while(1){r=(c[I>>2]|0)+(4-1)&~(4-1);l=c[r>>2]|0;c[I>>2]=r+4;c[M>>2]=l;if(!l)break;l=(c[I>>2]|0)+(4-1)&~(4-1);r=c[l>>2]|0;c[I>>2]=l+4;c[O>>2]=r;Dx(c[N>>2]|0,c[M>>2]|0,c[O>>2]|0)|0;c[N>>2]=(c[N>>2]|0)+(c[O>>2]|0)}do if((c[B>>2]|0)>>>0>0){a[q+(c[D>>2]|0)+(c[H>>2]|0)>>0]=1;c[z>>2]=td(c[y>>2]|0,k,c[E>>2]|0,q+(c[D>>2]|0)|0,(c[H>>2]|0)+1|0)|0;if(!(c[z>>2]|0)){c[J>>2]=4;break}else{Dx(c[o>>2]|0,c[z>>2]|0,c[D>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+(c[D>>2]|0);R=18;break}}else R=18;while(0);b:do if((R|0)==18){c[A>>2]=1;while(1){if((c[A>>2]|0)>>>0>=(c[B>>2]|0)>>>0)break;Dx(q|0,(c[o>>2]|0)+(0-(c[D>>2]|0))|0,c[D>>2]|0)|0;Fx(q+(c[D>>2]|0)+(c[H>>2]|0)|0,(c[A>>2]|0)+1&255|0,1)|0;bf(c[y>>2]|0);c[z>>2]=td(c[y>>2]|0,k,c[E>>2]|0,q,c[K>>2]|0)|0;if(!(c[z>>2]|0)){R=21;break}Dx(c[o>>2]|0,c[z>>2]|0,c[D>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+(c[D>>2]|0);c[A>>2]=(c[A>>2]|0)+1}if((R|0)==21){c[J>>2]=4;break}do if((c[C>>2]|0)>>>0>0){if((c[B>>2]|0)>>>0>0){Dx(q|0,(c[o>>2]|0)+(0-(c[D>>2]|0))|0,c[D>>2]|0)|0;c[A>>2]=(c[A>>2]|0)+1}Fx(q+(c[D>>2]|0)+(c[H>>2]|0)|0,c[A>>2]&255|0,1)|0;bf(c[y>>2]|0);r=c[y>>2]|0;l=c[E>>2]|0;if((c[B>>2]|0)>>>0>0)c[z>>2]=td(r,k,l,q,c[K>>2]|0)|0;else c[z>>2]=td(r,k,l,q+(c[D>>2]|0)|0,(c[K>>2]|0)-(c[D>>2]|0)|0)|0;if(!(c[z>>2]|0)){c[J>>2]=4;break b}else{Dx(c[o>>2]|0,c[z>>2]|0,c[C>>2]|0)|0;break}}while(0);c[G>>2]=1;c[J>>2]=10}while(0);xa(c[L>>2]|0);switch(c[J>>2]|0){case 4:{R=34;break a;break}case 10:{break a;break}default:{}}P=c[F>>2]|0;xa(P|0);Q=c[n>>2]|0;i=m;return Q|0}while(0);if((R|0)==34)c[G>>2]=-1;af(c[x>>2]|0);af(c[y>>2]|0);c[n>>2]=c[G>>2];c[J>>2]=1;P=c[F>>2]|0;xa(P|0);Q=c[n>>2]|0;i=m;return Q|0}function sd(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;h=i;i=i+32|0;j=h+28|0;k=h+24|0;l=h+20|0;m=h+16|0;n=h+12|0;o=h+8|0;p=h+4|0;q=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=td(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if(!(c[q>>2]|0)){c[j>>2]=-1;r=c[j>>2]|0;i=h;return r|0}else{o=c[p>>2]|0;p=c[q>>2]|0;Dx(o|0,p|0,gf(ff(c[k>>2]|0)|0)|0)|0;c[j>>2]=1;r=c[j>>2]|0;i=h;return r|0}return 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;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;hf(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;cf(c[h>>2]|0,c[l>>2]|0,c[m>>2]|0);m=df(c[h>>2]|0,0)|0;i=g;return m|0}function ud(a,b,d,e,f,g,h,j,k){a=a|0;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;l=i;i=i+64|0;m=l+52|0;n=l+48|0;o=l+44|0;p=l+40|0;q=l+36|0;r=l+32|0;s=l+28|0;t=l+24|0;u=l+8|0;v=l;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;c[v>>2]=rd(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,u)|0;i=l;return c[v>>2]|0}function vd(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,n=0,o=0,p=0,q=0;j=i;i=i+32|0;k=j+24|0;l=j+20|0;m=j+16|0;n=j+12|0;o=j+8|0;p=j+4|0;q=j;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;h=rd(c[k>>2]|0,c[l>>2]|0,10,8,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;i=j;return h|0}function wd(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,n=0,o=0,p=0,q=0,r=0;j=i;i=i+48|0;k=j+44|0;l=j+40|0;m=j+36|0;n=j+32|0;o=j+28|0;p=j+24|0;q=j+8|0;r=j;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=vd(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,q)|0;i=j;return c[r>>2]|0}function xd(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;e=i;i=i+80|0;f=e+24|0;g=e+8|0;h=e;j=e+68|0;k=e+64|0;l=e+60|0;m=e+56|0;n=e+52|0;o=e+48|0;p=e+44|0;q=e+40|0;r=e+36|0;s=e+32|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;if(Oe(c[l>>2]|0,2)|0){c[p>>2]=Ne(c[l>>2]|0,o)|0;if(c[p>>2]|0){c[m>>2]=(((c[o>>2]|0)+7|0)>>>0)/8|0;if((c[m>>2]|0)>>>0>(c[k>>2]|0)>>>0)c[m>>2]=c[k>>2];Dx(c[j>>2]|0,c[p>>2]|0,c[m>>2]|0)|0;if((c[m>>2]|0)>>>0>=(c[k>>2]|0)>>>0){i=e;return}Fx((c[j>>2]|0)+(c[m>>2]|0)|0,0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0;i=e;return}c[q>>2]=89;if((c[230]|0)==-1)c[230]=Mc(1,0,20615,20628,c[q>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[230]|0))Lc();c[h>>2]=20615;c[h+4>>2]=89;Rc(1,61592,h);Lc()}c[m>>2]=c[k>>2];h=Ce(5,c[j>>2]|0,c[m>>2]|0,m,c[l>>2]|0)|0;c[n>>2]=h;if(!h){yd(c[j>>2]|0,c[m>>2]|0,c[k>>2]|0);i=e;return}c[r>>2]=110;if((c[231]|0)==-1)c[231]=Mc(1,21083,20615,20628,c[r>>2]|0)|0;if((Pc()|0)<=0){if(c[231]|0){r=me(c[n>>2]|0)|0;c[g>>2]=20698;c[g+4>>2]=20615;c[g+8>>2]=110;c[g+12>>2]=r;Wc(1,21083,20661,g)}}else Qc(-1,0);c[s>>2]=111;if((c[232]|0)==-1)c[232]=Mc(1,0,20615,20628,c[s>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[232]|0))Lc();c[f>>2]=20615;c[f+4>>2]=111;Rc(1,61592,f);Lc()}function yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[f>>2];if((c[g>>2]|0)>>>0>=(c[h>>2]|0)>>>0){i=e;return}Ex((c[j>>2]|0)+((c[h>>2]|0)-(c[g>>2]|0))|0,c[f>>2]|0,c[g>>2]|0)|0;Fx(c[f>>2]|0,0,(c[h>>2]|0)-(c[g>>2]|0)|0)|0;i=e;return}function zd(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+48|0;f=e+16|0;g=e;h=e+44|0;j=e+40|0;k=e+36|0;l=e+32|0;m=e+28|0;n=e+24|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;d=Be(c[h>>2]|0,5,c[j>>2]|0,c[k>>2]|0,k)|0;c[l>>2]=d;if(!d){i=e;return}c[m>>2]=140;if((c[233]|0)==-1)c[233]=Mc(1,21083,20615,20713,c[m>>2]|0)|0;if((Pc()|0)<=0){if(c[233]|0){m=me(c[l>>2]|0)|0;c[g>>2]=20745;c[g+4>>2]=20615;c[g+8>>2]=140;c[g+12>>2]=m;Wc(1,21083,20661,g)}}else Qc(-1,0);c[n>>2]=141;if((c[234]|0)==-1)c[234]=Mc(1,0,20615,20713,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[234]|0))Lc();c[f>>2]=20615;c[f+4>>2]=141;Rc(1,61592,f);Lc()}function Ad(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a=i;i=i+80|0;b=a+56|0;d=a+48|0;e=a+40|0;f=a+32|0;g=a+24|0;h=a+16|0;j=a+8|0;k=a;l=a+64|0;m=a+60|0;if(qe(20759)|0){c[h>>2]=0;n=re(37,h)|0;c[l>>2]=n;if(n){n=c[3962]|0;h=me(c[l>>2]|0)|0;c[g>>2]=20912;c[g+4>>2]=h;gw(n,20873,g)|0}c[f>>2]=0;g=re(44,f)|0;c[l>>2]=g;if(!g){c[d>>2]=0;re(38,d)|0;c[b>>2]=0;re(48,b)|0;o=jb(0)|0;p=Bd(2,-1)|0;q=o^p;Dd(q);i=a;return}g=c[3962]|0;f=me(c[l>>2]|0)|0;c[e>>2]=20927;c[e+4>>2]=f;gw(g,20873,e)|0;c[d>>2]=0;re(38,d)|0;c[b>>2]=0;re(48,b)|0;o=jb(0)|0;p=Bd(2,-1)|0;q=o^p;Dd(q);i=a;return}a=c[3962]|0;c[k>>2]=20759;gw(a,20765,k)|0;c[m>>2]=286;if((c[235]|0)==-1)c[235]=Mc(1,0,20831,20847,c[m>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[235]|0))Lc();c[j>>2]=20831;c[j+4>>2]=286;Rc(1,61592,j);Lc()}function Bd(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.0;d=i;i=i+64|0;e=d+16|0;f=d+8|0;g=d;h=d+48|0;j=d+44|0;k=d+40|0;l=d+36|0;m=d+32|0;n=d+28|0;o=d+24|0;c[j>>2]=a;c[k>>2]=b;if((c[k>>2]|0)>>>0<=0){c[n>>2]=157;if((c[236]|0)==-1)c[236]=Mc(1,0,20831,20947,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[236]|0))Lc();c[g>>2]=20831;c[g+4>>2]=157;Rc(1,61592,g);Lc()}switch(c[j>>2]|0){case 1:{j=c[17656]|0;c[17656]=j+1;if(!((j>>>0)%256|0)){c[f>>2]=0;re(48,f)|0}c[m>>2]=-1-(4294967295%((c[k>>2]|0)>>>0)|0);do jf(l,4,1);while((c[l>>2]|0)>>>0>=(c[m>>2]|0)>>>0);c[h>>2]=((c[l>>2]|0)>>>0)%((c[k>>2]|0)>>>0)|0;p=c[h>>2]|0;i=d;return p|0}case 2:{c[m>>2]=-1-(4294967295%((c[k>>2]|0)>>>0)|0);do lf(l,4);while((c[l>>2]|0)>>>0>=(c[m>>2]|0)>>>0);c[h>>2]=((c[l>>2]|0)>>>0)%((c[k>>2]|0)>>>0)|0;p=c[h>>2]|0;i=d;return p|0}case 0:{q=+((c[k>>2]|0)>>>0);c[l>>2]=~~(q*+Cd())>>>0;if((c[l>>2]|0)>>>0>=(c[k>>2]|0)>>>0)c[l>>2]=(c[k>>2]|0)-1;c[h>>2]=c[l>>2];p=c[h>>2]|0;i=d;return p|0}default:{c[o>>2]=189;if((c[237]|0)==-1)c[237]=Mc(1,0,20831,20947,c[o>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[237]|0))Lc();c[e>>2]=20831;c[e+4>>2]=189;Rc(1,61592,e);Lc()}}return 0}function Cd(){return +(+(fx()|0)/2147483647.0)}function Dd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;dx(c[d>>2]|0);i=b;return}function Ed(){nf(0,0);return}function Fd(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+48|0;d=b+16|0;e=b+8|0;f=b;g=b+44|0;h=b+40|0;j=b+36|0;k=b+32|0;l=b+28|0;m=b+24|0;c[g>>2]=a;c[f>>2]=c[g>>2];if(te(k,0,20972,f)|0){c[l>>2]=154;if((c[238]|0)==-1)c[238]=Mc(1,0,20996,21009,c[l>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[238]|0))Lc();c[e>>2]=20996;c[e+4>>2]=154;Rc(1,61592,e);Lc()}if(!(_e(j,c[k>>2]|0)|0)){ue(c[k>>2]|0);c[h>>2]=Cc(4,20996,163)|0;c[c[h>>2]>>2]=c[j>>2];i=b;return c[h>>2]|0}c[m>>2]=157;if((c[239]|0)==-1)c[239]=Mc(1,0,20996,21009,c[m>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[239]|0))Lc();c[d>>2]=20996;c[d+4>>2]=157;Rc(1,61592,d);Lc();return 0}function Gd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ue(c[c[d>>2]>>2]|0);Ec(c[d>>2]|0,20996,178);i=b;return}function Hd(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+32|0;e=d;f=d+24|0;g=d+20|0;h=d+16|0;j=d+12|0;k=d+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=ve(c[c[f>>2]>>2]|0,0,0,0)|0;c[j>>2]=Cc(c[h>>2]|0,20996,201)|0;b=(c[h>>2]|0)-1|0;if((b|0)==(ve(c[c[f>>2]>>2]|0,0,c[j>>2]|0,c[h>>2]|0)|0)){c[c[g>>2]>>2]=c[j>>2];i=d;return c[h>>2]|0}c[k>>2]=206;if((c[240]|0)==-1)c[240]=Mc(1,0,20996,21046,c[k>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[240]|0))Lc();c[e>>2]=20996;c[e+4>>2]=206;Rc(1,61592,e);Lc();return 0}function Id(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+8|0;f=d;g=d+32|0;h=d+28|0;j=d+24|0;k=d+20|0;l=d+16|0;m=d+12|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=Cc(4,20996,225)|0;if(se(c[k>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0){c[l>>2]=233;if((c[241]|0)==-1)c[241]=Mc(2,21083,20996,21088,c[l>>2]|0)|0;if((Pc()|0)<=0){if(c[241]|0)Wc(2,21083,21125,f)}else Qc(-1,0);Ec(c[k>>2]|0,20996,234);c[g>>2]=0;n=c[g>>2]|0;i=d;return n|0}if(!(Ze(c[c[k>>2]>>2]|0)|0)){c[g>>2]=c[k>>2];n=c[g>>2]|0;i=d;return n|0}c[m>>2]=240;if((c[242]|0)==-1)c[242]=Mc(2,21083,20996,21088,c[m>>2]|0)|0;if((Pc()|0)<=0){if(c[242]|0)Wc(2,21083,21125,e)}else Qc(-1,0);Gd(c[k>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=d;return n|0}function Jd(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+64|0;d=b+8|0;e=b;f=b+48|0;g=b+44|0;h=b+40|0;j=b+32|0;k=b+24|0;l=b+20|0;m=b+16|0;c[g>>2]=a;c[k>>2]=Kd(j,c[c[g>>2]>>2]|0,37947,39360)|0;if(c[k>>2]|0)c[k>>2]=Kd(j,c[c[g>>2]>>2]|0,37935,39360)|0;if(c[k>>2]|0)c[k>>2]=Kd(j,c[c[g>>2]>>2]|0,39319,39360)|0;if(!(c[k>>2]|0)){g=c[j+4>>2]|0;c[d>>2]=c[j>>2];c[d+4>>2]=g;c[k>>2]=te(l,0,21248,d)|0;Ae(c[j>>2]|0);Ae(c[j+4>>2]|0);c[h>>2]=Cc(4,20996,279)|0;c[c[h>>2]>>2]=c[l>>2];c[f>>2]=c[h>>2];n=c[f>>2]|0;i=b;return n|0}c[m>>2]=269;if((c[243]|0)==-1)c[243]=Mc(2,0,20996,21159,c[m>>2]|0)|0;if((Pc()|0)<=0){if(c[243]|0){c[e>>2]=20996;c[e+4>>2]=269;Rc(34,21200,e)}}else Qc(-1,0);c[f>>2]=0;n=c[f>>2]|0;i=b;return n|0}function Kd(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;g=i;i=i+48|0;h=g+36|0;j=g+32|0;k=g+28|0;l=g+24|0;m=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;q=g+4|0;r=g;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=we(c[k>>2]|0,c[l>>2]|0,0)|0;c[n>>2]=f;if(!f){c[h>>2]=1;s=c[h>>2]|0;i=g;return s|0}c[o>>2]=xe(c[n>>2]|0)|0;ue(c[n>>2]|0);c[n>>2]=c[o>>2];if(!(c[n>>2]|0)){c[h>>2]=2;s=c[h>>2]|0;i=g;return s|0}c[r>>2]=0;c[p>>2]=c[m>>2];while(1){t=c[n>>2]|0;if(!(a[c[p>>2]>>0]|0)){u=18;break}m=we(t,c[p>>2]|0,1)|0;c[o>>2]=m;if(!m){u=8;break}m=ye(c[o>>2]|0,1,5)|0;c[(c[j>>2]|0)+(c[r>>2]<<2)>>2]=m;ue(c[o>>2]|0);if(!(c[(c[j>>2]|0)+(c[r>>2]<<2)>>2]|0)){u=13;break}c[p>>2]=(c[p>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1}if((u|0)==8){c[q>>2]=0;while(1){if((c[q>>2]|0)>>>0>=(c[r>>2]|0)>>>0)break;of(c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]|0);c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]=0;c[q>>2]=(c[q>>2]|0)+1}ue(c[n>>2]|0);c[h>>2]=3;s=c[h>>2]|0;i=g;return s|0}else if((u|0)==13){c[q>>2]=0;while(1){if((c[q>>2]|0)>>>0>=(c[r>>2]|0)>>>0)break;of(c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]|0);c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]=0;c[q>>2]=(c[q>>2]|0)+1}ue(c[n>>2]|0);c[h>>2]=4;s=c[h>>2]|0;i=g;return s|0}else if((u|0)==18){ue(t);c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}return 0}function Ld(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ue(c[c[d>>2]>>2]|0);Ec(c[d>>2]|0,20996,294);i=b;return}function Md(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+32|0;e=d;f=d+24|0;g=d+20|0;h=d+16|0;j=d+12|0;k=d+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=ve(c[c[f>>2]>>2]|0,3,0,0)|0;c[j>>2]=Cc(c[h>>2]|0,20996,317)|0;b=(c[h>>2]|0)-1|0;if((b|0)==(ve(c[c[f>>2]>>2]|0,3,c[j>>2]|0,c[h>>2]|0)|0)){c[c[g>>2]>>2]=c[j>>2];i=d;return c[h>>2]|0}c[k>>2]=322;if((c[244]|0)==-1)c[244]=Mc(1,0,20996,21278,c[k>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[244]|0))Lc();c[e>>2]=20996;c[e+4>>2]=322;Rc(1,61592,e);Lc();return 0}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[h>>2]=Md(c[e>>2]|0,g)|0;ld(c[g>>2]|0,c[h>>2]|0,c[f>>2]|0);Ec(c[g>>2]|0,20996,346);i=d;return}function Od(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;d=i;i=i+48|0;e=d+8|0;f=d;g=d+44|0;h=d+40|0;j=d+36|0;k=d+32|0;l=d+28|0;m=d+24|0;n=d+20|0;o=d+16|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=Cc(4,20996,366)|0;if(se(c[k>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0){c[n>>2]=373;if((c[245]|0)==-1)c[245]=Mc(2,0,20996,21314,c[n>>2]|0)|0;if((Pc()|0)<=0){if(c[245]|0){c[f>>2]=20996;c[f+4>>2]=373;Rc(34,21200,f)}}else Qc(-1,0);Ec(c[k>>2]|0,20996,374);c[g>>2]=0;p=c[g>>2]|0;i=d;return p|0}c[m>>2]=Kd(l,c[c[k>>2]>>2]|0,37947,39374)|0;if(c[m>>2]|0)c[m>>2]=Kd(l,c[c[k>>2]>>2]|0,39319,39374)|0;if(!(c[m>>2]|0)){Ae(c[l>>2]|0);c[g>>2]=c[k>>2];p=c[g>>2]|0;i=d;return p|0}c[o>>2]=384;if((c[246]|0)==-1)c[246]=Mc(1,0,20996,21314,c[o>>2]|0)|0;if((Pc()|0)<=0){if(c[246]|0){c[e>>2]=20996;c[e+4>>2]=384;Rc(1,61592,e)}}else Qc(-1,0);ue(c[c[k>>2]>>2]|0);Ec(c[k>>2]|0,20996,386);c[g>>2]=0;p=c[g>>2]|0;i=d;return p|0}function Pd(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Cc(4,20996,405)|0;a=ze(c[d>>2]|0)|0;c[c[e>>2]>>2]=a;kf(c[c[e>>2]>>2]|0,c[d>>2]|0,1);i=b;return c[e>>2]|0}function Qd(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+32|0;e=d;f=d+24|0;g=d+20|0;h=d+16|0;j=d+12|0;k=d+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=ve(c[c[f>>2]>>2]|0,3,0,0)|0;c[j>>2]=Cc(c[h>>2]|0,20996,825)|0;b=(c[h>>2]|0)-1|0;if((b|0)==(ve(c[c[f>>2]>>2]|0,3,c[j>>2]|0,c[h>>2]|0)|0)){c[c[g>>2]>>2]=c[j>>2];i=d;return c[h>>2]|0}c[k>>2]=830;if((c[247]|0)==-1)c[247]=Mc(1,0,20996,21350,c[k>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[247]|0))Lc();c[e>>2]=20996;c[e+4>>2]=830;Rc(1,61592,e);Lc();return 0}function Rd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ae(c[c[d>>2]>>2]|0);Ec(c[d>>2]|0,20996,564);i=b;return}function Sd(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+32|0;e=d;f=d+28|0;g=d+24|0;h=d+20|0;j=d+16|0;k=d+8|0;c[f>>2]=a;c[g>>2]=b;Ce(5,0,0,h,c[c[f>>2]>>2]|0)|0;c[j>>2]=Cc(c[h>>2]|0,20996,589)|0;if(!(Ce(5,c[j>>2]|0,c[h>>2]|0,d+12|0,c[c[f>>2]>>2]|0)|0)){c[c[g>>2]>>2]=c[j>>2];i=d;return c[h>>2]|0}c[k>>2]=595;if((c[248]|0)==-1)c[248]=Mc(1,0,20996,21385,c[k>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[248]|0))Lc();c[e>>2]=20996;c[e+4>>2]=595;Rc(1,61592,e);Lc();return 0}function Td(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=d+28|0;g=d+24|0;h=d+20|0;j=d+16|0;k=d+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=Cc(4,20996,616)|0;if(!(Be(c[j>>2]|0,5,c[g>>2]|0,c[h>>2]|0,d+12|0)|0)){c[f>>2]=c[j>>2];l=c[f>>2]|0;i=d;return l|0}c[k>>2]=624;if((c[249]|0)==-1)c[249]=Mc(2,0,20996,21423,c[k>>2]|0)|0;if((Pc()|0)<=0){if(c[249]|0){c[e>>2]=20996;c[e+4>>2]=624;Rc(34,21200,e)}}else Qc(-1,0);Ec(c[j>>2]|0,20996,625);c[f>>2]=0;l=c[f>>2]|0;i=d;return l|0}function Ud(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+96|0;g=f+8|0;h=f;j=f+84|0;k=f+80|0;l=f+76|0;m=f+72|0;n=f+68|0;o=f+64|0;p=f+56|0;q=f+48|0;r=f+44|0;s=f+40|0;t=f+36|0;u=f+32|0;v=f+28|0;w=f+24|0;x=f+20|0;y=f+16|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[w>>2]=Kd(p,c[c[m>>2]>>2]|0,37947,39360)|0;if(c[w>>2]|0)c[w>>2]=Kd(p,c[c[m>>2]>>2]|0,39319,39360)|0;if(c[w>>2]|0){c[x>>2]=662;if((c[250]|0)==-1)c[250]=Mc(1,0,20996,21461,c[x>>2]|0)|0;if((Pc()|0)<=0){if(c[250]|0){c[h>>2]=20996;c[h+4>>2]=662;Rc(1,61592,h)}}else Qc(-1,0);c[c[n>>2]>>2]=0;c[j>>2]=0;z=c[j>>2]|0;i=f;return z|0}h=Be(o,5,c[k>>2]|0,64,s)|0;c[u>>2]=h;if(!h){c[q>>2]=ze(0)|0;Ee(c[q>>2]|0,c[c[l>>2]>>2]|0,c[p+4>>2]|0,c[p>>2]|0);c[r>>2]=ze(0)|0;De(c[r>>2]|0,c[o>>2]|0,c[q>>2]|0,c[p>>2]|0);Ae(c[o>>2]|0);Ae(c[p>>2]|0);Ae(c[p+4>>2]|0);Ae(c[q>>2]|0);Ce(5,0,0,t,c[r>>2]|0)|0;c[v>>2]=Cc(c[t>>2]|0,20996,698)|0;c[u>>2]=Ce(5,c[v>>2]|0,c[t>>2]|0,s,c[r>>2]|0)|0;Ae(c[r>>2]|0);c[c[n>>2]>>2]=c[v>>2];c[j>>2]=c[t>>2];z=c[j>>2]|0;i=f;return z|0}c[y>>2]=672;if((c[251]|0)==-1)c[251]=Mc(1,0,20996,21461,c[y>>2]|0)|0;if((Pc()|0)<=0){if(c[251]|0){c[g>>2]=20996;c[g+4>>2]=672;Rc(1,61592,g)}}else Qc(-1,0);Ae(c[p>>2]|0);Ae(c[p+4>>2]|0);c[c[n>>2]>>2]=0;c[j>>2]=0;z=c[j>>2]|0;i=f;return z|0}function Vd(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;e=i;i=i+64|0;f=e+8|0;g=e;h=e+52|0;j=e+48|0;k=e+44|0;l=e+40|0;m=e+36|0;n=e+32|0;o=e+28|0;p=e+24|0;q=e+20|0;r=e+16|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[p>>2]=Wd(c[k>>2]|0,c[l>>2]|0)|0;if(Xe(o,c[p>>2]|0,c[c[j>>2]>>2]|0)|0){c[q>>2]=767;if((c[254]|0)==-1)c[254]=Mc(1,0,20996,21528,c[q>>2]|0)|0;if((Pc()|0)<=0){if(c[254]|0){c[g>>2]=20996;c[g+4>>2]=767;Rc(1,61592,g)}}else Qc(-1,0);c[h>>2]=0;s=c[h>>2]|0;i=e;return s|0}c[n>>2]=Jd(c[j>>2]|0)|0;if(!(Ye(c[o>>2]|0,c[p>>2]|0,c[c[n>>2]>>2]|0)|0)){Ld(c[n>>2]|0);ue(c[p>>2]|0);c[m>>2]=Cc(4,20996,788)|0;c[c[m>>2]>>2]=c[o>>2];c[h>>2]=c[m>>2];s=c[h>>2]|0;i=e;return s|0}c[r>>2]=778;if((c[255]|0)==-1)c[255]=Mc(1,0,20996,21528,c[r>>2]|0)|0;if((Pc()|0)<=0){if(c[255]|0){c[f>>2]=20996;c[f+4>>2]=778;Rc(1,61592,f)}}else Qc(-1,0);Ld(c[n>>2]|0);ue(c[p>>2]|0);ue(c[o>>2]|0);c[h>>2]=0;s=c[h>>2]|0;i=e;return s|0}function Wd(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+16|0;f=d+8|0;g=d;h=d+44|0;j=d+40|0;k=d+36|0;l=d+32|0;m=d+28|0;n=d+24|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=0;c[l>>2]=0;if(Be(k,5,c[h>>2]|0,c[j>>2]|0,0)|0){c[m>>2]=731;if((c[252]|0)==-1)c[252]=Mc(1,0,20996,21485,c[m>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[252]|0))Lc();c[g>>2]=20996;c[g+4>>2]=731;Rc(1,61592,g);Lc()}c[f>>2]=c[k>>2];if(!(te(l,0,21498,f)|0)){Ae(c[k>>2]|0);i=d;return c[l>>2]|0}c[n>>2]=736;if((c[253]|0)==-1)c[253]=Mc(1,0,20996,21485,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[253]|0))Lc();c[e>>2]=20996;c[e+4>>2]=736;Rc(1,61592,e);Lc();return 0}function Xd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ue(c[c[d>>2]>>2]|0);Ec(c[d>>2]|0,20996,803);i=b;return}function Yd(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;d=i;i=i+48|0;e=d+8|0;f=d;g=d+44|0;h=d+40|0;j=d+36|0;k=d+32|0;l=d+28|0;m=d+24|0;n=d+20|0;o=d+16|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=Cc(4,20996,852)|0;if(se(c[k>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0){c[n>>2]=859;if((c[256]|0)==-1)c[256]=Mc(2,0,20996,21551,c[n>>2]|0)|0;if((Pc()|0)<=0){if(c[256]|0){c[f>>2]=20996;c[f+4>>2]=859;Rc(34,21200,f)}}else Qc(-1,0);Ec(c[k>>2]|0,20996,860);c[g>>2]=0;p=c[g>>2]|0;i=d;return p|0}c[l>>2]=Kd(m,c[c[k>>2]>>2]|0,37797,39372)|0;if(c[l>>2]|0)c[l>>2]=Kd(m,c[c[k>>2]>>2]|0,39319,39372)|0;if(!(c[l>>2]|0)){Ae(c[m>>2]|0);c[g>>2]=c[k>>2];p=c[g>>2]|0;i=d;return p|0}c[o>>2]=870;if((c[257]|0)==-1)c[257]=Mc(2,0,20996,21551,c[o>>2]|0)|0;if((Pc()|0)<=0){if(c[257]|0){c[e>>2]=20996;c[e+4>>2]=870;Rc(34,21200,e)}}else Qc(-1,0);ue(c[c[k>>2]>>2]|0);Ec(c[k>>2]|0,20996,872);c[g>>2]=0;p=c[g>>2]|0;i=d;return p|0}function Zd(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+96|0;f=e+32|0;g=e+24|0;h=e+16|0;j=e+8|0;k=e;l=e+92|0;m=e+88|0;n=e+84|0;o=e+80|0;p=e+76|0;q=e+72|0;r=e+68|0;s=e+64|0;t=e+60|0;u=e+56|0;v=e+52|0;w=e+48|0;x=e+44|0;y=e+40|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[t>>2]=Kd(p,c[c[o>>2]>>2]|0,37947,39374)|0;if(c[t>>2]|0)c[t>>2]=Kd(p,c[c[o>>2]>>2]|0,39319,39374)|0;if(c[t>>2]|0){c[v>>2]=932;if((c[258]|0)==-1)c[258]=Mc(2,0,20996,21586,c[v>>2]|0)|0;if((Pc()|0)<=0){if(c[258]|0){c[k>>2]=20996;c[k+4>>2]=932;Rc(34,21200,k)}}else Qc(-1,0);c[l>>2]=0;z=c[l>>2]|0;i=e;return z|0}c[t>>2]=Kd(q,c[c[m>>2]>>2]|0,37797,39372)|0;if(c[t>>2]|0)c[t>>2]=Kd(q,c[c[m>>2]>>2]|0,39319,39372)|0;if(c[t>>2]|0){Ae(c[p>>2]|0);c[w>>2]=941;if((c[259]|0)==-1)c[259]=Mc(2,0,20996,21586,c[w>>2]|0)|0;if((Pc()|0)<=0){if(c[259]|0){c[j>>2]=20996;c[j+4>>2]=941;Rc(34,21200,j)}}else Qc(-1,0);c[l>>2]=0;z=c[l>>2]|0;i=e;return z|0}c[r>>2]=ze(0)|0;if(1!=(Fe(c[r>>2]|0,c[c[n>>2]>>2]|0,c[p>>2]|0)|0)){c[x>>2]=950;if((c[260]|0)==-1)c[260]=Mc(2,0,20996,21586,c[x>>2]|0)|0;if((Pc()|0)<=0){if(c[260]|0){c[h>>2]=20996;c[h+4>>2]=950;Rc(34,21200,h)}}else Qc(-1,0);Ae(c[p>>2]|0);Ae(c[r>>2]|0);Ae(c[q>>2]|0);c[l>>2]=0;z=c[l>>2]|0;i=e;return z|0}c[s>>2]=ze(0)|0;De(c[s>>2]|0,c[q>>2]|0,c[r>>2]|0,c[p>>2]|0);Ae(c[p>>2]|0);Ae(c[r>>2]|0);Ae(c[q>>2]|0);c[u>>2]=Cc(4,20996,962)|0;q=c[u>>2]|0;c[g>>2]=c[s>>2];if(!(te(q,0,21612,g)|0)){Ae(c[s>>2]|0);c[l>>2]=c[u>>2];z=c[l>>2]|0;i=e;return z|0}c[y>>2]=967;if((c[261]|0)==-1)c[261]=Mc(1,0,20996,21586,c[y>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[261]|0))Lc();c[f>>2]=20996;c[f+4>>2]=967;Rc(1,61592,f);Lc();return 0}function _d(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;e=i;i=i+48|0;f=e;g=e+36|0;h=e+32|0;j=e+28|0;k=e+24|0;l=e+20|0;m=e+16|0;n=e+12|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=Wd(c[h>>2]|0,64)|0;c[m>>2]=Ye(c[c[j>>2]>>2]|0,c[l>>2]|0,c[c[k>>2]>>2]|0)|0;ue(c[l>>2]|0);if(!(c[m>>2]|0)){c[g>>2]=1;o=c[g>>2]|0;i=e;return o|0}c[n>>2]=1002;if((c[262]|0)==-1)c[262]=Mc(2,21083,20996,21635,c[n>>2]|0)|0;if((Pc()|0)<=0){if(c[262]|0){n=me(c[m>>2]|0)|0;c[f>>2]=20996;c[f+4>>2]=1001;c[f+8>>2]=n;Wc(2,21083,21660,f)}}else Qc(-1,0);c[g>>2]=-1;o=c[g>>2]|0;i=e;return o|0}function $d(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+16|0;f=d+40|0;g=d+36|0;h=d+32|0;j=d+8|0;k=d;c[g>>2]=b;c[h>>2]=21781;b=a;l=c[b+4>>2]|0;m=j;c[m>>2]=c[b>>2];c[m+4>>2]=l;l=ie()|0;m=k;c[m>>2]=l;c[m+4>>2]=C;m=k;k=a;if((c[m>>2]|0)==(c[k>>2]|0)?(c[m+4>>2]|0)==(c[k+4>>2]|0):0){c[f>>2]=21726;n=c[f>>2]|0;i=d;return n|0}k=a;if(0==(c[k>>2]|0)?0==(c[k+4>>2]|0):0){c[f>>2]=21785;n=c[f>>2]|0;i=d;return n|0}k=j;a=c[k+4>>2]|0;if(!(!(1==(c[g>>2]|0)&(a>>>0>0|(a|0)==0&(c[k>>2]|0)>>>0>5e3))?(k=j,a=Ox(c[k>>2]|0,c[k+4>>2]|0,1e3,0)|0,!(0==(a|0)&0==(C|0))):0))o=7;do if((o|0)==7){a=j;k=Nx(c[a>>2]|0,c[a+4>>2]|0,1e3,0)|0;a=j;c[a>>2]=k;c[a+4>>2]=C;c[h>>2]=21734;a=j;k=c[a+4>>2]|0;if(!(1==(c[g>>2]|0)&(k>>>0>0|(k|0)==0&(c[a>>2]|0)>>>0>5e3))?(a=j,k=Ox(c[a>>2]|0,c[a+4>>2]|0,1e3,0)|0,!(0==(k|0)&0==(C|0))):0)break;k=j;a=Nx(c[k>>2]|0,c[k+4>>2]|0,1e3,0)|0;k=j;c[k>>2]=a;c[k+4>>2]=C;c[h>>2]=39372;k=j;a=c[k+4>>2]|0;if(!(1==(c[g>>2]|0)&(a>>>0>0|(a|0)==0&(c[k>>2]|0)>>>0>300))?(k=j,a=Ox(c[k>>2]|0,c[k+4>>2]|0,60,0)|0,!(0==(a|0)&0==(C|0))):0)break;a=j;k=Nx(c[a>>2]|0,c[a+4>>2]|0,60,0)|0;a=j;c[a>>2]=k;c[a+4>>2]=C;c[h>>2]=21737;a=j;k=c[a+4>>2]|0;if(!(1==(c[g>>2]|0)&(k>>>0>0|(k|0)==0&(c[a>>2]|0)>>>0>300))?(a=j,k=Ox(c[a>>2]|0,c[a+4>>2]|0,60,0)|0,!(0==(k|0)&0==(C|0))):0)break;k=j;a=Nx(c[k>>2]|0,c[k+4>>2]|0,60,0)|0;k=j;c[k>>2]=a;c[k+4>>2]=C;c[h>>2]=35583;k=j;a=c[k+4>>2]|0;if(!(1==(c[g>>2]|0)&(a>>>0>0|(a|0)==0&(c[k>>2]|0)>>>0>120))?(k=j,a=Ox(c[k>>2]|0,c[k+4>>2]|0,24,0)|0,!(0==(a|0)&0==(C|0))):0)break;a=j;k=Nx(c[a>>2]|0,c[a+4>>2]|0,24,0)|0;a=j;c[a>>2]=k;c[a+4>>2]=C;a=j;if(1==(c[a>>2]|0)?0==(c[a+4>>2]|0):0){c[h>>2]=21739;break}else{c[h>>2]=21743;break}}while(0);g=j;j=c[g+4>>2]|0;o=c[h>>2]|0;h=e;c[h>>2]=c[g>>2];c[h+4>>2]=j;c[e+8>>2]=o;Gc(76048,128,21718,e)|0;c[f>>2]=76048;n=c[f>>2]|0;i=d;return n|0}function ae(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+16|0;e=b+12|0;f=b+8|0;g=b;h=a;j=c[h>>2]|0;k=c[h+4>>2]|0;h=je()|0;l=g;c[l>>2]=h;c[l+4>>2]=C;l=g;if((j|0)==(c[l>>2]|0)?(k|0)==(c[l+4>>2]|0):0){c[d>>2]=21748;m=c[d>>2]|0;i=b;return m|0}else{l=a;a=Nx(c[l>>2]|0,c[l+4>>2]|0,1e3,0)|0;l=Nx(a|0,C|0,1e3,0)|0;c[e>>2]=l;c[f>>2]=pb(e|0)|0;Ma(76176,255,21760,c[f>>2]|0)|0;c[d>>2]=76176;m=c[d>>2]|0;i=b;return m|0}return 0}function be(b,e,f,g){b=b|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;h=i;i=i+96|0;j=h+24|0;k=h+16|0;l=h+8|0;m=h;n=h+84|0;o=h+80|0;p=h+76|0;q=h+72|0;r=h+68|0;s=h+64|0;t=h+60|0;u=h+56|0;v=h+52|0;w=h+48|0;x=h+44|0;y=h+40|0;z=h+36|0;A=h+32|0;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[w>>2]=c[o>>2];if((c[r>>2]|0)>>>0<((((c[p>>2]<<3)+4|0)>>>0)/5|0)>>>0){c[x>>2]=873;if((c[263]|0)==-1)c[263]=Mc(1,0,21708,21790,c[x>>2]|0)|0;if((Pc()|0)<=0){if(c[263]|0){c[m>>2]=21708;c[m+4>>2]=873;Rc(1,61592,m)}}else Qc(-1,0);c[n>>2]=0;B=c[n>>2]|0;i=h;return B|0}c[v>>2]=0;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;while(1){if(!((c[t>>2]|0)>>>0<(c[p>>2]|0)>>>0?1:(c[v>>2]|0)>>>0>0)){C=32;break}if((c[v>>2]|0)>>>0<5?(c[t>>2]|0)>>>0<(c[p>>2]|0)>>>0:0){m=c[u>>2]<<8;x=c[t>>2]|0;c[t>>2]=x+1;c[u>>2]=m|(d[(c[w>>2]|0)+x>>0]|0);c[v>>2]=(c[v>>2]|0)+8}if((c[v>>2]|0)>>>0<5){c[u>>2]=c[u>>2]<<5-(c[v>>2]|0);if((c[v>>2]|0)!=((c[p>>2]<<3>>>0)%5|0|0)){C=15;break}c[v>>2]=5}if((c[s>>2]|0)>>>0>=(c[r>>2]|0)>>>0){C=24;break}x=a[(c[266]|0)+((c[u>>2]|0)>>>((c[v>>2]|0)-5|0)&31)>>0]|0;m=c[s>>2]|0;c[s>>2]=m+1;a[(c[q>>2]|0)+m>>0]=x;c[v>>2]=(c[v>>2]|0)-5}if((C|0)==15){c[y>>2]=890;if((c[264]|0)==-1)c[264]=Mc(1,0,21708,21790,c[y>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[264]|0))Lc();c[l>>2]=21708;c[l+4>>2]=890;Rc(1,61592,l);Lc()}else if((C|0)==24){c[z>>2]=895;if((c[265]|0)==-1)c[265]=Mc(1,0,21708,21790,c[z>>2]|0)|0;if((Pc()|0)<=0){if(c[265]|0){c[k>>2]=21708;c[k+4>>2]=895;Rc(1,61592,k)}}else Qc(-1,0);c[n>>2]=0;B=c[n>>2]|0;i=h;return B|0}else if((C|0)==32){if(!(c[v>>2]|0)){if((c[s>>2]|0)>>>0<(c[r>>2]|0)>>>0)a[(c[q>>2]|0)+(c[s>>2]|0)>>0]=0;c[n>>2]=(c[q>>2]|0)+(c[s>>2]|0);B=c[n>>2]|0;i=h;return B|0}c[A>>2]=901;if((c[267]|0)==-1)c[267]=Mc(1,0,21708,21790,c[A>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[267]|0))Lc();c[j>>2]=21708;c[j+4>>2]=901;Rc(1,61592,j);Lc()}return 0}function ce(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;e=i;i=i+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[g>>2]=b;c[h>>2]=d;c[k>>2]=c[h>>2]<<3;if((((c[k>>2]|0)>>>0)%5|0)>>>0>0)c[k>>2]=(c[k>>2]|0)+(5-(((c[k>>2]|0)>>>0)%5|0));c[k>>2]=((c[k>>2]|0)>>>0)/5|0;c[j>>2]=Cc((c[k>>2]|0)+1|0,21708,929)|0;c[l>>2]=be(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if(!(c[l>>2]|0)){Ec(c[j>>2]|0,21708,933);c[f>>2]=0;m=c[f>>2]|0;i=e;return m|0}else{a[c[l>>2]>>0]=0;c[f>>2]=c[j>>2];m=c[f>>2]|0;i=e;return m|0}return 0}function de(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;g=i;i=i+64|0;h=g;j=g+60|0;k=g+56|0;l=g+52|0;m=g+48|0;n=g+44|0;o=g+40|0;p=g+36|0;q=g+32|0;r=g+28|0;s=g+24|0;t=g+20|0;u=g+16|0;v=g+12|0;w=g+8|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[v>>2]=c[n>>2]<<3;if(!(c[l>>2]|0))if(!(c[n>>2]|0)){c[j>>2]=1;x=c[j>>2]|0;i=g;return x|0}else{c[j>>2]=-1;x=c[j>>2]|0;i=g;return x|0}c[u>>2]=c[m>>2];c[p>>2]=c[n>>2];c[o>>2]=c[l>>2];if((((c[v>>2]|0)>>>0)%5|0)>>>0>0){c[r>>2]=((c[v>>2]|0)>>>0)%5|0;c[t>>2]=5-(c[r>>2]|0);n=(c[o>>2]|0)+-1|0;c[o>>2]=n;m=ee(a[(c[k>>2]|0)+n>>0]|0)|0;c[s>>2]=m;c[q>>2]=m>>c[t>>2]}else{c[r>>2]=5;c[t>>2]=0;m=(c[o>>2]|0)+-1|0;c[o>>2]=m;n=ee(a[(c[k>>2]|0)+m>>0]|0)|0;c[s>>2]=n;c[q>>2]=n}if(((((c[v>>2]|0)+(c[t>>2]|0)|0)>>>0)/5|0|0)!=(c[l>>2]|0)){c[j>>2]=-1;x=c[j>>2]|0;i=g;return x|0}if(-1==(c[s>>2]|0)){c[j>>2]=-1;x=c[j>>2]|0;i=g;return x|0}while(1){y=c[o>>2]|0;if((c[p>>2]|0)>>>0<=0){z=25;break}if(!y){z=14;break}l=(c[o>>2]|0)+-1|0;c[o>>2]=l;t=ee(a[(c[k>>2]|0)+l>>0]|0)|0;c[s>>2]=t;c[q>>2]=t<<c[r>>2]|c[q>>2];if(-1==(c[s>>2]|0)){z=22;break}c[r>>2]=(c[r>>2]|0)+5;if((c[r>>2]|0)>>>0<8)continue;t=c[q>>2]&255;l=(c[p>>2]|0)+-1|0;c[p>>2]=l;a[(c[u>>2]|0)+l>>0]=t;c[q>>2]=(c[q>>2]|0)>>>8;c[r>>2]=(c[r>>2]|0)-8}if((z|0)==14){c[w>>2]=993;if((c[268]|0)==-1)c[268]=Mc(1,0,21708,21853,c[w>>2]|0)|0;if((Pc()|0)<=0){if(c[268]|0){c[h>>2]=21708;c[h+4>>2]=993;Rc(1,61592,h)}}else Qc(-1,0);c[j>>2]=-1;x=c[j>>2]|0;i=g;return x|0}else if((z|0)==22){c[j>>2]=-1;x=c[j>>2]|0;i=g;return x|0}else if((z|0)==25)if(0!=(y|0)|0!=(c[r>>2]|0)){c[j>>2]=-1;x=c[j>>2]|0;i=g;return x|0}else{c[j>>2]=1;x=c[j>>2]|0;i=g;return x|0}return 0}function ee(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+4|0;g=e+8|0;h=e;a[g>>0]=b;switch(d[g>>0]|0|0){case 111:case 79:{a[g>>0]=48;break}case 76:case 108:case 73:case 105:{a[g>>0]=49;break}case 85:case 117:{a[g>>0]=86;break}default:{}}if((d[g>>0]|0|0)>=48?(d[g>>0]|0|0)<=57:0){c[f>>2]=(d[g>>0]|0)-48;j=c[f>>2]|0;i=e;return j|0}if((d[g>>0]|0|0)>=97?(d[g>>0]|0|0)<=122:0)a[g>>0]=Jv(d[g>>0]|0)|0;c[h>>2]=0;if((d[g>>0]|0|0)>=65?(d[g>>0]|0|0)<=90:0){if(73<(d[g>>0]|0|0))c[h>>2]=(c[h>>2]|0)+1;if(76<(d[g>>0]|0|0))c[h>>2]=(c[h>>2]|0)+1;if(79<(d[g>>0]|0|0))c[h>>2]=(c[h>>2]|0)+1;if(85<(d[g>>0]|0|0))c[h>>2]=(c[h>>2]|0)+1;c[f>>2]=(d[g>>0]|0)-65+10-(c[h>>2]|0);j=c[f>>2]|0;i=e;return j|0}c[f>>2]=-1;j=c[f>>2]|0;i=e;return j|0}function fe(){var a=0;a=70536;C=c[a+4>>2]|0;return c[a>>2]|0}function ge(){var a=0,b=0,d=0,e=0,f=0,g=0;a=i;i=i+32|0;b=a+8|0;d=a;e=a+16|0;lb(e|0,0)|0;f=c[e>>2]|0;g=Mx(f|0,((f|0)<0)<<31>>31|0,1e3,0)|0;f=Mx(g|0,C|0,1e3,0)|0;g=c[e+4>>2]|0;e=Ax(f|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;g=70536;f=Ax(e|0,C|0,c[g>>2]|0,c[g+4>>2]|0)|0;g=d;c[g>>2]=f;c[g+4>>2]=C;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];d=b;C=c[d+4>>2]|0;i=a;return c[d>>2]|0}function he(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;c[b>>2]=c[17636];c[b+4>>2]=c[17637];d=b;C=c[d+4>>2]|0;i=a;return c[d>>2]|0}function ie(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;c[b>>2]=c[16];c[b+4>>2]=c[17];d=b;C=c[d+4>>2]|0;i=a;return c[d>>2]|0}function je(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;c[b>>2]=c[18];c[b+4>>2]=c[19];d=b;C=c[d+4>>2]|0;i=a;return c[d>>2]|0}function ke(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,o=0,p=0,q=0;b=i;i=i+32|0;d=b+24|0;e=b+16|0;f=b+8|0;g=b;h=ge()|0;j=g;c[j>>2]=h;c[j+4>>2]=C;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];g=a;j=c[g+4>>2]|0;h=e;k=c[h+4>>2]|0;if(j>>>0>k>>>0|((j|0)==(k|0)?(c[g>>2]|0)>>>0>(c[h>>2]|0)>>>0:0)){h=he()|0;g=d;c[g>>2]=h;c[g+4>>2]=C;l=d;m=l;n=c[m>>2]|0;o=l+4|0;p=o;q=c[p>>2]|0;C=q;i=b;return n|0}else{g=e;e=a;a=zx(c[g>>2]|0,c[g+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;e=f;c[e>>2]=a;c[e+4>>2]=C;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];l=d;m=l;n=c[m>>2]|0;o=l+4|0;p=o;q=c[p>>2]|0;C=q;i=b;return n|0}return 0}function le(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e+8|0;g=e;h=b;b=Hc(c[h>>2]|0,c[h+4>>2]|0)|0;h=C;j=g;k=j;a[k>>0]=b;a[k+1>>0]=b>>8;a[k+2>>0]=b>>16;a[k+3>>0]=b>>24;b=j+4|0;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;a[f>>0]=a[g>>0]|0;a[f+1>>0]=a[g+1>>0]|0;a[f+2>>0]=a[g+2>>0]|0;a[f+3>>0]=a[g+3>>0]|0;a[f+4>>0]=a[g+4>>0]|0;a[f+5>>0]=a[g+5>>0]|0;a[f+6>>0]=a[g+6>>0]|0;a[f+7>>0]=a[g+7>>0]|0;g=f;f=g;h=g+4|0;C=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;i=e;return d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24|0}function me(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ne(c[d>>2]|0)|0;i=b;return a|0}function ne(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=fu(c[d>>2]|0)|0;i=b;return a|0}function oe(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+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function pe(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=oe(1,c[d>>2]|0)|0;i=b;return a|0}function qe(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Nf(c[d>>2]|0)|0;i=b;return a|0}function re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;e=d+20|0;f=d+16|0;g=d;c[e>>2]=a;c[g>>2]=b;c[f>>2]=pe(Qf(c[e>>2]|0,g)|0)|0;i=d;return c[f>>2]|0}function se(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=pe(wg(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)|0;i=f;return e|0}function te(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;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;c[k>>2]=Jg(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,l)|0;l=pe(c[k>>2]|0)|0;i=f;return l|0}function ue(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;vg(c[d>>2]|0);i=b;return}function ve(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=Lg(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;i=f;return e|0}function we(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=xg(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function xe(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Hg(c[d>>2]|0)|0;i=b;return a|0}function ye(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=Fg(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function ze(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=vq(c[d>>2]|0)|0;i=b;return a|0}function Ae(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;xq(c[d>>2]|0);i=b;return}function Be(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;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=pe(Dp(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)|0;i=g;return f|0}function Ce(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;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=pe(Hp(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)|0;i=g;return f|0}function De(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;vp(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}function Ee(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;wp(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}function Fe(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=pp(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function Ge(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=bo(c[d>>2]|0)|0;i=b;return a|0}function He(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;eo(c[d>>2]|0);i=b;return}function Ie(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=pe(Ai(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)|0;i=e;return d|0}function Je(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=oo(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function Ke(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=po(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function Le(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=c[g>>2]|0;g=c[h>>2]|0;h=c[j>>2]|0;j=Zn(e,g,h,Xh(c[k>>2]|0,1)|0)|0;i=f;return j|0}function Me(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=c[g>>2]|0;g=c[h>>2]|0;h=c[j>>2]|0;Go(e,g,h,Xh(c[k>>2]|0,1)|0);i=f;return}function Ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=kq(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function Oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=zq(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function Pe(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+12|0;j=f+8|0;k=f+4|0;l=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;e=(Lf()|0)!=0;d=c[h>>2]|0;if(e){c[g>>2]=pe(ai(d,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0)|0;m=c[g>>2]|0;i=f;return m|0}else{c[d>>2]=0;c[g>>2]=pe(176)|0;m=c[g>>2]|0;i=f;return m|0}return 0}function Qe(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;fi(c[d>>2]|0);i=b;return}function Re(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+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(Lf()|0){c[f>>2]=Se(ni(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)|0;k=c[f>>2]|0;i=e;return k|0}else{c[f>>2]=pe(176)|0;k=c[f>>2]|0;i=e;return k|0}return 0}function Se(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Te(32,c[d>>2]|0)|0;i=b;return a|0}function Te(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=oe(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function Ue(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+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(Lf()|0){c[f>>2]=Se(pi(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)|0;k=c[f>>2]|0;i=e;return k|0}else{c[f>>2]=pe(176)|0;k=c[f>>2]|0;i=e;return k|0}return 0}function Ve(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;g=i;i=i+32|0;h=g+20|0;j=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;if(Lf()|0){c[h>>2]=pe(gi(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)|0;o=c[h>>2]|0;i=g;return o|0}if(c[k>>2]|0)Fx(c[k>>2]|0,66,c[l>>2]|0)|0;c[h>>2]=pe(176)|0;o=c[h>>2]|0;i=g;return o|0}function We(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;g=i;i=i+32|0;h=g+20|0;j=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;if(Lf()|0){c[h>>2]=pe(ki(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)|0;o=c[h>>2]|0;i=g;return o|0}else{c[h>>2]=pe(176)|0;o=c[h>>2]|0;i=g;return o|0}return 0}function Xe(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+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;d=(Lf()|0)!=0;b=c[g>>2]|0;if(d){c[f>>2]=pe(Ak(b,c[h>>2]|0,c[j>>2]|0)|0)|0;k=c[f>>2]|0;i=e;return k|0}else{c[b>>2]=0;c[f>>2]=pe(176)|0;k=c[f>>2]|0;i=e;return k|0}return 0}function Ye(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+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(Lf()|0){c[f>>2]=pe(Bk(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)|0;k=c[f>>2]|0;i=e;return k|0}else{c[f>>2]=pe(176)|0;k=c[f>>2]|0;i=e;return k|0}return 0}function Ze(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(Lf()|0){c[d>>2]=pe(Ck(c[e>>2]|0)|0)|0;f=c[d>>2]|0;i=b;return f|0}else{c[d>>2]=pe(176)|0;f=c[d>>2]|0;i=b;return f|0}return 0}function _e(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;b=(Lf()|0)!=0;a=c[f>>2]|0;if(b){c[e>>2]=pe(Dk(a,c[g>>2]|0)|0)|0;h=c[e>>2]|0;i=d;return h|0}else{c[a>>2]=0;c[e>>2]=pe(176)|0;h=c[e>>2]|0;i=d;return h|0}return 0}function $e(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+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;d=(Lf()|0)!=0;b=c[g>>2]|0;if(d){c[f>>2]=pe(wj(b,c[h>>2]|0,c[j>>2]|0)|0)|0;k=c[f>>2]|0;i=e;return k|0}else{c[b>>2]=0;c[f>>2]=pe(176)|0;k=c[f>>2]|0;i=e;return k|0}return 0}function af(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ej(c[d>>2]|0);i=b;return}function bf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Dj(c[d>>2]|0);i=b;return}function cf(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(Lf()|0)){i=e;return}Fj(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=Rj(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function ef(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(Lf()|0))Jh(21883,1175,21896,0,21916);Nj(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}function ff(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(Lf()|0){c[d>>2]=Tj(c[e>>2]|0)|0;f=c[d>>2]|0;i=b;return f|0}else{Jh(21883,1198,21948,0,21965);c[d>>2]=0;f=c[d>>2]|0;i=b;return f|0}return 0}function gf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Uj(c[d>>2]|0)|0;i=b;return a|0}function hf(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+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(Lf()|0){c[f>>2]=pe(Lj(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)|0;k=c[f>>2]|0;i=e;return k|0}else{c[f>>2]=pe(176)|0;k=c[f>>2]|0;i=e;return k|0}return 0}function jf(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(Lf()|0)){Jh(21883,1287,21995,1,21916);Fh()}Pn(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function kf(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;yq(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function lf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(Lf()|0)){Jh(21883,1340,22010,1,21916);Fh()}Tn(c[e>>2]|0,c[f>>2]|0);i=d;return}function mf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Yh(c[d>>2]|0);i=b;return}function nf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;kg(c[e>>2]|0,c[f>>2]|0);i=d;return}function of(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;$f(c[d>>2]|0);i=b;return}function pf(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(c[17657]|0){c[d>>2]=zb[c[17657]&15](c[e>>2]|0)|0;f=c[d>>2]|0;i=b;return f|0}else{c[d>>2]=c[e>>2];f=c[d>>2]|0;i=b;return f|0}return 0}function qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0))c[f>>2]=fu(c[e>>2]|0)|0;if((c[17659]|0)!=0?(Ah()|0)==0:0)Ab[c[17659]&7](c[17658]|0,c[e>>2]|0,c[f>>2]|0);Jh(22028,86,22035,1,c[f>>2]|0);rf(22053);rf(c[f>>2]|0);rf(22484);xh();gb()}function rf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b+4|0;c[d>>2]=a;a=c[d>>2]|0;c[b>>2]=Kw(2,a,Kv(c[d>>2]|0)|0)|0;i=b;return}function sf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[17662]=c[d>>2];i=b;return}function tf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;i=b;return (c[17662]|0)>=(c[d>>2]|0)|0}function uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;g=e+12|0;h=e+8|0;j=e+4|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(c[17660]|0)Fb[c[17660]&1](c[17661]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);else{switch(c[g>>2]|0){case 30:case 20:case 10:case 0:break;case 40:{Aw(22068,c[3962]|0)|0;break}case 50:{Aw(22076,c[3962]|0)|0;break}case 100:{Aw(22090,c[3962]|0)|0;break}default:{d=c[3962]|0;c[f>>2]=c[g>>2];gw(d,22096,f)|0}}wv(c[3962]|0,c[h>>2]|0,c[j>>2]|0)|0}if((c[g>>2]|0)==40|(c[g>>2]|0)==50){Jh(22028,140,22121,1,22132);xh();gb()}else{i=e;return}}function vf(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+20|0;g=e+16|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;uf(c[f>>2]|0,c[g>>2]|0,h);i=e;return}function wf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;f=e;g=e+20|0;h=e+16|0;j=e+12|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;d=c[h>>2]|0;h=c[j>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=d;c[f+8>>2]=h;vf(50,22162,f);gb()}function xf(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;f=i;i=i+32|0;g=f;h=f+28|0;j=f+24|0;k=f+20|0;l=f+16|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;e=c[j>>2]|0;j=c[k>>2]|0;k=c[l>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=e;c[g+8>>2]=j;c[g+12>>2]=k;vf(50,22192,g);gb()}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;e=d+16|0;f=d;c[e>>2]=a;c[f>>2]=b;uf(10,c[e>>2]|0,f);i=d;return}function zf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e+16|0;g=e;c[e+20>>2]=a;c[f>>2]=b;c[g>>2]=d;uf(10,c[f>>2]|0,g);i=e;return 0}function Af(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;e=d+16|0;f=d;c[e>>2]=a;c[f>>2]=b;uf(30,c[e>>2]|0,f);i=d;return}function Bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;e=d+16|0;f=d;c[e>>2]=a;c[f>>2]=b;uf(40,c[e>>2]|0,f);gb()}function Cf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;e=d+16|0;f=d;c[e>>2]=a;c[f>>2]=b;uf(50,c[e>>2]|0,f);gb()}function Df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;e=d+16|0;f=d;c[e>>2]=a;c[f>>2]=b;uf(100,c[e>>2]|0,f);i=d;return}function Ef(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;e=d+16|0;f=d;c[e>>2]=a;if(!(c[e>>2]|0)){i=d;return}c[f>>2]=b;uf(0,c[e>>2]|0,f);i=d;return}function Ff(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;Gf(c[f>>2]|0,22226,c[g>>2]|0,c[h>>2]|0);i=e;return}function Gf(b,e,f,g){b=b|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;h=i;i=i+96|0;j=h+56|0;k=h+40|0;l=h+32|0;m=h+24|0;n=h+16|0;o=h+8|0;p=h;q=h+84|0;r=h+80|0;s=h+76|0;t=h+72|0;u=h+68|0;v=h+64|0;w=h+60|0;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=0;c[v>>2]=0;if(((c[q>>2]|0)!=0?(a[c[q>>2]>>0]|0)!=0:0)?(c[u>>2]=1,g=c[r>>2]|0,c[p>>2]=c[q>>2],c[p+4>>2]=g,Df(22228,p),((c[t>>2]|0)!=0?(a[(c[r>>2]|0)+1>>0]|0)==91:0)&(c[s>>2]|0)!=0):0){Ef(22484,o);c[r>>2]=22226;c[n>>2]=Kv(c[q>>2]|0)|0;c[n+4>>2]=76527;Df(22234,n)}a:do if(c[t>>2]|0){c[w>>2]=c[s>>2];while(1){n=c[t>>2]|0;c[t>>2]=n+-1;if(!n)break a;c[m>>2]=d[c[w>>2]>>0];Ef(22240,m);if((c[u>>2]|0)!=0?(n=(c[v>>2]|0)+1|0,c[v>>2]=n,(n|0)==32&(c[t>>2]|0)!=0):0){c[v>>2]=0;Ef(22245,l);n=Kv(c[q>>2]|0)|0;o=Kv(c[r>>2]|0)|0;c[k>>2]=n;c[k+4>>2]=76527;c[k+8>>2]=o;c[k+12>>2]=76527;Df(22249,k)}c[w>>2]=(c[w>>2]|0)+1}}while(0);if(!(c[q>>2]|0)){i=h;return}Ef(22484,j);i=h;return}function Hf(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+64|0;e=d;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=d+32|0;c[f>>2]=a;c[g>>2]=b;if(!(c[g>>2]|0)){Gf((c[f>>2]|0)!=0?c[f>>2]|0:22226,22257,0,0);i=d;return}if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+12>>2]&4|0)!=0:0){c[m>>2]=kq(c[g>>2]|0,l)|0;c[e>>2]=c[l>>2];tv(n,30,22265,e)|0;Gf((c[f>>2]|0)!=0?c[f>>2]|0:22226,n,c[m>>2]|0,(((c[l>>2]|0)+7|0)>>>0)/8|0);i=d;return}c[h>>2]=zp(c[g>>2]|0,0,j,k)|0;if(!(c[h>>2]|0)){Gf((c[f>>2]|0)!=0?c[f>>2]|0:22226,22275,0,0);i=d;return}g=c[f>>2]|0;f=(c[k>>2]|0)!=0?22290:22292;if(c[j>>2]|0)Gf(g,f,c[h>>2]|0,c[j>>2]|0);else Gf(g,f,76527,1);$f(c[h>>2]|0);i=d;return}function If(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+48|0;f=e+28|0;g=e+24|0;h=e+20|0;j=e+16|0;k=e+12|0;l=e+32|0;m=e;n=e+8|0;c[f>>2]=b;c[g>>2]=(((c[f>>2]|0)!=0^1)&1)+(c[f>>2]|0)+63&-64;f=c[g>>2]|0;c[h>>2]=Xa()|0;g=i;i=i+((1*f|0)+15&-16)|0;c[j>>2]=g;c[k>>2]=f;a[l>>0]=0;f=m;c[f>>2]=d[l>>0];c[f+4>>2]=0;while(1){if(!((c[j>>2]&7|0)!=0?(c[k>>2]|0)!=0:0))break;a[c[j>>2]>>0]=a[l>>0]|0;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}if((c[k>>2]|0)>>>0>=8){f=m;g=Mx(c[f>>2]|0,c[f+4>>2]|0,16843009,16843009)|0;f=m;c[f>>2]=g;c[f+4>>2]=C;do{c[n>>2]=c[j>>2];f=m;g=c[f+4>>2]|0;b=c[n>>2]|0;c[b>>2]=c[f>>2];c[b+4>>2]=g;c[k>>2]=(c[k>>2]|0)-8;c[j>>2]=(c[j>>2]|0)+8}while((c[k>>2]|0)>>>0>=8)}while(1){if(!(c[k>>2]|0))break;a[c[j>>2]>>0]=a[l>>0]|0;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}xa(c[h>>2]|0);i=e;return}function Jf(){return}function Kf(){ju(33);qf(gu(c[(Yu()|0)>>2]|0)|0,22294)}function Lf(){if(!(c[17663]|0))Mf();return Lh()|0}function Mf(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=0;if(c[17663]|0){i=a;return}c[17663]=1;Cn(0);zh(c[17664]|0);Xg();c[b>>2]=ri()|0;if((((((c[b>>2]|0)==0?(c[b>>2]=$j()|0,(c[b>>2]|0)==0):0)?(c[b>>2]=Ek()|0,(c[b>>2]|0)==0):0)?(c[b>>2]=ak()|0,(c[b>>2]|0)==0):0)?(c[b>>2]=kh()|0,(c[b>>2]|0)==0):0)?(c[b>>2]=Zp()|0,(c[b>>2]|0)==0):0){i=a;return}wf(22309,123,22318)}function Nf(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;d=i;i=i+48|0;e=d+36|0;f=d+32|0;g=d+28|0;h=d+24|0;j=d+20|0;k=d+16|0;l=d+12|0;m=d+8|0;n=d+4|0;o=d;c[f>>2]=b;c[g>>2]=22330;if(((c[f>>2]|0)!=0?(a[c[f>>2]>>0]|0)==1:0)?(a[(c[f>>2]|0)+1>>0]|0)==1:0){c[e>>2]=Bq()|0;p=c[e>>2]|0;i=d;return p|0}Mf();b=c[g>>2]|0;if(!(c[f>>2]|0)){c[e>>2]=b;p=c[e>>2]|0;i=d;return p|0}c[o>>2]=Of(b,h,j,k)|0;if(!(c[o>>2]|0)){c[e>>2]=0;p=c[e>>2]|0;i=d;return p|0}if(!(Of(c[f>>2]|0,l,m,n)|0)){c[e>>2]=0;p=c[e>>2]|0;i=d;return p|0}do if((c[h>>2]|0)<=(c[l>>2]|0)){if((c[h>>2]|0)==(c[l>>2]|0)?(c[j>>2]|0)>(c[m>>2]|0):0)break;if(((c[h>>2]|0)==(c[l>>2]|0)?(c[j>>2]|0)==(c[m>>2]|0):0)?(c[k>>2]|0)>(c[n>>2]|0):0)break;if(((c[h>>2]|0)==(c[l>>2]|0)?(c[j>>2]|0)==(c[m>>2]|0):0)?(c[k>>2]|0)==(c[n>>2]|0):0)break;c[e>>2]=0;p=c[e>>2]|0;i=d;return p|0}while(0);c[e>>2]=c[g>>2];p=c[e>>2]|0;i=d;return p|0}function Of(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;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[j>>2]=Pf(c[j>>2]|0,c[k>>2]|0)|0;if((c[j>>2]|0)!=0?(a[c[j>>2]>>0]|0)==46:0){c[j>>2]=(c[j>>2]|0)+1;c[j>>2]=Pf(c[j>>2]|0,c[l>>2]|0)|0;if((c[j>>2]|0)!=0?(a[c[j>>2]>>0]|0)==46:0){c[j>>2]=(c[j>>2]|0)+1;c[j>>2]=Pf(c[j>>2]|0,c[m>>2]|0)|0;if(c[j>>2]|0){c[h>>2]=c[j>>2];n=c[h>>2]|0;i=g;return n|0}else{c[h>>2]=0;n=c[h>>2]|0;i=g;return n|0}}c[h>>2]=0;n=c[h>>2]|0;i=g;return n|0}c[h>>2]=0;n=c[h>>2]|0;i=g;return n|0}function Pf(b,d){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+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=b;c[h>>2]=d;c[j>>2]=0;if((a[c[g>>2]>>0]|0)==48?(kx(a[(c[g>>2]|0)+1>>0]|0)|0)!=0:0){c[f>>2]=0;k=c[f>>2]|0;i=e;return k|0}while(1){d=(kx(a[c[g>>2]>>0]|0)|0)!=0;l=c[j>>2]|0;if(!d)break;c[j>>2]=l*10;c[j>>2]=(c[j>>2]|0)+((a[c[g>>2]>>0]|0)-48);c[g>>2]=(c[g>>2]|0)+1}c[c[h>>2]>>2]=l;c[f>>2]=(c[j>>2]|0)<0?0:c[g>>2]|0;k=c[f>>2]|0;i=e;return k|0}function Qf(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;d=i;i=i+80|0;e=d+72|0;f=d+68|0;g=d+64|0;h=d+60|0;j=d+56|0;k=d+52|0;l=d+48|0;m=d+44|0;n=d+40|0;o=d+36|0;p=d+32|0;q=d+28|0;r=d+24|0;s=d+20|0;t=d+16|0;u=d+12|0;v=d+8|0;w=d+4|0;x=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;a:do switch(c[e>>2]|0){case 31:{Zg();break}case 44:{Cn(0);In();break}case 51:{if(Ln()|0)c[g>>2]=1;break}case 13:{Gn();break}case 62:case 23:break;case 14:{yh();break}case 30:{Mf();gh(0);break}case 37:{Mf();c[17665]=1;break}case 24:{Mf();b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;gh(y);if((fh()|0)&4)c[g>>2]=1;break}case 25:{Mf();xh();break}case 27:{Cn(0);dh(fh()|0|1);break}case 28:{Cn(0);dh(fh()|0|2);break}case 29:{Cn(0);dh((fh()|0)&-3);break}case 22:{Mf();Hn();break}case 45:{Cn(0);y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;Qn(b);break}case 46:{Cn(0);if(Lf()|0)Rn();break}case 19:{Cn(0);b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;sf(y);break}case 20:{y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[17666]=c[17666]|b;break}case 21:{b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[17666]=c[17666]&~y;break}case 36:{Mf();break}case 40:{if(c[17663]|0)c[g>>2]=1;break}case 39:{if(c[17667]|0)c[g>>2]=1;break}case 38:{if(!(c[17667]|0)){Mf();Dn(0);c[17667]=1;Lf()|0}break}case 47:{Cn(0);Mf();break}case 48:{Cn(0);Dn(1);if(Lf()|0)Sn();break}case 52:{c[g>>2]=Rf(60)|0;break}case 49:{Cn(0);y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;Jn(b);break}case 50:{Cn(0);Dn(1);b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;Kn(((y|0)!=0^1^1)&1)|0;break}case 70:{En();break}case 53:{y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[h>>2]=b;Cn(0);Tf((c[h>>2]|0)!=0?28:27,c[h>>2]|0);break}case 54:{Cn(0);if(Uh()|0)c[g>>2]=1;break}case 55:{if((Ah()|0)!=0?(b=(Kh()|0)!=0,!(b|(c[17665]|0)!=0)):0)c[g>>2]=1;break}case 56:{Cn(0);if(!(c[17663]|0)){c[17664]=1;break a}if(Vh()|0)Mh(1)|0;if(Lh()|0)c[g>>2]=1;break}case 57:{Mf();c[g>>2]=Mh(1)|0;break}case 58:{b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[j>>2]=y;y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[k>>2]=b;b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[l>>2]=y;y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[m>>2]=b;b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[n>>2]=y;y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[o>>2]=b;b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[p>>2]=y;y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[q>>2]=b;if(Lf()|0){c[g>>2]=Vn(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;break a}else{c[g>>2]=176;break a}break}case 59:{b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[r>>2]=y;y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[s>>2]=b;b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[t>>2]=y;if(Lf()|0){c[g>>2]=Wn(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;break a}else{c[g>>2]=176;break a}break}case 60:{y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[u>>2]=b;Xn(c[u>>2]|0);break}case 61:{b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[g>>2]=Uf(y)|0;break}case 63:{y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[v>>2]=b;c[g>>2]=Ug(c[v>>2]|0)|0;break}case 64:{if(c[17663]|0){c[g>>2]=1;break a}else{Cn(0);Hh();break a}break}case 65:{b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[w>>2]=y;if((c[w>>2]|0)>0)Cn(c[w>>2]|0);break}case 66:{y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[x>>2]=b;if(c[x>>2]|0){b=Fn(((c[17663]|0)!=0^1)&1)|0;c[c[x>>2]>>2]=b}break}case 67:{Cn(0);dh(fh()|0|8);break}case 68:{Cn(0);dh(fh()|0|16);break}case 72:case 71:{c[g>>2]=69;break}default:{Cn(0);c[g>>2]=61}}while(0);i=d;return c[g>>2]|0}function Rf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Sf(1,c[d>>2]|0)|0;i=b;return a|0}function Sf(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+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function Tf(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;d=i;i=i+128|0;e=d+88|0;f=d+80|0;g=d+72|0;h=d+64|0;j=d+48|0;k=d+24|0;l=d+16|0;m=d+8|0;n=d;o=d+116|0;p=d+112|0;q=d+108|0;r=d+104|0;s=d+100|0;t=d+96|0;c[o>>2]=a;c[p>>2]=b;b=c[o>>2]|0;a=c[p>>2]|0;c[n>>2]=22330;vb[b&63](a,22344,n)|0;n=c[o>>2]|0;a=c[p>>2]|0;c[m>>2]=22370;vb[n&63](a,22357,m)|0;m=c[o>>2]|0;a=c[p>>2]|0;c[l>>2]=22395;vb[m&63](a,22382,l)|0;l=c[o>>2]|0;a=c[p>>2]|0;c[k>>2]=22416;vb[l&63](a,22403,k)|0;vb[c[o>>2]&63](c[p>>2]|0,22430,d+32|0)|0;vb[c[o>>2]&63](c[p>>2]|0,22446,d+40|0)|0;k=c[o>>2]|0;a=c[p>>2]|0;c[j>>2]=Yp()|0;vb[k&63](a,22458,j)|0;c[q>>2]=Vg()|0;vb[c[o>>2]&63](c[p>>2]|0,22471,d+56|0)|0;c[s>>2]=0;while(1){j=Wg(c[s>>2]|0,r)|0;c[t>>2]=j;if(!j)break;if(c[q>>2]&c[r>>2]){j=c[o>>2]|0;a=c[p>>2]|0;c[h>>2]=c[t>>2];vb[j&63](a,22480,h)|0}c[s>>2]=(c[s>>2]|0)+1}vb[c[o>>2]&63](c[p>>2]|0,22484,g)|0;g=c[o>>2]|0;h=c[p>>2]|0;r=(Ah()|0)!=0;q=(Gh()|0)!=0;c[f>>2]=r?121:110;c[f+4>>2]=q?121:110;vb[g&63](h,22486,f)|0;c[s>>2]=Fn(0)|0;switch(c[s>>2]|0){case 1:{c[t>>2]=22504;u=c[o>>2]|0;v=c[p>>2]|0;w=c[t>>2]|0;x=c[s>>2]|0;c[e>>2]=w;y=e+4|0;c[y>>2]=x;vb[u&63](v,22538,e)|0;i=d;return}case 2:{c[t>>2]=22513;u=c[o>>2]|0;v=c[p>>2]|0;w=c[t>>2]|0;x=c[s>>2]|0;c[e>>2]=w;y=e+4|0;c[y>>2]=x;vb[u&63](v,22538,e)|0;i=d;return}case 3:{c[t>>2]=22518;u=c[o>>2]|0;v=c[p>>2]|0;w=c[t>>2]|0;x=c[s>>2]|0;c[e>>2]=w;y=e+4|0;c[y>>2]=x;vb[u&63](v,22538,e)|0;i=d;return}default:wf(22309,321,22525)}}function Uf(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=0;switch(c[d>>2]|0){case 30111:{c[e>>2]=ku(1076)|0;break}case 30112:{c[e>>2]=lu(1076)|0;break}case 30113:{c[e>>2]=mu(1076)|0;break}case 30114:{c[e>>2]=nu(1076)|0;break}default:c[e>>2]=61}i=b;return c[e>>2]|0}function Vf(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=0;Wf(c[d>>2]|0,0,e)|0;i=b;return c[e>>2]|0}function Wf(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+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=0;do if((c[g>>2]&1|0)!=0?(Xf()|0)==0:0)if(c[17669]|0){c[k>>2]=zb[c[17669]&15](c[f>>2]|0)|0;break}else{c[k>>2]=$g(c[f>>2]|0)|0;break}else l=6;while(0);do if((l|0)==6)if(c[17668]|0){c[k>>2]=zb[c[17668]&15](c[f>>2]|0)|0;break}else{c[k>>2]=_g(c[f>>2]|0)|0;break}while(0);if(c[k>>2]|0){c[c[h>>2]>>2]=c[k>>2];m=c[j>>2]|0;i=e;return m|0}if(!(c[(Yu()|0)>>2]|0))ju(12);c[j>>2]=gu(c[(Yu()|0)>>2]|0)|0;m=c[j>>2]|0;i=e;return m|0}function Xf(){var a=0,b=0;a=i;i=i+16|0;b=a;do if(c[17665]|0)if(Gh()|0){c[17665]=0;c[b>>2]=0;break}else{c[b>>2]=c[17665];break}else c[b>>2]=0;while(0);i=a;return c[b>>2]|0}function Yf(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=0;Wf(c[d>>2]|0,1,e)|0;i=b;return c[e>>2]|0}function Zf(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;do if(!(Xf()|0))if(c[17670]|0){c[d>>2]=zb[c[17670]&15](c[e>>2]|0)|0;break}else{c[d>>2]=wh(c[e>>2]|0)|0;break}else c[d>>2]=0;while(0);i=b;return c[d>>2]|0}function _f(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+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;b=c[g>>2]|0;if(!(c[f>>2]|0)){c[e>>2]=Vf(b)|0;j=c[e>>2]|0;i=d;return j|0}if(!b){$f(c[f>>2]|0);c[e>>2]=0;j=c[e>>2]|0;i=d;return j|0}if(c[17671]|0)c[h>>2]=Eb[c[17671]&7](c[f>>2]|0,c[g>>2]|0)|0;else c[h>>2]=ah(c[f>>2]|0,c[g>>2]|0)|0;if((c[h>>2]|0)==0?(c[(Yu()|0)>>2]|0)==0:0)ju(12);c[e>>2]=c[h>>2];j=c[e>>2]|0;i=d;return j|0}function $f(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}c[e>>2]=c[(Yu()|0)>>2];if(c[17672]|0)xb[c[17672]&15](c[d>>2]|0);else ch(c[d>>2]|0);if(!(c[e>>2]|0)){i=b;return}ju(c[e>>2]|0);i=b;return}function ag(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=_(c[f>>2]|0,c[g>>2]|0)|0;if((c[g>>2]|0)!=0?(((c[h>>2]|0)>>>0)/((c[g>>2]|0)>>>0)|0|0)!=(c[f>>2]|0):0){ju(12);c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}c[j>>2]=Vf(c[h>>2]|0)|0;if(c[j>>2]|0)Fx(c[j>>2]|0,0,c[h>>2]|0)|0;c[e>>2]=c[j>>2];k=c[e>>2]|0;i=d;return k|0}function bg(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=_(c[f>>2]|0,c[g>>2]|0)|0;if((c[g>>2]|0)!=0?(((c[h>>2]|0)>>>0)/((c[g>>2]|0)>>>0)|0|0)!=(c[f>>2]|0):0){ju(12);c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}c[j>>2]=Yf(c[h>>2]|0)|0;if(c[j>>2]|0)Fx(c[j>>2]|0,0,c[h>>2]|0)|0;c[e>>2]=c[j>>2];k=c[e>>2]|0;i=d;return k|0}function cg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=0;c[f>>2]=0;c[f>>2]=Kv(c[d>>2]|0)|0;a=(Zf(c[d>>2]|0)|0)!=0;g=(c[f>>2]|0)+1|0;if(a)c[e>>2]=Yf(g)|0;else c[e>>2]=Vf(g)|0;if(!(c[e>>2]|0)){h=c[e>>2]|0;i=b;return h|0}Wv(c[e>>2]|0,c[d>>2]|0)|0;h=c[e>>2]|0;i=b;return h|0}function dg(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;while(1){a=Vf(c[d>>2]|0)|0;c[e>>2]=a;if(!((a|0)!=0^1)){f=6;break}a=(Ah()|0)==0;if(!(a&(c[17673]|0)!=0)){f=5;break}if(!(vb[c[17673]&63](c[17674]|0,c[d>>2]|0,0)|0)){f=5;break}}if((f|0)==5)qf(gu(c[(Yu()|0)>>2]|0)|0,0);else if((f|0)==6){i=b;return c[e>>2]|0}return 0}function eg(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+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;while(1){b=_f(c[e>>2]|0,c[f>>2]|0)|0;c[g>>2]=b;if(!((b|0)!=0^1)){h=6;break}b=(Ah()|0)==0;if(!(b&(c[17673]|0)!=0)){h=5;break}b=c[17673]|0;a=c[17674]|0;j=c[f>>2]|0;k=(Zf(c[e>>2]|0)|0)!=0;if(!(vb[b&63](a,j,k?3:2)|0)){h=5;break}}if((h|0)==5)qf(gu(c[(Yu()|0)>>2]|0)|0,0);else if((h|0)==6){i=d;return c[g>>2]|0}return 0}function fg(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;while(1){a=Yf(c[d>>2]|0)|0;c[e>>2]=a;if(!((a|0)!=0^1)){f=6;break}a=(Ah()|0)==0;if(!(a&(c[17673]|0)!=0)){f=5;break}if(!(vb[c[17673]&63](c[17674]|0,c[d>>2]|0,1)|0)){f=5;break}}if((f|0)==5){d=gu(c[(Yu()|0)>>2]|0)|0;qf(d,pf(22555)|0)}else if((f|0)==6){i=b;return c[e>>2]|0}return 0}function gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=_(c[e>>2]|0,c[f>>2]|0)|0;if((c[f>>2]|0)!=0?(((c[g>>2]|0)>>>0)/((c[f>>2]|0)>>>0)|0|0)!=(c[e>>2]|0):0){ju(12);qf(gu(c[(Yu()|0)>>2]|0)|0,0)}c[h>>2]=dg(c[g>>2]|0)|0;Fx(c[h>>2]|0,0,c[g>>2]|0)|0;i=d;return c[h>>2]|0}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=_(c[e>>2]|0,c[f>>2]|0)|0;if((c[f>>2]|0)!=0?(((c[g>>2]|0)>>>0)/((c[f>>2]|0)>>>0)|0|0)!=(c[e>>2]|0):0){ju(12);qf(gu(c[(Yu()|0)>>2]|0)|0,0)}c[h>>2]=fg(c[g>>2]|0)|0;Fx(c[h>>2]|0,0,c[g>>2]|0)|0;i=d;return c[h>>2]|0}function ig(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;do{a=cg(c[d>>2]|0)|0;c[e>>2]=a;if(!((a|0)!=0^1)){h=8;break}c[f>>2]=Kv(c[d>>2]|0)|0;c[g>>2]=((Zf(c[d>>2]|0)|0)!=0^1^1)&1;a=(Ah()|0)==0;if(!(a&(c[17673]|0)!=0))break}while((vb[c[17673]&63](c[17674]|0,c[f>>2]|0,c[g>>2]|0)|0)!=0);if((h|0)==8){i=b;return c[e>>2]|0}e=gu(c[(Yu()|0)>>2]|0)|0;if(!(c[g>>2]|0)){j=0;qf(e,j)}j=pf(22555)|0;qf(e,j);return 0}function jg(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(Ah()|0)c[d>>2]=0;else c[d>>2]=c[17666]&c[e>>2];i=b;return c[d>>2]|0}function kg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;bk(c[e>>2]|0,c[f>>2]|0);An(c[e>>2]|0,c[f>>2]|0);i=d;return}function lg(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;g=i;i=i+48|0;h=g;j=g+32|0;k=g+28|0;l=g+24|0;m=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;q=g+4|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;if(!(c[k>>2]|0)){c[j>>2]=45;r=c[j>>2]|0;i=g;return r|0}c[c[k>>2]>>2]=0;if(!((((c[n>>2]|0)<0|(c[n>>2]|0)>1)^1)&(c[l>>2]|0)!=0)){c[j>>2]=45;r=c[j>>2]|0;i=g;return r|0}if((c[m>>2]|0)!=0|(c[n>>2]|0)!=0){if((c[m>>2]|0)==0&(c[n>>2]|0)!=0)c[m>>2]=Kv(c[l>>2]|0)|0}else{c[m>>2]=mg(c[l>>2]|0,0,0,p)|0;if(!(c[m>>2]|0)){c[j>>2]=c[p>>2];r=c[j>>2]|0;i=g;return r|0}}c[p>>2]=ng(q,0,c[l>>2]|0,c[m>>2]|0,0,0,h)|0;if(c[p>>2]|0){c[j>>2]=c[p>>2];r=c[j>>2]|0;i=g;return r|0}c[c[k>>2]>>2]=c[q>>2];if(c[o>>2]|0)xb[c[o>>2]&15](c[l>>2]|0);c[j>>2]=0;r=c[j>>2]|0;i=g;return r|0}function mg(a,b,e,f){a=a|0;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;g=i;i=i+48|0;h=g+44|0;j=g+40|0;k=g+36|0;l=g+32|0;m=g+28|0;n=g+24|0;o=g+20|0;p=g+16|0;q=g+4|0;r=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;if(!(c[l>>2]|0))c[l>>2]=g+12;if(!(c[m>>2]|0))c[m>>2]=g+8;c[c[m>>2]>>2]=0;c[c[l>>2]>>2]=0;if(!(c[j>>2]|0)){c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}if((d[c[j>>2]>>0]|0|0)!=40){c[c[m>>2]>>2]=204;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}c[n>>2]=c[j>>2];a:while(1){if((c[k>>2]|0)!=0?(c[q>>2]|0)>>>0>=(c[k>>2]|0)>>>0:0){t=12;break}j=d[c[n>>2]>>0]|0;do if(c[p>>2]|0)if((j|0)==58){if((c[k>>2]|0)!=0?((c[q>>2]|0)+(c[p>>2]|0)|0)>>>0>=(c[k>>2]|0)>>>0:0){t=17;break a}c[q>>2]=(c[q>>2]|0)+(c[p>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[p>>2]|0);c[p>>2]=0;break}else{if((d[c[n>>2]>>0]|0|0)<48){t=22;break a}if((d[c[n>>2]>>0]|0|0)>57){t=22;break a}c[p>>2]=((c[p>>2]|0)*10|0)+((d[c[n>>2]>>0]|0)-48);break}else{if((j|0)==40){if(c[o>>2]|0){t=25;break a}c[r>>2]=(c[r>>2]|0)+1;break}if((d[c[n>>2]>>0]|0|0)==41){if(!(c[r>>2]|0)){t=29;break a}if(c[o>>2]|0){t=31;break a}f=(c[r>>2]|0)+-1|0;c[r>>2]=f;if(f)break;else{t=33;break a}}if((d[c[n>>2]>>0]|0|0)==91){if(c[o>>2]|0){t=36;break a}c[o>>2]=c[n>>2];break}if((d[c[n>>2]>>0]|0|0)==93){if(!(c[o>>2]|0)){t=40;break a}c[o>>2]=0;break}if((d[c[n>>2]>>0]|0|0)<48){t=47;break a}if((d[c[n>>2]>>0]|0|0)>57){t=47;break a}if((d[c[n>>2]>>0]|0|0)==48){t=45;break a}c[p>>2]=(d[c[n>>2]>>0]|0)-48}while(0);c[n>>2]=(c[n>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+1}switch(t|0){case 12:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=202;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 17:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=202;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 22:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=201;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 25:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=209;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 29:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=203;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 31:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=209;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 33:{t=(c[q>>2]|0)+1|0;c[q>>2]=t;c[h>>2]=t;s=c[h>>2]|0;i=g;return s|0}case 36:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=208;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 40:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=209;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 45:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=207;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 47:{if((d[c[n>>2]>>0]|0|0)!=38?(d[c[n>>2]>>0]|0|0)!=92:0){c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=205;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=210;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}}return 0}function ng(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,n=0,o=0,p=0,q=0,r=0;j=i;i=i+48|0;k=j+40|0;l=j+36|0;m=j+32|0;n=j+28|0;o=j+24|0;p=j+20|0;q=j+16|0;r=j;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[r>>2]=h;c[q>>2]=og(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,r)|0;i=j;return c[q>>2]|0}function og(e,f,g,h,j,k,l){e=e|0;f=f|0;g=g|0;h=h|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,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,_=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;m=i;i=i+400|0;n=m+16|0;o=m+8|0;p=m+292|0;q=m+288|0;r=m+284|0;s=m+280|0;t=m+276|0;u=m+272|0;v=m+268|0;w=m+264|0;x=m+260|0;y=m+256|0;z=m+252|0;A=m+248|0;B=m+244|0;D=m+240|0;E=m+236|0;F=m+232|0;G=m+228|0;H=m+224|0;I=m+220|0;J=m+216|0;K=m+212|0;L=m+196|0;M=m+192|0;N=m+188|0;O=m+184|0;P=m+316|0;Q=m+180|0;R=m+176|0;S=m+172|0;T=m+314|0;U=m+312|0;V=m+168|0;W=m+310|0;X=m+164|0;Y=m+160|0;Z=m+308|0;_=m+156|0;$=m+152|0;aa=m+148|0;ba=m+144|0;ca=m+140|0;da=m+136|0;ea=m+132|0;fa=m+128|0;ga=m+306|0;ha=m+124|0;ia=m+120|0;ja=m+116|0;ka=m+304|0;la=m+112|0;ma=m+108|0;na=m+104|0;oa=m+302|0;pa=m+100|0;qa=m+96|0;ra=m+92|0;sa=m+88|0;ta=m+84|0;ua=m+300|0;va=m+80|0;wa=m+76|0;xa=m+354|0;ya=m+72|0;za=m+298|0;Aa=m+68|0;Ba=m+64|0;Ca=m+319|0;Da=m+60|0;Ea=m+296|0;Fa=m+56|0;Ga=m+52|0;Ha=m+48|0;Ia=m+44|0;Ja=m+40|0;Ka=m+36|0;La=m+32|0;Ma=m+28|0;Na=m+24|0;Oa=m+318|0;Pa=m;Qa=m+20|0;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[w>>2]=l;c[x>>2]=0;c[A>>2]=0;c[B>>2]=0;c[D>>2]=0;c[E>>2]=0;c[F>>2]=0;c[G>>2]=0;c[H>>2]=0;c[I>>2]=0;c[J>>2]=0;c[K>>2]=0;c[M>>2]=0;c[N>>2]=0;if(!(c[q>>2]|0)){c[p>>2]=45;Ra=c[p>>2]|0;i=m;return Ra|0}c[c[q>>2]>>2]=0;if(!(c[s>>2]|0)){c[p>>2]=45;Ra=c[p>>2]|0;i=m;return Ra|0}if(!(c[r>>2]|0))c[r>>2]=m+208;c[L+4>>2]=(c[t>>2]|0)+2;if((c[t>>2]|0)!=0?(Zf(c[s>>2]|0)|0)!=0:0)c[L>>2]=Yf(1+(c[L+4>>2]|0)-1|0)|0;else c[L>>2]=Vf(1+(c[L+4>>2]|0)-1|0)|0;a:do if(c[L>>2]|0){c[L+8>>2]=c[L>>2];c[y>>2]=c[s>>2];c[z>>2]=c[t>>2];b:while(1){if(!(c[z>>2]|0)){Sa=220;break}if(!((c[D>>2]|0)==0|(c[E>>2]|0)!=0)){if(!(sw(22591,a[c[y>>2]>>0]|0)|0)){c[K>>2]=(c[y>>2]|0)-(c[D>>2]|0);c[O>>2]=pg(L,c[K>>2]|0)|0;if(c[O>>2]|0){Sa=18;break}l=L+8|0;k=c[l>>2]|0;c[l>>2]=k+1;a[k>>0]=1;b[P>>1]=c[K>>2];k=c[L+8>>2]|0;a[k>>0]=a[P>>0]|0;a[k+1>>0]=a[P+1>>0]|0;k=L+8|0;c[k>>2]=(c[k>>2]|0)+2;Dx(c[L+8>>2]|0,c[D>>2]|0,c[K>>2]|0)|0;k=L+8|0;c[k>>2]=(c[k>>2]|0)+(c[K>>2]|0);c[D>>2]=0;Sa=20}}else Sa=20;c:do if((Sa|0)==20){Sa=0;if(c[B>>2]|0){k=a[c[y>>2]>>0]|0;if(!(c[J>>2]|0)){if((k|0)==92){c[J>>2]=1;break}if((a[c[y>>2]>>0]|0)!=34)break;c[B>>2]=(c[B>>2]|0)+1;c[S>>2]=pg(L,(c[y>>2]|0)-(c[B>>2]|0)|0)|0;if(c[S>>2]|0){Sa=59;break b}l=L+8|0;j=c[l>>2]|0;c[l>>2]=j+1;a[j>>0]=1;c[Q>>2]=c[L+8>>2];b[T>>1]=0;j=c[L+8>>2]|0;a[j>>0]=a[T>>0]|0;a[j+1>>0]=a[T+1>>0]|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+2;c[R>>2]=qg(c[B>>2]|0,(c[y>>2]|0)-(c[B>>2]|0)|0,c[L+8>>2]|0)|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+(c[R>>2]|0);b[U>>1]=c[R>>2];j=c[Q>>2]|0;a[j>>0]=a[U>>0]|0;a[j+1>>0]=a[U+1>>0]|0;c[Q>>2]=(c[Q>>2]|0)+2;c[B>>2]=0;break}switch(k|0){case 92:case 39:case 34:case 114:case 102:case 110:case 118:case 116:case 98:{c[J>>2]=0;break c;break}case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{if((c[z>>2]|0)>>>0<=2){Sa=29;break b}if((a[(c[y>>2]|0)+1>>0]|0)<48){Sa=29;break b}if((a[(c[y>>2]|0)+1>>0]|0)>55){Sa=29;break b}if((a[(c[y>>2]|0)+2>>0]|0)<48){Sa=29;break b}if((a[(c[y>>2]|0)+2>>0]|0)>55){Sa=29;break b}c[y>>2]=(c[y>>2]|0)+2;c[z>>2]=(c[z>>2]|0)-2;c[J>>2]=0;break c;break}case 120:{if((c[z>>2]|0)>>>0<=2){Sa=44;break b}if(!((a[(c[y>>2]|0)+1>>0]|0)>=48?(a[(c[y>>2]|0)+1>>0]|0)<=57:0))Sa=34;do if((Sa|0)==34){Sa=0;if((a[(c[y>>2]|0)+1>>0]|0)>=65?(a[(c[y>>2]|0)+1>>0]|0)<=70:0)break;if((a[(c[y>>2]|0)+1>>0]|0)<97){Sa=44;break b}if((a[(c[y>>2]|0)+1>>0]|0)>102){Sa=44;break b}}while(0);if(!((a[(c[y>>2]|0)+2>>0]|0)>=48?(a[(c[y>>2]|0)+2>>0]|0)<=57:0))Sa=40;do if((Sa|0)==40){Sa=0;if((a[(c[y>>2]|0)+2>>0]|0)>=65?(a[(c[y>>2]|0)+2>>0]|0)<=70:0)break;if((a[(c[y>>2]|0)+2>>0]|0)<97){Sa=44;break b}if((a[(c[y>>2]|0)+2>>0]|0)>102){Sa=44;break b}}while(0);c[y>>2]=(c[y>>2]|0)+2;c[z>>2]=(c[z>>2]|0)-2;c[J>>2]=0;break c;break}case 13:{if((c[z>>2]|0)!=0?(a[(c[y>>2]|0)+1>>0]|0)==10:0){c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+-1}c[J>>2]=0;break c;break}case 10:{if((c[z>>2]|0)!=0?(a[(c[y>>2]|0)+1>>0]|0)==13:0){c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+-1}c[J>>2]=0;break c;break}default:{Sa=54;break b}}}if(c[E>>2]|0){if(sv(a[c[y>>2]>>0]|0)|0){c[I>>2]=(c[I>>2]|0)+1;break}if((a[c[y>>2]>>0]|0)!=35)if(rg(c[y>>2]|0)|0)break;else{Sa=82;break b}if(c[I>>2]&1){Sa=66;break b}c[K>>2]=(c[I>>2]|0)/2|0;c[V>>2]=pg(L,c[K>>2]|0)|0;if(c[V>>2]|0){Sa=68;break b}k=L+8|0;j=c[k>>2]|0;c[k>>2]=j+1;a[j>>0]=1;b[W>>1]=c[K>>2];j=c[L+8>>2]|0;a[j>>0]=a[W>>0]|0;a[j+1>>0]=a[W+1>>0]|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+2;c[E>>2]=(c[E>>2]|0)+1;while(1){if((c[E>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;if(!(rg(c[E>>2]|0)|0)){c[X>>2]=sg(d[c[E>>2]>>0]|0)|0;c[E>>2]=(c[E>>2]|0)+1;while(1){if((c[E>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;if(!(rg(c[E>>2]|0)|0))break;c[E>>2]=(c[E>>2]|0)+1}if((c[E>>2]|0)>>>0<(c[y>>2]|0)>>>0){c[X>>2]=c[X>>2]<<4;j=sg(d[c[E>>2]>>0]|0)|0;c[X>>2]=(c[X>>2]|0)+j}j=c[X>>2]&255;k=L+8|0;l=c[k>>2]|0;c[k>>2]=l+1;a[l>>0]=j}c[E>>2]=(c[E>>2]|0)+1}c[E>>2]=0;break}if(c[F>>2]|0){if((a[c[y>>2]>>0]|0)!=124)break;c[F>>2]=0;break}if(c[A>>2]|0){if((a[c[y>>2]>>0]|0)>=48?(a[c[y>>2]>>0]|0)<=57:0)break;if((a[c[y>>2]>>0]|0)==58){c[K>>2]=gx(c[A>>2]|0)|0;c[A>>2]=0;if((c[K>>2]|0)>>>0>((c[z>>2]|0)-1|0)>>>0){Sa=91;break b}c[Y>>2]=pg(L,c[K>>2]|0)|0;if(c[Y>>2]|0){Sa=93;break b}j=L+8|0;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=1;b[Z>>1]=c[K>>2];l=c[L+8>>2]|0;a[l>>0]=a[Z>>0]|0;a[l+1>>0]=a[Z+1>>0]|0;l=L+8|0;c[l>>2]=(c[l>>2]|0)+2;Dx(c[L+8>>2]|0,(c[y>>2]|0)+1|0,c[K>>2]|0)|0;l=L+8|0;c[l>>2]=(c[l>>2]|0)+(c[K>>2]|0);c[z>>2]=(c[z>>2]|0)-(c[K>>2]|0);c[y>>2]=(c[y>>2]|0)+(c[K>>2]|0);break}if((a[c[y>>2]>>0]|0)==34){c[A>>2]=0;c[B>>2]=c[y>>2];c[J>>2]=0;break}if((a[c[y>>2]>>0]|0)==35){c[A>>2]=0;c[E>>2]=c[y>>2];c[I>>2]=0;break}if((a[c[y>>2]>>0]|0)!=124){Sa=101;break b}c[A>>2]=0;c[F>>2]=c[y>>2];break}l=a[c[y>>2]>>0]|0;if(!(c[H>>2]|0)){if((l|0)==40){if(c[G>>2]|0){Sa=179;break b}c[Ja>>2]=pg(L,0)|0;if(c[Ja>>2]|0){Sa=181;break b}j=L+8|0;k=c[j>>2]|0;c[j>>2]=k+1;a[k>>0]=3;c[N>>2]=(c[N>>2]|0)+1;break}if((a[c[y>>2]>>0]|0)==41){if(c[G>>2]|0){Sa=185;break b}c[Ka>>2]=pg(L,0)|0;if(c[Ka>>2]|0){Sa=187;break b}k=L+8|0;j=c[k>>2]|0;c[k>>2]=j+1;a[j>>0]=4;c[N>>2]=(c[N>>2]|0)+-1;break}j=c[y>>2]|0;if((a[c[y>>2]>>0]|0)==34){c[B>>2]=j;c[J>>2]=0;break}k=c[y>>2]|0;if((a[j>>0]|0)==35){c[E>>2]=k;c[I>>2]=0;break}j=c[y>>2]|0;if((a[k>>0]|0)==124){c[F>>2]=j;break}if((a[j>>0]|0)==91){Ta=c[y>>2]|0;if(c[G>>2]|0){Sa=197;break b}c[G>>2]=Ta;break}if((a[c[y>>2]>>0]|0)==93){if(!(c[G>>2]|0)){Sa=201;break b}c[G>>2]=0;break}do if((a[c[y>>2]>>0]|0)>=48){if((a[c[y>>2]>>0]|0)>57)break;Ua=c[y>>2]|0;if((a[c[y>>2]>>0]|0)==48){Sa=206;break b}c[A>>2]=Ua;break c}while(0);j=(sw(22591,a[c[y>>2]>>0]|0)|0)!=0;k=c[y>>2]|0;if(j){c[D>>2]=k;break}if(rg(k)|0)break;Va=c[y>>2]|0;if((a[c[y>>2]>>0]|0)==123){Sa=212;break b}if(sw(22690,a[Va>>0]|0)|0){Sa=214;break b}if(!(c[u>>2]|0)){Sa=218;break b}if((a[c[y>>2]>>0]|0)!=37){Sa=218;break b}c[H>>2]=c[y>>2];break}do if((l|0)!=109?(a[c[y>>2]>>0]|0)!=77:0){if((a[c[y>>2]>>0]|0)==115){if(c[v>>2]|0){k=c[M>>2]|0;c[M>>2]=k+1;c[la>>2]=c[c[(c[v>>2]|0)+(k<<2)>>2]>>2]}else{k=c[w>>2]|0;j=(c[k>>2]|0)+(4-1)&~(4-1);h=c[j>>2]|0;c[k>>2]=j+4;c[la>>2]=h}c[ma>>2]=Kv(c[la>>2]|0)|0;c[na>>2]=pg(L,c[ma>>2]|0)|0;if(c[na>>2]|0){Sa=135;break b}h=L+8|0;j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=1;b[oa>>1]=c[ma>>2];j=c[L+8>>2]|0;a[j>>0]=a[oa>>0]|0;a[j+1>>0]=a[oa+1>>0]|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+2;Dx(c[L+8>>2]|0,c[la>>2]|0,c[ma>>2]|0)|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+(c[ma>>2]|0);break}if((a[c[y>>2]>>0]|0)==98){if(c[v>>2]|0){j=c[M>>2]|0;c[M>>2]=j+1;c[qa>>2]=c[c[(c[v>>2]|0)+(j<<2)>>2]>>2]}else{j=c[w>>2]|0;h=(c[j>>2]|0)+(4-1)&~(4-1);k=c[h>>2]|0;c[j>>2]=h+4;c[qa>>2]=k}if(c[v>>2]|0){k=c[M>>2]|0;c[M>>2]=k+1;c[pa>>2]=c[c[(c[v>>2]|0)+(k<<2)>>2]>>2]}else{k=c[w>>2]|0;h=(c[k>>2]|0)+(4-1)&~(4-1);j=c[h>>2]|0;c[k>>2]=h+4;c[pa>>2]=j}c[ra>>2]=pg(L,c[qa>>2]|0)|0;if(c[ra>>2]|0){Sa=145;break b}do if(c[qa>>2]|0){if(Zf(c[L>>2]|0)|0)break;if(!(Zf(c[pa>>2]|0)|0))break;c[sa>>2]=Yf(1+(c[L+4>>2]|0)-1|0)|0;if(!(c[sa>>2]|0)){Sa=150;break b}c[ta>>2]=c[sa>>2];Dx(c[ta>>2]|0,c[L>>2]|0,(c[L+8>>2]|0)-(c[L>>2]|0)|0)|0;c[L+8>>2]=(c[ta>>2]|0)+((c[L+8>>2]|0)-(c[L>>2]|0));$f(c[L>>2]|0);c[L>>2]=c[sa>>2]}while(0);j=L+8|0;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=1;b[ua>>1]=c[qa>>2];h=c[L+8>>2]|0;a[h>>0]=a[ua>>0]|0;a[h+1>>0]=a[ua+1>>0]|0;h=L+8|0;c[h>>2]=(c[h>>2]|0)+2;Dx(c[L+8>>2]|0,c[pa>>2]|0,c[qa>>2]|0)|0;h=L+8|0;c[h>>2]=(c[h>>2]|0)+(c[qa>>2]|0);break}if((a[c[y>>2]>>0]|0)==100){if(c[v>>2]|0){h=c[M>>2]|0;c[M>>2]=h+1;c[va>>2]=c[c[(c[v>>2]|0)+(h<<2)>>2]>>2]}else{h=c[w>>2]|0;j=(c[h>>2]|0)+(4-1)&~(4-1);k=c[j>>2]|0;c[h>>2]=j+4;c[va>>2]=k}c[o>>2]=c[va>>2];ew(xa,22684,o)|0;c[wa>>2]=Kv(xa)|0;c[ya>>2]=pg(L,c[wa>>2]|0)|0;if(c[ya>>2]|0){Sa=158;break b}k=L+8|0;j=c[k>>2]|0;c[k>>2]=j+1;a[j>>0]=1;b[za>>1]=c[wa>>2];j=c[L+8>>2]|0;a[j>>0]=a[za>>0]|0;a[j+1>>0]=a[za+1>>0]|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+2;Dx(c[L+8>>2]|0,xa|0,c[wa>>2]|0)|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+(c[wa>>2]|0);break}if((a[c[y>>2]>>0]|0)==117){if(c[v>>2]|0){j=c[M>>2]|0;c[M>>2]=j+1;c[Aa>>2]=c[c[(c[v>>2]|0)+(j<<2)>>2]>>2]}else{j=c[w>>2]|0;k=(c[j>>2]|0)+(4-1)&~(4-1);h=c[k>>2]|0;c[j>>2]=k+4;c[Aa>>2]=h}c[n>>2]=c[Aa>>2];ew(Ca,22687,n)|0;c[Ba>>2]=Kv(Ca)|0;c[Da>>2]=pg(L,c[Ba>>2]|0)|0;if(c[Da>>2]|0){Sa=165;break b}h=L+8|0;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=1;b[Ea>>1]=c[Ba>>2];k=c[L+8>>2]|0;a[k>>0]=a[Ea>>0]|0;a[k+1>>0]=a[Ea+1>>0]|0;k=L+8|0;c[k>>2]=(c[k>>2]|0)+2;Dx(c[L+8>>2]|0,Ca|0,c[Ba>>2]|0)|0;k=L+8|0;c[k>>2]=(c[k>>2]|0)+(c[Ba>>2]|0);break}if((a[c[y>>2]>>0]|0)!=83){Sa=175;break b}if(c[v>>2]|0){k=c[M>>2]|0;c[M>>2]=k+1;c[Fa>>2]=c[c[(c[v>>2]|0)+(k<<2)>>2]>>2]}else{k=c[w>>2]|0;h=(c[k>>2]|0)+(4-1)&~(4-1);j=c[h>>2]|0;c[k>>2]=h+4;c[Fa>>2]=j}c[Ga>>2]=tg(c[Fa>>2]|0,Ha)|0;if(!(c[Ga>>2]|0))break;c[Ia>>2]=pg(L,c[Ga>>2]|0)|0;if(c[Ia>>2]|0){Sa=173;break b}Dx(c[L+8>>2]|0,(c[Fa>>2]|0)+(c[Ha>>2]|0)|0,c[Ga>>2]|0)|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+(c[Ga>>2]|0)}else Sa=105;while(0);do if((Sa|0)==105){Sa=0;c[$>>2]=0;c[aa>>2]=(a[c[y>>2]>>0]|0)==109?1:5;if(c[v>>2]|0){l=c[M>>2]|0;c[M>>2]=l+1;c[_>>2]=c[c[(c[v>>2]|0)+(l<<2)>>2]>>2]}else{l=c[w>>2]|0;j=(c[l>>2]|0)+(4-1)&~(4-1);h=c[j>>2]|0;c[l>>2]=j+4;c[_>>2]=h}if(zq(c[_>>2]|0,2)|0){c[ba>>2]=kq(c[_>>2]|0,ca)|0;c[$>>2]=(((c[ca>>2]|0)+7|0)>>>0)/8|0;if(!((c[ba>>2]|0)!=0&(c[$>>2]|0)!=0))break;c[da>>2]=pg(L,c[$>>2]|0)|0;if(c[da>>2]|0){Sa=111;break b}do if(!(Zf(c[L>>2]|0)|0)){if(!(zq(c[_>>2]|0,1)|0))break;c[ea>>2]=Yf(1+(c[L+4>>2]|0)-1|0)|0;if(!(c[ea>>2]|0)){Sa=115;break b}c[fa>>2]=c[ea>>2];Dx(c[fa>>2]|0,c[L>>2]|0,(c[L+8>>2]|0)-(c[L>>2]|0)|0)|0;c[L+8>>2]=(c[fa>>2]|0)+((c[L+8>>2]|0)-(c[L>>2]|0));$f(c[L>>2]|0);c[L>>2]=c[ea>>2]}while(0);h=L+8|0;j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=1;b[ga>>1]=c[$>>2];j=c[L+8>>2]|0;a[j>>0]=a[ga>>0]|0;a[j+1>>0]=a[ga+1>>0]|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+2;Dx(c[L+8>>2]|0,c[ba>>2]|0,c[$>>2]|0)|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+(c[$>>2]|0);break}if(Hp(c[aa>>2]|0,0,0,$,c[_>>2]|0)|0){Sa=119;break b}c[ha>>2]=pg(L,c[$>>2]|0)|0;if(c[ha>>2]|0){Sa=121;break b}do if(!(Zf(c[L>>2]|0)|0)){if(!(zq(c[_>>2]|0,1)|0))break;c[ia>>2]=Yf(1+(c[L+4>>2]|0)-1|0)|0;if(!(c[ia>>2]|0)){Sa=125;break b}c[ja>>2]=c[ia>>2];Dx(c[ja>>2]|0,c[L>>2]|0,(c[L+8>>2]|0)-(c[L>>2]|0)|0)|0;c[L+8>>2]=(c[ja>>2]|0)+((c[L+8>>2]|0)-(c[L>>2]|0));$f(c[L>>2]|0);c[L>>2]=c[ia>>2]}while(0);j=L+8|0;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=1;b[ka>>1]=c[$>>2];h=c[L+8>>2]|0;a[h>>0]=a[ka>>0]|0;a[h+1>>0]=a[ka+1>>0]|0;h=L+8|0;c[h>>2]=(c[h>>2]|0)+2;if(Hp(c[aa>>2]|0,c[L+8>>2]|0,c[$>>2]|0,$,c[_>>2]|0)|0){Sa=128;break b}h=L+8|0;c[h>>2]=(c[h>>2]|0)+(c[$>>2]|0)}while(0);c[H>>2]=0}while(0);c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+-1}switch(Sa|0){case 18:{c[x>>2]=c[O>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 29:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=206;break a;break}case 44:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=206;break a;break}case 54:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=206;break a;break}case 59:{c[x>>2]=c[S>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 66:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=212;break a;break}case 68:{c[x>>2]=c[V>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 82:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=211;break a;break}case 91:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=202;break a;break}case 93:{c[x>>2]=c[Y>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 101:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=201;break a;break}case 111:{c[x>>2]=c[da>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 115:{c[x>>2]=gu(c[(Yu()|0)>>2]|0)|0;break a;break}case 119:{wf(22662,1433,22669);break}case 121:{c[x>>2]=c[ha>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 125:{c[x>>2]=gu(c[(Yu()|0)>>2]|0)|0;break a;break}case 128:{wf(22662,1460,22669);break}case 135:{c[x>>2]=c[na>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 145:{c[x>>2]=c[ra>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 150:{c[x>>2]=gu(c[(Yu()|0)>>2]|0)|0;break a;break}case 158:{c[x>>2]=c[ya>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 165:{c[x>>2]=c[Da>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 173:{c[x>>2]=c[Ia>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 175:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=201;break a;break}case 179:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=209;break a;break}case 181:{c[x>>2]=c[Ja>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 185:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=209;break a;break}case 187:{c[x>>2]=c[Ka>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 197:{c[c[r>>2]>>2]=Ta-(c[s>>2]|0);c[x>>2]=208;break a;break}case 201:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=209;break a;break}case 206:{c[c[r>>2]>>2]=Ua-(c[s>>2]|0);c[x>>2]=207;break a;break}case 212:{c[c[r>>2]>>2]=Va-(c[s>>2]|0);c[x>>2]=210;break a;break}case 214:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=210;break a;break}case 218:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=205;break a;break}case 220:{c[La>>2]=pg(L,0)|0;if(c[La>>2]|0){c[x>>2]=c[La>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a}h=L+8|0;j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=0;if((c[N>>2]|0)==0|(c[x>>2]|0)!=0)break a;c[x>>2]=203;break a;break}}}else{c[x>>2]=gu(c[(Yu()|0)>>2]|0)|0;c[c[r>>2]>>2]=0}while(0);r=c[L>>2]|0;if(c[x>>2]|0){if(r){d:do if(Zf(c[L>>2]|0)|0){c[Ma>>2]=c[L>>2];c[Na>>2]=1+(c[L+4>>2]|0)-1;a[Oa>>0]=0;N=Pa;c[N>>2]=d[Oa>>0];c[N+4>>2]=0;while(1){if(!((c[Ma>>2]&7|0)!=0?(c[Na>>2]|0)!=0:0))break;a[c[Ma>>2]>>0]=a[Oa>>0]|0;c[Ma>>2]=(c[Ma>>2]|0)+1;c[Na>>2]=(c[Na>>2]|0)+-1}if((c[Na>>2]|0)>>>0>=8){N=Pa;s=Mx(c[N>>2]|0,c[N+4>>2]|0,16843009,16843009)|0;N=Pa;c[N>>2]=s;c[N+4>>2]=C;do{c[Qa>>2]=c[Ma>>2];N=Pa;s=c[N+4>>2]|0;y=c[Qa>>2]|0;c[y>>2]=c[N>>2];c[y+4>>2]=s;c[Na>>2]=(c[Na>>2]|0)-8;c[Ma>>2]=(c[Ma>>2]|0)+8}while((c[Na>>2]|0)>>>0>=8)}while(1){if(!(c[Na>>2]|0))break d;a[c[Ma>>2]>>0]=a[Oa>>0]|0;c[Ma>>2]=(c[Ma>>2]|0)+1;c[Na>>2]=(c[Na>>2]|0)+-1}}while(0);$f(c[L>>2]|0)}}else{L=ug(r)|0;c[c[q>>2]>>2]=L}c[p>>2]=c[x>>2];Ra=c[p>>2]|0;i=m;return Ra|0}function pg(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+32|0;e=d+24|0;f=d+20|0;g=d+16|0;h=d+12|0;j=d+8|0;k=d+4|0;l=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=(c[(c[f>>2]|0)+8>>2]|0)-(c[c[f>>2]>>2]|0);do if(((c[h>>2]|0)+(c[g>>2]|0)+2+1|0)>>>0>=(c[(c[f>>2]|0)+4>>2]|0)>>>0){c[l>>2]=(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)+2+1<<1);if((c[l>>2]|0)>>>0<=(c[(c[f>>2]|0)+4>>2]|0)>>>0){c[e>>2]=67;m=c[e>>2]|0;i=d;return m|0}c[j>>2]=_f(c[c[f>>2]>>2]|0,1+(c[l>>2]|0)-1|0)|0;if(c[j>>2]|0){c[(c[f>>2]|0)+4>>2]=c[l>>2];c[k>>2]=c[j>>2];c[(c[f>>2]|0)+8>>2]=(c[k>>2]|0)+(c[h>>2]|0);c[c[f>>2]>>2]=c[j>>2];break}c[e>>2]=gu(c[(Yu()|0)>>2]|0)|0;m=c[e>>2]|0;i=d;return m|0}while(0);c[e>>2]=0;m=c[e>>2]|0;i=d;return m|0}function qg(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;g=i;i=i+32|0;h=g+24|0;j=g+20|0;k=g+16|0;l=g+12|0;m=g+8|0;n=g+4|0;o=g;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;c[m>>2]=c[h>>2];c[n>>2]=c[k>>2];c[o>>2]=c[j>>2];while(1){if(!(c[o>>2]|0))break;j=d[c[m>>2]>>0]|0;do if(!(c[l>>2]|0))if((j|0)==92){c[l>>2]=1;break}else{h=a[c[m>>2]>>0]|0;f=c[n>>2]|0;c[n>>2]=f+1;a[f>>0]=h;break}else{a:do switch(j|0){case 98:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=8;break}case 116:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=9;break}case 118:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=11;break}case 110:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=10;break}case 102:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=12;break}case 114:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=13;break}case 34:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=34;break}case 39:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=39;break}case 92:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=92;break}case 13:{if((c[o>>2]|0)>>>0>1?(d[(c[m>>2]|0)+1>>0]|0|0)==10:0){c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+-1}break}case 10:{if((c[o>>2]|0)>>>0>1?(d[(c[m>>2]|0)+1>>0]|0|0)==13:0){c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+-1}break}case 120:{if((c[o>>2]|0)>>>0>2){if(!((d[(c[m>>2]|0)+1>>0]|0|0)>=48?(d[(c[m>>2]|0)+1>>0]|0|0)<=57:0))p=23;do if((p|0)==23){p=0;if((d[(c[m>>2]|0)+1>>0]|0|0)>=65?(d[(c[m>>2]|0)+1>>0]|0|0)<=70:0)break;if((d[(c[m>>2]|0)+1>>0]|0|0)<97)break a;if((d[(c[m>>2]|0)+1>>0]|0|0)>102)break a}while(0);if(!((d[(c[m>>2]|0)+2>>0]|0|0)>=48?(d[(c[m>>2]|0)+2>>0]|0|0)<=57:0))p=29;do if((p|0)==29){p=0;if((d[(c[m>>2]|0)+2>>0]|0|0)>=65?(d[(c[m>>2]|0)+2>>0]|0|0)<=70:0)break;if((d[(c[m>>2]|0)+2>>0]|0|0)<97)break a;if((d[(c[m>>2]|0)+2>>0]|0|0)>102)break a}while(0);c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+-1;h=d[c[m>>2]>>0]|0;if((d[c[m>>2]>>0]|0|0)<=57)q=h-48|0;else{f=d[c[m>>2]>>0]|0;q=((h|0)<=70?f-65|0:f-97|0)+10|0}f=d[(c[m>>2]|0)+1>>0]|0;if((d[(c[m>>2]|0)+1>>0]|0|0)<=57)r=f-48|0;else{h=d[(c[m>>2]|0)+1>>0]|0;r=((f|0)<=70?h-65|0:h-97|0)+10|0}h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=(q<<4)+r;c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+-1}break}default:if(((((((c[o>>2]|0)>>>0>2?(d[c[m>>2]>>0]|0|0)>=48:0)?(d[c[m>>2]>>0]|0|0)<=55:0)?(d[(c[m>>2]|0)+1>>0]|0|0)>=48:0)?(d[(c[m>>2]|0)+1>>0]|0|0)<=55:0)?(d[(c[m>>2]|0)+2>>0]|0|0)>=48:0)?(d[(c[m>>2]|0)+2>>0]|0|0)<=55:0){h=((d[c[m>>2]>>0]|0)-48<<6)+((d[(c[m>>2]|0)+1>>0]|0)-48<<3)+((d[(c[m>>2]|0)+2>>0]|0)-48)&255;f=c[n>>2]|0;c[n>>2]=f+1;a[f>>0]=h;c[m>>2]=(c[m>>2]|0)+2;c[o>>2]=(c[o>>2]|0)-2}}while(0);c[l>>2]=0}while(0);c[o>>2]=(c[o>>2]|0)+-1;c[m>>2]=(c[m>>2]|0)+1}i=g;return (c[n>>2]|0)-(c[k>>2]|0)|0}function rg(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[f>>2]=b;switch(a[c[f>>2]>>0]|0){case 10:case 13:case 12:case 11:case 9:case 32:{c[e>>2]=1;break}default:c[e>>2]=0}i=d;return c[e>>2]|0}function sg(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;a=c[e>>2]|0;do if(!((c[e>>2]|0)>=48&(c[e>>2]|0)<=57)){f=c[e>>2]|0;if((a|0)>=65&(c[e>>2]|0)<=70){c[d>>2]=10+f-65;break}if((f|0)>=97&(c[e>>2]|0)<=102){c[d>>2]=10+(c[e>>2]|0)-97;break}else{c[d>>2]=0;break}}else c[d>>2]=a-48;while(0);i=b;return c[d>>2]|0}function tg(b,f){b=b|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+32|0;h=g+20|0;j=g+16|0;k=g+12|0;l=g+8|0;m=g+24|0;n=g+4|0;o=g;c[j>>2]=b;c[k>>2]=f;c[o>>2]=0;c[c[k>>2]>>2]=0;a:do if(c[j>>2]|0){c[l>>2]=c[j>>2];while(1){f=d[c[l>>2]>>0]|0;c[n>>2]=f;if(!f)break a;c[l>>2]=(c[l>>2]|0)+1;if((c[n>>2]|0)==1){f=c[l>>2]|0;a[m>>0]=a[f>>0]|0;a[m+1>>0]=a[f+1>>0]|0;c[l>>2]=(c[l>>2]|0)+(2+(e[m>>1]|0));continue}if((c[n>>2]|0)!=3){if((c[n>>2]|0)!=4)continue;c[o>>2]=(c[o>>2]|0)+-1;if(c[o>>2]|0)continue;else break}if(!(c[o>>2]|0))c[c[k>>2]>>2]=(c[l>>2]|0)+-1-(c[j>>2]|0);c[o>>2]=(c[o>>2]|0)+1}c[h>>2]=(c[l>>2]|0)-(c[j>>2]|0);p=c[h>>2]|0;i=g;return p|0}while(0);c[h>>2]=0;p=c[h>>2]|0;i=g;return p|0}function ug(a){a=a|0;var b=0,e=0,f=0,g=0;b=i;i=i+16|0;e=b+8|0;f=b+4|0;g=b;c[f>>2]=a;do if(c[f>>2]|0){c[g>>2]=c[f>>2];if(!(d[c[g>>2]>>0]|0)){vg(c[f>>2]|0);c[e>>2]=0;break}if((d[c[g>>2]>>0]|0|0)==3?(d[(c[g>>2]|0)+1>>0]|0|0)==4:0){vg(c[f>>2]|0);c[e>>2]=0;break}c[e>>2]=c[f>>2]}else c[e>>2]=0;while(0);i=b;return c[e>>2]|0}function vg(b){b=b|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+48|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+32|0;l=f+16|0;m=f+12|0;n=f+34|0;o=f;p=f+8|0;c[g>>2]=b;if(!(c[g>>2]|0)){i=f;return}a:do if(Zf(c[g>>2]|0)|0){c[h>>2]=c[g>>2];while(1){b=d[c[h>>2]>>0]|0;c[j>>2]=b;if(!b)break;c[h>>2]=(c[h>>2]|0)+1;if((c[j>>2]|0)!=1)continue;b=c[h>>2]|0;a[k>>0]=a[b>>0]|0;a[k+1>>0]=a[b+1>>0]|0;c[h>>2]=(c[h>>2]|0)+2;c[h>>2]=(c[h>>2]|0)+(e[k>>1]|0)}c[l>>2]=c[g>>2];c[m>>2]=(c[h>>2]|0)-(c[g>>2]|0);a[n>>0]=0;b=o;c[b>>2]=d[n>>0];c[b+4>>2]=0;while(1){if(!((c[l>>2]&7|0)!=0?(c[m>>2]|0)!=0:0))break;a[c[l>>2]>>0]=a[n>>0]|0;c[l>>2]=(c[l>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+-1}if((c[m>>2]|0)>>>0>=8){b=o;q=Mx(c[b>>2]|0,c[b+4>>2]|0,16843009,16843009)|0;b=o;c[b>>2]=q;c[b+4>>2]=C;do{c[p>>2]=c[l>>2];b=o;q=c[b+4>>2]|0;r=c[p>>2]|0;c[r>>2]=c[b>>2];c[r+4>>2]=q;c[m>>2]=(c[m>>2]|0)-8;c[l>>2]=(c[l>>2]|0)+8}while((c[m>>2]|0)>>>0>=8)}while(1){if(!(c[m>>2]|0))break a;a[c[l>>2]>>0]=a[n>>0]|0;c[l>>2]=(c[l>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+-1}}while(0);$f(c[g>>2]|0);i=f;return}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,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=lg(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,0)|0;i=f;return e|0}function xg(f,g,h){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+48|0;k=j+32|0;l=j+28|0;m=j+24|0;n=j+20|0;o=j+16|0;p=j+36|0;q=j+12|0;r=j+8|0;s=j+4|0;t=j;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if(!(c[l>>2]|0)){c[k>>2]=0;u=c[k>>2]|0;i=j;return u|0}if(!(c[n>>2]|0))c[n>>2]=Kv(c[m>>2]|0)|0;c[o>>2]=c[l>>2];while(1){if(!(d[c[o>>2]>>0]|0)){v=29;break}if((d[c[o>>2]>>0]|0|0)==3?(d[(c[o>>2]|0)+1>>0]|0|0)==1:0){c[q>>2]=c[o>>2];c[o>>2]=(c[o>>2]|0)+2;l=c[o>>2]|0;a[p>>0]=a[l>>0]|0;a[p+1>>0]=a[l+1>>0]|0;c[o>>2]=(c[o>>2]|0)+2;if((e[p>>1]|0|0)==(c[n>>2]|0)?(mw(c[o>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)==0:0)break;c[o>>2]=(c[o>>2]|0)+(e[p>>1]|0);continue}if((d[c[o>>2]>>0]|0|0)==1){l=(c[o>>2]|0)+1|0;c[o>>2]=l;a[p>>0]=a[l>>0]|0;a[p+1>>0]=a[l+1>>0]|0;c[o>>2]=(c[o>>2]|0)+2;c[o>>2]=(c[o>>2]|0)+(e[p>>1]|0);continue}else{c[o>>2]=(c[o>>2]|0)+1;continue}}if((v|0)==29){c[k>>2]=0;u=c[k>>2]|0;i=j;return u|0}c[t>>2]=1;c[o>>2]=(c[o>>2]|0)+(e[p>>1]|0);a:while(1){w=c[o>>2]|0;if(!(c[t>>2]|0))break;do if((d[w>>0]|0|0)!=1){if((d[c[o>>2]>>0]|0|0)==3){c[t>>2]=(c[t>>2]|0)+1;break}if((d[c[o>>2]>>0]|0|0)!=4)if(!(d[c[o>>2]>>0]|0)){v=20;break a}else break;else{c[t>>2]=(c[t>>2]|0)+-1;break}}else{n=(c[o>>2]|0)+1|0;c[o>>2]=n;a[p>>0]=a[n>>0]|0;a[p+1>>0]=a[n+1>>0]|0;c[o>>2]=(c[o>>2]|0)+(2+(e[p>>1]|0));c[o>>2]=(c[o>>2]|0)+-1}while(0);c[o>>2]=(c[o>>2]|0)+1}if((v|0)==20)wf(22662,481,22693);b[p>>1]=w-(c[q>>2]|0);c[r>>2]=Vf(1+(e[p>>1]|0)|0)|0;if(c[r>>2]|0){c[s>>2]=c[r>>2];Dx(c[s>>2]|0,c[q>>2]|0,e[p>>1]|0|0)|0;c[s>>2]=(c[s>>2]|0)+(e[p>>1]|0);p=c[s>>2]|0;c[s>>2]=p+1;a[p>>0]=0;c[k>>2]=ug(c[r>>2]|0)|0;u=c[k>>2]|0;i=j;return u|0}else{c[k>>2]=0;u=c[k>>2]|0;i=j;return u|0}return 0}function yg(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f+24|0;l=f+8|0;m=f+4|0;n=f;c[h>>2]=b;c[m>>2]=0;c[n>>2]=0;if(!(c[h>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}c[j>>2]=c[h>>2];while(1){h=d[c[j>>2]>>0]|0;c[l>>2]=h;if(!h)break;c[j>>2]=(c[j>>2]|0)+1;if((c[l>>2]|0)==1){h=c[j>>2]|0;a[k>>0]=a[h>>0]|0;a[k+1>>0]=a[h+1>>0]|0;c[j>>2]=(c[j>>2]|0)+(2+(e[k>>1]|0));if((c[n>>2]|0)!=1)continue;c[m>>2]=(c[m>>2]|0)+1;continue}if((c[l>>2]|0)!=3){if((c[l>>2]|0)!=4)continue;c[n>>2]=(c[n>>2]|0)+-1;continue}if((c[n>>2]|0)==1)c[m>>2]=(c[m>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+1}c[g>>2]=c[m>>2];o=c[g>>2]|0;i=f;return o|0}function zg(f,g){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;h=i;i=i+48|0;j=h+28|0;k=h+24|0;l=h+20|0;m=h+16|0;n=h+32|0;o=h+12|0;p=h+8|0;q=h+4|0;r=h;c[k>>2]=f;c[l>>2]=g;c[q>>2]=0;if((c[k>>2]|0)!=0?(d[c[k>>2]>>0]|0|0)==3:0){c[m>>2]=c[k>>2];while(1){k=(c[l>>2]|0)>0;c[m>>2]=(c[m>>2]|0)+1;s=(d[c[m>>2]>>0]|0|0)==1;if(!k)break;if(s){k=(c[m>>2]|0)+1|0;c[m>>2]=k;a[n>>0]=a[k>>0]|0;a[n+1>>0]=a[k+1>>0]|0;c[m>>2]=(c[m>>2]|0)+(2+(e[n>>1]|0));c[m>>2]=(c[m>>2]|0)+-1;if(c[q>>2]|0)continue;c[l>>2]=(c[l>>2]|0)+-1;continue}if((d[c[m>>2]>>0]|0|0)==3){c[q>>2]=(c[q>>2]|0)+1;continue}if((d[c[m>>2]>>0]|0|0)!=4)if(!(d[c[m>>2]>>0]|0)){t=15;break}else continue;c[q>>2]=(c[q>>2]|0)+-1;if(c[q>>2]|0)continue;c[l>>2]=(c[l>>2]|0)+-1}if((t|0)==15){c[j>>2]=0;u=c[j>>2]|0;i=h;return u|0}do if(s){l=(c[m>>2]|0)+1|0;a[n>>0]=a[l>>0]|0;a[n+1>>0]=a[l+1>>0]|0;c[o>>2]=Vf(5+(e[n>>1]|0)+1|0)|0;if(c[o>>2]|0){c[p>>2]=c[o>>2];l=c[p>>2]|0;c[p>>2]=l+1;a[l>>0]=3;Dx(c[p>>2]|0,c[m>>2]|0,3+(e[n>>1]|0)|0)|0;c[p>>2]=(c[p>>2]|0)+(3+(e[n>>1]|0));l=c[p>>2]|0;c[p>>2]=l+1;a[l>>0]=4;a[c[p>>2]>>0]=0;break}c[j>>2]=0;u=c[j>>2]|0;i=h;return u|0}else{if((d[c[m>>2]>>0]|0|0)!=3){c[o>>2]=0;break}c[r>>2]=c[m>>2];c[q>>2]=1;a:do{c[m>>2]=(c[m>>2]|0)+1;do if((d[c[m>>2]>>0]|0|0)!=1){if((d[c[m>>2]>>0]|0|0)==3){c[q>>2]=(c[q>>2]|0)+1;break}if((d[c[m>>2]>>0]|0|0)!=4)if(!(d[c[m>>2]>>0]|0)){t=29;break a}else break;else{c[q>>2]=(c[q>>2]|0)+-1;break}}else{l=(c[m>>2]|0)+1|0;c[m>>2]=l;a[n>>0]=a[l>>0]|0;a[n+1>>0]=a[l+1>>0]|0;c[m>>2]=(c[m>>2]|0)+(2+(e[n>>1]|0));c[m>>2]=(c[m>>2]|0)+-1}while(0)}while((c[q>>2]|0)!=0);if((t|0)==29)wf(22662,673,22715);b[n>>1]=(c[m>>2]|0)+1-(c[r>>2]|0);c[o>>2]=Vf(1+(e[n>>1]|0)|0)|0;if(c[o>>2]|0){c[p>>2]=c[o>>2];Dx(c[p>>2]|0,c[r>>2]|0,e[n>>1]|0|0)|0;c[p>>2]=(c[p>>2]|0)+(e[n>>1]|0);l=c[p>>2]|0;c[p>>2]=l+1;a[l>>0]=0;break}c[j>>2]=0;u=c[j>>2]|0;i=h;return u|0}while(0);c[j>>2]=ug(c[o>>2]|0)|0;u=c[j>>2]|0;i=h;return u|0}c[j>>2]=0;u=c[j>>2]|0;i=h;return u|0}function Ag(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=zg(c[d>>2]|0,0)|0;i=b;return a|0}function Bg(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=Cg(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function Cg(b,f,g){b=b|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+32|0;j=h+20|0;k=h+16|0;l=h+12|0;m=h+8|0;n=h+4|0;o=h+24|0;p=h;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[p>>2]=0;c[c[m>>2]>>2]=0;if(!(c[k>>2]|0)){c[j>>2]=0;q=c[j>>2]|0;i=h;return q|0}c[n>>2]=c[k>>2];if((d[c[n>>2]>>0]|0|0)!=3){if(c[l>>2]|0){c[j>>2]=0;q=c[j>>2]|0;i=h;return q|0}}else c[n>>2]=(c[n>>2]|0)+1;a:while(1){r=(d[c[n>>2]>>0]|0|0)==1;if((c[l>>2]|0)<=0)break;do if(r){k=(c[n>>2]|0)+1|0;c[n>>2]=k;a[o>>0]=a[k>>0]|0;a[o+1>>0]=a[k+1>>0]|0;c[n>>2]=(c[n>>2]|0)+(2+(e[o>>1]|0));c[n>>2]=(c[n>>2]|0)+-1;if(!(c[p>>2]|0))c[l>>2]=(c[l>>2]|0)+-1}else{if((d[c[n>>2]>>0]|0|0)==3){c[p>>2]=(c[p>>2]|0)+1;break}if((d[c[n>>2]>>0]|0|0)!=4)if(!(d[c[n>>2]>>0]|0)){s=17;break a}else break;c[p>>2]=(c[p>>2]|0)+-1;if(!(c[p>>2]|0))c[l>>2]=(c[l>>2]|0)+-1}while(0);c[n>>2]=(c[n>>2]|0)+1}if((s|0)==17){c[j>>2]=0;q=c[j>>2]|0;i=h;return q|0}if(r){r=(c[n>>2]|0)+1|0;c[n>>2]=r;a[o>>0]=a[r>>0]|0;a[o+1>>0]=a[r+1>>0]|0;c[c[m>>2]>>2]=e[o>>1];c[j>>2]=(c[n>>2]|0)+2;q=c[j>>2]|0;i=h;return q|0}else{c[j>>2]=0;q=c[j>>2]|0;i=h;return q|0}return 0}function Dg(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+32|0;f=e+24|0;g=e+20|0;h=e+16|0;j=e+12|0;k=e+8|0;l=e+4|0;m=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[c[j>>2]>>2]=0;c[k>>2]=Cg(c[g>>2]|0,c[h>>2]|0,l)|0;if(!((c[k>>2]|0)!=0&(c[l>>2]|0)!=0)){c[f>>2]=0;n=c[f>>2]|0;i=e;return n|0}c[m>>2]=Vf(c[l>>2]|0)|0;if(c[m>>2]|0){Dx(c[m>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[c[j>>2]>>2]=c[l>>2];c[f>>2]=c[m>>2];n=c[f>>2]|0;i=e;return n|0}else{c[f>>2]=0;n=c[f>>2]|0;i=e;return n|0}return 0}function Eg(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;e=i;i=i+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[g>>2]=b;c[h>>2]=d;c[j>>2]=Cg(c[g>>2]|0,c[h>>2]|0,k)|0;if(!((c[j>>2]|0)==0|(c[k>>2]|0)>>>0<1)?((c[k>>2]|0)+1|0)>>>0>=1:0){c[l>>2]=Vf((c[k>>2]|0)+1|0)|0;if(c[l>>2]|0){Dx(c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;a[(c[l>>2]|0)+(c[k>>2]|0)>>0]=0;c[f>>2]=c[l>>2];m=c[f>>2]|0;i=e;return m|0}else{c[f>>2]=0;m=c[f>>2]|0;i=e;return m|0}}c[f>>2]=0;m=c[f>>2]|0;i=e;return m|0} -function Fg(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;e=i;i=i+32|0;f=e+28|0;g=e+24|0;h=e+20|0;j=e+16|0;k=e+12|0;l=e+8|0;m=e+4|0;n=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;do if((c[j>>2]|0)==8){c[m>>2]=Dg(c[g>>2]|0,c[h>>2]|0,k)|0;if(!(c[m>>2]|0)){c[f>>2]=0;o=c[f>>2]|0;i=e;return o|0}if(Zf(c[g>>2]|0)|0)p=wq(0)|0;else p=vq(0)|0;c[l>>2]=p;if(c[l>>2]|0){iq(c[l>>2]|0,c[m>>2]|0,c[k>>2]<<3)|0;break}else{$f(c[m>>2]|0);break}}else{if(!(c[j>>2]|0))c[j>>2]=1;c[n>>2]=Cg(c[g>>2]|0,c[h>>2]|0,k)|0;if(!(c[n>>2]|0)){c[f>>2]=0;o=c[f>>2]|0;i=e;return o|0}if(Dp(l,c[j>>2]|0,c[n>>2]|0,c[k>>2]|0,0)|0){c[f>>2]=0;o=c[f>>2]|0;i=e;return o|0}}while(0);c[f>>2]=c[l>>2];o=c[f>>2]|0;i=e;return o|0}function Gg(f){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+48|0;h=g+28|0;j=g+24|0;k=g+20|0;l=g+16|0;m=g+32|0;n=g+12|0;o=g+8|0;p=g+4|0;q=g;c[j>>2]=f;c[p>>2]=0;c[q>>2]=1;if((c[j>>2]|0)!=0?(d[c[j>>2]>>0]|0|0)==3:0){c[k>>2]=c[j>>2];while(1){j=(c[q>>2]|0)>0;c[k>>2]=(c[k>>2]|0)+1;r=c[k>>2]|0;if(!j)break;if((d[r>>0]|0|0)==1){j=(c[k>>2]|0)+1|0;c[k>>2]=j;a[m>>0]=a[j>>0]|0;a[m+1>>0]=a[j+1>>0]|0;c[k>>2]=(c[k>>2]|0)+(2+(e[m>>1]|0));c[k>>2]=(c[k>>2]|0)+-1;if(c[p>>2]|0)continue;c[q>>2]=(c[q>>2]|0)+-1;continue}if((d[c[k>>2]>>0]|0|0)==3){c[p>>2]=(c[p>>2]|0)+1;continue}if((d[c[k>>2]>>0]|0|0)!=4)if(!(d[c[k>>2]>>0]|0)){s=15;break}else continue;c[p>>2]=(c[p>>2]|0)+-1;if(c[p>>2]|0)continue;c[q>>2]=(c[q>>2]|0)+-1}if((s|0)==15){c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}c[l>>2]=r;c[p>>2]=0;a:do{do if((d[c[k>>2]>>0]|0|0)!=1){if((d[c[k>>2]>>0]|0|0)==3){c[p>>2]=(c[p>>2]|0)+1;break}if((d[c[k>>2]>>0]|0|0)!=4)if(!(d[c[k>>2]>>0]|0)){s=24;break a}else break;else{c[p>>2]=(c[p>>2]|0)+-1;break}}else{r=(c[k>>2]|0)+1|0;c[k>>2]=r;a[m>>0]=a[r>>0]|0;a[m+1>>0]=a[r+1>>0]|0;c[k>>2]=(c[k>>2]|0)+(2+(e[m>>1]|0));c[k>>2]=(c[k>>2]|0)+-1}while(0);c[k>>2]=(c[k>>2]|0)+1}while((c[p>>2]|0)!=0);if((s|0)==24){c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}b[m>>1]=(c[k>>2]|0)-(c[l>>2]|0);c[n>>2]=Vf(1+(e[m>>1]|0)+2|0)|0;if(c[n>>2]|0){c[o>>2]=c[n>>2];k=c[o>>2]|0;c[o>>2]=k+1;a[k>>0]=3;Dx(c[o>>2]|0,c[l>>2]|0,e[m>>1]|0|0)|0;c[o>>2]=(c[o>>2]|0)+(e[m>>1]|0);m=c[o>>2]|0;c[o>>2]=m+1;a[m>>0]=4;m=c[o>>2]|0;c[o>>2]=m+1;a[m>>0]=0;c[h>>2]=ug(c[n>>2]|0)|0;t=c[h>>2]|0;i=g;return t|0}else{c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}}c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}function Hg(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=Gg(c[d>>2]|0)|0;c[f>>2]=Ag(c[e>>2]|0)|0;vg(c[e>>2]|0);i=b;return c[f>>2]|0}function Ig(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;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;e=c[g>>2]|0;g=c[h>>2]|0;h=c[j>>2]|0;c[k>>2]=og(e,g,h,Kv(c[j>>2]|0)|0,1,0,l)|0;i=f;return c[k>>2]|0}function Jg(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=c[g>>2]|0;g=c[h>>2]|0;h=c[j>>2]|0;d=Kv(c[j>>2]|0)|0;j=og(e,g,h,d,1,0,c[k>>2]|0)|0;i=f;return j|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;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=ng(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,0,0,f)|0;i=f;return e|0}function Lg(b,f,g,h){b=b|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+80|0;k=j;l=j+48|0;m=j+44|0;n=j+40|0;o=j+36|0;p=j+32|0;q=j+28|0;r=j+24|0;s=j+52|0;t=j+56|0;u=j+20|0;v=j+16|0;w=j+12|0;x=j+8|0;y=j+4|0;c[m>>2]=b;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[u>>2]=0;c[w>>2]=0;c[q>>2]=(c[m>>2]|0)!=0?c[m>>2]|0:22730;c[r>>2]=c[o>>2];a:while(1){if(!(d[c[q>>2]>>0]|0)){z=55;break}switch(d[c[q>>2]>>0]|0|0){case 3:{c[q>>2]=(c[q>>2]|0)+1;if((c[n>>2]|0)!=1){if(c[w>>2]|0)c[u>>2]=(c[u>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+(c[w>>2]|0)}c[u>>2]=(c[u>>2]|0)+1;if(c[o>>2]|0){if((c[u>>2]|0)>>>0>=(c[p>>2]|0)>>>0){z=10;break a}b:do if((c[n>>2]|0)!=1){if(c[w>>2]|0){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=10}c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[w>>2]|0))break b;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=32;c[v>>2]=(c[v>>2]|0)+1}}while(0);m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=40}c[w>>2]=(c[w>>2]|0)+1;continue a;break}case 4:{c[q>>2]=(c[q>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+1;if(c[o>>2]|0){if((c[u>>2]|0)>>>0>=(c[p>>2]|0)>>>0){z=21;break a}m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=41}c[w>>2]=(c[w>>2]|0)+-1;if((d[c[q>>2]>>0]|0|0)==3)continue a;if(!((c[n>>2]|0)!=1?(d[c[q>>2]>>0]|0|0)!=0:0))continue a;c[u>>2]=(c[u>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+(c[w>>2]|0);if(!(c[o>>2]|0))continue a;if((c[u>>2]|0)>>>0>=(c[p>>2]|0)>>>0){z=27;break a}m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=10;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[w>>2]|0))continue a;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=32;c[v>>2]=(c[v>>2]|0)+1}break}case 1:{c[q>>2]=(c[q>>2]|0)+1;m=c[q>>2]|0;a[s>>0]=a[m>>0]|0;a[s+1>>0]=a[m+1>>0]|0;c[q>>2]=(c[q>>2]|0)+2;if((c[n>>2]|0)==3){m=Mg(c[q>>2]|0,e[s>>1]|0)|0;c[x>>2]=m;switch(m|0){case 1:{c[y>>2]=Ng(c[q>>2]|0,e[s>>1]|0,0)|0;break}case 2:{c[y>>2]=Og(c[q>>2]|0,e[s>>1]|0,0)|0;break}default:c[y>>2]=Pg(c[q>>2]|0,e[s>>1]|0,0)|0}c[u>>2]=(c[u>>2]|0)+(c[y>>2]|0);if(c[o>>2]|0){if((c[u>>2]|0)>>>0>=(c[p>>2]|0)>>>0){z=38;break a}switch(c[x>>2]|0){case 1:{Ng(c[q>>2]|0,e[s>>1]|0,c[r>>2]|0)|0;break}case 2:{Og(c[q>>2]|0,e[s>>1]|0,c[r>>2]|0)|0;break}default:Pg(c[q>>2]|0,e[s>>1]|0,c[r>>2]|0)|0}c[r>>2]=(c[r>>2]|0)+(c[y>>2]|0)}if((d[(c[q>>2]|0)+(e[s>>1]|0)>>0]|0|0)!=4?(c[u>>2]=(c[u>>2]|0)+1,(c[o>>2]|0)!=0):0){if((c[u>>2]|0)>>>0>=(c[p>>2]|0)>>>0){z=47;break a}m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=32}}else{c[k>>2]=e[s>>1];ew(t,22757,k)|0;m=Kv(t)|0;c[u>>2]=(c[u>>2]|0)+(m+(e[s>>1]|0));if(c[o>>2]|0){if((c[u>>2]|0)>>>0>=(c[p>>2]|0)>>>0){z=51;break a}c[r>>2]=Xv(c[r>>2]|0,t)|0;Dx(c[r>>2]|0,c[q>>2]|0,e[s>>1]|0|0)|0;c[r>>2]=(c[r>>2]|0)+(e[s>>1]|0)}}c[q>>2]=(c[q>>2]|0)+(e[s>>1]|0);continue a;break}default:{z=54;break a}}}if((z|0)==10){c[l>>2]=0;A=c[l>>2]|0;i=j;return A|0}else if((z|0)==21){c[l>>2]=0;A=c[l>>2]|0;i=j;return A|0}else if((z|0)==27){c[l>>2]=0;A=c[l>>2]|0;i=j;return A|0}else if((z|0)==38){c[l>>2]=0;A=c[l>>2]|0;i=j;return A|0}else if((z|0)==47){c[l>>2]=0;A=c[l>>2]|0;i=j;return A|0}else if((z|0)==51){c[l>>2]=0;A=c[l>>2]|0;i=j;return A|0}else if((z|0)==54)wf(22662,2008,22761);else if((z|0)==55){do if((c[n>>2]|0)!=1?(c[u>>2]=(c[u>>2]|0)+1,(c[o>>2]|0)!=0):0){if((c[u>>2]|0)>>>0<(c[p>>2]|0)>>>0){z=c[r>>2]|0;c[r>>2]=z+1;a[z>>0]=10;break}c[l>>2]=0;A=c[l>>2]|0;i=j;return A|0}while(0);n=c[u>>2]|0;do if(c[o>>2]|0){if(n>>>0<(c[p>>2]|0)>>>0){z=c[r>>2]|0;c[r>>2]=z+1;a[z>>0]=0;break}c[l>>2]=0;A=c[l>>2]|0;i=j;return A|0}else c[u>>2]=n+1;while(0);c[l>>2]=c[u>>2];A=c[l>>2]|0;i=j;return A|0}return 0}function Mg(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;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;l=f;c[h>>2]=b;c[j>>2]=e;c[l>>2]=1;if(!(c[j>>2]|0)){c[g>>2]=1;m=c[g>>2]|0;i=f;return m|0}if(d[c[h>>2]>>0]&128){c[g>>2]=0;m=c[g>>2]|0;i=f;return m|0}if(!(a[c[h>>2]>>0]|0)){c[g>>2]=0;m=c[g>>2]|0;i=f;return m|0}c[k>>2]=c[h>>2];while(1){if(!(c[j>>2]|0))break;if((d[c[k>>2]>>0]|0)>=32){if((d[c[k>>2]>>0]|0)>=127?(d[c[k>>2]>>0]|0)<=160:0)n=12}else n=12;if((n|0)==12?(n=0,(sw(22733,d[c[k>>2]>>0]|0)|0)==0):0){n=13;break}do if(c[l>>2]|0){if((d[c[k>>2]>>0]|0)>=65?(d[c[k>>2]>>0]|0)<=90:0)break;if((d[c[k>>2]>>0]|0)>=97?(d[c[k>>2]>>0]|0)<=122:0)break;if((d[c[k>>2]>>0]|0)>=48?(d[c[k>>2]>>0]|0)<=57:0)break;if(!(sw(22743,d[c[k>>2]>>0]|0)|0))c[l>>2]=0}while(0);c[k>>2]=(c[k>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+-1}if((n|0)==13){c[g>>2]=0;m=c[g>>2]|0;i=f;return m|0}c[k>>2]=c[h>>2];do if(c[l>>2]|0){if((d[c[k>>2]>>0]|0)>=48?(d[c[k>>2]>>0]|0)<=57:0)break;c[g>>2]=2;m=c[g>>2]|0;i=f;return m|0}while(0);c[g>>2]=1;m=c[g>>2]|0;i=f;return m|0}function Ng(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;g=i;i=i+32|0;h=g;j=g+24|0;k=g+20|0;l=g+16|0;m=g+12|0;n=g+8|0;o=g+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;if(!(c[m>>2]|0)){c[o>>2]=2;while(1){if(!(c[l>>2]|0))break;a:do switch(d[c[k>>2]>>0]|0|0){case 92:case 39:case 34:case 13:case 12:case 10:case 11:case 9:case 8:{c[o>>2]=(c[o>>2]|0)+2;break}default:{do if((d[c[k>>2]>>0]|0|0)>=32){if((d[c[k>>2]>>0]|0|0)>=127?(d[c[k>>2]>>0]|0|0)<=160:0)break;c[o>>2]=(c[o>>2]|0)+1;break a}while(0);c[o>>2]=(c[o>>2]|0)+4}}while(0);c[l>>2]=(c[l>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)+1}c[j>>2]=c[o>>2];p=c[j>>2]|0;i=g;return p|0}c[n>>2]=c[m>>2];o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=34;while(1){if(!(c[l>>2]|0))break;b:do switch(d[c[k>>2]>>0]|0|0){case 8:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=98;break}case 9:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=116;break}case 11:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=118;break}case 10:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=110;break}case 12:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=102;break}case 13:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=114;break}case 34:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=34;break}case 39:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=39;break}case 92:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;break}default:{do if((d[c[k>>2]>>0]|0|0)>=32){if((d[c[k>>2]>>0]|0|0)>=127?(d[c[k>>2]>>0]|0|0)<=160:0)break;o=a[c[k>>2]>>0]|0;f=c[n>>2]|0;c[n>>2]=f+1;a[f>>0]=o;break b}while(0);o=c[n>>2]|0;c[h>>2]=d[c[k>>2]>>0];ew(o,22584,h)|0;c[n>>2]=(c[n>>2]|0)+4}}while(0);c[l>>2]=(c[l>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)+1}k=c[n>>2]|0;c[n>>2]=k+1;a[k>>0]=34;c[j>>2]=(c[n>>2]|0)-(c[m>>2]|0);p=c[j>>2]|0;i=g;return p|0}function Og(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[h>>2]|0)){j=c[g>>2]|0;i=e;return j|0}Dx(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;j=c[g>>2]|0;i=e;return j|0}function Pg(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;g=i;i=i+32|0;h=g;j=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;if(!(c[l>>2]|0)){n=c[k>>2]|0;o=n<<1;p=o+2|0;i=g;return p|0}f=c[l>>2]|0;c[l>>2]=f+1;a[f>>0]=35;c[m>>2]=0;while(1){q=c[l>>2]|0;if((c[m>>2]|0)>>>0>=(c[k>>2]|0)>>>0)break;c[h>>2]=d[(c[j>>2]|0)+(c[m>>2]|0)>>0];ew(q,22752,h)|0;c[m>>2]=(c[m>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+2}c[l>>2]=q+1;a[q>>0]=35;n=c[k>>2]|0;o=n<<1;p=o+2|0;i=g;return p|0}function Qg(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,D=0,E=0,F=0,G=0;g=i;i=i+192|0;h=g+156|0;j=g+152|0;k=g+148|0;l=g+144|0;m=g+140|0;n=g+136|0;o=g+132|0;p=g+128|0;q=g+48|0;r=g+160|0;s=g+40|0;t=g+36|0;u=g+32|0;v=g+28|0;w=g+24|0;x=g+20|0;y=g+16|0;z=g+12|0;A=g+8|0;B=g+4|0;C=g;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[u>>2]=43;c[v>>2]=0;f=r;e=f+20|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(e|0));c[o>>2]=c[l>>2];c[s>>2]=0;while(1){D=a[c[o>>2]>>0]|0;if(!((a[c[o>>2]>>0]|0)!=0?(c[s>>2]|0)>>>0<20:0)){E=18;break}if((((((D<<24>>24|0)!=38?(a[c[o>>2]>>0]|0)!=43:0)?(a[c[o>>2]>>0]|0)!=45:0)?(a[c[o>>2]>>0]|0)!=47:0)?(a[c[o>>2]>>0]|0)!=63:0)?(rg(c[o>>2]|0)|0)==0:0){if((a[c[o>>2]>>0]|0)==39){c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=sw(c[o>>2]|0,39)|0;if(!(c[p>>2]|0)){E=12;break}if((c[p>>2]|0)==(c[o>>2]|0)){E=12;break}c[o>>2]=c[p>>2]}f=c[m>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);d=c[e>>2]|0;c[f>>2]=e+4;c[q+(c[s>>2]<<2)>>2]=d;if(!(c[q+(c[s>>2]<<2)>>2]|0)){E=15;break}c[s>>2]=(c[s>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}if((E|0)==12){c[h>>2]=29;F=c[h>>2]|0;i=g;return F|0}else if((E|0)==15){c[h>>2]=128;F=c[h>>2]|0;i=g;return F|0}else if((E|0)==18){if(D<<24>>24){c[h>>2]=183;F=c[h>>2]|0;i=g;return F|0}D=c[m>>2]|0;m=(c[D>>2]|0)+(4-1)&~(4-1);d=c[m>>2]|0;c[D>>2]=m+4;if(d){c[h>>2]=45;F=c[h>>2]|0;i=g;return F|0}while(1){if(!(c[k>>2]|0)){E=33;break}if(!(a[c[k>>2]>>0]|0)){E=33;break}c[o>>2]=sw(c[k>>2]|0,33)|0;if((c[o>>2]|0)==(c[k>>2]|0)){E=25;break}if(c[o>>2]|0)G=(c[o>>2]|0)-(c[k>>2]|0)|0;else G=0;c[w>>2]=G;c[t>>2]=xg(c[j>>2]|0,c[k>>2]|0,c[w>>2]|0)|0;if(!(c[t>>2]|0)){E=29;break}c[j>>2]=c[t>>2];c[t>>2]=0;vg(c[v>>2]|0);c[v>>2]=c[j>>2];if(c[w>>2]|0){c[k>>2]=(c[k>>2]|0)+((c[w>>2]|0)+1);continue}else{c[k>>2]=0;continue}}do if((E|0)==25)c[n>>2]=27;else if((E|0)==29)c[n>>2]=27;else if((E|0)==33){c[o>>2]=c[l>>2];c[s>>2]=0;a:while(1){if(!(a[c[o>>2]>>0]|0)){E=76;break}if((((a[c[o>>2]>>0]|0)!=38?(a[c[o>>2]>>0]|0)!=43:0)?(a[c[o>>2]>>0]|0)!=45:0)?(a[c[o>>2]>>0]|0)!=47:0){if((rg(c[o>>2]|0)|0)==0?(a[c[o>>2]>>0]|0)!=63:0){if((a[c[o>>2]>>0]|0)==39){c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=sw(c[o>>2]|0,39)|0;if(!(c[p>>2]|0)){E=45;break}if((c[p>>2]|0)==(c[o>>2]|0)){E=45;break}c[t>>2]=xg(c[j>>2]|0,c[o>>2]|0,(c[p>>2]|0)-(c[o>>2]|0)|0)|0;c[o>>2]=c[p>>2]}else c[t>>2]=xg(c[j>>2]|0,c[o>>2]|0,1)|0;do if((c[t>>2]|0)==0?(a[(c[o>>2]|0)+1>>0]|0)==63:0){k=c[q+(c[s>>2]<<2)>>2]|0;if((c[u>>2]|0)!=38){c[k>>2]=0;break}c[x>>2]=k;if(!(c[(c[x>>2]|0)+12>>2]|0)){c[c[x>>2]>>2]=0;c[(c[x>>2]|0)+4>>2]=0}c[(c[x>>2]|0)+8>>2]=0}else E=55;while(0);if((E|0)==55){E=0;if(!(c[t>>2]|0)){E=56;break}do if((c[u>>2]|0)!=38){if((c[u>>2]|0)==47){k=Fg(c[t>>2]|0,1,8)|0;c[c[q+(c[s>>2]<<2)>>2]>>2]=k;break}k=c[t>>2]|0;if((c[u>>2]|0)==45){w=Fg(k,1,1)|0;c[c[q+(c[s>>2]<<2)>>2]>>2]=w;break}else{w=Fg(k,1,5)|0;c[c[q+(c[s>>2]<<2)>>2]>>2]=w;break}}else{c[y>>2]=c[q+(c[s>>2]<<2)>>2];w=c[t>>2]|0;if(!(c[(c[y>>2]|0)+12>>2]|0)){k=Dg(w,1,c[y>>2]|0)|0;c[(c[y>>2]|0)+12>>2]=k;if(!(c[(c[y>>2]|0)+12>>2]|0)){E=65;break a}c[(c[y>>2]|0)+8>>2]=c[c[y>>2]>>2];c[(c[y>>2]|0)+4>>2]=0;a[r+(c[s>>2]|0)>>0]=2;break}c[z>>2]=Bg(w,1,A)|0;if(!((c[z>>2]|0)!=0&(c[A>>2]|0)!=0)){E=60;break a}if(((c[(c[y>>2]|0)+4>>2]|0)+(c[A>>2]|0)|0)>>>0>(c[c[y>>2]>>2]|0)>>>0){E=62;break a}Dx((c[(c[y>>2]|0)+12>>2]|0)+(c[(c[y>>2]|0)+4>>2]|0)|0,c[z>>2]|0,c[A>>2]|0)|0;c[(c[y>>2]|0)+8>>2]=c[A>>2];a[r+(c[s>>2]|0)>>0]=1}while(0);vg(c[t>>2]|0);c[t>>2]=0;if(!(c[c[q+(c[s>>2]<<2)>>2]>>2]|0)){E=73;break}}c[s>>2]=(c[s>>2]|0)+1}}else c[u>>2]=a[c[o>>2]>>0];c[o>>2]=(c[o>>2]|0)+1}if((E|0)==45){c[n>>2]=29;break}else if((E|0)==56){c[n>>2]=68;break}else if((E|0)==60){c[n>>2]=65;break}else if((E|0)==62){c[n>>2]=200;break}else if((E|0)==65){c[n>>2]=65;break}else if((E|0)==73){c[n>>2]=65;break}else if((E|0)==76){vg(c[v>>2]|0);c[h>>2]=0;F=c[h>>2]|0;i=g;return F|0}}while(0);vg(c[v>>2]|0);vg(c[t>>2]|0);while(1){t=c[s>>2]|0;c[s>>2]=t+-1;if(!t)break;t=c[s>>2]|0;if(!(a[r+(c[s>>2]|0)>>0]|0)){xq(c[c[q+(t<<2)>>2]>>2]|0);c[c[q+(c[s>>2]<<2)>>2]>>2]=0;continue}v=c[q+(c[s>>2]<<2)>>2]|0;if((((a[r+t>>0]|0)!=0^1)&1|0)==1){c[B>>2]=v;c[(c[B>>2]|0)+8>>2]=0;continue}else{c[C>>2]=v;$f(c[(c[C>>2]|0)+12>>2]|0);c[(c[C>>2]|0)+12>>2]=0;c[(c[C>>2]|0)+8>>2]=0;c[(c[C>>2]|0)+4>>2]=0;c[c[C>>2]>>2]=0;continue}}c[h>>2]=c[n>>2];F=c[h>>2]|0;i=g;return F|0}return 0}function Rg(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;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;c[k>>2]=Qg(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,l)|0;l=Sg(c[k>>2]|0)|0;i=f;return l|0}function Sg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tg(1,c[d>>2]|0)|0;i=b;return a|0}function Tg(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+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function Ug(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=13){g=6;break}a=(gv(c[1120+(c[f>>2]<<3)+4>>2]|0,c[e>>2]|0)|0)!=0;h=c[f>>2]|0;if(!a){g=4;break}c[f>>2]=h+1}if((g|0)==4){c[17675]=c[17675]|c[1120+(h<<3)>>2];c[d>>2]=0;j=c[d>>2]|0;i=b;return j|0}else if((g|0)==6){c[d>>2]=88;j=c[d>>2]|0;i=b;return j|0}return 0}function Vg(){return c[17676]|0}function Wg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;if((c[f>>2]|0)<0|(c[f>>2]|0)>>>0>=13){c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}if(c[g>>2]|0)c[c[g>>2]>>2]=c[1120+(c[f>>2]<<3)>>2];c[e>>2]=c[1120+(c[f>>2]<<3)+4>>2];h=c[e>>2]|0;i=d;return h|0}function Xg(){c[17676]=0;if(Ah()|0)return;Yg();c[17676]=c[17676]&~c[17675];return}function Yg(){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+288|0;d=b+20|0;e=b+16|0;f=b+24|0;g=b+12|0;h=b+8|0;j=b+4|0;k=b;c[d>>2]=22929;c[k>>2]=0;c[e>>2]=qw(c[d>>2]|0,23810)|0;if(!(c[e>>2]|0)){i=b;return}while(1){if(!(hw(f,256,c[e>>2]|0)|0))break;c[k>>2]=(c[k>>2]|0)+1;c[g>>2]=f;while(1){if(a[c[g>>2]>>0]&128)break;if(!(Yv(a[c[g>>2]>>0]|0)|0))break;c[g>>2]=(c[g>>2]|0)+1}c[h>>2]=sw(c[g>>2]|0,10)|0;if(c[h>>2]|0)a[c[h>>2]>>0]=0;d=c[g>>2]|0;if(a[c[g>>2]>>0]|0)l=(Kv(c[g>>2]|0)|0)-1|0;else l=0;c[h>>2]=d+l;while(1){if((c[h>>2]|0)>>>0<=(c[g>>2]|0)>>>0)break;if((a[c[h>>2]>>0]&128|0)==0?(Yv(a[c[h>>2]>>0]|0)|0)!=0:0)a[c[h>>2]>>0]=0;c[h>>2]=(c[h>>2]|0)+-1}if(!(a[c[g>>2]>>0]|0))continue;if((a[c[g>>2]>>0]|0)==35)continue;c[j>>2]=0;while(1){if((c[j>>2]|0)>>>0>=13)break;d=(gv(c[1120+(c[j>>2]<<3)+4>>2]|0,c[g>>2]|0)|0)!=0;m=c[j>>2]|0;if(!d){n=23;break}c[j>>2]=m+1}if((n|0)==23){n=0;c[17675]=c[17675]|c[1120+(m<<3)>>2]}}Gw(c[e>>2]|0)|0;vw(c[e>>2]|0)|0;i=b;return}function Zg(){c[17677]=1;return}function _g(b){b=b|0;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+4|0;g=d;c[f>>2]=b;if(!(c[f>>2]|0)){ju(22);c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}b=c[f>>2]|0;if(!(c[17677]|0)){c[e>>2]=sx(b)|0;h=c[e>>2]|0;i=d;return h|0}j=sx(b+0+5|0)|0;c[g>>2]=j;if(j){a[c[g>>2]>>0]=c[f>>2];a[(c[g>>2]|0)+1>>0]=(c[f>>2]|0)>>>8;a[(c[g>>2]|0)+2>>0]=(c[f>>2]|0)>>>16;a[(c[g>>2]|0)+3>>0]=85;a[(c[g>>2]|0)+(4+(c[f>>2]|0))>>0]=-86;c[e>>2]=(c[g>>2]|0)+4;h=c[e>>2]|0;i=d;return h|0}else{c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}return 0}function $g(b){b=b|0;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+4|0;g=d;c[f>>2]=b;if(!(c[f>>2]|0)){ju(22);c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}b=c[f>>2]|0;if(!(c[17677]|0)){c[e>>2]=lh(b)|0;h=c[e>>2]|0;i=d;return h|0}j=lh(b+0+5|0)|0;c[g>>2]=j;if(j){a[c[g>>2]>>0]=c[f>>2];a[(c[g>>2]|0)+1>>0]=(c[f>>2]|0)>>>8;a[(c[g>>2]|0)+2>>0]=(c[f>>2]|0)>>>16;a[(c[g>>2]|0)+3>>0]=-52;a[(c[g>>2]|0)+(4+(c[f>>2]|0))>>0]=-86;c[e>>2]=(c[g>>2]|0)+4;h=c[e>>2]|0;i=d;return h|0}else{c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}return 0}function ah(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[g>>2]=a;c[h>>2]=b;b=c[g>>2]|0;if(!(c[17677]|0)){a=(wh(b)|0)!=0;m=c[g>>2]|0;n=c[h>>2]|0;if(a){c[f>>2]=vh(m,n)|0;o=c[f>>2]|0;i=e;return o|0}else{c[f>>2]=vx(m,n)|0;o=c[f>>2]|0;i=e;return o|0}}c[j>>2]=b;if(!(c[g>>2]|0)){c[f>>2]=_g(c[h>>2]|0)|0;o=c[f>>2]|0;i=e;return o|0}bh(c[j>>2]|0);c[l>>2]=d[(c[j>>2]|0)+-4>>0];c[l>>2]=c[l>>2]|(d[(c[j>>2]|0)+-3>>0]|0)<<8;c[l>>2]=c[l>>2]|(d[(c[j>>2]|0)+-2>>0]|0)<<16;if((c[l>>2]|0)>>>0>=(c[h>>2]|0)>>>0){c[f>>2]=c[g>>2];o=c[f>>2]|0;i=e;return o|0}b=c[h>>2]|0;if((d[(c[j>>2]|0)+-1>>0]|0|0)==204)c[k>>2]=$g(b)|0;else c[k>>2]=_g(b)|0;if(c[k>>2]|0){Dx(c[k>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;Fx((c[k>>2]|0)+(c[l>>2]|0)|0,0,(c[h>>2]|0)-(c[l>>2]|0)|0)|0;ch(c[j>>2]|0);c[f>>2]=c[k>>2];o=c[f>>2]|0;i=e;return o|0}else{c[f>>2]=0;o=c[f>>2]|0;i=e;return o|0}return 0}function bh(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+32|0;e=b+8|0;f=b;g=b+24|0;h=b+20|0;j=b+16|0;c[g>>2]=a;if(!(c[17677]|0)){i=b;return}c[h>>2]=c[g>>2];if(!(c[h>>2]|0)){i=b;return}if((d[(c[h>>2]|0)+-1>>0]|0|0)!=85?(d[(c[h>>2]|0)+-1>>0]|0|0)!=204:0){g=d[(c[h>>2]|0)+-1>>0]|0;c[f>>2]=c[h>>2];c[f+4>>2]=g;Bf(22950,f)}c[j>>2]=d[(c[h>>2]|0)+-4>>0];c[j>>2]=c[j>>2]|(d[(c[h>>2]|0)+-3>>0]|0)<<8;c[j>>2]=c[j>>2]|(d[(c[h>>2]|0)+-2>>0]|0)<<16;if((d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0|0)!=170){j=d[(c[h>>2]|0)+-1>>0]|0;c[e>>2]=c[h>>2];c[e+4>>2]=j;Bf(22991,e)}else{i=b;return}}function ch(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];if(!(c[e>>2]|0)){i=b;return}if(c[17677]|0){bh(c[e>>2]|0);a=(wh(c[d>>2]|0)|0)!=0;f=(c[e>>2]|0)+-4|0;if(a){th(f);i=b;return}else{tx(f);i=b;return}}else{f=(wh(c[d>>2]|0)|0)!=0;d=c[e>>2]|0;if(f){th(d);i=b;return}else{tx(d);i=b;return}}}function dh(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;lu(1224)|0;c[e>>2]=c[17678];c[17679]=c[d>>2]&1;c[17678]=c[d>>2]&2;c[17680]=c[d>>2]&8;c[17681]=c[d>>2]&16;if(!((((c[e>>2]|0)==0|(c[17678]|0)!=0)^1)&(c[17682]|0)!=0)){mu(1224)|0;i=b;return}c[17682]=0;eh();mu(1224)|0;i=b;return}function eh(){var a=0;a=i;i=i+16|0;if(c[17679]|0){i=a;return}yf(pf(23031)|0,a);i=a;return}function fh(){var a=0,b=0;a=i;i=i+16|0;b=a;lu(1224)|0;c[b>>2]=(c[17679]|0)!=0?1:0;c[b>>2]=c[b>>2]|((c[17678]|0)!=0?2:0);c[b>>2]=c[b>>2]|((c[17683]|0)!=0?4:0);c[b>>2]=c[b>>2]|((c[17680]|0)!=0?8:0);c[b>>2]=c[b>>2]|((c[17681]|0)!=0?16:0);mu(1224)|0;i=a;return c[b>>2]|0}function gh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;lu(1224)|0;hh(c[d>>2]|0);mu(1224)|0;i=b;return}function hh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+32|0;d=b+8|0;e=b;f=b+16|0;g=b+12|0;c[f>>2]=a;if(c[f>>2]|0){if((c[f>>2]|0)>>>0<16384)c[f>>2]=16384;if(c[17685]|0){Af(23263,d);i=b;return}else{ih(c[f>>2]|0);jh(c[17687]|0,c[f>>2]|0);i=b;return}}c[17684]=1;c[g>>2]=Qw()|0;f=c[g>>2]|0;if((f|0)==(Uw()|0)){i=b;return}if(Vw(c[g>>2]|0)|0)Bf(23064,e);g=Qw()|0;if((g|0)!=(Uw()|0))Bf(23064,e);if(Vw(0)|0){i=b;return}else Bf(23064,e)}function ih(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,o=0;b=i;i=i+48|0;d=b+16|0;e=b+8|0;f=b+32|0;g=b+28|0;h=b+24|0;j=b+20|0;c[f>>2]=a;c[17686]=c[f>>2];if(c[17684]|0)Cf(23087,b);c[h>>2]=La(30)|0;c[g>>2]=(c[h>>2]|0)!=-1&(c[h>>2]|0)>0?c[h>>2]|0:4096;c[17686]=(c[17686]|0)+(c[g>>2]|0)-1&~((c[g>>2]|0)-1);c[17687]=Zw(0,c[17686]|0,3,34,-1,0)|0;if((c[17687]|0)==(-1|0)){g=c[17686]|0;h=ov(c[(Yu()|0)>>2]|0)|0;c[e>>2]=g;c[e+4>>2]=h;yf(23113,e)}else{c[17688]=1;c[17685]=1}if(c[17685]|0){k=c[17687]|0;c[j>>2]=k;l=c[17686]|0;m=c[j>>2]|0;c[m>>2]=l;n=c[j>>2]|0;o=n+4|0;c[o>>2]=0;i=b;return}c[17687]=sx(c[17686]|0)|0;if(!(c[17687]|0)){c[d>>2]=c[17686];Bf(23161,d)}c[17685]=1;k=c[17687]|0;c[j>>2]=k;l=c[17686]|0;m=c[j>>2]|0;c[m>>2]=l;n=c[j>>2]|0;o=n+4|0;c[o>>2]=0;i=b;return}function jh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+8>>2]=a;c[d+4>>2]=b;if(c[17680]|0){i=d;return}yf(23201,d);i=d;return}function kh(){return 0}function lh(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;lu(1224)|0;c[e>>2]=mh(c[d>>2]|0)|0;mu(1224)|0;i=b;return c[e>>2]|0}function mh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+32|0;d=b+8|0;e=b;f=b+20|0;g=b+16|0;h=b+12|0;c[g>>2]=a;if((c[17685]|0)==0?(hh(32768),(c[17685]|0)==0):0){yf(pf(23309)|0,e);ju(12);c[f>>2]=0;j=c[f>>2]|0;i=b;return j|0}if((c[17683]|0)!=0?(Ah()|0)!=0:0){yf(pf(23370)|0,d);ju(12);c[f>>2]=0;j=c[f>>2]|0;i=b;return j|0}if(!((c[17682]|0)==0|(c[17678]|0)!=0)){c[17682]=0;eh()}c[g>>2]=((((c[g>>2]|0)+31|0)>>>0)/32|0)<<5;c[h>>2]=nh(c[17687]|0,c[g>>2]|0)|0;if(c[h>>2]|0)sh(c[g>>2]|0,0);c[f>>2]=(c[h>>2]|0)!=0?(c[h>>2]|0)+8|0:0;j=c[f>>2]|0;i=b;return j|0}function nh(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+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[e>>2];while(1){if(!(oh(c[g>>2]|0)|0))break;if((c[(c[g>>2]|0)+4>>2]&1|0)==0?(c[c[g>>2]>>2]|0)>>>0>=(c[f>>2]|0)>>>0:0){j=5;break}c[g>>2]=rh(c[g>>2]|0)|0}if((j|0)==5?(j=(c[g>>2]|0)+4|0,c[j>>2]=c[j>>2]|1,((c[c[g>>2]>>2]|0)-(c[f>>2]|0)|0)>>>0>8):0){c[h>>2]=(c[g>>2]|0)+8+(c[f>>2]|0);c[c[h>>2]>>2]=(c[c[g>>2]>>2]|0)-(c[f>>2]|0)-8;c[(c[h>>2]|0)+4>>2]=0;c[c[g>>2]>>2]=c[f>>2];ph(c[h>>2]|0)}if(oh(c[g>>2]|0)|0){k=c[g>>2]|0;i=d;return k|0}ju(12);c[g>>2]=0;k=c[g>>2]|0;i=d;return k|0}function oh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[d>>2];c[f>>2]=c[17687];if((c[e>>2]|0)>>>0<(c[f>>2]|0)>>>0){g=0;h=g&1;i=b;return h|0}g=(c[e>>2]|0)>>>0<((c[f>>2]|0)+(c[17686]|0)|0)>>>0;h=g&1;i=b;return h|0}function ph(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=qh(c[d>>2]|0)|0;c[f>>2]=rh(c[d>>2]|0)|0;if((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+4>>2]&1|0)==0:0){a=c[e>>2]|0;c[a>>2]=(c[a>>2]|0)+(8+(c[c[d>>2]>>2]|0));c[d>>2]=c[e>>2]}if(!(c[f>>2]|0)){i=b;return}if(c[(c[f>>2]|0)+4>>2]&1){i=b;return}e=c[d>>2]|0;c[e>>2]=(c[e>>2]|0)+(8+(c[c[f>>2]>>2]|0));i=b;return}function qh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;if((c[d>>2]|0)==(c[17687]|0)){c[e>>2]=0;g=c[e>>2]|0;i=b;return g|0}c[e>>2]=c[17687];while(1){c[f>>2]=rh(c[e>>2]|0)|0;if((c[f>>2]|0)==(c[d>>2]|0))break;c[e>>2]=c[f>>2]}g=c[e>>2]|0;i=b;return g|0}function rh(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(c[d>>2]|0)+8+(c[c[d>>2]>>2]|0);if(oh(c[e>>2]|0)|0){f=c[e>>2]|0;i=b;return f|0}c[e>>2]=0;f=c[e>>2]|0;i=b;return f|0}function sh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(c[e>>2]|0){c[17689]=(c[17689]|0)+(c[e>>2]|0);c[17690]=(c[17690]|0)+1}if(!(c[f>>2]|0)){i=d;return}c[17689]=(c[17689]|0)-(c[f>>2]|0);c[17690]=(c[17690]|0)+-1;i=d;return}function th(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;lu(1224)|0;uh(c[d>>2]|0);mu(1224)|0;i=b;return}function uh(b){b=b|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,D=0,E=0;e=i;i=i+96|0;f=e+88|0;g=e+84|0;h=e+80|0;j=e+76|0;k=e+72|0;l=e+95|0;m=e+24|0;n=e+68|0;o=e+64|0;p=e+60|0;q=e+94|0;r=e+16|0;s=e+56|0;t=e+52|0;u=e+48|0;v=e+93|0;w=e+8|0;x=e+44|0;y=e+40|0;z=e+36|0;A=e+92|0;B=e;D=e+32|0;c[f>>2]=b;if(!(c[f>>2]|0)){i=e;return}c[g>>2]=(c[f>>2]|0)+-8;c[h>>2]=c[c[g>>2]>>2];c[j>>2]=(c[g>>2]|0)+8;c[k>>2]=c[h>>2];a[l>>0]=-1;f=m;c[f>>2]=d[l>>0];c[f+4>>2]=0;while(1){if(!((c[j>>2]&7|0)!=0?(c[k>>2]|0)!=0:0))break;a[c[j>>2]>>0]=a[l>>0]|0;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}if((c[k>>2]|0)>>>0>=8){f=m;b=Mx(c[f>>2]|0,c[f+4>>2]|0,16843009,16843009)|0;f=m;c[f>>2]=b;c[f+4>>2]=C;do{c[n>>2]=c[j>>2];f=m;b=c[f+4>>2]|0;E=c[n>>2]|0;c[E>>2]=c[f>>2];c[E+4>>2]=b;c[k>>2]=(c[k>>2]|0)-8;c[j>>2]=(c[j>>2]|0)+8}while((c[k>>2]|0)>>>0>=8)}while(1){if(!(c[k>>2]|0))break;a[c[j>>2]>>0]=a[l>>0]|0;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}c[o>>2]=(c[g>>2]|0)+8;c[p>>2]=c[h>>2];a[q>>0]=-86;k=r;c[k>>2]=d[q>>0];c[k+4>>2]=0;while(1){if(!((c[o>>2]&7|0)!=0?(c[p>>2]|0)!=0:0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}if((c[p>>2]|0)>>>0>=8){k=r;j=Mx(c[k>>2]|0,c[k+4>>2]|0,16843009,16843009)|0;k=r;c[k>>2]=j;c[k+4>>2]=C;do{c[s>>2]=c[o>>2];k=r;j=c[k+4>>2]|0;l=c[s>>2]|0;c[l>>2]=c[k>>2];c[l+4>>2]=j;c[p>>2]=(c[p>>2]|0)-8;c[o>>2]=(c[o>>2]|0)+8}while((c[p>>2]|0)>>>0>=8)}while(1){if(!(c[p>>2]|0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}c[t>>2]=(c[g>>2]|0)+8;c[u>>2]=c[h>>2];a[v>>0]=85;p=w;c[p>>2]=d[v>>0];c[p+4>>2]=0;while(1){if(!((c[t>>2]&7|0)!=0?(c[u>>2]|0)!=0:0))break;a[c[t>>2]>>0]=a[v>>0]|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+-1}if((c[u>>2]|0)>>>0>=8){p=w;o=Mx(c[p>>2]|0,c[p+4>>2]|0,16843009,16843009)|0;p=w;c[p>>2]=o;c[p+4>>2]=C;do{c[x>>2]=c[t>>2];p=w;o=c[p+4>>2]|0;q=c[x>>2]|0;c[q>>2]=c[p>>2];c[q+4>>2]=o;c[u>>2]=(c[u>>2]|0)-8;c[t>>2]=(c[t>>2]|0)+8}while((c[u>>2]|0)>>>0>=8)}while(1){if(!(c[u>>2]|0))break;a[c[t>>2]>>0]=a[v>>0]|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+-1}c[y>>2]=(c[g>>2]|0)+8;c[z>>2]=c[h>>2];a[A>>0]=0;u=B;c[u>>2]=d[A>>0];c[u+4>>2]=0;while(1){if(!((c[y>>2]&7|0)!=0?(c[z>>2]|0)!=0:0))break;a[c[y>>2]>>0]=a[A>>0]|0;c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+-1}if((c[z>>2]|0)>>>0>=8){u=B;t=Mx(c[u>>2]|0,c[u+4>>2]|0,16843009,16843009)|0;u=B;c[u>>2]=t;c[u+4>>2]=C;do{c[D>>2]=c[y>>2];u=B;t=c[u+4>>2]|0;v=c[D>>2]|0;c[v>>2]=c[u>>2];c[v+4>>2]=t;c[z>>2]=(c[z>>2]|0)-8;c[y>>2]=(c[y>>2]|0)+8}while((c[z>>2]|0)>>>0>=8)}while(1){if(!(c[z>>2]|0))break;a[c[y>>2]>>0]=a[A>>0]|0;c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+-1}sh(0,c[h>>2]|0);h=(c[g>>2]|0)+4|0;c[h>>2]=c[h>>2]&-2;ph(c[g>>2]|0);i=e;return}function vh(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[e>>2]=a;c[f>>2]=b;lu(1224)|0;c[g>>2]=(c[e>>2]|0)+(0-8);c[h>>2]=c[c[g>>2]>>2];if((c[f>>2]|0)>>>0<(c[h>>2]|0)>>>0){c[j>>2]=c[e>>2];mu(1224)|0;k=c[j>>2]|0;i=d;return k|0}c[j>>2]=mh(c[f>>2]|0)|0;if(!(c[j>>2]|0)){mu(1224)|0;k=c[j>>2]|0;i=d;return k|0}Dx(c[j>>2]|0,c[e>>2]|0,c[h>>2]|0)|0;Fx((c[j>>2]|0)+(c[h>>2]|0)|0,0,(c[f>>2]|0)-(c[h>>2]|0)|0)|0;uh(c[e>>2]|0);mu(1224)|0;k=c[j>>2]|0;i=d;return k|0}function wh(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(c[17685]|0)e=(oh(c[d>>2]|0)|0)!=0;else e=0;i=b;return e&1|0}function xh(){var b=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;b=i;i=i+96|0;e=b+76|0;f=b+72|0;g=b+83|0;h=b+24|0;j=b+68|0;k=b+64|0;l=b+60|0;m=b+82|0;n=b+16|0;o=b+56|0;p=b+52|0;q=b+48|0;r=b+81|0;s=b+8|0;t=b+44|0;u=b+40|0;v=b+36|0;w=b+80|0;x=b;y=b+32|0;if(!(c[17685]|0)){i=b;return}c[e>>2]=c[17687];c[f>>2]=c[17686];a[g>>0]=-1;z=h;c[z>>2]=d[g>>0];c[z+4>>2]=0;while(1){if(!((c[e>>2]&7|0)!=0?(c[f>>2]|0)!=0:0))break;a[c[e>>2]>>0]=a[g>>0]|0;c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+-1}if((c[f>>2]|0)>>>0>=8){z=h;A=Mx(c[z>>2]|0,c[z+4>>2]|0,16843009,16843009)|0;z=h;c[z>>2]=A;c[z+4>>2]=C;do{c[j>>2]=c[e>>2];z=h;A=c[z+4>>2]|0;B=c[j>>2]|0;c[B>>2]=c[z>>2];c[B+4>>2]=A;c[f>>2]=(c[f>>2]|0)-8;c[e>>2]=(c[e>>2]|0)+8}while((c[f>>2]|0)>>>0>=8)}while(1){if(!(c[f>>2]|0))break;a[c[e>>2]>>0]=a[g>>0]|0;c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+-1}c[k>>2]=c[17687];c[l>>2]=c[17686];a[m>>0]=-86;f=n;c[f>>2]=d[m>>0];c[f+4>>2]=0;while(1){if(!((c[k>>2]&7|0)!=0?(c[l>>2]|0)!=0:0))break;a[c[k>>2]>>0]=a[m>>0]|0;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+-1}if((c[l>>2]|0)>>>0>=8){f=n;e=Mx(c[f>>2]|0,c[f+4>>2]|0,16843009,16843009)|0;f=n;c[f>>2]=e;c[f+4>>2]=C;do{c[o>>2]=c[k>>2];f=n;e=c[f+4>>2]|0;g=c[o>>2]|0;c[g>>2]=c[f>>2];c[g+4>>2]=e;c[l>>2]=(c[l>>2]|0)-8;c[k>>2]=(c[k>>2]|0)+8}while((c[l>>2]|0)>>>0>=8)}while(1){if(!(c[l>>2]|0))break;a[c[k>>2]>>0]=a[m>>0]|0;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+-1}c[p>>2]=c[17687];c[q>>2]=c[17686];a[r>>0]=85;l=s;c[l>>2]=d[r>>0];c[l+4>>2]=0;while(1){if(!((c[p>>2]&7|0)!=0?(c[q>>2]|0)!=0:0))break;a[c[p>>2]>>0]=a[r>>0]|0;c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+-1}if((c[q>>2]|0)>>>0>=8){l=s;k=Mx(c[l>>2]|0,c[l+4>>2]|0,16843009,16843009)|0;l=s;c[l>>2]=k;c[l+4>>2]=C;do{c[t>>2]=c[p>>2];l=s;k=c[l+4>>2]|0;m=c[t>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=k;c[q>>2]=(c[q>>2]|0)-8;c[p>>2]=(c[p>>2]|0)+8}while((c[q>>2]|0)>>>0>=8)}while(1){if(!(c[q>>2]|0))break;a[c[p>>2]>>0]=a[r>>0]|0;c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+-1}c[u>>2]=c[17687];c[v>>2]=c[17686];a[w>>0]=0;q=x;c[q>>2]=d[w>>0];c[q+4>>2]=0;while(1){if(!((c[u>>2]&7|0)!=0?(c[v>>2]|0)!=0:0))break;a[c[u>>2]>>0]=a[w>>0]|0;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+-1}if((c[v>>2]|0)>>>0>=8){q=x;p=Mx(c[q>>2]|0,c[q+4>>2]|0,16843009,16843009)|0;q=x;c[q>>2]=p;c[q+4>>2]=C;do{c[y>>2]=c[u>>2];q=x;p=c[q+4>>2]|0;r=c[y>>2]|0;c[r>>2]=c[q>>2];c[r+4>>2]=p;c[v>>2]=(c[v>>2]|0)-8;c[u>>2]=(c[u>>2]|0)+8}while((c[v>>2]|0)>>>0>=8)}while(1){if(!(c[v>>2]|0))break;a[c[u>>2]>>0]=a[w>>0]|0;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+-1}if(c[17688]|0)ax(c[17687]|0,c[17686]|0)|0;c[17687]=0;c[17685]=0;c[17686]=0;c[17683]=0;i=b;return}function yh(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;b=a;lu(1224)|0;if(!(c[17685]|0)){mu(1224)|0;i=a;return}d=c[17686]|0;e=c[17690]|0;c[b>>2]=c[17689];c[b+4>>2]=d;c[b+8>>2]=e;yf(23423,b);mu(1224)|0;i=a;return}function zh(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+544|0;d=b+8|0;e=b;f=b+28|0;g=b+24|0;h=b+20|0;j=b+16|0;k=b+288|0;l=b+12|0;m=b+32|0;c[f>>2]=a;if(c[17691]|0){if(Ah()|0){Bh(5);Fh()}if(c[17691]|0)xf(23692,23698,114,23705)}c[17691]=1;do if(c[f>>2]|0){if(c[17692]|0)xf(23732,23698,121,23705)}else{if(!(Ew(23755,0)|0)){if(!(c[17692]|0))break;xf(23732,23698,132,23705)}c[h>>2]=qw(23780,23810)|0;if(!(c[h>>2]|0)){a=c[(Yu()|0)>>2]|0;c[j>>2]=a;if((a|0)!=2&(c[j>>2]|0)!=13?(Ew(23812,0)|0)==0:0){a=ov(c[j>>2]|0)|0;c[e>>2]=23780;c[e+4>>2]=a;yf(23826,e);gb()}}else{if((hw(k,256,c[h>>2]|0)|0)!=0?(gx(k)|0)!=0:0){vw(c[h>>2]|0)|0;if(!(c[17692]|0))break;xf(23732,23698,151,23705)}vw(c[h>>2]|0)|0}c[17692]=1}while(0);if(c[17692]|0){i=b;return}c[g>>2]=ku(1268)|0;if(c[g>>2]|0){c[d>>2]=fu(c[g>>2]|0)|0;yf(23870,d);gb()}c[l>>2]=qw(23755,23810)|0;if(c[l>>2]|0){if((hw(m,256,c[l>>2]|0)|0)!=0?(gx(m)|0)!=0:0)c[17694]=1;vw(c[l>>2]|0)|0}Bh(1);i=b;return}function Ah(){return ((c[17692]|0)!=0^1)&1|0}function Bh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+32|0;d=b;e=b+20|0;f=b+16|0;g=b+12|0;c[e>>2]=a;c[f>>2]=0;Ch();c[g>>2]=c[17693];switch(c[17693]|0){case 0:{if((c[e>>2]|0)==1|(c[e>>2]|0)==4|(c[e>>2]|0)==5)c[f>>2]=1;break}case 1:{if((c[e>>2]|0)==2|(c[e>>2]|0)==4|(c[e>>2]|0)==5)c[f>>2]=1;break}case 2:{if((c[e>>2]|0)==3|(c[e>>2]|0)==4|(c[e>>2]|0)==5)c[f>>2]=1;break}case 3:{if((c[e>>2]|0)==6|(c[e>>2]|0)==2|(c[e>>2]|0)==4|(c[e>>2]|0)==5)c[f>>2]=1;break}case 4:{if((c[e>>2]|0)==6|(c[e>>2]|0)==4|(c[e>>2]|0)==5|(c[e>>2]|0)==2)c[f>>2]=1;break}case 5:{if((c[e>>2]|0)==6)c[f>>2]=1;break}default:{}}if(c[f>>2]|0)c[17693]=c[e>>2];Dh();if(!((c[f>>2]|0)!=0?(tf(2)|0)==0:0)){a=Eh(c[g>>2]|0)|0;g=Eh(c[e>>2]|0)|0;e=(c[f>>2]|0)!=0?23637:23645;c[d>>2]=a;c[d+4>>2]=g;c[d+8>>2]=e;yf(23652,d)}if(c[f>>2]|0){i=b;return}else{Fh();i=b;return}}function Ch(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;c[d>>2]=lu(1268)|0;if(c[d>>2]|0){c[b>>2]=fu(c[d>>2]|0)|0;yf(23464,b);gb()}else{i=a;return}}function Dh(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;c[d>>2]=mu(1268)|0;if(c[d>>2]|0){c[b>>2]=fu(c[d>>2]|0)|0;yf(23519,b);gb()}else{i=a;return}}function Eh(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;switch(c[d>>2]|0){case 0:{c[e>>2]=23574;break}case 1:{c[e>>2]=23583;break}case 2:{c[e>>2]=23588;break}case 3:{c[e>>2]=23598;break}case 4:{c[e>>2]=23610;break}case 5:{c[e>>2]=23616;break}case 6:{c[e>>2]=23628;break}default:c[e>>2]=37933}i=b;return c[e>>2]|0}function Fh(){ww(0)|0;gb()}function Gh(){var a=0,b=0;a=i;i=i+16|0;b=a;if(Ah()|0)c[b>>2]=c[17694];else c[b>>2]=0;i=a;return c[b>>2]|0}function Hh(){c[17694]=1;return}function Ih(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(Ah()|0))xf(23925,23698,295,23944);if(Gh()|0){Jh(23698,300,23944,0,c[d>>2]|0);i=b;return}Ch();if(c[17695]|0){Dh();i=b;return}else{c[17695]=1;Dh();i=b;return}}function Jh(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;j=g+40|0;k=g+36|0;l=g+32|0;m=g+28|0;n=g+24|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;if(!(Ah()|0)){i=g;return}Bh((c[m>>2]|0)!=0?5:4);f=c[j>>2]|0;j=c[k>>2]|0;k=(c[l>>2]|0)!=0?23978:76527;e=(c[l>>2]|0)!=0?c[l>>2]|0:76527;l=(c[n>>2]|0)!=0?c[n>>2]|0:23990;c[h>>2]=(c[m>>2]|0)!=0?23971:76527;c[h+4>>2]=f;c[h+8>>2]=j;c[h+12>>2]=k;c[h+16>>2]=e;c[h+20>>2]=l;yf(24015,h);i=g;return}function Kh(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;b=a+4|0;d=a;if(Ah()|0){Ch();c[d>>2]=c[17695];Dh();c[b>>2]=c[d>>2];e=c[b>>2]|0;i=a;return e|0}else{c[b>>2]=0;e=c[b>>2]|0;i=a;return e|0}return 0}function Lh(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;if(!(Ah()|0)){c[b>>2]=1;d=c[b>>2]|0;i=a;return d|0}Ch();if((c[17693]|0)==1){Dh();Mh(0)|0;Ch()}c[b>>2]=(c[17693]|0)==3&1;Dh();d=c[b>>2]|0;i=a;return d|0}function Mh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=4;c[f>>2]=50;if(Ah()|0)Bh(2);if((((((Nh(c[d>>2]|0)|0)==0?(Ph(c[d>>2]|0)|0)==0:0)?(Qh(c[d>>2]|0)|0)==0:0)?(Rh()|0)==0:0)?(Sh(c[d>>2]|0)|0)==0:0)?(Th()|0)==0:0){c[e>>2]=3;c[f>>2]=0}if(!(Ah()|0)){g=c[f>>2]|0;i=b;return g|0}Bh(c[e>>2]|0);g=c[f>>2]|0;i=b;return g|0}function Nh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;c[g>>2]=0;c[e>>2]=0;while(1){if(!(c[1312+(c[e>>2]<<2)>>2]|0))break;c[f>>2]=si(c[1312+(c[e>>2]<<2)>>2]|0,c[d>>2]|0,1)|0;a=c[1312+(c[e>>2]<<2)>>2]|0;if(c[f>>2]|0)h=fu(c[f>>2]|0)|0;else h=0;Oh(38634,a,0,h);if(c[f>>2]|0)c[g>>2]=1;c[e>>2]=(c[e>>2]|0)+1}i=b;return c[g>>2]|0}function Oh(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;h=f+44|0;j=f+40|0;k=f+36|0;l=f+32|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if((c[l>>2]|0)==0?(tf(2)|0)==0:0){i=f;return}e=(gv(c[h>>2]|0,36319)|0)!=0;d=e?c[h>>2]|0:43169;e=(gv(c[h>>2]|0,36319)|0)!=0^1;b=e?24063:76527;do if(gv(c[h>>2]|0,38634)|0){if(!(gv(c[h>>2]|0,43169)|0)){m=tj(c[j>>2]|0)|0;break}if(!(gv(c[h>>2]|0,36319)|0)){m=tj(c[j>>2]|0)|0;break}if(gv(c[h>>2]|0,49836)|0)m=76527;else m=uk(c[j>>2]|0)|0}else m=Zh(c[j>>2]|0)|0;while(0);h=c[j>>2]|0;j=(c[l>>2]|0)!=0?c[l>>2]|0:24069;l=(c[k>>2]|0)!=0?24074:76527;e=(c[k>>2]|0)!=0?c[k>>2]|0:76527;a=(c[k>>2]|0)!=0?49890:76527;c[g>>2]=d;c[g+4>>2]=b;c[g+8>>2]=m;c[g+12>>2]=h;c[g+16>>2]=j;c[g+20>>2]=l;c[g+24>>2]=e;c[g+28>>2]=a;yf(24077,g);i=f;return}function Ph(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;c[g>>2]=0;c[e>>2]=0;while(1){if(!(c[1332+(c[e>>2]<<2)>>2]|0))break;c[f>>2]=Yj(c[1332+(c[e>>2]<<2)>>2]|0,c[d>>2]|0,1)|0;a=c[1332+(c[e>>2]<<2)>>2]|0;if(c[f>>2]|0)h=fu(c[f>>2]|0)|0;else h=0;Oh(43169,a,0,h);if(c[f>>2]|0)c[g>>2]=1;c[e>>2]=(c[e>>2]|0)+1}i=b;return c[g>>2]|0}function Qh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;c[g>>2]=0;c[e>>2]=0;while(1){if(!(c[1356+(c[e>>2]<<2)>>2]|0))break;c[f>>2]=fj(c[1356+(c[e>>2]<<2)>>2]|0,c[d>>2]|0,1)|0;a=c[1356+(c[e>>2]<<2)>>2]|0;if(c[f>>2]|0)h=fu(c[f>>2]|0)|0;else h=0;Oh(36319,a,0,h);if(c[f>>2]|0)c[g>>2]=1;c[e>>2]=(c[e>>2]|0)+1}i=b;return c[g>>2]|0}function Rh(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;c[b>>2]=Un(1)|0;if(c[b>>2]|0)d=fu(c[b>>2]|0)|0;else d=0;Oh(52600,0,0,d);i=a;return ((c[b>>2]|0)!=0^1^1)&1|0}function Sh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;c[g>>2]=0;c[e>>2]=0;while(1){if(!(c[1380+(c[e>>2]<<2)>>2]|0))break;c[f>>2]=Fk(c[1380+(c[e>>2]<<2)>>2]|0,c[d>>2]|0,1)|0;a=c[1380+(c[e>>2]<<2)>>2]|0;if(c[f>>2]|0)h=fu(c[f>>2]|0)|0;else h=0;Oh(49836,a,0,h);if(c[f>>2]|0)c[g>>2]=1;c[e>>2]=(c[e>>2]|0)+1}i=b;return c[g>>2]|0}function Th(){return 0}function Uh(){var a=0,b=0;a=i;i=i+16|0;b=a;if(Ah()|0){Ch();c[b>>2]=(c[17693]|0)==3&1;Dh()}else c[b>>2]=1;i=a;return c[b>>2]|0}function Vh(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;if(Ah()|0){Ch();c[b>>2]=((c[17693]|0)==3?1:(c[17693]|0)==4)&1;Dh();d=c[b>>2]|0;i=a;return d|0}else{c[b>>2]=1;d=c[b>>2]|0;i=a;return d|0}return 0}function Wh(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;f=i;i=i+32|0;g=f;h=f+20|0;j=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if((c[j>>2]|0)!=1){c[g>>2]=c[j>>2];Cf(24121,g)}if((c[k>>2]|0)>>>0<8)c[k>>2]=8;c[m>>2]=ag(1,8+(c[k>>2]|0)|0)|0;if(c[m>>2]|0){k=c[m>>2]|0;a[k>>0]=a[24167]|0;a[k+1>>0]=a[24168]|0;a[k+2>>0]=a[24169]|0;a[(c[m>>2]|0)+3>>0]=c[j>>2];c[(c[m>>2]|0)+4>>2]=c[l>>2];c[h>>2]=c[m>>2];n=c[h>>2]|0;i=f;return n|0}else{c[h>>2]=0;n=c[h>>2]|0;i=f;return n|0}return 0}function Xh(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;h=e+24|0;j=e+20|0;c[h>>2]=b;c[j>>2]=d;if(!(c[h>>2]|0)){k=c[h>>2]|0;c[g>>2]=k;Bf(24171,g)}if(mw(c[h>>2]|0,24167,3)|0){k=c[h>>2]|0;c[g>>2]=k;Bf(24171,g)}if((a[(c[h>>2]|0)+3>>0]|0)!=(c[j>>2]|0)){g=c[h>>2]|0;k=a[(c[h>>2]|0)+3>>0]|0;c[f>>2]=c[j>>2];c[f+4>>2]=g;c[f+8>>2]=k;Bf(24219,f)}else{i=e;return (c[h>>2]|0)+8|0}return 0}function Yh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d;g=d+12|0;c[g>>2]=b;if(!(c[g>>2]|0)){i=d;return}b=(mw(c[g>>2]|0,24167,3)|0)!=0;h=c[g>>2]|0;if(b){c[f>>2]=h;Bf(24276,f)}f=c[g>>2]|0;if((a[h+3>>0]|0)!=1){c[e>>2]=a[f+3>>0];Bf(24318,e)}if(c[f+4>>2]|0)xb[c[(c[g>>2]|0)+4>>2]&15]((c[g>>2]|0)+8|0);$f(c[g>>2]|0);i=d;return}function Zh(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=_h(c[d>>2]|0)|0;if(!(c[e>>2]|0)){f=37933;i=b;return f|0}f=c[(c[e>>2]|0)+8>>2]|0;i=b;return f|0}function _h(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[e>>2]=$h(c[e>>2]|0)|0;c[f>>2]=0;while(1){a=c[1392+(c[f>>2]<<2)>>2]|0;c[g>>2]=a;if(!a){h=6;break}if((c[e>>2]|0)==(c[c[g>>2]>>2]|0)){h=4;break}c[f>>2]=(c[f>>2]|0)+1}if((h|0)==4){c[d>>2]=c[g>>2];j=c[d>>2]|0;i=b;return j|0}else if((h|0)==6){c[d>>2]=0;j=c[d>>2]|0;i=b;return j|0}return 0}function $h(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;i=b;return c[d>>2]|0}function ai(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+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;m=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=0;if((c[j>>2]|0)>=65536)c[l>>2]=71;else c[l>>2]=bi(m,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[c[g>>2]>>2]=(c[l>>2]|0)!=0?0:c[m>>2]|0;i=f;return c[l>>2]|0}function bi(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;g=i;i=i+48|0;h=g+36|0;j=g+32|0;k=g+28|0;l=g+24|0;m=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;q=g+4|0;r=g;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[l>>2]&1;c[o>>2]=0;Sn();c[n>>2]=_h(c[j>>2]|0)|0;do if(c[n>>2]|0)if(a[(c[n>>2]|0)+4>>0]&1){c[p>>2]=12;break}else{c[p>>2]=0;break}else c[p>>2]=12;while(0);do if(!(c[p>>2]|0)){if((c[l>>2]&-16|0)==0?(c[l>>2]&0|0)==0:0)break;c[p>>2]=12}while(0);a:do if(!(c[p>>2]|0)){f=c[k>>2]|0;b:do if((f|0)<6)switch(f|0){case 5:case 2:case 3:case 1:{break b;break}case 4:{if((c[(c[n>>2]|0)+44>>2]|0)!=0?(c[(c[n>>2]|0)+48>>2]|0)!=0:0)break a;c[p>>2]=71;break a;break}case 0:{if((Ah()|0)==0?(jg(0)|0)!=0:0)break a;c[p>>2]=71;break a;break}default:{s=37;break b}}else{if((f|0)<9){switch(f|0){case 7:case 6:{break b;break}case 8:break;default:{s=37;break b}}if((c[(c[n>>2]|0)+20>>2]|0)!=16)c[p>>2]=71;if((c[(c[n>>2]|0)+36>>2]|0)!=0?(c[(c[n>>2]|0)+40>>2]|0)!=0:0)break a;c[p>>2]=71;break a}if((f|0)<11){switch(f|0){case 9:{break b;break}case 10:break;default:{s=37;break b}}if(((c[(c[n>>2]|0)+44>>2]|0)!=0?(c[(c[n>>2]|0)+48>>2]|0)!=0:0)?(c[(c[n>>2]|0)+60>>2]|0)!=0:0){if((c[c[n>>2]>>2]|0)==316)break a;c[p>>2]=71;break a}c[p>>2]=71;break a}if((f|0)>=65537)switch(f|0){case 65537:{break b;break}default:{s=37;break b}}switch(f|0){case 11:break;default:{s=37;break b}}if((c[(c[n>>2]|0)+36>>2]|0)!=0?(c[(c[n>>2]|0)+40>>2]|0)!=0:0){if((c[(c[n>>2]|0)+20>>2]|0)==16)break a;c[p>>2]=71;break a}c[p>>2]=71;break a}while(0);if((s|0)==37){c[p>>2]=71;break}if((c[(c[n>>2]|0)+36>>2]|0)!=0?(c[(c[n>>2]|0)+40>>2]|0)!=0:0)break;c[p>>2]=71}while(0);if(c[p>>2]|0){t=c[p>>2]|0;u=(t|0)!=0;v=c[o>>2]|0;w=u?0:v;x=c[h>>2]|0;c[x>>2]=w;y=c[p>>2]|0;z=ci(y)|0;i=g;return z|0}c[q>>2]=512+(c[(c[n>>2]|0)+28>>2]<<1)-16+15;s=c[q>>2]|0;if(c[m>>2]|0)c[o>>2]=bg(1,s)|0;else c[o>>2]=ag(1,s)|0;if(!(c[o>>2]|0)){c[p>>2]=iu()|0;t=c[p>>2]|0;u=(t|0)!=0;v=c[o>>2]|0;w=u?0:v;x=c[h>>2]|0;c[x>>2]=w;y=c[p>>2]|0;z=ci(y)|0;i=g;return z|0}c[r>>2]=0;if(c[o>>2]&15){c[r>>2]=16-(c[o>>2]&15);c[o>>2]=(c[o>>2]|0)+(c[r>>2]|0)}c[c[o>>2]>>2]=(c[m>>2]|0)!=0?1183944770:604576100;c[(c[o>>2]|0)+4>>2]=(c[q>>2]|0)-(c[r>>2]|0);c[(c[o>>2]|0)+8>>2]=c[r>>2];c[(c[o>>2]|0)+12>>2]=c[n>>2];c[(c[o>>2]|0)+16>>2]=c[j>>2];c[(c[o>>2]|0)+48>>2]=c[k>>2];c[(c[o>>2]|0)+52>>2]=c[l>>2];switch(c[j>>2]|0){case 9:case 8:case 7:{c[(c[o>>2]|0)+20>>2]=1;c[(c[o>>2]|0)+20+4>>2]=2;c[(c[o>>2]|0)+20+8>>2]=1;c[(c[o>>2]|0)+20+12>>2]=3;c[(c[o>>2]|0)+20+16>>2]=4;c[(c[o>>2]|0)+20+20>>2]=5;c[(c[o>>2]|0)+20+24>>2]=2;break}case 303:case 10:{c[(c[o>>2]|0)+20+12>>2]=6;c[(c[o>>2]|0)+20+4>>2]=7;c[(c[o>>2]|0)+20+16>>2]=8;break}default:{}}if((c[k>>2]|0)!=11){t=c[p>>2]|0;u=(t|0)!=0;v=c[o>>2]|0;w=u?0:v;x=c[h>>2]|0;c[x>>2]=w;y=c[p>>2]|0;z=ci(y)|0;i=g;return z|0}a[(c[o>>2]|0)+128+352>>0]=16;t=c[p>>2]|0;u=(t|0)!=0;v=c[o>>2]|0;w=u?0:v;x=c[h>>2]|0;c[x>>2]=w;y=c[p>>2]|0;z=ci(y)|0;i=g;return z|0}function ci(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=di(32,c[d>>2]|0)|0;i=b;return a|0}function di(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=ei(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function ei(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+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function fi(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+32|0;f=e+24|0;g=e+20|0;h=e+16|0;j=e+12|0;k=e+28|0;l=e;m=e+8|0;c[f>>2]=b;if(!(c[f>>2]|0)){i=e;return}if((c[c[f>>2]>>2]|0)!=1183944770?(c[c[f>>2]>>2]|0)!=604576100:0)qf(63,24367);c[c[f>>2]>>2]=0;c[g>>2]=c[(c[f>>2]|0)+8>>2];c[h>>2]=c[f>>2];c[j>>2]=c[(c[f>>2]|0)+4>>2];a[k>>0]=0;b=l;c[b>>2]=d[k>>0];c[b+4>>2]=0;while(1){if(!((c[h>>2]&7|0)!=0?(c[j>>2]|0)!=0:0))break;a[c[h>>2]>>0]=a[k>>0]|0;c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)>>>0>=8){b=l;n=Mx(c[b>>2]|0,c[b+4>>2]|0,16843009,16843009)|0;b=l;c[b>>2]=n;c[b+4>>2]=C;do{c[m>>2]=c[h>>2];b=l;n=c[b+4>>2]|0;o=c[m>>2]|0;c[o>>2]=c[b>>2];c[o+4>>2]=n;c[j>>2]=(c[j>>2]|0)-8;c[h>>2]=(c[h>>2]|0)+8}while((c[j>>2]|0)>>>0>=8)}while(1){if(!(c[j>>2]|0))break;a[c[h>>2]>>0]=a[k>>0]|0;c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+-1}$f((c[f>>2]|0)+(0-(c[g>>2]|0))|0);i=e;return}function gi(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;g=i;i=i+32|0;h=g+20|0;j=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;if(!(c[l>>2]|0)){c[l>>2]=c[j>>2];c[m>>2]=c[k>>2]}c[n>>2]=hi(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(!((c[n>>2]|0)!=0&(c[j>>2]|0)!=0)){o=c[n>>2]|0;i=g;return o|0}Fx(c[j>>2]|0,66,c[k>>2]|0)|0;o=c[n>>2]|0;i=g;return o|0}function hi(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;g=i;i=i+32|0;h=g;j=g+24|0;k=g+20|0;l=g+16|0;m=g+12|0;n=g+8|0;o=g+4|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;f=c[(c[j>>2]|0)+48>>2]|0;a:do if((f|0)>=6){if((f|0)<9)switch(f|0){case 6:{c[o>>2]=cr(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 7:{c[o>>2]=Jq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 8:{c[o>>2]=Uq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24462,h)}}if((f|0)<11)switch(f|0){case 9:{c[o>>2]=fr(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 10:{c[o>>2]=Tr(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24462,h)}}if((f|0)<65537)switch(f|0){case 11:{c[o>>2]=Kr(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24462,h)}}else switch(f|0){case 65537:{c[o>>2]=71;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24462,h)}}}else switch(f|0){case 1:{c[o>>2]=ii(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 3:{c[o>>2]=Mq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 2:{c[o>>2]=Wq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 5:{c[o>>2]=Or(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 4:{Fb[c[(c[(c[j>>2]|0)+12>>2]|0)+44>>2]&1]((c[j>>2]|0)+496|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0);c[o>>2]=0;break a;break}case 0:{if((Ah()|0)==0?(jg(0)|0)!=0:0){if((c[m>>2]|0)!=(c[k>>2]|0))Ex(c[k>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;c[o>>2]=0;break a}Jh(24416,875,24425,0,24440);c[o>>2]=71;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24462,h)}}while(0);i=g;return c[o>>2]|0}function ii(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;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=ji(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[(c[(c[h>>2]|0)+12>>2]|0)+36>>2]|0)|0;i=g;return f|0}function ji(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,s=0,t=0,u=0,v=0;h=i;i=i+48|0;j=h+44|0;k=h+40|0;l=h+36|0;m=h+32|0;n=h+28|0;o=h+24|0;p=h+20|0;q=h+16|0;r=h+12|0;s=h+8|0;t=h+4|0;u=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=c[(c[(c[k>>2]|0)+12>>2]|0)+20>>2];if((c[m>>2]|0)>>>0<(c[o>>2]|0)>>>0){c[j>>2]=200;v=c[j>>2]|0;i=h;return v|0}if(((c[o>>2]|0)>>>0)%((c[q>>2]|0)>>>0)|0){c[j>>2]=139;v=c[j>>2]|0;i=h;return v|0}c[s>>2]=((c[o>>2]|0)>>>0)/((c[q>>2]|0)>>>0)|0;c[t>>2]=0;c[r>>2]=0;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;c[u>>2]=vb[c[p>>2]&63]((c[k>>2]|0)+496|0,c[l>>2]|0,c[n>>2]|0)|0;c[t>>2]=(c[u>>2]|0)>>>0>(c[t>>2]|0)>>>0?c[u>>2]|0:c[t>>2]|0;c[n>>2]=(c[n>>2]|0)+(c[q>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[q>>2]|0);c[r>>2]=(c[r>>2]|0)+1}if((c[t>>2]|0)>>>0>0){If((c[t>>2]|0)+16|0);Jf()}c[j>>2]=0;v=c[j>>2]|0;i=h;return v|0}function ki(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;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;if(!(c[l>>2]|0)){c[l>>2]=c[j>>2];c[m>>2]=c[k>>2]}f=li(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;i=g;return f|0}function li(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;g=i;i=i+32|0;h=g;j=g+24|0;k=g+20|0;l=g+16|0;m=g+12|0;n=g+8|0;o=g+4|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;f=c[(c[j>>2]|0)+48>>2]|0;a:do if((f|0)>=6){if((f|0)<9)switch(f|0){case 6:{c[o>>2]=cr(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 7:{c[o>>2]=Lq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 8:{c[o>>2]=Vq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24510,h)}}if((f|0)<11)switch(f|0){case 9:{c[o>>2]=or(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 10:{c[o>>2]=Wr(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24510,h)}}if((f|0)<65537)switch(f|0){case 11:{c[o>>2]=Nr(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24510,h)}}else switch(f|0){case 65537:{c[o>>2]=71;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24510,h)}}}else switch(f|0){case 1:{c[o>>2]=mi(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 3:{c[o>>2]=Pq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 2:{c[o>>2]=Zq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 5:{c[o>>2]=Or(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 4:{Fb[c[(c[(c[j>>2]|0)+12>>2]|0)+48>>2]&1]((c[j>>2]|0)+496|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0);c[o>>2]=0;break a;break}case 0:{if((Ah()|0)==0?(jg(0)|0)!=0:0){if((c[m>>2]|0)!=(c[k>>2]|0))Ex(c[k>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;c[o>>2]=0;break a}Jh(24416,992,24495,0,24440);c[o>>2]=71;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24510,h)}}while(0);i=g;return c[o>>2]|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,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=ji(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[(c[(c[h>>2]|0)+12>>2]|0)+40>>2]|0)|0;i=g;return f|0}function ni(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=oi(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function oi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=vb[c[(c[(c[g>>2]|0)+12>>2]|0)+32>>2]&63]((c[g>>2]|0)+496|0,c[h>>2]|0,c[j>>2]|0)|0;j=c[g>>2]|0;a:do if(!(c[k>>2]|0)){Dx(j+496+(c[(c[(c[g>>2]|0)+12>>2]|0)+28>>2]|0)|0,(c[g>>2]|0)+496|0,c[(c[(c[g>>2]|0)+12>>2]|0)+28>>2]|0)|0;h=(c[g>>2]|0)+56|0;a[h>>0]=a[h>>0]&-2|1;h=c[(c[g>>2]|0)+48>>2]|0;if((h|0)<10){switch(h|0){case 9:break;default:break a}pr(c[g>>2]|0);break}if((h|0)<65537){switch(h|0){case 10:break;default:break a}Xr(c[g>>2]|0);break}else{switch(h|0){case 65537:break;default:break a}ar(c[g>>2]|0)|0;break}}else{h=j+56|0;a[h>>0]=a[h>>0]&-2}while(0);i=f;return c[k>>2]|0}function pi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=0;switch(c[(c[f>>2]|0)+48>>2]|0){case 8:{c[j>>2]=Rq(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;break}case 9:{c[j>>2]=gr(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;break}case 10:{c[j>>2]=Rr(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;break}case 11:{c[j>>2]=Gr(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;break}default:c[j>>2]=qi(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0}i=e;return c[j>>2]|0}function qi(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;f=i;i=i+32|0;g=f;h=f+20|0;j=f+16|0;k=f+12|0;l=f+8|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;e=c[j>>2]|0;if(c[(c[(c[j>>2]|0)+12>>2]|0)+60>>2]|0){Ab[c[(c[e+12>>2]|0)+60>>2]&7]((c[j>>2]|0)+496|0,c[k>>2]|0,c[l>>2]|0);c[h>>2]=0;m=c[h>>2]|0;i=f;return m|0}Fx(e+64|0,0,c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2]|0)|0;if(c[k>>2]|0){if((c[l>>2]|0)!=(c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2]|0)){e=c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2]|0;c[g>>2]=c[l>>2];c[g+4>>2]=e;yf(24543,g);Jh(24416,682,24586,0,24599)}if((c[l>>2]|0)>>>0>(c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2]|0)>>>0)c[l>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2];Dx((c[j>>2]|0)+64|0,c[k>>2]|0,c[l>>2]|0)|0;l=(c[j>>2]|0)+56|0;a[l>>0]=a[l>>0]&-3|2}else{l=(c[j>>2]|0)+56|0;a[l>>0]=a[l>>0]&-3}c[(c[j>>2]|0)+112>>2]=0;c[h>>2]=0;m=c[h>>2]|0;i=f;return m|0}function ri(){return 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,n=0,o=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;l=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=0;c[l>>2]=_h(c[g>>2]|0)|0;if(((c[l>>2]|0)!=0?(a[(c[l>>2]|0)+4>>0]&1|0)==0:0)?(c[(c[l>>2]|0)+52>>2]|0)!=0:0){c[k>>2]=vb[c[(c[l>>2]|0)+52>>2]&63](c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;m=c[k>>2]|0;n=ti(m)|0;i=f;return n|0}c[k>>2]=12;if(!(c[j>>2]|0)){m=c[k>>2]|0;n=ti(m)|0;i=f;return n|0}h=c[j>>2]|0;j=c[g>>2]|0;if((c[l>>2]|0)!=0?(a[(c[l>>2]|0)+4>>0]&1|0)==0:0)o=38004;else o=(c[l>>2]|0)!=0?37965:37984;Fb[h&1](38634,j,38026,o);m=c[k>>2]|0;n=ti(m)|0;i=f;return n|0}function ti(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ei(1,c[d>>2]|0)|0;i=b;return a|0}function ui(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+32|0;h=g+24|0;j=g+20|0;k=g+16|0;l=g+12|0;m=g+8|0;n=g+4|0;o=g;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[o>>2]=0;if(!(c[k>>2]|0)){c[n>>2]=0;while(1){if(!(c[1416+((c[n>>2]|0)*48|0)>>2]|0))break;if((c[j>>2]|0)==(c[1416+((c[n>>2]|0)*48|0)+4>>2]|0)?(c[1416+((c[n>>2]|0)*48|0)+12>>2]|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if(!(c[1416+((c[n>>2]|0)*48|0)>>2]|0))c[n>>2]=-1}else c[n>>2]=vi(c[k>>2]|0)|0;if((c[n>>2]|0)<0){c[h>>2]=188;p=c[h>>2]|0;i=g;return p|0}c[o>>2]=c[1416+((c[n>>2]|0)*48|0)>>2];if((Ah()|0)!=0?(a[1416+((c[n>>2]|0)*48|0)+8>>0]&1|0)==0:0){c[h>>2]=60;p=c[h>>2]|0;i=g;return p|0}if((c[1416+((c[n>>2]|0)*48|0)+12>>2]|0)>>>0>=3){c[h>>2]=59;p=c[h>>2]|0;i=g;return p|0}if(c[m>>2]|0)c[c[m>>2]>>2]=c[1416+((c[n>>2]|0)*48|0)+4>>2];if(c[l>>2]|0){c[c[l>>2]>>2]=c[1416+((c[n>>2]|0)*48|0)+12>>2];c[(c[l>>2]|0)+4>>2]=c[1416+((c[n>>2]|0)*48|0)+16>>2];if(!(c[(c[l>>2]|0)+8>>2]|0)){m=wi(c[1416+((c[n>>2]|0)*48|0)+20>>2]|0)|0;c[(c[l>>2]|0)+8>>2]=m}if(!(c[(c[l>>2]|0)+12>>2]|0)){m=wi(c[1416+((c[n>>2]|0)*48|0)+24>>2]|0)|0;c[(c[l>>2]|0)+12>>2]=m}if(!(c[(c[l>>2]|0)+16>>2]|0)){m=wi(c[1416+((c[n>>2]|0)*48|0)+28>>2]|0)|0;c[(c[l>>2]|0)+16>>2]=m}if(!(c[(c[l>>2]|0)+32>>2]|0)){m=wi(c[1416+((c[n>>2]|0)*48|0)+32>>2]|0)|0;c[(c[l>>2]|0)+32>>2]=m}if(!(c[(c[l>>2]|0)+36>>2]|0)){m=wi(c[1416+((c[n>>2]|0)*48|0)+44>>2]|0)|0;c[(c[l>>2]|0)+36>>2]=m}if(!(c[(c[l>>2]|0)+20>>2]|0)){m=wi(c[1416+((c[n>>2]|0)*48|0)+36>>2]|0)|0;c[(c[l>>2]|0)+20>>2]=m}if(!(c[(c[l>>2]|0)+20+4>>2]|0)){m=wi(c[1416+((c[n>>2]|0)*48|0)+40>>2]|0)|0;c[(c[l>>2]|0)+20+4>>2]=m}if(!(c[(c[l>>2]|0)+20+8>>2]|0)){m=_p(1)|0;c[(c[l>>2]|0)+20+8>>2]=m}if(!(c[(c[l>>2]|0)+40>>2]|0))c[(c[l>>2]|0)+40>>2]=c[o>>2]}c[h>>2]=0;p=c[h>>2]|0;i=g;return p|0}function vi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[f>>2]=0;while(1){if(!(c[1416+((c[f>>2]|0)*48|0)>>2]|0))break;a=(gv(c[e>>2]|0,c[1416+((c[f>>2]|0)*48|0)>>2]|0)|0)!=0;h=c[f>>2]|0;if(!a){j=4;break}c[f>>2]=h+1}if((j|0)==4){c[d>>2]=h;k=c[d>>2]|0;i=b;return k|0}a:do if(!(c[1416+((c[f>>2]|0)*48|0)>>2]|0)){c[g>>2]=0;while(1){if(!(c[2472+(c[g>>2]<<3)>>2]|0))break;if(!(gv(c[e>>2]|0,c[2472+(c[g>>2]<<3)+4>>2]|0)|0))break;c[g>>2]=(c[g>>2]|0)+1}if(c[2472+(c[g>>2]<<3)>>2]|0){c[f>>2]=0;while(1){if(!(c[1416+((c[f>>2]|0)*48|0)>>2]|0))break a;h=(gv(c[2472+(c[g>>2]<<3)>>2]|0,c[1416+((c[f>>2]|0)*48|0)>>2]|0)|0)!=0;l=c[f>>2]|0;if(!h)break;c[f>>2]=l+1}c[d>>2]=l;k=c[d>>2]|0;i=b;return k|0}}while(0);c[d>>2]=-1;k=c[d>>2]|0;i=b;return k|0}function wi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b;e=b+12|0;f=b+8|0;g=b+4|0;c[e>>2]=a;c[f>>2]=Dp(g,4,c[e>>2]|0,0,0)|0;if(c[f>>2]|0){c[d>>2]=fu(c[f>>2]|0)|0;Bf(35818,d)}else{i=b;return c[g>>2]|0}return 0}function xi(a,b,d,e,f,g,h,j,k){a=a|0;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;l=i;i=i+64|0;m=l+48|0;n=l+44|0;o=l+40|0;p=l+36|0;q=l+32|0;r=l+28|0;s=l+24|0;t=l+20|0;u=l+16|0;v=l+12|0;w=l+8|0;x=l+4|0;y=l;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[w>>2]=vi(c[n>>2]|0)|0;if((c[w>>2]|0)<0){c[m>>2]=188;z=c[m>>2]|0;i=l;return z|0}do if(c[t>>2]|0){c[y>>2]=4;n=Kv((c[1416+((c[w>>2]|0)*48|0)+36>>2]|0)+2|0)|0;c[y>>2]=(c[y>>2]|0)+n;n=Kv((c[1416+((c[w>>2]|0)*48|0)+40>>2]|0)+2|0)|0;c[y>>2]=(c[y>>2]|0)+n;c[y>>2]=(c[y>>2]|0)+1;c[x>>2]=Vf(c[y>>2]|0)|0;if(c[x>>2]|0){n=Xv(c[x>>2]|0,35557)|0;k=Xv(n,(c[1416+((c[w>>2]|0)*48|0)+36>>2]|0)+2|0)|0;Wv(k,(c[1416+((c[w>>2]|0)*48|0)+40>>2]|0)+2|0)|0;xq(c[c[t>>2]>>2]|0);k=wi(c[x>>2]|0)|0;c[c[t>>2]>>2]=k;$f(c[x>>2]|0);break}c[m>>2]=iu()|0;z=c[m>>2]|0;i=l;return z|0}while(0);if(c[o>>2]|0)c[c[o>>2]>>2]=c[1416+((c[w>>2]|0)*48|0)+12>>2];if(c[p>>2]|0)c[c[p>>2]>>2]=c[1416+((c[w>>2]|0)*48|0)+16>>2];if(c[q>>2]|0){xq(c[c[q>>2]>>2]|0);p=wi(c[1416+((c[w>>2]|0)*48|0)+20>>2]|0)|0;c[c[q>>2]>>2]=p}if(c[r>>2]|0){xq(c[c[r>>2]>>2]|0);p=wi(c[1416+((c[w>>2]|0)*48|0)+24>>2]|0)|0;c[c[r>>2]>>2]=p}if(c[s>>2]|0){xq(c[c[s>>2]>>2]|0);p=wi(c[1416+((c[w>>2]|0)*48|0)+28>>2]|0)|0;c[c[s>>2]>>2]=p}if(c[u>>2]|0){xq(c[c[u>>2]>>2]|0);p=wi(c[1416+((c[w>>2]|0)*48|0)+32>>2]|0)|0;c[c[u>>2]>>2]=p}if(c[v>>2]|0){xq(c[c[v>>2]>>2]|0);p=wi(c[1416+((c[w>>2]|0)*48|0)+44>>2]|0)|0;c[c[v>>2]>>2]=p}c[m>>2]=0;z=c[m>>2]|0;i=l;return z|0}function yi(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;e=i;i=i+128|0;f=e;g=e+112|0;h=e+108|0;j=e+104|0;k=e+100|0;l=e+96|0;m=e+92|0;n=e+48|0;o=e+44|0;p=e+40|0;q=e+36|0;r=e+32|0;s=e+28|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=0;c[o>>2]=0;c[p>>2]=0;d=n;b=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));if(c[k>>2]|0)c[c[k>>2]>>2]=0;if(!(c[h>>2]|0)){c[q>>2]=c[j>>2];if((c[q>>2]|0)>=0&(c[q>>2]|0)>>>0<22?(c[m>>2]=c[1416+((c[q>>2]|0)*48|0)>>2],(c[k>>2]|0)!=0):0)c[c[k>>2]>>2]=c[1416+((c[q>>2]|0)*48|0)+4>>2];c[g>>2]=c[m>>2];t=c[g>>2]|0;i=e;return t|0}j=c[h>>2]|0;c[f>>2]=n+8;c[f+4>>2]=n+12;c[f+8>>2]=n+16;c[f+12>>2]=o;c[f+16>>2]=n+32;c[f+20>>2]=n+36;c[f+24>>2]=0;c[l>>2]=zi(Rg(j,0,35562,f)|0)|0;a:do if((c[l>>2]|0)==68){c[r>>2]=xg(c[h>>2]|0,47161,5)|0;if((c[r>>2]|0)!=0?(c[s>>2]=Eg(c[r>>2]|0,1)|0,vg(c[r>>2]|0),(c[s>>2]|0)!=0):0){c[q>>2]=vi(c[s>>2]|0)|0;$f(c[s>>2]|0);if((c[q>>2]|0)>=0?(c[m>>2]=c[1416+((c[q>>2]|0)*48|0)>>2],(c[k>>2]|0)!=0):0)c[c[k>>2]>>2]=c[1416+((c[q>>2]|0)*48|0)+4>>2];c[g>>2]=c[m>>2];t=c[g>>2]|0;i=e;return t|0}}else if(!(c[l>>2]|0)){if((c[o>>2]|0)!=0?(co(n+20|0),(dj(n+20|0,c[o>>2]|0)|0)!=0):0)break;c[q>>2]=0;while(1){if(!(c[1416+((c[q>>2]|0)*48|0)>>2]|0))break a;hq(c[p>>2]|0);c[p>>2]=wi(c[1416+((c[q>>2]|0)*48|0)+20>>2]|0)|0;if(((((((ap(c[p>>2]|0,c[n+8>>2]|0)|0)==0?(hq(c[p>>2]|0),c[p>>2]=wi(c[1416+((c[q>>2]|0)*48|0)+24>>2]|0)|0,(ap(c[p>>2]|0,c[n+12>>2]|0)|0)==0):0)?(hq(c[p>>2]|0),c[p>>2]=wi(c[1416+((c[q>>2]|0)*48|0)+28>>2]|0)|0,(ap(c[p>>2]|0,c[n+16>>2]|0)|0)==0):0)?(hq(c[p>>2]|0),c[p>>2]=wi(c[1416+((c[q>>2]|0)*48|0)+32>>2]|0)|0,(ap(c[p>>2]|0,c[n+32>>2]|0)|0)==0):0)?(hq(c[p>>2]|0),c[p>>2]=wi(c[1416+((c[q>>2]|0)*48|0)+44>>2]|0)|0,(ap(c[p>>2]|0,c[n+36>>2]|0)|0)==0):0)?(hq(c[p>>2]|0),c[p>>2]=wi(c[1416+((c[q>>2]|0)*48|0)+36>>2]|0)|0,(ap(c[p>>2]|0,c[n+20>>2]|0)|0)==0):0)?(hq(c[p>>2]|0),c[p>>2]=wi(c[1416+((c[q>>2]|0)*48|0)+40>>2]|0)|0,(ap(c[p>>2]|0,c[n+20+4>>2]|0)|0)==0):0)break;c[q>>2]=(c[q>>2]|0)+1}c[m>>2]=c[1416+((c[q>>2]|0)*48|0)>>2];if(c[k>>2]|0)c[c[k>>2]>>2]=c[1416+((c[q>>2]|0)*48|0)+4>>2]}while(0);xq(c[p>>2]|0);xq(c[n+8>>2]|0);xq(c[n+12>>2]|0);xq(c[n+16>>2]|0);xq(c[o>>2]|0);fo(n+20|0);xq(c[n+32>>2]|0);xq(c[n+36>>2]|0);c[g>>2]=c[m>>2];t=c[g>>2]|0;i=e;return t|0}function zi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;i=b;return c[d>>2]&65535|0}function Ai(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;e=i;i=i+80|0;f=e+76|0;g=e+72|0;h=e+68|0;j=e+64|0;k=e+60|0;l=e+56|0;m=e+52|0;n=e+48|0;o=e+44|0;p=e+40|0;q=e+36|0;r=e+32|0;s=e+28|0;t=e+24|0;u=e+20|0;v=e+16|0;w=e+12|0;x=e+8|0;y=e+4|0;z=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=0;c[l>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[c[f>>2]>>2]=0;do if(c[g>>2]|0){c[w>>2]=xg(c[g>>2]|0,47167,0)|0;if((c[w>>2]|0)!=0?(c[j>>2]=jk(c[w>>2]|0,v,0)|0,vg(c[w>>2]|0),c[w>>2]=0,(c[j>>2]|0)!=0):0)break;c[w>>2]=xg(c[g>>2]|0,47161,5)|0;if((c[w>>2]|0)!=0?(c[v>>2]&512|0)==0:0){A=13;break}c[j>>2]=Bi(n,c[g>>2]|0,48644)|0;if((((((c[j>>2]|0)==0?(c[j>>2]=Bi(o,c[g>>2]|0,39370)|0,(c[j>>2]|0)==0):0)?(c[j>>2]=Bi(p,c[g>>2]|0,35570)|0,(c[j>>2]|0)==0):0)?(c[j>>2]=Ci(q,c[g>>2]|0,35572,0)|0,(c[j>>2]|0)==0):0)?(c[j>>2]=Bi(r,c[g>>2]|0,39374)|0,(c[j>>2]|0)==0):0)?(c[j>>2]=Bi(s,c[g>>2]|0,35583)|0,(c[j>>2]|0)==0):0)A=13}else{c[w>>2]=0;A=13}while(0);do if((A|0)==13){if((c[w>>2]|0)!=0|(c[h>>2]|0)!=0){if(c[w>>2]|0){c[x>>2]=Eg(c[w>>2]|0,1)|0;vg(c[w>>2]|0);if(!(c[x>>2]|0)){c[j>>2]=65;break}}else c[x>>2]=0;c[y>>2]=ag(1,44)|0;if(!(c[y>>2]|0)){c[j>>2]=iu()|0;$f(c[x>>2]|0);break}c[j>>2]=ui(0,(c[x>>2]|0)!=0?c[x>>2]|0:c[h>>2]|0,c[y>>2]|0,0)|0;$f(c[x>>2]|0);d=c[y>>2]|0;if(c[j>>2]|0){$f(d);break}c[l>>2]=c[d>>2];c[m>>2]=c[(c[y>>2]|0)+4>>2];if(!(c[n>>2]|0)){c[n>>2]=c[(c[y>>2]|0)+8>>2];c[(c[y>>2]|0)+8>>2]=0}if(!(c[o>>2]|0)){c[o>>2]=c[(c[y>>2]|0)+12>>2];c[(c[y>>2]|0)+12>>2]=0}if(!(c[p>>2]|0)){c[p>>2]=c[(c[y>>2]|0)+16>>2];c[(c[y>>2]|0)+16>>2]=0}if(!(c[q>>2]|0)){c[q>>2]=ho(0,c[(c[y>>2]|0)+20>>2]|0,c[(c[y>>2]|0)+20+4>>2]|0,c[(c[y>>2]|0)+20+8>>2]|0)|0;c[(c[y>>2]|0)+20>>2]=0;c[(c[y>>2]|0)+20+4>>2]=0;c[(c[y>>2]|0)+20+8>>2]=0}if(!(c[r>>2]|0)){c[r>>2]=c[(c[y>>2]|0)+32>>2];c[(c[y>>2]|0)+32>>2]=0}if(!(c[s>>2]|0)){c[s>>2]=c[(c[y>>2]|0)+36>>2];c[(c[y>>2]|0)+36>>2]=0}Yi(c[y>>2]|0);$f(c[y>>2]|0)}c[j>>2]=lo(k,c[l>>2]|0,c[m>>2]|0,c[v>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;if(!(c[j>>2]|0)){c[z>>2]=Xh(c[k>>2]|0,1)|0;if(c[p>>2]|0){hq(c[(c[z>>2]|0)+24>>2]|0);c[(c[z>>2]|0)+24>>2]=c[p>>2];c[p>>2]=0}if(c[q>>2]|0){c[(c[z>>2]|0)+28>>2]=c[q>>2];c[q>>2]=0}if(c[r>>2]|0){c[(c[z>>2]|0)+32>>2]=c[r>>2];c[r>>2]=0}if(c[s>>2]|0){c[(c[z>>2]|0)+36>>2]=c[s>>2];c[s>>2]=0}if(c[g>>2]|0){c[j>>2]=Ci(t,c[g>>2]|0,49872,c[z>>2]|0)|0;if(c[j>>2]|0)break;c[j>>2]=Bi(u,c[g>>2]|0,35585)|0;if(c[j>>2]|0)break}if(c[t>>2]|0){c[(c[z>>2]|0)+40>>2]=c[t>>2];c[t>>2]=0}if(c[u>>2]|0){c[(c[z>>2]|0)+44>>2]=c[u>>2];c[u>>2]=0}c[c[f>>2]>>2]=c[k>>2];c[k>>2]=0}}while(0);Yh(c[k>>2]|0);hq(c[n>>2]|0);hq(c[o>>2]|0);hq(c[p>>2]|0);eo(c[q>>2]|0);hq(c[r>>2]|0);hq(c[s>>2]|0);eo(c[t>>2]|0);hq(c[u>>2]|0);i=e;return c[j>>2]|0}function Bi(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+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=0;c[k>>2]=xg(c[g>>2]|0,c[h>>2]|0,0)|0;if(!(c[k>>2]|0)){l=c[j>>2]|0;i=e;return l|0}h=Fg(c[k>>2]|0,1,5)|0;c[c[f>>2]>>2]=h;vg(c[k>>2]|0);if(c[c[f>>2]>>2]|0){l=c[j>>2]|0;i=e;return l|0}c[j>>2]=65;l=c[j>>2]|0;i=e;return l|0}function Ci(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;f=i;i=i+64|0;g=f+48|0;h=f+44|0;j=f+40|0;k=f+36|0;l=f+32|0;m=f+28|0;n=f+24|0;o=f+20|0;p=f+16|0;q=f+12|0;r=f+8|0;s=f+4|0;t=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[n>>2]=xg(c[j>>2]|0,c[k>>2]|0,0)|0;if(c[n>>2]|0){c[p>>2]=Fg(c[n>>2]|0,1,8)|0;vg(c[n>>2]|0);if(!(c[p>>2]|0)){c[g>>2]=65;u=c[g>>2]|0;i=f;return u|0}c[o>>2]=bo(0)|0;if((c[l>>2]|0)!=0?(c[(c[l>>2]|0)+4>>2]|0)==1:0)c[m>>2]=Ni(c[p>>2]|0,c[l>>2]|0,c[o>>2]|0,0,0)|0;else c[m>>2]=dj(c[o>>2]|0,c[p>>2]|0)|0;hq(c[p>>2]|0);if(c[m>>2]|0){eo(c[o>>2]|0);c[o>>2]=0;c[g>>2]=c[m>>2];u=c[g>>2]|0;i=f;return u|0}}else{c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[q>>2]=Vf((Kv(c[k>>2]|0)|0)+2+1|0)|0;if(!(c[q>>2]|0)){c[g>>2]=iu()|0;u=c[g>>2]|0;i=f;return u|0}Wv(Xv(c[q>>2]|0,c[k>>2]|0)|0,35574)|0;c[m>>2]=Bi(r,c[j>>2]|0,c[q>>2]|0)|0;p=c[q>>2]|0;if(c[m>>2]|0){$f(p);c[g>>2]=c[m>>2];u=c[g>>2]|0;i=f;return u|0}Wv(Xv(p,c[k>>2]|0)|0,35577)|0;c[m>>2]=Bi(s,c[j>>2]|0,c[q>>2]|0)|0;if(c[m>>2]|0){hq(c[r>>2]|0);$f(c[q>>2]|0);c[g>>2]=c[m>>2];u=c[g>>2]|0;i=f;return u|0}Wv(Xv(c[q>>2]|0,c[k>>2]|0)|0,35580)|0;c[m>>2]=Bi(t,c[j>>2]|0,c[q>>2]|0)|0;if(c[m>>2]|0){hq(c[s>>2]|0);hq(c[r>>2]|0);$f(c[q>>2]|0);c[g>>2]=c[m>>2];u=c[g>>2]|0;i=f;return u|0}if(!(c[t>>2]|0))c[t>>2]=sq(0,1)|0;m=c[r>>2]|0;if((c[r>>2]|0)!=0&(c[s>>2]|0)!=0)c[o>>2]=ho(0,m,c[s>>2]|0,c[t>>2]|0)|0;else{hq(m);hq(c[s>>2]|0);hq(c[t>>2]|0);c[o>>2]=0}$f(c[q>>2]|0)}if(c[o>>2]|0)c[c[h>>2]>>2]=c[o>>2];c[g>>2]=0;u=c[g>>2]|0;i=f;return u|0}function Di(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,o=0,p=0,q=0,r=0;b=i;i=i+144|0;d=b+8|0;e=b;f=b+132|0;g=b+128|0;h=b+124|0;j=b+80|0;k=b+76|0;l=b+72|0;m=b+68|0;n=b+40|0;o=b+36|0;p=b+32|0;c[g>>2]=a;a=j;q=a+44|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(q|0));if(ui(0,c[g>>2]|0,j,h)|0){c[f>>2]=0;r=c[f>>2]|0;i=b;return r|0}c[l>>2]=vq(0)|0;c[m>>2]=vq(0)|0;c[k>>2]=jo(0,0,0,c[j+8>>2]|0,c[j+12>>2]|0,0)|0;if(Zn(c[l>>2]|0,c[m>>2]|0,j+20|0,c[k>>2]|0)|0)Bf(35587,e);no(c[k>>2]|0);fo(j+20|0);c[n>>2]=c[j+8>>2];c[n+4>>2]=c[j+12>>2];c[n+8>>2]=c[j+16>>2];c[n+12>>2]=bj(c[l>>2]|0,c[m>>2]|0,c[j+8>>2]|0)|0;c[n+16>>2]=c[j+32>>2];c[n+20>>2]=c[j+36>>2];c[n+24>>2]=0;hq(c[l>>2]|0);hq(c[m>>2]|0);m=c[n+4>>2]|0;l=c[n+8>>2]|0;j=c[n+12>>2]|0;k=c[n+16>>2]|0;e=c[n+20>>2]|0;c[d>>2]=c[n>>2];c[d+4>>2]=m;c[d+8>>2]=l;c[d+12>>2]=j;c[d+16>>2]=k;c[d+20>>2]=e;if(Ig(o,0,35636,d)|0)c[o>>2]=0;c[p>>2]=0;while(1){if(!(c[n+(c[p>>2]<<2)>>2]|0))break;xq(c[n+(c[p>>2]<<2)>>2]|0);c[p>>2]=(c[p>>2]|0)+1}c[f>>2]=c[o>>2];r=c[f>>2]|0;i=b;return r|0}function Ei(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;f=i;i=i+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;m=f;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(a[c[h>>2]>>0]|0)){c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}if((gv(c[h>>2]|0,48644)|0)==0?(c[(c[j>>2]|0)+16>>2]|0)!=0:0){if((c[(c[j>>2]|0)+16>>2]|0)!=0?!((c[k>>2]|0)!=0?1:(c[(c[(c[j>>2]|0)+16>>2]|0)+12>>2]&32|0)==0):0)o=c[(c[j>>2]|0)+16>>2]|0;else o=mq(c[(c[j>>2]|0)+16>>2]|0)|0;c[g>>2]=o;n=c[g>>2]|0;i=f;return n|0}if((gv(c[h>>2]|0,39370)|0)==0?(c[(c[j>>2]|0)+20>>2]|0)!=0:0){if((c[(c[j>>2]|0)+20>>2]|0)!=0?!((c[k>>2]|0)!=0?1:(c[(c[(c[j>>2]|0)+20>>2]|0)+12>>2]&32|0)==0):0)p=c[(c[j>>2]|0)+20>>2]|0;else p=mq(c[(c[j>>2]|0)+20>>2]|0)|0;c[g>>2]=p;n=c[g>>2]|0;i=f;return n|0}if((gv(c[h>>2]|0,35570)|0)==0?(c[(c[j>>2]|0)+24>>2]|0)!=0:0){if((c[(c[j>>2]|0)+24>>2]|0)!=0?!((c[k>>2]|0)!=0?1:(c[(c[(c[j>>2]|0)+24>>2]|0)+12>>2]&32|0)==0):0)q=c[(c[j>>2]|0)+24>>2]|0;else q=mq(c[(c[j>>2]|0)+24>>2]|0)|0;c[g>>2]=q;n=c[g>>2]|0;i=f;return n|0}if((gv(c[h>>2]|0,39374)|0)==0?(c[(c[j>>2]|0)+32>>2]|0)!=0:0){if((c[(c[j>>2]|0)+32>>2]|0)!=0?!((c[k>>2]|0)!=0?1:(c[(c[(c[j>>2]|0)+32>>2]|0)+12>>2]&32|0)==0):0)r=c[(c[j>>2]|0)+32>>2]|0;else r=mq(c[(c[j>>2]|0)+32>>2]|0)|0;c[g>>2]=r;n=c[g>>2]|0;i=f;return n|0}if((gv(c[h>>2]|0,35583)|0)==0?(c[(c[j>>2]|0)+36>>2]|0)!=0:0){if((c[(c[j>>2]|0)+36>>2]|0)!=0?!((c[k>>2]|0)!=0?1:(c[(c[(c[j>>2]|0)+36>>2]|0)+12>>2]&32|0)==0):0)s=c[(c[j>>2]|0)+36>>2]|0;else s=mq(c[(c[j>>2]|0)+36>>2]|0)|0;c[g>>2]=s;n=c[g>>2]|0;i=f;return n|0}if((gv(c[h>>2]|0,35585)|0)==0?(c[(c[j>>2]|0)+44>>2]|0)!=0:0){if((c[(c[j>>2]|0)+44>>2]|0)!=0?!((c[k>>2]|0)!=0?1:(c[(c[(c[j>>2]|0)+44>>2]|0)+12>>2]&32|0)==0):0)t=c[(c[j>>2]|0)+44>>2]|0;else t=mq(c[(c[j>>2]|0)+44>>2]|0)|0;c[g>>2]=t;n=c[g>>2]|0;i=f;return n|0}if(((gv(c[h>>2]|0,35684)|0)==0?(c[(c[j>>2]|0)+28>>2]|0)!=0:0)?(c[c[(c[j>>2]|0)+28>>2]>>2]|0)!=0:0){if((c[c[(c[j>>2]|0)+28>>2]>>2]|0)!=0?!((c[k>>2]|0)!=0?1:(c[(c[c[(c[j>>2]|0)+28>>2]>>2]|0)+12>>2]&32|0)==0):0)u=c[c[(c[j>>2]|0)+28>>2]>>2]|0;else u=mq(c[c[(c[j>>2]|0)+28>>2]>>2]|0)|0;c[g>>2]=u;n=c[g>>2]|0;i=f;return n|0}if(((gv(c[h>>2]|0,35688)|0)==0?(c[(c[j>>2]|0)+28>>2]|0)!=0:0)?(c[(c[(c[j>>2]|0)+28>>2]|0)+4>>2]|0)!=0:0){if((c[(c[(c[j>>2]|0)+28>>2]|0)+4>>2]|0)!=0?!((c[k>>2]|0)!=0?1:(c[(c[(c[(c[j>>2]|0)+28>>2]|0)+4>>2]|0)+12>>2]&32|0)==0):0)v=c[(c[(c[j>>2]|0)+28>>2]|0)+4>>2]|0;else v=mq(c[(c[(c[j>>2]|0)+28>>2]|0)+4>>2]|0)|0;c[g>>2]=v;n=c[g>>2]|0;i=f;return n|0}if(((gv(c[h>>2]|0,35692)|0)==0?(c[(c[j>>2]|0)+40>>2]|0)!=0:0)?(c[c[(c[j>>2]|0)+40>>2]>>2]|0)!=0:0){if((c[c[(c[j>>2]|0)+40>>2]>>2]|0)!=0?!((c[k>>2]|0)!=0?1:(c[(c[c[(c[j>>2]|0)+40>>2]>>2]|0)+12>>2]&32|0)==0):0)w=c[c[(c[j>>2]|0)+40>>2]>>2]|0;else w=mq(c[c[(c[j>>2]|0)+40>>2]>>2]|0)|0;c[g>>2]=w;n=c[g>>2]|0;i=f;return n|0}if(((gv(c[h>>2]|0,35696)|0)==0?(c[(c[j>>2]|0)+40>>2]|0)!=0:0)?(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)!=0:0){if((c[(c[(c[j>>2]|0)+28>>2]|0)+4>>2]|0)!=0?!((c[k>>2]|0)!=0?1:(c[(c[(c[(c[j>>2]|0)+28>>2]|0)+4>>2]|0)+12>>2]&32|0)==0):0)x=c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0;else x=mq(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)|0;c[g>>2]=x;n=c[g>>2]|0;i=f;return n|0}if((gv(c[h>>2]|0,35572)|0)==0?(c[(c[j>>2]|0)+28>>2]|0)!=0:0){c[g>>2]=cj(c[(c[j>>2]|0)+28>>2]|0,c[j>>2]|0)|0;n=c[g>>2]|0;i=f;return n|0}do if((a[c[h>>2]>>0]|0)==113){if((a[(c[h>>2]|0)+1>>0]|0)!=0?(a[(c[h>>2]|0)+1>>0]|0)!=64:0)break;if(!(c[(c[j>>2]|0)+40>>2]|0)){x=ej(0,c[j>>2]|0,0,0)|0;c[(c[j>>2]|0)+40>>2]=x}if(!(c[(c[j>>2]|0)+40>>2]|0)){c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}if((a[(c[h>>2]|0)+1>>0]|0)!=64){c[g>>2]=cj(c[(c[j>>2]|0)+40>>2]|0,c[j>>2]|0)|0;n=c[g>>2]|0;i=f;return n|0}if((gv((c[h>>2]|0)+2|0,47127)|0)==0?(c[c[j>>2]>>2]|0)==2:0){if(Ii(c[(c[j>>2]|0)+40>>2]|0,c[j>>2]|0,0,0,0,l,m)|0)break;c[g>>2]=iq(0,c[l>>2]|0,c[m>>2]<<3)|0;n=c[g>>2]|0;i=f;return n|0}}while(0);c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}function Fi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;if((gv(c[f>>2]|0,35572)|0)==0?(c[(c[g>>2]|0)+28>>2]|0)!=0:0){c[e>>2]=Gi(c[(c[g>>2]|0)+28>>2]|0)|0;h=c[e>>2]|0;i=d;return h|0}if(!(gv(c[f>>2]|0,49872)|0)){if(!(c[(c[g>>2]|0)+40>>2]|0)){f=ej(0,c[g>>2]|0,0,0)|0;c[(c[g>>2]|0)+40>>2]=f}if(c[(c[g>>2]|0)+40>>2]|0){c[e>>2]=Gi(c[(c[g>>2]|0)+40>>2]|0)|0;h=c[e>>2]|0;i=d;return h|0}}c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}function Gi(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;if(c[d>>2]|0){c[e>>2]=bo(0)|0;Hi(c[e>>2]|0,c[d>>2]|0);f=c[e>>2]|0;i=b;return f|0}else{c[e>>2]=0;f=c[e>>2]|0;i=b;return f|0}return 0}function Hi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;oq(c[c[e>>2]>>2]|0,c[c[f>>2]>>2]|0)|0;oq(c[(c[e>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;oq(c[(c[e>>2]|0)+8>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0;i=d;return}function Ii(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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;j=i;i=i+48|0;k=j+40|0;l=j+36|0;m=j+32|0;n=j+28|0;o=j+24|0;p=j+20|0;q=j+16|0;r=j+12|0;s=j+8|0;t=j+4|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;if(c[m>>2]|0)u=c[m>>2]|0;else u=vq(0)|0;c[s>>2]=u;if(c[n>>2]|0)v=c[n>>2]|0;else v=vq(0)|0;c[t>>2]=v;if(Zn(c[s>>2]|0,c[t>>2]|0,c[k>>2]|0,c[l>>2]|0)|0){Af(35700,j);c[r>>2]=63}else c[r>>2]=Ji(c[s>>2]|0,c[t>>2]|0,((c[(c[l>>2]|0)+12>>2]|0)>>>0)/8|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;if(!(c[m>>2]|0))hq(c[s>>2]|0);if(c[n>>2]|0){w=c[r>>2]|0;i=j;return w|0}hq(c[t>>2]|0);w=c[r>>2]|0;i=j;return w|0}function Ji(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;k=i;i=i+48|0;l=k+36|0;m=k+32|0;n=k+28|0;o=k+24|0;p=k+20|0;q=k+16|0;r=k+12|0;s=k+8|0;t=k+4|0;u=k;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[u>>2]=(c[p>>2]|0)!=0?1:0;c[s>>2]=Bp(c[n>>2]|0,c[o>>2]|0,(c[u>>2]|0)!=0?-1:0,t,0)|0;if(!(c[s>>2]|0)){c[l>>2]=iu()|0;v=c[l>>2]|0;i=k;return v|0}o=(So(c[m>>2]|0,0)|0)!=0;if(o&(c[t>>2]|0)!=0){o=(c[s>>2]|0)+((c[u>>2]|0)+(c[t>>2]|0)-1)|0;a[o>>0]=d[o>>0]|0|128}if(c[u>>2]|0)a[c[s>>2]>>0]=64;c[c[q>>2]>>2]=c[s>>2];c[c[r>>2]>>2]=(c[t>>2]|0)+(c[u>>2]|0);c[l>>2]=0;v=c[l>>2]|0;i=k;return v|0}function Ki(a,b){a=a|0;b=b|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+32|0;h=e+28|0;j=e+24|0;k=e+20|0;l=e+16|0;m=e+12|0;n=e+8|0;o=e+4|0;p=e;c[g>>2]=a;c[h>>2]=b;if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+12>>2]&4|0)!=0:0){c[k>>2]=kq(c[g>>2]|0,l)|0;if(!(c[k>>2]|0)){c[f>>2]=65;q=c[f>>2]|0;i=e;return q|0}c[l>>2]=(((c[l>>2]|0)+7|0)>>>0)/8|0;do if((c[l>>2]|0)>>>0>1?(((c[l>>2]|0)>>>0)%2|0|0)!=0:0){b=c[k>>2]|0;if((d[c[k>>2]>>0]|0|0)!=4){if((d[b>>0]|0|0)!=64)break;if(jq(c[g>>2]|0,(c[k>>2]|0)+1|0,(c[l>>2]|0)-1<<3)|0)break;c[f>>2]=iu()|0;q=c[f>>2]|0;i=e;return q|0}c[j>>2]=Dp(m,1,b+1|0,(((c[l>>2]|0)-1|0)>>>0)/2|0,0)|0;if(c[j>>2]|0){c[f>>2]=c[j>>2];q=c[f>>2]|0;i=e;return q|0}c[j>>2]=Dp(n,1,(c[k>>2]|0)+1+((((c[l>>2]|0)-1|0)>>>0)/2|0)|0,(((c[l>>2]|0)-1|0)>>>0)/2|0,0)|0;b=c[m>>2]|0;if(c[j>>2]|0){hq(b);c[f>>2]=c[j>>2];q=c[f>>2]|0;i=e;return q|0}c[j>>2]=Ji(b,c[n>>2]|0,((c[h>>2]|0)>>>0)/8|0,0,o,p)|0;hq(c[m>>2]|0);hq(c[n>>2]|0);if(!(c[j>>2]|0)){iq(c[g>>2]|0,c[o>>2]|0,c[p>>2]<<3)|0;break}c[f>>2]=c[j>>2];q=c[f>>2]|0;i=e;return q|0}while(0);c[f>>2]=0;q=c[f>>2]|0;i=e;return q|0}c[f>>2]=65;q=c[f>>2]|0;i=e;return q|0}function Li(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+48|0;g=f+36|0;h=f+32|0;j=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+8|0;p=f+4|0;q=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=0;if((c[(c[l>>2]|0)+4>>2]|0)!=1){c[g>>2]=69;r=c[g>>2]|0;i=f;return r|0}if(!(c[17696]|0))c[17696]=Mi(35753)|0;if(!(c[17697]|0))c[17697]=sq(0,7)|0;c[n>>2]=vq(0)|0;c[o>>2]=vq(0)|0;c[p>>2]=vq(0)|0;c[q>>2]=vq(0)|0;vp(c[n>>2]|0,c[j>>2]|0,c[j>>2]|0,c[(c[l>>2]|0)+16>>2]|0);vp(c[o>>2]|0,c[(c[l>>2]|0)+24>>2]|0,c[n>>2]|0,c[(c[l>>2]|0)+16>>2]|0);Mo(c[n>>2]|0,c[n>>2]|0,1);Ko(c[o>>2]|0,c[o>>2]|0,1);j=c[p>>2]|0;e=c[o>>2]|0;d=Aq(3)|0;wp(j,e,d,c[(c[l>>2]|0)+16>>2]|0);wp(c[q>>2]|0,c[o>>2]|0,c[17697]|0,c[(c[l>>2]|0)+16>>2]|0);vp(c[q>>2]|0,c[q>>2]|0,c[n>>2]|0,c[(c[l>>2]|0)+16>>2]|0);wp(c[q>>2]|0,c[q>>2]|0,c[17696]|0,c[(c[l>>2]|0)+16>>2]|0);vp(c[q>>2]|0,c[q>>2]|0,c[n>>2]|0,c[(c[l>>2]|0)+16>>2]|0);vp(c[h>>2]|0,c[q>>2]|0,c[p>>2]|0,c[(c[l>>2]|0)+16>>2]|0);vp(c[q>>2]|0,c[h>>2]|0,c[h>>2]|0,c[(c[l>>2]|0)+16>>2]|0);vp(c[q>>2]|0,c[q>>2]|0,c[o>>2]|0,c[(c[l>>2]|0)+16>>2]|0);nq(c[q>>2]|0,c[q>>2]|0);if(!(ap(c[q>>2]|0,c[n>>2]|0)|0)){if(!(c[17698]|0))c[17698]=Mi(35853)|0;vp(c[h>>2]|0,c[h>>2]|0,c[17698]|0,c[(c[l>>2]|0)+16>>2]|0);vp(c[q>>2]|0,c[h>>2]|0,c[h>>2]|0,c[(c[l>>2]|0)+16>>2]|0);vp(c[q>>2]|0,c[q>>2]|0,c[o>>2]|0,c[(c[l>>2]|0)+16>>2]|0);nq(c[q>>2]|0,c[q>>2]|0);if(!(ap(c[q>>2]|0,c[n>>2]|0)|0))c[m>>2]=65}d=So(c[h>>2]|0,0)|0;if((d|0)!=(((c[k>>2]|0)!=0^1^1)&1|0))No(c[h>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[h>>2]|0);hq(c[q>>2]|0);hq(c[p>>2]|0);hq(c[o>>2]|0);hq(c[n>>2]|0);c[g>>2]=c[m>>2];r=c[g>>2]|0;i=f;return r|0}function Mi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b;e=b+12|0;f=b+8|0;g=b+4|0;c[e>>2]=a;c[f>>2]=Dp(g,4,c[e>>2]|0,0,0)|0;if(c[f>>2]|0){c[d>>2]=fu(c[f>>2]|0)|0;Bf(35818,d)}else{i=b;return c[g>>2]|0}return 0}function Ni(b,e,f,g,h){b=b|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;j=i;i=i+64|0;k=j+48|0;l=j+44|0;m=j+40|0;n=j+36|0;o=j+32|0;p=j+28|0;q=j+24|0;r=j+20|0;s=j+16|0;t=j+12|0;u=j+8|0;v=j+4|0;w=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;do if((c[l>>2]|0)!=0?(c[(c[l>>2]|0)+12>>2]&4|0)!=0:0){c[u>>2]=kq(c[l>>2]|0,s)|0;if(!(c[u>>2]|0)){c[k>>2]=65;x=c[k>>2]|0;i=j;return x|0}c[s>>2]=(((c[s>>2]|0)+7|0)>>>0)/8|0;do if((c[s>>2]|0)>>>0>1?(((c[s>>2]|0)>>>0)%2|0|0)!=0:0){h=c[u>>2]|0;if((d[c[u>>2]>>0]|0|0)!=4){if((d[h>>0]|0|0)!=64)break;c[s>>2]=(c[s>>2]|0)+-1;c[u>>2]=(c[u>>2]|0)+1;break}c[q>>2]=Dp(v,1,h+1|0,(((c[s>>2]|0)-1|0)>>>0)/2|0,0)|0;if(c[q>>2]|0){c[k>>2]=c[q>>2];x=c[k>>2]|0;i=j;return x|0}c[q>>2]=Dp(w,1,(c[u>>2]|0)+1+((((c[s>>2]|0)-1|0)>>>0)/2|0)|0,(((c[s>>2]|0)-1|0)>>>0)/2|0,0)|0;if(c[q>>2]|0){hq(c[v>>2]|0);c[k>>2]=c[q>>2];x=c[k>>2]|0;i=j;return x|0}if((c[o>>2]|0)!=0?(c[q>>2]=Ji(c[v>>2]|0,c[w>>2]|0,((c[(c[m>>2]|0)+12>>2]|0)>>>0)/8|0,0,c[o>>2]|0,c[p>>2]|0)|0,(c[q>>2]|0)!=0):0){hq(c[v>>2]|0);hq(c[w>>2]|0);c[k>>2]=c[q>>2];x=c[k>>2]|0;i=j;return x|0}qq(c[c[n>>2]>>2]|0,c[v>>2]|0);qq(c[(c[n>>2]|0)+4>>2]|0,c[w>>2]|0);sq(c[(c[n>>2]|0)+8>>2]|0,1)|0;c[k>>2]=0;x=c[k>>2]|0;i=j;return x|0}while(0);c[r>>2]=Vf((c[s>>2]|0)!=0?c[s>>2]|0:1)|0;if(c[r>>2]|0){Dx(c[r>>2]|0,c[u>>2]|0,c[s>>2]|0)|0;Oi(c[r>>2]|0,c[s>>2]|0);break}c[k>>2]=iu()|0;x=c[k>>2]|0;i=j;return x|0}else y=21;while(0);if((y|0)==21?(c[r>>2]=zp(c[l>>2]|0,((c[(c[m>>2]|0)+12>>2]|0)>>>0)/8|0,s,0)|0,(c[r>>2]|0)==0):0){c[k>>2]=iu()|0;x=c[k>>2]|0;i=j;return x|0}if(c[s>>2]|0){c[t>>2]=(((d[c[r>>2]>>0]|0)&128|0)!=0^1^1)&1;l=c[r>>2]|0;a[l>>0]=(d[l>>0]|0)&127}else c[t>>2]=0;Cp(c[(c[n>>2]|0)+4>>2]|0,c[r>>2]|0,c[s>>2]|0,0);if(c[o>>2]|0){if((c[t>>2]|0)!=0&(c[s>>2]|0)!=0){l=c[r>>2]|0;a[l>>0]=d[l>>0]|0|128}Oi(c[r>>2]|0,c[s>>2]|0);c[c[o>>2]>>2]=c[r>>2];if(c[p>>2]|0)c[c[p>>2]>>2]=c[s>>2]}else $f(c[r>>2]|0);c[q>>2]=Li(c[c[n>>2]>>2]|0,c[(c[n>>2]|0)+4>>2]|0,c[t>>2]|0,c[m>>2]|0)|0;sq(c[(c[n>>2]|0)+8>>2]|0,1)|0;c[k>>2]=c[q>>2];x=c[k>>2]|0;i=j;return x|0}function Oi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;while(1){if((c[k>>2]|0)>>>0>=(((c[h>>2]|0)>>>0)/2|0)>>>0)break;c[j>>2]=d[(c[g>>2]|0)+(c[k>>2]|0)>>0];a[(c[g>>2]|0)+(c[k>>2]|0)>>0]=a[(c[g>>2]|0)+((c[h>>2]|0)-1-(c[k>>2]|0))>>0]|0;a[(c[g>>2]|0)+((c[h>>2]|0)-1-(c[k>>2]|0))>>0]=c[j>>2];c[k>>2]=(c[k>>2]|0)+1}i=f;return}function Pi(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;g=i;i=i+80|0;h=g+68|0;j=g+64|0;k=g+60|0;l=g+56|0;m=g+52|0;n=g+48|0;o=g+44|0;p=g+40|0;q=g+8|0;r=g+4|0;s=g;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[n>>2]=0;c[c[j>>2]>>2]=0;c[r>>2]=10;if((c[r>>2]|0)!=10){c[h>>2]=5;t=c[h>>2]|0;i=g;return t|0}c[s>>2]=(((c[(c[l>>2]|0)+12>>2]|0)+7|0)>>>0)/8|0;if((c[s>>2]|0)!=32){c[h>>2]=63;t=c[h>>2]|0;i=g;return t|0}c[p>>2]=bg(2,c[s>>2]|0)|0;if(!(c[p>>2]|0)){c[h>>2]=iu()|0;t=c[h>>2]|0;i=g;return t|0};c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;c[n>>2]=zp(c[k>>2]|0,0,o,0)|0;k=c[p>>2]|0;if(!(c[n>>2]|0)){$f(k);c[h>>2]=iu()|0;t=c[h>>2]|0;i=g;return t|0}c[q+12>>2]=k;c[q+4>>2]=0;if((c[s>>2]|0)>>>0>(c[o>>2]|0)>>>0)u=(c[s>>2]|0)-(c[o>>2]|0)|0;else u=0;c[q+8>>2]=u;c[q+16+12>>2]=c[n>>2];c[q+16+4>>2]=0;c[q+16+8>>2]=c[o>>2];c[m>>2]=Sj(c[r>>2]|0,0,c[p>>2]|0,q,2)|0;$f(c[n>>2]|0);n=c[p>>2]|0;if(c[m>>2]|0){$f(n);c[h>>2]=c[m>>2];t=c[h>>2]|0;i=g;return t|0}else{Oi(n,32);a[c[p>>2]>>0]=(d[c[p>>2]>>0]|0)&127|64;n=(c[p>>2]|0)+31|0;a[n>>0]=(d[n>>0]|0)&248;c[c[j>>2]>>2]=c[p>>2];c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}return 0}function Qi(b,e,f,g){b=b|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;h=i;i=i+96|0;j=h+80|0;k=h+76|0;l=h+72|0;m=h+68|0;n=h+64|0;o=h+60|0;p=h+56|0;q=h+52|0;r=h+48|0;s=h+36|0;t=h+32|0;u=h+28|0;v=h+24|0;w=h+8|0;x=h;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=32;c[x>>2]=0;co(s);c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;if(c[m>>2]&32)c[t>>2]=1;else c[t>>2]=2;c[p>>2]=wq(0)|0;c[q>>2]=vq(0)|0;c[r>>2]=vq(0)|0;c[x>>2]=Yf(c[o>>2]<<1)|0;if(!(c[x>>2]|0)){c[n>>2]=Ri()|0;fo(s);y=c[p>>2]|0;xq(y);z=c[q>>2]|0;xq(z);A=c[r>>2]|0;xq(A);B=c[x>>2]|0;$f(B);C=c[n>>2]|0;i=h;return C|0}c[v>>2]=c[o>>2];c[u>>2]=On(c[v>>2]|0,c[t>>2]|0)|0;c[w+12>>2]=c[u>>2];c[w+8>>2]=c[v>>2];c[n>>2]=Sj(10,0,c[x>>2]|0,w,1)|0;if(c[n>>2]|0){fo(s);y=c[p>>2]|0;xq(y);z=c[q>>2]|0;xq(z);A=c[r>>2]|0;xq(A);B=c[x>>2]|0;$f(B);C=c[n>>2]|0;i=h;return C|0}w=iq(0,c[u>>2]|0,c[v>>2]<<3)|0;c[(c[j>>2]|0)+56>>2]=w;c[u>>2]=0;Oi(c[x>>2]|0,32);a[c[x>>2]>>0]=(d[c[x>>2]>>0]|0)&127|64;u=(c[x>>2]|0)+31|0;a[u>>0]=(d[u>>0]|0)&248;Cp(c[p>>2]|0,c[x>>2]|0,32,0);$f(c[x>>2]|0);c[x>>2]=0;Go(s,c[p>>2]|0,(c[k>>2]|0)+20|0,c[l>>2]|0);if(jg(1)|0)Yn(35918,s,c[l>>2]|0);c[c[j>>2]>>2]=c[c[k>>2]>>2];c[(c[j>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];l=mq(c[(c[k>>2]|0)+8>>2]|0)|0;c[(c[j>>2]|0)+8>>2]=l;l=mq(c[(c[k>>2]|0)+12>>2]|0)|0;c[(c[j>>2]|0)+12>>2]=l;l=mq(c[(c[k>>2]|0)+16>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=l;co((c[j>>2]|0)+20|0);Ui((c[j>>2]|0)+20|0,(c[k>>2]|0)+20|0);l=mq(c[(c[k>>2]|0)+32>>2]|0)|0;c[(c[j>>2]|0)+32>>2]=l;l=mq(c[(c[k>>2]|0)+36>>2]|0)|0;c[(c[j>>2]|0)+36>>2]=l;co((c[j>>2]|0)+44|0);Ui((c[j>>2]|0)+44|0,s);fo(s);y=c[p>>2]|0;xq(y);z=c[q>>2]|0;xq(z);A=c[r>>2]|0;xq(A);B=c[x>>2]|0;$f(B);C=c[n>>2]|0;i=h;return C|0}function Ri(){return Si(iu()|0)|0}function Si(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ti(1,c[d>>2]|0)|0;i=b;return a|0}function Ti(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+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function Ui(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;oq(c[c[e>>2]>>2]|0,c[c[f>>2]>>2]|0)|0;oq(c[(c[e>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;oq(c[(c[e>>2]|0)+8>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0;i=d;return}function Vi(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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;h=i;i=i+160|0;j=h+156|0;k=h+152|0;l=h+148|0;m=h+144|0;n=h+140|0;o=h+136|0;p=h+132|0;q=h+128|0;r=h+124|0;s=h+120|0;t=h+116|0;u=h+112|0;v=h+64|0;w=h+60|0;x=h+56|0;y=h+52|0;z=h+48|0;A=h+44|0;B=h+40|0;C=h+28|0;D=h+16|0;E=h+12|0;F=h+8|0;G=h+4|0;H=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[r>>2]=0;c[y>>2]=0;c[A>>2]=0;g=v;f=g+48|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));if((c[k>>2]|0)!=0?(c[(c[k>>2]|0)+12>>2]&4|0)!=0:0){co(C);co(D);c[E>>2]=wq(0)|0;c[F>>2]=vq(0)|0;c[G>>2]=vq(0)|0;c[H>>2]=vq(0)|0;c[r>>2]=jo(c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+4>>2]|0,0,c[(c[l>>2]|0)+8>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[(c[l>>2]|0)+16>>2]|0)|0;c[s>>2]=(((c[(c[r>>2]|0)+12>>2]|0)+7|0)>>>0)/8|0;if((c[s>>2]|0)!=32){c[j>>2]=63;I=c[j>>2]|0;i=h;return I|0}c[q>>2]=Pi(u,c[(c[l>>2]|0)+56>>2]|0,c[r>>2]|0)|0;do if(!(c[q>>2]|0)){Cp(c[E>>2]|0,c[u>>2]|0,32,0);if(c[p>>2]|0){c[q>>2]=Ni(c[p>>2]|0,c[r>>2]|0,D,A,B)|0;if(c[q>>2]|0)break;if(jg(1)|0)Ff(35932,c[A>>2]|0,c[B>>2]|0);if(!(Io(D,c[r>>2]|0)|0)){c[q>>2]=195;break}}else{Go(D,c[E>>2]|0,(c[l>>2]|0)+20|0,c[r>>2]|0);c[q>>2]=Ii(D,c[r>>2]|0,c[F>>2]|0,c[G>>2]|0,0,A,B)|0;if(c[q>>2]|0)break;if(jg(1)|0)Ff(35939,c[A>>2]|0,c[B>>2]|0)}c[w>>2]=kq(c[k>>2]|0,t)|0;c[x>>2]=(((c[t>>2]|0)+7|0)>>>0)/8|0;if(jg(1)|0)Ff(35946,c[w>>2]|0,c[x>>2]|0);c[v+12>>2]=c[u>>2];c[v+4>>2]=32;c[v+8>>2]=32;c[v+16+12>>2]=c[w>>2];c[v+16+8>>2]=c[x>>2];c[q>>2]=Sj(c[o>>2]|0,0,c[u>>2]|0,v,2)|0;if(!(c[q>>2]|0)){Oi(c[u>>2]|0,64);if(jg(1)|0)Ff(53367,c[u>>2]|0,64);Cp(c[H>>2]|0,c[u>>2]|0,64,0);Go(C,c[H>>2]|0,(c[l>>2]|0)+20|0,c[r>>2]|0);if(jg(1)|0)Yn(35953,C,c[r>>2]|0);c[q>>2]=Ii(C,c[r>>2]|0,c[F>>2]|0,c[G>>2]|0,0,y,z)|0;if(!(c[q>>2]|0)){if(jg(1)|0)Ff(35958,c[y>>2]|0,c[z>>2]|0);c[v+12>>2]=c[y>>2];c[v+4>>2]=0;c[v+8>>2]=c[z>>2];c[v+16+12>>2]=c[A>>2];c[v+16+4>>2]=0;c[v+16+8>>2]=c[B>>2];c[v+32+12>>2]=c[w>>2];c[v+32+4>>2]=0;c[v+32+8>>2]=c[x>>2];c[q>>2]=Sj(c[o>>2]|0,0,c[u>>2]|0,v,3)|0;if(!(c[q>>2]|0)){iq(c[m>>2]|0,c[y>>2]|0,c[z>>2]<<3)|0;c[y>>2]=0;Oi(c[u>>2]|0,64);if(jg(1)|0)Ff(35965,c[u>>2]|0,64);Cp(c[n>>2]|0,c[u>>2]|0,64,0);vp(c[n>>2]|0,c[n>>2]|0,c[E>>2]|0,c[(c[l>>2]|0)+32>>2]|0);Oo(c[n>>2]|0,c[n>>2]|0,c[H>>2]|0,c[(c[l>>2]|0)+32>>2]|0);c[q>>2]=Wi(c[n>>2]|0,c[s>>2]|0,y,z)|0;if(!(c[q>>2]|0)){if(jg(1)|0)Ff(35972,c[y>>2]|0,c[z>>2]|0);iq(c[n>>2]|0,c[y>>2]|0,c[z>>2]<<3)|0;c[y>>2]=0;c[q>>2]=0}}}}}while(0);xq(c[E>>2]|0);xq(c[F>>2]|0);xq(c[G>>2]|0);xq(c[H>>2]|0);$f(c[u>>2]|0);no(c[r>>2]|0);fo(C);fo(D);$f(c[A>>2]|0);$f(c[y>>2]|0);c[j>>2]=c[q>>2];I=c[j>>2]|0;i=h;return I|0}c[j>>2]=79;I=c[j>>2]|0;i=h;return I|0}function Wi(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+32|0;g=f+24|0;h=f+20|0;j=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;n=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=zp(c[h>>2]|0,c[j>>2]|0,n,0)|0;if(c[m>>2]|0){c[c[k>>2]>>2]=c[m>>2];c[c[l>>2]>>2]=c[n>>2];c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}else{c[g>>2]=iu()|0;o=c[g>>2]|0;i=f;return o|0}return 0}function Xi(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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;h=i;i=i+240|0;j=h+172|0;k=h+168|0;l=h+164|0;m=h+160|0;n=h+156|0;o=h+152|0;p=h+148|0;q=h+144|0;r=h+140|0;s=h+136|0;t=h+132|0;u=h+120|0;v=h+116|0;w=h+112|0;x=h+108|0;y=h+104|0;z=h+100|0;A=h+96|0;B=h+92|0;C=h+88|0;D=h+176|0;E=h+40|0;F=h+36|0;G=h+32|0;H=h+20|0;I=h+8|0;J=h+4|0;K=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[r>>2]=0;c[v>>2]=0;c[z>>2]=0;if((((c[k>>2]|0)!=0?((c[m>>2]|0)!=0?(c[(c[k>>2]|0)+12>>2]&4|0)!=0:0):0)?((c[n>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]&4|0)!=0:0):0)?(c[(c[n>>2]|0)+12>>2]&4|0)!=0:0){if((c[o>>2]|0)!=10){c[j>>2]=5;L=c[j>>2]|0;i=h;return L|0}co(u);co(H);co(I);c[F>>2]=vq(0)|0;c[G>>2]=vq(0)|0;c[r>>2]=jo(c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+4>>2]|0,0,c[(c[l>>2]|0)+8>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[(c[l>>2]|0)+16>>2]|0)|0;c[s>>2]=((c[(c[r>>2]|0)+12>>2]|0)>>>0)/8|0;if((c[s>>2]|0)!=32){c[j>>2]=63;L=c[j>>2]|0;i=h;return L|0}c[q>>2]=Ni(c[p>>2]|0,c[r>>2]|0,u,v,w)|0;a:do if(!(c[q>>2]|0)){if(!(Io(u,c[r>>2]|0)|0)){c[q>>2]=195;break}if(jg(1)|0)Ff(35939,c[v>>2]|0,c[w>>2]|0);if((c[w>>2]|0)!=(c[s>>2]|0)){c[q>>2]=139;break}c[x>>2]=kq(c[k>>2]|0,t)|0;c[A>>2]=(((c[t>>2]|0)+7|0)>>>0)/8|0;if(jg(1)|0)Ff(35946,c[x>>2]|0,c[A>>2]|0);c[y>>2]=kq(c[m>>2]|0,t)|0;c[B>>2]=(((c[t>>2]|0)+7|0)>>>0)/8|0;if(jg(1)|0)Ff(53367,c[y>>2]|0,c[B>>2]|0);if((c[B>>2]|0)!=(c[s>>2]|0)){c[q>>2]=139;break}c[E+12>>2]=c[y>>2];c[E+4>>2]=0;c[E+8>>2]=c[B>>2];c[E+16+12>>2]=c[v>>2];c[E+16+4>>2]=0;c[E+16+8>>2]=c[w>>2];c[E+32+12>>2]=c[x>>2];c[E+32+4>>2]=0;c[E+32+8>>2]=c[A>>2];c[q>>2]=Sj(c[o>>2]|0,0,D,E,3)|0;if(!(c[q>>2]|0)){Oi(D,64);if(jg(1)|0)Ff(35965,D,64);Cp(c[F>>2]|0,D,64,0);c[J>>2]=lq(c[n>>2]|0,t)|0;c[K>>2]=(((c[t>>2]|0)+7|0)>>>0)/8|0;Oi(c[J>>2]|0,c[K>>2]|0);if(jg(1)|0)Ff(53374,c[J>>2]|0,c[K>>2]|0);Cp(c[G>>2]|0,c[J>>2]|0,c[K>>2]|0,0);$f(c[J>>2]|0);if((c[K>>2]|0)!=(c[s>>2]|0)){c[q>>2]=139;break}Go(H,c[G>>2]|0,(c[l>>2]|0)+20|0,c[r>>2]|0);Go(I,c[F>>2]|0,u,c[r>>2]|0);nq(c[I>>2]|0,c[I>>2]|0);Ao(H,H,I,c[r>>2]|0);c[q>>2]=Ii(H,c[r>>2]|0,c[G>>2]|0,c[F>>2]|0,0,z,C)|0;if(!(c[q>>2]|0)){do if((c[C>>2]|0)==(c[B>>2]|0)){if(mw(c[z>>2]|0,c[y>>2]|0,c[C>>2]|0)|0)break;c[q>>2]=0;break a}while(0);c[q>>2]=8}}}while(0);$f(c[v>>2]|0);$f(c[z>>2]|0);no(c[r>>2]|0);xq(c[G>>2]|0);xq(c[F>>2]|0);fo(H);fo(I);fo(u);c[j>>2]=c[q>>2];L=c[j>>2]|0;i=h;return L|0}c[j>>2]=79;L=c[j>>2]|0;i=h;return L|0}function Yi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;hq(c[(c[d>>2]|0)+8>>2]|0);c[(c[d>>2]|0)+8>>2]=0;hq(c[(c[d>>2]|0)+12>>2]|0);c[(c[d>>2]|0)+12>>2]=0;hq(c[(c[d>>2]|0)+16>>2]|0);c[(c[d>>2]|0)+16>>2]=0;fo((c[d>>2]|0)+20|0);hq(c[(c[d>>2]|0)+32>>2]|0);c[(c[d>>2]|0)+32>>2]=0;hq(c[(c[d>>2]|0)+36>>2]|0);c[(c[d>>2]|0)+36>>2]=0;i=b;return}function Zi(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+48|0;e=d;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+40>>2]=c[b+40>>2];c[e+8>>2]=mq(c[b+8>>2]|0)|0;c[e+12>>2]=mq(c[b+12>>2]|0)|0;c[e+16>>2]=mq(c[b+16>>2]|0)|0;co(e+20|0);_i(e+20|0,b+20|0);c[e+32>>2]=mq(c[b+32>>2]|0)|0;c[e+36>>2]=mq(c[b+36>>2]|0)|0;b=a;a=e;e=b+44|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(e|0));i=d;return}function _i(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;oq(c[c[e>>2]>>2]|0,c[c[f>>2]>>2]|0)|0;oq(c[(c[e>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;oq(c[(c[e>>2]|0)+8>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0;i=d;return}function $i(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=37933;switch(c[d>>2]|0){case 0:{c[e>>2]=35979;break}case 1:{c[e>>2]=45707;break}case 2:{c[e>>2]=35991;break}default:{}}i=b;return c[e>>2]|0}function aj(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=37933;switch(c[d>>2]|0){case 0:{c[e>>2]=35999;break}case 1:{c[e>>2]=36008;break}default:{}}i=b;return c[e>>2]|0}function bj(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;f=i;i=i+64|0;g=f+16|0;h=f+8|0;j=f;k=f+52|0;l=f+48|0;m=f+44|0;n=f+40|0;o=f+36|0;p=f+32|0;q=f+28|0;r=f+24|0;s=f+20|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[o>>2]=(((Ro(c[m>>2]|0)|0)+7|0)>>>0)/8|0;c[q>>2]=dg(1+(c[o>>2]<<1)|0)|0;a[c[q>>2]>>0]=4;c[r>>2]=(c[q>>2]|0)+1;c[n>>2]=Hp(5,c[r>>2]|0,c[o>>2]|0,p,c[k>>2]|0)|0;if(c[n>>2]|0){c[j>>2]=fu(c[n>>2]|0)|0;Bf(36016,j)}if((c[p>>2]|0)>>>0<(c[o>>2]|0)>>>0){Ex((c[r>>2]|0)+((c[o>>2]|0)-(c[p>>2]|0))|0,c[r>>2]|0,c[p>>2]|0)|0;Fx(c[r>>2]|0,0,(c[o>>2]|0)-(c[p>>2]|0)|0)|0}c[r>>2]=(c[r>>2]|0)+(c[o>>2]|0);c[n>>2]=Hp(5,c[r>>2]|0,c[o>>2]|0,p,c[l>>2]|0)|0;if(c[n>>2]|0){c[h>>2]=fu(c[n>>2]|0)|0;Bf(36016,h)}if((c[p>>2]|0)>>>0<(c[o>>2]|0)>>>0){Ex((c[r>>2]|0)+((c[o>>2]|0)-(c[p>>2]|0))|0,c[r>>2]|0,c[p>>2]|0)|0;Fx(c[r>>2]|0,0,(c[o>>2]|0)-(c[p>>2]|0)|0)|0}c[n>>2]=Dp(s,5,c[q>>2]|0,1+(c[o>>2]<<1)|0,0)|0;if(c[n>>2]|0){c[g>>2]=fu(c[n>>2]|0)|0;Bf(36038,g)}else{$f(c[q>>2]|0);i=f;return c[s>>2]|0}return 0}function cj(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=vq(0)|0;c[h>>2]=vq(0)|0;if(Zn(c[g>>2]|0,c[h>>2]|0,c[e>>2]|0,c[f>>2]|0)|0)c[j>>2]=0;else c[j>>2]=bj(c[g>>2]|0,c[h>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0;hq(c[g>>2]|0);hq(c[h>>2]|0);i=d;return c[j>>2]|0}function dj(a,b){a=a|0;b=b|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;e=i;i=i+48|0;f=e+36|0;g=e+32|0;h=e+28|0;j=e+24|0;k=e+20|0;l=e+16|0;m=e+12|0;n=e+8|0;o=e+4|0;p=e;c[g>>2]=a;c[h>>2]=b;do if((c[h>>2]|0)!=0?(c[(c[h>>2]|0)+12>>2]&4|0)!=0:0){c[l>>2]=kq(c[h>>2]|0,p)|0;if(c[l>>2]|0){c[k>>2]=(((c[p>>2]|0)+7|0)>>>0)/8|0;c[m>>2]=0;break}c[f>>2]=65;q=c[f>>2]|0;i=e;return q|0}else r=6;while(0);do if((r|0)==6){c[k>>2]=(((Ro(c[h>>2]|0)|0)+7|0)>>>0)/8|0;c[m>>2]=dg(c[k>>2]|0)|0;c[j>>2]=Hp(5,c[m>>2]|0,c[k>>2]|0,k,c[h>>2]|0)|0;p=c[m>>2]|0;if(!(c[j>>2]|0)){c[l>>2]=p;break}$f(p);c[f>>2]=c[j>>2];q=c[f>>2]|0;i=e;return q|0}while(0);if((c[k>>2]|0)>>>0<1){$f(c[m>>2]|0);c[f>>2]=65;q=c[f>>2]|0;i=e;return q|0}if((d[c[l>>2]>>0]|0|0)!=4){$f(c[m>>2]|0);c[f>>2]=69;q=c[f>>2]|0;i=e;return q|0}if((((c[k>>2]|0)-1|0)>>>0)%2|0){$f(c[m>>2]|0);c[f>>2]=65;q=c[f>>2]|0;i=e;return q|0}c[k>>2]=(((c[k>>2]|0)-1|0)>>>0)/2|0;c[j>>2]=Dp(n,5,(c[l>>2]|0)+1|0,c[k>>2]|0,0)|0;if(c[j>>2]|0){$f(c[m>>2]|0);c[f>>2]=c[j>>2];q=c[f>>2]|0;i=e;return q|0}c[j>>2]=Dp(o,5,(c[l>>2]|0)+1+(c[k>>2]|0)|0,c[k>>2]|0,0)|0;$f(c[m>>2]|0);if(c[j>>2]|0){hq(c[n>>2]|0);c[f>>2]=c[j>>2];q=c[f>>2]|0;i=e;return q|0}else{oq(c[c[g>>2]>>2]|0,c[n>>2]|0)|0;oq(c[(c[g>>2]|0)+4>>2]|0,c[o>>2]|0)|0;sq(c[(c[g>>2]|0)+8>>2]|0,1)|0;hq(c[n>>2]|0);hq(c[o>>2]|0);c[f>>2]=0;q=c[f>>2]|0;i=e;return q|0}return 0}function ej(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+32|0;g=f+24|0;h=f+20|0;j=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;n=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if(!(c[k>>2]|0))c[k>>2]=c[(c[j>>2]|0)+28>>2];if(!(c[l>>2]|0))c[l>>2]=c[(c[j>>2]|0)+44>>2];if(((c[l>>2]|0)!=0&(c[k>>2]|0)!=0?(c[(c[j>>2]|0)+16>>2]|0)!=0:0)?(c[(c[j>>2]|0)+20>>2]|0)!=0:0){if((c[c[j>>2]>>2]|0)==2?(c[(c[j>>2]|0)+24>>2]|0)==0:0){c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}if((c[(c[j>>2]|0)+4>>2]|0)==1?(c[(c[j>>2]|0)+8>>2]&4096|0)!=0:0){if(Pi(n,c[l>>2]|0,c[j>>2]|0)|0){c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}c[m>>2]=wq(0)|0;Cp(c[m>>2]|0,c[n>>2]|0,32,0);$f(c[n>>2]|0);if(!(c[h>>2]|0))c[h>>2]=bo(0)|0;if(c[h>>2]|0)Go(c[h>>2]|0,c[m>>2]|0,c[k>>2]|0,c[j>>2]|0);hq(c[m>>2]|0)}else{if(!(c[h>>2]|0))c[h>>2]=bo(0)|0;if(c[h>>2]|0)Go(c[h>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)}c[g>>2]=c[h>>2];o=c[g>>2]|0;i=f;return o|0}c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}function fj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=0;if(Vj(c[f>>2]|0,8,0,0)|0){c[j>>2]=5;if(c[h>>2]|0)Fb[c[h>>2]&1](36319,c[f>>2]|0,38026,37063)}else c[j>>2]=gj(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;h=nj(c[j>>2]|0)|0;i=e;return h|0}function gj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;switch(c[f>>2]|0){case 2:{c[j>>2]=hj(c[g>>2]|0,c[h>>2]|0)|0;break}case 11:{c[j>>2]=jj(c[g>>2]|0,c[h>>2]|0)|0;break}case 8:{c[j>>2]=kj(c[g>>2]|0,c[h>>2]|0)|0;break}case 9:{c[j>>2]=lj(c[g>>2]|0,c[h>>2]|0)|0;break}case 10:{c[j>>2]=mj(c[g>>2]|0,c[h>>2]|0)|0;break}default:c[j>>2]=5}i=e;return c[j>>2]|0}function hj(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;e=i;i=i+160|0;f=e+24|0;g=e+20|0;h=e+16|0;j=e+12|0;k=e+8|0;l=e+32|0;m=e+4|0;n=e;c[g>>2]=b;c[h>>2]=d;c[j>>2]=36059;c[m>>2]=0;while(1){if((c[m>>2]|0)>=64)break;a[l+(c[m>>2]|0)>>0]=c[m>>2];c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=ij(2,36074,9,l,64,36084,20)|0;do if(!(c[k>>2]|0)){if(c[g>>2]|0){c[j>>2]=36181;c[m>>2]=0;c[n>>2]=48;while(1){if((c[m>>2]|0)>=20)break;d=c[n>>2]|0;c[n>>2]=d+1;a[l+(c[m>>2]|0)>>0]=d;c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=ij(2,36196,9,l,20,36206,20)|0;if(c[k>>2]|0)break;c[j>>2]=36227;c[m>>2]=0;c[n>>2]=80;while(1){if((c[m>>2]|0)>=100)break;d=c[n>>2]|0;c[n>>2]=d+1;a[l+(c[m>>2]|0)>>0]=d;c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=ij(2,36242,9,l,100,36252,20)|0;if(c[k>>2]|0)break;c[j>>2]=36273;c[m>>2]=0;c[n>>2]=112;while(1){if((c[m>>2]|0)>=49)break;d=c[n>>2]|0;c[n>>2]=d+1;a[l+(c[m>>2]|0)>>0]=d;c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=ij(2,36288,9,l,49,36298,20)|0;if(c[k>>2]|0)break}c[f>>2]=0;o=c[f>>2]|0;i=e;return o|0}while(0);if(c[h>>2]|0)Fb[c[h>>2]&1](36319,2,c[j>>2]|0,c[k>>2]|0);c[f>>2]=50;o=c[f>>2]|0;i=e;return o|0}function ij(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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=i;i=i+48|0;k=j+36|0;l=j+32|0;m=j+28|0;n=j+24|0;o=j+20|0;p=j+16|0;q=j+12|0;r=j+8|0;s=j+4|0;t=j;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;h=Uj(c[l>>2]|0)|0;if((h|0)!=(c[r>>2]|0)){c[k>>2]=36105;u=c[k>>2]|0;i=j;return u|0}if(wj(s,c[l>>2]|0,2)|0){c[k>>2]=49933;u=c[k>>2]|0;i=j;return u|0}h=(Lj(c[s>>2]|0,c[o>>2]|0,c[p>>2]|0)|0)!=0;p=c[s>>2]|0;if(h){Ej(p);c[k>>2]=36124;u=c[k>>2]|0;i=j;return u|0}Fj(p,c[m>>2]|0,c[n>>2]|0);c[t>>2]=Rj(c[s>>2]|0,c[l>>2]|0)|0;if(!(c[t>>2]|0)){Ej(c[s>>2]|0);c[k>>2]=36146;u=c[k>>2]|0;i=j;return u|0}l=(mw(c[t>>2]|0,c[q>>2]|0,c[r>>2]|0)|0)!=0;Ej(c[s>>2]|0);if(l){c[k>>2]=36166;u=c[k>>2]|0;i=j;return u|0}else{c[k>>2]=0;u=c[k>>2]|0;i=j;return u|0}return 0}function jj(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+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[k>>2]=0;while(1){if(!(c[2768+((c[k>>2]|0)*40|0)>>2]|0)){l=6;break}c[h>>2]=c[2768+((c[k>>2]|0)*40|0)>>2];b=c[2768+((c[k>>2]|0)*40|0)+4>>2]|0;a=Kv(c[2768+((c[k>>2]|0)*40|0)+4>>2]|0)|0;m=c[2768+((c[k>>2]|0)*40|0)+8>>2]|0;n=Kv(c[2768+((c[k>>2]|0)*40|0)+8>>2]|0)|0;c[j>>2]=ij(11,b,a,m,n,2768+((c[k>>2]|0)*40|0)+12|0,28)|0;if(c[j>>2]|0)break;if(!(c[f>>2]|0)){l=6;break}c[k>>2]=(c[k>>2]|0)+1}if((l|0)==6){c[e>>2]=0;o=c[e>>2]|0;i=d;return o|0}if(c[g>>2]|0)Fb[c[g>>2]&1](36319,11,c[h>>2]|0,c[j>>2]|0);c[e>>2]=50;o=c[e>>2]|0;i=d;return o|0}function kj(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+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=d;c[f>>2]=a;c[g>>2]=b;c[k>>2]=0;while(1){if(!(c[3048+((c[k>>2]|0)*44|0)>>2]|0)){o=13;break}c[h>>2]=c[3048+((c[k>>2]|0)*44|0)>>2];b=c[3048+((c[k>>2]|0)*44|0)+4>>2]|0;a=Kv(c[3048+((c[k>>2]|0)*44|0)+4>>2]|0)|0;p=c[3048+((c[k>>2]|0)*44|0)+8>>2]|0;q=Kv(c[3048+((c[k>>2]|0)*44|0)+8>>2]|0)|0;c[j>>2]=ij(8,b,a,p,q,3048+((c[k>>2]|0)*44|0)+12|0,32)|0;if(c[j>>2]|0)break;q=c[3048+((c[k>>2]|0)*44|0)+8>>2]|0;c[l>>2]=Cq(q,Kv(c[3048+((c[k>>2]|0)*44|0)+8>>2]|0)|0)|0;if(!(c[l>>2]|0)){o=5;break}q=c[l>>2]|0;p=c[3048+((c[k>>2]|0)*44|0)+4>>2]|0;Dq(q,p,Kv(c[3048+((c[k>>2]|0)*44|0)+4>>2]|0)|0);c[m>>2]=Iq(c[l>>2]|0,n)|0;if(!(c[m>>2]|0)){o=7;break}if((c[n>>2]|0)!=32){o=10;break}if(mw(c[m>>2]|0,3048+((c[k>>2]|0)*44|0)+12|0,32)|0){o=10;break}Hq(c[l>>2]|0);if(!(c[f>>2]|0)){o=13;break}c[k>>2]=(c[k>>2]|0)+1}if((o|0)==5)c[j>>2]=36968;else if((o|0)==7){c[j>>2]=36993;Hq(c[l>>2]|0)}else if((o|0)==10){c[j>>2]=37023;Hq(c[l>>2]|0)}else if((o|0)==13){c[e>>2]=0;r=c[e>>2]|0;i=d;return r|0}if(c[g>>2]|0)Fb[c[g>>2]&1](36319,8,c[h>>2]|0,c[j>>2]|0);c[e>>2]=50;r=c[e>>2]|0;i=d;return r|0}function lj(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+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[k>>2]=0;while(1){if(!(c[3356+((c[k>>2]|0)*60|0)>>2]|0)){l=6;break}c[h>>2]=c[3356+((c[k>>2]|0)*60|0)>>2];b=c[3356+((c[k>>2]|0)*60|0)+4>>2]|0;a=Kv(c[3356+((c[k>>2]|0)*60|0)+4>>2]|0)|0;m=c[3356+((c[k>>2]|0)*60|0)+8>>2]|0;n=Kv(c[3356+((c[k>>2]|0)*60|0)+8>>2]|0)|0;c[j>>2]=ij(9,b,a,m,n,3356+((c[k>>2]|0)*60|0)+12|0,48)|0;if(c[j>>2]|0)break;if(!(c[f>>2]|0)){l=6;break}c[k>>2]=(c[k>>2]|0)+1}if((l|0)==6){c[e>>2]=0;o=c[e>>2]|0;i=d;return o|0}if(c[g>>2]|0)Fb[c[g>>2]&1](36319,9,c[h>>2]|0,c[j>>2]|0);c[e>>2]=50;o=c[e>>2]|0;i=d;return o|0}function mj(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+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[k>>2]=0;while(1){if(!(c[3776+((c[k>>2]|0)*76|0)>>2]|0)){l=6;break}c[h>>2]=c[3776+((c[k>>2]|0)*76|0)>>2];b=c[3776+((c[k>>2]|0)*76|0)+4>>2]|0;a=Kv(c[3776+((c[k>>2]|0)*76|0)+4>>2]|0)|0;m=c[3776+((c[k>>2]|0)*76|0)+8>>2]|0;n=Kv(c[3776+((c[k>>2]|0)*76|0)+8>>2]|0)|0;c[j>>2]=ij(10,b,a,m,n,3776+((c[k>>2]|0)*76|0)+12|0,64)|0;if(c[j>>2]|0)break;if(!(c[f>>2]|0)){l=6;break}c[k>>2]=(c[k>>2]|0)+1}if((l|0)==6){c[e>>2]=0;o=c[e>>2]|0;i=d;return o|0}if(c[g>>2]|0)Fb[c[g>>2]&1](36319,10,c[h>>2]|0,c[j>>2]|0);c[e>>2]=50;o=c[e>>2]|0;i=d;return o|0}function nj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=oj(1,c[d>>2]|0)|0;i=b;return a|0}function oj(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+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function pj(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;do if(c[e>>2]|0){c[f>>2]=qj(c[e>>2]|0,0)|0;if(c[f>>2]|0){c[d>>2]=c[c[f>>2]>>2];break}c[f>>2]=sj(c[e>>2]|0)|0;if(c[f>>2]|0){c[d>>2]=c[c[f>>2]>>2];break}else{c[d>>2]=0;break}}else c[d>>2]=0;while(0);i=b;return c[d>>2]|0}function qj(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[f>>2]=a;c[g>>2]=b;do if(c[f>>2]|0){if((iw(c[f>>2]|0,37087,4)|0)!=0?(iw(c[f>>2]|0,37092,4)|0)!=0:0)break;c[f>>2]=(c[f>>2]|0)+4}while(0);c[h>>2]=rj(c[f>>2]|0)|0;a:do if((c[h>>2]|0)!=0?(c[(c[h>>2]|0)+20>>2]|0)!=0:0){c[j>>2]=0;while(1){if(!(c[(c[(c[h>>2]|0)+20>>2]|0)+(c[j>>2]<<2)>>2]|0))break a;if(!(Vv(c[f>>2]|0,c[(c[(c[h>>2]|0)+20>>2]|0)+(c[j>>2]<<2)>>2]|0)|0))break;c[j>>2]=(c[j>>2]|0)+1}if(c[g>>2]|0)c[c[g>>2]>>2]=c[(c[(c[h>>2]|0)+20>>2]|0)+(c[j>>2]<<2)>>2];c[e>>2]=c[h>>2];k=c[e>>2]|0;i=d;return k|0}while(0);c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}function rj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+32|0;d=b+20|0;e=b+16|0;f=b+12|0;g=b+8|0;h=b+4|0;j=b;c[e>>2]=a;c[h>>2]=0;a:while(1){a=c[4308+(c[h>>2]<<2)>>2]|0;c[f>>2]=a;if(!a){k=10;break}c[g>>2]=c[(c[f>>2]|0)+20>>2];b:do if(c[g>>2]|0){c[j>>2]=0;while(1){if(!(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0))break b;if(!(Vv(c[e>>2]|0,c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0)|0)){k=7;break a}c[j>>2]=(c[j>>2]|0)+1}}while(0);c[h>>2]=(c[h>>2]|0)+1}if((k|0)==7){c[d>>2]=c[f>>2];l=c[d>>2]|0;i=b;return l|0}else if((k|0)==10){c[d>>2]=0;l=c[d>>2]|0;i=b;return l|0}return 0}function sj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[g>>2]=0;while(1){a=c[4308+(c[g>>2]<<2)>>2]|0;c[f>>2]=a;if(!a){h=6;break}if(!(Vv(c[e>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0)){h=4;break}c[g>>2]=(c[g>>2]|0)+1}if((h|0)==4){c[d>>2]=c[f>>2];j=c[d>>2]|0;i=b;return j|0}else if((h|0)==6){c[d>>2]=0;j=c[d>>2]|0;i=b;return j|0}return 0}function tj(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=uj(c[d>>2]|0)|0;if(!(c[e>>2]|0)){f=37933;i=b;return f|0}f=c[(c[e>>2]|0)+8>>2]|0;i=b;return f|0}function uj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[e>>2]=vj(c[e>>2]|0)|0;c[f>>2]=0;while(1){a=c[4308+(c[f>>2]<<2)>>2]|0;c[g>>2]=a;if(!a){h=6;break}if((c[e>>2]|0)==(c[c[g>>2]>>2]|0)){h=4;break}c[f>>2]=(c[f>>2]|0)+1}if((h|0)==4){c[d>>2]=c[g>>2];j=c[d>>2]|0;i=b;return j|0}else if((h|0)==6){c[d>>2]=0;j=c[d>>2]|0;i=b;return j|0}return 0}function vj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;i=b;return c[d>>2]|0}function wj(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+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[h>>2]&-260)c[j>>2]=45;else c[j>>2]=xj(k,c[g>>2]|0,c[h>>2]|0)|0;c[c[f>>2]>>2]=(c[j>>2]|0)!=0?0:c[k>>2]|0;i=e;return c[j>>2]|0}function xj(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+48|0;g=f+36|0;h=f+32|0;j=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+8|0;p=f+4|0;q=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=0;c[l>>2]=((c[j>>2]&1|0)!=0^1^1)&1;c[m>>2]=((c[j>>2]&2|0)!=0^1^1)&1;c[n>>2]=(c[l>>2]|0)!=0?512:1024;c[q>>2]=16+(c[n>>2]|0);c[q>>2]=((((c[q>>2]|0)+8-1|0)>>>0)/8|0)<<3;n=(c[q>>2]|0)+28|0;if(c[l>>2]|0)c[p>>2]=Yf(n)|0;else c[p>>2]=Vf(n)|0;if(!(c[p>>2]|0))c[k>>2]=gu(c[(Yu()|0)>>2]|0)|0;if((c[k>>2]|0)==0?(n=(c[p>>2]|0)+(c[q>>2]|0)|0,c[o>>2]=n,c[c[p>>2]>>2]=n,c[(c[p>>2]|0)+8>>2]=(c[q>>2]|0)-16+1,c[(c[p>>2]|0)+4>>2]=0,n=c[c[p>>2]>>2]|0,c[n>>2]=0,c[n+4>>2]=0,c[n+8>>2]=0,c[n+12>>2]=0,c[n+16>>2]=0,c[n+20>>2]=0,c[n+24>>2]=0,c[c[o>>2]>>2]=(c[l>>2]|0)!=0?378630161:285677921,c[(c[o>>2]|0)+4>>2]=(c[q>>2]|0)+28,q=(c[o>>2]|0)+12|0,a[q>>0]=a[q>>0]&-2|c[l>>2]&1,l=(c[o>>2]|0)+12|0,a[l>>0]=a[l>>0]&-5|(((c[j>>2]&256|0)!=0^1^1)&1)<<2&255,(c[m>>2]|0)!=0):0){switch(c[h>>2]|0){case 10:case 9:{c[(c[o>>2]|0)+24>>2]=128;break}case 311:case 308:{c[(c[o>>2]|0)+24>>2]=32;break}default:c[(c[o>>2]|0)+24>>2]=64}m=Yf(c[(c[o>>2]|0)+24>>2]<<1)|0;c[(c[o>>2]|0)+20>>2]=m;if(!(c[(c[o>>2]|0)+20>>2]|0)){c[k>>2]=gu(c[(Yu()|0)>>2]|0)|0;yj(c[p>>2]|0)}}if(((c[k>>2]|0)==0?(Sn(),(c[h>>2]|0)!=0):0)?(c[k>>2]=Bj(c[p>>2]|0,c[h>>2]|0)|0,(c[k>>2]|0)!=0):0)yj(c[p>>2]|0);if(c[k>>2]|0){r=c[k>>2]|0;i=f;return r|0}c[c[g>>2]>>2]=c[p>>2];r=c[k>>2]|0;i=f;return r|0}function yj(b){b=b|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+80|0;f=e+68|0;g=e+64|0;h=e+60|0;j=e+56|0;k=e+52|0;l=e+74|0;m=e+16|0;n=e+48|0;o=e+44|0;p=e+40|0;q=e+73|0;r=e+8|0;s=e+36|0;t=e+32|0;u=e+28|0;v=e+72|0;w=e;x=e+24|0;c[f>>2]=b;if(!(c[f>>2]|0)){i=e;return}if(c[(c[c[f>>2]>>2]|0)+8>>2]|0)zj(c[f>>2]|0);c[g>>2]=c[(c[c[f>>2]>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+4>>2];c[j>>2]=c[g>>2];c[k>>2]=c[(c[g>>2]|0)+8>>2];a[l>>0]=0;b=m;c[b>>2]=d[l>>0];c[b+4>>2]=0;while(1){if(!((c[j>>2]&7|0)!=0?(c[k>>2]|0)!=0:0))break;a[c[j>>2]>>0]=a[l>>0]|0;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}if((c[k>>2]|0)>>>0>=8){b=m;y=Mx(c[b>>2]|0,c[b+4>>2]|0,16843009,16843009)|0;b=m;c[b>>2]=y;c[b+4>>2]=C;do{c[n>>2]=c[j>>2];b=m;y=c[b+4>>2]|0;z=c[n>>2]|0;c[z>>2]=c[b>>2];c[z+4>>2]=y;c[k>>2]=(c[k>>2]|0)-8;c[j>>2]=(c[j>>2]|0)+8}while((c[k>>2]|0)>>>0>=8)}while(1){if(!(c[k>>2]|0))break;a[c[j>>2]>>0]=a[l>>0]|0;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}$f(c[g>>2]|0);c[g>>2]=c[h>>2]}if(c[(c[c[f>>2]>>2]|0)+20>>2]|0){c[o>>2]=c[(c[c[f>>2]>>2]|0)+20>>2];c[p>>2]=c[(c[c[f>>2]>>2]|0)+24>>2]<<1;a[q>>0]=0;h=r;c[h>>2]=d[q>>0];c[h+4>>2]=0;while(1){if(!((c[o>>2]&7|0)!=0?(c[p>>2]|0)!=0:0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}if((c[p>>2]|0)>>>0>=8){h=r;g=Mx(c[h>>2]|0,c[h+4>>2]|0,16843009,16843009)|0;h=r;c[h>>2]=g;c[h+4>>2]=C;do{c[s>>2]=c[o>>2];h=r;g=c[h+4>>2]|0;k=c[s>>2]|0;c[k>>2]=c[h>>2];c[k+4>>2]=g;c[p>>2]=(c[p>>2]|0)-8;c[o>>2]=(c[o>>2]|0)+8}while((c[p>>2]|0)>>>0>=8)}while(1){if(!(c[p>>2]|0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}$f(c[(c[c[f>>2]>>2]|0)+20>>2]|0)}c[t>>2]=c[f>>2];c[u>>2]=c[(c[c[f>>2]>>2]|0)+4>>2];a[v>>0]=0;p=w;c[p>>2]=d[v>>0];c[p+4>>2]=0;while(1){if(!((c[t>>2]&7|0)!=0?(c[u>>2]|0)!=0:0))break;a[c[t>>2]>>0]=a[v>>0]|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+-1}if((c[u>>2]|0)>>>0>=8){p=w;o=Mx(c[p>>2]|0,c[p+4>>2]|0,16843009,16843009)|0;p=w;c[p>>2]=o;c[p+4>>2]=C;do{c[x>>2]=c[t>>2];p=w;o=c[p+4>>2]|0;q=c[x>>2]|0;c[q>>2]=c[p>>2];c[q+4>>2]=o;c[u>>2]=(c[u>>2]|0)-8;c[t>>2]=(c[t>>2]|0)+8}while((c[u>>2]|0)>>>0>=8)}while(1){if(!(c[u>>2]|0))break;a[c[t>>2]>>0]=a[v>>0]|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+-1}$f(c[f>>2]|0);i=e;return}function zj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+32|0;d=b+20|0;e=b+16|0;f=b+8|0;g=b;c[d>>2]=a;if(c[(c[c[d>>2]>>2]|0)+8>>2]|0){if(c[(c[d>>2]|0)+4>>2]|0)Aj(c[d>>2]|0,0,0);vw(c[(c[c[d>>2]>>2]|0)+8>>2]|0)|0;c[(c[c[d>>2]>>2]|0)+8>>2]=0}c[e>>2]=c[d>>2];d=f;c[d>>2]=42;c[d+4>>2]=0;d=f;f=Mx(c[e>>2]|0,0,c[d>>2]|0,c[d+4>>2]|0)|0;d=g;c[d>>2]=f;c[d+4>>2]=C;i=b;return}function Aj(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+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[(c[c[f>>2]>>2]|0)+8>>2]|0){if((c[(c[f>>2]|0)+4>>2]|0)!=0?(Bw((c[f>>2]|0)+12|0,c[(c[f>>2]|0)+4>>2]|0,1,c[(c[c[f>>2]>>2]|0)+8>>2]|0)|0)!=1:0)wf(37097,630,37102);if((c[h>>2]|0)!=0?(Bw(c[g>>2]|0,c[h>>2]|0,1,c[(c[c[f>>2]>>2]|0)+8>>2]|0)|0)!=1:0)wf(37097,632,37102)}c[j>>2]=c[(c[c[f>>2]>>2]|0)+16>>2];while(1){k=(c[f>>2]|0)+4|0;if(!(c[j>>2]|0))break;if(c[k>>2]|0)Ab[c[(c[c[j>>2]>>2]|0)+32>>2]&7]((c[j>>2]|0)+16|0,(c[f>>2]|0)+12|0,c[(c[f>>2]|0)+4>>2]|0);Ab[c[(c[c[j>>2]>>2]|0)+32>>2]&7]((c[j>>2]|0)+16|0,c[g>>2]|0,c[h>>2]|0);c[j>>2]=c[(c[j>>2]|0)+4>>2]}c[k>>2]=0;i=e;return}function Bj(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;f=i;i=i+48|0;g=f;h=f+32|0;j=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+8|0;p=f+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=c[c[j>>2]>>2];c[o>>2]=0;c[n>>2]=c[(c[l>>2]|0)+16>>2];while(1){if(!(c[n>>2]|0))break;if((c[c[c[n>>2]>>2]>>2]|0)==(c[k>>2]|0)){q=4;break}c[n>>2]=c[(c[n>>2]|0)+4>>2]}if((q|0)==4){c[h>>2]=0;r=c[h>>2]|0;i=f;return r|0}c[m>>2]=uj(c[k>>2]|0)|0;if(!(c[m>>2]|0)){c[g>>2]=c[k>>2];Df(37111,g);c[o>>2]=5}if(((c[o>>2]|0)==0&(c[k>>2]|0)==1?(Ah()|0)!=0:0)?(Ih(37150),(Gh()|0)!=0):0)c[o>>2]=5;do if(!(c[o>>2]|0)){c[p>>2]=24+(c[(c[m>>2]|0)+44>>2]|0)-8;k=c[p>>2]|0;if(a[(c[l>>2]|0)+12>>0]&1)c[n>>2]=Yf(k)|0;else c[n>>2]=Vf(k)|0;if(c[n>>2]|0){c[c[n>>2]>>2]=c[m>>2];c[(c[n>>2]|0)+4>>2]=c[(c[l>>2]|0)+16>>2];c[(c[n>>2]|0)+8>>2]=c[p>>2];c[(c[l>>2]|0)+16>>2]=c[n>>2];yb[c[(c[c[n>>2]>>2]|0)+28>>2]&7]((c[n>>2]|0)+16|0,((d[(c[l>>2]|0)+12>>0]|0)>>>2&1|0)!=0?256:0);break}else{c[o>>2]=gu(c[(Yu()|0)>>2]|0)|0;break}}while(0);c[h>>2]=c[o>>2];r=c[h>>2]|0;i=f;return r|0}function Cj(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+16|0;f=d+8|0;g=d+24|0;h=d+20|0;j=d+28|0;c[g>>2]=a;c[h>>2]=b;if(Ah()|0){i=d;return}if(c[(c[c[g>>2]>>2]|0)+8>>2]|0){Df(37159,d);i=d;return}c[17699]=(c[17699]|0)+1;b=c[h>>2]|0;c[f>>2]=c[17699];c[f+4>>2]=b;tv(j,49,37191,f)|0;f=qw(j,37208)|0;c[(c[c[g>>2]>>2]|0)+8>>2]=f;if(c[(c[c[g>>2]>>2]|0)+8>>2]|0){i=d;return}c[e>>2]=j;Df(37210,e);i=d;return}function Dj(b){b=b|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;b=(c[c[f>>2]>>2]|0)+12|0;a[b>>0]=a[b>>0]&-3;c[(c[f>>2]|0)+4>>2]=0;c[g>>2]=c[(c[c[f>>2]>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break;Fx((c[g>>2]|0)+16|0,0,c[(c[c[g>>2]>>2]|0)+44>>2]|0)|0;yb[c[(c[c[g>>2]>>2]|0)+28>>2]&7]((c[g>>2]|0)+16|0,((d[(c[c[f>>2]>>2]|0)+12>>0]|0)>>>2&1|0)!=0?256:0);c[g>>2]=c[(c[g>>2]|0)+4>>2]}if(!(c[(c[c[f>>2]>>2]|0)+20>>2]|0)){i=e;return}Aj(c[f>>2]|0,c[(c[c[f>>2]>>2]|0)+20>>2]|0,c[(c[c[f>>2]>>2]|0)+24>>2]|0);i=e;return}function Ej(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;yj(c[d>>2]|0);i=b;return}function Fj(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;Aj(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function Gj(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;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[f+4>>2]=e;c[k>>2]=0;switch(c[h>>2]|0){case 5:{Hj(c[g>>2]|0);break}case 32:{Cj(c[g>>2]|0,c[j>>2]|0);break}case 33:{zj(c[g>>2]|0);break}default:c[k>>2]=61}i=f;return c[k>>2]|0}function Hj(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+32|0;f=e+24|0;g=e+20|0;h=e+16|0;j=e+12|0;k=e+8|0;l=e+4|0;m=e;c[f>>2]=b;if((d[(c[c[f>>2]>>2]|0)+12>>0]|0)>>>1&1){i=e;return}if(c[(c[f>>2]|0)+4>>2]|0)Aj(c[f>>2]|0,0,0);c[g>>2]=c[(c[c[f>>2]>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break;xb[c[(c[c[g>>2]>>2]|0)+36>>2]&15]((c[g>>2]|0)+16|0);c[g>>2]=c[(c[g>>2]|0)+4>>2]}g=(c[c[f>>2]>>2]|0)+12|0;a[g>>0]=a[g>>0]&-3|2;if(!(c[(c[c[f>>2]>>2]|0)+20>>2]|0)){i=e;return}c[h>>2]=Ij(c[f>>2]|0)|0;c[j>>2]=Jj(c[f>>2]|0,c[h>>2]|0)|0;c[k>>2]=Kj(c[h>>2]|0)|0;c[m>>2]=xj(l,c[h>>2]|0,((a[(c[c[f>>2]>>2]|0)+12>>0]&1|0)!=0?1:0)|(((d[(c[c[f>>2]>>2]|0)+12>>0]|0)>>>2&1|0)!=0?256:0))|0;if(c[m>>2]|0)qf(c[m>>2]|0,0);Aj(c[l>>2]|0,(c[(c[c[f>>2]>>2]|0)+20>>2]|0)+(c[(c[c[f>>2]>>2]|0)+24>>2]|0)|0,c[(c[c[f>>2]>>2]|0)+24>>2]|0);Aj(c[l>>2]|0,c[j>>2]|0,c[k>>2]|0);Hj(c[l>>2]|0);f=c[j>>2]|0;j=Jj(c[l>>2]|0,c[h>>2]|0)|0;Dx(f|0,j|0,c[k>>2]|0)|0;yj(c[l>>2]|0);i=e;return}function Ij(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b;e=b+8|0;f=b+4|0;c[e>>2]=a;c[f>>2]=c[(c[c[e>>2]>>2]|0)+16>>2];if((c[f>>2]|0)!=0?(c[(c[f>>2]|0)+4>>2]|0)!=0:0){Jh(37097,980,37235,0,37247);Af(37268,d)}if(!(c[f>>2]|0)){g=0;i=b;return g|0}g=c[c[c[f>>2]>>2]>>2]|0;i=b;return g|0}function Jj(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+32|0;e=d;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=c[(c[c[g>>2]>>2]|0)+16>>2];if(!(c[h>>2]|0)){if(!(c[j>>2]|0))wf(37097,816,37358);if(c[(c[j>>2]|0)+4>>2]|0)Df(37319,e);c[f>>2]=zb[c[(c[c[j>>2]>>2]|0)+40>>2]&15]((c[j>>2]|0)+16|0)|0;k=c[f>>2]|0;i=d;return k|0}c[j>>2]=c[(c[c[g>>2]>>2]|0)+16>>2];while(1){if(!(c[j>>2]|0)){l=11;break}m=c[j>>2]|0;if((c[c[c[j>>2]>>2]>>2]|0)==(c[h>>2]|0))break;c[j>>2]=c[m+4>>2]}if((l|0)==11)wf(37097,816,37358);c[f>>2]=zb[c[(c[m>>2]|0)+40>>2]&15]((c[j>>2]|0)+16|0)|0;k=c[f>>2]|0;i=d;return k|0}function Kj(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=uj(c[d>>2]|0)|0;if(!(c[e>>2]|0)){f=0;i=b;return f|0}f=c[(c[e>>2]|0)+24>>2]|0;i=b;return f|0}function Lj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[(c[c[f>>2]>>2]|0)+20>>2]|0){c[j>>2]=Mj(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;if(!(c[j>>2]|0))Dj(c[f>>2]|0)}else c[j>>2]=70;i=e;return c[j>>2]|0}function Mj(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;g=i;i=i+48|0;h=g+32|0;j=g+28|0;k=g+24|0;l=g+20|0;m=g+16|0;n=g+12|0;o=g+8|0;p=g+4|0;q=g;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[n>>2]=Ij(c[j>>2]|0)|0;c[o>>2]=0;if(!(c[n>>2]|0)){c[h>>2]=5;r=c[h>>2]|0;i=g;return r|0}do if((c[l>>2]|0)>>>0>(c[(c[c[j>>2]>>2]|0)+24>>2]|0)>>>0){c[o>>2]=Yf(Kj(c[n>>2]|0)|0)|0;if(c[o>>2]|0){Nj(c[n>>2]|0,c[o>>2]|0,c[k>>2]|0,c[l>>2]|0);c[k>>2]=c[o>>2];c[l>>2]=Kj(c[n>>2]|0)|0;if((c[l>>2]|0)>>>0<=(c[(c[c[j>>2]>>2]|0)+24>>2]|0)>>>0)break;xf(37402,37097,716,37435)}else{c[h>>2]=gu(c[(Yu()|0)>>2]|0)|0;r=c[h>>2]|0;i=g;return r|0}}while(0);Fx(c[(c[c[j>>2]>>2]|0)+20>>2]|0,0,c[(c[c[j>>2]>>2]|0)+24>>2]<<1|0)|0;c[p>>2]=c[(c[c[j>>2]>>2]|0)+20>>2];c[q>>2]=(c[(c[c[j>>2]>>2]|0)+20>>2]|0)+(c[(c[c[j>>2]>>2]|0)+24>>2]|0);Dx(c[p>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;Dx(c[q>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[c[j>>2]>>2]|0)+24>>2]|0))break;l=(c[p>>2]|0)+(c[m>>2]|0)|0;a[l>>0]=(d[l>>0]|0)^54;l=(c[q>>2]|0)+(c[m>>2]|0)|0;a[l>>0]=(d[l>>0]|0)^92;c[m>>2]=(c[m>>2]|0)+1}$f(c[o>>2]|0);c[h>>2]=0;r=c[h>>2]|0;i=g;return r|0}function Nj(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+32|0;g=f;h=f+28|0;j=f+24|0;k=f+20|0;l=f+16|0;m=f+12|0;n=f+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if((c[h>>2]|0)==2){Bm(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0);i=f;return}if((c[h>>2]|0)==3?(Ah()|0)==0:0){Hl(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0);i=f;return}if(((c[h>>2]|0)==1?(Ah()|0)!=0:0)?(Ih(37150),(Gh()|0)!=0):0)Fh();c[n>>2]=xj(m,c[h>>2]|0,0)|0;if(c[n>>2]|0){e=c[h>>2]|0;d=fu(Oj(c[n>>2]|0)|0)|0;c[g>>2]=e;c[g+4>>2]=d;Cf(37366,g)}Aj(c[m>>2]|0,c[k>>2]|0,c[l>>2]|0);Hj(c[m>>2]|0);l=c[j>>2]|0;j=Jj(c[m>>2]|0,c[h>>2]|0)|0;Dx(l|0,j|0,Kj(c[h>>2]|0)|0)|0;yj(c[m>>2]|0);i=f;return}function Oj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Pj(32,c[d>>2]|0)|0;i=b;return a|0}function Pj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=Qj(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function Qj(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+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function Rj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;Gj(c[e>>2]|0,5,0,0)|0;b=Jj(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function Sj(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;g=i;i=i+48|0;h=g+32|0;j=g+28|0;k=g+24|0;l=g+20|0;m=g+16|0;n=g+12|0;o=g+8|0;p=g+4|0;q=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;if((c[m>>2]|0)==0|(c[n>>2]|0)<0){c[h>>2]=45;r=c[h>>2]|0;i=g;return r|0}if(c[k>>2]&-3){c[h>>2]=45;r=c[h>>2]|0;i=g;return r|0}c[o>>2]=((c[k>>2]&2|0)!=0^1^1)&1;if((c[o>>2]|0)!=0&(c[n>>2]|0)<1){c[h>>2]=45;r=c[h>>2]|0;i=g;return r|0}if((c[j>>2]|0)!=2|(c[o>>2]|0)!=0){if(((c[j>>2]|0)==1?(Ah()|0)!=0:0)?(Ih(37150),(Gh()|0)!=0):0)Fh();c[q>>2]=xj(p,c[j>>2]|0,(c[o>>2]|0)!=0?2:0)|0;if(c[q>>2]|0){c[h>>2]=c[q>>2];r=c[h>>2]|0;i=g;return r|0}do if(c[o>>2]|0){c[q>>2]=Lj(c[p>>2]|0,(c[(c[m>>2]|0)+12>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0)|0,c[(c[m>>2]|0)+8>>2]|0)|0;if(!(c[q>>2]|0)){c[m>>2]=(c[m>>2]|0)+16;c[n>>2]=(c[n>>2]|0)+-1;break}yj(c[p>>2]|0);c[h>>2]=c[q>>2];r=c[h>>2]|0;i=g;return r|0}while(0);while(1){s=c[p>>2]|0;if(!(c[n>>2]|0))break;Aj(s,(c[(c[m>>2]|0)+12>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0)|0,c[(c[m>>2]|0)+8>>2]|0);c[m>>2]=(c[m>>2]|0)+16;c[n>>2]=(c[n>>2]|0)+-1}Hj(s);s=c[l>>2]|0;q=Jj(c[p>>2]|0,c[j>>2]|0)|0;Dx(s|0,q|0,Kj(c[j>>2]|0)|0)|0;yj(c[p>>2]|0)}else Cm(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0);c[h>>2]=0;r=c[h>>2]|0;i=g;return r|0}function Tj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ij(c[d>>2]|0)|0;i=b;return a|0}function Uj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Kj(c[d>>2]|0)|0;i=b;return a|0}function Vj(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+32|0;g=f+24|0;h=f+20|0;j=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;n=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;a:do switch(c[h>>2]|0){case 8:{if((c[j>>2]|0)!=0|(c[k>>2]|0)!=0){c[l>>2]=45;break a}else{c[l>>2]=Wj(c[g>>2]|0)|0;break a}break}case 10:{c[l>>2]=Wj(c[g>>2]|0)|0;if(!(c[l>>2]|0)){c[m>>2]=Xj(c[g>>2]|0,n,0)|0;if((c[j>>2]|0)!=0?(c[c[k>>2]>>2]|0)>>>0>=(c[n>>2]|0)>>>0:0){Dx(c[j>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;c[c[k>>2]>>2]=c[n>>2];break a}if((c[j>>2]|0)==0&(c[k>>2]|0)!=0){c[c[k>>2]>>2]=c[n>>2];break a}if(c[j>>2]|0){c[l>>2]=66;break a}else{c[l>>2]=45;break a}}break}case 57:{if(c[k>>2]|0)o=c[c[k>>2]>>2]|0;else o=0;c[l>>2]=_j(Yj(c[g>>2]|0,o,0)|0)|0;break}default:c[l>>2]=61}while(0);i=f;return c[l>>2]|0}function Wj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=b;c[g>>2]=uj(c[f>>2]|0)|0;if((c[g>>2]|0)!=0?(a[(c[g>>2]|0)+4>>0]&1|0)==0:0){c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}c[e>>2]=5;h=c[e>>2]|0;i=d;return h|0}function Xj(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;e=i;i=i+32|0;f=e;g=e+20|0;h=e+16|0;j=e+12|0;k=e+8|0;l=e+4|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=0;c[k>>2]=uj(c[g>>2]|0)|0;if(!(c[k>>2]|0)){c[f>>2]=c[g>>2];Cf(37451,f)}if(c[h>>2]|0)c[c[h>>2]>>2]=c[(c[k>>2]|0)+16>>2];if(!(c[j>>2]|0)){m=c[k>>2]|0;n=m+12|0;o=c[n>>2]|0;c[l>>2]=o;p=c[l>>2]|0;i=e;return p|0}c[c[j>>2]>>2]=c[(c[k>>2]|0)+24>>2];m=c[k>>2]|0;n=m+12|0;o=c[n>>2]|0;c[l>>2]=o;p=c[l>>2]|0;i=e;return p|0}function Yj(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+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;l=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=0;c[l>>2]=uj(c[g>>2]|0)|0;if(((c[l>>2]|0)!=0?(a[(c[l>>2]|0)+4>>0]&1|0)==0:0)?(c[(c[l>>2]|0)+48>>2]|0)!=0:0){c[k>>2]=vb[c[(c[l>>2]|0)+48>>2]&63](c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;m=c[k>>2]|0;n=Zj(m)|0;i=f;return n|0}if(c[l>>2]|0)o=(c[(c[l>>2]|0)+48>>2]|0)!=0;else o=0;c[k>>2]=o?5:69;if(!(c[j>>2]|0)){m=c[k>>2]|0;n=Zj(m)|0;i=f;return n|0}o=c[j>>2]|0;j=c[g>>2]|0;if((c[l>>2]|0)!=0?(a[(c[l>>2]|0)+4>>0]&1|0)==0:0)p=38004;else p=(c[l>>2]|0)!=0?37965:37984;Fb[o&1](43169,j,38026,p);m=c[k>>2]|0;n=Zj(m)|0;i=f;return n|0}function Zj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Qj(1,c[d>>2]|0)|0;i=b;return a|0}function _j(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;i=b;return c[d>>2]&65535|0}function $j(){return 0}function ak(){return 0}function bk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[17700]=c[e>>2];c[17701]=c[f>>2];i=d;return}function ck(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;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=dk(c[g>>2]|0,1,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;fk(10);i=f;return c[l>>2]|0}function dk(a,b,d,f,g){a=a|0;b=b|0;d=d|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;h=i;i=i+96|0;j=h+8|0;k=h;l=h+80|0;m=h+76|0;n=h+72|0;o=h+68|0;p=h+64|0;q=h+60|0;r=h+56|0;s=h+52|0;t=h+48|0;u=h+44|0;v=h+40|0;w=h+36|0;x=h+32|0;y=h+28|0;z=h+24|0;A=h+20|0;B=h+16|0;C=h+12|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=f;c[p>>2]=g;if((c[l>>2]|0)>>>0<16){c[k>>2]=16;Bf(37480,k)}c[B>>2]=dg(c[1084]<<2)|0;c[t>>2]=_p(2)|0;c[u>>2]=_p(3)|0;k=c[l>>2]|0;if(c[m>>2]|0)D=wq(k)|0;else D=vq(k)|0;c[q>>2]=D;c[v>>2]=pq(c[q>>2]|0)|0;c[s>>2]=pq(c[q>>2]|0)|0;c[r>>2]=pq(c[q>>2]|0)|0;c[A>>2]=0;c[z>>2]=0;a:while(1){c[C>>2]=0;yq(c[q>>2]|0,c[l>>2]|0,c[n>>2]|0);Uo(c[q>>2]|0,(c[l>>2]|0)-1|0);if(c[m>>2]|0)To(c[q>>2]|0,(c[l>>2]|0)-2|0);To(c[q>>2]|0,0);c[w>>2]=0;while(1){D=e[16508+(c[w>>2]<<1)>>1]|0;c[x>>2]=D;if(!D)break;D=ep(0,c[q>>2]|0,c[x>>2]|0)|0;c[(c[B>>2]|0)+(c[w>>2]<<2)>>2]=D;c[w>>2]=(c[w>>2]|0)+1}c[y>>2]=0;while(1){if((c[y>>2]|0)>>>0>=2e4)break;c[z>>2]=(c[z>>2]|0)+1;c[w>>2]=0;while(1){D=e[16508+(c[w>>2]<<1)>>1]|0;c[x>>2]=D;if(!D)break;while(1){if(((c[(c[B>>2]|0)+(c[w>>2]<<2)>>2]|0)+(c[y>>2]|0)|0)>>>0<(c[x>>2]|0)>>>0)break;D=(c[B>>2]|0)+(c[w>>2]<<2)|0;c[D>>2]=(c[D>>2]|0)-(c[x>>2]|0)}if(!((c[(c[B>>2]|0)+(c[w>>2]<<2)>>2]|0)+(c[y>>2]|0)|0))break;c[w>>2]=(c[w>>2]|0)+1}if(!(c[x>>2]|0)){Ko(c[r>>2]|0,c[q>>2]|0,c[y>>2]|0);c[A>>2]=(c[A>>2]|0)+1;Mo(c[s>>2]|0,c[r>>2]|0,1);wp(c[v>>2]|0,c[t>>2]|0,c[s>>2]|0,c[r>>2]|0);if(($o(c[v>>2]|0,1)|0)==0?(ek(c[r>>2]|0,5,A)|0)!=0:0){if(!(So(c[r>>2]|0,(c[l>>2]|0)-1-(c[m>>2]|0)|0)|0)){E=24;break}if(!(c[o>>2]|0)){E=28;break a}if(!(Eb[c[o>>2]&7](c[p>>2]|0,c[r>>2]|0)|0)){E=28;break a}fk(47)}D=(c[C>>2]|0)+1|0;c[C>>2]=D;if((D|0)==10){fk(46);c[C>>2]=0}}c[y>>2]=(c[y>>2]|0)+2}if((E|0)==24){E=0;fk(10);Df(37628,j)}fk(58)}if((E|0)==28){hq(c[t>>2]|0);hq(c[u>>2]|0);hq(c[v>>2]|0);hq(c[s>>2]|0);hq(c[q>>2]|0);$f(c[B>>2]|0);i=h;return c[r>>2]|0}return 0}function ek(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=i;i=i+64|0;f=e+52|0;g=e+48|0;h=e+44|0;j=e+40|0;k=e+36|0;l=e+32|0;m=e+28|0;n=e+24|0;o=e+20|0;p=e+16|0;q=e+12|0;r=e+8|0;s=e+4|0;t=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=$p(c[(c[f>>2]|0)+4>>2]|0)|0;c[k>>2]=$p(c[(c[f>>2]|0)+4>>2]|0)|0;c[l>>2]=$p(c[(c[f>>2]|0)+4>>2]|0)|0;c[m>>2]=$p(c[(c[f>>2]|0)+4>>2]|0)|0;c[n>>2]=_p(2)|0;c[s>>2]=0;c[t>>2]=Ro(c[f>>2]|0)|0;if((c[g>>2]|0)<5)c[g>>2]=5;Mo(c[m>>2]|0,c[f>>2]|0,1);c[o>>2]=mq(c[m>>2]|0)|0;c[r>>2]=yp(c[o>>2]|0)|0;hp(c[o>>2]|0,c[o>>2]|0,c[r>>2]|0);c[p>>2]=0;a:while(1){if((c[p>>2]|0)>>>0>=(c[g>>2]|0)>>>0){u=22;break}d=c[h>>2]|0;c[d>>2]=(c[d>>2]|0)+1;d=c[j>>2]|0;if(c[p>>2]|0){yq(d,c[t>>2]|0,0);b=(So(c[j>>2]|0,(c[t>>2]|0)-2|0)|0)!=0;Uo(c[j>>2]|0,(c[t>>2]|0)-2|0);if(!b)Wo(c[j>>2]|0,(c[t>>2]|0)-2|0);if((ap(c[j>>2]|0,c[m>>2]|0)|0)>=0){u=11;break}if(($o(c[j>>2]|0,1)|0)<=0){u=11;break}}else sq(d,2)|0;wp(c[k>>2]|0,c[j>>2]|0,c[o>>2]|0,c[f>>2]|0);if(($o(c[k>>2]|0,1)|0)!=0?(ap(c[k>>2]|0,c[m>>2]|0)|0)!=0:0){c[q>>2]=1;while(1){if((c[q>>2]|0)>>>0<(c[r>>2]|0)>>>0)v=(ap(c[k>>2]|0,c[m>>2]|0)|0)!=0;else v=0;w=c[k>>2]|0;if(!v)break;wp(w,c[k>>2]|0,c[n>>2]|0,c[f>>2]|0);if(!($o(c[k>>2]|0,1)|0)){u=23;break a}c[q>>2]=(c[q>>2]|0)+1}if(ap(w,c[m>>2]|0)|0){u=23;break}}fk(43);c[p>>2]=(c[p>>2]|0)+1}if((u|0)==11)xf(37527,37599,951,37610);else if((u|0)==22){c[s>>2]=1;x=c[j>>2]|0;hq(x);y=c[k>>2]|0;hq(y);z=c[l>>2]|0;hq(z);A=c[m>>2]|0;hq(A);B=c[o>>2]|0;hq(B);C=c[n>>2]|0;hq(C);D=c[s>>2]|0;i=e;return D|0}else if((u|0)==23){x=c[j>>2]|0;hq(x);y=c[k>>2]|0;hq(y);z=c[l>>2]|0;hq(z);A=c[m>>2]|0;hq(A);B=c[o>>2]|0;hq(B);C=c[n>>2]|0;hq(C);D=c[s>>2]|0;i=e;return D|0}return 0}function fk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[17700]|0)){i=b;return}wb[c[17700]&15](c[17701]|0,37619,c[d>>2]|0,0,0);i=b;return}function gk(a,b,d,f,g){a=a|0;b=b|0;d=d|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;h=i;i=i+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;t=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=f;c[o>>2]=g;c[r>>2]=0;c[p>>2]=0;while(1){g=e[16508+(c[p>>2]<<1)>>1]|0;c[q>>2]=g;u=c[k>>2]|0;if(!g)break;if(ip(u,c[q>>2]|0)|0){v=4;break}c[p>>2]=(c[p>>2]|0)+1}if((v|0)==4){c[j>>2]=(($o(c[k>>2]|0,c[q>>2]|0)|0)!=0^1)&1;w=c[j>>2]|0;i=h;return w|0}c[s>>2]=pq(u)|0;c[t>>2]=pq(c[k>>2]|0)|0;Mo(c[t>>2]|0,c[k>>2]|0,1);wp(c[s>>2]|0,c[l>>2]|0,c[t>>2]|0,c[k>>2]|0);hq(c[t>>2]|0);t=($o(c[s>>2]|0,1)|0)!=0;hq(c[s>>2]|0);if(t){fk(46);c[j>>2]=0;w=c[j>>2]|0;i=h;return w|0}if(!((c[n>>2]|0)!=0?(vb[c[n>>2]&63](c[o>>2]|0,2,c[k>>2]|0)|0)==0:0))v=10;do if((v|0)==10?(ek(c[k>>2]|0,c[m>>2]|0,r)|0)!=0:0){if((c[n>>2]|0)!=0?(vb[c[n>>2]&63](c[o>>2]|0,1,c[k>>2]|0)|0)==0:0)break;c[j>>2]=1;w=c[j>>2]|0;i=h;return w|0}while(0);fk(46);c[j>>2]=0;w=c[j>>2]|0;i=h;return w|0}function hk(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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;h=i;i=i+64|0;j=h+60|0;k=h+56|0;l=h+52|0;m=h+48|0;n=h+44|0;o=h+40|0;p=h+36|0;q=h+32|0;r=h+28|0;s=h+24|0;t=h+20|0;u=h+16|0;v=h+12|0;w=h+8|0;x=h+4|0;y=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;if(!((c[k>>2]|0)!=0&(c[l>>2]|0)!=0&(c[m>>2]|0)!=0)){c[j>>2]=0;z=c[j>>2]|0;i=h;return z|0}if((c[n>>2]|0)!=0?(So(c[n>>2]|0,0)|0)!=0:0){c[q>>2]=ik(c[l>>2]|0)|0;c[r>>2]=ik(c[m>>2]|0)|0;c[s>>2]=pq(c[k>>2]|0)|0;up(c[s>>2]|0,c[q>>2]|0,c[r>>2]|0);c[v>>2]=pq(c[q>>2]|0)|0;pp(c[v>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;up(c[v>>2]|0,c[v>>2]|0,c[r>>2]|0);c[u>>2]=c[v>>2];c[v>>2]=pq(c[r>>2]|0)|0;pp(c[v>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;up(c[v>>2]|0,c[v>>2]|0,c[q>>2]|0);No(c[u>>2]|0,c[u>>2]|0,c[v>>2]|0);if(c[(c[u>>2]|0)+8>>2]|0)Lo(c[u>>2]|0,c[u>>2]|0,c[s>>2]|0);c[t>>2]=c[v>>2];c[v>>2]=0;Po(c[t>>2]|0,c[u>>2]|0,c[k>>2]|0,c[s>>2]|0);Lo(c[t>>2]|0,c[t>>2]|0,c[k>>2]|0);hq(c[u>>2]|0);if((ap(c[t>>2]|0,c[k>>2]|0)|0)<0)Lo(c[t>>2]|0,c[t>>2]|0,c[s>>2]|0);c[w>>2]=_p(2)|0;c[x>>2]=pq(c[t>>2]|0)|0;Mo(c[s>>2]|0,c[s>>2]|0,1);Mo(c[t>>2]|0,c[t>>2]|0,1);while(1){c[y>>2]=jp(c[x>>2]|0,c[n>>2]|0,c[t>>2]|0)|0;Ko(c[t>>2]|0,c[t>>2]|0,1);if(c[y>>2]|0){if(gk(c[t>>2]|0,c[w>>2]|0,64,0,0)|0)break}else fk(47);Lo(c[t>>2]|0,c[t>>2]|0,c[s>>2]|0)}hq(c[x>>2]|0);hq(c[w>>2]|0);hq(c[s>>2]|0);fk(10);s=c[q>>2]|0;if(c[o>>2]|0)c[c[o>>2]>>2]=s;else hq(s);s=c[r>>2]|0;if(c[p>>2]|0)c[c[p>>2]>>2]=s;else hq(s);c[j>>2]=c[t>>2];z=c[j>>2]|0;i=h;return z|0}c[j>>2]=0;z=c[j>>2]|0;i=h;return z|0}function ik(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=_p(2)|0;c[f>>2]=mq(c[d>>2]|0)|0;To(c[f>>2]|0,0);while(1){if(!((gk(c[f>>2]|0,c[e>>2]|0,64,0,0)|0)!=0^1))break;Ko(c[f>>2]|0,c[f>>2]|0,2)}hq(c[e>>2]|0);i=b;return c[f>>2]|0}function jk(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;e=i;i=i+48|0;f=e+36|0;g=e+32|0;h=e+28|0;j=e+24|0;k=e+20|0;l=e+16|0;m=e+12|0;n=e+8|0;o=e+4|0;p=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=0;c[n>>2]=5;c[o>>2]=0;c[p>>2]=0;if(c[f>>2]|0)q=(yg(c[f>>2]|0)|0)-1|0;else q=0;c[m>>2]=q;while(1){if((c[m>>2]|0)<=0)break;c[k>>2]=Bg(c[f>>2]|0,c[m>>2]|0,l)|0;a:do if(c[k>>2]|0)do switch(c[l>>2]|0){case 3:{if((mw(c[k>>2]|0,37658,3)|0)==0&(c[n>>2]|0)==5){c[n>>2]=4;c[o>>2]=c[o>>2]|4;break a}if((mw(c[k>>2]|0,37662,3)|0)==0&(c[n>>2]|0)==5){c[n>>2]=0;c[o>>2]=c[o>>2]|16;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}case 4:{if(!(mw(c[k>>2]|0,37666,4)|0)){c[o>>2]=c[o>>2]|1024;break a}if((mw(c[k>>2]|0,37671,4)|0)==0&(c[n>>2]|0)==5){c[n>>2]=3;c[o>>2]=c[o>>2]|4;break a}if(!(mw(c[k>>2]|0,47133,4)|0)){c[n>>2]=0;c[o>>2]=c[o>>2]|8192;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}case 5:{if(!(mw(c[k>>2]|0,47127,5)|0)){c[n>>2]=0;c[o>>2]=c[o>>2]|4096;break a}if((mw(c[k>>2]|0,37676,5)|0)==0&(c[n>>2]|0)==5){c[n>>2]=1;c[o>>2]=c[o>>2]|4;break a}if(!(mw(c[k>>2]|0,37682,5)|0)){c[o>>2]=c[o>>2]|512;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}case 6:{if(!(mw(c[k>>2]|0,37688,6)|0)){c[o>>2]=c[o>>2]|2048;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}case 7:{if(!(mw(c[k>>2]|0,37695,7)|0)){c[o>>2]=c[o>>2]|2;break a}if((mw(c[k>>2]|0,37703,7)|0)==0|(c[p>>2]|0)!=0)break a;c[j>>2]=72;break a;break}case 8:{if(!(mw(c[k>>2]|0,39389,8)|0)){c[o>>2]=c[o>>2]|64;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}case 9:{if((mw(c[k>>2]|0,37711,9)|0)==0&(c[n>>2]|0)==5){c[n>>2]=2;c[o>>2]=c[o>>2]|4;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}case 10:{if(!(mw(c[k>>2]|0,37721,10)|0)){c[p>>2]=1;break a}if(!(mw(c[k>>2]|0,37732,10)|0)){c[o>>2]=c[o>>2]|16384;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}case 11:{if(!(mw(c[k>>2]|0,37743,11)|0)){c[o>>2]=c[o>>2]|1;break a}if(!(mw(c[k>>2]|0,37755,11)|0)){c[o>>2]=c[o>>2]|128;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}case 13:{if(!(mw(c[k>>2]|0,37767,13)|0)){c[o>>2]=c[o>>2]|256;break a}if(!(mw(c[k>>2]|0,47173,13)|0)){c[o>>2]=c[o>>2]|32;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}default:{if(c[p>>2]|0)break a;c[j>>2]=72;break a}}while(0);while(0);c[m>>2]=(c[m>>2]|0)+-1}if(c[g>>2]|0)c[c[g>>2]>>2]=c[o>>2];if(!(c[h>>2]|0)){r=c[j>>2]|0;i=e;return r|0}c[c[h>>2]>>2]=c[n>>2];r=c[j>>2]|0;i=e;return r|0}function kk(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;e=i;i=i+80|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+20|0;k=e+4|0;l=e;c[g>>2]=b;c[h>>2]=d;c[c[h>>2]>>2]=0;c[g>>2]=xg(c[g>>2]|0,37781,0)|0;if(!(c[g>>2]|0)){c[f>>2]=0;m=c[f>>2]|0;i=e;return m|0}c[k>>2]=Bg(c[g>>2]|0,1,l)|0;if((c[k>>2]|0)==0|(c[l>>2]|0)>>>0>=49){vg(c[g>>2]|0);c[f>>2]=65;m=c[f>>2]|0;i=e;return m|0}else{Dx(j|0,c[k>>2]|0,c[l>>2]|0)|0;a[j+(c[l>>2]|0)>>0]=0;l=Zv(j,0,0)|0;c[c[h>>2]>>2]=l;vg(c[g>>2]|0);c[f>>2]=0;m=c[f>>2]|0;i=e;return m|0}return 0}function lk(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;e=i;i=i+80|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+20|0;k=e+4|0;l=e;c[g>>2]=b;c[h>>2]=d;c[c[h>>2]>>2]=0;c[g>>2]=xg(c[g>>2]|0,37787,0)|0;if(!(c[g>>2]|0)){c[c[h>>2]>>2]=65537;c[f>>2]=0;m=c[f>>2]|0;i=e;return m|0}c[k>>2]=Bg(c[g>>2]|0,1,l)|0;if((c[k>>2]|0)==0|(c[l>>2]|0)>>>0>=49){vg(c[g>>2]|0);c[f>>2]=65;m=c[f>>2]|0;i=e;return m|0}else{Dx(j|0,c[k>>2]|0,c[l>>2]|0)|0;a[j+(c[l>>2]|0)>>0]=0;l=Zv(j,0,0)|0;c[c[h>>2]>>2]=l;vg(c[g>>2]|0);c[f>>2]=0;m=c[f>>2]|0;i=e;return m|0}return 0}function mk(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;f=i;i=i+48|0;g=f+32|0;h=f+28|0;j=f+24|0;k=f+20|0;l=f+16|0;m=f+12|0;n=f+8|0;o=f+4|0;p=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[c[j>>2]>>2]=0;if(c[k>>2]|0)c[c[k>>2]>>2]=0;c[m>>2]=xg(c[g>>2]|0,37797,0)|0;do if(c[m>>2]|0){c[n>>2]=zg(c[m>>2]|0,1)|0;if(!(c[n>>2]|0)){c[l>>2]=68;break}c[o>>2]=Eg(c[n>>2]|0,0)|0;if(!(c[o>>2]|0)){c[l>>2]=65;break}if(!(gv(c[o>>2]|0,47167)|0)){vg(c[n>>2]|0);c[n>>2]=zg(c[m>>2]|0,2)|0;if(!(c[n>>2]|0)){c[l>>2]=65;break}$f(c[o>>2]|0);c[o>>2]=Eg(c[n>>2]|0,0)|0;if(!(c[o>>2]|0)){c[l>>2]=65;break}}c[p>>2]=0;while(1){if(!(c[(c[h>>2]|0)+(c[p>>2]<<2)>>2]|0))break;if(!(Vv(c[o>>2]|0,c[(c[h>>2]|0)+(c[p>>2]<<2)>>2]|0)|0))break;c[p>>2]=(c[p>>2]|0)+1}if(!(c[(c[h>>2]|0)+(c[p>>2]<<2)>>2]|0)){c[l>>2]=70;break}if(c[k>>2]|0){if(!(gv(c[o>>2]|0,47127)|0))c[c[k>>2]>>2]=4096;if(!(gv(c[o>>2]|0,47133)|0))c[c[k>>2]>>2]=8192}c[c[j>>2]>>2]=c[n>>2];c[n>>2]=0;c[l>>2]=0}else c[l>>2]=65;while(0);$f(c[o>>2]|0);vg(c[n>>2]|0);vg(c[m>>2]|0);i=f;return c[l>>2]|0}function nk(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;f=i;i=i+48|0;g=f+44|0;h=f+40|0;j=f+36|0;k=f+32|0;l=f+28|0;m=f+24|0;n=f+20|0;o=f+16|0;p=f+12|0;q=f+8|0;r=f+4|0;s=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[q>>2]=0;c[c[j>>2]>>2]=0;c[m>>2]=xg(c[g>>2]|0,42132,0)|0;do if(c[m>>2]|0){c[n>>2]=zg(c[m>>2]|0,1)|0;if(!(c[n>>2]|0)){c[l>>2]=68;break}c[o>>2]=Eg(c[n>>2]|0,0)|0;if(!(c[o>>2]|0)){c[l>>2]=65;break}if(!(gv(c[o>>2]|0,47167)|0)){c[l>>2]=jk(c[n>>2]|0,q,(c[k>>2]|0)+8|0)|0;if(c[l>>2]|0)break;if((c[(c[k>>2]|0)+8>>2]|0)==4){c[l>>2]=70;break}if((c[(c[k>>2]|0)+8>>2]|0)==3){vg(c[n>>2]|0);c[n>>2]=xg(c[m>>2]|0,37805,0)|0;if(c[n>>2]|0){c[s>>2]=Bg(c[n>>2]|0,1,p)|0;if(c[s>>2]|0){g=ok(c[s>>2]|0,c[p>>2]|0)|0;c[(c[k>>2]|0)+16>>2]=g;if(!(c[(c[k>>2]|0)+16>>2]|0))c[l>>2]=5}else c[l>>2]=68;if(c[l>>2]|0)break}vg(c[n>>2]|0);c[n>>2]=xg(c[m>>2]|0,37889,0)|0;if(c[n>>2]|0){c[s>>2]=Bg(c[n>>2]|0,1,p)|0;do if(c[s>>2]|0){if((c[p>>2]|0)>>>0>0){g=Vf(c[p>>2]|0)|0;c[(c[k>>2]|0)+20>>2]=g;if(c[(c[k>>2]|0)+20>>2]|0){Dx(c[(c[k>>2]|0)+20>>2]|0,c[s>>2]|0,c[p>>2]|0)|0;c[(c[k>>2]|0)+24>>2]=c[p>>2];break}else{c[l>>2]=iu()|0;break}}}else c[l>>2]=68;while(0);if(c[l>>2]|0)break}}c[r>>2]=2;a:while(1){vg(c[n>>2]|0);g=zg(c[m>>2]|0,c[r>>2]|0)|0;c[n>>2]=g;if(!g)break;c[s>>2]=Bg(c[n>>2]|0,0,p)|0;if(!((c[p>>2]|0)==9?(mw(c[s>>2]|0,37805,9)|0)==0:0))t=30;do if((t|0)==30){t=0;if((c[p>>2]|0)==5?(mw(c[s>>2]|0,37889,5)|0)==0:0)break;if((c[p>>2]|0)!=15)break a;if(mw(c[s>>2]|0,37895,15)|0)break a}while(0);c[r>>2]=(c[r>>2]|0)+1}if(!(c[n>>2]|0)){c[l>>2]=68;break}$f(c[o>>2]|0);c[o>>2]=Eg(c[n>>2]|0,0)|0;if(!(c[o>>2]|0)){c[l>>2]=65;break}}else c[q>>2]=c[q>>2]|8;c[r>>2]=0;while(1){if(!(c[(c[h>>2]|0)+(c[r>>2]<<2)>>2]|0))break;if(!(Vv(c[o>>2]|0,c[(c[h>>2]|0)+(c[r>>2]<<2)>>2]|0)|0))break;c[r>>2]=(c[r>>2]|0)+1}if(c[(c[h>>2]|0)+(c[r>>2]<<2)>>2]|0){c[c[j>>2]>>2]=c[n>>2];c[n>>2]=0;g=(c[k>>2]|0)+12|0;c[g>>2]=c[g>>2]|c[q>>2];c[l>>2]=0;break}else{c[l>>2]=70;break}}else c[l>>2]=65;while(0);$f(c[o>>2]|0);vg(c[n>>2]|0);vg(c[m>>2]|0);i=f;return c[l>>2]|0}function ok(b,d){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+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;while(1){if(!(c[4340+(c[j>>2]<<3)>>2]|0))break;d=Kv(c[4340+(c[j>>2]<<3)>>2]|0)|0;if((d|0)==(c[g>>2]|0)?(mw(c[4340+(c[j>>2]<<3)>>2]|0,c[f>>2]|0,c[g>>2]|0)|0)==0:0)break;c[j>>2]=(c[j>>2]|0)+1}if(c[4340+(c[j>>2]<<3)>>2]|0){c[h>>2]=c[4340+(c[j>>2]<<3)+4>>2];l=c[h>>2]|0;i=e;return l|0}c[k>>2]=Vf((c[g>>2]|0)+1|0)|0;if(c[k>>2]|0){Dx(c[k>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;a[(c[k>>2]|0)+(c[g>>2]|0)>>0]=0;c[h>>2]=pj(c[k>>2]|0)|0;$f(c[k>>2]|0);l=c[h>>2]|0;i=e;return l|0}else{c[h>>2]=0;l=c[h>>2]|0;i=e;return l|0}return 0}function pk(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[f>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+8>>2]=5;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+16>>2]=2;c[(c[f>>2]|0)+20>>2]=0;c[(c[f>>2]|0)+24>>2]=0;c[(c[f>>2]|0)+28>>2]=20;c[(c[f>>2]|0)+32>>2]=0;c[(c[f>>2]|0)+36>>2]=0;i=e;return}function qk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;$f(c[(c[d>>2]|0)+20>>2]|0);i=b;return} -function Np(a,b,e,f){a=a|0;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;g=i;i=i+144|0;h=g+128|0;j=g+124|0;k=g+120|0;l=g+116|0;m=g+112|0;n=g+108|0;o=g+104|0;p=g+100|0;q=g+96|0;r=g+92|0;s=g+88|0;t=g+84|0;u=g+80|0;v=g+76|0;w=g+72|0;x=g+68|0;y=g+64|0;z=g+60|0;A=g+56|0;B=g+52|0;C=g+48|0;D=g+44|0;E=g+40|0;F=g+36|0;G=g+32|0;H=g+28|0;I=g+24|0;J=g+20|0;K=g+16|0;L=g+12|0;M=g+8|0;N=g+4|0;O=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;if(!(c[l>>2]|0)){c[h>>2]=0;P=c[h>>2]|0;i=g;return P|0}c[s>>2]=c[m>>2];f=c[s>>2]|0;c[t>>2]=(c[s>>2]|0)>>>0<65536?(f>>>0<256?0:8):f>>>0<16777216?16:24;c[r>>2]=32-((d[45806+((c[s>>2]|0)>>>(c[t>>2]|0))>>0]|0)+(c[t>>2]|0));if(!(c[r>>2]|0)){c[n>>2]=(c[l>>2]|0)-1;c[q>>2]=c[(c[k>>2]|0)+(c[n>>2]<<2)>>2];if((c[q>>2]|0)>>>0>=(c[m>>2]|0)>>>0)c[q>>2]=0;else{t=c[n>>2]|0;c[n>>2]=t+-1;c[(c[j>>2]|0)+(t<<2)>>2]=0}while(1){if((c[n>>2]|0)<0)break;c[p>>2]=c[(c[k>>2]|0)+(c[n>>2]<<2)>>2];c[I>>2]=(c[m>>2]|0)>>>16;c[J>>2]=c[m>>2]&65535;c[M>>2]=((c[q>>2]|0)>>>0)%((c[I>>2]|0)>>>0)|0;c[K>>2]=((c[q>>2]|0)>>>0)/((c[I>>2]|0)>>>0)|0;c[O>>2]=_(c[K>>2]|0,c[J>>2]|0)|0;c[M>>2]=c[M>>2]<<16|(c[p>>2]|0)>>>16;if(((c[M>>2]|0)>>>0<(c[O>>2]|0)>>>0?(c[K>>2]=(c[K>>2]|0)+-1,c[M>>2]=(c[M>>2]|0)+(c[m>>2]|0),(c[M>>2]|0)>>>0>=(c[m>>2]|0)>>>0):0)?(c[M>>2]|0)>>>0<(c[O>>2]|0)>>>0:0){c[K>>2]=(c[K>>2]|0)+-1;c[M>>2]=(c[M>>2]|0)+(c[m>>2]|0)}c[M>>2]=(c[M>>2]|0)-(c[O>>2]|0);c[N>>2]=((c[M>>2]|0)>>>0)%((c[I>>2]|0)>>>0)|0;c[L>>2]=((c[M>>2]|0)>>>0)/((c[I>>2]|0)>>>0)|0;c[O>>2]=_(c[L>>2]|0,c[J>>2]|0)|0;c[N>>2]=c[N>>2]<<16|c[p>>2]&65535;if(((c[N>>2]|0)>>>0<(c[O>>2]|0)>>>0?(c[L>>2]=(c[L>>2]|0)+-1,c[N>>2]=(c[N>>2]|0)+(c[m>>2]|0),(c[N>>2]|0)>>>0>=(c[m>>2]|0)>>>0):0)?(c[N>>2]|0)>>>0<(c[O>>2]|0)>>>0:0){c[L>>2]=(c[L>>2]|0)+-1;c[N>>2]=(c[N>>2]|0)+(c[m>>2]|0)}c[N>>2]=(c[N>>2]|0)-(c[O>>2]|0);c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]=c[K>>2]<<16|c[L>>2];c[q>>2]=c[N>>2];c[n>>2]=(c[n>>2]|0)+-1}c[h>>2]=c[q>>2];P=c[h>>2]|0;i=g;return P|0}c[m>>2]=c[m>>2]<<c[r>>2];c[o>>2]=c[(c[k>>2]|0)+((c[l>>2]|0)-1<<2)>>2];c[q>>2]=(c[o>>2]|0)>>>(32-(c[r>>2]|0)|0);c[n>>2]=(c[l>>2]|0)-2;while(1){if((c[n>>2]|0)<0)break;c[p>>2]=c[(c[k>>2]|0)+(c[n>>2]<<2)>>2];c[u>>2]=(c[m>>2]|0)>>>16;c[v>>2]=c[m>>2]&65535;c[y>>2]=((c[q>>2]|0)>>>0)%((c[u>>2]|0)>>>0)|0;c[w>>2]=((c[q>>2]|0)>>>0)/((c[u>>2]|0)>>>0)|0;c[A>>2]=_(c[w>>2]|0,c[v>>2]|0)|0;c[y>>2]=c[y>>2]<<16|(c[o>>2]<<c[r>>2]|(c[p>>2]|0)>>>(32-(c[r>>2]|0)|0))>>>16;if(((c[y>>2]|0)>>>0<(c[A>>2]|0)>>>0?(c[w>>2]=(c[w>>2]|0)+-1,c[y>>2]=(c[y>>2]|0)+(c[m>>2]|0),(c[y>>2]|0)>>>0>=(c[m>>2]|0)>>>0):0)?(c[y>>2]|0)>>>0<(c[A>>2]|0)>>>0:0){c[w>>2]=(c[w>>2]|0)+-1;c[y>>2]=(c[y>>2]|0)+(c[m>>2]|0)}c[y>>2]=(c[y>>2]|0)-(c[A>>2]|0);c[z>>2]=((c[y>>2]|0)>>>0)%((c[u>>2]|0)>>>0)|0;c[x>>2]=((c[y>>2]|0)>>>0)/((c[u>>2]|0)>>>0)|0;c[A>>2]=_(c[x>>2]|0,c[v>>2]|0)|0;c[z>>2]=c[z>>2]<<16|(c[o>>2]<<c[r>>2]|(c[p>>2]|0)>>>(32-(c[r>>2]|0)|0))&65535;if(((c[z>>2]|0)>>>0<(c[A>>2]|0)>>>0?(c[x>>2]=(c[x>>2]|0)+-1,c[z>>2]=(c[z>>2]|0)+(c[m>>2]|0),(c[z>>2]|0)>>>0>=(c[m>>2]|0)>>>0):0)?(c[z>>2]|0)>>>0<(c[A>>2]|0)>>>0:0){c[x>>2]=(c[x>>2]|0)+-1;c[z>>2]=(c[z>>2]|0)+(c[m>>2]|0)}c[z>>2]=(c[z>>2]|0)-(c[A>>2]|0);c[(c[j>>2]|0)+((c[n>>2]|0)+1<<2)>>2]=c[w>>2]<<16|c[x>>2];c[q>>2]=c[z>>2];c[o>>2]=c[p>>2];c[n>>2]=(c[n>>2]|0)+-1}c[B>>2]=(c[m>>2]|0)>>>16;c[C>>2]=c[m>>2]&65535;c[F>>2]=((c[q>>2]|0)>>>0)%((c[B>>2]|0)>>>0)|0;c[D>>2]=((c[q>>2]|0)>>>0)/((c[B>>2]|0)>>>0)|0;c[H>>2]=_(c[D>>2]|0,c[C>>2]|0)|0;c[F>>2]=c[F>>2]<<16|c[o>>2]<<c[r>>2]>>>16;if(((c[F>>2]|0)>>>0<(c[H>>2]|0)>>>0?(c[D>>2]=(c[D>>2]|0)+-1,c[F>>2]=(c[F>>2]|0)+(c[m>>2]|0),(c[F>>2]|0)>>>0>=(c[m>>2]|0)>>>0):0)?(c[F>>2]|0)>>>0<(c[H>>2]|0)>>>0:0){c[D>>2]=(c[D>>2]|0)+-1;c[F>>2]=(c[F>>2]|0)+(c[m>>2]|0)}c[F>>2]=(c[F>>2]|0)-(c[H>>2]|0);c[G>>2]=((c[F>>2]|0)>>>0)%((c[B>>2]|0)>>>0)|0;c[E>>2]=((c[F>>2]|0)>>>0)/((c[B>>2]|0)>>>0)|0;c[H>>2]=_(c[E>>2]|0,c[C>>2]|0)|0;c[G>>2]=c[G>>2]<<16|c[o>>2]<<c[r>>2]&65535;if(((c[G>>2]|0)>>>0<(c[H>>2]|0)>>>0?(c[E>>2]=(c[E>>2]|0)+-1,c[G>>2]=(c[G>>2]|0)+(c[m>>2]|0),(c[G>>2]|0)>>>0>=(c[m>>2]|0)>>>0):0)?(c[G>>2]|0)>>>0<(c[H>>2]|0)>>>0:0){c[E>>2]=(c[E>>2]|0)+-1;c[G>>2]=(c[G>>2]|0)+(c[m>>2]|0)}c[G>>2]=(c[G>>2]|0)-(c[H>>2]|0);c[c[j>>2]>>2]=c[D>>2]<<16|c[E>>2];c[q>>2]=c[G>>2];c[h>>2]=(c[q>>2]|0)>>>(c[r>>2]|0);P=c[h>>2]|0;i=g;return P|0}function Op(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;f=i;i=i+48|0;g=f+36|0;h=f+32|0;j=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+8|0;p=f+4|0;q=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[n>>2]=c[k>>2];c[g>>2]=(c[g>>2]|0)+4;c[o>>2]=32-(c[n>>2]|0);c[p>>2]=(c[j>>2]|0)-1;c[m>>2]=c[(c[h>>2]|0)+(c[p>>2]<<2)>>2];c[q>>2]=(c[m>>2]|0)>>>(c[o>>2]|0);c[l>>2]=c[m>>2];while(1){j=(c[p>>2]|0)+-1|0;c[p>>2]=j;if((j|0)<0)break;c[m>>2]=c[(c[h>>2]|0)+(c[p>>2]<<2)>>2];c[(c[g>>2]|0)+(c[p>>2]<<2)>>2]=c[l>>2]<<c[n>>2]|(c[m>>2]|0)>>>(c[o>>2]|0);c[l>>2]=c[m>>2]}c[(c[g>>2]|0)+(c[p>>2]<<2)>>2]=c[l>>2]<<c[n>>2];i=f;return c[q>>2]|0}function Pp(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;f=i;i=i+80|0;g=f+68|0;h=f+64|0;j=f+60|0;k=f+56|0;l=f+52|0;m=f+48|0;n=f+44|0;o=f+40|0;p=f+36|0;q=f+32|0;r=f+28|0;s=f+24|0;t=f+20|0;u=f+16|0;v=f+12|0;w=f+8|0;x=f+4|0;y=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=0-(c[j>>2]|0);c[h>>2]=(c[h>>2]|0)+(0-(c[m>>2]|0)<<2);c[g>>2]=(c[g>>2]|0)+(0-(c[m>>2]|0)<<2);c[l>>2]=0;do{c[x>>2]=c[(c[h>>2]|0)+(c[m>>2]<<2)>>2];c[y>>2]=c[k>>2];c[t>>2]=c[x>>2]&65535;c[v>>2]=(c[x>>2]|0)>>>16;c[u>>2]=c[y>>2]&65535;c[w>>2]=(c[y>>2]|0)>>>16;c[p>>2]=_(c[t>>2]|0,c[u>>2]|0)|0;c[q>>2]=_(c[t>>2]|0,c[w>>2]|0)|0;c[r>>2]=_(c[v>>2]|0,c[u>>2]|0)|0;c[s>>2]=_(c[v>>2]|0,c[w>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+((c[p>>2]|0)>>>16);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);if((c[q>>2]|0)>>>0<(c[r>>2]|0)>>>0)c[s>>2]=(c[s>>2]|0)+65536;c[n>>2]=(c[s>>2]|0)+((c[q>>2]|0)>>>16);c[o>>2]=((c[q>>2]&65535)<<16)+(c[p>>2]&65535);c[o>>2]=(c[o>>2]|0)+(c[l>>2]|0);c[l>>2]=((c[o>>2]|0)>>>0<(c[l>>2]|0)>>>0?1:0)+(c[n>>2]|0);c[(c[g>>2]|0)+(c[m>>2]<<2)>>2]=c[o>>2];j=(c[m>>2]|0)+1|0;c[m>>2]=j}while((j|0)!=0);i=f;return c[l>>2]|0}function Qp(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+80|0;g=f+72|0;h=f+68|0;j=f+64|0;k=f+60|0;l=f+56|0;m=f+52|0;n=f+48|0;o=f+44|0;p=f+40|0;q=f+36|0;r=f+32|0;s=f+28|0;t=f+24|0;u=f+20|0;v=f+16|0;w=f+12|0;x=f+8|0;y=f+4|0;z=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=0-(c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+(0-(c[m>>2]|0)<<2);c[h>>2]=(c[h>>2]|0)+(0-(c[m>>2]|0)<<2);c[l>>2]=0;do{c[y>>2]=c[(c[h>>2]|0)+(c[m>>2]<<2)>>2];c[z>>2]=c[k>>2];c[u>>2]=c[y>>2]&65535;c[w>>2]=(c[y>>2]|0)>>>16;c[v>>2]=c[z>>2]&65535;c[x>>2]=(c[z>>2]|0)>>>16;c[q>>2]=_(c[u>>2]|0,c[v>>2]|0)|0;c[r>>2]=_(c[u>>2]|0,c[x>>2]|0)|0;c[s>>2]=_(c[w>>2]|0,c[v>>2]|0)|0;c[t>>2]=_(c[w>>2]|0,c[x>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+((c[q>>2]|0)>>>16);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);if((c[r>>2]|0)>>>0<(c[s>>2]|0)>>>0)c[t>>2]=(c[t>>2]|0)+65536;c[n>>2]=(c[t>>2]|0)+((c[r>>2]|0)>>>16);c[o>>2]=((c[r>>2]&65535)<<16)+(c[q>>2]&65535);c[o>>2]=(c[o>>2]|0)+(c[l>>2]|0);c[l>>2]=((c[o>>2]|0)>>>0<(c[l>>2]|0)>>>0?1:0)+(c[n>>2]|0);c[p>>2]=c[(c[g>>2]|0)+(c[m>>2]<<2)>>2];c[o>>2]=(c[p>>2]|0)-(c[o>>2]|0);c[l>>2]=(c[l>>2]|0)+((c[o>>2]|0)>>>0>(c[p>>2]|0)>>>0?1:0);c[(c[g>>2]|0)+(c[m>>2]<<2)>>2]=c[o>>2];j=(c[m>>2]|0)+1|0;c[m>>2]=j}while((j|0)!=0);i=f;return c[l>>2]|0}function Rp(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;f=i;i=i+48|0;g=f+32|0;h=f+28|0;j=f+24|0;k=f+20|0;l=f+16|0;m=f+12|0;n=f+8|0;o=f+4|0;p=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[n>>2]=c[c[j>>2]>>2];if((c[n>>2]|0)>>>0<=1){a:do if((c[n>>2]|0)==1){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break a;c[(c[g>>2]|0)+(c[o>>2]<<2)>>2]=c[(c[h>>2]|0)+(c[o>>2]<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}}else{c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[k>>2]|0))break a;c[(c[g>>2]|0)+(c[p>>2]<<2)>>2]=0;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[m>>2]=0}else c[m>>2]=Pp(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,c[n>>2]|0)|0;c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]=c[m>>2];c[g>>2]=(c[g>>2]|0)+4;c[l>>2]=1;while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;c[n>>2]=c[(c[j>>2]|0)+(c[l>>2]<<2)>>2];if((c[n>>2]|0)>>>0<=1){c[m>>2]=0;if((c[n>>2]|0)==1)c[m>>2]=Kp(c[g>>2]|0,c[g>>2]|0,c[h>>2]|0,c[k>>2]|0)|0}else c[m>>2]=Wt(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,c[n>>2]|0)|0;c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]=c[m>>2];c[g>>2]=(c[g>>2]|0)+4;c[l>>2]=(c[l>>2]|0)+1}i=f;return c[m>>2]|0}function Sp(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;g=i;i=i+48|0;h=g+44|0;j=g+40|0;k=g+36|0;l=g+32|0;m=g+28|0;n=g+24|0;o=g+20|0;p=g+16|0;q=g+12|0;r=g+8|0;s=g+4|0;t=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=c[l>>2]|0;if(c[l>>2]&1){c[n>>2]=f-1;e=c[h>>2]|0;d=c[j>>2]|0;b=c[k>>2]|0;a=c[n>>2]|0;if((c[n>>2]|0)<16)Rp(e,d,b,a)|0;else Sp(e,d,b,a,c[m>>2]|0);c[o>>2]=Wt((c[h>>2]|0)+(c[n>>2]<<2)|0,c[j>>2]|0,c[n>>2]|0,c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)|0;c[(c[h>>2]|0)+((c[n>>2]|0)+(c[n>>2]|0)<<2)>>2]=c[o>>2];c[o>>2]=Wt((c[h>>2]|0)+(c[n>>2]<<2)|0,c[k>>2]|0,c[l>>2]|0,c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]|0)|0;c[(c[h>>2]|0)+((c[n>>2]|0)+(c[l>>2]|0)<<2)>>2]=c[o>>2];i=g;return}c[p>>2]=f>>1;f=(c[h>>2]|0)+(c[l>>2]<<2)|0;o=(c[j>>2]|0)+(c[p>>2]<<2)|0;n=(c[k>>2]|0)+(c[p>>2]<<2)|0;a=c[p>>2]|0;if((c[p>>2]|0)<16)Rp(f,o,n,a)|0;else Sp(f,o,n,a,c[m>>2]|0);a=(op((c[j>>2]|0)+(c[p>>2]<<2)|0,c[j>>2]|0,c[p>>2]|0)|0)>=0;n=c[h>>2]|0;o=c[j>>2]|0;if(a){Xp(n,o+(c[p>>2]<<2)|0,c[j>>2]|0,c[p>>2]|0)|0;c[r>>2]=0}else{Xp(n,o,(c[j>>2]|0)+(c[p>>2]<<2)|0,c[p>>2]|0)|0;c[r>>2]=1}o=(op((c[k>>2]|0)+(c[p>>2]<<2)|0,c[k>>2]|0,c[p>>2]|0)|0)>=0;n=(c[h>>2]|0)+(c[p>>2]<<2)|0;a=c[k>>2]|0;if(o){Xp(n,a+(c[p>>2]<<2)|0,c[k>>2]|0,c[p>>2]|0)|0;c[r>>2]=c[r>>2]^1}else Xp(n,a,(c[k>>2]|0)+(c[p>>2]<<2)|0,c[p>>2]|0)|0;a=c[m>>2]|0;n=c[h>>2]|0;o=(c[h>>2]|0)+(c[p>>2]<<2)|0;f=c[p>>2]|0;if((c[p>>2]|0)<16)Rp(a,n,o,f)|0;else Sp(a,n,o,f,(c[m>>2]|0)+(c[l>>2]<<2)|0);c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[p>>2]|0))break;c[(c[h>>2]|0)+(c[p>>2]<<2)+(c[s>>2]<<2)>>2]=c[(c[h>>2]|0)+(c[l>>2]<<2)+(c[s>>2]<<2)>>2];c[s>>2]=(c[s>>2]|0)+1}c[q>>2]=Kp((c[h>>2]|0)+(c[l>>2]<<2)|0,(c[h>>2]|0)+(c[l>>2]<<2)|0,(c[h>>2]|0)+(c[l>>2]<<2)+(c[p>>2]<<2)|0,c[p>>2]|0)|0;s=(c[h>>2]|0)+(c[p>>2]<<2)|0;f=(c[h>>2]|0)+(c[p>>2]<<2)|0;o=c[m>>2]|0;n=c[l>>2]|0;if(c[r>>2]|0){r=Xp(s,f,o,n)|0;c[q>>2]=(c[q>>2]|0)-r}else{r=Kp(s,f,o,n)|0;c[q>>2]=(c[q>>2]|0)+r}r=c[m>>2]|0;n=c[j>>2]|0;j=c[k>>2]|0;k=c[p>>2]|0;if((c[p>>2]|0)<16)Rp(r,n,j,k)|0;else Sp(r,n,j,k,(c[m>>2]|0)+(c[l>>2]<<2)|0);k=Kp((c[h>>2]|0)+(c[p>>2]<<2)|0,(c[h>>2]|0)+(c[p>>2]<<2)|0,c[m>>2]|0,c[l>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+k;if(c[q>>2]|0)kp((c[h>>2]|0)+(c[p>>2]<<2)+(c[l>>2]<<2)|0,(c[h>>2]|0)+(c[p>>2]<<2)+(c[l>>2]<<2)|0,c[p>>2]|0,c[q>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[p>>2]|0))break;c[(c[h>>2]|0)+(c[t>>2]<<2)>>2]=c[(c[m>>2]|0)+(c[t>>2]<<2)>>2];c[t>>2]=(c[t>>2]|0)+1}c[q>>2]=Kp((c[h>>2]|0)+(c[p>>2]<<2)|0,(c[h>>2]|0)+(c[p>>2]<<2)|0,(c[m>>2]|0)+(c[p>>2]<<2)|0,c[p>>2]|0)|0;if(!(c[q>>2]|0)){i=g;return}kp((c[h>>2]|0)+(c[l>>2]<<2)|0,(c[h>>2]|0)+(c[l>>2]<<2)|0,c[l>>2]|0,1)|0;i=g;return}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,n=0,o=0,p=0,q=0,r=0;h=i;i=i+32|0;j=h+24|0;k=h+20|0;l=h+16|0;m=h+12|0;n=h+8|0;o=h+4|0;p=h;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;if(!((c[(c[o>>2]|0)+4>>2]|0)!=0?(c[(c[o>>2]|0)+12>>2]|0)>=(c[n>>2]|0):0)){if(c[(c[o>>2]|0)+4>>2]|0)cq(c[(c[o>>2]|0)+4>>2]|0,c[(c[o>>2]|0)+8>>2]|0);c[(c[o>>2]|0)+8>>2]=c[n>>2]<<1;g=c[n>>2]<<1;if(Zf(c[k>>2]|0)|0)q=1;else q=(Zf(c[m>>2]|0)|0)!=0;f=aq(g,q&1)|0;c[(c[o>>2]|0)+4>>2]=f;c[(c[o>>2]|0)+12>>2]=c[n>>2]}f=c[j>>2]|0;q=c[k>>2]|0;g=c[m>>2]|0;e=c[n>>2]|0;if((c[n>>2]|0)<16)Rp(f,q,g,e)|0;else Sp(f,q,g,e,c[(c[o>>2]|0)+4>>2]|0);c[j>>2]=(c[j>>2]|0)+(c[n>>2]<<2);c[k>>2]=(c[k>>2]|0)+(c[n>>2]<<2);c[l>>2]=(c[l>>2]|0)-(c[n>>2]|0);if((c[l>>2]|0)>=(c[n>>2]|0)){if(!((c[(c[o>>2]|0)+16>>2]|0)!=0?(c[(c[o>>2]|0)+24>>2]|0)>=(c[n>>2]|0):0)){if(c[(c[o>>2]|0)+16>>2]|0)cq(c[(c[o>>2]|0)+16>>2]|0,c[(c[o>>2]|0)+20>>2]|0);c[(c[o>>2]|0)+20>>2]=c[n>>2]<<1;e=c[n>>2]<<1;if(Zf(c[k>>2]|0)|0)r=1;else r=(Zf(c[m>>2]|0)|0)!=0;g=aq(e,r&1)|0;c[(c[o>>2]|0)+16>>2]=g;c[(c[o>>2]|0)+24>>2]=c[n>>2]}do{g=c[(c[o>>2]|0)+16>>2]|0;r=c[k>>2]|0;e=c[m>>2]|0;q=c[n>>2]|0;if((c[n>>2]|0)<16)Rp(g,r,e,q)|0;else Sp(g,r,e,q,c[(c[o>>2]|0)+4>>2]|0);c[p>>2]=Kp(c[j>>2]|0,c[j>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[n>>2]|0)|0;kp((c[j>>2]|0)+(c[n>>2]<<2)|0,(c[(c[o>>2]|0)+16>>2]|0)+(c[n>>2]<<2)|0,c[n>>2]|0,c[p>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[n>>2]<<2);c[k>>2]=(c[k>>2]|0)+(c[n>>2]<<2);c[l>>2]=(c[l>>2]|0)-(c[n>>2]|0)}while((c[l>>2]|0)>=(c[n>>2]|0))}if(!(c[l>>2]|0)){i=h;return}q=c[o>>2]|0;if((c[l>>2]|0)<16)Up(c[q+4>>2]|0,c[m>>2]|0,c[n>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;else{if(!(c[q>>2]|0)){q=gg(1,28)|0;c[c[o>>2]>>2]=q}Tp(c[(c[o>>2]|0)+4>>2]|0,c[m>>2]|0,c[n>>2]|0,c[k>>2]|0,c[l>>2]|0,c[c[o>>2]>>2]|0)}c[p>>2]=Kp(c[j>>2]|0,c[j>>2]|0,c[(c[o>>2]|0)+4>>2]|0,c[n>>2]|0)|0;kp((c[j>>2]|0)+(c[n>>2]<<2)|0,(c[(c[o>>2]|0)+4>>2]|0)+(c[n>>2]<<2)|0,c[l>>2]|0,c[p>>2]|0)|0;i=h;return}function Up(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;g=i;i=i+80|0;h=g+72|0;j=g+68|0;k=g+64|0;l=g+60|0;m=g+56|0;n=g+52|0;o=g+48|0;p=g+44|0;q=g+16|0;r=g+12|0;s=g+8|0;t=g+4|0;u=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=(c[j>>2]|0)+(c[l>>2]<<2)+(c[n>>2]<<2)+-4;if((c[n>>2]|0)>=16){c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;Tp(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,q);Vp(q);c[h>>2]=c[c[o>>2]>>2];v=c[h>>2]|0;i=g;return v|0}if(!(c[n>>2]|0)){c[h>>2]=0;v=c[h>>2]|0;i=g;return v|0}c[s>>2]=c[c[m>>2]>>2];if((c[s>>2]|0)>>>0<=1){a:do if((c[s>>2]|0)==1){c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[l>>2]|0))break a;c[(c[j>>2]|0)+(c[t>>2]<<2)>>2]=c[(c[k>>2]|0)+(c[t>>2]<<2)>>2];c[t>>2]=(c[t>>2]|0)+1}}else{c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[l>>2]|0))break a;c[(c[j>>2]|0)+(c[u>>2]<<2)>>2]=0;c[u>>2]=(c[u>>2]|0)+1}}while(0);c[p>>2]=0}else c[p>>2]=Pp(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[s>>2]|0)|0;c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]=c[p>>2];c[j>>2]=(c[j>>2]|0)+4;c[r>>2]=1;while(1){if((c[r>>2]|0)>=(c[n>>2]|0))break;c[s>>2]=c[(c[m>>2]|0)+(c[r>>2]<<2)>>2];if((c[s>>2]|0)>>>0<=1){c[p>>2]=0;if((c[s>>2]|0)==1)c[p>>2]=Kp(c[j>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0}else c[p>>2]=Wt(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[s>>2]|0)|0;c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]=c[p>>2];c[j>>2]=(c[j>>2]|0)+4;c[r>>2]=(c[r>>2]|0)+1}c[h>>2]=c[p>>2];v=c[h>>2]|0;i=g;return v|0}function Vp(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;if(c[(c[d>>2]|0)+16>>2]|0)cq(c[(c[d>>2]|0)+16>>2]|0,c[(c[d>>2]|0)+20>>2]|0);if(c[(c[d>>2]|0)+4>>2]|0)cq(c[(c[d>>2]|0)+4>>2]|0,c[(c[d>>2]|0)+8>>2]|0);c[d>>2]=c[c[d>>2]>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];if(c[(c[d>>2]|0)+16>>2]|0)cq(c[(c[d>>2]|0)+16>>2]|0,c[(c[d>>2]|0)+20>>2]|0);if(c[(c[d>>2]|0)+4>>2]|0)cq(c[(c[d>>2]|0)+4>>2]|0,c[(c[d>>2]|0)+8>>2]|0);$f(c[d>>2]|0);c[d>>2]=c[e>>2]}i=b;return}function Wp(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;f=i;i=i+48|0;g=f+36|0;h=f+32|0;j=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+8|0;p=f+4|0;q=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[n>>2]=c[k>>2];c[g>>2]=(c[g>>2]|0)+-4;c[o>>2]=32-(c[n>>2]|0);c[l>>2]=c[c[h>>2]>>2];c[q>>2]=c[l>>2]<<c[o>>2];c[m>>2]=c[l>>2];c[p>>2]=1;while(1){if((c[p>>2]|0)>=(c[j>>2]|0))break;c[l>>2]=c[(c[h>>2]|0)+(c[p>>2]<<2)>>2];c[(c[g>>2]|0)+(c[p>>2]<<2)>>2]=(c[m>>2]|0)>>>(c[n>>2]|0)|c[l>>2]<<c[o>>2];c[m>>2]=c[l>>2];c[p>>2]=(c[p>>2]|0)+1}c[(c[g>>2]|0)+(c[p>>2]<<2)>>2]=(c[m>>2]|0)>>>(c[n>>2]|0);i=f;return c[q>>2]|0}function Xp(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+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;o=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[o>>2]=0-(c[k>>2]|0);c[h>>2]=(c[h>>2]|0)+(0-(c[o>>2]|0)<<2);c[j>>2]=(c[j>>2]|0)+(0-(c[o>>2]|0)<<2);c[g>>2]=(c[g>>2]|0)+(0-(c[o>>2]|0)<<2);c[n>>2]=0;do{c[m>>2]=c[(c[j>>2]|0)+(c[o>>2]<<2)>>2];c[l>>2]=c[(c[h>>2]|0)+(c[o>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);c[n>>2]=(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0&1;c[m>>2]=(c[l>>2]|0)-(c[m>>2]|0);c[n>>2]=(c[n>>2]|0)+((c[m>>2]|0)>>>0>(c[l>>2]|0)>>>0&1);c[(c[g>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];k=(c[o>>2]|0)+1|0;c[o>>2]=k}while((k|0)!=0);i=f;return c[n>>2]|0}function Yp(){return 46156}function Zp(){var a=0,b=0,d=0,e=0,f=0,g=0;a=i;i=i+16|0;b=a;d=a+8|0;e=a+4|0;c[d>>2]=0;a:while(1){if((c[d>>2]|0)>=6){f=12;break}switch(c[d>>2]|0){case 0:{c[e>>2]=0;break}case 1:{c[e>>2]=1;break}case 2:{c[e>>2]=2;break}case 3:{c[e>>2]=3;break}case 4:{c[e>>2]=4;break}case 5:{c[e>>2]=8;break}default:{f=10;break a}}g=_p(c[e>>2]|0)|0;c[70860+(c[d>>2]<<2)>>2]=g;c[(c[70860+(c[d>>2]<<2)>>2]|0)+12>>2]=48;c[d>>2]=(c[d>>2]|0)+1}if((f|0)==10){c[b>>2]=c[d>>2];Cf(46300,b)}else if((f|0)==12){i=a;return 0}return 0}function _p(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=$p(1)|0;c[c[(c[e>>2]|0)+16>>2]>>2]=c[d>>2];c[(c[e>>2]|0)+4>>2]=(c[d>>2]|0)!=0?1:0;c[(c[e>>2]|0)+8>>2]=0;i=b;return c[e>>2]|0}function $p(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=dg(20)|0;if(c[d>>2]|0)f=aq(c[d>>2]|0,0)|0;else f=0;c[(c[e>>2]|0)+16>>2]=f;c[c[e>>2]>>2]=c[d>>2];c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+12>>2]=0;i=b;return c[e>>2]|0}function aq(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+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[h>>2]=((c[e>>2]|0)!=0?c[e>>2]|0:1)<<2;b=c[h>>2]|0;if(c[f>>2]|0)j=fg(b)|0;else j=dg(b)|0;c[g>>2]=j;if(c[e>>2]|0){k=c[g>>2]|0;i=d;return k|0}c[c[g>>2]>>2]=0;k=c[g>>2]|0;i=d;return k|0}function bq(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=dg(20)|0;if(c[d>>2]|0)f=aq(c[d>>2]|0,1)|0;else f=0;c[(c[e>>2]|0)+16>>2]=f;c[c[e>>2]>>2]=c[d>>2];c[(c[e>>2]|0)+12>>2]=1;c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=0;i=b;return c[e>>2]|0}function cq(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+48|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+32|0;n=f;o=f+8|0;c[g>>2]=b;c[h>>2]=e;if(!(c[g>>2]|0)){i=f;return}c[j>>2]=c[h>>2]<<2;a:do if(c[j>>2]|0){c[k>>2]=c[g>>2];c[l>>2]=c[j>>2];a[m>>0]=0;h=n;c[h>>2]=d[m>>0];c[h+4>>2]=0;while(1){if(!((c[k>>2]&7|0)!=0?(c[l>>2]|0)!=0:0))break;a[c[k>>2]>>0]=a[m>>0]|0;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+-1}if((c[l>>2]|0)>>>0>=8){h=n;e=Mx(c[h>>2]|0,c[h+4>>2]|0,16843009,16843009)|0;h=n;c[h>>2]=e;c[h+4>>2]=C;do{c[o>>2]=c[k>>2];h=n;e=c[h+4>>2]|0;b=c[o>>2]|0;c[b>>2]=c[h>>2];c[b+4>>2]=e;c[l>>2]=(c[l>>2]|0)-8;c[k>>2]=(c[k>>2]|0)+8}while((c[l>>2]|0)>>>0>=8)}while(1){if(!(c[l>>2]|0))break a;a[c[k>>2]>>0]=a[m>>0]|0;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+-1}}while(0);$f(c[g>>2]|0);i=f;return}function dq(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;cq(c[(c[f>>2]|0)+16>>2]|0,c[c[f>>2]>>2]|0);c[(c[f>>2]|0)+16>>2]=c[g>>2];c[c[f>>2]>>2]=c[h>>2];i=e;return}function eq(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+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;if((c[f>>2]|0)>>>0<=(c[c[e>>2]>>2]|0)>>>0){c[g>>2]=c[b+4>>2];while(1){if((c[g>>2]|0)>>>0>=(c[c[e>>2]>>2]|0)>>>0)break;c[(c[(c[e>>2]|0)+16>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}i=d;return}a=c[e>>2]|0;a:do if(!(c[b+16>>2]|0)){h=c[f>>2]|0;if(c[a+12>>2]&1){j=hg(h,4)|0;c[(c[e>>2]|0)+16>>2]=j;break}else{j=gg(h,4)|0;c[(c[e>>2]|0)+16>>2]=j;break}}else{j=eg(c[a+16>>2]|0,c[f>>2]<<2)|0;c[(c[e>>2]|0)+16>>2]=j;c[g>>2]=c[c[e>>2]>>2];while(1){if((c[g>>2]|0)>>>0>=(c[f>>2]|0)>>>0)break a;c[(c[(c[e>>2]|0)+16>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}}while(0);c[c[e>>2]>>2]=c[f>>2];i=d;return}function fq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+12>>2]&16|0)!=0:0){gq();i=b;return}c[(c[d>>2]|0)+4>>2]=0;c[(c[d>>2]|0)+12>>2]=0;i=b;return}function gq(){var a=0;a=i;i=i+16|0;yf(46331,a);i=a;return}function hq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b+4|0;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}if(c[(c[d>>2]|0)+12>>2]&32){i=b;return}a=c[(c[d>>2]|0)+16>>2]|0;if(c[(c[d>>2]|0)+12>>2]&4)$f(a);else cq(a,c[c[d>>2]>>2]|0);if(c[(c[d>>2]|0)+12>>2]&-3864)Cf(46375,b);$f(c[d>>2]|0);i=b;return}function iq(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+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(!(c[g>>2]|0))c[g>>2]=$p(0)|0;if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+12>>2]&16|0)!=0:0){gq();c[f>>2]=c[g>>2];k=c[f>>2]|0;i=e;return k|0}d=c[(c[g>>2]|0)+16>>2]|0;if(c[(c[g>>2]|0)+12>>2]&4)$f(d);else cq(d,c[c[g>>2]>>2]|0);c[(c[g>>2]|0)+16>>2]=c[h>>2];c[c[g>>2]>>2]=0;c[(c[g>>2]|0)+4>>2]=0;c[(c[g>>2]|0)+8>>2]=c[j>>2];c[(c[g>>2]|0)+12>>2]=4|c[(c[g>>2]|0)+12>>2]&3840;if(Zf(c[(c[g>>2]|0)+16>>2]|0)|0){j=(c[g>>2]|0)+12|0;c[j>>2]=c[j>>2]|1}c[f>>2]=c[g>>2];k=c[f>>2]|0;i=e;return k|0}function jq(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+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=(((c[j>>2]|0)+7|0)>>>0)/8|0;d=(Zf(c[h>>2]|0)|0)!=0;b=c[l>>2]|0;if(d)m=Yf(b)|0;else m=Vf(b)|0;c[k>>2]=m;if(c[k>>2]|0){Dx(c[k>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;c[f>>2]=iq(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;n=c[f>>2]|0;i=e;return n|0}else{c[f>>2]=0;n=c[f>>2]|0;i=e;return n|0}return 0}function kq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;c[e>>2]=a;c[f>>2]=b;if(!(c[(c[e>>2]|0)+12>>2]&4))Cf(46407,d);if(c[f>>2]|0)c[c[f>>2]>>2]=c[(c[e>>2]|0)+8>>2];i=d;return c[(c[e>>2]|0)+16>>2]|0}function lq(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+32|0;e=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=kq(c[f>>2]|0,c[g>>2]|0)|0;if((c[h>>2]|0)==0&(c[g>>2]|0)!=0){c[e>>2]=0;l=c[e>>2]|0;i=d;return l|0}c[k>>2]=(((c[c[g>>2]>>2]|0)+7|0)>>>0)/8|0;g=(Zf(c[h>>2]|0)|0)!=0;f=c[k>>2]|0;if(g)m=Yf(f)|0;else m=Vf(f)|0;c[j>>2]=m;if(c[j>>2]|0)Dx(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;c[e>>2]=c[j>>2];l=c[e>>2]|0;i=d;return l|0}function mq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;if((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+12>>2]&4|0)!=0:0){a=(Zf(c[(c[d>>2]|0)+16>>2]|0)|0)!=0;h=((c[(c[d>>2]|0)+8>>2]|0)+7|0)/8|0;if(a)j=fg(h)|0;else j=dg(h)|0;c[g>>2]=j;if(c[(c[d>>2]|0)+16>>2]|0)Dx(c[g>>2]|0,c[(c[d>>2]|0)+16>>2]|0,((c[(c[d>>2]|0)+8>>2]|0)+7|0)/8|0|0)|0;c[f>>2]=iq(0,c[g>>2]|0,c[(c[d>>2]|0)+8>>2]|0)|0;g=(c[f>>2]|0)+12|0;c[g>>2]=c[g>>2]&-49;k=c[f>>2]|0;i=b;return k|0}if(!(c[d>>2]|0)){c[f>>2]=0;k=c[f>>2]|0;i=b;return k|0}if((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+12>>2]&1|0)!=0:0)l=bq(c[(c[d>>2]|0)+4>>2]|0)|0;else l=$p(c[(c[d>>2]|0)+4>>2]|0)|0;c[f>>2]=l;c[(c[f>>2]|0)+4>>2]=c[(c[d>>2]|0)+4>>2];c[(c[f>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2];c[(c[f>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];l=(c[f>>2]|0)+12|0;c[l>>2]=c[l>>2]&-49;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0))break;c[(c[(c[f>>2]|0)+16>>2]|0)+(c[e>>2]<<2)>>2]=c[(c[(c[d>>2]|0)+16>>2]|0)+(c[e>>2]<<2)>>2];c[e>>2]=(c[e>>2]|0)+1}k=c[f>>2]|0;i=b;return k|0}function nq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;if((c[e>>2]|0)==(c[f>>2]|0)){if((b|0)!=0?(c[(c[e>>2]|0)+12>>2]&16|0)!=0:0){gq();i=d;return}}else oq(b,c[f>>2]|0)|0;c[(c[e>>2]|0)+8>>2]=((c[(c[f>>2]|0)+8>>2]|0)!=0^1)&1;i=d;return}function oq(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+28|0;f=d+24|0;g=d+20|0;h=d+16|0;j=d+12|0;k=d+8|0;l=d+4|0;m=d;c[f>>2]=a;c[g>>2]=b;c[k>>2]=c[(c[g>>2]|0)+4>>2];c[l>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[f>>2]|0))c[f>>2]=$p(c[(c[g>>2]|0)+4>>2]|0)|0;if((c[f>>2]|0)!=0?(c[(c[f>>2]|0)+12>>2]&16|0)!=0:0){gq();c[e>>2]=c[f>>2];n=c[e>>2]|0;i=d;return n|0}if((c[c[f>>2]>>2]|0)<(c[k>>2]|0))eq(c[f>>2]|0,c[k>>2]|0);c[h>>2]=c[(c[f>>2]|0)+16>>2];c[j>>2]=c[(c[g>>2]|0)+16>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;c[(c[h>>2]|0)+(c[m>>2]<<2)>>2]=c[(c[j>>2]|0)+(c[m>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}c[(c[f>>2]|0)+4>>2]=c[k>>2];c[(c[f>>2]|0)+12>>2]=c[(c[g>>2]|0)+12>>2];g=(c[f>>2]|0)+12|0;c[g>>2]=c[g>>2]&-49;c[(c[f>>2]|0)+8>>2]=c[l>>2];c[e>>2]=c[f>>2];n=c[e>>2]|0;i=d;return n|0}function pq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;if((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+12>>2]&4|0)!=0:0){c[f>>2]=((c[(c[d>>2]|0)+8>>2]|0)+7|0)/8|0;a=(Zf(c[(c[d>>2]|0)+16>>2]|0)|0)!=0;h=c[f>>2]|0;if(a)j=Yf(h)|0;else j=Vf(h)|0;c[g>>2]=j;Dx(c[g>>2]|0,c[(c[d>>2]|0)+16>>2]|0,c[f>>2]|0)|0;c[e>>2]=iq(0,c[g>>2]|0,c[(c[d>>2]|0)+8>>2]|0)|0;k=c[e>>2]|0;i=b;return k|0}if(!(c[d>>2]|0)){c[e>>2]=0;k=c[e>>2]|0;i=b;return k|0}if((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+12>>2]&1|0)!=0:0)l=bq(c[(c[d>>2]|0)+4>>2]|0)|0;else l=$p(c[(c[d>>2]|0)+4>>2]|0)|0;c[e>>2]=l;c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];k=c[e>>2]|0;i=b;return k|0}function qq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(c[e>>2]|0){if((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+12>>2]&16|0)!=0:0){gq();i=d;return}dq(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[c[f>>2]>>2]|0);c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];c[(c[e>>2]|0)+8>>2]=c[(c[f>>2]|0)+8>>2];c[(c[e>>2]|0)+12>>2]=c[(c[f>>2]|0)+12>>2];c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+16>>2]=0}hq(c[f>>2]|0);i=d;return}function rq(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+32|0;f=e+28|0;g=e+24|0;h=e+20|0;j=e+16|0;k=e+12|0;l=e+8|0;m=e+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=c[c[g>>2]>>2];c[l>>2]=0-(((c[h>>2]|0)!=0^1^1)&1);if((c[c[f>>2]>>2]|0)!=(c[c[g>>2]>>2]|0))Cf(46437,e);c[j>>2]=0;while(1){n=c[l>>2]|0;if((c[j>>2]|0)>=(c[k>>2]|0))break;c[m>>2]=n&(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]^c[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]);c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]^c[m>>2];c[j>>2]=(c[j>>2]|0)+1}c[m>>2]=n&(c[(c[f>>2]|0)+4>>2]^c[(c[g>>2]|0)+4>>2]);c[(c[f>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2]^c[m>>2];c[m>>2]=c[l>>2]&(c[(c[f>>2]|0)+8>>2]^c[(c[g>>2]|0)+8>>2]);c[(c[f>>2]|0)+8>>2]=c[(c[f>>2]|0)+8>>2]^c[m>>2];i=e;return c[f>>2]|0}function sq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0))c[f>>2]=$p(1)|0;if((c[f>>2]|0)!=0?(c[(c[f>>2]|0)+12>>2]&16|0)!=0:0){gq();c[e>>2]=c[f>>2];h=c[e>>2]|0;i=d;return h|0}if((c[c[f>>2]>>2]|0)<1)eq(c[f>>2]|0,1);c[c[(c[f>>2]|0)+16>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+4>>2]=(c[g>>2]|0)!=0?1:0;c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[e>>2]=c[f>>2];h=c[e>>2]|0;i=d;return h|0}function tq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;e=d+24|0;f=d+20|0;g=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];c[g+16>>2]=c[b+16>>2];b=c[e>>2]|0;e=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[b+16>>2]=c[e+16>>2];e=c[f>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];i=d;return}function uq(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+32|0;f=e+28|0;g=e+24|0;h=e+20|0;j=e+16|0;k=e+12|0;l=e+8|0;m=e+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=c[c[f>>2]>>2];c[l>>2]=0-(((c[h>>2]|0)!=0^1^1)&1);if((c[c[f>>2]>>2]|0)!=(c[c[g>>2]>>2]|0))Cf(46468,e);c[j>>2]=0;while(1){n=c[l>>2]|0;if((c[j>>2]|0)>=(c[k>>2]|0))break;c[m>>2]=n&(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]^c[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]);c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]^c[m>>2];c[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]^c[m>>2];c[j>>2]=(c[j>>2]|0)+1}c[m>>2]=n&(c[(c[f>>2]|0)+4>>2]^c[(c[g>>2]|0)+4>>2]);c[(c[f>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2]^c[m>>2];c[(c[g>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2]^c[m>>2];c[m>>2]=c[l>>2]&(c[(c[f>>2]|0)+8>>2]^c[(c[g>>2]|0)+8>>2]);c[(c[f>>2]|0)+8>>2]=c[(c[f>>2]|0)+8>>2]^c[m>>2];c[(c[g>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2]^c[m>>2];i=e;return}function vq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=$p((((c[d>>2]|0)+32-1|0)>>>0)/32|0)|0;i=b;return a|0}function wq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=bq((((c[d>>2]|0)+32-1|0)>>>0)/32|0)|0;i=b;return a|0}function xq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;hq(c[d>>2]|0);i=b;return}function yq(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+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=(((c[g>>2]|0)+7|0)>>>0)/8|0;if((c[f>>2]|0)!=0?(c[(c[f>>2]|0)+12>>2]&16|0)!=0:0){gq();i=e;return}g=(c[f>>2]|0)!=0;if(!(c[h>>2]|0)){if(g?(c[(c[f>>2]|0)+12>>2]&1|0)!=0:0)l=fg(c[k>>2]|0)|0;else l=dg(c[k>>2]|0)|0;c[j>>2]=l;Tn(c[j>>2]|0,c[k>>2]|0)}else{if(g?(c[(c[f>>2]|0)+12>>2]&1|0)!=0:0)m=On(c[k>>2]|0,c[h>>2]|0)|0;else m=Mn(c[k>>2]|0,c[h>>2]|0)|0;c[j>>2]=m}Cp(c[f>>2]|0,c[j>>2]|0,c[k>>2]|0,0);$f(c[j>>2]|0);i=e;return}function zq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;c[f>>2]=a;c[g>>2]=b;switch(c[g>>2]|0){case 1:{c[e>>2]=((c[(c[f>>2]|0)+12>>2]&1|0)!=0^1^1)&1;h=c[e>>2]|0;i=d;return h|0}case 2:{c[e>>2]=((c[(c[f>>2]|0)+12>>2]&4|0)!=0^1^1)&1;h=c[e>>2]|0;i=d;return h|0}case 4:{c[e>>2]=((c[(c[f>>2]|0)+12>>2]&16|0)!=0^1^1)&1;h=c[e>>2]|0;i=d;return h|0}case 8:{c[e>>2]=((c[(c[f>>2]|0)+12>>2]&32|0)!=0^1^1)&1;h=c[e>>2]|0;i=d;return h|0}case 2048:case 1024:case 512:case 256:{c[e>>2]=((c[(c[f>>2]|0)+12>>2]&c[g>>2]|0)!=0^1^1)&1;h=c[e>>2]|0;i=d;return h|0}default:Cf(46500,d)}return 0}function Aq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+12|0;c[e>>2]=a;a=c[e>>2]|0;if((c[e>>2]|0)<0|(c[e>>2]|0)>>>0>6){c[d>>2]=a;Cf(46300,d)}if(c[70860+(a<<2)>>2]|0){i=b;return c[70860+(c[e>>2]<<2)>>2]|0}else Cf(46520,b+8|0);return 0}function Bq(){return 46551}function Cq(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;f=i;i=i+96|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+32|0;n=f+8|0;o=f+4|0;p=f;c[h>>2]=b;c[j>>2]=e;c[k>>2]=sx(172)|0;if(!(c[k>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=f;return q|0}c[c[k>>2]>>2]=1779033703;c[(c[k>>2]|0)+4>>2]=-1150833019;c[(c[k>>2]|0)+8>>2]=1013904242;c[(c[k>>2]|0)+12>>2]=-1521486534;c[(c[k>>2]|0)+16>>2]=1359893119;c[(c[k>>2]|0)+20>>2]=-1694144372;c[(c[k>>2]|0)+24>>2]=528734635;c[(c[k>>2]|0)+28>>2]=1541459225;c[(c[k>>2]|0)+32>>2]=0;c[(c[k>>2]|0)+36>>2]=0;e=(c[k>>2]|0)+40|0;a[e>>0]=a[e>>0]&-2;e=(c[k>>2]|0)+40|0;a[e>>0]=a[e>>0]&-3;a:do if(c[h>>2]|0){e=m;b=e+64|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0));e=(c[k>>2]|0)+105|0;b=e+64|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0));do if((c[j>>2]|0)>>>0<=64){Dx(m|0,c[h>>2]|0,c[j>>2]|0)|0;Dx((c[k>>2]|0)+105|0,c[h>>2]|0,c[j>>2]|0)|0}else{c[n>>2]=Cq(0,0)|0;if(c[n>>2]|0){Dq(c[n>>2]|0,c[h>>2]|0,c[j>>2]|0);Gq(c[n>>2]|0);e=m;r=(c[n>>2]|0)+41|0;b=e+32|0;do{a[e>>0]=a[r>>0]|0;e=e+1|0;r=r+1|0}while((e|0)<(b|0));e=(c[k>>2]|0)+105|0;r=(c[n>>2]|0)+41|0;b=e+32|0;do{a[e>>0]=a[r>>0]|0;e=e+1|0;r=r+1|0}while((e|0)<(b|0));Hq(c[n>>2]|0);break}tx(c[k>>2]|0);c[g>>2]=0;q=c[g>>2]|0;i=f;return q|0}while(0);c[l>>2]=0;while(1){if((c[l>>2]|0)>=64)break;e=m+(c[l>>2]|0)|0;a[e>>0]=(d[e>>0]|0)^54;e=(c[k>>2]|0)+105+(c[l>>2]|0)|0;a[e>>0]=(d[e>>0]|0)^92;c[l>>2]=(c[l>>2]|0)+1}e=(c[k>>2]|0)+40|0;a[e>>0]=a[e>>0]&-3|2;Dq(c[k>>2]|0,m,64);c[o>>2]=m;c[p>>2]=64;while(1){if(!(c[p>>2]|0))break a;a[c[o>>2]>>0]=0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}}while(0);c[g>>2]=c[k>>2];q=c[g>>2]|0;i=f;return q|0}function Dq(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+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[h>>2];if((a[(c[g>>2]|0)+40>>0]<<7&255)<<24>>24>>7<<24>>24){i=f;return}if((c[(c[g>>2]|0)+36>>2]|0)==64){Eq(c[g>>2]|0,(c[g>>2]|0)+41|0);c[(c[g>>2]|0)+36>>2]=0;h=(c[g>>2]|0)+32|0;c[h>>2]=(c[h>>2]|0)+1}if(!(c[k>>2]|0)){i=f;return}if(c[(c[g>>2]|0)+36>>2]|0){while(1){if(!(c[j>>2]|0))break;if((c[(c[g>>2]|0)+36>>2]|0)>=64)break;h=c[k>>2]|0;c[k>>2]=h+1;e=a[h>>0]|0;h=(c[g>>2]|0)+36|0;d=c[h>>2]|0;c[h>>2]=d+1;a[(c[g>>2]|0)+41+d>>0]=e;c[j>>2]=(c[j>>2]|0)+-1}Dq(c[g>>2]|0,0,0);if(!(c[j>>2]|0)){i=f;return}}while(1){if((c[j>>2]|0)>>>0<64)break;Eq(c[g>>2]|0,c[k>>2]|0);c[(c[g>>2]|0)+36>>2]=0;e=(c[g>>2]|0)+32|0;c[e>>2]=(c[e>>2]|0)+1;c[j>>2]=(c[j>>2]|0)-64;c[k>>2]=(c[k>>2]|0)+64}while(1){if(!(c[j>>2]|0)){l=15;break}if((c[(c[g>>2]|0)+36>>2]|0)>=64){l=15;break}e=c[k>>2]|0;c[k>>2]=e+1;d=a[e>>0]|0;e=(c[g>>2]|0)+36|0;h=c[e>>2]|0;c[e>>2]=h+1;a[(c[g>>2]|0)+41+h>>0]=d;c[j>>2]=(c[j>>2]|0)+-1}if((l|0)==15){i=f;return}}function Eq(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+384|0;f=e+376|0;g=e+372|0;h=e+368|0;j=e+364|0;k=e+360|0;l=e+356|0;m=e+352|0;n=e+348|0;o=e+344|0;p=e+340|0;q=e+336|0;r=e+332|0;s=e+328|0;t=e+264|0;u=e+8|0;v=e+4|0;w=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[g>>2];c[j>>2]=c[c[f>>2]>>2];c[k>>2]=c[(c[f>>2]|0)+4>>2];c[l>>2]=c[(c[f>>2]|0)+8>>2];c[m>>2]=c[(c[f>>2]|0)+12>>2];c[n>>2]=c[(c[f>>2]|0)+16>>2];c[o>>2]=c[(c[f>>2]|0)+20>>2];c[p>>2]=c[(c[f>>2]|0)+24>>2];c[q>>2]=c[(c[f>>2]|0)+28>>2];c[v>>2]=0;c[w>>2]=t;while(1){if((c[v>>2]|0)>=16)break;g=c[h>>2]|0;c[h>>2]=g+1;a[(c[w>>2]|0)+3>>0]=a[g>>0]|0;g=c[h>>2]|0;c[h>>2]=g+1;a[(c[w>>2]|0)+2>>0]=a[g>>0]|0;g=c[h>>2]|0;c[h>>2]=g+1;a[(c[w>>2]|0)+1>>0]=a[g>>0]|0;g=c[h>>2]|0;c[h>>2]=g+1;a[c[w>>2]>>0]=a[g>>0]|0;c[v>>2]=(c[v>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+4}c[v>>2]=0;while(1){if((c[v>>2]|0)>=16)break;c[u+(c[v>>2]<<2)>>2]=c[t+(c[v>>2]<<2)>>2];c[v>>2]=(c[v>>2]|0)+1}while(1){if((c[v>>2]|0)>=64)break;t=Fq(c[u+((c[v>>2]|0)-2<<2)>>2]|0,17)|0;w=t^(Fq(c[u+((c[v>>2]|0)-2<<2)>>2]|0,19)|0);t=(w^(c[u+((c[v>>2]|0)-2<<2)>>2]|0)>>>10)+(c[u+((c[v>>2]|0)-7<<2)>>2]|0)|0;w=Fq(c[u+((c[v>>2]|0)-15<<2)>>2]|0,7)|0;h=w^(Fq(c[u+((c[v>>2]|0)-15<<2)>>2]|0,18)|0);c[u+(c[v>>2]<<2)>>2]=t+(h^(c[u+((c[v>>2]|0)-15<<2)>>2]|0)>>>3)+(c[u+((c[v>>2]|0)-16<<2)>>2]|0);c[v>>2]=(c[v>>2]|0)+1}c[v>>2]=0;while(1){if((c[v>>2]|0)>=64)break;h=c[q>>2]|0;t=Fq(c[n>>2]|0,6)|0;w=t^(Fq(c[n>>2]|0,11)|0);t=h+(w^(Fq(c[n>>2]|0,25)|0))|0;c[r>>2]=t+(c[p>>2]^c[n>>2]&(c[o>>2]^c[p>>2]))+(c[12576+(c[v>>2]<<2)>>2]|0)+(c[u+(c[v>>2]<<2)>>2]|0);t=Fq(c[j>>2]|0,2)|0;w=t^(Fq(c[j>>2]|0,13)|0);t=w^(Fq(c[j>>2]|0,22)|0);c[s>>2]=t+(c[j>>2]&c[k>>2]|c[l>>2]&(c[j>>2]|c[k>>2]));c[q>>2]=c[p>>2];c[p>>2]=c[o>>2];c[o>>2]=c[n>>2];c[n>>2]=(c[m>>2]|0)+(c[r>>2]|0);c[m>>2]=c[l>>2];c[l>>2]=c[k>>2];c[k>>2]=c[j>>2];c[j>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[v>>2]=(c[v>>2]|0)+1}v=c[f>>2]|0;c[v>>2]=(c[v>>2]|0)+(c[j>>2]|0);j=(c[f>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+(c[k>>2]|0);k=(c[f>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+(c[l>>2]|0);l=(c[f>>2]|0)+12|0;c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);m=(c[f>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);n=(c[f>>2]|0)+20|0;c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);o=(c[f>>2]|0)+24|0;c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);p=(c[f>>2]|0)+28|0;c[p>>2]=(c[p>>2]|0)+(c[q>>2]|0);i=e;return}function Fq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;i=d;return (c[e>>2]|0)>>>(c[f>>2]|0)|c[e>>2]<<32-(c[f>>2]|0)|0}function Gq(b){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+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[e>>2]=b;if((a[(c[e>>2]|0)+40>>0]<<7&255)<<24>>24>>7<<24>>24){i=d;return}Dq(c[e>>2]|0,0,0);c[f>>2]=c[(c[e>>2]|0)+32>>2];c[h>>2]=c[f>>2]<<6;c[g>>2]=(c[f>>2]|0)>>>26;c[f>>2]=c[h>>2];b=(c[h>>2]|0)+(c[(c[e>>2]|0)+36>>2]|0)|0;c[h>>2]=b;if(b>>>0<(c[f>>2]|0)>>>0)c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=c[h>>2];c[h>>2]=c[h>>2]<<3;c[g>>2]=c[g>>2]<<3;c[g>>2]=c[g>>2]|(c[f>>2]|0)>>>29;f=(c[(c[e>>2]|0)+36>>2]|0)<56;b=(c[e>>2]|0)+36|0;k=c[b>>2]|0;c[b>>2]=k+1;a[(c[e>>2]|0)+41+k>>0]=-128;a:do if(f)while(1){if((c[(c[e>>2]|0)+36>>2]|0)>=56)break a;k=(c[e>>2]|0)+36|0;b=c[k>>2]|0;c[k>>2]=b+1;a[(c[e>>2]|0)+41+b>>0]=0}else{while(1){l=c[e>>2]|0;if((c[(c[e>>2]|0)+36>>2]|0)>=64)break;b=l+36|0;k=c[b>>2]|0;c[b>>2]=k+1;a[(c[e>>2]|0)+41+k>>0]=0}Dq(l,0,0);k=(c[e>>2]|0)+41|0;b=k+56|0;do{a[k>>0]=0;k=k+1|0}while((k|0)<(b|0))}while(0);a[(c[e>>2]|0)+41+56>>0]=(c[g>>2]|0)>>>24;a[(c[e>>2]|0)+41+57>>0]=(c[g>>2]|0)>>>16;a[(c[e>>2]|0)+41+58>>0]=(c[g>>2]|0)>>>8;a[(c[e>>2]|0)+41+59>>0]=c[g>>2];a[(c[e>>2]|0)+41+60>>0]=(c[h>>2]|0)>>>24;a[(c[e>>2]|0)+41+61>>0]=(c[h>>2]|0)>>>16;a[(c[e>>2]|0)+41+62>>0]=(c[h>>2]|0)>>>8;a[(c[e>>2]|0)+41+63>>0]=c[h>>2];Eq(c[e>>2]|0,(c[e>>2]|0)+41|0);c[j>>2]=(c[e>>2]|0)+41;h=(c[c[e>>2]>>2]|0)>>>24&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[c[e>>2]>>2]|0)>>>16&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[c[e>>2]>>2]|0)>>>8&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=c[c[e>>2]>>2]&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+4>>2]|0)>>>24&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+4>>2]|0)>>>16&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+4>>2]|0)>>>8&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+4>>2]&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+8>>2]|0)>>>24&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+8>>2]|0)>>>16&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+8>>2]|0)>>>8&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+8>>2]&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+12>>2]|0)>>>24&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+12>>2]|0)>>>16&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+12>>2]|0)>>>8&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+12>>2]&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+16>>2]|0)>>>24&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+16>>2]|0)>>>16&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+16>>2]|0)>>>8&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+16>>2]&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+20>>2]|0)>>>24&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+20>>2]|0)>>>16&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+20>>2]|0)>>>8&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+20>>2]&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+24>>2]|0)>>>24&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+24>>2]|0)>>>16&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+24>>2]|0)>>>8&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+24>>2]&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+28>>2]|0)>>>24&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+28>>2]|0)>>>16&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+28>>2]|0)>>>8&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+28>>2]&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[e>>2]|0)+40|0;a[h>>0]=a[h>>0]&-2|1;i=d;return}function Hq(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=b;if(!(c[e>>2]|0)){i=d;return}a:do if((a[(c[e>>2]|0)+40>>0]<<6&255)<<24>>24>>7<<24>>24){c[f>>2]=(c[e>>2]|0)+105;c[g>>2]=64;while(1){if(!(c[g>>2]|0))break a;a[c[f>>2]>>0]=0;c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+-1}}while(0);tx(c[e>>2]|0);i=d;return}function Iq(b,d){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+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=b;c[h>>2]=d;Gq(c[g>>2]|0);do if((a[(c[g>>2]|0)+40>>0]<<6&255)<<24>>24>>7<<24>>24){c[j>>2]=Cq(0,0)|0;if(c[j>>2]|0){Dq(c[j>>2]|0,(c[g>>2]|0)+105|0,64);Dq(c[j>>2]|0,(c[g>>2]|0)+41|0,32);Gq(c[j>>2]|0);d=(c[g>>2]|0)+41|0;b=(c[j>>2]|0)+41|0;k=d+32|0;do{a[d>>0]=a[b>>0]|0;d=d+1|0;b=b+1|0}while((d|0)<(k|0));Hq(c[j>>2]|0);break}tx(c[g>>2]|0);c[f>>2]=0;l=c[f>>2]|0;i=e;return l|0}while(0);if(c[h>>2]|0)c[c[h>>2]>>2]=32;c[f>>2]=(c[g>>2]|0)+41;l=c[f>>2]|0;i=e;return l|0}function Jq(b,e,f,g,h){b=b|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+80|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+28|0;s=j+24|0;t=j+20|0;u=j+16|0;v=j+12|0;w=j+8|0;x=j+64|0;y=j+4|0;z=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[(c[(c[l>>2]|0)+12>>2]|0)+20>>2]|0)!=16){c[k>>2]=139;A=c[k>>2]|0;i=j;return A|0}if((c[n>>2]|0)>>>0<((c[p>>2]|0)+8|0)>>>0){c[k>>2]=200;A=c[k>>2]|0;i=j;return A|0}if(((c[p>>2]|0)>>>0)%8|0){c[k>>2]=45;A=c[k>>2]|0;i=j;return A|0}c[s>>2]=((c[p>>2]|0)>>>0)/8|0;if((c[s>>2]|0)>>>0<2){c[k>>2]=45;A=c[k>>2]|0;i=j;return A|0}c[y>>2]=0;c[u>>2]=c[m>>2];c[v>>2]=c[m>>2];c[w>>2]=(c[l>>2]|0)+80;m=c[v>>2]|0;if((d[(c[l>>2]|0)+56>>0]|0)>>>1&1){n=(c[l>>2]|0)+64|0;a[m>>0]=a[n>>0]|0;a[m+1>>0]=a[n+1>>0]|0;a[m+2>>0]=a[n+2>>0]|0;a[m+3>>0]=a[n+3>>0]|0;a[m+4>>0]=a[n+4>>0]|0;a[m+5>>0]=a[n+5>>0]|0;a[m+6>>0]=a[n+6>>0]|0;a[m+7>>0]=a[n+7>>0]|0}else{a[m>>0]=166;a[m+1>>0]=166;a[m+2>>0]=166;a[m+3>>0]=166;a[m+4>>0]=166;a[m+5>>0]=166;a[m+6>>0]=166;a[m+7>>0]=166}Ex((c[u>>2]|0)+8|0,c[o>>2]|0,c[p>>2]|0)|0;a[x>>0]=0;a[x+1>>0]=0;a[x+2>>0]=0;a[x+3>>0]=0;a[x+4>>0]=0;a[x+5>>0]=0;a[x+6>>0]=0;a[x+7>>0]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>5)break;c[t>>2]=1;while(1){if((c[t>>2]|0)>>>0>(c[s>>2]|0)>>>0)break;p=c[w>>2]|0;o=c[v>>2]|0;a[p>>0]=a[o>>0]|0;a[p+1>>0]=a[o+1>>0]|0;a[p+2>>0]=a[o+2>>0]|0;a[p+3>>0]=a[o+3>>0]|0;a[p+4>>0]=a[o+4>>0]|0;a[p+5>>0]=a[o+5>>0]|0;a[p+6>>0]=a[o+6>>0]|0;a[p+7>>0]=a[o+7>>0]|0;o=(c[w>>2]|0)+8|0;p=(c[u>>2]|0)+(c[t>>2]<<3)|0;a[o>>0]=a[p>>0]|0;a[o+1>>0]=a[p+1>>0]|0;a[o+2>>0]=a[p+2>>0]|0;a[o+3>>0]=a[p+3>>0]|0;a[o+4>>0]=a[p+4>>0]|0;a[o+5>>0]=a[p+5>>0]|0;a[o+6>>0]=a[p+6>>0]|0;a[o+7>>0]=a[p+7>>0]|0;c[z>>2]=vb[c[(c[(c[l>>2]|0)+12>>2]|0)+36>>2]&63]((c[l>>2]|0)+496|0,c[w>>2]|0,c[w>>2]|0)|0;c[y>>2]=(c[z>>2]|0)>>>0>(c[y>>2]|0)>>>0?c[z>>2]|0:c[y>>2]|0;c[r>>2]=7;while(1){if((c[r>>2]|0)<0)break;p=x+(c[r>>2]|0)|0;a[p>>0]=(a[p>>0]|0)+1<<24>>24;if(a[x+(c[r>>2]|0)>>0]|0)break;c[r>>2]=(c[r>>2]|0)+-1}Kq(c[v>>2]|0,c[w>>2]|0,x,8);p=(c[u>>2]|0)+(c[t>>2]<<3)|0;o=(c[w>>2]|0)+8|0;a[p>>0]=a[o>>0]|0;a[p+1>>0]=a[o+1>>0]|0;a[p+2>>0]=a[o+2>>0]|0;a[p+3>>0]=a[o+3>>0]|0;a[p+4>>0]=a[o+4>>0]|0;a[p+5>>0]=a[o+5>>0]|0;a[p+6>>0]=a[o+6>>0]|0;a[p+7>>0]=a[o+7>>0]|0;c[t>>2]=(c[t>>2]|0)+1}c[q>>2]=(c[q>>2]|0)+1}if((c[y>>2]|0)>>>0>0){If((c[y>>2]|0)+16|0);Jf()}c[k>>2]=0;A=c[k>>2]|0;i=j;return A|0}function Kq(b,e,f,g){b=b|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+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function Lq(b,e,f,g,h){b=b|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+80|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+28|0;s=j+24|0;t=j+20|0;u=j+16|0;v=j+12|0;w=j+8|0;x=j+64|0;y=j+4|0;z=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[(c[(c[l>>2]|0)+12>>2]|0)+20>>2]|0)!=16){c[k>>2]=139;A=c[k>>2]|0;i=j;return A|0}if(((c[n>>2]|0)+8|0)>>>0<(c[p>>2]|0)>>>0){c[k>>2]=200;A=c[k>>2]|0;i=j;return A|0}if(((c[p>>2]|0)>>>0)%8|0){c[k>>2]=45;A=c[k>>2]|0;i=j;return A|0}c[s>>2]=((c[p>>2]|0)>>>0)/8|0;if((c[s>>2]|0)>>>0<3){c[k>>2]=45;A=c[k>>2]|0;i=j;return A|0}c[y>>2]=0;c[u>>2]=c[m>>2];c[v>>2]=(c[l>>2]|0)+96;c[w>>2]=(c[l>>2]|0)+80;m=c[v>>2]|0;n=c[o>>2]|0;a[m>>0]=a[n>>0]|0;a[m+1>>0]=a[n+1>>0]|0;a[m+2>>0]=a[n+2>>0]|0;a[m+3>>0]=a[n+3>>0]|0;a[m+4>>0]=a[n+4>>0]|0;a[m+5>>0]=a[n+5>>0]|0;a[m+6>>0]=a[n+6>>0]|0;a[m+7>>0]=a[n+7>>0]|0;Ex(c[u>>2]|0,(c[o>>2]|0)+8|0,(c[p>>2]|0)-8|0)|0;c[s>>2]=(c[s>>2]|0)+-1;c[t>>2]=(c[s>>2]|0)*6;c[r>>2]=0;while(1){if(!((c[r>>2]|0)<8?(c[r>>2]|0)>>>0<4:0))break;a[x+(7-(c[r>>2]|0))>>0]=(c[t>>2]|0)>>>(c[r>>2]<<3);c[r>>2]=(c[r>>2]|0)+1}while(1){if((c[r>>2]|0)>=8)break;a[x+(7-(c[r>>2]|0))>>0]=0;c[r>>2]=(c[r>>2]|0)+1}c[q>>2]=5;while(1){if((c[q>>2]|0)<0)break;c[t>>2]=c[s>>2];while(1){if((c[t>>2]|0)>>>0<1)break;Kq(c[w>>2]|0,c[v>>2]|0,x,8);p=(c[w>>2]|0)+8|0;o=(c[u>>2]|0)+((c[t>>2]|0)-1<<3)|0;a[p>>0]=a[o>>0]|0;a[p+1>>0]=a[o+1>>0]|0;a[p+2>>0]=a[o+2>>0]|0;a[p+3>>0]=a[o+3>>0]|0;a[p+4>>0]=a[o+4>>0]|0;a[p+5>>0]=a[o+5>>0]|0;a[p+6>>0]=a[o+6>>0]|0;a[p+7>>0]=a[o+7>>0]|0;c[z>>2]=vb[c[(c[(c[l>>2]|0)+12>>2]|0)+40>>2]&63]((c[l>>2]|0)+496|0,c[w>>2]|0,c[w>>2]|0)|0;c[y>>2]=(c[z>>2]|0)>>>0>(c[y>>2]|0)>>>0?c[z>>2]|0:c[y>>2]|0;c[r>>2]=7;while(1){if((c[r>>2]|0)<0)break;o=x+(c[r>>2]|0)|0;a[o>>0]=(a[o>>0]|0)+-1<<24>>24;if((d[x+(c[r>>2]|0)>>0]|0|0)!=255)break;c[r>>2]=(c[r>>2]|0)+-1}o=c[v>>2]|0;p=c[w>>2]|0;a[o>>0]=a[p>>0]|0;a[o+1>>0]=a[p+1>>0]|0;a[o+2>>0]=a[p+2>>0]|0;a[o+3>>0]=a[p+3>>0]|0;a[o+4>>0]=a[p+4>>0]|0;a[o+5>>0]=a[p+5>>0]|0;a[o+6>>0]=a[p+6>>0]|0;a[o+7>>0]=a[p+7>>0]|0;p=(c[u>>2]|0)+((c[t>>2]|0)-1<<3)|0;o=(c[w>>2]|0)+8|0;a[p>>0]=a[o>>0]|0;a[p+1>>0]=a[o+1>>0]|0;a[p+2>>0]=a[o+2>>0]|0;a[p+3>>0]=a[o+3>>0]|0;a[p+4>>0]=a[o+4>>0]|0;a[p+5>>0]=a[o+5>>0]|0;a[p+6>>0]=a[o+6>>0]|0;a[p+7>>0]=a[o+7>>0]|0;c[t>>2]=(c[t>>2]|0)+-1}c[q>>2]=(c[q>>2]|0)+-1}a:do if((d[(c[l>>2]|0)+56>>0]|0)>>>1&1)c[q>>2]=mw(c[v>>2]|0,(c[l>>2]|0)+64|0,8)|0;else{c[q>>2]=0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=8)break a;if((d[(c[v>>2]|0)+(c[r>>2]|0)>>0]|0|0)!=166)break;c[r>>2]=(c[r>>2]|0)+1}c[q>>2]=1}while(0);if((c[y>>2]|0)>>>0>0){If((c[y>>2]|0)+16|0);Jf()}c[k>>2]=(c[q>>2]|0)!=0?10:0;A=c[k>>2]|0;i=j;return A|0}function Mq(b,e,f,g,h){b=b|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+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+28|0;s=j+24|0;t=j+20|0;u=j+16|0;v=j+12|0;w=j+8|0;x=j+4|0;y=j;z=j+60|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[t>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+20>>2];c[u>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+36>>2];c[v>>2]=((c[p>>2]|0)>>>0)/((c[t>>2]|0)>>>0)|0;if((c[n>>2]|0)>>>0<((c[(c[l>>2]|0)+52>>2]&8|0)!=0?c[t>>2]|0:c[p>>2]|0)>>>0){c[k>>2]=200;A=c[k>>2]|0;i=j;return A|0}do if(((c[p>>2]|0)>>>0)%((c[t>>2]|0)>>>0)|0){if((c[p>>2]|0)>>>0>(c[t>>2]|0)>>>0?(c[(c[l>>2]|0)+52>>2]&4|0)!=0:0)break;c[k>>2]=139;A=c[k>>2]|0;i=j;return A|0}while(0);c[w>>2]=0;if(((c[(c[l>>2]|0)+52>>2]&4|0)!=0?(c[p>>2]|0)>>>0>(c[t>>2]|0)>>>0:0)?(((c[p>>2]|0)>>>0)%((c[t>>2]|0)>>>0)|0|0)==0:0)c[v>>2]=(c[v>>2]|0)+-1;n=c[l>>2]|0;if(c[(c[l>>2]|0)+20+8>>2]|0){Db[c[n+20+8>>2]&1]((c[l>>2]|0)+496|0,(c[l>>2]|0)+64|0,c[m>>2]|0,c[o>>2]|0,c[v>>2]|0,c[(c[l>>2]|0)+52>>2]&8);h=_(c[v>>2]|0,c[t>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+h;if(!(c[(c[l>>2]|0)+52>>2]&8)){h=_(c[v>>2]|0,c[t>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+h}}else{c[r>>2]=n+64;c[q>>2]=0;while(1){if((c[q>>2]|0)>>>0>=(c[v>>2]|0)>>>0)break;Nq(c[m>>2]|0,c[o>>2]|0,c[r>>2]|0,c[t>>2]|0);c[x>>2]=vb[c[u>>2]&63]((c[l>>2]|0)+496|0,c[m>>2]|0,c[m>>2]|0)|0;c[w>>2]=(c[x>>2]|0)>>>0>(c[w>>2]|0)>>>0?c[x>>2]|0:c[w>>2]|0;c[r>>2]=c[m>>2];c[o>>2]=(c[o>>2]|0)+(c[t>>2]|0);if(!(c[(c[l>>2]|0)+52>>2]&8))c[m>>2]=(c[m>>2]|0)+(c[t>>2]|0);c[q>>2]=(c[q>>2]|0)+1}if((c[r>>2]|0)!=((c[l>>2]|0)+64|0))Oq((c[l>>2]|0)+64|0,c[r>>2]|0,c[t>>2]|0)}if((c[(c[l>>2]|0)+52>>2]&4|0)!=0?(c[p>>2]|0)>>>0>(c[t>>2]|0)>>>0:0){if(!(((c[p>>2]|0)>>>0)%((c[t>>2]|0)>>>0)|0))c[y>>2]=c[t>>2];else c[y>>2]=((c[p>>2]|0)>>>0)%((c[t>>2]|0)>>>0)|0;c[m>>2]=(c[m>>2]|0)+(0-(c[t>>2]|0));c[r>>2]=(c[l>>2]|0)+64;c[s>>2]=0;while(1){if((c[s>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;a[z>>0]=a[(c[o>>2]|0)+(c[s>>2]|0)>>0]|0;a[(c[m>>2]|0)+((c[t>>2]|0)+(c[s>>2]|0))>>0]=a[(c[m>>2]|0)+(c[s>>2]|0)>>0]|0;p=d[z>>0]|0;q=c[r>>2]|0;c[r>>2]=q+1;a[(c[m>>2]|0)+(c[s>>2]|0)>>0]=p^(d[q>>0]|0);c[s>>2]=(c[s>>2]|0)+1}while(1){if((c[s>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;z=c[r>>2]|0;c[r>>2]=z+1;a[(c[m>>2]|0)+(c[s>>2]|0)>>0]=0^(d[z>>0]|0);c[s>>2]=(c[s>>2]|0)+1}c[x>>2]=vb[c[u>>2]&63]((c[l>>2]|0)+496|0,c[m>>2]|0,c[m>>2]|0)|0;c[w>>2]=(c[x>>2]|0)>>>0>(c[w>>2]|0)>>>0?c[x>>2]|0:c[w>>2]|0;Oq((c[l>>2]|0)+64|0,c[m>>2]|0,c[t>>2]|0)}if((c[w>>2]|0)>>>0>0){If((c[w>>2]|0)+16|0);Jf()}c[k>>2]=0;A=c[k>>2]|0;i=j;return A|0}function Nq(b,e,f,g){b=b|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+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function Oq(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;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[f>>2]=3;if(!((c[k>>2]|c[l>>2])&3)){c[m>>2]=c[k>>2];c[n>>2]=c[l>>2];while(1){if((c[j>>2]|0)>>>0<4)break;h=c[n>>2]|0;c[n>>2]=h+4;g=c[h>>2]|0;h=c[m>>2]|0;c[m>>2]=h+4;c[h>>2]=g;c[j>>2]=(c[j>>2]|0)-4}c[k>>2]=c[m>>2];c[l>>2]=c[n>>2]}while(1){if(!(c[j>>2]|0))break;n=c[l>>2]|0;c[l>>2]=n+1;m=a[n>>0]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[n>>0]=m;c[j>>2]=(c[j>>2]|0)+-1}i=f;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,l=0,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+64|0;j=h+52|0;k=h+48|0;l=h+44|0;m=h+40|0;n=h+36|0;o=h+32|0;p=h+28|0;q=h+24|0;r=h+20|0;s=h+16|0;t=h+12|0;u=h+8|0;v=h+4|0;w=h;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[r>>2]=c[(c[(c[k>>2]|0)+12>>2]|0)+20>>2];c[s>>2]=c[(c[(c[k>>2]|0)+12>>2]|0)+40>>2];c[t>>2]=((c[o>>2]|0)>>>0)/((c[r>>2]|0)>>>0)|0;if((c[m>>2]|0)>>>0<(c[o>>2]|0)>>>0){c[j>>2]=200;x=c[j>>2]|0;i=h;return x|0}do if(((c[o>>2]|0)>>>0)%((c[r>>2]|0)>>>0)|0){if((c[o>>2]|0)>>>0>(c[r>>2]|0)>>>0?(c[(c[k>>2]|0)+52>>2]&4|0)!=0:0)break;c[j>>2]=139;x=c[j>>2]|0;i=h;return x|0}while(0);c[u>>2]=0;if((c[(c[k>>2]|0)+52>>2]&4|0)!=0?(c[o>>2]|0)>>>0>(c[r>>2]|0)>>>0:0){c[t>>2]=(c[t>>2]|0)+-1;if(!(((c[o>>2]|0)>>>0)%((c[r>>2]|0)>>>0)|0))c[t>>2]=(c[t>>2]|0)+-1;Oq((c[k>>2]|0)+96|0,(c[k>>2]|0)+64|0,c[r>>2]|0)}a:do if(c[(c[k>>2]|0)+20+12>>2]|0){wb[c[(c[k>>2]|0)+20+12>>2]&15]((c[k>>2]|0)+496|0,(c[k>>2]|0)+64|0,c[l>>2]|0,c[n>>2]|0,c[t>>2]|0);m=_(c[t>>2]|0,c[r>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+m;m=_(c[t>>2]|0,c[r>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+m}else{c[p>>2]=0;while(1){if((c[p>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break a;c[v>>2]=vb[c[s>>2]&63]((c[k>>2]|0)+496|0,(c[k>>2]|0)+96|0,c[n>>2]|0)|0;c[u>>2]=(c[v>>2]|0)>>>0>(c[u>>2]|0)>>>0?c[v>>2]|0:c[u>>2]|0;Qq(c[l>>2]|0,(c[k>>2]|0)+96|0,(c[k>>2]|0)+64|0,c[n>>2]|0,c[r>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[r>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[r>>2]|0);c[p>>2]=(c[p>>2]|0)+1}}while(0);if((c[(c[k>>2]|0)+52>>2]&4|0)!=0?(c[o>>2]|0)>>>0>(c[r>>2]|0)>>>0:0){if(!(((c[o>>2]|0)>>>0)%((c[r>>2]|0)>>>0)|0))c[w>>2]=c[r>>2];else c[w>>2]=((c[o>>2]|0)>>>0)%((c[r>>2]|0)>>>0)|0;Oq((c[k>>2]|0)+96|0,(c[k>>2]|0)+64|0,c[r>>2]|0);Oq((c[k>>2]|0)+64|0,(c[n>>2]|0)+(c[r>>2]|0)|0,c[w>>2]|0);c[v>>2]=vb[c[s>>2]&63]((c[k>>2]|0)+496|0,c[l>>2]|0,c[n>>2]|0)|0;c[u>>2]=(c[v>>2]|0)>>>0>(c[u>>2]|0)>>>0?c[v>>2]|0:c[u>>2]|0;Nq(c[l>>2]|0,c[l>>2]|0,(c[k>>2]|0)+64|0,c[w>>2]|0);Oq((c[l>>2]|0)+(c[r>>2]|0)|0,c[l>>2]|0,c[w>>2]|0);c[q>>2]=c[w>>2];while(1){if((c[q>>2]|0)>>>0>=(c[r>>2]|0)>>>0)break;a[(c[k>>2]|0)+64+(c[q>>2]|0)>>0]=a[(c[l>>2]|0)+(c[q>>2]|0)>>0]|0;c[q>>2]=(c[q>>2]|0)+1}c[v>>2]=vb[c[s>>2]&63]((c[k>>2]|0)+496|0,c[l>>2]|0,(c[k>>2]|0)+64|0)|0;c[u>>2]=(c[v>>2]|0)>>>0>(c[u>>2]|0)>>>0?c[v>>2]|0:c[u>>2]|0;Nq(c[l>>2]|0,c[l>>2]|0,(c[k>>2]|0)+96|0,c[r>>2]|0)}if((c[u>>2]|0)>>>0>0){If((c[u>>2]|0)+16|0);Jf()}c[j>>2]=0;x=c[j>>2]|0;i=h;return x|0}function Qq(b,e,f,g,h){b=b|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;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+28|0;s=j+24|0;t=j+60|0;u=j+20|0;v=j+16|0;w=j+12|0;x=j+8|0;y=j+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[k>>2];c[q>>2]=c[m>>2];c[r>>2]=c[l>>2];c[s>>2]=c[n>>2];c[j>>2]=3;if(!((c[s>>2]|c[r>>2]|c[p>>2]|c[q>>2])&3)){c[u>>2]=c[p>>2];c[x>>2]=c[r>>2];c[v>>2]=c[q>>2];c[w>>2]=c[s>>2];while(1){if((c[o>>2]|0)>>>0<4)break;n=c[w>>2]|0;c[w>>2]=n+4;c[y>>2]=c[n>>2];n=c[c[v>>2]>>2]|0;l=c[x>>2]|0;c[x>>2]=l+4;m=n^c[l>>2];l=c[u>>2]|0;c[u>>2]=l+4;c[l>>2]=m;m=c[y>>2]|0;l=c[v>>2]|0;c[v>>2]=l+4;c[l>>2]=m;c[o>>2]=(c[o>>2]|0)-4}c[p>>2]=c[u>>2];c[r>>2]=c[x>>2];c[q>>2]=c[v>>2];c[s>>2]=c[w>>2]}while(1){if(!(c[o>>2]|0))break;w=c[s>>2]|0;c[s>>2]=w+1;a[t>>0]=a[w>>0]|0;w=d[c[q>>2]>>0]|0;v=c[r>>2]|0;c[r>>2]=v+1;x=(w^(d[v>>0]|0))&255;v=c[p>>2]|0;c[p>>2]=v+1;a[v>>0]=x;x=a[t>>0]|0;v=c[q>>2]|0;c[q>>2]=v+1;a[v>>0]=x;c[o>>2]=(c[o>>2]|0)+-1}i=j;return}function Rq(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;f=i;i=i+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;m=f;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=15-(c[k>>2]|0);c[m>>2]=(c[l>>2]|0)-1;if(!(c[j>>2]|0)){c[g>>2]=45;n=c[g>>2]|0;i=f;return n|0}if((c[l>>2]|0)>>>0<2|(c[l>>2]|0)>>>0>8){c[g>>2]=139;n=c[g>>2]|0;i=f;return n|0}else{Fx((c[h>>2]|0)+128|0,0,368)|0;c[(c[h>>2]|0)+56>>2]=0;e=(c[h>>2]|0)+64|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=(c[h>>2]|0)+80|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=(c[h>>2]|0)+96|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[(c[h>>2]|0)+112>>2]=0;a[(c[h>>2]|0)+80>>0]=c[m>>2];Dx((c[h>>2]|0)+80+1|0,c[j>>2]|0,c[k>>2]|0)|0;Fx((c[h>>2]|0)+80+(1+(c[k>>2]|0))|0,0,c[l>>2]|0)|0;a[(c[h>>2]|0)+64>>0]=c[m>>2];Dx((c[h>>2]|0)+64+1|0,c[j>>2]|0,c[k>>2]|0)|0;Fx((c[h>>2]|0)+64+(1+(c[k>>2]|0))|0,0,c[l>>2]|0)|0;l=(c[h>>2]|0)+128+56|0;a[l>>0]=a[l>>0]&-2|1;c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}return 0}function Sq(b,e,f,g){b=b|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;h=i;i=i+96|0;j=h+64|0;k=h+60|0;l=h+56|0;m=h+52|0;n=h+48|0;o=h+40|0;p=h+72|0;q=h+36|0;r=h+32|0;s=h+28|0;t=h+24|0;u=h+20|0;v=h+16|0;w=h+68|0;x=h;y=h+12|0;z=h+8|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[h+44>>2]=16;c[o>>2]=c[(c[(c[k>>2]|0)+12>>2]|0)+36>>2];c[q>>2]=0;c[r>>2]=c[(c[k>>2]|0)+128+36>>2];if((c[m>>2]|0)==0?!((c[r>>2]|0)!=0&(c[n>>2]|0)!=0):0){c[j>>2]=0;A=c[j>>2]|0;i=h;return A|0}a:do{b:do if((c[r>>2]|0)>>>0>0?1:((c[m>>2]|0)+(c[r>>2]|0)|0)>>>0<16)while(1){if(!((c[m>>2]|0)!=0?(c[r>>2]|0)>>>0<16:0))break b;g=c[l>>2]|0;c[l>>2]=g+1;f=a[g>>0]|0;g=c[r>>2]|0;c[r>>2]=g+1;a[(c[k>>2]|0)+128+20+g>>0]=f;c[m>>2]=(c[m>>2]|0)+-1}while(0);c:do if(!(c[m>>2]|0)){if(!(c[n>>2]|0))break a;while(1){if((c[r>>2]|0)>>>0>=16)break c;f=c[r>>2]|0;c[r>>2]=f+1;a[(c[k>>2]|0)+128+20+f>>0]=0}}while(0);if((c[r>>2]|0)>>>0>0){Tq((c[k>>2]|0)+64|0,(c[k>>2]|0)+64|0,(c[k>>2]|0)+128+20|0,16);c[t>>2]=vb[c[o>>2]&63]((c[k>>2]|0)+496|0,(c[k>>2]|0)+64|0,(c[k>>2]|0)+64|0)|0;c[q>>2]=(c[q>>2]|0)>>>0>(c[t>>2]|0)>>>0?c[q>>2]|0:c[t>>2]|0;c[r>>2]=0}d:do if(c[(c[k>>2]|0)+20+8>>2]|0){c[s>>2]=((c[m>>2]|0)>>>0)/16|0;Db[c[(c[k>>2]|0)+20+8>>2]&1]((c[k>>2]|0)+496|0,(c[k>>2]|0)+64|0,p,c[l>>2]|0,c[s>>2]|0,1);c[l>>2]=(c[l>>2]|0)+(c[s>>2]<<4);c[m>>2]=(c[m>>2]|0)-(c[s>>2]<<4);c[u>>2]=p;c[v>>2]=16;a[w>>0]=0;f=x;c[f>>2]=d[w>>0];c[f+4>>2]=0;while(1){if(!((c[u>>2]&7|0)!=0?(c[v>>2]|0)!=0:0))break;a[c[u>>2]>>0]=a[w>>0]|0;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+-1}if((c[v>>2]|0)>>>0>=8){f=x;g=Mx(c[f>>2]|0,c[f+4>>2]|0,16843009,16843009)|0;f=x;c[f>>2]=g;c[f+4>>2]=C;do{c[y>>2]=c[u>>2];f=x;g=c[f+4>>2]|0;e=c[y>>2]|0;c[e>>2]=c[f>>2];c[e+4>>2]=g;c[v>>2]=(c[v>>2]|0)-8;c[u>>2]=(c[u>>2]|0)+8}while((c[v>>2]|0)>>>0>=8)}while(1){if(!(c[v>>2]|0))break d;a[c[u>>2]>>0]=a[w>>0]|0;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+-1}}else while(1){if((c[m>>2]|0)>>>0<16)break d;Tq((c[k>>2]|0)+64|0,(c[k>>2]|0)+64|0,c[l>>2]|0,16);c[z>>2]=vb[c[o>>2]&63]((c[k>>2]|0)+496|0,(c[k>>2]|0)+64|0,(c[k>>2]|0)+64|0)|0;c[q>>2]=(c[q>>2]|0)>>>0>(c[z>>2]|0)>>>0?c[q>>2]|0:c[z>>2]|0;c[m>>2]=(c[m>>2]|0)-16;c[l>>2]=(c[l>>2]|0)+16}while(0)}while((c[m>>2]|0)>>>0>0);c[(c[k>>2]|0)+128+36>>2]=c[r>>2];if(c[q>>2]|0)c[q>>2]=(c[q>>2]|0)+16;c[j>>2]=c[q>>2];A=c[j>>2]|0;i=h;return A|0}function Tq(b,e,f,g){b=b|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+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function Uq(b,e,f,g,h){b=b|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;j=i;i=i+32|0;k=j+24|0;l=j+20|0;m=j+16|0;n=j+12|0;o=j+8|0;p=j+4|0;q=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0){c[k>>2]=200;r=c[k>>2]|0;i=j;return r|0}if((((a[(c[l>>2]|0)+128+56>>0]&1|0)!=0?((d[(c[l>>2]|0)+56>>0]|0)>>>2&1|0)==0:0)?((d[(c[l>>2]|0)+128+56>>0]|0)>>>1&1|0)!=0:0)?(h=(c[l>>2]|0)+128+8|0,g=c[h+4>>2]|0,!(g>>>0>0|(g|0)==0&(c[h>>2]|0)>>>0>0)):0){h=(c[l>>2]|0)+128|0;g=c[h+4>>2]|0;if(0>g>>>0|(0==(g|0)?(c[p>>2]|0)>>>0>(c[h>>2]|0)>>>0:0)){c[k>>2]=139;r=c[k>>2]|0;i=j;return r|0}h=(c[l>>2]|0)+128|0;g=h;f=zx(c[g>>2]|0,c[g+4>>2]|0,c[p>>2]|0,0)|0;g=h;c[g>>2]=f;c[g+4>>2]=C;c[q>>2]=Sq(c[l>>2]|0,c[o>>2]|0,c[p>>2]|0,0)|0;if(c[q>>2]|0){If((c[q>>2]|0)+20|0);Jf()}c[k>>2]=cr(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;r=c[k>>2]|0;i=j;return r|0}c[k>>2]=156;r=c[k>>2]|0;i=j;return r|0}function Vq(b,e,f,g,h){b=b|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+32|0;k=j+28|0;l=j+24|0;m=j+20|0;n=j+16|0;o=j+12|0;p=j+8|0;q=j+4|0;r=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0){c[k>>2]=200;s=c[k>>2]|0;i=j;return s|0}if((((a[(c[l>>2]|0)+128+56>>0]&1|0)!=0?((d[(c[l>>2]|0)+56>>0]|0)>>>2&1|0)==0:0)?((d[(c[l>>2]|0)+128+56>>0]|0)>>>1&1|0)!=0:0)?(h=(c[l>>2]|0)+128+8|0,g=c[h+4>>2]|0,!(g>>>0>0|(g|0)==0&(c[h>>2]|0)>>>0>0)):0){h=(c[l>>2]|0)+128|0;g=c[h+4>>2]|0;if(0>g>>>0|(0==(g|0)?(c[p>>2]|0)>>>0>(c[h>>2]|0)>>>0:0)){c[k>>2]=139;s=c[k>>2]|0;i=j;return s|0}c[q>>2]=cr(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;if(c[q>>2]|0){c[k>>2]=c[q>>2];s=c[k>>2]|0;i=j;return s|0}o=(c[l>>2]|0)+128|0;n=o;h=zx(c[n>>2]|0,c[n+4>>2]|0,c[p>>2]|0,0)|0;n=o;c[n>>2]=h;c[n+4>>2]=C;c[r>>2]=Sq(c[l>>2]|0,c[m>>2]|0,c[p>>2]|0,0)|0;if(c[r>>2]|0){If((c[r>>2]|0)+20|0);Jf()}c[k>>2]=c[q>>2];s=c[k>>2]|0;i=j;return s|0}c[k>>2]=156;s=c[k>>2]|0;i=j;return s|0}function Wq(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;g=i;i=i+64|0;h=g+48|0;j=g+44|0;k=g+40|0;l=g+36|0;m=g+32|0;n=g+28|0;o=g+24|0;p=g+20|0;q=g+16|0;r=g+12|0;s=g+8|0;t=g+4|0;u=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[p>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+36>>2];c[q>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2];c[r>>2]=(c[q>>2]|0)+(c[q>>2]|0);if((c[l>>2]|0)>>>0<(c[n>>2]|0)>>>0){c[h>>2]=200;v=c[h>>2]|0;i=g;return v|0}if((c[n>>2]|0)>>>0<=(c[(c[j>>2]|0)+112>>2]|0)>>>0){c[o>>2]=(c[j>>2]|0)+64+(c[q>>2]|0)+(0-(c[(c[j>>2]|0)+112>>2]|0));Xq(c[k>>2]|0,c[o>>2]|0,c[m>>2]|0,c[n>>2]|0);l=(c[j>>2]|0)+112|0;c[l>>2]=(c[l>>2]|0)-(c[n>>2]|0);c[h>>2]=0;v=c[h>>2]|0;i=g;return v|0}c[s>>2]=0;if(c[(c[j>>2]|0)+112>>2]|0){c[n>>2]=(c[n>>2]|0)-(c[(c[j>>2]|0)+112>>2]|0);c[o>>2]=(c[j>>2]|0)+64+(c[q>>2]|0)+(0-(c[(c[j>>2]|0)+112>>2]|0));Xq(c[k>>2]|0,c[o>>2]|0,c[m>>2]|0,c[(c[j>>2]|0)+112>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[(c[j>>2]|0)+112>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[(c[j>>2]|0)+112>>2]|0);c[(c[j>>2]|0)+112>>2]=0}if((c[n>>2]|0)>>>0>=(c[r>>2]|0)>>>0?(c[(c[j>>2]|0)+20>>2]|0)!=0:0){c[u>>2]=((c[n>>2]|0)>>>0)/((c[q>>2]|0)>>>0)|0;wb[c[(c[j>>2]|0)+20>>2]&15]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,c[k>>2]|0,c[m>>2]|0,c[u>>2]|0);o=_(c[u>>2]|0,c[q>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+o;o=_(c[u>>2]|0,c[q>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+o;o=_(c[u>>2]|0,c[q>>2]|0)|0;c[n>>2]=(c[n>>2]|0)-o}else w=10;a:do if((w|0)==10)while(1){w=0;if((c[n>>2]|0)>>>0<(c[r>>2]|0)>>>0)break a;c[t>>2]=vb[c[p>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,(c[j>>2]|0)+64|0)|0;c[s>>2]=(c[t>>2]|0)>>>0>(c[s>>2]|0)>>>0?c[t>>2]|0:c[s>>2]|0;Xq(c[k>>2]|0,(c[j>>2]|0)+64|0,c[m>>2]|0,c[q>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[q>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[q>>2]|0);w=10}while(0);if((c[n>>2]|0)>>>0>=(c[q>>2]|0)>>>0){Yq((c[j>>2]|0)+96|0,(c[j>>2]|0)+64|0,c[q>>2]|0);c[t>>2]=vb[c[p>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,(c[j>>2]|0)+64|0)|0;c[s>>2]=(c[t>>2]|0)>>>0>(c[s>>2]|0)>>>0?c[t>>2]|0:c[s>>2]|0;Xq(c[k>>2]|0,(c[j>>2]|0)+64|0,c[m>>2]|0,c[q>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[q>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[q>>2]|0)}if(c[n>>2]|0){Yq((c[j>>2]|0)+96|0,(c[j>>2]|0)+64|0,c[q>>2]|0);c[t>>2]=vb[c[p>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,(c[j>>2]|0)+64|0)|0;c[s>>2]=(c[t>>2]|0)>>>0>(c[s>>2]|0)>>>0?c[t>>2]|0:c[s>>2]|0;c[(c[j>>2]|0)+112>>2]=c[q>>2];q=(c[j>>2]|0)+112|0;c[q>>2]=(c[q>>2]|0)-(c[n>>2]|0);Xq(c[k>>2]|0,(c[j>>2]|0)+64|0,c[m>>2]|0,c[n>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[n>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);c[n>>2]=0}if((c[s>>2]|0)>>>0>0){If((c[s>>2]|0)+16|0);Jf()}c[h>>2]=0;v=c[h>>2]|0;i=g;return v|0}function Xq(b,e,f,g){b=b|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+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[p>>2]|c[n>>2]|c[o>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[s>>2]|0;c[s>>2]=l+4;k=c[l>>2]|0;l=c[r>>2]|0;c[r>>2]=l+4;j=c[l>>2]^k;c[l>>2]=j;l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[p>>2]|0;c[p>>2]=s+1;r=d[s>>0]|0;s=c[o>>2]|0;c[o>>2]=s+1;q=((d[s>>0]|0)^r)&255;a[s>>0]=q;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function Yq(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;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[f>>2]=3;if(!((c[k>>2]|c[l>>2])&3)){c[m>>2]=c[k>>2];c[n>>2]=c[l>>2];while(1){if((c[j>>2]|0)>>>0<4)break;h=c[n>>2]|0;c[n>>2]=h+4;g=c[h>>2]|0;h=c[m>>2]|0;c[m>>2]=h+4;c[h>>2]=g;c[j>>2]=(c[j>>2]|0)-4}c[k>>2]=c[m>>2];c[l>>2]=c[n>>2]}while(1){if(!(c[j>>2]|0))break;n=c[l>>2]|0;c[l>>2]=n+1;m=a[n>>0]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[n>>0]=m;c[j>>2]=(c[j>>2]|0)+-1}i=f;return}function Zq(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;g=i;i=i+64|0;h=g+48|0;j=g+44|0;k=g+40|0;l=g+36|0;m=g+32|0;n=g+28|0;o=g+24|0;p=g+20|0;q=g+16|0;r=g+12|0;s=g+8|0;t=g+4|0;u=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[p>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+36>>2];c[q>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2];c[r>>2]=(c[q>>2]|0)+(c[q>>2]|0);if((c[l>>2]|0)>>>0<(c[n>>2]|0)>>>0){c[h>>2]=200;v=c[h>>2]|0;i=g;return v|0}if((c[n>>2]|0)>>>0<=(c[(c[j>>2]|0)+112>>2]|0)>>>0){c[o>>2]=(c[j>>2]|0)+64+(c[q>>2]|0)+(0-(c[(c[j>>2]|0)+112>>2]|0));_q(c[k>>2]|0,c[o>>2]|0,c[m>>2]|0,c[n>>2]|0);l=(c[j>>2]|0)+112|0;c[l>>2]=(c[l>>2]|0)-(c[n>>2]|0);c[h>>2]=0;v=c[h>>2]|0;i=g;return v|0}c[s>>2]=0;if(c[(c[j>>2]|0)+112>>2]|0){c[n>>2]=(c[n>>2]|0)-(c[(c[j>>2]|0)+112>>2]|0);c[o>>2]=(c[j>>2]|0)+64+(c[q>>2]|0)+(0-(c[(c[j>>2]|0)+112>>2]|0));_q(c[k>>2]|0,c[o>>2]|0,c[m>>2]|0,c[(c[j>>2]|0)+112>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[(c[j>>2]|0)+112>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[(c[j>>2]|0)+112>>2]|0);c[(c[j>>2]|0)+112>>2]=0}if((c[n>>2]|0)>>>0>=(c[r>>2]|0)>>>0?(c[(c[j>>2]|0)+20+4>>2]|0)!=0:0){c[u>>2]=((c[n>>2]|0)>>>0)/((c[q>>2]|0)>>>0)|0;wb[c[(c[j>>2]|0)+20+4>>2]&15]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,c[k>>2]|0,c[m>>2]|0,c[u>>2]|0);o=_(c[u>>2]|0,c[q>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+o;o=_(c[u>>2]|0,c[q>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+o;o=_(c[u>>2]|0,c[q>>2]|0)|0;c[n>>2]=(c[n>>2]|0)-o}else w=10;a:do if((w|0)==10)while(1){w=0;if((c[n>>2]|0)>>>0<(c[r>>2]|0)>>>0)break a;c[t>>2]=vb[c[p>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,(c[j>>2]|0)+64|0)|0;c[s>>2]=(c[t>>2]|0)>>>0>(c[s>>2]|0)>>>0?c[t>>2]|0:c[s>>2]|0;_q(c[k>>2]|0,(c[j>>2]|0)+64|0,c[m>>2]|0,c[q>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[q>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[q>>2]|0);w=10}while(0);if((c[n>>2]|0)>>>0>=(c[q>>2]|0)>>>0){Yq((c[j>>2]|0)+96|0,(c[j>>2]|0)+64|0,c[q>>2]|0);c[t>>2]=vb[c[p>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,(c[j>>2]|0)+64|0)|0;c[s>>2]=(c[t>>2]|0)>>>0>(c[s>>2]|0)>>>0?c[t>>2]|0:c[s>>2]|0;_q(c[k>>2]|0,(c[j>>2]|0)+64|0,c[m>>2]|0,c[q>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[q>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[q>>2]|0)}if(c[n>>2]|0){Yq((c[j>>2]|0)+96|0,(c[j>>2]|0)+64|0,c[q>>2]|0);c[t>>2]=vb[c[p>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,(c[j>>2]|0)+64|0)|0;c[s>>2]=(c[t>>2]|0)>>>0>(c[s>>2]|0)>>>0?c[t>>2]|0:c[s>>2]|0;c[(c[j>>2]|0)+112>>2]=c[q>>2];q=(c[j>>2]|0)+112|0;c[q>>2]=(c[q>>2]|0)-(c[n>>2]|0);_q(c[k>>2]|0,(c[j>>2]|0)+64|0,c[m>>2]|0,c[n>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[n>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);c[n>>2]=0}if((c[s>>2]|0)>>>0>0){If((c[s>>2]|0)+16|0);Jf()}c[h>>2]=0;v=c[h>>2]|0;i=g;return v|0}function _q(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;$q(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}function $q(b,e,f,g,h){b=b|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;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+28|0;s=j+24|0;t=j+60|0;u=j+20|0;v=j+16|0;w=j+12|0;x=j+8|0;y=j+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[k>>2];c[q>>2]=c[m>>2];c[r>>2]=c[l>>2];c[s>>2]=c[n>>2];c[j>>2]=3;if(!((c[s>>2]|c[r>>2]|c[p>>2]|c[q>>2])&3)){c[u>>2]=c[p>>2];c[x>>2]=c[r>>2];c[v>>2]=c[q>>2];c[w>>2]=c[s>>2];while(1){if((c[o>>2]|0)>>>0<4)break;n=c[w>>2]|0;c[w>>2]=n+4;c[y>>2]=c[n>>2];n=c[c[v>>2]>>2]|0;l=c[x>>2]|0;c[x>>2]=l+4;m=n^c[l>>2];l=c[u>>2]|0;c[u>>2]=l+4;c[l>>2]=m;m=c[y>>2]|0;l=c[v>>2]|0;c[v>>2]=l+4;c[l>>2]=m;c[o>>2]=(c[o>>2]|0)-4}c[p>>2]=c[u>>2];c[r>>2]=c[x>>2];c[q>>2]=c[v>>2];c[s>>2]=c[w>>2]}while(1){if(!(c[o>>2]|0))break;w=c[s>>2]|0;c[s>>2]=w+1;a[t>>0]=a[w>>0]|0;w=d[c[q>>2]>>0]|0;v=c[r>>2]|0;c[r>>2]=v+1;x=(w^(d[v>>0]|0))&255;v=c[p>>2]|0;c[p>>2]=v+1;a[v>>0]=x;x=a[t>>0]|0;v=c[q>>2]|0;c[q>>2]=v+1;a[v>>0]=x;c[o>>2]=(c[o>>2]|0)+-1}i=j;return}function ar(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;br(c[d>>2]|0);i=b;return 0}function br(b){b=b|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;e=i;i=i+80|0;f=e+56|0;g=e+52|0;h=e+64|0;j=e+63|0;k=e+62|0;l=e+61|0;m=e+48|0;n=e+44|0;o=e+40|0;p=e+24|0;q=e+16|0;r=e+12|0;s=e+60|0;t=e;u=e+8|0;c[f>>2]=b;c[g>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+20>>2];if(16<(c[g>>2]|0)>>>0)wf(46779,113,46793);Fx(p|0,0,c[g>>2]|0)|0;c[m>>2]=vb[c[(c[(c[f>>2]|0)+12>>2]|0)+36>>2]&63]((c[f>>2]|0)+496|0,p,p)|0;a[h>>0]=(c[g>>2]|0)==16?135:27;c[o>>2]=0;while(1){if((c[o>>2]|0)>=2)break;a[j>>0]=0;c[n>>2]=(c[g>>2]|0)-1;while(1){if((c[n>>2]|0)<0)break;a[l>>0]=a[p+(c[n>>2]|0)>>0]|0;a[k>>0]=d[j>>0]|0|(d[l>>0]|0)<<1;a[j>>0]=(d[l>>0]|0)>>7;a[p+(c[n>>2]|0)>>0]=d[k>>0]|0;a[(c[f>>2]|0)+128+1+(c[o>>2]<<4)+(c[n>>2]|0)>>0]=a[p+(c[n>>2]|0)>>0]|0;c[n>>2]=(c[n>>2]|0)+-1}b=p+((c[g>>2]|0)-1)|0;a[b>>0]=(d[b>>0]|0)^((d[j>>0]|0|0)!=0?d[h>>0]|0:0);a[(c[f>>2]|0)+128+1+(c[o>>2]<<4)+((c[g>>2]|0)-1)>>0]=a[p+((c[g>>2]|0)-1)>>0]|0;c[o>>2]=(c[o>>2]|0)+1}c[q>>2]=p;c[r>>2]=16;a[s>>0]=0;p=t;c[p>>2]=d[s>>0];c[p+4>>2]=0;while(1){if(!((c[q>>2]&7|0)!=0?(c[r>>2]|0)!=0:0))break;a[c[q>>2]>>0]=a[s>>0]|0;c[q>>2]=(c[q>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+-1}if((c[r>>2]|0)>>>0>=8){p=t;o=Mx(c[p>>2]|0,c[p+4>>2]|0,16843009,16843009)|0;p=t;c[p>>2]=o;c[p+4>>2]=C;do{c[u>>2]=c[q>>2];p=t;o=c[p+4>>2]|0;g=c[u>>2]|0;c[g>>2]=c[p>>2];c[g+4>>2]=o;c[r>>2]=(c[r>>2]|0)-8;c[q>>2]=(c[q>>2]|0)+8}while((c[r>>2]|0)>>>0>=8)}while(1){if(!(c[r>>2]|0))break;a[c[q>>2]>>0]=a[s>>0]|0;c[q>>2]=(c[q>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+-1}if(!(c[m>>2]|0)){i=e;return}If((c[m>>2]|0)+16|0);Jf();i=e;return}function cr(b,e,f,g,h){b=b|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,D=0,E=0,F=0;j=i;i=i+96|0;k=j+68|0;l=j+64|0;m=j+60|0;n=j+56|0;o=j+52|0;p=j+48|0;q=j+44|0;r=j+40|0;s=j+36|0;t=j+32|0;u=j+28|0;v=j+24|0;w=j+20|0;x=j+80|0;y=j+16|0;z=j+12|0;A=j+72|0;B=j;D=j+8|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[s>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+36>>2];c[t>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+20>>2];if((c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0){c[k>>2]=200;E=c[k>>2]|0;i=j;return E|0}c[v>>2]=0;if(c[(c[l>>2]|0)+112>>2]|0){if((c[(c[l>>2]|0)+112>>2]|0)>>>0>=(c[t>>2]|0)>>>0)xf(46815,46837,53,46850);c[r>>2]=(c[t>>2]|0)-(c[(c[l>>2]|0)+112>>2]|0);if((c[(c[l>>2]|0)+112>>2]|0)>>>0>(c[p>>2]|0)>>>0)F=c[p>>2]|0;else F=c[(c[l>>2]|0)+112>>2]|0;c[q>>2]=F;dr(c[m>>2]|0,c[o>>2]|0,(c[l>>2]|0)+96+(c[r>>2]|0)|0,c[q>>2]|0);F=(c[l>>2]|0)+112|0;c[F>>2]=(c[F>>2]|0)-(c[q>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[p>>2]=(c[p>>2]|0)-(c[q>>2]|0)}c[u>>2]=((c[p>>2]|0)>>>0)/((c[t>>2]|0)>>>0)|0;if((c[u>>2]|0)!=0?(c[(c[l>>2]|0)+20+16>>2]|0)!=0:0){wb[c[(c[l>>2]|0)+20+16>>2]&15]((c[l>>2]|0)+496|0,(c[l>>2]|0)+80|0,c[m>>2]|0,c[o>>2]|0,c[u>>2]|0);F=_(c[u>>2]|0,c[t>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+F;F=_(c[u>>2]|0,c[t>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+F;F=_(c[u>>2]|0,c[t>>2]|0)|0;c[p>>2]=(c[p>>2]|0)-F}a:do if(c[p>>2]|0){do{c[w>>2]=vb[c[s>>2]&63]((c[l>>2]|0)+496|0,x,(c[l>>2]|0)+80|0)|0;c[v>>2]=(c[w>>2]|0)>>>0>(c[v>>2]|0)>>>0?c[w>>2]|0:c[v>>2]|0;c[r>>2]=c[t>>2];while(1){if((c[r>>2]|0)<=0)break;F=(c[l>>2]|0)+80+((c[r>>2]|0)-1)|0;a[F>>0]=(a[F>>0]|0)+1<<24>>24;if(d[(c[l>>2]|0)+80+((c[r>>2]|0)-1)>>0]|0)break;c[r>>2]=(c[r>>2]|0)+-1}c[q>>2]=(c[t>>2]|0)>>>0<(c[p>>2]|0)>>>0?c[t>>2]|0:c[p>>2]|0;dr(c[m>>2]|0,c[o>>2]|0,x,c[q>>2]|0);c[p>>2]=(c[p>>2]|0)-(c[q>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[q>>2]|0)}while((c[p>>2]|0)!=0);c[(c[l>>2]|0)+112>>2]=(c[t>>2]|0)-(c[q>>2]|0);if(c[(c[l>>2]|0)+112>>2]|0)er((c[l>>2]|0)+96+(c[q>>2]|0)|0,x+(c[q>>2]|0)|0,c[(c[l>>2]|0)+112>>2]|0);c[y>>2]=x;c[z>>2]=16;a[A>>0]=0;F=B;c[F>>2]=d[A>>0];c[F+4>>2]=0;while(1){if(!((c[y>>2]&7|0)!=0?(c[z>>2]|0)!=0:0))break;a[c[y>>2]>>0]=a[A>>0]|0;c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+-1}if((c[z>>2]|0)>>>0>=8){F=B;u=Mx(c[F>>2]|0,c[F+4>>2]|0,16843009,16843009)|0;F=B;c[F>>2]=u;c[F+4>>2]=C;do{c[D>>2]=c[y>>2];F=B;u=c[F+4>>2]|0;n=c[D>>2]|0;c[n>>2]=c[F>>2];c[n+4>>2]=u;c[z>>2]=(c[z>>2]|0)-8;c[y>>2]=(c[y>>2]|0)+8}while((c[z>>2]|0)>>>0>=8)}while(1){if(!(c[z>>2]|0))break a;a[c[y>>2]>>0]=a[A>>0]|0;c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+-1}}while(0);if((c[v>>2]|0)>>>0>0){If((c[v>>2]|0)+16|0);Jf()}c[k>>2]=0;E=c[k>>2]|0;i=j;return E|0}function dr(b,e,f,g){b=b|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+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function er(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;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[f>>2]=3;if(!((c[k>>2]|c[l>>2])&3)){c[m>>2]=c[k>>2];c[n>>2]=c[l>>2];while(1){if((c[j>>2]|0)>>>0<4)break;h=c[n>>2]|0;c[n>>2]=h+4;g=c[h>>2]|0;h=c[m>>2]|0;c[m>>2]=h+4;c[h>>2]=g;c[j>>2]=(c[j>>2]|0)-4}c[k>>2]=c[m>>2];c[l>>2]=c[n>>2]}while(1){if(!(c[j>>2]|0))break;n=c[l>>2]|0;c[l>>2]=n+1;m=a[n>>0]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[n>>0]=m;c[j>>2]=(c[j>>2]|0)+-1}i=f;return}function fr(b,e,f,g,h){b=b|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;j=i;i=i+32|0;k=j+24|0;l=j+20|0;m=j+16|0;n=j+12|0;o=j+8|0;p=j+4|0;q=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[(c[(c[l>>2]|0)+12>>2]|0)+20>>2]|0)!=16){c[k>>2]=12;r=c[k>>2]|0;i=j;return r|0}if((c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0){c[k>>2]=200;r=c[k>>2]|0;i=j;return r|0}if((d[(c[l>>2]|0)+128+68>>0]|0)>>>2&1){c[k>>2]=139;r=c[k>>2]|0;i=j;return r|0}if(((d[(c[l>>2]|0)+56>>0]|0)>>>2&1|0)==0?(a[(c[l>>2]|0)+128+68>>0]&1|0)==0:0){if(!((d[(c[l>>2]|0)+56>>0]|0)>>>1&1))gr(c[l>>2]|0,76459,16)|0;if((d[(c[l>>2]|0)+128+68>>0]|0)>>>3&1){c[k>>2]=156;r=c[k>>2]|0;i=j;return r|0}if(!((d[(c[l>>2]|0)+128+68>>0]|0)>>>1&1)){kr(c[l>>2]|0,(c[l>>2]|0)+128|0,0,0,1);h=(c[l>>2]|0)+128+68|0;a[h>>0]=a[h>>0]&-3|2}ir((c[l>>2]|0)+128+44|0,c[p>>2]|0);h=(nr((c[l>>2]|0)+128+44|0)|0)!=0;g=c[l>>2]|0;if(!h){h=g+128+68|0;a[h>>0]=a[h>>0]&-5|4;c[k>>2]=139;r=c[k>>2]|0;i=j;return r|0}c[q>>2]=cr(g,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;if(c[q>>2]|0){c[k>>2]=c[q>>2];r=c[k>>2]|0;i=j;return r|0}else{kr(c[l>>2]|0,(c[l>>2]|0)+128|0,c[m>>2]|0,c[p>>2]|0,0);c[k>>2]=0;r=c[k>>2]|0;i=j;return r|0}}c[k>>2]=156;r=c[k>>2]|0;i=j;return r|0}function gr(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;f=i;i=i+16|0;g=f+8|0;h=f+4|0;j=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;e=(c[g>>2]|0)+56|0;a[e>>0]=a[e>>0]&-3;e=(c[g>>2]|0)+56|0;a[e>>0]=a[e>>0]&-5;e=(c[g>>2]|0)+128+68|0;a[e>>0]=a[e>>0]&-9;if(!(Ah()|0)){k=c[g>>2]|0;l=c[h>>2]|0;m=c[j>>2]|0;n=hr(k,l,m)|0;i=f;return n|0}e=(c[g>>2]|0)+128+68|0;a[e>>0]=a[e>>0]&-9|8;k=c[g>>2]|0;l=c[h>>2]|0;m=c[j>>2]|0;n=hr(k,l,m)|0;i=f;return n|0}function hr(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;g=i;i=i+96|0;h=g+76|0;j=g+72|0;k=g+68|0;l=g+64|0;m=g+56|0;n=g+40|0;o=g+36|0;p=g+32|0;q=g+81|0;r=g+8|0;s=g+28|0;t=g+24|0;u=g+20|0;v=g+80|0;w=g;x=g+16|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;f=(c[j>>2]|0)+128+36|0;c[f>>2]=0;c[f+4>>2]=0;f=(c[j>>2]|0)+128+44|0;c[f>>2]=0;c[f+4>>2]=0;f=(c[j>>2]|0)+128|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;f=(c[j>>2]|0)+128+68|0;a[f>>0]=a[f>>0]&-5;f=(c[j>>2]|0)+128+68|0;a[f>>0]=a[f>>0]&-2;f=(c[j>>2]|0)+128+68|0;a[f>>0]=a[f>>0]&-3;if(!(c[l>>2]|0)){c[h>>2]=139;y=c[h>>2]|0;i=g;return y|0}a:do if((c[l>>2]|0)!=12){c[m>>2]=0;c[m+4>>2]=0;f=(c[j>>2]|0)+80|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;ir(m,c[l>>2]|0);f=(jr(m)|0)!=0;e=c[j>>2]|0;if(!f){f=e+128+68|0;a[f>>0]=a[f>>0]&-5|4;c[h>>2]=139;y=c[h>>2]|0;i=g;return y|0}kr(e,(c[j>>2]|0)+80|0,c[k>>2]|0,c[l>>2]|0,1);c[n+8+4>>2]=Hx(c[m>>2]<<3|0)|0;c[n+8>>2]=Hx((c[m>>2]|0)>>>29|c[m+4>>2]<<3|0)|0;c[n+4>>2]=0;c[n>>2]=0;kr(c[j>>2]|0,(c[j>>2]|0)+80|0,n,16,1);c[o>>2]=m;c[p>>2]=8;a[q>>0]=0;e=r;c[e>>2]=d[q>>0];c[e+4>>2]=0;while(1){if(!((c[o>>2]&7|0)!=0?(c[p>>2]|0)!=0:0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}if((c[p>>2]|0)>>>0>=8){e=r;f=Mx(c[e>>2]|0,c[e+4>>2]|0,16843009,16843009)|0;e=r;c[e>>2]=f;c[e+4>>2]=C;do{c[s>>2]=c[o>>2];e=r;f=c[e+4>>2]|0;b=c[s>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=f;c[p>>2]=(c[p>>2]|0)-8;c[o>>2]=(c[o>>2]|0)+8}while((c[p>>2]|0)>>>0>=8)}while(1){if(!(c[p>>2]|0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}c[t>>2]=n;c[u>>2]=16;a[v>>0]=0;f=w;c[f>>2]=d[v>>0];c[f+4>>2]=0;while(1){if(!((c[t>>2]&7|0)!=0?(c[u>>2]|0)!=0:0))break;a[c[t>>2]>>0]=a[v>>0]|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+-1}if((c[u>>2]|0)>>>0>=8){f=w;b=Mx(c[f>>2]|0,c[f+4>>2]|0,16843009,16843009)|0;f=w;c[f>>2]=b;c[f+4>>2]=C;do{c[x>>2]=c[t>>2];f=w;b=c[f+4>>2]|0;e=c[x>>2]|0;c[e>>2]=c[f>>2];c[e+4>>2]=b;c[u>>2]=(c[u>>2]|0)-8;c[t>>2]=(c[t>>2]|0)+8}while((c[u>>2]|0)>>>0>=8)}while(1){if(!(c[u>>2]|0))break a;a[c[t>>2]>>0]=a[v>>0]|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+-1}}else{Dx((c[j>>2]|0)+80|0,c[k>>2]|0,c[l>>2]|0)|0;a[(c[j>>2]|0)+80+14>>0]=0;a[(c[j>>2]|0)+80+13>>0]=0;a[(c[j>>2]|0)+80+12>>0]=0;a[(c[j>>2]|0)+80+15>>0]=1}while(0);vb[c[(c[(c[j>>2]|0)+12>>2]|0)+36>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+128+52|0,(c[j>>2]|0)+80|0)|0;mr((c[j>>2]|0)+80|0,1)|0;c[(c[j>>2]|0)+112>>2]=0;l=(c[j>>2]|0)+56|0;a[l>>0]=a[l>>0]&-3|2;l=(c[j>>2]|0)+56|0;a[l>>0]=a[l>>0]&-5;c[h>>2]=0;y=c[h>>2]|0;i=g;return y|0}function ir(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;c[b>>2]=(c[b>>2]|0)+(c[f>>2]|0);if((c[c[e>>2]>>2]|0)>>>0>=(c[f>>2]|0)>>>0){i=d;return}f=(c[e>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+1;i=d;return}function jr(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;do if((c[(c[e>>2]|0)+4>>2]|0)>>>0<=536870911){if((c[(c[e>>2]|0)+4>>2]|0)>>>0<536870911){c[d>>2]=1;break}if((c[c[e>>2]>>2]|0)>>>0<=4294967295){c[d>>2]=1;break}else{c[d>>2]=0;break}}else c[d>>2]=0;while(0);i=b;return c[d>>2]|0}function kr(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;h=i;i=i+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;t=h;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=16;c[p>>2]=c[(c[j>>2]|0)+128+32>>2];c[q>>2]=c[(c[j>>2]|0)+128+96>>2];c[t>>2]=0;if((c[m>>2]|0)==0?!((c[p>>2]|0)!=0&(c[n>>2]|0)!=0):0){i=h;return}a:do{if((c[p>>2]|0)>>>0>0?1:((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0<(c[o>>2]|0)>>>0){c[s>>2]=(c[o>>2]|0)-(c[p>>2]|0);c[s>>2]=(c[s>>2]|0)>>>0<(c[m>>2]|0)>>>0?c[s>>2]|0:c[m>>2]|0;lr((c[j>>2]|0)+128+16+(c[p>>2]|0)|0,c[l>>2]|0,c[s>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[s>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[s>>2]|0);c[m>>2]=(c[m>>2]|0)-(c[s>>2]|0)}b:do if(!(c[m>>2]|0)){if(!(c[n>>2]|0))break a;while(1){if((c[p>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break b;g=c[p>>2]|0;c[p>>2]=g+1;a[(c[j>>2]|0)+128+16+g>>0]=0}}while(0);if((c[p>>2]|0)>>>0>0){if((c[p>>2]|0)!=(c[o>>2]|0)){u=11;break}c[t>>2]=Cb[c[q>>2]&7](c[j>>2]|0,c[k>>2]|0,(c[j>>2]|0)+128+16|0,1)|0;c[p>>2]=0}c[r>>2]=((c[m>>2]|0)>>>0)/((c[o>>2]|0)>>>0)|0;if(c[r>>2]|0){c[t>>2]=Cb[c[q>>2]&7](c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[r>>2]|0)|0;g=_(c[o>>2]|0,c[r>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+g;g=_(c[o>>2]|0,c[r>>2]|0)|0;c[m>>2]=(c[m>>2]|0)-g}}while((c[m>>2]|0)>>>0>0);if((u|0)==11)xf(46875,46895,499,46908);c[(c[j>>2]|0)+128+32>>2]=c[p>>2];if(!(c[t>>2]|0)){i=h;return}If(c[t>>2]|0);Jf();i=h;return}function lr(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;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[f>>2]=3;if(!((c[k>>2]|c[l>>2])&3)){c[m>>2]=c[k>>2];c[n>>2]=c[l>>2];while(1){if((c[j>>2]|0)>>>0<4)break;h=c[n>>2]|0;c[n>>2]=h+4;g=c[h>>2]|0;h=c[m>>2]|0;c[m>>2]=h+4;c[h>>2]=g;c[j>>2]=(c[j>>2]|0)-4}c[k>>2]=c[m>>2];c[l>>2]=c[n>>2]}while(1){if(!(c[j>>2]|0))break;n=c[l>>2]|0;c[l>>2]=n+1;m=a[n>>0]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[n>>0]=m;c[j>>2]=(c[j>>2]|0)+-1}i=f;return}function mr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+32|0;e=d+16|0;f=d+12|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[d+8>>2]=16;c[g>>2]=(c[e>>2]|0)+16+-4;e=Hx(c[c[g>>2]>>2]|0)|0;c[h>>2]=e+(c[f>>2]|0);f=Hx(c[h>>2]|0)|0;c[c[g>>2]>>2]=f;i=d;return c[h>>2]|0}function nr(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;do if((c[(c[e>>2]|0)+4>>2]|0)>>>0<=15){if((c[(c[e>>2]|0)+4>>2]|0)>>>0<15){c[d>>2]=1;break}if((c[c[e>>2]>>2]|0)>>>0<=4294967264){c[d>>2]=1;break}else{c[d>>2]=0;break}}else c[d>>2]=0;while(0);i=b;return c[d>>2]|0}function or(b,e,f,g,h){b=b|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+32|0;k=j+20|0;l=j+16|0;m=j+12|0;n=j+8|0;o=j+4|0;p=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[(c[(c[l>>2]|0)+12>>2]|0)+20>>2]|0)!=16){c[k>>2]=12;q=c[k>>2]|0;i=j;return q|0}if((c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0){c[k>>2]=200;q=c[k>>2]|0;i=j;return q|0}if((d[(c[l>>2]|0)+128+68>>0]|0)>>>2&1){c[k>>2]=139;q=c[k>>2]|0;i=j;return q|0}if(((d[(c[l>>2]|0)+56>>0]|0)>>>2&1|0)==0?(a[(c[l>>2]|0)+128+68>>0]&1|0)==0:0){if(!((d[(c[l>>2]|0)+56>>0]|0)>>>1&1))gr(c[l>>2]|0,76475,16)|0;if(!((d[(c[l>>2]|0)+128+68>>0]|0)>>>1&1)){kr(c[l>>2]|0,(c[l>>2]|0)+128|0,0,0,1);h=(c[l>>2]|0)+128+68|0;a[h>>0]=a[h>>0]&-3|2}ir((c[l>>2]|0)+128+44|0,c[p>>2]|0);h=(nr((c[l>>2]|0)+128+44|0)|0)!=0;g=c[l>>2]|0;if(h){kr(g,(c[l>>2]|0)+128|0,c[o>>2]|0,c[p>>2]|0,0);c[k>>2]=cr(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;q=c[k>>2]|0;i=j;return q|0}else{p=g+128+68|0;a[p>>0]=a[p>>0]&-5|4;c[k>>2]=139;q=c[k>>2]|0;i=j;return q|0}}c[k>>2]=156;q=c[k>>2]|0;i=j;return q|0}function pr(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+128+80|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;vb[c[(c[(c[d>>2]|0)+12>>2]|0)+36>>2]&63]((c[d>>2]|0)+496|0,(c[d>>2]|0)+128+80|0,(c[d>>2]|0)+128+80|0)|0;qr(c[d>>2]|0);i=b;return}function qr(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+128+96>>2]=2;vr((c[d>>2]|0)+128+80|0,(c[d>>2]|0)+128+100|0);i=b;return}function rr(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;f=i;i=i+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[f+4>>2]=16;c[l>>2]=0;while(1){if(!(c[k>>2]|0))break;c[l>>2]=sr(c[h>>2]|0,c[j>>2]|0,(c[g>>2]|0)+128+100|0)|0;c[j>>2]=(c[j>>2]|0)+16;c[k>>2]=(c[k>>2]|0)+-1}i=f;return (c[l>>2]|0)+((c[l>>2]|0)!=0?20:0)|0}function sr(a,b,f){a=a|0;b=b|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;g=i;i=i+80|0;h=g+56|0;j=g+52|0;k=g+48|0;l=g+64|0;m=g+32|0;n=g+24|0;o=g+20|0;p=g+16|0;q=g+4|0;r=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=f;tr(l,c[h>>2]|0,c[j>>2]|0,16);c[r>>2]=15;c[n>>2]=d[l+(c[r>>2]|0)>>0];c[o>>2]=(c[k>>2]|0)+((c[n>>2]&15)<<2<<2);c[n>>2]=(c[n>>2]&240)>>>4;c[p>>2]=(c[k>>2]|0)+(c[n>>2]<<2<<2);j=(c[r>>2]|0)+-1|0;c[r>>2]=j;c[n>>2]=d[l+j>>0];j=(c[c[o>>2]>>2]|0)>>>4;f=Ix(e[17846+((c[(c[o>>2]|0)+12>>2]<<4&240)<<1)>>1]|0|0,0,16)|0;c[m>>2]=j^f^c[c[p>>2]>>2];c[m+4>>2]=(c[(c[o>>2]|0)+4>>2]|0)>>>4^c[c[o>>2]>>2]<<28^c[(c[p>>2]|0)+4>>2];c[m+8>>2]=(c[(c[o>>2]|0)+8>>2]|0)>>>4^c[(c[o>>2]|0)+4>>2]<<28^c[(c[p>>2]|0)+8>>2];c[m+12>>2]=(c[(c[o>>2]|0)+12>>2]|0)>>>4^c[(c[o>>2]|0)+8>>2]<<28^c[(c[p>>2]|0)+12>>2];while(1){c[o>>2]=(c[k>>2]|0)+((c[n>>2]&15)<<2<<2);c[n>>2]=(c[n>>2]&240)>>>4;c[p>>2]=(c[k>>2]|0)+(c[n>>2]<<2<<2);c[q>>2]=c[m>>2];c[q+4>>2]=c[m+4>>2];c[q+8>>2]=c[m+8>>2];c[m>>2]=(c[q>>2]|0)>>>8^(e[17846+((c[m+12>>2]&255)<<1)>>1]|0)<<16^c[c[p>>2]>>2];c[m+4>>2]=c[q>>2]<<24^(c[m+4>>2]|0)>>>8^c[(c[p>>2]|0)+4>>2];c[m+8>>2]=c[q+4>>2]<<24^(c[m+8>>2]|0)>>>8^c[(c[p>>2]|0)+8>>2];c[m+12>>2]=c[q+8>>2]<<24^(c[m+12>>2]|0)>>>8^c[(c[p>>2]|0)+12>>2];f=(c[c[o>>2]>>2]|0)>>>4;j=Ix(e[17846+((c[(c[o>>2]|0)+12>>2]<<4&240)<<1)>>1]|0|0,0,16)|0;c[m>>2]=c[m>>2]^(f^j);j=m+4|0;c[j>>2]=c[j>>2]^((c[(c[o>>2]|0)+4>>2]|0)>>>4^c[c[o>>2]>>2]<<28);j=m+8|0;c[j>>2]=c[j>>2]^((c[(c[o>>2]|0)+8>>2]|0)>>>4^c[(c[o>>2]|0)+4>>2]<<28);j=m+12|0;c[j>>2]=c[j>>2]^((c[(c[o>>2]|0)+12>>2]|0)>>>4^c[(c[o>>2]|0)+8>>2]<<28);if(!(c[r>>2]|0))break;j=(c[r>>2]|0)+-1|0;c[r>>2]=j;c[n>>2]=d[l+j>>0]}ur(c[h>>2]|0,c[m>>2]|0);ur((c[h>>2]|0)+4|0,c[m+4>>2]|0);ur((c[h>>2]|0)+8|0,c[m+8>>2]|0);ur((c[h>>2]|0)+12|0,c[m+12>>2]|0);i=g;return 76}function tr(b,e,f,g){b=b|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+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function ur(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];a[c[h>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[h>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[h>>2]|0)+3>>0]=c[g>>2];i=e;return}function vr(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+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;b=wr(c[e>>2]|0)|0;c[(c[f>>2]|0)+128>>2]=b;b=wr((c[e>>2]|0)+4|0)|0;c[(c[f>>2]|0)+132>>2]=b;b=wr((c[e>>2]|0)+8|0)|0;c[(c[f>>2]|0)+136>>2]=b;b=wr((c[e>>2]|0)+12|0)|0;c[(c[f>>2]|0)+140>>2]=b;c[g>>2]=4;while(1){if((c[g>>2]|0)<=0)break;c[(c[f>>2]|0)+((c[g>>2]<<2)+0<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<1<<2)+0<<2)>>2];c[(c[f>>2]|0)+((c[g>>2]<<2)+1<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<1<<2)+1<<2)>>2];c[(c[f>>2]|0)+((c[g>>2]<<2)+2<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<1<<2)+2<<2)>>2];c[(c[f>>2]|0)+((c[g>>2]<<2)+3<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<1<<2)+3<<2)>>2];xr(c[f>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)/2|0}c[g>>2]=2;while(1){if((c[g>>2]|0)>=16)break;c[h>>2]=1;while(1){j=c[g>>2]|0;if((c[h>>2]|0)>=(c[g>>2]|0))break;c[(c[f>>2]|0)+(((c[g>>2]|0)+(c[h>>2]|0)<<2)+0<<2)>>2]=c[(c[f>>2]|0)+((j<<2)+0<<2)>>2]^c[(c[f>>2]|0)+((c[h>>2]<<2)+0<<2)>>2];c[(c[f>>2]|0)+(((c[g>>2]|0)+(c[h>>2]|0)<<2)+1<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<2)+1<<2)>>2]^c[(c[f>>2]|0)+((c[h>>2]<<2)+1<<2)>>2];c[(c[f>>2]|0)+(((c[g>>2]|0)+(c[h>>2]|0)<<2)+2<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<2)+2<<2)>>2]^c[(c[f>>2]|0)+((c[h>>2]<<2)+2<<2)>>2];c[(c[f>>2]|0)+(((c[g>>2]|0)+(c[h>>2]|0)<<2)+3<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<2)+3<<2)>>2]^c[(c[f>>2]|0)+((c[h>>2]<<2)+3<<2)>>2];c[h>>2]=(c[h>>2]|0)+1}c[g>>2]=j<<1}i=d;return}function wr(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];i=b;return (d[c[f>>2]>>0]|0)<<24|(d[(c[f>>2]|0)+1>>0]|0)<<16|(d[(c[f>>2]|0)+2>>0]|0)<<8|(d[(c[f>>2]|0)+3>>0]|0)|0}function xr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+32|0;e=d+28|0;f=d+24|0;g=d+8|0;h=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[e>>2]|0)+((c[f>>2]<<2)+0<<2)>>2];c[g+4>>2]=c[(c[e>>2]|0)+((c[f>>2]<<2)+1<<2)>>2];c[g+8>>2]=c[(c[e>>2]|0)+((c[f>>2]<<2)+2<<2)>>2];c[g+12>>2]=c[(c[e>>2]|0)+((c[f>>2]<<2)+3<<2)>>2];c[h>>2]=(c[g+12>>2]&1|0)!=0?225:0;c[(c[e>>2]|0)+((c[f>>2]<<2)+3<<2)>>2]=(c[g+12>>2]|0)>>>1^c[g+8>>2]<<31;c[(c[e>>2]|0)+((c[f>>2]<<2)+2<<2)>>2]=(c[g+8>>2]|0)>>>1^c[g+4>>2]<<31;c[(c[e>>2]|0)+((c[f>>2]<<2)+1<<2)>>2]=(c[g+4>>2]|0)>>>1^c[g>>2]<<31;c[(c[e>>2]|0)+((c[f>>2]<<2)+0<<2)>>2]=(c[g>>2]|0)>>>1^c[h>>2]<<24;i=d;return}function yr(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+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f;l=f+8|0;c[h>>2]=a;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;e=k;c[l>>2]=zr(c[e>>2]|0,c[e+4>>2]|0)|0;if((c[l>>2]|0)<16){c[g>>2]=(c[h>>2]|0)+128+32+(c[l>>2]<<4);m=c[g>>2]|0;i=f;return m|0}Br(c[j>>2]|0,(c[h>>2]|0)+128+32+240|0);c[l>>2]=(c[l>>2]|0)-16;while(1){n=c[j>>2]|0;if(!(c[l>>2]|0))break;Dr(n);c[l>>2]=(c[l>>2]|0)+-1}c[g>>2]=n;m=c[g>>2]|0;i=f;return m|0}function zr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d;g=f;c[g>>2]=a;c[g+4>>2]=b;b=f;g=c[b+4>>2]|0;if((c[f>>2]|0)!=0|0!=0){c[e>>2]=Ar(c[b>>2]|0)|0;h=c[e>>2]|0;i=d;return h|0}else{c[e>>2]=32+(Ar(g)|0);h=c[e>>2]|0;i=d;return h|0}return 0}function Ar(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)!=0;e=Gx(c[d>>2]|0)|0;i=b;return (a?e:32)|0}function Br(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if((c[e>>2]|0)!=(c[f>>2]|0))Cr(c[e>>2]|0,c[f>>2]|0,16);Dr(c[e>>2]|0);i=d;return}function Cr(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;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[f>>2]=3;if(!((c[k>>2]|c[l>>2])&3)){c[m>>2]=c[k>>2];c[n>>2]=c[l>>2];while(1){if((c[j>>2]|0)>>>0<4)break;h=c[n>>2]|0;c[n>>2]=h+4;g=c[h>>2]|0;h=c[m>>2]|0;c[m>>2]=h+4;c[h>>2]=g;c[j>>2]=(c[j>>2]|0)-4}c[k>>2]=c[m>>2];c[l>>2]=c[n>>2]}while(1){if(!(c[j>>2]|0))break;n=c[l>>2]|0;c[l>>2]=n+1;m=a[n>>0]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[n>>0]=m;c[j>>2]=(c[j>>2]|0)+-1}i=f;return}function Dr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+32|0;d=b+24|0;e=b+16|0;f=b+8|0;g=b;c[d>>2]=a;a=Er(c[d>>2]|0)|0;h=f;c[h>>2]=a;c[h+4>>2]=C;h=Er((c[d>>2]|0)+8|0)|0;a=g;c[a>>2]=h;c[a+4>>2]=C;a=f;h=Bx(c[a>>2]|0,c[a+4>>2]|0,63)|0;a=e;c[a>>2]=h;c[a+4>>2]=C;a=f;h=f;j=Ax(c[a>>2]|0,c[a+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;h=C;a=g;k=Cx(c[a>>2]|0,c[a+4>>2]|0,63)|0;a=f;c[a>>2]=j^k;c[a+4>>2]=h^C;h=g;a=g;k=Ax(c[h>>2]|0,c[h+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=g;c[a>>2]=k^c[e>>2]&135;c[a+4>>2]=C;a=f;Fr(c[d>>2]|0,c[a>>2]|0,c[a+4>>2]|0);a=g;Fr((c[d>>2]|0)+8|0,c[a>>2]|0,c[a+4>>2]|0);i=b;return}function Er(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+16|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];e=Ix(d[c[f>>2]>>0]|0|0,0,56)|0;a=C;g=Ix(d[(c[f>>2]|0)+1>>0]|0|0,0,48)|0;h=a|C;a=Ix(d[(c[f>>2]|0)+2>>0]|0|0,0,40)|0;j=h|C|(d[(c[f>>2]|0)+3>>0]|0);h=Ix(d[(c[f>>2]|0)+4>>0]|0|0,0,24)|0;k=j|C;j=Ix(d[(c[f>>2]|0)+5>>0]|0|0,0,16)|0;l=k|C;k=Ix(d[(c[f>>2]|0)+6>>0]|0|0,0,8)|0;C=l|C;i=b;return e|g|a|h|j|k|(d[(c[f>>2]|0)+7>>0]|0)|0}function Fr(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+12|0;h=f;j=f+8|0;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;c[j>>2]=c[g>>2];g=h;e=Cx(c[g>>2]|0,c[g+4>>2]|0,56)|0;a[c[j>>2]>>0]=e;e=h;g=Cx(c[e>>2]|0,c[e+4>>2]|0,48)|0;a[(c[j>>2]|0)+1>>0]=g;g=h;e=Cx(c[g>>2]|0,c[g+4>>2]|0,40)|0;a[(c[j>>2]|0)+2>>0]=e;a[(c[j>>2]|0)+3>>0]=c[h+4>>2];e=h;g=Cx(c[e>>2]|0,c[e+4>>2]|0,24)|0;a[(c[j>>2]|0)+4>>0]=g;g=h;e=Cx(c[g>>2]|0,c[g+4>>2]|0,16)|0;a[(c[j>>2]|0)+5>>0]=e;e=h;g=Cx(c[e>>2]|0,c[e+4>>2]|0,8)|0;a[(c[j>>2]|0)+6>>0]=g;a[(c[j>>2]|0)+7>>0]=c[h>>2];i=f;return}function Gr(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,D=0;g=i;i=i+128|0;h=g+68|0;j=g+64|0;k=g+60|0;l=g+56|0;m=g+104|0;n=g+80|0;o=g+52|0;p=g+48|0;q=g+44|0;r=g+40|0;s=g+36|0;t=g+32|0;u=g+73|0;v=g+8|0;w=g+28|0;x=g+24|0;y=g+20|0;z=g+72|0;A=g;B=g+16|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[q>>2]=0;if(!(a[(c[j>>2]|0)+56>>0]&1)){c[h>>2]=156;D=c[h>>2]|0;i=g;return D|0}switch(d[(c[j>>2]|0)+128+352>>0]|0|0){case 16:case 12:case 8:break;default:{c[h>>2]=59;D=c[h>>2]|0;i=g;return D|0}}if((c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2]|0)!=16){c[h>>2]=12;D=c[h>>2]|0;i=g;return D|0}if(!(c[k>>2]|0)){c[h>>2]=45;D=c[h>>2]|0;i=g;return D|0}if((c[l>>2]|0)>>>0>15|(c[l>>2]|0)>>>0<8|(c[l>>2]|0)>>>0>=16){c[h>>2]=139;D=c[h>>2]|0;i=g;return D|0}f=m;e=f+16|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(e|0));c[r>>2]=vb[c[(c[(c[j>>2]|0)+12>>2]|0)+36>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+128|0,m)|0;c[q>>2]=(c[r>>2]|0)>>>0>(c[q>>2]|0)>>>0?c[r>>2]|0:c[q>>2]|0;Br((c[j>>2]|0)+128+16|0,(c[j>>2]|0)+128|0);Br((c[j>>2]|0)+128+32|0,(c[j>>2]|0)+128+16|0);c[p>>2]=1;while(1){if((c[p>>2]|0)>=16)break;Br((c[j>>2]|0)+128+32+(c[p>>2]<<4)|0,(c[j>>2]|0)+128+32+((c[p>>2]|0)-1<<4)|0);c[p>>2]=(c[p>>2]|0)+1}Fx(m|0,0,16-(c[l>>2]|0)|0)|0;Cr(m+(16-(c[l>>2]|0))|0,c[k>>2]|0,c[l>>2]|0);a[m>>0]=(((d[(c[j>>2]|0)+128+352>>0]|0)<<3|0)%128|0)<<1;k=m+(16-(c[l>>2]|0)-1)|0;a[k>>0]=d[k>>0]|0|1;c[o>>2]=(d[m+15>>0]|0)&63;k=m+15|0;a[k>>0]=(d[k>>0]|0)&192;c[r>>2]=vb[c[(c[(c[j>>2]|0)+12>>2]|0)+36>>2]&63]((c[j>>2]|0)+496|0,m,m)|0;c[q>>2]=(c[r>>2]|0)>>>0>(c[q>>2]|0)>>>0?c[r>>2]|0:c[q>>2]|0;Cr(n,m,16);Hr(n+16|0,m,m+1|0,8);Ir((c[j>>2]|0)+64|0,n,c[o>>2]|0,16);o=(c[j>>2]|0)+56|0;a[o>>0]=a[o>>0]&-3|2;o=(c[j>>2]|0)+80|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;o=(c[j>>2]|0)+128+304|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;o=(c[j>>2]|0)+128+320|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;o=(c[j>>2]|0)+96|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[(c[j>>2]|0)+112>>2]=0;o=(c[j>>2]|0)+56|0;a[o>>0]=a[o>>0]&-5;o=(c[j>>2]|0)+56|0;a[o>>0]=a[o>>0]&-9;o=(c[j>>2]|0)+128+336|0;c[o>>2]=0;c[o+4>>2]=0;o=(c[j>>2]|0)+128+344|0;c[o>>2]=0;c[o+4>>2]=0;o=(c[j>>2]|0)+128+353|0;a[o>>0]=a[o>>0]&-2;o=(c[j>>2]|0)+128+353|0;a[o>>0]=a[o>>0]&-3;c[s>>2]=m;c[t>>2]=16;a[u>>0]=0;m=v;c[m>>2]=d[u>>0];c[m+4>>2]=0;while(1){if(!((c[s>>2]&7|0)!=0?(c[t>>2]|0)!=0:0))break;a[c[s>>2]>>0]=a[u>>0]|0;c[s>>2]=(c[s>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+-1}if((c[t>>2]|0)>>>0>=8){m=v;o=Mx(c[m>>2]|0,c[m+4>>2]|0,16843009,16843009)|0;m=v;c[m>>2]=o;c[m+4>>2]=C;do{c[w>>2]=c[s>>2];m=v;o=c[m+4>>2]|0;j=c[w>>2]|0;c[j>>2]=c[m>>2];c[j+4>>2]=o;c[t>>2]=(c[t>>2]|0)-8;c[s>>2]=(c[s>>2]|0)+8}while((c[t>>2]|0)>>>0>=8)}while(1){if(!(c[t>>2]|0))break;a[c[s>>2]>>0]=a[u>>0]|0;c[s>>2]=(c[s>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+-1}c[x>>2]=n;c[y>>2]=24;a[z>>0]=0;n=A;c[n>>2]=d[z>>0];c[n+4>>2]=0;while(1){if(!((c[x>>2]&7|0)!=0?(c[y>>2]|0)!=0:0))break;a[c[x>>2]>>0]=a[z>>0]|0;c[x>>2]=(c[x>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+-1}if((c[y>>2]|0)>>>0>=8){n=A;t=Mx(c[n>>2]|0,c[n+4>>2]|0,16843009,16843009)|0;n=A;c[n>>2]=t;c[n+4>>2]=C;do{c[B>>2]=c[x>>2];n=A;t=c[n+4>>2]|0;s=c[B>>2]|0;c[s>>2]=c[n>>2];c[s+4>>2]=t;c[y>>2]=(c[y>>2]|0)-8;c[x>>2]=(c[x>>2]|0)+8}while((c[y>>2]|0)>>>0>=8)}while(1){if(!(c[y>>2]|0))break;a[c[x>>2]>>0]=a[z>>0]|0;c[x>>2]=(c[x>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+-1}if((c[q>>2]|0)>>>0>0){If((c[q>>2]|0)+16|0);Jf()}c[h>>2]=0;D=c[h>>2]|0;i=g;return D|0}function Hr(b,e,f,g){b=b|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+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function Ir(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;j=h+16|0;k=h+12|0;l=h+8|0;m=h+4|0;n=h;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[k>>2]=(c[k>>2]|0)+(((c[l>>2]|0)>>>0)/8|0);c[n>>2]=((c[l>>2]|0)>>>0)%8|0;if(c[n>>2]|0){while(1){if(!(c[m>>2]|0))break;a[c[j>>2]>>0]=(d[c[k>>2]>>0]|0)<<c[n>>2]|(d[(c[k>>2]|0)+1>>0]|0)>>8-(c[n>>2]|0);c[m>>2]=(c[m>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}i=h;return}else{while(1){if(!(c[m>>2]|0))break;a[c[j>>2]>>0]=a[c[k>>2]>>0]|0;c[m>>2]=(c[m>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}i=h;return}}function Jr(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;g=i;i=i+32|0;h=g+28|0;j=g+24|0;k=g+20|0;l=g+16|0;m=g+12|0;n=g+8|0;o=g+4|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[h>>2];c[m>>2]=c[j>>2];c[g>>2]=3;if(!((c[l>>2]|c[m>>2])&3)){c[n>>2]=c[l>>2];c[o>>2]=c[m>>2];while(1){if((c[k>>2]|0)>>>0<4)break;j=c[o>>2]|0;c[o>>2]=j+4;h=c[j>>2]|0;j=c[n>>2]|0;c[n>>2]=j+4;c[j>>2]=c[j>>2]^h;c[k>>2]=(c[k>>2]|0)-4}c[l>>2]=c[n>>2];c[m>>2]=c[o>>2]}while(1){if(!(c[k>>2]|0))break;o=c[m>>2]|0;c[m>>2]=o+1;n=d[o>>0]|0;o=c[l>>2]|0;c[l>>2]=o+1;a[o>>0]=(d[o>>0]|0)^n;c[k>>2]=(c[k>>2]|0)+-1}i=g;return}function Kr(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;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=Lr(c[h>>2]|0,1,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;i=g;return f|0}function Lr(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;k=i;i=i+80|0;l=k+40|0;m=k+36|0;n=k+32|0;o=k+28|0;p=k+24|0;q=k+20|0;r=k+16|0;s=k+64|0;t=k+12|0;u=k+8|0;v=k+4|0;w=k;x=k+48|0;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[t>>2]=0;c[v>>2]=((c[r>>2]|0)>>>0)/16|0;if(((d[(c[m>>2]|0)+56>>0]|0)>>>1&1|0)!=0?(a[(c[m>>2]|0)+128+353>>0]&1|0)==0:0){if((c[(c[(c[m>>2]|0)+12>>2]|0)+20>>2]|0)!=16){c[l>>2]=12;y=c[l>>2]|0;i=k;return y|0}if((c[p>>2]|0)>>>0<(c[r>>2]|0)>>>0){c[l>>2]=200;y=c[l>>2]|0;i=k;return y|0}if(((d[(c[m>>2]|0)+56>>0]|0)>>>3&1|0)==0?(((c[r>>2]|0)>>>0)%16|0|0)!=0:0){c[l>>2]=139;y=c[l>>2]|0;i=k;return y|0}if((c[v>>2]|0)!=0?(c[(c[m>>2]|0)+20+20>>2]|0)!=0:0){wb[c[(c[m>>2]|0)+20+20>>2]&15](c[m>>2]|0,c[o>>2]|0,c[q>>2]|0,c[v>>2]|0,c[n>>2]|0);c[q>>2]=(c[q>>2]|0)+(c[v>>2]<<4);c[o>>2]=(c[o>>2]|0)+(c[v>>2]<<4);c[r>>2]=(c[r>>2]|0)-(c[v>>2]<<4);c[p>>2]=(c[p>>2]|0)-(c[v>>2]<<4);c[v>>2]=0}if(c[v>>2]|0){j=c[(c[m>>2]|0)+12>>2]|0;if(c[n>>2]|0)z=c[j+36>>2]|0;else z=c[j+40>>2]|0;c[w>>2]=z;if(c[n>>2]|0)Mr((c[m>>2]|0)+80|0,c[q>>2]|0,c[v>>2]|0);while(1){if((c[r>>2]|0)>>>0<16)break;z=(c[m>>2]|0)+128+336|0;j=z;h=Ax(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;j=z;c[j>>2]=h;c[j+4>>2]=C;j=(c[m>>2]|0)+64|0;h=(c[m>>2]|0)+128+336|0;Jr(j,yr(c[m>>2]|0,s,c[h>>2]|0,c[h+4>>2]|0)|0,16);Hr(c[o>>2]|0,(c[m>>2]|0)+64|0,c[q>>2]|0,16);c[u>>2]=vb[c[w>>2]&63]((c[m>>2]|0)+496|0,c[o>>2]|0,c[o>>2]|0)|0;c[t>>2]=(c[u>>2]|0)>>>0>(c[t>>2]|0)>>>0?c[u>>2]|0:c[t>>2]|0;Jr(c[o>>2]|0,(c[m>>2]|0)+64|0,16);c[q>>2]=(c[q>>2]|0)+16;c[r>>2]=(c[r>>2]|0)-16;c[o>>2]=(c[o>>2]|0)+16;c[p>>2]=-16}if(!(c[n>>2]|0))Mr((c[m>>2]|0)+80|0,(c[o>>2]|0)+(0-(c[v>>2]<<4))|0,c[v>>2]|0)}do if(c[r>>2]|0){Jr((c[m>>2]|0)+64|0,(c[m>>2]|0)+128|0,16);c[u>>2]=vb[c[(c[(c[m>>2]|0)+12>>2]|0)+36>>2]&63]((c[m>>2]|0)+496|0,x,(c[m>>2]|0)+64|0)|0;c[t>>2]=(c[u>>2]|0)>>>0>(c[t>>2]|0)>>>0?c[u>>2]|0:c[t>>2]|0;if(c[n>>2]|0){Cr(s,c[q>>2]|0,c[r>>2]|0);Fx(s+(c[r>>2]|0)|0,0,16-(c[r>>2]|0)|0)|0;a[s+(c[r>>2]|0)>>0]=-128;Jr((c[m>>2]|0)+80|0,s,16);Hr(c[o>>2]|0,c[q>>2]|0,x,c[r>>2]|0);break}else{Cr(s,x,16);Cr(s,c[q>>2]|0,c[r>>2]|0);Jr(s,x,16);a[s+(c[r>>2]|0)>>0]=-128;Cr(c[o>>2]|0,s,c[r>>2]|0);Jr((c[m>>2]|0)+80|0,s,16);break}}while(0);if((d[(c[m>>2]|0)+56>>0]|0)>>>3&1){Hr((c[m>>2]|0)+128+288|0,(c[m>>2]|0)+80|0,(c[m>>2]|0)+64|0,16);Jr((c[m>>2]|0)+128+288|0,(c[m>>2]|0)+128+16|0,16);c[u>>2]=vb[c[(c[(c[m>>2]|0)+12>>2]|0)+36>>2]&63]((c[m>>2]|0)+496|0,(c[m>>2]|0)+128+288|0,(c[m>>2]|0)+128+288|0)|0;c[t>>2]=(c[u>>2]|0)>>>0>(c[t>>2]|0)>>>0?c[u>>2]|0:c[t>>2]|0;u=(c[m>>2]|0)+128+353|0;a[u>>0]=a[u>>0]&-2|1}if((c[t>>2]|0)>>>0>0){If((c[t>>2]|0)+16|0);Jf()}c[l>>2]=0;y=c[l>>2]|0;i=k;return y|0}c[l>>2]=156;y=c[l>>2]|0;i=k;return y|0}function Mr(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;while(1){if((c[h>>2]|0)>>>0<=0)break;Jr(c[f>>2]|0,c[g>>2]|0,16);c[g>>2]=(c[g>>2]|0)+16;c[h>>2]=(c[h>>2]|0)+-1}i=e;return}function Nr(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;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=Lr(c[h>>2]|0,0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;i=g;return f|0}function Or(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;g=i;i=i+48|0;h=g+40|0;j=g+36|0;k=g+32|0;l=g+28|0;m=g+24|0;n=g+20|0;o=g+16|0;p=g+12|0;q=g+8|0;r=g+4|0;s=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[p>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+36>>2];c[q>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2];if((c[l>>2]|0)>>>0<(c[n>>2]|0)>>>0){c[h>>2]=200;t=c[h>>2]|0;i=g;return t|0}if((c[n>>2]|0)>>>0<=(c[(c[j>>2]|0)+112>>2]|0)>>>0){c[o>>2]=(c[j>>2]|0)+64+(c[q>>2]|0)+(0-(c[(c[j>>2]|0)+112>>2]|0));Pr(c[k>>2]|0,c[o>>2]|0,c[m>>2]|0,c[n>>2]|0);l=(c[j>>2]|0)+112|0;c[l>>2]=(c[l>>2]|0)-(c[n>>2]|0);c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}c[r>>2]=0;if(c[(c[j>>2]|0)+112>>2]|0){c[n>>2]=(c[n>>2]|0)-(c[(c[j>>2]|0)+112>>2]|0);c[o>>2]=(c[j>>2]|0)+64+(c[q>>2]|0)+(0-(c[(c[j>>2]|0)+112>>2]|0));Pr(c[k>>2]|0,c[o>>2]|0,c[m>>2]|0,c[(c[j>>2]|0)+112>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[(c[j>>2]|0)+112>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[(c[j>>2]|0)+112>>2]|0);c[(c[j>>2]|0)+112>>2]=0}while(1){if((c[n>>2]|0)>>>0<(c[q>>2]|0)>>>0)break;c[s>>2]=vb[c[p>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,(c[j>>2]|0)+64|0)|0;c[r>>2]=(c[s>>2]|0)>>>0>(c[r>>2]|0)>>>0?c[s>>2]|0:c[r>>2]|0;Pr(c[k>>2]|0,(c[j>>2]|0)+64|0,c[m>>2]|0,c[q>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[q>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[q>>2]|0)}if(c[n>>2]|0){c[s>>2]=vb[c[p>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,(c[j>>2]|0)+64|0)|0;c[r>>2]=(c[s>>2]|0)>>>0>(c[r>>2]|0)>>>0?c[s>>2]|0:c[r>>2]|0;c[(c[j>>2]|0)+112>>2]=c[q>>2];q=(c[j>>2]|0)+112|0;c[q>>2]=(c[q>>2]|0)-(c[n>>2]|0);Pr(c[k>>2]|0,(c[j>>2]|0)+64|0,c[m>>2]|0,c[n>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[n>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);c[n>>2]=0}if((c[r>>2]|0)>>>0>0){If((c[r>>2]|0)+16|0);Jf()}c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}function Pr(b,e,f,g){b=b|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+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function Qr(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=d+8|0;c[e>>2]=b;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;a[f+4>>0]=0;a[f+5>>0]=0;a[f+6>>0]=0;a[f+7>>0]=0;b=Rr(c[e>>2]|0,f,8)|0;i=d;return b|0}function Rr(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;g=i;i=i+112|0;h=g+36|0;j=g+32|0;k=g+28|0;l=g+24|0;m=g+48|0;n=g+20|0;o=g+16|0;p=g+12|0;q=g+40|0;r=g;s=g+8|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;if((c[k>>2]|0)==0&(c[l>>2]|0)!=12){c[h>>2]=45;t=c[h>>2]|0;i=g;return t|0}f=(c[j>>2]|0)+128+20|0;e=f+92|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(e|0));c[(c[j>>2]|0)+128>>2]=0;c[(c[j>>2]|0)+128+4>>2]=0;c[(c[j>>2]|0)+128+8>>2]=0;c[(c[j>>2]|0)+128+8+4>>2]=0;b=(c[j>>2]|0)+128+16|0;a[b>>0]=a[b>>0]&-3;b=(c[j>>2]|0)+128+16|0;a[b>>0]=a[b>>0]&-2;b=(c[j>>2]|0)+56|0;a[b>>0]=a[b>>0]&-5;b=(c[j>>2]|0)+56|0;a[b>>0]=a[b>>0]&-3;Ab[c[(c[(c[j>>2]|0)+12>>2]|0)+60>>2]&7]((c[j>>2]|0)+496|0,c[k>>2]|0,c[l>>2]|0);f=m;e=f+64|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(e|0));Fb[c[(c[(c[j>>2]|0)+12>>2]|0)+44>>2]&1]((c[j>>2]|0)+496|0,m,m,64);c[n>>2]=ws((c[j>>2]|0)+128+20|0,m,32)|0;c[o>>2]=m;c[p>>2]=64;a[q>>0]=0;m=r;c[m>>2]=d[q>>0];c[m+4>>2]=0;while(1){if(!((c[o>>2]&7|0)!=0?(c[p>>2]|0)!=0:0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}if((c[p>>2]|0)>>>0>=8){m=r;f=Mx(c[m>>2]|0,c[m+4>>2]|0,16843009,16843009)|0;m=r;c[m>>2]=f;c[m+4>>2]=C;do{c[s>>2]=c[o>>2];m=r;f=c[m+4>>2]|0;e=c[s>>2]|0;c[e>>2]=c[m>>2];c[e+4>>2]=f;c[p>>2]=(c[p>>2]|0)-8;c[o>>2]=(c[o>>2]|0)+8}while((c[p>>2]|0)>>>0>=8)}while(1){if(!(c[p>>2]|0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}if(c[n>>2]|0){c[h>>2]=c[n>>2];t=c[h>>2]|0;i=g;return t|0}else{n=(c[j>>2]|0)+56|0;a[n>>0]=a[n>>0]&-3|2;c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}return 0}function Sr(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+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;b=c[f>>2]|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);if((c[c[f>>2]>>2]|0)>>>0>=(c[g>>2]|0)>>>0){c[e>>2]=c[h>>2];j=c[e>>2]|0;i=d;return j|0}else{g=(c[f>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1;c[e>>2]=((c[(c[f>>2]|0)+4>>2]|0)>>>0<1?1:(c[h>>2]|0)!=0)&1;j=c[e>>2]|0;i=d;return j|0}return 0}function Tr(b,e,f,g,h){b=b|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;j=i;i=i+32|0;k=j+24|0;l=j+20|0;m=j+16|0;n=j+12|0;o=j+8|0;p=j+4|0;q=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0){c[k>>2]=200;r=c[k>>2]|0;i=j;return r|0}if((d[(c[l>>2]|0)+56>>0]|0)>>>2&1){c[k>>2]=156;r=c[k>>2]|0;i=j;return r|0}if((d[(c[l>>2]|0)+128+16>>0]|0)>>>1&1){c[k>>2]=139;r=c[k>>2]|0;i=j;return r|0}if(((d[(c[l>>2]|0)+56>>0]|0)>>>1&1|0)==0?(c[q>>2]=Qr(c[l>>2]|0)|0,(c[q>>2]|0)!=0):0){c[k>>2]=c[q>>2];r=c[k>>2]|0;i=j;return r|0}if(!(a[(c[l>>2]|0)+128+16>>0]&1))Ur(c[l>>2]|0);q=(Sr((c[l>>2]|0)+128+8|0,c[p>>2]|0)|0)!=0;n=c[l>>2]|0;if(q){q=n+128+16|0;a[q>>0]=a[q>>0]&-3|2;c[k>>2]=139;r=c[k>>2]|0;i=j;return r|0}else{Fb[c[(c[n+12>>2]|0)+44>>2]&1]((c[l>>2]|0)+496|0,c[m>>2]|0,c[o>>2]|0,c[p>>2]|0);ss((c[l>>2]|0)+128+20|0,c[m>>2]|0,c[p>>2]|0);c[k>>2]=0;r=c[k>>2]|0;i=j;return r|0}return 0}function Ur(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;Vr(c[e>>2]|0,(c[e>>2]|0)+128|0);b=(c[e>>2]|0)+128+16|0;a[b>>0]=a[b>>0]&-2|1;c[(c[e>>2]|0)+128+8>>2]=0;c[(c[e>>2]|0)+128+8+4>>2]=0;i=d;return}function Vr(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+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;if((((c[c[f>>2]>>2]|0)>>>0)%16|0)>>>0<=0){i=d;return}c[g>>2]=16-(((c[c[f>>2]>>2]|0)>>>0)%16|0);ss((c[e>>2]|0)+128+20|0,76491,c[g>>2]|0);i=d;return}function Wr(b,e,f,g,h){b=b|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;j=i;i=i+32|0;k=j+24|0;l=j+20|0;m=j+16|0;n=j+12|0;o=j+8|0;p=j+4|0;q=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0){c[k>>2]=200;r=c[k>>2]|0;i=j;return r|0}if((d[(c[l>>2]|0)+56>>0]|0)>>>2&1){c[k>>2]=156;r=c[k>>2]|0;i=j;return r|0}if((d[(c[l>>2]|0)+128+16>>0]|0)>>>1&1){c[k>>2]=139;r=c[k>>2]|0;i=j;return r|0}if(((d[(c[l>>2]|0)+56>>0]|0)>>>1&1|0)==0?(c[q>>2]=Qr(c[l>>2]|0)|0,(c[q>>2]|0)!=0):0){c[k>>2]=c[q>>2];r=c[k>>2]|0;i=j;return r|0}if(!(a[(c[l>>2]|0)+128+16>>0]&1))Ur(c[l>>2]|0);q=(Sr((c[l>>2]|0)+128+8|0,c[p>>2]|0)|0)!=0;n=(c[l>>2]|0)+128|0;if(q){q=n+16|0;a[q>>0]=a[q>>0]&-3|2;c[k>>2]=139;r=c[k>>2]|0;i=j;return r|0}else{ss(n+20|0,c[o>>2]|0,c[p>>2]|0);Fb[c[(c[(c[l>>2]|0)+12>>2]|0)+48>>2]&1]((c[l>>2]|0)+496|0,c[m>>2]|0,c[o>>2]|0,c[p>>2]|0);c[k>>2]=0;r=c[k>>2]|0;i=j;return r|0}return 0}function Xr(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+128>>2]=0;c[(c[e>>2]|0)+128+4>>2]=0;c[(c[e>>2]|0)+128+8>>2]=0;c[(c[e>>2]|0)+128+8+4>>2]=0;b=(c[e>>2]|0)+128+16|0;a[b>>0]=a[b>>0]&-3;b=(c[e>>2]|0)+128+16|0;a[b>>0]=a[b>>0]&-2;b=(c[e>>2]|0)+56|0;a[b>>0]=a[b>>0]&-5;b=(c[e>>2]|0)+56|0;a[b>>0]=a[b>>0]&-3;i=d;return}function Yr(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+80|0;l=k+72|0;m=k+64|0;n=k+60|0;o=k+56|0;p=k+52|0;q=k+48|0;r=k+44|0;s=k+40|0;t=k+36|0;u=k+32|0;v=k+28|0;w=k+24|0;x=k+20|0;y=k+16|0;z=k+12|0;A=k+8|0;B=k+4|0;C=k;c[k+68>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[B>>2]=(c[r>>2]|0)+15;c[B>>2]=(c[B>>2]|0)-(c[B>>2]&15);c[C>>2]=(c[B>>2]|0)+(c[q>>2]<<1)+((_(c[q>>2]|0,c[p>>2]|0)|0)*3|0)+16;c[A>>2]=ag(1,c[C>>2]|0)|0;if(!(c[A>>2]|0)){c[l>>2]=46921;D=c[l>>2]|0;i=k;return D|0}c[t>>2]=16-(c[A>>2]&15)&15;c[u>>2]=(c[A>>2]|0)+(c[t>>2]|0);c[y>>2]=(c[u>>2]|0)+(c[B>>2]|0);c[z>>2]=(c[y>>2]|0)+(c[q>>2]|0);c[v>>2]=(c[z>>2]|0)+(c[q>>2]|0);c[w>>2]=(c[v>>2]|0)+(_(c[p>>2]|0,c[q>>2]|0)|0);c[x>>2]=(c[w>>2]|0)+(_(c[p>>2]|0,c[q>>2]|0)|0);if(vb[c[m>>2]&63](c[u>>2]|0,16,16)|0){$f(c[A>>2]|0);c[l>>2]=46947;D=c[l>>2]|0;i=k;return D|0}Fx(c[y>>2]|0,78,c[q>>2]|0)|0;Fx(c[z>>2]|0,78,c[q>>2]|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[q>>2]|0))break;a[(c[v>>2]|0)+(c[s>>2]|0)>>0]=c[s>>2];c[s>>2]=(c[s>>2]|0)+1}Zr(c[x>>2]|0,c[y>>2]|0,c[v>>2]|0,c[q>>2]|0);vb[c[n>>2]&63](c[u>>2]|0,c[x>>2]|0,c[x>>2]|0)|0;Dx(c[y>>2]|0,c[x>>2]|0,c[q>>2]|0)|0;wb[c[o>>2]&15](c[u>>2]|0,c[z>>2]|0,c[w>>2]|0,c[x>>2]|0,1);if(mw(c[w>>2]|0,c[v>>2]|0,c[q>>2]|0)|0){$f(c[A>>2]|0);c[l>>2]=46961;D=c[l>>2]|0;i=k;return D|0}if(mw(c[z>>2]|0,c[y>>2]|0,c[q>>2]|0)|0){$f(c[A>>2]|0);c[l>>2]=46961;D=c[l>>2]|0;i=k;return D|0}Fx(c[y>>2]|0,95,c[q>>2]|0)|0;Fx(c[z>>2]|0,95,c[q>>2]|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(_(c[p>>2]|0,c[q>>2]|0)|0))break;a[(c[v>>2]|0)+(c[s>>2]|0)>>0]=c[s>>2];c[s>>2]=(c[s>>2]|0)+1}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(_(c[p>>2]|0,c[q>>2]|0)|0))break;Zr((c[x>>2]|0)+(c[s>>2]|0)|0,c[y>>2]|0,(c[v>>2]|0)+(c[s>>2]|0)|0,c[q>>2]|0);vb[c[n>>2]&63](c[u>>2]|0,(c[x>>2]|0)+(c[s>>2]|0)|0,(c[x>>2]|0)+(c[s>>2]|0)|0)|0;Dx(c[y>>2]|0,(c[x>>2]|0)+(c[s>>2]|0)|0,c[q>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[q>>2]|0)}wb[c[o>>2]&15](c[u>>2]|0,c[z>>2]|0,c[w>>2]|0,c[x>>2]|0,c[p>>2]|0);if(mw(c[w>>2]|0,c[v>>2]|0,_(c[p>>2]|0,c[q>>2]|0)|0)|0){$f(c[A>>2]|0);c[l>>2]=46961;D=c[l>>2]|0;i=k;return D|0}p=(mw(c[z>>2]|0,c[y>>2]|0,c[q>>2]|0)|0)!=0;$f(c[A>>2]|0);if(p){c[l>>2]=46961;D=c[l>>2]|0;i=k;return D|0}else{c[l>>2]=0;D=c[l>>2]|0;i=k;return D|0}return 0}function Zr(b,e,f,g){b=b|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+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function _r(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+80|0;l=k+72|0;m=k+64|0;n=k+60|0;o=k+56|0;p=k+52|0;q=k+48|0;r=k+44|0;s=k+40|0;t=k+36|0;u=k+32|0;v=k+28|0;w=k+24|0;x=k+20|0;y=k+16|0;z=k+12|0;A=k+8|0;B=k+4|0;C=k;c[k+68>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[B>>2]=(c[r>>2]|0)+15;c[B>>2]=(c[B>>2]|0)-(c[B>>2]&15);c[C>>2]=(c[B>>2]|0)+(c[q>>2]<<1)+((_(c[q>>2]|0,c[p>>2]|0)|0)*3|0)+16;c[A>>2]=ag(1,c[C>>2]|0)|0;if(!(c[A>>2]|0)){c[l>>2]=46921;D=c[l>>2]|0;i=k;return D|0}c[t>>2]=16-(c[A>>2]&15)&15;c[u>>2]=(c[A>>2]|0)+(c[t>>2]|0);c[y>>2]=(c[u>>2]|0)+(c[B>>2]|0);c[z>>2]=(c[y>>2]|0)+(c[q>>2]|0);c[v>>2]=(c[z>>2]|0)+(c[q>>2]|0);c[w>>2]=(c[v>>2]|0)+(_(c[p>>2]|0,c[q>>2]|0)|0);c[x>>2]=(c[w>>2]|0)+(_(c[p>>2]|0,c[q>>2]|0)|0);if(vb[c[m>>2]&63](c[u>>2]|0,32,16)|0){$f(c[A>>2]|0);c[l>>2]=46947;D=c[l>>2]|0;i=k;return D|0}Fx(c[y>>2]|0,-45,c[q>>2]|0)|0;Fx(c[z>>2]|0,-45,c[q>>2]|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[q>>2]|0))break;a[(c[v>>2]|0)+(c[s>>2]|0)>>0]=c[s>>2];c[s>>2]=(c[s>>2]|0)+1}vb[c[n>>2]&63](c[u>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;$r(c[y>>2]|0,c[x>>2]|0,c[v>>2]|0,c[q>>2]|0);wb[c[o>>2]&15](c[u>>2]|0,c[z>>2]|0,c[w>>2]|0,c[x>>2]|0,1);if(mw(c[w>>2]|0,c[v>>2]|0,c[q>>2]|0)|0){$f(c[A>>2]|0);c[l>>2]=47010;D=c[l>>2]|0;i=k;return D|0}if(mw(c[z>>2]|0,c[y>>2]|0,c[q>>2]|0)|0){$f(c[A>>2]|0);c[l>>2]=47010;D=c[l>>2]|0;i=k;return D|0}Fx(c[y>>2]|0,-26,c[q>>2]|0)|0;Fx(c[z>>2]|0,-26,c[q>>2]|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(_(c[p>>2]|0,c[q>>2]|0)|0))break;a[(c[v>>2]|0)+(c[s>>2]|0)>>0]=c[s>>2];c[s>>2]=(c[s>>2]|0)+1}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(_(c[p>>2]|0,c[q>>2]|0)|0))break;vb[c[n>>2]&63](c[u>>2]|0,(c[x>>2]|0)+(c[s>>2]|0)|0,c[y>>2]|0)|0;$r(c[y>>2]|0,(c[x>>2]|0)+(c[s>>2]|0)|0,(c[v>>2]|0)+(c[s>>2]|0)|0,c[q>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[q>>2]|0)}wb[c[o>>2]&15](c[u>>2]|0,c[z>>2]|0,c[w>>2]|0,c[x>>2]|0,c[p>>2]|0);if(mw(c[w>>2]|0,c[v>>2]|0,_(c[p>>2]|0,c[q>>2]|0)|0)|0){$f(c[A>>2]|0);c[l>>2]=47010;D=c[l>>2]|0;i=k;return D|0}p=(mw(c[z>>2]|0,c[y>>2]|0,c[q>>2]|0)|0)!=0;$f(c[A>>2]|0);if(p){c[l>>2]=47010;D=c[l>>2]|0;i=k;return D|0}else{c[l>>2]=0;D=c[l>>2]|0;i=k;return D|0}return 0}function $r(b,e,f,g){b=b|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+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[p>>2]|c[n>>2]|c[o>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[s>>2]|0;c[s>>2]=l+4;k=c[l>>2]|0;l=c[r>>2]|0;c[r>>2]=l+4;j=c[l>>2]^k;c[l>>2]=j;l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[p>>2]|0;c[p>>2]=s+1;r=d[s>>0]|0;s=c[o>>2]|0;c[o>>2]=s+1;q=((d[s>>0]|0)^r)&255;a[s>>0]=q;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function as(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;l=i;i=i+96|0;m=l+84|0;n=l+76|0;o=l+72|0;p=l+68|0;q=l+64|0;r=l+60|0;s=l+56|0;t=l+52|0;u=l+48|0;v=l+44|0;w=l+40|0;x=l+36|0;y=l+32|0;z=l+28|0;A=l+24|0;B=l+20|0;C=l+16|0;D=l+12|0;E=l+8|0;F=l+4|0;G=l;c[l+80>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[F>>2]=(c[s>>2]|0)+15;c[F>>2]=(c[F>>2]|0)-(c[F>>2]&15);c[G>>2]=(c[F>>2]|0)+(c[r>>2]<<1)+((_(c[r>>2]|0,c[q>>2]|0)|0)<<2)+16;c[E>>2]=ag(1,c[G>>2]|0)|0;if(!(c[E>>2]|0)){c[m>>2]=46921;H=c[m>>2]|0;i=l;return H|0}c[v>>2]=16-(c[E>>2]&15)&15;c[x>>2]=(c[E>>2]|0)+(c[v>>2]|0);c[C>>2]=(c[x>>2]|0)+(c[F>>2]|0);c[D>>2]=(c[C>>2]|0)+(c[r>>2]|0);c[y>>2]=(c[D>>2]|0)+(c[r>>2]|0);c[z>>2]=(c[y>>2]|0)+(_(c[q>>2]|0,c[r>>2]|0)|0);c[A>>2]=(c[z>>2]|0)+(_(c[q>>2]|0,c[r>>2]|0)|0);c[B>>2]=(c[A>>2]|0)+(_(c[q>>2]|0,c[r>>2]|0)|0);if(vb[c[n>>2]&63](c[x>>2]|0,48,16)|0){$f(c[E>>2]|0);c[m>>2]=46947;H=c[m>>2]|0;i=l;return H|0}Fx(c[C>>2]|0,-1,c[r>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[r>>2]|0))break;a[(c[y>>2]|0)+(c[t>>2]|0)>>0]=c[t>>2];c[t>>2]=(c[t>>2]|0)+1}vb[c[o>>2]&63](c[x>>2]|0,c[A>>2]|0,c[C>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[r>>2]|0))break;n=(c[A>>2]|0)+(c[t>>2]|0)|0;a[n>>0]=d[n>>0]^d[(c[y>>2]|0)+(c[t>>2]|0)>>0];c[t>>2]=(c[t>>2]|0)+1}c[t>>2]=c[r>>2];while(1){if((c[t>>2]|0)<=0)break;n=(c[C>>2]|0)+((c[t>>2]|0)-1)|0;a[n>>0]=(a[n>>0]|0)+1<<24>>24;if(a[(c[C>>2]|0)+((c[t>>2]|0)-1)>>0]|0)break;c[t>>2]=(c[t>>2]|0)+-1}Fx(c[D>>2]|0,-1,c[r>>2]|0)|0;wb[c[p>>2]&15](c[x>>2]|0,c[D>>2]|0,c[z>>2]|0,c[A>>2]|0,1);if(mw(c[z>>2]|0,c[y>>2]|0,c[r>>2]|0)|0){$f(c[E>>2]|0);c[m>>2]=47059;H=c[m>>2]|0;i=l;return H|0}if(mw(c[D>>2]|0,c[C>>2]|0,c[r>>2]|0)|0){$f(c[E>>2]|0);c[m>>2]=47059;H=c[m>>2]|0;i=l;return H|0}Fx(c[C>>2]|0,87,(c[r>>2]|0)-4|0)|0;a[(c[C>>2]|0)+((c[r>>2]|0)-1)>>0]=1;a[(c[C>>2]|0)+((c[r>>2]|0)-2)>>0]=0;a[(c[C>>2]|0)+((c[r>>2]|0)-3)>>0]=0;a[(c[C>>2]|0)+((c[r>>2]|0)-4)>>0]=0;Fx(c[D>>2]|0,87,(c[r>>2]|0)-4|0)|0;a[(c[D>>2]|0)+((c[r>>2]|0)-1)>>0]=1;a[(c[D>>2]|0)+((c[r>>2]|0)-2)>>0]=0;a[(c[D>>2]|0)+((c[r>>2]|0)-3)>>0]=0;a[(c[D>>2]|0)+((c[r>>2]|0)-4)>>0]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(_(c[r>>2]|0,c[q>>2]|0)|0))break;n=c[t>>2]&255;a[(c[y>>2]|0)+(c[t>>2]|0)>>0]=n;a[(c[z>>2]|0)+(c[t>>2]|0)>>0]=n;c[t>>2]=(c[t>>2]|0)+1}c[t>>2]=0;while(1){if((c[t>>2]|0)>=(_(c[r>>2]|0,c[q>>2]|0)|0))break;vb[c[o>>2]&63](c[x>>2]|0,(c[A>>2]|0)+(c[t>>2]|0)|0,c[C>>2]|0)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[r>>2]|0))break;n=(c[A>>2]|0)+((c[t>>2]|0)+(c[u>>2]|0))|0;a[n>>0]=d[n>>0]^d[(c[y>>2]|0)+((c[t>>2]|0)+(c[u>>2]|0))>>0];c[u>>2]=(c[u>>2]|0)+1}c[u>>2]=c[r>>2];while(1){if((c[u>>2]|0)<=0)break;n=(c[C>>2]|0)+((c[u>>2]|0)-1)|0;a[n>>0]=(a[n>>0]|0)+1<<24>>24;if(a[(c[C>>2]|0)+((c[u>>2]|0)-1)>>0]|0)break;c[u>>2]=(c[u>>2]|0)+-1}c[t>>2]=(c[t>>2]|0)+(c[r>>2]|0)}wb[c[p>>2]&15](c[x>>2]|0,c[D>>2]|0,c[B>>2]|0,c[z>>2]|0,c[q>>2]|0);if(mw(c[B>>2]|0,c[A>>2]|0,_(c[r>>2]|0,c[q>>2]|0)|0)|0){$f(c[E>>2]|0);c[m>>2]=47059;H=c[m>>2]|0;i=l;return H|0}if(mw(c[D>>2]|0,c[C>>2]|0,c[r>>2]|0)|0){$f(c[E>>2]|0);c[m>>2]=47059;H=c[m>>2]|0;i=l;return H|0}c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[q>>2]|0)){I=56;break}Fx(c[C>>2]|0,-1,c[r>>2]|0)|0;B=(c[C>>2]|0)+((c[r>>2]|0)-1)|0;a[B>>0]=(d[B>>0]|0)-(c[w>>2]|0);a[(c[C>>2]|0)+1>>0]=0;a[c[C>>2]>>0]=0;a[(c[C>>2]|0)+2>>0]=7;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(_(c[r>>2]|0,c[q>>2]|0)|0))break;a[(c[y>>2]|0)+(c[t>>2]|0)>>0]=c[t>>2];c[t>>2]=(c[t>>2]|0)+1}c[t>>2]=0;while(1){if((c[t>>2]|0)>=(_(c[r>>2]|0,c[q>>2]|0)|0))break;vb[c[o>>2]&63](c[x>>2]|0,(c[A>>2]|0)+(c[t>>2]|0)|0,c[C>>2]|0)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[r>>2]|0))break;B=(c[A>>2]|0)+((c[t>>2]|0)+(c[u>>2]|0))|0;a[B>>0]=d[B>>0]^d[(c[y>>2]|0)+((c[t>>2]|0)+(c[u>>2]|0))>>0];c[u>>2]=(c[u>>2]|0)+1}c[u>>2]=c[r>>2];while(1){if((c[u>>2]|0)<=0)break;B=(c[C>>2]|0)+((c[u>>2]|0)-1)|0;a[B>>0]=(a[B>>0]|0)+1<<24>>24;if(a[(c[C>>2]|0)+((c[u>>2]|0)-1)>>0]|0)break;c[u>>2]=(c[u>>2]|0)+-1}c[t>>2]=(c[t>>2]|0)+(c[r>>2]|0)}Fx(c[D>>2]|0,-1,c[r>>2]|0)|0;B=(c[D>>2]|0)+((c[r>>2]|0)-1)|0;a[B>>0]=(d[B>>0]|0)-(c[w>>2]|0);a[(c[D>>2]|0)+1>>0]=0;a[c[D>>2]>>0]=0;a[(c[D>>2]|0)+2>>0]=7;wb[c[p>>2]&15](c[x>>2]|0,c[D>>2]|0,c[z>>2]|0,c[A>>2]|0,c[q>>2]|0);if(mw(c[z>>2]|0,c[y>>2]|0,_(c[r>>2]|0,c[q>>2]|0)|0)|0){I=52;break}if(mw(c[D>>2]|0,c[C>>2]|0,c[r>>2]|0)|0){I=54;break}c[w>>2]=(c[w>>2]|0)+1}if((I|0)==52){$f(c[E>>2]|0);c[m>>2]=47059;H=c[m>>2]|0;i=l;return H|0}else if((I|0)==54){$f(c[E>>2]|0);c[m>>2]=47059;H=c[m>>2]|0;i=l;return H|0}else if((I|0)==56){$f(c[E>>2]|0);c[m>>2]=0;H=c[m>>2]|0;i=l;return H|0}return 0}function bs(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;d=i;i=i+352|0;e=d+160|0;f=d+128|0;g=d+48|0;h=d+40|0;j=d+32|0;k=d+24|0;l=d+16|0;m=d+8|0;n=d;o=d+344|0;p=d+340|0;q=d+336|0;r=d+332|0;s=d+328|0;t=d+284|0;u=d+224|0;v=d+220|0;w=d+216|0;x=d+212|0;y=d+208|0;z=d+204|0;A=d+200|0;B=d+196|0;C=d+192|0;D=d+188|0;E=d+184|0;F=d+180|0;G=d+176|0;H=d+172|0;I=d+168|0;J=d+164|0;c[p>>2]=a;c[q>>2]=b;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;c[B>>2]=0;c[C>>2]=0;c[D>>2]=0;c[E>>2]=0;c[F>>2]=0;c[G>>2]=0;c[H>>2]=0;b=t;a=b+44|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));b=u;a=b+60|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));c[r>>2]=kk(c[p>>2]|0,s)|0;if(c[r>>2]|0){c[o>>2]=c[r>>2];K=c[o>>2]|0;i=d;return K|0}c[A>>2]=xg(c[p>>2]|0,47161,0)|0;if((c[A>>2]|0)!=0?(c[z>>2]=Eg(c[A>>2]|0,1)|0,vg(c[A>>2]|0),(c[z>>2]|0)==0):0){c[o>>2]=65;K=c[o>>2]|0;i=d;return K|0}c[A>>2]=xg(c[p>>2]|0,47167,0)|0;if(!((c[A>>2]|0)!=0?(c[r>>2]=jk(c[A>>2]|0,H,0)|0,vg(c[A>>2]|0),(c[r>>2]|0)!=0):0))L=8;do if((L|0)==8){c[A>>2]=xg(c[p>>2]|0,47173,0)|0;if(c[A>>2]|0){c[H>>2]=c[H>>2]|32;vg(c[A>>2]|0)}if(!((c[s>>2]|0)!=0|(c[z>>2]|0)!=0)){c[o>>2]=68;K=c[o>>2]|0;i=d;return K|0}c[r>>2]=ui(c[s>>2]|0,c[z>>2]|0,t,s)|0;$f(c[z>>2]|0);c[z>>2]=0;if(!(c[r>>2]|0)){if(jg(1)|0){b=$i(c[t>>2]|0)|0;a=aj(c[t+4>>2]|0)|0;c[n>>2]=b;c[n+4>>2]=a;Df(47187,n);if(c[t+40>>2]|0){c[m>>2]=c[t+40>>2];Df(47212,m)}Hf(47234,c[t+8>>2]|0);Hf(47250,c[t+12>>2]|0);Hf(47266,c[t+16>>2]|0);Hf(47282,c[t+32>>2]|0);Hf(47298,c[t+36>>2]|0);Yn(47314,t+20|0,0)}c[B>>2]=jo(c[t>>2]|0,c[t+4>>2]|0,0,c[t+8>>2]|0,c[t+12>>2]|0,c[t+16>>2]|0)|0;a=c[B>>2]|0;b=c[H>>2]|0;if(c[H>>2]&4096)c[r>>2]=Qi(u,t,a,b)|0;else c[r>>2]=cs(u,t,a,b,c[s>>2]|0,x,y)|0;if(!(c[r>>2]|0)){c[v>>2]=vq(0)|0;c[w>>2]=vq(0)|0;if(Zn(c[v>>2]|0,c[w>>2]|0,u+20|0,c[B>>2]|0)|0){c[l>>2]=47704;Bf(47328,l)}c[E>>2]=bj(c[v>>2]|0,c[w>>2]|0,c[u+8>>2]|0)|0;do if((c[u+4>>2]|0)==1?(c[H>>2]&2048|0)==0:0){c[r>>2]=Ii(u+44|0,c[B>>2]|0,c[v>>2]|0,c[w>>2]|0,((c[H>>2]&1024|0)!=0^1^1)&1,I,J)|0;if(!(c[r>>2]|0)){c[F>>2]=vq(0)|0;iq(c[F>>2]|0,c[I>>2]|0,c[J>>2]<<3)|0;c[I>>2]=0;break}c[o>>2]=c[r>>2];K=c[o>>2]|0;i=d;return K|0}else L=28;while(0);if((L|0)==28){if((c[x>>2]|0)==0?(c[x>>2]=vq(0)|0,c[y>>2]=vq(0)|0,(Zn(c[x>>2]|0,c[y>>2]|0,u+44|0,c[B>>2]|0)|0)!=0):0){c[k>>2]=47376;Bf(47328,k)}c[F>>2]=bj(c[x>>2]|0,c[y>>2]|0,c[u+8>>2]|0)|0}c[G>>2]=c[u+56>>2];c[u+56>>2]=0;if((c[t+40>>2]|0)!=0?(c[j>>2]=c[t+40>>2],c[r>>2]=Ig(C,0,47706,j)|0,(c[r>>2]|0)!=0):0)break;if(!((c[H>>2]&512|0)==0?(c[H>>2]&4096|0)==0:0)){if((c[H>>2]&512|0)!=0?(c[H>>2]&4096|0)!=0:0)M=47745;else M=(c[H>>2]&512|0)!=0?47717:47731;c[r>>2]=Ig(D,0,M,h)|0;if(c[r>>2]|0)break}if((c[H>>2]&512|0)!=0?(c[t+40>>2]|0)!=0:0){b=c[q>>2]|0;a=c[D>>2]|0;N=c[u+8>>2]|0;O=c[u+12>>2]|0;P=c[u+16>>2]|0;Q=c[E>>2]|0;R=c[u+32>>2]|0;S=c[u+36>>2]|0;T=c[F>>2]|0;U=c[C>>2]|0;V=c[D>>2]|0;W=c[u+8>>2]|0;X=c[u+12>>2]|0;Y=c[u+16>>2]|0;Z=c[E>>2]|0;_=c[u+32>>2]|0;$=c[u+36>>2]|0;aa=c[F>>2]|0;ba=c[G>>2]|0;c[g>>2]=c[C>>2];c[g+4>>2]=a;c[g+8>>2]=N;c[g+12>>2]=O;c[g+16>>2]=P;c[g+20>>2]=Q;c[g+24>>2]=R;c[g+28>>2]=S;c[g+32>>2]=T;c[g+36>>2]=U;c[g+40>>2]=V;c[g+44>>2]=W;c[g+48>>2]=X;c[g+52>>2]=Y;c[g+56>>2]=Z;c[g+60>>2]=_;c[g+64>>2]=$;c[g+68>>2]=aa;c[g+72>>2]=ba;c[r>>2]=Ig(b,0,47765,g)|0}else{b=c[q>>2]|0;ba=c[D>>2]|0;aa=c[F>>2]|0;$=c[C>>2]|0;_=c[D>>2]|0;Z=c[F>>2]|0;Y=c[G>>2]|0;c[f>>2]=c[C>>2];c[f+4>>2]=ba;c[f+8>>2]=aa;c[f+12>>2]=$;c[f+16>>2]=_;c[f+20>>2]=Z;c[f+24>>2]=Y;c[r>>2]=Ig(b,0,47901,f)|0}if(((c[r>>2]|0)==0?(jg(1)|0)!=0:0)?(Hf(47977,c[u+8>>2]|0),Hf(47993,c[u+12>>2]|0),Hf(48009,c[u+16>>2]|0),Hf(48025,c[E>>2]|0),Hf(48041,c[u+32>>2]|0),Hf(48057,c[u+36>>2]|0),Hf(48073,c[F>>2]|0),Hf(48089,c[G>>2]|0),(c[H>>2]&4096|0)!=0):0)Df(48105,e)}}}while(0);hq(c[G>>2]|0);hq(c[F>>2]|0);hq(c[E>>2]|0);Yi(u);fo(u+44|0);hq(c[u+56>>2]|0);Yi(t);hq(c[v>>2]|0);hq(c[w>>2]|0);hq(c[x>>2]|0);hq(c[y>>2]|0);no(c[B>>2]|0);vg(c[D>>2]|0);vg(c[C>>2]|0);c[o>>2]=c[r>>2];K=c[o>>2]|0;i=d;return K|0}function cs(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;k=i;i=i+96|0;l=k+16|0;m=k+8|0;n=k;o=k+80|0;p=k+76|0;q=k+72|0;r=k+68|0;s=k+64|0;t=k+60|0;u=k+56|0;v=k+44|0;w=k+40|0;x=k+36|0;y=k+32|0;z=k+28|0;A=k+24|0;B=k+20|0;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[z>>2]=Ro(c[(c[p>>2]|0)+8>>2]|0)|0;co(v);if(c[r>>2]&32)c[w>>2]=1;else c[w>>2]=2;if((c[(c[q>>2]|0)+4>>2]|0)==1){j=wq(256)|0;c[(c[o>>2]|0)+56>>2]=j;c[A>>2]=On(32,c[w>>2]|0)|0;j=c[A>>2]|0;a[j>>0]=a[j>>0]&127;j=c[A>>2]|0;a[j>>0]=a[j>>0]|64;j=(c[A>>2]|0)+31|0;a[j>>0]=a[j>>0]&248;Cp(c[(c[o>>2]|0)+56>>2]|0,c[A>>2]|0,32,0);$f(c[A>>2]|0)}else{A=Xt(c[(c[p>>2]|0)+32>>2]|0,c[w>>2]|0)|0;c[(c[o>>2]|0)+56>>2]=A}Go(v,c[(c[o>>2]|0)+56>>2]|0,(c[p>>2]|0)+20|0,c[q>>2]|0);c[c[o>>2]>>2]=c[c[p>>2]>>2];c[(c[o>>2]|0)+4>>2]=c[(c[p>>2]|0)+4>>2];A=mq(c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[o>>2]|0)+8>>2]=A;A=mq(c[(c[p>>2]|0)+12>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=A;A=mq(c[(c[p>>2]|0)+16>>2]|0)|0;c[(c[o>>2]|0)+16>>2]=A;co((c[o>>2]|0)+20|0);ds((c[o>>2]|0)+20|0,(c[p>>2]|0)+20|0);A=mq(c[(c[p>>2]|0)+32>>2]|0)|0;c[(c[o>>2]|0)+32>>2]=A;A=mq(c[(c[p>>2]|0)+36>>2]|0)|0;c[(c[o>>2]|0)+36>>2]=A;co((c[o>>2]|0)+44|0);c[x>>2]=vq(c[z>>2]|0)|0;c[y>>2]=vq(c[z>>2]|0)|0;if(Zn(c[x>>2]|0,c[y>>2]|0,v,c[q>>2]|0)|0){c[n>>2]=47376;Bf(47328,n)}do if((c[(c[p>>2]|0)+4>>2]|0)!=1){c[B>>2]=vq(c[z>>2]|0)|0;n=c[B>>2]|0;q=c[(c[p>>2]|0)+8>>2]|0;if(!(c[c[p>>2]>>2]|0))No(n,q,c[y>>2]|0);else No(n,q,c[x>>2]|0);if((ap(c[B>>2]|0,c[y>>2]|0)|0)>=0){hq(c[B>>2]|0);ds((c[o>>2]|0)+44|0,v);if(!(jg(1)|0))break;Df(47418,l);break}if(!(c[c[p>>2]>>2]|0)){hq(c[y>>2]|0);c[y>>2]=c[B>>2]}else{hq(c[x>>2]|0);c[x>>2]=c[B>>2]}No(c[(c[o>>2]|0)+56>>2]|0,c[(c[p>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+56>>2]|0);q=(c[o>>2]|0)+44|0;n=c[x>>2]|0;A=c[y>>2]|0;go(q,n,A,Aq(1)|0)|0;if(jg(1)|0)Df(47378,m)}else ds((c[o>>2]|0)+44|0,v);while(0);c[c[t>>2]>>2]=c[x>>2];c[c[u>>2]>>2]=c[y>>2];fo(v);if(c[r>>2]&16384){i=k;return 0}r=c[o>>2]|0;v=(c[s>>2]|0)-64|0;if((c[c[o>>2]>>2]|0)!=1){es(r,v);i=k;return 0}else{fs(r,v);i=k;return 0}return 0}function ds(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;oq(c[c[e>>2]>>2]|0,c[c[f>>2]>>2]|0)|0;oq(c[(c[e>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;oq(c[(c[e>>2]|0)+8>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0;i=d;return}function es(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;d=i;i=i+224|0;e=d+168|0;f=d+24|0;g=d+16|0;h=d+8|0;j=d+164|0;k=d+160|0;l=d+104|0;m=d+100|0;n=d+88|0;o=d+84|0;p=d+80|0;q=d+76|0;r=d+72|0;s=d+28|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=vq(c[k>>2]|0)|0;c[o>>2]=vq(c[k>>2]|0)|0;c[p>>2]=vq(c[k>>2]|0)|0;c[q>>2]=vq(c[k>>2]|0)|0;c[r>>2]=vq(c[k>>2]|0)|0;if(jg(1)|0)Df(47471,d);co(n);b=e;a=c[j>>2]|0;t=b+44|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(t|0));Zi(s,e);b=l;a=s;t=b+44|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(t|0));co(l+44|0);ds(l+44|0,(c[j>>2]|0)+44|0);yq(c[m>>2]|0,c[k>>2]|0,0);if(au(c[m>>2]|0,c[j>>2]|0,c[q>>2]|0,c[r>>2]|0,0,0)|0)Bf(47485,h);if(bu(c[m>>2]|0,l,c[q>>2]|0,c[r>>2]|0)|0)Bf(47515,g);if(!(jg(1)|0)){u=l+44|0;fo(u);Yi(l);fo(n);v=c[r>>2]|0;hq(v);w=c[q>>2]|0;hq(w);x=c[p>>2]|0;hq(x);y=c[o>>2]|0;hq(y);z=c[m>>2]|0;hq(z);i=d;return}Df(47553,f);u=l+44|0;fo(u);Yi(l);fo(n);v=c[r>>2]|0;hq(v);w=c[q>>2]|0;hq(w);x=c[p>>2]|0;hq(x);y=c[o>>2]|0;hq(y);z=c[m>>2]|0;hq(z);i=d;return}function fs(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;e=i;i=i+224|0;f=e+168|0;g=e+24|0;h=e+16|0;j=e+8|0;k=e+164|0;l=e+160|0;m=e+104|0;n=e+100|0;o=e+88|0;p=e+84|0;q=e+80|0;r=e+76|0;s=e+32|0;t=e+28|0;c[k>>2]=b;c[l>>2]=d;if(jg(1)|0)Df(47471,e);co(o);d=f;b=c[k>>2]|0;u=d+44|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(u|0));Zi(s,f);d=m;b=s;u=d+44|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(u|0));co(m+44|0);ds(m+44|0,(c[k>>2]|0)+44|0);if((c[(c[k>>2]|0)+4>>2]|0)==1){c[n>>2]=vq(256)|0;c[t>>2]=Mn(32,0)|0;b=c[t>>2]|0;a[b>>0]=a[b>>0]&127;b=c[t>>2]|0;a[b>>0]=a[b>>0]|64;b=(c[t>>2]|0)+31|0;a[b>>0]=a[b>>0]&248;Cp(c[n>>2]|0,c[t>>2]|0,32,0);$f(c[t>>2]|0)}else{c[n>>2]=vq(c[l>>2]|0)|0;yq(c[n>>2]|0,c[l>>2]|0,0)}c[r>>2]=jo(c[m>>2]|0,c[m+4>>2]|0,0,c[m+8>>2]|0,c[m+12>>2]|0,c[m+16>>2]|0)|0;c[p>>2]=vq(0)|0;c[q>>2]=vq(0)|0;Go(o,c[n>>2]|0,m+44|0,c[r>>2]|0);if((c[(c[k>>2]|0)+4>>2]|0)!=1)Go(o,c[(c[r>>2]|0)+36>>2]|0,o,c[r>>2]|0);if(Zn(c[p>>2]|0,0,o,c[r>>2]|0)|0)Bf(47588,j);Go(o,c[n>>2]|0,m+20|0,c[r>>2]|0);Go(o,c[(c[k>>2]|0)+56>>2]|0,o,c[r>>2]|0);if((c[(c[k>>2]|0)+4>>2]|0)!=1)Go(o,c[(c[r>>2]|0)+36>>2]|0,o,c[r>>2]|0);if(Zn(c[q>>2]|0,0,o,c[r>>2]|0)|0)Bf(47636,h);if(ap(c[p>>2]|0,c[q>>2]|0)|0)Bf(47685,g);else{hq(c[p>>2]|0);hq(c[q>>2]|0);no(c[r>>2]|0);fo(m+44|0);Yi(m);fo(o);hq(c[n>>2]|0);i=e;return}}function gs(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;b=i;i=i+176|0;d=b+72|0;e=b+64|0;f=b+56|0;g=b+40|0;h=b;j=b+168|0;k=b+164|0;l=b+160|0;m=b+156|0;n=b+152|0;o=b+148|0;p=b+144|0;q=b+140|0;r=b+80|0;s=b+76|0;c[k>>2]=a;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[s>>2]=0;a=r;t=a+60|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(t|0));c[m>>2]=xg(c[k>>2]|0,47167,0)|0;if(!((c[m>>2]|0)!=0?(c[l>>2]=jk(c[m>>2]|0,n,0)|0,(c[l>>2]|0)!=0):0))u=3;do if((u|0)==3){a=c[k>>2]|0;if(c[n>>2]&512){c[h>>2]=r+8;c[h+4>>2]=r+12;c[h+8>>2]=r+16;c[h+12>>2]=p;c[h+16>>2]=r+32;c[h+20>>2]=r+36;c[h+24>>2]=q;c[h+28>>2]=r+56;c[h+32>>2]=0;c[l>>2]=Rg(a,0,48140,h)|0}else{c[g>>2]=q;c[g+4>>2]=r+56;c[g+8>>2]=0;c[l>>2]=Rg(a,0,48159,g)|0}if(!(c[l>>2]|0)){vg(c[m>>2]|0);c[m>>2]=xg(c[k>>2]|0,47161,5)|0;if(((c[m>>2]|0)!=0?(c[o>>2]=Eg(c[m>>2]|0,1)|0,(c[o>>2]|0)!=0):0)?(c[l>>2]=xi(c[o>>2]|0,r,r+4|0,r+8|0,r+12|0,r+16|0,p,r+32|0,r+36|0)|0,(c[l>>2]|0)!=0):0){c[j>>2]=c[l>>2];v=c[j>>2]|0;i=b;return v|0}if((c[p>>2]|0)!=0?(co(r+20|0),c[l>>2]=dj(r+20|0,c[p>>2]|0)|0,(c[l>>2]|0)!=0):0)break;if(!(c[o>>2]|0)){c[r>>2]=(c[n>>2]&4096|0)!=0?2:0;c[r+4>>2]=(c[n>>2]&4096|0)!=0?1:0}if(jg(1)|0){a=$i(c[r>>2]|0)|0;t=aj(c[r+4>>2]|0)|0;c[f>>2]=a;c[f+4>>2]=t;Df(48165,f);if(c[r+40>>2]|0){c[e>>2]=c[r+40>>2];Df(48189,e)}Hf(48210,c[r+8>>2]|0);Hf(48226,c[r+12>>2]|0);Hf(48242,c[r+16>>2]|0);Yn(48258,r+20|0,0);Hf(48272,c[r+32>>2]|0);Hf(48288,c[r+36>>2]|0);Hf(48304,c[q>>2]|0);if(!(Ah()|0))Hf(48320,c[r+56>>2]|0)}if(((((((c[r+8>>2]|0)!=0?(c[r+12>>2]|0)!=0:0)?(c[r+16>>2]|0)!=0:0)?(c[r+20>>2]|0)!=0:0)?(c[r+32>>2]|0)!=0:0)?(c[r+36>>2]|0)!=0:0)?(c[r+56>>2]|0)!=0:0){c[s>>2]=jo(c[r>>2]|0,c[r+4>>2]|0,0,c[r+8>>2]|0,c[r+12>>2]|0,c[r+16>>2]|0)|0;if(!(c[q>>2]|0)){c[l>>2]=68;break}co(r+44|0);if((c[(c[s>>2]|0)+4>>2]|0)==1)c[l>>2]=Ni(c[q>>2]|0,c[s>>2]|0,r+44|0,0,0)|0;else c[l>>2]=dj(r+44|0,c[q>>2]|0)|0;if(c[l>>2]|0)break;if(!(hs(r,c[s>>2]|0,c[n>>2]|0)|0))break;c[l>>2]=7;break}c[l>>2]=68}}while(0);no(c[s>>2]|0);xq(c[r+8>>2]|0);xq(c[r+12>>2]|0);xq(c[r+16>>2]|0);xq(c[p>>2]|0);fo(r+20|0);xq(c[r+32>>2]|0);xq(c[r+36>>2]|0);xq(c[q>>2]|0);fo(r+44|0);xq(c[r+56>>2]|0);$f(c[o>>2]|0);vg(c[m>>2]|0);if(jg(1)|0){c[d>>2]=fu(c[l>>2]|0)|0;Df(48623,d)}c[j>>2]=c[l>>2];v=c[j>>2]|0;i=b;return v|0}function hs(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+112|0;f=e+64|0;g=e+56|0;h=e+48|0;j=e+40|0;k=e+32|0;l=e+24|0;m=e+16|0;n=e+8|0;o=e;p=e+108|0;q=e+104|0;r=e+100|0;s=e+96|0;t=e+84|0;u=e+80|0;v=e+76|0;w=e+72|0;x=e+68|0;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[s>>2]=1;c[w>>2]=0;c[x>>2]=0;co(t);c[u>>2]=vq(0)|0;if((c[c[q>>2]>>2]|0)==1)c[v>>2]=0;else c[v>>2]=vq(0)|0;a:do if(!(Io((c[p>>2]|0)+20|0,c[q>>2]|0)|0)){if(jg(1)|0)Df(48336,o)}else{if(!($o(c[(c[p>>2]|0)+20+8>>2]|0,0)|0)){if(!(jg(1)|0))break;Df(48388,n);break}if((c[(c[p>>2]|0)+4>>2]|0)!=1?(Go(t,c[(c[p>>2]|0)+32>>2]|0,(c[p>>2]|0)+20|0,c[q>>2]|0),($o(c[t+8>>2]|0,0)|0)!=0):0){if(!(jg(1)|0))break;Df(48433,m);break}if(!($o(c[(c[p>>2]|0)+44+8>>2]|0,0)|0)){if(!(jg(1)|0))break;Df(48480,l);break}if(!(ej(t,c[q>>2]|0,(c[p>>2]|0)+20|0,c[(c[p>>2]|0)+56>>2]|0)|0)){if(!(jg(1)|0))break;Df(48526,k);break}if(Zn(c[u>>2]|0,c[v>>2]|0,t,c[q>>2]|0)|0){if(!(jg(1)|0))break;Df(48480,j);break}do if(!(c[r>>2]&4096)){if(!($o(c[(c[p>>2]|0)+44+8>>2]|0,1)|0)){if(!(ap(c[u>>2]|0,c[(c[p>>2]|0)+44>>2]|0)|0)){if(c[v>>2]|0)break;if(!(ap(c[v>>2]|0,c[(c[p>>2]|0)+44+4>>2]|0)|0))break}if(!(jg(1)|0))break a;Df(48563,h);break a}c[w>>2]=vq(0)|0;c[x>>2]=vq(0)|0;if(Zn(c[w>>2]|0,c[x>>2]|0,(c[p>>2]|0)+44|0,c[q>>2]|0)|0){if(!(jg(1)|0))break a;Df(48480,g);break a}if((ap(c[u>>2]|0,c[w>>2]|0)|0)==0?(ap(c[v>>2]|0,c[x>>2]|0)|0)==0:0)break;if(!(jg(1)|0))break a;Df(48563,f);break a}while(0);c[s>>2]=0}while(0);hq(c[w>>2]|0);hq(c[u>>2]|0);hq(c[v>>2]|0);hq(c[x>>2]|0);fo(t);i=e;return c[s>>2]|0} -function is(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;e=i;i=i+256|0;f=e+72|0;g=e+64|0;h=e+56|0;j=e+48|0;k=e+40|0;l=e+32|0;m=e;n=e+248|0;o=e+244|0;p=e+240|0;q=e+236|0;r=e+232|0;s=e+192|0;t=e+184|0;u=e+180|0;v=e+176|0;w=e+172|0;x=e+168|0;y=e+164|0;z=e+160|0;A=e+104|0;B=e+96|0;C=e+84|0;D=e+80|0;E=e+76|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;c[B>>2]=0;d=A;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));pk(s,0,js(c[q>>2]|0)|0);c[r>>2]=rk(c[p>>2]|0,z,s)|0;do if(!(c[r>>2]|0)){if(jg(1)|0)Hf(48646,c[z>>2]|0);if((c[z>>2]|0)!=0?(c[(c[z>>2]|0)+12>>2]&4|0)!=0:0){c[r>>2]=79;break}p=c[q>>2]|0;c[m>>2]=A+8;c[m+4>>2]=A+12;c[m+8>>2]=A+16;c[m+12>>2]=v;c[m+16>>2]=A+32;c[m+20>>2]=A+36;c[m+24>>2]=w;c[m+28>>2]=0;c[r>>2]=Rg(p,0,48663,m)|0;if(!(c[r>>2]|0)){if((c[v>>2]|0)!=0?(co(A+20|0),c[r>>2]=dj(A+20|0,c[v>>2]|0)|0,(c[r>>2]|0)!=0):0)break;vg(c[t>>2]|0);c[t>>2]=xg(c[q>>2]|0,47161,5)|0;if(((c[t>>2]|0)!=0?(c[u>>2]=Eg(c[t>>2]|0,1)|0,(c[u>>2]|0)!=0):0)?(c[r>>2]=ui(0,c[u>>2]|0,A,0)|0,(c[r>>2]|0)!=0):0){c[n>>2]=c[r>>2];F=c[n>>2]|0;i=e;return F|0}if(!(c[u>>2]|0)){c[A>>2]=0;c[A+4>>2]=0}if(jg(1)|0){p=$i(c[A>>2]|0)|0;d=aj(c[A+4>>2]|0)|0;c[l>>2]=p;c[l+4>>2]=d;Df(48679,l);if(c[A+40>>2]|0){c[k>>2]=c[A+40>>2];Df(48704,k)}Hf(48726,c[A+8>>2]|0);Hf(48743,c[A+12>>2]|0);Hf(48760,c[A+16>>2]|0);Yn(48777,A+20|0,0);Hf(48792,c[A+32>>2]|0);Hf(48809,c[A+36>>2]|0);Hf(48826,c[w>>2]|0)}if((((((c[A+8>>2]|0)!=0?(c[A+12>>2]|0)!=0:0)?(c[A+16>>2]|0)!=0:0)?(c[A+20>>2]|0)!=0:0)?(c[A+32>>2]|0)!=0:0)?(c[A+36>>2]|0)!=0&(c[w>>2]|0)!=0:0){if((c[w>>2]|0)!=0?(co(A+44|0),c[r>>2]=dj(A+44|0,c[w>>2]|0)|0,(c[r>>2]|0)!=0):0)break;c[B>>2]=jo(c[A>>2]|0,c[A+4>>2]|0,0,c[A+8>>2]|0,c[A+12>>2]|0,c[A+16>>2]|0)|0;c[D>>2]=vq(0)|0;c[E>>2]=vq(0)|0;co(C);Go(C,c[z>>2]|0,A+44|0,c[B>>2]|0);if(Zn(c[D>>2]|0,c[E>>2]|0,C,c[B>>2]|0)|0)Bf(48843,j);c[x>>2]=bj(c[D>>2]|0,c[E>>2]|0,c[A+8>>2]|0)|0;Go(C,c[z>>2]|0,A+20|0,c[B>>2]|0);if(Zn(c[D>>2]|0,c[E>>2]|0,C,c[B>>2]|0)|0)Bf(48891,h);else{c[y>>2]=bj(c[D>>2]|0,c[E>>2]|0,c[A+8>>2]|0)|0;hq(c[D>>2]|0);hq(c[E>>2]|0);fo(C);d=c[o>>2]|0;p=c[y>>2]|0;c[g>>2]=c[x>>2];c[g+4>>2]=p;c[r>>2]=Ig(d,0,48938,g)|0;break}}c[r>>2]=68}}while(0);xq(c[A+8>>2]|0);xq(c[A+12>>2]|0);xq(c[A+16>>2]|0);xq(c[v>>2]|0);fo(A+20|0);xq(c[A+32>>2]|0);xq(c[A+36>>2]|0);xq(c[w>>2]|0);fo(A+44|0);xq(c[z>>2]|0);xq(c[x>>2]|0);xq(c[y>>2]|0);$f(c[u>>2]|0);no(c[B>>2]|0);qk(s);if(jg(1)|0){c[f>>2]=fu(c[r>>2]|0)|0;Df(48964,f)}c[n>>2]=c[r>>2];F=c[n>>2]|0;i=e;return F|0}function js(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+32|0;d=b+20|0;e=b+16|0;f=b+12|0;g=b+8|0;h=b+4|0;j=b;c[e>>2]=a;c[h>>2]=0;c[f>>2]=xg(c[e>>2]|0,48644,1)|0;if(c[f>>2]|0){c[g>>2]=Fg(c[f>>2]|0,1,5)|0;vg(c[f>>2]|0);if(c[g>>2]|0){c[h>>2]=Ro(c[g>>2]|0)|0;xq(c[g>>2]|0)}}else{c[f>>2]=xg(c[e>>2]|0,47161,5)|0;if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=b;return k|0}c[j>>2]=Eg(c[f>>2]|0,1)|0;vg(c[f>>2]|0);if(!(c[j>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=b;return k|0}if(ui(0,c[j>>2]|0,0,h)|0)c[h>>2]=0;$f(c[j>>2]|0)}c[d>>2]=c[h>>2];k=c[d>>2]|0;i=b;return k|0}function ks(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;e=i;i=i+256|0;f=e+72|0;g=e+64|0;h=e+56|0;j=e+48|0;k=e+40|0;l=e+8|0;m=e;n=e+248|0;o=e+244|0;p=e+240|0;q=e+236|0;r=e+232|0;s=e+192|0;t=e+188|0;u=e+184|0;v=e+124|0;w=e+120|0;x=e+116|0;y=e+112|0;z=e+100|0;A=e+88|0;B=e+84|0;C=e+80|0;D=e+76|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;c[t>>2]=0;c[u>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[B>>2]=0;d=v;b=d+60|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));co(z);co(A);pk(s,1,js(c[q>>2]|0)|0);c[r>>2]=nk(c[p>>2]|0,12916,t,s)|0;do if((c[r>>2]|0)==0?(p=c[t>>2]|0,c[m>>2]=u,c[m+4>>2]=0,c[r>>2]=Rg(p,0,48986,m)|0,(c[r>>2]|0)==0):0){if(jg(1)|0)Hf(48988,c[u>>2]|0);if((c[u>>2]|0)!=0?(c[(c[u>>2]|0)+12>>2]&4|0)!=0:0){c[r>>2]=79;break}p=c[q>>2]|0;c[l>>2]=v+8;c[l+4>>2]=v+12;c[l+8>>2]=v+16;c[l+12>>2]=w;c[l+16>>2]=v+32;c[l+20>>2]=v+36;c[l+24>>2]=v+56;c[l+28>>2]=0;c[r>>2]=Rg(p,0,49005,l)|0;if(!(c[r>>2]|0)){if((c[w>>2]|0)!=0?(co(v+20|0),c[r>>2]=dj(v+20|0,c[w>>2]|0)|0,(c[r>>2]|0)!=0):0)break;vg(c[t>>2]|0);c[t>>2]=xg(c[q>>2]|0,47161,5)|0;if(((c[t>>2]|0)!=0?(c[x>>2]=Eg(c[t>>2]|0,1)|0,(c[x>>2]|0)!=0):0)?(c[r>>2]=ui(0,c[x>>2]|0,v,0)|0,(c[r>>2]|0)!=0):0){c[n>>2]=c[r>>2];E=c[n>>2]|0;i=e;return E|0}if(!(c[x>>2]|0)){c[v>>2]=0;c[v+4>>2]=0}if(jg(1)|0){p=$i(c[v>>2]|0)|0;d=aj(c[v+4>>2]|0)|0;c[k>>2]=p;c[k+4>>2]=d;Df(49021,k);if(c[v+40>>2]|0){c[j>>2]=c[v+40>>2];Df(49046,j)}Hf(49068,c[v+8>>2]|0);Hf(49085,c[v+12>>2]|0);Hf(49102,c[v+16>>2]|0);Yn(49119,v+20|0,0);Hf(49134,c[v+32>>2]|0);Hf(49151,c[v+36>>2]|0);if(!(Ah()|0))Hf(49168,c[v+56>>2]|0)}if(((((((c[v+8>>2]|0)!=0?(c[v+12>>2]|0)!=0:0)?(c[v+16>>2]|0)!=0:0)?(c[v+20>>2]|0)!=0:0)?(c[v+32>>2]|0)!=0:0)?(c[v+36>>2]|0)!=0:0)?(c[v+56>>2]|0)!=0:0){c[r>>2]=dj(z,c[u>>2]|0)|0;if(c[r>>2]|0){fo(z);c[n>>2]=c[r>>2];E=c[n>>2]|0;i=e;return E|0}c[y>>2]=jo(c[v>>2]|0,c[v+4>>2]|0,0,c[v+8>>2]|0,c[v+12>>2]|0,c[v+16>>2]|0)|0;Go(A,c[v+56>>2]|0,z,c[y>>2]|0);c[C>>2]=vq(0)|0;c[D>>2]=vq(0)|0;if(Zn(c[C>>2]|0,c[D>>2]|0,A,c[y>>2]|0)|0)Bf(49185,h);c[B>>2]=bj(c[C>>2]|0,c[D>>2]|0,c[v+8>>2]|0)|0;if(c[B>>2]|0)c[r>>2]=0;else c[r>>2]=iu()|0;hq(c[C>>2]|0);hq(c[D>>2]|0);if(jg(1)|0)Hf(49225,c[B>>2]|0);if(c[r>>2]|0)break;d=c[o>>2]|0;c[g>>2]=c[B>>2];c[r>>2]=Ig(d,0,49242,g)|0;break}c[r>>2]=68}}while(0);fo(A);fo(z);xq(c[B>>2]|0);xq(c[v+8>>2]|0);xq(c[v+12>>2]|0);xq(c[v+16>>2]|0);xq(c[w>>2]|0);fo(v+20|0);xq(c[v+32>>2]|0);xq(c[v+36>>2]|0);xq(c[v+56>>2]|0);xq(c[u>>2]|0);$f(c[x>>2]|0);vg(c[t>>2]|0);no(c[y>>2]|0);qk(s);if(jg(1)|0){c[f>>2]=fu(c[r>>2]|0)|0;Df(49253,f)}c[n>>2]=c[r>>2];E=c[n>>2]|0;i=e;return E|0}function ls(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=i;i=i+272|0;f=e+104|0;g=e+96|0;h=e+88|0;j=e+80|0;k=e+72|0;l=e+56|0;m=e+40|0;n=e;o=e+256|0;p=e+252|0;q=e+248|0;r=e+244|0;s=e+240|0;t=e+200|0;u=e+192|0;v=e+188|0;w=e+184|0;x=e+180|0;y=e+176|0;z=e+116|0;A=e+112|0;B=e+108|0;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[u>>2]=0;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[A>>2]=0;c[B>>2]=0;d=z;b=d+60|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));pk(t,2,0);c[s>>2]=rk(c[q>>2]|0,u,t)|0;do if(!(c[s>>2]|0)){if(jg(1)|0)Hf(49275,c[u>>2]|0);q=c[r>>2]|0;if(c[t+12>>2]&512){c[n>>2]=z+8;c[n+4>>2]=z+12;c[n+8>>2]=z+16;c[n+12>>2]=x;c[n+16>>2]=z+32;c[n+20>>2]=z+36;c[n+24>>2]=y;c[n+28>>2]=z+56;c[n+32>>2]=0;c[s>>2]=Rg(q,0,48140,n)|0}else{c[m>>2]=y;c[m+4>>2]=z+56;c[m+8>>2]=0;c[s>>2]=Rg(q,0,48159,m)|0}if(!(c[s>>2]|0)){if((c[x>>2]|0)!=0?(co(z+20|0),c[s>>2]=dj(z+20|0,c[x>>2]|0)|0,(c[s>>2]|0)!=0):0)break;vg(c[v>>2]|0);c[v>>2]=xg(c[r>>2]|0,47161,5)|0;if(((c[v>>2]|0)!=0?(c[w>>2]=Eg(c[v>>2]|0,1)|0,(c[w>>2]|0)!=0):0)?(c[s>>2]=ui(0,c[w>>2]|0,z,0)|0,(c[s>>2]|0)!=0):0){c[o>>2]=c[s>>2];C=c[o>>2]|0;i=e;return C|0}if(!(c[w>>2]|0)){c[z>>2]=(c[t+12>>2]&4096|0)!=0?2:0;c[z+4>>2]=(c[t+12>>2]&4096|0)!=0?1:0}if(jg(1)|0){q=$i(c[z>>2]|0)|0;d=aj(c[z+4>>2]|0)|0;b=(c[t+12>>2]&4096|0)!=0?49291:76527;c[l>>2]=q;c[l+4>>2]=d;c[l+8>>2]=b;Df(49298,l);if(c[z+40>>2]|0){c[k>>2]=c[z+40>>2];Df(49324,k)}Hf(49345,c[z+8>>2]|0);Hf(49361,c[z+12>>2]|0);Hf(49377,c[z+16>>2]|0);Yn(49393,z+20|0,0);Hf(49407,c[z+32>>2]|0);Hf(49423,c[z+36>>2]|0);Hf(49439,c[y>>2]|0);if(!(Ah()|0))Hf(49455,c[z+56>>2]|0)}if(((((((c[z+8>>2]|0)!=0?(c[z+12>>2]|0)!=0:0)?(c[z+16>>2]|0)!=0:0)?(c[z+20>>2]|0)!=0:0)?(c[z+32>>2]|0)!=0:0)?(c[z+36>>2]|0)!=0:0)?(c[z+56>>2]|0)!=0:0){c[A>>2]=vq(0)|0;c[B>>2]=vq(0)|0;if(c[t+12>>2]&4096){c[s>>2]=Vi(c[u>>2]|0,z,c[A>>2]|0,c[B>>2]|0,c[t+16>>2]|0,c[y>>2]|0)|0;if(c[s>>2]|0)break;b=c[p>>2]|0;d=c[B>>2]|0;c[j>>2]=c[A>>2];c[j+4>>2]=d;c[s>>2]=Ig(b,0,49471,j)|0;break}b=c[u>>2]|0;d=c[A>>2]|0;q=c[B>>2]|0;if(c[t+12>>2]&8192){c[s>>2]=cu(b,z,d,q)|0;if(c[s>>2]|0)break;a=c[p>>2]|0;D=c[B>>2]|0;c[h>>2]=c[A>>2];c[h+4>>2]=D;c[s>>2]=Ig(a,0,49498,h)|0;break}else{c[s>>2]=au(b,z,d,q,c[t+12>>2]|0,c[t+16>>2]|0)|0;if(c[s>>2]|0)break;q=c[p>>2]|0;d=c[B>>2]|0;c[g>>2]=c[A>>2];c[g+4>>2]=d;c[s>>2]=Ig(q,0,49524,g)|0;break}}c[s>>2]=68}}while(0);xq(c[z+8>>2]|0);xq(c[z+12>>2]|0);xq(c[z+16>>2]|0);xq(c[x>>2]|0);fo(z+20|0);xq(c[z+32>>2]|0);xq(c[z+36>>2]|0);xq(c[y>>2]|0);fo(z+44|0);xq(c[z+56>>2]|0);xq(c[A>>2]|0);xq(c[B>>2]|0);$f(c[w>>2]|0);xq(c[u>>2]|0);vg(c[v>>2]|0);qk(t);if(jg(1)|0){c[f>>2]=fu(c[s>>2]|0)|0;Df(49551,f)}c[o>>2]=c[s>>2];C=c[o>>2]|0;i=e;return C|0}function ms(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;e=i;i=i+272|0;f=e+80|0;g=e+72|0;h=e+56|0;j=e+48|0;k=e+16|0;l=e;m=e+256|0;n=e+252|0;o=e+248|0;p=e+244|0;q=e+240|0;r=e+200|0;s=e+192|0;t=e+188|0;u=e+184|0;v=e+180|0;w=e+176|0;x=e+172|0;y=e+168|0;z=e+112|0;A=e+104|0;B=e+100|0;C=e+96|0;D=e+92|0;E=e+88|0;F=e+84|0;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;d=z;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));pk(r,3,js(c[p>>2]|0)|0);c[q>>2]=rk(c[o>>2]|0,y,r)|0;a:do if(!(c[q>>2]|0)){if(jg(1)|0)Hf(49572,c[y>>2]|0);c[q>>2]=mk(c[n>>2]|0,12916,s,A)|0;if((c[q>>2]|0)==0?(o=c[s>>2]|0,d=(c[A>>2]&4096|0)!=0?49588:47158,c[l>>2]=w,c[l+4>>2]=x,c[l+8>>2]=0,c[q>>2]=Rg(o,0,d,l)|0,(c[q>>2]|0)==0):0){if(jg(1)|0){Hf(49592,c[w>>2]|0);Hf(49608,c[x>>2]|0)}if(c[r+12>>2]&4096^c[A>>2]&4096){c[q>>2]=70;break}d=c[p>>2]|0;if(c[r+12>>2]&512){c[k>>2]=z+8;c[k+4>>2]=z+12;c[k+8>>2]=z+16;c[k+12>>2]=u;c[k+16>>2]=z+32;c[k+20>>2]=z+32;c[k+24>>2]=v;c[k+28>>2]=0;c[q>>2]=Rg(d,0,49624,k)|0}else{c[j>>2]=v;c[j+4>>2]=0;c[q>>2]=Rg(d,0,49640,j)|0}if(!(c[q>>2]|0)){if((c[u>>2]|0)!=0?(co(z+20|0),c[q>>2]=dj(z+20|0,c[u>>2]|0)|0,(c[q>>2]|0)!=0):0)break;vg(c[s>>2]|0);c[s>>2]=xg(c[p>>2]|0,47161,5)|0;if(((c[s>>2]|0)!=0?(c[t>>2]=Eg(c[s>>2]|0,1)|0,(c[t>>2]|0)!=0):0)?(c[q>>2]=ui(0,c[t>>2]|0,z,0)|0,(c[q>>2]|0)!=0):0){c[m>>2]=c[q>>2];G=c[m>>2]|0;i=e;return G|0}if(!(c[t>>2]|0)){c[z>>2]=(c[A>>2]&4096|0)!=0?2:0;c[z+4>>2]=(c[A>>2]&4096|0)!=0?1:0}if(jg(1)|0){d=$i(c[z>>2]|0)|0;o=aj(c[z+4>>2]|0)|0;b=(c[A>>2]&4096|0)!=0?49291:76527;c[h>>2]=d;c[h+4>>2]=o;c[h+8>>2]=b;Df(49643,h);if(c[z+40>>2]|0){c[g>>2]=c[z+40>>2];Df(49669,g)}Hf(49690,c[z+8>>2]|0);Hf(49706,c[z+12>>2]|0);Hf(49722,c[z+16>>2]|0);Yn(49738,z+20|0,0);Hf(49752,c[z+32>>2]|0);Hf(49768,c[z+36>>2]|0);Hf(49784,c[v>>2]|0)}if((((((c[z+8>>2]|0)!=0?(c[z+12>>2]|0)!=0:0)?(c[z+16>>2]|0)!=0:0)?(c[z+20>>2]|0)!=0:0)?(c[z+32>>2]|0)!=0:0)?(c[z+36>>2]|0)!=0&(c[v>>2]|0)!=0:0){if(c[A>>2]&4096){c[q>>2]=Xi(c[y>>2]|0,z,c[w>>2]|0,c[x>>2]|0,c[r+16>>2]|0,c[v>>2]|0)|0;break}b=(c[A>>2]&8192|0)!=0;co(z+44|0);if(b){c[q>>2]=dj(z+44|0,c[v>>2]|0)|0;if(c[q>>2]|0)break;c[q>>2]=du(c[y>>2]|0,z,c[w>>2]|0,c[x>>2]|0)|0;break}if((c[z+4>>2]|0)==1){c[B>>2]=jo(c[z>>2]|0,c[z+4>>2]|0,0,c[z+8>>2]|0,c[z+12>>2]|0,c[z+16>>2]|0)|0;c[q>>2]=Ni(c[v>>2]|0,c[B>>2]|0,z+44|0,0,0)|0;no(c[B>>2]|0)}else c[q>>2]=dj(z+44|0,c[v>>2]|0)|0;if(c[q>>2]|0)break;do if(c[y>>2]|0){if(!(c[(c[y>>2]|0)+12>>2]&4))break;c[E>>2]=Ro(c[z+32>>2]|0)|0;c[C>>2]=kq(c[y>>2]|0,D)|0;c[q>>2]=Dp(F,5,c[C>>2]|0,(((c[D>>2]|0)+7|0)>>>0)/8|0,0)|0;if(c[q>>2]|0)break a;if((c[D>>2]|0)>>>0>(c[E>>2]|0)>>>0)Yo(c[F>>2]|0,c[F>>2]|0,(c[D>>2]|0)-(c[E>>2]|0)|0);c[q>>2]=bu(c[F>>2]|0,z,c[w>>2]|0,c[x>>2]|0)|0;xq(c[F>>2]|0);break a}while(0);c[q>>2]=bu(c[y>>2]|0,z,c[w>>2]|0,c[x>>2]|0)|0;break}c[q>>2]=68}}}while(0);xq(c[z+8>>2]|0);xq(c[z+12>>2]|0);xq(c[z+16>>2]|0);xq(c[u>>2]|0);fo(z+20|0);xq(c[z+32>>2]|0);xq(c[z+36>>2]|0);xq(c[v>>2]|0);fo(z+44|0);xq(c[y>>2]|0);xq(c[w>>2]|0);xq(c[x>>2]|0);$f(c[t>>2]|0);vg(c[s>>2]|0);qk(r);if(jg(1)|0){if(c[q>>2]|0)H=fu(c[q>>2]|0)|0;else H=49800;c[f>>2]=H;Df(49805,f)}c[m>>2]=c[q>>2];G=c[m>>2]|0;i=e;return G|0}function ns(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e;c[g>>2]=a;c[e+4>>2]=b;c[h>>2]=d;if((c[g>>2]|0)!=18){c[f>>2]=4;j=c[f>>2]|0;i=e;return j|0}else{c[f>>2]=os(c[h>>2]|0)|0;j=c[f>>2]|0;i=e;return j|0}return 0}function os(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[f>>2]=49826;c[g>>2]=0;if(!(c[g>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;i=b;return h|0}if(c[e>>2]|0)Fb[c[e>>2]&1](49836,18,c[f>>2]|0,c[g>>2]|0);c[d>>2]=50;h=c[d>>2]|0;i=b;return h|0}function ps(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;e=i;i=i+208|0;f=e+88|0;g=e+80|0;h=e+72|0;j=e+64|0;k=e+32|0;l=e;m=e+172|0;n=e+168|0;o=e+164|0;p=e+160|0;q=e+132|0;r=e+128|0;s=e+124|0;t=e+120|0;u=e+116|0;v=e+112|0;w=e+176|0;x=e+108|0;y=e+104|0;z=e+100|0;A=e+96|0;c[m>>2]=b;c[n>>2]=d;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=7)break;c[q+(c[r>>2]<<2)>>2]=0;c[r>>2]=(c[r>>2]|0)+1}c[p>>2]=xg(c[n>>2]|0,47167,0)|0;if(!((c[p>>2]|0)!=0?(c[o>>2]=jk(c[p>>2]|0,t,0)|0,(c[o>>2]|0)!=0):0))B=6;a:do if((B|0)==6){d=(c[t>>2]&4096|0)!=0;b=c[n>>2]|0;do if(c[t>>2]&512){C=q+4|0;D=q+8|0;E=q+12|0;F=q+16|0;G=q+20|0;H=q+24|0;if(d){c[l>>2]=q;c[l+4>>2]=C;c[l+8>>2]=D;c[l+12>>2]=E;c[l+16>>2]=F;c[l+20>>2]=G;c[l+24>>2]=H;c[l+28>>2]=0;c[o>>2]=Rg(b,0,49843,l)|0;break}else{c[k>>2]=q;c[k+4>>2]=C;c[k+8>>2]=D;c[k+12>>2]=E;c[k+16>>2]=F;c[k+20>>2]=G;c[k+24>>2]=H;c[k+28>>2]=0;c[o>>2]=Rg(b,0,49858,k)|0;break}}else{H=q+24|0;if(d){c[j>>2]=H;c[j+4>>2]=0;c[o>>2]=Rg(b,0,49640,j)|0;break}else{c[h>>2]=H;c[h+4>>2]=0;c[o>>2]=Rg(b,0,49872,h)|0;break}}while(0);if(!(c[o>>2]|0)){vg(c[p>>2]|0);c[p>>2]=xg(c[n>>2]|0,47161,5)|0;if(((c[p>>2]|0)!=0?(c[s>>2]=Eg(c[p>>2]|0,1)|0,(c[s>>2]|0)!=0):0)?(c[o>>2]=xi(c[s>>2]|0,u,v,q,q+4|0,q+8|0,q+12|0,q+16|0,q+20|0)|0,(c[o>>2]|0)!=0):0)break;if(!(c[s>>2]|0)){c[u>>2]=(c[t>>2]&4096|0)!=0?2:0;c[v>>2]=(c[t>>2]&4096|0)!=0?1:0}c[r>>2]=0;while(1){if((c[r>>2]|0)>=7)break;if(!(c[q+(c[r>>2]<<2)>>2]|0)){B=22;break}Qo(c[q+(c[r>>2]<<2)>>2]|0);c[r>>2]=(c[r>>2]|0)+1}if((B|0)==22){c[o>>2]=68;break}if(c[t>>2]&4096){if((c[v>>2]|0)==1)c[o>>2]=Ki(c[q+24>>2]|0,256)|0;else c[o>>2]=69;if(c[o>>2]|0)break}c[r>>2]=0;b:while(1){if((c[r>>2]|0)>=7)break a;do if((c[r>>2]|0)!=5){if((c[q+(c[r>>2]<<2)>>2]|0)!=0?(c[(c[q+(c[r>>2]<<2)>>2]|0)+12>>2]&4|0)!=0:0){c[x>>2]=kq(c[q+(c[r>>2]<<2)>>2]|0,y)|0;c[y>>2]=(((c[y>>2]|0)+7|0)>>>0)/8|0;b=c[y>>2]|0;c[g>>2]=a[49874+(c[r>>2]|0)>>0];c[g+4>>2]=b;tv(w,30,49881,g)|0;b=c[m>>2]|0;Fj(b,w,Kv(w)|0);Fj(c[m>>2]|0,c[x>>2]|0,c[y>>2]|0);Fj(c[m>>2]|0,49890,1);break}c[z>>2]=zp(c[q+(c[r>>2]<<2)>>2]|0,0,A,0)|0;if(!(c[z>>2]|0))break b;b=c[A>>2]|0;c[f>>2]=a[49874+(c[r>>2]|0)>>0];c[f+4>>2]=b;tv(w,30,49881,f)|0;b=c[m>>2]|0;Fj(b,w,Kv(w)|0);Fj(c[m>>2]|0,c[z>>2]|0,c[A>>2]|0);Fj(c[m>>2]|0,49890,1);$f(c[z>>2]|0)}while(0);c[r>>2]=(c[r>>2]|0)+1}c[o>>2]=iu()|0}}while(0);$f(c[s>>2]|0);vg(c[p>>2]|0);c[r>>2]=0;while(1){if((c[r>>2]|0)>=7)break;xq(c[q+(c[r>>2]<<2)>>2]|0);c[r>>2]=(c[r>>2]|0)+1}i=e;return c[o>>2]|0}function qs(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,s=0,t=0,u=0,v=0,w=0;h=i;i=i+1056|0;j=h+44|0;k=h+40|0;l=h+36|0;m=h+32|0;n=h+28|0;o=h+24|0;p=h+20|0;q=h+16|0;r=h+12|0;s=h+8|0;t=h+4|0;u=h+48|0;v=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=0;c[r>>2]=0;g=Uj(c[k>>2]|0)|0;if((g|0)!=(c[p>>2]|0)){c[j>>2]=49892;w=c[j>>2]|0;i=h;return w|0}c[r>>2]=wj(s,c[k>>2]|0,0)|0;if(c[r>>2]|0){c[j>>2]=49933;w=c[j>>2]|0;i=h;return w|0}a:do switch(c[l>>2]|0){case 0:{Fj(c[s>>2]|0,c[m>>2]|0,c[n>>2]|0);break}case 1:{Fx(u|0,97,1e3)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=1e3)break a;Fj(c[s>>2]|0,u,1e3);c[v>>2]=(c[v>>2]|0)+1}break}default:c[q>>2]=49953}while(0);if((c[q>>2]|0)==0?(c[t>>2]=Rj(c[s>>2]|0,c[k>>2]|0)|0,(mw(c[t>>2]|0,c[o>>2]|0,c[p>>2]|0)|0)!=0):0)c[q>>2]=49970;Ej(c[s>>2]|0);c[j>>2]=c[q>>2];w=c[j>>2]|0;i=h;return w|0}function rs(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+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;o=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[h>>2];c[l>>2]=c[g>>2];c[m>>2]=0;c[n>>2]=c[(c[l>>2]|0)+148>>2];if(128<(c[n>>2]|0)>>>0)wf(49986,112,5e4);if(!(c[(c[l>>2]|0)+152>>2]|0)){i=f;return}if((c[(c[l>>2]|0)+144>>2]|0)==(c[n>>2]|0)?(c[m>>2]=vb[c[(c[l>>2]|0)+152>>2]&63](c[l>>2]|0,c[l>>2]|0,1)|0,If(c[m>>2]|0),Jf(),c[m>>2]=0,c[(c[l>>2]|0)+144>>2]=0,g=(c[l>>2]|0)+128|0,h=g,e=Ax(c[h>>2]|0,c[h+4>>2]|0,1,0)|0,h=C,d=g,c[d>>2]=e,c[d+4>>2]=h,!((e|0)!=0|(h|0)!=0)):0){h=(c[l>>2]|0)+136|0;e=h;d=Ax(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;e=h;c[e>>2]=d;c[e+4>>2]=C}if(!(c[k>>2]|0)){i=f;return}if(c[(c[l>>2]|0)+144>>2]|0){while(1){if(!(c[j>>2]|0))break;if((c[(c[l>>2]|0)+144>>2]|0)>>>0>=(c[n>>2]|0)>>>0)break;e=c[k>>2]|0;c[k>>2]=e+1;d=a[e>>0]|0;e=(c[l>>2]|0)+144|0;h=c[e>>2]|0;c[e>>2]=h+1;a[(c[l>>2]|0)+h>>0]=d;c[j>>2]=(c[j>>2]|0)+-1}rs(c[l>>2]|0,0,0);if(!(c[j>>2]|0)){i=f;return}}if((c[j>>2]|0)>>>0>=(c[n>>2]|0)>>>0){c[o>>2]=((c[j>>2]|0)>>>0)/((c[n>>2]|0)>>>0)|0;c[m>>2]=vb[c[(c[l>>2]|0)+152>>2]&63](c[l>>2]|0,c[k>>2]|0,c[o>>2]|0)|0;c[(c[l>>2]|0)+144>>2]=0;d=(c[l>>2]|0)+128|0;h=Ax(c[d>>2]|0,c[d+4>>2]|0,c[o>>2]|0,0)|0;d=C;e=(d>>>0<0|((d|0)==0?h>>>0<(c[o>>2]|0)>>>0:0))&1;h=(c[l>>2]|0)+136|0;d=h;g=Ax(c[d>>2]|0,c[d+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;e=h;c[e>>2]=g;c[e+4>>2]=C;e=(c[l>>2]|0)+128|0;g=e;h=Ax(c[g>>2]|0,c[g+4>>2]|0,c[o>>2]|0,0)|0;g=e;c[g>>2]=h;c[g+4>>2]=C;g=_(c[o>>2]|0,c[n>>2]|0)|0;c[j>>2]=(c[j>>2]|0)-g;g=_(c[o>>2]|0,c[n>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+g}If(c[m>>2]|0);Jf();while(1){if(!(c[j>>2]|0)){p=19;break}if((c[(c[l>>2]|0)+144>>2]|0)>>>0>=(c[n>>2]|0)>>>0){p=19;break}m=c[k>>2]|0;c[k>>2]=m+1;g=a[m>>0]|0;m=(c[l>>2]|0)+144|0;o=c[m>>2]|0;c[m>>2]=o+1;a[(c[l>>2]|0)+o>>0]=g;c[j>>2]=(c[j>>2]|0)+-1}if((p|0)==19){i=f;return}}function ss(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+32|0;f=e+28|0;g=e+24|0;h=e+20|0;j=e+16|0;k=e+12|0;l=e+8|0;m=e+4|0;n=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=ts(c[f>>2]|0)|0;c[k>>2]=0;c[l>>2]=c[c[(c[f>>2]|0)+84>>2]>>2];do if(c[(c[f>>2]|0)+88>>2]|0){c[m>>2]=(c[l>>2]|0)-(c[(c[f>>2]|0)+88>>2]|0);if((c[m>>2]|0)>>>0>(c[h>>2]|0)>>>0)c[m>>2]=c[h>>2];us((c[f>>2]|0)+68+(c[(c[f>>2]|0)+88>>2]|0)|0,c[g>>2]|0,c[m>>2]|0);c[h>>2]=(c[h>>2]|0)-(c[m>>2]|0);c[g>>2]=(c[g>>2]|0)+(c[m>>2]|0);d=(c[f>>2]|0)+88|0;c[d>>2]=(c[d>>2]|0)+(c[m>>2]|0);if((c[(c[f>>2]|0)+88>>2]|0)>>>0<(c[l>>2]|0)>>>0){i=e;return}else{c[k>>2]=vb[c[(c[(c[f>>2]|0)+84>>2]|0)+8>>2]&63](c[j>>2]|0,(c[f>>2]|0)+68|0,c[l>>2]|0)|0;c[(c[f>>2]|0)+88>>2]=0;break}}while(0);if((c[h>>2]|0)>>>0>=(c[l>>2]|0)>>>0){c[n>>2]=c[h>>2]&~((c[l>>2]|0)-1);c[k>>2]=vb[c[(c[(c[f>>2]|0)+84>>2]|0)+8>>2]&63](c[j>>2]|0,c[g>>2]|0,c[n>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+(c[n>>2]|0);c[h>>2]=(c[h>>2]|0)-(c[n>>2]|0)}if(c[h>>2]|0){us((c[f>>2]|0)+68+(c[(c[f>>2]|0)+88>>2]|0)|0,c[g>>2]|0,c[h>>2]|0);g=(c[f>>2]|0)+88|0;c[g>>2]=(c[g>>2]|0)+(c[h>>2]|0)}if(!(c[k>>2]|0)){i=e;return}If(c[k>>2]|0);Jf();i=e;return}function ts(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];c[e>>2]=(c[e>>2]|0)+3;c[e>>2]=(c[e>>2]|0)+(0-(c[e>>2]&3));i=b;return c[e>>2]|0}function us(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;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[f>>2]=3;if(!((c[k>>2]|c[l>>2])&3)){c[m>>2]=c[k>>2];c[n>>2]=c[l>>2];while(1){if((c[j>>2]|0)>>>0<4)break;h=c[n>>2]|0;c[n>>2]=h+4;g=c[h>>2]|0;h=c[m>>2]|0;c[m>>2]=h+4;c[h>>2]=g;c[j>>2]=(c[j>>2]|0)-4}c[k>>2]=c[m>>2];c[l>>2]=c[n>>2]}while(1){if(!(c[j>>2]|0))break;n=c[l>>2]|0;c[l>>2]=n+1;m=a[n>>0]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[n>>0]=m;c[j>>2]=(c[j>>2]|0)+-1}i=f;return}function vs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=ts(c[e>>2]|0)|0;c[h>>2]=Cb[c[(c[(c[e>>2]|0)+84>>2]|0)+12>>2]&7](c[g>>2]|0,(c[e>>2]|0)+68|0,c[(c[e>>2]|0)+88>>2]|0,c[f>>2]|0)|0;If(c[h>>2]|0);Jf();i=d;return}function ws(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;g=i;i=i+80|0;h=g+8|0;j=g+40|0;k=g+36|0;l=g+32|0;m=g+28|0;n=g+48|0;o=g+20|0;p=g+16|0;q=g+44|0;r=g;s=g+12|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[g+24>>2]=Vg()|0;if((c[17721]|0)==0?(c[17721]=1,c[17722]=xs()|0,(c[17722]|0)!=0):0){c[h>>2]=c[17722];Af(50408,h)}if((c[m>>2]|0)!=32){c[j>>2]=44;t=c[j>>2]|0;i=g;return t|0}if(c[17722]|0){c[j>>2]=50;t=c[j>>2]|0;i=g;return t|0}c[(c[k>>2]|0)+84>>2]=12940;us(n,c[l>>2]|0,32);Es(c[k>>2]|0,n);c[o>>2]=n;c[p>>2]=32;a[q>>0]=0;n=r;c[n>>2]=d[q>>0];c[n+4>>2]=0;while(1){if(!((c[o>>2]&7|0)!=0?(c[p>>2]|0)!=0:0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}if((c[p>>2]|0)>>>0>=8){n=r;k=Mx(c[n>>2]|0,c[n+4>>2]|0,16843009,16843009)|0;n=r;c[n>>2]=k;c[n+4>>2]=C;do{c[s>>2]=c[o>>2];n=r;k=c[n+4>>2]|0;l=c[s>>2]|0;c[l>>2]=c[n>>2];c[l+4>>2]=k;c[p>>2]=(c[p>>2]|0)-8;c[o>>2]=(c[o>>2]|0)+8}while((c[p>>2]|0)>>>0>=8)}while(1){if(!(c[p>>2]|0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}c[j>>2]=0;t=c[j>>2]|0;i=g;return t|0}function xs(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;b=i;i=i+512|0;d=b+192|0;e=b+100|0;f=b+8|0;g=b+472|0;h=b+216|0;j=b+200|0;k=b+4|0;l=b;m=e;n=m+92|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));m=f;n=m+92|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));m=j;n=m+16|0;do{a[m>>0]=0;m=m+1|0}while((m|0)<(n|0));ys(j,50021,131,50152);if(mw(50184,j,16)|0){c[d>>2]=50200;o=c[d>>2]|0;i=b;return o|0}m=j;n=m+16|0;do{a[m>>0]=0;m=m+1|0}while((m|0)<(n|0));ws(e,50152,32)|0;ss(e,50021,32);ss(e,50053,64);ss(e,50117,16);ss(e,50133,8);ss(e,50141,4);ss(e,50145,2);ss(e,50147,1);ss(e,50148,1);ss(e,50149,1);ss(e,50150,1);ss(e,50151,1);vs(e,j);if(mw(50184,j,16)|0){c[d>>2]=50224;o=c[d>>2]|0;i=b;return o|0}m=j;n=m+16|0;do{a[m>>0]=0;m=m+1|0}while((m|0)<(n|0));ys(j,50248,16,50264);if(mw(50296,j,16)|0){c[d>>2]=50312;o=c[d>>2]|0;i=b;return o|0}ws(f,50336,32)|0;c[k>>2]=0;while(1){if((c[k>>2]|0)>>>0>=256)break;c[l>>2]=0;while(1){if((c[l>>2]|0)>>>0>=32)break;a[g+(c[l>>2]|0)>>0]=c[k>>2];c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=0;while(1){if((c[l>>2]|0)>>>0>=(c[k>>2]|0)>>>0)break;a[h+(c[l>>2]|0)>>0]=c[k>>2];c[l>>2]=(c[l>>2]|0)+1}ys(j,h,c[k>>2]|0,g);ss(f,j,16);c[k>>2]=(c[k>>2]|0)+1}vs(f,j);if(mw(50368,j,16)|0){c[d>>2]=50384;o=c[d>>2]|0;i=b;return o|0}else{c[d>>2]=0;o=c[d>>2]|0;i=b;return o|0}return 0}function ys(b,e,f,g){b=b|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+144|0;j=h+124|0;k=h+120|0;l=h+116|0;m=h+112|0;n=h+20|0;o=h+16|0;p=h+12|0;q=h+128|0;r=h;s=h+8|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;g=n;f=g+92|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));ws(n,c[m>>2]|0,32)|0;ss(n,c[k>>2]|0,c[l>>2]|0);vs(n,c[j>>2]|0);c[o>>2]=n;c[p>>2]=92;a[q>>0]=0;n=r;c[n>>2]=d[q>>0];c[n+4>>2]=0;while(1){if(!((c[o>>2]&7|0)!=0?(c[p>>2]|0)!=0:0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}if((c[p>>2]|0)>>>0>=8){n=r;j=Mx(c[n>>2]|0,c[n+4>>2]|0,16843009,16843009)|0;n=r;c[n>>2]=j;c[n+4>>2]=C;do{c[s>>2]=c[o>>2];n=r;j=c[n+4>>2]|0;l=c[s>>2]|0;c[l>>2]=c[n>>2];c[l+4>>2]=j;c[p>>2]=(c[p>>2]|0)-8;c[o>>2]=(c[o>>2]|0)+8}while((c[p>>2]|0)>>>0>=8)}while(1){if(!(c[p>>2]|0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}i=h;return}function zs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];f=(As(c[g>>2]|0)|0)&67108863;c[c[h>>2]>>2]=f;f=(As((c[g>>2]|0)+3|0)|0)>>>2&67108611;c[(c[h>>2]|0)+4>>2]=f;f=(As((c[g>>2]|0)+6|0)|0)>>>4&67092735;c[(c[h>>2]|0)+8>>2]=f;f=(As((c[g>>2]|0)+9|0)|0)>>>6&66076671;c[(c[h>>2]|0)+12>>2]=f;f=(As((c[g>>2]|0)+12|0)|0)>>>8&1048575;c[(c[h>>2]|0)+16>>2]=f;c[(c[h>>2]|0)+20>>2]=0;c[(c[h>>2]|0)+20+4>>2]=0;c[(c[h>>2]|0)+20+8>>2]=0;c[(c[h>>2]|0)+20+12>>2]=0;c[(c[h>>2]|0)+20+16>>2]=0;f=As((c[g>>2]|0)+16|0)|0;c[(c[h>>2]|0)+40>>2]=f;f=As((c[g>>2]|0)+20|0)|0;c[(c[h>>2]|0)+40+4>>2]=f;f=As((c[g>>2]|0)+24|0)|0;c[(c[h>>2]|0)+40+8>>2]=f;f=As((c[g>>2]|0)+28|0)|0;c[(c[h>>2]|0)+40+12>>2]=f;a[(c[h>>2]|0)+56>>0]=0;i=e;return}function As(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];i=b;return (d[(c[f>>2]|0)+3>>0]|0)<<24|(d[(c[f>>2]|0)+2>>0]|0)<<16|(d[(c[f>>2]|0)+1>>0]|0)<<8|(d[c[f>>2]>>0]|0)|0}function Bs(a,b,e){a=a|0;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,D=0,E=0,F=0,G=0;f=i;i=i+128|0;g=f+116|0;h=f+112|0;j=f+108|0;k=f+104|0;l=f+100|0;m=f+96|0;n=f+92|0;o=f+88|0;p=f+84|0;q=f+80|0;r=f+76|0;s=f+72|0;t=f+68|0;u=f+64|0;v=f+60|0;w=f+56|0;x=f+52|0;y=f+48|0;z=f+44|0;A=f+32|0;B=f+24|0;D=f+16|0;E=f+8|0;F=f;G=f+40|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=c[g>>2];c[l>>2]=(d[(c[k>>2]|0)+56>>0]|0|0)!=0?0:16777216;c[m>>2]=c[c[k>>2]>>2];c[n>>2]=c[(c[k>>2]|0)+4>>2];c[o>>2]=c[(c[k>>2]|0)+8>>2];c[p>>2]=c[(c[k>>2]|0)+12>>2];c[q>>2]=c[(c[k>>2]|0)+16>>2];c[r>>2]=(c[n>>2]|0)*5;c[s>>2]=(c[o>>2]|0)*5;c[t>>2]=(c[p>>2]|0)*5;c[u>>2]=(c[q>>2]|0)*5;c[v>>2]=c[(c[k>>2]|0)+20>>2];c[w>>2]=c[(c[k>>2]|0)+20+4>>2];c[x>>2]=c[(c[k>>2]|0)+20+8>>2];c[y>>2]=c[(c[k>>2]|0)+20+12>>2];c[z>>2]=c[(c[k>>2]|0)+20+16>>2];while(1){if((c[j>>2]|0)>>>0<16)break;g=(As(c[h>>2]|0)|0)&67108863;c[v>>2]=(c[v>>2]|0)+g;g=(As((c[h>>2]|0)+3|0)|0)>>>2&67108863;c[w>>2]=(c[w>>2]|0)+g;g=(As((c[h>>2]|0)+6|0)|0)>>>4&67108863;c[x>>2]=(c[x>>2]|0)+g;g=(As((c[h>>2]|0)+9|0)|0)>>>6&67108863;c[y>>2]=(c[y>>2]|0)+g;g=(As((c[h>>2]|0)+12|0)|0)>>>8;c[z>>2]=(c[z>>2]|0)+(g|c[l>>2]);g=Mx(c[v>>2]|0,0,c[m>>2]|0,0)|0;e=C;b=Mx(c[w>>2]|0,0,c[u>>2]|0,0)|0;a=Ax(g|0,e|0,b|0,C|0)|0;b=C;e=Mx(c[x>>2]|0,0,c[t>>2]|0,0)|0;g=Ax(a|0,b|0,e|0,C|0)|0;e=C;b=Mx(c[y>>2]|0,0,c[s>>2]|0,0)|0;a=Ax(g|0,e|0,b|0,C|0)|0;b=C;e=Mx(c[z>>2]|0,0,c[r>>2]|0,0)|0;g=Ax(a|0,b|0,e|0,C|0)|0;e=A;c[e>>2]=g;c[e+4>>2]=C;e=Mx(c[v>>2]|0,0,c[n>>2]|0,0)|0;g=C;b=Mx(c[w>>2]|0,0,c[m>>2]|0,0)|0;a=Ax(e|0,g|0,b|0,C|0)|0;b=C;g=Mx(c[x>>2]|0,0,c[u>>2]|0,0)|0;e=Ax(a|0,b|0,g|0,C|0)|0;g=C;b=Mx(c[y>>2]|0,0,c[t>>2]|0,0)|0;a=Ax(e|0,g|0,b|0,C|0)|0;b=C;g=Mx(c[z>>2]|0,0,c[s>>2]|0,0)|0;e=Ax(a|0,b|0,g|0,C|0)|0;g=B;c[g>>2]=e;c[g+4>>2]=C;g=Mx(c[v>>2]|0,0,c[o>>2]|0,0)|0;e=C;b=Mx(c[w>>2]|0,0,c[n>>2]|0,0)|0;a=Ax(g|0,e|0,b|0,C|0)|0;b=C;e=Mx(c[x>>2]|0,0,c[m>>2]|0,0)|0;g=Ax(a|0,b|0,e|0,C|0)|0;e=C;b=Mx(c[y>>2]|0,0,c[u>>2]|0,0)|0;a=Ax(g|0,e|0,b|0,C|0)|0;b=C;e=Mx(c[z>>2]|0,0,c[t>>2]|0,0)|0;g=Ax(a|0,b|0,e|0,C|0)|0;e=D;c[e>>2]=g;c[e+4>>2]=C;e=Mx(c[v>>2]|0,0,c[p>>2]|0,0)|0;g=C;b=Mx(c[w>>2]|0,0,c[o>>2]|0,0)|0;a=Ax(e|0,g|0,b|0,C|0)|0;b=C;g=Mx(c[x>>2]|0,0,c[n>>2]|0,0)|0;e=Ax(a|0,b|0,g|0,C|0)|0;g=C;b=Mx(c[y>>2]|0,0,c[m>>2]|0,0)|0;a=Ax(e|0,g|0,b|0,C|0)|0;b=C;g=Mx(c[z>>2]|0,0,c[u>>2]|0,0)|0;e=Ax(a|0,b|0,g|0,C|0)|0;g=E;c[g>>2]=e;c[g+4>>2]=C;g=Mx(c[v>>2]|0,0,c[q>>2]|0,0)|0;e=C;b=Mx(c[w>>2]|0,0,c[p>>2]|0,0)|0;a=Ax(g|0,e|0,b|0,C|0)|0;b=C;e=Mx(c[x>>2]|0,0,c[o>>2]|0,0)|0;g=Ax(a|0,b|0,e|0,C|0)|0;e=C;b=Mx(c[y>>2]|0,0,c[n>>2]|0,0)|0;a=Ax(g|0,e|0,b|0,C|0)|0;b=C;e=Mx(c[z>>2]|0,0,c[m>>2]|0,0)|0;g=Ax(a|0,b|0,e|0,C|0)|0;e=F;c[e>>2]=g;c[e+4>>2]=C;e=A;g=Cx(c[e>>2]|0,c[e+4>>2]|0,26)|0;c[G>>2]=g;c[v>>2]=c[A>>2]&67108863;g=B;e=Ax(c[g>>2]|0,c[g+4>>2]|0,c[G>>2]|0,0)|0;g=B;c[g>>2]=e;c[g+4>>2]=C;g=B;e=Cx(c[g>>2]|0,c[g+4>>2]|0,26)|0;c[G>>2]=e;c[w>>2]=c[B>>2]&67108863;e=D;g=Ax(c[e>>2]|0,c[e+4>>2]|0,c[G>>2]|0,0)|0;e=D;c[e>>2]=g;c[e+4>>2]=C;e=D;g=Cx(c[e>>2]|0,c[e+4>>2]|0,26)|0;c[G>>2]=g;c[x>>2]=c[D>>2]&67108863;g=E;e=Ax(c[g>>2]|0,c[g+4>>2]|0,c[G>>2]|0,0)|0;g=E;c[g>>2]=e;c[g+4>>2]=C;g=E;e=Cx(c[g>>2]|0,c[g+4>>2]|0,26)|0;c[G>>2]=e;c[y>>2]=c[E>>2]&67108863;e=F;g=Ax(c[e>>2]|0,c[e+4>>2]|0,c[G>>2]|0,0)|0;e=F;c[e>>2]=g;c[e+4>>2]=C;e=F;g=Cx(c[e>>2]|0,c[e+4>>2]|0,26)|0;c[G>>2]=g;c[z>>2]=c[F>>2]&67108863;c[v>>2]=(c[v>>2]|0)+((c[G>>2]|0)*5|0);c[G>>2]=(c[v>>2]|0)>>>26;c[v>>2]=c[v>>2]&67108863;c[w>>2]=(c[w>>2]|0)+(c[G>>2]|0);c[h>>2]=(c[h>>2]|0)+16;c[j>>2]=(c[j>>2]|0)-16}c[(c[k>>2]|0)+20>>2]=c[v>>2];c[(c[k>>2]|0)+20+4>>2]=c[w>>2];c[(c[k>>2]|0)+20+8>>2]=c[x>>2];c[(c[k>>2]|0)+20+12>>2]=c[y>>2];c[(c[k>>2]|0)+20+16>>2]=c[z>>2];i=f;return 124}function Cs(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,D=0;g=i;i=i+112|0;h=g+80|0;j=g+76|0;k=g+72|0;l=g+68|0;m=g+64|0;n=g+60|0;o=g+56|0;p=g+52|0;q=g+48|0;r=g+44|0;s=g+40|0;t=g+36|0;u=g+32|0;v=g+28|0;w=g+24|0;x=g+20|0;y=g;z=g+16|0;A=g+12|0;B=g+88|0;D=g+8|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[h>>2];c[A>>2]=0;if(c[k>>2]|0){h=B;f=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(f|0));c[D>>2]=0;while(1){if((c[D>>2]|0)>>>0>=(c[k>>2]|0)>>>0)break;a[B+(c[D>>2]|0)>>0]=a[(c[j>>2]|0)+(c[D>>2]|0)>>0]|0;c[D>>2]=(c[D>>2]|0)+1}a[B+(c[k>>2]|0)>>0]=1;a[(c[m>>2]|0)+56>>0]=1;c[A>>2]=Bs(c[m>>2]|0,B,16)|0}c[n>>2]=c[(c[m>>2]|0)+20>>2];c[o>>2]=c[(c[m>>2]|0)+20+4>>2];c[p>>2]=c[(c[m>>2]|0)+20+8>>2];c[q>>2]=c[(c[m>>2]|0)+20+12>>2];c[r>>2]=c[(c[m>>2]|0)+20+16>>2];c[s>>2]=(c[o>>2]|0)>>>26;c[o>>2]=c[o>>2]&67108863;c[p>>2]=(c[p>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[p>>2]|0)>>>26;c[p>>2]=c[p>>2]&67108863;c[q>>2]=(c[q>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[q>>2]|0)>>>26;c[q>>2]=c[q>>2]&67108863;c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[r>>2]|0)>>>26;c[r>>2]=c[r>>2]&67108863;c[n>>2]=(c[n>>2]|0)+((c[s>>2]|0)*5|0);c[s>>2]=(c[n>>2]|0)>>>26;c[n>>2]=c[n>>2]&67108863;c[o>>2]=(c[o>>2]|0)+(c[s>>2]|0);c[t>>2]=(c[n>>2]|0)+5;c[s>>2]=(c[t>>2]|0)>>>26;c[t>>2]=c[t>>2]&67108863;c[u>>2]=(c[o>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[u>>2]|0)>>>26;c[u>>2]=c[u>>2]&67108863;c[v>>2]=(c[p>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[v>>2]|0)>>>26;c[v>>2]=c[v>>2]&67108863;c[w>>2]=(c[q>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[w>>2]|0)>>>26;c[w>>2]=c[w>>2]&67108863;c[x>>2]=(c[r>>2]|0)+(c[s>>2]|0)-67108864;c[z>>2]=((c[x>>2]|0)>>>31)-1;c[t>>2]=c[t>>2]&c[z>>2];c[u>>2]=c[u>>2]&c[z>>2];c[v>>2]=c[v>>2]&c[z>>2];c[w>>2]=c[w>>2]&c[z>>2];c[x>>2]=c[x>>2]&c[z>>2];c[z>>2]=~c[z>>2];c[n>>2]=c[n>>2]&c[z>>2]|c[t>>2];c[o>>2]=c[o>>2]&c[z>>2]|c[u>>2];c[p>>2]=c[p>>2]&c[z>>2]|c[v>>2];c[q>>2]=c[q>>2]&c[z>>2]|c[w>>2];c[r>>2]=c[r>>2]&c[z>>2]|c[x>>2];c[n>>2]=c[n>>2]|c[o>>2]<<26;c[o>>2]=(c[o>>2]|0)>>>6|c[p>>2]<<20;c[p>>2]=(c[p>>2]|0)>>>12|c[q>>2]<<14;c[q>>2]=(c[q>>2]|0)>>>18|c[r>>2]<<8;r=Ax(c[n>>2]|0,0,c[(c[m>>2]|0)+40>>2]|0,0)|0;x=y;c[x>>2]=r;c[x+4>>2]=C;c[n>>2]=c[y>>2];x=Ax(c[o>>2]|0,0,c[(c[m>>2]|0)+40+4>>2]|0,0)|0;r=Ax(x|0,C|0,c[y+4>>2]|0,0)|0;x=y;c[x>>2]=r;c[x+4>>2]=C;c[o>>2]=c[y>>2];x=Ax(c[p>>2]|0,0,c[(c[m>>2]|0)+40+8>>2]|0,0)|0;r=Ax(x|0,C|0,c[y+4>>2]|0,0)|0;x=y;c[x>>2]=r;c[x+4>>2]=C;c[p>>2]=c[y>>2];x=Ax(c[q>>2]|0,0,c[(c[m>>2]|0)+40+12>>2]|0,0)|0;r=Ax(x|0,C|0,c[y+4>>2]|0,0)|0;x=y;c[x>>2]=r;c[x+4>>2]=C;c[q>>2]=c[y>>2];Ds(c[l>>2]|0,c[n>>2]|0);Ds((c[l>>2]|0)+4|0,c[o>>2]|0);Ds((c[l>>2]|0)+8|0,c[p>>2]|0);Ds((c[l>>2]|0)+12|0,c[q>>2]|0);c[(c[m>>2]|0)+20>>2]=0;c[(c[m>>2]|0)+20+4>>2]=0;c[(c[m>>2]|0)+20+8>>2]=0;c[(c[m>>2]|0)+20+12>>2]=0;c[(c[m>>2]|0)+20+16>>2]=0;c[c[m>>2]>>2]=0;c[(c[m>>2]|0)+4>>2]=0;c[(c[m>>2]|0)+8>>2]=0;c[(c[m>>2]|0)+12>>2]=0;c[(c[m>>2]|0)+16>>2]=0;c[(c[m>>2]|0)+40>>2]=0;c[(c[m>>2]|0)+40+4>>2]=0;c[(c[m>>2]|0)+40+8>>2]=0;c[(c[m>>2]|0)+40+12>>2]=0;i=g;return 100+(c[A>>2]|0)|0}function Ds(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];a[(c[h>>2]|0)+3>>0]=(c[g>>2]|0)>>>24;a[(c[h>>2]|0)+2>>0]=(c[g>>2]|0)>>>16;a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)>>>8;a[c[h>>2]>>0]=c[g>>2];i=e;return}function Es(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+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=ts(c[e>>2]|0)|0;c[(c[e>>2]|0)+88>>2]=0;yb[c[(c[(c[e>>2]|0)+84>>2]|0)+4>>2]&7](c[g>>2]|0,c[f>>2]|0);i=d;return}function Fs(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(c[d>>2]|0){Hs();i=b;return}else{Gs();i=b;return}}function Gs(){if(c[17723]|0)return;c[17723]=1;return}function Hs(){var a=0,b=0;Gs();Is();if(c[17725]|0){Os();return}if(c[17726]|0)a=hg(1,664)|0;else a=gg(1,664)|0;c[17725]=a;if(c[17726]|0)b=hg(1,664)|0;else b=gg(1,664)|0;c[17727]=b;c[17728]=Js()|0;if(!(c[17728]|0)){c[17729]=1;c[17728]=3}c[17746]=Ns()|0;Os();return}function Is(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;c[d>>2]=lu(12956)|0;if(c[d>>2]|0){c[b>>2]=fu(c[d>>2]|0)|0;Bf(50439,b)}else{c[17724]=1;i=a;return}}function Js(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;if((Ew(52821,4)|0)==0?(Ew(52923,4)|0)==0:0){c[d>>2]=4;i=a;return c[d>>2]|0}Bf(pf(50476)|0,b);return 0}function Ks(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;g=i;i=i+32|0;h=g+24|0;j=g+20|0;k=g+12|0;l=g+8|0;m=g+4|0;c[g+28>>2]=b;c[h>>2]=d;c[j>>2]=e;c[g+16>>2]=f;if(!(c[17730]|0)){yf(pf(50514)|0,g);c[17730]=1;f=jb(0)|0;bx(_(f,Dw()|0)|0)}f=dg(c[j>>2]|0)|0;c[l>>2]=f;c[m>>2]=f;c[k>>2]=c[j>>2];while(1){f=c[k>>2]|0;c[k>>2]=f+-1;if(!f)break;f=1+~~(+(cx()|0)*256.0/2147483648.0)-1&255;e=c[m>>2]|0;c[m>>2]=e+1;a[e>>0]=f}Ls(c[l>>2]|0,c[j>>2]|0,c[h>>2]|0);$f(c[l>>2]|0);i=g;return 0}function Ls(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;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[h>>2];c[m>>2]=0;if(!(c[17724]|0))xf(50565,50580,1074,50596);c[17739]=(c[17739]|0)+(c[j>>2]|0);c[17740]=(c[17740]|0)+1;while(1){h=c[j>>2]|0;c[j>>2]=h+-1;if(!h)break;h=c[l>>2]|0;c[l>>2]=h+1;f=d[h>>0]|0;h=c[17741]|0;c[17741]=h+1;e=(c[17725]|0)+h|0;a[e>>0]=(d[e>>0]|0)^f;c[m>>2]=(c[m>>2]|0)+1;if((c[17741]|0)>>>0<600)continue;if(!((c[k>>2]|0)>>>0<3|(c[17742]|0)!=0)?(c[17743]=(c[17743]|0)+(c[m>>2]|0),c[m>>2]=0,(c[17743]|0)>>>0>=600):0)c[17742]=1;c[17741]=0;Ms(c[17725]|0);c[17731]=(c[17731]|0)+1;c[17745]=((c[j>>2]|0)!=0^1)&1}i=g;return}function Ms(b){b=b|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+224|0;f=e+208|0;g=e+204|0;h=e+200|0;j=e+196|0;k=e+192|0;l=e+188|0;m=e;n=e+184|0;c[f>>2]=b;c[g>>2]=(c[f>>2]|0)+600;if(!(c[17724]|0))xf(50565,50580,615,50611);Fl(m);c[j>>2]=(c[f>>2]|0)+600;b=c[g>>2]|0;o=(c[j>>2]|0)+-20|0;p=b+20|0;do{a[b>>0]=a[o>>0]|0;b=b+1|0;o=o+1|0}while((b|0)<(p|0));b=(c[g>>2]|0)+20|0;o=c[f>>2]|0;p=b+44|0;do{a[b>>0]=a[o>>0]|0;b=b+1|0;o=o+1|0}while((b|0)<(p|0));Gl(m,c[g>>2]|0);b=c[f>>2]|0;o=c[g>>2]|0;p=b+20|0;do{a[b>>0]=a[o>>0]|0;b=b+1|0;o=o+1|0}while((b|0)<(p|0));a:do if((c[17744]|0)!=0?(c[f>>2]|0)==(c[17725]|0):0){c[k>>2]=0;while(1){if((c[k>>2]|0)>=20)break a;q=(c[f>>2]|0)+(c[k>>2]|0)|0;a[q>>0]=(d[q>>0]|0)^(d[76506+(c[k>>2]|0)>>0]|0);c[k>>2]=(c[k>>2]|0)+1}}while(0);c[h>>2]=c[f>>2];c[l>>2]=1;while(1){if((c[l>>2]|0)>=30)break;b=c[g>>2]|0;o=c[h>>2]|0;p=b+20|0;do{a[b>>0]=a[o>>0]|0;b=b+1|0;o=o+1|0}while((b|0)<(p|0));c[h>>2]=(c[h>>2]|0)+20;b:do if(((c[h>>2]|0)+20+64|0)>>>0<(c[j>>2]|0)>>>0){b=(c[g>>2]|0)+20|0;o=(c[h>>2]|0)+20|0;p=b+44|0;do{a[b>>0]=a[o>>0]|0;b=b+1|0;o=o+1|0}while((b|0)<(p|0))}else{c[n>>2]=(c[h>>2]|0)+20;c[k>>2]=20;while(1){if((c[k>>2]|0)>=64)break b;if((c[n>>2]|0)>>>0>=(c[j>>2]|0)>>>0)c[n>>2]=c[f>>2];q=c[n>>2]|0;c[n>>2]=q+1;a[(c[g>>2]|0)+(c[k>>2]|0)>>0]=a[q>>0]|0;c[k>>2]=(c[k>>2]|0)+1}}while(0);Gl(m,c[g>>2]|0);b=c[h>>2]|0;o=c[g>>2]|0;p=b+20|0;do{a[b>>0]=a[o>>0]|0;b=b+1|0;o=o+1|0}while((b|0)<(p|0));c[l>>2]=(c[l>>2]|0)+1}if((c[f>>2]|0)!=(c[17725]|0)){If(384);Jf();i=e;return}Hl(76506,c[f>>2]|0,600);c[17744]=1;If(384);Jf();i=e;return}function Ns(){return 0}function Os(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;c[17724]=0;c[d>>2]=mu(12956)|0;if(c[d>>2]|0){c[b>>2]=fu(c[d>>2]|0)|0;Bf(50620,b)}else{i=a;return}}function Ps(){Is();Tt(0,0,0,0)|0;c[17742]=0;Os();return}function Qs(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;a=i;i=i+48|0;b=a;d=c[17731]|0;e=c[17733]|0;f=c[17734]|0;g=c[17740]|0;h=c[17739]|0;j=c[17732]|0;k=c[17736]|0;l=c[17735]|0;m=c[17738]|0;n=c[17737]|0;o=(Qt()|0)!=0;c[b>>2]=600;c[b+4>>2]=d;c[b+8>>2]=e;c[b+12>>2]=f;c[b+16>>2]=g;c[b+20>>2]=h;c[b+24>>2]=j;c[b+28>>2]=k;c[b+32>>2]=l;c[b+36>>2]=m;c[b+40>>2]=n;c[b+44>>2]=o?50657:76527;yf(50673,b);i=a;return}function Rs(){c[17726]=1;return}function Ss(){c[17747]=1;return}function Ts(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function Us(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Vs(){Hs();return ((c[17729]|0)!=0?1:(c[17747]|0)!=0)&1|0}function Ws(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+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;Hs();if((c[17747]|0)!=0&(c[h>>2]|0)>>>0>1)c[h>>2]=1;c[h>>2]=c[h>>2]&3;Is();d=c[g>>2]|0;if((c[h>>2]|0)>>>0>=2){c[17737]=(c[17737]|0)+d;c[17738]=(c[17738]|0)+1}else{c[17735]=(c[17735]|0)+d;c[17736]=(c[17736]|0)+1}c[j>>2]=c[f>>2];while(1){if((c[g>>2]|0)>>>0<=0)break;c[k>>2]=(c[g>>2]|0)>>>0>600?600:c[g>>2]|0;Xs(c[j>>2]|0,c[k>>2]|0,c[h>>2]|0);c[g>>2]=(c[g>>2]|0)-(c[k>>2]|0);c[j>>2]=(c[j>>2]|0)+(c[k>>2]|0)}Os();i=e;return}function Xs(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+64|0;g=f;h=f+48|0;j=f+44|0;k=f+40|0;l=f+36|0;m=f+32|0;n=f+28|0;o=f+24|0;p=f+20|0;q=f+16|0;r=f+12|0;s=f+8|0;t=f+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[17724]|0))xf(50565,50580,934,50797);while(1){c[o>>2]=Dw()|0;if((c[3250]|0)==-1)c[3250]=c[o>>2];if((c[3250]|0)!=(c[o>>2]|0)){c[3250]=c[o>>2];c[p>>2]=c[3250];Ls(p,4,0);c[17745]=0}if(!(c[17724]|0)){u=8;break}if((c[j>>2]|0)>>>0>600){u=10;break}if((c[17742]|0)==0?(Ys()|0)!=0:0)c[17742]=1;if(!((c[k>>2]|0)!=2|(c[17750]|0)!=0)){c[17751]=0;c[q>>2]=(c[j>>2]|0)-(c[17751]|0);if((c[q>>2]|0)>>>0>=16){if((c[q>>2]|0)>>>0>600){u=18;break}}else c[q>>2]=16;_s(4,c[q>>2]|0,2);c[17751]=(c[17751]|0)+(c[q>>2]|0);c[17750]=1}if((c[k>>2]|0)==2?(c[17751]|0)>>>0<(c[j>>2]|0)>>>0:0){if((c[17751]|0)<0)c[17751]=0;c[r>>2]=(c[j>>2]|0)-(c[17751]|0);if((c[r>>2]|0)>>>0>600){u=25;break}_s(4,c[r>>2]|0,2);c[17751]=(c[17751]|0)+(c[r>>2]|0)}while(1){if(!((c[17742]|0)!=0^1))break;$s()}at();c[s>>2]=c[3250];Ls(s,4,0);if(!(c[17745]|0)){Ms(c[17725]|0);c[17731]=(c[17731]|0)+1}c[l>>2]=0;c[n>>2]=c[17727];c[m>>2]=c[17725];while(1){if((c[l>>2]|0)>=150)break;c[c[n>>2]>>2]=(c[c[m>>2]>>2]|0)+-1515870811;c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+4;c[m>>2]=(c[m>>2]|0)+4}Ms(c[17725]|0);c[17731]=(c[17731]|0)+1;Ms(c[17727]|0);c[17732]=(c[17732]|0)+1;while(1){e=c[j>>2]|0;c[j>>2]=e+-1;if(!e)break;e=c[17752]|0;c[17752]=e+1;d=a[(c[17727]|0)+e>>0]|0;e=c[h>>2]|0;c[h>>2]=e+1;a[e>>0]=d;if((c[17752]|0)>>>0>=600)c[17752]=0;c[17751]=(c[17751]|0)+-1}if((c[17751]|0)<0)c[17751]=0;Fx(c[17727]|0,0,600)|0;d=Dw()|0;if((d|0)==(c[o>>2]|0)){u=43;break}c[t>>2]=Dw()|0;Ls(t,4,0);c[17745]=0;c[3250]=c[t>>2]}if((u|0)==8)xf(50565,50580,953,50797);else if((u|0)==10)Cf(50807,g);else if((u|0)==18)wf(50580,979,50797);else if((u|0)==25)wf(50580,995,50797);else if((u|0)==43){i=f;return}}function Ys(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a=i;i=i+768|0;b=a+48|0;d=a+40|0;e=a+32|0;f=a+24|0;g=a+16|0;h=a+8|0;j=a+152|0;k=a+148|0;l=a+72|0;m=a+160|0;n=a+68|0;o=a+64|0;p=a+60|0;q=a+56|0;if(!(c[17724]|0))xf(50565,50580,743,50839);if(!(c[17748]|0)){c[j>>2]=0;r=c[j>>2]|0;i=a;return r|0}c[k>>2]=Mw(c[17748]|0,0,a)|0;if((c[k>>2]|0)==-1?(c[(Yu()|0)>>2]|0)==2:0){c[17749]=1;c[j>>2]=0;r=c[j>>2]|0;i=a;return r|0}if((c[k>>2]|0)==-1){s=pf(50854)|0;t=c[17748]|0;u=ov(c[(Yu()|0)>>2]|0)|0;c[h>>2]=t;c[h+4>>2]=u;yf(s,h);c[j>>2]=0;r=c[j>>2]|0;i=a;return r|0}h=(Zs(c[k>>2]|0,c[17748]|0,0)|0)!=0;s=c[k>>2]|0;if(h){lw(s)|0;c[j>>2]=0;r=c[j>>2]|0;i=a;return r|0}if(Iw(s,l)|0){s=pf(50925)|0;h=c[17748]|0;u=ov(c[(Yu()|0)>>2]|0)|0;c[g>>2]=h;c[g+4>>2]=u;yf(s,g);lw(c[k>>2]|0)|0;c[j>>2]=0;r=c[j>>2]|0;i=a;return r|0}if((c[l+12>>2]&61440|0)!=32768){g=pf(50946)|0;c[f>>2]=c[17748];yf(g,f);lw(c[k>>2]|0)|0;c[j>>2]=0;r=c[j>>2]|0;i=a;return r|0}if(!(c[l+36>>2]|0)){yf(pf(50984)|0,e);lw(c[k>>2]|0)|0;c[17749]=1;c[j>>2]=0;r=c[j>>2]|0;i=a;return r|0}if((c[l+36>>2]|0)!=600){yf(pf(51017)|0,d);lw(c[k>>2]|0)|0;c[j>>2]=0;r=c[j>>2]|0;i=a;return r|0}do{c[n>>2]=Lw(c[k>>2]|0,m,600)|0;if((c[n>>2]|0)!=-1)break}while((c[(Yu()|0)>>2]|0)==4);if((c[n>>2]|0)!=600){n=pf(51071)|0;d=c[17748]|0;l=ov(c[(Yu()|0)>>2]|0)|0;c[b>>2]=d;c[b+4>>2]=l;Bf(n,b)}lw(c[k>>2]|0)|0;Ls(m,600,0);c[o>>2]=Dw()|0;Ls(o,4,0);c[p>>2]=jb(0)|0;Ls(p,4,0);c[q>>2]=Na()|0;Ls(q,4,0);_s(0,16,0);c[17749]=1;c[j>>2]=1;r=c[j>>2]|0;i=a;return r|0}function Zs(a,d,e){a=a|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;f=i;i=i+64|0;g=f+16|0;h=f+8|0;j=f;k=f+60|0;l=f+56|0;m=f+52|0;n=f+48|0;o=f+32|0;p=f+24|0;q=f+20|0;c[l>>2]=a;c[m>>2]=d;c[n>>2]=e;c[q>>2]=0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;b[o>>1]=(c[n>>2]|0)!=0?1:0;b[o+2>>1]=0;while(1){n=c[l>>2]|0;c[j>>2]=o;if((kw(n,13,j)|0)!=-1){r=10;break}if((c[(Yu()|0)>>2]|0)!=11?(c[(Yu()|0)>>2]|0)!=13:0){r=5;break}if((c[q>>2]|0)>2){n=pf(50896)|0;c[g>>2]=c[m>>2];yf(n,g)}c[p>>2]=c[q>>2];c[p+4>>2]=25e4;Jw(0,0,0,0,p)|0;if((c[q>>2]|0)>=10)continue;c[q>>2]=(c[q>>2]|0)+1}if((r|0)==5){q=pf(50875)|0;p=c[m>>2]|0;m=ov(c[(Yu()|0)>>2]|0)|0;c[h>>2]=p;c[h+4>>2]=m;yf(q,h);c[k>>2]=-1;s=c[k>>2]|0;i=f;return s|0}else if((r|0)==10){c[k>>2]=0;s=c[k>>2]|0;i=f;return s|0}return 0}function _s(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+20|0;g=e+16|0;h=e+12|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[17728]|0))Bf(51092,e);if((Cb[c[17728]&7](3,c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)<0)Bf(51143,e+8|0);else{i=e;return}}function $s(){c[17733]=(c[17733]|0)+1;_s(3,120,1);return}function at(){var a=0,b=0,d=0,e=0,f=0;a=i;i=i+160|0;b=a+144|0;d=a+8|0;e=a+4|0;f=a;if(!(c[17724]|0))xf(50565,50580,1180,51181);c[17734]=(c[17734]|0)+1;if(c[17746]|0)yb[c[17746]&7](3,2);if(lb(b|0,0)|0)wf(50580,1198,51181);else{Ls(b,4,2);Ls(b+4|0,4,2);hx(0,d)|0;Ls(d,136,2);Fx(d|0,0,136)|0;c[e>>2]=jb(0)|0;Ls(e,4,2);c[f>>2]=Na()|0;Ls(f,4,2);Rt(3,2);i=a;return}}function bt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(c[17748]|0)wf(50580,673,51201);else{c[17748]=ig(c[d>>2]|0)|0;i=b;return}}function ct(){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+64|0;b=a+40|0;d=a+32|0;e=a+24|0;f=a+16|0;g=a+8|0;h=a+60|0;j=a+56|0;k=a+52|0;l=a+48|0;Gs();Is();if(!((c[17748]|0)!=0&(c[17725]|0)!=0&(c[17742]|0)!=0)){Os();i=a;return}if(!(c[17749]|0)){Os();yf(pf(51231)|0,a);i=a;return}c[l>>2]=0;c[j>>2]=c[17727];c[h>>2]=c[17725];while(1){if((c[l>>2]|0)>=150)break;c[c[j>>2]>>2]=(c[c[h>>2]>>2]|0)+-1515870811;c[l>>2]=(c[l>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+4;c[h>>2]=(c[h>>2]|0)+4}Ms(c[17725]|0);c[17731]=(c[17731]|0)+1;Ms(c[17727]|0);c[17732]=(c[17732]|0)+1;h=c[17748]|0;c[g>>2]=384;c[k>>2]=Mw(h,65,g)|0;do if((c[k>>2]|0)!=-1){g=(Zs(c[k>>2]|0,c[17748]|0,1)|0)!=0;h=c[k>>2]|0;if(g){lw(h)|0;break}if(Ww(h,0)|0){h=pf(51290)|0;g=c[17748]|0;j=ov(c[(Yu()|0)>>2]|0)|0;c[e>>2]=g;c[e+4>>2]=j;yf(h,e);lw(c[k>>2]|0)|0;break}do{c[l>>2]=Kw(c[k>>2]|0,c[17727]|0,600)|0;if((c[l>>2]|0)!=-1)break}while((c[(Yu()|0)>>2]|0)==4);if((c[l>>2]|0)!=600){h=pf(51290)|0;j=c[17748]|0;g=ov(c[(Yu()|0)>>2]|0)|0;c[d>>2]=j;c[d+4>>2]=g;yf(h,d)}if(lw(c[k>>2]|0)|0){h=pf(51312)|0;g=c[17748]|0;j=ov(c[(Yu()|0)>>2]|0)|0;c[b>>2]=g;c[b+4>>2]=j;yf(h,b)}}else{h=pf(51267)|0;j=c[17748]|0;g=ov(c[(Yu()|0)>>2]|0)|0;c[f>>2]=j;c[f+4>>2]=g;yf(h,f)}while(0);Os();i=a;return}function dt(){Gs();Is();if(!(c[17725]|0)){Os();return}at();Os();return}function et(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ft();if(!(c[d>>2]|0)){i=b;return}gt();do if(c[17755]|0){if(c[(c[17756]|0)+52>>2]|0)xf(51370,51398,767,51412);if(c[(c[17757]|0)+52>>2]|0)xf(51437,51398,768,51412);if(c[(c[17758]|0)+52>>2]|0)xf(51467,51398,769,51412);else{it(c[17756]|0);it(c[17757]|0);it(c[17758]|0);break}}else{c[17755]=fg(48)|0;c[17756]=gg(1,68)|0;ht(c[17756]|0);c[17757]=hg(1,68)|0;ht(c[17757]|0);c[17758]=hg(1,68)|0;ht(c[17758]|0)}while(0);jt();i=b;return}function ft(){if(c[17753]|0)return;c[17753]=1;c[17754]=0;return}function gt(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;c[d>>2]=lu(13004)|0;if(c[d>>2]|0){c[b>>2]=fu(c[d>>2]|0)|0;Bf(51334,b)}else{c[17754]=1;i=a;return}}function ht(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[c[e>>2]>>0]=17;a[(c[e>>2]|0)+16>>0]=42;a[(c[e>>2]|0)+33>>0]=-119;a[(c[e>>2]|0)+50>>0]=-4;i=d;return}function it(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b;f=b+4|0;c[f>>2]=a;if((((d[c[f>>2]>>0]|0|0)==17?(d[(c[f>>2]|0)+16>>0]|0|0)==42:0)?(d[(c[f>>2]|0)+33>>0]|0|0)==137:0)?(d[(c[f>>2]|0)+50>>0]|0|0)==252:0){i=b;return}c[e>>2]=c[f>>2];Bf(51500,e)}function jt(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;c[17754]=0;c[d>>2]=mu(13004)|0;if(c[d>>2]|0){c[b>>2]=fu(c[d>>2]|0)|0;Bf(51546,b)}else{i=a;return}}function kt(){gt();Tt(0,0,0,0)|0;jt();return}function lt(){return}function mt(){return 0}function nt(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;et(1);gt();d=c[f>>2]|0;f=c[g>>2]|0;if((c[h>>2]|0)==2){ot(d,f,c[17758]|0);jt();i=e;return}else{ot(d,f,c[17757]|0);jt();i=e;return}}function ot(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f;h=f+12|0;j=f+8|0;k=f+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[h>>2]|0))xf(52697,51398,685,52720);if(!(c[k>>2]|0))xf(51582,51398,686,52720);it(c[k>>2]|0);do if(!(c[(c[k>>2]|0)+4>>2]|0)){if((c[k>>2]|0)==(c[17756]|0)){e=pt(1)|0;c[(c[k>>2]|0)+4>>2]=e}else{e=pt(0)|0;c[(c[k>>2]|0)+4>>2]=e}if(c[(c[k>>2]|0)+4>>2]|0){e=Dw()|0;c[(c[k>>2]|0)+60>>2]=e;break}else Bf(52115,g)}while(0);if(!((a[(c[k>>2]|0)+8>>0]<<7&255)<<24>>24>>7<<24>>24))tt(c[k>>2]|0);e=c[(c[k>>2]|0)+60>>2]|0;if((e|0)==(Dw()|0)?(e=c[(c[k>>2]|0)+64>>2]|0,(e|0)==(Dw()|0)):0)if(vt(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)Bf(52115,g);else{it(c[k>>2]|0);i=f;return}Jh(51398,714,52720,0,51852);Bf(52115,g)}function pt(b){b=b|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;e=i;i=i+64|0;f=e+16|0;g=e+8|0;h=e+48|0;j=e+44|0;k=e+40|0;l=e+36|0;m=e+32|0;n=e+28|0;o=e+24|0;p=e+52|0;q=e;r=e+20|0;c[j>>2]=b;if(!(c[17754]|0))xf(51590,51398,596,51609);c[l>>2]=ai(k,7,1,1)|0;if(c[l>>2]|0){c[g>>2]=qt(c[l>>2]|0)|0;Af(51627,g);c[h>>2]=0;s=c[h>>2]|0;i=e;return s|0}if(c[j>>2]|0){c[m>>2]=dg(16)|0;ot(c[m>>2]|0,16,c[17757]|0)}else c[m>>2]=rt(16)|0;c[l>>2]=ni(c[k>>2]|0,c[m>>2]|0,16)|0;c[n>>2]=c[m>>2];c[o>>2]=16;a[p>>0]=0;j=q;c[j>>2]=d[p>>0];c[j+4>>2]=0;while(1){if(!((c[n>>2]&7|0)!=0?(c[o>>2]|0)!=0:0))break;a[c[n>>2]>>0]=a[p>>0]|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+-1}if((c[o>>2]|0)>>>0>=8){j=q;g=Mx(c[j>>2]|0,c[j+4>>2]|0,16843009,16843009)|0;j=q;c[j>>2]=g;c[j+4>>2]=C;do{c[r>>2]=c[n>>2];j=q;g=c[j+4>>2]|0;b=c[r>>2]|0;c[b>>2]=c[j>>2];c[b+4>>2]=g;c[o>>2]=(c[o>>2]|0)-8;c[n>>2]=(c[n>>2]|0)+8}while((c[o>>2]|0)>>>0>=8)}while(1){if(!(c[o>>2]|0))break;a[c[n>>2]>>0]=a[p>>0]|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+-1}$f(c[m>>2]|0);if(c[l>>2]|0){c[f>>2]=qt(c[l>>2]|0)|0;Af(51776,f);fi(c[k>>2]|0);c[h>>2]=0;s=c[h>>2]|0;i=e;return s|0}else{c[h>>2]=c[k>>2];s=c[h>>2]|0;i=e;return s|0}return 0}function qt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=fu(c[d>>2]|0)|0;i=b;return a|0}function rt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b;e=b+12|0;f=b+8|0;g=b+4|0;c[e>>2]=a;if(c[17759]|0)xf(51670,51398,552,51694);c[17759]=fg(c[e>>2]|0)|0;c[17760]=c[e>>2];c[17761]=0;c[g>>2]=Tt(4,0,16,2)|0;if((c[g>>2]|0)<0){h=c[17759]|0;$f(h);c[17759]=0;Bf(51748,d)}if((c[17761]|0)!=(c[17760]|0)){h=c[17759]|0;$f(h);c[17759]=0;Bf(51748,d)}else{c[f>>2]=c[17759];c[17759]=0;i=b;return c[f>>2]|0}return 0}function st(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;h=g+12|0;j=g+8|0;k=g;c[h>>2]=b;c[j>>2]=e;c[g+4>>2]=f;c[k>>2]=c[h>>2];if(!(c[17754]|0))xf(51590,51398,531,51706);if(!(c[17759]|0))xf(51725,51398,532,51706);while(1){h=c[j>>2]|0;c[j>>2]=h+-1;if(!h){l=8;break}if((c[17761]|0)>>>0>=(c[17760]|0)>>>0){l=8;break}h=c[k>>2]|0;c[k>>2]=h+1;f=d[h>>0]|0;h=c[17761]|0;c[17761]=h+1;e=(c[17759]|0)+h|0;a[e>>0]=(d[e>>0]|0)^f}if((l|0)==8){i=g;return}}function tt(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;c[e>>2]=b;if(!(c[17754]|0))xf(51590,51398,658,51808);b=(c[e>>2]|0)+17|0;if((c[e>>2]|0)==(c[17756]|0)){ot(b,16,c[17757]|0);f=(c[e>>2]|0)+8|0;a[f>>0]=a[f>>0]&-2|1;f=Dw()|0;c[(c[e>>2]|0)+64>>2]=f;i=d;return}else{ut(b,16);b=(c[e>>2]|0)+8|0;a[b>>0]=a[b>>0]&-2|1;b=Dw()|0;c[(c[e>>2]|0)+64>>2]=b;i=d;return}}function ut(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+48|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+32|0;n=f;o=f+8|0;c[g>>2]=b;c[h>>2]=e;if(!(c[17754]|0))xf(51590,51398,642,51820);if((c[h>>2]|0)!=16)xf(51839,51398,643,51820);c[j>>2]=rt(16)|0;h=c[g>>2]|0;g=c[j>>2]|0;e=h+16|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(e|0));c[k>>2]=c[j>>2];c[l>>2]=16;a[m>>0]=0;g=n;c[g>>2]=d[m>>0];c[g+4>>2]=0;while(1){if(!((c[k>>2]&7|0)!=0?(c[l>>2]|0)!=0:0))break;a[c[k>>2]>>0]=a[m>>0]|0;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+-1}if((c[l>>2]|0)>>>0>=8){g=n;h=Mx(c[g>>2]|0,c[g+4>>2]|0,16843009,16843009)|0;g=n;c[g>>2]=h;c[g+4>>2]=C;do{c[o>>2]=c[k>>2];g=n;h=c[g+4>>2]|0;e=c[o>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=h;c[l>>2]=(c[l>>2]|0)-8;c[k>>2]=(c[k>>2]|0)+8}while((c[l>>2]|0)>>>0>=8)}while(1){if(!(c[l>>2]|0))break;a[c[k>>2]>>0]=a[m>>0]|0;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+-1}$f(c[j>>2]|0);i=f;return}function vt(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;g=i;i=i+80|0;h=g+48|0;j=g+44|0;k=g+40|0;l=g+36|0;m=g+56|0;n=g+32|0;o=g+28|0;p=g+24|0;q=g+20|0;r=g+16|0;s=g+12|0;t=g+52|0;u=g;v=g+8|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;if(!(c[17754]|0))xf(51590,51398,444,51906);if(!(c[(c[l>>2]|0)+4>>2]|0))xf(51922,51398,445,51906);if(!((a[(c[l>>2]|0)+8>>0]<<7&255)<<24>>24>>7<<24>>24))xf(51941,51398,446,51906);if(!(c[17755]|0))xf(51960,51398,448,51906);c[n>>2]=c[17755];c[o>>2]=(c[17755]|0)+16;c[p>>2]=(c[17755]|0)+32;while(1){if(!(c[k>>2]|0)){w=33;break}if((c[(c[l>>2]|0)+52>>2]|0)==0?(c[(c[l>>2]|0)+12>>2]|0)>>>0>1e3:0){tt(c[l>>2]|0);c[(c[l>>2]|0)+12>>2]=0}c[q>>2]=(c[k>>2]|0)>>>0<16?c[k>>2]|0:16;wt(m,16,c[l>>2]|0);xt(c[p>>2]|0,m,(c[l>>2]|0)+17|0,c[(c[l>>2]|0)+4>>2]|0,c[n>>2]|0,c[o>>2]|0);f=(c[l>>2]|0)+12|0;c[f>>2]=(c[f>>2]|0)+1;if(!(((((d[(c[l>>2]|0)+51>>0]|0|0)!=0?(c[(c[l>>2]|0)+52>>2]|0)!=0:0)?(c[l>>2]|0)!=(c[17756]|0):0)?(c[l>>2]|0)!=(c[17757]|0):0)?(c[l>>2]|0)!=(c[17758]|0):0)){f=(c[l>>2]|0)+34|0;e=c[p>>2]|0;if(!((a[(c[l>>2]|0)+8>>0]<<6&255)<<24>>24>>7<<24>>24)){x=f;y=e;z=x+16|0;do{a[x>>0]=a[y>>0]|0;x=x+1|0;y=y+1|0}while((x|0)<(z|0));b=(c[l>>2]|0)+8|0;a[b>>0]=a[b>>0]&-3|2;continue}if(!(mw(f,e,16)|0)){w=22;break}x=(c[l>>2]|0)+34|0;y=c[p>>2]|0;z=x+16|0;do{a[x>>0]=a[y>>0]|0;x=x+1|0;y=y+1|0}while((x|0)<(z|0))}Dx(c[j>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;c[r>>2]=c[p>>2];c[s>>2]=16;a[t>>0]=0;e=u;c[e>>2]=d[t>>0];c[e+4>>2]=0;while(1){if(!((c[r>>2]&7|0)!=0?(c[s>>2]|0)!=0:0))break;a[c[r>>2]>>0]=a[t>>0]|0;c[r>>2]=(c[r>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+-1}if((c[s>>2]|0)>>>0>=8){e=u;f=Mx(c[e>>2]|0,c[e+4>>2]|0,16843009,16843009)|0;e=u;c[e>>2]=f;c[e+4>>2]=C;do{c[v>>2]=c[r>>2];e=u;f=c[e+4>>2]|0;b=c[v>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=f;c[s>>2]=(c[s>>2]|0)-8;c[r>>2]=(c[r>>2]|0)+8}while((c[s>>2]|0)>>>0>=8)}while(1){if(!(c[s>>2]|0))break;a[c[r>>2]>>0]=a[t>>0]|0;c[r>>2]=(c[r>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+-1}c[j>>2]=(c[j>>2]|0)+(c[q>>2]|0);c[k>>2]=(c[k>>2]|0)-(c[q>>2]|0)}if((w|0)==22){Jh(51398,502,51906,0,52075);c[h>>2]=-1;A=c[h>>2]|0;i=g;return A|0}else if((w|0)==33){c[h>>2]=0;A=c[h>>2]|0;i=g;return A|0}return 0}function wt(d,f,g){d=d|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;k=h+28|0;l=h+24|0;m=h+20|0;n=h+16|0;o=h+8|0;c[k>>2]=d;c[l>>2]=f;c[m>>2]=g;if((c[l>>2]|0)!=16)xf(51839,51398,273,51990);if(!(c[17754]|0))xf(51590,51398,274,51990);if((((c[(c[m>>2]|0)+52>>2]|0)!=0?(c[m>>2]|0)!=(c[17756]|0):0)?(c[m>>2]|0)!=(c[17757]|0):0)?(c[m>>2]|0)!=(c[17758]|0):0){l=c[k>>2]|0;g=c[(c[m>>2]|0)+52>>2]|0;f=l+16|0;do{a[l>>0]=a[g>>0]|0;l=l+1|0;g=g+1|0}while((l|0)<(f|0));a[(c[k>>2]|0)+12>>0]=(c[(c[m>>2]|0)+56>>2]|0)>>>24;a[(c[k>>2]|0)+13>>0]=(c[(c[m>>2]|0)+56>>2]|0)>>>16;a[(c[k>>2]|0)+14>>0]=(c[(c[m>>2]|0)+56>>2]|0)>>>8;a[(c[k>>2]|0)+15>>0]=c[(c[m>>2]|0)+56>>2];g=(c[m>>2]|0)+56|0;c[g>>2]=(c[g>>2]|0)+1;i=h;return}if(!(c[17762]|0)){c[17763]=Dw()|0;c[17764]=Xw()|0}if(lb(o|0,0)|0){c[j>>2]=ov(c[(Yu()|0)>>2]|0)|0;Bf(52002,j)}c[n>>2]=c[o+4>>2];c[n>>2]=c[n>>2]<<4;if((c[o>>2]|0)==(c[17762]|0)?(c[n>>2]|0)==(c[17765]|0):0){b[35830]=(b[35830]|0)+1<<16>>16;b[35830]=(e[35830]|0)&4095}else{b[35830]=0;c[17762]=c[o>>2];c[17765]=c[n>>2]}a[c[k>>2]>>0]=c[o>>2]>>24;a[(c[k>>2]|0)+1>>0]=c[o>>2]>>16;a[(c[k>>2]|0)+2>>0]=c[o>>2]>>8;a[(c[k>>2]|0)+3>>0]=c[o>>2];a[(c[k>>2]|0)+4>>0]=(c[n>>2]|0)>>>16;a[(c[k>>2]|0)+5>>0]=(c[n>>2]|0)>>>8;a[(c[k>>2]|0)+6>>0]=c[n>>2]&240|(e[35830]|0)>>8&15;a[(c[k>>2]|0)+7>>0]=e[35830]|0;a[(c[k>>2]|0)+8>>0]=(c[17763]|0)>>>24;a[(c[k>>2]|0)+9>>0]=(c[17763]|0)>>>16;a[(c[k>>2]|0)+10>>0]=(c[17763]|0)>>>8;a[(c[k>>2]|0)+11>>0]=c[17763];a[(c[k>>2]|0)+12>>0]=(c[17764]|0)>>>24;a[(c[k>>2]|0)+13>>0]=(c[17764]|0)>>>16;a[(c[k>>2]|0)+14>>0]=(c[17764]|0)>>>8;a[(c[k>>2]|0)+15>>0]=c[17764];k=(c[17764]|0)+1|0;c[17764]=k;if(k){i=h;return}c[17763]=(c[17763]|0)+1;i=h;return}function xt(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;k=i;i=i+80|0;l=k+60|0;m=k+56|0;n=k+52|0;o=k+48|0;p=k+44|0;q=k+40|0;r=k+36|0;s=k+32|0;t=k+65|0;u=k+8|0;v=k+28|0;w=k+24|0;x=k+20|0;y=k+64|0;z=k;A=k+16|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;yt(c[o>>2]|0,c[p>>2]|0,c[m>>2]|0,16);zt(c[q>>2]|0,c[p>>2]|0,c[n>>2]|0,16);yt(c[o>>2]|0,c[l>>2]|0,c[q>>2]|0,16);zt(c[q>>2]|0,c[l>>2]|0,c[p>>2]|0,16);yt(c[o>>2]|0,c[n>>2]|0,c[q>>2]|0,16);c[r>>2]=c[p>>2];c[s>>2]=16;a[t>>0]=0;p=u;c[p>>2]=d[t>>0];c[p+4>>2]=0;while(1){if(!((c[r>>2]&7|0)!=0?(c[s>>2]|0)!=0:0))break;a[c[r>>2]>>0]=a[t>>0]|0;c[r>>2]=(c[r>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+-1}if((c[s>>2]|0)>>>0>=8){p=u;n=Mx(c[p>>2]|0,c[p+4>>2]|0,16843009,16843009)|0;p=u;c[p>>2]=n;c[p+4>>2]=C;do{c[v>>2]=c[r>>2];p=u;n=c[p+4>>2]|0;o=c[v>>2]|0;c[o>>2]=c[p>>2];c[o+4>>2]=n;c[s>>2]=(c[s>>2]|0)-8;c[r>>2]=(c[r>>2]|0)+8}while((c[s>>2]|0)>>>0>=8)}while(1){if(!(c[s>>2]|0))break;a[c[r>>2]>>0]=a[t>>0]|0;c[r>>2]=(c[r>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+-1}c[w>>2]=c[q>>2];c[x>>2]=16;a[y>>0]=0;q=z;c[q>>2]=d[y>>0];c[q+4>>2]=0;while(1){if(!((c[w>>2]&7|0)!=0?(c[x>>2]|0)!=0:0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}if((c[x>>2]|0)>>>0>=8){q=z;s=Mx(c[q>>2]|0,c[q+4>>2]|0,16843009,16843009)|0;q=z;c[q>>2]=s;c[q+4>>2]=C;do{c[A>>2]=c[w>>2];q=z;s=c[q+4>>2]|0;r=c[A>>2]|0;c[r>>2]=c[q>>2];c[r+4>>2]=s;c[x>>2]=(c[x>>2]|0)-8;c[w>>2]=(c[w>>2]|0)+8}while((c[x>>2]|0)>>>0>=8)}while(1){if(!(c[x>>2]|0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}i=k;return}function yt(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;h=f+20|0;j=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if((c[l>>2]|0)!=16)xf(51839,51398,386,52029);c[m>>2]=gi(c[h>>2]|0,c[j>>2]|0,c[l>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if(c[m>>2]|0){c[g>>2]=qt(c[m>>2]|0)|0;Bf(52041,g)}else{i=f;return}}function zt(b,e,f,g){b=b|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[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;while(1){if(!(c[m>>2]|0))break;a[c[j>>2]>>0]=(d[c[k>>2]>>0]|0)^(d[c[l>>2]>>0]|0);c[m>>2]=(c[m>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}i=h;return}function At(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;et(1);gt();ot(c[e>>2]|0,c[f>>2]|0,c[17756]|0);jt();i=d;return}function Bt(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;Pn(b+8|0,8,1);c[e>>2]=Ct(c[d>>2]|0)|0;d=Dt(c[e>>2]|0)|0;i=b;return d|0}function Ct(b){b=b|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;e=i;i=i+48|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;m=e+24|0;c[f>>2]=b;c[l>>2]=0;if(!(c[17755]|0))xf(51960,51398,912,52144);c[j>>2]=gg(1,68)|0;ht(c[j>>2]|0);gt();c[g>>2]=0;a:while(1){if((c[g>>2]|0)>>>0>=3)break;c[k>>2]=ai((c[j>>2]|0)+4|0,7,1,1)|0;if(c[k>>2]|0){n=6;break}c[k>>2]=ni(c[(c[j>>2]|0)+4>>2]|0,52195+((c[g>>2]|0)*96|0)|0,16)|0;if(c[k>>2]|0){n=8;break}b=Dw()|0;c[(c[j>>2]|0)+60>>2]=b;b=(c[j>>2]|0)+17|0;o=52195+((c[g>>2]|0)*96|0)+32|0;p=b+16|0;do{a[b>>0]=a[o>>0]|0;b=b+1|0;o=o+1|0}while((b|0)<(p|0));o=(c[j>>2]|0)+8|0;a[o>>0]=a[o>>0]&-2|1;o=Dw()|0;c[(c[j>>2]|0)+64>>2]=o;c[(c[j>>2]|0)+52>>2]=52195+((c[g>>2]|0)*96|0)+16;c[(c[j>>2]|0)+56>>2]=(d[52195+((c[g>>2]|0)*96|0)+16+12>>0]|0)<<24|(d[52195+((c[g>>2]|0)*96|0)+16+13>>0]|0)<<16|(d[52195+((c[g>>2]|0)*96|0)+16+14>>0]|0)<<8|(d[52195+((c[g>>2]|0)*96|0)+16+15>>0]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=3)break;if(vt(m,16,c[j>>2]|0)|0){n=12;break a}if(mw(m,52195+((c[g>>2]|0)*96|0)+48+(c[h>>2]<<4)|0,16)|0){n=14;break a}c[h>>2]=(c[h>>2]|0)+1}o=c[(c[j>>2]|0)+60>>2]|0;if((o|0)!=(Dw()|0)){n=18;break}o=c[(c[j>>2]|0)+64>>2]|0;if((o|0)!=(Dw()|0)){n=18;break}fi(c[(c[j>>2]|0)+4>>2]|0);c[(c[j>>2]|0)+4>>2]=0;o=(c[j>>2]|0)+8|0;a[o>>0]=a[o>>0]&-2;it(c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+1}if((n|0)==6)c[l>>2]=52157;else if((n|0)==8)c[l>>2]=52483;else if((n|0)==12)c[l>>2]=52509;else if((n|0)==14)c[l>>2]=52540;else if((n|0)==18)c[l>>2]=52578;jt();fi(c[(c[j>>2]|0)+4>>2]|0);it(c[j>>2]|0);$f(c[j>>2]|0);if(!((c[f>>2]|0)!=0&(c[l>>2]|0)!=0)){q=c[l>>2]|0;r=(q|0)!=0;s=r?50:0;i=e;return s|0}Fb[c[f>>2]&1](52600,0,52607,c[l>>2]|0);q=c[l>>2]|0;r=(q|0)!=0;s=r?50:0;i=e;return s|0}function Dt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Et(1,c[d>>2]|0)|0;i=b;return a|0}function Et(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+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function Ft(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|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;m=i;i=i+48|0;n=m+40|0;o=m+36|0;p=m+32|0;q=m+28|0;r=m+24|0;s=m+20|0;t=m+16|0;u=m+12|0;v=m+8|0;w=m+4|0;x=m;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;c[v>>2]=l;et(1);if((((((c[o>>2]|0)!=0&(c[q>>2]|0)!=0^1|(c[r>>2]|0)!=16)^1)&(c[s>>2]|0)!=0^1|(c[t>>2]|0)!=16)^1)&(c[u>>2]|0)!=0^1|(c[v>>2]|0)!=16){c[n>>2]=45;y=c[n>>2]|0;i=m;return y|0}c[x>>2]=ag(1,68+(c[v>>2]|0)|0)|0;if(!(c[x>>2]|0)){c[n>>2]=iu()|0;y=c[n>>2]|0;i=m;return y|0}ht(c[x>>2]|0);c[w>>2]=ai((c[x>>2]|0)+4|0,7,1,1)|0;if((c[w>>2]|0)==0?(c[w>>2]=ni(c[(c[x>>2]|0)+4>>2]|0,c[q>>2]|0,c[r>>2]|0)|0,(c[w>>2]|0)==0):0){r=Dw()|0;c[(c[x>>2]|0)+60>>2]=r;Dx((c[x>>2]|0)+17|0,c[s>>2]|0,c[t>>2]|0)|0;t=(c[x>>2]|0)+8|0;a[t>>0]=a[t>>0]&-2|1;t=Dw()|0;c[(c[x>>2]|0)+64>>2]=t;Dx((c[x>>2]|0)+68|0,c[u>>2]|0,c[v>>2]|0)|0;c[(c[x>>2]|0)+52>>2]=(c[x>>2]|0)+68;c[(c[x>>2]|0)+56>>2]=(d[(c[(c[x>>2]|0)+52>>2]|0)+12>>0]|0)<<24|(d[(c[(c[x>>2]|0)+52>>2]|0)+13>>0]|0)<<16|(d[(c[(c[x>>2]|0)+52>>2]|0)+14>>0]|0)<<8|(d[(c[(c[x>>2]|0)+52>>2]|0)+15>>0]|0);if(c[p>>2]&1)a[(c[x>>2]|0)+51>>0]=1;it(c[x>>2]|0);c[w>>2]=0}p=c[x>>2]|0;if(c[w>>2]|0){fi(c[p+4>>2]|0);$f(c[x>>2]|0);c[c[o>>2]>>2]=0}else c[c[o>>2]>>2]=p;c[n>>2]=c[w>>2];y=c[n>>2]|0;i=m;return y|0}function Gt(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+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=c[g>>2];if((c[k>>2]|0)!=0&(c[h>>2]|0)!=0^1|(c[j>>2]|0)!=16){c[f>>2]=45;l=c[f>>2]|0;i=e;return l|0}else{gt();ot(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);jt();c[f>>2]=0;l=c[f>>2]|0;i=e;return l|0}return 0}function Ht(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];if(!(c[e>>2]|0)){i=b;return}fi(c[(c[e>>2]|0)+4>>2]|0);$f(c[e>>2]|0);i=b;return}function It(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;Jt();i=b;return}function Jt(){if(c[17766]|0)return;c[17766]=1;c[17767]=0;return}function Kt(){Lt();Tt(0,0,0,0)|0;Mt();return}function Lt(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;c[d>>2]=lu(13048)|0;if(c[d>>2]|0){c[b>>2]=fu(c[d>>2]|0)|0;Bf(52611,b)}else{c[17767]=1;i=a;return}}function Mt(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;c[17767]=0;c[d>>2]=mu(13048)|0;if(c[d>>2]|0){c[b>>2]=fu(c[d>>2]|0)|0;Bf(52654,b)}else{i=a;return}}function Nt(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;It(1);if((c[h>>2]|0)!=2)c[h>>2]=1;Lt();Ot(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);Mt();i=e;return}function Ot(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+32|0;f=e;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(!(c[g>>2]|0))xf(52697,52704,144,52720);c[17768]=c[g>>2];c[17769]=c[h>>2];c[17770]=0;c[k>>2]=Tt(5,0,c[h>>2]|0,c[j>>2]|0)|0;if((c[k>>2]|0)<0){l=c[k>>2]|0;c[f>>2]=l;Bf(52775,f)}if((c[17770]|0)!=(c[17769]|0)){l=c[k>>2]|0;c[f>>2]=l;Bf(52775,f)}else{i=e;return}}function Pt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f;c[g>>2]=b;c[h>>2]=d;c[f+4>>2]=e;c[j>>2]=c[g>>2];if(!(c[17767]|0))xf(52731,52704,124,52752);if(!(c[17768]|0))xf(52760,52704,125,52752);while(1){g=c[h>>2]|0;c[h>>2]=g+-1;if(!g){k=8;break}if((c[17770]|0)>>>0>=(c[17769]|0)>>>0){k=8;break}g=c[j>>2]|0;c[j>>2]=g+1;e=a[g>>0]|0;g=c[17770]|0;c[17770]=g+1;a[(c[17768]|0)+g>>0]=e}if((k|0)==8){i=f;return}}function Qt(){return c[17771]|0}function Rt(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function St(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[d+8>>2]=a;c[d+4>>2]=b;c[e>>2]=0;i=d;return c[e>>2]|0}function Tt(b,e,f,g){b=b|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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;h=i;i=i+1024|0;j=h+24|0;k=h+16|0;l=h+8|0;m=h+236|0;n=h+232|0;o=h+228|0;p=h+224|0;q=h+220|0;r=h+216|0;s=h+212|0;t=h+248|0;u=h+208|0;v=h+204|0;w=h+200|0;x=h+196|0;y=h+192|0;z=h+64|0;A=h+56|0;B=h+52|0;D=h+48|0;E=h+44|0;F=h+40|0;G=h+36|0;H=h+32|0;I=h+240|0;J=h;K=h+28|0;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[v>>2]=c[p>>2];c[w>>2]=0;c[x>>2]=0;if(!(c[n>>2]|0)){if((c[3273]|0)!=-1){lw(c[3273]|0)|0;c[3273]=-1}if((c[3274]|0)!=-1){lw(c[3274]|0)|0;c[3274]=-1}c[m>>2]=0;L=c[m>>2]|0;i=h;return L|0}c[u>>2]=St(c[n>>2]|0,c[o>>2]|0)|0;if((c[u>>2]|0)>>>0>(((c[p>>2]|0)>>>0)/2|0)>>>0)c[u>>2]=((c[p>>2]|0)>>>0)/2|0;if((c[p>>2]|0)>>>0>1)c[p>>2]=(c[p>>2]|0)-(c[u>>2]|0);if((c[q>>2]|0)>=2){if((c[3273]|0)==-1){c[3273]=Ut(52821,(d[76526]|0)&1)|0;a[76526]=d[76526]|0|1}c[r>>2]=c[3273]}else{if((c[3274]|0)==-1){c[3274]=Ut(52923,(d[76526]|0)&2)|0;a[76526]=d[76526]|0|2}c[r>>2]=c[3274]}c[y>>2]=0;while(1){if(!(c[p>>2]|0))break;if(!((c[x>>2]|0)==0?(c[w>>2]|0)==((c[v>>2]|0)-(c[p>>2]|0)|0):0)){c[w>>2]=(c[v>>2]|0)-(c[p>>2]|0);Bn(52936,88,c[w>>2]|0,c[v>>2]|0);c[x>>2]=1}if((c[r>>2]|0)<1024){c[E>>2]=z;c[D>>2]=32;while(1){if(!(c[D>>2]|0))break;q=c[E>>2]|0;c[E>>2]=q+4;c[q>>2]=0;c[D>>2]=(c[D>>2]|0)+-1}q=z+((((c[r>>2]|0)>>>0)/32|0)<<2)|0;c[q>>2]=c[q>>2]|1<<(((c[r>>2]|0)>>>0)%32|0);c[A>>2]=c[y>>2];c[A+4>>2]=(c[y>>2]|0)!=0?0:1e5;q=Jw((c[r>>2]|0)+1|0,z,0,0,A)|0;c[B>>2]=q;if(!q){c[x>>2]=1;c[y>>2]=3;continue}if((c[B>>2]|0)==-1){c[l>>2]=ov(c[(Yu()|0)>>2]|0)|0;Af(52949,l);if(c[y>>2]|0)continue;c[y>>2]=1;continue}}do{c[F>>2]=(c[p>>2]|0)>>>0<768?c[p>>2]|0:768;c[s>>2]=Lw(c[r>>2]|0,t,c[F>>2]|0)|0;if((c[s>>2]|0)>=0?(c[s>>2]|0)>>>0>(c[F>>2]|0)>>>0:0){c[k>>2]=c[s>>2];Af(52969,k);c[s>>2]=c[F>>2]}if((c[s>>2]|0)!=-1)break}while((c[(Yu()|0)>>2]|0)==4);if((c[s>>2]|0)==-1){M=38;break}Ab[c[n>>2]&7](t,c[s>>2]|0,c[o>>2]|0);c[p>>2]=(c[p>>2]|0)-(c[s>>2]|0)}if((M|0)==38){c[j>>2]=ov(c[(Yu()|0)>>2]|0)|0;Bf(53007,j)}c[G>>2]=t;c[H>>2]=768;a[I>>0]=0;t=J;c[t>>2]=d[I>>0];c[t+4>>2]=0;while(1){if(!((c[G>>2]&7|0)!=0?(c[H>>2]|0)!=0:0))break;a[c[G>>2]>>0]=a[I>>0]|0;c[G>>2]=(c[G>>2]|0)+1;c[H>>2]=(c[H>>2]|0)+-1}if((c[H>>2]|0)>>>0>=8){t=J;j=Mx(c[t>>2]|0,c[t+4>>2]|0,16843009,16843009)|0;t=J;c[t>>2]=j;c[t+4>>2]=C;do{c[K>>2]=c[G>>2];t=J;j=c[t+4>>2]|0;M=c[K>>2]|0;c[M>>2]=c[t>>2];c[M+4>>2]=j;c[H>>2]=(c[H>>2]|0)-8;c[G>>2]=(c[G>>2]|0)+8}while((c[H>>2]|0)>>>0>=8)}while(1){if(!(c[H>>2]|0))break;a[c[G>>2]>>0]=a[I>>0]|0;c[G>>2]=(c[G>>2]|0)+1;c[H>>2]=(c[H>>2]|0)+-1}if(c[x>>2]|0)Bn(52936,88,c[v>>2]|0,c[v>>2]|0);c[m>>2]=0;L=c[m>>2]|0;i=h;return L|0}function Ut(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+48|0;e=d+16|0;f=d+8|0;g=d;h=d+40|0;j=d+36|0;k=d+32|0;l=d+24|0;c[h>>2]=a;c[j>>2]=b;if(c[j>>2]|0)Bn(52833,88,1,0);while(1){c[k>>2]=Mw(c[h>>2]|0,0,g)|0;if(!((c[k>>2]|0)==-1&(c[j>>2]|0)!=0))break;c[l>>2]=5;c[l+4>>2]=0;Bn(52849,88,0,c[l>>2]|0);Jw(0,0,0,0,l)|0}if((c[k>>2]|0)==-1){l=c[h>>2]|0;h=ov(c[(Yu()|0)>>2]|0)|0;c[f>>2]=l;c[f+4>>2]=h;Bf(52865,f)}if(!(Vt(c[k>>2]|0)|0)){m=c[k>>2]|0;i=d;return m|0}f=c[k>>2]|0;h=ov(c[(Yu()|0)>>2]|0)|0;c[e>>2]=f;c[e+4>>2]=h;Af(52884,e);m=c[k>>2]|0;i=d;return m|0}function Vt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+32|0;d=b+8|0;e=b;f=b+20|0;g=b+16|0;h=b+12|0;c[g>>2]=a;a=c[g>>2]|0;c[e>>2]=0;c[h>>2]=kw(a,1,e)|0;e=c[h>>2]|0;if((c[h>>2]|0)<0){c[f>>2]=e;j=c[f>>2]|0;i=b;return j|0}else{c[h>>2]=e|1;e=c[g>>2]|0;c[d>>2]=c[h>>2];c[f>>2]=kw(e,2,d)|0;j=c[f>>2]|0;i=b;return j|0}return 0}function Wt(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+80|0;g=f+72|0;h=f+68|0;j=f+64|0;k=f+60|0;l=f+56|0;m=f+52|0;n=f+48|0;o=f+44|0;p=f+40|0;q=f+36|0;r=f+32|0;s=f+28|0;t=f+24|0;u=f+20|0;v=f+16|0;w=f+12|0;x=f+8|0;y=f+4|0;z=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=0-(c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+(0-(c[m>>2]|0)<<2);c[h>>2]=(c[h>>2]|0)+(0-(c[m>>2]|0)<<2);c[l>>2]=0;do{c[y>>2]=c[(c[h>>2]|0)+(c[m>>2]<<2)>>2];c[z>>2]=c[k>>2];c[u>>2]=c[y>>2]&65535;c[w>>2]=(c[y>>2]|0)>>>16;c[v>>2]=c[z>>2]&65535;c[x>>2]=(c[z>>2]|0)>>>16;c[q>>2]=_(c[u>>2]|0,c[v>>2]|0)|0;c[r>>2]=_(c[u>>2]|0,c[x>>2]|0)|0;c[s>>2]=_(c[w>>2]|0,c[v>>2]|0)|0;c[t>>2]=_(c[w>>2]|0,c[x>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+((c[q>>2]|0)>>>16);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);if((c[r>>2]|0)>>>0<(c[s>>2]|0)>>>0)c[t>>2]=(c[t>>2]|0)+65536;c[n>>2]=(c[t>>2]|0)+((c[r>>2]|0)>>>16);c[o>>2]=((c[r>>2]&65535)<<16)+(c[q>>2]&65535);c[o>>2]=(c[o>>2]|0)+(c[l>>2]|0);c[l>>2]=((c[o>>2]|0)>>>0<(c[l>>2]|0)>>>0?1:0)+(c[n>>2]|0);c[p>>2]=c[(c[g>>2]|0)+(c[m>>2]<<2)>>2];c[o>>2]=(c[p>>2]|0)+(c[o>>2]|0);c[l>>2]=(c[l>>2]|0)+((c[o>>2]|0)>>>0<(c[p>>2]|0)>>>0?1:0);c[(c[g>>2]|0)+(c[m>>2]<<2)>>2]=c[o>>2];j=(c[m>>2]|0)+1|0;c[m>>2]=j}while((j|0)!=0);i=f;return c[l>>2]|0}function Xt(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+16|0;g=e+8|0;h=e;j=e+44|0;k=e+40|0;l=e+36|0;m=e+32|0;n=e+28|0;o=e+24|0;p=e+20|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=bq(c[(c[j>>2]|0)+4>>2]|0)|0;c[m>>2]=Ro(c[j>>2]|0)|0;c[n>>2]=(((c[m>>2]|0)+7|0)>>>0)/8|0;c[o>>2]=0;if(jg(1)|0){d=c[k>>2]|0;c[h>>2]=c[m>>2];c[h+4>>2]=d;Df(53040,h)}while(1){if((c[o>>2]|0)==0|(c[m>>2]|0)>>>0<32){$f(c[o>>2]|0);c[o>>2]=On(c[n>>2]|0,c[k>>2]|0)|0}else{c[p>>2]=On(4,c[k>>2]|0)|0;h=c[o>>2]|0;d=c[p>>2]|0;a[h>>0]=a[d>>0]|0;a[h+1>>0]=a[d+1>>0]|0;a[h+2>>0]=a[d+2>>0]|0;a[h+3>>0]=a[d+3>>0]|0;$f(c[p>>2]|0)}Cp(c[l>>2]|0,c[o>>2]|0,c[n>>2]|0,0);d=(So(c[l>>2]|0,(c[m>>2]|0)-1|0)|0)!=0;Uo(c[l>>2]|0,(c[m>>2]|0)-1|0);if(!d)Wo(c[l>>2]|0,(c[m>>2]|0)-1|0);if((ap(c[l>>2]|0,c[j>>2]|0)|0)>=0){if(!(jg(1)|0))continue;Df(53087,g);continue}if(($o(c[l>>2]|0,0)|0)>0)break;if(!(jg(1)|0))continue;Df(53109,f)}$f(c[o>>2]|0);i=e;return c[l>>2]|0}function Yt(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;k=i;i=i+80|0;l=k+72|0;m=k+68|0;n=k+64|0;o=k+60|0;p=k+56|0;q=k+52|0;r=k+48|0;s=k+44|0;t=k+40|0;u=k+36|0;v=k+32|0;w=k+28|0;x=k+24|0;y=k+20|0;z=k+16|0;A=k+12|0;B=k+8|0;C=k+4|0;D=k;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[u>>2]=0;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;c[A>>2]=0;c[C>>2]=Ro(c[n>>2]|0)|0;if(!((c[C>>2]|0)!=0&(c[p>>2]|0)!=0&(c[q>>2]|0)!=0)){c[l>>2]=32816;E=c[l>>2]|0;i=k;return E|0}j=Uj(c[r>>2]|0)|0;if((j|0)!=(c[q>>2]|0)){c[l>>2]=5;E=c[l>>2]|0;i=k;return E|0}c[u>>2]=Vf(c[q>>2]|0)|0;a:do if(c[u>>2]|0){c[D>>2]=0;while(1){if((c[D>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;a[(c[u>>2]|0)+(c[D>>2]|0)>>0]=1;c[D>>2]=(c[D>>2]|0)+1}c[v>>2]=ag(1,c[q>>2]|0)|0;if(!(c[v>>2]|0)){c[t>>2]=iu()|0;break}c[t>>2]=Zt(w,c[o>>2]|0,(((c[C>>2]|0)+7|0)>>>0)/8|0)|0;if(((((((c[t>>2]|0)==0?(c[t>>2]=_t(x,c[p>>2]|0,c[q>>2]<<3,c[n>>2]|0,c[C>>2]|0)|0,(c[t>>2]|0)==0):0)?(c[t>>2]=wj(y,c[r>>2]|0,3)|0,(c[t>>2]|0)==0):0)?(c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0,(c[t>>2]|0)==0):0)?(Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0),Fj(c[y>>2]|0,76527,1),Fj(c[y>>2]|0,c[w>>2]|0,(((c[C>>2]|0)+7|0)>>>0)/8|0),Fj(c[y>>2]|0,c[x>>2]|0,(((c[C>>2]|0)+7|0)>>>0)/8|0),j=c[v>>2]|0,h=Rj(c[y>>2]|0,0)|0,Dx(j|0,h|0,c[q>>2]|0)|0,c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0,(c[t>>2]|0)==0):0)?(Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0),h=c[u>>2]|0,j=Rj(c[y>>2]|0,0)|0,Dx(h|0,j|0,c[q>>2]|0)|0,c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0,(c[t>>2]|0)==0):0)?(Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0),Fj(c[y>>2]|0,53129,1),Fj(c[y>>2]|0,c[w>>2]|0,(((c[C>>2]|0)+7|0)>>>0)/8|0),Fj(c[y>>2]|0,c[x>>2]|0,(((c[C>>2]|0)+7|0)>>>0)/8|0),j=c[v>>2]|0,h=Rj(c[y>>2]|0,0)|0,Dx(j|0,h|0,c[q>>2]|0)|0,c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0,(c[t>>2]|0)==0):0){Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0);h=c[u>>2]|0;j=Rj(c[y>>2]|0,0)|0;Dx(h|0,j|0,c[q>>2]|0)|0;c[z>>2]=Vf(((((c[C>>2]|0)+7|0)>>>0)/8|0)+(c[q>>2]|0)|0)|0;if(!(c[z>>2]|0)){c[t>>2]=iu()|0;break}while(1){c[B>>2]=0;while(1){if((c[B>>2]|0)>>>0>=(c[C>>2]|0)>>>0)break;c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0;if(c[t>>2]|0)break a;Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0);j=c[u>>2]|0;h=Rj(c[y>>2]|0,0)|0;Dx(j|0,h|0,c[q>>2]|0)|0;Dx((c[z>>2]|0)+((((c[B>>2]|0)+7|0)>>>0)/8|0)|0,c[u>>2]|0,c[q>>2]|0)|0;c[B>>2]=(c[B>>2]|0)+(c[q>>2]<<3)}hq(c[A>>2]|0);c[A>>2]=0;c[t>>2]=Dp(A,5,c[z>>2]|0,(((c[B>>2]|0)+7|0)>>>0)/8|0,0)|0;if(c[t>>2]|0)break a;if((c[B>>2]|0)>>>0>(c[C>>2]|0)>>>0)Yo(c[A>>2]|0,c[A>>2]|0,(c[B>>2]|0)-(c[C>>2]|0)|0);if((ap(c[A>>2]|0,c[n>>2]|0)|0)<0?($o(c[A>>2]|0,0)|0)>0:0){if(!(c[s>>2]|0))break a;c[s>>2]=(c[s>>2]|0)+-1;c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0;if(c[t>>2]|0)break a;Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0);Fj(c[y>>2]|0,76527,1);h=c[v>>2]|0;j=Rj(c[y>>2]|0,0)|0;Dx(h|0,j|0,c[q>>2]|0)|0;c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0;if(c[t>>2]|0)break a;Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0);j=c[u>>2]|0;h=Rj(c[y>>2]|0,0)|0;Dx(j|0,h|0,c[q>>2]|0)|0;continue}c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0;if(c[t>>2]|0)break a;Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0);Fj(c[y>>2]|0,76527,1);h=c[v>>2]|0;j=Rj(c[y>>2]|0,0)|0;Dx(h|0,j|0,c[q>>2]|0)|0;c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0;if(c[t>>2]|0)break a;Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0);j=c[u>>2]|0;h=Rj(c[y>>2]|0,0)|0;Dx(j|0,h|0,c[q>>2]|0)|0}}}else c[t>>2]=iu()|0;while(0);$f(c[z>>2]|0);Ej(c[y>>2]|0);$f(c[x>>2]|0);$f(c[w>>2]|0);$f(c[v>>2]|0);$f(c[u>>2]|0);u=c[A>>2]|0;if(c[t>>2]|0)hq(u);else c[c[m>>2]>>2]=u;c[l>>2]=c[t>>2];E=c[l>>2]|0;i=k;return E|0}function Zt(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;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+8|0;n=e+4|0;o=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=Hp(5,0,0,l,c[h>>2]|0)|0;if(c[k>>2]|0){c[f>>2]=c[k>>2];p=c[f>>2]|0;i=e;return p|0}if((c[l>>2]|0)>>>0>(c[j>>2]|0)>>>0){c[f>>2]=67;p=c[f>>2]|0;i=e;return p|0}if((c[l>>2]|0)>>>0<(c[j>>2]|0)>>>0)q=(c[j>>2]|0)-(c[l>>2]|0)|0;else q=0;c[m>>2]=q;c[n>>2]=(c[l>>2]|0)+(c[m>>2]|0);if((c[h>>2]|0)!=0?(c[(c[h>>2]|0)+12>>2]&1|0)!=0:0)r=Yf(c[n>>2]|0)|0;else r=Vf(c[n>>2]|0)|0;c[o>>2]=r;if(!(c[o>>2]|0)){c[f>>2]=iu()|0;p=c[f>>2]|0;i=e;return p|0}if(c[m>>2]|0)Fx(c[o>>2]|0,0,c[m>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[k>>2]=Hp(5,(c[o>>2]|0)+(c[m>>2]|0)|0,(c[l>>2]|0)-(c[m>>2]|0)|0,0,c[h>>2]|0)|0;h=c[o>>2]|0;if(c[k>>2]|0){$f(h);c[f>>2]=c[k>>2];p=c[f>>2]|0;i=e;return p|0}else{c[c[g>>2]>>2]=h;c[f>>2]=0;p=c[f>>2]|0;i=e;return p|0}return 0}function _t(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+32|0;h=g+28|0;j=g+24|0;k=g+20|0;l=g+16|0;m=g+12|0;n=g+8|0;o=g+4|0;p=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=Dp(p,5,c[k>>2]|0,(((c[l>>2]|0)+7|0)>>>0)/8|0,0)|0;if(c[o>>2]|0){c[h>>2]=c[o>>2];q=c[h>>2]|0;i=g;return q|0}if((c[l>>2]|0)>>>0>(c[n>>2]|0)>>>0)Yo(c[p>>2]|0,c[p>>2]|0,(c[l>>2]|0)-(c[n>>2]|0)|0);if((ap(c[p>>2]|0,c[m>>2]|0)|0)>=0)No(c[p>>2]|0,c[p>>2]|0,c[m>>2]|0);c[o>>2]=Zt(c[j>>2]|0,c[p>>2]|0,(((c[n>>2]|0)+7|0)>>>0)/8|0)|0;hq(c[p>>2]|0);c[h>>2]=c[o>>2];q=c[h>>2]|0;i=g;return q|0}function $t(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;e=i;i=i+32|0;f=e+28|0;g=e+24|0;h=e+20|0;j=e+16|0;k=e+12|0;l=e+8|0;m=e+4|0;n=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=0;do if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+12>>2]&4|0)!=0:0){c[l>>2]=kq(c[g>>2]|0,m)|0;c[k>>2]=Dp(n,5,c[l>>2]|0,(((c[m>>2]|0)+7|0)>>>0)/8|0,0)|0;if(c[k>>2]|0){c[f>>2]=c[k>>2];o=c[f>>2]|0;i=e;return o|0}else{if((c[m>>2]|0)>>>0<=(c[j>>2]|0)>>>0)break;Yo(c[n>>2]|0,c[n>>2]|0,(c[m>>2]|0)-(c[j>>2]|0)|0);break}}else p=7;while(0);if((p|0)==7)c[n>>2]=c[g>>2];c[c[h>>2]>>2]=c[n>>2];c[f>>2]=c[k>>2];o=c[f>>2]|0;i=e;return o|0}function au(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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;h=i;i=i+96|0;j=h;k=h+88|0;l=h+84|0;m=h+80|0;n=h+76|0;o=h+72|0;p=h+68|0;q=h+64|0;r=h+60|0;s=h+56|0;t=h+52|0;u=h+48|0;v=h+44|0;w=h+40|0;x=h+36|0;y=h+24|0;z=h+20|0;A=h+16|0;B=h+12|0;C=h+8|0;D=h+4|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=0;c[s>>2]=0;if(jg(1)|0)Hf(53131,c[l>>2]|0);c[C>>2]=Ro(c[(c[m>>2]|0)+32>>2]|0)|0;c[r>>2]=$t(c[l>>2]|0,z,c[C>>2]|0)|0;if(c[r>>2]|0){c[k>>2]=c[r>>2];E=c[k>>2]|0;i=h;return E|0}c[t>>2]=0;c[u>>2]=$p(0)|0;c[v>>2]=$p(0)|0;c[w>>2]=$p(0)|0;c[x>>2]=$p(0)|0;co(y);c[D>>2]=jo(c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0,0,c[(c[m>>2]|0)+8>>2]|0,c[(c[m>>2]|0)+12>>2]|0,c[(c[m>>2]|0)+16>>2]|0)|0;while(1){hq(c[t>>2]|0);c[t>>2]=0;if((c[p>>2]&2|0)!=0&(c[q>>2]|0)!=0){if(!(c[l>>2]|0)){F=9;break}if(!(c[(c[l>>2]|0)+12>>2]&4)){F=9;break}c[A>>2]=kq(c[l>>2]|0,B)|0;c[r>>2]=Yt(t,c[(c[m>>2]|0)+32>>2]|0,c[(c[m>>2]|0)+56>>2]|0,c[A>>2]|0,(((c[B>>2]|0)+7|0)>>>0)/8|0,c[q>>2]|0,c[s>>2]|0)|0;if(c[r>>2]|0)break;c[s>>2]=(c[s>>2]|0)+1}else c[t>>2]=Xt(c[(c[m>>2]|0)+32>>2]|0,1)|0;Go(y,c[t>>2]|0,(c[m>>2]|0)+20|0,c[D>>2]|0);if(Zn(c[x>>2]|0,0,y,c[D>>2]|0)|0){F=14;break}qp(c[n>>2]|0,c[x>>2]|0,c[(c[m>>2]|0)+32>>2]|0);if(($o(c[n>>2]|0,0)|0)!=0^1)continue;vp(c[u>>2]|0,c[(c[m>>2]|0)+56>>2]|0,c[n>>2]|0,c[(c[m>>2]|0)+32>>2]|0);Oo(c[v>>2]|0,c[z>>2]|0,c[u>>2]|0,c[(c[m>>2]|0)+32>>2]|0);pp(c[w>>2]|0,c[t>>2]|0,c[(c[m>>2]|0)+32>>2]|0)|0;vp(c[o>>2]|0,c[w>>2]|0,c[v>>2]|0,c[(c[m>>2]|0)+32>>2]|0);if(!(($o(c[o>>2]|0,0)|0)!=0^1)){F=19;break}}if((F|0)==9)c[r>>2]=70;else if((F|0)==14){if(jg(1)|0)Df(53208,j);c[r>>2]=8}else if((F|0)==19?(jg(1)|0)!=0:0){Hf(53149,c[n>>2]|0);Hf(53170,c[o>>2]|0)}no(c[D>>2]|0);fo(y);hq(c[x>>2]|0);hq(c[w>>2]|0);hq(c[v>>2]|0);hq(c[u>>2]|0);hq(c[t>>2]|0);if((c[z>>2]|0)!=(c[l>>2]|0))hq(c[z>>2]|0);c[k>>2]=c[r>>2];E=c[k>>2]|0;i=h;return E|0}function bu(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+112|0;g=f+8|0;h=f;j=f+96|0;k=f+92|0;l=f+88|0;m=f+84|0;n=f+80|0;o=f+76|0;p=f+72|0;q=f+68|0;r=f+64|0;s=f+60|0;t=f+56|0;u=f+44|0;v=f+32|0;w=f+20|0;x=f+16|0;y=f+12|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=0;if(($o(c[m>>2]|0,0)|0)>0?(ap(c[m>>2]|0,c[(c[l>>2]|0)+32>>2]|0)|0)<0:0){if(($o(c[n>>2]|0,0)|0)>0?(ap(c[n>>2]|0,c[(c[l>>2]|0)+32>>2]|0)|0)<0:0){c[y>>2]=Ro(c[(c[l>>2]|0)+32>>2]|0)|0;c[o>>2]=$t(c[k>>2]|0,p,c[y>>2]|0)|0;if(c[o>>2]|0){c[j>>2]=c[o>>2];z=c[j>>2]|0;i=f;return z|0}c[q>>2]=$p(0)|0;c[r>>2]=$p(0)|0;c[s>>2]=$p(0)|0;c[t>>2]=$p(0)|0;co(u);co(v);co(w);c[x>>2]=jo(c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+4>>2]|0,0,c[(c[l>>2]|0)+8>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[(c[l>>2]|0)+16>>2]|0)|0;pp(c[q>>2]|0,c[n>>2]|0,c[(c[l>>2]|0)+32>>2]|0)|0;vp(c[r>>2]|0,c[p>>2]|0,c[q>>2]|0,c[(c[l>>2]|0)+32>>2]|0);Go(v,c[r>>2]|0,(c[l>>2]|0)+20|0,c[x>>2]|0);vp(c[s>>2]|0,c[m>>2]|0,c[q>>2]|0,c[(c[l>>2]|0)+32>>2]|0);Go(w,c[s>>2]|0,(c[l>>2]|0)+44|0,c[x>>2]|0);Ao(u,v,w,c[x>>2]|0);do if($o(c[u+8>>2]|0,0)|0){if(Zn(c[t>>2]|0,0,u,c[x>>2]|0)|0){if(jg(1)|0)Df(53314,g);c[o>>2]=8;break}qp(c[t>>2]|0,c[t>>2]|0,c[(c[l>>2]|0)+32>>2]|0);if(ap(c[t>>2]|0,c[m>>2]|0)|0){if(jg(1)|0){Hf(53360,c[t>>2]|0);Hf(53367,c[m>>2]|0);Hf(53374,c[n>>2]|0)}c[o>>2]=8}}else{if(jg(1)|0)Df(53292,h);c[o>>2]=8}while(0);no(c[x>>2]|0);fo(w);fo(v);fo(u);hq(c[t>>2]|0);hq(c[s>>2]|0);hq(c[r>>2]|0);hq(c[q>>2]|0);if((c[p>>2]|0)!=(c[k>>2]|0))hq(c[p>>2]|0);c[j>>2]=c[o>>2];z=c[j>>2]|0;i=f;return z|0}c[j>>2]=8;z=c[j>>2]|0;i=f;return z|0}c[j>>2]=8;z=c[j>>2]|0;i=f;return z|0}function cu(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;f=i;i=i+96|0;g=f;h=f+80|0;j=f+76|0;k=f+72|0;l=f+68|0;m=f+64|0;n=f+60|0;o=f+56|0;p=f+52|0;q=f+48|0;r=f+44|0;s=f+40|0;t=f+36|0;u=f+24|0;v=f+20|0;w=f+16|0;x=f+12|0;y=f+8|0;z=f+4|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=0;if(jg(1)|0)Hf(53191,c[j>>2]|0);c[y>>2]=Ro(c[(c[k>>2]|0)+32>>2]|0)|0;do if((c[j>>2]|0)!=0?(c[(c[j>>2]|0)+12>>2]&4|0)!=0:0){c[w>>2]=kq(c[j>>2]|0,x)|0;c[n>>2]=Dp(v,5,c[w>>2]|0,(((c[x>>2]|0)+7|0)>>>0)/8|0,0)|0;if(c[n>>2]|0){c[h>>2]=c[n>>2];A=c[h>>2]|0;i=f;return A|0}else{if((c[x>>2]|0)>>>0<=(c[y>>2]|0)>>>0)break;Yo(c[v>>2]|0,c[v>>2]|0,(c[x>>2]|0)-(c[y>>2]|0)|0);break}}else B=9;while(0);if((B|0)==9)c[v>>2]=c[j>>2];c[o>>2]=0;c[p>>2]=$p(0)|0;c[q>>2]=$p(0)|0;c[r>>2]=$p(0)|0;c[t>>2]=$p(0)|0;c[s>>2]=$p(0)|0;co(u);c[z>>2]=jo(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,0,c[(c[k>>2]|0)+8>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;qp(c[t>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+32>>2]|0);if(!($o(c[t>>2]|0,0)|0))sq(c[t>>2]|0,1)|0;while(1){hq(c[o>>2]|0);c[o>>2]=Xt(c[(c[k>>2]|0)+32>>2]|0,1)|0;Go(u,c[o>>2]|0,(c[k>>2]|0)+20|0,c[z>>2]|0);if(Zn(c[s>>2]|0,0,u,c[z>>2]|0)|0){B=13;break}qp(c[l>>2]|0,c[s>>2]|0,c[(c[k>>2]|0)+32>>2]|0);if(($o(c[l>>2]|0,0)|0)!=0^1)continue;vp(c[p>>2]|0,c[(c[k>>2]|0)+56>>2]|0,c[l>>2]|0,c[(c[k>>2]|0)+32>>2]|0);vp(c[r>>2]|0,c[o>>2]|0,c[t>>2]|0,c[(c[k>>2]|0)+32>>2]|0);Oo(c[m>>2]|0,c[r>>2]|0,c[p>>2]|0,c[(c[k>>2]|0)+32>>2]|0);if(!(($o(c[m>>2]|0,0)|0)!=0^1)){B=18;break}}if((B|0)==13){if(jg(1)|0)Df(53208,g);c[n>>2]=8}else if((B|0)==18?(jg(1)|0)!=0:0){Hf(53252,c[l>>2]|0);Hf(53272,c[m>>2]|0)}no(c[z>>2]|0);fo(u);hq(c[s>>2]|0);hq(c[t>>2]|0);hq(c[r>>2]|0);hq(c[q>>2]|0);hq(c[p>>2]|0);hq(c[o>>2]|0);if((c[v>>2]|0)!=(c[j>>2]|0))hq(c[v>>2]|0);c[h>>2]=c[n>>2];A=c[h>>2]|0;i=f;return A|0}function du(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;f=i;i=i+128|0;g=f+24|0;h=f+16|0;j=f+8|0;k=f;l=f+116|0;m=f+112|0;n=f+108|0;o=f+104|0;p=f+100|0;q=f+96|0;r=f+92|0;s=f+88|0;t=f+84|0;u=f+80|0;v=f+76|0;w=f+72|0;x=f+68|0;y=f+56|0;z=f+44|0;A=f+32|0;B=f+28|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=0;if(($o(c[o>>2]|0,0)|0)>0?(ap(c[o>>2]|0,c[(c[n>>2]|0)+32>>2]|0)|0)<0:0){if(($o(c[p>>2]|0,0)|0)>0?(ap(c[p>>2]|0,c[(c[n>>2]|0)+32>>2]|0)|0)<0:0){c[s>>2]=$p(0)|0;c[r>>2]=$p(0)|0;c[t>>2]=$p(0)|0;c[u>>2]=$p(0)|0;c[v>>2]=$p(0)|0;c[w>>2]=$p(0)|0;c[x>>2]=$p(0)|0;co(y);co(z);co(A);c[B>>2]=jo(c[c[n>>2]>>2]|0,c[(c[n>>2]|0)+4>>2]|0,0,c[(c[n>>2]|0)+8>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;qp(c[r>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+32>>2]|0);if(!($o(c[r>>2]|0,0)|0))sq(c[r>>2]|0,1)|0;pp(c[v>>2]|0,c[r>>2]|0,c[(c[n>>2]|0)+32>>2]|0)|0;vp(c[t>>2]|0,c[p>>2]|0,c[v>>2]|0,c[(c[n>>2]|0)+32>>2]|0);vp(c[w>>2]|0,c[o>>2]|0,c[v>>2]|0,c[(c[n>>2]|0)+32>>2]|0);Po(c[u>>2]|0,c[x>>2]|0,c[w>>2]|0,c[(c[n>>2]|0)+32>>2]|0);Go(z,c[t>>2]|0,(c[n>>2]|0)+20|0,c[B>>2]|0);Go(A,c[u>>2]|0,(c[n>>2]|0)+44|0,c[B>>2]|0);Ao(y,z,A,c[B>>2]|0);do if($o(c[y+8>>2]|0,0)|0){if(Zn(c[s>>2]|0,0,y,c[B>>2]|0)|0){if(jg(1)|0)Df(53314,j);c[q>>2]=8;break}qp(c[s>>2]|0,c[s>>2]|0,c[(c[n>>2]|0)+32>>2]|0);m=(ap(c[s>>2]|0,c[o>>2]|0)|0)!=0;e=(jg(1)|0)!=0;if(!m){if(!e)break;Df(53407,g);break}if(e){Hf(53360,c[s>>2]|0);Hf(53367,c[o>>2]|0);Hf(53374,c[p>>2]|0);Df(53381,h)}c[q>>2]=8}else{if(jg(1)|0)Df(53292,k);c[q>>2]=8}while(0);no(c[B>>2]|0);fo(A);fo(z);fo(y);hq(c[x>>2]|0);hq(c[w>>2]|0);hq(c[v>>2]|0);hq(c[u>>2]|0);hq(c[t>>2]|0);hq(c[s>>2]|0);hq(c[r>>2]|0);c[l>>2]=c[q>>2];C=c[l>>2]|0;i=f;return C|0}c[l>>2]=8;C=c[l>>2]|0;i=f;return C|0}c[l>>2]=8;C=c[l>>2]|0;i=f;return C|0}function eu(){return tu()|0}function fu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Gu(c[d>>2]|0)|0;i=b;return a|0}function gu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ku(c[d>>2]|0)|0;i=b;return a|0}function hu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ju(c[d>>2]|0)|0;i=b;return a|0}function iu(){return Lu()|0}function ju(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;vu(c[d>>2]|0);i=b;return}function ku(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ou(c[d>>2]|0)|0;i=b;return a|0}function lu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=qu(c[d>>2]|0)|0;i=b;return a|0}function mu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ru(c[d>>2]|0)|0;i=b;return a|0}function nu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=su(c[d>>2]|0)|0;i=b;return a|0}function ou(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[d>>2];if(c[c[e>>2]>>2]|0)c[e>>2]=pu(c[d>>2]|0)|0;else c[c[e>>2]>>2]=1;c[f>>2]=qa((c[e>>2]|0)+4|0,0)|0;if(!(c[f>>2]|0)){g=c[f>>2]|0;i=b;return g|0}c[f>>2]=gu(c[f>>2]|0)|0;g=c[f>>2]|0;i=b;return g|0}function pu(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];if((c[c[e>>2]>>2]|0)!=1)ya(53429,53449,114,53462);else{i=b;return c[e>>2]|0}return 0}function qu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=pu(c[d>>2]|0)|0;c[f>>2]=kb((c[e>>2]|0)+4|0)|0;if(!(c[f>>2]|0)){g=c[f>>2]|0;i=b;return g|0}c[f>>2]=gu(c[f>>2]|0)|0;g=c[f>>2]|0;i=b;return g|0}function ru(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=pu(c[d>>2]|0)|0;c[f>>2]=Va((c[e>>2]|0)+4|0)|0;if(!(c[f>>2]|0)){g=c[f>>2]|0;i=b;return g|0}c[f>>2]=gu(c[f>>2]|0)|0;g=c[f>>2]|0;i=b;return g|0}function su(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+64|0;d=b+52|0;e=b+48|0;f=b+44|0;g=b;c[d>>2]=a;c[e>>2]=pu(c[d>>2]|0)|0;c[f>>2]=Sa((c[e>>2]|0)+4|0)|0;if(c[f>>2]|0){c[f>>2]=gu(c[f>>2]|0)|0;h=c[f>>2]|0;i=b;return h|0}else{e=g;a=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(a|0));c[g>>2]=1;e=c[d>>2]|0;d=g;a=e+44|0;do{c[e>>2]=c[d>>2];e=e+4|0;d=d+4|0}while((e|0)<(a|0));h=c[f>>2]|0;i=b;return h|0}return 0}function tu(){uu();return 0}function uu(){wu()|0;return}function vu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=c[d>>2]|0;c[(Yu()|0)>>2]=a;i=b;return}function wu(){if(c[17772]|0)return 0;c[17772]=1;nb(3)|0;return 0}function xu(){yu(0)|0;c[17774]=0;c[17775]=0;return}function yu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;if(c[d>>2]|0){zu(c[d>>2]|0);c[e>>2]=Au(c[d>>2]|0)|0;Du(c[d>>2]|0);g=c[e>>2]|0;h=(g|0)!=0;j=h?-1:0;i=b;return j|0}c[e>>2]=0;Eu();c[f>>2]=c[17773];while(1){if(!(c[f>>2]|0))break;if(c[(c[f>>2]|0)+4>>2]|0){zu(c[(c[f>>2]|0)+4>>2]|0);d=Au(c[(c[f>>2]|0)+4>>2]|0)|0;c[e>>2]=c[e>>2]|d;Du(c[(c[f>>2]|0)+4>>2]|0)}c[f>>2]=c[c[f>>2]>>2]}Fu();g=c[e>>2]|0;h=(g|0)!=0;j=h?-1:0;i=b;return j|0}function zu(a){a=a|0;var b=0,e=0;b=i;i=i+16|0;e=b;c[e>>2]=a;if((d[(c[(c[e>>2]|0)+36>>2]|0)+1140>>0]|0)>>>5&1){i=b;return}qu((c[(c[e>>2]|0)+36>>2]|0)+1040|0)|0;i=b;return}function Au(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;a=c[d>>2]|0;if((c[c[d>>2]>>2]|0)>>>16&1){c[e>>2]=Bu(a)|0;f=c[e>>2]|0;i=b;return f|0}else{Cu(a);c[e>>2]=0;f=c[e>>2]|0;i=b;return f|0}return 0}function Bu(b){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+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[e>>2]=b;c[f>>2]=c[(c[(c[e>>2]|0)+36>>2]|0)+1108>>2];if(!((c[c[e>>2]>>2]|0)>>>16&1))ya(53478,53500,1654,53510);do if(c[(c[e>>2]|0)+16>>2]|0){if(!(c[f>>2]|0)){c[g>>2]=95;break}c[j>>2]=0;c[g>>2]=0;do{if(((c[(c[e>>2]|0)+16>>2]|0)-(c[j>>2]|0)|0)<=0)break;if(!((c[g>>2]|0)!=0^1))break;c[k>>2]=vb[c[f>>2]&63](c[(c[(c[e>>2]|0)+36>>2]|0)+1084>>2]|0,(c[(c[e>>2]|0)+4>>2]|0)+(c[j>>2]|0)|0,(c[(c[e>>2]|0)+16>>2]|0)-(c[j>>2]|0)|0)|0;if((c[k>>2]|0)==-1){c[h>>2]=0;c[g>>2]=-1}else c[h>>2]=c[k>>2];c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0)}while((c[g>>2]|0)==0);b=(c[e>>2]|0)+20|0;c[b>>2]=(c[b>>2]|0)+(c[j>>2]|0);if((c[(c[e>>2]|0)+16>>2]|0)==(c[j>>2]|0)){b=(c[(c[e>>2]|0)+36>>2]|0)+1100|0;c[b>>2]=(c[b>>2]|0)+(c[(c[e>>2]|0)+16>>2]|0);c[(c[e>>2]|0)+16>>2]=0;c[(c[e>>2]|0)+20>>2]=0;vb[c[f>>2]&63](c[(c[(c[e>>2]|0)+36>>2]|0)+1084>>2]|0,0,0)|0}}else c[g>>2]=0;while(0);if(!(c[g>>2]|0)){l=c[g>>2]|0;i=d;return l|0}f=(c[(c[e>>2]|0)+36>>2]|0)+1136|0;a[f>>0]=a[f>>0]&-2|1;l=c[g>>2]|0;i=d;return l|0}function Cu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if((c[c[d>>2]>>2]|0)>>>16&1)ya(53519,53500,1722,53542);else{c[(c[d>>2]|0)+12>>2]=0;c[(c[d>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+32>>2]=0;i=b;return}}function Du(a){a=a|0;var b=0,e=0;b=i;i=i+16|0;e=b;c[e>>2]=a;if((d[(c[(c[e>>2]|0)+36>>2]|0)+1140>>0]|0)>>>5&1){i=b;return}ru((c[(c[e>>2]|0)+36>>2]|0)+1040|0)|0;i=b;return}function Eu(){qu(13100)|0;return}function Fu(){ru(13100)|0;return}function Gu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[f>>2]=Hu(c[e>>2]|0)|0;do if(c[f>>2]&32768){c[g>>2]=hu(c[f>>2]|0)|0;if(!(c[g>>2]|0)){c[f>>2]=16382;break}c[d>>2]=ov(c[g>>2]|0)|0;h=c[d>>2]|0;i=b;return h|0}while(0);c[d>>2]=53551+(c[13144+((Iu(c[f>>2]|0)|0)<<2)>>2]|0);h=c[d>>2]|0;i=b;return h|0}function Hu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;i=b;return c[d>>2]&65535|0}function Iu(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=c[d>>2]|0;if((c[d>>2]|0)>=0&(c[d>>2]|0)<=213){e=a-0|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=222&(c[d>>2]|0)<=254){e=f-8|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=257&(c[d>>2]|0)<=271){e=a-10|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=273&(c[d>>2]|0)<=281){e=f-11|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=721&(c[d>>2]|0)<=729){e=a-450|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=750&(c[d>>2]|0)<=752){e=f-470|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=754&(c[d>>2]|0)<=782){e=a-471|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=784&(c[d>>2]|0)<=789){e=f-472|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=800&(c[d>>2]|0)<=804){e=a-482|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=815&(c[d>>2]|0)<=822){e=f-492|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=832&(c[d>>2]|0)<=839){e=a-501|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=844&(c[d>>2]|0)<=844){e=f-505|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=848&(c[d>>2]|0)<=848){e=a-508|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=881&(c[d>>2]|0)<=891){e=f-540|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=1024&(c[d>>2]|0)<=1039){e=a-672|0;i=b;return e|0}else{e=(a|0)>=16381&(c[d>>2]|0)<=16383?(c[d>>2]|0)-16013|0:371;i=b;return e|0}return 0}function Ju(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;do if(c[e>>2]&32768){c[e>>2]=c[e>>2]&-32769;if((c[e>>2]|0)>>>0<141){c[d>>2]=c[14632+(c[e>>2]<<2)>>2];break}else{c[d>>2]=0;break}}else c[d>>2]=0;while(0);i=b;return c[d>>2]|0}function Ku(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=b;return g|0}a=c[e>>2]|0;do if(!((c[e>>2]|0)>=1&(c[e>>2]|0)<=11)){h=c[e>>2]|0;if((a|0)>=11&(c[e>>2]|0)<=35){j=h-0|0;break}k=c[e>>2]|0;if((h|0)>=35&(c[e>>2]|0)<=40){j=k+1|0;break}h=c[e>>2]|0;if((k|0)>=42&(c[e>>2]|0)<=57){j=h-0|0;break}k=c[e>>2]|0;if((h|0)>=59&(c[e>>2]|0)<=95){j=k-1|0;break}else{j=(k|0)>=95&(c[e>>2]|0)<=125?(c[e>>2]|0)-0|0:-1;break}}else j=a-1|0;while(0);c[f>>2]=j;if((c[f>>2]|0)<0){c[d>>2]=16382;g=c[d>>2]|0;i=b;return g|0}else{c[d>>2]=32768|c[15196+(c[f>>2]<<2)>>2];g=c[d>>2]|0;i=b;return g|0}return 0}function Lu(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;a=i;i=i+16|0;b=a+8|0;d=a+4|0;e=a;c[d>>2]=c[(Yu()|0)>>2];if(!(c[d>>2]|0)){c[b>>2]=16381;f=c[b>>2]|0;i=a;return f|0}g=c[d>>2]|0;do if(!((c[d>>2]|0)>=1&(c[d>>2]|0)<=11)){h=c[d>>2]|0;if((g|0)>=11&(c[d>>2]|0)<=35){j=h-0|0;break}k=c[d>>2]|0;if((h|0)>=35&(c[d>>2]|0)<=40){j=k+1|0;break}h=c[d>>2]|0;if((k|0)>=42&(c[d>>2]|0)<=57){j=h-0|0;break}k=c[d>>2]|0;if((h|0)>=59&(c[d>>2]|0)<=95){j=k-1|0;break}else{j=(k|0)>=95&(c[d>>2]|0)<=125?(c[d>>2]|0)-0|0:-1;break}}else j=g-1|0;while(0);c[e>>2]=j;if((c[e>>2]|0)<0){c[b>>2]=16382;f=c[b>>2]|0;i=a;return f|0}else{c[b>>2]=32768|c[15196+(c[e>>2]<<2)>>2];f=c[b>>2]|0;i=a;return f|0}return 0}function Mu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;d=c[g>>2]|0;b=Hc(c[d>>2]|0,c[d+4>>2]|0)|0;d=C;h=c[f>>2]|0;j=h;a[j>>0]=b;a[j+1>>0]=b>>8;a[j+2>>0]=b>>16;a[j+3>>0]=b>>24;b=h+4|0;a[b>>0]=d;a[b+1>>0]=d>>8;a[b+2>>0]=d>>16;a[b+3>>0]=d>>24;d=jw(c[(c[g>>2]|0)+8>>2]|0)|0;b=(c[f>>2]|0)+8|0;a[b>>0]=d;a[b+1>>0]=d>>8;a[b+2>>0]=d>>16;a[b+3>>0]=d>>24;d=(c[f>>2]|0)+12|0;f=(c[g>>2]|0)+12|0;g=d+12|0;do{a[d>>0]=a[f>>0]|0;d=d+1|0;f=f+1|0}while((d|0)<(g|0));i=e;return}function Nu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+4|0;h=f;c[g>>2]=b;c[h>>2]=e;e=c[h>>2]|0;b=e;j=e+4|0;e=Ic(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;j=c[g>>2]|0;c[j>>2]=e;c[j+4>>2]=C;j=(c[h>>2]|0)+8|0;e=nw(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;c[(c[g>>2]|0)+8>>2]=e;e=(c[g>>2]|0)+12|0;g=(c[h>>2]|0)+12|0;h=e+12|0;do{a[e>>0]=a[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));i=f;return}function Ou(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+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=Kv(c[f>>2]|0)|0;if((c[h>>2]|0)>>>0>=12){c[e>>2]=-1;j=c[e>>2]|0;i=d;return j|0}else{b=c[g>>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]=0;c[b+20>>2]=0;Dx((c[g>>2]|0)+12|0,c[f>>2]|0,c[h>>2]|0)|0;c[e>>2]=1;j=c[e>>2]|0;i=d;return j|0}return 0}function Pu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;do if(0!=(Qu(c[f>>2]|0)|0)?0!=(Qu(c[g>>2]|0)|0):0)if(!(Vv((c[f>>2]|0)+12|0,(c[g>>2]|0)+12|0)|0)){c[e>>2]=1;break}else{c[e>>2]=0;break}else h=3;while(0);if((h|0)==3)c[e>>2]=-1;i=d;return c[e>>2]|0}function Qu(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;i=d;return 0!=(a[(c[e>>2]|0)+12>>0]|0)|0}function Ru(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;d=i;i=i+96|0;e=d+64|0;f=d+56|0;g=d+48|0;h=d+92|0;j=d+88|0;k=d+84|0;l=d+24|0;m=d;n=d+80|0;o=d+76|0;p=d+72|0;c[j>>2]=a;c[k>>2]=b;if(1!=(Pu(c[j>>2]|0,c[k>>2]|0)|0)){c[n>>2]=325;if((c[3925]|0)==-1)c[3925]=Mc(1,0,61566,61575,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[3925]|0))Lc();c[g>>2]=61566;c[g+4>>2]=325;Rc(1,61592,g);Lc()}g=c[j>>2]|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];c[l+8>>2]=c[g+8>>2];c[l+12>>2]=c[g+12>>2];c[l+16>>2]=c[g+16>>2];c[l+20>>2]=c[g+20>>2];g=c[k>>2]|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];c[m+16>>2]=c[g+16>>2];c[m+20>>2]=c[g+20>>2];if(-1==(Su(l)|0)){c[o>>2]=329;if((c[3926]|0)==-1)c[3926]=Mc(1,0,61566,61575,c[o>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[3926]|0))Lc();c[f>>2]=61566;c[f+4>>2]=329;Rc(1,61592,f);Lc()}if(-1==(Su(m)|0)){c[p>>2]=331;if((c[3927]|0)==-1)c[3927]=Mc(1,0,61566,61575,c[p>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[3927]|0))Lc();c[e>>2]=61566;c[e+4>>2]=331;Rc(1,61592,e);Lc()}e=l;p=m;if(!((c[e>>2]|0)==(c[p>>2]|0)?(c[e+4>>2]|0)==(c[p+4>>2]|0):0)){p=l;e=c[p+4>>2]|0;f=m;o=c[f+4>>2]|0;if(e>>>0<o>>>0|((e|0)==(o|0)?(c[p>>2]|0)>>>0<(c[f>>2]|0)>>>0:0)){c[h>>2]=-1;q=c[h>>2]|0;i=d;return q|0}else{c[h>>2]=1;q=c[h>>2]|0;i=d;return q|0}}if((c[l+8>>2]|0)>>>0<(c[m+8>>2]|0)>>>0){c[h>>2]=-1;q=c[h>>2]|0;i=d;return q|0}if((c[l+8>>2]|0)>>>0>(c[m+8>>2]|0)>>>0){c[h>>2]=1;q=c[h>>2]|0;i=d;return q|0}else{c[h>>2]=0;q=c[h>>2]|0;i=d;return q|0}return 0}function Su(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;if(1!=(Qu(c[e>>2]|0)|0)){c[d>>2]=-1;g=c[d>>2]|0;i=b;return g|0}c[f>>2]=0;while(1){a=c[e>>2]|0;if((c[a>>2]|0)!=-1?1:(c[a+4>>2]|0)!=-1)h=(c[(c[e>>2]|0)+8>>2]|0)>>>0>=1e6;else h=0;a=(c[e>>2]|0)+8|0;j=c[a>>2]|0;if(!h)break;c[a>>2]=j-1e6;a=c[e>>2]|0;k=a;l=Ax(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;k=a;c[k>>2]=l;c[k+4>>2]=C;c[f>>2]=1}if(j>>>0>=1e6){Tu(c[e>>2]|0);c[d>>2]=-1;g=c[d>>2]|0;i=b;return g|0}else{c[d>>2]=c[f>>2];g=c[d>>2]|0;i=b;return g|0}return 0}function Tu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=c[d>>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]=0;c[a+20>>2]=0;i=b;return}function Uu(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;e=i;i=i+112|0;f=e+64|0;g=e+56|0;h=e+48|0;j=e+96|0;k=e+92|0;l=e+88|0;m=e+84|0;n=e+24|0;o=e;p=e+80|0;q=e+76|0;r=e+72|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;if(1!=(Pu(c[l>>2]|0,c[m>>2]|0)|0)){Tu(c[k>>2]|0);c[j>>2]=-1;s=c[j>>2]|0;i=e;return s|0}d=c[l>>2]|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];c[n+12>>2]=c[d+12>>2];c[n+16>>2]=c[d+16>>2];c[n+20>>2]=c[d+20>>2];d=c[m>>2]|0;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];c[o+16>>2]=c[d+16>>2];c[o+20>>2]=c[d+20>>2];if(-1!=(Su(n)|0)?-1!=(Su(o)|0):0){do if((c[n+8>>2]|0)>>>0<(c[o+8>>2]|0)>>>0){d=n;if(!(0==(c[d>>2]|0)?0==(c[d+4>>2]|0):0)){d=n+8|0;c[d>>2]=(c[d>>2]|0)+1e6;d=n;m=Ax(c[d>>2]|0,c[d+4>>2]|0,-1,-1)|0;d=n;c[d>>2]=m;c[d+4>>2]=C;break}Tu(c[k>>2]|0);c[j>>2]=-1;s=c[j>>2]|0;i=e;return s|0}while(0);d=n;m=c[d+4>>2]|0;l=o;b=c[l+4>>2]|0;if(m>>>0<b>>>0|((m|0)==(b|0)?(c[d>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)){Tu(c[k>>2]|0);c[j>>2]=-1;s=c[j>>2]|0;i=e;return s|0}if(1!=(Ou(n+12|0,c[k>>2]|0)|0)){c[p>>2]=397;if((c[3928]|0)==-1)c[3928]=Mc(1,0,61566,61620,c[p>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[3928]|0))Lc();c[h>>2]=61566;c[h+4>>2]=397;Rc(1,61592,h);Lc()}if((c[n+8>>2]|0)>>>0<(c[o+8>>2]|0)>>>0){c[q>>2]=398;if((c[3929]|0)==-1)c[3929]=Mc(1,0,61566,61620,c[q>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[3929]|0))Lc();c[g>>2]=61566;c[g+4>>2]=398;Rc(1,61592,g);Lc()}c[(c[k>>2]|0)+8>>2]=(c[n+8>>2]|0)-(c[o+8>>2]|0);g=n;q=c[g+4>>2]|0;h=o;p=c[h+4>>2]|0;if(q>>>0>p>>>0|((q|0)==(p|0)?(c[g>>2]|0)>>>0>=(c[h>>2]|0)>>>0:0)){h=n;n=o;o=zx(c[h>>2]|0,c[h+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=c[k>>2]|0;c[n>>2]=o;c[n+4>>2]=C;if(0==(c[(c[k>>2]|0)+8>>2]|0)?(n=c[k>>2]|0,0==(c[n>>2]|0)?0==(c[n+4>>2]|0):0):0){c[j>>2]=0;s=c[j>>2]|0;i=e;return s|0}c[j>>2]=1;s=c[j>>2]|0;i=e;return s|0}c[r>>2]=400;if((c[3930]|0)==-1)c[3930]=Mc(1,0,61566,61620,c[r>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[3930]|0))Lc();c[f>>2]=61566;c[f+4>>2]=400;Rc(1,61592,f);Lc()}Tu(c[k>>2]|0);c[j>>2]=-1;s=c[j>>2]|0;i=e;return s|0}function Vu(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;e=i;i=i+112|0;f=e+72|0;g=e+96|0;h=e+92|0;j=e+88|0;k=e+84|0;l=e+48|0;m=e+24|0;n=e;o=e+80|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;if(1!=(Pu(c[j>>2]|0,c[k>>2]|0)|0)){Tu(c[h>>2]|0);c[g>>2]=-1;p=c[g>>2]|0;i=e;return p|0}d=c[j>>2]|0;c[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2];c[l+8>>2]=c[d+8>>2];c[l+12>>2]=c[d+12>>2];c[l+16>>2]=c[d+16>>2];c[l+20>>2]=c[d+20>>2];d=c[k>>2]|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];c[m+16>>2]=c[d+16>>2];c[m+20>>2]=c[d+20>>2];if(-1!=(Su(l)|0)?-1!=(Su(m)|0):0){if(1==(Ou((c[j>>2]|0)+12|0,n)|0)){j=l;d=m;k=Ax(c[j>>2]|0,c[j+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;d=n;c[d>>2]=k;c[d+4>>2]=C;d=n;k=c[d+4>>2]|0;j=l;b=c[j+4>>2]|0;if(k>>>0<b>>>0|((k|0)==(b|0)?(c[d>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)){Tu(c[h>>2]|0);c[g>>2]=-1;p=c[g>>2]|0;i=e;return p|0}c[n+8>>2]=(c[l+8>>2]|0)+(c[m+8>>2]|0);m=-1==(Su(n)|0);l=c[h>>2]|0;if(m){Tu(l);c[g>>2]=-1;p=c[g>>2]|0;i=e;return p|0}else{c[l>>2]=c[n>>2];c[l+4>>2]=c[n+4>>2];c[l+8>>2]=c[n+8>>2];c[l+12>>2]=c[n+12>>2];c[l+16>>2]=c[n+16>>2];c[l+20>>2]=c[n+20>>2];c[g>>2]=1;p=c[g>>2]|0;i=e;return p|0}}c[o>>2]=444;if((c[3931]|0)==-1)c[3931]=Mc(1,0,61566,61642,c[o>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[3931]|0))Lc();c[f>>2]=61566;c[f+4>>2]=444;Rc(1,61592,f);Lc()}Tu(c[h>>2]|0);c[g>>2]=-1;p=c[g>>2]|0;i=e;return p|0}function Wu(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=Xu(ta(6,d|0)|0)|0;i=b;return a|0}function Xu(a){a=a|0;var b=0;if(a>>>0>4294963200){c[(Yu()|0)>>2]=0-a;b=-1}else b=a;return b|0}function Yu(){var a=0;if(!(c[17776]|0))a=71148;else a=c[(Ta()|0)+64>>2]|0;return a|0}function Zu(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]=25;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,(_a(54,g|0)|0)!=0):0)a[b+75>>0]=-1;g=_u(b,d,e)|0;i=f;return g|0}function _u(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[17776]|0)){c[f>>2]=c[b>>2];c[f+4>>2]=n;c[f+8>>2]=h;p=Xu(tb(146,f|0)|0)|0}else{rb(6,a|0);c[g>>2]=c[b>>2];c[g+4>>2]=n;c[g+8>>2]=h;m=Xu(tb(146,g|0)|0)|0;oa(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 $u(a){a=a|0;if(!(c[a+68>>2]|0))av(a);return}function av(a){a=a|0;return}function bv(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((Xu(ob(140,f|0)|0)|0)<0){c[g>>2]=-1;h=-1}else h=c[g>>2]|0;i=e;return h|0}function cv(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[17776]|0)){c[g>>2]=c[b+60>>2];c[g+4>>2]=j;c[g+8>>2]=2;o=Xu(sb(145,g|0)|0)|0}else{rb(7,b|0);c[h>>2]=c[b+60>>2];c[h+4>>2]=j;c[h+8>>2]=2;j=Xu(sb(145,h|0)|0)|0;oa(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 dv(a){a=a|0;if(!(c[a+68>>2]|0))av(a);return}function ev(a){a=a|0;return fv(a)|0}function fv(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function gv(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 hv(a){a=a|0;var b=0;b=(iv(a)|0)==0;return (b?a:a|32)|0}function iv(a){a=a|0;return (a+-65|0)>>>0<26|0}function jv(a){a=a|0;return kv(a,0)|0}function kv(c,f){c=c|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=(f<<1)+-1|0;h=f+-1|0;a:do if(!((c+-43008|0)>>>0<22272|((c+-11776|0)>>>0<30784|((c+-1536|0)>>>0<2560|(lv(c)|0)==0)))){i=(f|0)!=0;if(i&(c+-4256|0)>>>0<46){if((c|0)>4293)switch(c|0){case 4295:case 4301:break;default:{j=c;break a}}j=c+7264|0;break}if((c+-11520|0)>>>0<38&(i^1)){if((c|0)>11557)switch(c|0){case 11559:case 11565:break;default:{j=c;break a}}j=c+-7264|0;break}else k=0;do{i=a[18850+(k<<2)+2>>0]|0;l=i<<24>>24;m=c-(e[18850+(k<<2)>>1]|0)|0;if((m-(l&h)|0)>>>0<(d[18850+(k<<2)+3>>0]|0)>>>0){n=i;o=l;p=m;q=13;break}k=k+1|0}while((k|0)!=61);if((q|0)==13)if(n<<24>>24==1){j=f+c-(p&1)|0;break}else{j=(_(o,g)|0)+c|0;break}m=1-f|0;l=b[18358+(m<<1)>>1]|0;b:do if(l<<16>>16){i=l;r=0;while(1){if((i&65535|0)==(c|0)){s=r;break}r=r+1|0;i=b[18358+(r<<2)+(m<<1)>>1]|0;if(!(i<<16>>16))break b}j=e[18358+(s<<2)+(f<<1)>>1]|0;break a}while(0);if((c+-66600+(f*40|0)|0)>>>0<40)j=c+-40+(f*80|0)|0;else j=c}else j=c;while(0);return j|0}function lv(a){a=a|0;var b=0;if(a>>>0<131072)b=(d[61659+((d[61659+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else b=a>>>0<196606&1;return b|0}function mv(a){a=a|0;return kv(a,1)|0}function nv(a){a=a|0;return (a+-97|0)>>>0<26|0}function ov(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[64635+c>>0]|0)==(b|0)){e=c;f=2;break}c=c+1|0;if((c|0)==87){g=87;h=64723;f=5;break}}if((f|0)==2)if(!e)i=64723;else{g=e;h=64723;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 pv(a){a=a|0;var b=0;if(!a)b=0;else b=(qv(16168,a)|0)!=0;return b&1|0}function qv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!b)d=a+((rv(a)|0)<<2)|0;else{e=a;while(1){a=c[e>>2]|0;if((a|0)==0|(a|0)==(b|0)){f=e;g=a;break}else e=e+4|0}d=(g|0)!=0?f:0}return d|0}function rv(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 sv(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 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=uv(a,b,d,g)|0;i=f;return e|0}function uv(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=16256;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[(Yu()|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=wv(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 vv(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;Dx(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function wv(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+120|0;h=f+80|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((xv(0,d,g,j,h)|0)<0)n=-1;else{if((c[b+76>>2]|0)>-1)o=Iv(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=xv(b,d,g,j,h)|0;if(!p)t=k;else{vb[c[b+36>>2]&63](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=xv(b,d,g,j,h)|0;h=c[b>>2]|0;c[b>>2]=h|l;if(o)av(b);n=(h&32|0)==0?t:-1}i=f;return n|0}function xv(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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0.0,db=0.0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0.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.0,Yb=0.0,Zb=0.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=p;A=0-z|0;B=q+12|0;D=q+11|0;q=B;E=q-z|0;F=-2-z|0;G=q+2|0;H=n+288|0;I=p+9|0;J=I;K=p+8|0;L=0;M=0;N=0;O=f;a:while(1){do if((L|0)>-1)if((M|0)>(2147483647-L|0)){c[(Yu()|0)>>2]=75;P=-1;break}else{P=M+L|0;break}else P=L;while(0);f=a[O>>0]|0;if(!(f<<24>>24)){Q=P;R=N;S=244;break}else{T=f;U=O}b:while(1){switch(T<<24>>24){case 37:{V=U;W=U;S=9;break b;break}case 0:{X=U;Y=U;break b;break}default:{}}f=U+1|0;T=a[f>>0]|0;U=f}c:do if((S|0)==9)while(1){S=0;if((a[V+1>>0]|0)!=37){X=V;Y=W;break c}f=W+1|0;Z=V+2|0;if((a[Z>>0]|0)==37){V=Z;W=f;S=9}else{X=Z;Y=f;break}}while(0);f=Y-O|0;if(v?(c[e>>2]&32|0)==0:0)yv(O,f,e)|0;if((Y|0)!=(O|0)){L=P;M=f;O=X;continue}Z=X+1|0;$=a[Z>>0]|0;aa=($<<24>>24)+-48|0;if(aa>>>0<10){ba=(a[X+2>>0]|0)==36;ca=ba?X+3|0:Z;da=a[ca>>0]|0;ea=ba?aa:-1;fa=ba?1:N;ga=ca}else{da=$;ea=-1;fa=N;ga=Z}Z=da<<24>>24;d:do if((Z&-32|0)==32){$=Z;ca=da;ba=0;aa=ga;while(1){if(!(1<<$+-32&75913)){ha=ca;ia=ba;ja=aa;break d}ka=1<<(ca<<24>>24)+-32|ba;la=aa+1|0;ma=a[la>>0]|0;$=ma<<24>>24;if(($&-32|0)!=32){ha=ma;ia=ka;ja=la;break}else{ca=ma;ba=ka;aa=la}}}else{ha=da;ia=0;ja=ga}while(0);do if(ha<<24>>24==42){Z=ja+1|0;aa=(a[Z>>0]|0)+-48|0;if(aa>>>0<10?(a[ja+2>>0]|0)==36:0){c[l+(aa<<2)>>2]=10;na=1;oa=ja+3|0;pa=c[j+((a[Z>>0]|0)+-48<<3)>>2]|0}else{if(fa){qa=-1;break a}if(!v){ra=ia;sa=0;ta=Z;ua=0;break}aa=(c[g>>2]|0)+(4-1)&~(4-1);ba=c[aa>>2]|0;c[g>>2]=aa+4;na=0;oa=Z;pa=ba}if((pa|0)<0){ra=ia|8192;sa=na;ta=oa;ua=0-pa|0}else{ra=ia;sa=na;ta=oa;ua=pa}}else{ba=(ha<<24>>24)+-48|0;if(ba>>>0<10){Z=ja;aa=0;ca=ba;while(1){ba=(aa*10|0)+ca|0;$=Z+1|0;ca=(a[$>>0]|0)+-48|0;if(ca>>>0>=10){va=ba;wa=$;break}else{Z=$;aa=ba}}if((va|0)<0){qa=-1;break a}else{ra=ia;sa=fa;ta=wa;ua=va}}else{ra=ia;sa=fa;ta=ja;ua=0}}while(0);e:do if((a[ta>>0]|0)==46){aa=ta+1|0;Z=a[aa>>0]|0;if(Z<<24>>24!=42){ca=(Z<<24>>24)+-48|0;if(ca>>>0<10){xa=aa;ya=0;za=ca}else{Aa=0;Ba=aa;break}while(1){aa=(ya*10|0)+za|0;ca=xa+1|0;za=(a[ca>>0]|0)+-48|0;if(za>>>0>=10){Aa=aa;Ba=ca;break e}else{xa=ca;ya=aa}}}aa=ta+2|0;ca=(a[aa>>0]|0)+-48|0;if(ca>>>0<10?(a[ta+3>>0]|0)==36:0){c[l+(ca<<2)>>2]=10;Aa=c[j+((a[aa>>0]|0)+-48<<3)>>2]|0;Ba=ta+4|0;break}if(sa){qa=-1;break a}if(v){ca=(c[g>>2]|0)+(4-1)&~(4-1);Z=c[ca>>2]|0;c[g>>2]=ca+4;Aa=Z;Ba=aa}else{Aa=0;Ba=aa}}else{Aa=-1;Ba=ta}while(0);aa=Ba;Z=0;while(1){ca=(a[aa>>0]|0)+-65|0;if(ca>>>0>57){qa=-1;break a}ba=aa+1|0;$=a[66527+(Z*58|0)+ca>>0]|0;ca=$&255;if((ca+-1|0)>>>0<8){aa=ba;Z=ca}else{Ca=ba;Da=$;Ea=ca;Fa=aa;Ga=Z;break}}if(!(Da<<24>>24)){qa=-1;break}Z=(ea|0)>-1;do if(Da<<24>>24==19)if(Z){qa=-1;break a}else S=52;else{if(Z){c[l+(ea<<2)>>2]=Ea;aa=j+(ea<<3)|0;ca=c[aa+4>>2]|0;$=r;c[$>>2]=c[aa>>2];c[$+4>>2]=ca;S=52;break}if(!v){qa=0;break a}Av(r,Ea,g)}while(0);if((S|0)==52?(S=0,!v):0){L=P;M=f;N=sa;O=Ca;continue}Z=a[Fa>>0]|0;ca=(Ga|0)!=0&(Z&15|0)==3?Z&-33:Z;Z=ra&-65537;$=(ra&8192|0)==0?ra:Z;f:do switch(ca|0){case 110:{switch(Ga|0){case 0:{c[c[r>>2]>>2]=P;L=P;M=f;N=sa;O=Ca;continue a;break}case 1:{c[c[r>>2]>>2]=P;L=P;M=f;N=sa;O=Ca;continue a;break}case 2:{aa=c[r>>2]|0;c[aa>>2]=P;c[aa+4>>2]=((P|0)<0)<<31>>31;L=P;M=f;N=sa;O=Ca;continue a;break}case 3:{b[c[r>>2]>>1]=P;L=P;M=f;N=sa;O=Ca;continue a;break}case 4:{a[c[r>>2]>>0]=P;L=P;M=f;N=sa;O=Ca;continue a;break}case 6:{c[c[r>>2]>>2]=P;L=P;M=f;N=sa;O=Ca;continue a;break}case 7:{aa=c[r>>2]|0;c[aa>>2]=P;c[aa+4>>2]=((P|0)<0)<<31>>31;L=P;M=f;N=sa;O=Ca;continue a;break}default:{L=P;M=f;N=sa;O=Ca;continue a}}break}case 112:{Ha=$|8;Ia=Aa>>>0>8?Aa:8;Ja=120;S=64;break}case 88:case 120:{Ha=$;Ia=Aa;Ja=ca;S=64;break}case 111:{aa=r;ba=c[aa>>2]|0;la=c[aa+4>>2]|0;if((ba|0)==0&(la|0)==0)Ka=w;else{aa=w;ka=ba;ba=la;while(1){la=aa+-1|0;a[la>>0]=ka&7|48;ka=Cx(ka|0,ba|0,3)|0;ba=C;if((ka|0)==0&(ba|0)==0){Ka=la;break}else aa=la}}if(!($&8)){La=Ka;Ma=$;Na=Aa;Oa=0;Pa=67007;S=77}else{aa=x-Ka|0;La=Ka;Ma=$;Na=(Aa|0)>(aa|0)?Aa:aa+1|0;Oa=0;Pa=67007;S=77}break}case 105:case 100:{aa=r;ba=c[aa>>2]|0;ka=c[aa+4>>2]|0;if((ka|0)<0){aa=zx(0,0,ba|0,ka|0)|0;la=C;ma=r;c[ma>>2]=aa;c[ma+4>>2]=la;Qa=aa;Ra=la;Sa=1;Ta=67007;S=76;break f}if(!($&2048)){la=$&1;Qa=ba;Ra=ka;Sa=la;Ta=(la|0)==0?67007:67009;S=76}else{Qa=ba;Ra=ka;Sa=1;Ta=67008;S=76}break}case 117:{ka=r;Qa=c[ka>>2]|0;Ra=c[ka+4>>2]|0;Sa=0;Ta=67007;S=76;break}case 99:{a[y>>0]=c[r>>2];Ua=y;Va=Z;Wa=1;Xa=0;Ya=67007;Za=w;break}case 109:{_a=ov(c[(Yu()|0)>>2]|0)|0;S=82;break}case 115:{ka=c[r>>2]|0;_a=(ka|0)!=0?ka:67017;S=82;break}case 67:{c[t>>2]=c[r>>2];c[s>>2]=0;c[r>>2]=t;$a=t;ab=-1;S=86;break}case 83:{ka=c[r>>2]|0;if(!Aa){Dv(e,32,ua,0,$);bb=0;S=97}else{$a=ka;ab=Aa;S=86}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{cb=+h[r>>3];c[o>>2]=0;h[k>>3]=cb;if((c[k+4>>2]|0)>=0)if(!($&2048)){ka=$&1;db=cb;eb=ka;fb=(ka|0)==0?67025:67030}else{db=cb;eb=1;fb=67027}else{db=-cb;eb=1;fb=67024}h[k>>3]=db;ka=c[k+4>>2]&2146435072;do if(ka>>>0<2146435072|(ka|0)==2146435072&0<0){cb=+Gv(db,o)*2.0;ba=cb!=0.0;if(ba)c[o>>2]=(c[o>>2]|0)+-1;la=ca|32;if((la|0)==97){aa=ca&32;ma=(aa|0)==0?fb:fb+9|0;gb=eb|2;hb=12-Aa|0;do if(!(Aa>>>0>11|(hb|0)==0)){ib=hb;jb=8.0;while(1){ib=ib+-1|0;kb=jb*16.0;if(!ib){lb=kb;break}else jb=kb}if((a[ma>>0]|0)==45){mb=-(lb+(-cb-lb));break}else{mb=cb+lb-lb;break}}else mb=cb;while(0);hb=c[o>>2]|0;ib=(hb|0)<0?0-hb|0:hb;nb=Bv(ib,((ib|0)<0)<<31>>31,B)|0;if((nb|0)==(B|0)){a[D>>0]=48;ob=D}else ob=nb;a[ob+-1>>0]=(hb>>31&2)+43;hb=ob+-2|0;a[hb>>0]=ca+15;nb=(Aa|0)<1;ib=($&8|0)==0;jb=mb;pb=p;while(1){qb=~~jb;rb=pb+1|0;a[pb>>0]=d[66991+qb>>0]|aa;jb=(jb-+(qb|0))*16.0;do if((rb-z|0)==1){if(ib&(nb&jb==0.0)){sb=rb;break}a[rb>>0]=46;sb=pb+2|0}else sb=rb;while(0);if(!(jb!=0.0)){tb=sb;break}else pb=sb}pb=tb;nb=hb;ib=(Aa|0)!=0&(F+pb|0)<(Aa|0)?G+Aa-nb|0:E-nb+pb|0;aa=ib+gb|0;Dv(e,32,ua,aa,$);if(!(c[e>>2]&32))yv(ma,gb,e)|0;Dv(e,48,ua,aa,$^65536);rb=pb-z|0;if(!(c[e>>2]&32))yv(p,rb,e)|0;pb=q-nb|0;Dv(e,48,ib-(rb+pb)|0,0,0);if(!(c[e>>2]&32))yv(hb,pb,e)|0;Dv(e,32,ua,aa,$^8192);ub=(aa|0)<(ua|0)?ua:aa;break}aa=(Aa|0)<0?6:Aa;if(ba){pb=(c[o>>2]|0)+-28|0;c[o>>2]=pb;vb=cb*268435456.0;wb=pb}else{vb=cb;wb=c[o>>2]|0}pb=(wb|0)<0?n:H;rb=pb;jb=vb;ib=pb;while(1){nb=~~jb>>>0;c[ib>>2]=nb;qb=ib+4|0;jb=(jb-+(nb>>>0))*1.0e9;if(!(jb!=0.0)){xb=qb;break}else ib=qb}ib=c[o>>2]|0;if((ib|0)>0){ba=ib;hb=pb;gb=xb;while(1){ma=(ba|0)>29?29:ba;qb=gb+-4|0;do if(qb>>>0<hb>>>0)yb=hb;else{nb=0;zb=qb;while(1){Ab=Ix(c[zb>>2]|0,0,ma|0)|0;Bb=Ax(Ab|0,C|0,nb|0,0)|0;Ab=C;Cb=Ox(Bb|0,Ab|0,1e9,0)|0;c[zb>>2]=Cb;Cb=Nx(Bb|0,Ab|0,1e9,0)|0;zb=zb+-4|0;if(zb>>>0<hb>>>0){Db=Cb;break}else nb=Cb}if(!Db){yb=hb;break}nb=hb+-4|0;c[nb>>2]=Db;yb=nb}while(0);qb=gb;while(1){if(qb>>>0<=yb>>>0){Eb=qb;break}nb=qb+-4|0;if(!(c[nb>>2]|0))qb=nb;else{Eb=qb;break}}qb=(c[o>>2]|0)-ma|0;c[o>>2]=qb;if((qb|0)>0){ba=qb;hb=yb;gb=Eb}else{Fb=qb;Gb=yb;Hb=Eb;break}}}else{Fb=ib;Gb=pb;Hb=xb}if((Fb|0)<0){gb=((aa+25|0)/9|0)+1|0;hb=(la|0)==102;ba=Fb;qb=Gb;nb=Hb;while(1){zb=0-ba|0;Cb=(zb|0)>9?9:zb;do if(qb>>>0<nb>>>0){zb=(1<<Cb)+-1|0;Ab=1e9>>>Cb;Bb=0;Ib=qb;while(1){Jb=c[Ib>>2]|0;c[Ib>>2]=(Jb>>>Cb)+Bb;Kb=_(Jb&zb,Ab)|0;Ib=Ib+4|0;if(Ib>>>0>=nb>>>0){Lb=Kb;break}else Bb=Kb}Bb=(c[qb>>2]|0)==0?qb+4|0:qb;if(!Lb){Mb=Bb;Nb=nb;break}c[nb>>2]=Lb;Mb=Bb;Nb=nb+4|0}else{Mb=(c[qb>>2]|0)==0?qb+4|0:qb;Nb=nb}while(0);ma=hb?pb:Mb;Bb=(Nb-ma>>2|0)>(gb|0)?ma+(gb<<2)|0:Nb;ba=(c[o>>2]|0)+Cb|0;c[o>>2]=ba;if((ba|0)>=0){Ob=Mb;Pb=Bb;break}else{qb=Mb;nb=Bb}}}else{Ob=Gb;Pb=Hb}do if(Ob>>>0<Pb>>>0){nb=(rb-Ob>>2)*9|0;qb=c[Ob>>2]|0;if(qb>>>0<10){Qb=nb;break}else{Rb=nb;Sb=10}while(1){Sb=Sb*10|0;nb=Rb+1|0;if(qb>>>0<Sb>>>0){Qb=nb;break}else Rb=nb}}else Qb=0;while(0);qb=(la|0)==103;Cb=(aa|0)!=0;nb=aa-((la|0)!=102?Qb:0)+((Cb&qb)<<31>>31)|0;if((nb|0)<(((Pb-rb>>2)*9|0)+-9|0)){ba=nb+9216|0;nb=pb+4+(((ba|0)/9|0)+-1024<<2)|0;gb=((ba|0)%9|0)+1|0;if((gb|0)<9){ba=10;hb=gb;while(1){gb=ba*10|0;hb=hb+1|0;if((hb|0)==9){Tb=gb;break}else ba=gb}}else Tb=10;ba=c[nb>>2]|0;hb=(ba>>>0)%(Tb>>>0)|0;la=(nb+4|0)==(Pb|0);do if(la&(hb|0)==0){Ub=Ob;Vb=nb;Wb=Qb}else{jb=(((ba>>>0)/(Tb>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;gb=(Tb|0)/2|0;if(hb>>>0<gb>>>0)Xb=.5;else Xb=la&(hb|0)==(gb|0)?1.0:1.5;do if(!eb){Yb=jb;Zb=Xb}else{if((a[fb>>0]|0)!=45){Yb=jb;Zb=Xb;break}Yb=-jb;Zb=-Xb}while(0);gb=ba-hb|0;c[nb>>2]=gb;if(!(Yb+Zb!=Yb)){Ub=Ob;Vb=nb;Wb=Qb;break}ib=gb+Tb|0;c[nb>>2]=ib;if(ib>>>0>999999999){ib=Ob;gb=nb;while(1){Bb=gb+-4|0;c[gb>>2]=0;if(Bb>>>0<ib>>>0){ma=ib+-4|0;c[ma>>2]=0;_b=ma}else _b=ib;ma=(c[Bb>>2]|0)+1|0;c[Bb>>2]=ma;if(ma>>>0>999999999){ib=_b;gb=Bb}else{$b=_b;ac=Bb;break}}}else{$b=Ob;ac=nb}gb=(rb-$b>>2)*9|0;ib=c[$b>>2]|0;if(ib>>>0<10){Ub=$b;Vb=ac;Wb=gb;break}else{bc=gb;cc=10}while(1){cc=cc*10|0;gb=bc+1|0;if(ib>>>0<cc>>>0){Ub=$b;Vb=ac;Wb=gb;break}else bc=gb}}while(0);nb=Vb+4|0;dc=Ub;ec=Wb;fc=Pb>>>0>nb>>>0?nb:Pb}else{dc=Ob;ec=Qb;fc=Pb}nb=0-ec|0;hb=fc;while(1){if(hb>>>0<=dc>>>0){gc=0;hc=hb;break}ba=hb+-4|0;if(!(c[ba>>2]|0))hb=ba;else{gc=1;hc=hb;break}}do if(qb){hb=(Cb&1^1)+aa|0;if((hb|0)>(ec|0)&(ec|0)>-5){ic=ca+-1|0;jc=hb+-1-ec|0}else{ic=ca+-2|0;jc=hb+-1|0}hb=$&8;if(hb){kc=ic;lc=jc;mc=hb;break}do if(gc){hb=c[hc+-4>>2]|0;if(!hb){nc=9;break}if(!((hb>>>0)%10|0)){oc=10;pc=0}else{nc=0;break}while(1){oc=oc*10|0;ba=pc+1|0;if((hb>>>0)%(oc>>>0)|0){nc=ba;break}else pc=ba}}else nc=9;while(0);hb=((hc-rb>>2)*9|0)+-9|0;if((ic|32|0)==102){ba=hb-nc|0;la=(ba|0)<0?0:ba;kc=ic;lc=(jc|0)<(la|0)?jc:la;mc=0;break}else{la=hb+ec-nc|0;hb=(la|0)<0?0:la;kc=ic;lc=(jc|0)<(hb|0)?jc:hb;mc=0;break}}else{kc=ca;lc=aa;mc=$&8}while(0);aa=lc|mc;rb=(aa|0)!=0&1;Cb=(kc|32|0)==102;if(Cb){qc=(ec|0)>0?ec:0;rc=0}else{qb=(ec|0)<0?nb:ec;hb=Bv(qb,((qb|0)<0)<<31>>31,B)|0;if((q-hb|0)<2){qb=hb;while(1){la=qb+-1|0;a[la>>0]=48;if((q-la|0)<2)qb=la;else{sc=la;break}}}else sc=hb;a[sc+-1>>0]=(ec>>31&2)+43;qb=sc+-2|0;a[qb>>0]=kc;qc=q-qb|0;rc=qb}qb=eb+1+lc+rb+qc|0;Dv(e,32,ua,qb,$);if(!(c[e>>2]&32))yv(fb,eb,e)|0;Dv(e,48,ua,qb,$^65536);do if(Cb){nb=dc>>>0>pb>>>0?pb:dc;la=nb;while(1){ba=Bv(c[la>>2]|0,0,I)|0;do if((la|0)==(nb|0)){if((ba|0)!=(I|0)){tc=ba;break}a[K>>0]=48;tc=K}else{if(ba>>>0<=p>>>0){tc=ba;break}Fx(p|0,48,ba-z|0)|0;ib=ba;while(1){gb=ib+-1|0;if(gb>>>0>p>>>0)ib=gb;else{tc=gb;break}}}while(0);if(!(c[e>>2]&32))yv(tc,J-tc|0,e)|0;ba=la+4|0;if(ba>>>0>pb>>>0){uc=ba;break}else la=ba}do if(aa){if(c[e>>2]&32)break;yv(67059,1,e)|0}while(0);if((lc|0)>0&uc>>>0<hc>>>0){la=lc;nb=uc;while(1){ba=Bv(c[nb>>2]|0,0,I)|0;if(ba>>>0>p>>>0){Fx(p|0,48,ba-z|0)|0;ib=ba;while(1){gb=ib+-1|0;if(gb>>>0>p>>>0)ib=gb;else{vc=gb;break}}}else vc=ba;if(!(c[e>>2]&32))yv(vc,(la|0)>9?9:la,e)|0;nb=nb+4|0;ib=la+-9|0;if(!((la|0)>9&nb>>>0<hc>>>0)){wc=ib;break}else la=ib}}else wc=lc;Dv(e,48,wc+9|0,9,0)}else{la=gc?hc:dc+4|0;if((lc|0)>-1){nb=(mc|0)==0;ib=lc;gb=dc;while(1){Bb=Bv(c[gb>>2]|0,0,I)|0;if((Bb|0)==(I|0)){a[K>>0]=48;xc=K}else xc=Bb;do if((gb|0)==(dc|0)){Bb=xc+1|0;if(!(c[e>>2]&32))yv(xc,1,e)|0;if(nb&(ib|0)<1){yc=Bb;break}if(c[e>>2]&32){yc=Bb;break}yv(67059,1,e)|0;yc=Bb}else{if(xc>>>0<=p>>>0){yc=xc;break}Fx(p|0,48,xc+A|0)|0;Bb=xc;while(1){ma=Bb+-1|0;if(ma>>>0>p>>>0)Bb=ma;else{yc=ma;break}}}while(0);ba=J-yc|0;if(!(c[e>>2]&32))yv(yc,(ib|0)>(ba|0)?ba:ib,e)|0;Bb=ib-ba|0;gb=gb+4|0;if(!(gb>>>0<la>>>0&(Bb|0)>-1)){zc=Bb;break}else ib=Bb}}else zc=lc;Dv(e,48,zc+18|0,18,0);if(c[e>>2]&32)break;yv(rc,q-rc|0,e)|0}while(0);Dv(e,32,ua,qb,$^8192);ub=(qb|0)<(ua|0)?ua:qb}else{aa=(ca&32|0)!=0;pb=db!=db|0.0!=0.0;Cb=pb?0:eb;rb=Cb+3|0;Dv(e,32,ua,rb,Z);hb=c[e>>2]|0;if(!(hb&32)){yv(fb,Cb,e)|0;Ac=c[e>>2]|0}else Ac=hb;if(!(Ac&32))yv(pb?(aa?67051:67055):aa?67043:67047,3,e)|0;Dv(e,32,ua,rb,$^8192);ub=(rb|0)<(ua|0)?ua:rb}while(0);L=P;M=ub;N=sa;O=Ca;continue a;break}default:{Ua=O;Va=$;Wa=Aa;Xa=0;Ya=67007;Za=w}}while(0);g:do if((S|0)==64){S=0;ca=r;f=c[ca>>2]|0;ka=c[ca+4>>2]|0;ca=Ja&32;if(!((f|0)==0&(ka|0)==0)){rb=w;aa=f;f=ka;while(1){ka=rb+-1|0;a[ka>>0]=d[66991+(aa&15)>>0]|ca;aa=Cx(aa|0,f|0,4)|0;f=C;if((aa|0)==0&(f|0)==0){Bc=ka;break}else rb=ka}rb=r;if((Ha&8|0)==0|(c[rb>>2]|0)==0&(c[rb+4>>2]|0)==0){La=Bc;Ma=Ha;Na=Ia;Oa=0;Pa=67007;S=77}else{La=Bc;Ma=Ha;Na=Ia;Oa=2;Pa=67007+(Ja>>4)|0;S=77}}else{La=w;Ma=Ha;Na=Ia;Oa=0;Pa=67007;S=77}}else if((S|0)==76){S=0;La=Bv(Qa,Ra,w)|0;Ma=$;Na=Aa;Oa=Sa;Pa=Ta;S=77}else if((S|0)==82){S=0;rb=Cv(_a,0,Aa)|0;f=(rb|0)==0;Ua=_a;Va=Z;Wa=f?Aa:rb-_a|0;Xa=0;Ya=67007;Za=f?_a+Aa|0:rb}else if((S|0)==86){S=0;rb=0;f=0;aa=$a;while(1){ca=c[aa>>2]|0;if(!ca){Cc=rb;Dc=f;break}ka=Ev(u,ca)|0;if((ka|0)<0|ka>>>0>(ab-rb|0)>>>0){Cc=rb;Dc=ka;break}ca=ka+rb|0;if(ab>>>0>ca>>>0){rb=ca;f=ka;aa=aa+4|0}else{Cc=ca;Dc=ka;break}}if((Dc|0)<0){qa=-1;break a}Dv(e,32,ua,Cc,$);if(!Cc){bb=0;S=97}else{aa=0;f=$a;while(1){rb=c[f>>2]|0;if(!rb){bb=Cc;S=97;break g}ka=Ev(u,rb)|0;aa=ka+aa|0;if((aa|0)>(Cc|0)){bb=Cc;S=97;break g}if(!(c[e>>2]&32))yv(u,ka,e)|0;if(aa>>>0>=Cc>>>0){bb=Cc;S=97;break}else f=f+4|0}}}while(0);if((S|0)==97){S=0;Dv(e,32,ua,bb,$^8192);L=P;M=(ua|0)>(bb|0)?ua:bb;N=sa;O=Ca;continue}if((S|0)==77){S=0;Z=(Na|0)>-1?Ma&-65537:Ma;f=r;aa=(c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0;if((Na|0)!=0|aa){f=(aa&1^1)+(x-La)|0;Ua=La;Va=Z;Wa=(Na|0)>(f|0)?Na:f;Xa=Oa;Ya=Pa;Za=w}else{Ua=w;Va=Z;Wa=0;Xa=Oa;Ya=Pa;Za=w}}Z=Za-Ua|0;f=(Wa|0)<(Z|0)?Z:Wa;aa=Xa+f|0;ka=(ua|0)<(aa|0)?aa:ua;Dv(e,32,ka,aa,Va);if(!(c[e>>2]&32))yv(Ya,Xa,e)|0;Dv(e,48,ka,aa,Va^65536);Dv(e,48,f,Z,0);if(!(c[e>>2]&32))yv(Ua,Z,e)|0;Dv(e,32,ka,aa,Va^8192);L=P;M=ka;N=sa;O=Ca}h:do if((S|0)==244)if(!e)if(R){Ca=1;while(1){O=c[l+(Ca<<2)>>2]|0;if(!O){Ec=Ca;break}Av(j+(Ca<<3)|0,O,g);Ca=Ca+1|0;if((Ca|0)>=10){qa=1;break h}}if((Ec|0)<10){Ca=Ec;while(1){if(c[l+(Ca<<2)>>2]|0){qa=-1;break h}Ca=Ca+1|0;if((Ca|0)>=10){qa=1;break}}}else qa=1}else qa=0;else qa=Q;while(0);i=m;return qa|0}function yv(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(!(zv(e)|0)){h=c[f>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=e+20|0;f=c[g>>2]|0;k=f;if((h-f|0)>>>0<d>>>0){j=vb[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){l=d;m=b;n=k;o=0;break b}p=f+-1|0;if((a[b+p>>0]|0)==10){q=f;break}else f=p}if((vb[c[e+36>>2]&63](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=k;o=0}while(0);Dx(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 zv(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 Av(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 Bv(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=Ox(f|0,g|0,10,0)|0;h=e+-1|0;a[h>>0]=c|48;c=Nx(f|0,g|0,10,0)|0;if(g>>>0>9|(g|0)==9&f>>>0>4294967295){e=h;f=c;g=C}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 Cv(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 Dv(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;Fx(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){yv(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;yv(h,q,a)|0}while(0);i=g;return}function Ev(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=Fv(a,b,0)|0;return c|0}function Fv(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[(Yu()|0)>>2]=84;f=-1;break}}else f=1;while(0);return f|0}function Gv(a,b){a=+a;b=b|0;return +(+Hv(a,b))}function Hv(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=Cx(d|0,e|0,52)|0;g=f&2047;switch(g|0){case 0:{if(a!=0.0){i=+Hv(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 Iv(a){a=a|0;return 0}function Jv(a){a=a|0;var b=0;b=(nv(a)|0)==0;return (b?a:a&95)|0}function Kv(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 Lv(a){a=a|0;return ((a|0)==223|(jv(a)|0)!=(a|0))&1|0}function Mv(a){a=a|0;var b=0;if(a>>>0>=255)if((a+-57344|0)>>>0<8185|(a>>>0<8232|(a+-8234|0)>>>0<47062))b=1;else return ((a+-65532|0)>>>0>1048579|(a&65534|0)==65534)&1^1|0;else b=(a+1&127)>>>0>32&1;return b|0}function Nv(a,b){a=a|0;b=b|0;var c=0;do switch(b|0){case 1:{c=Ov(a)|0;break}case 2:{c=lv(a)|0;break}case 3:{c=ev(a)|0;break}case 4:{c=Qv(a)|0;break}case 5:{c=Pv(a)|0;break}case 6:{c=Rv(a)|0;break}case 7:{c=Lv(a)|0;break}case 8:{c=Mv(a)|0;break}case 9:{c=Sv(a)|0;break}case 10:{c=pv(a)|0;break}case 11:{c=Tv(a)|0;break}case 12:{c=Uv(a)|0;break}default:c=0}while(0);return c|0}function Ov(a){a=a|0;var b=0;if(!(Pv(a)|0))b=(lv(a)|0)!=0;else b=1;return b&1|0}function Pv(a){a=a|0;return (a+-48|0)>>>0<10|0}function Qv(a){a=a|0;var b=0;if((a&-2|0)==8232|(a>>>0<32|(a+-127|0)>>>0<33))b=1;else b=(a+-65529|0)>>>0<3;return b&1|0}function Rv(a){a=a|0;var b=0;if(!(pv(a)|0))b=(Mv(a)|0)!=0;else b=0;return b&1|0}function Sv(a){a=a|0;var b=0;if(a>>>0<131072)b=(d[67061+((d[67061+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else b=0;return b|0}function Tv(a){a=a|0;return (mv(a)|0)!=(a|0)|0}function Uv(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 Vv(b,c){b=b|0;c=c|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[b>>0]|0;a:do if(!(e<<24>>24)){f=0;g=c}else{h=e;i=e&255;j=b;k=c;while(1){l=a[k>>0]|0;if(!(l<<24>>24)){f=h;g=k;break a}if(h<<24>>24!=l<<24>>24?(l=hv(i)|0,(l|0)!=(hv(d[k>>0]|0)|0)):0){m=j;n=k;break}j=j+1|0;l=k+1|0;o=a[j>>0]|0;if(!(o<<24>>24)){f=0;g=l;break a}else{h=o;i=o&255;k=l}}f=a[m>>0]|0;g=n}while(0);n=hv(f&255)|0;return n-(hv(d[g>>0]|0)|0)|0}function Wv(a,b){a=a|0;b=b|0;Xv(a,b)|0;return a|0}function Xv(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=d;a:do if(!((e^b)&3)){if(!(e&3)){f=d;g=b}else{h=b;i=d;while(1){j=a[i>>0]|0;a[h>>0]=j;if(!(j<<24>>24)){k=h;break a}j=i+1|0;l=h+1|0;if(!(j&3)){f=j;g=l;break}else{h=l;i=j}}}i=c[f>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009)){h=i;i=g;j=f;while(1){l=j+4|0;m=i+4|0;c[i>>2]=h;h=c[l>>2]|0;if((h&-2139062144^-2139062144)&h+-16843009){n=m;o=l;break}else{i=m;j=l}}}else{n=g;o=f}p=o;q=n;r=8}else{p=d;q=b;r=8}while(0);if((r|0)==8){r=a[p>>0]|0;a[q>>0]=r;if(!(r<<24>>24))k=q;else{r=q;q=p;while(1){q=q+1|0;p=r+1|0;b=a[q>>0]|0;a[p>>0]=b;if(!(b<<24>>24)){k=p;break}else r=p}}}return k|0}function Yv(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Zv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=_v(a,b,c,-1,0)|0;return d|0}function _v(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;$v(h,0);l=aw(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 $v(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function aw(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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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[(Yu()|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=bw(b)|0}while((Yv(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=bw(b)|0;r=m;break b}break}default:{q=o;r=0}}while(0);m=(e|0)==0;do if((e|16|0)==16&(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=bw(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=bw(b)|0;if((d[70230+y>>0]|0)>15){p=(c[l>>2]|0)==0;if(!p)c[k>>2]=(c[k>>2]|0)+-1;if(!f){$v(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[70230+q>>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;$v(b,0);c[(Yu()|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=bw(b)|0;p=B+-48|0;if(!(p>>>0<10&z>>>0<429496729)){D=z;E=B;break}else m=z}F=D;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=Mx(p|0,z|0,10,0)|0;J=C;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=Ax(I|0,J|0,A|0,K|0)|0;K=C;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=bw(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[70486+((t*23|0)>>>5&7)>>0]|0;A=a[70230+u>>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=bw(b)|0;L=a[70230+Y>>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=Cx(-1,-1,m|0)|0;p=C;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=Ix(fa|0,ga|0,m|0)|0;L=C;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=bw(b)|0;ha=a[70230+ia>>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[70230+u>>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=bw(b)|0;L=a[70230+ja>>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=Nx(-1,-1,t|0,0)|0;m=C;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=Mx(L|0,A|0,t|0,0)|0;ra=C;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=Ax(sa|0,0,I|0,ra|0)|0;ra=C;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=bw(b)|0;J=a[70230+ua>>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[70230+X>>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=bw(b)|0}while((d[70230+va>>0]|0)>>>0<U>>>0);c[(Yu()|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[(Yu()|0)>>2]=34;K=Ax(g|0,h|0,-1,-1)|0;i=C;j=K;break}if(R>>>0>h>>>0|(R|0)==(h|0)&S>>>0>g>>>0){c[(Yu()|0)>>2]=34;i=h;j=g;break}}K=((T|0)<0)<<31>>31;L=zx(S^T|0,R^K|0,T|0,K|0)|0;i=C;j=L}while(0);C=i;return j|0}function bw(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;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=cw(b)|0;if((f|0)>=0){h=c[e>>2]|0;e=c[b+8>>2]|0;if(h){i=c[b+4>>2]|0;j=h-(c[b+108>>2]|0)|0;h=e;if((e-i|0)<(j|0)){k=h;g=9}else{c[b+100>>2]=i+(j+-1);l=h}}else{k=e;g=9}if((g|0)==9){c[b+100>>2]=e;l=k}k=b+4|0;if(!l)m=c[k>>2]|0;else{e=c[k>>2]|0;k=b+108|0;c[k>>2]=l+1-e+(c[k>>2]|0);m=e}e=m+-1|0;if((d[e>>0]|0|0)==(f|0))n=f;else{a[e>>0]=f;n=f}}else g=4}if((g|0)==4){c[b+100>>2]=0;n=-1}return n|0}function cw(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?(dw(a)|0)!=0:0)f=-1;else if((vb[c[a+32>>2]&63](a,e,1)|0)==1)f=d[e>>0]|0;else f=-1;i=b;return f|0}function dw(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)vb[c[b+36>>2]&63](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 ew(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=fw(a,b,f)|0;i=e;return d|0} -function qn(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;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+8|0;n=e+4|0;o=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[l>>2]=nn(c[h>>2]|0)|0;c[l>>2]=c[l>>2]^c[(c[f>>2]|0)+4096+16>>2];c[m>>2]=nn((c[h>>2]|0)+4|0)|0;c[m>>2]=c[m>>2]^c[(c[f>>2]|0)+4096+20>>2];c[j>>2]=nn((c[h>>2]|0)+8|0)|0;c[j>>2]=c[j>>2]^c[(c[f>>2]|0)+4096+24>>2];c[k>>2]=nn((c[h>>2]|0)+12|0)|0;c[k>>2]=c[k>>2]^c[(c[f>>2]|0)+4096+28>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+124>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[j>>2]=(c[j>>2]<<1)+((c[j>>2]|0)>>>31);c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+120>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+116>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31);c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+112>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+108>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[j>>2]=(c[j>>2]<<1)+((c[j>>2]|0)>>>31);c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+104>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+100>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31);c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+96>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+92>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[j>>2]=(c[j>>2]<<1)+((c[j>>2]|0)>>>31);c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+88>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+84>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31);c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+80>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+76>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[j>>2]=(c[j>>2]<<1)+((c[j>>2]|0)>>>31);c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+72>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+68>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31);c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+64>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+60>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[j>>2]=(c[j>>2]<<1)+((c[j>>2]|0)>>>31);c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+56>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+52>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31);c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+48>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+44>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[j>>2]=(c[j>>2]<<1)+((c[j>>2]|0)>>>31);c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+40>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+36>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31);c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+32>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+28>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[j>>2]=(c[j>>2]<<1)+((c[j>>2]|0)>>>31);c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+24>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+20>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31);c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+16>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+12>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[j>>2]=(c[j>>2]<<1)+((c[j>>2]|0)>>>31);c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+8>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+4>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31);c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128>>2]|0);c[j>>2]=c[j>>2]^c[(c[f>>2]|0)+4096>>2];on(c[g>>2]|0,c[j>>2]|0);c[k>>2]=c[k>>2]^c[(c[f>>2]|0)+4096+4>>2];on((c[g>>2]|0)+4|0,c[k>>2]|0);c[l>>2]=c[l>>2]^c[(c[f>>2]|0)+4096+8>>2];on((c[g>>2]|0)+8|0,c[l>>2]|0);c[m>>2]=c[m>>2]^c[(c[f>>2]|0)+4096+12>>2];on((c[g>>2]|0)+12|0,c[m>>2]|0);i=e;return}function rn(){var a=0,b=0;a=i;i=i+16|0;c[a+8>>2]=4;c[a+4>>2]=16;c[a>>2]=4256;b=as(43442,13,14,8,4,16,4256)|0;i=a;return b|0}function sn(b,e,f,g,h){b=b|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+96|0;k=j+60|0;l=j+56|0;m=j+52|0;n=j+48|0;o=j+44|0;p=j+40|0;q=j+36|0;r=j+32|0;s=j+72|0;t=j+28|0;u=j+24|0;v=j+20|0;w=j+16|0;x=j+12|0;y=j+64|0;z=j;A=j+8|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[k>>2];c[q>>2]=c[m>>2];c[r>>2]=c[n>>2];c[u>>2]=0;while(1){if(!(c[o>>2]|0))break;c[t>>2]=ln(c[p>>2]|0,s,c[l>>2]|0)|0;if((c[t>>2]|0)>>>0>(c[u>>2]|0)>>>0)c[u>>2]=c[t>>2];tn(c[q>>2]|0,s,c[r>>2]|0,16);c[q>>2]=(c[q>>2]|0)+16;c[r>>2]=(c[r>>2]|0)+16;c[v>>2]=16;while(1){if((c[v>>2]|0)<=0)break;n=(c[l>>2]|0)+((c[v>>2]|0)-1)|0;a[n>>0]=(a[n>>0]|0)+1<<24>>24;if(a[(c[l>>2]|0)+((c[v>>2]|0)-1)>>0]|0)break;c[v>>2]=(c[v>>2]|0)+-1}c[o>>2]=(c[o>>2]|0)+-1}c[w>>2]=s;c[x>>2]=16;a[y>>0]=0;s=z;c[s>>2]=d[y>>0];c[s+4>>2]=0;while(1){if(!((c[w>>2]&7|0)!=0?(c[x>>2]|0)!=0:0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}if((c[x>>2]|0)>>>0>=8){s=z;o=Mx(c[s>>2]|0,c[s+4>>2]|0,16843009,16843009)|0;s=z;c[s>>2]=o;c[s+4>>2]=C;do{c[A>>2]=c[w>>2];s=z;o=c[s+4>>2]|0;v=c[A>>2]|0;c[v>>2]=c[s>>2];c[v+4>>2]=o;c[x>>2]=(c[x>>2]|0)-8;c[w>>2]=(c[w>>2]|0)+8}while((c[x>>2]|0)>>>0>=8)}while(1){if(!(c[x>>2]|0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}If(c[u>>2]|0);Jf();i=j;return}function tn(b,e,f,g){b=b|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+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function un(){var a=0,b=0;a=i;i=i+16|0;c[a+8>>2]=5;c[a+4>>2]=16;c[a>>2]=4256;b=Yr(43442,13,14,6,5,16,4256)|0;i=a;return b|0}function vn(b,e,f,g,h){b=b|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;j=i;i=i+80|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+28|0;s=j+64|0;t=j+24|0;u=j+20|0;v=j+16|0;w=j+12|0;x=j+60|0;y=j;z=j+8|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[k>>2];c[q>>2]=c[m>>2];c[r>>2]=c[n>>2];c[u>>2]=0;while(1){if(!(c[o>>2]|0))break;c[t>>2]=pn(c[p>>2]|0,s,c[r>>2]|0)|0;if((c[t>>2]|0)>>>0>(c[u>>2]|0)>>>0)c[u>>2]=c[t>>2];wn(c[q>>2]|0,s,c[l>>2]|0,c[r>>2]|0,16);c[r>>2]=(c[r>>2]|0)+16;c[q>>2]=(c[q>>2]|0)+16;c[o>>2]=(c[o>>2]|0)+-1}c[v>>2]=s;c[w>>2]=16;a[x>>0]=0;s=y;c[s>>2]=d[x>>0];c[s+4>>2]=0;while(1){if(!((c[v>>2]&7|0)!=0?(c[w>>2]|0)!=0:0))break;a[c[v>>2]>>0]=a[x>>0]|0;c[v>>2]=(c[v>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+-1}if((c[w>>2]|0)>>>0>=8){s=y;o=Mx(c[s>>2]|0,c[s+4>>2]|0,16843009,16843009)|0;s=y;c[s>>2]=o;c[s+4>>2]=C;do{c[z>>2]=c[v>>2];s=y;o=c[s+4>>2]|0;q=c[z>>2]|0;c[q>>2]=c[s>>2];c[q+4>>2]=o;c[w>>2]=(c[w>>2]|0)-8;c[v>>2]=(c[v>>2]|0)+8}while((c[w>>2]|0)>>>0>=8)}while(1){if(!(c[w>>2]|0))break;a[c[v>>2]>>0]=a[x>>0]|0;c[v>>2]=(c[v>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+-1}If(c[u>>2]|0);Jf();i=j;return}function wn(b,e,f,g,h){b=b|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;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+28|0;s=j+24|0;t=j+60|0;u=j+20|0;v=j+16|0;w=j+12|0;x=j+8|0;y=j+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[k>>2];c[q>>2]=c[m>>2];c[r>>2]=c[l>>2];c[s>>2]=c[n>>2];c[j>>2]=3;if(!((c[s>>2]|c[r>>2]|c[p>>2]|c[q>>2])&3)){c[u>>2]=c[p>>2];c[x>>2]=c[r>>2];c[v>>2]=c[q>>2];c[w>>2]=c[s>>2];while(1){if((c[o>>2]|0)>>>0<4)break;n=c[w>>2]|0;c[w>>2]=n+4;c[y>>2]=c[n>>2];n=c[c[v>>2]>>2]|0;l=c[x>>2]|0;c[x>>2]=l+4;m=n^c[l>>2];l=c[u>>2]|0;c[u>>2]=l+4;c[l>>2]=m;m=c[y>>2]|0;l=c[v>>2]|0;c[v>>2]=l+4;c[l>>2]=m;c[o>>2]=(c[o>>2]|0)-4}c[p>>2]=c[u>>2];c[r>>2]=c[x>>2];c[q>>2]=c[v>>2];c[s>>2]=c[w>>2]}while(1){if(!(c[o>>2]|0))break;w=c[s>>2]|0;c[s>>2]=w+1;a[t>>0]=a[w>>0]|0;w=d[c[q>>2]>>0]|0;v=c[r>>2]|0;c[r>>2]=v+1;x=(w^(d[v>>0]|0))&255;v=c[p>>2]|0;c[p>>2]=v+1;a[v>>0]=x;x=a[t>>0]|0;v=c[q>>2]|0;c[q>>2]=v+1;a[v>>0]=x;c[o>>2]=(c[o>>2]|0)+-1}i=j;return}function xn(){var a=0,b=0;a=i;i=i+16|0;c[a+8>>2]=5;c[a+4>>2]=16;c[a>>2]=4256;b=_r(43442,13,14,7,5,16,4256)|0;i=a;return b|0}function yn(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;g=i;i=i+48|0;h=g+36|0;j=g+32|0;k=g+28|0;l=g+24|0;m=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;q=g+4|0;r=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[h>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[r>>2]=0;while(1){if(!(c[m>>2]|0))break;c[q>>2]=ln(c[n>>2]|0,c[j>>2]|0,c[j>>2]|0)|0;if((c[q>>2]|0)>>>0>(c[r>>2]|0)>>>0)c[r>>2]=c[q>>2];zn(c[o>>2]|0,c[j>>2]|0,c[p>>2]|0,16);c[o>>2]=(c[o>>2]|0)+16;c[p>>2]=(c[p>>2]|0)+16;c[m>>2]=(c[m>>2]|0)+-1}If(c[r>>2]|0);Jf();i=g;return}function zn(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;wn(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}function An(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[17706]=c[e>>2];c[17707]=c[f>>2];i=d;return}function Bn(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[17706]|0)){i=f;return}wb[c[17706]&15](c[17707]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}function Cn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;do if(c[d>>2]|0){if((c[d>>2]|0)==1){c[17709]=1;break}if(!(c[17708]|0)){if((c[d>>2]|0)==2){c[17710]=1;break}if((c[d>>2]|0)==3)c[17711]=1}}else c[17708]=1;while(0);i=b;return}function Dn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(Ah()|0){et(c[d>>2]|0);i=b;return}if(c[17709]|0){Fs(c[d>>2]|0);i=b;return}if(c[17710]|0){et(c[d>>2]|0);i=b;return}a=c[d>>2]|0;if(c[17711]|0){It(a);i=b;return}else{Fs(a);i=b;return}}function En(){if(Ah()|0){kt();return}if(c[17709]|0){Ps();return}if(c[17710]|0){kt();return}if(c[17711]|0){Kt();return}else{Ps();return}}function Fn(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if((c[e>>2]|0)==0?(Ah()|0)!=0:0)c[d>>2]=2;else f=4;do if((f|0)==4){if(c[17709]|0){c[d>>2]=1;break}if(c[17710]|0){c[d>>2]=2;break}if(c[17711]|0){c[d>>2]=3;break}else{c[d>>2]=1;break}}while(0);i=b;return c[d>>2]|0}function Gn(){if(Ah()|0){lt();return}else{Qs();return}}function Hn(){if(Ah()|0)return;Rs();return}function In(){if(Ah()|0)return;Ss();return}function Jn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(Ah()|0){i=b;return}Ts(c[d>>2]|0);i=b;return}function Kn(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(Ah()|0)c[d>>2]=0;else c[d>>2]=Us(c[e>>2]|0)|0;i=b;return c[d>>2]|0}function Ln(){var a=0,b=0;a=i;i=i+16|0;b=a;if(Ah()|0)c[b>>2]=mt()|0;else c[b>>2]=Vs()|0;i=a;return c[b>>2]|0}function Mn(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+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=dg(c[e>>2]|0)|0;Nn(c[g>>2]|0,c[e>>2]|0,c[f>>2]|0);i=d;return c[g>>2]|0}function Nn(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(Ah()|0){nt(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}if(c[17709]|0){Ws(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}if(c[17710]|0){nt(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}d=c[f>>2]|0;f=c[g>>2]|0;g=c[h>>2]|0;if(c[17711]|0){Nt(d,f,g);i=e;return}else{Ws(d,f,g);i=e;return}}function On(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+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=fg(c[e>>2]|0)|0;Nn(c[g>>2]|0,c[e>>2]|0,c[f>>2]|0);i=d;return c[g>>2]|0}function Pn(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;Nn(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function Qn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(Ah()|0){i=b;return}if(c[17709]|0){bt(c[d>>2]|0);i=b;return}if((c[17710]|0)!=0|(c[17711]|0)!=0){i=b;return}bt(c[d>>2]|0);i=b;return}function Rn(){if(Ah()|0)return;if(c[17709]|0){ct();return}if((c[17710]|0)!=0|(c[17711]|0)!=0)return;ct();return}function Sn(){if(Ah()|0)return;if(c[17709]|0){dt();return}if((c[17710]|0)!=0|(c[17711]|0)!=0)return;dt();return}function Tn(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+8|0;g=e;h=e+40|0;j=e+36|0;k=e+32|0;l=e+28|0;m=e+24|0;n=e+20|0;o=e+16|0;p=e+12|0;c[h>>2]=b;c[j>>2]=d;if(Ah()|0){At(c[h>>2]|0,c[j>>2]|0);i=e;return}Dn(1);c[n>>2]=lu(12532)|0;if(c[n>>2]|0){c[g>>2]=fu(c[n>>2]|0)|0;Bf(45492,g)}c[k>>2]=Dw()|0;if(c[17712]|0){if((c[17713]|0)!=(c[k>>2]|0)){Nn(76451,8,0);c[17713]=c[k>>2]}}else{c[o>>2]=jb(0)|0;c[p>>2]=c[k>>2];c[17713]=c[k>>2];c[l>>2]=76431;k=c[l>>2]|0;a[k>>0]=a[p>>0]|0;a[k+1>>0]=a[p+1>>0]|0;a[k+2>>0]=a[p+2>>0]|0;a[k+3>>0]=a[p+3>>0]|0;c[l>>2]=(c[l>>2]|0)+4;p=c[l>>2]|0;a[p>>0]=a[o>>0]|0;a[p+1>>0]=a[o+1>>0]|0;a[p+2>>0]=a[o+2>>0]|0;a[p+3>>0]=a[o+3>>0]|0;Pn(76451,8,0);c[17712]=1}c[l>>2]=c[h>>2];while(1){if((c[j>>2]|0)>>>0<=0)break;Bm(76431,76431,28);c[m>>2]=(c[j>>2]|0)>>>0>20?20:c[j>>2]|0;Dx(c[l>>2]|0,76431,c[m>>2]|0)|0;c[j>>2]=(c[j>>2]|0)-(c[m>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0)}c[n>>2]=mu(12532)|0;if(c[n>>2]|0){c[f>>2]=fu(c[n>>2]|0)|0;Bf(45537,f)}else{i=e;return}}function Un(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(Ah()|0)c[d>>2]=Bt(c[e>>2]|0)|0;else c[d>>2]=0;i=b;return c[d>>2]|0}function Vn(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;k=i;i=i+48|0;l=k+32|0;m=k+28|0;n=k+24|0;o=k+20|0;p=k+16|0;q=k+12|0;r=k+8|0;s=k+4|0;t=k;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;if(Ah()|0){c[l>>2]=Ft(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;u=c[l>>2]|0;i=k;return u|0}else{c[l>>2]=60;u=c[l>>2]|0;i=k;return u|0}return 0}function Wn(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+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(Ah()|0){c[f>>2]=Gt(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;k=c[f>>2]|0;i=e;return k|0}else{c[f>>2]=60;k=c[f>>2]|0;i=e;return k|0}return 0}function Xn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(Ah()|0)){i=b;return}Ht(c[d>>2]|0);i=b;return}function Yn(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;f=i;i=i+144|0;g=f+8|0;h=f;j=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+32|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;e=c[j>>2]|0;if(!(c[k>>2]|0)){c[h>>2]=e;tv(o,99,45582,h)|0;Hf(o,0);i=f;return}c[g>>2]=e;tv(o,99,45587,g)|0;if(c[l>>2]|0){c[m>>2]=vq(0)|0;c[n>>2]=vq(0)|0}if((c[l>>2]|0)!=0?(Zn(c[m>>2]|0,c[n>>2]|0,c[k>>2]|0,c[l>>2]|0)|0)==0:0){a[o+((Kv(o)|0)-1)>>0]=120;Hf(o,c[m>>2]|0);a[o+((Kv(o)|0)-1)>>0]=121;Hf(o,c[n>>2]|0)}else{Hf(o,c[c[k>>2]>>2]|0);a[o+((Kv(o)|0)-1)>>0]=89;Hf(o,c[(c[k>>2]|0)+4>>2]|0);a[o+((Kv(o)|0)-1)>>0]=90;Hf(o,c[(c[k>>2]|0)+8>>2]|0)}if(!(c[l>>2]|0)){i=f;return}xq(c[m>>2]|0);xq(c[n>>2]|0);i=f;return}function Zn(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+48|0;g=f;h=f+40|0;j=f+36|0;k=f+32|0;l=f+28|0;m=f+24|0;n=f+20|0;o=f+16|0;p=f+12|0;q=f+8|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;if(!($o(c[(c[l>>2]|0)+8>>2]|0,0)|0)){c[h>>2]=-1;r=c[h>>2]|0;i=f;return r|0}switch(c[c[m>>2]>>2]|0){case 0:{c[n>>2]=vq(0)|0;c[o>>2]=vq(0)|0;_n(c[n>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[m>>2]|0);$n(c[o>>2]|0,c[n>>2]|0,c[n>>2]|0,c[m>>2]|0);if(c[j>>2]|0)$n(c[j>>2]|0,c[c[l>>2]>>2]|0,c[o>>2]|0,c[m>>2]|0);if(c[k>>2]|0){c[p>>2]=vq(0)|0;$n(c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0);$n(c[k>>2]|0,c[(c[l>>2]|0)+4>>2]|0,c[p>>2]|0,c[m>>2]|0);hq(c[p>>2]|0)}hq(c[o>>2]|0);hq(c[n>>2]|0);c[h>>2]=0;r=c[h>>2]|0;i=f;return r|0}case 1:{if(c[j>>2]|0)oq(c[j>>2]|0,c[c[l>>2]>>2]|0)|0;if(c[k>>2]|0){c[g>>2]=45683;c[g+4>>2]=45707;Bf(45634,g)}c[h>>2]=0;r=c[h>>2]|0;i=f;return r|0}case 2:{c[q>>2]=vq(0)|0;_n(c[q>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[m>>2]|0);if(c[j>>2]|0)$n(c[j>>2]|0,c[c[l>>2]>>2]|0,c[q>>2]|0,c[m>>2]|0);if(c[k>>2]|0)$n(c[k>>2]|0,c[(c[l>>2]|0)+4>>2]|0,c[q>>2]|0,c[m>>2]|0);xq(c[q>>2]|0);c[h>>2]=0;r=c[h>>2]|0;i=f;return r|0}default:{c[h>>2]=-1;r=c[h>>2]|0;i=f;return r|0}}return 0}function _n(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+16|0;f=e+12|0;g=e+8|0;h=e+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(pp(c[f>>2]|0,c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0)|0){i=e;return}Af(45592,e);Hf(45626,c[g>>2]|0);Hf(45630,c[(c[h>>2]|0)+16>>2]|0);i=e;return}function $n(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;up(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);ao(c[g>>2]|0,c[k>>2]|0);i=f;return}function ao(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;a=c[e>>2]|0;e=c[f>>2]|0;if(c[(c[f>>2]|0)+48+12>>2]|0){tp(b,a,c[e+48+12>>2]|0);i=d;return}else{qp(b,a,c[e+16>>2]|0);i=d;return}}function bo(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[b+4>>2]=a;c[d>>2]=dg(12)|0;co(c[d>>2]|0);i=b;return c[d>>2]|0}function co(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=vq(0)|0;c[c[d>>2]>>2]=a;a=vq(0)|0;c[(c[d>>2]|0)+4>>2]=a;a=vq(0)|0;c[(c[d>>2]|0)+8>>2]=a;i=b;return}function eo(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}fo(c[d>>2]|0);$f(c[d>>2]|0);i=b;return}function fo(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;hq(c[c[d>>2]>>2]|0);c[c[d>>2]>>2]=0;hq(c[(c[d>>2]|0)+4>>2]|0);c[(c[d>>2]|0)+4>>2]=0;hq(c[(c[d>>2]|0)+8>>2]|0);c[(c[d>>2]|0)+8>>2]=0;i=b;return}function go(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[g>>2]|0))c[g>>2]=bo(0)|0;e=c[c[g>>2]>>2]|0;if(c[h>>2]|0)oq(e,c[h>>2]|0)|0;else fq(e);e=c[(c[g>>2]|0)+4>>2]|0;if(c[j>>2]|0)oq(e,c[j>>2]|0)|0;else fq(e);e=c[(c[g>>2]|0)+8>>2]|0;if(c[k>>2]|0){oq(e,c[k>>2]|0)|0;l=c[g>>2]|0;i=f;return l|0}else{fq(e);l=c[g>>2]|0;i=f;return l|0}return 0}function ho(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[g>>2]|0))c[g>>2]=bo(0)|0;e=c[c[g>>2]>>2]|0;if(c[h>>2]|0)qq(e,c[h>>2]|0);else fq(e);e=c[(c[g>>2]|0)+4>>2]|0;if(c[j>>2]|0)qq(e,c[j>>2]|0);else fq(e);e=c[(c[g>>2]|0)+8>>2]|0;if(c[k>>2]|0){qq(e,c[k>>2]|0);l=c[g>>2]|0;i=f;return l|0}else{fq(e);l=c[g>>2]|0;i=f;return l|0}return 0}function io(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+48|0;a[b>>0]=a[b>>0]&-2;b=(c[e>>2]|0)+48|0;a[b>>0]=a[b>>0]&-3;i=d;return}function jo(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;h=i;i=i+32|0;j=h+24|0;k=h+20|0;l=h+16|0;m=h+12|0;n=h+8|0;o=h+4|0;p=h;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=gg(1,108)|0;ko(c[p>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0);i=h;return c[p>>2]|0}function ko(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,n=0,o=0,p=0,q=0,r=0,s=0;j=i;i=i+32|0;k=j+28|0;l=j+24|0;m=j+20|0;n=j+16|0;o=j+12|0;p=j+8|0;q=j+4|0;r=j;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;do if(!(c[17714]|0))if(Ya(45718)|0){c[17714]=1;break}else{c[17714]=-1;break}while(0);c[c[k>>2]>>2]=c[l>>2];c[(c[k>>2]|0)+4>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=c[n>>2];if((c[m>>2]|0)==1)c[(c[k>>2]|0)+12>>2]=256;else{m=Ro(c[o>>2]|0)|0;c[(c[k>>2]|0)+12>>2]=m}m=mq(c[o>>2]|0)|0;c[(c[k>>2]|0)+16>>2]=m;m=mq(c[p>>2]|0)|0;c[(c[k>>2]|0)+20>>2]=m;m=mq(c[q>>2]|0)|0;c[(c[k>>2]|0)+24>>2]=m;if((c[17714]|0)>0)s=rp(c[(c[k>>2]|0)+16>>2]|0,0)|0;else s=0;c[(c[k>>2]|0)+48+12>>2]=s;io(c[k>>2]|0);c[r>>2]=0;while(1){if((c[r>>2]|0)>>>0>=11)break;s=pq(c[(c[k>>2]|0)+16>>2]|0)|0;c[(c[k>>2]|0)+48+16+(c[r>>2]<<2)>>2]=s;c[r>>2]=(c[r>>2]|0)+1}i=j;return}function lo(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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=i;i=i+48|0;k=j+36|0;l=j+32|0;m=j+28|0;n=j+24|0;o=j+20|0;p=j+16|0;q=j+12|0;r=j+8|0;s=j+4|0;t=j;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[c[l>>2]>>2]=0;if(!((c[p>>2]|0)!=0&(c[q>>2]|0)!=0)){c[k>>2]=32816;u=c[k>>2]|0;i=j;return u|0}c[s>>2]=Wh(1,108,5)|0;if(c[s>>2]|0){c[t>>2]=Xh(c[s>>2]|0,1)|0;ko(c[t>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0);c[c[l>>2]>>2]=c[s>>2];c[k>>2]=0;u=c[k>>2]|0;i=j;return u|0}else{c[k>>2]=iu()|0;u=c[k>>2]|0;i=j;return u|0}return 0}function mo(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[d>>2];sp(c[(c[e>>2]|0)+48+12>>2]|0);hq(c[(c[e>>2]|0)+16>>2]|0);hq(c[(c[e>>2]|0)+20>>2]|0);hq(c[(c[e>>2]|0)+24>>2]|0);eo(c[(c[e>>2]|0)+28>>2]|0);hq(c[(c[e>>2]|0)+32>>2]|0);hq(c[(c[e>>2]|0)+36>>2]|0);eo(c[(c[e>>2]|0)+40>>2]|0);hq(c[(c[e>>2]|0)+44>>2]|0);hq(c[(c[e>>2]|0)+48+8>>2]|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=11)break;hq(c[(c[e>>2]|0)+48+16+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=b;return}function no(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}mo(c[d>>2]|0);$f(c[d>>2]|0);i=b;return}function oo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=Xh(c[g>>2]|0,1)|0;g=Ei(c[f>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=e;return g|0}function po(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+16|0;f=e+12|0;g=e+8|0;h=e;c[f>>2]=a;c[g>>2]=b;c[e+4>>2]=d;c[h>>2]=Xh(c[g>>2]|0,1)|0;g=Fi(c[f>>2]|0,c[h>>2]|0)|0;i=e;return g|0}function qo(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;switch(c[c[h>>2]>>2]|0){case 0:{ro(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}case 1:{yo(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}case 2:{zo(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}default:{i=e;return}}}function ro(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(($o(c[(c[g>>2]|0)+4>>2]|0,0)|0)!=0?($o(c[(c[g>>2]|0)+8>>2]|0,0)|0)!=0:0){d=(so(c[h>>2]|0)|0)!=0;b=(c[h>>2]|0)+48+16|0;if(d){to(c[b>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[h>>2]|0);uo(c[(c[h>>2]|0)+48+16+12>>2]|0,c[c[g>>2]>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[h>>2]|0);d=c[(c[h>>2]|0)+48+16+12>>2]|0;a=c[(c[h>>2]|0)+48+16+12>>2]|0;j=Aq(3)|0;$n(d,a,j,c[h>>2]|0);vo(c[(c[h>>2]|0)+48+16+4>>2]|0,c[c[g>>2]>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[h>>2]|0);$n(c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16+4>>2]|0,c[h>>2]|0)}else{to(c[b+12>>2]|0,c[c[g>>2]>>2]|0,c[h>>2]|0);b=c[(c[h>>2]|0)+48+16+12>>2]|0;j=c[(c[h>>2]|0)+48+16+12>>2]|0;a=Aq(3)|0;$n(b,j,a,c[h>>2]|0);a=c[(c[h>>2]|0)+48+16>>2]|0;j=c[(c[g>>2]|0)+8>>2]|0;b=Aq(4)|0;wo(a,j,b,c[h>>2]|0);$n(c[(c[h>>2]|0)+48+16>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[(c[h>>2]|0)+20>>2]|0,c[h>>2]|0);vo(c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[h>>2]|0)}$n(c[(c[f>>2]|0)+8>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[h>>2]|0);xo(c[(c[f>>2]|0)+8>>2]|0,c[(c[f>>2]|0)+8>>2]|0,c[h>>2]|0);to(c[(c[h>>2]|0)+48+16+4>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0);$n(c[(c[h>>2]|0)+48+16+16>>2]|0,c[(c[h>>2]|0)+48+16+4>>2]|0,c[c[g>>2]>>2]|0,c[h>>2]|0);g=c[(c[h>>2]|0)+48+16+16>>2]|0;b=c[(c[h>>2]|0)+48+16+16>>2]|0;j=Aq(4)|0;$n(g,b,j,c[h>>2]|0);to(c[c[f>>2]>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0,c[h>>2]|0);xo(c[(c[h>>2]|0)+48+16>>2]|0,c[(c[h>>2]|0)+48+16+16>>2]|0,c[h>>2]|0);uo(c[c[f>>2]>>2]|0,c[c[f>>2]>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[h>>2]|0);to(c[(c[h>>2]|0)+48+16+4>>2]|0,c[(c[h>>2]|0)+48+16+4>>2]|0,c[h>>2]|0);j=c[(c[h>>2]|0)+48+16+20>>2]|0;b=c[(c[h>>2]|0)+48+16+4>>2]|0;g=Aq(5)|0;$n(j,b,g,c[h>>2]|0);uo(c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+48+16+16>>2]|0,c[c[f>>2]>>2]|0,c[h>>2]|0);$n(c[(c[f>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0,c[h>>2]|0);uo(c[(c[f>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+48+16+20>>2]|0,c[h>>2]|0);i=e;return}sq(c[c[f>>2]>>2]|0,1)|0;sq(c[(c[f>>2]|0)+4>>2]|0,1)|0;sq(c[(c[f>>2]|0)+8>>2]|0,0)|0;i=e;return}function so(b){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+4|0;f=d;c[e>>2]=b;if(a[(c[e>>2]|0)+48>>0]&1){g=c[e>>2]|0;h=g+48|0;j=h+4|0;k=c[j>>2]|0;i=d;return k|0}b=(c[e>>2]|0)+48|0;a[b>>0]=a[b>>0]&-2|1;c[f>>2]=pq(c[(c[e>>2]|0)+16>>2]|0)|0;Mo(c[f>>2]|0,c[(c[e>>2]|0)+16>>2]|0,3);b=((ap(c[(c[e>>2]|0)+20>>2]|0,c[f>>2]|0)|0)!=0^1)&1;c[(c[e>>2]|0)+48+4>>2]=b;hq(c[f>>2]|0);g=c[e>>2]|0;h=g+48|0;j=h+4|0;k=c[j>>2]|0;i=d;return k|0}function to(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;$n(c[f>>2]|0,c[g>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function uo(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[f>>2]=e;No(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);i=f;return}function vo(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;Lo(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);ao(c[g>>2]|0,c[k>>2]|0);i=f;return}function wo(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;wp(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0);i=f;return}function xo(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;_o(c[f>>2]|0,c[g>>2]|0,1);ao(c[f>>2]|0,c[h>>2]|0);i=e;return}function yo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+32|0;f=e;c[e+16>>2]=a;c[e+12>>2]=b;c[e+8>>2]=d;c[f>>2]=45759;c[f+4>>2]=45707;Bf(45733,f)}function zo(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;vo(c[(c[h>>2]|0)+48+16>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0);to(c[(c[h>>2]|0)+48+16>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[h>>2]|0);to(c[(c[h>>2]|0)+48+16+4>>2]|0,c[c[g>>2]>>2]|0,c[h>>2]|0);to(c[(c[h>>2]|0)+48+16+8>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0);d=c[(c[h>>2]|0)+48+16+12>>2]|0;b=c[h>>2]|0;if((c[(c[h>>2]|0)+4>>2]|0)==1){oq(d,c[b+48+16+4>>2]|0)|0;nq(c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0)}else $n(d,c[b+20>>2]|0,c[(c[h>>2]|0)+48+16+4>>2]|0,c[h>>2]|0);vo(c[(c[h>>2]|0)+48+16+16>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16+8>>2]|0,c[h>>2]|0);to(c[(c[h>>2]|0)+48+16+20>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[h>>2]|0);xo(c[(c[h>>2]|0)+48+16+24>>2]|0,c[(c[h>>2]|0)+48+16+20>>2]|0,c[h>>2]|0);uo(c[(c[h>>2]|0)+48+16+24>>2]|0,c[(c[h>>2]|0)+48+16+16>>2]|0,c[(c[h>>2]|0)+48+16+24>>2]|0,c[h>>2]|0);uo(c[c[f>>2]>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[(c[h>>2]|0)+48+16+4>>2]|0,c[h>>2]|0);uo(c[c[f>>2]>>2]|0,c[c[f>>2]>>2]|0,c[(c[h>>2]|0)+48+16+8>>2]|0,c[h>>2]|0);$n(c[c[f>>2]>>2]|0,c[c[f>>2]>>2]|0,c[(c[h>>2]|0)+48+16+24>>2]|0,c[h>>2]|0);uo(c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16+8>>2]|0,c[h>>2]|0);$n(c[(c[f>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+48+16+16>>2]|0,c[h>>2]|0);$n(c[(c[f>>2]|0)+8>>2]|0,c[(c[h>>2]|0)+48+16+16>>2]|0,c[(c[h>>2]|0)+48+16+24>>2]|0,c[h>>2]|0);i=e;return}function Ao(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;switch(c[c[k>>2]>>2]|0){case 0:{Bo(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}case 1:{Do(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}case 2:{Eo(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}default:{i=f;return}}}function Bo(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+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;m=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if(((ap(c[c[h>>2]>>2]|0,c[c[j>>2]>>2]|0)|0)==0?(ap(c[(c[h>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0)==0:0)?(ap(c[(c[h>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+8>>2]|0)|0)==0:0){qo(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0);i=f;return}if(!($o(c[(c[h>>2]|0)+8>>2]|0,0)|0)){oq(c[c[g>>2]>>2]|0,c[c[j>>2]>>2]|0)|0;oq(c[(c[g>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;oq(c[(c[g>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+8>>2]|0)|0;i=f;return}if(!($o(c[(c[j>>2]|0)+8>>2]|0,0)|0)){oq(c[c[g>>2]>>2]|0,c[c[h>>2]>>2]|0)|0;oq(c[(c[g>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+4>>2]|0)|0;oq(c[(c[g>>2]|0)+8>>2]|0,c[(c[h>>2]|0)+8>>2]|0)|0;i=f;return}c[l>>2]=(($o(c[(c[h>>2]|0)+8>>2]|0,1)|0)!=0^1)&1;c[m>>2]=(($o(c[(c[j>>2]|0)+8>>2]|0,1)|0)!=0^1)&1;e=c[(c[k>>2]|0)+48+16>>2]|0;if(c[m>>2]|0)oq(e,c[c[h>>2]>>2]|0)|0;else{to(e,c[(c[j>>2]|0)+8>>2]|0,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16>>2]|0,c[(c[k>>2]|0)+48+16>>2]|0,c[c[h>>2]>>2]|0,c[k>>2]|0)}e=c[(c[k>>2]|0)+48+16+4>>2]|0;if(c[l>>2]|0)oq(e,c[c[j>>2]>>2]|0)|0;else{to(e,c[(c[h>>2]|0)+8>>2]|0,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+4>>2]|0,c[(c[k>>2]|0)+48+16+4>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0)}uo(c[(c[k>>2]|0)+48+16+8>>2]|0,c[(c[k>>2]|0)+48+16>>2]|0,c[(c[k>>2]|0)+48+16+4>>2]|0,c[k>>2]|0);e=c[(c[k>>2]|0)+48+16+12>>2]|0;l=c[(c[j>>2]|0)+8>>2]|0;m=Aq(3)|0;wo(e,l,m,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+12>>2]|0,c[(c[k>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[k>>2]|0);m=c[(c[k>>2]|0)+48+16+16>>2]|0;l=c[(c[h>>2]|0)+8>>2]|0;e=Aq(3)|0;wo(m,l,e,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+16>>2]|0,c[(c[k>>2]|0)+48+16+16>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[k>>2]|0);uo(c[(c[k>>2]|0)+48+16+20>>2]|0,c[(c[k>>2]|0)+48+16+12>>2]|0,c[(c[k>>2]|0)+48+16+16>>2]|0,c[k>>2]|0);e=($o(c[(c[k>>2]|0)+48+16+8>>2]|0,0)|0)!=0;l=(c[k>>2]|0)+48+16|0;if(e){vo(c[l+24>>2]|0,c[(c[k>>2]|0)+48+16>>2]|0,c[(c[k>>2]|0)+48+16+4>>2]|0,c[k>>2]|0);vo(c[(c[k>>2]|0)+48+16+28>>2]|0,c[(c[k>>2]|0)+48+16+12>>2]|0,c[(c[k>>2]|0)+48+16+16>>2]|0,c[k>>2]|0);$n(c[(c[g>>2]|0)+8>>2]|0,c[(c[h>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[k>>2]|0);$n(c[(c[g>>2]|0)+8>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[(c[k>>2]|0)+48+16+8>>2]|0,c[k>>2]|0);to(c[(c[k>>2]|0)+48+16+36>>2]|0,c[(c[k>>2]|0)+48+16+20>>2]|0,c[k>>2]|0);to(c[(c[k>>2]|0)+48+16+40>>2]|0,c[(c[k>>2]|0)+48+16+8>>2]|0,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+40>>2]|0,c[(c[k>>2]|0)+48+16+40>>2]|0,c[(c[k>>2]|0)+48+16+24>>2]|0,c[k>>2]|0);uo(c[c[g>>2]>>2]|0,c[(c[k>>2]|0)+48+16+36>>2]|0,c[(c[k>>2]|0)+48+16+40>>2]|0,c[k>>2]|0);xo(c[(c[k>>2]|0)+48+16+36>>2]|0,c[c[g>>2]>>2]|0,c[k>>2]|0);uo(c[(c[k>>2]|0)+48+16+32>>2]|0,c[(c[k>>2]|0)+48+16+40>>2]|0,c[(c[k>>2]|0)+48+16+36>>2]|0,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+32>>2]|0,c[(c[k>>2]|0)+48+16+32>>2]|0,c[(c[k>>2]|0)+48+16+20>>2]|0,c[k>>2]|0);j=c[(c[k>>2]|0)+48+16+36>>2]|0;e=c[(c[k>>2]|0)+48+16+8>>2]|0;m=Aq(3)|0;wo(j,e,m,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+36>>2]|0,c[(c[k>>2]|0)+48+16+36>>2]|0,c[(c[k>>2]|0)+48+16+28>>2]|0,c[k>>2]|0);uo(c[(c[g>>2]|0)+4>>2]|0,c[(c[k>>2]|0)+48+16+32>>2]|0,c[(c[k>>2]|0)+48+16+36>>2]|0,c[k>>2]|0);m=c[(c[g>>2]|0)+4>>2]|0;e=c[(c[g>>2]|0)+4>>2]|0;j=Co(c[k>>2]|0)|0;$n(m,e,j,c[k>>2]|0);i=f;return}j=($o(c[l+20>>2]|0,0)|0)!=0;l=c[g>>2]|0;if(j){sq(c[l>>2]|0,1)|0;sq(c[(c[g>>2]|0)+4>>2]|0,1)|0;sq(c[(c[g>>2]|0)+8>>2]|0,0)|0;i=f;return}else{qo(l,c[h>>2]|0,c[k>>2]|0);i=f;return}}function Co(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+16|0;f=e;c[f>>2]=b;if((d[(c[f>>2]|0)+48>>0]|0)>>>1&1){g=c[f>>2]|0;h=g+48|0;j=h+8|0;k=c[j>>2]|0;i=e;return k|0}b=(c[f>>2]|0)+48|0;a[b>>0]=a[b>>0]&-3|2;if(!(c[(c[f>>2]|0)+48+8>>2]|0)){b=$p(0)|0;c[(c[f>>2]|0)+48+8>>2]=b}b=c[(c[f>>2]|0)+48+8>>2]|0;l=Aq(2)|0;_n(b,l,c[f>>2]|0);g=c[f>>2]|0;h=g+48|0;j=h+8|0;k=c[j>>2]|0;i=e;return k|0}function Do(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+32|0;g=f;c[f+20>>2]=a;c[f+16>>2]=b;c[f+12>>2]=d;c[f+8>>2]=e;c[g>>2]=45782;c[g+4>>2]=45707;Bf(45733,g)}function Eo(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,S=0,T=0,U=0,V=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;$n(c[(c[k>>2]|0)+48+16>>2]|0,c[(c[h>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[k>>2]|0);to(c[(c[k>>2]|0)+48+16+4>>2]|0,c[(c[k>>2]|0)+48+16>>2]|0,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+8>>2]|0,c[c[h>>2]>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+16>>2]|0,c[(c[k>>2]|0)+24>>2]|0,c[(c[k>>2]|0)+48+16+8>>2]|0,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+16>>2]|0,c[(c[k>>2]|0)+48+16+16>>2]|0,c[(c[k>>2]|0)+48+16+12>>2]|0,c[k>>2]|0);uo(c[(c[k>>2]|0)+48+16+20>>2]|0,c[(c[k>>2]|0)+48+16+4>>2]|0,c[(c[k>>2]|0)+48+16+16>>2]|0,c[k>>2]|0);vo(c[(c[k>>2]|0)+48+16+24>>2]|0,c[(c[k>>2]|0)+48+16+4>>2]|0,c[(c[k>>2]|0)+48+16+16>>2]|0,c[k>>2]|0);vo(c[(c[k>>2]|0)+48+16+28>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[k>>2]|0);vo(c[c[g>>2]>>2]|0,c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[k>>2]|0);$n(c[c[g>>2]>>2]|0,c[c[g>>2]>>2]|0,c[(c[k>>2]|0)+48+16+28>>2]|0,c[k>>2]|0);uo(c[c[g>>2]>>2]|0,c[c[g>>2]>>2]|0,c[(c[k>>2]|0)+48+16+8>>2]|0,c[k>>2]|0);uo(c[c[g>>2]>>2]|0,c[c[g>>2]>>2]|0,c[(c[k>>2]|0)+48+16+12>>2]|0,c[k>>2]|0);$n(c[c[g>>2]>>2]|0,c[c[g>>2]>>2]|0,c[(c[k>>2]|0)+48+16+20>>2]|0,c[k>>2]|0);$n(c[c[g>>2]>>2]|0,c[c[g>>2]>>2]|0,c[(c[k>>2]|0)+48+16>>2]|0,c[k>>2]|0);j=c[(c[g>>2]|0)+4>>2]|0;h=c[k>>2]|0;if((c[(c[k>>2]|0)+4>>2]|0)==1){oq(j,c[h+48+16+8>>2]|0)|0;nq(c[(c[g>>2]|0)+4>>2]|0,c[(c[g>>2]|0)+4>>2]|0);uo(c[(c[g>>2]|0)+4>>2]|0,c[(c[k>>2]|0)+48+16+12>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[k>>2]|0);l=c[g>>2]|0;m=l+4|0;n=c[m>>2]|0;o=c[g>>2]|0;p=o+4|0;q=c[p>>2]|0;r=c[k>>2]|0;s=r+48|0;t=s+16|0;u=t+24|0;v=c[u>>2]|0;w=c[k>>2]|0;$n(n,q,v,w);x=c[g>>2]|0;y=x+4|0;z=c[y>>2]|0;A=c[g>>2]|0;B=A+4|0;C=c[B>>2]|0;D=c[k>>2]|0;E=D+48|0;F=E+16|0;G=c[F>>2]|0;H=c[k>>2]|0;$n(z,C,G,H);I=c[g>>2]|0;J=I+8|0;K=c[J>>2]|0;L=c[k>>2]|0;M=L+48|0;N=M+16|0;O=N+20|0;P=c[O>>2]|0;Q=c[k>>2]|0;R=Q+48|0;S=R+16|0;T=S+24|0;U=c[T>>2]|0;V=c[k>>2]|0;$n(K,P,U,V);i=f;return}else{$n(j,c[h+20>>2]|0,c[(c[k>>2]|0)+48+16+8>>2]|0,c[k>>2]|0);uo(c[(c[g>>2]|0)+4>>2]|0,c[(c[k>>2]|0)+48+16+12>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[k>>2]|0);l=c[g>>2]|0;m=l+4|0;n=c[m>>2]|0;o=c[g>>2]|0;p=o+4|0;q=c[p>>2]|0;r=c[k>>2]|0;s=r+48|0;t=s+16|0;u=t+24|0;v=c[u>>2]|0;w=c[k>>2]|0;$n(n,q,v,w);x=c[g>>2]|0;y=x+4|0;z=c[y>>2]|0;A=c[g>>2]|0;B=A+4|0;C=c[B>>2]|0;D=c[k>>2]|0;E=D+48|0;F=E+16|0;G=c[F>>2]|0;H=c[k>>2]|0;$n(z,C,G,H);I=c[g>>2]|0;J=I+8|0;K=c[J>>2]|0;L=c[k>>2]|0;M=L+48|0;N=M+16|0;O=N+20|0;P=c[O>>2]|0;Q=c[k>>2]|0;R=Q+48|0;S=R+16|0;T=S+24|0;U=c[T>>2]|0;V=c[k>>2]|0;$n(K,P,U,V);i=f;return}}function Fo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;oq(c[c[e>>2]>>2]|0,c[c[f>>2]>>2]|0)|0;oq(c[(c[e>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;oq(c[(c[e>>2]|0)+8>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0;i=d;return}function Go(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;f=i;i=i+176|0;g=f+168|0;h=f+164|0;j=f+160|0;k=f+156|0;l=f+152|0;m=f+148|0;n=f+144|0;o=f+140|0;p=f+136|0;q=f+132|0;r=f+128|0;s=f+124|0;t=f+112|0;u=f+100|0;v=f+88|0;w=f+84|0;x=f+80|0;y=f+68|0;z=f+64|0;A=f+60|0;B=f+48|0;C=f+36|0;D=f+32|0;E=f+28|0;F=f+24|0;G=f+20|0;H=f+16|0;I=f+12|0;J=f+8|0;K=f+4|0;L=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if((c[c[k>>2]>>2]|0)==2){c[w>>2]=Ro(c[h>>2]|0)|0;sq(c[c[g>>2]>>2]|0,0)|0;sq(c[(c[g>>2]|0)+4>>2]|0,1)|0;sq(c[(c[g>>2]|0)+8>>2]|0,1)|0;if((c[h>>2]|0)!=0?(c[(c[h>>2]|0)+12>>2]&1|0)!=0:0){co(y);c[x>>2]=(c[w>>2]|0)-1;while(1){if((c[x>>2]|0)<0)break;qo(c[g>>2]|0,c[g>>2]|0,c[k>>2]|0);Ao(y,c[g>>2]|0,c[j>>2]|0,c[k>>2]|0);if(So(c[h>>2]|0,c[x>>2]|0)|0)Fo(c[g>>2]|0,y);c[x>>2]=(c[x>>2]|0)+-1}fo(y);i=f;return}c[x>>2]=(c[w>>2]|0)-1;while(1){if((c[x>>2]|0)<0)break;qo(c[g>>2]|0,c[g>>2]|0,c[k>>2]|0);if(So(c[h>>2]|0,c[x>>2]|0)|0)Ao(c[g>>2]|0,c[g>>2]|0,c[j>>2]|0,c[k>>2]|0);c[x>>2]=(c[x>>2]|0)+-1}i=f;return}if((c[c[k>>2]>>2]|0)==1){c[z>>2]=Ro(c[h>>2]|0)|0;co(t);co(u);co(B);co(C);sq(c[t>>2]|0,1)|0;hq(c[u>>2]|0);c[u>>2]=mq(c[c[j>>2]>>2]|0)|0;sq(c[u+8>>2]|0,1)|0;c[I>>2]=(((c[z>>2]|0)+32-1<<1>>>0)/32|0)+1;eq(c[t>>2]|0,c[I>>2]|0);eq(c[t+8>>2]|0,c[I>>2]|0);eq(c[u>>2]|0,c[I>>2]|0);eq(c[u+8>>2]|0,c[I>>2]|0);eq(c[B>>2]|0,c[I>>2]|0);eq(c[B+8>>2]|0,c[I>>2]|0);eq(c[C>>2]|0,c[I>>2]|0);eq(c[C+8>>2]|0,c[I>>2]|0);c[D>>2]=t;c[E>>2]=u;c[F>>2]=B;c[G>>2]=C;c[A>>2]=(c[z>>2]|0)-1;while(1){if((c[A>>2]|0)<0)break;c[H>>2]=So(c[h>>2]|0,c[A>>2]|0)|0;uq(c[c[D>>2]>>2]|0,c[c[E>>2]>>2]|0,c[H>>2]|0);uq(c[(c[D>>2]|0)+8>>2]|0,c[(c[E>>2]|0)+8>>2]|0,c[H>>2]|0);Ho(c[F>>2]|0,c[G>>2]|0,c[D>>2]|0,c[E>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0);uq(c[c[F>>2]>>2]|0,c[c[G>>2]>>2]|0,c[H>>2]|0);uq(c[(c[F>>2]|0)+8>>2]|0,c[(c[G>>2]|0)+8>>2]|0,c[H>>2]|0);c[J>>2]=c[D>>2];c[D>>2]=c[F>>2];c[F>>2]=c[J>>2];c[J>>2]=c[E>>2];c[E>>2]=c[G>>2];c[G>>2]=c[J>>2];c[A>>2]=(c[A>>2]|0)+-1}fq(c[(c[g>>2]|0)+4>>2]|0);c[H>>2]=c[z>>2]&1;uq(c[t>>2]|0,c[B>>2]|0,c[H>>2]|0);uq(c[t+8>>2]|0,c[B+8>>2]|0,c[H>>2]|0);if(!(c[(c[t+8>>2]|0)+4>>2]|0)){sq(c[c[g>>2]>>2]|0,1)|0;sq(c[(c[g>>2]|0)+8>>2]|0,0)|0}else{c[n>>2]=vq(0)|0;_n(c[n>>2]|0,c[t+8>>2]|0,c[k>>2]|0);$n(c[c[g>>2]>>2]|0,c[t>>2]|0,c[n>>2]|0,c[k>>2]|0);sq(c[(c[g>>2]|0)+8>>2]|0,1)|0;hq(c[n>>2]|0)}fo(t);fo(u);fo(B);fo(C);i=f;return}c[l>>2]=pq(c[(c[k>>2]|0)+16>>2]|0)|0;c[m>>2]=pq(c[(c[k>>2]|0)+16>>2]|0)|0;c[p>>2]=pq(c[(c[k>>2]|0)+16>>2]|0)|0;c[o>>2]=mq(c[h>>2]|0)|0;c[q>>2]=mq(c[(c[j>>2]|0)+4>>2]|0)|0;if(c[(c[o>>2]|0)+8>>2]|0){c[(c[o>>2]|0)+8>>2]=0;_n(c[q>>2]|0,c[q>>2]|0,c[k>>2]|0)}if($o(c[(c[j>>2]|0)+8>>2]|0,1)|0){c[K>>2]=pq(c[(c[k>>2]|0)+16>>2]|0)|0;c[L>>2]=pq(c[(c[k>>2]|0)+16>>2]|0)|0;$n(c[K>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[k>>2]|0);$n(c[L>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[K>>2]|0,c[k>>2]|0);_n(c[K>>2]|0,c[K>>2]|0,c[k>>2]|0);$n(c[l>>2]|0,c[c[j>>2]>>2]|0,c[K>>2]|0,c[k>>2]|0);_n(c[L>>2]|0,c[L>>2]|0,c[k>>2]|0);$n(c[m>>2]|0,c[q>>2]|0,c[L>>2]|0,c[k>>2]|0);hq(c[K>>2]|0);hq(c[L>>2]|0)}else{oq(c[l>>2]|0,c[c[j>>2]>>2]|0)|0;oq(c[m>>2]|0,c[q>>2]|0)|0}c[n>>2]=mq(Aq(1)|0)|0;L=c[p>>2]|0;K=c[o>>2]|0;up(L,K,Aq(3)|0);c[s>>2]=Ro(c[p>>2]|0)|0;if((c[s>>2]|0)>>>0<2){c[s>>2]=2;fq(c[c[g>>2]>>2]|0);fq(c[(c[g>>2]|0)+4>>2]|0);fq(c[(c[g>>2]|0)+8>>2]|0)}else{oq(c[c[g>>2]>>2]|0,c[c[j>>2]>>2]|0)|0;oq(c[(c[g>>2]|0)+4>>2]|0,c[q>>2]|0)|0;oq(c[(c[g>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+8>>2]|0)|0}hq(c[q>>2]|0);c[q>>2]=0;c[t>>2]=c[l>>2];c[l>>2]=0;c[t+4>>2]=c[m>>2];c[m>>2]=0;c[t+8>>2]=c[n>>2];c[n>>2]=0;co(u);co(v);c[r>>2]=(c[s>>2]|0)-2;while(1){if((c[r>>2]|0)>>>0<=0)break;qo(c[g>>2]|0,c[g>>2]|0,c[k>>2]|0);if((So(c[p>>2]|0,c[r>>2]|0)|0)==1?(So(c[o>>2]|0,c[r>>2]|0)|0)==0:0){Fo(u,c[g>>2]|0);Ao(c[g>>2]|0,u,t,c[k>>2]|0)}if((So(c[p>>2]|0,c[r>>2]|0)|0)==0?(So(c[o>>2]|0,c[r>>2]|0)|0)==1:0){Fo(u,c[g>>2]|0);Fo(v,t);uo(c[v+4>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[v+4>>2]|0,c[k>>2]|0);Ao(c[g>>2]|0,u,v,c[k>>2]|0)}c[r>>2]=(c[r>>2]|0)+-1}fo(t);fo(u);fo(v);hq(c[p>>2]|0);hq(c[o>>2]|0);i=f;return}function Ho(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;h=i;i=i+32|0;j=h+20|0;k=h+16|0;l=h+12|0;m=h+8|0;n=h+4|0;o=h;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;vo(c[c[k>>2]>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[o>>2]|0);uo(c[(c[m>>2]|0)+8>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[o>>2]|0);vo(c[c[j>>2]>>2]|0,c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[o>>2]|0);uo(c[(c[l>>2]|0)+8>>2]|0,c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[o>>2]|0);$n(c[c[m>>2]>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[c[k>>2]>>2]|0,c[o>>2]|0);$n(c[(c[m>>2]|0)+8>>2]|0,c[c[j>>2]>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[o>>2]|0);to(c[c[l>>2]>>2]|0,c[c[j>>2]>>2]|0,c[o>>2]|0);to(c[(c[l>>2]|0)+8>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[o>>2]|0);vo(c[c[k>>2]>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[o>>2]|0);uo(c[(c[m>>2]|0)+8>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[o>>2]|0);$n(c[c[j>>2]>>2]|0,c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[o>>2]|0);uo(c[(c[l>>2]|0)+8>>2]|0,c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[o>>2]|0);to(c[c[k>>2]>>2]|0,c[c[k>>2]>>2]|0,c[o>>2]|0);to(c[(c[k>>2]|0)+8>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[o>>2]|0);$n(c[(c[j>>2]|0)+8>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[o>>2]|0);$n(c[(c[k>>2]|0)+8>>2]|0,c[(c[k>>2]|0)+8>>2]|0,c[n>>2]|0,c[o>>2]|0);vo(c[(c[j>>2]|0)+8>>2]|0,c[c[l>>2]>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[o>>2]|0);$n(c[(c[j>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[o>>2]|0);i=h;return}function Io(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+28|0;f=d+24|0;g=d+20|0;h=d+16|0;j=d+12|0;k=d+8|0;l=d+4|0;m=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;c[j>>2]=vq(0)|0;c[k>>2]=vq(0)|0;c[l>>2]=vq(0)|0;a:do switch(c[c[g>>2]>>2]|0){case 0:{c[m>>2]=vq(0)|0;if(Zn(c[j>>2]|0,c[k>>2]|0,c[f>>2]|0,c[g>>2]|0)|0){c[e>>2]=0;n=c[e>>2]|0;i=d;return n|0}to(c[k>>2]|0,c[k>>2]|0,c[g>>2]|0);Jo(c[m>>2]|0,c[j>>2]|0,c[g>>2]|0);$n(c[l>>2]|0,c[(c[g>>2]|0)+20>>2]|0,c[j>>2]|0,c[g>>2]|0);vo(c[l>>2]|0,c[l>>2]|0,c[(c[g>>2]|0)+24>>2]|0,c[g>>2]|0);vo(c[l>>2]|0,c[l>>2]|0,c[m>>2]|0,c[g>>2]|0);if(!(ap(c[k>>2]|0,c[l>>2]|0)|0))c[h>>2]=1;xq(c[m>>2]|0);break}case 1:{if(!(Zn(c[j>>2]|0,0,c[f>>2]|0,c[g>>2]|0)|0)){b=c[l>>2]|0;a=c[(c[g>>2]|0)+20>>2]|0;o=Aq(4)|0;$n(b,a,o,c[g>>2]|0);o=c[l>>2]|0;a=c[l>>2]|0;b=Aq(2)|0;vo(o,a,b,c[g>>2]|0);$n(c[l>>2]|0,c[l>>2]|0,c[j>>2]|0,c[g>>2]|0);to(c[k>>2]|0,c[j>>2]|0,c[g>>2]|0);vo(c[l>>2]|0,c[l>>2]|0,c[k>>2]|0,c[g>>2]|0);b=c[l>>2]|0;a=c[l>>2]|0;o=Aq(1)|0;vo(b,a,o,c[g>>2]|0);$n(c[l>>2]|0,c[l>>2]|0,c[j>>2]|0,c[g>>2]|0);$n(c[l>>2]|0,c[l>>2]|0,c[(c[g>>2]|0)+24>>2]|0,c[g>>2]|0);o=c[k>>2]|0;a=c[(c[g>>2]|0)+16>>2]|0;b=Aq(1)|0;uo(o,a,b,c[g>>2]|0);Yo(c[k>>2]|0,c[k>>2]|0,1);wo(c[l>>2]|0,c[l>>2]|0,c[k>>2]|0,c[g>>2]|0);c[h>>2]=$o(c[l>>2]|0,1)|0;break a}c[e>>2]=0;n=c[e>>2]|0;i=d;return n|0}case 2:{if(Zn(c[j>>2]|0,c[k>>2]|0,c[f>>2]|0,c[g>>2]|0)|0){c[e>>2]=0;n=c[e>>2]|0;i=d;return n|0}to(c[j>>2]|0,c[j>>2]|0,c[g>>2]|0);to(c[k>>2]|0,c[k>>2]|0,c[g>>2]|0);b=c[l>>2]|0;if((c[(c[g>>2]|0)+4>>2]|0)==1){oq(b,c[j>>2]|0)|0;nq(c[l>>2]|0,c[l>>2]|0)}else $n(b,c[(c[g>>2]|0)+20>>2]|0,c[j>>2]|0,c[g>>2]|0);vo(c[l>>2]|0,c[l>>2]|0,c[k>>2]|0,c[g>>2]|0);uo(c[l>>2]|0,c[l>>2]|0,Aq(1)|0,c[g>>2]|0);$n(c[j>>2]|0,c[j>>2]|0,c[k>>2]|0,c[g>>2]|0);$n(c[j>>2]|0,c[j>>2]|0,c[(c[g>>2]|0)+24>>2]|0,c[g>>2]|0);uo(c[l>>2]|0,c[l>>2]|0,c[j>>2]|0,c[g>>2]|0);if(!($o(c[l>>2]|0,0)|0))c[h>>2]=1;break}default:{}}while(0);xq(c[l>>2]|0);xq(c[j>>2]|0);xq(c[k>>2]|0);c[e>>2]=c[h>>2];n=c[e>>2]|0;i=d;return n|0}function Jo(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=c[f>>2]|0;f=c[g>>2]|0;g=Aq(3)|0;wp(d,f,g,c[(c[h>>2]|0)+16>>2]|0);i=e;return}function Ko(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;e=i;i=i+48|0;f=e+36|0;g=e+32|0;h=e+28|0;j=e+24|0;k=e+20|0;l=e+16|0;m=e+12|0;n=e+8|0;o=e+4|0;p=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[l>>2]=c[(c[g>>2]|0)+4>>2];c[n>>2]=c[(c[g>>2]|0)+8>>2];c[o>>2]=0;c[m>>2]=(c[l>>2]|0)+1;if((c[c[f>>2]>>2]|0)<(c[m>>2]|0))eq(c[f>>2]|0,c[m>>2]|0);c[k>>2]=c[(c[g>>2]|0)+16>>2];c[j>>2]=c[(c[f>>2]|0)+16>>2];do if(c[l>>2]|0){if(!(c[n>>2]|0)){c[p>>2]=kp(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[h>>2]|0)|0;c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]=c[p>>2];c[m>>2]=(c[l>>2]|0)+(c[p>>2]|0);break}if((c[l>>2]|0)==1?(c[c[k>>2]>>2]|0)>>>0<(c[h>>2]|0)>>>0:0){c[c[j>>2]>>2]=(c[h>>2]|0)-(c[c[k>>2]>>2]|0);c[m>>2]=1;break}mp(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[h>>2]|0)|0;c[m>>2]=(c[l>>2]|0)-((c[(c[j>>2]|0)+((c[l>>2]|0)-1<<2)>>2]|0)==0&1);c[o>>2]=1}else{c[c[j>>2]>>2]=c[h>>2];c[m>>2]=(c[h>>2]|0)!=0?1:0}while(0);c[(c[f>>2]|0)+4>>2]=c[m>>2];c[(c[f>>2]|0)+8>>2]=c[o>>2];i=e;return}function Lo(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;e=i;i=i+64|0;f=e+52|0;g=e+48|0;h=e+44|0;j=e+40|0;k=e+36|0;l=e+32|0;m=e+28|0;n=e+24|0;o=e+20|0;p=e+16|0;q=e+12|0;r=e+8|0;s=e+4|0;t=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[(c[g>>2]|0)+4>>2]|0)<(c[(c[h>>2]|0)+4>>2]|0)){c[m>>2]=c[(c[h>>2]|0)+4>>2];c[p>>2]=c[(c[h>>2]|0)+8>>2];c[n>>2]=c[(c[g>>2]|0)+4>>2];c[q>>2]=c[(c[g>>2]|0)+8>>2];c[o>>2]=(c[m>>2]|0)+1;if((c[c[f>>2]>>2]|0)<(c[o>>2]|0))eq(c[f>>2]|0,c[o>>2]|0);c[k>>2]=c[(c[h>>2]|0)+16>>2];c[l>>2]=c[(c[g>>2]|0)+16>>2]}else{c[m>>2]=c[(c[g>>2]|0)+4>>2];c[p>>2]=c[(c[g>>2]|0)+8>>2];c[n>>2]=c[(c[h>>2]|0)+4>>2];c[q>>2]=c[(c[h>>2]|0)+8>>2];c[o>>2]=(c[m>>2]|0)+1;if((c[c[f>>2]>>2]|0)<(c[o>>2]|0))eq(c[f>>2]|0,c[o>>2]|0);c[k>>2]=c[(c[g>>2]|0)+16>>2];c[l>>2]=c[(c[h>>2]|0)+16>>2]}c[j>>2]=c[(c[f>>2]|0)+16>>2];c[r>>2]=0;do if(c[n>>2]|0){if((c[p>>2]|0)==(c[q>>2]|0)){c[t>>2]=lp(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[l>>2]|0,c[n>>2]|0)|0;c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]=c[t>>2];c[o>>2]=(c[m>>2]|0)+(c[t>>2]|0);if(!(c[p>>2]|0))break;c[r>>2]=1;break}if((c[m>>2]|0)!=(c[n>>2]|0)){np(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[l>>2]|0,c[n>>2]|0)|0;c[o>>2]=c[m>>2];while(1){if((c[o>>2]|0)<=0)break;if(c[(c[j>>2]|0)+((c[o>>2]|0)-1<<2)>>2]|0)break;c[o>>2]=(c[o>>2]|0)+-1}c[r>>2]=c[p>>2];break}h=(op(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)<0;g=c[j>>2]|0;if(h){Xp(g,c[l>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;c[o>>2]=c[m>>2];while(1){if((c[o>>2]|0)<=0)break;if(c[(c[j>>2]|0)+((c[o>>2]|0)-1<<2)>>2]|0)break;c[o>>2]=(c[o>>2]|0)+-1}if(c[p>>2]|0)break;c[r>>2]=1;break}else{Xp(g,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;c[o>>2]=c[m>>2];while(1){if((c[o>>2]|0)<=0)break;if(c[(c[j>>2]|0)+((c[o>>2]|0)-1<<2)>>2]|0)break;c[o>>2]=(c[o>>2]|0)+-1}if(!(c[p>>2]|0))break;c[r>>2]=1;break}}else{c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;c[(c[j>>2]|0)+(c[s>>2]<<2)>>2]=c[(c[k>>2]|0)+(c[s>>2]<<2)>>2];c[s>>2]=(c[s>>2]|0)+1}c[o>>2]=c[m>>2];c[r>>2]=c[p>>2]}while(0);c[(c[f>>2]|0)+4>>2]=c[o>>2];c[(c[f>>2]|0)+8>>2]=c[r>>2];i=e;return}function Mo(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;e=i;i=i+48|0;f=e+36|0;g=e+32|0;h=e+28|0;j=e+24|0;k=e+20|0;l=e+16|0;m=e+12|0;n=e+8|0;o=e+4|0;p=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[l>>2]=c[(c[g>>2]|0)+4>>2];c[n>>2]=c[(c[g>>2]|0)+8>>2];c[o>>2]=0;c[m>>2]=(c[l>>2]|0)+1;if((c[c[f>>2]>>2]|0)<(c[m>>2]|0))eq(c[f>>2]|0,c[m>>2]|0);c[k>>2]=c[(c[g>>2]|0)+16>>2];c[j>>2]=c[(c[f>>2]|0)+16>>2];do if(c[l>>2]|0){if(c[n>>2]|0){c[p>>2]=kp(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[h>>2]|0)|0;c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]=c[p>>2];c[m>>2]=(c[l>>2]|0)+(c[p>>2]|0);break}if((c[l>>2]|0)==1?(c[c[k>>2]>>2]|0)>>>0<(c[h>>2]|0)>>>0:0){c[c[j>>2]>>2]=(c[h>>2]|0)-(c[c[k>>2]>>2]|0);c[m>>2]=1;c[o>>2]=1;break}mp(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[h>>2]|0)|0;c[m>>2]=(c[l>>2]|0)-((c[(c[j>>2]|0)+((c[l>>2]|0)-1<<2)>>2]|0)==0&1)}else{c[c[j>>2]>>2]=c[h>>2];c[m>>2]=(c[h>>2]|0)!=0?1:0;c[o>>2]=1}while(0);c[(c[f>>2]|0)+4>>2]=c[m>>2];c[(c[f>>2]|0)+8>>2]=c[o>>2];i=e;return}function No(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=mq(c[h>>2]|0)|0;c[(c[j>>2]|0)+8>>2]=((c[(c[j>>2]|0)+8>>2]|0)!=0^1)&1;Lo(c[f>>2]|0,c[g>>2]|0,c[j>>2]|0);hq(c[j>>2]|0);i=e;return}function Oo(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;Lo(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);qp(c[g>>2]|0,c[g>>2]|0,c[k>>2]|0);i=f;return}function Po(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;No(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);qp(c[g>>2]|0,c[g>>2]|0,c[k>>2]|0);i=f;return}function Qo(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+12>>2]&4|0)!=0:0){i=b;return}while(1){if(!(c[(c[d>>2]|0)+4>>2]|0)){e=6;break}if(!((c[(c[(c[d>>2]|0)+16>>2]|0)+((c[(c[d>>2]|0)+4>>2]|0)-1<<2)>>2]|0)!=0^1)){e=6;break}a=(c[d>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+-1}if((e|0)==6){i=b;return}}function Ro(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+32|0;e=b+20|0;f=b+16|0;g=b+12|0;h=b+8|0;j=b+4|0;k=b;c[f>>2]=a;if((c[f>>2]|0)!=0?(c[(c[f>>2]|0)+12>>2]&4|0)!=0:0){c[e>>2]=c[(c[f>>2]|0)+8>>2];l=c[e>>2]|0;i=b;return l|0}Qo(c[f>>2]|0);if(c[(c[f>>2]|0)+4>>2]|0){c[h>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+((c[(c[f>>2]|0)+4>>2]|0)-1<<2)>>2];if(c[h>>2]|0){c[j>>2]=c[h>>2];h=c[j>>2]|0;c[k>>2]=(c[j>>2]|0)>>>0<65536?(h>>>0<256?0:8):h>>>0<16777216?16:24;c[g>>2]=32-((d[45806+((c[j>>2]|0)>>>(c[k>>2]|0))>>0]|0)+(c[k>>2]|0))}else c[g>>2]=32;c[g>>2]=32-(c[g>>2]|0)+((c[(c[f>>2]|0)+4>>2]|0)-1<<5)}else c[g>>2]=0;c[e>>2]=c[g>>2];l=c[e>>2]|0;i=b;return l|0}function So(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+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=((c[g>>2]|0)>>>0)/32|0;c[j>>2]=((c[g>>2]|0)>>>0)%32|0;if((c[h>>2]|0)>>>0>=(c[(c[f>>2]|0)+4>>2]|0)>>>0){c[e>>2]=0;l=c[e>>2]|0;i=d;return l|0}else{c[k>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<2)>>2];c[e>>2]=(c[k>>2]&1<<c[j>>2]|0)!=0?1:0;l=c[e>>2]|0;i=d;return l|0}return 0}function To(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[e>>2]=a;c[f>>2]=b;if((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+12>>2]&16|0)!=0:0){gq();i=d;return}c[h>>2]=((c[f>>2]|0)>>>0)/32|0;c[j>>2]=((c[f>>2]|0)>>>0)%32|0;if((c[h>>2]|0)>>>0>=(c[(c[e>>2]|0)+4>>2]|0)>>>0){c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[g>>2]|0)>>>0>=(c[c[e>>2]>>2]|0)>>>0)break;c[(c[(c[e>>2]|0)+16>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}eq(c[e>>2]|0,(c[h>>2]|0)+1|0);c[(c[e>>2]|0)+4>>2]=(c[h>>2]|0)+1}g=(c[(c[e>>2]|0)+16>>2]|0)+(c[h>>2]<<2)|0;c[g>>2]=c[g>>2]|1<<c[j>>2];i=d;return}function Uo(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[e>>2]=a;c[f>>2]=b;if((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+12>>2]&16|0)!=0:0){gq();i=d;return}c[h>>2]=((c[f>>2]|0)>>>0)/32|0;c[j>>2]=((c[f>>2]|0)>>>0)%32|0;if((c[h>>2]|0)>>>0>=(c[(c[e>>2]|0)+4>>2]|0)>>>0){c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[g>>2]|0)>>>0>=(c[c[e>>2]>>2]|0)>>>0)break;c[(c[(c[e>>2]|0)+16>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}eq(c[e>>2]|0,(c[h>>2]|0)+1|0);c[(c[e>>2]|0)+4>>2]=(c[h>>2]|0)+1}g=(c[(c[e>>2]|0)+16>>2]|0)+(c[h>>2]<<2)|0;c[g>>2]=c[g>>2]|1<<c[j>>2];c[j>>2]=(c[j>>2]|0)+1;while(1){if((c[j>>2]|0)>>>0>=32)break;g=(c[(c[e>>2]|0)+16>>2]|0)+(c[h>>2]<<2)|0;c[g>>2]=c[g>>2]&~(1<<c[j>>2]);c[j>>2]=(c[j>>2]|0)+1}c[(c[e>>2]|0)+4>>2]=(c[h>>2]|0)+1;i=d;return}function Vo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;if((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+12>>2]&16|0)!=0:0){gq();i=d;return}c[g>>2]=((c[f>>2]|0)>>>0)/32|0;c[h>>2]=((c[f>>2]|0)>>>0)%32|0;if((c[g>>2]|0)>>>0>=(c[(c[e>>2]|0)+4>>2]|0)>>>0){i=d;return}while(1){if((c[h>>2]|0)>>>0>=32)break;f=(c[(c[e>>2]|0)+16>>2]|0)+(c[g>>2]<<2)|0;c[f>>2]=c[f>>2]&~(1<<c[h>>2]);c[h>>2]=(c[h>>2]|0)+1}c[(c[e>>2]|0)+4>>2]=(c[g>>2]|0)+1;i=d;return}function Wo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;if((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+12>>2]&16|0)!=0:0){gq();i=d;return}c[g>>2]=((c[f>>2]|0)>>>0)/32|0;c[h>>2]=((c[f>>2]|0)>>>0)%32|0;if((c[g>>2]|0)>>>0>=(c[(c[e>>2]|0)+4>>2]|0)>>>0){i=d;return}f=(c[(c[e>>2]|0)+16>>2]|0)+(c[g>>2]<<2)|0;c[f>>2]=c[f>>2]&~(1<<c[h>>2]);i=d;return}function Xo(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[e>>2]|0)+16>>2];c[h>>2]=c[(c[e>>2]|0)+4>>2];if((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+12>>2]&16|0)!=0:0){gq();i=d;return}if((c[f>>2]|0)>>>0>=(c[h>>2]|0)>>>0){c[(c[e>>2]|0)+4>>2]=0;i=d;return}c[j>>2]=0;while(1){k=c[j>>2]|0;if((c[j>>2]|0)>>>0>=((c[h>>2]|0)-(c[f>>2]|0)|0)>>>0)break;c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]=c[(c[g>>2]|0)+(k+(c[f>>2]|0)<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}c[(c[g>>2]|0)+(k<<2)>>2]=0;k=(c[e>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)-(c[f>>2]|0);i=d;return}function Yo(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+32|0;f=e+24|0;g=e+20|0;h=e+16|0;j=e+12|0;k=e+8|0;l=e+4|0;m=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[l>>2]=((c[h>>2]|0)>>>0)/32|0;c[m>>2]=((c[h>>2]|0)>>>0)%32|0;if((c[f>>2]|0)!=0?(c[(c[f>>2]|0)+12>>2]&16|0)!=0:0){gq();i=e;return}h=c[l>>2]|0;a:do if((c[f>>2]|0)==(c[g>>2]|0)){if(h>>>0>=(c[(c[f>>2]|0)+4>>2]|0)>>>0){c[(c[f>>2]|0)+4>>2]=0;i=e;return}if(c[l>>2]|0){c[k>>2]=0;while(1){n=c[k>>2]|0;if((c[k>>2]|0)>>>0>=((c[(c[f>>2]|0)+4>>2]|0)-(c[l>>2]|0)|0)>>>0)break;c[(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(n+(c[l>>2]|0)<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}c[(c[(c[f>>2]|0)+16>>2]|0)+(n<<2)>>2]=0;d=(c[f>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)-(c[l>>2]|0)}if((c[m>>2]|0)!=0?(c[(c[f>>2]|0)+4>>2]|0)!=0:0)Wp(c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[m>>2]|0)|0}else{c[j>>2]=c[(c[g>>2]|0)+4>>2];c[(c[f>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];d=(c[c[f>>2]>>2]|0)<(c[j>>2]|0);if(!h){if(d)eq(c[f>>2]|0,c[j>>2]|0);c[(c[f>>2]|0)+4>>2]=c[j>>2];if(!(c[j>>2]|0))break;if(c[m>>2]|0){Wp(c[(c[f>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[m>>2]|0)|0;break}c[k>>2]=0;while(1){if((c[k>>2]|0)>>>0>=(c[(c[f>>2]|0)+4>>2]|0)>>>0)break a;c[(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}}if(d)eq(c[f>>2]|0,c[j>>2]|0);c[(c[f>>2]|0)+4>>2]=c[j>>2];c[k>>2]=0;while(1){o=c[k>>2]|0;if((c[k>>2]|0)>>>0>=(c[(c[g>>2]|0)+4>>2]|0)>>>0)break;c[(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(o<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}c[(c[f>>2]|0)+4>>2]=o;if((c[l>>2]|0)>>>0>=(c[(c[f>>2]|0)+4>>2]|0)>>>0){c[(c[f>>2]|0)+4>>2]=0;i=e;return}if(c[l>>2]|0){c[k>>2]=0;while(1){p=c[k>>2]|0;if((c[k>>2]|0)>>>0>=((c[(c[f>>2]|0)+4>>2]|0)-(c[l>>2]|0)|0)>>>0)break;c[(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(p+(c[l>>2]|0)<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}c[(c[(c[f>>2]|0)+16>>2]|0)+(p<<2)>>2]=0;d=(c[f>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)-(c[l>>2]|0)}if((c[m>>2]|0)!=0?(c[(c[f>>2]|0)+4>>2]|0)!=0:0)Wp(c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[m>>2]|0)|0}while(0);while(1){if((c[(c[f>>2]|0)+4>>2]|0)<=0){q=40;break}if(c[(c[(c[f>>2]|0)+16>>2]|0)+((c[(c[f>>2]|0)+4>>2]|0)-1<<2)>>2]|0){q=40;break}m=(c[f>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+-1}if((q|0)==40){i=e;return}}function Zo(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[e>>2]=a;c[f>>2]=b;c[h>>2]=c[(c[e>>2]|0)+4>>2];if(!((c[f>>2]|0)!=0&(c[h>>2]|0)!=0)){i=d;return}if((c[c[e>>2]>>2]|0)>>>0<((c[h>>2]|0)+(c[f>>2]|0)|0)>>>0)eq(c[e>>2]|0,(c[h>>2]|0)+(c[f>>2]|0)|0);c[g>>2]=c[(c[e>>2]|0)+16>>2];c[j>>2]=(c[h>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;c[(c[g>>2]|0)+((c[j>>2]|0)+(c[f>>2]|0)<<2)>>2]=c[(c[g>>2]|0)+(c[j>>2]<<2)>>2];c[j>>2]=(c[j>>2]|0)+-1}c[j>>2]=0;while(1){if((c[j>>2]|0)>>>0>=(c[f>>2]|0)>>>0)break;c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]=0;c[j>>2]=(c[j>>2]|0)+1}j=(c[e>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+(c[f>>2]|0);i=d;return}function _o(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+32|0;h=e+28|0;j=e+24|0;k=e+20|0;l=e+16|0;m=e+12|0;n=e+8|0;o=e+4|0;p=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=((c[h>>2]|0)>>>0)/32|0;c[k>>2]=((c[h>>2]|0)>>>0)%32|0;if((c[f>>2]|0)!=0?(c[(c[f>>2]|0)+12>>2]&16|0)!=0:0){gq();i=e;return}if(!((c[h>>2]|0)!=0?1:(c[f>>2]|0)!=(c[g>>2]|0))){i=e;return}if((c[f>>2]|0)!=(c[g>>2]|0)){c[l>>2]=c[(c[g>>2]|0)+4>>2];c[m>>2]=c[(c[g>>2]|0)+8>>2];if((c[c[f>>2]>>2]|0)>>>0<((c[l>>2]|0)+(c[j>>2]|0)+1|0)>>>0)eq(c[f>>2]|0,(c[l>>2]|0)+(c[j>>2]|0)+1|0);c[n>>2]=c[(c[f>>2]|0)+16>>2];c[o>>2]=c[(c[g>>2]|0)+16>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;c[(c[n>>2]|0)+(c[p>>2]<<2)>>2]=c[(c[o>>2]|0)+(c[p>>2]<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}c[(c[f>>2]|0)+4>>2]=c[l>>2];c[(c[f>>2]|0)+12>>2]=c[(c[g>>2]|0)+12>>2];c[(c[f>>2]|0)+8>>2]=c[m>>2]}if((c[j>>2]|0)==0|(c[k>>2]|0)!=0){if(c[h>>2]|0){Zo(c[f>>2]|0,(c[j>>2]|0)+1|0);Yo(c[f>>2]|0,c[f>>2]|0,32-(c[k>>2]|0)|0)}}else Zo(c[f>>2]|0,c[j>>2]|0);while(1){if((c[(c[f>>2]|0)+4>>2]|0)<=0){q=19;break}if(c[(c[(c[f>>2]|0)+16>>2]|0)+((c[(c[f>>2]|0)+4>>2]|0)-1<<2)>>2]|0){q=19;break}j=(c[f>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+-1}if((q|0)==19){i=e;return}}function $o(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=c[g>>2];Qo(c[f>>2]|0);do if(c[(c[f>>2]|0)+4>>2]|0){if(c[(c[f>>2]|0)+8>>2]|0){c[e>>2]=-1;break}if((c[(c[f>>2]|0)+4>>2]|0)!=1){c[e>>2]=1;break}if((c[c[(c[f>>2]|0)+16>>2]>>2]|0)>>>0>(c[h>>2]|0)>>>0){c[e>>2]=1;break}if((c[c[(c[f>>2]|0)+16>>2]>>2]|0)>>>0<(c[h>>2]|0)>>>0){c[e>>2]=-1;break}else{c[e>>2]=0;break}}else c[e>>2]=0-((c[h>>2]|0)!=0&1);while(0);i=d;return c[e>>2]|0}function ap(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+32|0;e=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;if(!((c[f>>2]|0)!=0?(c[(c[f>>2]|0)+12>>2]&4|0)!=0:0))l=3;do if((l|0)==3){if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+12>>2]&4|0)!=0:0)break;Qo(c[f>>2]|0);Qo(c[g>>2]|0);c[h>>2]=c[(c[f>>2]|0)+4>>2];c[j>>2]=c[(c[g>>2]|0)+4>>2];if((c[(c[f>>2]|0)+8>>2]|0)==0?(c[(c[g>>2]|0)+8>>2]|0)!=0:0){c[e>>2]=1;m=c[e>>2]|0;i=d;return m|0}if((c[(c[f>>2]|0)+8>>2]|0)!=0?(c[(c[g>>2]|0)+8>>2]|0)==0:0){c[e>>2]=-1;m=c[e>>2]|0;i=d;return m|0}if(((c[h>>2]|0)!=(c[j>>2]|0)?(c[(c[f>>2]|0)+8>>2]|0)==0:0)?(c[(c[g>>2]|0)+8>>2]|0)==0:0){c[e>>2]=(c[h>>2]|0)-(c[j>>2]|0);m=c[e>>2]|0;i=d;return m|0}if(((c[h>>2]|0)!=(c[j>>2]|0)?(c[(c[f>>2]|0)+8>>2]|0)!=0:0)?(c[(c[g>>2]|0)+8>>2]|0)!=0:0){c[e>>2]=(c[j>>2]|0)+(c[h>>2]|0);m=c[e>>2]|0;i=d;return m|0}if(!(c[h>>2]|0)){c[e>>2]=0;m=c[e>>2]|0;i=d;return m|0}b=op(c[(c[f>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0)|0;c[k>>2]=b;if(!b){c[e>>2]=0;m=c[e>>2]|0;i=d;return m|0}if((((c[k>>2]|0)<0?1:0)|0)==(((c[(c[f>>2]|0)+8>>2]|0)!=0?1:0)|0)){c[e>>2]=1;m=c[e>>2]|0;i=d;return m|0}else{c[e>>2]=-1;m=c[e>>2]|0;i=d;return m|0}}while(0);do if((c[f>>2]|0)!=0?(c[(c[f>>2]|0)+12>>2]&4|0)!=0:0){if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+12>>2]&4|0)!=0:0)break;c[e>>2]=-1;m=c[e>>2]|0;i=d;return m|0}while(0);if(c[f>>2]|0){if((c[g>>2]|0)!=0?(c[(c[f>>2]|0)+12>>2]&4|0)==0:0)l=13}else if(c[g>>2]|0)l=13;if((l|0)==13?(c[(c[g>>2]|0)+12>>2]&4|0)!=0:0){c[e>>2]=1;m=c[e>>2]|0;i=d;return m|0}if((c[(c[f>>2]|0)+8>>2]|0)==0?(c[(c[g>>2]|0)+8>>2]|0)==0:0){c[e>>2]=0;m=c[e>>2]|0;i=d;return m|0}if((c[(c[f>>2]|0)+8>>2]|0)<(c[(c[g>>2]|0)+8>>2]|0)){c[e>>2]=-1;m=c[e>>2]|0;i=d;return m|0}if((c[(c[f>>2]|0)+8>>2]|0)>(c[(c[g>>2]|0)+8>>2]|0)){c[e>>2]=1;m=c[e>>2]|0;i=d;return m|0}else{c[e>>2]=mw(c[(c[f>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+16>>2]|0,((c[(c[f>>2]|0)+8>>2]|0)+7|0)/8|0)|0;m=c[e>>2]|0;i=d;return m|0}return 0}function bp(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+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[(c[h>>2]|0)+8>>2];c[k>>2]=0;if((c[f>>2]|0)==(c[h>>2]|0)){c[k>>2]=mq(c[h>>2]|0)|0;c[h>>2]=c[k>>2]}cp(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);if((((c[j>>2]|0)!=0?1:0)^((c[(c[g>>2]|0)+8>>2]|0)!=0?1:0)|0)!=0?(c[(c[f>>2]|0)+4>>2]|0)!=0:0)Lo(c[f>>2]|0,c[f>>2]|0,c[h>>2]|0);if(!(c[k>>2]|0)){i=e;return}hq(c[k>>2]|0);i=e;return}function cp(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;dp(0,c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function dp(a,b,e,f){a=a|0;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;g=i;i=i+160|0;h=g+144|0;j=g+140|0;k=g+136|0;l=g+132|0;m=g+128|0;n=g+124|0;o=g+120|0;p=g+116|0;q=g+112|0;r=g+108|0;s=g+104|0;t=g+100|0;u=g+96|0;v=g+92|0;w=g+88|0;x=g+84|0;y=g+64|0;z=g+44|0;A=g+40|0;B=g+36|0;C=g+32|0;D=g+28|0;E=g+24|0;F=g+20|0;G=g+16|0;H=g+12|0;I=g+8|0;J=g+4|0;K=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[q>>2]=c[(c[k>>2]|0)+4>>2];c[r>>2]=c[(c[l>>2]|0)+4>>2];c[u>>2]=c[(c[k>>2]|0)+8>>2];c[v>>2]=c[(c[k>>2]|0)+8>>2]^c[(c[l>>2]|0)+8>>2];c[A>>2]=0;c[t>>2]=(c[q>>2]|0)+1;eq(c[j>>2]|0,c[t>>2]|0);c[s>>2]=(c[t>>2]|0)-(c[r>>2]|0);if((c[s>>2]|0)<=0){a:do if((c[k>>2]|0)!=(c[j>>2]|0)){c[(c[j>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[(c[j>>2]|0)+8>>2]=c[(c[k>>2]|0)+8>>2];c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[q>>2]|0))break a;c[(c[(c[j>>2]|0)+16>>2]|0)+(c[B>>2]<<2)>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[B>>2]<<2)>>2];c[B>>2]=(c[B>>2]|0)+1}}while(0);if(!(c[h>>2]|0)){i=g;return}c[(c[h>>2]|0)+4>>2]=0;c[(c[h>>2]|0)+8>>2]=0;i=g;return}if(c[h>>2]|0)eq(c[h>>2]|0,c[s>>2]|0);c[m>>2]=c[(c[k>>2]|0)+16>>2];c[n>>2]=c[(c[l>>2]|0)+16>>2];c[p>>2]=c[(c[j>>2]|0)+16>>2];k=(c[h>>2]|0)!=0;if((c[r>>2]|0)==1){if(k){c[o>>2]=c[(c[h>>2]|0)+16>>2];c[C>>2]=Np(c[o>>2]|0,c[m>>2]|0,c[q>>2]|0,c[c[n>>2]>>2]|0)|0;c[s>>2]=(c[s>>2]|0)-((c[(c[o>>2]|0)+((c[s>>2]|0)-1<<2)>>2]|0)==0&1);c[(c[h>>2]|0)+4>>2]=c[s>>2];c[(c[h>>2]|0)+8>>2]=c[v>>2]}else c[C>>2]=Lp(c[m>>2]|0,c[q>>2]|0,c[c[n>>2]>>2]|0)|0;c[c[p>>2]>>2]=c[C>>2];c[t>>2]=(c[C>>2]|0)!=0?1:0;c[(c[j>>2]|0)+4>>2]=c[t>>2];c[(c[j>>2]|0)+8>>2]=c[u>>2];i=g;return}b:do if(k){c[o>>2]=c[(c[h>>2]|0)+16>>2];if((c[o>>2]|0)==(c[m>>2]|0)){c[z+(c[A>>2]<<2)>>2]=c[q>>2];if(c[h>>2]|0)L=(c[(c[h>>2]|0)+12>>2]&1|0)!=0;else L=0;C=aq(c[q>>2]|0,L&1)|0;B=c[A>>2]|0;c[A>>2]=B+1;c[y+(B<<2)>>2]=C;c[m>>2]=C;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[q>>2]|0))break b;c[(c[m>>2]|0)+(c[D>>2]<<2)>>2]=c[(c[o>>2]|0)+(c[D>>2]<<2)>>2];c[D>>2]=(c[D>>2]|0)+1}}}else c[o>>2]=(c[p>>2]|0)+(c[r>>2]<<2);while(0);c[E>>2]=c[(c[n>>2]|0)+((c[r>>2]|0)-1<<2)>>2];D=c[E>>2]|0;c[F>>2]=(c[E>>2]|0)>>>0<65536?(D>>>0<256?0:8):D>>>0<16777216?16:24;c[w>>2]=32-((d[45806+((c[E>>2]|0)>>>(c[F>>2]|0))>>0]|0)+(c[F>>2]|0));do if(c[w>>2]|0){c[z+(c[A>>2]<<2)>>2]=c[r>>2];if(c[l>>2]|0)M=(c[(c[l>>2]|0)+12>>2]&1|0)!=0;else M=0;F=aq(c[r>>2]|0,M&1)|0;E=c[A>>2]|0;c[A>>2]=E+1;c[y+(E<<2)>>2]=F;c[G>>2]=F;Op(c[G>>2]|0,c[n>>2]|0,c[r>>2]|0,c[w>>2]|0)|0;c[n>>2]=c[G>>2];c[H>>2]=Op(c[p>>2]|0,c[m>>2]|0,c[q>>2]|0,c[w>>2]|0)|0;if(c[H>>2]|0){c[(c[p>>2]|0)+(c[q>>2]<<2)>>2]=c[H>>2];c[t>>2]=(c[q>>2]|0)+1;break}else{c[t>>2]=c[q>>2];break}}else{if((c[n>>2]|0)!=(c[p>>2]|0)){if((c[h>>2]|0)!=0?(c[n>>2]|0)==(c[o>>2]|0):0)N=32}else N=32;if((N|0)==32){c[z+(c[A>>2]<<2)>>2]=c[r>>2];if(c[l>>2]|0)O=(c[(c[l>>2]|0)+12>>2]&1|0)!=0;else O=0;F=aq(c[r>>2]|0,O&1)|0;E=c[A>>2]|0;c[A>>2]=E+1;c[y+(E<<2)>>2]=F;c[I>>2]=F;c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[r>>2]|0))break;c[(c[I>>2]|0)+(c[J>>2]<<2)>>2]=c[(c[n>>2]|0)+(c[J>>2]<<2)>>2];c[J>>2]=(c[J>>2]|0)+1}c[n>>2]=c[I>>2]}c:do if((c[p>>2]|0)!=(c[m>>2]|0)){c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[q>>2]|0))break c;c[(c[p>>2]|0)+(c[K>>2]<<2)>>2]=c[(c[m>>2]|0)+(c[K>>2]<<2)>>2];c[K>>2]=(c[K>>2]|0)+1}}while(0);c[t>>2]=c[q>>2]}while(0);c[x>>2]=Mp(c[o>>2]|0,0,c[p>>2]|0,c[t>>2]|0,c[n>>2]|0,c[r>>2]|0)|0;if(c[h>>2]|0){c[s>>2]=(c[t>>2]|0)-(c[r>>2]|0);if(c[x>>2]|0){c[(c[o>>2]|0)+(c[s>>2]<<2)>>2]=c[x>>2];c[s>>2]=(c[s>>2]|0)+1}c[(c[h>>2]|0)+4>>2]=c[s>>2];c[(c[h>>2]|0)+8>>2]=c[v>>2]}c[t>>2]=c[r>>2];while(1){if((c[t>>2]|0)<=0)break;if(c[(c[p>>2]|0)+((c[t>>2]|0)-1<<2)>>2]|0)break;c[t>>2]=(c[t>>2]|0)+-1}if((c[w>>2]|0)!=0&(c[t>>2]|0)!=0){Wp(c[p>>2]|0,c[p>>2]|0,c[t>>2]|0,c[w>>2]|0)|0;c[t>>2]=(c[t>>2]|0)-((c[(c[p>>2]|0)+((c[t>>2]|0)-1<<2)>>2]|0)==0?1:0)}c[(c[j>>2]|0)+4>>2]=c[t>>2];c[(c[j>>2]|0)+8>>2]=c[u>>2];while(1){if(!(c[A>>2]|0))break;c[A>>2]=(c[A>>2]|0)+-1;cq(c[y+(c[A>>2]<<2)>>2]|0,c[z+(c[A>>2]<<2)>>2]|0)}i=g;return}function ep(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+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=Lp(c[(c[g>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0)|0;if((c[j>>2]|0)!=0?(c[(c[g>>2]|0)+8>>2]|0)!=0:0)c[j>>2]=(c[h>>2]|0)-(c[j>>2]|0);if(!(c[f>>2]|0)){k=c[j>>2]|0;i=e;return k|0}c[c[(c[f>>2]|0)+16>>2]>>2]=c[j>>2];c[(c[f>>2]|0)+4>>2]=(c[j>>2]|0)!=0?1:0;k=c[j>>2]|0;i=e;return k|0}function fp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=$p(c[(c[f>>2]|0)+4>>2]|0)|0;gp(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0);hq(c[j>>2]|0);i=e;return}function gp(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+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;m=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=c[(c[k>>2]|0)+8>>2];c[m>>2]=0;if(!((c[g>>2]|0)!=(c[k>>2]|0)?(c[h>>2]|0)!=(c[k>>2]|0):0)){c[m>>2]=mq(c[k>>2]|0)|0;c[k>>2]=c[m>>2]}dp(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);if((c[l>>2]^c[(c[j>>2]|0)+8>>2]|0)!=0?(c[(c[h>>2]|0)+4>>2]|0)!=0:0){Mo(c[g>>2]|0,c[g>>2]|0,1);Lo(c[h>>2]|0,c[h>>2]|0,c[k>>2]|0)}if(!(c[m>>2]|0)){i=f;return}hq(c[m>>2]|0);i=f;return}function hp(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;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+8|0;n=e+4|0;o=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[(c[g>>2]|0)+4>>2];c[l>>2]=((c[h>>2]|0)>>>0)/32|0;c[k>>2]=(c[j>>2]|0)-(c[l>>2]|0);d=c[f>>2]|0;if((c[l>>2]|0)>=(c[j>>2]|0)){c[d+4>>2]=0;i=e;return}if((c[d>>2]|0)<(c[k>>2]|0))eq(c[f>>2]|0,c[k>>2]|0);c[m>>2]=c[(c[f>>2]|0)+16>>2];c[n>>2]=c[(c[g>>2]|0)+16>>2];c[h>>2]=((c[h>>2]|0)>>>0)%32|0;a:do if(c[h>>2]|0){Wp(c[m>>2]|0,(c[n>>2]|0)+(c[l>>2]<<2)|0,c[k>>2]|0,c[h>>2]|0)|0;c[k>>2]=(c[k>>2]|0)-(((c[(c[m>>2]|0)+((c[k>>2]|0)-1<<2)>>2]|0)!=0^1)&1)}else{c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break a;c[(c[m>>2]|0)+(c[o>>2]<<2)>>2]=c[(c[n>>2]|0)+(c[l>>2]<<2)+(c[o>>2]<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}}while(0);c[(c[f>>2]|0)+4>>2]=c[k>>2];i=e;return}function ip(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=((Lp(c[(c[e>>2]|0)+16>>2]|0,c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0)|0)!=0^1)&1;i=d;return b|0}function jp(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+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=mq(c[g>>2]|0)|0;c[k>>2]=mq(c[h>>2]|0)|0;c[(c[j>>2]|0)+8>>2]=0;c[(c[k>>2]|0)+8>>2]=0;while(1){h=($o(c[k>>2]|0,0)|0)!=0;l=c[f>>2]|0;m=c[j>>2]|0;if(!h)break;bp(l,m,c[k>>2]|0);oq(c[j>>2]|0,c[k>>2]|0)|0;oq(c[k>>2]|0,c[f>>2]|0)|0}oq(l,m)|0;hq(c[j>>2]|0);hq(c[k>>2]|0);k=(($o(c[f>>2]|0,1)|0)!=0^1)&1;i=e;return k|0}function kp(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+32|0;g=f+24|0;h=f+20|0;j=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;n=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;e=c[j>>2]|0;c[j>>2]=e+4;c[m>>2]=c[e>>2];c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);e=c[l>>2]|0;d=c[h>>2]|0;c[h>>2]=d+4;c[d>>2]=e;a:do if((c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0){while(1){e=(c[k>>2]|0)+-1|0;c[k>>2]=e;if(!e)break;e=c[j>>2]|0;c[j>>2]=e+4;c[m>>2]=(c[e>>2]|0)+1;e=c[m>>2]|0;d=c[h>>2]|0;c[h>>2]=d+4;c[d>>2]=e;if(c[m>>2]|0)break a}c[g>>2]=1;o=c[g>>2]|0;i=f;return o|0}while(0);b:do if((c[h>>2]|0)!=(c[j>>2]|0)){c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[k>>2]|0)-1|0))break b;c[(c[h>>2]|0)+(c[n>>2]<<2)>>2]=c[(c[j>>2]|0)+(c[n>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}}while(0);c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}function lp(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;g=i;i=i+32|0;h=g+20|0;j=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=0;if(c[m>>2]|0)c[n>>2]=Kp(c[h>>2]|0,c[j>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(!((c[k>>2]|0)-(c[m>>2]|0)|0)){o=c[n>>2]|0;i=g;return o|0}c[n>>2]=kp((c[h>>2]|0)+(c[m>>2]<<2)|0,(c[j>>2]|0)+(c[m>>2]<<2)|0,(c[k>>2]|0)-(c[m>>2]|0)|0,c[n>>2]|0)|0;o=c[n>>2]|0;i=g;return o|0}function mp(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+32|0;g=f+24|0;h=f+20|0;j=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;n=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;e=c[j>>2]|0;c[j>>2]=e+4;c[m>>2]=c[e>>2];c[l>>2]=(c[m>>2]|0)-(c[l>>2]|0);e=c[l>>2]|0;d=c[h>>2]|0;c[h>>2]=d+4;c[d>>2]=e;a:do if((c[l>>2]|0)>>>0>(c[m>>2]|0)>>>0){while(1){e=(c[k>>2]|0)+-1|0;c[k>>2]=e;if(!e)break;e=c[j>>2]|0;c[j>>2]=e+4;c[m>>2]=c[e>>2];e=(c[m>>2]|0)-1|0;d=c[h>>2]|0;c[h>>2]=d+4;c[d>>2]=e;if(c[m>>2]|0)break a}c[g>>2]=1;o=c[g>>2]|0;i=f;return o|0}while(0);b:do if((c[h>>2]|0)!=(c[j>>2]|0)){c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[k>>2]|0)-1|0))break b;c[(c[h>>2]|0)+(c[n>>2]<<2)>>2]=c[(c[j>>2]|0)+(c[n>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}}while(0);c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}function np(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;g=i;i=i+32|0;h=g+20|0;j=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=0;if(c[m>>2]|0)c[n>>2]=Xp(c[h>>2]|0,c[j>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(!((c[k>>2]|0)-(c[m>>2]|0)|0)){o=c[n>>2]|0;i=g;return o|0}c[n>>2]=mp((c[h>>2]|0)+(c[m>>2]<<2)|0,(c[j>>2]|0)+(c[m>>2]<<2)|0,(c[k>>2]|0)-(c[m>>2]|0)|0,c[n>>2]|0)|0;o=c[n>>2]|0;i=g;return o|0}function op(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;e=i;i=i+32|0;f=e+24|0;g=e+20|0;h=e+16|0;j=e+12|0;k=e+8|0;l=e+4|0;m=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=(c[j>>2]|0)-1;while(1){if((c[k>>2]|0)<0){n=5;break}c[l>>2]=c[(c[g>>2]|0)+(c[k>>2]<<2)>>2];c[m>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];if((c[l>>2]|0)!=(c[m>>2]|0)){n=6;break}c[k>>2]=(c[k>>2]|0)+-1}if((n|0)==5){c[f>>2]=0;o=c[f>>2]|0;i=e;return o|0}else if((n|0)==6){c[f>>2]=(c[l>>2]|0)>>>0>(c[m>>2]|0)>>>0?1:-1;o=c[f>>2]|0;i=e;return o|0}return 0}function pp(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+80|0;f=e+68|0;g=e+64|0;h=e+60|0;j=e+56|0;k=e+52|0;l=e+48|0;m=e+44|0;n=e+40|0;o=e+36|0;p=e+32|0;q=e+28|0;r=e+24|0;s=e+20|0;t=e+16|0;u=e+12|0;v=e+8|0;w=e+4|0;x=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[n>>2]=0;c[q>>2]=0;c[t>>2]=0;if(!($o(c[h>>2]|0,0)|0)){c[f>>2]=0;y=c[f>>2]|0;i=e;return y|0}if(!($o(c[j>>2]|0,1)|0)){c[f>>2]=0;y=c[f>>2]|0;i=e;return y|0}c[k>>2]=mq(c[h>>2]|0)|0;c[l>>2]=mq(c[j>>2]|0)|0;c[v>>2]=0;while(1){if(So(c[k>>2]|0,0)|0)break;if(!((So(c[l>>2]|0,0)|0)!=0^1))break;Yo(c[k>>2]|0,c[k>>2]|0,1);Yo(c[l>>2]|0,c[l>>2]|0,1);c[v>>2]=(c[v>>2]|0)+1}c[x>>2]=So(c[l>>2]|0,0)|0;c[m>>2]=_p(1)|0;if(!(c[x>>2]|0))c[n>>2]=_p(0)|0;c[o>>2]=mq(c[k>>2]|0)|0;c[p>>2]=mq(c[l>>2]|0)|0;if(!(c[x>>2]|0)){c[q>>2]=$p(c[(c[k>>2]|0)+4>>2]|0)|0;No(c[q>>2]|0,c[m>>2]|0,c[k>>2]|0)}c[r>>2]=mq(c[l>>2]|0)|0;if(So(c[k>>2]|0,0)|0){c[s>>2]=_p(0)|0;if(!(c[x>>2]|0)){c[t>>2]=_p(1)|0;c[(c[t>>2]|0)+8>>2]=1}c[u>>2]=mq(c[l>>2]|0)|0;c[(c[u>>2]|0)+8>>2]=((c[(c[u>>2]|0)+8>>2]|0)!=0^1)&1}else{c[s>>2]=_p(1)|0;if(!(c[x>>2]|0))c[t>>2]=_p(0)|0;c[u>>2]=mq(c[k>>2]|0)|0;z=20}while(1){if((z|0)==20){z=0;v=(c[x>>2]|0)!=0;j=(So(c[s>>2]|0,0)|0)!=0;if(v){if(j)Lo(c[s>>2]|0,c[s>>2]|0,c[l>>2]|0);Yo(c[s>>2]|0,c[s>>2]|0,1);Yo(c[u>>2]|0,c[u>>2]|0,1);continue}if(!(!j?(So(c[t>>2]|0,0)|0)==0:0)){Lo(c[s>>2]|0,c[s>>2]|0,c[l>>2]|0);No(c[t>>2]|0,c[t>>2]|0,c[k>>2]|0)}Yo(c[s>>2]|0,c[s>>2]|0,1);Yo(c[t>>2]|0,c[t>>2]|0,1);Yo(c[u>>2]|0,c[u>>2]|0,1)}if((So(c[u>>2]|0,0)|0)!=0^1){z=20;continue}if(c[(c[u>>2]|0)+8>>2]|0){No(c[p>>2]|0,c[l>>2]|0,c[s>>2]|0);c[w>>2]=c[(c[k>>2]|0)+8>>2];c[(c[k>>2]|0)+8>>2]=((c[(c[k>>2]|0)+8>>2]|0)!=0^1)&1;if(!(c[x>>2]|0))No(c[q>>2]|0,c[k>>2]|0,c[t>>2]|0);c[(c[k>>2]|0)+8>>2]=c[w>>2];c[w>>2]=c[(c[u>>2]|0)+8>>2];c[(c[u>>2]|0)+8>>2]=((c[(c[u>>2]|0)+8>>2]|0)!=0^1)&1;oq(c[r>>2]|0,c[u>>2]|0)|0;c[(c[u>>2]|0)+8>>2]=c[w>>2]}else{oq(c[m>>2]|0,c[s>>2]|0)|0;if(!(c[x>>2]|0))oq(c[n>>2]|0,c[t>>2]|0)|0;oq(c[o>>2]|0,c[u>>2]|0)|0}No(c[s>>2]|0,c[m>>2]|0,c[p>>2]|0);if(!(c[x>>2]|0))No(c[t>>2]|0,c[n>>2]|0,c[q>>2]|0);No(c[u>>2]|0,c[o>>2]|0,c[r>>2]|0);if((c[(c[s>>2]|0)+8>>2]|0)!=0?(Lo(c[s>>2]|0,c[s>>2]|0,c[l>>2]|0),(c[x>>2]|0)==0):0)No(c[t>>2]|0,c[t>>2]|0,c[k>>2]|0);if($o(c[u>>2]|0,0)|0)z=20;else break}oq(c[g>>2]|0,c[m>>2]|0)|0;hq(c[m>>2]|0);hq(c[p>>2]|0);hq(c[s>>2]|0);if(!(c[x>>2]|0)){hq(c[n>>2]|0);hq(c[q>>2]|0);hq(c[t>>2]|0)}hq(c[o>>2]|0);hq(c[r>>2]|0);hq(c[u>>2]|0);hq(c[k>>2]|0);hq(c[l>>2]|0);c[f>>2]=1;y=c[f>>2]|0;i=e;return y|0}function qp(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;bp(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function rp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;Qo(c[e>>2]|0);c[g>>2]=gg(1,28)|0;b=c[e>>2]|0;if(c[f>>2]|0){f=mq(b)|0;c[c[g>>2]>>2]=f;c[(c[g>>2]|0)+4>>2]=1}else c[c[g>>2]>>2]=b;c[(c[g>>2]|0)+8>>2]=c[(c[e>>2]|0)+4>>2];c[h>>2]=$p((c[(c[g>>2]|0)+8>>2]|0)+1|0)|0;sq(c[h>>2]|0,1)|0;Zo(c[h>>2]|0,c[(c[g>>2]|0)+8>>2]<<1);fp(c[h>>2]|0,c[h>>2]|0,c[e>>2]|0);c[(c[g>>2]|0)+12>>2]=c[h>>2];h=$p((c[(c[g>>2]|0)+8>>2]<<1)+1|0)|0;c[(c[g>>2]|0)+16>>2]=h;h=$p((c[(c[g>>2]|0)+8>>2]<<1)+1|0)|0;c[(c[g>>2]|0)+20>>2]=h;i=d;return c[g>>2]|0}function sp(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}hq(c[(c[d>>2]|0)+12>>2]|0);hq(c[(c[d>>2]|0)+16>>2]|0);hq(c[(c[d>>2]|0)+20>>2]|0);if(c[(c[d>>2]|0)+24>>2]|0)hq(c[(c[d>>2]|0)+24>>2]|0);if(c[(c[d>>2]|0)+4>>2]|0)hq(c[c[d>>2]>>2]|0);$f(c[d>>2]|0);i=b;return}function tp(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;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+8|0;n=e+4|0;o=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[c[h>>2]>>2];c[k>>2]=c[(c[h>>2]|0)+8>>2];c[l>>2]=c[(c[h>>2]|0)+12>>2];c[m>>2]=c[(c[h>>2]|0)+16>>2];c[n>>2]=c[(c[h>>2]|0)+20>>2];Qo(c[g>>2]|0);if((c[(c[g>>2]|0)+4>>2]|0)>(c[k>>2]<<1|0)){qp(c[f>>2]|0,c[g>>2]|0,c[j>>2]|0);i=e;return}c[o>>2]=c[(c[g>>2]|0)+8>>2];c[(c[g>>2]|0)+8>>2]=0;oq(c[n>>2]|0,c[g>>2]|0)|0;Xo(c[n>>2]|0,(c[k>>2]|0)-1|0);up(c[n>>2]|0,c[n>>2]|0,c[l>>2]|0);Xo(c[n>>2]|0,(c[k>>2]|0)+1|0);oq(c[m>>2]|0,c[g>>2]|0)|0;if((c[(c[m>>2]|0)+4>>2]|0)>((c[k>>2]|0)+1|0))c[(c[m>>2]|0)+4>>2]=(c[k>>2]|0)+1;up(c[n>>2]|0,c[n>>2]|0,c[j>>2]|0);if((c[(c[n>>2]|0)+4>>2]|0)>((c[k>>2]|0)+1|0))c[(c[n>>2]|0)+4>>2]=(c[k>>2]|0)+1;No(c[f>>2]|0,c[m>>2]|0,c[n>>2]|0);if(c[(c[f>>2]|0)+8>>2]|0){if(!(c[(c[h>>2]|0)+24>>2]|0)){n=$p((c[k>>2]|0)+2|0)|0;c[(c[h>>2]|0)+24>>2]=n;sq(c[(c[h>>2]|0)+24>>2]|0,1)|0;Zo(c[(c[h>>2]|0)+24>>2]|0,(c[k>>2]|0)+1|0)}Lo(c[f>>2]|0,c[f>>2]|0,c[(c[h>>2]|0)+24>>2]|0)}while(1){if((ap(c[f>>2]|0,c[j>>2]|0)|0)<0)break;No(c[f>>2]|0,c[f>>2]|0,c[j>>2]|0)}c[(c[g>>2]|0)+8>>2]=c[o>>2];i=e;return}function up(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;e=i;i=i+96|0;f=e+84|0;g=e+80|0;h=e+76|0;j=e+72|0;k=e+68|0;l=e+64|0;m=e+60|0;n=e+56|0;o=e+52|0;p=e+48|0;q=e+44|0;r=e+40|0;s=e+36|0;t=e+32|0;u=e+28|0;v=e+24|0;w=e+20|0;x=e+16|0;y=e+12|0;z=e+8|0;A=e+4|0;B=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;if((c[(c[g>>2]|0)+4>>2]|0)<(c[(c[h>>2]|0)+4>>2]|0)){c[j>>2]=c[(c[h>>2]|0)+4>>2];c[q>>2]=c[(c[h>>2]|0)+8>>2];if(c[h>>2]|0)C=(c[(c[h>>2]|0)+12>>2]&1|0)!=0;else C=0;c[s>>2]=C&1;c[m>>2]=c[(c[h>>2]|0)+16>>2];c[k>>2]=c[(c[g>>2]|0)+4>>2];c[r>>2]=c[(c[g>>2]|0)+8>>2];if(c[g>>2]|0)D=(c[(c[g>>2]|0)+12>>2]&1|0)!=0;else D=0;c[t>>2]=D&1;c[n>>2]=c[(c[g>>2]|0)+16>>2]}else{c[j>>2]=c[(c[g>>2]|0)+4>>2];c[q>>2]=c[(c[g>>2]|0)+8>>2];if(c[g>>2]|0)E=(c[(c[g>>2]|0)+12>>2]&1|0)!=0;else E=0;c[s>>2]=E&1;c[m>>2]=c[(c[g>>2]|0)+16>>2];c[k>>2]=c[(c[h>>2]|0)+4>>2];c[r>>2]=c[(c[h>>2]|0)+8>>2];if(c[h>>2]|0)F=(c[(c[h>>2]|0)+12>>2]&1|0)!=0;else F=0;c[t>>2]=F&1;c[n>>2]=c[(c[h>>2]|0)+16>>2]}c[u>>2]=c[q>>2]^c[r>>2];c[o>>2]=c[(c[f>>2]|0)+16>>2];c[l>>2]=(c[j>>2]|0)+(c[k>>2]|0);if((c[f>>2]|0)!=0?(c[(c[f>>2]|0)+12>>2]&1|0)!=0:0)G=19;else G=14;do if((G|0)==14){if(!((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+12>>2]&1|0)!=0:0)){if(!(c[h>>2]|0)){G=19;break}if(!(c[(c[h>>2]|0)+12>>2]&1)){G=19;break}}c[o>>2]=aq(c[l>>2]|0,1)|0;c[v>>2]=2}while(0);a:do if((G|0)==19){h=(c[o>>2]|0)==(c[m>>2]|0);if((c[c[f>>2]>>2]|0)<(c[l>>2]|0)){if(!h?(c[o>>2]|0)!=(c[n>>2]|0):0){eq(c[f>>2]|0,c[l>>2]|0);c[o>>2]=c[(c[f>>2]|0)+16>>2];break}if(c[f>>2]|0)H=(c[(c[f>>2]|0)+12>>2]&1|0)!=0;else H=0;c[o>>2]=aq(c[l>>2]|0,H&1)|0;c[v>>2]=1;break}if(!h){if((c[o>>2]|0)!=(c[n>>2]|0))break;c[x>>2]=c[k>>2];h=aq(c[k>>2]|0,c[t>>2]|0)|0;c[w>>2]=h;c[n>>2]=h;c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[k>>2]|0))break a;c[(c[n>>2]|0)+(c[z>>2]<<2)>>2]=c[(c[o>>2]|0)+(c[z>>2]<<2)>>2];c[z>>2]=(c[z>>2]|0)+1}}c[x>>2]=c[j>>2];h=aq(c[j>>2]|0,c[s>>2]|0)|0;c[w>>2]=h;c[m>>2]=h;if((c[o>>2]|0)==(c[n>>2]|0))c[n>>2]=c[m>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[j>>2]|0))break a;c[(c[m>>2]|0)+(c[y>>2]<<2)>>2]=c[(c[o>>2]|0)+(c[y>>2]<<2)>>2];c[y>>2]=(c[y>>2]|0)+1}}while(0);if(c[k>>2]|0){c[p>>2]=Up(c[o>>2]|0,c[m>>2]|0,c[j>>2]|0,c[n>>2]|0,c[k>>2]|0)|0;c[l>>2]=(c[l>>2]|0)-((c[p>>2]|0)!=0?0:1)}else c[l>>2]=0;if(c[v>>2]|0){if((c[v>>2]|0)==2){c[A>>2]=aq(c[l>>2]|0,0)|0;c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[l>>2]|0))break;c[(c[A>>2]|0)+(c[B>>2]<<2)>>2]=c[(c[o>>2]|0)+(c[B>>2]<<2)>>2];c[B>>2]=(c[B>>2]|0)+1}cq(c[o>>2]|0,0);c[o>>2]=c[A>>2]}dq(c[f>>2]|0,c[o>>2]|0,c[l>>2]|0)}c[(c[f>>2]|0)+4>>2]=c[l>>2];c[(c[f>>2]|0)+8>>2]=c[u>>2];if(!(c[w>>2]|0)){i=e;return}cq(c[w>>2]|0,c[x>>2]|0);i=e;return}function vp(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;up(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);cp(c[g>>2]|0,c[g>>2]|0,c[k>>2]|0);i=f;return}function wp(a,b,e,f){a=a|0;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;g=i;i=i+512|0;h=g+504|0;j=g+500|0;k=g+496|0;l=g+492|0;m=g+488|0;n=g+484|0;o=g+480|0;p=g+476|0;q=g+472|0;r=g+468|0;s=g+464|0;t=g+460|0;u=g+456|0;v=g+452|0;w=g+448|0;x=g+444|0;y=g+440|0;z=g+436|0;A=g+432|0;B=g+428|0;C=g+424|0;D=g+420|0;E=g+416|0;F=g+412|0;G=g+408|0;H=g+404|0;I=g+400|0;J=g+396|0;K=g+392|0;L=g+328|0;M=g+264|0;N=g+260|0;O=g+256|0;P=g+252|0;Q=g+248|0;R=g+244|0;S=g+240|0;T=g+236|0;U=g+232|0;V=g+228|0;W=g+224|0;X=g+220|0;Y=g+216|0;Z=g+212|0;_=g+208|0;$=g+204|0;aa=g+200|0;ba=g+196|0;ca=g+192|0;da=g+164|0;ea=g+160|0;fa=g+156|0;ga=g+152|0;ha=g+148|0;ia=g+144|0;ja=g+140|0;ka=g+136|0;la=g+132|0;ma=g+128|0;na=g+124|0;oa=g+120|0;pa=g+116|0;qa=g+112|0;ra=g+108|0;sa=g+104|0;ta=g+100|0;ua=g+80|0;va=g+60|0;wa=g+56|0;xa=g+52|0;ya=g+48|0;za=g+44|0;Aa=g+24|0;Ba=g+4|0;Ca=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[D>>2]=0;c[E>>2]=0;c[F>>2]=0;c[G>>2]=0;c[H>>2]=0;c[I>>2]=0;c[J>>2]=0;c[K>>2]=0;c[q>>2]=c[(c[k>>2]|0)+4>>2];c[r>>2]=c[(c[l>>2]|0)+4>>2];c[A>>2]=c[r>>2]<<1;c[u>>2]=c[(c[l>>2]|0)+8>>2];do if((c[q>>2]<<5|0)<=512){if((c[q>>2]<<5|0)>256){c[N>>2]=4;break}if((c[q>>2]<<5|0)>128){c[N>>2]=3;break}if((c[q>>2]<<5|0)>64){c[N>>2]=2;break}else{c[N>>2]=1;break}}else c[N>>2]=5;while(0);if(c[k>>2]|0)Da=(c[(c[k>>2]|0)+12>>2]&1|0)!=0;else Da=0;c[x>>2]=Da&1;if(c[l>>2]|0)Ea=(c[(c[l>>2]|0)+12>>2]&1|0)!=0;else Ea=0;c[y>>2]=Ea&1;if(c[j>>2]|0)Fa=(c[(c[j>>2]|0)+12>>2]&1|0)!=0;else Fa=0;c[z>>2]=Fa&1;c[m>>2]=c[(c[h>>2]|0)+16>>2];c[n>>2]=c[(c[k>>2]|0)+16>>2];if(!(c[r>>2]|0))Kf();do if(c[q>>2]|0){c[H>>2]=(c[y>>2]|0)!=0?c[r>>2]|0:0;k=aq(c[r>>2]|0,c[y>>2]|0)|0;c[D>>2]=k;c[o>>2]=k;c[R>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+((c[r>>2]|0)-1<<2)>>2];k=c[R>>2]|0;c[S>>2]=(c[R>>2]|0)>>>0<65536?(k>>>0<256?0:8):k>>>0<16777216?16:24;c[B>>2]=32-((d[45806+((c[R>>2]|0)>>>(c[S>>2]|0))>>0]|0)+(c[S>>2]|0));a:do if(c[B>>2]|0)Op(c[o>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[r>>2]|0,c[B>>2]|0)|0;else{c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[r>>2]|0))break a;c[(c[o>>2]|0)+(c[T>>2]<<2)>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+(c[T>>2]<<2)>>2];c[T>>2]=(c[T>>2]|0)+1}}while(0);c[s>>2]=c[(c[j>>2]|0)+4>>2];c[v>>2]=c[(c[j>>2]|0)+8>>2];b:do if((c[s>>2]|0)>(c[r>>2]|0)){c[I>>2]=(c[z>>2]|0)!=0?(c[s>>2]|0)+1|0:0;k=aq((c[s>>2]|0)+1|0,c[z>>2]|0)|0;c[E>>2]=k;c[p>>2]=k;c[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[s>>2]|0))break;c[(c[p>>2]|0)+(c[U>>2]<<2)>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[U>>2]<<2)>>2];c[U>>2]=(c[U>>2]|0)+1}Mp((c[p>>2]|0)+(c[r>>2]<<2)|0,0,c[p>>2]|0,c[s>>2]|0,c[o>>2]|0,c[r>>2]|0)|0;c[s>>2]=c[r>>2];while(1){if((c[s>>2]|0)<=0)break b;if(c[(c[p>>2]|0)+((c[s>>2]|0)-1<<2)>>2]|0)break b;c[s>>2]=(c[s>>2]|0)+-1}}else c[p>>2]=c[(c[j>>2]|0)+16>>2];while(0);if(!(c[s>>2]|0)){c[(c[h>>2]|0)+4>>2]=0;c[(c[h>>2]|0)+8>>2]=0;break}c:do if((c[m>>2]|0)==(c[p>>2]|0)){if(c[E>>2]|0)xf(46062,46073,515,46083);c[I>>2]=(c[z>>2]|0)!=0?c[s>>2]|0:0;k=aq(c[s>>2]|0,c[z>>2]|0)|0;c[E>>2]=k;c[p>>2]=k;c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[s>>2]|0))break c;c[(c[p>>2]|0)+(c[V>>2]<<2)>>2]=c[(c[m>>2]|0)+(c[V>>2]<<2)>>2];c[V>>2]=(c[V>>2]|0)+1}}while(0);d:do if((c[m>>2]|0)==(c[n>>2]|0)){c[J>>2]=(c[x>>2]|0)!=0?c[q>>2]|0:0;k=aq(c[q>>2]|0,c[x>>2]|0)|0;c[F>>2]=k;c[n>>2]=k;c[W>>2]=0;while(1){if((c[W>>2]|0)>=(c[q>>2]|0))break d;c[(c[n>>2]|0)+(c[W>>2]<<2)>>2]=c[(c[m>>2]|0)+(c[W>>2]<<2)>>2];c[W>>2]=(c[W>>2]|0)+1}}while(0);if((c[c[h>>2]>>2]|0)<(c[A>>2]|0)){eq(c[h>>2]|0,c[A>>2]|0);c[m>>2]=c[(c[h>>2]|0)+16>>2]}if(c[y>>2]|0)Ga=(c[r>>2]|0)+1<<1;else Ga=0;c[K>>2]=Ga;k=aq((c[r>>2]|0)+1<<1,c[y>>2]|0)|0;c[G>>2]=k;c[_>>2]=k;c[da>>2]=0;c[da+4>>2]=0;c[da+8>>2]=0;c[da+12>>2]=0;c[da+16>>2]=0;c[da+20>>2]=0;c[da+24>>2]=0;c[C>>2]=((c[c[n>>2]>>2]&1|0)!=0?(c[v>>2]|0)!=0:0)&1;if((c[N>>2]|0)>1)xp(c[_>>2]|0,$,c[p>>2]|0,c[s>>2]|0,c[p>>2]|0,c[s>>2]|0,c[o>>2]|0,c[r>>2]|0,da);k=aq(c[s>>2]|0,c[x>>2]|0)|0;c[L>>2]=k;c[O>>2]=k;k=c[s>>2]|0;c[M>>2]=k;c[Q>>2]=k;c[P>>2]=k;c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=(c[s>>2]|0))break;c[(c[L>>2]|0)+(c[fa>>2]<<2)>>2]=c[(c[p>>2]|0)+(c[fa>>2]<<2)>>2];c[fa>>2]=(c[fa>>2]|0)+1}c[X>>2]=1;while(1){if((c[X>>2]|0)>=(1<<(c[N>>2]|0)-1|0))break;k=c[m>>2]|0;if((c[$>>2]|0)>=(c[P>>2]|0))xp(k,t,c[_>>2]|0,c[$>>2]|0,c[O>>2]|0,c[P>>2]|0,c[o>>2]|0,c[r>>2]|0,da);else xp(k,t,c[O>>2]|0,c[P>>2]|0,c[_>>2]|0,c[$>>2]|0,c[o>>2]|0,c[r>>2]|0,da);k=aq(c[t>>2]|0,c[x>>2]|0)|0;c[L+(c[X>>2]<<2)>>2]=k;c[O>>2]=k;k=c[t>>2]|0;c[M+(c[X>>2]<<2)>>2]=k;c[P>>2]=k;if((c[Q>>2]|0)<(c[P>>2]|0))c[Q>>2]=c[P>>2];c[ga>>2]=0;while(1){if((c[ga>>2]|0)>=(c[t>>2]|0))break;c[(c[L+(c[X>>2]<<2)>>2]|0)+(c[ga>>2]<<2)>>2]=c[(c[m>>2]|0)+(c[ga>>2]<<2)>>2];c[ga>>2]=(c[ga>>2]|0)+1}c[X>>2]=(c[X>>2]|0)+1}c[O>>2]=aq(c[Q>>2]|0,c[x>>2]|0)|0;c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[Q>>2]|0))break;c[(c[O>>2]|0)+(c[ha>>2]<<2)>>2]=0;c[ha>>2]=(c[ha>>2]|0)+1}c[X>>2]=(c[q>>2]|0)-1;c[w>>2]=0;e:do if((c[N>>2]|0)==1)c[t>>2]=c[s>>2];else{c[t>>2]=c[r>>2];c[ia>>2]=0;while(1){if((c[ia>>2]|0)>=(c[t>>2]|0))break e;c[(c[m>>2]|0)+(c[ia>>2]<<2)>>2]=0;c[ia>>2]=(c[ia>>2]|0)+1}}while(0);c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[s>>2]|0))break;c[(c[m>>2]|0)+(c[ja>>2]<<2)>>2]=c[(c[p>>2]|0)+(c[ja>>2]<<2)>>2];c[ja>>2]=(c[ja>>2]|0)+1}c[ba>>2]=c[(c[n>>2]|0)+(c[X>>2]<<2)>>2];c[ka>>2]=c[ba>>2];k=c[ka>>2]|0;c[la>>2]=(c[ka>>2]|0)>>>0<65536?(k>>>0<256?0:8):k>>>0<16777216?16:24;c[aa>>2]=32-((d[45806+((c[ka>>2]|0)>>>(c[la>>2]|0))>>0]|0)+(c[la>>2]|0));c[ba>>2]=c[ba>>2]<<c[aa>>2]<<1;c[aa>>2]=31-(c[aa>>2]|0);c[Y>>2]=0;while(1){if(!(c[ba>>2]|0)){c[Y>>2]=(c[Y>>2]|0)+(c[aa>>2]|0);c[X>>2]=(c[X>>2]|0)+-1;if((c[X>>2]|0)<0){Ha=86;break}c[ba>>2]=c[(c[n>>2]|0)+(c[X>>2]<<2)>>2];c[aa>>2]=32;continue}c[oa>>2]=c[ba>>2];k=c[oa>>2]|0;c[pa>>2]=(c[oa>>2]|0)>>>0<65536?(k>>>0<256?0:8):k>>>0<16777216?16:24;c[ma>>2]=32-((d[45806+((c[oa>>2]|0)>>>(c[pa>>2]|0))>>0]|0)+(c[pa>>2]|0));c[ba>>2]=c[ba>>2]<<c[ma>>2];c[aa>>2]=(c[aa>>2]|0)-(c[ma>>2]|0);c[Y>>2]=(c[Y>>2]|0)+(c[ma>>2]|0);if((c[aa>>2]|0)>=(c[N>>2]|0)){c[na>>2]=(c[ba>>2]|0)>>>(32-(c[N>>2]|0)|0);c[ba>>2]=c[ba>>2]<<c[N>>2];c[aa>>2]=(c[aa>>2]|0)-(c[N>>2]|0)}else{c[X>>2]=(c[X>>2]|0)+-1;if((c[X>>2]|0)<0){Ha=91;break}c[ma>>2]=c[aa>>2];c[na>>2]=(c[ba>>2]|0)>>>(32-(c[N>>2]|0)|0)|(c[(c[n>>2]|0)+(c[X>>2]<<2)>>2]|0)>>>(32-(c[N>>2]|0)+(c[ma>>2]|0)|0);c[ba>>2]=c[(c[n>>2]|0)+(c[X>>2]<<2)>>2]<<(c[N>>2]|0)-(c[ma>>2]|0);c[aa>>2]=32-(c[N>>2]|0)+(c[ma>>2]|0)}c[qa>>2]=c[na>>2];c[sa>>2]=c[qa>>2]&0-(c[qa>>2]|0);k=c[sa>>2]|0;c[ta>>2]=(c[sa>>2]|0)>>>0<65536?(k>>>0<256?0:8):k>>>0<16777216?16:24;c[ra>>2]=32-((d[45806+((c[sa>>2]|0)>>>(c[ta>>2]|0))>>0]|0)+(c[ta>>2]|0));c[ma>>2]=31-(c[ra>>2]|0);c[na>>2]=(c[na>>2]|0)>>>(c[ma>>2]|0)>>>1;c[Y>>2]=(c[Y>>2]|0)+((c[N>>2]|0)-(c[ma>>2]|0));while(1){if(!(c[Y>>2]|0))break;xp(c[_>>2]|0,$,c[m>>2]|0,c[t>>2]|0,c[m>>2]|0,c[t>>2]|0,c[o>>2]|0,c[r>>2]|0,da);c[ea>>2]=c[m>>2];c[m>>2]=c[_>>2];c[_>>2]=c[ea>>2];c[t>>2]=c[$>>2];c[Y>>2]=(c[Y>>2]|0)+-1}c[P>>2]=0;c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(1<<(c[N>>2]|0)-1|0))break;k=c[M+(c[Z>>2]<<2)>>2]|0;c[ua+4>>2]=k;c[ua>>2]=k;k=c[M+(c[Z>>2]<<2)>>2]|0;c[va+4>>2]=k;c[va>>2]=k;c[va+8>>2]=0;c[ua+8>>2]=0;c[va+12>>2]=0;c[ua+12>>2]=0;c[ua+16>>2]=c[O>>2];c[va+16>>2]=c[L+(c[Z>>2]<<2)>>2];rq(ua,va,(c[Z>>2]|0)==(c[na>>2]|0)&1)|0;c[P>>2]=c[P>>2]|c[M+(c[Z>>2]<<2)>>2]&0-((c[Z>>2]|0)==(c[na>>2]|0)&1);c[Z>>2]=(c[Z>>2]|0)+1}xp(c[_>>2]|0,$,c[m>>2]|0,c[t>>2]|0,c[O>>2]|0,c[P>>2]|0,c[o>>2]|0,c[r>>2]|0,da);c[ea>>2]=c[m>>2];c[m>>2]=c[_>>2];c[_>>2]=c[ea>>2];c[t>>2]=c[$>>2];c[Y>>2]=c[ma>>2]}if((Ha|0)==86)c[aa>>2]=0;else if((Ha|0)==91)c[ba>>2]=(c[ba>>2]|0)>>>(32-(c[aa>>2]|0)|0);if(c[aa>>2]|0){c[Y>>2]=(c[Y>>2]|0)+(c[aa>>2]|0);c[wa>>2]=c[ba>>2];c[ya>>2]=c[wa>>2]&0-(c[wa>>2]|0);k=c[ya>>2]|0;c[za>>2]=(c[ya>>2]|0)>>>0<65536?(k>>>0<256?0:8):k>>>0<16777216?16:24;c[xa>>2]=32-((d[45806+((c[ya>>2]|0)>>>(c[za>>2]|0))>>0]|0)+(c[za>>2]|0));c[aa>>2]=31-(c[xa>>2]|0);c[ba>>2]=(c[ba>>2]|0)>>>(c[aa>>2]|0);c[Y>>2]=(c[Y>>2]|0)-(c[aa>>2]|0)}while(1){k=c[Y>>2]|0;c[Y>>2]=k+-1;if(!k)break;xp(c[_>>2]|0,$,c[m>>2]|0,c[t>>2]|0,c[m>>2]|0,c[t>>2]|0,c[o>>2]|0,c[r>>2]|0,da);c[ea>>2]=c[m>>2];c[m>>2]=c[_>>2];c[_>>2]=c[ea>>2];c[t>>2]=c[$>>2]}f:do if(c[ba>>2]|0){c[P>>2]=0;c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(1<<(c[N>>2]|0)-1|0))break;k=c[M+(c[Z>>2]<<2)>>2]|0;c[Aa+4>>2]=k;c[Aa>>2]=k;k=c[M+(c[Z>>2]<<2)>>2]|0;c[Ba+4>>2]=k;c[Ba>>2]=k;c[Ba+8>>2]=0;c[Aa+8>>2]=0;c[Ba+12>>2]=0;c[Aa+12>>2]=0;c[Aa+16>>2]=c[O>>2];c[Ba+16>>2]=c[L+(c[Z>>2]<<2)>>2];rq(Aa,Ba,(c[Z>>2]|0)==((c[ba>>2]|0)>>>1|0)&1)|0;c[P>>2]=c[P>>2]|c[M+(c[Z>>2]<<2)>>2]&0-((c[Z>>2]|0)==((c[ba>>2]|0)>>>1|0)&1);c[Z>>2]=(c[Z>>2]|0)+1}xp(c[_>>2]|0,$,c[m>>2]|0,c[t>>2]|0,c[O>>2]|0,c[P>>2]|0,c[o>>2]|0,c[r>>2]|0,da);c[ea>>2]=c[m>>2];c[m>>2]=c[_>>2];c[_>>2]=c[ea>>2];c[t>>2]=c[$>>2];while(1){if(!(c[aa>>2]|0))break f;xp(c[_>>2]|0,$,c[m>>2]|0,c[t>>2]|0,c[m>>2]|0,c[t>>2]|0,c[o>>2]|0,c[r>>2]|0,da);c[ea>>2]=c[m>>2];c[m>>2]=c[_>>2];c[_>>2]=c[ea>>2];c[t>>2]=c[$>>2];c[aa>>2]=(c[aa>>2]|0)+-1}}while(0);k=c[(c[h>>2]|0)+16>>2]|0;Fa=c[m>>2]|0;do if(c[B>>2]|0){c[ca>>2]=Op(k,Fa,c[t>>2]|0,c[B>>2]|0)|0;c[m>>2]=c[(c[h>>2]|0)+16>>2];if(!(c[ca>>2]|0))break;c[(c[m>>2]|0)+(c[t>>2]<<2)>>2]=c[ca>>2];c[t>>2]=(c[t>>2]|0)+1}else{if((k|0)==(Fa|0))break;c[Ca>>2]=0;while(1){if((c[Ca>>2]|0)>=(c[t>>2]|0))break;c[(c[(c[h>>2]|0)+16>>2]|0)+(c[Ca>>2]<<2)>>2]=c[(c[m>>2]|0)+(c[Ca>>2]<<2)>>2];c[Ca>>2]=(c[Ca>>2]|0)+1}c[m>>2]=c[(c[h>>2]|0)+16>>2]}while(0);if((c[t>>2]|0)>=(c[r>>2]|0)){Mp((c[m>>2]|0)+(c[r>>2]<<2)|0,0,c[m>>2]|0,c[t>>2]|0,c[o>>2]|0,c[r>>2]|0)|0;c[t>>2]=c[r>>2]}if(c[B>>2]|0)Wp(c[m>>2]|0,c[m>>2]|0,c[t>>2]|0,c[B>>2]|0)|0;while(1){if((c[t>>2]|0)<=0)break;if(c[(c[m>>2]|0)+((c[t>>2]|0)-1<<2)>>2]|0)break;c[t>>2]=(c[t>>2]|0)+-1}Vp(da);c[X>>2]=0;while(1){if((c[X>>2]|0)>=(1<<(c[N>>2]|0)-1|0))break;if(c[x>>2]|0)Ia=c[M+(c[X>>2]<<2)>>2]|0;else Ia=0;cq(c[L+(c[X>>2]<<2)>>2]|0,Ia);c[X>>2]=(c[X>>2]|0)+1}cq(c[O>>2]|0,(c[x>>2]|0)!=0?c[Q>>2]|0:0);g:do if((c[C>>2]|0)!=0&(c[t>>2]|0)!=0){if(c[B>>2]|0)Wp(c[o>>2]|0,c[o>>2]|0,c[r>>2]|0,c[B>>2]|0)|0;np(c[m>>2]|0,c[o>>2]|0,c[r>>2]|0,c[m>>2]|0,c[t>>2]|0)|0;c[t>>2]=c[r>>2];c[w>>2]=c[u>>2];while(1){if((c[t>>2]|0)<=0)break g;if(c[(c[m>>2]|0)+((c[t>>2]|0)-1<<2)>>2]|0)break g;c[t>>2]=(c[t>>2]|0)+-1}}while(0);if((c[(c[h>>2]|0)+16>>2]|0)==(c[m>>2]|0)){c[(c[h>>2]|0)+4>>2]=c[t>>2];c[(c[h>>2]|0)+8>>2]=c[w>>2];break}else xf(46098,46073,786,46083)}else{if((c[r>>2]|0)==1)Ja=(c[c[(c[l>>2]|0)+16>>2]>>2]|0)==1;else Ja=0;c[(c[h>>2]|0)+4>>2]=Ja?0:1;if(c[(c[h>>2]|0)+4>>2]|0){if((c[c[h>>2]>>2]|0)<1)eq(c[h>>2]|0,1);c[m>>2]=c[(c[h>>2]|0)+16>>2];c[c[m>>2]>>2]=1}c[(c[h>>2]|0)+8>>2]=0}while(0);if(c[D>>2]|0)cq(c[D>>2]|0,c[H>>2]|0);if(c[E>>2]|0)cq(c[E>>2]|0,c[I>>2]|0);if(c[F>>2]|0)cq(c[F>>2]|0,c[J>>2]|0);if(!(c[G>>2]|0)){i=g;return}cq(c[G>>2]|0,c[K>>2]|0);i=g;return}function xp(a,b,d,e,f,g,h,j,k){a=a|0;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;l=i;i=i+48|0;m=l+32|0;n=l+28|0;o=l+24|0;p=l+20|0;q=l+16|0;r=l+12|0;s=l+8|0;t=l+4|0;u=l;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;k=c[m>>2]|0;j=c[o>>2]|0;o=c[p>>2]|0;h=c[q>>2]|0;q=c[r>>2]|0;if((c[r>>2]|0)<16)Up(k,j,o,h,q)|0;else Tp(k,j,o,h,q,c[u>>2]|0);if(((c[p>>2]|0)+(c[r>>2]|0)|0)>(c[t>>2]|0)){Mp((c[m>>2]|0)+(c[t>>2]<<2)|0,0,c[m>>2]|0,(c[p>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0,c[t>>2]|0)|0;c[c[n>>2]>>2]=c[t>>2];i=l;return}else{c[c[n>>2]>>2]=(c[p>>2]|0)+(c[r>>2]|0);i=l;return}}function yp(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=i;i=i+48|0;e=b+32|0;f=b+28|0;g=b+24|0;h=b+20|0;j=b+16|0;k=b+12|0;l=b+8|0;m=b+4|0;n=b;c[e>>2]=a;c[g>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=(c[(c[e>>2]|0)+4>>2]|0)>>>0){o=6;break}if(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<2)>>2]|0)break;c[g>>2]=(c[g>>2]|0)+32;c[f>>2]=(c[f>>2]|0)+1}if((o|0)==6){p=c[g>>2]|0;i=b;return p|0}c[j>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<2)>>2];c[k>>2]=c[j>>2];c[m>>2]=c[k>>2]&0-(c[k>>2]|0);k=c[m>>2]|0;c[n>>2]=(c[m>>2]|0)>>>0<65536?(k>>>0<256?0:8):k>>>0<16777216?16:24;c[l>>2]=32-((d[45806+((c[m>>2]|0)>>>(c[n>>2]|0))>>0]|0)+(c[n>>2]|0));c[h>>2]=31-(c[l>>2]|0);c[g>>2]=(c[g>>2]|0)+(c[h>>2]|0);p=c[g>>2]|0;i=b;return p|0}function zp(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=Ap(c[g>>2]|0,c[h>>2]|0,0,c[j>>2]|0,c[k>>2]|0,0)|0;i=f;return e|0}function Ap(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;k=i;i=i+64|0;l=k+60|0;m=k+56|0;n=k+52|0;o=k+48|0;p=k+44|0;q=k+40|0;r=k+36|0;s=k+32|0;t=k+28|0;u=k+24|0;v=k+20|0;w=k+16|0;x=k+12|0;y=k+8|0;z=k+4|0;A=k;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;if(c[q>>2]|0)c[c[q>>2]>>2]=c[(c[m>>2]|0)+8>>2];c[c[p>>2]>>2]=c[(c[m>>2]|0)+4>>2]<<2;if(c[c[p>>2]>>2]|0)B=c[c[p>>2]>>2]|0;else B=1;c[z>>2]=B;if((c[z>>2]|0)>>>0<(c[n>>2]|0)>>>0)c[z>>2]=c[n>>2];B=c[z>>2]|0;z=c[o>>2]|0;if((c[o>>2]|0)<0)c[A>>2]=B+(0-z);else c[A>>2]=B+z;do if(c[r>>2]|0)C=13;else{if((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]&1|0)!=0:0){C=13;break}D=Vf(c[A>>2]|0)|0}while(0);if((C|0)==13)D=Yf(c[A>>2]|0)|0;c[u>>2]=D;if(!(c[u>>2]|0)){c[l>>2]=0;E=c[l>>2]|0;i=k;return E|0}D=c[u>>2]|0;if((c[o>>2]|0)<0)c[t>>2]=D+(0-(c[o>>2]|0));else c[t>>2]=D;c[s>>2]=c[t>>2];c[y>>2]=(c[(c[m>>2]|0)+4>>2]|0)-1;while(1){if((c[y>>2]|0)<0)break;c[x>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[y>>2]<<2)>>2];D=(c[x>>2]|0)>>>24&255;o=c[s>>2]|0;c[s>>2]=o+1;a[o>>0]=D;D=(c[x>>2]|0)>>>16&255;o=c[s>>2]|0;c[s>>2]=o+1;a[o>>0]=D;D=(c[x>>2]|0)>>>8&255;o=c[s>>2]|0;c[s>>2]=o+1;a[o>>0]=D;D=c[x>>2]&255;o=c[s>>2]|0;c[s>>2]=o+1;a[o>>0]=D;c[y>>2]=(c[y>>2]|0)+-1}if(c[n>>2]|0){c[v>>2]=c[c[p>>2]>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>>>0>=(((c[v>>2]|0)>>>0)/2|0)>>>0)break;c[w>>2]=d[(c[t>>2]|0)+(c[y>>2]|0)>>0];a[(c[t>>2]|0)+(c[y>>2]|0)>>0]=a[(c[t>>2]|0)+((c[v>>2]|0)-1-(c[y>>2]|0))>>0]|0;a[(c[t>>2]|0)+((c[v>>2]|0)-1-(c[y>>2]|0))>>0]=c[w>>2];c[y>>2]=(c[y>>2]|0)+1}c[s>>2]=(c[t>>2]|0)+(c[v>>2]|0);while(1){if((c[v>>2]|0)>>>0>=(c[n>>2]|0)>>>0)break;y=c[s>>2]|0;c[s>>2]=y+1;a[y>>0]=0;c[v>>2]=(c[v>>2]|0)+1}c[c[p>>2]>>2]=c[v>>2];c[l>>2]=c[u>>2];E=c[l>>2]|0;i=k;return E|0}else{c[s>>2]=c[t>>2];while(1){if(!(c[c[p>>2]>>2]|0))break;if(!((a[c[s>>2]>>0]|0)!=0^1))break;c[s>>2]=(c[s>>2]|0)+1;v=c[p>>2]|0;c[v>>2]=(c[v>>2]|0)+-1}if((c[s>>2]|0)!=(c[t>>2]|0))Ex(c[t>>2]|0,c[s>>2]|0,c[c[p>>2]>>2]|0)|0;c[l>>2]=c[u>>2];E=c[l>>2]|0;i=k;return E|0}return 0}function Bp(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;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=Ap(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,0)|0;i=g;return f|0}function Cp(a,b,e,f){a=a|0;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;g=i;i=i+48|0;h=g+32|0;j=g+28|0;k=g+24|0;l=g+20|0;m=g+16|0;n=g+12|0;o=g+8|0;p=g+4|0;q=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[j>>2];if((c[h>>2]|0)!=0?(c[(c[h>>2]|0)+12>>2]&16|0)!=0:0){gq();i=g;return}c[p>>2]=(((c[k>>2]|0)+4-1|0)>>>0)/4|0;if((c[c[h>>2]>>2]|0)<(c[p>>2]|0))eq(c[h>>2]|0,c[p>>2]|0);c[(c[h>>2]|0)+8>>2]=c[l>>2];c[q>>2]=0;c[n>>2]=(c[m>>2]|0)+(c[k>>2]|0)+-1;while(1){r=c[n>>2]|0;if((c[n>>2]|0)>>>0<((c[m>>2]|0)+4|0)>>>0)break;c[n>>2]=r+-1;c[o>>2]=d[r>>0];k=c[n>>2]|0;c[n>>2]=k+-1;c[o>>2]=c[o>>2]|(d[k>>0]|0)<<8;k=c[n>>2]|0;c[n>>2]=k+-1;c[o>>2]=c[o>>2]|(d[k>>0]|0)<<16;k=c[n>>2]|0;c[n>>2]=k+-1;c[o>>2]=c[o>>2]|(d[k>>0]|0)<<24;k=c[o>>2]|0;l=c[q>>2]|0;c[q>>2]=l+1;c[(c[(c[h>>2]|0)+16>>2]|0)+(l<<2)>>2]=k}if(r>>>0>=(c[m>>2]|0)>>>0){r=c[n>>2]|0;c[n>>2]=r+-1;c[o>>2]=d[r>>0];if((c[n>>2]|0)>>>0>=(c[m>>2]|0)>>>0){r=c[n>>2]|0;c[n>>2]=r+-1;c[o>>2]=c[o>>2]|(d[r>>0]|0)<<8}if((c[n>>2]|0)>>>0>=(c[m>>2]|0)>>>0){r=c[n>>2]|0;c[n>>2]=r+-1;c[o>>2]=c[o>>2]|(d[r>>0]|0)<<16}if((c[n>>2]|0)>>>0>=(c[m>>2]|0)>>>0){m=c[n>>2]|0;c[n>>2]=m+-1;c[o>>2]=c[o>>2]|(d[m>>0]|0)<<24}m=c[o>>2]|0;o=c[q>>2]|0;c[q>>2]=o+1;c[(c[(c[h>>2]|0)+16>>2]|0)+(o<<2)>>2]=m}c[(c[h>>2]|0)+4>>2]=c[q>>2];if((c[q>>2]|0)==(c[p>>2]|0)){i=g;return}else xf(46111,46123,377,46134)}function Dp(a,b,e,f,g){a=a|0;b=b|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;h=i;i=i+64|0;j=h+48|0;k=h+44|0;l=h+40|0;m=h+36|0;n=h+32|0;o=h+28|0;p=h+24|0;q=h+20|0;r=h+16|0;s=h+12|0;t=h+8|0;u=h+4|0;v=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=c[m>>2];c[q>>2]=0;if(c[p>>2]|0)w=(Zf(c[p>>2]|0)|0)!=0;else w=0;c[s>>2]=w&1;if((c[l>>2]|0)==3)c[r>>2]=0;else c[r>>2]=c[n>>2];if((c[l>>2]|0)==1){c[t>>2]=c[p>>2];w=(((c[r>>2]|0)+4-1|0)>>>0)/4|0;if(c[s>>2]|0)x=bq(w)|0;else x=$p(w)|0;c[q>>2]=x;if((c[r>>2]|0)!=0?(Cp(c[q>>2]|0,c[t>>2]|0,c[r>>2]|0,0),c[(c[q>>2]|0)+8>>2]=(((d[c[t>>2]>>0]|0)&128|0)!=0^1^1)&1,(c[(c[q>>2]|0)+8>>2]|0)!=0):0){Ep(c[q>>2]|0);Ko(c[q>>2]|0,c[q>>2]|0,1);c[(c[q>>2]|0)+8>>2]=1}t=c[q>>2]|0;if(c[k>>2]|0){Qo(t);c[c[k>>2]>>2]=c[q>>2]}else hq(t);if(c[o>>2]|0)c[c[o>>2]>>2]=c[r>>2];c[j>>2]=0;y=c[j>>2]|0;i=h;return y|0}if((c[l>>2]|0)==5){t=(((c[r>>2]|0)+4-1|0)>>>0)/4|0;if(c[s>>2]|0)z=bq(t)|0;else z=$p(t)|0;c[q>>2]=z;if(c[r>>2]|0)Cp(c[q>>2]|0,c[p>>2]|0,c[r>>2]|0,0);z=c[q>>2]|0;if(c[k>>2]|0){Qo(z);c[c[k>>2]>>2]=c[q>>2]}else hq(z);if(c[o>>2]|0)c[c[o>>2]>>2]=c[r>>2];c[j>>2]=0;y=c[j>>2]|0;i=h;return y|0}if((c[l>>2]|0)==2){c[q>>2]=Fp(c[p>>2]|0,r,c[s>>2]|0)|0;if(c[o>>2]|0)c[c[o>>2]>>2]=c[r>>2];z=c[q>>2]|0;if(!((c[k>>2]|0)!=0&(c[q>>2]|0)!=0)){if(z){hq(c[q>>2]|0);c[q>>2]=0}}else{Qo(z);c[c[k>>2]>>2]=c[q>>2]}c[j>>2]=(c[q>>2]|0)!=0?0:65;y=c[j>>2]|0;i=h;return y|0}if((c[l>>2]|0)!=3){if((c[l>>2]|0)!=4){c[j>>2]=45;y=c[j>>2]|0;i=h;return y|0}if(c[n>>2]|0){c[j>>2]=45;y=c[j>>2]|0;i=h;return y|0}if(c[s>>2]|0)A=bq(0)|0;else A=$p(0)|0;c[q>>2]=A;if(Gp(c[q>>2]|0,c[p>>2]|0)|0){hq(c[q>>2]|0);c[j>>2]=65;y=c[j>>2]|0;i=h;return y|0}A=c[q>>2]|0;if(c[k>>2]|0){Qo(A);c[c[k>>2]>>2]=c[q>>2]}else hq(A);if(c[o>>2]|0){A=Kv(c[p>>2]|0)|0;c[c[o>>2]>>2]=A}c[j>>2]=0;y=c[j>>2]|0;i=h;return y|0}c[u>>2]=c[p>>2];if((c[r>>2]|0)!=0&(c[r>>2]|0)>>>0<4){c[j>>2]=66;y=c[j>>2]|0;i=h;return y|0}c[v>>2]=(d[c[u>>2]>>0]|0)<<24|(d[(c[u>>2]|0)+1>>0]|0)<<16|(d[(c[u>>2]|0)+2>>0]|0)<<8|(d[(c[u>>2]|0)+3>>0]|0);c[u>>2]=(c[u>>2]|0)+4;if(c[r>>2]|0)c[r>>2]=(c[r>>2]|0)-4;if((c[r>>2]|0)!=0?(c[v>>2]|0)>>>0>(c[r>>2]|0)>>>0:0){c[j>>2]=67;y=c[j>>2]|0;i=h;return y|0}r=(((c[v>>2]|0)+4-1|0)>>>0)/4|0;if(c[s>>2]|0)B=bq(r)|0;else B=$p(r)|0;c[q>>2]=B;if((c[v>>2]|0)!=0?(Cp(c[q>>2]|0,c[u>>2]|0,c[v>>2]|0,0),c[(c[q>>2]|0)+8>>2]=(((d[c[u>>2]>>0]|0)&128|0)!=0^1^1)&1,(c[(c[q>>2]|0)+8>>2]|0)!=0):0){Ep(c[q>>2]|0);Ko(c[q>>2]|0,c[q>>2]|0,1);c[(c[q>>2]|0)+8>>2]=1}if(c[o>>2]|0)c[c[o>>2]>>2]=(c[v>>2]|0)+4;v=c[q>>2]|0;if(c[k>>2]|0){Qo(v);c[c[k>>2]>>2]=c[q>>2]}else hq(v);c[j>>2]=0;y=c[j>>2]|0;i=h;return y|0}function Ep(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+32|0;d=b+16|0;e=b+12|0;f=b+8|0;g=b+4|0;h=b;c[d>>2]=a;c[h>>2]=Ro(c[d>>2]|0)|0;if((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+12>>2]&16|0)!=0:0){gq();i=b;return}Qo(c[d>>2]|0);c[e>>2]=c[(c[d>>2]|0)+16>>2];c[f>>2]=c[(c[d>>2]|0)+4>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=(c[f>>2]|0)>>>0)break;a=(c[e>>2]|0)+(c[g>>2]<<2)|0;c[a>>2]=~c[a>>2];c[g>>2]=(c[g>>2]|0)+1}c[(c[d>>2]|0)+8>>2]=0;Vo(c[d>>2]|0,(c[h>>2]|0)-1|0);i=b;return}function Fp(a,b,e){a=a|0;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;f=i;i=i+48|0;g=f+40|0;h=f+36|0;j=f+32|0;k=f+28|0;l=f+24|0;m=f+20|0;n=f+16|0;o=f+12|0;p=f+8|0;q=f+4|0;r=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[p>>2]=0;c[r>>2]=0;if((c[c[h>>2]>>2]|0)>>>0<2){s=c[p>>2]|0;t=c[h>>2]|0;c[t>>2]=s;u=c[r>>2]|0;i=f;return u|0}c[m>>2]=(d[c[g>>2]>>0]|0)<<8|(d[(c[g>>2]|0)+1>>0]|0);if((c[m>>2]|0)>>>0>16384){s=c[p>>2]|0;t=c[h>>2]|0;c[t>>2]=s;u=c[r>>2]|0;i=f;return u|0}c[g>>2]=(c[g>>2]|0)+2;c[p>>2]=2;c[n>>2]=(((c[m>>2]|0)+7|0)>>>0)/8|0;c[o>>2]=(((c[n>>2]|0)+4-1|0)>>>0)/4|0;m=c[o>>2]|0;if(c[j>>2]|0)v=bq(m)|0;else v=$p(m)|0;c[r>>2]=v;c[k>>2]=4-(((c[n>>2]|0)>>>0)%4|0);c[k>>2]=(c[k>>2]|0)%4|0;n=c[o>>2]|0;c[(c[r>>2]|0)+4>>2]=n;c[l>>2]=n;c[(c[r>>2]|0)+8>>2]=0;a:while(1){if((c[l>>2]|0)<=0){w=14;break}c[q>>2]=0;while(1){if((c[k>>2]|0)>=4)break;n=(c[p>>2]|0)+1|0;c[p>>2]=n;if(n>>>0>(c[c[h>>2]>>2]|0)>>>0)break a;c[q>>2]=c[q>>2]<<8;n=c[g>>2]|0;c[g>>2]=n+1;c[q>>2]=c[q>>2]|(d[n>>0]|0);c[k>>2]=(c[k>>2]|0)+1}c[k>>2]=0;c[(c[(c[r>>2]|0)+16>>2]|0)+((c[l>>2]|0)-1<<2)>>2]=c[q>>2];c[l>>2]=(c[l>>2]|0)+-1}if((w|0)==14){s=c[p>>2]|0;t=c[h>>2]|0;c[t>>2]=s;u=c[r>>2]|0;i=f;return u|0}hq(c[r>>2]|0);c[r>>2]=0;s=c[p>>2]|0;t=c[h>>2]|0;c[t>>2]=s;u=c[r>>2]|0;i=f;return u|0}function Gp(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;e=i;i=i+64|0;f=e+52|0;g=e+48|0;h=e+44|0;j=e+40|0;k=e+36|0;l=e+32|0;m=e+28|0;n=e+24|0;o=e+20|0;p=e+16|0;q=e+12|0;r=e+8|0;s=e+4|0;t=e;c[g>>2]=b;c[h>>2]=d;c[j>>2]=0;c[k>>2]=0;if((a[c[h>>2]>>0]|0)==45){c[j>>2]=1;c[h>>2]=(c[h>>2]|0)+1}if((a[c[h>>2]>>0]|0)==48?(a[(c[h>>2]|0)+1>>0]|0)==120:0)c[h>>2]=(c[h>>2]|0)+2;c[q>>2]=(Kv(c[h>>2]|0)|0)<<2;if(((c[q>>2]|0)>>>0)%8|0)c[k>>2]=1;c[r>>2]=(((c[q>>2]|0)+7|0)>>>0)/8|0;c[s>>2]=(((c[r>>2]|0)+4-1|0)>>>0)/4|0;if((c[c[g>>2]>>2]|0)>>>0<(c[s>>2]|0)>>>0)eq(c[g>>2]|0,c[s>>2]|0);c[l>>2]=4-(((c[r>>2]|0)>>>0)%4|0);c[l>>2]=(c[l>>2]|0)%4|0;r=c[s>>2]|0;c[(c[g>>2]|0)+4>>2]=r;c[m>>2]=r;c[(c[g>>2]|0)+8>>2]=c[j>>2];a:while(1){if((c[m>>2]|0)<=0){u=37;break}c[t>>2]=0;while(1){if((c[l>>2]|0)>=4)break;if(c[k>>2]|0){c[o>>2]=48;c[k>>2]=0}else{j=c[h>>2]|0;c[h>>2]=j+1;c[o>>2]=a[j>>0]}if(!(c[o>>2]|0)){u=18;break a}j=c[h>>2]|0;c[h>>2]=j+1;c[p>>2]=a[j>>0];if(!(c[p>>2]|0)){u=20;break a}j=c[o>>2]|0;do if((c[o>>2]|0)>=48&(c[o>>2]|0)<=57)c[n>>2]=j-48;else{r=c[o>>2]|0;if((j|0)>=97&(c[o>>2]|0)<=102){c[n>>2]=r-97+10;break}if(!((r|0)>=65&(c[o>>2]|0)<=70)){u=27;break a}c[n>>2]=(c[o>>2]|0)-65+10}while(0);c[n>>2]=c[n>>2]<<4;j=c[p>>2]|0;do if((c[p>>2]|0)>=48&(c[p>>2]|0)<=57)c[n>>2]=c[n>>2]|j-48;else{r=c[p>>2]|0;if((j|0)>=97&(c[p>>2]|0)<=102){c[n>>2]=c[n>>2]|r-97+10;break}if(!((r|0)>=65&(c[p>>2]|0)<=70)){u=34;break a}c[n>>2]=c[n>>2]|(c[p>>2]|0)-65+10}while(0);c[t>>2]=c[t>>2]<<8;c[t>>2]=c[t>>2]|c[n>>2];c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=0;c[(c[(c[g>>2]|0)+16>>2]|0)+((c[m>>2]|0)-1<<2)>>2]=c[t>>2];c[m>>2]=(c[m>>2]|0)+-1}if((u|0)==18){fq(c[g>>2]|0);c[f>>2]=1;v=c[f>>2]|0;i=e;return v|0}else if((u|0)==20){fq(c[g>>2]|0);c[f>>2]=1;v=c[f>>2]|0;i=e;return v|0}else if((u|0)==27){fq(c[g>>2]|0);c[f>>2]=1;v=c[f>>2]|0;i=e;return v|0}else if((u|0)==34){fq(c[g>>2]|0);c[f>>2]=1;v=c[f>>2]|0;i=e;return v|0}else if((u|0)==37){c[f>>2]=0;v=c[f>>2]|0;i=e;return v|0}return 0}function Hp(b,e,f,g,h){b=b|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;j=i;i=i+128|0;k=j+112|0;l=j+108|0;m=j+104|0;n=j+100|0;o=j+96|0;p=j+92|0;q=j+88|0;r=j+84|0;s=j+76|0;t=j+72|0;u=j+68|0;v=j+64|0;w=j+60|0;x=j+56|0;y=j+52|0;z=j+48|0;A=j+44|0;B=j+40|0;C=j+36|0;D=j+32|0;E=j+28|0;F=j+24|0;G=j+20|0;H=j+16|0;I=j+12|0;J=j+8|0;K=j+4|0;L=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=Ro(c[p>>2]|0)|0;if(!(c[o>>2]|0))c[o>>2]=j+80;if((c[(c[p>>2]|0)+8>>2]|0)!=0?($o(c[p>>2]|0,0)|0)!=0:0)c[s>>2]=1;else c[s>>2]=0;c[r>>2]=c[n>>2];c[c[o>>2]>>2]=0;if((c[l>>2]|0)==1){c[u>>2]=0;c[t>>2]=zp(c[p>>2]|0,0,v,0)|0;if(!(c[t>>2]|0)){c[k>>2]=iu()|0;M=c[k>>2]|0;i=j;return M|0}if(c[s>>2]|0){Ip(c[t>>2]|0,c[v>>2]|0);if(!((d[c[t>>2]>>0]|0)&128)){c[v>>2]=(c[v>>2]|0)+1;c[u>>2]=2}}else if((c[v>>2]|0)!=0?((d[c[t>>2]>>0]|0)&128|0)!=0:0){c[v>>2]=(c[v>>2]|0)+1;c[u>>2]=1}if((c[m>>2]|0)!=0?(c[v>>2]|0)>>>0>(c[r>>2]|0)>>>0:0){$f(c[t>>2]|0);c[k>>2]=66;M=c[k>>2]|0;i=j;return M|0}if(c[m>>2]|0){c[w>>2]=c[m>>2];if((c[u>>2]|0)!=1){if(c[u>>2]|0){n=c[w>>2]|0;c[w>>2]=n+1;a[n>>0]=-1}}else{n=c[w>>2]|0;c[w>>2]=n+1;a[n>>0]=0}Dx(c[w>>2]|0,c[t>>2]|0,(c[v>>2]|0)-(((c[u>>2]|0)!=0^1^1)&1)|0)|0}$f(c[t>>2]|0);c[c[o>>2]>>2]=c[v>>2];c[k>>2]=0;M=c[k>>2]|0;i=j;return M|0}if((c[l>>2]|0)==5){c[x>>2]=(((c[q>>2]|0)+7|0)>>>0)/8|0;if((c[m>>2]|0)!=0?(c[x>>2]|0)>>>0>(c[r>>2]|0)>>>0:0){c[k>>2]=66;M=c[k>>2]|0;i=j;return M|0}do if(c[m>>2]|0){c[y>>2]=zp(c[p>>2]|0,0,x,0)|0;if(c[y>>2]|0){Dx(c[m>>2]|0,c[y>>2]|0,c[x>>2]|0)|0;$f(c[y>>2]|0);break}c[k>>2]=iu()|0;M=c[k>>2]|0;i=j;return M|0}while(0);c[c[o>>2]>>2]=c[x>>2];c[k>>2]=0;M=c[k>>2]|0;i=j;return M|0}if((c[l>>2]|0)==2){c[z>>2]=(((c[q>>2]|0)+7|0)>>>0)/8|0;if(c[s>>2]|0){c[k>>2]=45;M=c[k>>2]|0;i=j;return M|0}if((c[m>>2]|0)!=0?((c[z>>2]|0)+2|0)>>>0>(c[r>>2]|0)>>>0:0){c[k>>2]=66;M=c[k>>2]|0;i=j;return M|0}do if(c[m>>2]|0){c[B>>2]=c[m>>2];a[c[B>>2]>>0]=(c[q>>2]|0)>>>8;a[(c[B>>2]|0)+1>>0]=c[q>>2];c[A>>2]=zp(c[p>>2]|0,0,z,0)|0;if(c[A>>2]|0){Dx((c[B>>2]|0)+2|0,c[A>>2]|0,c[z>>2]|0)|0;$f(c[A>>2]|0);break}c[k>>2]=iu()|0;M=c[k>>2]|0;i=j;return M|0}while(0);c[c[o>>2]>>2]=(c[z>>2]|0)+2;c[k>>2]=0;M=c[k>>2]|0;i=j;return M|0}if((c[l>>2]|0)==3){c[D>>2]=0;c[C>>2]=zp(c[p>>2]|0,0,E,0)|0;if(!(c[C>>2]|0)){c[k>>2]=iu()|0;M=c[k>>2]|0;i=j;return M|0}if(c[s>>2]|0){Ip(c[C>>2]|0,c[E>>2]|0);if(!((d[c[C>>2]>>0]|0)&128)){c[E>>2]=(c[E>>2]|0)+1;c[D>>2]=2}}else if((c[E>>2]|0)!=0?((d[c[C>>2]>>0]|0)&128|0)!=0:0){c[E>>2]=(c[E>>2]|0)+1;c[D>>2]=1}if((c[m>>2]|0)!=0?((c[E>>2]|0)+4|0)>>>0>(c[r>>2]|0)>>>0:0){$f(c[C>>2]|0);c[k>>2]=66;M=c[k>>2]|0;i=j;return M|0}if(c[m>>2]|0){c[F>>2]=c[m>>2];z=(c[E>>2]|0)>>>24&255;A=c[F>>2]|0;c[F>>2]=A+1;a[A>>0]=z;z=(c[E>>2]|0)>>>16&255;A=c[F>>2]|0;c[F>>2]=A+1;a[A>>0]=z;z=(c[E>>2]|0)>>>8&255;A=c[F>>2]|0;c[F>>2]=A+1;a[A>>0]=z;z=c[E>>2]&255;A=c[F>>2]|0;c[F>>2]=A+1;a[A>>0]=z;if((c[D>>2]|0)!=1){if(c[D>>2]|0){z=c[F>>2]|0;c[F>>2]=z+1;a[z>>0]=-1}}else{z=c[F>>2]|0;c[F>>2]=z+1;a[z>>0]=0}Dx(c[F>>2]|0,c[C>>2]|0,(c[E>>2]|0)-(((c[D>>2]|0)!=0^1^1)&1)|0)|0}$f(c[C>>2]|0);c[c[o>>2]>>2]=4+(c[E>>2]|0);c[k>>2]=0;M=c[k>>2]|0;i=j;return M|0}if((c[l>>2]|0)!=4){c[k>>2]=45;M=c[k>>2]|0;i=j;return M|0}c[I>>2]=0;c[J>>2]=0;c[G>>2]=zp(c[p>>2]|0,0,J,0)|0;if(!(c[G>>2]|0)){c[k>>2]=iu()|0;M=c[k>>2]|0;i=j;return M|0}if(!((c[J>>2]|0)!=0?((d[c[G>>2]>>0]|0)&128|0)==0:0))c[I>>2]=2;if((c[m>>2]|0)!=0?((c[J>>2]<<1)+(c[I>>2]|0)+(c[s>>2]|0)+1|0)>>>0>(c[r>>2]|0)>>>0:0){$f(c[G>>2]|0);c[k>>2]=66;M=c[k>>2]|0;i=j;return M|0}if(c[m>>2]|0){c[K>>2]=c[m>>2];if(c[s>>2]|0){r=c[K>>2]|0;c[K>>2]=r+1;a[r>>0]=45}if(c[I>>2]|0){r=c[K>>2]|0;c[K>>2]=r+1;a[r>>0]=48;r=c[K>>2]|0;c[K>>2]=r+1;a[r>>0]=48}c[H>>2]=0;while(1){if((c[H>>2]|0)>>>0>=(c[J>>2]|0)>>>0)break;c[L>>2]=d[(c[G>>2]|0)+(c[H>>2]|0)>>0];r=(c[L>>2]|0)>>>4;p=((c[L>>2]|0)>>>4>>>0<10?48+r|0:65+r-10|0)&255;r=c[K>>2]|0;c[K>>2]=r+1;a[r>>0]=p;c[L>>2]=c[L>>2]&15;p=c[L>>2]|0;r=((c[L>>2]|0)>>>0<10?48+p|0:65+p-10|0)&255;p=c[K>>2]|0;c[K>>2]=p+1;a[p>>0]=r;c[H>>2]=(c[H>>2]|0)+1}H=c[K>>2]|0;c[K>>2]=H+1;a[H>>0]=0;c[c[o>>2]>>2]=(c[K>>2]|0)-(c[m>>2]|0)}else c[c[o>>2]>>2]=(c[J>>2]<<1)+(c[I>>2]|0)+(c[s>>2]|0)+1;$f(c[G>>2]|0);c[k>>2]=0;M=c[k>>2]|0;i=j;return M|0}function Ip(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;h=f+4|0;j=f;c[g>>2]=b;c[h>>2]=e;c[j>>2]=(c[h>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;if(!((a[(c[g>>2]|0)+(c[j>>2]|0)>>0]|0)!=0^1))break;c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){i=f;return}h=d[(c[g>>2]|0)+(c[j>>2]|0)>>0]|0;do if(!(d[(c[g>>2]|0)+(c[j>>2]|0)>>0]&1)){e=d[(c[g>>2]|0)+(c[j>>2]|0)>>0]|0;if(h&2){a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=(e^252|2)&254;break}b=d[(c[g>>2]|0)+(c[j>>2]|0)>>0]|0;if(e&4){a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=(b^248|4)&252;break}e=d[(c[g>>2]|0)+(c[j>>2]|0)>>0]|0;if(b&8){a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=(e^240|8)&248;break}b=d[(c[g>>2]|0)+(c[j>>2]|0)>>0]|0;if(e&16){a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=(b^224|16)&240;break}e=d[(c[g>>2]|0)+(c[j>>2]|0)>>0]|0;if(b&32){a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=(e^192|32)&224;break}b=(c[g>>2]|0)+(c[j>>2]|0)|0;if(e&64){a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=(d[b>>0]^128|64)&192;break}else{a[b>>0]=-128;break}}else a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=h^254|1;while(0);c[j>>2]=(c[j>>2]|0)+-1;while(1){if((c[j>>2]|0)<0)break;h=(c[g>>2]|0)+(c[j>>2]|0)|0;a[h>>0]=d[h>>0]^255;c[j>>2]=(c[j>>2]|0)+-1}i=f;return}function Jp(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;f=i;i=i+48|0;g=f+36|0;h=f+32|0;j=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+8|0;p=f+4|0;q=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if((((c[h>>2]|0)!=0^1)&1|0)==(((c[j>>2]|0)!=0^1)&1|0)){c[g>>2]=45;r=c[g>>2]|0;i=f;return r|0}if(c[h>>2]|0)c[c[h>>2]>>2]=0;c[m>>2]=Hp(5,0,0,n,c[k>>2]|0)|0;if(c[m>>2]|0){c[g>>2]=c[m>>2];r=c[g>>2]|0;i=f;return r|0}if((c[n>>2]|0)>>>0>(c[l>>2]|0)>>>0){c[g>>2]=67;r=c[g>>2]|0;i=f;return r|0}if((c[n>>2]|0)>>>0<(c[l>>2]|0)>>>0)s=(c[l>>2]|0)-(c[n>>2]|0)|0;else s=0;c[o>>2]=s;c[p>>2]=(c[n>>2]|0)+(c[o>>2]|0);if(!(c[j>>2]|0)){if((c[k>>2]|0)!=0?(c[(c[k>>2]|0)+12>>2]&1|0)!=0:0)t=Yf(c[p>>2]|0)|0;else t=Vf(c[p>>2]|0)|0;c[q>>2]=t;if(!(c[q>>2]|0)){c[m>>2]=iu()|0;c[g>>2]=c[m>>2];r=c[g>>2]|0;i=f;return r|0}}else c[q>>2]=c[j>>2];if(c[o>>2]|0)Fx(c[q>>2]|0,0,c[o>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[m>>2]=Hp(5,(c[q>>2]|0)+(c[o>>2]|0)|0,(c[n>>2]|0)-(c[o>>2]|0)|0,0,c[k>>2]|0)|0;if(c[m>>2]|0){$f(c[q>>2]|0);c[g>>2]=c[m>>2];r=c[g>>2]|0;i=f;return r|0}if(c[h>>2]|0)c[c[h>>2]>>2]=c[q>>2];c[g>>2]=0;r=c[g>>2]|0;i=f;return r|0}function Kp(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+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;o=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[o>>2]=0-(c[k>>2]|0);c[h>>2]=(c[h>>2]|0)+(0-(c[o>>2]|0)<<2);c[j>>2]=(c[j>>2]|0)+(0-(c[o>>2]|0)<<2);c[g>>2]=(c[g>>2]|0)+(0-(c[o>>2]|0)<<2);c[n>>2]=0;do{c[m>>2]=c[(c[j>>2]|0)+(c[o>>2]<<2)>>2];c[l>>2]=c[(c[h>>2]|0)+(c[o>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);c[n>>2]=(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0&1;c[m>>2]=(c[m>>2]|0)+(c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0&1);c[(c[g>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];k=(c[o>>2]|0)+1|0;c[o>>2]=k}while((k|0)!=0);i=f;return c[n>>2]|0}function Lp(a,b,e){a=a|0;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=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;f=i;i=i+144|0;g=f+128|0;h=f+124|0;j=f+120|0;k=f+116|0;l=f+112|0;m=f+108|0;n=f+104|0;o=f+100|0;p=f+96|0;q=f+92|0;r=f+88|0;s=f+84|0;t=f+80|0;u=f+76|0;v=f+72|0;w=f+68|0;x=f+64|0;y=f+60|0;z=f+56|0;A=f+52|0;B=f+48|0;C=f+44|0;D=f+40|0;E=f+36|0;F=f+32|0;G=f+28|0;H=f+24|0;I=f+20|0;J=f+16|0;K=f+12|0;L=f+8|0;M=f+4|0;N=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;if(!(c[j>>2]|0)){c[g>>2]=0;O=c[g>>2]|0;i=f;return O|0}c[r>>2]=c[k>>2];e=c[r>>2]|0;c[s>>2]=(c[r>>2]|0)>>>0<65536?(e>>>0<256?0:8):e>>>0<16777216?16:24;c[q>>2]=32-((d[45806+((c[r>>2]|0)>>>(c[s>>2]|0))>>0]|0)+(c[s>>2]|0));if(!(c[q>>2]|0)){c[l>>2]=(c[j>>2]|0)-1;c[o>>2]=c[(c[h>>2]|0)+(c[l>>2]<<2)>>2];if((c[o>>2]|0)>>>0>=(c[k>>2]|0)>>>0)c[o>>2]=0;else c[l>>2]=(c[l>>2]|0)+-1;while(1){if((c[l>>2]|0)<0)break;c[n>>2]=c[(c[h>>2]|0)+(c[l>>2]<<2)>>2];c[H>>2]=(c[k>>2]|0)>>>16;c[I>>2]=c[k>>2]&65535;c[L>>2]=((c[o>>2]|0)>>>0)%((c[H>>2]|0)>>>0)|0;c[J>>2]=((c[o>>2]|0)>>>0)/((c[H>>2]|0)>>>0)|0;c[N>>2]=_(c[J>>2]|0,c[I>>2]|0)|0;c[L>>2]=c[L>>2]<<16|(c[n>>2]|0)>>>16;if(((c[L>>2]|0)>>>0<(c[N>>2]|0)>>>0?(c[J>>2]=(c[J>>2]|0)+-1,c[L>>2]=(c[L>>2]|0)+(c[k>>2]|0),(c[L>>2]|0)>>>0>=(c[k>>2]|0)>>>0):0)?(c[L>>2]|0)>>>0<(c[N>>2]|0)>>>0:0){c[J>>2]=(c[J>>2]|0)+-1;c[L>>2]=(c[L>>2]|0)+(c[k>>2]|0)}c[L>>2]=(c[L>>2]|0)-(c[N>>2]|0);c[M>>2]=((c[L>>2]|0)>>>0)%((c[H>>2]|0)>>>0)|0;c[K>>2]=((c[L>>2]|0)>>>0)/((c[H>>2]|0)>>>0)|0;c[N>>2]=_(c[K>>2]|0,c[I>>2]|0)|0;c[M>>2]=c[M>>2]<<16|c[n>>2]&65535;if(((c[M>>2]|0)>>>0<(c[N>>2]|0)>>>0?(c[K>>2]=(c[K>>2]|0)+-1,c[M>>2]=(c[M>>2]|0)+(c[k>>2]|0),(c[M>>2]|0)>>>0>=(c[k>>2]|0)>>>0):0)?(c[M>>2]|0)>>>0<(c[N>>2]|0)>>>0:0){c[K>>2]=(c[K>>2]|0)+-1;c[M>>2]=(c[M>>2]|0)+(c[k>>2]|0)}c[M>>2]=(c[M>>2]|0)-(c[N>>2]|0);c[p>>2]=c[J>>2]<<16|c[K>>2];c[o>>2]=c[M>>2];c[l>>2]=(c[l>>2]|0)+-1}c[g>>2]=c[o>>2];O=c[g>>2]|0;i=f;return O|0}c[k>>2]=c[k>>2]<<c[q>>2];c[m>>2]=c[(c[h>>2]|0)+((c[j>>2]|0)-1<<2)>>2];c[o>>2]=(c[m>>2]|0)>>>(32-(c[q>>2]|0)|0);c[l>>2]=(c[j>>2]|0)-2;while(1){if((c[l>>2]|0)<0)break;c[n>>2]=c[(c[h>>2]|0)+(c[l>>2]<<2)>>2];c[t>>2]=(c[k>>2]|0)>>>16;c[u>>2]=c[k>>2]&65535;c[x>>2]=((c[o>>2]|0)>>>0)%((c[t>>2]|0)>>>0)|0;c[v>>2]=((c[o>>2]|0)>>>0)/((c[t>>2]|0)>>>0)|0;c[z>>2]=_(c[v>>2]|0,c[u>>2]|0)|0;c[x>>2]=c[x>>2]<<16|(c[m>>2]<<c[q>>2]|(c[n>>2]|0)>>>(32-(c[q>>2]|0)|0))>>>16;if(((c[x>>2]|0)>>>0<(c[z>>2]|0)>>>0?(c[v>>2]=(c[v>>2]|0)+-1,c[x>>2]=(c[x>>2]|0)+(c[k>>2]|0),(c[x>>2]|0)>>>0>=(c[k>>2]|0)>>>0):0)?(c[x>>2]|0)>>>0<(c[z>>2]|0)>>>0:0){c[v>>2]=(c[v>>2]|0)+-1;c[x>>2]=(c[x>>2]|0)+(c[k>>2]|0)}c[x>>2]=(c[x>>2]|0)-(c[z>>2]|0);c[y>>2]=((c[x>>2]|0)>>>0)%((c[t>>2]|0)>>>0)|0;c[w>>2]=((c[x>>2]|0)>>>0)/((c[t>>2]|0)>>>0)|0;c[z>>2]=_(c[w>>2]|0,c[u>>2]|0)|0;c[y>>2]=c[y>>2]<<16|(c[m>>2]<<c[q>>2]|(c[n>>2]|0)>>>(32-(c[q>>2]|0)|0))&65535;if(((c[y>>2]|0)>>>0<(c[z>>2]|0)>>>0?(c[w>>2]=(c[w>>2]|0)+-1,c[y>>2]=(c[y>>2]|0)+(c[k>>2]|0),(c[y>>2]|0)>>>0>=(c[k>>2]|0)>>>0):0)?(c[y>>2]|0)>>>0<(c[z>>2]|0)>>>0:0){c[w>>2]=(c[w>>2]|0)+-1;c[y>>2]=(c[y>>2]|0)+(c[k>>2]|0)}c[y>>2]=(c[y>>2]|0)-(c[z>>2]|0);c[p>>2]=c[v>>2]<<16|c[w>>2];c[o>>2]=c[y>>2];c[m>>2]=c[n>>2];c[l>>2]=(c[l>>2]|0)+-1}c[A>>2]=(c[k>>2]|0)>>>16;c[B>>2]=c[k>>2]&65535;c[E>>2]=((c[o>>2]|0)>>>0)%((c[A>>2]|0)>>>0)|0;c[C>>2]=((c[o>>2]|0)>>>0)/((c[A>>2]|0)>>>0)|0;c[G>>2]=_(c[C>>2]|0,c[B>>2]|0)|0;c[E>>2]=c[E>>2]<<16|c[m>>2]<<c[q>>2]>>>16;if(((c[E>>2]|0)>>>0<(c[G>>2]|0)>>>0?(c[C>>2]=(c[C>>2]|0)+-1,c[E>>2]=(c[E>>2]|0)+(c[k>>2]|0),(c[E>>2]|0)>>>0>=(c[k>>2]|0)>>>0):0)?(c[E>>2]|0)>>>0<(c[G>>2]|0)>>>0:0){c[C>>2]=(c[C>>2]|0)+-1;c[E>>2]=(c[E>>2]|0)+(c[k>>2]|0)}c[E>>2]=(c[E>>2]|0)-(c[G>>2]|0);c[F>>2]=((c[E>>2]|0)>>>0)%((c[A>>2]|0)>>>0)|0;c[D>>2]=((c[E>>2]|0)>>>0)/((c[A>>2]|0)>>>0)|0;c[G>>2]=_(c[D>>2]|0,c[B>>2]|0)|0;c[F>>2]=c[F>>2]<<16|c[m>>2]<<c[q>>2]&65535;if(((c[F>>2]|0)>>>0<(c[G>>2]|0)>>>0?(c[D>>2]=(c[D>>2]|0)+-1,c[F>>2]=(c[F>>2]|0)+(c[k>>2]|0),(c[F>>2]|0)>>>0>=(c[k>>2]|0)>>>0):0)?(c[F>>2]|0)>>>0<(c[G>>2]|0)>>>0:0){c[D>>2]=(c[D>>2]|0)+-1;c[F>>2]=(c[F>>2]|0)+(c[k>>2]|0)}c[F>>2]=(c[F>>2]|0)-(c[G>>2]|0);c[p>>2]=c[C>>2]<<16|c[D>>2];c[o>>2]=c[F>>2];c[g>>2]=(c[o>>2]|0)>>>(c[q>>2]|0);O=c[g>>2]|0;i=f;return O|0}function Mp(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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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;h=i;i=i+320|0;j=h+316|0;k=h+312|0;l=h+308|0;m=h+304|0;n=h+300|0;o=h+296|0;p=h+292|0;q=h+288|0;r=h+284|0;s=h+280|0;t=h+276|0;u=h+272|0;v=h+268|0;w=h+264|0;x=h+260|0;y=h+256|0;z=h+252|0;A=h+248|0;B=h+244|0;C=h+240|0;D=h+236|0;E=h+232|0;F=h+228|0;G=h+224|0;H=h+220|0;I=h+216|0;J=h+212|0;K=h+208|0;L=h+204|0;M=h+200|0;N=h+196|0;O=h+192|0;P=h+188|0;Q=h+184|0;R=h+180|0;S=h+176|0;T=h+172|0;U=h+168|0;V=h+164|0;W=h+160|0;X=h+156|0;Y=h+152|0;Z=h+148|0;$=h+144|0;aa=h+140|0;ba=h+136|0;ca=h+132|0;da=h+128|0;ea=h+124|0;fa=h+120|0;ga=h+116|0;ha=h+112|0;ia=h+108|0;ja=h+104|0;ka=h+100|0;la=h+96|0;ma=h+92|0;na=h+88|0;oa=h+84|0;pa=h+80|0;qa=h+76|0;ra=h+72|0;sa=h+68|0;ta=h+64|0;ua=h+60|0;va=h+56|0;wa=h+52|0;xa=h+48|0;ya=h+44|0;za=h+40|0;Aa=h+36|0;Ba=h+32|0;Ca=h+28|0;Da=h+24|0;Ea=h+20|0;Fa=h+16|0;Ga=h+12|0;Ha=h+8|0;Ia=h+4|0;Ja=h;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=0;switch(c[o>>2]|0){case 0:{Kf();break}case 1:{c[s>>2]=c[c[n>>2]>>2];c[r>>2]=c[(c[l>>2]|0)+((c[m>>2]|0)-1<<2)>>2];if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0){c[r>>2]=(c[r>>2]|0)-(c[s>>2]|0);c[p>>2]=1}c[j>>2]=(c[j>>2]|0)+(c[k>>2]<<2);c[q>>2]=(c[m>>2]|0)-2;while(1){if((c[q>>2]|0)<0)break;c[t>>2]=(c[s>>2]|0)>>>16;c[u>>2]=c[s>>2]&65535;c[x>>2]=((c[r>>2]|0)>>>0)%((c[t>>2]|0)>>>0)|0;c[v>>2]=((c[r>>2]|0)>>>0)/((c[t>>2]|0)>>>0)|0;c[z>>2]=_(c[v>>2]|0,c[u>>2]|0)|0;c[x>>2]=c[x>>2]<<16|(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)>>>16;if(((c[x>>2]|0)>>>0<(c[z>>2]|0)>>>0?(c[v>>2]=(c[v>>2]|0)+-1,c[x>>2]=(c[x>>2]|0)+(c[s>>2]|0),(c[x>>2]|0)>>>0>=(c[s>>2]|0)>>>0):0)?(c[x>>2]|0)>>>0<(c[z>>2]|0)>>>0:0){c[v>>2]=(c[v>>2]|0)+-1;c[x>>2]=(c[x>>2]|0)+(c[s>>2]|0)}c[x>>2]=(c[x>>2]|0)-(c[z>>2]|0);c[y>>2]=((c[x>>2]|0)>>>0)%((c[t>>2]|0)>>>0)|0;c[w>>2]=((c[x>>2]|0)>>>0)/((c[t>>2]|0)>>>0)|0;c[z>>2]=_(c[w>>2]|0,c[u>>2]|0)|0;c[y>>2]=c[y>>2]<<16|c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]&65535;if(((c[y>>2]|0)>>>0<(c[z>>2]|0)>>>0?(c[w>>2]=(c[w>>2]|0)+-1,c[y>>2]=(c[y>>2]|0)+(c[s>>2]|0),(c[y>>2]|0)>>>0>=(c[s>>2]|0)>>>0):0)?(c[y>>2]|0)>>>0<(c[z>>2]|0)>>>0:0){c[w>>2]=(c[w>>2]|0)+-1;c[y>>2]=(c[y>>2]|0)+(c[s>>2]|0)}c[y>>2]=(c[y>>2]|0)-(c[z>>2]|0);c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]=c[v>>2]<<16|c[w>>2];c[r>>2]=c[y>>2];c[q>>2]=(c[q>>2]|0)+-1}c[j>>2]=(c[j>>2]|0)+(0-(c[k>>2]|0)<<2);c[q>>2]=(c[k>>2]|0)-1;while(1){if((c[q>>2]|0)<0)break;c[A>>2]=(c[s>>2]|0)>>>16;c[B>>2]=c[s>>2]&65535;c[E>>2]=((c[r>>2]|0)>>>0)%((c[A>>2]|0)>>>0)|0;c[C>>2]=((c[r>>2]|0)>>>0)/((c[A>>2]|0)>>>0)|0;c[G>>2]=_(c[C>>2]|0,c[B>>2]|0)|0;c[E>>2]=c[E>>2]<<16;if(((c[E>>2]|0)>>>0<(c[G>>2]|0)>>>0?(c[C>>2]=(c[C>>2]|0)+-1,c[E>>2]=(c[E>>2]|0)+(c[s>>2]|0),(c[E>>2]|0)>>>0>=(c[s>>2]|0)>>>0):0)?(c[E>>2]|0)>>>0<(c[G>>2]|0)>>>0:0){c[C>>2]=(c[C>>2]|0)+-1;c[E>>2]=(c[E>>2]|0)+(c[s>>2]|0)}c[E>>2]=(c[E>>2]|0)-(c[G>>2]|0);c[F>>2]=((c[E>>2]|0)>>>0)%((c[A>>2]|0)>>>0)|0;c[D>>2]=((c[E>>2]|0)>>>0)/((c[A>>2]|0)>>>0)|0;c[G>>2]=_(c[D>>2]|0,c[B>>2]|0)|0;c[F>>2]=c[F>>2]<<16;if(((c[F>>2]|0)>>>0<(c[G>>2]|0)>>>0?(c[D>>2]=(c[D>>2]|0)+-1,c[F>>2]=(c[F>>2]|0)+(c[s>>2]|0),(c[F>>2]|0)>>>0>=(c[s>>2]|0)>>>0):0)?(c[F>>2]|0)>>>0<(c[G>>2]|0)>>>0:0){c[D>>2]=(c[D>>2]|0)+-1;c[F>>2]=(c[F>>2]|0)+(c[s>>2]|0)}c[F>>2]=(c[F>>2]|0)-(c[G>>2]|0);c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]=c[C>>2]<<16|c[D>>2];c[r>>2]=c[F>>2];c[q>>2]=(c[q>>2]|0)+-1}c[c[l>>2]>>2]=c[r>>2];Ka=c[p>>2]|0;i=h;return Ka|0}case 2:{c[l>>2]=(c[l>>2]|0)+((c[m>>2]|0)-2<<2);c[L>>2]=c[(c[n>>2]|0)+4>>2];c[M>>2]=c[c[n>>2]>>2];c[I>>2]=c[(c[l>>2]|0)+4>>2];c[J>>2]=c[c[l>>2]>>2];do if((c[I>>2]|0)>>>0>=(c[L>>2]|0)>>>0){if((c[I>>2]|0)>>>0<=(c[L>>2]|0)>>>0?(c[J>>2]|0)>>>0<(c[M>>2]|0)>>>0:0)break;c[N>>2]=(c[J>>2]|0)-(c[M>>2]|0);c[I>>2]=(c[I>>2]|0)-(c[L>>2]|0)-((c[N>>2]|0)>>>0>(c[J>>2]|0)>>>0&1);c[J>>2]=c[N>>2];c[p>>2]=1}while(0);c[H>>2]=(c[k>>2]|0)+(c[m>>2]|0)-2-1;while(1){if((c[H>>2]|0)<0)break;N=c[l>>2]|0;if((c[H>>2]|0)>=(c[k>>2]|0))c[l>>2]=N+-4;else c[N>>2]=0;do if((c[I>>2]|0)==(c[L>>2]|0)){c[O>>2]=-1;c[P>>2]=(c[J>>2]|0)+(c[L>>2]|0);if((c[P>>2]|0)>>>0<(c[L>>2]|0)>>>0){c[Q>>2]=(c[c[l>>2]>>2]|0)+(c[M>>2]|0);c[I>>2]=(c[P>>2]|0)-(c[M>>2]|0)+0+((c[Q>>2]|0)>>>0<(c[c[l>>2]>>2]|0)>>>0&1);c[J>>2]=c[Q>>2];c[(c[j>>2]|0)+(c[H>>2]<<2)>>2]=c[O>>2];break}else{c[I>>2]=(c[M>>2]|0)-((c[M>>2]|0)!=0?1:0);c[J>>2]=0-(c[M>>2]|0);La=52;break}}else{c[R>>2]=(c[L>>2]|0)>>>16;c[S>>2]=c[L>>2]&65535;c[V>>2]=((c[I>>2]|0)>>>0)%((c[R>>2]|0)>>>0)|0;c[T>>2]=((c[I>>2]|0)>>>0)/((c[R>>2]|0)>>>0)|0;c[X>>2]=_(c[T>>2]|0,c[S>>2]|0)|0;c[V>>2]=c[V>>2]<<16|(c[J>>2]|0)>>>16;if(((c[V>>2]|0)>>>0<(c[X>>2]|0)>>>0?(c[T>>2]=(c[T>>2]|0)+-1,c[V>>2]=(c[V>>2]|0)+(c[L>>2]|0),(c[V>>2]|0)>>>0>=(c[L>>2]|0)>>>0):0)?(c[V>>2]|0)>>>0<(c[X>>2]|0)>>>0:0){c[T>>2]=(c[T>>2]|0)+-1;c[V>>2]=(c[V>>2]|0)+(c[L>>2]|0)}c[V>>2]=(c[V>>2]|0)-(c[X>>2]|0);c[W>>2]=((c[V>>2]|0)>>>0)%((c[R>>2]|0)>>>0)|0;c[U>>2]=((c[V>>2]|0)>>>0)/((c[R>>2]|0)>>>0)|0;c[X>>2]=_(c[U>>2]|0,c[S>>2]|0)|0;c[W>>2]=c[W>>2]<<16|c[J>>2]&65535;if(((c[W>>2]|0)>>>0<(c[X>>2]|0)>>>0?(c[U>>2]=(c[U>>2]|0)+-1,c[W>>2]=(c[W>>2]|0)+(c[L>>2]|0),(c[W>>2]|0)>>>0>=(c[L>>2]|0)>>>0):0)?(c[W>>2]|0)>>>0<(c[X>>2]|0)>>>0:0){c[U>>2]=(c[U>>2]|0)+-1;c[W>>2]=(c[W>>2]|0)+(c[L>>2]|0)}c[W>>2]=(c[W>>2]|0)-(c[X>>2]|0);c[O>>2]=c[T>>2]<<16|c[U>>2];c[P>>2]=c[W>>2];c[fa>>2]=c[M>>2];c[ga>>2]=c[O>>2];c[ba>>2]=c[fa>>2]&65535;c[da>>2]=(c[fa>>2]|0)>>>16;c[ca>>2]=c[ga>>2]&65535;c[ea>>2]=(c[ga>>2]|0)>>>16;c[Y>>2]=_(c[ba>>2]|0,c[ca>>2]|0)|0;c[Z>>2]=_(c[ba>>2]|0,c[ea>>2]|0)|0;c[$>>2]=_(c[da>>2]|0,c[ca>>2]|0)|0;c[aa>>2]=_(c[da>>2]|0,c[ea>>2]|0)|0;c[Z>>2]=(c[Z>>2]|0)+((c[Y>>2]|0)>>>16);c[Z>>2]=(c[Z>>2]|0)+(c[$>>2]|0);if((c[Z>>2]|0)>>>0<(c[$>>2]|0)>>>0)c[aa>>2]=(c[aa>>2]|0)+65536;c[I>>2]=(c[aa>>2]|0)+((c[Z>>2]|0)>>>16);c[J>>2]=((c[Z>>2]&65535)<<16)+(c[Y>>2]&65535);La=52}while(0);if((La|0)==52){La=0;c[K>>2]=c[c[l>>2]>>2];do{if((c[I>>2]|0)>>>0<=(c[P>>2]|0)>>>0){if((c[I>>2]|0)!=(c[P>>2]|0))break;if((c[J>>2]|0)>>>0<=(c[K>>2]|0)>>>0)break}c[O>>2]=(c[O>>2]|0)+-1;c[ha>>2]=(c[J>>2]|0)-(c[M>>2]|0);c[I>>2]=(c[I>>2]|0)-0-((c[ha>>2]|0)>>>0>(c[J>>2]|0)>>>0&1);c[J>>2]=c[ha>>2];c[P>>2]=(c[P>>2]|0)+(c[L>>2]|0)}while((c[P>>2]|0)>>>0>=(c[L>>2]|0)>>>0);c[(c[j>>2]|0)+(c[H>>2]<<2)>>2]=c[O>>2];c[ia>>2]=(c[K>>2]|0)-(c[J>>2]|0);c[I>>2]=(c[P>>2]|0)-(c[I>>2]|0)-((c[ia>>2]|0)>>>0>(c[K>>2]|0)>>>0&1);c[J>>2]=c[ia>>2]}c[H>>2]=(c[H>>2]|0)+-1}c[(c[l>>2]|0)+4>>2]=c[I>>2];c[c[l>>2]>>2]=c[J>>2];Ka=c[p>>2]|0;i=h;return Ka|0}default:{c[l>>2]=(c[l>>2]|0)+((c[m>>2]|0)-(c[o>>2]|0)<<2);c[ka>>2]=c[(c[n>>2]|0)+((c[o>>2]|0)-1<<2)>>2];c[la>>2]=c[(c[n>>2]|0)+((c[o>>2]|0)-2<<2)>>2];c[ma>>2]=c[(c[l>>2]|0)+((c[o>>2]|0)-1<<2)>>2];do if((c[ma>>2]|0)>>>0>=(c[ka>>2]|0)>>>0){if((c[ma>>2]|0)>>>0<=(c[ka>>2]|0)>>>0?(op(c[l>>2]|0,c[n>>2]|0,(c[o>>2]|0)-1|0)|0)<0:0)break;Xp(c[l>>2]|0,c[l>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[ma>>2]=c[(c[l>>2]|0)+((c[o>>2]|0)-1<<2)>>2];c[p>>2]=1}while(0);c[ja>>2]=(c[k>>2]|0)+(c[m>>2]|0)-(c[o>>2]|0)-1;while(1){if((c[ja>>2]|0)<0)break;if((c[ja>>2]|0)>=(c[k>>2]|0)){c[l>>2]=(c[l>>2]|0)+-4;c[pa>>2]=c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]}else{c[pa>>2]=c[(c[l>>2]|0)+((c[o>>2]|0)-1<<2)>>2];c[ra>>2]=(c[o>>2]|0)-1-1;while(1){if((c[ra>>2]|0)<0)break;c[(c[l>>2]|0)+4+(c[ra>>2]<<2)>>2]=c[(c[l>>2]|0)+(c[ra>>2]<<2)>>2];c[ra>>2]=(c[ra>>2]|0)+-1}c[c[l>>2]>>2]=0}a:do if((c[ma>>2]|0)==(c[ka>>2]|0))c[na>>2]=-1;else{c[ta>>2]=(c[ka>>2]|0)>>>16;c[ua>>2]=c[ka>>2]&65535;c[xa>>2]=((c[ma>>2]|0)>>>0)%((c[ta>>2]|0)>>>0)|0;c[va>>2]=((c[ma>>2]|0)>>>0)/((c[ta>>2]|0)>>>0)|0;c[za>>2]=_(c[va>>2]|0,c[ua>>2]|0)|0;c[xa>>2]=c[xa>>2]<<16|(c[(c[l>>2]|0)+((c[o>>2]|0)-1<<2)>>2]|0)>>>16;if(((c[xa>>2]|0)>>>0<(c[za>>2]|0)>>>0?(c[va>>2]=(c[va>>2]|0)+-1,c[xa>>2]=(c[xa>>2]|0)+(c[ka>>2]|0),(c[xa>>2]|0)>>>0>=(c[ka>>2]|0)>>>0):0)?(c[xa>>2]|0)>>>0<(c[za>>2]|0)>>>0:0){c[va>>2]=(c[va>>2]|0)+-1;c[xa>>2]=(c[xa>>2]|0)+(c[ka>>2]|0)}c[xa>>2]=(c[xa>>2]|0)-(c[za>>2]|0);c[ya>>2]=((c[xa>>2]|0)>>>0)%((c[ta>>2]|0)>>>0)|0;c[wa>>2]=((c[xa>>2]|0)>>>0)/((c[ta>>2]|0)>>>0)|0;c[za>>2]=_(c[wa>>2]|0,c[ua>>2]|0)|0;c[ya>>2]=c[ya>>2]<<16|c[(c[l>>2]|0)+((c[o>>2]|0)-1<<2)>>2]&65535;if(((c[ya>>2]|0)>>>0<(c[za>>2]|0)>>>0?(c[wa>>2]=(c[wa>>2]|0)+-1,c[ya>>2]=(c[ya>>2]|0)+(c[ka>>2]|0),(c[ya>>2]|0)>>>0>=(c[ka>>2]|0)>>>0):0)?(c[ya>>2]|0)>>>0<(c[za>>2]|0)>>>0:0){c[wa>>2]=(c[wa>>2]|0)+-1;c[ya>>2]=(c[ya>>2]|0)+(c[ka>>2]|0)}c[ya>>2]=(c[ya>>2]|0)-(c[za>>2]|0);c[na>>2]=c[va>>2]<<16|c[wa>>2];c[sa>>2]=c[ya>>2];c[Ia>>2]=c[la>>2];c[Ja>>2]=c[na>>2];c[Ea>>2]=c[Ia>>2]&65535;c[Ga>>2]=(c[Ia>>2]|0)>>>16;c[Fa>>2]=c[Ja>>2]&65535;c[Ha>>2]=(c[Ja>>2]|0)>>>16;c[Aa>>2]=_(c[Ea>>2]|0,c[Fa>>2]|0)|0;c[Ba>>2]=_(c[Ea>>2]|0,c[Ha>>2]|0)|0;c[Ca>>2]=_(c[Ga>>2]|0,c[Fa>>2]|0)|0;c[Da>>2]=_(c[Ga>>2]|0,c[Ha>>2]|0)|0;c[Ba>>2]=(c[Ba>>2]|0)+((c[Aa>>2]|0)>>>16);c[Ba>>2]=(c[Ba>>2]|0)+(c[Ca>>2]|0);if((c[Ba>>2]|0)>>>0<(c[Ca>>2]|0)>>>0)c[Da>>2]=(c[Da>>2]|0)+65536;c[oa>>2]=(c[Da>>2]|0)+((c[Ba>>2]|0)>>>16);c[ma>>2]=((c[Ba>>2]&65535)<<16)+(c[Aa>>2]&65535);while(1){if((c[oa>>2]|0)>>>0<=(c[sa>>2]|0)>>>0){if((c[oa>>2]|0)!=(c[sa>>2]|0))break a;if((c[ma>>2]|0)>>>0<=(c[(c[l>>2]|0)+((c[o>>2]|0)-2<<2)>>2]|0)>>>0)break a}c[na>>2]=(c[na>>2]|0)+-1;c[sa>>2]=(c[sa>>2]|0)+(c[ka>>2]|0);if((c[sa>>2]|0)>>>0<(c[ka>>2]|0)>>>0)break a;c[oa>>2]=(c[oa>>2]|0)-((c[ma>>2]|0)>>>0<(c[la>>2]|0)>>>0&1);c[ma>>2]=(c[ma>>2]|0)-(c[la>>2]|0)}}while(0);c[qa>>2]=Qp(c[l>>2]|0,c[n>>2]|0,c[o>>2]|0,c[na>>2]|0)|0;if((c[pa>>2]|0)!=(c[qa>>2]|0)){Kp(c[l>>2]|0,c[l>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[na>>2]=(c[na>>2]|0)+-1}c[(c[j>>2]|0)+(c[ja>>2]<<2)>>2]=c[na>>2];c[ma>>2]=c[(c[l>>2]|0)+((c[o>>2]|0)-1<<2)>>2];c[ja>>2]=(c[ja>>2]|0)+-1}Ka=c[p>>2]|0;i=h;return Ka|0}}return 0} -function rk(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;e=i;i=i+160|0;f=e+144|0;g=e+140|0;h=e+136|0;j=e+132|0;k=e+128|0;l=e+124|0;m=e+120|0;n=e+116|0;o=e+112|0;p=e+108|0;q=e+104|0;r=e+100|0;s=e+96|0;t=e+92|0;u=e+88|0;v=e+84|0;w=e+80|0;x=e+76|0;y=e+72|0;z=e+68|0;A=e+64|0;B=e+60|0;C=e+56|0;D=e+52|0;E=e+48|0;F=e+44|0;G=e+40|0;H=e+36|0;I=e+32|0;J=e+28|0;K=e+24|0;L=e+20|0;M=e+16|0;N=e+12|0;O=e+8|0;P=e+4|0;Q=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=0;c[q>>2]=0;c[r>>2]=0;c[c[h>>2]>>2]=0;c[l>>2]=xg(c[g>>2]|0,37911,0)|0;if(!(c[l>>2]|0)){d=Fg(c[g>>2]|0,0,0)|0;c[c[h>>2]>>2]=d;c[f>>2]=(c[c[h>>2]>>2]|0)!=0?0:65;R=c[f>>2]|0;i=e;return R|0}c[s>>2]=xg(c[l>>2]|0,47167,0)|0;if(c[s>>2]|0){if(jk(c[s>>2]|0,r,(c[j>>2]|0)+8|0)|0)c[q>>2]=1;vg(c[s>>2]|0)}if((c[(c[j>>2]|0)+8>>2]|0)==5)c[(c[j>>2]|0)+8>>2]=0;c[m>>2]=xg(c[l>>2]|0,37916,0)|0;if(c[m>>2]|0)S=0;else S=xg(c[l>>2]|0,42217,0)|0;c[n>>2]=S;a:do if(((c[m>>2]|0)!=0^1)&1^((c[n>>2]|0)!=0^1)&1){if(c[q>>2]|0){c[k>>2]=72;break}if((c[(c[j>>2]|0)+8>>2]|0)==0?(c[r>>2]&4096|0)!=0:0){if(!(c[n>>2]|0)){c[k>>2]=65;break}c[t>>2]=xg(c[l>>2]|0,37805,0)|0;if(c[t>>2]|0){c[p>>2]=Bg(c[t>>2]|0,1,o)|0;if(c[p>>2]|0){S=ok(c[p>>2]|0,c[o>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=S;if(!(c[(c[j>>2]|0)+16>>2]|0))c[k>>2]=5}else c[k>>2]=68;vg(c[t>>2]|0)}else c[k>>2]=65;if(c[k>>2]|0)break;c[u>>2]=Dg(c[n>>2]|0,1,v)|0;if(c[u>>2]|0){if(c[v>>2]<<3>>>0<(c[v>>2]|0)>>>0){$f(c[u>>2]|0);c[k>>2]=67}}else{c[v>>2]=0;c[u>>2]=Vf(1)|0;if(!(c[u>>2]|0))c[k>>2]=iu()|0}if(c[k>>2]|0)break;S=iq(0,c[u>>2]|0,c[v>>2]<<3)|0;c[c[h>>2]>>2]=S;break}do if((c[m>>2]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)==0:0){if((c[r>>2]&16|0)==0?(c[r>>2]&2|0)==0:0)break;if((yg(c[m>>2]|0)|0)!=3){c[k>>2]=65;break a}S=Bg(c[m>>2]|0,1,o)|0;c[p>>2]=S;if(!((S|0)!=0&(c[o>>2]|0)!=0)){c[k>>2]=65;break a}S=ok(c[p>>2]|0,c[o>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=S;if(!(c[(c[j>>2]|0)+16>>2]|0)){c[k>>2]=5;break a}S=Dg(c[m>>2]|0,2,x)|0;c[w>>2]=S;if(!S){c[k>>2]=65;break a}S=c[w>>2]|0;if(c[x>>2]<<3>>>0<(c[x>>2]|0)>>>0){$f(S);c[k>>2]=67;break a}else{s=iq(0,S,c[x>>2]<<3)|0;c[c[h>>2]>>2]=s;break a}}while(0);if((c[n>>2]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)==0:0){if(c[r>>2]&2){c[k>>2]=70;break}s=Fg(c[n>>2]|0,1,5)|0;c[c[h>>2]>>2]=s;if(c[c[h>>2]>>2]|0)break;c[k>>2]=65;break}if(((c[n>>2]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)==1:0)?(c[c[j>>2]>>2]|0)==0:0){c[B>>2]=0;c[C>>2]=0;s=Bg(c[n>>2]|0,1,z)|0;c[y>>2]=s;if(!((s|0)!=0&(c[z>>2]|0)!=0)){c[k>>2]=65;break}c[A>>2]=xg(c[l>>2]|0,37895,0)|0;if(c[A>>2]|0){c[p>>2]=Bg(c[A>>2]|0,1,o)|0;do if(c[p>>2]|0){if((c[o>>2]|0)>>>0>0){c[B>>2]=Vf(c[o>>2]|0)|0;if(c[B>>2]|0){Dx(c[B>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;c[C>>2]=c[o>>2];break}else{c[k>>2]=iu()|0;break}}}else c[k>>2]=68;while(0);vg(c[A>>2]|0);if(c[k>>2]|0)break}c[k>>2]=Il(c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[y>>2]|0,c[z>>2]|0,c[B>>2]|0,c[C>>2]|0)|0;$f(c[B>>2]|0);break}do if((c[m>>2]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)==1:0){if((c[c[j>>2]>>2]|0)!=2?(c[c[j>>2]>>2]|0)!=3:0)break;if((yg(c[m>>2]|0)|0)!=3){c[k>>2]=65;break a}s=Bg(c[m>>2]|0,1,o)|0;c[p>>2]=s;if(!((s|0)!=0&(c[o>>2]|0)!=0)){c[k>>2]=65;break a}s=ok(c[p>>2]|0,c[o>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=s;if(!(c[(c[j>>2]|0)+16>>2]|0)){c[k>>2]=5;break a}s=Bg(c[m>>2]|0,2,E)|0;c[D>>2]=s;if((s|0)!=0&(c[E>>2]|0)!=0){c[k>>2]=Ml(c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[D>>2]|0,c[E>>2]|0,c[(c[j>>2]|0)+16>>2]|0)|0;break a}else{c[k>>2]=65;break a}}while(0);do if((c[n>>2]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)==2:0){if((c[c[j>>2]>>2]|0)!=2?(c[c[j>>2]>>2]|0)!=3:0)break;if((yg(c[n>>2]|0)|0)!=2){c[k>>2]=65;break a}s=Bg(c[n>>2]|0,1,G)|0;c[F>>2]=s;if((s|0)!=0&(c[G>>2]|0)!=0){c[k>>2]=Nl(c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[F>>2]|0,c[G>>2]|0)|0;break a}else{c[k>>2]=65;break a}}while(0);if(((c[n>>2]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)==3:0)?(c[c[j>>2]>>2]|0)==0:0){s=Bg(c[n>>2]|0,1,I)|0;c[H>>2]=s;if(!((s|0)!=0&(c[I>>2]|0)!=0)){c[k>>2]=65;break}c[K>>2]=0;c[L>>2]=0;c[J>>2]=xg(c[l>>2]|0,37805,0)|0;if(c[J>>2]|0){c[p>>2]=Bg(c[J>>2]|0,1,o)|0;do if(c[p>>2]|0){s=ok(c[p>>2]|0,c[o>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=s;if(c[(c[j>>2]|0)+16>>2]|0)break;c[k>>2]=5}else c[k>>2]=68;while(0);vg(c[J>>2]|0);if(c[k>>2]|0)break}c[J>>2]=xg(c[l>>2]|0,37889,0)|0;if(c[J>>2]|0){c[p>>2]=Bg(c[J>>2]|0,1,o)|0;do if(c[p>>2]|0){if((c[o>>2]|0)>>>0<=0)break;s=Vf(c[o>>2]|0)|0;c[(c[j>>2]|0)+20>>2]=s;if(c[(c[j>>2]|0)+20>>2]|0){Dx(c[(c[j>>2]|0)+20>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=c[o>>2];break}else{c[k>>2]=iu()|0;break}}else c[k>>2]=68;while(0);vg(c[J>>2]|0);if(c[k>>2]|0)break}c[J>>2]=xg(c[l>>2]|0,37895,0)|0;if(c[J>>2]|0){c[p>>2]=Bg(c[J>>2]|0,1,o)|0;do if(c[p>>2]|0){if((c[o>>2]|0)>>>0<=0)break;c[K>>2]=Vf(c[o>>2]|0)|0;if(c[K>>2]|0){Dx(c[K>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;c[L>>2]=c[o>>2];break}else{c[k>>2]=iu()|0;break}}else c[k>>2]=68;while(0);vg(c[J>>2]|0);if(c[k>>2]|0)break}c[k>>2]=Ol(c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[H>>2]|0,c[I>>2]|0,c[(c[j>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+24>>2]|0,c[K>>2]|0,c[L>>2]|0)|0;$f(c[K>>2]|0);break}if(((c[m>>2]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)==4:0)?(c[c[j>>2]>>2]|0)==2:0){if((yg(c[m>>2]|0)|0)!=3){c[k>>2]=65;break}s=Bg(c[m>>2]|0,1,o)|0;c[p>>2]=s;if(!((s|0)!=0&(c[o>>2]|0)!=0)){c[k>>2]=65;break}c[O>>2]=0;c[P>>2]=0;s=ok(c[p>>2]|0,c[o>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=s;if(!(c[(c[j>>2]|0)+16>>2]|0)){c[k>>2]=5;break}s=Bg(c[m>>2]|0,2,N)|0;c[M>>2]=s;if(!((s|0)!=0&(c[N>>2]|0)!=0)){c[k>>2]=65;break}c[Q>>2]=xg(c[l>>2]|0,37921,0)|0;do if(c[Q>>2]|0){c[p>>2]=Bg(c[Q>>2]|0,1,o)|0;if(c[p>>2]|0){s=Zv(c[p>>2]|0,0,10)|0;c[(c[j>>2]|0)+28>>2]=s;vg(c[Q>>2]|0);break}else{c[k>>2]=68;break a}}while(0);c[Q>>2]=xg(c[l>>2]|0,37895,0)|0;if(c[Q>>2]|0){c[p>>2]=Bg(c[Q>>2]|0,1,o)|0;do if(c[p>>2]|0){if((c[o>>2]|0)>>>0<=0)break;c[O>>2]=Vf(c[o>>2]|0)|0;if(c[O>>2]|0){Dx(c[O>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;c[P>>2]=c[o>>2];break}else{c[k>>2]=iu()|0;break}}else c[k>>2]=68;while(0);vg(c[Q>>2]|0);if(c[k>>2]|0)break}c[k>>2]=Sl(c[h>>2]|0,(c[(c[j>>2]|0)+4>>2]|0)-1|0,c[(c[j>>2]|0)+16>>2]|0,c[M>>2]|0,c[N>>2]|0,c[(c[j>>2]|0)+28>>2]|0,c[O>>2]|0,c[P>>2]|0)|0;$f(c[O>>2]|0);break}if(((c[m>>2]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)==4:0)?(c[c[j>>2]>>2]|0)==3:0){if((yg(c[m>>2]|0)|0)!=3){c[k>>2]=65;break}s=Bg(c[m>>2]|0,1,o)|0;c[p>>2]=s;if(!((s|0)!=0&(c[o>>2]|0)!=0)){c[k>>2]=65;break}s=ok(c[p>>2]|0,c[o>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=s;if(!(c[(c[j>>2]|0)+16>>2]|0)){c[k>>2]=5;break}s=Fg(c[m>>2]|0,2,5)|0;c[c[h>>2]>>2]=s;if(!(c[c[h>>2]>>2]|0))c[k>>2]=65;c[(c[j>>2]|0)+32>>2]=5;c[(c[j>>2]|0)+36>>2]=c[c[h>>2]>>2];break}c[k>>2]=70}else c[k>>2]=65;while(0);vg(c[l>>2]|0);vg(c[m>>2]|0);vg(c[n>>2]|0);if(c[k>>2]|0){$f(c[(c[j>>2]|0)+20>>2]|0);c[(c[j>>2]|0)+20>>2]=0}else c[(c[j>>2]|0)+12>>2]=c[r>>2];c[f>>2]=c[k>>2];R=c[f>>2]|0;i=e;return R|0}function sk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[e>>2];c[h>>2]=c[(c[g>>2]|0)+36>>2];e=Tl(c[h>>2]|0,c[f>>2]|0,(c[(c[g>>2]|0)+4>>2]|0)-1|0,c[(c[g>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+28>>2]|0)|0;i=d;return e|0}function tk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+32|0;d=b+16|0;e=b+12|0;f=b+8|0;g=b+4|0;h=b;c[e>>2]=a;c[g>>2]=0;a:while(1){a=c[4444+(c[g>>2]<<2)>>2]|0;c[f>>2]=a;if(!a){j=11;break}a=(Vv(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0)|0)!=0;k=c[f>>2]|0;if(!a){j=4;break}c[h>>2]=c[k+16>>2];while(1){if(!(c[c[h>>2]>>2]|0))break;if(!(Vv(c[e>>2]|0,c[c[h>>2]>>2]|0)|0)){j=8;break a}c[h>>2]=(c[h>>2]|0)+4}c[g>>2]=(c[g>>2]|0)+1}if((j|0)==4){c[d>>2]=k;l=c[d>>2]|0;i=b;return l|0}else if((j|0)==8){c[d>>2]=c[f>>2];l=c[d>>2]|0;i=b;return l|0}else if((j|0)==11){c[d>>2]=0;l=c[d>>2]|0;i=b;return l|0}return 0}function uk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=vk(c[e>>2]|0)|0;if(c[f>>2]|0){c[d>>2]=c[(c[f>>2]|0)+12>>2];g=c[d>>2]|0;i=b;return g|0}else{c[d>>2]=37933;g=c[d>>2]|0;i=b;return g|0}return 0}function vk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[e>>2]=wk(c[e>>2]|0)|0;c[f>>2]=0;while(1){a=c[4444+(c[f>>2]<<2)>>2]|0;c[g>>2]=a;if(!a){h=6;break}if((c[e>>2]|0)==(c[c[g>>2]>>2]|0)){h=4;break}c[f>>2]=(c[f>>2]|0)+1}if((h|0)==4){c[d>>2]=c[g>>2];j=c[d>>2]|0;i=b;return j|0}else if((h|0)==6){c[d>>2]=0;j=c[d>>2]|0;i=b;return j|0}return 0}function wk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;switch(c[e>>2]|0){case 2:{c[d>>2]=1;break}case 3:{c[d>>2]=1;break}case 16:{c[d>>2]=20;break}case 301:{c[d>>2]=18;break}case 302:{c[d>>2]=18;break}default:c[d>>2]=c[e>>2]}i=b;return c[d>>2]|0}function xk(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+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[f>>2]>>2]=0;c[j>>2]=yk(c[h>>2]|0,0,k,l)|0;do if(!(c[j>>2]|0))if(c[(c[k>>2]|0)+48>>2]|0){c[j>>2]=vb[c[(c[k>>2]|0)+48>>2]&63](c[f>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;break}else{c[j>>2]=69;break}while(0);vg(c[l>>2]|0);i=e;return c[j>>2]|0}function yk(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;f=i;i=i+48|0;g=f+32|0;h=f+28|0;j=f+24|0;k=f+20|0;l=f+16|0;m=f+12|0;n=f+8|0;o=f+4|0;p=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[c[k>>2]>>2]=0;if(c[l>>2]|0)c[c[l>>2]>>2]=0;c[m>>2]=xg(c[h>>2]|0,(c[j>>2]|0)!=0?37935:37947,0)|0;if(!((c[m>>2]|0)!=0|(c[j>>2]|0)!=0))c[m>>2]=xg(c[h>>2]|0,37935,0)|0;if(!(c[m>>2]|0)){c[g>>2]=65;q=c[g>>2]|0;i=f;return q|0}c[n>>2]=Hg(c[m>>2]|0)|0;vg(c[m>>2]|0);c[m>>2]=c[n>>2];c[o>>2]=Eg(c[m>>2]|0,0)|0;if(!(c[o>>2]|0)){vg(c[m>>2]|0);c[g>>2]=65;q=c[g>>2]|0;i=f;return q|0}c[p>>2]=tk(c[o>>2]|0)|0;$f(c[o>>2]|0);if(!(c[p>>2]|0)){vg(c[m>>2]|0);c[g>>2]=4;q=c[g>>2]|0;i=f;return q|0}c[c[k>>2]>>2]=c[p>>2];p=c[m>>2]|0;if(c[l>>2]|0)c[c[l>>2]>>2]=p;else vg(p);c[g>>2]=0;q=c[g>>2]|0;i=f;return q|0}function zk(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+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[f>>2]>>2]=0;c[j>>2]=yk(c[h>>2]|0,1,k,l)|0;do if(!(c[j>>2]|0))if(c[(c[k>>2]|0)+52>>2]|0){c[j>>2]=vb[c[(c[k>>2]|0)+52>>2]&63](c[f>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;break}else{c[j>>2]=69;break}while(0);vg(c[l>>2]|0);i=e;return c[j>>2]|0}function Ak(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+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[f>>2]>>2]=0;c[j>>2]=yk(c[h>>2]|0,1,k,l)|0;do if(!(c[j>>2]|0))if(c[(c[k>>2]|0)+56>>2]|0){c[j>>2]=vb[c[(c[k>>2]|0)+56>>2]&63](c[f>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;break}else{c[j>>2]=69;break}while(0);vg(c[l>>2]|0);i=e;return c[j>>2]|0}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,l=0;e=i;i=i+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=yk(c[h>>2]|0,0,k,l)|0;do if(!(c[j>>2]|0))if(c[(c[k>>2]|0)+60>>2]|0){c[j>>2]=vb[c[(c[k>>2]|0)+60>>2]&63](c[f>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;break}else{c[j>>2]=69;break}while(0);vg(c[l>>2]|0);i=e;return c[j>>2]|0}function Ck(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;c[e>>2]=yk(c[d>>2]|0,1,f,g)|0;do if(!(c[e>>2]|0))if(c[(c[f>>2]|0)+44>>2]|0){c[e>>2]=zb[c[(c[f>>2]|0)+44>>2]&15](c[g>>2]|0)|0;break}else{c[e>>2]=69;break}while(0);vg(c[g>>2]|0);i=b;return c[e>>2]|0}function Dk(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+24|0;f=d+20|0;g=d+16|0;h=d+12|0;j=d+8|0;k=d+4|0;l=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;c[h>>2]=0;c[j>>2]=0;c[k>>2]=0;c[c[e>>2]>>2]=0;c[h>>2]=xg(c[f>>2]|0,37958,0)|0;do if(c[h>>2]|0){c[j>>2]=Hg(c[h>>2]|0)|0;vg(c[h>>2]|0);c[h>>2]=c[j>>2];c[j>>2]=0;if(!(c[h>>2]|0)){c[l>>2]=68;break}c[k>>2]=Eg(c[h>>2]|0,0)|0;if(!(c[k>>2]|0)){c[l>>2]=65;break}c[g>>2]=tk(c[k>>2]|0)|0;$f(c[k>>2]|0);c[k>>2]=0;if(!(c[g>>2]|0)){c[l>>2]=4;break}if(c[(c[g>>2]|0)+40>>2]|0){c[l>>2]=Eb[c[(c[g>>2]|0)+40>>2]&7](c[h>>2]|0,c[e>>2]|0)|0;break}else{c[l>>2]=69;break}}else c[l>>2]=65;while(0);vg(c[h>>2]|0);$f(c[k>>2]|0);vg(c[j>>2]|0);i=d;return c[l>>2]|0}function Ek(){return 0}function Fk(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;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;l=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[g>>2]=wk(c[g>>2]|0)|0;c[l>>2]=vk(c[g>>2]|0)|0;if(((c[l>>2]|0)!=0?(a[(c[l>>2]|0)+4>>0]&1|0)==0:0)?(c[(c[l>>2]|0)+68>>2]|0)!=0:0){c[k>>2]=vb[c[(c[l>>2]|0)+68>>2]&63](c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;m=c[k>>2]|0;n=Gk(m)|0;i=f;return n|0}c[k>>2]=4;if(!(c[j>>2]|0)){m=c[k>>2]|0;n=Gk(m)|0;i=f;return n|0}h=c[j>>2]|0;j=c[g>>2]|0;if((c[l>>2]|0)!=0?(a[(c[l>>2]|0)+4>>0]&1|0)==0:0)o=38004;else o=(c[l>>2]|0)!=0?37965:37984;Fb[h&1](49836,j,38026,o);m=c[k>>2]|0;n=Gk(m)|0;i=f;return n|0}function Gk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Hk(1,c[d>>2]|0)|0;i=b;return a|0}function Hk(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+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function Ik(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[f>>2];f=Jk(c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return f|0}function Jk(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;g=i;i=i+144|0;h=g+72|0;j=g+132|0;k=g+128|0;l=g+124|0;m=g+120|0;n=g+116|0;o=g+112|0;p=g+108|0;q=g+104|0;r=g+100|0;s=g+96|0;t=g+92|0;u=g+88|0;v=g+8|0;w=g+84|0;x=g+80|0;y=g+136|0;z=g;A=g+76|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[s>>2]=0;f=(Ah()|0)!=0;if(!(f|(c[17702]|0)!=0)?(c[17702]=1,c[17703]=Kk()|0,(c[17703]|0)!=0):0){c[h>>2]=c[17703];Af(43706,h)}if(c[17703]|0){c[j>>2]=50;B=c[j>>2]|0;i=g;return B|0}do if((c[m>>2]|0)==16){c[n>>2]=10;c[t>>2]=4}else{if((c[m>>2]|0)==24){c[n>>2]=12;c[t>>2]=6;break}if((c[m>>2]|0)==32){c[n>>2]=14;c[t>>2]=8;break}c[j>>2]=44;B=c[j>>2]|0;i=g;return B|0}while(0);c[(c[k>>2]|0)+480>>2]=c[n>>2];h=(c[k>>2]|0)+484|0;a[h>>0]=a[h>>0]&-2;c[(c[k>>2]|0)+488>>2]=29;c[(c[k>>2]|0)+492>>2]=30;c[(c[k>>2]|0)+496>>2]=1;c[(c[k>>2]|0)+500>>2]=2;c[u>>2]=4577;Qk();c[o>>2]=0;while(1){if((c[o>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break;a[v+(c[o>>2]>>2<<2)+(c[o>>2]&3)>>0]=a[(c[l>>2]|0)+(c[o>>2]|0)>>0]|0;c[o>>2]=(c[o>>2]|0)+1}c[p>>2]=(c[t>>2]|0)-1;while(1){if((c[p>>2]|0)<0)break;c[v+32+(c[p>>2]<<2)>>2]=c[v+(c[p>>2]<<2)>>2];c[p>>2]=(c[p>>2]|0)+-1}c[q>>2]=0;c[r>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[t>>2]|0))break;if((c[q>>2]|0)>=((c[n>>2]|0)+1|0))break;while(1){if(!((c[p>>2]|0)<(c[t>>2]|0)?(c[r>>2]|0)<4:0))break;c[(c[k>>2]|0)+(c[q>>2]<<4)+(c[r>>2]<<2)>>2]=c[v+32+(c[p>>2]<<2)>>2];c[p>>2]=(c[p>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1}if((c[r>>2]|0)!=4)continue;c[q>>2]=(c[q>>2]|0)+1;c[r>>2]=0}a:while(1){if((c[q>>2]|0)>=((c[n>>2]|0)+1|0))break;o=v+32|0;a[o>>0]=(d[o>>0]|0)^(d[(c[u>>2]|0)+((d[v+32+((c[t>>2]|0)-1<<2)+1>>0]|0)<<2)>>0]|0);o=v+32+1|0;a[o>>0]=(d[o>>0]|0)^(d[(c[u>>2]|0)+((d[v+32+((c[t>>2]|0)-1<<2)+2>>0]|0)<<2)>>0]|0);o=v+32+2|0;a[o>>0]=(d[o>>0]|0)^(d[(c[u>>2]|0)+((d[v+32+((c[t>>2]|0)-1<<2)+3>>0]|0)<<2)>>0]|0);o=v+32+3|0;a[o>>0]=(d[o>>0]|0)^(d[(c[u>>2]|0)+((d[v+32+((c[t>>2]|0)-1<<2)>>0]|0)<<2)>>0]|0);o=c[s>>2]|0;c[s>>2]=o+1;l=v+32|0;a[l>>0]=(d[l>>0]|0)^c[6880+(o<<2)>>2];o=(c[t>>2]|0)!=8;c[p>>2]=1;b:do if(o)while(1){if((c[p>>2]|0)>=(c[t>>2]|0))break b;l=v+32+(c[p>>2]<<2)|0;c[l>>2]=c[l>>2]^c[v+32+((c[p>>2]|0)-1<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}else{while(1){if((c[p>>2]|0)>=((c[t>>2]|0)/2|0|0))break;l=v+32+(c[p>>2]<<2)|0;c[l>>2]=c[l>>2]^c[v+32+((c[p>>2]|0)-1<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}l=v+32+(((c[t>>2]|0)/2|0)<<2)|0;a[l>>0]=(d[l>>0]|0)^(d[(c[u>>2]|0)+((d[v+32+(((c[t>>2]|0)/2|0)-1<<2)>>0]|0)<<2)>>0]|0);l=v+32+(((c[t>>2]|0)/2|0)<<2)+1|0;a[l>>0]=(d[l>>0]|0)^(d[(c[u>>2]|0)+((d[v+32+(((c[t>>2]|0)/2|0)-1<<2)+1>>0]|0)<<2)>>0]|0);l=v+32+(((c[t>>2]|0)/2|0)<<2)+2|0;a[l>>0]=(d[l>>0]|0)^(d[(c[u>>2]|0)+((d[v+32+(((c[t>>2]|0)/2|0)-1<<2)+2>>0]|0)<<2)>>0]|0);l=v+32+(((c[t>>2]|0)/2|0)<<2)+3|0;a[l>>0]=(d[l>>0]|0)^(d[(c[u>>2]|0)+((d[v+32+(((c[t>>2]|0)/2|0)-1<<2)+3>>0]|0)<<2)>>0]|0);c[p>>2]=((c[t>>2]|0)/2|0)+1;while(1){if((c[p>>2]|0)>=(c[t>>2]|0))break b;l=v+32+(c[p>>2]<<2)|0;c[l>>2]=c[l>>2]^c[v+32+((c[p>>2]|0)-1<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}}while(0);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[t>>2]|0))continue a;if((c[q>>2]|0)>=((c[n>>2]|0)+1|0))continue a;while(1){if(!((c[p>>2]|0)<(c[t>>2]|0)?(c[r>>2]|0)<4:0))break;c[(c[k>>2]|0)+(c[q>>2]<<4)+(c[r>>2]<<2)>>2]=c[v+32+(c[p>>2]<<2)>>2];c[p>>2]=(c[p>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1}if((c[r>>2]|0)!=4)continue;c[q>>2]=(c[q>>2]|0)+1;c[r>>2]=0}}c[w>>2]=v;c[x>>2]=64;a[y>>0]=0;v=z;c[v>>2]=d[y>>0];c[v+4>>2]=0;while(1){if(!((c[w>>2]&7|0)!=0?(c[x>>2]|0)!=0:0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}if((c[x>>2]|0)>>>0>=8){v=z;r=Mx(c[v>>2]|0,c[v+4>>2]|0,16843009,16843009)|0;v=z;c[v>>2]=r;c[v+4>>2]=C;do{c[A>>2]=c[w>>2];v=z;r=c[v+4>>2]|0;q=c[A>>2]|0;c[q>>2]=c[v>>2];c[q+4>>2]=r;c[x>>2]=(c[x>>2]|0)-8;c[w>>2]=(c[w>>2]|0)+8}while((c[x>>2]|0)>>>0>=8)}while(1){if(!(c[x>>2]|0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}c[j>>2]=0;B=c[j>>2]|0;i=g;return B|0}function Kk(){var a=0,b=0,d=0,e=0,f=0,g=0;a=i;i=i+16|0;b=a+4|0;d=a;e=Lk()|0;c[d>>2]=e;do if(((e|0)==0?(f=Uk()|0,c[d>>2]=f,(f|0)==0):0)?(f=Vk()|0,c[d>>2]=f,(f|0)==0):0){f=Wk()|0;c[d>>2]=f;if(f){c[b>>2]=c[d>>2];break}f=Zk()|0;c[d>>2]=f;if(f){c[b>>2]=c[d>>2];break}else{c[d>>2]=al()|0;c[b>>2]=c[d>>2];break}}else g=4;while(0);if((g|0)==4)c[b>>2]=c[d>>2];i=a;return c[b>>2]|0}function Lk(){var a=0,b=0,d=0,e=0;a=i;i=i+528|0;b=a+504|0;d=a;e=a+512|0;Ik(d,38153,16)|0;Mk(d,e,38169)|0;do if(!(mw(e,38185,16)|0)){Nk(d,e,e)|0;if(mw(e,38169,16)|0){c[b>>2]=38233;break}else{c[b>>2]=0;break}}else c[b>>2]=38201;while(0);i=a;return c[b>>2]|0}function Mk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[f>>2];if(c[(c[j>>2]|0)+496>>2]|0)Bb[c[(c[j>>2]|0)+496>>2]&3]();f=vb[c[(c[j>>2]|0)+488>>2]&63](c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return f|0}function Nk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[f>>2];Ok(c[j>>2]|0);if(c[(c[j>>2]|0)+500>>2]|0)Bb[c[(c[j>>2]|0)+500>>2]&3]();f=vb[c[(c[j>>2]|0)+492>>2]&63](c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return f|0}function Ok(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;if(a[(c[e>>2]|0)+484>>0]&1){i=d;return}Pk(c[e>>2]|0);b=(c[e>>2]|0)+484|0;a[b>>0]=a[b>>0]&-2|1;i=d;return}function Pk(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;b=i;i=i+32|0;e=b+20|0;f=b+16|0;g=b+12|0;h=b+8|0;j=b+4|0;k=b;c[e>>2]=a;c[g>>2]=4577;Qk();Sk();c[(c[e>>2]|0)+240>>2]=c[c[e>>2]>>2];c[(c[e>>2]|0)+240+4>>2]=c[(c[e>>2]|0)+4>>2];c[(c[e>>2]|0)+240+8>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+240+12>>2]=c[(c[e>>2]|0)+12>>2];c[f>>2]=1;while(1){l=(c[e>>2]|0)+(c[f>>2]<<4)|0;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+480>>2]|0))break;c[h>>2]=l;c[j>>2]=(c[e>>2]|0)+240+(c[f>>2]<<4);c[k>>2]=c[c[h>>2]>>2];a=Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>0&255)<<2)>>0]|0)<<2)>>2]|0,0)|0;m=a^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>8&255)<<2)>>0]|0)<<2)>>2]|0,8)|0);a=m^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>16&255)<<2)>>0]|0)<<2)>>2]|0,16)|0);m=a^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>24&255)<<2)>>0]|0)<<2)>>2]|0,24)|0);c[c[j>>2]>>2]=m;c[k>>2]=c[(c[h>>2]|0)+4>>2];m=Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>0&255)<<2)>>0]|0)<<2)>>2]|0,0)|0;a=m^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>8&255)<<2)>>0]|0)<<2)>>2]|0,8)|0);m=a^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>16&255)<<2)>>0]|0)<<2)>>2]|0,16)|0);a=m^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>24&255)<<2)>>0]|0)<<2)>>2]|0,24)|0);c[(c[j>>2]|0)+4>>2]=a;c[k>>2]=c[(c[h>>2]|0)+8>>2];a=Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>0&255)<<2)>>0]|0)<<2)>>2]|0,0)|0;m=a^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>8&255)<<2)>>0]|0)<<2)>>2]|0,8)|0);a=m^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>16&255)<<2)>>0]|0)<<2)>>2]|0,16)|0);m=a^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>24&255)<<2)>>0]|0)<<2)>>2]|0,24)|0);c[(c[j>>2]|0)+8>>2]=m;c[k>>2]=c[(c[h>>2]|0)+12>>2];m=Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>0&255)<<2)>>0]|0)<<2)>>2]|0,0)|0;a=m^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>8&255)<<2)>>0]|0)<<2)>>2]|0,8)|0);m=a^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>16&255)<<2)>>0]|0)<<2)>>2]|0,16)|0);a=m^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>24&255)<<2)>>0]|0)<<2)>>2]|0,24)|0);c[(c[j>>2]|0)+12>>2]=a;c[f>>2]=(c[f>>2]|0)+1}c[(c[e>>2]|0)+240+(c[f>>2]<<4)>>2]=c[l>>2];c[(c[e>>2]|0)+240+(c[f>>2]<<4)+4>>2]=c[(c[e>>2]|0)+(c[f>>2]<<4)+4>>2];c[(c[e>>2]|0)+240+(c[f>>2]<<4)+8>>2]=c[(c[e>>2]|0)+(c[f>>2]<<4)+8>>2];c[(c[e>>2]|0)+240+(c[f>>2]<<4)+12>>2]=c[(c[e>>2]|0)+(c[f>>2]<<4)+12>>2];i=b;return}function Qk(){Rk(4576,1024);return}function Rk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[d+8>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=(c[e>>2]|0)>>>0)break;c[f>>2]=(c[f>>2]|0)+256}i=d;return}function Sk(){Rk(5600,1280);return}function Tk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;i=d;return c[e>>2]<<(c[f>>2]&31)|(c[e>>2]|0)>>>(32-(c[f>>2]|0)&31)|0}function Uk(){var a=0,b=0,d=0,e=0;a=i;i=i+528|0;b=a+504|0;d=a;e=a+512|0;Ik(d,38265,24)|0;Mk(d,e,38289)|0;do if(!(mw(e,38305,16)|0)){Nk(d,e,e)|0;if(mw(e,38289,16)|0){c[b>>2]=38353;break}else{c[b>>2]=0;break}}else c[b>>2]=38321;while(0);i=a;return c[b>>2]|0}function Vk(){var a=0,b=0,d=0,e=0;a=i;i=i+528|0;b=a+504|0;d=a;e=a+512|0;Ik(d,38385,32)|0;Mk(d,e,38417)|0;do if(!(mw(e,38433,16)|0)){Nk(d,e,e)|0;if(mw(e,38417,16)|0){c[b>>2]=38481;break}else{c[b>>2]=0;break}}else c[b>>2]=38449;while(0);i=a;return c[b>>2]|0}function Wk(){var a=0,b=0;a=i;i=i+16|0;c[a+8>>2]=9;c[a+4>>2]=16;c[a>>2]=504;b=as(38033,1,2,4,9,16,504)|0;i=a;return b|0}function Xk(b,e,f,g,h){b=b|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+96|0;k=j+76|0;l=j+72|0;m=j+68|0;n=j+64|0;o=j+60|0;p=j+56|0;q=j+52|0;r=j+48|0;s=j+44|0;t=j+40|0;u=j;v=j+36|0;w=j+32|0;x=j+28|0;y=j+80|0;z=j+16|0;A=j+24|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[k>>2];c[q>>2]=c[m>>2];c[r>>2]=c[n>>2];c[s>>2]=0;if(c[(c[p>>2]|0)+496>>2]|0)Bb[c[(c[p>>2]|0)+496>>2]&3]();c[v>>2]=c[(c[p>>2]|0)+488>>2];while(1){if(!(c[o>>2]|0))break;c[s>>2]=vb[c[v>>2]&63](c[p>>2]|0,u,c[l>>2]|0)|0;Yk(c[q>>2]|0,u,c[r>>2]|0,16);c[q>>2]=(c[q>>2]|0)+16;c[r>>2]=(c[r>>2]|0)+16;c[t>>2]=16;while(1){if((c[t>>2]|0)<=0)break;n=(c[l>>2]|0)+((c[t>>2]|0)-1)|0;a[n>>0]=(a[n>>0]|0)+1<<24>>24;if(a[(c[l>>2]|0)+((c[t>>2]|0)-1)>>0]|0)break;c[t>>2]=(c[t>>2]|0)+-1}c[o>>2]=(c[o>>2]|0)+-1}c[w>>2]=u;c[x>>2]=16;a[y>>0]=0;u=z;c[u>>2]=d[y>>0];c[u+4>>2]=0;while(1){if(!((c[w>>2]&7|0)!=0?(c[x>>2]|0)!=0:0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}if((c[x>>2]|0)>>>0>=8){u=z;o=Mx(c[u>>2]|0,c[u+4>>2]|0,16843009,16843009)|0;u=z;c[u>>2]=o;c[u+4>>2]=C;do{c[A>>2]=c[w>>2];u=z;o=c[u+4>>2]|0;t=c[A>>2]|0;c[t>>2]=c[u>>2];c[t+4>>2]=o;c[x>>2]=(c[x>>2]|0)-8;c[w>>2]=(c[w>>2]|0)+8}while((c[x>>2]|0)>>>0>=8)}while(1){if(!(c[x>>2]|0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}if(!(c[s>>2]|0)){i=j;return}If((c[s>>2]|0)+16|0);Jf();i=j;return}function Yk(b,e,f,g){b=b|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+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function Zk(){var a=0,b=0;a=i;i=i+16|0;c[a+8>>2]=10;c[a+4>>2]=16;c[a>>2]=504;b=Yr(38033,1,2,3,10,16,504)|0;i=a;return b|0}function _k(b,e,f,g,h){b=b|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;j=i;i=i+80|0;k=j+72|0;l=j+68|0;m=j+64|0;n=j+60|0;o=j+56|0;p=j+52|0;q=j+48|0;r=j+44|0;s=j+40|0;t=j;u=j+36|0;v=j+32|0;w=j+28|0;x=j+76|0;y=j+16|0;z=j+24|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[k>>2];c[q>>2]=c[m>>2];c[r>>2]=c[n>>2];c[s>>2]=0;Ok(c[p>>2]|0);if(c[(c[p>>2]|0)+500>>2]|0)Bb[c[(c[p>>2]|0)+500>>2]&3]();c[u>>2]=c[(c[p>>2]|0)+492>>2];while(1){if(!(c[o>>2]|0))break;c[s>>2]=vb[c[u>>2]&63](c[p>>2]|0,t,c[r>>2]|0)|0;$k(c[q>>2]|0,t,c[l>>2]|0,c[r>>2]|0,16);c[r>>2]=(c[r>>2]|0)+16;c[q>>2]=(c[q>>2]|0)+16;c[o>>2]=(c[o>>2]|0)+-1}c[v>>2]=t;c[w>>2]=16;a[x>>0]=0;t=y;c[t>>2]=d[x>>0];c[t+4>>2]=0;while(1){if(!((c[v>>2]&7|0)!=0?(c[w>>2]|0)!=0:0))break;a[c[v>>2]>>0]=a[x>>0]|0;c[v>>2]=(c[v>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+-1}if((c[w>>2]|0)>>>0>=8){t=y;o=Mx(c[t>>2]|0,c[t+4>>2]|0,16843009,16843009)|0;t=y;c[t>>2]=o;c[t+4>>2]=C;do{c[z>>2]=c[v>>2];t=y;o=c[t+4>>2]|0;q=c[z>>2]|0;c[q>>2]=c[t>>2];c[q+4>>2]=o;c[w>>2]=(c[w>>2]|0)-8;c[v>>2]=(c[v>>2]|0)+8}while((c[w>>2]|0)>>>0>=8)}while(1){if(!(c[w>>2]|0))break;a[c[v>>2]>>0]=a[x>>0]|0;c[v>>2]=(c[v>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+-1}if(!(c[s>>2]|0)){i=j;return}If((c[s>>2]|0)+16|0);Jf();i=j;return}function $k(b,e,f,g,h){b=b|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;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+28|0;s=j+24|0;t=j+60|0;u=j+20|0;v=j+16|0;w=j+12|0;x=j+8|0;y=j+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[k>>2];c[q>>2]=c[m>>2];c[r>>2]=c[l>>2];c[s>>2]=c[n>>2];c[j>>2]=3;if(!((c[s>>2]|c[r>>2]|c[p>>2]|c[q>>2])&3)){c[u>>2]=c[p>>2];c[x>>2]=c[r>>2];c[v>>2]=c[q>>2];c[w>>2]=c[s>>2];while(1){if((c[o>>2]|0)>>>0<4)break;n=c[w>>2]|0;c[w>>2]=n+4;c[y>>2]=c[n>>2];n=c[c[v>>2]>>2]|0;l=c[x>>2]|0;c[x>>2]=l+4;m=n^c[l>>2];l=c[u>>2]|0;c[u>>2]=l+4;c[l>>2]=m;m=c[y>>2]|0;l=c[v>>2]|0;c[v>>2]=l+4;c[l>>2]=m;c[o>>2]=(c[o>>2]|0)-4}c[p>>2]=c[u>>2];c[r>>2]=c[x>>2];c[q>>2]=c[v>>2];c[s>>2]=c[w>>2]}while(1){if(!(c[o>>2]|0))break;w=c[s>>2]|0;c[s>>2]=w+1;a[t>>0]=a[w>>0]|0;w=d[c[q>>2]>>0]|0;v=c[r>>2]|0;c[r>>2]=v+1;x=(w^(d[v>>0]|0))&255;v=c[p>>2]|0;c[p>>2]=v+1;a[v>>0]=x;x=a[t>>0]|0;v=c[q>>2]|0;c[q>>2]=v+1;a[v>>0]=x;c[o>>2]=(c[o>>2]|0)+-1}i=j;return}function al(){var a=0,b=0;a=i;i=i+16|0;c[a+8>>2]=10;c[a+4>>2]=16;c[a>>2]=504;b=_r(38033,1,2,2,10,16,504)|0;i=a;return b|0}function bl(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;g=i;i=i+48|0;h=g+36|0;j=g+32|0;k=g+28|0;l=g+24|0;m=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;q=g+4|0;r=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[h>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[q>>2]=0;if(c[(c[n>>2]|0)+496>>2]|0)Bb[c[(c[n>>2]|0)+496>>2]&3]();c[r>>2]=c[(c[n>>2]|0)+488>>2];while(1){if(!(c[m>>2]|0))break;c[q>>2]=vb[c[r>>2]&63](c[n>>2]|0,c[j>>2]|0,c[j>>2]|0)|0;cl(c[o>>2]|0,c[j>>2]|0,c[p>>2]|0,16);c[o>>2]=(c[o>>2]|0)+16;c[p>>2]=(c[p>>2]|0)+16;c[m>>2]=(c[m>>2]|0)+-1}if(!(c[q>>2]|0)){i=g;return}If((c[q>>2]|0)+16|0);Jf();i=g;return}function cl(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;$k(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}function dl(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=el(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function el(a,b,e){a=a|0;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;f=i;i=i+64|0;g=f+52|0;h=f+48|0;j=f+44|0;k=f+40|0;l=f+36|0;m=f+32|0;n=f+16|0;o=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=4577;c[l>>2]=c[(c[g>>2]|0)+480>>2];c[o>>2]=fl(c[j>>2]|0)|0;c[o+4>>2]=fl((c[j>>2]|0)+4|0)|0;c[o+8>>2]=fl((c[j>>2]|0)+8|0)|0;c[o+12>>2]=fl((c[j>>2]|0)+12|0)|0;c[n>>2]=c[o>>2]^c[c[g>>2]>>2];c[n+4>>2]=c[o+4>>2]^c[(c[g>>2]|0)+4>>2];c[n+8>>2]=c[o+8>>2]^c[(c[g>>2]|0)+8>>2];c[n+12>>2]=c[o+12>>2]^c[(c[g>>2]|0)+12>>2];c[o>>2]=Tk(c[4576+(((c[n>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;c[o+12>>2]=Tk(c[4576+(((c[n>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[o+8>>2]=Tk(c[4576+(((c[n>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[o+4>>2]=Tk(c[4576+(((c[n>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[n>>2]=c[(c[g>>2]|0)+16>>2]^c[o>>2];j=Tk(c[4576+(((c[n+4>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[n>>2]=c[n>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;e=o+8|0;c[e>>2]=c[e>>2]^j;c[n+4>>2]=c[(c[g>>2]|0)+16+4>>2]^c[o+4>>2];j=Tk(c[4576+(((c[n+8>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+8|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;e=n+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[n>>2]=c[n>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;c[n+8>>2]=c[(c[g>>2]|0)+16+8>>2]^c[o+8>>2];j=Tk(c[4576+(((c[n+12>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;e=n+8|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;e=n+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[n>>2]=c[n>>2]^j;c[n+12>>2]=c[(c[g>>2]|0)+16+12>>2]^c[o+12>>2];c[m>>2]=2;while(1){p=(c[n>>2]|0)>>>0&255;if((c[m>>2]|0)>=(c[l>>2]|0))break;c[o>>2]=Tk(c[4576+(p<<2)>>2]|0,0)|0;c[o+12>>2]=Tk(c[4576+(((c[n>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[o+8>>2]=Tk(c[4576+(((c[n>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[o+4>>2]=Tk(c[4576+(((c[n>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[n>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)>>2]^c[o>>2];j=Tk(c[4576+(((c[n+4>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[n>>2]=c[n>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;e=o+8|0;c[e>>2]=c[e>>2]^j;c[n+4>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+4>>2]^c[o+4>>2];j=Tk(c[4576+(((c[n+8>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+8|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;e=n+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[n>>2]=c[n>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;c[n+8>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+8>>2]^c[o+8>>2];j=Tk(c[4576+(((c[n+12>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;e=n+8|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;e=n+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[n>>2]=c[n>>2]^j;c[n+12>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+12>>2]^c[o+12>>2];c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=Tk(c[4576+(((c[n>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;c[o+12>>2]=Tk(c[4576+(((c[n>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[o+8>>2]=Tk(c[4576+(((c[n>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[o+4>>2]=Tk(c[4576+(((c[n>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[n>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)>>2]^c[o>>2];j=Tk(c[4576+(((c[n+4>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[n>>2]=c[n>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;e=o+8|0;c[e>>2]=c[e>>2]^j;c[n+4>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+4>>2]^c[o+4>>2];j=Tk(c[4576+(((c[n+8>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+8|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;e=n+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[n>>2]=c[n>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;c[n+8>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+8>>2]^c[o+8>>2];j=Tk(c[4576+(((c[n+12>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;e=n+8|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;e=n+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[n>>2]=c[n>>2]^j;c[n+12>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+12>>2]^c[o+12>>2];c[m>>2]=(c[m>>2]|0)+1}c[o>>2]=(d[(c[k>>2]|0)+(p<<2)>>0]|0)<<0;c[o+12>>2]=(d[(c[k>>2]|0)+(((c[n>>2]|0)>>>8&255)<<2)>>0]|0)<<8;c[o+8>>2]=(d[(c[k>>2]|0)+(((c[n>>2]|0)>>>16&255)<<2)>>0]|0)<<16;c[o+4>>2]=(d[(c[k>>2]|0)+(((c[n>>2]|0)>>>24&255)<<2)>>0]|0)<<24;c[n>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)>>2]^c[o>>2];p=o+4|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+4>>2]|0)>>>0&255)<<2)>>0]|0)<<0;c[n>>2]=c[n>>2]^(d[(c[k>>2]|0)+(((c[n+4>>2]|0)>>>8&255)<<2)>>0]|0)<<8;p=o+12|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+4>>2]|0)>>>16&255)<<2)>>0]|0)<<16;p=o+8|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+4>>2]|0)>>>24&255)<<2)>>0]|0)<<24;c[n+4>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+4>>2]^c[o+4>>2];p=o+8|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+8>>2]|0)>>>0&255)<<2)>>0]|0)<<0;p=n+4|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+8>>2]|0)>>>8&255)<<2)>>0]|0)<<8;c[n>>2]=c[n>>2]^(d[(c[k>>2]|0)+(((c[n+8>>2]|0)>>>16&255)<<2)>>0]|0)<<16;p=o+12|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+8>>2]|0)>>>24&255)<<2)>>0]|0)<<24;c[n+8>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+8>>2]^c[o+8>>2];p=o+12|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+12>>2]|0)>>>0&255)<<2)>>0]|0)<<0;p=n+8|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+12>>2]|0)>>>8&255)<<2)>>0]|0)<<8;p=n+4|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+12>>2]|0)>>>16&255)<<2)>>0]|0)<<16;c[n>>2]=c[n>>2]^(d[(c[k>>2]|0)+(((c[n+12>>2]|0)>>>24&255)<<2)>>0]|0)<<24;c[n+12>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+12>>2]^c[o+12>>2];gl(c[h>>2]|0,c[n>>2]|0);gl((c[h>>2]|0)+4|0,c[n+4>>2]|0);gl((c[h>>2]|0)+8|0,c[n+8>>2]|0);gl((c[h>>2]|0)+12|0,c[n+12>>2]|0);i=f;return 64}function fl(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];i=b;return (d[(c[f>>2]|0)+3>>0]|0)<<24|(d[(c[f>>2]|0)+2>>0]|0)<<16|(d[(c[f>>2]|0)+1>>0]|0)<<8|(d[c[f>>2]>>0]|0)|0}function gl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];a[(c[h>>2]|0)+3>>0]=(c[g>>2]|0)>>>24;a[(c[h>>2]|0)+2>>0]=(c[g>>2]|0)>>>16;a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)>>>8;a[c[h>>2]>>0]=c[g>>2];i=e;return}function hl(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=il(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function il(a,b,e){a=a|0;b=b|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+64|0;g=f+48|0;h=f+44|0;j=f+40|0;k=f+36|0;l=f+32|0;m=f+16|0;n=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=c[(c[g>>2]|0)+480>>2];c[n>>2]=fl(c[j>>2]|0)|0;c[n+4>>2]=fl((c[j>>2]|0)+4|0)|0;c[n+8>>2]=fl((c[j>>2]|0)+8|0)|0;c[n+12>>2]=fl((c[j>>2]|0)+12|0)|0;c[m>>2]=c[n>>2]^c[(c[g>>2]|0)+240+(c[k>>2]<<4)>>2];c[m+4>>2]=c[n+4>>2]^c[(c[g>>2]|0)+240+(c[k>>2]<<4)+4>>2];c[m+8>>2]=c[n+8>>2]^c[(c[g>>2]|0)+240+(c[k>>2]<<4)+8>>2];c[m+12>>2]=c[n+12>>2]^c[(c[g>>2]|0)+240+(c[k>>2]<<4)+12>>2];c[l>>2]=(c[k>>2]|0)-1;while(1){k=(c[l>>2]|0)>1;c[n>>2]=Tk(c[5600+(((c[m>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;c[n+4>>2]=Tk(c[5600+(((c[m>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[n+8>>2]=Tk(c[5600+(((c[m>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[n+12>>2]=Tk(c[5600+(((c[m>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;if(!k)break;c[m>>2]=c[(c[g>>2]|0)+240+(c[l>>2]<<4)>>2]^c[n>>2];k=Tk(c[5600+(((c[m+4>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;j=n+4|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+4>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;j=n+8|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+4>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;j=n+12|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+4>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[m>>2]=c[m>>2]^k;c[m+4>>2]=c[(c[g>>2]|0)+240+(c[l>>2]<<4)+4>>2]^c[n+4>>2];k=Tk(c[5600+(((c[m+8>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;j=n+8|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+8>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;j=n+12|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+8>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[m>>2]=c[m>>2]^k;k=Tk(c[5600+(((c[m+8>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;j=m+4|0;c[j>>2]=c[j>>2]^k;c[m+8>>2]=c[(c[g>>2]|0)+240+(c[l>>2]<<4)+8>>2]^c[n+8>>2];k=Tk(c[5600+(((c[m+12>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;j=n+12|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+12>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[m>>2]=c[m>>2]^k;k=Tk(c[5600+(((c[m+12>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;j=m+4|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+12>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;j=m+8|0;c[j>>2]=c[j>>2]^k;c[m+12>>2]=c[(c[g>>2]|0)+240+(c[l>>2]<<4)+12>>2]^c[n+12>>2];c[l>>2]=(c[l>>2]|0)+-1;c[n>>2]=Tk(c[5600+(((c[m>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;c[n+4>>2]=Tk(c[5600+(((c[m>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[n+8>>2]=Tk(c[5600+(((c[m>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[n+12>>2]=Tk(c[5600+(((c[m>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[m>>2]=c[(c[g>>2]|0)+240+(c[l>>2]<<4)>>2]^c[n>>2];k=Tk(c[5600+(((c[m+4>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;j=n+4|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+4>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;j=n+8|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+4>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;j=n+12|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+4>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[m>>2]=c[m>>2]^k;c[m+4>>2]=c[(c[g>>2]|0)+240+(c[l>>2]<<4)+4>>2]^c[n+4>>2];k=Tk(c[5600+(((c[m+8>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;j=n+8|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+8>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;j=n+12|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+8>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[m>>2]=c[m>>2]^k;k=Tk(c[5600+(((c[m+8>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;j=m+4|0;c[j>>2]=c[j>>2]^k;c[m+8>>2]=c[(c[g>>2]|0)+240+(c[l>>2]<<4)+8>>2]^c[n+8>>2];k=Tk(c[5600+(((c[m+12>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;j=n+12|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+12>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[m>>2]=c[m>>2]^k;k=Tk(c[5600+(((c[m+12>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;j=m+4|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+12>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;j=m+8|0;c[j>>2]=c[j>>2]^k;c[m+12>>2]=c[(c[g>>2]|0)+240+(c[l>>2]<<4)+12>>2]^c[n+12>>2];c[l>>2]=(c[l>>2]|0)+-1}c[m>>2]=c[(c[g>>2]|0)+240+16>>2]^c[n>>2];l=Tk(c[5600+(((c[m+4>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;k=n+4|0;c[k>>2]=c[k>>2]^l;l=Tk(c[5600+(((c[m+4>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;k=n+8|0;c[k>>2]=c[k>>2]^l;l=Tk(c[5600+(((c[m+4>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;k=n+12|0;c[k>>2]=c[k>>2]^l;l=Tk(c[5600+(((c[m+4>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[m>>2]=c[m>>2]^l;c[m+4>>2]=c[(c[g>>2]|0)+240+16+4>>2]^c[n+4>>2];l=Tk(c[5600+(((c[m+8>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;k=n+8|0;c[k>>2]=c[k>>2]^l;l=Tk(c[5600+(((c[m+8>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;k=n+12|0;c[k>>2]=c[k>>2]^l;l=Tk(c[5600+(((c[m+8>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[m>>2]=c[m>>2]^l;l=Tk(c[5600+(((c[m+8>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;k=m+4|0;c[k>>2]=c[k>>2]^l;c[m+8>>2]=c[(c[g>>2]|0)+240+16+8>>2]^c[n+8>>2];l=Tk(c[5600+(((c[m+12>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;k=n+12|0;c[k>>2]=c[k>>2]^l;l=Tk(c[5600+(((c[m+12>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[m>>2]=c[m>>2]^l;l=Tk(c[5600+(((c[m+12>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;k=m+4|0;c[k>>2]=c[k>>2]^l;l=Tk(c[5600+(((c[m+12>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;k=m+8|0;c[k>>2]=c[k>>2]^l;c[m+12>>2]=c[(c[g>>2]|0)+240+16+12>>2]^c[n+12>>2];c[n>>2]=(d[6624+((c[m>>2]|0)>>>0&255)>>0]|0)<<0;c[n+4>>2]=(d[6624+((c[m>>2]|0)>>>8&255)>>0]|0)<<8;c[n+8>>2]=(d[6624+((c[m>>2]|0)>>>16&255)>>0]|0)<<16;c[n+12>>2]=(d[6624+((c[m>>2]|0)>>>24&255)>>0]|0)<<24;c[m>>2]=c[n>>2]^c[(c[g>>2]|0)+240>>2];l=n+4|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+4>>2]|0)>>>0&255)>>0]|0)<<0;l=n+8|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+4>>2]|0)>>>8&255)>>0]|0)<<8;l=n+12|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+4>>2]|0)>>>16&255)>>0]|0)<<16;c[m>>2]=c[m>>2]^(d[6624+((c[m+4>>2]|0)>>>24&255)>>0]|0)<<24;c[m+4>>2]=c[n+4>>2]^c[(c[g>>2]|0)+240+4>>2];l=n+8|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+8>>2]|0)>>>0&255)>>0]|0)<<0;l=n+12|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+8>>2]|0)>>>8&255)>>0]|0)<<8;c[m>>2]=c[m>>2]^(d[6624+((c[m+8>>2]|0)>>>16&255)>>0]|0)<<16;l=m+4|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+8>>2]|0)>>>24&255)>>0]|0)<<24;c[m+8>>2]=c[n+8>>2]^c[(c[g>>2]|0)+240+8>>2];l=n+12|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+12>>2]|0)>>>0&255)>>0]|0)<<0;c[m>>2]=c[m>>2]^(d[6624+((c[m+12>>2]|0)>>>8&255)>>0]|0)<<8;l=m+4|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+12>>2]|0)>>>16&255)>>0]|0)<<16;l=m+8|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+12>>2]|0)>>>24&255)>>0]|0)<<24;c[m+12>>2]=c[n+12>>2]^c[(c[g>>2]|0)+240+12>>2];gl(c[h>>2]|0,c[m>>2]|0);gl((c[h>>2]|0)+4|0,c[m+4>>2]|0);gl((c[h>>2]|0)+8|0,c[m+8>>2]|0);gl((c[h>>2]|0)+12|0,c[m+12>>2]|0);i=f;return 64}function jl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;switch(c[f>>2]|0){case 7:{c[j>>2]=kl(c[g>>2]|0,c[h>>2]|0)|0;break}case 8:{c[j>>2]=ml(c[g>>2]|0,c[h>>2]|0)|0;break}case 9:{c[j>>2]=nl(c[g>>2]|0,c[h>>2]|0)|0;break}default:c[j>>2]=12}i=e;return c[j>>2]|0}function kl(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=49826;c[j>>2]=Lk()|0;do if(!(c[j>>2]|0)){if(c[f>>2]|0){c[h>>2]=38513;c[j>>2]=ll(2)|0;if(c[j>>2]|0)break;c[h>>2]=38630;c[j>>2]=ll(5)|0;if(c[j>>2]|0)break}c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}while(0);if(c[g>>2]|0)Fb[c[g>>2]&1](38634,7,c[h>>2]|0,c[j>>2]|0);c[e>>2]=50;k=c[e>>2]|0;i=d;return k|0}function ll(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,o=0;b=i;i=i+48|0;d=b+24|0;e=b+20|0;f=b+32|0;g=b+16|0;h=b+12|0;j=b+8|0;k=b+4|0;l=b;c[e>>2]=a;c[k>>2]=0;c[l>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>>>0>=2)break;if((c[7e3+((c[h>>2]|0)*164|0)>>2]|0)==(c[e>>2]|0))break;c[h>>2]=(c[h>>2]|0)+1}if((c[h>>2]|0)==2){fi(c[k>>2]|0);fi(c[l>>2]|0);c[d>>2]=38517;m=c[d>>2]|0;i=b;return m|0}c[g>>2]=ai(k,7,c[7e3+((c[h>>2]|0)*164|0)>>2]|0,0)|0;if(c[g>>2]|0){fi(c[k>>2]|0);fi(c[l>>2]|0);c[d>>2]=38544;m=c[d>>2]|0;i=b;return m|0}c[g>>2]=ai(l,7,c[7e3+((c[h>>2]|0)*164|0)>>2]|0,0)|0;e=c[k>>2]|0;if(c[g>>2]|0){fi(e);fi(c[l>>2]|0);c[d>>2]=38544;m=c[d>>2]|0;i=b;return m|0}c[g>>2]=ni(e,7e3+((c[h>>2]|0)*164|0)+4|0,16)|0;if(!(c[g>>2]|0))c[g>>2]=ni(c[l>>2]|0,7e3+((c[h>>2]|0)*164|0)+4|0,16)|0;e=c[k>>2]|0;if(c[g>>2]|0){fi(e);fi(c[l>>2]|0);c[d>>2]=38549;m=c[d>>2]|0;i=b;return m|0}c[g>>2]=pi(e,7e3+((c[h>>2]|0)*164|0)+20|0,16)|0;if(!(c[g>>2]|0))c[g>>2]=pi(c[l>>2]|0,7e3+((c[h>>2]|0)*164|0)+20|0,16)|0;if(c[g>>2]|0){fi(c[k>>2]|0);fi(c[l>>2]|0);c[d>>2]=38557;m=c[d>>2]|0;i=b;return m|0}c[j>>2]=0;while(1){n=c[k>>2]|0;if((c[j>>2]|0)>>>0>=4){o=30;break}c[g>>2]=gi(n,f,16,7e3+((c[h>>2]|0)*164|0)+36+(c[j>>2]<<5)|0,16)|0;if(c[g>>2]|0){o=22;break}if(mw(f,7e3+((c[h>>2]|0)*164|0)+36+(c[j>>2]<<5)+16|0,16)|0){o=24;break}c[g>>2]=ki(c[l>>2]|0,f,16,7e3+((c[h>>2]|0)*164|0)+36+(c[j>>2]<<5)+16|0,16)|0;if(c[g>>2]|0){o=26;break}if(mw(f,7e3+((c[h>>2]|0)*164|0)+36+(c[j>>2]<<5)|0,16)|0){o=28;break}c[j>>2]=(c[j>>2]|0)+1}if((o|0)==22){fi(c[k>>2]|0);fi(c[l>>2]|0);c[d>>2]=38564;m=c[d>>2]|0;i=b;return m|0}else if((o|0)==24){fi(c[k>>2]|0);fi(c[l>>2]|0);c[d>>2]=38580;m=c[d>>2]|0;i=b;return m|0}else if((o|0)==26){fi(c[k>>2]|0);fi(c[l>>2]|0);c[d>>2]=38597;m=c[d>>2]|0;i=b;return m|0}else if((o|0)==28){fi(c[k>>2]|0);fi(c[l>>2]|0);c[d>>2]=38613;m=c[d>>2]|0;i=b;return m|0}else if((o|0)==30){fi(n);fi(c[l>>2]|0);c[d>>2]=0;m=c[d>>2]|0;i=b;return m|0}return 0}function ml(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+32|0;e=d+16|0;f=d+8|0;g=d+4|0;h=d;c[d+12>>2]=a;c[f>>2]=b;c[g>>2]=49826;c[h>>2]=Uk()|0;if(!(c[h>>2]|0)){c[e>>2]=0;j=c[e>>2]|0;i=d;return j|0}if(c[f>>2]|0)Fb[c[f>>2]&1](38634,8,c[g>>2]|0,c[h>>2]|0);c[e>>2]=50;j=c[e>>2]|0;i=d;return j|0}function nl(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+32|0;e=d+16|0;f=d+8|0;g=d+4|0;h=d;c[d+12>>2]=a;c[f>>2]=b;c[g>>2]=49826;c[h>>2]=Vk()|0;if(!(c[h>>2]|0)){c[e>>2]=0;j=c[e>>2]|0;i=d;return j|0}if(c[f>>2]|0)Fb[c[f>>2]&1](38634,9,c[g>>2]|0,c[h>>2]|0);c[e>>2]=50;j=c[e>>2]|0;i=d;return j|0}function ol(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;g=i;i=i+48|0;h=g+36|0;j=g+32|0;k=g+28|0;l=g+24|0;m=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;q=g+4|0;r=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[h>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[q>>2]=0;if(c[(c[n>>2]|0)+496>>2]|0)Bb[c[(c[n>>2]|0)+496>>2]&3]();c[r>>2]=c[(c[n>>2]|0)+488>>2];while(1){if(!(c[m>>2]|0))break;c[q>>2]=vb[c[r>>2]&63](c[n>>2]|0,c[j>>2]|0,c[j>>2]|0)|0;pl(c[o>>2]|0,c[j>>2]|0,c[p>>2]|0,16);c[o>>2]=(c[o>>2]|0)+16;c[p>>2]=(c[p>>2]|0)+16;c[m>>2]=(c[m>>2]|0)+-1}if(!(c[q>>2]|0)){i=g;return}If((c[q>>2]|0)+16|0);Jf();i=g;return}function pl(b,e,f,g){b=b|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+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[p>>2]|c[n>>2]|c[o>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[s>>2]|0;c[s>>2]=l+4;k=c[l>>2]|0;l=c[r>>2]|0;c[r>>2]=l+4;j=c[l>>2]^k;c[l>>2]=j;l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[p>>2]|0;c[p>>2]=s+1;r=d[s>>0]|0;s=c[o>>2]|0;c[o>>2]=s+1;q=((d[s>>0]|0)^r)&255;a[s>>0]=q;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function ql(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,s=0,t=0,u=0;h=i;i=i+48|0;j=h+44|0;k=h+40|0;l=h+36|0;m=h+32|0;n=h+28|0;o=h+24|0;p=h+20|0;q=h+16|0;r=h+12|0;s=h+8|0;t=h+4|0;u=h;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=c[j>>2];c[q>>2]=c[l>>2];c[r>>2]=c[m>>2];c[t>>2]=0;if(c[(c[p>>2]|0)+496>>2]|0)Bb[c[(c[p>>2]|0)+496>>2]&3]();c[u>>2]=c[(c[p>>2]|0)+488>>2];c[s>>2]=c[k>>2];while(1){if(!(c[n>>2]|0))break;Yk(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,16);c[t>>2]=vb[c[u>>2]&63](c[p>>2]|0,c[q>>2]|0,c[q>>2]|0)|0;c[s>>2]=c[q>>2];c[r>>2]=(c[r>>2]|0)+16;if(!(c[o>>2]|0))c[q>>2]=(c[q>>2]|0)+16;c[n>>2]=(c[n>>2]|0)+-1}if((c[s>>2]|0)!=(c[k>>2]|0))rl(c[k>>2]|0,c[s>>2]|0,16);if(!(c[t>>2]|0)){i=h;return}If((c[t>>2]|0)+16|0);Jf();i=h;return}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;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[f>>2]=3;if(!((c[k>>2]|c[l>>2])&3)){c[m>>2]=c[k>>2];c[n>>2]=c[l>>2];while(1){if((c[j>>2]|0)>>>0<4)break;h=c[n>>2]|0;c[n>>2]=h+4;g=c[h>>2]|0;h=c[m>>2]|0;c[m>>2]=h+4;c[h>>2]=g;c[j>>2]=(c[j>>2]|0)-4}c[k>>2]=c[m>>2];c[l>>2]=c[n>>2]}while(1){if(!(c[j>>2]|0))break;n=c[l>>2]|0;c[l>>2]=n+1;m=a[n>>0]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[n>>0]=m;c[j>>2]=(c[j>>2]|0)+-1}i=f;return}function sl(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;g=i;i=i+112|0;h=g+104|0;j=g+100|0;k=g+96|0;l=g+92|0;m=g+88|0;n=g+84|0;o=g+80|0;p=g+76|0;q=g+72|0;r=g+16|0;s=g+68|0;t=g+40|0;u=g+64|0;v=g+60|0;w=g;x=g+56|0;y=g+32|0;z=g+52|0;A=g+48|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=(c[h>>2]|0)+496;c[o>>2]=c[j>>2];c[p>>2]=c[k>>2];c[q>>2]=0;k=c[n>>2]|0;if(c[m>>2]|0){if(c[k+496>>2]|0)Bb[c[(c[n>>2]|0)+496>>2]&3]()}else{Ok(k);if(c[(c[n>>2]|0)+500>>2]|0)Bb[c[(c[n>>2]|0)+500>>2]&3]()}k=c[n>>2]|0;a:do if(c[m>>2]|0){c[s>>2]=c[k+488>>2];while(1){if(!(c[l>>2]|0))break a;j=(c[h>>2]|0)+128+336|0;f=j;e=Ax(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;f=C;d=j;c[d>>2]=e;c[d+4>>2]=f;d=t;c[d>>2]=e;c[d+4>>2]=f;f=t;c[u>>2]=tl(c[f>>2]|0,c[f+4>>2]|0)|0;if((c[u>>2]|0)>>>0<16)c[v>>2]=(c[h>>2]|0)+128+32+(c[u>>2]<<4);else{f=t;c[v>>2]=yr(c[h>>2]|0,r,c[f>>2]|0,c[f+4>>2]|0)|0}vl((c[h>>2]|0)+64|0,c[v>>2]|0,16);rl(r,c[p>>2]|0,16);vl((c[h>>2]|0)+80|0,r,16);vl(r,(c[h>>2]|0)+64|0,16);c[q>>2]=vb[c[s>>2]&63](c[n>>2]|0,r,r)|0;vl(r,(c[h>>2]|0)+64|0,16);rl(c[o>>2]|0,r,16);c[p>>2]=(c[p>>2]|0)+16;c[o>>2]=(c[o>>2]|0)+16;c[l>>2]=(c[l>>2]|0)+-1}}else{c[x>>2]=c[k+492>>2];while(1){if(!(c[l>>2]|0))break a;f=(c[h>>2]|0)+128+336|0;d=f;e=Ax(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;d=C;j=f;c[j>>2]=e;c[j+4>>2]=d;j=y;c[j>>2]=e;c[j+4>>2]=d;d=y;c[z>>2]=tl(c[d>>2]|0,c[d+4>>2]|0)|0;if((c[z>>2]|0)>>>0<16)c[A>>2]=(c[h>>2]|0)+128+32+(c[z>>2]<<4);else{d=y;c[A>>2]=yr(c[h>>2]|0,w,c[d>>2]|0,c[d+4>>2]|0)|0}vl((c[h>>2]|0)+64|0,c[A>>2]|0,16);rl(w,c[p>>2]|0,16);vl(w,(c[h>>2]|0)+64|0,16);c[q>>2]=vb[c[x>>2]&63](c[n>>2]|0,w,w)|0;vl(w,(c[h>>2]|0)+64|0,16);vl((c[h>>2]|0)+80|0,w,16);rl(c[o>>2]|0,w,16);c[p>>2]=(c[p>>2]|0)+16;c[o>>2]=(c[o>>2]|0)+16;c[l>>2]=(c[l>>2]|0)+-1}}while(0);if(!(c[q>>2]|0)){i=g;return}If((c[q>>2]|0)+16|0);Jf();i=g;return}function tl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d;g=f;c[g>>2]=a;c[g+4>>2]=b;b=f;g=c[b+4>>2]|0;if((c[f>>2]|0)!=0|0!=0){c[e>>2]=ul(c[b>>2]|0)|0;h=c[e>>2]|0;i=d;return h|0}else{c[e>>2]=32+(ul(g)|0);h=c[e>>2]|0;i=d;return h|0}return 0}function ul(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)!=0;e=Gx(c[d>>2]|0)|0;i=b;return (a?e:32)|0}function vl(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;g=i;i=i+32|0;h=g+28|0;j=g+24|0;k=g+20|0;l=g+16|0;m=g+12|0;n=g+8|0;o=g+4|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[h>>2];c[m>>2]=c[j>>2];c[g>>2]=3;if(!((c[l>>2]|c[m>>2])&3)){c[n>>2]=c[l>>2];c[o>>2]=c[m>>2];while(1){if((c[k>>2]|0)>>>0<4)break;j=c[o>>2]|0;c[o>>2]=j+4;h=c[j>>2]|0;j=c[n>>2]|0;c[n>>2]=j+4;c[j>>2]=c[j>>2]^h;c[k>>2]=(c[k>>2]|0)-4}c[l>>2]=c[n>>2];c[m>>2]=c[o>>2]}while(1){if(!(c[k>>2]|0))break;o=c[m>>2]|0;c[m>>2]=o+1;n=d[o>>0]|0;o=c[l>>2]|0;c[l>>2]=o+1;a[o>>0]=(d[o>>0]|0)^n;c[k>>2]=(c[k>>2]|0)+-1}i=g;return}function wl(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;g=i;i=i+96|0;h=g+76|0;j=g+72|0;k=g+68|0;l=g+64|0;m=g+60|0;n=g+56|0;o=g;p=g+52|0;q=g+24|0;r=g+48|0;s=g+44|0;t=g+40|0;u=g+36|0;v=g+80|0;w=g+16|0;x=g+32|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=(c[h>>2]|0)+496;c[m>>2]=c[j>>2];c[n>>2]=0;if(c[(c[l>>2]|0)+496>>2]|0)Bb[c[(c[l>>2]|0)+496>>2]&3]();c[p>>2]=c[(c[l>>2]|0)+488>>2];while(1){if(!(c[k>>2]|0))break;j=(c[h>>2]|0)+128+344|0;f=j;e=Ax(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;f=C;b=j;c[b>>2]=e;c[b+4>>2]=f;b=q;c[b>>2]=e;c[b+4>>2]=f;f=q;c[r>>2]=tl(c[f>>2]|0,c[f+4>>2]|0)|0;if((c[r>>2]|0)>>>0<16)c[s>>2]=(c[h>>2]|0)+128+32+(c[r>>2]<<4);else{f=q;c[s>>2]=yr(c[h>>2]|0,o,c[f>>2]|0,c[f+4>>2]|0)|0}vl((c[h>>2]|0)+128+304|0,c[s>>2]|0,16);Yk(o,(c[h>>2]|0)+128+304|0,c[m>>2]|0,16);c[n>>2]=vb[c[p>>2]&63](c[l>>2]|0,o,o)|0;vl((c[h>>2]|0)+128+320|0,o,16);c[m>>2]=(c[m>>2]|0)+16;c[k>>2]=(c[k>>2]|0)+-1}c[t>>2]=o;c[u>>2]=16;a[v>>0]=0;o=w;c[o>>2]=d[v>>0];c[o+4>>2]=0;while(1){if(!((c[t>>2]&7|0)!=0?(c[u>>2]|0)!=0:0))break;a[c[t>>2]>>0]=a[v>>0]|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+-1}if((c[u>>2]|0)>>>0>=8){o=w;k=Mx(c[o>>2]|0,c[o+4>>2]|0,16843009,16843009)|0;o=w;c[o>>2]=k;c[o+4>>2]=C;do{c[x>>2]=c[t>>2];o=w;k=c[o+4>>2]|0;m=c[x>>2]|0;c[m>>2]=c[o>>2];c[m+4>>2]=k;c[u>>2]=(c[u>>2]|0)-8;c[t>>2]=(c[t>>2]|0)+8}while((c[u>>2]|0)>>>0>=8)}while(1){if(!(c[u>>2]|0))break;a[c[t>>2]>>0]=a[v>>0]|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+-1}if(!(c[n>>2]|0)){i=g;return}If((c[n>>2]|0)+16|0);Jf();i=g;return}function xl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+8|0;f=d;c[e>>2]=a;c[d+4>>2]=b;c[f>>2]=c[e>>2];c[(c[f>>2]|0)+160>>2]=1732584193;c[(c[f>>2]|0)+164>>2]=-271733879;c[(c[f>>2]|0)+168>>2]=-1732584194;c[(c[f>>2]|0)+172>>2]=271733878;c[(c[f>>2]|0)+176>>2]=-1009589776;e=(c[f>>2]|0)+128|0;c[e>>2]=0;c[e+4>>2]=0;e=(c[f>>2]|0)+136|0;c[e>>2]=0;c[e+4>>2]=0;c[(c[f>>2]|0)+144>>2]=0;c[(c[f>>2]|0)+148>>2]=64;c[(c[f>>2]|0)+152>>2]=31;i=d;return}function yl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;do{c[j>>2]=zl(c[f>>2]|0,c[g>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+64;d=(c[h>>2]|0)+-1|0;c[h>>2]=d}while((d|0)!=0);i=e;return c[j>>2]|0}function zl(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+128|0;e=d+120|0;f=d+116|0;g=d+112|0;h=d+108|0;j=d+104|0;k=d+100|0;l=d+96|0;m=d+92|0;n=d+88|0;o=d+84|0;p=d+80|0;q=d+76|0;r=d+72|0;s=d+8|0;t=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[e>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=16)break;e=Al((c[f>>2]|0)+(c[t>>2]<<2)|0)|0;c[s+(c[t>>2]<<2)>>2]=e;c[t>>2]=(c[t>>2]|0)+1}t=c[(c[g>>2]|0)+160>>2]|0;c[j>>2]=t;c[h>>2]=t;t=c[(c[g>>2]|0)+164>>2]|0;c[l>>2]=t;c[k>>2]=t;t=c[(c[g>>2]|0)+168>>2]|0;c[n>>2]=t;c[m>>2]=t;t=c[(c[g>>2]|0)+172>>2]|0;c[p>>2]=t;c[o>>2]=t;t=c[(c[g>>2]|0)+176>>2]|0;c[r>>2]=t;c[q>>2]=t;c[h>>2]=(c[h>>2]|0)+((c[k>>2]^c[m>>2]^c[o>>2])+0+(c[s>>2]|0));t=Bl(c[h>>2]|0,11)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]^(c[n>>2]|~c[p>>2]))+1352829926+(c[s+20>>2]|0));t=Bl(c[j>>2]|0,8)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]^c[k>>2]^c[m>>2])+0+(c[s+4>>2]|0));t=Bl(c[q>>2]|0,14)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]^(c[l>>2]|~c[n>>2]))+1352829926+(c[s+56>>2]|0));t=Bl(c[r>>2]|0,9)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]^c[h>>2]^c[k>>2])+0+(c[s+8>>2]|0));t=Bl(c[o>>2]|0,15)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]^(c[j>>2]|~c[l>>2]))+1352829926+(c[s+28>>2]|0));t=Bl(c[p>>2]|0,9)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]^c[q>>2]^c[h>>2])+0+(c[s+12>>2]|0));t=Bl(c[m>>2]|0,12)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]^(c[r>>2]|~c[j>>2]))+1352829926+(c[s>>2]|0));t=Bl(c[n>>2]|0,11)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^c[o>>2]^c[q>>2])+0+(c[s+16>>2]|0));t=Bl(c[k>>2]|0,5)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^(c[p>>2]|~c[r>>2]))+1352829926+(c[s+36>>2]|0));t=Bl(c[l>>2]|0,13)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]^c[m>>2]^c[o>>2])+0+(c[s+20>>2]|0));t=Bl(c[h>>2]|0,8)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]^(c[n>>2]|~c[p>>2]))+1352829926+(c[s+8>>2]|0));t=Bl(c[j>>2]|0,15)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]^c[k>>2]^c[m>>2])+0+(c[s+24>>2]|0));t=Bl(c[q>>2]|0,7)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]^(c[l>>2]|~c[n>>2]))+1352829926+(c[s+44>>2]|0));t=Bl(c[r>>2]|0,15)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]^c[h>>2]^c[k>>2])+0+(c[s+28>>2]|0));t=Bl(c[o>>2]|0,9)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]^(c[j>>2]|~c[l>>2]))+1352829926+(c[s+16>>2]|0));t=Bl(c[p>>2]|0,5)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]^c[q>>2]^c[h>>2])+0+(c[s+32>>2]|0));t=Bl(c[m>>2]|0,11)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]^(c[r>>2]|~c[j>>2]))+1352829926+(c[s+52>>2]|0));t=Bl(c[n>>2]|0,7)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^c[o>>2]^c[q>>2])+0+(c[s+36>>2]|0));t=Bl(c[k>>2]|0,13)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^(c[p>>2]|~c[r>>2]))+1352829926+(c[s+24>>2]|0));t=Bl(c[l>>2]|0,7)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]^c[m>>2]^c[o>>2])+0+(c[s+40>>2]|0));t=Bl(c[h>>2]|0,14)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]^(c[n>>2]|~c[p>>2]))+1352829926+(c[s+60>>2]|0));t=Bl(c[j>>2]|0,8)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]^c[k>>2]^c[m>>2])+0+(c[s+44>>2]|0));t=Bl(c[q>>2]|0,15)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]^(c[l>>2]|~c[n>>2]))+1352829926+(c[s+32>>2]|0));t=Bl(c[r>>2]|0,11)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]^c[h>>2]^c[k>>2])+0+(c[s+48>>2]|0));t=Bl(c[o>>2]|0,6)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]^(c[j>>2]|~c[l>>2]))+1352829926+(c[s+4>>2]|0));t=Bl(c[p>>2]|0,14)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]^c[q>>2]^c[h>>2])+0+(c[s+52>>2]|0));t=Bl(c[m>>2]|0,7)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]^(c[r>>2]|~c[j>>2]))+1352829926+(c[s+40>>2]|0));t=Bl(c[n>>2]|0,14)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^c[o>>2]^c[q>>2])+0+(c[s+56>>2]|0));t=Bl(c[k>>2]|0,9)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^(c[p>>2]|~c[r>>2]))+1352829926+(c[s+12>>2]|0));t=Bl(c[l>>2]|0,12)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]^c[m>>2]^c[o>>2])+0+(c[s+60>>2]|0));t=Bl(c[h>>2]|0,8)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]^(c[n>>2]|~c[p>>2]))+1352829926+(c[s+48>>2]|0));t=Bl(c[j>>2]|0,6)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]&c[k>>2]|~c[h>>2]&c[m>>2])+1518500249+(c[s+28>>2]|0));t=Bl(c[q>>2]|0,7)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]&c[n>>2]|c[l>>2]&~c[n>>2])+1548603684+(c[s+24>>2]|0));t=Bl(c[r>>2]|0,9)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]&c[h>>2]|~c[q>>2]&c[k>>2])+1518500249+(c[s+16>>2]|0));t=Bl(c[o>>2]|0,6)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]&c[l>>2]|c[j>>2]&~c[l>>2])+1548603684+(c[s+44>>2]|0));t=Bl(c[p>>2]|0,13)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[q>>2]|~c[o>>2]&c[h>>2])+1518500249+(c[s+52>>2]|0));t=Bl(c[m>>2]|0,8)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[j>>2]|c[r>>2]&~c[j>>2])+1548603684+(c[s+12>>2]|0));t=Bl(c[n>>2]|0,15)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]&c[o>>2]|~c[m>>2]&c[q>>2])+1518500249+(c[s+4>>2]|0));t=Bl(c[k>>2]|0,13)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]&c[r>>2]|c[p>>2]&~c[r>>2])+1548603684+(c[s+28>>2]|0));t=Bl(c[l>>2]|0,7)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]&c[m>>2]|~c[k>>2]&c[o>>2])+1518500249+(c[s+40>>2]|0));t=Bl(c[h>>2]|0,11)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]&c[p>>2]|c[n>>2]&~c[p>>2])+1548603684+(c[s>>2]|0));t=Bl(c[j>>2]|0,12)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]&c[k>>2]|~c[h>>2]&c[m>>2])+1518500249+(c[s+24>>2]|0));t=Bl(c[q>>2]|0,9)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]&c[n>>2]|c[l>>2]&~c[n>>2])+1548603684+(c[s+52>>2]|0));t=Bl(c[r>>2]|0,8)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]&c[h>>2]|~c[q>>2]&c[k>>2])+1518500249+(c[s+60>>2]|0));t=Bl(c[o>>2]|0,7)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]&c[l>>2]|c[j>>2]&~c[l>>2])+1548603684+(c[s+20>>2]|0));t=Bl(c[p>>2]|0,9)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[q>>2]|~c[o>>2]&c[h>>2])+1518500249+(c[s+12>>2]|0));t=Bl(c[m>>2]|0,15)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[j>>2]|c[r>>2]&~c[j>>2])+1548603684+(c[s+40>>2]|0));t=Bl(c[n>>2]|0,11)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]&c[o>>2]|~c[m>>2]&c[q>>2])+1518500249+(c[s+48>>2]|0));t=Bl(c[k>>2]|0,7)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]&c[r>>2]|c[p>>2]&~c[r>>2])+1548603684+(c[s+56>>2]|0));t=Bl(c[l>>2]|0,7)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]&c[m>>2]|~c[k>>2]&c[o>>2])+1518500249+(c[s>>2]|0));t=Bl(c[h>>2]|0,12)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]&c[p>>2]|c[n>>2]&~c[p>>2])+1548603684+(c[s+60>>2]|0));t=Bl(c[j>>2]|0,7)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]&c[k>>2]|~c[h>>2]&c[m>>2])+1518500249+(c[s+36>>2]|0));t=Bl(c[q>>2]|0,15)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]&c[n>>2]|c[l>>2]&~c[n>>2])+1548603684+(c[s+32>>2]|0));t=Bl(c[r>>2]|0,12)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]&c[h>>2]|~c[q>>2]&c[k>>2])+1518500249+(c[s+20>>2]|0));t=Bl(c[o>>2]|0,9)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]&c[l>>2]|c[j>>2]&~c[l>>2])+1548603684+(c[s+48>>2]|0));t=Bl(c[p>>2]|0,7)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[q>>2]|~c[o>>2]&c[h>>2])+1518500249+(c[s+8>>2]|0));t=Bl(c[m>>2]|0,11)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[j>>2]|c[r>>2]&~c[j>>2])+1548603684+(c[s+16>>2]|0));t=Bl(c[n>>2]|0,6)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]&c[o>>2]|~c[m>>2]&c[q>>2])+1518500249+(c[s+56>>2]|0));t=Bl(c[k>>2]|0,7)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]&c[r>>2]|c[p>>2]&~c[r>>2])+1548603684+(c[s+36>>2]|0));t=Bl(c[l>>2]|0,15)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]&c[m>>2]|~c[k>>2]&c[o>>2])+1518500249+(c[s+44>>2]|0));t=Bl(c[h>>2]|0,13)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]&c[p>>2]|c[n>>2]&~c[p>>2])+1548603684+(c[s+4>>2]|0));t=Bl(c[j>>2]|0,13)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]&c[k>>2]|~c[h>>2]&c[m>>2])+1518500249+(c[s+32>>2]|0));t=Bl(c[q>>2]|0,12)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]&c[n>>2]|c[l>>2]&~c[n>>2])+1548603684+(c[s+8>>2]|0));t=Bl(c[r>>2]|0,11)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+(((c[q>>2]|~c[h>>2])^c[k>>2])+1859775393+(c[s+12>>2]|0));t=Bl(c[o>>2]|0,11)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+(((c[r>>2]|~c[j>>2])^c[l>>2])+1836072691+(c[s+60>>2]|0));t=Bl(c[p>>2]|0,9)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+(((c[o>>2]|~c[q>>2])^c[h>>2])+1859775393+(c[s+40>>2]|0));t=Bl(c[m>>2]|0,13)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+(((c[p>>2]|~c[r>>2])^c[j>>2])+1836072691+(c[s+20>>2]|0));t=Bl(c[n>>2]|0,7)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+(((c[m>>2]|~c[o>>2])^c[q>>2])+1859775393+(c[s+56>>2]|0));t=Bl(c[k>>2]|0,6)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+(((c[n>>2]|~c[p>>2])^c[r>>2])+1836072691+(c[s+4>>2]|0));t=Bl(c[l>>2]|0,15)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+(((c[k>>2]|~c[m>>2])^c[o>>2])+1859775393+(c[s+16>>2]|0));t=Bl(c[h>>2]|0,7)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+(((c[l>>2]|~c[n>>2])^c[p>>2])+1836072691+(c[s+12>>2]|0));t=Bl(c[j>>2]|0,11)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+(((c[h>>2]|~c[k>>2])^c[m>>2])+1859775393+(c[s+36>>2]|0));t=Bl(c[q>>2]|0,14)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+(((c[j>>2]|~c[l>>2])^c[n>>2])+1836072691+(c[s+28>>2]|0));t=Bl(c[r>>2]|0,8)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+(((c[q>>2]|~c[h>>2])^c[k>>2])+1859775393+(c[s+60>>2]|0));t=Bl(c[o>>2]|0,9)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+(((c[r>>2]|~c[j>>2])^c[l>>2])+1836072691+(c[s+56>>2]|0));t=Bl(c[p>>2]|0,6)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+(((c[o>>2]|~c[q>>2])^c[h>>2])+1859775393+(c[s+32>>2]|0));t=Bl(c[m>>2]|0,13)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+(((c[p>>2]|~c[r>>2])^c[j>>2])+1836072691+(c[s+24>>2]|0));t=Bl(c[n>>2]|0,6)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+(((c[m>>2]|~c[o>>2])^c[q>>2])+1859775393+(c[s+4>>2]|0));t=Bl(c[k>>2]|0,15)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+(((c[n>>2]|~c[p>>2])^c[r>>2])+1836072691+(c[s+36>>2]|0));t=Bl(c[l>>2]|0,14)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+(((c[k>>2]|~c[m>>2])^c[o>>2])+1859775393+(c[s+8>>2]|0));t=Bl(c[h>>2]|0,14)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+(((c[l>>2]|~c[n>>2])^c[p>>2])+1836072691+(c[s+44>>2]|0));t=Bl(c[j>>2]|0,12)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+(((c[h>>2]|~c[k>>2])^c[m>>2])+1859775393+(c[s+28>>2]|0));t=Bl(c[q>>2]|0,8)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+(((c[j>>2]|~c[l>>2])^c[n>>2])+1836072691+(c[s+32>>2]|0));t=Bl(c[r>>2]|0,13)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+(((c[q>>2]|~c[h>>2])^c[k>>2])+1859775393+(c[s>>2]|0));t=Bl(c[o>>2]|0,13)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+(((c[r>>2]|~c[j>>2])^c[l>>2])+1836072691+(c[s+48>>2]|0));t=Bl(c[p>>2]|0,5)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+(((c[o>>2]|~c[q>>2])^c[h>>2])+1859775393+(c[s+24>>2]|0));t=Bl(c[m>>2]|0,6)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+(((c[p>>2]|~c[r>>2])^c[j>>2])+1836072691+(c[s+8>>2]|0));t=Bl(c[n>>2]|0,14)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+(((c[m>>2]|~c[o>>2])^c[q>>2])+1859775393+(c[s+52>>2]|0));t=Bl(c[k>>2]|0,5)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+(((c[n>>2]|~c[p>>2])^c[r>>2])+1836072691+(c[s+40>>2]|0));t=Bl(c[l>>2]|0,13)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+(((c[k>>2]|~c[m>>2])^c[o>>2])+1859775393+(c[s+44>>2]|0));t=Bl(c[h>>2]|0,12)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+(((c[l>>2]|~c[n>>2])^c[p>>2])+1836072691+(c[s>>2]|0));t=Bl(c[j>>2]|0,13)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+(((c[h>>2]|~c[k>>2])^c[m>>2])+1859775393+(c[s+20>>2]|0));t=Bl(c[q>>2]|0,7)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+(((c[j>>2]|~c[l>>2])^c[n>>2])+1836072691+(c[s+16>>2]|0));t=Bl(c[r>>2]|0,7)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+(((c[q>>2]|~c[h>>2])^c[k>>2])+1859775393+(c[s+48>>2]|0));t=Bl(c[o>>2]|0,5)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+(((c[r>>2]|~c[j>>2])^c[l>>2])+1836072691+(c[s+52>>2]|0));t=Bl(c[p>>2]|0,5)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[h>>2]|c[q>>2]&~c[h>>2])+-1894007588+(c[s+4>>2]|0));t=Bl(c[m>>2]|0,11)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[r>>2]|~c[p>>2]&c[j>>2])+2053994217+(c[s+32>>2]|0));t=Bl(c[n>>2]|0,15)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]&c[q>>2]|c[o>>2]&~c[q>>2])+-1894007588+(c[s+36>>2]|0));t=Bl(c[k>>2]|0,12)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]&c[p>>2]|~c[n>>2]&c[r>>2])+2053994217+(c[s+24>>2]|0));t=Bl(c[l>>2]|0,5)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]&c[o>>2]|c[m>>2]&~c[o>>2])+-1894007588+(c[s+44>>2]|0));t=Bl(c[h>>2]|0,14)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]&c[n>>2]|~c[l>>2]&c[p>>2])+2053994217+(c[s+16>>2]|0));t=Bl(c[j>>2]|0,8)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]&c[m>>2]|c[k>>2]&~c[m>>2])+-1894007588+(c[s+40>>2]|0));t=Bl(c[q>>2]|0,15)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]&c[l>>2]|~c[j>>2]&c[n>>2])+2053994217+(c[s+4>>2]|0));t=Bl(c[r>>2]|0,11)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]&c[k>>2]|c[h>>2]&~c[k>>2])+-1894007588+(c[s>>2]|0));t=Bl(c[o>>2]|0,14)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]&c[j>>2]|~c[r>>2]&c[l>>2])+2053994217+(c[s+12>>2]|0));t=Bl(c[p>>2]|0,14)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[h>>2]|c[q>>2]&~c[h>>2])+-1894007588+(c[s+32>>2]|0));t=Bl(c[m>>2]|0,15)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[r>>2]|~c[p>>2]&c[j>>2])+2053994217+(c[s+44>>2]|0));t=Bl(c[n>>2]|0,14)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]&c[q>>2]|c[o>>2]&~c[q>>2])+-1894007588+(c[s+48>>2]|0));t=Bl(c[k>>2]|0,9)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]&c[p>>2]|~c[n>>2]&c[r>>2])+2053994217+(c[s+60>>2]|0));t=Bl(c[l>>2]|0,6)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]&c[o>>2]|c[m>>2]&~c[o>>2])+-1894007588+(c[s+16>>2]|0));t=Bl(c[h>>2]|0,8)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]&c[n>>2]|~c[l>>2]&c[p>>2])+2053994217+(c[s>>2]|0));t=Bl(c[j>>2]|0,14)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]&c[m>>2]|c[k>>2]&~c[m>>2])+-1894007588+(c[s+52>>2]|0));t=Bl(c[q>>2]|0,9)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]&c[l>>2]|~c[j>>2]&c[n>>2])+2053994217+(c[s+20>>2]|0));t=Bl(c[r>>2]|0,6)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]&c[k>>2]|c[h>>2]&~c[k>>2])+-1894007588+(c[s+12>>2]|0));t=Bl(c[o>>2]|0,14)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]&c[j>>2]|~c[r>>2]&c[l>>2])+2053994217+(c[s+48>>2]|0));t=Bl(c[p>>2]|0,9)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[h>>2]|c[q>>2]&~c[h>>2])+-1894007588+(c[s+28>>2]|0));t=Bl(c[m>>2]|0,5)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[r>>2]|~c[p>>2]&c[j>>2])+2053994217+(c[s+8>>2]|0));t=Bl(c[n>>2]|0,12)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]&c[q>>2]|c[o>>2]&~c[q>>2])+-1894007588+(c[s+60>>2]|0));t=Bl(c[k>>2]|0,6)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]&c[p>>2]|~c[n>>2]&c[r>>2])+2053994217+(c[s+52>>2]|0));t=Bl(c[l>>2]|0,9)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]&c[o>>2]|c[m>>2]&~c[o>>2])+-1894007588+(c[s+56>>2]|0));t=Bl(c[h>>2]|0,8)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]&c[n>>2]|~c[l>>2]&c[p>>2])+2053994217+(c[s+36>>2]|0));t=Bl(c[j>>2]|0,12)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]&c[m>>2]|c[k>>2]&~c[m>>2])+-1894007588+(c[s+20>>2]|0));t=Bl(c[q>>2]|0,6)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]&c[l>>2]|~c[j>>2]&c[n>>2])+2053994217+(c[s+28>>2]|0));t=Bl(c[r>>2]|0,5)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]&c[k>>2]|c[h>>2]&~c[k>>2])+-1894007588+(c[s+24>>2]|0));t=Bl(c[o>>2]|0,5)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]&c[j>>2]|~c[r>>2]&c[l>>2])+2053994217+(c[s+40>>2]|0));t=Bl(c[p>>2]|0,15)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[h>>2]|c[q>>2]&~c[h>>2])+-1894007588+(c[s+8>>2]|0));t=Bl(c[m>>2]|0,12)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[r>>2]|~c[p>>2]&c[j>>2])+2053994217+(c[s+56>>2]|0));t=Bl(c[n>>2]|0,8)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^(c[o>>2]|~c[q>>2]))+-1454113458+(c[s+16>>2]|0));t=Bl(c[k>>2]|0,9)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^c[p>>2]^c[r>>2])+0+(c[s+48>>2]|0));t=Bl(c[l>>2]|0,8)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]^(c[m>>2]|~c[o>>2]))+-1454113458+(c[s>>2]|0));t=Bl(c[h>>2]|0,15)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]^c[n>>2]^c[p>>2])+0+(c[s+60>>2]|0));t=Bl(c[j>>2]|0,5)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]^(c[k>>2]|~c[m>>2]))+-1454113458+(c[s+20>>2]|0));t=Bl(c[q>>2]|0,5)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]^c[l>>2]^c[n>>2])+0+(c[s+40>>2]|0));t=Bl(c[r>>2]|0,12)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]^(c[h>>2]|~c[k>>2]))+-1454113458+(c[s+36>>2]|0));t=Bl(c[o>>2]|0,11)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]^c[j>>2]^c[l>>2])+0+(c[s+16>>2]|0));t=Bl(c[p>>2]|0,9)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]^(c[q>>2]|~c[h>>2]))+-1454113458+(c[s+28>>2]|0));t=Bl(c[m>>2]|0,6)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]^c[r>>2]^c[j>>2])+0+(c[s+4>>2]|0));t=Bl(c[n>>2]|0,12)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^(c[o>>2]|~c[q>>2]))+-1454113458+(c[s+48>>2]|0));t=Bl(c[k>>2]|0,8)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^c[p>>2]^c[r>>2])+0+(c[s+20>>2]|0));t=Bl(c[l>>2]|0,5)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]^(c[m>>2]|~c[o>>2]))+-1454113458+(c[s+8>>2]|0));t=Bl(c[h>>2]|0,13)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]^c[n>>2]^c[p>>2])+0+(c[s+32>>2]|0));t=Bl(c[j>>2]|0,14)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]^(c[k>>2]|~c[m>>2]))+-1454113458+(c[s+40>>2]|0));t=Bl(c[q>>2]|0,12)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]^c[l>>2]^c[n>>2])+0+(c[s+28>>2]|0));t=Bl(c[r>>2]|0,6)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]^(c[h>>2]|~c[k>>2]))+-1454113458+(c[s+56>>2]|0));t=Bl(c[o>>2]|0,5)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]^c[j>>2]^c[l>>2])+0+(c[s+24>>2]|0));t=Bl(c[p>>2]|0,8)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]^(c[q>>2]|~c[h>>2]))+-1454113458+(c[s+4>>2]|0));t=Bl(c[m>>2]|0,12)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]^c[r>>2]^c[j>>2])+0+(c[s+8>>2]|0));t=Bl(c[n>>2]|0,13)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^(c[o>>2]|~c[q>>2]))+-1454113458+(c[s+12>>2]|0));t=Bl(c[k>>2]|0,13)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^c[p>>2]^c[r>>2])+0+(c[s+52>>2]|0));t=Bl(c[l>>2]|0,6)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]^(c[m>>2]|~c[o>>2]))+-1454113458+(c[s+32>>2]|0));t=Bl(c[h>>2]|0,14)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]^c[n>>2]^c[p>>2])+0+(c[s+56>>2]|0));t=Bl(c[j>>2]|0,5)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]^(c[k>>2]|~c[m>>2]))+-1454113458+(c[s+44>>2]|0));t=Bl(c[q>>2]|0,11)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]^c[l>>2]^c[n>>2])+0+(c[s>>2]|0));t=Bl(c[r>>2]|0,15)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]^(c[h>>2]|~c[k>>2]))+-1454113458+(c[s+24>>2]|0));t=Bl(c[o>>2]|0,8)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]^c[j>>2]^c[l>>2])+0+(c[s+12>>2]|0));t=Bl(c[p>>2]|0,13)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]^(c[q>>2]|~c[h>>2]))+-1454113458+(c[s+60>>2]|0));t=Bl(c[m>>2]|0,5)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]^c[r>>2]^c[j>>2])+0+(c[s+36>>2]|0));t=Bl(c[n>>2]|0,11)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^(c[o>>2]|~c[q>>2]))+-1454113458+(c[s+52>>2]|0));t=Bl(c[k>>2]|0,6)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^c[p>>2]^c[r>>2])+0+(c[s+44>>2]|0));s=Bl(c[l>>2]|0,11)|0;c[l>>2]=s+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[m>>2]|0)+(c[(c[g>>2]|0)+164>>2]|0));c[(c[g>>2]|0)+164>>2]=(c[(c[g>>2]|0)+168>>2]|0)+(c[o>>2]|0)+(c[r>>2]|0);c[(c[g>>2]|0)+168>>2]=(c[(c[g>>2]|0)+172>>2]|0)+(c[q>>2]|0)+(c[j>>2]|0);c[(c[g>>2]|0)+172>>2]=(c[(c[g>>2]|0)+176>>2]|0)+(c[h>>2]|0)+(c[l>>2]|0);c[(c[g>>2]|0)+176>>2]=(c[(c[g>>2]|0)+160>>2]|0)+(c[k>>2]|0)+(c[n>>2]|0);c[(c[g>>2]|0)+160>>2]=c[p>>2];i=d;return 124}function Al(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];i=b;return (d[(c[f>>2]|0)+3>>0]|0)<<24|(d[(c[f>>2]|0)+2>>0]|0)<<16|(d[(c[f>>2]|0)+1>>0]|0)<<8|(d[c[f>>2]>>0]|0)|0}function Bl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;i=d;return c[e>>2]<<(c[f>>2]&31)|(c[e>>2]|0)>>>(32-(c[f>>2]|0)&31)|0}function Cl(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;d=i;i=i+32|0;e=d+28|0;f=d+24|0;g=d+20|0;h=d+16|0;j=d+12|0;k=d+8|0;l=d+4|0;m=d;c[e>>2]=b;c[f>>2]=c[e>>2];rs(c[f>>2]|0,0,0);c[g>>2]=c[(c[f>>2]|0)+128>>2];c[h>>2]=c[(c[f>>2]|0)+128+4>>2];c[k>>2]=c[g>>2]<<6;c[j>>2]=c[h>>2]<<6|(c[g>>2]|0)>>>26;c[g>>2]=c[k>>2];h=(c[k>>2]|0)+(c[(c[f>>2]|0)+144>>2]|0)|0;c[k>>2]=h;if(h>>>0<(c[g>>2]|0)>>>0)c[j>>2]=(c[j>>2]|0)+1;c[g>>2]=c[k>>2];c[k>>2]=c[k>>2]<<3;c[j>>2]=c[j>>2]<<3;c[j>>2]=c[j>>2]|(c[g>>2]|0)>>>29;g=(c[(c[f>>2]|0)+144>>2]|0)<56;h=(c[f>>2]|0)+144|0;e=c[h>>2]|0;c[h>>2]=e+1;a[(c[f>>2]|0)+e>>0]=-128;a:do if(g)while(1){if((c[(c[f>>2]|0)+144>>2]|0)>=56)break a;e=(c[f>>2]|0)+144|0;h=c[e>>2]|0;c[e>>2]=h+1;a[(c[f>>2]|0)+h>>0]=0}else{while(1){n=c[f>>2]|0;if((c[(c[f>>2]|0)+144>>2]|0)>=64)break;h=n+144|0;e=c[h>>2]|0;c[h>>2]=e+1;a[(c[f>>2]|0)+e>>0]=0}rs(n,0,0);e=c[f>>2]|0;h=e+56|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0))}while(0);Dl((c[f>>2]|0)+56|0,c[k>>2]|0);Dl((c[f>>2]|0)+60|0,c[j>>2]|0);c[m>>2]=yl(c[f>>2]|0,c[f>>2]|0,1)|0;If(c[m>>2]|0);Jf();c[l>>2]=c[f>>2];Dl(c[l>>2]|0,c[(c[f>>2]|0)+160>>2]|0);c[l>>2]=(c[l>>2]|0)+4;Dl(c[l>>2]|0,c[(c[f>>2]|0)+164>>2]|0);c[l>>2]=(c[l>>2]|0)+4;Dl(c[l>>2]|0,c[(c[f>>2]|0)+168>>2]|0);c[l>>2]=(c[l>>2]|0)+4;Dl(c[l>>2]|0,c[(c[f>>2]|0)+172>>2]|0);c[l>>2]=(c[l>>2]|0)+4;Dl(c[l>>2]|0,c[(c[f>>2]|0)+176>>2]|0);c[l>>2]=(c[l>>2]|0)+4;i=d;return}function Dl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];a[(c[h>>2]|0)+3>>0]=(c[g>>2]|0)>>>24;a[(c[h>>2]|0)+2>>0]=(c[g>>2]|0)>>>16;a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)>>>8;a[c[h>>2]>>0]=c[g>>2];i=e;return}function El(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];i=b;return c[e>>2]|0}function Fl(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;xl(c[d>>2]|0,0);i=b;return}function Gl(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+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[f>>2];yl(c[e>>2]|0,c[f>>2]|0,1)|0;c[c[g>>2]>>2]=c[(c[e>>2]|0)+160>>2];c[(c[g>>2]|0)+4>>2]=c[(c[e>>2]|0)+164>>2];c[(c[g>>2]|0)+8>>2]=c[(c[e>>2]|0)+168>>2];c[(c[g>>2]|0)+12>>2]=c[(c[e>>2]|0)+172>>2];c[(c[g>>2]|0)+16>>2]=c[(c[e>>2]|0)+176>>2];i=d;return}function Hl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+208|0;g=f+192|0;h=f+188|0;j=f+184|0;k=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;Fl(k);rs(k,c[h>>2]|0,c[j>>2]|0);Cl(k);j=c[g>>2]|0;g=k;k=j+20|0;do{a[j>>0]=a[g>>0]|0;j=j+1|0;g=g+1|0}while((j|0)<(k|0));i=f;return}function Il(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;j=i;i=i+80|0;k=j+64|0;l=j+60|0;m=j+56|0;n=j+52|0;o=j+48|0;p=j+44|0;q=j+40|0;r=j+36|0;s=j+32|0;t=j+28|0;u=j+24|0;v=j+20|0;w=j+16|0;x=j+12|0;y=j+8|0;z=j+4|0;A=j;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=0;c[s>>2]=0;c[t>>2]=(((c[m>>2]|0)+7|0)>>>0)/8|0;if(!((c[t>>2]|0)!=0?((c[o>>2]|0)+7|0)>>>0<=(c[t>>2]|0)>>>0:0)){c[k>>2]=66;B=c[k>>2]|0;i=j;return B|0}m=Yf(c[t>>2]|0)|0;c[s>>2]=m;if(!m){c[k>>2]=iu()|0;B=c[k>>2]|0;i=j;return B|0}c[v>>2]=0;m=c[v>>2]|0;c[v>>2]=m+1;a[(c[s>>2]|0)+m>>0]=0;m=c[v>>2]|0;c[v>>2]=m+1;a[(c[s>>2]|0)+m>>0]=2;c[u>>2]=(c[t>>2]|0)-3-(c[o>>2]|0);if((c[u>>2]|0)<=0)xf(38940,38946,95,38959);do if(c[p>>2]|0){if((c[q>>2]|0)!=(c[u>>2]|0)){$f(c[s>>2]|0);c[k>>2]=45;B=c[k>>2]|0;i=j;return B|0}c[x>>2]=0;while(1){if((c[x>>2]|0)>>>0>=(c[q>>2]|0)>>>0){C=15;break}if(!(a[(c[p>>2]|0)+(c[x>>2]|0)>>0]|0))break;c[x>>2]=(c[x>>2]|0)+1}if((C|0)==15){Dx((c[s>>2]|0)+(c[v>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;c[v>>2]=(c[v>>2]|0)+(c[q>>2]|0);break}$f(c[s>>2]|0);c[k>>2]=45;B=c[k>>2]|0;i=j;return B|0}else{c[w>>2]=On(c[u>>2]|0,1)|0;while(1){c[z>>2]=0;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[u>>2]|0))break;if(!(a[(c[w>>2]|0)+(c[y>>2]|0)>>0]|0))c[z>>2]=(c[z>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}if(!(c[z>>2]|0))break;c[z>>2]=(c[z>>2]|0)+(((c[z>>2]|0)/128|0)+3);c[A>>2]=On(c[z>>2]|0,1)|0;c[y>>2]=0;while(1){if(!((c[y>>2]|0)<(c[u>>2]|0)?(c[z>>2]|0)!=0:0))break;if(!(a[(c[w>>2]|0)+(c[y>>2]|0)>>0]|0)){m=(c[z>>2]|0)+-1|0;c[z>>2]=m;a[(c[w>>2]|0)+(c[y>>2]|0)>>0]=a[(c[A>>2]|0)+m>>0]|0}if(!(a[(c[w>>2]|0)+(c[y>>2]|0)>>0]|0))continue;c[y>>2]=(c[y>>2]|0)+1}$f(c[A>>2]|0)}Dx((c[s>>2]|0)+(c[v>>2]|0)|0,c[w>>2]|0,c[u>>2]|0)|0;c[v>>2]=(c[v>>2]|0)+(c[u>>2]|0);$f(c[w>>2]|0)}while(0);w=c[v>>2]|0;c[v>>2]=w+1;a[(c[s>>2]|0)+w>>0]=0;Dx((c[s>>2]|0)+(c[v>>2]|0)|0,c[n>>2]|0,c[o>>2]|0)|0;c[v>>2]=(c[v>>2]|0)+(c[o>>2]|0);if((c[v>>2]|0)!=(c[t>>2]|0))xf(38990,38946,153,38959);c[r>>2]=Dp(c[l>>2]|0,5,c[s>>2]|0,c[v>>2]|0,t)|0;if((c[r>>2]|0)==0?(jg(1)|0)!=0:0)Hf(39002,c[c[l>>2]>>2]|0);$f(c[s>>2]|0);c[k>>2]=c[r>>2];B=c[k>>2]|0;i=j;return B|0}function Jl(b,e,f,g){b=b|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+48|0;j=h+32|0;k=h+28|0;l=h+24|0;m=h+20|0;n=h+16|0;o=h+12|0;p=h+8|0;q=h+4|0;r=h;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=0;c[q>>2]=(((c[m>>2]|0)+7|0)>>>0)/8|0;c[c[k>>2]>>2]=0;m=Yf(c[q>>2]|0)|0;c[p>>2]=m;if(!m){c[j>>2]=iu()|0;s=c[j>>2]|0;i=h;return s|0}c[o>>2]=Hp(5,c[p>>2]|0,c[q>>2]|0,r,c[n>>2]|0)|0;if(c[o>>2]|0){$f(c[p>>2]|0);c[j>>2]=Kl(c[o>>2]|0)|0;s=c[j>>2]|0;i=h;return s|0}c[q>>2]=c[r>>2];if((c[q>>2]|0)>>>0<4){$f(c[p>>2]|0);c[j>>2]=155;s=c[j>>2]|0;i=h;return s|0}c[r>>2]=0;if(!(a[c[p>>2]>>0]|0))c[r>>2]=(c[r>>2]|0)+1;o=c[r>>2]|0;c[r>>2]=o+1;if((d[(c[p>>2]|0)+o>>0]|0)!=2){$f(c[p>>2]|0);c[j>>2]=155;s=c[j>>2]|0;i=h;return s|0}while(1){if((c[r>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;if(!(d[(c[p>>2]|0)+(c[r>>2]|0)>>0]|0))break;c[r>>2]=(c[r>>2]|0)+1}if(((c[r>>2]|0)+1|0)>>>0>=(c[q>>2]|0)>>>0){$f(c[p>>2]|0);c[j>>2]=155;s=c[j>>2]|0;i=h;return s|0}c[r>>2]=(c[r>>2]|0)+1;Ex(c[p>>2]|0,(c[p>>2]|0)+(c[r>>2]|0)|0,(c[q>>2]|0)-(c[r>>2]|0)|0)|0;c[c[k>>2]>>2]=c[p>>2];c[c[l>>2]>>2]=(c[q>>2]|0)-(c[r>>2]|0);if(jg(1)|0)Ff(39035,c[c[k>>2]>>2]|0,c[c[l>>2]>>2]|0);c[j>>2]=0;s=c[j>>2]|0;i=h;return s|0}function Kl(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ll(c[d>>2]|0)|0;i=b;return a|0}function Ll(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;i=b;return c[d>>2]&65535|0}function Ml(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;h=i;i=i+160|0;j=h+48|0;k=h+44|0;l=h+40|0;m=h+36|0;n=h+32|0;o=h+28|0;p=h+24|0;q=h+52|0;r=h+20|0;s=h+16|0;t=h+12|0;u=h+8|0;v=h+4|0;w=h;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=0;c[r>>2]=0;c[s>>2]=(((c[l>>2]|0)+7|0)>>>0)/8|0;c[v>>2]=100;c[w>>2]=Uj(c[o>>2]|0)|0;if(Vj(c[o>>2]|0,10,q,v)|0){c[j>>2]=69;x=c[j>>2]|0;i=h;return x|0}if((c[n>>2]|0)!=(c[w>>2]|0)){c[j>>2]=70;x=c[j>>2]|0;i=h;return x|0}if((c[w>>2]|0)!=0?((c[w>>2]|0)+(c[v>>2]|0)+4|0)>>>0<=(c[s>>2]|0)>>>0:0){w=Vf(c[s>>2]|0)|0;c[r>>2]=w;if(!w){c[j>>2]=iu()|0;x=c[j>>2]|0;i=h;return x|0}c[u>>2]=0;w=c[u>>2]|0;c[u>>2]=w+1;a[(c[r>>2]|0)+w>>0]=0;w=c[u>>2]|0;c[u>>2]=w+1;a[(c[r>>2]|0)+w>>0]=1;c[t>>2]=(c[s>>2]|0)-(c[n>>2]|0)-(c[v>>2]|0)-3;if((c[t>>2]|0)<=1)xf(39089,38946,303,39095);Fx((c[r>>2]|0)+(c[u>>2]|0)|0,-1,c[t>>2]|0)|0;c[u>>2]=(c[u>>2]|0)+(c[t>>2]|0);t=c[u>>2]|0;c[u>>2]=t+1;a[(c[r>>2]|0)+t>>0]=0;Dx((c[r>>2]|0)+(c[u>>2]|0)|0,q|0,c[v>>2]|0)|0;c[u>>2]=(c[u>>2]|0)+(c[v>>2]|0);Dx((c[r>>2]|0)+(c[u>>2]|0)|0,c[m>>2]|0,c[n>>2]|0)|0;c[u>>2]=(c[u>>2]|0)+(c[n>>2]|0);if((c[u>>2]|0)!=(c[s>>2]|0))xf(38990,38946,311,39095);c[p>>2]=Dp(c[k>>2]|0,5,c[r>>2]|0,c[u>>2]|0,s)|0;if((c[p>>2]|0)==0?(jg(1)|0)!=0:0)Hf(39126,c[c[k>>2]>>2]|0);$f(c[r>>2]|0);c[j>>2]=c[p>>2];x=c[j>>2]|0;i=h;return x|0}c[j>>2]=66;x=c[j>>2]|0;i=h;return x|0}function Nl(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+48|0;h=g+40|0;j=g+36|0;k=g+32|0;l=g+28|0;m=g+24|0;n=g+20|0;o=g+16|0;p=g+12|0;q=g+8|0;r=g+4|0;s=g;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=0;c[p>>2]=0;c[q>>2]=(((c[k>>2]|0)+7|0)>>>0)/8|0;if((c[m>>2]|0)!=0?((c[m>>2]|0)+4|0)>>>0<=(c[q>>2]|0)>>>0:0){k=Vf(c[q>>2]|0)|0;c[p>>2]=k;if(!k){c[h>>2]=iu()|0;t=c[h>>2]|0;i=g;return t|0}c[s>>2]=0;k=c[s>>2]|0;c[s>>2]=k+1;a[(c[p>>2]|0)+k>>0]=0;k=c[s>>2]|0;c[s>>2]=k+1;a[(c[p>>2]|0)+k>>0]=1;c[r>>2]=(c[q>>2]|0)-(c[m>>2]|0)-3;if((c[r>>2]|0)<=1)xf(39089,38946,368,39159);Fx((c[p>>2]|0)+(c[s>>2]|0)|0,-1,c[r>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);r=c[s>>2]|0;c[s>>2]=r+1;a[(c[p>>2]|0)+r>>0]=0;Dx((c[p>>2]|0)+(c[s>>2]|0)|0,c[l>>2]|0,c[m>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[m>>2]|0);if((c[s>>2]|0)!=(c[q>>2]|0))xf(38990,38946,374,39159);c[o>>2]=Dp(c[j>>2]|0,5,c[p>>2]|0,c[s>>2]|0,q)|0;if(!(c[o>>2]|0)){if(jg(1)|0)Hf(39126,c[c[j>>2]>>2]|0)}else c[n>>2]=Kl(c[o>>2]|0)|0;$f(c[p>>2]|0);c[h>>2]=c[n>>2];t=c[h>>2]|0;i=g;return t|0}c[h>>2]=66;t=c[h>>2]|0;i=g;return t|0}function Ol(b,e,f,g,h,j,k,l,m){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;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;n=i;i=i+80|0;o=n+68|0;p=n+64|0;q=n+60|0;r=n+56|0;s=n+52|0;t=n+48|0;u=n+44|0;v=n+40|0;w=n+36|0;x=n+32|0;y=n+28|0;z=n+24|0;A=n+20|0;B=n+16|0;C=n+12|0;D=n+8|0;E=n+4|0;F=n;c[p>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[w>>2]=l;c[x>>2]=m;c[y>>2]=0;c[z>>2]=0;c[A>>2]=(((c[q>>2]|0)+7|0)>>>0)/8|0;c[c[p>>2]>>2]=0;if(!((c[u>>2]|0)!=0&(c[v>>2]|0)!=0)){c[u>>2]=76527;c[v>>2]=0}c[C>>2]=Uj(c[r>>2]|0)|0;if(!((c[A>>2]|0)!=0?(c[t>>2]|0)>>>0<=((c[A>>2]|0)-(c[C>>2]<<1)-2|0)>>>0:0)){c[o>>2]=66;G=c[o>>2]|0;i=n;return G|0}c[z>>2]=bg(1,c[A>>2]|0)|0;if(!(c[z>>2]|0)){c[o>>2]=iu()|0;G=c[o>>2]|0;i=n;return G|0}Nj(c[r>>2]|0,(c[z>>2]|0)+1+(c[C>>2]|0)|0,c[u>>2]|0,c[v>>2]|0);c[D>>2]=(c[A>>2]|0)-(c[t>>2]|0)-1;a[(c[z>>2]|0)+(c[D>>2]|0)>>0]=1;Dx((c[z>>2]|0)+(c[D>>2]|0)+1|0,c[s>>2]|0,c[t>>2]|0)|0;do if(c[w>>2]|0){t=c[z>>2]|0;if((c[x>>2]|0)==(c[C>>2]|0)){Dx(t+1|0,c[w>>2]|0,c[C>>2]|0)|0;break}$f(t);c[o>>2]=45;G=c[o>>2]|0;i=n;return G|0}else Pn((c[z>>2]|0)+1|0,c[C>>2]|0,1);while(0);c[E>>2]=Yf((c[A>>2]|0)-(c[C>>2]|0)-1|0)|0;if(!(c[E>>2]|0)){c[y>>2]=iu()|0;$f(c[z>>2]|0);c[o>>2]=c[y>>2];G=c[o>>2]|0;i=n;return G|0}c[y>>2]=Pl(c[E>>2]|0,(c[A>>2]|0)-(c[C>>2]|0)-1|0,(c[z>>2]|0)+1|0,c[C>>2]|0,c[r>>2]|0)|0;if(c[y>>2]|0){$f(c[E>>2]|0);$f(c[z>>2]|0);c[o>>2]=c[y>>2];G=c[o>>2]|0;i=n;return G|0}c[D>>2]=1+(c[C>>2]|0);c[B>>2]=c[E>>2];while(1){if((c[D>>2]|0)>>>0>=(c[A>>2]|0)>>>0)break;w=c[B>>2]|0;c[B>>2]=w+1;x=(c[z>>2]|0)+(c[D>>2]|0)|0;a[x>>0]=(d[x>>0]|0)^(d[w>>0]|0);c[D>>2]=(c[D>>2]|0)+1}$f(c[E>>2]|0);c[F>>2]=Yf(c[C>>2]|0)|0;if(!(c[F>>2]|0)){c[y>>2]=iu()|0;$f(c[z>>2]|0);c[o>>2]=c[y>>2];G=c[o>>2]|0;i=n;return G|0}c[y>>2]=Pl(c[F>>2]|0,c[C>>2]|0,(c[z>>2]|0)+1+(c[C>>2]|0)|0,(c[A>>2]|0)-(c[C>>2]|0)-1|0,c[r>>2]|0)|0;if(c[y>>2]|0){$f(c[F>>2]|0);$f(c[z>>2]|0);c[o>>2]=c[y>>2];G=c[o>>2]|0;i=n;return G|0}c[D>>2]=1;c[B>>2]=c[F>>2];while(1){if((c[D>>2]|0)>>>0>=(1+(c[C>>2]|0)|0)>>>0)break;r=c[B>>2]|0;c[B>>2]=r+1;E=(c[z>>2]|0)+(c[D>>2]|0)|0;a[E>>0]=(d[E>>0]|0)^(d[r>>0]|0);c[D>>2]=(c[D>>2]|0)+1}$f(c[F>>2]|0);c[y>>2]=Dp(c[p>>2]|0,5,c[z>>2]|0,c[A>>2]|0,0)|0;if((c[y>>2]|0)==0?(jg(1)|0)!=0:0)Hf(39194,c[c[p>>2]>>2]|0);$f(c[z>>2]|0);c[o>>2]=c[y>>2];G=c[o>>2]|0;i=n;return G|0}function Pl(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;h=i;i=i+64|0;j=h+48|0;k=h+44|0;l=h+40|0;m=h+36|0;n=h+32|0;o=h+28|0;p=h+24|0;q=h+20|0;r=h+16|0;s=h+12|0;t=h+8|0;u=h+4|0;v=h+52|0;w=h;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[u>>2]=wj(t,c[o>>2]|0,0)|0;if(c[u>>2]|0){c[j>>2]=c[u>>2];x=c[j>>2]|0;i=h;return x|0}c[p>>2]=Uj(c[o>>2]|0)|0;c[q>>2]=0;c[s>>2]=0;while(1){if((c[q>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;if(c[s>>2]|0)Dj(c[t>>2]|0);a[v>>0]=c[s>>2]>>24;a[v+1>>0]=c[s>>2]>>16;a[v+2>>0]=c[s>>2]>>8;a[v+3>>0]=c[s>>2];c[s>>2]=(c[s>>2]|0)+1;Fj(c[t>>2]|0,c[m>>2]|0,c[n>>2]|0);Fj(c[t>>2]|0,v,4);c[w>>2]=Rj(c[t>>2]|0,0)|0;if(((c[l>>2]|0)-(c[q>>2]|0)|0)>>>0<(c[p>>2]|0)>>>0)y=(c[l>>2]|0)-(c[q>>2]|0)|0;else y=c[p>>2]|0;c[r>>2]=y;Dx((c[k>>2]|0)+(c[q>>2]|0)|0,c[w>>2]|0,c[r>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0)}Ej(c[t>>2]|0);c[j>>2]=0;x=c[j>>2]|0;i=h;return x|0}function Ql(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;l=i;i=i+96|0;m=l+80|0;n=l+76|0;o=l+72|0;p=l+68|0;q=l+64|0;r=l+60|0;s=l+56|0;t=l+52|0;u=l+48|0;v=l+44|0;w=l+40|0;x=l+36|0;y=l+32|0;z=l+28|0;A=l+24|0;B=l+20|0;C=l+16|0;D=l+12|0;E=l+8|0;F=l+4|0;G=l;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[v>>2]=0;c[y>>2]=0;c[A>>2]=0;c[E>>2]=(((c[p>>2]|0)+7|0)>>>0)/8|0;c[F>>2]=0;c[c[n>>2]>>2]=0;if(!((c[s>>2]|0)!=0&(c[t>>2]|0)!=0)){c[s>>2]=76527;c[t>>2]=0}c[C>>2]=Uj(c[q>>2]|0)|0;c[A>>2]=Vf(c[C>>2]|0)|0;if(!(c[A>>2]|0)){c[m>>2]=iu()|0;H=c[m>>2]|0;i=l;return H|0}Nj(c[q>>2]|0,c[A>>2]|0,c[s>>2]|0,c[t>>2]|0);c[u>>2]=Rl(v,0,c[r>>2]|0,c[E>>2]|0)|0;if(c[u>>2]|0){$f(c[A>>2]|0);c[m>>2]=155;H=c[m>>2]|0;i=l;return H|0}c[B>>2]=c[E>>2];if((c[B>>2]|0)>>>0<((c[C>>2]<<1)+2|0)>>>0){$f(c[v>>2]|0);$f(c[A>>2]|0);c[m>>2]=155;H=c[m>>2]|0;i=l;return H|0}c[y>>2]=Yf((c[B>>2]|0)-1|0)|0;if(!(c[y>>2]|0)){c[u>>2]=iu()|0;$f(c[v>>2]|0);$f(c[A>>2]|0);c[m>>2]=c[u>>2];H=c[m>>2]|0;i=l;return H|0}c[z>>2]=(c[y>>2]|0)+(c[C>>2]|0);c[w>>2]=(c[v>>2]|0)+1;c[x>>2]=(c[v>>2]|0)+1+(c[C>>2]|0);c[D>>2]=(c[B>>2]|0)-1-(c[C>>2]|0);if(Pl(c[y>>2]|0,c[C>>2]|0,c[x>>2]|0,c[D>>2]|0,c[q>>2]|0)|0)c[F>>2]=1;c[G>>2]=0;while(1){if((c[G>>2]|0)>>>0>=(c[C>>2]|0)>>>0)break;B=(c[y>>2]|0)+(c[G>>2]|0)|0;a[B>>0]=d[B>>0]^d[(c[w>>2]|0)+(c[G>>2]|0)>>0];c[G>>2]=(c[G>>2]|0)+1}if(Pl(c[z>>2]|0,c[D>>2]|0,c[y>>2]|0,c[C>>2]|0,c[q>>2]|0)|0)c[F>>2]=1;c[G>>2]=0;while(1){if((c[G>>2]|0)>>>0>=(c[D>>2]|0)>>>0)break;q=(c[z>>2]|0)+(c[G>>2]|0)|0;a[q>>0]=d[q>>0]^d[(c[x>>2]|0)+(c[G>>2]|0)>>0];c[G>>2]=(c[G>>2]|0)+1}if(mw(c[A>>2]|0,c[z>>2]|0,c[C>>2]|0)|0)c[F>>2]=1;c[G>>2]=c[C>>2];while(1){if((c[G>>2]|0)>>>0>=(c[D>>2]|0)>>>0)break;if((d[(c[z>>2]|0)+(c[G>>2]|0)>>0]|0)==1)break;c[G>>2]=(c[G>>2]|0)+1}if((c[G>>2]|0)==(c[D>>2]|0))c[F>>2]=1;if(a[c[v>>2]>>0]|0)c[F>>2]=1;$f(c[A>>2]|0);$f(c[v>>2]|0);if(c[F>>2]|0){$f(c[y>>2]|0);c[m>>2]=155;H=c[m>>2]|0;i=l;return H|0}c[G>>2]=(c[G>>2]|0)+1;Ex(c[y>>2]|0,(c[z>>2]|0)+(c[G>>2]|0)|0,(c[D>>2]|0)-(c[G>>2]|0)|0)|0;c[c[n>>2]>>2]=c[y>>2];c[c[o>>2]>>2]=(c[D>>2]|0)-(c[G>>2]|0);c[y>>2]=0;if(jg(1)|0)Ff(39212,c[c[n>>2]>>2]|0,c[c[o>>2]>>2]|0);c[m>>2]=0;H=c[m>>2]|0;i=l;return H|0}function Rl(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=Jp(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;i=f;return e|0}function Sl(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|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,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;m=i;i=i+128|0;n=m+116|0;o=m+112|0;p=m+108|0;q=m+104|0;r=m+100|0;s=m+96|0;t=m+92|0;u=m+88|0;v=m+84|0;w=m+80|0;x=m+76|0;y=m+72|0;z=m+68|0;A=m+64|0;B=m+60|0;D=m+56|0;E=m+52|0;F=m+48|0;G=m+44|0;H=m+40|0;I=m+36|0;J=m+32|0;K=m+121|0;L=m+8|0;M=m+28|0;N=m+24|0;O=m+20|0;P=m+120|0;Q=m;R=m+16|0;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=0;c[x>>2]=0;c[y>>2]=(((c[o>>2]|0)+7|0)>>>0)/8|0;c[A>>2]=0;c[w>>2]=Uj(c[p>>2]|0)|0;if(!(c[w>>2]|0))xf(39251,38946,800,39256);c[B>>2]=8+(c[w>>2]|0)+(c[s>>2]|0)+((c[y>>2]|0)-(c[w>>2]|0)-1);c[A>>2]=Vf(c[B>>2]|0)|0;a:do if(c[A>>2]|0){c[D>>2]=(c[A>>2]|0)+8;c[E>>2]=(c[D>>2]|0)+(c[w>>2]|0);c[F>>2]=(c[E>>2]|0)+(c[s>>2]|0);if((c[r>>2]|0)!=(c[w>>2]|0)){c[v>>2]=139;break}Dx(c[D>>2]|0,c[q>>2]|0,c[w>>2]|0)|0;if((c[y>>2]|0)>>>0<((c[w>>2]|0)+(c[s>>2]|0)+2|0)>>>0){c[v>>2]=66;break}c[x>>2]=Vf(c[y>>2]|0)|0;if(!(c[x>>2]|0)){c[v>>2]=iu()|0;break}c[z>>2]=(c[x>>2]|0)+(c[y>>2]|0)+-1+(0-(c[w>>2]|0));do if(c[s>>2]|0){if(!(c[t>>2]|0)){Pn(c[E>>2]|0,c[s>>2]|0,1);break}if((c[u>>2]|0)!=(c[s>>2]|0)){c[v>>2]=45;break a}else{Dx(c[E>>2]|0,c[t>>2]|0,c[s>>2]|0)|0;break}}while(0);l=c[A>>2]|0;a[l>>0]=0;a[l+1>>0]=0;a[l+2>>0]=0;a[l+3>>0]=0;a[l+4>>0]=0;a[l+5>>0]=0;a[l+6>>0]=0;a[l+7>>0]=0;Nj(c[p>>2]|0,c[z>>2]|0,c[A>>2]|0,8+(c[w>>2]|0)+(c[s>>2]|0)|0);c[G>>2]=(c[x>>2]|0)+(c[y>>2]|0)+-1+(0-(c[w>>2]|0))+(0-(c[s>>2]|0))+-1;Fx(c[x>>2]|0,0,(c[G>>2]|0)-(c[x>>2]|0)|0)|0;l=c[G>>2]|0;c[G>>2]=l+1;a[l>>0]=1;Dx(c[G>>2]|0,c[E>>2]|0,c[s>>2]|0)|0;Pl(c[F>>2]|0,(c[y>>2]|0)-(c[w>>2]|0)-1|0,c[z>>2]|0,c[w>>2]|0,c[p>>2]|0)|0;c[H>>2]=0;c[G>>2]=c[F>>2];while(1){if((c[H>>2]|0)>>>0>=((c[y>>2]|0)-(c[w>>2]|0)-1|0)>>>0)break;l=(c[x>>2]|0)+(c[H>>2]|0)|0;a[l>>0]=(d[l>>0]|0)^(d[c[G>>2]>>0]|0);c[H>>2]=(c[H>>2]|0)+1;c[G>>2]=(c[G>>2]|0)+1}l=c[x>>2]|0;a[l>>0]=(d[l>>0]|0)&255>>(c[y>>2]<<3)-(c[o>>2]|0);a[(c[x>>2]|0)+((c[y>>2]|0)-1)>>0]=-68;c[v>>2]=Dp(c[n>>2]|0,5,c[x>>2]|0,c[y>>2]|0,0)|0;if((c[v>>2]|0)==0?(jg(1)|0)!=0:0)Hf(39277,c[c[n>>2]>>2]|0)}else c[v>>2]=iu()|0;while(0);if(c[x>>2]|0){c[I>>2]=c[x>>2];c[J>>2]=c[y>>2];a[K>>0]=0;y=L;c[y>>2]=d[K>>0];c[y+4>>2]=0;while(1){if(!((c[I>>2]&7|0)!=0?(c[J>>2]|0)!=0:0))break;a[c[I>>2]>>0]=a[K>>0]|0;c[I>>2]=(c[I>>2]|0)+1;c[J>>2]=(c[J>>2]|0)+-1}if((c[J>>2]|0)>>>0>=8){y=L;n=Mx(c[y>>2]|0,c[y+4>>2]|0,16843009,16843009)|0;y=L;c[y>>2]=n;c[y+4>>2]=C;do{c[M>>2]=c[I>>2];y=L;n=c[y+4>>2]|0;o=c[M>>2]|0;c[o>>2]=c[y>>2];c[o+4>>2]=n;c[J>>2]=(c[J>>2]|0)-8;c[I>>2]=(c[I>>2]|0)+8}while((c[J>>2]|0)>>>0>=8)}while(1){if(!(c[J>>2]|0))break;a[c[I>>2]>>0]=a[K>>0]|0;c[I>>2]=(c[I>>2]|0)+1;c[J>>2]=(c[J>>2]|0)+-1}$f(c[x>>2]|0)}if(!(c[A>>2]|0)){S=c[v>>2]|0;i=m;return S|0}c[N>>2]=c[A>>2];c[O>>2]=c[B>>2];a[P>>0]=0;B=Q;c[B>>2]=d[P>>0];c[B+4>>2]=0;while(1){if(!((c[N>>2]&7|0)!=0?(c[O>>2]|0)!=0:0))break;a[c[N>>2]>>0]=a[P>>0]|0;c[N>>2]=(c[N>>2]|0)+1;c[O>>2]=(c[O>>2]|0)+-1}if((c[O>>2]|0)>>>0>=8){B=Q;x=Mx(c[B>>2]|0,c[B+4>>2]|0,16843009,16843009)|0;B=Q;c[B>>2]=x;c[B+4>>2]=C;do{c[R>>2]=c[N>>2];B=Q;x=c[B+4>>2]|0;J=c[R>>2]|0;c[J>>2]=c[B>>2];c[J+4>>2]=x;c[O>>2]=(c[O>>2]|0)-8;c[N>>2]=(c[N>>2]|0)+8}while((c[O>>2]|0)>>>0>=8)}while(1){if(!(c[O>>2]|0))break;a[c[N>>2]>>0]=a[P>>0]|0;c[N>>2]=(c[N>>2]|0)+1;c[O>>2]=(c[O>>2]|0)+-1}$f(c[A>>2]|0);S=c[v>>2]|0;i=m;return S|0}function Tl(b,e,f,g,h){b=b|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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;j=i;i=i+112|0;k=j+104|0;l=j+100|0;m=j+96|0;n=j+92|0;o=j+88|0;p=j+84|0;q=j+80|0;r=j+76|0;s=j+72|0;t=j+68|0;u=j+64|0;v=j+60|0;w=j+56|0;x=j+52|0;y=j+48|0;z=j+44|0;A=j+40|0;B=j+36|0;D=j+32|0;E=j+109|0;F=j+8|0;G=j+28|0;H=j+24|0;I=j+20|0;J=j+108|0;K=j;L=j+16|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=0;c[r>>2]=0;c[s>>2]=(((c[m>>2]|0)+7|0)>>>0)/8|0;c[v>>2]=0;c[q>>2]=Uj(c[n>>2]|0)|0;if(!(c[q>>2]|0))xf(39251,38946,926,39294);c[w>>2]=8+(c[q>>2]|0)+(c[o>>2]|0);if((c[w>>2]|0)>>>0<((c[s>>2]|0)-(c[q>>2]|0)-1|0)>>>0)c[w>>2]=(c[s>>2]|0)-(c[q>>2]|0)-1;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[v>>2]=Vf(c[w>>2]|0)|0;do if(c[v>>2]|0){c[x>>2]=c[v>>2];c[y>>2]=(c[v>>2]|0)+(c[w>>2]|0)+(0-(c[q>>2]|0));c[p>>2]=Rl(0,c[y>>2]|0,c[k>>2]|0,c[q>>2]|0)|0;if((c[p>>2]|0)==0?(c[p>>2]=Rl(r,0,c[l>>2]|0,c[s>>2]|0)|0,(c[p>>2]|0)==0):0){if((c[s>>2]|0)>>>0<((c[q>>2]|0)+(c[o>>2]|0)+2|0)>>>0){c[p>>2]=66;break}if((d[(c[r>>2]|0)+((c[s>>2]|0)-1)>>0]|0)!=188){c[p>>2]=8;break}c[u>>2]=(c[r>>2]|0)+(c[s>>2]|0)+-1+(0-(c[q>>2]|0));if(d[c[r>>2]>>0]&~(255>>(c[s>>2]<<3)-(c[m>>2]|0))){c[p>>2]=8;break}Pl(c[x>>2]|0,(c[s>>2]|0)-(c[q>>2]|0)-1|0,c[u>>2]|0,c[q>>2]|0,c[n>>2]|0)|0;c[A>>2]=0;c[z>>2]=c[x>>2];while(1){if((c[A>>2]|0)>>>0>=((c[s>>2]|0)-(c[q>>2]|0)-1|0)>>>0)break;h=(c[r>>2]|0)+(c[A>>2]|0)|0;a[h>>0]=d[h>>0]^d[c[z>>2]>>0];c[A>>2]=(c[A>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+1}h=c[r>>2]|0;a[h>>0]=d[h>>0]&255>>(c[s>>2]<<3)-(c[m>>2]|0);c[A>>2]=0;while(1){if((c[A>>2]|0)>>>0>=((c[s>>2]|0)-(c[q>>2]|0)-(c[o>>2]|0)-2|0)>>>0)break;if(!((a[(c[r>>2]|0)+(c[A>>2]|0)>>0]|0)!=0^1))break;c[A>>2]=(c[A>>2]|0)+1}if((c[A>>2]|0)==((c[s>>2]|0)-(c[q>>2]|0)-(c[o>>2]|0)-2|0)?(h=c[A>>2]|0,c[A>>2]=h+1,(d[(c[r>>2]|0)+h>>0]|0)==1):0){c[t>>2]=(c[r>>2]|0)+(c[A>>2]|0);h=c[v>>2]|0;a[h>>0]=0;a[h+1>>0]=0;a[h+2>>0]=0;a[h+3>>0]=0;a[h+4>>0]=0;a[h+5>>0]=0;a[h+6>>0]=0;a[h+7>>0]=0;Dx((c[v>>2]|0)+8|0,c[y>>2]|0,c[q>>2]|0)|0;Dx((c[v>>2]|0)+8+(c[q>>2]|0)|0,c[t>>2]|0,c[o>>2]|0)|0;Nj(c[n>>2]|0,c[v>>2]|0,c[v>>2]|0,8+(c[q>>2]|0)+(c[o>>2]|0)|0);h=(mw(c[u>>2]|0,c[v>>2]|0,c[q>>2]|0)|0)!=0;c[p>>2]=h?8:0;break}c[p>>2]=8}}else c[p>>2]=iu()|0;while(0);if(c[r>>2]|0){c[B>>2]=c[r>>2];c[D>>2]=c[s>>2];a[E>>0]=0;s=F;c[s>>2]=d[E>>0];c[s+4>>2]=0;while(1){if(!((c[B>>2]&7|0)!=0?(c[D>>2]|0)!=0:0))break;a[c[B>>2]>>0]=a[E>>0]|0;c[B>>2]=(c[B>>2]|0)+1;c[D>>2]=(c[D>>2]|0)+-1}if((c[D>>2]|0)>>>0>=8){s=F;q=Mx(c[s>>2]|0,c[s+4>>2]|0,16843009,16843009)|0;s=F;c[s>>2]=q;c[s+4>>2]=C;do{c[G>>2]=c[B>>2];s=F;q=c[s+4>>2]|0;u=c[G>>2]|0;c[u>>2]=c[s>>2];c[u+4>>2]=q;c[D>>2]=(c[D>>2]|0)-8;c[B>>2]=(c[B>>2]|0)+8}while((c[D>>2]|0)>>>0>=8)}while(1){if(!(c[D>>2]|0))break;a[c[B>>2]>>0]=a[E>>0]|0;c[B>>2]=(c[B>>2]|0)+1;c[D>>2]=(c[D>>2]|0)+-1}$f(c[r>>2]|0)}if(!(c[v>>2]|0)){M=c[p>>2]|0;i=j;return M|0}c[H>>2]=c[v>>2];c[I>>2]=c[w>>2];a[J>>0]=0;w=K;c[w>>2]=d[J>>0];c[w+4>>2]=0;while(1){if(!((c[H>>2]&7|0)!=0?(c[I>>2]|0)!=0:0))break;a[c[H>>2]>>0]=a[J>>0]|0;c[H>>2]=(c[H>>2]|0)+1;c[I>>2]=(c[I>>2]|0)+-1}if((c[I>>2]|0)>>>0>=8){w=K;r=Mx(c[w>>2]|0,c[w+4>>2]|0,16843009,16843009)|0;w=K;c[w>>2]=r;c[w+4>>2]=C;do{c[L>>2]=c[H>>2];w=K;r=c[w+4>>2]|0;D=c[L>>2]|0;c[D>>2]=c[w>>2];c[D+4>>2]=r;c[I>>2]=(c[I>>2]|0)-8;c[H>>2]=(c[H>>2]|0)+8}while((c[I>>2]|0)>>>0>=8)}while(1){if(!(c[I>>2]|0))break;a[c[H>>2]>>0]=a[J>>0]|0;c[H>>2]=(c[H>>2]|0)+1;c[I>>2]=(c[I>>2]|0)+-1}$f(c[v>>2]|0);M=c[p>>2]|0;i=j;return M|0}function Ul(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+112|0;e=d;f=d+100|0;g=d+96|0;h=d+92|0;j=d+88|0;k=d+84|0;l=d+80|0;m=d+56|0;n=d+52|0;o=d+48|0;p=d+44|0;q=d+40|0;r=d+36|0;c[g>>2]=a;c[h>>2]=b;c[o>>2]=0;c[q>>2]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[j>>2]=kk(c[g>>2]|0,k)|0;if(c[j>>2]|0){c[f>>2]=c[j>>2];s=c[f>>2]|0;i=d;return s|0}c[j>>2]=lk(c[g>>2]|0,l)|0;if(c[j>>2]|0){c[f>>2]=c[j>>2];s=c[f>>2]|0;i=d;return s|0}c[p>>2]=xg(c[g>>2]|0,47167,0)|0;if((c[p>>2]|0)!=0?(c[j>>2]=jk(c[p>>2]|0,o,0)|0,vg(c[p>>2]|0),(c[j>>2]|0)!=0):0){c[f>>2]=c[j>>2];s=c[f>>2]|0;i=d;return s|0}if(c[g>>2]|0)t=xg(c[g>>2]|0,39376,0)|0;else t=0;c[n>>2]=t;if((c[n>>2]|0)==0?(c[p>>2]=xg(c[g>>2]|0,39389,0)|0,(c[p>>2]|0)!=0):0){c[o>>2]=c[o>>2]|64;vg(c[p>>2]|0)}if(((c[n>>2]|0)==0?(c[o>>2]&64|0)==0:0)?(Ah()|0)==0:0){if((c[o>>2]&32|0)==0?(c[p>>2]=xg(c[g>>2]|0,47173,0)|0,(c[p>>2]|0)!=0):0){c[o>>2]=c[o>>2]|32;vg(c[p>>2]|0)}c[j>>2]=$l(m,c[k>>2]|0,c[l>>2]|0,((c[o>>2]&32|0)!=0^1^1)&1)|0}else u=16;if((u|0)==16?(c[j>>2]=Vl(m,c[k>>2]|0,c[l>>2]|0,c[n>>2]|0,r)|0,vg(c[n>>2]|0),(c[j>>2]|0)==0&(c[r>>2]|0)!=0):0)c[j>>2]=wg(q,39657,0,1)|0;if(!(c[j>>2]|0)){r=c[h>>2]|0;h=c[m+4>>2]|0;n=c[m>>2]|0;l=c[m+4>>2]|0;k=c[m+8>>2]|0;u=c[m+12>>2]|0;o=c[m+16>>2]|0;p=c[m+20>>2]|0;g=c[q>>2]|0;c[e>>2]=c[m>>2];c[e+4>>2]=h;c[e+8>>2]=n;c[e+12>>2]=l;c[e+16>>2]=k;c[e+20>>2]=u;c[e+24>>2]=o;c[e+28>>2]=p;c[e+32>>2]=g;c[j>>2]=Ig(r,0,39753,e)|0}hq(c[m>>2]|0);hq(c[m+4>>2]|0);hq(c[m+12>>2]|0);hq(c[m+16>>2]|0);hq(c[m+8>>2]|0);hq(c[m+20>>2]|0);vg(c[q>>2]|0);c[f>>2]=c[j>>2];s=c[f>>2]|0;i=d;return s|0}function Vl(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;g=i;i=i+176|0;h=g;j=g+164|0;k=g+160|0;l=g+156|0;m=g+152|0;n=g+148|0;o=g+144|0;p=g+140|0;q=g+136|0;r=g+132|0;s=g+128|0;t=g+124|0;u=g+120|0;v=g+116|0;w=g+112|0;x=g+108|0;y=g+104|0;z=g+100|0;A=g+96|0;B=g+92|0;C=g+88|0;D=g+84|0;E=g+80|0;F=g+76|0;G=g+72|0;H=g+16|0;I=g+8|0;J=g+4|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[c[o>>2]>>2]=0;if((c[m>>2]|0)==1)c[m>>2]=65537;if((c[l>>2]|0)>>>0>=1024?(((c[l>>2]|0)>>>0)%256|0|0)==0:0){if((c[m>>2]|0)>>>0<3){c[j>>2]=55;K=c[j>>2]|0;i=g;return K|0}if(!(c[m>>2]&1)){c[j>>2]=55;K=c[j>>2]|0;i=g;return K|0}c[A>>2]=0;c[B>>2]=0;c[C>>2]=0;c[D>>2]=0;c[E>>2]=0;c[F>>2]=0;if(c[n>>2]|0){f=H;e=f+56|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(e|0));c[H>>2]=39508;c[H+8>>2]=39512;c[H+16>>2]=39516;c[H+24>>2]=39519;c[H+32>>2]=39523;c[H+40>>2]=39527;c[H+4>>2]=A;c[H+8+4>>2]=B;c[H+16+4>>2]=C;c[H+24+4>>2]=D;c[H+32+4>>2]=E;c[H+40+4>>2]=F;c[I>>2]=0;while(1){if(!(c[H+(c[I>>2]<<3)>>2]|0))break;c[J>>2]=xg(c[n>>2]|0,c[H+(c[I>>2]<<3)>>2]|0,0)|0;if(c[J>>2]|0){f=Fg(c[J>>2]|0,1,5)|0;c[c[H+(c[I>>2]<<3)+4>>2]>>2]=f;vg(c[J>>2]|0)}c[I>>2]=(c[I>>2]|0)+1}c[I>>2]=0;while(1){if(!(c[H+(c[I>>2]<<3)>>2]|0))break;if(!(c[c[H+(c[I>>2]<<3)+4>>2]>>2]|0))break;c[I>>2]=(c[I>>2]|0)+1}if(c[H+(c[I>>2]<<3)>>2]|0){c[I>>2]=0;while(1){if(!(c[H+(c[I>>2]<<3)>>2]|0))break;xq(c[c[H+(c[I>>2]<<3)+4>>2]>>2]|0);c[I>>2]=(c[I>>2]|0)+1}c[j>>2]=128;K=c[j>>2]|0;i=g;return K|0}}else{c[C>>2]=Wl(((c[l>>2]|0)>>>0)/2|0)|0;c[G>>2]=wq(((c[l>>2]|0)>>>0)/2|0)|0;do{xq(c[F>>2]|0);c[F>>2]=Wl(((c[l>>2]|0)>>>0)/2|0)|0;No(c[G>>2]|0,c[C>>2]|0,c[F>>2]|0);I=Ro(c[G>>2]|0)|0}while(I>>>0<=((((c[l>>2]|0)>>>0)/2|0)-100|0)>>>0);xq(c[G>>2]|0);c[A>>2]=Xl()|0;c[B>>2]=Xl()|0;c[D>>2]=Xl()|0;c[E>>2]=Xl()|0}c[r>>2]=_p(c[m>>2]|0)|0;c[p>>2]=hk(c[C>>2]|0,c[A>>2]|0,c[B>>2]|0,c[r>>2]|0,0,0)|0;c[q>>2]=hk(c[F>>2]|0,c[D>>2]|0,c[E>>2]|0,c[r>>2]|0,0,0)|0;xq(c[C>>2]|0);c[C>>2]=0;xq(c[A>>2]|0);c[A>>2]=0;xq(c[B>>2]|0);c[B>>2]=0;xq(c[F>>2]|0);c[F>>2]=0;xq(c[D>>2]|0);c[D>>2]=0;xq(c[E>>2]|0);c[E>>2]=0;E=c[p>>2]|0;if(!((c[p>>2]|0)!=0&(c[q>>2]|0)!=0)){xq(E);xq(c[q>>2]|0);xq(c[r>>2]|0);c[j>>2]=21;K=c[j>>2]|0;i=g;return K|0}if((ap(E,c[q>>2]|0)|0)>0){tq(c[p>>2]|0,c[q>>2]|0);c[c[o>>2]>>2]=1}c[s>>2]=vq(c[l>>2]|0)|0;up(c[s>>2]|0,c[p>>2]|0,c[q>>2]|0);c[v>>2]=wq(((c[l>>2]|0)>>>0)/2|0)|0;c[w>>2]=wq(((c[l>>2]|0)>>>0)/2|0)|0;c[x>>2]=wq(c[l>>2]|0)|0;Mo(c[v>>2]|0,c[p>>2]|0,1);Mo(c[w>>2]|0,c[q>>2]|0,1);up(c[x>>2]|0,c[v>>2]|0,c[w>>2]|0);c[z>>2]=wq(c[l>>2]|0)|0;if(!(jp(c[z>>2]|0,c[r>>2]|0,c[x>>2]|0)|0))xf(39530,39434,541,39564);jp(c[z>>2]|0,c[v>>2]|0,c[w>>2]|0)|0;c[y>>2]=c[v>>2];c[v>>2]=0;xq(c[w>>2]|0);c[w>>2]=0;fp(c[y>>2]|0,c[x>>2]|0,c[z>>2]|0);xq(c[x>>2]|0);c[x>>2]=0;c[t>>2]=c[z>>2];c[z>>2]=0;pp(c[t>>2]|0,c[r>>2]|0,c[y>>2]|0)|0;c[u>>2]=c[y>>2];c[y>>2]=0;pp(c[u>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;if(jg(1)|0){if(c[c[o>>2]>>2]|0)Df(39578,h);Hf(45630,c[p>>2]|0);Hf(39599,c[q>>2]|0);Hf(39603,c[s>>2]|0);Hf(39607,c[r>>2]|0);Hf(39611,c[t>>2]|0);Hf(39615,c[u>>2]|0)}c[c[k>>2]>>2]=c[s>>2];c[(c[k>>2]|0)+4>>2]=c[r>>2];c[(c[k>>2]|0)+12>>2]=c[p>>2];c[(c[k>>2]|0)+16>>2]=c[q>>2];c[(c[k>>2]|0)+8>>2]=c[t>>2];c[(c[k>>2]|0)+20>>2]=c[u>>2];if(Yl(c[k>>2]|0,(c[l>>2]|0)-64|0)|0){xq(c[c[k>>2]>>2]|0);c[c[k>>2]>>2]=0;xq(c[(c[k>>2]|0)+4>>2]|0);c[(c[k>>2]|0)+4>>2]=0;xq(c[(c[k>>2]|0)+12>>2]|0);c[(c[k>>2]|0)+12>>2]=0;xq(c[(c[k>>2]|0)+16>>2]|0);c[(c[k>>2]|0)+16>>2]=0;xq(c[(c[k>>2]|0)+8>>2]|0);c[(c[k>>2]|0)+8>>2]=0;xq(c[(c[k>>2]|0)+20>>2]|0);c[(c[k>>2]|0)+20>>2]=0;Jh(39434,586,39564,0,39619);c[j>>2]=50;K=c[j>>2]|0;i=g;return K|0}else{c[j>>2]=0;K=c[j>>2]|0;i=g;return K|0}}c[j>>2]=55;K=c[j>>2]|0;i=g;return K|0}function Wl(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=wq(c[d>>2]|0)|0;yq(c[e>>2]|0,c[d>>2]|0,2);Uo(c[e>>2]|0,(c[d>>2]|0)-1|0);To(c[e>>2]|0,(c[d>>2]|0)-2|0);a=Ro(c[e>>2]|0)|0;if((a|0)==(c[d>>2]|0)){i=b;return c[e>>2]|0}else xf(39398,39434,360,39440);return 0}function Xl(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=wq(101)|0;yq(c[b>>2]|0,101,2);Uo(c[b>>2]|0,100);if((Ro(c[b>>2]|0)|0)==101){i=a;return c[b>>2]|0}else xf(39457,39434,375,39491);return 0}function Yl(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+48|0;e=d+32|0;f=d+28|0;g=d+24|0;h=d+16|0;j=d+12|0;k=d+8|0;l=d+4|0;m=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=-1;c[j>>2]=vq(c[f>>2]|0)|0;c[k>>2]=vq(c[f>>2]|0)|0;c[l>>2]=vq(c[f>>2]|0)|0;c[m>>2]=vq(c[f>>2]|0)|0;c[h>>2]=c[c[e>>2]>>2];c[h+4>>2]=c[(c[e>>2]|0)+4>>2];yq(c[j>>2]|0,c[f>>2]|0,0);Zl(c[k>>2]|0,c[j>>2]|0,h);if((((ap(c[k>>2]|0,c[j>>2]|0)|0)!=0?(_l(c[l>>2]|0,c[k>>2]|0,c[e>>2]|0),(ap(c[l>>2]|0,c[j>>2]|0)|0)==0):0)?(yq(c[j>>2]|0,c[f>>2]|0,0),_l(c[m>>2]|0,c[j>>2]|0,c[e>>2]|0),Zl(c[l>>2]|0,c[m>>2]|0,h),(ap(c[l>>2]|0,c[j>>2]|0)|0)==0):0)?(Ko(c[m>>2]|0,c[m>>2]|0,1),Zl(c[l>>2]|0,c[m>>2]|0,h),(ap(c[l>>2]|0,c[j>>2]|0)|0)!=0):0)c[g>>2]=0;xq(c[m>>2]|0);xq(c[l>>2]|0);xq(c[k>>2]|0);xq(c[j>>2]|0);i=d;return c[g>>2]|0}function Zl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[f>>2]|0)==(c[g>>2]|0)){c[j>>2]=$p(c[(c[g>>2]|0)+4>>2]<<1)|0;wp(c[j>>2]|0,c[g>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[c[h>>2]>>2]|0);oq(c[f>>2]|0,c[j>>2]|0)|0;hq(c[j>>2]|0);i=e;return}else{wp(c[f>>2]|0,c[g>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[c[h>>2]>>2]|0);i=e;return}}function _l(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+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;Qo(c[g>>2]|0);if(((c[(c[h>>2]|0)+12>>2]|0)!=0?(c[(c[h>>2]|0)+16>>2]|0)!=0:0)?(c[(c[h>>2]|0)+20>>2]|0)!=0:0){c[j>>2]=bq((c[(c[c[h>>2]>>2]|0)+4>>2]|0)+1|0)|0;c[k>>2]=bq((c[(c[c[h>>2]>>2]|0)+4>>2]|0)+1|0)|0;c[l>>2]=bq((c[(c[c[h>>2]>>2]|0)+4>>2]|0)+1|0)|0;Mo(c[l>>2]|0,c[(c[h>>2]|0)+12>>2]|0,1);bp(c[l>>2]|0,c[(c[h>>2]|0)+8>>2]|0,c[l>>2]|0);wp(c[j>>2]|0,c[g>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+12>>2]|0);Mo(c[l>>2]|0,c[(c[h>>2]|0)+16>>2]|0,1);bp(c[l>>2]|0,c[(c[h>>2]|0)+8>>2]|0,c[l>>2]|0);wp(c[k>>2]|0,c[g>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+16>>2]|0);No(c[l>>2]|0,c[k>>2]|0,c[j>>2]|0);if(c[(c[l>>2]|0)+8>>2]|0)Lo(c[l>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+16>>2]|0);vp(c[l>>2]|0,c[(c[h>>2]|0)+20>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+16>>2]|0);up(c[l>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+12>>2]|0);Lo(c[f>>2]|0,c[j>>2]|0,c[l>>2]|0);hq(c[l>>2]|0);hq(c[j>>2]|0);hq(c[k>>2]|0);i=e;return}wp(c[f>>2]|0,c[g>>2]|0,c[(c[h>>2]|0)+8>>2]|0,c[c[h>>2]>>2]|0);i=e;return}function $l(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+80|0;g=f+64|0;h=f+60|0;j=f+56|0;k=f+52|0;l=f+48|0;m=f+44|0;n=f+40|0;o=f+36|0;p=f+32|0;q=f+28|0;r=f+24|0;s=f+20|0;t=f+16|0;u=f+12|0;v=f+8|0;w=f+4|0;x=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if(Ah()|0){if((c[j>>2]|0)>>>0<1024){c[g>>2]=55;y=c[g>>2]|0;i=f;return y|0}if(c[l>>2]|0){c[g>>2]=55;y=c[g>>2]|0;i=f;return y|0}}c[x>>2]=(c[l>>2]|0)!=0?1:2;if(c[j>>2]&1)c[j>>2]=(c[j>>2]|0)+1;if((c[k>>2]|0)==1)c[k>>2]=65537;c[t>>2]=$p(1)|0;if(c[k>>2]|0){c[k>>2]=c[k>>2]|1;sq(c[t>>2]|0,c[k>>2]|0)|0}else sq(c[t>>2]|0,41)|0;c[s>>2]=vq(c[j>>2]|0)|0;c[n>>2]=0;c[m>>2]=0;do{if(c[m>>2]|0)xq(c[m>>2]|0);if(c[n>>2]|0)xq(c[n>>2]|0);l=((c[j>>2]|0)>>>0)/2|0;e=c[x>>2]|0;if(c[k>>2]|0){c[m>>2]=ck(l,e,6,c[t>>2]|0)|0;c[n>>2]=ck(((c[j>>2]|0)>>>0)/2|0,c[x>>2]|0,6,c[t>>2]|0)|0}else{c[m>>2]=ck(l,e,0,0)|0;c[n>>2]=ck(((c[j>>2]|0)>>>0)/2|0,c[x>>2]|0,0,0)|0}if((ap(c[m>>2]|0,c[n>>2]|0)|0)>0)tq(c[m>>2]|0,c[n>>2]|0);up(c[s>>2]|0,c[m>>2]|0,c[n>>2]|0);e=Ro(c[s>>2]|0)|0}while((e|0)!=(c[j>>2]|0));c[q>>2]=bq(c[(c[m>>2]|0)+4>>2]|0)|0;c[r>>2]=bq(c[(c[m>>2]|0)+4>>2]|0)|0;c[u>>2]=wq(c[j>>2]|0)|0;c[v>>2]=wq(c[j>>2]|0)|0;c[w>>2]=wq(c[j>>2]|0)|0;Mo(c[q>>2]|0,c[m>>2]|0,1);Mo(c[r>>2]|0,c[n>>2]|0,1);up(c[u>>2]|0,c[q>>2]|0,c[r>>2]|0);jp(c[v>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;fp(c[w>>2]|0,c[u>>2]|0,c[v>>2]|0);while(1){if(!((jp(c[q>>2]|0,c[t>>2]|0,c[u>>2]|0)|0)!=0^1))break;if(c[k>>2]|0){z=27;break}Ko(c[t>>2]|0,c[t>>2]|0,2)}if((z|0)==27)wf(39434,287,39686);c[o>>2]=wq(c[j>>2]|0)|0;pp(c[o>>2]|0,c[t>>2]|0,c[w>>2]|0)|0;c[p>>2]=wq(c[j>>2]|0)|0;pp(c[p>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(jg(1)|0){Hf(39699,c[m>>2]|0);Hf(39705,c[n>>2]|0);Hf(39711,c[u>>2]|0);Hf(39717,c[v>>2]|0);Hf(39723,c[w>>2]|0);Hf(39729,c[s>>2]|0);Hf(39735,c[t>>2]|0);Hf(39741,c[o>>2]|0);Hf(39747,c[p>>2]|0)}xq(c[q>>2]|0);xq(c[r>>2]|0);xq(c[u>>2]|0);xq(c[w>>2]|0);xq(c[v>>2]|0);c[c[h>>2]>>2]=c[s>>2];c[(c[h>>2]|0)+4>>2]=c[t>>2];c[(c[h>>2]|0)+12>>2]=c[m>>2];c[(c[h>>2]|0)+16>>2]=c[n>>2];c[(c[h>>2]|0)+8>>2]=c[o>>2];c[(c[h>>2]|0)+20>>2]=c[p>>2];if(Yl(c[h>>2]|0,(c[j>>2]|0)-64|0)|0){xq(c[c[h>>2]>>2]|0);c[c[h>>2]>>2]=0;xq(c[(c[h>>2]|0)+4>>2]|0);c[(c[h>>2]|0)+4>>2]=0;xq(c[(c[h>>2]|0)+12>>2]|0);c[(c[h>>2]|0)+12>>2]=0;xq(c[(c[h>>2]|0)+16>>2]|0);c[(c[h>>2]|0)+16>>2]=0;xq(c[(c[h>>2]|0)+8>>2]|0);c[(c[h>>2]|0)+8>>2]=0;xq(c[(c[h>>2]|0)+20>>2]|0);c[(c[h>>2]|0)+20>>2]=0;Jh(39434,334,39686,0,39619);c[g>>2]=50;y=c[g>>2]|0;i=f;return y|0}else{c[g>>2]=0;y=c[g>>2]|0;i=f;return y|0}return 0}function am(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[e>>2];Mo(c[f>>2]|0,c[f>>2]|0,1);c[h>>2]=pq(c[f>>2]|0)|0;c[j>>2]=((jp(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0)!=0^1)&1;xq(c[h>>2]|0);Ko(c[f>>2]|0,c[f>>2]|0,1);i=d;return c[j>>2]|0}function bm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+80|0;d=b+32|0;e=b;f=b+68|0;g=b+64|0;h=b+40|0;c[f>>2]=a;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;a=c[f>>2]|0;c[e>>2]=h;c[e+4>>2]=h+4;c[e+8>>2]=h+8;c[e+12>>2]=h+12;c[e+16>>2]=h+16;c[e+20>>2]=h+20;c[e+24>>2]=0;c[g>>2]=Rg(a,0,39363,e)|0;if((c[g>>2]|0)==0?(cm(h)|0)==0:0)c[g>>2]=7;xq(c[h>>2]|0);xq(c[h+4>>2]|0);xq(c[h+8>>2]|0);xq(c[h+12>>2]|0);xq(c[h+16>>2]|0);xq(c[h+20>>2]|0);if(!(jg(1)|0)){j=c[g>>2]|0;i=b;return j|0}c[d>>2]=fu(c[g>>2]|0)|0;Df(39848,d);j=c[g>>2]|0;i=b;return j|0}function cm(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[f>>2]=$p(c[(c[(c[d>>2]|0)+12>>2]|0)+4>>2]<<1)|0;up(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0,c[(c[d>>2]|0)+16>>2]|0);c[e>>2]=ap(c[f>>2]|0,c[c[d>>2]>>2]|0)|0;hq(c[f>>2]|0);i=b;return ((c[e>>2]|0)!=0^1)&1|0}function dm(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;e=i;i=i+128|0;f=e+32|0;g=e+24|0;h=e+16|0;j=e;k=e+116|0;l=e+112|0;m=e+108|0;n=e+104|0;o=e+64|0;p=e+56|0;q=e+48|0;r=e+44|0;s=e+40|0;t=e+36|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[p>>2]=0;c[q>>2]=0;c[q+4>>2]=0;c[r>>2]=0;pk(o,0,em(c[m>>2]|0)|0);c[n>>2]=rk(c[l>>2]|0,p,o)|0;do if(!(c[n>>2]|0)){if(jg(1)|0)Hf(39870,c[p>>2]|0);if((c[p>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]&4|0)!=0:0){c[n>>2]=79;break}l=c[m>>2]|0;c[j>>2]=q;c[j+4>>2]=q+4;c[j+8>>2]=0;c[n>>2]=Rg(l,0,39360,j)|0;if(!(c[n>>2]|0)){if(jg(1)|0){Hf(39887,c[q>>2]|0);Hf(39904,c[q+4>>2]|0)}c[r>>2]=vq(0)|0;Zl(c[r>>2]|0,c[p>>2]|0,q);if(jg(1)|0)Hf(39921,c[r>>2]|0);if(!(c[o+12>>2]&4)){l=c[k>>2]|0;c[g>>2]=c[r>>2];c[n>>2]=Ig(l,0,39958,g)|0;break}c[t>>2]=(((Ro(c[q>>2]|0)|0)+7|0)>>>0)/8|0;c[n>>2]=Jp(s,0,c[r>>2]|0,c[t>>2]|0)|0;if(!(c[n>>2]|0)){l=c[k>>2]|0;d=c[s>>2]|0;c[h>>2]=c[t>>2];c[h+4>>2]=d;c[n>>2]=Ig(l,0,39938,h)|0;$f(c[s>>2]|0)}}}while(0);xq(c[r>>2]|0);xq(c[q>>2]|0);xq(c[q+4>>2]|0);xq(c[p>>2]|0);qk(o);if(!(jg(1)|0)){u=c[n>>2]|0;i=e;return u|0}c[f>>2]=fu(c[n>>2]|0)|0;Df(39978,f);u=c[n>>2]|0;i=e;return u|0}function em(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+32|0;d=b+16|0;e=b+12|0;f=b+8|0;g=b+4|0;h=b;c[e>>2]=a;c[f>>2]=xg(c[e>>2]|0,39374,1)|0;if(!(c[f>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;i=b;return j|0}c[g>>2]=Fg(c[f>>2]|0,1,5)|0;vg(c[f>>2]|0);if(c[g>>2]|0)k=Ro(c[g>>2]|0)|0;else k=0;c[h>>2]=k;xq(c[g>>2]|0);c[d>>2]=c[h>>2];j=c[d>>2]|0;i=b;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,l=0,m=0,n=0,o=0,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+64|0;g=e+56|0;h=e+48|0;j=e+40|0;k=e+8|0;l=e;m=e+180|0;n=e+176|0;o=e+172|0;p=e+168|0;q=e+128|0;r=e+124|0;s=e+120|0;t=e+96|0;u=e+88|0;v=e+84|0;w=e+80|0;x=e+76|0;y=e+72|0;z=e+68|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[u>>2]=0;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;pk(q,1,em(c[o>>2]|0)|0);c[p>>2]=nk(c[n>>2]|0,7708,r,q)|0;a:do if((c[p>>2]|0)==0?(n=c[r>>2]|0,c[l>>2]=s,c[l+4>>2]=0,c[p>>2]=Rg(n,0,39370,l)|0,(c[p>>2]|0)==0):0){if(jg(1)|0)Hf(4e4,c[s>>2]|0);if((c[s>>2]|0)!=0?(c[(c[s>>2]|0)+12>>2]&4|0)!=0:0){c[p>>2]=79;break}n=c[o>>2]|0;c[k>>2]=t;c[k+4>>2]=t+4;c[k+8>>2]=t+8;c[k+12>>2]=t+12;c[k+16>>2]=t+16;c[k+20>>2]=t+20;c[k+24>>2]=0;c[p>>2]=Rg(n,0,40017,k)|0;if(!(c[p>>2]|0)){if((jg(1)|0)!=0?(Hf(40027,c[t>>2]|0),Hf(40044,c[t+4>>2]|0),(Ah()|0)==0):0){Hf(40061,c[t+8>>2]|0);Hf(40078,c[t+12>>2]|0);Hf(40095,c[t+16>>2]|0);Hf(40112,c[t+20>>2]|0)}Qo(c[s>>2]|0);bp(c[s>>2]|0,c[s>>2]|0,c[t>>2]|0);c[u>>2]=wq(c[q+4>>2]|0)|0;if(c[q+12>>2]&1)_l(c[u>>2]|0,c[s>>2]|0,t);else{c[v>>2]=wq(c[q+4>>2]|0)|0;c[w>>2]=wq(c[q+4>>2]|0)|0;c[x>>2]=wq(c[q+4>>2]|0)|0;do{yq(c[v>>2]|0,c[q+4>>2]|0,0);qp(c[v>>2]|0,c[v>>2]|0,c[t>>2]|0)}while((pp(c[w>>2]|0,c[v>>2]|0,c[t>>2]|0)|0)!=0^1);wp(c[x>>2]|0,c[v>>2]|0,c[t+4>>2]|0,c[t>>2]|0);vp(c[x>>2]|0,c[x>>2]|0,c[s>>2]|0,c[t>>2]|0);_l(c[u>>2]|0,c[x>>2]|0,t);xq(c[x>>2]|0);c[x>>2]=0;vp(c[u>>2]|0,c[u>>2]|0,c[w>>2]|0,c[t>>2]|0);xq(c[v>>2]|0);c[v>>2]=0;xq(c[w>>2]|0);c[w>>2]=0}if(jg(1)|0)Hf(40129,c[u>>2]|0);switch(c[q+8>>2]|0){case 1:{c[p>>2]=Jl(y,z,c[q+4>>2]|0,c[u>>2]|0)|0;hq(c[u>>2]|0);c[u>>2]=0;if(c[p>>2]|0)break a;n=c[m>>2]|0;d=c[y>>2]|0;c[j>>2]=c[z>>2];c[j+4>>2]=d;c[p>>2]=Ig(n,0,40146,j)|0;break a;break}case 3:{c[p>>2]=Ql(y,z,c[q+4>>2]|0,c[q+16>>2]|0,c[u>>2]|0,c[q+20>>2]|0,c[q+24>>2]|0)|0;hq(c[u>>2]|0);c[u>>2]=0;if(c[p>>2]|0)break a;n=c[m>>2]|0;d=c[y>>2]|0;c[h>>2]=c[z>>2];c[h+4>>2]=d;c[p>>2]=Ig(n,0,40146,h)|0;break a;break}default:{n=c[m>>2]|0;d=(c[q+12>>2]&8|0)!=0?40157:49242;c[g>>2]=c[u>>2];c[p>>2]=Ig(n,0,d,g)|0;break a}}}}while(0);$f(c[y>>2]|0);xq(c[u>>2]|0);xq(c[t>>2]|0);xq(c[t+4>>2]|0);xq(c[t+8>>2]|0);xq(c[t+12>>2]|0);xq(c[t+16>>2]|0);xq(c[t+20>>2]|0);xq(c[s>>2]|0);xq(c[v>>2]|0);xq(c[w>>2]|0);xq(c[x>>2]|0);vg(c[r>>2]|0);qk(q);if(!(jg(1)|0)){A=c[p>>2]|0;i=e;return A|0}c[f>>2]=fu(c[p>>2]|0)|0;Df(40160,f);A=c[p>>2]|0;i=e;return A|0}function gm(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;e=i;i=i+160|0;f=e+48|0;g=e+40|0;h=e+32|0;j=e;k=e+148|0;l=e+144|0;m=e+140|0;n=e+136|0;o=e+96|0;p=e+88|0;q=e+64|0;r=e+60|0;s=e+56|0;t=e+52|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[p>>2]=0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[r>>2]=0;pk(o,2,em(c[m>>2]|0)|0);c[n>>2]=rk(c[l>>2]|0,p,o)|0;do if(!(c[n>>2]|0)){if(jg(1)|0)Hf(40182,c[p>>2]|0);if((c[p>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]&4|0)!=0:0){c[n>>2]=79;break}l=c[m>>2]|0;c[j>>2]=q;c[j+4>>2]=q+4;c[j+8>>2]=q+8;c[j+12>>2]=q+12;c[j+16>>2]=q+16;c[j+20>>2]=q+20;c[j+24>>2]=0;c[n>>2]=Rg(l,0,40017,j)|0;if(!(c[n>>2]|0)){if((jg(1)|0)!=0?(Hf(40198,c[q>>2]|0),Hf(40214,c[q+4>>2]|0),(Ah()|0)==0):0){Hf(40230,c[q+8>>2]|0);Hf(40246,c[q+12>>2]|0);Hf(40262,c[q+16>>2]|0);Hf(40278,c[q+20>>2]|0)}c[r>>2]=vq(0)|0;_l(c[r>>2]|0,c[p>>2]|0,q);if(jg(1)|0)Hf(40294,c[r>>2]|0);if(!(c[o+12>>2]&4)){l=c[k>>2]|0;c[g>>2]=c[r>>2];c[n>>2]=Ig(l,0,40330,g)|0;break}c[t>>2]=(((Ro(c[q>>2]|0)|0)+7|0)>>>0)/8|0;c[n>>2]=Jp(s,0,c[r>>2]|0,c[t>>2]|0)|0;if(!(c[n>>2]|0)){l=c[k>>2]|0;d=c[s>>2]|0;c[h>>2]=c[t>>2];c[h+4>>2]=d;c[n>>2]=Ig(l,0,40310,h)|0;$f(c[s>>2]|0)}}}while(0);xq(c[r>>2]|0);xq(c[q>>2]|0);xq(c[q+4>>2]|0);xq(c[q+8>>2]|0);xq(c[q+12>>2]|0);xq(c[q+16>>2]|0);xq(c[q+20>>2]|0);xq(c[p>>2]|0);qk(o);if(!(jg(1)|0)){u=c[n>>2]|0;i=e;return u|0}c[f>>2]=fu(c[n>>2]|0)|0;Df(40350,f);u=c[n>>2]|0;i=e;return u|0}function hm(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;e=i;i=i+112|0;f=e+24|0;g=e+8|0;h=e;j=e+108|0;k=e+104|0;l=e+100|0;m=e+96|0;n=e+56|0;o=e+48|0;p=e+44|0;q=e+40|0;r=e+32|0;s=e+28|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;c[r+4>>2]=0;c[s>>2]=0;pk(n,3,em(c[l>>2]|0)|0);c[m>>2]=rk(c[k>>2]|0,q,n)|0;do if(!(c[m>>2]|0)){if(jg(1)|0)Hf(40371,c[q>>2]|0);if((c[q>>2]|0)!=0?(c[(c[q>>2]|0)+12>>2]&4|0)!=0:0){c[m>>2]=79;break}c[m>>2]=mk(c[j>>2]|0,7708,o,0)|0;if((c[m>>2]|0)==0?(k=c[o>>2]|0,c[h>>2]=p,c[h+4>>2]=0,c[m>>2]=Rg(k,0,39372,h)|0,(c[m>>2]|0)==0):0){if(jg(1)|0)Hf(40387,c[p>>2]|0);k=c[l>>2]|0;c[g>>2]=r;c[g+4>>2]=r+4;c[g+8>>2]=0;c[m>>2]=Rg(k,0,39360,g)|0;if(!(c[m>>2]|0)){if(jg(1)|0){Hf(40403,c[r>>2]|0);Hf(40419,c[r+4>>2]|0)}c[s>>2]=vq(0)|0;Zl(c[s>>2]|0,c[p>>2]|0,r);if(jg(1)|0)Hf(40435,c[s>>2]|0);if(c[n+32>>2]|0){c[m>>2]=Eb[c[n+32>>2]&7](n,c[s>>2]|0)|0;break}else{k=(ap(c[s>>2]|0,c[q>>2]|0)|0)!=0;c[m>>2]=k?8:0;break}}}}while(0);xq(c[s>>2]|0);xq(c[r>>2]|0);xq(c[r+4>>2]|0);xq(c[q>>2]|0);xq(c[p>>2]|0);vg(c[o>>2]|0);qk(n);if(!(jg(1)|0)){t=c[m>>2]|0;i=e;return t|0}if(c[m>>2]|0)u=fu(c[m>>2]|0)|0;else u=49800;c[f>>2]=u;Df(40451,f);t=c[m>>2]|0;i=e;return t|0}function im(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+4|0;h=e;c[f>>2]=a;c[e+8>>2]=b;c[g>>2]=d;if((c[f>>2]|0)==1){c[h>>2]=jm(c[g>>2]|0)|0;j=c[h>>2]|0;i=e;return j|0}else{c[h>>2]=4;j=c[h>>2]|0;i=e;return j|0}return 0}function jm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+32|0;d=b+24|0;e=b+20|0;f=b+16|0;g=b+12|0;h=b+8|0;j=b+4|0;k=b;c[e>>2]=a;c[j>>2]=0;c[k>>2]=0;c[f>>2]=40472;c[h>>2]=Kg(j,0,40480,Kv(40480)|0)|0;if(!(c[h>>2]|0))c[h>>2]=Kg(k,0,41510,Kv(41510)|0)|0;do if(!(c[h>>2]|0)){c[f>>2]=41827;c[h>>2]=Ck(c[j>>2]|0)|0;if(c[h>>2]|0){c[g>>2]=km(c[h>>2]|0)|0;break}c[f>>2]=41843;c[g>>2]=lm(c[k>>2]|0,c[j>>2]|0)|0;if((c[g>>2]|0)==0?(c[f>>2]=42079,c[g>>2]=om(c[k>>2]|0,c[j>>2]|0)|0,(c[g>>2]|0)==0):0){vg(c[k>>2]|0);vg(c[j>>2]|0);c[d>>2]=0;l=c[d>>2]|0;i=b;return l|0}}else c[g>>2]=km(c[h>>2]|0)|0;while(0);vg(c[k>>2]|0);vg(c[j>>2]|0);if(c[e>>2]|0)Fb[c[e>>2]&1](49836,1,c[f>>2]|0,c[g>>2]|0);c[d>>2]=50;l=c[d>>2]|0;i=b;return l|0}function km(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=fu(c[d>>2]|0)|0;i=b;return a|0}function lm(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+24|0;f=d+20|0;g=d+16|0;h=d+12|0;j=d+8|0;k=d+4|0;l=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;c[j>>2]=0;c[k>>2]=0;c[l>>2]=0;c[h>>2]=Kg(j,0,41848,Kv(41848)|0)|0;if(!(c[h>>2]|0))c[h>>2]=Kg(k,0,41924,Kv(41924)|0)|0;do if(!(c[h>>2]|0)){c[h>>2]=Ak(l,c[j>>2]|0,c[f>>2]|0)|0;if(c[h>>2]|0){c[g>>2]=42023;break}c[h>>2]=Bk(c[l>>2]|0,c[j>>2]|0,c[e>>2]|0)|0;if(c[h>>2]|0){c[g>>2]=42038;break}c[h>>2]=Bk(c[l>>2]|0,c[k>>2]|0,c[e>>2]|0)|0;if((mm(c[h>>2]|0)|0)!=8)c[g>>2]=42052}else c[g>>2]=42e3;while(0);vg(c[l>>2]|0);vg(c[k>>2]|0);vg(c[j>>2]|0);i=d;return c[g>>2]|0}function mm(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=nm(c[d>>2]|0)|0;i=b;return a|0}function nm(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;i=b;return c[d>>2]&65535|0} +function Gb(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Hb(){return i|0}function Ib(a){a=a|0;i=a}function Jb(a,b){a=a|0;b=b|0;i=a;j=b}function Kb(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function Lb(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 Mb(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 Nb(a){a=a|0;C=a}function Ob(){return C|0}function Pb(){var a=0,b=0,d=0;a=Cc(8,19098,45)|0;b=ge()|0;d=a;c[d>>2]=b;c[d+4>>2]=C;return a|0}function Qb(a,b){a=a|0;b=b|0;var c=0;c=Cc(64,19098,64)|0;ld(a,b,c);return c|0}function Rb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+32|0;d=b;e=a;f=c[e>>2]|0;g=c[e+4>>2]|0;e=c[a+8>>2]|0;c[d>>2]=a;c[d+4>>2]=a+12;a=d+8|0;c[a>>2]=f;c[a+4>>2]=g;c[d+16>>2]=e;Fw(19105,d)|0;i=b;return}function Sb(a){a=a|0;var b=0;b=Cc(32,19098,116)|0;bd(a,b);return b|0}function Tb(a,b){a=a|0;b=b|0;var c=0,d=0;c=Cc(64,19098,131)|0;d=(kd(a,b,c)|0)==-1;return (d?0:c)|0}function Ub(a){a=a|0;var b=0,c=0;b=Cc(32,19098,151)|0;c=(dd(a,Kv(a)|0,b)|0)==1;return (c?b:0)|0}function Vb(a){a=a|0;var b=0,c=0,d=0;b=i;i=i+32|0;c=b;if((dd(a,Kv(a)|0,c)|0)!=1){d=0;i=b;return d|0}a=Cc(32,19098,173)|0;$c(c,a);d=a;i=b;return d|0}function Wb(a){a=a|0;var b=0;b=Cc(32,19098,190)|0;$c(a,b);return b|0}function Xb(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];a=ae(d)|0;i=b;return a|0}function Yb(a){a=a|0;Ec(a,19098,213);return}function Zb(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;c[d>>2]=jw(8)|0;c[d+4>>2]=jw(1302)|0;e=Cc(64,19098,234)|0;hd(a,d,e)|0;i=b;return e|0}function _b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;c[e>>2]=jw(8)|0;c[e+4>>2]=jw(1303)|0;f=jd(1303,e,a,b)|0;i=d;return f|0}function $b(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(!(gv(a,19142)|0)){e=jd(1200,b,c,d)|0;return e|0}if(gv(a,19158)|0){e=-1;return e|0}e=jd(1101,b,c,d)|0;return e|0}function ac(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;a[b+c>>0]=0;do if(gv(b,19173)|0){if(!(gv(b,19206)|0)){f=jw(1303)|0;break}if(!(gv(b,19142)|0)){f=jw(1200)|0;break}else{g=0;return g|0}}else f=jw(1025)|0;while(0);b=e+8|0;c=jw(b)|0;h=Cc(b,19098,329)|0;a[h>>0]=c;a[h+1>>0]=c>>8;a[h+2>>0]=c>>16;a[h+3>>0]=c>>24;c=h+4|0;a[c>>0]=f;a[c+1>>0]=f>>8;a[c+2>>0]=f>>16;a[c+3>>0]=f>>24;if(!e){g=h;return g|0}Dx(h+64|0,d|0,e|0)|0;g=h;return g|0}function bc(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=d+8|0;f=Cc(e,19098,348)|0;Dx(f+8|0,c|0,d|0)|0;d=jw(b)|0;b=f+4|0;a[b>>0]=d;a[b+1>>0]=d>>8;a[b+2>>0]=d>>16;a[b+3>>0]=d>>24;d=jw(e)|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;return f|0}function cc(a){a=a|0;var b=0,c=0;b=~~+M(+(+(((Kv(a)|0)*5|0)>>>3>>>0)))>>>0;c=Cc(b,19098,373)|0;de(a,Kv(a)|0,c,b)|0;a=Od(c,b)|0;Ec(c,19098,213);return a|0}function dc(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=Qd(a,d)|0;a=ce(c[d>>2]|0,e)|0;Ec(c[d>>2]|0,19098,213);i=b;return a|0}function ec(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;g=Cc(64,19098,416)|0;h=Kv(a)|0;c[f>>2]=0;c[f+4>>2]=0;j=(wd(g,64,a,h,b,d,f)|0)==1;i=e;return (j?g:0)|0}function fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;g=Cc(32,19098,441)|0;h=Kv(a)|0;c[f>>2]=0;c[f+4>>2]=0;j=(wd(g,32,a,h,b,d,f)|0)==1;i=e;return (j?g:0)|0}function gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;g=Cc(64,19098,464)|0;h=Kv(a)|0;c[f>>2]=0;c[f+4>>2]=0;j=(wd(g,64,a,h,b,d,f)|0)==1;i=e;return (j?g:0)|0}function hc(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,n=0;j=i;i=i+80|0;k=j+48|0;l=j+24|0;m=j;if((Ou(h,k)|0)!=1){n=0;i=j;return n|0}if((Ou(h,l)|0)!=1){n=0;i=j;return n|0}if((Ou(h,m)|0)!=1){n=0;i=j;return n|0}h=k;c[h>>2]=a;c[h+4>>2]=b;c[k+8>>2]=f;f=l;c[f>>2]=d;c[f+4>>2]=e;c[l+8>>2]=g;if((Vu(m,k,l)|0)!=1){n=0;i=j;return n|0}l=Cc(24,19098,512)|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];c[l+16>>2]=c[m+16>>2];c[l+20>>2]=c[m+20>>2];n=l;i=j;return n|0}function ic(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;j=i;i=i+224|0;k=j;Nd(f,k+88|0);Mu(k+40|0,d);Mu(k+64|0,e);e=k+8|0;d=b;b=e+32|0;do{a[e>>0]=a[d>>0]|0;e=e+1|0;d=d+1|0}while((e|0)<(b|0));c[k>>2]=jw(216)|0;c[k+4>>2]=jw(1200)|0;ld(g,h,k+152|0);h=Cc(216,19098,567)|0;Dx(h|0,k|0,216)|0;i=j;return h|0}function jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+80|0;e=d;c[e>>2]=72;c[e+4>>2]=1201;f=e+8|0;g=a;a=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(a|0));g=Cc(64,19098,593)|0;hd(b,e,g)|0;i=d;return g|0}function kc(a){a=a|0;var b=0;b=Cc(64,19098,635)|0;Nd(a,b);return b|0}function lc(b,d,e,f,g,h,j,k,l,m,n){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;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;o=i;i=i+272|0;p=o+32|0;q=o+40|0;r=o+24|0;s=o+16|0;t=o+8|0;u=o;v=Mx(f|0,0,1e6,0)|0;f=r;c[f>>2]=v;c[f+4>>2]=C;f=Mx(g|0,0,1e6,0)|0;g=s;c[g>>2]=f;c[g+4>>2]=C;g=Mx(h|0,0,1e6,0)|0;h=t;c[h>>2]=g;c[h+4>>2]=C;h=Mx(j|0,0,1e6,0)|0;j=u;c[j>>2]=h;c[j+4>>2]=C;Nd(b,q+168|0);b=q+8|0;j=d;h=b+32|0;do{a[b>>0]=a[j>>0]|0;b=b+1|0;j=j+1|0}while((b|0)<(h|0));c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];r=le(p)|0;j=q+40|0;c[j>>2]=r;c[j+4>>2]=C;c[p>>2]=c[s>>2];c[p+4>>2]=c[s+4>>2];s=le(p)|0;j=q+48|0;c[j>>2]=s;c[j+4>>2]=C;c[p>>2]=c[t>>2];c[p+4>>2]=c[t+4>>2];t=le(p)|0;j=q+56|0;c[j>>2]=t;c[j+4>>2]=C;c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];u=le(p)|0;p=q+64|0;c[p>>2]=u;c[p+4>>2]=C;Mu(q+72|0,k);Mu(q+96|0,l);Mu(q+120|0,m);Mu(q+144|0,n);c[q+4>>2]=jw(1025)|0;c[q>>2]=jw(232)|0;n=(jd(1025,q,e,d)|0)==1&1;i=o;return n|0}function mc(a,b,d,e,f,g,h,j,k,l,m,n,o,p,q,r,s,t,u){a=a|0;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;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;var v=0,w=0,x=0,y=0,z=0,A=0,B=0;q=i;i=i+192|0;p=q+160|0;v=q+96|0;w=q+72|0;x=q+48|0;y=q+24|0;z=q;A=~~+M(+(+(((Kv(a)|0)*5|0)>>>3>>>0)))>>>0;B=Cc(A,19098,373)|0;de(a,Kv(a)|0,B,A)|0;a=Od(B,A)|0;Ec(B,19098,213);de(b,Kv(b)|0,p,32)|0;de(d,Kv(d)|0,v,64)|0;Ou(l,w)|0;l=w;c[l>>2]=j;c[l+4>>2]=0;c[w+8>>2]=k;Ou(o,x)|0;o=x;c[o>>2]=m;c[o+4>>2]=0;c[x+8>>2]=n;Ou(r,y)|0;r=y;c[r>>2]=m;c[r+4>>2]=0;c[y+8>>2]=n;Ou(u,z)|0;u=z;c[u>>2]=s;c[u+4>>2]=0;c[z+8>>2]=t;t=lc(a,p,v,e,f,g,h,w,x,y,z)|0;Ld(a);i=q;return t|0}function nc(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;g=i;i=i+160|0;h=g+8|0;j=g;k=g+80|0;l=g+16|0;m=Mx(d|0,0,1e6,0)|0;d=j;c[d>>2]=m;c[d+4>>2]=C;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];j=le(h)|0;h=k+8|0;c[h>>2]=j;c[h+4>>2]=C;h=nd()|0;if(e|0){j=0;do{Nd(c[b+(j<<2)>>2]|0,l);od(h,l,64);j=j+1|0}while((j|0)!=(e|0))}pd(h,k+16|0);c[k>>2]=jw(80)|0;c[k+4>>2]=jw(1035)|0;h=(jd(1035,k,f,a)|0)==1&1;i=g;return h|0}function oc(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;g=i;i=i+96|0;h=g+64|0;j=g;k=i;i=i+((1*(d<<2)|0)+15&-16)|0;de(a,Kv(a)|0,h,32)|0;de(f,Kv(f)|0,j,64)|0;f=(d|0)==0;if(f){l=nc(h,k,e,d,j)|0;i=g;return l|0}else m=0;do{a=c[b+(m<<2)>>2]|0;n=~~+M(+(+(((Kv(a)|0)*5|0)>>>3>>>0)))>>>0;o=Cc(n,19098,373)|0;de(a,Kv(a)|0,o,n)|0;a=Od(o,n)|0;Ec(o,19098,213);c[k+(m<<2)>>2]=a;m=m+1|0}while((m|0)!=(d|0));m=nc(h,k,e,d,j)|0;if(f){l=m;i=g;return l|0}else p=0;do{Ld(c[k+(p<<2)>>2]|0);p=p+1|0}while((p|0)!=(d|0));l=m;i=g;return l|0}function pc(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;j=i;i=i+256|0;k=j+24|0;l=j+96|0;m=j+16|0;n=j+8|0;o=j;p=j+64|0;q=j+32|0;r=p;s=b;t=r+32|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));r=q;s=g;t=r+32|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));r=l+72|0;s=p;t=r+32|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));p=Mx(d|0,0,1e6,0)|0;d=m;c[d>>2]=p;c[d+4>>2]=C;d=Mx(e|0,0,1e6,0)|0;e=n;c[e>>2]=d;c[e+4>>2]=C;e=Mx(f|0,0,1e6,0)|0;f=o;c[f>>2]=e;c[f+4>>2]=C;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];m=le(k)|0;f=C;e=l+104|0;d=e;a[d>>0]=m;a[d+1>>0]=m>>8;a[d+2>>0]=m>>16;a[d+3>>0]=m>>24;m=e+4|0;a[m>>0]=f;a[m+1>>0]=f>>8;a[m+2>>0]=f>>16;a[m+3>>0]=f>>24;c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];n=le(k)|0;f=C;m=l+112|0;e=m;a[e>>0]=n;a[e+1>>0]=n>>8;a[e+2>>0]=n>>16;a[e+3>>0]=n>>24;n=m+4|0;a[n>>0]=f;a[n+1>>0]=f>>8;a[n+2>>0]=f>>16;a[n+3>>0]=f>>24;c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];o=le(k)|0;k=C;f=l+120|0;n=f;a[n>>0]=o;a[n+1>>0]=o>>8;a[n+2>>0]=o>>16;a[n+3>>0]=o>>24;o=f+4|0;a[o>>0]=k;a[o+1>>0]=k>>8;a[o+2>>0]=k>>16;a[o+3>>0]=k>>24;r=l+128|0;s=q;t=r+32|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));s=jw(1024)|0;r=l+64|0;t=l+68|0;a[t>>0]=s;a[t+1>>0]=s>>8;a[t+2>>0]=s>>16;a[t+3>>0]=s>>24;s=jw(96)|0;a[r>>0]=s;a[r+1>>0]=s>>8;a[r+2>>0]=s>>16;a[r+3>>0]=s>>24;s=(jd(1024,r,h,b)|0)==1&1;i=j;return s|0}function qc(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+352|0;k=j+24|0;l=j+192|0;m=j+16|0;n=j+8|0;o=j;p=j+160|0;q=j+128|0;r=j+96|0;s=j+32|0;de(b,Kv(b)|0,q,32)|0;de(g,Kv(g)|0,r,32)|0;de(h,Kv(h)|0,s,64)|0;h=p;g=r;r=h+32|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(r|0));h=l+72|0;g=q;r=h+32|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(r|0));b=Mx(d|0,0,1e6,0)|0;d=m;c[d>>2]=b;c[d+4>>2]=C;d=Mx(e|0,0,1e6,0)|0;e=n;c[e>>2]=d;c[e+4>>2]=C;e=Mx(f|0,0,1e6,0)|0;f=o;c[f>>2]=e;c[f+4>>2]=C;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];m=le(k)|0;f=C;e=l+104|0;d=e;a[d>>0]=m;a[d+1>>0]=m>>8;a[d+2>>0]=m>>16;a[d+3>>0]=m>>24;m=e+4|0;a[m>>0]=f;a[m+1>>0]=f>>8;a[m+2>>0]=f>>16;a[m+3>>0]=f>>24;c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];n=le(k)|0;f=C;m=l+112|0;e=m;a[e>>0]=n;a[e+1>>0]=n>>8;a[e+2>>0]=n>>16;a[e+3>>0]=n>>24;n=m+4|0;a[n>>0]=f;a[n+1>>0]=f>>8;a[n+2>>0]=f>>16;a[n+3>>0]=f>>24;c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];o=le(k)|0;k=C;f=l+120|0;n=f;a[n>>0]=o;a[n+1>>0]=o>>8;a[n+2>>0]=o>>16;a[n+3>>0]=o>>24;o=f+4|0;a[o>>0]=k;a[o+1>>0]=k>>8;a[o+2>>0]=k>>16;a[o+3>>0]=k>>24;h=l+128|0;g=p;r=h+32|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(r|0));g=jw(1024)|0;h=l+64|0;r=l+68|0;a[r>>0]=g;a[r+1>>0]=g>>8;a[r+2>>0]=g>>16;a[r+3>>0]=g>>24;g=jw(96)|0;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;g=(jd(1024,h,s,q)|0)==1&1;i=j;return g|0}function rc(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;n=i;i=i+368|0;o=n+16|0;p=n+24|0;q=n+8|0;r=n;s=n+328|0;t=n+296|0;u=p+8|0;v=b;b=u+64|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));u=p+72|0;v=d;b=u+64|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));u=s;v=l;b=u+32|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));u=t;v=k;b=u+32|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));k=Mx(e|0,0,1e6,0)|0;e=q;c[e>>2]=k;c[e+4>>2]=C;e=Mx(f|0,0,1e6,0)|0;f=r;c[f>>2]=e;c[f+4>>2]=C;c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];q=le(o)|0;f=p+136|0;c[f>>2]=q;c[f+4>>2]=C;c[o>>2]=c[r>>2];c[o+4>>2]=c[r+4>>2];r=le(o)|0;o=p+144|0;c[o>>2]=r;c[o+4>>2]=C;o=Hc(g,0)|0;g=p+152|0;c[g>>2]=o;c[g+4>>2]=C;Mu(p+160|0,h);Mu(p+184|0,j);u=p+208|0;v=t;b=u+32|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));u=p+240|0;v=s;b=u+32|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));c[p>>2]=jw(272)|0;c[p+4>>2]=jw(1201)|0;v=Cc(64,19098,1137)|0;hd(m,p,v)|0;i=n;return v|0}function sc(b,d,e,f,g,h,j,k,l,m,n){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;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;o=i;i=i+304|0;p=o+16|0;q=o+24|0;r=o+272|0;s=o+8|0;t=o;u=q+8|0;v=b;b=u+64|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));u=q+72|0;v=d;b=u+64|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));u=r;v=k;b=u+32|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));u=q+216|0;v=l;b=u+32|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));u=q+184|0;v=r;b=u+32|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));v=Mx(e|0,0,1e6,0)|0;e=s;c[e>>2]=v;c[e+4>>2]=C;e=Mx(f|0,0,1e6,0)|0;f=t;c[f>>2]=e;c[f+4>>2]=C;c[p>>2]=c[s>>2];c[p+4>>2]=c[s+4>>2];s=le(p)|0;f=q+144|0;c[f>>2]=s;c[f+4>>2]=C;c[p>>2]=c[t>>2];c[p+4>>2]=c[t+4>>2];t=le(p)|0;p=q+152|0;c[p>>2]=t;c[p+4>>2]=C;Mu(q+160|0,j);j=Hc(g,h)|0;h=q+136|0;c[h>>2]=j;c[h+4>>2]=C;c[q+4>>2]=jw(1033)|0;c[q>>2]=jw(248)|0;h=(jd(1033,q,m,n)|0)!=-1&1;i=o;return h|0}function tc(a,b){a=a|0;b=b|0;var c=0;c=Cc(64,19098,1248)|0;hd(a,b,c)|0;return c|0}function uc(a){a=a|0;return nw(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24)|0}function vc(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+32|0;g=f;if((Ou(e,g)|0)!=1){h=0;i=f;return h|0}e=g;c[e>>2]=a;c[e+4>>2]=b;c[g+8>>2]=d;d=Cc(24,19098,1291)|0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[d+16>>2]=c[g+16>>2];c[d+20>>2]=c[g+20>>2];h=d;i=f;return h|0}function wc(){Cw(19222)|0;return}function xc(a){a=a|0;var b=0;b=a;C=c[b+4>>2]|0;return c[b>>2]|0}function yc(a){a=a|0;return c[a+8>>2]|0}function zc(a){a=a|0;return a+12|0}function Ac(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;Ou(a+12|0,e)|0;if((Su(a)|0)==-1){f=-1;i=d;return f|0}g=a;h=c[g>>2]|0;j=c[g+4>>2]|0;g=Mx(h|0,j|0,b|0,0)|0;k=C;l=e;c[l>>2]=g;c[l+4>>2]=k;l=Nx(g|0,k|0,b|0,0)|0;if(!((l|0)==(h|0)&(C|0)==(j|0))){f=-1;i=d;return f|0}j=c[a+8>>2]|0;h=_(j,b)|0;c[e+8>>2]=h;if(((h>>>0)/(b>>>0)|0|0)!=(j|0)){f=-1;i=d;return f|0}Su(e)|0;c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];c[a+16>>2]=c[e+16>>2];c[a+20>>2]=c[e+20>>2];f=1;i=d;return f|0}function Bc(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0;if((Su(a)|0)==-1){d=-1.0;return +d}if((Su(b)|0)==-1){d=-1.0;return +d}e=a;f=b;d=(+((c[a+8>>2]|0)>>>0)/1.0e6+(+((c[e>>2]|0)>>>0)+4294967296.0*+((c[e+4>>2]|0)>>>0)))*(+((c[b+8>>2]|0)>>>0)/1.0e6+(+((c[f>>2]|0)>>>0)+4294967296.0*+((c[f+4>>2]|0)>>>0)));return +d}function Cc(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;e=i;i=i+64|0;f=e+24|0;g=e+8|0;h=e;j=e+56|0;k=e+52|0;l=e+48|0;m=e+44|0;n=e+40|0;o=e+36|0;p=e+32|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;if((c[j>>2]|0)>>>0>41943040){c[n>>2]=74;if((c[184]|0)==-1)c[184]=Mc(1,0,19262,19282,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[184]|0))Lc();n=c[l>>2]|0;c[h>>2]=c[k>>2];c[h+4>>2]=n;Rc(1,61592,h);Lc()}c[m>>2]=Dc(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if(c[m>>2]|0){i=e;return c[m>>2]|0}c[o>>2]=81;if((c[185]|0)==-1)c[185]=Mc(1,21083,19262,19282,c[o>>2]|0)|0;if((Pc()|0)<=0){if(c[185]|0){o=ov(c[(Yu()|0)>>2]|0)|0;c[g>>2]=19298;c[g+4>>2]=19262;c[g+8>>2]=81;c[g+12>>2]=o;Wc(1,21083,20661,g)}}else Qc(-1,0);c[p>>2]=82;if((c[186]|0)==-1)c[186]=Mc(1,0,19262,19282,c[p>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[186]|0))Lc();c[f>>2]=19262;c[f+4>>2]=82;Rc(1,61592,f);Lc();return 0}function Dc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[h>>2]=sx(c[g>>2]|0)|0;if(!(c[h>>2]|0)){c[f>>2]=0;j=c[f>>2]|0;i=e;return j|0}else{Fx(c[h>>2]|0,0,c[g>>2]|0)|0;c[f>>2]=c[h>>2];j=c[f>>2]|0;i=e;return j|0}return 0}function Ec(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+32|0;f=e;g=e+20|0;h=e+16|0;j=e+12|0;k=e+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(c[g>>2]|0){tx(c[g>>2]|0);i=e;return}c[k>>2]=237;if((c[187]|0)==-1)c[187]=Mc(1,0,19262,19305,c[k>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[187]|0))Lc();k=c[j>>2]|0;c[f>>2]=c[h>>2];c[f+4>>2]=k;Rc(1,61592,f);Lc()}function Fc(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+32|0;f=e;g=e+28|0;h=e+24|0;j=e+20|0;k=e+16|0;l=e+12|0;m=e+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(c[g>>2]|0){c[l>>2]=(Kv(c[g>>2]|0)|0)+1;c[k>>2]=Cc(c[l>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;Dx(c[k>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;i=e;return c[k>>2]|0}c[m>>2]=278;if((c[188]|0)==-1)c[188]=Mc(1,0,19262,19319,c[m>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[188]|0))Lc();m=c[j>>2]|0;c[f>>2]=c[h>>2];c[f+4>>2]=m;Rc(1,61592,f);Lc();return 0}function Gc(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+48|0;g=f;h=f+44|0;j=f+40|0;k=f+36|0;l=f+32|0;m=f+16|0;n=f+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[l>>2]=uv(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,m)|0;if((c[l>>2]|0)>>>0<(c[j>>2]|0)>>>0){i=f;return c[l>>2]|0}c[n>>2]=433;if((c[189]|0)==-1)c[189]=Mc(1,0,19262,19335,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[189]|0))Lc();c[g>>2]=19262;c[g+4>>2]=433;Rc(1,61592,g);Lc();return 0}function Hc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=e;c[f>>2]=a;c[f+4>>2]=b;b=jw(c[e>>2]|0)|0;f=Ax(0,b|0,jw(c[e+4>>2]|0)|0,0)|0;i=d;return f|0}function Ic(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=e;c[f>>2]=a;c[f+4>>2]=b;b=nw(c[e>>2]|0)|0;f=Ax(0,b|0,nw(c[e+4>>2]|0)|0,0)|0;i=d;return f|0}function Jc(){c[17640]=c[3962];return}function Kc(){return}function Lc(){gb()}function Mc(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;g=i;i=i+48|0;h=g+32|0;j=g+28|0;k=g+24|0;l=g+20|0;m=g+16|0;n=g+12|0;o=g+8|0;p=g+4|0;q=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;if(!(c[k>>2]|0))c[k>>2]=c[17641];if((c[17642]|0)>=0&0==(c[17643]|0)){c[h>>2]=(c[j>>2]|0)<=(c[17642]|0)&1;r=c[h>>2]|0;i=g;return r|0}c[q>>2]=(c[17642]|0)>=0&1;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[17644]|0))break;c[o>>2]=(c[17645]|0)+((c[p>>2]|0)*112|0);if(!(c[q>>2]|0?!(c[(c[o>>2]|0)+108>>2]|0):0))s=9;if((((((s|0)==9?(s=0,(c[n>>2]|0)>=(c[(c[o>>2]|0)+96>>2]|0)):0)?(c[n>>2]|0)<=(c[(c[o>>2]|0)+100>>2]|0):0)?0==(ox(c[o>>2]|0,c[k>>2]|0,0,0,0)|0):0)?0==(ox((c[o>>2]|0)+32|0,c[l>>2]|0,0,0,0)|0):0)?0==(ox((c[o>>2]|0)+64|0,c[m>>2]|0,0,0,0)|0):0){s=14;break}c[p>>2]=(c[p>>2]|0)+1}if((s|0)==14){c[h>>2]=(c[j>>2]|0)<=(c[(c[o>>2]|0)+104>>2]|0)&1;r=c[h>>2]|0;i=g;return r|0}o=c[j>>2]|0;if((c[17642]|0)>=0){c[h>>2]=(o|0)<=(c[17642]|0)&1;r=c[h>>2]|0;i=g;return r|0}else{c[h>>2]=(o|0)<=2&1;r=c[h>>2]|0;i=g;return r|0}return 0}function Nc(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;d=i;i=i+4176|0;e=d+24|0;f=d+16|0;g=d;h=d+72|0;j=d+68|0;k=d+76|0;l=d+64|0;m=d+60|0;n=d+56|0;o=d+52|0;p=d+48|0;q=d+44|0;c[j>>2]=b;if(!(c[17647]|0)){c[h>>2]=-1;r=c[h>>2]|0;i=d;return r|0}if(!(Ma(k|0,4097,c[17647]|0,c[j>>2]|0)|0)){c[h>>2]=-1;r=c[h>>2]|0;i=d;return r|0}c[o>>2]=ix(k,91)|0;if(0!=(c[o>>2]|0)?93==(a[(c[o>>2]|0)+1>>0]|0):0){c[p>>2]=Fc(k,19381,344)|0;a[(c[p>>2]|0)+((c[o>>2]|0)-k)>>0]=0;a[(c[p>>2]|0)+((c[o>>2]|0)-k+1)>>0]=0;j=c[p>>2]|0;b=Dw()|0;s=(c[p>>2]|0)+((c[o>>2]|0)-k+2)|0;c[g>>2]=j;c[g+4>>2]=b;c[g+8>>2]=s;tv(k,4096,19404,g)|0;Ec(c[p>>2]|0,19381,354)}if(!(gv(k,71662)|0)){c[h>>2]=1;r=c[h>>2]|0;i=d;return r|0}Oc(71662);Wv(71662,k)|0;c[f>>2]=420;c[l>>2]=Mw(k,1089,f)|0;do if(-1!=(c[l>>2]|0)){if(c[17640]|0)vw(c[17640]|0)|0;c[m>>2]=Yw(c[l>>2]|0,2)|0;lw(c[l>>2]|0)|0;if(-1==(c[m>>2]|0)){c[l>>2]=-1;break}c[n>>2]=uw(2,19411)|0;if(!(c[n>>2]|0)){lw(2)|0;c[l>>2]=-1}}while(0);if(-1!=(c[l>>2]|0)){c[17640]=c[n>>2];c[h>>2]=1;r=c[h>>2]|0;i=d;return r|0}c[q>>2]=392;if((c[190]|0)==-1)c[190]=Mc(1,0,19381,19414,c[q>>2]|0)|0;if((Pc()|0)<=0){if(c[190]|0){q=ov(c[(Yu()|0)>>2]|0)|0;c[e>>2]=38544;c[e+4>>2]=k;c[e+8>>2]=19381;c[e+12>>2]=392;c[e+16>>2]=q;Rc(1,19557,e)}}else Qc(-1,0);c[h>>2]=-1;r=c[h>>2]|0;i=d;return r|0}function Oc(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=b;if(!(a[c[e>>2]>>0]|0)){i=d;return}c[f>>2]=c[70596+((((c[17648]|0)>>>0)%3|0)<<2)>>2];if(c[f>>2]|0){Nw(c[f>>2]|0)|0;Ec(c[f>>2]|0,19381,314)}f=Fc(c[e>>2]|0,19381,316)|0;c[70596+((((c[17648]|0)>>>0)%3|0)<<2)>>2]=f;c[17648]=(c[17648]|0)+1;i=d;return}function Pc(){return c[17652]|0}function Qc(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+32|0;e=d;f=d+20|0;g=d+16|0;h=d+12|0;j=d+8|0;c[f>>2]=a;c[g>>2]=b;if(c[f>>2]|0){c[17652]=(c[17652]|0)+(c[f>>2]|0);i=d;return}c[h>>2]=0==(c[17652]|0)&1;c[17652]=0;if((c[g>>2]|0)==0|(c[h>>2]|0)!=0){i=d;return}c[j>>2]=867;if((c[191]|0)==-1)c[191]=Mc(1,0,19381,19429,c[j>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);i=d;return}if(!(c[191]|0)){i=d;return}c[e>>2]=19381;c[e+4>>2]=867;Rc(1,61592,e);i=d;return}function Rc(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+20|0;g=e+16|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;Sc(c[f>>2]|0,c[17646]|0,c[g>>2]|0,h);i=e;return}function Sc(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,D=0;g=i;i=i+240|0;h=g+40|0;j=g+32|0;k=g+24|0;l=g+108|0;m=g+104|0;n=g+100|0;o=g+96|0;p=g+176|0;q=g+112|0;r=g+92|0;s=g+88|0;t=g+72|0;u=g+68|0;v=g+64|0;w=g+16|0;x=g+56|0;y=g+8|0;z=g+48|0;A=g;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[t>>2]=c[c[o>>2]>>2];c[s>>2]=(uv(0,0,c[n>>2]|0,t)|0)+1;if(!(c[s>>2]|0)){c[u>>2]=910;if((c[192]|0)==-1)c[192]=Mc(1,0,19381,19445,c[u>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[192]|0))Lc();c[k>>2]=19381;c[k+4>>2]=910;Rc(1,61592,k);Lc()}k=p;u=k+64|0;do{a[k>>0]=0;k=k+1|0}while((k|0)<(u|0));k=c[s>>2]|0;c[v>>2]=Xa()|0;u=i;i=i+((1*k|0)+15&-16)|0;lb(x|0,0)|0;k=fe()|0;t=w;c[t>>2]=k;c[t+4>>2]=C;t=w;k=c[t+4>>2]|0;f=(k|0)>0|(k|0)==0&(c[t>>2]|0)>>>0>0;t=w;k=Kx(c[t>>2]|0,c[t+4>>2]|0,1e3,0)|0;t=c[x>>2]|0;e=Ax(t|0,((t|0)<0)<<31>>31|0,k|0,C|0)|0;c[x>>2]=e;do if(f){e=w;k=Lx(c[e>>2]|0,c[e+4>>2]|0,1e3,0)|0;e=Mx(k|0,C|0,1e3,0)|0;k=x+4|0;t=c[k>>2]|0;d=Ax(t|0,((t|0)<0)<<31>>31|0,e|0,C|0)|0;c[k>>2]=d;d=c[x+4>>2]|0;k=((d|0)<0)<<31>>31;if((k|0)>0|(k|0)==0&d>>>0>1e6){d=x+4|0;k=c[d>>2]|0;e=zx(k|0,((k|0)<0)<<31>>31|0,1e6,0)|0;c[d>>2]=e;c[x>>2]=(c[x>>2]|0)+1}}else{e=c[x+4>>2]|0;d=((e|0)<0)<<31>>31;k=w;t=Lx(c[k>>2]|0,c[k+4>>2]|0,1e3,0)|0;k=zx(0,0,t|0,C|0)|0;t=Mx(k|0,C|0,1e3,0)|0;k=C;b=w;B=Lx(c[b>>2]|0,c[b+4>>2]|0,1e3,0)|0;b=Mx(B|0,C|0,1e3,0)|0;B=C;if((d|0)>(k|0)|(d|0)==(k|0)&e>>>0>t>>>0){t=x+4|0;e=c[t>>2]|0;k=Ax(e|0,((e|0)<0)<<31>>31|0,b|0,B|0)|0;c[t>>2]=k;break}else{k=Ax(1e6,0,b|0,B|0)|0;B=x+4|0;b=c[B>>2]|0;t=Ax(b|0,((b|0)<0)<<31>>31|0,k|0,C|0)|0;c[B>>2]=t;c[x>>2]=(c[x>>2]|0)+-1;break}}while(0);c[r>>2]=pb(x|0)|0;if(!(c[r>>2]|0))Wv(p,19451)|0;else{Ma(q|0,64,19467,c[r>>2]|0)|0;c[j>>2]=c[x+4>>2];tv(p,64,q,j)|0}uv(u,c[s>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if(c[r>>2]|0)Nc(c[r>>2]|0)|0;r=70528;if(0!=(c[l>>2]&32|0)&(0!=(c[r>>2]|0)?1:0!=(c[r+4>>2]|0))?0==(iw(u,75759,256)|0):0){c[17653]=(c[17653]|0)+1;c[h>>2]=c[17632];c[h+4>>2]=c[17633];r=ke(h)|0;h=y;c[h>>2]=r;c[h+4>>2]=C;h=y;y=c[h+4>>2]|0;if(y>>>0>10|(y|0)==10&(c[h>>2]|0)>>>0>250327040|(c[17653]|0)>>>0>1e3)Tc(p);c[z>>2]=1;D=c[v>>2]|0;xa(D|0);i=g;return}Tc(p);ow(75759,u,256)|0;c[17653]=0;c[17654]=c[l>>2];h=ge()|0;y=A;c[y>>2]=h;c[y+4>>2]=C;c[17632]=c[A>>2];c[17633]=c[A+4>>2];ow(76015,c[m>>2]|0,32)|0;Uc(c[l>>2]|0,c[m>>2]|0,p,u);c[z>>2]=0;D=c[v>>2]|0;xa(D|0);i=g;return}function Tc(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;d=i;i=i+640|0;e=d+32|0;f=d+16|0;g=d+52|0;h=d+56|0;j=d+48|0;k=d+44|0;l=d+40|0;m=d+8|0;n=d;c[g>>2]=b;b=70528;if((0==(c[b>>2]|0)?0==(c[b+4>>2]|0):0)|0==(c[17653]|0)){i=d;return}c[j>>2]=0;c[k>>2]=Cv(75759,0,256)|0;if(c[k>>2]|0){if((c[k>>2]|0)!=75759)c[k>>2]=(c[k>>2]|0)+-1}else c[k>>2]=76014;if((a[c[k>>2]>>0]|0)==10){c[j>>2]=1;a[c[k>>2]>>0]=0};c[e>>2]=c[17632];c[e+4>>2]=c[17633];b=ke(e)|0;o=m;c[o>>2]=b;c[o+4>>2]=C;c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[l>>2]=$d(e,1)|0;e=c[17653]|0;m=c[l>>2]|0;c[f>>2]=256;c[f+4>>2]=75759;c[f+8>>2]=e;c[f+12>>2]=m;tv(h,576,19488,f)|0;if((c[j>>2]|0)==1)a[c[k>>2]>>0]=10;Uc(c[17654]|0,76015,c[g>>2]|0,h);h=ge()|0;g=n;c[g>>2]=h;c[g+4>>2]=C;c[17632]=c[n>>2];c[17633]=c[n+4>>2];c[17653]=0;i=d;return}function Uc(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+48|0;g=f;h=f+32|0;j=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if(0!=(c[17640]|0)&0==(c[17655]|0)){e=c[17640]|0;d=c[k>>2]|0;b=c[j>>2]|0;a=Vc(c[h>>2]|0)|0;n=c[l>>2]|0;c[g>>2]=d;c[g+4>>2]=b;c[g+8>>2]=a;c[g+12>>2]=n;gw(e,19545,g)|0;ww(c[17640]|0)|0}c[m>>2]=c[17655];while(1){if(!(c[m>>2]|0))break;wb[c[(c[m>>2]|0)+4>>2]&15](c[(c[m>>2]|0)+8>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0);c[m>>2]=c[c[m>>2]>>2]}i=f;return}function Vc(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;do if((c[e>>2]&1|0)<=0){if((c[e>>2]&2|0)>0){c[d>>2]=19362;break}if((c[e>>2]&4|0)>0){c[d>>2]=19357;break}if((c[e>>2]&8|0)>0){c[d>>2]=19351;break}if(!(c[e>>2]&-33)){c[d>>2]=19376;break}else{c[d>>2]=19537;break}}else c[d>>2]=19370;while(0);i=b;return c[d>>2]|0}function Wc(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+176|0;g=f;h=f+32|0;j=f+28|0;k=f+24|0;l=f+8|0;m=f+40|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;if(!(c[j>>2]|0))c[j>>2]=c[17641];c[l>>2]=e;e=c[j>>2]|0;j=Dw()|0;c[g>>2]=e;c[g+4>>2]=j;Gc(m,128,19398,g)|0;Sc(c[h>>2]|0,m,c[k>>2]|0,l);i=f;return}function Xc(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;g=i;i=i+64|0;h=g+8|0;j=g;k=g+56|0;l=g+52|0;m=g+48|0;n=g+44|0;o=g+40|0;p=g+36|0;q=g+32|0;r=g+28|0;s=g+24|0;t=g+20|0;u=g+16|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;f=c[m>>2]|0;c[r>>2]=Xa()|0;e=i;i=i+((1*f|0)+15&-16)|0;if(1!=(Yc(q,c[n>>2]|0,c[o>>2]|0)|0)){c[k>>2]=-1;c[s>>2]=1;v=c[r>>2]|0;xa(v|0);w=c[k>>2]|0;i=g;return w|0}if(Ve(c[q>>2]|0,e,c[m>>2]|0,c[l>>2]|0,c[m>>2]|0)|0){c[t>>2]=136;if((c[196]|0)==-1)c[196]=Mc(1,0,19607,19643,c[t>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[196]|0))Lc();c[j>>2]=19607;c[j+4>>2]=136;Rc(1,61592,j);Lc()}Qe(c[q>>2]|0);if(1!=(Zc(q,c[n>>2]|0,c[o>>2]|0)|0)){c[k>>2]=-1;c[s>>2]=1;v=c[r>>2]|0;xa(v|0);w=c[k>>2]|0;i=g;return w|0}if(!(Ve(c[q>>2]|0,c[p>>2]|0,c[m>>2]|0,e,c[m>>2]|0)|0)){Qe(c[q>>2]|0);Fx(e|0,0,f|0)|0;c[k>>2]=c[m>>2];c[s>>2]=1;v=c[r>>2]|0;xa(v|0);w=c[k>>2]|0;i=g;return w|0}c[u>>2]=140;if((c[200]|0)==-1)c[200]=Mc(1,0,19607,19643,c[u>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[200]|0))Lc();c[h>>2]=19607;c[h+4>>2]=140;Rc(1,61592,h);Lc();return 0}function Yc(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;e=i;i=i+64|0;f=e+16|0;g=e+8|0;h=e;j=e+48|0;k=e+44|0;l=e+40|0;m=e+36|0;n=e+32|0;o=e+28|0;p=e+24|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;if(Pe(c[j>>2]|0,9,2,0)|0){c[n>>2]=68;if((c[193]|0)==-1)c[193]=Mc(1,0,19607,19626,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[193]|0))Lc();c[h>>2]=19607;c[h+4>>2]=68;Rc(1,61592,h);Lc()}c[m>>2]=Re(c[c[j>>2]>>2]|0,c[k>>2]|0,32)|0;if(0!=(c[m>>2]|0)?((c[m>>2]&255)<<24>>24|0)!=43:0){c[o>>2]=72;if((c[194]|0)==-1)c[194]=Mc(1,0,19607,19626,c[o>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[194]|0))Lc();c[g>>2]=19607;c[g+4>>2]=72;Rc(1,61592,g);Lc()}c[m>>2]=Ue(c[c[j>>2]>>2]|0,c[l>>2]|0,16)|0;if(!(c[m>>2]|0)){i=e;return 1}if(((c[m>>2]&255)<<24>>24|0)==43){i=e;return 1}c[p>>2]=76;if((c[195]|0)==-1)c[195]=Mc(1,0,19607,19626,c[p>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[195]|0))Lc();c[f>>2]=19607;c[f+4>>2]=76;Rc(1,61592,f);Lc();return 0}function Zc(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;e=i;i=i+64|0;f=e+16|0;g=e+8|0;h=e;j=e+48|0;k=e+44|0;l=e+40|0;m=e+36|0;n=e+32|0;o=e+28|0;p=e+24|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;if(Pe(c[j>>2]|0,10,2,0)|0){c[n>>2]=98;if((c[197]|0)==-1)c[197]=Mc(1,0,19607,19675,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[197]|0))Lc();c[h>>2]=19607;c[h+4>>2]=98;Rc(1,61592,h);Lc()}c[m>>2]=Re(c[c[j>>2]>>2]|0,(c[k>>2]|0)+32|0,32)|0;if(0!=(c[m>>2]|0)?((c[m>>2]&255)<<24>>24|0)!=43:0){c[o>>2]=102;if((c[198]|0)==-1)c[198]=Mc(1,0,19607,19675,c[o>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[198]|0))Lc();c[g>>2]=19607;c[g+4>>2]=102;Rc(1,61592,g);Lc()}c[m>>2]=Ue(c[c[j>>2]>>2]|0,(c[l>>2]|0)+16|0,16)|0;if(!(c[m>>2]|0)){i=e;return 1}if(((c[m>>2]&255)<<24>>24|0)==43){i=e;return 1}c[p>>2]=106;if((c[199]|0)==-1)c[199]=Mc(1,0,19607,19675,c[p>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[199]|0))Lc();c[f>>2]=19607;c[f+4>>2]=106;Rc(1,61592,f);Lc();return 0}function _c(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;g=i;i=i+64|0;h=g+8|0;j=g;k=g+56|0;l=g+52|0;m=g+48|0;n=g+44|0;o=g+40|0;p=g+36|0;q=g+32|0;r=g+28|0;s=g+24|0;t=g+20|0;u=g+16|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;f=c[m>>2]|0;c[r>>2]=Xa()|0;e=i;i=i+((1*f|0)+15&-16)|0;if(1!=(Zc(q,c[n>>2]|0,c[o>>2]|0)|0)){c[k>>2]=-1;c[s>>2]=1;v=c[r>>2]|0;xa(v|0);w=c[k>>2]|0;i=g;return w|0}if(We(c[q>>2]|0,e,c[m>>2]|0,c[l>>2]|0,c[m>>2]|0)|0){c[t>>2]=171;if((c[201]|0)==-1)c[201]=Mc(1,0,19607,19696,c[t>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[201]|0))Lc();c[j>>2]=19607;c[j+4>>2]=171;Rc(1,61592,j);Lc()}Qe(c[q>>2]|0);if(1!=(Yc(q,c[n>>2]|0,c[o>>2]|0)|0)){c[k>>2]=-1;c[s>>2]=1;v=c[r>>2]|0;xa(v|0);w=c[k>>2]|0;i=g;return w|0}if(!(We(c[q>>2]|0,c[p>>2]|0,c[m>>2]|0,e,c[m>>2]|0)|0)){Qe(c[q>>2]|0);Fx(e|0,0,f|0)|0;c[k>>2]=c[m>>2];c[s>>2]=1;v=c[r>>2]|0;xa(v|0);w=c[k>>2]|0;i=g;return w|0}c[u>>2]=175;if((c[202]|0)==-1)c[202]=Mc(1,0,19607,19696,c[u>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[202]|0))Lc();c[h>>2]=19607;c[h+4>>2]=175;Rc(1,61592,h);Lc();return 0}function $c(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;d=i;i=i+64|0;e=d+16|0;f=d+8|0;g=d;h=d+52|0;j=d+48|0;k=d+44|0;l=d+40|0;m=d+36|0;n=d+32|0;o=d+28|0;p=d+24|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=ad(c[h>>2]|0)|0;if(!(c[k>>2]|0)){c[n>>2]=257;if((c[205]|0)==-1)c[205]=Mc(1,0,19770,19887,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[205]|0))Lc();c[g>>2]=19770;c[g+4>>2]=257;Rc(1,61592,g);Lc()}if(Ie(l,c[k>>2]|0,0)|0){c[o>>2]=258;if((c[206]|0)==-1)c[206]=Mc(1,0,19770,19887,c[o>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[206]|0))Lc();c[f>>2]=19770;c[f+4>>2]=258;Rc(1,61592,f);Lc()}ue(c[k>>2]|0);c[m>>2]=Je(19799,c[l>>2]|0,0)|0;if(c[m>>2]|0){xd(c[j>>2]|0,32,c[m>>2]|0);Ae(c[m>>2]|0);mf(c[l>>2]|0);i=d;return}c[p>>2]=261;if((c[207]|0)==-1)c[207]=Mc(1,0,19770,19887,c[p>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[207]|0))Lc();c[e>>2]=19770;c[e+4>>2]=261;Rc(1,61592,e);Lc()}function ad(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+64|0;d=b+24|0;e=b+8|0;f=b;g=b+48|0;h=b+44|0;j=b+40|0;k=b+36|0;l=b+32|0;c[g>>2]=a;a=c[g>>2]|0;c[f>>2]=32;c[f+4>>2]=a;c[j>>2]=te(h,0,19807,f)|0;if(!(c[j>>2]|0)){i=b;return c[h>>2]|0}c[k>>2]=169;if((c[203]|0)==-1)c[203]=Mc(1,21083,19770,19862,c[k>>2]|0)|0;if((Pc()|0)<=0){if(c[203]|0){k=me(c[j>>2]|0)|0;c[e>>2]=19783;c[e+4>>2]=19770;c[e+8>>2]=169;c[e+12>>2]=k;Wc(1,21083,20661,e)}}else Qc(-1,0);c[l>>2]=170;if((c[204]|0)==-1)c[204]=Mc(1,0,19770,19862,c[l>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[204]|0))Lc();c[d>>2]=19770;c[d+4>>2]=170;Rc(1,61592,d);Lc();return 0}function bd(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;d=i;i=i+64|0;e=d+16|0;f=d+8|0;g=d;h=d+52|0;j=d+48|0;k=d+44|0;l=d+40|0;m=d+36|0;n=d+32|0;o=d+28|0;p=d+24|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=cd(c[h>>2]|0)|0;if(!(c[k>>2]|0)){c[n>>2]=283;if((c[210]|0)==-1)c[210]=Mc(1,0,19770,19947,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[210]|0))Lc();c[g>>2]=19770;c[g+4>>2]=283;Rc(1,61592,g);Lc()}if(Ie(l,c[k>>2]|0,0)|0){c[o>>2]=284;if((c[211]|0)==-1)c[211]=Mc(1,0,19770,19947,c[o>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[211]|0))Lc();c[f>>2]=19770;c[f+4>>2]=284;Rc(1,61592,f);Lc()}ue(c[k>>2]|0);c[m>>2]=Je(19799,c[l>>2]|0,0)|0;if(c[m>>2]|0){xd(c[j>>2]|0,32,c[m>>2]|0);Ae(c[m>>2]|0);mf(c[l>>2]|0);i=d;return}c[p>>2]=287;if((c[212]|0)==-1)c[212]=Mc(1,0,19770,19947,c[p>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[212]|0))Lc();c[e>>2]=19770;c[e+4>>2]=287;Rc(1,61592,e);Lc()}function cd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+64|0;d=b+24|0;e=b+8|0;f=b;g=b+48|0;h=b+44|0;j=b+40|0;k=b+36|0;l=b+32|0;c[g>>2]=a;a=c[g>>2]|0;c[f>>2]=32;c[f+4>>2]=a;c[j>>2]=te(h,0,19728,f)|0;if(!(c[j>>2]|0)){i=b;return c[h>>2]|0}c[k>>2]=202;if((c[208]|0)==-1)c[208]=Mc(1,21083,19770,19922,c[k>>2]|0)|0;if((Pc()|0)<=0){if(c[208]|0){k=me(c[j>>2]|0)|0;c[e>>2]=19783;c[e+4>>2]=19770;c[e+8>>2]=202;c[e+12>>2]=k;Wc(1,21083,20661,e)}}else Qc(-1,0);c[l>>2]=203;if((c[209]|0)==-1)c[209]=Mc(1,0,19770,19922,c[l>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[209]|0))Lc();c[d>>2]=19770;c[d+4>>2]=203;Rc(1,61592,d);Lc();return 0}function dd(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+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=256;if((((c[k>>2]|0)>>>0)%5|0)>>>0>0)c[k>>2]=(c[k>>2]|0)+(5-(((c[k>>2]|0)>>>0)%5|0));c[k>>2]=((c[k>>2]|0)>>>0)/5|0;if((c[h>>2]|0)!=(c[k>>2]|0)){c[f>>2]=-1;l=c[f>>2]|0;i=e;return l|0}if(1!=(de(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,32)|0)){c[f>>2]=-1;l=c[f>>2]|0;i=e;return l|0}else{c[f>>2]=1;l=c[f>>2]|0;i=e;return l|0}return 0}function ed(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a=i;i=i+96|0;b=a+40|0;d=a+24|0;e=a+8|0;f=a+88|0;g=a+84|0;h=a+80|0;j=a+76|0;k=a+72|0;l=a+68|0;m=a+64|0;n=a+60|0;o=a+56|0;p=te(j,0,19982,a)|0;c[l>>2]=p;if(p){c[m>>2]=505;if((c[213]|0)==-1)c[213]=Mc(1,21083,19770,20037,c[m>>2]|0)|0;if((Pc()|0)<=0){if(c[213]|0){m=me(c[l>>2]|0)|0;c[e>>2]=19783;c[e+4>>2]=19770;c[e+8>>2]=505;c[e+12>>2]=m;Wc(1,21083,20661,e)}}else Qc(-1,0);c[f>>2]=0;q=c[f>>2]|0;i=a;return q|0}e=_e(h,c[j>>2]|0)|0;c[l>>2]=e;if(e){c[n>>2]=510;if((c[214]|0)==-1)c[214]=Mc(1,21083,19770,20037,c[n>>2]|0)|0;if((Pc()|0)<=0){if(c[214]|0){n=me(c[l>>2]|0)|0;c[d>>2]=20068;c[d+4>>2]=19770;c[d+8>>2]=510;c[d+12>>2]=n;Wc(1,21083,20661,d)}}else Qc(-1,0);ue(c[j>>2]|0);c[f>>2]=0;q=c[f>>2]|0;i=a;return q|0}ue(c[j>>2]|0);j=fd(k,c[h>>2]|0,37935,35585)|0;c[l>>2]=j;if(!j){ue(c[h>>2]|0);c[g>>2]=Cc(32,19770,530)|0;xd(c[g>>2]|0,32,c[k>>2]|0);Ae(c[k>>2]|0);c[f>>2]=c[g>>2];q=c[f>>2]|0;i=a;return q|0}c[o>>2]=525;if((c[215]|0)==-1)c[215]=Mc(1,21083,19770,20037,c[o>>2]|0)|0;if((Pc()|0)<=0){if(c[215]|0){o=me(c[l>>2]|0)|0;c[b>>2]=20083;c[b+4>>2]=19770;c[b+8>>2]=525;c[b+12>>2]=o;Wc(1,21083,20661,b)}}else Qc(-1,0);ue(c[h>>2]|0);c[f>>2]=0;q=c[f>>2]|0;i=a;return q|0}function fd(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;g=i;i=i+48|0;h=g+36|0;j=g+32|0;k=g+28|0;l=g+24|0;m=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;q=g+4|0;r=g;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=we(c[k>>2]|0,c[l>>2]|0,0)|0;if(!(c[n>>2]|0)){c[h>>2]=1;s=c[h>>2]|0;i=g;return s|0}c[o>>2]=xe(c[n>>2]|0)|0;ue(c[n>>2]|0);c[n>>2]=c[o>>2];if(!(c[n>>2]|0)){c[h>>2]=2;s=c[h>>2]|0;i=g;return s|0}c[r>>2]=0;c[p>>2]=c[m>>2];while(1){t=c[n>>2]|0;if(!(a[c[p>>2]>>0]|0)){u=18;break}c[o>>2]=we(t,c[p>>2]|0,1)|0;if(!(c[o>>2]|0)){u=8;break}m=ye(c[o>>2]|0,1,5)|0;c[(c[j>>2]|0)+(c[r>>2]<<2)>>2]=m;ue(c[o>>2]|0);if(!(c[(c[j>>2]|0)+(c[r>>2]<<2)>>2]|0)){u=13;break}c[p>>2]=(c[p>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1}if((u|0)==8){c[q>>2]=0;while(1){if((c[q>>2]|0)>>>0>=(c[r>>2]|0)>>>0)break;of(c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]|0);c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]=0;c[q>>2]=(c[q>>2]|0)+1}ue(c[n>>2]|0);c[h>>2]=3;s=c[h>>2]|0;i=g;return s|0}else if((u|0)==13){c[q>>2]=0;while(1){if((c[q>>2]|0)>>>0>=(c[r>>2]|0)>>>0)break;of(c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]|0);c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]=0;c[q>>2]=(c[q>>2]|0)+1}ue(c[n>>2]|0);c[h>>2]=4;s=c[h>>2]|0;i=g;return s|0}else if((u|0)==18){ue(t);c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}return 0}function gd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a=i;i=i+96|0;b=a+40|0;d=a+24|0;e=a+8|0;f=a+88|0;g=a+84|0;h=a+80|0;j=a+76|0;k=a+72|0;l=a+68|0;m=a+64|0;n=a+60|0;o=a+56|0;p=te(j,0,20097,a)|0;c[l>>2]=p;if(p){c[m>>2]=604;if((c[216]|0)==-1)c[216]=Mc(1,21083,19770,20141,c[m>>2]|0)|0;if((Pc()|0)<=0){if(c[216]|0){m=me(c[l>>2]|0)|0;c[e>>2]=19783;c[e+4>>2]=19770;c[e+8>>2]=604;c[e+12>>2]=m;Wc(1,21083,20661,e)}}else Qc(-1,0);c[f>>2]=0;q=c[f>>2]|0;i=a;return q|0}e=_e(h,c[j>>2]|0)|0;c[l>>2]=e;if(e){c[n>>2]=609;if((c[217]|0)==-1)c[217]=Mc(1,21083,19770,20141,c[n>>2]|0)|0;if((Pc()|0)<=0){if(c[217]|0){n=me(c[l>>2]|0)|0;c[d>>2]=20068;c[d+4>>2]=19770;c[d+8>>2]=609;c[d+12>>2]=n;Wc(1,21083,20661,d)}}else Qc(-1,0);ue(c[j>>2]|0);c[f>>2]=0;q=c[f>>2]|0;i=a;return q|0}ue(c[j>>2]|0);j=fd(k,c[h>>2]|0,37935,35585)|0;c[l>>2]=j;if(!j){ue(c[h>>2]|0);c[g>>2]=Cc(32,19770,629)|0;xd(c[g>>2]|0,32,c[k>>2]|0);Ae(c[k>>2]|0);c[f>>2]=c[g>>2];q=c[f>>2]|0;i=a;return q|0}c[o>>2]=624;if((c[218]|0)==-1)c[218]=Mc(1,21083,19770,20141,c[o>>2]|0)|0;if((Pc()|0)<=0){if(c[218]|0){o=me(c[l>>2]|0)|0;c[b>>2]=20083;c[b+4>>2]=19770;c[b+8>>2]=624;c[b+12>>2]=o;Wc(1,21083,20661,b)}}else Qc(-1,0);ue(c[h>>2]|0);c[f>>2]=0;q=c[f>>2]|0;i=a;return q|0}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;e=i;i=i+80|0;f=e+16|0;g=e;h=e+68|0;j=e+64|0;k=e+60|0;l=e+56|0;m=e+52|0;n=e+48|0;o=e+44|0;p=e+40|0;q=e+32|0;r=e+28|0;s=e+24|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=ad(c[j>>2]|0)|0;c[o>>2]=id(c[k>>2]|0)|0;k=Xe(n,c[o>>2]|0,c[m>>2]|0)|0;c[p>>2]=k;if(k){c[r>>2]=807;if((c[220]|0)==-1)c[220]=Mc(2,21083,19770,20236,c[r>>2]|0)|0;if((Pc()|0)<=0){if(c[220]|0){r=me(c[p>>2]|0)|0;c[g>>2]=19770;c[g+4>>2]=807;c[g+8>>2]=r;Wc(2,21083,20261,g)}}else Qc(-1,0);ue(c[o>>2]|0);ue(c[m>>2]|0);c[h>>2]=-1;t=c[h>>2]|0;i=e;return t|0}ue(c[m>>2]|0);ue(c[o>>2]|0);o=fd(q,c[n>>2]|0,37797,47158)|0;c[p>>2]=o;if(!o){ue(c[n>>2]|0);xd(c[l>>2]|0,32,c[q>>2]|0);xd((c[l>>2]|0)+32|0,32,c[q+4>>2]|0);Ae(c[q>>2]|0);Ae(c[q+4>>2]|0);c[h>>2]=1;t=c[h>>2]|0;i=e;return t|0}c[s>>2]=819;if((c[221]|0)==-1)c[221]=Mc(1,0,19770,20236,c[s>>2]|0)|0;if((Pc()|0)<=0){if(c[221]|0){c[f>>2]=19770;c[f+4>>2]=819;Rc(1,61592,f)}}else Qc(-1,0);ue(c[n>>2]|0);c[h>>2]=-1;t=c[h>>2]|0;i=e;return t|0}function id(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;b=i;i=i+128|0;e=b+16|0;f=b;g=b+116|0;h=b+112|0;j=b+48|0;k=b+40|0;l=b+36|0;m=b+32|0;c[h>>2]=a;a=c[h>>2]|0;n=c[h>>2]|0;ld(a,nw(d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24)|0,j);c[f>>2]=37855;c[f+4>>2]=64;c[f+8>>2]=j;j=te(k,0,20172,f)|0;c[l>>2]=j;if(!j){c[g>>2]=c[k>>2];o=c[g>>2]|0;i=b;return o|0}c[m>>2]=698;if((c[219]|0)==-1)c[219]=Mc(1,21083,19770,20216,c[m>>2]|0)|0;if((Pc()|0)<=0){if(c[219]|0){m=me(c[l>>2]|0)|0;c[e>>2]=19783;c[e+4>>2]=19770;c[e+8>>2]=698;c[e+12>>2]=m;Wc(1,21083,20661,e)}}else Qc(-1,0);c[g>>2]=0;o=c[g>>2]|0;i=b;return o|0}function jd(a,b,e,f){a=a|0;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;g=i;i=i+96|0;h=g+40|0;j=g+32|0;k=g+16|0;l=g;m=g+92|0;n=g+88|0;o=g+84|0;p=g+80|0;q=g+76|0;r=g+72|0;s=g+68|0;t=g+64|0;u=g+60|0;v=g+56|0;w=g+52|0;c[n>>2]=a;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;f=c[n>>2]|0;n=(c[o>>2]|0)+4|0;if((f|0)!=(nw(d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24)|0)){c[m>>2]=-1;x=c[m>>2]|0;i=g;return x|0}n=c[p>>2]|0;f=(c[p>>2]|0)+32|0;c[l>>2]=32;c[l+4>>2]=n;c[l+8>>2]=32;c[l+12>>2]=f;f=te(s,0,20335,l)|0;c[u>>2]=f;if(f){c[v>>2]=918;if((c[222]|0)==-1)c[222]=Mc(1,21083,19770,20364,c[v>>2]|0)|0;if((Pc()|0)<=0){if(c[222]|0){v=me(c[u>>2]|0)|0;c[k>>2]=19783;c[k+4>>2]=19770;c[k+8>>2]=918;c[k+12>>2]=v;Wc(1,21083,20661,k)}}else Qc(-1,0);c[m>>2]=-1;x=c[m>>2]|0;i=g;return x|0}c[r>>2]=id(c[o>>2]|0)|0;o=c[q>>2]|0;c[j>>2]=32;c[j+4>>2]=o;o=te(t,0,20391,j)|0;c[u>>2]=o;if(o){ue(c[r>>2]|0);ue(c[s>>2]|0);c[m>>2]=-1;x=c[m>>2]|0;i=g;return x|0}c[u>>2]=Ye(c[s>>2]|0,c[r>>2]|0,c[t>>2]|0)|0;ue(c[t>>2]|0);ue(c[r>>2]|0);ue(c[s>>2]|0);if(!(c[u>>2]|0)){c[m>>2]=1;x=c[m>>2]|0;i=g;return x|0}c[w>>2]=938;if((c[223]|0)==-1)c[223]=Mc(4,21083,19770,20364,c[w>>2]|0)|0;if((Pc()|0)<=0){if(c[223]|0){w=me(c[u>>2]|0)|0;c[h>>2]=19770;c[h+4>>2]=938;c[h+8>>2]=w;Wc(4,21083,20443,h)}}else Qc(-1,0);c[m>>2]=-1;x=c[m>>2]|0;i=g;return x|0}function kd(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+144|0;f=e+40|0;g=e+32|0;h=e+16|0;j=e+8|0;k=e;l=e+104|0;m=e+100|0;n=e+96|0;o=e+92|0;p=e+88|0;q=e+84|0;r=e+80|0;s=e+76|0;t=e+72|0;u=e+68|0;v=e+112|0;w=e+64|0;x=e+60|0;y=e+56|0;z=e+52|0;A=e+48|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;d=c[n>>2]|0;c[k>>2]=32;c[k+4>>2]=d;if(te(t,0,20296,k)|0){c[l>>2]=-1;B=c[l>>2]|0;i=e;return B|0}if(Ie(s,c[t>>2]|0,0)|0){c[x>>2]=972;if((c[224]|0)==-1)c[224]=Mc(1,0,19770,20493,c[x>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[224]|0))Lc();c[j>>2]=19770;c[j+4>>2]=972;Rc(1,61592,j);Lc()}ue(c[t>>2]|0);c[q>>2]=Ke(49872,c[s>>2]|0,0)|0;zd(r,c[m>>2]|0,32);c[p>>2]=Ge(0)|0;Me(c[p>>2]|0,c[r>>2]|0,c[q>>2]|0,c[s>>2]|0);He(c[q>>2]|0);Ae(c[r>>2]|0);c[u>>2]=ze(256)|0;if(Le(c[u>>2]|0,0,c[p>>2]|0,c[s>>2]|0)|0){c[y>>2]=989;if((c[225]|0)==-1)c[225]=Mc(1,21083,19770,20493,c[y>>2]|0)|0;if((Pc()|0)<=0){if(c[225]|0){y=me(0)|0;c[h>>2]=20516;c[h+4>>2]=19770;c[h+8>>2]=989;c[h+12>>2]=y;Wc(1,21083,20661,h)}}else Qc(-1,0);He(c[p>>2]|0);mf(c[s>>2]|0);c[l>>2]=-1;B=c[l>>2]|0;i=e;return B|0}He(c[p>>2]|0);mf(c[s>>2]|0);c[w>>2]=32;if(Oe(c[u>>2]|0,2)|0){c[z>>2]=998;if((c[226]|0)==-1)c[226]=Mc(1,0,19770,20493,c[z>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[226]|0))Lc();c[g>>2]=19770;c[g+4>>2]=998;Rc(1,61592,g);Lc()}if(!(Ce(1,v,c[w>>2]|0,w,c[u>>2]|0)|0)){ld(v,c[w>>2]|0,c[o>>2]|0);Ae(c[u>>2]|0);c[l>>2]=1;B=c[l>>2]|0;i=e;return B|0}c[A>>2]=1005;if((c[227]|0)==-1)c[227]=Mc(1,0,19770,20493,c[A>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[227]|0))Lc();c[f>>2]=19770;c[f+4>>2]=1005;Rc(1,61592,f);Lc();return 0}function ld(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;ef(10,c[h>>2]|0,c[f>>2]|0,c[g>>2]|0);i=e;return}function md(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+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=15;while(1){if((c[g>>2]|0)<0)break;b=Bd(c[e>>2]|0,-1)|0;c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]=b;c[g>>2]=(c[g>>2]|0)+-1}i=d;return}function nd(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;b=a;d=a+12|0;e=a+8|0;c[d>>2]=Cc(4,20534,425)|0;if(!($e(c[d>>2]|0,10,0)|0)){i=a;return c[d>>2]|0}c[e>>2]=429;if((c[228]|0)==-1)c[228]=Mc(1,0,20534,20548,c[e>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[228]|0))Lc();c[b>>2]=20534;c[b+4>>2]=429;Rc(1,61592,b);Lc();return 0}function od(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;cf(c[c[f>>2]>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function pd(b,d){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+32|0;f=e;g=e+20|0;h=e+16|0;j=e+12|0;k=e+8|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=df(c[c[g>>2]>>2]|0,0)|0;if(c[j>>2]|0){if(!(c[h>>2]|0)){l=c[g>>2]|0;qd(l);i=e;return}d=c[h>>2]|0;h=c[j>>2]|0;j=d+64|0;do{a[d>>0]=a[h>>0]|0;d=d+1|0;h=h+1|0}while((d|0)<(j|0));l=c[g>>2]|0;qd(l);i=e;return}c[k>>2]=462;if((c[229]|0)==-1)c[229]=Mc(1,0,20534,20581,c[k>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[229]|0))Lc();c[f>>2]=20534;c[f+4>>2]=462;Rc(1,61592,f);Lc()}function qd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;af(c[c[d>>2]>>2]|0);Ec(c[d>>2]|0,20534,480);i=b;return}function rd(b,d,e,f,g,h,j,k,l){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;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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;m=i;i=i+128|0;n=m+120|0;o=m+116|0;p=m+112|0;q=m+108|0;r=m+104|0;s=m+100|0;t=m+96|0;u=m+92|0;v=m+88|0;w=m+84|0;x=m+80|0;y=m+76|0;z=m+72|0;A=m+68|0;B=m+64|0;C=m+60|0;D=m+56|0;E=m+52|0;F=m+48|0;G=m+44|0;H=m+40|0;I=m+24|0;J=m+20|0;K=m+16|0;L=m+12|0;M=m+8|0;N=m+4|0;O=m;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[w>>2]=l;c[D>>2]=gf(c[r>>2]|0)|0;c[E>>2]=gf(c[q>>2]|0)|0;l=c[E>>2]|0;c[F>>2]=Xa()|0;k=i;i=i+((1*l|0)+15&-16)|0;if(!(c[D>>2]|0)){c[n>>2]=-1;c[J>>2]=1;P=c[F>>2]|0;xa(P|0);Q=c[n>>2]|0;i=m;return Q|0}if($e(x,c[q>>2]|0,2)|0){c[n>>2]=-1;c[J>>2]=1;P=c[F>>2]|0;xa(P|0);Q=c[n>>2]|0;i=m;return Q|0}if($e(y,c[r>>2]|0,2)|0){af(c[x>>2]|0);c[n>>2]=-1;c[J>>2]=1;P=c[F>>2]|0;xa(P|0);Q=c[n>>2]|0;i=m;return Q|0}c[I>>2]=c[c[w>>2]>>2];c[H>>2]=0;while(1){r=(c[I>>2]|0)+(4-1)&~(4-1);q=c[r>>2]|0;c[I>>2]=r+4;if(!q)break;q=(c[I>>2]|0)+(4-1)&~(4-1);r=c[q>>2]|0;c[I>>2]=q+4;c[H>>2]=(c[H>>2]|0)+r}Fx(c[o>>2]|0,0,c[p>>2]|0)|0;a:do if((sd(c[x>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,k)|0)!=1)R=34;else{c[B>>2]=((c[p>>2]|0)>>>0)/((c[D>>2]|0)>>>0)|0;c[C>>2]=((c[p>>2]|0)>>>0)%((c[D>>2]|0)>>>0)|0;c[K>>2]=(c[D>>2]|0)+(c[H>>2]|0)+1;r=c[K>>2]|0;c[L>>2]=Xa()|0;q=i;i=i+((1*r|0)+15&-16)|0;c[N>>2]=q+(c[D>>2]|0);c[I>>2]=c[c[w>>2]>>2];while(1){r=(c[I>>2]|0)+(4-1)&~(4-1);l=c[r>>2]|0;c[I>>2]=r+4;c[M>>2]=l;if(!l)break;l=(c[I>>2]|0)+(4-1)&~(4-1);r=c[l>>2]|0;c[I>>2]=l+4;c[O>>2]=r;Dx(c[N>>2]|0,c[M>>2]|0,c[O>>2]|0)|0;c[N>>2]=(c[N>>2]|0)+(c[O>>2]|0)}do if((c[B>>2]|0)>>>0>0){a[q+(c[D>>2]|0)+(c[H>>2]|0)>>0]=1;c[z>>2]=td(c[y>>2]|0,k,c[E>>2]|0,q+(c[D>>2]|0)|0,(c[H>>2]|0)+1|0)|0;if(!(c[z>>2]|0)){c[J>>2]=4;break}else{Dx(c[o>>2]|0,c[z>>2]|0,c[D>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+(c[D>>2]|0);R=18;break}}else R=18;while(0);b:do if((R|0)==18){c[A>>2]=1;while(1){if((c[A>>2]|0)>>>0>=(c[B>>2]|0)>>>0)break;Dx(q|0,(c[o>>2]|0)+(0-(c[D>>2]|0))|0,c[D>>2]|0)|0;Fx(q+(c[D>>2]|0)+(c[H>>2]|0)|0,(c[A>>2]|0)+1&255|0,1)|0;bf(c[y>>2]|0);c[z>>2]=td(c[y>>2]|0,k,c[E>>2]|0,q,c[K>>2]|0)|0;if(!(c[z>>2]|0)){R=21;break}Dx(c[o>>2]|0,c[z>>2]|0,c[D>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+(c[D>>2]|0);c[A>>2]=(c[A>>2]|0)+1}if((R|0)==21){c[J>>2]=4;break}do if((c[C>>2]|0)>>>0>0){if((c[B>>2]|0)>>>0>0){Dx(q|0,(c[o>>2]|0)+(0-(c[D>>2]|0))|0,c[D>>2]|0)|0;c[A>>2]=(c[A>>2]|0)+1}Fx(q+(c[D>>2]|0)+(c[H>>2]|0)|0,c[A>>2]&255|0,1)|0;bf(c[y>>2]|0);r=c[y>>2]|0;l=c[E>>2]|0;if((c[B>>2]|0)>>>0>0)c[z>>2]=td(r,k,l,q,c[K>>2]|0)|0;else c[z>>2]=td(r,k,l,q+(c[D>>2]|0)|0,(c[K>>2]|0)-(c[D>>2]|0)|0)|0;if(!(c[z>>2]|0)){c[J>>2]=4;break b}else{Dx(c[o>>2]|0,c[z>>2]|0,c[C>>2]|0)|0;break}}while(0);c[G>>2]=1;c[J>>2]=10}while(0);xa(c[L>>2]|0);switch(c[J>>2]|0){case 4:{R=34;break a;break}case 10:{break a;break}default:{}}P=c[F>>2]|0;xa(P|0);Q=c[n>>2]|0;i=m;return Q|0}while(0);if((R|0)==34)c[G>>2]=-1;af(c[x>>2]|0);af(c[y>>2]|0);c[n>>2]=c[G>>2];c[J>>2]=1;P=c[F>>2]|0;xa(P|0);Q=c[n>>2]|0;i=m;return Q|0}function sd(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;h=i;i=i+32|0;j=h+28|0;k=h+24|0;l=h+20|0;m=h+16|0;n=h+12|0;o=h+8|0;p=h+4|0;q=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=td(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if(!(c[q>>2]|0)){c[j>>2]=-1;r=c[j>>2]|0;i=h;return r|0}else{o=c[p>>2]|0;p=c[q>>2]|0;Dx(o|0,p|0,gf(ff(c[k>>2]|0)|0)|0)|0;c[j>>2]=1;r=c[j>>2]|0;i=h;return r|0}return 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;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;hf(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;cf(c[h>>2]|0,c[l>>2]|0,c[m>>2]|0);m=df(c[h>>2]|0,0)|0;i=g;return m|0}function ud(a,b,d,e,f,g,h,j,k){a=a|0;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;l=i;i=i+64|0;m=l+52|0;n=l+48|0;o=l+44|0;p=l+40|0;q=l+36|0;r=l+32|0;s=l+28|0;t=l+24|0;u=l+8|0;v=l;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;c[v>>2]=rd(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,u)|0;i=l;return c[v>>2]|0}function vd(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,n=0,o=0,p=0,q=0;j=i;i=i+32|0;k=j+24|0;l=j+20|0;m=j+16|0;n=j+12|0;o=j+8|0;p=j+4|0;q=j;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;h=rd(c[k>>2]|0,c[l>>2]|0,10,8,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;i=j;return h|0}function wd(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,n=0,o=0,p=0,q=0,r=0;j=i;i=i+48|0;k=j+44|0;l=j+40|0;m=j+36|0;n=j+32|0;o=j+28|0;p=j+24|0;q=j+8|0;r=j;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=vd(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,q)|0;i=j;return c[r>>2]|0}function xd(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;e=i;i=i+80|0;f=e+24|0;g=e+8|0;h=e;j=e+68|0;k=e+64|0;l=e+60|0;m=e+56|0;n=e+52|0;o=e+48|0;p=e+44|0;q=e+40|0;r=e+36|0;s=e+32|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;if(Oe(c[l>>2]|0,2)|0){c[p>>2]=Ne(c[l>>2]|0,o)|0;if(c[p>>2]|0){c[m>>2]=(((c[o>>2]|0)+7|0)>>>0)/8|0;if((c[m>>2]|0)>>>0>(c[k>>2]|0)>>>0)c[m>>2]=c[k>>2];Dx(c[j>>2]|0,c[p>>2]|0,c[m>>2]|0)|0;if((c[m>>2]|0)>>>0>=(c[k>>2]|0)>>>0){i=e;return}Fx((c[j>>2]|0)+(c[m>>2]|0)|0,0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0;i=e;return}c[q>>2]=89;if((c[230]|0)==-1)c[230]=Mc(1,0,20615,20628,c[q>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[230]|0))Lc();c[h>>2]=20615;c[h+4>>2]=89;Rc(1,61592,h);Lc()}c[m>>2]=c[k>>2];h=Ce(5,c[j>>2]|0,c[m>>2]|0,m,c[l>>2]|0)|0;c[n>>2]=h;if(!h){yd(c[j>>2]|0,c[m>>2]|0,c[k>>2]|0);i=e;return}c[r>>2]=110;if((c[231]|0)==-1)c[231]=Mc(1,21083,20615,20628,c[r>>2]|0)|0;if((Pc()|0)<=0){if(c[231]|0){r=me(c[n>>2]|0)|0;c[g>>2]=20698;c[g+4>>2]=20615;c[g+8>>2]=110;c[g+12>>2]=r;Wc(1,21083,20661,g)}}else Qc(-1,0);c[s>>2]=111;if((c[232]|0)==-1)c[232]=Mc(1,0,20615,20628,c[s>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[232]|0))Lc();c[f>>2]=20615;c[f+4>>2]=111;Rc(1,61592,f);Lc()}function yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[f>>2];if((c[g>>2]|0)>>>0>=(c[h>>2]|0)>>>0){i=e;return}Ex((c[j>>2]|0)+((c[h>>2]|0)-(c[g>>2]|0))|0,c[f>>2]|0,c[g>>2]|0)|0;Fx(c[f>>2]|0,0,(c[h>>2]|0)-(c[g>>2]|0)|0)|0;i=e;return}function zd(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+48|0;f=e+16|0;g=e;h=e+44|0;j=e+40|0;k=e+36|0;l=e+32|0;m=e+28|0;n=e+24|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;d=Be(c[h>>2]|0,5,c[j>>2]|0,c[k>>2]|0,k)|0;c[l>>2]=d;if(!d){i=e;return}c[m>>2]=140;if((c[233]|0)==-1)c[233]=Mc(1,21083,20615,20713,c[m>>2]|0)|0;if((Pc()|0)<=0){if(c[233]|0){m=me(c[l>>2]|0)|0;c[g>>2]=20745;c[g+4>>2]=20615;c[g+8>>2]=140;c[g+12>>2]=m;Wc(1,21083,20661,g)}}else Qc(-1,0);c[n>>2]=141;if((c[234]|0)==-1)c[234]=Mc(1,0,20615,20713,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[234]|0))Lc();c[f>>2]=20615;c[f+4>>2]=141;Rc(1,61592,f);Lc()}function Ad(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a=i;i=i+80|0;b=a+56|0;d=a+48|0;e=a+40|0;f=a+32|0;g=a+24|0;h=a+16|0;j=a+8|0;k=a;l=a+64|0;m=a+60|0;if(qe(20759)|0){c[h>>2]=0;n=re(37,h)|0;c[l>>2]=n;if(n|0){n=c[3962]|0;h=me(c[l>>2]|0)|0;c[g>>2]=20912;c[g+4>>2]=h;gw(n,20873,g)|0}c[f>>2]=0;g=re(44,f)|0;c[l>>2]=g;if(!g){c[d>>2]=0;re(38,d)|0;c[b>>2]=0;re(48,b)|0;o=jb(0)|0;p=Bd(2,-1)|0;q=o^p;Dd(q);i=a;return}g=c[3962]|0;f=me(c[l>>2]|0)|0;c[e>>2]=20927;c[e+4>>2]=f;gw(g,20873,e)|0;c[d>>2]=0;re(38,d)|0;c[b>>2]=0;re(48,b)|0;o=jb(0)|0;p=Bd(2,-1)|0;q=o^p;Dd(q);i=a;return}a=c[3962]|0;c[k>>2]=20759;gw(a,20765,k)|0;c[m>>2]=286;if((c[235]|0)==-1)c[235]=Mc(1,0,20831,20847,c[m>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[235]|0))Lc();c[j>>2]=20831;c[j+4>>2]=286;Rc(1,61592,j);Lc()}function Bd(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.0;d=i;i=i+64|0;e=d+16|0;f=d+8|0;g=d;h=d+48|0;j=d+44|0;k=d+40|0;l=d+36|0;m=d+32|0;n=d+28|0;o=d+24|0;c[j>>2]=a;c[k>>2]=b;if((c[k>>2]|0)>>>0<=0){c[n>>2]=157;if((c[236]|0)==-1)c[236]=Mc(1,0,20831,20947,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[236]|0))Lc();c[g>>2]=20831;c[g+4>>2]=157;Rc(1,61592,g);Lc()}switch(c[j>>2]|0){case 1:{j=c[17656]|0;c[17656]=j+1;if(!((j>>>0)%256|0)){c[f>>2]=0;re(48,f)|0}c[m>>2]=-1-(4294967295%((c[k>>2]|0)>>>0)|0);do jf(l,4,1);while((c[l>>2]|0)>>>0>=(c[m>>2]|0)>>>0);c[h>>2]=((c[l>>2]|0)>>>0)%((c[k>>2]|0)>>>0)|0;p=c[h>>2]|0;i=d;return p|0}case 2:{c[m>>2]=-1-(4294967295%((c[k>>2]|0)>>>0)|0);do lf(l,4);while((c[l>>2]|0)>>>0>=(c[m>>2]|0)>>>0);c[h>>2]=((c[l>>2]|0)>>>0)%((c[k>>2]|0)>>>0)|0;p=c[h>>2]|0;i=d;return p|0}case 0:{q=+((c[k>>2]|0)>>>0);c[l>>2]=~~(q*+Cd())>>>0;if((c[l>>2]|0)>>>0>=(c[k>>2]|0)>>>0)c[l>>2]=(c[k>>2]|0)-1;c[h>>2]=c[l>>2];p=c[h>>2]|0;i=d;return p|0}default:{c[o>>2]=189;if((c[237]|0)==-1)c[237]=Mc(1,0,20831,20947,c[o>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[237]|0))Lc();c[e>>2]=20831;c[e+4>>2]=189;Rc(1,61592,e);Lc()}}return 0}function Cd(){return +(+(fx()|0)/2147483647.0)}function Dd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;dx(c[d>>2]|0);i=b;return}function Ed(){nf(0,0);return}function Fd(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+48|0;d=b+16|0;e=b+8|0;f=b;g=b+44|0;h=b+40|0;j=b+36|0;k=b+32|0;l=b+28|0;m=b+24|0;c[g>>2]=a;c[f>>2]=c[g>>2];if(te(k,0,20972,f)|0){c[l>>2]=154;if((c[238]|0)==-1)c[238]=Mc(1,0,20996,21009,c[l>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[238]|0))Lc();c[e>>2]=20996;c[e+4>>2]=154;Rc(1,61592,e);Lc()}if(!(_e(j,c[k>>2]|0)|0)){ue(c[k>>2]|0);c[h>>2]=Cc(4,20996,163)|0;c[c[h>>2]>>2]=c[j>>2];i=b;return c[h>>2]|0}c[m>>2]=157;if((c[239]|0)==-1)c[239]=Mc(1,0,20996,21009,c[m>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[239]|0))Lc();c[d>>2]=20996;c[d+4>>2]=157;Rc(1,61592,d);Lc();return 0}function Gd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ue(c[c[d>>2]>>2]|0);Ec(c[d>>2]|0,20996,178);i=b;return}function Hd(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+32|0;e=d;f=d+24|0;g=d+20|0;h=d+16|0;j=d+12|0;k=d+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=ve(c[c[f>>2]>>2]|0,0,0,0)|0;c[j>>2]=Cc(c[h>>2]|0,20996,201)|0;b=(c[h>>2]|0)-1|0;if((b|0)==(ve(c[c[f>>2]>>2]|0,0,c[j>>2]|0,c[h>>2]|0)|0)){c[c[g>>2]>>2]=c[j>>2];i=d;return c[h>>2]|0}c[k>>2]=206;if((c[240]|0)==-1)c[240]=Mc(1,0,20996,21046,c[k>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[240]|0))Lc();c[e>>2]=20996;c[e+4>>2]=206;Rc(1,61592,e);Lc();return 0}function Id(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+8|0;f=d;g=d+32|0;h=d+28|0;j=d+24|0;k=d+20|0;l=d+16|0;m=d+12|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=Cc(4,20996,225)|0;if(se(c[k>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0){c[l>>2]=233;if((c[241]|0)==-1)c[241]=Mc(2,21083,20996,21088,c[l>>2]|0)|0;if((Pc()|0)<=0){if(c[241]|0)Wc(2,21083,21125,f)}else Qc(-1,0);Ec(c[k>>2]|0,20996,234);c[g>>2]=0;n=c[g>>2]|0;i=d;return n|0}if(!(Ze(c[c[k>>2]>>2]|0)|0)){c[g>>2]=c[k>>2];n=c[g>>2]|0;i=d;return n|0}c[m>>2]=240;if((c[242]|0)==-1)c[242]=Mc(2,21083,20996,21088,c[m>>2]|0)|0;if((Pc()|0)<=0){if(c[242]|0)Wc(2,21083,21125,e)}else Qc(-1,0);Gd(c[k>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=d;return n|0}function Jd(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+64|0;d=b+8|0;e=b;f=b+48|0;g=b+44|0;h=b+40|0;j=b+32|0;k=b+24|0;l=b+20|0;m=b+16|0;c[g>>2]=a;c[k>>2]=Kd(j,c[c[g>>2]>>2]|0,37947,39360)|0;if(c[k>>2]|0)c[k>>2]=Kd(j,c[c[g>>2]>>2]|0,37935,39360)|0;if(c[k>>2]|0)c[k>>2]=Kd(j,c[c[g>>2]>>2]|0,39319,39360)|0;if(!(c[k>>2]|0)){g=c[j+4>>2]|0;c[d>>2]=c[j>>2];c[d+4>>2]=g;c[k>>2]=te(l,0,21248,d)|0;Ae(c[j>>2]|0);Ae(c[j+4>>2]|0);c[h>>2]=Cc(4,20996,279)|0;c[c[h>>2]>>2]=c[l>>2];c[f>>2]=c[h>>2];n=c[f>>2]|0;i=b;return n|0}c[m>>2]=269;if((c[243]|0)==-1)c[243]=Mc(2,0,20996,21159,c[m>>2]|0)|0;if((Pc()|0)<=0){if(c[243]|0){c[e>>2]=20996;c[e+4>>2]=269;Rc(34,21200,e)}}else Qc(-1,0);c[f>>2]=0;n=c[f>>2]|0;i=b;return n|0}function Kd(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;g=i;i=i+48|0;h=g+36|0;j=g+32|0;k=g+28|0;l=g+24|0;m=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;q=g+4|0;r=g;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=we(c[k>>2]|0,c[l>>2]|0,0)|0;c[n>>2]=f;if(!f){c[h>>2]=1;s=c[h>>2]|0;i=g;return s|0}c[o>>2]=xe(c[n>>2]|0)|0;ue(c[n>>2]|0);c[n>>2]=c[o>>2];if(!(c[n>>2]|0)){c[h>>2]=2;s=c[h>>2]|0;i=g;return s|0}c[r>>2]=0;c[p>>2]=c[m>>2];while(1){t=c[n>>2]|0;if(!(a[c[p>>2]>>0]|0)){u=18;break}m=we(t,c[p>>2]|0,1)|0;c[o>>2]=m;if(!m){u=8;break}m=ye(c[o>>2]|0,1,5)|0;c[(c[j>>2]|0)+(c[r>>2]<<2)>>2]=m;ue(c[o>>2]|0);if(!(c[(c[j>>2]|0)+(c[r>>2]<<2)>>2]|0)){u=13;break}c[p>>2]=(c[p>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1}if((u|0)==8){c[q>>2]=0;while(1){if((c[q>>2]|0)>>>0>=(c[r>>2]|0)>>>0)break;of(c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]|0);c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]=0;c[q>>2]=(c[q>>2]|0)+1}ue(c[n>>2]|0);c[h>>2]=3;s=c[h>>2]|0;i=g;return s|0}else if((u|0)==13){c[q>>2]=0;while(1){if((c[q>>2]|0)>>>0>=(c[r>>2]|0)>>>0)break;of(c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]|0);c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]=0;c[q>>2]=(c[q>>2]|0)+1}ue(c[n>>2]|0);c[h>>2]=4;s=c[h>>2]|0;i=g;return s|0}else if((u|0)==18){ue(t);c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}return 0}function Ld(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ue(c[c[d>>2]>>2]|0);Ec(c[d>>2]|0,20996,294);i=b;return}function Md(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+32|0;e=d;f=d+24|0;g=d+20|0;h=d+16|0;j=d+12|0;k=d+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=ve(c[c[f>>2]>>2]|0,3,0,0)|0;c[j>>2]=Cc(c[h>>2]|0,20996,317)|0;b=(c[h>>2]|0)-1|0;if((b|0)==(ve(c[c[f>>2]>>2]|0,3,c[j>>2]|0,c[h>>2]|0)|0)){c[c[g>>2]>>2]=c[j>>2];i=d;return c[h>>2]|0}c[k>>2]=322;if((c[244]|0)==-1)c[244]=Mc(1,0,20996,21278,c[k>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[244]|0))Lc();c[e>>2]=20996;c[e+4>>2]=322;Rc(1,61592,e);Lc();return 0}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[h>>2]=Md(c[e>>2]|0,g)|0;ld(c[g>>2]|0,c[h>>2]|0,c[f>>2]|0);Ec(c[g>>2]|0,20996,346);i=d;return}function Od(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;d=i;i=i+48|0;e=d+8|0;f=d;g=d+44|0;h=d+40|0;j=d+36|0;k=d+32|0;l=d+28|0;m=d+24|0;n=d+20|0;o=d+16|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=Cc(4,20996,366)|0;if(se(c[k>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0){c[n>>2]=373;if((c[245]|0)==-1)c[245]=Mc(2,0,20996,21314,c[n>>2]|0)|0;if((Pc()|0)<=0){if(c[245]|0){c[f>>2]=20996;c[f+4>>2]=373;Rc(34,21200,f)}}else Qc(-1,0);Ec(c[k>>2]|0,20996,374);c[g>>2]=0;p=c[g>>2]|0;i=d;return p|0}c[m>>2]=Kd(l,c[c[k>>2]>>2]|0,37947,39374)|0;if(c[m>>2]|0)c[m>>2]=Kd(l,c[c[k>>2]>>2]|0,39319,39374)|0;if(!(c[m>>2]|0)){Ae(c[l>>2]|0);c[g>>2]=c[k>>2];p=c[g>>2]|0;i=d;return p|0}c[o>>2]=384;if((c[246]|0)==-1)c[246]=Mc(1,0,20996,21314,c[o>>2]|0)|0;if((Pc()|0)<=0){if(c[246]|0){c[e>>2]=20996;c[e+4>>2]=384;Rc(1,61592,e)}}else Qc(-1,0);ue(c[c[k>>2]>>2]|0);Ec(c[k>>2]|0,20996,386);c[g>>2]=0;p=c[g>>2]|0;i=d;return p|0}function Pd(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Cc(4,20996,405)|0;a=ze(c[d>>2]|0)|0;c[c[e>>2]>>2]=a;kf(c[c[e>>2]>>2]|0,c[d>>2]|0,1);i=b;return c[e>>2]|0}function Qd(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+32|0;e=d;f=d+24|0;g=d+20|0;h=d+16|0;j=d+12|0;k=d+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=ve(c[c[f>>2]>>2]|0,3,0,0)|0;c[j>>2]=Cc(c[h>>2]|0,20996,825)|0;b=(c[h>>2]|0)-1|0;if((b|0)==(ve(c[c[f>>2]>>2]|0,3,c[j>>2]|0,c[h>>2]|0)|0)){c[c[g>>2]>>2]=c[j>>2];i=d;return c[h>>2]|0}c[k>>2]=830;if((c[247]|0)==-1)c[247]=Mc(1,0,20996,21350,c[k>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[247]|0))Lc();c[e>>2]=20996;c[e+4>>2]=830;Rc(1,61592,e);Lc();return 0}function Rd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ae(c[c[d>>2]>>2]|0);Ec(c[d>>2]|0,20996,564);i=b;return}function Sd(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+32|0;e=d;f=d+28|0;g=d+24|0;h=d+20|0;j=d+16|0;k=d+8|0;c[f>>2]=a;c[g>>2]=b;Ce(5,0,0,h,c[c[f>>2]>>2]|0)|0;c[j>>2]=Cc(c[h>>2]|0,20996,589)|0;if(!(Ce(5,c[j>>2]|0,c[h>>2]|0,d+12|0,c[c[f>>2]>>2]|0)|0)){c[c[g>>2]>>2]=c[j>>2];i=d;return c[h>>2]|0}c[k>>2]=595;if((c[248]|0)==-1)c[248]=Mc(1,0,20996,21385,c[k>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[248]|0))Lc();c[e>>2]=20996;c[e+4>>2]=595;Rc(1,61592,e);Lc();return 0}function Td(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=d+28|0;g=d+24|0;h=d+20|0;j=d+16|0;k=d+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=Cc(4,20996,616)|0;if(!(Be(c[j>>2]|0,5,c[g>>2]|0,c[h>>2]|0,d+12|0)|0)){c[f>>2]=c[j>>2];l=c[f>>2]|0;i=d;return l|0}c[k>>2]=624;if((c[249]|0)==-1)c[249]=Mc(2,0,20996,21423,c[k>>2]|0)|0;if((Pc()|0)<=0){if(c[249]|0){c[e>>2]=20996;c[e+4>>2]=624;Rc(34,21200,e)}}else Qc(-1,0);Ec(c[j>>2]|0,20996,625);c[f>>2]=0;l=c[f>>2]|0;i=d;return l|0}function Ud(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+96|0;g=f+8|0;h=f;j=f+84|0;k=f+80|0;l=f+76|0;m=f+72|0;n=f+68|0;o=f+64|0;p=f+56|0;q=f+48|0;r=f+44|0;s=f+40|0;t=f+36|0;u=f+32|0;v=f+28|0;w=f+24|0;x=f+20|0;y=f+16|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[w>>2]=Kd(p,c[c[m>>2]>>2]|0,37947,39360)|0;if(c[w>>2]|0)c[w>>2]=Kd(p,c[c[m>>2]>>2]|0,39319,39360)|0;if(c[w>>2]|0){c[x>>2]=662;if((c[250]|0)==-1)c[250]=Mc(1,0,20996,21461,c[x>>2]|0)|0;if((Pc()|0)<=0){if(c[250]|0){c[h>>2]=20996;c[h+4>>2]=662;Rc(1,61592,h)}}else Qc(-1,0);c[c[n>>2]>>2]=0;c[j>>2]=0;z=c[j>>2]|0;i=f;return z|0}h=Be(o,5,c[k>>2]|0,64,s)|0;c[u>>2]=h;if(!h){c[q>>2]=ze(0)|0;Ee(c[q>>2]|0,c[c[l>>2]>>2]|0,c[p+4>>2]|0,c[p>>2]|0);c[r>>2]=ze(0)|0;De(c[r>>2]|0,c[o>>2]|0,c[q>>2]|0,c[p>>2]|0);Ae(c[o>>2]|0);Ae(c[p>>2]|0);Ae(c[p+4>>2]|0);Ae(c[q>>2]|0);Ce(5,0,0,t,c[r>>2]|0)|0;c[v>>2]=Cc(c[t>>2]|0,20996,698)|0;c[u>>2]=Ce(5,c[v>>2]|0,c[t>>2]|0,s,c[r>>2]|0)|0;Ae(c[r>>2]|0);c[c[n>>2]>>2]=c[v>>2];c[j>>2]=c[t>>2];z=c[j>>2]|0;i=f;return z|0}c[y>>2]=672;if((c[251]|0)==-1)c[251]=Mc(1,0,20996,21461,c[y>>2]|0)|0;if((Pc()|0)<=0){if(c[251]|0){c[g>>2]=20996;c[g+4>>2]=672;Rc(1,61592,g)}}else Qc(-1,0);Ae(c[p>>2]|0);Ae(c[p+4>>2]|0);c[c[n>>2]>>2]=0;c[j>>2]=0;z=c[j>>2]|0;i=f;return z|0}function Vd(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;e=i;i=i+64|0;f=e+8|0;g=e;h=e+52|0;j=e+48|0;k=e+44|0;l=e+40|0;m=e+36|0;n=e+32|0;o=e+28|0;p=e+24|0;q=e+20|0;r=e+16|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[p>>2]=Wd(c[k>>2]|0,c[l>>2]|0)|0;if(Xe(o,c[p>>2]|0,c[c[j>>2]>>2]|0)|0){c[q>>2]=767;if((c[254]|0)==-1)c[254]=Mc(1,0,20996,21528,c[q>>2]|0)|0;if((Pc()|0)<=0){if(c[254]|0){c[g>>2]=20996;c[g+4>>2]=767;Rc(1,61592,g)}}else Qc(-1,0);c[h>>2]=0;s=c[h>>2]|0;i=e;return s|0}c[n>>2]=Jd(c[j>>2]|0)|0;if(!(Ye(c[o>>2]|0,c[p>>2]|0,c[c[n>>2]>>2]|0)|0)){Ld(c[n>>2]|0);ue(c[p>>2]|0);c[m>>2]=Cc(4,20996,788)|0;c[c[m>>2]>>2]=c[o>>2];c[h>>2]=c[m>>2];s=c[h>>2]|0;i=e;return s|0}c[r>>2]=778;if((c[255]|0)==-1)c[255]=Mc(1,0,20996,21528,c[r>>2]|0)|0;if((Pc()|0)<=0){if(c[255]|0){c[f>>2]=20996;c[f+4>>2]=778;Rc(1,61592,f)}}else Qc(-1,0);Ld(c[n>>2]|0);ue(c[p>>2]|0);ue(c[o>>2]|0);c[h>>2]=0;s=c[h>>2]|0;i=e;return s|0}function Wd(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+16|0;f=d+8|0;g=d;h=d+44|0;j=d+40|0;k=d+36|0;l=d+32|0;m=d+28|0;n=d+24|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=0;c[l>>2]=0;if(Be(k,5,c[h>>2]|0,c[j>>2]|0,0)|0){c[m>>2]=731;if((c[252]|0)==-1)c[252]=Mc(1,0,20996,21485,c[m>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[252]|0))Lc();c[g>>2]=20996;c[g+4>>2]=731;Rc(1,61592,g);Lc()}c[f>>2]=c[k>>2];if(!(te(l,0,21498,f)|0)){Ae(c[k>>2]|0);i=d;return c[l>>2]|0}c[n>>2]=736;if((c[253]|0)==-1)c[253]=Mc(1,0,20996,21485,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[253]|0))Lc();c[e>>2]=20996;c[e+4>>2]=736;Rc(1,61592,e);Lc();return 0}function Xd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ue(c[c[d>>2]>>2]|0);Ec(c[d>>2]|0,20996,803);i=b;return}function Yd(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;d=i;i=i+48|0;e=d+8|0;f=d;g=d+44|0;h=d+40|0;j=d+36|0;k=d+32|0;l=d+28|0;m=d+24|0;n=d+20|0;o=d+16|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=Cc(4,20996,852)|0;if(se(c[k>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0){c[n>>2]=859;if((c[256]|0)==-1)c[256]=Mc(2,0,20996,21551,c[n>>2]|0)|0;if((Pc()|0)<=0){if(c[256]|0){c[f>>2]=20996;c[f+4>>2]=859;Rc(34,21200,f)}}else Qc(-1,0);Ec(c[k>>2]|0,20996,860);c[g>>2]=0;p=c[g>>2]|0;i=d;return p|0}c[l>>2]=Kd(m,c[c[k>>2]>>2]|0,37797,39372)|0;if(c[l>>2]|0)c[l>>2]=Kd(m,c[c[k>>2]>>2]|0,39319,39372)|0;if(!(c[l>>2]|0)){Ae(c[m>>2]|0);c[g>>2]=c[k>>2];p=c[g>>2]|0;i=d;return p|0}c[o>>2]=870;if((c[257]|0)==-1)c[257]=Mc(2,0,20996,21551,c[o>>2]|0)|0;if((Pc()|0)<=0){if(c[257]|0){c[e>>2]=20996;c[e+4>>2]=870;Rc(34,21200,e)}}else Qc(-1,0);ue(c[c[k>>2]>>2]|0);Ec(c[k>>2]|0,20996,872);c[g>>2]=0;p=c[g>>2]|0;i=d;return p|0}function Zd(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+96|0;f=e+32|0;g=e+24|0;h=e+16|0;j=e+8|0;k=e;l=e+92|0;m=e+88|0;n=e+84|0;o=e+80|0;p=e+76|0;q=e+72|0;r=e+68|0;s=e+64|0;t=e+60|0;u=e+56|0;v=e+52|0;w=e+48|0;x=e+44|0;y=e+40|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[t>>2]=Kd(p,c[c[o>>2]>>2]|0,37947,39374)|0;if(c[t>>2]|0)c[t>>2]=Kd(p,c[c[o>>2]>>2]|0,39319,39374)|0;if(c[t>>2]|0){c[v>>2]=932;if((c[258]|0)==-1)c[258]=Mc(2,0,20996,21586,c[v>>2]|0)|0;if((Pc()|0)<=0){if(c[258]|0){c[k>>2]=20996;c[k+4>>2]=932;Rc(34,21200,k)}}else Qc(-1,0);c[l>>2]=0;z=c[l>>2]|0;i=e;return z|0}c[t>>2]=Kd(q,c[c[m>>2]>>2]|0,37797,39372)|0;if(c[t>>2]|0)c[t>>2]=Kd(q,c[c[m>>2]>>2]|0,39319,39372)|0;if(c[t>>2]|0){Ae(c[p>>2]|0);c[w>>2]=941;if((c[259]|0)==-1)c[259]=Mc(2,0,20996,21586,c[w>>2]|0)|0;if((Pc()|0)<=0){if(c[259]|0){c[j>>2]=20996;c[j+4>>2]=941;Rc(34,21200,j)}}else Qc(-1,0);c[l>>2]=0;z=c[l>>2]|0;i=e;return z|0}c[r>>2]=ze(0)|0;if(1!=(Fe(c[r>>2]|0,c[c[n>>2]>>2]|0,c[p>>2]|0)|0)){c[x>>2]=950;if((c[260]|0)==-1)c[260]=Mc(2,0,20996,21586,c[x>>2]|0)|0;if((Pc()|0)<=0){if(c[260]|0){c[h>>2]=20996;c[h+4>>2]=950;Rc(34,21200,h)}}else Qc(-1,0);Ae(c[p>>2]|0);Ae(c[r>>2]|0);Ae(c[q>>2]|0);c[l>>2]=0;z=c[l>>2]|0;i=e;return z|0}c[s>>2]=ze(0)|0;De(c[s>>2]|0,c[q>>2]|0,c[r>>2]|0,c[p>>2]|0);Ae(c[p>>2]|0);Ae(c[r>>2]|0);Ae(c[q>>2]|0);c[u>>2]=Cc(4,20996,962)|0;q=c[u>>2]|0;c[g>>2]=c[s>>2];if(!(te(q,0,21612,g)|0)){Ae(c[s>>2]|0);c[l>>2]=c[u>>2];z=c[l>>2]|0;i=e;return z|0}c[y>>2]=967;if((c[261]|0)==-1)c[261]=Mc(1,0,20996,21586,c[y>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[261]|0))Lc();c[f>>2]=20996;c[f+4>>2]=967;Rc(1,61592,f);Lc();return 0}function _d(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;e=i;i=i+48|0;f=e;g=e+36|0;h=e+32|0;j=e+28|0;k=e+24|0;l=e+20|0;m=e+16|0;n=e+12|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=Wd(c[h>>2]|0,64)|0;c[m>>2]=Ye(c[c[j>>2]>>2]|0,c[l>>2]|0,c[c[k>>2]>>2]|0)|0;ue(c[l>>2]|0);if(!(c[m>>2]|0)){c[g>>2]=1;o=c[g>>2]|0;i=e;return o|0}c[n>>2]=1002;if((c[262]|0)==-1)c[262]=Mc(2,21083,20996,21635,c[n>>2]|0)|0;if((Pc()|0)<=0){if(c[262]|0){n=me(c[m>>2]|0)|0;c[f>>2]=20996;c[f+4>>2]=1001;c[f+8>>2]=n;Wc(2,21083,21660,f)}}else Qc(-1,0);c[g>>2]=-1;o=c[g>>2]|0;i=e;return o|0}function $d(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+16|0;f=d+40|0;g=d+36|0;h=d+32|0;j=d+8|0;k=d;c[g>>2]=b;c[h>>2]=21781;b=a;l=c[b+4>>2]|0;m=j;c[m>>2]=c[b>>2];c[m+4>>2]=l;l=ie()|0;m=k;c[m>>2]=l;c[m+4>>2]=C;m=k;k=a;if((c[m>>2]|0)==(c[k>>2]|0)?(c[m+4>>2]|0)==(c[k+4>>2]|0):0){c[f>>2]=21726;n=c[f>>2]|0;i=d;return n|0}k=a;if(0==(c[k>>2]|0)?0==(c[k+4>>2]|0):0){c[f>>2]=21785;n=c[f>>2]|0;i=d;return n|0}k=j;a=c[k+4>>2]|0;if(!(!(1==(c[g>>2]|0)&(a>>>0>0|(a|0)==0&(c[k>>2]|0)>>>0>5e3))?(k=j,a=Ox(c[k>>2]|0,c[k+4>>2]|0,1e3,0)|0,!(0==(a|0)&0==(C|0))):0))o=7;do if((o|0)==7){a=j;k=Nx(c[a>>2]|0,c[a+4>>2]|0,1e3,0)|0;a=j;c[a>>2]=k;c[a+4>>2]=C;c[h>>2]=21734;a=j;k=c[a+4>>2]|0;if(!(1==(c[g>>2]|0)&(k>>>0>0|(k|0)==0&(c[a>>2]|0)>>>0>5e3))?(a=j,k=Ox(c[a>>2]|0,c[a+4>>2]|0,1e3,0)|0,!(0==(k|0)&0==(C|0))):0)break;k=j;a=Nx(c[k>>2]|0,c[k+4>>2]|0,1e3,0)|0;k=j;c[k>>2]=a;c[k+4>>2]=C;c[h>>2]=39372;k=j;a=c[k+4>>2]|0;if(!(1==(c[g>>2]|0)&(a>>>0>0|(a|0)==0&(c[k>>2]|0)>>>0>300))?(k=j,a=Ox(c[k>>2]|0,c[k+4>>2]|0,60,0)|0,!(0==(a|0)&0==(C|0))):0)break;a=j;k=Nx(c[a>>2]|0,c[a+4>>2]|0,60,0)|0;a=j;c[a>>2]=k;c[a+4>>2]=C;c[h>>2]=21737;a=j;k=c[a+4>>2]|0;if(!(1==(c[g>>2]|0)&(k>>>0>0|(k|0)==0&(c[a>>2]|0)>>>0>300))?(a=j,k=Ox(c[a>>2]|0,c[a+4>>2]|0,60,0)|0,!(0==(k|0)&0==(C|0))):0)break;k=j;a=Nx(c[k>>2]|0,c[k+4>>2]|0,60,0)|0;k=j;c[k>>2]=a;c[k+4>>2]=C;c[h>>2]=35583;k=j;a=c[k+4>>2]|0;if(!(1==(c[g>>2]|0)&(a>>>0>0|(a|0)==0&(c[k>>2]|0)>>>0>120))?(k=j,a=Ox(c[k>>2]|0,c[k+4>>2]|0,24,0)|0,!(0==(a|0)&0==(C|0))):0)break;a=j;k=Nx(c[a>>2]|0,c[a+4>>2]|0,24,0)|0;a=j;c[a>>2]=k;c[a+4>>2]=C;a=j;if(1==(c[a>>2]|0)?0==(c[a+4>>2]|0):0){c[h>>2]=21739;break}else{c[h>>2]=21743;break}}while(0);g=j;j=c[g+4>>2]|0;o=c[h>>2]|0;h=e;c[h>>2]=c[g>>2];c[h+4>>2]=j;c[e+8>>2]=o;Gc(76048,128,21718,e)|0;c[f>>2]=76048;n=c[f>>2]|0;i=d;return n|0}function ae(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+16|0;e=b+12|0;f=b+8|0;g=b;h=a;j=c[h>>2]|0;k=c[h+4>>2]|0;h=je()|0;l=g;c[l>>2]=h;c[l+4>>2]=C;l=g;if((j|0)==(c[l>>2]|0)?(k|0)==(c[l+4>>2]|0):0){c[d>>2]=21748;m=c[d>>2]|0;i=b;return m|0}else{l=a;a=Nx(c[l>>2]|0,c[l+4>>2]|0,1e3,0)|0;l=Nx(a|0,C|0,1e3,0)|0;c[e>>2]=l;c[f>>2]=pb(e|0)|0;Ma(76176,255,21760,c[f>>2]|0)|0;c[d>>2]=76176;m=c[d>>2]|0;i=b;return m|0}return 0}function be(b,e,f,g){b=b|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;h=i;i=i+96|0;j=h+24|0;k=h+16|0;l=h+8|0;m=h;n=h+84|0;o=h+80|0;p=h+76|0;q=h+72|0;r=h+68|0;s=h+64|0;t=h+60|0;u=h+56|0;v=h+52|0;w=h+48|0;x=h+44|0;y=h+40|0;z=h+36|0;A=h+32|0;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[w>>2]=c[o>>2];if((c[r>>2]|0)>>>0<((((c[p>>2]<<3)+4|0)>>>0)/5|0)>>>0){c[x>>2]=873;if((c[263]|0)==-1)c[263]=Mc(1,0,21708,21790,c[x>>2]|0)|0;if((Pc()|0)<=0){if(c[263]|0){c[m>>2]=21708;c[m+4>>2]=873;Rc(1,61592,m)}}else Qc(-1,0);c[n>>2]=0;B=c[n>>2]|0;i=h;return B|0}c[v>>2]=0;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;while(1){if(!((c[t>>2]|0)>>>0<(c[p>>2]|0)>>>0?1:(c[v>>2]|0)>>>0>0)){C=32;break}if((c[v>>2]|0)>>>0<5?(c[t>>2]|0)>>>0<(c[p>>2]|0)>>>0:0){m=c[u>>2]<<8;x=c[t>>2]|0;c[t>>2]=x+1;c[u>>2]=m|(d[(c[w>>2]|0)+x>>0]|0);c[v>>2]=(c[v>>2]|0)+8}if((c[v>>2]|0)>>>0<5){c[u>>2]=c[u>>2]<<5-(c[v>>2]|0);if((c[v>>2]|0)!=((c[p>>2]<<3>>>0)%5|0|0)){C=15;break}c[v>>2]=5}if((c[s>>2]|0)>>>0>=(c[r>>2]|0)>>>0){C=24;break}x=a[(c[266]|0)+((c[u>>2]|0)>>>((c[v>>2]|0)-5|0)&31)>>0]|0;m=c[s>>2]|0;c[s>>2]=m+1;a[(c[q>>2]|0)+m>>0]=x;c[v>>2]=(c[v>>2]|0)-5}if((C|0)==15){c[y>>2]=890;if((c[264]|0)==-1)c[264]=Mc(1,0,21708,21790,c[y>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[264]|0))Lc();c[l>>2]=21708;c[l+4>>2]=890;Rc(1,61592,l);Lc()}else if((C|0)==24){c[z>>2]=895;if((c[265]|0)==-1)c[265]=Mc(1,0,21708,21790,c[z>>2]|0)|0;if((Pc()|0)<=0){if(c[265]|0){c[k>>2]=21708;c[k+4>>2]=895;Rc(1,61592,k)}}else Qc(-1,0);c[n>>2]=0;B=c[n>>2]|0;i=h;return B|0}else if((C|0)==32){if(!(c[v>>2]|0)){if((c[s>>2]|0)>>>0<(c[r>>2]|0)>>>0)a[(c[q>>2]|0)+(c[s>>2]|0)>>0]=0;c[n>>2]=(c[q>>2]|0)+(c[s>>2]|0);B=c[n>>2]|0;i=h;return B|0}c[A>>2]=901;if((c[267]|0)==-1)c[267]=Mc(1,0,21708,21790,c[A>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[267]|0))Lc();c[j>>2]=21708;c[j+4>>2]=901;Rc(1,61592,j);Lc()}return 0}function ce(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;e=i;i=i+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[g>>2]=b;c[h>>2]=d;c[k>>2]=c[h>>2]<<3;if((((c[k>>2]|0)>>>0)%5|0)>>>0>0)c[k>>2]=(c[k>>2]|0)+(5-(((c[k>>2]|0)>>>0)%5|0));c[k>>2]=((c[k>>2]|0)>>>0)/5|0;c[j>>2]=Cc((c[k>>2]|0)+1|0,21708,929)|0;c[l>>2]=be(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if(!(c[l>>2]|0)){Ec(c[j>>2]|0,21708,933);c[f>>2]=0;m=c[f>>2]|0;i=e;return m|0}else{a[c[l>>2]>>0]=0;c[f>>2]=c[j>>2];m=c[f>>2]|0;i=e;return m|0}return 0}function de(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;g=i;i=i+64|0;h=g;j=g+60|0;k=g+56|0;l=g+52|0;m=g+48|0;n=g+44|0;o=g+40|0;p=g+36|0;q=g+32|0;r=g+28|0;s=g+24|0;t=g+20|0;u=g+16|0;v=g+12|0;w=g+8|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[v>>2]=c[n>>2]<<3;if(!(c[l>>2]|0))if(!(c[n>>2]|0)){c[j>>2]=1;x=c[j>>2]|0;i=g;return x|0}else{c[j>>2]=-1;x=c[j>>2]|0;i=g;return x|0}c[u>>2]=c[m>>2];c[p>>2]=c[n>>2];c[o>>2]=c[l>>2];if((((c[v>>2]|0)>>>0)%5|0)>>>0>0){c[r>>2]=((c[v>>2]|0)>>>0)%5|0;c[t>>2]=5-(c[r>>2]|0);n=(c[o>>2]|0)+-1|0;c[o>>2]=n;m=ee(a[(c[k>>2]|0)+n>>0]|0)|0;c[s>>2]=m;c[q>>2]=m>>c[t>>2]}else{c[r>>2]=5;c[t>>2]=0;m=(c[o>>2]|0)+-1|0;c[o>>2]=m;n=ee(a[(c[k>>2]|0)+m>>0]|0)|0;c[s>>2]=n;c[q>>2]=n}if(((((c[v>>2]|0)+(c[t>>2]|0)|0)>>>0)/5|0|0)!=(c[l>>2]|0)){c[j>>2]=-1;x=c[j>>2]|0;i=g;return x|0}if(-1==(c[s>>2]|0)){c[j>>2]=-1;x=c[j>>2]|0;i=g;return x|0}while(1){y=c[o>>2]|0;if((c[p>>2]|0)>>>0<=0){z=25;break}if(!y){z=14;break}l=(c[o>>2]|0)+-1|0;c[o>>2]=l;t=ee(a[(c[k>>2]|0)+l>>0]|0)|0;c[s>>2]=t;c[q>>2]=t<<c[r>>2]|c[q>>2];if(-1==(c[s>>2]|0)){z=22;break}c[r>>2]=(c[r>>2]|0)+5;if((c[r>>2]|0)>>>0<8)continue;t=c[q>>2]&255;l=(c[p>>2]|0)+-1|0;c[p>>2]=l;a[(c[u>>2]|0)+l>>0]=t;c[q>>2]=(c[q>>2]|0)>>>8;c[r>>2]=(c[r>>2]|0)-8}if((z|0)==14){c[w>>2]=993;if((c[268]|0)==-1)c[268]=Mc(1,0,21708,21853,c[w>>2]|0)|0;if((Pc()|0)<=0){if(c[268]|0){c[h>>2]=21708;c[h+4>>2]=993;Rc(1,61592,h)}}else Qc(-1,0);c[j>>2]=-1;x=c[j>>2]|0;i=g;return x|0}else if((z|0)==22){c[j>>2]=-1;x=c[j>>2]|0;i=g;return x|0}else if((z|0)==25)if(0!=(y|0)|0!=(c[r>>2]|0)){c[j>>2]=-1;x=c[j>>2]|0;i=g;return x|0}else{c[j>>2]=1;x=c[j>>2]|0;i=g;return x|0}return 0}function ee(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+4|0;g=e+8|0;h=e;a[g>>0]=b;switch(d[g>>0]|0|0){case 111:case 79:{a[g>>0]=48;break}case 76:case 108:case 73:case 105:{a[g>>0]=49;break}case 85:case 117:{a[g>>0]=86;break}default:{}}if((d[g>>0]|0|0)>=48?(d[g>>0]|0|0)<=57:0){c[f>>2]=(d[g>>0]|0)-48;j=c[f>>2]|0;i=e;return j|0}if((d[g>>0]|0|0)>=97?(d[g>>0]|0|0)<=122:0)a[g>>0]=Jv(d[g>>0]|0)|0;c[h>>2]=0;if((d[g>>0]|0|0)>=65?(d[g>>0]|0|0)<=90:0){if(73<(d[g>>0]|0|0))c[h>>2]=(c[h>>2]|0)+1;if(76<(d[g>>0]|0|0))c[h>>2]=(c[h>>2]|0)+1;if(79<(d[g>>0]|0|0))c[h>>2]=(c[h>>2]|0)+1;if(85<(d[g>>0]|0|0))c[h>>2]=(c[h>>2]|0)+1;c[f>>2]=(d[g>>0]|0)-65+10-(c[h>>2]|0);j=c[f>>2]|0;i=e;return j|0}c[f>>2]=-1;j=c[f>>2]|0;i=e;return j|0}function fe(){var a=0;a=70536;C=c[a+4>>2]|0;return c[a>>2]|0}function ge(){var a=0,b=0,d=0,e=0,f=0,g=0;a=i;i=i+32|0;b=a+8|0;d=a;e=a+16|0;lb(e|0,0)|0;f=c[e>>2]|0;g=Mx(f|0,((f|0)<0)<<31>>31|0,1e3,0)|0;f=Mx(g|0,C|0,1e3,0)|0;g=c[e+4>>2]|0;e=Ax(f|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;g=70536;f=Ax(e|0,C|0,c[g>>2]|0,c[g+4>>2]|0)|0;g=d;c[g>>2]=f;c[g+4>>2]=C;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];d=b;C=c[d+4>>2]|0;i=a;return c[d>>2]|0}function he(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;c[b>>2]=c[17636];c[b+4>>2]=c[17637];d=b;C=c[d+4>>2]|0;i=a;return c[d>>2]|0}function ie(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;c[b>>2]=c[16];c[b+4>>2]=c[17];d=b;C=c[d+4>>2]|0;i=a;return c[d>>2]|0}function je(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;c[b>>2]=c[18];c[b+4>>2]=c[19];d=b;C=c[d+4>>2]|0;i=a;return c[d>>2]|0}function ke(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,o=0,p=0,q=0;b=i;i=i+32|0;d=b+24|0;e=b+16|0;f=b+8|0;g=b;h=ge()|0;j=g;c[j>>2]=h;c[j+4>>2]=C;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];g=a;j=c[g+4>>2]|0;h=e;k=c[h+4>>2]|0;if(j>>>0>k>>>0|((j|0)==(k|0)?(c[g>>2]|0)>>>0>(c[h>>2]|0)>>>0:0)){h=he()|0;g=d;c[g>>2]=h;c[g+4>>2]=C;l=d;m=l;n=c[m>>2]|0;o=l+4|0;p=o;q=c[p>>2]|0;C=q;i=b;return n|0}else{g=e;e=a;a=zx(c[g>>2]|0,c[g+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;e=f;c[e>>2]=a;c[e+4>>2]=C;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];l=d;m=l;n=c[m>>2]|0;o=l+4|0;p=o;q=c[p>>2]|0;C=q;i=b;return n|0}return 0}function le(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e+8|0;g=e;h=b;b=Hc(c[h>>2]|0,c[h+4>>2]|0)|0;h=C;j=g;k=j;a[k>>0]=b;a[k+1>>0]=b>>8;a[k+2>>0]=b>>16;a[k+3>>0]=b>>24;b=j+4|0;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;a[f>>0]=a[g>>0]|0;a[f+1>>0]=a[g+1>>0]|0;a[f+2>>0]=a[g+2>>0]|0;a[f+3>>0]=a[g+3>>0]|0;a[f+4>>0]=a[g+4>>0]|0;a[f+5>>0]=a[g+5>>0]|0;a[f+6>>0]=a[g+6>>0]|0;a[f+7>>0]=a[g+7>>0]|0;g=f;f=g;h=g+4|0;C=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;i=e;return d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24|0}function me(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ne(c[d>>2]|0)|0;i=b;return a|0}function ne(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=fu(c[d>>2]|0)|0;i=b;return a|0}function oe(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+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function pe(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=oe(1,c[d>>2]|0)|0;i=b;return a|0}function qe(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Nf(c[d>>2]|0)|0;i=b;return a|0}function re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;e=d+20|0;f=d+16|0;g=d;c[e>>2]=a;c[g>>2]=b;c[f>>2]=pe(Qf(c[e>>2]|0,g)|0)|0;i=d;return c[f>>2]|0}function se(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=pe(wg(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)|0;i=f;return e|0}function te(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;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;c[k>>2]=Jg(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,l)|0;l=pe(c[k>>2]|0)|0;i=f;return l|0}function ue(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;vg(c[d>>2]|0);i=b;return}function ve(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=Lg(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;i=f;return e|0}function we(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=xg(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function xe(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Hg(c[d>>2]|0)|0;i=b;return a|0}function ye(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=Fg(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function ze(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=vq(c[d>>2]|0)|0;i=b;return a|0}function Ae(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;xq(c[d>>2]|0);i=b;return}function Be(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;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=pe(Dp(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)|0;i=g;return f|0}function Ce(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;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=pe(Hp(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)|0;i=g;return f|0}function De(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;vp(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}function Ee(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;wp(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}function Fe(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=pp(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function Ge(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=bo(c[d>>2]|0)|0;i=b;return a|0}function He(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;eo(c[d>>2]|0);i=b;return}function Ie(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=pe(Ai(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)|0;i=e;return d|0}function Je(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=oo(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function Ke(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=po(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function Le(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=c[g>>2]|0;g=c[h>>2]|0;h=c[j>>2]|0;j=Zn(e,g,h,Xh(c[k>>2]|0,1)|0)|0;i=f;return j|0}function Me(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=c[g>>2]|0;g=c[h>>2]|0;h=c[j>>2]|0;Go(e,g,h,Xh(c[k>>2]|0,1)|0);i=f;return}function Ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=kq(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function Oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=zq(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function Pe(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+12|0;j=f+8|0;k=f+4|0;l=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;e=(Lf()|0)!=0;d=c[h>>2]|0;if(e){c[g>>2]=pe(ai(d,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0)|0;m=c[g>>2]|0;i=f;return m|0}else{c[d>>2]=0;c[g>>2]=pe(176)|0;m=c[g>>2]|0;i=f;return m|0}return 0}function Qe(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;fi(c[d>>2]|0);i=b;return}function Re(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+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(Lf()|0){c[f>>2]=Se(ni(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)|0;k=c[f>>2]|0;i=e;return k|0}else{c[f>>2]=pe(176)|0;k=c[f>>2]|0;i=e;return k|0}return 0}function Se(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Te(32,c[d>>2]|0)|0;i=b;return a|0}function Te(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=oe(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function Ue(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+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(Lf()|0){c[f>>2]=Se(pi(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)|0;k=c[f>>2]|0;i=e;return k|0}else{c[f>>2]=pe(176)|0;k=c[f>>2]|0;i=e;return k|0}return 0}function Ve(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;g=i;i=i+32|0;h=g+20|0;j=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;if(Lf()|0){c[h>>2]=pe(gi(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)|0;o=c[h>>2]|0;i=g;return o|0}if(c[k>>2]|0)Fx(c[k>>2]|0,66,c[l>>2]|0)|0;c[h>>2]=pe(176)|0;o=c[h>>2]|0;i=g;return o|0}function We(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;g=i;i=i+32|0;h=g+20|0;j=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;if(Lf()|0){c[h>>2]=pe(ki(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)|0;o=c[h>>2]|0;i=g;return o|0}else{c[h>>2]=pe(176)|0;o=c[h>>2]|0;i=g;return o|0}return 0}function Xe(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+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;d=(Lf()|0)!=0;b=c[g>>2]|0;if(d){c[f>>2]=pe(Ak(b,c[h>>2]|0,c[j>>2]|0)|0)|0;k=c[f>>2]|0;i=e;return k|0}else{c[b>>2]=0;c[f>>2]=pe(176)|0;k=c[f>>2]|0;i=e;return k|0}return 0}function Ye(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+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(Lf()|0){c[f>>2]=pe(Bk(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)|0;k=c[f>>2]|0;i=e;return k|0}else{c[f>>2]=pe(176)|0;k=c[f>>2]|0;i=e;return k|0}return 0}function Ze(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(Lf()|0){c[d>>2]=pe(Ck(c[e>>2]|0)|0)|0;f=c[d>>2]|0;i=b;return f|0}else{c[d>>2]=pe(176)|0;f=c[d>>2]|0;i=b;return f|0}return 0}function _e(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;b=(Lf()|0)!=0;a=c[f>>2]|0;if(b){c[e>>2]=pe(Dk(a,c[g>>2]|0)|0)|0;h=c[e>>2]|0;i=d;return h|0}else{c[a>>2]=0;c[e>>2]=pe(176)|0;h=c[e>>2]|0;i=d;return h|0}return 0}function $e(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+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;d=(Lf()|0)!=0;b=c[g>>2]|0;if(d){c[f>>2]=pe(wj(b,c[h>>2]|0,c[j>>2]|0)|0)|0;k=c[f>>2]|0;i=e;return k|0}else{c[b>>2]=0;c[f>>2]=pe(176)|0;k=c[f>>2]|0;i=e;return k|0}return 0}function af(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ej(c[d>>2]|0);i=b;return}function bf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Dj(c[d>>2]|0);i=b;return}function cf(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(Lf()|0)){i=e;return}Fj(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=Rj(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function ef(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(Lf()|0))Jh(21883,1175,21896,0,21916);Nj(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}function ff(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(Lf()|0){c[d>>2]=Tj(c[e>>2]|0)|0;f=c[d>>2]|0;i=b;return f|0}else{Jh(21883,1198,21948,0,21965);c[d>>2]=0;f=c[d>>2]|0;i=b;return f|0}return 0}function gf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Uj(c[d>>2]|0)|0;i=b;return a|0}function hf(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+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(Lf()|0){c[f>>2]=pe(Lj(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)|0;k=c[f>>2]|0;i=e;return k|0}else{c[f>>2]=pe(176)|0;k=c[f>>2]|0;i=e;return k|0}return 0}function jf(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(Lf()|0)){Jh(21883,1287,21995,1,21916);Fh()}Pn(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function kf(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;yq(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function lf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(Lf()|0)){Jh(21883,1340,22010,1,21916);Fh()}Tn(c[e>>2]|0,c[f>>2]|0);i=d;return}function mf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Yh(c[d>>2]|0);i=b;return}function nf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;kg(c[e>>2]|0,c[f>>2]|0);i=d;return}function of(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;$f(c[d>>2]|0);i=b;return}function pf(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(c[17657]|0){c[d>>2]=zb[c[17657]&15](c[e>>2]|0)|0;f=c[d>>2]|0;i=b;return f|0}else{c[d>>2]=c[e>>2];f=c[d>>2]|0;i=b;return f|0}return 0}function qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0))c[f>>2]=fu(c[e>>2]|0)|0;if(c[17659]|0?(Ah()|0)==0:0)Ab[c[17659]&7](c[17658]|0,c[e>>2]|0,c[f>>2]|0);Jh(22028,86,22035,1,c[f>>2]|0);rf(22053);rf(c[f>>2]|0);rf(22484);xh();gb()}function rf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b+4|0;c[d>>2]=a;a=c[d>>2]|0;c[b>>2]=Kw(2,a,Kv(c[d>>2]|0)|0)|0;i=b;return}function sf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[17662]=c[d>>2];i=b;return}function tf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;i=b;return (c[17662]|0)>=(c[d>>2]|0)|0}function uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;g=e+12|0;h=e+8|0;j=e+4|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(c[17660]|0)Fb[c[17660]&1](c[17661]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);else{switch(c[g>>2]|0){case 30:case 20:case 10:case 0:break;case 40:{Aw(22068,c[3962]|0)|0;break}case 50:{Aw(22076,c[3962]|0)|0;break}case 100:{Aw(22090,c[3962]|0)|0;break}default:{d=c[3962]|0;c[f>>2]=c[g>>2];gw(d,22096,f)|0}}wv(c[3962]|0,c[h>>2]|0,c[j>>2]|0)|0}if((c[g>>2]|0)==40|(c[g>>2]|0)==50){Jh(22028,140,22121,1,22132);xh();gb()}else{i=e;return}}function vf(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+20|0;g=e+16|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;uf(c[f>>2]|0,c[g>>2]|0,h);i=e;return}function wf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;f=e;g=e+20|0;h=e+16|0;j=e+12|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;d=c[h>>2]|0;h=c[j>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=d;c[f+8>>2]=h;vf(50,22162,f);gb()}function xf(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;f=i;i=i+32|0;g=f;h=f+28|0;j=f+24|0;k=f+20|0;l=f+16|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;e=c[j>>2]|0;j=c[k>>2]|0;k=c[l>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=e;c[g+8>>2]=j;c[g+12>>2]=k;vf(50,22192,g);gb()}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;e=d+16|0;f=d;c[e>>2]=a;c[f>>2]=b;uf(10,c[e>>2]|0,f);i=d;return}function zf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e+16|0;g=e;c[e+20>>2]=a;c[f>>2]=b;c[g>>2]=d;uf(10,c[f>>2]|0,g);i=e;return 0}function Af(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;e=d+16|0;f=d;c[e>>2]=a;c[f>>2]=b;uf(30,c[e>>2]|0,f);i=d;return}function Bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;e=d+16|0;f=d;c[e>>2]=a;c[f>>2]=b;uf(40,c[e>>2]|0,f);gb()}function Cf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;e=d+16|0;f=d;c[e>>2]=a;c[f>>2]=b;uf(50,c[e>>2]|0,f);gb()}function Df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;e=d+16|0;f=d;c[e>>2]=a;c[f>>2]=b;uf(100,c[e>>2]|0,f);i=d;return}function Ef(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;e=d+16|0;f=d;c[e>>2]=a;if(!(c[e>>2]|0)){i=d;return}c[f>>2]=b;uf(0,c[e>>2]|0,f);i=d;return}function Ff(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;Gf(c[f>>2]|0,22226,c[g>>2]|0,c[h>>2]|0);i=e;return}function Gf(b,e,f,g){b=b|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;h=i;i=i+96|0;j=h+56|0;k=h+40|0;l=h+32|0;m=h+24|0;n=h+16|0;o=h+8|0;p=h;q=h+84|0;r=h+80|0;s=h+76|0;t=h+72|0;u=h+68|0;v=h+64|0;w=h+60|0;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=0;c[v>>2]=0;if((c[q>>2]|0?a[c[q>>2]>>0]|0:0)?(c[u>>2]=1,g=c[r>>2]|0,c[p>>2]=c[q>>2],c[p+4>>2]=g,Df(22228,p),(c[t>>2]|0?(a[(c[r>>2]|0)+1>>0]|0)==91:0)&(c[s>>2]|0)!=0):0){Ef(22484,o);c[r>>2]=22226;c[n>>2]=Kv(c[q>>2]|0)|0;c[n+4>>2]=76527;Df(22234,n)}a:do if(c[t>>2]|0){c[w>>2]=c[s>>2];while(1){n=c[t>>2]|0;c[t>>2]=n+-1;if(!n)break a;c[m>>2]=d[c[w>>2]>>0];Ef(22240,m);if(c[u>>2]|0?(n=(c[v>>2]|0)+1|0,c[v>>2]=n,(n|0)==32&(c[t>>2]|0)!=0):0){c[v>>2]=0;Ef(22245,l);n=Kv(c[q>>2]|0)|0;o=Kv(c[r>>2]|0)|0;c[k>>2]=n;c[k+4>>2]=76527;c[k+8>>2]=o;c[k+12>>2]=76527;Df(22249,k)}c[w>>2]=(c[w>>2]|0)+1}}while(0);if(!(c[q>>2]|0)){i=h;return}Ef(22484,j);i=h;return}function Hf(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+64|0;e=d;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=d+32|0;c[f>>2]=a;c[g>>2]=b;if(!(c[g>>2]|0)){Gf(c[f>>2]|0?c[f>>2]|0:22226,22257,0,0);i=d;return}if(c[g>>2]|0?c[(c[g>>2]|0)+12>>2]&4|0:0){c[m>>2]=kq(c[g>>2]|0,l)|0;c[e>>2]=c[l>>2];tv(n,30,22265,e)|0;Gf(c[f>>2]|0?c[f>>2]|0:22226,n,c[m>>2]|0,(((c[l>>2]|0)+7|0)>>>0)/8|0);i=d;return}c[h>>2]=zp(c[g>>2]|0,0,j,k)|0;if(!(c[h>>2]|0)){Gf(c[f>>2]|0?c[f>>2]|0:22226,22275,0,0);i=d;return}g=c[f>>2]|0;f=c[k>>2]|0?22290:22292;if(c[j>>2]|0)Gf(g,f,c[h>>2]|0,c[j>>2]|0);else Gf(g,f,76527,1);$f(c[h>>2]|0);i=d;return}function If(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+48|0;f=e+28|0;g=e+24|0;h=e+20|0;j=e+16|0;k=e+12|0;l=e+32|0;m=e;n=e+8|0;c[f>>2]=b;c[g>>2]=(((c[f>>2]|0)!=0^1)&1)+(c[f>>2]|0)+63&-64;f=c[g>>2]|0;c[h>>2]=Xa()|0;g=i;i=i+((1*f|0)+15&-16)|0;c[j>>2]=g;c[k>>2]=f;a[l>>0]=0;f=m;c[f>>2]=d[l>>0];c[f+4>>2]=0;while(1){if(!(c[j>>2]&7|0?(c[k>>2]|0)!=0:0))break;a[c[j>>2]>>0]=a[l>>0]|0;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}if((c[k>>2]|0)>>>0>=8){f=m;g=Mx(c[f>>2]|0,c[f+4>>2]|0,16843009,16843009)|0;f=m;c[f>>2]=g;c[f+4>>2]=C;do{c[n>>2]=c[j>>2];f=m;g=c[f+4>>2]|0;b=c[n>>2]|0;c[b>>2]=c[f>>2];c[b+4>>2]=g;c[k>>2]=(c[k>>2]|0)-8;c[j>>2]=(c[j>>2]|0)+8}while((c[k>>2]|0)>>>0>=8)}while(1){if(!(c[k>>2]|0))break;a[c[j>>2]>>0]=a[l>>0]|0;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}xa(c[h>>2]|0);i=e;return}function Jf(){return}function Kf(){ju(33);qf(gu(c[(Yu()|0)>>2]|0)|0,22294)}function Lf(){if(!(c[17663]|0))Mf();return Lh()|0}function Mf(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=0;if(c[17663]|0){i=a;return}c[17663]=1;Cn(0);zh(c[17664]|0);Xg();c[b>>2]=ri()|0;if((((((c[b>>2]|0)==0?(c[b>>2]=$j()|0,(c[b>>2]|0)==0):0)?(c[b>>2]=Ek()|0,(c[b>>2]|0)==0):0)?(c[b>>2]=ak()|0,(c[b>>2]|0)==0):0)?(c[b>>2]=kh()|0,(c[b>>2]|0)==0):0)?(c[b>>2]=Zp()|0,(c[b>>2]|0)==0):0){i=a;return}wf(22309,123,22318)}function Nf(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;d=i;i=i+48|0;e=d+36|0;f=d+32|0;g=d+28|0;h=d+24|0;j=d+20|0;k=d+16|0;l=d+12|0;m=d+8|0;n=d+4|0;o=d;c[f>>2]=b;c[g>>2]=22330;if((c[f>>2]|0?(a[c[f>>2]>>0]|0)==1:0)?(a[(c[f>>2]|0)+1>>0]|0)==1:0){c[e>>2]=Bq()|0;p=c[e>>2]|0;i=d;return p|0}Mf();b=c[g>>2]|0;if(!(c[f>>2]|0)){c[e>>2]=b;p=c[e>>2]|0;i=d;return p|0}c[o>>2]=Of(b,h,j,k)|0;if(!(c[o>>2]|0)){c[e>>2]=0;p=c[e>>2]|0;i=d;return p|0}if(!(Of(c[f>>2]|0,l,m,n)|0)){c[e>>2]=0;p=c[e>>2]|0;i=d;return p|0}do if((c[h>>2]|0)<=(c[l>>2]|0)){if((c[h>>2]|0)==(c[l>>2]|0)?(c[j>>2]|0)>(c[m>>2]|0):0)break;if(((c[h>>2]|0)==(c[l>>2]|0)?(c[j>>2]|0)==(c[m>>2]|0):0)?(c[k>>2]|0)>(c[n>>2]|0):0)break;if(((c[h>>2]|0)==(c[l>>2]|0)?(c[j>>2]|0)==(c[m>>2]|0):0)?(c[k>>2]|0)==(c[n>>2]|0):0)break;c[e>>2]=0;p=c[e>>2]|0;i=d;return p|0}while(0);c[e>>2]=c[g>>2];p=c[e>>2]|0;i=d;return p|0}function Of(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;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[j>>2]=Pf(c[j>>2]|0,c[k>>2]|0)|0;if(c[j>>2]|0?(a[c[j>>2]>>0]|0)==46:0){c[j>>2]=(c[j>>2]|0)+1;c[j>>2]=Pf(c[j>>2]|0,c[l>>2]|0)|0;if(c[j>>2]|0?(a[c[j>>2]>>0]|0)==46:0){c[j>>2]=(c[j>>2]|0)+1;c[j>>2]=Pf(c[j>>2]|0,c[m>>2]|0)|0;if(c[j>>2]|0){c[h>>2]=c[j>>2];n=c[h>>2]|0;i=g;return n|0}else{c[h>>2]=0;n=c[h>>2]|0;i=g;return n|0}}c[h>>2]=0;n=c[h>>2]|0;i=g;return n|0}c[h>>2]=0;n=c[h>>2]|0;i=g;return n|0}function Pf(b,d){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+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=b;c[h>>2]=d;c[j>>2]=0;if((a[c[g>>2]>>0]|0)==48?kx(a[(c[g>>2]|0)+1>>0]|0)|0:0){c[f>>2]=0;k=c[f>>2]|0;i=e;return k|0}while(1){d=(kx(a[c[g>>2]>>0]|0)|0)!=0;l=c[j>>2]|0;if(!d)break;c[j>>2]=l*10;c[j>>2]=(c[j>>2]|0)+((a[c[g>>2]>>0]|0)-48);c[g>>2]=(c[g>>2]|0)+1}c[c[h>>2]>>2]=l;c[f>>2]=(c[j>>2]|0)<0?0:c[g>>2]|0;k=c[f>>2]|0;i=e;return k|0}function Qf(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;d=i;i=i+80|0;e=d+72|0;f=d+68|0;g=d+64|0;h=d+60|0;j=d+56|0;k=d+52|0;l=d+48|0;m=d+44|0;n=d+40|0;o=d+36|0;p=d+32|0;q=d+28|0;r=d+24|0;s=d+20|0;t=d+16|0;u=d+12|0;v=d+8|0;w=d+4|0;x=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;a:do switch(c[e>>2]|0){case 31:{Zg();break}case 44:{Cn(0);In();break}case 51:{if(Ln()|0)c[g>>2]=1;break}case 13:{Gn();break}case 62:case 23:break;case 14:{yh();break}case 30:{Mf();gh(0);break}case 37:{Mf();c[17665]=1;break}case 24:{Mf();b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;gh(y);if((fh()|0)&4|0)c[g>>2]=1;break}case 25:{Mf();xh();break}case 27:{Cn(0);dh(fh()|0|1);break}case 28:{Cn(0);dh(fh()|0|2);break}case 29:{Cn(0);dh((fh()|0)&-3);break}case 22:{Mf();Hn();break}case 45:{Cn(0);y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;Qn(b);break}case 46:{Cn(0);if(Lf()|0)Rn();break}case 19:{Cn(0);b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;sf(y);break}case 20:{y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[17666]=c[17666]|b;break}case 21:{b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[17666]=c[17666]&~y;break}case 36:{Mf();break}case 40:{if(c[17663]|0)c[g>>2]=1;break}case 39:{if(c[17667]|0)c[g>>2]=1;break}case 38:{if(!(c[17667]|0)){Mf();Dn(0);c[17667]=1;Lf()|0}break}case 47:{Cn(0);Mf();break}case 48:{Cn(0);Dn(1);if(Lf()|0)Sn();break}case 52:{c[g>>2]=Rf(60)|0;break}case 49:{Cn(0);y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;Jn(b);break}case 50:{Cn(0);Dn(1);b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;Kn(((y|0)!=0^1^1)&1)|0;break}case 70:{En();break}case 53:{y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[h>>2]=b;Cn(0);Tf(c[h>>2]|0?28:27,c[h>>2]|0);break}case 54:{Cn(0);if(Uh()|0)c[g>>2]=1;break}case 55:{if(Ah()|0?(b=(Kh()|0)!=0,!(b|(c[17665]|0)!=0)):0)c[g>>2]=1;break}case 56:{Cn(0);if(!(c[17663]|0)){c[17664]=1;break a}if(Vh()|0)Mh(1)|0;if(Lh()|0)c[g>>2]=1;break}case 57:{Mf();c[g>>2]=Mh(1)|0;break}case 58:{b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[j>>2]=y;y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[k>>2]=b;b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[l>>2]=y;y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[m>>2]=b;b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[n>>2]=y;y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[o>>2]=b;b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[p>>2]=y;y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[q>>2]=b;if(Lf()|0){c[g>>2]=Vn(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;break a}else{c[g>>2]=176;break a}break}case 59:{b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[r>>2]=y;y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[s>>2]=b;b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[t>>2]=y;if(Lf()|0){c[g>>2]=Wn(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;break a}else{c[g>>2]=176;break a}break}case 60:{y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[u>>2]=b;Xn(c[u>>2]|0);break}case 61:{b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[g>>2]=Uf(y)|0;break}case 63:{y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[v>>2]=b;c[g>>2]=Ug(c[v>>2]|0)|0;break}case 64:{if(c[17663]|0){c[g>>2]=1;break a}else{Cn(0);Hh();break a}break}case 65:{b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[w>>2]=y;if((c[w>>2]|0)>0)Cn(c[w>>2]|0);break}case 66:{y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[x>>2]=b;if(c[x>>2]|0){b=Fn(((c[17663]|0)!=0^1)&1)|0;c[c[x>>2]>>2]=b}break}case 67:{Cn(0);dh(fh()|0|8);break}case 68:{Cn(0);dh(fh()|0|16);break}case 72:case 71:{c[g>>2]=69;break}default:{Cn(0);c[g>>2]=61}}while(0);i=d;return c[g>>2]|0}function Rf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Sf(1,c[d>>2]|0)|0;i=b;return a|0}function Sf(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+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function Tf(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;d=i;i=i+128|0;e=d+88|0;f=d+80|0;g=d+72|0;h=d+64|0;j=d+48|0;k=d+24|0;l=d+16|0;m=d+8|0;n=d;o=d+116|0;p=d+112|0;q=d+108|0;r=d+104|0;s=d+100|0;t=d+96|0;c[o>>2]=a;c[p>>2]=b;b=c[o>>2]|0;a=c[p>>2]|0;c[n>>2]=22330;vb[b&63](a,22344,n)|0;n=c[o>>2]|0;a=c[p>>2]|0;c[m>>2]=22370;vb[n&63](a,22357,m)|0;m=c[o>>2]|0;a=c[p>>2]|0;c[l>>2]=22395;vb[m&63](a,22382,l)|0;l=c[o>>2]|0;a=c[p>>2]|0;c[k>>2]=22416;vb[l&63](a,22403,k)|0;vb[c[o>>2]&63](c[p>>2]|0,22430,d+32|0)|0;vb[c[o>>2]&63](c[p>>2]|0,22446,d+40|0)|0;k=c[o>>2]|0;a=c[p>>2]|0;c[j>>2]=Yp()|0;vb[k&63](a,22458,j)|0;c[q>>2]=Vg()|0;vb[c[o>>2]&63](c[p>>2]|0,22471,d+56|0)|0;c[s>>2]=0;while(1){j=Wg(c[s>>2]|0,r)|0;c[t>>2]=j;if(!j)break;if(c[q>>2]&c[r>>2]|0){j=c[o>>2]|0;a=c[p>>2]|0;c[h>>2]=c[t>>2];vb[j&63](a,22480,h)|0}c[s>>2]=(c[s>>2]|0)+1}vb[c[o>>2]&63](c[p>>2]|0,22484,g)|0;g=c[o>>2]|0;h=c[p>>2]|0;r=(Ah()|0)!=0;q=(Gh()|0)!=0;c[f>>2]=r?121:110;c[f+4>>2]=q?121:110;vb[g&63](h,22486,f)|0;c[s>>2]=Fn(0)|0;switch(c[s>>2]|0){case 1:{c[t>>2]=22504;u=c[o>>2]|0;v=c[p>>2]|0;w=c[t>>2]|0;x=c[s>>2]|0;c[e>>2]=w;y=e+4|0;c[y>>2]=x;vb[u&63](v,22538,e)|0;i=d;return}case 2:{c[t>>2]=22513;u=c[o>>2]|0;v=c[p>>2]|0;w=c[t>>2]|0;x=c[s>>2]|0;c[e>>2]=w;y=e+4|0;c[y>>2]=x;vb[u&63](v,22538,e)|0;i=d;return}case 3:{c[t>>2]=22518;u=c[o>>2]|0;v=c[p>>2]|0;w=c[t>>2]|0;x=c[s>>2]|0;c[e>>2]=w;y=e+4|0;c[y>>2]=x;vb[u&63](v,22538,e)|0;i=d;return}default:wf(22309,321,22525)}}function Uf(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=0;switch(c[d>>2]|0){case 30111:{c[e>>2]=ku(1076)|0;break}case 30112:{c[e>>2]=lu(1076)|0;break}case 30113:{c[e>>2]=mu(1076)|0;break}case 30114:{c[e>>2]=nu(1076)|0;break}default:c[e>>2]=61}i=b;return c[e>>2]|0}function Vf(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=0;Wf(c[d>>2]|0,0,e)|0;i=b;return c[e>>2]|0}function Wf(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+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=0;do if(c[g>>2]&1|0?!(Xf()|0):0)if(c[17669]|0){c[k>>2]=zb[c[17669]&15](c[f>>2]|0)|0;break}else{c[k>>2]=$g(c[f>>2]|0)|0;break}else l=6;while(0);do if((l|0)==6)if(c[17668]|0){c[k>>2]=zb[c[17668]&15](c[f>>2]|0)|0;break}else{c[k>>2]=_g(c[f>>2]|0)|0;break}while(0);if(c[k>>2]|0){c[c[h>>2]>>2]=c[k>>2];m=c[j>>2]|0;i=e;return m|0}if(!(c[(Yu()|0)>>2]|0))ju(12);c[j>>2]=gu(c[(Yu()|0)>>2]|0)|0;m=c[j>>2]|0;i=e;return m|0}function Xf(){var a=0,b=0;a=i;i=i+16|0;b=a;do if(c[17665]|0)if(Gh()|0){c[17665]=0;c[b>>2]=0;break}else{c[b>>2]=c[17665];break}else c[b>>2]=0;while(0);i=a;return c[b>>2]|0}function Yf(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=0;Wf(c[d>>2]|0,1,e)|0;i=b;return c[e>>2]|0}function Zf(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;do if(!(Xf()|0))if(c[17670]|0){c[d>>2]=zb[c[17670]&15](c[e>>2]|0)|0;break}else{c[d>>2]=wh(c[e>>2]|0)|0;break}else c[d>>2]=0;while(0);i=b;return c[d>>2]|0}function _f(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+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;b=c[g>>2]|0;if(!(c[f>>2]|0)){c[e>>2]=Vf(b)|0;j=c[e>>2]|0;i=d;return j|0}if(!b){$f(c[f>>2]|0);c[e>>2]=0;j=c[e>>2]|0;i=d;return j|0}if(c[17671]|0)c[h>>2]=Eb[c[17671]&7](c[f>>2]|0,c[g>>2]|0)|0;else c[h>>2]=ah(c[f>>2]|0,c[g>>2]|0)|0;if((c[h>>2]|0)==0?(c[(Yu()|0)>>2]|0)==0:0)ju(12);c[e>>2]=c[h>>2];j=c[e>>2]|0;i=d;return j|0}function $f(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}c[e>>2]=c[(Yu()|0)>>2];if(c[17672]|0)xb[c[17672]&15](c[d>>2]|0);else ch(c[d>>2]|0);if(!(c[e>>2]|0)){i=b;return}ju(c[e>>2]|0);i=b;return}function ag(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=_(c[f>>2]|0,c[g>>2]|0)|0;if(c[g>>2]|0?(((c[h>>2]|0)>>>0)/((c[g>>2]|0)>>>0)|0|0)!=(c[f>>2]|0):0){ju(12);c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}c[j>>2]=Vf(c[h>>2]|0)|0;if(c[j>>2]|0)Fx(c[j>>2]|0,0,c[h>>2]|0)|0;c[e>>2]=c[j>>2];k=c[e>>2]|0;i=d;return k|0}function bg(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=_(c[f>>2]|0,c[g>>2]|0)|0;if(c[g>>2]|0?(((c[h>>2]|0)>>>0)/((c[g>>2]|0)>>>0)|0|0)!=(c[f>>2]|0):0){ju(12);c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}c[j>>2]=Yf(c[h>>2]|0)|0;if(c[j>>2]|0)Fx(c[j>>2]|0,0,c[h>>2]|0)|0;c[e>>2]=c[j>>2];k=c[e>>2]|0;i=d;return k|0}function cg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=0;c[f>>2]=0;c[f>>2]=Kv(c[d>>2]|0)|0;a=(Zf(c[d>>2]|0)|0)!=0;g=(c[f>>2]|0)+1|0;if(a)c[e>>2]=Yf(g)|0;else c[e>>2]=Vf(g)|0;if(!(c[e>>2]|0)){h=c[e>>2]|0;i=b;return h|0}Wv(c[e>>2]|0,c[d>>2]|0)|0;h=c[e>>2]|0;i=b;return h|0}function dg(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;while(1){a=Vf(c[d>>2]|0)|0;c[e>>2]=a;if(!((a|0)!=0^1)){f=6;break}a=(Ah()|0)==0;if(!(a&(c[17673]|0)!=0)){f=5;break}if(!(vb[c[17673]&63](c[17674]|0,c[d>>2]|0,0)|0)){f=5;break}}if((f|0)==5)qf(gu(c[(Yu()|0)>>2]|0)|0,0);else if((f|0)==6){i=b;return c[e>>2]|0}return 0}function eg(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+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;while(1){b=_f(c[e>>2]|0,c[f>>2]|0)|0;c[g>>2]=b;if(!((b|0)!=0^1)){h=6;break}b=(Ah()|0)==0;if(!(b&(c[17673]|0)!=0)){h=5;break}b=c[17673]|0;a=c[17674]|0;j=c[f>>2]|0;k=(Zf(c[e>>2]|0)|0)!=0;if(!(vb[b&63](a,j,k?3:2)|0)){h=5;break}}if((h|0)==5)qf(gu(c[(Yu()|0)>>2]|0)|0,0);else if((h|0)==6){i=d;return c[g>>2]|0}return 0}function fg(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;while(1){a=Yf(c[d>>2]|0)|0;c[e>>2]=a;if(!((a|0)!=0^1)){f=6;break}a=(Ah()|0)==0;if(!(a&(c[17673]|0)!=0)){f=5;break}if(!(vb[c[17673]&63](c[17674]|0,c[d>>2]|0,1)|0)){f=5;break}}if((f|0)==5){d=gu(c[(Yu()|0)>>2]|0)|0;qf(d,pf(22555)|0)}else if((f|0)==6){i=b;return c[e>>2]|0}return 0}function gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=_(c[e>>2]|0,c[f>>2]|0)|0;if(c[f>>2]|0?(((c[g>>2]|0)>>>0)/((c[f>>2]|0)>>>0)|0|0)!=(c[e>>2]|0):0){ju(12);qf(gu(c[(Yu()|0)>>2]|0)|0,0)}c[h>>2]=dg(c[g>>2]|0)|0;Fx(c[h>>2]|0,0,c[g>>2]|0)|0;i=d;return c[h>>2]|0}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=_(c[e>>2]|0,c[f>>2]|0)|0;if(c[f>>2]|0?(((c[g>>2]|0)>>>0)/((c[f>>2]|0)>>>0)|0|0)!=(c[e>>2]|0):0){ju(12);qf(gu(c[(Yu()|0)>>2]|0)|0,0)}c[h>>2]=fg(c[g>>2]|0)|0;Fx(c[h>>2]|0,0,c[g>>2]|0)|0;i=d;return c[h>>2]|0}function ig(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;do{a=cg(c[d>>2]|0)|0;c[e>>2]=a;if(!((a|0)!=0^1)){h=8;break}c[f>>2]=Kv(c[d>>2]|0)|0;c[g>>2]=((Zf(c[d>>2]|0)|0)!=0^1^1)&1;a=(Ah()|0)==0;if(!(a&(c[17673]|0)!=0))break}while((vb[c[17673]&63](c[17674]|0,c[f>>2]|0,c[g>>2]|0)|0)!=0);if((h|0)==8){i=b;return c[e>>2]|0}e=gu(c[(Yu()|0)>>2]|0)|0;if(!(c[g>>2]|0)){j=0;qf(e,j)}j=pf(22555)|0;qf(e,j);return 0}function jg(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(Ah()|0)c[d>>2]=0;else c[d>>2]=c[17666]&c[e>>2];i=b;return c[d>>2]|0}function kg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;bk(c[e>>2]|0,c[f>>2]|0);An(c[e>>2]|0,c[f>>2]|0);i=d;return}function lg(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;g=i;i=i+48|0;h=g;j=g+32|0;k=g+28|0;l=g+24|0;m=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;q=g+4|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;if(!(c[k>>2]|0)){c[j>>2]=45;r=c[j>>2]|0;i=g;return r|0}c[c[k>>2]>>2]=0;if(!((((c[n>>2]|0)<0|(c[n>>2]|0)>1)^1)&(c[l>>2]|0)!=0)){c[j>>2]=45;r=c[j>>2]|0;i=g;return r|0}if((c[m>>2]|0)!=0|(c[n>>2]|0)!=0){if((c[m>>2]|0)==0&(c[n>>2]|0)!=0)c[m>>2]=Kv(c[l>>2]|0)|0}else{c[m>>2]=mg(c[l>>2]|0,0,0,p)|0;if(!(c[m>>2]|0)){c[j>>2]=c[p>>2];r=c[j>>2]|0;i=g;return r|0}}c[p>>2]=ng(q,0,c[l>>2]|0,c[m>>2]|0,0,0,h)|0;if(c[p>>2]|0){c[j>>2]=c[p>>2];r=c[j>>2]|0;i=g;return r|0}c[c[k>>2]>>2]=c[q>>2];if(c[o>>2]|0)xb[c[o>>2]&15](c[l>>2]|0);c[j>>2]=0;r=c[j>>2]|0;i=g;return r|0}function mg(a,b,e,f){a=a|0;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;g=i;i=i+48|0;h=g+44|0;j=g+40|0;k=g+36|0;l=g+32|0;m=g+28|0;n=g+24|0;o=g+20|0;p=g+16|0;q=g+4|0;r=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;if(!(c[l>>2]|0))c[l>>2]=g+12;if(!(c[m>>2]|0))c[m>>2]=g+8;c[c[m>>2]>>2]=0;c[c[l>>2]>>2]=0;if(!(c[j>>2]|0)){c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}if((d[c[j>>2]>>0]|0|0)!=40){c[c[m>>2]>>2]=204;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}c[n>>2]=c[j>>2];a:while(1){if(c[k>>2]|0?(c[q>>2]|0)>>>0>=(c[k>>2]|0)>>>0:0){t=12;break}j=d[c[n>>2]>>0]|0;do if(c[p>>2]|0)if((j|0)==58){if(c[k>>2]|0?((c[q>>2]|0)+(c[p>>2]|0)|0)>>>0>=(c[k>>2]|0)>>>0:0){t=17;break a}c[q>>2]=(c[q>>2]|0)+(c[p>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[p>>2]|0);c[p>>2]=0;break}else{if((d[c[n>>2]>>0]|0|0)<48){t=22;break a}if((d[c[n>>2]>>0]|0|0)>57){t=22;break a}c[p>>2]=((c[p>>2]|0)*10|0)+((d[c[n>>2]>>0]|0)-48);break}else{if((j|0)==40){if(c[o>>2]|0){t=25;break a}c[r>>2]=(c[r>>2]|0)+1;break}if((d[c[n>>2]>>0]|0|0)==41){if(!(c[r>>2]|0)){t=29;break a}if(c[o>>2]|0){t=31;break a}f=(c[r>>2]|0)+-1|0;c[r>>2]=f;if(f|0)break;else{t=33;break a}}if((d[c[n>>2]>>0]|0|0)==91){if(c[o>>2]|0){t=36;break a}c[o>>2]=c[n>>2];break}if((d[c[n>>2]>>0]|0|0)==93){if(!(c[o>>2]|0)){t=40;break a}c[o>>2]=0;break}if((d[c[n>>2]>>0]|0|0)<48){t=47;break a}if((d[c[n>>2]>>0]|0|0)>57){t=47;break a}if((d[c[n>>2]>>0]|0|0)==48){t=45;break a}c[p>>2]=(d[c[n>>2]>>0]|0)-48}while(0);c[n>>2]=(c[n>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+1}switch(t|0){case 12:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=202;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 17:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=202;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 22:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=201;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 25:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=209;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 29:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=203;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 31:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=209;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 33:{t=(c[q>>2]|0)+1|0;c[q>>2]=t;c[h>>2]=t;s=c[h>>2]|0;i=g;return s|0}case 36:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=208;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 40:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=209;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 45:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=207;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 47:{if((d[c[n>>2]>>0]|0|0)!=38?(d[c[n>>2]>>0]|0|0)!=92:0){c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=205;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=210;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}}return 0}function ng(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,n=0,o=0,p=0,q=0,r=0;j=i;i=i+48|0;k=j+40|0;l=j+36|0;m=j+32|0;n=j+28|0;o=j+24|0;p=j+20|0;q=j+16|0;r=j;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[r>>2]=h;c[q>>2]=og(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,r)|0;i=j;return c[q>>2]|0}function og(e,f,g,h,j,k,l){e=e|0;f=f|0;g=g|0;h=h|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,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,_=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;m=i;i=i+400|0;n=m+16|0;o=m+8|0;p=m+292|0;q=m+288|0;r=m+284|0;s=m+280|0;t=m+276|0;u=m+272|0;v=m+268|0;w=m+264|0;x=m+260|0;y=m+256|0;z=m+252|0;A=m+248|0;B=m+244|0;D=m+240|0;E=m+236|0;F=m+232|0;G=m+228|0;H=m+224|0;I=m+220|0;J=m+216|0;K=m+212|0;L=m+196|0;M=m+192|0;N=m+188|0;O=m+184|0;P=m+316|0;Q=m+180|0;R=m+176|0;S=m+172|0;T=m+314|0;U=m+312|0;V=m+168|0;W=m+310|0;X=m+164|0;Y=m+160|0;Z=m+308|0;_=m+156|0;$=m+152|0;aa=m+148|0;ba=m+144|0;ca=m+140|0;da=m+136|0;ea=m+132|0;fa=m+128|0;ga=m+306|0;ha=m+124|0;ia=m+120|0;ja=m+116|0;ka=m+304|0;la=m+112|0;ma=m+108|0;na=m+104|0;oa=m+302|0;pa=m+100|0;qa=m+96|0;ra=m+92|0;sa=m+88|0;ta=m+84|0;ua=m+300|0;va=m+80|0;wa=m+76|0;xa=m+354|0;ya=m+72|0;za=m+298|0;Aa=m+68|0;Ba=m+64|0;Ca=m+319|0;Da=m+60|0;Ea=m+296|0;Fa=m+56|0;Ga=m+52|0;Ha=m+48|0;Ia=m+44|0;Ja=m+40|0;Ka=m+36|0;La=m+32|0;Ma=m+28|0;Na=m+24|0;Oa=m+318|0;Pa=m;Qa=m+20|0;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[w>>2]=l;c[x>>2]=0;c[A>>2]=0;c[B>>2]=0;c[D>>2]=0;c[E>>2]=0;c[F>>2]=0;c[G>>2]=0;c[H>>2]=0;c[I>>2]=0;c[J>>2]=0;c[K>>2]=0;c[M>>2]=0;c[N>>2]=0;if(!(c[q>>2]|0)){c[p>>2]=45;Ra=c[p>>2]|0;i=m;return Ra|0}c[c[q>>2]>>2]=0;if(!(c[s>>2]|0)){c[p>>2]=45;Ra=c[p>>2]|0;i=m;return Ra|0}if(!(c[r>>2]|0))c[r>>2]=m+208;c[L+4>>2]=(c[t>>2]|0)+2;if(c[t>>2]|0?Zf(c[s>>2]|0)|0:0)c[L>>2]=Yf(1+(c[L+4>>2]|0)-1|0)|0;else c[L>>2]=Vf(1+(c[L+4>>2]|0)-1|0)|0;a:do if(c[L>>2]|0){c[L+8>>2]=c[L>>2];c[y>>2]=c[s>>2];c[z>>2]=c[t>>2];b:while(1){if(!(c[z>>2]|0)){Sa=220;break}if(!((c[D>>2]|0)==0|(c[E>>2]|0)!=0)){if(!(sw(22591,a[c[y>>2]>>0]|0)|0)){c[K>>2]=(c[y>>2]|0)-(c[D>>2]|0);c[O>>2]=pg(L,c[K>>2]|0)|0;if(c[O>>2]|0){Sa=18;break}l=L+8|0;k=c[l>>2]|0;c[l>>2]=k+1;a[k>>0]=1;b[P>>1]=c[K>>2];k=c[L+8>>2]|0;a[k>>0]=a[P>>0]|0;a[k+1>>0]=a[P+1>>0]|0;k=L+8|0;c[k>>2]=(c[k>>2]|0)+2;Dx(c[L+8>>2]|0,c[D>>2]|0,c[K>>2]|0)|0;k=L+8|0;c[k>>2]=(c[k>>2]|0)+(c[K>>2]|0);c[D>>2]=0;Sa=20}}else Sa=20;c:do if((Sa|0)==20){Sa=0;if(c[B>>2]|0){k=a[c[y>>2]>>0]|0;if(!(c[J>>2]|0)){if((k|0)==92){c[J>>2]=1;break}if((a[c[y>>2]>>0]|0)!=34)break;c[B>>2]=(c[B>>2]|0)+1;c[S>>2]=pg(L,(c[y>>2]|0)-(c[B>>2]|0)|0)|0;if(c[S>>2]|0){Sa=59;break b}l=L+8|0;j=c[l>>2]|0;c[l>>2]=j+1;a[j>>0]=1;c[Q>>2]=c[L+8>>2];b[T>>1]=0;j=c[L+8>>2]|0;a[j>>0]=a[T>>0]|0;a[j+1>>0]=a[T+1>>0]|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+2;c[R>>2]=qg(c[B>>2]|0,(c[y>>2]|0)-(c[B>>2]|0)|0,c[L+8>>2]|0)|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+(c[R>>2]|0);b[U>>1]=c[R>>2];j=c[Q>>2]|0;a[j>>0]=a[U>>0]|0;a[j+1>>0]=a[U+1>>0]|0;c[Q>>2]=(c[Q>>2]|0)+2;c[B>>2]=0;break}switch(k|0){case 92:case 39:case 34:case 114:case 102:case 110:case 118:case 116:case 98:{c[J>>2]=0;break c;break}case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{if((c[z>>2]|0)>>>0<=2){Sa=29;break b}if((a[(c[y>>2]|0)+1>>0]|0)<48){Sa=29;break b}if((a[(c[y>>2]|0)+1>>0]|0)>55){Sa=29;break b}if((a[(c[y>>2]|0)+2>>0]|0)<48){Sa=29;break b}if((a[(c[y>>2]|0)+2>>0]|0)>55){Sa=29;break b}c[y>>2]=(c[y>>2]|0)+2;c[z>>2]=(c[z>>2]|0)-2;c[J>>2]=0;break c;break}case 120:{if((c[z>>2]|0)>>>0<=2){Sa=44;break b}if(!((a[(c[y>>2]|0)+1>>0]|0)>=48?(a[(c[y>>2]|0)+1>>0]|0)<=57:0))Sa=34;do if((Sa|0)==34){Sa=0;if((a[(c[y>>2]|0)+1>>0]|0)>=65?(a[(c[y>>2]|0)+1>>0]|0)<=70:0)break;if((a[(c[y>>2]|0)+1>>0]|0)<97){Sa=44;break b}if((a[(c[y>>2]|0)+1>>0]|0)>102){Sa=44;break b}}while(0);if(!((a[(c[y>>2]|0)+2>>0]|0)>=48?(a[(c[y>>2]|0)+2>>0]|0)<=57:0))Sa=40;do if((Sa|0)==40){Sa=0;if((a[(c[y>>2]|0)+2>>0]|0)>=65?(a[(c[y>>2]|0)+2>>0]|0)<=70:0)break;if((a[(c[y>>2]|0)+2>>0]|0)<97){Sa=44;break b}if((a[(c[y>>2]|0)+2>>0]|0)>102){Sa=44;break b}}while(0);c[y>>2]=(c[y>>2]|0)+2;c[z>>2]=(c[z>>2]|0)-2;c[J>>2]=0;break c;break}case 13:{if(c[z>>2]|0?(a[(c[y>>2]|0)+1>>0]|0)==10:0){c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+-1}c[J>>2]=0;break c;break}case 10:{if(c[z>>2]|0?(a[(c[y>>2]|0)+1>>0]|0)==13:0){c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+-1}c[J>>2]=0;break c;break}default:{Sa=54;break b}}}if(c[E>>2]|0){if(sv(a[c[y>>2]>>0]|0)|0){c[I>>2]=(c[I>>2]|0)+1;break}if((a[c[y>>2]>>0]|0)!=35)if(rg(c[y>>2]|0)|0)break;else{Sa=82;break b}if(c[I>>2]&1|0){Sa=66;break b}c[K>>2]=(c[I>>2]|0)/2|0;c[V>>2]=pg(L,c[K>>2]|0)|0;if(c[V>>2]|0){Sa=68;break b}k=L+8|0;j=c[k>>2]|0;c[k>>2]=j+1;a[j>>0]=1;b[W>>1]=c[K>>2];j=c[L+8>>2]|0;a[j>>0]=a[W>>0]|0;a[j+1>>0]=a[W+1>>0]|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+2;c[E>>2]=(c[E>>2]|0)+1;while(1){if((c[E>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;if(!(rg(c[E>>2]|0)|0)){c[X>>2]=sg(d[c[E>>2]>>0]|0)|0;c[E>>2]=(c[E>>2]|0)+1;while(1){if((c[E>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;if(!(rg(c[E>>2]|0)|0))break;c[E>>2]=(c[E>>2]|0)+1}if((c[E>>2]|0)>>>0<(c[y>>2]|0)>>>0){c[X>>2]=c[X>>2]<<4;j=sg(d[c[E>>2]>>0]|0)|0;c[X>>2]=(c[X>>2]|0)+j}j=c[X>>2]&255;k=L+8|0;l=c[k>>2]|0;c[k>>2]=l+1;a[l>>0]=j}c[E>>2]=(c[E>>2]|0)+1}c[E>>2]=0;break}if(c[F>>2]|0){if((a[c[y>>2]>>0]|0)!=124)break;c[F>>2]=0;break}if(c[A>>2]|0){if((a[c[y>>2]>>0]|0)>=48?(a[c[y>>2]>>0]|0)<=57:0)break;if((a[c[y>>2]>>0]|0)==58){c[K>>2]=gx(c[A>>2]|0)|0;c[A>>2]=0;if((c[K>>2]|0)>>>0>((c[z>>2]|0)-1|0)>>>0){Sa=91;break b}c[Y>>2]=pg(L,c[K>>2]|0)|0;if(c[Y>>2]|0){Sa=93;break b}j=L+8|0;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=1;b[Z>>1]=c[K>>2];l=c[L+8>>2]|0;a[l>>0]=a[Z>>0]|0;a[l+1>>0]=a[Z+1>>0]|0;l=L+8|0;c[l>>2]=(c[l>>2]|0)+2;Dx(c[L+8>>2]|0,(c[y>>2]|0)+1|0,c[K>>2]|0)|0;l=L+8|0;c[l>>2]=(c[l>>2]|0)+(c[K>>2]|0);c[z>>2]=(c[z>>2]|0)-(c[K>>2]|0);c[y>>2]=(c[y>>2]|0)+(c[K>>2]|0);break}if((a[c[y>>2]>>0]|0)==34){c[A>>2]=0;c[B>>2]=c[y>>2];c[J>>2]=0;break}if((a[c[y>>2]>>0]|0)==35){c[A>>2]=0;c[E>>2]=c[y>>2];c[I>>2]=0;break}if((a[c[y>>2]>>0]|0)!=124){Sa=101;break b}c[A>>2]=0;c[F>>2]=c[y>>2];break}l=a[c[y>>2]>>0]|0;if(!(c[H>>2]|0)){if((l|0)==40){if(c[G>>2]|0){Sa=179;break b}c[Ja>>2]=pg(L,0)|0;if(c[Ja>>2]|0){Sa=181;break b}j=L+8|0;k=c[j>>2]|0;c[j>>2]=k+1;a[k>>0]=3;c[N>>2]=(c[N>>2]|0)+1;break}if((a[c[y>>2]>>0]|0)==41){if(c[G>>2]|0){Sa=185;break b}c[Ka>>2]=pg(L,0)|0;if(c[Ka>>2]|0){Sa=187;break b}k=L+8|0;j=c[k>>2]|0;c[k>>2]=j+1;a[j>>0]=4;c[N>>2]=(c[N>>2]|0)+-1;break}j=c[y>>2]|0;if((a[c[y>>2]>>0]|0)==34){c[B>>2]=j;c[J>>2]=0;break}k=c[y>>2]|0;if((a[j>>0]|0)==35){c[E>>2]=k;c[I>>2]=0;break}j=c[y>>2]|0;if((a[k>>0]|0)==124){c[F>>2]=j;break}if((a[j>>0]|0)==91){Ta=c[y>>2]|0;if(c[G>>2]|0){Sa=197;break b}c[G>>2]=Ta;break}if((a[c[y>>2]>>0]|0)==93){if(!(c[G>>2]|0)){Sa=201;break b}c[G>>2]=0;break}do if((a[c[y>>2]>>0]|0)>=48){if((a[c[y>>2]>>0]|0)>57)break;Ua=c[y>>2]|0;if((a[c[y>>2]>>0]|0)==48){Sa=206;break b}c[A>>2]=Ua;break c}while(0);j=(sw(22591,a[c[y>>2]>>0]|0)|0)!=0;k=c[y>>2]|0;if(j){c[D>>2]=k;break}if(rg(k)|0)break;Va=c[y>>2]|0;if((a[c[y>>2]>>0]|0)==123){Sa=212;break b}if(sw(22690,a[Va>>0]|0)|0){Sa=214;break b}if(!(c[u>>2]|0)){Sa=218;break b}if((a[c[y>>2]>>0]|0)!=37){Sa=218;break b}c[H>>2]=c[y>>2];break}do if((l|0)!=109?(a[c[y>>2]>>0]|0)!=77:0){if((a[c[y>>2]>>0]|0)==115){if(c[v>>2]|0){k=c[M>>2]|0;c[M>>2]=k+1;c[la>>2]=c[c[(c[v>>2]|0)+(k<<2)>>2]>>2]}else{k=c[w>>2]|0;j=(c[k>>2]|0)+(4-1)&~(4-1);h=c[j>>2]|0;c[k>>2]=j+4;c[la>>2]=h}c[ma>>2]=Kv(c[la>>2]|0)|0;c[na>>2]=pg(L,c[ma>>2]|0)|0;if(c[na>>2]|0){Sa=135;break b}h=L+8|0;j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=1;b[oa>>1]=c[ma>>2];j=c[L+8>>2]|0;a[j>>0]=a[oa>>0]|0;a[j+1>>0]=a[oa+1>>0]|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+2;Dx(c[L+8>>2]|0,c[la>>2]|0,c[ma>>2]|0)|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+(c[ma>>2]|0);break}if((a[c[y>>2]>>0]|0)==98){if(c[v>>2]|0){j=c[M>>2]|0;c[M>>2]=j+1;c[qa>>2]=c[c[(c[v>>2]|0)+(j<<2)>>2]>>2]}else{j=c[w>>2]|0;h=(c[j>>2]|0)+(4-1)&~(4-1);k=c[h>>2]|0;c[j>>2]=h+4;c[qa>>2]=k}if(c[v>>2]|0){k=c[M>>2]|0;c[M>>2]=k+1;c[pa>>2]=c[c[(c[v>>2]|0)+(k<<2)>>2]>>2]}else{k=c[w>>2]|0;h=(c[k>>2]|0)+(4-1)&~(4-1);j=c[h>>2]|0;c[k>>2]=h+4;c[pa>>2]=j}c[ra>>2]=pg(L,c[qa>>2]|0)|0;if(c[ra>>2]|0){Sa=145;break b}do if(c[qa>>2]|0){if(Zf(c[L>>2]|0)|0)break;if(!(Zf(c[pa>>2]|0)|0))break;c[sa>>2]=Yf(1+(c[L+4>>2]|0)-1|0)|0;if(!(c[sa>>2]|0)){Sa=150;break b}c[ta>>2]=c[sa>>2];Dx(c[ta>>2]|0,c[L>>2]|0,(c[L+8>>2]|0)-(c[L>>2]|0)|0)|0;c[L+8>>2]=(c[ta>>2]|0)+((c[L+8>>2]|0)-(c[L>>2]|0));$f(c[L>>2]|0);c[L>>2]=c[sa>>2]}while(0);j=L+8|0;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=1;b[ua>>1]=c[qa>>2];h=c[L+8>>2]|0;a[h>>0]=a[ua>>0]|0;a[h+1>>0]=a[ua+1>>0]|0;h=L+8|0;c[h>>2]=(c[h>>2]|0)+2;Dx(c[L+8>>2]|0,c[pa>>2]|0,c[qa>>2]|0)|0;h=L+8|0;c[h>>2]=(c[h>>2]|0)+(c[qa>>2]|0);break}if((a[c[y>>2]>>0]|0)==100){if(c[v>>2]|0){h=c[M>>2]|0;c[M>>2]=h+1;c[va>>2]=c[c[(c[v>>2]|0)+(h<<2)>>2]>>2]}else{h=c[w>>2]|0;j=(c[h>>2]|0)+(4-1)&~(4-1);k=c[j>>2]|0;c[h>>2]=j+4;c[va>>2]=k}c[o>>2]=c[va>>2];ew(xa,22684,o)|0;c[wa>>2]=Kv(xa)|0;c[ya>>2]=pg(L,c[wa>>2]|0)|0;if(c[ya>>2]|0){Sa=158;break b}k=L+8|0;j=c[k>>2]|0;c[k>>2]=j+1;a[j>>0]=1;b[za>>1]=c[wa>>2];j=c[L+8>>2]|0;a[j>>0]=a[za>>0]|0;a[j+1>>0]=a[za+1>>0]|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+2;Dx(c[L+8>>2]|0,xa|0,c[wa>>2]|0)|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+(c[wa>>2]|0);break}if((a[c[y>>2]>>0]|0)==117){if(c[v>>2]|0){j=c[M>>2]|0;c[M>>2]=j+1;c[Aa>>2]=c[c[(c[v>>2]|0)+(j<<2)>>2]>>2]}else{j=c[w>>2]|0;k=(c[j>>2]|0)+(4-1)&~(4-1);h=c[k>>2]|0;c[j>>2]=k+4;c[Aa>>2]=h}c[n>>2]=c[Aa>>2];ew(Ca,22687,n)|0;c[Ba>>2]=Kv(Ca)|0;c[Da>>2]=pg(L,c[Ba>>2]|0)|0;if(c[Da>>2]|0){Sa=165;break b}h=L+8|0;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=1;b[Ea>>1]=c[Ba>>2];k=c[L+8>>2]|0;a[k>>0]=a[Ea>>0]|0;a[k+1>>0]=a[Ea+1>>0]|0;k=L+8|0;c[k>>2]=(c[k>>2]|0)+2;Dx(c[L+8>>2]|0,Ca|0,c[Ba>>2]|0)|0;k=L+8|0;c[k>>2]=(c[k>>2]|0)+(c[Ba>>2]|0);break}if((a[c[y>>2]>>0]|0)!=83){Sa=175;break b}if(c[v>>2]|0){k=c[M>>2]|0;c[M>>2]=k+1;c[Fa>>2]=c[c[(c[v>>2]|0)+(k<<2)>>2]>>2]}else{k=c[w>>2]|0;h=(c[k>>2]|0)+(4-1)&~(4-1);j=c[h>>2]|0;c[k>>2]=h+4;c[Fa>>2]=j}c[Ga>>2]=tg(c[Fa>>2]|0,Ha)|0;if(!(c[Ga>>2]|0))break;c[Ia>>2]=pg(L,c[Ga>>2]|0)|0;if(c[Ia>>2]|0){Sa=173;break b}Dx(c[L+8>>2]|0,(c[Fa>>2]|0)+(c[Ha>>2]|0)|0,c[Ga>>2]|0)|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+(c[Ga>>2]|0)}else Sa=105;while(0);do if((Sa|0)==105){Sa=0;c[$>>2]=0;c[aa>>2]=(a[c[y>>2]>>0]|0)==109?1:5;if(c[v>>2]|0){l=c[M>>2]|0;c[M>>2]=l+1;c[_>>2]=c[c[(c[v>>2]|0)+(l<<2)>>2]>>2]}else{l=c[w>>2]|0;j=(c[l>>2]|0)+(4-1)&~(4-1);h=c[j>>2]|0;c[l>>2]=j+4;c[_>>2]=h}if(zq(c[_>>2]|0,2)|0){c[ba>>2]=kq(c[_>>2]|0,ca)|0;c[$>>2]=(((c[ca>>2]|0)+7|0)>>>0)/8|0;if(!((c[ba>>2]|0)!=0&(c[$>>2]|0)!=0))break;c[da>>2]=pg(L,c[$>>2]|0)|0;if(c[da>>2]|0){Sa=111;break b}do if(!(Zf(c[L>>2]|0)|0)){if(!(zq(c[_>>2]|0,1)|0))break;c[ea>>2]=Yf(1+(c[L+4>>2]|0)-1|0)|0;if(!(c[ea>>2]|0)){Sa=115;break b}c[fa>>2]=c[ea>>2];Dx(c[fa>>2]|0,c[L>>2]|0,(c[L+8>>2]|0)-(c[L>>2]|0)|0)|0;c[L+8>>2]=(c[fa>>2]|0)+((c[L+8>>2]|0)-(c[L>>2]|0));$f(c[L>>2]|0);c[L>>2]=c[ea>>2]}while(0);h=L+8|0;j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=1;b[ga>>1]=c[$>>2];j=c[L+8>>2]|0;a[j>>0]=a[ga>>0]|0;a[j+1>>0]=a[ga+1>>0]|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+2;Dx(c[L+8>>2]|0,c[ba>>2]|0,c[$>>2]|0)|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+(c[$>>2]|0);break}if(Hp(c[aa>>2]|0,0,0,$,c[_>>2]|0)|0){Sa=119;break b}c[ha>>2]=pg(L,c[$>>2]|0)|0;if(c[ha>>2]|0){Sa=121;break b}do if(!(Zf(c[L>>2]|0)|0)){if(!(zq(c[_>>2]|0,1)|0))break;c[ia>>2]=Yf(1+(c[L+4>>2]|0)-1|0)|0;if(!(c[ia>>2]|0)){Sa=125;break b}c[ja>>2]=c[ia>>2];Dx(c[ja>>2]|0,c[L>>2]|0,(c[L+8>>2]|0)-(c[L>>2]|0)|0)|0;c[L+8>>2]=(c[ja>>2]|0)+((c[L+8>>2]|0)-(c[L>>2]|0));$f(c[L>>2]|0);c[L>>2]=c[ia>>2]}while(0);j=L+8|0;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=1;b[ka>>1]=c[$>>2];h=c[L+8>>2]|0;a[h>>0]=a[ka>>0]|0;a[h+1>>0]=a[ka+1>>0]|0;h=L+8|0;c[h>>2]=(c[h>>2]|0)+2;if(Hp(c[aa>>2]|0,c[L+8>>2]|0,c[$>>2]|0,$,c[_>>2]|0)|0){Sa=128;break b}h=L+8|0;c[h>>2]=(c[h>>2]|0)+(c[$>>2]|0)}while(0);c[H>>2]=0}while(0);c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+-1}switch(Sa|0){case 18:{c[x>>2]=c[O>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 29:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=206;break a;break}case 44:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=206;break a;break}case 54:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=206;break a;break}case 59:{c[x>>2]=c[S>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 66:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=212;break a;break}case 68:{c[x>>2]=c[V>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 82:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=211;break a;break}case 91:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=202;break a;break}case 93:{c[x>>2]=c[Y>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 101:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=201;break a;break}case 111:{c[x>>2]=c[da>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 115:{c[x>>2]=gu(c[(Yu()|0)>>2]|0)|0;break a;break}case 119:{wf(22662,1433,22669);break}case 121:{c[x>>2]=c[ha>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 125:{c[x>>2]=gu(c[(Yu()|0)>>2]|0)|0;break a;break}case 128:{wf(22662,1460,22669);break}case 135:{c[x>>2]=c[na>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 145:{c[x>>2]=c[ra>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 150:{c[x>>2]=gu(c[(Yu()|0)>>2]|0)|0;break a;break}case 158:{c[x>>2]=c[ya>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 165:{c[x>>2]=c[Da>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 173:{c[x>>2]=c[Ia>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 175:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=201;break a;break}case 179:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=209;break a;break}case 181:{c[x>>2]=c[Ja>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 185:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=209;break a;break}case 187:{c[x>>2]=c[Ka>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 197:{c[c[r>>2]>>2]=Ta-(c[s>>2]|0);c[x>>2]=208;break a;break}case 201:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=209;break a;break}case 206:{c[c[r>>2]>>2]=Ua-(c[s>>2]|0);c[x>>2]=207;break a;break}case 212:{c[c[r>>2]>>2]=Va-(c[s>>2]|0);c[x>>2]=210;break a;break}case 214:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=210;break a;break}case 218:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=205;break a;break}case 220:{c[La>>2]=pg(L,0)|0;if(c[La>>2]|0){c[x>>2]=c[La>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a}h=L+8|0;j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=0;if((c[N>>2]|0)==0|(c[x>>2]|0)!=0)break a;c[x>>2]=203;break a;break}}}else{c[x>>2]=gu(c[(Yu()|0)>>2]|0)|0;c[c[r>>2]>>2]=0}while(0);r=c[L>>2]|0;if(c[x>>2]|0){if(r|0){d:do if(Zf(c[L>>2]|0)|0){c[Ma>>2]=c[L>>2];c[Na>>2]=1+(c[L+4>>2]|0)-1;a[Oa>>0]=0;N=Pa;c[N>>2]=d[Oa>>0];c[N+4>>2]=0;while(1){if(!(c[Ma>>2]&7|0?(c[Na>>2]|0)!=0:0))break;a[c[Ma>>2]>>0]=a[Oa>>0]|0;c[Ma>>2]=(c[Ma>>2]|0)+1;c[Na>>2]=(c[Na>>2]|0)+-1}if((c[Na>>2]|0)>>>0>=8){N=Pa;s=Mx(c[N>>2]|0,c[N+4>>2]|0,16843009,16843009)|0;N=Pa;c[N>>2]=s;c[N+4>>2]=C;do{c[Qa>>2]=c[Ma>>2];N=Pa;s=c[N+4>>2]|0;y=c[Qa>>2]|0;c[y>>2]=c[N>>2];c[y+4>>2]=s;c[Na>>2]=(c[Na>>2]|0)-8;c[Ma>>2]=(c[Ma>>2]|0)+8}while((c[Na>>2]|0)>>>0>=8)}while(1){if(!(c[Na>>2]|0))break d;a[c[Ma>>2]>>0]=a[Oa>>0]|0;c[Ma>>2]=(c[Ma>>2]|0)+1;c[Na>>2]=(c[Na>>2]|0)+-1}}while(0);$f(c[L>>2]|0)}}else{L=ug(r)|0;c[c[q>>2]>>2]=L}c[p>>2]=c[x>>2];Ra=c[p>>2]|0;i=m;return Ra|0}function pg(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+32|0;e=d+24|0;f=d+20|0;g=d+16|0;h=d+12|0;j=d+8|0;k=d+4|0;l=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=(c[(c[f>>2]|0)+8>>2]|0)-(c[c[f>>2]>>2]|0);do if(((c[h>>2]|0)+(c[g>>2]|0)+2+1|0)>>>0>=(c[(c[f>>2]|0)+4>>2]|0)>>>0){c[l>>2]=(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)+2+1<<1);if((c[l>>2]|0)>>>0<=(c[(c[f>>2]|0)+4>>2]|0)>>>0){c[e>>2]=67;m=c[e>>2]|0;i=d;return m|0}c[j>>2]=_f(c[c[f>>2]>>2]|0,1+(c[l>>2]|0)-1|0)|0;if(c[j>>2]|0){c[(c[f>>2]|0)+4>>2]=c[l>>2];c[k>>2]=c[j>>2];c[(c[f>>2]|0)+8>>2]=(c[k>>2]|0)+(c[h>>2]|0);c[c[f>>2]>>2]=c[j>>2];break}c[e>>2]=gu(c[(Yu()|0)>>2]|0)|0;m=c[e>>2]|0;i=d;return m|0}while(0);c[e>>2]=0;m=c[e>>2]|0;i=d;return m|0}function qg(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;g=i;i=i+32|0;h=g+24|0;j=g+20|0;k=g+16|0;l=g+12|0;m=g+8|0;n=g+4|0;o=g;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;c[m>>2]=c[h>>2];c[n>>2]=c[k>>2];c[o>>2]=c[j>>2];while(1){if(!(c[o>>2]|0))break;j=d[c[m>>2]>>0]|0;do if(!(c[l>>2]|0))if((j|0)==92){c[l>>2]=1;break}else{h=a[c[m>>2]>>0]|0;f=c[n>>2]|0;c[n>>2]=f+1;a[f>>0]=h;break}else{a:do switch(j|0){case 98:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=8;break}case 116:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=9;break}case 118:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=11;break}case 110:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=10;break}case 102:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=12;break}case 114:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=13;break}case 34:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=34;break}case 39:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=39;break}case 92:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=92;break}case 13:{if((c[o>>2]|0)>>>0>1?(d[(c[m>>2]|0)+1>>0]|0|0)==10:0){c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+-1}break}case 10:{if((c[o>>2]|0)>>>0>1?(d[(c[m>>2]|0)+1>>0]|0|0)==13:0){c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+-1}break}case 120:{if((c[o>>2]|0)>>>0>2){if(!((d[(c[m>>2]|0)+1>>0]|0|0)>=48?(d[(c[m>>2]|0)+1>>0]|0|0)<=57:0))p=23;do if((p|0)==23){p=0;if((d[(c[m>>2]|0)+1>>0]|0|0)>=65?(d[(c[m>>2]|0)+1>>0]|0|0)<=70:0)break;if((d[(c[m>>2]|0)+1>>0]|0|0)<97)break a;if((d[(c[m>>2]|0)+1>>0]|0|0)>102)break a}while(0);if(!((d[(c[m>>2]|0)+2>>0]|0|0)>=48?(d[(c[m>>2]|0)+2>>0]|0|0)<=57:0))p=29;do if((p|0)==29){p=0;if((d[(c[m>>2]|0)+2>>0]|0|0)>=65?(d[(c[m>>2]|0)+2>>0]|0|0)<=70:0)break;if((d[(c[m>>2]|0)+2>>0]|0|0)<97)break a;if((d[(c[m>>2]|0)+2>>0]|0|0)>102)break a}while(0);c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+-1;h=d[c[m>>2]>>0]|0;if((d[c[m>>2]>>0]|0|0)<=57)q=h-48|0;else{f=d[c[m>>2]>>0]|0;q=((h|0)<=70?f-65|0:f-97|0)+10|0}f=d[(c[m>>2]|0)+1>>0]|0;if((d[(c[m>>2]|0)+1>>0]|0|0)<=57)r=f-48|0;else{h=d[(c[m>>2]|0)+1>>0]|0;r=((f|0)<=70?h-65|0:h-97|0)+10|0}h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=(q<<4)+r;c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+-1}break}default:if(((((((c[o>>2]|0)>>>0>2?(d[c[m>>2]>>0]|0|0)>=48:0)?(d[c[m>>2]>>0]|0|0)<=55:0)?(d[(c[m>>2]|0)+1>>0]|0|0)>=48:0)?(d[(c[m>>2]|0)+1>>0]|0|0)<=55:0)?(d[(c[m>>2]|0)+2>>0]|0|0)>=48:0)?(d[(c[m>>2]|0)+2>>0]|0|0)<=55:0){h=((d[c[m>>2]>>0]|0)-48<<6)+((d[(c[m>>2]|0)+1>>0]|0)-48<<3)+((d[(c[m>>2]|0)+2>>0]|0)-48)&255;f=c[n>>2]|0;c[n>>2]=f+1;a[f>>0]=h;c[m>>2]=(c[m>>2]|0)+2;c[o>>2]=(c[o>>2]|0)-2}}while(0);c[l>>2]=0}while(0);c[o>>2]=(c[o>>2]|0)+-1;c[m>>2]=(c[m>>2]|0)+1}i=g;return (c[n>>2]|0)-(c[k>>2]|0)|0}function rg(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[f>>2]=b;switch(a[c[f>>2]>>0]|0){case 10:case 13:case 12:case 11:case 9:case 32:{c[e>>2]=1;break}default:c[e>>2]=0}i=d;return c[e>>2]|0}function sg(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;a=c[e>>2]|0;do if(!((c[e>>2]|0)>=48&(c[e>>2]|0)<=57)){f=c[e>>2]|0;if((a|0)>=65&(c[e>>2]|0)<=70){c[d>>2]=10+f-65;break}if((f|0)>=97&(c[e>>2]|0)<=102){c[d>>2]=10+(c[e>>2]|0)-97;break}else{c[d>>2]=0;break}}else c[d>>2]=a-48;while(0);i=b;return c[d>>2]|0}function tg(b,f){b=b|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+32|0;h=g+20|0;j=g+16|0;k=g+12|0;l=g+8|0;m=g+24|0;n=g+4|0;o=g;c[j>>2]=b;c[k>>2]=f;c[o>>2]=0;c[c[k>>2]>>2]=0;a:do if(c[j>>2]|0){c[l>>2]=c[j>>2];while(1){f=d[c[l>>2]>>0]|0;c[n>>2]=f;if(!f)break a;c[l>>2]=(c[l>>2]|0)+1;if((c[n>>2]|0)==1){f=c[l>>2]|0;a[m>>0]=a[f>>0]|0;a[m+1>>0]=a[f+1>>0]|0;c[l>>2]=(c[l>>2]|0)+(2+(e[m>>1]|0));continue}if((c[n>>2]|0)!=3){if((c[n>>2]|0)!=4)continue;c[o>>2]=(c[o>>2]|0)+-1;if(c[o>>2]|0)continue;else break}if(!(c[o>>2]|0))c[c[k>>2]>>2]=(c[l>>2]|0)+-1-(c[j>>2]|0);c[o>>2]=(c[o>>2]|0)+1}c[h>>2]=(c[l>>2]|0)-(c[j>>2]|0);p=c[h>>2]|0;i=g;return p|0}while(0);c[h>>2]=0;p=c[h>>2]|0;i=g;return p|0}function ug(a){a=a|0;var b=0,e=0,f=0,g=0;b=i;i=i+16|0;e=b+8|0;f=b+4|0;g=b;c[f>>2]=a;do if(c[f>>2]|0){c[g>>2]=c[f>>2];if(!(d[c[g>>2]>>0]|0)){vg(c[f>>2]|0);c[e>>2]=0;break}if((d[c[g>>2]>>0]|0|0)==3?(d[(c[g>>2]|0)+1>>0]|0|0)==4:0){vg(c[f>>2]|0);c[e>>2]=0;break}c[e>>2]=c[f>>2]}else c[e>>2]=0;while(0);i=b;return c[e>>2]|0}function vg(b){b=b|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+48|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+32|0;l=f+16|0;m=f+12|0;n=f+34|0;o=f;p=f+8|0;c[g>>2]=b;if(!(c[g>>2]|0)){i=f;return}a:do if(Zf(c[g>>2]|0)|0){c[h>>2]=c[g>>2];while(1){b=d[c[h>>2]>>0]|0;c[j>>2]=b;if(!b)break;c[h>>2]=(c[h>>2]|0)+1;if((c[j>>2]|0)!=1)continue;b=c[h>>2]|0;a[k>>0]=a[b>>0]|0;a[k+1>>0]=a[b+1>>0]|0;c[h>>2]=(c[h>>2]|0)+2;c[h>>2]=(c[h>>2]|0)+(e[k>>1]|0)}c[l>>2]=c[g>>2];c[m>>2]=(c[h>>2]|0)-(c[g>>2]|0);a[n>>0]=0;b=o;c[b>>2]=d[n>>0];c[b+4>>2]=0;while(1){if(!(c[l>>2]&7|0?(c[m>>2]|0)!=0:0))break;a[c[l>>2]>>0]=a[n>>0]|0;c[l>>2]=(c[l>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+-1}if((c[m>>2]|0)>>>0>=8){b=o;q=Mx(c[b>>2]|0,c[b+4>>2]|0,16843009,16843009)|0;b=o;c[b>>2]=q;c[b+4>>2]=C;do{c[p>>2]=c[l>>2];b=o;q=c[b+4>>2]|0;r=c[p>>2]|0;c[r>>2]=c[b>>2];c[r+4>>2]=q;c[m>>2]=(c[m>>2]|0)-8;c[l>>2]=(c[l>>2]|0)+8}while((c[m>>2]|0)>>>0>=8)}while(1){if(!(c[m>>2]|0))break a;a[c[l>>2]>>0]=a[n>>0]|0;c[l>>2]=(c[l>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+-1}}while(0);$f(c[g>>2]|0);i=f;return}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,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=lg(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,0)|0;i=f;return e|0}function xg(f,g,h){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+48|0;k=j+32|0;l=j+28|0;m=j+24|0;n=j+20|0;o=j+16|0;p=j+36|0;q=j+12|0;r=j+8|0;s=j+4|0;t=j;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if(!(c[l>>2]|0)){c[k>>2]=0;u=c[k>>2]|0;i=j;return u|0}if(!(c[n>>2]|0))c[n>>2]=Kv(c[m>>2]|0)|0;c[o>>2]=c[l>>2];while(1){if(!(d[c[o>>2]>>0]|0)){v=29;break}if((d[c[o>>2]>>0]|0|0)==3?(d[(c[o>>2]|0)+1>>0]|0|0)==1:0){c[q>>2]=c[o>>2];c[o>>2]=(c[o>>2]|0)+2;l=c[o>>2]|0;a[p>>0]=a[l>>0]|0;a[p+1>>0]=a[l+1>>0]|0;c[o>>2]=(c[o>>2]|0)+2;if((e[p>>1]|0|0)==(c[n>>2]|0)?(mw(c[o>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)==0:0)break;c[o>>2]=(c[o>>2]|0)+(e[p>>1]|0);continue}if((d[c[o>>2]>>0]|0|0)==1){l=(c[o>>2]|0)+1|0;c[o>>2]=l;a[p>>0]=a[l>>0]|0;a[p+1>>0]=a[l+1>>0]|0;c[o>>2]=(c[o>>2]|0)+2;c[o>>2]=(c[o>>2]|0)+(e[p>>1]|0);continue}else{c[o>>2]=(c[o>>2]|0)+1;continue}}if((v|0)==29){c[k>>2]=0;u=c[k>>2]|0;i=j;return u|0}c[t>>2]=1;c[o>>2]=(c[o>>2]|0)+(e[p>>1]|0);a:while(1){w=c[o>>2]|0;if(!(c[t>>2]|0))break;do if((d[w>>0]|0|0)!=1){if((d[c[o>>2]>>0]|0|0)==3){c[t>>2]=(c[t>>2]|0)+1;break}if((d[c[o>>2]>>0]|0|0)!=4)if(!(d[c[o>>2]>>0]|0)){v=20;break a}else break;else{c[t>>2]=(c[t>>2]|0)+-1;break}}else{n=(c[o>>2]|0)+1|0;c[o>>2]=n;a[p>>0]=a[n>>0]|0;a[p+1>>0]=a[n+1>>0]|0;c[o>>2]=(c[o>>2]|0)+(2+(e[p>>1]|0));c[o>>2]=(c[o>>2]|0)+-1}while(0);c[o>>2]=(c[o>>2]|0)+1}if((v|0)==20)wf(22662,481,22693);b[p>>1]=w-(c[q>>2]|0);c[r>>2]=Vf(1+(e[p>>1]|0)|0)|0;if(c[r>>2]|0){c[s>>2]=c[r>>2];Dx(c[s>>2]|0,c[q>>2]|0,e[p>>1]|0|0)|0;c[s>>2]=(c[s>>2]|0)+(e[p>>1]|0);p=c[s>>2]|0;c[s>>2]=p+1;a[p>>0]=0;c[k>>2]=ug(c[r>>2]|0)|0;u=c[k>>2]|0;i=j;return u|0}else{c[k>>2]=0;u=c[k>>2]|0;i=j;return u|0}return 0}function yg(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f+24|0;l=f+8|0;m=f+4|0;n=f;c[h>>2]=b;c[m>>2]=0;c[n>>2]=0;if(!(c[h>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}c[j>>2]=c[h>>2];while(1){h=d[c[j>>2]>>0]|0;c[l>>2]=h;if(!h)break;c[j>>2]=(c[j>>2]|0)+1;if((c[l>>2]|0)==1){h=c[j>>2]|0;a[k>>0]=a[h>>0]|0;a[k+1>>0]=a[h+1>>0]|0;c[j>>2]=(c[j>>2]|0)+(2+(e[k>>1]|0));if((c[n>>2]|0)!=1)continue;c[m>>2]=(c[m>>2]|0)+1;continue}if((c[l>>2]|0)!=3){if((c[l>>2]|0)!=4)continue;c[n>>2]=(c[n>>2]|0)+-1;continue}if((c[n>>2]|0)==1)c[m>>2]=(c[m>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+1}c[g>>2]=c[m>>2];o=c[g>>2]|0;i=f;return o|0}function zg(f,g){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;h=i;i=i+48|0;j=h+28|0;k=h+24|0;l=h+20|0;m=h+16|0;n=h+32|0;o=h+12|0;p=h+8|0;q=h+4|0;r=h;c[k>>2]=f;c[l>>2]=g;c[q>>2]=0;if(c[k>>2]|0?(d[c[k>>2]>>0]|0|0)==3:0){c[m>>2]=c[k>>2];while(1){k=(c[l>>2]|0)>0;c[m>>2]=(c[m>>2]|0)+1;s=(d[c[m>>2]>>0]|0|0)==1;if(!k)break;if(s){k=(c[m>>2]|0)+1|0;c[m>>2]=k;a[n>>0]=a[k>>0]|0;a[n+1>>0]=a[k+1>>0]|0;c[m>>2]=(c[m>>2]|0)+(2+(e[n>>1]|0));c[m>>2]=(c[m>>2]|0)+-1;if(c[q>>2]|0)continue;c[l>>2]=(c[l>>2]|0)+-1;continue}if((d[c[m>>2]>>0]|0|0)==3){c[q>>2]=(c[q>>2]|0)+1;continue}if((d[c[m>>2]>>0]|0|0)!=4)if(!(d[c[m>>2]>>0]|0)){t=15;break}else continue;c[q>>2]=(c[q>>2]|0)+-1;if(c[q>>2]|0)continue;c[l>>2]=(c[l>>2]|0)+-1}if((t|0)==15){c[j>>2]=0;u=c[j>>2]|0;i=h;return u|0}do if(s){l=(c[m>>2]|0)+1|0;a[n>>0]=a[l>>0]|0;a[n+1>>0]=a[l+1>>0]|0;c[o>>2]=Vf(5+(e[n>>1]|0)+1|0)|0;if(c[o>>2]|0){c[p>>2]=c[o>>2];l=c[p>>2]|0;c[p>>2]=l+1;a[l>>0]=3;Dx(c[p>>2]|0,c[m>>2]|0,3+(e[n>>1]|0)|0)|0;c[p>>2]=(c[p>>2]|0)+(3+(e[n>>1]|0));l=c[p>>2]|0;c[p>>2]=l+1;a[l>>0]=4;a[c[p>>2]>>0]=0;break}c[j>>2]=0;u=c[j>>2]|0;i=h;return u|0}else{if((d[c[m>>2]>>0]|0|0)!=3){c[o>>2]=0;break}c[r>>2]=c[m>>2];c[q>>2]=1;a:do{c[m>>2]=(c[m>>2]|0)+1;do if((d[c[m>>2]>>0]|0|0)!=1){if((d[c[m>>2]>>0]|0|0)==3){c[q>>2]=(c[q>>2]|0)+1;break}if((d[c[m>>2]>>0]|0|0)!=4)if(!(d[c[m>>2]>>0]|0)){t=29;break a}else break;else{c[q>>2]=(c[q>>2]|0)+-1;break}}else{l=(c[m>>2]|0)+1|0;c[m>>2]=l;a[n>>0]=a[l>>0]|0;a[n+1>>0]=a[l+1>>0]|0;c[m>>2]=(c[m>>2]|0)+(2+(e[n>>1]|0));c[m>>2]=(c[m>>2]|0)+-1}while(0)}while((c[q>>2]|0)!=0);if((t|0)==29)wf(22662,673,22715);b[n>>1]=(c[m>>2]|0)+1-(c[r>>2]|0);c[o>>2]=Vf(1+(e[n>>1]|0)|0)|0;if(c[o>>2]|0){c[p>>2]=c[o>>2];Dx(c[p>>2]|0,c[r>>2]|0,e[n>>1]|0|0)|0;c[p>>2]=(c[p>>2]|0)+(e[n>>1]|0);l=c[p>>2]|0;c[p>>2]=l+1;a[l>>0]=0;break}c[j>>2]=0;u=c[j>>2]|0;i=h;return u|0}while(0);c[j>>2]=ug(c[o>>2]|0)|0;u=c[j>>2]|0;i=h;return u|0}c[j>>2]=0;u=c[j>>2]|0;i=h;return u|0}function Ag(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=zg(c[d>>2]|0,0)|0;i=b;return a|0}function Bg(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=Cg(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function Cg(b,f,g){b=b|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+32|0;j=h+20|0;k=h+16|0;l=h+12|0;m=h+8|0;n=h+4|0;o=h+24|0;p=h;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[p>>2]=0;c[c[m>>2]>>2]=0;if(!(c[k>>2]|0)){c[j>>2]=0;q=c[j>>2]|0;i=h;return q|0}c[n>>2]=c[k>>2];if((d[c[n>>2]>>0]|0|0)!=3){if(c[l>>2]|0){c[j>>2]=0;q=c[j>>2]|0;i=h;return q|0}}else c[n>>2]=(c[n>>2]|0)+1;a:while(1){r=(d[c[n>>2]>>0]|0|0)==1;if((c[l>>2]|0)<=0)break;do if(r){k=(c[n>>2]|0)+1|0;c[n>>2]=k;a[o>>0]=a[k>>0]|0;a[o+1>>0]=a[k+1>>0]|0;c[n>>2]=(c[n>>2]|0)+(2+(e[o>>1]|0));c[n>>2]=(c[n>>2]|0)+-1;if(!(c[p>>2]|0))c[l>>2]=(c[l>>2]|0)+-1}else{if((d[c[n>>2]>>0]|0|0)==3){c[p>>2]=(c[p>>2]|0)+1;break}if((d[c[n>>2]>>0]|0|0)!=4)if(!(d[c[n>>2]>>0]|0)){s=17;break a}else break;c[p>>2]=(c[p>>2]|0)+-1;if(!(c[p>>2]|0))c[l>>2]=(c[l>>2]|0)+-1}while(0);c[n>>2]=(c[n>>2]|0)+1}if((s|0)==17){c[j>>2]=0;q=c[j>>2]|0;i=h;return q|0}if(r){r=(c[n>>2]|0)+1|0;c[n>>2]=r;a[o>>0]=a[r>>0]|0;a[o+1>>0]=a[r+1>>0]|0;c[c[m>>2]>>2]=e[o>>1];c[j>>2]=(c[n>>2]|0)+2;q=c[j>>2]|0;i=h;return q|0}else{c[j>>2]=0;q=c[j>>2]|0;i=h;return q|0}return 0}function Dg(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+32|0;f=e+24|0;g=e+20|0;h=e+16|0;j=e+12|0;k=e+8|0;l=e+4|0;m=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[c[j>>2]>>2]=0;c[k>>2]=Cg(c[g>>2]|0,c[h>>2]|0,l)|0;if(!((c[k>>2]|0)!=0&(c[l>>2]|0)!=0)){c[f>>2]=0;n=c[f>>2]|0;i=e;return n|0}c[m>>2]=Vf(c[l>>2]|0)|0;if(c[m>>2]|0){Dx(c[m>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[c[j>>2]>>2]=c[l>>2];c[f>>2]=c[m>>2];n=c[f>>2]|0;i=e;return n|0}else{c[f>>2]=0;n=c[f>>2]|0;i=e;return n|0}return 0}function Eg(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;e=i;i=i+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[g>>2]=b;c[h>>2]=d;c[j>>2]=Cg(c[g>>2]|0,c[h>>2]|0,k)|0;if(!((c[j>>2]|0)==0|(c[k>>2]|0)>>>0<1)?((c[k>>2]|0)+1|0)>>>0>=1:0){c[l>>2]=Vf((c[k>>2]|0)+1|0)|0;if(c[l>>2]|0){Dx(c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;a[(c[l>>2]|0)+(c[k>>2]|0)>>0]=0;c[f>>2]=c[l>>2];m=c[f>>2]|0;i=e;return m|0}else{c[f>>2]=0;m=c[f>>2]|0;i=e;return m|0}}c[f>>2]=0;m=c[f>>2]|0;i=e;return m|0} +function Fg(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;e=i;i=i+32|0;f=e+28|0;g=e+24|0;h=e+20|0;j=e+16|0;k=e+12|0;l=e+8|0;m=e+4|0;n=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;do if((c[j>>2]|0)==8){c[m>>2]=Dg(c[g>>2]|0,c[h>>2]|0,k)|0;if(!(c[m>>2]|0)){c[f>>2]=0;o=c[f>>2]|0;i=e;return o|0}if(Zf(c[g>>2]|0)|0)p=wq(0)|0;else p=vq(0)|0;c[l>>2]=p;if(c[l>>2]|0){iq(c[l>>2]|0,c[m>>2]|0,c[k>>2]<<3)|0;break}else{$f(c[m>>2]|0);break}}else{if(!(c[j>>2]|0))c[j>>2]=1;c[n>>2]=Cg(c[g>>2]|0,c[h>>2]|0,k)|0;if(!(c[n>>2]|0)){c[f>>2]=0;o=c[f>>2]|0;i=e;return o|0}if(Dp(l,c[j>>2]|0,c[n>>2]|0,c[k>>2]|0,0)|0){c[f>>2]=0;o=c[f>>2]|0;i=e;return o|0}}while(0);c[f>>2]=c[l>>2];o=c[f>>2]|0;i=e;return o|0}function Gg(f){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+48|0;h=g+28|0;j=g+24|0;k=g+20|0;l=g+16|0;m=g+32|0;n=g+12|0;o=g+8|0;p=g+4|0;q=g;c[j>>2]=f;c[p>>2]=0;c[q>>2]=1;if(c[j>>2]|0?(d[c[j>>2]>>0]|0|0)==3:0){c[k>>2]=c[j>>2];while(1){j=(c[q>>2]|0)>0;c[k>>2]=(c[k>>2]|0)+1;r=c[k>>2]|0;if(!j)break;if((d[r>>0]|0|0)==1){j=(c[k>>2]|0)+1|0;c[k>>2]=j;a[m>>0]=a[j>>0]|0;a[m+1>>0]=a[j+1>>0]|0;c[k>>2]=(c[k>>2]|0)+(2+(e[m>>1]|0));c[k>>2]=(c[k>>2]|0)+-1;if(c[p>>2]|0)continue;c[q>>2]=(c[q>>2]|0)+-1;continue}if((d[c[k>>2]>>0]|0|0)==3){c[p>>2]=(c[p>>2]|0)+1;continue}if((d[c[k>>2]>>0]|0|0)!=4)if(!(d[c[k>>2]>>0]|0)){s=15;break}else continue;c[p>>2]=(c[p>>2]|0)+-1;if(c[p>>2]|0)continue;c[q>>2]=(c[q>>2]|0)+-1}if((s|0)==15){c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}c[l>>2]=r;c[p>>2]=0;a:do{do if((d[c[k>>2]>>0]|0|0)!=1){if((d[c[k>>2]>>0]|0|0)==3){c[p>>2]=(c[p>>2]|0)+1;break}if((d[c[k>>2]>>0]|0|0)!=4)if(!(d[c[k>>2]>>0]|0)){s=24;break a}else break;else{c[p>>2]=(c[p>>2]|0)+-1;break}}else{r=(c[k>>2]|0)+1|0;c[k>>2]=r;a[m>>0]=a[r>>0]|0;a[m+1>>0]=a[r+1>>0]|0;c[k>>2]=(c[k>>2]|0)+(2+(e[m>>1]|0));c[k>>2]=(c[k>>2]|0)+-1}while(0);c[k>>2]=(c[k>>2]|0)+1}while((c[p>>2]|0)!=0);if((s|0)==24){c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}b[m>>1]=(c[k>>2]|0)-(c[l>>2]|0);c[n>>2]=Vf(1+(e[m>>1]|0)+2|0)|0;if(c[n>>2]|0){c[o>>2]=c[n>>2];k=c[o>>2]|0;c[o>>2]=k+1;a[k>>0]=3;Dx(c[o>>2]|0,c[l>>2]|0,e[m>>1]|0|0)|0;c[o>>2]=(c[o>>2]|0)+(e[m>>1]|0);m=c[o>>2]|0;c[o>>2]=m+1;a[m>>0]=4;m=c[o>>2]|0;c[o>>2]=m+1;a[m>>0]=0;c[h>>2]=ug(c[n>>2]|0)|0;t=c[h>>2]|0;i=g;return t|0}else{c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}}c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}function Hg(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=Gg(c[d>>2]|0)|0;c[f>>2]=Ag(c[e>>2]|0)|0;vg(c[e>>2]|0);i=b;return c[f>>2]|0}function Ig(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;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;e=c[g>>2]|0;g=c[h>>2]|0;h=c[j>>2]|0;c[k>>2]=og(e,g,h,Kv(c[j>>2]|0)|0,1,0,l)|0;i=f;return c[k>>2]|0}function Jg(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=c[g>>2]|0;g=c[h>>2]|0;h=c[j>>2]|0;d=Kv(c[j>>2]|0)|0;j=og(e,g,h,d,1,0,c[k>>2]|0)|0;i=f;return j|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;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=ng(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,0,0,f)|0;i=f;return e|0}function Lg(b,f,g,h){b=b|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+80|0;k=j;l=j+48|0;m=j+44|0;n=j+40|0;o=j+36|0;p=j+32|0;q=j+28|0;r=j+24|0;s=j+52|0;t=j+56|0;u=j+20|0;v=j+16|0;w=j+12|0;x=j+8|0;y=j+4|0;c[m>>2]=b;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[u>>2]=0;c[w>>2]=0;c[q>>2]=c[m>>2]|0?c[m>>2]|0:22730;c[r>>2]=c[o>>2];a:while(1){if(!(d[c[q>>2]>>0]|0)){z=55;break}switch(d[c[q>>2]>>0]|0|0){case 3:{c[q>>2]=(c[q>>2]|0)+1;if((c[n>>2]|0)!=1){if(c[w>>2]|0)c[u>>2]=(c[u>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+(c[w>>2]|0)}c[u>>2]=(c[u>>2]|0)+1;if(c[o>>2]|0){if((c[u>>2]|0)>>>0>=(c[p>>2]|0)>>>0){z=10;break a}b:do if((c[n>>2]|0)!=1){if(c[w>>2]|0){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=10}c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[w>>2]|0))break b;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=32;c[v>>2]=(c[v>>2]|0)+1}}while(0);m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=40}c[w>>2]=(c[w>>2]|0)+1;continue a;break}case 4:{c[q>>2]=(c[q>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+1;if(c[o>>2]|0){if((c[u>>2]|0)>>>0>=(c[p>>2]|0)>>>0){z=21;break a}m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=41}c[w>>2]=(c[w>>2]|0)+-1;if((d[c[q>>2]>>0]|0|0)==3)continue a;if(!((c[n>>2]|0)!=1?(d[c[q>>2]>>0]|0|0)!=0:0))continue a;c[u>>2]=(c[u>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+(c[w>>2]|0);if(!(c[o>>2]|0))continue a;if((c[u>>2]|0)>>>0>=(c[p>>2]|0)>>>0){z=27;break a}m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=10;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[w>>2]|0))continue a;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=32;c[v>>2]=(c[v>>2]|0)+1}break}case 1:{c[q>>2]=(c[q>>2]|0)+1;m=c[q>>2]|0;a[s>>0]=a[m>>0]|0;a[s+1>>0]=a[m+1>>0]|0;c[q>>2]=(c[q>>2]|0)+2;if((c[n>>2]|0)==3){m=Mg(c[q>>2]|0,e[s>>1]|0)|0;c[x>>2]=m;switch(m|0){case 1:{c[y>>2]=Ng(c[q>>2]|0,e[s>>1]|0,0)|0;break}case 2:{c[y>>2]=Og(c[q>>2]|0,e[s>>1]|0,0)|0;break}default:c[y>>2]=Pg(c[q>>2]|0,e[s>>1]|0,0)|0}c[u>>2]=(c[u>>2]|0)+(c[y>>2]|0);if(c[o>>2]|0){if((c[u>>2]|0)>>>0>=(c[p>>2]|0)>>>0){z=38;break a}switch(c[x>>2]|0){case 1:{Ng(c[q>>2]|0,e[s>>1]|0,c[r>>2]|0)|0;break}case 2:{Og(c[q>>2]|0,e[s>>1]|0,c[r>>2]|0)|0;break}default:Pg(c[q>>2]|0,e[s>>1]|0,c[r>>2]|0)|0}c[r>>2]=(c[r>>2]|0)+(c[y>>2]|0)}if((d[(c[q>>2]|0)+(e[s>>1]|0)>>0]|0|0)!=4?(c[u>>2]=(c[u>>2]|0)+1,c[o>>2]|0):0){if((c[u>>2]|0)>>>0>=(c[p>>2]|0)>>>0){z=47;break a}m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=32}}else{c[k>>2]=e[s>>1];ew(t,22757,k)|0;m=Kv(t)|0;c[u>>2]=(c[u>>2]|0)+(m+(e[s>>1]|0));if(c[o>>2]|0){if((c[u>>2]|0)>>>0>=(c[p>>2]|0)>>>0){z=51;break a}c[r>>2]=Xv(c[r>>2]|0,t)|0;Dx(c[r>>2]|0,c[q>>2]|0,e[s>>1]|0|0)|0;c[r>>2]=(c[r>>2]|0)+(e[s>>1]|0)}}c[q>>2]=(c[q>>2]|0)+(e[s>>1]|0);continue a;break}default:{z=54;break a}}}if((z|0)==10){c[l>>2]=0;A=c[l>>2]|0;i=j;return A|0}else if((z|0)==21){c[l>>2]=0;A=c[l>>2]|0;i=j;return A|0}else if((z|0)==27){c[l>>2]=0;A=c[l>>2]|0;i=j;return A|0}else if((z|0)==38){c[l>>2]=0;A=c[l>>2]|0;i=j;return A|0}else if((z|0)==47){c[l>>2]=0;A=c[l>>2]|0;i=j;return A|0}else if((z|0)==51){c[l>>2]=0;A=c[l>>2]|0;i=j;return A|0}else if((z|0)==54)wf(22662,2008,22761);else if((z|0)==55){do if((c[n>>2]|0)!=1?(c[u>>2]=(c[u>>2]|0)+1,c[o>>2]|0):0){if((c[u>>2]|0)>>>0<(c[p>>2]|0)>>>0){z=c[r>>2]|0;c[r>>2]=z+1;a[z>>0]=10;break}c[l>>2]=0;A=c[l>>2]|0;i=j;return A|0}while(0);n=c[u>>2]|0;do if(c[o>>2]|0){if(n>>>0<(c[p>>2]|0)>>>0){z=c[r>>2]|0;c[r>>2]=z+1;a[z>>0]=0;break}c[l>>2]=0;A=c[l>>2]|0;i=j;return A|0}else c[u>>2]=n+1;while(0);c[l>>2]=c[u>>2];A=c[l>>2]|0;i=j;return A|0}return 0}function Mg(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;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;l=f;c[h>>2]=b;c[j>>2]=e;c[l>>2]=1;if(!(c[j>>2]|0)){c[g>>2]=1;m=c[g>>2]|0;i=f;return m|0}if(d[c[h>>2]>>0]&128|0){c[g>>2]=0;m=c[g>>2]|0;i=f;return m|0}if(!(a[c[h>>2]>>0]|0)){c[g>>2]=0;m=c[g>>2]|0;i=f;return m|0}c[k>>2]=c[h>>2];while(1){if(!(c[j>>2]|0))break;if((d[c[k>>2]>>0]|0)>=32){if((d[c[k>>2]>>0]|0)>=127?(d[c[k>>2]>>0]|0)<=160:0)n=12}else n=12;if((n|0)==12?(n=0,(sw(22733,d[c[k>>2]>>0]|0)|0)==0):0){n=13;break}do if(c[l>>2]|0){if((d[c[k>>2]>>0]|0)>=65?(d[c[k>>2]>>0]|0)<=90:0)break;if((d[c[k>>2]>>0]|0)>=97?(d[c[k>>2]>>0]|0)<=122:0)break;if((d[c[k>>2]>>0]|0)>=48?(d[c[k>>2]>>0]|0)<=57:0)break;if(!(sw(22743,d[c[k>>2]>>0]|0)|0))c[l>>2]=0}while(0);c[k>>2]=(c[k>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+-1}if((n|0)==13){c[g>>2]=0;m=c[g>>2]|0;i=f;return m|0}c[k>>2]=c[h>>2];do if(c[l>>2]|0){if((d[c[k>>2]>>0]|0)>=48?(d[c[k>>2]>>0]|0)<=57:0)break;c[g>>2]=2;m=c[g>>2]|0;i=f;return m|0}while(0);c[g>>2]=1;m=c[g>>2]|0;i=f;return m|0}function Ng(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;g=i;i=i+32|0;h=g;j=g+24|0;k=g+20|0;l=g+16|0;m=g+12|0;n=g+8|0;o=g+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;if(!(c[m>>2]|0)){c[o>>2]=2;while(1){if(!(c[l>>2]|0))break;a:do switch(d[c[k>>2]>>0]|0|0){case 92:case 39:case 34:case 13:case 12:case 10:case 11:case 9:case 8:{c[o>>2]=(c[o>>2]|0)+2;break}default:{do if((d[c[k>>2]>>0]|0|0)>=32){if((d[c[k>>2]>>0]|0|0)>=127?(d[c[k>>2]>>0]|0|0)<=160:0)break;c[o>>2]=(c[o>>2]|0)+1;break a}while(0);c[o>>2]=(c[o>>2]|0)+4}}while(0);c[l>>2]=(c[l>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)+1}c[j>>2]=c[o>>2];p=c[j>>2]|0;i=g;return p|0}c[n>>2]=c[m>>2];o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=34;while(1){if(!(c[l>>2]|0))break;b:do switch(d[c[k>>2]>>0]|0|0){case 8:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=98;break}case 9:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=116;break}case 11:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=118;break}case 10:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=110;break}case 12:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=102;break}case 13:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=114;break}case 34:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=34;break}case 39:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=39;break}case 92:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;break}default:{do if((d[c[k>>2]>>0]|0|0)>=32){if((d[c[k>>2]>>0]|0|0)>=127?(d[c[k>>2]>>0]|0|0)<=160:0)break;o=a[c[k>>2]>>0]|0;f=c[n>>2]|0;c[n>>2]=f+1;a[f>>0]=o;break b}while(0);o=c[n>>2]|0;c[h>>2]=d[c[k>>2]>>0];ew(o,22584,h)|0;c[n>>2]=(c[n>>2]|0)+4}}while(0);c[l>>2]=(c[l>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)+1}k=c[n>>2]|0;c[n>>2]=k+1;a[k>>0]=34;c[j>>2]=(c[n>>2]|0)-(c[m>>2]|0);p=c[j>>2]|0;i=g;return p|0}function Og(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[h>>2]|0)){j=c[g>>2]|0;i=e;return j|0}Dx(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;j=c[g>>2]|0;i=e;return j|0}function Pg(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;g=i;i=i+32|0;h=g;j=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;if(!(c[l>>2]|0)){n=c[k>>2]|0;o=n<<1;p=o+2|0;i=g;return p|0}f=c[l>>2]|0;c[l>>2]=f+1;a[f>>0]=35;c[m>>2]=0;while(1){q=c[l>>2]|0;if((c[m>>2]|0)>>>0>=(c[k>>2]|0)>>>0)break;c[h>>2]=d[(c[j>>2]|0)+(c[m>>2]|0)>>0];ew(q,22752,h)|0;c[m>>2]=(c[m>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+2}c[l>>2]=q+1;a[q>>0]=35;n=c[k>>2]|0;o=n<<1;p=o+2|0;i=g;return p|0}function Qg(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,D=0,E=0,F=0,G=0;g=i;i=i+192|0;h=g+156|0;j=g+152|0;k=g+148|0;l=g+144|0;m=g+140|0;n=g+136|0;o=g+132|0;p=g+128|0;q=g+48|0;r=g+160|0;s=g+40|0;t=g+36|0;u=g+32|0;v=g+28|0;w=g+24|0;x=g+20|0;y=g+16|0;z=g+12|0;A=g+8|0;B=g+4|0;C=g;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[u>>2]=43;c[v>>2]=0;f=r;e=f+20|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(e|0));c[o>>2]=c[l>>2];c[s>>2]=0;while(1){D=a[c[o>>2]>>0]|0;if(!(a[c[o>>2]>>0]|0?(c[s>>2]|0)>>>0<20:0)){E=18;break}if((((((D<<24>>24|0)!=38?(a[c[o>>2]>>0]|0)!=43:0)?(a[c[o>>2]>>0]|0)!=45:0)?(a[c[o>>2]>>0]|0)!=47:0)?(a[c[o>>2]>>0]|0)!=63:0)?(rg(c[o>>2]|0)|0)==0:0){if((a[c[o>>2]>>0]|0)==39){c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=sw(c[o>>2]|0,39)|0;if(!(c[p>>2]|0)){E=12;break}if((c[p>>2]|0)==(c[o>>2]|0)){E=12;break}c[o>>2]=c[p>>2]}f=c[m>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);d=c[e>>2]|0;c[f>>2]=e+4;c[q+(c[s>>2]<<2)>>2]=d;if(!(c[q+(c[s>>2]<<2)>>2]|0)){E=15;break}c[s>>2]=(c[s>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}if((E|0)==12){c[h>>2]=29;F=c[h>>2]|0;i=g;return F|0}else if((E|0)==15){c[h>>2]=128;F=c[h>>2]|0;i=g;return F|0}else if((E|0)==18){if(D<<24>>24){c[h>>2]=183;F=c[h>>2]|0;i=g;return F|0}D=c[m>>2]|0;m=(c[D>>2]|0)+(4-1)&~(4-1);d=c[m>>2]|0;c[D>>2]=m+4;if(d|0){c[h>>2]=45;F=c[h>>2]|0;i=g;return F|0}while(1){if(!(c[k>>2]|0)){E=33;break}if(!(a[c[k>>2]>>0]|0)){E=33;break}c[o>>2]=sw(c[k>>2]|0,33)|0;if((c[o>>2]|0)==(c[k>>2]|0)){E=25;break}if(c[o>>2]|0)G=(c[o>>2]|0)-(c[k>>2]|0)|0;else G=0;c[w>>2]=G;c[t>>2]=xg(c[j>>2]|0,c[k>>2]|0,c[w>>2]|0)|0;if(!(c[t>>2]|0)){E=29;break}c[j>>2]=c[t>>2];c[t>>2]=0;vg(c[v>>2]|0);c[v>>2]=c[j>>2];if(c[w>>2]|0){c[k>>2]=(c[k>>2]|0)+((c[w>>2]|0)+1);continue}else{c[k>>2]=0;continue}}do if((E|0)==25)c[n>>2]=27;else if((E|0)==29)c[n>>2]=27;else if((E|0)==33){c[o>>2]=c[l>>2];c[s>>2]=0;a:while(1){if(!(a[c[o>>2]>>0]|0)){E=76;break}if((((a[c[o>>2]>>0]|0)!=38?(a[c[o>>2]>>0]|0)!=43:0)?(a[c[o>>2]>>0]|0)!=45:0)?(a[c[o>>2]>>0]|0)!=47:0){if((rg(c[o>>2]|0)|0)==0?(a[c[o>>2]>>0]|0)!=63:0){if((a[c[o>>2]>>0]|0)==39){c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=sw(c[o>>2]|0,39)|0;if(!(c[p>>2]|0)){E=45;break}if((c[p>>2]|0)==(c[o>>2]|0)){E=45;break}c[t>>2]=xg(c[j>>2]|0,c[o>>2]|0,(c[p>>2]|0)-(c[o>>2]|0)|0)|0;c[o>>2]=c[p>>2]}else c[t>>2]=xg(c[j>>2]|0,c[o>>2]|0,1)|0;do if(!(c[t>>2]|0)?(a[(c[o>>2]|0)+1>>0]|0)==63:0){k=c[q+(c[s>>2]<<2)>>2]|0;if((c[u>>2]|0)!=38){c[k>>2]=0;break}c[x>>2]=k;if(!(c[(c[x>>2]|0)+12>>2]|0)){c[c[x>>2]>>2]=0;c[(c[x>>2]|0)+4>>2]=0}c[(c[x>>2]|0)+8>>2]=0}else E=55;while(0);if((E|0)==55){E=0;if(!(c[t>>2]|0)){E=56;break}do if((c[u>>2]|0)!=38){if((c[u>>2]|0)==47){k=Fg(c[t>>2]|0,1,8)|0;c[c[q+(c[s>>2]<<2)>>2]>>2]=k;break}k=c[t>>2]|0;if((c[u>>2]|0)==45){w=Fg(k,1,1)|0;c[c[q+(c[s>>2]<<2)>>2]>>2]=w;break}else{w=Fg(k,1,5)|0;c[c[q+(c[s>>2]<<2)>>2]>>2]=w;break}}else{c[y>>2]=c[q+(c[s>>2]<<2)>>2];w=c[t>>2]|0;if(!(c[(c[y>>2]|0)+12>>2]|0)){k=Dg(w,1,c[y>>2]|0)|0;c[(c[y>>2]|0)+12>>2]=k;if(!(c[(c[y>>2]|0)+12>>2]|0)){E=65;break a}c[(c[y>>2]|0)+8>>2]=c[c[y>>2]>>2];c[(c[y>>2]|0)+4>>2]=0;a[r+(c[s>>2]|0)>>0]=2;break}c[z>>2]=Bg(w,1,A)|0;if(!((c[z>>2]|0)!=0&(c[A>>2]|0)!=0)){E=60;break a}if(((c[(c[y>>2]|0)+4>>2]|0)+(c[A>>2]|0)|0)>>>0>(c[c[y>>2]>>2]|0)>>>0){E=62;break a}Dx((c[(c[y>>2]|0)+12>>2]|0)+(c[(c[y>>2]|0)+4>>2]|0)|0,c[z>>2]|0,c[A>>2]|0)|0;c[(c[y>>2]|0)+8>>2]=c[A>>2];a[r+(c[s>>2]|0)>>0]=1}while(0);vg(c[t>>2]|0);c[t>>2]=0;if(!(c[c[q+(c[s>>2]<<2)>>2]>>2]|0)){E=73;break}}c[s>>2]=(c[s>>2]|0)+1}}else c[u>>2]=a[c[o>>2]>>0];c[o>>2]=(c[o>>2]|0)+1}if((E|0)==45){c[n>>2]=29;break}else if((E|0)==56){c[n>>2]=68;break}else if((E|0)==60){c[n>>2]=65;break}else if((E|0)==62){c[n>>2]=200;break}else if((E|0)==65){c[n>>2]=65;break}else if((E|0)==73){c[n>>2]=65;break}else if((E|0)==76){vg(c[v>>2]|0);c[h>>2]=0;F=c[h>>2]|0;i=g;return F|0}}while(0);vg(c[v>>2]|0);vg(c[t>>2]|0);while(1){t=c[s>>2]|0;c[s>>2]=t+-1;if(!t)break;t=c[s>>2]|0;if(!(a[r+(c[s>>2]|0)>>0]|0)){xq(c[c[q+(t<<2)>>2]>>2]|0);c[c[q+(c[s>>2]<<2)>>2]>>2]=0;continue}v=c[q+(c[s>>2]<<2)>>2]|0;if((((a[r+t>>0]|0)!=0^1)&1|0)==1){c[B>>2]=v;c[(c[B>>2]|0)+8>>2]=0;continue}else{c[C>>2]=v;$f(c[(c[C>>2]|0)+12>>2]|0);c[(c[C>>2]|0)+12>>2]=0;c[(c[C>>2]|0)+8>>2]=0;c[(c[C>>2]|0)+4>>2]=0;c[c[C>>2]>>2]=0;continue}}c[h>>2]=c[n>>2];F=c[h>>2]|0;i=g;return F|0}return 0}function Rg(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;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;c[k>>2]=Qg(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,l)|0;l=Sg(c[k>>2]|0)|0;i=f;return l|0}function Sg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tg(1,c[d>>2]|0)|0;i=b;return a|0}function Tg(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+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function Ug(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=13){g=6;break}a=(gv(c[1120+(c[f>>2]<<3)+4>>2]|0,c[e>>2]|0)|0)!=0;h=c[f>>2]|0;if(!a){g=4;break}c[f>>2]=h+1}if((g|0)==4){c[17675]=c[17675]|c[1120+(h<<3)>>2];c[d>>2]=0;j=c[d>>2]|0;i=b;return j|0}else if((g|0)==6){c[d>>2]=88;j=c[d>>2]|0;i=b;return j|0}return 0}function Vg(){return c[17676]|0}function Wg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;if((c[f>>2]|0)<0|(c[f>>2]|0)>>>0>=13){c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}if(c[g>>2]|0)c[c[g>>2]>>2]=c[1120+(c[f>>2]<<3)>>2];c[e>>2]=c[1120+(c[f>>2]<<3)+4>>2];h=c[e>>2]|0;i=d;return h|0}function Xg(){c[17676]=0;if(Ah()|0)return;Yg();c[17676]=c[17676]&~c[17675];return}function Yg(){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+288|0;d=b+20|0;e=b+16|0;f=b+24|0;g=b+12|0;h=b+8|0;j=b+4|0;k=b;c[d>>2]=22929;c[k>>2]=0;c[e>>2]=qw(c[d>>2]|0,23810)|0;if(!(c[e>>2]|0)){i=b;return}while(1){if(!(hw(f,256,c[e>>2]|0)|0))break;c[k>>2]=(c[k>>2]|0)+1;c[g>>2]=f;while(1){if(a[c[g>>2]>>0]&128|0)break;if(!(Yv(a[c[g>>2]>>0]|0)|0))break;c[g>>2]=(c[g>>2]|0)+1}c[h>>2]=sw(c[g>>2]|0,10)|0;if(c[h>>2]|0)a[c[h>>2]>>0]=0;d=c[g>>2]|0;if(a[c[g>>2]>>0]|0)l=(Kv(c[g>>2]|0)|0)-1|0;else l=0;c[h>>2]=d+l;while(1){if((c[h>>2]|0)>>>0<=(c[g>>2]|0)>>>0)break;if((a[c[h>>2]>>0]&128|0)==0?Yv(a[c[h>>2]>>0]|0)|0:0)a[c[h>>2]>>0]=0;c[h>>2]=(c[h>>2]|0)+-1}if(!(a[c[g>>2]>>0]|0))continue;if((a[c[g>>2]>>0]|0)==35)continue;c[j>>2]=0;while(1){if((c[j>>2]|0)>>>0>=13)break;d=(gv(c[1120+(c[j>>2]<<3)+4>>2]|0,c[g>>2]|0)|0)!=0;m=c[j>>2]|0;if(!d){n=23;break}c[j>>2]=m+1}if((n|0)==23){n=0;c[17675]=c[17675]|c[1120+(m<<3)>>2]}}Gw(c[e>>2]|0)|0;vw(c[e>>2]|0)|0;i=b;return}function Zg(){c[17677]=1;return}function _g(b){b=b|0;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+4|0;g=d;c[f>>2]=b;if(!(c[f>>2]|0)){ju(22);c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}b=c[f>>2]|0;if(!(c[17677]|0)){c[e>>2]=sx(b)|0;h=c[e>>2]|0;i=d;return h|0}j=sx(b+0+5|0)|0;c[g>>2]=j;if(j|0){a[c[g>>2]>>0]=c[f>>2];a[(c[g>>2]|0)+1>>0]=(c[f>>2]|0)>>>8;a[(c[g>>2]|0)+2>>0]=(c[f>>2]|0)>>>16;a[(c[g>>2]|0)+3>>0]=85;a[(c[g>>2]|0)+(4+(c[f>>2]|0))>>0]=-86;c[e>>2]=(c[g>>2]|0)+4;h=c[e>>2]|0;i=d;return h|0}else{c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}return 0}function $g(b){b=b|0;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+4|0;g=d;c[f>>2]=b;if(!(c[f>>2]|0)){ju(22);c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}b=c[f>>2]|0;if(!(c[17677]|0)){c[e>>2]=lh(b)|0;h=c[e>>2]|0;i=d;return h|0}j=lh(b+0+5|0)|0;c[g>>2]=j;if(j|0){a[c[g>>2]>>0]=c[f>>2];a[(c[g>>2]|0)+1>>0]=(c[f>>2]|0)>>>8;a[(c[g>>2]|0)+2>>0]=(c[f>>2]|0)>>>16;a[(c[g>>2]|0)+3>>0]=-52;a[(c[g>>2]|0)+(4+(c[f>>2]|0))>>0]=-86;c[e>>2]=(c[g>>2]|0)+4;h=c[e>>2]|0;i=d;return h|0}else{c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}return 0}function ah(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[g>>2]=a;c[h>>2]=b;b=c[g>>2]|0;if(!(c[17677]|0)){a=(wh(b)|0)!=0;m=c[g>>2]|0;n=c[h>>2]|0;if(a){c[f>>2]=vh(m,n)|0;o=c[f>>2]|0;i=e;return o|0}else{c[f>>2]=vx(m,n)|0;o=c[f>>2]|0;i=e;return o|0}}c[j>>2]=b;if(!(c[g>>2]|0)){c[f>>2]=_g(c[h>>2]|0)|0;o=c[f>>2]|0;i=e;return o|0}bh(c[j>>2]|0);c[l>>2]=d[(c[j>>2]|0)+-4>>0];c[l>>2]=c[l>>2]|(d[(c[j>>2]|0)+-3>>0]|0)<<8;c[l>>2]=c[l>>2]|(d[(c[j>>2]|0)+-2>>0]|0)<<16;if((c[l>>2]|0)>>>0>=(c[h>>2]|0)>>>0){c[f>>2]=c[g>>2];o=c[f>>2]|0;i=e;return o|0}b=c[h>>2]|0;if((d[(c[j>>2]|0)+-1>>0]|0|0)==204)c[k>>2]=$g(b)|0;else c[k>>2]=_g(b)|0;if(c[k>>2]|0){Dx(c[k>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;Fx((c[k>>2]|0)+(c[l>>2]|0)|0,0,(c[h>>2]|0)-(c[l>>2]|0)|0)|0;ch(c[j>>2]|0);c[f>>2]=c[k>>2];o=c[f>>2]|0;i=e;return o|0}else{c[f>>2]=0;o=c[f>>2]|0;i=e;return o|0}return 0}function bh(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+32|0;e=b+8|0;f=b;g=b+24|0;h=b+20|0;j=b+16|0;c[g>>2]=a;if(!(c[17677]|0)){i=b;return}c[h>>2]=c[g>>2];if(!(c[h>>2]|0)){i=b;return}if((d[(c[h>>2]|0)+-1>>0]|0|0)!=85?(d[(c[h>>2]|0)+-1>>0]|0|0)!=204:0){g=d[(c[h>>2]|0)+-1>>0]|0;c[f>>2]=c[h>>2];c[f+4>>2]=g;Bf(22950,f)}c[j>>2]=d[(c[h>>2]|0)+-4>>0];c[j>>2]=c[j>>2]|(d[(c[h>>2]|0)+-3>>0]|0)<<8;c[j>>2]=c[j>>2]|(d[(c[h>>2]|0)+-2>>0]|0)<<16;if((d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0|0)!=170){j=d[(c[h>>2]|0)+-1>>0]|0;c[e>>2]=c[h>>2];c[e+4>>2]=j;Bf(22991,e)}else{i=b;return}}function ch(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];if(!(c[e>>2]|0)){i=b;return}if(c[17677]|0){bh(c[e>>2]|0);a=(wh(c[d>>2]|0)|0)!=0;f=(c[e>>2]|0)+-4|0;if(a){th(f);i=b;return}else{tx(f);i=b;return}}else{f=(wh(c[d>>2]|0)|0)!=0;d=c[e>>2]|0;if(f){th(d);i=b;return}else{tx(d);i=b;return}}}function dh(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;lu(1224)|0;c[e>>2]=c[17678];c[17679]=c[d>>2]&1;c[17678]=c[d>>2]&2;c[17680]=c[d>>2]&8;c[17681]=c[d>>2]&16;if(!((((c[e>>2]|0)==0|(c[17678]|0)!=0)^1)&(c[17682]|0)!=0)){mu(1224)|0;i=b;return}c[17682]=0;eh();mu(1224)|0;i=b;return}function eh(){var a=0;a=i;i=i+16|0;if(c[17679]|0){i=a;return}yf(pf(23031)|0,a);i=a;return}function fh(){var a=0,b=0;a=i;i=i+16|0;b=a;lu(1224)|0;c[b>>2]=c[17679]|0?1:0;c[b>>2]=c[b>>2]|(c[17678]|0?2:0);c[b>>2]=c[b>>2]|(c[17683]|0?4:0);c[b>>2]=c[b>>2]|(c[17680]|0?8:0);c[b>>2]=c[b>>2]|(c[17681]|0?16:0);mu(1224)|0;i=a;return c[b>>2]|0}function gh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;lu(1224)|0;hh(c[d>>2]|0);mu(1224)|0;i=b;return}function hh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+32|0;d=b+8|0;e=b;f=b+16|0;g=b+12|0;c[f>>2]=a;if(c[f>>2]|0){if((c[f>>2]|0)>>>0<16384)c[f>>2]=16384;if(c[17685]|0){Af(23263,d);i=b;return}else{ih(c[f>>2]|0);jh(c[17687]|0,c[f>>2]|0);i=b;return}}c[17684]=1;c[g>>2]=Qw()|0;f=c[g>>2]|0;if((f|0)==(Uw()|0)){i=b;return}if(Vw(c[g>>2]|0)|0)Bf(23064,e);g=Qw()|0;if((g|0)!=(Uw()|0))Bf(23064,e);if(Vw(0)|0){i=b;return}else Bf(23064,e)}function ih(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,o=0;b=i;i=i+48|0;d=b+16|0;e=b+8|0;f=b+32|0;g=b+28|0;h=b+24|0;j=b+20|0;c[f>>2]=a;c[17686]=c[f>>2];if(c[17684]|0)Cf(23087,b);c[h>>2]=La(30)|0;c[g>>2]=(c[h>>2]|0)!=-1&(c[h>>2]|0)>0?c[h>>2]|0:4096;c[17686]=(c[17686]|0)+(c[g>>2]|0)-1&~((c[g>>2]|0)-1);c[17687]=Zw(0,c[17686]|0,3,34,-1,0)|0;if((c[17687]|0)==(-1|0)){g=c[17686]|0;h=ov(c[(Yu()|0)>>2]|0)|0;c[e>>2]=g;c[e+4>>2]=h;yf(23113,e)}else{c[17688]=1;c[17685]=1}if(c[17685]|0){k=c[17687]|0;c[j>>2]=k;l=c[17686]|0;m=c[j>>2]|0;c[m>>2]=l;n=c[j>>2]|0;o=n+4|0;c[o>>2]=0;i=b;return}c[17687]=sx(c[17686]|0)|0;if(!(c[17687]|0)){c[d>>2]=c[17686];Bf(23161,d)}c[17685]=1;k=c[17687]|0;c[j>>2]=k;l=c[17686]|0;m=c[j>>2]|0;c[m>>2]=l;n=c[j>>2]|0;o=n+4|0;c[o>>2]=0;i=b;return}function jh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+8>>2]=a;c[d+4>>2]=b;if(c[17680]|0){i=d;return}yf(23201,d);i=d;return}function kh(){return 0}function lh(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;lu(1224)|0;c[e>>2]=mh(c[d>>2]|0)|0;mu(1224)|0;i=b;return c[e>>2]|0}function mh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+32|0;d=b+8|0;e=b;f=b+20|0;g=b+16|0;h=b+12|0;c[g>>2]=a;if((c[17685]|0)==0?(hh(32768),(c[17685]|0)==0):0){yf(pf(23309)|0,e);ju(12);c[f>>2]=0;j=c[f>>2]|0;i=b;return j|0}if(c[17683]|0?Ah()|0:0){yf(pf(23370)|0,d);ju(12);c[f>>2]=0;j=c[f>>2]|0;i=b;return j|0}if(!((c[17682]|0)==0|(c[17678]|0)!=0)){c[17682]=0;eh()}c[g>>2]=((((c[g>>2]|0)+31|0)>>>0)/32|0)<<5;c[h>>2]=nh(c[17687]|0,c[g>>2]|0)|0;if(c[h>>2]|0)sh(c[g>>2]|0,0);c[f>>2]=c[h>>2]|0?(c[h>>2]|0)+8|0:0;j=c[f>>2]|0;i=b;return j|0}function nh(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+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[e>>2];while(1){if(!(oh(c[g>>2]|0)|0))break;if((c[(c[g>>2]|0)+4>>2]&1|0)==0?(c[c[g>>2]>>2]|0)>>>0>=(c[f>>2]|0)>>>0:0){j=5;break}c[g>>2]=rh(c[g>>2]|0)|0}if((j|0)==5?(j=(c[g>>2]|0)+4|0,c[j>>2]=c[j>>2]|1,((c[c[g>>2]>>2]|0)-(c[f>>2]|0)|0)>>>0>8):0){c[h>>2]=(c[g>>2]|0)+8+(c[f>>2]|0);c[c[h>>2]>>2]=(c[c[g>>2]>>2]|0)-(c[f>>2]|0)-8;c[(c[h>>2]|0)+4>>2]=0;c[c[g>>2]>>2]=c[f>>2];ph(c[h>>2]|0)}if(oh(c[g>>2]|0)|0){k=c[g>>2]|0;i=d;return k|0}ju(12);c[g>>2]=0;k=c[g>>2]|0;i=d;return k|0}function oh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[d>>2];c[f>>2]=c[17687];if((c[e>>2]|0)>>>0<(c[f>>2]|0)>>>0){g=0;h=g&1;i=b;return h|0}g=(c[e>>2]|0)>>>0<((c[f>>2]|0)+(c[17686]|0)|0)>>>0;h=g&1;i=b;return h|0}function ph(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=qh(c[d>>2]|0)|0;c[f>>2]=rh(c[d>>2]|0)|0;if(c[e>>2]|0?(c[(c[e>>2]|0)+4>>2]&1|0)==0:0){a=c[e>>2]|0;c[a>>2]=(c[a>>2]|0)+(8+(c[c[d>>2]>>2]|0));c[d>>2]=c[e>>2]}if(!(c[f>>2]|0)){i=b;return}if(c[(c[f>>2]|0)+4>>2]&1|0){i=b;return}e=c[d>>2]|0;c[e>>2]=(c[e>>2]|0)+(8+(c[c[f>>2]>>2]|0));i=b;return}function qh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;if((c[d>>2]|0)==(c[17687]|0)){c[e>>2]=0;g=c[e>>2]|0;i=b;return g|0}c[e>>2]=c[17687];while(1){c[f>>2]=rh(c[e>>2]|0)|0;if((c[f>>2]|0)==(c[d>>2]|0))break;c[e>>2]=c[f>>2]}g=c[e>>2]|0;i=b;return g|0}function rh(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(c[d>>2]|0)+8+(c[c[d>>2]>>2]|0);if(oh(c[e>>2]|0)|0){f=c[e>>2]|0;i=b;return f|0}c[e>>2]=0;f=c[e>>2]|0;i=b;return f|0}function sh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(c[e>>2]|0){c[17689]=(c[17689]|0)+(c[e>>2]|0);c[17690]=(c[17690]|0)+1}if(!(c[f>>2]|0)){i=d;return}c[17689]=(c[17689]|0)-(c[f>>2]|0);c[17690]=(c[17690]|0)+-1;i=d;return}function th(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;lu(1224)|0;uh(c[d>>2]|0);mu(1224)|0;i=b;return}function uh(b){b=b|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,D=0,E=0;e=i;i=i+96|0;f=e+88|0;g=e+84|0;h=e+80|0;j=e+76|0;k=e+72|0;l=e+95|0;m=e+24|0;n=e+68|0;o=e+64|0;p=e+60|0;q=e+94|0;r=e+16|0;s=e+56|0;t=e+52|0;u=e+48|0;v=e+93|0;w=e+8|0;x=e+44|0;y=e+40|0;z=e+36|0;A=e+92|0;B=e;D=e+32|0;c[f>>2]=b;if(!(c[f>>2]|0)){i=e;return}c[g>>2]=(c[f>>2]|0)+-8;c[h>>2]=c[c[g>>2]>>2];c[j>>2]=(c[g>>2]|0)+8;c[k>>2]=c[h>>2];a[l>>0]=-1;f=m;c[f>>2]=d[l>>0];c[f+4>>2]=0;while(1){if(!(c[j>>2]&7|0?(c[k>>2]|0)!=0:0))break;a[c[j>>2]>>0]=a[l>>0]|0;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}if((c[k>>2]|0)>>>0>=8){f=m;b=Mx(c[f>>2]|0,c[f+4>>2]|0,16843009,16843009)|0;f=m;c[f>>2]=b;c[f+4>>2]=C;do{c[n>>2]=c[j>>2];f=m;b=c[f+4>>2]|0;E=c[n>>2]|0;c[E>>2]=c[f>>2];c[E+4>>2]=b;c[k>>2]=(c[k>>2]|0)-8;c[j>>2]=(c[j>>2]|0)+8}while((c[k>>2]|0)>>>0>=8)}while(1){if(!(c[k>>2]|0))break;a[c[j>>2]>>0]=a[l>>0]|0;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}c[o>>2]=(c[g>>2]|0)+8;c[p>>2]=c[h>>2];a[q>>0]=-86;k=r;c[k>>2]=d[q>>0];c[k+4>>2]=0;while(1){if(!(c[o>>2]&7|0?(c[p>>2]|0)!=0:0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}if((c[p>>2]|0)>>>0>=8){k=r;j=Mx(c[k>>2]|0,c[k+4>>2]|0,16843009,16843009)|0;k=r;c[k>>2]=j;c[k+4>>2]=C;do{c[s>>2]=c[o>>2];k=r;j=c[k+4>>2]|0;l=c[s>>2]|0;c[l>>2]=c[k>>2];c[l+4>>2]=j;c[p>>2]=(c[p>>2]|0)-8;c[o>>2]=(c[o>>2]|0)+8}while((c[p>>2]|0)>>>0>=8)}while(1){if(!(c[p>>2]|0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}c[t>>2]=(c[g>>2]|0)+8;c[u>>2]=c[h>>2];a[v>>0]=85;p=w;c[p>>2]=d[v>>0];c[p+4>>2]=0;while(1){if(!(c[t>>2]&7|0?(c[u>>2]|0)!=0:0))break;a[c[t>>2]>>0]=a[v>>0]|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+-1}if((c[u>>2]|0)>>>0>=8){p=w;o=Mx(c[p>>2]|0,c[p+4>>2]|0,16843009,16843009)|0;p=w;c[p>>2]=o;c[p+4>>2]=C;do{c[x>>2]=c[t>>2];p=w;o=c[p+4>>2]|0;q=c[x>>2]|0;c[q>>2]=c[p>>2];c[q+4>>2]=o;c[u>>2]=(c[u>>2]|0)-8;c[t>>2]=(c[t>>2]|0)+8}while((c[u>>2]|0)>>>0>=8)}while(1){if(!(c[u>>2]|0))break;a[c[t>>2]>>0]=a[v>>0]|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+-1}c[y>>2]=(c[g>>2]|0)+8;c[z>>2]=c[h>>2];a[A>>0]=0;u=B;c[u>>2]=d[A>>0];c[u+4>>2]=0;while(1){if(!(c[y>>2]&7|0?(c[z>>2]|0)!=0:0))break;a[c[y>>2]>>0]=a[A>>0]|0;c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+-1}if((c[z>>2]|0)>>>0>=8){u=B;t=Mx(c[u>>2]|0,c[u+4>>2]|0,16843009,16843009)|0;u=B;c[u>>2]=t;c[u+4>>2]=C;do{c[D>>2]=c[y>>2];u=B;t=c[u+4>>2]|0;v=c[D>>2]|0;c[v>>2]=c[u>>2];c[v+4>>2]=t;c[z>>2]=(c[z>>2]|0)-8;c[y>>2]=(c[y>>2]|0)+8}while((c[z>>2]|0)>>>0>=8)}while(1){if(!(c[z>>2]|0))break;a[c[y>>2]>>0]=a[A>>0]|0;c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+-1}sh(0,c[h>>2]|0);h=(c[g>>2]|0)+4|0;c[h>>2]=c[h>>2]&-2;ph(c[g>>2]|0);i=e;return}function vh(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[e>>2]=a;c[f>>2]=b;lu(1224)|0;c[g>>2]=(c[e>>2]|0)+(0-8);c[h>>2]=c[c[g>>2]>>2];if((c[f>>2]|0)>>>0<(c[h>>2]|0)>>>0){c[j>>2]=c[e>>2];mu(1224)|0;k=c[j>>2]|0;i=d;return k|0}c[j>>2]=mh(c[f>>2]|0)|0;if(!(c[j>>2]|0)){mu(1224)|0;k=c[j>>2]|0;i=d;return k|0}Dx(c[j>>2]|0,c[e>>2]|0,c[h>>2]|0)|0;Fx((c[j>>2]|0)+(c[h>>2]|0)|0,0,(c[f>>2]|0)-(c[h>>2]|0)|0)|0;uh(c[e>>2]|0);mu(1224)|0;k=c[j>>2]|0;i=d;return k|0}function wh(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(c[17685]|0)e=(oh(c[d>>2]|0)|0)!=0;else e=0;i=b;return e&1|0}function xh(){var b=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;b=i;i=i+96|0;e=b+76|0;f=b+72|0;g=b+83|0;h=b+24|0;j=b+68|0;k=b+64|0;l=b+60|0;m=b+82|0;n=b+16|0;o=b+56|0;p=b+52|0;q=b+48|0;r=b+81|0;s=b+8|0;t=b+44|0;u=b+40|0;v=b+36|0;w=b+80|0;x=b;y=b+32|0;if(!(c[17685]|0)){i=b;return}c[e>>2]=c[17687];c[f>>2]=c[17686];a[g>>0]=-1;z=h;c[z>>2]=d[g>>0];c[z+4>>2]=0;while(1){if(!(c[e>>2]&7|0?(c[f>>2]|0)!=0:0))break;a[c[e>>2]>>0]=a[g>>0]|0;c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+-1}if((c[f>>2]|0)>>>0>=8){z=h;A=Mx(c[z>>2]|0,c[z+4>>2]|0,16843009,16843009)|0;z=h;c[z>>2]=A;c[z+4>>2]=C;do{c[j>>2]=c[e>>2];z=h;A=c[z+4>>2]|0;B=c[j>>2]|0;c[B>>2]=c[z>>2];c[B+4>>2]=A;c[f>>2]=(c[f>>2]|0)-8;c[e>>2]=(c[e>>2]|0)+8}while((c[f>>2]|0)>>>0>=8)}while(1){if(!(c[f>>2]|0))break;a[c[e>>2]>>0]=a[g>>0]|0;c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+-1}c[k>>2]=c[17687];c[l>>2]=c[17686];a[m>>0]=-86;f=n;c[f>>2]=d[m>>0];c[f+4>>2]=0;while(1){if(!(c[k>>2]&7|0?(c[l>>2]|0)!=0:0))break;a[c[k>>2]>>0]=a[m>>0]|0;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+-1}if((c[l>>2]|0)>>>0>=8){f=n;e=Mx(c[f>>2]|0,c[f+4>>2]|0,16843009,16843009)|0;f=n;c[f>>2]=e;c[f+4>>2]=C;do{c[o>>2]=c[k>>2];f=n;e=c[f+4>>2]|0;g=c[o>>2]|0;c[g>>2]=c[f>>2];c[g+4>>2]=e;c[l>>2]=(c[l>>2]|0)-8;c[k>>2]=(c[k>>2]|0)+8}while((c[l>>2]|0)>>>0>=8)}while(1){if(!(c[l>>2]|0))break;a[c[k>>2]>>0]=a[m>>0]|0;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+-1}c[p>>2]=c[17687];c[q>>2]=c[17686];a[r>>0]=85;l=s;c[l>>2]=d[r>>0];c[l+4>>2]=0;while(1){if(!(c[p>>2]&7|0?(c[q>>2]|0)!=0:0))break;a[c[p>>2]>>0]=a[r>>0]|0;c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+-1}if((c[q>>2]|0)>>>0>=8){l=s;k=Mx(c[l>>2]|0,c[l+4>>2]|0,16843009,16843009)|0;l=s;c[l>>2]=k;c[l+4>>2]=C;do{c[t>>2]=c[p>>2];l=s;k=c[l+4>>2]|0;m=c[t>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=k;c[q>>2]=(c[q>>2]|0)-8;c[p>>2]=(c[p>>2]|0)+8}while((c[q>>2]|0)>>>0>=8)}while(1){if(!(c[q>>2]|0))break;a[c[p>>2]>>0]=a[r>>0]|0;c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+-1}c[u>>2]=c[17687];c[v>>2]=c[17686];a[w>>0]=0;q=x;c[q>>2]=d[w>>0];c[q+4>>2]=0;while(1){if(!(c[u>>2]&7|0?(c[v>>2]|0)!=0:0))break;a[c[u>>2]>>0]=a[w>>0]|0;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+-1}if((c[v>>2]|0)>>>0>=8){q=x;p=Mx(c[q>>2]|0,c[q+4>>2]|0,16843009,16843009)|0;q=x;c[q>>2]=p;c[q+4>>2]=C;do{c[y>>2]=c[u>>2];q=x;p=c[q+4>>2]|0;r=c[y>>2]|0;c[r>>2]=c[q>>2];c[r+4>>2]=p;c[v>>2]=(c[v>>2]|0)-8;c[u>>2]=(c[u>>2]|0)+8}while((c[v>>2]|0)>>>0>=8)}while(1){if(!(c[v>>2]|0))break;a[c[u>>2]>>0]=a[w>>0]|0;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+-1}if(c[17688]|0)ax(c[17687]|0,c[17686]|0)|0;c[17687]=0;c[17685]=0;c[17686]=0;c[17683]=0;i=b;return}function yh(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;b=a;lu(1224)|0;if(!(c[17685]|0)){mu(1224)|0;i=a;return}d=c[17686]|0;e=c[17690]|0;c[b>>2]=c[17689];c[b+4>>2]=d;c[b+8>>2]=e;yf(23423,b);mu(1224)|0;i=a;return}function zh(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+544|0;d=b+8|0;e=b;f=b+28|0;g=b+24|0;h=b+20|0;j=b+16|0;k=b+288|0;l=b+12|0;m=b+32|0;c[f>>2]=a;if(c[17691]|0){if(Ah()|0){Bh(5);Fh()}if(c[17691]|0)xf(23692,23698,114,23705)}c[17691]=1;do if(c[f>>2]|0){if(c[17692]|0)xf(23732,23698,121,23705)}else{if(!(Ew(23755,0)|0)){if(!(c[17692]|0))break;xf(23732,23698,132,23705)}c[h>>2]=qw(23780,23810)|0;if(!(c[h>>2]|0)){a=c[(Yu()|0)>>2]|0;c[j>>2]=a;if((a|0)!=2&(c[j>>2]|0)!=13?(Ew(23812,0)|0)==0:0){a=ov(c[j>>2]|0)|0;c[e>>2]=23780;c[e+4>>2]=a;yf(23826,e);gb()}}else{if(hw(k,256,c[h>>2]|0)|0?gx(k)|0:0){vw(c[h>>2]|0)|0;if(!(c[17692]|0))break;xf(23732,23698,151,23705)}vw(c[h>>2]|0)|0}c[17692]=1}while(0);if(c[17692]|0){i=b;return}c[g>>2]=ku(1268)|0;if(c[g>>2]|0){c[d>>2]=fu(c[g>>2]|0)|0;yf(23870,d);gb()}c[l>>2]=qw(23755,23810)|0;if(c[l>>2]|0){if(hw(m,256,c[l>>2]|0)|0?gx(m)|0:0)c[17694]=1;vw(c[l>>2]|0)|0}Bh(1);i=b;return}function Ah(){return ((c[17692]|0)!=0^1)&1|0}function Bh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+32|0;d=b;e=b+20|0;f=b+16|0;g=b+12|0;c[e>>2]=a;c[f>>2]=0;Ch();c[g>>2]=c[17693];switch(c[17693]|0){case 0:{if((c[e>>2]|0)==1|(c[e>>2]|0)==4|(c[e>>2]|0)==5)c[f>>2]=1;break}case 1:{if((c[e>>2]|0)==2|(c[e>>2]|0)==4|(c[e>>2]|0)==5)c[f>>2]=1;break}case 2:{if((c[e>>2]|0)==3|(c[e>>2]|0)==4|(c[e>>2]|0)==5)c[f>>2]=1;break}case 3:{if((c[e>>2]|0)==6|(c[e>>2]|0)==2|(c[e>>2]|0)==4|(c[e>>2]|0)==5)c[f>>2]=1;break}case 4:{if((c[e>>2]|0)==6|(c[e>>2]|0)==4|(c[e>>2]|0)==5|(c[e>>2]|0)==2)c[f>>2]=1;break}case 5:{if((c[e>>2]|0)==6)c[f>>2]=1;break}default:{}}if(c[f>>2]|0)c[17693]=c[e>>2];Dh();if(!(c[f>>2]|0?!(tf(2)|0):0)){a=Eh(c[g>>2]|0)|0;g=Eh(c[e>>2]|0)|0;e=c[f>>2]|0?23637:23645;c[d>>2]=a;c[d+4>>2]=g;c[d+8>>2]=e;yf(23652,d)}if(c[f>>2]|0){i=b;return}else{Fh();i=b;return}}function Ch(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;c[d>>2]=lu(1268)|0;if(c[d>>2]|0){c[b>>2]=fu(c[d>>2]|0)|0;yf(23464,b);gb()}else{i=a;return}}function Dh(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;c[d>>2]=mu(1268)|0;if(c[d>>2]|0){c[b>>2]=fu(c[d>>2]|0)|0;yf(23519,b);gb()}else{i=a;return}}function Eh(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;switch(c[d>>2]|0){case 0:{c[e>>2]=23574;break}case 1:{c[e>>2]=23583;break}case 2:{c[e>>2]=23588;break}case 3:{c[e>>2]=23598;break}case 4:{c[e>>2]=23610;break}case 5:{c[e>>2]=23616;break}case 6:{c[e>>2]=23628;break}default:c[e>>2]=37933}i=b;return c[e>>2]|0}function Fh(){ww(0)|0;gb()}function Gh(){var a=0,b=0;a=i;i=i+16|0;b=a;if(Ah()|0)c[b>>2]=c[17694];else c[b>>2]=0;i=a;return c[b>>2]|0}function Hh(){c[17694]=1;return}function Ih(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(Ah()|0))xf(23925,23698,295,23944);if(Gh()|0){Jh(23698,300,23944,0,c[d>>2]|0);i=b;return}Ch();if(c[17695]|0){Dh();i=b;return}else{c[17695]=1;Dh();i=b;return}}function Jh(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;j=g+40|0;k=g+36|0;l=g+32|0;m=g+28|0;n=g+24|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;if(!(Ah()|0)){i=g;return}Bh(c[m>>2]|0?5:4);f=c[j>>2]|0;j=c[k>>2]|0;k=c[l>>2]|0?23978:76527;e=c[l>>2]|0?c[l>>2]|0:76527;l=c[n>>2]|0?c[n>>2]|0:23990;c[h>>2]=c[m>>2]|0?23971:76527;c[h+4>>2]=f;c[h+8>>2]=j;c[h+12>>2]=k;c[h+16>>2]=e;c[h+20>>2]=l;yf(24015,h);i=g;return}function Kh(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;b=a+4|0;d=a;if(Ah()|0){Ch();c[d>>2]=c[17695];Dh();c[b>>2]=c[d>>2];e=c[b>>2]|0;i=a;return e|0}else{c[b>>2]=0;e=c[b>>2]|0;i=a;return e|0}return 0}function Lh(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;if(!(Ah()|0)){c[b>>2]=1;d=c[b>>2]|0;i=a;return d|0}Ch();if((c[17693]|0)==1){Dh();Mh(0)|0;Ch()}c[b>>2]=(c[17693]|0)==3&1;Dh();d=c[b>>2]|0;i=a;return d|0}function Mh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=4;c[f>>2]=50;if(Ah()|0)Bh(2);if((((((Nh(c[d>>2]|0)|0)==0?(Ph(c[d>>2]|0)|0)==0:0)?(Qh(c[d>>2]|0)|0)==0:0)?(Rh()|0)==0:0)?(Sh(c[d>>2]|0)|0)==0:0)?(Th()|0)==0:0){c[e>>2]=3;c[f>>2]=0}if(!(Ah()|0)){g=c[f>>2]|0;i=b;return g|0}Bh(c[e>>2]|0);g=c[f>>2]|0;i=b;return g|0}function Nh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;c[g>>2]=0;c[e>>2]=0;while(1){if(!(c[1312+(c[e>>2]<<2)>>2]|0))break;c[f>>2]=si(c[1312+(c[e>>2]<<2)>>2]|0,c[d>>2]|0,1)|0;a=c[1312+(c[e>>2]<<2)>>2]|0;if(c[f>>2]|0)h=fu(c[f>>2]|0)|0;else h=0;Oh(38634,a,0,h);if(c[f>>2]|0)c[g>>2]=1;c[e>>2]=(c[e>>2]|0)+1}i=b;return c[g>>2]|0}function Oh(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;h=f+44|0;j=f+40|0;k=f+36|0;l=f+32|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if((c[l>>2]|0)==0?(tf(2)|0)==0:0){i=f;return}e=(gv(c[h>>2]|0,36319)|0)!=0;d=e?c[h>>2]|0:43169;e=(gv(c[h>>2]|0,36319)|0)!=0^1;b=e?24063:76527;do if(gv(c[h>>2]|0,38634)|0){if(!(gv(c[h>>2]|0,43169)|0)){m=tj(c[j>>2]|0)|0;break}if(!(gv(c[h>>2]|0,36319)|0)){m=tj(c[j>>2]|0)|0;break}if(gv(c[h>>2]|0,49836)|0)m=76527;else m=uk(c[j>>2]|0)|0}else m=Zh(c[j>>2]|0)|0;while(0);h=c[j>>2]|0;j=c[l>>2]|0?c[l>>2]|0:24069;l=c[k>>2]|0?24074:76527;e=c[k>>2]|0?c[k>>2]|0:76527;a=c[k>>2]|0?49890:76527;c[g>>2]=d;c[g+4>>2]=b;c[g+8>>2]=m;c[g+12>>2]=h;c[g+16>>2]=j;c[g+20>>2]=l;c[g+24>>2]=e;c[g+28>>2]=a;yf(24077,g);i=f;return}function Ph(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;c[g>>2]=0;c[e>>2]=0;while(1){if(!(c[1332+(c[e>>2]<<2)>>2]|0))break;c[f>>2]=Yj(c[1332+(c[e>>2]<<2)>>2]|0,c[d>>2]|0,1)|0;a=c[1332+(c[e>>2]<<2)>>2]|0;if(c[f>>2]|0)h=fu(c[f>>2]|0)|0;else h=0;Oh(43169,a,0,h);if(c[f>>2]|0)c[g>>2]=1;c[e>>2]=(c[e>>2]|0)+1}i=b;return c[g>>2]|0}function Qh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;c[g>>2]=0;c[e>>2]=0;while(1){if(!(c[1356+(c[e>>2]<<2)>>2]|0))break;c[f>>2]=fj(c[1356+(c[e>>2]<<2)>>2]|0,c[d>>2]|0,1)|0;a=c[1356+(c[e>>2]<<2)>>2]|0;if(c[f>>2]|0)h=fu(c[f>>2]|0)|0;else h=0;Oh(36319,a,0,h);if(c[f>>2]|0)c[g>>2]=1;c[e>>2]=(c[e>>2]|0)+1}i=b;return c[g>>2]|0}function Rh(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;c[b>>2]=Un(1)|0;if(c[b>>2]|0)d=fu(c[b>>2]|0)|0;else d=0;Oh(52600,0,0,d);i=a;return ((c[b>>2]|0)!=0^1^1)&1|0}function Sh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;c[g>>2]=0;c[e>>2]=0;while(1){if(!(c[1380+(c[e>>2]<<2)>>2]|0))break;c[f>>2]=Fk(c[1380+(c[e>>2]<<2)>>2]|0,c[d>>2]|0,1)|0;a=c[1380+(c[e>>2]<<2)>>2]|0;if(c[f>>2]|0)h=fu(c[f>>2]|0)|0;else h=0;Oh(49836,a,0,h);if(c[f>>2]|0)c[g>>2]=1;c[e>>2]=(c[e>>2]|0)+1}i=b;return c[g>>2]|0}function Th(){return 0}function Uh(){var a=0,b=0;a=i;i=i+16|0;b=a;if(Ah()|0){Ch();c[b>>2]=(c[17693]|0)==3&1;Dh()}else c[b>>2]=1;i=a;return c[b>>2]|0}function Vh(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;if(Ah()|0){Ch();c[b>>2]=((c[17693]|0)==3?1:(c[17693]|0)==4)&1;Dh();d=c[b>>2]|0;i=a;return d|0}else{c[b>>2]=1;d=c[b>>2]|0;i=a;return d|0}return 0}function Wh(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;f=i;i=i+32|0;g=f;h=f+20|0;j=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if((c[j>>2]|0)!=1){c[g>>2]=c[j>>2];Cf(24121,g)}if((c[k>>2]|0)>>>0<8)c[k>>2]=8;c[m>>2]=ag(1,8+(c[k>>2]|0)|0)|0;if(c[m>>2]|0){k=c[m>>2]|0;a[k>>0]=a[24167]|0;a[k+1>>0]=a[24168]|0;a[k+2>>0]=a[24169]|0;a[(c[m>>2]|0)+3>>0]=c[j>>2];c[(c[m>>2]|0)+4>>2]=c[l>>2];c[h>>2]=c[m>>2];n=c[h>>2]|0;i=f;return n|0}else{c[h>>2]=0;n=c[h>>2]|0;i=f;return n|0}return 0}function Xh(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;h=e+24|0;j=e+20|0;c[h>>2]=b;c[j>>2]=d;if(!(c[h>>2]|0)){k=c[h>>2]|0;c[g>>2]=k;Bf(24171,g)}if(mw(c[h>>2]|0,24167,3)|0){k=c[h>>2]|0;c[g>>2]=k;Bf(24171,g)}if((a[(c[h>>2]|0)+3>>0]|0)!=(c[j>>2]|0)){g=c[h>>2]|0;k=a[(c[h>>2]|0)+3>>0]|0;c[f>>2]=c[j>>2];c[f+4>>2]=g;c[f+8>>2]=k;Bf(24219,f)}else{i=e;return (c[h>>2]|0)+8|0}return 0}function Yh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d;g=d+12|0;c[g>>2]=b;if(!(c[g>>2]|0)){i=d;return}b=(mw(c[g>>2]|0,24167,3)|0)!=0;h=c[g>>2]|0;if(b){c[f>>2]=h;Bf(24276,f)}f=c[g>>2]|0;if((a[h+3>>0]|0)!=1){c[e>>2]=a[f+3>>0];Bf(24318,e)}if(c[f+4>>2]|0)xb[c[(c[g>>2]|0)+4>>2]&15]((c[g>>2]|0)+8|0);$f(c[g>>2]|0);i=d;return}function Zh(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=_h(c[d>>2]|0)|0;if(!(c[e>>2]|0)){f=37933;i=b;return f|0}f=c[(c[e>>2]|0)+8>>2]|0;i=b;return f|0}function _h(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[e>>2]=$h(c[e>>2]|0)|0;c[f>>2]=0;while(1){a=c[1392+(c[f>>2]<<2)>>2]|0;c[g>>2]=a;if(!a){h=6;break}if((c[e>>2]|0)==(c[c[g>>2]>>2]|0)){h=4;break}c[f>>2]=(c[f>>2]|0)+1}if((h|0)==4){c[d>>2]=c[g>>2];j=c[d>>2]|0;i=b;return j|0}else if((h|0)==6){c[d>>2]=0;j=c[d>>2]|0;i=b;return j|0}return 0}function $h(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;i=b;return c[d>>2]|0}function ai(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+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;m=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=0;if((c[j>>2]|0)>=65536)c[l>>2]=71;else c[l>>2]=bi(m,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[c[g>>2]>>2]=c[l>>2]|0?0:c[m>>2]|0;i=f;return c[l>>2]|0}function bi(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;g=i;i=i+48|0;h=g+36|0;j=g+32|0;k=g+28|0;l=g+24|0;m=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;q=g+4|0;r=g;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[l>>2]&1;c[o>>2]=0;Sn();c[n>>2]=_h(c[j>>2]|0)|0;do if(c[n>>2]|0)if(a[(c[n>>2]|0)+4>>0]&1|0){c[p>>2]=12;break}else{c[p>>2]=0;break}else c[p>>2]=12;while(0);do if(!(c[p>>2]|0)){if((c[l>>2]&-16|0)==0?(c[l>>2]&0|0)==0:0)break;c[p>>2]=12}while(0);a:do if(!(c[p>>2]|0)){f=c[k>>2]|0;b:do if((f|0)<6)switch(f|0){case 5:case 2:case 3:case 1:{break b;break}case 4:{if(c[(c[n>>2]|0)+44>>2]|0?c[(c[n>>2]|0)+48>>2]|0:0)break a;c[p>>2]=71;break a;break}case 0:{if((Ah()|0)==0?jg(0)|0:0)break a;c[p>>2]=71;break a;break}default:{s=37;break b}}else{if((f|0)<9){switch(f|0){case 7:case 6:{break b;break}case 8:break;default:{s=37;break b}}if((c[(c[n>>2]|0)+20>>2]|0)!=16)c[p>>2]=71;if(c[(c[n>>2]|0)+36>>2]|0?c[(c[n>>2]|0)+40>>2]|0:0)break a;c[p>>2]=71;break a}if((f|0)<11){switch(f|0){case 9:{break b;break}case 10:break;default:{s=37;break b}}if((c[(c[n>>2]|0)+44>>2]|0?c[(c[n>>2]|0)+48>>2]|0:0)?c[(c[n>>2]|0)+60>>2]|0:0){if((c[c[n>>2]>>2]|0)==316)break a;c[p>>2]=71;break a}c[p>>2]=71;break a}if((f|0)>=65537)switch(f|0){case 65537:{break b;break}default:{s=37;break b}}switch(f|0){case 11:break;default:{s=37;break b}}if(c[(c[n>>2]|0)+36>>2]|0?c[(c[n>>2]|0)+40>>2]|0:0){if((c[(c[n>>2]|0)+20>>2]|0)==16)break a;c[p>>2]=71;break a}c[p>>2]=71;break a}while(0);if((s|0)==37){c[p>>2]=71;break}if(c[(c[n>>2]|0)+36>>2]|0?c[(c[n>>2]|0)+40>>2]|0:0)break;c[p>>2]=71}while(0);if(c[p>>2]|0){t=c[p>>2]|0;u=(t|0)!=0;v=c[o>>2]|0;w=u?0:v;x=c[h>>2]|0;c[x>>2]=w;y=c[p>>2]|0;z=ci(y)|0;i=g;return z|0}c[q>>2]=512+(c[(c[n>>2]|0)+28>>2]<<1)-16+15;s=c[q>>2]|0;if(c[m>>2]|0)c[o>>2]=bg(1,s)|0;else c[o>>2]=ag(1,s)|0;if(!(c[o>>2]|0)){c[p>>2]=iu()|0;t=c[p>>2]|0;u=(t|0)!=0;v=c[o>>2]|0;w=u?0:v;x=c[h>>2]|0;c[x>>2]=w;y=c[p>>2]|0;z=ci(y)|0;i=g;return z|0}c[r>>2]=0;if(c[o>>2]&15|0){c[r>>2]=16-(c[o>>2]&15);c[o>>2]=(c[o>>2]|0)+(c[r>>2]|0)}c[c[o>>2]>>2]=c[m>>2]|0?1183944770:604576100;c[(c[o>>2]|0)+4>>2]=(c[q>>2]|0)-(c[r>>2]|0);c[(c[o>>2]|0)+8>>2]=c[r>>2];c[(c[o>>2]|0)+12>>2]=c[n>>2];c[(c[o>>2]|0)+16>>2]=c[j>>2];c[(c[o>>2]|0)+48>>2]=c[k>>2];c[(c[o>>2]|0)+52>>2]=c[l>>2];switch(c[j>>2]|0){case 9:case 8:case 7:{c[(c[o>>2]|0)+20>>2]=1;c[(c[o>>2]|0)+20+4>>2]=2;c[(c[o>>2]|0)+20+8>>2]=1;c[(c[o>>2]|0)+20+12>>2]=3;c[(c[o>>2]|0)+20+16>>2]=4;c[(c[o>>2]|0)+20+20>>2]=5;c[(c[o>>2]|0)+20+24>>2]=2;break}case 303:case 10:{c[(c[o>>2]|0)+20+12>>2]=6;c[(c[o>>2]|0)+20+4>>2]=7;c[(c[o>>2]|0)+20+16>>2]=8;break}default:{}}if((c[k>>2]|0)!=11){t=c[p>>2]|0;u=(t|0)!=0;v=c[o>>2]|0;w=u?0:v;x=c[h>>2]|0;c[x>>2]=w;y=c[p>>2]|0;z=ci(y)|0;i=g;return z|0}a[(c[o>>2]|0)+128+352>>0]=16;t=c[p>>2]|0;u=(t|0)!=0;v=c[o>>2]|0;w=u?0:v;x=c[h>>2]|0;c[x>>2]=w;y=c[p>>2]|0;z=ci(y)|0;i=g;return z|0}function ci(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=di(32,c[d>>2]|0)|0;i=b;return a|0}function di(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=ei(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function ei(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+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function fi(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+32|0;f=e+24|0;g=e+20|0;h=e+16|0;j=e+12|0;k=e+28|0;l=e;m=e+8|0;c[f>>2]=b;if(!(c[f>>2]|0)){i=e;return}if((c[c[f>>2]>>2]|0)!=1183944770?(c[c[f>>2]>>2]|0)!=604576100:0)qf(63,24367);c[c[f>>2]>>2]=0;c[g>>2]=c[(c[f>>2]|0)+8>>2];c[h>>2]=c[f>>2];c[j>>2]=c[(c[f>>2]|0)+4>>2];a[k>>0]=0;b=l;c[b>>2]=d[k>>0];c[b+4>>2]=0;while(1){if(!(c[h>>2]&7|0?(c[j>>2]|0)!=0:0))break;a[c[h>>2]>>0]=a[k>>0]|0;c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)>>>0>=8){b=l;n=Mx(c[b>>2]|0,c[b+4>>2]|0,16843009,16843009)|0;b=l;c[b>>2]=n;c[b+4>>2]=C;do{c[m>>2]=c[h>>2];b=l;n=c[b+4>>2]|0;o=c[m>>2]|0;c[o>>2]=c[b>>2];c[o+4>>2]=n;c[j>>2]=(c[j>>2]|0)-8;c[h>>2]=(c[h>>2]|0)+8}while((c[j>>2]|0)>>>0>=8)}while(1){if(!(c[j>>2]|0))break;a[c[h>>2]>>0]=a[k>>0]|0;c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+-1}$f((c[f>>2]|0)+(0-(c[g>>2]|0))|0);i=e;return}function gi(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;g=i;i=i+32|0;h=g+20|0;j=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;if(!(c[l>>2]|0)){c[l>>2]=c[j>>2];c[m>>2]=c[k>>2]}c[n>>2]=hi(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(!((c[n>>2]|0)!=0&(c[j>>2]|0)!=0)){o=c[n>>2]|0;i=g;return o|0}Fx(c[j>>2]|0,66,c[k>>2]|0)|0;o=c[n>>2]|0;i=g;return o|0}function hi(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;g=i;i=i+32|0;h=g;j=g+24|0;k=g+20|0;l=g+16|0;m=g+12|0;n=g+8|0;o=g+4|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;f=c[(c[j>>2]|0)+48>>2]|0;a:do if((f|0)>=6){if((f|0)<9)switch(f|0){case 6:{c[o>>2]=cr(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 7:{c[o>>2]=Jq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 8:{c[o>>2]=Uq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24462,h)}}if((f|0)<11)switch(f|0){case 9:{c[o>>2]=fr(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 10:{c[o>>2]=Tr(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24462,h)}}if((f|0)<65537)switch(f|0){case 11:{c[o>>2]=Kr(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24462,h)}}else switch(f|0){case 65537:{c[o>>2]=71;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24462,h)}}}else switch(f|0){case 1:{c[o>>2]=ii(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 3:{c[o>>2]=Mq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 2:{c[o>>2]=Wq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 5:{c[o>>2]=Or(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 4:{Fb[c[(c[(c[j>>2]|0)+12>>2]|0)+44>>2]&1]((c[j>>2]|0)+496|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0);c[o>>2]=0;break a;break}case 0:{if((Ah()|0)==0?jg(0)|0:0){if((c[m>>2]|0)!=(c[k>>2]|0))Ex(c[k>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;c[o>>2]=0;break a}Jh(24416,875,24425,0,24440);c[o>>2]=71;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24462,h)}}while(0);i=g;return c[o>>2]|0}function ii(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;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=ji(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[(c[(c[h>>2]|0)+12>>2]|0)+36>>2]|0)|0;i=g;return f|0}function ji(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,s=0,t=0,u=0,v=0;h=i;i=i+48|0;j=h+44|0;k=h+40|0;l=h+36|0;m=h+32|0;n=h+28|0;o=h+24|0;p=h+20|0;q=h+16|0;r=h+12|0;s=h+8|0;t=h+4|0;u=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=c[(c[(c[k>>2]|0)+12>>2]|0)+20>>2];if((c[m>>2]|0)>>>0<(c[o>>2]|0)>>>0){c[j>>2]=200;v=c[j>>2]|0;i=h;return v|0}if(((c[o>>2]|0)>>>0)%((c[q>>2]|0)>>>0)|0|0){c[j>>2]=139;v=c[j>>2]|0;i=h;return v|0}c[s>>2]=((c[o>>2]|0)>>>0)/((c[q>>2]|0)>>>0)|0;c[t>>2]=0;c[r>>2]=0;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;c[u>>2]=vb[c[p>>2]&63]((c[k>>2]|0)+496|0,c[l>>2]|0,c[n>>2]|0)|0;c[t>>2]=(c[u>>2]|0)>>>0>(c[t>>2]|0)>>>0?c[u>>2]|0:c[t>>2]|0;c[n>>2]=(c[n>>2]|0)+(c[q>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[q>>2]|0);c[r>>2]=(c[r>>2]|0)+1}if((c[t>>2]|0)>>>0>0){If((c[t>>2]|0)+16|0);Jf()}c[j>>2]=0;v=c[j>>2]|0;i=h;return v|0}function ki(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;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;if(!(c[l>>2]|0)){c[l>>2]=c[j>>2];c[m>>2]=c[k>>2]}f=li(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;i=g;return f|0}function li(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;g=i;i=i+32|0;h=g;j=g+24|0;k=g+20|0;l=g+16|0;m=g+12|0;n=g+8|0;o=g+4|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;f=c[(c[j>>2]|0)+48>>2]|0;a:do if((f|0)>=6){if((f|0)<9)switch(f|0){case 6:{c[o>>2]=cr(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 7:{c[o>>2]=Lq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 8:{c[o>>2]=Vq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24510,h)}}if((f|0)<11)switch(f|0){case 9:{c[o>>2]=or(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 10:{c[o>>2]=Wr(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24510,h)}}if((f|0)<65537)switch(f|0){case 11:{c[o>>2]=Nr(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24510,h)}}else switch(f|0){case 65537:{c[o>>2]=71;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24510,h)}}}else switch(f|0){case 1:{c[o>>2]=mi(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 3:{c[o>>2]=Pq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 2:{c[o>>2]=Zq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 5:{c[o>>2]=Or(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 4:{Fb[c[(c[(c[j>>2]|0)+12>>2]|0)+48>>2]&1]((c[j>>2]|0)+496|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0);c[o>>2]=0;break a;break}case 0:{if((Ah()|0)==0?jg(0)|0:0){if((c[m>>2]|0)!=(c[k>>2]|0))Ex(c[k>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;c[o>>2]=0;break a}Jh(24416,992,24495,0,24440);c[o>>2]=71;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24510,h)}}while(0);i=g;return c[o>>2]|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,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=ji(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[(c[(c[h>>2]|0)+12>>2]|0)+40>>2]|0)|0;i=g;return f|0}function ni(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=oi(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function oi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=vb[c[(c[(c[g>>2]|0)+12>>2]|0)+32>>2]&63]((c[g>>2]|0)+496|0,c[h>>2]|0,c[j>>2]|0)|0;j=c[g>>2]|0;a:do if(!(c[k>>2]|0)){Dx(j+496+(c[(c[(c[g>>2]|0)+12>>2]|0)+28>>2]|0)|0,(c[g>>2]|0)+496|0,c[(c[(c[g>>2]|0)+12>>2]|0)+28>>2]|0)|0;h=(c[g>>2]|0)+56|0;a[h>>0]=a[h>>0]&-2|1;h=c[(c[g>>2]|0)+48>>2]|0;if((h|0)<10){switch(h|0){case 9:break;default:break a}pr(c[g>>2]|0);break}if((h|0)<65537){switch(h|0){case 10:break;default:break a}Xr(c[g>>2]|0);break}else{switch(h|0){case 65537:break;default:break a}ar(c[g>>2]|0)|0;break}}else{h=j+56|0;a[h>>0]=a[h>>0]&-2}while(0);i=f;return c[k>>2]|0}function pi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=0;switch(c[(c[f>>2]|0)+48>>2]|0){case 8:{c[j>>2]=Rq(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;break}case 9:{c[j>>2]=gr(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;break}case 10:{c[j>>2]=Rr(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;break}case 11:{c[j>>2]=Gr(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;break}default:c[j>>2]=qi(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0}i=e;return c[j>>2]|0}function qi(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;f=i;i=i+32|0;g=f;h=f+20|0;j=f+16|0;k=f+12|0;l=f+8|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;e=c[j>>2]|0;if(c[(c[(c[j>>2]|0)+12>>2]|0)+60>>2]|0){Ab[c[(c[e+12>>2]|0)+60>>2]&7]((c[j>>2]|0)+496|0,c[k>>2]|0,c[l>>2]|0);c[h>>2]=0;m=c[h>>2]|0;i=f;return m|0}Fx(e+64|0,0,c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2]|0)|0;if(c[k>>2]|0){if((c[l>>2]|0)!=(c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2]|0)){e=c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2]|0;c[g>>2]=c[l>>2];c[g+4>>2]=e;yf(24543,g);Jh(24416,682,24586,0,24599)}if((c[l>>2]|0)>>>0>(c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2]|0)>>>0)c[l>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2];Dx((c[j>>2]|0)+64|0,c[k>>2]|0,c[l>>2]|0)|0;l=(c[j>>2]|0)+56|0;a[l>>0]=a[l>>0]&-3|2}else{l=(c[j>>2]|0)+56|0;a[l>>0]=a[l>>0]&-3}c[(c[j>>2]|0)+112>>2]=0;c[h>>2]=0;m=c[h>>2]|0;i=f;return m|0}function ri(){return 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,n=0,o=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;l=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=0;c[l>>2]=_h(c[g>>2]|0)|0;if((c[l>>2]|0?(a[(c[l>>2]|0)+4>>0]&1|0)==0:0)?c[(c[l>>2]|0)+52>>2]|0:0){c[k>>2]=vb[c[(c[l>>2]|0)+52>>2]&63](c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;m=c[k>>2]|0;n=ti(m)|0;i=f;return n|0}c[k>>2]=12;if(!(c[j>>2]|0)){m=c[k>>2]|0;n=ti(m)|0;i=f;return n|0}h=c[j>>2]|0;j=c[g>>2]|0;if(c[l>>2]|0?!(a[(c[l>>2]|0)+4>>0]&1|0):0)o=38004;else o=c[l>>2]|0?37965:37984;Fb[h&1](38634,j,38026,o);m=c[k>>2]|0;n=ti(m)|0;i=f;return n|0}function ti(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ei(1,c[d>>2]|0)|0;i=b;return a|0}function ui(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+32|0;h=g+24|0;j=g+20|0;k=g+16|0;l=g+12|0;m=g+8|0;n=g+4|0;o=g;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[o>>2]=0;if(!(c[k>>2]|0)){c[n>>2]=0;while(1){if(!(c[1416+((c[n>>2]|0)*48|0)>>2]|0))break;if((c[j>>2]|0)==(c[1416+((c[n>>2]|0)*48|0)+4>>2]|0)?(c[1416+((c[n>>2]|0)*48|0)+12>>2]|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if(!(c[1416+((c[n>>2]|0)*48|0)>>2]|0))c[n>>2]=-1}else c[n>>2]=vi(c[k>>2]|0)|0;if((c[n>>2]|0)<0){c[h>>2]=188;p=c[h>>2]|0;i=g;return p|0}c[o>>2]=c[1416+((c[n>>2]|0)*48|0)>>2];if(Ah()|0?(a[1416+((c[n>>2]|0)*48|0)+8>>0]&1|0)==0:0){c[h>>2]=60;p=c[h>>2]|0;i=g;return p|0}if((c[1416+((c[n>>2]|0)*48|0)+12>>2]|0)>>>0>=3){c[h>>2]=59;p=c[h>>2]|0;i=g;return p|0}if(c[m>>2]|0)c[c[m>>2]>>2]=c[1416+((c[n>>2]|0)*48|0)+4>>2];if(c[l>>2]|0){c[c[l>>2]>>2]=c[1416+((c[n>>2]|0)*48|0)+12>>2];c[(c[l>>2]|0)+4>>2]=c[1416+((c[n>>2]|0)*48|0)+16>>2];if(!(c[(c[l>>2]|0)+8>>2]|0)){m=wi(c[1416+((c[n>>2]|0)*48|0)+20>>2]|0)|0;c[(c[l>>2]|0)+8>>2]=m}if(!(c[(c[l>>2]|0)+12>>2]|0)){m=wi(c[1416+((c[n>>2]|0)*48|0)+24>>2]|0)|0;c[(c[l>>2]|0)+12>>2]=m}if(!(c[(c[l>>2]|0)+16>>2]|0)){m=wi(c[1416+((c[n>>2]|0)*48|0)+28>>2]|0)|0;c[(c[l>>2]|0)+16>>2]=m}if(!(c[(c[l>>2]|0)+32>>2]|0)){m=wi(c[1416+((c[n>>2]|0)*48|0)+32>>2]|0)|0;c[(c[l>>2]|0)+32>>2]=m}if(!(c[(c[l>>2]|0)+36>>2]|0)){m=wi(c[1416+((c[n>>2]|0)*48|0)+44>>2]|0)|0;c[(c[l>>2]|0)+36>>2]=m}if(!(c[(c[l>>2]|0)+20>>2]|0)){m=wi(c[1416+((c[n>>2]|0)*48|0)+36>>2]|0)|0;c[(c[l>>2]|0)+20>>2]=m}if(!(c[(c[l>>2]|0)+20+4>>2]|0)){m=wi(c[1416+((c[n>>2]|0)*48|0)+40>>2]|0)|0;c[(c[l>>2]|0)+20+4>>2]=m}if(!(c[(c[l>>2]|0)+20+8>>2]|0)){m=_p(1)|0;c[(c[l>>2]|0)+20+8>>2]=m}if(!(c[(c[l>>2]|0)+40>>2]|0))c[(c[l>>2]|0)+40>>2]=c[o>>2]}c[h>>2]=0;p=c[h>>2]|0;i=g;return p|0}function vi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[f>>2]=0;while(1){if(!(c[1416+((c[f>>2]|0)*48|0)>>2]|0))break;a=(gv(c[e>>2]|0,c[1416+((c[f>>2]|0)*48|0)>>2]|0)|0)!=0;h=c[f>>2]|0;if(!a){j=4;break}c[f>>2]=h+1}if((j|0)==4){c[d>>2]=h;k=c[d>>2]|0;i=b;return k|0}a:do if(!(c[1416+((c[f>>2]|0)*48|0)>>2]|0)){c[g>>2]=0;while(1){if(!(c[2472+(c[g>>2]<<3)>>2]|0))break;if(!(gv(c[e>>2]|0,c[2472+(c[g>>2]<<3)+4>>2]|0)|0))break;c[g>>2]=(c[g>>2]|0)+1}if(c[2472+(c[g>>2]<<3)>>2]|0){c[f>>2]=0;while(1){if(!(c[1416+((c[f>>2]|0)*48|0)>>2]|0))break a;h=(gv(c[2472+(c[g>>2]<<3)>>2]|0,c[1416+((c[f>>2]|0)*48|0)>>2]|0)|0)!=0;l=c[f>>2]|0;if(!h)break;c[f>>2]=l+1}c[d>>2]=l;k=c[d>>2]|0;i=b;return k|0}}while(0);c[d>>2]=-1;k=c[d>>2]|0;i=b;return k|0}function wi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b;e=b+12|0;f=b+8|0;g=b+4|0;c[e>>2]=a;c[f>>2]=Dp(g,4,c[e>>2]|0,0,0)|0;if(c[f>>2]|0){c[d>>2]=fu(c[f>>2]|0)|0;Bf(35818,d)}else{i=b;return c[g>>2]|0}return 0}function xi(a,b,d,e,f,g,h,j,k){a=a|0;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;l=i;i=i+64|0;m=l+48|0;n=l+44|0;o=l+40|0;p=l+36|0;q=l+32|0;r=l+28|0;s=l+24|0;t=l+20|0;u=l+16|0;v=l+12|0;w=l+8|0;x=l+4|0;y=l;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[w>>2]=vi(c[n>>2]|0)|0;if((c[w>>2]|0)<0){c[m>>2]=188;z=c[m>>2]|0;i=l;return z|0}do if(c[t>>2]|0){c[y>>2]=4;n=Kv((c[1416+((c[w>>2]|0)*48|0)+36>>2]|0)+2|0)|0;c[y>>2]=(c[y>>2]|0)+n;n=Kv((c[1416+((c[w>>2]|0)*48|0)+40>>2]|0)+2|0)|0;c[y>>2]=(c[y>>2]|0)+n;c[y>>2]=(c[y>>2]|0)+1;c[x>>2]=Vf(c[y>>2]|0)|0;if(c[x>>2]|0){n=Xv(c[x>>2]|0,35557)|0;k=Xv(n,(c[1416+((c[w>>2]|0)*48|0)+36>>2]|0)+2|0)|0;Wv(k,(c[1416+((c[w>>2]|0)*48|0)+40>>2]|0)+2|0)|0;xq(c[c[t>>2]>>2]|0);k=wi(c[x>>2]|0)|0;c[c[t>>2]>>2]=k;$f(c[x>>2]|0);break}c[m>>2]=iu()|0;z=c[m>>2]|0;i=l;return z|0}while(0);if(c[o>>2]|0)c[c[o>>2]>>2]=c[1416+((c[w>>2]|0)*48|0)+12>>2];if(c[p>>2]|0)c[c[p>>2]>>2]=c[1416+((c[w>>2]|0)*48|0)+16>>2];if(c[q>>2]|0){xq(c[c[q>>2]>>2]|0);p=wi(c[1416+((c[w>>2]|0)*48|0)+20>>2]|0)|0;c[c[q>>2]>>2]=p}if(c[r>>2]|0){xq(c[c[r>>2]>>2]|0);p=wi(c[1416+((c[w>>2]|0)*48|0)+24>>2]|0)|0;c[c[r>>2]>>2]=p}if(c[s>>2]|0){xq(c[c[s>>2]>>2]|0);p=wi(c[1416+((c[w>>2]|0)*48|0)+28>>2]|0)|0;c[c[s>>2]>>2]=p}if(c[u>>2]|0){xq(c[c[u>>2]>>2]|0);p=wi(c[1416+((c[w>>2]|0)*48|0)+32>>2]|0)|0;c[c[u>>2]>>2]=p}if(c[v>>2]|0){xq(c[c[v>>2]>>2]|0);p=wi(c[1416+((c[w>>2]|0)*48|0)+44>>2]|0)|0;c[c[v>>2]>>2]=p}c[m>>2]=0;z=c[m>>2]|0;i=l;return z|0}function yi(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;e=i;i=i+128|0;f=e;g=e+112|0;h=e+108|0;j=e+104|0;k=e+100|0;l=e+96|0;m=e+92|0;n=e+48|0;o=e+44|0;p=e+40|0;q=e+36|0;r=e+32|0;s=e+28|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=0;c[o>>2]=0;c[p>>2]=0;d=n;b=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));if(c[k>>2]|0)c[c[k>>2]>>2]=0;if(!(c[h>>2]|0)){c[q>>2]=c[j>>2];if((c[q>>2]|0)>=0&(c[q>>2]|0)>>>0<22?(c[m>>2]=c[1416+((c[q>>2]|0)*48|0)>>2],c[k>>2]|0):0)c[c[k>>2]>>2]=c[1416+((c[q>>2]|0)*48|0)+4>>2];c[g>>2]=c[m>>2];t=c[g>>2]|0;i=e;return t|0}j=c[h>>2]|0;c[f>>2]=n+8;c[f+4>>2]=n+12;c[f+8>>2]=n+16;c[f+12>>2]=o;c[f+16>>2]=n+32;c[f+20>>2]=n+36;c[f+24>>2]=0;c[l>>2]=zi(Rg(j,0,35562,f)|0)|0;a:do if((c[l>>2]|0)==68){c[r>>2]=xg(c[h>>2]|0,47161,5)|0;if(c[r>>2]|0?(c[s>>2]=Eg(c[r>>2]|0,1)|0,vg(c[r>>2]|0),c[s>>2]|0):0){c[q>>2]=vi(c[s>>2]|0)|0;$f(c[s>>2]|0);if((c[q>>2]|0)>=0?(c[m>>2]=c[1416+((c[q>>2]|0)*48|0)>>2],c[k>>2]|0):0)c[c[k>>2]>>2]=c[1416+((c[q>>2]|0)*48|0)+4>>2];c[g>>2]=c[m>>2];t=c[g>>2]|0;i=e;return t|0}}else if(!(c[l>>2]|0)){if(c[o>>2]|0?(co(n+20|0),dj(n+20|0,c[o>>2]|0)|0):0)break;c[q>>2]=0;while(1){if(!(c[1416+((c[q>>2]|0)*48|0)>>2]|0))break a;hq(c[p>>2]|0);c[p>>2]=wi(c[1416+((c[q>>2]|0)*48|0)+20>>2]|0)|0;if(((((((ap(c[p>>2]|0,c[n+8>>2]|0)|0)==0?(hq(c[p>>2]|0),c[p>>2]=wi(c[1416+((c[q>>2]|0)*48|0)+24>>2]|0)|0,(ap(c[p>>2]|0,c[n+12>>2]|0)|0)==0):0)?(hq(c[p>>2]|0),c[p>>2]=wi(c[1416+((c[q>>2]|0)*48|0)+28>>2]|0)|0,(ap(c[p>>2]|0,c[n+16>>2]|0)|0)==0):0)?(hq(c[p>>2]|0),c[p>>2]=wi(c[1416+((c[q>>2]|0)*48|0)+32>>2]|0)|0,(ap(c[p>>2]|0,c[n+32>>2]|0)|0)==0):0)?(hq(c[p>>2]|0),c[p>>2]=wi(c[1416+((c[q>>2]|0)*48|0)+44>>2]|0)|0,(ap(c[p>>2]|0,c[n+36>>2]|0)|0)==0):0)?(hq(c[p>>2]|0),c[p>>2]=wi(c[1416+((c[q>>2]|0)*48|0)+36>>2]|0)|0,(ap(c[p>>2]|0,c[n+20>>2]|0)|0)==0):0)?(hq(c[p>>2]|0),c[p>>2]=wi(c[1416+((c[q>>2]|0)*48|0)+40>>2]|0)|0,(ap(c[p>>2]|0,c[n+20+4>>2]|0)|0)==0):0)break;c[q>>2]=(c[q>>2]|0)+1}c[m>>2]=c[1416+((c[q>>2]|0)*48|0)>>2];if(c[k>>2]|0)c[c[k>>2]>>2]=c[1416+((c[q>>2]|0)*48|0)+4>>2]}while(0);xq(c[p>>2]|0);xq(c[n+8>>2]|0);xq(c[n+12>>2]|0);xq(c[n+16>>2]|0);xq(c[o>>2]|0);fo(n+20|0);xq(c[n+32>>2]|0);xq(c[n+36>>2]|0);c[g>>2]=c[m>>2];t=c[g>>2]|0;i=e;return t|0}function zi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;i=b;return c[d>>2]&65535|0}function Ai(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;e=i;i=i+80|0;f=e+76|0;g=e+72|0;h=e+68|0;j=e+64|0;k=e+60|0;l=e+56|0;m=e+52|0;n=e+48|0;o=e+44|0;p=e+40|0;q=e+36|0;r=e+32|0;s=e+28|0;t=e+24|0;u=e+20|0;v=e+16|0;w=e+12|0;x=e+8|0;y=e+4|0;z=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=0;c[l>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[c[f>>2]>>2]=0;do if(c[g>>2]|0){c[w>>2]=xg(c[g>>2]|0,47167,0)|0;if(c[w>>2]|0?(c[j>>2]=jk(c[w>>2]|0,v,0)|0,vg(c[w>>2]|0),c[w>>2]=0,c[j>>2]|0):0)break;c[w>>2]=xg(c[g>>2]|0,47161,5)|0;if(c[w>>2]|0?(c[v>>2]&512|0)==0:0){A=13;break}c[j>>2]=Bi(n,c[g>>2]|0,48644)|0;if((((((c[j>>2]|0)==0?(c[j>>2]=Bi(o,c[g>>2]|0,39370)|0,(c[j>>2]|0)==0):0)?(c[j>>2]=Bi(p,c[g>>2]|0,35570)|0,(c[j>>2]|0)==0):0)?(c[j>>2]=Ci(q,c[g>>2]|0,35572,0)|0,(c[j>>2]|0)==0):0)?(c[j>>2]=Bi(r,c[g>>2]|0,39374)|0,(c[j>>2]|0)==0):0)?(c[j>>2]=Bi(s,c[g>>2]|0,35583)|0,(c[j>>2]|0)==0):0)A=13}else{c[w>>2]=0;A=13}while(0);do if((A|0)==13){if((c[w>>2]|0)!=0|(c[h>>2]|0)!=0){if(c[w>>2]|0){c[x>>2]=Eg(c[w>>2]|0,1)|0;vg(c[w>>2]|0);if(!(c[x>>2]|0)){c[j>>2]=65;break}}else c[x>>2]=0;c[y>>2]=ag(1,44)|0;if(!(c[y>>2]|0)){c[j>>2]=iu()|0;$f(c[x>>2]|0);break}c[j>>2]=ui(0,c[x>>2]|0?c[x>>2]|0:c[h>>2]|0,c[y>>2]|0,0)|0;$f(c[x>>2]|0);d=c[y>>2]|0;if(c[j>>2]|0){$f(d);break}c[l>>2]=c[d>>2];c[m>>2]=c[(c[y>>2]|0)+4>>2];if(!(c[n>>2]|0)){c[n>>2]=c[(c[y>>2]|0)+8>>2];c[(c[y>>2]|0)+8>>2]=0}if(!(c[o>>2]|0)){c[o>>2]=c[(c[y>>2]|0)+12>>2];c[(c[y>>2]|0)+12>>2]=0}if(!(c[p>>2]|0)){c[p>>2]=c[(c[y>>2]|0)+16>>2];c[(c[y>>2]|0)+16>>2]=0}if(!(c[q>>2]|0)){c[q>>2]=ho(0,c[(c[y>>2]|0)+20>>2]|0,c[(c[y>>2]|0)+20+4>>2]|0,c[(c[y>>2]|0)+20+8>>2]|0)|0;c[(c[y>>2]|0)+20>>2]=0;c[(c[y>>2]|0)+20+4>>2]=0;c[(c[y>>2]|0)+20+8>>2]=0}if(!(c[r>>2]|0)){c[r>>2]=c[(c[y>>2]|0)+32>>2];c[(c[y>>2]|0)+32>>2]=0}if(!(c[s>>2]|0)){c[s>>2]=c[(c[y>>2]|0)+36>>2];c[(c[y>>2]|0)+36>>2]=0}Yi(c[y>>2]|0);$f(c[y>>2]|0)}c[j>>2]=lo(k,c[l>>2]|0,c[m>>2]|0,c[v>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;if(!(c[j>>2]|0)){c[z>>2]=Xh(c[k>>2]|0,1)|0;if(c[p>>2]|0){hq(c[(c[z>>2]|0)+24>>2]|0);c[(c[z>>2]|0)+24>>2]=c[p>>2];c[p>>2]=0}if(c[q>>2]|0){c[(c[z>>2]|0)+28>>2]=c[q>>2];c[q>>2]=0}if(c[r>>2]|0){c[(c[z>>2]|0)+32>>2]=c[r>>2];c[r>>2]=0}if(c[s>>2]|0){c[(c[z>>2]|0)+36>>2]=c[s>>2];c[s>>2]=0}if(c[g>>2]|0){c[j>>2]=Ci(t,c[g>>2]|0,49872,c[z>>2]|0)|0;if(c[j>>2]|0)break;c[j>>2]=Bi(u,c[g>>2]|0,35585)|0;if(c[j>>2]|0)break}if(c[t>>2]|0){c[(c[z>>2]|0)+40>>2]=c[t>>2];c[t>>2]=0}if(c[u>>2]|0){c[(c[z>>2]|0)+44>>2]=c[u>>2];c[u>>2]=0}c[c[f>>2]>>2]=c[k>>2];c[k>>2]=0}}while(0);Yh(c[k>>2]|0);hq(c[n>>2]|0);hq(c[o>>2]|0);hq(c[p>>2]|0);eo(c[q>>2]|0);hq(c[r>>2]|0);hq(c[s>>2]|0);eo(c[t>>2]|0);hq(c[u>>2]|0);i=e;return c[j>>2]|0}function Bi(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+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=0;c[k>>2]=xg(c[g>>2]|0,c[h>>2]|0,0)|0;if(!(c[k>>2]|0)){l=c[j>>2]|0;i=e;return l|0}h=Fg(c[k>>2]|0,1,5)|0;c[c[f>>2]>>2]=h;vg(c[k>>2]|0);if(c[c[f>>2]>>2]|0){l=c[j>>2]|0;i=e;return l|0}c[j>>2]=65;l=c[j>>2]|0;i=e;return l|0}function Ci(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;f=i;i=i+64|0;g=f+48|0;h=f+44|0;j=f+40|0;k=f+36|0;l=f+32|0;m=f+28|0;n=f+24|0;o=f+20|0;p=f+16|0;q=f+12|0;r=f+8|0;s=f+4|0;t=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[n>>2]=xg(c[j>>2]|0,c[k>>2]|0,0)|0;if(c[n>>2]|0){c[p>>2]=Fg(c[n>>2]|0,1,8)|0;vg(c[n>>2]|0);if(!(c[p>>2]|0)){c[g>>2]=65;u=c[g>>2]|0;i=f;return u|0}c[o>>2]=bo(0)|0;if(c[l>>2]|0?(c[(c[l>>2]|0)+4>>2]|0)==1:0)c[m>>2]=Ni(c[p>>2]|0,c[l>>2]|0,c[o>>2]|0,0,0)|0;else c[m>>2]=dj(c[o>>2]|0,c[p>>2]|0)|0;hq(c[p>>2]|0);if(c[m>>2]|0){eo(c[o>>2]|0);c[o>>2]=0;c[g>>2]=c[m>>2];u=c[g>>2]|0;i=f;return u|0}}else{c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[q>>2]=Vf((Kv(c[k>>2]|0)|0)+2+1|0)|0;if(!(c[q>>2]|0)){c[g>>2]=iu()|0;u=c[g>>2]|0;i=f;return u|0}Wv(Xv(c[q>>2]|0,c[k>>2]|0)|0,35574)|0;c[m>>2]=Bi(r,c[j>>2]|0,c[q>>2]|0)|0;p=c[q>>2]|0;if(c[m>>2]|0){$f(p);c[g>>2]=c[m>>2];u=c[g>>2]|0;i=f;return u|0}Wv(Xv(p,c[k>>2]|0)|0,35577)|0;c[m>>2]=Bi(s,c[j>>2]|0,c[q>>2]|0)|0;if(c[m>>2]|0){hq(c[r>>2]|0);$f(c[q>>2]|0);c[g>>2]=c[m>>2];u=c[g>>2]|0;i=f;return u|0}Wv(Xv(c[q>>2]|0,c[k>>2]|0)|0,35580)|0;c[m>>2]=Bi(t,c[j>>2]|0,c[q>>2]|0)|0;if(c[m>>2]|0){hq(c[s>>2]|0);hq(c[r>>2]|0);$f(c[q>>2]|0);c[g>>2]=c[m>>2];u=c[g>>2]|0;i=f;return u|0}if(!(c[t>>2]|0))c[t>>2]=sq(0,1)|0;m=c[r>>2]|0;if((c[r>>2]|0)!=0&(c[s>>2]|0)!=0)c[o>>2]=ho(0,m,c[s>>2]|0,c[t>>2]|0)|0;else{hq(m);hq(c[s>>2]|0);hq(c[t>>2]|0);c[o>>2]=0}$f(c[q>>2]|0)}if(c[o>>2]|0)c[c[h>>2]>>2]=c[o>>2];c[g>>2]=0;u=c[g>>2]|0;i=f;return u|0}function Di(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,o=0,p=0,q=0,r=0;b=i;i=i+144|0;d=b+8|0;e=b;f=b+132|0;g=b+128|0;h=b+124|0;j=b+80|0;k=b+76|0;l=b+72|0;m=b+68|0;n=b+40|0;o=b+36|0;p=b+32|0;c[g>>2]=a;a=j;q=a+44|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(q|0));if(ui(0,c[g>>2]|0,j,h)|0){c[f>>2]=0;r=c[f>>2]|0;i=b;return r|0}c[l>>2]=vq(0)|0;c[m>>2]=vq(0)|0;c[k>>2]=jo(0,0,0,c[j+8>>2]|0,c[j+12>>2]|0,0)|0;if(Zn(c[l>>2]|0,c[m>>2]|0,j+20|0,c[k>>2]|0)|0)Bf(35587,e);no(c[k>>2]|0);fo(j+20|0);c[n>>2]=c[j+8>>2];c[n+4>>2]=c[j+12>>2];c[n+8>>2]=c[j+16>>2];c[n+12>>2]=bj(c[l>>2]|0,c[m>>2]|0,c[j+8>>2]|0)|0;c[n+16>>2]=c[j+32>>2];c[n+20>>2]=c[j+36>>2];c[n+24>>2]=0;hq(c[l>>2]|0);hq(c[m>>2]|0);m=c[n+4>>2]|0;l=c[n+8>>2]|0;j=c[n+12>>2]|0;k=c[n+16>>2]|0;e=c[n+20>>2]|0;c[d>>2]=c[n>>2];c[d+4>>2]=m;c[d+8>>2]=l;c[d+12>>2]=j;c[d+16>>2]=k;c[d+20>>2]=e;if(Ig(o,0,35636,d)|0)c[o>>2]=0;c[p>>2]=0;while(1){if(!(c[n+(c[p>>2]<<2)>>2]|0))break;xq(c[n+(c[p>>2]<<2)>>2]|0);c[p>>2]=(c[p>>2]|0)+1}c[f>>2]=c[o>>2];r=c[f>>2]|0;i=b;return r|0}function Ei(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;f=i;i=i+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;m=f;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(a[c[h>>2]>>0]|0)){c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}if((gv(c[h>>2]|0,48644)|0)==0?c[(c[j>>2]|0)+16>>2]|0:0){if(c[(c[j>>2]|0)+16>>2]|0?!(c[k>>2]|0?1:(c[(c[(c[j>>2]|0)+16>>2]|0)+12>>2]&32|0)==0):0)o=c[(c[j>>2]|0)+16>>2]|0;else o=mq(c[(c[j>>2]|0)+16>>2]|0)|0;c[g>>2]=o;n=c[g>>2]|0;i=f;return n|0}if((gv(c[h>>2]|0,39370)|0)==0?c[(c[j>>2]|0)+20>>2]|0:0){if(c[(c[j>>2]|0)+20>>2]|0?!(c[k>>2]|0?1:(c[(c[(c[j>>2]|0)+20>>2]|0)+12>>2]&32|0)==0):0)p=c[(c[j>>2]|0)+20>>2]|0;else p=mq(c[(c[j>>2]|0)+20>>2]|0)|0;c[g>>2]=p;n=c[g>>2]|0;i=f;return n|0}if((gv(c[h>>2]|0,35570)|0)==0?c[(c[j>>2]|0)+24>>2]|0:0){if(c[(c[j>>2]|0)+24>>2]|0?!(c[k>>2]|0?1:(c[(c[(c[j>>2]|0)+24>>2]|0)+12>>2]&32|0)==0):0)q=c[(c[j>>2]|0)+24>>2]|0;else q=mq(c[(c[j>>2]|0)+24>>2]|0)|0;c[g>>2]=q;n=c[g>>2]|0;i=f;return n|0}if((gv(c[h>>2]|0,39374)|0)==0?c[(c[j>>2]|0)+32>>2]|0:0){if(c[(c[j>>2]|0)+32>>2]|0?!(c[k>>2]|0?1:(c[(c[(c[j>>2]|0)+32>>2]|0)+12>>2]&32|0)==0):0)r=c[(c[j>>2]|0)+32>>2]|0;else r=mq(c[(c[j>>2]|0)+32>>2]|0)|0;c[g>>2]=r;n=c[g>>2]|0;i=f;return n|0}if((gv(c[h>>2]|0,35583)|0)==0?c[(c[j>>2]|0)+36>>2]|0:0){if(c[(c[j>>2]|0)+36>>2]|0?!(c[k>>2]|0?1:(c[(c[(c[j>>2]|0)+36>>2]|0)+12>>2]&32|0)==0):0)s=c[(c[j>>2]|0)+36>>2]|0;else s=mq(c[(c[j>>2]|0)+36>>2]|0)|0;c[g>>2]=s;n=c[g>>2]|0;i=f;return n|0}if((gv(c[h>>2]|0,35585)|0)==0?c[(c[j>>2]|0)+44>>2]|0:0){if(c[(c[j>>2]|0)+44>>2]|0?!(c[k>>2]|0?1:(c[(c[(c[j>>2]|0)+44>>2]|0)+12>>2]&32|0)==0):0)t=c[(c[j>>2]|0)+44>>2]|0;else t=mq(c[(c[j>>2]|0)+44>>2]|0)|0;c[g>>2]=t;n=c[g>>2]|0;i=f;return n|0}if(((gv(c[h>>2]|0,35684)|0)==0?c[(c[j>>2]|0)+28>>2]|0:0)?c[c[(c[j>>2]|0)+28>>2]>>2]|0:0){if(c[c[(c[j>>2]|0)+28>>2]>>2]|0?!(c[k>>2]|0?1:(c[(c[c[(c[j>>2]|0)+28>>2]>>2]|0)+12>>2]&32|0)==0):0)u=c[c[(c[j>>2]|0)+28>>2]>>2]|0;else u=mq(c[c[(c[j>>2]|0)+28>>2]>>2]|0)|0;c[g>>2]=u;n=c[g>>2]|0;i=f;return n|0}if(((gv(c[h>>2]|0,35688)|0)==0?c[(c[j>>2]|0)+28>>2]|0:0)?c[(c[(c[j>>2]|0)+28>>2]|0)+4>>2]|0:0){if(c[(c[(c[j>>2]|0)+28>>2]|0)+4>>2]|0?!(c[k>>2]|0?1:(c[(c[(c[(c[j>>2]|0)+28>>2]|0)+4>>2]|0)+12>>2]&32|0)==0):0)v=c[(c[(c[j>>2]|0)+28>>2]|0)+4>>2]|0;else v=mq(c[(c[(c[j>>2]|0)+28>>2]|0)+4>>2]|0)|0;c[g>>2]=v;n=c[g>>2]|0;i=f;return n|0}if(((gv(c[h>>2]|0,35692)|0)==0?c[(c[j>>2]|0)+40>>2]|0:0)?c[c[(c[j>>2]|0)+40>>2]>>2]|0:0){if(c[c[(c[j>>2]|0)+40>>2]>>2]|0?!(c[k>>2]|0?1:(c[(c[c[(c[j>>2]|0)+40>>2]>>2]|0)+12>>2]&32|0)==0):0)w=c[c[(c[j>>2]|0)+40>>2]>>2]|0;else w=mq(c[c[(c[j>>2]|0)+40>>2]>>2]|0)|0;c[g>>2]=w;n=c[g>>2]|0;i=f;return n|0}if(((gv(c[h>>2]|0,35696)|0)==0?c[(c[j>>2]|0)+40>>2]|0:0)?c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0:0){if(c[(c[(c[j>>2]|0)+28>>2]|0)+4>>2]|0?!(c[k>>2]|0?1:(c[(c[(c[(c[j>>2]|0)+28>>2]|0)+4>>2]|0)+12>>2]&32|0)==0):0)x=c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0;else x=mq(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)|0;c[g>>2]=x;n=c[g>>2]|0;i=f;return n|0}if((gv(c[h>>2]|0,35572)|0)==0?c[(c[j>>2]|0)+28>>2]|0:0){c[g>>2]=cj(c[(c[j>>2]|0)+28>>2]|0,c[j>>2]|0)|0;n=c[g>>2]|0;i=f;return n|0}do if((a[c[h>>2]>>0]|0)==113){if(a[(c[h>>2]|0)+1>>0]|0?(a[(c[h>>2]|0)+1>>0]|0)!=64:0)break;if(!(c[(c[j>>2]|0)+40>>2]|0)){x=ej(0,c[j>>2]|0,0,0)|0;c[(c[j>>2]|0)+40>>2]=x}if(!(c[(c[j>>2]|0)+40>>2]|0)){c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}if((a[(c[h>>2]|0)+1>>0]|0)!=64){c[g>>2]=cj(c[(c[j>>2]|0)+40>>2]|0,c[j>>2]|0)|0;n=c[g>>2]|0;i=f;return n|0}if((gv((c[h>>2]|0)+2|0,47127)|0)==0?(c[c[j>>2]>>2]|0)==2:0){if(Ii(c[(c[j>>2]|0)+40>>2]|0,c[j>>2]|0,0,0,0,l,m)|0)break;c[g>>2]=iq(0,c[l>>2]|0,c[m>>2]<<3)|0;n=c[g>>2]|0;i=f;return n|0}}while(0);c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}function Fi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;if((gv(c[f>>2]|0,35572)|0)==0?c[(c[g>>2]|0)+28>>2]|0:0){c[e>>2]=Gi(c[(c[g>>2]|0)+28>>2]|0)|0;h=c[e>>2]|0;i=d;return h|0}if(!(gv(c[f>>2]|0,49872)|0)){if(!(c[(c[g>>2]|0)+40>>2]|0)){f=ej(0,c[g>>2]|0,0,0)|0;c[(c[g>>2]|0)+40>>2]=f}if(c[(c[g>>2]|0)+40>>2]|0){c[e>>2]=Gi(c[(c[g>>2]|0)+40>>2]|0)|0;h=c[e>>2]|0;i=d;return h|0}}c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}function Gi(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;if(c[d>>2]|0){c[e>>2]=bo(0)|0;Hi(c[e>>2]|0,c[d>>2]|0);f=c[e>>2]|0;i=b;return f|0}else{c[e>>2]=0;f=c[e>>2]|0;i=b;return f|0}return 0}function Hi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;oq(c[c[e>>2]>>2]|0,c[c[f>>2]>>2]|0)|0;oq(c[(c[e>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;oq(c[(c[e>>2]|0)+8>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0;i=d;return}function Ii(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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;j=i;i=i+48|0;k=j+40|0;l=j+36|0;m=j+32|0;n=j+28|0;o=j+24|0;p=j+20|0;q=j+16|0;r=j+12|0;s=j+8|0;t=j+4|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;if(c[m>>2]|0)u=c[m>>2]|0;else u=vq(0)|0;c[s>>2]=u;if(c[n>>2]|0)v=c[n>>2]|0;else v=vq(0)|0;c[t>>2]=v;if(Zn(c[s>>2]|0,c[t>>2]|0,c[k>>2]|0,c[l>>2]|0)|0){Af(35700,j);c[r>>2]=63}else c[r>>2]=Ji(c[s>>2]|0,c[t>>2]|0,((c[(c[l>>2]|0)+12>>2]|0)>>>0)/8|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;if(!(c[m>>2]|0))hq(c[s>>2]|0);if(c[n>>2]|0){w=c[r>>2]|0;i=j;return w|0}hq(c[t>>2]|0);w=c[r>>2]|0;i=j;return w|0}function Ji(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;k=i;i=i+48|0;l=k+36|0;m=k+32|0;n=k+28|0;o=k+24|0;p=k+20|0;q=k+16|0;r=k+12|0;s=k+8|0;t=k+4|0;u=k;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[u>>2]=c[p>>2]|0?1:0;c[s>>2]=Bp(c[n>>2]|0,c[o>>2]|0,c[u>>2]|0?-1:0,t,0)|0;if(!(c[s>>2]|0)){c[l>>2]=iu()|0;v=c[l>>2]|0;i=k;return v|0}o=(So(c[m>>2]|0,0)|0)!=0;if(o&(c[t>>2]|0)!=0){o=(c[s>>2]|0)+((c[u>>2]|0)+(c[t>>2]|0)-1)|0;a[o>>0]=d[o>>0]|0|128}if(c[u>>2]|0)a[c[s>>2]>>0]=64;c[c[q>>2]>>2]=c[s>>2];c[c[r>>2]>>2]=(c[t>>2]|0)+(c[u>>2]|0);c[l>>2]=0;v=c[l>>2]|0;i=k;return v|0}function Ki(a,b){a=a|0;b=b|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+32|0;h=e+28|0;j=e+24|0;k=e+20|0;l=e+16|0;m=e+12|0;n=e+8|0;o=e+4|0;p=e;c[g>>2]=a;c[h>>2]=b;if(c[g>>2]|0?c[(c[g>>2]|0)+12>>2]&4|0:0){c[k>>2]=kq(c[g>>2]|0,l)|0;if(!(c[k>>2]|0)){c[f>>2]=65;q=c[f>>2]|0;i=e;return q|0}c[l>>2]=(((c[l>>2]|0)+7|0)>>>0)/8|0;do if((c[l>>2]|0)>>>0>1?((c[l>>2]|0)>>>0)%2|0|0:0){b=c[k>>2]|0;if((d[c[k>>2]>>0]|0|0)!=4){if((d[b>>0]|0|0)!=64)break;if(jq(c[g>>2]|0,(c[k>>2]|0)+1|0,(c[l>>2]|0)-1<<3)|0)break;c[f>>2]=iu()|0;q=c[f>>2]|0;i=e;return q|0}c[j>>2]=Dp(m,1,b+1|0,(((c[l>>2]|0)-1|0)>>>0)/2|0,0)|0;if(c[j>>2]|0){c[f>>2]=c[j>>2];q=c[f>>2]|0;i=e;return q|0}c[j>>2]=Dp(n,1,(c[k>>2]|0)+1+((((c[l>>2]|0)-1|0)>>>0)/2|0)|0,(((c[l>>2]|0)-1|0)>>>0)/2|0,0)|0;b=c[m>>2]|0;if(c[j>>2]|0){hq(b);c[f>>2]=c[j>>2];q=c[f>>2]|0;i=e;return q|0}c[j>>2]=Ji(b,c[n>>2]|0,((c[h>>2]|0)>>>0)/8|0,0,o,p)|0;hq(c[m>>2]|0);hq(c[n>>2]|0);if(!(c[j>>2]|0)){iq(c[g>>2]|0,c[o>>2]|0,c[p>>2]<<3)|0;break}c[f>>2]=c[j>>2];q=c[f>>2]|0;i=e;return q|0}while(0);c[f>>2]=0;q=c[f>>2]|0;i=e;return q|0}c[f>>2]=65;q=c[f>>2]|0;i=e;return q|0}function Li(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+48|0;g=f+36|0;h=f+32|0;j=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+8|0;p=f+4|0;q=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=0;if((c[(c[l>>2]|0)+4>>2]|0)!=1){c[g>>2]=69;r=c[g>>2]|0;i=f;return r|0}if(!(c[17696]|0))c[17696]=Mi(35753)|0;if(!(c[17697]|0))c[17697]=sq(0,7)|0;c[n>>2]=vq(0)|0;c[o>>2]=vq(0)|0;c[p>>2]=vq(0)|0;c[q>>2]=vq(0)|0;vp(c[n>>2]|0,c[j>>2]|0,c[j>>2]|0,c[(c[l>>2]|0)+16>>2]|0);vp(c[o>>2]|0,c[(c[l>>2]|0)+24>>2]|0,c[n>>2]|0,c[(c[l>>2]|0)+16>>2]|0);Mo(c[n>>2]|0,c[n>>2]|0,1);Ko(c[o>>2]|0,c[o>>2]|0,1);j=c[p>>2]|0;e=c[o>>2]|0;d=Aq(3)|0;wp(j,e,d,c[(c[l>>2]|0)+16>>2]|0);wp(c[q>>2]|0,c[o>>2]|0,c[17697]|0,c[(c[l>>2]|0)+16>>2]|0);vp(c[q>>2]|0,c[q>>2]|0,c[n>>2]|0,c[(c[l>>2]|0)+16>>2]|0);wp(c[q>>2]|0,c[q>>2]|0,c[17696]|0,c[(c[l>>2]|0)+16>>2]|0);vp(c[q>>2]|0,c[q>>2]|0,c[n>>2]|0,c[(c[l>>2]|0)+16>>2]|0);vp(c[h>>2]|0,c[q>>2]|0,c[p>>2]|0,c[(c[l>>2]|0)+16>>2]|0);vp(c[q>>2]|0,c[h>>2]|0,c[h>>2]|0,c[(c[l>>2]|0)+16>>2]|0);vp(c[q>>2]|0,c[q>>2]|0,c[o>>2]|0,c[(c[l>>2]|0)+16>>2]|0);nq(c[q>>2]|0,c[q>>2]|0);if(!(ap(c[q>>2]|0,c[n>>2]|0)|0)){if(!(c[17698]|0))c[17698]=Mi(35853)|0;vp(c[h>>2]|0,c[h>>2]|0,c[17698]|0,c[(c[l>>2]|0)+16>>2]|0);vp(c[q>>2]|0,c[h>>2]|0,c[h>>2]|0,c[(c[l>>2]|0)+16>>2]|0);vp(c[q>>2]|0,c[q>>2]|0,c[o>>2]|0,c[(c[l>>2]|0)+16>>2]|0);nq(c[q>>2]|0,c[q>>2]|0);if(!(ap(c[q>>2]|0,c[n>>2]|0)|0))c[m>>2]=65}d=So(c[h>>2]|0,0)|0;if((d|0)!=(((c[k>>2]|0)!=0^1^1)&1|0))No(c[h>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[h>>2]|0);hq(c[q>>2]|0);hq(c[p>>2]|0);hq(c[o>>2]|0);hq(c[n>>2]|0);c[g>>2]=c[m>>2];r=c[g>>2]|0;i=f;return r|0}function Mi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b;e=b+12|0;f=b+8|0;g=b+4|0;c[e>>2]=a;c[f>>2]=Dp(g,4,c[e>>2]|0,0,0)|0;if(c[f>>2]|0){c[d>>2]=fu(c[f>>2]|0)|0;Bf(35818,d)}else{i=b;return c[g>>2]|0}return 0}function Ni(b,e,f,g,h){b=b|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;j=i;i=i+64|0;k=j+48|0;l=j+44|0;m=j+40|0;n=j+36|0;o=j+32|0;p=j+28|0;q=j+24|0;r=j+20|0;s=j+16|0;t=j+12|0;u=j+8|0;v=j+4|0;w=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;do if(c[l>>2]|0?c[(c[l>>2]|0)+12>>2]&4|0:0){c[u>>2]=kq(c[l>>2]|0,s)|0;if(!(c[u>>2]|0)){c[k>>2]=65;x=c[k>>2]|0;i=j;return x|0}c[s>>2]=(((c[s>>2]|0)+7|0)>>>0)/8|0;do if((c[s>>2]|0)>>>0>1?((c[s>>2]|0)>>>0)%2|0|0:0){h=c[u>>2]|0;if((d[c[u>>2]>>0]|0|0)!=4){if((d[h>>0]|0|0)!=64)break;c[s>>2]=(c[s>>2]|0)+-1;c[u>>2]=(c[u>>2]|0)+1;break}c[q>>2]=Dp(v,1,h+1|0,(((c[s>>2]|0)-1|0)>>>0)/2|0,0)|0;if(c[q>>2]|0){c[k>>2]=c[q>>2];x=c[k>>2]|0;i=j;return x|0}c[q>>2]=Dp(w,1,(c[u>>2]|0)+1+((((c[s>>2]|0)-1|0)>>>0)/2|0)|0,(((c[s>>2]|0)-1|0)>>>0)/2|0,0)|0;if(c[q>>2]|0){hq(c[v>>2]|0);c[k>>2]=c[q>>2];x=c[k>>2]|0;i=j;return x|0}if(c[o>>2]|0?(c[q>>2]=Ji(c[v>>2]|0,c[w>>2]|0,((c[(c[m>>2]|0)+12>>2]|0)>>>0)/8|0,0,c[o>>2]|0,c[p>>2]|0)|0,c[q>>2]|0):0){hq(c[v>>2]|0);hq(c[w>>2]|0);c[k>>2]=c[q>>2];x=c[k>>2]|0;i=j;return x|0}qq(c[c[n>>2]>>2]|0,c[v>>2]|0);qq(c[(c[n>>2]|0)+4>>2]|0,c[w>>2]|0);sq(c[(c[n>>2]|0)+8>>2]|0,1)|0;c[k>>2]=0;x=c[k>>2]|0;i=j;return x|0}while(0);c[r>>2]=Vf(c[s>>2]|0?c[s>>2]|0:1)|0;if(c[r>>2]|0){Dx(c[r>>2]|0,c[u>>2]|0,c[s>>2]|0)|0;Oi(c[r>>2]|0,c[s>>2]|0);break}c[k>>2]=iu()|0;x=c[k>>2]|0;i=j;return x|0}else y=21;while(0);if((y|0)==21?(c[r>>2]=zp(c[l>>2]|0,((c[(c[m>>2]|0)+12>>2]|0)>>>0)/8|0,s,0)|0,(c[r>>2]|0)==0):0){c[k>>2]=iu()|0;x=c[k>>2]|0;i=j;return x|0}if(c[s>>2]|0){c[t>>2]=(((d[c[r>>2]>>0]|0)&128|0)!=0^1^1)&1;l=c[r>>2]|0;a[l>>0]=(d[l>>0]|0)&127}else c[t>>2]=0;Cp(c[(c[n>>2]|0)+4>>2]|0,c[r>>2]|0,c[s>>2]|0,0);if(c[o>>2]|0){if((c[t>>2]|0)!=0&(c[s>>2]|0)!=0){l=c[r>>2]|0;a[l>>0]=d[l>>0]|0|128}Oi(c[r>>2]|0,c[s>>2]|0);c[c[o>>2]>>2]=c[r>>2];if(c[p>>2]|0)c[c[p>>2]>>2]=c[s>>2]}else $f(c[r>>2]|0);c[q>>2]=Li(c[c[n>>2]>>2]|0,c[(c[n>>2]|0)+4>>2]|0,c[t>>2]|0,c[m>>2]|0)|0;sq(c[(c[n>>2]|0)+8>>2]|0,1)|0;c[k>>2]=c[q>>2];x=c[k>>2]|0;i=j;return x|0}function Oi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;while(1){if((c[k>>2]|0)>>>0>=(((c[h>>2]|0)>>>0)/2|0)>>>0)break;c[j>>2]=d[(c[g>>2]|0)+(c[k>>2]|0)>>0];a[(c[g>>2]|0)+(c[k>>2]|0)>>0]=a[(c[g>>2]|0)+((c[h>>2]|0)-1-(c[k>>2]|0))>>0]|0;a[(c[g>>2]|0)+((c[h>>2]|0)-1-(c[k>>2]|0))>>0]=c[j>>2];c[k>>2]=(c[k>>2]|0)+1}i=f;return}function Pi(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;g=i;i=i+80|0;h=g+68|0;j=g+64|0;k=g+60|0;l=g+56|0;m=g+52|0;n=g+48|0;o=g+44|0;p=g+40|0;q=g+8|0;r=g+4|0;s=g;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[n>>2]=0;c[c[j>>2]>>2]=0;c[r>>2]=10;if((c[r>>2]|0)!=10){c[h>>2]=5;t=c[h>>2]|0;i=g;return t|0}c[s>>2]=(((c[(c[l>>2]|0)+12>>2]|0)+7|0)>>>0)/8|0;if((c[s>>2]|0)!=32){c[h>>2]=63;t=c[h>>2]|0;i=g;return t|0}c[p>>2]=bg(2,c[s>>2]|0)|0;if(!(c[p>>2]|0)){c[h>>2]=iu()|0;t=c[h>>2]|0;i=g;return t|0};c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;c[n>>2]=zp(c[k>>2]|0,0,o,0)|0;k=c[p>>2]|0;if(!(c[n>>2]|0)){$f(k);c[h>>2]=iu()|0;t=c[h>>2]|0;i=g;return t|0}c[q+12>>2]=k;c[q+4>>2]=0;if((c[s>>2]|0)>>>0>(c[o>>2]|0)>>>0)u=(c[s>>2]|0)-(c[o>>2]|0)|0;else u=0;c[q+8>>2]=u;c[q+16+12>>2]=c[n>>2];c[q+16+4>>2]=0;c[q+16+8>>2]=c[o>>2];c[m>>2]=Sj(c[r>>2]|0,0,c[p>>2]|0,q,2)|0;$f(c[n>>2]|0);n=c[p>>2]|0;if(c[m>>2]|0){$f(n);c[h>>2]=c[m>>2];t=c[h>>2]|0;i=g;return t|0}else{Oi(n,32);a[c[p>>2]>>0]=(d[c[p>>2]>>0]|0)&127|64;n=(c[p>>2]|0)+31|0;a[n>>0]=(d[n>>0]|0)&248;c[c[j>>2]>>2]=c[p>>2];c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}return 0}function Qi(b,e,f,g){b=b|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;h=i;i=i+96|0;j=h+80|0;k=h+76|0;l=h+72|0;m=h+68|0;n=h+64|0;o=h+60|0;p=h+56|0;q=h+52|0;r=h+48|0;s=h+36|0;t=h+32|0;u=h+28|0;v=h+24|0;w=h+8|0;x=h;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=32;c[x>>2]=0;co(s);c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;if(c[m>>2]&32|0)c[t>>2]=1;else c[t>>2]=2;c[p>>2]=wq(0)|0;c[q>>2]=vq(0)|0;c[r>>2]=vq(0)|0;c[x>>2]=Yf(c[o>>2]<<1)|0;if(!(c[x>>2]|0)){c[n>>2]=Ri()|0;fo(s);y=c[p>>2]|0;xq(y);z=c[q>>2]|0;xq(z);A=c[r>>2]|0;xq(A);B=c[x>>2]|0;$f(B);C=c[n>>2]|0;i=h;return C|0}c[v>>2]=c[o>>2];c[u>>2]=On(c[v>>2]|0,c[t>>2]|0)|0;c[w+12>>2]=c[u>>2];c[w+8>>2]=c[v>>2];c[n>>2]=Sj(10,0,c[x>>2]|0,w,1)|0;if(c[n>>2]|0){fo(s);y=c[p>>2]|0;xq(y);z=c[q>>2]|0;xq(z);A=c[r>>2]|0;xq(A);B=c[x>>2]|0;$f(B);C=c[n>>2]|0;i=h;return C|0}w=iq(0,c[u>>2]|0,c[v>>2]<<3)|0;c[(c[j>>2]|0)+56>>2]=w;c[u>>2]=0;Oi(c[x>>2]|0,32);a[c[x>>2]>>0]=(d[c[x>>2]>>0]|0)&127|64;u=(c[x>>2]|0)+31|0;a[u>>0]=(d[u>>0]|0)&248;Cp(c[p>>2]|0,c[x>>2]|0,32,0);$f(c[x>>2]|0);c[x>>2]=0;Go(s,c[p>>2]|0,(c[k>>2]|0)+20|0,c[l>>2]|0);if(jg(1)|0)Yn(35918,s,c[l>>2]|0);c[c[j>>2]>>2]=c[c[k>>2]>>2];c[(c[j>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];l=mq(c[(c[k>>2]|0)+8>>2]|0)|0;c[(c[j>>2]|0)+8>>2]=l;l=mq(c[(c[k>>2]|0)+12>>2]|0)|0;c[(c[j>>2]|0)+12>>2]=l;l=mq(c[(c[k>>2]|0)+16>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=l;co((c[j>>2]|0)+20|0);Ui((c[j>>2]|0)+20|0,(c[k>>2]|0)+20|0);l=mq(c[(c[k>>2]|0)+32>>2]|0)|0;c[(c[j>>2]|0)+32>>2]=l;l=mq(c[(c[k>>2]|0)+36>>2]|0)|0;c[(c[j>>2]|0)+36>>2]=l;co((c[j>>2]|0)+44|0);Ui((c[j>>2]|0)+44|0,s);fo(s);y=c[p>>2]|0;xq(y);z=c[q>>2]|0;xq(z);A=c[r>>2]|0;xq(A);B=c[x>>2]|0;$f(B);C=c[n>>2]|0;i=h;return C|0}function Ri(){return Si(iu()|0)|0}function Si(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ti(1,c[d>>2]|0)|0;i=b;return a|0}function Ti(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+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function Ui(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;oq(c[c[e>>2]>>2]|0,c[c[f>>2]>>2]|0)|0;oq(c[(c[e>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;oq(c[(c[e>>2]|0)+8>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0;i=d;return}function Vi(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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;h=i;i=i+160|0;j=h+156|0;k=h+152|0;l=h+148|0;m=h+144|0;n=h+140|0;o=h+136|0;p=h+132|0;q=h+128|0;r=h+124|0;s=h+120|0;t=h+116|0;u=h+112|0;v=h+64|0;w=h+60|0;x=h+56|0;y=h+52|0;z=h+48|0;A=h+44|0;B=h+40|0;C=h+28|0;D=h+16|0;E=h+12|0;F=h+8|0;G=h+4|0;H=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[r>>2]=0;c[y>>2]=0;c[A>>2]=0;g=v;f=g+48|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));if(c[k>>2]|0?c[(c[k>>2]|0)+12>>2]&4|0:0){co(C);co(D);c[E>>2]=wq(0)|0;c[F>>2]=vq(0)|0;c[G>>2]=vq(0)|0;c[H>>2]=vq(0)|0;c[r>>2]=jo(c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+4>>2]|0,0,c[(c[l>>2]|0)+8>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[(c[l>>2]|0)+16>>2]|0)|0;c[s>>2]=(((c[(c[r>>2]|0)+12>>2]|0)+7|0)>>>0)/8|0;if((c[s>>2]|0)!=32){c[j>>2]=63;I=c[j>>2]|0;i=h;return I|0}c[q>>2]=Pi(u,c[(c[l>>2]|0)+56>>2]|0,c[r>>2]|0)|0;do if(!(c[q>>2]|0)){Cp(c[E>>2]|0,c[u>>2]|0,32,0);if(c[p>>2]|0){c[q>>2]=Ni(c[p>>2]|0,c[r>>2]|0,D,A,B)|0;if(c[q>>2]|0)break;if(jg(1)|0)Ff(35932,c[A>>2]|0,c[B>>2]|0);if(!(Io(D,c[r>>2]|0)|0)){c[q>>2]=195;break}}else{Go(D,c[E>>2]|0,(c[l>>2]|0)+20|0,c[r>>2]|0);c[q>>2]=Ii(D,c[r>>2]|0,c[F>>2]|0,c[G>>2]|0,0,A,B)|0;if(c[q>>2]|0)break;if(jg(1)|0)Ff(35939,c[A>>2]|0,c[B>>2]|0)}c[w>>2]=kq(c[k>>2]|0,t)|0;c[x>>2]=(((c[t>>2]|0)+7|0)>>>0)/8|0;if(jg(1)|0)Ff(35946,c[w>>2]|0,c[x>>2]|0);c[v+12>>2]=c[u>>2];c[v+4>>2]=32;c[v+8>>2]=32;c[v+16+12>>2]=c[w>>2];c[v+16+8>>2]=c[x>>2];c[q>>2]=Sj(c[o>>2]|0,0,c[u>>2]|0,v,2)|0;if(!(c[q>>2]|0)){Oi(c[u>>2]|0,64);if(jg(1)|0)Ff(53367,c[u>>2]|0,64);Cp(c[H>>2]|0,c[u>>2]|0,64,0);Go(C,c[H>>2]|0,(c[l>>2]|0)+20|0,c[r>>2]|0);if(jg(1)|0)Yn(35953,C,c[r>>2]|0);c[q>>2]=Ii(C,c[r>>2]|0,c[F>>2]|0,c[G>>2]|0,0,y,z)|0;if(!(c[q>>2]|0)){if(jg(1)|0)Ff(35958,c[y>>2]|0,c[z>>2]|0);c[v+12>>2]=c[y>>2];c[v+4>>2]=0;c[v+8>>2]=c[z>>2];c[v+16+12>>2]=c[A>>2];c[v+16+4>>2]=0;c[v+16+8>>2]=c[B>>2];c[v+32+12>>2]=c[w>>2];c[v+32+4>>2]=0;c[v+32+8>>2]=c[x>>2];c[q>>2]=Sj(c[o>>2]|0,0,c[u>>2]|0,v,3)|0;if(!(c[q>>2]|0)){iq(c[m>>2]|0,c[y>>2]|0,c[z>>2]<<3)|0;c[y>>2]=0;Oi(c[u>>2]|0,64);if(jg(1)|0)Ff(35965,c[u>>2]|0,64);Cp(c[n>>2]|0,c[u>>2]|0,64,0);vp(c[n>>2]|0,c[n>>2]|0,c[E>>2]|0,c[(c[l>>2]|0)+32>>2]|0);Oo(c[n>>2]|0,c[n>>2]|0,c[H>>2]|0,c[(c[l>>2]|0)+32>>2]|0);c[q>>2]=Wi(c[n>>2]|0,c[s>>2]|0,y,z)|0;if(!(c[q>>2]|0)){if(jg(1)|0)Ff(35972,c[y>>2]|0,c[z>>2]|0);iq(c[n>>2]|0,c[y>>2]|0,c[z>>2]<<3)|0;c[y>>2]=0;c[q>>2]=0}}}}}while(0);xq(c[E>>2]|0);xq(c[F>>2]|0);xq(c[G>>2]|0);xq(c[H>>2]|0);$f(c[u>>2]|0);no(c[r>>2]|0);fo(C);fo(D);$f(c[A>>2]|0);$f(c[y>>2]|0);c[j>>2]=c[q>>2];I=c[j>>2]|0;i=h;return I|0}c[j>>2]=79;I=c[j>>2]|0;i=h;return I|0}function Wi(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+32|0;g=f+24|0;h=f+20|0;j=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;n=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=zp(c[h>>2]|0,c[j>>2]|0,n,0)|0;if(c[m>>2]|0){c[c[k>>2]>>2]=c[m>>2];c[c[l>>2]>>2]=c[n>>2];c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}else{c[g>>2]=iu()|0;o=c[g>>2]|0;i=f;return o|0}return 0}function Xi(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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;h=i;i=i+240|0;j=h+172|0;k=h+168|0;l=h+164|0;m=h+160|0;n=h+156|0;o=h+152|0;p=h+148|0;q=h+144|0;r=h+140|0;s=h+136|0;t=h+132|0;u=h+120|0;v=h+116|0;w=h+112|0;x=h+108|0;y=h+104|0;z=h+100|0;A=h+96|0;B=h+92|0;C=h+88|0;D=h+176|0;E=h+40|0;F=h+36|0;G=h+32|0;H=h+20|0;I=h+8|0;J=h+4|0;K=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[r>>2]=0;c[v>>2]=0;c[z>>2]=0;if(((c[k>>2]|0?(c[m>>2]|0?(c[(c[k>>2]|0)+12>>2]&4|0)!=0:0):0)?(c[n>>2]|0?(c[(c[m>>2]|0)+12>>2]&4|0)!=0:0):0)?c[(c[n>>2]|0)+12>>2]&4|0:0){if((c[o>>2]|0)!=10){c[j>>2]=5;L=c[j>>2]|0;i=h;return L|0}co(u);co(H);co(I);c[F>>2]=vq(0)|0;c[G>>2]=vq(0)|0;c[r>>2]=jo(c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+4>>2]|0,0,c[(c[l>>2]|0)+8>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[(c[l>>2]|0)+16>>2]|0)|0;c[s>>2]=((c[(c[r>>2]|0)+12>>2]|0)>>>0)/8|0;if((c[s>>2]|0)!=32){c[j>>2]=63;L=c[j>>2]|0;i=h;return L|0}c[q>>2]=Ni(c[p>>2]|0,c[r>>2]|0,u,v,w)|0;a:do if(!(c[q>>2]|0)){if(!(Io(u,c[r>>2]|0)|0)){c[q>>2]=195;break}if(jg(1)|0)Ff(35939,c[v>>2]|0,c[w>>2]|0);if((c[w>>2]|0)!=(c[s>>2]|0)){c[q>>2]=139;break}c[x>>2]=kq(c[k>>2]|0,t)|0;c[A>>2]=(((c[t>>2]|0)+7|0)>>>0)/8|0;if(jg(1)|0)Ff(35946,c[x>>2]|0,c[A>>2]|0);c[y>>2]=kq(c[m>>2]|0,t)|0;c[B>>2]=(((c[t>>2]|0)+7|0)>>>0)/8|0;if(jg(1)|0)Ff(53367,c[y>>2]|0,c[B>>2]|0);if((c[B>>2]|0)!=(c[s>>2]|0)){c[q>>2]=139;break}c[E+12>>2]=c[y>>2];c[E+4>>2]=0;c[E+8>>2]=c[B>>2];c[E+16+12>>2]=c[v>>2];c[E+16+4>>2]=0;c[E+16+8>>2]=c[w>>2];c[E+32+12>>2]=c[x>>2];c[E+32+4>>2]=0;c[E+32+8>>2]=c[A>>2];c[q>>2]=Sj(c[o>>2]|0,0,D,E,3)|0;if(!(c[q>>2]|0)){Oi(D,64);if(jg(1)|0)Ff(35965,D,64);Cp(c[F>>2]|0,D,64,0);c[J>>2]=lq(c[n>>2]|0,t)|0;c[K>>2]=(((c[t>>2]|0)+7|0)>>>0)/8|0;Oi(c[J>>2]|0,c[K>>2]|0);if(jg(1)|0)Ff(53374,c[J>>2]|0,c[K>>2]|0);Cp(c[G>>2]|0,c[J>>2]|0,c[K>>2]|0,0);$f(c[J>>2]|0);if((c[K>>2]|0)!=(c[s>>2]|0)){c[q>>2]=139;break}Go(H,c[G>>2]|0,(c[l>>2]|0)+20|0,c[r>>2]|0);Go(I,c[F>>2]|0,u,c[r>>2]|0);nq(c[I>>2]|0,c[I>>2]|0);Ao(H,H,I,c[r>>2]|0);c[q>>2]=Ii(H,c[r>>2]|0,c[G>>2]|0,c[F>>2]|0,0,z,C)|0;if(!(c[q>>2]|0)){do if((c[C>>2]|0)==(c[B>>2]|0)){if(mw(c[z>>2]|0,c[y>>2]|0,c[C>>2]|0)|0)break;c[q>>2]=0;break a}while(0);c[q>>2]=8}}}while(0);$f(c[v>>2]|0);$f(c[z>>2]|0);no(c[r>>2]|0);xq(c[G>>2]|0);xq(c[F>>2]|0);fo(H);fo(I);fo(u);c[j>>2]=c[q>>2];L=c[j>>2]|0;i=h;return L|0}c[j>>2]=79;L=c[j>>2]|0;i=h;return L|0}function Yi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;hq(c[(c[d>>2]|0)+8>>2]|0);c[(c[d>>2]|0)+8>>2]=0;hq(c[(c[d>>2]|0)+12>>2]|0);c[(c[d>>2]|0)+12>>2]=0;hq(c[(c[d>>2]|0)+16>>2]|0);c[(c[d>>2]|0)+16>>2]=0;fo((c[d>>2]|0)+20|0);hq(c[(c[d>>2]|0)+32>>2]|0);c[(c[d>>2]|0)+32>>2]=0;hq(c[(c[d>>2]|0)+36>>2]|0);c[(c[d>>2]|0)+36>>2]=0;i=b;return}function Zi(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+48|0;e=d;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+40>>2]=c[b+40>>2];c[e+8>>2]=mq(c[b+8>>2]|0)|0;c[e+12>>2]=mq(c[b+12>>2]|0)|0;c[e+16>>2]=mq(c[b+16>>2]|0)|0;co(e+20|0);_i(e+20|0,b+20|0);c[e+32>>2]=mq(c[b+32>>2]|0)|0;c[e+36>>2]=mq(c[b+36>>2]|0)|0;b=a;a=e;e=b+44|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(e|0));i=d;return}function _i(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;oq(c[c[e>>2]>>2]|0,c[c[f>>2]>>2]|0)|0;oq(c[(c[e>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;oq(c[(c[e>>2]|0)+8>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0;i=d;return}function $i(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=37933;switch(c[d>>2]|0){case 0:{c[e>>2]=35979;break}case 1:{c[e>>2]=45707;break}case 2:{c[e>>2]=35991;break}default:{}}i=b;return c[e>>2]|0}function aj(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=37933;switch(c[d>>2]|0){case 0:{c[e>>2]=35999;break}case 1:{c[e>>2]=36008;break}default:{}}i=b;return c[e>>2]|0}function bj(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;f=i;i=i+64|0;g=f+16|0;h=f+8|0;j=f;k=f+52|0;l=f+48|0;m=f+44|0;n=f+40|0;o=f+36|0;p=f+32|0;q=f+28|0;r=f+24|0;s=f+20|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[o>>2]=(((Ro(c[m>>2]|0)|0)+7|0)>>>0)/8|0;c[q>>2]=dg(1+(c[o>>2]<<1)|0)|0;a[c[q>>2]>>0]=4;c[r>>2]=(c[q>>2]|0)+1;c[n>>2]=Hp(5,c[r>>2]|0,c[o>>2]|0,p,c[k>>2]|0)|0;if(c[n>>2]|0){c[j>>2]=fu(c[n>>2]|0)|0;Bf(36016,j)}if((c[p>>2]|0)>>>0<(c[o>>2]|0)>>>0){Ex((c[r>>2]|0)+((c[o>>2]|0)-(c[p>>2]|0))|0,c[r>>2]|0,c[p>>2]|0)|0;Fx(c[r>>2]|0,0,(c[o>>2]|0)-(c[p>>2]|0)|0)|0}c[r>>2]=(c[r>>2]|0)+(c[o>>2]|0);c[n>>2]=Hp(5,c[r>>2]|0,c[o>>2]|0,p,c[l>>2]|0)|0;if(c[n>>2]|0){c[h>>2]=fu(c[n>>2]|0)|0;Bf(36016,h)}if((c[p>>2]|0)>>>0<(c[o>>2]|0)>>>0){Ex((c[r>>2]|0)+((c[o>>2]|0)-(c[p>>2]|0))|0,c[r>>2]|0,c[p>>2]|0)|0;Fx(c[r>>2]|0,0,(c[o>>2]|0)-(c[p>>2]|0)|0)|0}c[n>>2]=Dp(s,5,c[q>>2]|0,1+(c[o>>2]<<1)|0,0)|0;if(c[n>>2]|0){c[g>>2]=fu(c[n>>2]|0)|0;Bf(36038,g)}else{$f(c[q>>2]|0);i=f;return c[s>>2]|0}return 0}function cj(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=vq(0)|0;c[h>>2]=vq(0)|0;if(Zn(c[g>>2]|0,c[h>>2]|0,c[e>>2]|0,c[f>>2]|0)|0)c[j>>2]=0;else c[j>>2]=bj(c[g>>2]|0,c[h>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0;hq(c[g>>2]|0);hq(c[h>>2]|0);i=d;return c[j>>2]|0}function dj(a,b){a=a|0;b=b|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;e=i;i=i+48|0;f=e+36|0;g=e+32|0;h=e+28|0;j=e+24|0;k=e+20|0;l=e+16|0;m=e+12|0;n=e+8|0;o=e+4|0;p=e;c[g>>2]=a;c[h>>2]=b;do if(c[h>>2]|0?c[(c[h>>2]|0)+12>>2]&4|0:0){c[l>>2]=kq(c[h>>2]|0,p)|0;if(c[l>>2]|0){c[k>>2]=(((c[p>>2]|0)+7|0)>>>0)/8|0;c[m>>2]=0;break}c[f>>2]=65;q=c[f>>2]|0;i=e;return q|0}else r=6;while(0);do if((r|0)==6){c[k>>2]=(((Ro(c[h>>2]|0)|0)+7|0)>>>0)/8|0;c[m>>2]=dg(c[k>>2]|0)|0;c[j>>2]=Hp(5,c[m>>2]|0,c[k>>2]|0,k,c[h>>2]|0)|0;p=c[m>>2]|0;if(!(c[j>>2]|0)){c[l>>2]=p;break}$f(p);c[f>>2]=c[j>>2];q=c[f>>2]|0;i=e;return q|0}while(0);if((c[k>>2]|0)>>>0<1){$f(c[m>>2]|0);c[f>>2]=65;q=c[f>>2]|0;i=e;return q|0}if((d[c[l>>2]>>0]|0|0)!=4){$f(c[m>>2]|0);c[f>>2]=69;q=c[f>>2]|0;i=e;return q|0}if((((c[k>>2]|0)-1|0)>>>0)%2|0|0){$f(c[m>>2]|0);c[f>>2]=65;q=c[f>>2]|0;i=e;return q|0}c[k>>2]=(((c[k>>2]|0)-1|0)>>>0)/2|0;c[j>>2]=Dp(n,5,(c[l>>2]|0)+1|0,c[k>>2]|0,0)|0;if(c[j>>2]|0){$f(c[m>>2]|0);c[f>>2]=c[j>>2];q=c[f>>2]|0;i=e;return q|0}c[j>>2]=Dp(o,5,(c[l>>2]|0)+1+(c[k>>2]|0)|0,c[k>>2]|0,0)|0;$f(c[m>>2]|0);if(c[j>>2]|0){hq(c[n>>2]|0);c[f>>2]=c[j>>2];q=c[f>>2]|0;i=e;return q|0}else{oq(c[c[g>>2]>>2]|0,c[n>>2]|0)|0;oq(c[(c[g>>2]|0)+4>>2]|0,c[o>>2]|0)|0;sq(c[(c[g>>2]|0)+8>>2]|0,1)|0;hq(c[n>>2]|0);hq(c[o>>2]|0);c[f>>2]=0;q=c[f>>2]|0;i=e;return q|0}return 0}function ej(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+32|0;g=f+24|0;h=f+20|0;j=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;n=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if(!(c[k>>2]|0))c[k>>2]=c[(c[j>>2]|0)+28>>2];if(!(c[l>>2]|0))c[l>>2]=c[(c[j>>2]|0)+44>>2];if(((c[l>>2]|0)!=0&(c[k>>2]|0)!=0?c[(c[j>>2]|0)+16>>2]|0:0)?c[(c[j>>2]|0)+20>>2]|0:0){if((c[c[j>>2]>>2]|0)==2?(c[(c[j>>2]|0)+24>>2]|0)==0:0){c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}if((c[(c[j>>2]|0)+4>>2]|0)==1?c[(c[j>>2]|0)+8>>2]&4096|0:0){if(Pi(n,c[l>>2]|0,c[j>>2]|0)|0){c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}c[m>>2]=wq(0)|0;Cp(c[m>>2]|0,c[n>>2]|0,32,0);$f(c[n>>2]|0);if(!(c[h>>2]|0))c[h>>2]=bo(0)|0;if(c[h>>2]|0)Go(c[h>>2]|0,c[m>>2]|0,c[k>>2]|0,c[j>>2]|0);hq(c[m>>2]|0)}else{if(!(c[h>>2]|0))c[h>>2]=bo(0)|0;if(c[h>>2]|0)Go(c[h>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)}c[g>>2]=c[h>>2];o=c[g>>2]|0;i=f;return o|0}c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}function fj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=0;if(Vj(c[f>>2]|0,8,0,0)|0){c[j>>2]=5;if(c[h>>2]|0)Fb[c[h>>2]&1](36319,c[f>>2]|0,38026,37063)}else c[j>>2]=gj(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;h=nj(c[j>>2]|0)|0;i=e;return h|0}function gj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;switch(c[f>>2]|0){case 2:{c[j>>2]=hj(c[g>>2]|0,c[h>>2]|0)|0;break}case 11:{c[j>>2]=jj(c[g>>2]|0,c[h>>2]|0)|0;break}case 8:{c[j>>2]=kj(c[g>>2]|0,c[h>>2]|0)|0;break}case 9:{c[j>>2]=lj(c[g>>2]|0,c[h>>2]|0)|0;break}case 10:{c[j>>2]=mj(c[g>>2]|0,c[h>>2]|0)|0;break}default:c[j>>2]=5}i=e;return c[j>>2]|0}function hj(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;e=i;i=i+160|0;f=e+24|0;g=e+20|0;h=e+16|0;j=e+12|0;k=e+8|0;l=e+32|0;m=e+4|0;n=e;c[g>>2]=b;c[h>>2]=d;c[j>>2]=36059;c[m>>2]=0;while(1){if((c[m>>2]|0)>=64)break;a[l+(c[m>>2]|0)>>0]=c[m>>2];c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=ij(2,36074,9,l,64,36084,20)|0;do if(!(c[k>>2]|0)){if(c[g>>2]|0){c[j>>2]=36181;c[m>>2]=0;c[n>>2]=48;while(1){if((c[m>>2]|0)>=20)break;d=c[n>>2]|0;c[n>>2]=d+1;a[l+(c[m>>2]|0)>>0]=d;c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=ij(2,36196,9,l,20,36206,20)|0;if(c[k>>2]|0)break;c[j>>2]=36227;c[m>>2]=0;c[n>>2]=80;while(1){if((c[m>>2]|0)>=100)break;d=c[n>>2]|0;c[n>>2]=d+1;a[l+(c[m>>2]|0)>>0]=d;c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=ij(2,36242,9,l,100,36252,20)|0;if(c[k>>2]|0)break;c[j>>2]=36273;c[m>>2]=0;c[n>>2]=112;while(1){if((c[m>>2]|0)>=49)break;d=c[n>>2]|0;c[n>>2]=d+1;a[l+(c[m>>2]|0)>>0]=d;c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=ij(2,36288,9,l,49,36298,20)|0;if(c[k>>2]|0)break}c[f>>2]=0;o=c[f>>2]|0;i=e;return o|0}while(0);if(c[h>>2]|0)Fb[c[h>>2]&1](36319,2,c[j>>2]|0,c[k>>2]|0);c[f>>2]=50;o=c[f>>2]|0;i=e;return o|0}function ij(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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=i;i=i+48|0;k=j+36|0;l=j+32|0;m=j+28|0;n=j+24|0;o=j+20|0;p=j+16|0;q=j+12|0;r=j+8|0;s=j+4|0;t=j;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;h=Uj(c[l>>2]|0)|0;if((h|0)!=(c[r>>2]|0)){c[k>>2]=36105;u=c[k>>2]|0;i=j;return u|0}if(wj(s,c[l>>2]|0,2)|0){c[k>>2]=49933;u=c[k>>2]|0;i=j;return u|0}h=(Lj(c[s>>2]|0,c[o>>2]|0,c[p>>2]|0)|0)!=0;p=c[s>>2]|0;if(h){Ej(p);c[k>>2]=36124;u=c[k>>2]|0;i=j;return u|0}Fj(p,c[m>>2]|0,c[n>>2]|0);c[t>>2]=Rj(c[s>>2]|0,c[l>>2]|0)|0;if(!(c[t>>2]|0)){Ej(c[s>>2]|0);c[k>>2]=36146;u=c[k>>2]|0;i=j;return u|0}l=(mw(c[t>>2]|0,c[q>>2]|0,c[r>>2]|0)|0)!=0;Ej(c[s>>2]|0);if(l){c[k>>2]=36166;u=c[k>>2]|0;i=j;return u|0}else{c[k>>2]=0;u=c[k>>2]|0;i=j;return u|0}return 0}function jj(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+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[k>>2]=0;while(1){if(!(c[2768+((c[k>>2]|0)*40|0)>>2]|0)){l=6;break}c[h>>2]=c[2768+((c[k>>2]|0)*40|0)>>2];b=c[2768+((c[k>>2]|0)*40|0)+4>>2]|0;a=Kv(c[2768+((c[k>>2]|0)*40|0)+4>>2]|0)|0;m=c[2768+((c[k>>2]|0)*40|0)+8>>2]|0;n=Kv(c[2768+((c[k>>2]|0)*40|0)+8>>2]|0)|0;c[j>>2]=ij(11,b,a,m,n,2768+((c[k>>2]|0)*40|0)+12|0,28)|0;if(c[j>>2]|0)break;if(!(c[f>>2]|0)){l=6;break}c[k>>2]=(c[k>>2]|0)+1}if((l|0)==6){c[e>>2]=0;o=c[e>>2]|0;i=d;return o|0}if(c[g>>2]|0)Fb[c[g>>2]&1](36319,11,c[h>>2]|0,c[j>>2]|0);c[e>>2]=50;o=c[e>>2]|0;i=d;return o|0}function kj(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+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=d;c[f>>2]=a;c[g>>2]=b;c[k>>2]=0;while(1){if(!(c[3048+((c[k>>2]|0)*44|0)>>2]|0)){o=13;break}c[h>>2]=c[3048+((c[k>>2]|0)*44|0)>>2];b=c[3048+((c[k>>2]|0)*44|0)+4>>2]|0;a=Kv(c[3048+((c[k>>2]|0)*44|0)+4>>2]|0)|0;p=c[3048+((c[k>>2]|0)*44|0)+8>>2]|0;q=Kv(c[3048+((c[k>>2]|0)*44|0)+8>>2]|0)|0;c[j>>2]=ij(8,b,a,p,q,3048+((c[k>>2]|0)*44|0)+12|0,32)|0;if(c[j>>2]|0)break;q=c[3048+((c[k>>2]|0)*44|0)+8>>2]|0;c[l>>2]=Cq(q,Kv(c[3048+((c[k>>2]|0)*44|0)+8>>2]|0)|0)|0;if(!(c[l>>2]|0)){o=5;break}q=c[l>>2]|0;p=c[3048+((c[k>>2]|0)*44|0)+4>>2]|0;Dq(q,p,Kv(c[3048+((c[k>>2]|0)*44|0)+4>>2]|0)|0);c[m>>2]=Iq(c[l>>2]|0,n)|0;if(!(c[m>>2]|0)){o=7;break}if((c[n>>2]|0)!=32){o=10;break}if(mw(c[m>>2]|0,3048+((c[k>>2]|0)*44|0)+12|0,32)|0){o=10;break}Hq(c[l>>2]|0);if(!(c[f>>2]|0)){o=13;break}c[k>>2]=(c[k>>2]|0)+1}if((o|0)==5)c[j>>2]=36968;else if((o|0)==7){c[j>>2]=36993;Hq(c[l>>2]|0)}else if((o|0)==10){c[j>>2]=37023;Hq(c[l>>2]|0)}else if((o|0)==13){c[e>>2]=0;r=c[e>>2]|0;i=d;return r|0}if(c[g>>2]|0)Fb[c[g>>2]&1](36319,8,c[h>>2]|0,c[j>>2]|0);c[e>>2]=50;r=c[e>>2]|0;i=d;return r|0}function lj(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+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[k>>2]=0;while(1){if(!(c[3356+((c[k>>2]|0)*60|0)>>2]|0)){l=6;break}c[h>>2]=c[3356+((c[k>>2]|0)*60|0)>>2];b=c[3356+((c[k>>2]|0)*60|0)+4>>2]|0;a=Kv(c[3356+((c[k>>2]|0)*60|0)+4>>2]|0)|0;m=c[3356+((c[k>>2]|0)*60|0)+8>>2]|0;n=Kv(c[3356+((c[k>>2]|0)*60|0)+8>>2]|0)|0;c[j>>2]=ij(9,b,a,m,n,3356+((c[k>>2]|0)*60|0)+12|0,48)|0;if(c[j>>2]|0)break;if(!(c[f>>2]|0)){l=6;break}c[k>>2]=(c[k>>2]|0)+1}if((l|0)==6){c[e>>2]=0;o=c[e>>2]|0;i=d;return o|0}if(c[g>>2]|0)Fb[c[g>>2]&1](36319,9,c[h>>2]|0,c[j>>2]|0);c[e>>2]=50;o=c[e>>2]|0;i=d;return o|0}function mj(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+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[k>>2]=0;while(1){if(!(c[3776+((c[k>>2]|0)*76|0)>>2]|0)){l=6;break}c[h>>2]=c[3776+((c[k>>2]|0)*76|0)>>2];b=c[3776+((c[k>>2]|0)*76|0)+4>>2]|0;a=Kv(c[3776+((c[k>>2]|0)*76|0)+4>>2]|0)|0;m=c[3776+((c[k>>2]|0)*76|0)+8>>2]|0;n=Kv(c[3776+((c[k>>2]|0)*76|0)+8>>2]|0)|0;c[j>>2]=ij(10,b,a,m,n,3776+((c[k>>2]|0)*76|0)+12|0,64)|0;if(c[j>>2]|0)break;if(!(c[f>>2]|0)){l=6;break}c[k>>2]=(c[k>>2]|0)+1}if((l|0)==6){c[e>>2]=0;o=c[e>>2]|0;i=d;return o|0}if(c[g>>2]|0)Fb[c[g>>2]&1](36319,10,c[h>>2]|0,c[j>>2]|0);c[e>>2]=50;o=c[e>>2]|0;i=d;return o|0}function nj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=oj(1,c[d>>2]|0)|0;i=b;return a|0}function oj(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+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function pj(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;do if(c[e>>2]|0){c[f>>2]=qj(c[e>>2]|0,0)|0;if(c[f>>2]|0){c[d>>2]=c[c[f>>2]>>2];break}c[f>>2]=sj(c[e>>2]|0)|0;if(c[f>>2]|0){c[d>>2]=c[c[f>>2]>>2];break}else{c[d>>2]=0;break}}else c[d>>2]=0;while(0);i=b;return c[d>>2]|0}function qj(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[f>>2]=a;c[g>>2]=b;do if(c[f>>2]|0){if(iw(c[f>>2]|0,37087,4)|0?iw(c[f>>2]|0,37092,4)|0:0)break;c[f>>2]=(c[f>>2]|0)+4}while(0);c[h>>2]=rj(c[f>>2]|0)|0;a:do if(c[h>>2]|0?c[(c[h>>2]|0)+20>>2]|0:0){c[j>>2]=0;while(1){if(!(c[(c[(c[h>>2]|0)+20>>2]|0)+(c[j>>2]<<2)>>2]|0))break a;if(!(Vv(c[f>>2]|0,c[(c[(c[h>>2]|0)+20>>2]|0)+(c[j>>2]<<2)>>2]|0)|0))break;c[j>>2]=(c[j>>2]|0)+1}if(c[g>>2]|0)c[c[g>>2]>>2]=c[(c[(c[h>>2]|0)+20>>2]|0)+(c[j>>2]<<2)>>2];c[e>>2]=c[h>>2];k=c[e>>2]|0;i=d;return k|0}while(0);c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}function rj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+32|0;d=b+20|0;e=b+16|0;f=b+12|0;g=b+8|0;h=b+4|0;j=b;c[e>>2]=a;c[h>>2]=0;a:while(1){a=c[4308+(c[h>>2]<<2)>>2]|0;c[f>>2]=a;if(!a){k=10;break}c[g>>2]=c[(c[f>>2]|0)+20>>2];b:do if(c[g>>2]|0){c[j>>2]=0;while(1){if(!(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0))break b;if(!(Vv(c[e>>2]|0,c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0)|0)){k=7;break a}c[j>>2]=(c[j>>2]|0)+1}}while(0);c[h>>2]=(c[h>>2]|0)+1}if((k|0)==7){c[d>>2]=c[f>>2];l=c[d>>2]|0;i=b;return l|0}else if((k|0)==10){c[d>>2]=0;l=c[d>>2]|0;i=b;return l|0}return 0}function sj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[g>>2]=0;while(1){a=c[4308+(c[g>>2]<<2)>>2]|0;c[f>>2]=a;if(!a){h=6;break}if(!(Vv(c[e>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0)){h=4;break}c[g>>2]=(c[g>>2]|0)+1}if((h|0)==4){c[d>>2]=c[f>>2];j=c[d>>2]|0;i=b;return j|0}else if((h|0)==6){c[d>>2]=0;j=c[d>>2]|0;i=b;return j|0}return 0}function tj(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=uj(c[d>>2]|0)|0;if(!(c[e>>2]|0)){f=37933;i=b;return f|0}f=c[(c[e>>2]|0)+8>>2]|0;i=b;return f|0}function uj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[e>>2]=vj(c[e>>2]|0)|0;c[f>>2]=0;while(1){a=c[4308+(c[f>>2]<<2)>>2]|0;c[g>>2]=a;if(!a){h=6;break}if((c[e>>2]|0)==(c[c[g>>2]>>2]|0)){h=4;break}c[f>>2]=(c[f>>2]|0)+1}if((h|0)==4){c[d>>2]=c[g>>2];j=c[d>>2]|0;i=b;return j|0}else if((h|0)==6){c[d>>2]=0;j=c[d>>2]|0;i=b;return j|0}return 0}function vj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;i=b;return c[d>>2]|0}function wj(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+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[h>>2]&-260|0)c[j>>2]=45;else c[j>>2]=xj(k,c[g>>2]|0,c[h>>2]|0)|0;c[c[f>>2]>>2]=c[j>>2]|0?0:c[k>>2]|0;i=e;return c[j>>2]|0}function xj(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+48|0;g=f+36|0;h=f+32|0;j=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+8|0;p=f+4|0;q=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=0;c[l>>2]=((c[j>>2]&1|0)!=0^1^1)&1;c[m>>2]=((c[j>>2]&2|0)!=0^1^1)&1;c[n>>2]=c[l>>2]|0?512:1024;c[q>>2]=16+(c[n>>2]|0);c[q>>2]=((((c[q>>2]|0)+8-1|0)>>>0)/8|0)<<3;n=(c[q>>2]|0)+28|0;if(c[l>>2]|0)c[p>>2]=Yf(n)|0;else c[p>>2]=Vf(n)|0;if(!(c[p>>2]|0))c[k>>2]=gu(c[(Yu()|0)>>2]|0)|0;if((c[k>>2]|0)==0?(n=(c[p>>2]|0)+(c[q>>2]|0)|0,c[o>>2]=n,c[c[p>>2]>>2]=n,c[(c[p>>2]|0)+8>>2]=(c[q>>2]|0)-16+1,c[(c[p>>2]|0)+4>>2]=0,n=c[c[p>>2]>>2]|0,c[n>>2]=0,c[n+4>>2]=0,c[n+8>>2]=0,c[n+12>>2]=0,c[n+16>>2]=0,c[n+20>>2]=0,c[n+24>>2]=0,c[c[o>>2]>>2]=c[l>>2]|0?378630161:285677921,c[(c[o>>2]|0)+4>>2]=(c[q>>2]|0)+28,q=(c[o>>2]|0)+12|0,a[q>>0]=a[q>>0]&-2|c[l>>2]&1,l=(c[o>>2]|0)+12|0,a[l>>0]=a[l>>0]&-5|(((c[j>>2]&256|0)!=0^1^1)&1)<<2&255,c[m>>2]|0):0){switch(c[h>>2]|0){case 10:case 9:{c[(c[o>>2]|0)+24>>2]=128;break}case 311:case 308:{c[(c[o>>2]|0)+24>>2]=32;break}default:c[(c[o>>2]|0)+24>>2]=64}m=Yf(c[(c[o>>2]|0)+24>>2]<<1)|0;c[(c[o>>2]|0)+20>>2]=m;if(!(c[(c[o>>2]|0)+20>>2]|0)){c[k>>2]=gu(c[(Yu()|0)>>2]|0)|0;yj(c[p>>2]|0)}}if(((c[k>>2]|0)==0?(Sn(),c[h>>2]|0):0)?(c[k>>2]=Bj(c[p>>2]|0,c[h>>2]|0)|0,c[k>>2]|0):0)yj(c[p>>2]|0);if(c[k>>2]|0){r=c[k>>2]|0;i=f;return r|0}c[c[g>>2]>>2]=c[p>>2];r=c[k>>2]|0;i=f;return r|0}function yj(b){b=b|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+80|0;f=e+68|0;g=e+64|0;h=e+60|0;j=e+56|0;k=e+52|0;l=e+74|0;m=e+16|0;n=e+48|0;o=e+44|0;p=e+40|0;q=e+73|0;r=e+8|0;s=e+36|0;t=e+32|0;u=e+28|0;v=e+72|0;w=e;x=e+24|0;c[f>>2]=b;if(!(c[f>>2]|0)){i=e;return}if(c[(c[c[f>>2]>>2]|0)+8>>2]|0)zj(c[f>>2]|0);c[g>>2]=c[(c[c[f>>2]>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+4>>2];c[j>>2]=c[g>>2];c[k>>2]=c[(c[g>>2]|0)+8>>2];a[l>>0]=0;b=m;c[b>>2]=d[l>>0];c[b+4>>2]=0;while(1){if(!(c[j>>2]&7|0?(c[k>>2]|0)!=0:0))break;a[c[j>>2]>>0]=a[l>>0]|0;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}if((c[k>>2]|0)>>>0>=8){b=m;y=Mx(c[b>>2]|0,c[b+4>>2]|0,16843009,16843009)|0;b=m;c[b>>2]=y;c[b+4>>2]=C;do{c[n>>2]=c[j>>2];b=m;y=c[b+4>>2]|0;z=c[n>>2]|0;c[z>>2]=c[b>>2];c[z+4>>2]=y;c[k>>2]=(c[k>>2]|0)-8;c[j>>2]=(c[j>>2]|0)+8}while((c[k>>2]|0)>>>0>=8)}while(1){if(!(c[k>>2]|0))break;a[c[j>>2]>>0]=a[l>>0]|0;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}$f(c[g>>2]|0);c[g>>2]=c[h>>2]}if(c[(c[c[f>>2]>>2]|0)+20>>2]|0){c[o>>2]=c[(c[c[f>>2]>>2]|0)+20>>2];c[p>>2]=c[(c[c[f>>2]>>2]|0)+24>>2]<<1;a[q>>0]=0;h=r;c[h>>2]=d[q>>0];c[h+4>>2]=0;while(1){if(!(c[o>>2]&7|0?(c[p>>2]|0)!=0:0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}if((c[p>>2]|0)>>>0>=8){h=r;g=Mx(c[h>>2]|0,c[h+4>>2]|0,16843009,16843009)|0;h=r;c[h>>2]=g;c[h+4>>2]=C;do{c[s>>2]=c[o>>2];h=r;g=c[h+4>>2]|0;k=c[s>>2]|0;c[k>>2]=c[h>>2];c[k+4>>2]=g;c[p>>2]=(c[p>>2]|0)-8;c[o>>2]=(c[o>>2]|0)+8}while((c[p>>2]|0)>>>0>=8)}while(1){if(!(c[p>>2]|0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}$f(c[(c[c[f>>2]>>2]|0)+20>>2]|0)}c[t>>2]=c[f>>2];c[u>>2]=c[(c[c[f>>2]>>2]|0)+4>>2];a[v>>0]=0;p=w;c[p>>2]=d[v>>0];c[p+4>>2]=0;while(1){if(!(c[t>>2]&7|0?(c[u>>2]|0)!=0:0))break;a[c[t>>2]>>0]=a[v>>0]|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+-1}if((c[u>>2]|0)>>>0>=8){p=w;o=Mx(c[p>>2]|0,c[p+4>>2]|0,16843009,16843009)|0;p=w;c[p>>2]=o;c[p+4>>2]=C;do{c[x>>2]=c[t>>2];p=w;o=c[p+4>>2]|0;q=c[x>>2]|0;c[q>>2]=c[p>>2];c[q+4>>2]=o;c[u>>2]=(c[u>>2]|0)-8;c[t>>2]=(c[t>>2]|0)+8}while((c[u>>2]|0)>>>0>=8)}while(1){if(!(c[u>>2]|0))break;a[c[t>>2]>>0]=a[v>>0]|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+-1}$f(c[f>>2]|0);i=e;return}function zj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+32|0;d=b+20|0;e=b+16|0;f=b+8|0;g=b;c[d>>2]=a;if(c[(c[c[d>>2]>>2]|0)+8>>2]|0){if(c[(c[d>>2]|0)+4>>2]|0)Aj(c[d>>2]|0,0,0);vw(c[(c[c[d>>2]>>2]|0)+8>>2]|0)|0;c[(c[c[d>>2]>>2]|0)+8>>2]=0}c[e>>2]=c[d>>2];d=f;c[d>>2]=42;c[d+4>>2]=0;d=f;f=Mx(c[e>>2]|0,0,c[d>>2]|0,c[d+4>>2]|0)|0;d=g;c[d>>2]=f;c[d+4>>2]=C;i=b;return}function Aj(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+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[(c[c[f>>2]>>2]|0)+8>>2]|0){if(c[(c[f>>2]|0)+4>>2]|0?(Bw((c[f>>2]|0)+12|0,c[(c[f>>2]|0)+4>>2]|0,1,c[(c[c[f>>2]>>2]|0)+8>>2]|0)|0)!=1:0)wf(37097,630,37102);if(c[h>>2]|0?(Bw(c[g>>2]|0,c[h>>2]|0,1,c[(c[c[f>>2]>>2]|0)+8>>2]|0)|0)!=1:0)wf(37097,632,37102)}c[j>>2]=c[(c[c[f>>2]>>2]|0)+16>>2];while(1){k=(c[f>>2]|0)+4|0;if(!(c[j>>2]|0))break;if(c[k>>2]|0)Ab[c[(c[c[j>>2]>>2]|0)+32>>2]&7]((c[j>>2]|0)+16|0,(c[f>>2]|0)+12|0,c[(c[f>>2]|0)+4>>2]|0);Ab[c[(c[c[j>>2]>>2]|0)+32>>2]&7]((c[j>>2]|0)+16|0,c[g>>2]|0,c[h>>2]|0);c[j>>2]=c[(c[j>>2]|0)+4>>2]}c[k>>2]=0;i=e;return}function Bj(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;f=i;i=i+48|0;g=f;h=f+32|0;j=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+8|0;p=f+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=c[c[j>>2]>>2];c[o>>2]=0;c[n>>2]=c[(c[l>>2]|0)+16>>2];while(1){if(!(c[n>>2]|0))break;if((c[c[c[n>>2]>>2]>>2]|0)==(c[k>>2]|0)){q=4;break}c[n>>2]=c[(c[n>>2]|0)+4>>2]}if((q|0)==4){c[h>>2]=0;r=c[h>>2]|0;i=f;return r|0}c[m>>2]=uj(c[k>>2]|0)|0;if(!(c[m>>2]|0)){c[g>>2]=c[k>>2];Df(37111,g);c[o>>2]=5}if(((c[o>>2]|0)==0&(c[k>>2]|0)==1?Ah()|0:0)?(Ih(37150),Gh()|0):0)c[o>>2]=5;do if(!(c[o>>2]|0)){c[p>>2]=24+(c[(c[m>>2]|0)+44>>2]|0)-8;k=c[p>>2]|0;if(a[(c[l>>2]|0)+12>>0]&1|0)c[n>>2]=Yf(k)|0;else c[n>>2]=Vf(k)|0;if(c[n>>2]|0){c[c[n>>2]>>2]=c[m>>2];c[(c[n>>2]|0)+4>>2]=c[(c[l>>2]|0)+16>>2];c[(c[n>>2]|0)+8>>2]=c[p>>2];c[(c[l>>2]|0)+16>>2]=c[n>>2];yb[c[(c[c[n>>2]>>2]|0)+28>>2]&7]((c[n>>2]|0)+16|0,(d[(c[l>>2]|0)+12>>0]|0)>>>2&1|0?256:0);break}else{c[o>>2]=gu(c[(Yu()|0)>>2]|0)|0;break}}while(0);c[h>>2]=c[o>>2];r=c[h>>2]|0;i=f;return r|0}function Cj(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+16|0;f=d+8|0;g=d+24|0;h=d+20|0;j=d+28|0;c[g>>2]=a;c[h>>2]=b;if(Ah()|0){i=d;return}if(c[(c[c[g>>2]>>2]|0)+8>>2]|0){Df(37159,d);i=d;return}c[17699]=(c[17699]|0)+1;b=c[h>>2]|0;c[f>>2]=c[17699];c[f+4>>2]=b;tv(j,49,37191,f)|0;f=qw(j,37208)|0;c[(c[c[g>>2]>>2]|0)+8>>2]=f;if(c[(c[c[g>>2]>>2]|0)+8>>2]|0){i=d;return}c[e>>2]=j;Df(37210,e);i=d;return}function Dj(b){b=b|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;b=(c[c[f>>2]>>2]|0)+12|0;a[b>>0]=a[b>>0]&-3;c[(c[f>>2]|0)+4>>2]=0;c[g>>2]=c[(c[c[f>>2]>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break;Fx((c[g>>2]|0)+16|0,0,c[(c[c[g>>2]>>2]|0)+44>>2]|0)|0;yb[c[(c[c[g>>2]>>2]|0)+28>>2]&7]((c[g>>2]|0)+16|0,(d[(c[c[f>>2]>>2]|0)+12>>0]|0)>>>2&1|0?256:0);c[g>>2]=c[(c[g>>2]|0)+4>>2]}if(!(c[(c[c[f>>2]>>2]|0)+20>>2]|0)){i=e;return}Aj(c[f>>2]|0,c[(c[c[f>>2]>>2]|0)+20>>2]|0,c[(c[c[f>>2]>>2]|0)+24>>2]|0);i=e;return}function Ej(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;yj(c[d>>2]|0);i=b;return}function Fj(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;Aj(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function Gj(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;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[f+4>>2]=e;c[k>>2]=0;switch(c[h>>2]|0){case 5:{Hj(c[g>>2]|0);break}case 32:{Cj(c[g>>2]|0,c[j>>2]|0);break}case 33:{zj(c[g>>2]|0);break}default:c[k>>2]=61}i=f;return c[k>>2]|0}function Hj(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+32|0;f=e+24|0;g=e+20|0;h=e+16|0;j=e+12|0;k=e+8|0;l=e+4|0;m=e;c[f>>2]=b;if((d[(c[c[f>>2]>>2]|0)+12>>0]|0)>>>1&1|0){i=e;return}if(c[(c[f>>2]|0)+4>>2]|0)Aj(c[f>>2]|0,0,0);c[g>>2]=c[(c[c[f>>2]>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break;xb[c[(c[c[g>>2]>>2]|0)+36>>2]&15]((c[g>>2]|0)+16|0);c[g>>2]=c[(c[g>>2]|0)+4>>2]}g=(c[c[f>>2]>>2]|0)+12|0;a[g>>0]=a[g>>0]&-3|2;if(!(c[(c[c[f>>2]>>2]|0)+20>>2]|0)){i=e;return}c[h>>2]=Ij(c[f>>2]|0)|0;c[j>>2]=Jj(c[f>>2]|0,c[h>>2]|0)|0;c[k>>2]=Kj(c[h>>2]|0)|0;c[m>>2]=xj(l,c[h>>2]|0,(a[(c[c[f>>2]>>2]|0)+12>>0]&1|0?1:0)|((d[(c[c[f>>2]>>2]|0)+12>>0]|0)>>>2&1|0?256:0))|0;if(c[m>>2]|0)qf(c[m>>2]|0,0);Aj(c[l>>2]|0,(c[(c[c[f>>2]>>2]|0)+20>>2]|0)+(c[(c[c[f>>2]>>2]|0)+24>>2]|0)|0,c[(c[c[f>>2]>>2]|0)+24>>2]|0);Aj(c[l>>2]|0,c[j>>2]|0,c[k>>2]|0);Hj(c[l>>2]|0);f=c[j>>2]|0;j=Jj(c[l>>2]|0,c[h>>2]|0)|0;Dx(f|0,j|0,c[k>>2]|0)|0;yj(c[l>>2]|0);i=e;return}function Ij(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b;e=b+8|0;f=b+4|0;c[e>>2]=a;c[f>>2]=c[(c[c[e>>2]>>2]|0)+16>>2];if(c[f>>2]|0?c[(c[f>>2]|0)+4>>2]|0:0){Jh(37097,980,37235,0,37247);Af(37268,d)}if(!(c[f>>2]|0)){g=0;i=b;return g|0}g=c[c[c[f>>2]>>2]>>2]|0;i=b;return g|0}function Jj(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+32|0;e=d;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=c[(c[c[g>>2]>>2]|0)+16>>2];if(!(c[h>>2]|0)){if(!(c[j>>2]|0))wf(37097,816,37358);if(c[(c[j>>2]|0)+4>>2]|0)Df(37319,e);c[f>>2]=zb[c[(c[c[j>>2]>>2]|0)+40>>2]&15]((c[j>>2]|0)+16|0)|0;k=c[f>>2]|0;i=d;return k|0}c[j>>2]=c[(c[c[g>>2]>>2]|0)+16>>2];while(1){if(!(c[j>>2]|0)){l=11;break}m=c[j>>2]|0;if((c[c[c[j>>2]>>2]>>2]|0)==(c[h>>2]|0))break;c[j>>2]=c[m+4>>2]}if((l|0)==11)wf(37097,816,37358);c[f>>2]=zb[c[(c[m>>2]|0)+40>>2]&15]((c[j>>2]|0)+16|0)|0;k=c[f>>2]|0;i=d;return k|0}function Kj(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=uj(c[d>>2]|0)|0;if(!(c[e>>2]|0)){f=0;i=b;return f|0}f=c[(c[e>>2]|0)+24>>2]|0;i=b;return f|0}function Lj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[(c[c[f>>2]>>2]|0)+20>>2]|0){c[j>>2]=Mj(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;if(!(c[j>>2]|0))Dj(c[f>>2]|0)}else c[j>>2]=70;i=e;return c[j>>2]|0}function Mj(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;g=i;i=i+48|0;h=g+32|0;j=g+28|0;k=g+24|0;l=g+20|0;m=g+16|0;n=g+12|0;o=g+8|0;p=g+4|0;q=g;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[n>>2]=Ij(c[j>>2]|0)|0;c[o>>2]=0;if(!(c[n>>2]|0)){c[h>>2]=5;r=c[h>>2]|0;i=g;return r|0}do if((c[l>>2]|0)>>>0>(c[(c[c[j>>2]>>2]|0)+24>>2]|0)>>>0){c[o>>2]=Yf(Kj(c[n>>2]|0)|0)|0;if(c[o>>2]|0){Nj(c[n>>2]|0,c[o>>2]|0,c[k>>2]|0,c[l>>2]|0);c[k>>2]=c[o>>2];c[l>>2]=Kj(c[n>>2]|0)|0;if((c[l>>2]|0)>>>0<=(c[(c[c[j>>2]>>2]|0)+24>>2]|0)>>>0)break;xf(37402,37097,716,37435)}else{c[h>>2]=gu(c[(Yu()|0)>>2]|0)|0;r=c[h>>2]|0;i=g;return r|0}}while(0);Fx(c[(c[c[j>>2]>>2]|0)+20>>2]|0,0,c[(c[c[j>>2]>>2]|0)+24>>2]<<1|0)|0;c[p>>2]=c[(c[c[j>>2]>>2]|0)+20>>2];c[q>>2]=(c[(c[c[j>>2]>>2]|0)+20>>2]|0)+(c[(c[c[j>>2]>>2]|0)+24>>2]|0);Dx(c[p>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;Dx(c[q>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[c[j>>2]>>2]|0)+24>>2]|0))break;l=(c[p>>2]|0)+(c[m>>2]|0)|0;a[l>>0]=(d[l>>0]|0)^54;l=(c[q>>2]|0)+(c[m>>2]|0)|0;a[l>>0]=(d[l>>0]|0)^92;c[m>>2]=(c[m>>2]|0)+1}$f(c[o>>2]|0);c[h>>2]=0;r=c[h>>2]|0;i=g;return r|0}function Nj(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+32|0;g=f;h=f+28|0;j=f+24|0;k=f+20|0;l=f+16|0;m=f+12|0;n=f+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if((c[h>>2]|0)==2){Bm(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0);i=f;return}if((c[h>>2]|0)==3?(Ah()|0)==0:0){Hl(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0);i=f;return}if(((c[h>>2]|0)==1?Ah()|0:0)?(Ih(37150),Gh()|0):0)Fh();c[n>>2]=xj(m,c[h>>2]|0,0)|0;if(c[n>>2]|0){e=c[h>>2]|0;d=fu(Oj(c[n>>2]|0)|0)|0;c[g>>2]=e;c[g+4>>2]=d;Cf(37366,g)}Aj(c[m>>2]|0,c[k>>2]|0,c[l>>2]|0);Hj(c[m>>2]|0);l=c[j>>2]|0;j=Jj(c[m>>2]|0,c[h>>2]|0)|0;Dx(l|0,j|0,Kj(c[h>>2]|0)|0)|0;yj(c[m>>2]|0);i=f;return}function Oj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Pj(32,c[d>>2]|0)|0;i=b;return a|0}function Pj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=Qj(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function Qj(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+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function Rj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;Gj(c[e>>2]|0,5,0,0)|0;b=Jj(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function Sj(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;g=i;i=i+48|0;h=g+32|0;j=g+28|0;k=g+24|0;l=g+20|0;m=g+16|0;n=g+12|0;o=g+8|0;p=g+4|0;q=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;if((c[m>>2]|0)==0|(c[n>>2]|0)<0){c[h>>2]=45;r=c[h>>2]|0;i=g;return r|0}if(c[k>>2]&-3|0){c[h>>2]=45;r=c[h>>2]|0;i=g;return r|0}c[o>>2]=((c[k>>2]&2|0)!=0^1^1)&1;if((c[o>>2]|0)!=0&(c[n>>2]|0)<1){c[h>>2]=45;r=c[h>>2]|0;i=g;return r|0}if((c[j>>2]|0)!=2|(c[o>>2]|0)!=0){if(((c[j>>2]|0)==1?Ah()|0:0)?(Ih(37150),Gh()|0):0)Fh();c[q>>2]=xj(p,c[j>>2]|0,c[o>>2]|0?2:0)|0;if(c[q>>2]|0){c[h>>2]=c[q>>2];r=c[h>>2]|0;i=g;return r|0}do if(c[o>>2]|0){c[q>>2]=Lj(c[p>>2]|0,(c[(c[m>>2]|0)+12>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0)|0,c[(c[m>>2]|0)+8>>2]|0)|0;if(!(c[q>>2]|0)){c[m>>2]=(c[m>>2]|0)+16;c[n>>2]=(c[n>>2]|0)+-1;break}yj(c[p>>2]|0);c[h>>2]=c[q>>2];r=c[h>>2]|0;i=g;return r|0}while(0);while(1){s=c[p>>2]|0;if(!(c[n>>2]|0))break;Aj(s,(c[(c[m>>2]|0)+12>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0)|0,c[(c[m>>2]|0)+8>>2]|0);c[m>>2]=(c[m>>2]|0)+16;c[n>>2]=(c[n>>2]|0)+-1}Hj(s);s=c[l>>2]|0;q=Jj(c[p>>2]|0,c[j>>2]|0)|0;Dx(s|0,q|0,Kj(c[j>>2]|0)|0)|0;yj(c[p>>2]|0)}else Cm(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0);c[h>>2]=0;r=c[h>>2]|0;i=g;return r|0}function Tj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ij(c[d>>2]|0)|0;i=b;return a|0}function Uj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Kj(c[d>>2]|0)|0;i=b;return a|0}function Vj(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+32|0;g=f+24|0;h=f+20|0;j=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;n=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;a:do switch(c[h>>2]|0){case 8:{if((c[j>>2]|0)!=0|(c[k>>2]|0)!=0){c[l>>2]=45;break a}else{c[l>>2]=Wj(c[g>>2]|0)|0;break a}break}case 10:{c[l>>2]=Wj(c[g>>2]|0)|0;if(!(c[l>>2]|0)){c[m>>2]=Xj(c[g>>2]|0,n,0)|0;if(c[j>>2]|0?(c[c[k>>2]>>2]|0)>>>0>=(c[n>>2]|0)>>>0:0){Dx(c[j>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;c[c[k>>2]>>2]=c[n>>2];break a}if((c[j>>2]|0)==0&(c[k>>2]|0)!=0){c[c[k>>2]>>2]=c[n>>2];break a}if(c[j>>2]|0){c[l>>2]=66;break a}else{c[l>>2]=45;break a}}break}case 57:{if(c[k>>2]|0)o=c[c[k>>2]>>2]|0;else o=0;c[l>>2]=_j(Yj(c[g>>2]|0,o,0)|0)|0;break}default:c[l>>2]=61}while(0);i=f;return c[l>>2]|0}function Wj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=b;c[g>>2]=uj(c[f>>2]|0)|0;if(c[g>>2]|0?(a[(c[g>>2]|0)+4>>0]&1|0)==0:0){c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}c[e>>2]=5;h=c[e>>2]|0;i=d;return h|0}function Xj(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;e=i;i=i+32|0;f=e;g=e+20|0;h=e+16|0;j=e+12|0;k=e+8|0;l=e+4|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=0;c[k>>2]=uj(c[g>>2]|0)|0;if(!(c[k>>2]|0)){c[f>>2]=c[g>>2];Cf(37451,f)}if(c[h>>2]|0)c[c[h>>2]>>2]=c[(c[k>>2]|0)+16>>2];if(!(c[j>>2]|0)){m=c[k>>2]|0;n=m+12|0;o=c[n>>2]|0;c[l>>2]=o;p=c[l>>2]|0;i=e;return p|0}c[c[j>>2]>>2]=c[(c[k>>2]|0)+24>>2];m=c[k>>2]|0;n=m+12|0;o=c[n>>2]|0;c[l>>2]=o;p=c[l>>2]|0;i=e;return p|0}function Yj(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+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;l=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=0;c[l>>2]=uj(c[g>>2]|0)|0;if((c[l>>2]|0?(a[(c[l>>2]|0)+4>>0]&1|0)==0:0)?c[(c[l>>2]|0)+48>>2]|0:0){c[k>>2]=vb[c[(c[l>>2]|0)+48>>2]&63](c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;m=c[k>>2]|0;n=Zj(m)|0;i=f;return n|0}if(c[l>>2]|0)o=(c[(c[l>>2]|0)+48>>2]|0)!=0;else o=0;c[k>>2]=o?5:69;if(!(c[j>>2]|0)){m=c[k>>2]|0;n=Zj(m)|0;i=f;return n|0}o=c[j>>2]|0;j=c[g>>2]|0;if(c[l>>2]|0?!(a[(c[l>>2]|0)+4>>0]&1|0):0)p=38004;else p=c[l>>2]|0?37965:37984;Fb[o&1](43169,j,38026,p);m=c[k>>2]|0;n=Zj(m)|0;i=f;return n|0}function Zj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Qj(1,c[d>>2]|0)|0;i=b;return a|0}function _j(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;i=b;return c[d>>2]&65535|0}function $j(){return 0}function ak(){return 0}function bk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[17700]=c[e>>2];c[17701]=c[f>>2];i=d;return}function ck(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;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=dk(c[g>>2]|0,1,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;fk(10);i=f;return c[l>>2]|0}function dk(a,b,d,f,g){a=a|0;b=b|0;d=d|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;h=i;i=i+96|0;j=h+8|0;k=h;l=h+80|0;m=h+76|0;n=h+72|0;o=h+68|0;p=h+64|0;q=h+60|0;r=h+56|0;s=h+52|0;t=h+48|0;u=h+44|0;v=h+40|0;w=h+36|0;x=h+32|0;y=h+28|0;z=h+24|0;A=h+20|0;B=h+16|0;C=h+12|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=f;c[p>>2]=g;if((c[l>>2]|0)>>>0<16){c[k>>2]=16;Bf(37480,k)}c[B>>2]=dg(c[1084]<<2)|0;c[t>>2]=_p(2)|0;c[u>>2]=_p(3)|0;k=c[l>>2]|0;if(c[m>>2]|0)D=wq(k)|0;else D=vq(k)|0;c[q>>2]=D;c[v>>2]=pq(c[q>>2]|0)|0;c[s>>2]=pq(c[q>>2]|0)|0;c[r>>2]=pq(c[q>>2]|0)|0;c[A>>2]=0;c[z>>2]=0;a:while(1){c[C>>2]=0;yq(c[q>>2]|0,c[l>>2]|0,c[n>>2]|0);Uo(c[q>>2]|0,(c[l>>2]|0)-1|0);if(c[m>>2]|0)To(c[q>>2]|0,(c[l>>2]|0)-2|0);To(c[q>>2]|0,0);c[w>>2]=0;while(1){D=e[16508+(c[w>>2]<<1)>>1]|0;c[x>>2]=D;if(!D)break;D=ep(0,c[q>>2]|0,c[x>>2]|0)|0;c[(c[B>>2]|0)+(c[w>>2]<<2)>>2]=D;c[w>>2]=(c[w>>2]|0)+1}c[y>>2]=0;while(1){if((c[y>>2]|0)>>>0>=2e4)break;c[z>>2]=(c[z>>2]|0)+1;c[w>>2]=0;while(1){D=e[16508+(c[w>>2]<<1)>>1]|0;c[x>>2]=D;if(!D)break;while(1){if(((c[(c[B>>2]|0)+(c[w>>2]<<2)>>2]|0)+(c[y>>2]|0)|0)>>>0<(c[x>>2]|0)>>>0)break;D=(c[B>>2]|0)+(c[w>>2]<<2)|0;c[D>>2]=(c[D>>2]|0)-(c[x>>2]|0)}if(!((c[(c[B>>2]|0)+(c[w>>2]<<2)>>2]|0)+(c[y>>2]|0)|0))break;c[w>>2]=(c[w>>2]|0)+1}if(!(c[x>>2]|0)){Ko(c[r>>2]|0,c[q>>2]|0,c[y>>2]|0);c[A>>2]=(c[A>>2]|0)+1;Mo(c[s>>2]|0,c[r>>2]|0,1);wp(c[v>>2]|0,c[t>>2]|0,c[s>>2]|0,c[r>>2]|0);if(($o(c[v>>2]|0,1)|0)==0?ek(c[r>>2]|0,5,A)|0:0){if(!(So(c[r>>2]|0,(c[l>>2]|0)-1-(c[m>>2]|0)|0)|0)){E=24;break}if(!(c[o>>2]|0)){E=28;break a}if(!(Eb[c[o>>2]&7](c[p>>2]|0,c[r>>2]|0)|0)){E=28;break a}fk(47)}D=(c[C>>2]|0)+1|0;c[C>>2]=D;if((D|0)==10){fk(46);c[C>>2]=0}}c[y>>2]=(c[y>>2]|0)+2}if((E|0)==24){E=0;fk(10);Df(37628,j)}fk(58)}if((E|0)==28){hq(c[t>>2]|0);hq(c[u>>2]|0);hq(c[v>>2]|0);hq(c[s>>2]|0);hq(c[q>>2]|0);$f(c[B>>2]|0);i=h;return c[r>>2]|0}return 0}function ek(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=i;i=i+64|0;f=e+52|0;g=e+48|0;h=e+44|0;j=e+40|0;k=e+36|0;l=e+32|0;m=e+28|0;n=e+24|0;o=e+20|0;p=e+16|0;q=e+12|0;r=e+8|0;s=e+4|0;t=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=$p(c[(c[f>>2]|0)+4>>2]|0)|0;c[k>>2]=$p(c[(c[f>>2]|0)+4>>2]|0)|0;c[l>>2]=$p(c[(c[f>>2]|0)+4>>2]|0)|0;c[m>>2]=$p(c[(c[f>>2]|0)+4>>2]|0)|0;c[n>>2]=_p(2)|0;c[s>>2]=0;c[t>>2]=Ro(c[f>>2]|0)|0;if((c[g>>2]|0)<5)c[g>>2]=5;Mo(c[m>>2]|0,c[f>>2]|0,1);c[o>>2]=mq(c[m>>2]|0)|0;c[r>>2]=yp(c[o>>2]|0)|0;hp(c[o>>2]|0,c[o>>2]|0,c[r>>2]|0);c[p>>2]=0;a:while(1){if((c[p>>2]|0)>>>0>=(c[g>>2]|0)>>>0){u=22;break}d=c[h>>2]|0;c[d>>2]=(c[d>>2]|0)+1;d=c[j>>2]|0;if(c[p>>2]|0){yq(d,c[t>>2]|0,0);b=(So(c[j>>2]|0,(c[t>>2]|0)-2|0)|0)!=0;Uo(c[j>>2]|0,(c[t>>2]|0)-2|0);if(!b)Wo(c[j>>2]|0,(c[t>>2]|0)-2|0);if((ap(c[j>>2]|0,c[m>>2]|0)|0)>=0){u=11;break}if(($o(c[j>>2]|0,1)|0)<=0){u=11;break}}else sq(d,2)|0;wp(c[k>>2]|0,c[j>>2]|0,c[o>>2]|0,c[f>>2]|0);if($o(c[k>>2]|0,1)|0?ap(c[k>>2]|0,c[m>>2]|0)|0:0){c[q>>2]=1;while(1){if((c[q>>2]|0)>>>0<(c[r>>2]|0)>>>0)v=(ap(c[k>>2]|0,c[m>>2]|0)|0)!=0;else v=0;w=c[k>>2]|0;if(!v)break;wp(w,c[k>>2]|0,c[n>>2]|0,c[f>>2]|0);if(!($o(c[k>>2]|0,1)|0)){u=23;break a}c[q>>2]=(c[q>>2]|0)+1}if(ap(w,c[m>>2]|0)|0){u=23;break}}fk(43);c[p>>2]=(c[p>>2]|0)+1}if((u|0)==11)xf(37527,37599,951,37610);else if((u|0)==22){c[s>>2]=1;x=c[j>>2]|0;hq(x);y=c[k>>2]|0;hq(y);z=c[l>>2]|0;hq(z);A=c[m>>2]|0;hq(A);B=c[o>>2]|0;hq(B);C=c[n>>2]|0;hq(C);D=c[s>>2]|0;i=e;return D|0}else if((u|0)==23){x=c[j>>2]|0;hq(x);y=c[k>>2]|0;hq(y);z=c[l>>2]|0;hq(z);A=c[m>>2]|0;hq(A);B=c[o>>2]|0;hq(B);C=c[n>>2]|0;hq(C);D=c[s>>2]|0;i=e;return D|0}return 0}function fk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[17700]|0)){i=b;return}wb[c[17700]&15](c[17701]|0,37619,c[d>>2]|0,0,0);i=b;return}function gk(a,b,d,f,g){a=a|0;b=b|0;d=d|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;h=i;i=i+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;t=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=f;c[o>>2]=g;c[r>>2]=0;c[p>>2]=0;while(1){g=e[16508+(c[p>>2]<<1)>>1]|0;c[q>>2]=g;u=c[k>>2]|0;if(!g)break;if(ip(u,c[q>>2]|0)|0){v=4;break}c[p>>2]=(c[p>>2]|0)+1}if((v|0)==4){c[j>>2]=(($o(c[k>>2]|0,c[q>>2]|0)|0)!=0^1)&1;w=c[j>>2]|0;i=h;return w|0}c[s>>2]=pq(u)|0;c[t>>2]=pq(c[k>>2]|0)|0;Mo(c[t>>2]|0,c[k>>2]|0,1);wp(c[s>>2]|0,c[l>>2]|0,c[t>>2]|0,c[k>>2]|0);hq(c[t>>2]|0);t=($o(c[s>>2]|0,1)|0)!=0;hq(c[s>>2]|0);if(t){fk(46);c[j>>2]=0;w=c[j>>2]|0;i=h;return w|0}if(!(c[n>>2]|0?!(vb[c[n>>2]&63](c[o>>2]|0,2,c[k>>2]|0)|0):0))v=10;do if((v|0)==10?ek(c[k>>2]|0,c[m>>2]|0,r)|0:0){if(c[n>>2]|0?(vb[c[n>>2]&63](c[o>>2]|0,1,c[k>>2]|0)|0)==0:0)break;c[j>>2]=1;w=c[j>>2]|0;i=h;return w|0}while(0);fk(46);c[j>>2]=0;w=c[j>>2]|0;i=h;return w|0}function hk(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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;h=i;i=i+64|0;j=h+60|0;k=h+56|0;l=h+52|0;m=h+48|0;n=h+44|0;o=h+40|0;p=h+36|0;q=h+32|0;r=h+28|0;s=h+24|0;t=h+20|0;u=h+16|0;v=h+12|0;w=h+8|0;x=h+4|0;y=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;if(!((c[k>>2]|0)!=0&(c[l>>2]|0)!=0&(c[m>>2]|0)!=0)){c[j>>2]=0;z=c[j>>2]|0;i=h;return z|0}if(c[n>>2]|0?So(c[n>>2]|0,0)|0:0){c[q>>2]=ik(c[l>>2]|0)|0;c[r>>2]=ik(c[m>>2]|0)|0;c[s>>2]=pq(c[k>>2]|0)|0;up(c[s>>2]|0,c[q>>2]|0,c[r>>2]|0);c[v>>2]=pq(c[q>>2]|0)|0;pp(c[v>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;up(c[v>>2]|0,c[v>>2]|0,c[r>>2]|0);c[u>>2]=c[v>>2];c[v>>2]=pq(c[r>>2]|0)|0;pp(c[v>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;up(c[v>>2]|0,c[v>>2]|0,c[q>>2]|0);No(c[u>>2]|0,c[u>>2]|0,c[v>>2]|0);if(c[(c[u>>2]|0)+8>>2]|0)Lo(c[u>>2]|0,c[u>>2]|0,c[s>>2]|0);c[t>>2]=c[v>>2];c[v>>2]=0;Po(c[t>>2]|0,c[u>>2]|0,c[k>>2]|0,c[s>>2]|0);Lo(c[t>>2]|0,c[t>>2]|0,c[k>>2]|0);hq(c[u>>2]|0);if((ap(c[t>>2]|0,c[k>>2]|0)|0)<0)Lo(c[t>>2]|0,c[t>>2]|0,c[s>>2]|0);c[w>>2]=_p(2)|0;c[x>>2]=pq(c[t>>2]|0)|0;Mo(c[s>>2]|0,c[s>>2]|0,1);Mo(c[t>>2]|0,c[t>>2]|0,1);while(1){c[y>>2]=jp(c[x>>2]|0,c[n>>2]|0,c[t>>2]|0)|0;Ko(c[t>>2]|0,c[t>>2]|0,1);if(c[y>>2]|0){if(gk(c[t>>2]|0,c[w>>2]|0,64,0,0)|0)break}else fk(47);Lo(c[t>>2]|0,c[t>>2]|0,c[s>>2]|0)}hq(c[x>>2]|0);hq(c[w>>2]|0);hq(c[s>>2]|0);fk(10);s=c[q>>2]|0;if(c[o>>2]|0)c[c[o>>2]>>2]=s;else hq(s);s=c[r>>2]|0;if(c[p>>2]|0)c[c[p>>2]>>2]=s;else hq(s);c[j>>2]=c[t>>2];z=c[j>>2]|0;i=h;return z|0}c[j>>2]=0;z=c[j>>2]|0;i=h;return z|0}function ik(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=_p(2)|0;c[f>>2]=mq(c[d>>2]|0)|0;To(c[f>>2]|0,0);while(1){if(!((gk(c[f>>2]|0,c[e>>2]|0,64,0,0)|0)!=0^1))break;Ko(c[f>>2]|0,c[f>>2]|0,2)}hq(c[e>>2]|0);i=b;return c[f>>2]|0}function jk(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;e=i;i=i+48|0;f=e+36|0;g=e+32|0;h=e+28|0;j=e+24|0;k=e+20|0;l=e+16|0;m=e+12|0;n=e+8|0;o=e+4|0;p=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=0;c[n>>2]=5;c[o>>2]=0;c[p>>2]=0;if(c[f>>2]|0)q=(yg(c[f>>2]|0)|0)-1|0;else q=0;c[m>>2]=q;while(1){if((c[m>>2]|0)<=0)break;c[k>>2]=Bg(c[f>>2]|0,c[m>>2]|0,l)|0;a:do if(c[k>>2]|0)do switch(c[l>>2]|0){case 3:{if((mw(c[k>>2]|0,37658,3)|0)==0&(c[n>>2]|0)==5){c[n>>2]=4;c[o>>2]=c[o>>2]|4;break a}if((mw(c[k>>2]|0,37662,3)|0)==0&(c[n>>2]|0)==5){c[n>>2]=0;c[o>>2]=c[o>>2]|16;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}case 4:{if(!(mw(c[k>>2]|0,37666,4)|0)){c[o>>2]=c[o>>2]|1024;break a}if((mw(c[k>>2]|0,37671,4)|0)==0&(c[n>>2]|0)==5){c[n>>2]=3;c[o>>2]=c[o>>2]|4;break a}if(!(mw(c[k>>2]|0,47133,4)|0)){c[n>>2]=0;c[o>>2]=c[o>>2]|8192;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}case 5:{if(!(mw(c[k>>2]|0,47127,5)|0)){c[n>>2]=0;c[o>>2]=c[o>>2]|4096;break a}if((mw(c[k>>2]|0,37676,5)|0)==0&(c[n>>2]|0)==5){c[n>>2]=1;c[o>>2]=c[o>>2]|4;break a}if(!(mw(c[k>>2]|0,37682,5)|0)){c[o>>2]=c[o>>2]|512;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}case 6:{if(!(mw(c[k>>2]|0,37688,6)|0)){c[o>>2]=c[o>>2]|2048;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}case 7:{if(!(mw(c[k>>2]|0,37695,7)|0)){c[o>>2]=c[o>>2]|2;break a}if((mw(c[k>>2]|0,37703,7)|0)==0|(c[p>>2]|0)!=0)break a;c[j>>2]=72;break a;break}case 8:{if(!(mw(c[k>>2]|0,39389,8)|0)){c[o>>2]=c[o>>2]|64;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}case 9:{if((mw(c[k>>2]|0,37711,9)|0)==0&(c[n>>2]|0)==5){c[n>>2]=2;c[o>>2]=c[o>>2]|4;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}case 10:{if(!(mw(c[k>>2]|0,37721,10)|0)){c[p>>2]=1;break a}if(!(mw(c[k>>2]|0,37732,10)|0)){c[o>>2]=c[o>>2]|16384;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}case 11:{if(!(mw(c[k>>2]|0,37743,11)|0)){c[o>>2]=c[o>>2]|1;break a}if(!(mw(c[k>>2]|0,37755,11)|0)){c[o>>2]=c[o>>2]|128;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}case 13:{if(!(mw(c[k>>2]|0,37767,13)|0)){c[o>>2]=c[o>>2]|256;break a}if(!(mw(c[k>>2]|0,47173,13)|0)){c[o>>2]=c[o>>2]|32;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}default:{if(c[p>>2]|0)break a;c[j>>2]=72;break a}}while(0);while(0);c[m>>2]=(c[m>>2]|0)+-1}if(c[g>>2]|0)c[c[g>>2]>>2]=c[o>>2];if(!(c[h>>2]|0)){r=c[j>>2]|0;i=e;return r|0}c[c[h>>2]>>2]=c[n>>2];r=c[j>>2]|0;i=e;return r|0}function kk(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;e=i;i=i+80|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+20|0;k=e+4|0;l=e;c[g>>2]=b;c[h>>2]=d;c[c[h>>2]>>2]=0;c[g>>2]=xg(c[g>>2]|0,37781,0)|0;if(!(c[g>>2]|0)){c[f>>2]=0;m=c[f>>2]|0;i=e;return m|0}c[k>>2]=Bg(c[g>>2]|0,1,l)|0;if((c[k>>2]|0)==0|(c[l>>2]|0)>>>0>=49){vg(c[g>>2]|0);c[f>>2]=65;m=c[f>>2]|0;i=e;return m|0}else{Dx(j|0,c[k>>2]|0,c[l>>2]|0)|0;a[j+(c[l>>2]|0)>>0]=0;l=Zv(j,0,0)|0;c[c[h>>2]>>2]=l;vg(c[g>>2]|0);c[f>>2]=0;m=c[f>>2]|0;i=e;return m|0}return 0}function lk(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;e=i;i=i+80|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+20|0;k=e+4|0;l=e;c[g>>2]=b;c[h>>2]=d;c[c[h>>2]>>2]=0;c[g>>2]=xg(c[g>>2]|0,37787,0)|0;if(!(c[g>>2]|0)){c[c[h>>2]>>2]=65537;c[f>>2]=0;m=c[f>>2]|0;i=e;return m|0}c[k>>2]=Bg(c[g>>2]|0,1,l)|0;if((c[k>>2]|0)==0|(c[l>>2]|0)>>>0>=49){vg(c[g>>2]|0);c[f>>2]=65;m=c[f>>2]|0;i=e;return m|0}else{Dx(j|0,c[k>>2]|0,c[l>>2]|0)|0;a[j+(c[l>>2]|0)>>0]=0;l=Zv(j,0,0)|0;c[c[h>>2]>>2]=l;vg(c[g>>2]|0);c[f>>2]=0;m=c[f>>2]|0;i=e;return m|0}return 0}function mk(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;f=i;i=i+48|0;g=f+32|0;h=f+28|0;j=f+24|0;k=f+20|0;l=f+16|0;m=f+12|0;n=f+8|0;o=f+4|0;p=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[c[j>>2]>>2]=0;if(c[k>>2]|0)c[c[k>>2]>>2]=0;c[m>>2]=xg(c[g>>2]|0,37797,0)|0;do if(c[m>>2]|0){c[n>>2]=zg(c[m>>2]|0,1)|0;if(!(c[n>>2]|0)){c[l>>2]=68;break}c[o>>2]=Eg(c[n>>2]|0,0)|0;if(!(c[o>>2]|0)){c[l>>2]=65;break}if(!(gv(c[o>>2]|0,47167)|0)){vg(c[n>>2]|0);c[n>>2]=zg(c[m>>2]|0,2)|0;if(!(c[n>>2]|0)){c[l>>2]=65;break}$f(c[o>>2]|0);c[o>>2]=Eg(c[n>>2]|0,0)|0;if(!(c[o>>2]|0)){c[l>>2]=65;break}}c[p>>2]=0;while(1){if(!(c[(c[h>>2]|0)+(c[p>>2]<<2)>>2]|0))break;if(!(Vv(c[o>>2]|0,c[(c[h>>2]|0)+(c[p>>2]<<2)>>2]|0)|0))break;c[p>>2]=(c[p>>2]|0)+1}if(!(c[(c[h>>2]|0)+(c[p>>2]<<2)>>2]|0)){c[l>>2]=70;break}if(c[k>>2]|0){if(!(gv(c[o>>2]|0,47127)|0))c[c[k>>2]>>2]=4096;if(!(gv(c[o>>2]|0,47133)|0))c[c[k>>2]>>2]=8192}c[c[j>>2]>>2]=c[n>>2];c[n>>2]=0;c[l>>2]=0}else c[l>>2]=65;while(0);$f(c[o>>2]|0);vg(c[n>>2]|0);vg(c[m>>2]|0);i=f;return c[l>>2]|0}function nk(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;f=i;i=i+48|0;g=f+44|0;h=f+40|0;j=f+36|0;k=f+32|0;l=f+28|0;m=f+24|0;n=f+20|0;o=f+16|0;p=f+12|0;q=f+8|0;r=f+4|0;s=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[q>>2]=0;c[c[j>>2]>>2]=0;c[m>>2]=xg(c[g>>2]|0,42132,0)|0;do if(c[m>>2]|0){c[n>>2]=zg(c[m>>2]|0,1)|0;if(!(c[n>>2]|0)){c[l>>2]=68;break}c[o>>2]=Eg(c[n>>2]|0,0)|0;if(!(c[o>>2]|0)){c[l>>2]=65;break}if(!(gv(c[o>>2]|0,47167)|0)){c[l>>2]=jk(c[n>>2]|0,q,(c[k>>2]|0)+8|0)|0;if(c[l>>2]|0)break;if((c[(c[k>>2]|0)+8>>2]|0)==4){c[l>>2]=70;break}if((c[(c[k>>2]|0)+8>>2]|0)==3){vg(c[n>>2]|0);c[n>>2]=xg(c[m>>2]|0,37805,0)|0;if(c[n>>2]|0){c[s>>2]=Bg(c[n>>2]|0,1,p)|0;if(c[s>>2]|0){g=ok(c[s>>2]|0,c[p>>2]|0)|0;c[(c[k>>2]|0)+16>>2]=g;if(!(c[(c[k>>2]|0)+16>>2]|0))c[l>>2]=5}else c[l>>2]=68;if(c[l>>2]|0)break}vg(c[n>>2]|0);c[n>>2]=xg(c[m>>2]|0,37889,0)|0;if(c[n>>2]|0){c[s>>2]=Bg(c[n>>2]|0,1,p)|0;do if(c[s>>2]|0){if((c[p>>2]|0)>>>0>0){g=Vf(c[p>>2]|0)|0;c[(c[k>>2]|0)+20>>2]=g;if(c[(c[k>>2]|0)+20>>2]|0){Dx(c[(c[k>>2]|0)+20>>2]|0,c[s>>2]|0,c[p>>2]|0)|0;c[(c[k>>2]|0)+24>>2]=c[p>>2];break}else{c[l>>2]=iu()|0;break}}}else c[l>>2]=68;while(0);if(c[l>>2]|0)break}}c[r>>2]=2;a:while(1){vg(c[n>>2]|0);g=zg(c[m>>2]|0,c[r>>2]|0)|0;c[n>>2]=g;if(!g)break;c[s>>2]=Bg(c[n>>2]|0,0,p)|0;if(!((c[p>>2]|0)==9?!(mw(c[s>>2]|0,37805,9)|0):0))t=30;do if((t|0)==30){t=0;if((c[p>>2]|0)==5?(mw(c[s>>2]|0,37889,5)|0)==0:0)break;if((c[p>>2]|0)!=15)break a;if(mw(c[s>>2]|0,37895,15)|0)break a}while(0);c[r>>2]=(c[r>>2]|0)+1}if(!(c[n>>2]|0)){c[l>>2]=68;break}$f(c[o>>2]|0);c[o>>2]=Eg(c[n>>2]|0,0)|0;if(!(c[o>>2]|0)){c[l>>2]=65;break}}else c[q>>2]=c[q>>2]|8;c[r>>2]=0;while(1){if(!(c[(c[h>>2]|0)+(c[r>>2]<<2)>>2]|0))break;if(!(Vv(c[o>>2]|0,c[(c[h>>2]|0)+(c[r>>2]<<2)>>2]|0)|0))break;c[r>>2]=(c[r>>2]|0)+1}if(c[(c[h>>2]|0)+(c[r>>2]<<2)>>2]|0){c[c[j>>2]>>2]=c[n>>2];c[n>>2]=0;g=(c[k>>2]|0)+12|0;c[g>>2]=c[g>>2]|c[q>>2];c[l>>2]=0;break}else{c[l>>2]=70;break}}else c[l>>2]=65;while(0);$f(c[o>>2]|0);vg(c[n>>2]|0);vg(c[m>>2]|0);i=f;return c[l>>2]|0}function ok(b,d){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+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;while(1){if(!(c[4340+(c[j>>2]<<3)>>2]|0))break;d=Kv(c[4340+(c[j>>2]<<3)>>2]|0)|0;if((d|0)==(c[g>>2]|0)?(mw(c[4340+(c[j>>2]<<3)>>2]|0,c[f>>2]|0,c[g>>2]|0)|0)==0:0)break;c[j>>2]=(c[j>>2]|0)+1}if(c[4340+(c[j>>2]<<3)>>2]|0){c[h>>2]=c[4340+(c[j>>2]<<3)+4>>2];l=c[h>>2]|0;i=e;return l|0}c[k>>2]=Vf((c[g>>2]|0)+1|0)|0;if(c[k>>2]|0){Dx(c[k>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;a[(c[k>>2]|0)+(c[g>>2]|0)>>0]=0;c[h>>2]=pj(c[k>>2]|0)|0;$f(c[k>>2]|0);l=c[h>>2]|0;i=e;return l|0}else{c[h>>2]=0;l=c[h>>2]|0;i=e;return l|0}return 0}function pk(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[f>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+8>>2]=5;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+16>>2]=2;c[(c[f>>2]|0)+20>>2]=0;c[(c[f>>2]|0)+24>>2]=0;c[(c[f>>2]|0)+28>>2]=20;c[(c[f>>2]|0)+32>>2]=0;c[(c[f>>2]|0)+36>>2]=0;i=e;return}function qk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;$f(c[(c[d>>2]|0)+20>>2]|0);i=b;return} +function Np(a,b,e,f){a=a|0;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;g=i;i=i+144|0;h=g+128|0;j=g+124|0;k=g+120|0;l=g+116|0;m=g+112|0;n=g+108|0;o=g+104|0;p=g+100|0;q=g+96|0;r=g+92|0;s=g+88|0;t=g+84|0;u=g+80|0;v=g+76|0;w=g+72|0;x=g+68|0;y=g+64|0;z=g+60|0;A=g+56|0;B=g+52|0;C=g+48|0;D=g+44|0;E=g+40|0;F=g+36|0;G=g+32|0;H=g+28|0;I=g+24|0;J=g+20|0;K=g+16|0;L=g+12|0;M=g+8|0;N=g+4|0;O=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;if(!(c[l>>2]|0)){c[h>>2]=0;P=c[h>>2]|0;i=g;return P|0}c[s>>2]=c[m>>2];f=c[s>>2]|0;c[t>>2]=(c[s>>2]|0)>>>0<65536?(f>>>0<256?0:8):f>>>0<16777216?16:24;c[r>>2]=32-((d[45806+((c[s>>2]|0)>>>(c[t>>2]|0))>>0]|0)+(c[t>>2]|0));if(!(c[r>>2]|0)){c[n>>2]=(c[l>>2]|0)-1;c[q>>2]=c[(c[k>>2]|0)+(c[n>>2]<<2)>>2];if((c[q>>2]|0)>>>0>=(c[m>>2]|0)>>>0)c[q>>2]=0;else{t=c[n>>2]|0;c[n>>2]=t+-1;c[(c[j>>2]|0)+(t<<2)>>2]=0}while(1){if((c[n>>2]|0)<0)break;c[p>>2]=c[(c[k>>2]|0)+(c[n>>2]<<2)>>2];c[I>>2]=(c[m>>2]|0)>>>16;c[J>>2]=c[m>>2]&65535;c[M>>2]=((c[q>>2]|0)>>>0)%((c[I>>2]|0)>>>0)|0;c[K>>2]=((c[q>>2]|0)>>>0)/((c[I>>2]|0)>>>0)|0;c[O>>2]=_(c[K>>2]|0,c[J>>2]|0)|0;c[M>>2]=c[M>>2]<<16|(c[p>>2]|0)>>>16;if(((c[M>>2]|0)>>>0<(c[O>>2]|0)>>>0?(c[K>>2]=(c[K>>2]|0)+-1,c[M>>2]=(c[M>>2]|0)+(c[m>>2]|0),(c[M>>2]|0)>>>0>=(c[m>>2]|0)>>>0):0)?(c[M>>2]|0)>>>0<(c[O>>2]|0)>>>0:0){c[K>>2]=(c[K>>2]|0)+-1;c[M>>2]=(c[M>>2]|0)+(c[m>>2]|0)}c[M>>2]=(c[M>>2]|0)-(c[O>>2]|0);c[N>>2]=((c[M>>2]|0)>>>0)%((c[I>>2]|0)>>>0)|0;c[L>>2]=((c[M>>2]|0)>>>0)/((c[I>>2]|0)>>>0)|0;c[O>>2]=_(c[L>>2]|0,c[J>>2]|0)|0;c[N>>2]=c[N>>2]<<16|c[p>>2]&65535;if(((c[N>>2]|0)>>>0<(c[O>>2]|0)>>>0?(c[L>>2]=(c[L>>2]|0)+-1,c[N>>2]=(c[N>>2]|0)+(c[m>>2]|0),(c[N>>2]|0)>>>0>=(c[m>>2]|0)>>>0):0)?(c[N>>2]|0)>>>0<(c[O>>2]|0)>>>0:0){c[L>>2]=(c[L>>2]|0)+-1;c[N>>2]=(c[N>>2]|0)+(c[m>>2]|0)}c[N>>2]=(c[N>>2]|0)-(c[O>>2]|0);c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]=c[K>>2]<<16|c[L>>2];c[q>>2]=c[N>>2];c[n>>2]=(c[n>>2]|0)+-1}c[h>>2]=c[q>>2];P=c[h>>2]|0;i=g;return P|0}c[m>>2]=c[m>>2]<<c[r>>2];c[o>>2]=c[(c[k>>2]|0)+((c[l>>2]|0)-1<<2)>>2];c[q>>2]=(c[o>>2]|0)>>>(32-(c[r>>2]|0)|0);c[n>>2]=(c[l>>2]|0)-2;while(1){if((c[n>>2]|0)<0)break;c[p>>2]=c[(c[k>>2]|0)+(c[n>>2]<<2)>>2];c[u>>2]=(c[m>>2]|0)>>>16;c[v>>2]=c[m>>2]&65535;c[y>>2]=((c[q>>2]|0)>>>0)%((c[u>>2]|0)>>>0)|0;c[w>>2]=((c[q>>2]|0)>>>0)/((c[u>>2]|0)>>>0)|0;c[A>>2]=_(c[w>>2]|0,c[v>>2]|0)|0;c[y>>2]=c[y>>2]<<16|(c[o>>2]<<c[r>>2]|(c[p>>2]|0)>>>(32-(c[r>>2]|0)|0))>>>16;if(((c[y>>2]|0)>>>0<(c[A>>2]|0)>>>0?(c[w>>2]=(c[w>>2]|0)+-1,c[y>>2]=(c[y>>2]|0)+(c[m>>2]|0),(c[y>>2]|0)>>>0>=(c[m>>2]|0)>>>0):0)?(c[y>>2]|0)>>>0<(c[A>>2]|0)>>>0:0){c[w>>2]=(c[w>>2]|0)+-1;c[y>>2]=(c[y>>2]|0)+(c[m>>2]|0)}c[y>>2]=(c[y>>2]|0)-(c[A>>2]|0);c[z>>2]=((c[y>>2]|0)>>>0)%((c[u>>2]|0)>>>0)|0;c[x>>2]=((c[y>>2]|0)>>>0)/((c[u>>2]|0)>>>0)|0;c[A>>2]=_(c[x>>2]|0,c[v>>2]|0)|0;c[z>>2]=c[z>>2]<<16|(c[o>>2]<<c[r>>2]|(c[p>>2]|0)>>>(32-(c[r>>2]|0)|0))&65535;if(((c[z>>2]|0)>>>0<(c[A>>2]|0)>>>0?(c[x>>2]=(c[x>>2]|0)+-1,c[z>>2]=(c[z>>2]|0)+(c[m>>2]|0),(c[z>>2]|0)>>>0>=(c[m>>2]|0)>>>0):0)?(c[z>>2]|0)>>>0<(c[A>>2]|0)>>>0:0){c[x>>2]=(c[x>>2]|0)+-1;c[z>>2]=(c[z>>2]|0)+(c[m>>2]|0)}c[z>>2]=(c[z>>2]|0)-(c[A>>2]|0);c[(c[j>>2]|0)+((c[n>>2]|0)+1<<2)>>2]=c[w>>2]<<16|c[x>>2];c[q>>2]=c[z>>2];c[o>>2]=c[p>>2];c[n>>2]=(c[n>>2]|0)+-1}c[B>>2]=(c[m>>2]|0)>>>16;c[C>>2]=c[m>>2]&65535;c[F>>2]=((c[q>>2]|0)>>>0)%((c[B>>2]|0)>>>0)|0;c[D>>2]=((c[q>>2]|0)>>>0)/((c[B>>2]|0)>>>0)|0;c[H>>2]=_(c[D>>2]|0,c[C>>2]|0)|0;c[F>>2]=c[F>>2]<<16|c[o>>2]<<c[r>>2]>>>16;if(((c[F>>2]|0)>>>0<(c[H>>2]|0)>>>0?(c[D>>2]=(c[D>>2]|0)+-1,c[F>>2]=(c[F>>2]|0)+(c[m>>2]|0),(c[F>>2]|0)>>>0>=(c[m>>2]|0)>>>0):0)?(c[F>>2]|0)>>>0<(c[H>>2]|0)>>>0:0){c[D>>2]=(c[D>>2]|0)+-1;c[F>>2]=(c[F>>2]|0)+(c[m>>2]|0)}c[F>>2]=(c[F>>2]|0)-(c[H>>2]|0);c[G>>2]=((c[F>>2]|0)>>>0)%((c[B>>2]|0)>>>0)|0;c[E>>2]=((c[F>>2]|0)>>>0)/((c[B>>2]|0)>>>0)|0;c[H>>2]=_(c[E>>2]|0,c[C>>2]|0)|0;c[G>>2]=c[G>>2]<<16|c[o>>2]<<c[r>>2]&65535;if(((c[G>>2]|0)>>>0<(c[H>>2]|0)>>>0?(c[E>>2]=(c[E>>2]|0)+-1,c[G>>2]=(c[G>>2]|0)+(c[m>>2]|0),(c[G>>2]|0)>>>0>=(c[m>>2]|0)>>>0):0)?(c[G>>2]|0)>>>0<(c[H>>2]|0)>>>0:0){c[E>>2]=(c[E>>2]|0)+-1;c[G>>2]=(c[G>>2]|0)+(c[m>>2]|0)}c[G>>2]=(c[G>>2]|0)-(c[H>>2]|0);c[c[j>>2]>>2]=c[D>>2]<<16|c[E>>2];c[q>>2]=c[G>>2];c[h>>2]=(c[q>>2]|0)>>>(c[r>>2]|0);P=c[h>>2]|0;i=g;return P|0}function Op(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;f=i;i=i+48|0;g=f+36|0;h=f+32|0;j=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+8|0;p=f+4|0;q=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[n>>2]=c[k>>2];c[g>>2]=(c[g>>2]|0)+4;c[o>>2]=32-(c[n>>2]|0);c[p>>2]=(c[j>>2]|0)-1;c[m>>2]=c[(c[h>>2]|0)+(c[p>>2]<<2)>>2];c[q>>2]=(c[m>>2]|0)>>>(c[o>>2]|0);c[l>>2]=c[m>>2];while(1){j=(c[p>>2]|0)+-1|0;c[p>>2]=j;if((j|0)<0)break;c[m>>2]=c[(c[h>>2]|0)+(c[p>>2]<<2)>>2];c[(c[g>>2]|0)+(c[p>>2]<<2)>>2]=c[l>>2]<<c[n>>2]|(c[m>>2]|0)>>>(c[o>>2]|0);c[l>>2]=c[m>>2]}c[(c[g>>2]|0)+(c[p>>2]<<2)>>2]=c[l>>2]<<c[n>>2];i=f;return c[q>>2]|0}function Pp(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;f=i;i=i+80|0;g=f+68|0;h=f+64|0;j=f+60|0;k=f+56|0;l=f+52|0;m=f+48|0;n=f+44|0;o=f+40|0;p=f+36|0;q=f+32|0;r=f+28|0;s=f+24|0;t=f+20|0;u=f+16|0;v=f+12|0;w=f+8|0;x=f+4|0;y=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=0-(c[j>>2]|0);c[h>>2]=(c[h>>2]|0)+(0-(c[m>>2]|0)<<2);c[g>>2]=(c[g>>2]|0)+(0-(c[m>>2]|0)<<2);c[l>>2]=0;do{c[x>>2]=c[(c[h>>2]|0)+(c[m>>2]<<2)>>2];c[y>>2]=c[k>>2];c[t>>2]=c[x>>2]&65535;c[v>>2]=(c[x>>2]|0)>>>16;c[u>>2]=c[y>>2]&65535;c[w>>2]=(c[y>>2]|0)>>>16;c[p>>2]=_(c[t>>2]|0,c[u>>2]|0)|0;c[q>>2]=_(c[t>>2]|0,c[w>>2]|0)|0;c[r>>2]=_(c[v>>2]|0,c[u>>2]|0)|0;c[s>>2]=_(c[v>>2]|0,c[w>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+((c[p>>2]|0)>>>16);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);if((c[q>>2]|0)>>>0<(c[r>>2]|0)>>>0)c[s>>2]=(c[s>>2]|0)+65536;c[n>>2]=(c[s>>2]|0)+((c[q>>2]|0)>>>16);c[o>>2]=((c[q>>2]&65535)<<16)+(c[p>>2]&65535);c[o>>2]=(c[o>>2]|0)+(c[l>>2]|0);c[l>>2]=((c[o>>2]|0)>>>0<(c[l>>2]|0)>>>0?1:0)+(c[n>>2]|0);c[(c[g>>2]|0)+(c[m>>2]<<2)>>2]=c[o>>2];j=(c[m>>2]|0)+1|0;c[m>>2]=j}while((j|0)!=0);i=f;return c[l>>2]|0}function Qp(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+80|0;g=f+72|0;h=f+68|0;j=f+64|0;k=f+60|0;l=f+56|0;m=f+52|0;n=f+48|0;o=f+44|0;p=f+40|0;q=f+36|0;r=f+32|0;s=f+28|0;t=f+24|0;u=f+20|0;v=f+16|0;w=f+12|0;x=f+8|0;y=f+4|0;z=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=0-(c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+(0-(c[m>>2]|0)<<2);c[h>>2]=(c[h>>2]|0)+(0-(c[m>>2]|0)<<2);c[l>>2]=0;do{c[y>>2]=c[(c[h>>2]|0)+(c[m>>2]<<2)>>2];c[z>>2]=c[k>>2];c[u>>2]=c[y>>2]&65535;c[w>>2]=(c[y>>2]|0)>>>16;c[v>>2]=c[z>>2]&65535;c[x>>2]=(c[z>>2]|0)>>>16;c[q>>2]=_(c[u>>2]|0,c[v>>2]|0)|0;c[r>>2]=_(c[u>>2]|0,c[x>>2]|0)|0;c[s>>2]=_(c[w>>2]|0,c[v>>2]|0)|0;c[t>>2]=_(c[w>>2]|0,c[x>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+((c[q>>2]|0)>>>16);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);if((c[r>>2]|0)>>>0<(c[s>>2]|0)>>>0)c[t>>2]=(c[t>>2]|0)+65536;c[n>>2]=(c[t>>2]|0)+((c[r>>2]|0)>>>16);c[o>>2]=((c[r>>2]&65535)<<16)+(c[q>>2]&65535);c[o>>2]=(c[o>>2]|0)+(c[l>>2]|0);c[l>>2]=((c[o>>2]|0)>>>0<(c[l>>2]|0)>>>0?1:0)+(c[n>>2]|0);c[p>>2]=c[(c[g>>2]|0)+(c[m>>2]<<2)>>2];c[o>>2]=(c[p>>2]|0)-(c[o>>2]|0);c[l>>2]=(c[l>>2]|0)+((c[o>>2]|0)>>>0>(c[p>>2]|0)>>>0?1:0);c[(c[g>>2]|0)+(c[m>>2]<<2)>>2]=c[o>>2];j=(c[m>>2]|0)+1|0;c[m>>2]=j}while((j|0)!=0);i=f;return c[l>>2]|0}function Rp(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;f=i;i=i+48|0;g=f+32|0;h=f+28|0;j=f+24|0;k=f+20|0;l=f+16|0;m=f+12|0;n=f+8|0;o=f+4|0;p=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[n>>2]=c[c[j>>2]>>2];if((c[n>>2]|0)>>>0<=1){a:do if((c[n>>2]|0)==1){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break a;c[(c[g>>2]|0)+(c[o>>2]<<2)>>2]=c[(c[h>>2]|0)+(c[o>>2]<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}}else{c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[k>>2]|0))break a;c[(c[g>>2]|0)+(c[p>>2]<<2)>>2]=0;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[m>>2]=0}else c[m>>2]=Pp(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,c[n>>2]|0)|0;c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]=c[m>>2];c[g>>2]=(c[g>>2]|0)+4;c[l>>2]=1;while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;c[n>>2]=c[(c[j>>2]|0)+(c[l>>2]<<2)>>2];if((c[n>>2]|0)>>>0<=1){c[m>>2]=0;if((c[n>>2]|0)==1)c[m>>2]=Kp(c[g>>2]|0,c[g>>2]|0,c[h>>2]|0,c[k>>2]|0)|0}else c[m>>2]=Wt(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,c[n>>2]|0)|0;c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]=c[m>>2];c[g>>2]=(c[g>>2]|0)+4;c[l>>2]=(c[l>>2]|0)+1}i=f;return c[m>>2]|0}function Sp(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;g=i;i=i+48|0;h=g+44|0;j=g+40|0;k=g+36|0;l=g+32|0;m=g+28|0;n=g+24|0;o=g+20|0;p=g+16|0;q=g+12|0;r=g+8|0;s=g+4|0;t=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=c[l>>2]|0;if(c[l>>2]&1|0){c[n>>2]=f-1;e=c[h>>2]|0;d=c[j>>2]|0;b=c[k>>2]|0;a=c[n>>2]|0;if((c[n>>2]|0)<16)Rp(e,d,b,a)|0;else Sp(e,d,b,a,c[m>>2]|0);c[o>>2]=Wt((c[h>>2]|0)+(c[n>>2]<<2)|0,c[j>>2]|0,c[n>>2]|0,c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)|0;c[(c[h>>2]|0)+((c[n>>2]|0)+(c[n>>2]|0)<<2)>>2]=c[o>>2];c[o>>2]=Wt((c[h>>2]|0)+(c[n>>2]<<2)|0,c[k>>2]|0,c[l>>2]|0,c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]|0)|0;c[(c[h>>2]|0)+((c[n>>2]|0)+(c[l>>2]|0)<<2)>>2]=c[o>>2];i=g;return}c[p>>2]=f>>1;f=(c[h>>2]|0)+(c[l>>2]<<2)|0;o=(c[j>>2]|0)+(c[p>>2]<<2)|0;n=(c[k>>2]|0)+(c[p>>2]<<2)|0;a=c[p>>2]|0;if((c[p>>2]|0)<16)Rp(f,o,n,a)|0;else Sp(f,o,n,a,c[m>>2]|0);a=(op((c[j>>2]|0)+(c[p>>2]<<2)|0,c[j>>2]|0,c[p>>2]|0)|0)>=0;n=c[h>>2]|0;o=c[j>>2]|0;if(a){Xp(n,o+(c[p>>2]<<2)|0,c[j>>2]|0,c[p>>2]|0)|0;c[r>>2]=0}else{Xp(n,o,(c[j>>2]|0)+(c[p>>2]<<2)|0,c[p>>2]|0)|0;c[r>>2]=1}o=(op((c[k>>2]|0)+(c[p>>2]<<2)|0,c[k>>2]|0,c[p>>2]|0)|0)>=0;n=(c[h>>2]|0)+(c[p>>2]<<2)|0;a=c[k>>2]|0;if(o){Xp(n,a+(c[p>>2]<<2)|0,c[k>>2]|0,c[p>>2]|0)|0;c[r>>2]=c[r>>2]^1}else Xp(n,a,(c[k>>2]|0)+(c[p>>2]<<2)|0,c[p>>2]|0)|0;a=c[m>>2]|0;n=c[h>>2]|0;o=(c[h>>2]|0)+(c[p>>2]<<2)|0;f=c[p>>2]|0;if((c[p>>2]|0)<16)Rp(a,n,o,f)|0;else Sp(a,n,o,f,(c[m>>2]|0)+(c[l>>2]<<2)|0);c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[p>>2]|0))break;c[(c[h>>2]|0)+(c[p>>2]<<2)+(c[s>>2]<<2)>>2]=c[(c[h>>2]|0)+(c[l>>2]<<2)+(c[s>>2]<<2)>>2];c[s>>2]=(c[s>>2]|0)+1}c[q>>2]=Kp((c[h>>2]|0)+(c[l>>2]<<2)|0,(c[h>>2]|0)+(c[l>>2]<<2)|0,(c[h>>2]|0)+(c[l>>2]<<2)+(c[p>>2]<<2)|0,c[p>>2]|0)|0;s=(c[h>>2]|0)+(c[p>>2]<<2)|0;f=(c[h>>2]|0)+(c[p>>2]<<2)|0;o=c[m>>2]|0;n=c[l>>2]|0;if(c[r>>2]|0){r=Xp(s,f,o,n)|0;c[q>>2]=(c[q>>2]|0)-r}else{r=Kp(s,f,o,n)|0;c[q>>2]=(c[q>>2]|0)+r}r=c[m>>2]|0;n=c[j>>2]|0;j=c[k>>2]|0;k=c[p>>2]|0;if((c[p>>2]|0)<16)Rp(r,n,j,k)|0;else Sp(r,n,j,k,(c[m>>2]|0)+(c[l>>2]<<2)|0);k=Kp((c[h>>2]|0)+(c[p>>2]<<2)|0,(c[h>>2]|0)+(c[p>>2]<<2)|0,c[m>>2]|0,c[l>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+k;if(c[q>>2]|0)kp((c[h>>2]|0)+(c[p>>2]<<2)+(c[l>>2]<<2)|0,(c[h>>2]|0)+(c[p>>2]<<2)+(c[l>>2]<<2)|0,c[p>>2]|0,c[q>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[p>>2]|0))break;c[(c[h>>2]|0)+(c[t>>2]<<2)>>2]=c[(c[m>>2]|0)+(c[t>>2]<<2)>>2];c[t>>2]=(c[t>>2]|0)+1}c[q>>2]=Kp((c[h>>2]|0)+(c[p>>2]<<2)|0,(c[h>>2]|0)+(c[p>>2]<<2)|0,(c[m>>2]|0)+(c[p>>2]<<2)|0,c[p>>2]|0)|0;if(!(c[q>>2]|0)){i=g;return}kp((c[h>>2]|0)+(c[l>>2]<<2)|0,(c[h>>2]|0)+(c[l>>2]<<2)|0,c[l>>2]|0,1)|0;i=g;return}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,n=0,o=0,p=0,q=0,r=0;h=i;i=i+32|0;j=h+24|0;k=h+20|0;l=h+16|0;m=h+12|0;n=h+8|0;o=h+4|0;p=h;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;if(!(c[(c[o>>2]|0)+4>>2]|0?(c[(c[o>>2]|0)+12>>2]|0)>=(c[n>>2]|0):0)){if(c[(c[o>>2]|0)+4>>2]|0)cq(c[(c[o>>2]|0)+4>>2]|0,c[(c[o>>2]|0)+8>>2]|0);c[(c[o>>2]|0)+8>>2]=c[n>>2]<<1;g=c[n>>2]<<1;if(Zf(c[k>>2]|0)|0)q=1;else q=(Zf(c[m>>2]|0)|0)!=0;f=aq(g,q&1)|0;c[(c[o>>2]|0)+4>>2]=f;c[(c[o>>2]|0)+12>>2]=c[n>>2]}f=c[j>>2]|0;q=c[k>>2]|0;g=c[m>>2]|0;e=c[n>>2]|0;if((c[n>>2]|0)<16)Rp(f,q,g,e)|0;else Sp(f,q,g,e,c[(c[o>>2]|0)+4>>2]|0);c[j>>2]=(c[j>>2]|0)+(c[n>>2]<<2);c[k>>2]=(c[k>>2]|0)+(c[n>>2]<<2);c[l>>2]=(c[l>>2]|0)-(c[n>>2]|0);if((c[l>>2]|0)>=(c[n>>2]|0)){if(!(c[(c[o>>2]|0)+16>>2]|0?(c[(c[o>>2]|0)+24>>2]|0)>=(c[n>>2]|0):0)){if(c[(c[o>>2]|0)+16>>2]|0)cq(c[(c[o>>2]|0)+16>>2]|0,c[(c[o>>2]|0)+20>>2]|0);c[(c[o>>2]|0)+20>>2]=c[n>>2]<<1;e=c[n>>2]<<1;if(Zf(c[k>>2]|0)|0)r=1;else r=(Zf(c[m>>2]|0)|0)!=0;g=aq(e,r&1)|0;c[(c[o>>2]|0)+16>>2]=g;c[(c[o>>2]|0)+24>>2]=c[n>>2]}do{g=c[(c[o>>2]|0)+16>>2]|0;r=c[k>>2]|0;e=c[m>>2]|0;q=c[n>>2]|0;if((c[n>>2]|0)<16)Rp(g,r,e,q)|0;else Sp(g,r,e,q,c[(c[o>>2]|0)+4>>2]|0);c[p>>2]=Kp(c[j>>2]|0,c[j>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[n>>2]|0)|0;kp((c[j>>2]|0)+(c[n>>2]<<2)|0,(c[(c[o>>2]|0)+16>>2]|0)+(c[n>>2]<<2)|0,c[n>>2]|0,c[p>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[n>>2]<<2);c[k>>2]=(c[k>>2]|0)+(c[n>>2]<<2);c[l>>2]=(c[l>>2]|0)-(c[n>>2]|0)}while((c[l>>2]|0)>=(c[n>>2]|0))}if(!(c[l>>2]|0)){i=h;return}q=c[o>>2]|0;if((c[l>>2]|0)<16)Up(c[q+4>>2]|0,c[m>>2]|0,c[n>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;else{if(!(c[q>>2]|0)){q=gg(1,28)|0;c[c[o>>2]>>2]=q}Tp(c[(c[o>>2]|0)+4>>2]|0,c[m>>2]|0,c[n>>2]|0,c[k>>2]|0,c[l>>2]|0,c[c[o>>2]>>2]|0)}c[p>>2]=Kp(c[j>>2]|0,c[j>>2]|0,c[(c[o>>2]|0)+4>>2]|0,c[n>>2]|0)|0;kp((c[j>>2]|0)+(c[n>>2]<<2)|0,(c[(c[o>>2]|0)+4>>2]|0)+(c[n>>2]<<2)|0,c[l>>2]|0,c[p>>2]|0)|0;i=h;return}function Up(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;g=i;i=i+80|0;h=g+72|0;j=g+68|0;k=g+64|0;l=g+60|0;m=g+56|0;n=g+52|0;o=g+48|0;p=g+44|0;q=g+16|0;r=g+12|0;s=g+8|0;t=g+4|0;u=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=(c[j>>2]|0)+(c[l>>2]<<2)+(c[n>>2]<<2)+-4;if((c[n>>2]|0)>=16){c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;Tp(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,q);Vp(q);c[h>>2]=c[c[o>>2]>>2];v=c[h>>2]|0;i=g;return v|0}if(!(c[n>>2]|0)){c[h>>2]=0;v=c[h>>2]|0;i=g;return v|0}c[s>>2]=c[c[m>>2]>>2];if((c[s>>2]|0)>>>0<=1){a:do if((c[s>>2]|0)==1){c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[l>>2]|0))break a;c[(c[j>>2]|0)+(c[t>>2]<<2)>>2]=c[(c[k>>2]|0)+(c[t>>2]<<2)>>2];c[t>>2]=(c[t>>2]|0)+1}}else{c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[l>>2]|0))break a;c[(c[j>>2]|0)+(c[u>>2]<<2)>>2]=0;c[u>>2]=(c[u>>2]|0)+1}}while(0);c[p>>2]=0}else c[p>>2]=Pp(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[s>>2]|0)|0;c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]=c[p>>2];c[j>>2]=(c[j>>2]|0)+4;c[r>>2]=1;while(1){if((c[r>>2]|0)>=(c[n>>2]|0))break;c[s>>2]=c[(c[m>>2]|0)+(c[r>>2]<<2)>>2];if((c[s>>2]|0)>>>0<=1){c[p>>2]=0;if((c[s>>2]|0)==1)c[p>>2]=Kp(c[j>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0}else c[p>>2]=Wt(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[s>>2]|0)|0;c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]=c[p>>2];c[j>>2]=(c[j>>2]|0)+4;c[r>>2]=(c[r>>2]|0)+1}c[h>>2]=c[p>>2];v=c[h>>2]|0;i=g;return v|0}function Vp(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;if(c[(c[d>>2]|0)+16>>2]|0)cq(c[(c[d>>2]|0)+16>>2]|0,c[(c[d>>2]|0)+20>>2]|0);if(c[(c[d>>2]|0)+4>>2]|0)cq(c[(c[d>>2]|0)+4>>2]|0,c[(c[d>>2]|0)+8>>2]|0);c[d>>2]=c[c[d>>2]>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];if(c[(c[d>>2]|0)+16>>2]|0)cq(c[(c[d>>2]|0)+16>>2]|0,c[(c[d>>2]|0)+20>>2]|0);if(c[(c[d>>2]|0)+4>>2]|0)cq(c[(c[d>>2]|0)+4>>2]|0,c[(c[d>>2]|0)+8>>2]|0);$f(c[d>>2]|0);c[d>>2]=c[e>>2]}i=b;return}function Wp(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;f=i;i=i+48|0;g=f+36|0;h=f+32|0;j=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+8|0;p=f+4|0;q=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[n>>2]=c[k>>2];c[g>>2]=(c[g>>2]|0)+-4;c[o>>2]=32-(c[n>>2]|0);c[l>>2]=c[c[h>>2]>>2];c[q>>2]=c[l>>2]<<c[o>>2];c[m>>2]=c[l>>2];c[p>>2]=1;while(1){if((c[p>>2]|0)>=(c[j>>2]|0))break;c[l>>2]=c[(c[h>>2]|0)+(c[p>>2]<<2)>>2];c[(c[g>>2]|0)+(c[p>>2]<<2)>>2]=(c[m>>2]|0)>>>(c[n>>2]|0)|c[l>>2]<<c[o>>2];c[m>>2]=c[l>>2];c[p>>2]=(c[p>>2]|0)+1}c[(c[g>>2]|0)+(c[p>>2]<<2)>>2]=(c[m>>2]|0)>>>(c[n>>2]|0);i=f;return c[q>>2]|0}function Xp(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+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;o=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[o>>2]=0-(c[k>>2]|0);c[h>>2]=(c[h>>2]|0)+(0-(c[o>>2]|0)<<2);c[j>>2]=(c[j>>2]|0)+(0-(c[o>>2]|0)<<2);c[g>>2]=(c[g>>2]|0)+(0-(c[o>>2]|0)<<2);c[n>>2]=0;do{c[m>>2]=c[(c[j>>2]|0)+(c[o>>2]<<2)>>2];c[l>>2]=c[(c[h>>2]|0)+(c[o>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);c[n>>2]=(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0&1;c[m>>2]=(c[l>>2]|0)-(c[m>>2]|0);c[n>>2]=(c[n>>2]|0)+((c[m>>2]|0)>>>0>(c[l>>2]|0)>>>0&1);c[(c[g>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];k=(c[o>>2]|0)+1|0;c[o>>2]=k}while((k|0)!=0);i=f;return c[n>>2]|0}function Yp(){return 46156}function Zp(){var a=0,b=0,d=0,e=0,f=0,g=0;a=i;i=i+16|0;b=a;d=a+8|0;e=a+4|0;c[d>>2]=0;a:while(1){if((c[d>>2]|0)>=6){f=12;break}switch(c[d>>2]|0){case 0:{c[e>>2]=0;break}case 1:{c[e>>2]=1;break}case 2:{c[e>>2]=2;break}case 3:{c[e>>2]=3;break}case 4:{c[e>>2]=4;break}case 5:{c[e>>2]=8;break}default:{f=10;break a}}g=_p(c[e>>2]|0)|0;c[70860+(c[d>>2]<<2)>>2]=g;c[(c[70860+(c[d>>2]<<2)>>2]|0)+12>>2]=48;c[d>>2]=(c[d>>2]|0)+1}if((f|0)==10){c[b>>2]=c[d>>2];Cf(46300,b)}else if((f|0)==12){i=a;return 0}return 0}function _p(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=$p(1)|0;c[c[(c[e>>2]|0)+16>>2]>>2]=c[d>>2];c[(c[e>>2]|0)+4>>2]=c[d>>2]|0?1:0;c[(c[e>>2]|0)+8>>2]=0;i=b;return c[e>>2]|0}function $p(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=dg(20)|0;if(c[d>>2]|0)f=aq(c[d>>2]|0,0)|0;else f=0;c[(c[e>>2]|0)+16>>2]=f;c[c[e>>2]>>2]=c[d>>2];c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+12>>2]=0;i=b;return c[e>>2]|0}function aq(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+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[h>>2]=(c[e>>2]|0?c[e>>2]|0:1)<<2;b=c[h>>2]|0;if(c[f>>2]|0)j=fg(b)|0;else j=dg(b)|0;c[g>>2]=j;if(c[e>>2]|0){k=c[g>>2]|0;i=d;return k|0}c[c[g>>2]>>2]=0;k=c[g>>2]|0;i=d;return k|0}function bq(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=dg(20)|0;if(c[d>>2]|0)f=aq(c[d>>2]|0,1)|0;else f=0;c[(c[e>>2]|0)+16>>2]=f;c[c[e>>2]>>2]=c[d>>2];c[(c[e>>2]|0)+12>>2]=1;c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=0;i=b;return c[e>>2]|0}function cq(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+48|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+32|0;n=f;o=f+8|0;c[g>>2]=b;c[h>>2]=e;if(!(c[g>>2]|0)){i=f;return}c[j>>2]=c[h>>2]<<2;a:do if(c[j>>2]|0){c[k>>2]=c[g>>2];c[l>>2]=c[j>>2];a[m>>0]=0;h=n;c[h>>2]=d[m>>0];c[h+4>>2]=0;while(1){if(!(c[k>>2]&7|0?(c[l>>2]|0)!=0:0))break;a[c[k>>2]>>0]=a[m>>0]|0;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+-1}if((c[l>>2]|0)>>>0>=8){h=n;e=Mx(c[h>>2]|0,c[h+4>>2]|0,16843009,16843009)|0;h=n;c[h>>2]=e;c[h+4>>2]=C;do{c[o>>2]=c[k>>2];h=n;e=c[h+4>>2]|0;b=c[o>>2]|0;c[b>>2]=c[h>>2];c[b+4>>2]=e;c[l>>2]=(c[l>>2]|0)-8;c[k>>2]=(c[k>>2]|0)+8}while((c[l>>2]|0)>>>0>=8)}while(1){if(!(c[l>>2]|0))break a;a[c[k>>2]>>0]=a[m>>0]|0;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+-1}}while(0);$f(c[g>>2]|0);i=f;return}function dq(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;cq(c[(c[f>>2]|0)+16>>2]|0,c[c[f>>2]>>2]|0);c[(c[f>>2]|0)+16>>2]=c[g>>2];c[c[f>>2]>>2]=c[h>>2];i=e;return}function eq(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+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;if((c[f>>2]|0)>>>0<=(c[c[e>>2]>>2]|0)>>>0){c[g>>2]=c[b+4>>2];while(1){if((c[g>>2]|0)>>>0>=(c[c[e>>2]>>2]|0)>>>0)break;c[(c[(c[e>>2]|0)+16>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}i=d;return}a=c[e>>2]|0;a:do if(!(c[b+16>>2]|0)){h=c[f>>2]|0;if(c[a+12>>2]&1|0){j=hg(h,4)|0;c[(c[e>>2]|0)+16>>2]=j;break}else{j=gg(h,4)|0;c[(c[e>>2]|0)+16>>2]=j;break}}else{j=eg(c[a+16>>2]|0,c[f>>2]<<2)|0;c[(c[e>>2]|0)+16>>2]=j;c[g>>2]=c[c[e>>2]>>2];while(1){if((c[g>>2]|0)>>>0>=(c[f>>2]|0)>>>0)break a;c[(c[(c[e>>2]|0)+16>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}}while(0);c[c[e>>2]>>2]=c[f>>2];i=d;return}function fq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(c[d>>2]|0?c[(c[d>>2]|0)+12>>2]&16|0:0){gq();i=b;return}c[(c[d>>2]|0)+4>>2]=0;c[(c[d>>2]|0)+12>>2]=0;i=b;return}function gq(){var a=0;a=i;i=i+16|0;yf(46331,a);i=a;return}function hq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b+4|0;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}if(c[(c[d>>2]|0)+12>>2]&32|0){i=b;return}a=c[(c[d>>2]|0)+16>>2]|0;if(c[(c[d>>2]|0)+12>>2]&4|0)$f(a);else cq(a,c[c[d>>2]>>2]|0);if(c[(c[d>>2]|0)+12>>2]&-3864|0)Cf(46375,b);$f(c[d>>2]|0);i=b;return}function iq(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+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(!(c[g>>2]|0))c[g>>2]=$p(0)|0;if(c[g>>2]|0?c[(c[g>>2]|0)+12>>2]&16|0:0){gq();c[f>>2]=c[g>>2];k=c[f>>2]|0;i=e;return k|0}d=c[(c[g>>2]|0)+16>>2]|0;if(c[(c[g>>2]|0)+12>>2]&4|0)$f(d);else cq(d,c[c[g>>2]>>2]|0);c[(c[g>>2]|0)+16>>2]=c[h>>2];c[c[g>>2]>>2]=0;c[(c[g>>2]|0)+4>>2]=0;c[(c[g>>2]|0)+8>>2]=c[j>>2];c[(c[g>>2]|0)+12>>2]=4|c[(c[g>>2]|0)+12>>2]&3840;if(Zf(c[(c[g>>2]|0)+16>>2]|0)|0){j=(c[g>>2]|0)+12|0;c[j>>2]=c[j>>2]|1}c[f>>2]=c[g>>2];k=c[f>>2]|0;i=e;return k|0}function jq(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+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=(((c[j>>2]|0)+7|0)>>>0)/8|0;d=(Zf(c[h>>2]|0)|0)!=0;b=c[l>>2]|0;if(d)m=Yf(b)|0;else m=Vf(b)|0;c[k>>2]=m;if(c[k>>2]|0){Dx(c[k>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;c[f>>2]=iq(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;n=c[f>>2]|0;i=e;return n|0}else{c[f>>2]=0;n=c[f>>2]|0;i=e;return n|0}return 0}function kq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;c[e>>2]=a;c[f>>2]=b;if(!(c[(c[e>>2]|0)+12>>2]&4))Cf(46407,d);if(c[f>>2]|0)c[c[f>>2]>>2]=c[(c[e>>2]|0)+8>>2];i=d;return c[(c[e>>2]|0)+16>>2]|0}function lq(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+32|0;e=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=kq(c[f>>2]|0,c[g>>2]|0)|0;if((c[h>>2]|0)==0&(c[g>>2]|0)!=0){c[e>>2]=0;l=c[e>>2]|0;i=d;return l|0}c[k>>2]=(((c[c[g>>2]>>2]|0)+7|0)>>>0)/8|0;g=(Zf(c[h>>2]|0)|0)!=0;f=c[k>>2]|0;if(g)m=Yf(f)|0;else m=Vf(f)|0;c[j>>2]=m;if(c[j>>2]|0)Dx(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;c[e>>2]=c[j>>2];l=c[e>>2]|0;i=d;return l|0}function mq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;if(c[d>>2]|0?c[(c[d>>2]|0)+12>>2]&4|0:0){a=(Zf(c[(c[d>>2]|0)+16>>2]|0)|0)!=0;h=((c[(c[d>>2]|0)+8>>2]|0)+7|0)/8|0;if(a)j=fg(h)|0;else j=dg(h)|0;c[g>>2]=j;if(c[(c[d>>2]|0)+16>>2]|0)Dx(c[g>>2]|0,c[(c[d>>2]|0)+16>>2]|0,((c[(c[d>>2]|0)+8>>2]|0)+7|0)/8|0|0)|0;c[f>>2]=iq(0,c[g>>2]|0,c[(c[d>>2]|0)+8>>2]|0)|0;g=(c[f>>2]|0)+12|0;c[g>>2]=c[g>>2]&-49;k=c[f>>2]|0;i=b;return k|0}if(!(c[d>>2]|0)){c[f>>2]=0;k=c[f>>2]|0;i=b;return k|0}if(c[d>>2]|0?c[(c[d>>2]|0)+12>>2]&1|0:0)l=bq(c[(c[d>>2]|0)+4>>2]|0)|0;else l=$p(c[(c[d>>2]|0)+4>>2]|0)|0;c[f>>2]=l;c[(c[f>>2]|0)+4>>2]=c[(c[d>>2]|0)+4>>2];c[(c[f>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2];c[(c[f>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];l=(c[f>>2]|0)+12|0;c[l>>2]=c[l>>2]&-49;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0))break;c[(c[(c[f>>2]|0)+16>>2]|0)+(c[e>>2]<<2)>>2]=c[(c[(c[d>>2]|0)+16>>2]|0)+(c[e>>2]<<2)>>2];c[e>>2]=(c[e>>2]|0)+1}k=c[f>>2]|0;i=b;return k|0}function nq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;if((c[e>>2]|0)==(c[f>>2]|0)){if(b|0?c[(c[e>>2]|0)+12>>2]&16|0:0){gq();i=d;return}}else oq(b,c[f>>2]|0)|0;c[(c[e>>2]|0)+8>>2]=((c[(c[f>>2]|0)+8>>2]|0)!=0^1)&1;i=d;return}function oq(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+28|0;f=d+24|0;g=d+20|0;h=d+16|0;j=d+12|0;k=d+8|0;l=d+4|0;m=d;c[f>>2]=a;c[g>>2]=b;c[k>>2]=c[(c[g>>2]|0)+4>>2];c[l>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[f>>2]|0))c[f>>2]=$p(c[(c[g>>2]|0)+4>>2]|0)|0;if(c[f>>2]|0?c[(c[f>>2]|0)+12>>2]&16|0:0){gq();c[e>>2]=c[f>>2];n=c[e>>2]|0;i=d;return n|0}if((c[c[f>>2]>>2]|0)<(c[k>>2]|0))eq(c[f>>2]|0,c[k>>2]|0);c[h>>2]=c[(c[f>>2]|0)+16>>2];c[j>>2]=c[(c[g>>2]|0)+16>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;c[(c[h>>2]|0)+(c[m>>2]<<2)>>2]=c[(c[j>>2]|0)+(c[m>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}c[(c[f>>2]|0)+4>>2]=c[k>>2];c[(c[f>>2]|0)+12>>2]=c[(c[g>>2]|0)+12>>2];g=(c[f>>2]|0)+12|0;c[g>>2]=c[g>>2]&-49;c[(c[f>>2]|0)+8>>2]=c[l>>2];c[e>>2]=c[f>>2];n=c[e>>2]|0;i=d;return n|0}function pq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;if(c[d>>2]|0?c[(c[d>>2]|0)+12>>2]&4|0:0){c[f>>2]=((c[(c[d>>2]|0)+8>>2]|0)+7|0)/8|0;a=(Zf(c[(c[d>>2]|0)+16>>2]|0)|0)!=0;h=c[f>>2]|0;if(a)j=Yf(h)|0;else j=Vf(h)|0;c[g>>2]=j;Dx(c[g>>2]|0,c[(c[d>>2]|0)+16>>2]|0,c[f>>2]|0)|0;c[e>>2]=iq(0,c[g>>2]|0,c[(c[d>>2]|0)+8>>2]|0)|0;k=c[e>>2]|0;i=b;return k|0}if(!(c[d>>2]|0)){c[e>>2]=0;k=c[e>>2]|0;i=b;return k|0}if(c[d>>2]|0?c[(c[d>>2]|0)+12>>2]&1|0:0)l=bq(c[(c[d>>2]|0)+4>>2]|0)|0;else l=$p(c[(c[d>>2]|0)+4>>2]|0)|0;c[e>>2]=l;c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];k=c[e>>2]|0;i=b;return k|0}function qq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(c[e>>2]|0){if(c[e>>2]|0?c[(c[e>>2]|0)+12>>2]&16|0:0){gq();i=d;return}dq(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[c[f>>2]>>2]|0);c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];c[(c[e>>2]|0)+8>>2]=c[(c[f>>2]|0)+8>>2];c[(c[e>>2]|0)+12>>2]=c[(c[f>>2]|0)+12>>2];c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+16>>2]=0}hq(c[f>>2]|0);i=d;return}function rq(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+32|0;f=e+28|0;g=e+24|0;h=e+20|0;j=e+16|0;k=e+12|0;l=e+8|0;m=e+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=c[c[g>>2]>>2];c[l>>2]=0-(((c[h>>2]|0)!=0^1^1)&1);if((c[c[f>>2]>>2]|0)!=(c[c[g>>2]>>2]|0))Cf(46437,e);c[j>>2]=0;while(1){n=c[l>>2]|0;if((c[j>>2]|0)>=(c[k>>2]|0))break;c[m>>2]=n&(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]^c[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]);c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]^c[m>>2];c[j>>2]=(c[j>>2]|0)+1}c[m>>2]=n&(c[(c[f>>2]|0)+4>>2]^c[(c[g>>2]|0)+4>>2]);c[(c[f>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2]^c[m>>2];c[m>>2]=c[l>>2]&(c[(c[f>>2]|0)+8>>2]^c[(c[g>>2]|0)+8>>2]);c[(c[f>>2]|0)+8>>2]=c[(c[f>>2]|0)+8>>2]^c[m>>2];i=e;return c[f>>2]|0}function sq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0))c[f>>2]=$p(1)|0;if(c[f>>2]|0?c[(c[f>>2]|0)+12>>2]&16|0:0){gq();c[e>>2]=c[f>>2];h=c[e>>2]|0;i=d;return h|0}if((c[c[f>>2]>>2]|0)<1)eq(c[f>>2]|0,1);c[c[(c[f>>2]|0)+16>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+4>>2]=c[g>>2]|0?1:0;c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[e>>2]=c[f>>2];h=c[e>>2]|0;i=d;return h|0}function tq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;e=d+24|0;f=d+20|0;g=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];c[g+16>>2]=c[b+16>>2];b=c[e>>2]|0;e=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[b+16>>2]=c[e+16>>2];e=c[f>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];i=d;return}function uq(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+32|0;f=e+28|0;g=e+24|0;h=e+20|0;j=e+16|0;k=e+12|0;l=e+8|0;m=e+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=c[c[f>>2]>>2];c[l>>2]=0-(((c[h>>2]|0)!=0^1^1)&1);if((c[c[f>>2]>>2]|0)!=(c[c[g>>2]>>2]|0))Cf(46468,e);c[j>>2]=0;while(1){n=c[l>>2]|0;if((c[j>>2]|0)>=(c[k>>2]|0))break;c[m>>2]=n&(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]^c[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]);c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]^c[m>>2];c[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]^c[m>>2];c[j>>2]=(c[j>>2]|0)+1}c[m>>2]=n&(c[(c[f>>2]|0)+4>>2]^c[(c[g>>2]|0)+4>>2]);c[(c[f>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2]^c[m>>2];c[(c[g>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2]^c[m>>2];c[m>>2]=c[l>>2]&(c[(c[f>>2]|0)+8>>2]^c[(c[g>>2]|0)+8>>2]);c[(c[f>>2]|0)+8>>2]=c[(c[f>>2]|0)+8>>2]^c[m>>2];c[(c[g>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2]^c[m>>2];i=e;return}function vq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=$p((((c[d>>2]|0)+32-1|0)>>>0)/32|0)|0;i=b;return a|0}function wq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=bq((((c[d>>2]|0)+32-1|0)>>>0)/32|0)|0;i=b;return a|0}function xq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;hq(c[d>>2]|0);i=b;return}function yq(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+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=(((c[g>>2]|0)+7|0)>>>0)/8|0;if(c[f>>2]|0?c[(c[f>>2]|0)+12>>2]&16|0:0){gq();i=e;return}g=(c[f>>2]|0)!=0;if(!(c[h>>2]|0)){if(g?c[(c[f>>2]|0)+12>>2]&1|0:0)l=fg(c[k>>2]|0)|0;else l=dg(c[k>>2]|0)|0;c[j>>2]=l;Tn(c[j>>2]|0,c[k>>2]|0)}else{if(g?c[(c[f>>2]|0)+12>>2]&1|0:0)m=On(c[k>>2]|0,c[h>>2]|0)|0;else m=Mn(c[k>>2]|0,c[h>>2]|0)|0;c[j>>2]=m}Cp(c[f>>2]|0,c[j>>2]|0,c[k>>2]|0,0);$f(c[j>>2]|0);i=e;return}function zq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;c[f>>2]=a;c[g>>2]=b;switch(c[g>>2]|0){case 1:{c[e>>2]=((c[(c[f>>2]|0)+12>>2]&1|0)!=0^1^1)&1;h=c[e>>2]|0;i=d;return h|0}case 2:{c[e>>2]=((c[(c[f>>2]|0)+12>>2]&4|0)!=0^1^1)&1;h=c[e>>2]|0;i=d;return h|0}case 4:{c[e>>2]=((c[(c[f>>2]|0)+12>>2]&16|0)!=0^1^1)&1;h=c[e>>2]|0;i=d;return h|0}case 8:{c[e>>2]=((c[(c[f>>2]|0)+12>>2]&32|0)!=0^1^1)&1;h=c[e>>2]|0;i=d;return h|0}case 2048:case 1024:case 512:case 256:{c[e>>2]=((c[(c[f>>2]|0)+12>>2]&c[g>>2]|0)!=0^1^1)&1;h=c[e>>2]|0;i=d;return h|0}default:Cf(46500,d)}return 0}function Aq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+12|0;c[e>>2]=a;a=c[e>>2]|0;if((c[e>>2]|0)<0|(c[e>>2]|0)>>>0>6){c[d>>2]=a;Cf(46300,d)}if(c[70860+(a<<2)>>2]|0){i=b;return c[70860+(c[e>>2]<<2)>>2]|0}else Cf(46520,b+8|0);return 0}function Bq(){return 46551}function Cq(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;f=i;i=i+96|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+32|0;n=f+8|0;o=f+4|0;p=f;c[h>>2]=b;c[j>>2]=e;c[k>>2]=sx(172)|0;if(!(c[k>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=f;return q|0}c[c[k>>2]>>2]=1779033703;c[(c[k>>2]|0)+4>>2]=-1150833019;c[(c[k>>2]|0)+8>>2]=1013904242;c[(c[k>>2]|0)+12>>2]=-1521486534;c[(c[k>>2]|0)+16>>2]=1359893119;c[(c[k>>2]|0)+20>>2]=-1694144372;c[(c[k>>2]|0)+24>>2]=528734635;c[(c[k>>2]|0)+28>>2]=1541459225;c[(c[k>>2]|0)+32>>2]=0;c[(c[k>>2]|0)+36>>2]=0;e=(c[k>>2]|0)+40|0;a[e>>0]=a[e>>0]&-2;e=(c[k>>2]|0)+40|0;a[e>>0]=a[e>>0]&-3;a:do if(c[h>>2]|0){e=m;b=e+64|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0));e=(c[k>>2]|0)+105|0;b=e+64|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0));do if((c[j>>2]|0)>>>0<=64){Dx(m|0,c[h>>2]|0,c[j>>2]|0)|0;Dx((c[k>>2]|0)+105|0,c[h>>2]|0,c[j>>2]|0)|0}else{c[n>>2]=Cq(0,0)|0;if(c[n>>2]|0){Dq(c[n>>2]|0,c[h>>2]|0,c[j>>2]|0);Gq(c[n>>2]|0);e=m;r=(c[n>>2]|0)+41|0;b=e+32|0;do{a[e>>0]=a[r>>0]|0;e=e+1|0;r=r+1|0}while((e|0)<(b|0));e=(c[k>>2]|0)+105|0;r=(c[n>>2]|0)+41|0;b=e+32|0;do{a[e>>0]=a[r>>0]|0;e=e+1|0;r=r+1|0}while((e|0)<(b|0));Hq(c[n>>2]|0);break}tx(c[k>>2]|0);c[g>>2]=0;q=c[g>>2]|0;i=f;return q|0}while(0);c[l>>2]=0;while(1){if((c[l>>2]|0)>=64)break;e=m+(c[l>>2]|0)|0;a[e>>0]=(d[e>>0]|0)^54;e=(c[k>>2]|0)+105+(c[l>>2]|0)|0;a[e>>0]=(d[e>>0]|0)^92;c[l>>2]=(c[l>>2]|0)+1}e=(c[k>>2]|0)+40|0;a[e>>0]=a[e>>0]&-3|2;Dq(c[k>>2]|0,m,64);c[o>>2]=m;c[p>>2]=64;while(1){if(!(c[p>>2]|0))break a;a[c[o>>2]>>0]=0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}}while(0);c[g>>2]=c[k>>2];q=c[g>>2]|0;i=f;return q|0}function Dq(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+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[h>>2];if((a[(c[g>>2]|0)+40>>0]<<7&255)<<24>>24>>7<<24>>24|0){i=f;return}if((c[(c[g>>2]|0)+36>>2]|0)==64){Eq(c[g>>2]|0,(c[g>>2]|0)+41|0);c[(c[g>>2]|0)+36>>2]=0;h=(c[g>>2]|0)+32|0;c[h>>2]=(c[h>>2]|0)+1}if(!(c[k>>2]|0)){i=f;return}if(c[(c[g>>2]|0)+36>>2]|0){while(1){if(!(c[j>>2]|0))break;if((c[(c[g>>2]|0)+36>>2]|0)>=64)break;h=c[k>>2]|0;c[k>>2]=h+1;e=a[h>>0]|0;h=(c[g>>2]|0)+36|0;d=c[h>>2]|0;c[h>>2]=d+1;a[(c[g>>2]|0)+41+d>>0]=e;c[j>>2]=(c[j>>2]|0)+-1}Dq(c[g>>2]|0,0,0);if(!(c[j>>2]|0)){i=f;return}}while(1){if((c[j>>2]|0)>>>0<64)break;Eq(c[g>>2]|0,c[k>>2]|0);c[(c[g>>2]|0)+36>>2]=0;e=(c[g>>2]|0)+32|0;c[e>>2]=(c[e>>2]|0)+1;c[j>>2]=(c[j>>2]|0)-64;c[k>>2]=(c[k>>2]|0)+64}while(1){if(!(c[j>>2]|0)){l=15;break}if((c[(c[g>>2]|0)+36>>2]|0)>=64){l=15;break}e=c[k>>2]|0;c[k>>2]=e+1;d=a[e>>0]|0;e=(c[g>>2]|0)+36|0;h=c[e>>2]|0;c[e>>2]=h+1;a[(c[g>>2]|0)+41+h>>0]=d;c[j>>2]=(c[j>>2]|0)+-1}if((l|0)==15){i=f;return}}function Eq(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+384|0;f=e+376|0;g=e+372|0;h=e+368|0;j=e+364|0;k=e+360|0;l=e+356|0;m=e+352|0;n=e+348|0;o=e+344|0;p=e+340|0;q=e+336|0;r=e+332|0;s=e+328|0;t=e+264|0;u=e+8|0;v=e+4|0;w=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[g>>2];c[j>>2]=c[c[f>>2]>>2];c[k>>2]=c[(c[f>>2]|0)+4>>2];c[l>>2]=c[(c[f>>2]|0)+8>>2];c[m>>2]=c[(c[f>>2]|0)+12>>2];c[n>>2]=c[(c[f>>2]|0)+16>>2];c[o>>2]=c[(c[f>>2]|0)+20>>2];c[p>>2]=c[(c[f>>2]|0)+24>>2];c[q>>2]=c[(c[f>>2]|0)+28>>2];c[v>>2]=0;c[w>>2]=t;while(1){if((c[v>>2]|0)>=16)break;g=c[h>>2]|0;c[h>>2]=g+1;a[(c[w>>2]|0)+3>>0]=a[g>>0]|0;g=c[h>>2]|0;c[h>>2]=g+1;a[(c[w>>2]|0)+2>>0]=a[g>>0]|0;g=c[h>>2]|0;c[h>>2]=g+1;a[(c[w>>2]|0)+1>>0]=a[g>>0]|0;g=c[h>>2]|0;c[h>>2]=g+1;a[c[w>>2]>>0]=a[g>>0]|0;c[v>>2]=(c[v>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+4}c[v>>2]=0;while(1){if((c[v>>2]|0)>=16)break;c[u+(c[v>>2]<<2)>>2]=c[t+(c[v>>2]<<2)>>2];c[v>>2]=(c[v>>2]|0)+1}while(1){if((c[v>>2]|0)>=64)break;t=Fq(c[u+((c[v>>2]|0)-2<<2)>>2]|0,17)|0;w=t^(Fq(c[u+((c[v>>2]|0)-2<<2)>>2]|0,19)|0);t=(w^(c[u+((c[v>>2]|0)-2<<2)>>2]|0)>>>10)+(c[u+((c[v>>2]|0)-7<<2)>>2]|0)|0;w=Fq(c[u+((c[v>>2]|0)-15<<2)>>2]|0,7)|0;h=w^(Fq(c[u+((c[v>>2]|0)-15<<2)>>2]|0,18)|0);c[u+(c[v>>2]<<2)>>2]=t+(h^(c[u+((c[v>>2]|0)-15<<2)>>2]|0)>>>3)+(c[u+((c[v>>2]|0)-16<<2)>>2]|0);c[v>>2]=(c[v>>2]|0)+1}c[v>>2]=0;while(1){if((c[v>>2]|0)>=64)break;h=c[q>>2]|0;t=Fq(c[n>>2]|0,6)|0;w=t^(Fq(c[n>>2]|0,11)|0);t=h+(w^(Fq(c[n>>2]|0,25)|0))|0;c[r>>2]=t+(c[p>>2]^c[n>>2]&(c[o>>2]^c[p>>2]))+(c[12576+(c[v>>2]<<2)>>2]|0)+(c[u+(c[v>>2]<<2)>>2]|0);t=Fq(c[j>>2]|0,2)|0;w=t^(Fq(c[j>>2]|0,13)|0);t=w^(Fq(c[j>>2]|0,22)|0);c[s>>2]=t+(c[j>>2]&c[k>>2]|c[l>>2]&(c[j>>2]|c[k>>2]));c[q>>2]=c[p>>2];c[p>>2]=c[o>>2];c[o>>2]=c[n>>2];c[n>>2]=(c[m>>2]|0)+(c[r>>2]|0);c[m>>2]=c[l>>2];c[l>>2]=c[k>>2];c[k>>2]=c[j>>2];c[j>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[v>>2]=(c[v>>2]|0)+1}v=c[f>>2]|0;c[v>>2]=(c[v>>2]|0)+(c[j>>2]|0);j=(c[f>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+(c[k>>2]|0);k=(c[f>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+(c[l>>2]|0);l=(c[f>>2]|0)+12|0;c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);m=(c[f>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);n=(c[f>>2]|0)+20|0;c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);o=(c[f>>2]|0)+24|0;c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);p=(c[f>>2]|0)+28|0;c[p>>2]=(c[p>>2]|0)+(c[q>>2]|0);i=e;return}function Fq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;i=d;return (c[e>>2]|0)>>>(c[f>>2]|0)|c[e>>2]<<32-(c[f>>2]|0)|0}function Gq(b){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+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[e>>2]=b;if((a[(c[e>>2]|0)+40>>0]<<7&255)<<24>>24>>7<<24>>24|0){i=d;return}Dq(c[e>>2]|0,0,0);c[f>>2]=c[(c[e>>2]|0)+32>>2];c[h>>2]=c[f>>2]<<6;c[g>>2]=(c[f>>2]|0)>>>26;c[f>>2]=c[h>>2];b=(c[h>>2]|0)+(c[(c[e>>2]|0)+36>>2]|0)|0;c[h>>2]=b;if(b>>>0<(c[f>>2]|0)>>>0)c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=c[h>>2];c[h>>2]=c[h>>2]<<3;c[g>>2]=c[g>>2]<<3;c[g>>2]=c[g>>2]|(c[f>>2]|0)>>>29;f=(c[(c[e>>2]|0)+36>>2]|0)<56;b=(c[e>>2]|0)+36|0;k=c[b>>2]|0;c[b>>2]=k+1;a[(c[e>>2]|0)+41+k>>0]=-128;a:do if(f)while(1){if((c[(c[e>>2]|0)+36>>2]|0)>=56)break a;k=(c[e>>2]|0)+36|0;b=c[k>>2]|0;c[k>>2]=b+1;a[(c[e>>2]|0)+41+b>>0]=0}else{while(1){l=c[e>>2]|0;if((c[(c[e>>2]|0)+36>>2]|0)>=64)break;b=l+36|0;k=c[b>>2]|0;c[b>>2]=k+1;a[(c[e>>2]|0)+41+k>>0]=0}Dq(l,0,0);k=(c[e>>2]|0)+41|0;b=k+56|0;do{a[k>>0]=0;k=k+1|0}while((k|0)<(b|0))}while(0);a[(c[e>>2]|0)+41+56>>0]=(c[g>>2]|0)>>>24;a[(c[e>>2]|0)+41+57>>0]=(c[g>>2]|0)>>>16;a[(c[e>>2]|0)+41+58>>0]=(c[g>>2]|0)>>>8;a[(c[e>>2]|0)+41+59>>0]=c[g>>2];a[(c[e>>2]|0)+41+60>>0]=(c[h>>2]|0)>>>24;a[(c[e>>2]|0)+41+61>>0]=(c[h>>2]|0)>>>16;a[(c[e>>2]|0)+41+62>>0]=(c[h>>2]|0)>>>8;a[(c[e>>2]|0)+41+63>>0]=c[h>>2];Eq(c[e>>2]|0,(c[e>>2]|0)+41|0);c[j>>2]=(c[e>>2]|0)+41;h=(c[c[e>>2]>>2]|0)>>>24&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[c[e>>2]>>2]|0)>>>16&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[c[e>>2]>>2]|0)>>>8&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=c[c[e>>2]>>2]&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+4>>2]|0)>>>24&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+4>>2]|0)>>>16&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+4>>2]|0)>>>8&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+4>>2]&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+8>>2]|0)>>>24&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+8>>2]|0)>>>16&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+8>>2]|0)>>>8&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+8>>2]&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+12>>2]|0)>>>24&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+12>>2]|0)>>>16&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+12>>2]|0)>>>8&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+12>>2]&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+16>>2]|0)>>>24&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+16>>2]|0)>>>16&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+16>>2]|0)>>>8&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+16>>2]&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+20>>2]|0)>>>24&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+20>>2]|0)>>>16&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+20>>2]|0)>>>8&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+20>>2]&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+24>>2]|0)>>>24&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+24>>2]|0)>>>16&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+24>>2]|0)>>>8&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+24>>2]&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+28>>2]|0)>>>24&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+28>>2]|0)>>>16&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+28>>2]|0)>>>8&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+28>>2]&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[e>>2]|0)+40|0;a[h>>0]=a[h>>0]&-2|1;i=d;return}function Hq(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=b;if(!(c[e>>2]|0)){i=d;return}a:do if((a[(c[e>>2]|0)+40>>0]<<6&255)<<24>>24>>7<<24>>24|0){c[f>>2]=(c[e>>2]|0)+105;c[g>>2]=64;while(1){if(!(c[g>>2]|0))break a;a[c[f>>2]>>0]=0;c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+-1}}while(0);tx(c[e>>2]|0);i=d;return}function Iq(b,d){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+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=b;c[h>>2]=d;Gq(c[g>>2]|0);do if((a[(c[g>>2]|0)+40>>0]<<6&255)<<24>>24>>7<<24>>24|0){c[j>>2]=Cq(0,0)|0;if(c[j>>2]|0){Dq(c[j>>2]|0,(c[g>>2]|0)+105|0,64);Dq(c[j>>2]|0,(c[g>>2]|0)+41|0,32);Gq(c[j>>2]|0);d=(c[g>>2]|0)+41|0;b=(c[j>>2]|0)+41|0;k=d+32|0;do{a[d>>0]=a[b>>0]|0;d=d+1|0;b=b+1|0}while((d|0)<(k|0));Hq(c[j>>2]|0);break}tx(c[g>>2]|0);c[f>>2]=0;l=c[f>>2]|0;i=e;return l|0}while(0);if(c[h>>2]|0)c[c[h>>2]>>2]=32;c[f>>2]=(c[g>>2]|0)+41;l=c[f>>2]|0;i=e;return l|0}function Jq(b,e,f,g,h){b=b|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+80|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+28|0;s=j+24|0;t=j+20|0;u=j+16|0;v=j+12|0;w=j+8|0;x=j+64|0;y=j+4|0;z=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[(c[(c[l>>2]|0)+12>>2]|0)+20>>2]|0)!=16){c[k>>2]=139;A=c[k>>2]|0;i=j;return A|0}if((c[n>>2]|0)>>>0<((c[p>>2]|0)+8|0)>>>0){c[k>>2]=200;A=c[k>>2]|0;i=j;return A|0}if(((c[p>>2]|0)>>>0)%8|0|0){c[k>>2]=45;A=c[k>>2]|0;i=j;return A|0}c[s>>2]=((c[p>>2]|0)>>>0)/8|0;if((c[s>>2]|0)>>>0<2){c[k>>2]=45;A=c[k>>2]|0;i=j;return A|0}c[y>>2]=0;c[u>>2]=c[m>>2];c[v>>2]=c[m>>2];c[w>>2]=(c[l>>2]|0)+80;m=c[v>>2]|0;if((d[(c[l>>2]|0)+56>>0]|0)>>>1&1|0){n=(c[l>>2]|0)+64|0;a[m>>0]=a[n>>0]|0;a[m+1>>0]=a[n+1>>0]|0;a[m+2>>0]=a[n+2>>0]|0;a[m+3>>0]=a[n+3>>0]|0;a[m+4>>0]=a[n+4>>0]|0;a[m+5>>0]=a[n+5>>0]|0;a[m+6>>0]=a[n+6>>0]|0;a[m+7>>0]=a[n+7>>0]|0}else{a[m>>0]=166;a[m+1>>0]=166;a[m+2>>0]=166;a[m+3>>0]=166;a[m+4>>0]=166;a[m+5>>0]=166;a[m+6>>0]=166;a[m+7>>0]=166}Ex((c[u>>2]|0)+8|0,c[o>>2]|0,c[p>>2]|0)|0;a[x>>0]=0;a[x+1>>0]=0;a[x+2>>0]=0;a[x+3>>0]=0;a[x+4>>0]=0;a[x+5>>0]=0;a[x+6>>0]=0;a[x+7>>0]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>5)break;c[t>>2]=1;while(1){if((c[t>>2]|0)>>>0>(c[s>>2]|0)>>>0)break;p=c[w>>2]|0;o=c[v>>2]|0;a[p>>0]=a[o>>0]|0;a[p+1>>0]=a[o+1>>0]|0;a[p+2>>0]=a[o+2>>0]|0;a[p+3>>0]=a[o+3>>0]|0;a[p+4>>0]=a[o+4>>0]|0;a[p+5>>0]=a[o+5>>0]|0;a[p+6>>0]=a[o+6>>0]|0;a[p+7>>0]=a[o+7>>0]|0;o=(c[w>>2]|0)+8|0;p=(c[u>>2]|0)+(c[t>>2]<<3)|0;a[o>>0]=a[p>>0]|0;a[o+1>>0]=a[p+1>>0]|0;a[o+2>>0]=a[p+2>>0]|0;a[o+3>>0]=a[p+3>>0]|0;a[o+4>>0]=a[p+4>>0]|0;a[o+5>>0]=a[p+5>>0]|0;a[o+6>>0]=a[p+6>>0]|0;a[o+7>>0]=a[p+7>>0]|0;c[z>>2]=vb[c[(c[(c[l>>2]|0)+12>>2]|0)+36>>2]&63]((c[l>>2]|0)+496|0,c[w>>2]|0,c[w>>2]|0)|0;c[y>>2]=(c[z>>2]|0)>>>0>(c[y>>2]|0)>>>0?c[z>>2]|0:c[y>>2]|0;c[r>>2]=7;while(1){if((c[r>>2]|0)<0)break;p=x+(c[r>>2]|0)|0;a[p>>0]=(a[p>>0]|0)+1<<24>>24;if(a[x+(c[r>>2]|0)>>0]|0)break;c[r>>2]=(c[r>>2]|0)+-1}Kq(c[v>>2]|0,c[w>>2]|0,x,8);p=(c[u>>2]|0)+(c[t>>2]<<3)|0;o=(c[w>>2]|0)+8|0;a[p>>0]=a[o>>0]|0;a[p+1>>0]=a[o+1>>0]|0;a[p+2>>0]=a[o+2>>0]|0;a[p+3>>0]=a[o+3>>0]|0;a[p+4>>0]=a[o+4>>0]|0;a[p+5>>0]=a[o+5>>0]|0;a[p+6>>0]=a[o+6>>0]|0;a[p+7>>0]=a[o+7>>0]|0;c[t>>2]=(c[t>>2]|0)+1}c[q>>2]=(c[q>>2]|0)+1}if((c[y>>2]|0)>>>0>0){If((c[y>>2]|0)+16|0);Jf()}c[k>>2]=0;A=c[k>>2]|0;i=j;return A|0}function Kq(b,e,f,g){b=b|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+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function Lq(b,e,f,g,h){b=b|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+80|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+28|0;s=j+24|0;t=j+20|0;u=j+16|0;v=j+12|0;w=j+8|0;x=j+64|0;y=j+4|0;z=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[(c[(c[l>>2]|0)+12>>2]|0)+20>>2]|0)!=16){c[k>>2]=139;A=c[k>>2]|0;i=j;return A|0}if(((c[n>>2]|0)+8|0)>>>0<(c[p>>2]|0)>>>0){c[k>>2]=200;A=c[k>>2]|0;i=j;return A|0}if(((c[p>>2]|0)>>>0)%8|0|0){c[k>>2]=45;A=c[k>>2]|0;i=j;return A|0}c[s>>2]=((c[p>>2]|0)>>>0)/8|0;if((c[s>>2]|0)>>>0<3){c[k>>2]=45;A=c[k>>2]|0;i=j;return A|0}c[y>>2]=0;c[u>>2]=c[m>>2];c[v>>2]=(c[l>>2]|0)+96;c[w>>2]=(c[l>>2]|0)+80;m=c[v>>2]|0;n=c[o>>2]|0;a[m>>0]=a[n>>0]|0;a[m+1>>0]=a[n+1>>0]|0;a[m+2>>0]=a[n+2>>0]|0;a[m+3>>0]=a[n+3>>0]|0;a[m+4>>0]=a[n+4>>0]|0;a[m+5>>0]=a[n+5>>0]|0;a[m+6>>0]=a[n+6>>0]|0;a[m+7>>0]=a[n+7>>0]|0;Ex(c[u>>2]|0,(c[o>>2]|0)+8|0,(c[p>>2]|0)-8|0)|0;c[s>>2]=(c[s>>2]|0)+-1;c[t>>2]=(c[s>>2]|0)*6;c[r>>2]=0;while(1){if(!((c[r>>2]|0)<8?(c[r>>2]|0)>>>0<4:0))break;a[x+(7-(c[r>>2]|0))>>0]=(c[t>>2]|0)>>>(c[r>>2]<<3);c[r>>2]=(c[r>>2]|0)+1}while(1){if((c[r>>2]|0)>=8)break;a[x+(7-(c[r>>2]|0))>>0]=0;c[r>>2]=(c[r>>2]|0)+1}c[q>>2]=5;while(1){if((c[q>>2]|0)<0)break;c[t>>2]=c[s>>2];while(1){if((c[t>>2]|0)>>>0<1)break;Kq(c[w>>2]|0,c[v>>2]|0,x,8);p=(c[w>>2]|0)+8|0;o=(c[u>>2]|0)+((c[t>>2]|0)-1<<3)|0;a[p>>0]=a[o>>0]|0;a[p+1>>0]=a[o+1>>0]|0;a[p+2>>0]=a[o+2>>0]|0;a[p+3>>0]=a[o+3>>0]|0;a[p+4>>0]=a[o+4>>0]|0;a[p+5>>0]=a[o+5>>0]|0;a[p+6>>0]=a[o+6>>0]|0;a[p+7>>0]=a[o+7>>0]|0;c[z>>2]=vb[c[(c[(c[l>>2]|0)+12>>2]|0)+40>>2]&63]((c[l>>2]|0)+496|0,c[w>>2]|0,c[w>>2]|0)|0;c[y>>2]=(c[z>>2]|0)>>>0>(c[y>>2]|0)>>>0?c[z>>2]|0:c[y>>2]|0;c[r>>2]=7;while(1){if((c[r>>2]|0)<0)break;o=x+(c[r>>2]|0)|0;a[o>>0]=(a[o>>0]|0)+-1<<24>>24;if((d[x+(c[r>>2]|0)>>0]|0|0)!=255)break;c[r>>2]=(c[r>>2]|0)+-1}o=c[v>>2]|0;p=c[w>>2]|0;a[o>>0]=a[p>>0]|0;a[o+1>>0]=a[p+1>>0]|0;a[o+2>>0]=a[p+2>>0]|0;a[o+3>>0]=a[p+3>>0]|0;a[o+4>>0]=a[p+4>>0]|0;a[o+5>>0]=a[p+5>>0]|0;a[o+6>>0]=a[p+6>>0]|0;a[o+7>>0]=a[p+7>>0]|0;p=(c[u>>2]|0)+((c[t>>2]|0)-1<<3)|0;o=(c[w>>2]|0)+8|0;a[p>>0]=a[o>>0]|0;a[p+1>>0]=a[o+1>>0]|0;a[p+2>>0]=a[o+2>>0]|0;a[p+3>>0]=a[o+3>>0]|0;a[p+4>>0]=a[o+4>>0]|0;a[p+5>>0]=a[o+5>>0]|0;a[p+6>>0]=a[o+6>>0]|0;a[p+7>>0]=a[o+7>>0]|0;c[t>>2]=(c[t>>2]|0)+-1}c[q>>2]=(c[q>>2]|0)+-1}a:do if((d[(c[l>>2]|0)+56>>0]|0)>>>1&1|0)c[q>>2]=mw(c[v>>2]|0,(c[l>>2]|0)+64|0,8)|0;else{c[q>>2]=0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=8)break a;if((d[(c[v>>2]|0)+(c[r>>2]|0)>>0]|0|0)!=166)break;c[r>>2]=(c[r>>2]|0)+1}c[q>>2]=1}while(0);if((c[y>>2]|0)>>>0>0){If((c[y>>2]|0)+16|0);Jf()}c[k>>2]=c[q>>2]|0?10:0;A=c[k>>2]|0;i=j;return A|0}function Mq(b,e,f,g,h){b=b|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+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+28|0;s=j+24|0;t=j+20|0;u=j+16|0;v=j+12|0;w=j+8|0;x=j+4|0;y=j;z=j+60|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[t>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+20>>2];c[u>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+36>>2];c[v>>2]=((c[p>>2]|0)>>>0)/((c[t>>2]|0)>>>0)|0;if((c[n>>2]|0)>>>0<(c[(c[l>>2]|0)+52>>2]&8|0?c[t>>2]|0:c[p>>2]|0)>>>0){c[k>>2]=200;A=c[k>>2]|0;i=j;return A|0}do if(((c[p>>2]|0)>>>0)%((c[t>>2]|0)>>>0)|0|0){if((c[p>>2]|0)>>>0>(c[t>>2]|0)>>>0?c[(c[l>>2]|0)+52>>2]&4|0:0)break;c[k>>2]=139;A=c[k>>2]|0;i=j;return A|0}while(0);c[w>>2]=0;if((c[(c[l>>2]|0)+52>>2]&4|0?(c[p>>2]|0)>>>0>(c[t>>2]|0)>>>0:0)?(((c[p>>2]|0)>>>0)%((c[t>>2]|0)>>>0)|0|0)==0:0)c[v>>2]=(c[v>>2]|0)+-1;n=c[l>>2]|0;if(c[(c[l>>2]|0)+20+8>>2]|0){Db[c[n+20+8>>2]&1]((c[l>>2]|0)+496|0,(c[l>>2]|0)+64|0,c[m>>2]|0,c[o>>2]|0,c[v>>2]|0,c[(c[l>>2]|0)+52>>2]&8);h=_(c[v>>2]|0,c[t>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+h;if(!(c[(c[l>>2]|0)+52>>2]&8)){h=_(c[v>>2]|0,c[t>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+h}}else{c[r>>2]=n+64;c[q>>2]=0;while(1){if((c[q>>2]|0)>>>0>=(c[v>>2]|0)>>>0)break;Nq(c[m>>2]|0,c[o>>2]|0,c[r>>2]|0,c[t>>2]|0);c[x>>2]=vb[c[u>>2]&63]((c[l>>2]|0)+496|0,c[m>>2]|0,c[m>>2]|0)|0;c[w>>2]=(c[x>>2]|0)>>>0>(c[w>>2]|0)>>>0?c[x>>2]|0:c[w>>2]|0;c[r>>2]=c[m>>2];c[o>>2]=(c[o>>2]|0)+(c[t>>2]|0);if(!(c[(c[l>>2]|0)+52>>2]&8))c[m>>2]=(c[m>>2]|0)+(c[t>>2]|0);c[q>>2]=(c[q>>2]|0)+1}if((c[r>>2]|0)!=((c[l>>2]|0)+64|0))Oq((c[l>>2]|0)+64|0,c[r>>2]|0,c[t>>2]|0)}if(c[(c[l>>2]|0)+52>>2]&4|0?(c[p>>2]|0)>>>0>(c[t>>2]|0)>>>0:0){if(!(((c[p>>2]|0)>>>0)%((c[t>>2]|0)>>>0)|0))c[y>>2]=c[t>>2];else c[y>>2]=((c[p>>2]|0)>>>0)%((c[t>>2]|0)>>>0)|0;c[m>>2]=(c[m>>2]|0)+(0-(c[t>>2]|0));c[r>>2]=(c[l>>2]|0)+64;c[s>>2]=0;while(1){if((c[s>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;a[z>>0]=a[(c[o>>2]|0)+(c[s>>2]|0)>>0]|0;a[(c[m>>2]|0)+((c[t>>2]|0)+(c[s>>2]|0))>>0]=a[(c[m>>2]|0)+(c[s>>2]|0)>>0]|0;p=d[z>>0]|0;q=c[r>>2]|0;c[r>>2]=q+1;a[(c[m>>2]|0)+(c[s>>2]|0)>>0]=p^(d[q>>0]|0);c[s>>2]=(c[s>>2]|0)+1}while(1){if((c[s>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;z=c[r>>2]|0;c[r>>2]=z+1;a[(c[m>>2]|0)+(c[s>>2]|0)>>0]=0^(d[z>>0]|0);c[s>>2]=(c[s>>2]|0)+1}c[x>>2]=vb[c[u>>2]&63]((c[l>>2]|0)+496|0,c[m>>2]|0,c[m>>2]|0)|0;c[w>>2]=(c[x>>2]|0)>>>0>(c[w>>2]|0)>>>0?c[x>>2]|0:c[w>>2]|0;Oq((c[l>>2]|0)+64|0,c[m>>2]|0,c[t>>2]|0)}if((c[w>>2]|0)>>>0>0){If((c[w>>2]|0)+16|0);Jf()}c[k>>2]=0;A=c[k>>2]|0;i=j;return A|0}function Nq(b,e,f,g){b=b|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+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function Oq(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;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[f>>2]=3;if(!((c[k>>2]|c[l>>2])&3)){c[m>>2]=c[k>>2];c[n>>2]=c[l>>2];while(1){if((c[j>>2]|0)>>>0<4)break;h=c[n>>2]|0;c[n>>2]=h+4;g=c[h>>2]|0;h=c[m>>2]|0;c[m>>2]=h+4;c[h>>2]=g;c[j>>2]=(c[j>>2]|0)-4}c[k>>2]=c[m>>2];c[l>>2]=c[n>>2]}while(1){if(!(c[j>>2]|0))break;n=c[l>>2]|0;c[l>>2]=n+1;m=a[n>>0]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[n>>0]=m;c[j>>2]=(c[j>>2]|0)+-1}i=f;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,l=0,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+64|0;j=h+52|0;k=h+48|0;l=h+44|0;m=h+40|0;n=h+36|0;o=h+32|0;p=h+28|0;q=h+24|0;r=h+20|0;s=h+16|0;t=h+12|0;u=h+8|0;v=h+4|0;w=h;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[r>>2]=c[(c[(c[k>>2]|0)+12>>2]|0)+20>>2];c[s>>2]=c[(c[(c[k>>2]|0)+12>>2]|0)+40>>2];c[t>>2]=((c[o>>2]|0)>>>0)/((c[r>>2]|0)>>>0)|0;if((c[m>>2]|0)>>>0<(c[o>>2]|0)>>>0){c[j>>2]=200;x=c[j>>2]|0;i=h;return x|0}do if(((c[o>>2]|0)>>>0)%((c[r>>2]|0)>>>0)|0|0){if((c[o>>2]|0)>>>0>(c[r>>2]|0)>>>0?c[(c[k>>2]|0)+52>>2]&4|0:0)break;c[j>>2]=139;x=c[j>>2]|0;i=h;return x|0}while(0);c[u>>2]=0;if(c[(c[k>>2]|0)+52>>2]&4|0?(c[o>>2]|0)>>>0>(c[r>>2]|0)>>>0:0){c[t>>2]=(c[t>>2]|0)+-1;if(!(((c[o>>2]|0)>>>0)%((c[r>>2]|0)>>>0)|0))c[t>>2]=(c[t>>2]|0)+-1;Oq((c[k>>2]|0)+96|0,(c[k>>2]|0)+64|0,c[r>>2]|0)}a:do if(c[(c[k>>2]|0)+20+12>>2]|0){wb[c[(c[k>>2]|0)+20+12>>2]&15]((c[k>>2]|0)+496|0,(c[k>>2]|0)+64|0,c[l>>2]|0,c[n>>2]|0,c[t>>2]|0);m=_(c[t>>2]|0,c[r>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+m;m=_(c[t>>2]|0,c[r>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+m}else{c[p>>2]=0;while(1){if((c[p>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break a;c[v>>2]=vb[c[s>>2]&63]((c[k>>2]|0)+496|0,(c[k>>2]|0)+96|0,c[n>>2]|0)|0;c[u>>2]=(c[v>>2]|0)>>>0>(c[u>>2]|0)>>>0?c[v>>2]|0:c[u>>2]|0;Qq(c[l>>2]|0,(c[k>>2]|0)+96|0,(c[k>>2]|0)+64|0,c[n>>2]|0,c[r>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[r>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[r>>2]|0);c[p>>2]=(c[p>>2]|0)+1}}while(0);if(c[(c[k>>2]|0)+52>>2]&4|0?(c[o>>2]|0)>>>0>(c[r>>2]|0)>>>0:0){if(!(((c[o>>2]|0)>>>0)%((c[r>>2]|0)>>>0)|0))c[w>>2]=c[r>>2];else c[w>>2]=((c[o>>2]|0)>>>0)%((c[r>>2]|0)>>>0)|0;Oq((c[k>>2]|0)+96|0,(c[k>>2]|0)+64|0,c[r>>2]|0);Oq((c[k>>2]|0)+64|0,(c[n>>2]|0)+(c[r>>2]|0)|0,c[w>>2]|0);c[v>>2]=vb[c[s>>2]&63]((c[k>>2]|0)+496|0,c[l>>2]|0,c[n>>2]|0)|0;c[u>>2]=(c[v>>2]|0)>>>0>(c[u>>2]|0)>>>0?c[v>>2]|0:c[u>>2]|0;Nq(c[l>>2]|0,c[l>>2]|0,(c[k>>2]|0)+64|0,c[w>>2]|0);Oq((c[l>>2]|0)+(c[r>>2]|0)|0,c[l>>2]|0,c[w>>2]|0);c[q>>2]=c[w>>2];while(1){if((c[q>>2]|0)>>>0>=(c[r>>2]|0)>>>0)break;a[(c[k>>2]|0)+64+(c[q>>2]|0)>>0]=a[(c[l>>2]|0)+(c[q>>2]|0)>>0]|0;c[q>>2]=(c[q>>2]|0)+1}c[v>>2]=vb[c[s>>2]&63]((c[k>>2]|0)+496|0,c[l>>2]|0,(c[k>>2]|0)+64|0)|0;c[u>>2]=(c[v>>2]|0)>>>0>(c[u>>2]|0)>>>0?c[v>>2]|0:c[u>>2]|0;Nq(c[l>>2]|0,c[l>>2]|0,(c[k>>2]|0)+96|0,c[r>>2]|0)}if((c[u>>2]|0)>>>0>0){If((c[u>>2]|0)+16|0);Jf()}c[j>>2]=0;x=c[j>>2]|0;i=h;return x|0}function Qq(b,e,f,g,h){b=b|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;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+28|0;s=j+24|0;t=j+60|0;u=j+20|0;v=j+16|0;w=j+12|0;x=j+8|0;y=j+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[k>>2];c[q>>2]=c[m>>2];c[r>>2]=c[l>>2];c[s>>2]=c[n>>2];c[j>>2]=3;if(!((c[s>>2]|c[r>>2]|c[p>>2]|c[q>>2])&3)){c[u>>2]=c[p>>2];c[x>>2]=c[r>>2];c[v>>2]=c[q>>2];c[w>>2]=c[s>>2];while(1){if((c[o>>2]|0)>>>0<4)break;n=c[w>>2]|0;c[w>>2]=n+4;c[y>>2]=c[n>>2];n=c[c[v>>2]>>2]|0;l=c[x>>2]|0;c[x>>2]=l+4;m=n^c[l>>2];l=c[u>>2]|0;c[u>>2]=l+4;c[l>>2]=m;m=c[y>>2]|0;l=c[v>>2]|0;c[v>>2]=l+4;c[l>>2]=m;c[o>>2]=(c[o>>2]|0)-4}c[p>>2]=c[u>>2];c[r>>2]=c[x>>2];c[q>>2]=c[v>>2];c[s>>2]=c[w>>2]}while(1){if(!(c[o>>2]|0))break;w=c[s>>2]|0;c[s>>2]=w+1;a[t>>0]=a[w>>0]|0;w=d[c[q>>2]>>0]|0;v=c[r>>2]|0;c[r>>2]=v+1;x=(w^(d[v>>0]|0))&255;v=c[p>>2]|0;c[p>>2]=v+1;a[v>>0]=x;x=a[t>>0]|0;v=c[q>>2]|0;c[q>>2]=v+1;a[v>>0]=x;c[o>>2]=(c[o>>2]|0)+-1}i=j;return}function Rq(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;f=i;i=i+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;m=f;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=15-(c[k>>2]|0);c[m>>2]=(c[l>>2]|0)-1;if(!(c[j>>2]|0)){c[g>>2]=45;n=c[g>>2]|0;i=f;return n|0}if((c[l>>2]|0)>>>0<2|(c[l>>2]|0)>>>0>8){c[g>>2]=139;n=c[g>>2]|0;i=f;return n|0}else{Fx((c[h>>2]|0)+128|0,0,368)|0;c[(c[h>>2]|0)+56>>2]=0;e=(c[h>>2]|0)+64|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=(c[h>>2]|0)+80|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=(c[h>>2]|0)+96|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[(c[h>>2]|0)+112>>2]=0;a[(c[h>>2]|0)+80>>0]=c[m>>2];Dx((c[h>>2]|0)+80+1|0,c[j>>2]|0,c[k>>2]|0)|0;Fx((c[h>>2]|0)+80+(1+(c[k>>2]|0))|0,0,c[l>>2]|0)|0;a[(c[h>>2]|0)+64>>0]=c[m>>2];Dx((c[h>>2]|0)+64+1|0,c[j>>2]|0,c[k>>2]|0)|0;Fx((c[h>>2]|0)+64+(1+(c[k>>2]|0))|0,0,c[l>>2]|0)|0;l=(c[h>>2]|0)+128+56|0;a[l>>0]=a[l>>0]&-2|1;c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}return 0}function Sq(b,e,f,g){b=b|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;h=i;i=i+96|0;j=h+64|0;k=h+60|0;l=h+56|0;m=h+52|0;n=h+48|0;o=h+40|0;p=h+72|0;q=h+36|0;r=h+32|0;s=h+28|0;t=h+24|0;u=h+20|0;v=h+16|0;w=h+68|0;x=h;y=h+12|0;z=h+8|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[h+44>>2]=16;c[o>>2]=c[(c[(c[k>>2]|0)+12>>2]|0)+36>>2];c[q>>2]=0;c[r>>2]=c[(c[k>>2]|0)+128+36>>2];if((c[m>>2]|0)==0?!((c[r>>2]|0)!=0&(c[n>>2]|0)!=0):0){c[j>>2]=0;A=c[j>>2]|0;i=h;return A|0}a:do{b:do if((c[r>>2]|0)>>>0>0?1:((c[m>>2]|0)+(c[r>>2]|0)|0)>>>0<16)while(1){if(!(c[m>>2]|0?(c[r>>2]|0)>>>0<16:0))break b;g=c[l>>2]|0;c[l>>2]=g+1;f=a[g>>0]|0;g=c[r>>2]|0;c[r>>2]=g+1;a[(c[k>>2]|0)+128+20+g>>0]=f;c[m>>2]=(c[m>>2]|0)+-1}while(0);c:do if(!(c[m>>2]|0)){if(!(c[n>>2]|0))break a;while(1){if((c[r>>2]|0)>>>0>=16)break c;f=c[r>>2]|0;c[r>>2]=f+1;a[(c[k>>2]|0)+128+20+f>>0]=0}}while(0);if((c[r>>2]|0)>>>0>0){Tq((c[k>>2]|0)+64|0,(c[k>>2]|0)+64|0,(c[k>>2]|0)+128+20|0,16);c[t>>2]=vb[c[o>>2]&63]((c[k>>2]|0)+496|0,(c[k>>2]|0)+64|0,(c[k>>2]|0)+64|0)|0;c[q>>2]=(c[q>>2]|0)>>>0>(c[t>>2]|0)>>>0?c[q>>2]|0:c[t>>2]|0;c[r>>2]=0}d:do if(c[(c[k>>2]|0)+20+8>>2]|0){c[s>>2]=((c[m>>2]|0)>>>0)/16|0;Db[c[(c[k>>2]|0)+20+8>>2]&1]((c[k>>2]|0)+496|0,(c[k>>2]|0)+64|0,p,c[l>>2]|0,c[s>>2]|0,1);c[l>>2]=(c[l>>2]|0)+(c[s>>2]<<4);c[m>>2]=(c[m>>2]|0)-(c[s>>2]<<4);c[u>>2]=p;c[v>>2]=16;a[w>>0]=0;f=x;c[f>>2]=d[w>>0];c[f+4>>2]=0;while(1){if(!(c[u>>2]&7|0?(c[v>>2]|0)!=0:0))break;a[c[u>>2]>>0]=a[w>>0]|0;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+-1}if((c[v>>2]|0)>>>0>=8){f=x;g=Mx(c[f>>2]|0,c[f+4>>2]|0,16843009,16843009)|0;f=x;c[f>>2]=g;c[f+4>>2]=C;do{c[y>>2]=c[u>>2];f=x;g=c[f+4>>2]|0;e=c[y>>2]|0;c[e>>2]=c[f>>2];c[e+4>>2]=g;c[v>>2]=(c[v>>2]|0)-8;c[u>>2]=(c[u>>2]|0)+8}while((c[v>>2]|0)>>>0>=8)}while(1){if(!(c[v>>2]|0))break d;a[c[u>>2]>>0]=a[w>>0]|0;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+-1}}else while(1){if((c[m>>2]|0)>>>0<16)break d;Tq((c[k>>2]|0)+64|0,(c[k>>2]|0)+64|0,c[l>>2]|0,16);c[z>>2]=vb[c[o>>2]&63]((c[k>>2]|0)+496|0,(c[k>>2]|0)+64|0,(c[k>>2]|0)+64|0)|0;c[q>>2]=(c[q>>2]|0)>>>0>(c[z>>2]|0)>>>0?c[q>>2]|0:c[z>>2]|0;c[m>>2]=(c[m>>2]|0)-16;c[l>>2]=(c[l>>2]|0)+16}while(0)}while((c[m>>2]|0)>>>0>0);c[(c[k>>2]|0)+128+36>>2]=c[r>>2];if(c[q>>2]|0)c[q>>2]=(c[q>>2]|0)+16;c[j>>2]=c[q>>2];A=c[j>>2]|0;i=h;return A|0}function Tq(b,e,f,g){b=b|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+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function Uq(b,e,f,g,h){b=b|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;j=i;i=i+32|0;k=j+24|0;l=j+20|0;m=j+16|0;n=j+12|0;o=j+8|0;p=j+4|0;q=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0){c[k>>2]=200;r=c[k>>2]|0;i=j;return r|0}if(((a[(c[l>>2]|0)+128+56>>0]&1|0?((d[(c[l>>2]|0)+56>>0]|0)>>>2&1|0)==0:0)?(d[(c[l>>2]|0)+128+56>>0]|0)>>>1&1|0:0)?(h=(c[l>>2]|0)+128+8|0,g=c[h+4>>2]|0,!(g>>>0>0|(g|0)==0&(c[h>>2]|0)>>>0>0)):0){h=(c[l>>2]|0)+128|0;g=c[h+4>>2]|0;if(0>g>>>0|(0==(g|0)?(c[p>>2]|0)>>>0>(c[h>>2]|0)>>>0:0)){c[k>>2]=139;r=c[k>>2]|0;i=j;return r|0}h=(c[l>>2]|0)+128|0;g=h;f=zx(c[g>>2]|0,c[g+4>>2]|0,c[p>>2]|0,0)|0;g=h;c[g>>2]=f;c[g+4>>2]=C;c[q>>2]=Sq(c[l>>2]|0,c[o>>2]|0,c[p>>2]|0,0)|0;if(c[q>>2]|0){If((c[q>>2]|0)+20|0);Jf()}c[k>>2]=cr(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;r=c[k>>2]|0;i=j;return r|0}c[k>>2]=156;r=c[k>>2]|0;i=j;return r|0}function Vq(b,e,f,g,h){b=b|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+32|0;k=j+28|0;l=j+24|0;m=j+20|0;n=j+16|0;o=j+12|0;p=j+8|0;q=j+4|0;r=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0){c[k>>2]=200;s=c[k>>2]|0;i=j;return s|0}if(((a[(c[l>>2]|0)+128+56>>0]&1|0?((d[(c[l>>2]|0)+56>>0]|0)>>>2&1|0)==0:0)?(d[(c[l>>2]|0)+128+56>>0]|0)>>>1&1|0:0)?(h=(c[l>>2]|0)+128+8|0,g=c[h+4>>2]|0,!(g>>>0>0|(g|0)==0&(c[h>>2]|0)>>>0>0)):0){h=(c[l>>2]|0)+128|0;g=c[h+4>>2]|0;if(0>g>>>0|(0==(g|0)?(c[p>>2]|0)>>>0>(c[h>>2]|0)>>>0:0)){c[k>>2]=139;s=c[k>>2]|0;i=j;return s|0}c[q>>2]=cr(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;if(c[q>>2]|0){c[k>>2]=c[q>>2];s=c[k>>2]|0;i=j;return s|0}o=(c[l>>2]|0)+128|0;n=o;h=zx(c[n>>2]|0,c[n+4>>2]|0,c[p>>2]|0,0)|0;n=o;c[n>>2]=h;c[n+4>>2]=C;c[r>>2]=Sq(c[l>>2]|0,c[m>>2]|0,c[p>>2]|0,0)|0;if(c[r>>2]|0){If((c[r>>2]|0)+20|0);Jf()}c[k>>2]=c[q>>2];s=c[k>>2]|0;i=j;return s|0}c[k>>2]=156;s=c[k>>2]|0;i=j;return s|0}function Wq(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;g=i;i=i+64|0;h=g+48|0;j=g+44|0;k=g+40|0;l=g+36|0;m=g+32|0;n=g+28|0;o=g+24|0;p=g+20|0;q=g+16|0;r=g+12|0;s=g+8|0;t=g+4|0;u=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[p>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+36>>2];c[q>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2];c[r>>2]=(c[q>>2]|0)+(c[q>>2]|0);if((c[l>>2]|0)>>>0<(c[n>>2]|0)>>>0){c[h>>2]=200;v=c[h>>2]|0;i=g;return v|0}if((c[n>>2]|0)>>>0<=(c[(c[j>>2]|0)+112>>2]|0)>>>0){c[o>>2]=(c[j>>2]|0)+64+(c[q>>2]|0)+(0-(c[(c[j>>2]|0)+112>>2]|0));Xq(c[k>>2]|0,c[o>>2]|0,c[m>>2]|0,c[n>>2]|0);l=(c[j>>2]|0)+112|0;c[l>>2]=(c[l>>2]|0)-(c[n>>2]|0);c[h>>2]=0;v=c[h>>2]|0;i=g;return v|0}c[s>>2]=0;if(c[(c[j>>2]|0)+112>>2]|0){c[n>>2]=(c[n>>2]|0)-(c[(c[j>>2]|0)+112>>2]|0);c[o>>2]=(c[j>>2]|0)+64+(c[q>>2]|0)+(0-(c[(c[j>>2]|0)+112>>2]|0));Xq(c[k>>2]|0,c[o>>2]|0,c[m>>2]|0,c[(c[j>>2]|0)+112>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[(c[j>>2]|0)+112>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[(c[j>>2]|0)+112>>2]|0);c[(c[j>>2]|0)+112>>2]=0}if((c[n>>2]|0)>>>0>=(c[r>>2]|0)>>>0?c[(c[j>>2]|0)+20>>2]|0:0){c[u>>2]=((c[n>>2]|0)>>>0)/((c[q>>2]|0)>>>0)|0;wb[c[(c[j>>2]|0)+20>>2]&15]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,c[k>>2]|0,c[m>>2]|0,c[u>>2]|0);o=_(c[u>>2]|0,c[q>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+o;o=_(c[u>>2]|0,c[q>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+o;o=_(c[u>>2]|0,c[q>>2]|0)|0;c[n>>2]=(c[n>>2]|0)-o}else w=10;a:do if((w|0)==10)while(1){w=0;if((c[n>>2]|0)>>>0<(c[r>>2]|0)>>>0)break a;c[t>>2]=vb[c[p>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,(c[j>>2]|0)+64|0)|0;c[s>>2]=(c[t>>2]|0)>>>0>(c[s>>2]|0)>>>0?c[t>>2]|0:c[s>>2]|0;Xq(c[k>>2]|0,(c[j>>2]|0)+64|0,c[m>>2]|0,c[q>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[q>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[q>>2]|0);w=10}while(0);if((c[n>>2]|0)>>>0>=(c[q>>2]|0)>>>0){Yq((c[j>>2]|0)+96|0,(c[j>>2]|0)+64|0,c[q>>2]|0);c[t>>2]=vb[c[p>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,(c[j>>2]|0)+64|0)|0;c[s>>2]=(c[t>>2]|0)>>>0>(c[s>>2]|0)>>>0?c[t>>2]|0:c[s>>2]|0;Xq(c[k>>2]|0,(c[j>>2]|0)+64|0,c[m>>2]|0,c[q>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[q>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[q>>2]|0)}if(c[n>>2]|0){Yq((c[j>>2]|0)+96|0,(c[j>>2]|0)+64|0,c[q>>2]|0);c[t>>2]=vb[c[p>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,(c[j>>2]|0)+64|0)|0;c[s>>2]=(c[t>>2]|0)>>>0>(c[s>>2]|0)>>>0?c[t>>2]|0:c[s>>2]|0;c[(c[j>>2]|0)+112>>2]=c[q>>2];q=(c[j>>2]|0)+112|0;c[q>>2]=(c[q>>2]|0)-(c[n>>2]|0);Xq(c[k>>2]|0,(c[j>>2]|0)+64|0,c[m>>2]|0,c[n>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[n>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);c[n>>2]=0}if((c[s>>2]|0)>>>0>0){If((c[s>>2]|0)+16|0);Jf()}c[h>>2]=0;v=c[h>>2]|0;i=g;return v|0}function Xq(b,e,f,g){b=b|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+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[p>>2]|c[n>>2]|c[o>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[s>>2]|0;c[s>>2]=l+4;k=c[l>>2]|0;l=c[r>>2]|0;c[r>>2]=l+4;j=c[l>>2]^k;c[l>>2]=j;l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[p>>2]|0;c[p>>2]=s+1;r=d[s>>0]|0;s=c[o>>2]|0;c[o>>2]=s+1;q=((d[s>>0]|0)^r)&255;a[s>>0]=q;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function Yq(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;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[f>>2]=3;if(!((c[k>>2]|c[l>>2])&3)){c[m>>2]=c[k>>2];c[n>>2]=c[l>>2];while(1){if((c[j>>2]|0)>>>0<4)break;h=c[n>>2]|0;c[n>>2]=h+4;g=c[h>>2]|0;h=c[m>>2]|0;c[m>>2]=h+4;c[h>>2]=g;c[j>>2]=(c[j>>2]|0)-4}c[k>>2]=c[m>>2];c[l>>2]=c[n>>2]}while(1){if(!(c[j>>2]|0))break;n=c[l>>2]|0;c[l>>2]=n+1;m=a[n>>0]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[n>>0]=m;c[j>>2]=(c[j>>2]|0)+-1}i=f;return}function Zq(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;g=i;i=i+64|0;h=g+48|0;j=g+44|0;k=g+40|0;l=g+36|0;m=g+32|0;n=g+28|0;o=g+24|0;p=g+20|0;q=g+16|0;r=g+12|0;s=g+8|0;t=g+4|0;u=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[p>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+36>>2];c[q>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2];c[r>>2]=(c[q>>2]|0)+(c[q>>2]|0);if((c[l>>2]|0)>>>0<(c[n>>2]|0)>>>0){c[h>>2]=200;v=c[h>>2]|0;i=g;return v|0}if((c[n>>2]|0)>>>0<=(c[(c[j>>2]|0)+112>>2]|0)>>>0){c[o>>2]=(c[j>>2]|0)+64+(c[q>>2]|0)+(0-(c[(c[j>>2]|0)+112>>2]|0));_q(c[k>>2]|0,c[o>>2]|0,c[m>>2]|0,c[n>>2]|0);l=(c[j>>2]|0)+112|0;c[l>>2]=(c[l>>2]|0)-(c[n>>2]|0);c[h>>2]=0;v=c[h>>2]|0;i=g;return v|0}c[s>>2]=0;if(c[(c[j>>2]|0)+112>>2]|0){c[n>>2]=(c[n>>2]|0)-(c[(c[j>>2]|0)+112>>2]|0);c[o>>2]=(c[j>>2]|0)+64+(c[q>>2]|0)+(0-(c[(c[j>>2]|0)+112>>2]|0));_q(c[k>>2]|0,c[o>>2]|0,c[m>>2]|0,c[(c[j>>2]|0)+112>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[(c[j>>2]|0)+112>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[(c[j>>2]|0)+112>>2]|0);c[(c[j>>2]|0)+112>>2]=0}if((c[n>>2]|0)>>>0>=(c[r>>2]|0)>>>0?c[(c[j>>2]|0)+20+4>>2]|0:0){c[u>>2]=((c[n>>2]|0)>>>0)/((c[q>>2]|0)>>>0)|0;wb[c[(c[j>>2]|0)+20+4>>2]&15]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,c[k>>2]|0,c[m>>2]|0,c[u>>2]|0);o=_(c[u>>2]|0,c[q>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+o;o=_(c[u>>2]|0,c[q>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+o;o=_(c[u>>2]|0,c[q>>2]|0)|0;c[n>>2]=(c[n>>2]|0)-o}else w=10;a:do if((w|0)==10)while(1){w=0;if((c[n>>2]|0)>>>0<(c[r>>2]|0)>>>0)break a;c[t>>2]=vb[c[p>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,(c[j>>2]|0)+64|0)|0;c[s>>2]=(c[t>>2]|0)>>>0>(c[s>>2]|0)>>>0?c[t>>2]|0:c[s>>2]|0;_q(c[k>>2]|0,(c[j>>2]|0)+64|0,c[m>>2]|0,c[q>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[q>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[q>>2]|0);w=10}while(0);if((c[n>>2]|0)>>>0>=(c[q>>2]|0)>>>0){Yq((c[j>>2]|0)+96|0,(c[j>>2]|0)+64|0,c[q>>2]|0);c[t>>2]=vb[c[p>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,(c[j>>2]|0)+64|0)|0;c[s>>2]=(c[t>>2]|0)>>>0>(c[s>>2]|0)>>>0?c[t>>2]|0:c[s>>2]|0;_q(c[k>>2]|0,(c[j>>2]|0)+64|0,c[m>>2]|0,c[q>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[q>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[q>>2]|0)}if(c[n>>2]|0){Yq((c[j>>2]|0)+96|0,(c[j>>2]|0)+64|0,c[q>>2]|0);c[t>>2]=vb[c[p>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,(c[j>>2]|0)+64|0)|0;c[s>>2]=(c[t>>2]|0)>>>0>(c[s>>2]|0)>>>0?c[t>>2]|0:c[s>>2]|0;c[(c[j>>2]|0)+112>>2]=c[q>>2];q=(c[j>>2]|0)+112|0;c[q>>2]=(c[q>>2]|0)-(c[n>>2]|0);_q(c[k>>2]|0,(c[j>>2]|0)+64|0,c[m>>2]|0,c[n>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[n>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);c[n>>2]=0}if((c[s>>2]|0)>>>0>0){If((c[s>>2]|0)+16|0);Jf()}c[h>>2]=0;v=c[h>>2]|0;i=g;return v|0}function _q(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;$q(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}function $q(b,e,f,g,h){b=b|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;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+28|0;s=j+24|0;t=j+60|0;u=j+20|0;v=j+16|0;w=j+12|0;x=j+8|0;y=j+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[k>>2];c[q>>2]=c[m>>2];c[r>>2]=c[l>>2];c[s>>2]=c[n>>2];c[j>>2]=3;if(!((c[s>>2]|c[r>>2]|c[p>>2]|c[q>>2])&3)){c[u>>2]=c[p>>2];c[x>>2]=c[r>>2];c[v>>2]=c[q>>2];c[w>>2]=c[s>>2];while(1){if((c[o>>2]|0)>>>0<4)break;n=c[w>>2]|0;c[w>>2]=n+4;c[y>>2]=c[n>>2];n=c[c[v>>2]>>2]|0;l=c[x>>2]|0;c[x>>2]=l+4;m=n^c[l>>2];l=c[u>>2]|0;c[u>>2]=l+4;c[l>>2]=m;m=c[y>>2]|0;l=c[v>>2]|0;c[v>>2]=l+4;c[l>>2]=m;c[o>>2]=(c[o>>2]|0)-4}c[p>>2]=c[u>>2];c[r>>2]=c[x>>2];c[q>>2]=c[v>>2];c[s>>2]=c[w>>2]}while(1){if(!(c[o>>2]|0))break;w=c[s>>2]|0;c[s>>2]=w+1;a[t>>0]=a[w>>0]|0;w=d[c[q>>2]>>0]|0;v=c[r>>2]|0;c[r>>2]=v+1;x=(w^(d[v>>0]|0))&255;v=c[p>>2]|0;c[p>>2]=v+1;a[v>>0]=x;x=a[t>>0]|0;v=c[q>>2]|0;c[q>>2]=v+1;a[v>>0]=x;c[o>>2]=(c[o>>2]|0)+-1}i=j;return}function ar(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;br(c[d>>2]|0);i=b;return 0}function br(b){b=b|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;e=i;i=i+80|0;f=e+56|0;g=e+52|0;h=e+64|0;j=e+63|0;k=e+62|0;l=e+61|0;m=e+48|0;n=e+44|0;o=e+40|0;p=e+24|0;q=e+16|0;r=e+12|0;s=e+60|0;t=e;u=e+8|0;c[f>>2]=b;c[g>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+20>>2];if(16<(c[g>>2]|0)>>>0)wf(46779,113,46793);Fx(p|0,0,c[g>>2]|0)|0;c[m>>2]=vb[c[(c[(c[f>>2]|0)+12>>2]|0)+36>>2]&63]((c[f>>2]|0)+496|0,p,p)|0;a[h>>0]=(c[g>>2]|0)==16?135:27;c[o>>2]=0;while(1){if((c[o>>2]|0)>=2)break;a[j>>0]=0;c[n>>2]=(c[g>>2]|0)-1;while(1){if((c[n>>2]|0)<0)break;a[l>>0]=a[p+(c[n>>2]|0)>>0]|0;a[k>>0]=d[j>>0]|0|(d[l>>0]|0)<<1;a[j>>0]=(d[l>>0]|0)>>7;a[p+(c[n>>2]|0)>>0]=d[k>>0]|0;a[(c[f>>2]|0)+128+1+(c[o>>2]<<4)+(c[n>>2]|0)>>0]=a[p+(c[n>>2]|0)>>0]|0;c[n>>2]=(c[n>>2]|0)+-1}b=p+((c[g>>2]|0)-1)|0;a[b>>0]=(d[b>>0]|0)^(d[j>>0]|0|0?d[h>>0]|0:0);a[(c[f>>2]|0)+128+1+(c[o>>2]<<4)+((c[g>>2]|0)-1)>>0]=a[p+((c[g>>2]|0)-1)>>0]|0;c[o>>2]=(c[o>>2]|0)+1}c[q>>2]=p;c[r>>2]=16;a[s>>0]=0;p=t;c[p>>2]=d[s>>0];c[p+4>>2]=0;while(1){if(!(c[q>>2]&7|0?(c[r>>2]|0)!=0:0))break;a[c[q>>2]>>0]=a[s>>0]|0;c[q>>2]=(c[q>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+-1}if((c[r>>2]|0)>>>0>=8){p=t;o=Mx(c[p>>2]|0,c[p+4>>2]|0,16843009,16843009)|0;p=t;c[p>>2]=o;c[p+4>>2]=C;do{c[u>>2]=c[q>>2];p=t;o=c[p+4>>2]|0;g=c[u>>2]|0;c[g>>2]=c[p>>2];c[g+4>>2]=o;c[r>>2]=(c[r>>2]|0)-8;c[q>>2]=(c[q>>2]|0)+8}while((c[r>>2]|0)>>>0>=8)}while(1){if(!(c[r>>2]|0))break;a[c[q>>2]>>0]=a[s>>0]|0;c[q>>2]=(c[q>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+-1}if(!(c[m>>2]|0)){i=e;return}If((c[m>>2]|0)+16|0);Jf();i=e;return}function cr(b,e,f,g,h){b=b|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,D=0,E=0,F=0;j=i;i=i+96|0;k=j+68|0;l=j+64|0;m=j+60|0;n=j+56|0;o=j+52|0;p=j+48|0;q=j+44|0;r=j+40|0;s=j+36|0;t=j+32|0;u=j+28|0;v=j+24|0;w=j+20|0;x=j+80|0;y=j+16|0;z=j+12|0;A=j+72|0;B=j;D=j+8|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[s>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+36>>2];c[t>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+20>>2];if((c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0){c[k>>2]=200;E=c[k>>2]|0;i=j;return E|0}c[v>>2]=0;if(c[(c[l>>2]|0)+112>>2]|0){if((c[(c[l>>2]|0)+112>>2]|0)>>>0>=(c[t>>2]|0)>>>0)xf(46815,46837,53,46850);c[r>>2]=(c[t>>2]|0)-(c[(c[l>>2]|0)+112>>2]|0);if((c[(c[l>>2]|0)+112>>2]|0)>>>0>(c[p>>2]|0)>>>0)F=c[p>>2]|0;else F=c[(c[l>>2]|0)+112>>2]|0;c[q>>2]=F;dr(c[m>>2]|0,c[o>>2]|0,(c[l>>2]|0)+96+(c[r>>2]|0)|0,c[q>>2]|0);F=(c[l>>2]|0)+112|0;c[F>>2]=(c[F>>2]|0)-(c[q>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[p>>2]=(c[p>>2]|0)-(c[q>>2]|0)}c[u>>2]=((c[p>>2]|0)>>>0)/((c[t>>2]|0)>>>0)|0;if(c[u>>2]|0?c[(c[l>>2]|0)+20+16>>2]|0:0){wb[c[(c[l>>2]|0)+20+16>>2]&15]((c[l>>2]|0)+496|0,(c[l>>2]|0)+80|0,c[m>>2]|0,c[o>>2]|0,c[u>>2]|0);F=_(c[u>>2]|0,c[t>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+F;F=_(c[u>>2]|0,c[t>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+F;F=_(c[u>>2]|0,c[t>>2]|0)|0;c[p>>2]=(c[p>>2]|0)-F}a:do if(c[p>>2]|0){do{c[w>>2]=vb[c[s>>2]&63]((c[l>>2]|0)+496|0,x,(c[l>>2]|0)+80|0)|0;c[v>>2]=(c[w>>2]|0)>>>0>(c[v>>2]|0)>>>0?c[w>>2]|0:c[v>>2]|0;c[r>>2]=c[t>>2];while(1){if((c[r>>2]|0)<=0)break;F=(c[l>>2]|0)+80+((c[r>>2]|0)-1)|0;a[F>>0]=(a[F>>0]|0)+1<<24>>24;if(d[(c[l>>2]|0)+80+((c[r>>2]|0)-1)>>0]|0|0)break;c[r>>2]=(c[r>>2]|0)+-1}c[q>>2]=(c[t>>2]|0)>>>0<(c[p>>2]|0)>>>0?c[t>>2]|0:c[p>>2]|0;dr(c[m>>2]|0,c[o>>2]|0,x,c[q>>2]|0);c[p>>2]=(c[p>>2]|0)-(c[q>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[q>>2]|0)}while((c[p>>2]|0)!=0);c[(c[l>>2]|0)+112>>2]=(c[t>>2]|0)-(c[q>>2]|0);if(c[(c[l>>2]|0)+112>>2]|0)er((c[l>>2]|0)+96+(c[q>>2]|0)|0,x+(c[q>>2]|0)|0,c[(c[l>>2]|0)+112>>2]|0);c[y>>2]=x;c[z>>2]=16;a[A>>0]=0;F=B;c[F>>2]=d[A>>0];c[F+4>>2]=0;while(1){if(!(c[y>>2]&7|0?(c[z>>2]|0)!=0:0))break;a[c[y>>2]>>0]=a[A>>0]|0;c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+-1}if((c[z>>2]|0)>>>0>=8){F=B;u=Mx(c[F>>2]|0,c[F+4>>2]|0,16843009,16843009)|0;F=B;c[F>>2]=u;c[F+4>>2]=C;do{c[D>>2]=c[y>>2];F=B;u=c[F+4>>2]|0;n=c[D>>2]|0;c[n>>2]=c[F>>2];c[n+4>>2]=u;c[z>>2]=(c[z>>2]|0)-8;c[y>>2]=(c[y>>2]|0)+8}while((c[z>>2]|0)>>>0>=8)}while(1){if(!(c[z>>2]|0))break a;a[c[y>>2]>>0]=a[A>>0]|0;c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+-1}}while(0);if((c[v>>2]|0)>>>0>0){If((c[v>>2]|0)+16|0);Jf()}c[k>>2]=0;E=c[k>>2]|0;i=j;return E|0}function dr(b,e,f,g){b=b|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+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function er(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;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[f>>2]=3;if(!((c[k>>2]|c[l>>2])&3)){c[m>>2]=c[k>>2];c[n>>2]=c[l>>2];while(1){if((c[j>>2]|0)>>>0<4)break;h=c[n>>2]|0;c[n>>2]=h+4;g=c[h>>2]|0;h=c[m>>2]|0;c[m>>2]=h+4;c[h>>2]=g;c[j>>2]=(c[j>>2]|0)-4}c[k>>2]=c[m>>2];c[l>>2]=c[n>>2]}while(1){if(!(c[j>>2]|0))break;n=c[l>>2]|0;c[l>>2]=n+1;m=a[n>>0]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[n>>0]=m;c[j>>2]=(c[j>>2]|0)+-1}i=f;return}function fr(b,e,f,g,h){b=b|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;j=i;i=i+32|0;k=j+24|0;l=j+20|0;m=j+16|0;n=j+12|0;o=j+8|0;p=j+4|0;q=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[(c[(c[l>>2]|0)+12>>2]|0)+20>>2]|0)!=16){c[k>>2]=12;r=c[k>>2]|0;i=j;return r|0}if((c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0){c[k>>2]=200;r=c[k>>2]|0;i=j;return r|0}if((d[(c[l>>2]|0)+128+68>>0]|0)>>>2&1|0){c[k>>2]=139;r=c[k>>2]|0;i=j;return r|0}if(((d[(c[l>>2]|0)+56>>0]|0)>>>2&1|0)==0?(a[(c[l>>2]|0)+128+68>>0]&1|0)==0:0){if(!((d[(c[l>>2]|0)+56>>0]|0)>>>1&1))gr(c[l>>2]|0,76459,16)|0;if((d[(c[l>>2]|0)+128+68>>0]|0)>>>3&1|0){c[k>>2]=156;r=c[k>>2]|0;i=j;return r|0}if(!((d[(c[l>>2]|0)+128+68>>0]|0)>>>1&1)){kr(c[l>>2]|0,(c[l>>2]|0)+128|0,0,0,1);h=(c[l>>2]|0)+128+68|0;a[h>>0]=a[h>>0]&-3|2}ir((c[l>>2]|0)+128+44|0,c[p>>2]|0);h=(nr((c[l>>2]|0)+128+44|0)|0)!=0;g=c[l>>2]|0;if(!h){h=g+128+68|0;a[h>>0]=a[h>>0]&-5|4;c[k>>2]=139;r=c[k>>2]|0;i=j;return r|0}c[q>>2]=cr(g,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;if(c[q>>2]|0){c[k>>2]=c[q>>2];r=c[k>>2]|0;i=j;return r|0}else{kr(c[l>>2]|0,(c[l>>2]|0)+128|0,c[m>>2]|0,c[p>>2]|0,0);c[k>>2]=0;r=c[k>>2]|0;i=j;return r|0}}c[k>>2]=156;r=c[k>>2]|0;i=j;return r|0}function gr(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;f=i;i=i+16|0;g=f+8|0;h=f+4|0;j=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;e=(c[g>>2]|0)+56|0;a[e>>0]=a[e>>0]&-3;e=(c[g>>2]|0)+56|0;a[e>>0]=a[e>>0]&-5;e=(c[g>>2]|0)+128+68|0;a[e>>0]=a[e>>0]&-9;if(!(Ah()|0)){k=c[g>>2]|0;l=c[h>>2]|0;m=c[j>>2]|0;n=hr(k,l,m)|0;i=f;return n|0}e=(c[g>>2]|0)+128+68|0;a[e>>0]=a[e>>0]&-9|8;k=c[g>>2]|0;l=c[h>>2]|0;m=c[j>>2]|0;n=hr(k,l,m)|0;i=f;return n|0}function hr(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;g=i;i=i+96|0;h=g+76|0;j=g+72|0;k=g+68|0;l=g+64|0;m=g+56|0;n=g+40|0;o=g+36|0;p=g+32|0;q=g+81|0;r=g+8|0;s=g+28|0;t=g+24|0;u=g+20|0;v=g+80|0;w=g;x=g+16|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;f=(c[j>>2]|0)+128+36|0;c[f>>2]=0;c[f+4>>2]=0;f=(c[j>>2]|0)+128+44|0;c[f>>2]=0;c[f+4>>2]=0;f=(c[j>>2]|0)+128|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;f=(c[j>>2]|0)+128+68|0;a[f>>0]=a[f>>0]&-5;f=(c[j>>2]|0)+128+68|0;a[f>>0]=a[f>>0]&-2;f=(c[j>>2]|0)+128+68|0;a[f>>0]=a[f>>0]&-3;if(!(c[l>>2]|0)){c[h>>2]=139;y=c[h>>2]|0;i=g;return y|0}a:do if((c[l>>2]|0)!=12){c[m>>2]=0;c[m+4>>2]=0;f=(c[j>>2]|0)+80|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;ir(m,c[l>>2]|0);f=(jr(m)|0)!=0;e=c[j>>2]|0;if(!f){f=e+128+68|0;a[f>>0]=a[f>>0]&-5|4;c[h>>2]=139;y=c[h>>2]|0;i=g;return y|0}kr(e,(c[j>>2]|0)+80|0,c[k>>2]|0,c[l>>2]|0,1);c[n+8+4>>2]=Hx(c[m>>2]<<3|0)|0;c[n+8>>2]=Hx((c[m>>2]|0)>>>29|c[m+4>>2]<<3|0)|0;c[n+4>>2]=0;c[n>>2]=0;kr(c[j>>2]|0,(c[j>>2]|0)+80|0,n,16,1);c[o>>2]=m;c[p>>2]=8;a[q>>0]=0;e=r;c[e>>2]=d[q>>0];c[e+4>>2]=0;while(1){if(!(c[o>>2]&7|0?(c[p>>2]|0)!=0:0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}if((c[p>>2]|0)>>>0>=8){e=r;f=Mx(c[e>>2]|0,c[e+4>>2]|0,16843009,16843009)|0;e=r;c[e>>2]=f;c[e+4>>2]=C;do{c[s>>2]=c[o>>2];e=r;f=c[e+4>>2]|0;b=c[s>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=f;c[p>>2]=(c[p>>2]|0)-8;c[o>>2]=(c[o>>2]|0)+8}while((c[p>>2]|0)>>>0>=8)}while(1){if(!(c[p>>2]|0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}c[t>>2]=n;c[u>>2]=16;a[v>>0]=0;f=w;c[f>>2]=d[v>>0];c[f+4>>2]=0;while(1){if(!(c[t>>2]&7|0?(c[u>>2]|0)!=0:0))break;a[c[t>>2]>>0]=a[v>>0]|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+-1}if((c[u>>2]|0)>>>0>=8){f=w;b=Mx(c[f>>2]|0,c[f+4>>2]|0,16843009,16843009)|0;f=w;c[f>>2]=b;c[f+4>>2]=C;do{c[x>>2]=c[t>>2];f=w;b=c[f+4>>2]|0;e=c[x>>2]|0;c[e>>2]=c[f>>2];c[e+4>>2]=b;c[u>>2]=(c[u>>2]|0)-8;c[t>>2]=(c[t>>2]|0)+8}while((c[u>>2]|0)>>>0>=8)}while(1){if(!(c[u>>2]|0))break a;a[c[t>>2]>>0]=a[v>>0]|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+-1}}else{Dx((c[j>>2]|0)+80|0,c[k>>2]|0,c[l>>2]|0)|0;a[(c[j>>2]|0)+80+14>>0]=0;a[(c[j>>2]|0)+80+13>>0]=0;a[(c[j>>2]|0)+80+12>>0]=0;a[(c[j>>2]|0)+80+15>>0]=1}while(0);vb[c[(c[(c[j>>2]|0)+12>>2]|0)+36>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+128+52|0,(c[j>>2]|0)+80|0)|0;mr((c[j>>2]|0)+80|0,1)|0;c[(c[j>>2]|0)+112>>2]=0;l=(c[j>>2]|0)+56|0;a[l>>0]=a[l>>0]&-3|2;l=(c[j>>2]|0)+56|0;a[l>>0]=a[l>>0]&-5;c[h>>2]=0;y=c[h>>2]|0;i=g;return y|0}function ir(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;c[b>>2]=(c[b>>2]|0)+(c[f>>2]|0);if((c[c[e>>2]>>2]|0)>>>0>=(c[f>>2]|0)>>>0){i=d;return}f=(c[e>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+1;i=d;return}function jr(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;do if((c[(c[e>>2]|0)+4>>2]|0)>>>0<=536870911){if((c[(c[e>>2]|0)+4>>2]|0)>>>0<536870911){c[d>>2]=1;break}if((c[c[e>>2]>>2]|0)>>>0<=4294967295){c[d>>2]=1;break}else{c[d>>2]=0;break}}else c[d>>2]=0;while(0);i=b;return c[d>>2]|0}function kr(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;h=i;i=i+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;t=h;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=16;c[p>>2]=c[(c[j>>2]|0)+128+32>>2];c[q>>2]=c[(c[j>>2]|0)+128+96>>2];c[t>>2]=0;if((c[m>>2]|0)==0?!((c[p>>2]|0)!=0&(c[n>>2]|0)!=0):0){i=h;return}a:do{if((c[p>>2]|0)>>>0>0?1:((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0<(c[o>>2]|0)>>>0){c[s>>2]=(c[o>>2]|0)-(c[p>>2]|0);c[s>>2]=(c[s>>2]|0)>>>0<(c[m>>2]|0)>>>0?c[s>>2]|0:c[m>>2]|0;lr((c[j>>2]|0)+128+16+(c[p>>2]|0)|0,c[l>>2]|0,c[s>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[s>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[s>>2]|0);c[m>>2]=(c[m>>2]|0)-(c[s>>2]|0)}b:do if(!(c[m>>2]|0)){if(!(c[n>>2]|0))break a;while(1){if((c[p>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break b;g=c[p>>2]|0;c[p>>2]=g+1;a[(c[j>>2]|0)+128+16+g>>0]=0}}while(0);if((c[p>>2]|0)>>>0>0){if((c[p>>2]|0)!=(c[o>>2]|0)){u=11;break}c[t>>2]=Cb[c[q>>2]&7](c[j>>2]|0,c[k>>2]|0,(c[j>>2]|0)+128+16|0,1)|0;c[p>>2]=0}c[r>>2]=((c[m>>2]|0)>>>0)/((c[o>>2]|0)>>>0)|0;if(c[r>>2]|0){c[t>>2]=Cb[c[q>>2]&7](c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[r>>2]|0)|0;g=_(c[o>>2]|0,c[r>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+g;g=_(c[o>>2]|0,c[r>>2]|0)|0;c[m>>2]=(c[m>>2]|0)-g}}while((c[m>>2]|0)>>>0>0);if((u|0)==11)xf(46875,46895,499,46908);c[(c[j>>2]|0)+128+32>>2]=c[p>>2];if(!(c[t>>2]|0)){i=h;return}If(c[t>>2]|0);Jf();i=h;return}function lr(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;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[f>>2]=3;if(!((c[k>>2]|c[l>>2])&3)){c[m>>2]=c[k>>2];c[n>>2]=c[l>>2];while(1){if((c[j>>2]|0)>>>0<4)break;h=c[n>>2]|0;c[n>>2]=h+4;g=c[h>>2]|0;h=c[m>>2]|0;c[m>>2]=h+4;c[h>>2]=g;c[j>>2]=(c[j>>2]|0)-4}c[k>>2]=c[m>>2];c[l>>2]=c[n>>2]}while(1){if(!(c[j>>2]|0))break;n=c[l>>2]|0;c[l>>2]=n+1;m=a[n>>0]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[n>>0]=m;c[j>>2]=(c[j>>2]|0)+-1}i=f;return}function mr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+32|0;e=d+16|0;f=d+12|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[d+8>>2]=16;c[g>>2]=(c[e>>2]|0)+16+-4;e=Hx(c[c[g>>2]>>2]|0)|0;c[h>>2]=e+(c[f>>2]|0);f=Hx(c[h>>2]|0)|0;c[c[g>>2]>>2]=f;i=d;return c[h>>2]|0}function nr(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;do if((c[(c[e>>2]|0)+4>>2]|0)>>>0<=15){if((c[(c[e>>2]|0)+4>>2]|0)>>>0<15){c[d>>2]=1;break}if((c[c[e>>2]>>2]|0)>>>0<=4294967264){c[d>>2]=1;break}else{c[d>>2]=0;break}}else c[d>>2]=0;while(0);i=b;return c[d>>2]|0}function or(b,e,f,g,h){b=b|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+32|0;k=j+20|0;l=j+16|0;m=j+12|0;n=j+8|0;o=j+4|0;p=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[(c[(c[l>>2]|0)+12>>2]|0)+20>>2]|0)!=16){c[k>>2]=12;q=c[k>>2]|0;i=j;return q|0}if((c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0){c[k>>2]=200;q=c[k>>2]|0;i=j;return q|0}if((d[(c[l>>2]|0)+128+68>>0]|0)>>>2&1|0){c[k>>2]=139;q=c[k>>2]|0;i=j;return q|0}if(((d[(c[l>>2]|0)+56>>0]|0)>>>2&1|0)==0?(a[(c[l>>2]|0)+128+68>>0]&1|0)==0:0){if(!((d[(c[l>>2]|0)+56>>0]|0)>>>1&1))gr(c[l>>2]|0,76475,16)|0;if(!((d[(c[l>>2]|0)+128+68>>0]|0)>>>1&1)){kr(c[l>>2]|0,(c[l>>2]|0)+128|0,0,0,1);h=(c[l>>2]|0)+128+68|0;a[h>>0]=a[h>>0]&-3|2}ir((c[l>>2]|0)+128+44|0,c[p>>2]|0);h=(nr((c[l>>2]|0)+128+44|0)|0)!=0;g=c[l>>2]|0;if(h){kr(g,(c[l>>2]|0)+128|0,c[o>>2]|0,c[p>>2]|0,0);c[k>>2]=cr(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;q=c[k>>2]|0;i=j;return q|0}else{p=g+128+68|0;a[p>>0]=a[p>>0]&-5|4;c[k>>2]=139;q=c[k>>2]|0;i=j;return q|0}}c[k>>2]=156;q=c[k>>2]|0;i=j;return q|0}function pr(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+128+80|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;vb[c[(c[(c[d>>2]|0)+12>>2]|0)+36>>2]&63]((c[d>>2]|0)+496|0,(c[d>>2]|0)+128+80|0,(c[d>>2]|0)+128+80|0)|0;qr(c[d>>2]|0);i=b;return}function qr(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+128+96>>2]=2;vr((c[d>>2]|0)+128+80|0,(c[d>>2]|0)+128+100|0);i=b;return}function rr(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;f=i;i=i+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[f+4>>2]=16;c[l>>2]=0;while(1){if(!(c[k>>2]|0))break;c[l>>2]=sr(c[h>>2]|0,c[j>>2]|0,(c[g>>2]|0)+128+100|0)|0;c[j>>2]=(c[j>>2]|0)+16;c[k>>2]=(c[k>>2]|0)+-1}i=f;return (c[l>>2]|0)+(c[l>>2]|0?20:0)|0}function sr(a,b,f){a=a|0;b=b|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;g=i;i=i+80|0;h=g+56|0;j=g+52|0;k=g+48|0;l=g+64|0;m=g+32|0;n=g+24|0;o=g+20|0;p=g+16|0;q=g+4|0;r=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=f;tr(l,c[h>>2]|0,c[j>>2]|0,16);c[r>>2]=15;c[n>>2]=d[l+(c[r>>2]|0)>>0];c[o>>2]=(c[k>>2]|0)+((c[n>>2]&15)<<2<<2);c[n>>2]=(c[n>>2]&240)>>>4;c[p>>2]=(c[k>>2]|0)+(c[n>>2]<<2<<2);j=(c[r>>2]|0)+-1|0;c[r>>2]=j;c[n>>2]=d[l+j>>0];j=(c[c[o>>2]>>2]|0)>>>4;f=Ix(e[17846+((c[(c[o>>2]|0)+12>>2]<<4&240)<<1)>>1]|0|0,0,16)|0;c[m>>2]=j^f^c[c[p>>2]>>2];c[m+4>>2]=(c[(c[o>>2]|0)+4>>2]|0)>>>4^c[c[o>>2]>>2]<<28^c[(c[p>>2]|0)+4>>2];c[m+8>>2]=(c[(c[o>>2]|0)+8>>2]|0)>>>4^c[(c[o>>2]|0)+4>>2]<<28^c[(c[p>>2]|0)+8>>2];c[m+12>>2]=(c[(c[o>>2]|0)+12>>2]|0)>>>4^c[(c[o>>2]|0)+8>>2]<<28^c[(c[p>>2]|0)+12>>2];while(1){c[o>>2]=(c[k>>2]|0)+((c[n>>2]&15)<<2<<2);c[n>>2]=(c[n>>2]&240)>>>4;c[p>>2]=(c[k>>2]|0)+(c[n>>2]<<2<<2);c[q>>2]=c[m>>2];c[q+4>>2]=c[m+4>>2];c[q+8>>2]=c[m+8>>2];c[m>>2]=(c[q>>2]|0)>>>8^(e[17846+((c[m+12>>2]&255)<<1)>>1]|0)<<16^c[c[p>>2]>>2];c[m+4>>2]=c[q>>2]<<24^(c[m+4>>2]|0)>>>8^c[(c[p>>2]|0)+4>>2];c[m+8>>2]=c[q+4>>2]<<24^(c[m+8>>2]|0)>>>8^c[(c[p>>2]|0)+8>>2];c[m+12>>2]=c[q+8>>2]<<24^(c[m+12>>2]|0)>>>8^c[(c[p>>2]|0)+12>>2];f=(c[c[o>>2]>>2]|0)>>>4;j=Ix(e[17846+((c[(c[o>>2]|0)+12>>2]<<4&240)<<1)>>1]|0|0,0,16)|0;c[m>>2]=c[m>>2]^(f^j);j=m+4|0;c[j>>2]=c[j>>2]^((c[(c[o>>2]|0)+4>>2]|0)>>>4^c[c[o>>2]>>2]<<28);j=m+8|0;c[j>>2]=c[j>>2]^((c[(c[o>>2]|0)+8>>2]|0)>>>4^c[(c[o>>2]|0)+4>>2]<<28);j=m+12|0;c[j>>2]=c[j>>2]^((c[(c[o>>2]|0)+12>>2]|0)>>>4^c[(c[o>>2]|0)+8>>2]<<28);if(!(c[r>>2]|0))break;j=(c[r>>2]|0)+-1|0;c[r>>2]=j;c[n>>2]=d[l+j>>0]}ur(c[h>>2]|0,c[m>>2]|0);ur((c[h>>2]|0)+4|0,c[m+4>>2]|0);ur((c[h>>2]|0)+8|0,c[m+8>>2]|0);ur((c[h>>2]|0)+12|0,c[m+12>>2]|0);i=g;return 76}function tr(b,e,f,g){b=b|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+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function ur(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];a[c[h>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[h>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[h>>2]|0)+3>>0]=c[g>>2];i=e;return}function vr(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+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;b=wr(c[e>>2]|0)|0;c[(c[f>>2]|0)+128>>2]=b;b=wr((c[e>>2]|0)+4|0)|0;c[(c[f>>2]|0)+132>>2]=b;b=wr((c[e>>2]|0)+8|0)|0;c[(c[f>>2]|0)+136>>2]=b;b=wr((c[e>>2]|0)+12|0)|0;c[(c[f>>2]|0)+140>>2]=b;c[g>>2]=4;while(1){if((c[g>>2]|0)<=0)break;c[(c[f>>2]|0)+((c[g>>2]<<2)+0<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<1<<2)+0<<2)>>2];c[(c[f>>2]|0)+((c[g>>2]<<2)+1<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<1<<2)+1<<2)>>2];c[(c[f>>2]|0)+((c[g>>2]<<2)+2<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<1<<2)+2<<2)>>2];c[(c[f>>2]|0)+((c[g>>2]<<2)+3<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<1<<2)+3<<2)>>2];xr(c[f>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)/2|0}c[g>>2]=2;while(1){if((c[g>>2]|0)>=16)break;c[h>>2]=1;while(1){j=c[g>>2]|0;if((c[h>>2]|0)>=(c[g>>2]|0))break;c[(c[f>>2]|0)+(((c[g>>2]|0)+(c[h>>2]|0)<<2)+0<<2)>>2]=c[(c[f>>2]|0)+((j<<2)+0<<2)>>2]^c[(c[f>>2]|0)+((c[h>>2]<<2)+0<<2)>>2];c[(c[f>>2]|0)+(((c[g>>2]|0)+(c[h>>2]|0)<<2)+1<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<2)+1<<2)>>2]^c[(c[f>>2]|0)+((c[h>>2]<<2)+1<<2)>>2];c[(c[f>>2]|0)+(((c[g>>2]|0)+(c[h>>2]|0)<<2)+2<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<2)+2<<2)>>2]^c[(c[f>>2]|0)+((c[h>>2]<<2)+2<<2)>>2];c[(c[f>>2]|0)+(((c[g>>2]|0)+(c[h>>2]|0)<<2)+3<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<2)+3<<2)>>2]^c[(c[f>>2]|0)+((c[h>>2]<<2)+3<<2)>>2];c[h>>2]=(c[h>>2]|0)+1}c[g>>2]=j<<1}i=d;return}function wr(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];i=b;return (d[c[f>>2]>>0]|0)<<24|(d[(c[f>>2]|0)+1>>0]|0)<<16|(d[(c[f>>2]|0)+2>>0]|0)<<8|(d[(c[f>>2]|0)+3>>0]|0)|0}function xr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+32|0;e=d+28|0;f=d+24|0;g=d+8|0;h=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[e>>2]|0)+((c[f>>2]<<2)+0<<2)>>2];c[g+4>>2]=c[(c[e>>2]|0)+((c[f>>2]<<2)+1<<2)>>2];c[g+8>>2]=c[(c[e>>2]|0)+((c[f>>2]<<2)+2<<2)>>2];c[g+12>>2]=c[(c[e>>2]|0)+((c[f>>2]<<2)+3<<2)>>2];c[h>>2]=c[g+12>>2]&1|0?225:0;c[(c[e>>2]|0)+((c[f>>2]<<2)+3<<2)>>2]=(c[g+12>>2]|0)>>>1^c[g+8>>2]<<31;c[(c[e>>2]|0)+((c[f>>2]<<2)+2<<2)>>2]=(c[g+8>>2]|0)>>>1^c[g+4>>2]<<31;c[(c[e>>2]|0)+((c[f>>2]<<2)+1<<2)>>2]=(c[g+4>>2]|0)>>>1^c[g>>2]<<31;c[(c[e>>2]|0)+((c[f>>2]<<2)+0<<2)>>2]=(c[g>>2]|0)>>>1^c[h>>2]<<24;i=d;return}function yr(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+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f;l=f+8|0;c[h>>2]=a;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;e=k;c[l>>2]=zr(c[e>>2]|0,c[e+4>>2]|0)|0;if((c[l>>2]|0)<16){c[g>>2]=(c[h>>2]|0)+128+32+(c[l>>2]<<4);m=c[g>>2]|0;i=f;return m|0}Br(c[j>>2]|0,(c[h>>2]|0)+128+32+240|0);c[l>>2]=(c[l>>2]|0)-16;while(1){n=c[j>>2]|0;if(!(c[l>>2]|0))break;Dr(n);c[l>>2]=(c[l>>2]|0)+-1}c[g>>2]=n;m=c[g>>2]|0;i=f;return m|0}function zr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d;g=f;c[g>>2]=a;c[g+4>>2]=b;b=f;g=c[b+4>>2]|0;if((c[f>>2]|0)!=0|0!=0){c[e>>2]=Ar(c[b>>2]|0)|0;h=c[e>>2]|0;i=d;return h|0}else{c[e>>2]=32+(Ar(g)|0);h=c[e>>2]|0;i=d;return h|0}return 0}function Ar(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)!=0;e=Gx(c[d>>2]|0)|0;i=b;return (a?e:32)|0}function Br(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if((c[e>>2]|0)!=(c[f>>2]|0))Cr(c[e>>2]|0,c[f>>2]|0,16);Dr(c[e>>2]|0);i=d;return}function Cr(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;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[f>>2]=3;if(!((c[k>>2]|c[l>>2])&3)){c[m>>2]=c[k>>2];c[n>>2]=c[l>>2];while(1){if((c[j>>2]|0)>>>0<4)break;h=c[n>>2]|0;c[n>>2]=h+4;g=c[h>>2]|0;h=c[m>>2]|0;c[m>>2]=h+4;c[h>>2]=g;c[j>>2]=(c[j>>2]|0)-4}c[k>>2]=c[m>>2];c[l>>2]=c[n>>2]}while(1){if(!(c[j>>2]|0))break;n=c[l>>2]|0;c[l>>2]=n+1;m=a[n>>0]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[n>>0]=m;c[j>>2]=(c[j>>2]|0)+-1}i=f;return}function Dr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+32|0;d=b+24|0;e=b+16|0;f=b+8|0;g=b;c[d>>2]=a;a=Er(c[d>>2]|0)|0;h=f;c[h>>2]=a;c[h+4>>2]=C;h=Er((c[d>>2]|0)+8|0)|0;a=g;c[a>>2]=h;c[a+4>>2]=C;a=f;h=Bx(c[a>>2]|0,c[a+4>>2]|0,63)|0;a=e;c[a>>2]=h;c[a+4>>2]=C;a=f;h=f;j=Ax(c[a>>2]|0,c[a+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;h=C;a=g;k=Cx(c[a>>2]|0,c[a+4>>2]|0,63)|0;a=f;c[a>>2]=j^k;c[a+4>>2]=h^C;h=g;a=g;k=Ax(c[h>>2]|0,c[h+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=g;c[a>>2]=k^c[e>>2]&135;c[a+4>>2]=C;a=f;Fr(c[d>>2]|0,c[a>>2]|0,c[a+4>>2]|0);a=g;Fr((c[d>>2]|0)+8|0,c[a>>2]|0,c[a+4>>2]|0);i=b;return}function Er(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+16|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];e=Ix(d[c[f>>2]>>0]|0|0,0,56)|0;a=C;g=Ix(d[(c[f>>2]|0)+1>>0]|0|0,0,48)|0;h=a|C;a=Ix(d[(c[f>>2]|0)+2>>0]|0|0,0,40)|0;j=h|C|(d[(c[f>>2]|0)+3>>0]|0);h=Ix(d[(c[f>>2]|0)+4>>0]|0|0,0,24)|0;k=j|C;j=Ix(d[(c[f>>2]|0)+5>>0]|0|0,0,16)|0;l=k|C;k=Ix(d[(c[f>>2]|0)+6>>0]|0|0,0,8)|0;C=l|C;i=b;return e|g|a|h|j|k|(d[(c[f>>2]|0)+7>>0]|0)|0}function Fr(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+12|0;h=f;j=f+8|0;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;c[j>>2]=c[g>>2];g=h;e=Cx(c[g>>2]|0,c[g+4>>2]|0,56)|0;a[c[j>>2]>>0]=e;e=h;g=Cx(c[e>>2]|0,c[e+4>>2]|0,48)|0;a[(c[j>>2]|0)+1>>0]=g;g=h;e=Cx(c[g>>2]|0,c[g+4>>2]|0,40)|0;a[(c[j>>2]|0)+2>>0]=e;a[(c[j>>2]|0)+3>>0]=c[h+4>>2];e=h;g=Cx(c[e>>2]|0,c[e+4>>2]|0,24)|0;a[(c[j>>2]|0)+4>>0]=g;g=h;e=Cx(c[g>>2]|0,c[g+4>>2]|0,16)|0;a[(c[j>>2]|0)+5>>0]=e;e=h;g=Cx(c[e>>2]|0,c[e+4>>2]|0,8)|0;a[(c[j>>2]|0)+6>>0]=g;a[(c[j>>2]|0)+7>>0]=c[h>>2];i=f;return}function Gr(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,D=0;g=i;i=i+128|0;h=g+68|0;j=g+64|0;k=g+60|0;l=g+56|0;m=g+104|0;n=g+80|0;o=g+52|0;p=g+48|0;q=g+44|0;r=g+40|0;s=g+36|0;t=g+32|0;u=g+73|0;v=g+8|0;w=g+28|0;x=g+24|0;y=g+20|0;z=g+72|0;A=g;B=g+16|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[q>>2]=0;if(!(a[(c[j>>2]|0)+56>>0]&1)){c[h>>2]=156;D=c[h>>2]|0;i=g;return D|0}switch(d[(c[j>>2]|0)+128+352>>0]|0|0){case 16:case 12:case 8:break;default:{c[h>>2]=59;D=c[h>>2]|0;i=g;return D|0}}if((c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2]|0)!=16){c[h>>2]=12;D=c[h>>2]|0;i=g;return D|0}if(!(c[k>>2]|0)){c[h>>2]=45;D=c[h>>2]|0;i=g;return D|0}if((c[l>>2]|0)>>>0>15|(c[l>>2]|0)>>>0<8|(c[l>>2]|0)>>>0>=16){c[h>>2]=139;D=c[h>>2]|0;i=g;return D|0}f=m;e=f+16|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(e|0));c[r>>2]=vb[c[(c[(c[j>>2]|0)+12>>2]|0)+36>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+128|0,m)|0;c[q>>2]=(c[r>>2]|0)>>>0>(c[q>>2]|0)>>>0?c[r>>2]|0:c[q>>2]|0;Br((c[j>>2]|0)+128+16|0,(c[j>>2]|0)+128|0);Br((c[j>>2]|0)+128+32|0,(c[j>>2]|0)+128+16|0);c[p>>2]=1;while(1){if((c[p>>2]|0)>=16)break;Br((c[j>>2]|0)+128+32+(c[p>>2]<<4)|0,(c[j>>2]|0)+128+32+((c[p>>2]|0)-1<<4)|0);c[p>>2]=(c[p>>2]|0)+1}Fx(m|0,0,16-(c[l>>2]|0)|0)|0;Cr(m+(16-(c[l>>2]|0))|0,c[k>>2]|0,c[l>>2]|0);a[m>>0]=(((d[(c[j>>2]|0)+128+352>>0]|0)<<3|0)%128|0)<<1;k=m+(16-(c[l>>2]|0)-1)|0;a[k>>0]=d[k>>0]|0|1;c[o>>2]=(d[m+15>>0]|0)&63;k=m+15|0;a[k>>0]=(d[k>>0]|0)&192;c[r>>2]=vb[c[(c[(c[j>>2]|0)+12>>2]|0)+36>>2]&63]((c[j>>2]|0)+496|0,m,m)|0;c[q>>2]=(c[r>>2]|0)>>>0>(c[q>>2]|0)>>>0?c[r>>2]|0:c[q>>2]|0;Cr(n,m,16);Hr(n+16|0,m,m+1|0,8);Ir((c[j>>2]|0)+64|0,n,c[o>>2]|0,16);o=(c[j>>2]|0)+56|0;a[o>>0]=a[o>>0]&-3|2;o=(c[j>>2]|0)+80|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;o=(c[j>>2]|0)+128+304|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;o=(c[j>>2]|0)+128+320|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;o=(c[j>>2]|0)+96|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[(c[j>>2]|0)+112>>2]=0;o=(c[j>>2]|0)+56|0;a[o>>0]=a[o>>0]&-5;o=(c[j>>2]|0)+56|0;a[o>>0]=a[o>>0]&-9;o=(c[j>>2]|0)+128+336|0;c[o>>2]=0;c[o+4>>2]=0;o=(c[j>>2]|0)+128+344|0;c[o>>2]=0;c[o+4>>2]=0;o=(c[j>>2]|0)+128+353|0;a[o>>0]=a[o>>0]&-2;o=(c[j>>2]|0)+128+353|0;a[o>>0]=a[o>>0]&-3;c[s>>2]=m;c[t>>2]=16;a[u>>0]=0;m=v;c[m>>2]=d[u>>0];c[m+4>>2]=0;while(1){if(!(c[s>>2]&7|0?(c[t>>2]|0)!=0:0))break;a[c[s>>2]>>0]=a[u>>0]|0;c[s>>2]=(c[s>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+-1}if((c[t>>2]|0)>>>0>=8){m=v;o=Mx(c[m>>2]|0,c[m+4>>2]|0,16843009,16843009)|0;m=v;c[m>>2]=o;c[m+4>>2]=C;do{c[w>>2]=c[s>>2];m=v;o=c[m+4>>2]|0;j=c[w>>2]|0;c[j>>2]=c[m>>2];c[j+4>>2]=o;c[t>>2]=(c[t>>2]|0)-8;c[s>>2]=(c[s>>2]|0)+8}while((c[t>>2]|0)>>>0>=8)}while(1){if(!(c[t>>2]|0))break;a[c[s>>2]>>0]=a[u>>0]|0;c[s>>2]=(c[s>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+-1}c[x>>2]=n;c[y>>2]=24;a[z>>0]=0;n=A;c[n>>2]=d[z>>0];c[n+4>>2]=0;while(1){if(!(c[x>>2]&7|0?(c[y>>2]|0)!=0:0))break;a[c[x>>2]>>0]=a[z>>0]|0;c[x>>2]=(c[x>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+-1}if((c[y>>2]|0)>>>0>=8){n=A;t=Mx(c[n>>2]|0,c[n+4>>2]|0,16843009,16843009)|0;n=A;c[n>>2]=t;c[n+4>>2]=C;do{c[B>>2]=c[x>>2];n=A;t=c[n+4>>2]|0;s=c[B>>2]|0;c[s>>2]=c[n>>2];c[s+4>>2]=t;c[y>>2]=(c[y>>2]|0)-8;c[x>>2]=(c[x>>2]|0)+8}while((c[y>>2]|0)>>>0>=8)}while(1){if(!(c[y>>2]|0))break;a[c[x>>2]>>0]=a[z>>0]|0;c[x>>2]=(c[x>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+-1}if((c[q>>2]|0)>>>0>0){If((c[q>>2]|0)+16|0);Jf()}c[h>>2]=0;D=c[h>>2]|0;i=g;return D|0}function Hr(b,e,f,g){b=b|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+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function Ir(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;j=h+16|0;k=h+12|0;l=h+8|0;m=h+4|0;n=h;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[k>>2]=(c[k>>2]|0)+(((c[l>>2]|0)>>>0)/8|0);c[n>>2]=((c[l>>2]|0)>>>0)%8|0;if(c[n>>2]|0){while(1){if(!(c[m>>2]|0))break;a[c[j>>2]>>0]=(d[c[k>>2]>>0]|0)<<c[n>>2]|(d[(c[k>>2]|0)+1>>0]|0)>>8-(c[n>>2]|0);c[m>>2]=(c[m>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}i=h;return}else{while(1){if(!(c[m>>2]|0))break;a[c[j>>2]>>0]=a[c[k>>2]>>0]|0;c[m>>2]=(c[m>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}i=h;return}}function Jr(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;g=i;i=i+32|0;h=g+28|0;j=g+24|0;k=g+20|0;l=g+16|0;m=g+12|0;n=g+8|0;o=g+4|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[h>>2];c[m>>2]=c[j>>2];c[g>>2]=3;if(!((c[l>>2]|c[m>>2])&3)){c[n>>2]=c[l>>2];c[o>>2]=c[m>>2];while(1){if((c[k>>2]|0)>>>0<4)break;j=c[o>>2]|0;c[o>>2]=j+4;h=c[j>>2]|0;j=c[n>>2]|0;c[n>>2]=j+4;c[j>>2]=c[j>>2]^h;c[k>>2]=(c[k>>2]|0)-4}c[l>>2]=c[n>>2];c[m>>2]=c[o>>2]}while(1){if(!(c[k>>2]|0))break;o=c[m>>2]|0;c[m>>2]=o+1;n=d[o>>0]|0;o=c[l>>2]|0;c[l>>2]=o+1;a[o>>0]=(d[o>>0]|0)^n;c[k>>2]=(c[k>>2]|0)+-1}i=g;return}function Kr(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;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=Lr(c[h>>2]|0,1,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;i=g;return f|0}function Lr(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;k=i;i=i+80|0;l=k+40|0;m=k+36|0;n=k+32|0;o=k+28|0;p=k+24|0;q=k+20|0;r=k+16|0;s=k+64|0;t=k+12|0;u=k+8|0;v=k+4|0;w=k;x=k+48|0;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[t>>2]=0;c[v>>2]=((c[r>>2]|0)>>>0)/16|0;if((d[(c[m>>2]|0)+56>>0]|0)>>>1&1|0?(a[(c[m>>2]|0)+128+353>>0]&1|0)==0:0){if((c[(c[(c[m>>2]|0)+12>>2]|0)+20>>2]|0)!=16){c[l>>2]=12;y=c[l>>2]|0;i=k;return y|0}if((c[p>>2]|0)>>>0<(c[r>>2]|0)>>>0){c[l>>2]=200;y=c[l>>2]|0;i=k;return y|0}if(((d[(c[m>>2]|0)+56>>0]|0)>>>3&1|0)==0?((c[r>>2]|0)>>>0)%16|0|0:0){c[l>>2]=139;y=c[l>>2]|0;i=k;return y|0}if(c[v>>2]|0?c[(c[m>>2]|0)+20+20>>2]|0:0){wb[c[(c[m>>2]|0)+20+20>>2]&15](c[m>>2]|0,c[o>>2]|0,c[q>>2]|0,c[v>>2]|0,c[n>>2]|0);c[q>>2]=(c[q>>2]|0)+(c[v>>2]<<4);c[o>>2]=(c[o>>2]|0)+(c[v>>2]<<4);c[r>>2]=(c[r>>2]|0)-(c[v>>2]<<4);c[p>>2]=(c[p>>2]|0)-(c[v>>2]<<4);c[v>>2]=0}if(c[v>>2]|0){j=c[(c[m>>2]|0)+12>>2]|0;if(c[n>>2]|0)z=c[j+36>>2]|0;else z=c[j+40>>2]|0;c[w>>2]=z;if(c[n>>2]|0)Mr((c[m>>2]|0)+80|0,c[q>>2]|0,c[v>>2]|0);while(1){if((c[r>>2]|0)>>>0<16)break;z=(c[m>>2]|0)+128+336|0;j=z;h=Ax(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;j=z;c[j>>2]=h;c[j+4>>2]=C;j=(c[m>>2]|0)+64|0;h=(c[m>>2]|0)+128+336|0;Jr(j,yr(c[m>>2]|0,s,c[h>>2]|0,c[h+4>>2]|0)|0,16);Hr(c[o>>2]|0,(c[m>>2]|0)+64|0,c[q>>2]|0,16);c[u>>2]=vb[c[w>>2]&63]((c[m>>2]|0)+496|0,c[o>>2]|0,c[o>>2]|0)|0;c[t>>2]=(c[u>>2]|0)>>>0>(c[t>>2]|0)>>>0?c[u>>2]|0:c[t>>2]|0;Jr(c[o>>2]|0,(c[m>>2]|0)+64|0,16);c[q>>2]=(c[q>>2]|0)+16;c[r>>2]=(c[r>>2]|0)-16;c[o>>2]=(c[o>>2]|0)+16;c[p>>2]=-16}if(!(c[n>>2]|0))Mr((c[m>>2]|0)+80|0,(c[o>>2]|0)+(0-(c[v>>2]<<4))|0,c[v>>2]|0)}do if(c[r>>2]|0){Jr((c[m>>2]|0)+64|0,(c[m>>2]|0)+128|0,16);c[u>>2]=vb[c[(c[(c[m>>2]|0)+12>>2]|0)+36>>2]&63]((c[m>>2]|0)+496|0,x,(c[m>>2]|0)+64|0)|0;c[t>>2]=(c[u>>2]|0)>>>0>(c[t>>2]|0)>>>0?c[u>>2]|0:c[t>>2]|0;if(c[n>>2]|0){Cr(s,c[q>>2]|0,c[r>>2]|0);Fx(s+(c[r>>2]|0)|0,0,16-(c[r>>2]|0)|0)|0;a[s+(c[r>>2]|0)>>0]=-128;Jr((c[m>>2]|0)+80|0,s,16);Hr(c[o>>2]|0,c[q>>2]|0,x,c[r>>2]|0);break}else{Cr(s,x,16);Cr(s,c[q>>2]|0,c[r>>2]|0);Jr(s,x,16);a[s+(c[r>>2]|0)>>0]=-128;Cr(c[o>>2]|0,s,c[r>>2]|0);Jr((c[m>>2]|0)+80|0,s,16);break}}while(0);if((d[(c[m>>2]|0)+56>>0]|0)>>>3&1|0){Hr((c[m>>2]|0)+128+288|0,(c[m>>2]|0)+80|0,(c[m>>2]|0)+64|0,16);Jr((c[m>>2]|0)+128+288|0,(c[m>>2]|0)+128+16|0,16);c[u>>2]=vb[c[(c[(c[m>>2]|0)+12>>2]|0)+36>>2]&63]((c[m>>2]|0)+496|0,(c[m>>2]|0)+128+288|0,(c[m>>2]|0)+128+288|0)|0;c[t>>2]=(c[u>>2]|0)>>>0>(c[t>>2]|0)>>>0?c[u>>2]|0:c[t>>2]|0;u=(c[m>>2]|0)+128+353|0;a[u>>0]=a[u>>0]&-2|1}if((c[t>>2]|0)>>>0>0){If((c[t>>2]|0)+16|0);Jf()}c[l>>2]=0;y=c[l>>2]|0;i=k;return y|0}c[l>>2]=156;y=c[l>>2]|0;i=k;return y|0}function Mr(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;while(1){if((c[h>>2]|0)>>>0<=0)break;Jr(c[f>>2]|0,c[g>>2]|0,16);c[g>>2]=(c[g>>2]|0)+16;c[h>>2]=(c[h>>2]|0)+-1}i=e;return}function Nr(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;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=Lr(c[h>>2]|0,0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;i=g;return f|0}function Or(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;g=i;i=i+48|0;h=g+40|0;j=g+36|0;k=g+32|0;l=g+28|0;m=g+24|0;n=g+20|0;o=g+16|0;p=g+12|0;q=g+8|0;r=g+4|0;s=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[p>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+36>>2];c[q>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2];if((c[l>>2]|0)>>>0<(c[n>>2]|0)>>>0){c[h>>2]=200;t=c[h>>2]|0;i=g;return t|0}if((c[n>>2]|0)>>>0<=(c[(c[j>>2]|0)+112>>2]|0)>>>0){c[o>>2]=(c[j>>2]|0)+64+(c[q>>2]|0)+(0-(c[(c[j>>2]|0)+112>>2]|0));Pr(c[k>>2]|0,c[o>>2]|0,c[m>>2]|0,c[n>>2]|0);l=(c[j>>2]|0)+112|0;c[l>>2]=(c[l>>2]|0)-(c[n>>2]|0);c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}c[r>>2]=0;if(c[(c[j>>2]|0)+112>>2]|0){c[n>>2]=(c[n>>2]|0)-(c[(c[j>>2]|0)+112>>2]|0);c[o>>2]=(c[j>>2]|0)+64+(c[q>>2]|0)+(0-(c[(c[j>>2]|0)+112>>2]|0));Pr(c[k>>2]|0,c[o>>2]|0,c[m>>2]|0,c[(c[j>>2]|0)+112>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[(c[j>>2]|0)+112>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[(c[j>>2]|0)+112>>2]|0);c[(c[j>>2]|0)+112>>2]=0}while(1){if((c[n>>2]|0)>>>0<(c[q>>2]|0)>>>0)break;c[s>>2]=vb[c[p>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,(c[j>>2]|0)+64|0)|0;c[r>>2]=(c[s>>2]|0)>>>0>(c[r>>2]|0)>>>0?c[s>>2]|0:c[r>>2]|0;Pr(c[k>>2]|0,(c[j>>2]|0)+64|0,c[m>>2]|0,c[q>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[q>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[q>>2]|0)}if(c[n>>2]|0){c[s>>2]=vb[c[p>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,(c[j>>2]|0)+64|0)|0;c[r>>2]=(c[s>>2]|0)>>>0>(c[r>>2]|0)>>>0?c[s>>2]|0:c[r>>2]|0;c[(c[j>>2]|0)+112>>2]=c[q>>2];q=(c[j>>2]|0)+112|0;c[q>>2]=(c[q>>2]|0)-(c[n>>2]|0);Pr(c[k>>2]|0,(c[j>>2]|0)+64|0,c[m>>2]|0,c[n>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[n>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);c[n>>2]=0}if((c[r>>2]|0)>>>0>0){If((c[r>>2]|0)+16|0);Jf()}c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}function Pr(b,e,f,g){b=b|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+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function Qr(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=d+8|0;c[e>>2]=b;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;a[f+4>>0]=0;a[f+5>>0]=0;a[f+6>>0]=0;a[f+7>>0]=0;b=Rr(c[e>>2]|0,f,8)|0;i=d;return b|0}function Rr(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;g=i;i=i+112|0;h=g+36|0;j=g+32|0;k=g+28|0;l=g+24|0;m=g+48|0;n=g+20|0;o=g+16|0;p=g+12|0;q=g+40|0;r=g;s=g+8|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;if((c[k>>2]|0)==0&(c[l>>2]|0)!=12){c[h>>2]=45;t=c[h>>2]|0;i=g;return t|0}f=(c[j>>2]|0)+128+20|0;e=f+92|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(e|0));c[(c[j>>2]|0)+128>>2]=0;c[(c[j>>2]|0)+128+4>>2]=0;c[(c[j>>2]|0)+128+8>>2]=0;c[(c[j>>2]|0)+128+8+4>>2]=0;b=(c[j>>2]|0)+128+16|0;a[b>>0]=a[b>>0]&-3;b=(c[j>>2]|0)+128+16|0;a[b>>0]=a[b>>0]&-2;b=(c[j>>2]|0)+56|0;a[b>>0]=a[b>>0]&-5;b=(c[j>>2]|0)+56|0;a[b>>0]=a[b>>0]&-3;Ab[c[(c[(c[j>>2]|0)+12>>2]|0)+60>>2]&7]((c[j>>2]|0)+496|0,c[k>>2]|0,c[l>>2]|0);f=m;e=f+64|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(e|0));Fb[c[(c[(c[j>>2]|0)+12>>2]|0)+44>>2]&1]((c[j>>2]|0)+496|0,m,m,64);c[n>>2]=ws((c[j>>2]|0)+128+20|0,m,32)|0;c[o>>2]=m;c[p>>2]=64;a[q>>0]=0;m=r;c[m>>2]=d[q>>0];c[m+4>>2]=0;while(1){if(!(c[o>>2]&7|0?(c[p>>2]|0)!=0:0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}if((c[p>>2]|0)>>>0>=8){m=r;f=Mx(c[m>>2]|0,c[m+4>>2]|0,16843009,16843009)|0;m=r;c[m>>2]=f;c[m+4>>2]=C;do{c[s>>2]=c[o>>2];m=r;f=c[m+4>>2]|0;e=c[s>>2]|0;c[e>>2]=c[m>>2];c[e+4>>2]=f;c[p>>2]=(c[p>>2]|0)-8;c[o>>2]=(c[o>>2]|0)+8}while((c[p>>2]|0)>>>0>=8)}while(1){if(!(c[p>>2]|0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}if(c[n>>2]|0){c[h>>2]=c[n>>2];t=c[h>>2]|0;i=g;return t|0}else{n=(c[j>>2]|0)+56|0;a[n>>0]=a[n>>0]&-3|2;c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}return 0}function Sr(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+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;b=c[f>>2]|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);if((c[c[f>>2]>>2]|0)>>>0>=(c[g>>2]|0)>>>0){c[e>>2]=c[h>>2];j=c[e>>2]|0;i=d;return j|0}else{g=(c[f>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1;c[e>>2]=((c[(c[f>>2]|0)+4>>2]|0)>>>0<1?1:(c[h>>2]|0)!=0)&1;j=c[e>>2]|0;i=d;return j|0}return 0}function Tr(b,e,f,g,h){b=b|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;j=i;i=i+32|0;k=j+24|0;l=j+20|0;m=j+16|0;n=j+12|0;o=j+8|0;p=j+4|0;q=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0){c[k>>2]=200;r=c[k>>2]|0;i=j;return r|0}if((d[(c[l>>2]|0)+56>>0]|0)>>>2&1|0){c[k>>2]=156;r=c[k>>2]|0;i=j;return r|0}if((d[(c[l>>2]|0)+128+16>>0]|0)>>>1&1|0){c[k>>2]=139;r=c[k>>2]|0;i=j;return r|0}if(((d[(c[l>>2]|0)+56>>0]|0)>>>1&1|0)==0?(c[q>>2]=Qr(c[l>>2]|0)|0,c[q>>2]|0):0){c[k>>2]=c[q>>2];r=c[k>>2]|0;i=j;return r|0}if(!(a[(c[l>>2]|0)+128+16>>0]&1))Ur(c[l>>2]|0);q=(Sr((c[l>>2]|0)+128+8|0,c[p>>2]|0)|0)!=0;n=c[l>>2]|0;if(q){q=n+128+16|0;a[q>>0]=a[q>>0]&-3|2;c[k>>2]=139;r=c[k>>2]|0;i=j;return r|0}else{Fb[c[(c[n+12>>2]|0)+44>>2]&1]((c[l>>2]|0)+496|0,c[m>>2]|0,c[o>>2]|0,c[p>>2]|0);ss((c[l>>2]|0)+128+20|0,c[m>>2]|0,c[p>>2]|0);c[k>>2]=0;r=c[k>>2]|0;i=j;return r|0}return 0}function Ur(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;Vr(c[e>>2]|0,(c[e>>2]|0)+128|0);b=(c[e>>2]|0)+128+16|0;a[b>>0]=a[b>>0]&-2|1;c[(c[e>>2]|0)+128+8>>2]=0;c[(c[e>>2]|0)+128+8+4>>2]=0;i=d;return}function Vr(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+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;if((((c[c[f>>2]>>2]|0)>>>0)%16|0)>>>0<=0){i=d;return}c[g>>2]=16-(((c[c[f>>2]>>2]|0)>>>0)%16|0);ss((c[e>>2]|0)+128+20|0,76491,c[g>>2]|0);i=d;return}function Wr(b,e,f,g,h){b=b|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;j=i;i=i+32|0;k=j+24|0;l=j+20|0;m=j+16|0;n=j+12|0;o=j+8|0;p=j+4|0;q=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0){c[k>>2]=200;r=c[k>>2]|0;i=j;return r|0}if((d[(c[l>>2]|0)+56>>0]|0)>>>2&1|0){c[k>>2]=156;r=c[k>>2]|0;i=j;return r|0}if((d[(c[l>>2]|0)+128+16>>0]|0)>>>1&1|0){c[k>>2]=139;r=c[k>>2]|0;i=j;return r|0}if(((d[(c[l>>2]|0)+56>>0]|0)>>>1&1|0)==0?(c[q>>2]=Qr(c[l>>2]|0)|0,c[q>>2]|0):0){c[k>>2]=c[q>>2];r=c[k>>2]|0;i=j;return r|0}if(!(a[(c[l>>2]|0)+128+16>>0]&1))Ur(c[l>>2]|0);q=(Sr((c[l>>2]|0)+128+8|0,c[p>>2]|0)|0)!=0;n=(c[l>>2]|0)+128|0;if(q){q=n+16|0;a[q>>0]=a[q>>0]&-3|2;c[k>>2]=139;r=c[k>>2]|0;i=j;return r|0}else{ss(n+20|0,c[o>>2]|0,c[p>>2]|0);Fb[c[(c[(c[l>>2]|0)+12>>2]|0)+48>>2]&1]((c[l>>2]|0)+496|0,c[m>>2]|0,c[o>>2]|0,c[p>>2]|0);c[k>>2]=0;r=c[k>>2]|0;i=j;return r|0}return 0}function Xr(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+128>>2]=0;c[(c[e>>2]|0)+128+4>>2]=0;c[(c[e>>2]|0)+128+8>>2]=0;c[(c[e>>2]|0)+128+8+4>>2]=0;b=(c[e>>2]|0)+128+16|0;a[b>>0]=a[b>>0]&-3;b=(c[e>>2]|0)+128+16|0;a[b>>0]=a[b>>0]&-2;b=(c[e>>2]|0)+56|0;a[b>>0]=a[b>>0]&-5;b=(c[e>>2]|0)+56|0;a[b>>0]=a[b>>0]&-3;i=d;return}function Yr(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+80|0;l=k+72|0;m=k+64|0;n=k+60|0;o=k+56|0;p=k+52|0;q=k+48|0;r=k+44|0;s=k+40|0;t=k+36|0;u=k+32|0;v=k+28|0;w=k+24|0;x=k+20|0;y=k+16|0;z=k+12|0;A=k+8|0;B=k+4|0;C=k;c[k+68>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[B>>2]=(c[r>>2]|0)+15;c[B>>2]=(c[B>>2]|0)-(c[B>>2]&15);c[C>>2]=(c[B>>2]|0)+(c[q>>2]<<1)+((_(c[q>>2]|0,c[p>>2]|0)|0)*3|0)+16;c[A>>2]=ag(1,c[C>>2]|0)|0;if(!(c[A>>2]|0)){c[l>>2]=46921;D=c[l>>2]|0;i=k;return D|0}c[t>>2]=16-(c[A>>2]&15)&15;c[u>>2]=(c[A>>2]|0)+(c[t>>2]|0);c[y>>2]=(c[u>>2]|0)+(c[B>>2]|0);c[z>>2]=(c[y>>2]|0)+(c[q>>2]|0);c[v>>2]=(c[z>>2]|0)+(c[q>>2]|0);c[w>>2]=(c[v>>2]|0)+(_(c[p>>2]|0,c[q>>2]|0)|0);c[x>>2]=(c[w>>2]|0)+(_(c[p>>2]|0,c[q>>2]|0)|0);if(vb[c[m>>2]&63](c[u>>2]|0,16,16)|0){$f(c[A>>2]|0);c[l>>2]=46947;D=c[l>>2]|0;i=k;return D|0}Fx(c[y>>2]|0,78,c[q>>2]|0)|0;Fx(c[z>>2]|0,78,c[q>>2]|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[q>>2]|0))break;a[(c[v>>2]|0)+(c[s>>2]|0)>>0]=c[s>>2];c[s>>2]=(c[s>>2]|0)+1}Zr(c[x>>2]|0,c[y>>2]|0,c[v>>2]|0,c[q>>2]|0);vb[c[n>>2]&63](c[u>>2]|0,c[x>>2]|0,c[x>>2]|0)|0;Dx(c[y>>2]|0,c[x>>2]|0,c[q>>2]|0)|0;wb[c[o>>2]&15](c[u>>2]|0,c[z>>2]|0,c[w>>2]|0,c[x>>2]|0,1);if(mw(c[w>>2]|0,c[v>>2]|0,c[q>>2]|0)|0){$f(c[A>>2]|0);c[l>>2]=46961;D=c[l>>2]|0;i=k;return D|0}if(mw(c[z>>2]|0,c[y>>2]|0,c[q>>2]|0)|0){$f(c[A>>2]|0);c[l>>2]=46961;D=c[l>>2]|0;i=k;return D|0}Fx(c[y>>2]|0,95,c[q>>2]|0)|0;Fx(c[z>>2]|0,95,c[q>>2]|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(_(c[p>>2]|0,c[q>>2]|0)|0))break;a[(c[v>>2]|0)+(c[s>>2]|0)>>0]=c[s>>2];c[s>>2]=(c[s>>2]|0)+1}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(_(c[p>>2]|0,c[q>>2]|0)|0))break;Zr((c[x>>2]|0)+(c[s>>2]|0)|0,c[y>>2]|0,(c[v>>2]|0)+(c[s>>2]|0)|0,c[q>>2]|0);vb[c[n>>2]&63](c[u>>2]|0,(c[x>>2]|0)+(c[s>>2]|0)|0,(c[x>>2]|0)+(c[s>>2]|0)|0)|0;Dx(c[y>>2]|0,(c[x>>2]|0)+(c[s>>2]|0)|0,c[q>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[q>>2]|0)}wb[c[o>>2]&15](c[u>>2]|0,c[z>>2]|0,c[w>>2]|0,c[x>>2]|0,c[p>>2]|0);if(mw(c[w>>2]|0,c[v>>2]|0,_(c[p>>2]|0,c[q>>2]|0)|0)|0){$f(c[A>>2]|0);c[l>>2]=46961;D=c[l>>2]|0;i=k;return D|0}p=(mw(c[z>>2]|0,c[y>>2]|0,c[q>>2]|0)|0)!=0;$f(c[A>>2]|0);if(p){c[l>>2]=46961;D=c[l>>2]|0;i=k;return D|0}else{c[l>>2]=0;D=c[l>>2]|0;i=k;return D|0}return 0}function Zr(b,e,f,g){b=b|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+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function _r(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+80|0;l=k+72|0;m=k+64|0;n=k+60|0;o=k+56|0;p=k+52|0;q=k+48|0;r=k+44|0;s=k+40|0;t=k+36|0;u=k+32|0;v=k+28|0;w=k+24|0;x=k+20|0;y=k+16|0;z=k+12|0;A=k+8|0;B=k+4|0;C=k;c[k+68>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[B>>2]=(c[r>>2]|0)+15;c[B>>2]=(c[B>>2]|0)-(c[B>>2]&15);c[C>>2]=(c[B>>2]|0)+(c[q>>2]<<1)+((_(c[q>>2]|0,c[p>>2]|0)|0)*3|0)+16;c[A>>2]=ag(1,c[C>>2]|0)|0;if(!(c[A>>2]|0)){c[l>>2]=46921;D=c[l>>2]|0;i=k;return D|0}c[t>>2]=16-(c[A>>2]&15)&15;c[u>>2]=(c[A>>2]|0)+(c[t>>2]|0);c[y>>2]=(c[u>>2]|0)+(c[B>>2]|0);c[z>>2]=(c[y>>2]|0)+(c[q>>2]|0);c[v>>2]=(c[z>>2]|0)+(c[q>>2]|0);c[w>>2]=(c[v>>2]|0)+(_(c[p>>2]|0,c[q>>2]|0)|0);c[x>>2]=(c[w>>2]|0)+(_(c[p>>2]|0,c[q>>2]|0)|0);if(vb[c[m>>2]&63](c[u>>2]|0,32,16)|0){$f(c[A>>2]|0);c[l>>2]=46947;D=c[l>>2]|0;i=k;return D|0}Fx(c[y>>2]|0,-45,c[q>>2]|0)|0;Fx(c[z>>2]|0,-45,c[q>>2]|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[q>>2]|0))break;a[(c[v>>2]|0)+(c[s>>2]|0)>>0]=c[s>>2];c[s>>2]=(c[s>>2]|0)+1}vb[c[n>>2]&63](c[u>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;$r(c[y>>2]|0,c[x>>2]|0,c[v>>2]|0,c[q>>2]|0);wb[c[o>>2]&15](c[u>>2]|0,c[z>>2]|0,c[w>>2]|0,c[x>>2]|0,1);if(mw(c[w>>2]|0,c[v>>2]|0,c[q>>2]|0)|0){$f(c[A>>2]|0);c[l>>2]=47010;D=c[l>>2]|0;i=k;return D|0}if(mw(c[z>>2]|0,c[y>>2]|0,c[q>>2]|0)|0){$f(c[A>>2]|0);c[l>>2]=47010;D=c[l>>2]|0;i=k;return D|0}Fx(c[y>>2]|0,-26,c[q>>2]|0)|0;Fx(c[z>>2]|0,-26,c[q>>2]|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(_(c[p>>2]|0,c[q>>2]|0)|0))break;a[(c[v>>2]|0)+(c[s>>2]|0)>>0]=c[s>>2];c[s>>2]=(c[s>>2]|0)+1}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(_(c[p>>2]|0,c[q>>2]|0)|0))break;vb[c[n>>2]&63](c[u>>2]|0,(c[x>>2]|0)+(c[s>>2]|0)|0,c[y>>2]|0)|0;$r(c[y>>2]|0,(c[x>>2]|0)+(c[s>>2]|0)|0,(c[v>>2]|0)+(c[s>>2]|0)|0,c[q>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[q>>2]|0)}wb[c[o>>2]&15](c[u>>2]|0,c[z>>2]|0,c[w>>2]|0,c[x>>2]|0,c[p>>2]|0);if(mw(c[w>>2]|0,c[v>>2]|0,_(c[p>>2]|0,c[q>>2]|0)|0)|0){$f(c[A>>2]|0);c[l>>2]=47010;D=c[l>>2]|0;i=k;return D|0}p=(mw(c[z>>2]|0,c[y>>2]|0,c[q>>2]|0)|0)!=0;$f(c[A>>2]|0);if(p){c[l>>2]=47010;D=c[l>>2]|0;i=k;return D|0}else{c[l>>2]=0;D=c[l>>2]|0;i=k;return D|0}return 0}function $r(b,e,f,g){b=b|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+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[p>>2]|c[n>>2]|c[o>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[s>>2]|0;c[s>>2]=l+4;k=c[l>>2]|0;l=c[r>>2]|0;c[r>>2]=l+4;j=c[l>>2]^k;c[l>>2]=j;l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[p>>2]|0;c[p>>2]=s+1;r=d[s>>0]|0;s=c[o>>2]|0;c[o>>2]=s+1;q=((d[s>>0]|0)^r)&255;a[s>>0]=q;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function as(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;l=i;i=i+96|0;m=l+84|0;n=l+76|0;o=l+72|0;p=l+68|0;q=l+64|0;r=l+60|0;s=l+56|0;t=l+52|0;u=l+48|0;v=l+44|0;w=l+40|0;x=l+36|0;y=l+32|0;z=l+28|0;A=l+24|0;B=l+20|0;C=l+16|0;D=l+12|0;E=l+8|0;F=l+4|0;G=l;c[l+80>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[F>>2]=(c[s>>2]|0)+15;c[F>>2]=(c[F>>2]|0)-(c[F>>2]&15);c[G>>2]=(c[F>>2]|0)+(c[r>>2]<<1)+((_(c[r>>2]|0,c[q>>2]|0)|0)<<2)+16;c[E>>2]=ag(1,c[G>>2]|0)|0;if(!(c[E>>2]|0)){c[m>>2]=46921;H=c[m>>2]|0;i=l;return H|0}c[v>>2]=16-(c[E>>2]&15)&15;c[x>>2]=(c[E>>2]|0)+(c[v>>2]|0);c[C>>2]=(c[x>>2]|0)+(c[F>>2]|0);c[D>>2]=(c[C>>2]|0)+(c[r>>2]|0);c[y>>2]=(c[D>>2]|0)+(c[r>>2]|0);c[z>>2]=(c[y>>2]|0)+(_(c[q>>2]|0,c[r>>2]|0)|0);c[A>>2]=(c[z>>2]|0)+(_(c[q>>2]|0,c[r>>2]|0)|0);c[B>>2]=(c[A>>2]|0)+(_(c[q>>2]|0,c[r>>2]|0)|0);if(vb[c[n>>2]&63](c[x>>2]|0,48,16)|0){$f(c[E>>2]|0);c[m>>2]=46947;H=c[m>>2]|0;i=l;return H|0}Fx(c[C>>2]|0,-1,c[r>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[r>>2]|0))break;a[(c[y>>2]|0)+(c[t>>2]|0)>>0]=c[t>>2];c[t>>2]=(c[t>>2]|0)+1}vb[c[o>>2]&63](c[x>>2]|0,c[A>>2]|0,c[C>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[r>>2]|0))break;n=(c[A>>2]|0)+(c[t>>2]|0)|0;a[n>>0]=d[n>>0]^d[(c[y>>2]|0)+(c[t>>2]|0)>>0];c[t>>2]=(c[t>>2]|0)+1}c[t>>2]=c[r>>2];while(1){if((c[t>>2]|0)<=0)break;n=(c[C>>2]|0)+((c[t>>2]|0)-1)|0;a[n>>0]=(a[n>>0]|0)+1<<24>>24;if(a[(c[C>>2]|0)+((c[t>>2]|0)-1)>>0]|0)break;c[t>>2]=(c[t>>2]|0)+-1}Fx(c[D>>2]|0,-1,c[r>>2]|0)|0;wb[c[p>>2]&15](c[x>>2]|0,c[D>>2]|0,c[z>>2]|0,c[A>>2]|0,1);if(mw(c[z>>2]|0,c[y>>2]|0,c[r>>2]|0)|0){$f(c[E>>2]|0);c[m>>2]=47059;H=c[m>>2]|0;i=l;return H|0}if(mw(c[D>>2]|0,c[C>>2]|0,c[r>>2]|0)|0){$f(c[E>>2]|0);c[m>>2]=47059;H=c[m>>2]|0;i=l;return H|0}Fx(c[C>>2]|0,87,(c[r>>2]|0)-4|0)|0;a[(c[C>>2]|0)+((c[r>>2]|0)-1)>>0]=1;a[(c[C>>2]|0)+((c[r>>2]|0)-2)>>0]=0;a[(c[C>>2]|0)+((c[r>>2]|0)-3)>>0]=0;a[(c[C>>2]|0)+((c[r>>2]|0)-4)>>0]=0;Fx(c[D>>2]|0,87,(c[r>>2]|0)-4|0)|0;a[(c[D>>2]|0)+((c[r>>2]|0)-1)>>0]=1;a[(c[D>>2]|0)+((c[r>>2]|0)-2)>>0]=0;a[(c[D>>2]|0)+((c[r>>2]|0)-3)>>0]=0;a[(c[D>>2]|0)+((c[r>>2]|0)-4)>>0]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(_(c[r>>2]|0,c[q>>2]|0)|0))break;n=c[t>>2]&255;a[(c[y>>2]|0)+(c[t>>2]|0)>>0]=n;a[(c[z>>2]|0)+(c[t>>2]|0)>>0]=n;c[t>>2]=(c[t>>2]|0)+1}c[t>>2]=0;while(1){if((c[t>>2]|0)>=(_(c[r>>2]|0,c[q>>2]|0)|0))break;vb[c[o>>2]&63](c[x>>2]|0,(c[A>>2]|0)+(c[t>>2]|0)|0,c[C>>2]|0)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[r>>2]|0))break;n=(c[A>>2]|0)+((c[t>>2]|0)+(c[u>>2]|0))|0;a[n>>0]=d[n>>0]^d[(c[y>>2]|0)+((c[t>>2]|0)+(c[u>>2]|0))>>0];c[u>>2]=(c[u>>2]|0)+1}c[u>>2]=c[r>>2];while(1){if((c[u>>2]|0)<=0)break;n=(c[C>>2]|0)+((c[u>>2]|0)-1)|0;a[n>>0]=(a[n>>0]|0)+1<<24>>24;if(a[(c[C>>2]|0)+((c[u>>2]|0)-1)>>0]|0)break;c[u>>2]=(c[u>>2]|0)+-1}c[t>>2]=(c[t>>2]|0)+(c[r>>2]|0)}wb[c[p>>2]&15](c[x>>2]|0,c[D>>2]|0,c[B>>2]|0,c[z>>2]|0,c[q>>2]|0);if(mw(c[B>>2]|0,c[A>>2]|0,_(c[r>>2]|0,c[q>>2]|0)|0)|0){$f(c[E>>2]|0);c[m>>2]=47059;H=c[m>>2]|0;i=l;return H|0}if(mw(c[D>>2]|0,c[C>>2]|0,c[r>>2]|0)|0){$f(c[E>>2]|0);c[m>>2]=47059;H=c[m>>2]|0;i=l;return H|0}c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[q>>2]|0)){I=56;break}Fx(c[C>>2]|0,-1,c[r>>2]|0)|0;B=(c[C>>2]|0)+((c[r>>2]|0)-1)|0;a[B>>0]=(d[B>>0]|0)-(c[w>>2]|0);a[(c[C>>2]|0)+1>>0]=0;a[c[C>>2]>>0]=0;a[(c[C>>2]|0)+2>>0]=7;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(_(c[r>>2]|0,c[q>>2]|0)|0))break;a[(c[y>>2]|0)+(c[t>>2]|0)>>0]=c[t>>2];c[t>>2]=(c[t>>2]|0)+1}c[t>>2]=0;while(1){if((c[t>>2]|0)>=(_(c[r>>2]|0,c[q>>2]|0)|0))break;vb[c[o>>2]&63](c[x>>2]|0,(c[A>>2]|0)+(c[t>>2]|0)|0,c[C>>2]|0)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[r>>2]|0))break;B=(c[A>>2]|0)+((c[t>>2]|0)+(c[u>>2]|0))|0;a[B>>0]=d[B>>0]^d[(c[y>>2]|0)+((c[t>>2]|0)+(c[u>>2]|0))>>0];c[u>>2]=(c[u>>2]|0)+1}c[u>>2]=c[r>>2];while(1){if((c[u>>2]|0)<=0)break;B=(c[C>>2]|0)+((c[u>>2]|0)-1)|0;a[B>>0]=(a[B>>0]|0)+1<<24>>24;if(a[(c[C>>2]|0)+((c[u>>2]|0)-1)>>0]|0)break;c[u>>2]=(c[u>>2]|0)+-1}c[t>>2]=(c[t>>2]|0)+(c[r>>2]|0)}Fx(c[D>>2]|0,-1,c[r>>2]|0)|0;B=(c[D>>2]|0)+((c[r>>2]|0)-1)|0;a[B>>0]=(d[B>>0]|0)-(c[w>>2]|0);a[(c[D>>2]|0)+1>>0]=0;a[c[D>>2]>>0]=0;a[(c[D>>2]|0)+2>>0]=7;wb[c[p>>2]&15](c[x>>2]|0,c[D>>2]|0,c[z>>2]|0,c[A>>2]|0,c[q>>2]|0);if(mw(c[z>>2]|0,c[y>>2]|0,_(c[r>>2]|0,c[q>>2]|0)|0)|0){I=52;break}if(mw(c[D>>2]|0,c[C>>2]|0,c[r>>2]|0)|0){I=54;break}c[w>>2]=(c[w>>2]|0)+1}if((I|0)==52){$f(c[E>>2]|0);c[m>>2]=47059;H=c[m>>2]|0;i=l;return H|0}else if((I|0)==54){$f(c[E>>2]|0);c[m>>2]=47059;H=c[m>>2]|0;i=l;return H|0}else if((I|0)==56){$f(c[E>>2]|0);c[m>>2]=0;H=c[m>>2]|0;i=l;return H|0}return 0}function bs(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;d=i;i=i+352|0;e=d+160|0;f=d+128|0;g=d+48|0;h=d+40|0;j=d+32|0;k=d+24|0;l=d+16|0;m=d+8|0;n=d;o=d+344|0;p=d+340|0;q=d+336|0;r=d+332|0;s=d+328|0;t=d+284|0;u=d+224|0;v=d+220|0;w=d+216|0;x=d+212|0;y=d+208|0;z=d+204|0;A=d+200|0;B=d+196|0;C=d+192|0;D=d+188|0;E=d+184|0;F=d+180|0;G=d+176|0;H=d+172|0;I=d+168|0;J=d+164|0;c[p>>2]=a;c[q>>2]=b;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;c[B>>2]=0;c[C>>2]=0;c[D>>2]=0;c[E>>2]=0;c[F>>2]=0;c[G>>2]=0;c[H>>2]=0;b=t;a=b+44|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));b=u;a=b+60|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));c[r>>2]=kk(c[p>>2]|0,s)|0;if(c[r>>2]|0){c[o>>2]=c[r>>2];K=c[o>>2]|0;i=d;return K|0}c[A>>2]=xg(c[p>>2]|0,47161,0)|0;if(c[A>>2]|0?(c[z>>2]=Eg(c[A>>2]|0,1)|0,vg(c[A>>2]|0),(c[z>>2]|0)==0):0){c[o>>2]=65;K=c[o>>2]|0;i=d;return K|0}c[A>>2]=xg(c[p>>2]|0,47167,0)|0;if(!(c[A>>2]|0?(c[r>>2]=jk(c[A>>2]|0,H,0)|0,vg(c[A>>2]|0),(c[r>>2]|0)!=0):0))L=8;do if((L|0)==8){c[A>>2]=xg(c[p>>2]|0,47173,0)|0;if(c[A>>2]|0){c[H>>2]=c[H>>2]|32;vg(c[A>>2]|0)}if(!((c[s>>2]|0)!=0|(c[z>>2]|0)!=0)){c[o>>2]=68;K=c[o>>2]|0;i=d;return K|0}c[r>>2]=ui(c[s>>2]|0,c[z>>2]|0,t,s)|0;$f(c[z>>2]|0);c[z>>2]=0;if(!(c[r>>2]|0)){if(jg(1)|0){b=$i(c[t>>2]|0)|0;a=aj(c[t+4>>2]|0)|0;c[n>>2]=b;c[n+4>>2]=a;Df(47187,n);if(c[t+40>>2]|0){c[m>>2]=c[t+40>>2];Df(47212,m)}Hf(47234,c[t+8>>2]|0);Hf(47250,c[t+12>>2]|0);Hf(47266,c[t+16>>2]|0);Hf(47282,c[t+32>>2]|0);Hf(47298,c[t+36>>2]|0);Yn(47314,t+20|0,0)}c[B>>2]=jo(c[t>>2]|0,c[t+4>>2]|0,0,c[t+8>>2]|0,c[t+12>>2]|0,c[t+16>>2]|0)|0;a=c[B>>2]|0;b=c[H>>2]|0;if(c[H>>2]&4096|0)c[r>>2]=Qi(u,t,a,b)|0;else c[r>>2]=cs(u,t,a,b,c[s>>2]|0,x,y)|0;if(!(c[r>>2]|0)){c[v>>2]=vq(0)|0;c[w>>2]=vq(0)|0;if(Zn(c[v>>2]|0,c[w>>2]|0,u+20|0,c[B>>2]|0)|0){c[l>>2]=47704;Bf(47328,l)}c[E>>2]=bj(c[v>>2]|0,c[w>>2]|0,c[u+8>>2]|0)|0;do if((c[u+4>>2]|0)==1?!(c[H>>2]&2048|0):0){c[r>>2]=Ii(u+44|0,c[B>>2]|0,c[v>>2]|0,c[w>>2]|0,((c[H>>2]&1024|0)!=0^1^1)&1,I,J)|0;if(!(c[r>>2]|0)){c[F>>2]=vq(0)|0;iq(c[F>>2]|0,c[I>>2]|0,c[J>>2]<<3)|0;c[I>>2]=0;break}c[o>>2]=c[r>>2];K=c[o>>2]|0;i=d;return K|0}else L=28;while(0);if((L|0)==28){if((c[x>>2]|0)==0?(c[x>>2]=vq(0)|0,c[y>>2]=vq(0)|0,Zn(c[x>>2]|0,c[y>>2]|0,u+44|0,c[B>>2]|0)|0):0){c[k>>2]=47376;Bf(47328,k)}c[F>>2]=bj(c[x>>2]|0,c[y>>2]|0,c[u+8>>2]|0)|0}c[G>>2]=c[u+56>>2];c[u+56>>2]=0;if(c[t+40>>2]|0?(c[j>>2]=c[t+40>>2],c[r>>2]=Ig(C,0,47706,j)|0,c[r>>2]|0):0)break;if(!(!(c[H>>2]&512|0)?!(c[H>>2]&4096|0):0)){if(c[H>>2]&512|0?c[H>>2]&4096|0:0)M=47745;else M=c[H>>2]&512|0?47717:47731;c[r>>2]=Ig(D,0,M,h)|0;if(c[r>>2]|0)break}if(c[H>>2]&512|0?c[t+40>>2]|0:0){b=c[q>>2]|0;a=c[D>>2]|0;N=c[u+8>>2]|0;O=c[u+12>>2]|0;P=c[u+16>>2]|0;Q=c[E>>2]|0;R=c[u+32>>2]|0;S=c[u+36>>2]|0;T=c[F>>2]|0;U=c[C>>2]|0;V=c[D>>2]|0;W=c[u+8>>2]|0;X=c[u+12>>2]|0;Y=c[u+16>>2]|0;Z=c[E>>2]|0;_=c[u+32>>2]|0;$=c[u+36>>2]|0;aa=c[F>>2]|0;ba=c[G>>2]|0;c[g>>2]=c[C>>2];c[g+4>>2]=a;c[g+8>>2]=N;c[g+12>>2]=O;c[g+16>>2]=P;c[g+20>>2]=Q;c[g+24>>2]=R;c[g+28>>2]=S;c[g+32>>2]=T;c[g+36>>2]=U;c[g+40>>2]=V;c[g+44>>2]=W;c[g+48>>2]=X;c[g+52>>2]=Y;c[g+56>>2]=Z;c[g+60>>2]=_;c[g+64>>2]=$;c[g+68>>2]=aa;c[g+72>>2]=ba;c[r>>2]=Ig(b,0,47765,g)|0}else{b=c[q>>2]|0;ba=c[D>>2]|0;aa=c[F>>2]|0;$=c[C>>2]|0;_=c[D>>2]|0;Z=c[F>>2]|0;Y=c[G>>2]|0;c[f>>2]=c[C>>2];c[f+4>>2]=ba;c[f+8>>2]=aa;c[f+12>>2]=$;c[f+16>>2]=_;c[f+20>>2]=Z;c[f+24>>2]=Y;c[r>>2]=Ig(b,0,47901,f)|0}if(((c[r>>2]|0)==0?jg(1)|0:0)?(Hf(47977,c[u+8>>2]|0),Hf(47993,c[u+12>>2]|0),Hf(48009,c[u+16>>2]|0),Hf(48025,c[E>>2]|0),Hf(48041,c[u+32>>2]|0),Hf(48057,c[u+36>>2]|0),Hf(48073,c[F>>2]|0),Hf(48089,c[G>>2]|0),c[H>>2]&4096|0):0)Df(48105,e)}}}while(0);hq(c[G>>2]|0);hq(c[F>>2]|0);hq(c[E>>2]|0);Yi(u);fo(u+44|0);hq(c[u+56>>2]|0);Yi(t);hq(c[v>>2]|0);hq(c[w>>2]|0);hq(c[x>>2]|0);hq(c[y>>2]|0);no(c[B>>2]|0);vg(c[D>>2]|0);vg(c[C>>2]|0);c[o>>2]=c[r>>2];K=c[o>>2]|0;i=d;return K|0}function cs(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;k=i;i=i+96|0;l=k+16|0;m=k+8|0;n=k;o=k+80|0;p=k+76|0;q=k+72|0;r=k+68|0;s=k+64|0;t=k+60|0;u=k+56|0;v=k+44|0;w=k+40|0;x=k+36|0;y=k+32|0;z=k+28|0;A=k+24|0;B=k+20|0;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[z>>2]=Ro(c[(c[p>>2]|0)+8>>2]|0)|0;co(v);if(c[r>>2]&32|0)c[w>>2]=1;else c[w>>2]=2;if((c[(c[q>>2]|0)+4>>2]|0)==1){j=wq(256)|0;c[(c[o>>2]|0)+56>>2]=j;c[A>>2]=On(32,c[w>>2]|0)|0;j=c[A>>2]|0;a[j>>0]=a[j>>0]&127;j=c[A>>2]|0;a[j>>0]=a[j>>0]|64;j=(c[A>>2]|0)+31|0;a[j>>0]=a[j>>0]&248;Cp(c[(c[o>>2]|0)+56>>2]|0,c[A>>2]|0,32,0);$f(c[A>>2]|0)}else{A=Xt(c[(c[p>>2]|0)+32>>2]|0,c[w>>2]|0)|0;c[(c[o>>2]|0)+56>>2]=A}Go(v,c[(c[o>>2]|0)+56>>2]|0,(c[p>>2]|0)+20|0,c[q>>2]|0);c[c[o>>2]>>2]=c[c[p>>2]>>2];c[(c[o>>2]|0)+4>>2]=c[(c[p>>2]|0)+4>>2];A=mq(c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[o>>2]|0)+8>>2]=A;A=mq(c[(c[p>>2]|0)+12>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=A;A=mq(c[(c[p>>2]|0)+16>>2]|0)|0;c[(c[o>>2]|0)+16>>2]=A;co((c[o>>2]|0)+20|0);ds((c[o>>2]|0)+20|0,(c[p>>2]|0)+20|0);A=mq(c[(c[p>>2]|0)+32>>2]|0)|0;c[(c[o>>2]|0)+32>>2]=A;A=mq(c[(c[p>>2]|0)+36>>2]|0)|0;c[(c[o>>2]|0)+36>>2]=A;co((c[o>>2]|0)+44|0);c[x>>2]=vq(c[z>>2]|0)|0;c[y>>2]=vq(c[z>>2]|0)|0;if(Zn(c[x>>2]|0,c[y>>2]|0,v,c[q>>2]|0)|0){c[n>>2]=47376;Bf(47328,n)}do if((c[(c[p>>2]|0)+4>>2]|0)!=1){c[B>>2]=vq(c[z>>2]|0)|0;n=c[B>>2]|0;q=c[(c[p>>2]|0)+8>>2]|0;if(!(c[c[p>>2]>>2]|0))No(n,q,c[y>>2]|0);else No(n,q,c[x>>2]|0);if((ap(c[B>>2]|0,c[y>>2]|0)|0)>=0){hq(c[B>>2]|0);ds((c[o>>2]|0)+44|0,v);if(!(jg(1)|0))break;Df(47418,l);break}if(!(c[c[p>>2]>>2]|0)){hq(c[y>>2]|0);c[y>>2]=c[B>>2]}else{hq(c[x>>2]|0);c[x>>2]=c[B>>2]}No(c[(c[o>>2]|0)+56>>2]|0,c[(c[p>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+56>>2]|0);q=(c[o>>2]|0)+44|0;n=c[x>>2]|0;A=c[y>>2]|0;go(q,n,A,Aq(1)|0)|0;if(jg(1)|0)Df(47378,m)}else ds((c[o>>2]|0)+44|0,v);while(0);c[c[t>>2]>>2]=c[x>>2];c[c[u>>2]>>2]=c[y>>2];fo(v);if(c[r>>2]&16384|0){i=k;return 0}r=c[o>>2]|0;v=(c[s>>2]|0)-64|0;if((c[c[o>>2]>>2]|0)!=1){es(r,v);i=k;return 0}else{fs(r,v);i=k;return 0}return 0}function ds(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;oq(c[c[e>>2]>>2]|0,c[c[f>>2]>>2]|0)|0;oq(c[(c[e>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;oq(c[(c[e>>2]|0)+8>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0;i=d;return}function es(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;d=i;i=i+224|0;e=d+168|0;f=d+24|0;g=d+16|0;h=d+8|0;j=d+164|0;k=d+160|0;l=d+104|0;m=d+100|0;n=d+88|0;o=d+84|0;p=d+80|0;q=d+76|0;r=d+72|0;s=d+28|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=vq(c[k>>2]|0)|0;c[o>>2]=vq(c[k>>2]|0)|0;c[p>>2]=vq(c[k>>2]|0)|0;c[q>>2]=vq(c[k>>2]|0)|0;c[r>>2]=vq(c[k>>2]|0)|0;if(jg(1)|0)Df(47471,d);co(n);b=e;a=c[j>>2]|0;t=b+44|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(t|0));Zi(s,e);b=l;a=s;t=b+44|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(t|0));co(l+44|0);ds(l+44|0,(c[j>>2]|0)+44|0);yq(c[m>>2]|0,c[k>>2]|0,0);if(au(c[m>>2]|0,c[j>>2]|0,c[q>>2]|0,c[r>>2]|0,0,0)|0)Bf(47485,h);if(bu(c[m>>2]|0,l,c[q>>2]|0,c[r>>2]|0)|0)Bf(47515,g);if(!(jg(1)|0)){u=l+44|0;fo(u);Yi(l);fo(n);v=c[r>>2]|0;hq(v);w=c[q>>2]|0;hq(w);x=c[p>>2]|0;hq(x);y=c[o>>2]|0;hq(y);z=c[m>>2]|0;hq(z);i=d;return}Df(47553,f);u=l+44|0;fo(u);Yi(l);fo(n);v=c[r>>2]|0;hq(v);w=c[q>>2]|0;hq(w);x=c[p>>2]|0;hq(x);y=c[o>>2]|0;hq(y);z=c[m>>2]|0;hq(z);i=d;return}function fs(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;e=i;i=i+224|0;f=e+168|0;g=e+24|0;h=e+16|0;j=e+8|0;k=e+164|0;l=e+160|0;m=e+104|0;n=e+100|0;o=e+88|0;p=e+84|0;q=e+80|0;r=e+76|0;s=e+32|0;t=e+28|0;c[k>>2]=b;c[l>>2]=d;if(jg(1)|0)Df(47471,e);co(o);d=f;b=c[k>>2]|0;u=d+44|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(u|0));Zi(s,f);d=m;b=s;u=d+44|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(u|0));co(m+44|0);ds(m+44|0,(c[k>>2]|0)+44|0);if((c[(c[k>>2]|0)+4>>2]|0)==1){c[n>>2]=vq(256)|0;c[t>>2]=Mn(32,0)|0;b=c[t>>2]|0;a[b>>0]=a[b>>0]&127;b=c[t>>2]|0;a[b>>0]=a[b>>0]|64;b=(c[t>>2]|0)+31|0;a[b>>0]=a[b>>0]&248;Cp(c[n>>2]|0,c[t>>2]|0,32,0);$f(c[t>>2]|0)}else{c[n>>2]=vq(c[l>>2]|0)|0;yq(c[n>>2]|0,c[l>>2]|0,0)}c[r>>2]=jo(c[m>>2]|0,c[m+4>>2]|0,0,c[m+8>>2]|0,c[m+12>>2]|0,c[m+16>>2]|0)|0;c[p>>2]=vq(0)|0;c[q>>2]=vq(0)|0;Go(o,c[n>>2]|0,m+44|0,c[r>>2]|0);if((c[(c[k>>2]|0)+4>>2]|0)!=1)Go(o,c[(c[r>>2]|0)+36>>2]|0,o,c[r>>2]|0);if(Zn(c[p>>2]|0,0,o,c[r>>2]|0)|0)Bf(47588,j);Go(o,c[n>>2]|0,m+20|0,c[r>>2]|0);Go(o,c[(c[k>>2]|0)+56>>2]|0,o,c[r>>2]|0);if((c[(c[k>>2]|0)+4>>2]|0)!=1)Go(o,c[(c[r>>2]|0)+36>>2]|0,o,c[r>>2]|0);if(Zn(c[q>>2]|0,0,o,c[r>>2]|0)|0)Bf(47636,h);if(ap(c[p>>2]|0,c[q>>2]|0)|0)Bf(47685,g);else{hq(c[p>>2]|0);hq(c[q>>2]|0);no(c[r>>2]|0);fo(m+44|0);Yi(m);fo(o);hq(c[n>>2]|0);i=e;return}}function gs(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;b=i;i=i+176|0;d=b+72|0;e=b+64|0;f=b+56|0;g=b+40|0;h=b;j=b+168|0;k=b+164|0;l=b+160|0;m=b+156|0;n=b+152|0;o=b+148|0;p=b+144|0;q=b+140|0;r=b+80|0;s=b+76|0;c[k>>2]=a;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[s>>2]=0;a=r;t=a+60|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(t|0));c[m>>2]=xg(c[k>>2]|0,47167,0)|0;if(!(c[m>>2]|0?(c[l>>2]=jk(c[m>>2]|0,n,0)|0,(c[l>>2]|0)!=0):0))u=3;do if((u|0)==3){a=c[k>>2]|0;if(c[n>>2]&512|0){c[h>>2]=r+8;c[h+4>>2]=r+12;c[h+8>>2]=r+16;c[h+12>>2]=p;c[h+16>>2]=r+32;c[h+20>>2]=r+36;c[h+24>>2]=q;c[h+28>>2]=r+56;c[h+32>>2]=0;c[l>>2]=Rg(a,0,48140,h)|0}else{c[g>>2]=q;c[g+4>>2]=r+56;c[g+8>>2]=0;c[l>>2]=Rg(a,0,48159,g)|0}if(!(c[l>>2]|0)){vg(c[m>>2]|0);c[m>>2]=xg(c[k>>2]|0,47161,5)|0;if((c[m>>2]|0?(c[o>>2]=Eg(c[m>>2]|0,1)|0,c[o>>2]|0):0)?(c[l>>2]=xi(c[o>>2]|0,r,r+4|0,r+8|0,r+12|0,r+16|0,p,r+32|0,r+36|0)|0,c[l>>2]|0):0){c[j>>2]=c[l>>2];v=c[j>>2]|0;i=b;return v|0}if(c[p>>2]|0?(co(r+20|0),c[l>>2]=dj(r+20|0,c[p>>2]|0)|0,c[l>>2]|0):0)break;if(!(c[o>>2]|0)){c[r>>2]=c[n>>2]&4096|0?2:0;c[r+4>>2]=c[n>>2]&4096|0?1:0}if(jg(1)|0){a=$i(c[r>>2]|0)|0;t=aj(c[r+4>>2]|0)|0;c[f>>2]=a;c[f+4>>2]=t;Df(48165,f);if(c[r+40>>2]|0){c[e>>2]=c[r+40>>2];Df(48189,e)}Hf(48210,c[r+8>>2]|0);Hf(48226,c[r+12>>2]|0);Hf(48242,c[r+16>>2]|0);Yn(48258,r+20|0,0);Hf(48272,c[r+32>>2]|0);Hf(48288,c[r+36>>2]|0);Hf(48304,c[q>>2]|0);if(!(Ah()|0))Hf(48320,c[r+56>>2]|0)}if((((((c[r+8>>2]|0?c[r+12>>2]|0:0)?c[r+16>>2]|0:0)?c[r+20>>2]|0:0)?c[r+32>>2]|0:0)?c[r+36>>2]|0:0)?c[r+56>>2]|0:0){c[s>>2]=jo(c[r>>2]|0,c[r+4>>2]|0,0,c[r+8>>2]|0,c[r+12>>2]|0,c[r+16>>2]|0)|0;if(!(c[q>>2]|0)){c[l>>2]=68;break}co(r+44|0);if((c[(c[s>>2]|0)+4>>2]|0)==1)c[l>>2]=Ni(c[q>>2]|0,c[s>>2]|0,r+44|0,0,0)|0;else c[l>>2]=dj(r+44|0,c[q>>2]|0)|0;if(c[l>>2]|0)break;if(!(hs(r,c[s>>2]|0,c[n>>2]|0)|0))break;c[l>>2]=7;break}c[l>>2]=68}}while(0);no(c[s>>2]|0);xq(c[r+8>>2]|0);xq(c[r+12>>2]|0);xq(c[r+16>>2]|0);xq(c[p>>2]|0);fo(r+20|0);xq(c[r+32>>2]|0);xq(c[r+36>>2]|0);xq(c[q>>2]|0);fo(r+44|0);xq(c[r+56>>2]|0);$f(c[o>>2]|0);vg(c[m>>2]|0);if(jg(1)|0){c[d>>2]=fu(c[l>>2]|0)|0;Df(48623,d)}c[j>>2]=c[l>>2];v=c[j>>2]|0;i=b;return v|0}function hs(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+112|0;f=e+64|0;g=e+56|0;h=e+48|0;j=e+40|0;k=e+32|0;l=e+24|0;m=e+16|0;n=e+8|0;o=e;p=e+108|0;q=e+104|0;r=e+100|0;s=e+96|0;t=e+84|0;u=e+80|0;v=e+76|0;w=e+72|0;x=e+68|0;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[s>>2]=1;c[w>>2]=0;c[x>>2]=0;co(t);c[u>>2]=vq(0)|0;if((c[c[q>>2]>>2]|0)==1)c[v>>2]=0;else c[v>>2]=vq(0)|0;a:do if(!(Io((c[p>>2]|0)+20|0,c[q>>2]|0)|0)){if(jg(1)|0)Df(48336,o)}else{if(!($o(c[(c[p>>2]|0)+20+8>>2]|0,0)|0)){if(!(jg(1)|0))break;Df(48388,n);break}if((c[(c[p>>2]|0)+4>>2]|0)!=1?(Go(t,c[(c[p>>2]|0)+32>>2]|0,(c[p>>2]|0)+20|0,c[q>>2]|0),$o(c[t+8>>2]|0,0)|0):0){if(!(jg(1)|0))break;Df(48433,m);break}if(!($o(c[(c[p>>2]|0)+44+8>>2]|0,0)|0)){if(!(jg(1)|0))break;Df(48480,l);break}if(!(ej(t,c[q>>2]|0,(c[p>>2]|0)+20|0,c[(c[p>>2]|0)+56>>2]|0)|0)){if(!(jg(1)|0))break;Df(48526,k);break}if(Zn(c[u>>2]|0,c[v>>2]|0,t,c[q>>2]|0)|0){if(!(jg(1)|0))break;Df(48480,j);break}do if(!(c[r>>2]&4096)){if(!($o(c[(c[p>>2]|0)+44+8>>2]|0,1)|0)){if(!(ap(c[u>>2]|0,c[(c[p>>2]|0)+44>>2]|0)|0)){if(c[v>>2]|0)break;if(!(ap(c[v>>2]|0,c[(c[p>>2]|0)+44+4>>2]|0)|0))break}if(!(jg(1)|0))break a;Df(48563,h);break a}c[w>>2]=vq(0)|0;c[x>>2]=vq(0)|0;if(Zn(c[w>>2]|0,c[x>>2]|0,(c[p>>2]|0)+44|0,c[q>>2]|0)|0){if(!(jg(1)|0))break a;Df(48480,g);break a}if((ap(c[u>>2]|0,c[w>>2]|0)|0)==0?(ap(c[v>>2]|0,c[x>>2]|0)|0)==0:0)break;if(!(jg(1)|0))break a;Df(48563,f);break a}while(0);c[s>>2]=0}while(0);hq(c[w>>2]|0);hq(c[u>>2]|0);hq(c[v>>2]|0);hq(c[x>>2]|0);fo(t);i=e;return c[s>>2]|0} +function is(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;e=i;i=i+256|0;f=e+72|0;g=e+64|0;h=e+56|0;j=e+48|0;k=e+40|0;l=e+32|0;m=e;n=e+248|0;o=e+244|0;p=e+240|0;q=e+236|0;r=e+232|0;s=e+192|0;t=e+184|0;u=e+180|0;v=e+176|0;w=e+172|0;x=e+168|0;y=e+164|0;z=e+160|0;A=e+104|0;B=e+96|0;C=e+84|0;D=e+80|0;E=e+76|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;c[B>>2]=0;d=A;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));pk(s,0,js(c[q>>2]|0)|0);c[r>>2]=rk(c[p>>2]|0,z,s)|0;do if(!(c[r>>2]|0)){if(jg(1)|0)Hf(48646,c[z>>2]|0);if(c[z>>2]|0?c[(c[z>>2]|0)+12>>2]&4|0:0){c[r>>2]=79;break}p=c[q>>2]|0;c[m>>2]=A+8;c[m+4>>2]=A+12;c[m+8>>2]=A+16;c[m+12>>2]=v;c[m+16>>2]=A+32;c[m+20>>2]=A+36;c[m+24>>2]=w;c[m+28>>2]=0;c[r>>2]=Rg(p,0,48663,m)|0;if(!(c[r>>2]|0)){if(c[v>>2]|0?(co(A+20|0),c[r>>2]=dj(A+20|0,c[v>>2]|0)|0,c[r>>2]|0):0)break;vg(c[t>>2]|0);c[t>>2]=xg(c[q>>2]|0,47161,5)|0;if((c[t>>2]|0?(c[u>>2]=Eg(c[t>>2]|0,1)|0,c[u>>2]|0):0)?(c[r>>2]=ui(0,c[u>>2]|0,A,0)|0,c[r>>2]|0):0){c[n>>2]=c[r>>2];F=c[n>>2]|0;i=e;return F|0}if(!(c[u>>2]|0)){c[A>>2]=0;c[A+4>>2]=0}if(jg(1)|0){p=$i(c[A>>2]|0)|0;d=aj(c[A+4>>2]|0)|0;c[l>>2]=p;c[l+4>>2]=d;Df(48679,l);if(c[A+40>>2]|0){c[k>>2]=c[A+40>>2];Df(48704,k)}Hf(48726,c[A+8>>2]|0);Hf(48743,c[A+12>>2]|0);Hf(48760,c[A+16>>2]|0);Yn(48777,A+20|0,0);Hf(48792,c[A+32>>2]|0);Hf(48809,c[A+36>>2]|0);Hf(48826,c[w>>2]|0)}if(((((c[A+8>>2]|0?c[A+12>>2]|0:0)?c[A+16>>2]|0:0)?c[A+20>>2]|0:0)?c[A+32>>2]|0:0)?(c[A+36>>2]|0)!=0&(c[w>>2]|0)!=0:0){if(c[w>>2]|0?(co(A+44|0),c[r>>2]=dj(A+44|0,c[w>>2]|0)|0,c[r>>2]|0):0)break;c[B>>2]=jo(c[A>>2]|0,c[A+4>>2]|0,0,c[A+8>>2]|0,c[A+12>>2]|0,c[A+16>>2]|0)|0;c[D>>2]=vq(0)|0;c[E>>2]=vq(0)|0;co(C);Go(C,c[z>>2]|0,A+44|0,c[B>>2]|0);if(Zn(c[D>>2]|0,c[E>>2]|0,C,c[B>>2]|0)|0)Bf(48843,j);c[x>>2]=bj(c[D>>2]|0,c[E>>2]|0,c[A+8>>2]|0)|0;Go(C,c[z>>2]|0,A+20|0,c[B>>2]|0);if(Zn(c[D>>2]|0,c[E>>2]|0,C,c[B>>2]|0)|0)Bf(48891,h);else{c[y>>2]=bj(c[D>>2]|0,c[E>>2]|0,c[A+8>>2]|0)|0;hq(c[D>>2]|0);hq(c[E>>2]|0);fo(C);d=c[o>>2]|0;p=c[y>>2]|0;c[g>>2]=c[x>>2];c[g+4>>2]=p;c[r>>2]=Ig(d,0,48938,g)|0;break}}c[r>>2]=68}}while(0);xq(c[A+8>>2]|0);xq(c[A+12>>2]|0);xq(c[A+16>>2]|0);xq(c[v>>2]|0);fo(A+20|0);xq(c[A+32>>2]|0);xq(c[A+36>>2]|0);xq(c[w>>2]|0);fo(A+44|0);xq(c[z>>2]|0);xq(c[x>>2]|0);xq(c[y>>2]|0);$f(c[u>>2]|0);no(c[B>>2]|0);qk(s);if(jg(1)|0){c[f>>2]=fu(c[r>>2]|0)|0;Df(48964,f)}c[n>>2]=c[r>>2];F=c[n>>2]|0;i=e;return F|0}function js(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+32|0;d=b+20|0;e=b+16|0;f=b+12|0;g=b+8|0;h=b+4|0;j=b;c[e>>2]=a;c[h>>2]=0;c[f>>2]=xg(c[e>>2]|0,48644,1)|0;if(c[f>>2]|0){c[g>>2]=Fg(c[f>>2]|0,1,5)|0;vg(c[f>>2]|0);if(c[g>>2]|0){c[h>>2]=Ro(c[g>>2]|0)|0;xq(c[g>>2]|0)}}else{c[f>>2]=xg(c[e>>2]|0,47161,5)|0;if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=b;return k|0}c[j>>2]=Eg(c[f>>2]|0,1)|0;vg(c[f>>2]|0);if(!(c[j>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=b;return k|0}if(ui(0,c[j>>2]|0,0,h)|0)c[h>>2]=0;$f(c[j>>2]|0)}c[d>>2]=c[h>>2];k=c[d>>2]|0;i=b;return k|0}function ks(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;e=i;i=i+256|0;f=e+72|0;g=e+64|0;h=e+56|0;j=e+48|0;k=e+40|0;l=e+8|0;m=e;n=e+248|0;o=e+244|0;p=e+240|0;q=e+236|0;r=e+232|0;s=e+192|0;t=e+188|0;u=e+184|0;v=e+124|0;w=e+120|0;x=e+116|0;y=e+112|0;z=e+100|0;A=e+88|0;B=e+84|0;C=e+80|0;D=e+76|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;c[t>>2]=0;c[u>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[B>>2]=0;d=v;b=d+60|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));co(z);co(A);pk(s,1,js(c[q>>2]|0)|0);c[r>>2]=nk(c[p>>2]|0,12916,t,s)|0;do if((c[r>>2]|0)==0?(p=c[t>>2]|0,c[m>>2]=u,c[m+4>>2]=0,c[r>>2]=Rg(p,0,48986,m)|0,(c[r>>2]|0)==0):0){if(jg(1)|0)Hf(48988,c[u>>2]|0);if(c[u>>2]|0?c[(c[u>>2]|0)+12>>2]&4|0:0){c[r>>2]=79;break}p=c[q>>2]|0;c[l>>2]=v+8;c[l+4>>2]=v+12;c[l+8>>2]=v+16;c[l+12>>2]=w;c[l+16>>2]=v+32;c[l+20>>2]=v+36;c[l+24>>2]=v+56;c[l+28>>2]=0;c[r>>2]=Rg(p,0,49005,l)|0;if(!(c[r>>2]|0)){if(c[w>>2]|0?(co(v+20|0),c[r>>2]=dj(v+20|0,c[w>>2]|0)|0,c[r>>2]|0):0)break;vg(c[t>>2]|0);c[t>>2]=xg(c[q>>2]|0,47161,5)|0;if((c[t>>2]|0?(c[x>>2]=Eg(c[t>>2]|0,1)|0,c[x>>2]|0):0)?(c[r>>2]=ui(0,c[x>>2]|0,v,0)|0,c[r>>2]|0):0){c[n>>2]=c[r>>2];E=c[n>>2]|0;i=e;return E|0}if(!(c[x>>2]|0)){c[v>>2]=0;c[v+4>>2]=0}if(jg(1)|0){p=$i(c[v>>2]|0)|0;d=aj(c[v+4>>2]|0)|0;c[k>>2]=p;c[k+4>>2]=d;Df(49021,k);if(c[v+40>>2]|0){c[j>>2]=c[v+40>>2];Df(49046,j)}Hf(49068,c[v+8>>2]|0);Hf(49085,c[v+12>>2]|0);Hf(49102,c[v+16>>2]|0);Yn(49119,v+20|0,0);Hf(49134,c[v+32>>2]|0);Hf(49151,c[v+36>>2]|0);if(!(Ah()|0))Hf(49168,c[v+56>>2]|0)}if((((((c[v+8>>2]|0?c[v+12>>2]|0:0)?c[v+16>>2]|0:0)?c[v+20>>2]|0:0)?c[v+32>>2]|0:0)?c[v+36>>2]|0:0)?c[v+56>>2]|0:0){c[r>>2]=dj(z,c[u>>2]|0)|0;if(c[r>>2]|0){fo(z);c[n>>2]=c[r>>2];E=c[n>>2]|0;i=e;return E|0}c[y>>2]=jo(c[v>>2]|0,c[v+4>>2]|0,0,c[v+8>>2]|0,c[v+12>>2]|0,c[v+16>>2]|0)|0;Go(A,c[v+56>>2]|0,z,c[y>>2]|0);c[C>>2]=vq(0)|0;c[D>>2]=vq(0)|0;if(Zn(c[C>>2]|0,c[D>>2]|0,A,c[y>>2]|0)|0)Bf(49185,h);c[B>>2]=bj(c[C>>2]|0,c[D>>2]|0,c[v+8>>2]|0)|0;if(c[B>>2]|0)c[r>>2]=0;else c[r>>2]=iu()|0;hq(c[C>>2]|0);hq(c[D>>2]|0);if(jg(1)|0)Hf(49225,c[B>>2]|0);if(c[r>>2]|0)break;d=c[o>>2]|0;c[g>>2]=c[B>>2];c[r>>2]=Ig(d,0,49242,g)|0;break}c[r>>2]=68}}while(0);fo(A);fo(z);xq(c[B>>2]|0);xq(c[v+8>>2]|0);xq(c[v+12>>2]|0);xq(c[v+16>>2]|0);xq(c[w>>2]|0);fo(v+20|0);xq(c[v+32>>2]|0);xq(c[v+36>>2]|0);xq(c[v+56>>2]|0);xq(c[u>>2]|0);$f(c[x>>2]|0);vg(c[t>>2]|0);no(c[y>>2]|0);qk(s);if(jg(1)|0){c[f>>2]=fu(c[r>>2]|0)|0;Df(49253,f)}c[n>>2]=c[r>>2];E=c[n>>2]|0;i=e;return E|0}function ls(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=i;i=i+272|0;f=e+104|0;g=e+96|0;h=e+88|0;j=e+80|0;k=e+72|0;l=e+56|0;m=e+40|0;n=e;o=e+256|0;p=e+252|0;q=e+248|0;r=e+244|0;s=e+240|0;t=e+200|0;u=e+192|0;v=e+188|0;w=e+184|0;x=e+180|0;y=e+176|0;z=e+116|0;A=e+112|0;B=e+108|0;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[u>>2]=0;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[A>>2]=0;c[B>>2]=0;d=z;b=d+60|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));pk(t,2,0);c[s>>2]=rk(c[q>>2]|0,u,t)|0;do if(!(c[s>>2]|0)){if(jg(1)|0)Hf(49275,c[u>>2]|0);q=c[r>>2]|0;if(c[t+12>>2]&512|0){c[n>>2]=z+8;c[n+4>>2]=z+12;c[n+8>>2]=z+16;c[n+12>>2]=x;c[n+16>>2]=z+32;c[n+20>>2]=z+36;c[n+24>>2]=y;c[n+28>>2]=z+56;c[n+32>>2]=0;c[s>>2]=Rg(q,0,48140,n)|0}else{c[m>>2]=y;c[m+4>>2]=z+56;c[m+8>>2]=0;c[s>>2]=Rg(q,0,48159,m)|0}if(!(c[s>>2]|0)){if(c[x>>2]|0?(co(z+20|0),c[s>>2]=dj(z+20|0,c[x>>2]|0)|0,c[s>>2]|0):0)break;vg(c[v>>2]|0);c[v>>2]=xg(c[r>>2]|0,47161,5)|0;if((c[v>>2]|0?(c[w>>2]=Eg(c[v>>2]|0,1)|0,c[w>>2]|0):0)?(c[s>>2]=ui(0,c[w>>2]|0,z,0)|0,c[s>>2]|0):0){c[o>>2]=c[s>>2];C=c[o>>2]|0;i=e;return C|0}if(!(c[w>>2]|0)){c[z>>2]=c[t+12>>2]&4096|0?2:0;c[z+4>>2]=c[t+12>>2]&4096|0?1:0}if(jg(1)|0){q=$i(c[z>>2]|0)|0;d=aj(c[z+4>>2]|0)|0;b=c[t+12>>2]&4096|0?49291:76527;c[l>>2]=q;c[l+4>>2]=d;c[l+8>>2]=b;Df(49298,l);if(c[z+40>>2]|0){c[k>>2]=c[z+40>>2];Df(49324,k)}Hf(49345,c[z+8>>2]|0);Hf(49361,c[z+12>>2]|0);Hf(49377,c[z+16>>2]|0);Yn(49393,z+20|0,0);Hf(49407,c[z+32>>2]|0);Hf(49423,c[z+36>>2]|0);Hf(49439,c[y>>2]|0);if(!(Ah()|0))Hf(49455,c[z+56>>2]|0)}if((((((c[z+8>>2]|0?c[z+12>>2]|0:0)?c[z+16>>2]|0:0)?c[z+20>>2]|0:0)?c[z+32>>2]|0:0)?c[z+36>>2]|0:0)?c[z+56>>2]|0:0){c[A>>2]=vq(0)|0;c[B>>2]=vq(0)|0;if(c[t+12>>2]&4096|0){c[s>>2]=Vi(c[u>>2]|0,z,c[A>>2]|0,c[B>>2]|0,c[t+16>>2]|0,c[y>>2]|0)|0;if(c[s>>2]|0)break;b=c[p>>2]|0;d=c[B>>2]|0;c[j>>2]=c[A>>2];c[j+4>>2]=d;c[s>>2]=Ig(b,0,49471,j)|0;break}b=c[u>>2]|0;d=c[A>>2]|0;q=c[B>>2]|0;if(c[t+12>>2]&8192|0){c[s>>2]=cu(b,z,d,q)|0;if(c[s>>2]|0)break;a=c[p>>2]|0;D=c[B>>2]|0;c[h>>2]=c[A>>2];c[h+4>>2]=D;c[s>>2]=Ig(a,0,49498,h)|0;break}else{c[s>>2]=au(b,z,d,q,c[t+12>>2]|0,c[t+16>>2]|0)|0;if(c[s>>2]|0)break;q=c[p>>2]|0;d=c[B>>2]|0;c[g>>2]=c[A>>2];c[g+4>>2]=d;c[s>>2]=Ig(q,0,49524,g)|0;break}}c[s>>2]=68}}while(0);xq(c[z+8>>2]|0);xq(c[z+12>>2]|0);xq(c[z+16>>2]|0);xq(c[x>>2]|0);fo(z+20|0);xq(c[z+32>>2]|0);xq(c[z+36>>2]|0);xq(c[y>>2]|0);fo(z+44|0);xq(c[z+56>>2]|0);xq(c[A>>2]|0);xq(c[B>>2]|0);$f(c[w>>2]|0);xq(c[u>>2]|0);vg(c[v>>2]|0);qk(t);if(jg(1)|0){c[f>>2]=fu(c[s>>2]|0)|0;Df(49551,f)}c[o>>2]=c[s>>2];C=c[o>>2]|0;i=e;return C|0}function ms(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;e=i;i=i+272|0;f=e+80|0;g=e+72|0;h=e+56|0;j=e+48|0;k=e+16|0;l=e;m=e+256|0;n=e+252|0;o=e+248|0;p=e+244|0;q=e+240|0;r=e+200|0;s=e+192|0;t=e+188|0;u=e+184|0;v=e+180|0;w=e+176|0;x=e+172|0;y=e+168|0;z=e+112|0;A=e+104|0;B=e+100|0;C=e+96|0;D=e+92|0;E=e+88|0;F=e+84|0;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;d=z;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));pk(r,3,js(c[p>>2]|0)|0);c[q>>2]=rk(c[o>>2]|0,y,r)|0;a:do if(!(c[q>>2]|0)){if(jg(1)|0)Hf(49572,c[y>>2]|0);c[q>>2]=mk(c[n>>2]|0,12916,s,A)|0;if((c[q>>2]|0)==0?(o=c[s>>2]|0,d=c[A>>2]&4096|0?49588:47158,c[l>>2]=w,c[l+4>>2]=x,c[l+8>>2]=0,c[q>>2]=Rg(o,0,d,l)|0,(c[q>>2]|0)==0):0){if(jg(1)|0){Hf(49592,c[w>>2]|0);Hf(49608,c[x>>2]|0)}if(c[r+12>>2]&4096^c[A>>2]&4096|0){c[q>>2]=70;break}d=c[p>>2]|0;if(c[r+12>>2]&512|0){c[k>>2]=z+8;c[k+4>>2]=z+12;c[k+8>>2]=z+16;c[k+12>>2]=u;c[k+16>>2]=z+32;c[k+20>>2]=z+32;c[k+24>>2]=v;c[k+28>>2]=0;c[q>>2]=Rg(d,0,49624,k)|0}else{c[j>>2]=v;c[j+4>>2]=0;c[q>>2]=Rg(d,0,49640,j)|0}if(!(c[q>>2]|0)){if(c[u>>2]|0?(co(z+20|0),c[q>>2]=dj(z+20|0,c[u>>2]|0)|0,c[q>>2]|0):0)break;vg(c[s>>2]|0);c[s>>2]=xg(c[p>>2]|0,47161,5)|0;if((c[s>>2]|0?(c[t>>2]=Eg(c[s>>2]|0,1)|0,c[t>>2]|0):0)?(c[q>>2]=ui(0,c[t>>2]|0,z,0)|0,c[q>>2]|0):0){c[m>>2]=c[q>>2];G=c[m>>2]|0;i=e;return G|0}if(!(c[t>>2]|0)){c[z>>2]=c[A>>2]&4096|0?2:0;c[z+4>>2]=c[A>>2]&4096|0?1:0}if(jg(1)|0){d=$i(c[z>>2]|0)|0;o=aj(c[z+4>>2]|0)|0;b=c[A>>2]&4096|0?49291:76527;c[h>>2]=d;c[h+4>>2]=o;c[h+8>>2]=b;Df(49643,h);if(c[z+40>>2]|0){c[g>>2]=c[z+40>>2];Df(49669,g)}Hf(49690,c[z+8>>2]|0);Hf(49706,c[z+12>>2]|0);Hf(49722,c[z+16>>2]|0);Yn(49738,z+20|0,0);Hf(49752,c[z+32>>2]|0);Hf(49768,c[z+36>>2]|0);Hf(49784,c[v>>2]|0)}if(((((c[z+8>>2]|0?c[z+12>>2]|0:0)?c[z+16>>2]|0:0)?c[z+20>>2]|0:0)?c[z+32>>2]|0:0)?(c[z+36>>2]|0)!=0&(c[v>>2]|0)!=0:0){if(c[A>>2]&4096|0){c[q>>2]=Xi(c[y>>2]|0,z,c[w>>2]|0,c[x>>2]|0,c[r+16>>2]|0,c[v>>2]|0)|0;break}b=(c[A>>2]&8192|0)!=0;co(z+44|0);if(b){c[q>>2]=dj(z+44|0,c[v>>2]|0)|0;if(c[q>>2]|0)break;c[q>>2]=du(c[y>>2]|0,z,c[w>>2]|0,c[x>>2]|0)|0;break}if((c[z+4>>2]|0)==1){c[B>>2]=jo(c[z>>2]|0,c[z+4>>2]|0,0,c[z+8>>2]|0,c[z+12>>2]|0,c[z+16>>2]|0)|0;c[q>>2]=Ni(c[v>>2]|0,c[B>>2]|0,z+44|0,0,0)|0;no(c[B>>2]|0)}else c[q>>2]=dj(z+44|0,c[v>>2]|0)|0;if(c[q>>2]|0)break;do if(c[y>>2]|0){if(!(c[(c[y>>2]|0)+12>>2]&4))break;c[E>>2]=Ro(c[z+32>>2]|0)|0;c[C>>2]=kq(c[y>>2]|0,D)|0;c[q>>2]=Dp(F,5,c[C>>2]|0,(((c[D>>2]|0)+7|0)>>>0)/8|0,0)|0;if(c[q>>2]|0)break a;if((c[D>>2]|0)>>>0>(c[E>>2]|0)>>>0)Yo(c[F>>2]|0,c[F>>2]|0,(c[D>>2]|0)-(c[E>>2]|0)|0);c[q>>2]=bu(c[F>>2]|0,z,c[w>>2]|0,c[x>>2]|0)|0;xq(c[F>>2]|0);break a}while(0);c[q>>2]=bu(c[y>>2]|0,z,c[w>>2]|0,c[x>>2]|0)|0;break}c[q>>2]=68}}}while(0);xq(c[z+8>>2]|0);xq(c[z+12>>2]|0);xq(c[z+16>>2]|0);xq(c[u>>2]|0);fo(z+20|0);xq(c[z+32>>2]|0);xq(c[z+36>>2]|0);xq(c[v>>2]|0);fo(z+44|0);xq(c[y>>2]|0);xq(c[w>>2]|0);xq(c[x>>2]|0);$f(c[t>>2]|0);vg(c[s>>2]|0);qk(r);if(jg(1)|0){if(c[q>>2]|0)H=fu(c[q>>2]|0)|0;else H=49800;c[f>>2]=H;Df(49805,f)}c[m>>2]=c[q>>2];G=c[m>>2]|0;i=e;return G|0}function ns(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e;c[g>>2]=a;c[e+4>>2]=b;c[h>>2]=d;if((c[g>>2]|0)!=18){c[f>>2]=4;j=c[f>>2]|0;i=e;return j|0}else{c[f>>2]=os(c[h>>2]|0)|0;j=c[f>>2]|0;i=e;return j|0}return 0}function os(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[f>>2]=49826;c[g>>2]=0;if(!(c[g>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;i=b;return h|0}if(c[e>>2]|0)Fb[c[e>>2]&1](49836,18,c[f>>2]|0,c[g>>2]|0);c[d>>2]=50;h=c[d>>2]|0;i=b;return h|0}function ps(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;e=i;i=i+208|0;f=e+88|0;g=e+80|0;h=e+72|0;j=e+64|0;k=e+32|0;l=e;m=e+172|0;n=e+168|0;o=e+164|0;p=e+160|0;q=e+132|0;r=e+128|0;s=e+124|0;t=e+120|0;u=e+116|0;v=e+112|0;w=e+176|0;x=e+108|0;y=e+104|0;z=e+100|0;A=e+96|0;c[m>>2]=b;c[n>>2]=d;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=7)break;c[q+(c[r>>2]<<2)>>2]=0;c[r>>2]=(c[r>>2]|0)+1}c[p>>2]=xg(c[n>>2]|0,47167,0)|0;if(!(c[p>>2]|0?(c[o>>2]=jk(c[p>>2]|0,t,0)|0,(c[o>>2]|0)!=0):0))B=6;a:do if((B|0)==6){d=(c[t>>2]&4096|0)!=0;b=c[n>>2]|0;do if(c[t>>2]&512|0){C=q+4|0;D=q+8|0;E=q+12|0;F=q+16|0;G=q+20|0;H=q+24|0;if(d){c[l>>2]=q;c[l+4>>2]=C;c[l+8>>2]=D;c[l+12>>2]=E;c[l+16>>2]=F;c[l+20>>2]=G;c[l+24>>2]=H;c[l+28>>2]=0;c[o>>2]=Rg(b,0,49843,l)|0;break}else{c[k>>2]=q;c[k+4>>2]=C;c[k+8>>2]=D;c[k+12>>2]=E;c[k+16>>2]=F;c[k+20>>2]=G;c[k+24>>2]=H;c[k+28>>2]=0;c[o>>2]=Rg(b,0,49858,k)|0;break}}else{H=q+24|0;if(d){c[j>>2]=H;c[j+4>>2]=0;c[o>>2]=Rg(b,0,49640,j)|0;break}else{c[h>>2]=H;c[h+4>>2]=0;c[o>>2]=Rg(b,0,49872,h)|0;break}}while(0);if(!(c[o>>2]|0)){vg(c[p>>2]|0);c[p>>2]=xg(c[n>>2]|0,47161,5)|0;if((c[p>>2]|0?(c[s>>2]=Eg(c[p>>2]|0,1)|0,c[s>>2]|0):0)?(c[o>>2]=xi(c[s>>2]|0,u,v,q,q+4|0,q+8|0,q+12|0,q+16|0,q+20|0)|0,c[o>>2]|0):0)break;if(!(c[s>>2]|0)){c[u>>2]=c[t>>2]&4096|0?2:0;c[v>>2]=c[t>>2]&4096|0?1:0}c[r>>2]=0;while(1){if((c[r>>2]|0)>=7)break;if(!(c[q+(c[r>>2]<<2)>>2]|0)){B=22;break}Qo(c[q+(c[r>>2]<<2)>>2]|0);c[r>>2]=(c[r>>2]|0)+1}if((B|0)==22){c[o>>2]=68;break}if(c[t>>2]&4096|0){if((c[v>>2]|0)==1)c[o>>2]=Ki(c[q+24>>2]|0,256)|0;else c[o>>2]=69;if(c[o>>2]|0)break}c[r>>2]=0;b:while(1){if((c[r>>2]|0)>=7)break a;do if((c[r>>2]|0)!=5){if(c[q+(c[r>>2]<<2)>>2]|0?c[(c[q+(c[r>>2]<<2)>>2]|0)+12>>2]&4|0:0){c[x>>2]=kq(c[q+(c[r>>2]<<2)>>2]|0,y)|0;c[y>>2]=(((c[y>>2]|0)+7|0)>>>0)/8|0;b=c[y>>2]|0;c[g>>2]=a[49874+(c[r>>2]|0)>>0];c[g+4>>2]=b;tv(w,30,49881,g)|0;b=c[m>>2]|0;Fj(b,w,Kv(w)|0);Fj(c[m>>2]|0,c[x>>2]|0,c[y>>2]|0);Fj(c[m>>2]|0,49890,1);break}c[z>>2]=zp(c[q+(c[r>>2]<<2)>>2]|0,0,A,0)|0;if(!(c[z>>2]|0))break b;b=c[A>>2]|0;c[f>>2]=a[49874+(c[r>>2]|0)>>0];c[f+4>>2]=b;tv(w,30,49881,f)|0;b=c[m>>2]|0;Fj(b,w,Kv(w)|0);Fj(c[m>>2]|0,c[z>>2]|0,c[A>>2]|0);Fj(c[m>>2]|0,49890,1);$f(c[z>>2]|0)}while(0);c[r>>2]=(c[r>>2]|0)+1}c[o>>2]=iu()|0}}while(0);$f(c[s>>2]|0);vg(c[p>>2]|0);c[r>>2]=0;while(1){if((c[r>>2]|0)>=7)break;xq(c[q+(c[r>>2]<<2)>>2]|0);c[r>>2]=(c[r>>2]|0)+1}i=e;return c[o>>2]|0}function qs(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,s=0,t=0,u=0,v=0,w=0;h=i;i=i+1056|0;j=h+44|0;k=h+40|0;l=h+36|0;m=h+32|0;n=h+28|0;o=h+24|0;p=h+20|0;q=h+16|0;r=h+12|0;s=h+8|0;t=h+4|0;u=h+48|0;v=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=0;c[r>>2]=0;g=Uj(c[k>>2]|0)|0;if((g|0)!=(c[p>>2]|0)){c[j>>2]=49892;w=c[j>>2]|0;i=h;return w|0}c[r>>2]=wj(s,c[k>>2]|0,0)|0;if(c[r>>2]|0){c[j>>2]=49933;w=c[j>>2]|0;i=h;return w|0}a:do switch(c[l>>2]|0){case 0:{Fj(c[s>>2]|0,c[m>>2]|0,c[n>>2]|0);break}case 1:{Fx(u|0,97,1e3)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=1e3)break a;Fj(c[s>>2]|0,u,1e3);c[v>>2]=(c[v>>2]|0)+1}break}default:c[q>>2]=49953}while(0);if((c[q>>2]|0)==0?(c[t>>2]=Rj(c[s>>2]|0,c[k>>2]|0)|0,mw(c[t>>2]|0,c[o>>2]|0,c[p>>2]|0)|0):0)c[q>>2]=49970;Ej(c[s>>2]|0);c[j>>2]=c[q>>2];w=c[j>>2]|0;i=h;return w|0}function rs(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+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;o=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[h>>2];c[l>>2]=c[g>>2];c[m>>2]=0;c[n>>2]=c[(c[l>>2]|0)+148>>2];if(128<(c[n>>2]|0)>>>0)wf(49986,112,5e4);if(!(c[(c[l>>2]|0)+152>>2]|0)){i=f;return}if((c[(c[l>>2]|0)+144>>2]|0)==(c[n>>2]|0)?(c[m>>2]=vb[c[(c[l>>2]|0)+152>>2]&63](c[l>>2]|0,c[l>>2]|0,1)|0,If(c[m>>2]|0),Jf(),c[m>>2]=0,c[(c[l>>2]|0)+144>>2]=0,g=(c[l>>2]|0)+128|0,h=g,e=Ax(c[h>>2]|0,c[h+4>>2]|0,1,0)|0,h=C,d=g,c[d>>2]=e,c[d+4>>2]=h,!((e|0)!=0|(h|0)!=0)):0){h=(c[l>>2]|0)+136|0;e=h;d=Ax(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;e=h;c[e>>2]=d;c[e+4>>2]=C}if(!(c[k>>2]|0)){i=f;return}if(c[(c[l>>2]|0)+144>>2]|0){while(1){if(!(c[j>>2]|0))break;if((c[(c[l>>2]|0)+144>>2]|0)>>>0>=(c[n>>2]|0)>>>0)break;e=c[k>>2]|0;c[k>>2]=e+1;d=a[e>>0]|0;e=(c[l>>2]|0)+144|0;h=c[e>>2]|0;c[e>>2]=h+1;a[(c[l>>2]|0)+h>>0]=d;c[j>>2]=(c[j>>2]|0)+-1}rs(c[l>>2]|0,0,0);if(!(c[j>>2]|0)){i=f;return}}if((c[j>>2]|0)>>>0>=(c[n>>2]|0)>>>0){c[o>>2]=((c[j>>2]|0)>>>0)/((c[n>>2]|0)>>>0)|0;c[m>>2]=vb[c[(c[l>>2]|0)+152>>2]&63](c[l>>2]|0,c[k>>2]|0,c[o>>2]|0)|0;c[(c[l>>2]|0)+144>>2]=0;d=(c[l>>2]|0)+128|0;h=Ax(c[d>>2]|0,c[d+4>>2]|0,c[o>>2]|0,0)|0;d=C;e=(d>>>0<0|((d|0)==0?h>>>0<(c[o>>2]|0)>>>0:0))&1;h=(c[l>>2]|0)+136|0;d=h;g=Ax(c[d>>2]|0,c[d+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;e=h;c[e>>2]=g;c[e+4>>2]=C;e=(c[l>>2]|0)+128|0;g=e;h=Ax(c[g>>2]|0,c[g+4>>2]|0,c[o>>2]|0,0)|0;g=e;c[g>>2]=h;c[g+4>>2]=C;g=_(c[o>>2]|0,c[n>>2]|0)|0;c[j>>2]=(c[j>>2]|0)-g;g=_(c[o>>2]|0,c[n>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+g}If(c[m>>2]|0);Jf();while(1){if(!(c[j>>2]|0)){p=19;break}if((c[(c[l>>2]|0)+144>>2]|0)>>>0>=(c[n>>2]|0)>>>0){p=19;break}m=c[k>>2]|0;c[k>>2]=m+1;g=a[m>>0]|0;m=(c[l>>2]|0)+144|0;o=c[m>>2]|0;c[m>>2]=o+1;a[(c[l>>2]|0)+o>>0]=g;c[j>>2]=(c[j>>2]|0)+-1}if((p|0)==19){i=f;return}}function ss(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+32|0;f=e+28|0;g=e+24|0;h=e+20|0;j=e+16|0;k=e+12|0;l=e+8|0;m=e+4|0;n=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=ts(c[f>>2]|0)|0;c[k>>2]=0;c[l>>2]=c[c[(c[f>>2]|0)+84>>2]>>2];do if(c[(c[f>>2]|0)+88>>2]|0){c[m>>2]=(c[l>>2]|0)-(c[(c[f>>2]|0)+88>>2]|0);if((c[m>>2]|0)>>>0>(c[h>>2]|0)>>>0)c[m>>2]=c[h>>2];us((c[f>>2]|0)+68+(c[(c[f>>2]|0)+88>>2]|0)|0,c[g>>2]|0,c[m>>2]|0);c[h>>2]=(c[h>>2]|0)-(c[m>>2]|0);c[g>>2]=(c[g>>2]|0)+(c[m>>2]|0);d=(c[f>>2]|0)+88|0;c[d>>2]=(c[d>>2]|0)+(c[m>>2]|0);if((c[(c[f>>2]|0)+88>>2]|0)>>>0<(c[l>>2]|0)>>>0){i=e;return}else{c[k>>2]=vb[c[(c[(c[f>>2]|0)+84>>2]|0)+8>>2]&63](c[j>>2]|0,(c[f>>2]|0)+68|0,c[l>>2]|0)|0;c[(c[f>>2]|0)+88>>2]=0;break}}while(0);if((c[h>>2]|0)>>>0>=(c[l>>2]|0)>>>0){c[n>>2]=c[h>>2]&~((c[l>>2]|0)-1);c[k>>2]=vb[c[(c[(c[f>>2]|0)+84>>2]|0)+8>>2]&63](c[j>>2]|0,c[g>>2]|0,c[n>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+(c[n>>2]|0);c[h>>2]=(c[h>>2]|0)-(c[n>>2]|0)}if(c[h>>2]|0){us((c[f>>2]|0)+68+(c[(c[f>>2]|0)+88>>2]|0)|0,c[g>>2]|0,c[h>>2]|0);g=(c[f>>2]|0)+88|0;c[g>>2]=(c[g>>2]|0)+(c[h>>2]|0)}if(!(c[k>>2]|0)){i=e;return}If(c[k>>2]|0);Jf();i=e;return}function ts(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];c[e>>2]=(c[e>>2]|0)+3;c[e>>2]=(c[e>>2]|0)+(0-(c[e>>2]&3));i=b;return c[e>>2]|0}function us(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;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[f>>2]=3;if(!((c[k>>2]|c[l>>2])&3)){c[m>>2]=c[k>>2];c[n>>2]=c[l>>2];while(1){if((c[j>>2]|0)>>>0<4)break;h=c[n>>2]|0;c[n>>2]=h+4;g=c[h>>2]|0;h=c[m>>2]|0;c[m>>2]=h+4;c[h>>2]=g;c[j>>2]=(c[j>>2]|0)-4}c[k>>2]=c[m>>2];c[l>>2]=c[n>>2]}while(1){if(!(c[j>>2]|0))break;n=c[l>>2]|0;c[l>>2]=n+1;m=a[n>>0]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[n>>0]=m;c[j>>2]=(c[j>>2]|0)+-1}i=f;return}function vs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=ts(c[e>>2]|0)|0;c[h>>2]=Cb[c[(c[(c[e>>2]|0)+84>>2]|0)+12>>2]&7](c[g>>2]|0,(c[e>>2]|0)+68|0,c[(c[e>>2]|0)+88>>2]|0,c[f>>2]|0)|0;If(c[h>>2]|0);Jf();i=d;return}function ws(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;g=i;i=i+80|0;h=g+8|0;j=g+40|0;k=g+36|0;l=g+32|0;m=g+28|0;n=g+48|0;o=g+20|0;p=g+16|0;q=g+44|0;r=g;s=g+12|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[g+24>>2]=Vg()|0;if((c[17721]|0)==0?(c[17721]=1,c[17722]=xs()|0,c[17722]|0):0){c[h>>2]=c[17722];Af(50408,h)}if((c[m>>2]|0)!=32){c[j>>2]=44;t=c[j>>2]|0;i=g;return t|0}if(c[17722]|0){c[j>>2]=50;t=c[j>>2]|0;i=g;return t|0}c[(c[k>>2]|0)+84>>2]=12940;us(n,c[l>>2]|0,32);Es(c[k>>2]|0,n);c[o>>2]=n;c[p>>2]=32;a[q>>0]=0;n=r;c[n>>2]=d[q>>0];c[n+4>>2]=0;while(1){if(!(c[o>>2]&7|0?(c[p>>2]|0)!=0:0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}if((c[p>>2]|0)>>>0>=8){n=r;k=Mx(c[n>>2]|0,c[n+4>>2]|0,16843009,16843009)|0;n=r;c[n>>2]=k;c[n+4>>2]=C;do{c[s>>2]=c[o>>2];n=r;k=c[n+4>>2]|0;l=c[s>>2]|0;c[l>>2]=c[n>>2];c[l+4>>2]=k;c[p>>2]=(c[p>>2]|0)-8;c[o>>2]=(c[o>>2]|0)+8}while((c[p>>2]|0)>>>0>=8)}while(1){if(!(c[p>>2]|0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}c[j>>2]=0;t=c[j>>2]|0;i=g;return t|0}function xs(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;b=i;i=i+512|0;d=b+192|0;e=b+100|0;f=b+8|0;g=b+472|0;h=b+216|0;j=b+200|0;k=b+4|0;l=b;m=e;n=m+92|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));m=f;n=m+92|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));m=j;n=m+16|0;do{a[m>>0]=0;m=m+1|0}while((m|0)<(n|0));ys(j,50021,131,50152);if(mw(50184,j,16)|0){c[d>>2]=50200;o=c[d>>2]|0;i=b;return o|0}m=j;n=m+16|0;do{a[m>>0]=0;m=m+1|0}while((m|0)<(n|0));ws(e,50152,32)|0;ss(e,50021,32);ss(e,50053,64);ss(e,50117,16);ss(e,50133,8);ss(e,50141,4);ss(e,50145,2);ss(e,50147,1);ss(e,50148,1);ss(e,50149,1);ss(e,50150,1);ss(e,50151,1);vs(e,j);if(mw(50184,j,16)|0){c[d>>2]=50224;o=c[d>>2]|0;i=b;return o|0}m=j;n=m+16|0;do{a[m>>0]=0;m=m+1|0}while((m|0)<(n|0));ys(j,50248,16,50264);if(mw(50296,j,16)|0){c[d>>2]=50312;o=c[d>>2]|0;i=b;return o|0}ws(f,50336,32)|0;c[k>>2]=0;while(1){if((c[k>>2]|0)>>>0>=256)break;c[l>>2]=0;while(1){if((c[l>>2]|0)>>>0>=32)break;a[g+(c[l>>2]|0)>>0]=c[k>>2];c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=0;while(1){if((c[l>>2]|0)>>>0>=(c[k>>2]|0)>>>0)break;a[h+(c[l>>2]|0)>>0]=c[k>>2];c[l>>2]=(c[l>>2]|0)+1}ys(j,h,c[k>>2]|0,g);ss(f,j,16);c[k>>2]=(c[k>>2]|0)+1}vs(f,j);if(mw(50368,j,16)|0){c[d>>2]=50384;o=c[d>>2]|0;i=b;return o|0}else{c[d>>2]=0;o=c[d>>2]|0;i=b;return o|0}return 0}function ys(b,e,f,g){b=b|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+144|0;j=h+124|0;k=h+120|0;l=h+116|0;m=h+112|0;n=h+20|0;o=h+16|0;p=h+12|0;q=h+128|0;r=h;s=h+8|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;g=n;f=g+92|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));ws(n,c[m>>2]|0,32)|0;ss(n,c[k>>2]|0,c[l>>2]|0);vs(n,c[j>>2]|0);c[o>>2]=n;c[p>>2]=92;a[q>>0]=0;n=r;c[n>>2]=d[q>>0];c[n+4>>2]=0;while(1){if(!(c[o>>2]&7|0?(c[p>>2]|0)!=0:0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}if((c[p>>2]|0)>>>0>=8){n=r;j=Mx(c[n>>2]|0,c[n+4>>2]|0,16843009,16843009)|0;n=r;c[n>>2]=j;c[n+4>>2]=C;do{c[s>>2]=c[o>>2];n=r;j=c[n+4>>2]|0;l=c[s>>2]|0;c[l>>2]=c[n>>2];c[l+4>>2]=j;c[p>>2]=(c[p>>2]|0)-8;c[o>>2]=(c[o>>2]|0)+8}while((c[p>>2]|0)>>>0>=8)}while(1){if(!(c[p>>2]|0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}i=h;return}function zs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];f=(As(c[g>>2]|0)|0)&67108863;c[c[h>>2]>>2]=f;f=(As((c[g>>2]|0)+3|0)|0)>>>2&67108611;c[(c[h>>2]|0)+4>>2]=f;f=(As((c[g>>2]|0)+6|0)|0)>>>4&67092735;c[(c[h>>2]|0)+8>>2]=f;f=(As((c[g>>2]|0)+9|0)|0)>>>6&66076671;c[(c[h>>2]|0)+12>>2]=f;f=(As((c[g>>2]|0)+12|0)|0)>>>8&1048575;c[(c[h>>2]|0)+16>>2]=f;c[(c[h>>2]|0)+20>>2]=0;c[(c[h>>2]|0)+20+4>>2]=0;c[(c[h>>2]|0)+20+8>>2]=0;c[(c[h>>2]|0)+20+12>>2]=0;c[(c[h>>2]|0)+20+16>>2]=0;f=As((c[g>>2]|0)+16|0)|0;c[(c[h>>2]|0)+40>>2]=f;f=As((c[g>>2]|0)+20|0)|0;c[(c[h>>2]|0)+40+4>>2]=f;f=As((c[g>>2]|0)+24|0)|0;c[(c[h>>2]|0)+40+8>>2]=f;f=As((c[g>>2]|0)+28|0)|0;c[(c[h>>2]|0)+40+12>>2]=f;a[(c[h>>2]|0)+56>>0]=0;i=e;return}function As(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];i=b;return (d[(c[f>>2]|0)+3>>0]|0)<<24|(d[(c[f>>2]|0)+2>>0]|0)<<16|(d[(c[f>>2]|0)+1>>0]|0)<<8|(d[c[f>>2]>>0]|0)|0}function Bs(a,b,e){a=a|0;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,D=0,E=0,F=0,G=0;f=i;i=i+128|0;g=f+116|0;h=f+112|0;j=f+108|0;k=f+104|0;l=f+100|0;m=f+96|0;n=f+92|0;o=f+88|0;p=f+84|0;q=f+80|0;r=f+76|0;s=f+72|0;t=f+68|0;u=f+64|0;v=f+60|0;w=f+56|0;x=f+52|0;y=f+48|0;z=f+44|0;A=f+32|0;B=f+24|0;D=f+16|0;E=f+8|0;F=f;G=f+40|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=c[g>>2];c[l>>2]=d[(c[k>>2]|0)+56>>0]|0|0?0:16777216;c[m>>2]=c[c[k>>2]>>2];c[n>>2]=c[(c[k>>2]|0)+4>>2];c[o>>2]=c[(c[k>>2]|0)+8>>2];c[p>>2]=c[(c[k>>2]|0)+12>>2];c[q>>2]=c[(c[k>>2]|0)+16>>2];c[r>>2]=(c[n>>2]|0)*5;c[s>>2]=(c[o>>2]|0)*5;c[t>>2]=(c[p>>2]|0)*5;c[u>>2]=(c[q>>2]|0)*5;c[v>>2]=c[(c[k>>2]|0)+20>>2];c[w>>2]=c[(c[k>>2]|0)+20+4>>2];c[x>>2]=c[(c[k>>2]|0)+20+8>>2];c[y>>2]=c[(c[k>>2]|0)+20+12>>2];c[z>>2]=c[(c[k>>2]|0)+20+16>>2];while(1){if((c[j>>2]|0)>>>0<16)break;g=(As(c[h>>2]|0)|0)&67108863;c[v>>2]=(c[v>>2]|0)+g;g=(As((c[h>>2]|0)+3|0)|0)>>>2&67108863;c[w>>2]=(c[w>>2]|0)+g;g=(As((c[h>>2]|0)+6|0)|0)>>>4&67108863;c[x>>2]=(c[x>>2]|0)+g;g=(As((c[h>>2]|0)+9|0)|0)>>>6&67108863;c[y>>2]=(c[y>>2]|0)+g;g=(As((c[h>>2]|0)+12|0)|0)>>>8;c[z>>2]=(c[z>>2]|0)+(g|c[l>>2]);g=Mx(c[v>>2]|0,0,c[m>>2]|0,0)|0;e=C;b=Mx(c[w>>2]|0,0,c[u>>2]|0,0)|0;a=Ax(g|0,e|0,b|0,C|0)|0;b=C;e=Mx(c[x>>2]|0,0,c[t>>2]|0,0)|0;g=Ax(a|0,b|0,e|0,C|0)|0;e=C;b=Mx(c[y>>2]|0,0,c[s>>2]|0,0)|0;a=Ax(g|0,e|0,b|0,C|0)|0;b=C;e=Mx(c[z>>2]|0,0,c[r>>2]|0,0)|0;g=Ax(a|0,b|0,e|0,C|0)|0;e=A;c[e>>2]=g;c[e+4>>2]=C;e=Mx(c[v>>2]|0,0,c[n>>2]|0,0)|0;g=C;b=Mx(c[w>>2]|0,0,c[m>>2]|0,0)|0;a=Ax(e|0,g|0,b|0,C|0)|0;b=C;g=Mx(c[x>>2]|0,0,c[u>>2]|0,0)|0;e=Ax(a|0,b|0,g|0,C|0)|0;g=C;b=Mx(c[y>>2]|0,0,c[t>>2]|0,0)|0;a=Ax(e|0,g|0,b|0,C|0)|0;b=C;g=Mx(c[z>>2]|0,0,c[s>>2]|0,0)|0;e=Ax(a|0,b|0,g|0,C|0)|0;g=B;c[g>>2]=e;c[g+4>>2]=C;g=Mx(c[v>>2]|0,0,c[o>>2]|0,0)|0;e=C;b=Mx(c[w>>2]|0,0,c[n>>2]|0,0)|0;a=Ax(g|0,e|0,b|0,C|0)|0;b=C;e=Mx(c[x>>2]|0,0,c[m>>2]|0,0)|0;g=Ax(a|0,b|0,e|0,C|0)|0;e=C;b=Mx(c[y>>2]|0,0,c[u>>2]|0,0)|0;a=Ax(g|0,e|0,b|0,C|0)|0;b=C;e=Mx(c[z>>2]|0,0,c[t>>2]|0,0)|0;g=Ax(a|0,b|0,e|0,C|0)|0;e=D;c[e>>2]=g;c[e+4>>2]=C;e=Mx(c[v>>2]|0,0,c[p>>2]|0,0)|0;g=C;b=Mx(c[w>>2]|0,0,c[o>>2]|0,0)|0;a=Ax(e|0,g|0,b|0,C|0)|0;b=C;g=Mx(c[x>>2]|0,0,c[n>>2]|0,0)|0;e=Ax(a|0,b|0,g|0,C|0)|0;g=C;b=Mx(c[y>>2]|0,0,c[m>>2]|0,0)|0;a=Ax(e|0,g|0,b|0,C|0)|0;b=C;g=Mx(c[z>>2]|0,0,c[u>>2]|0,0)|0;e=Ax(a|0,b|0,g|0,C|0)|0;g=E;c[g>>2]=e;c[g+4>>2]=C;g=Mx(c[v>>2]|0,0,c[q>>2]|0,0)|0;e=C;b=Mx(c[w>>2]|0,0,c[p>>2]|0,0)|0;a=Ax(g|0,e|0,b|0,C|0)|0;b=C;e=Mx(c[x>>2]|0,0,c[o>>2]|0,0)|0;g=Ax(a|0,b|0,e|0,C|0)|0;e=C;b=Mx(c[y>>2]|0,0,c[n>>2]|0,0)|0;a=Ax(g|0,e|0,b|0,C|0)|0;b=C;e=Mx(c[z>>2]|0,0,c[m>>2]|0,0)|0;g=Ax(a|0,b|0,e|0,C|0)|0;e=F;c[e>>2]=g;c[e+4>>2]=C;e=A;g=Cx(c[e>>2]|0,c[e+4>>2]|0,26)|0;c[G>>2]=g;c[v>>2]=c[A>>2]&67108863;g=B;e=Ax(c[g>>2]|0,c[g+4>>2]|0,c[G>>2]|0,0)|0;g=B;c[g>>2]=e;c[g+4>>2]=C;g=B;e=Cx(c[g>>2]|0,c[g+4>>2]|0,26)|0;c[G>>2]=e;c[w>>2]=c[B>>2]&67108863;e=D;g=Ax(c[e>>2]|0,c[e+4>>2]|0,c[G>>2]|0,0)|0;e=D;c[e>>2]=g;c[e+4>>2]=C;e=D;g=Cx(c[e>>2]|0,c[e+4>>2]|0,26)|0;c[G>>2]=g;c[x>>2]=c[D>>2]&67108863;g=E;e=Ax(c[g>>2]|0,c[g+4>>2]|0,c[G>>2]|0,0)|0;g=E;c[g>>2]=e;c[g+4>>2]=C;g=E;e=Cx(c[g>>2]|0,c[g+4>>2]|0,26)|0;c[G>>2]=e;c[y>>2]=c[E>>2]&67108863;e=F;g=Ax(c[e>>2]|0,c[e+4>>2]|0,c[G>>2]|0,0)|0;e=F;c[e>>2]=g;c[e+4>>2]=C;e=F;g=Cx(c[e>>2]|0,c[e+4>>2]|0,26)|0;c[G>>2]=g;c[z>>2]=c[F>>2]&67108863;c[v>>2]=(c[v>>2]|0)+((c[G>>2]|0)*5|0);c[G>>2]=(c[v>>2]|0)>>>26;c[v>>2]=c[v>>2]&67108863;c[w>>2]=(c[w>>2]|0)+(c[G>>2]|0);c[h>>2]=(c[h>>2]|0)+16;c[j>>2]=(c[j>>2]|0)-16}c[(c[k>>2]|0)+20>>2]=c[v>>2];c[(c[k>>2]|0)+20+4>>2]=c[w>>2];c[(c[k>>2]|0)+20+8>>2]=c[x>>2];c[(c[k>>2]|0)+20+12>>2]=c[y>>2];c[(c[k>>2]|0)+20+16>>2]=c[z>>2];i=f;return 124}function Cs(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,D=0;g=i;i=i+112|0;h=g+80|0;j=g+76|0;k=g+72|0;l=g+68|0;m=g+64|0;n=g+60|0;o=g+56|0;p=g+52|0;q=g+48|0;r=g+44|0;s=g+40|0;t=g+36|0;u=g+32|0;v=g+28|0;w=g+24|0;x=g+20|0;y=g;z=g+16|0;A=g+12|0;B=g+88|0;D=g+8|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[h>>2];c[A>>2]=0;if(c[k>>2]|0){h=B;f=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(f|0));c[D>>2]=0;while(1){if((c[D>>2]|0)>>>0>=(c[k>>2]|0)>>>0)break;a[B+(c[D>>2]|0)>>0]=a[(c[j>>2]|0)+(c[D>>2]|0)>>0]|0;c[D>>2]=(c[D>>2]|0)+1}a[B+(c[k>>2]|0)>>0]=1;a[(c[m>>2]|0)+56>>0]=1;c[A>>2]=Bs(c[m>>2]|0,B,16)|0}c[n>>2]=c[(c[m>>2]|0)+20>>2];c[o>>2]=c[(c[m>>2]|0)+20+4>>2];c[p>>2]=c[(c[m>>2]|0)+20+8>>2];c[q>>2]=c[(c[m>>2]|0)+20+12>>2];c[r>>2]=c[(c[m>>2]|0)+20+16>>2];c[s>>2]=(c[o>>2]|0)>>>26;c[o>>2]=c[o>>2]&67108863;c[p>>2]=(c[p>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[p>>2]|0)>>>26;c[p>>2]=c[p>>2]&67108863;c[q>>2]=(c[q>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[q>>2]|0)>>>26;c[q>>2]=c[q>>2]&67108863;c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[r>>2]|0)>>>26;c[r>>2]=c[r>>2]&67108863;c[n>>2]=(c[n>>2]|0)+((c[s>>2]|0)*5|0);c[s>>2]=(c[n>>2]|0)>>>26;c[n>>2]=c[n>>2]&67108863;c[o>>2]=(c[o>>2]|0)+(c[s>>2]|0);c[t>>2]=(c[n>>2]|0)+5;c[s>>2]=(c[t>>2]|0)>>>26;c[t>>2]=c[t>>2]&67108863;c[u>>2]=(c[o>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[u>>2]|0)>>>26;c[u>>2]=c[u>>2]&67108863;c[v>>2]=(c[p>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[v>>2]|0)>>>26;c[v>>2]=c[v>>2]&67108863;c[w>>2]=(c[q>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[w>>2]|0)>>>26;c[w>>2]=c[w>>2]&67108863;c[x>>2]=(c[r>>2]|0)+(c[s>>2]|0)-67108864;c[z>>2]=((c[x>>2]|0)>>>31)-1;c[t>>2]=c[t>>2]&c[z>>2];c[u>>2]=c[u>>2]&c[z>>2];c[v>>2]=c[v>>2]&c[z>>2];c[w>>2]=c[w>>2]&c[z>>2];c[x>>2]=c[x>>2]&c[z>>2];c[z>>2]=~c[z>>2];c[n>>2]=c[n>>2]&c[z>>2]|c[t>>2];c[o>>2]=c[o>>2]&c[z>>2]|c[u>>2];c[p>>2]=c[p>>2]&c[z>>2]|c[v>>2];c[q>>2]=c[q>>2]&c[z>>2]|c[w>>2];c[r>>2]=c[r>>2]&c[z>>2]|c[x>>2];c[n>>2]=c[n>>2]|c[o>>2]<<26;c[o>>2]=(c[o>>2]|0)>>>6|c[p>>2]<<20;c[p>>2]=(c[p>>2]|0)>>>12|c[q>>2]<<14;c[q>>2]=(c[q>>2]|0)>>>18|c[r>>2]<<8;r=Ax(c[n>>2]|0,0,c[(c[m>>2]|0)+40>>2]|0,0)|0;x=y;c[x>>2]=r;c[x+4>>2]=C;c[n>>2]=c[y>>2];x=Ax(c[o>>2]|0,0,c[(c[m>>2]|0)+40+4>>2]|0,0)|0;r=Ax(x|0,C|0,c[y+4>>2]|0,0)|0;x=y;c[x>>2]=r;c[x+4>>2]=C;c[o>>2]=c[y>>2];x=Ax(c[p>>2]|0,0,c[(c[m>>2]|0)+40+8>>2]|0,0)|0;r=Ax(x|0,C|0,c[y+4>>2]|0,0)|0;x=y;c[x>>2]=r;c[x+4>>2]=C;c[p>>2]=c[y>>2];x=Ax(c[q>>2]|0,0,c[(c[m>>2]|0)+40+12>>2]|0,0)|0;r=Ax(x|0,C|0,c[y+4>>2]|0,0)|0;x=y;c[x>>2]=r;c[x+4>>2]=C;c[q>>2]=c[y>>2];Ds(c[l>>2]|0,c[n>>2]|0);Ds((c[l>>2]|0)+4|0,c[o>>2]|0);Ds((c[l>>2]|0)+8|0,c[p>>2]|0);Ds((c[l>>2]|0)+12|0,c[q>>2]|0);c[(c[m>>2]|0)+20>>2]=0;c[(c[m>>2]|0)+20+4>>2]=0;c[(c[m>>2]|0)+20+8>>2]=0;c[(c[m>>2]|0)+20+12>>2]=0;c[(c[m>>2]|0)+20+16>>2]=0;c[c[m>>2]>>2]=0;c[(c[m>>2]|0)+4>>2]=0;c[(c[m>>2]|0)+8>>2]=0;c[(c[m>>2]|0)+12>>2]=0;c[(c[m>>2]|0)+16>>2]=0;c[(c[m>>2]|0)+40>>2]=0;c[(c[m>>2]|0)+40+4>>2]=0;c[(c[m>>2]|0)+40+8>>2]=0;c[(c[m>>2]|0)+40+12>>2]=0;i=g;return 100+(c[A>>2]|0)|0}function Ds(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];a[(c[h>>2]|0)+3>>0]=(c[g>>2]|0)>>>24;a[(c[h>>2]|0)+2>>0]=(c[g>>2]|0)>>>16;a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)>>>8;a[c[h>>2]>>0]=c[g>>2];i=e;return}function Es(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+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=ts(c[e>>2]|0)|0;c[(c[e>>2]|0)+88>>2]=0;yb[c[(c[(c[e>>2]|0)+84>>2]|0)+4>>2]&7](c[g>>2]|0,c[f>>2]|0);i=d;return}function Fs(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(c[d>>2]|0){Hs();i=b;return}else{Gs();i=b;return}}function Gs(){if(c[17723]|0)return;c[17723]=1;return}function Hs(){var a=0,b=0;Gs();Is();if(c[17725]|0){Os();return}if(c[17726]|0)a=hg(1,664)|0;else a=gg(1,664)|0;c[17725]=a;if(c[17726]|0)b=hg(1,664)|0;else b=gg(1,664)|0;c[17727]=b;c[17728]=Js()|0;if(!(c[17728]|0)){c[17729]=1;c[17728]=3}c[17746]=Ns()|0;Os();return}function Is(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;c[d>>2]=lu(12956)|0;if(c[d>>2]|0){c[b>>2]=fu(c[d>>2]|0)|0;Bf(50439,b)}else{c[17724]=1;i=a;return}}function Js(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;if((Ew(52821,4)|0)==0?(Ew(52923,4)|0)==0:0){c[d>>2]=4;i=a;return c[d>>2]|0}Bf(pf(50476)|0,b);return 0}function Ks(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;g=i;i=i+32|0;h=g+24|0;j=g+20|0;k=g+12|0;l=g+8|0;m=g+4|0;c[g+28>>2]=b;c[h>>2]=d;c[j>>2]=e;c[g+16>>2]=f;if(!(c[17730]|0)){yf(pf(50514)|0,g);c[17730]=1;f=jb(0)|0;bx(_(f,Dw()|0)|0)}f=dg(c[j>>2]|0)|0;c[l>>2]=f;c[m>>2]=f;c[k>>2]=c[j>>2];while(1){f=c[k>>2]|0;c[k>>2]=f+-1;if(!f)break;f=1+~~(+(cx()|0)*256.0/2147483648.0)-1&255;e=c[m>>2]|0;c[m>>2]=e+1;a[e>>0]=f}Ls(c[l>>2]|0,c[j>>2]|0,c[h>>2]|0);$f(c[l>>2]|0);i=g;return 0}function Ls(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;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[h>>2];c[m>>2]=0;if(!(c[17724]|0))xf(50565,50580,1074,50596);c[17739]=(c[17739]|0)+(c[j>>2]|0);c[17740]=(c[17740]|0)+1;while(1){h=c[j>>2]|0;c[j>>2]=h+-1;if(!h)break;h=c[l>>2]|0;c[l>>2]=h+1;f=d[h>>0]|0;h=c[17741]|0;c[17741]=h+1;e=(c[17725]|0)+h|0;a[e>>0]=(d[e>>0]|0)^f;c[m>>2]=(c[m>>2]|0)+1;if((c[17741]|0)>>>0<600)continue;if(!((c[k>>2]|0)>>>0<3|(c[17742]|0)!=0)?(c[17743]=(c[17743]|0)+(c[m>>2]|0),c[m>>2]=0,(c[17743]|0)>>>0>=600):0)c[17742]=1;c[17741]=0;Ms(c[17725]|0);c[17731]=(c[17731]|0)+1;c[17745]=((c[j>>2]|0)!=0^1)&1}i=g;return}function Ms(b){b=b|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+224|0;f=e+208|0;g=e+204|0;h=e+200|0;j=e+196|0;k=e+192|0;l=e+188|0;m=e;n=e+184|0;c[f>>2]=b;c[g>>2]=(c[f>>2]|0)+600;if(!(c[17724]|0))xf(50565,50580,615,50611);Fl(m);c[j>>2]=(c[f>>2]|0)+600;b=c[g>>2]|0;o=(c[j>>2]|0)+-20|0;p=b+20|0;do{a[b>>0]=a[o>>0]|0;b=b+1|0;o=o+1|0}while((b|0)<(p|0));b=(c[g>>2]|0)+20|0;o=c[f>>2]|0;p=b+44|0;do{a[b>>0]=a[o>>0]|0;b=b+1|0;o=o+1|0}while((b|0)<(p|0));Gl(m,c[g>>2]|0);b=c[f>>2]|0;o=c[g>>2]|0;p=b+20|0;do{a[b>>0]=a[o>>0]|0;b=b+1|0;o=o+1|0}while((b|0)<(p|0));a:do if(c[17744]|0?(c[f>>2]|0)==(c[17725]|0):0){c[k>>2]=0;while(1){if((c[k>>2]|0)>=20)break a;q=(c[f>>2]|0)+(c[k>>2]|0)|0;a[q>>0]=(d[q>>0]|0)^(d[76506+(c[k>>2]|0)>>0]|0);c[k>>2]=(c[k>>2]|0)+1}}while(0);c[h>>2]=c[f>>2];c[l>>2]=1;while(1){if((c[l>>2]|0)>=30)break;b=c[g>>2]|0;o=c[h>>2]|0;p=b+20|0;do{a[b>>0]=a[o>>0]|0;b=b+1|0;o=o+1|0}while((b|0)<(p|0));c[h>>2]=(c[h>>2]|0)+20;b:do if(((c[h>>2]|0)+20+64|0)>>>0<(c[j>>2]|0)>>>0){b=(c[g>>2]|0)+20|0;o=(c[h>>2]|0)+20|0;p=b+44|0;do{a[b>>0]=a[o>>0]|0;b=b+1|0;o=o+1|0}while((b|0)<(p|0))}else{c[n>>2]=(c[h>>2]|0)+20;c[k>>2]=20;while(1){if((c[k>>2]|0)>=64)break b;if((c[n>>2]|0)>>>0>=(c[j>>2]|0)>>>0)c[n>>2]=c[f>>2];q=c[n>>2]|0;c[n>>2]=q+1;a[(c[g>>2]|0)+(c[k>>2]|0)>>0]=a[q>>0]|0;c[k>>2]=(c[k>>2]|0)+1}}while(0);Gl(m,c[g>>2]|0);b=c[h>>2]|0;o=c[g>>2]|0;p=b+20|0;do{a[b>>0]=a[o>>0]|0;b=b+1|0;o=o+1|0}while((b|0)<(p|0));c[l>>2]=(c[l>>2]|0)+1}if((c[f>>2]|0)!=(c[17725]|0)){If(384);Jf();i=e;return}Hl(76506,c[f>>2]|0,600);c[17744]=1;If(384);Jf();i=e;return}function Ns(){return 0}function Os(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;c[17724]=0;c[d>>2]=mu(12956)|0;if(c[d>>2]|0){c[b>>2]=fu(c[d>>2]|0)|0;Bf(50620,b)}else{i=a;return}}function Ps(){Is();Tt(0,0,0,0)|0;c[17742]=0;Os();return}function Qs(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;a=i;i=i+48|0;b=a;d=c[17731]|0;e=c[17733]|0;f=c[17734]|0;g=c[17740]|0;h=c[17739]|0;j=c[17732]|0;k=c[17736]|0;l=c[17735]|0;m=c[17738]|0;n=c[17737]|0;o=(Qt()|0)!=0;c[b>>2]=600;c[b+4>>2]=d;c[b+8>>2]=e;c[b+12>>2]=f;c[b+16>>2]=g;c[b+20>>2]=h;c[b+24>>2]=j;c[b+28>>2]=k;c[b+32>>2]=l;c[b+36>>2]=m;c[b+40>>2]=n;c[b+44>>2]=o?50657:76527;yf(50673,b);i=a;return}function Rs(){c[17726]=1;return}function Ss(){c[17747]=1;return}function Ts(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function Us(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Vs(){Hs();return (c[17729]|0?1:(c[17747]|0)!=0)&1|0}function Ws(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+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;Hs();if((c[17747]|0)!=0&(c[h>>2]|0)>>>0>1)c[h>>2]=1;c[h>>2]=c[h>>2]&3;Is();d=c[g>>2]|0;if((c[h>>2]|0)>>>0>=2){c[17737]=(c[17737]|0)+d;c[17738]=(c[17738]|0)+1}else{c[17735]=(c[17735]|0)+d;c[17736]=(c[17736]|0)+1}c[j>>2]=c[f>>2];while(1){if((c[g>>2]|0)>>>0<=0)break;c[k>>2]=(c[g>>2]|0)>>>0>600?600:c[g>>2]|0;Xs(c[j>>2]|0,c[k>>2]|0,c[h>>2]|0);c[g>>2]=(c[g>>2]|0)-(c[k>>2]|0);c[j>>2]=(c[j>>2]|0)+(c[k>>2]|0)}Os();i=e;return}function Xs(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+64|0;g=f;h=f+48|0;j=f+44|0;k=f+40|0;l=f+36|0;m=f+32|0;n=f+28|0;o=f+24|0;p=f+20|0;q=f+16|0;r=f+12|0;s=f+8|0;t=f+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[17724]|0))xf(50565,50580,934,50797);while(1){c[o>>2]=Dw()|0;if((c[3250]|0)==-1)c[3250]=c[o>>2];if((c[3250]|0)!=(c[o>>2]|0)){c[3250]=c[o>>2];c[p>>2]=c[3250];Ls(p,4,0);c[17745]=0}if(!(c[17724]|0)){u=8;break}if((c[j>>2]|0)>>>0>600){u=10;break}if((c[17742]|0)==0?Ys()|0:0)c[17742]=1;if(!((c[k>>2]|0)!=2|(c[17750]|0)!=0)){c[17751]=0;c[q>>2]=(c[j>>2]|0)-(c[17751]|0);if((c[q>>2]|0)>>>0>=16){if((c[q>>2]|0)>>>0>600){u=18;break}}else c[q>>2]=16;_s(4,c[q>>2]|0,2);c[17751]=(c[17751]|0)+(c[q>>2]|0);c[17750]=1}if((c[k>>2]|0)==2?(c[17751]|0)>>>0<(c[j>>2]|0)>>>0:0){if((c[17751]|0)<0)c[17751]=0;c[r>>2]=(c[j>>2]|0)-(c[17751]|0);if((c[r>>2]|0)>>>0>600){u=25;break}_s(4,c[r>>2]|0,2);c[17751]=(c[17751]|0)+(c[r>>2]|0)}while(1){if(!((c[17742]|0)!=0^1))break;$s()}at();c[s>>2]=c[3250];Ls(s,4,0);if(!(c[17745]|0)){Ms(c[17725]|0);c[17731]=(c[17731]|0)+1}c[l>>2]=0;c[n>>2]=c[17727];c[m>>2]=c[17725];while(1){if((c[l>>2]|0)>=150)break;c[c[n>>2]>>2]=(c[c[m>>2]>>2]|0)+-1515870811;c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+4;c[m>>2]=(c[m>>2]|0)+4}Ms(c[17725]|0);c[17731]=(c[17731]|0)+1;Ms(c[17727]|0);c[17732]=(c[17732]|0)+1;while(1){e=c[j>>2]|0;c[j>>2]=e+-1;if(!e)break;e=c[17752]|0;c[17752]=e+1;d=a[(c[17727]|0)+e>>0]|0;e=c[h>>2]|0;c[h>>2]=e+1;a[e>>0]=d;if((c[17752]|0)>>>0>=600)c[17752]=0;c[17751]=(c[17751]|0)+-1}if((c[17751]|0)<0)c[17751]=0;Fx(c[17727]|0,0,600)|0;d=Dw()|0;if((d|0)==(c[o>>2]|0)){u=43;break}c[t>>2]=Dw()|0;Ls(t,4,0);c[17745]=0;c[3250]=c[t>>2]}if((u|0)==8)xf(50565,50580,953,50797);else if((u|0)==10)Cf(50807,g);else if((u|0)==18)wf(50580,979,50797);else if((u|0)==25)wf(50580,995,50797);else if((u|0)==43){i=f;return}}function Ys(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a=i;i=i+768|0;b=a+48|0;d=a+40|0;e=a+32|0;f=a+24|0;g=a+16|0;h=a+8|0;j=a+152|0;k=a+148|0;l=a+72|0;m=a+160|0;n=a+68|0;o=a+64|0;p=a+60|0;q=a+56|0;if(!(c[17724]|0))xf(50565,50580,743,50839);if(!(c[17748]|0)){c[j>>2]=0;r=c[j>>2]|0;i=a;return r|0}c[k>>2]=Mw(c[17748]|0,0,a)|0;if((c[k>>2]|0)==-1?(c[(Yu()|0)>>2]|0)==2:0){c[17749]=1;c[j>>2]=0;r=c[j>>2]|0;i=a;return r|0}if((c[k>>2]|0)==-1){s=pf(50854)|0;t=c[17748]|0;u=ov(c[(Yu()|0)>>2]|0)|0;c[h>>2]=t;c[h+4>>2]=u;yf(s,h);c[j>>2]=0;r=c[j>>2]|0;i=a;return r|0}h=(Zs(c[k>>2]|0,c[17748]|0,0)|0)!=0;s=c[k>>2]|0;if(h){lw(s)|0;c[j>>2]=0;r=c[j>>2]|0;i=a;return r|0}if(Iw(s,l)|0){s=pf(50925)|0;h=c[17748]|0;u=ov(c[(Yu()|0)>>2]|0)|0;c[g>>2]=h;c[g+4>>2]=u;yf(s,g);lw(c[k>>2]|0)|0;c[j>>2]=0;r=c[j>>2]|0;i=a;return r|0}if((c[l+12>>2]&61440|0)!=32768){g=pf(50946)|0;c[f>>2]=c[17748];yf(g,f);lw(c[k>>2]|0)|0;c[j>>2]=0;r=c[j>>2]|0;i=a;return r|0}if(!(c[l+36>>2]|0)){yf(pf(50984)|0,e);lw(c[k>>2]|0)|0;c[17749]=1;c[j>>2]=0;r=c[j>>2]|0;i=a;return r|0}if((c[l+36>>2]|0)!=600){yf(pf(51017)|0,d);lw(c[k>>2]|0)|0;c[j>>2]=0;r=c[j>>2]|0;i=a;return r|0}do{c[n>>2]=Lw(c[k>>2]|0,m,600)|0;if((c[n>>2]|0)!=-1)break}while((c[(Yu()|0)>>2]|0)==4);if((c[n>>2]|0)!=600){n=pf(51071)|0;d=c[17748]|0;l=ov(c[(Yu()|0)>>2]|0)|0;c[b>>2]=d;c[b+4>>2]=l;Bf(n,b)}lw(c[k>>2]|0)|0;Ls(m,600,0);c[o>>2]=Dw()|0;Ls(o,4,0);c[p>>2]=jb(0)|0;Ls(p,4,0);c[q>>2]=Na()|0;Ls(q,4,0);_s(0,16,0);c[17749]=1;c[j>>2]=1;r=c[j>>2]|0;i=a;return r|0}function Zs(a,d,e){a=a|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;f=i;i=i+64|0;g=f+16|0;h=f+8|0;j=f;k=f+60|0;l=f+56|0;m=f+52|0;n=f+48|0;o=f+32|0;p=f+24|0;q=f+20|0;c[l>>2]=a;c[m>>2]=d;c[n>>2]=e;c[q>>2]=0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;b[o>>1]=c[n>>2]|0?1:0;b[o+2>>1]=0;while(1){n=c[l>>2]|0;c[j>>2]=o;if((kw(n,13,j)|0)!=-1){r=10;break}if((c[(Yu()|0)>>2]|0)!=11?(c[(Yu()|0)>>2]|0)!=13:0){r=5;break}if((c[q>>2]|0)>2){n=pf(50896)|0;c[g>>2]=c[m>>2];yf(n,g)}c[p>>2]=c[q>>2];c[p+4>>2]=25e4;Jw(0,0,0,0,p)|0;if((c[q>>2]|0)>=10)continue;c[q>>2]=(c[q>>2]|0)+1}if((r|0)==5){q=pf(50875)|0;p=c[m>>2]|0;m=ov(c[(Yu()|0)>>2]|0)|0;c[h>>2]=p;c[h+4>>2]=m;yf(q,h);c[k>>2]=-1;s=c[k>>2]|0;i=f;return s|0}else if((r|0)==10){c[k>>2]=0;s=c[k>>2]|0;i=f;return s|0}return 0}function _s(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+20|0;g=e+16|0;h=e+12|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[17728]|0))Bf(51092,e);if((Cb[c[17728]&7](3,c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)<0)Bf(51143,e+8|0);else{i=e;return}}function $s(){c[17733]=(c[17733]|0)+1;_s(3,120,1);return}function at(){var a=0,b=0,d=0,e=0,f=0;a=i;i=i+160|0;b=a+144|0;d=a+8|0;e=a+4|0;f=a;if(!(c[17724]|0))xf(50565,50580,1180,51181);c[17734]=(c[17734]|0)+1;if(c[17746]|0)yb[c[17746]&7](3,2);if(lb(b|0,0)|0)wf(50580,1198,51181);else{Ls(b,4,2);Ls(b+4|0,4,2);hx(0,d)|0;Ls(d,136,2);Fx(d|0,0,136)|0;c[e>>2]=jb(0)|0;Ls(e,4,2);c[f>>2]=Na()|0;Ls(f,4,2);Rt(3,2);i=a;return}}function bt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(c[17748]|0)wf(50580,673,51201);else{c[17748]=ig(c[d>>2]|0)|0;i=b;return}}function ct(){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+64|0;b=a+40|0;d=a+32|0;e=a+24|0;f=a+16|0;g=a+8|0;h=a+60|0;j=a+56|0;k=a+52|0;l=a+48|0;Gs();Is();if(!((c[17748]|0)!=0&(c[17725]|0)!=0&(c[17742]|0)!=0)){Os();i=a;return}if(!(c[17749]|0)){Os();yf(pf(51231)|0,a);i=a;return}c[l>>2]=0;c[j>>2]=c[17727];c[h>>2]=c[17725];while(1){if((c[l>>2]|0)>=150)break;c[c[j>>2]>>2]=(c[c[h>>2]>>2]|0)+-1515870811;c[l>>2]=(c[l>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+4;c[h>>2]=(c[h>>2]|0)+4}Ms(c[17725]|0);c[17731]=(c[17731]|0)+1;Ms(c[17727]|0);c[17732]=(c[17732]|0)+1;h=c[17748]|0;c[g>>2]=384;c[k>>2]=Mw(h,65,g)|0;do if((c[k>>2]|0)!=-1){g=(Zs(c[k>>2]|0,c[17748]|0,1)|0)!=0;h=c[k>>2]|0;if(g){lw(h)|0;break}if(Ww(h,0)|0){h=pf(51290)|0;g=c[17748]|0;j=ov(c[(Yu()|0)>>2]|0)|0;c[e>>2]=g;c[e+4>>2]=j;yf(h,e);lw(c[k>>2]|0)|0;break}do{c[l>>2]=Kw(c[k>>2]|0,c[17727]|0,600)|0;if((c[l>>2]|0)!=-1)break}while((c[(Yu()|0)>>2]|0)==4);if((c[l>>2]|0)!=600){h=pf(51290)|0;j=c[17748]|0;g=ov(c[(Yu()|0)>>2]|0)|0;c[d>>2]=j;c[d+4>>2]=g;yf(h,d)}if(lw(c[k>>2]|0)|0){h=pf(51312)|0;g=c[17748]|0;j=ov(c[(Yu()|0)>>2]|0)|0;c[b>>2]=g;c[b+4>>2]=j;yf(h,b)}}else{h=pf(51267)|0;j=c[17748]|0;g=ov(c[(Yu()|0)>>2]|0)|0;c[f>>2]=j;c[f+4>>2]=g;yf(h,f)}while(0);Os();i=a;return}function dt(){Gs();Is();if(!(c[17725]|0)){Os();return}at();Os();return}function et(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ft();if(!(c[d>>2]|0)){i=b;return}gt();do if(c[17755]|0){if(c[(c[17756]|0)+52>>2]|0)xf(51370,51398,767,51412);if(c[(c[17757]|0)+52>>2]|0)xf(51437,51398,768,51412);if(c[(c[17758]|0)+52>>2]|0)xf(51467,51398,769,51412);else{it(c[17756]|0);it(c[17757]|0);it(c[17758]|0);break}}else{c[17755]=fg(48)|0;c[17756]=gg(1,68)|0;ht(c[17756]|0);c[17757]=hg(1,68)|0;ht(c[17757]|0);c[17758]=hg(1,68)|0;ht(c[17758]|0)}while(0);jt();i=b;return}function ft(){if(c[17753]|0)return;c[17753]=1;c[17754]=0;return}function gt(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;c[d>>2]=lu(13004)|0;if(c[d>>2]|0){c[b>>2]=fu(c[d>>2]|0)|0;Bf(51334,b)}else{c[17754]=1;i=a;return}}function ht(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[c[e>>2]>>0]=17;a[(c[e>>2]|0)+16>>0]=42;a[(c[e>>2]|0)+33>>0]=-119;a[(c[e>>2]|0)+50>>0]=-4;i=d;return}function it(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b;f=b+4|0;c[f>>2]=a;if((((d[c[f>>2]>>0]|0|0)==17?(d[(c[f>>2]|0)+16>>0]|0|0)==42:0)?(d[(c[f>>2]|0)+33>>0]|0|0)==137:0)?(d[(c[f>>2]|0)+50>>0]|0|0)==252:0){i=b;return}c[e>>2]=c[f>>2];Bf(51500,e)}function jt(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;c[17754]=0;c[d>>2]=mu(13004)|0;if(c[d>>2]|0){c[b>>2]=fu(c[d>>2]|0)|0;Bf(51546,b)}else{i=a;return}}function kt(){gt();Tt(0,0,0,0)|0;jt();return}function lt(){return}function mt(){return 0}function nt(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;et(1);gt();d=c[f>>2]|0;f=c[g>>2]|0;if((c[h>>2]|0)==2){ot(d,f,c[17758]|0);jt();i=e;return}else{ot(d,f,c[17757]|0);jt();i=e;return}}function ot(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f;h=f+12|0;j=f+8|0;k=f+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[h>>2]|0))xf(52697,51398,685,52720);if(!(c[k>>2]|0))xf(51582,51398,686,52720);it(c[k>>2]|0);do if(!(c[(c[k>>2]|0)+4>>2]|0)){if((c[k>>2]|0)==(c[17756]|0)){e=pt(1)|0;c[(c[k>>2]|0)+4>>2]=e}else{e=pt(0)|0;c[(c[k>>2]|0)+4>>2]=e}if(c[(c[k>>2]|0)+4>>2]|0){e=Dw()|0;c[(c[k>>2]|0)+60>>2]=e;break}else Bf(52115,g)}while(0);if(!((a[(c[k>>2]|0)+8>>0]<<7&255)<<24>>24>>7<<24>>24))tt(c[k>>2]|0);e=c[(c[k>>2]|0)+60>>2]|0;if((e|0)==(Dw()|0)?(e=c[(c[k>>2]|0)+64>>2]|0,(e|0)==(Dw()|0)):0)if(vt(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)Bf(52115,g);else{it(c[k>>2]|0);i=f;return}Jh(51398,714,52720,0,51852);Bf(52115,g)}function pt(b){b=b|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;e=i;i=i+64|0;f=e+16|0;g=e+8|0;h=e+48|0;j=e+44|0;k=e+40|0;l=e+36|0;m=e+32|0;n=e+28|0;o=e+24|0;p=e+52|0;q=e;r=e+20|0;c[j>>2]=b;if(!(c[17754]|0))xf(51590,51398,596,51609);c[l>>2]=ai(k,7,1,1)|0;if(c[l>>2]|0){c[g>>2]=qt(c[l>>2]|0)|0;Af(51627,g);c[h>>2]=0;s=c[h>>2]|0;i=e;return s|0}if(c[j>>2]|0){c[m>>2]=dg(16)|0;ot(c[m>>2]|0,16,c[17757]|0)}else c[m>>2]=rt(16)|0;c[l>>2]=ni(c[k>>2]|0,c[m>>2]|0,16)|0;c[n>>2]=c[m>>2];c[o>>2]=16;a[p>>0]=0;j=q;c[j>>2]=d[p>>0];c[j+4>>2]=0;while(1){if(!(c[n>>2]&7|0?(c[o>>2]|0)!=0:0))break;a[c[n>>2]>>0]=a[p>>0]|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+-1}if((c[o>>2]|0)>>>0>=8){j=q;g=Mx(c[j>>2]|0,c[j+4>>2]|0,16843009,16843009)|0;j=q;c[j>>2]=g;c[j+4>>2]=C;do{c[r>>2]=c[n>>2];j=q;g=c[j+4>>2]|0;b=c[r>>2]|0;c[b>>2]=c[j>>2];c[b+4>>2]=g;c[o>>2]=(c[o>>2]|0)-8;c[n>>2]=(c[n>>2]|0)+8}while((c[o>>2]|0)>>>0>=8)}while(1){if(!(c[o>>2]|0))break;a[c[n>>2]>>0]=a[p>>0]|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+-1}$f(c[m>>2]|0);if(c[l>>2]|0){c[f>>2]=qt(c[l>>2]|0)|0;Af(51776,f);fi(c[k>>2]|0);c[h>>2]=0;s=c[h>>2]|0;i=e;return s|0}else{c[h>>2]=c[k>>2];s=c[h>>2]|0;i=e;return s|0}return 0}function qt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=fu(c[d>>2]|0)|0;i=b;return a|0}function rt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b;e=b+12|0;f=b+8|0;g=b+4|0;c[e>>2]=a;if(c[17759]|0)xf(51670,51398,552,51694);c[17759]=fg(c[e>>2]|0)|0;c[17760]=c[e>>2];c[17761]=0;c[g>>2]=Tt(4,0,16,2)|0;if((c[g>>2]|0)<0){h=c[17759]|0;$f(h);c[17759]=0;Bf(51748,d)}if((c[17761]|0)!=(c[17760]|0)){h=c[17759]|0;$f(h);c[17759]=0;Bf(51748,d)}else{c[f>>2]=c[17759];c[17759]=0;i=b;return c[f>>2]|0}return 0}function st(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;h=g+12|0;j=g+8|0;k=g;c[h>>2]=b;c[j>>2]=e;c[g+4>>2]=f;c[k>>2]=c[h>>2];if(!(c[17754]|0))xf(51590,51398,531,51706);if(!(c[17759]|0))xf(51725,51398,532,51706);while(1){h=c[j>>2]|0;c[j>>2]=h+-1;if(!h){l=8;break}if((c[17761]|0)>>>0>=(c[17760]|0)>>>0){l=8;break}h=c[k>>2]|0;c[k>>2]=h+1;f=d[h>>0]|0;h=c[17761]|0;c[17761]=h+1;e=(c[17759]|0)+h|0;a[e>>0]=(d[e>>0]|0)^f}if((l|0)==8){i=g;return}}function tt(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;c[e>>2]=b;if(!(c[17754]|0))xf(51590,51398,658,51808);b=(c[e>>2]|0)+17|0;if((c[e>>2]|0)==(c[17756]|0)){ot(b,16,c[17757]|0);f=(c[e>>2]|0)+8|0;a[f>>0]=a[f>>0]&-2|1;f=Dw()|0;c[(c[e>>2]|0)+64>>2]=f;i=d;return}else{ut(b,16);b=(c[e>>2]|0)+8|0;a[b>>0]=a[b>>0]&-2|1;b=Dw()|0;c[(c[e>>2]|0)+64>>2]=b;i=d;return}}function ut(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+48|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+32|0;n=f;o=f+8|0;c[g>>2]=b;c[h>>2]=e;if(!(c[17754]|0))xf(51590,51398,642,51820);if((c[h>>2]|0)!=16)xf(51839,51398,643,51820);c[j>>2]=rt(16)|0;h=c[g>>2]|0;g=c[j>>2]|0;e=h+16|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(e|0));c[k>>2]=c[j>>2];c[l>>2]=16;a[m>>0]=0;g=n;c[g>>2]=d[m>>0];c[g+4>>2]=0;while(1){if(!(c[k>>2]&7|0?(c[l>>2]|0)!=0:0))break;a[c[k>>2]>>0]=a[m>>0]|0;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+-1}if((c[l>>2]|0)>>>0>=8){g=n;h=Mx(c[g>>2]|0,c[g+4>>2]|0,16843009,16843009)|0;g=n;c[g>>2]=h;c[g+4>>2]=C;do{c[o>>2]=c[k>>2];g=n;h=c[g+4>>2]|0;e=c[o>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=h;c[l>>2]=(c[l>>2]|0)-8;c[k>>2]=(c[k>>2]|0)+8}while((c[l>>2]|0)>>>0>=8)}while(1){if(!(c[l>>2]|0))break;a[c[k>>2]>>0]=a[m>>0]|0;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+-1}$f(c[j>>2]|0);i=f;return}function vt(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;g=i;i=i+80|0;h=g+48|0;j=g+44|0;k=g+40|0;l=g+36|0;m=g+56|0;n=g+32|0;o=g+28|0;p=g+24|0;q=g+20|0;r=g+16|0;s=g+12|0;t=g+52|0;u=g;v=g+8|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;if(!(c[17754]|0))xf(51590,51398,444,51906);if(!(c[(c[l>>2]|0)+4>>2]|0))xf(51922,51398,445,51906);if(!((a[(c[l>>2]|0)+8>>0]<<7&255)<<24>>24>>7<<24>>24))xf(51941,51398,446,51906);if(!(c[17755]|0))xf(51960,51398,448,51906);c[n>>2]=c[17755];c[o>>2]=(c[17755]|0)+16;c[p>>2]=(c[17755]|0)+32;while(1){if(!(c[k>>2]|0)){w=33;break}if((c[(c[l>>2]|0)+52>>2]|0)==0?(c[(c[l>>2]|0)+12>>2]|0)>>>0>1e3:0){tt(c[l>>2]|0);c[(c[l>>2]|0)+12>>2]=0}c[q>>2]=(c[k>>2]|0)>>>0<16?c[k>>2]|0:16;wt(m,16,c[l>>2]|0);xt(c[p>>2]|0,m,(c[l>>2]|0)+17|0,c[(c[l>>2]|0)+4>>2]|0,c[n>>2]|0,c[o>>2]|0);f=(c[l>>2]|0)+12|0;c[f>>2]=(c[f>>2]|0)+1;if(!((((d[(c[l>>2]|0)+51>>0]|0|0?c[(c[l>>2]|0)+52>>2]|0:0)?(c[l>>2]|0)!=(c[17756]|0):0)?(c[l>>2]|0)!=(c[17757]|0):0)?(c[l>>2]|0)!=(c[17758]|0):0)){f=(c[l>>2]|0)+34|0;e=c[p>>2]|0;if(!((a[(c[l>>2]|0)+8>>0]<<6&255)<<24>>24>>7<<24>>24)){x=f;y=e;z=x+16|0;do{a[x>>0]=a[y>>0]|0;x=x+1|0;y=y+1|0}while((x|0)<(z|0));b=(c[l>>2]|0)+8|0;a[b>>0]=a[b>>0]&-3|2;continue}if(!(mw(f,e,16)|0)){w=22;break}x=(c[l>>2]|0)+34|0;y=c[p>>2]|0;z=x+16|0;do{a[x>>0]=a[y>>0]|0;x=x+1|0;y=y+1|0}while((x|0)<(z|0))}Dx(c[j>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;c[r>>2]=c[p>>2];c[s>>2]=16;a[t>>0]=0;e=u;c[e>>2]=d[t>>0];c[e+4>>2]=0;while(1){if(!(c[r>>2]&7|0?(c[s>>2]|0)!=0:0))break;a[c[r>>2]>>0]=a[t>>0]|0;c[r>>2]=(c[r>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+-1}if((c[s>>2]|0)>>>0>=8){e=u;f=Mx(c[e>>2]|0,c[e+4>>2]|0,16843009,16843009)|0;e=u;c[e>>2]=f;c[e+4>>2]=C;do{c[v>>2]=c[r>>2];e=u;f=c[e+4>>2]|0;b=c[v>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=f;c[s>>2]=(c[s>>2]|0)-8;c[r>>2]=(c[r>>2]|0)+8}while((c[s>>2]|0)>>>0>=8)}while(1){if(!(c[s>>2]|0))break;a[c[r>>2]>>0]=a[t>>0]|0;c[r>>2]=(c[r>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+-1}c[j>>2]=(c[j>>2]|0)+(c[q>>2]|0);c[k>>2]=(c[k>>2]|0)-(c[q>>2]|0)}if((w|0)==22){Jh(51398,502,51906,0,52075);c[h>>2]=-1;A=c[h>>2]|0;i=g;return A|0}else if((w|0)==33){c[h>>2]=0;A=c[h>>2]|0;i=g;return A|0}return 0}function wt(d,f,g){d=d|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;k=h+28|0;l=h+24|0;m=h+20|0;n=h+16|0;o=h+8|0;c[k>>2]=d;c[l>>2]=f;c[m>>2]=g;if((c[l>>2]|0)!=16)xf(51839,51398,273,51990);if(!(c[17754]|0))xf(51590,51398,274,51990);if(((c[(c[m>>2]|0)+52>>2]|0?(c[m>>2]|0)!=(c[17756]|0):0)?(c[m>>2]|0)!=(c[17757]|0):0)?(c[m>>2]|0)!=(c[17758]|0):0){l=c[k>>2]|0;g=c[(c[m>>2]|0)+52>>2]|0;f=l+16|0;do{a[l>>0]=a[g>>0]|0;l=l+1|0;g=g+1|0}while((l|0)<(f|0));a[(c[k>>2]|0)+12>>0]=(c[(c[m>>2]|0)+56>>2]|0)>>>24;a[(c[k>>2]|0)+13>>0]=(c[(c[m>>2]|0)+56>>2]|0)>>>16;a[(c[k>>2]|0)+14>>0]=(c[(c[m>>2]|0)+56>>2]|0)>>>8;a[(c[k>>2]|0)+15>>0]=c[(c[m>>2]|0)+56>>2];g=(c[m>>2]|0)+56|0;c[g>>2]=(c[g>>2]|0)+1;i=h;return}if(!(c[17762]|0)){c[17763]=Dw()|0;c[17764]=Xw()|0}if(lb(o|0,0)|0){c[j>>2]=ov(c[(Yu()|0)>>2]|0)|0;Bf(52002,j)}c[n>>2]=c[o+4>>2];c[n>>2]=c[n>>2]<<4;if((c[o>>2]|0)==(c[17762]|0)?(c[n>>2]|0)==(c[17765]|0):0){b[35830]=(b[35830]|0)+1<<16>>16;b[35830]=(e[35830]|0)&4095}else{b[35830]=0;c[17762]=c[o>>2];c[17765]=c[n>>2]}a[c[k>>2]>>0]=c[o>>2]>>24;a[(c[k>>2]|0)+1>>0]=c[o>>2]>>16;a[(c[k>>2]|0)+2>>0]=c[o>>2]>>8;a[(c[k>>2]|0)+3>>0]=c[o>>2];a[(c[k>>2]|0)+4>>0]=(c[n>>2]|0)>>>16;a[(c[k>>2]|0)+5>>0]=(c[n>>2]|0)>>>8;a[(c[k>>2]|0)+6>>0]=c[n>>2]&240|(e[35830]|0)>>8&15;a[(c[k>>2]|0)+7>>0]=e[35830]|0;a[(c[k>>2]|0)+8>>0]=(c[17763]|0)>>>24;a[(c[k>>2]|0)+9>>0]=(c[17763]|0)>>>16;a[(c[k>>2]|0)+10>>0]=(c[17763]|0)>>>8;a[(c[k>>2]|0)+11>>0]=c[17763];a[(c[k>>2]|0)+12>>0]=(c[17764]|0)>>>24;a[(c[k>>2]|0)+13>>0]=(c[17764]|0)>>>16;a[(c[k>>2]|0)+14>>0]=(c[17764]|0)>>>8;a[(c[k>>2]|0)+15>>0]=c[17764];k=(c[17764]|0)+1|0;c[17764]=k;if(k|0){i=h;return}c[17763]=(c[17763]|0)+1;i=h;return}function xt(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;k=i;i=i+80|0;l=k+60|0;m=k+56|0;n=k+52|0;o=k+48|0;p=k+44|0;q=k+40|0;r=k+36|0;s=k+32|0;t=k+65|0;u=k+8|0;v=k+28|0;w=k+24|0;x=k+20|0;y=k+64|0;z=k;A=k+16|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;yt(c[o>>2]|0,c[p>>2]|0,c[m>>2]|0,16);zt(c[q>>2]|0,c[p>>2]|0,c[n>>2]|0,16);yt(c[o>>2]|0,c[l>>2]|0,c[q>>2]|0,16);zt(c[q>>2]|0,c[l>>2]|0,c[p>>2]|0,16);yt(c[o>>2]|0,c[n>>2]|0,c[q>>2]|0,16);c[r>>2]=c[p>>2];c[s>>2]=16;a[t>>0]=0;p=u;c[p>>2]=d[t>>0];c[p+4>>2]=0;while(1){if(!(c[r>>2]&7|0?(c[s>>2]|0)!=0:0))break;a[c[r>>2]>>0]=a[t>>0]|0;c[r>>2]=(c[r>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+-1}if((c[s>>2]|0)>>>0>=8){p=u;n=Mx(c[p>>2]|0,c[p+4>>2]|0,16843009,16843009)|0;p=u;c[p>>2]=n;c[p+4>>2]=C;do{c[v>>2]=c[r>>2];p=u;n=c[p+4>>2]|0;o=c[v>>2]|0;c[o>>2]=c[p>>2];c[o+4>>2]=n;c[s>>2]=(c[s>>2]|0)-8;c[r>>2]=(c[r>>2]|0)+8}while((c[s>>2]|0)>>>0>=8)}while(1){if(!(c[s>>2]|0))break;a[c[r>>2]>>0]=a[t>>0]|0;c[r>>2]=(c[r>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+-1}c[w>>2]=c[q>>2];c[x>>2]=16;a[y>>0]=0;q=z;c[q>>2]=d[y>>0];c[q+4>>2]=0;while(1){if(!(c[w>>2]&7|0?(c[x>>2]|0)!=0:0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}if((c[x>>2]|0)>>>0>=8){q=z;s=Mx(c[q>>2]|0,c[q+4>>2]|0,16843009,16843009)|0;q=z;c[q>>2]=s;c[q+4>>2]=C;do{c[A>>2]=c[w>>2];q=z;s=c[q+4>>2]|0;r=c[A>>2]|0;c[r>>2]=c[q>>2];c[r+4>>2]=s;c[x>>2]=(c[x>>2]|0)-8;c[w>>2]=(c[w>>2]|0)+8}while((c[x>>2]|0)>>>0>=8)}while(1){if(!(c[x>>2]|0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}i=k;return}function yt(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;h=f+20|0;j=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if((c[l>>2]|0)!=16)xf(51839,51398,386,52029);c[m>>2]=gi(c[h>>2]|0,c[j>>2]|0,c[l>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if(c[m>>2]|0){c[g>>2]=qt(c[m>>2]|0)|0;Bf(52041,g)}else{i=f;return}}function zt(b,e,f,g){b=b|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[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;while(1){if(!(c[m>>2]|0))break;a[c[j>>2]>>0]=(d[c[k>>2]>>0]|0)^(d[c[l>>2]>>0]|0);c[m>>2]=(c[m>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}i=h;return}function At(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;et(1);gt();ot(c[e>>2]|0,c[f>>2]|0,c[17756]|0);jt();i=d;return}function Bt(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;Pn(b+8|0,8,1);c[e>>2]=Ct(c[d>>2]|0)|0;d=Dt(c[e>>2]|0)|0;i=b;return d|0}function Ct(b){b=b|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;e=i;i=i+48|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;m=e+24|0;c[f>>2]=b;c[l>>2]=0;if(!(c[17755]|0))xf(51960,51398,912,52144);c[j>>2]=gg(1,68)|0;ht(c[j>>2]|0);gt();c[g>>2]=0;a:while(1){if((c[g>>2]|0)>>>0>=3)break;c[k>>2]=ai((c[j>>2]|0)+4|0,7,1,1)|0;if(c[k>>2]|0){n=6;break}c[k>>2]=ni(c[(c[j>>2]|0)+4>>2]|0,52195+((c[g>>2]|0)*96|0)|0,16)|0;if(c[k>>2]|0){n=8;break}b=Dw()|0;c[(c[j>>2]|0)+60>>2]=b;b=(c[j>>2]|0)+17|0;o=52195+((c[g>>2]|0)*96|0)+32|0;p=b+16|0;do{a[b>>0]=a[o>>0]|0;b=b+1|0;o=o+1|0}while((b|0)<(p|0));o=(c[j>>2]|0)+8|0;a[o>>0]=a[o>>0]&-2|1;o=Dw()|0;c[(c[j>>2]|0)+64>>2]=o;c[(c[j>>2]|0)+52>>2]=52195+((c[g>>2]|0)*96|0)+16;c[(c[j>>2]|0)+56>>2]=(d[52195+((c[g>>2]|0)*96|0)+16+12>>0]|0)<<24|(d[52195+((c[g>>2]|0)*96|0)+16+13>>0]|0)<<16|(d[52195+((c[g>>2]|0)*96|0)+16+14>>0]|0)<<8|(d[52195+((c[g>>2]|0)*96|0)+16+15>>0]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=3)break;if(vt(m,16,c[j>>2]|0)|0){n=12;break a}if(mw(m,52195+((c[g>>2]|0)*96|0)+48+(c[h>>2]<<4)|0,16)|0){n=14;break a}c[h>>2]=(c[h>>2]|0)+1}o=c[(c[j>>2]|0)+60>>2]|0;if((o|0)!=(Dw()|0)){n=18;break}o=c[(c[j>>2]|0)+64>>2]|0;if((o|0)!=(Dw()|0)){n=18;break}fi(c[(c[j>>2]|0)+4>>2]|0);c[(c[j>>2]|0)+4>>2]=0;o=(c[j>>2]|0)+8|0;a[o>>0]=a[o>>0]&-2;it(c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+1}if((n|0)==6)c[l>>2]=52157;else if((n|0)==8)c[l>>2]=52483;else if((n|0)==12)c[l>>2]=52509;else if((n|0)==14)c[l>>2]=52540;else if((n|0)==18)c[l>>2]=52578;jt();fi(c[(c[j>>2]|0)+4>>2]|0);it(c[j>>2]|0);$f(c[j>>2]|0);if(!((c[f>>2]|0)!=0&(c[l>>2]|0)!=0)){q=c[l>>2]|0;r=(q|0)!=0;s=r?50:0;i=e;return s|0}Fb[c[f>>2]&1](52600,0,52607,c[l>>2]|0);q=c[l>>2]|0;r=(q|0)!=0;s=r?50:0;i=e;return s|0}function Dt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Et(1,c[d>>2]|0)|0;i=b;return a|0}function Et(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+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function Ft(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|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;m=i;i=i+48|0;n=m+40|0;o=m+36|0;p=m+32|0;q=m+28|0;r=m+24|0;s=m+20|0;t=m+16|0;u=m+12|0;v=m+8|0;w=m+4|0;x=m;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;c[v>>2]=l;et(1);if((((((c[o>>2]|0)!=0&(c[q>>2]|0)!=0^1|(c[r>>2]|0)!=16)^1)&(c[s>>2]|0)!=0^1|(c[t>>2]|0)!=16)^1)&(c[u>>2]|0)!=0^1|(c[v>>2]|0)!=16){c[n>>2]=45;y=c[n>>2]|0;i=m;return y|0}c[x>>2]=ag(1,68+(c[v>>2]|0)|0)|0;if(!(c[x>>2]|0)){c[n>>2]=iu()|0;y=c[n>>2]|0;i=m;return y|0}ht(c[x>>2]|0);c[w>>2]=ai((c[x>>2]|0)+4|0,7,1,1)|0;if((c[w>>2]|0)==0?(c[w>>2]=ni(c[(c[x>>2]|0)+4>>2]|0,c[q>>2]|0,c[r>>2]|0)|0,(c[w>>2]|0)==0):0){r=Dw()|0;c[(c[x>>2]|0)+60>>2]=r;Dx((c[x>>2]|0)+17|0,c[s>>2]|0,c[t>>2]|0)|0;t=(c[x>>2]|0)+8|0;a[t>>0]=a[t>>0]&-2|1;t=Dw()|0;c[(c[x>>2]|0)+64>>2]=t;Dx((c[x>>2]|0)+68|0,c[u>>2]|0,c[v>>2]|0)|0;c[(c[x>>2]|0)+52>>2]=(c[x>>2]|0)+68;c[(c[x>>2]|0)+56>>2]=(d[(c[(c[x>>2]|0)+52>>2]|0)+12>>0]|0)<<24|(d[(c[(c[x>>2]|0)+52>>2]|0)+13>>0]|0)<<16|(d[(c[(c[x>>2]|0)+52>>2]|0)+14>>0]|0)<<8|(d[(c[(c[x>>2]|0)+52>>2]|0)+15>>0]|0);if(c[p>>2]&1|0)a[(c[x>>2]|0)+51>>0]=1;it(c[x>>2]|0);c[w>>2]=0}p=c[x>>2]|0;if(c[w>>2]|0){fi(c[p+4>>2]|0);$f(c[x>>2]|0);c[c[o>>2]>>2]=0}else c[c[o>>2]>>2]=p;c[n>>2]=c[w>>2];y=c[n>>2]|0;i=m;return y|0}function Gt(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+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=c[g>>2];if((c[k>>2]|0)!=0&(c[h>>2]|0)!=0^1|(c[j>>2]|0)!=16){c[f>>2]=45;l=c[f>>2]|0;i=e;return l|0}else{gt();ot(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);jt();c[f>>2]=0;l=c[f>>2]|0;i=e;return l|0}return 0}function Ht(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];if(!(c[e>>2]|0)){i=b;return}fi(c[(c[e>>2]|0)+4>>2]|0);$f(c[e>>2]|0);i=b;return}function It(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;Jt();i=b;return}function Jt(){if(c[17766]|0)return;c[17766]=1;c[17767]=0;return}function Kt(){Lt();Tt(0,0,0,0)|0;Mt();return}function Lt(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;c[d>>2]=lu(13048)|0;if(c[d>>2]|0){c[b>>2]=fu(c[d>>2]|0)|0;Bf(52611,b)}else{c[17767]=1;i=a;return}}function Mt(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;c[17767]=0;c[d>>2]=mu(13048)|0;if(c[d>>2]|0){c[b>>2]=fu(c[d>>2]|0)|0;Bf(52654,b)}else{i=a;return}}function Nt(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;It(1);if((c[h>>2]|0)!=2)c[h>>2]=1;Lt();Ot(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);Mt();i=e;return}function Ot(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+32|0;f=e;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(!(c[g>>2]|0))xf(52697,52704,144,52720);c[17768]=c[g>>2];c[17769]=c[h>>2];c[17770]=0;c[k>>2]=Tt(5,0,c[h>>2]|0,c[j>>2]|0)|0;if((c[k>>2]|0)<0){l=c[k>>2]|0;c[f>>2]=l;Bf(52775,f)}if((c[17770]|0)!=(c[17769]|0)){l=c[k>>2]|0;c[f>>2]=l;Bf(52775,f)}else{i=e;return}}function Pt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f;c[g>>2]=b;c[h>>2]=d;c[f+4>>2]=e;c[j>>2]=c[g>>2];if(!(c[17767]|0))xf(52731,52704,124,52752);if(!(c[17768]|0))xf(52760,52704,125,52752);while(1){g=c[h>>2]|0;c[h>>2]=g+-1;if(!g){k=8;break}if((c[17770]|0)>>>0>=(c[17769]|0)>>>0){k=8;break}g=c[j>>2]|0;c[j>>2]=g+1;e=a[g>>0]|0;g=c[17770]|0;c[17770]=g+1;a[(c[17768]|0)+g>>0]=e}if((k|0)==8){i=f;return}}function Qt(){return c[17771]|0}function Rt(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function St(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[d+8>>2]=a;c[d+4>>2]=b;c[e>>2]=0;i=d;return c[e>>2]|0}function Tt(b,e,f,g){b=b|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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;h=i;i=i+1024|0;j=h+24|0;k=h+16|0;l=h+8|0;m=h+236|0;n=h+232|0;o=h+228|0;p=h+224|0;q=h+220|0;r=h+216|0;s=h+212|0;t=h+248|0;u=h+208|0;v=h+204|0;w=h+200|0;x=h+196|0;y=h+192|0;z=h+64|0;A=h+56|0;B=h+52|0;D=h+48|0;E=h+44|0;F=h+40|0;G=h+36|0;H=h+32|0;I=h+240|0;J=h;K=h+28|0;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[v>>2]=c[p>>2];c[w>>2]=0;c[x>>2]=0;if(!(c[n>>2]|0)){if((c[3273]|0)!=-1){lw(c[3273]|0)|0;c[3273]=-1}if((c[3274]|0)!=-1){lw(c[3274]|0)|0;c[3274]=-1}c[m>>2]=0;L=c[m>>2]|0;i=h;return L|0}c[u>>2]=St(c[n>>2]|0,c[o>>2]|0)|0;if((c[u>>2]|0)>>>0>(((c[p>>2]|0)>>>0)/2|0)>>>0)c[u>>2]=((c[p>>2]|0)>>>0)/2|0;if((c[p>>2]|0)>>>0>1)c[p>>2]=(c[p>>2]|0)-(c[u>>2]|0);if((c[q>>2]|0)>=2){if((c[3273]|0)==-1){c[3273]=Ut(52821,(d[76526]|0)&1)|0;a[76526]=d[76526]|0|1}c[r>>2]=c[3273]}else{if((c[3274]|0)==-1){c[3274]=Ut(52923,(d[76526]|0)&2)|0;a[76526]=d[76526]|0|2}c[r>>2]=c[3274]}c[y>>2]=0;while(1){if(!(c[p>>2]|0))break;if(!(!(c[x>>2]|0)?(c[w>>2]|0)==((c[v>>2]|0)-(c[p>>2]|0)|0):0)){c[w>>2]=(c[v>>2]|0)-(c[p>>2]|0);Bn(52936,88,c[w>>2]|0,c[v>>2]|0);c[x>>2]=1}if((c[r>>2]|0)<1024){c[E>>2]=z;c[D>>2]=32;while(1){if(!(c[D>>2]|0))break;q=c[E>>2]|0;c[E>>2]=q+4;c[q>>2]=0;c[D>>2]=(c[D>>2]|0)+-1}q=z+((((c[r>>2]|0)>>>0)/32|0)<<2)|0;c[q>>2]=c[q>>2]|1<<(((c[r>>2]|0)>>>0)%32|0);c[A>>2]=c[y>>2];c[A+4>>2]=c[y>>2]|0?0:1e5;q=Jw((c[r>>2]|0)+1|0,z,0,0,A)|0;c[B>>2]=q;if(!q){c[x>>2]=1;c[y>>2]=3;continue}if((c[B>>2]|0)==-1){c[l>>2]=ov(c[(Yu()|0)>>2]|0)|0;Af(52949,l);if(c[y>>2]|0)continue;c[y>>2]=1;continue}}do{c[F>>2]=(c[p>>2]|0)>>>0<768?c[p>>2]|0:768;c[s>>2]=Lw(c[r>>2]|0,t,c[F>>2]|0)|0;if((c[s>>2]|0)>=0?(c[s>>2]|0)>>>0>(c[F>>2]|0)>>>0:0){c[k>>2]=c[s>>2];Af(52969,k);c[s>>2]=c[F>>2]}if((c[s>>2]|0)!=-1)break}while((c[(Yu()|0)>>2]|0)==4);if((c[s>>2]|0)==-1){M=38;break}Ab[c[n>>2]&7](t,c[s>>2]|0,c[o>>2]|0);c[p>>2]=(c[p>>2]|0)-(c[s>>2]|0)}if((M|0)==38){c[j>>2]=ov(c[(Yu()|0)>>2]|0)|0;Bf(53007,j)}c[G>>2]=t;c[H>>2]=768;a[I>>0]=0;t=J;c[t>>2]=d[I>>0];c[t+4>>2]=0;while(1){if(!(c[G>>2]&7|0?(c[H>>2]|0)!=0:0))break;a[c[G>>2]>>0]=a[I>>0]|0;c[G>>2]=(c[G>>2]|0)+1;c[H>>2]=(c[H>>2]|0)+-1}if((c[H>>2]|0)>>>0>=8){t=J;j=Mx(c[t>>2]|0,c[t+4>>2]|0,16843009,16843009)|0;t=J;c[t>>2]=j;c[t+4>>2]=C;do{c[K>>2]=c[G>>2];t=J;j=c[t+4>>2]|0;M=c[K>>2]|0;c[M>>2]=c[t>>2];c[M+4>>2]=j;c[H>>2]=(c[H>>2]|0)-8;c[G>>2]=(c[G>>2]|0)+8}while((c[H>>2]|0)>>>0>=8)}while(1){if(!(c[H>>2]|0))break;a[c[G>>2]>>0]=a[I>>0]|0;c[G>>2]=(c[G>>2]|0)+1;c[H>>2]=(c[H>>2]|0)+-1}if(c[x>>2]|0)Bn(52936,88,c[v>>2]|0,c[v>>2]|0);c[m>>2]=0;L=c[m>>2]|0;i=h;return L|0}function Ut(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+48|0;e=d+16|0;f=d+8|0;g=d;h=d+40|0;j=d+36|0;k=d+32|0;l=d+24|0;c[h>>2]=a;c[j>>2]=b;if(c[j>>2]|0)Bn(52833,88,1,0);while(1){c[k>>2]=Mw(c[h>>2]|0,0,g)|0;if(!((c[k>>2]|0)==-1&(c[j>>2]|0)!=0))break;c[l>>2]=5;c[l+4>>2]=0;Bn(52849,88,0,c[l>>2]|0);Jw(0,0,0,0,l)|0}if((c[k>>2]|0)==-1){l=c[h>>2]|0;h=ov(c[(Yu()|0)>>2]|0)|0;c[f>>2]=l;c[f+4>>2]=h;Bf(52865,f)}if(!(Vt(c[k>>2]|0)|0)){m=c[k>>2]|0;i=d;return m|0}f=c[k>>2]|0;h=ov(c[(Yu()|0)>>2]|0)|0;c[e>>2]=f;c[e+4>>2]=h;Af(52884,e);m=c[k>>2]|0;i=d;return m|0}function Vt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+32|0;d=b+8|0;e=b;f=b+20|0;g=b+16|0;h=b+12|0;c[g>>2]=a;a=c[g>>2]|0;c[e>>2]=0;c[h>>2]=kw(a,1,e)|0;e=c[h>>2]|0;if((c[h>>2]|0)<0){c[f>>2]=e;j=c[f>>2]|0;i=b;return j|0}else{c[h>>2]=e|1;e=c[g>>2]|0;c[d>>2]=c[h>>2];c[f>>2]=kw(e,2,d)|0;j=c[f>>2]|0;i=b;return j|0}return 0}function Wt(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+80|0;g=f+72|0;h=f+68|0;j=f+64|0;k=f+60|0;l=f+56|0;m=f+52|0;n=f+48|0;o=f+44|0;p=f+40|0;q=f+36|0;r=f+32|0;s=f+28|0;t=f+24|0;u=f+20|0;v=f+16|0;w=f+12|0;x=f+8|0;y=f+4|0;z=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=0-(c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+(0-(c[m>>2]|0)<<2);c[h>>2]=(c[h>>2]|0)+(0-(c[m>>2]|0)<<2);c[l>>2]=0;do{c[y>>2]=c[(c[h>>2]|0)+(c[m>>2]<<2)>>2];c[z>>2]=c[k>>2];c[u>>2]=c[y>>2]&65535;c[w>>2]=(c[y>>2]|0)>>>16;c[v>>2]=c[z>>2]&65535;c[x>>2]=(c[z>>2]|0)>>>16;c[q>>2]=_(c[u>>2]|0,c[v>>2]|0)|0;c[r>>2]=_(c[u>>2]|0,c[x>>2]|0)|0;c[s>>2]=_(c[w>>2]|0,c[v>>2]|0)|0;c[t>>2]=_(c[w>>2]|0,c[x>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+((c[q>>2]|0)>>>16);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);if((c[r>>2]|0)>>>0<(c[s>>2]|0)>>>0)c[t>>2]=(c[t>>2]|0)+65536;c[n>>2]=(c[t>>2]|0)+((c[r>>2]|0)>>>16);c[o>>2]=((c[r>>2]&65535)<<16)+(c[q>>2]&65535);c[o>>2]=(c[o>>2]|0)+(c[l>>2]|0);c[l>>2]=((c[o>>2]|0)>>>0<(c[l>>2]|0)>>>0?1:0)+(c[n>>2]|0);c[p>>2]=c[(c[g>>2]|0)+(c[m>>2]<<2)>>2];c[o>>2]=(c[p>>2]|0)+(c[o>>2]|0);c[l>>2]=(c[l>>2]|0)+((c[o>>2]|0)>>>0<(c[p>>2]|0)>>>0?1:0);c[(c[g>>2]|0)+(c[m>>2]<<2)>>2]=c[o>>2];j=(c[m>>2]|0)+1|0;c[m>>2]=j}while((j|0)!=0);i=f;return c[l>>2]|0}function Xt(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+16|0;g=e+8|0;h=e;j=e+44|0;k=e+40|0;l=e+36|0;m=e+32|0;n=e+28|0;o=e+24|0;p=e+20|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=bq(c[(c[j>>2]|0)+4>>2]|0)|0;c[m>>2]=Ro(c[j>>2]|0)|0;c[n>>2]=(((c[m>>2]|0)+7|0)>>>0)/8|0;c[o>>2]=0;if(jg(1)|0){d=c[k>>2]|0;c[h>>2]=c[m>>2];c[h+4>>2]=d;Df(53040,h)}while(1){if((c[o>>2]|0)==0|(c[m>>2]|0)>>>0<32){$f(c[o>>2]|0);c[o>>2]=On(c[n>>2]|0,c[k>>2]|0)|0}else{c[p>>2]=On(4,c[k>>2]|0)|0;h=c[o>>2]|0;d=c[p>>2]|0;a[h>>0]=a[d>>0]|0;a[h+1>>0]=a[d+1>>0]|0;a[h+2>>0]=a[d+2>>0]|0;a[h+3>>0]=a[d+3>>0]|0;$f(c[p>>2]|0)}Cp(c[l>>2]|0,c[o>>2]|0,c[n>>2]|0,0);d=(So(c[l>>2]|0,(c[m>>2]|0)-1|0)|0)!=0;Uo(c[l>>2]|0,(c[m>>2]|0)-1|0);if(!d)Wo(c[l>>2]|0,(c[m>>2]|0)-1|0);if((ap(c[l>>2]|0,c[j>>2]|0)|0)>=0){if(!(jg(1)|0))continue;Df(53087,g);continue}if(($o(c[l>>2]|0,0)|0)>0)break;if(!(jg(1)|0))continue;Df(53109,f)}$f(c[o>>2]|0);i=e;return c[l>>2]|0}function Yt(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;k=i;i=i+80|0;l=k+72|0;m=k+68|0;n=k+64|0;o=k+60|0;p=k+56|0;q=k+52|0;r=k+48|0;s=k+44|0;t=k+40|0;u=k+36|0;v=k+32|0;w=k+28|0;x=k+24|0;y=k+20|0;z=k+16|0;A=k+12|0;B=k+8|0;C=k+4|0;D=k;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[u>>2]=0;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;c[A>>2]=0;c[C>>2]=Ro(c[n>>2]|0)|0;if(!((c[C>>2]|0)!=0&(c[p>>2]|0)!=0&(c[q>>2]|0)!=0)){c[l>>2]=32816;E=c[l>>2]|0;i=k;return E|0}j=Uj(c[r>>2]|0)|0;if((j|0)!=(c[q>>2]|0)){c[l>>2]=5;E=c[l>>2]|0;i=k;return E|0}c[u>>2]=Vf(c[q>>2]|0)|0;a:do if(c[u>>2]|0){c[D>>2]=0;while(1){if((c[D>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;a[(c[u>>2]|0)+(c[D>>2]|0)>>0]=1;c[D>>2]=(c[D>>2]|0)+1}c[v>>2]=ag(1,c[q>>2]|0)|0;if(!(c[v>>2]|0)){c[t>>2]=iu()|0;break}c[t>>2]=Zt(w,c[o>>2]|0,(((c[C>>2]|0)+7|0)>>>0)/8|0)|0;if(((((((c[t>>2]|0)==0?(c[t>>2]=_t(x,c[p>>2]|0,c[q>>2]<<3,c[n>>2]|0,c[C>>2]|0)|0,(c[t>>2]|0)==0):0)?(c[t>>2]=wj(y,c[r>>2]|0,3)|0,(c[t>>2]|0)==0):0)?(c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0,(c[t>>2]|0)==0):0)?(Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0),Fj(c[y>>2]|0,76527,1),Fj(c[y>>2]|0,c[w>>2]|0,(((c[C>>2]|0)+7|0)>>>0)/8|0),Fj(c[y>>2]|0,c[x>>2]|0,(((c[C>>2]|0)+7|0)>>>0)/8|0),j=c[v>>2]|0,h=Rj(c[y>>2]|0,0)|0,Dx(j|0,h|0,c[q>>2]|0)|0,c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0,(c[t>>2]|0)==0):0)?(Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0),h=c[u>>2]|0,j=Rj(c[y>>2]|0,0)|0,Dx(h|0,j|0,c[q>>2]|0)|0,c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0,(c[t>>2]|0)==0):0)?(Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0),Fj(c[y>>2]|0,53129,1),Fj(c[y>>2]|0,c[w>>2]|0,(((c[C>>2]|0)+7|0)>>>0)/8|0),Fj(c[y>>2]|0,c[x>>2]|0,(((c[C>>2]|0)+7|0)>>>0)/8|0),j=c[v>>2]|0,h=Rj(c[y>>2]|0,0)|0,Dx(j|0,h|0,c[q>>2]|0)|0,c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0,(c[t>>2]|0)==0):0){Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0);h=c[u>>2]|0;j=Rj(c[y>>2]|0,0)|0;Dx(h|0,j|0,c[q>>2]|0)|0;c[z>>2]=Vf(((((c[C>>2]|0)+7|0)>>>0)/8|0)+(c[q>>2]|0)|0)|0;if(!(c[z>>2]|0)){c[t>>2]=iu()|0;break}while(1){c[B>>2]=0;while(1){if((c[B>>2]|0)>>>0>=(c[C>>2]|0)>>>0)break;c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0;if(c[t>>2]|0)break a;Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0);j=c[u>>2]|0;h=Rj(c[y>>2]|0,0)|0;Dx(j|0,h|0,c[q>>2]|0)|0;Dx((c[z>>2]|0)+((((c[B>>2]|0)+7|0)>>>0)/8|0)|0,c[u>>2]|0,c[q>>2]|0)|0;c[B>>2]=(c[B>>2]|0)+(c[q>>2]<<3)}hq(c[A>>2]|0);c[A>>2]=0;c[t>>2]=Dp(A,5,c[z>>2]|0,(((c[B>>2]|0)+7|0)>>>0)/8|0,0)|0;if(c[t>>2]|0)break a;if((c[B>>2]|0)>>>0>(c[C>>2]|0)>>>0)Yo(c[A>>2]|0,c[A>>2]|0,(c[B>>2]|0)-(c[C>>2]|0)|0);if((ap(c[A>>2]|0,c[n>>2]|0)|0)<0?($o(c[A>>2]|0,0)|0)>0:0){if(!(c[s>>2]|0))break a;c[s>>2]=(c[s>>2]|0)+-1;c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0;if(c[t>>2]|0)break a;Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0);Fj(c[y>>2]|0,76527,1);h=c[v>>2]|0;j=Rj(c[y>>2]|0,0)|0;Dx(h|0,j|0,c[q>>2]|0)|0;c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0;if(c[t>>2]|0)break a;Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0);j=c[u>>2]|0;h=Rj(c[y>>2]|0,0)|0;Dx(j|0,h|0,c[q>>2]|0)|0;continue}c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0;if(c[t>>2]|0)break a;Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0);Fj(c[y>>2]|0,76527,1);h=c[v>>2]|0;j=Rj(c[y>>2]|0,0)|0;Dx(h|0,j|0,c[q>>2]|0)|0;c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0;if(c[t>>2]|0)break a;Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0);j=c[u>>2]|0;h=Rj(c[y>>2]|0,0)|0;Dx(j|0,h|0,c[q>>2]|0)|0}}}else c[t>>2]=iu()|0;while(0);$f(c[z>>2]|0);Ej(c[y>>2]|0);$f(c[x>>2]|0);$f(c[w>>2]|0);$f(c[v>>2]|0);$f(c[u>>2]|0);u=c[A>>2]|0;if(c[t>>2]|0)hq(u);else c[c[m>>2]>>2]=u;c[l>>2]=c[t>>2];E=c[l>>2]|0;i=k;return E|0}function Zt(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;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+8|0;n=e+4|0;o=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=Hp(5,0,0,l,c[h>>2]|0)|0;if(c[k>>2]|0){c[f>>2]=c[k>>2];p=c[f>>2]|0;i=e;return p|0}if((c[l>>2]|0)>>>0>(c[j>>2]|0)>>>0){c[f>>2]=67;p=c[f>>2]|0;i=e;return p|0}if((c[l>>2]|0)>>>0<(c[j>>2]|0)>>>0)q=(c[j>>2]|0)-(c[l>>2]|0)|0;else q=0;c[m>>2]=q;c[n>>2]=(c[l>>2]|0)+(c[m>>2]|0);if(c[h>>2]|0?c[(c[h>>2]|0)+12>>2]&1|0:0)r=Yf(c[n>>2]|0)|0;else r=Vf(c[n>>2]|0)|0;c[o>>2]=r;if(!(c[o>>2]|0)){c[f>>2]=iu()|0;p=c[f>>2]|0;i=e;return p|0}if(c[m>>2]|0)Fx(c[o>>2]|0,0,c[m>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[k>>2]=Hp(5,(c[o>>2]|0)+(c[m>>2]|0)|0,(c[l>>2]|0)-(c[m>>2]|0)|0,0,c[h>>2]|0)|0;h=c[o>>2]|0;if(c[k>>2]|0){$f(h);c[f>>2]=c[k>>2];p=c[f>>2]|0;i=e;return p|0}else{c[c[g>>2]>>2]=h;c[f>>2]=0;p=c[f>>2]|0;i=e;return p|0}return 0}function _t(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+32|0;h=g+28|0;j=g+24|0;k=g+20|0;l=g+16|0;m=g+12|0;n=g+8|0;o=g+4|0;p=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=Dp(p,5,c[k>>2]|0,(((c[l>>2]|0)+7|0)>>>0)/8|0,0)|0;if(c[o>>2]|0){c[h>>2]=c[o>>2];q=c[h>>2]|0;i=g;return q|0}if((c[l>>2]|0)>>>0>(c[n>>2]|0)>>>0)Yo(c[p>>2]|0,c[p>>2]|0,(c[l>>2]|0)-(c[n>>2]|0)|0);if((ap(c[p>>2]|0,c[m>>2]|0)|0)>=0)No(c[p>>2]|0,c[p>>2]|0,c[m>>2]|0);c[o>>2]=Zt(c[j>>2]|0,c[p>>2]|0,(((c[n>>2]|0)+7|0)>>>0)/8|0)|0;hq(c[p>>2]|0);c[h>>2]=c[o>>2];q=c[h>>2]|0;i=g;return q|0}function $t(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;e=i;i=i+32|0;f=e+28|0;g=e+24|0;h=e+20|0;j=e+16|0;k=e+12|0;l=e+8|0;m=e+4|0;n=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=0;do if(c[g>>2]|0?c[(c[g>>2]|0)+12>>2]&4|0:0){c[l>>2]=kq(c[g>>2]|0,m)|0;c[k>>2]=Dp(n,5,c[l>>2]|0,(((c[m>>2]|0)+7|0)>>>0)/8|0,0)|0;if(c[k>>2]|0){c[f>>2]=c[k>>2];o=c[f>>2]|0;i=e;return o|0}else{if((c[m>>2]|0)>>>0<=(c[j>>2]|0)>>>0)break;Yo(c[n>>2]|0,c[n>>2]|0,(c[m>>2]|0)-(c[j>>2]|0)|0);break}}else p=7;while(0);if((p|0)==7)c[n>>2]=c[g>>2];c[c[h>>2]>>2]=c[n>>2];c[f>>2]=c[k>>2];o=c[f>>2]|0;i=e;return o|0}function au(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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;h=i;i=i+96|0;j=h;k=h+88|0;l=h+84|0;m=h+80|0;n=h+76|0;o=h+72|0;p=h+68|0;q=h+64|0;r=h+60|0;s=h+56|0;t=h+52|0;u=h+48|0;v=h+44|0;w=h+40|0;x=h+36|0;y=h+24|0;z=h+20|0;A=h+16|0;B=h+12|0;C=h+8|0;D=h+4|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=0;c[s>>2]=0;if(jg(1)|0)Hf(53131,c[l>>2]|0);c[C>>2]=Ro(c[(c[m>>2]|0)+32>>2]|0)|0;c[r>>2]=$t(c[l>>2]|0,z,c[C>>2]|0)|0;if(c[r>>2]|0){c[k>>2]=c[r>>2];E=c[k>>2]|0;i=h;return E|0}c[t>>2]=0;c[u>>2]=$p(0)|0;c[v>>2]=$p(0)|0;c[w>>2]=$p(0)|0;c[x>>2]=$p(0)|0;co(y);c[D>>2]=jo(c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0,0,c[(c[m>>2]|0)+8>>2]|0,c[(c[m>>2]|0)+12>>2]|0,c[(c[m>>2]|0)+16>>2]|0)|0;while(1){hq(c[t>>2]|0);c[t>>2]=0;if((c[p>>2]&2|0)!=0&(c[q>>2]|0)!=0){if(!(c[l>>2]|0)){F=9;break}if(!(c[(c[l>>2]|0)+12>>2]&4)){F=9;break}c[A>>2]=kq(c[l>>2]|0,B)|0;c[r>>2]=Yt(t,c[(c[m>>2]|0)+32>>2]|0,c[(c[m>>2]|0)+56>>2]|0,c[A>>2]|0,(((c[B>>2]|0)+7|0)>>>0)/8|0,c[q>>2]|0,c[s>>2]|0)|0;if(c[r>>2]|0)break;c[s>>2]=(c[s>>2]|0)+1}else c[t>>2]=Xt(c[(c[m>>2]|0)+32>>2]|0,1)|0;Go(y,c[t>>2]|0,(c[m>>2]|0)+20|0,c[D>>2]|0);if(Zn(c[x>>2]|0,0,y,c[D>>2]|0)|0){F=14;break}qp(c[n>>2]|0,c[x>>2]|0,c[(c[m>>2]|0)+32>>2]|0);if(($o(c[n>>2]|0,0)|0)!=0^1)continue;vp(c[u>>2]|0,c[(c[m>>2]|0)+56>>2]|0,c[n>>2]|0,c[(c[m>>2]|0)+32>>2]|0);Oo(c[v>>2]|0,c[z>>2]|0,c[u>>2]|0,c[(c[m>>2]|0)+32>>2]|0);pp(c[w>>2]|0,c[t>>2]|0,c[(c[m>>2]|0)+32>>2]|0)|0;vp(c[o>>2]|0,c[w>>2]|0,c[v>>2]|0,c[(c[m>>2]|0)+32>>2]|0);if(!(($o(c[o>>2]|0,0)|0)!=0^1)){F=19;break}}if((F|0)==9)c[r>>2]=70;else if((F|0)==14){if(jg(1)|0)Df(53208,j);c[r>>2]=8}else if((F|0)==19?jg(1)|0:0){Hf(53149,c[n>>2]|0);Hf(53170,c[o>>2]|0)}no(c[D>>2]|0);fo(y);hq(c[x>>2]|0);hq(c[w>>2]|0);hq(c[v>>2]|0);hq(c[u>>2]|0);hq(c[t>>2]|0);if((c[z>>2]|0)!=(c[l>>2]|0))hq(c[z>>2]|0);c[k>>2]=c[r>>2];E=c[k>>2]|0;i=h;return E|0}function bu(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+112|0;g=f+8|0;h=f;j=f+96|0;k=f+92|0;l=f+88|0;m=f+84|0;n=f+80|0;o=f+76|0;p=f+72|0;q=f+68|0;r=f+64|0;s=f+60|0;t=f+56|0;u=f+44|0;v=f+32|0;w=f+20|0;x=f+16|0;y=f+12|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=0;if(($o(c[m>>2]|0,0)|0)>0?(ap(c[m>>2]|0,c[(c[l>>2]|0)+32>>2]|0)|0)<0:0){if(($o(c[n>>2]|0,0)|0)>0?(ap(c[n>>2]|0,c[(c[l>>2]|0)+32>>2]|0)|0)<0:0){c[y>>2]=Ro(c[(c[l>>2]|0)+32>>2]|0)|0;c[o>>2]=$t(c[k>>2]|0,p,c[y>>2]|0)|0;if(c[o>>2]|0){c[j>>2]=c[o>>2];z=c[j>>2]|0;i=f;return z|0}c[q>>2]=$p(0)|0;c[r>>2]=$p(0)|0;c[s>>2]=$p(0)|0;c[t>>2]=$p(0)|0;co(u);co(v);co(w);c[x>>2]=jo(c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+4>>2]|0,0,c[(c[l>>2]|0)+8>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[(c[l>>2]|0)+16>>2]|0)|0;pp(c[q>>2]|0,c[n>>2]|0,c[(c[l>>2]|0)+32>>2]|0)|0;vp(c[r>>2]|0,c[p>>2]|0,c[q>>2]|0,c[(c[l>>2]|0)+32>>2]|0);Go(v,c[r>>2]|0,(c[l>>2]|0)+20|0,c[x>>2]|0);vp(c[s>>2]|0,c[m>>2]|0,c[q>>2]|0,c[(c[l>>2]|0)+32>>2]|0);Go(w,c[s>>2]|0,(c[l>>2]|0)+44|0,c[x>>2]|0);Ao(u,v,w,c[x>>2]|0);do if($o(c[u+8>>2]|0,0)|0){if(Zn(c[t>>2]|0,0,u,c[x>>2]|0)|0){if(jg(1)|0)Df(53314,g);c[o>>2]=8;break}qp(c[t>>2]|0,c[t>>2]|0,c[(c[l>>2]|0)+32>>2]|0);if(ap(c[t>>2]|0,c[m>>2]|0)|0){if(jg(1)|0){Hf(53360,c[t>>2]|0);Hf(53367,c[m>>2]|0);Hf(53374,c[n>>2]|0)}c[o>>2]=8}}else{if(jg(1)|0)Df(53292,h);c[o>>2]=8}while(0);no(c[x>>2]|0);fo(w);fo(v);fo(u);hq(c[t>>2]|0);hq(c[s>>2]|0);hq(c[r>>2]|0);hq(c[q>>2]|0);if((c[p>>2]|0)!=(c[k>>2]|0))hq(c[p>>2]|0);c[j>>2]=c[o>>2];z=c[j>>2]|0;i=f;return z|0}c[j>>2]=8;z=c[j>>2]|0;i=f;return z|0}c[j>>2]=8;z=c[j>>2]|0;i=f;return z|0}function cu(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;f=i;i=i+96|0;g=f;h=f+80|0;j=f+76|0;k=f+72|0;l=f+68|0;m=f+64|0;n=f+60|0;o=f+56|0;p=f+52|0;q=f+48|0;r=f+44|0;s=f+40|0;t=f+36|0;u=f+24|0;v=f+20|0;w=f+16|0;x=f+12|0;y=f+8|0;z=f+4|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=0;if(jg(1)|0)Hf(53191,c[j>>2]|0);c[y>>2]=Ro(c[(c[k>>2]|0)+32>>2]|0)|0;do if(c[j>>2]|0?c[(c[j>>2]|0)+12>>2]&4|0:0){c[w>>2]=kq(c[j>>2]|0,x)|0;c[n>>2]=Dp(v,5,c[w>>2]|0,(((c[x>>2]|0)+7|0)>>>0)/8|0,0)|0;if(c[n>>2]|0){c[h>>2]=c[n>>2];A=c[h>>2]|0;i=f;return A|0}else{if((c[x>>2]|0)>>>0<=(c[y>>2]|0)>>>0)break;Yo(c[v>>2]|0,c[v>>2]|0,(c[x>>2]|0)-(c[y>>2]|0)|0);break}}else B=9;while(0);if((B|0)==9)c[v>>2]=c[j>>2];c[o>>2]=0;c[p>>2]=$p(0)|0;c[q>>2]=$p(0)|0;c[r>>2]=$p(0)|0;c[t>>2]=$p(0)|0;c[s>>2]=$p(0)|0;co(u);c[z>>2]=jo(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,0,c[(c[k>>2]|0)+8>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;qp(c[t>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+32>>2]|0);if(!($o(c[t>>2]|0,0)|0))sq(c[t>>2]|0,1)|0;while(1){hq(c[o>>2]|0);c[o>>2]=Xt(c[(c[k>>2]|0)+32>>2]|0,1)|0;Go(u,c[o>>2]|0,(c[k>>2]|0)+20|0,c[z>>2]|0);if(Zn(c[s>>2]|0,0,u,c[z>>2]|0)|0){B=13;break}qp(c[l>>2]|0,c[s>>2]|0,c[(c[k>>2]|0)+32>>2]|0);if(($o(c[l>>2]|0,0)|0)!=0^1)continue;vp(c[p>>2]|0,c[(c[k>>2]|0)+56>>2]|0,c[l>>2]|0,c[(c[k>>2]|0)+32>>2]|0);vp(c[r>>2]|0,c[o>>2]|0,c[t>>2]|0,c[(c[k>>2]|0)+32>>2]|0);Oo(c[m>>2]|0,c[r>>2]|0,c[p>>2]|0,c[(c[k>>2]|0)+32>>2]|0);if(!(($o(c[m>>2]|0,0)|0)!=0^1)){B=18;break}}if((B|0)==13){if(jg(1)|0)Df(53208,g);c[n>>2]=8}else if((B|0)==18?jg(1)|0:0){Hf(53252,c[l>>2]|0);Hf(53272,c[m>>2]|0)}no(c[z>>2]|0);fo(u);hq(c[s>>2]|0);hq(c[t>>2]|0);hq(c[r>>2]|0);hq(c[q>>2]|0);hq(c[p>>2]|0);hq(c[o>>2]|0);if((c[v>>2]|0)!=(c[j>>2]|0))hq(c[v>>2]|0);c[h>>2]=c[n>>2];A=c[h>>2]|0;i=f;return A|0}function du(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;f=i;i=i+128|0;g=f+24|0;h=f+16|0;j=f+8|0;k=f;l=f+116|0;m=f+112|0;n=f+108|0;o=f+104|0;p=f+100|0;q=f+96|0;r=f+92|0;s=f+88|0;t=f+84|0;u=f+80|0;v=f+76|0;w=f+72|0;x=f+68|0;y=f+56|0;z=f+44|0;A=f+32|0;B=f+28|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=0;if(($o(c[o>>2]|0,0)|0)>0?(ap(c[o>>2]|0,c[(c[n>>2]|0)+32>>2]|0)|0)<0:0){if(($o(c[p>>2]|0,0)|0)>0?(ap(c[p>>2]|0,c[(c[n>>2]|0)+32>>2]|0)|0)<0:0){c[s>>2]=$p(0)|0;c[r>>2]=$p(0)|0;c[t>>2]=$p(0)|0;c[u>>2]=$p(0)|0;c[v>>2]=$p(0)|0;c[w>>2]=$p(0)|0;c[x>>2]=$p(0)|0;co(y);co(z);co(A);c[B>>2]=jo(c[c[n>>2]>>2]|0,c[(c[n>>2]|0)+4>>2]|0,0,c[(c[n>>2]|0)+8>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;qp(c[r>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+32>>2]|0);if(!($o(c[r>>2]|0,0)|0))sq(c[r>>2]|0,1)|0;pp(c[v>>2]|0,c[r>>2]|0,c[(c[n>>2]|0)+32>>2]|0)|0;vp(c[t>>2]|0,c[p>>2]|0,c[v>>2]|0,c[(c[n>>2]|0)+32>>2]|0);vp(c[w>>2]|0,c[o>>2]|0,c[v>>2]|0,c[(c[n>>2]|0)+32>>2]|0);Po(c[u>>2]|0,c[x>>2]|0,c[w>>2]|0,c[(c[n>>2]|0)+32>>2]|0);Go(z,c[t>>2]|0,(c[n>>2]|0)+20|0,c[B>>2]|0);Go(A,c[u>>2]|0,(c[n>>2]|0)+44|0,c[B>>2]|0);Ao(y,z,A,c[B>>2]|0);do if($o(c[y+8>>2]|0,0)|0){if(Zn(c[s>>2]|0,0,y,c[B>>2]|0)|0){if(jg(1)|0)Df(53314,j);c[q>>2]=8;break}qp(c[s>>2]|0,c[s>>2]|0,c[(c[n>>2]|0)+32>>2]|0);m=(ap(c[s>>2]|0,c[o>>2]|0)|0)!=0;e=(jg(1)|0)!=0;if(!m){if(!e)break;Df(53407,g);break}if(e){Hf(53360,c[s>>2]|0);Hf(53367,c[o>>2]|0);Hf(53374,c[p>>2]|0);Df(53381,h)}c[q>>2]=8}else{if(jg(1)|0)Df(53292,k);c[q>>2]=8}while(0);no(c[B>>2]|0);fo(A);fo(z);fo(y);hq(c[x>>2]|0);hq(c[w>>2]|0);hq(c[v>>2]|0);hq(c[u>>2]|0);hq(c[t>>2]|0);hq(c[s>>2]|0);hq(c[r>>2]|0);c[l>>2]=c[q>>2];C=c[l>>2]|0;i=f;return C|0}c[l>>2]=8;C=c[l>>2]|0;i=f;return C|0}c[l>>2]=8;C=c[l>>2]|0;i=f;return C|0}function eu(){return tu()|0}function fu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Gu(c[d>>2]|0)|0;i=b;return a|0}function gu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ku(c[d>>2]|0)|0;i=b;return a|0}function hu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ju(c[d>>2]|0)|0;i=b;return a|0}function iu(){return Lu()|0}function ju(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;vu(c[d>>2]|0);i=b;return}function ku(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ou(c[d>>2]|0)|0;i=b;return a|0}function lu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=qu(c[d>>2]|0)|0;i=b;return a|0}function mu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ru(c[d>>2]|0)|0;i=b;return a|0}function nu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=su(c[d>>2]|0)|0;i=b;return a|0}function ou(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[d>>2];if(c[c[e>>2]>>2]|0)c[e>>2]=pu(c[d>>2]|0)|0;else c[c[e>>2]>>2]=1;c[f>>2]=qa((c[e>>2]|0)+4|0,0)|0;if(!(c[f>>2]|0)){g=c[f>>2]|0;i=b;return g|0}c[f>>2]=gu(c[f>>2]|0)|0;g=c[f>>2]|0;i=b;return g|0}function pu(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];if((c[c[e>>2]>>2]|0)!=1)ya(53429,53449,114,53462);else{i=b;return c[e>>2]|0}return 0}function qu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=pu(c[d>>2]|0)|0;c[f>>2]=kb((c[e>>2]|0)+4|0)|0;if(!(c[f>>2]|0)){g=c[f>>2]|0;i=b;return g|0}c[f>>2]=gu(c[f>>2]|0)|0;g=c[f>>2]|0;i=b;return g|0}function ru(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=pu(c[d>>2]|0)|0;c[f>>2]=Va((c[e>>2]|0)+4|0)|0;if(!(c[f>>2]|0)){g=c[f>>2]|0;i=b;return g|0}c[f>>2]=gu(c[f>>2]|0)|0;g=c[f>>2]|0;i=b;return g|0}function su(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+64|0;d=b+52|0;e=b+48|0;f=b+44|0;g=b;c[d>>2]=a;c[e>>2]=pu(c[d>>2]|0)|0;c[f>>2]=Sa((c[e>>2]|0)+4|0)|0;if(c[f>>2]|0){c[f>>2]=gu(c[f>>2]|0)|0;h=c[f>>2]|0;i=b;return h|0}else{e=g;a=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(a|0));c[g>>2]=1;e=c[d>>2]|0;d=g;a=e+44|0;do{c[e>>2]=c[d>>2];e=e+4|0;d=d+4|0}while((e|0)<(a|0));h=c[f>>2]|0;i=b;return h|0}return 0}function tu(){uu();return 0}function uu(){wu()|0;return}function vu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=c[d>>2]|0;c[(Yu()|0)>>2]=a;i=b;return}function wu(){if(c[17772]|0)return 0;c[17772]=1;nb(3)|0;return 0}function xu(){yu(0)|0;c[17774]=0;c[17775]=0;return}function yu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;if(c[d>>2]|0){zu(c[d>>2]|0);c[e>>2]=Au(c[d>>2]|0)|0;Du(c[d>>2]|0);g=c[e>>2]|0;h=(g|0)!=0;j=h?-1:0;i=b;return j|0}c[e>>2]=0;Eu();c[f>>2]=c[17773];while(1){if(!(c[f>>2]|0))break;if(c[(c[f>>2]|0)+4>>2]|0){zu(c[(c[f>>2]|0)+4>>2]|0);d=Au(c[(c[f>>2]|0)+4>>2]|0)|0;c[e>>2]=c[e>>2]|d;Du(c[(c[f>>2]|0)+4>>2]|0)}c[f>>2]=c[c[f>>2]>>2]}Fu();g=c[e>>2]|0;h=(g|0)!=0;j=h?-1:0;i=b;return j|0}function zu(a){a=a|0;var b=0,e=0;b=i;i=i+16|0;e=b;c[e>>2]=a;if((d[(c[(c[e>>2]|0)+36>>2]|0)+1140>>0]|0)>>>5&1|0){i=b;return}qu((c[(c[e>>2]|0)+36>>2]|0)+1040|0)|0;i=b;return}function Au(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;a=c[d>>2]|0;if((c[c[d>>2]>>2]|0)>>>16&1|0){c[e>>2]=Bu(a)|0;f=c[e>>2]|0;i=b;return f|0}else{Cu(a);c[e>>2]=0;f=c[e>>2]|0;i=b;return f|0}return 0}function Bu(b){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+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[e>>2]=b;c[f>>2]=c[(c[(c[e>>2]|0)+36>>2]|0)+1108>>2];if(!((c[c[e>>2]>>2]|0)>>>16&1))ya(53478,53500,1654,53510);do if(c[(c[e>>2]|0)+16>>2]|0){if(!(c[f>>2]|0)){c[g>>2]=95;break}c[j>>2]=0;c[g>>2]=0;do{if(((c[(c[e>>2]|0)+16>>2]|0)-(c[j>>2]|0)|0)<=0)break;if(!((c[g>>2]|0)!=0^1))break;c[k>>2]=vb[c[f>>2]&63](c[(c[(c[e>>2]|0)+36>>2]|0)+1084>>2]|0,(c[(c[e>>2]|0)+4>>2]|0)+(c[j>>2]|0)|0,(c[(c[e>>2]|0)+16>>2]|0)-(c[j>>2]|0)|0)|0;if((c[k>>2]|0)==-1){c[h>>2]=0;c[g>>2]=-1}else c[h>>2]=c[k>>2];c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0)}while(!(c[g>>2]|0));b=(c[e>>2]|0)+20|0;c[b>>2]=(c[b>>2]|0)+(c[j>>2]|0);if((c[(c[e>>2]|0)+16>>2]|0)==(c[j>>2]|0)){b=(c[(c[e>>2]|0)+36>>2]|0)+1100|0;c[b>>2]=(c[b>>2]|0)+(c[(c[e>>2]|0)+16>>2]|0);c[(c[e>>2]|0)+16>>2]=0;c[(c[e>>2]|0)+20>>2]=0;vb[c[f>>2]&63](c[(c[(c[e>>2]|0)+36>>2]|0)+1084>>2]|0,0,0)|0}}else c[g>>2]=0;while(0);if(!(c[g>>2]|0)){l=c[g>>2]|0;i=d;return l|0}f=(c[(c[e>>2]|0)+36>>2]|0)+1136|0;a[f>>0]=a[f>>0]&-2|1;l=c[g>>2]|0;i=d;return l|0}function Cu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if((c[c[d>>2]>>2]|0)>>>16&1|0)ya(53519,53500,1722,53542);else{c[(c[d>>2]|0)+12>>2]=0;c[(c[d>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+32>>2]=0;i=b;return}}function Du(a){a=a|0;var b=0,e=0;b=i;i=i+16|0;e=b;c[e>>2]=a;if((d[(c[(c[e>>2]|0)+36>>2]|0)+1140>>0]|0)>>>5&1|0){i=b;return}ru((c[(c[e>>2]|0)+36>>2]|0)+1040|0)|0;i=b;return}function Eu(){qu(13100)|0;return}function Fu(){ru(13100)|0;return}function Gu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[f>>2]=Hu(c[e>>2]|0)|0;do if(c[f>>2]&32768|0){c[g>>2]=hu(c[f>>2]|0)|0;if(!(c[g>>2]|0)){c[f>>2]=16382;break}c[d>>2]=ov(c[g>>2]|0)|0;h=c[d>>2]|0;i=b;return h|0}while(0);c[d>>2]=53551+(c[13144+((Iu(c[f>>2]|0)|0)<<2)>>2]|0);h=c[d>>2]|0;i=b;return h|0}function Hu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;i=b;return c[d>>2]&65535|0}function Iu(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=c[d>>2]|0;if((c[d>>2]|0)>=0&(c[d>>2]|0)<=213){e=a-0|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=222&(c[d>>2]|0)<=254){e=f-8|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=257&(c[d>>2]|0)<=271){e=a-10|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=273&(c[d>>2]|0)<=281){e=f-11|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=721&(c[d>>2]|0)<=729){e=a-450|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=750&(c[d>>2]|0)<=752){e=f-470|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=754&(c[d>>2]|0)<=782){e=a-471|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=784&(c[d>>2]|0)<=789){e=f-472|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=800&(c[d>>2]|0)<=804){e=a-482|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=815&(c[d>>2]|0)<=822){e=f-492|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=832&(c[d>>2]|0)<=839){e=a-501|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=844&(c[d>>2]|0)<=844){e=f-505|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=848&(c[d>>2]|0)<=848){e=a-508|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=881&(c[d>>2]|0)<=891){e=f-540|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=1024&(c[d>>2]|0)<=1039){e=a-672|0;i=b;return e|0}else{e=(a|0)>=16381&(c[d>>2]|0)<=16383?(c[d>>2]|0)-16013|0:371;i=b;return e|0}return 0}function Ju(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;do if(c[e>>2]&32768|0){c[e>>2]=c[e>>2]&-32769;if((c[e>>2]|0)>>>0<141){c[d>>2]=c[14632+(c[e>>2]<<2)>>2];break}else{c[d>>2]=0;break}}else c[d>>2]=0;while(0);i=b;return c[d>>2]|0}function Ku(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=b;return g|0}a=c[e>>2]|0;do if(!((c[e>>2]|0)>=1&(c[e>>2]|0)<=11)){h=c[e>>2]|0;if((a|0)>=11&(c[e>>2]|0)<=35){j=h-0|0;break}k=c[e>>2]|0;if((h|0)>=35&(c[e>>2]|0)<=40){j=k+1|0;break}h=c[e>>2]|0;if((k|0)>=42&(c[e>>2]|0)<=57){j=h-0|0;break}k=c[e>>2]|0;if((h|0)>=59&(c[e>>2]|0)<=95){j=k-1|0;break}else{j=(k|0)>=95&(c[e>>2]|0)<=125?(c[e>>2]|0)-0|0:-1;break}}else j=a-1|0;while(0);c[f>>2]=j;if((c[f>>2]|0)<0){c[d>>2]=16382;g=c[d>>2]|0;i=b;return g|0}else{c[d>>2]=32768|c[15196+(c[f>>2]<<2)>>2];g=c[d>>2]|0;i=b;return g|0}return 0}function Lu(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;a=i;i=i+16|0;b=a+8|0;d=a+4|0;e=a;c[d>>2]=c[(Yu()|0)>>2];if(!(c[d>>2]|0)){c[b>>2]=16381;f=c[b>>2]|0;i=a;return f|0}g=c[d>>2]|0;do if(!((c[d>>2]|0)>=1&(c[d>>2]|0)<=11)){h=c[d>>2]|0;if((g|0)>=11&(c[d>>2]|0)<=35){j=h-0|0;break}k=c[d>>2]|0;if((h|0)>=35&(c[d>>2]|0)<=40){j=k+1|0;break}h=c[d>>2]|0;if((k|0)>=42&(c[d>>2]|0)<=57){j=h-0|0;break}k=c[d>>2]|0;if((h|0)>=59&(c[d>>2]|0)<=95){j=k-1|0;break}else{j=(k|0)>=95&(c[d>>2]|0)<=125?(c[d>>2]|0)-0|0:-1;break}}else j=g-1|0;while(0);c[e>>2]=j;if((c[e>>2]|0)<0){c[b>>2]=16382;f=c[b>>2]|0;i=a;return f|0}else{c[b>>2]=32768|c[15196+(c[e>>2]<<2)>>2];f=c[b>>2]|0;i=a;return f|0}return 0}function Mu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;d=c[g>>2]|0;b=Hc(c[d>>2]|0,c[d+4>>2]|0)|0;d=C;h=c[f>>2]|0;j=h;a[j>>0]=b;a[j+1>>0]=b>>8;a[j+2>>0]=b>>16;a[j+3>>0]=b>>24;b=h+4|0;a[b>>0]=d;a[b+1>>0]=d>>8;a[b+2>>0]=d>>16;a[b+3>>0]=d>>24;d=jw(c[(c[g>>2]|0)+8>>2]|0)|0;b=(c[f>>2]|0)+8|0;a[b>>0]=d;a[b+1>>0]=d>>8;a[b+2>>0]=d>>16;a[b+3>>0]=d>>24;d=(c[f>>2]|0)+12|0;f=(c[g>>2]|0)+12|0;g=d+12|0;do{a[d>>0]=a[f>>0]|0;d=d+1|0;f=f+1|0}while((d|0)<(g|0));i=e;return}function Nu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+4|0;h=f;c[g>>2]=b;c[h>>2]=e;e=c[h>>2]|0;b=e;j=e+4|0;e=Ic(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;j=c[g>>2]|0;c[j>>2]=e;c[j+4>>2]=C;j=(c[h>>2]|0)+8|0;e=nw(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;c[(c[g>>2]|0)+8>>2]=e;e=(c[g>>2]|0)+12|0;g=(c[h>>2]|0)+12|0;h=e+12|0;do{a[e>>0]=a[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));i=f;return}function Ou(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+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=Kv(c[f>>2]|0)|0;if((c[h>>2]|0)>>>0>=12){c[e>>2]=-1;j=c[e>>2]|0;i=d;return j|0}else{b=c[g>>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]=0;c[b+20>>2]=0;Dx((c[g>>2]|0)+12|0,c[f>>2]|0,c[h>>2]|0)|0;c[e>>2]=1;j=c[e>>2]|0;i=d;return j|0}return 0}function Pu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;do if(0!=(Qu(c[f>>2]|0)|0)?0!=(Qu(c[g>>2]|0)|0):0)if(!(Vv((c[f>>2]|0)+12|0,(c[g>>2]|0)+12|0)|0)){c[e>>2]=1;break}else{c[e>>2]=0;break}else h=3;while(0);if((h|0)==3)c[e>>2]=-1;i=d;return c[e>>2]|0}function Qu(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;i=d;return 0!=(a[(c[e>>2]|0)+12>>0]|0)|0}function Ru(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;d=i;i=i+96|0;e=d+64|0;f=d+56|0;g=d+48|0;h=d+92|0;j=d+88|0;k=d+84|0;l=d+24|0;m=d;n=d+80|0;o=d+76|0;p=d+72|0;c[j>>2]=a;c[k>>2]=b;if(1!=(Pu(c[j>>2]|0,c[k>>2]|0)|0)){c[n>>2]=325;if((c[3925]|0)==-1)c[3925]=Mc(1,0,61566,61575,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[3925]|0))Lc();c[g>>2]=61566;c[g+4>>2]=325;Rc(1,61592,g);Lc()}g=c[j>>2]|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];c[l+8>>2]=c[g+8>>2];c[l+12>>2]=c[g+12>>2];c[l+16>>2]=c[g+16>>2];c[l+20>>2]=c[g+20>>2];g=c[k>>2]|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];c[m+16>>2]=c[g+16>>2];c[m+20>>2]=c[g+20>>2];if(-1==(Su(l)|0)){c[o>>2]=329;if((c[3926]|0)==-1)c[3926]=Mc(1,0,61566,61575,c[o>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[3926]|0))Lc();c[f>>2]=61566;c[f+4>>2]=329;Rc(1,61592,f);Lc()}if(-1==(Su(m)|0)){c[p>>2]=331;if((c[3927]|0)==-1)c[3927]=Mc(1,0,61566,61575,c[p>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[3927]|0))Lc();c[e>>2]=61566;c[e+4>>2]=331;Rc(1,61592,e);Lc()}e=l;p=m;if(!((c[e>>2]|0)==(c[p>>2]|0)?(c[e+4>>2]|0)==(c[p+4>>2]|0):0)){p=l;e=c[p+4>>2]|0;f=m;o=c[f+4>>2]|0;if(e>>>0<o>>>0|((e|0)==(o|0)?(c[p>>2]|0)>>>0<(c[f>>2]|0)>>>0:0)){c[h>>2]=-1;q=c[h>>2]|0;i=d;return q|0}else{c[h>>2]=1;q=c[h>>2]|0;i=d;return q|0}}if((c[l+8>>2]|0)>>>0<(c[m+8>>2]|0)>>>0){c[h>>2]=-1;q=c[h>>2]|0;i=d;return q|0}if((c[l+8>>2]|0)>>>0>(c[m+8>>2]|0)>>>0){c[h>>2]=1;q=c[h>>2]|0;i=d;return q|0}else{c[h>>2]=0;q=c[h>>2]|0;i=d;return q|0}return 0}function Su(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;if(1!=(Qu(c[e>>2]|0)|0)){c[d>>2]=-1;g=c[d>>2]|0;i=b;return g|0}c[f>>2]=0;while(1){a=c[e>>2]|0;if((c[a>>2]|0)!=-1?1:(c[a+4>>2]|0)!=-1)h=(c[(c[e>>2]|0)+8>>2]|0)>>>0>=1e6;else h=0;a=(c[e>>2]|0)+8|0;j=c[a>>2]|0;if(!h)break;c[a>>2]=j-1e6;a=c[e>>2]|0;k=a;l=Ax(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;k=a;c[k>>2]=l;c[k+4>>2]=C;c[f>>2]=1}if(j>>>0>=1e6){Tu(c[e>>2]|0);c[d>>2]=-1;g=c[d>>2]|0;i=b;return g|0}else{c[d>>2]=c[f>>2];g=c[d>>2]|0;i=b;return g|0}return 0}function Tu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=c[d>>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]=0;c[a+20>>2]=0;i=b;return}function Uu(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;e=i;i=i+112|0;f=e+64|0;g=e+56|0;h=e+48|0;j=e+96|0;k=e+92|0;l=e+88|0;m=e+84|0;n=e+24|0;o=e;p=e+80|0;q=e+76|0;r=e+72|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;if(1!=(Pu(c[l>>2]|0,c[m>>2]|0)|0)){Tu(c[k>>2]|0);c[j>>2]=-1;s=c[j>>2]|0;i=e;return s|0}d=c[l>>2]|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];c[n+12>>2]=c[d+12>>2];c[n+16>>2]=c[d+16>>2];c[n+20>>2]=c[d+20>>2];d=c[m>>2]|0;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];c[o+16>>2]=c[d+16>>2];c[o+20>>2]=c[d+20>>2];if(-1!=(Su(n)|0)?-1!=(Su(o)|0):0){do if((c[n+8>>2]|0)>>>0<(c[o+8>>2]|0)>>>0){d=n;if(!(0==(c[d>>2]|0)?0==(c[d+4>>2]|0):0)){d=n+8|0;c[d>>2]=(c[d>>2]|0)+1e6;d=n;m=Ax(c[d>>2]|0,c[d+4>>2]|0,-1,-1)|0;d=n;c[d>>2]=m;c[d+4>>2]=C;break}Tu(c[k>>2]|0);c[j>>2]=-1;s=c[j>>2]|0;i=e;return s|0}while(0);d=n;m=c[d+4>>2]|0;l=o;b=c[l+4>>2]|0;if(m>>>0<b>>>0|((m|0)==(b|0)?(c[d>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)){Tu(c[k>>2]|0);c[j>>2]=-1;s=c[j>>2]|0;i=e;return s|0}if(1!=(Ou(n+12|0,c[k>>2]|0)|0)){c[p>>2]=397;if((c[3928]|0)==-1)c[3928]=Mc(1,0,61566,61620,c[p>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[3928]|0))Lc();c[h>>2]=61566;c[h+4>>2]=397;Rc(1,61592,h);Lc()}if((c[n+8>>2]|0)>>>0<(c[o+8>>2]|0)>>>0){c[q>>2]=398;if((c[3929]|0)==-1)c[3929]=Mc(1,0,61566,61620,c[q>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[3929]|0))Lc();c[g>>2]=61566;c[g+4>>2]=398;Rc(1,61592,g);Lc()}c[(c[k>>2]|0)+8>>2]=(c[n+8>>2]|0)-(c[o+8>>2]|0);g=n;q=c[g+4>>2]|0;h=o;p=c[h+4>>2]|0;if(q>>>0>p>>>0|((q|0)==(p|0)?(c[g>>2]|0)>>>0>=(c[h>>2]|0)>>>0:0)){h=n;n=o;o=zx(c[h>>2]|0,c[h+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=c[k>>2]|0;c[n>>2]=o;c[n+4>>2]=C;if(0==(c[(c[k>>2]|0)+8>>2]|0)?(n=c[k>>2]|0,0==(c[n>>2]|0)?0==(c[n+4>>2]|0):0):0){c[j>>2]=0;s=c[j>>2]|0;i=e;return s|0}c[j>>2]=1;s=c[j>>2]|0;i=e;return s|0}c[r>>2]=400;if((c[3930]|0)==-1)c[3930]=Mc(1,0,61566,61620,c[r>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[3930]|0))Lc();c[f>>2]=61566;c[f+4>>2]=400;Rc(1,61592,f);Lc()}Tu(c[k>>2]|0);c[j>>2]=-1;s=c[j>>2]|0;i=e;return s|0}function Vu(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;e=i;i=i+112|0;f=e+72|0;g=e+96|0;h=e+92|0;j=e+88|0;k=e+84|0;l=e+48|0;m=e+24|0;n=e;o=e+80|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;if(1!=(Pu(c[j>>2]|0,c[k>>2]|0)|0)){Tu(c[h>>2]|0);c[g>>2]=-1;p=c[g>>2]|0;i=e;return p|0}d=c[j>>2]|0;c[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2];c[l+8>>2]=c[d+8>>2];c[l+12>>2]=c[d+12>>2];c[l+16>>2]=c[d+16>>2];c[l+20>>2]=c[d+20>>2];d=c[k>>2]|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];c[m+16>>2]=c[d+16>>2];c[m+20>>2]=c[d+20>>2];if(-1!=(Su(l)|0)?-1!=(Su(m)|0):0){if(1==(Ou((c[j>>2]|0)+12|0,n)|0)){j=l;d=m;k=Ax(c[j>>2]|0,c[j+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;d=n;c[d>>2]=k;c[d+4>>2]=C;d=n;k=c[d+4>>2]|0;j=l;b=c[j+4>>2]|0;if(k>>>0<b>>>0|((k|0)==(b|0)?(c[d>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)){Tu(c[h>>2]|0);c[g>>2]=-1;p=c[g>>2]|0;i=e;return p|0}c[n+8>>2]=(c[l+8>>2]|0)+(c[m+8>>2]|0);m=-1==(Su(n)|0);l=c[h>>2]|0;if(m){Tu(l);c[g>>2]=-1;p=c[g>>2]|0;i=e;return p|0}else{c[l>>2]=c[n>>2];c[l+4>>2]=c[n+4>>2];c[l+8>>2]=c[n+8>>2];c[l+12>>2]=c[n+12>>2];c[l+16>>2]=c[n+16>>2];c[l+20>>2]=c[n+20>>2];c[g>>2]=1;p=c[g>>2]|0;i=e;return p|0}}c[o>>2]=444;if((c[3931]|0)==-1)c[3931]=Mc(1,0,61566,61642,c[o>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[3931]|0))Lc();c[f>>2]=61566;c[f+4>>2]=444;Rc(1,61592,f);Lc()}Tu(c[h>>2]|0);c[g>>2]=-1;p=c[g>>2]|0;i=e;return p|0}function Wu(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=Xu(ta(6,d|0)|0)|0;i=b;return a|0}function Xu(a){a=a|0;var b=0;if(a>>>0>4294963200){c[(Yu()|0)>>2]=0-a;b=-1}else b=a;return b|0}function Yu(){var a=0;if(!(c[17776]|0))a=71148;else a=c[(Ta()|0)+64>>2]|0;return a|0}function Zu(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]=25;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,_a(54,g|0)|0):0)a[b+75>>0]=-1;g=_u(b,d,e)|0;i=f;return g|0}function _u(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[17776]|0)){c[f>>2]=c[b>>2];c[f+4>>2]=n;c[f+8>>2]=h;p=Xu(tb(146,f|0)|0)|0}else{rb(6,a|0);c[g>>2]=c[b>>2];c[g+4>>2]=n;c[g+8>>2]=h;m=Xu(tb(146,g|0)|0)|0;oa(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 $u(a){a=a|0;if(!(c[a+68>>2]|0))av(a);return}function av(a){a=a|0;return}function bv(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((Xu(ob(140,f|0)|0)|0)<0){c[g>>2]=-1;h=-1}else h=c[g>>2]|0;i=e;return h|0}function cv(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[17776]|0)){c[g>>2]=c[b+60>>2];c[g+4>>2]=j;c[g+8>>2]=2;o=Xu(sb(145,g|0)|0)|0}else{rb(7,b|0);c[h>>2]=c[b+60>>2];c[h+4>>2]=j;c[h+8>>2]=2;j=Xu(sb(145,h|0)|0)|0;oa(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 dv(a){a=a|0;if(!(c[a+68>>2]|0))av(a);return}function ev(a){a=a|0;return fv(a)|0}function fv(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function gv(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 hv(a){a=a|0;var b=0;b=(iv(a)|0)==0;return (b?a:a|32)|0}function iv(a){a=a|0;return (a+-65|0)>>>0<26|0}function jv(a){a=a|0;return kv(a,0)|0}function kv(c,f){c=c|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=(f<<1)+-1|0;h=f+-1|0;a:do if(!((c+-43008|0)>>>0<22272|((c+-11776|0)>>>0<30784|((c+-1536|0)>>>0<2560|(lv(c)|0)==0)))){i=(f|0)!=0;if(i&(c+-4256|0)>>>0<46){if((c|0)>4293)switch(c|0){case 4295:case 4301:break;default:{j=c;break a}}j=c+7264|0;break}if((c+-11520|0)>>>0<38&(i^1)){if((c|0)>11557)switch(c|0){case 11559:case 11565:break;default:{j=c;break a}}j=c+-7264|0;break}else k=0;do{i=a[18850+(k<<2)+2>>0]|0;l=i<<24>>24;m=c-(e[18850+(k<<2)>>1]|0)|0;if((m-(l&h)|0)>>>0<(d[18850+(k<<2)+3>>0]|0)>>>0){n=i;o=l;p=m;q=13;break}k=k+1|0}while((k|0)!=61);if((q|0)==13)if(n<<24>>24==1){j=f+c-(p&1)|0;break}else{j=(_(o,g)|0)+c|0;break}m=1-f|0;l=b[18358+(m<<1)>>1]|0;b:do if(l<<16>>16){i=l;r=0;while(1){if((i&65535|0)==(c|0)){s=r;break}r=r+1|0;i=b[18358+(r<<2)+(m<<1)>>1]|0;if(!(i<<16>>16))break b}j=e[18358+(s<<2)+(f<<1)>>1]|0;break a}while(0);if((c+-66600+(f*40|0)|0)>>>0<40)j=c+-40+(f*80|0)|0;else j=c}else j=c;while(0);return j|0}function lv(a){a=a|0;var b=0;if(a>>>0<131072)b=(d[61659+((d[61659+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else b=a>>>0<196606&1;return b|0}function mv(a){a=a|0;return kv(a,1)|0}function nv(a){a=a|0;return (a+-97|0)>>>0<26|0}function ov(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[64635+c>>0]|0)==(b|0)){e=c;f=2;break}c=c+1|0;if((c|0)==87){g=87;h=64723;f=5;break}}if((f|0)==2)if(!e)i=64723;else{g=e;h=64723;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 pv(a){a=a|0;var b=0;if(!a)b=0;else b=(qv(16168,a)|0)!=0;return b&1|0}function qv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!b)d=a+((rv(a)|0)<<2)|0;else{e=a;while(1){a=c[e>>2]|0;if((a|0)==0|(a|0)==(b|0)){f=e;g=a;break}else e=e+4|0}d=g|0?f:0}return d|0}function rv(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 sv(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 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=uv(a,b,d,g)|0;i=f;return e|0}function uv(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=16256;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[(Yu()|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=wv(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 vv(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;Dx(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function wv(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+120|0;h=f+80|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((xv(0,d,g,j,h)|0)<0)n=-1;else{if((c[b+76>>2]|0)>-1)o=Iv(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=xv(b,d,g,j,h)|0;if(!p)t=k;else{vb[c[b+36>>2]&63](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=xv(b,d,g,j,h)|0;h=c[b>>2]|0;c[b>>2]=h|l;if(o|0)av(b);n=(h&32|0)==0?t:-1}i=f;return n|0}function xv(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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0.0,db=0.0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0.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.0,Yb=0.0,Zb=0.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=p;A=0-z|0;B=q+12|0;D=q+11|0;q=B;E=q-z|0;F=-2-z|0;G=q+2|0;H=n+288|0;I=p+9|0;J=I;K=p+8|0;L=0;M=0;N=0;O=f;a:while(1){do if((L|0)>-1)if((M|0)>(2147483647-L|0)){c[(Yu()|0)>>2]=75;P=-1;break}else{P=M+L|0;break}else P=L;while(0);f=a[O>>0]|0;if(!(f<<24>>24)){Q=P;R=N;S=244;break}else{T=f;U=O}b:while(1){switch(T<<24>>24){case 37:{V=U;W=U;S=9;break b;break}case 0:{X=U;Y=U;break b;break}default:{}}f=U+1|0;T=a[f>>0]|0;U=f}c:do if((S|0)==9)while(1){S=0;if((a[V+1>>0]|0)!=37){X=V;Y=W;break c}f=W+1|0;Z=V+2|0;if((a[Z>>0]|0)==37){V=Z;W=f;S=9}else{X=Z;Y=f;break}}while(0);f=Y-O|0;if(v?(c[e>>2]&32|0)==0:0)yv(O,f,e)|0;if((Y|0)!=(O|0)){L=P;M=f;O=X;continue}Z=X+1|0;$=a[Z>>0]|0;aa=($<<24>>24)+-48|0;if(aa>>>0<10){ba=(a[X+2>>0]|0)==36;ca=ba?X+3|0:Z;da=a[ca>>0]|0;ea=ba?aa:-1;fa=ba?1:N;ga=ca}else{da=$;ea=-1;fa=N;ga=Z}Z=da<<24>>24;d:do if((Z&-32|0)==32){$=Z;ca=da;ba=0;aa=ga;while(1){if(!(1<<$+-32&75913)){ha=ca;ia=ba;ja=aa;break d}ka=1<<(ca<<24>>24)+-32|ba;la=aa+1|0;ma=a[la>>0]|0;$=ma<<24>>24;if(($&-32|0)!=32){ha=ma;ia=ka;ja=la;break}else{ca=ma;ba=ka;aa=la}}}else{ha=da;ia=0;ja=ga}while(0);do if(ha<<24>>24==42){Z=ja+1|0;aa=(a[Z>>0]|0)+-48|0;if(aa>>>0<10?(a[ja+2>>0]|0)==36:0){c[l+(aa<<2)>>2]=10;na=1;oa=ja+3|0;pa=c[j+((a[Z>>0]|0)+-48<<3)>>2]|0}else{if(fa|0){qa=-1;break a}if(!v){ra=ia;sa=0;ta=Z;ua=0;break}aa=(c[g>>2]|0)+(4-1)&~(4-1);ba=c[aa>>2]|0;c[g>>2]=aa+4;na=0;oa=Z;pa=ba}if((pa|0)<0){ra=ia|8192;sa=na;ta=oa;ua=0-pa|0}else{ra=ia;sa=na;ta=oa;ua=pa}}else{ba=(ha<<24>>24)+-48|0;if(ba>>>0<10){Z=ja;aa=0;ca=ba;while(1){ba=(aa*10|0)+ca|0;$=Z+1|0;ca=(a[$>>0]|0)+-48|0;if(ca>>>0>=10){va=ba;wa=$;break}else{Z=$;aa=ba}}if((va|0)<0){qa=-1;break a}else{ra=ia;sa=fa;ta=wa;ua=va}}else{ra=ia;sa=fa;ta=ja;ua=0}}while(0);e:do if((a[ta>>0]|0)==46){aa=ta+1|0;Z=a[aa>>0]|0;if(Z<<24>>24!=42){ca=(Z<<24>>24)+-48|0;if(ca>>>0<10){xa=aa;ya=0;za=ca}else{Aa=0;Ba=aa;break}while(1){aa=(ya*10|0)+za|0;ca=xa+1|0;za=(a[ca>>0]|0)+-48|0;if(za>>>0>=10){Aa=aa;Ba=ca;break e}else{xa=ca;ya=aa}}}aa=ta+2|0;ca=(a[aa>>0]|0)+-48|0;if(ca>>>0<10?(a[ta+3>>0]|0)==36:0){c[l+(ca<<2)>>2]=10;Aa=c[j+((a[aa>>0]|0)+-48<<3)>>2]|0;Ba=ta+4|0;break}if(sa|0){qa=-1;break a}if(v){ca=(c[g>>2]|0)+(4-1)&~(4-1);Z=c[ca>>2]|0;c[g>>2]=ca+4;Aa=Z;Ba=aa}else{Aa=0;Ba=aa}}else{Aa=-1;Ba=ta}while(0);aa=Ba;Z=0;while(1){ca=(a[aa>>0]|0)+-65|0;if(ca>>>0>57){qa=-1;break a}ba=aa+1|0;$=a[66527+(Z*58|0)+ca>>0]|0;ca=$&255;if((ca+-1|0)>>>0<8){aa=ba;Z=ca}else{Ca=ba;Da=$;Ea=ca;Fa=aa;Ga=Z;break}}if(!(Da<<24>>24)){qa=-1;break}Z=(ea|0)>-1;do if(Da<<24>>24==19)if(Z){qa=-1;break a}else S=52;else{if(Z){c[l+(ea<<2)>>2]=Ea;aa=j+(ea<<3)|0;ca=c[aa+4>>2]|0;$=r;c[$>>2]=c[aa>>2];c[$+4>>2]=ca;S=52;break}if(!v){qa=0;break a}Av(r,Ea,g)}while(0);if((S|0)==52?(S=0,!v):0){L=P;M=f;N=sa;O=Ca;continue}Z=a[Fa>>0]|0;ca=(Ga|0)!=0&(Z&15|0)==3?Z&-33:Z;Z=ra&-65537;$=(ra&8192|0)==0?ra:Z;f:do switch(ca|0){case 110:{switch(Ga|0){case 0:{c[c[r>>2]>>2]=P;L=P;M=f;N=sa;O=Ca;continue a;break}case 1:{c[c[r>>2]>>2]=P;L=P;M=f;N=sa;O=Ca;continue a;break}case 2:{aa=c[r>>2]|0;c[aa>>2]=P;c[aa+4>>2]=((P|0)<0)<<31>>31;L=P;M=f;N=sa;O=Ca;continue a;break}case 3:{b[c[r>>2]>>1]=P;L=P;M=f;N=sa;O=Ca;continue a;break}case 4:{a[c[r>>2]>>0]=P;L=P;M=f;N=sa;O=Ca;continue a;break}case 6:{c[c[r>>2]>>2]=P;L=P;M=f;N=sa;O=Ca;continue a;break}case 7:{aa=c[r>>2]|0;c[aa>>2]=P;c[aa+4>>2]=((P|0)<0)<<31>>31;L=P;M=f;N=sa;O=Ca;continue a;break}default:{L=P;M=f;N=sa;O=Ca;continue a}}break}case 112:{Ha=$|8;Ia=Aa>>>0>8?Aa:8;Ja=120;S=64;break}case 88:case 120:{Ha=$;Ia=Aa;Ja=ca;S=64;break}case 111:{aa=r;ba=c[aa>>2]|0;la=c[aa+4>>2]|0;if((ba|0)==0&(la|0)==0)Ka=w;else{aa=w;ka=ba;ba=la;while(1){la=aa+-1|0;a[la>>0]=ka&7|48;ka=Cx(ka|0,ba|0,3)|0;ba=C;if((ka|0)==0&(ba|0)==0){Ka=la;break}else aa=la}}if(!($&8)){La=Ka;Ma=$;Na=Aa;Oa=0;Pa=67007;S=77}else{aa=x-Ka|0;La=Ka;Ma=$;Na=(Aa|0)>(aa|0)?Aa:aa+1|0;Oa=0;Pa=67007;S=77}break}case 105:case 100:{aa=r;ba=c[aa>>2]|0;ka=c[aa+4>>2]|0;if((ka|0)<0){aa=zx(0,0,ba|0,ka|0)|0;la=C;ma=r;c[ma>>2]=aa;c[ma+4>>2]=la;Qa=aa;Ra=la;Sa=1;Ta=67007;S=76;break f}if(!($&2048)){la=$&1;Qa=ba;Ra=ka;Sa=la;Ta=(la|0)==0?67007:67009;S=76}else{Qa=ba;Ra=ka;Sa=1;Ta=67008;S=76}break}case 117:{ka=r;Qa=c[ka>>2]|0;Ra=c[ka+4>>2]|0;Sa=0;Ta=67007;S=76;break}case 99:{a[y>>0]=c[r>>2];Ua=y;Va=Z;Wa=1;Xa=0;Ya=67007;Za=w;break}case 109:{_a=ov(c[(Yu()|0)>>2]|0)|0;S=82;break}case 115:{ka=c[r>>2]|0;_a=ka|0?ka:67017;S=82;break}case 67:{c[t>>2]=c[r>>2];c[s>>2]=0;c[r>>2]=t;$a=t;ab=-1;S=86;break}case 83:{ka=c[r>>2]|0;if(!Aa){Dv(e,32,ua,0,$);bb=0;S=97}else{$a=ka;ab=Aa;S=86}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{cb=+h[r>>3];c[o>>2]=0;h[k>>3]=cb;if((c[k+4>>2]|0)>=0)if(!($&2048)){ka=$&1;db=cb;eb=ka;fb=(ka|0)==0?67025:67030}else{db=cb;eb=1;fb=67027}else{db=-cb;eb=1;fb=67024}h[k>>3]=db;ka=c[k+4>>2]&2146435072;do if(ka>>>0<2146435072|(ka|0)==2146435072&0<0){cb=+Gv(db,o)*2.0;ba=cb!=0.0;if(ba)c[o>>2]=(c[o>>2]|0)+-1;la=ca|32;if((la|0)==97){aa=ca&32;ma=(aa|0)==0?fb:fb+9|0;gb=eb|2;hb=12-Aa|0;do if(!(Aa>>>0>11|(hb|0)==0)){ib=hb;jb=8.0;while(1){ib=ib+-1|0;kb=jb*16.0;if(!ib){lb=kb;break}else jb=kb}if((a[ma>>0]|0)==45){mb=-(lb+(-cb-lb));break}else{mb=cb+lb-lb;break}}else mb=cb;while(0);hb=c[o>>2]|0;ib=(hb|0)<0?0-hb|0:hb;nb=Bv(ib,((ib|0)<0)<<31>>31,B)|0;if((nb|0)==(B|0)){a[D>>0]=48;ob=D}else ob=nb;a[ob+-1>>0]=(hb>>31&2)+43;hb=ob+-2|0;a[hb>>0]=ca+15;nb=(Aa|0)<1;ib=($&8|0)==0;jb=mb;pb=p;while(1){qb=~~jb;rb=pb+1|0;a[pb>>0]=d[66991+qb>>0]|aa;jb=(jb-+(qb|0))*16.0;do if((rb-z|0)==1){if(ib&(nb&jb==0.0)){sb=rb;break}a[rb>>0]=46;sb=pb+2|0}else sb=rb;while(0);if(!(jb!=0.0)){tb=sb;break}else pb=sb}pb=tb;nb=hb;ib=(Aa|0)!=0&(F+pb|0)<(Aa|0)?G+Aa-nb|0:E-nb+pb|0;aa=ib+gb|0;Dv(e,32,ua,aa,$);if(!(c[e>>2]&32))yv(ma,gb,e)|0;Dv(e,48,ua,aa,$^65536);rb=pb-z|0;if(!(c[e>>2]&32))yv(p,rb,e)|0;pb=q-nb|0;Dv(e,48,ib-(rb+pb)|0,0,0);if(!(c[e>>2]&32))yv(hb,pb,e)|0;Dv(e,32,ua,aa,$^8192);ub=(aa|0)<(ua|0)?ua:aa;break}aa=(Aa|0)<0?6:Aa;if(ba){pb=(c[o>>2]|0)+-28|0;c[o>>2]=pb;vb=cb*268435456.0;wb=pb}else{vb=cb;wb=c[o>>2]|0}pb=(wb|0)<0?n:H;rb=pb;jb=vb;ib=pb;while(1){nb=~~jb>>>0;c[ib>>2]=nb;qb=ib+4|0;jb=(jb-+(nb>>>0))*1.0e9;if(!(jb!=0.0)){xb=qb;break}else ib=qb}ib=c[o>>2]|0;if((ib|0)>0){ba=ib;hb=pb;gb=xb;while(1){ma=(ba|0)>29?29:ba;qb=gb+-4|0;do if(qb>>>0<hb>>>0)yb=hb;else{nb=0;zb=qb;while(1){Ab=Ix(c[zb>>2]|0,0,ma|0)|0;Bb=Ax(Ab|0,C|0,nb|0,0)|0;Ab=C;Cb=Ox(Bb|0,Ab|0,1e9,0)|0;c[zb>>2]=Cb;Cb=Nx(Bb|0,Ab|0,1e9,0)|0;zb=zb+-4|0;if(zb>>>0<hb>>>0){Db=Cb;break}else nb=Cb}if(!Db){yb=hb;break}nb=hb+-4|0;c[nb>>2]=Db;yb=nb}while(0);qb=gb;while(1){if(qb>>>0<=yb>>>0){Eb=qb;break}nb=qb+-4|0;if(!(c[nb>>2]|0))qb=nb;else{Eb=qb;break}}qb=(c[o>>2]|0)-ma|0;c[o>>2]=qb;if((qb|0)>0){ba=qb;hb=yb;gb=Eb}else{Fb=qb;Gb=yb;Hb=Eb;break}}}else{Fb=ib;Gb=pb;Hb=xb}if((Fb|0)<0){gb=((aa+25|0)/9|0)+1|0;hb=(la|0)==102;ba=Fb;qb=Gb;nb=Hb;while(1){zb=0-ba|0;Cb=(zb|0)>9?9:zb;do if(qb>>>0<nb>>>0){zb=(1<<Cb)+-1|0;Ab=1e9>>>Cb;Bb=0;Ib=qb;while(1){Jb=c[Ib>>2]|0;c[Ib>>2]=(Jb>>>Cb)+Bb;Kb=_(Jb&zb,Ab)|0;Ib=Ib+4|0;if(Ib>>>0>=nb>>>0){Lb=Kb;break}else Bb=Kb}Bb=(c[qb>>2]|0)==0?qb+4|0:qb;if(!Lb){Mb=Bb;Nb=nb;break}c[nb>>2]=Lb;Mb=Bb;Nb=nb+4|0}else{Mb=(c[qb>>2]|0)==0?qb+4|0:qb;Nb=nb}while(0);ma=hb?pb:Mb;Bb=(Nb-ma>>2|0)>(gb|0)?ma+(gb<<2)|0:Nb;ba=(c[o>>2]|0)+Cb|0;c[o>>2]=ba;if((ba|0)>=0){Ob=Mb;Pb=Bb;break}else{qb=Mb;nb=Bb}}}else{Ob=Gb;Pb=Hb}do if(Ob>>>0<Pb>>>0){nb=(rb-Ob>>2)*9|0;qb=c[Ob>>2]|0;if(qb>>>0<10){Qb=nb;break}else{Rb=nb;Sb=10}while(1){Sb=Sb*10|0;nb=Rb+1|0;if(qb>>>0<Sb>>>0){Qb=nb;break}else Rb=nb}}else Qb=0;while(0);qb=(la|0)==103;Cb=(aa|0)!=0;nb=aa-((la|0)!=102?Qb:0)+((Cb&qb)<<31>>31)|0;if((nb|0)<(((Pb-rb>>2)*9|0)+-9|0)){ba=nb+9216|0;nb=pb+4+(((ba|0)/9|0)+-1024<<2)|0;gb=((ba|0)%9|0)+1|0;if((gb|0)<9){ba=10;hb=gb;while(1){gb=ba*10|0;hb=hb+1|0;if((hb|0)==9){Tb=gb;break}else ba=gb}}else Tb=10;ba=c[nb>>2]|0;hb=(ba>>>0)%(Tb>>>0)|0;la=(nb+4|0)==(Pb|0);do if(la&(hb|0)==0){Ub=Ob;Vb=nb;Wb=Qb}else{jb=(((ba>>>0)/(Tb>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;gb=(Tb|0)/2|0;if(hb>>>0<gb>>>0)Xb=.5;else Xb=la&(hb|0)==(gb|0)?1.0:1.5;do if(!eb){Yb=jb;Zb=Xb}else{if((a[fb>>0]|0)!=45){Yb=jb;Zb=Xb;break}Yb=-jb;Zb=-Xb}while(0);gb=ba-hb|0;c[nb>>2]=gb;if(!(Yb+Zb!=Yb)){Ub=Ob;Vb=nb;Wb=Qb;break}ib=gb+Tb|0;c[nb>>2]=ib;if(ib>>>0>999999999){ib=Ob;gb=nb;while(1){Bb=gb+-4|0;c[gb>>2]=0;if(Bb>>>0<ib>>>0){ma=ib+-4|0;c[ma>>2]=0;_b=ma}else _b=ib;ma=(c[Bb>>2]|0)+1|0;c[Bb>>2]=ma;if(ma>>>0>999999999){ib=_b;gb=Bb}else{$b=_b;ac=Bb;break}}}else{$b=Ob;ac=nb}gb=(rb-$b>>2)*9|0;ib=c[$b>>2]|0;if(ib>>>0<10){Ub=$b;Vb=ac;Wb=gb;break}else{bc=gb;cc=10}while(1){cc=cc*10|0;gb=bc+1|0;if(ib>>>0<cc>>>0){Ub=$b;Vb=ac;Wb=gb;break}else bc=gb}}while(0);nb=Vb+4|0;dc=Ub;ec=Wb;fc=Pb>>>0>nb>>>0?nb:Pb}else{dc=Ob;ec=Qb;fc=Pb}nb=0-ec|0;hb=fc;while(1){if(hb>>>0<=dc>>>0){gc=0;hc=hb;break}ba=hb+-4|0;if(!(c[ba>>2]|0))hb=ba;else{gc=1;hc=hb;break}}do if(qb){hb=(Cb&1^1)+aa|0;if((hb|0)>(ec|0)&(ec|0)>-5){ic=ca+-1|0;jc=hb+-1-ec|0}else{ic=ca+-2|0;jc=hb+-1|0}hb=$&8;if(hb|0){kc=ic;lc=jc;mc=hb;break}do if(gc){hb=c[hc+-4>>2]|0;if(!hb){nc=9;break}if(!((hb>>>0)%10|0)){oc=10;pc=0}else{nc=0;break}while(1){oc=oc*10|0;ba=pc+1|0;if((hb>>>0)%(oc>>>0)|0|0){nc=ba;break}else pc=ba}}else nc=9;while(0);hb=((hc-rb>>2)*9|0)+-9|0;if((ic|32|0)==102){ba=hb-nc|0;la=(ba|0)<0?0:ba;kc=ic;lc=(jc|0)<(la|0)?jc:la;mc=0;break}else{la=hb+ec-nc|0;hb=(la|0)<0?0:la;kc=ic;lc=(jc|0)<(hb|0)?jc:hb;mc=0;break}}else{kc=ca;lc=aa;mc=$&8}while(0);aa=lc|mc;rb=(aa|0)!=0&1;Cb=(kc|32|0)==102;if(Cb){qc=(ec|0)>0?ec:0;rc=0}else{qb=(ec|0)<0?nb:ec;hb=Bv(qb,((qb|0)<0)<<31>>31,B)|0;if((q-hb|0)<2){qb=hb;while(1){la=qb+-1|0;a[la>>0]=48;if((q-la|0)<2)qb=la;else{sc=la;break}}}else sc=hb;a[sc+-1>>0]=(ec>>31&2)+43;qb=sc+-2|0;a[qb>>0]=kc;qc=q-qb|0;rc=qb}qb=eb+1+lc+rb+qc|0;Dv(e,32,ua,qb,$);if(!(c[e>>2]&32))yv(fb,eb,e)|0;Dv(e,48,ua,qb,$^65536);do if(Cb){nb=dc>>>0>pb>>>0?pb:dc;la=nb;while(1){ba=Bv(c[la>>2]|0,0,I)|0;do if((la|0)==(nb|0)){if((ba|0)!=(I|0)){tc=ba;break}a[K>>0]=48;tc=K}else{if(ba>>>0<=p>>>0){tc=ba;break}Fx(p|0,48,ba-z|0)|0;ib=ba;while(1){gb=ib+-1|0;if(gb>>>0>p>>>0)ib=gb;else{tc=gb;break}}}while(0);if(!(c[e>>2]&32))yv(tc,J-tc|0,e)|0;ba=la+4|0;if(ba>>>0>pb>>>0){uc=ba;break}else la=ba}do if(aa|0){if(c[e>>2]&32|0)break;yv(67059,1,e)|0}while(0);if((lc|0)>0&uc>>>0<hc>>>0){la=lc;nb=uc;while(1){ba=Bv(c[nb>>2]|0,0,I)|0;if(ba>>>0>p>>>0){Fx(p|0,48,ba-z|0)|0;ib=ba;while(1){gb=ib+-1|0;if(gb>>>0>p>>>0)ib=gb;else{vc=gb;break}}}else vc=ba;if(!(c[e>>2]&32))yv(vc,(la|0)>9?9:la,e)|0;nb=nb+4|0;ib=la+-9|0;if(!((la|0)>9&nb>>>0<hc>>>0)){wc=ib;break}else la=ib}}else wc=lc;Dv(e,48,wc+9|0,9,0)}else{la=gc?hc:dc+4|0;if((lc|0)>-1){nb=(mc|0)==0;ib=lc;gb=dc;while(1){Bb=Bv(c[gb>>2]|0,0,I)|0;if((Bb|0)==(I|0)){a[K>>0]=48;xc=K}else xc=Bb;do if((gb|0)==(dc|0)){Bb=xc+1|0;if(!(c[e>>2]&32))yv(xc,1,e)|0;if(nb&(ib|0)<1){yc=Bb;break}if(c[e>>2]&32|0){yc=Bb;break}yv(67059,1,e)|0;yc=Bb}else{if(xc>>>0<=p>>>0){yc=xc;break}Fx(p|0,48,xc+A|0)|0;Bb=xc;while(1){ma=Bb+-1|0;if(ma>>>0>p>>>0)Bb=ma;else{yc=ma;break}}}while(0);ba=J-yc|0;if(!(c[e>>2]&32))yv(yc,(ib|0)>(ba|0)?ba:ib,e)|0;Bb=ib-ba|0;gb=gb+4|0;if(!(gb>>>0<la>>>0&(Bb|0)>-1)){zc=Bb;break}else ib=Bb}}else zc=lc;Dv(e,48,zc+18|0,18,0);if(c[e>>2]&32|0)break;yv(rc,q-rc|0,e)|0}while(0);Dv(e,32,ua,qb,$^8192);ub=(qb|0)<(ua|0)?ua:qb}else{aa=(ca&32|0)!=0;pb=db!=db|0.0!=0.0;Cb=pb?0:eb;rb=Cb+3|0;Dv(e,32,ua,rb,Z);hb=c[e>>2]|0;if(!(hb&32)){yv(fb,Cb,e)|0;Ac=c[e>>2]|0}else Ac=hb;if(!(Ac&32))yv(pb?(aa?67051:67055):aa?67043:67047,3,e)|0;Dv(e,32,ua,rb,$^8192);ub=(rb|0)<(ua|0)?ua:rb}while(0);L=P;M=ub;N=sa;O=Ca;continue a;break}default:{Ua=O;Va=$;Wa=Aa;Xa=0;Ya=67007;Za=w}}while(0);g:do if((S|0)==64){S=0;ca=r;f=c[ca>>2]|0;ka=c[ca+4>>2]|0;ca=Ja&32;if(!((f|0)==0&(ka|0)==0)){rb=w;aa=f;f=ka;while(1){ka=rb+-1|0;a[ka>>0]=d[66991+(aa&15)>>0]|ca;aa=Cx(aa|0,f|0,4)|0;f=C;if((aa|0)==0&(f|0)==0){Bc=ka;break}else rb=ka}rb=r;if((Ha&8|0)==0|(c[rb>>2]|0)==0&(c[rb+4>>2]|0)==0){La=Bc;Ma=Ha;Na=Ia;Oa=0;Pa=67007;S=77}else{La=Bc;Ma=Ha;Na=Ia;Oa=2;Pa=67007+(Ja>>4)|0;S=77}}else{La=w;Ma=Ha;Na=Ia;Oa=0;Pa=67007;S=77}}else if((S|0)==76){S=0;La=Bv(Qa,Ra,w)|0;Ma=$;Na=Aa;Oa=Sa;Pa=Ta;S=77}else if((S|0)==82){S=0;rb=Cv(_a,0,Aa)|0;f=(rb|0)==0;Ua=_a;Va=Z;Wa=f?Aa:rb-_a|0;Xa=0;Ya=67007;Za=f?_a+Aa|0:rb}else if((S|0)==86){S=0;rb=0;f=0;aa=$a;while(1){ca=c[aa>>2]|0;if(!ca){Cc=rb;Dc=f;break}ka=Ev(u,ca)|0;if((ka|0)<0|ka>>>0>(ab-rb|0)>>>0){Cc=rb;Dc=ka;break}ca=ka+rb|0;if(ab>>>0>ca>>>0){rb=ca;f=ka;aa=aa+4|0}else{Cc=ca;Dc=ka;break}}if((Dc|0)<0){qa=-1;break a}Dv(e,32,ua,Cc,$);if(!Cc){bb=0;S=97}else{aa=0;f=$a;while(1){rb=c[f>>2]|0;if(!rb){bb=Cc;S=97;break g}ka=Ev(u,rb)|0;aa=ka+aa|0;if((aa|0)>(Cc|0)){bb=Cc;S=97;break g}if(!(c[e>>2]&32))yv(u,ka,e)|0;if(aa>>>0>=Cc>>>0){bb=Cc;S=97;break}else f=f+4|0}}}while(0);if((S|0)==97){S=0;Dv(e,32,ua,bb,$^8192);L=P;M=(ua|0)>(bb|0)?ua:bb;N=sa;O=Ca;continue}if((S|0)==77){S=0;Z=(Na|0)>-1?Ma&-65537:Ma;f=r;aa=(c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0;if((Na|0)!=0|aa){f=(aa&1^1)+(x-La)|0;Ua=La;Va=Z;Wa=(Na|0)>(f|0)?Na:f;Xa=Oa;Ya=Pa;Za=w}else{Ua=w;Va=Z;Wa=0;Xa=Oa;Ya=Pa;Za=w}}Z=Za-Ua|0;f=(Wa|0)<(Z|0)?Z:Wa;aa=Xa+f|0;ka=(ua|0)<(aa|0)?aa:ua;Dv(e,32,ka,aa,Va);if(!(c[e>>2]&32))yv(Ya,Xa,e)|0;Dv(e,48,ka,aa,Va^65536);Dv(e,48,f,Z,0);if(!(c[e>>2]&32))yv(Ua,Z,e)|0;Dv(e,32,ka,aa,Va^8192);L=P;M=ka;N=sa;O=Ca}h:do if((S|0)==244)if(!e)if(R){Ca=1;while(1){O=c[l+(Ca<<2)>>2]|0;if(!O){Ec=Ca;break}Av(j+(Ca<<3)|0,O,g);Ca=Ca+1|0;if((Ca|0)>=10){qa=1;break h}}if((Ec|0)<10){Ca=Ec;while(1){if(c[l+(Ca<<2)>>2]|0){qa=-1;break h}Ca=Ca+1|0;if((Ca|0)>=10){qa=1;break}}}else qa=1}else qa=0;else qa=Q;while(0);i=m;return qa|0}function yv(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(!(zv(e)|0)){h=c[f>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=e+20|0;f=c[g>>2]|0;k=f;if((h-f|0)>>>0<d>>>0){j=vb[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){l=d;m=b;n=k;o=0;break b}p=f+-1|0;if((a[b+p>>0]|0)==10){q=f;break}else f=p}if((vb[c[e+36>>2]&63](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=k;o=0}while(0);Dx(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 zv(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 Av(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 Bv(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=Ox(f|0,g|0,10,0)|0;h=e+-1|0;a[h>>0]=c|48;c=Nx(f|0,g|0,10,0)|0;if(g>>>0>9|(g|0)==9&f>>>0>4294967295){e=h;f=c;g=C}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 Cv(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|0){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?u:0)|0}function Dv(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;Fx(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){yv(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;yv(h,q,a)|0}while(0);i=g;return}function Ev(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=Fv(a,b,0)|0;return c|0}function Fv(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[(Yu()|0)>>2]=84;f=-1;break}}else f=1;while(0);return f|0}function Gv(a,b){a=+a;b=b|0;return +(+Hv(a,b))}function Hv(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=Cx(d|0,e|0,52)|0;g=f&2047;switch(g|0){case 0:{if(a!=0.0){i=+Hv(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 Iv(a){a=a|0;return 0}function Jv(a){a=a|0;var b=0;b=(nv(a)|0)==0;return (b?a:a&95)|0}function Kv(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 Lv(a){a=a|0;return ((a|0)==223|(jv(a)|0)!=(a|0))&1|0}function Mv(a){a=a|0;var b=0;if(a>>>0>=255)if((a+-57344|0)>>>0<8185|(a>>>0<8232|(a+-8234|0)>>>0<47062))b=1;else return ((a+-65532|0)>>>0>1048579|(a&65534|0)==65534)&1^1|0;else b=(a+1&127)>>>0>32&1;return b|0}function Nv(a,b){a=a|0;b=b|0;var c=0;do switch(b|0){case 1:{c=Ov(a)|0;break}case 2:{c=lv(a)|0;break}case 3:{c=ev(a)|0;break}case 4:{c=Qv(a)|0;break}case 5:{c=Pv(a)|0;break}case 6:{c=Rv(a)|0;break}case 7:{c=Lv(a)|0;break}case 8:{c=Mv(a)|0;break}case 9:{c=Sv(a)|0;break}case 10:{c=pv(a)|0;break}case 11:{c=Tv(a)|0;break}case 12:{c=Uv(a)|0;break}default:c=0}while(0);return c|0}function Ov(a){a=a|0;var b=0;if(!(Pv(a)|0))b=(lv(a)|0)!=0;else b=1;return b&1|0}function Pv(a){a=a|0;return (a+-48|0)>>>0<10|0}function Qv(a){a=a|0;var b=0;if((a&-2|0)==8232|(a>>>0<32|(a+-127|0)>>>0<33))b=1;else b=(a+-65529|0)>>>0<3;return b&1|0}function Rv(a){a=a|0;var b=0;if(!(pv(a)|0))b=(Mv(a)|0)!=0;else b=0;return b&1|0}function Sv(a){a=a|0;var b=0;if(a>>>0<131072)b=(d[67061+((d[67061+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else b=0;return b|0}function Tv(a){a=a|0;return (mv(a)|0)!=(a|0)|0}function Uv(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 Vv(b,c){b=b|0;c=c|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[b>>0]|0;a:do if(!(e<<24>>24)){f=0;g=c}else{h=e;i=e&255;j=b;k=c;while(1){l=a[k>>0]|0;if(!(l<<24>>24)){f=h;g=k;break a}if(h<<24>>24!=l<<24>>24?(l=hv(i)|0,(l|0)!=(hv(d[k>>0]|0)|0)):0){m=j;n=k;break}j=j+1|0;l=k+1|0;o=a[j>>0]|0;if(!(o<<24>>24)){f=0;g=l;break a}else{h=o;i=o&255;k=l}}f=a[m>>0]|0;g=n}while(0);n=hv(f&255)|0;return n-(hv(d[g>>0]|0)|0)|0}function Wv(a,b){a=a|0;b=b|0;Xv(a,b)|0;return a|0}function Xv(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=d;a:do if(!((e^b)&3)){if(!(e&3)){f=d;g=b}else{h=b;i=d;while(1){j=a[i>>0]|0;a[h>>0]=j;if(!(j<<24>>24)){k=h;break a}j=i+1|0;l=h+1|0;if(!(j&3)){f=j;g=l;break}else{h=l;i=j}}}i=c[f>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009)){h=i;i=g;j=f;while(1){l=j+4|0;m=i+4|0;c[i>>2]=h;h=c[l>>2]|0;if((h&-2139062144^-2139062144)&h+-16843009|0){n=m;o=l;break}else{i=m;j=l}}}else{n=g;o=f}p=o;q=n;r=8}else{p=d;q=b;r=8}while(0);if((r|0)==8){r=a[p>>0]|0;a[q>>0]=r;if(!(r<<24>>24))k=q;else{r=q;q=p;while(1){q=q+1|0;p=r+1|0;b=a[q>>0]|0;a[p>>0]=b;if(!(b<<24>>24)){k=p;break}else r=p}}}return k|0}function Yv(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Zv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=_v(a,b,c,-1,0)|0;return d|0}function _v(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;$v(h,0);l=aw(h,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[j>>2]|0)+(c[h+108>>2]|0)-(c[k>>2]|0));i=g;return l|0}function $v(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function aw(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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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[(Yu()|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=bw(b)|0}while((Yv(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=bw(b)|0;r=m;break b}break}default:{q=o;r=0}}while(0);m=(e|0)==0;do if((e|16|0)==16&(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=bw(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=bw(b)|0;if((d[70230+y>>0]|0)>15){p=(c[l>>2]|0)==0;if(!p)c[k>>2]=(c[k>>2]|0)+-1;if(!f){$v(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[70230+q>>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;$v(b,0);c[(Yu()|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=bw(b)|0;p=B+-48|0;if(!(p>>>0<10&z>>>0<429496729)){D=z;E=B;break}else m=z}F=D;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=Mx(p|0,z|0,10,0)|0;J=C;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=Ax(I|0,J|0,A|0,K|0)|0;K=C;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=bw(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[70486+((t*23|0)>>>5&7)>>0]|0;A=a[70230+u>>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=bw(b)|0;L=a[70230+Y>>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=Cx(-1,-1,m|0)|0;p=C;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=Ix(fa|0,ga|0,m|0)|0;L=C;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=bw(b)|0;ha=a[70230+ia>>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[70230+u>>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=bw(b)|0;L=a[70230+ja>>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=Nx(-1,-1,t|0,0)|0;m=C;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=Mx(L|0,A|0,t|0,0)|0;ra=C;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=Ax(sa|0,0,I|0,ra|0)|0;ra=C;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=bw(b)|0;J=a[70230+ua>>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[70230+X>>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=bw(b)|0}while((d[70230+va>>0]|0)>>>0<U>>>0);c[(Yu()|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[(Yu()|0)>>2]=34;K=Ax(g|0,h|0,-1,-1)|0;i=C;j=K;break}if(R>>>0>h>>>0|(R|0)==(h|0)&S>>>0>g>>>0){c[(Yu()|0)>>2]=34;i=h;j=g;break}}K=((T|0)<0)<<31>>31;L=zx(S^T|0,R^K|0,T|0,K|0)|0;i=C;j=L}while(0);C=i;return j|0}function bw(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;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=cw(b)|0;if((f|0)>=0){h=c[e>>2]|0;e=c[b+8>>2]|0;if(h){i=c[b+4>>2]|0;j=h-(c[b+108>>2]|0)|0;h=e;if((e-i|0)<(j|0)){k=h;g=9}else{c[b+100>>2]=i+(j+-1);l=h}}else{k=e;g=9}if((g|0)==9){c[b+100>>2]=e;l=k}k=b+4|0;if(!l)m=c[k>>2]|0;else{e=c[k>>2]|0;k=b+108|0;c[k>>2]=l+1-e+(c[k>>2]|0);m=e}e=m+-1|0;if((d[e>>0]|0|0)==(f|0))n=f;else{a[e>>0]=f;n=f}}else g=4}if((g|0)==4){c[b+100>>2]=0;n=-1}return n|0}function cw(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?(dw(a)|0)!=0:0)f=-1;else if((vb[c[a+32>>2]&63](a,e,1)|0)==1)f=d[e>>0]|0;else f=-1;i=b;return f|0}function dw(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)vb[c[b+36>>2]&63](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 ew(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=fw(a,b,f)|0;i=e;return d|0} +function qn(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;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+8|0;n=e+4|0;o=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[l>>2]=nn(c[h>>2]|0)|0;c[l>>2]=c[l>>2]^c[(c[f>>2]|0)+4096+16>>2];c[m>>2]=nn((c[h>>2]|0)+4|0)|0;c[m>>2]=c[m>>2]^c[(c[f>>2]|0)+4096+20>>2];c[j>>2]=nn((c[h>>2]|0)+8|0)|0;c[j>>2]=c[j>>2]^c[(c[f>>2]|0)+4096+24>>2];c[k>>2]=nn((c[h>>2]|0)+12|0)|0;c[k>>2]=c[k>>2]^c[(c[f>>2]|0)+4096+28>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+124>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[j>>2]=(c[j>>2]<<1)+((c[j>>2]|0)>>>31);c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+120>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+116>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31);c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+112>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+108>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[j>>2]=(c[j>>2]<<1)+((c[j>>2]|0)>>>31);c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+104>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+100>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31);c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+96>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+92>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[j>>2]=(c[j>>2]<<1)+((c[j>>2]|0)>>>31);c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+88>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+84>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31);c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+80>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+76>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[j>>2]=(c[j>>2]<<1)+((c[j>>2]|0)>>>31);c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+72>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+68>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31);c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+64>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+60>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[j>>2]=(c[j>>2]<<1)+((c[j>>2]|0)>>>31);c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+56>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+52>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31);c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+48>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+44>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[j>>2]=(c[j>>2]<<1)+((c[j>>2]|0)>>>31);c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+40>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+36>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31);c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+32>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+28>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[j>>2]=(c[j>>2]<<1)+((c[j>>2]|0)>>>31);c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+24>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+20>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31);c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+16>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+12>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[j>>2]=(c[j>>2]<<1)+((c[j>>2]|0)>>>31);c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+8>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+4>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31);c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128>>2]|0);c[j>>2]=c[j>>2]^c[(c[f>>2]|0)+4096>>2];on(c[g>>2]|0,c[j>>2]|0);c[k>>2]=c[k>>2]^c[(c[f>>2]|0)+4096+4>>2];on((c[g>>2]|0)+4|0,c[k>>2]|0);c[l>>2]=c[l>>2]^c[(c[f>>2]|0)+4096+8>>2];on((c[g>>2]|0)+8|0,c[l>>2]|0);c[m>>2]=c[m>>2]^c[(c[f>>2]|0)+4096+12>>2];on((c[g>>2]|0)+12|0,c[m>>2]|0);i=e;return}function rn(){var a=0,b=0;a=i;i=i+16|0;c[a+8>>2]=4;c[a+4>>2]=16;c[a>>2]=4256;b=as(43442,13,14,8,4,16,4256)|0;i=a;return b|0}function sn(b,e,f,g,h){b=b|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+96|0;k=j+60|0;l=j+56|0;m=j+52|0;n=j+48|0;o=j+44|0;p=j+40|0;q=j+36|0;r=j+32|0;s=j+72|0;t=j+28|0;u=j+24|0;v=j+20|0;w=j+16|0;x=j+12|0;y=j+64|0;z=j;A=j+8|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[k>>2];c[q>>2]=c[m>>2];c[r>>2]=c[n>>2];c[u>>2]=0;while(1){if(!(c[o>>2]|0))break;c[t>>2]=ln(c[p>>2]|0,s,c[l>>2]|0)|0;if((c[t>>2]|0)>>>0>(c[u>>2]|0)>>>0)c[u>>2]=c[t>>2];tn(c[q>>2]|0,s,c[r>>2]|0,16);c[q>>2]=(c[q>>2]|0)+16;c[r>>2]=(c[r>>2]|0)+16;c[v>>2]=16;while(1){if((c[v>>2]|0)<=0)break;n=(c[l>>2]|0)+((c[v>>2]|0)-1)|0;a[n>>0]=(a[n>>0]|0)+1<<24>>24;if(a[(c[l>>2]|0)+((c[v>>2]|0)-1)>>0]|0)break;c[v>>2]=(c[v>>2]|0)+-1}c[o>>2]=(c[o>>2]|0)+-1}c[w>>2]=s;c[x>>2]=16;a[y>>0]=0;s=z;c[s>>2]=d[y>>0];c[s+4>>2]=0;while(1){if(!(c[w>>2]&7|0?(c[x>>2]|0)!=0:0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}if((c[x>>2]|0)>>>0>=8){s=z;o=Mx(c[s>>2]|0,c[s+4>>2]|0,16843009,16843009)|0;s=z;c[s>>2]=o;c[s+4>>2]=C;do{c[A>>2]=c[w>>2];s=z;o=c[s+4>>2]|0;v=c[A>>2]|0;c[v>>2]=c[s>>2];c[v+4>>2]=o;c[x>>2]=(c[x>>2]|0)-8;c[w>>2]=(c[w>>2]|0)+8}while((c[x>>2]|0)>>>0>=8)}while(1){if(!(c[x>>2]|0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}If(c[u>>2]|0);Jf();i=j;return}function tn(b,e,f,g){b=b|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+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function un(){var a=0,b=0;a=i;i=i+16|0;c[a+8>>2]=5;c[a+4>>2]=16;c[a>>2]=4256;b=Yr(43442,13,14,6,5,16,4256)|0;i=a;return b|0}function vn(b,e,f,g,h){b=b|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;j=i;i=i+80|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+28|0;s=j+64|0;t=j+24|0;u=j+20|0;v=j+16|0;w=j+12|0;x=j+60|0;y=j;z=j+8|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[k>>2];c[q>>2]=c[m>>2];c[r>>2]=c[n>>2];c[u>>2]=0;while(1){if(!(c[o>>2]|0))break;c[t>>2]=pn(c[p>>2]|0,s,c[r>>2]|0)|0;if((c[t>>2]|0)>>>0>(c[u>>2]|0)>>>0)c[u>>2]=c[t>>2];wn(c[q>>2]|0,s,c[l>>2]|0,c[r>>2]|0,16);c[r>>2]=(c[r>>2]|0)+16;c[q>>2]=(c[q>>2]|0)+16;c[o>>2]=(c[o>>2]|0)+-1}c[v>>2]=s;c[w>>2]=16;a[x>>0]=0;s=y;c[s>>2]=d[x>>0];c[s+4>>2]=0;while(1){if(!(c[v>>2]&7|0?(c[w>>2]|0)!=0:0))break;a[c[v>>2]>>0]=a[x>>0]|0;c[v>>2]=(c[v>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+-1}if((c[w>>2]|0)>>>0>=8){s=y;o=Mx(c[s>>2]|0,c[s+4>>2]|0,16843009,16843009)|0;s=y;c[s>>2]=o;c[s+4>>2]=C;do{c[z>>2]=c[v>>2];s=y;o=c[s+4>>2]|0;q=c[z>>2]|0;c[q>>2]=c[s>>2];c[q+4>>2]=o;c[w>>2]=(c[w>>2]|0)-8;c[v>>2]=(c[v>>2]|0)+8}while((c[w>>2]|0)>>>0>=8)}while(1){if(!(c[w>>2]|0))break;a[c[v>>2]>>0]=a[x>>0]|0;c[v>>2]=(c[v>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+-1}If(c[u>>2]|0);Jf();i=j;return}function wn(b,e,f,g,h){b=b|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;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+28|0;s=j+24|0;t=j+60|0;u=j+20|0;v=j+16|0;w=j+12|0;x=j+8|0;y=j+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[k>>2];c[q>>2]=c[m>>2];c[r>>2]=c[l>>2];c[s>>2]=c[n>>2];c[j>>2]=3;if(!((c[s>>2]|c[r>>2]|c[p>>2]|c[q>>2])&3)){c[u>>2]=c[p>>2];c[x>>2]=c[r>>2];c[v>>2]=c[q>>2];c[w>>2]=c[s>>2];while(1){if((c[o>>2]|0)>>>0<4)break;n=c[w>>2]|0;c[w>>2]=n+4;c[y>>2]=c[n>>2];n=c[c[v>>2]>>2]|0;l=c[x>>2]|0;c[x>>2]=l+4;m=n^c[l>>2];l=c[u>>2]|0;c[u>>2]=l+4;c[l>>2]=m;m=c[y>>2]|0;l=c[v>>2]|0;c[v>>2]=l+4;c[l>>2]=m;c[o>>2]=(c[o>>2]|0)-4}c[p>>2]=c[u>>2];c[r>>2]=c[x>>2];c[q>>2]=c[v>>2];c[s>>2]=c[w>>2]}while(1){if(!(c[o>>2]|0))break;w=c[s>>2]|0;c[s>>2]=w+1;a[t>>0]=a[w>>0]|0;w=d[c[q>>2]>>0]|0;v=c[r>>2]|0;c[r>>2]=v+1;x=(w^(d[v>>0]|0))&255;v=c[p>>2]|0;c[p>>2]=v+1;a[v>>0]=x;x=a[t>>0]|0;v=c[q>>2]|0;c[q>>2]=v+1;a[v>>0]=x;c[o>>2]=(c[o>>2]|0)+-1}i=j;return}function xn(){var a=0,b=0;a=i;i=i+16|0;c[a+8>>2]=5;c[a+4>>2]=16;c[a>>2]=4256;b=_r(43442,13,14,7,5,16,4256)|0;i=a;return b|0}function yn(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;g=i;i=i+48|0;h=g+36|0;j=g+32|0;k=g+28|0;l=g+24|0;m=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;q=g+4|0;r=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[h>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[r>>2]=0;while(1){if(!(c[m>>2]|0))break;c[q>>2]=ln(c[n>>2]|0,c[j>>2]|0,c[j>>2]|0)|0;if((c[q>>2]|0)>>>0>(c[r>>2]|0)>>>0)c[r>>2]=c[q>>2];zn(c[o>>2]|0,c[j>>2]|0,c[p>>2]|0,16);c[o>>2]=(c[o>>2]|0)+16;c[p>>2]=(c[p>>2]|0)+16;c[m>>2]=(c[m>>2]|0)+-1}If(c[r>>2]|0);Jf();i=g;return}function zn(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;wn(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}function An(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[17706]=c[e>>2];c[17707]=c[f>>2];i=d;return}function Bn(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[17706]|0)){i=f;return}wb[c[17706]&15](c[17707]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}function Cn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;do if(c[d>>2]|0){if((c[d>>2]|0)==1){c[17709]=1;break}if(!(c[17708]|0)){if((c[d>>2]|0)==2){c[17710]=1;break}if((c[d>>2]|0)==3)c[17711]=1}}else c[17708]=1;while(0);i=b;return}function Dn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(Ah()|0){et(c[d>>2]|0);i=b;return}if(c[17709]|0){Fs(c[d>>2]|0);i=b;return}if(c[17710]|0){et(c[d>>2]|0);i=b;return}a=c[d>>2]|0;if(c[17711]|0){It(a);i=b;return}else{Fs(a);i=b;return}}function En(){if(Ah()|0){kt();return}if(c[17709]|0){Ps();return}if(c[17710]|0){kt();return}if(c[17711]|0){Kt();return}else{Ps();return}}function Fn(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(!(c[e>>2]|0)?Ah()|0:0)c[d>>2]=2;else f=4;do if((f|0)==4){if(c[17709]|0){c[d>>2]=1;break}if(c[17710]|0){c[d>>2]=2;break}if(c[17711]|0){c[d>>2]=3;break}else{c[d>>2]=1;break}}while(0);i=b;return c[d>>2]|0}function Gn(){if(Ah()|0){lt();return}else{Qs();return}}function Hn(){if(Ah()|0)return;Rs();return}function In(){if(Ah()|0)return;Ss();return}function Jn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(Ah()|0){i=b;return}Ts(c[d>>2]|0);i=b;return}function Kn(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(Ah()|0)c[d>>2]=0;else c[d>>2]=Us(c[e>>2]|0)|0;i=b;return c[d>>2]|0}function Ln(){var a=0,b=0;a=i;i=i+16|0;b=a;if(Ah()|0)c[b>>2]=mt()|0;else c[b>>2]=Vs()|0;i=a;return c[b>>2]|0}function Mn(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+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=dg(c[e>>2]|0)|0;Nn(c[g>>2]|0,c[e>>2]|0,c[f>>2]|0);i=d;return c[g>>2]|0}function Nn(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(Ah()|0){nt(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}if(c[17709]|0){Ws(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}if(c[17710]|0){nt(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}d=c[f>>2]|0;f=c[g>>2]|0;g=c[h>>2]|0;if(c[17711]|0){Nt(d,f,g);i=e;return}else{Ws(d,f,g);i=e;return}}function On(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+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=fg(c[e>>2]|0)|0;Nn(c[g>>2]|0,c[e>>2]|0,c[f>>2]|0);i=d;return c[g>>2]|0}function Pn(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;Nn(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function Qn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(Ah()|0){i=b;return}if(c[17709]|0){bt(c[d>>2]|0);i=b;return}if((c[17710]|0)!=0|(c[17711]|0)!=0){i=b;return}bt(c[d>>2]|0);i=b;return}function Rn(){if(Ah()|0)return;if(c[17709]|0){ct();return}if((c[17710]|0)!=0|(c[17711]|0)!=0)return;ct();return}function Sn(){if(Ah()|0)return;if(c[17709]|0){dt();return}if((c[17710]|0)!=0|(c[17711]|0)!=0)return;dt();return}function Tn(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+8|0;g=e;h=e+40|0;j=e+36|0;k=e+32|0;l=e+28|0;m=e+24|0;n=e+20|0;o=e+16|0;p=e+12|0;c[h>>2]=b;c[j>>2]=d;if(Ah()|0){At(c[h>>2]|0,c[j>>2]|0);i=e;return}Dn(1);c[n>>2]=lu(12532)|0;if(c[n>>2]|0){c[g>>2]=fu(c[n>>2]|0)|0;Bf(45492,g)}c[k>>2]=Dw()|0;if(c[17712]|0){if((c[17713]|0)!=(c[k>>2]|0)){Nn(76451,8,0);c[17713]=c[k>>2]}}else{c[o>>2]=jb(0)|0;c[p>>2]=c[k>>2];c[17713]=c[k>>2];c[l>>2]=76431;k=c[l>>2]|0;a[k>>0]=a[p>>0]|0;a[k+1>>0]=a[p+1>>0]|0;a[k+2>>0]=a[p+2>>0]|0;a[k+3>>0]=a[p+3>>0]|0;c[l>>2]=(c[l>>2]|0)+4;p=c[l>>2]|0;a[p>>0]=a[o>>0]|0;a[p+1>>0]=a[o+1>>0]|0;a[p+2>>0]=a[o+2>>0]|0;a[p+3>>0]=a[o+3>>0]|0;Pn(76451,8,0);c[17712]=1}c[l>>2]=c[h>>2];while(1){if((c[j>>2]|0)>>>0<=0)break;Bm(76431,76431,28);c[m>>2]=(c[j>>2]|0)>>>0>20?20:c[j>>2]|0;Dx(c[l>>2]|0,76431,c[m>>2]|0)|0;c[j>>2]=(c[j>>2]|0)-(c[m>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0)}c[n>>2]=mu(12532)|0;if(c[n>>2]|0){c[f>>2]=fu(c[n>>2]|0)|0;Bf(45537,f)}else{i=e;return}}function Un(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(Ah()|0)c[d>>2]=Bt(c[e>>2]|0)|0;else c[d>>2]=0;i=b;return c[d>>2]|0}function Vn(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;k=i;i=i+48|0;l=k+32|0;m=k+28|0;n=k+24|0;o=k+20|0;p=k+16|0;q=k+12|0;r=k+8|0;s=k+4|0;t=k;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;if(Ah()|0){c[l>>2]=Ft(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;u=c[l>>2]|0;i=k;return u|0}else{c[l>>2]=60;u=c[l>>2]|0;i=k;return u|0}return 0}function Wn(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+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(Ah()|0){c[f>>2]=Gt(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;k=c[f>>2]|0;i=e;return k|0}else{c[f>>2]=60;k=c[f>>2]|0;i=e;return k|0}return 0}function Xn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(Ah()|0)){i=b;return}Ht(c[d>>2]|0);i=b;return}function Yn(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;f=i;i=i+144|0;g=f+8|0;h=f;j=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+32|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;e=c[j>>2]|0;if(!(c[k>>2]|0)){c[h>>2]=e;tv(o,99,45582,h)|0;Hf(o,0);i=f;return}c[g>>2]=e;tv(o,99,45587,g)|0;if(c[l>>2]|0){c[m>>2]=vq(0)|0;c[n>>2]=vq(0)|0}if(c[l>>2]|0?!(Zn(c[m>>2]|0,c[n>>2]|0,c[k>>2]|0,c[l>>2]|0)|0):0){a[o+((Kv(o)|0)-1)>>0]=120;Hf(o,c[m>>2]|0);a[o+((Kv(o)|0)-1)>>0]=121;Hf(o,c[n>>2]|0)}else{Hf(o,c[c[k>>2]>>2]|0);a[o+((Kv(o)|0)-1)>>0]=89;Hf(o,c[(c[k>>2]|0)+4>>2]|0);a[o+((Kv(o)|0)-1)>>0]=90;Hf(o,c[(c[k>>2]|0)+8>>2]|0)}if(!(c[l>>2]|0)){i=f;return}xq(c[m>>2]|0);xq(c[n>>2]|0);i=f;return}function Zn(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+48|0;g=f;h=f+40|0;j=f+36|0;k=f+32|0;l=f+28|0;m=f+24|0;n=f+20|0;o=f+16|0;p=f+12|0;q=f+8|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;if(!($o(c[(c[l>>2]|0)+8>>2]|0,0)|0)){c[h>>2]=-1;r=c[h>>2]|0;i=f;return r|0}switch(c[c[m>>2]>>2]|0){case 0:{c[n>>2]=vq(0)|0;c[o>>2]=vq(0)|0;_n(c[n>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[m>>2]|0);$n(c[o>>2]|0,c[n>>2]|0,c[n>>2]|0,c[m>>2]|0);if(c[j>>2]|0)$n(c[j>>2]|0,c[c[l>>2]>>2]|0,c[o>>2]|0,c[m>>2]|0);if(c[k>>2]|0){c[p>>2]=vq(0)|0;$n(c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0);$n(c[k>>2]|0,c[(c[l>>2]|0)+4>>2]|0,c[p>>2]|0,c[m>>2]|0);hq(c[p>>2]|0)}hq(c[o>>2]|0);hq(c[n>>2]|0);c[h>>2]=0;r=c[h>>2]|0;i=f;return r|0}case 1:{if(c[j>>2]|0)oq(c[j>>2]|0,c[c[l>>2]>>2]|0)|0;if(c[k>>2]|0){c[g>>2]=45683;c[g+4>>2]=45707;Bf(45634,g)}c[h>>2]=0;r=c[h>>2]|0;i=f;return r|0}case 2:{c[q>>2]=vq(0)|0;_n(c[q>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[m>>2]|0);if(c[j>>2]|0)$n(c[j>>2]|0,c[c[l>>2]>>2]|0,c[q>>2]|0,c[m>>2]|0);if(c[k>>2]|0)$n(c[k>>2]|0,c[(c[l>>2]|0)+4>>2]|0,c[q>>2]|0,c[m>>2]|0);xq(c[q>>2]|0);c[h>>2]=0;r=c[h>>2]|0;i=f;return r|0}default:{c[h>>2]=-1;r=c[h>>2]|0;i=f;return r|0}}return 0}function _n(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+16|0;f=e+12|0;g=e+8|0;h=e+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(pp(c[f>>2]|0,c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0)|0){i=e;return}Af(45592,e);Hf(45626,c[g>>2]|0);Hf(45630,c[(c[h>>2]|0)+16>>2]|0);i=e;return}function $n(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;up(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);ao(c[g>>2]|0,c[k>>2]|0);i=f;return}function ao(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;a=c[e>>2]|0;e=c[f>>2]|0;if(c[(c[f>>2]|0)+48+12>>2]|0){tp(b,a,c[e+48+12>>2]|0);i=d;return}else{qp(b,a,c[e+16>>2]|0);i=d;return}}function bo(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[b+4>>2]=a;c[d>>2]=dg(12)|0;co(c[d>>2]|0);i=b;return c[d>>2]|0}function co(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=vq(0)|0;c[c[d>>2]>>2]=a;a=vq(0)|0;c[(c[d>>2]|0)+4>>2]=a;a=vq(0)|0;c[(c[d>>2]|0)+8>>2]=a;i=b;return}function eo(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}fo(c[d>>2]|0);$f(c[d>>2]|0);i=b;return}function fo(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;hq(c[c[d>>2]>>2]|0);c[c[d>>2]>>2]=0;hq(c[(c[d>>2]|0)+4>>2]|0);c[(c[d>>2]|0)+4>>2]=0;hq(c[(c[d>>2]|0)+8>>2]|0);c[(c[d>>2]|0)+8>>2]=0;i=b;return}function go(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[g>>2]|0))c[g>>2]=bo(0)|0;e=c[c[g>>2]>>2]|0;if(c[h>>2]|0)oq(e,c[h>>2]|0)|0;else fq(e);e=c[(c[g>>2]|0)+4>>2]|0;if(c[j>>2]|0)oq(e,c[j>>2]|0)|0;else fq(e);e=c[(c[g>>2]|0)+8>>2]|0;if(c[k>>2]|0){oq(e,c[k>>2]|0)|0;l=c[g>>2]|0;i=f;return l|0}else{fq(e);l=c[g>>2]|0;i=f;return l|0}return 0}function ho(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[g>>2]|0))c[g>>2]=bo(0)|0;e=c[c[g>>2]>>2]|0;if(c[h>>2]|0)qq(e,c[h>>2]|0);else fq(e);e=c[(c[g>>2]|0)+4>>2]|0;if(c[j>>2]|0)qq(e,c[j>>2]|0);else fq(e);e=c[(c[g>>2]|0)+8>>2]|0;if(c[k>>2]|0){qq(e,c[k>>2]|0);l=c[g>>2]|0;i=f;return l|0}else{fq(e);l=c[g>>2]|0;i=f;return l|0}return 0}function io(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+48|0;a[b>>0]=a[b>>0]&-2;b=(c[e>>2]|0)+48|0;a[b>>0]=a[b>>0]&-3;i=d;return}function jo(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;h=i;i=i+32|0;j=h+24|0;k=h+20|0;l=h+16|0;m=h+12|0;n=h+8|0;o=h+4|0;p=h;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=gg(1,108)|0;ko(c[p>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0);i=h;return c[p>>2]|0}function ko(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,n=0,o=0,p=0,q=0,r=0,s=0;j=i;i=i+32|0;k=j+28|0;l=j+24|0;m=j+20|0;n=j+16|0;o=j+12|0;p=j+8|0;q=j+4|0;r=j;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;do if(!(c[17714]|0))if(Ya(45718)|0){c[17714]=1;break}else{c[17714]=-1;break}while(0);c[c[k>>2]>>2]=c[l>>2];c[(c[k>>2]|0)+4>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=c[n>>2];if((c[m>>2]|0)==1)c[(c[k>>2]|0)+12>>2]=256;else{m=Ro(c[o>>2]|0)|0;c[(c[k>>2]|0)+12>>2]=m}m=mq(c[o>>2]|0)|0;c[(c[k>>2]|0)+16>>2]=m;m=mq(c[p>>2]|0)|0;c[(c[k>>2]|0)+20>>2]=m;m=mq(c[q>>2]|0)|0;c[(c[k>>2]|0)+24>>2]=m;if((c[17714]|0)>0)s=rp(c[(c[k>>2]|0)+16>>2]|0,0)|0;else s=0;c[(c[k>>2]|0)+48+12>>2]=s;io(c[k>>2]|0);c[r>>2]=0;while(1){if((c[r>>2]|0)>>>0>=11)break;s=pq(c[(c[k>>2]|0)+16>>2]|0)|0;c[(c[k>>2]|0)+48+16+(c[r>>2]<<2)>>2]=s;c[r>>2]=(c[r>>2]|0)+1}i=j;return}function lo(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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=i;i=i+48|0;k=j+36|0;l=j+32|0;m=j+28|0;n=j+24|0;o=j+20|0;p=j+16|0;q=j+12|0;r=j+8|0;s=j+4|0;t=j;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[c[l>>2]>>2]=0;if(!((c[p>>2]|0)!=0&(c[q>>2]|0)!=0)){c[k>>2]=32816;u=c[k>>2]|0;i=j;return u|0}c[s>>2]=Wh(1,108,5)|0;if(c[s>>2]|0){c[t>>2]=Xh(c[s>>2]|0,1)|0;ko(c[t>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0);c[c[l>>2]>>2]=c[s>>2];c[k>>2]=0;u=c[k>>2]|0;i=j;return u|0}else{c[k>>2]=iu()|0;u=c[k>>2]|0;i=j;return u|0}return 0}function mo(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[d>>2];sp(c[(c[e>>2]|0)+48+12>>2]|0);hq(c[(c[e>>2]|0)+16>>2]|0);hq(c[(c[e>>2]|0)+20>>2]|0);hq(c[(c[e>>2]|0)+24>>2]|0);eo(c[(c[e>>2]|0)+28>>2]|0);hq(c[(c[e>>2]|0)+32>>2]|0);hq(c[(c[e>>2]|0)+36>>2]|0);eo(c[(c[e>>2]|0)+40>>2]|0);hq(c[(c[e>>2]|0)+44>>2]|0);hq(c[(c[e>>2]|0)+48+8>>2]|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=11)break;hq(c[(c[e>>2]|0)+48+16+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=b;return}function no(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}mo(c[d>>2]|0);$f(c[d>>2]|0);i=b;return}function oo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=Xh(c[g>>2]|0,1)|0;g=Ei(c[f>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=e;return g|0}function po(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+16|0;f=e+12|0;g=e+8|0;h=e;c[f>>2]=a;c[g>>2]=b;c[e+4>>2]=d;c[h>>2]=Xh(c[g>>2]|0,1)|0;g=Fi(c[f>>2]|0,c[h>>2]|0)|0;i=e;return g|0}function qo(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;switch(c[c[h>>2]>>2]|0){case 0:{ro(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}case 1:{yo(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}case 2:{zo(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}default:{i=e;return}}}function ro(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if($o(c[(c[g>>2]|0)+4>>2]|0,0)|0?$o(c[(c[g>>2]|0)+8>>2]|0,0)|0:0){d=(so(c[h>>2]|0)|0)!=0;b=(c[h>>2]|0)+48+16|0;if(d){to(c[b>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[h>>2]|0);uo(c[(c[h>>2]|0)+48+16+12>>2]|0,c[c[g>>2]>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[h>>2]|0);d=c[(c[h>>2]|0)+48+16+12>>2]|0;a=c[(c[h>>2]|0)+48+16+12>>2]|0;j=Aq(3)|0;$n(d,a,j,c[h>>2]|0);vo(c[(c[h>>2]|0)+48+16+4>>2]|0,c[c[g>>2]>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[h>>2]|0);$n(c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16+4>>2]|0,c[h>>2]|0)}else{to(c[b+12>>2]|0,c[c[g>>2]>>2]|0,c[h>>2]|0);b=c[(c[h>>2]|0)+48+16+12>>2]|0;j=c[(c[h>>2]|0)+48+16+12>>2]|0;a=Aq(3)|0;$n(b,j,a,c[h>>2]|0);a=c[(c[h>>2]|0)+48+16>>2]|0;j=c[(c[g>>2]|0)+8>>2]|0;b=Aq(4)|0;wo(a,j,b,c[h>>2]|0);$n(c[(c[h>>2]|0)+48+16>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[(c[h>>2]|0)+20>>2]|0,c[h>>2]|0);vo(c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[h>>2]|0)}$n(c[(c[f>>2]|0)+8>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[h>>2]|0);xo(c[(c[f>>2]|0)+8>>2]|0,c[(c[f>>2]|0)+8>>2]|0,c[h>>2]|0);to(c[(c[h>>2]|0)+48+16+4>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0);$n(c[(c[h>>2]|0)+48+16+16>>2]|0,c[(c[h>>2]|0)+48+16+4>>2]|0,c[c[g>>2]>>2]|0,c[h>>2]|0);g=c[(c[h>>2]|0)+48+16+16>>2]|0;b=c[(c[h>>2]|0)+48+16+16>>2]|0;j=Aq(4)|0;$n(g,b,j,c[h>>2]|0);to(c[c[f>>2]>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0,c[h>>2]|0);xo(c[(c[h>>2]|0)+48+16>>2]|0,c[(c[h>>2]|0)+48+16+16>>2]|0,c[h>>2]|0);uo(c[c[f>>2]>>2]|0,c[c[f>>2]>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[h>>2]|0);to(c[(c[h>>2]|0)+48+16+4>>2]|0,c[(c[h>>2]|0)+48+16+4>>2]|0,c[h>>2]|0);j=c[(c[h>>2]|0)+48+16+20>>2]|0;b=c[(c[h>>2]|0)+48+16+4>>2]|0;g=Aq(5)|0;$n(j,b,g,c[h>>2]|0);uo(c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+48+16+16>>2]|0,c[c[f>>2]>>2]|0,c[h>>2]|0);$n(c[(c[f>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0,c[h>>2]|0);uo(c[(c[f>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+48+16+20>>2]|0,c[h>>2]|0);i=e;return}sq(c[c[f>>2]>>2]|0,1)|0;sq(c[(c[f>>2]|0)+4>>2]|0,1)|0;sq(c[(c[f>>2]|0)+8>>2]|0,0)|0;i=e;return}function so(b){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+4|0;f=d;c[e>>2]=b;if(a[(c[e>>2]|0)+48>>0]&1|0){g=c[e>>2]|0;h=g+48|0;j=h+4|0;k=c[j>>2]|0;i=d;return k|0}b=(c[e>>2]|0)+48|0;a[b>>0]=a[b>>0]&-2|1;c[f>>2]=pq(c[(c[e>>2]|0)+16>>2]|0)|0;Mo(c[f>>2]|0,c[(c[e>>2]|0)+16>>2]|0,3);b=((ap(c[(c[e>>2]|0)+20>>2]|0,c[f>>2]|0)|0)!=0^1)&1;c[(c[e>>2]|0)+48+4>>2]=b;hq(c[f>>2]|0);g=c[e>>2]|0;h=g+48|0;j=h+4|0;k=c[j>>2]|0;i=d;return k|0}function to(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;$n(c[f>>2]|0,c[g>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function uo(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[f>>2]=e;No(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);i=f;return}function vo(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;Lo(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);ao(c[g>>2]|0,c[k>>2]|0);i=f;return}function wo(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;wp(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0);i=f;return}function xo(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;_o(c[f>>2]|0,c[g>>2]|0,1);ao(c[f>>2]|0,c[h>>2]|0);i=e;return}function yo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+32|0;f=e;c[e+16>>2]=a;c[e+12>>2]=b;c[e+8>>2]=d;c[f>>2]=45759;c[f+4>>2]=45707;Bf(45733,f)}function zo(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;vo(c[(c[h>>2]|0)+48+16>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0);to(c[(c[h>>2]|0)+48+16>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[h>>2]|0);to(c[(c[h>>2]|0)+48+16+4>>2]|0,c[c[g>>2]>>2]|0,c[h>>2]|0);to(c[(c[h>>2]|0)+48+16+8>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0);d=c[(c[h>>2]|0)+48+16+12>>2]|0;b=c[h>>2]|0;if((c[(c[h>>2]|0)+4>>2]|0)==1){oq(d,c[b+48+16+4>>2]|0)|0;nq(c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0)}else $n(d,c[b+20>>2]|0,c[(c[h>>2]|0)+48+16+4>>2]|0,c[h>>2]|0);vo(c[(c[h>>2]|0)+48+16+16>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16+8>>2]|0,c[h>>2]|0);to(c[(c[h>>2]|0)+48+16+20>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[h>>2]|0);xo(c[(c[h>>2]|0)+48+16+24>>2]|0,c[(c[h>>2]|0)+48+16+20>>2]|0,c[h>>2]|0);uo(c[(c[h>>2]|0)+48+16+24>>2]|0,c[(c[h>>2]|0)+48+16+16>>2]|0,c[(c[h>>2]|0)+48+16+24>>2]|0,c[h>>2]|0);uo(c[c[f>>2]>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[(c[h>>2]|0)+48+16+4>>2]|0,c[h>>2]|0);uo(c[c[f>>2]>>2]|0,c[c[f>>2]>>2]|0,c[(c[h>>2]|0)+48+16+8>>2]|0,c[h>>2]|0);$n(c[c[f>>2]>>2]|0,c[c[f>>2]>>2]|0,c[(c[h>>2]|0)+48+16+24>>2]|0,c[h>>2]|0);uo(c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16+8>>2]|0,c[h>>2]|0);$n(c[(c[f>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+48+16+16>>2]|0,c[h>>2]|0);$n(c[(c[f>>2]|0)+8>>2]|0,c[(c[h>>2]|0)+48+16+16>>2]|0,c[(c[h>>2]|0)+48+16+24>>2]|0,c[h>>2]|0);i=e;return}function Ao(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;switch(c[c[k>>2]>>2]|0){case 0:{Bo(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}case 1:{Do(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}case 2:{Eo(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}default:{i=f;return}}}function Bo(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+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;m=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if(((ap(c[c[h>>2]>>2]|0,c[c[j>>2]>>2]|0)|0)==0?(ap(c[(c[h>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0)==0:0)?(ap(c[(c[h>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+8>>2]|0)|0)==0:0){qo(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0);i=f;return}if(!($o(c[(c[h>>2]|0)+8>>2]|0,0)|0)){oq(c[c[g>>2]>>2]|0,c[c[j>>2]>>2]|0)|0;oq(c[(c[g>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;oq(c[(c[g>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+8>>2]|0)|0;i=f;return}if(!($o(c[(c[j>>2]|0)+8>>2]|0,0)|0)){oq(c[c[g>>2]>>2]|0,c[c[h>>2]>>2]|0)|0;oq(c[(c[g>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+4>>2]|0)|0;oq(c[(c[g>>2]|0)+8>>2]|0,c[(c[h>>2]|0)+8>>2]|0)|0;i=f;return}c[l>>2]=(($o(c[(c[h>>2]|0)+8>>2]|0,1)|0)!=0^1)&1;c[m>>2]=(($o(c[(c[j>>2]|0)+8>>2]|0,1)|0)!=0^1)&1;e=c[(c[k>>2]|0)+48+16>>2]|0;if(c[m>>2]|0)oq(e,c[c[h>>2]>>2]|0)|0;else{to(e,c[(c[j>>2]|0)+8>>2]|0,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16>>2]|0,c[(c[k>>2]|0)+48+16>>2]|0,c[c[h>>2]>>2]|0,c[k>>2]|0)}e=c[(c[k>>2]|0)+48+16+4>>2]|0;if(c[l>>2]|0)oq(e,c[c[j>>2]>>2]|0)|0;else{to(e,c[(c[h>>2]|0)+8>>2]|0,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+4>>2]|0,c[(c[k>>2]|0)+48+16+4>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0)}uo(c[(c[k>>2]|0)+48+16+8>>2]|0,c[(c[k>>2]|0)+48+16>>2]|0,c[(c[k>>2]|0)+48+16+4>>2]|0,c[k>>2]|0);e=c[(c[k>>2]|0)+48+16+12>>2]|0;l=c[(c[j>>2]|0)+8>>2]|0;m=Aq(3)|0;wo(e,l,m,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+12>>2]|0,c[(c[k>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[k>>2]|0);m=c[(c[k>>2]|0)+48+16+16>>2]|0;l=c[(c[h>>2]|0)+8>>2]|0;e=Aq(3)|0;wo(m,l,e,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+16>>2]|0,c[(c[k>>2]|0)+48+16+16>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[k>>2]|0);uo(c[(c[k>>2]|0)+48+16+20>>2]|0,c[(c[k>>2]|0)+48+16+12>>2]|0,c[(c[k>>2]|0)+48+16+16>>2]|0,c[k>>2]|0);e=($o(c[(c[k>>2]|0)+48+16+8>>2]|0,0)|0)!=0;l=(c[k>>2]|0)+48+16|0;if(e){vo(c[l+24>>2]|0,c[(c[k>>2]|0)+48+16>>2]|0,c[(c[k>>2]|0)+48+16+4>>2]|0,c[k>>2]|0);vo(c[(c[k>>2]|0)+48+16+28>>2]|0,c[(c[k>>2]|0)+48+16+12>>2]|0,c[(c[k>>2]|0)+48+16+16>>2]|0,c[k>>2]|0);$n(c[(c[g>>2]|0)+8>>2]|0,c[(c[h>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[k>>2]|0);$n(c[(c[g>>2]|0)+8>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[(c[k>>2]|0)+48+16+8>>2]|0,c[k>>2]|0);to(c[(c[k>>2]|0)+48+16+36>>2]|0,c[(c[k>>2]|0)+48+16+20>>2]|0,c[k>>2]|0);to(c[(c[k>>2]|0)+48+16+40>>2]|0,c[(c[k>>2]|0)+48+16+8>>2]|0,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+40>>2]|0,c[(c[k>>2]|0)+48+16+40>>2]|0,c[(c[k>>2]|0)+48+16+24>>2]|0,c[k>>2]|0);uo(c[c[g>>2]>>2]|0,c[(c[k>>2]|0)+48+16+36>>2]|0,c[(c[k>>2]|0)+48+16+40>>2]|0,c[k>>2]|0);xo(c[(c[k>>2]|0)+48+16+36>>2]|0,c[c[g>>2]>>2]|0,c[k>>2]|0);uo(c[(c[k>>2]|0)+48+16+32>>2]|0,c[(c[k>>2]|0)+48+16+40>>2]|0,c[(c[k>>2]|0)+48+16+36>>2]|0,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+32>>2]|0,c[(c[k>>2]|0)+48+16+32>>2]|0,c[(c[k>>2]|0)+48+16+20>>2]|0,c[k>>2]|0);j=c[(c[k>>2]|0)+48+16+36>>2]|0;e=c[(c[k>>2]|0)+48+16+8>>2]|0;m=Aq(3)|0;wo(j,e,m,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+36>>2]|0,c[(c[k>>2]|0)+48+16+36>>2]|0,c[(c[k>>2]|0)+48+16+28>>2]|0,c[k>>2]|0);uo(c[(c[g>>2]|0)+4>>2]|0,c[(c[k>>2]|0)+48+16+32>>2]|0,c[(c[k>>2]|0)+48+16+36>>2]|0,c[k>>2]|0);m=c[(c[g>>2]|0)+4>>2]|0;e=c[(c[g>>2]|0)+4>>2]|0;j=Co(c[k>>2]|0)|0;$n(m,e,j,c[k>>2]|0);i=f;return}j=($o(c[l+20>>2]|0,0)|0)!=0;l=c[g>>2]|0;if(j){sq(c[l>>2]|0,1)|0;sq(c[(c[g>>2]|0)+4>>2]|0,1)|0;sq(c[(c[g>>2]|0)+8>>2]|0,0)|0;i=f;return}else{qo(l,c[h>>2]|0,c[k>>2]|0);i=f;return}}function Co(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+16|0;f=e;c[f>>2]=b;if((d[(c[f>>2]|0)+48>>0]|0)>>>1&1|0){g=c[f>>2]|0;h=g+48|0;j=h+8|0;k=c[j>>2]|0;i=e;return k|0}b=(c[f>>2]|0)+48|0;a[b>>0]=a[b>>0]&-3|2;if(!(c[(c[f>>2]|0)+48+8>>2]|0)){b=$p(0)|0;c[(c[f>>2]|0)+48+8>>2]=b}b=c[(c[f>>2]|0)+48+8>>2]|0;l=Aq(2)|0;_n(b,l,c[f>>2]|0);g=c[f>>2]|0;h=g+48|0;j=h+8|0;k=c[j>>2]|0;i=e;return k|0}function Do(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+32|0;g=f;c[f+20>>2]=a;c[f+16>>2]=b;c[f+12>>2]=d;c[f+8>>2]=e;c[g>>2]=45782;c[g+4>>2]=45707;Bf(45733,g)}function Eo(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,S=0,T=0,U=0,V=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;$n(c[(c[k>>2]|0)+48+16>>2]|0,c[(c[h>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[k>>2]|0);to(c[(c[k>>2]|0)+48+16+4>>2]|0,c[(c[k>>2]|0)+48+16>>2]|0,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+8>>2]|0,c[c[h>>2]>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+16>>2]|0,c[(c[k>>2]|0)+24>>2]|0,c[(c[k>>2]|0)+48+16+8>>2]|0,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+16>>2]|0,c[(c[k>>2]|0)+48+16+16>>2]|0,c[(c[k>>2]|0)+48+16+12>>2]|0,c[k>>2]|0);uo(c[(c[k>>2]|0)+48+16+20>>2]|0,c[(c[k>>2]|0)+48+16+4>>2]|0,c[(c[k>>2]|0)+48+16+16>>2]|0,c[k>>2]|0);vo(c[(c[k>>2]|0)+48+16+24>>2]|0,c[(c[k>>2]|0)+48+16+4>>2]|0,c[(c[k>>2]|0)+48+16+16>>2]|0,c[k>>2]|0);vo(c[(c[k>>2]|0)+48+16+28>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[k>>2]|0);vo(c[c[g>>2]>>2]|0,c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[k>>2]|0);$n(c[c[g>>2]>>2]|0,c[c[g>>2]>>2]|0,c[(c[k>>2]|0)+48+16+28>>2]|0,c[k>>2]|0);uo(c[c[g>>2]>>2]|0,c[c[g>>2]>>2]|0,c[(c[k>>2]|0)+48+16+8>>2]|0,c[k>>2]|0);uo(c[c[g>>2]>>2]|0,c[c[g>>2]>>2]|0,c[(c[k>>2]|0)+48+16+12>>2]|0,c[k>>2]|0);$n(c[c[g>>2]>>2]|0,c[c[g>>2]>>2]|0,c[(c[k>>2]|0)+48+16+20>>2]|0,c[k>>2]|0);$n(c[c[g>>2]>>2]|0,c[c[g>>2]>>2]|0,c[(c[k>>2]|0)+48+16>>2]|0,c[k>>2]|0);j=c[(c[g>>2]|0)+4>>2]|0;h=c[k>>2]|0;if((c[(c[k>>2]|0)+4>>2]|0)==1){oq(j,c[h+48+16+8>>2]|0)|0;nq(c[(c[g>>2]|0)+4>>2]|0,c[(c[g>>2]|0)+4>>2]|0);uo(c[(c[g>>2]|0)+4>>2]|0,c[(c[k>>2]|0)+48+16+12>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[k>>2]|0);l=c[g>>2]|0;m=l+4|0;n=c[m>>2]|0;o=c[g>>2]|0;p=o+4|0;q=c[p>>2]|0;r=c[k>>2]|0;s=r+48|0;t=s+16|0;u=t+24|0;v=c[u>>2]|0;w=c[k>>2]|0;$n(n,q,v,w);x=c[g>>2]|0;y=x+4|0;z=c[y>>2]|0;A=c[g>>2]|0;B=A+4|0;C=c[B>>2]|0;D=c[k>>2]|0;E=D+48|0;F=E+16|0;G=c[F>>2]|0;H=c[k>>2]|0;$n(z,C,G,H);I=c[g>>2]|0;J=I+8|0;K=c[J>>2]|0;L=c[k>>2]|0;M=L+48|0;N=M+16|0;O=N+20|0;P=c[O>>2]|0;Q=c[k>>2]|0;R=Q+48|0;S=R+16|0;T=S+24|0;U=c[T>>2]|0;V=c[k>>2]|0;$n(K,P,U,V);i=f;return}else{$n(j,c[h+20>>2]|0,c[(c[k>>2]|0)+48+16+8>>2]|0,c[k>>2]|0);uo(c[(c[g>>2]|0)+4>>2]|0,c[(c[k>>2]|0)+48+16+12>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[k>>2]|0);l=c[g>>2]|0;m=l+4|0;n=c[m>>2]|0;o=c[g>>2]|0;p=o+4|0;q=c[p>>2]|0;r=c[k>>2]|0;s=r+48|0;t=s+16|0;u=t+24|0;v=c[u>>2]|0;w=c[k>>2]|0;$n(n,q,v,w);x=c[g>>2]|0;y=x+4|0;z=c[y>>2]|0;A=c[g>>2]|0;B=A+4|0;C=c[B>>2]|0;D=c[k>>2]|0;E=D+48|0;F=E+16|0;G=c[F>>2]|0;H=c[k>>2]|0;$n(z,C,G,H);I=c[g>>2]|0;J=I+8|0;K=c[J>>2]|0;L=c[k>>2]|0;M=L+48|0;N=M+16|0;O=N+20|0;P=c[O>>2]|0;Q=c[k>>2]|0;R=Q+48|0;S=R+16|0;T=S+24|0;U=c[T>>2]|0;V=c[k>>2]|0;$n(K,P,U,V);i=f;return}}function Fo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;oq(c[c[e>>2]>>2]|0,c[c[f>>2]>>2]|0)|0;oq(c[(c[e>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;oq(c[(c[e>>2]|0)+8>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0;i=d;return}function Go(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;f=i;i=i+176|0;g=f+168|0;h=f+164|0;j=f+160|0;k=f+156|0;l=f+152|0;m=f+148|0;n=f+144|0;o=f+140|0;p=f+136|0;q=f+132|0;r=f+128|0;s=f+124|0;t=f+112|0;u=f+100|0;v=f+88|0;w=f+84|0;x=f+80|0;y=f+68|0;z=f+64|0;A=f+60|0;B=f+48|0;C=f+36|0;D=f+32|0;E=f+28|0;F=f+24|0;G=f+20|0;H=f+16|0;I=f+12|0;J=f+8|0;K=f+4|0;L=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if((c[c[k>>2]>>2]|0)==2){c[w>>2]=Ro(c[h>>2]|0)|0;sq(c[c[g>>2]>>2]|0,0)|0;sq(c[(c[g>>2]|0)+4>>2]|0,1)|0;sq(c[(c[g>>2]|0)+8>>2]|0,1)|0;if(c[h>>2]|0?c[(c[h>>2]|0)+12>>2]&1|0:0){co(y);c[x>>2]=(c[w>>2]|0)-1;while(1){if((c[x>>2]|0)<0)break;qo(c[g>>2]|0,c[g>>2]|0,c[k>>2]|0);Ao(y,c[g>>2]|0,c[j>>2]|0,c[k>>2]|0);if(So(c[h>>2]|0,c[x>>2]|0)|0)Fo(c[g>>2]|0,y);c[x>>2]=(c[x>>2]|0)+-1}fo(y);i=f;return}c[x>>2]=(c[w>>2]|0)-1;while(1){if((c[x>>2]|0)<0)break;qo(c[g>>2]|0,c[g>>2]|0,c[k>>2]|0);if(So(c[h>>2]|0,c[x>>2]|0)|0)Ao(c[g>>2]|0,c[g>>2]|0,c[j>>2]|0,c[k>>2]|0);c[x>>2]=(c[x>>2]|0)+-1}i=f;return}if((c[c[k>>2]>>2]|0)==1){c[z>>2]=Ro(c[h>>2]|0)|0;co(t);co(u);co(B);co(C);sq(c[t>>2]|0,1)|0;hq(c[u>>2]|0);c[u>>2]=mq(c[c[j>>2]>>2]|0)|0;sq(c[u+8>>2]|0,1)|0;c[I>>2]=(((c[z>>2]|0)+32-1<<1>>>0)/32|0)+1;eq(c[t>>2]|0,c[I>>2]|0);eq(c[t+8>>2]|0,c[I>>2]|0);eq(c[u>>2]|0,c[I>>2]|0);eq(c[u+8>>2]|0,c[I>>2]|0);eq(c[B>>2]|0,c[I>>2]|0);eq(c[B+8>>2]|0,c[I>>2]|0);eq(c[C>>2]|0,c[I>>2]|0);eq(c[C+8>>2]|0,c[I>>2]|0);c[D>>2]=t;c[E>>2]=u;c[F>>2]=B;c[G>>2]=C;c[A>>2]=(c[z>>2]|0)-1;while(1){if((c[A>>2]|0)<0)break;c[H>>2]=So(c[h>>2]|0,c[A>>2]|0)|0;uq(c[c[D>>2]>>2]|0,c[c[E>>2]>>2]|0,c[H>>2]|0);uq(c[(c[D>>2]|0)+8>>2]|0,c[(c[E>>2]|0)+8>>2]|0,c[H>>2]|0);Ho(c[F>>2]|0,c[G>>2]|0,c[D>>2]|0,c[E>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0);uq(c[c[F>>2]>>2]|0,c[c[G>>2]>>2]|0,c[H>>2]|0);uq(c[(c[F>>2]|0)+8>>2]|0,c[(c[G>>2]|0)+8>>2]|0,c[H>>2]|0);c[J>>2]=c[D>>2];c[D>>2]=c[F>>2];c[F>>2]=c[J>>2];c[J>>2]=c[E>>2];c[E>>2]=c[G>>2];c[G>>2]=c[J>>2];c[A>>2]=(c[A>>2]|0)+-1}fq(c[(c[g>>2]|0)+4>>2]|0);c[H>>2]=c[z>>2]&1;uq(c[t>>2]|0,c[B>>2]|0,c[H>>2]|0);uq(c[t+8>>2]|0,c[B+8>>2]|0,c[H>>2]|0);if(!(c[(c[t+8>>2]|0)+4>>2]|0)){sq(c[c[g>>2]>>2]|0,1)|0;sq(c[(c[g>>2]|0)+8>>2]|0,0)|0}else{c[n>>2]=vq(0)|0;_n(c[n>>2]|0,c[t+8>>2]|0,c[k>>2]|0);$n(c[c[g>>2]>>2]|0,c[t>>2]|0,c[n>>2]|0,c[k>>2]|0);sq(c[(c[g>>2]|0)+8>>2]|0,1)|0;hq(c[n>>2]|0)}fo(t);fo(u);fo(B);fo(C);i=f;return}c[l>>2]=pq(c[(c[k>>2]|0)+16>>2]|0)|0;c[m>>2]=pq(c[(c[k>>2]|0)+16>>2]|0)|0;c[p>>2]=pq(c[(c[k>>2]|0)+16>>2]|0)|0;c[o>>2]=mq(c[h>>2]|0)|0;c[q>>2]=mq(c[(c[j>>2]|0)+4>>2]|0)|0;if(c[(c[o>>2]|0)+8>>2]|0){c[(c[o>>2]|0)+8>>2]=0;_n(c[q>>2]|0,c[q>>2]|0,c[k>>2]|0)}if($o(c[(c[j>>2]|0)+8>>2]|0,1)|0){c[K>>2]=pq(c[(c[k>>2]|0)+16>>2]|0)|0;c[L>>2]=pq(c[(c[k>>2]|0)+16>>2]|0)|0;$n(c[K>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[k>>2]|0);$n(c[L>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[K>>2]|0,c[k>>2]|0);_n(c[K>>2]|0,c[K>>2]|0,c[k>>2]|0);$n(c[l>>2]|0,c[c[j>>2]>>2]|0,c[K>>2]|0,c[k>>2]|0);_n(c[L>>2]|0,c[L>>2]|0,c[k>>2]|0);$n(c[m>>2]|0,c[q>>2]|0,c[L>>2]|0,c[k>>2]|0);hq(c[K>>2]|0);hq(c[L>>2]|0)}else{oq(c[l>>2]|0,c[c[j>>2]>>2]|0)|0;oq(c[m>>2]|0,c[q>>2]|0)|0}c[n>>2]=mq(Aq(1)|0)|0;L=c[p>>2]|0;K=c[o>>2]|0;up(L,K,Aq(3)|0);c[s>>2]=Ro(c[p>>2]|0)|0;if((c[s>>2]|0)>>>0<2){c[s>>2]=2;fq(c[c[g>>2]>>2]|0);fq(c[(c[g>>2]|0)+4>>2]|0);fq(c[(c[g>>2]|0)+8>>2]|0)}else{oq(c[c[g>>2]>>2]|0,c[c[j>>2]>>2]|0)|0;oq(c[(c[g>>2]|0)+4>>2]|0,c[q>>2]|0)|0;oq(c[(c[g>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+8>>2]|0)|0}hq(c[q>>2]|0);c[q>>2]=0;c[t>>2]=c[l>>2];c[l>>2]=0;c[t+4>>2]=c[m>>2];c[m>>2]=0;c[t+8>>2]=c[n>>2];c[n>>2]=0;co(u);co(v);c[r>>2]=(c[s>>2]|0)-2;while(1){if((c[r>>2]|0)>>>0<=0)break;qo(c[g>>2]|0,c[g>>2]|0,c[k>>2]|0);if((So(c[p>>2]|0,c[r>>2]|0)|0)==1?(So(c[o>>2]|0,c[r>>2]|0)|0)==0:0){Fo(u,c[g>>2]|0);Ao(c[g>>2]|0,u,t,c[k>>2]|0)}if((So(c[p>>2]|0,c[r>>2]|0)|0)==0?(So(c[o>>2]|0,c[r>>2]|0)|0)==1:0){Fo(u,c[g>>2]|0);Fo(v,t);uo(c[v+4>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[v+4>>2]|0,c[k>>2]|0);Ao(c[g>>2]|0,u,v,c[k>>2]|0)}c[r>>2]=(c[r>>2]|0)+-1}fo(t);fo(u);fo(v);hq(c[p>>2]|0);hq(c[o>>2]|0);i=f;return}function Ho(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;h=i;i=i+32|0;j=h+20|0;k=h+16|0;l=h+12|0;m=h+8|0;n=h+4|0;o=h;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;vo(c[c[k>>2]>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[o>>2]|0);uo(c[(c[m>>2]|0)+8>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[o>>2]|0);vo(c[c[j>>2]>>2]|0,c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[o>>2]|0);uo(c[(c[l>>2]|0)+8>>2]|0,c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[o>>2]|0);$n(c[c[m>>2]>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[c[k>>2]>>2]|0,c[o>>2]|0);$n(c[(c[m>>2]|0)+8>>2]|0,c[c[j>>2]>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[o>>2]|0);to(c[c[l>>2]>>2]|0,c[c[j>>2]>>2]|0,c[o>>2]|0);to(c[(c[l>>2]|0)+8>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[o>>2]|0);vo(c[c[k>>2]>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[o>>2]|0);uo(c[(c[m>>2]|0)+8>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[o>>2]|0);$n(c[c[j>>2]>>2]|0,c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[o>>2]|0);uo(c[(c[l>>2]|0)+8>>2]|0,c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[o>>2]|0);to(c[c[k>>2]>>2]|0,c[c[k>>2]>>2]|0,c[o>>2]|0);to(c[(c[k>>2]|0)+8>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[o>>2]|0);$n(c[(c[j>>2]|0)+8>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[o>>2]|0);$n(c[(c[k>>2]|0)+8>>2]|0,c[(c[k>>2]|0)+8>>2]|0,c[n>>2]|0,c[o>>2]|0);vo(c[(c[j>>2]|0)+8>>2]|0,c[c[l>>2]>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[o>>2]|0);$n(c[(c[j>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[o>>2]|0);i=h;return}function Io(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+28|0;f=d+24|0;g=d+20|0;h=d+16|0;j=d+12|0;k=d+8|0;l=d+4|0;m=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;c[j>>2]=vq(0)|0;c[k>>2]=vq(0)|0;c[l>>2]=vq(0)|0;a:do switch(c[c[g>>2]>>2]|0){case 0:{c[m>>2]=vq(0)|0;if(Zn(c[j>>2]|0,c[k>>2]|0,c[f>>2]|0,c[g>>2]|0)|0){c[e>>2]=0;n=c[e>>2]|0;i=d;return n|0}to(c[k>>2]|0,c[k>>2]|0,c[g>>2]|0);Jo(c[m>>2]|0,c[j>>2]|0,c[g>>2]|0);$n(c[l>>2]|0,c[(c[g>>2]|0)+20>>2]|0,c[j>>2]|0,c[g>>2]|0);vo(c[l>>2]|0,c[l>>2]|0,c[(c[g>>2]|0)+24>>2]|0,c[g>>2]|0);vo(c[l>>2]|0,c[l>>2]|0,c[m>>2]|0,c[g>>2]|0);if(!(ap(c[k>>2]|0,c[l>>2]|0)|0))c[h>>2]=1;xq(c[m>>2]|0);break}case 1:{if(!(Zn(c[j>>2]|0,0,c[f>>2]|0,c[g>>2]|0)|0)){b=c[l>>2]|0;a=c[(c[g>>2]|0)+20>>2]|0;o=Aq(4)|0;$n(b,a,o,c[g>>2]|0);o=c[l>>2]|0;a=c[l>>2]|0;b=Aq(2)|0;vo(o,a,b,c[g>>2]|0);$n(c[l>>2]|0,c[l>>2]|0,c[j>>2]|0,c[g>>2]|0);to(c[k>>2]|0,c[j>>2]|0,c[g>>2]|0);vo(c[l>>2]|0,c[l>>2]|0,c[k>>2]|0,c[g>>2]|0);b=c[l>>2]|0;a=c[l>>2]|0;o=Aq(1)|0;vo(b,a,o,c[g>>2]|0);$n(c[l>>2]|0,c[l>>2]|0,c[j>>2]|0,c[g>>2]|0);$n(c[l>>2]|0,c[l>>2]|0,c[(c[g>>2]|0)+24>>2]|0,c[g>>2]|0);o=c[k>>2]|0;a=c[(c[g>>2]|0)+16>>2]|0;b=Aq(1)|0;uo(o,a,b,c[g>>2]|0);Yo(c[k>>2]|0,c[k>>2]|0,1);wo(c[l>>2]|0,c[l>>2]|0,c[k>>2]|0,c[g>>2]|0);c[h>>2]=$o(c[l>>2]|0,1)|0;break a}c[e>>2]=0;n=c[e>>2]|0;i=d;return n|0}case 2:{if(Zn(c[j>>2]|0,c[k>>2]|0,c[f>>2]|0,c[g>>2]|0)|0){c[e>>2]=0;n=c[e>>2]|0;i=d;return n|0}to(c[j>>2]|0,c[j>>2]|0,c[g>>2]|0);to(c[k>>2]|0,c[k>>2]|0,c[g>>2]|0);b=c[l>>2]|0;if((c[(c[g>>2]|0)+4>>2]|0)==1){oq(b,c[j>>2]|0)|0;nq(c[l>>2]|0,c[l>>2]|0)}else $n(b,c[(c[g>>2]|0)+20>>2]|0,c[j>>2]|0,c[g>>2]|0);vo(c[l>>2]|0,c[l>>2]|0,c[k>>2]|0,c[g>>2]|0);uo(c[l>>2]|0,c[l>>2]|0,Aq(1)|0,c[g>>2]|0);$n(c[j>>2]|0,c[j>>2]|0,c[k>>2]|0,c[g>>2]|0);$n(c[j>>2]|0,c[j>>2]|0,c[(c[g>>2]|0)+24>>2]|0,c[g>>2]|0);uo(c[l>>2]|0,c[l>>2]|0,c[j>>2]|0,c[g>>2]|0);if(!($o(c[l>>2]|0,0)|0))c[h>>2]=1;break}default:{}}while(0);xq(c[l>>2]|0);xq(c[j>>2]|0);xq(c[k>>2]|0);c[e>>2]=c[h>>2];n=c[e>>2]|0;i=d;return n|0}function Jo(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=c[f>>2]|0;f=c[g>>2]|0;g=Aq(3)|0;wp(d,f,g,c[(c[h>>2]|0)+16>>2]|0);i=e;return}function Ko(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;e=i;i=i+48|0;f=e+36|0;g=e+32|0;h=e+28|0;j=e+24|0;k=e+20|0;l=e+16|0;m=e+12|0;n=e+8|0;o=e+4|0;p=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[l>>2]=c[(c[g>>2]|0)+4>>2];c[n>>2]=c[(c[g>>2]|0)+8>>2];c[o>>2]=0;c[m>>2]=(c[l>>2]|0)+1;if((c[c[f>>2]>>2]|0)<(c[m>>2]|0))eq(c[f>>2]|0,c[m>>2]|0);c[k>>2]=c[(c[g>>2]|0)+16>>2];c[j>>2]=c[(c[f>>2]|0)+16>>2];do if(c[l>>2]|0){if(!(c[n>>2]|0)){c[p>>2]=kp(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[h>>2]|0)|0;c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]=c[p>>2];c[m>>2]=(c[l>>2]|0)+(c[p>>2]|0);break}if((c[l>>2]|0)==1?(c[c[k>>2]>>2]|0)>>>0<(c[h>>2]|0)>>>0:0){c[c[j>>2]>>2]=(c[h>>2]|0)-(c[c[k>>2]>>2]|0);c[m>>2]=1;break}mp(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[h>>2]|0)|0;c[m>>2]=(c[l>>2]|0)-((c[(c[j>>2]|0)+((c[l>>2]|0)-1<<2)>>2]|0)==0&1);c[o>>2]=1}else{c[c[j>>2]>>2]=c[h>>2];c[m>>2]=c[h>>2]|0?1:0}while(0);c[(c[f>>2]|0)+4>>2]=c[m>>2];c[(c[f>>2]|0)+8>>2]=c[o>>2];i=e;return}function Lo(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;e=i;i=i+64|0;f=e+52|0;g=e+48|0;h=e+44|0;j=e+40|0;k=e+36|0;l=e+32|0;m=e+28|0;n=e+24|0;o=e+20|0;p=e+16|0;q=e+12|0;r=e+8|0;s=e+4|0;t=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[(c[g>>2]|0)+4>>2]|0)<(c[(c[h>>2]|0)+4>>2]|0)){c[m>>2]=c[(c[h>>2]|0)+4>>2];c[p>>2]=c[(c[h>>2]|0)+8>>2];c[n>>2]=c[(c[g>>2]|0)+4>>2];c[q>>2]=c[(c[g>>2]|0)+8>>2];c[o>>2]=(c[m>>2]|0)+1;if((c[c[f>>2]>>2]|0)<(c[o>>2]|0))eq(c[f>>2]|0,c[o>>2]|0);c[k>>2]=c[(c[h>>2]|0)+16>>2];c[l>>2]=c[(c[g>>2]|0)+16>>2]}else{c[m>>2]=c[(c[g>>2]|0)+4>>2];c[p>>2]=c[(c[g>>2]|0)+8>>2];c[n>>2]=c[(c[h>>2]|0)+4>>2];c[q>>2]=c[(c[h>>2]|0)+8>>2];c[o>>2]=(c[m>>2]|0)+1;if((c[c[f>>2]>>2]|0)<(c[o>>2]|0))eq(c[f>>2]|0,c[o>>2]|0);c[k>>2]=c[(c[g>>2]|0)+16>>2];c[l>>2]=c[(c[h>>2]|0)+16>>2]}c[j>>2]=c[(c[f>>2]|0)+16>>2];c[r>>2]=0;do if(c[n>>2]|0){if((c[p>>2]|0)==(c[q>>2]|0)){c[t>>2]=lp(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[l>>2]|0,c[n>>2]|0)|0;c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]=c[t>>2];c[o>>2]=(c[m>>2]|0)+(c[t>>2]|0);if(!(c[p>>2]|0))break;c[r>>2]=1;break}if((c[m>>2]|0)!=(c[n>>2]|0)){np(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[l>>2]|0,c[n>>2]|0)|0;c[o>>2]=c[m>>2];while(1){if((c[o>>2]|0)<=0)break;if(c[(c[j>>2]|0)+((c[o>>2]|0)-1<<2)>>2]|0)break;c[o>>2]=(c[o>>2]|0)+-1}c[r>>2]=c[p>>2];break}h=(op(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)<0;g=c[j>>2]|0;if(h){Xp(g,c[l>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;c[o>>2]=c[m>>2];while(1){if((c[o>>2]|0)<=0)break;if(c[(c[j>>2]|0)+((c[o>>2]|0)-1<<2)>>2]|0)break;c[o>>2]=(c[o>>2]|0)+-1}if(c[p>>2]|0)break;c[r>>2]=1;break}else{Xp(g,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;c[o>>2]=c[m>>2];while(1){if((c[o>>2]|0)<=0)break;if(c[(c[j>>2]|0)+((c[o>>2]|0)-1<<2)>>2]|0)break;c[o>>2]=(c[o>>2]|0)+-1}if(!(c[p>>2]|0))break;c[r>>2]=1;break}}else{c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;c[(c[j>>2]|0)+(c[s>>2]<<2)>>2]=c[(c[k>>2]|0)+(c[s>>2]<<2)>>2];c[s>>2]=(c[s>>2]|0)+1}c[o>>2]=c[m>>2];c[r>>2]=c[p>>2]}while(0);c[(c[f>>2]|0)+4>>2]=c[o>>2];c[(c[f>>2]|0)+8>>2]=c[r>>2];i=e;return}function Mo(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;e=i;i=i+48|0;f=e+36|0;g=e+32|0;h=e+28|0;j=e+24|0;k=e+20|0;l=e+16|0;m=e+12|0;n=e+8|0;o=e+4|0;p=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[l>>2]=c[(c[g>>2]|0)+4>>2];c[n>>2]=c[(c[g>>2]|0)+8>>2];c[o>>2]=0;c[m>>2]=(c[l>>2]|0)+1;if((c[c[f>>2]>>2]|0)<(c[m>>2]|0))eq(c[f>>2]|0,c[m>>2]|0);c[k>>2]=c[(c[g>>2]|0)+16>>2];c[j>>2]=c[(c[f>>2]|0)+16>>2];do if(c[l>>2]|0){if(c[n>>2]|0){c[p>>2]=kp(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[h>>2]|0)|0;c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]=c[p>>2];c[m>>2]=(c[l>>2]|0)+(c[p>>2]|0);break}if((c[l>>2]|0)==1?(c[c[k>>2]>>2]|0)>>>0<(c[h>>2]|0)>>>0:0){c[c[j>>2]>>2]=(c[h>>2]|0)-(c[c[k>>2]>>2]|0);c[m>>2]=1;c[o>>2]=1;break}mp(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[h>>2]|0)|0;c[m>>2]=(c[l>>2]|0)-((c[(c[j>>2]|0)+((c[l>>2]|0)-1<<2)>>2]|0)==0&1)}else{c[c[j>>2]>>2]=c[h>>2];c[m>>2]=c[h>>2]|0?1:0;c[o>>2]=1}while(0);c[(c[f>>2]|0)+4>>2]=c[m>>2];c[(c[f>>2]|0)+8>>2]=c[o>>2];i=e;return}function No(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=mq(c[h>>2]|0)|0;c[(c[j>>2]|0)+8>>2]=((c[(c[j>>2]|0)+8>>2]|0)!=0^1)&1;Lo(c[f>>2]|0,c[g>>2]|0,c[j>>2]|0);hq(c[j>>2]|0);i=e;return}function Oo(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;Lo(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);qp(c[g>>2]|0,c[g>>2]|0,c[k>>2]|0);i=f;return}function Po(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;No(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);qp(c[g>>2]|0,c[g>>2]|0,c[k>>2]|0);i=f;return}function Qo(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(c[d>>2]|0?c[(c[d>>2]|0)+12>>2]&4|0:0){i=b;return}while(1){if(!(c[(c[d>>2]|0)+4>>2]|0)){e=6;break}if(!((c[(c[(c[d>>2]|0)+16>>2]|0)+((c[(c[d>>2]|0)+4>>2]|0)-1<<2)>>2]|0)!=0^1)){e=6;break}a=(c[d>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+-1}if((e|0)==6){i=b;return}}function Ro(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+32|0;e=b+20|0;f=b+16|0;g=b+12|0;h=b+8|0;j=b+4|0;k=b;c[f>>2]=a;if(c[f>>2]|0?c[(c[f>>2]|0)+12>>2]&4|0:0){c[e>>2]=c[(c[f>>2]|0)+8>>2];l=c[e>>2]|0;i=b;return l|0}Qo(c[f>>2]|0);if(c[(c[f>>2]|0)+4>>2]|0){c[h>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+((c[(c[f>>2]|0)+4>>2]|0)-1<<2)>>2];if(c[h>>2]|0){c[j>>2]=c[h>>2];h=c[j>>2]|0;c[k>>2]=(c[j>>2]|0)>>>0<65536?(h>>>0<256?0:8):h>>>0<16777216?16:24;c[g>>2]=32-((d[45806+((c[j>>2]|0)>>>(c[k>>2]|0))>>0]|0)+(c[k>>2]|0))}else c[g>>2]=32;c[g>>2]=32-(c[g>>2]|0)+((c[(c[f>>2]|0)+4>>2]|0)-1<<5)}else c[g>>2]=0;c[e>>2]=c[g>>2];l=c[e>>2]|0;i=b;return l|0}function So(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+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=((c[g>>2]|0)>>>0)/32|0;c[j>>2]=((c[g>>2]|0)>>>0)%32|0;if((c[h>>2]|0)>>>0>=(c[(c[f>>2]|0)+4>>2]|0)>>>0){c[e>>2]=0;l=c[e>>2]|0;i=d;return l|0}else{c[k>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<2)>>2];c[e>>2]=c[k>>2]&1<<c[j>>2]|0?1:0;l=c[e>>2]|0;i=d;return l|0}return 0}function To(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[e>>2]=a;c[f>>2]=b;if(c[e>>2]|0?c[(c[e>>2]|0)+12>>2]&16|0:0){gq();i=d;return}c[h>>2]=((c[f>>2]|0)>>>0)/32|0;c[j>>2]=((c[f>>2]|0)>>>0)%32|0;if((c[h>>2]|0)>>>0>=(c[(c[e>>2]|0)+4>>2]|0)>>>0){c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[g>>2]|0)>>>0>=(c[c[e>>2]>>2]|0)>>>0)break;c[(c[(c[e>>2]|0)+16>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}eq(c[e>>2]|0,(c[h>>2]|0)+1|0);c[(c[e>>2]|0)+4>>2]=(c[h>>2]|0)+1}g=(c[(c[e>>2]|0)+16>>2]|0)+(c[h>>2]<<2)|0;c[g>>2]=c[g>>2]|1<<c[j>>2];i=d;return}function Uo(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[e>>2]=a;c[f>>2]=b;if(c[e>>2]|0?c[(c[e>>2]|0)+12>>2]&16|0:0){gq();i=d;return}c[h>>2]=((c[f>>2]|0)>>>0)/32|0;c[j>>2]=((c[f>>2]|0)>>>0)%32|0;if((c[h>>2]|0)>>>0>=(c[(c[e>>2]|0)+4>>2]|0)>>>0){c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[g>>2]|0)>>>0>=(c[c[e>>2]>>2]|0)>>>0)break;c[(c[(c[e>>2]|0)+16>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}eq(c[e>>2]|0,(c[h>>2]|0)+1|0);c[(c[e>>2]|0)+4>>2]=(c[h>>2]|0)+1}g=(c[(c[e>>2]|0)+16>>2]|0)+(c[h>>2]<<2)|0;c[g>>2]=c[g>>2]|1<<c[j>>2];c[j>>2]=(c[j>>2]|0)+1;while(1){if((c[j>>2]|0)>>>0>=32)break;g=(c[(c[e>>2]|0)+16>>2]|0)+(c[h>>2]<<2)|0;c[g>>2]=c[g>>2]&~(1<<c[j>>2]);c[j>>2]=(c[j>>2]|0)+1}c[(c[e>>2]|0)+4>>2]=(c[h>>2]|0)+1;i=d;return}function Vo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;if(c[e>>2]|0?c[(c[e>>2]|0)+12>>2]&16|0:0){gq();i=d;return}c[g>>2]=((c[f>>2]|0)>>>0)/32|0;c[h>>2]=((c[f>>2]|0)>>>0)%32|0;if((c[g>>2]|0)>>>0>=(c[(c[e>>2]|0)+4>>2]|0)>>>0){i=d;return}while(1){if((c[h>>2]|0)>>>0>=32)break;f=(c[(c[e>>2]|0)+16>>2]|0)+(c[g>>2]<<2)|0;c[f>>2]=c[f>>2]&~(1<<c[h>>2]);c[h>>2]=(c[h>>2]|0)+1}c[(c[e>>2]|0)+4>>2]=(c[g>>2]|0)+1;i=d;return}function Wo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;if(c[e>>2]|0?c[(c[e>>2]|0)+12>>2]&16|0:0){gq();i=d;return}c[g>>2]=((c[f>>2]|0)>>>0)/32|0;c[h>>2]=((c[f>>2]|0)>>>0)%32|0;if((c[g>>2]|0)>>>0>=(c[(c[e>>2]|0)+4>>2]|0)>>>0){i=d;return}f=(c[(c[e>>2]|0)+16>>2]|0)+(c[g>>2]<<2)|0;c[f>>2]=c[f>>2]&~(1<<c[h>>2]);i=d;return}function Xo(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[e>>2]|0)+16>>2];c[h>>2]=c[(c[e>>2]|0)+4>>2];if(c[e>>2]|0?c[(c[e>>2]|0)+12>>2]&16|0:0){gq();i=d;return}if((c[f>>2]|0)>>>0>=(c[h>>2]|0)>>>0){c[(c[e>>2]|0)+4>>2]=0;i=d;return}c[j>>2]=0;while(1){k=c[j>>2]|0;if((c[j>>2]|0)>>>0>=((c[h>>2]|0)-(c[f>>2]|0)|0)>>>0)break;c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]=c[(c[g>>2]|0)+(k+(c[f>>2]|0)<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}c[(c[g>>2]|0)+(k<<2)>>2]=0;k=(c[e>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)-(c[f>>2]|0);i=d;return}function Yo(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+32|0;f=e+24|0;g=e+20|0;h=e+16|0;j=e+12|0;k=e+8|0;l=e+4|0;m=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[l>>2]=((c[h>>2]|0)>>>0)/32|0;c[m>>2]=((c[h>>2]|0)>>>0)%32|0;if(c[f>>2]|0?c[(c[f>>2]|0)+12>>2]&16|0:0){gq();i=e;return}h=c[l>>2]|0;a:do if((c[f>>2]|0)==(c[g>>2]|0)){if(h>>>0>=(c[(c[f>>2]|0)+4>>2]|0)>>>0){c[(c[f>>2]|0)+4>>2]=0;i=e;return}if(c[l>>2]|0){c[k>>2]=0;while(1){n=c[k>>2]|0;if((c[k>>2]|0)>>>0>=((c[(c[f>>2]|0)+4>>2]|0)-(c[l>>2]|0)|0)>>>0)break;c[(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(n+(c[l>>2]|0)<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}c[(c[(c[f>>2]|0)+16>>2]|0)+(n<<2)>>2]=0;d=(c[f>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)-(c[l>>2]|0)}if(c[m>>2]|0?(c[(c[f>>2]|0)+4>>2]|0)!=0:0)Wp(c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[m>>2]|0)|0}else{c[j>>2]=c[(c[g>>2]|0)+4>>2];c[(c[f>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];d=(c[c[f>>2]>>2]|0)<(c[j>>2]|0);if(!h){if(d)eq(c[f>>2]|0,c[j>>2]|0);c[(c[f>>2]|0)+4>>2]=c[j>>2];if(!(c[j>>2]|0))break;if(c[m>>2]|0){Wp(c[(c[f>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[m>>2]|0)|0;break}c[k>>2]=0;while(1){if((c[k>>2]|0)>>>0>=(c[(c[f>>2]|0)+4>>2]|0)>>>0)break a;c[(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}}if(d)eq(c[f>>2]|0,c[j>>2]|0);c[(c[f>>2]|0)+4>>2]=c[j>>2];c[k>>2]=0;while(1){o=c[k>>2]|0;if((c[k>>2]|0)>>>0>=(c[(c[g>>2]|0)+4>>2]|0)>>>0)break;c[(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(o<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}c[(c[f>>2]|0)+4>>2]=o;if((c[l>>2]|0)>>>0>=(c[(c[f>>2]|0)+4>>2]|0)>>>0){c[(c[f>>2]|0)+4>>2]=0;i=e;return}if(c[l>>2]|0){c[k>>2]=0;while(1){p=c[k>>2]|0;if((c[k>>2]|0)>>>0>=((c[(c[f>>2]|0)+4>>2]|0)-(c[l>>2]|0)|0)>>>0)break;c[(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(p+(c[l>>2]|0)<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}c[(c[(c[f>>2]|0)+16>>2]|0)+(p<<2)>>2]=0;d=(c[f>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)-(c[l>>2]|0)}if(c[m>>2]|0?(c[(c[f>>2]|0)+4>>2]|0)!=0:0)Wp(c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[m>>2]|0)|0}while(0);while(1){if((c[(c[f>>2]|0)+4>>2]|0)<=0){q=40;break}if(c[(c[(c[f>>2]|0)+16>>2]|0)+((c[(c[f>>2]|0)+4>>2]|0)-1<<2)>>2]|0){q=40;break}m=(c[f>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+-1}if((q|0)==40){i=e;return}}function Zo(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[e>>2]=a;c[f>>2]=b;c[h>>2]=c[(c[e>>2]|0)+4>>2];if(!((c[f>>2]|0)!=0&(c[h>>2]|0)!=0)){i=d;return}if((c[c[e>>2]>>2]|0)>>>0<((c[h>>2]|0)+(c[f>>2]|0)|0)>>>0)eq(c[e>>2]|0,(c[h>>2]|0)+(c[f>>2]|0)|0);c[g>>2]=c[(c[e>>2]|0)+16>>2];c[j>>2]=(c[h>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;c[(c[g>>2]|0)+((c[j>>2]|0)+(c[f>>2]|0)<<2)>>2]=c[(c[g>>2]|0)+(c[j>>2]<<2)>>2];c[j>>2]=(c[j>>2]|0)+-1}c[j>>2]=0;while(1){if((c[j>>2]|0)>>>0>=(c[f>>2]|0)>>>0)break;c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]=0;c[j>>2]=(c[j>>2]|0)+1}j=(c[e>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+(c[f>>2]|0);i=d;return}function _o(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+32|0;h=e+28|0;j=e+24|0;k=e+20|0;l=e+16|0;m=e+12|0;n=e+8|0;o=e+4|0;p=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=((c[h>>2]|0)>>>0)/32|0;c[k>>2]=((c[h>>2]|0)>>>0)%32|0;if(c[f>>2]|0?c[(c[f>>2]|0)+12>>2]&16|0:0){gq();i=e;return}if(!(c[h>>2]|0?1:(c[f>>2]|0)!=(c[g>>2]|0))){i=e;return}if((c[f>>2]|0)!=(c[g>>2]|0)){c[l>>2]=c[(c[g>>2]|0)+4>>2];c[m>>2]=c[(c[g>>2]|0)+8>>2];if((c[c[f>>2]>>2]|0)>>>0<((c[l>>2]|0)+(c[j>>2]|0)+1|0)>>>0)eq(c[f>>2]|0,(c[l>>2]|0)+(c[j>>2]|0)+1|0);c[n>>2]=c[(c[f>>2]|0)+16>>2];c[o>>2]=c[(c[g>>2]|0)+16>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;c[(c[n>>2]|0)+(c[p>>2]<<2)>>2]=c[(c[o>>2]|0)+(c[p>>2]<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}c[(c[f>>2]|0)+4>>2]=c[l>>2];c[(c[f>>2]|0)+12>>2]=c[(c[g>>2]|0)+12>>2];c[(c[f>>2]|0)+8>>2]=c[m>>2]}if((c[j>>2]|0)==0|(c[k>>2]|0)!=0){if(c[h>>2]|0){Zo(c[f>>2]|0,(c[j>>2]|0)+1|0);Yo(c[f>>2]|0,c[f>>2]|0,32-(c[k>>2]|0)|0)}}else Zo(c[f>>2]|0,c[j>>2]|0);while(1){if((c[(c[f>>2]|0)+4>>2]|0)<=0){q=19;break}if(c[(c[(c[f>>2]|0)+16>>2]|0)+((c[(c[f>>2]|0)+4>>2]|0)-1<<2)>>2]|0){q=19;break}j=(c[f>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+-1}if((q|0)==19){i=e;return}}function $o(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=c[g>>2];Qo(c[f>>2]|0);do if(c[(c[f>>2]|0)+4>>2]|0){if(c[(c[f>>2]|0)+8>>2]|0){c[e>>2]=-1;break}if((c[(c[f>>2]|0)+4>>2]|0)!=1){c[e>>2]=1;break}if((c[c[(c[f>>2]|0)+16>>2]>>2]|0)>>>0>(c[h>>2]|0)>>>0){c[e>>2]=1;break}if((c[c[(c[f>>2]|0)+16>>2]>>2]|0)>>>0<(c[h>>2]|0)>>>0){c[e>>2]=-1;break}else{c[e>>2]=0;break}}else c[e>>2]=0-((c[h>>2]|0)!=0&1);while(0);i=d;return c[e>>2]|0}function ap(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+32|0;e=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0?(c[(c[f>>2]|0)+12>>2]&4|0)!=0:0))l=3;do if((l|0)==3){if(c[g>>2]|0?c[(c[g>>2]|0)+12>>2]&4|0:0)break;Qo(c[f>>2]|0);Qo(c[g>>2]|0);c[h>>2]=c[(c[f>>2]|0)+4>>2];c[j>>2]=c[(c[g>>2]|0)+4>>2];if((c[(c[f>>2]|0)+8>>2]|0)==0?c[(c[g>>2]|0)+8>>2]|0:0){c[e>>2]=1;m=c[e>>2]|0;i=d;return m|0}if(c[(c[f>>2]|0)+8>>2]|0?(c[(c[g>>2]|0)+8>>2]|0)==0:0){c[e>>2]=-1;m=c[e>>2]|0;i=d;return m|0}if(((c[h>>2]|0)!=(c[j>>2]|0)?(c[(c[f>>2]|0)+8>>2]|0)==0:0)?(c[(c[g>>2]|0)+8>>2]|0)==0:0){c[e>>2]=(c[h>>2]|0)-(c[j>>2]|0);m=c[e>>2]|0;i=d;return m|0}if(((c[h>>2]|0)!=(c[j>>2]|0)?c[(c[f>>2]|0)+8>>2]|0:0)?c[(c[g>>2]|0)+8>>2]|0:0){c[e>>2]=(c[j>>2]|0)+(c[h>>2]|0);m=c[e>>2]|0;i=d;return m|0}if(!(c[h>>2]|0)){c[e>>2]=0;m=c[e>>2]|0;i=d;return m|0}b=op(c[(c[f>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0)|0;c[k>>2]=b;if(!b){c[e>>2]=0;m=c[e>>2]|0;i=d;return m|0}if((((c[k>>2]|0)<0?1:0)|0)==((c[(c[f>>2]|0)+8>>2]|0?1:0)|0)){c[e>>2]=1;m=c[e>>2]|0;i=d;return m|0}else{c[e>>2]=-1;m=c[e>>2]|0;i=d;return m|0}}while(0);do if(c[f>>2]|0?c[(c[f>>2]|0)+12>>2]&4|0:0){if(c[g>>2]|0?c[(c[g>>2]|0)+12>>2]&4|0:0)break;c[e>>2]=-1;m=c[e>>2]|0;i=d;return m|0}while(0);if(c[f>>2]|0){if(c[g>>2]|0?(c[(c[f>>2]|0)+12>>2]&4|0)==0:0)l=13}else if(c[g>>2]|0)l=13;if((l|0)==13?c[(c[g>>2]|0)+12>>2]&4|0:0){c[e>>2]=1;m=c[e>>2]|0;i=d;return m|0}if((c[(c[f>>2]|0)+8>>2]|0)==0?(c[(c[g>>2]|0)+8>>2]|0)==0:0){c[e>>2]=0;m=c[e>>2]|0;i=d;return m|0}if((c[(c[f>>2]|0)+8>>2]|0)<(c[(c[g>>2]|0)+8>>2]|0)){c[e>>2]=-1;m=c[e>>2]|0;i=d;return m|0}if((c[(c[f>>2]|0)+8>>2]|0)>(c[(c[g>>2]|0)+8>>2]|0)){c[e>>2]=1;m=c[e>>2]|0;i=d;return m|0}else{c[e>>2]=mw(c[(c[f>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+16>>2]|0,((c[(c[f>>2]|0)+8>>2]|0)+7|0)/8|0)|0;m=c[e>>2]|0;i=d;return m|0}return 0}function bp(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+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[(c[h>>2]|0)+8>>2];c[k>>2]=0;if((c[f>>2]|0)==(c[h>>2]|0)){c[k>>2]=mq(c[h>>2]|0)|0;c[h>>2]=c[k>>2]}cp(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);if((c[j>>2]|0?1:0)^(c[(c[g>>2]|0)+8>>2]|0?1:0)|0?c[(c[f>>2]|0)+4>>2]|0:0)Lo(c[f>>2]|0,c[f>>2]|0,c[h>>2]|0);if(!(c[k>>2]|0)){i=e;return}hq(c[k>>2]|0);i=e;return}function cp(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;dp(0,c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function dp(a,b,e,f){a=a|0;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;g=i;i=i+160|0;h=g+144|0;j=g+140|0;k=g+136|0;l=g+132|0;m=g+128|0;n=g+124|0;o=g+120|0;p=g+116|0;q=g+112|0;r=g+108|0;s=g+104|0;t=g+100|0;u=g+96|0;v=g+92|0;w=g+88|0;x=g+84|0;y=g+64|0;z=g+44|0;A=g+40|0;B=g+36|0;C=g+32|0;D=g+28|0;E=g+24|0;F=g+20|0;G=g+16|0;H=g+12|0;I=g+8|0;J=g+4|0;K=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[q>>2]=c[(c[k>>2]|0)+4>>2];c[r>>2]=c[(c[l>>2]|0)+4>>2];c[u>>2]=c[(c[k>>2]|0)+8>>2];c[v>>2]=c[(c[k>>2]|0)+8>>2]^c[(c[l>>2]|0)+8>>2];c[A>>2]=0;c[t>>2]=(c[q>>2]|0)+1;eq(c[j>>2]|0,c[t>>2]|0);c[s>>2]=(c[t>>2]|0)-(c[r>>2]|0);if((c[s>>2]|0)<=0){a:do if((c[k>>2]|0)!=(c[j>>2]|0)){c[(c[j>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[(c[j>>2]|0)+8>>2]=c[(c[k>>2]|0)+8>>2];c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[q>>2]|0))break a;c[(c[(c[j>>2]|0)+16>>2]|0)+(c[B>>2]<<2)>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[B>>2]<<2)>>2];c[B>>2]=(c[B>>2]|0)+1}}while(0);if(!(c[h>>2]|0)){i=g;return}c[(c[h>>2]|0)+4>>2]=0;c[(c[h>>2]|0)+8>>2]=0;i=g;return}if(c[h>>2]|0)eq(c[h>>2]|0,c[s>>2]|0);c[m>>2]=c[(c[k>>2]|0)+16>>2];c[n>>2]=c[(c[l>>2]|0)+16>>2];c[p>>2]=c[(c[j>>2]|0)+16>>2];k=(c[h>>2]|0)!=0;if((c[r>>2]|0)==1){if(k){c[o>>2]=c[(c[h>>2]|0)+16>>2];c[C>>2]=Np(c[o>>2]|0,c[m>>2]|0,c[q>>2]|0,c[c[n>>2]>>2]|0)|0;c[s>>2]=(c[s>>2]|0)-((c[(c[o>>2]|0)+((c[s>>2]|0)-1<<2)>>2]|0)==0&1);c[(c[h>>2]|0)+4>>2]=c[s>>2];c[(c[h>>2]|0)+8>>2]=c[v>>2]}else c[C>>2]=Lp(c[m>>2]|0,c[q>>2]|0,c[c[n>>2]>>2]|0)|0;c[c[p>>2]>>2]=c[C>>2];c[t>>2]=c[C>>2]|0?1:0;c[(c[j>>2]|0)+4>>2]=c[t>>2];c[(c[j>>2]|0)+8>>2]=c[u>>2];i=g;return}b:do if(k){c[o>>2]=c[(c[h>>2]|0)+16>>2];if((c[o>>2]|0)==(c[m>>2]|0)){c[z+(c[A>>2]<<2)>>2]=c[q>>2];if(c[h>>2]|0)L=(c[(c[h>>2]|0)+12>>2]&1|0)!=0;else L=0;C=aq(c[q>>2]|0,L&1)|0;B=c[A>>2]|0;c[A>>2]=B+1;c[y+(B<<2)>>2]=C;c[m>>2]=C;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[q>>2]|0))break b;c[(c[m>>2]|0)+(c[D>>2]<<2)>>2]=c[(c[o>>2]|0)+(c[D>>2]<<2)>>2];c[D>>2]=(c[D>>2]|0)+1}}}else c[o>>2]=(c[p>>2]|0)+(c[r>>2]<<2);while(0);c[E>>2]=c[(c[n>>2]|0)+((c[r>>2]|0)-1<<2)>>2];D=c[E>>2]|0;c[F>>2]=(c[E>>2]|0)>>>0<65536?(D>>>0<256?0:8):D>>>0<16777216?16:24;c[w>>2]=32-((d[45806+((c[E>>2]|0)>>>(c[F>>2]|0))>>0]|0)+(c[F>>2]|0));do if(c[w>>2]|0){c[z+(c[A>>2]<<2)>>2]=c[r>>2];if(c[l>>2]|0)M=(c[(c[l>>2]|0)+12>>2]&1|0)!=0;else M=0;F=aq(c[r>>2]|0,M&1)|0;E=c[A>>2]|0;c[A>>2]=E+1;c[y+(E<<2)>>2]=F;c[G>>2]=F;Op(c[G>>2]|0,c[n>>2]|0,c[r>>2]|0,c[w>>2]|0)|0;c[n>>2]=c[G>>2];c[H>>2]=Op(c[p>>2]|0,c[m>>2]|0,c[q>>2]|0,c[w>>2]|0)|0;if(c[H>>2]|0){c[(c[p>>2]|0)+(c[q>>2]<<2)>>2]=c[H>>2];c[t>>2]=(c[q>>2]|0)+1;break}else{c[t>>2]=c[q>>2];break}}else{if((c[n>>2]|0)!=(c[p>>2]|0)){if(c[h>>2]|0?(c[n>>2]|0)==(c[o>>2]|0):0)N=32}else N=32;if((N|0)==32){c[z+(c[A>>2]<<2)>>2]=c[r>>2];if(c[l>>2]|0)O=(c[(c[l>>2]|0)+12>>2]&1|0)!=0;else O=0;F=aq(c[r>>2]|0,O&1)|0;E=c[A>>2]|0;c[A>>2]=E+1;c[y+(E<<2)>>2]=F;c[I>>2]=F;c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[r>>2]|0))break;c[(c[I>>2]|0)+(c[J>>2]<<2)>>2]=c[(c[n>>2]|0)+(c[J>>2]<<2)>>2];c[J>>2]=(c[J>>2]|0)+1}c[n>>2]=c[I>>2]}c:do if((c[p>>2]|0)!=(c[m>>2]|0)){c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[q>>2]|0))break c;c[(c[p>>2]|0)+(c[K>>2]<<2)>>2]=c[(c[m>>2]|0)+(c[K>>2]<<2)>>2];c[K>>2]=(c[K>>2]|0)+1}}while(0);c[t>>2]=c[q>>2]}while(0);c[x>>2]=Mp(c[o>>2]|0,0,c[p>>2]|0,c[t>>2]|0,c[n>>2]|0,c[r>>2]|0)|0;if(c[h>>2]|0){c[s>>2]=(c[t>>2]|0)-(c[r>>2]|0);if(c[x>>2]|0){c[(c[o>>2]|0)+(c[s>>2]<<2)>>2]=c[x>>2];c[s>>2]=(c[s>>2]|0)+1}c[(c[h>>2]|0)+4>>2]=c[s>>2];c[(c[h>>2]|0)+8>>2]=c[v>>2]}c[t>>2]=c[r>>2];while(1){if((c[t>>2]|0)<=0)break;if(c[(c[p>>2]|0)+((c[t>>2]|0)-1<<2)>>2]|0)break;c[t>>2]=(c[t>>2]|0)+-1}if((c[w>>2]|0)!=0&(c[t>>2]|0)!=0){Wp(c[p>>2]|0,c[p>>2]|0,c[t>>2]|0,c[w>>2]|0)|0;c[t>>2]=(c[t>>2]|0)-((c[(c[p>>2]|0)+((c[t>>2]|0)-1<<2)>>2]|0)==0?1:0)}c[(c[j>>2]|0)+4>>2]=c[t>>2];c[(c[j>>2]|0)+8>>2]=c[u>>2];while(1){if(!(c[A>>2]|0))break;c[A>>2]=(c[A>>2]|0)+-1;cq(c[y+(c[A>>2]<<2)>>2]|0,c[z+(c[A>>2]<<2)>>2]|0)}i=g;return}function ep(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+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=Lp(c[(c[g>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0)|0;if(c[j>>2]|0?c[(c[g>>2]|0)+8>>2]|0:0)c[j>>2]=(c[h>>2]|0)-(c[j>>2]|0);if(!(c[f>>2]|0)){k=c[j>>2]|0;i=e;return k|0}c[c[(c[f>>2]|0)+16>>2]>>2]=c[j>>2];c[(c[f>>2]|0)+4>>2]=c[j>>2]|0?1:0;k=c[j>>2]|0;i=e;return k|0}function fp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=$p(c[(c[f>>2]|0)+4>>2]|0)|0;gp(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0);hq(c[j>>2]|0);i=e;return}function gp(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+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;m=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=c[(c[k>>2]|0)+8>>2];c[m>>2]=0;if(!((c[g>>2]|0)!=(c[k>>2]|0)?(c[h>>2]|0)!=(c[k>>2]|0):0)){c[m>>2]=mq(c[k>>2]|0)|0;c[k>>2]=c[m>>2]}dp(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);if(c[l>>2]^c[(c[j>>2]|0)+8>>2]|0?c[(c[h>>2]|0)+4>>2]|0:0){Mo(c[g>>2]|0,c[g>>2]|0,1);Lo(c[h>>2]|0,c[h>>2]|0,c[k>>2]|0)}if(!(c[m>>2]|0)){i=f;return}hq(c[m>>2]|0);i=f;return}function hp(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;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+8|0;n=e+4|0;o=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[(c[g>>2]|0)+4>>2];c[l>>2]=((c[h>>2]|0)>>>0)/32|0;c[k>>2]=(c[j>>2]|0)-(c[l>>2]|0);d=c[f>>2]|0;if((c[l>>2]|0)>=(c[j>>2]|0)){c[d+4>>2]=0;i=e;return}if((c[d>>2]|0)<(c[k>>2]|0))eq(c[f>>2]|0,c[k>>2]|0);c[m>>2]=c[(c[f>>2]|0)+16>>2];c[n>>2]=c[(c[g>>2]|0)+16>>2];c[h>>2]=((c[h>>2]|0)>>>0)%32|0;a:do if(c[h>>2]|0){Wp(c[m>>2]|0,(c[n>>2]|0)+(c[l>>2]<<2)|0,c[k>>2]|0,c[h>>2]|0)|0;c[k>>2]=(c[k>>2]|0)-(((c[(c[m>>2]|0)+((c[k>>2]|0)-1<<2)>>2]|0)!=0^1)&1)}else{c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break a;c[(c[m>>2]|0)+(c[o>>2]<<2)>>2]=c[(c[n>>2]|0)+(c[l>>2]<<2)+(c[o>>2]<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}}while(0);c[(c[f>>2]|0)+4>>2]=c[k>>2];i=e;return}function ip(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=((Lp(c[(c[e>>2]|0)+16>>2]|0,c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0)|0)!=0^1)&1;i=d;return b|0}function jp(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+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=mq(c[g>>2]|0)|0;c[k>>2]=mq(c[h>>2]|0)|0;c[(c[j>>2]|0)+8>>2]=0;c[(c[k>>2]|0)+8>>2]=0;while(1){h=($o(c[k>>2]|0,0)|0)!=0;l=c[f>>2]|0;m=c[j>>2]|0;if(!h)break;bp(l,m,c[k>>2]|0);oq(c[j>>2]|0,c[k>>2]|0)|0;oq(c[k>>2]|0,c[f>>2]|0)|0}oq(l,m)|0;hq(c[j>>2]|0);hq(c[k>>2]|0);k=(($o(c[f>>2]|0,1)|0)!=0^1)&1;i=e;return k|0}function kp(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+32|0;g=f+24|0;h=f+20|0;j=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;n=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;e=c[j>>2]|0;c[j>>2]=e+4;c[m>>2]=c[e>>2];c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);e=c[l>>2]|0;d=c[h>>2]|0;c[h>>2]=d+4;c[d>>2]=e;a:do if((c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0){while(1){e=(c[k>>2]|0)+-1|0;c[k>>2]=e;if(!e)break;e=c[j>>2]|0;c[j>>2]=e+4;c[m>>2]=(c[e>>2]|0)+1;e=c[m>>2]|0;d=c[h>>2]|0;c[h>>2]=d+4;c[d>>2]=e;if(c[m>>2]|0)break a}c[g>>2]=1;o=c[g>>2]|0;i=f;return o|0}while(0);b:do if((c[h>>2]|0)!=(c[j>>2]|0)){c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[k>>2]|0)-1|0))break b;c[(c[h>>2]|0)+(c[n>>2]<<2)>>2]=c[(c[j>>2]|0)+(c[n>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}}while(0);c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}function lp(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;g=i;i=i+32|0;h=g+20|0;j=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=0;if(c[m>>2]|0)c[n>>2]=Kp(c[h>>2]|0,c[j>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(!((c[k>>2]|0)-(c[m>>2]|0)|0)){o=c[n>>2]|0;i=g;return o|0}c[n>>2]=kp((c[h>>2]|0)+(c[m>>2]<<2)|0,(c[j>>2]|0)+(c[m>>2]<<2)|0,(c[k>>2]|0)-(c[m>>2]|0)|0,c[n>>2]|0)|0;o=c[n>>2]|0;i=g;return o|0}function mp(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+32|0;g=f+24|0;h=f+20|0;j=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;n=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;e=c[j>>2]|0;c[j>>2]=e+4;c[m>>2]=c[e>>2];c[l>>2]=(c[m>>2]|0)-(c[l>>2]|0);e=c[l>>2]|0;d=c[h>>2]|0;c[h>>2]=d+4;c[d>>2]=e;a:do if((c[l>>2]|0)>>>0>(c[m>>2]|0)>>>0){while(1){e=(c[k>>2]|0)+-1|0;c[k>>2]=e;if(!e)break;e=c[j>>2]|0;c[j>>2]=e+4;c[m>>2]=c[e>>2];e=(c[m>>2]|0)-1|0;d=c[h>>2]|0;c[h>>2]=d+4;c[d>>2]=e;if(c[m>>2]|0)break a}c[g>>2]=1;o=c[g>>2]|0;i=f;return o|0}while(0);b:do if((c[h>>2]|0)!=(c[j>>2]|0)){c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[k>>2]|0)-1|0))break b;c[(c[h>>2]|0)+(c[n>>2]<<2)>>2]=c[(c[j>>2]|0)+(c[n>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}}while(0);c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}function np(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;g=i;i=i+32|0;h=g+20|0;j=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=0;if(c[m>>2]|0)c[n>>2]=Xp(c[h>>2]|0,c[j>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(!((c[k>>2]|0)-(c[m>>2]|0)|0)){o=c[n>>2]|0;i=g;return o|0}c[n>>2]=mp((c[h>>2]|0)+(c[m>>2]<<2)|0,(c[j>>2]|0)+(c[m>>2]<<2)|0,(c[k>>2]|0)-(c[m>>2]|0)|0,c[n>>2]|0)|0;o=c[n>>2]|0;i=g;return o|0}function op(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;e=i;i=i+32|0;f=e+24|0;g=e+20|0;h=e+16|0;j=e+12|0;k=e+8|0;l=e+4|0;m=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=(c[j>>2]|0)-1;while(1){if((c[k>>2]|0)<0){n=5;break}c[l>>2]=c[(c[g>>2]|0)+(c[k>>2]<<2)>>2];c[m>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];if((c[l>>2]|0)!=(c[m>>2]|0)){n=6;break}c[k>>2]=(c[k>>2]|0)+-1}if((n|0)==5){c[f>>2]=0;o=c[f>>2]|0;i=e;return o|0}else if((n|0)==6){c[f>>2]=(c[l>>2]|0)>>>0>(c[m>>2]|0)>>>0?1:-1;o=c[f>>2]|0;i=e;return o|0}return 0}function pp(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+80|0;f=e+68|0;g=e+64|0;h=e+60|0;j=e+56|0;k=e+52|0;l=e+48|0;m=e+44|0;n=e+40|0;o=e+36|0;p=e+32|0;q=e+28|0;r=e+24|0;s=e+20|0;t=e+16|0;u=e+12|0;v=e+8|0;w=e+4|0;x=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[n>>2]=0;c[q>>2]=0;c[t>>2]=0;if(!($o(c[h>>2]|0,0)|0)){c[f>>2]=0;y=c[f>>2]|0;i=e;return y|0}if(!($o(c[j>>2]|0,1)|0)){c[f>>2]=0;y=c[f>>2]|0;i=e;return y|0}c[k>>2]=mq(c[h>>2]|0)|0;c[l>>2]=mq(c[j>>2]|0)|0;c[v>>2]=0;while(1){if(So(c[k>>2]|0,0)|0)break;if(!((So(c[l>>2]|0,0)|0)!=0^1))break;Yo(c[k>>2]|0,c[k>>2]|0,1);Yo(c[l>>2]|0,c[l>>2]|0,1);c[v>>2]=(c[v>>2]|0)+1}c[x>>2]=So(c[l>>2]|0,0)|0;c[m>>2]=_p(1)|0;if(!(c[x>>2]|0))c[n>>2]=_p(0)|0;c[o>>2]=mq(c[k>>2]|0)|0;c[p>>2]=mq(c[l>>2]|0)|0;if(!(c[x>>2]|0)){c[q>>2]=$p(c[(c[k>>2]|0)+4>>2]|0)|0;No(c[q>>2]|0,c[m>>2]|0,c[k>>2]|0)}c[r>>2]=mq(c[l>>2]|0)|0;if(So(c[k>>2]|0,0)|0){c[s>>2]=_p(0)|0;if(!(c[x>>2]|0)){c[t>>2]=_p(1)|0;c[(c[t>>2]|0)+8>>2]=1}c[u>>2]=mq(c[l>>2]|0)|0;c[(c[u>>2]|0)+8>>2]=((c[(c[u>>2]|0)+8>>2]|0)!=0^1)&1}else{c[s>>2]=_p(1)|0;if(!(c[x>>2]|0))c[t>>2]=_p(0)|0;c[u>>2]=mq(c[k>>2]|0)|0;z=20}while(1){if((z|0)==20){z=0;v=(c[x>>2]|0)!=0;j=(So(c[s>>2]|0,0)|0)!=0;if(v){if(j)Lo(c[s>>2]|0,c[s>>2]|0,c[l>>2]|0);Yo(c[s>>2]|0,c[s>>2]|0,1);Yo(c[u>>2]|0,c[u>>2]|0,1);continue}if(!(!j?!(So(c[t>>2]|0,0)|0):0)){Lo(c[s>>2]|0,c[s>>2]|0,c[l>>2]|0);No(c[t>>2]|0,c[t>>2]|0,c[k>>2]|0)}Yo(c[s>>2]|0,c[s>>2]|0,1);Yo(c[t>>2]|0,c[t>>2]|0,1);Yo(c[u>>2]|0,c[u>>2]|0,1)}if((So(c[u>>2]|0,0)|0)!=0^1){z=20;continue}if(c[(c[u>>2]|0)+8>>2]|0){No(c[p>>2]|0,c[l>>2]|0,c[s>>2]|0);c[w>>2]=c[(c[k>>2]|0)+8>>2];c[(c[k>>2]|0)+8>>2]=((c[(c[k>>2]|0)+8>>2]|0)!=0^1)&1;if(!(c[x>>2]|0))No(c[q>>2]|0,c[k>>2]|0,c[t>>2]|0);c[(c[k>>2]|0)+8>>2]=c[w>>2];c[w>>2]=c[(c[u>>2]|0)+8>>2];c[(c[u>>2]|0)+8>>2]=((c[(c[u>>2]|0)+8>>2]|0)!=0^1)&1;oq(c[r>>2]|0,c[u>>2]|0)|0;c[(c[u>>2]|0)+8>>2]=c[w>>2]}else{oq(c[m>>2]|0,c[s>>2]|0)|0;if(!(c[x>>2]|0))oq(c[n>>2]|0,c[t>>2]|0)|0;oq(c[o>>2]|0,c[u>>2]|0)|0}No(c[s>>2]|0,c[m>>2]|0,c[p>>2]|0);if(!(c[x>>2]|0))No(c[t>>2]|0,c[n>>2]|0,c[q>>2]|0);No(c[u>>2]|0,c[o>>2]|0,c[r>>2]|0);if(c[(c[s>>2]|0)+8>>2]|0?(Lo(c[s>>2]|0,c[s>>2]|0,c[l>>2]|0),(c[x>>2]|0)==0):0)No(c[t>>2]|0,c[t>>2]|0,c[k>>2]|0);if($o(c[u>>2]|0,0)|0)z=20;else break}oq(c[g>>2]|0,c[m>>2]|0)|0;hq(c[m>>2]|0);hq(c[p>>2]|0);hq(c[s>>2]|0);if(!(c[x>>2]|0)){hq(c[n>>2]|0);hq(c[q>>2]|0);hq(c[t>>2]|0)}hq(c[o>>2]|0);hq(c[r>>2]|0);hq(c[u>>2]|0);hq(c[k>>2]|0);hq(c[l>>2]|0);c[f>>2]=1;y=c[f>>2]|0;i=e;return y|0}function qp(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;bp(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function rp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;Qo(c[e>>2]|0);c[g>>2]=gg(1,28)|0;b=c[e>>2]|0;if(c[f>>2]|0){f=mq(b)|0;c[c[g>>2]>>2]=f;c[(c[g>>2]|0)+4>>2]=1}else c[c[g>>2]>>2]=b;c[(c[g>>2]|0)+8>>2]=c[(c[e>>2]|0)+4>>2];c[h>>2]=$p((c[(c[g>>2]|0)+8>>2]|0)+1|0)|0;sq(c[h>>2]|0,1)|0;Zo(c[h>>2]|0,c[(c[g>>2]|0)+8>>2]<<1);fp(c[h>>2]|0,c[h>>2]|0,c[e>>2]|0);c[(c[g>>2]|0)+12>>2]=c[h>>2];h=$p((c[(c[g>>2]|0)+8>>2]<<1)+1|0)|0;c[(c[g>>2]|0)+16>>2]=h;h=$p((c[(c[g>>2]|0)+8>>2]<<1)+1|0)|0;c[(c[g>>2]|0)+20>>2]=h;i=d;return c[g>>2]|0}function sp(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}hq(c[(c[d>>2]|0)+12>>2]|0);hq(c[(c[d>>2]|0)+16>>2]|0);hq(c[(c[d>>2]|0)+20>>2]|0);if(c[(c[d>>2]|0)+24>>2]|0)hq(c[(c[d>>2]|0)+24>>2]|0);if(c[(c[d>>2]|0)+4>>2]|0)hq(c[c[d>>2]>>2]|0);$f(c[d>>2]|0);i=b;return}function tp(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;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+8|0;n=e+4|0;o=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[c[h>>2]>>2];c[k>>2]=c[(c[h>>2]|0)+8>>2];c[l>>2]=c[(c[h>>2]|0)+12>>2];c[m>>2]=c[(c[h>>2]|0)+16>>2];c[n>>2]=c[(c[h>>2]|0)+20>>2];Qo(c[g>>2]|0);if((c[(c[g>>2]|0)+4>>2]|0)>(c[k>>2]<<1|0)){qp(c[f>>2]|0,c[g>>2]|0,c[j>>2]|0);i=e;return}c[o>>2]=c[(c[g>>2]|0)+8>>2];c[(c[g>>2]|0)+8>>2]=0;oq(c[n>>2]|0,c[g>>2]|0)|0;Xo(c[n>>2]|0,(c[k>>2]|0)-1|0);up(c[n>>2]|0,c[n>>2]|0,c[l>>2]|0);Xo(c[n>>2]|0,(c[k>>2]|0)+1|0);oq(c[m>>2]|0,c[g>>2]|0)|0;if((c[(c[m>>2]|0)+4>>2]|0)>((c[k>>2]|0)+1|0))c[(c[m>>2]|0)+4>>2]=(c[k>>2]|0)+1;up(c[n>>2]|0,c[n>>2]|0,c[j>>2]|0);if((c[(c[n>>2]|0)+4>>2]|0)>((c[k>>2]|0)+1|0))c[(c[n>>2]|0)+4>>2]=(c[k>>2]|0)+1;No(c[f>>2]|0,c[m>>2]|0,c[n>>2]|0);if(c[(c[f>>2]|0)+8>>2]|0){if(!(c[(c[h>>2]|0)+24>>2]|0)){n=$p((c[k>>2]|0)+2|0)|0;c[(c[h>>2]|0)+24>>2]=n;sq(c[(c[h>>2]|0)+24>>2]|0,1)|0;Zo(c[(c[h>>2]|0)+24>>2]|0,(c[k>>2]|0)+1|0)}Lo(c[f>>2]|0,c[f>>2]|0,c[(c[h>>2]|0)+24>>2]|0)}while(1){if((ap(c[f>>2]|0,c[j>>2]|0)|0)<0)break;No(c[f>>2]|0,c[f>>2]|0,c[j>>2]|0)}c[(c[g>>2]|0)+8>>2]=c[o>>2];i=e;return}function up(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;e=i;i=i+96|0;f=e+84|0;g=e+80|0;h=e+76|0;j=e+72|0;k=e+68|0;l=e+64|0;m=e+60|0;n=e+56|0;o=e+52|0;p=e+48|0;q=e+44|0;r=e+40|0;s=e+36|0;t=e+32|0;u=e+28|0;v=e+24|0;w=e+20|0;x=e+16|0;y=e+12|0;z=e+8|0;A=e+4|0;B=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;if((c[(c[g>>2]|0)+4>>2]|0)<(c[(c[h>>2]|0)+4>>2]|0)){c[j>>2]=c[(c[h>>2]|0)+4>>2];c[q>>2]=c[(c[h>>2]|0)+8>>2];if(c[h>>2]|0)C=(c[(c[h>>2]|0)+12>>2]&1|0)!=0;else C=0;c[s>>2]=C&1;c[m>>2]=c[(c[h>>2]|0)+16>>2];c[k>>2]=c[(c[g>>2]|0)+4>>2];c[r>>2]=c[(c[g>>2]|0)+8>>2];if(c[g>>2]|0)D=(c[(c[g>>2]|0)+12>>2]&1|0)!=0;else D=0;c[t>>2]=D&1;c[n>>2]=c[(c[g>>2]|0)+16>>2]}else{c[j>>2]=c[(c[g>>2]|0)+4>>2];c[q>>2]=c[(c[g>>2]|0)+8>>2];if(c[g>>2]|0)E=(c[(c[g>>2]|0)+12>>2]&1|0)!=0;else E=0;c[s>>2]=E&1;c[m>>2]=c[(c[g>>2]|0)+16>>2];c[k>>2]=c[(c[h>>2]|0)+4>>2];c[r>>2]=c[(c[h>>2]|0)+8>>2];if(c[h>>2]|0)F=(c[(c[h>>2]|0)+12>>2]&1|0)!=0;else F=0;c[t>>2]=F&1;c[n>>2]=c[(c[h>>2]|0)+16>>2]}c[u>>2]=c[q>>2]^c[r>>2];c[o>>2]=c[(c[f>>2]|0)+16>>2];c[l>>2]=(c[j>>2]|0)+(c[k>>2]|0);if(c[f>>2]|0?c[(c[f>>2]|0)+12>>2]&1|0:0)G=19;else G=14;do if((G|0)==14){if(!(c[g>>2]|0?(c[(c[g>>2]|0)+12>>2]&1|0)!=0:0)){if(!(c[h>>2]|0)){G=19;break}if(!(c[(c[h>>2]|0)+12>>2]&1)){G=19;break}}c[o>>2]=aq(c[l>>2]|0,1)|0;c[v>>2]=2}while(0);a:do if((G|0)==19){h=(c[o>>2]|0)==(c[m>>2]|0);if((c[c[f>>2]>>2]|0)<(c[l>>2]|0)){if(!h?(c[o>>2]|0)!=(c[n>>2]|0):0){eq(c[f>>2]|0,c[l>>2]|0);c[o>>2]=c[(c[f>>2]|0)+16>>2];break}if(c[f>>2]|0)H=(c[(c[f>>2]|0)+12>>2]&1|0)!=0;else H=0;c[o>>2]=aq(c[l>>2]|0,H&1)|0;c[v>>2]=1;break}if(!h){if((c[o>>2]|0)!=(c[n>>2]|0))break;c[x>>2]=c[k>>2];h=aq(c[k>>2]|0,c[t>>2]|0)|0;c[w>>2]=h;c[n>>2]=h;c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[k>>2]|0))break a;c[(c[n>>2]|0)+(c[z>>2]<<2)>>2]=c[(c[o>>2]|0)+(c[z>>2]<<2)>>2];c[z>>2]=(c[z>>2]|0)+1}}c[x>>2]=c[j>>2];h=aq(c[j>>2]|0,c[s>>2]|0)|0;c[w>>2]=h;c[m>>2]=h;if((c[o>>2]|0)==(c[n>>2]|0))c[n>>2]=c[m>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[j>>2]|0))break a;c[(c[m>>2]|0)+(c[y>>2]<<2)>>2]=c[(c[o>>2]|0)+(c[y>>2]<<2)>>2];c[y>>2]=(c[y>>2]|0)+1}}while(0);if(c[k>>2]|0){c[p>>2]=Up(c[o>>2]|0,c[m>>2]|0,c[j>>2]|0,c[n>>2]|0,c[k>>2]|0)|0;c[l>>2]=(c[l>>2]|0)-(c[p>>2]|0?0:1)}else c[l>>2]=0;if(c[v>>2]|0){if((c[v>>2]|0)==2){c[A>>2]=aq(c[l>>2]|0,0)|0;c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[l>>2]|0))break;c[(c[A>>2]|0)+(c[B>>2]<<2)>>2]=c[(c[o>>2]|0)+(c[B>>2]<<2)>>2];c[B>>2]=(c[B>>2]|0)+1}cq(c[o>>2]|0,0);c[o>>2]=c[A>>2]}dq(c[f>>2]|0,c[o>>2]|0,c[l>>2]|0)}c[(c[f>>2]|0)+4>>2]=c[l>>2];c[(c[f>>2]|0)+8>>2]=c[u>>2];if(!(c[w>>2]|0)){i=e;return}cq(c[w>>2]|0,c[x>>2]|0);i=e;return}function vp(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;up(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);cp(c[g>>2]|0,c[g>>2]|0,c[k>>2]|0);i=f;return}function wp(a,b,e,f){a=a|0;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;g=i;i=i+512|0;h=g+504|0;j=g+500|0;k=g+496|0;l=g+492|0;m=g+488|0;n=g+484|0;o=g+480|0;p=g+476|0;q=g+472|0;r=g+468|0;s=g+464|0;t=g+460|0;u=g+456|0;v=g+452|0;w=g+448|0;x=g+444|0;y=g+440|0;z=g+436|0;A=g+432|0;B=g+428|0;C=g+424|0;D=g+420|0;E=g+416|0;F=g+412|0;G=g+408|0;H=g+404|0;I=g+400|0;J=g+396|0;K=g+392|0;L=g+328|0;M=g+264|0;N=g+260|0;O=g+256|0;P=g+252|0;Q=g+248|0;R=g+244|0;S=g+240|0;T=g+236|0;U=g+232|0;V=g+228|0;W=g+224|0;X=g+220|0;Y=g+216|0;Z=g+212|0;_=g+208|0;$=g+204|0;aa=g+200|0;ba=g+196|0;ca=g+192|0;da=g+164|0;ea=g+160|0;fa=g+156|0;ga=g+152|0;ha=g+148|0;ia=g+144|0;ja=g+140|0;ka=g+136|0;la=g+132|0;ma=g+128|0;na=g+124|0;oa=g+120|0;pa=g+116|0;qa=g+112|0;ra=g+108|0;sa=g+104|0;ta=g+100|0;ua=g+80|0;va=g+60|0;wa=g+56|0;xa=g+52|0;ya=g+48|0;za=g+44|0;Aa=g+24|0;Ba=g+4|0;Ca=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[D>>2]=0;c[E>>2]=0;c[F>>2]=0;c[G>>2]=0;c[H>>2]=0;c[I>>2]=0;c[J>>2]=0;c[K>>2]=0;c[q>>2]=c[(c[k>>2]|0)+4>>2];c[r>>2]=c[(c[l>>2]|0)+4>>2];c[A>>2]=c[r>>2]<<1;c[u>>2]=c[(c[l>>2]|0)+8>>2];do if((c[q>>2]<<5|0)<=512){if((c[q>>2]<<5|0)>256){c[N>>2]=4;break}if((c[q>>2]<<5|0)>128){c[N>>2]=3;break}if((c[q>>2]<<5|0)>64){c[N>>2]=2;break}else{c[N>>2]=1;break}}else c[N>>2]=5;while(0);if(c[k>>2]|0)Da=(c[(c[k>>2]|0)+12>>2]&1|0)!=0;else Da=0;c[x>>2]=Da&1;if(c[l>>2]|0)Ea=(c[(c[l>>2]|0)+12>>2]&1|0)!=0;else Ea=0;c[y>>2]=Ea&1;if(c[j>>2]|0)Fa=(c[(c[j>>2]|0)+12>>2]&1|0)!=0;else Fa=0;c[z>>2]=Fa&1;c[m>>2]=c[(c[h>>2]|0)+16>>2];c[n>>2]=c[(c[k>>2]|0)+16>>2];if(!(c[r>>2]|0))Kf();do if(c[q>>2]|0){c[H>>2]=c[y>>2]|0?c[r>>2]|0:0;k=aq(c[r>>2]|0,c[y>>2]|0)|0;c[D>>2]=k;c[o>>2]=k;c[R>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+((c[r>>2]|0)-1<<2)>>2];k=c[R>>2]|0;c[S>>2]=(c[R>>2]|0)>>>0<65536?(k>>>0<256?0:8):k>>>0<16777216?16:24;c[B>>2]=32-((d[45806+((c[R>>2]|0)>>>(c[S>>2]|0))>>0]|0)+(c[S>>2]|0));a:do if(c[B>>2]|0)Op(c[o>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[r>>2]|0,c[B>>2]|0)|0;else{c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[r>>2]|0))break a;c[(c[o>>2]|0)+(c[T>>2]<<2)>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+(c[T>>2]<<2)>>2];c[T>>2]=(c[T>>2]|0)+1}}while(0);c[s>>2]=c[(c[j>>2]|0)+4>>2];c[v>>2]=c[(c[j>>2]|0)+8>>2];b:do if((c[s>>2]|0)>(c[r>>2]|0)){c[I>>2]=c[z>>2]|0?(c[s>>2]|0)+1|0:0;k=aq((c[s>>2]|0)+1|0,c[z>>2]|0)|0;c[E>>2]=k;c[p>>2]=k;c[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[s>>2]|0))break;c[(c[p>>2]|0)+(c[U>>2]<<2)>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[U>>2]<<2)>>2];c[U>>2]=(c[U>>2]|0)+1}Mp((c[p>>2]|0)+(c[r>>2]<<2)|0,0,c[p>>2]|0,c[s>>2]|0,c[o>>2]|0,c[r>>2]|0)|0;c[s>>2]=c[r>>2];while(1){if((c[s>>2]|0)<=0)break b;if(c[(c[p>>2]|0)+((c[s>>2]|0)-1<<2)>>2]|0)break b;c[s>>2]=(c[s>>2]|0)+-1}}else c[p>>2]=c[(c[j>>2]|0)+16>>2];while(0);if(!(c[s>>2]|0)){c[(c[h>>2]|0)+4>>2]=0;c[(c[h>>2]|0)+8>>2]=0;break}c:do if((c[m>>2]|0)==(c[p>>2]|0)){if(c[E>>2]|0)xf(46062,46073,515,46083);c[I>>2]=c[z>>2]|0?c[s>>2]|0:0;k=aq(c[s>>2]|0,c[z>>2]|0)|0;c[E>>2]=k;c[p>>2]=k;c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[s>>2]|0))break c;c[(c[p>>2]|0)+(c[V>>2]<<2)>>2]=c[(c[m>>2]|0)+(c[V>>2]<<2)>>2];c[V>>2]=(c[V>>2]|0)+1}}while(0);d:do if((c[m>>2]|0)==(c[n>>2]|0)){c[J>>2]=c[x>>2]|0?c[q>>2]|0:0;k=aq(c[q>>2]|0,c[x>>2]|0)|0;c[F>>2]=k;c[n>>2]=k;c[W>>2]=0;while(1){if((c[W>>2]|0)>=(c[q>>2]|0))break d;c[(c[n>>2]|0)+(c[W>>2]<<2)>>2]=c[(c[m>>2]|0)+(c[W>>2]<<2)>>2];c[W>>2]=(c[W>>2]|0)+1}}while(0);if((c[c[h>>2]>>2]|0)<(c[A>>2]|0)){eq(c[h>>2]|0,c[A>>2]|0);c[m>>2]=c[(c[h>>2]|0)+16>>2]}if(c[y>>2]|0)Ga=(c[r>>2]|0)+1<<1;else Ga=0;c[K>>2]=Ga;k=aq((c[r>>2]|0)+1<<1,c[y>>2]|0)|0;c[G>>2]=k;c[_>>2]=k;c[da>>2]=0;c[da+4>>2]=0;c[da+8>>2]=0;c[da+12>>2]=0;c[da+16>>2]=0;c[da+20>>2]=0;c[da+24>>2]=0;c[C>>2]=(c[c[n>>2]>>2]&1|0?(c[v>>2]|0)!=0:0)&1;if((c[N>>2]|0)>1)xp(c[_>>2]|0,$,c[p>>2]|0,c[s>>2]|0,c[p>>2]|0,c[s>>2]|0,c[o>>2]|0,c[r>>2]|0,da);k=aq(c[s>>2]|0,c[x>>2]|0)|0;c[L>>2]=k;c[O>>2]=k;k=c[s>>2]|0;c[M>>2]=k;c[Q>>2]=k;c[P>>2]=k;c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=(c[s>>2]|0))break;c[(c[L>>2]|0)+(c[fa>>2]<<2)>>2]=c[(c[p>>2]|0)+(c[fa>>2]<<2)>>2];c[fa>>2]=(c[fa>>2]|0)+1}c[X>>2]=1;while(1){if((c[X>>2]|0)>=(1<<(c[N>>2]|0)-1|0))break;k=c[m>>2]|0;if((c[$>>2]|0)>=(c[P>>2]|0))xp(k,t,c[_>>2]|0,c[$>>2]|0,c[O>>2]|0,c[P>>2]|0,c[o>>2]|0,c[r>>2]|0,da);else xp(k,t,c[O>>2]|0,c[P>>2]|0,c[_>>2]|0,c[$>>2]|0,c[o>>2]|0,c[r>>2]|0,da);k=aq(c[t>>2]|0,c[x>>2]|0)|0;c[L+(c[X>>2]<<2)>>2]=k;c[O>>2]=k;k=c[t>>2]|0;c[M+(c[X>>2]<<2)>>2]=k;c[P>>2]=k;if((c[Q>>2]|0)<(c[P>>2]|0))c[Q>>2]=c[P>>2];c[ga>>2]=0;while(1){if((c[ga>>2]|0)>=(c[t>>2]|0))break;c[(c[L+(c[X>>2]<<2)>>2]|0)+(c[ga>>2]<<2)>>2]=c[(c[m>>2]|0)+(c[ga>>2]<<2)>>2];c[ga>>2]=(c[ga>>2]|0)+1}c[X>>2]=(c[X>>2]|0)+1}c[O>>2]=aq(c[Q>>2]|0,c[x>>2]|0)|0;c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[Q>>2]|0))break;c[(c[O>>2]|0)+(c[ha>>2]<<2)>>2]=0;c[ha>>2]=(c[ha>>2]|0)+1}c[X>>2]=(c[q>>2]|0)-1;c[w>>2]=0;e:do if((c[N>>2]|0)==1)c[t>>2]=c[s>>2];else{c[t>>2]=c[r>>2];c[ia>>2]=0;while(1){if((c[ia>>2]|0)>=(c[t>>2]|0))break e;c[(c[m>>2]|0)+(c[ia>>2]<<2)>>2]=0;c[ia>>2]=(c[ia>>2]|0)+1}}while(0);c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[s>>2]|0))break;c[(c[m>>2]|0)+(c[ja>>2]<<2)>>2]=c[(c[p>>2]|0)+(c[ja>>2]<<2)>>2];c[ja>>2]=(c[ja>>2]|0)+1}c[ba>>2]=c[(c[n>>2]|0)+(c[X>>2]<<2)>>2];c[ka>>2]=c[ba>>2];k=c[ka>>2]|0;c[la>>2]=(c[ka>>2]|0)>>>0<65536?(k>>>0<256?0:8):k>>>0<16777216?16:24;c[aa>>2]=32-((d[45806+((c[ka>>2]|0)>>>(c[la>>2]|0))>>0]|0)+(c[la>>2]|0));c[ba>>2]=c[ba>>2]<<c[aa>>2]<<1;c[aa>>2]=31-(c[aa>>2]|0);c[Y>>2]=0;while(1){if(!(c[ba>>2]|0)){c[Y>>2]=(c[Y>>2]|0)+(c[aa>>2]|0);c[X>>2]=(c[X>>2]|0)+-1;if((c[X>>2]|0)<0){Ha=86;break}c[ba>>2]=c[(c[n>>2]|0)+(c[X>>2]<<2)>>2];c[aa>>2]=32;continue}c[oa>>2]=c[ba>>2];k=c[oa>>2]|0;c[pa>>2]=(c[oa>>2]|0)>>>0<65536?(k>>>0<256?0:8):k>>>0<16777216?16:24;c[ma>>2]=32-((d[45806+((c[oa>>2]|0)>>>(c[pa>>2]|0))>>0]|0)+(c[pa>>2]|0));c[ba>>2]=c[ba>>2]<<c[ma>>2];c[aa>>2]=(c[aa>>2]|0)-(c[ma>>2]|0);c[Y>>2]=(c[Y>>2]|0)+(c[ma>>2]|0);if((c[aa>>2]|0)>=(c[N>>2]|0)){c[na>>2]=(c[ba>>2]|0)>>>(32-(c[N>>2]|0)|0);c[ba>>2]=c[ba>>2]<<c[N>>2];c[aa>>2]=(c[aa>>2]|0)-(c[N>>2]|0)}else{c[X>>2]=(c[X>>2]|0)+-1;if((c[X>>2]|0)<0){Ha=91;break}c[ma>>2]=c[aa>>2];c[na>>2]=(c[ba>>2]|0)>>>(32-(c[N>>2]|0)|0)|(c[(c[n>>2]|0)+(c[X>>2]<<2)>>2]|0)>>>(32-(c[N>>2]|0)+(c[ma>>2]|0)|0);c[ba>>2]=c[(c[n>>2]|0)+(c[X>>2]<<2)>>2]<<(c[N>>2]|0)-(c[ma>>2]|0);c[aa>>2]=32-(c[N>>2]|0)+(c[ma>>2]|0)}c[qa>>2]=c[na>>2];c[sa>>2]=c[qa>>2]&0-(c[qa>>2]|0);k=c[sa>>2]|0;c[ta>>2]=(c[sa>>2]|0)>>>0<65536?(k>>>0<256?0:8):k>>>0<16777216?16:24;c[ra>>2]=32-((d[45806+((c[sa>>2]|0)>>>(c[ta>>2]|0))>>0]|0)+(c[ta>>2]|0));c[ma>>2]=31-(c[ra>>2]|0);c[na>>2]=(c[na>>2]|0)>>>(c[ma>>2]|0)>>>1;c[Y>>2]=(c[Y>>2]|0)+((c[N>>2]|0)-(c[ma>>2]|0));while(1){if(!(c[Y>>2]|0))break;xp(c[_>>2]|0,$,c[m>>2]|0,c[t>>2]|0,c[m>>2]|0,c[t>>2]|0,c[o>>2]|0,c[r>>2]|0,da);c[ea>>2]=c[m>>2];c[m>>2]=c[_>>2];c[_>>2]=c[ea>>2];c[t>>2]=c[$>>2];c[Y>>2]=(c[Y>>2]|0)+-1}c[P>>2]=0;c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(1<<(c[N>>2]|0)-1|0))break;k=c[M+(c[Z>>2]<<2)>>2]|0;c[ua+4>>2]=k;c[ua>>2]=k;k=c[M+(c[Z>>2]<<2)>>2]|0;c[va+4>>2]=k;c[va>>2]=k;c[va+8>>2]=0;c[ua+8>>2]=0;c[va+12>>2]=0;c[ua+12>>2]=0;c[ua+16>>2]=c[O>>2];c[va+16>>2]=c[L+(c[Z>>2]<<2)>>2];rq(ua,va,(c[Z>>2]|0)==(c[na>>2]|0)&1)|0;c[P>>2]=c[P>>2]|c[M+(c[Z>>2]<<2)>>2]&0-((c[Z>>2]|0)==(c[na>>2]|0)&1);c[Z>>2]=(c[Z>>2]|0)+1}xp(c[_>>2]|0,$,c[m>>2]|0,c[t>>2]|0,c[O>>2]|0,c[P>>2]|0,c[o>>2]|0,c[r>>2]|0,da);c[ea>>2]=c[m>>2];c[m>>2]=c[_>>2];c[_>>2]=c[ea>>2];c[t>>2]=c[$>>2];c[Y>>2]=c[ma>>2]}if((Ha|0)==86)c[aa>>2]=0;else if((Ha|0)==91)c[ba>>2]=(c[ba>>2]|0)>>>(32-(c[aa>>2]|0)|0);if(c[aa>>2]|0){c[Y>>2]=(c[Y>>2]|0)+(c[aa>>2]|0);c[wa>>2]=c[ba>>2];c[ya>>2]=c[wa>>2]&0-(c[wa>>2]|0);k=c[ya>>2]|0;c[za>>2]=(c[ya>>2]|0)>>>0<65536?(k>>>0<256?0:8):k>>>0<16777216?16:24;c[xa>>2]=32-((d[45806+((c[ya>>2]|0)>>>(c[za>>2]|0))>>0]|0)+(c[za>>2]|0));c[aa>>2]=31-(c[xa>>2]|0);c[ba>>2]=(c[ba>>2]|0)>>>(c[aa>>2]|0);c[Y>>2]=(c[Y>>2]|0)-(c[aa>>2]|0)}while(1){k=c[Y>>2]|0;c[Y>>2]=k+-1;if(!k)break;xp(c[_>>2]|0,$,c[m>>2]|0,c[t>>2]|0,c[m>>2]|0,c[t>>2]|0,c[o>>2]|0,c[r>>2]|0,da);c[ea>>2]=c[m>>2];c[m>>2]=c[_>>2];c[_>>2]=c[ea>>2];c[t>>2]=c[$>>2]}f:do if(c[ba>>2]|0){c[P>>2]=0;c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(1<<(c[N>>2]|0)-1|0))break;k=c[M+(c[Z>>2]<<2)>>2]|0;c[Aa+4>>2]=k;c[Aa>>2]=k;k=c[M+(c[Z>>2]<<2)>>2]|0;c[Ba+4>>2]=k;c[Ba>>2]=k;c[Ba+8>>2]=0;c[Aa+8>>2]=0;c[Ba+12>>2]=0;c[Aa+12>>2]=0;c[Aa+16>>2]=c[O>>2];c[Ba+16>>2]=c[L+(c[Z>>2]<<2)>>2];rq(Aa,Ba,(c[Z>>2]|0)==((c[ba>>2]|0)>>>1|0)&1)|0;c[P>>2]=c[P>>2]|c[M+(c[Z>>2]<<2)>>2]&0-((c[Z>>2]|0)==((c[ba>>2]|0)>>>1|0)&1);c[Z>>2]=(c[Z>>2]|0)+1}xp(c[_>>2]|0,$,c[m>>2]|0,c[t>>2]|0,c[O>>2]|0,c[P>>2]|0,c[o>>2]|0,c[r>>2]|0,da);c[ea>>2]=c[m>>2];c[m>>2]=c[_>>2];c[_>>2]=c[ea>>2];c[t>>2]=c[$>>2];while(1){if(!(c[aa>>2]|0))break f;xp(c[_>>2]|0,$,c[m>>2]|0,c[t>>2]|0,c[m>>2]|0,c[t>>2]|0,c[o>>2]|0,c[r>>2]|0,da);c[ea>>2]=c[m>>2];c[m>>2]=c[_>>2];c[_>>2]=c[ea>>2];c[t>>2]=c[$>>2];c[aa>>2]=(c[aa>>2]|0)+-1}}while(0);k=c[(c[h>>2]|0)+16>>2]|0;Fa=c[m>>2]|0;do if(c[B>>2]|0){c[ca>>2]=Op(k,Fa,c[t>>2]|0,c[B>>2]|0)|0;c[m>>2]=c[(c[h>>2]|0)+16>>2];if(!(c[ca>>2]|0))break;c[(c[m>>2]|0)+(c[t>>2]<<2)>>2]=c[ca>>2];c[t>>2]=(c[t>>2]|0)+1}else{if((k|0)==(Fa|0))break;c[Ca>>2]=0;while(1){if((c[Ca>>2]|0)>=(c[t>>2]|0))break;c[(c[(c[h>>2]|0)+16>>2]|0)+(c[Ca>>2]<<2)>>2]=c[(c[m>>2]|0)+(c[Ca>>2]<<2)>>2];c[Ca>>2]=(c[Ca>>2]|0)+1}c[m>>2]=c[(c[h>>2]|0)+16>>2]}while(0);if((c[t>>2]|0)>=(c[r>>2]|0)){Mp((c[m>>2]|0)+(c[r>>2]<<2)|0,0,c[m>>2]|0,c[t>>2]|0,c[o>>2]|0,c[r>>2]|0)|0;c[t>>2]=c[r>>2]}if(c[B>>2]|0)Wp(c[m>>2]|0,c[m>>2]|0,c[t>>2]|0,c[B>>2]|0)|0;while(1){if((c[t>>2]|0)<=0)break;if(c[(c[m>>2]|0)+((c[t>>2]|0)-1<<2)>>2]|0)break;c[t>>2]=(c[t>>2]|0)+-1}Vp(da);c[X>>2]=0;while(1){if((c[X>>2]|0)>=(1<<(c[N>>2]|0)-1|0))break;if(c[x>>2]|0)Ia=c[M+(c[X>>2]<<2)>>2]|0;else Ia=0;cq(c[L+(c[X>>2]<<2)>>2]|0,Ia);c[X>>2]=(c[X>>2]|0)+1}cq(c[O>>2]|0,c[x>>2]|0?c[Q>>2]|0:0);g:do if((c[C>>2]|0)!=0&(c[t>>2]|0)!=0){if(c[B>>2]|0)Wp(c[o>>2]|0,c[o>>2]|0,c[r>>2]|0,c[B>>2]|0)|0;np(c[m>>2]|0,c[o>>2]|0,c[r>>2]|0,c[m>>2]|0,c[t>>2]|0)|0;c[t>>2]=c[r>>2];c[w>>2]=c[u>>2];while(1){if((c[t>>2]|0)<=0)break g;if(c[(c[m>>2]|0)+((c[t>>2]|0)-1<<2)>>2]|0)break g;c[t>>2]=(c[t>>2]|0)+-1}}while(0);if((c[(c[h>>2]|0)+16>>2]|0)==(c[m>>2]|0)){c[(c[h>>2]|0)+4>>2]=c[t>>2];c[(c[h>>2]|0)+8>>2]=c[w>>2];break}else xf(46098,46073,786,46083)}else{if((c[r>>2]|0)==1)Ja=(c[c[(c[l>>2]|0)+16>>2]>>2]|0)==1;else Ja=0;c[(c[h>>2]|0)+4>>2]=Ja?0:1;if(c[(c[h>>2]|0)+4>>2]|0){if((c[c[h>>2]>>2]|0)<1)eq(c[h>>2]|0,1);c[m>>2]=c[(c[h>>2]|0)+16>>2];c[c[m>>2]>>2]=1}c[(c[h>>2]|0)+8>>2]=0}while(0);if(c[D>>2]|0)cq(c[D>>2]|0,c[H>>2]|0);if(c[E>>2]|0)cq(c[E>>2]|0,c[I>>2]|0);if(c[F>>2]|0)cq(c[F>>2]|0,c[J>>2]|0);if(!(c[G>>2]|0)){i=g;return}cq(c[G>>2]|0,c[K>>2]|0);i=g;return}function xp(a,b,d,e,f,g,h,j,k){a=a|0;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;l=i;i=i+48|0;m=l+32|0;n=l+28|0;o=l+24|0;p=l+20|0;q=l+16|0;r=l+12|0;s=l+8|0;t=l+4|0;u=l;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;k=c[m>>2]|0;j=c[o>>2]|0;o=c[p>>2]|0;h=c[q>>2]|0;q=c[r>>2]|0;if((c[r>>2]|0)<16)Up(k,j,o,h,q)|0;else Tp(k,j,o,h,q,c[u>>2]|0);if(((c[p>>2]|0)+(c[r>>2]|0)|0)>(c[t>>2]|0)){Mp((c[m>>2]|0)+(c[t>>2]<<2)|0,0,c[m>>2]|0,(c[p>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0,c[t>>2]|0)|0;c[c[n>>2]>>2]=c[t>>2];i=l;return}else{c[c[n>>2]>>2]=(c[p>>2]|0)+(c[r>>2]|0);i=l;return}}function yp(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=i;i=i+48|0;e=b+32|0;f=b+28|0;g=b+24|0;h=b+20|0;j=b+16|0;k=b+12|0;l=b+8|0;m=b+4|0;n=b;c[e>>2]=a;c[g>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=(c[(c[e>>2]|0)+4>>2]|0)>>>0){o=6;break}if(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<2)>>2]|0)break;c[g>>2]=(c[g>>2]|0)+32;c[f>>2]=(c[f>>2]|0)+1}if((o|0)==6){p=c[g>>2]|0;i=b;return p|0}c[j>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<2)>>2];c[k>>2]=c[j>>2];c[m>>2]=c[k>>2]&0-(c[k>>2]|0);k=c[m>>2]|0;c[n>>2]=(c[m>>2]|0)>>>0<65536?(k>>>0<256?0:8):k>>>0<16777216?16:24;c[l>>2]=32-((d[45806+((c[m>>2]|0)>>>(c[n>>2]|0))>>0]|0)+(c[n>>2]|0));c[h>>2]=31-(c[l>>2]|0);c[g>>2]=(c[g>>2]|0)+(c[h>>2]|0);p=c[g>>2]|0;i=b;return p|0}function zp(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=Ap(c[g>>2]|0,c[h>>2]|0,0,c[j>>2]|0,c[k>>2]|0,0)|0;i=f;return e|0}function Ap(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;k=i;i=i+64|0;l=k+60|0;m=k+56|0;n=k+52|0;o=k+48|0;p=k+44|0;q=k+40|0;r=k+36|0;s=k+32|0;t=k+28|0;u=k+24|0;v=k+20|0;w=k+16|0;x=k+12|0;y=k+8|0;z=k+4|0;A=k;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;if(c[q>>2]|0)c[c[q>>2]>>2]=c[(c[m>>2]|0)+8>>2];c[c[p>>2]>>2]=c[(c[m>>2]|0)+4>>2]<<2;if(c[c[p>>2]>>2]|0)B=c[c[p>>2]>>2]|0;else B=1;c[z>>2]=B;if((c[z>>2]|0)>>>0<(c[n>>2]|0)>>>0)c[z>>2]=c[n>>2];B=c[z>>2]|0;z=c[o>>2]|0;if((c[o>>2]|0)<0)c[A>>2]=B+(0-z);else c[A>>2]=B+z;do if(c[r>>2]|0)C=13;else{if(c[m>>2]|0?c[(c[m>>2]|0)+12>>2]&1|0:0){C=13;break}D=Vf(c[A>>2]|0)|0}while(0);if((C|0)==13)D=Yf(c[A>>2]|0)|0;c[u>>2]=D;if(!(c[u>>2]|0)){c[l>>2]=0;E=c[l>>2]|0;i=k;return E|0}D=c[u>>2]|0;if((c[o>>2]|0)<0)c[t>>2]=D+(0-(c[o>>2]|0));else c[t>>2]=D;c[s>>2]=c[t>>2];c[y>>2]=(c[(c[m>>2]|0)+4>>2]|0)-1;while(1){if((c[y>>2]|0)<0)break;c[x>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[y>>2]<<2)>>2];D=(c[x>>2]|0)>>>24&255;o=c[s>>2]|0;c[s>>2]=o+1;a[o>>0]=D;D=(c[x>>2]|0)>>>16&255;o=c[s>>2]|0;c[s>>2]=o+1;a[o>>0]=D;D=(c[x>>2]|0)>>>8&255;o=c[s>>2]|0;c[s>>2]=o+1;a[o>>0]=D;D=c[x>>2]&255;o=c[s>>2]|0;c[s>>2]=o+1;a[o>>0]=D;c[y>>2]=(c[y>>2]|0)+-1}if(c[n>>2]|0){c[v>>2]=c[c[p>>2]>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>>>0>=(((c[v>>2]|0)>>>0)/2|0)>>>0)break;c[w>>2]=d[(c[t>>2]|0)+(c[y>>2]|0)>>0];a[(c[t>>2]|0)+(c[y>>2]|0)>>0]=a[(c[t>>2]|0)+((c[v>>2]|0)-1-(c[y>>2]|0))>>0]|0;a[(c[t>>2]|0)+((c[v>>2]|0)-1-(c[y>>2]|0))>>0]=c[w>>2];c[y>>2]=(c[y>>2]|0)+1}c[s>>2]=(c[t>>2]|0)+(c[v>>2]|0);while(1){if((c[v>>2]|0)>>>0>=(c[n>>2]|0)>>>0)break;y=c[s>>2]|0;c[s>>2]=y+1;a[y>>0]=0;c[v>>2]=(c[v>>2]|0)+1}c[c[p>>2]>>2]=c[v>>2];c[l>>2]=c[u>>2];E=c[l>>2]|0;i=k;return E|0}else{c[s>>2]=c[t>>2];while(1){if(!(c[c[p>>2]>>2]|0))break;if(!((a[c[s>>2]>>0]|0)!=0^1))break;c[s>>2]=(c[s>>2]|0)+1;v=c[p>>2]|0;c[v>>2]=(c[v>>2]|0)+-1}if((c[s>>2]|0)!=(c[t>>2]|0))Ex(c[t>>2]|0,c[s>>2]|0,c[c[p>>2]>>2]|0)|0;c[l>>2]=c[u>>2];E=c[l>>2]|0;i=k;return E|0}return 0}function Bp(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;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=Ap(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,0)|0;i=g;return f|0}function Cp(a,b,e,f){a=a|0;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;g=i;i=i+48|0;h=g+32|0;j=g+28|0;k=g+24|0;l=g+20|0;m=g+16|0;n=g+12|0;o=g+8|0;p=g+4|0;q=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[j>>2];if(c[h>>2]|0?c[(c[h>>2]|0)+12>>2]&16|0:0){gq();i=g;return}c[p>>2]=(((c[k>>2]|0)+4-1|0)>>>0)/4|0;if((c[c[h>>2]>>2]|0)<(c[p>>2]|0))eq(c[h>>2]|0,c[p>>2]|0);c[(c[h>>2]|0)+8>>2]=c[l>>2];c[q>>2]=0;c[n>>2]=(c[m>>2]|0)+(c[k>>2]|0)+-1;while(1){r=c[n>>2]|0;if((c[n>>2]|0)>>>0<((c[m>>2]|0)+4|0)>>>0)break;c[n>>2]=r+-1;c[o>>2]=d[r>>0];k=c[n>>2]|0;c[n>>2]=k+-1;c[o>>2]=c[o>>2]|(d[k>>0]|0)<<8;k=c[n>>2]|0;c[n>>2]=k+-1;c[o>>2]=c[o>>2]|(d[k>>0]|0)<<16;k=c[n>>2]|0;c[n>>2]=k+-1;c[o>>2]=c[o>>2]|(d[k>>0]|0)<<24;k=c[o>>2]|0;l=c[q>>2]|0;c[q>>2]=l+1;c[(c[(c[h>>2]|0)+16>>2]|0)+(l<<2)>>2]=k}if(r>>>0>=(c[m>>2]|0)>>>0){r=c[n>>2]|0;c[n>>2]=r+-1;c[o>>2]=d[r>>0];if((c[n>>2]|0)>>>0>=(c[m>>2]|0)>>>0){r=c[n>>2]|0;c[n>>2]=r+-1;c[o>>2]=c[o>>2]|(d[r>>0]|0)<<8}if((c[n>>2]|0)>>>0>=(c[m>>2]|0)>>>0){r=c[n>>2]|0;c[n>>2]=r+-1;c[o>>2]=c[o>>2]|(d[r>>0]|0)<<16}if((c[n>>2]|0)>>>0>=(c[m>>2]|0)>>>0){m=c[n>>2]|0;c[n>>2]=m+-1;c[o>>2]=c[o>>2]|(d[m>>0]|0)<<24}m=c[o>>2]|0;o=c[q>>2]|0;c[q>>2]=o+1;c[(c[(c[h>>2]|0)+16>>2]|0)+(o<<2)>>2]=m}c[(c[h>>2]|0)+4>>2]=c[q>>2];if((c[q>>2]|0)==(c[p>>2]|0)){i=g;return}else xf(46111,46123,377,46134)}function Dp(a,b,e,f,g){a=a|0;b=b|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;h=i;i=i+64|0;j=h+48|0;k=h+44|0;l=h+40|0;m=h+36|0;n=h+32|0;o=h+28|0;p=h+24|0;q=h+20|0;r=h+16|0;s=h+12|0;t=h+8|0;u=h+4|0;v=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=c[m>>2];c[q>>2]=0;if(c[p>>2]|0)w=(Zf(c[p>>2]|0)|0)!=0;else w=0;c[s>>2]=w&1;if((c[l>>2]|0)==3)c[r>>2]=0;else c[r>>2]=c[n>>2];if((c[l>>2]|0)==1){c[t>>2]=c[p>>2];w=(((c[r>>2]|0)+4-1|0)>>>0)/4|0;if(c[s>>2]|0)x=bq(w)|0;else x=$p(w)|0;c[q>>2]=x;if(c[r>>2]|0?(Cp(c[q>>2]|0,c[t>>2]|0,c[r>>2]|0,0),c[(c[q>>2]|0)+8>>2]=(((d[c[t>>2]>>0]|0)&128|0)!=0^1^1)&1,c[(c[q>>2]|0)+8>>2]|0):0){Ep(c[q>>2]|0);Ko(c[q>>2]|0,c[q>>2]|0,1);c[(c[q>>2]|0)+8>>2]=1}t=c[q>>2]|0;if(c[k>>2]|0){Qo(t);c[c[k>>2]>>2]=c[q>>2]}else hq(t);if(c[o>>2]|0)c[c[o>>2]>>2]=c[r>>2];c[j>>2]=0;y=c[j>>2]|0;i=h;return y|0}if((c[l>>2]|0)==5){t=(((c[r>>2]|0)+4-1|0)>>>0)/4|0;if(c[s>>2]|0)z=bq(t)|0;else z=$p(t)|0;c[q>>2]=z;if(c[r>>2]|0)Cp(c[q>>2]|0,c[p>>2]|0,c[r>>2]|0,0);z=c[q>>2]|0;if(c[k>>2]|0){Qo(z);c[c[k>>2]>>2]=c[q>>2]}else hq(z);if(c[o>>2]|0)c[c[o>>2]>>2]=c[r>>2];c[j>>2]=0;y=c[j>>2]|0;i=h;return y|0}if((c[l>>2]|0)==2){c[q>>2]=Fp(c[p>>2]|0,r,c[s>>2]|0)|0;if(c[o>>2]|0)c[c[o>>2]>>2]=c[r>>2];z=c[q>>2]|0;if(!((c[k>>2]|0)!=0&(c[q>>2]|0)!=0)){if(z|0){hq(c[q>>2]|0);c[q>>2]=0}}else{Qo(z);c[c[k>>2]>>2]=c[q>>2]}c[j>>2]=c[q>>2]|0?0:65;y=c[j>>2]|0;i=h;return y|0}if((c[l>>2]|0)!=3){if((c[l>>2]|0)!=4){c[j>>2]=45;y=c[j>>2]|0;i=h;return y|0}if(c[n>>2]|0){c[j>>2]=45;y=c[j>>2]|0;i=h;return y|0}if(c[s>>2]|0)A=bq(0)|0;else A=$p(0)|0;c[q>>2]=A;if(Gp(c[q>>2]|0,c[p>>2]|0)|0){hq(c[q>>2]|0);c[j>>2]=65;y=c[j>>2]|0;i=h;return y|0}A=c[q>>2]|0;if(c[k>>2]|0){Qo(A);c[c[k>>2]>>2]=c[q>>2]}else hq(A);if(c[o>>2]|0){A=Kv(c[p>>2]|0)|0;c[c[o>>2]>>2]=A}c[j>>2]=0;y=c[j>>2]|0;i=h;return y|0}c[u>>2]=c[p>>2];if((c[r>>2]|0)!=0&(c[r>>2]|0)>>>0<4){c[j>>2]=66;y=c[j>>2]|0;i=h;return y|0}c[v>>2]=(d[c[u>>2]>>0]|0)<<24|(d[(c[u>>2]|0)+1>>0]|0)<<16|(d[(c[u>>2]|0)+2>>0]|0)<<8|(d[(c[u>>2]|0)+3>>0]|0);c[u>>2]=(c[u>>2]|0)+4;if(c[r>>2]|0)c[r>>2]=(c[r>>2]|0)-4;if(c[r>>2]|0?(c[v>>2]|0)>>>0>(c[r>>2]|0)>>>0:0){c[j>>2]=67;y=c[j>>2]|0;i=h;return y|0}r=(((c[v>>2]|0)+4-1|0)>>>0)/4|0;if(c[s>>2]|0)B=bq(r)|0;else B=$p(r)|0;c[q>>2]=B;if(c[v>>2]|0?(Cp(c[q>>2]|0,c[u>>2]|0,c[v>>2]|0,0),c[(c[q>>2]|0)+8>>2]=(((d[c[u>>2]>>0]|0)&128|0)!=0^1^1)&1,c[(c[q>>2]|0)+8>>2]|0):0){Ep(c[q>>2]|0);Ko(c[q>>2]|0,c[q>>2]|0,1);c[(c[q>>2]|0)+8>>2]=1}if(c[o>>2]|0)c[c[o>>2]>>2]=(c[v>>2]|0)+4;v=c[q>>2]|0;if(c[k>>2]|0){Qo(v);c[c[k>>2]>>2]=c[q>>2]}else hq(v);c[j>>2]=0;y=c[j>>2]|0;i=h;return y|0}function Ep(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+32|0;d=b+16|0;e=b+12|0;f=b+8|0;g=b+4|0;h=b;c[d>>2]=a;c[h>>2]=Ro(c[d>>2]|0)|0;if(c[d>>2]|0?c[(c[d>>2]|0)+12>>2]&16|0:0){gq();i=b;return}Qo(c[d>>2]|0);c[e>>2]=c[(c[d>>2]|0)+16>>2];c[f>>2]=c[(c[d>>2]|0)+4>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=(c[f>>2]|0)>>>0)break;a=(c[e>>2]|0)+(c[g>>2]<<2)|0;c[a>>2]=~c[a>>2];c[g>>2]=(c[g>>2]|0)+1}c[(c[d>>2]|0)+8>>2]=0;Vo(c[d>>2]|0,(c[h>>2]|0)-1|0);i=b;return}function Fp(a,b,e){a=a|0;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;f=i;i=i+48|0;g=f+40|0;h=f+36|0;j=f+32|0;k=f+28|0;l=f+24|0;m=f+20|0;n=f+16|0;o=f+12|0;p=f+8|0;q=f+4|0;r=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[p>>2]=0;c[r>>2]=0;if((c[c[h>>2]>>2]|0)>>>0<2){s=c[p>>2]|0;t=c[h>>2]|0;c[t>>2]=s;u=c[r>>2]|0;i=f;return u|0}c[m>>2]=(d[c[g>>2]>>0]|0)<<8|(d[(c[g>>2]|0)+1>>0]|0);if((c[m>>2]|0)>>>0>16384){s=c[p>>2]|0;t=c[h>>2]|0;c[t>>2]=s;u=c[r>>2]|0;i=f;return u|0}c[g>>2]=(c[g>>2]|0)+2;c[p>>2]=2;c[n>>2]=(((c[m>>2]|0)+7|0)>>>0)/8|0;c[o>>2]=(((c[n>>2]|0)+4-1|0)>>>0)/4|0;m=c[o>>2]|0;if(c[j>>2]|0)v=bq(m)|0;else v=$p(m)|0;c[r>>2]=v;c[k>>2]=4-(((c[n>>2]|0)>>>0)%4|0);c[k>>2]=(c[k>>2]|0)%4|0;n=c[o>>2]|0;c[(c[r>>2]|0)+4>>2]=n;c[l>>2]=n;c[(c[r>>2]|0)+8>>2]=0;a:while(1){if((c[l>>2]|0)<=0){w=14;break}c[q>>2]=0;while(1){if((c[k>>2]|0)>=4)break;n=(c[p>>2]|0)+1|0;c[p>>2]=n;if(n>>>0>(c[c[h>>2]>>2]|0)>>>0)break a;c[q>>2]=c[q>>2]<<8;n=c[g>>2]|0;c[g>>2]=n+1;c[q>>2]=c[q>>2]|(d[n>>0]|0);c[k>>2]=(c[k>>2]|0)+1}c[k>>2]=0;c[(c[(c[r>>2]|0)+16>>2]|0)+((c[l>>2]|0)-1<<2)>>2]=c[q>>2];c[l>>2]=(c[l>>2]|0)+-1}if((w|0)==14){s=c[p>>2]|0;t=c[h>>2]|0;c[t>>2]=s;u=c[r>>2]|0;i=f;return u|0}hq(c[r>>2]|0);c[r>>2]=0;s=c[p>>2]|0;t=c[h>>2]|0;c[t>>2]=s;u=c[r>>2]|0;i=f;return u|0}function Gp(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;e=i;i=i+64|0;f=e+52|0;g=e+48|0;h=e+44|0;j=e+40|0;k=e+36|0;l=e+32|0;m=e+28|0;n=e+24|0;o=e+20|0;p=e+16|0;q=e+12|0;r=e+8|0;s=e+4|0;t=e;c[g>>2]=b;c[h>>2]=d;c[j>>2]=0;c[k>>2]=0;if((a[c[h>>2]>>0]|0)==45){c[j>>2]=1;c[h>>2]=(c[h>>2]|0)+1}if((a[c[h>>2]>>0]|0)==48?(a[(c[h>>2]|0)+1>>0]|0)==120:0)c[h>>2]=(c[h>>2]|0)+2;c[q>>2]=(Kv(c[h>>2]|0)|0)<<2;if(((c[q>>2]|0)>>>0)%8|0|0)c[k>>2]=1;c[r>>2]=(((c[q>>2]|0)+7|0)>>>0)/8|0;c[s>>2]=(((c[r>>2]|0)+4-1|0)>>>0)/4|0;if((c[c[g>>2]>>2]|0)>>>0<(c[s>>2]|0)>>>0)eq(c[g>>2]|0,c[s>>2]|0);c[l>>2]=4-(((c[r>>2]|0)>>>0)%4|0);c[l>>2]=(c[l>>2]|0)%4|0;r=c[s>>2]|0;c[(c[g>>2]|0)+4>>2]=r;c[m>>2]=r;c[(c[g>>2]|0)+8>>2]=c[j>>2];a:while(1){if((c[m>>2]|0)<=0){u=37;break}c[t>>2]=0;while(1){if((c[l>>2]|0)>=4)break;if(c[k>>2]|0){c[o>>2]=48;c[k>>2]=0}else{j=c[h>>2]|0;c[h>>2]=j+1;c[o>>2]=a[j>>0]}if(!(c[o>>2]|0)){u=18;break a}j=c[h>>2]|0;c[h>>2]=j+1;c[p>>2]=a[j>>0];if(!(c[p>>2]|0)){u=20;break a}j=c[o>>2]|0;do if((c[o>>2]|0)>=48&(c[o>>2]|0)<=57)c[n>>2]=j-48;else{r=c[o>>2]|0;if((j|0)>=97&(c[o>>2]|0)<=102){c[n>>2]=r-97+10;break}if(!((r|0)>=65&(c[o>>2]|0)<=70)){u=27;break a}c[n>>2]=(c[o>>2]|0)-65+10}while(0);c[n>>2]=c[n>>2]<<4;j=c[p>>2]|0;do if((c[p>>2]|0)>=48&(c[p>>2]|0)<=57)c[n>>2]=c[n>>2]|j-48;else{r=c[p>>2]|0;if((j|0)>=97&(c[p>>2]|0)<=102){c[n>>2]=c[n>>2]|r-97+10;break}if(!((r|0)>=65&(c[p>>2]|0)<=70)){u=34;break a}c[n>>2]=c[n>>2]|(c[p>>2]|0)-65+10}while(0);c[t>>2]=c[t>>2]<<8;c[t>>2]=c[t>>2]|c[n>>2];c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=0;c[(c[(c[g>>2]|0)+16>>2]|0)+((c[m>>2]|0)-1<<2)>>2]=c[t>>2];c[m>>2]=(c[m>>2]|0)+-1}if((u|0)==18){fq(c[g>>2]|0);c[f>>2]=1;v=c[f>>2]|0;i=e;return v|0}else if((u|0)==20){fq(c[g>>2]|0);c[f>>2]=1;v=c[f>>2]|0;i=e;return v|0}else if((u|0)==27){fq(c[g>>2]|0);c[f>>2]=1;v=c[f>>2]|0;i=e;return v|0}else if((u|0)==34){fq(c[g>>2]|0);c[f>>2]=1;v=c[f>>2]|0;i=e;return v|0}else if((u|0)==37){c[f>>2]=0;v=c[f>>2]|0;i=e;return v|0}return 0}function Hp(b,e,f,g,h){b=b|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;j=i;i=i+128|0;k=j+112|0;l=j+108|0;m=j+104|0;n=j+100|0;o=j+96|0;p=j+92|0;q=j+88|0;r=j+84|0;s=j+76|0;t=j+72|0;u=j+68|0;v=j+64|0;w=j+60|0;x=j+56|0;y=j+52|0;z=j+48|0;A=j+44|0;B=j+40|0;C=j+36|0;D=j+32|0;E=j+28|0;F=j+24|0;G=j+20|0;H=j+16|0;I=j+12|0;J=j+8|0;K=j+4|0;L=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=Ro(c[p>>2]|0)|0;if(!(c[o>>2]|0))c[o>>2]=j+80;if(c[(c[p>>2]|0)+8>>2]|0?$o(c[p>>2]|0,0)|0:0)c[s>>2]=1;else c[s>>2]=0;c[r>>2]=c[n>>2];c[c[o>>2]>>2]=0;if((c[l>>2]|0)==1){c[u>>2]=0;c[t>>2]=zp(c[p>>2]|0,0,v,0)|0;if(!(c[t>>2]|0)){c[k>>2]=iu()|0;M=c[k>>2]|0;i=j;return M|0}if(c[s>>2]|0){Ip(c[t>>2]|0,c[v>>2]|0);if(!((d[c[t>>2]>>0]|0)&128)){c[v>>2]=(c[v>>2]|0)+1;c[u>>2]=2}}else if(c[v>>2]|0?(d[c[t>>2]>>0]|0)&128|0:0){c[v>>2]=(c[v>>2]|0)+1;c[u>>2]=1}if(c[m>>2]|0?(c[v>>2]|0)>>>0>(c[r>>2]|0)>>>0:0){$f(c[t>>2]|0);c[k>>2]=66;M=c[k>>2]|0;i=j;return M|0}if(c[m>>2]|0){c[w>>2]=c[m>>2];if((c[u>>2]|0)!=1){if(c[u>>2]|0){n=c[w>>2]|0;c[w>>2]=n+1;a[n>>0]=-1}}else{n=c[w>>2]|0;c[w>>2]=n+1;a[n>>0]=0}Dx(c[w>>2]|0,c[t>>2]|0,(c[v>>2]|0)-(((c[u>>2]|0)!=0^1^1)&1)|0)|0}$f(c[t>>2]|0);c[c[o>>2]>>2]=c[v>>2];c[k>>2]=0;M=c[k>>2]|0;i=j;return M|0}if((c[l>>2]|0)==5){c[x>>2]=(((c[q>>2]|0)+7|0)>>>0)/8|0;if(c[m>>2]|0?(c[x>>2]|0)>>>0>(c[r>>2]|0)>>>0:0){c[k>>2]=66;M=c[k>>2]|0;i=j;return M|0}do if(c[m>>2]|0){c[y>>2]=zp(c[p>>2]|0,0,x,0)|0;if(c[y>>2]|0){Dx(c[m>>2]|0,c[y>>2]|0,c[x>>2]|0)|0;$f(c[y>>2]|0);break}c[k>>2]=iu()|0;M=c[k>>2]|0;i=j;return M|0}while(0);c[c[o>>2]>>2]=c[x>>2];c[k>>2]=0;M=c[k>>2]|0;i=j;return M|0}if((c[l>>2]|0)==2){c[z>>2]=(((c[q>>2]|0)+7|0)>>>0)/8|0;if(c[s>>2]|0){c[k>>2]=45;M=c[k>>2]|0;i=j;return M|0}if(c[m>>2]|0?((c[z>>2]|0)+2|0)>>>0>(c[r>>2]|0)>>>0:0){c[k>>2]=66;M=c[k>>2]|0;i=j;return M|0}do if(c[m>>2]|0){c[B>>2]=c[m>>2];a[c[B>>2]>>0]=(c[q>>2]|0)>>>8;a[(c[B>>2]|0)+1>>0]=c[q>>2];c[A>>2]=zp(c[p>>2]|0,0,z,0)|0;if(c[A>>2]|0){Dx((c[B>>2]|0)+2|0,c[A>>2]|0,c[z>>2]|0)|0;$f(c[A>>2]|0);break}c[k>>2]=iu()|0;M=c[k>>2]|0;i=j;return M|0}while(0);c[c[o>>2]>>2]=(c[z>>2]|0)+2;c[k>>2]=0;M=c[k>>2]|0;i=j;return M|0}if((c[l>>2]|0)==3){c[D>>2]=0;c[C>>2]=zp(c[p>>2]|0,0,E,0)|0;if(!(c[C>>2]|0)){c[k>>2]=iu()|0;M=c[k>>2]|0;i=j;return M|0}if(c[s>>2]|0){Ip(c[C>>2]|0,c[E>>2]|0);if(!((d[c[C>>2]>>0]|0)&128)){c[E>>2]=(c[E>>2]|0)+1;c[D>>2]=2}}else if(c[E>>2]|0?(d[c[C>>2]>>0]|0)&128|0:0){c[E>>2]=(c[E>>2]|0)+1;c[D>>2]=1}if(c[m>>2]|0?((c[E>>2]|0)+4|0)>>>0>(c[r>>2]|0)>>>0:0){$f(c[C>>2]|0);c[k>>2]=66;M=c[k>>2]|0;i=j;return M|0}if(c[m>>2]|0){c[F>>2]=c[m>>2];z=(c[E>>2]|0)>>>24&255;A=c[F>>2]|0;c[F>>2]=A+1;a[A>>0]=z;z=(c[E>>2]|0)>>>16&255;A=c[F>>2]|0;c[F>>2]=A+1;a[A>>0]=z;z=(c[E>>2]|0)>>>8&255;A=c[F>>2]|0;c[F>>2]=A+1;a[A>>0]=z;z=c[E>>2]&255;A=c[F>>2]|0;c[F>>2]=A+1;a[A>>0]=z;if((c[D>>2]|0)!=1){if(c[D>>2]|0){z=c[F>>2]|0;c[F>>2]=z+1;a[z>>0]=-1}}else{z=c[F>>2]|0;c[F>>2]=z+1;a[z>>0]=0}Dx(c[F>>2]|0,c[C>>2]|0,(c[E>>2]|0)-(((c[D>>2]|0)!=0^1^1)&1)|0)|0}$f(c[C>>2]|0);c[c[o>>2]>>2]=4+(c[E>>2]|0);c[k>>2]=0;M=c[k>>2]|0;i=j;return M|0}if((c[l>>2]|0)!=4){c[k>>2]=45;M=c[k>>2]|0;i=j;return M|0}c[I>>2]=0;c[J>>2]=0;c[G>>2]=zp(c[p>>2]|0,0,J,0)|0;if(!(c[G>>2]|0)){c[k>>2]=iu()|0;M=c[k>>2]|0;i=j;return M|0}if(!(c[J>>2]|0?!((d[c[G>>2]>>0]|0)&128|0):0))c[I>>2]=2;if(c[m>>2]|0?((c[J>>2]<<1)+(c[I>>2]|0)+(c[s>>2]|0)+1|0)>>>0>(c[r>>2]|0)>>>0:0){$f(c[G>>2]|0);c[k>>2]=66;M=c[k>>2]|0;i=j;return M|0}if(c[m>>2]|0){c[K>>2]=c[m>>2];if(c[s>>2]|0){r=c[K>>2]|0;c[K>>2]=r+1;a[r>>0]=45}if(c[I>>2]|0){r=c[K>>2]|0;c[K>>2]=r+1;a[r>>0]=48;r=c[K>>2]|0;c[K>>2]=r+1;a[r>>0]=48}c[H>>2]=0;while(1){if((c[H>>2]|0)>>>0>=(c[J>>2]|0)>>>0)break;c[L>>2]=d[(c[G>>2]|0)+(c[H>>2]|0)>>0];r=(c[L>>2]|0)>>>4;p=((c[L>>2]|0)>>>4>>>0<10?48+r|0:65+r-10|0)&255;r=c[K>>2]|0;c[K>>2]=r+1;a[r>>0]=p;c[L>>2]=c[L>>2]&15;p=c[L>>2]|0;r=((c[L>>2]|0)>>>0<10?48+p|0:65+p-10|0)&255;p=c[K>>2]|0;c[K>>2]=p+1;a[p>>0]=r;c[H>>2]=(c[H>>2]|0)+1}H=c[K>>2]|0;c[K>>2]=H+1;a[H>>0]=0;c[c[o>>2]>>2]=(c[K>>2]|0)-(c[m>>2]|0)}else c[c[o>>2]>>2]=(c[J>>2]<<1)+(c[I>>2]|0)+(c[s>>2]|0)+1;$f(c[G>>2]|0);c[k>>2]=0;M=c[k>>2]|0;i=j;return M|0}function Ip(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;h=f+4|0;j=f;c[g>>2]=b;c[h>>2]=e;c[j>>2]=(c[h>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;if(!((a[(c[g>>2]|0)+(c[j>>2]|0)>>0]|0)!=0^1))break;c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){i=f;return}h=d[(c[g>>2]|0)+(c[j>>2]|0)>>0]|0;do if(!(d[(c[g>>2]|0)+(c[j>>2]|0)>>0]&1|0)){e=d[(c[g>>2]|0)+(c[j>>2]|0)>>0]|0;if(h&2|0){a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=(e^252|2)&254;break}b=d[(c[g>>2]|0)+(c[j>>2]|0)>>0]|0;if(e&4|0){a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=(b^248|4)&252;break}e=d[(c[g>>2]|0)+(c[j>>2]|0)>>0]|0;if(b&8|0){a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=(e^240|8)&248;break}b=d[(c[g>>2]|0)+(c[j>>2]|0)>>0]|0;if(e&16|0){a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=(b^224|16)&240;break}e=d[(c[g>>2]|0)+(c[j>>2]|0)>>0]|0;if(b&32|0){a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=(e^192|32)&224;break}b=(c[g>>2]|0)+(c[j>>2]|0)|0;if(e&64|0){a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=(d[b>>0]^128|64)&192;break}else{a[b>>0]=-128;break}}else a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=h^254|1;while(0);c[j>>2]=(c[j>>2]|0)+-1;while(1){if((c[j>>2]|0)<0)break;h=(c[g>>2]|0)+(c[j>>2]|0)|0;a[h>>0]=d[h>>0]^255;c[j>>2]=(c[j>>2]|0)+-1}i=f;return}function Jp(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;f=i;i=i+48|0;g=f+36|0;h=f+32|0;j=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+8|0;p=f+4|0;q=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if((((c[h>>2]|0)!=0^1)&1|0)==(((c[j>>2]|0)!=0^1)&1|0)){c[g>>2]=45;r=c[g>>2]|0;i=f;return r|0}if(c[h>>2]|0)c[c[h>>2]>>2]=0;c[m>>2]=Hp(5,0,0,n,c[k>>2]|0)|0;if(c[m>>2]|0){c[g>>2]=c[m>>2];r=c[g>>2]|0;i=f;return r|0}if((c[n>>2]|0)>>>0>(c[l>>2]|0)>>>0){c[g>>2]=67;r=c[g>>2]|0;i=f;return r|0}if((c[n>>2]|0)>>>0<(c[l>>2]|0)>>>0)s=(c[l>>2]|0)-(c[n>>2]|0)|0;else s=0;c[o>>2]=s;c[p>>2]=(c[n>>2]|0)+(c[o>>2]|0);if(!(c[j>>2]|0)){if(c[k>>2]|0?c[(c[k>>2]|0)+12>>2]&1|0:0)t=Yf(c[p>>2]|0)|0;else t=Vf(c[p>>2]|0)|0;c[q>>2]=t;if(!(c[q>>2]|0)){c[m>>2]=iu()|0;c[g>>2]=c[m>>2];r=c[g>>2]|0;i=f;return r|0}}else c[q>>2]=c[j>>2];if(c[o>>2]|0)Fx(c[q>>2]|0,0,c[o>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[m>>2]=Hp(5,(c[q>>2]|0)+(c[o>>2]|0)|0,(c[n>>2]|0)-(c[o>>2]|0)|0,0,c[k>>2]|0)|0;if(c[m>>2]|0){$f(c[q>>2]|0);c[g>>2]=c[m>>2];r=c[g>>2]|0;i=f;return r|0}if(c[h>>2]|0)c[c[h>>2]>>2]=c[q>>2];c[g>>2]=0;r=c[g>>2]|0;i=f;return r|0}function Kp(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+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;o=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[o>>2]=0-(c[k>>2]|0);c[h>>2]=(c[h>>2]|0)+(0-(c[o>>2]|0)<<2);c[j>>2]=(c[j>>2]|0)+(0-(c[o>>2]|0)<<2);c[g>>2]=(c[g>>2]|0)+(0-(c[o>>2]|0)<<2);c[n>>2]=0;do{c[m>>2]=c[(c[j>>2]|0)+(c[o>>2]<<2)>>2];c[l>>2]=c[(c[h>>2]|0)+(c[o>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);c[n>>2]=(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0&1;c[m>>2]=(c[m>>2]|0)+(c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0&1);c[(c[g>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];k=(c[o>>2]|0)+1|0;c[o>>2]=k}while((k|0)!=0);i=f;return c[n>>2]|0}function Lp(a,b,e){a=a|0;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=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;f=i;i=i+144|0;g=f+128|0;h=f+124|0;j=f+120|0;k=f+116|0;l=f+112|0;m=f+108|0;n=f+104|0;o=f+100|0;p=f+96|0;q=f+92|0;r=f+88|0;s=f+84|0;t=f+80|0;u=f+76|0;v=f+72|0;w=f+68|0;x=f+64|0;y=f+60|0;z=f+56|0;A=f+52|0;B=f+48|0;C=f+44|0;D=f+40|0;E=f+36|0;F=f+32|0;G=f+28|0;H=f+24|0;I=f+20|0;J=f+16|0;K=f+12|0;L=f+8|0;M=f+4|0;N=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;if(!(c[j>>2]|0)){c[g>>2]=0;O=c[g>>2]|0;i=f;return O|0}c[r>>2]=c[k>>2];e=c[r>>2]|0;c[s>>2]=(c[r>>2]|0)>>>0<65536?(e>>>0<256?0:8):e>>>0<16777216?16:24;c[q>>2]=32-((d[45806+((c[r>>2]|0)>>>(c[s>>2]|0))>>0]|0)+(c[s>>2]|0));if(!(c[q>>2]|0)){c[l>>2]=(c[j>>2]|0)-1;c[o>>2]=c[(c[h>>2]|0)+(c[l>>2]<<2)>>2];if((c[o>>2]|0)>>>0>=(c[k>>2]|0)>>>0)c[o>>2]=0;else c[l>>2]=(c[l>>2]|0)+-1;while(1){if((c[l>>2]|0)<0)break;c[n>>2]=c[(c[h>>2]|0)+(c[l>>2]<<2)>>2];c[H>>2]=(c[k>>2]|0)>>>16;c[I>>2]=c[k>>2]&65535;c[L>>2]=((c[o>>2]|0)>>>0)%((c[H>>2]|0)>>>0)|0;c[J>>2]=((c[o>>2]|0)>>>0)/((c[H>>2]|0)>>>0)|0;c[N>>2]=_(c[J>>2]|0,c[I>>2]|0)|0;c[L>>2]=c[L>>2]<<16|(c[n>>2]|0)>>>16;if(((c[L>>2]|0)>>>0<(c[N>>2]|0)>>>0?(c[J>>2]=(c[J>>2]|0)+-1,c[L>>2]=(c[L>>2]|0)+(c[k>>2]|0),(c[L>>2]|0)>>>0>=(c[k>>2]|0)>>>0):0)?(c[L>>2]|0)>>>0<(c[N>>2]|0)>>>0:0){c[J>>2]=(c[J>>2]|0)+-1;c[L>>2]=(c[L>>2]|0)+(c[k>>2]|0)}c[L>>2]=(c[L>>2]|0)-(c[N>>2]|0);c[M>>2]=((c[L>>2]|0)>>>0)%((c[H>>2]|0)>>>0)|0;c[K>>2]=((c[L>>2]|0)>>>0)/((c[H>>2]|0)>>>0)|0;c[N>>2]=_(c[K>>2]|0,c[I>>2]|0)|0;c[M>>2]=c[M>>2]<<16|c[n>>2]&65535;if(((c[M>>2]|0)>>>0<(c[N>>2]|0)>>>0?(c[K>>2]=(c[K>>2]|0)+-1,c[M>>2]=(c[M>>2]|0)+(c[k>>2]|0),(c[M>>2]|0)>>>0>=(c[k>>2]|0)>>>0):0)?(c[M>>2]|0)>>>0<(c[N>>2]|0)>>>0:0){c[K>>2]=(c[K>>2]|0)+-1;c[M>>2]=(c[M>>2]|0)+(c[k>>2]|0)}c[M>>2]=(c[M>>2]|0)-(c[N>>2]|0);c[p>>2]=c[J>>2]<<16|c[K>>2];c[o>>2]=c[M>>2];c[l>>2]=(c[l>>2]|0)+-1}c[g>>2]=c[o>>2];O=c[g>>2]|0;i=f;return O|0}c[k>>2]=c[k>>2]<<c[q>>2];c[m>>2]=c[(c[h>>2]|0)+((c[j>>2]|0)-1<<2)>>2];c[o>>2]=(c[m>>2]|0)>>>(32-(c[q>>2]|0)|0);c[l>>2]=(c[j>>2]|0)-2;while(1){if((c[l>>2]|0)<0)break;c[n>>2]=c[(c[h>>2]|0)+(c[l>>2]<<2)>>2];c[t>>2]=(c[k>>2]|0)>>>16;c[u>>2]=c[k>>2]&65535;c[x>>2]=((c[o>>2]|0)>>>0)%((c[t>>2]|0)>>>0)|0;c[v>>2]=((c[o>>2]|0)>>>0)/((c[t>>2]|0)>>>0)|0;c[z>>2]=_(c[v>>2]|0,c[u>>2]|0)|0;c[x>>2]=c[x>>2]<<16|(c[m>>2]<<c[q>>2]|(c[n>>2]|0)>>>(32-(c[q>>2]|0)|0))>>>16;if(((c[x>>2]|0)>>>0<(c[z>>2]|0)>>>0?(c[v>>2]=(c[v>>2]|0)+-1,c[x>>2]=(c[x>>2]|0)+(c[k>>2]|0),(c[x>>2]|0)>>>0>=(c[k>>2]|0)>>>0):0)?(c[x>>2]|0)>>>0<(c[z>>2]|0)>>>0:0){c[v>>2]=(c[v>>2]|0)+-1;c[x>>2]=(c[x>>2]|0)+(c[k>>2]|0)}c[x>>2]=(c[x>>2]|0)-(c[z>>2]|0);c[y>>2]=((c[x>>2]|0)>>>0)%((c[t>>2]|0)>>>0)|0;c[w>>2]=((c[x>>2]|0)>>>0)/((c[t>>2]|0)>>>0)|0;c[z>>2]=_(c[w>>2]|0,c[u>>2]|0)|0;c[y>>2]=c[y>>2]<<16|(c[m>>2]<<c[q>>2]|(c[n>>2]|0)>>>(32-(c[q>>2]|0)|0))&65535;if(((c[y>>2]|0)>>>0<(c[z>>2]|0)>>>0?(c[w>>2]=(c[w>>2]|0)+-1,c[y>>2]=(c[y>>2]|0)+(c[k>>2]|0),(c[y>>2]|0)>>>0>=(c[k>>2]|0)>>>0):0)?(c[y>>2]|0)>>>0<(c[z>>2]|0)>>>0:0){c[w>>2]=(c[w>>2]|0)+-1;c[y>>2]=(c[y>>2]|0)+(c[k>>2]|0)}c[y>>2]=(c[y>>2]|0)-(c[z>>2]|0);c[p>>2]=c[v>>2]<<16|c[w>>2];c[o>>2]=c[y>>2];c[m>>2]=c[n>>2];c[l>>2]=(c[l>>2]|0)+-1}c[A>>2]=(c[k>>2]|0)>>>16;c[B>>2]=c[k>>2]&65535;c[E>>2]=((c[o>>2]|0)>>>0)%((c[A>>2]|0)>>>0)|0;c[C>>2]=((c[o>>2]|0)>>>0)/((c[A>>2]|0)>>>0)|0;c[G>>2]=_(c[C>>2]|0,c[B>>2]|0)|0;c[E>>2]=c[E>>2]<<16|c[m>>2]<<c[q>>2]>>>16;if(((c[E>>2]|0)>>>0<(c[G>>2]|0)>>>0?(c[C>>2]=(c[C>>2]|0)+-1,c[E>>2]=(c[E>>2]|0)+(c[k>>2]|0),(c[E>>2]|0)>>>0>=(c[k>>2]|0)>>>0):0)?(c[E>>2]|0)>>>0<(c[G>>2]|0)>>>0:0){c[C>>2]=(c[C>>2]|0)+-1;c[E>>2]=(c[E>>2]|0)+(c[k>>2]|0)}c[E>>2]=(c[E>>2]|0)-(c[G>>2]|0);c[F>>2]=((c[E>>2]|0)>>>0)%((c[A>>2]|0)>>>0)|0;c[D>>2]=((c[E>>2]|0)>>>0)/((c[A>>2]|0)>>>0)|0;c[G>>2]=_(c[D>>2]|0,c[B>>2]|0)|0;c[F>>2]=c[F>>2]<<16|c[m>>2]<<c[q>>2]&65535;if(((c[F>>2]|0)>>>0<(c[G>>2]|0)>>>0?(c[D>>2]=(c[D>>2]|0)+-1,c[F>>2]=(c[F>>2]|0)+(c[k>>2]|0),(c[F>>2]|0)>>>0>=(c[k>>2]|0)>>>0):0)?(c[F>>2]|0)>>>0<(c[G>>2]|0)>>>0:0){c[D>>2]=(c[D>>2]|0)+-1;c[F>>2]=(c[F>>2]|0)+(c[k>>2]|0)}c[F>>2]=(c[F>>2]|0)-(c[G>>2]|0);c[p>>2]=c[C>>2]<<16|c[D>>2];c[o>>2]=c[F>>2];c[g>>2]=(c[o>>2]|0)>>>(c[q>>2]|0);O=c[g>>2]|0;i=f;return O|0}function Mp(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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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;h=i;i=i+320|0;j=h+316|0;k=h+312|0;l=h+308|0;m=h+304|0;n=h+300|0;o=h+296|0;p=h+292|0;q=h+288|0;r=h+284|0;s=h+280|0;t=h+276|0;u=h+272|0;v=h+268|0;w=h+264|0;x=h+260|0;y=h+256|0;z=h+252|0;A=h+248|0;B=h+244|0;C=h+240|0;D=h+236|0;E=h+232|0;F=h+228|0;G=h+224|0;H=h+220|0;I=h+216|0;J=h+212|0;K=h+208|0;L=h+204|0;M=h+200|0;N=h+196|0;O=h+192|0;P=h+188|0;Q=h+184|0;R=h+180|0;S=h+176|0;T=h+172|0;U=h+168|0;V=h+164|0;W=h+160|0;X=h+156|0;Y=h+152|0;Z=h+148|0;$=h+144|0;aa=h+140|0;ba=h+136|0;ca=h+132|0;da=h+128|0;ea=h+124|0;fa=h+120|0;ga=h+116|0;ha=h+112|0;ia=h+108|0;ja=h+104|0;ka=h+100|0;la=h+96|0;ma=h+92|0;na=h+88|0;oa=h+84|0;pa=h+80|0;qa=h+76|0;ra=h+72|0;sa=h+68|0;ta=h+64|0;ua=h+60|0;va=h+56|0;wa=h+52|0;xa=h+48|0;ya=h+44|0;za=h+40|0;Aa=h+36|0;Ba=h+32|0;Ca=h+28|0;Da=h+24|0;Ea=h+20|0;Fa=h+16|0;Ga=h+12|0;Ha=h+8|0;Ia=h+4|0;Ja=h;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=0;switch(c[o>>2]|0){case 0:{Kf();break}case 1:{c[s>>2]=c[c[n>>2]>>2];c[r>>2]=c[(c[l>>2]|0)+((c[m>>2]|0)-1<<2)>>2];if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0){c[r>>2]=(c[r>>2]|0)-(c[s>>2]|0);c[p>>2]=1}c[j>>2]=(c[j>>2]|0)+(c[k>>2]<<2);c[q>>2]=(c[m>>2]|0)-2;while(1){if((c[q>>2]|0)<0)break;c[t>>2]=(c[s>>2]|0)>>>16;c[u>>2]=c[s>>2]&65535;c[x>>2]=((c[r>>2]|0)>>>0)%((c[t>>2]|0)>>>0)|0;c[v>>2]=((c[r>>2]|0)>>>0)/((c[t>>2]|0)>>>0)|0;c[z>>2]=_(c[v>>2]|0,c[u>>2]|0)|0;c[x>>2]=c[x>>2]<<16|(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)>>>16;if(((c[x>>2]|0)>>>0<(c[z>>2]|0)>>>0?(c[v>>2]=(c[v>>2]|0)+-1,c[x>>2]=(c[x>>2]|0)+(c[s>>2]|0),(c[x>>2]|0)>>>0>=(c[s>>2]|0)>>>0):0)?(c[x>>2]|0)>>>0<(c[z>>2]|0)>>>0:0){c[v>>2]=(c[v>>2]|0)+-1;c[x>>2]=(c[x>>2]|0)+(c[s>>2]|0)}c[x>>2]=(c[x>>2]|0)-(c[z>>2]|0);c[y>>2]=((c[x>>2]|0)>>>0)%((c[t>>2]|0)>>>0)|0;c[w>>2]=((c[x>>2]|0)>>>0)/((c[t>>2]|0)>>>0)|0;c[z>>2]=_(c[w>>2]|0,c[u>>2]|0)|0;c[y>>2]=c[y>>2]<<16|c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]&65535;if(((c[y>>2]|0)>>>0<(c[z>>2]|0)>>>0?(c[w>>2]=(c[w>>2]|0)+-1,c[y>>2]=(c[y>>2]|0)+(c[s>>2]|0),(c[y>>2]|0)>>>0>=(c[s>>2]|0)>>>0):0)?(c[y>>2]|0)>>>0<(c[z>>2]|0)>>>0:0){c[w>>2]=(c[w>>2]|0)+-1;c[y>>2]=(c[y>>2]|0)+(c[s>>2]|0)}c[y>>2]=(c[y>>2]|0)-(c[z>>2]|0);c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]=c[v>>2]<<16|c[w>>2];c[r>>2]=c[y>>2];c[q>>2]=(c[q>>2]|0)+-1}c[j>>2]=(c[j>>2]|0)+(0-(c[k>>2]|0)<<2);c[q>>2]=(c[k>>2]|0)-1;while(1){if((c[q>>2]|0)<0)break;c[A>>2]=(c[s>>2]|0)>>>16;c[B>>2]=c[s>>2]&65535;c[E>>2]=((c[r>>2]|0)>>>0)%((c[A>>2]|0)>>>0)|0;c[C>>2]=((c[r>>2]|0)>>>0)/((c[A>>2]|0)>>>0)|0;c[G>>2]=_(c[C>>2]|0,c[B>>2]|0)|0;c[E>>2]=c[E>>2]<<16;if(((c[E>>2]|0)>>>0<(c[G>>2]|0)>>>0?(c[C>>2]=(c[C>>2]|0)+-1,c[E>>2]=(c[E>>2]|0)+(c[s>>2]|0),(c[E>>2]|0)>>>0>=(c[s>>2]|0)>>>0):0)?(c[E>>2]|0)>>>0<(c[G>>2]|0)>>>0:0){c[C>>2]=(c[C>>2]|0)+-1;c[E>>2]=(c[E>>2]|0)+(c[s>>2]|0)}c[E>>2]=(c[E>>2]|0)-(c[G>>2]|0);c[F>>2]=((c[E>>2]|0)>>>0)%((c[A>>2]|0)>>>0)|0;c[D>>2]=((c[E>>2]|0)>>>0)/((c[A>>2]|0)>>>0)|0;c[G>>2]=_(c[D>>2]|0,c[B>>2]|0)|0;c[F>>2]=c[F>>2]<<16;if(((c[F>>2]|0)>>>0<(c[G>>2]|0)>>>0?(c[D>>2]=(c[D>>2]|0)+-1,c[F>>2]=(c[F>>2]|0)+(c[s>>2]|0),(c[F>>2]|0)>>>0>=(c[s>>2]|0)>>>0):0)?(c[F>>2]|0)>>>0<(c[G>>2]|0)>>>0:0){c[D>>2]=(c[D>>2]|0)+-1;c[F>>2]=(c[F>>2]|0)+(c[s>>2]|0)}c[F>>2]=(c[F>>2]|0)-(c[G>>2]|0);c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]=c[C>>2]<<16|c[D>>2];c[r>>2]=c[F>>2];c[q>>2]=(c[q>>2]|0)+-1}c[c[l>>2]>>2]=c[r>>2];Ka=c[p>>2]|0;i=h;return Ka|0}case 2:{c[l>>2]=(c[l>>2]|0)+((c[m>>2]|0)-2<<2);c[L>>2]=c[(c[n>>2]|0)+4>>2];c[M>>2]=c[c[n>>2]>>2];c[I>>2]=c[(c[l>>2]|0)+4>>2];c[J>>2]=c[c[l>>2]>>2];do if((c[I>>2]|0)>>>0>=(c[L>>2]|0)>>>0){if((c[I>>2]|0)>>>0<=(c[L>>2]|0)>>>0?(c[J>>2]|0)>>>0<(c[M>>2]|0)>>>0:0)break;c[N>>2]=(c[J>>2]|0)-(c[M>>2]|0);c[I>>2]=(c[I>>2]|0)-(c[L>>2]|0)-((c[N>>2]|0)>>>0>(c[J>>2]|0)>>>0&1);c[J>>2]=c[N>>2];c[p>>2]=1}while(0);c[H>>2]=(c[k>>2]|0)+(c[m>>2]|0)-2-1;while(1){if((c[H>>2]|0)<0)break;N=c[l>>2]|0;if((c[H>>2]|0)>=(c[k>>2]|0))c[l>>2]=N+-4;else c[N>>2]=0;do if((c[I>>2]|0)==(c[L>>2]|0)){c[O>>2]=-1;c[P>>2]=(c[J>>2]|0)+(c[L>>2]|0);if((c[P>>2]|0)>>>0<(c[L>>2]|0)>>>0){c[Q>>2]=(c[c[l>>2]>>2]|0)+(c[M>>2]|0);c[I>>2]=(c[P>>2]|0)-(c[M>>2]|0)+0+((c[Q>>2]|0)>>>0<(c[c[l>>2]>>2]|0)>>>0&1);c[J>>2]=c[Q>>2];c[(c[j>>2]|0)+(c[H>>2]<<2)>>2]=c[O>>2];break}else{c[I>>2]=(c[M>>2]|0)-(c[M>>2]|0?1:0);c[J>>2]=0-(c[M>>2]|0);La=52;break}}else{c[R>>2]=(c[L>>2]|0)>>>16;c[S>>2]=c[L>>2]&65535;c[V>>2]=((c[I>>2]|0)>>>0)%((c[R>>2]|0)>>>0)|0;c[T>>2]=((c[I>>2]|0)>>>0)/((c[R>>2]|0)>>>0)|0;c[X>>2]=_(c[T>>2]|0,c[S>>2]|0)|0;c[V>>2]=c[V>>2]<<16|(c[J>>2]|0)>>>16;if(((c[V>>2]|0)>>>0<(c[X>>2]|0)>>>0?(c[T>>2]=(c[T>>2]|0)+-1,c[V>>2]=(c[V>>2]|0)+(c[L>>2]|0),(c[V>>2]|0)>>>0>=(c[L>>2]|0)>>>0):0)?(c[V>>2]|0)>>>0<(c[X>>2]|0)>>>0:0){c[T>>2]=(c[T>>2]|0)+-1;c[V>>2]=(c[V>>2]|0)+(c[L>>2]|0)}c[V>>2]=(c[V>>2]|0)-(c[X>>2]|0);c[W>>2]=((c[V>>2]|0)>>>0)%((c[R>>2]|0)>>>0)|0;c[U>>2]=((c[V>>2]|0)>>>0)/((c[R>>2]|0)>>>0)|0;c[X>>2]=_(c[U>>2]|0,c[S>>2]|0)|0;c[W>>2]=c[W>>2]<<16|c[J>>2]&65535;if(((c[W>>2]|0)>>>0<(c[X>>2]|0)>>>0?(c[U>>2]=(c[U>>2]|0)+-1,c[W>>2]=(c[W>>2]|0)+(c[L>>2]|0),(c[W>>2]|0)>>>0>=(c[L>>2]|0)>>>0):0)?(c[W>>2]|0)>>>0<(c[X>>2]|0)>>>0:0){c[U>>2]=(c[U>>2]|0)+-1;c[W>>2]=(c[W>>2]|0)+(c[L>>2]|0)}c[W>>2]=(c[W>>2]|0)-(c[X>>2]|0);c[O>>2]=c[T>>2]<<16|c[U>>2];c[P>>2]=c[W>>2];c[fa>>2]=c[M>>2];c[ga>>2]=c[O>>2];c[ba>>2]=c[fa>>2]&65535;c[da>>2]=(c[fa>>2]|0)>>>16;c[ca>>2]=c[ga>>2]&65535;c[ea>>2]=(c[ga>>2]|0)>>>16;c[Y>>2]=_(c[ba>>2]|0,c[ca>>2]|0)|0;c[Z>>2]=_(c[ba>>2]|0,c[ea>>2]|0)|0;c[$>>2]=_(c[da>>2]|0,c[ca>>2]|0)|0;c[aa>>2]=_(c[da>>2]|0,c[ea>>2]|0)|0;c[Z>>2]=(c[Z>>2]|0)+((c[Y>>2]|0)>>>16);c[Z>>2]=(c[Z>>2]|0)+(c[$>>2]|0);if((c[Z>>2]|0)>>>0<(c[$>>2]|0)>>>0)c[aa>>2]=(c[aa>>2]|0)+65536;c[I>>2]=(c[aa>>2]|0)+((c[Z>>2]|0)>>>16);c[J>>2]=((c[Z>>2]&65535)<<16)+(c[Y>>2]&65535);La=52}while(0);if((La|0)==52){La=0;c[K>>2]=c[c[l>>2]>>2];do{if((c[I>>2]|0)>>>0<=(c[P>>2]|0)>>>0){if((c[I>>2]|0)!=(c[P>>2]|0))break;if((c[J>>2]|0)>>>0<=(c[K>>2]|0)>>>0)break}c[O>>2]=(c[O>>2]|0)+-1;c[ha>>2]=(c[J>>2]|0)-(c[M>>2]|0);c[I>>2]=(c[I>>2]|0)-0-((c[ha>>2]|0)>>>0>(c[J>>2]|0)>>>0&1);c[J>>2]=c[ha>>2];c[P>>2]=(c[P>>2]|0)+(c[L>>2]|0)}while((c[P>>2]|0)>>>0>=(c[L>>2]|0)>>>0);c[(c[j>>2]|0)+(c[H>>2]<<2)>>2]=c[O>>2];c[ia>>2]=(c[K>>2]|0)-(c[J>>2]|0);c[I>>2]=(c[P>>2]|0)-(c[I>>2]|0)-((c[ia>>2]|0)>>>0>(c[K>>2]|0)>>>0&1);c[J>>2]=c[ia>>2]}c[H>>2]=(c[H>>2]|0)+-1}c[(c[l>>2]|0)+4>>2]=c[I>>2];c[c[l>>2]>>2]=c[J>>2];Ka=c[p>>2]|0;i=h;return Ka|0}default:{c[l>>2]=(c[l>>2]|0)+((c[m>>2]|0)-(c[o>>2]|0)<<2);c[ka>>2]=c[(c[n>>2]|0)+((c[o>>2]|0)-1<<2)>>2];c[la>>2]=c[(c[n>>2]|0)+((c[o>>2]|0)-2<<2)>>2];c[ma>>2]=c[(c[l>>2]|0)+((c[o>>2]|0)-1<<2)>>2];do if((c[ma>>2]|0)>>>0>=(c[ka>>2]|0)>>>0){if((c[ma>>2]|0)>>>0<=(c[ka>>2]|0)>>>0?(op(c[l>>2]|0,c[n>>2]|0,(c[o>>2]|0)-1|0)|0)<0:0)break;Xp(c[l>>2]|0,c[l>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[ma>>2]=c[(c[l>>2]|0)+((c[o>>2]|0)-1<<2)>>2];c[p>>2]=1}while(0);c[ja>>2]=(c[k>>2]|0)+(c[m>>2]|0)-(c[o>>2]|0)-1;while(1){if((c[ja>>2]|0)<0)break;if((c[ja>>2]|0)>=(c[k>>2]|0)){c[l>>2]=(c[l>>2]|0)+-4;c[pa>>2]=c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]}else{c[pa>>2]=c[(c[l>>2]|0)+((c[o>>2]|0)-1<<2)>>2];c[ra>>2]=(c[o>>2]|0)-1-1;while(1){if((c[ra>>2]|0)<0)break;c[(c[l>>2]|0)+4+(c[ra>>2]<<2)>>2]=c[(c[l>>2]|0)+(c[ra>>2]<<2)>>2];c[ra>>2]=(c[ra>>2]|0)+-1}c[c[l>>2]>>2]=0}a:do if((c[ma>>2]|0)==(c[ka>>2]|0))c[na>>2]=-1;else{c[ta>>2]=(c[ka>>2]|0)>>>16;c[ua>>2]=c[ka>>2]&65535;c[xa>>2]=((c[ma>>2]|0)>>>0)%((c[ta>>2]|0)>>>0)|0;c[va>>2]=((c[ma>>2]|0)>>>0)/((c[ta>>2]|0)>>>0)|0;c[za>>2]=_(c[va>>2]|0,c[ua>>2]|0)|0;c[xa>>2]=c[xa>>2]<<16|(c[(c[l>>2]|0)+((c[o>>2]|0)-1<<2)>>2]|0)>>>16;if(((c[xa>>2]|0)>>>0<(c[za>>2]|0)>>>0?(c[va>>2]=(c[va>>2]|0)+-1,c[xa>>2]=(c[xa>>2]|0)+(c[ka>>2]|0),(c[xa>>2]|0)>>>0>=(c[ka>>2]|0)>>>0):0)?(c[xa>>2]|0)>>>0<(c[za>>2]|0)>>>0:0){c[va>>2]=(c[va>>2]|0)+-1;c[xa>>2]=(c[xa>>2]|0)+(c[ka>>2]|0)}c[xa>>2]=(c[xa>>2]|0)-(c[za>>2]|0);c[ya>>2]=((c[xa>>2]|0)>>>0)%((c[ta>>2]|0)>>>0)|0;c[wa>>2]=((c[xa>>2]|0)>>>0)/((c[ta>>2]|0)>>>0)|0;c[za>>2]=_(c[wa>>2]|0,c[ua>>2]|0)|0;c[ya>>2]=c[ya>>2]<<16|c[(c[l>>2]|0)+((c[o>>2]|0)-1<<2)>>2]&65535;if(((c[ya>>2]|0)>>>0<(c[za>>2]|0)>>>0?(c[wa>>2]=(c[wa>>2]|0)+-1,c[ya>>2]=(c[ya>>2]|0)+(c[ka>>2]|0),(c[ya>>2]|0)>>>0>=(c[ka>>2]|0)>>>0):0)?(c[ya>>2]|0)>>>0<(c[za>>2]|0)>>>0:0){c[wa>>2]=(c[wa>>2]|0)+-1;c[ya>>2]=(c[ya>>2]|0)+(c[ka>>2]|0)}c[ya>>2]=(c[ya>>2]|0)-(c[za>>2]|0);c[na>>2]=c[va>>2]<<16|c[wa>>2];c[sa>>2]=c[ya>>2];c[Ia>>2]=c[la>>2];c[Ja>>2]=c[na>>2];c[Ea>>2]=c[Ia>>2]&65535;c[Ga>>2]=(c[Ia>>2]|0)>>>16;c[Fa>>2]=c[Ja>>2]&65535;c[Ha>>2]=(c[Ja>>2]|0)>>>16;c[Aa>>2]=_(c[Ea>>2]|0,c[Fa>>2]|0)|0;c[Ba>>2]=_(c[Ea>>2]|0,c[Ha>>2]|0)|0;c[Ca>>2]=_(c[Ga>>2]|0,c[Fa>>2]|0)|0;c[Da>>2]=_(c[Ga>>2]|0,c[Ha>>2]|0)|0;c[Ba>>2]=(c[Ba>>2]|0)+((c[Aa>>2]|0)>>>16);c[Ba>>2]=(c[Ba>>2]|0)+(c[Ca>>2]|0);if((c[Ba>>2]|0)>>>0<(c[Ca>>2]|0)>>>0)c[Da>>2]=(c[Da>>2]|0)+65536;c[oa>>2]=(c[Da>>2]|0)+((c[Ba>>2]|0)>>>16);c[ma>>2]=((c[Ba>>2]&65535)<<16)+(c[Aa>>2]&65535);while(1){if((c[oa>>2]|0)>>>0<=(c[sa>>2]|0)>>>0){if((c[oa>>2]|0)!=(c[sa>>2]|0))break a;if((c[ma>>2]|0)>>>0<=(c[(c[l>>2]|0)+((c[o>>2]|0)-2<<2)>>2]|0)>>>0)break a}c[na>>2]=(c[na>>2]|0)+-1;c[sa>>2]=(c[sa>>2]|0)+(c[ka>>2]|0);if((c[sa>>2]|0)>>>0<(c[ka>>2]|0)>>>0)break a;c[oa>>2]=(c[oa>>2]|0)-((c[ma>>2]|0)>>>0<(c[la>>2]|0)>>>0&1);c[ma>>2]=(c[ma>>2]|0)-(c[la>>2]|0)}}while(0);c[qa>>2]=Qp(c[l>>2]|0,c[n>>2]|0,c[o>>2]|0,c[na>>2]|0)|0;if((c[pa>>2]|0)!=(c[qa>>2]|0)){Kp(c[l>>2]|0,c[l>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[na>>2]=(c[na>>2]|0)+-1}c[(c[j>>2]|0)+(c[ja>>2]<<2)>>2]=c[na>>2];c[ma>>2]=c[(c[l>>2]|0)+((c[o>>2]|0)-1<<2)>>2];c[ja>>2]=(c[ja>>2]|0)+-1}Ka=c[p>>2]|0;i=h;return Ka|0}}return 0} +function rk(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;e=i;i=i+160|0;f=e+144|0;g=e+140|0;h=e+136|0;j=e+132|0;k=e+128|0;l=e+124|0;m=e+120|0;n=e+116|0;o=e+112|0;p=e+108|0;q=e+104|0;r=e+100|0;s=e+96|0;t=e+92|0;u=e+88|0;v=e+84|0;w=e+80|0;x=e+76|0;y=e+72|0;z=e+68|0;A=e+64|0;B=e+60|0;C=e+56|0;D=e+52|0;E=e+48|0;F=e+44|0;G=e+40|0;H=e+36|0;I=e+32|0;J=e+28|0;K=e+24|0;L=e+20|0;M=e+16|0;N=e+12|0;O=e+8|0;P=e+4|0;Q=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=0;c[q>>2]=0;c[r>>2]=0;c[c[h>>2]>>2]=0;c[l>>2]=xg(c[g>>2]|0,37911,0)|0;if(!(c[l>>2]|0)){d=Fg(c[g>>2]|0,0,0)|0;c[c[h>>2]>>2]=d;c[f>>2]=c[c[h>>2]>>2]|0?0:65;R=c[f>>2]|0;i=e;return R|0}c[s>>2]=xg(c[l>>2]|0,47167,0)|0;if(c[s>>2]|0){if(jk(c[s>>2]|0,r,(c[j>>2]|0)+8|0)|0)c[q>>2]=1;vg(c[s>>2]|0)}if((c[(c[j>>2]|0)+8>>2]|0)==5)c[(c[j>>2]|0)+8>>2]=0;c[m>>2]=xg(c[l>>2]|0,37916,0)|0;if(c[m>>2]|0)S=0;else S=xg(c[l>>2]|0,42217,0)|0;c[n>>2]=S;a:do if(((c[m>>2]|0)!=0^1)&1^((c[n>>2]|0)!=0^1)&1|0){if(c[q>>2]|0){c[k>>2]=72;break}if((c[(c[j>>2]|0)+8>>2]|0)==0?c[r>>2]&4096|0:0){if(!(c[n>>2]|0)){c[k>>2]=65;break}c[t>>2]=xg(c[l>>2]|0,37805,0)|0;if(c[t>>2]|0){c[p>>2]=Bg(c[t>>2]|0,1,o)|0;if(c[p>>2]|0){S=ok(c[p>>2]|0,c[o>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=S;if(!(c[(c[j>>2]|0)+16>>2]|0))c[k>>2]=5}else c[k>>2]=68;vg(c[t>>2]|0)}else c[k>>2]=65;if(c[k>>2]|0)break;c[u>>2]=Dg(c[n>>2]|0,1,v)|0;if(c[u>>2]|0){if(c[v>>2]<<3>>>0<(c[v>>2]|0)>>>0){$f(c[u>>2]|0);c[k>>2]=67}}else{c[v>>2]=0;c[u>>2]=Vf(1)|0;if(!(c[u>>2]|0))c[k>>2]=iu()|0}if(c[k>>2]|0)break;S=iq(0,c[u>>2]|0,c[v>>2]<<3)|0;c[c[h>>2]>>2]=S;break}do if(c[m>>2]|0?(c[(c[j>>2]|0)+8>>2]|0)==0:0){if((c[r>>2]&16|0)==0?(c[r>>2]&2|0)==0:0)break;if((yg(c[m>>2]|0)|0)!=3){c[k>>2]=65;break a}S=Bg(c[m>>2]|0,1,o)|0;c[p>>2]=S;if(!((S|0)!=0&(c[o>>2]|0)!=0)){c[k>>2]=65;break a}S=ok(c[p>>2]|0,c[o>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=S;if(!(c[(c[j>>2]|0)+16>>2]|0)){c[k>>2]=5;break a}S=Dg(c[m>>2]|0,2,x)|0;c[w>>2]=S;if(!S){c[k>>2]=65;break a}S=c[w>>2]|0;if(c[x>>2]<<3>>>0<(c[x>>2]|0)>>>0){$f(S);c[k>>2]=67;break a}else{s=iq(0,S,c[x>>2]<<3)|0;c[c[h>>2]>>2]=s;break a}}while(0);if(c[n>>2]|0?(c[(c[j>>2]|0)+8>>2]|0)==0:0){if(c[r>>2]&2|0){c[k>>2]=70;break}s=Fg(c[n>>2]|0,1,5)|0;c[c[h>>2]>>2]=s;if(c[c[h>>2]>>2]|0)break;c[k>>2]=65;break}if((c[n>>2]|0?(c[(c[j>>2]|0)+8>>2]|0)==1:0)?(c[c[j>>2]>>2]|0)==0:0){c[B>>2]=0;c[C>>2]=0;s=Bg(c[n>>2]|0,1,z)|0;c[y>>2]=s;if(!((s|0)!=0&(c[z>>2]|0)!=0)){c[k>>2]=65;break}c[A>>2]=xg(c[l>>2]|0,37895,0)|0;if(c[A>>2]|0){c[p>>2]=Bg(c[A>>2]|0,1,o)|0;do if(c[p>>2]|0){if((c[o>>2]|0)>>>0>0){c[B>>2]=Vf(c[o>>2]|0)|0;if(c[B>>2]|0){Dx(c[B>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;c[C>>2]=c[o>>2];break}else{c[k>>2]=iu()|0;break}}}else c[k>>2]=68;while(0);vg(c[A>>2]|0);if(c[k>>2]|0)break}c[k>>2]=Il(c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[y>>2]|0,c[z>>2]|0,c[B>>2]|0,c[C>>2]|0)|0;$f(c[B>>2]|0);break}do if(c[m>>2]|0?(c[(c[j>>2]|0)+8>>2]|0)==1:0){if((c[c[j>>2]>>2]|0)!=2?(c[c[j>>2]>>2]|0)!=3:0)break;if((yg(c[m>>2]|0)|0)!=3){c[k>>2]=65;break a}s=Bg(c[m>>2]|0,1,o)|0;c[p>>2]=s;if(!((s|0)!=0&(c[o>>2]|0)!=0)){c[k>>2]=65;break a}s=ok(c[p>>2]|0,c[o>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=s;if(!(c[(c[j>>2]|0)+16>>2]|0)){c[k>>2]=5;break a}s=Bg(c[m>>2]|0,2,E)|0;c[D>>2]=s;if((s|0)!=0&(c[E>>2]|0)!=0){c[k>>2]=Ml(c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[D>>2]|0,c[E>>2]|0,c[(c[j>>2]|0)+16>>2]|0)|0;break a}else{c[k>>2]=65;break a}}while(0);do if(c[n>>2]|0?(c[(c[j>>2]|0)+8>>2]|0)==2:0){if((c[c[j>>2]>>2]|0)!=2?(c[c[j>>2]>>2]|0)!=3:0)break;if((yg(c[n>>2]|0)|0)!=2){c[k>>2]=65;break a}s=Bg(c[n>>2]|0,1,G)|0;c[F>>2]=s;if((s|0)!=0&(c[G>>2]|0)!=0){c[k>>2]=Nl(c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[F>>2]|0,c[G>>2]|0)|0;break a}else{c[k>>2]=65;break a}}while(0);if((c[n>>2]|0?(c[(c[j>>2]|0)+8>>2]|0)==3:0)?(c[c[j>>2]>>2]|0)==0:0){s=Bg(c[n>>2]|0,1,I)|0;c[H>>2]=s;if(!((s|0)!=0&(c[I>>2]|0)!=0)){c[k>>2]=65;break}c[K>>2]=0;c[L>>2]=0;c[J>>2]=xg(c[l>>2]|0,37805,0)|0;if(c[J>>2]|0){c[p>>2]=Bg(c[J>>2]|0,1,o)|0;do if(c[p>>2]|0){s=ok(c[p>>2]|0,c[o>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=s;if(c[(c[j>>2]|0)+16>>2]|0)break;c[k>>2]=5}else c[k>>2]=68;while(0);vg(c[J>>2]|0);if(c[k>>2]|0)break}c[J>>2]=xg(c[l>>2]|0,37889,0)|0;if(c[J>>2]|0){c[p>>2]=Bg(c[J>>2]|0,1,o)|0;do if(c[p>>2]|0){if((c[o>>2]|0)>>>0<=0)break;s=Vf(c[o>>2]|0)|0;c[(c[j>>2]|0)+20>>2]=s;if(c[(c[j>>2]|0)+20>>2]|0){Dx(c[(c[j>>2]|0)+20>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=c[o>>2];break}else{c[k>>2]=iu()|0;break}}else c[k>>2]=68;while(0);vg(c[J>>2]|0);if(c[k>>2]|0)break}c[J>>2]=xg(c[l>>2]|0,37895,0)|0;if(c[J>>2]|0){c[p>>2]=Bg(c[J>>2]|0,1,o)|0;do if(c[p>>2]|0){if((c[o>>2]|0)>>>0<=0)break;c[K>>2]=Vf(c[o>>2]|0)|0;if(c[K>>2]|0){Dx(c[K>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;c[L>>2]=c[o>>2];break}else{c[k>>2]=iu()|0;break}}else c[k>>2]=68;while(0);vg(c[J>>2]|0);if(c[k>>2]|0)break}c[k>>2]=Ol(c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[H>>2]|0,c[I>>2]|0,c[(c[j>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+24>>2]|0,c[K>>2]|0,c[L>>2]|0)|0;$f(c[K>>2]|0);break}if((c[m>>2]|0?(c[(c[j>>2]|0)+8>>2]|0)==4:0)?(c[c[j>>2]>>2]|0)==2:0){if((yg(c[m>>2]|0)|0)!=3){c[k>>2]=65;break}s=Bg(c[m>>2]|0,1,o)|0;c[p>>2]=s;if(!((s|0)!=0&(c[o>>2]|0)!=0)){c[k>>2]=65;break}c[O>>2]=0;c[P>>2]=0;s=ok(c[p>>2]|0,c[o>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=s;if(!(c[(c[j>>2]|0)+16>>2]|0)){c[k>>2]=5;break}s=Bg(c[m>>2]|0,2,N)|0;c[M>>2]=s;if(!((s|0)!=0&(c[N>>2]|0)!=0)){c[k>>2]=65;break}c[Q>>2]=xg(c[l>>2]|0,37921,0)|0;do if(c[Q>>2]|0){c[p>>2]=Bg(c[Q>>2]|0,1,o)|0;if(c[p>>2]|0){s=Zv(c[p>>2]|0,0,10)|0;c[(c[j>>2]|0)+28>>2]=s;vg(c[Q>>2]|0);break}else{c[k>>2]=68;break a}}while(0);c[Q>>2]=xg(c[l>>2]|0,37895,0)|0;if(c[Q>>2]|0){c[p>>2]=Bg(c[Q>>2]|0,1,o)|0;do if(c[p>>2]|0){if((c[o>>2]|0)>>>0<=0)break;c[O>>2]=Vf(c[o>>2]|0)|0;if(c[O>>2]|0){Dx(c[O>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;c[P>>2]=c[o>>2];break}else{c[k>>2]=iu()|0;break}}else c[k>>2]=68;while(0);vg(c[Q>>2]|0);if(c[k>>2]|0)break}c[k>>2]=Sl(c[h>>2]|0,(c[(c[j>>2]|0)+4>>2]|0)-1|0,c[(c[j>>2]|0)+16>>2]|0,c[M>>2]|0,c[N>>2]|0,c[(c[j>>2]|0)+28>>2]|0,c[O>>2]|0,c[P>>2]|0)|0;$f(c[O>>2]|0);break}if((c[m>>2]|0?(c[(c[j>>2]|0)+8>>2]|0)==4:0)?(c[c[j>>2]>>2]|0)==3:0){if((yg(c[m>>2]|0)|0)!=3){c[k>>2]=65;break}s=Bg(c[m>>2]|0,1,o)|0;c[p>>2]=s;if(!((s|0)!=0&(c[o>>2]|0)!=0)){c[k>>2]=65;break}s=ok(c[p>>2]|0,c[o>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=s;if(!(c[(c[j>>2]|0)+16>>2]|0)){c[k>>2]=5;break}s=Fg(c[m>>2]|0,2,5)|0;c[c[h>>2]>>2]=s;if(!(c[c[h>>2]>>2]|0))c[k>>2]=65;c[(c[j>>2]|0)+32>>2]=5;c[(c[j>>2]|0)+36>>2]=c[c[h>>2]>>2];break}c[k>>2]=70}else c[k>>2]=65;while(0);vg(c[l>>2]|0);vg(c[m>>2]|0);vg(c[n>>2]|0);if(c[k>>2]|0){$f(c[(c[j>>2]|0)+20>>2]|0);c[(c[j>>2]|0)+20>>2]=0}else c[(c[j>>2]|0)+12>>2]=c[r>>2];c[f>>2]=c[k>>2];R=c[f>>2]|0;i=e;return R|0}function sk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[e>>2];c[h>>2]=c[(c[g>>2]|0)+36>>2];e=Tl(c[h>>2]|0,c[f>>2]|0,(c[(c[g>>2]|0)+4>>2]|0)-1|0,c[(c[g>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+28>>2]|0)|0;i=d;return e|0}function tk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+32|0;d=b+16|0;e=b+12|0;f=b+8|0;g=b+4|0;h=b;c[e>>2]=a;c[g>>2]=0;a:while(1){a=c[4444+(c[g>>2]<<2)>>2]|0;c[f>>2]=a;if(!a){j=11;break}a=(Vv(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0)|0)!=0;k=c[f>>2]|0;if(!a){j=4;break}c[h>>2]=c[k+16>>2];while(1){if(!(c[c[h>>2]>>2]|0))break;if(!(Vv(c[e>>2]|0,c[c[h>>2]>>2]|0)|0)){j=8;break a}c[h>>2]=(c[h>>2]|0)+4}c[g>>2]=(c[g>>2]|0)+1}if((j|0)==4){c[d>>2]=k;l=c[d>>2]|0;i=b;return l|0}else if((j|0)==8){c[d>>2]=c[f>>2];l=c[d>>2]|0;i=b;return l|0}else if((j|0)==11){c[d>>2]=0;l=c[d>>2]|0;i=b;return l|0}return 0}function uk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=vk(c[e>>2]|0)|0;if(c[f>>2]|0){c[d>>2]=c[(c[f>>2]|0)+12>>2];g=c[d>>2]|0;i=b;return g|0}else{c[d>>2]=37933;g=c[d>>2]|0;i=b;return g|0}return 0}function vk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[e>>2]=wk(c[e>>2]|0)|0;c[f>>2]=0;while(1){a=c[4444+(c[f>>2]<<2)>>2]|0;c[g>>2]=a;if(!a){h=6;break}if((c[e>>2]|0)==(c[c[g>>2]>>2]|0)){h=4;break}c[f>>2]=(c[f>>2]|0)+1}if((h|0)==4){c[d>>2]=c[g>>2];j=c[d>>2]|0;i=b;return j|0}else if((h|0)==6){c[d>>2]=0;j=c[d>>2]|0;i=b;return j|0}return 0}function wk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;switch(c[e>>2]|0){case 2:{c[d>>2]=1;break}case 3:{c[d>>2]=1;break}case 16:{c[d>>2]=20;break}case 301:{c[d>>2]=18;break}case 302:{c[d>>2]=18;break}default:c[d>>2]=c[e>>2]}i=b;return c[d>>2]|0}function xk(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+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[f>>2]>>2]=0;c[j>>2]=yk(c[h>>2]|0,0,k,l)|0;do if(!(c[j>>2]|0))if(c[(c[k>>2]|0)+48>>2]|0){c[j>>2]=vb[c[(c[k>>2]|0)+48>>2]&63](c[f>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;break}else{c[j>>2]=69;break}while(0);vg(c[l>>2]|0);i=e;return c[j>>2]|0}function yk(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;f=i;i=i+48|0;g=f+32|0;h=f+28|0;j=f+24|0;k=f+20|0;l=f+16|0;m=f+12|0;n=f+8|0;o=f+4|0;p=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[c[k>>2]>>2]=0;if(c[l>>2]|0)c[c[l>>2]>>2]=0;c[m>>2]=xg(c[h>>2]|0,c[j>>2]|0?37935:37947,0)|0;if(!((c[m>>2]|0)!=0|(c[j>>2]|0)!=0))c[m>>2]=xg(c[h>>2]|0,37935,0)|0;if(!(c[m>>2]|0)){c[g>>2]=65;q=c[g>>2]|0;i=f;return q|0}c[n>>2]=Hg(c[m>>2]|0)|0;vg(c[m>>2]|0);c[m>>2]=c[n>>2];c[o>>2]=Eg(c[m>>2]|0,0)|0;if(!(c[o>>2]|0)){vg(c[m>>2]|0);c[g>>2]=65;q=c[g>>2]|0;i=f;return q|0}c[p>>2]=tk(c[o>>2]|0)|0;$f(c[o>>2]|0);if(!(c[p>>2]|0)){vg(c[m>>2]|0);c[g>>2]=4;q=c[g>>2]|0;i=f;return q|0}c[c[k>>2]>>2]=c[p>>2];p=c[m>>2]|0;if(c[l>>2]|0)c[c[l>>2]>>2]=p;else vg(p);c[g>>2]=0;q=c[g>>2]|0;i=f;return q|0}function zk(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+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[f>>2]>>2]=0;c[j>>2]=yk(c[h>>2]|0,1,k,l)|0;do if(!(c[j>>2]|0))if(c[(c[k>>2]|0)+52>>2]|0){c[j>>2]=vb[c[(c[k>>2]|0)+52>>2]&63](c[f>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;break}else{c[j>>2]=69;break}while(0);vg(c[l>>2]|0);i=e;return c[j>>2]|0}function Ak(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+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[f>>2]>>2]=0;c[j>>2]=yk(c[h>>2]|0,1,k,l)|0;do if(!(c[j>>2]|0))if(c[(c[k>>2]|0)+56>>2]|0){c[j>>2]=vb[c[(c[k>>2]|0)+56>>2]&63](c[f>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;break}else{c[j>>2]=69;break}while(0);vg(c[l>>2]|0);i=e;return c[j>>2]|0}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,l=0;e=i;i=i+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=yk(c[h>>2]|0,0,k,l)|0;do if(!(c[j>>2]|0))if(c[(c[k>>2]|0)+60>>2]|0){c[j>>2]=vb[c[(c[k>>2]|0)+60>>2]&63](c[f>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;break}else{c[j>>2]=69;break}while(0);vg(c[l>>2]|0);i=e;return c[j>>2]|0}function Ck(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;c[e>>2]=yk(c[d>>2]|0,1,f,g)|0;do if(!(c[e>>2]|0))if(c[(c[f>>2]|0)+44>>2]|0){c[e>>2]=zb[c[(c[f>>2]|0)+44>>2]&15](c[g>>2]|0)|0;break}else{c[e>>2]=69;break}while(0);vg(c[g>>2]|0);i=b;return c[e>>2]|0}function Dk(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+24|0;f=d+20|0;g=d+16|0;h=d+12|0;j=d+8|0;k=d+4|0;l=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;c[h>>2]=0;c[j>>2]=0;c[k>>2]=0;c[c[e>>2]>>2]=0;c[h>>2]=xg(c[f>>2]|0,37958,0)|0;do if(c[h>>2]|0){c[j>>2]=Hg(c[h>>2]|0)|0;vg(c[h>>2]|0);c[h>>2]=c[j>>2];c[j>>2]=0;if(!(c[h>>2]|0)){c[l>>2]=68;break}c[k>>2]=Eg(c[h>>2]|0,0)|0;if(!(c[k>>2]|0)){c[l>>2]=65;break}c[g>>2]=tk(c[k>>2]|0)|0;$f(c[k>>2]|0);c[k>>2]=0;if(!(c[g>>2]|0)){c[l>>2]=4;break}if(c[(c[g>>2]|0)+40>>2]|0){c[l>>2]=Eb[c[(c[g>>2]|0)+40>>2]&7](c[h>>2]|0,c[e>>2]|0)|0;break}else{c[l>>2]=69;break}}else c[l>>2]=65;while(0);vg(c[h>>2]|0);$f(c[k>>2]|0);vg(c[j>>2]|0);i=d;return c[l>>2]|0}function Ek(){return 0}function Fk(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;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;l=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[g>>2]=wk(c[g>>2]|0)|0;c[l>>2]=vk(c[g>>2]|0)|0;if((c[l>>2]|0?(a[(c[l>>2]|0)+4>>0]&1|0)==0:0)?c[(c[l>>2]|0)+68>>2]|0:0){c[k>>2]=vb[c[(c[l>>2]|0)+68>>2]&63](c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;m=c[k>>2]|0;n=Gk(m)|0;i=f;return n|0}c[k>>2]=4;if(!(c[j>>2]|0)){m=c[k>>2]|0;n=Gk(m)|0;i=f;return n|0}h=c[j>>2]|0;j=c[g>>2]|0;if(c[l>>2]|0?!(a[(c[l>>2]|0)+4>>0]&1|0):0)o=38004;else o=c[l>>2]|0?37965:37984;Fb[h&1](49836,j,38026,o);m=c[k>>2]|0;n=Gk(m)|0;i=f;return n|0}function Gk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Hk(1,c[d>>2]|0)|0;i=b;return a|0}function Hk(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+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function Ik(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[f>>2];f=Jk(c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return f|0}function Jk(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;g=i;i=i+144|0;h=g+72|0;j=g+132|0;k=g+128|0;l=g+124|0;m=g+120|0;n=g+116|0;o=g+112|0;p=g+108|0;q=g+104|0;r=g+100|0;s=g+96|0;t=g+92|0;u=g+88|0;v=g+8|0;w=g+84|0;x=g+80|0;y=g+136|0;z=g;A=g+76|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[s>>2]=0;f=(Ah()|0)!=0;if(!(f|(c[17702]|0)!=0)?(c[17702]=1,c[17703]=Kk()|0,c[17703]|0):0){c[h>>2]=c[17703];Af(43706,h)}if(c[17703]|0){c[j>>2]=50;B=c[j>>2]|0;i=g;return B|0}do if((c[m>>2]|0)==16){c[n>>2]=10;c[t>>2]=4}else{if((c[m>>2]|0)==24){c[n>>2]=12;c[t>>2]=6;break}if((c[m>>2]|0)==32){c[n>>2]=14;c[t>>2]=8;break}c[j>>2]=44;B=c[j>>2]|0;i=g;return B|0}while(0);c[(c[k>>2]|0)+480>>2]=c[n>>2];h=(c[k>>2]|0)+484|0;a[h>>0]=a[h>>0]&-2;c[(c[k>>2]|0)+488>>2]=29;c[(c[k>>2]|0)+492>>2]=30;c[(c[k>>2]|0)+496>>2]=1;c[(c[k>>2]|0)+500>>2]=2;c[u>>2]=4577;Qk();c[o>>2]=0;while(1){if((c[o>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break;a[v+(c[o>>2]>>2<<2)+(c[o>>2]&3)>>0]=a[(c[l>>2]|0)+(c[o>>2]|0)>>0]|0;c[o>>2]=(c[o>>2]|0)+1}c[p>>2]=(c[t>>2]|0)-1;while(1){if((c[p>>2]|0)<0)break;c[v+32+(c[p>>2]<<2)>>2]=c[v+(c[p>>2]<<2)>>2];c[p>>2]=(c[p>>2]|0)+-1}c[q>>2]=0;c[r>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[t>>2]|0))break;if((c[q>>2]|0)>=((c[n>>2]|0)+1|0))break;while(1){if(!((c[p>>2]|0)<(c[t>>2]|0)?(c[r>>2]|0)<4:0))break;c[(c[k>>2]|0)+(c[q>>2]<<4)+(c[r>>2]<<2)>>2]=c[v+32+(c[p>>2]<<2)>>2];c[p>>2]=(c[p>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1}if((c[r>>2]|0)!=4)continue;c[q>>2]=(c[q>>2]|0)+1;c[r>>2]=0}a:while(1){if((c[q>>2]|0)>=((c[n>>2]|0)+1|0))break;o=v+32|0;a[o>>0]=(d[o>>0]|0)^(d[(c[u>>2]|0)+((d[v+32+((c[t>>2]|0)-1<<2)+1>>0]|0)<<2)>>0]|0);o=v+32+1|0;a[o>>0]=(d[o>>0]|0)^(d[(c[u>>2]|0)+((d[v+32+((c[t>>2]|0)-1<<2)+2>>0]|0)<<2)>>0]|0);o=v+32+2|0;a[o>>0]=(d[o>>0]|0)^(d[(c[u>>2]|0)+((d[v+32+((c[t>>2]|0)-1<<2)+3>>0]|0)<<2)>>0]|0);o=v+32+3|0;a[o>>0]=(d[o>>0]|0)^(d[(c[u>>2]|0)+((d[v+32+((c[t>>2]|0)-1<<2)>>0]|0)<<2)>>0]|0);o=c[s>>2]|0;c[s>>2]=o+1;l=v+32|0;a[l>>0]=(d[l>>0]|0)^c[6880+(o<<2)>>2];o=(c[t>>2]|0)!=8;c[p>>2]=1;b:do if(o)while(1){if((c[p>>2]|0)>=(c[t>>2]|0))break b;l=v+32+(c[p>>2]<<2)|0;c[l>>2]=c[l>>2]^c[v+32+((c[p>>2]|0)-1<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}else{while(1){if((c[p>>2]|0)>=((c[t>>2]|0)/2|0|0))break;l=v+32+(c[p>>2]<<2)|0;c[l>>2]=c[l>>2]^c[v+32+((c[p>>2]|0)-1<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}l=v+32+(((c[t>>2]|0)/2|0)<<2)|0;a[l>>0]=(d[l>>0]|0)^(d[(c[u>>2]|0)+((d[v+32+(((c[t>>2]|0)/2|0)-1<<2)>>0]|0)<<2)>>0]|0);l=v+32+(((c[t>>2]|0)/2|0)<<2)+1|0;a[l>>0]=(d[l>>0]|0)^(d[(c[u>>2]|0)+((d[v+32+(((c[t>>2]|0)/2|0)-1<<2)+1>>0]|0)<<2)>>0]|0);l=v+32+(((c[t>>2]|0)/2|0)<<2)+2|0;a[l>>0]=(d[l>>0]|0)^(d[(c[u>>2]|0)+((d[v+32+(((c[t>>2]|0)/2|0)-1<<2)+2>>0]|0)<<2)>>0]|0);l=v+32+(((c[t>>2]|0)/2|0)<<2)+3|0;a[l>>0]=(d[l>>0]|0)^(d[(c[u>>2]|0)+((d[v+32+(((c[t>>2]|0)/2|0)-1<<2)+3>>0]|0)<<2)>>0]|0);c[p>>2]=((c[t>>2]|0)/2|0)+1;while(1){if((c[p>>2]|0)>=(c[t>>2]|0))break b;l=v+32+(c[p>>2]<<2)|0;c[l>>2]=c[l>>2]^c[v+32+((c[p>>2]|0)-1<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}}while(0);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[t>>2]|0))continue a;if((c[q>>2]|0)>=((c[n>>2]|0)+1|0))continue a;while(1){if(!((c[p>>2]|0)<(c[t>>2]|0)?(c[r>>2]|0)<4:0))break;c[(c[k>>2]|0)+(c[q>>2]<<4)+(c[r>>2]<<2)>>2]=c[v+32+(c[p>>2]<<2)>>2];c[p>>2]=(c[p>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1}if((c[r>>2]|0)!=4)continue;c[q>>2]=(c[q>>2]|0)+1;c[r>>2]=0}}c[w>>2]=v;c[x>>2]=64;a[y>>0]=0;v=z;c[v>>2]=d[y>>0];c[v+4>>2]=0;while(1){if(!(c[w>>2]&7|0?(c[x>>2]|0)!=0:0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}if((c[x>>2]|0)>>>0>=8){v=z;r=Mx(c[v>>2]|0,c[v+4>>2]|0,16843009,16843009)|0;v=z;c[v>>2]=r;c[v+4>>2]=C;do{c[A>>2]=c[w>>2];v=z;r=c[v+4>>2]|0;q=c[A>>2]|0;c[q>>2]=c[v>>2];c[q+4>>2]=r;c[x>>2]=(c[x>>2]|0)-8;c[w>>2]=(c[w>>2]|0)+8}while((c[x>>2]|0)>>>0>=8)}while(1){if(!(c[x>>2]|0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}c[j>>2]=0;B=c[j>>2]|0;i=g;return B|0}function Kk(){var a=0,b=0,d=0,e=0,f=0,g=0;a=i;i=i+16|0;b=a+4|0;d=a;e=Lk()|0;c[d>>2]=e;do if((!(e|0)?(f=Uk()|0,c[d>>2]=f,!(f|0)):0)?(f=Vk()|0,c[d>>2]=f,!(f|0)):0){f=Wk()|0;c[d>>2]=f;if(f|0){c[b>>2]=c[d>>2];break}f=Zk()|0;c[d>>2]=f;if(f|0){c[b>>2]=c[d>>2];break}else{c[d>>2]=al()|0;c[b>>2]=c[d>>2];break}}else g=4;while(0);if((g|0)==4)c[b>>2]=c[d>>2];i=a;return c[b>>2]|0}function Lk(){var a=0,b=0,d=0,e=0;a=i;i=i+528|0;b=a+504|0;d=a;e=a+512|0;Ik(d,38153,16)|0;Mk(d,e,38169)|0;do if(!(mw(e,38185,16)|0)){Nk(d,e,e)|0;if(mw(e,38169,16)|0){c[b>>2]=38233;break}else{c[b>>2]=0;break}}else c[b>>2]=38201;while(0);i=a;return c[b>>2]|0}function Mk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[f>>2];if(c[(c[j>>2]|0)+496>>2]|0)Bb[c[(c[j>>2]|0)+496>>2]&3]();f=vb[c[(c[j>>2]|0)+488>>2]&63](c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return f|0}function Nk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[f>>2];Ok(c[j>>2]|0);if(c[(c[j>>2]|0)+500>>2]|0)Bb[c[(c[j>>2]|0)+500>>2]&3]();f=vb[c[(c[j>>2]|0)+492>>2]&63](c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return f|0}function Ok(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;if(a[(c[e>>2]|0)+484>>0]&1|0){i=d;return}Pk(c[e>>2]|0);b=(c[e>>2]|0)+484|0;a[b>>0]=a[b>>0]&-2|1;i=d;return}function Pk(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;b=i;i=i+32|0;e=b+20|0;f=b+16|0;g=b+12|0;h=b+8|0;j=b+4|0;k=b;c[e>>2]=a;c[g>>2]=4577;Qk();Sk();c[(c[e>>2]|0)+240>>2]=c[c[e>>2]>>2];c[(c[e>>2]|0)+240+4>>2]=c[(c[e>>2]|0)+4>>2];c[(c[e>>2]|0)+240+8>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+240+12>>2]=c[(c[e>>2]|0)+12>>2];c[f>>2]=1;while(1){l=(c[e>>2]|0)+(c[f>>2]<<4)|0;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+480>>2]|0))break;c[h>>2]=l;c[j>>2]=(c[e>>2]|0)+240+(c[f>>2]<<4);c[k>>2]=c[c[h>>2]>>2];a=Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>0&255)<<2)>>0]|0)<<2)>>2]|0,0)|0;m=a^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>8&255)<<2)>>0]|0)<<2)>>2]|0,8)|0);a=m^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>16&255)<<2)>>0]|0)<<2)>>2]|0,16)|0);m=a^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>24&255)<<2)>>0]|0)<<2)>>2]|0,24)|0);c[c[j>>2]>>2]=m;c[k>>2]=c[(c[h>>2]|0)+4>>2];m=Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>0&255)<<2)>>0]|0)<<2)>>2]|0,0)|0;a=m^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>8&255)<<2)>>0]|0)<<2)>>2]|0,8)|0);m=a^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>16&255)<<2)>>0]|0)<<2)>>2]|0,16)|0);a=m^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>24&255)<<2)>>0]|0)<<2)>>2]|0,24)|0);c[(c[j>>2]|0)+4>>2]=a;c[k>>2]=c[(c[h>>2]|0)+8>>2];a=Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>0&255)<<2)>>0]|0)<<2)>>2]|0,0)|0;m=a^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>8&255)<<2)>>0]|0)<<2)>>2]|0,8)|0);a=m^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>16&255)<<2)>>0]|0)<<2)>>2]|0,16)|0);m=a^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>24&255)<<2)>>0]|0)<<2)>>2]|0,24)|0);c[(c[j>>2]|0)+8>>2]=m;c[k>>2]=c[(c[h>>2]|0)+12>>2];m=Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>0&255)<<2)>>0]|0)<<2)>>2]|0,0)|0;a=m^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>8&255)<<2)>>0]|0)<<2)>>2]|0,8)|0);m=a^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>16&255)<<2)>>0]|0)<<2)>>2]|0,16)|0);a=m^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>24&255)<<2)>>0]|0)<<2)>>2]|0,24)|0);c[(c[j>>2]|0)+12>>2]=a;c[f>>2]=(c[f>>2]|0)+1}c[(c[e>>2]|0)+240+(c[f>>2]<<4)>>2]=c[l>>2];c[(c[e>>2]|0)+240+(c[f>>2]<<4)+4>>2]=c[(c[e>>2]|0)+(c[f>>2]<<4)+4>>2];c[(c[e>>2]|0)+240+(c[f>>2]<<4)+8>>2]=c[(c[e>>2]|0)+(c[f>>2]<<4)+8>>2];c[(c[e>>2]|0)+240+(c[f>>2]<<4)+12>>2]=c[(c[e>>2]|0)+(c[f>>2]<<4)+12>>2];i=b;return}function Qk(){Rk(4576,1024);return}function Rk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[d+8>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=(c[e>>2]|0)>>>0)break;c[f>>2]=(c[f>>2]|0)+256}i=d;return}function Sk(){Rk(5600,1280);return}function Tk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;i=d;return c[e>>2]<<(c[f>>2]&31)|(c[e>>2]|0)>>>(32-(c[f>>2]|0)&31)|0}function Uk(){var a=0,b=0,d=0,e=0;a=i;i=i+528|0;b=a+504|0;d=a;e=a+512|0;Ik(d,38265,24)|0;Mk(d,e,38289)|0;do if(!(mw(e,38305,16)|0)){Nk(d,e,e)|0;if(mw(e,38289,16)|0){c[b>>2]=38353;break}else{c[b>>2]=0;break}}else c[b>>2]=38321;while(0);i=a;return c[b>>2]|0}function Vk(){var a=0,b=0,d=0,e=0;a=i;i=i+528|0;b=a+504|0;d=a;e=a+512|0;Ik(d,38385,32)|0;Mk(d,e,38417)|0;do if(!(mw(e,38433,16)|0)){Nk(d,e,e)|0;if(mw(e,38417,16)|0){c[b>>2]=38481;break}else{c[b>>2]=0;break}}else c[b>>2]=38449;while(0);i=a;return c[b>>2]|0}function Wk(){var a=0,b=0;a=i;i=i+16|0;c[a+8>>2]=9;c[a+4>>2]=16;c[a>>2]=504;b=as(38033,1,2,4,9,16,504)|0;i=a;return b|0}function Xk(b,e,f,g,h){b=b|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+96|0;k=j+76|0;l=j+72|0;m=j+68|0;n=j+64|0;o=j+60|0;p=j+56|0;q=j+52|0;r=j+48|0;s=j+44|0;t=j+40|0;u=j;v=j+36|0;w=j+32|0;x=j+28|0;y=j+80|0;z=j+16|0;A=j+24|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[k>>2];c[q>>2]=c[m>>2];c[r>>2]=c[n>>2];c[s>>2]=0;if(c[(c[p>>2]|0)+496>>2]|0)Bb[c[(c[p>>2]|0)+496>>2]&3]();c[v>>2]=c[(c[p>>2]|0)+488>>2];while(1){if(!(c[o>>2]|0))break;c[s>>2]=vb[c[v>>2]&63](c[p>>2]|0,u,c[l>>2]|0)|0;Yk(c[q>>2]|0,u,c[r>>2]|0,16);c[q>>2]=(c[q>>2]|0)+16;c[r>>2]=(c[r>>2]|0)+16;c[t>>2]=16;while(1){if((c[t>>2]|0)<=0)break;n=(c[l>>2]|0)+((c[t>>2]|0)-1)|0;a[n>>0]=(a[n>>0]|0)+1<<24>>24;if(a[(c[l>>2]|0)+((c[t>>2]|0)-1)>>0]|0)break;c[t>>2]=(c[t>>2]|0)+-1}c[o>>2]=(c[o>>2]|0)+-1}c[w>>2]=u;c[x>>2]=16;a[y>>0]=0;u=z;c[u>>2]=d[y>>0];c[u+4>>2]=0;while(1){if(!(c[w>>2]&7|0?(c[x>>2]|0)!=0:0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}if((c[x>>2]|0)>>>0>=8){u=z;o=Mx(c[u>>2]|0,c[u+4>>2]|0,16843009,16843009)|0;u=z;c[u>>2]=o;c[u+4>>2]=C;do{c[A>>2]=c[w>>2];u=z;o=c[u+4>>2]|0;t=c[A>>2]|0;c[t>>2]=c[u>>2];c[t+4>>2]=o;c[x>>2]=(c[x>>2]|0)-8;c[w>>2]=(c[w>>2]|0)+8}while((c[x>>2]|0)>>>0>=8)}while(1){if(!(c[x>>2]|0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}if(!(c[s>>2]|0)){i=j;return}If((c[s>>2]|0)+16|0);Jf();i=j;return}function Yk(b,e,f,g){b=b|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+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function Zk(){var a=0,b=0;a=i;i=i+16|0;c[a+8>>2]=10;c[a+4>>2]=16;c[a>>2]=504;b=Yr(38033,1,2,3,10,16,504)|0;i=a;return b|0}function _k(b,e,f,g,h){b=b|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;j=i;i=i+80|0;k=j+72|0;l=j+68|0;m=j+64|0;n=j+60|0;o=j+56|0;p=j+52|0;q=j+48|0;r=j+44|0;s=j+40|0;t=j;u=j+36|0;v=j+32|0;w=j+28|0;x=j+76|0;y=j+16|0;z=j+24|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[k>>2];c[q>>2]=c[m>>2];c[r>>2]=c[n>>2];c[s>>2]=0;Ok(c[p>>2]|0);if(c[(c[p>>2]|0)+500>>2]|0)Bb[c[(c[p>>2]|0)+500>>2]&3]();c[u>>2]=c[(c[p>>2]|0)+492>>2];while(1){if(!(c[o>>2]|0))break;c[s>>2]=vb[c[u>>2]&63](c[p>>2]|0,t,c[r>>2]|0)|0;$k(c[q>>2]|0,t,c[l>>2]|0,c[r>>2]|0,16);c[r>>2]=(c[r>>2]|0)+16;c[q>>2]=(c[q>>2]|0)+16;c[o>>2]=(c[o>>2]|0)+-1}c[v>>2]=t;c[w>>2]=16;a[x>>0]=0;t=y;c[t>>2]=d[x>>0];c[t+4>>2]=0;while(1){if(!(c[v>>2]&7|0?(c[w>>2]|0)!=0:0))break;a[c[v>>2]>>0]=a[x>>0]|0;c[v>>2]=(c[v>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+-1}if((c[w>>2]|0)>>>0>=8){t=y;o=Mx(c[t>>2]|0,c[t+4>>2]|0,16843009,16843009)|0;t=y;c[t>>2]=o;c[t+4>>2]=C;do{c[z>>2]=c[v>>2];t=y;o=c[t+4>>2]|0;q=c[z>>2]|0;c[q>>2]=c[t>>2];c[q+4>>2]=o;c[w>>2]=(c[w>>2]|0)-8;c[v>>2]=(c[v>>2]|0)+8}while((c[w>>2]|0)>>>0>=8)}while(1){if(!(c[w>>2]|0))break;a[c[v>>2]>>0]=a[x>>0]|0;c[v>>2]=(c[v>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+-1}if(!(c[s>>2]|0)){i=j;return}If((c[s>>2]|0)+16|0);Jf();i=j;return}function $k(b,e,f,g,h){b=b|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;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+28|0;s=j+24|0;t=j+60|0;u=j+20|0;v=j+16|0;w=j+12|0;x=j+8|0;y=j+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[k>>2];c[q>>2]=c[m>>2];c[r>>2]=c[l>>2];c[s>>2]=c[n>>2];c[j>>2]=3;if(!((c[s>>2]|c[r>>2]|c[p>>2]|c[q>>2])&3)){c[u>>2]=c[p>>2];c[x>>2]=c[r>>2];c[v>>2]=c[q>>2];c[w>>2]=c[s>>2];while(1){if((c[o>>2]|0)>>>0<4)break;n=c[w>>2]|0;c[w>>2]=n+4;c[y>>2]=c[n>>2];n=c[c[v>>2]>>2]|0;l=c[x>>2]|0;c[x>>2]=l+4;m=n^c[l>>2];l=c[u>>2]|0;c[u>>2]=l+4;c[l>>2]=m;m=c[y>>2]|0;l=c[v>>2]|0;c[v>>2]=l+4;c[l>>2]=m;c[o>>2]=(c[o>>2]|0)-4}c[p>>2]=c[u>>2];c[r>>2]=c[x>>2];c[q>>2]=c[v>>2];c[s>>2]=c[w>>2]}while(1){if(!(c[o>>2]|0))break;w=c[s>>2]|0;c[s>>2]=w+1;a[t>>0]=a[w>>0]|0;w=d[c[q>>2]>>0]|0;v=c[r>>2]|0;c[r>>2]=v+1;x=(w^(d[v>>0]|0))&255;v=c[p>>2]|0;c[p>>2]=v+1;a[v>>0]=x;x=a[t>>0]|0;v=c[q>>2]|0;c[q>>2]=v+1;a[v>>0]=x;c[o>>2]=(c[o>>2]|0)+-1}i=j;return}function al(){var a=0,b=0;a=i;i=i+16|0;c[a+8>>2]=10;c[a+4>>2]=16;c[a>>2]=504;b=_r(38033,1,2,2,10,16,504)|0;i=a;return b|0}function bl(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;g=i;i=i+48|0;h=g+36|0;j=g+32|0;k=g+28|0;l=g+24|0;m=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;q=g+4|0;r=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[h>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[q>>2]=0;if(c[(c[n>>2]|0)+496>>2]|0)Bb[c[(c[n>>2]|0)+496>>2]&3]();c[r>>2]=c[(c[n>>2]|0)+488>>2];while(1){if(!(c[m>>2]|0))break;c[q>>2]=vb[c[r>>2]&63](c[n>>2]|0,c[j>>2]|0,c[j>>2]|0)|0;cl(c[o>>2]|0,c[j>>2]|0,c[p>>2]|0,16);c[o>>2]=(c[o>>2]|0)+16;c[p>>2]=(c[p>>2]|0)+16;c[m>>2]=(c[m>>2]|0)+-1}if(!(c[q>>2]|0)){i=g;return}If((c[q>>2]|0)+16|0);Jf();i=g;return}function cl(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;$k(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}function dl(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=el(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function el(a,b,e){a=a|0;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;f=i;i=i+64|0;g=f+52|0;h=f+48|0;j=f+44|0;k=f+40|0;l=f+36|0;m=f+32|0;n=f+16|0;o=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=4577;c[l>>2]=c[(c[g>>2]|0)+480>>2];c[o>>2]=fl(c[j>>2]|0)|0;c[o+4>>2]=fl((c[j>>2]|0)+4|0)|0;c[o+8>>2]=fl((c[j>>2]|0)+8|0)|0;c[o+12>>2]=fl((c[j>>2]|0)+12|0)|0;c[n>>2]=c[o>>2]^c[c[g>>2]>>2];c[n+4>>2]=c[o+4>>2]^c[(c[g>>2]|0)+4>>2];c[n+8>>2]=c[o+8>>2]^c[(c[g>>2]|0)+8>>2];c[n+12>>2]=c[o+12>>2]^c[(c[g>>2]|0)+12>>2];c[o>>2]=Tk(c[4576+(((c[n>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;c[o+12>>2]=Tk(c[4576+(((c[n>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[o+8>>2]=Tk(c[4576+(((c[n>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[o+4>>2]=Tk(c[4576+(((c[n>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[n>>2]=c[(c[g>>2]|0)+16>>2]^c[o>>2];j=Tk(c[4576+(((c[n+4>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[n>>2]=c[n>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;e=o+8|0;c[e>>2]=c[e>>2]^j;c[n+4>>2]=c[(c[g>>2]|0)+16+4>>2]^c[o+4>>2];j=Tk(c[4576+(((c[n+8>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+8|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;e=n+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[n>>2]=c[n>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;c[n+8>>2]=c[(c[g>>2]|0)+16+8>>2]^c[o+8>>2];j=Tk(c[4576+(((c[n+12>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;e=n+8|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;e=n+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[n>>2]=c[n>>2]^j;c[n+12>>2]=c[(c[g>>2]|0)+16+12>>2]^c[o+12>>2];c[m>>2]=2;while(1){p=(c[n>>2]|0)>>>0&255;if((c[m>>2]|0)>=(c[l>>2]|0))break;c[o>>2]=Tk(c[4576+(p<<2)>>2]|0,0)|0;c[o+12>>2]=Tk(c[4576+(((c[n>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[o+8>>2]=Tk(c[4576+(((c[n>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[o+4>>2]=Tk(c[4576+(((c[n>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[n>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)>>2]^c[o>>2];j=Tk(c[4576+(((c[n+4>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[n>>2]=c[n>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;e=o+8|0;c[e>>2]=c[e>>2]^j;c[n+4>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+4>>2]^c[o+4>>2];j=Tk(c[4576+(((c[n+8>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+8|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;e=n+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[n>>2]=c[n>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;c[n+8>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+8>>2]^c[o+8>>2];j=Tk(c[4576+(((c[n+12>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;e=n+8|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;e=n+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[n>>2]=c[n>>2]^j;c[n+12>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+12>>2]^c[o+12>>2];c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=Tk(c[4576+(((c[n>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;c[o+12>>2]=Tk(c[4576+(((c[n>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[o+8>>2]=Tk(c[4576+(((c[n>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[o+4>>2]=Tk(c[4576+(((c[n>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[n>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)>>2]^c[o>>2];j=Tk(c[4576+(((c[n+4>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[n>>2]=c[n>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;e=o+8|0;c[e>>2]=c[e>>2]^j;c[n+4>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+4>>2]^c[o+4>>2];j=Tk(c[4576+(((c[n+8>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+8|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;e=n+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[n>>2]=c[n>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;c[n+8>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+8>>2]^c[o+8>>2];j=Tk(c[4576+(((c[n+12>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;e=n+8|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;e=n+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[n>>2]=c[n>>2]^j;c[n+12>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+12>>2]^c[o+12>>2];c[m>>2]=(c[m>>2]|0)+1}c[o>>2]=(d[(c[k>>2]|0)+(p<<2)>>0]|0)<<0;c[o+12>>2]=(d[(c[k>>2]|0)+(((c[n>>2]|0)>>>8&255)<<2)>>0]|0)<<8;c[o+8>>2]=(d[(c[k>>2]|0)+(((c[n>>2]|0)>>>16&255)<<2)>>0]|0)<<16;c[o+4>>2]=(d[(c[k>>2]|0)+(((c[n>>2]|0)>>>24&255)<<2)>>0]|0)<<24;c[n>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)>>2]^c[o>>2];p=o+4|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+4>>2]|0)>>>0&255)<<2)>>0]|0)<<0;c[n>>2]=c[n>>2]^(d[(c[k>>2]|0)+(((c[n+4>>2]|0)>>>8&255)<<2)>>0]|0)<<8;p=o+12|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+4>>2]|0)>>>16&255)<<2)>>0]|0)<<16;p=o+8|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+4>>2]|0)>>>24&255)<<2)>>0]|0)<<24;c[n+4>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+4>>2]^c[o+4>>2];p=o+8|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+8>>2]|0)>>>0&255)<<2)>>0]|0)<<0;p=n+4|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+8>>2]|0)>>>8&255)<<2)>>0]|0)<<8;c[n>>2]=c[n>>2]^(d[(c[k>>2]|0)+(((c[n+8>>2]|0)>>>16&255)<<2)>>0]|0)<<16;p=o+12|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+8>>2]|0)>>>24&255)<<2)>>0]|0)<<24;c[n+8>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+8>>2]^c[o+8>>2];p=o+12|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+12>>2]|0)>>>0&255)<<2)>>0]|0)<<0;p=n+8|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+12>>2]|0)>>>8&255)<<2)>>0]|0)<<8;p=n+4|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+12>>2]|0)>>>16&255)<<2)>>0]|0)<<16;c[n>>2]=c[n>>2]^(d[(c[k>>2]|0)+(((c[n+12>>2]|0)>>>24&255)<<2)>>0]|0)<<24;c[n+12>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+12>>2]^c[o+12>>2];gl(c[h>>2]|0,c[n>>2]|0);gl((c[h>>2]|0)+4|0,c[n+4>>2]|0);gl((c[h>>2]|0)+8|0,c[n+8>>2]|0);gl((c[h>>2]|0)+12|0,c[n+12>>2]|0);i=f;return 64}function fl(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];i=b;return (d[(c[f>>2]|0)+3>>0]|0)<<24|(d[(c[f>>2]|0)+2>>0]|0)<<16|(d[(c[f>>2]|0)+1>>0]|0)<<8|(d[c[f>>2]>>0]|0)|0}function gl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];a[(c[h>>2]|0)+3>>0]=(c[g>>2]|0)>>>24;a[(c[h>>2]|0)+2>>0]=(c[g>>2]|0)>>>16;a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)>>>8;a[c[h>>2]>>0]=c[g>>2];i=e;return}function hl(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=il(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function il(a,b,e){a=a|0;b=b|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+64|0;g=f+48|0;h=f+44|0;j=f+40|0;k=f+36|0;l=f+32|0;m=f+16|0;n=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=c[(c[g>>2]|0)+480>>2];c[n>>2]=fl(c[j>>2]|0)|0;c[n+4>>2]=fl((c[j>>2]|0)+4|0)|0;c[n+8>>2]=fl((c[j>>2]|0)+8|0)|0;c[n+12>>2]=fl((c[j>>2]|0)+12|0)|0;c[m>>2]=c[n>>2]^c[(c[g>>2]|0)+240+(c[k>>2]<<4)>>2];c[m+4>>2]=c[n+4>>2]^c[(c[g>>2]|0)+240+(c[k>>2]<<4)+4>>2];c[m+8>>2]=c[n+8>>2]^c[(c[g>>2]|0)+240+(c[k>>2]<<4)+8>>2];c[m+12>>2]=c[n+12>>2]^c[(c[g>>2]|0)+240+(c[k>>2]<<4)+12>>2];c[l>>2]=(c[k>>2]|0)-1;while(1){k=(c[l>>2]|0)>1;c[n>>2]=Tk(c[5600+(((c[m>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;c[n+4>>2]=Tk(c[5600+(((c[m>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[n+8>>2]=Tk(c[5600+(((c[m>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[n+12>>2]=Tk(c[5600+(((c[m>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;if(!k)break;c[m>>2]=c[(c[g>>2]|0)+240+(c[l>>2]<<4)>>2]^c[n>>2];k=Tk(c[5600+(((c[m+4>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;j=n+4|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+4>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;j=n+8|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+4>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;j=n+12|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+4>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[m>>2]=c[m>>2]^k;c[m+4>>2]=c[(c[g>>2]|0)+240+(c[l>>2]<<4)+4>>2]^c[n+4>>2];k=Tk(c[5600+(((c[m+8>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;j=n+8|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+8>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;j=n+12|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+8>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[m>>2]=c[m>>2]^k;k=Tk(c[5600+(((c[m+8>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;j=m+4|0;c[j>>2]=c[j>>2]^k;c[m+8>>2]=c[(c[g>>2]|0)+240+(c[l>>2]<<4)+8>>2]^c[n+8>>2];k=Tk(c[5600+(((c[m+12>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;j=n+12|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+12>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[m>>2]=c[m>>2]^k;k=Tk(c[5600+(((c[m+12>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;j=m+4|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+12>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;j=m+8|0;c[j>>2]=c[j>>2]^k;c[m+12>>2]=c[(c[g>>2]|0)+240+(c[l>>2]<<4)+12>>2]^c[n+12>>2];c[l>>2]=(c[l>>2]|0)+-1;c[n>>2]=Tk(c[5600+(((c[m>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;c[n+4>>2]=Tk(c[5600+(((c[m>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[n+8>>2]=Tk(c[5600+(((c[m>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[n+12>>2]=Tk(c[5600+(((c[m>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[m>>2]=c[(c[g>>2]|0)+240+(c[l>>2]<<4)>>2]^c[n>>2];k=Tk(c[5600+(((c[m+4>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;j=n+4|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+4>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;j=n+8|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+4>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;j=n+12|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+4>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[m>>2]=c[m>>2]^k;c[m+4>>2]=c[(c[g>>2]|0)+240+(c[l>>2]<<4)+4>>2]^c[n+4>>2];k=Tk(c[5600+(((c[m+8>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;j=n+8|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+8>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;j=n+12|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+8>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[m>>2]=c[m>>2]^k;k=Tk(c[5600+(((c[m+8>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;j=m+4|0;c[j>>2]=c[j>>2]^k;c[m+8>>2]=c[(c[g>>2]|0)+240+(c[l>>2]<<4)+8>>2]^c[n+8>>2];k=Tk(c[5600+(((c[m+12>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;j=n+12|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+12>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[m>>2]=c[m>>2]^k;k=Tk(c[5600+(((c[m+12>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;j=m+4|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+12>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;j=m+8|0;c[j>>2]=c[j>>2]^k;c[m+12>>2]=c[(c[g>>2]|0)+240+(c[l>>2]<<4)+12>>2]^c[n+12>>2];c[l>>2]=(c[l>>2]|0)+-1}c[m>>2]=c[(c[g>>2]|0)+240+16>>2]^c[n>>2];l=Tk(c[5600+(((c[m+4>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;k=n+4|0;c[k>>2]=c[k>>2]^l;l=Tk(c[5600+(((c[m+4>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;k=n+8|0;c[k>>2]=c[k>>2]^l;l=Tk(c[5600+(((c[m+4>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;k=n+12|0;c[k>>2]=c[k>>2]^l;l=Tk(c[5600+(((c[m+4>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[m>>2]=c[m>>2]^l;c[m+4>>2]=c[(c[g>>2]|0)+240+16+4>>2]^c[n+4>>2];l=Tk(c[5600+(((c[m+8>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;k=n+8|0;c[k>>2]=c[k>>2]^l;l=Tk(c[5600+(((c[m+8>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;k=n+12|0;c[k>>2]=c[k>>2]^l;l=Tk(c[5600+(((c[m+8>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[m>>2]=c[m>>2]^l;l=Tk(c[5600+(((c[m+8>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;k=m+4|0;c[k>>2]=c[k>>2]^l;c[m+8>>2]=c[(c[g>>2]|0)+240+16+8>>2]^c[n+8>>2];l=Tk(c[5600+(((c[m+12>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;k=n+12|0;c[k>>2]=c[k>>2]^l;l=Tk(c[5600+(((c[m+12>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[m>>2]=c[m>>2]^l;l=Tk(c[5600+(((c[m+12>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;k=m+4|0;c[k>>2]=c[k>>2]^l;l=Tk(c[5600+(((c[m+12>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;k=m+8|0;c[k>>2]=c[k>>2]^l;c[m+12>>2]=c[(c[g>>2]|0)+240+16+12>>2]^c[n+12>>2];c[n>>2]=(d[6624+((c[m>>2]|0)>>>0&255)>>0]|0)<<0;c[n+4>>2]=(d[6624+((c[m>>2]|0)>>>8&255)>>0]|0)<<8;c[n+8>>2]=(d[6624+((c[m>>2]|0)>>>16&255)>>0]|0)<<16;c[n+12>>2]=(d[6624+((c[m>>2]|0)>>>24&255)>>0]|0)<<24;c[m>>2]=c[n>>2]^c[(c[g>>2]|0)+240>>2];l=n+4|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+4>>2]|0)>>>0&255)>>0]|0)<<0;l=n+8|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+4>>2]|0)>>>8&255)>>0]|0)<<8;l=n+12|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+4>>2]|0)>>>16&255)>>0]|0)<<16;c[m>>2]=c[m>>2]^(d[6624+((c[m+4>>2]|0)>>>24&255)>>0]|0)<<24;c[m+4>>2]=c[n+4>>2]^c[(c[g>>2]|0)+240+4>>2];l=n+8|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+8>>2]|0)>>>0&255)>>0]|0)<<0;l=n+12|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+8>>2]|0)>>>8&255)>>0]|0)<<8;c[m>>2]=c[m>>2]^(d[6624+((c[m+8>>2]|0)>>>16&255)>>0]|0)<<16;l=m+4|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+8>>2]|0)>>>24&255)>>0]|0)<<24;c[m+8>>2]=c[n+8>>2]^c[(c[g>>2]|0)+240+8>>2];l=n+12|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+12>>2]|0)>>>0&255)>>0]|0)<<0;c[m>>2]=c[m>>2]^(d[6624+((c[m+12>>2]|0)>>>8&255)>>0]|0)<<8;l=m+4|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+12>>2]|0)>>>16&255)>>0]|0)<<16;l=m+8|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+12>>2]|0)>>>24&255)>>0]|0)<<24;c[m+12>>2]=c[n+12>>2]^c[(c[g>>2]|0)+240+12>>2];gl(c[h>>2]|0,c[m>>2]|0);gl((c[h>>2]|0)+4|0,c[m+4>>2]|0);gl((c[h>>2]|0)+8|0,c[m+8>>2]|0);gl((c[h>>2]|0)+12|0,c[m+12>>2]|0);i=f;return 64}function jl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;switch(c[f>>2]|0){case 7:{c[j>>2]=kl(c[g>>2]|0,c[h>>2]|0)|0;break}case 8:{c[j>>2]=ml(c[g>>2]|0,c[h>>2]|0)|0;break}case 9:{c[j>>2]=nl(c[g>>2]|0,c[h>>2]|0)|0;break}default:c[j>>2]=12}i=e;return c[j>>2]|0}function kl(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=49826;c[j>>2]=Lk()|0;do if(!(c[j>>2]|0)){if(c[f>>2]|0){c[h>>2]=38513;c[j>>2]=ll(2)|0;if(c[j>>2]|0)break;c[h>>2]=38630;c[j>>2]=ll(5)|0;if(c[j>>2]|0)break}c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}while(0);if(c[g>>2]|0)Fb[c[g>>2]&1](38634,7,c[h>>2]|0,c[j>>2]|0);c[e>>2]=50;k=c[e>>2]|0;i=d;return k|0}function ll(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,o=0;b=i;i=i+48|0;d=b+24|0;e=b+20|0;f=b+32|0;g=b+16|0;h=b+12|0;j=b+8|0;k=b+4|0;l=b;c[e>>2]=a;c[k>>2]=0;c[l>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>>>0>=2)break;if((c[7e3+((c[h>>2]|0)*164|0)>>2]|0)==(c[e>>2]|0))break;c[h>>2]=(c[h>>2]|0)+1}if((c[h>>2]|0)==2){fi(c[k>>2]|0);fi(c[l>>2]|0);c[d>>2]=38517;m=c[d>>2]|0;i=b;return m|0}c[g>>2]=ai(k,7,c[7e3+((c[h>>2]|0)*164|0)>>2]|0,0)|0;if(c[g>>2]|0){fi(c[k>>2]|0);fi(c[l>>2]|0);c[d>>2]=38544;m=c[d>>2]|0;i=b;return m|0}c[g>>2]=ai(l,7,c[7e3+((c[h>>2]|0)*164|0)>>2]|0,0)|0;e=c[k>>2]|0;if(c[g>>2]|0){fi(e);fi(c[l>>2]|0);c[d>>2]=38544;m=c[d>>2]|0;i=b;return m|0}c[g>>2]=ni(e,7e3+((c[h>>2]|0)*164|0)+4|0,16)|0;if(!(c[g>>2]|0))c[g>>2]=ni(c[l>>2]|0,7e3+((c[h>>2]|0)*164|0)+4|0,16)|0;e=c[k>>2]|0;if(c[g>>2]|0){fi(e);fi(c[l>>2]|0);c[d>>2]=38549;m=c[d>>2]|0;i=b;return m|0}c[g>>2]=pi(e,7e3+((c[h>>2]|0)*164|0)+20|0,16)|0;if(!(c[g>>2]|0))c[g>>2]=pi(c[l>>2]|0,7e3+((c[h>>2]|0)*164|0)+20|0,16)|0;if(c[g>>2]|0){fi(c[k>>2]|0);fi(c[l>>2]|0);c[d>>2]=38557;m=c[d>>2]|0;i=b;return m|0}c[j>>2]=0;while(1){n=c[k>>2]|0;if((c[j>>2]|0)>>>0>=4){o=30;break}c[g>>2]=gi(n,f,16,7e3+((c[h>>2]|0)*164|0)+36+(c[j>>2]<<5)|0,16)|0;if(c[g>>2]|0){o=22;break}if(mw(f,7e3+((c[h>>2]|0)*164|0)+36+(c[j>>2]<<5)+16|0,16)|0){o=24;break}c[g>>2]=ki(c[l>>2]|0,f,16,7e3+((c[h>>2]|0)*164|0)+36+(c[j>>2]<<5)+16|0,16)|0;if(c[g>>2]|0){o=26;break}if(mw(f,7e3+((c[h>>2]|0)*164|0)+36+(c[j>>2]<<5)|0,16)|0){o=28;break}c[j>>2]=(c[j>>2]|0)+1}if((o|0)==22){fi(c[k>>2]|0);fi(c[l>>2]|0);c[d>>2]=38564;m=c[d>>2]|0;i=b;return m|0}else if((o|0)==24){fi(c[k>>2]|0);fi(c[l>>2]|0);c[d>>2]=38580;m=c[d>>2]|0;i=b;return m|0}else if((o|0)==26){fi(c[k>>2]|0);fi(c[l>>2]|0);c[d>>2]=38597;m=c[d>>2]|0;i=b;return m|0}else if((o|0)==28){fi(c[k>>2]|0);fi(c[l>>2]|0);c[d>>2]=38613;m=c[d>>2]|0;i=b;return m|0}else if((o|0)==30){fi(n);fi(c[l>>2]|0);c[d>>2]=0;m=c[d>>2]|0;i=b;return m|0}return 0}function ml(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+32|0;e=d+16|0;f=d+8|0;g=d+4|0;h=d;c[d+12>>2]=a;c[f>>2]=b;c[g>>2]=49826;c[h>>2]=Uk()|0;if(!(c[h>>2]|0)){c[e>>2]=0;j=c[e>>2]|0;i=d;return j|0}if(c[f>>2]|0)Fb[c[f>>2]&1](38634,8,c[g>>2]|0,c[h>>2]|0);c[e>>2]=50;j=c[e>>2]|0;i=d;return j|0}function nl(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+32|0;e=d+16|0;f=d+8|0;g=d+4|0;h=d;c[d+12>>2]=a;c[f>>2]=b;c[g>>2]=49826;c[h>>2]=Vk()|0;if(!(c[h>>2]|0)){c[e>>2]=0;j=c[e>>2]|0;i=d;return j|0}if(c[f>>2]|0)Fb[c[f>>2]&1](38634,9,c[g>>2]|0,c[h>>2]|0);c[e>>2]=50;j=c[e>>2]|0;i=d;return j|0}function ol(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;g=i;i=i+48|0;h=g+36|0;j=g+32|0;k=g+28|0;l=g+24|0;m=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;q=g+4|0;r=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[h>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[q>>2]=0;if(c[(c[n>>2]|0)+496>>2]|0)Bb[c[(c[n>>2]|0)+496>>2]&3]();c[r>>2]=c[(c[n>>2]|0)+488>>2];while(1){if(!(c[m>>2]|0))break;c[q>>2]=vb[c[r>>2]&63](c[n>>2]|0,c[j>>2]|0,c[j>>2]|0)|0;pl(c[o>>2]|0,c[j>>2]|0,c[p>>2]|0,16);c[o>>2]=(c[o>>2]|0)+16;c[p>>2]=(c[p>>2]|0)+16;c[m>>2]=(c[m>>2]|0)+-1}if(!(c[q>>2]|0)){i=g;return}If((c[q>>2]|0)+16|0);Jf();i=g;return}function pl(b,e,f,g){b=b|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+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[p>>2]|c[n>>2]|c[o>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[s>>2]|0;c[s>>2]=l+4;k=c[l>>2]|0;l=c[r>>2]|0;c[r>>2]=l+4;j=c[l>>2]^k;c[l>>2]=j;l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[p>>2]|0;c[p>>2]=s+1;r=d[s>>0]|0;s=c[o>>2]|0;c[o>>2]=s+1;q=((d[s>>0]|0)^r)&255;a[s>>0]=q;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function ql(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,s=0,t=0,u=0;h=i;i=i+48|0;j=h+44|0;k=h+40|0;l=h+36|0;m=h+32|0;n=h+28|0;o=h+24|0;p=h+20|0;q=h+16|0;r=h+12|0;s=h+8|0;t=h+4|0;u=h;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=c[j>>2];c[q>>2]=c[l>>2];c[r>>2]=c[m>>2];c[t>>2]=0;if(c[(c[p>>2]|0)+496>>2]|0)Bb[c[(c[p>>2]|0)+496>>2]&3]();c[u>>2]=c[(c[p>>2]|0)+488>>2];c[s>>2]=c[k>>2];while(1){if(!(c[n>>2]|0))break;Yk(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,16);c[t>>2]=vb[c[u>>2]&63](c[p>>2]|0,c[q>>2]|0,c[q>>2]|0)|0;c[s>>2]=c[q>>2];c[r>>2]=(c[r>>2]|0)+16;if(!(c[o>>2]|0))c[q>>2]=(c[q>>2]|0)+16;c[n>>2]=(c[n>>2]|0)+-1}if((c[s>>2]|0)!=(c[k>>2]|0))rl(c[k>>2]|0,c[s>>2]|0,16);if(!(c[t>>2]|0)){i=h;return}If((c[t>>2]|0)+16|0);Jf();i=h;return}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;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[f>>2]=3;if(!((c[k>>2]|c[l>>2])&3)){c[m>>2]=c[k>>2];c[n>>2]=c[l>>2];while(1){if((c[j>>2]|0)>>>0<4)break;h=c[n>>2]|0;c[n>>2]=h+4;g=c[h>>2]|0;h=c[m>>2]|0;c[m>>2]=h+4;c[h>>2]=g;c[j>>2]=(c[j>>2]|0)-4}c[k>>2]=c[m>>2];c[l>>2]=c[n>>2]}while(1){if(!(c[j>>2]|0))break;n=c[l>>2]|0;c[l>>2]=n+1;m=a[n>>0]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[n>>0]=m;c[j>>2]=(c[j>>2]|0)+-1}i=f;return}function sl(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;g=i;i=i+112|0;h=g+104|0;j=g+100|0;k=g+96|0;l=g+92|0;m=g+88|0;n=g+84|0;o=g+80|0;p=g+76|0;q=g+72|0;r=g+16|0;s=g+68|0;t=g+40|0;u=g+64|0;v=g+60|0;w=g;x=g+56|0;y=g+32|0;z=g+52|0;A=g+48|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=(c[h>>2]|0)+496;c[o>>2]=c[j>>2];c[p>>2]=c[k>>2];c[q>>2]=0;k=c[n>>2]|0;if(c[m>>2]|0){if(c[k+496>>2]|0)Bb[c[(c[n>>2]|0)+496>>2]&3]()}else{Ok(k);if(c[(c[n>>2]|0)+500>>2]|0)Bb[c[(c[n>>2]|0)+500>>2]&3]()}k=c[n>>2]|0;a:do if(c[m>>2]|0){c[s>>2]=c[k+488>>2];while(1){if(!(c[l>>2]|0))break a;j=(c[h>>2]|0)+128+336|0;f=j;e=Ax(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;f=C;d=j;c[d>>2]=e;c[d+4>>2]=f;d=t;c[d>>2]=e;c[d+4>>2]=f;f=t;c[u>>2]=tl(c[f>>2]|0,c[f+4>>2]|0)|0;if((c[u>>2]|0)>>>0<16)c[v>>2]=(c[h>>2]|0)+128+32+(c[u>>2]<<4);else{f=t;c[v>>2]=yr(c[h>>2]|0,r,c[f>>2]|0,c[f+4>>2]|0)|0}vl((c[h>>2]|0)+64|0,c[v>>2]|0,16);rl(r,c[p>>2]|0,16);vl((c[h>>2]|0)+80|0,r,16);vl(r,(c[h>>2]|0)+64|0,16);c[q>>2]=vb[c[s>>2]&63](c[n>>2]|0,r,r)|0;vl(r,(c[h>>2]|0)+64|0,16);rl(c[o>>2]|0,r,16);c[p>>2]=(c[p>>2]|0)+16;c[o>>2]=(c[o>>2]|0)+16;c[l>>2]=(c[l>>2]|0)+-1}}else{c[x>>2]=c[k+492>>2];while(1){if(!(c[l>>2]|0))break a;f=(c[h>>2]|0)+128+336|0;d=f;e=Ax(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;d=C;j=f;c[j>>2]=e;c[j+4>>2]=d;j=y;c[j>>2]=e;c[j+4>>2]=d;d=y;c[z>>2]=tl(c[d>>2]|0,c[d+4>>2]|0)|0;if((c[z>>2]|0)>>>0<16)c[A>>2]=(c[h>>2]|0)+128+32+(c[z>>2]<<4);else{d=y;c[A>>2]=yr(c[h>>2]|0,w,c[d>>2]|0,c[d+4>>2]|0)|0}vl((c[h>>2]|0)+64|0,c[A>>2]|0,16);rl(w,c[p>>2]|0,16);vl(w,(c[h>>2]|0)+64|0,16);c[q>>2]=vb[c[x>>2]&63](c[n>>2]|0,w,w)|0;vl(w,(c[h>>2]|0)+64|0,16);vl((c[h>>2]|0)+80|0,w,16);rl(c[o>>2]|0,w,16);c[p>>2]=(c[p>>2]|0)+16;c[o>>2]=(c[o>>2]|0)+16;c[l>>2]=(c[l>>2]|0)+-1}}while(0);if(!(c[q>>2]|0)){i=g;return}If((c[q>>2]|0)+16|0);Jf();i=g;return}function tl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d;g=f;c[g>>2]=a;c[g+4>>2]=b;b=f;g=c[b+4>>2]|0;if((c[f>>2]|0)!=0|0!=0){c[e>>2]=ul(c[b>>2]|0)|0;h=c[e>>2]|0;i=d;return h|0}else{c[e>>2]=32+(ul(g)|0);h=c[e>>2]|0;i=d;return h|0}return 0}function ul(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)!=0;e=Gx(c[d>>2]|0)|0;i=b;return (a?e:32)|0}function vl(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;g=i;i=i+32|0;h=g+28|0;j=g+24|0;k=g+20|0;l=g+16|0;m=g+12|0;n=g+8|0;o=g+4|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[h>>2];c[m>>2]=c[j>>2];c[g>>2]=3;if(!((c[l>>2]|c[m>>2])&3)){c[n>>2]=c[l>>2];c[o>>2]=c[m>>2];while(1){if((c[k>>2]|0)>>>0<4)break;j=c[o>>2]|0;c[o>>2]=j+4;h=c[j>>2]|0;j=c[n>>2]|0;c[n>>2]=j+4;c[j>>2]=c[j>>2]^h;c[k>>2]=(c[k>>2]|0)-4}c[l>>2]=c[n>>2];c[m>>2]=c[o>>2]}while(1){if(!(c[k>>2]|0))break;o=c[m>>2]|0;c[m>>2]=o+1;n=d[o>>0]|0;o=c[l>>2]|0;c[l>>2]=o+1;a[o>>0]=(d[o>>0]|0)^n;c[k>>2]=(c[k>>2]|0)+-1}i=g;return}function wl(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;g=i;i=i+96|0;h=g+76|0;j=g+72|0;k=g+68|0;l=g+64|0;m=g+60|0;n=g+56|0;o=g;p=g+52|0;q=g+24|0;r=g+48|0;s=g+44|0;t=g+40|0;u=g+36|0;v=g+80|0;w=g+16|0;x=g+32|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=(c[h>>2]|0)+496;c[m>>2]=c[j>>2];c[n>>2]=0;if(c[(c[l>>2]|0)+496>>2]|0)Bb[c[(c[l>>2]|0)+496>>2]&3]();c[p>>2]=c[(c[l>>2]|0)+488>>2];while(1){if(!(c[k>>2]|0))break;j=(c[h>>2]|0)+128+344|0;f=j;e=Ax(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;f=C;b=j;c[b>>2]=e;c[b+4>>2]=f;b=q;c[b>>2]=e;c[b+4>>2]=f;f=q;c[r>>2]=tl(c[f>>2]|0,c[f+4>>2]|0)|0;if((c[r>>2]|0)>>>0<16)c[s>>2]=(c[h>>2]|0)+128+32+(c[r>>2]<<4);else{f=q;c[s>>2]=yr(c[h>>2]|0,o,c[f>>2]|0,c[f+4>>2]|0)|0}vl((c[h>>2]|0)+128+304|0,c[s>>2]|0,16);Yk(o,(c[h>>2]|0)+128+304|0,c[m>>2]|0,16);c[n>>2]=vb[c[p>>2]&63](c[l>>2]|0,o,o)|0;vl((c[h>>2]|0)+128+320|0,o,16);c[m>>2]=(c[m>>2]|0)+16;c[k>>2]=(c[k>>2]|0)+-1}c[t>>2]=o;c[u>>2]=16;a[v>>0]=0;o=w;c[o>>2]=d[v>>0];c[o+4>>2]=0;while(1){if(!(c[t>>2]&7|0?(c[u>>2]|0)!=0:0))break;a[c[t>>2]>>0]=a[v>>0]|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+-1}if((c[u>>2]|0)>>>0>=8){o=w;k=Mx(c[o>>2]|0,c[o+4>>2]|0,16843009,16843009)|0;o=w;c[o>>2]=k;c[o+4>>2]=C;do{c[x>>2]=c[t>>2];o=w;k=c[o+4>>2]|0;m=c[x>>2]|0;c[m>>2]=c[o>>2];c[m+4>>2]=k;c[u>>2]=(c[u>>2]|0)-8;c[t>>2]=(c[t>>2]|0)+8}while((c[u>>2]|0)>>>0>=8)}while(1){if(!(c[u>>2]|0))break;a[c[t>>2]>>0]=a[v>>0]|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+-1}if(!(c[n>>2]|0)){i=g;return}If((c[n>>2]|0)+16|0);Jf();i=g;return}function xl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+8|0;f=d;c[e>>2]=a;c[d+4>>2]=b;c[f>>2]=c[e>>2];c[(c[f>>2]|0)+160>>2]=1732584193;c[(c[f>>2]|0)+164>>2]=-271733879;c[(c[f>>2]|0)+168>>2]=-1732584194;c[(c[f>>2]|0)+172>>2]=271733878;c[(c[f>>2]|0)+176>>2]=-1009589776;e=(c[f>>2]|0)+128|0;c[e>>2]=0;c[e+4>>2]=0;e=(c[f>>2]|0)+136|0;c[e>>2]=0;c[e+4>>2]=0;c[(c[f>>2]|0)+144>>2]=0;c[(c[f>>2]|0)+148>>2]=64;c[(c[f>>2]|0)+152>>2]=31;i=d;return}function yl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;do{c[j>>2]=zl(c[f>>2]|0,c[g>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+64;d=(c[h>>2]|0)+-1|0;c[h>>2]=d}while((d|0)!=0);i=e;return c[j>>2]|0}function zl(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+128|0;e=d+120|0;f=d+116|0;g=d+112|0;h=d+108|0;j=d+104|0;k=d+100|0;l=d+96|0;m=d+92|0;n=d+88|0;o=d+84|0;p=d+80|0;q=d+76|0;r=d+72|0;s=d+8|0;t=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[e>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=16)break;e=Al((c[f>>2]|0)+(c[t>>2]<<2)|0)|0;c[s+(c[t>>2]<<2)>>2]=e;c[t>>2]=(c[t>>2]|0)+1}t=c[(c[g>>2]|0)+160>>2]|0;c[j>>2]=t;c[h>>2]=t;t=c[(c[g>>2]|0)+164>>2]|0;c[l>>2]=t;c[k>>2]=t;t=c[(c[g>>2]|0)+168>>2]|0;c[n>>2]=t;c[m>>2]=t;t=c[(c[g>>2]|0)+172>>2]|0;c[p>>2]=t;c[o>>2]=t;t=c[(c[g>>2]|0)+176>>2]|0;c[r>>2]=t;c[q>>2]=t;c[h>>2]=(c[h>>2]|0)+((c[k>>2]^c[m>>2]^c[o>>2])+0+(c[s>>2]|0));t=Bl(c[h>>2]|0,11)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]^(c[n>>2]|~c[p>>2]))+1352829926+(c[s+20>>2]|0));t=Bl(c[j>>2]|0,8)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]^c[k>>2]^c[m>>2])+0+(c[s+4>>2]|0));t=Bl(c[q>>2]|0,14)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]^(c[l>>2]|~c[n>>2]))+1352829926+(c[s+56>>2]|0));t=Bl(c[r>>2]|0,9)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]^c[h>>2]^c[k>>2])+0+(c[s+8>>2]|0));t=Bl(c[o>>2]|0,15)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]^(c[j>>2]|~c[l>>2]))+1352829926+(c[s+28>>2]|0));t=Bl(c[p>>2]|0,9)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]^c[q>>2]^c[h>>2])+0+(c[s+12>>2]|0));t=Bl(c[m>>2]|0,12)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]^(c[r>>2]|~c[j>>2]))+1352829926+(c[s>>2]|0));t=Bl(c[n>>2]|0,11)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^c[o>>2]^c[q>>2])+0+(c[s+16>>2]|0));t=Bl(c[k>>2]|0,5)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^(c[p>>2]|~c[r>>2]))+1352829926+(c[s+36>>2]|0));t=Bl(c[l>>2]|0,13)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]^c[m>>2]^c[o>>2])+0+(c[s+20>>2]|0));t=Bl(c[h>>2]|0,8)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]^(c[n>>2]|~c[p>>2]))+1352829926+(c[s+8>>2]|0));t=Bl(c[j>>2]|0,15)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]^c[k>>2]^c[m>>2])+0+(c[s+24>>2]|0));t=Bl(c[q>>2]|0,7)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]^(c[l>>2]|~c[n>>2]))+1352829926+(c[s+44>>2]|0));t=Bl(c[r>>2]|0,15)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]^c[h>>2]^c[k>>2])+0+(c[s+28>>2]|0));t=Bl(c[o>>2]|0,9)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]^(c[j>>2]|~c[l>>2]))+1352829926+(c[s+16>>2]|0));t=Bl(c[p>>2]|0,5)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]^c[q>>2]^c[h>>2])+0+(c[s+32>>2]|0));t=Bl(c[m>>2]|0,11)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]^(c[r>>2]|~c[j>>2]))+1352829926+(c[s+52>>2]|0));t=Bl(c[n>>2]|0,7)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^c[o>>2]^c[q>>2])+0+(c[s+36>>2]|0));t=Bl(c[k>>2]|0,13)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^(c[p>>2]|~c[r>>2]))+1352829926+(c[s+24>>2]|0));t=Bl(c[l>>2]|0,7)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]^c[m>>2]^c[o>>2])+0+(c[s+40>>2]|0));t=Bl(c[h>>2]|0,14)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]^(c[n>>2]|~c[p>>2]))+1352829926+(c[s+60>>2]|0));t=Bl(c[j>>2]|0,8)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]^c[k>>2]^c[m>>2])+0+(c[s+44>>2]|0));t=Bl(c[q>>2]|0,15)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]^(c[l>>2]|~c[n>>2]))+1352829926+(c[s+32>>2]|0));t=Bl(c[r>>2]|0,11)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]^c[h>>2]^c[k>>2])+0+(c[s+48>>2]|0));t=Bl(c[o>>2]|0,6)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]^(c[j>>2]|~c[l>>2]))+1352829926+(c[s+4>>2]|0));t=Bl(c[p>>2]|0,14)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]^c[q>>2]^c[h>>2])+0+(c[s+52>>2]|0));t=Bl(c[m>>2]|0,7)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]^(c[r>>2]|~c[j>>2]))+1352829926+(c[s+40>>2]|0));t=Bl(c[n>>2]|0,14)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^c[o>>2]^c[q>>2])+0+(c[s+56>>2]|0));t=Bl(c[k>>2]|0,9)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^(c[p>>2]|~c[r>>2]))+1352829926+(c[s+12>>2]|0));t=Bl(c[l>>2]|0,12)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]^c[m>>2]^c[o>>2])+0+(c[s+60>>2]|0));t=Bl(c[h>>2]|0,8)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]^(c[n>>2]|~c[p>>2]))+1352829926+(c[s+48>>2]|0));t=Bl(c[j>>2]|0,6)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]&c[k>>2]|~c[h>>2]&c[m>>2])+1518500249+(c[s+28>>2]|0));t=Bl(c[q>>2]|0,7)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]&c[n>>2]|c[l>>2]&~c[n>>2])+1548603684+(c[s+24>>2]|0));t=Bl(c[r>>2]|0,9)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]&c[h>>2]|~c[q>>2]&c[k>>2])+1518500249+(c[s+16>>2]|0));t=Bl(c[o>>2]|0,6)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]&c[l>>2]|c[j>>2]&~c[l>>2])+1548603684+(c[s+44>>2]|0));t=Bl(c[p>>2]|0,13)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[q>>2]|~c[o>>2]&c[h>>2])+1518500249+(c[s+52>>2]|0));t=Bl(c[m>>2]|0,8)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[j>>2]|c[r>>2]&~c[j>>2])+1548603684+(c[s+12>>2]|0));t=Bl(c[n>>2]|0,15)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]&c[o>>2]|~c[m>>2]&c[q>>2])+1518500249+(c[s+4>>2]|0));t=Bl(c[k>>2]|0,13)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]&c[r>>2]|c[p>>2]&~c[r>>2])+1548603684+(c[s+28>>2]|0));t=Bl(c[l>>2]|0,7)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]&c[m>>2]|~c[k>>2]&c[o>>2])+1518500249+(c[s+40>>2]|0));t=Bl(c[h>>2]|0,11)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]&c[p>>2]|c[n>>2]&~c[p>>2])+1548603684+(c[s>>2]|0));t=Bl(c[j>>2]|0,12)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]&c[k>>2]|~c[h>>2]&c[m>>2])+1518500249+(c[s+24>>2]|0));t=Bl(c[q>>2]|0,9)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]&c[n>>2]|c[l>>2]&~c[n>>2])+1548603684+(c[s+52>>2]|0));t=Bl(c[r>>2]|0,8)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]&c[h>>2]|~c[q>>2]&c[k>>2])+1518500249+(c[s+60>>2]|0));t=Bl(c[o>>2]|0,7)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]&c[l>>2]|c[j>>2]&~c[l>>2])+1548603684+(c[s+20>>2]|0));t=Bl(c[p>>2]|0,9)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[q>>2]|~c[o>>2]&c[h>>2])+1518500249+(c[s+12>>2]|0));t=Bl(c[m>>2]|0,15)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[j>>2]|c[r>>2]&~c[j>>2])+1548603684+(c[s+40>>2]|0));t=Bl(c[n>>2]|0,11)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]&c[o>>2]|~c[m>>2]&c[q>>2])+1518500249+(c[s+48>>2]|0));t=Bl(c[k>>2]|0,7)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]&c[r>>2]|c[p>>2]&~c[r>>2])+1548603684+(c[s+56>>2]|0));t=Bl(c[l>>2]|0,7)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]&c[m>>2]|~c[k>>2]&c[o>>2])+1518500249+(c[s>>2]|0));t=Bl(c[h>>2]|0,12)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]&c[p>>2]|c[n>>2]&~c[p>>2])+1548603684+(c[s+60>>2]|0));t=Bl(c[j>>2]|0,7)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]&c[k>>2]|~c[h>>2]&c[m>>2])+1518500249+(c[s+36>>2]|0));t=Bl(c[q>>2]|0,15)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]&c[n>>2]|c[l>>2]&~c[n>>2])+1548603684+(c[s+32>>2]|0));t=Bl(c[r>>2]|0,12)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]&c[h>>2]|~c[q>>2]&c[k>>2])+1518500249+(c[s+20>>2]|0));t=Bl(c[o>>2]|0,9)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]&c[l>>2]|c[j>>2]&~c[l>>2])+1548603684+(c[s+48>>2]|0));t=Bl(c[p>>2]|0,7)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[q>>2]|~c[o>>2]&c[h>>2])+1518500249+(c[s+8>>2]|0));t=Bl(c[m>>2]|0,11)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[j>>2]|c[r>>2]&~c[j>>2])+1548603684+(c[s+16>>2]|0));t=Bl(c[n>>2]|0,6)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]&c[o>>2]|~c[m>>2]&c[q>>2])+1518500249+(c[s+56>>2]|0));t=Bl(c[k>>2]|0,7)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]&c[r>>2]|c[p>>2]&~c[r>>2])+1548603684+(c[s+36>>2]|0));t=Bl(c[l>>2]|0,15)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]&c[m>>2]|~c[k>>2]&c[o>>2])+1518500249+(c[s+44>>2]|0));t=Bl(c[h>>2]|0,13)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]&c[p>>2]|c[n>>2]&~c[p>>2])+1548603684+(c[s+4>>2]|0));t=Bl(c[j>>2]|0,13)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]&c[k>>2]|~c[h>>2]&c[m>>2])+1518500249+(c[s+32>>2]|0));t=Bl(c[q>>2]|0,12)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]&c[n>>2]|c[l>>2]&~c[n>>2])+1548603684+(c[s+8>>2]|0));t=Bl(c[r>>2]|0,11)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+(((c[q>>2]|~c[h>>2])^c[k>>2])+1859775393+(c[s+12>>2]|0));t=Bl(c[o>>2]|0,11)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+(((c[r>>2]|~c[j>>2])^c[l>>2])+1836072691+(c[s+60>>2]|0));t=Bl(c[p>>2]|0,9)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+(((c[o>>2]|~c[q>>2])^c[h>>2])+1859775393+(c[s+40>>2]|0));t=Bl(c[m>>2]|0,13)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+(((c[p>>2]|~c[r>>2])^c[j>>2])+1836072691+(c[s+20>>2]|0));t=Bl(c[n>>2]|0,7)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+(((c[m>>2]|~c[o>>2])^c[q>>2])+1859775393+(c[s+56>>2]|0));t=Bl(c[k>>2]|0,6)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+(((c[n>>2]|~c[p>>2])^c[r>>2])+1836072691+(c[s+4>>2]|0));t=Bl(c[l>>2]|0,15)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+(((c[k>>2]|~c[m>>2])^c[o>>2])+1859775393+(c[s+16>>2]|0));t=Bl(c[h>>2]|0,7)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+(((c[l>>2]|~c[n>>2])^c[p>>2])+1836072691+(c[s+12>>2]|0));t=Bl(c[j>>2]|0,11)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+(((c[h>>2]|~c[k>>2])^c[m>>2])+1859775393+(c[s+36>>2]|0));t=Bl(c[q>>2]|0,14)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+(((c[j>>2]|~c[l>>2])^c[n>>2])+1836072691+(c[s+28>>2]|0));t=Bl(c[r>>2]|0,8)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+(((c[q>>2]|~c[h>>2])^c[k>>2])+1859775393+(c[s+60>>2]|0));t=Bl(c[o>>2]|0,9)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+(((c[r>>2]|~c[j>>2])^c[l>>2])+1836072691+(c[s+56>>2]|0));t=Bl(c[p>>2]|0,6)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+(((c[o>>2]|~c[q>>2])^c[h>>2])+1859775393+(c[s+32>>2]|0));t=Bl(c[m>>2]|0,13)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+(((c[p>>2]|~c[r>>2])^c[j>>2])+1836072691+(c[s+24>>2]|0));t=Bl(c[n>>2]|0,6)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+(((c[m>>2]|~c[o>>2])^c[q>>2])+1859775393+(c[s+4>>2]|0));t=Bl(c[k>>2]|0,15)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+(((c[n>>2]|~c[p>>2])^c[r>>2])+1836072691+(c[s+36>>2]|0));t=Bl(c[l>>2]|0,14)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+(((c[k>>2]|~c[m>>2])^c[o>>2])+1859775393+(c[s+8>>2]|0));t=Bl(c[h>>2]|0,14)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+(((c[l>>2]|~c[n>>2])^c[p>>2])+1836072691+(c[s+44>>2]|0));t=Bl(c[j>>2]|0,12)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+(((c[h>>2]|~c[k>>2])^c[m>>2])+1859775393+(c[s+28>>2]|0));t=Bl(c[q>>2]|0,8)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+(((c[j>>2]|~c[l>>2])^c[n>>2])+1836072691+(c[s+32>>2]|0));t=Bl(c[r>>2]|0,13)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+(((c[q>>2]|~c[h>>2])^c[k>>2])+1859775393+(c[s>>2]|0));t=Bl(c[o>>2]|0,13)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+(((c[r>>2]|~c[j>>2])^c[l>>2])+1836072691+(c[s+48>>2]|0));t=Bl(c[p>>2]|0,5)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+(((c[o>>2]|~c[q>>2])^c[h>>2])+1859775393+(c[s+24>>2]|0));t=Bl(c[m>>2]|0,6)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+(((c[p>>2]|~c[r>>2])^c[j>>2])+1836072691+(c[s+8>>2]|0));t=Bl(c[n>>2]|0,14)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+(((c[m>>2]|~c[o>>2])^c[q>>2])+1859775393+(c[s+52>>2]|0));t=Bl(c[k>>2]|0,5)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+(((c[n>>2]|~c[p>>2])^c[r>>2])+1836072691+(c[s+40>>2]|0));t=Bl(c[l>>2]|0,13)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+(((c[k>>2]|~c[m>>2])^c[o>>2])+1859775393+(c[s+44>>2]|0));t=Bl(c[h>>2]|0,12)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+(((c[l>>2]|~c[n>>2])^c[p>>2])+1836072691+(c[s>>2]|0));t=Bl(c[j>>2]|0,13)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+(((c[h>>2]|~c[k>>2])^c[m>>2])+1859775393+(c[s+20>>2]|0));t=Bl(c[q>>2]|0,7)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+(((c[j>>2]|~c[l>>2])^c[n>>2])+1836072691+(c[s+16>>2]|0));t=Bl(c[r>>2]|0,7)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+(((c[q>>2]|~c[h>>2])^c[k>>2])+1859775393+(c[s+48>>2]|0));t=Bl(c[o>>2]|0,5)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+(((c[r>>2]|~c[j>>2])^c[l>>2])+1836072691+(c[s+52>>2]|0));t=Bl(c[p>>2]|0,5)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[h>>2]|c[q>>2]&~c[h>>2])+-1894007588+(c[s+4>>2]|0));t=Bl(c[m>>2]|0,11)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[r>>2]|~c[p>>2]&c[j>>2])+2053994217+(c[s+32>>2]|0));t=Bl(c[n>>2]|0,15)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]&c[q>>2]|c[o>>2]&~c[q>>2])+-1894007588+(c[s+36>>2]|0));t=Bl(c[k>>2]|0,12)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]&c[p>>2]|~c[n>>2]&c[r>>2])+2053994217+(c[s+24>>2]|0));t=Bl(c[l>>2]|0,5)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]&c[o>>2]|c[m>>2]&~c[o>>2])+-1894007588+(c[s+44>>2]|0));t=Bl(c[h>>2]|0,14)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]&c[n>>2]|~c[l>>2]&c[p>>2])+2053994217+(c[s+16>>2]|0));t=Bl(c[j>>2]|0,8)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]&c[m>>2]|c[k>>2]&~c[m>>2])+-1894007588+(c[s+40>>2]|0));t=Bl(c[q>>2]|0,15)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]&c[l>>2]|~c[j>>2]&c[n>>2])+2053994217+(c[s+4>>2]|0));t=Bl(c[r>>2]|0,11)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]&c[k>>2]|c[h>>2]&~c[k>>2])+-1894007588+(c[s>>2]|0));t=Bl(c[o>>2]|0,14)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]&c[j>>2]|~c[r>>2]&c[l>>2])+2053994217+(c[s+12>>2]|0));t=Bl(c[p>>2]|0,14)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[h>>2]|c[q>>2]&~c[h>>2])+-1894007588+(c[s+32>>2]|0));t=Bl(c[m>>2]|0,15)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[r>>2]|~c[p>>2]&c[j>>2])+2053994217+(c[s+44>>2]|0));t=Bl(c[n>>2]|0,14)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]&c[q>>2]|c[o>>2]&~c[q>>2])+-1894007588+(c[s+48>>2]|0));t=Bl(c[k>>2]|0,9)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]&c[p>>2]|~c[n>>2]&c[r>>2])+2053994217+(c[s+60>>2]|0));t=Bl(c[l>>2]|0,6)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]&c[o>>2]|c[m>>2]&~c[o>>2])+-1894007588+(c[s+16>>2]|0));t=Bl(c[h>>2]|0,8)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]&c[n>>2]|~c[l>>2]&c[p>>2])+2053994217+(c[s>>2]|0));t=Bl(c[j>>2]|0,14)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]&c[m>>2]|c[k>>2]&~c[m>>2])+-1894007588+(c[s+52>>2]|0));t=Bl(c[q>>2]|0,9)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]&c[l>>2]|~c[j>>2]&c[n>>2])+2053994217+(c[s+20>>2]|0));t=Bl(c[r>>2]|0,6)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]&c[k>>2]|c[h>>2]&~c[k>>2])+-1894007588+(c[s+12>>2]|0));t=Bl(c[o>>2]|0,14)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]&c[j>>2]|~c[r>>2]&c[l>>2])+2053994217+(c[s+48>>2]|0));t=Bl(c[p>>2]|0,9)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[h>>2]|c[q>>2]&~c[h>>2])+-1894007588+(c[s+28>>2]|0));t=Bl(c[m>>2]|0,5)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[r>>2]|~c[p>>2]&c[j>>2])+2053994217+(c[s+8>>2]|0));t=Bl(c[n>>2]|0,12)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]&c[q>>2]|c[o>>2]&~c[q>>2])+-1894007588+(c[s+60>>2]|0));t=Bl(c[k>>2]|0,6)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]&c[p>>2]|~c[n>>2]&c[r>>2])+2053994217+(c[s+52>>2]|0));t=Bl(c[l>>2]|0,9)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]&c[o>>2]|c[m>>2]&~c[o>>2])+-1894007588+(c[s+56>>2]|0));t=Bl(c[h>>2]|0,8)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]&c[n>>2]|~c[l>>2]&c[p>>2])+2053994217+(c[s+36>>2]|0));t=Bl(c[j>>2]|0,12)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]&c[m>>2]|c[k>>2]&~c[m>>2])+-1894007588+(c[s+20>>2]|0));t=Bl(c[q>>2]|0,6)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]&c[l>>2]|~c[j>>2]&c[n>>2])+2053994217+(c[s+28>>2]|0));t=Bl(c[r>>2]|0,5)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]&c[k>>2]|c[h>>2]&~c[k>>2])+-1894007588+(c[s+24>>2]|0));t=Bl(c[o>>2]|0,5)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]&c[j>>2]|~c[r>>2]&c[l>>2])+2053994217+(c[s+40>>2]|0));t=Bl(c[p>>2]|0,15)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[h>>2]|c[q>>2]&~c[h>>2])+-1894007588+(c[s+8>>2]|0));t=Bl(c[m>>2]|0,12)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[r>>2]|~c[p>>2]&c[j>>2])+2053994217+(c[s+56>>2]|0));t=Bl(c[n>>2]|0,8)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^(c[o>>2]|~c[q>>2]))+-1454113458+(c[s+16>>2]|0));t=Bl(c[k>>2]|0,9)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^c[p>>2]^c[r>>2])+0+(c[s+48>>2]|0));t=Bl(c[l>>2]|0,8)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]^(c[m>>2]|~c[o>>2]))+-1454113458+(c[s>>2]|0));t=Bl(c[h>>2]|0,15)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]^c[n>>2]^c[p>>2])+0+(c[s+60>>2]|0));t=Bl(c[j>>2]|0,5)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]^(c[k>>2]|~c[m>>2]))+-1454113458+(c[s+20>>2]|0));t=Bl(c[q>>2]|0,5)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]^c[l>>2]^c[n>>2])+0+(c[s+40>>2]|0));t=Bl(c[r>>2]|0,12)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]^(c[h>>2]|~c[k>>2]))+-1454113458+(c[s+36>>2]|0));t=Bl(c[o>>2]|0,11)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]^c[j>>2]^c[l>>2])+0+(c[s+16>>2]|0));t=Bl(c[p>>2]|0,9)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]^(c[q>>2]|~c[h>>2]))+-1454113458+(c[s+28>>2]|0));t=Bl(c[m>>2]|0,6)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]^c[r>>2]^c[j>>2])+0+(c[s+4>>2]|0));t=Bl(c[n>>2]|0,12)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^(c[o>>2]|~c[q>>2]))+-1454113458+(c[s+48>>2]|0));t=Bl(c[k>>2]|0,8)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^c[p>>2]^c[r>>2])+0+(c[s+20>>2]|0));t=Bl(c[l>>2]|0,5)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]^(c[m>>2]|~c[o>>2]))+-1454113458+(c[s+8>>2]|0));t=Bl(c[h>>2]|0,13)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]^c[n>>2]^c[p>>2])+0+(c[s+32>>2]|0));t=Bl(c[j>>2]|0,14)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]^(c[k>>2]|~c[m>>2]))+-1454113458+(c[s+40>>2]|0));t=Bl(c[q>>2]|0,12)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]^c[l>>2]^c[n>>2])+0+(c[s+28>>2]|0));t=Bl(c[r>>2]|0,6)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]^(c[h>>2]|~c[k>>2]))+-1454113458+(c[s+56>>2]|0));t=Bl(c[o>>2]|0,5)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]^c[j>>2]^c[l>>2])+0+(c[s+24>>2]|0));t=Bl(c[p>>2]|0,8)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]^(c[q>>2]|~c[h>>2]))+-1454113458+(c[s+4>>2]|0));t=Bl(c[m>>2]|0,12)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]^c[r>>2]^c[j>>2])+0+(c[s+8>>2]|0));t=Bl(c[n>>2]|0,13)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^(c[o>>2]|~c[q>>2]))+-1454113458+(c[s+12>>2]|0));t=Bl(c[k>>2]|0,13)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^c[p>>2]^c[r>>2])+0+(c[s+52>>2]|0));t=Bl(c[l>>2]|0,6)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]^(c[m>>2]|~c[o>>2]))+-1454113458+(c[s+32>>2]|0));t=Bl(c[h>>2]|0,14)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]^c[n>>2]^c[p>>2])+0+(c[s+56>>2]|0));t=Bl(c[j>>2]|0,5)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]^(c[k>>2]|~c[m>>2]))+-1454113458+(c[s+44>>2]|0));t=Bl(c[q>>2]|0,11)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]^c[l>>2]^c[n>>2])+0+(c[s>>2]|0));t=Bl(c[r>>2]|0,15)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]^(c[h>>2]|~c[k>>2]))+-1454113458+(c[s+24>>2]|0));t=Bl(c[o>>2]|0,8)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]^c[j>>2]^c[l>>2])+0+(c[s+12>>2]|0));t=Bl(c[p>>2]|0,13)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]^(c[q>>2]|~c[h>>2]))+-1454113458+(c[s+60>>2]|0));t=Bl(c[m>>2]|0,5)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]^c[r>>2]^c[j>>2])+0+(c[s+36>>2]|0));t=Bl(c[n>>2]|0,11)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^(c[o>>2]|~c[q>>2]))+-1454113458+(c[s+52>>2]|0));t=Bl(c[k>>2]|0,6)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^c[p>>2]^c[r>>2])+0+(c[s+44>>2]|0));s=Bl(c[l>>2]|0,11)|0;c[l>>2]=s+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[m>>2]|0)+(c[(c[g>>2]|0)+164>>2]|0));c[(c[g>>2]|0)+164>>2]=(c[(c[g>>2]|0)+168>>2]|0)+(c[o>>2]|0)+(c[r>>2]|0);c[(c[g>>2]|0)+168>>2]=(c[(c[g>>2]|0)+172>>2]|0)+(c[q>>2]|0)+(c[j>>2]|0);c[(c[g>>2]|0)+172>>2]=(c[(c[g>>2]|0)+176>>2]|0)+(c[h>>2]|0)+(c[l>>2]|0);c[(c[g>>2]|0)+176>>2]=(c[(c[g>>2]|0)+160>>2]|0)+(c[k>>2]|0)+(c[n>>2]|0);c[(c[g>>2]|0)+160>>2]=c[p>>2];i=d;return 124}function Al(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];i=b;return (d[(c[f>>2]|0)+3>>0]|0)<<24|(d[(c[f>>2]|0)+2>>0]|0)<<16|(d[(c[f>>2]|0)+1>>0]|0)<<8|(d[c[f>>2]>>0]|0)|0}function Bl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;i=d;return c[e>>2]<<(c[f>>2]&31)|(c[e>>2]|0)>>>(32-(c[f>>2]|0)&31)|0}function Cl(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;d=i;i=i+32|0;e=d+28|0;f=d+24|0;g=d+20|0;h=d+16|0;j=d+12|0;k=d+8|0;l=d+4|0;m=d;c[e>>2]=b;c[f>>2]=c[e>>2];rs(c[f>>2]|0,0,0);c[g>>2]=c[(c[f>>2]|0)+128>>2];c[h>>2]=c[(c[f>>2]|0)+128+4>>2];c[k>>2]=c[g>>2]<<6;c[j>>2]=c[h>>2]<<6|(c[g>>2]|0)>>>26;c[g>>2]=c[k>>2];h=(c[k>>2]|0)+(c[(c[f>>2]|0)+144>>2]|0)|0;c[k>>2]=h;if(h>>>0<(c[g>>2]|0)>>>0)c[j>>2]=(c[j>>2]|0)+1;c[g>>2]=c[k>>2];c[k>>2]=c[k>>2]<<3;c[j>>2]=c[j>>2]<<3;c[j>>2]=c[j>>2]|(c[g>>2]|0)>>>29;g=(c[(c[f>>2]|0)+144>>2]|0)<56;h=(c[f>>2]|0)+144|0;e=c[h>>2]|0;c[h>>2]=e+1;a[(c[f>>2]|0)+e>>0]=-128;a:do if(g)while(1){if((c[(c[f>>2]|0)+144>>2]|0)>=56)break a;e=(c[f>>2]|0)+144|0;h=c[e>>2]|0;c[e>>2]=h+1;a[(c[f>>2]|0)+h>>0]=0}else{while(1){n=c[f>>2]|0;if((c[(c[f>>2]|0)+144>>2]|0)>=64)break;h=n+144|0;e=c[h>>2]|0;c[h>>2]=e+1;a[(c[f>>2]|0)+e>>0]=0}rs(n,0,0);e=c[f>>2]|0;h=e+56|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0))}while(0);Dl((c[f>>2]|0)+56|0,c[k>>2]|0);Dl((c[f>>2]|0)+60|0,c[j>>2]|0);c[m>>2]=yl(c[f>>2]|0,c[f>>2]|0,1)|0;If(c[m>>2]|0);Jf();c[l>>2]=c[f>>2];Dl(c[l>>2]|0,c[(c[f>>2]|0)+160>>2]|0);c[l>>2]=(c[l>>2]|0)+4;Dl(c[l>>2]|0,c[(c[f>>2]|0)+164>>2]|0);c[l>>2]=(c[l>>2]|0)+4;Dl(c[l>>2]|0,c[(c[f>>2]|0)+168>>2]|0);c[l>>2]=(c[l>>2]|0)+4;Dl(c[l>>2]|0,c[(c[f>>2]|0)+172>>2]|0);c[l>>2]=(c[l>>2]|0)+4;Dl(c[l>>2]|0,c[(c[f>>2]|0)+176>>2]|0);c[l>>2]=(c[l>>2]|0)+4;i=d;return}function Dl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];a[(c[h>>2]|0)+3>>0]=(c[g>>2]|0)>>>24;a[(c[h>>2]|0)+2>>0]=(c[g>>2]|0)>>>16;a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)>>>8;a[c[h>>2]>>0]=c[g>>2];i=e;return}function El(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];i=b;return c[e>>2]|0}function Fl(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;xl(c[d>>2]|0,0);i=b;return}function Gl(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+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[f>>2];yl(c[e>>2]|0,c[f>>2]|0,1)|0;c[c[g>>2]>>2]=c[(c[e>>2]|0)+160>>2];c[(c[g>>2]|0)+4>>2]=c[(c[e>>2]|0)+164>>2];c[(c[g>>2]|0)+8>>2]=c[(c[e>>2]|0)+168>>2];c[(c[g>>2]|0)+12>>2]=c[(c[e>>2]|0)+172>>2];c[(c[g>>2]|0)+16>>2]=c[(c[e>>2]|0)+176>>2];i=d;return}function Hl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+208|0;g=f+192|0;h=f+188|0;j=f+184|0;k=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;Fl(k);rs(k,c[h>>2]|0,c[j>>2]|0);Cl(k);j=c[g>>2]|0;g=k;k=j+20|0;do{a[j>>0]=a[g>>0]|0;j=j+1|0;g=g+1|0}while((j|0)<(k|0));i=f;return}function Il(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;j=i;i=i+80|0;k=j+64|0;l=j+60|0;m=j+56|0;n=j+52|0;o=j+48|0;p=j+44|0;q=j+40|0;r=j+36|0;s=j+32|0;t=j+28|0;u=j+24|0;v=j+20|0;w=j+16|0;x=j+12|0;y=j+8|0;z=j+4|0;A=j;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=0;c[s>>2]=0;c[t>>2]=(((c[m>>2]|0)+7|0)>>>0)/8|0;if(!(c[t>>2]|0?((c[o>>2]|0)+7|0)>>>0<=(c[t>>2]|0)>>>0:0)){c[k>>2]=66;B=c[k>>2]|0;i=j;return B|0}m=Yf(c[t>>2]|0)|0;c[s>>2]=m;if(!m){c[k>>2]=iu()|0;B=c[k>>2]|0;i=j;return B|0}c[v>>2]=0;m=c[v>>2]|0;c[v>>2]=m+1;a[(c[s>>2]|0)+m>>0]=0;m=c[v>>2]|0;c[v>>2]=m+1;a[(c[s>>2]|0)+m>>0]=2;c[u>>2]=(c[t>>2]|0)-3-(c[o>>2]|0);if((c[u>>2]|0)<=0)xf(38940,38946,95,38959);do if(c[p>>2]|0){if((c[q>>2]|0)!=(c[u>>2]|0)){$f(c[s>>2]|0);c[k>>2]=45;B=c[k>>2]|0;i=j;return B|0}c[x>>2]=0;while(1){if((c[x>>2]|0)>>>0>=(c[q>>2]|0)>>>0){C=15;break}if(!(a[(c[p>>2]|0)+(c[x>>2]|0)>>0]|0))break;c[x>>2]=(c[x>>2]|0)+1}if((C|0)==15){Dx((c[s>>2]|0)+(c[v>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;c[v>>2]=(c[v>>2]|0)+(c[q>>2]|0);break}$f(c[s>>2]|0);c[k>>2]=45;B=c[k>>2]|0;i=j;return B|0}else{c[w>>2]=On(c[u>>2]|0,1)|0;while(1){c[z>>2]=0;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[u>>2]|0))break;if(!(a[(c[w>>2]|0)+(c[y>>2]|0)>>0]|0))c[z>>2]=(c[z>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}if(!(c[z>>2]|0))break;c[z>>2]=(c[z>>2]|0)+(((c[z>>2]|0)/128|0)+3);c[A>>2]=On(c[z>>2]|0,1)|0;c[y>>2]=0;while(1){if(!((c[y>>2]|0)<(c[u>>2]|0)?(c[z>>2]|0)!=0:0))break;if(!(a[(c[w>>2]|0)+(c[y>>2]|0)>>0]|0)){m=(c[z>>2]|0)+-1|0;c[z>>2]=m;a[(c[w>>2]|0)+(c[y>>2]|0)>>0]=a[(c[A>>2]|0)+m>>0]|0}if(!(a[(c[w>>2]|0)+(c[y>>2]|0)>>0]|0))continue;c[y>>2]=(c[y>>2]|0)+1}$f(c[A>>2]|0)}Dx((c[s>>2]|0)+(c[v>>2]|0)|0,c[w>>2]|0,c[u>>2]|0)|0;c[v>>2]=(c[v>>2]|0)+(c[u>>2]|0);$f(c[w>>2]|0)}while(0);w=c[v>>2]|0;c[v>>2]=w+1;a[(c[s>>2]|0)+w>>0]=0;Dx((c[s>>2]|0)+(c[v>>2]|0)|0,c[n>>2]|0,c[o>>2]|0)|0;c[v>>2]=(c[v>>2]|0)+(c[o>>2]|0);if((c[v>>2]|0)!=(c[t>>2]|0))xf(38990,38946,153,38959);c[r>>2]=Dp(c[l>>2]|0,5,c[s>>2]|0,c[v>>2]|0,t)|0;if((c[r>>2]|0)==0?jg(1)|0:0)Hf(39002,c[c[l>>2]>>2]|0);$f(c[s>>2]|0);c[k>>2]=c[r>>2];B=c[k>>2]|0;i=j;return B|0}function Jl(b,e,f,g){b=b|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+48|0;j=h+32|0;k=h+28|0;l=h+24|0;m=h+20|0;n=h+16|0;o=h+12|0;p=h+8|0;q=h+4|0;r=h;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=0;c[q>>2]=(((c[m>>2]|0)+7|0)>>>0)/8|0;c[c[k>>2]>>2]=0;m=Yf(c[q>>2]|0)|0;c[p>>2]=m;if(!m){c[j>>2]=iu()|0;s=c[j>>2]|0;i=h;return s|0}c[o>>2]=Hp(5,c[p>>2]|0,c[q>>2]|0,r,c[n>>2]|0)|0;if(c[o>>2]|0){$f(c[p>>2]|0);c[j>>2]=Kl(c[o>>2]|0)|0;s=c[j>>2]|0;i=h;return s|0}c[q>>2]=c[r>>2];if((c[q>>2]|0)>>>0<4){$f(c[p>>2]|0);c[j>>2]=155;s=c[j>>2]|0;i=h;return s|0}c[r>>2]=0;if(!(a[c[p>>2]>>0]|0))c[r>>2]=(c[r>>2]|0)+1;o=c[r>>2]|0;c[r>>2]=o+1;if((d[(c[p>>2]|0)+o>>0]|0)!=2){$f(c[p>>2]|0);c[j>>2]=155;s=c[j>>2]|0;i=h;return s|0}while(1){if((c[r>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;if(!(d[(c[p>>2]|0)+(c[r>>2]|0)>>0]|0))break;c[r>>2]=(c[r>>2]|0)+1}if(((c[r>>2]|0)+1|0)>>>0>=(c[q>>2]|0)>>>0){$f(c[p>>2]|0);c[j>>2]=155;s=c[j>>2]|0;i=h;return s|0}c[r>>2]=(c[r>>2]|0)+1;Ex(c[p>>2]|0,(c[p>>2]|0)+(c[r>>2]|0)|0,(c[q>>2]|0)-(c[r>>2]|0)|0)|0;c[c[k>>2]>>2]=c[p>>2];c[c[l>>2]>>2]=(c[q>>2]|0)-(c[r>>2]|0);if(jg(1)|0)Ff(39035,c[c[k>>2]>>2]|0,c[c[l>>2]>>2]|0);c[j>>2]=0;s=c[j>>2]|0;i=h;return s|0}function Kl(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ll(c[d>>2]|0)|0;i=b;return a|0}function Ll(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;i=b;return c[d>>2]&65535|0}function Ml(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;h=i;i=i+160|0;j=h+48|0;k=h+44|0;l=h+40|0;m=h+36|0;n=h+32|0;o=h+28|0;p=h+24|0;q=h+52|0;r=h+20|0;s=h+16|0;t=h+12|0;u=h+8|0;v=h+4|0;w=h;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=0;c[r>>2]=0;c[s>>2]=(((c[l>>2]|0)+7|0)>>>0)/8|0;c[v>>2]=100;c[w>>2]=Uj(c[o>>2]|0)|0;if(Vj(c[o>>2]|0,10,q,v)|0){c[j>>2]=69;x=c[j>>2]|0;i=h;return x|0}if((c[n>>2]|0)!=(c[w>>2]|0)){c[j>>2]=70;x=c[j>>2]|0;i=h;return x|0}if(c[w>>2]|0?((c[w>>2]|0)+(c[v>>2]|0)+4|0)>>>0<=(c[s>>2]|0)>>>0:0){w=Vf(c[s>>2]|0)|0;c[r>>2]=w;if(!w){c[j>>2]=iu()|0;x=c[j>>2]|0;i=h;return x|0}c[u>>2]=0;w=c[u>>2]|0;c[u>>2]=w+1;a[(c[r>>2]|0)+w>>0]=0;w=c[u>>2]|0;c[u>>2]=w+1;a[(c[r>>2]|0)+w>>0]=1;c[t>>2]=(c[s>>2]|0)-(c[n>>2]|0)-(c[v>>2]|0)-3;if((c[t>>2]|0)<=1)xf(39089,38946,303,39095);Fx((c[r>>2]|0)+(c[u>>2]|0)|0,-1,c[t>>2]|0)|0;c[u>>2]=(c[u>>2]|0)+(c[t>>2]|0);t=c[u>>2]|0;c[u>>2]=t+1;a[(c[r>>2]|0)+t>>0]=0;Dx((c[r>>2]|0)+(c[u>>2]|0)|0,q|0,c[v>>2]|0)|0;c[u>>2]=(c[u>>2]|0)+(c[v>>2]|0);Dx((c[r>>2]|0)+(c[u>>2]|0)|0,c[m>>2]|0,c[n>>2]|0)|0;c[u>>2]=(c[u>>2]|0)+(c[n>>2]|0);if((c[u>>2]|0)!=(c[s>>2]|0))xf(38990,38946,311,39095);c[p>>2]=Dp(c[k>>2]|0,5,c[r>>2]|0,c[u>>2]|0,s)|0;if((c[p>>2]|0)==0?jg(1)|0:0)Hf(39126,c[c[k>>2]>>2]|0);$f(c[r>>2]|0);c[j>>2]=c[p>>2];x=c[j>>2]|0;i=h;return x|0}c[j>>2]=66;x=c[j>>2]|0;i=h;return x|0}function Nl(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+48|0;h=g+40|0;j=g+36|0;k=g+32|0;l=g+28|0;m=g+24|0;n=g+20|0;o=g+16|0;p=g+12|0;q=g+8|0;r=g+4|0;s=g;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=0;c[p>>2]=0;c[q>>2]=(((c[k>>2]|0)+7|0)>>>0)/8|0;if(c[m>>2]|0?((c[m>>2]|0)+4|0)>>>0<=(c[q>>2]|0)>>>0:0){k=Vf(c[q>>2]|0)|0;c[p>>2]=k;if(!k){c[h>>2]=iu()|0;t=c[h>>2]|0;i=g;return t|0}c[s>>2]=0;k=c[s>>2]|0;c[s>>2]=k+1;a[(c[p>>2]|0)+k>>0]=0;k=c[s>>2]|0;c[s>>2]=k+1;a[(c[p>>2]|0)+k>>0]=1;c[r>>2]=(c[q>>2]|0)-(c[m>>2]|0)-3;if((c[r>>2]|0)<=1)xf(39089,38946,368,39159);Fx((c[p>>2]|0)+(c[s>>2]|0)|0,-1,c[r>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);r=c[s>>2]|0;c[s>>2]=r+1;a[(c[p>>2]|0)+r>>0]=0;Dx((c[p>>2]|0)+(c[s>>2]|0)|0,c[l>>2]|0,c[m>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[m>>2]|0);if((c[s>>2]|0)!=(c[q>>2]|0))xf(38990,38946,374,39159);c[o>>2]=Dp(c[j>>2]|0,5,c[p>>2]|0,c[s>>2]|0,q)|0;if(!(c[o>>2]|0)){if(jg(1)|0)Hf(39126,c[c[j>>2]>>2]|0)}else c[n>>2]=Kl(c[o>>2]|0)|0;$f(c[p>>2]|0);c[h>>2]=c[n>>2];t=c[h>>2]|0;i=g;return t|0}c[h>>2]=66;t=c[h>>2]|0;i=g;return t|0}function Ol(b,e,f,g,h,j,k,l,m){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;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;n=i;i=i+80|0;o=n+68|0;p=n+64|0;q=n+60|0;r=n+56|0;s=n+52|0;t=n+48|0;u=n+44|0;v=n+40|0;w=n+36|0;x=n+32|0;y=n+28|0;z=n+24|0;A=n+20|0;B=n+16|0;C=n+12|0;D=n+8|0;E=n+4|0;F=n;c[p>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[w>>2]=l;c[x>>2]=m;c[y>>2]=0;c[z>>2]=0;c[A>>2]=(((c[q>>2]|0)+7|0)>>>0)/8|0;c[c[p>>2]>>2]=0;if(!((c[u>>2]|0)!=0&(c[v>>2]|0)!=0)){c[u>>2]=76527;c[v>>2]=0}c[C>>2]=Uj(c[r>>2]|0)|0;if(!(c[A>>2]|0?(c[t>>2]|0)>>>0<=((c[A>>2]|0)-(c[C>>2]<<1)-2|0)>>>0:0)){c[o>>2]=66;G=c[o>>2]|0;i=n;return G|0}c[z>>2]=bg(1,c[A>>2]|0)|0;if(!(c[z>>2]|0)){c[o>>2]=iu()|0;G=c[o>>2]|0;i=n;return G|0}Nj(c[r>>2]|0,(c[z>>2]|0)+1+(c[C>>2]|0)|0,c[u>>2]|0,c[v>>2]|0);c[D>>2]=(c[A>>2]|0)-(c[t>>2]|0)-1;a[(c[z>>2]|0)+(c[D>>2]|0)>>0]=1;Dx((c[z>>2]|0)+(c[D>>2]|0)+1|0,c[s>>2]|0,c[t>>2]|0)|0;do if(c[w>>2]|0){t=c[z>>2]|0;if((c[x>>2]|0)==(c[C>>2]|0)){Dx(t+1|0,c[w>>2]|0,c[C>>2]|0)|0;break}$f(t);c[o>>2]=45;G=c[o>>2]|0;i=n;return G|0}else Pn((c[z>>2]|0)+1|0,c[C>>2]|0,1);while(0);c[E>>2]=Yf((c[A>>2]|0)-(c[C>>2]|0)-1|0)|0;if(!(c[E>>2]|0)){c[y>>2]=iu()|0;$f(c[z>>2]|0);c[o>>2]=c[y>>2];G=c[o>>2]|0;i=n;return G|0}c[y>>2]=Pl(c[E>>2]|0,(c[A>>2]|0)-(c[C>>2]|0)-1|0,(c[z>>2]|0)+1|0,c[C>>2]|0,c[r>>2]|0)|0;if(c[y>>2]|0){$f(c[E>>2]|0);$f(c[z>>2]|0);c[o>>2]=c[y>>2];G=c[o>>2]|0;i=n;return G|0}c[D>>2]=1+(c[C>>2]|0);c[B>>2]=c[E>>2];while(1){if((c[D>>2]|0)>>>0>=(c[A>>2]|0)>>>0)break;w=c[B>>2]|0;c[B>>2]=w+1;x=(c[z>>2]|0)+(c[D>>2]|0)|0;a[x>>0]=(d[x>>0]|0)^(d[w>>0]|0);c[D>>2]=(c[D>>2]|0)+1}$f(c[E>>2]|0);c[F>>2]=Yf(c[C>>2]|0)|0;if(!(c[F>>2]|0)){c[y>>2]=iu()|0;$f(c[z>>2]|0);c[o>>2]=c[y>>2];G=c[o>>2]|0;i=n;return G|0}c[y>>2]=Pl(c[F>>2]|0,c[C>>2]|0,(c[z>>2]|0)+1+(c[C>>2]|0)|0,(c[A>>2]|0)-(c[C>>2]|0)-1|0,c[r>>2]|0)|0;if(c[y>>2]|0){$f(c[F>>2]|0);$f(c[z>>2]|0);c[o>>2]=c[y>>2];G=c[o>>2]|0;i=n;return G|0}c[D>>2]=1;c[B>>2]=c[F>>2];while(1){if((c[D>>2]|0)>>>0>=(1+(c[C>>2]|0)|0)>>>0)break;r=c[B>>2]|0;c[B>>2]=r+1;E=(c[z>>2]|0)+(c[D>>2]|0)|0;a[E>>0]=(d[E>>0]|0)^(d[r>>0]|0);c[D>>2]=(c[D>>2]|0)+1}$f(c[F>>2]|0);c[y>>2]=Dp(c[p>>2]|0,5,c[z>>2]|0,c[A>>2]|0,0)|0;if((c[y>>2]|0)==0?jg(1)|0:0)Hf(39194,c[c[p>>2]>>2]|0);$f(c[z>>2]|0);c[o>>2]=c[y>>2];G=c[o>>2]|0;i=n;return G|0}function Pl(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;h=i;i=i+64|0;j=h+48|0;k=h+44|0;l=h+40|0;m=h+36|0;n=h+32|0;o=h+28|0;p=h+24|0;q=h+20|0;r=h+16|0;s=h+12|0;t=h+8|0;u=h+4|0;v=h+52|0;w=h;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[u>>2]=wj(t,c[o>>2]|0,0)|0;if(c[u>>2]|0){c[j>>2]=c[u>>2];x=c[j>>2]|0;i=h;return x|0}c[p>>2]=Uj(c[o>>2]|0)|0;c[q>>2]=0;c[s>>2]=0;while(1){if((c[q>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;if(c[s>>2]|0)Dj(c[t>>2]|0);a[v>>0]=c[s>>2]>>24;a[v+1>>0]=c[s>>2]>>16;a[v+2>>0]=c[s>>2]>>8;a[v+3>>0]=c[s>>2];c[s>>2]=(c[s>>2]|0)+1;Fj(c[t>>2]|0,c[m>>2]|0,c[n>>2]|0);Fj(c[t>>2]|0,v,4);c[w>>2]=Rj(c[t>>2]|0,0)|0;if(((c[l>>2]|0)-(c[q>>2]|0)|0)>>>0<(c[p>>2]|0)>>>0)y=(c[l>>2]|0)-(c[q>>2]|0)|0;else y=c[p>>2]|0;c[r>>2]=y;Dx((c[k>>2]|0)+(c[q>>2]|0)|0,c[w>>2]|0,c[r>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0)}Ej(c[t>>2]|0);c[j>>2]=0;x=c[j>>2]|0;i=h;return x|0}function Ql(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;l=i;i=i+96|0;m=l+80|0;n=l+76|0;o=l+72|0;p=l+68|0;q=l+64|0;r=l+60|0;s=l+56|0;t=l+52|0;u=l+48|0;v=l+44|0;w=l+40|0;x=l+36|0;y=l+32|0;z=l+28|0;A=l+24|0;B=l+20|0;C=l+16|0;D=l+12|0;E=l+8|0;F=l+4|0;G=l;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[v>>2]=0;c[y>>2]=0;c[A>>2]=0;c[E>>2]=(((c[p>>2]|0)+7|0)>>>0)/8|0;c[F>>2]=0;c[c[n>>2]>>2]=0;if(!((c[s>>2]|0)!=0&(c[t>>2]|0)!=0)){c[s>>2]=76527;c[t>>2]=0}c[C>>2]=Uj(c[q>>2]|0)|0;c[A>>2]=Vf(c[C>>2]|0)|0;if(!(c[A>>2]|0)){c[m>>2]=iu()|0;H=c[m>>2]|0;i=l;return H|0}Nj(c[q>>2]|0,c[A>>2]|0,c[s>>2]|0,c[t>>2]|0);c[u>>2]=Rl(v,0,c[r>>2]|0,c[E>>2]|0)|0;if(c[u>>2]|0){$f(c[A>>2]|0);c[m>>2]=155;H=c[m>>2]|0;i=l;return H|0}c[B>>2]=c[E>>2];if((c[B>>2]|0)>>>0<((c[C>>2]<<1)+2|0)>>>0){$f(c[v>>2]|0);$f(c[A>>2]|0);c[m>>2]=155;H=c[m>>2]|0;i=l;return H|0}c[y>>2]=Yf((c[B>>2]|0)-1|0)|0;if(!(c[y>>2]|0)){c[u>>2]=iu()|0;$f(c[v>>2]|0);$f(c[A>>2]|0);c[m>>2]=c[u>>2];H=c[m>>2]|0;i=l;return H|0}c[z>>2]=(c[y>>2]|0)+(c[C>>2]|0);c[w>>2]=(c[v>>2]|0)+1;c[x>>2]=(c[v>>2]|0)+1+(c[C>>2]|0);c[D>>2]=(c[B>>2]|0)-1-(c[C>>2]|0);if(Pl(c[y>>2]|0,c[C>>2]|0,c[x>>2]|0,c[D>>2]|0,c[q>>2]|0)|0)c[F>>2]=1;c[G>>2]=0;while(1){if((c[G>>2]|0)>>>0>=(c[C>>2]|0)>>>0)break;B=(c[y>>2]|0)+(c[G>>2]|0)|0;a[B>>0]=d[B>>0]^d[(c[w>>2]|0)+(c[G>>2]|0)>>0];c[G>>2]=(c[G>>2]|0)+1}if(Pl(c[z>>2]|0,c[D>>2]|0,c[y>>2]|0,c[C>>2]|0,c[q>>2]|0)|0)c[F>>2]=1;c[G>>2]=0;while(1){if((c[G>>2]|0)>>>0>=(c[D>>2]|0)>>>0)break;q=(c[z>>2]|0)+(c[G>>2]|0)|0;a[q>>0]=d[q>>0]^d[(c[x>>2]|0)+(c[G>>2]|0)>>0];c[G>>2]=(c[G>>2]|0)+1}if(mw(c[A>>2]|0,c[z>>2]|0,c[C>>2]|0)|0)c[F>>2]=1;c[G>>2]=c[C>>2];while(1){if((c[G>>2]|0)>>>0>=(c[D>>2]|0)>>>0)break;if((d[(c[z>>2]|0)+(c[G>>2]|0)>>0]|0)==1)break;c[G>>2]=(c[G>>2]|0)+1}if((c[G>>2]|0)==(c[D>>2]|0))c[F>>2]=1;if(a[c[v>>2]>>0]|0)c[F>>2]=1;$f(c[A>>2]|0);$f(c[v>>2]|0);if(c[F>>2]|0){$f(c[y>>2]|0);c[m>>2]=155;H=c[m>>2]|0;i=l;return H|0}c[G>>2]=(c[G>>2]|0)+1;Ex(c[y>>2]|0,(c[z>>2]|0)+(c[G>>2]|0)|0,(c[D>>2]|0)-(c[G>>2]|0)|0)|0;c[c[n>>2]>>2]=c[y>>2];c[c[o>>2]>>2]=(c[D>>2]|0)-(c[G>>2]|0);c[y>>2]=0;if(jg(1)|0)Ff(39212,c[c[n>>2]>>2]|0,c[c[o>>2]>>2]|0);c[m>>2]=0;H=c[m>>2]|0;i=l;return H|0}function Rl(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;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=Jp(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;i=f;return e|0}function Sl(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|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,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;m=i;i=i+128|0;n=m+116|0;o=m+112|0;p=m+108|0;q=m+104|0;r=m+100|0;s=m+96|0;t=m+92|0;u=m+88|0;v=m+84|0;w=m+80|0;x=m+76|0;y=m+72|0;z=m+68|0;A=m+64|0;B=m+60|0;D=m+56|0;E=m+52|0;F=m+48|0;G=m+44|0;H=m+40|0;I=m+36|0;J=m+32|0;K=m+121|0;L=m+8|0;M=m+28|0;N=m+24|0;O=m+20|0;P=m+120|0;Q=m;R=m+16|0;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=0;c[x>>2]=0;c[y>>2]=(((c[o>>2]|0)+7|0)>>>0)/8|0;c[A>>2]=0;c[w>>2]=Uj(c[p>>2]|0)|0;if(!(c[w>>2]|0))xf(39251,38946,800,39256);c[B>>2]=8+(c[w>>2]|0)+(c[s>>2]|0)+((c[y>>2]|0)-(c[w>>2]|0)-1);c[A>>2]=Vf(c[B>>2]|0)|0;a:do if(c[A>>2]|0){c[D>>2]=(c[A>>2]|0)+8;c[E>>2]=(c[D>>2]|0)+(c[w>>2]|0);c[F>>2]=(c[E>>2]|0)+(c[s>>2]|0);if((c[r>>2]|0)!=(c[w>>2]|0)){c[v>>2]=139;break}Dx(c[D>>2]|0,c[q>>2]|0,c[w>>2]|0)|0;if((c[y>>2]|0)>>>0<((c[w>>2]|0)+(c[s>>2]|0)+2|0)>>>0){c[v>>2]=66;break}c[x>>2]=Vf(c[y>>2]|0)|0;if(!(c[x>>2]|0)){c[v>>2]=iu()|0;break}c[z>>2]=(c[x>>2]|0)+(c[y>>2]|0)+-1+(0-(c[w>>2]|0));do if(c[s>>2]|0){if(!(c[t>>2]|0)){Pn(c[E>>2]|0,c[s>>2]|0,1);break}if((c[u>>2]|0)!=(c[s>>2]|0)){c[v>>2]=45;break a}else{Dx(c[E>>2]|0,c[t>>2]|0,c[s>>2]|0)|0;break}}while(0);l=c[A>>2]|0;a[l>>0]=0;a[l+1>>0]=0;a[l+2>>0]=0;a[l+3>>0]=0;a[l+4>>0]=0;a[l+5>>0]=0;a[l+6>>0]=0;a[l+7>>0]=0;Nj(c[p>>2]|0,c[z>>2]|0,c[A>>2]|0,8+(c[w>>2]|0)+(c[s>>2]|0)|0);c[G>>2]=(c[x>>2]|0)+(c[y>>2]|0)+-1+(0-(c[w>>2]|0))+(0-(c[s>>2]|0))+-1;Fx(c[x>>2]|0,0,(c[G>>2]|0)-(c[x>>2]|0)|0)|0;l=c[G>>2]|0;c[G>>2]=l+1;a[l>>0]=1;Dx(c[G>>2]|0,c[E>>2]|0,c[s>>2]|0)|0;Pl(c[F>>2]|0,(c[y>>2]|0)-(c[w>>2]|0)-1|0,c[z>>2]|0,c[w>>2]|0,c[p>>2]|0)|0;c[H>>2]=0;c[G>>2]=c[F>>2];while(1){if((c[H>>2]|0)>>>0>=((c[y>>2]|0)-(c[w>>2]|0)-1|0)>>>0)break;l=(c[x>>2]|0)+(c[H>>2]|0)|0;a[l>>0]=(d[l>>0]|0)^(d[c[G>>2]>>0]|0);c[H>>2]=(c[H>>2]|0)+1;c[G>>2]=(c[G>>2]|0)+1}l=c[x>>2]|0;a[l>>0]=(d[l>>0]|0)&255>>(c[y>>2]<<3)-(c[o>>2]|0);a[(c[x>>2]|0)+((c[y>>2]|0)-1)>>0]=-68;c[v>>2]=Dp(c[n>>2]|0,5,c[x>>2]|0,c[y>>2]|0,0)|0;if((c[v>>2]|0)==0?jg(1)|0:0)Hf(39277,c[c[n>>2]>>2]|0)}else c[v>>2]=iu()|0;while(0);if(c[x>>2]|0){c[I>>2]=c[x>>2];c[J>>2]=c[y>>2];a[K>>0]=0;y=L;c[y>>2]=d[K>>0];c[y+4>>2]=0;while(1){if(!(c[I>>2]&7|0?(c[J>>2]|0)!=0:0))break;a[c[I>>2]>>0]=a[K>>0]|0;c[I>>2]=(c[I>>2]|0)+1;c[J>>2]=(c[J>>2]|0)+-1}if((c[J>>2]|0)>>>0>=8){y=L;n=Mx(c[y>>2]|0,c[y+4>>2]|0,16843009,16843009)|0;y=L;c[y>>2]=n;c[y+4>>2]=C;do{c[M>>2]=c[I>>2];y=L;n=c[y+4>>2]|0;o=c[M>>2]|0;c[o>>2]=c[y>>2];c[o+4>>2]=n;c[J>>2]=(c[J>>2]|0)-8;c[I>>2]=(c[I>>2]|0)+8}while((c[J>>2]|0)>>>0>=8)}while(1){if(!(c[J>>2]|0))break;a[c[I>>2]>>0]=a[K>>0]|0;c[I>>2]=(c[I>>2]|0)+1;c[J>>2]=(c[J>>2]|0)+-1}$f(c[x>>2]|0)}if(!(c[A>>2]|0)){S=c[v>>2]|0;i=m;return S|0}c[N>>2]=c[A>>2];c[O>>2]=c[B>>2];a[P>>0]=0;B=Q;c[B>>2]=d[P>>0];c[B+4>>2]=0;while(1){if(!(c[N>>2]&7|0?(c[O>>2]|0)!=0:0))break;a[c[N>>2]>>0]=a[P>>0]|0;c[N>>2]=(c[N>>2]|0)+1;c[O>>2]=(c[O>>2]|0)+-1}if((c[O>>2]|0)>>>0>=8){B=Q;x=Mx(c[B>>2]|0,c[B+4>>2]|0,16843009,16843009)|0;B=Q;c[B>>2]=x;c[B+4>>2]=C;do{c[R>>2]=c[N>>2];B=Q;x=c[B+4>>2]|0;J=c[R>>2]|0;c[J>>2]=c[B>>2];c[J+4>>2]=x;c[O>>2]=(c[O>>2]|0)-8;c[N>>2]=(c[N>>2]|0)+8}while((c[O>>2]|0)>>>0>=8)}while(1){if(!(c[O>>2]|0))break;a[c[N>>2]>>0]=a[P>>0]|0;c[N>>2]=(c[N>>2]|0)+1;c[O>>2]=(c[O>>2]|0)+-1}$f(c[A>>2]|0);S=c[v>>2]|0;i=m;return S|0}function Tl(b,e,f,g,h){b=b|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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;j=i;i=i+112|0;k=j+104|0;l=j+100|0;m=j+96|0;n=j+92|0;o=j+88|0;p=j+84|0;q=j+80|0;r=j+76|0;s=j+72|0;t=j+68|0;u=j+64|0;v=j+60|0;w=j+56|0;x=j+52|0;y=j+48|0;z=j+44|0;A=j+40|0;B=j+36|0;D=j+32|0;E=j+109|0;F=j+8|0;G=j+28|0;H=j+24|0;I=j+20|0;J=j+108|0;K=j;L=j+16|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=0;c[r>>2]=0;c[s>>2]=(((c[m>>2]|0)+7|0)>>>0)/8|0;c[v>>2]=0;c[q>>2]=Uj(c[n>>2]|0)|0;if(!(c[q>>2]|0))xf(39251,38946,926,39294);c[w>>2]=8+(c[q>>2]|0)+(c[o>>2]|0);if((c[w>>2]|0)>>>0<((c[s>>2]|0)-(c[q>>2]|0)-1|0)>>>0)c[w>>2]=(c[s>>2]|0)-(c[q>>2]|0)-1;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[v>>2]=Vf(c[w>>2]|0)|0;do if(c[v>>2]|0){c[x>>2]=c[v>>2];c[y>>2]=(c[v>>2]|0)+(c[w>>2]|0)+(0-(c[q>>2]|0));c[p>>2]=Rl(0,c[y>>2]|0,c[k>>2]|0,c[q>>2]|0)|0;if((c[p>>2]|0)==0?(c[p>>2]=Rl(r,0,c[l>>2]|0,c[s>>2]|0)|0,(c[p>>2]|0)==0):0){if((c[s>>2]|0)>>>0<((c[q>>2]|0)+(c[o>>2]|0)+2|0)>>>0){c[p>>2]=66;break}if((d[(c[r>>2]|0)+((c[s>>2]|0)-1)>>0]|0)!=188){c[p>>2]=8;break}c[u>>2]=(c[r>>2]|0)+(c[s>>2]|0)+-1+(0-(c[q>>2]|0));if(d[c[r>>2]>>0]&~(255>>(c[s>>2]<<3)-(c[m>>2]|0))|0){c[p>>2]=8;break}Pl(c[x>>2]|0,(c[s>>2]|0)-(c[q>>2]|0)-1|0,c[u>>2]|0,c[q>>2]|0,c[n>>2]|0)|0;c[A>>2]=0;c[z>>2]=c[x>>2];while(1){if((c[A>>2]|0)>>>0>=((c[s>>2]|0)-(c[q>>2]|0)-1|0)>>>0)break;h=(c[r>>2]|0)+(c[A>>2]|0)|0;a[h>>0]=d[h>>0]^d[c[z>>2]>>0];c[A>>2]=(c[A>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+1}h=c[r>>2]|0;a[h>>0]=d[h>>0]&255>>(c[s>>2]<<3)-(c[m>>2]|0);c[A>>2]=0;while(1){if((c[A>>2]|0)>>>0>=((c[s>>2]|0)-(c[q>>2]|0)-(c[o>>2]|0)-2|0)>>>0)break;if(!((a[(c[r>>2]|0)+(c[A>>2]|0)>>0]|0)!=0^1))break;c[A>>2]=(c[A>>2]|0)+1}if((c[A>>2]|0)==((c[s>>2]|0)-(c[q>>2]|0)-(c[o>>2]|0)-2|0)?(h=c[A>>2]|0,c[A>>2]=h+1,(d[(c[r>>2]|0)+h>>0]|0)==1):0){c[t>>2]=(c[r>>2]|0)+(c[A>>2]|0);h=c[v>>2]|0;a[h>>0]=0;a[h+1>>0]=0;a[h+2>>0]=0;a[h+3>>0]=0;a[h+4>>0]=0;a[h+5>>0]=0;a[h+6>>0]=0;a[h+7>>0]=0;Dx((c[v>>2]|0)+8|0,c[y>>2]|0,c[q>>2]|0)|0;Dx((c[v>>2]|0)+8+(c[q>>2]|0)|0,c[t>>2]|0,c[o>>2]|0)|0;Nj(c[n>>2]|0,c[v>>2]|0,c[v>>2]|0,8+(c[q>>2]|0)+(c[o>>2]|0)|0);h=(mw(c[u>>2]|0,c[v>>2]|0,c[q>>2]|0)|0)!=0;c[p>>2]=h?8:0;break}c[p>>2]=8}}else c[p>>2]=iu()|0;while(0);if(c[r>>2]|0){c[B>>2]=c[r>>2];c[D>>2]=c[s>>2];a[E>>0]=0;s=F;c[s>>2]=d[E>>0];c[s+4>>2]=0;while(1){if(!(c[B>>2]&7|0?(c[D>>2]|0)!=0:0))break;a[c[B>>2]>>0]=a[E>>0]|0;c[B>>2]=(c[B>>2]|0)+1;c[D>>2]=(c[D>>2]|0)+-1}if((c[D>>2]|0)>>>0>=8){s=F;q=Mx(c[s>>2]|0,c[s+4>>2]|0,16843009,16843009)|0;s=F;c[s>>2]=q;c[s+4>>2]=C;do{c[G>>2]=c[B>>2];s=F;q=c[s+4>>2]|0;u=c[G>>2]|0;c[u>>2]=c[s>>2];c[u+4>>2]=q;c[D>>2]=(c[D>>2]|0)-8;c[B>>2]=(c[B>>2]|0)+8}while((c[D>>2]|0)>>>0>=8)}while(1){if(!(c[D>>2]|0))break;a[c[B>>2]>>0]=a[E>>0]|0;c[B>>2]=(c[B>>2]|0)+1;c[D>>2]=(c[D>>2]|0)+-1}$f(c[r>>2]|0)}if(!(c[v>>2]|0)){M=c[p>>2]|0;i=j;return M|0}c[H>>2]=c[v>>2];c[I>>2]=c[w>>2];a[J>>0]=0;w=K;c[w>>2]=d[J>>0];c[w+4>>2]=0;while(1){if(!(c[H>>2]&7|0?(c[I>>2]|0)!=0:0))break;a[c[H>>2]>>0]=a[J>>0]|0;c[H>>2]=(c[H>>2]|0)+1;c[I>>2]=(c[I>>2]|0)+-1}if((c[I>>2]|0)>>>0>=8){w=K;r=Mx(c[w>>2]|0,c[w+4>>2]|0,16843009,16843009)|0;w=K;c[w>>2]=r;c[w+4>>2]=C;do{c[L>>2]=c[H>>2];w=K;r=c[w+4>>2]|0;D=c[L>>2]|0;c[D>>2]=c[w>>2];c[D+4>>2]=r;c[I>>2]=(c[I>>2]|0)-8;c[H>>2]=(c[H>>2]|0)+8}while((c[I>>2]|0)>>>0>=8)}while(1){if(!(c[I>>2]|0))break;a[c[H>>2]>>0]=a[J>>0]|0;c[H>>2]=(c[H>>2]|0)+1;c[I>>2]=(c[I>>2]|0)+-1}$f(c[v>>2]|0);M=c[p>>2]|0;i=j;return M|0}function Ul(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+112|0;e=d;f=d+100|0;g=d+96|0;h=d+92|0;j=d+88|0;k=d+84|0;l=d+80|0;m=d+56|0;n=d+52|0;o=d+48|0;p=d+44|0;q=d+40|0;r=d+36|0;c[g>>2]=a;c[h>>2]=b;c[o>>2]=0;c[q>>2]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[j>>2]=kk(c[g>>2]|0,k)|0;if(c[j>>2]|0){c[f>>2]=c[j>>2];s=c[f>>2]|0;i=d;return s|0}c[j>>2]=lk(c[g>>2]|0,l)|0;if(c[j>>2]|0){c[f>>2]=c[j>>2];s=c[f>>2]|0;i=d;return s|0}c[p>>2]=xg(c[g>>2]|0,47167,0)|0;if(c[p>>2]|0?(c[j>>2]=jk(c[p>>2]|0,o,0)|0,vg(c[p>>2]|0),c[j>>2]|0):0){c[f>>2]=c[j>>2];s=c[f>>2]|0;i=d;return s|0}if(c[g>>2]|0)t=xg(c[g>>2]|0,39376,0)|0;else t=0;c[n>>2]=t;if((c[n>>2]|0)==0?(c[p>>2]=xg(c[g>>2]|0,39389,0)|0,c[p>>2]|0):0){c[o>>2]=c[o>>2]|64;vg(c[p>>2]|0)}if((!(c[n>>2]|0)?!(c[o>>2]&64|0):0)?!(Ah()|0):0){if((c[o>>2]&32|0)==0?(c[p>>2]=xg(c[g>>2]|0,47173,0)|0,c[p>>2]|0):0){c[o>>2]=c[o>>2]|32;vg(c[p>>2]|0)}c[j>>2]=$l(m,c[k>>2]|0,c[l>>2]|0,((c[o>>2]&32|0)!=0^1^1)&1)|0}else u=16;if((u|0)==16?(c[j>>2]=Vl(m,c[k>>2]|0,c[l>>2]|0,c[n>>2]|0,r)|0,vg(c[n>>2]|0),(c[j>>2]|0)==0&(c[r>>2]|0)!=0):0)c[j>>2]=wg(q,39657,0,1)|0;if(!(c[j>>2]|0)){r=c[h>>2]|0;h=c[m+4>>2]|0;n=c[m>>2]|0;l=c[m+4>>2]|0;k=c[m+8>>2]|0;u=c[m+12>>2]|0;o=c[m+16>>2]|0;p=c[m+20>>2]|0;g=c[q>>2]|0;c[e>>2]=c[m>>2];c[e+4>>2]=h;c[e+8>>2]=n;c[e+12>>2]=l;c[e+16>>2]=k;c[e+20>>2]=u;c[e+24>>2]=o;c[e+28>>2]=p;c[e+32>>2]=g;c[j>>2]=Ig(r,0,39753,e)|0}hq(c[m>>2]|0);hq(c[m+4>>2]|0);hq(c[m+12>>2]|0);hq(c[m+16>>2]|0);hq(c[m+8>>2]|0);hq(c[m+20>>2]|0);vg(c[q>>2]|0);c[f>>2]=c[j>>2];s=c[f>>2]|0;i=d;return s|0}function Vl(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;g=i;i=i+176|0;h=g;j=g+164|0;k=g+160|0;l=g+156|0;m=g+152|0;n=g+148|0;o=g+144|0;p=g+140|0;q=g+136|0;r=g+132|0;s=g+128|0;t=g+124|0;u=g+120|0;v=g+116|0;w=g+112|0;x=g+108|0;y=g+104|0;z=g+100|0;A=g+96|0;B=g+92|0;C=g+88|0;D=g+84|0;E=g+80|0;F=g+76|0;G=g+72|0;H=g+16|0;I=g+8|0;J=g+4|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[c[o>>2]>>2]=0;if((c[m>>2]|0)==1)c[m>>2]=65537;if((c[l>>2]|0)>>>0>=1024?(((c[l>>2]|0)>>>0)%256|0|0)==0:0){if((c[m>>2]|0)>>>0<3){c[j>>2]=55;K=c[j>>2]|0;i=g;return K|0}if(!(c[m>>2]&1)){c[j>>2]=55;K=c[j>>2]|0;i=g;return K|0}c[A>>2]=0;c[B>>2]=0;c[C>>2]=0;c[D>>2]=0;c[E>>2]=0;c[F>>2]=0;if(c[n>>2]|0){f=H;e=f+56|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(e|0));c[H>>2]=39508;c[H+8>>2]=39512;c[H+16>>2]=39516;c[H+24>>2]=39519;c[H+32>>2]=39523;c[H+40>>2]=39527;c[H+4>>2]=A;c[H+8+4>>2]=B;c[H+16+4>>2]=C;c[H+24+4>>2]=D;c[H+32+4>>2]=E;c[H+40+4>>2]=F;c[I>>2]=0;while(1){if(!(c[H+(c[I>>2]<<3)>>2]|0))break;c[J>>2]=xg(c[n>>2]|0,c[H+(c[I>>2]<<3)>>2]|0,0)|0;if(c[J>>2]|0){f=Fg(c[J>>2]|0,1,5)|0;c[c[H+(c[I>>2]<<3)+4>>2]>>2]=f;vg(c[J>>2]|0)}c[I>>2]=(c[I>>2]|0)+1}c[I>>2]=0;while(1){if(!(c[H+(c[I>>2]<<3)>>2]|0))break;if(!(c[c[H+(c[I>>2]<<3)+4>>2]>>2]|0))break;c[I>>2]=(c[I>>2]|0)+1}if(c[H+(c[I>>2]<<3)>>2]|0){c[I>>2]=0;while(1){if(!(c[H+(c[I>>2]<<3)>>2]|0))break;xq(c[c[H+(c[I>>2]<<3)+4>>2]>>2]|0);c[I>>2]=(c[I>>2]|0)+1}c[j>>2]=128;K=c[j>>2]|0;i=g;return K|0}}else{c[C>>2]=Wl(((c[l>>2]|0)>>>0)/2|0)|0;c[G>>2]=wq(((c[l>>2]|0)>>>0)/2|0)|0;do{xq(c[F>>2]|0);c[F>>2]=Wl(((c[l>>2]|0)>>>0)/2|0)|0;No(c[G>>2]|0,c[C>>2]|0,c[F>>2]|0);I=Ro(c[G>>2]|0)|0}while(I>>>0<=((((c[l>>2]|0)>>>0)/2|0)-100|0)>>>0);xq(c[G>>2]|0);c[A>>2]=Xl()|0;c[B>>2]=Xl()|0;c[D>>2]=Xl()|0;c[E>>2]=Xl()|0}c[r>>2]=_p(c[m>>2]|0)|0;c[p>>2]=hk(c[C>>2]|0,c[A>>2]|0,c[B>>2]|0,c[r>>2]|0,0,0)|0;c[q>>2]=hk(c[F>>2]|0,c[D>>2]|0,c[E>>2]|0,c[r>>2]|0,0,0)|0;xq(c[C>>2]|0);c[C>>2]=0;xq(c[A>>2]|0);c[A>>2]=0;xq(c[B>>2]|0);c[B>>2]=0;xq(c[F>>2]|0);c[F>>2]=0;xq(c[D>>2]|0);c[D>>2]=0;xq(c[E>>2]|0);c[E>>2]=0;E=c[p>>2]|0;if(!((c[p>>2]|0)!=0&(c[q>>2]|0)!=0)){xq(E);xq(c[q>>2]|0);xq(c[r>>2]|0);c[j>>2]=21;K=c[j>>2]|0;i=g;return K|0}if((ap(E,c[q>>2]|0)|0)>0){tq(c[p>>2]|0,c[q>>2]|0);c[c[o>>2]>>2]=1}c[s>>2]=vq(c[l>>2]|0)|0;up(c[s>>2]|0,c[p>>2]|0,c[q>>2]|0);c[v>>2]=wq(((c[l>>2]|0)>>>0)/2|0)|0;c[w>>2]=wq(((c[l>>2]|0)>>>0)/2|0)|0;c[x>>2]=wq(c[l>>2]|0)|0;Mo(c[v>>2]|0,c[p>>2]|0,1);Mo(c[w>>2]|0,c[q>>2]|0,1);up(c[x>>2]|0,c[v>>2]|0,c[w>>2]|0);c[z>>2]=wq(c[l>>2]|0)|0;if(!(jp(c[z>>2]|0,c[r>>2]|0,c[x>>2]|0)|0))xf(39530,39434,541,39564);jp(c[z>>2]|0,c[v>>2]|0,c[w>>2]|0)|0;c[y>>2]=c[v>>2];c[v>>2]=0;xq(c[w>>2]|0);c[w>>2]=0;fp(c[y>>2]|0,c[x>>2]|0,c[z>>2]|0);xq(c[x>>2]|0);c[x>>2]=0;c[t>>2]=c[z>>2];c[z>>2]=0;pp(c[t>>2]|0,c[r>>2]|0,c[y>>2]|0)|0;c[u>>2]=c[y>>2];c[y>>2]=0;pp(c[u>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;if(jg(1)|0){if(c[c[o>>2]>>2]|0)Df(39578,h);Hf(45630,c[p>>2]|0);Hf(39599,c[q>>2]|0);Hf(39603,c[s>>2]|0);Hf(39607,c[r>>2]|0);Hf(39611,c[t>>2]|0);Hf(39615,c[u>>2]|0)}c[c[k>>2]>>2]=c[s>>2];c[(c[k>>2]|0)+4>>2]=c[r>>2];c[(c[k>>2]|0)+12>>2]=c[p>>2];c[(c[k>>2]|0)+16>>2]=c[q>>2];c[(c[k>>2]|0)+8>>2]=c[t>>2];c[(c[k>>2]|0)+20>>2]=c[u>>2];if(Yl(c[k>>2]|0,(c[l>>2]|0)-64|0)|0){xq(c[c[k>>2]>>2]|0);c[c[k>>2]>>2]=0;xq(c[(c[k>>2]|0)+4>>2]|0);c[(c[k>>2]|0)+4>>2]=0;xq(c[(c[k>>2]|0)+12>>2]|0);c[(c[k>>2]|0)+12>>2]=0;xq(c[(c[k>>2]|0)+16>>2]|0);c[(c[k>>2]|0)+16>>2]=0;xq(c[(c[k>>2]|0)+8>>2]|0);c[(c[k>>2]|0)+8>>2]=0;xq(c[(c[k>>2]|0)+20>>2]|0);c[(c[k>>2]|0)+20>>2]=0;Jh(39434,586,39564,0,39619);c[j>>2]=50;K=c[j>>2]|0;i=g;return K|0}else{c[j>>2]=0;K=c[j>>2]|0;i=g;return K|0}}c[j>>2]=55;K=c[j>>2]|0;i=g;return K|0}function Wl(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=wq(c[d>>2]|0)|0;yq(c[e>>2]|0,c[d>>2]|0,2);Uo(c[e>>2]|0,(c[d>>2]|0)-1|0);To(c[e>>2]|0,(c[d>>2]|0)-2|0);a=Ro(c[e>>2]|0)|0;if((a|0)==(c[d>>2]|0)){i=b;return c[e>>2]|0}else xf(39398,39434,360,39440);return 0}function Xl(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=wq(101)|0;yq(c[b>>2]|0,101,2);Uo(c[b>>2]|0,100);if((Ro(c[b>>2]|0)|0)==101){i=a;return c[b>>2]|0}else xf(39457,39434,375,39491);return 0}function Yl(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+48|0;e=d+32|0;f=d+28|0;g=d+24|0;h=d+16|0;j=d+12|0;k=d+8|0;l=d+4|0;m=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=-1;c[j>>2]=vq(c[f>>2]|0)|0;c[k>>2]=vq(c[f>>2]|0)|0;c[l>>2]=vq(c[f>>2]|0)|0;c[m>>2]=vq(c[f>>2]|0)|0;c[h>>2]=c[c[e>>2]>>2];c[h+4>>2]=c[(c[e>>2]|0)+4>>2];yq(c[j>>2]|0,c[f>>2]|0,0);Zl(c[k>>2]|0,c[j>>2]|0,h);if(((ap(c[k>>2]|0,c[j>>2]|0)|0?(_l(c[l>>2]|0,c[k>>2]|0,c[e>>2]|0),(ap(c[l>>2]|0,c[j>>2]|0)|0)==0):0)?(yq(c[j>>2]|0,c[f>>2]|0,0),_l(c[m>>2]|0,c[j>>2]|0,c[e>>2]|0),Zl(c[l>>2]|0,c[m>>2]|0,h),(ap(c[l>>2]|0,c[j>>2]|0)|0)==0):0)?(Ko(c[m>>2]|0,c[m>>2]|0,1),Zl(c[l>>2]|0,c[m>>2]|0,h),ap(c[l>>2]|0,c[j>>2]|0)|0):0)c[g>>2]=0;xq(c[m>>2]|0);xq(c[l>>2]|0);xq(c[k>>2]|0);xq(c[j>>2]|0);i=d;return c[g>>2]|0}function Zl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[f>>2]|0)==(c[g>>2]|0)){c[j>>2]=$p(c[(c[g>>2]|0)+4>>2]<<1)|0;wp(c[j>>2]|0,c[g>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[c[h>>2]>>2]|0);oq(c[f>>2]|0,c[j>>2]|0)|0;hq(c[j>>2]|0);i=e;return}else{wp(c[f>>2]|0,c[g>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[c[h>>2]>>2]|0);i=e;return}}function _l(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+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;Qo(c[g>>2]|0);if((c[(c[h>>2]|0)+12>>2]|0?c[(c[h>>2]|0)+16>>2]|0:0)?c[(c[h>>2]|0)+20>>2]|0:0){c[j>>2]=bq((c[(c[c[h>>2]>>2]|0)+4>>2]|0)+1|0)|0;c[k>>2]=bq((c[(c[c[h>>2]>>2]|0)+4>>2]|0)+1|0)|0;c[l>>2]=bq((c[(c[c[h>>2]>>2]|0)+4>>2]|0)+1|0)|0;Mo(c[l>>2]|0,c[(c[h>>2]|0)+12>>2]|0,1);bp(c[l>>2]|0,c[(c[h>>2]|0)+8>>2]|0,c[l>>2]|0);wp(c[j>>2]|0,c[g>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+12>>2]|0);Mo(c[l>>2]|0,c[(c[h>>2]|0)+16>>2]|0,1);bp(c[l>>2]|0,c[(c[h>>2]|0)+8>>2]|0,c[l>>2]|0);wp(c[k>>2]|0,c[g>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+16>>2]|0);No(c[l>>2]|0,c[k>>2]|0,c[j>>2]|0);if(c[(c[l>>2]|0)+8>>2]|0)Lo(c[l>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+16>>2]|0);vp(c[l>>2]|0,c[(c[h>>2]|0)+20>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+16>>2]|0);up(c[l>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+12>>2]|0);Lo(c[f>>2]|0,c[j>>2]|0,c[l>>2]|0);hq(c[l>>2]|0);hq(c[j>>2]|0);hq(c[k>>2]|0);i=e;return}wp(c[f>>2]|0,c[g>>2]|0,c[(c[h>>2]|0)+8>>2]|0,c[c[h>>2]>>2]|0);i=e;return}function $l(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+80|0;g=f+64|0;h=f+60|0;j=f+56|0;k=f+52|0;l=f+48|0;m=f+44|0;n=f+40|0;o=f+36|0;p=f+32|0;q=f+28|0;r=f+24|0;s=f+20|0;t=f+16|0;u=f+12|0;v=f+8|0;w=f+4|0;x=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if(Ah()|0){if((c[j>>2]|0)>>>0<1024){c[g>>2]=55;y=c[g>>2]|0;i=f;return y|0}if(c[l>>2]|0){c[g>>2]=55;y=c[g>>2]|0;i=f;return y|0}}c[x>>2]=c[l>>2]|0?1:2;if(c[j>>2]&1|0)c[j>>2]=(c[j>>2]|0)+1;if((c[k>>2]|0)==1)c[k>>2]=65537;c[t>>2]=$p(1)|0;if(c[k>>2]|0){c[k>>2]=c[k>>2]|1;sq(c[t>>2]|0,c[k>>2]|0)|0}else sq(c[t>>2]|0,41)|0;c[s>>2]=vq(c[j>>2]|0)|0;c[n>>2]=0;c[m>>2]=0;do{if(c[m>>2]|0)xq(c[m>>2]|0);if(c[n>>2]|0)xq(c[n>>2]|0);l=((c[j>>2]|0)>>>0)/2|0;e=c[x>>2]|0;if(c[k>>2]|0){c[m>>2]=ck(l,e,6,c[t>>2]|0)|0;c[n>>2]=ck(((c[j>>2]|0)>>>0)/2|0,c[x>>2]|0,6,c[t>>2]|0)|0}else{c[m>>2]=ck(l,e,0,0)|0;c[n>>2]=ck(((c[j>>2]|0)>>>0)/2|0,c[x>>2]|0,0,0)|0}if((ap(c[m>>2]|0,c[n>>2]|0)|0)>0)tq(c[m>>2]|0,c[n>>2]|0);up(c[s>>2]|0,c[m>>2]|0,c[n>>2]|0);e=Ro(c[s>>2]|0)|0}while((e|0)!=(c[j>>2]|0));c[q>>2]=bq(c[(c[m>>2]|0)+4>>2]|0)|0;c[r>>2]=bq(c[(c[m>>2]|0)+4>>2]|0)|0;c[u>>2]=wq(c[j>>2]|0)|0;c[v>>2]=wq(c[j>>2]|0)|0;c[w>>2]=wq(c[j>>2]|0)|0;Mo(c[q>>2]|0,c[m>>2]|0,1);Mo(c[r>>2]|0,c[n>>2]|0,1);up(c[u>>2]|0,c[q>>2]|0,c[r>>2]|0);jp(c[v>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;fp(c[w>>2]|0,c[u>>2]|0,c[v>>2]|0);while(1){if(!((jp(c[q>>2]|0,c[t>>2]|0,c[u>>2]|0)|0)!=0^1))break;if(c[k>>2]|0){z=27;break}Ko(c[t>>2]|0,c[t>>2]|0,2)}if((z|0)==27)wf(39434,287,39686);c[o>>2]=wq(c[j>>2]|0)|0;pp(c[o>>2]|0,c[t>>2]|0,c[w>>2]|0)|0;c[p>>2]=wq(c[j>>2]|0)|0;pp(c[p>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(jg(1)|0){Hf(39699,c[m>>2]|0);Hf(39705,c[n>>2]|0);Hf(39711,c[u>>2]|0);Hf(39717,c[v>>2]|0);Hf(39723,c[w>>2]|0);Hf(39729,c[s>>2]|0);Hf(39735,c[t>>2]|0);Hf(39741,c[o>>2]|0);Hf(39747,c[p>>2]|0)}xq(c[q>>2]|0);xq(c[r>>2]|0);xq(c[u>>2]|0);xq(c[w>>2]|0);xq(c[v>>2]|0);c[c[h>>2]>>2]=c[s>>2];c[(c[h>>2]|0)+4>>2]=c[t>>2];c[(c[h>>2]|0)+12>>2]=c[m>>2];c[(c[h>>2]|0)+16>>2]=c[n>>2];c[(c[h>>2]|0)+8>>2]=c[o>>2];c[(c[h>>2]|0)+20>>2]=c[p>>2];if(Yl(c[h>>2]|0,(c[j>>2]|0)-64|0)|0){xq(c[c[h>>2]>>2]|0);c[c[h>>2]>>2]=0;xq(c[(c[h>>2]|0)+4>>2]|0);c[(c[h>>2]|0)+4>>2]=0;xq(c[(c[h>>2]|0)+12>>2]|0);c[(c[h>>2]|0)+12>>2]=0;xq(c[(c[h>>2]|0)+16>>2]|0);c[(c[h>>2]|0)+16>>2]=0;xq(c[(c[h>>2]|0)+8>>2]|0);c[(c[h>>2]|0)+8>>2]=0;xq(c[(c[h>>2]|0)+20>>2]|0);c[(c[h>>2]|0)+20>>2]=0;Jh(39434,334,39686,0,39619);c[g>>2]=50;y=c[g>>2]|0;i=f;return y|0}else{c[g>>2]=0;y=c[g>>2]|0;i=f;return y|0}return 0}function am(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[e>>2];Mo(c[f>>2]|0,c[f>>2]|0,1);c[h>>2]=pq(c[f>>2]|0)|0;c[j>>2]=((jp(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0)!=0^1)&1;xq(c[h>>2]|0);Ko(c[f>>2]|0,c[f>>2]|0,1);i=d;return c[j>>2]|0}function bm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+80|0;d=b+32|0;e=b;f=b+68|0;g=b+64|0;h=b+40|0;c[f>>2]=a;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;a=c[f>>2]|0;c[e>>2]=h;c[e+4>>2]=h+4;c[e+8>>2]=h+8;c[e+12>>2]=h+12;c[e+16>>2]=h+16;c[e+20>>2]=h+20;c[e+24>>2]=0;c[g>>2]=Rg(a,0,39363,e)|0;if((c[g>>2]|0)==0?(cm(h)|0)==0:0)c[g>>2]=7;xq(c[h>>2]|0);xq(c[h+4>>2]|0);xq(c[h+8>>2]|0);xq(c[h+12>>2]|0);xq(c[h+16>>2]|0);xq(c[h+20>>2]|0);if(!(jg(1)|0)){j=c[g>>2]|0;i=b;return j|0}c[d>>2]=fu(c[g>>2]|0)|0;Df(39848,d);j=c[g>>2]|0;i=b;return j|0}function cm(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[f>>2]=$p(c[(c[(c[d>>2]|0)+12>>2]|0)+4>>2]<<1)|0;up(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0,c[(c[d>>2]|0)+16>>2]|0);c[e>>2]=ap(c[f>>2]|0,c[c[d>>2]>>2]|0)|0;hq(c[f>>2]|0);i=b;return ((c[e>>2]|0)!=0^1)&1|0}function dm(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;e=i;i=i+128|0;f=e+32|0;g=e+24|0;h=e+16|0;j=e;k=e+116|0;l=e+112|0;m=e+108|0;n=e+104|0;o=e+64|0;p=e+56|0;q=e+48|0;r=e+44|0;s=e+40|0;t=e+36|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[p>>2]=0;c[q>>2]=0;c[q+4>>2]=0;c[r>>2]=0;pk(o,0,em(c[m>>2]|0)|0);c[n>>2]=rk(c[l>>2]|0,p,o)|0;do if(!(c[n>>2]|0)){if(jg(1)|0)Hf(39870,c[p>>2]|0);if(c[p>>2]|0?c[(c[p>>2]|0)+12>>2]&4|0:0){c[n>>2]=79;break}l=c[m>>2]|0;c[j>>2]=q;c[j+4>>2]=q+4;c[j+8>>2]=0;c[n>>2]=Rg(l,0,39360,j)|0;if(!(c[n>>2]|0)){if(jg(1)|0){Hf(39887,c[q>>2]|0);Hf(39904,c[q+4>>2]|0)}c[r>>2]=vq(0)|0;Zl(c[r>>2]|0,c[p>>2]|0,q);if(jg(1)|0)Hf(39921,c[r>>2]|0);if(!(c[o+12>>2]&4)){l=c[k>>2]|0;c[g>>2]=c[r>>2];c[n>>2]=Ig(l,0,39958,g)|0;break}c[t>>2]=(((Ro(c[q>>2]|0)|0)+7|0)>>>0)/8|0;c[n>>2]=Jp(s,0,c[r>>2]|0,c[t>>2]|0)|0;if(!(c[n>>2]|0)){l=c[k>>2]|0;d=c[s>>2]|0;c[h>>2]=c[t>>2];c[h+4>>2]=d;c[n>>2]=Ig(l,0,39938,h)|0;$f(c[s>>2]|0)}}}while(0);xq(c[r>>2]|0);xq(c[q>>2]|0);xq(c[q+4>>2]|0);xq(c[p>>2]|0);qk(o);if(!(jg(1)|0)){u=c[n>>2]|0;i=e;return u|0}c[f>>2]=fu(c[n>>2]|0)|0;Df(39978,f);u=c[n>>2]|0;i=e;return u|0}function em(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+32|0;d=b+16|0;e=b+12|0;f=b+8|0;g=b+4|0;h=b;c[e>>2]=a;c[f>>2]=xg(c[e>>2]|0,39374,1)|0;if(!(c[f>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;i=b;return j|0}c[g>>2]=Fg(c[f>>2]|0,1,5)|0;vg(c[f>>2]|0);if(c[g>>2]|0)k=Ro(c[g>>2]|0)|0;else k=0;c[h>>2]=k;xq(c[g>>2]|0);c[d>>2]=c[h>>2];j=c[d>>2]|0;i=b;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,l=0,m=0,n=0,o=0,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+64|0;g=e+56|0;h=e+48|0;j=e+40|0;k=e+8|0;l=e;m=e+180|0;n=e+176|0;o=e+172|0;p=e+168|0;q=e+128|0;r=e+124|0;s=e+120|0;t=e+96|0;u=e+88|0;v=e+84|0;w=e+80|0;x=e+76|0;y=e+72|0;z=e+68|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[u>>2]=0;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;pk(q,1,em(c[o>>2]|0)|0);c[p>>2]=nk(c[n>>2]|0,7708,r,q)|0;a:do if((c[p>>2]|0)==0?(n=c[r>>2]|0,c[l>>2]=s,c[l+4>>2]=0,c[p>>2]=Rg(n,0,39370,l)|0,(c[p>>2]|0)==0):0){if(jg(1)|0)Hf(4e4,c[s>>2]|0);if(c[s>>2]|0?c[(c[s>>2]|0)+12>>2]&4|0:0){c[p>>2]=79;break}n=c[o>>2]|0;c[k>>2]=t;c[k+4>>2]=t+4;c[k+8>>2]=t+8;c[k+12>>2]=t+12;c[k+16>>2]=t+16;c[k+20>>2]=t+20;c[k+24>>2]=0;c[p>>2]=Rg(n,0,40017,k)|0;if(!(c[p>>2]|0)){if(jg(1)|0?(Hf(40027,c[t>>2]|0),Hf(40044,c[t+4>>2]|0),(Ah()|0)==0):0){Hf(40061,c[t+8>>2]|0);Hf(40078,c[t+12>>2]|0);Hf(40095,c[t+16>>2]|0);Hf(40112,c[t+20>>2]|0)}Qo(c[s>>2]|0);bp(c[s>>2]|0,c[s>>2]|0,c[t>>2]|0);c[u>>2]=wq(c[q+4>>2]|0)|0;if(c[q+12>>2]&1|0)_l(c[u>>2]|0,c[s>>2]|0,t);else{c[v>>2]=wq(c[q+4>>2]|0)|0;c[w>>2]=wq(c[q+4>>2]|0)|0;c[x>>2]=wq(c[q+4>>2]|0)|0;do{yq(c[v>>2]|0,c[q+4>>2]|0,0);qp(c[v>>2]|0,c[v>>2]|0,c[t>>2]|0)}while((pp(c[w>>2]|0,c[v>>2]|0,c[t>>2]|0)|0)!=0^1);wp(c[x>>2]|0,c[v>>2]|0,c[t+4>>2]|0,c[t>>2]|0);vp(c[x>>2]|0,c[x>>2]|0,c[s>>2]|0,c[t>>2]|0);_l(c[u>>2]|0,c[x>>2]|0,t);xq(c[x>>2]|0);c[x>>2]=0;vp(c[u>>2]|0,c[u>>2]|0,c[w>>2]|0,c[t>>2]|0);xq(c[v>>2]|0);c[v>>2]=0;xq(c[w>>2]|0);c[w>>2]=0}if(jg(1)|0)Hf(40129,c[u>>2]|0);switch(c[q+8>>2]|0){case 1:{c[p>>2]=Jl(y,z,c[q+4>>2]|0,c[u>>2]|0)|0;hq(c[u>>2]|0);c[u>>2]=0;if(c[p>>2]|0)break a;n=c[m>>2]|0;d=c[y>>2]|0;c[j>>2]=c[z>>2];c[j+4>>2]=d;c[p>>2]=Ig(n,0,40146,j)|0;break a;break}case 3:{c[p>>2]=Ql(y,z,c[q+4>>2]|0,c[q+16>>2]|0,c[u>>2]|0,c[q+20>>2]|0,c[q+24>>2]|0)|0;hq(c[u>>2]|0);c[u>>2]=0;if(c[p>>2]|0)break a;n=c[m>>2]|0;d=c[y>>2]|0;c[h>>2]=c[z>>2];c[h+4>>2]=d;c[p>>2]=Ig(n,0,40146,h)|0;break a;break}default:{n=c[m>>2]|0;d=c[q+12>>2]&8|0?40157:49242;c[g>>2]=c[u>>2];c[p>>2]=Ig(n,0,d,g)|0;break a}}}}while(0);$f(c[y>>2]|0);xq(c[u>>2]|0);xq(c[t>>2]|0);xq(c[t+4>>2]|0);xq(c[t+8>>2]|0);xq(c[t+12>>2]|0);xq(c[t+16>>2]|0);xq(c[t+20>>2]|0);xq(c[s>>2]|0);xq(c[v>>2]|0);xq(c[w>>2]|0);xq(c[x>>2]|0);vg(c[r>>2]|0);qk(q);if(!(jg(1)|0)){A=c[p>>2]|0;i=e;return A|0}c[f>>2]=fu(c[p>>2]|0)|0;Df(40160,f);A=c[p>>2]|0;i=e;return A|0}function gm(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;e=i;i=i+160|0;f=e+48|0;g=e+40|0;h=e+32|0;j=e;k=e+148|0;l=e+144|0;m=e+140|0;n=e+136|0;o=e+96|0;p=e+88|0;q=e+64|0;r=e+60|0;s=e+56|0;t=e+52|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[p>>2]=0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[r>>2]=0;pk(o,2,em(c[m>>2]|0)|0);c[n>>2]=rk(c[l>>2]|0,p,o)|0;do if(!(c[n>>2]|0)){if(jg(1)|0)Hf(40182,c[p>>2]|0);if(c[p>>2]|0?c[(c[p>>2]|0)+12>>2]&4|0:0){c[n>>2]=79;break}l=c[m>>2]|0;c[j>>2]=q;c[j+4>>2]=q+4;c[j+8>>2]=q+8;c[j+12>>2]=q+12;c[j+16>>2]=q+16;c[j+20>>2]=q+20;c[j+24>>2]=0;c[n>>2]=Rg(l,0,40017,j)|0;if(!(c[n>>2]|0)){if(jg(1)|0?(Hf(40198,c[q>>2]|0),Hf(40214,c[q+4>>2]|0),(Ah()|0)==0):0){Hf(40230,c[q+8>>2]|0);Hf(40246,c[q+12>>2]|0);Hf(40262,c[q+16>>2]|0);Hf(40278,c[q+20>>2]|0)}c[r>>2]=vq(0)|0;_l(c[r>>2]|0,c[p>>2]|0,q);if(jg(1)|0)Hf(40294,c[r>>2]|0);if(!(c[o+12>>2]&4)){l=c[k>>2]|0;c[g>>2]=c[r>>2];c[n>>2]=Ig(l,0,40330,g)|0;break}c[t>>2]=(((Ro(c[q>>2]|0)|0)+7|0)>>>0)/8|0;c[n>>2]=Jp(s,0,c[r>>2]|0,c[t>>2]|0)|0;if(!(c[n>>2]|0)){l=c[k>>2]|0;d=c[s>>2]|0;c[h>>2]=c[t>>2];c[h+4>>2]=d;c[n>>2]=Ig(l,0,40310,h)|0;$f(c[s>>2]|0)}}}while(0);xq(c[r>>2]|0);xq(c[q>>2]|0);xq(c[q+4>>2]|0);xq(c[q+8>>2]|0);xq(c[q+12>>2]|0);xq(c[q+16>>2]|0);xq(c[q+20>>2]|0);xq(c[p>>2]|0);qk(o);if(!(jg(1)|0)){u=c[n>>2]|0;i=e;return u|0}c[f>>2]=fu(c[n>>2]|0)|0;Df(40350,f);u=c[n>>2]|0;i=e;return u|0}function hm(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;e=i;i=i+112|0;f=e+24|0;g=e+8|0;h=e;j=e+108|0;k=e+104|0;l=e+100|0;m=e+96|0;n=e+56|0;o=e+48|0;p=e+44|0;q=e+40|0;r=e+32|0;s=e+28|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;c[r+4>>2]=0;c[s>>2]=0;pk(n,3,em(c[l>>2]|0)|0);c[m>>2]=rk(c[k>>2]|0,q,n)|0;do if(!(c[m>>2]|0)){if(jg(1)|0)Hf(40371,c[q>>2]|0);if(c[q>>2]|0?c[(c[q>>2]|0)+12>>2]&4|0:0){c[m>>2]=79;break}c[m>>2]=mk(c[j>>2]|0,7708,o,0)|0;if((c[m>>2]|0)==0?(k=c[o>>2]|0,c[h>>2]=p,c[h+4>>2]=0,c[m>>2]=Rg(k,0,39372,h)|0,(c[m>>2]|0)==0):0){if(jg(1)|0)Hf(40387,c[p>>2]|0);k=c[l>>2]|0;c[g>>2]=r;c[g+4>>2]=r+4;c[g+8>>2]=0;c[m>>2]=Rg(k,0,39360,g)|0;if(!(c[m>>2]|0)){if(jg(1)|0){Hf(40403,c[r>>2]|0);Hf(40419,c[r+4>>2]|0)}c[s>>2]=vq(0)|0;Zl(c[s>>2]|0,c[p>>2]|0,r);if(jg(1)|0)Hf(40435,c[s>>2]|0);if(c[n+32>>2]|0){c[m>>2]=Eb[c[n+32>>2]&7](n,c[s>>2]|0)|0;break}else{k=(ap(c[s>>2]|0,c[q>>2]|0)|0)!=0;c[m>>2]=k?8:0;break}}}}while(0);xq(c[s>>2]|0);xq(c[r>>2]|0);xq(c[r+4>>2]|0);xq(c[q>>2]|0);xq(c[p>>2]|0);vg(c[o>>2]|0);qk(n);if(!(jg(1)|0)){t=c[m>>2]|0;i=e;return t|0}if(c[m>>2]|0)u=fu(c[m>>2]|0)|0;else u=49800;c[f>>2]=u;Df(40451,f);t=c[m>>2]|0;i=e;return t|0}function im(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+4|0;h=e;c[f>>2]=a;c[e+8>>2]=b;c[g>>2]=d;if((c[f>>2]|0)==1){c[h>>2]=jm(c[g>>2]|0)|0;j=c[h>>2]|0;i=e;return j|0}else{c[h>>2]=4;j=c[h>>2]|0;i=e;return j|0}return 0}function jm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+32|0;d=b+24|0;e=b+20|0;f=b+16|0;g=b+12|0;h=b+8|0;j=b+4|0;k=b;c[e>>2]=a;c[j>>2]=0;c[k>>2]=0;c[f>>2]=40472;c[h>>2]=Kg(j,0,40480,Kv(40480)|0)|0;if(!(c[h>>2]|0))c[h>>2]=Kg(k,0,41510,Kv(41510)|0)|0;do if(!(c[h>>2]|0)){c[f>>2]=41827;c[h>>2]=Ck(c[j>>2]|0)|0;if(c[h>>2]|0){c[g>>2]=km(c[h>>2]|0)|0;break}c[f>>2]=41843;c[g>>2]=lm(c[k>>2]|0,c[j>>2]|0)|0;if((c[g>>2]|0)==0?(c[f>>2]=42079,c[g>>2]=om(c[k>>2]|0,c[j>>2]|0)|0,(c[g>>2]|0)==0):0){vg(c[k>>2]|0);vg(c[j>>2]|0);c[d>>2]=0;l=c[d>>2]|0;i=b;return l|0}}else c[g>>2]=km(c[h>>2]|0)|0;while(0);vg(c[k>>2]|0);vg(c[j>>2]|0);if(c[e>>2]|0)Fb[c[e>>2]&1](49836,1,c[f>>2]|0,c[g>>2]|0);c[d>>2]=50;l=c[d>>2]|0;i=b;return l|0}function km(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=fu(c[d>>2]|0)|0;i=b;return a|0}function lm(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+24|0;f=d+20|0;g=d+16|0;h=d+12|0;j=d+8|0;k=d+4|0;l=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;c[j>>2]=0;c[k>>2]=0;c[l>>2]=0;c[h>>2]=Kg(j,0,41848,Kv(41848)|0)|0;if(!(c[h>>2]|0))c[h>>2]=Kg(k,0,41924,Kv(41924)|0)|0;do if(!(c[h>>2]|0)){c[h>>2]=Ak(l,c[j>>2]|0,c[f>>2]|0)|0;if(c[h>>2]|0){c[g>>2]=42023;break}c[h>>2]=Bk(c[l>>2]|0,c[j>>2]|0,c[e>>2]|0)|0;if(c[h>>2]|0){c[g>>2]=42038;break}c[h>>2]=Bk(c[l>>2]|0,c[k>>2]|0,c[e>>2]|0)|0;if((mm(c[h>>2]|0)|0)!=8)c[g>>2]=42052}else c[g>>2]=42e3;while(0);vg(c[l>>2]|0);vg(c[k>>2]|0);vg(c[j>>2]|0);i=d;return c[g>>2]|0}function mm(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=nm(c[d>>2]|0)|0;i=b;return a|0}function nm(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;i=b;return c[d>>2]&65535|0} function om(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;d=i;i=i+64|0;e=d;f=d+48|0;g=d+44|0;h=d+40|0;j=d+36|0;k=d+28|0;l=d+24|0;m=d+20|0;n=d+16|0;o=d+12|0;p=d+8|0;q=d+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;c[d+32>>2]=1e3;c[k>>2]=0;c[l>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[k>>2]=vq(1e3)|0;yq(c[k>>2]|0,1e3,0);c[e>>2]=c[k>>2];c[j>>2]=Ig(l,0,42087,e)|0;do if(!(c[j>>2]|0)){c[j>>2]=xk(m,c[l>>2]|0,c[f>>2]|0)|0;if(c[j>>2]|0){c[h>>2]=42117;break}c[n>>2]=pm(c[m>>2]|0)|0;if(!(c[n>>2]|0)){c[h>>2]=42140;break}if(!(ap(c[k>>2]|0,c[n>>2]|0)|0)){c[h>>2]=42173;break}c[j>>2]=zk(o,c[m>>2]|0,c[g>>2]|0)|0;if(c[j>>2]|0){c[h>>2]=42202;break}c[q>>2]=xg(c[o>>2]|0,42217,0)|0;if(c[q>>2]|0)c[p>>2]=Fg(c[q>>2]|0,1,5)|0;else c[p>>2]=Fg(c[o>>2]|0,0,5)|0;if(!(c[p>>2]|0)){c[h>>2]=42223;break}if(ap(c[k>>2]|0,c[p>>2]|0)|0)c[h>>2]=42253}else c[h>>2]=42e3;while(0);vg(c[q>>2]|0);xq(c[p>>2]|0);vg(c[o>>2]|0);xq(c[n>>2]|0);vg(c[m>>2]|0);vg(c[l>>2]|0);xq(c[k>>2]|0);i=d;return c[h>>2]|0}function pm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+32|0;d=b+20|0;e=b+16|0;f=b+12|0;g=b+8|0;h=b+4|0;j=b;c[e>>2]=a;c[f>>2]=xg(c[e>>2]|0,42132,0)|0;if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=b;return k|0}c[g>>2]=xg(c[f>>2]|0,39319,0)|0;vg(c[f>>2]|0);if(!(c[g>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=b;return k|0}c[h>>2]=xg(c[g>>2]|0,39370,0)|0;vg(c[g>>2]|0);if(c[h>>2]|0){c[j>>2]=Fg(c[h>>2]|0,1,0)|0;vg(c[h>>2]|0);c[d>>2]=c[j>>2];k=c[d>>2]|0;i=b;return k|0}else{c[d>>2]=0;k=c[d>>2]|0;i=b;return k|0}return 0}function qm(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+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=xg(c[g>>2]|0,39374,1)|0;if(!(c[h>>2]|0)){c[e>>2]=68;l=c[e>>2]|0;i=d;return l|0}c[j>>2]=Bg(c[h>>2]|0,1,k)|0;if(c[j>>2]|0){Fj(c[f>>2]|0,c[j>>2]|0,c[k>>2]|0);vg(c[h>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=d;return l|0}else{vg(c[h>>2]|0);c[e>>2]=68;l=c[e>>2]|0;i=d;return l|0}return 0}function rm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+12|0;f=d+4|0;c[e>>2]=a;c[d+8>>2]=b;c[f>>2]=c[e>>2];c[d>>2]=Vg()|0;c[(c[f>>2]|0)+160>>2]=1732584193;c[(c[f>>2]|0)+164>>2]=-271733879;c[(c[f>>2]|0)+168>>2]=-1732584194;c[(c[f>>2]|0)+172>>2]=271733878;c[(c[f>>2]|0)+176>>2]=-1009589776;e=(c[f>>2]|0)+128|0;c[e>>2]=0;c[e+4>>2]=0;e=(c[f>>2]|0)+136|0;c[e>>2]=0;c[e+4>>2]=0;c[(c[f>>2]|0)+144>>2]=0;c[(c[f>>2]|0)+148>>2]=64;c[(c[f>>2]|0)+152>>2]=32;i=d;return}function sm(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+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[f>>2];do{c[k>>2]=tm(c[j>>2]|0,c[g>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+64;f=(c[h>>2]|0)+-1|0;c[h>>2]=f}while((f|0)!=0);i=e;return c[k>>2]|0}function tm(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;d=i;i=i+112|0;e=d+100|0;f=d+96|0;g=d+92|0;h=d+88|0;j=d+84|0;k=d+80|0;l=d+76|0;m=d+72|0;n=d+68|0;o=d+64|0;p=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[e>>2];c[h>>2]=c[f>>2];c[j>>2]=c[(c[g>>2]|0)+160>>2];c[k>>2]=c[(c[g>>2]|0)+164>>2];c[l>>2]=c[(c[g>>2]|0)+168>>2];c[m>>2]=c[(c[g>>2]|0)+172>>2];c[n>>2]=c[(c[g>>2]|0)+176>>2];f=um(c[j>>2]|0,5)|0;e=f+(c[m>>2]^c[k>>2]&(c[l>>2]^c[m>>2]))+1518500249|0;f=vm(c[h>>2]|0)|0;c[p>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[l>>2]^c[j>>2]&(c[k>>2]^c[l>>2]))+1518500249|0;f=vm((c[h>>2]|0)+4|0)|0;c[p+4>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[k>>2]^c[n>>2]&(c[j>>2]^c[k>>2]))+1518500249|0;f=vm((c[h>>2]|0)+8|0)|0;c[p+8>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[j>>2]^c[m>>2]&(c[n>>2]^c[j>>2]))+1518500249|0;f=vm((c[h>>2]|0)+12|0)|0;c[p+12>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[n>>2]^c[l>>2]&(c[m>>2]^c[n>>2]))+1518500249|0;f=vm((c[h>>2]|0)+16|0)|0;c[p+16>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[m>>2]^c[k>>2]&(c[l>>2]^c[m>>2]))+1518500249|0;f=vm((c[h>>2]|0)+20|0)|0;c[p+20>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[l>>2]^c[j>>2]&(c[k>>2]^c[l>>2]))+1518500249|0;f=vm((c[h>>2]|0)+24|0)|0;c[p+24>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[k>>2]^c[n>>2]&(c[j>>2]^c[k>>2]))+1518500249|0;f=vm((c[h>>2]|0)+28|0)|0;c[p+28>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[j>>2]^c[m>>2]&(c[n>>2]^c[j>>2]))+1518500249|0;f=vm((c[h>>2]|0)+32|0)|0;c[p+32>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[n>>2]^c[l>>2]&(c[m>>2]^c[n>>2]))+1518500249|0;f=vm((c[h>>2]|0)+36|0)|0;c[p+36>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[m>>2]^c[k>>2]&(c[l>>2]^c[m>>2]))+1518500249|0;f=vm((c[h>>2]|0)+40|0)|0;c[p+40>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[l>>2]^c[j>>2]&(c[k>>2]^c[l>>2]))+1518500249|0;f=vm((c[h>>2]|0)+44|0)|0;c[p+44>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[k>>2]^c[n>>2]&(c[j>>2]^c[k>>2]))+1518500249|0;f=vm((c[h>>2]|0)+48|0)|0;c[p+48>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[j>>2]^c[m>>2]&(c[n>>2]^c[j>>2]))+1518500249|0;f=vm((c[h>>2]|0)+52|0)|0;c[p+52>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[n>>2]^c[l>>2]&(c[m>>2]^c[n>>2]))+1518500249|0;f=vm((c[h>>2]|0)+56|0)|0;c[p+56>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[m>>2]^c[k>>2]&(c[l>>2]^c[m>>2]))+1518500249|0;f=vm((c[h>>2]|0)+60|0)|0;c[p+60>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[l>>2]^c[j>>2]&(c[k>>2]^c[l>>2]))+1518500249|0;c[o>>2]=c[p>>2]^c[p+8>>2]^c[p+32>>2]^c[p+52>>2];f=um(c[o>>2]|0,1)|0;c[p>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[k>>2]^c[n>>2]&(c[j>>2]^c[k>>2]))+1518500249|0;c[o>>2]=c[p+4>>2]^c[p+12>>2]^c[p+36>>2]^c[p+56>>2];f=um(c[o>>2]|0,1)|0;c[p+4>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[j>>2]^c[m>>2]&(c[n>>2]^c[j>>2]))+1518500249|0;c[o>>2]=c[p+8>>2]^c[p+16>>2]^c[p+40>>2]^c[p+60>>2];f=um(c[o>>2]|0,1)|0;c[p+8>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[n>>2]^c[l>>2]&(c[m>>2]^c[n>>2]))+1518500249|0;c[o>>2]=c[p+12>>2]^c[p+20>>2]^c[p+44>>2]^c[p>>2];f=um(c[o>>2]|0,1)|0;c[p+12>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[k>>2]^c[l>>2]^c[m>>2])+1859775393|0;c[o>>2]=c[p+16>>2]^c[p+24>>2]^c[p+48>>2]^c[p+4>>2];f=um(c[o>>2]|0,1)|0;c[p+16>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[j>>2]^c[k>>2]^c[l>>2])+1859775393|0;c[o>>2]=c[p+20>>2]^c[p+28>>2]^c[p+52>>2]^c[p+8>>2];f=um(c[o>>2]|0,1)|0;c[p+20>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[n>>2]^c[j>>2]^c[k>>2])+1859775393|0;c[o>>2]=c[p+24>>2]^c[p+32>>2]^c[p+56>>2]^c[p+12>>2];f=um(c[o>>2]|0,1)|0;c[p+24>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[m>>2]^c[n>>2]^c[j>>2])+1859775393|0;c[o>>2]=c[p+28>>2]^c[p+36>>2]^c[p+60>>2]^c[p+16>>2];f=um(c[o>>2]|0,1)|0;c[p+28>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[l>>2]^c[m>>2]^c[n>>2])+1859775393|0;c[o>>2]=c[p+32>>2]^c[p+40>>2]^c[p>>2]^c[p+20>>2];f=um(c[o>>2]|0,1)|0;c[p+32>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[k>>2]^c[l>>2]^c[m>>2])+1859775393|0;c[o>>2]=c[p+36>>2]^c[p+44>>2]^c[p+4>>2]^c[p+24>>2];f=um(c[o>>2]|0,1)|0;c[p+36>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[j>>2]^c[k>>2]^c[l>>2])+1859775393|0;c[o>>2]=c[p+40>>2]^c[p+48>>2]^c[p+8>>2]^c[p+28>>2];f=um(c[o>>2]|0,1)|0;c[p+40>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[n>>2]^c[j>>2]^c[k>>2])+1859775393|0;c[o>>2]=c[p+44>>2]^c[p+52>>2]^c[p+12>>2]^c[p+32>>2];f=um(c[o>>2]|0,1)|0;c[p+44>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[m>>2]^c[n>>2]^c[j>>2])+1859775393|0;c[o>>2]=c[p+48>>2]^c[p+56>>2]^c[p+16>>2]^c[p+36>>2];f=um(c[o>>2]|0,1)|0;c[p+48>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[l>>2]^c[m>>2]^c[n>>2])+1859775393|0;c[o>>2]=c[p+52>>2]^c[p+60>>2]^c[p+20>>2]^c[p+40>>2];f=um(c[o>>2]|0,1)|0;c[p+52>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[k>>2]^c[l>>2]^c[m>>2])+1859775393|0;c[o>>2]=c[p+56>>2]^c[p>>2]^c[p+24>>2]^c[p+44>>2];f=um(c[o>>2]|0,1)|0;c[p+56>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[j>>2]^c[k>>2]^c[l>>2])+1859775393|0;c[o>>2]=c[p+60>>2]^c[p+4>>2]^c[p+28>>2]^c[p+48>>2];f=um(c[o>>2]|0,1)|0;c[p+60>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[n>>2]^c[j>>2]^c[k>>2])+1859775393|0;c[o>>2]=c[p>>2]^c[p+8>>2]^c[p+32>>2]^c[p+52>>2];f=um(c[o>>2]|0,1)|0;c[p>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[m>>2]^c[n>>2]^c[j>>2])+1859775393|0;c[o>>2]=c[p+4>>2]^c[p+12>>2]^c[p+36>>2]^c[p+56>>2];f=um(c[o>>2]|0,1)|0;c[p+4>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[l>>2]^c[m>>2]^c[n>>2])+1859775393|0;c[o>>2]=c[p+8>>2]^c[p+16>>2]^c[p+40>>2]^c[p+60>>2];f=um(c[o>>2]|0,1)|0;c[p+8>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[k>>2]^c[l>>2]^c[m>>2])+1859775393|0;c[o>>2]=c[p+12>>2]^c[p+20>>2]^c[p+44>>2]^c[p>>2];f=um(c[o>>2]|0,1)|0;c[p+12>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[j>>2]^c[k>>2]^c[l>>2])+1859775393|0;c[o>>2]=c[p+16>>2]^c[p+24>>2]^c[p+48>>2]^c[p+4>>2];f=um(c[o>>2]|0,1)|0;c[p+16>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[n>>2]^c[j>>2]^c[k>>2])+1859775393|0;c[o>>2]=c[p+20>>2]^c[p+28>>2]^c[p+52>>2]^c[p+8>>2];f=um(c[o>>2]|0,1)|0;c[p+20>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[m>>2]^c[n>>2]^c[j>>2])+1859775393|0;c[o>>2]=c[p+24>>2]^c[p+32>>2]^c[p+56>>2]^c[p+12>>2];f=um(c[o>>2]|0,1)|0;c[p+24>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[l>>2]^c[m>>2]^c[n>>2])+1859775393|0;c[o>>2]=c[p+28>>2]^c[p+36>>2]^c[p+60>>2]^c[p+16>>2];f=um(c[o>>2]|0,1)|0;c[p+28>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[k>>2]&c[l>>2]|c[m>>2]&(c[k>>2]|c[l>>2]))+-1894007588|0;c[o>>2]=c[p+32>>2]^c[p+40>>2]^c[p>>2]^c[p+20>>2];f=um(c[o>>2]|0,1)|0;c[p+32>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[j>>2]&c[k>>2]|c[l>>2]&(c[j>>2]|c[k>>2]))+-1894007588|0;c[o>>2]=c[p+36>>2]^c[p+44>>2]^c[p+4>>2]^c[p+24>>2];f=um(c[o>>2]|0,1)|0;c[p+36>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[n>>2]&c[j>>2]|c[k>>2]&(c[n>>2]|c[j>>2]))+-1894007588|0;c[o>>2]=c[p+40>>2]^c[p+48>>2]^c[p+8>>2]^c[p+28>>2];f=um(c[o>>2]|0,1)|0;c[p+40>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[m>>2]&c[n>>2]|c[j>>2]&(c[m>>2]|c[n>>2]))+-1894007588|0;c[o>>2]=c[p+44>>2]^c[p+52>>2]^c[p+12>>2]^c[p+32>>2];f=um(c[o>>2]|0,1)|0;c[p+44>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[l>>2]&c[m>>2]|c[n>>2]&(c[l>>2]|c[m>>2]))+-1894007588|0;c[o>>2]=c[p+48>>2]^c[p+56>>2]^c[p+16>>2]^c[p+36>>2];f=um(c[o>>2]|0,1)|0;c[p+48>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[k>>2]&c[l>>2]|c[m>>2]&(c[k>>2]|c[l>>2]))+-1894007588|0;c[o>>2]=c[p+52>>2]^c[p+60>>2]^c[p+20>>2]^c[p+40>>2];f=um(c[o>>2]|0,1)|0;c[p+52>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[j>>2]&c[k>>2]|c[l>>2]&(c[j>>2]|c[k>>2]))+-1894007588|0;c[o>>2]=c[p+56>>2]^c[p>>2]^c[p+24>>2]^c[p+44>>2];f=um(c[o>>2]|0,1)|0;c[p+56>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[n>>2]&c[j>>2]|c[k>>2]&(c[n>>2]|c[j>>2]))+-1894007588|0;c[o>>2]=c[p+60>>2]^c[p+4>>2]^c[p+28>>2]^c[p+48>>2];f=um(c[o>>2]|0,1)|0;c[p+60>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[m>>2]&c[n>>2]|c[j>>2]&(c[m>>2]|c[n>>2]))+-1894007588|0;c[o>>2]=c[p>>2]^c[p+8>>2]^c[p+32>>2]^c[p+52>>2];f=um(c[o>>2]|0,1)|0;c[p>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[l>>2]&c[m>>2]|c[n>>2]&(c[l>>2]|c[m>>2]))+-1894007588|0;c[o>>2]=c[p+4>>2]^c[p+12>>2]^c[p+36>>2]^c[p+56>>2];f=um(c[o>>2]|0,1)|0;c[p+4>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[k>>2]&c[l>>2]|c[m>>2]&(c[k>>2]|c[l>>2]))+-1894007588|0;c[o>>2]=c[p+8>>2]^c[p+16>>2]^c[p+40>>2]^c[p+60>>2];f=um(c[o>>2]|0,1)|0;c[p+8>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[j>>2]&c[k>>2]|c[l>>2]&(c[j>>2]|c[k>>2]))+-1894007588|0;c[o>>2]=c[p+12>>2]^c[p+20>>2]^c[p+44>>2]^c[p>>2];f=um(c[o>>2]|0,1)|0;c[p+12>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[n>>2]&c[j>>2]|c[k>>2]&(c[n>>2]|c[j>>2]))+-1894007588|0;c[o>>2]=c[p+16>>2]^c[p+24>>2]^c[p+48>>2]^c[p+4>>2];f=um(c[o>>2]|0,1)|0;c[p+16>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[m>>2]&c[n>>2]|c[j>>2]&(c[m>>2]|c[n>>2]))+-1894007588|0;c[o>>2]=c[p+20>>2]^c[p+28>>2]^c[p+52>>2]^c[p+8>>2];f=um(c[o>>2]|0,1)|0;c[p+20>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[l>>2]&c[m>>2]|c[n>>2]&(c[l>>2]|c[m>>2]))+-1894007588|0;c[o>>2]=c[p+24>>2]^c[p+32>>2]^c[p+56>>2]^c[p+12>>2];f=um(c[o>>2]|0,1)|0;c[p+24>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[k>>2]&c[l>>2]|c[m>>2]&(c[k>>2]|c[l>>2]))+-1894007588|0;c[o>>2]=c[p+28>>2]^c[p+36>>2]^c[p+60>>2]^c[p+16>>2];f=um(c[o>>2]|0,1)|0;c[p+28>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[j>>2]&c[k>>2]|c[l>>2]&(c[j>>2]|c[k>>2]))+-1894007588|0;c[o>>2]=c[p+32>>2]^c[p+40>>2]^c[p>>2]^c[p+20>>2];f=um(c[o>>2]|0,1)|0;c[p+32>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[n>>2]&c[j>>2]|c[k>>2]&(c[n>>2]|c[j>>2]))+-1894007588|0;c[o>>2]=c[p+36>>2]^c[p+44>>2]^c[p+4>>2]^c[p+24>>2];f=um(c[o>>2]|0,1)|0;c[p+36>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[m>>2]&c[n>>2]|c[j>>2]&(c[m>>2]|c[n>>2]))+-1894007588|0;c[o>>2]=c[p+40>>2]^c[p+48>>2]^c[p+8>>2]^c[p+28>>2];f=um(c[o>>2]|0,1)|0;c[p+40>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[l>>2]&c[m>>2]|c[n>>2]&(c[l>>2]|c[m>>2]))+-1894007588|0;c[o>>2]=c[p+44>>2]^c[p+52>>2]^c[p+12>>2]^c[p+32>>2];f=um(c[o>>2]|0,1)|0;c[p+44>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[k>>2]^c[l>>2]^c[m>>2])+-899497514|0;c[o>>2]=c[p+48>>2]^c[p+56>>2]^c[p+16>>2]^c[p+36>>2];f=um(c[o>>2]|0,1)|0;c[p+48>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[j>>2]^c[k>>2]^c[l>>2])+-899497514|0;c[o>>2]=c[p+52>>2]^c[p+60>>2]^c[p+20>>2]^c[p+40>>2];f=um(c[o>>2]|0,1)|0;c[p+52>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[n>>2]^c[j>>2]^c[k>>2])+-899497514|0;c[o>>2]=c[p+56>>2]^c[p>>2]^c[p+24>>2]^c[p+44>>2];f=um(c[o>>2]|0,1)|0;c[p+56>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[m>>2]^c[n>>2]^c[j>>2])+-899497514|0;c[o>>2]=c[p+60>>2]^c[p+4>>2]^c[p+28>>2]^c[p+48>>2];f=um(c[o>>2]|0,1)|0;c[p+60>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[l>>2]^c[m>>2]^c[n>>2])+-899497514|0;c[o>>2]=c[p>>2]^c[p+8>>2]^c[p+32>>2]^c[p+52>>2];f=um(c[o>>2]|0,1)|0;c[p>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[k>>2]^c[l>>2]^c[m>>2])+-899497514|0;c[o>>2]=c[p+4>>2]^c[p+12>>2]^c[p+36>>2]^c[p+56>>2];f=um(c[o>>2]|0,1)|0;c[p+4>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[j>>2]^c[k>>2]^c[l>>2])+-899497514|0;c[o>>2]=c[p+8>>2]^c[p+16>>2]^c[p+40>>2]^c[p+60>>2];f=um(c[o>>2]|0,1)|0;c[p+8>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[n>>2]^c[j>>2]^c[k>>2])+-899497514|0;c[o>>2]=c[p+12>>2]^c[p+20>>2]^c[p+44>>2]^c[p>>2];f=um(c[o>>2]|0,1)|0;c[p+12>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[m>>2]^c[n>>2]^c[j>>2])+-899497514|0;c[o>>2]=c[p+16>>2]^c[p+24>>2]^c[p+48>>2]^c[p+4>>2];f=um(c[o>>2]|0,1)|0;c[p+16>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[l>>2]^c[m>>2]^c[n>>2])+-899497514|0;c[o>>2]=c[p+20>>2]^c[p+28>>2]^c[p+52>>2]^c[p+8>>2];f=um(c[o>>2]|0,1)|0;c[p+20>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[k>>2]^c[l>>2]^c[m>>2])+-899497514|0;c[o>>2]=c[p+24>>2]^c[p+32>>2]^c[p+56>>2]^c[p+12>>2];f=um(c[o>>2]|0,1)|0;c[p+24>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[j>>2]^c[k>>2]^c[l>>2])+-899497514|0;c[o>>2]=c[p+28>>2]^c[p+36>>2]^c[p+60>>2]^c[p+16>>2];f=um(c[o>>2]|0,1)|0;c[p+28>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[n>>2]^c[j>>2]^c[k>>2])+-899497514|0;c[o>>2]=c[p+32>>2]^c[p+40>>2]^c[p>>2]^c[p+20>>2];f=um(c[o>>2]|0,1)|0;c[p+32>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[m>>2]^c[n>>2]^c[j>>2])+-899497514|0;c[o>>2]=c[p+36>>2]^c[p+44>>2]^c[p+4>>2]^c[p+24>>2];f=um(c[o>>2]|0,1)|0;c[p+36>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[l>>2]^c[m>>2]^c[n>>2])+-899497514|0;c[o>>2]=c[p+40>>2]^c[p+48>>2]^c[p+8>>2]^c[p+28>>2];f=um(c[o>>2]|0,1)|0;c[p+40>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[k>>2]^c[l>>2]^c[m>>2])+-899497514|0;c[o>>2]=c[p+44>>2]^c[p+52>>2]^c[p+12>>2]^c[p+32>>2];f=um(c[o>>2]|0,1)|0;c[p+44>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[j>>2]^c[k>>2]^c[l>>2])+-899497514|0;c[o>>2]=c[p+48>>2]^c[p+56>>2]^c[p+16>>2]^c[p+36>>2];f=um(c[o>>2]|0,1)|0;c[p+48>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[n>>2]^c[j>>2]^c[k>>2])+-899497514|0;c[o>>2]=c[p+52>>2]^c[p+60>>2]^c[p+20>>2]^c[p+40>>2];f=um(c[o>>2]|0,1)|0;c[p+52>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[m>>2]^c[n>>2]^c[j>>2])+-899497514|0;c[o>>2]=c[p+56>>2]^c[p>>2]^c[p+24>>2]^c[p+44>>2];f=um(c[o>>2]|0,1)|0;c[p+56>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[l>>2]^c[m>>2]^c[n>>2])+-899497514|0;c[o>>2]=c[p+60>>2]^c[p+4>>2]^c[p+28>>2]^c[p+48>>2];f=um(c[o>>2]|0,1)|0;c[p+60>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=(c[g>>2]|0)+160|0;c[f>>2]=(c[f>>2]|0)+(c[j>>2]|0);j=(c[g>>2]|0)+164|0;c[j>>2]=(c[j>>2]|0)+(c[k>>2]|0);k=(c[g>>2]|0)+168|0;c[k>>2]=(c[k>>2]|0)+(c[l>>2]|0);l=(c[g>>2]|0)+172|0;c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);m=(c[g>>2]|0)+176|0;c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);i=d;return 104}function um(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;i=d;return c[e>>2]<<(c[f>>2]&31)|(c[e>>2]|0)>>>(32-(c[f>>2]|0)&31)|0}function vm(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];i=b;return (d[c[f>>2]>>0]|0)<<24|(d[(c[f>>2]|0)+1>>0]|0)<<16|(d[(c[f>>2]|0)+2>>0]|0)<<8|(d[(c[f>>2]|0)+3>>0]|0)|0}function wm(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;d=i;i=i+32|0;e=d+28|0;f=d+24|0;g=d+20|0;h=d+16|0;j=d+12|0;k=d+8|0;l=d+4|0;m=d;c[e>>2]=b;c[f>>2]=c[e>>2];rs(c[f>>2]|0,0,0);c[g>>2]=c[(c[f>>2]|0)+128>>2];c[h>>2]=c[(c[f>>2]|0)+128+4>>2];c[k>>2]=c[g>>2]<<6;c[j>>2]=c[h>>2]<<6|(c[g>>2]|0)>>>26;c[g>>2]=c[k>>2];h=(c[k>>2]|0)+(c[(c[f>>2]|0)+144>>2]|0)|0;c[k>>2]=h;if(h>>>0<(c[g>>2]|0)>>>0)c[j>>2]=(c[j>>2]|0)+1;c[g>>2]=c[k>>2];c[k>>2]=c[k>>2]<<3;c[j>>2]=c[j>>2]<<3;c[j>>2]=c[j>>2]|(c[g>>2]|0)>>>29;g=(c[(c[f>>2]|0)+144>>2]|0)<56;h=(c[f>>2]|0)+144|0;e=c[h>>2]|0;c[h>>2]=e+1;a[(c[f>>2]|0)+e>>0]=-128;a:do if(g)while(1){if((c[(c[f>>2]|0)+144>>2]|0)>=56)break a;e=(c[f>>2]|0)+144|0;h=c[e>>2]|0;c[e>>2]=h+1;a[(c[f>>2]|0)+h>>0]=0}else{while(1){n=c[f>>2]|0;if((c[(c[f>>2]|0)+144>>2]|0)>=64)break;h=n+144|0;e=c[h>>2]|0;c[h>>2]=e+1;a[(c[f>>2]|0)+e>>0]=0}rs(n,0,0);e=c[f>>2]|0;h=e+56|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0))}while(0);xm((c[f>>2]|0)+56|0,c[j>>2]|0);xm((c[f>>2]|0)+60|0,c[k>>2]|0);c[m>>2]=sm(c[f>>2]|0,c[f>>2]|0,1)|0;If(c[m>>2]|0);Jf();c[l>>2]=c[f>>2];xm(c[l>>2]|0,c[(c[f>>2]|0)+160>>2]|0);c[l>>2]=(c[l>>2]|0)+4;xm(c[l>>2]|0,c[(c[f>>2]|0)+164>>2]|0);c[l>>2]=(c[l>>2]|0)+4;xm(c[l>>2]|0,c[(c[f>>2]|0)+168>>2]|0);c[l>>2]=(c[l>>2]|0)+4;xm(c[l>>2]|0,c[(c[f>>2]|0)+172>>2]|0);c[l>>2]=(c[l>>2]|0)+4;xm(c[l>>2]|0,c[(c[f>>2]|0)+176>>2]|0);c[l>>2]=(c[l>>2]|0)+4;i=d;return}function xm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];a[c[h>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[h>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[h>>2]|0)+3>>0]=c[g>>2];i=e;return}function ym(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];i=b;return c[e>>2]|0}function zm(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+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[f>>2]|0)==2){c[j>>2]=Am(c[g>>2]|0,c[h>>2]|0)|0;k=c[j>>2]|0;i=e;return k|0}else{c[j>>2]=5;k=c[j>>2]|0;i=e;return k|0}return 0}function Am(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=42864;c[j>>2]=qs(2,0,42877,3,42367,20)|0;do if(!(c[j>>2]|0)){if(c[f>>2]|0){c[h>>2]=42930;c[j>>2]=qs(2,0,42508,56,42388,20)|0;if(c[j>>2]|0)break;c[h>>2]=43104;c[j>>2]=qs(2,1,0,0,42409,20)|0;if(c[j>>2]|0)break}c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}while(0);if(c[g>>2]|0)Fb[c[g>>2]&1](43169,2,c[h>>2]|0,c[j>>2]|0);c[e>>2]=50;k=c[e>>2]|0;i=d;return k|0}function Bm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+208|0;g=f+192|0;h=f+188|0;j=f+184|0;k=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;rm(k,0);rs(k,c[h>>2]|0,c[j>>2]|0);wm(k);j=c[g>>2]|0;g=k;k=j+20|0;do{a[j>>0]=a[g>>0]|0;j=j+1|0;g=g+1|0}while((j|0)<(k|0));i=f;return}function Cm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+208|0;g=f+192|0;h=f+188|0;j=f+184|0;k=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;rm(k,0);while(1){if((c[j>>2]|0)<=0)break;rs(k,(c[(c[h>>2]|0)+12>>2]|0)+(c[(c[h>>2]|0)+4>>2]|0)|0,c[(c[h>>2]|0)+8>>2]|0);c[h>>2]=(c[h>>2]|0)+16;c[j>>2]=(c[j>>2]|0)+-1}wm(k);j=c[g>>2]|0;g=k;k=j+20|0;do{a[j>>0]=a[g>>0]|0;j=j+1|0;g=g+1|0}while((j|0)<(k|0));i=f;return}function Dm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+12|0;f=d+4|0;c[e>>2]=a;c[d+8>>2]=b;c[f>>2]=c[e>>2];c[d>>2]=Vg()|0;c[(c[f>>2]|0)+160>>2]=-1056596264;c[(c[f>>2]|0)+164>>2]=914150663;c[(c[f>>2]|0)+168>>2]=812702999;c[(c[f>>2]|0)+172>>2]=-150054599;c[(c[f>>2]|0)+176>>2]=-4191439;c[(c[f>>2]|0)+180>>2]=1750603025;c[(c[f>>2]|0)+184>>2]=1694076839;c[(c[f>>2]|0)+188>>2]=-1090891868;e=(c[f>>2]|0)+128|0;c[e>>2]=0;c[e+4>>2]=0;e=(c[f>>2]|0)+136|0;c[e>>2]=0;c[e+4>>2]=0;c[(c[f>>2]|0)+144>>2]=0;c[(c[f>>2]|0)+148>>2]=64;c[(c[f>>2]|0)+152>>2]=33;i=d;return}function Em(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+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[f>>2];do{c[k>>2]=Fm(c[j>>2]|0,c[g>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+64;f=(c[h>>2]|0)+-1|0;c[h>>2]=f}while((f|0)!=0);i=e;return c[k>>2]|0}function Fm(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+320|0;e=d+312|0;f=d+308|0;g=d+304|0;h=d+300|0;j=d+296|0;k=d+292|0;l=d+288|0;m=d+284|0;n=d+280|0;o=d+276|0;p=d+272|0;q=d+268|0;r=d+264|0;s=d+8|0;t=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[e>>2];c[h>>2]=c[(c[g>>2]|0)+160>>2];c[j>>2]=c[(c[g>>2]|0)+164>>2];c[k>>2]=c[(c[g>>2]|0)+168>>2];c[l>>2]=c[(c[g>>2]|0)+172>>2];c[m>>2]=c[(c[g>>2]|0)+176>>2];c[n>>2]=c[(c[g>>2]|0)+180>>2];c[o>>2]=c[(c[g>>2]|0)+184>>2];c[p>>2]=c[(c[g>>2]|0)+188>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=16)break;e=Gm((c[f>>2]|0)+(c[t>>2]<<2)|0)|0;c[s+(c[t>>2]<<2)>>2]=e;c[t>>2]=(c[t>>2]|0)+1}while(1){if((c[t>>2]|0)>=64)break;f=Hm(c[s+((c[t>>2]|0)-2<<2)>>2]|0,17)|0;e=f^(Hm(c[s+((c[t>>2]|0)-2<<2)>>2]|0,19)|0);f=(e^(c[s+((c[t>>2]|0)-2<<2)>>2]|0)>>>10)+(c[s+((c[t>>2]|0)-7<<2)>>2]|0)|0;e=Hm(c[s+((c[t>>2]|0)-15<<2)>>2]|0,7)|0;b=e^(Hm(c[s+((c[t>>2]|0)-15<<2)>>2]|0,18)|0);c[s+(c[t>>2]<<2)>>2]=f+(b^(c[s+((c[t>>2]|0)-15<<2)>>2]|0)>>>3)+(c[s+((c[t>>2]|0)-16<<2)>>2]|0);c[t>>2]=(c[t>>2]|0)+1}c[t>>2]=0;while(1){if((c[t>>2]|0)>=64)break;b=c[p>>2]|0;f=b+(Im(c[m>>2]|0)|0)|0;b=f+(Jm(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0)|0;c[q>>2]=b+(c[7860+(c[t>>2]<<2)>>2]|0)+(c[s+(c[t>>2]<<2)>>2]|0);b=Km(c[h>>2]|0)|0;c[r>>2]=b+(Lm(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0);c[l>>2]=(c[l>>2]|0)+(c[q>>2]|0);c[p>>2]=(c[q>>2]|0)+(c[r>>2]|0);b=c[o>>2]|0;f=b+(Im(c[l>>2]|0)|0)|0;b=f+(Jm(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)|0;c[q>>2]=b+(c[7860+((c[t>>2]|0)+1<<2)>>2]|0)+(c[s+((c[t>>2]|0)+1<<2)>>2]|0);b=Km(c[p>>2]|0)|0;c[r>>2]=b+(Lm(c[p>>2]|0,c[h>>2]|0,c[j>>2]|0)|0);c[k>>2]=(c[k>>2]|0)+(c[q>>2]|0);c[o>>2]=(c[q>>2]|0)+(c[r>>2]|0);b=c[n>>2]|0;f=b+(Im(c[k>>2]|0)|0)|0;b=f+(Jm(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)|0;c[q>>2]=b+(c[7860+((c[t>>2]|0)+2<<2)>>2]|0)+(c[s+((c[t>>2]|0)+2<<2)>>2]|0);b=Km(c[o>>2]|0)|0;c[r>>2]=b+(Lm(c[o>>2]|0,c[p>>2]|0,c[h>>2]|0)|0);c[j>>2]=(c[j>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[q>>2]|0)+(c[r>>2]|0);b=c[m>>2]|0;f=b+(Im(c[j>>2]|0)|0)|0;b=f+(Jm(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0)|0;c[q>>2]=b+(c[7860+((c[t>>2]|0)+3<<2)>>2]|0)+(c[s+((c[t>>2]|0)+3<<2)>>2]|0);b=Km(c[n>>2]|0)|0;c[r>>2]=b+(Lm(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0);c[h>>2]=(c[h>>2]|0)+(c[q>>2]|0);c[m>>2]=(c[q>>2]|0)+(c[r>>2]|0);b=c[l>>2]|0;f=b+(Im(c[h>>2]|0)|0)|0;b=f+(Jm(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)|0;c[q>>2]=b+(c[7860+((c[t>>2]|0)+4<<2)>>2]|0)+(c[s+((c[t>>2]|0)+4<<2)>>2]|0);b=Km(c[m>>2]|0)|0;c[r>>2]=b+(Lm(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0);c[p>>2]=(c[p>>2]|0)+(c[q>>2]|0);c[l>>2]=(c[q>>2]|0)+(c[r>>2]|0);b=c[k>>2]|0;f=b+(Im(c[p>>2]|0)|0)|0;b=f+(Jm(c[p>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)|0;c[q>>2]=b+(c[7860+((c[t>>2]|0)+5<<2)>>2]|0)+(c[s+((c[t>>2]|0)+5<<2)>>2]|0);b=Km(c[l>>2]|0)|0;c[r>>2]=b+(Lm(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0);c[o>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[k>>2]=(c[q>>2]|0)+(c[r>>2]|0);b=c[j>>2]|0;f=b+(Im(c[o>>2]|0)|0)|0;b=f+(Jm(c[o>>2]|0,c[p>>2]|0,c[h>>2]|0)|0)|0;c[q>>2]=b+(c[7860+((c[t>>2]|0)+6<<2)>>2]|0)+(c[s+((c[t>>2]|0)+6<<2)>>2]|0);b=Km(c[k>>2]|0)|0;c[r>>2]=b+(Lm(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0);c[n>>2]=(c[n>>2]|0)+(c[q>>2]|0);c[j>>2]=(c[q>>2]|0)+(c[r>>2]|0);b=c[h>>2]|0;f=b+(Im(c[n>>2]|0)|0)|0;b=f+(Jm(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0)|0;c[q>>2]=b+(c[7860+((c[t>>2]|0)+7<<2)>>2]|0)+(c[s+((c[t>>2]|0)+7<<2)>>2]|0);b=Km(c[j>>2]|0)|0;c[r>>2]=b+(Lm(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0);c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[h>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[t>>2]=(c[t>>2]|0)+8}t=(c[g>>2]|0)+160|0;c[t>>2]=(c[t>>2]|0)+(c[h>>2]|0);h=(c[g>>2]|0)+164|0;c[h>>2]=(c[h>>2]|0)+(c[j>>2]|0);j=(c[g>>2]|0)+168|0;c[j>>2]=(c[j>>2]|0)+(c[k>>2]|0);k=(c[g>>2]|0)+172|0;c[k>>2]=(c[k>>2]|0)+(c[l>>2]|0);l=(c[g>>2]|0)+176|0;c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);m=(c[g>>2]|0)+180|0;c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);n=(c[g>>2]|0)+184|0;c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);o=(c[g>>2]|0)+188|0;c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);i=d;return 328}function Gm(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];i=b;return (d[c[f>>2]>>0]|0)<<24|(d[(c[f>>2]|0)+1>>0]|0)<<16|(d[(c[f>>2]|0)+2>>0]|0)<<8|(d[(c[f>>2]|0)+3>>0]|0)|0}function Hm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;i=d;return (c[e>>2]|0)>>>(c[f>>2]&31)|c[e>>2]<<(32-(c[f>>2]|0)&31)|0}function Im(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Hm(c[d>>2]|0,6)|0;e=a^(Hm(c[d>>2]|0,11)|0);a=e^(Hm(c[d>>2]|0,25)|0);i=b;return a|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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;i=e;return c[h>>2]^c[f>>2]&(c[g>>2]^c[h>>2])|0}function Km(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Hm(c[d>>2]|0,2)|0;e=a^(Hm(c[d>>2]|0,13)|0);a=e^(Hm(c[d>>2]|0,22)|0);i=b;return a|0}function Lm(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+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;i=e;return c[f>>2]&c[g>>2]|c[h>>2]&(c[f>>2]|c[g>>2])|0}function Mm(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;d=i;i=i+32|0;e=d+28|0;f=d+24|0;g=d+20|0;h=d+16|0;j=d+12|0;k=d+8|0;l=d+4|0;m=d;c[e>>2]=b;c[f>>2]=c[e>>2];rs(c[f>>2]|0,0,0);c[g>>2]=c[(c[f>>2]|0)+128>>2];c[h>>2]=c[(c[f>>2]|0)+128+4>>2];c[k>>2]=c[g>>2]<<6;c[j>>2]=c[h>>2]<<6|(c[g>>2]|0)>>>26;c[g>>2]=c[k>>2];h=(c[k>>2]|0)+(c[(c[f>>2]|0)+144>>2]|0)|0;c[k>>2]=h;if(h>>>0<(c[g>>2]|0)>>>0)c[j>>2]=(c[j>>2]|0)+1;c[g>>2]=c[k>>2];c[k>>2]=c[k>>2]<<3;c[j>>2]=c[j>>2]<<3;c[j>>2]=c[j>>2]|(c[g>>2]|0)>>>29;g=(c[(c[f>>2]|0)+144>>2]|0)<56;h=(c[f>>2]|0)+144|0;e=c[h>>2]|0;c[h>>2]=e+1;a[(c[f>>2]|0)+e>>0]=-128;a:do if(g)while(1){if((c[(c[f>>2]|0)+144>>2]|0)>=56)break a;e=(c[f>>2]|0)+144|0;h=c[e>>2]|0;c[e>>2]=h+1;a[(c[f>>2]|0)+h>>0]=0}else{while(1){n=c[f>>2]|0;if((c[(c[f>>2]|0)+144>>2]|0)>=64)break;h=n+144|0;e=c[h>>2]|0;c[h>>2]=e+1;a[(c[f>>2]|0)+e>>0]=0}rs(n,0,0);e=c[f>>2]|0;h=e+56|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0))}while(0);Nm((c[f>>2]|0)+56|0,c[j>>2]|0);Nm((c[f>>2]|0)+60|0,c[k>>2]|0);c[m>>2]=Em(c[f>>2]|0,c[f>>2]|0,1)|0;If(c[m>>2]|0);Jf();c[l>>2]=c[f>>2];Nm(c[l>>2]|0,c[(c[f>>2]|0)+160>>2]|0);c[l>>2]=(c[l>>2]|0)+4;Nm(c[l>>2]|0,c[(c[f>>2]|0)+164>>2]|0);c[l>>2]=(c[l>>2]|0)+4;Nm(c[l>>2]|0,c[(c[f>>2]|0)+168>>2]|0);c[l>>2]=(c[l>>2]|0)+4;Nm(c[l>>2]|0,c[(c[f>>2]|0)+172>>2]|0);c[l>>2]=(c[l>>2]|0)+4;Nm(c[l>>2]|0,c[(c[f>>2]|0)+176>>2]|0);c[l>>2]=(c[l>>2]|0)+4;Nm(c[l>>2]|0,c[(c[f>>2]|0)+180>>2]|0);c[l>>2]=(c[l>>2]|0)+4;Nm(c[l>>2]|0,c[(c[f>>2]|0)+184>>2]|0);c[l>>2]=(c[l>>2]|0)+4;Nm(c[l>>2]|0,c[(c[f>>2]|0)+188>>2]|0);c[l>>2]=(c[l>>2]|0)+4;i=d;return}function Nm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];a[c[h>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[h>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[h>>2]|0)+3>>0]=c[g>>2];i=e;return}function Om(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];i=b;return c[e>>2]|0}function Pm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;switch(c[f>>2]|0){case 11:{c[j>>2]=Qm(c[g>>2]|0,c[h>>2]|0)|0;break}case 8:{c[j>>2]=Rm(c[g>>2]|0,c[h>>2]|0)|0;break}default:c[j>>2]=5}i=e;return c[j>>2]|0}function Qm(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=42864;c[j>>2]=qs(11,0,42877,3,42479,28)|0;do if(!(c[j>>2]|0)){if(c[f>>2]|0){c[h>>2]=42930;c[j>>2]=qs(11,0,42508,56,42565,28)|0;if(c[j>>2]|0)break;c[h>>2]=43104;c[j>>2]=qs(11,1,0,0,42594,28)|0;if(c[j>>2]|0)break}c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}while(0);if(c[g>>2]|0)Fb[c[g>>2]&1](43169,11,c[h>>2]|0,c[j>>2]|0);c[e>>2]=50;k=c[e>>2]|0;i=d;return k|0}function Rm(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=42864;c[j>>2]=qs(8,0,42877,3,42623,32)|0;do if(!(c[j>>2]|0)){if(c[f>>2]|0){c[h>>2]=42930;c[j>>2]=qs(8,0,42508,56,42656,32)|0;if(c[j>>2]|0)break;c[h>>2]=43104;c[j>>2]=qs(8,1,0,0,42689,32)|0;if(c[j>>2]|0)break}c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}while(0);if(c[g>>2]|0)Fb[c[g>>2]&1](43169,8,c[h>>2]|0,c[j>>2]|0);c[e>>2]=50;k=c[e>>2]|0;i=d;return k|0}function Sm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+12|0;f=d+4|0;c[e>>2]=a;c[d+8>>2]=b;c[f>>2]=c[e>>2];c[d>>2]=Vg()|0;c[(c[f>>2]|0)+160>>2]=1779033703;c[(c[f>>2]|0)+164>>2]=-1150833019;c[(c[f>>2]|0)+168>>2]=1013904242;c[(c[f>>2]|0)+172>>2]=-1521486534;c[(c[f>>2]|0)+176>>2]=1359893119;c[(c[f>>2]|0)+180>>2]=-1694144372;c[(c[f>>2]|0)+184>>2]=528734635;c[(c[f>>2]|0)+188>>2]=1541459225;e=(c[f>>2]|0)+128|0;c[e>>2]=0;c[e+4>>2]=0;e=(c[f>>2]|0)+136|0;c[e>>2]=0;c[e+4>>2]=0;c[(c[f>>2]|0)+144>>2]=0;c[(c[f>>2]|0)+148>>2]=64;c[(c[f>>2]|0)+152>>2]=33;i=d;return}function Tm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;e=d+16|0;f=d+8|0;g=d+4|0;c[e>>2]=a;c[d+12>>2]=b;c[f>>2]=c[e>>2];c[g>>2]=(c[f>>2]|0)+160;c[d>>2]=Vg()|0;e=c[g>>2]|0;c[e>>2]=-205731576;c[e+4>>2]=1779033703;e=(c[g>>2]|0)+8|0;c[e>>2]=-2067093701;c[e+4>>2]=-1150833019;e=(c[g>>2]|0)+16|0;c[e>>2]=-23791573;c[e+4>>2]=1013904242;e=(c[g>>2]|0)+24|0;c[e>>2]=1595750129;c[e+4>>2]=-1521486534;e=(c[g>>2]|0)+32|0;c[e>>2]=-1377402159;c[e+4>>2]=1359893119;e=(c[g>>2]|0)+40|0;c[e>>2]=725511199;c[e+4>>2]=-1694144372;e=(c[g>>2]|0)+48|0;c[e>>2]=-79577749;c[e+4>>2]=528734635;e=(c[g>>2]|0)+56|0;c[e>>2]=327033209;c[e+4>>2]=1541459225;e=(c[f>>2]|0)+128|0;c[e>>2]=0;c[e+4>>2]=0;e=(c[f>>2]|0)+136|0;c[e>>2]=0;c[e+4>>2]=0;c[(c[f>>2]|0)+144>>2]=0;c[(c[f>>2]|0)+148>>2]=128;c[(c[f>>2]|0)+152>>2]=34;i=d;return}function Um(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+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[f>>2];do{c[k>>2]=(Vm((c[j>>2]|0)+160|0,c[g>>2]|0)|0)+12;c[g>>2]=(c[g>>2]|0)+128;f=(c[h>>2]|0)+-1|0;c[h>>2]=f}while((f|0)!=0);i=e;return c[k>>2]|0}function Vm(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;d=i;i=i+240|0;e=d+232|0;f=d+228|0;g=d+216|0;h=d+208|0;j=d+200|0;k=d+192|0;l=d+184|0;m=d+176|0;n=d+168|0;o=d+160|0;p=d+32|0;q=d+224|0;r=d+24|0;s=d+16|0;t=d+8|0;u=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;a=c[b+4>>2]|0;v=g;c[v>>2]=c[b>>2];c[v+4>>2]=a;a=(c[e>>2]|0)+8|0;v=c[a+4>>2]|0;b=h;c[b>>2]=c[a>>2];c[b+4>>2]=v;v=(c[e>>2]|0)+16|0;b=c[v+4>>2]|0;a=j;c[a>>2]=c[v>>2];c[a+4>>2]=b;b=(c[e>>2]|0)+24|0;a=c[b+4>>2]|0;v=k;c[v>>2]=c[b>>2];c[v+4>>2]=a;a=(c[e>>2]|0)+32|0;v=c[a+4>>2]|0;b=l;c[b>>2]=c[a>>2];c[b+4>>2]=v;v=(c[e>>2]|0)+40|0;b=c[v+4>>2]|0;a=m;c[a>>2]=c[v>>2];c[a+4>>2]=b;b=(c[e>>2]|0)+48|0;a=c[b+4>>2]|0;v=n;c[v>>2]=c[b>>2];c[v+4>>2]=a;a=(c[e>>2]|0)+56|0;v=c[a+4>>2]|0;b=o;c[b>>2]=c[a>>2];c[b+4>>2]=v;c[q>>2]=0;while(1){if((c[q>>2]|0)>=16)break;v=Wm((c[f>>2]|0)+(c[q>>2]<<3)|0)|0;b=p+(c[q>>2]<<3)|0;c[b>>2]=v;c[b+4>>2]=C;c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){if((c[q>>2]|0)>=64)break;f=o;b=c[f>>2]|0;v=c[f+4>>2]|0;f=l;a=Xm(c[f>>2]|0,c[f+4>>2]|0)|0;f=Ax(b|0,v|0,a|0,C|0)|0;a=C;v=l;b=m;w=n;x=Zm(c[v>>2]|0,c[v+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=Ax(f|0,a|0,x|0,C|0)|0;x=80+(c[q>>2]<<3)|0;a=Ax(w|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=p;w=Ax(a|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=r;c[x>>2]=w;c[x+4>>2]=C;x=p+112|0;w=Ym(c[x>>2]|0,c[x+4>>2]|0,19,0)|0;x=C;a=p+112|0;f=Ym(c[a>>2]|0,c[a+4>>2]|0,61,0)|0;a=x^C;x=p+112|0;b=Cx(c[x>>2]|0,c[x+4>>2]|0,6)|0;x=p+72|0;v=Ax(w^f^b|0,a^C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=C;a=p+8|0;b=Ym(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;a=C;f=p+8|0;w=Ym(c[f>>2]|0,c[f+4>>2]|0,8,0)|0;f=a^C;a=p+8|0;y=Cx(c[a>>2]|0,c[a+4>>2]|0,7)|0;a=Ax(v|0,x|0,b^w^y|0,f^C|0)|0;f=p;y=Ax(c[f>>2]|0,c[f+4>>2]|0,a|0,C|0)|0;a=p;c[a>>2]=y;c[a+4>>2]=C;a=g;y=_m(c[a>>2]|0,c[a+4>>2]|0)|0;a=C;f=g;w=h;b=j;x=$m(c[f>>2]|0,c[f+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(y|0,a|0,x|0,C|0)|0;x=s;c[x>>2]=b;c[x+4>>2]=C;x=r;b=k;a=Ax(c[b>>2]|0,c[b+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=k;c[x>>2]=a;c[x+4>>2]=C;x=r;a=s;b=Ax(c[x>>2]|0,c[x+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=o;c[a>>2]=b;c[a+4>>2]=C;a=n;b=c[a>>2]|0;x=c[a+4>>2]|0;a=k;y=Xm(c[a>>2]|0,c[a+4>>2]|0)|0;a=Ax(b|0,x|0,y|0,C|0)|0;y=C;x=k;b=l;w=m;f=Zm(c[x>>2]|0,c[x+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=Ax(a|0,y|0,f|0,C|0)|0;f=80+((c[q>>2]|0)+1<<3)|0;y=Ax(w|0,C|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=p+8|0;w=Ax(y|0,C|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=r;c[f>>2]=w;c[f+4>>2]=C;f=p+120|0;w=Ym(c[f>>2]|0,c[f+4>>2]|0,19,0)|0;f=C;y=p+120|0;a=Ym(c[y>>2]|0,c[y+4>>2]|0,61,0)|0;y=f^C;f=p+120|0;b=Cx(c[f>>2]|0,c[f+4>>2]|0,6)|0;f=p+80|0;x=Ax(w^a^b|0,y^C|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=C;y=p+16|0;b=Ym(c[y>>2]|0,c[y+4>>2]|0,1,0)|0;y=C;a=p+16|0;w=Ym(c[a>>2]|0,c[a+4>>2]|0,8,0)|0;a=y^C;y=p+16|0;v=Cx(c[y>>2]|0,c[y+4>>2]|0,7)|0;y=Ax(x|0,f|0,b^w^v|0,a^C|0)|0;a=p+8|0;v=a;w=Ax(c[v>>2]|0,c[v+4>>2]|0,y|0,C|0)|0;y=a;c[y>>2]=w;c[y+4>>2]=C;y=o;w=_m(c[y>>2]|0,c[y+4>>2]|0)|0;y=C;a=o;v=g;b=h;f=$m(c[a>>2]|0,c[a+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(w|0,y|0,f|0,C|0)|0;f=s;c[f>>2]=b;c[f+4>>2]=C;f=r;b=j;y=Ax(c[b>>2]|0,c[b+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=j;c[f>>2]=y;c[f+4>>2]=C;f=r;y=s;b=Ax(c[f>>2]|0,c[f+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=n;c[y>>2]=b;c[y+4>>2]=C;y=m;b=c[y>>2]|0;f=c[y+4>>2]|0;y=j;w=Xm(c[y>>2]|0,c[y+4>>2]|0)|0;y=Ax(b|0,f|0,w|0,C|0)|0;w=C;f=j;b=k;v=l;a=Zm(c[f>>2]|0,c[f+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=Ax(y|0,w|0,a|0,C|0)|0;a=80+((c[q>>2]|0)+2<<3)|0;w=Ax(v|0,C|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=p+16|0;v=Ax(w|0,C|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=r;c[a>>2]=v;c[a+4>>2]=C;a=p;v=Ym(c[a>>2]|0,c[a+4>>2]|0,19,0)|0;a=C;w=p;y=Ym(c[w>>2]|0,c[w+4>>2]|0,61,0)|0;w=a^C;a=p;b=Cx(c[a>>2]|0,c[a+4>>2]|0,6)|0;a=p+88|0;f=Ax(v^y^b|0,w^C|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=C;w=p+24|0;b=Ym(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;w=C;y=p+24|0;v=Ym(c[y>>2]|0,c[y+4>>2]|0,8,0)|0;y=w^C;w=p+24|0;x=Cx(c[w>>2]|0,c[w+4>>2]|0,7)|0;w=Ax(f|0,a|0,b^v^x|0,y^C|0)|0;y=p+16|0;x=y;v=Ax(c[x>>2]|0,c[x+4>>2]|0,w|0,C|0)|0;w=y;c[w>>2]=v;c[w+4>>2]=C;w=n;v=_m(c[w>>2]|0,c[w+4>>2]|0)|0;w=C;y=n;x=o;b=g;a=$m(c[y>>2]|0,c[y+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(v|0,w|0,a|0,C|0)|0;a=s;c[a>>2]=b;c[a+4>>2]=C;a=r;b=h;w=Ax(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=h;c[a>>2]=w;c[a+4>>2]=C;a=r;w=s;b=Ax(c[a>>2]|0,c[a+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=m;c[w>>2]=b;c[w+4>>2]=C;w=l;b=c[w>>2]|0;a=c[w+4>>2]|0;w=h;v=Xm(c[w>>2]|0,c[w+4>>2]|0)|0;w=Ax(b|0,a|0,v|0,C|0)|0;v=C;a=h;b=j;x=k;y=Zm(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=Ax(w|0,v|0,y|0,C|0)|0;y=80+((c[q>>2]|0)+3<<3)|0;v=Ax(x|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=p+24|0;x=Ax(v|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=r;c[y>>2]=x;c[y+4>>2]=C;y=p+8|0;x=Ym(c[y>>2]|0,c[y+4>>2]|0,19,0)|0;y=C;v=p+8|0;w=Ym(c[v>>2]|0,c[v+4>>2]|0,61,0)|0;v=y^C;y=p+8|0;b=Cx(c[y>>2]|0,c[y+4>>2]|0,6)|0;y=p+96|0;a=Ax(x^w^b|0,v^C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=C;v=p+32|0;b=Ym(c[v>>2]|0,c[v+4>>2]|0,1,0)|0;v=C;w=p+32|0;x=Ym(c[w>>2]|0,c[w+4>>2]|0,8,0)|0;w=v^C;v=p+32|0;f=Cx(c[v>>2]|0,c[v+4>>2]|0,7)|0;v=Ax(a|0,y|0,b^x^f|0,w^C|0)|0;w=p+24|0;f=w;x=Ax(c[f>>2]|0,c[f+4>>2]|0,v|0,C|0)|0;v=w;c[v>>2]=x;c[v+4>>2]=C;v=m;x=_m(c[v>>2]|0,c[v+4>>2]|0)|0;v=C;w=m;f=n;b=o;y=$m(c[w>>2]|0,c[w+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(x|0,v|0,y|0,C|0)|0;y=s;c[y>>2]=b;c[y+4>>2]=C;y=r;b=g;v=Ax(c[b>>2]|0,c[b+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=g;c[y>>2]=v;c[y+4>>2]=C;y=r;v=s;b=Ax(c[y>>2]|0,c[y+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=l;c[v>>2]=b;c[v+4>>2]=C;v=k;b=c[v>>2]|0;y=c[v+4>>2]|0;v=g;x=Xm(c[v>>2]|0,c[v+4>>2]|0)|0;v=Ax(b|0,y|0,x|0,C|0)|0;x=C;y=g;b=h;f=j;w=Zm(c[y>>2]|0,c[y+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=Ax(v|0,x|0,w|0,C|0)|0;w=80+((c[q>>2]|0)+4<<3)|0;x=Ax(f|0,C|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=p+32|0;f=Ax(x|0,C|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=r;c[w>>2]=f;c[w+4>>2]=C;w=p+16|0;f=Ym(c[w>>2]|0,c[w+4>>2]|0,19,0)|0;w=C;x=p+16|0;v=Ym(c[x>>2]|0,c[x+4>>2]|0,61,0)|0;x=w^C;w=p+16|0;b=Cx(c[w>>2]|0,c[w+4>>2]|0,6)|0;w=p+104|0;y=Ax(f^v^b|0,x^C|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=C;x=p+40|0;b=Ym(c[x>>2]|0,c[x+4>>2]|0,1,0)|0;x=C;v=p+40|0;f=Ym(c[v>>2]|0,c[v+4>>2]|0,8,0)|0;v=x^C;x=p+40|0;a=Cx(c[x>>2]|0,c[x+4>>2]|0,7)|0;x=Ax(y|0,w|0,b^f^a|0,v^C|0)|0;v=p+32|0;a=v;f=Ax(c[a>>2]|0,c[a+4>>2]|0,x|0,C|0)|0;x=v;c[x>>2]=f;c[x+4>>2]=C;x=l;f=_m(c[x>>2]|0,c[x+4>>2]|0)|0;x=C;v=l;a=m;b=n;w=$m(c[v>>2]|0,c[v+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(f|0,x|0,w|0,C|0)|0;w=s;c[w>>2]=b;c[w+4>>2]=C;w=r;b=o;x=Ax(c[b>>2]|0,c[b+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=o;c[w>>2]=x;c[w+4>>2]=C;w=r;x=s;b=Ax(c[w>>2]|0,c[w+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=k;c[x>>2]=b;c[x+4>>2]=C;x=j;b=c[x>>2]|0;w=c[x+4>>2]|0;x=o;f=Xm(c[x>>2]|0,c[x+4>>2]|0)|0;x=Ax(b|0,w|0,f|0,C|0)|0;f=C;w=o;b=g;a=h;v=Zm(c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=Ax(x|0,f|0,v|0,C|0)|0;v=80+((c[q>>2]|0)+5<<3)|0;f=Ax(a|0,C|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=p+40|0;a=Ax(f|0,C|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=r;c[v>>2]=a;c[v+4>>2]=C;v=p+24|0;a=Ym(c[v>>2]|0,c[v+4>>2]|0,19,0)|0;v=C;f=p+24|0;x=Ym(c[f>>2]|0,c[f+4>>2]|0,61,0)|0;f=v^C;v=p+24|0;b=Cx(c[v>>2]|0,c[v+4>>2]|0,6)|0;v=p+112|0;w=Ax(a^x^b|0,f^C|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=C;f=p+48|0;b=Ym(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;f=C;x=p+48|0;a=Ym(c[x>>2]|0,c[x+4>>2]|0,8,0)|0;x=f^C;f=p+48|0;y=Cx(c[f>>2]|0,c[f+4>>2]|0,7)|0;f=Ax(w|0,v|0,b^a^y|0,x^C|0)|0;x=p+40|0;y=x;a=Ax(c[y>>2]|0,c[y+4>>2]|0,f|0,C|0)|0;f=x;c[f>>2]=a;c[f+4>>2]=C;f=k;a=_m(c[f>>2]|0,c[f+4>>2]|0)|0;f=C;x=k;y=l;b=m;v=$m(c[x>>2]|0,c[x+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(a|0,f|0,v|0,C|0)|0;v=s;c[v>>2]=b;c[v+4>>2]=C;v=r;b=n;f=Ax(c[b>>2]|0,c[b+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=n;c[v>>2]=f;c[v+4>>2]=C;v=r;f=s;b=Ax(c[v>>2]|0,c[v+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=j;c[f>>2]=b;c[f+4>>2]=C;f=h;b=c[f>>2]|0;v=c[f+4>>2]|0;f=n;a=Xm(c[f>>2]|0,c[f+4>>2]|0)|0;f=Ax(b|0,v|0,a|0,C|0)|0;a=C;v=n;b=o;y=g;x=Zm(c[v>>2]|0,c[v+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=Ax(f|0,a|0,x|0,C|0)|0;x=80+((c[q>>2]|0)+6<<3)|0;a=Ax(y|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=p+48|0;y=Ax(a|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=r;c[x>>2]=y;c[x+4>>2]=C;x=p+32|0;y=Ym(c[x>>2]|0,c[x+4>>2]|0,19,0)|0;x=C;a=p+32|0;f=Ym(c[a>>2]|0,c[a+4>>2]|0,61,0)|0;a=x^C;x=p+32|0;b=Cx(c[x>>2]|0,c[x+4>>2]|0,6)|0;x=p+120|0;v=Ax(y^f^b|0,a^C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=C;a=p+56|0;b=Ym(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;a=C;f=p+56|0;y=Ym(c[f>>2]|0,c[f+4>>2]|0,8,0)|0;f=a^C;a=p+56|0;w=Cx(c[a>>2]|0,c[a+4>>2]|0,7)|0;a=Ax(v|0,x|0,b^y^w|0,f^C|0)|0;f=p+48|0;w=f;y=Ax(c[w>>2]|0,c[w+4>>2]|0,a|0,C|0)|0;a=f;c[a>>2]=y;c[a+4>>2]=C;a=j;y=_m(c[a>>2]|0,c[a+4>>2]|0)|0;a=C;f=j;w=k;b=l;x=$m(c[f>>2]|0,c[f+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(y|0,a|0,x|0,C|0)|0;x=s;c[x>>2]=b;c[x+4>>2]=C;x=r;b=m;a=Ax(c[b>>2]|0,c[b+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=m;c[x>>2]=a;c[x+4>>2]=C;x=r;a=s;b=Ax(c[x>>2]|0,c[x+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=h;c[a>>2]=b;c[a+4>>2]=C;a=g;b=c[a>>2]|0;x=c[a+4>>2]|0;a=m;y=Xm(c[a>>2]|0,c[a+4>>2]|0)|0;a=Ax(b|0,x|0,y|0,C|0)|0;y=C;x=m;b=n;w=o;f=Zm(c[x>>2]|0,c[x+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=Ax(a|0,y|0,f|0,C|0)|0;f=80+((c[q>>2]|0)+7<<3)|0;y=Ax(w|0,C|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=p+56|0;w=Ax(y|0,C|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=r;c[f>>2]=w;c[f+4>>2]=C;f=p+40|0;w=Ym(c[f>>2]|0,c[f+4>>2]|0,19,0)|0;f=C;y=p+40|0;a=Ym(c[y>>2]|0,c[y+4>>2]|0,61,0)|0;y=f^C;f=p+40|0;b=Cx(c[f>>2]|0,c[f+4>>2]|0,6)|0;f=p;x=Ax(w^a^b|0,y^C|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=C;y=p+64|0;b=Ym(c[y>>2]|0,c[y+4>>2]|0,1,0)|0;y=C;a=p+64|0;w=Ym(c[a>>2]|0,c[a+4>>2]|0,8,0)|0;a=y^C;y=p+64|0;v=Cx(c[y>>2]|0,c[y+4>>2]|0,7)|0;y=Ax(x|0,f|0,b^w^v|0,a^C|0)|0;a=p+56|0;v=a;w=Ax(c[v>>2]|0,c[v+4>>2]|0,y|0,C|0)|0;y=a;c[y>>2]=w;c[y+4>>2]=C;y=h;w=_m(c[y>>2]|0,c[y+4>>2]|0)|0;y=C;a=h;v=j;b=k;f=$m(c[a>>2]|0,c[a+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(w|0,y|0,f|0,C|0)|0;f=s;c[f>>2]=b;c[f+4>>2]=C;f=r;b=l;y=Ax(c[b>>2]|0,c[b+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=l;c[f>>2]=y;c[f+4>>2]=C;f=r;y=s;b=Ax(c[f>>2]|0,c[f+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=g;c[y>>2]=b;c[y+4>>2]=C;y=o;b=c[y>>2]|0;f=c[y+4>>2]|0;y=l;w=Xm(c[y>>2]|0,c[y+4>>2]|0)|0;y=Ax(b|0,f|0,w|0,C|0)|0;w=C;f=l;b=m;v=n;a=Zm(c[f>>2]|0,c[f+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=Ax(y|0,w|0,a|0,C|0)|0;a=80+((c[q>>2]|0)+8<<3)|0;w=Ax(v|0,C|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=p+64|0;v=Ax(w|0,C|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=r;c[a>>2]=v;c[a+4>>2]=C;a=p+48|0;v=Ym(c[a>>2]|0,c[a+4>>2]|0,19,0)|0;a=C;w=p+48|0;y=Ym(c[w>>2]|0,c[w+4>>2]|0,61,0)|0;w=a^C;a=p+48|0;b=Cx(c[a>>2]|0,c[a+4>>2]|0,6)|0;a=p+8|0;f=Ax(v^y^b|0,w^C|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=C;w=p+72|0;b=Ym(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;w=C;y=p+72|0;v=Ym(c[y>>2]|0,c[y+4>>2]|0,8,0)|0;y=w^C;w=p+72|0;x=Cx(c[w>>2]|0,c[w+4>>2]|0,7)|0;w=Ax(f|0,a|0,b^v^x|0,y^C|0)|0;y=p+64|0;x=y;v=Ax(c[x>>2]|0,c[x+4>>2]|0,w|0,C|0)|0;w=y;c[w>>2]=v;c[w+4>>2]=C;w=g;v=_m(c[w>>2]|0,c[w+4>>2]|0)|0;w=C;y=g;x=h;b=j;a=$m(c[y>>2]|0,c[y+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(v|0,w|0,a|0,C|0)|0;a=s;c[a>>2]=b;c[a+4>>2]=C;a=r;b=k;w=Ax(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=k;c[a>>2]=w;c[a+4>>2]=C;a=r;w=s;b=Ax(c[a>>2]|0,c[a+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=o;c[w>>2]=b;c[w+4>>2]=C;w=n;b=c[w>>2]|0;a=c[w+4>>2]|0;w=k;v=Xm(c[w>>2]|0,c[w+4>>2]|0)|0;w=Ax(b|0,a|0,v|0,C|0)|0;v=C;a=k;b=l;x=m;y=Zm(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=Ax(w|0,v|0,y|0,C|0)|0;y=80+((c[q>>2]|0)+9<<3)|0;v=Ax(x|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=p+72|0;x=Ax(v|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=r;c[y>>2]=x;c[y+4>>2]=C;y=p+56|0;x=Ym(c[y>>2]|0,c[y+4>>2]|0,19,0)|0;y=C;v=p+56|0;w=Ym(c[v>>2]|0,c[v+4>>2]|0,61,0)|0;v=y^C;y=p+56|0;b=Cx(c[y>>2]|0,c[y+4>>2]|0,6)|0;y=p+16|0;a=Ax(x^w^b|0,v^C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=C;v=p+80|0;b=Ym(c[v>>2]|0,c[v+4>>2]|0,1,0)|0;v=C;w=p+80|0;x=Ym(c[w>>2]|0,c[w+4>>2]|0,8,0)|0;w=v^C;v=p+80|0;f=Cx(c[v>>2]|0,c[v+4>>2]|0,7)|0;v=Ax(a|0,y|0,b^x^f|0,w^C|0)|0;w=p+72|0;f=w;x=Ax(c[f>>2]|0,c[f+4>>2]|0,v|0,C|0)|0;v=w;c[v>>2]=x;c[v+4>>2]=C;v=o;x=_m(c[v>>2]|0,c[v+4>>2]|0)|0;v=C;w=o;f=g;b=h;y=$m(c[w>>2]|0,c[w+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(x|0,v|0,y|0,C|0)|0;y=s;c[y>>2]=b;c[y+4>>2]=C;y=r;b=j;v=Ax(c[b>>2]|0,c[b+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=j;c[y>>2]=v;c[y+4>>2]=C;y=r;v=s;b=Ax(c[y>>2]|0,c[y+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=n;c[v>>2]=b;c[v+4>>2]=C;v=m;b=c[v>>2]|0;y=c[v+4>>2]|0;v=j;x=Xm(c[v>>2]|0,c[v+4>>2]|0)|0;v=Ax(b|0,y|0,x|0,C|0)|0;x=C;y=j;b=k;f=l;w=Zm(c[y>>2]|0,c[y+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=Ax(v|0,x|0,w|0,C|0)|0;w=80+((c[q>>2]|0)+10<<3)|0;x=Ax(f|0,C|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=p+80|0;f=Ax(x|0,C|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=r;c[w>>2]=f;c[w+4>>2]=C;w=p+64|0;f=Ym(c[w>>2]|0,c[w+4>>2]|0,19,0)|0;w=C;x=p+64|0;v=Ym(c[x>>2]|0,c[x+4>>2]|0,61,0)|0;x=w^C;w=p+64|0;b=Cx(c[w>>2]|0,c[w+4>>2]|0,6)|0;w=p+24|0;y=Ax(f^v^b|0,x^C|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=C;x=p+88|0;b=Ym(c[x>>2]|0,c[x+4>>2]|0,1,0)|0;x=C;v=p+88|0;f=Ym(c[v>>2]|0,c[v+4>>2]|0,8,0)|0;v=x^C;x=p+88|0;a=Cx(c[x>>2]|0,c[x+4>>2]|0,7)|0;x=Ax(y|0,w|0,b^f^a|0,v^C|0)|0;v=p+80|0;a=v;f=Ax(c[a>>2]|0,c[a+4>>2]|0,x|0,C|0)|0;x=v;c[x>>2]=f;c[x+4>>2]=C;x=n;f=_m(c[x>>2]|0,c[x+4>>2]|0)|0;x=C;v=n;a=o;b=g;w=$m(c[v>>2]|0,c[v+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(f|0,x|0,w|0,C|0)|0;w=s;c[w>>2]=b;c[w+4>>2]=C;w=r;b=h;x=Ax(c[b>>2]|0,c[b+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=h;c[w>>2]=x;c[w+4>>2]=C;w=r;x=s;b=Ax(c[w>>2]|0,c[w+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=m;c[x>>2]=b;c[x+4>>2]=C;x=l;b=c[x>>2]|0;w=c[x+4>>2]|0;x=h;f=Xm(c[x>>2]|0,c[x+4>>2]|0)|0;x=Ax(b|0,w|0,f|0,C|0)|0;f=C;w=h;b=j;a=k;v=Zm(c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=Ax(x|0,f|0,v|0,C|0)|0;v=80+((c[q>>2]|0)+11<<3)|0;f=Ax(a|0,C|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=p+88|0;a=Ax(f|0,C|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=r;c[v>>2]=a;c[v+4>>2]=C;v=p+72|0;a=Ym(c[v>>2]|0,c[v+4>>2]|0,19,0)|0;v=C;f=p+72|0;x=Ym(c[f>>2]|0,c[f+4>>2]|0,61,0)|0;f=v^C;v=p+72|0;b=Cx(c[v>>2]|0,c[v+4>>2]|0,6)|0;v=p+32|0;w=Ax(a^x^b|0,f^C|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=C;f=p+96|0;b=Ym(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;f=C;x=p+96|0;a=Ym(c[x>>2]|0,c[x+4>>2]|0,8,0)|0;x=f^C;f=p+96|0;y=Cx(c[f>>2]|0,c[f+4>>2]|0,7)|0;f=Ax(w|0,v|0,b^a^y|0,x^C|0)|0;x=p+88|0;y=x;a=Ax(c[y>>2]|0,c[y+4>>2]|0,f|0,C|0)|0;f=x;c[f>>2]=a;c[f+4>>2]=C;f=m;a=_m(c[f>>2]|0,c[f+4>>2]|0)|0;f=C;x=m;y=n;b=o;v=$m(c[x>>2]|0,c[x+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(a|0,f|0,v|0,C|0)|0;v=s;c[v>>2]=b;c[v+4>>2]=C;v=r;b=g;f=Ax(c[b>>2]|0,c[b+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=g;c[v>>2]=f;c[v+4>>2]=C;v=r;f=s;b=Ax(c[v>>2]|0,c[v+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=l;c[f>>2]=b;c[f+4>>2]=C;f=k;b=c[f>>2]|0;v=c[f+4>>2]|0;f=g;a=Xm(c[f>>2]|0,c[f+4>>2]|0)|0;f=Ax(b|0,v|0,a|0,C|0)|0;a=C;v=g;b=h;y=j;x=Zm(c[v>>2]|0,c[v+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=Ax(f|0,a|0,x|0,C|0)|0;x=80+((c[q>>2]|0)+12<<3)|0;a=Ax(y|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=p+96|0;y=Ax(a|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=r;c[x>>2]=y;c[x+4>>2]=C;x=p+80|0;y=Ym(c[x>>2]|0,c[x+4>>2]|0,19,0)|0;x=C;a=p+80|0;f=Ym(c[a>>2]|0,c[a+4>>2]|0,61,0)|0;a=x^C;x=p+80|0;b=Cx(c[x>>2]|0,c[x+4>>2]|0,6)|0;x=p+40|0;v=Ax(y^f^b|0,a^C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=C;a=p+104|0;b=Ym(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;a=C;f=p+104|0;y=Ym(c[f>>2]|0,c[f+4>>2]|0,8,0)|0;f=a^C;a=p+104|0;w=Cx(c[a>>2]|0,c[a+4>>2]|0,7)|0;a=Ax(v|0,x|0,b^y^w|0,f^C|0)|0;f=p+96|0;w=f;y=Ax(c[w>>2]|0,c[w+4>>2]|0,a|0,C|0)|0;a=f;c[a>>2]=y;c[a+4>>2]=C;a=l;y=_m(c[a>>2]|0,c[a+4>>2]|0)|0;a=C;f=l;w=m;b=n;x=$m(c[f>>2]|0,c[f+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(y|0,a|0,x|0,C|0)|0;x=s;c[x>>2]=b;c[x+4>>2]=C;x=r;b=o;a=Ax(c[b>>2]|0,c[b+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=o;c[x>>2]=a;c[x+4>>2]=C;x=r;a=s;b=Ax(c[x>>2]|0,c[x+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=k;c[a>>2]=b;c[a+4>>2]=C;a=j;b=c[a>>2]|0;x=c[a+4>>2]|0;a=o;y=Xm(c[a>>2]|0,c[a+4>>2]|0)|0;a=Ax(b|0,x|0,y|0,C|0)|0;y=C;x=o;b=g;w=h;f=Zm(c[x>>2]|0,c[x+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=Ax(a|0,y|0,f|0,C|0)|0;f=80+((c[q>>2]|0)+13<<3)|0;y=Ax(w|0,C|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=p+104|0;w=Ax(y|0,C|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=r;c[f>>2]=w;c[f+4>>2]=C;f=p+88|0;w=Ym(c[f>>2]|0,c[f+4>>2]|0,19,0)|0;f=C;y=p+88|0;a=Ym(c[y>>2]|0,c[y+4>>2]|0,61,0)|0;y=f^C;f=p+88|0;b=Cx(c[f>>2]|0,c[f+4>>2]|0,6)|0;f=p+48|0;x=Ax(w^a^b|0,y^C|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=C;y=p+112|0;b=Ym(c[y>>2]|0,c[y+4>>2]|0,1,0)|0;y=C;a=p+112|0;w=Ym(c[a>>2]|0,c[a+4>>2]|0,8,0)|0;a=y^C;y=p+112|0;v=Cx(c[y>>2]|0,c[y+4>>2]|0,7)|0;y=Ax(x|0,f|0,b^w^v|0,a^C|0)|0;a=p+104|0;v=a;w=Ax(c[v>>2]|0,c[v+4>>2]|0,y|0,C|0)|0;y=a;c[y>>2]=w;c[y+4>>2]=C;y=k;w=_m(c[y>>2]|0,c[y+4>>2]|0)|0;y=C;a=k;v=l;b=m;f=$m(c[a>>2]|0,c[a+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(w|0,y|0,f|0,C|0)|0;f=s;c[f>>2]=b;c[f+4>>2]=C;f=r;b=n;y=Ax(c[b>>2]|0,c[b+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=n;c[f>>2]=y;c[f+4>>2]=C;f=r;y=s;b=Ax(c[f>>2]|0,c[f+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=j;c[y>>2]=b;c[y+4>>2]=C;y=h;b=c[y>>2]|0;f=c[y+4>>2]|0;y=n;w=Xm(c[y>>2]|0,c[y+4>>2]|0)|0;y=Ax(b|0,f|0,w|0,C|0)|0;w=C;f=n;b=o;v=g;a=Zm(c[f>>2]|0,c[f+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=Ax(y|0,w|0,a|0,C|0)|0;a=80+((c[q>>2]|0)+14<<3)|0;w=Ax(v|0,C|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=p+112|0;v=Ax(w|0,C|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=r;c[a>>2]=v;c[a+4>>2]=C;a=p+96|0;v=Ym(c[a>>2]|0,c[a+4>>2]|0,19,0)|0;a=C;w=p+96|0;y=Ym(c[w>>2]|0,c[w+4>>2]|0,61,0)|0;w=a^C;a=p+96|0;b=Cx(c[a>>2]|0,c[a+4>>2]|0,6)|0;a=p+56|0;f=Ax(v^y^b|0,w^C|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=C;w=p+120|0;b=Ym(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;w=C;y=p+120|0;v=Ym(c[y>>2]|0,c[y+4>>2]|0,8,0)|0;y=w^C;w=p+120|0;x=Cx(c[w>>2]|0,c[w+4>>2]|0,7)|0;w=Ax(f|0,a|0,b^v^x|0,y^C|0)|0;y=p+112|0;x=y;v=Ax(c[x>>2]|0,c[x+4>>2]|0,w|0,C|0)|0;w=y;c[w>>2]=v;c[w+4>>2]=C;w=j;v=_m(c[w>>2]|0,c[w+4>>2]|0)|0;w=C;y=j;x=k;b=l;a=$m(c[y>>2]|0,c[y+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(v|0,w|0,a|0,C|0)|0;a=s;c[a>>2]=b;c[a+4>>2]=C;a=r;b=m;w=Ax(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=m;c[a>>2]=w;c[a+4>>2]=C;a=r;w=s;b=Ax(c[a>>2]|0,c[a+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=h;c[w>>2]=b;c[w+4>>2]=C;w=g;b=c[w>>2]|0;a=c[w+4>>2]|0;w=m;v=Xm(c[w>>2]|0,c[w+4>>2]|0)|0;w=Ax(b|0,a|0,v|0,C|0)|0;v=C;a=m;b=n;x=o;y=Zm(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=Ax(w|0,v|0,y|0,C|0)|0;y=80+((c[q>>2]|0)+15<<3)|0;v=Ax(x|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=p+120|0;x=Ax(v|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=r;c[y>>2]=x;c[y+4>>2]=C;y=p+104|0;x=Ym(c[y>>2]|0,c[y+4>>2]|0,19,0)|0;y=C;v=p+104|0;w=Ym(c[v>>2]|0,c[v+4>>2]|0,61,0)|0;v=y^C;y=p+104|0;b=Cx(c[y>>2]|0,c[y+4>>2]|0,6)|0;y=p+64|0;a=Ax(x^w^b|0,v^C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=C;v=p;b=Ym(c[v>>2]|0,c[v+4>>2]|0,1,0)|0;v=C;w=p;x=Ym(c[w>>2]|0,c[w+4>>2]|0,8,0)|0;w=v^C;v=p;f=Cx(c[v>>2]|0,c[v+4>>2]|0,7)|0;v=Ax(a|0,y|0,b^x^f|0,w^C|0)|0;w=p+120|0;f=w;x=Ax(c[f>>2]|0,c[f+4>>2]|0,v|0,C|0)|0;v=w;c[v>>2]=x;c[v+4>>2]=C;v=h;x=_m(c[v>>2]|0,c[v+4>>2]|0)|0;v=C;w=h;f=j;b=k;y=$m(c[w>>2]|0,c[w+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(x|0,v|0,y|0,C|0)|0;y=s;c[y>>2]=b;c[y+4>>2]=C;y=r;b=l;v=Ax(c[b>>2]|0,c[b+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=l;c[y>>2]=v;c[y+4>>2]=C;y=r;v=s;b=Ax(c[y>>2]|0,c[y+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=g;c[v>>2]=b;c[v+4>>2]=C;c[q>>2]=(c[q>>2]|0)+16}while(1){if((c[q>>2]|0)>=80)break;s=o;r=c[s>>2]|0;v=c[s+4>>2]|0;s=l;b=Xm(c[s>>2]|0,c[s+4>>2]|0)|0;s=Ax(r|0,v|0,b|0,C|0)|0;b=C;v=l;r=m;y=n;x=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=Ax(s|0,b|0,x|0,C|0)|0;x=80+(c[q>>2]<<3)|0;b=Ax(y|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=p;y=Ax(b|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=t;c[x>>2]=y;c[x+4>>2]=C;x=g;y=_m(c[x>>2]|0,c[x+4>>2]|0)|0;x=C;b=g;s=h;r=j;v=$m(c[b>>2]|0,c[b+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(y|0,x|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=k;x=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=k;c[v>>2]=x;c[v+4>>2]=C;v=t;x=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=o;c[x>>2]=r;c[x+4>>2]=C;x=n;r=c[x>>2]|0;v=c[x+4>>2]|0;x=k;y=Xm(c[x>>2]|0,c[x+4>>2]|0)|0;x=Ax(r|0,v|0,y|0,C|0)|0;y=C;v=k;r=l;s=m;b=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=Ax(x|0,y|0,b|0,C|0)|0;b=80+((c[q>>2]|0)+1<<3)|0;y=Ax(s|0,C|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=p+8|0;s=Ax(y|0,C|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=t;c[b>>2]=s;c[b+4>>2]=C;b=o;s=_m(c[b>>2]|0,c[b+4>>2]|0)|0;b=C;y=o;x=g;r=h;v=$m(c[y>>2]|0,c[y+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(s|0,b|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=j;b=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=j;c[v>>2]=b;c[v+4>>2]=C;v=t;b=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=n;c[b>>2]=r;c[b+4>>2]=C;b=m;r=c[b>>2]|0;v=c[b+4>>2]|0;b=j;s=Xm(c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(r|0,v|0,s|0,C|0)|0;s=C;v=j;r=k;x=l;y=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=Ax(b|0,s|0,y|0,C|0)|0;y=80+((c[q>>2]|0)+2<<3)|0;s=Ax(x|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=p+16|0;x=Ax(s|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=t;c[y>>2]=x;c[y+4>>2]=C;y=n;x=_m(c[y>>2]|0,c[y+4>>2]|0)|0;y=C;s=n;b=o;r=g;v=$m(c[s>>2]|0,c[s+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(x|0,y|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=h;y=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=h;c[v>>2]=y;c[v+4>>2]=C;v=t;y=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=m;c[y>>2]=r;c[y+4>>2]=C;y=l;r=c[y>>2]|0;v=c[y+4>>2]|0;y=h;x=Xm(c[y>>2]|0,c[y+4>>2]|0)|0;y=Ax(r|0,v|0,x|0,C|0)|0;x=C;v=h;r=j;b=k;s=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(y|0,x|0,s|0,C|0)|0;s=80+((c[q>>2]|0)+3<<3)|0;x=Ax(b|0,C|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=p+24|0;b=Ax(x|0,C|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=t;c[s>>2]=b;c[s+4>>2]=C;s=m;b=_m(c[s>>2]|0,c[s+4>>2]|0)|0;s=C;x=m;y=n;r=o;v=$m(c[x>>2]|0,c[x+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(b|0,s|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=g;s=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=g;c[v>>2]=s;c[v+4>>2]=C;v=t;s=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=l;c[s>>2]=r;c[s+4>>2]=C;s=k;r=c[s>>2]|0;v=c[s+4>>2]|0;s=g;b=Xm(c[s>>2]|0,c[s+4>>2]|0)|0;s=Ax(r|0,v|0,b|0,C|0)|0;b=C;v=g;r=h;y=j;x=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=Ax(s|0,b|0,x|0,C|0)|0;x=80+((c[q>>2]|0)+4<<3)|0;b=Ax(y|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=p+32|0;y=Ax(b|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=t;c[x>>2]=y;c[x+4>>2]=C;x=l;y=_m(c[x>>2]|0,c[x+4>>2]|0)|0;x=C;b=l;s=m;r=n;v=$m(c[b>>2]|0,c[b+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(y|0,x|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=o;x=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=o;c[v>>2]=x;c[v+4>>2]=C;v=t;x=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=k;c[x>>2]=r;c[x+4>>2]=C;x=j;r=c[x>>2]|0;v=c[x+4>>2]|0;x=o;y=Xm(c[x>>2]|0,c[x+4>>2]|0)|0;x=Ax(r|0,v|0,y|0,C|0)|0;y=C;v=o;r=g;s=h;b=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=Ax(x|0,y|0,b|0,C|0)|0;b=80+((c[q>>2]|0)+5<<3)|0;y=Ax(s|0,C|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=p+40|0;s=Ax(y|0,C|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=t;c[b>>2]=s;c[b+4>>2]=C;b=k;s=_m(c[b>>2]|0,c[b+4>>2]|0)|0;b=C;y=k;x=l;r=m;v=$m(c[y>>2]|0,c[y+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(s|0,b|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=n;b=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=n;c[v>>2]=b;c[v+4>>2]=C;v=t;b=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=j;c[b>>2]=r;c[b+4>>2]=C;b=h;r=c[b>>2]|0;v=c[b+4>>2]|0;b=n;s=Xm(c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(r|0,v|0,s|0,C|0)|0;s=C;v=n;r=o;x=g;y=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=Ax(b|0,s|0,y|0,C|0)|0;y=80+((c[q>>2]|0)+6<<3)|0;s=Ax(x|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=p+48|0;x=Ax(s|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=t;c[y>>2]=x;c[y+4>>2]=C;y=j;x=_m(c[y>>2]|0,c[y+4>>2]|0)|0;y=C;s=j;b=k;r=l;v=$m(c[s>>2]|0,c[s+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(x|0,y|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=m;y=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=m;c[v>>2]=y;c[v+4>>2]=C;v=t;y=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=h;c[y>>2]=r;c[y+4>>2]=C;y=g;r=c[y>>2]|0;v=c[y+4>>2]|0;y=m;x=Xm(c[y>>2]|0,c[y+4>>2]|0)|0;y=Ax(r|0,v|0,x|0,C|0)|0;x=C;v=m;r=n;b=o;s=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(y|0,x|0,s|0,C|0)|0;s=80+((c[q>>2]|0)+7<<3)|0;x=Ax(b|0,C|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=p+56|0;b=Ax(x|0,C|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=t;c[s>>2]=b;c[s+4>>2]=C;s=h;b=_m(c[s>>2]|0,c[s+4>>2]|0)|0;s=C;x=h;y=j;r=k;v=$m(c[x>>2]|0,c[x+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(b|0,s|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=l;s=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=l;c[v>>2]=s;c[v+4>>2]=C;v=t;s=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=g;c[s>>2]=r;c[s+4>>2]=C;s=o;r=c[s>>2]|0;v=c[s+4>>2]|0;s=l;b=Xm(c[s>>2]|0,c[s+4>>2]|0)|0;s=Ax(r|0,v|0,b|0,C|0)|0;b=C;v=l;r=m;y=n;x=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=Ax(s|0,b|0,x|0,C|0)|0;x=80+((c[q>>2]|0)+8<<3)|0;b=Ax(y|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=p+64|0;y=Ax(b|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=t;c[x>>2]=y;c[x+4>>2]=C;x=g;y=_m(c[x>>2]|0,c[x+4>>2]|0)|0;x=C;b=g;s=h;r=j;v=$m(c[b>>2]|0,c[b+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(y|0,x|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=k;x=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=k;c[v>>2]=x;c[v+4>>2]=C;v=t;x=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=o;c[x>>2]=r;c[x+4>>2]=C;x=n;r=c[x>>2]|0;v=c[x+4>>2]|0;x=k;y=Xm(c[x>>2]|0,c[x+4>>2]|0)|0;x=Ax(r|0,v|0,y|0,C|0)|0;y=C;v=k;r=l;s=m;b=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=Ax(x|0,y|0,b|0,C|0)|0;b=80+((c[q>>2]|0)+9<<3)|0;y=Ax(s|0,C|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=p+72|0;s=Ax(y|0,C|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=t;c[b>>2]=s;c[b+4>>2]=C;b=o;s=_m(c[b>>2]|0,c[b+4>>2]|0)|0;b=C;y=o;x=g;r=h;v=$m(c[y>>2]|0,c[y+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(s|0,b|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=j;b=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=j;c[v>>2]=b;c[v+4>>2]=C;v=t;b=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=n;c[b>>2]=r;c[b+4>>2]=C;b=m;r=c[b>>2]|0;v=c[b+4>>2]|0;b=j;s=Xm(c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(r|0,v|0,s|0,C|0)|0;s=C;v=j;r=k;x=l;y=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=Ax(b|0,s|0,y|0,C|0)|0;y=80+((c[q>>2]|0)+10<<3)|0;s=Ax(x|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=p+80|0;x=Ax(s|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=t;c[y>>2]=x;c[y+4>>2]=C;y=n;x=_m(c[y>>2]|0,c[y+4>>2]|0)|0;y=C;s=n;b=o;r=g;v=$m(c[s>>2]|0,c[s+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(x|0,y|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=h;y=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=h;c[v>>2]=y;c[v+4>>2]=C;v=t;y=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=m;c[y>>2]=r;c[y+4>>2]=C;y=l;r=c[y>>2]|0;v=c[y+4>>2]|0;y=h;x=Xm(c[y>>2]|0,c[y+4>>2]|0)|0;y=Ax(r|0,v|0,x|0,C|0)|0;x=C;v=h;r=j;b=k;s=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(y|0,x|0,s|0,C|0)|0;s=80+((c[q>>2]|0)+11<<3)|0;x=Ax(b|0,C|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=p+88|0;b=Ax(x|0,C|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=t;c[s>>2]=b;c[s+4>>2]=C;s=m;b=_m(c[s>>2]|0,c[s+4>>2]|0)|0;s=C;x=m;y=n;r=o;v=$m(c[x>>2]|0,c[x+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(b|0,s|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=g;s=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=g;c[v>>2]=s;c[v+4>>2]=C;v=t;s=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=l;c[s>>2]=r;c[s+4>>2]=C;s=k;r=c[s>>2]|0;v=c[s+4>>2]|0;s=g;b=Xm(c[s>>2]|0,c[s+4>>2]|0)|0;s=Ax(r|0,v|0,b|0,C|0)|0;b=C;v=g;r=h;y=j;x=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=Ax(s|0,b|0,x|0,C|0)|0;x=80+((c[q>>2]|0)+12<<3)|0;b=Ax(y|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=p+96|0;y=Ax(b|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=t;c[x>>2]=y;c[x+4>>2]=C;x=l;y=_m(c[x>>2]|0,c[x+4>>2]|0)|0;x=C;b=l;s=m;r=n;v=$m(c[b>>2]|0,c[b+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(y|0,x|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=o;x=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=o;c[v>>2]=x;c[v+4>>2]=C;v=t;x=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=k;c[x>>2]=r;c[x+4>>2]=C;x=j;r=c[x>>2]|0;v=c[x+4>>2]|0;x=o;y=Xm(c[x>>2]|0,c[x+4>>2]|0)|0;x=Ax(r|0,v|0,y|0,C|0)|0;y=C;v=o;r=g;s=h;b=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=Ax(x|0,y|0,b|0,C|0)|0;b=80+((c[q>>2]|0)+13<<3)|0;y=Ax(s|0,C|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=p+104|0;s=Ax(y|0,C|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=t;c[b>>2]=s;c[b+4>>2]=C;b=k;s=_m(c[b>>2]|0,c[b+4>>2]|0)|0;b=C;y=k;x=l;r=m;v=$m(c[y>>2]|0,c[y+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(s|0,b|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=n;b=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=n;c[v>>2]=b;c[v+4>>2]=C;v=t;b=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=j;c[b>>2]=r;c[b+4>>2]=C;b=h;r=c[b>>2]|0;v=c[b+4>>2]|0;b=n;s=Xm(c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(r|0,v|0,s|0,C|0)|0;s=C;v=n;r=o;x=g;y=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=Ax(b|0,s|0,y|0,C|0)|0;y=80+((c[q>>2]|0)+14<<3)|0;s=Ax(x|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=p+112|0;x=Ax(s|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=t;c[y>>2]=x;c[y+4>>2]=C;y=j;x=_m(c[y>>2]|0,c[y+4>>2]|0)|0;y=C;s=j;b=k;r=l;v=$m(c[s>>2]|0,c[s+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(x|0,y|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=m;y=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=m;c[v>>2]=y;c[v+4>>2]=C;v=t;y=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=h;c[y>>2]=r;c[y+4>>2]=C;y=g;r=c[y>>2]|0;v=c[y+4>>2]|0;y=m;x=Xm(c[y>>2]|0,c[y+4>>2]|0)|0;y=Ax(r|0,v|0,x|0,C|0)|0;x=C;v=m;r=n;b=o;s=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(y|0,x|0,s|0,C|0)|0;s=80+((c[q>>2]|0)+15<<3)|0;x=Ax(b|0,C|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=p+120|0;b=Ax(x|0,C|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=t;c[s>>2]=b;c[s+4>>2]=C;s=h;b=_m(c[s>>2]|0,c[s+4>>2]|0)|0;s=C;x=h;y=j;r=k;v=$m(c[x>>2]|0,c[x+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(b|0,s|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=l;s=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=l;c[v>>2]=s;c[v+4>>2]=C;v=t;s=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=g;c[s>>2]=r;c[s+4>>2]=C;c[q>>2]=(c[q>>2]|0)+16}q=g;g=c[e>>2]|0;u=g;t=Ax(c[u>>2]|0,c[u+4>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=g;c[q>>2]=t;c[q+4>>2]=C;q=h;h=(c[e>>2]|0)+8|0;t=h;g=Ax(c[t>>2]|0,c[t+4>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=h;c[q>>2]=g;c[q+4>>2]=C;q=j;j=(c[e>>2]|0)+16|0;g=j;h=Ax(c[g>>2]|0,c[g+4>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=j;c[q>>2]=h;c[q+4>>2]=C;q=k;k=(c[e>>2]|0)+24|0;h=k;j=Ax(c[h>>2]|0,c[h+4>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=k;c[q>>2]=j;c[q+4>>2]=C;q=l;l=(c[e>>2]|0)+32|0;j=l;k=Ax(c[j>>2]|0,c[j+4>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=l;c[q>>2]=k;c[q+4>>2]=C;q=m;m=(c[e>>2]|0)+40|0;k=m;l=Ax(c[k>>2]|0,c[k+4>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=m;c[q>>2]=l;c[q+4>>2]=C;q=n;n=(c[e>>2]|0)+48|0;l=n;m=Ax(c[l>>2]|0,c[l+4>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=n;c[q>>2]=m;c[q+4>>2]=C;q=o;o=(c[e>>2]|0)+56|0;e=o;m=Ax(c[e>>2]|0,c[e+4>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=o;c[q>>2]=m;c[q+4>>2]=C;i=d;return 208}function Wm(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+16|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];e=Ix(d[c[f>>2]>>0]|0|0,0,56)|0;a=C;g=Ix(d[(c[f>>2]|0)+1>>0]|0|0,0,48)|0;h=a|C;a=Ix(d[(c[f>>2]|0)+2>>0]|0|0,0,40)|0;j=h|C|(d[(c[f>>2]|0)+3>>0]|0);h=Ix(d[(c[f>>2]|0)+4>>0]|0|0,0,24)|0;k=j|C;j=Ix(d[(c[f>>2]|0)+5>>0]|0|0,0,16)|0;l=k|C;k=Ix(d[(c[f>>2]|0)+6>>0]|0|0,0,8)|0;C=l|C;i=b;return e|g|a|h|j|k|(d[(c[f>>2]|0)+7>>0]|0)|0}function Xm(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=e;c[f>>2]=a;c[f+4>>2]=b;b=e;f=Ym(c[b>>2]|0,c[b+4>>2]|0,14,0)|0;b=C;a=e;g=Ym(c[a>>2]|0,c[a+4>>2]|0,18,0)|0;a=b^C;b=e;e=Ym(c[b>>2]|0,c[b+4>>2]|0,41,0)|0;C=a^C;i=d;return f^g^e|0}function Ym(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;f=i;i=i+16|0;g=f+8|0;h=f;j=g;c[j>>2]=a;c[j+4>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;e=g;b=Cx(c[e>>2]|0,c[e+4>>2]|0,c[h>>2]|0)|0;e=C;d=g;g=c[d>>2]|0;j=c[d+4>>2]|0;d=h;h=zx(64,0,c[d>>2]|0,c[d+4>>2]|0)|0;d=Ix(g|0,j|0,h|0)|0;C=e|C;i=f;return b|d|0}function Zm(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+32|0;j=h+16|0;k=h+8|0;l=h;m=j;c[m>>2]=a;c[m+4>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;e=l;c[e>>2]=f;c[e+4>>2]=g;g=j;e=k;k=j;j=l;C=c[g+4>>2]&c[e+4>>2]^~c[k+4>>2]&c[j+4>>2];i=h;return c[g>>2]&c[e>>2]^~c[k>>2]&c[j>>2]|0}function _m(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=e;c[f>>2]=a;c[f+4>>2]=b;b=e;f=Ym(c[b>>2]|0,c[b+4>>2]|0,28,0)|0;b=C;a=e;g=Ym(c[a>>2]|0,c[a+4>>2]|0,34,0)|0;a=b^C;b=e;e=Ym(c[b>>2]|0,c[b+4>>2]|0,39,0)|0;C=a^C;i=d;return f^g^e|0}function $m(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+32|0;j=h+16|0;k=h+8|0;l=h;m=j;c[m>>2]=a;c[m+4>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;e=l;c[e>>2]=f;c[e+4>>2]=g;g=j;e=k;f=j;j=l;b=k;k=l;C=c[g+4>>2]&c[e+4>>2]^c[f+4>>2]&c[j+4>>2]^c[b+4>>2]&c[k+4>>2];i=h;return c[g>>2]&c[e>>2]^c[f>>2]&c[j>>2]^c[b>>2]&c[k>>2]|0}function an(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;d=i;i=i+48|0;e=d+44|0;f=d+40|0;g=d+36|0;h=d+24|0;j=d+16|0;k=d+8|0;l=d;m=d+32|0;c[e>>2]=b;c[f>>2]=c[e>>2];rs(c[e>>2]|0,0,0);b=(c[f>>2]|0)+128|0;n=c[b+4>>2]|0;o=h;c[o>>2]=c[b>>2];c[o+4>>2]=n;n=(c[f>>2]|0)+136|0;o=c[n+4>>2]|0;b=j;c[b>>2]=c[n>>2];c[b+4>>2]=o;o=h;b=Ix(c[o>>2]|0,c[o+4>>2]|0,7)|0;o=l;c[o>>2]=b;c[o+4>>2]=C;o=j;j=Ix(c[o>>2]|0,c[o+4>>2]|0,7)|0;o=C;b=h;n=Cx(c[b>>2]|0,c[b+4>>2]|0,57)|0;b=k;c[b>>2]=j|n;c[b+4>>2]=o|C;o=l;b=c[o+4>>2]|0;n=h;c[n>>2]=c[o>>2];c[n+4>>2]=b;b=c[(c[f>>2]|0)+144>>2]|0;n=l;o=Ax(c[n>>2]|0,c[n+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=C;n=l;c[n>>2]=o;c[n+4>>2]=b;n=h;j=c[n+4>>2]|0;if(b>>>0<j>>>0|((b|0)==(j|0)?o>>>0<(c[n>>2]|0)>>>0:0)){n=k;o=Ax(c[n>>2]|0,c[n+4>>2]|0,1,0)|0;n=k;c[n>>2]=o;c[n+4>>2]=C}n=l;o=c[n+4>>2]|0;j=h;c[j>>2]=c[n>>2];c[j+4>>2]=o;o=l;j=Ix(c[o>>2]|0,c[o+4>>2]|0,3)|0;o=l;c[o>>2]=j;c[o+4>>2]=C;o=k;j=Ix(c[o>>2]|0,c[o+4>>2]|0,3)|0;o=k;c[o>>2]=j;c[o+4>>2]=C;o=h;h=Cx(c[o>>2]|0,c[o+4>>2]|0,61)|0;o=k;j=c[o+4>>2]|C;n=k;c[n>>2]=c[o>>2]|h;c[n+4>>2]=j;j=(c[(c[f>>2]|0)+144>>2]|0)<112;n=(c[f>>2]|0)+144|0;h=c[n>>2]|0;c[n>>2]=h+1;a[(c[f>>2]|0)+h>>0]=-128;a:do if(j)while(1){if((c[(c[f>>2]|0)+144>>2]|0)>=112)break a;h=(c[f>>2]|0)+144|0;n=c[h>>2]|0;c[h>>2]=n+1;a[(c[f>>2]|0)+n>>0]=0}else{while(1){if((c[(c[f>>2]|0)+144>>2]|0)>=128)break;n=(c[f>>2]|0)+144|0;h=c[n>>2]|0;c[n>>2]=h+1;a[(c[f>>2]|0)+h>>0]=0}rs(c[e>>2]|0,0,0);h=c[f>>2]|0;n=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(n|0))}while(0);e=k;bn((c[f>>2]|0)+112|0,c[e>>2]|0,c[e+4>>2]|0);e=l;bn((c[f>>2]|0)+120|0,c[e>>2]|0,c[e+4>>2]|0);c[g>>2]=Um(c[f>>2]|0,c[f>>2]|0,1)|0;If(c[g>>2]|0);Jf();c[m>>2]=c[f>>2];g=(c[f>>2]|0)+160|0;bn(c[m>>2]|0,c[g>>2]|0,c[g+4>>2]|0);c[m>>2]=(c[m>>2]|0)+8;g=(c[f>>2]|0)+160+8|0;bn(c[m>>2]|0,c[g>>2]|0,c[g+4>>2]|0);c[m>>2]=(c[m>>2]|0)+8;g=(c[f>>2]|0)+160+16|0;bn(c[m>>2]|0,c[g>>2]|0,c[g+4>>2]|0);c[m>>2]=(c[m>>2]|0)+8;g=(c[f>>2]|0)+160+24|0;bn(c[m>>2]|0,c[g>>2]|0,c[g+4>>2]|0);c[m>>2]=(c[m>>2]|0)+8;g=(c[f>>2]|0)+160+32|0;bn(c[m>>2]|0,c[g>>2]|0,c[g+4>>2]|0);c[m>>2]=(c[m>>2]|0)+8;g=(c[f>>2]|0)+160+40|0;bn(c[m>>2]|0,c[g>>2]|0,c[g+4>>2]|0);c[m>>2]=(c[m>>2]|0)+8;g=(c[f>>2]|0)+160+48|0;bn(c[m>>2]|0,c[g>>2]|0,c[g+4>>2]|0);c[m>>2]=(c[m>>2]|0)+8;g=(c[f>>2]|0)+160+56|0;bn(c[m>>2]|0,c[g>>2]|0,c[g+4>>2]|0);c[m>>2]=(c[m>>2]|0)+8;i=d;return}function bn(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+12|0;h=f;j=f+8|0;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;c[j>>2]=c[g>>2];g=h;e=Cx(c[g>>2]|0,c[g+4>>2]|0,56)|0;a[c[j>>2]>>0]=e;e=h;g=Cx(c[e>>2]|0,c[e+4>>2]|0,48)|0;a[(c[j>>2]|0)+1>>0]=g;g=h;e=Cx(c[g>>2]|0,c[g+4>>2]|0,40)|0;a[(c[j>>2]|0)+2>>0]=e;a[(c[j>>2]|0)+3>>0]=c[h+4>>2];e=h;g=Cx(c[e>>2]|0,c[e+4>>2]|0,24)|0;a[(c[j>>2]|0)+4>>0]=g;g=h;e=Cx(c[g>>2]|0,c[g+4>>2]|0,16)|0;a[(c[j>>2]|0)+5>>0]=e;e=h;g=Cx(c[e>>2]|0,c[e+4>>2]|0,8)|0;a[(c[j>>2]|0)+6>>0]=g;a[(c[j>>2]|0)+7>>0]=c[h>>2];i=f;return}function cn(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];i=b;return c[e>>2]|0}function dn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;switch(c[f>>2]|0){case 9:{c[j>>2]=en(c[g>>2]|0,c[h>>2]|0)|0;break}case 10:{c[j>>2]=fn(c[g>>2]|0,c[h>>2]|0)|0;break}default:c[j>>2]=5}i=e;return c[j>>2]|0}function en(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=42864;c[j>>2]=qs(9,0,42877,3,42881,48)|0;do if(!(c[j>>2]|0)){if(c[f>>2]|0){c[h>>2]=42930;c[j>>2]=qs(9,0,42942,112,43055,48)|0;if(c[j>>2]|0)break;c[h>>2]=43104;c[j>>2]=qs(9,1,0,0,43120,48)|0;if(c[j>>2]|0)break}c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}while(0);if(c[g>>2]|0)Fb[c[g>>2]&1](43169,9,c[h>>2]|0,c[j>>2]|0);c[e>>2]=50;k=c[e>>2]|0;i=d;return k|0}function fn(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+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=42864;c[j>>2]=qs(10,0,42877,3,43176,64)|0;do if(!(c[j>>2]|0)){if(c[f>>2]|0){c[h>>2]=42930;c[j>>2]=qs(10,0,42942,112,43241,64)|0;if(c[j>>2]|0)break;c[h>>2]=43104;c[j>>2]=qs(10,1,0,0,43306,64)|0;if(c[j>>2]|0)break}c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}while(0);if(c[g>>2]|0)Fb[c[g>>2]&1](43169,10,c[h>>2]|0,c[j>>2]|0);c[e>>2]=50;k=c[e>>2]|0;i=d;return k|0}function gn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;e=d+16|0;f=d+8|0;g=d+4|0;c[e>>2]=a;c[d+12>>2]=b;c[f>>2]=c[e>>2];c[g>>2]=(c[f>>2]|0)+160;c[d>>2]=Vg()|0;e=c[g>>2]|0;c[e>>2]=-1056596264;c[e+4>>2]=-876896931;e=(c[g>>2]|0)+8|0;c[e>>2]=914150663;c[e+4>>2]=1654270250;e=(c[g>>2]|0)+16|0;c[e>>2]=812702999;c[e+4>>2]=-1856437926;e=(c[g>>2]|0)+24|0;c[e>>2]=-150054599;c[e+4>>2]=355462360;e=(c[g>>2]|0)+32|0;c[e>>2]=-4191439;c[e+4>>2]=1731405415;e=(c[g>>2]|0)+40|0;c[e>>2]=1750603025;c[e+4>>2]=-1900787065;e=(c[g>>2]|0)+48|0;c[e>>2]=1694076839;c[e+4>>2]=-619958771;e=(c[g>>2]|0)+56|0;c[e>>2]=-1090891868;c[e+4>>2]=1203062813;e=(c[f>>2]|0)+128|0;c[e>>2]=0;c[e+4>>2]=0;e=(c[f>>2]|0)+136|0;c[e>>2]=0;c[e+4>>2]=0;c[(c[f>>2]|0)+144>>2]=0;c[(c[f>>2]|0)+148>>2]=128;c[(c[f>>2]|0)+152>>2]=34;i=d;return}function hn(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+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[f>>2];c[k>>2]=jn(c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;If(47);Jf();i=e;return c[k>>2]|0} -function fw(a,b,c){a=a|0;b=b|0;c=c|0;return uv(a,2147483647,b,c)|0}function gw(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=wv(a,b,f)|0;i=e;return d|0}function hw(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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if((c[f+76>>2]|0)>-1)g=Iv(f)|0;else g=0;h=e+-1|0;if((e|0)<2){e=f+74|0;i=a[e>>0]|0;a[e>>0]=i+255|i;if(g)av(f);if(!h){a[b>>0]=0;j=b}else j=0}else{a:do if(h){i=f+4|0;e=f+8|0;k=h;l=b;while(1){m=c[i>>2]|0;n=m;o=(c[e>>2]|0)-n|0;p=Cv(m,10,o)|0;q=(p|0)==0;r=q?o:1-n+p|0;p=r>>>0<k>>>0;n=p?r:k;Dx(l|0,m|0,n|0)|0;m=(c[i>>2]|0)+n|0;c[i>>2]=m;r=l+n|0;o=k-n|0;if(!(q&p)){s=r;t=17;break a}if(m>>>0>=(c[e>>2]|0)>>>0){p=cw(f)|0;if((p|0)<0){u=r;break}else v=p}else{c[i>>2]=m+1;v=d[m>>0]|0}k=o+-1|0;o=r+1|0;a[r>>0]=v;if(!((k|0)!=0&(v&255|0)!=10)){s=o;t=17;break a}else l=o}if((u|0)!=(b|0)?(c[f>>2]&16|0)!=0:0){s=u;t=17}else w=0}else{s=b;t=17}while(0);if((t|0)==17)if(!b)w=0;else{a[s>>0]=0;w=b}if(!g)j=w;else{av(f);j=w}}return j|0}function iw(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!e)f=0;else{g=a[b>>0]|0;a:do if(!(g<<24>>24)){h=0;i=c}else{j=e;k=g;l=b;m=c;while(1){j=j+-1|0;n=a[m>>0]|0;if(!(k<<24>>24==n<<24>>24&((j|0)!=0&n<<24>>24!=0))){h=k;i=m;break a}l=l+1|0;n=m+1|0;k=a[l>>0]|0;if(!(k<<24>>24)){h=0;i=n;break}else m=n}}while(0);f=(h&255)-(d[i>>0]|0)|0}return f|0}function jw(a){a=a|0;return Hx(a|0)|0}function kw(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;e=i;i=i+192|0;f=e+152|0;g=e+136|0;h=e+120|0;j=e+104|0;k=e+96|0;l=e+80|0;m=e+64|0;n=e+48|0;o=e+32|0;p=e+16|0;q=e;r=e+176|0;s=e+168|0;c[r>>2]=d;d=(c[r>>2]|0)+(4-1)&~(4-1);t=c[d>>2]|0;c[r>>2]=d+4;d=(b|0)==4?t|32768:t;a:do switch(b|0){case 14:{c[q>>2]=a;c[q+4>>2]=14;c[q+8>>2]=d;u=Xu(pa(221,q|0)|0)|0;break}case 9:{c[p>>2]=a;c[p+4>>2]=16;c[p+8>>2]=s;t=pa(221,p|0)|0;switch(t|0){case -22:{c[o>>2]=a;c[o+4>>2]=9;c[o+8>>2]=d;v=pa(221,o|0)|0;break}case 0:{r=c[s+4>>2]|0;v=(c[s>>2]|0)==2?0-r|0:r;break}default:v=Xu(t)|0}u=v;break}case 1030:{c[n>>2]=a;c[n+4>>2]=1030;c[n+8>>2]=d;t=pa(221,n|0)|0;if((t|0)!=-22){if((t|0)>-1){c[m>>2]=t;c[m+4>>2]=2;c[m+8>>2]=1;pa(221,m|0)|0}u=Xu(t)|0;break a}c[l>>2]=a;c[l+4>>2]=1030;c[l+8>>2]=0;t=pa(221,l|0)|0;if((t|0)==-22){c[j>>2]=a;c[j+4>>2]=0;c[j+8>>2]=d;r=pa(221,j|0)|0;if((r|0)>-1){c[h>>2]=r;c[h+4>>2]=2;c[h+8>>2]=1;pa(221,h|0)|0}u=Xu(r)|0;break a}else{if((t|0)>-1){c[k>>2]=t;ta(6,k|0)|0}u=Xu(-22)|0;break a}break}default:if((b+-12|0)>>>0<5){c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;u=Xu(pa(221,g|0)|0)|0;break a}else{c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;u=Xu(pa(221,f|0)|0)|0;break a}}while(0);i=e;return u|0}function lw(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ta(6,d|0)|0;d=Xu((a|0)==-4?-115:a)|0;i=b;return d|0}function mw(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 nw(a){a=a|0;return Hx(a|0)|0}function ow(a,b,c){a=a|0;b=b|0;c=c|0;pw(a,b,c)|0;return a|0}function pw(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,B=0,C=0,D=0;f=d;do if(!((f^b)&3)){g=(e|0)!=0;a:do if(g&(f&3|0)!=0){h=e;i=d;j=b;while(1){k=a[i>>0]|0;a[j>>0]=k;if(!(k<<24>>24)){l=h;m=i;n=j;break a}k=h+-1|0;o=i+1|0;p=j+1|0;q=(k|0)!=0;if(q&(o&3|0)!=0){h=k;i=o;j=p}else{r=k;s=o;t=p;u=q;v=5;break}}}else{r=e;s=d;t=b;u=g;v=5}while(0);if((v|0)==5)if(u){l=r;m=s;n=t}else{w=t;x=0;break}if(!(a[m>>0]|0)){w=n;x=l}else{b:do if(l>>>0>3){g=l;j=n;i=m;while(1){h=c[i>>2]|0;if((h&-2139062144^-2139062144)&h+-16843009){y=g;z=j;A=i;break b}c[j>>2]=h;h=g+-4|0;q=i+4|0;p=j+4|0;if(h>>>0>3){g=h;j=p;i=q}else{y=h;z=p;A=q;break}}}else{y=l;z=n;A=m}while(0);B=A;C=z;D=y;v=11}}else{B=d;C=b;D=e;v=11}while(0);c:do if((v|0)==11)if(!D){w=C;x=0}else{e=B;b=C;d=D;while(1){y=a[e>>0]|0;a[b>>0]=y;if(!(y<<24>>24)){w=b;x=d;break c}d=d+-1|0;y=b+1|0;if(!d){w=y;x=0;break}else{e=e+1|0;b=y}}}while(0);Fx(w|0,0,x|0)|0;return w|0}function qw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;f=e+16|0;g=e;if(Cv(70495,a[d>>0]|0,4)|0){h=rw(d)|0|32768;c[g>>2]=b;c[g+4>>2]=h;c[g+8>>2]=438;h=Xu(hb(5,g|0)|0)|0;if((h|0)>=0){g=uw(h,d)|0;if(!g){c[f>>2]=h;ta(6,f|0)|0;j=0}else j=g}else j=0}else{c[(Yu()|0)>>2]=22;j=0}i=e;return j|0}function rw(b){b=b|0;var c=0,d=0,e=0,f=0;c=(sw(b,43)|0)==0;d=a[b>>0]|0;e=c?d<<24>>24!=114&1:2;c=(sw(b,120)|0)==0;f=c?e:e|128;e=(sw(b,101)|0)==0;b=e?f:f|524288;f=d<<24>>24==114?b:b|64;b=d<<24>>24==119?f|512:f;return (d<<24>>24==97?b|1024:b)|0}function sw(b,c){b=b|0;c=c|0;var d=0;d=tw(b,c)|0;return ((a[d>>0]|0)==(c&255)<<24>>24?d:0)|0}function tw(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;e=d&255;a:do if(!e)f=b+(Kv(b)|0)|0;else{if(!(b&3))g=b;else{h=d&255;i=b;while(1){j=a[i>>0]|0;if(j<<24>>24==0?1:j<<24>>24==h<<24>>24){f=i;break a}j=i+1|0;if(!(j&3)){g=j;break}else i=j}}i=_(e,16843009)|0;h=c[g>>2]|0;b:do if(!((h&-2139062144^-2139062144)&h+-16843009)){j=h;k=g;while(1){l=j^i;if((l&-2139062144^-2139062144)&l+-16843009){m=k;break b}l=k+4|0;j=c[l>>2]|0;if((j&-2139062144^-2139062144)&j+-16843009){m=l;break}else k=l}}else m=g;while(0);i=d&255;h=m;while(1){k=a[h>>0]|0;if(k<<24>>24==0?1:k<<24>>24==i<<24>>24){f=h;break}else h=h+1|0}}while(0);return f|0}function uw(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;e=i;i=i+112|0;f=e+40|0;g=e+24|0;h=e+16|0;j=e;k=e+52|0;l=a[d>>0]|0;if(Cv(70495,l<<24>>24,4)|0){m=sx(1144)|0;if(!m)n=0;else{o=m;p=o+112|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));if(!(sw(d,43)|0))c[m>>2]=l<<24>>24==114?8:4;if(!(sw(d,101)|0))q=l;else{c[j>>2]=b;c[j+4>>2]=2;c[j+8>>2]=1;pa(221,j|0)|0;q=a[d>>0]|0}if(q<<24>>24==97){c[h>>2]=b;c[h+4>>2]=3;q=pa(221,h|0)|0;if(!(q&1024)){c[g>>2]=b;c[g+4>>2]=4;c[g+8>>2]=q|1024;pa(221,g|0)|0}g=c[m>>2]|128;c[m>>2]=g;r=g}else r=c[m>>2]|0;c[m+60>>2]=b;c[m+44>>2]=m+120;c[m+48>>2]=1024;g=m+75|0;a[g>>0]=-1;if((r&8|0)==0?(c[f>>2]=b,c[f+4>>2]=21505,c[f+8>>2]=k,(_a(54,f|0)|0)==0):0)a[g>>0]=10;c[m+32>>2]=35;c[m+36>>2]=25;c[m+40>>2]=24;c[m+12>>2]=10;if(!(c[17777]|0))c[m+76>>2]=-1;fb(71132);g=c[17782]|0;c[m+56>>2]=g;if(g)c[g+52>>2]=m;c[17782]=m;$a(71132);n=m}}else{c[(Yu()|0)>>2]=22;n=0}i=e;return n|0}function vw(a){a=a|0;var b=0,d=0,e=0,f=0;b=(c[a>>2]&1|0)!=0;if(!b){fb(71132);d=c[a+52>>2]|0;e=a+56|0;if(d)c[d+56>>2]=c[e>>2];f=c[e>>2]|0;if(f)c[f+52>>2]=d;if((c[17782]|0)==(a|0))c[17782]=f;$a(71132)}f=ww(a)|0;d=zb[c[a+12>>2]&15](a)|0|f;f=c[a+92>>2]|0;if(f)tx(f);if(!b)tx(a);return d|0}function ww(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=xw(a)|0;break}d=(Iv(a)|0)==0;e=xw(a)|0;if(d)b=e;else{av(a);b=e}}else{if(!(c[3961]|0))f=0;else f=ww(c[3961]|0)|0;fb(71132);e=c[17782]|0;if(!e)g=f;else{d=e;e=f;while(1){if((c[d+76>>2]|0)>-1)h=Iv(d)|0;else h=0;if((c[d+20>>2]|0)>>>0>(c[d+28>>2]|0)>>>0)i=xw(d)|0|e;else i=e;if(h)av(d);d=c[d+56>>2]|0;if(!d){g=i;break}else e=i}}$a(71132);b=g}while(0);return b|0}function xw(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?(vb[c[a+36>>2]&63](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)vb[c[a+40>>2]&63](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 yw(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(!(zv(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((vb[c[b+36>>2]&63](b,g,1)|0)==1)n=d[g>>0]|0;else n=-1}while(0);i=f;return n|0}function zw(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[15964+(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[(Yu()|0)>>2]=84;j=-1}while(0);i=g;return j|0}function Aw(a,b){a=a|0;b=b|0;return (Bw(a,Kv(a)|0,1,b)|0)+-1|0}function Bw(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=(Iv(e)|0)==0;h=yv(a,f,e)|0;if(g)i=h;else{av(e);i=h}}else i=yv(a,f,e)|0;if((i|0)==(f|0))j=d;else j=(i>>>0)/(b>>>0)|0;return j|0}function Cw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[3932]|0;if((c[d+76>>2]|0)>-1)e=Iv(d)|0;else e=0;do if((Aw(b,d)|0)<0)f=1;else{if((a[d+75>>0]|0)!=10?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=10;f=0;break}f=(yw(d,10)|0)<0}while(0);if(e)av(d);return f<<31>>31|0}function Dw(){var a=0,b=0;a=i;i=i+16|0;b=wa(20,a|0)|0;i=a;return b|0}function Ew(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=Xu(Za(33,e|0)|0)|0;i=d;return b|0}function Fw(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=wv(c[3932]|0,a,e)|0;i=d;return b|0}function Gw(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){b=(Iv(a)|0)==0;d=(c[a>>2]|0)>>>4&1;if(b)e=d;else e=d}else e=(c[a>>2]|0)>>>4&1;return e|0}function Hw(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=b;e=70499;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{e=14;d=c;while(1){f=e+1|0;if(d>>>0<10){g=f;break}else{e=f;d=(d>>>0)/10|0}}a[b+g>>0]=0;d=c;c=g;while(1){c=c+-1|0;a[b+c>>0]=(d>>>0)%10|0|48;if(d>>>0<10)break;else d=(d>>>0)/10|0}}return}function Iw(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+48|0;e=d+40|0;f=d+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;h=Ha(197,g|0)|0;if((h|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(pa(221,f|0)|0)>=0):0){Hw(f,a);c[e>>2]=f;c[e+4>>2]=b;j=Xu(Ia(195,e|0)|0)|0}else j=Xu(h)|0;i=d;return j|0}function Jw(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+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;f=Xu(qb(142,h|0)|0)|0;i=g;return f|0}function Kw(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]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=Xu(ib(4,f|0)|0)|0;i=e;return d|0}function Lw(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]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=Xu(db(3,f|0)|0)|0;i=e;return d|0}function Mw(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+16|0;c[g>>2]=d;d=(c[g>>2]|0)+(4-1)&~(4-1);h=c[d>>2]|0;c[g>>2]=d+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=h;h=Xu(hb(5,f|0)|0)|0;i=e;return h|0}function Nw(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Xu(cb(10,d|0)|0)|0;i=b;return a|0}function Ow(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+32|0;g=f;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=e;c[g+12>>2]=a;e=g+16|0;c[e>>2]=0;d=g+20|0;c[d>>2]=0;switch(a|0){case 208:case 203:case 213:{c[e>>2]=1;break}default:{}}Tw(8,g);g=c[d>>2]|0;if(!g)h=0;else{c[(Yu()|0)>>2]=g;h=-1}i=f;return h|0}function Pw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+32|0;d=b+16|0;e=b;f=a+20|0;do if(!(c[f>>2]|0)){if(((c[a+16>>2]|0)!=0?(g=c[a>>2]|0,(g|0)>-1):0)?(g|0)!=(Qw()|0):0){c[d>>2]=c[180];c[d+4>>2]=c[181];c[d+8>>2]=c[182];c[d+12>>2]=c[183];Rw(6,e)|0;g=Sw(6,d)|0;c[f>>2]=0-g;if(!((g|0)!=0?(c[17780]|0)!=0:0)){c[f>>2]=1;Sw(6,e)|0}break}c[f>>2]=1}while(0);i=b;return}function Qw(){var a=0,b=0;a=i;i=i+16|0;b=Ka(199,a|0)|0;i=a;return b|0}function Rw(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+32|0;e=d+16|0;f=d;g=d+24|0;c[f>>2]=0;c[f+4>>2]=a;c[f+8>>2]=0;c[f+12>>2]=b;h=Xu(eb(340,f|0)|0)|0;if(!h){f=b;if((c[f>>2]|0)==-1?(c[f+4>>2]|0)==-1:0){f=b;c[f>>2]=-1;c[f+4>>2]=-1}f=b+8|0;j=f;if((c[j>>2]|0)==-1?(c[j+4>>2]|0)==-1:0){j=f;c[j>>2]=-1;c[j+4>>2]=-1;k=0}else k=0}else if((c[(Yu()|0)>>2]|0)==38){c[e>>2]=a;c[e+4>>2]=g;if((Xu(Ga(191,e|0)|0)|0)>=0){e=c[g>>2]|0;a=(e|0)==-1;j=b;c[j>>2]=a?-1:e;c[j+4>>2]=a?-1:0;j=c[g+4>>2]|0;g=(j|0)==-1;e=b+8|0;f=e;c[f>>2]=g?-1:j;c[f+4>>2]=g?-1:0;if(a){a=b;c[a>>2]=-1;c[a+4>>2]=-1}if(g){g=e;c[g>>2]=-1;c[g+4>>2]=-1;k=0}else k=0}else k=-1}else k=h;i=d;return k|0}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+16|0;f=d;g=d+24|0;c[f>>2]=0;c[f+4>>2]=a;c[f+8>>2]=b;c[f+12>>2]=0;h=eb(340,f|0)|0;if((h|0)==-38){f=b;j=c[f>>2]|0;k=c[f+4>>2]|0;f=k>>>0<0|(k|0)==0&j>>>0<4294967295;k=f?j:-1;c[g>>2]=k;k=b+8|0;b=c[k>>2]|0;j=c[k+4>>2]|0;k=j>>>0<0|(j|0)==0&b>>>0<4294967295;j=k?b:-1;c[g+4>>2]=j;c[e>>2]=a;c[e+4>>2]=g;l=Ua(75,e|0)|0}else l=h;i=d;return l|0}function Tw(a,b){a=a|0;b=b|0;xb[a&15](b);return}function Uw(){var a=0,b=0;a=i;i=i+16|0;b=mb(201,a|0)|0;i=a;return b|0}function Vw(a){a=a|0;return Ow(213,a,0,0)|0}function Ww(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=((b|0)<0)<<31>>31;b=Xu(Ja(194,e|0)|0)|0;i=d;return b|0}function Xw(){var a=0,b=0;a=i;i=i+16|0;b=ra(64,a|0)|0;i=a;return b|0}function Yw(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;do{c[e>>2]=a;c[e+4>>2]=b;f=sa(63,e|0)|0}while((f|0)==-16);g=f;e=Xu(g)|0;i=d;return e|0}function Zw(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+32|0;j=h;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){c[(Yu()|0)>>2]=12;k=-1;break}l=(e&16|0)!=0;if(l)_w(-1);c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=g>>12;m=Xu(Fa(192,j|0)|0)|0;if(l){$w();k=m}else k=m}else{c[(Yu()|0)>>2]=22;k=-1}while(0);i=h;return k|0}function _w(a){a=a|0;return}function $w(){return}function ax(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;_w(-1);c[e>>2]=a;c[e+4>>2]=b;b=Xu(Qa(91,e|0)|0)|0;$w();i=d;return b|0}function bx(a){a=a|0;var b=0;b=70552;c[b>>2]=a+-1;c[b+4>>2]=0;return}function cx(){var a=0,b=0,d=0;a=70552;b=Mx(c[a>>2]|0,c[a+4>>2]|0,1284865837,1481765933)|0;a=Ax(b|0,C|0,1,0)|0;b=C;d=70552;c[d>>2]=a;c[d+4>>2]=b;d=Cx(a|0,b|0,33)|0;return d|0}function dx(a){a=a|0;fb(71152);ex(a);$a(71152);return}function ex(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=c[4092]|0;if(!b)c[c[4093]>>2]=a;else{c[4126]=(b|0)==31|(b|0)==7?3:1;c[17790]=0;if((b|0)>0){d=c[4093]|0;e=0;f=a;a=0;do{g=Mx(f|0,e|0,1284865837,1481765933)|0;f=Ax(g|0,C|0,1,0)|0;e=C;c[d+(a<<2)>>2]=e;a=a+1|0}while((a|0)<(b|0));h=d}else h=c[4093]|0;c[h>>2]=c[h>>2]|1}return}function fx(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;fb(71152);a=c[4092]|0;if(!a){b=c[4093]|0;d=(_(c[b>>2]|0,1103515245)|0)+12345&2147483647;c[b>>2]=d;e=d}else{d=c[17790]|0;b=c[4093]|0;f=c[4126]|0;g=b+(f<<2)|0;h=(c[g>>2]|0)+(c[b+(d<<2)>>2]|0)|0;c[g>>2]=h;g=f+1|0;c[4126]=(g|0)==(a|0)?0:g;g=d+1|0;c[17790]=(g|0)==(a|0)?0:g;e=h>>>1}$a(71152);return e|0}function gx(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(!(Yv(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 hx(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=Xu(Wa(77,e|0)|0)|0;i=d;return b|0}function ix(a,b){a=a|0;b=b|0;return jx(a,b,(Kv(a)|0)+1|0)|0}function jx(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c&255;c=d;while(1){if(!c){f=0;break}c=c+-1|0;d=b+c|0;if((a[d>>0]|0)==e<<24>>24){f=d;break}}return f|0}function kx(a){a=a|0;return (a+-48|0)>>>0<10|0}function lx(a,b){a=a|0;b=b|0;var d=0;if(!a)d=ux(1,24)|0;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;d=b}return d|0}function mx(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b){d=b;do{tx(c[d>>2]|0);b=d;d=c[d+4>>2]|0;tx(b)}while((d|0)!=0)}tx(a);return}function nx(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;g=a+16|0;a:do if(!(c[g>>2]|0)){h=a+12|0;i=c[h>>2]|0;do if(i>>>0<f>>>0){if(b)if(!d){c[g>>2]=1;j=0;break a}else{k=a+8|0;c[k>>2]=d;c[h>>2]=1024;l=k;m=d;n=d;o=1024;break}k=f<<3;p=k>>>0>1024?k:1024;k=sx(8)|0;if(!k){c[g>>2]=1;j=0;break a}q=sx(p)|0;c[k>>2]=q;r=q;if(!q){tx(k);c[g>>2]=1;j=0;break a}c[k+4>>2]=0;s=a+4|0;t=c[s>>2]|0;if(t)c[t+4>>2]=k;if(!(c[a>>2]|0))c[a>>2]=k;c[s>>2]=k;k=a+8|0;c[k>>2]=r;c[h>>2]=p;l=k;m=r;n=q;o=p}else{p=a+8|0;q=c[p>>2]|0;l=p;m=q;n=q;o=i}while(0);i=m+f&3;q=((i|0)==0?0:4-i|0)+f|0;c[l>>2]=n+q;c[h>>2]=o-q;if(!e)j=n;else{Fx(n|0,0,q|0)|0;j=n}}else j=0;while(0);return j|0}function ox(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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,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,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;g=i;i=i+16|0;h=g;j=c[a+4>>2]|0;a=j+56|0;k=(c[a>>2]&8|0)==0?d:0;d=j+40|0;l=c[d>>2]|0;if((l|0)>0&(k|0)!=0){m=sx(l<<2)|0;if(!m)n=12;else{o=m;p=3}}else{o=0;p=3}if((p|0)==3){if(!(c[j+60>>2]|0)){c[h>>2]=0;m=f&1;l=f&2;q=c[a>>2]&4;if(!o)r=0;else r=c[d>>2]|0;s=r<<2;t=c[j+52>>2]|0;u=t<<3;v=u+8|0;w=s+12+u+(v+(_(s,t)|0)<<1)|0;x=sx(w)|0;if(!x){y=12;z=0}else{Fx(x|0,0,w|0)|0;w=x+s|0;A=w&3;B=w+((A|0)==0?0:4-A|0)|0;A=B+v|0;w=A&3;C=A+((w|0)==0?0:4-w|0)|0;w=C+v|0;v=w&3;A=w+((v|0)==0?0:4-v|0)|0;v=A+u|0;u=v&3;if((t|0)>0){w=0;D=v+((u|0)==0?0:4-u|0)|0;while(1){c[C+(w<<3)+4>>2]=D;u=D+s|0;c[B+(w<<3)+4>>2]=u;w=w+1|0;if((w|0)==(t|0)){E=0;break}else D=u+s|0}do{c[A+(E<<3)>>2]=-1;E=E+1|0}while((E|0)!=(t|0))}t=zw(h,b,4)|0;if((t|0)<1)if((t|0)<0){F=0;G=1}else{H=1;p=201}else{H=t;p=201}a:do if((p|0)==201){t=j+8|0;E=(q|0)!=0;D=(r|0)>0;w=j+12|0;u=j+44|0;v=j+32|0;I=j+36|0;J=(r|0)==0;K=(m|0)==0;L=(r|0)<1;M=-1;N=0;O=0;P=H;Q=0;R=C;S=B;T=B;U=b+H|0;V=x;while(1){if((M|0)<0){W=c[t>>2]|0;X=W+8|0;b:do if(!(c[X>>2]|0)){Y=M;Z=N;$=T}else{aa=(O|0)!=0;ba=(Q|0)==95;ca=(O|0)==0;da=E&(Q|0)==10;ea=K&(O|0)<1;fa=X;ga=M;ha=N;ia=T;ja=W;while(1){ka=fa;la=ja;c:while(1){ma=la+12|0;if((c[A+(c[ma>>2]<<3)>>2]|0)>=(O|0)){na=ga;oa=ha;pa=ia;qa=la;break}ra=la+20|0;sa=c[ra>>2]|0;if(!sa){ta=ka;ua=ma;va=la;p=236;break}d:do if(da|(ea|(sa&1|0)==0)){if((sa&2|0)!=0?(wa=c[h>>2]|0,!((wa|l|0)==0|E&(wa|0)==10)):0)break;do if(sa&16){if(ba)break d;if(Ov(Q)|0)break d;wa=c[h>>2]|0;if((wa|0)==95)break;if(!(Ov(wa)|0))break d}while(0);wa=c[ra>>2]|0;if(!(wa&32))xa=wa;else{if(ba){wa=c[h>>2]|0;if((wa|0)==95)break;else ya=wa}else{wa=(Ov(Q)|0)==0;za=c[h>>2]|0;if(wa|(za|0)==95)break;else ya=za}if(Ov(ya)|0)break;xa=c[ra>>2]|0}za=c[h>>2]|0;do if((za|0)!=0&(aa&(xa&64|0)!=0)){if(ba){Aa=za;Ba=1}else{wa=(Ov(Q)|0)!=0;Aa=c[h>>2]|0;Ba=wa}if((Aa|0)==95)if(Ba)break d;else break;else if(Ba^(Ov(Aa)|0)!=0)break;else break d}while(0);if(!(c[ra>>2]&128)){ta=ka;ua=ma;va=la;p=236;break c}za=c[h>>2]|0;if(ca|(za|0)==0)break;if(ba){Ca=za;Da=1}else{za=(Ov(Q)|0)!=0;Ca=c[h>>2]|0;Da=za}if((Ca|0)==95)if(Da){ta=ka;ua=ma;va=la;p=236;break c}else break;else if(Da^(Ov(Ca)|0)!=0)break;else{ta=ka;ua=ma;va=la;p=236;break c}}while(0);ka=la+40|0;if(!(c[ka>>2]|0)){Y=ga;Z=ha;$=ia;break b}else la=la+32|0}if((p|0)==236){p=0;c[ia>>2]=c[ta>>2];if(D)Fx(c[ia+4>>2]|0,-1,s|0)|0;la=c[va+16>>2]|0;do if(la){ka=c[la>>2]|0;if((ka|0)<=-1)break;ma=ia+4|0;ra=ka;ka=la;do{if((ra|0)<(r|0))c[(c[ma>>2]|0)+(ra<<2)>>2]=O;ka=ka+4|0;ra=c[ka>>2]|0}while((ra|0)>-1)}while(0);la=(c[ia>>2]|0)!=(c[w>>2]|0);if(L|la){Ea=ia+4|0;Fa=la?ga:O;Ga=la?ha:1}else{la=ia+4|0;ra=c[la>>2]|0;ka=0;do{c[o+(ka<<2)>>2]=c[ra+(ka<<2)>>2];ka=ka+1|0}while((ka|0)!=(r|0));Ea=la;Fa=O;Ga=1}la=c[ua>>2]|0;c[A+(la<<3)>>2]=O;c[A+(la<<3)+4>>2]=Ea;na=Fa;oa=Ga;pa=ia+8|0;qa=va}fa=qa+40|0;if(!(c[fa>>2]|0)){Y=na;Z=oa;$=pa;break}else{ga=na;ha=oa;ia=pa;ja=qa+32|0}}}while(0);c[$>>2]=0;W=c[h>>2]|0;if(!W){Ha=Y;break}else{Ia=W;Ja=Y;Ka=Z}}else{if(J){Ha=M;break}W=c[h>>2]|0;if((T|0)!=(S|0)&(W|0)!=0){Ia=W;Ja=M;Ka=N}else{Ha=M;break}}W=O+P|0;X=zw(h,U,4)|0;if((X|0)<1)if((X|0)<0){F=0;G=1;break a}else La=1;else La=X;X=U+La|0;if((Ka|0)!=0&(c[u>>2]|0)!=0){if(!(c[S>>2]|0))Ma=R;else{ja=c[I>>2]|0;ia=c[ja>>2]|0;ha=(ia|0)>-1;ga=S;fa=R;while(1){ba=ga+4|0;e:do if(ha){ca=ja;aa=ia;ea=0;while(1){da=c[ca+((ea|1)<<2)>>2]|0;if((aa|0)>=(r|0)){Na=fa;break e}la=c[ba>>2]|0;if((c[la+(da<<2)>>2]|0)==(c[o+(da<<2)>>2]|0)?(c[la+(aa<<2)>>2]|0)<(c[o+(aa<<2)>>2]|0):0){Na=fa;break e}ea=ea+2|0;ca=c[I>>2]|0;aa=c[ca+(ea<<2)>>2]|0;if((aa|0)<=-1){Oa=la;break}}Pa=ba;Qa=Oa;p=265}else{Pa=ba;Qa=c[ba>>2]|0;p=265}while(0);if((p|0)==265){p=0;c[fa>>2]=c[ga>>2];ba=fa+4|0;aa=c[ba>>2]|0;c[ba>>2]=Qa;c[Pa>>2]=aa;Na=fa+8|0}ga=ga+8|0;if(!(c[ga>>2]|0)){Ma=Na;break}else fa=Na}}c[Ma>>2]=0;Ra=0;Sa=R;Ta=S}else{Ra=Ka;Sa=S;Ta=R}fa=c[Sa>>2]|0;if(!fa){Ua=Ja;Va=Ra;Wa=Ta;Xa=V}else{ga=(W|0)!=0;ia=(Ia|0)==95;ja=(W|0)==0;ha=E&(Ia|0)==10;aa=K&(W|0)<1;ba=fa;fa=Ja;ea=Ra;ca=Sa;la=Ta;da=V;while(1){ka=ba+8|0;if(!(c[ka>>2]|0)){Ya=fa;Za=ea;_a=la;$a=da}else{ra=ca+4|0;ma=da;sa=ka;ka=fa;za=ea;wa=la;ab=ba;while(1){f:do if((c[ab>>2]|0)>>>0>Ia>>>0){bb=ka;cb=za;db=wa;eb=ma}else{if((c[ab+4>>2]|0)>>>0<Ia>>>0){bb=ka;cb=za;db=wa;eb=ma;break}fb=ab+20|0;gb=c[fb>>2]|0;do if(gb){if(!(ha|(aa|(gb&1|0)==0))){bb=ka;cb=za;db=wa;eb=ma;break f}if((gb&2|0)!=0?(hb=c[h>>2]|0,!((hb|l|0)==0|E&(hb|0)==10)):0){bb=ka;cb=za;db=wa;eb=ma;break f}do if(gb&16){if(ia){bb=ka;cb=za;db=wa;eb=ma;break f}if(Ov(Ia)|0){bb=ka;cb=za;db=wa;eb=ma;break f}hb=c[h>>2]|0;if((hb|0)==95)break;if(!(Ov(hb)|0)){bb=ka;cb=za;db=wa;eb=ma;break f}}while(0);hb=c[fb>>2]|0;if(!(hb&32))ib=hb;else{if(ia){hb=c[h>>2]|0;if((hb|0)==95){bb=ka;cb=za;db=wa;eb=ma;break f}else jb=hb}else{hb=(Ov(Ia)|0)==0;kb=c[h>>2]|0;if(hb|(kb|0)==95){bb=ka;cb=za;db=wa;eb=ma;break f}else jb=kb}if(Ov(jb)|0){bb=ka;cb=za;db=wa;eb=ma;break f}ib=c[fb>>2]|0}kb=c[h>>2]|0;do if((kb|0)!=0&(ga&(ib&64|0)!=0)){if(ia){lb=kb;mb=1}else{hb=(Ov(Ia)|0)!=0;lb=c[h>>2]|0;mb=hb}if((lb|0)==95)if(mb){bb=ka;cb=za;db=wa;eb=ma;break f}else break;else if(mb^(Ov(lb)|0)!=0)break;else{bb=ka;cb=za;db=wa;eb=ma;break f}}while(0);do if(c[fb>>2]&128){kb=c[h>>2]|0;if(ja|(kb|0)==0){bb=ka;cb=za;db=wa;eb=ma;break f}if(ia){nb=kb;ob=1}else{kb=(Ov(Ia)|0)!=0;nb=c[h>>2]|0;ob=kb}if((nb|0)==95)if(ob)break;else{bb=ka;cb=za;db=wa;eb=ma;break f}else if(ob^(Ov(nb)|0)!=0){bb=ka;cb=za;db=wa;eb=ma;break f}else break}while(0);kb=c[fb>>2]|0;do if(!(kb&4))pb=kb;else{if(c[a>>2]&2){pb=kb;break}if(!(Nv(Ia,c[ab+24>>2]|0)|0)){bb=ka;cb=za;db=wa;eb=ma;break f}pb=c[fb>>2]|0}while(0);do if(pb&4){if(!(c[a>>2]&2))break;kb=mv(Ia)|0;hb=ab+24|0;if(Nv(kb,c[hb>>2]|0)|0)break;kb=jv(Ia)|0;if(!(Nv(kb,c[hb>>2]|0)|0)){bb=ka;cb=za;db=wa;eb=ma;break f}}while(0);if(!(c[fb>>2]&8))break;if(rx(c[ab+28>>2]|0,Ia,c[a>>2]&2)|0){bb=ka;cb=za;db=wa;eb=ma;break f}}while(0);if(D){fb=c[ra>>2]|0;gb=0;do{c[ma+(gb<<2)>>2]=c[fb+(gb<<2)>>2];gb=gb+1|0}while((gb|0)!=(r|0))}gb=c[ab+16>>2]|0;do if(gb){fb=c[gb>>2]|0;if((fb|0)>-1){qb=fb;rb=gb}else break;do{if((qb|0)<(r|0))c[ma+(qb<<2)>>2]=W;rb=rb+4|0;qb=c[rb>>2]|0}while((qb|0)>-1)}while(0);gb=c[ab+12>>2]|0;fb=A+(gb<<3)|0;if((c[fb>>2]|0)>=(W|0)){hb=c[A+(gb<<3)+4>>2]|0;kb=c[hb>>2]|0;if(!(px(r,c[v>>2]|0,ma,kb)|0)){bb=ka;cb=za;db=wa;eb=ma;break}c[hb>>2]=ma;if((c[sa>>2]|0)!=(c[w>>2]|0)){bb=ka;cb=za;db=wa;eb=kb;break}if(D)sb=0;else{bb=W;cb=1;db=wa;eb=kb;break}while(1){c[o+(sb<<2)>>2]=c[ma+(sb<<2)>>2];sb=sb+1|0;if((sb|0)==(r|0)){bb=W;cb=1;db=wa;eb=kb;break f}}}kb=c[sa>>2]|0;c[wa>>2]=kb;hb=wa+4|0;tb=c[hb>>2]|0;c[hb>>2]=ma;c[fb>>2]=W;c[A+(gb<<3)+4>>2]=hb;do if((kb|0)==(c[w>>2]|0)){if((ka|0)==-1){if(!D){ub=W;vb=1;break}}else{if(!D){ub=ka;vb=za;break}if((c[ma>>2]|0)>(c[o>>2]|0)){ub=ka;vb=za;break}}wb=c[hb>>2]|0;xb=0;do{c[o+(xb<<2)>>2]=c[wb+(xb<<2)>>2];xb=xb+1|0}while((xb|0)<(r|0));ub=W;vb=1}else{ub=ka;vb=za}while(0);bb=ub;cb=vb;db=wa+8|0;eb=tb}while(0);sa=ab+40|0;if(!(c[sa>>2]|0)){Ya=bb;Za=cb;_a=db;$a=eb;break}else{ma=eb;ka=bb;za=cb;wa=db;ab=ab+32|0}}}ca=ca+8|0;ba=c[ca>>2]|0;if(!ba){Ua=Ya;Va=Za;Wa=_a;Xa=$a;break}else{fa=Ya;ea=Za;la=_a;da=$a}}}c[Wa>>2]=0;M=Ua;N=Va;O=W;P=La;Q=Ia;R=Sa;S=Ta;T=Wa;U=X;V=Xa}F=Ha;G=Ha>>>31}while(0);tx(x);y=G;z=F}yb=z;zb=y}else{c[h>>2]=0;y=f&1;z=f&2;f=c[a>>2]&4;F=lx(0,0)|0;g:do if(F){G=nx(F,0,0,0,32)|0;if(!G){mx(F);Ab=12;Bb=0;break}c[G+24>>2]=0;c[G+28>>2]=0;x=c[d>>2]|0;if(x){Ha=sx(x<<2)|0;if(!Ha){Cb=0;Db=0;Eb=12;Fb=0;Gb=Ha}else{Hb=Ha;p=9}}else{Hb=0;p=9}h:do if((p|0)==9){Ha=c[j+28>>2]|0;if(Ha){Xa=sx(Ha<<3)|0;if(!Xa){Cb=0;Db=Xa;Eb=12;Fb=0;Gb=Hb;break}else Ib=Xa}else Ib=0;Xa=j+52|0;Ha=c[Xa>>2]|0;if(Ha){Wa=sx(Ha<<2)|0;if(!Wa){Cb=0;Db=Ib;Eb=12;Fb=Wa;Gb=Hb;break}else Jb=Wa}else Jb=0;Wa=j+8|0;Ha=j+12|0;Ta=(o|0)==0;Sa=(o|0)!=0;Ia=j+32|0;La=(f|0)!=0;Va=(Hb|0)==0;Ua=(Ib|0)==0;$a=(Jb|0)==0;_a=(y|0)==0;Za=x;Ya=-1;db=1;cb=-1;bb=G;eb=b;i:while(1){if((Za|0)>0){vb=Za;ub=0;while(1){c[Hb+(ub<<2)>>2]=-1;if(Ta)Kb=vb;else{c[o+(ub<<2)>>2]=-1;Kb=c[d>>2]|0}ub=ub+1|0;if((ub|0)>=(Kb|0))break;else vb=Kb}}vb=c[Xa>>2]|0;if((vb|0)>0)Fx(Jb|0,0,((vb|0)>1?vb:1)<<2|0)|0;vb=c[h>>2]|0;ub=db+cb|0;r=zw(h,eb,4)|0;if((r|0)<1)if((r|0)<0){Cb=0;Db=Ib;Eb=1;Fb=Jb;Gb=Hb;break h}else Lb=1;else Lb=r;r=eb+Lb|0;A=c[h>>2]|0;sb=c[Wa>>2]|0;qb=sb+8|0;if(c[qb>>2]|0){rb=(ub|0)!=0;pb=(vb|0)==95;nb=(ub|0)==0;ob=La&(vb|0)==10;lb=_a&(ub|0)<1;mb=qb;qb=0;ib=bb;jb=0;l=sb;while(1){sb=l+20|0;Ra=c[sb>>2]|0;j:do if(Ra){if(!(ob|(lb|(Ra&1|0)==0))){Mb=qb;Nb=ib;Ob=jb;break}if((Ra&2|0)!=0?(Ja=c[h>>2]|0,!((Ja|z|0)==0|La&(Ja|0)==10)):0){Mb=qb;Nb=ib;Ob=jb;break}do if(Ra&16){if(pb){Mb=qb;Nb=ib;Ob=jb;break j}if(Ov(vb)|0){Mb=qb;Nb=ib;Ob=jb;break j}Ja=c[h>>2]|0;if((Ja|0)==95)break;if(!(Ov(Ja)|0)){Mb=qb;Nb=ib;Ob=jb;break j}}while(0);tb=c[sb>>2]|0;if(!(tb&32))Pb=tb;else{if(pb){tb=c[h>>2]|0;if((tb|0)==95){Mb=qb;Nb=ib;Ob=jb;break}else Qb=tb}else{tb=(Ov(vb)|0)==0;Ja=c[h>>2]|0;if(tb|(Ja|0)==95){Mb=qb;Nb=ib;Ob=jb;break}else Qb=Ja}if(Ov(Qb)|0){Mb=qb;Nb=ib;Ob=jb;break}Pb=c[sb>>2]|0}Ja=c[h>>2]|0;do if((Ja|0)!=0&(rb&(Pb&64|0)!=0)){if(pb){Rb=Ja;Sb=1}else{tb=(Ov(vb)|0)!=0;Rb=c[h>>2]|0;Sb=tb}if((Rb|0)==95)if(Sb){Mb=qb;Nb=ib;Ob=jb;break j}else break;else if(Sb^(Ov(Rb)|0)!=0)break;else{Mb=qb;Nb=ib;Ob=jb;break j}}while(0);if(!(c[sb>>2]&128)){p=52;break}Ja=c[h>>2]|0;if(nb|(Ja|0)==0){Mb=qb;Nb=ib;Ob=jb;break}if(pb){Tb=Ja;Ub=1}else{Ja=(Ov(vb)|0)!=0;Tb=c[h>>2]|0;Ub=Ja}if((Tb|0)==95)if(Ub){p=52;break}else{Mb=qb;Nb=ib;Ob=jb;break}else if(Ub^(Ov(Tb)|0)!=0){Mb=qb;Nb=ib;Ob=jb;break}else{p=52;break}}else p=52;while(0);do if((p|0)==52){p=0;if(!jb){Mb=c[l+16>>2]|0;Nb=ib;Ob=c[mb>>2]|0;break}sb=ib+28|0;Ra=c[sb>>2]|0;if(!Ra){Ja=nx(F,0,0,0,32)|0;if(!Ja){p=56;break i}c[Ja+24>>2]=ib;c[Ja+28>>2]=0;tb=nx(F,0,0,0,c[d>>2]<<2)|0;c[Ja+20>>2]=tb;if(!tb){p=63;break i}c[sb>>2]=Ja;Vb=Ja}else Vb=Ra;c[Vb>>2]=ub;c[Vb+4>>2]=r;c[Vb+8>>2]=c[mb>>2];c[Vb+12>>2]=c[l+12>>2];c[Vb+16>>2]=c[h>>2];if((c[d>>2]|0)>0){Ra=c[Vb+20>>2]|0;Ja=0;do{c[Ra+(Ja<<2)>>2]=c[Hb+(Ja<<2)>>2];Ja=Ja+1|0}while((Ja|0)<(c[d>>2]|0))}Ja=c[l+16>>2]|0;if(!Ja){Mb=qb;Nb=Vb;Ob=jb;break}Ra=c[Ja>>2]|0;if((Ra|0)<=-1){Mb=qb;Nb=Vb;Ob=jb;break}sb=c[Vb+20>>2]|0;tb=Ra;Ra=Ja;do{Ra=Ra+4|0;c[sb+(tb<<2)>>2]=ub;tb=c[Ra>>2]|0}while((tb|0)>-1);Mb=qb;Nb=Vb;Ob=jb}while(0);mb=l+40|0;if(!(c[mb>>2]|0)){Wb=Mb;Xb=Nb;Yb=Ob;break}else{qb=Mb;ib=Nb;jb=Ob;l=l+32|0}}if(Wb){l=c[Wb>>2]|0;if((l|0)>-1){jb=l;l=Wb;while(1){c[Hb+(jb<<2)>>2]=ub;ib=l+4|0;jb=c[ib>>2]|0;if((jb|0)<=-1){Zb=ib;break}else l=ib}}else Zb=Wb}else Zb=0;if(!Yb){_b=Ya;$b=Zb;ac=ub;bc=Lb;cc=Xb;dc=0;ec=r;p=174}else{fc=Ya;gc=Zb;hc=ub;ic=Lb;jc=Xb;kc=Yb;lc=r;p=82}}else{_b=Ya;$b=0;ac=ub;bc=Lb;cc=bb;dc=0;ec=r;p=174}k:while(1){l:do if((p|0)==82){p=0;if((kc|0)==(c[Ha>>2]|0)){if((fc|0)>=(hc|0)){if(!(Sa&(fc|0)==(hc|0))){_b=fc;$b=gc;ac=hc;bc=ic;cc=jc;dc=kc;ec=lc;p=174;continue k}if(!(px(c[d>>2]|0,c[Ia>>2]|0,Hb,o)|0)){_b=fc;$b=gc;ac=fc;bc=ic;cc=jc;dc=kc;ec=lc;p=174;continue k}}if(Ta){_b=hc;$b=gc;ac=hc;bc=ic;cc=jc;dc=kc;ec=lc;p=174;continue k}if((c[d>>2]|0)>0)mc=0;else{_b=hc;$b=gc;ac=hc;bc=ic;cc=jc;dc=kc;ec=lc;p=174;continue k}while(1){c[o+(mc<<2)>>2]=c[Hb+(mc<<2)>>2];l=mc+1|0;if((l|0)<(c[d>>2]|0))mc=l;else{_b=hc;$b=gc;ac=hc;bc=ic;cc=jc;dc=kc;ec=lc;p=174;continue k}}}l=kc+8|0;do if(!(c[l>>2]|0))p=97;else{if(!(c[kc+20>>2]&256)){p=97;break}jb=c[kc+24>>2]|0;qx(jb+1|0,Ib,c[a>>2]&-9,j,Hb,hc);ib=c[Ib+(jb<<3)>>2]|0;qb=c[Ib+(jb<<3)+4>>2]|0;jb=qb-ib|0;if(iw(b+ib|0,lc+-1|0,jb)|0){_b=fc;$b=gc;ac=hc;bc=ic;cc=jc;dc=kc;ec=lc;p=174;continue k}mb=(qb|0)==(ib|0);ib=mb&1;qb=Jb+(c[kc+12>>2]<<2)|0;if(mb?(c[qb>>2]|0)!=0:0){_b=fc;$b=gc;ac=hc;bc=ic;cc=jc;dc=kc;ec=lc;p=174;continue k}c[qb>>2]=ib;ib=jb+-1|0;jb=lc+ib|0;qb=c[h>>2]|0;mb=hc+ic+ib|0;ib=zw(h,jb,4)|0;if((ib|0)<1)if((ib|0)<0){nc=2;oc=fc;pc=gc;qc=mb;rc=ib;sc=jc;tc=kc;uc=jb;break l}else vc=1;else vc=ib;wc=mb;xc=vc;yc=qb;zc=jb+vc|0}while(0);if((p|0)==97){p=0;jb=c[h>>2]|0;if(!jb){_b=fc;$b=gc;ac=hc;bc=ic;cc=jc;dc=kc;ec=lc;p=174;continue k}qb=hc+ic|0;mb=zw(h,lc,4)|0;if((mb|0)<1){if((mb|0)<0){nc=2;oc=fc;pc=gc;qc=qb;rc=mb;sc=jc;tc=kc;uc=lc;break}Ac=mb+1|0}else Ac=mb;wc=qb;xc=Ac;yc=jb;zc=lc+Ac|0}if(!(c[l>>2]|0)){_b=fc;$b=gc;ac=wc;bc=xc;cc=jc;dc=kc;ec=zc;p=174;continue k}jb=(wc|0)!=0;qb=(yc|0)==95;mb=(wc|0)==0;ib=La&(yc|0)==10;vb=_a&(wc|0)<1;pb=l;nb=0;rb=gc;lb=jc;ob=kc;m:while(1){n:do if((c[ob>>2]|0)>>>0>yc>>>0){Bc=nb;Cc=rb;Dc=lb}else{if((c[ob+4>>2]|0)>>>0<yc>>>0){Bc=nb;Cc=rb;Dc=lb;break}tb=ob+20|0;Ra=c[tb>>2]|0;do if(Ra){if(!(ib|(vb|(Ra&1|0)==0))){Bc=nb;Cc=rb;Dc=lb;break n}if((Ra&2|0)!=0?(sb=c[h>>2]|0,!((sb|z|0)==0|La&(sb|0)==10)):0){Bc=nb;Cc=rb;Dc=lb;break n}do if(Ra&16){if(qb){Bc=nb;Cc=rb;Dc=lb;break n}if(Ov(yc)|0){Bc=nb;Cc=rb;Dc=lb;break n}sb=c[h>>2]|0;if((sb|0)==95)break;if(!(Ov(sb)|0)){Bc=nb;Cc=rb;Dc=lb;break n}}while(0);sb=c[tb>>2]|0;if(!(sb&32))Ec=sb;else{if(qb){sb=c[h>>2]|0;if((sb|0)==95){Bc=nb;Cc=rb;Dc=lb;break n}else Fc=sb}else{sb=(Ov(yc)|0)==0;Ja=c[h>>2]|0;if(sb|(Ja|0)==95){Bc=nb;Cc=rb;Dc=lb;break n}else Fc=Ja}if(Ov(Fc)|0){Bc=nb;Cc=rb;Dc=lb;break n}Ec=c[tb>>2]|0}Ja=c[h>>2]|0;do if((Ja|0)!=0&(jb&(Ec&64|0)!=0)){if(qb){Gc=Ja;Hc=1}else{sb=(Ov(yc)|0)!=0;Gc=c[h>>2]|0;Hc=sb}if((Gc|0)==95)if(Hc){Bc=nb;Cc=rb;Dc=lb;break n}else break;else if(Hc^(Ov(Gc)|0)!=0)break;else{Bc=nb;Cc=rb;Dc=lb;break n}}while(0);do if(c[tb>>2]&128){Ja=c[h>>2]|0;if(mb|(Ja|0)==0){Bc=nb;Cc=rb;Dc=lb;break n}if(qb){Ic=Ja;Jc=1}else{Ja=(Ov(yc)|0)!=0;Ic=c[h>>2]|0;Jc=Ja}if((Ic|0)==95)if(Jc)break;else{Bc=nb;Cc=rb;Dc=lb;break n}else if(Jc^(Ov(Ic)|0)!=0){Bc=nb;Cc=rb;Dc=lb;break n}else break}while(0);Ja=c[tb>>2]|0;do if(!(Ja&4))Kc=Ja;else{if(c[a>>2]&2){Kc=Ja;break}if(!(Nv(yc,c[ob+24>>2]|0)|0)){Bc=nb;Cc=rb;Dc=lb;break n}Kc=c[tb>>2]|0}while(0);do if(Kc&4){if(!(c[a>>2]&2))break;Ja=mv(yc)|0;sb=ob+24|0;if(Nv(Ja,c[sb>>2]|0)|0)break;Ja=jv(yc)|0;if(!(Nv(Ja,c[sb>>2]|0)|0)){Bc=nb;Cc=rb;Dc=lb;break n}}while(0);if(!(c[tb>>2]&8))break;if(rx(c[ob+28>>2]|0,yc,c[a>>2]&2)|0){Bc=nb;Cc=rb;Dc=lb;break n}}while(0);if(!nb){Bc=c[pb>>2]|0;Cc=c[ob+16>>2]|0;Dc=lb;break}tb=lb+28|0;Ra=c[tb>>2]|0;if(!Ra){sb=nx(F,0,0,0,32)|0;if(!sb){Lc=rb;Mc=lb;p=148;break m}c[sb+24>>2]=lb;c[sb+28>>2]=0;Ja=nx(F,0,0,0,c[d>>2]<<2)|0;c[sb+20>>2]=Ja;if(!Ja){Nc=rb;Oc=lb;p=155;break m}c[tb>>2]=sb;Pc=sb}else Pc=Ra;c[Pc>>2]=wc;c[Pc+4>>2]=zc;c[Pc+8>>2]=c[pb>>2];c[Pc+12>>2]=c[ob+12>>2];c[Pc+16>>2]=c[h>>2];if((c[d>>2]|0)>0){Ra=c[Pc+20>>2]|0;sb=0;do{c[Ra+(sb<<2)>>2]=c[Hb+(sb<<2)>>2];sb=sb+1|0}while((sb|0)<(c[d>>2]|0))}sb=c[ob+16>>2]|0;if(!sb){Bc=nb;Cc=rb;Dc=Pc;break}Ra=c[sb>>2]|0;if((Ra|0)<=-1){Bc=nb;Cc=rb;Dc=Pc;break}tb=c[Pc+20>>2]|0;Ja=Ra;Ra=sb;do{c[tb+(Ja<<2)>>2]=wc;Ra=Ra+4|0;Ja=c[Ra>>2]|0}while((Ja|0)>-1);Bc=nb;Cc=rb;Dc=Pc}while(0);pb=ob+40|0;if(!(c[pb>>2]|0)){Qc=Bc;Rc=Cc;Sc=Dc;p=170;break}else{nb=Bc;rb=Cc;lb=Dc;ob=ob+32|0}}if((p|0)==148){p=0;mx(F);if(!Va)tx(Hb);if(!Ua)tx(Ib);if($a){nc=1;oc=fc;pc=Lc;qc=wc;rc=xc;sc=Mc;tc=kc;uc=zc;break}tx(Jb);nc=1;oc=fc;pc=Lc;qc=wc;rc=xc;sc=Mc;tc=kc;uc=zc;break}else if((p|0)==155){p=0;mx(F);if(!Va)tx(Hb);if(!Ua)tx(Ib);if($a){nc=1;oc=fc;pc=Nc;qc=wc;rc=xc;sc=Oc;tc=kc;uc=zc;break}tx(Jb);nc=1;oc=fc;pc=Nc;qc=wc;rc=xc;sc=Oc;tc=kc;uc=zc;break}else if((p|0)==170){p=0;if(!Qc){_b=fc;$b=Rc;ac=wc;bc=xc;cc=Sc;dc=kc;ec=zc;p=174;continue k}if(!Rc){nc=0;oc=fc;pc=0;qc=wc;rc=xc;sc=Sc;tc=Qc;uc=zc;break}ob=c[Rc>>2]|0;if((ob|0)>-1){Tc=ob;Uc=Rc}else{nc=0;oc=fc;pc=Rc;qc=wc;rc=xc;sc=Sc;tc=Qc;uc=zc;break}while(1){ob=Uc+4|0;c[Hb+(Tc<<2)>>2]=wc;Tc=c[ob>>2]|0;if((Tc|0)<=-1){nc=0;oc=fc;pc=ob;qc=wc;rc=xc;sc=Sc;tc=Qc;uc=zc;break}else Uc=ob}}}else if((p|0)==174){p=0;ob=c[cc+24>>2]|0;if(!ob){if((_b|0)>-1|(c[h>>2]|0)==0){nc=27;oc=_b;pc=$b;qc=ac;rc=bc;sc=cc;tc=dc;uc=ec;break}c[h>>2]=A;nc=3;oc=_b;pc=$b;qc=ac;rc=bc;sc=cc;tc=dc;uc=r;break}lb=c[cc+8>>2]|0;if(c[lb+20>>2]&256)c[Jb+(c[cc+12>>2]<<2)>>2]=0;rb=c[cc>>2]|0;nb=c[cc+4>>2]|0;c[h>>2]=c[cc+16>>2];pb=c[d>>2]|0;if((pb|0)<=0){nc=0;oc=_b;pc=$b;qc=rb;rc=bc;sc=ob;tc=lb;uc=nb;break}qb=c[cc+20>>2]|0;mb=0;do{c[Hb+(mb<<2)>>2]=c[qb+(mb<<2)>>2];mb=mb+1|0}while((mb|0)!=(pb|0));nc=0;oc=_b;pc=$b;qc=rb;rc=bc;sc=ob;tc=lb;uc=nb}while(0);switch(nc|0){case 2:{Cb=0;Db=Ib;Eb=1;Fb=Jb;Gb=Hb;break h;break}case 27:{Vc=oc;p=184;break i;break}case 0:{fc=oc;gc=pc;hc=qc;ic=rc;jc=sc;kc=tc;lc=uc;p=82;break}case 3:{break k;break}default:{Ab=12;Bb=0;break g}}}Za=c[d>>2]|0;Ya=oc;db=rc;cb=ub;bb=sc;eb=uc}if((p|0)==56){mx(F);if(!Va)tx(Hb);if(!Ua)tx(Ib);if($a){Ab=12;Bb=0;break g}tx(Jb);Ab=12;Bb=0;break g}else if((p|0)==63){mx(F);if(!Va)tx(Hb);if(!Ua)tx(Ib);if($a){Ab=12;Bb=0;break g}tx(Jb);Ab=12;Bb=0;break g}else if((p|0)==184){Cb=Vc;Db=Ib;Eb=Vc>>>31;Fb=Jb;Gb=Hb;break}}while(0);mx(F);if(Gb)tx(Gb);if(Db)tx(Db);if(!Fb){Ab=Eb;Bb=Cb}else{tx(Fb);Ab=Eb;Bb=Cb}}else{Ab=12;Bb=0}while(0);yb=Bb;zb=Ab}if(!zb)qx(k,e,c[a>>2]|0,j,o,yb);if(!o)n=zb;else{tx(o);n=zb}}i=g;return n|0}function px(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;a:do if((a|0)>0){f=0;while(1){g=c[d+(f<<2)>>2]|0;h=c[e+(f<<2)>>2]|0;if(!(c[b+(f<<2)>>2]|0)){if((g|0)<(h|0)){i=1;break a}if((g|0)>(h|0)){i=0;break a}}else{if((g|0)>(h|0)){i=1;break a}if((g|0)<(h|0)){i=0;break a}}f=f+1|0;if((f|0)>=(a|0)){i=0;break}}}else i=0;while(0);return i|0}function qx(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((d&8|0)==0&(g|0)>-1){d=c[e+16>>2]|0;h=e+28|0;i=c[h>>2]|0;j=(a|0)!=0;if(j&(i|0)!=0){k=e+48|0;e=0;do{l=c[d+(e*12|0)>>2]|0;if((l|0)==(c[k>>2]|0))m=g;else m=c[f+(l<<2)>>2]|0;l=b+(e<<3)|0;c[l>>2]=m;n=c[d+(e*12|0)+4>>2]|0;if((n|0)==(c[k>>2]|0))o=g;else o=c[f+(n<<2)>>2]|0;n=b+(e<<3)+4|0;c[n>>2]=o;if((m|0)==-1|(o|0)==-1){c[n>>2]=-1;c[l>>2]=-1}e=e+1|0;l=c[h>>2]|0}while(e>>>0<a>>>0&e>>>0<l>>>0);p=l}else p=i;if(j&(p|0)!=0){j=0;while(1){i=b+(j<<3)+4|0;e=c[d+(j*12|0)+8>>2]|0;if((e|0)!=0?(h=c[e>>2]|0,(h|0)>-1):0){o=b+(j<<3)|0;m=h;h=c[o>>2]|0;f=0;while(1){if((h|0)>=(c[b+(m<<3)>>2]|0)?(c[i>>2]|0)<=(c[b+(m<<3)+4>>2]|0):0)q=h;else{c[i>>2]=-1;c[o>>2]=-1;q=-1}f=f+1|0;m=c[e+(f<<2)>>2]|0;if((m|0)<=-1)break;else h=q}}h=j+1|0;if(h>>>0<a>>>0&h>>>0<p>>>0)j=h;else{r=h;break}}}else r=0}else r=0;if(r>>>0<a>>>0){j=r;do{c[b+(j<<3)>>2]=-1;c[b+(j<<3)+4>>2]=-1;j=j+1|0}while((j|0)!=(a|0))}return}function rx(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;e=c[a>>2]|0;a:do if(!e)f=0;else{g=(d|0)==0;h=a;i=e;while(1){if(g){if(Nv(b,i)|0){f=1;break a}}else{j=jv(b)|0;if(Nv(j,c[h>>2]|0)|0){f=1;break a}j=mv(b)|0;if(Nv(j,c[h>>2]|0)|0){f=1;break a}}h=h+4|0;i=c[h>>2]|0;if(!i){f=0;break}}}while(0);return f|0}function sx(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,Ma=0,Na=0,Oa=0;do if(a>>>0<245){b=a>>>0<11?16:a+11&-8;d=b>>>3;e=c[17791]|0;f=e>>>d;if(f&3){g=(f&1^1)+d|0;h=71204+(g<<1<<2)|0;i=h+8|0;j=c[i>>2]|0;k=j+8|0;l=c[k>>2]|0;do if((h|0)!=(l|0)){if(l>>>0<(c[17795]|0)>>>0)gb();m=l+12|0;if((c[m>>2]|0)==(j|0)){c[m>>2]=h;c[i>>2]=l;break}else gb()}else c[17791]=e&~(1<<g);while(0);l=g<<3;c[j+4>>2]=l|3;i=j+l+4|0;c[i>>2]=c[i>>2]|1;n=k;return n|0}i=c[17793]|0;if(b>>>0>i>>>0){if(f){l=2<<d;h=f<<d&(l|0-l);l=(h&0-h)+-1|0;h=l>>>12&16;m=l>>>h;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|h|m|o|p)+(q>>>p)|0;p=71204+(r<<1<<2)|0;q=p+8|0;o=c[q>>2]|0;m=o+8|0;h=c[m>>2]|0;do if((p|0)!=(h|0)){if(h>>>0<(c[17795]|0)>>>0)gb();l=h+12|0;if((c[l>>2]|0)==(o|0)){c[l>>2]=p;c[q>>2]=h;s=c[17793]|0;break}else gb()}else{c[17791]=e&~(1<<r);s=i}while(0);i=(r<<3)-b|0;c[o+4>>2]=b|3;e=o+b|0;c[e+4>>2]=i|1;c[e+i>>2]=i;if(s){h=c[17796]|0;q=s>>>3;p=71204+(q<<1<<2)|0;d=c[17791]|0;f=1<<q;if(d&f){q=p+8|0;k=c[q>>2]|0;if(k>>>0<(c[17795]|0)>>>0)gb();else{t=q;u=k}}else{c[17791]=d|f;t=p+8|0;u=p}c[t>>2]=h;c[u+12>>2]=h;c[h+8>>2]=u;c[h+12>>2]=p}c[17793]=i;c[17796]=e;n=m;return n|0}e=c[17792]|0;if(e){i=(e&0-e)+-1|0;e=i>>>12&16;p=i>>>e;i=p>>>5&8;h=p>>>i;p=h>>>2&4;f=h>>>p;h=f>>>1&2;d=f>>>h;f=d>>>1&1;k=c[71468+((i|e|p|h|f)+(d>>>f)<<2)>>2]|0;f=(c[k+4>>2]&-8)-b|0;d=k;h=k;while(1){k=c[d+16>>2]|0;if(!k){p=c[d+20>>2]|0;if(!p){v=f;w=h;break}else x=p}else x=k;k=(c[x+4>>2]&-8)-b|0;p=k>>>0<f>>>0;f=p?k:f;d=x;h=p?x:h}h=c[17795]|0;if(w>>>0<h>>>0)gb();d=w+b|0;if(w>>>0>=d>>>0)gb();f=c[w+24>>2]|0;m=c[w+12>>2]|0;do if((m|0)==(w|0)){o=w+20|0;r=c[o>>2]|0;if(!r){p=w+16|0;k=c[p>>2]|0;if(!k){y=0;break}else{z=k;A=p}}else{z=r;A=o}while(1){o=z+20|0;r=c[o>>2]|0;if(r){z=r;A=o;continue}o=z+16|0;r=c[o>>2]|0;if(!r){B=z;C=A;break}else{z=r;A=o}}if(C>>>0<h>>>0)gb();else{c[C>>2]=0;y=B;break}}else{o=c[w+8>>2]|0;if(o>>>0<h>>>0)gb();r=o+12|0;if((c[r>>2]|0)!=(w|0))gb();p=m+8|0;if((c[p>>2]|0)==(w|0)){c[r>>2]=m;c[p>>2]=o;y=m;break}else gb()}while(0);do if(f){m=c[w+28>>2]|0;h=71468+(m<<2)|0;if((w|0)==(c[h>>2]|0)){c[h>>2]=y;if(!y){c[17792]=c[17792]&~(1<<m);break}}else{if(f>>>0<(c[17795]|0)>>>0)gb();m=f+16|0;if((c[m>>2]|0)==(w|0))c[m>>2]=y;else c[f+20>>2]=y;if(!y)break}m=c[17795]|0;if(y>>>0<m>>>0)gb();c[y+24>>2]=f;h=c[w+16>>2]|0;do if(h)if(h>>>0<m>>>0)gb();else{c[y+16>>2]=h;c[h+24>>2]=y;break}while(0);h=c[w+20>>2]|0;if(h)if(h>>>0<(c[17795]|0)>>>0)gb();else{c[y+20>>2]=h;c[h+24>>2]=y;break}}while(0);if(v>>>0<16){f=v+b|0;c[w+4>>2]=f|3;h=w+f+4|0;c[h>>2]=c[h>>2]|1}else{c[w+4>>2]=b|3;c[d+4>>2]=v|1;c[d+v>>2]=v;h=c[17793]|0;if(h){f=c[17796]|0;m=h>>>3;h=71204+(m<<1<<2)|0;o=c[17791]|0;p=1<<m;if(o&p){m=h+8|0;r=c[m>>2]|0;if(r>>>0<(c[17795]|0)>>>0)gb();else{D=m;E=r}}else{c[17791]=o|p;D=h+8|0;E=h}c[D>>2]=f;c[E+12>>2]=f;c[f+8>>2]=E;c[f+12>>2]=h}c[17793]=v;c[17796]=d}n=w+8|0;return n|0}else F=b}else F=b}else if(a>>>0<=4294967231){h=a+11|0;f=h&-8;p=c[17792]|0;if(p){o=0-f|0;r=h>>>8;if(r)if(f>>>0>16777215)G=31;else{h=(r+1048320|0)>>>16&8;m=r<<h;r=(m+520192|0)>>>16&4;k=m<<r;m=(k+245760|0)>>>16&2;e=14-(r|h|m)+(k<<m>>>15)|0;G=f>>>(e+7|0)&1|e<<1}else G=0;e=c[71468+(G<<2)>>2]|0;a:do if(!e){H=o;I=0;J=0;K=86}else{m=o;k=0;h=f<<((G|0)==31?0:25-(G>>>1)|0);r=e;i=0;while(1){q=c[r+4>>2]&-8;j=q-f|0;if(j>>>0<m>>>0)if((q|0)==(f|0)){L=j;M=r;N=r;K=90;break a}else{O=j;P=r}else{O=m;P=i}j=c[r+20>>2]|0;r=c[r+16+(h>>>31<<2)>>2]|0;q=(j|0)==0|(j|0)==(r|0)?k:j;j=(r|0)==0;if(j){H=O;I=q;J=P;K=86;break}else{m=O;k=q;h=h<<(j&1^1);i=P}}}while(0);if((K|0)==86){if((I|0)==0&(J|0)==0){e=2<<G;o=p&(e|0-e);if(!o){F=f;break}e=(o&0-o)+-1|0;o=e>>>12&16;b=e>>>o;e=b>>>5&8;d=b>>>e;b=d>>>2&4;i=d>>>b;d=i>>>1&2;h=i>>>d;i=h>>>1&1;Q=c[71468+((e|o|b|d|i)+(h>>>i)<<2)>>2]|0}else Q=I;if(!Q){R=H;S=J}else{L=H;M=Q;N=J;K=90}}if((K|0)==90)while(1){K=0;i=(c[M+4>>2]&-8)-f|0;h=i>>>0<L>>>0;d=h?i:L;i=h?M:N;h=c[M+16>>2]|0;if(h){L=d;M=h;N=i;K=90;continue}M=c[M+20>>2]|0;if(!M){R=d;S=i;break}else{L=d;N=i;K=90}}if((S|0)!=0?R>>>0<((c[17793]|0)-f|0)>>>0:0){p=c[17795]|0;if(S>>>0<p>>>0)gb();i=S+f|0;if(S>>>0>=i>>>0)gb();d=c[S+24>>2]|0;h=c[S+12>>2]|0;do if((h|0)==(S|0)){b=S+20|0;o=c[b>>2]|0;if(!o){e=S+16|0;k=c[e>>2]|0;if(!k){T=0;break}else{U=k;V=e}}else{U=o;V=b}while(1){b=U+20|0;o=c[b>>2]|0;if(o){U=o;V=b;continue}b=U+16|0;o=c[b>>2]|0;if(!o){W=U;X=V;break}else{U=o;V=b}}if(X>>>0<p>>>0)gb();else{c[X>>2]=0;T=W;break}}else{b=c[S+8>>2]|0;if(b>>>0<p>>>0)gb();o=b+12|0;if((c[o>>2]|0)!=(S|0))gb();e=h+8|0;if((c[e>>2]|0)==(S|0)){c[o>>2]=h;c[e>>2]=b;T=h;break}else gb()}while(0);do if(d){h=c[S+28>>2]|0;p=71468+(h<<2)|0;if((S|0)==(c[p>>2]|0)){c[p>>2]=T;if(!T){c[17792]=c[17792]&~(1<<h);break}}else{if(d>>>0<(c[17795]|0)>>>0)gb();h=d+16|0;if((c[h>>2]|0)==(S|0))c[h>>2]=T;else c[d+20>>2]=T;if(!T)break}h=c[17795]|0;if(T>>>0<h>>>0)gb();c[T+24>>2]=d;p=c[S+16>>2]|0;do if(p)if(p>>>0<h>>>0)gb();else{c[T+16>>2]=p;c[p+24>>2]=T;break}while(0);p=c[S+20>>2]|0;if(p)if(p>>>0<(c[17795]|0)>>>0)gb();else{c[T+20>>2]=p;c[p+24>>2]=T;break}}while(0);do if(R>>>0>=16){c[S+4>>2]=f|3;c[i+4>>2]=R|1;c[i+R>>2]=R;d=R>>>3;if(R>>>0<256){p=71204+(d<<1<<2)|0;h=c[17791]|0;b=1<<d;if(h&b){d=p+8|0;e=c[d>>2]|0;if(e>>>0<(c[17795]|0)>>>0)gb();else{Y=d;Z=e}}else{c[17791]=h|b;Y=p+8|0;Z=p}c[Y>>2]=i;c[Z+12>>2]=i;c[i+8>>2]=Z;c[i+12>>2]=p;break}p=R>>>8;if(p)if(R>>>0>16777215)_=31;else{b=(p+1048320|0)>>>16&8;h=p<<b;p=(h+520192|0)>>>16&4;e=h<<p;h=(e+245760|0)>>>16&2;d=14-(p|b|h)+(e<<h>>>15)|0;_=R>>>(d+7|0)&1|d<<1}else _=0;d=71468+(_<<2)|0;c[i+28>>2]=_;h=i+16|0;c[h+4>>2]=0;c[h>>2]=0;h=c[17792]|0;e=1<<_;if(!(h&e)){c[17792]=h|e;c[d>>2]=i;c[i+24>>2]=d;c[i+12>>2]=i;c[i+8>>2]=i;break}e=R<<((_|0)==31?0:25-(_>>>1)|0);h=c[d>>2]|0;while(1){if((c[h+4>>2]&-8|0)==(R|0)){$=h;K=148;break}d=h+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b){aa=d;ba=h;K=145;break}else{e=e<<1;h=b}}if((K|0)==145)if(aa>>>0<(c[17795]|0)>>>0)gb();else{c[aa>>2]=i;c[i+24>>2]=ba;c[i+12>>2]=i;c[i+8>>2]=i;break}else if((K|0)==148){h=$+8|0;e=c[h>>2]|0;b=c[17795]|0;if(e>>>0>=b>>>0&$>>>0>=b>>>0){c[e+12>>2]=i;c[h>>2]=i;c[i+8>>2]=e;c[i+12>>2]=$;c[i+24>>2]=0;break}else gb()}}else{e=R+f|0;c[S+4>>2]=e|3;h=S+e+4|0;c[h>>2]=c[h>>2]|1}while(0);n=S+8|0;return n|0}else F=f}else F=f}else F=-1;while(0);S=c[17793]|0;if(S>>>0>=F>>>0){R=S-F|0;$=c[17796]|0;if(R>>>0>15){ba=$+F|0;c[17796]=ba;c[17793]=R;c[ba+4>>2]=R|1;c[ba+R>>2]=R;c[$+4>>2]=F|3}else{c[17793]=0;c[17796]=0;c[$+4>>2]=S|3;R=$+S+4|0;c[R>>2]=c[R>>2]|1}n=$+8|0;return n|0}$=c[17794]|0;if($>>>0>F>>>0){R=$-F|0;c[17794]=R;$=c[17797]|0;S=$+F|0;c[17797]=S;c[S+4>>2]=R|1;c[$+4>>2]=F|3;n=$+8|0;return n|0}do if(!(c[17909]|0)){$=La(30)|0;if(!($+-1&$)){c[17911]=$;c[17910]=$;c[17912]=-1;c[17913]=-1;c[17914]=0;c[17902]=0;c[17909]=(jb(0)|0)&-16^1431655768;break}else gb()}while(0);$=F+48|0;R=c[17911]|0;S=F+47|0;ba=R+S|0;aa=0-R|0;R=ba&aa;if(R>>>0<=F>>>0){n=0;return n|0}_=c[17901]|0;if((_|0)!=0?(Z=c[17899]|0,Y=Z+R|0,Y>>>0<=Z>>>0|Y>>>0>_>>>0):0){n=0;return n|0}b:do if(!(c[17902]&4)){_=c[17797]|0;c:do if(_){Y=71612;while(1){Z=c[Y>>2]|0;if(Z>>>0<=_>>>0?(T=Y+4|0,(Z+(c[T>>2]|0)|0)>>>0>_>>>0):0){ca=Y;da=T;break}Y=c[Y+8>>2]|0;if(!Y){K=173;break c}}Y=ba-(c[17794]|0)&aa;if(Y>>>0<2147483647){T=Ea(Y|0)|0;if((T|0)==((c[ca>>2]|0)+(c[da>>2]|0)|0)){if((T|0)!=(-1|0)){ea=T;fa=Y;K=193;break b}}else{ga=T;ha=Y;K=183}}}else K=173;while(0);do if((K|0)==173?(_=Ea(0)|0,(_|0)!=(-1|0)):0){f=_;Y=c[17910]|0;T=Y+-1|0;if(!(T&f))ia=R;else ia=R-f+(T+f&0-Y)|0;Y=c[17899]|0;f=Y+ia|0;if(ia>>>0>F>>>0&ia>>>0<2147483647){T=c[17901]|0;if((T|0)!=0?f>>>0<=Y>>>0|f>>>0>T>>>0:0)break;T=Ea(ia|0)|0;if((T|0)==(_|0)){ea=_;fa=ia;K=193;break b}else{ga=T;ha=ia;K=183}}}while(0);d:do if((K|0)==183){T=0-ha|0;do if($>>>0>ha>>>0&(ha>>>0<2147483647&(ga|0)!=(-1|0))?(_=c[17911]|0,f=S-ha+_&0-_,f>>>0<2147483647):0)if((Ea(f|0)|0)==(-1|0)){Ea(T|0)|0;break d}else{ja=f+ha|0;break}else ja=ha;while(0);if((ga|0)!=(-1|0)){ea=ga;fa=ja;K=193;break b}}while(0);c[17902]=c[17902]|4;K=190}else K=190;while(0);if((((K|0)==190?R>>>0<2147483647:0)?(ja=Ea(R|0)|0,R=Ea(0)|0,ja>>>0<R>>>0&((ja|0)!=(-1|0)&(R|0)!=(-1|0))):0)?(ga=R-ja|0,ga>>>0>(F+40|0)>>>0):0){ea=ja;fa=ga;K=193}if((K|0)==193){ga=(c[17899]|0)+fa|0;c[17899]=ga;if(ga>>>0>(c[17900]|0)>>>0)c[17900]=ga;ga=c[17797]|0;do if(ga){ja=71612;do{R=c[ja>>2]|0;ha=ja+4|0;S=c[ha>>2]|0;if((ea|0)==(R+S|0)){ka=R;la=ha;ma=S;na=ja;K=203;break}ja=c[ja+8>>2]|0}while((ja|0)!=0);if(((K|0)==203?(c[na+12>>2]&8|0)==0:0)?ga>>>0<ea>>>0&ga>>>0>=ka>>>0:0){c[la>>2]=ma+fa;ja=ga+8|0;S=(ja&7|0)==0?0:0-ja&7;ja=ga+S|0;ha=fa-S+(c[17794]|0)|0;c[17797]=ja;c[17794]=ha;c[ja+4>>2]=ha|1;c[ja+ha+4>>2]=40;c[17798]=c[17913];break}ha=c[17795]|0;if(ea>>>0<ha>>>0){c[17795]=ea;oa=ea}else oa=ha;ha=ea+fa|0;ja=71612;while(1){if((c[ja>>2]|0)==(ha|0)){pa=ja;qa=ja;K=211;break}ja=c[ja+8>>2]|0;if(!ja){ra=71612;break}}if((K|0)==211)if(!(c[qa+12>>2]&8)){c[pa>>2]=ea;ja=qa+4|0;c[ja>>2]=(c[ja>>2]|0)+fa;ja=ea+8|0;S=ea+((ja&7|0)==0?0:0-ja&7)|0;ja=ha+8|0;R=ha+((ja&7|0)==0?0:0-ja&7)|0;ja=S+F|0;$=R-S-F|0;c[S+4>>2]=F|3;do if((R|0)!=(ga|0)){if((R|0)==(c[17796]|0)){ia=(c[17793]|0)+$|0;c[17793]=ia;c[17796]=ja;c[ja+4>>2]=ia|1;c[ja+ia>>2]=ia;break}ia=c[R+4>>2]|0;if((ia&3|0)==1){da=ia&-8;ca=ia>>>3;e:do if(ia>>>0>=256){aa=c[R+24>>2]|0;ba=c[R+12>>2]|0;do if((ba|0)==(R|0)){T=R+16|0;f=T+4|0;_=c[f>>2]|0;if(!_){Y=c[T>>2]|0;if(!Y){sa=0;break}else{ta=Y;ua=T}}else{ta=_;ua=f}while(1){f=ta+20|0;_=c[f>>2]|0;if(_){ta=_;ua=f;continue}f=ta+16|0;_=c[f>>2]|0;if(!_){va=ta;wa=ua;break}else{ta=_;ua=f}}if(wa>>>0<oa>>>0)gb();else{c[wa>>2]=0;sa=va;break}}else{f=c[R+8>>2]|0;if(f>>>0<oa>>>0)gb();_=f+12|0;if((c[_>>2]|0)!=(R|0))gb();T=ba+8|0;if((c[T>>2]|0)==(R|0)){c[_>>2]=ba;c[T>>2]=f;sa=ba;break}else gb()}while(0);if(!aa)break;ba=c[R+28>>2]|0;f=71468+(ba<<2)|0;do if((R|0)!=(c[f>>2]|0)){if(aa>>>0<(c[17795]|0)>>>0)gb();T=aa+16|0;if((c[T>>2]|0)==(R|0))c[T>>2]=sa;else c[aa+20>>2]=sa;if(!sa)break e}else{c[f>>2]=sa;if(sa)break;c[17792]=c[17792]&~(1<<ba);break e}while(0);ba=c[17795]|0;if(sa>>>0<ba>>>0)gb();c[sa+24>>2]=aa;f=R+16|0;T=c[f>>2]|0;do if(T)if(T>>>0<ba>>>0)gb();else{c[sa+16>>2]=T;c[T+24>>2]=sa;break}while(0);T=c[f+4>>2]|0;if(!T)break;if(T>>>0<(c[17795]|0)>>>0)gb();else{c[sa+20>>2]=T;c[T+24>>2]=sa;break}}else{T=c[R+8>>2]|0;ba=c[R+12>>2]|0;aa=71204+(ca<<1<<2)|0;do if((T|0)!=(aa|0)){if(T>>>0<oa>>>0)gb();if((c[T+12>>2]|0)==(R|0))break;gb()}while(0);if((ba|0)==(T|0)){c[17791]=c[17791]&~(1<<ca);break}do if((ba|0)==(aa|0))xa=ba+8|0;else{if(ba>>>0<oa>>>0)gb();f=ba+8|0;if((c[f>>2]|0)==(R|0)){xa=f;break}gb()}while(0);c[T+12>>2]=ba;c[xa>>2]=T}while(0);ya=R+da|0;za=da+$|0}else{ya=R;za=$}ca=ya+4|0;c[ca>>2]=c[ca>>2]&-2;c[ja+4>>2]=za|1;c[ja+za>>2]=za;ca=za>>>3;if(za>>>0<256){ia=71204+(ca<<1<<2)|0;aa=c[17791]|0;f=1<<ca;do if(!(aa&f)){c[17791]=aa|f;Aa=ia+8|0;Ba=ia}else{ca=ia+8|0;_=c[ca>>2]|0;if(_>>>0>=(c[17795]|0)>>>0){Aa=ca;Ba=_;break}gb()}while(0);c[Aa>>2]=ja;c[Ba+12>>2]=ja;c[ja+8>>2]=Ba;c[ja+12>>2]=ia;break}f=za>>>8;do if(!f)Ca=0;else{if(za>>>0>16777215){Ca=31;break}aa=(f+1048320|0)>>>16&8;da=f<<aa;_=(da+520192|0)>>>16&4;ca=da<<_;da=(ca+245760|0)>>>16&2;Y=14-(_|aa|da)+(ca<<da>>>15)|0;Ca=za>>>(Y+7|0)&1|Y<<1}while(0);f=71468+(Ca<<2)|0;c[ja+28>>2]=Ca;ia=ja+16|0;c[ia+4>>2]=0;c[ia>>2]=0;ia=c[17792]|0;Y=1<<Ca;if(!(ia&Y)){c[17792]=ia|Y;c[f>>2]=ja;c[ja+24>>2]=f;c[ja+12>>2]=ja;c[ja+8>>2]=ja;break}Y=za<<((Ca|0)==31?0:25-(Ca>>>1)|0);ia=c[f>>2]|0;while(1){if((c[ia+4>>2]&-8|0)==(za|0)){Da=ia;K=281;break}f=ia+16+(Y>>>31<<2)|0;da=c[f>>2]|0;if(!da){Fa=f;Ga=ia;K=278;break}else{Y=Y<<1;ia=da}}if((K|0)==278)if(Fa>>>0<(c[17795]|0)>>>0)gb();else{c[Fa>>2]=ja;c[ja+24>>2]=Ga;c[ja+12>>2]=ja;c[ja+8>>2]=ja;break}else if((K|0)==281){ia=Da+8|0;Y=c[ia>>2]|0;da=c[17795]|0;if(Y>>>0>=da>>>0&Da>>>0>=da>>>0){c[Y+12>>2]=ja;c[ia>>2]=ja;c[ja+8>>2]=Y;c[ja+12>>2]=Da;c[ja+24>>2]=0;break}else gb()}}else{Y=(c[17794]|0)+$|0;c[17794]=Y;c[17797]=ja;c[ja+4>>2]=Y|1}while(0);n=S+8|0;return n|0}else ra=71612;while(1){ja=c[ra>>2]|0;if(ja>>>0<=ga>>>0?($=ja+(c[ra+4>>2]|0)|0,$>>>0>ga>>>0):0){Ha=$;break}ra=c[ra+8>>2]|0}S=Ha+-47|0;$=S+8|0;ja=S+(($&7|0)==0?0:0-$&7)|0;$=ga+16|0;S=ja>>>0<$>>>0?ga:ja;ja=S+8|0;R=ea+8|0;ha=(R&7|0)==0?0:0-R&7;R=ea+ha|0;Y=fa+-40-ha|0;c[17797]=R;c[17794]=Y;c[R+4>>2]=Y|1;c[R+Y+4>>2]=40;c[17798]=c[17913];Y=S+4|0;c[Y>>2]=27;c[ja>>2]=c[17903];c[ja+4>>2]=c[17904];c[ja+8>>2]=c[17905];c[ja+12>>2]=c[17906];c[17903]=ea;c[17904]=fa;c[17906]=0;c[17905]=ja;ja=S+24|0;do{ja=ja+4|0;c[ja>>2]=7}while((ja+4|0)>>>0<Ha>>>0);if((S|0)!=(ga|0)){ja=S-ga|0;c[Y>>2]=c[Y>>2]&-2;c[ga+4>>2]=ja|1;c[S>>2]=ja;R=ja>>>3;if(ja>>>0<256){ha=71204+(R<<1<<2)|0;ia=c[17791]|0;da=1<<R;if(ia&da){R=ha+8|0;f=c[R>>2]|0;if(f>>>0<(c[17795]|0)>>>0)gb();else{Ia=R;Ja=f}}else{c[17791]=ia|da;Ia=ha+8|0;Ja=ha}c[Ia>>2]=ga;c[Ja+12>>2]=ga;c[ga+8>>2]=Ja;c[ga+12>>2]=ha;break}ha=ja>>>8;if(ha)if(ja>>>0>16777215)Ka=31;else{da=(ha+1048320|0)>>>16&8;ia=ha<<da;ha=(ia+520192|0)>>>16&4;f=ia<<ha;ia=(f+245760|0)>>>16&2;R=14-(ha|da|ia)+(f<<ia>>>15)|0;Ka=ja>>>(R+7|0)&1|R<<1}else Ka=0;R=71468+(Ka<<2)|0;c[ga+28>>2]=Ka;c[ga+20>>2]=0;c[$>>2]=0;ia=c[17792]|0;f=1<<Ka;if(!(ia&f)){c[17792]=ia|f;c[R>>2]=ga;c[ga+24>>2]=R;c[ga+12>>2]=ga;c[ga+8>>2]=ga;break}f=ja<<((Ka|0)==31?0:25-(Ka>>>1)|0);ia=c[R>>2]|0;while(1){if((c[ia+4>>2]&-8|0)==(ja|0)){Ma=ia;K=307;break}R=ia+16+(f>>>31<<2)|0;da=c[R>>2]|0;if(!da){Na=R;Oa=ia;K=304;break}else{f=f<<1;ia=da}}if((K|0)==304)if(Na>>>0<(c[17795]|0)>>>0)gb();else{c[Na>>2]=ga;c[ga+24>>2]=Oa;c[ga+12>>2]=ga;c[ga+8>>2]=ga;break}else if((K|0)==307){ia=Ma+8|0;f=c[ia>>2]|0;ja=c[17795]|0;if(f>>>0>=ja>>>0&Ma>>>0>=ja>>>0){c[f+12>>2]=ga;c[ia>>2]=ga;c[ga+8>>2]=f;c[ga+12>>2]=Ma;c[ga+24>>2]=0;break}else gb()}}}else{f=c[17795]|0;if((f|0)==0|ea>>>0<f>>>0)c[17795]=ea;c[17903]=ea;c[17904]=fa;c[17906]=0;c[17800]=c[17909];c[17799]=-1;f=0;do{ia=71204+(f<<1<<2)|0;c[ia+12>>2]=ia;c[ia+8>>2]=ia;f=f+1|0}while((f|0)!=32);f=ea+8|0;ia=(f&7|0)==0?0:0-f&7;f=ea+ia|0;ja=fa+-40-ia|0;c[17797]=f;c[17794]=ja;c[f+4>>2]=ja|1;c[f+ja+4>>2]=40;c[17798]=c[17913]}while(0);fa=c[17794]|0;if(fa>>>0>F>>>0){ea=fa-F|0;c[17794]=ea;fa=c[17797]|0;ga=fa+F|0;c[17797]=ga;c[ga+4>>2]=ea|1;c[fa+4>>2]=F|3;n=fa+8|0;return n|0}}c[(Yu()|0)>>2]=12;n=0;return n|0}function tx(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;if(!a)return;b=a+-8|0;d=c[17795]|0;if(b>>>0<d>>>0)gb();e=c[a+-4>>2]|0;a=e&3;if((a|0)==1)gb();f=e&-8;g=b+f|0;do if(!(e&1)){h=c[b>>2]|0;if(!a)return;i=b+(0-h)|0;j=h+f|0;if(i>>>0<d>>>0)gb();if((i|0)==(c[17796]|0)){k=g+4|0;l=c[k>>2]|0;if((l&3|0)!=3){m=i;n=j;break}c[17793]=j;c[k>>2]=l&-2;c[i+4>>2]=j|1;c[i+j>>2]=j;return}l=h>>>3;if(h>>>0<256){h=c[i+8>>2]|0;k=c[i+12>>2]|0;o=71204+(l<<1<<2)|0;if((h|0)!=(o|0)){if(h>>>0<d>>>0)gb();if((c[h+12>>2]|0)!=(i|0))gb()}if((k|0)==(h|0)){c[17791]=c[17791]&~(1<<l);m=i;n=j;break}if((k|0)!=(o|0)){if(k>>>0<d>>>0)gb();o=k+8|0;if((c[o>>2]|0)==(i|0))p=o;else gb()}else p=k+8|0;c[h+12>>2]=k;c[p>>2]=h;m=i;n=j;break}h=c[i+24>>2]|0;k=c[i+12>>2]|0;do if((k|0)==(i|0)){o=i+16|0;l=o+4|0;q=c[l>>2]|0;if(!q){r=c[o>>2]|0;if(!r){s=0;break}else{t=r;u=o}}else{t=q;u=l}while(1){l=t+20|0;q=c[l>>2]|0;if(q){t=q;u=l;continue}l=t+16|0;q=c[l>>2]|0;if(!q){v=t;w=u;break}else{t=q;u=l}}if(w>>>0<d>>>0)gb();else{c[w>>2]=0;s=v;break}}else{l=c[i+8>>2]|0;if(l>>>0<d>>>0)gb();q=l+12|0;if((c[q>>2]|0)!=(i|0))gb();o=k+8|0;if((c[o>>2]|0)==(i|0)){c[q>>2]=k;c[o>>2]=l;s=k;break}else gb()}while(0);if(h){k=c[i+28>>2]|0;l=71468+(k<<2)|0;if((i|0)==(c[l>>2]|0)){c[l>>2]=s;if(!s){c[17792]=c[17792]&~(1<<k);m=i;n=j;break}}else{if(h>>>0<(c[17795]|0)>>>0)gb();k=h+16|0;if((c[k>>2]|0)==(i|0))c[k>>2]=s;else c[h+20>>2]=s;if(!s){m=i;n=j;break}}k=c[17795]|0;if(s>>>0<k>>>0)gb();c[s+24>>2]=h;l=i+16|0;o=c[l>>2]|0;do if(o)if(o>>>0<k>>>0)gb();else{c[s+16>>2]=o;c[o+24>>2]=s;break}while(0);o=c[l+4>>2]|0;if(o)if(o>>>0<(c[17795]|0)>>>0)gb();else{c[s+20>>2]=o;c[o+24>>2]=s;m=i;n=j;break}else{m=i;n=j}}else{m=i;n=j}}else{m=b;n=f}while(0);if(m>>>0>=g>>>0)gb();f=g+4|0;b=c[f>>2]|0;if(!(b&1))gb();if(!(b&2)){if((g|0)==(c[17797]|0)){s=(c[17794]|0)+n|0;c[17794]=s;c[17797]=m;c[m+4>>2]=s|1;if((m|0)!=(c[17796]|0))return;c[17796]=0;c[17793]=0;return}if((g|0)==(c[17796]|0)){s=(c[17793]|0)+n|0;c[17793]=s;c[17796]=m;c[m+4>>2]=s|1;c[m+s>>2]=s;return}s=(b&-8)+n|0;d=b>>>3;do if(b>>>0>=256){v=c[g+24>>2]|0;w=c[g+12>>2]|0;do if((w|0)==(g|0)){u=g+16|0;t=u+4|0;p=c[t>>2]|0;if(!p){a=c[u>>2]|0;if(!a){x=0;break}else{y=a;z=u}}else{y=p;z=t}while(1){t=y+20|0;p=c[t>>2]|0;if(p){y=p;z=t;continue}t=y+16|0;p=c[t>>2]|0;if(!p){A=y;B=z;break}else{y=p;z=t}}if(B>>>0<(c[17795]|0)>>>0)gb();else{c[B>>2]=0;x=A;break}}else{t=c[g+8>>2]|0;if(t>>>0<(c[17795]|0)>>>0)gb();p=t+12|0;if((c[p>>2]|0)!=(g|0))gb();u=w+8|0;if((c[u>>2]|0)==(g|0)){c[p>>2]=w;c[u>>2]=t;x=w;break}else gb()}while(0);if(v){w=c[g+28>>2]|0;j=71468+(w<<2)|0;if((g|0)==(c[j>>2]|0)){c[j>>2]=x;if(!x){c[17792]=c[17792]&~(1<<w);break}}else{if(v>>>0<(c[17795]|0)>>>0)gb();w=v+16|0;if((c[w>>2]|0)==(g|0))c[w>>2]=x;else c[v+20>>2]=x;if(!x)break}w=c[17795]|0;if(x>>>0<w>>>0)gb();c[x+24>>2]=v;j=g+16|0;i=c[j>>2]|0;do if(i)if(i>>>0<w>>>0)gb();else{c[x+16>>2]=i;c[i+24>>2]=x;break}while(0);i=c[j+4>>2]|0;if(i)if(i>>>0<(c[17795]|0)>>>0)gb();else{c[x+20>>2]=i;c[i+24>>2]=x;break}}}else{i=c[g+8>>2]|0;w=c[g+12>>2]|0;v=71204+(d<<1<<2)|0;if((i|0)!=(v|0)){if(i>>>0<(c[17795]|0)>>>0)gb();if((c[i+12>>2]|0)!=(g|0))gb()}if((w|0)==(i|0)){c[17791]=c[17791]&~(1<<d);break}if((w|0)!=(v|0)){if(w>>>0<(c[17795]|0)>>>0)gb();v=w+8|0;if((c[v>>2]|0)==(g|0))C=v;else gb()}else C=w+8|0;c[i+12>>2]=w;c[C>>2]=i}while(0);c[m+4>>2]=s|1;c[m+s>>2]=s;if((m|0)==(c[17796]|0)){c[17793]=s;return}else D=s}else{c[f>>2]=b&-2;c[m+4>>2]=n|1;c[m+n>>2]=n;D=n}n=D>>>3;if(D>>>0<256){b=71204+(n<<1<<2)|0;f=c[17791]|0;s=1<<n;if(f&s){n=b+8|0;C=c[n>>2]|0;if(C>>>0<(c[17795]|0)>>>0)gb();else{E=n;F=C}}else{c[17791]=f|s;E=b+8|0;F=b}c[E>>2]=m;c[F+12>>2]=m;c[m+8>>2]=F;c[m+12>>2]=b;return}b=D>>>8;if(b)if(D>>>0>16777215)G=31;else{F=(b+1048320|0)>>>16&8;E=b<<F;b=(E+520192|0)>>>16&4;s=E<<b;E=(s+245760|0)>>>16&2;f=14-(b|F|E)+(s<<E>>>15)|0;G=D>>>(f+7|0)&1|f<<1}else G=0;f=71468+(G<<2)|0;c[m+28>>2]=G;c[m+20>>2]=0;c[m+16>>2]=0;E=c[17792]|0;s=1<<G;do if(E&s){F=D<<((G|0)==31?0:25-(G>>>1)|0);b=c[f>>2]|0;while(1){if((c[b+4>>2]&-8|0)==(D|0)){H=b;I=130;break}C=b+16+(F>>>31<<2)|0;n=c[C>>2]|0;if(!n){J=C;K=b;I=127;break}else{F=F<<1;b=n}}if((I|0)==127)if(J>>>0<(c[17795]|0)>>>0)gb();else{c[J>>2]=m;c[m+24>>2]=K;c[m+12>>2]=m;c[m+8>>2]=m;break}else if((I|0)==130){b=H+8|0;F=c[b>>2]|0;j=c[17795]|0;if(F>>>0>=j>>>0&H>>>0>=j>>>0){c[F+12>>2]=m;c[b>>2]=m;c[m+8>>2]=F;c[m+12>>2]=H;c[m+24>>2]=0;break}else gb()}}else{c[17792]=E|s;c[f>>2]=m;c[m+24>>2]=f;c[m+12>>2]=m;c[m+8>>2]=m}while(0);m=(c[17799]|0)+-1|0;c[17799]=m;if(!m)L=71620;else return;while(1){m=c[L>>2]|0;if(!m)break;else L=m+8|0}c[17799]=-1;return}function ux(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=sx(e)|0;if(!d)return d|0;if(!(c[d+-4>>2]&3))return d|0;Fx(d|0,0,e|0)|0;return d|0}function vx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a){d=sx(b)|0;return d|0}if(b>>>0>4294967231){c[(Yu()|0)>>2]=12;d=0;return d|0}e=wx(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(e){d=e+8|0;return d|0}e=sx(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;Dx(e|0,a|0,(g>>>0<b>>>0?g:b)|0)|0;tx(a);d=e;return d|0}function wx(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;d=a+4|0;e=c[d>>2]|0;f=e&-8;g=a+f|0;h=c[17795]|0;i=e&3;if(!((i|0)!=1&a>>>0>=h>>>0&a>>>0<g>>>0))gb();j=c[g+4>>2]|0;if(!(j&1))gb();if(!i){if(b>>>0<256){k=0;return k|0}if(f>>>0>=(b+4|0)>>>0?(f-b|0)>>>0<=c[17911]<<1>>>0:0){k=a;return k|0}k=0;return k|0}if(f>>>0>=b>>>0){i=f-b|0;if(i>>>0<=15){k=a;return k|0}l=a+b|0;c[d>>2]=e&1|b|2;c[l+4>>2]=i|3;m=l+i+4|0;c[m>>2]=c[m>>2]|1;xx(l,i);k=a;return k|0}if((g|0)==(c[17797]|0)){i=(c[17794]|0)+f|0;if(i>>>0<=b>>>0){k=0;return k|0}l=i-b|0;i=a+b|0;c[d>>2]=e&1|b|2;c[i+4>>2]=l|1;c[17797]=i;c[17794]=l;k=a;return k|0}if((g|0)==(c[17796]|0)){l=(c[17793]|0)+f|0;if(l>>>0<b>>>0){k=0;return k|0}i=l-b|0;if(i>>>0>15){m=a+b|0;n=m+i|0;c[d>>2]=e&1|b|2;c[m+4>>2]=i|1;c[n>>2]=i;o=n+4|0;c[o>>2]=c[o>>2]&-2;p=m;q=i}else{c[d>>2]=e&1|l|2;i=a+l+4|0;c[i>>2]=c[i>>2]|1;p=0;q=0}c[17793]=q;c[17796]=p;k=a;return k|0}if(j&2){k=0;return k|0}p=(j&-8)+f|0;if(p>>>0<b>>>0){k=0;return k|0}f=p-b|0;q=j>>>3;do if(j>>>0>=256){i=c[g+24>>2]|0;l=c[g+12>>2]|0;do if((l|0)==(g|0)){m=g+16|0;o=m+4|0;n=c[o>>2]|0;if(!n){r=c[m>>2]|0;if(!r){s=0;break}else{t=r;u=m}}else{t=n;u=o}while(1){o=t+20|0;n=c[o>>2]|0;if(n){t=n;u=o;continue}o=t+16|0;n=c[o>>2]|0;if(!n){v=t;w=u;break}else{t=n;u=o}}if(w>>>0<h>>>0)gb();else{c[w>>2]=0;s=v;break}}else{o=c[g+8>>2]|0;if(o>>>0<h>>>0)gb();n=o+12|0;if((c[n>>2]|0)!=(g|0))gb();m=l+8|0;if((c[m>>2]|0)==(g|0)){c[n>>2]=l;c[m>>2]=o;s=l;break}else gb()}while(0);if(i){l=c[g+28>>2]|0;o=71468+(l<<2)|0;if((g|0)==(c[o>>2]|0)){c[o>>2]=s;if(!s){c[17792]=c[17792]&~(1<<l);break}}else{if(i>>>0<(c[17795]|0)>>>0)gb();l=i+16|0;if((c[l>>2]|0)==(g|0))c[l>>2]=s;else c[i+20>>2]=s;if(!s)break}l=c[17795]|0;if(s>>>0<l>>>0)gb();c[s+24>>2]=i;o=g+16|0;m=c[o>>2]|0;do if(m)if(m>>>0<l>>>0)gb();else{c[s+16>>2]=m;c[m+24>>2]=s;break}while(0);m=c[o+4>>2]|0;if(m)if(m>>>0<(c[17795]|0)>>>0)gb();else{c[s+20>>2]=m;c[m+24>>2]=s;break}}}else{m=c[g+8>>2]|0;l=c[g+12>>2]|0;i=71204+(q<<1<<2)|0;if((m|0)!=(i|0)){if(m>>>0<h>>>0)gb();if((c[m+12>>2]|0)!=(g|0))gb()}if((l|0)==(m|0)){c[17791]=c[17791]&~(1<<q);break}if((l|0)!=(i|0)){if(l>>>0<h>>>0)gb();i=l+8|0;if((c[i>>2]|0)==(g|0))x=i;else gb()}else x=l+8|0;c[m+12>>2]=l;c[x>>2]=m}while(0);if(f>>>0<16){c[d>>2]=p|e&1|2;x=a+p+4|0;c[x>>2]=c[x>>2]|1;k=a;return k|0}else{x=a+b|0;c[d>>2]=e&1|b|2;c[x+4>>2]=f|3;b=x+f+4|0;c[b>>2]=c[b>>2]|1;xx(x,f);k=a;return k|0}return 0}function xx(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[17795]|0;if(g>>>0<i>>>0)gb();if((g|0)==(c[17796]|0)){j=d+4|0;k=c[j>>2]|0;if((k&3|0)!=3){l=g;m=h;break}c[17793]=h;c[j>>2]=k&-2;c[g+4>>2]=h|1;c[g+h>>2]=h;return}k=f>>>3;if(f>>>0<256){f=c[g+8>>2]|0;j=c[g+12>>2]|0;n=71204+(k<<1<<2)|0;if((f|0)!=(n|0)){if(f>>>0<i>>>0)gb();if((c[f+12>>2]|0)!=(g|0))gb()}if((j|0)==(f|0)){c[17791]=c[17791]&~(1<<k);l=g;m=h;break}if((j|0)!=(n|0)){if(j>>>0<i>>>0)gb();n=j+8|0;if((c[n>>2]|0)==(g|0))o=n;else gb()}else o=j+8|0;c[f+12>>2]=j;c[o>>2]=f;l=g;m=h;break}f=c[g+24>>2]|0;j=c[g+12>>2]|0;do if((j|0)==(g|0)){n=g+16|0;k=n+4|0;p=c[k>>2]|0;if(!p){q=c[n>>2]|0;if(!q){r=0;break}else{s=q;t=n}}else{s=p;t=k}while(1){k=s+20|0;p=c[k>>2]|0;if(p){s=p;t=k;continue}k=s+16|0;p=c[k>>2]|0;if(!p){u=s;v=t;break}else{s=p;t=k}}if(v>>>0<i>>>0)gb();else{c[v>>2]=0;r=u;break}}else{k=c[g+8>>2]|0;if(k>>>0<i>>>0)gb();p=k+12|0;if((c[p>>2]|0)!=(g|0))gb();n=j+8|0;if((c[n>>2]|0)==(g|0)){c[p>>2]=j;c[n>>2]=k;r=j;break}else gb()}while(0);if(f){j=c[g+28>>2]|0;i=71468+(j<<2)|0;if((g|0)==(c[i>>2]|0)){c[i>>2]=r;if(!r){c[17792]=c[17792]&~(1<<j);l=g;m=h;break}}else{if(f>>>0<(c[17795]|0)>>>0)gb();j=f+16|0;if((c[j>>2]|0)==(g|0))c[j>>2]=r;else c[f+20>>2]=r;if(!r){l=g;m=h;break}}j=c[17795]|0;if(r>>>0<j>>>0)gb();c[r+24>>2]=f;i=g+16|0;k=c[i>>2]|0;do if(k)if(k>>>0<j>>>0)gb();else{c[r+16>>2]=k;c[k+24>>2]=r;break}while(0);k=c[i+4>>2]|0;if(k)if(k>>>0<(c[17795]|0)>>>0)gb();else{c[r+20>>2]=k;c[k+24>>2]=r;l=g;m=h;break}else{l=g;m=h}}else{l=g;m=h}}else{l=a;m=b}while(0);b=c[17795]|0;if(d>>>0<b>>>0)gb();a=d+4|0;r=c[a>>2]|0;if(!(r&2)){if((d|0)==(c[17797]|0)){u=(c[17794]|0)+m|0;c[17794]=u;c[17797]=l;c[l+4>>2]=u|1;if((l|0)!=(c[17796]|0))return;c[17796]=0;c[17793]=0;return}if((d|0)==(c[17796]|0)){u=(c[17793]|0)+m|0;c[17793]=u;c[17796]=l;c[l+4>>2]=u|1;c[l+u>>2]=u;return}u=(r&-8)+m|0;v=r>>>3;do if(r>>>0>=256){t=c[d+24>>2]|0;s=c[d+12>>2]|0;do if((s|0)==(d|0)){o=d+16|0;e=o+4|0;k=c[e>>2]|0;if(!k){j=c[o>>2]|0;if(!j){w=0;break}else{x=j;y=o}}else{x=k;y=e}while(1){e=x+20|0;k=c[e>>2]|0;if(k){x=k;y=e;continue}e=x+16|0;k=c[e>>2]|0;if(!k){z=x;A=y;break}else{x=k;y=e}}if(A>>>0<b>>>0)gb();else{c[A>>2]=0;w=z;break}}else{e=c[d+8>>2]|0;if(e>>>0<b>>>0)gb();k=e+12|0;if((c[k>>2]|0)!=(d|0))gb();o=s+8|0;if((c[o>>2]|0)==(d|0)){c[k>>2]=s;c[o>>2]=e;w=s;break}else gb()}while(0);if(t){s=c[d+28>>2]|0;h=71468+(s<<2)|0;if((d|0)==(c[h>>2]|0)){c[h>>2]=w;if(!w){c[17792]=c[17792]&~(1<<s);break}}else{if(t>>>0<(c[17795]|0)>>>0)gb();s=t+16|0;if((c[s>>2]|0)==(d|0))c[s>>2]=w;else c[t+20>>2]=w;if(!w)break}s=c[17795]|0;if(w>>>0<s>>>0)gb();c[w+24>>2]=t;h=d+16|0;g=c[h>>2]|0;do if(g)if(g>>>0<s>>>0)gb();else{c[w+16>>2]=g;c[g+24>>2]=w;break}while(0);g=c[h+4>>2]|0;if(g)if(g>>>0<(c[17795]|0)>>>0)gb();else{c[w+20>>2]=g;c[g+24>>2]=w;break}}}else{g=c[d+8>>2]|0;s=c[d+12>>2]|0;t=71204+(v<<1<<2)|0;if((g|0)!=(t|0)){if(g>>>0<b>>>0)gb();if((c[g+12>>2]|0)!=(d|0))gb()}if((s|0)==(g|0)){c[17791]=c[17791]&~(1<<v);break}if((s|0)!=(t|0)){if(s>>>0<b>>>0)gb();t=s+8|0;if((c[t>>2]|0)==(d|0))B=t;else gb()}else B=s+8|0;c[g+12>>2]=s;c[B>>2]=g}while(0);c[l+4>>2]=u|1;c[l+u>>2]=u;if((l|0)==(c[17796]|0)){c[17793]=u;return}else C=u}else{c[a>>2]=r&-2;c[l+4>>2]=m|1;c[l+m>>2]=m;C=m}m=C>>>3;if(C>>>0<256){r=71204+(m<<1<<2)|0;a=c[17791]|0;u=1<<m;if(a&u){m=r+8|0;B=c[m>>2]|0;if(B>>>0<(c[17795]|0)>>>0)gb();else{D=m;E=B}}else{c[17791]=a|u;D=r+8|0;E=r}c[D>>2]=l;c[E+12>>2]=l;c[l+8>>2]=E;c[l+12>>2]=r;return}r=C>>>8;if(r)if(C>>>0>16777215)F=31;else{E=(r+1048320|0)>>>16&8;D=r<<E;r=(D+520192|0)>>>16&4;u=D<<r;D=(u+245760|0)>>>16&2;a=14-(r|E|D)+(u<<D>>>15)|0;F=C>>>(a+7|0)&1|a<<1}else F=0;a=71468+(F<<2)|0;c[l+28>>2]=F;c[l+20>>2]=0;c[l+16>>2]=0;D=c[17792]|0;u=1<<F;if(!(D&u)){c[17792]=D|u;c[a>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;return}u=C<<((F|0)==31?0:25-(F>>>1)|0);F=c[a>>2]|0;while(1){if((c[F+4>>2]&-8|0)==(C|0)){G=F;H=127;break}a=F+16+(u>>>31<<2)|0;D=c[a>>2]|0;if(!D){I=a;J=F;H=124;break}else{u=u<<1;F=D}}if((H|0)==124){if(I>>>0<(c[17795]|0)>>>0)gb();c[I>>2]=l;c[l+24>>2]=J;c[l+12>>2]=l;c[l+8>>2]=l;return}else if((H|0)==127){H=G+8|0;J=c[H>>2]|0;I=c[17795]|0;if(!(J>>>0>=I>>>0&G>>>0>=I>>>0))gb();c[J+12>>2]=l;c[H>>2]=l;c[l+8>>2]=J;c[l+12>>2]=G;c[l+24>>2]=0;return}}function yx(){}function zx(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 (C=e,a-c>>>0|0)|0}function Ax(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (C=b+d+(e>>>0<a>>>0|0)>>>0,e|0)|0}function Bx(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function Cx(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Dx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Pa(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 Ex(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 Dx(b,c,d)|0;return b|0}function Fx(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 Gx(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 Hx(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Ix(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Jx(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 (C=(a>>>16)+(_(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function Kx(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=zx(e^a|0,f^b|0,e|0,f|0)|0;b=C;a=g^e;e=h^f;return zx((Px(i,b,zx(g^c|0,h^d|0,g|0,h|0)|0,C,0)|0)^a|0,C^e|0,a|0,e|0)|0}function Lx(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=zx(h^a|0,j^b|0,h|0,j|0)|0;b=C;Px(m,b,zx(k^d|0,l^e|0,k|0,l|0)|0,C,g)|0;l=zx(c[g>>2]^h|0,c[g+4>>2]^j|0,h|0,j|0)|0;j=C;i=f;return (C=j,l)|0}function Mx(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=Jx(e,a)|0;f=C;return (C=(_(b,a)|0)+(_(d,e)|0)+f|f&0,c|0|0)|0}function Nx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Px(a,b,c,d,0)|0}function Ox(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;Px(a,b,d,e,g)|0;i=f;return (C=c[g+4>>2]|0,c[g>>2]|0)|0}function Px(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,D=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 (C=n,o)|0}else{if(!m){n=0;o=0;return (C=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;o=0;return (C=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(aa(l|0)|0)-(aa(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 (C=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (C=n,o)|0}r=j-1|0;if(r&j){s=(aa(j|0)|0)+33-(aa(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 (C=n,o)|0}else{r=Gx(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (C=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 (C=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 (C=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>>>((Gx(l|0)|0)>>>0);return (C=n,o)|0}r=(aa(l|0)|0)-(aa(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 (C=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (C=n,o)|0}while(0);if(!t){B=x;D=w;E=v;F=u;G=0;H=0}else{b=d|0|0;d=k|e&0;e=Ax(b|0,d|0,-1,-1)|0;k=C;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;zx(e|0,k|0,g|0,a|0)|0;i=C;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=zx(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&d|0)|0;w=C;u=u-1|0}while((u|0)!=0);B=h;D=x;E=w;F=v;G=0;H=t}t=D;D=0;if(f){c[f>>2]=F;c[f+4>>2]=E}n=(t|0)>>>31|(B|D)<<1|(D<<1|t>>>31)&0|G;o=(t<<1|0>>>31)&-2|H;return (C=n,o)|0}function Qx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return vb[a&63](b|0,c|0,d|0)|0}function Rx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wb[a&15](b|0,c|0,d|0,e|0,f|0)}function Sx(a,b){a=a|0;b=b|0;xb[a&15](b|0)}function Tx(a,b,c){a=a|0;b=b|0;c=c|0;yb[a&7](b|0,c|0)}function Ux(a,b){a=a|0;b=b|0;return zb[a&15](b|0)|0}function Vx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ab[a&7](b|0,c|0,d|0)}function Wx(a){a=a|0;Bb[a&3]()}function Xx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Cb[a&7](b|0,c|0,d|0,e|0)|0}function Yx(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;Db[a&1](b|0,c|0,d|0,e|0,f|0,g|0)}function Zx(a,b,c){a=a|0;b=b|0;c=c|0;return Eb[a&7](b|0,c|0)|0}function _x(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Fb[a&1](b|0,c|0,d|0,e|0)}function $x(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function ay(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(1)}function by(a){a=a|0;ba(2)}function cy(a,b){a=a|0;b=b|0;ba(3)}function dy(a){a=a|0;ba(4);return 0}function ey(a,b,c){a=a|0;b=b|0;c=c|0;ba(5)}function fy(){ba(6)}function gy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(7);return 0}function hy(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(8)}function iy(a,b){a=a|0;b=b|0;ba(9);return 0}function jy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(10)} -function jn(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;g=i;i=i+64|0;h=g;j=g+36|0;k=g+32|0;l=g+28|0;m=g+24|0;n=g+20|0;o=g+16|0;p=g+12|0;q=g+8|0;r=g+4|0;s=g+56|0;t=g+55|0;u=g+54|0;v=g+53|0;w=g+52|0;x=g+51|0;y=g+50|0;z=g+49|0;A=g+48|0;B=g+47|0;C=g+46|0;D=g+45|0;E=g+44|0;F=g+43|0;G=g+42|0;H=g+41|0;I=g+40|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;a[s>>0]=0;a[t>>0]=0;a[u>>0]=0;a[v>>0]=0;a[w>>0]=0;a[x>>0]=0;a[y>>0]=0;a[z>>0]=0;a[A>>0]=0;a[B>>0]=0;a[C>>0]=0;a[D>>0]=0;a[E>>0]=0;a[F>>0]=0;a[G>>0]=0;a[H>>0]=0;if(((c[m>>2]|0)-16|16|0)!=16){c[j>>2]=44;J=c[j>>2]|0;i=g;return J|0}if((c[17704]|0)==0?(c[17704]=1,c[17705]=kn()|0,(c[17705]|0)!=0):0){c[h>>2]=c[17705];Af(43706,h)}if(c[17705]|0){c[j>>2]=50;J=c[j>>2]|0;i=g;return J|0}if(a[c[l>>2]>>0]|0){a[I>>0]=a[43710+((d[c[l>>2]>>0]|0)-1)>>0]|0;a[s>>0]=d[s>>0]^d[43965+((d[I>>0]|0)+0)>>0];a[t>>0]=d[t>>0]^d[43965+((d[I>>0]|0)+45)>>0];a[u>>0]=d[u>>0]^d[43965+((d[I>>0]|0)+1)>>0];a[v>>0]=d[v>>0]^d[43965+((d[I>>0]|0)+45)>>0]}if(a[(c[l>>2]|0)+1>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+1>>0]|0)-1)>>0]|0;a[s>>0]=d[s>>0]^d[43965+((d[I>>0]|0)+45)>>0];a[t>>0]=d[t>>0]^d[43965+((d[I>>0]|0)+164)>>0];a[u>>0]=d[u>>0]^d[43965+((d[I>>0]|0)+68)>>0];a[v>>0]=d[v>>0]^d[43965+((d[I>>0]|0)+138)>>0]}if(a[(c[l>>2]|0)+2>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+2>>0]|0)-1)>>0]|0;a[s>>0]=d[s>>0]^d[43965+((d[I>>0]|0)+138)>>0];a[t>>0]=d[t>>0]^d[43965+((d[I>>0]|0)+213)>>0];a[u>>0]=d[u>>0]^d[43965+((d[I>>0]|0)+191)>>0];a[v>>0]=d[v>>0]^d[43965+((d[I>>0]|0)+209)>>0]}if(a[(c[l>>2]|0)+3>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+3>>0]|0)-1)>>0]|0;a[s>>0]=d[s>>0]^d[43965+((d[I>>0]|0)+209)>>0];a[t>>0]=d[t>>0]^d[43965+((d[I>>0]|0)+127)>>0];a[u>>0]=d[u>>0]^d[43965+((d[I>>0]|0)+61)>>0];a[v>>0]=d[v>>0]^d[43965+((d[I>>0]|0)+153)>>0]}if(a[(c[l>>2]|0)+4>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+4>>0]|0)-1)>>0]|0;a[s>>0]=d[s>>0]^d[43965+((d[I>>0]|0)+153)>>0];a[t>>0]=d[t>>0]^d[43965+((d[I>>0]|0)+70)>>0];a[u>>0]=d[u>>0]^d[43965+((d[I>>0]|0)+102)>>0];a[v>>0]=d[v>>0]^d[43965+((d[I>>0]|0)+150)>>0]}if(a[(c[l>>2]|0)+5>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+5>>0]|0)-1)>>0]|0;a[s>>0]=d[s>>0]^d[43965+((d[I>>0]|0)+150)>>0];a[t>>0]=d[t>>0]^d[43965+((d[I>>0]|0)+60)>>0];a[u>>0]=d[u>>0]^d[43965+((d[I>>0]|0)+91)>>0];a[v>>0]=d[v>>0]^d[43965+((d[I>>0]|0)+237)>>0]}if(a[(c[l>>2]|0)+6>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+6>>0]|0)-1)>>0]|0;a[s>>0]=d[s>>0]^d[43965+((d[I>>0]|0)+237)>>0];a[t>>0]=d[t>>0]^d[43965+((d[I>>0]|0)+55)>>0];a[u>>0]=d[u>>0]^d[43965+((d[I>>0]|0)+79)>>0];a[v>>0]=d[v>>0]^d[43965+((d[I>>0]|0)+224)>>0]}if(a[(c[l>>2]|0)+7>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+7>>0]|0)-1)>>0]|0;a[s>>0]=d[s>>0]^d[43965+((d[I>>0]|0)+224)>>0];a[t>>0]=d[t>>0]^d[43965+((d[I>>0]|0)+208)>>0];a[u>>0]=d[u>>0]^d[43965+((d[I>>0]|0)+140)>>0];a[v>>0]=d[v>>0]^d[43965+((d[I>>0]|0)+23)>>0]}if(a[(c[l>>2]|0)+8>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+8>>0]|0)-1)>>0]|0;a[w>>0]=d[w>>0]^d[43965+((d[I>>0]|0)+0)>>0];a[x>>0]=d[x>>0]^d[43965+((d[I>>0]|0)+45)>>0];a[y>>0]=d[y>>0]^d[43965+((d[I>>0]|0)+1)>>0];a[z>>0]=d[z>>0]^d[43965+((d[I>>0]|0)+45)>>0]}if(a[(c[l>>2]|0)+9>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+9>>0]|0)-1)>>0]|0;a[w>>0]=d[w>>0]^d[43965+((d[I>>0]|0)+45)>>0];a[x>>0]=d[x>>0]^d[43965+((d[I>>0]|0)+164)>>0];a[y>>0]=d[y>>0]^d[43965+((d[I>>0]|0)+68)>>0];a[z>>0]=d[z>>0]^d[43965+((d[I>>0]|0)+138)>>0]}if(a[(c[l>>2]|0)+10>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+10>>0]|0)-1)>>0]|0;a[w>>0]=d[w>>0]^d[43965+((d[I>>0]|0)+138)>>0];a[x>>0]=d[x>>0]^d[43965+((d[I>>0]|0)+213)>>0];a[y>>0]=d[y>>0]^d[43965+((d[I>>0]|0)+191)>>0];a[z>>0]=d[z>>0]^d[43965+((d[I>>0]|0)+209)>>0]}if(a[(c[l>>2]|0)+11>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+11>>0]|0)-1)>>0]|0;a[w>>0]=d[w>>0]^d[43965+((d[I>>0]|0)+209)>>0];a[x>>0]=d[x>>0]^d[43965+((d[I>>0]|0)+127)>>0];a[y>>0]=d[y>>0]^d[43965+((d[I>>0]|0)+61)>>0];a[z>>0]=d[z>>0]^d[43965+((d[I>>0]|0)+153)>>0]}if(a[(c[l>>2]|0)+12>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+12>>0]|0)-1)>>0]|0;a[w>>0]=d[w>>0]^d[43965+((d[I>>0]|0)+153)>>0];a[x>>0]=d[x>>0]^d[43965+((d[I>>0]|0)+70)>>0];a[y>>0]=d[y>>0]^d[43965+((d[I>>0]|0)+102)>>0];a[z>>0]=d[z>>0]^d[43965+((d[I>>0]|0)+150)>>0]}if(a[(c[l>>2]|0)+13>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+13>>0]|0)-1)>>0]|0;a[w>>0]=d[w>>0]^d[43965+((d[I>>0]|0)+150)>>0];a[x>>0]=d[x>>0]^d[43965+((d[I>>0]|0)+60)>>0];a[y>>0]=d[y>>0]^d[43965+((d[I>>0]|0)+91)>>0];a[z>>0]=d[z>>0]^d[43965+((d[I>>0]|0)+237)>>0]}if(a[(c[l>>2]|0)+14>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+14>>0]|0)-1)>>0]|0;a[w>>0]=d[w>>0]^d[43965+((d[I>>0]|0)+237)>>0];a[x>>0]=d[x>>0]^d[43965+((d[I>>0]|0)+55)>>0];a[y>>0]=d[y>>0]^d[43965+((d[I>>0]|0)+79)>>0];a[z>>0]=d[z>>0]^d[43965+((d[I>>0]|0)+224)>>0]}if(a[(c[l>>2]|0)+15>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+15>>0]|0)-1)>>0]|0;a[w>>0]=d[w>>0]^d[43965+((d[I>>0]|0)+224)>>0];a[x>>0]=d[x>>0]^d[43965+((d[I>>0]|0)+208)>>0];a[y>>0]=d[y>>0]^d[43965+((d[I>>0]|0)+140)>>0];a[z>>0]=d[z>>0]^d[43965+((d[I>>0]|0)+23)>>0]}if((c[m>>2]|0)==32){if(a[(c[l>>2]|0)+16>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+16>>0]|0)-1)>>0]|0;a[A>>0]=d[A>>0]^d[43965+((d[I>>0]|0)+0)>>0];a[B>>0]=d[B>>0]^d[43965+((d[I>>0]|0)+45)>>0];a[C>>0]=d[C>>0]^d[43965+((d[I>>0]|0)+1)>>0];a[D>>0]=d[D>>0]^d[43965+((d[I>>0]|0)+45)>>0]}if(a[(c[l>>2]|0)+17>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+17>>0]|0)-1)>>0]|0;a[A>>0]=d[A>>0]^d[43965+((d[I>>0]|0)+45)>>0];a[B>>0]=d[B>>0]^d[43965+((d[I>>0]|0)+164)>>0];a[C>>0]=d[C>>0]^d[43965+((d[I>>0]|0)+68)>>0];a[D>>0]=d[D>>0]^d[43965+((d[I>>0]|0)+138)>>0]}if(a[(c[l>>2]|0)+18>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+18>>0]|0)-1)>>0]|0;a[A>>0]=d[A>>0]^d[43965+((d[I>>0]|0)+138)>>0];a[B>>0]=d[B>>0]^d[43965+((d[I>>0]|0)+213)>>0];a[C>>0]=d[C>>0]^d[43965+((d[I>>0]|0)+191)>>0];a[D>>0]=d[D>>0]^d[43965+((d[I>>0]|0)+209)>>0]}if(a[(c[l>>2]|0)+19>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+19>>0]|0)-1)>>0]|0;a[A>>0]=d[A>>0]^d[43965+((d[I>>0]|0)+209)>>0];a[B>>0]=d[B>>0]^d[43965+((d[I>>0]|0)+127)>>0];a[C>>0]=d[C>>0]^d[43965+((d[I>>0]|0)+61)>>0];a[D>>0]=d[D>>0]^d[43965+((d[I>>0]|0)+153)>>0]}if(a[(c[l>>2]|0)+20>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+20>>0]|0)-1)>>0]|0;a[A>>0]=d[A>>0]^d[43965+((d[I>>0]|0)+153)>>0];a[B>>0]=d[B>>0]^d[43965+((d[I>>0]|0)+70)>>0];a[C>>0]=d[C>>0]^d[43965+((d[I>>0]|0)+102)>>0];a[D>>0]=d[D>>0]^d[43965+((d[I>>0]|0)+150)>>0]}if(a[(c[l>>2]|0)+21>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+21>>0]|0)-1)>>0]|0;a[A>>0]=d[A>>0]^d[43965+((d[I>>0]|0)+150)>>0];a[B>>0]=d[B>>0]^d[43965+((d[I>>0]|0)+60)>>0];a[C>>0]=d[C>>0]^d[43965+((d[I>>0]|0)+91)>>0];a[D>>0]=d[D>>0]^d[43965+((d[I>>0]|0)+237)>>0]}if(a[(c[l>>2]|0)+22>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+22>>0]|0)-1)>>0]|0;a[A>>0]=d[A>>0]^d[43965+((d[I>>0]|0)+237)>>0];a[B>>0]=d[B>>0]^d[43965+((d[I>>0]|0)+55)>>0];a[C>>0]=d[C>>0]^d[43965+((d[I>>0]|0)+79)>>0];a[D>>0]=d[D>>0]^d[43965+((d[I>>0]|0)+224)>>0]}if(a[(c[l>>2]|0)+23>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+23>>0]|0)-1)>>0]|0;a[A>>0]=d[A>>0]^d[43965+((d[I>>0]|0)+224)>>0];a[B>>0]=d[B>>0]^d[43965+((d[I>>0]|0)+208)>>0];a[C>>0]=d[C>>0]^d[43965+((d[I>>0]|0)+140)>>0];a[D>>0]=d[D>>0]^d[43965+((d[I>>0]|0)+23)>>0]}if(a[(c[l>>2]|0)+24>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+24>>0]|0)-1)>>0]|0;a[E>>0]=d[E>>0]^d[43965+((d[I>>0]|0)+0)>>0];a[F>>0]=d[F>>0]^d[43965+((d[I>>0]|0)+45)>>0];a[G>>0]=d[G>>0]^d[43965+((d[I>>0]|0)+1)>>0];a[H>>0]=d[H>>0]^d[43965+((d[I>>0]|0)+45)>>0]}if(a[(c[l>>2]|0)+25>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+25>>0]|0)-1)>>0]|0;a[E>>0]=d[E>>0]^d[43965+((d[I>>0]|0)+45)>>0];a[F>>0]=d[F>>0]^d[43965+((d[I>>0]|0)+164)>>0];a[G>>0]=d[G>>0]^d[43965+((d[I>>0]|0)+68)>>0];a[H>>0]=d[H>>0]^d[43965+((d[I>>0]|0)+138)>>0]}if(a[(c[l>>2]|0)+26>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+26>>0]|0)-1)>>0]|0;a[E>>0]=d[E>>0]^d[43965+((d[I>>0]|0)+138)>>0];a[F>>0]=d[F>>0]^d[43965+((d[I>>0]|0)+213)>>0];a[G>>0]=d[G>>0]^d[43965+((d[I>>0]|0)+191)>>0];a[H>>0]=d[H>>0]^d[43965+((d[I>>0]|0)+209)>>0]}if(a[(c[l>>2]|0)+27>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+27>>0]|0)-1)>>0]|0;a[E>>0]=d[E>>0]^d[43965+((d[I>>0]|0)+209)>>0];a[F>>0]=d[F>>0]^d[43965+((d[I>>0]|0)+127)>>0];a[G>>0]=d[G>>0]^d[43965+((d[I>>0]|0)+61)>>0];a[H>>0]=d[H>>0]^d[43965+((d[I>>0]|0)+153)>>0]}if(a[(c[l>>2]|0)+28>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+28>>0]|0)-1)>>0]|0;a[E>>0]=d[E>>0]^d[43965+((d[I>>0]|0)+153)>>0];a[F>>0]=d[F>>0]^d[43965+((d[I>>0]|0)+70)>>0];a[G>>0]=d[G>>0]^d[43965+((d[I>>0]|0)+102)>>0];a[H>>0]=d[H>>0]^d[43965+((d[I>>0]|0)+150)>>0]}if(a[(c[l>>2]|0)+29>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+29>>0]|0)-1)>>0]|0;a[E>>0]=d[E>>0]^d[43965+((d[I>>0]|0)+150)>>0];a[F>>0]=d[F>>0]^d[43965+((d[I>>0]|0)+60)>>0];a[G>>0]=d[G>>0]^d[43965+((d[I>>0]|0)+91)>>0];a[H>>0]=d[H>>0]^d[43965+((d[I>>0]|0)+237)>>0]}if(a[(c[l>>2]|0)+30>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+30>>0]|0)-1)>>0]|0;a[E>>0]=d[E>>0]^d[43965+((d[I>>0]|0)+237)>>0];a[F>>0]=d[F>>0]^d[43965+((d[I>>0]|0)+55)>>0];a[G>>0]=d[G>>0]^d[43965+((d[I>>0]|0)+79)>>0];a[H>>0]=d[H>>0]^d[43965+((d[I>>0]|0)+224)>>0]}if(a[(c[l>>2]|0)+31>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+31>>0]|0)-1)>>0]|0;a[E>>0]=d[E>>0]^d[43965+((d[I>>0]|0)+224)>>0];a[F>>0]=d[F>>0]^d[43965+((d[I>>0]|0)+208)>>0];a[G>>0]=d[G>>0]^d[43965+((d[I>>0]|0)+140)>>0];a[H>>0]=d[H>>0]^d[43965+((d[I>>0]|0)+23)>>0]}c[o>>2]=0;c[n>>2]=0;c[p>>2]=1;while(1){if((c[n>>2]|0)>=256)break;c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]=c[8372+((d[45225+(d[45225+(d[44969+(d[44457+(c[p>>2]|0)>>0]^d[s>>0])>>0]^d[w>>0])>>0]^d[A>>0])>>0]^d[E>>0])<<2)>>2];c[(c[k>>2]|0)+1024+(c[n>>2]<<2)>>2]=c[9396+((d[45225+(d[44969+(d[44969+(d[44457+(c[o>>2]|0)>>0]^d[t>>0])>>0]^d[x>>0])>>0]^d[B>>0])>>0]^d[F>>0])<<2)>>2];c[(c[k>>2]|0)+2048+(c[n>>2]<<2)>>2]=c[10420+((d[44969+(d[45225+(d[45225+(d[44457+(c[o>>2]|0)>>0]^d[u>>0])>>0]^d[y>>0])>>0]^d[C>>0])>>0]^d[G>>0])<<2)>>2];c[(c[k>>2]|0)+3072+(c[n>>2]<<2)>>2]=c[11444+((d[44969+(d[44969+(d[45225+(d[44457+(c[p>>2]|0)>>0]^d[v>>0])>>0]^d[z>>0])>>0]^d[D>>0])>>0]^d[H>>0])<<2)>>2];c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+2;c[p>>2]=(c[p>>2]|0)+2}c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(117^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(169^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(169^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(117^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(243^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(103^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(103^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(243^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4096>>2]=c[q>>2];c[(c[k>>2]|0)+4096+4>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(198^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(179^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(179^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(198^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(244^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(232^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(232^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(244^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4096+8>>2]=c[q>>2];c[(c[k>>2]|0)+4096+12>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(219^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(4^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(4^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(219^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(123^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(253^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(253^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(123^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4096+16>>2]=c[q>>2];c[(c[k>>2]|0)+4096+20>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(251^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(163^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(163^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(251^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(200^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(118^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(118^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(200^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4096+24>>2]=c[q>>2];c[(c[k>>2]|0)+4096+28>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(74^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(154^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(154^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(74^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(211^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(146^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(146^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(211^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128>>2]=c[q>>2];c[(c[k>>2]|0)+4128+4>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(230^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(128^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(128^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(230^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(107^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(120^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(120^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(107^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+8>>2]=c[q>>2];c[(c[k>>2]|0)+4128+12>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(69^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(228^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(228^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(69^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(125^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(221^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(221^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(125^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+16>>2]=c[q>>2];c[(c[k>>2]|0)+4128+20>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(232^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(209^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(209^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(232^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(75^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(56^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(56^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(75^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+24>>2]=c[q>>2];c[(c[k>>2]|0)+4128+28>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(214^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(13^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(13^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(214^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(50^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(198^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(198^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(50^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+32>>2]=c[q>>2];c[(c[k>>2]|0)+4128+36>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(216^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(53^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(53^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(216^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(253^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(152^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(152^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(253^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+40>>2]=c[q>>2];c[(c[k>>2]|0)+4128+44>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(55^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(24^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(24^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(55^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(113^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(247^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(247^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(113^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+48>>2]=c[q>>2];c[(c[k>>2]|0)+4128+52>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(241^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(236^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(236^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(241^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(225^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(108^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(108^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(225^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+56>>2]=c[q>>2];c[(c[k>>2]|0)+4128+60>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(48^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(67^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(67^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(48^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(15^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(117^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(117^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(15^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+64>>2]=c[q>>2];c[(c[k>>2]|0)+4128+68>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(248^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(55^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(55^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(248^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(27^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(38^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(38^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(27^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+72>>2]=c[q>>2];c[(c[k>>2]|0)+4128+76>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(135^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(250^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(250^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(135^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(250^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(19^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(19^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(250^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+80>>2]=c[q>>2];c[(c[k>>2]|0)+4128+84>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(6^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(148^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(148^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(6^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(63^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(72^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(72^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(63^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+88>>2]=c[q>>2];c[(c[k>>2]|0)+4128+92>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(94^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(242^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(242^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(94^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(186^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(208^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(208^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(186^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+96>>2]=c[q>>2];c[(c[k>>2]|0)+4128+100>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(174^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(139^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(139^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(174^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(91^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(48^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(48^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(91^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+104>>2]=c[q>>2];c[(c[k>>2]|0)+4128+108>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(138^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(132^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(132^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(138^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(0^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(84^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(84^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(0^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+112>>2]=c[q>>2];c[(c[k>>2]|0)+4128+116>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(188^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(223^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(223^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(188^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(157^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(35^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(35^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(157^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+120>>2]=c[q>>2];c[(c[k>>2]|0)+4128+124>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23)}else{c[o>>2]=0;c[n>>2]=0;c[p>>2]=1;while(1){if((c[n>>2]|0)>=256)break;c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]=c[8372+((d[45225+(d[44457+(c[o>>2]|0)>>0]^d[s>>0])>>0]^d[w>>0])<<2)>>2];c[(c[k>>2]|0)+1024+(c[n>>2]<<2)>>2]=c[9396+((d[45225+(d[44457+(c[p>>2]|0)>>0]^d[t>>0])>>0]^d[x>>0])<<2)>>2];c[(c[k>>2]|0)+2048+(c[n>>2]<<2)>>2]=c[10420+((d[44969+(d[44457+(c[o>>2]|0)>>0]^d[u>>0])>>0]^d[y>>0])<<2)>>2];c[(c[k>>2]|0)+3072+(c[n>>2]<<2)>>2]=c[11444+((d[44969+(d[44457+(c[p>>2]|0)>>0]^d[v>>0])>>0]^d[z>>0])<<2)>>2];c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+2;c[p>>2]=(c[p>>2]|0)+2}c[q>>2]=c[8372+((d[45225+(169^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(117^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(169^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(117^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(103^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(243^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(103^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(243^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4096>>2]=c[q>>2];c[(c[k>>2]|0)+4096+4>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(179^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(198^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(179^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(198^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(232^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(244^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(232^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(244^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4096+8>>2]=c[q>>2];c[(c[k>>2]|0)+4096+12>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(4^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(219^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(4^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(219^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(253^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(123^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(253^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(123^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4096+16>>2]=c[q>>2];c[(c[k>>2]|0)+4096+20>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(163^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(251^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(163^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(251^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(118^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(200^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(118^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(200^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4096+24>>2]=c[q>>2];c[(c[k>>2]|0)+4096+28>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(154^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(74^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(154^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(74^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(146^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(211^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(146^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(211^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128>>2]=c[q>>2];c[(c[k>>2]|0)+4128+4>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(128^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(230^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(128^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(230^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(120^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(107^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(120^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(107^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+8>>2]=c[q>>2];c[(c[k>>2]|0)+4128+12>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(228^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(69^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(228^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(69^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(221^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(125^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(221^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(125^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+16>>2]=c[q>>2];c[(c[k>>2]|0)+4128+20>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(209^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(232^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(209^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(232^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(56^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(75^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(56^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(75^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+24>>2]=c[q>>2];c[(c[k>>2]|0)+4128+28>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(13^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(214^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(13^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(214^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(198^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(50^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(198^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(50^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+32>>2]=c[q>>2];c[(c[k>>2]|0)+4128+36>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(53^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(216^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(53^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(216^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(152^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(253^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(152^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(253^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+40>>2]=c[q>>2];c[(c[k>>2]|0)+4128+44>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(24^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(55^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(24^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(55^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(247^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(113^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(247^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(113^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+48>>2]=c[q>>2];c[(c[k>>2]|0)+4128+52>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(236^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(241^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(236^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(241^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(108^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(225^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(108^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(225^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+56>>2]=c[q>>2];c[(c[k>>2]|0)+4128+60>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(67^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(48^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(67^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(48^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(117^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(15^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(117^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(15^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+64>>2]=c[q>>2];c[(c[k>>2]|0)+4128+68>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(55^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(248^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(55^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(248^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(38^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(27^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(38^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(27^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+72>>2]=c[q>>2];c[(c[k>>2]|0)+4128+76>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(250^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(135^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(250^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(135^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(19^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(250^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(19^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(250^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+80>>2]=c[q>>2];c[(c[k>>2]|0)+4128+84>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(148^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(6^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(148^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(6^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(72^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(63^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(72^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(63^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+88>>2]=c[q>>2];c[(c[k>>2]|0)+4128+92>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(242^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(94^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(242^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(94^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(208^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(186^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(208^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(186^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+96>>2]=c[q>>2];c[(c[k>>2]|0)+4128+100>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(139^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(174^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(139^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(174^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(48^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(91^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(48^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(91^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+104>>2]=c[q>>2];c[(c[k>>2]|0)+4128+108>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(132^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(138^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(132^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(138^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(84^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(0^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(84^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(0^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+112>>2]=c[q>>2];c[(c[k>>2]|0)+4128+116>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(223^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(188^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(223^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(188^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(35^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(157^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(35^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(157^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+120>>2]=c[q>>2];c[(c[k>>2]|0)+4128+124>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23)}c[j>>2]=0;J=c[j>>2]|0;i=g;return J|0}function kn(){var a=0,b=0,d=0,e=0,f=0,g=0;a=i;i=i+4288|0;b=a+4264|0;d=a+8|0;e=a+4272|0;f=a;hn(d,43450,16)|0;ln(d,e,43466)|0;do if(!(mw(e,43482,16)|0)){pn(d,e,e)|0;if(mw(e,43466,16)|0){c[b>>2]=43534;break}hn(d,43570,32)|0;ln(d,e,43602)|0;if(mw(e,43618,16)|0){c[b>>2]=43634;break}pn(d,e,e)|0;if(mw(e,43602,16)|0){c[b>>2]=43670;break}g=rn()|0;c[f>>2]=g;if(g){c[b>>2]=c[f>>2];break}g=un()|0;c[f>>2]=g;if(g){c[b>>2]=c[f>>2];break}g=xn()|0;c[f>>2]=g;if(g){c[b>>2]=c[f>>2];break}else{c[b>>2]=0;break}}else c[b>>2]=43498;while(0);i=a;return c[b>>2]|0}function ln(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[f>>2];mn(c[j>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return 36}function mn(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;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+8|0;n=e+4|0;o=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=nn(c[h>>2]|0)|0;c[j>>2]=c[j>>2]^c[(c[f>>2]|0)+4096>>2];c[k>>2]=nn((c[h>>2]|0)+4|0)|0;c[k>>2]=c[k>>2]^c[(c[f>>2]|0)+4096+4>>2];c[l>>2]=nn((c[h>>2]|0)+8|0)|0;c[l>>2]=c[l>>2]^c[(c[f>>2]|0)+4096+8>>2];c[m>>2]=nn((c[h>>2]|0)+12|0)|0;c[m>>2]=c[m>>2]^c[(c[f>>2]|0)+4096+12>>2];c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+4>>2]|0));c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+12>>2]|0));c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+8>>2]|0);c[j>>2]=((c[j>>2]|0)>>>1)+(c[j>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+20>>2]|0));c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+16>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+28>>2]|0));c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+24>>2]|0);c[j>>2]=((c[j>>2]|0)>>>1)+(c[j>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+36>>2]|0));c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+32>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+44>>2]|0));c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+40>>2]|0);c[j>>2]=((c[j>>2]|0)>>>1)+(c[j>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+52>>2]|0));c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+48>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+60>>2]|0));c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+56>>2]|0);c[j>>2]=((c[j>>2]|0)>>>1)+(c[j>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+68>>2]|0));c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+64>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+76>>2]|0));c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+72>>2]|0);c[j>>2]=((c[j>>2]|0)>>>1)+(c[j>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+84>>2]|0));c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+80>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+92>>2]|0));c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+88>>2]|0);c[j>>2]=((c[j>>2]|0)>>>1)+(c[j>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+100>>2]|0));c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+96>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+108>>2]|0));c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+104>>2]|0);c[j>>2]=((c[j>>2]|0)>>>1)+(c[j>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+116>>2]|0));c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+112>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+124>>2]|0));c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+120>>2]|0);c[j>>2]=((c[j>>2]|0)>>>1)+(c[j>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31)^c[o>>2];c[l>>2]=c[l>>2]^c[(c[f>>2]|0)+4096+16>>2];on(c[g>>2]|0,c[l>>2]|0);c[m>>2]=c[m>>2]^c[(c[f>>2]|0)+4096+20>>2];on((c[g>>2]|0)+4|0,c[m>>2]|0);c[j>>2]=c[j>>2]^c[(c[f>>2]|0)+4096+24>>2];on((c[g>>2]|0)+8|0,c[j>>2]|0);c[k>>2]=c[k>>2]^c[(c[f>>2]|0)+4096+28>>2];on((c[g>>2]|0)+12|0,c[k>>2]|0);i=e;return}function nn(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];i=b;return (d[(c[f>>2]|0)+3>>0]|0)<<24|(d[(c[f>>2]|0)+2>>0]|0)<<16|(d[(c[f>>2]|0)+1>>0]|0)<<8|(d[c[f>>2]>>0]|0)|0}function on(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];a[(c[h>>2]|0)+3>>0]=(c[g>>2]|0)>>>24;a[(c[h>>2]|0)+2>>0]=(c[g>>2]|0)>>>16;a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)>>>8;a[c[h>>2]>>0]=c[g>>2];i=e;return}function pn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[f>>2];qn(c[j>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return 36} +function fw(a,b,c){a=a|0;b=b|0;c=c|0;return uv(a,2147483647,b,c)|0}function gw(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=wv(a,b,f)|0;i=e;return d|0}function hw(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,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if((c[f+76>>2]|0)>-1)g=Iv(f)|0;else g=0;h=e+-1|0;if((e|0)<2){e=f+74|0;i=a[e>>0]|0;a[e>>0]=i+255|i;if(g|0)av(f);if(!h){a[b>>0]=0;j=b}else j=0}else{a:do if(h){i=f+4|0;e=f+8|0;k=h;l=b;while(1){m=c[i>>2]|0;n=m;o=(c[e>>2]|0)-n|0;p=Cv(m,10,o)|0;q=(p|0)==0;r=q?o:1-n+p|0;p=r>>>0<k>>>0;n=p?r:k;Dx(l|0,m|0,n|0)|0;m=(c[i>>2]|0)+n|0;c[i>>2]=m;r=l+n|0;o=k-n|0;if(!(q&p)){s=r;t=17;break a}if(m>>>0>=(c[e>>2]|0)>>>0){p=cw(f)|0;if((p|0)<0){u=r;break}else v=p}else{c[i>>2]=m+1;v=d[m>>0]|0}k=o+-1|0;o=r+1|0;a[r>>0]=v;if(!((k|0)!=0&(v&255|0)!=10)){s=o;t=17;break a}else l=o}if((u|0)!=(b|0)?(c[f>>2]&16|0)!=0:0){s=u;t=17}else w=0}else{s=b;t=17}while(0);if((t|0)==17)if(!b)w=0;else{a[s>>0]=0;w=b}if(!g)j=w;else{av(f);j=w}}return j|0}function iw(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!e)f=0;else{g=a[b>>0]|0;a:do if(!(g<<24>>24)){h=0;i=c}else{j=e;k=g;l=b;m=c;while(1){j=j+-1|0;n=a[m>>0]|0;if(!(k<<24>>24==n<<24>>24&((j|0)!=0&n<<24>>24!=0))){h=k;i=m;break a}l=l+1|0;n=m+1|0;k=a[l>>0]|0;if(!(k<<24>>24)){h=0;i=n;break}else m=n}}while(0);f=(h&255)-(d[i>>0]|0)|0}return f|0}function jw(a){a=a|0;return Hx(a|0)|0}function kw(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;e=i;i=i+192|0;f=e+152|0;g=e+136|0;h=e+120|0;j=e+104|0;k=e+96|0;l=e+80|0;m=e+64|0;n=e+48|0;o=e+32|0;p=e+16|0;q=e;r=e+176|0;s=e+168|0;c[r>>2]=d;d=(c[r>>2]|0)+(4-1)&~(4-1);t=c[d>>2]|0;c[r>>2]=d+4;d=(b|0)==4?t|32768:t;a:do switch(b|0){case 14:{c[q>>2]=a;c[q+4>>2]=14;c[q+8>>2]=d;u=Xu(pa(221,q|0)|0)|0;break}case 9:{c[p>>2]=a;c[p+4>>2]=16;c[p+8>>2]=s;t=pa(221,p|0)|0;switch(t|0){case -22:{c[o>>2]=a;c[o+4>>2]=9;c[o+8>>2]=d;v=pa(221,o|0)|0;break}case 0:{r=c[s+4>>2]|0;v=(c[s>>2]|0)==2?0-r|0:r;break}default:v=Xu(t)|0}u=v;break}case 1030:{c[n>>2]=a;c[n+4>>2]=1030;c[n+8>>2]=d;t=pa(221,n|0)|0;if((t|0)!=-22){if((t|0)>-1){c[m>>2]=t;c[m+4>>2]=2;c[m+8>>2]=1;pa(221,m|0)|0}u=Xu(t)|0;break a}c[l>>2]=a;c[l+4>>2]=1030;c[l+8>>2]=0;t=pa(221,l|0)|0;if((t|0)==-22){c[j>>2]=a;c[j+4>>2]=0;c[j+8>>2]=d;r=pa(221,j|0)|0;if((r|0)>-1){c[h>>2]=r;c[h+4>>2]=2;c[h+8>>2]=1;pa(221,h|0)|0}u=Xu(r)|0;break a}else{if((t|0)>-1){c[k>>2]=t;ta(6,k|0)|0}u=Xu(-22)|0;break a}break}default:if((b+-12|0)>>>0<5){c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;u=Xu(pa(221,g|0)|0)|0;break a}else{c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;u=Xu(pa(221,f|0)|0)|0;break a}}while(0);i=e;return u|0}function lw(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ta(6,d|0)|0;d=Xu((a|0)==-4?-115:a)|0;i=b;return d|0}function mw(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 nw(a){a=a|0;return Hx(a|0)|0}function ow(a,b,c){a=a|0;b=b|0;c=c|0;pw(a,b,c)|0;return a|0}function pw(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,B=0,C=0,D=0;f=d;do if(!((f^b)&3)){g=(e|0)!=0;a:do if(g&(f&3|0)!=0){h=e;i=d;j=b;while(1){k=a[i>>0]|0;a[j>>0]=k;if(!(k<<24>>24)){l=h;m=i;n=j;break a}k=h+-1|0;o=i+1|0;p=j+1|0;q=(k|0)!=0;if(q&(o&3|0)!=0){h=k;i=o;j=p}else{r=k;s=o;t=p;u=q;v=5;break}}}else{r=e;s=d;t=b;u=g;v=5}while(0);if((v|0)==5)if(u){l=r;m=s;n=t}else{w=t;x=0;break}if(!(a[m>>0]|0)){w=n;x=l}else{b:do if(l>>>0>3){g=l;j=n;i=m;while(1){h=c[i>>2]|0;if((h&-2139062144^-2139062144)&h+-16843009|0){y=g;z=j;A=i;break b}c[j>>2]=h;h=g+-4|0;q=i+4|0;p=j+4|0;if(h>>>0>3){g=h;j=p;i=q}else{y=h;z=p;A=q;break}}}else{y=l;z=n;A=m}while(0);B=A;C=z;D=y;v=11}}else{B=d;C=b;D=e;v=11}while(0);c:do if((v|0)==11)if(!D){w=C;x=0}else{e=B;b=C;d=D;while(1){y=a[e>>0]|0;a[b>>0]=y;if(!(y<<24>>24)){w=b;x=d;break c}d=d+-1|0;y=b+1|0;if(!d){w=y;x=0;break}else{e=e+1|0;b=y}}}while(0);Fx(w|0,0,x|0)|0;return w|0}function qw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;f=e+16|0;g=e;if(Cv(70495,a[d>>0]|0,4)|0){h=rw(d)|0|32768;c[g>>2]=b;c[g+4>>2]=h;c[g+8>>2]=438;h=Xu(hb(5,g|0)|0)|0;if((h|0)>=0){g=uw(h,d)|0;if(!g){c[f>>2]=h;ta(6,f|0)|0;j=0}else j=g}else j=0}else{c[(Yu()|0)>>2]=22;j=0}i=e;return j|0}function rw(b){b=b|0;var c=0,d=0,e=0,f=0;c=(sw(b,43)|0)==0;d=a[b>>0]|0;e=c?d<<24>>24!=114&1:2;c=(sw(b,120)|0)==0;f=c?e:e|128;e=(sw(b,101)|0)==0;b=e?f:f|524288;f=d<<24>>24==114?b:b|64;b=d<<24>>24==119?f|512:f;return (d<<24>>24==97?b|1024:b)|0}function sw(b,c){b=b|0;c=c|0;var d=0;d=tw(b,c)|0;return ((a[d>>0]|0)==(c&255)<<24>>24?d:0)|0}function tw(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;e=d&255;a:do if(!e)f=b+(Kv(b)|0)|0;else{if(!(b&3))g=b;else{h=d&255;i=b;while(1){j=a[i>>0]|0;if(j<<24>>24==0?1:j<<24>>24==h<<24>>24){f=i;break a}j=i+1|0;if(!(j&3)){g=j;break}else i=j}}i=_(e,16843009)|0;h=c[g>>2]|0;b:do if(!((h&-2139062144^-2139062144)&h+-16843009)){j=h;k=g;while(1){l=j^i;if((l&-2139062144^-2139062144)&l+-16843009|0){m=k;break b}l=k+4|0;j=c[l>>2]|0;if((j&-2139062144^-2139062144)&j+-16843009|0){m=l;break}else k=l}}else m=g;while(0);i=d&255;h=m;while(1){k=a[h>>0]|0;if(k<<24>>24==0?1:k<<24>>24==i<<24>>24){f=h;break}else h=h+1|0}}while(0);return f|0}function uw(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;e=i;i=i+112|0;f=e+40|0;g=e+24|0;h=e+16|0;j=e;k=e+52|0;l=a[d>>0]|0;if(Cv(70495,l<<24>>24,4)|0){m=sx(1144)|0;if(!m)n=0;else{o=m;p=o+112|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));if(!(sw(d,43)|0))c[m>>2]=l<<24>>24==114?8:4;if(!(sw(d,101)|0))q=l;else{c[j>>2]=b;c[j+4>>2]=2;c[j+8>>2]=1;pa(221,j|0)|0;q=a[d>>0]|0}if(q<<24>>24==97){c[h>>2]=b;c[h+4>>2]=3;q=pa(221,h|0)|0;if(!(q&1024)){c[g>>2]=b;c[g+4>>2]=4;c[g+8>>2]=q|1024;pa(221,g|0)|0}g=c[m>>2]|128;c[m>>2]=g;r=g}else r=c[m>>2]|0;c[m+60>>2]=b;c[m+44>>2]=m+120;c[m+48>>2]=1024;g=m+75|0;a[g>>0]=-1;if((r&8|0)==0?(c[f>>2]=b,c[f+4>>2]=21505,c[f+8>>2]=k,(_a(54,f|0)|0)==0):0)a[g>>0]=10;c[m+32>>2]=35;c[m+36>>2]=25;c[m+40>>2]=24;c[m+12>>2]=10;if(!(c[17777]|0))c[m+76>>2]=-1;fb(71132);g=c[17782]|0;c[m+56>>2]=g;if(g|0)c[g+52>>2]=m;c[17782]=m;$a(71132);n=m}}else{c[(Yu()|0)>>2]=22;n=0}i=e;return n|0}function vw(a){a=a|0;var b=0,d=0,e=0,f=0;b=(c[a>>2]&1|0)!=0;if(!b){fb(71132);d=c[a+52>>2]|0;e=a+56|0;if(d|0)c[d+56>>2]=c[e>>2];f=c[e>>2]|0;if(f|0)c[f+52>>2]=d;if((c[17782]|0)==(a|0))c[17782]=f;$a(71132)}f=ww(a)|0;d=zb[c[a+12>>2]&15](a)|0|f;f=c[a+92>>2]|0;if(f|0)tx(f);if(!b)tx(a);return d|0}function ww(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=xw(a)|0;break}d=(Iv(a)|0)==0;e=xw(a)|0;if(d)b=e;else{av(a);b=e}}else{if(!(c[3961]|0))f=0;else f=ww(c[3961]|0)|0;fb(71132);e=c[17782]|0;if(!e)g=f;else{d=e;e=f;while(1){if((c[d+76>>2]|0)>-1)h=Iv(d)|0;else h=0;if((c[d+20>>2]|0)>>>0>(c[d+28>>2]|0)>>>0)i=xw(d)|0|e;else i=e;if(h|0)av(d);d=c[d+56>>2]|0;if(!d){g=i;break}else e=i}}$a(71132);b=g}while(0);return b|0}function xw(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?(vb[c[a+36>>2]&63](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)vb[c[a+40>>2]&63](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 yw(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(!(zv(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((vb[c[b+36>>2]&63](b,g,1)|0)==1)n=d[g>>0]|0;else n=-1}while(0);i=f;return n|0}function zw(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|0){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[15964+(l<<2)>>2]|0;if(f>>>0<4?n&-2147483648>>>((f*6|0)+-6|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[(Yu()|0)>>2]=84;j=-1}while(0);i=g;return j|0}function Aw(a,b){a=a|0;b=b|0;return (Bw(a,Kv(a)|0,1,b)|0)+-1|0}function Bw(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=(Iv(e)|0)==0;h=yv(a,f,e)|0;if(g)i=h;else{av(e);i=h}}else i=yv(a,f,e)|0;if((i|0)==(f|0))j=d;else j=(i>>>0)/(b>>>0)|0;return j|0}function Cw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[3932]|0;if((c[d+76>>2]|0)>-1)e=Iv(d)|0;else e=0;do if((Aw(b,d)|0)<0)f=1;else{if((a[d+75>>0]|0)!=10?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=10;f=0;break}f=(yw(d,10)|0)<0}while(0);if(e|0)av(d);return f<<31>>31|0}function Dw(){var a=0,b=0;a=i;i=i+16|0;b=wa(20,a|0)|0;i=a;return b|0}function Ew(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=Xu(Za(33,e|0)|0)|0;i=d;return b|0}function Fw(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=wv(c[3932]|0,a,e)|0;i=d;return b|0}function Gw(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){b=(Iv(a)|0)==0;d=(c[a>>2]|0)>>>4&1;if(b)e=d;else e=d}else e=(c[a>>2]|0)>>>4&1;return e|0}function Hw(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=b;e=70499;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{e=14;d=c;while(1){f=e+1|0;if(d>>>0<10){g=f;break}else{e=f;d=(d>>>0)/10|0}}a[b+g>>0]=0;d=c;c=g;while(1){c=c+-1|0;a[b+c>>0]=(d>>>0)%10|0|48;if(d>>>0<10)break;else d=(d>>>0)/10|0}}return}function Iw(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+48|0;e=d+40|0;f=d+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;h=Ha(197,g|0)|0;if((h|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(pa(221,f|0)|0)>=0):0){Hw(f,a);c[e>>2]=f;c[e+4>>2]=b;j=Xu(Ia(195,e|0)|0)|0}else j=Xu(h)|0;i=d;return j|0}function Jw(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+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;f=Xu(qb(142,h|0)|0)|0;i=g;return f|0}function Kw(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]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=Xu(ib(4,f|0)|0)|0;i=e;return d|0}function Lw(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]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=Xu(db(3,f|0)|0)|0;i=e;return d|0}function Mw(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+16|0;c[g>>2]=d;d=(c[g>>2]|0)+(4-1)&~(4-1);h=c[d>>2]|0;c[g>>2]=d+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=h;h=Xu(hb(5,f|0)|0)|0;i=e;return h|0}function Nw(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Xu(cb(10,d|0)|0)|0;i=b;return a|0}function Ow(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+32|0;g=f;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=e;c[g+12>>2]=a;e=g+16|0;c[e>>2]=0;d=g+20|0;c[d>>2]=0;switch(a|0){case 208:case 203:case 213:{c[e>>2]=1;break}default:{}}Tw(8,g);g=c[d>>2]|0;if(!g)h=0;else{c[(Yu()|0)>>2]=g;h=-1}i=f;return h|0}function Pw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+32|0;d=b+16|0;e=b;f=a+20|0;do if(!(c[f>>2]|0)){if((c[a+16>>2]|0?(g=c[a>>2]|0,(g|0)>-1):0)?(g|0)!=(Qw()|0):0){c[d>>2]=c[180];c[d+4>>2]=c[181];c[d+8>>2]=c[182];c[d+12>>2]=c[183];Rw(6,e)|0;g=Sw(6,d)|0;c[f>>2]=0-g;if(!((g|0)!=0?(c[17780]|0)!=0:0)){c[f>>2]=1;Sw(6,e)|0}break}c[f>>2]=1}while(0);i=b;return}function Qw(){var a=0,b=0;a=i;i=i+16|0;b=Ka(199,a|0)|0;i=a;return b|0}function Rw(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+32|0;e=d+16|0;f=d;g=d+24|0;c[f>>2]=0;c[f+4>>2]=a;c[f+8>>2]=0;c[f+12>>2]=b;h=Xu(eb(340,f|0)|0)|0;if(!h){f=b;if((c[f>>2]|0)==-1?(c[f+4>>2]|0)==-1:0){f=b;c[f>>2]=-1;c[f+4>>2]=-1}f=b+8|0;j=f;if((c[j>>2]|0)==-1?(c[j+4>>2]|0)==-1:0){j=f;c[j>>2]=-1;c[j+4>>2]=-1;k=0}else k=0}else if((c[(Yu()|0)>>2]|0)==38){c[e>>2]=a;c[e+4>>2]=g;if((Xu(Ga(191,e|0)|0)|0)>=0){e=c[g>>2]|0;a=(e|0)==-1;j=b;c[j>>2]=a?-1:e;c[j+4>>2]=a?-1:0;j=c[g+4>>2]|0;g=(j|0)==-1;e=b+8|0;f=e;c[f>>2]=g?-1:j;c[f+4>>2]=g?-1:0;if(a){a=b;c[a>>2]=-1;c[a+4>>2]=-1}if(g){g=e;c[g>>2]=-1;c[g+4>>2]=-1;k=0}else k=0}else k=-1}else k=h;i=d;return k|0}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+16|0;f=d;g=d+24|0;c[f>>2]=0;c[f+4>>2]=a;c[f+8>>2]=b;c[f+12>>2]=0;h=eb(340,f|0)|0;if((h|0)==-38){f=b;j=c[f>>2]|0;k=c[f+4>>2]|0;f=k>>>0<0|(k|0)==0&j>>>0<4294967295;k=f?j:-1;c[g>>2]=k;k=b+8|0;b=c[k>>2]|0;j=c[k+4>>2]|0;k=j>>>0<0|(j|0)==0&b>>>0<4294967295;j=k?b:-1;c[g+4>>2]=j;c[e>>2]=a;c[e+4>>2]=g;l=Ua(75,e|0)|0}else l=h;i=d;return l|0}function Tw(a,b){a=a|0;b=b|0;xb[a&15](b);return}function Uw(){var a=0,b=0;a=i;i=i+16|0;b=mb(201,a|0)|0;i=a;return b|0}function Vw(a){a=a|0;return Ow(213,a,0,0)|0}function Ww(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=((b|0)<0)<<31>>31;b=Xu(Ja(194,e|0)|0)|0;i=d;return b|0}function Xw(){var a=0,b=0;a=i;i=i+16|0;b=ra(64,a|0)|0;i=a;return b|0}function Yw(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;do{c[e>>2]=a;c[e+4>>2]=b;f=sa(63,e|0)|0}while((f|0)==-16);g=f;e=Xu(g)|0;i=d;return e|0}function Zw(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+32|0;j=h;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){c[(Yu()|0)>>2]=12;k=-1;break}l=(e&16|0)!=0;if(l)_w(-1);c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=g>>12;m=Xu(Fa(192,j|0)|0)|0;if(l){$w();k=m}else k=m}else{c[(Yu()|0)>>2]=22;k=-1}while(0);i=h;return k|0}function _w(a){a=a|0;return}function $w(){return}function ax(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;_w(-1);c[e>>2]=a;c[e+4>>2]=b;b=Xu(Qa(91,e|0)|0)|0;$w();i=d;return b|0}function bx(a){a=a|0;var b=0;b=70552;c[b>>2]=a+-1;c[b+4>>2]=0;return}function cx(){var a=0,b=0,d=0;a=70552;b=Mx(c[a>>2]|0,c[a+4>>2]|0,1284865837,1481765933)|0;a=Ax(b|0,C|0,1,0)|0;b=C;d=70552;c[d>>2]=a;c[d+4>>2]=b;d=Cx(a|0,b|0,33)|0;return d|0}function dx(a){a=a|0;fb(71152);ex(a);$a(71152);return}function ex(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=c[4092]|0;if(!b)c[c[4093]>>2]=a;else{c[4126]=(b|0)==31|(b|0)==7?3:1;c[17790]=0;if((b|0)>0){d=c[4093]|0;e=0;f=a;a=0;do{g=Mx(f|0,e|0,1284865837,1481765933)|0;f=Ax(g|0,C|0,1,0)|0;e=C;c[d+(a<<2)>>2]=e;a=a+1|0}while((a|0)<(b|0));h=d}else h=c[4093]|0;c[h>>2]=c[h>>2]|1}return}function fx(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;fb(71152);a=c[4092]|0;if(!a){b=c[4093]|0;d=(_(c[b>>2]|0,1103515245)|0)+12345&2147483647;c[b>>2]=d;e=d}else{d=c[17790]|0;b=c[4093]|0;f=c[4126]|0;g=b+(f<<2)|0;h=(c[g>>2]|0)+(c[b+(d<<2)>>2]|0)|0;c[g>>2]=h;g=f+1|0;c[4126]=(g|0)==(a|0)?0:g;g=d+1|0;c[17790]=(g|0)==(a|0)?0:g;e=h>>>1}$a(71152);return e|0}function gx(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(!(Yv(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?k:0-k|0)|0}function hx(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=Xu(Wa(77,e|0)|0)|0;i=d;return b|0}function ix(a,b){a=a|0;b=b|0;return jx(a,b,(Kv(a)|0)+1|0)|0}function jx(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c&255;c=d;while(1){if(!c){f=0;break}c=c+-1|0;d=b+c|0;if((a[d>>0]|0)==e<<24>>24){f=d;break}}return f|0}function kx(a){a=a|0;return (a+-48|0)>>>0<10|0}function lx(a,b){a=a|0;b=b|0;var d=0;if(!a)d=ux(1,24)|0;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;d=b}return d|0}function mx(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0){d=b;do{tx(c[d>>2]|0);b=d;d=c[d+4>>2]|0;tx(b)}while((d|0)!=0)}tx(a);return}function nx(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;g=a+16|0;a:do if(!(c[g>>2]|0)){h=a+12|0;i=c[h>>2]|0;do if(i>>>0<f>>>0){if(b|0)if(!d){c[g>>2]=1;j=0;break a}else{k=a+8|0;c[k>>2]=d;c[h>>2]=1024;l=k;m=d;n=d;o=1024;break}k=f<<3;p=k>>>0>1024?k:1024;k=sx(8)|0;if(!k){c[g>>2]=1;j=0;break a}q=sx(p)|0;c[k>>2]=q;r=q;if(!q){tx(k);c[g>>2]=1;j=0;break a}c[k+4>>2]=0;s=a+4|0;t=c[s>>2]|0;if(t|0)c[t+4>>2]=k;if(!(c[a>>2]|0))c[a>>2]=k;c[s>>2]=k;k=a+8|0;c[k>>2]=r;c[h>>2]=p;l=k;m=r;n=q;o=p}else{p=a+8|0;q=c[p>>2]|0;l=p;m=q;n=q;o=i}while(0);i=m+f&3;q=((i|0)==0?0:4-i|0)+f|0;c[l>>2]=n+q;c[h>>2]=o-q;if(!e)j=n;else{Fx(n|0,0,q|0)|0;j=n}}else j=0;while(0);return j|0}function ox(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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,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,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;g=i;i=i+16|0;h=g;j=c[a+4>>2]|0;a=j+56|0;k=(c[a>>2]&8|0)==0?d:0;d=j+40|0;l=c[d>>2]|0;if((l|0)>0&(k|0)!=0){m=sx(l<<2)|0;if(!m)n=12;else{o=m;p=3}}else{o=0;p=3}if((p|0)==3){if(!(c[j+60>>2]|0)){c[h>>2]=0;m=f&1;l=f&2;q=c[a>>2]&4;if(!o)r=0;else r=c[d>>2]|0;s=r<<2;t=c[j+52>>2]|0;u=t<<3;v=u+8|0;w=s+12+u+(v+(_(s,t)|0)<<1)|0;x=sx(w)|0;if(!x){y=12;z=0}else{Fx(x|0,0,w|0)|0;w=x+s|0;A=w&3;B=w+((A|0)==0?0:4-A|0)|0;A=B+v|0;w=A&3;C=A+((w|0)==0?0:4-w|0)|0;w=C+v|0;v=w&3;A=w+((v|0)==0?0:4-v|0)|0;v=A+u|0;u=v&3;if((t|0)>0){w=0;D=v+((u|0)==0?0:4-u|0)|0;while(1){c[C+(w<<3)+4>>2]=D;u=D+s|0;c[B+(w<<3)+4>>2]=u;w=w+1|0;if((w|0)==(t|0)){E=0;break}else D=u+s|0}do{c[A+(E<<3)>>2]=-1;E=E+1|0}while((E|0)!=(t|0))}t=zw(h,b,4)|0;if((t|0)<1)if((t|0)<0){F=0;G=1}else{H=1;p=201}else{H=t;p=201}a:do if((p|0)==201){t=j+8|0;E=(q|0)!=0;D=(r|0)>0;w=j+12|0;u=j+44|0;v=j+32|0;I=j+36|0;J=(r|0)==0;K=(m|0)==0;L=(r|0)<1;M=-1;N=0;O=0;P=H;Q=0;R=C;S=B;T=B;U=b+H|0;V=x;while(1){if((M|0)<0){W=c[t>>2]|0;X=W+8|0;b:do if(!(c[X>>2]|0)){Y=M;Z=N;$=T}else{aa=(O|0)!=0;ba=(Q|0)==95;ca=(O|0)==0;da=E&(Q|0)==10;ea=K&(O|0)<1;fa=X;ga=M;ha=N;ia=T;ja=W;while(1){ka=fa;la=ja;c:while(1){ma=la+12|0;if((c[A+(c[ma>>2]<<3)>>2]|0)>=(O|0)){na=ga;oa=ha;pa=ia;qa=la;break}ra=la+20|0;sa=c[ra>>2]|0;if(!sa){ta=ka;ua=ma;va=la;p=236;break}d:do if(da|(ea|(sa&1|0)==0)){if(sa&2|0?(wa=c[h>>2]|0,!((wa|l|0)==0|E&(wa|0)==10)):0)break;do if(sa&16|0){if(ba)break d;if(Ov(Q)|0)break d;wa=c[h>>2]|0;if((wa|0)==95)break;if(!(Ov(wa)|0))break d}while(0);wa=c[ra>>2]|0;if(!(wa&32))xa=wa;else{if(ba){wa=c[h>>2]|0;if((wa|0)==95)break;else ya=wa}else{wa=(Ov(Q)|0)==0;za=c[h>>2]|0;if(wa|(za|0)==95)break;else ya=za}if(Ov(ya)|0)break;xa=c[ra>>2]|0}za=c[h>>2]|0;do if((za|0)!=0&(aa&(xa&64|0)!=0)){if(ba){Aa=za;Ba=1}else{wa=(Ov(Q)|0)!=0;Aa=c[h>>2]|0;Ba=wa}if((Aa|0)==95)if(Ba)break d;else break;else if(Ba^(Ov(Aa)|0)!=0)break;else break d}while(0);if(!(c[ra>>2]&128)){ta=ka;ua=ma;va=la;p=236;break c}za=c[h>>2]|0;if(ca|(za|0)==0)break;if(ba){Ca=za;Da=1}else{za=(Ov(Q)|0)!=0;Ca=c[h>>2]|0;Da=za}if((Ca|0)==95)if(Da){ta=ka;ua=ma;va=la;p=236;break c}else break;else if(Da^(Ov(Ca)|0)!=0)break;else{ta=ka;ua=ma;va=la;p=236;break c}}while(0);ka=la+40|0;if(!(c[ka>>2]|0)){Y=ga;Z=ha;$=ia;break b}else la=la+32|0}if((p|0)==236){p=0;c[ia>>2]=c[ta>>2];if(D)Fx(c[ia+4>>2]|0,-1,s|0)|0;la=c[va+16>>2]|0;do if(la|0){ka=c[la>>2]|0;if((ka|0)<=-1)break;ma=ia+4|0;ra=ka;ka=la;do{if((ra|0)<(r|0))c[(c[ma>>2]|0)+(ra<<2)>>2]=O;ka=ka+4|0;ra=c[ka>>2]|0}while((ra|0)>-1)}while(0);la=(c[ia>>2]|0)!=(c[w>>2]|0);if(L|la){Ea=ia+4|0;Fa=la?ga:O;Ga=la?ha:1}else{la=ia+4|0;ra=c[la>>2]|0;ka=0;do{c[o+(ka<<2)>>2]=c[ra+(ka<<2)>>2];ka=ka+1|0}while((ka|0)!=(r|0));Ea=la;Fa=O;Ga=1}la=c[ua>>2]|0;c[A+(la<<3)>>2]=O;c[A+(la<<3)+4>>2]=Ea;na=Fa;oa=Ga;pa=ia+8|0;qa=va}fa=qa+40|0;if(!(c[fa>>2]|0)){Y=na;Z=oa;$=pa;break}else{ga=na;ha=oa;ia=pa;ja=qa+32|0}}}while(0);c[$>>2]=0;W=c[h>>2]|0;if(!W){Ha=Y;break}else{Ia=W;Ja=Y;Ka=Z}}else{if(J){Ha=M;break}W=c[h>>2]|0;if((T|0)!=(S|0)&(W|0)!=0){Ia=W;Ja=M;Ka=N}else{Ha=M;break}}W=O+P|0;X=zw(h,U,4)|0;if((X|0)<1)if((X|0)<0){F=0;G=1;break a}else La=1;else La=X;X=U+La|0;if((Ka|0)!=0&(c[u>>2]|0)!=0){if(!(c[S>>2]|0))Ma=R;else{ja=c[I>>2]|0;ia=c[ja>>2]|0;ha=(ia|0)>-1;ga=S;fa=R;while(1){ba=ga+4|0;e:do if(ha){ca=ja;aa=ia;ea=0;while(1){da=c[ca+((ea|1)<<2)>>2]|0;if((aa|0)>=(r|0)){Na=fa;break e}la=c[ba>>2]|0;if((c[la+(da<<2)>>2]|0)==(c[o+(da<<2)>>2]|0)?(c[la+(aa<<2)>>2]|0)<(c[o+(aa<<2)>>2]|0):0){Na=fa;break e}ea=ea+2|0;ca=c[I>>2]|0;aa=c[ca+(ea<<2)>>2]|0;if((aa|0)<=-1){Oa=la;break}}Pa=ba;Qa=Oa;p=265}else{Pa=ba;Qa=c[ba>>2]|0;p=265}while(0);if((p|0)==265){p=0;c[fa>>2]=c[ga>>2];ba=fa+4|0;aa=c[ba>>2]|0;c[ba>>2]=Qa;c[Pa>>2]=aa;Na=fa+8|0}ga=ga+8|0;if(!(c[ga>>2]|0)){Ma=Na;break}else fa=Na}}c[Ma>>2]=0;Ra=0;Sa=R;Ta=S}else{Ra=Ka;Sa=S;Ta=R}fa=c[Sa>>2]|0;if(!fa){Ua=Ja;Va=Ra;Wa=Ta;Xa=V}else{ga=(W|0)!=0;ia=(Ia|0)==95;ja=(W|0)==0;ha=E&(Ia|0)==10;aa=K&(W|0)<1;ba=fa;fa=Ja;ea=Ra;ca=Sa;la=Ta;da=V;while(1){ka=ba+8|0;if(!(c[ka>>2]|0)){Ya=fa;Za=ea;_a=la;$a=da}else{ra=ca+4|0;ma=da;sa=ka;ka=fa;za=ea;wa=la;ab=ba;while(1){f:do if((c[ab>>2]|0)>>>0>Ia>>>0){bb=ka;cb=za;db=wa;eb=ma}else{if((c[ab+4>>2]|0)>>>0<Ia>>>0){bb=ka;cb=za;db=wa;eb=ma;break}fb=ab+20|0;gb=c[fb>>2]|0;do if(gb|0){if(!(ha|(aa|(gb&1|0)==0))){bb=ka;cb=za;db=wa;eb=ma;break f}if(gb&2|0?(hb=c[h>>2]|0,!((hb|l|0)==0|E&(hb|0)==10)):0){bb=ka;cb=za;db=wa;eb=ma;break f}do if(gb&16|0){if(ia){bb=ka;cb=za;db=wa;eb=ma;break f}if(Ov(Ia)|0){bb=ka;cb=za;db=wa;eb=ma;break f}hb=c[h>>2]|0;if((hb|0)==95)break;if(!(Ov(hb)|0)){bb=ka;cb=za;db=wa;eb=ma;break f}}while(0);hb=c[fb>>2]|0;if(!(hb&32))ib=hb;else{if(ia){hb=c[h>>2]|0;if((hb|0)==95){bb=ka;cb=za;db=wa;eb=ma;break f}else jb=hb}else{hb=(Ov(Ia)|0)==0;kb=c[h>>2]|0;if(hb|(kb|0)==95){bb=ka;cb=za;db=wa;eb=ma;break f}else jb=kb}if(Ov(jb)|0){bb=ka;cb=za;db=wa;eb=ma;break f}ib=c[fb>>2]|0}kb=c[h>>2]|0;do if((kb|0)!=0&(ga&(ib&64|0)!=0)){if(ia){lb=kb;mb=1}else{hb=(Ov(Ia)|0)!=0;lb=c[h>>2]|0;mb=hb}if((lb|0)==95)if(mb){bb=ka;cb=za;db=wa;eb=ma;break f}else break;else if(mb^(Ov(lb)|0)!=0)break;else{bb=ka;cb=za;db=wa;eb=ma;break f}}while(0);do if(c[fb>>2]&128|0){kb=c[h>>2]|0;if(ja|(kb|0)==0){bb=ka;cb=za;db=wa;eb=ma;break f}if(ia){nb=kb;ob=1}else{kb=(Ov(Ia)|0)!=0;nb=c[h>>2]|0;ob=kb}if((nb|0)==95)if(ob)break;else{bb=ka;cb=za;db=wa;eb=ma;break f}else if(ob^(Ov(nb)|0)!=0){bb=ka;cb=za;db=wa;eb=ma;break f}else break}while(0);kb=c[fb>>2]|0;do if(!(kb&4))pb=kb;else{if(c[a>>2]&2|0){pb=kb;break}if(!(Nv(Ia,c[ab+24>>2]|0)|0)){bb=ka;cb=za;db=wa;eb=ma;break f}pb=c[fb>>2]|0}while(0);do if(pb&4|0){if(!(c[a>>2]&2))break;kb=mv(Ia)|0;hb=ab+24|0;if(Nv(kb,c[hb>>2]|0)|0)break;kb=jv(Ia)|0;if(!(Nv(kb,c[hb>>2]|0)|0)){bb=ka;cb=za;db=wa;eb=ma;break f}}while(0);if(!(c[fb>>2]&8))break;if(rx(c[ab+28>>2]|0,Ia,c[a>>2]&2)|0){bb=ka;cb=za;db=wa;eb=ma;break f}}while(0);if(D){fb=c[ra>>2]|0;gb=0;do{c[ma+(gb<<2)>>2]=c[fb+(gb<<2)>>2];gb=gb+1|0}while((gb|0)!=(r|0))}gb=c[ab+16>>2]|0;do if(gb|0){fb=c[gb>>2]|0;if((fb|0)>-1){qb=fb;rb=gb}else break;do{if((qb|0)<(r|0))c[ma+(qb<<2)>>2]=W;rb=rb+4|0;qb=c[rb>>2]|0}while((qb|0)>-1)}while(0);gb=c[ab+12>>2]|0;fb=A+(gb<<3)|0;if((c[fb>>2]|0)>=(W|0)){hb=c[A+(gb<<3)+4>>2]|0;kb=c[hb>>2]|0;if(!(px(r,c[v>>2]|0,ma,kb)|0)){bb=ka;cb=za;db=wa;eb=ma;break}c[hb>>2]=ma;if((c[sa>>2]|0)!=(c[w>>2]|0)){bb=ka;cb=za;db=wa;eb=kb;break}if(D)sb=0;else{bb=W;cb=1;db=wa;eb=kb;break}while(1){c[o+(sb<<2)>>2]=c[ma+(sb<<2)>>2];sb=sb+1|0;if((sb|0)==(r|0)){bb=W;cb=1;db=wa;eb=kb;break f}}}kb=c[sa>>2]|0;c[wa>>2]=kb;hb=wa+4|0;tb=c[hb>>2]|0;c[hb>>2]=ma;c[fb>>2]=W;c[A+(gb<<3)+4>>2]=hb;do if((kb|0)==(c[w>>2]|0)){if((ka|0)==-1){if(!D){ub=W;vb=1;break}}else{if(!D){ub=ka;vb=za;break}if((c[ma>>2]|0)>(c[o>>2]|0)){ub=ka;vb=za;break}}wb=c[hb>>2]|0;xb=0;do{c[o+(xb<<2)>>2]=c[wb+(xb<<2)>>2];xb=xb+1|0}while((xb|0)<(r|0));ub=W;vb=1}else{ub=ka;vb=za}while(0);bb=ub;cb=vb;db=wa+8|0;eb=tb}while(0);sa=ab+40|0;if(!(c[sa>>2]|0)){Ya=bb;Za=cb;_a=db;$a=eb;break}else{ma=eb;ka=bb;za=cb;wa=db;ab=ab+32|0}}}ca=ca+8|0;ba=c[ca>>2]|0;if(!ba){Ua=Ya;Va=Za;Wa=_a;Xa=$a;break}else{fa=Ya;ea=Za;la=_a;da=$a}}}c[Wa>>2]=0;M=Ua;N=Va;O=W;P=La;Q=Ia;R=Sa;S=Ta;T=Wa;U=X;V=Xa}F=Ha;G=Ha>>>31}while(0);tx(x);y=G;z=F}yb=z;zb=y}else{c[h>>2]=0;y=f&1;z=f&2;f=c[a>>2]&4;F=lx(0,0)|0;g:do if(F){G=nx(F,0,0,0,32)|0;if(!G){mx(F);Ab=12;Bb=0;break}c[G+24>>2]=0;c[G+28>>2]=0;x=c[d>>2]|0;if(x){Ha=sx(x<<2)|0;if(!Ha){Cb=0;Db=0;Eb=12;Fb=0;Gb=Ha}else{Hb=Ha;p=9}}else{Hb=0;p=9}h:do if((p|0)==9){Ha=c[j+28>>2]|0;if(Ha){Xa=sx(Ha<<3)|0;if(!Xa){Cb=0;Db=Xa;Eb=12;Fb=0;Gb=Hb;break}else Ib=Xa}else Ib=0;Xa=j+52|0;Ha=c[Xa>>2]|0;if(Ha){Wa=sx(Ha<<2)|0;if(!Wa){Cb=0;Db=Ib;Eb=12;Fb=Wa;Gb=Hb;break}else Jb=Wa}else Jb=0;Wa=j+8|0;Ha=j+12|0;Ta=(o|0)==0;Sa=(o|0)!=0;Ia=j+32|0;La=(f|0)!=0;Va=(Hb|0)==0;Ua=(Ib|0)==0;$a=(Jb|0)==0;_a=(y|0)==0;Za=x;Ya=-1;db=1;cb=-1;bb=G;eb=b;i:while(1){if((Za|0)>0){vb=Za;ub=0;while(1){c[Hb+(ub<<2)>>2]=-1;if(Ta)Kb=vb;else{c[o+(ub<<2)>>2]=-1;Kb=c[d>>2]|0}ub=ub+1|0;if((ub|0)>=(Kb|0))break;else vb=Kb}}vb=c[Xa>>2]|0;if((vb|0)>0)Fx(Jb|0,0,((vb|0)>1?vb:1)<<2|0)|0;vb=c[h>>2]|0;ub=db+cb|0;r=zw(h,eb,4)|0;if((r|0)<1)if((r|0)<0){Cb=0;Db=Ib;Eb=1;Fb=Jb;Gb=Hb;break h}else Lb=1;else Lb=r;r=eb+Lb|0;A=c[h>>2]|0;sb=c[Wa>>2]|0;qb=sb+8|0;if(c[qb>>2]|0){rb=(ub|0)!=0;pb=(vb|0)==95;nb=(ub|0)==0;ob=La&(vb|0)==10;lb=_a&(ub|0)<1;mb=qb;qb=0;ib=bb;jb=0;l=sb;while(1){sb=l+20|0;Ra=c[sb>>2]|0;j:do if(Ra){if(!(ob|(lb|(Ra&1|0)==0))){Mb=qb;Nb=ib;Ob=jb;break}if(Ra&2|0?(Ja=c[h>>2]|0,!((Ja|z|0)==0|La&(Ja|0)==10)):0){Mb=qb;Nb=ib;Ob=jb;break}do if(Ra&16|0){if(pb){Mb=qb;Nb=ib;Ob=jb;break j}if(Ov(vb)|0){Mb=qb;Nb=ib;Ob=jb;break j}Ja=c[h>>2]|0;if((Ja|0)==95)break;if(!(Ov(Ja)|0)){Mb=qb;Nb=ib;Ob=jb;break j}}while(0);tb=c[sb>>2]|0;if(!(tb&32))Pb=tb;else{if(pb){tb=c[h>>2]|0;if((tb|0)==95){Mb=qb;Nb=ib;Ob=jb;break}else Qb=tb}else{tb=(Ov(vb)|0)==0;Ja=c[h>>2]|0;if(tb|(Ja|0)==95){Mb=qb;Nb=ib;Ob=jb;break}else Qb=Ja}if(Ov(Qb)|0){Mb=qb;Nb=ib;Ob=jb;break}Pb=c[sb>>2]|0}Ja=c[h>>2]|0;do if((Ja|0)!=0&(rb&(Pb&64|0)!=0)){if(pb){Rb=Ja;Sb=1}else{tb=(Ov(vb)|0)!=0;Rb=c[h>>2]|0;Sb=tb}if((Rb|0)==95)if(Sb){Mb=qb;Nb=ib;Ob=jb;break j}else break;else if(Sb^(Ov(Rb)|0)!=0)break;else{Mb=qb;Nb=ib;Ob=jb;break j}}while(0);if(!(c[sb>>2]&128)){p=52;break}Ja=c[h>>2]|0;if(nb|(Ja|0)==0){Mb=qb;Nb=ib;Ob=jb;break}if(pb){Tb=Ja;Ub=1}else{Ja=(Ov(vb)|0)!=0;Tb=c[h>>2]|0;Ub=Ja}if((Tb|0)==95)if(Ub){p=52;break}else{Mb=qb;Nb=ib;Ob=jb;break}else if(Ub^(Ov(Tb)|0)!=0){Mb=qb;Nb=ib;Ob=jb;break}else{p=52;break}}else p=52;while(0);do if((p|0)==52){p=0;if(!jb){Mb=c[l+16>>2]|0;Nb=ib;Ob=c[mb>>2]|0;break}sb=ib+28|0;Ra=c[sb>>2]|0;if(!Ra){Ja=nx(F,0,0,0,32)|0;if(!Ja){p=56;break i}c[Ja+24>>2]=ib;c[Ja+28>>2]=0;tb=nx(F,0,0,0,c[d>>2]<<2)|0;c[Ja+20>>2]=tb;if(!tb){p=63;break i}c[sb>>2]=Ja;Vb=Ja}else Vb=Ra;c[Vb>>2]=ub;c[Vb+4>>2]=r;c[Vb+8>>2]=c[mb>>2];c[Vb+12>>2]=c[l+12>>2];c[Vb+16>>2]=c[h>>2];if((c[d>>2]|0)>0){Ra=c[Vb+20>>2]|0;Ja=0;do{c[Ra+(Ja<<2)>>2]=c[Hb+(Ja<<2)>>2];Ja=Ja+1|0}while((Ja|0)<(c[d>>2]|0))}Ja=c[l+16>>2]|0;if(!Ja){Mb=qb;Nb=Vb;Ob=jb;break}Ra=c[Ja>>2]|0;if((Ra|0)<=-1){Mb=qb;Nb=Vb;Ob=jb;break}sb=c[Vb+20>>2]|0;tb=Ra;Ra=Ja;do{Ra=Ra+4|0;c[sb+(tb<<2)>>2]=ub;tb=c[Ra>>2]|0}while((tb|0)>-1);Mb=qb;Nb=Vb;Ob=jb}while(0);mb=l+40|0;if(!(c[mb>>2]|0)){Wb=Mb;Xb=Nb;Yb=Ob;break}else{qb=Mb;ib=Nb;jb=Ob;l=l+32|0}}if(Wb){l=c[Wb>>2]|0;if((l|0)>-1){jb=l;l=Wb;while(1){c[Hb+(jb<<2)>>2]=ub;ib=l+4|0;jb=c[ib>>2]|0;if((jb|0)<=-1){Zb=ib;break}else l=ib}}else Zb=Wb}else Zb=0;if(!Yb){_b=Ya;$b=Zb;ac=ub;bc=Lb;cc=Xb;dc=0;ec=r;p=174}else{fc=Ya;gc=Zb;hc=ub;ic=Lb;jc=Xb;kc=Yb;lc=r;p=82}}else{_b=Ya;$b=0;ac=ub;bc=Lb;cc=bb;dc=0;ec=r;p=174}k:while(1){l:do if((p|0)==82){p=0;if((kc|0)==(c[Ha>>2]|0)){if((fc|0)>=(hc|0)){if(!(Sa&(fc|0)==(hc|0))){_b=fc;$b=gc;ac=hc;bc=ic;cc=jc;dc=kc;ec=lc;p=174;continue k}if(!(px(c[d>>2]|0,c[Ia>>2]|0,Hb,o)|0)){_b=fc;$b=gc;ac=fc;bc=ic;cc=jc;dc=kc;ec=lc;p=174;continue k}}if(Ta){_b=hc;$b=gc;ac=hc;bc=ic;cc=jc;dc=kc;ec=lc;p=174;continue k}if((c[d>>2]|0)>0)mc=0;else{_b=hc;$b=gc;ac=hc;bc=ic;cc=jc;dc=kc;ec=lc;p=174;continue k}while(1){c[o+(mc<<2)>>2]=c[Hb+(mc<<2)>>2];l=mc+1|0;if((l|0)<(c[d>>2]|0))mc=l;else{_b=hc;$b=gc;ac=hc;bc=ic;cc=jc;dc=kc;ec=lc;p=174;continue k}}}l=kc+8|0;do if(!(c[l>>2]|0))p=97;else{if(!(c[kc+20>>2]&256)){p=97;break}jb=c[kc+24>>2]|0;qx(jb+1|0,Ib,c[a>>2]&-9,j,Hb,hc);ib=c[Ib+(jb<<3)>>2]|0;qb=c[Ib+(jb<<3)+4>>2]|0;jb=qb-ib|0;if(iw(b+ib|0,lc+-1|0,jb)|0){_b=fc;$b=gc;ac=hc;bc=ic;cc=jc;dc=kc;ec=lc;p=174;continue k}mb=(qb|0)==(ib|0);ib=mb&1;qb=Jb+(c[kc+12>>2]<<2)|0;if(mb?c[qb>>2]|0:0){_b=fc;$b=gc;ac=hc;bc=ic;cc=jc;dc=kc;ec=lc;p=174;continue k}c[qb>>2]=ib;ib=jb+-1|0;jb=lc+ib|0;qb=c[h>>2]|0;mb=hc+ic+ib|0;ib=zw(h,jb,4)|0;if((ib|0)<1)if((ib|0)<0){nc=2;oc=fc;pc=gc;qc=mb;rc=ib;sc=jc;tc=kc;uc=jb;break l}else vc=1;else vc=ib;wc=mb;xc=vc;yc=qb;zc=jb+vc|0}while(0);if((p|0)==97){p=0;jb=c[h>>2]|0;if(!jb){_b=fc;$b=gc;ac=hc;bc=ic;cc=jc;dc=kc;ec=lc;p=174;continue k}qb=hc+ic|0;mb=zw(h,lc,4)|0;if((mb|0)<1){if((mb|0)<0){nc=2;oc=fc;pc=gc;qc=qb;rc=mb;sc=jc;tc=kc;uc=lc;break}Ac=mb+1|0}else Ac=mb;wc=qb;xc=Ac;yc=jb;zc=lc+Ac|0}if(!(c[l>>2]|0)){_b=fc;$b=gc;ac=wc;bc=xc;cc=jc;dc=kc;ec=zc;p=174;continue k}jb=(wc|0)!=0;qb=(yc|0)==95;mb=(wc|0)==0;ib=La&(yc|0)==10;vb=_a&(wc|0)<1;pb=l;nb=0;rb=gc;lb=jc;ob=kc;m:while(1){n:do if((c[ob>>2]|0)>>>0>yc>>>0){Bc=nb;Cc=rb;Dc=lb}else{if((c[ob+4>>2]|0)>>>0<yc>>>0){Bc=nb;Cc=rb;Dc=lb;break}tb=ob+20|0;Ra=c[tb>>2]|0;do if(Ra|0){if(!(ib|(vb|(Ra&1|0)==0))){Bc=nb;Cc=rb;Dc=lb;break n}if(Ra&2|0?(sb=c[h>>2]|0,!((sb|z|0)==0|La&(sb|0)==10)):0){Bc=nb;Cc=rb;Dc=lb;break n}do if(Ra&16|0){if(qb){Bc=nb;Cc=rb;Dc=lb;break n}if(Ov(yc)|0){Bc=nb;Cc=rb;Dc=lb;break n}sb=c[h>>2]|0;if((sb|0)==95)break;if(!(Ov(sb)|0)){Bc=nb;Cc=rb;Dc=lb;break n}}while(0);sb=c[tb>>2]|0;if(!(sb&32))Ec=sb;else{if(qb){sb=c[h>>2]|0;if((sb|0)==95){Bc=nb;Cc=rb;Dc=lb;break n}else Fc=sb}else{sb=(Ov(yc)|0)==0;Ja=c[h>>2]|0;if(sb|(Ja|0)==95){Bc=nb;Cc=rb;Dc=lb;break n}else Fc=Ja}if(Ov(Fc)|0){Bc=nb;Cc=rb;Dc=lb;break n}Ec=c[tb>>2]|0}Ja=c[h>>2]|0;do if((Ja|0)!=0&(jb&(Ec&64|0)!=0)){if(qb){Gc=Ja;Hc=1}else{sb=(Ov(yc)|0)!=0;Gc=c[h>>2]|0;Hc=sb}if((Gc|0)==95)if(Hc){Bc=nb;Cc=rb;Dc=lb;break n}else break;else if(Hc^(Ov(Gc)|0)!=0)break;else{Bc=nb;Cc=rb;Dc=lb;break n}}while(0);do if(c[tb>>2]&128|0){Ja=c[h>>2]|0;if(mb|(Ja|0)==0){Bc=nb;Cc=rb;Dc=lb;break n}if(qb){Ic=Ja;Jc=1}else{Ja=(Ov(yc)|0)!=0;Ic=c[h>>2]|0;Jc=Ja}if((Ic|0)==95)if(Jc)break;else{Bc=nb;Cc=rb;Dc=lb;break n}else if(Jc^(Ov(Ic)|0)!=0){Bc=nb;Cc=rb;Dc=lb;break n}else break}while(0);Ja=c[tb>>2]|0;do if(!(Ja&4))Kc=Ja;else{if(c[a>>2]&2|0){Kc=Ja;break}if(!(Nv(yc,c[ob+24>>2]|0)|0)){Bc=nb;Cc=rb;Dc=lb;break n}Kc=c[tb>>2]|0}while(0);do if(Kc&4|0){if(!(c[a>>2]&2))break;Ja=mv(yc)|0;sb=ob+24|0;if(Nv(Ja,c[sb>>2]|0)|0)break;Ja=jv(yc)|0;if(!(Nv(Ja,c[sb>>2]|0)|0)){Bc=nb;Cc=rb;Dc=lb;break n}}while(0);if(!(c[tb>>2]&8))break;if(rx(c[ob+28>>2]|0,yc,c[a>>2]&2)|0){Bc=nb;Cc=rb;Dc=lb;break n}}while(0);if(!nb){Bc=c[pb>>2]|0;Cc=c[ob+16>>2]|0;Dc=lb;break}tb=lb+28|0;Ra=c[tb>>2]|0;if(!Ra){sb=nx(F,0,0,0,32)|0;if(!sb){Lc=rb;Mc=lb;p=148;break m}c[sb+24>>2]=lb;c[sb+28>>2]=0;Ja=nx(F,0,0,0,c[d>>2]<<2)|0;c[sb+20>>2]=Ja;if(!Ja){Nc=rb;Oc=lb;p=155;break m}c[tb>>2]=sb;Pc=sb}else Pc=Ra;c[Pc>>2]=wc;c[Pc+4>>2]=zc;c[Pc+8>>2]=c[pb>>2];c[Pc+12>>2]=c[ob+12>>2];c[Pc+16>>2]=c[h>>2];if((c[d>>2]|0)>0){Ra=c[Pc+20>>2]|0;sb=0;do{c[Ra+(sb<<2)>>2]=c[Hb+(sb<<2)>>2];sb=sb+1|0}while((sb|0)<(c[d>>2]|0))}sb=c[ob+16>>2]|0;if(!sb){Bc=nb;Cc=rb;Dc=Pc;break}Ra=c[sb>>2]|0;if((Ra|0)<=-1){Bc=nb;Cc=rb;Dc=Pc;break}tb=c[Pc+20>>2]|0;Ja=Ra;Ra=sb;do{c[tb+(Ja<<2)>>2]=wc;Ra=Ra+4|0;Ja=c[Ra>>2]|0}while((Ja|0)>-1);Bc=nb;Cc=rb;Dc=Pc}while(0);pb=ob+40|0;if(!(c[pb>>2]|0)){Qc=Bc;Rc=Cc;Sc=Dc;p=170;break}else{nb=Bc;rb=Cc;lb=Dc;ob=ob+32|0}}if((p|0)==148){p=0;mx(F);if(!Va)tx(Hb);if(!Ua)tx(Ib);if($a){nc=1;oc=fc;pc=Lc;qc=wc;rc=xc;sc=Mc;tc=kc;uc=zc;break}tx(Jb);nc=1;oc=fc;pc=Lc;qc=wc;rc=xc;sc=Mc;tc=kc;uc=zc;break}else if((p|0)==155){p=0;mx(F);if(!Va)tx(Hb);if(!Ua)tx(Ib);if($a){nc=1;oc=fc;pc=Nc;qc=wc;rc=xc;sc=Oc;tc=kc;uc=zc;break}tx(Jb);nc=1;oc=fc;pc=Nc;qc=wc;rc=xc;sc=Oc;tc=kc;uc=zc;break}else if((p|0)==170){p=0;if(!Qc){_b=fc;$b=Rc;ac=wc;bc=xc;cc=Sc;dc=kc;ec=zc;p=174;continue k}if(!Rc){nc=0;oc=fc;pc=0;qc=wc;rc=xc;sc=Sc;tc=Qc;uc=zc;break}ob=c[Rc>>2]|0;if((ob|0)>-1){Tc=ob;Uc=Rc}else{nc=0;oc=fc;pc=Rc;qc=wc;rc=xc;sc=Sc;tc=Qc;uc=zc;break}while(1){ob=Uc+4|0;c[Hb+(Tc<<2)>>2]=wc;Tc=c[ob>>2]|0;if((Tc|0)<=-1){nc=0;oc=fc;pc=ob;qc=wc;rc=xc;sc=Sc;tc=Qc;uc=zc;break}else Uc=ob}}}else if((p|0)==174){p=0;ob=c[cc+24>>2]|0;if(!ob){if((_b|0)>-1|(c[h>>2]|0)==0){nc=27;oc=_b;pc=$b;qc=ac;rc=bc;sc=cc;tc=dc;uc=ec;break}c[h>>2]=A;nc=3;oc=_b;pc=$b;qc=ac;rc=bc;sc=cc;tc=dc;uc=r;break}lb=c[cc+8>>2]|0;if(c[lb+20>>2]&256|0)c[Jb+(c[cc+12>>2]<<2)>>2]=0;rb=c[cc>>2]|0;nb=c[cc+4>>2]|0;c[h>>2]=c[cc+16>>2];pb=c[d>>2]|0;if((pb|0)<=0){nc=0;oc=_b;pc=$b;qc=rb;rc=bc;sc=ob;tc=lb;uc=nb;break}qb=c[cc+20>>2]|0;mb=0;do{c[Hb+(mb<<2)>>2]=c[qb+(mb<<2)>>2];mb=mb+1|0}while((mb|0)!=(pb|0));nc=0;oc=_b;pc=$b;qc=rb;rc=bc;sc=ob;tc=lb;uc=nb}while(0);switch(nc|0){case 2:{Cb=0;Db=Ib;Eb=1;Fb=Jb;Gb=Hb;break h;break}case 27:{Vc=oc;p=184;break i;break}case 0:{fc=oc;gc=pc;hc=qc;ic=rc;jc=sc;kc=tc;lc=uc;p=82;break}case 3:{break k;break}default:{Ab=12;Bb=0;break g}}}Za=c[d>>2]|0;Ya=oc;db=rc;cb=ub;bb=sc;eb=uc}if((p|0)==56){mx(F);if(!Va)tx(Hb);if(!Ua)tx(Ib);if($a){Ab=12;Bb=0;break g}tx(Jb);Ab=12;Bb=0;break g}else if((p|0)==63){mx(F);if(!Va)tx(Hb);if(!Ua)tx(Ib);if($a){Ab=12;Bb=0;break g}tx(Jb);Ab=12;Bb=0;break g}else if((p|0)==184){Cb=Vc;Db=Ib;Eb=Vc>>>31;Fb=Jb;Gb=Hb;break}}while(0);mx(F);if(Gb|0)tx(Gb);if(Db|0)tx(Db);if(!Fb){Ab=Eb;Bb=Cb}else{tx(Fb);Ab=Eb;Bb=Cb}}else{Ab=12;Bb=0}while(0);yb=Bb;zb=Ab}if(!zb)qx(k,e,c[a>>2]|0,j,o,yb);if(!o)n=zb;else{tx(o);n=zb}}i=g;return n|0}function px(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;a:do if((a|0)>0){f=0;while(1){g=c[d+(f<<2)>>2]|0;h=c[e+(f<<2)>>2]|0;if(!(c[b+(f<<2)>>2]|0)){if((g|0)<(h|0)){i=1;break a}if((g|0)>(h|0)){i=0;break a}}else{if((g|0)>(h|0)){i=1;break a}if((g|0)<(h|0)){i=0;break a}}f=f+1|0;if((f|0)>=(a|0)){i=0;break}}}else i=0;while(0);return i|0}function qx(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((d&8|0)==0&(g|0)>-1){d=c[e+16>>2]|0;h=e+28|0;i=c[h>>2]|0;j=(a|0)!=0;if(j&(i|0)!=0){k=e+48|0;e=0;do{l=c[d+(e*12|0)>>2]|0;if((l|0)==(c[k>>2]|0))m=g;else m=c[f+(l<<2)>>2]|0;l=b+(e<<3)|0;c[l>>2]=m;n=c[d+(e*12|0)+4>>2]|0;if((n|0)==(c[k>>2]|0))o=g;else o=c[f+(n<<2)>>2]|0;n=b+(e<<3)+4|0;c[n>>2]=o;if((m|0)==-1|(o|0)==-1){c[n>>2]=-1;c[l>>2]=-1}e=e+1|0;l=c[h>>2]|0}while(e>>>0<a>>>0&e>>>0<l>>>0);p=l}else p=i;if(j&(p|0)!=0){j=0;while(1){i=b+(j<<3)+4|0;e=c[d+(j*12|0)+8>>2]|0;if(e|0?(h=c[e>>2]|0,(h|0)>-1):0){o=b+(j<<3)|0;m=h;h=c[o>>2]|0;f=0;while(1){if((h|0)>=(c[b+(m<<3)>>2]|0)?(c[i>>2]|0)<=(c[b+(m<<3)+4>>2]|0):0)q=h;else{c[i>>2]=-1;c[o>>2]=-1;q=-1}f=f+1|0;m=c[e+(f<<2)>>2]|0;if((m|0)<=-1)break;else h=q}}h=j+1|0;if(h>>>0<a>>>0&h>>>0<p>>>0)j=h;else{r=h;break}}}else r=0}else r=0;if(r>>>0<a>>>0){j=r;do{c[b+(j<<3)>>2]=-1;c[b+(j<<3)+4>>2]=-1;j=j+1|0}while((j|0)!=(a|0))}return}function rx(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;e=c[a>>2]|0;a:do if(!e)f=0;else{g=(d|0)==0;h=a;i=e;while(1){if(g){if(Nv(b,i)|0){f=1;break a}}else{j=jv(b)|0;if(Nv(j,c[h>>2]|0)|0){f=1;break a}j=mv(b)|0;if(Nv(j,c[h>>2]|0)|0){f=1;break a}}h=h+4|0;i=c[h>>2]|0;if(!i){f=0;break}}}while(0);return f|0}function sx(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,Ma=0,Na=0,Oa=0;do if(a>>>0<245){b=a>>>0<11?16:a+11&-8;d=b>>>3;e=c[17791]|0;f=e>>>d;if(f&3|0){g=(f&1^1)+d|0;h=71204+(g<<1<<2)|0;i=h+8|0;j=c[i>>2]|0;k=j+8|0;l=c[k>>2]|0;do if((h|0)!=(l|0)){if(l>>>0<(c[17795]|0)>>>0)gb();m=l+12|0;if((c[m>>2]|0)==(j|0)){c[m>>2]=h;c[i>>2]=l;break}else gb()}else c[17791]=e&~(1<<g);while(0);l=g<<3;c[j+4>>2]=l|3;i=j+l+4|0;c[i>>2]=c[i>>2]|1;n=k;return n|0}i=c[17793]|0;if(b>>>0>i>>>0){if(f|0){l=2<<d;h=f<<d&(l|0-l);l=(h&0-h)+-1|0;h=l>>>12&16;m=l>>>h;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|h|m|o|p)+(q>>>p)|0;p=71204+(r<<1<<2)|0;q=p+8|0;o=c[q>>2]|0;m=o+8|0;h=c[m>>2]|0;do if((p|0)!=(h|0)){if(h>>>0<(c[17795]|0)>>>0)gb();l=h+12|0;if((c[l>>2]|0)==(o|0)){c[l>>2]=p;c[q>>2]=h;s=c[17793]|0;break}else gb()}else{c[17791]=e&~(1<<r);s=i}while(0);i=(r<<3)-b|0;c[o+4>>2]=b|3;e=o+b|0;c[e+4>>2]=i|1;c[e+i>>2]=i;if(s|0){h=c[17796]|0;q=s>>>3;p=71204+(q<<1<<2)|0;d=c[17791]|0;f=1<<q;if(d&f){q=p+8|0;k=c[q>>2]|0;if(k>>>0<(c[17795]|0)>>>0)gb();else{t=q;u=k}}else{c[17791]=d|f;t=p+8|0;u=p}c[t>>2]=h;c[u+12>>2]=h;c[h+8>>2]=u;c[h+12>>2]=p}c[17793]=i;c[17796]=e;n=m;return n|0}e=c[17792]|0;if(e){i=(e&0-e)+-1|0;e=i>>>12&16;p=i>>>e;i=p>>>5&8;h=p>>>i;p=h>>>2&4;f=h>>>p;h=f>>>1&2;d=f>>>h;f=d>>>1&1;k=c[71468+((i|e|p|h|f)+(d>>>f)<<2)>>2]|0;f=(c[k+4>>2]&-8)-b|0;d=k;h=k;while(1){k=c[d+16>>2]|0;if(!k){p=c[d+20>>2]|0;if(!p){v=f;w=h;break}else x=p}else x=k;k=(c[x+4>>2]&-8)-b|0;p=k>>>0<f>>>0;f=p?k:f;d=x;h=p?x:h}h=c[17795]|0;if(w>>>0<h>>>0)gb();d=w+b|0;if(w>>>0>=d>>>0)gb();f=c[w+24>>2]|0;m=c[w+12>>2]|0;do if((m|0)==(w|0)){o=w+20|0;r=c[o>>2]|0;if(!r){p=w+16|0;k=c[p>>2]|0;if(!k){y=0;break}else{z=k;A=p}}else{z=r;A=o}while(1){o=z+20|0;r=c[o>>2]|0;if(r|0){z=r;A=o;continue}o=z+16|0;r=c[o>>2]|0;if(!r){B=z;C=A;break}else{z=r;A=o}}if(C>>>0<h>>>0)gb();else{c[C>>2]=0;y=B;break}}else{o=c[w+8>>2]|0;if(o>>>0<h>>>0)gb();r=o+12|0;if((c[r>>2]|0)!=(w|0))gb();p=m+8|0;if((c[p>>2]|0)==(w|0)){c[r>>2]=m;c[p>>2]=o;y=m;break}else gb()}while(0);do if(f|0){m=c[w+28>>2]|0;h=71468+(m<<2)|0;if((w|0)==(c[h>>2]|0)){c[h>>2]=y;if(!y){c[17792]=c[17792]&~(1<<m);break}}else{if(f>>>0<(c[17795]|0)>>>0)gb();m=f+16|0;if((c[m>>2]|0)==(w|0))c[m>>2]=y;else c[f+20>>2]=y;if(!y)break}m=c[17795]|0;if(y>>>0<m>>>0)gb();c[y+24>>2]=f;h=c[w+16>>2]|0;do if(h|0)if(h>>>0<m>>>0)gb();else{c[y+16>>2]=h;c[h+24>>2]=y;break}while(0);h=c[w+20>>2]|0;if(h|0)if(h>>>0<(c[17795]|0)>>>0)gb();else{c[y+20>>2]=h;c[h+24>>2]=y;break}}while(0);if(v>>>0<16){f=v+b|0;c[w+4>>2]=f|3;h=w+f+4|0;c[h>>2]=c[h>>2]|1}else{c[w+4>>2]=b|3;c[d+4>>2]=v|1;c[d+v>>2]=v;h=c[17793]|0;if(h|0){f=c[17796]|0;m=h>>>3;h=71204+(m<<1<<2)|0;o=c[17791]|0;p=1<<m;if(o&p){m=h+8|0;r=c[m>>2]|0;if(r>>>0<(c[17795]|0)>>>0)gb();else{D=m;E=r}}else{c[17791]=o|p;D=h+8|0;E=h}c[D>>2]=f;c[E+12>>2]=f;c[f+8>>2]=E;c[f+12>>2]=h}c[17793]=v;c[17796]=d}n=w+8|0;return n|0}else F=b}else F=b}else if(a>>>0<=4294967231){h=a+11|0;f=h&-8;p=c[17792]|0;if(p){o=0-f|0;r=h>>>8;if(r)if(f>>>0>16777215)G=31;else{h=(r+1048320|0)>>>16&8;m=r<<h;r=(m+520192|0)>>>16&4;k=m<<r;m=(k+245760|0)>>>16&2;e=14-(r|h|m)+(k<<m>>>15)|0;G=f>>>(e+7|0)&1|e<<1}else G=0;e=c[71468+(G<<2)>>2]|0;a:do if(!e){H=o;I=0;J=0;K=86}else{m=o;k=0;h=f<<((G|0)==31?0:25-(G>>>1)|0);r=e;i=0;while(1){q=c[r+4>>2]&-8;j=q-f|0;if(j>>>0<m>>>0)if((q|0)==(f|0)){L=j;M=r;N=r;K=90;break a}else{O=j;P=r}else{O=m;P=i}j=c[r+20>>2]|0;r=c[r+16+(h>>>31<<2)>>2]|0;q=(j|0)==0|(j|0)==(r|0)?k:j;j=(r|0)==0;if(j){H=O;I=q;J=P;K=86;break}else{m=O;k=q;h=h<<(j&1^1);i=P}}}while(0);if((K|0)==86){if((I|0)==0&(J|0)==0){e=2<<G;o=p&(e|0-e);if(!o){F=f;break}e=(o&0-o)+-1|0;o=e>>>12&16;b=e>>>o;e=b>>>5&8;d=b>>>e;b=d>>>2&4;i=d>>>b;d=i>>>1&2;h=i>>>d;i=h>>>1&1;Q=c[71468+((e|o|b|d|i)+(h>>>i)<<2)>>2]|0}else Q=I;if(!Q){R=H;S=J}else{L=H;M=Q;N=J;K=90}}if((K|0)==90)while(1){K=0;i=(c[M+4>>2]&-8)-f|0;h=i>>>0<L>>>0;d=h?i:L;i=h?M:N;h=c[M+16>>2]|0;if(h|0){L=d;M=h;N=i;K=90;continue}M=c[M+20>>2]|0;if(!M){R=d;S=i;break}else{L=d;N=i;K=90}}if((S|0)!=0?R>>>0<((c[17793]|0)-f|0)>>>0:0){p=c[17795]|0;if(S>>>0<p>>>0)gb();i=S+f|0;if(S>>>0>=i>>>0)gb();d=c[S+24>>2]|0;h=c[S+12>>2]|0;do if((h|0)==(S|0)){b=S+20|0;o=c[b>>2]|0;if(!o){e=S+16|0;k=c[e>>2]|0;if(!k){T=0;break}else{U=k;V=e}}else{U=o;V=b}while(1){b=U+20|0;o=c[b>>2]|0;if(o|0){U=o;V=b;continue}b=U+16|0;o=c[b>>2]|0;if(!o){W=U;X=V;break}else{U=o;V=b}}if(X>>>0<p>>>0)gb();else{c[X>>2]=0;T=W;break}}else{b=c[S+8>>2]|0;if(b>>>0<p>>>0)gb();o=b+12|0;if((c[o>>2]|0)!=(S|0))gb();e=h+8|0;if((c[e>>2]|0)==(S|0)){c[o>>2]=h;c[e>>2]=b;T=h;break}else gb()}while(0);do if(d|0){h=c[S+28>>2]|0;p=71468+(h<<2)|0;if((S|0)==(c[p>>2]|0)){c[p>>2]=T;if(!T){c[17792]=c[17792]&~(1<<h);break}}else{if(d>>>0<(c[17795]|0)>>>0)gb();h=d+16|0;if((c[h>>2]|0)==(S|0))c[h>>2]=T;else c[d+20>>2]=T;if(!T)break}h=c[17795]|0;if(T>>>0<h>>>0)gb();c[T+24>>2]=d;p=c[S+16>>2]|0;do if(p|0)if(p>>>0<h>>>0)gb();else{c[T+16>>2]=p;c[p+24>>2]=T;break}while(0);p=c[S+20>>2]|0;if(p|0)if(p>>>0<(c[17795]|0)>>>0)gb();else{c[T+20>>2]=p;c[p+24>>2]=T;break}}while(0);do if(R>>>0>=16){c[S+4>>2]=f|3;c[i+4>>2]=R|1;c[i+R>>2]=R;d=R>>>3;if(R>>>0<256){p=71204+(d<<1<<2)|0;h=c[17791]|0;b=1<<d;if(h&b){d=p+8|0;e=c[d>>2]|0;if(e>>>0<(c[17795]|0)>>>0)gb();else{Y=d;Z=e}}else{c[17791]=h|b;Y=p+8|0;Z=p}c[Y>>2]=i;c[Z+12>>2]=i;c[i+8>>2]=Z;c[i+12>>2]=p;break}p=R>>>8;if(p)if(R>>>0>16777215)_=31;else{b=(p+1048320|0)>>>16&8;h=p<<b;p=(h+520192|0)>>>16&4;e=h<<p;h=(e+245760|0)>>>16&2;d=14-(p|b|h)+(e<<h>>>15)|0;_=R>>>(d+7|0)&1|d<<1}else _=0;d=71468+(_<<2)|0;c[i+28>>2]=_;h=i+16|0;c[h+4>>2]=0;c[h>>2]=0;h=c[17792]|0;e=1<<_;if(!(h&e)){c[17792]=h|e;c[d>>2]=i;c[i+24>>2]=d;c[i+12>>2]=i;c[i+8>>2]=i;break}e=R<<((_|0)==31?0:25-(_>>>1)|0);h=c[d>>2]|0;while(1){if((c[h+4>>2]&-8|0)==(R|0)){$=h;K=148;break}d=h+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b){aa=d;ba=h;K=145;break}else{e=e<<1;h=b}}if((K|0)==145)if(aa>>>0<(c[17795]|0)>>>0)gb();else{c[aa>>2]=i;c[i+24>>2]=ba;c[i+12>>2]=i;c[i+8>>2]=i;break}else if((K|0)==148){h=$+8|0;e=c[h>>2]|0;b=c[17795]|0;if(e>>>0>=b>>>0&$>>>0>=b>>>0){c[e+12>>2]=i;c[h>>2]=i;c[i+8>>2]=e;c[i+12>>2]=$;c[i+24>>2]=0;break}else gb()}}else{e=R+f|0;c[S+4>>2]=e|3;h=S+e+4|0;c[h>>2]=c[h>>2]|1}while(0);n=S+8|0;return n|0}else F=f}else F=f}else F=-1;while(0);S=c[17793]|0;if(S>>>0>=F>>>0){R=S-F|0;$=c[17796]|0;if(R>>>0>15){ba=$+F|0;c[17796]=ba;c[17793]=R;c[ba+4>>2]=R|1;c[ba+R>>2]=R;c[$+4>>2]=F|3}else{c[17793]=0;c[17796]=0;c[$+4>>2]=S|3;R=$+S+4|0;c[R>>2]=c[R>>2]|1}n=$+8|0;return n|0}$=c[17794]|0;if($>>>0>F>>>0){R=$-F|0;c[17794]=R;$=c[17797]|0;S=$+F|0;c[17797]=S;c[S+4>>2]=R|1;c[$+4>>2]=F|3;n=$+8|0;return n|0}do if(!(c[17909]|0)){$=La(30)|0;if(!($+-1&$)){c[17911]=$;c[17910]=$;c[17912]=-1;c[17913]=-1;c[17914]=0;c[17902]=0;c[17909]=(jb(0)|0)&-16^1431655768;break}else gb()}while(0);$=F+48|0;R=c[17911]|0;S=F+47|0;ba=R+S|0;aa=0-R|0;R=ba&aa;if(R>>>0<=F>>>0){n=0;return n|0}_=c[17901]|0;if(_|0?(Z=c[17899]|0,Y=Z+R|0,Y>>>0<=Z>>>0|Y>>>0>_>>>0):0){n=0;return n|0}b:do if(!(c[17902]&4)){_=c[17797]|0;c:do if(_){Y=71612;while(1){Z=c[Y>>2]|0;if(Z>>>0<=_>>>0?(T=Y+4|0,(Z+(c[T>>2]|0)|0)>>>0>_>>>0):0){ca=Y;da=T;break}Y=c[Y+8>>2]|0;if(!Y){K=173;break c}}Y=ba-(c[17794]|0)&aa;if(Y>>>0<2147483647){T=Ea(Y|0)|0;if((T|0)==((c[ca>>2]|0)+(c[da>>2]|0)|0)){if((T|0)!=(-1|0)){ea=T;fa=Y;K=193;break b}}else{ga=T;ha=Y;K=183}}}else K=173;while(0);do if((K|0)==173?(_=Ea(0)|0,(_|0)!=(-1|0)):0){f=_;Y=c[17910]|0;T=Y+-1|0;if(!(T&f))ia=R;else ia=R-f+(T+f&0-Y)|0;Y=c[17899]|0;f=Y+ia|0;if(ia>>>0>F>>>0&ia>>>0<2147483647){T=c[17901]|0;if(T|0?f>>>0<=Y>>>0|f>>>0>T>>>0:0)break;T=Ea(ia|0)|0;if((T|0)==(_|0)){ea=_;fa=ia;K=193;break b}else{ga=T;ha=ia;K=183}}}while(0);d:do if((K|0)==183){T=0-ha|0;do if($>>>0>ha>>>0&(ha>>>0<2147483647&(ga|0)!=(-1|0))?(_=c[17911]|0,f=S-ha+_&0-_,f>>>0<2147483647):0)if((Ea(f|0)|0)==(-1|0)){Ea(T|0)|0;break d}else{ja=f+ha|0;break}else ja=ha;while(0);if((ga|0)!=(-1|0)){ea=ga;fa=ja;K=193;break b}}while(0);c[17902]=c[17902]|4;K=190}else K=190;while(0);if((((K|0)==190?R>>>0<2147483647:0)?(ja=Ea(R|0)|0,R=Ea(0)|0,ja>>>0<R>>>0&((ja|0)!=(-1|0)&(R|0)!=(-1|0))):0)?(ga=R-ja|0,ga>>>0>(F+40|0)>>>0):0){ea=ja;fa=ga;K=193}if((K|0)==193){ga=(c[17899]|0)+fa|0;c[17899]=ga;if(ga>>>0>(c[17900]|0)>>>0)c[17900]=ga;ga=c[17797]|0;do if(ga){ja=71612;do{R=c[ja>>2]|0;ha=ja+4|0;S=c[ha>>2]|0;if((ea|0)==(R+S|0)){ka=R;la=ha;ma=S;na=ja;K=203;break}ja=c[ja+8>>2]|0}while((ja|0)!=0);if(((K|0)==203?(c[na+12>>2]&8|0)==0:0)?ga>>>0<ea>>>0&ga>>>0>=ka>>>0:0){c[la>>2]=ma+fa;ja=ga+8|0;S=(ja&7|0)==0?0:0-ja&7;ja=ga+S|0;ha=fa-S+(c[17794]|0)|0;c[17797]=ja;c[17794]=ha;c[ja+4>>2]=ha|1;c[ja+ha+4>>2]=40;c[17798]=c[17913];break}ha=c[17795]|0;if(ea>>>0<ha>>>0){c[17795]=ea;oa=ea}else oa=ha;ha=ea+fa|0;ja=71612;while(1){if((c[ja>>2]|0)==(ha|0)){pa=ja;qa=ja;K=211;break}ja=c[ja+8>>2]|0;if(!ja){ra=71612;break}}if((K|0)==211)if(!(c[qa+12>>2]&8)){c[pa>>2]=ea;ja=qa+4|0;c[ja>>2]=(c[ja>>2]|0)+fa;ja=ea+8|0;S=ea+((ja&7|0)==0?0:0-ja&7)|0;ja=ha+8|0;R=ha+((ja&7|0)==0?0:0-ja&7)|0;ja=S+F|0;$=R-S-F|0;c[S+4>>2]=F|3;do if((R|0)!=(ga|0)){if((R|0)==(c[17796]|0)){ia=(c[17793]|0)+$|0;c[17793]=ia;c[17796]=ja;c[ja+4>>2]=ia|1;c[ja+ia>>2]=ia;break}ia=c[R+4>>2]|0;if((ia&3|0)==1){da=ia&-8;ca=ia>>>3;e:do if(ia>>>0>=256){aa=c[R+24>>2]|0;ba=c[R+12>>2]|0;do if((ba|0)==(R|0)){T=R+16|0;f=T+4|0;_=c[f>>2]|0;if(!_){Y=c[T>>2]|0;if(!Y){sa=0;break}else{ta=Y;ua=T}}else{ta=_;ua=f}while(1){f=ta+20|0;_=c[f>>2]|0;if(_|0){ta=_;ua=f;continue}f=ta+16|0;_=c[f>>2]|0;if(!_){va=ta;wa=ua;break}else{ta=_;ua=f}}if(wa>>>0<oa>>>0)gb();else{c[wa>>2]=0;sa=va;break}}else{f=c[R+8>>2]|0;if(f>>>0<oa>>>0)gb();_=f+12|0;if((c[_>>2]|0)!=(R|0))gb();T=ba+8|0;if((c[T>>2]|0)==(R|0)){c[_>>2]=ba;c[T>>2]=f;sa=ba;break}else gb()}while(0);if(!aa)break;ba=c[R+28>>2]|0;f=71468+(ba<<2)|0;do if((R|0)!=(c[f>>2]|0)){if(aa>>>0<(c[17795]|0)>>>0)gb();T=aa+16|0;if((c[T>>2]|0)==(R|0))c[T>>2]=sa;else c[aa+20>>2]=sa;if(!sa)break e}else{c[f>>2]=sa;if(sa|0)break;c[17792]=c[17792]&~(1<<ba);break e}while(0);ba=c[17795]|0;if(sa>>>0<ba>>>0)gb();c[sa+24>>2]=aa;f=R+16|0;T=c[f>>2]|0;do if(T|0)if(T>>>0<ba>>>0)gb();else{c[sa+16>>2]=T;c[T+24>>2]=sa;break}while(0);T=c[f+4>>2]|0;if(!T)break;if(T>>>0<(c[17795]|0)>>>0)gb();else{c[sa+20>>2]=T;c[T+24>>2]=sa;break}}else{T=c[R+8>>2]|0;ba=c[R+12>>2]|0;aa=71204+(ca<<1<<2)|0;do if((T|0)!=(aa|0)){if(T>>>0<oa>>>0)gb();if((c[T+12>>2]|0)==(R|0))break;gb()}while(0);if((ba|0)==(T|0)){c[17791]=c[17791]&~(1<<ca);break}do if((ba|0)==(aa|0))xa=ba+8|0;else{if(ba>>>0<oa>>>0)gb();f=ba+8|0;if((c[f>>2]|0)==(R|0)){xa=f;break}gb()}while(0);c[T+12>>2]=ba;c[xa>>2]=T}while(0);ya=R+da|0;za=da+$|0}else{ya=R;za=$}ca=ya+4|0;c[ca>>2]=c[ca>>2]&-2;c[ja+4>>2]=za|1;c[ja+za>>2]=za;ca=za>>>3;if(za>>>0<256){ia=71204+(ca<<1<<2)|0;aa=c[17791]|0;f=1<<ca;do if(!(aa&f)){c[17791]=aa|f;Aa=ia+8|0;Ba=ia}else{ca=ia+8|0;_=c[ca>>2]|0;if(_>>>0>=(c[17795]|0)>>>0){Aa=ca;Ba=_;break}gb()}while(0);c[Aa>>2]=ja;c[Ba+12>>2]=ja;c[ja+8>>2]=Ba;c[ja+12>>2]=ia;break}f=za>>>8;do if(!f)Ca=0;else{if(za>>>0>16777215){Ca=31;break}aa=(f+1048320|0)>>>16&8;da=f<<aa;_=(da+520192|0)>>>16&4;ca=da<<_;da=(ca+245760|0)>>>16&2;Y=14-(_|aa|da)+(ca<<da>>>15)|0;Ca=za>>>(Y+7|0)&1|Y<<1}while(0);f=71468+(Ca<<2)|0;c[ja+28>>2]=Ca;ia=ja+16|0;c[ia+4>>2]=0;c[ia>>2]=0;ia=c[17792]|0;Y=1<<Ca;if(!(ia&Y)){c[17792]=ia|Y;c[f>>2]=ja;c[ja+24>>2]=f;c[ja+12>>2]=ja;c[ja+8>>2]=ja;break}Y=za<<((Ca|0)==31?0:25-(Ca>>>1)|0);ia=c[f>>2]|0;while(1){if((c[ia+4>>2]&-8|0)==(za|0)){Da=ia;K=281;break}f=ia+16+(Y>>>31<<2)|0;da=c[f>>2]|0;if(!da){Fa=f;Ga=ia;K=278;break}else{Y=Y<<1;ia=da}}if((K|0)==278)if(Fa>>>0<(c[17795]|0)>>>0)gb();else{c[Fa>>2]=ja;c[ja+24>>2]=Ga;c[ja+12>>2]=ja;c[ja+8>>2]=ja;break}else if((K|0)==281){ia=Da+8|0;Y=c[ia>>2]|0;da=c[17795]|0;if(Y>>>0>=da>>>0&Da>>>0>=da>>>0){c[Y+12>>2]=ja;c[ia>>2]=ja;c[ja+8>>2]=Y;c[ja+12>>2]=Da;c[ja+24>>2]=0;break}else gb()}}else{Y=(c[17794]|0)+$|0;c[17794]=Y;c[17797]=ja;c[ja+4>>2]=Y|1}while(0);n=S+8|0;return n|0}else ra=71612;while(1){ja=c[ra>>2]|0;if(ja>>>0<=ga>>>0?($=ja+(c[ra+4>>2]|0)|0,$>>>0>ga>>>0):0){Ha=$;break}ra=c[ra+8>>2]|0}S=Ha+-47|0;$=S+8|0;ja=S+(($&7|0)==0?0:0-$&7)|0;$=ga+16|0;S=ja>>>0<$>>>0?ga:ja;ja=S+8|0;R=ea+8|0;ha=(R&7|0)==0?0:0-R&7;R=ea+ha|0;Y=fa+-40-ha|0;c[17797]=R;c[17794]=Y;c[R+4>>2]=Y|1;c[R+Y+4>>2]=40;c[17798]=c[17913];Y=S+4|0;c[Y>>2]=27;c[ja>>2]=c[17903];c[ja+4>>2]=c[17904];c[ja+8>>2]=c[17905];c[ja+12>>2]=c[17906];c[17903]=ea;c[17904]=fa;c[17906]=0;c[17905]=ja;ja=S+24|0;do{ja=ja+4|0;c[ja>>2]=7}while((ja+4|0)>>>0<Ha>>>0);if((S|0)!=(ga|0)){ja=S-ga|0;c[Y>>2]=c[Y>>2]&-2;c[ga+4>>2]=ja|1;c[S>>2]=ja;R=ja>>>3;if(ja>>>0<256){ha=71204+(R<<1<<2)|0;ia=c[17791]|0;da=1<<R;if(ia&da){R=ha+8|0;f=c[R>>2]|0;if(f>>>0<(c[17795]|0)>>>0)gb();else{Ia=R;Ja=f}}else{c[17791]=ia|da;Ia=ha+8|0;Ja=ha}c[Ia>>2]=ga;c[Ja+12>>2]=ga;c[ga+8>>2]=Ja;c[ga+12>>2]=ha;break}ha=ja>>>8;if(ha)if(ja>>>0>16777215)Ka=31;else{da=(ha+1048320|0)>>>16&8;ia=ha<<da;ha=(ia+520192|0)>>>16&4;f=ia<<ha;ia=(f+245760|0)>>>16&2;R=14-(ha|da|ia)+(f<<ia>>>15)|0;Ka=ja>>>(R+7|0)&1|R<<1}else Ka=0;R=71468+(Ka<<2)|0;c[ga+28>>2]=Ka;c[ga+20>>2]=0;c[$>>2]=0;ia=c[17792]|0;f=1<<Ka;if(!(ia&f)){c[17792]=ia|f;c[R>>2]=ga;c[ga+24>>2]=R;c[ga+12>>2]=ga;c[ga+8>>2]=ga;break}f=ja<<((Ka|0)==31?0:25-(Ka>>>1)|0);ia=c[R>>2]|0;while(1){if((c[ia+4>>2]&-8|0)==(ja|0)){Ma=ia;K=307;break}R=ia+16+(f>>>31<<2)|0;da=c[R>>2]|0;if(!da){Na=R;Oa=ia;K=304;break}else{f=f<<1;ia=da}}if((K|0)==304)if(Na>>>0<(c[17795]|0)>>>0)gb();else{c[Na>>2]=ga;c[ga+24>>2]=Oa;c[ga+12>>2]=ga;c[ga+8>>2]=ga;break}else if((K|0)==307){ia=Ma+8|0;f=c[ia>>2]|0;ja=c[17795]|0;if(f>>>0>=ja>>>0&Ma>>>0>=ja>>>0){c[f+12>>2]=ga;c[ia>>2]=ga;c[ga+8>>2]=f;c[ga+12>>2]=Ma;c[ga+24>>2]=0;break}else gb()}}}else{f=c[17795]|0;if((f|0)==0|ea>>>0<f>>>0)c[17795]=ea;c[17903]=ea;c[17904]=fa;c[17906]=0;c[17800]=c[17909];c[17799]=-1;f=0;do{ia=71204+(f<<1<<2)|0;c[ia+12>>2]=ia;c[ia+8>>2]=ia;f=f+1|0}while((f|0)!=32);f=ea+8|0;ia=(f&7|0)==0?0:0-f&7;f=ea+ia|0;ja=fa+-40-ia|0;c[17797]=f;c[17794]=ja;c[f+4>>2]=ja|1;c[f+ja+4>>2]=40;c[17798]=c[17913]}while(0);fa=c[17794]|0;if(fa>>>0>F>>>0){ea=fa-F|0;c[17794]=ea;fa=c[17797]|0;ga=fa+F|0;c[17797]=ga;c[ga+4>>2]=ea|1;c[fa+4>>2]=F|3;n=fa+8|0;return n|0}}c[(Yu()|0)>>2]=12;n=0;return n|0}function tx(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;if(!a)return;b=a+-8|0;d=c[17795]|0;if(b>>>0<d>>>0)gb();e=c[a+-4>>2]|0;a=e&3;if((a|0)==1)gb();f=e&-8;g=b+f|0;do if(!(e&1)){h=c[b>>2]|0;if(!a)return;i=b+(0-h)|0;j=h+f|0;if(i>>>0<d>>>0)gb();if((i|0)==(c[17796]|0)){k=g+4|0;l=c[k>>2]|0;if((l&3|0)!=3){m=i;n=j;break}c[17793]=j;c[k>>2]=l&-2;c[i+4>>2]=j|1;c[i+j>>2]=j;return}l=h>>>3;if(h>>>0<256){h=c[i+8>>2]|0;k=c[i+12>>2]|0;o=71204+(l<<1<<2)|0;if((h|0)!=(o|0)){if(h>>>0<d>>>0)gb();if((c[h+12>>2]|0)!=(i|0))gb()}if((k|0)==(h|0)){c[17791]=c[17791]&~(1<<l);m=i;n=j;break}if((k|0)!=(o|0)){if(k>>>0<d>>>0)gb();o=k+8|0;if((c[o>>2]|0)==(i|0))p=o;else gb()}else p=k+8|0;c[h+12>>2]=k;c[p>>2]=h;m=i;n=j;break}h=c[i+24>>2]|0;k=c[i+12>>2]|0;do if((k|0)==(i|0)){o=i+16|0;l=o+4|0;q=c[l>>2]|0;if(!q){r=c[o>>2]|0;if(!r){s=0;break}else{t=r;u=o}}else{t=q;u=l}while(1){l=t+20|0;q=c[l>>2]|0;if(q|0){t=q;u=l;continue}l=t+16|0;q=c[l>>2]|0;if(!q){v=t;w=u;break}else{t=q;u=l}}if(w>>>0<d>>>0)gb();else{c[w>>2]=0;s=v;break}}else{l=c[i+8>>2]|0;if(l>>>0<d>>>0)gb();q=l+12|0;if((c[q>>2]|0)!=(i|0))gb();o=k+8|0;if((c[o>>2]|0)==(i|0)){c[q>>2]=k;c[o>>2]=l;s=k;break}else gb()}while(0);if(h){k=c[i+28>>2]|0;l=71468+(k<<2)|0;if((i|0)==(c[l>>2]|0)){c[l>>2]=s;if(!s){c[17792]=c[17792]&~(1<<k);m=i;n=j;break}}else{if(h>>>0<(c[17795]|0)>>>0)gb();k=h+16|0;if((c[k>>2]|0)==(i|0))c[k>>2]=s;else c[h+20>>2]=s;if(!s){m=i;n=j;break}}k=c[17795]|0;if(s>>>0<k>>>0)gb();c[s+24>>2]=h;l=i+16|0;o=c[l>>2]|0;do if(o|0)if(o>>>0<k>>>0)gb();else{c[s+16>>2]=o;c[o+24>>2]=s;break}while(0);o=c[l+4>>2]|0;if(o)if(o>>>0<(c[17795]|0)>>>0)gb();else{c[s+20>>2]=o;c[o+24>>2]=s;m=i;n=j;break}else{m=i;n=j}}else{m=i;n=j}}else{m=b;n=f}while(0);if(m>>>0>=g>>>0)gb();f=g+4|0;b=c[f>>2]|0;if(!(b&1))gb();if(!(b&2)){if((g|0)==(c[17797]|0)){s=(c[17794]|0)+n|0;c[17794]=s;c[17797]=m;c[m+4>>2]=s|1;if((m|0)!=(c[17796]|0))return;c[17796]=0;c[17793]=0;return}if((g|0)==(c[17796]|0)){s=(c[17793]|0)+n|0;c[17793]=s;c[17796]=m;c[m+4>>2]=s|1;c[m+s>>2]=s;return}s=(b&-8)+n|0;d=b>>>3;do if(b>>>0>=256){v=c[g+24>>2]|0;w=c[g+12>>2]|0;do if((w|0)==(g|0)){u=g+16|0;t=u+4|0;p=c[t>>2]|0;if(!p){a=c[u>>2]|0;if(!a){x=0;break}else{y=a;z=u}}else{y=p;z=t}while(1){t=y+20|0;p=c[t>>2]|0;if(p|0){y=p;z=t;continue}t=y+16|0;p=c[t>>2]|0;if(!p){A=y;B=z;break}else{y=p;z=t}}if(B>>>0<(c[17795]|0)>>>0)gb();else{c[B>>2]=0;x=A;break}}else{t=c[g+8>>2]|0;if(t>>>0<(c[17795]|0)>>>0)gb();p=t+12|0;if((c[p>>2]|0)!=(g|0))gb();u=w+8|0;if((c[u>>2]|0)==(g|0)){c[p>>2]=w;c[u>>2]=t;x=w;break}else gb()}while(0);if(v|0){w=c[g+28>>2]|0;j=71468+(w<<2)|0;if((g|0)==(c[j>>2]|0)){c[j>>2]=x;if(!x){c[17792]=c[17792]&~(1<<w);break}}else{if(v>>>0<(c[17795]|0)>>>0)gb();w=v+16|0;if((c[w>>2]|0)==(g|0))c[w>>2]=x;else c[v+20>>2]=x;if(!x)break}w=c[17795]|0;if(x>>>0<w>>>0)gb();c[x+24>>2]=v;j=g+16|0;i=c[j>>2]|0;do if(i|0)if(i>>>0<w>>>0)gb();else{c[x+16>>2]=i;c[i+24>>2]=x;break}while(0);i=c[j+4>>2]|0;if(i|0)if(i>>>0<(c[17795]|0)>>>0)gb();else{c[x+20>>2]=i;c[i+24>>2]=x;break}}}else{i=c[g+8>>2]|0;w=c[g+12>>2]|0;v=71204+(d<<1<<2)|0;if((i|0)!=(v|0)){if(i>>>0<(c[17795]|0)>>>0)gb();if((c[i+12>>2]|0)!=(g|0))gb()}if((w|0)==(i|0)){c[17791]=c[17791]&~(1<<d);break}if((w|0)!=(v|0)){if(w>>>0<(c[17795]|0)>>>0)gb();v=w+8|0;if((c[v>>2]|0)==(g|0))C=v;else gb()}else C=w+8|0;c[i+12>>2]=w;c[C>>2]=i}while(0);c[m+4>>2]=s|1;c[m+s>>2]=s;if((m|0)==(c[17796]|0)){c[17793]=s;return}else D=s}else{c[f>>2]=b&-2;c[m+4>>2]=n|1;c[m+n>>2]=n;D=n}n=D>>>3;if(D>>>0<256){b=71204+(n<<1<<2)|0;f=c[17791]|0;s=1<<n;if(f&s){n=b+8|0;C=c[n>>2]|0;if(C>>>0<(c[17795]|0)>>>0)gb();else{E=n;F=C}}else{c[17791]=f|s;E=b+8|0;F=b}c[E>>2]=m;c[F+12>>2]=m;c[m+8>>2]=F;c[m+12>>2]=b;return}b=D>>>8;if(b)if(D>>>0>16777215)G=31;else{F=(b+1048320|0)>>>16&8;E=b<<F;b=(E+520192|0)>>>16&4;s=E<<b;E=(s+245760|0)>>>16&2;f=14-(b|F|E)+(s<<E>>>15)|0;G=D>>>(f+7|0)&1|f<<1}else G=0;f=71468+(G<<2)|0;c[m+28>>2]=G;c[m+20>>2]=0;c[m+16>>2]=0;E=c[17792]|0;s=1<<G;do if(E&s){F=D<<((G|0)==31?0:25-(G>>>1)|0);b=c[f>>2]|0;while(1){if((c[b+4>>2]&-8|0)==(D|0)){H=b;I=130;break}C=b+16+(F>>>31<<2)|0;n=c[C>>2]|0;if(!n){J=C;K=b;I=127;break}else{F=F<<1;b=n}}if((I|0)==127)if(J>>>0<(c[17795]|0)>>>0)gb();else{c[J>>2]=m;c[m+24>>2]=K;c[m+12>>2]=m;c[m+8>>2]=m;break}else if((I|0)==130){b=H+8|0;F=c[b>>2]|0;j=c[17795]|0;if(F>>>0>=j>>>0&H>>>0>=j>>>0){c[F+12>>2]=m;c[b>>2]=m;c[m+8>>2]=F;c[m+12>>2]=H;c[m+24>>2]=0;break}else gb()}}else{c[17792]=E|s;c[f>>2]=m;c[m+24>>2]=f;c[m+12>>2]=m;c[m+8>>2]=m}while(0);m=(c[17799]|0)+-1|0;c[17799]=m;if(!m)L=71620;else return;while(1){m=c[L>>2]|0;if(!m)break;else L=m+8|0}c[17799]=-1;return}function ux(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=sx(e)|0;if(!d)return d|0;if(!(c[d+-4>>2]&3))return d|0;Fx(d|0,0,e|0)|0;return d|0}function vx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a){d=sx(b)|0;return d|0}if(b>>>0>4294967231){c[(Yu()|0)>>2]=12;d=0;return d|0}e=wx(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(e|0){d=e+8|0;return d|0}e=sx(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;Dx(e|0,a|0,(g>>>0<b>>>0?g:b)|0)|0;tx(a);d=e;return d|0}function wx(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;d=a+4|0;e=c[d>>2]|0;f=e&-8;g=a+f|0;h=c[17795]|0;i=e&3;if(!((i|0)!=1&a>>>0>=h>>>0&a>>>0<g>>>0))gb();j=c[g+4>>2]|0;if(!(j&1))gb();if(!i){if(b>>>0<256){k=0;return k|0}if(f>>>0>=(b+4|0)>>>0?(f-b|0)>>>0<=c[17911]<<1>>>0:0){k=a;return k|0}k=0;return k|0}if(f>>>0>=b>>>0){i=f-b|0;if(i>>>0<=15){k=a;return k|0}l=a+b|0;c[d>>2]=e&1|b|2;c[l+4>>2]=i|3;m=l+i+4|0;c[m>>2]=c[m>>2]|1;xx(l,i);k=a;return k|0}if((g|0)==(c[17797]|0)){i=(c[17794]|0)+f|0;if(i>>>0<=b>>>0){k=0;return k|0}l=i-b|0;i=a+b|0;c[d>>2]=e&1|b|2;c[i+4>>2]=l|1;c[17797]=i;c[17794]=l;k=a;return k|0}if((g|0)==(c[17796]|0)){l=(c[17793]|0)+f|0;if(l>>>0<b>>>0){k=0;return k|0}i=l-b|0;if(i>>>0>15){m=a+b|0;n=m+i|0;c[d>>2]=e&1|b|2;c[m+4>>2]=i|1;c[n>>2]=i;o=n+4|0;c[o>>2]=c[o>>2]&-2;p=m;q=i}else{c[d>>2]=e&1|l|2;i=a+l+4|0;c[i>>2]=c[i>>2]|1;p=0;q=0}c[17793]=q;c[17796]=p;k=a;return k|0}if(j&2|0){k=0;return k|0}p=(j&-8)+f|0;if(p>>>0<b>>>0){k=0;return k|0}f=p-b|0;q=j>>>3;do if(j>>>0>=256){i=c[g+24>>2]|0;l=c[g+12>>2]|0;do if((l|0)==(g|0)){m=g+16|0;o=m+4|0;n=c[o>>2]|0;if(!n){r=c[m>>2]|0;if(!r){s=0;break}else{t=r;u=m}}else{t=n;u=o}while(1){o=t+20|0;n=c[o>>2]|0;if(n|0){t=n;u=o;continue}o=t+16|0;n=c[o>>2]|0;if(!n){v=t;w=u;break}else{t=n;u=o}}if(w>>>0<h>>>0)gb();else{c[w>>2]=0;s=v;break}}else{o=c[g+8>>2]|0;if(o>>>0<h>>>0)gb();n=o+12|0;if((c[n>>2]|0)!=(g|0))gb();m=l+8|0;if((c[m>>2]|0)==(g|0)){c[n>>2]=l;c[m>>2]=o;s=l;break}else gb()}while(0);if(i|0){l=c[g+28>>2]|0;o=71468+(l<<2)|0;if((g|0)==(c[o>>2]|0)){c[o>>2]=s;if(!s){c[17792]=c[17792]&~(1<<l);break}}else{if(i>>>0<(c[17795]|0)>>>0)gb();l=i+16|0;if((c[l>>2]|0)==(g|0))c[l>>2]=s;else c[i+20>>2]=s;if(!s)break}l=c[17795]|0;if(s>>>0<l>>>0)gb();c[s+24>>2]=i;o=g+16|0;m=c[o>>2]|0;do if(m|0)if(m>>>0<l>>>0)gb();else{c[s+16>>2]=m;c[m+24>>2]=s;break}while(0);m=c[o+4>>2]|0;if(m|0)if(m>>>0<(c[17795]|0)>>>0)gb();else{c[s+20>>2]=m;c[m+24>>2]=s;break}}}else{m=c[g+8>>2]|0;l=c[g+12>>2]|0;i=71204+(q<<1<<2)|0;if((m|0)!=(i|0)){if(m>>>0<h>>>0)gb();if((c[m+12>>2]|0)!=(g|0))gb()}if((l|0)==(m|0)){c[17791]=c[17791]&~(1<<q);break}if((l|0)!=(i|0)){if(l>>>0<h>>>0)gb();i=l+8|0;if((c[i>>2]|0)==(g|0))x=i;else gb()}else x=l+8|0;c[m+12>>2]=l;c[x>>2]=m}while(0);if(f>>>0<16){c[d>>2]=p|e&1|2;x=a+p+4|0;c[x>>2]=c[x>>2]|1;k=a;return k|0}else{x=a+b|0;c[d>>2]=e&1|b|2;c[x+4>>2]=f|3;b=x+f+4|0;c[b>>2]=c[b>>2]|1;xx(x,f);k=a;return k|0}return 0}function xx(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[17795]|0;if(g>>>0<i>>>0)gb();if((g|0)==(c[17796]|0)){j=d+4|0;k=c[j>>2]|0;if((k&3|0)!=3){l=g;m=h;break}c[17793]=h;c[j>>2]=k&-2;c[g+4>>2]=h|1;c[g+h>>2]=h;return}k=f>>>3;if(f>>>0<256){f=c[g+8>>2]|0;j=c[g+12>>2]|0;n=71204+(k<<1<<2)|0;if((f|0)!=(n|0)){if(f>>>0<i>>>0)gb();if((c[f+12>>2]|0)!=(g|0))gb()}if((j|0)==(f|0)){c[17791]=c[17791]&~(1<<k);l=g;m=h;break}if((j|0)!=(n|0)){if(j>>>0<i>>>0)gb();n=j+8|0;if((c[n>>2]|0)==(g|0))o=n;else gb()}else o=j+8|0;c[f+12>>2]=j;c[o>>2]=f;l=g;m=h;break}f=c[g+24>>2]|0;j=c[g+12>>2]|0;do if((j|0)==(g|0)){n=g+16|0;k=n+4|0;p=c[k>>2]|0;if(!p){q=c[n>>2]|0;if(!q){r=0;break}else{s=q;t=n}}else{s=p;t=k}while(1){k=s+20|0;p=c[k>>2]|0;if(p|0){s=p;t=k;continue}k=s+16|0;p=c[k>>2]|0;if(!p){u=s;v=t;break}else{s=p;t=k}}if(v>>>0<i>>>0)gb();else{c[v>>2]=0;r=u;break}}else{k=c[g+8>>2]|0;if(k>>>0<i>>>0)gb();p=k+12|0;if((c[p>>2]|0)!=(g|0))gb();n=j+8|0;if((c[n>>2]|0)==(g|0)){c[p>>2]=j;c[n>>2]=k;r=j;break}else gb()}while(0);if(f){j=c[g+28>>2]|0;i=71468+(j<<2)|0;if((g|0)==(c[i>>2]|0)){c[i>>2]=r;if(!r){c[17792]=c[17792]&~(1<<j);l=g;m=h;break}}else{if(f>>>0<(c[17795]|0)>>>0)gb();j=f+16|0;if((c[j>>2]|0)==(g|0))c[j>>2]=r;else c[f+20>>2]=r;if(!r){l=g;m=h;break}}j=c[17795]|0;if(r>>>0<j>>>0)gb();c[r+24>>2]=f;i=g+16|0;k=c[i>>2]|0;do if(k|0)if(k>>>0<j>>>0)gb();else{c[r+16>>2]=k;c[k+24>>2]=r;break}while(0);k=c[i+4>>2]|0;if(k)if(k>>>0<(c[17795]|0)>>>0)gb();else{c[r+20>>2]=k;c[k+24>>2]=r;l=g;m=h;break}else{l=g;m=h}}else{l=g;m=h}}else{l=a;m=b}while(0);b=c[17795]|0;if(d>>>0<b>>>0)gb();a=d+4|0;r=c[a>>2]|0;if(!(r&2)){if((d|0)==(c[17797]|0)){u=(c[17794]|0)+m|0;c[17794]=u;c[17797]=l;c[l+4>>2]=u|1;if((l|0)!=(c[17796]|0))return;c[17796]=0;c[17793]=0;return}if((d|0)==(c[17796]|0)){u=(c[17793]|0)+m|0;c[17793]=u;c[17796]=l;c[l+4>>2]=u|1;c[l+u>>2]=u;return}u=(r&-8)+m|0;v=r>>>3;do if(r>>>0>=256){t=c[d+24>>2]|0;s=c[d+12>>2]|0;do if((s|0)==(d|0)){o=d+16|0;e=o+4|0;k=c[e>>2]|0;if(!k){j=c[o>>2]|0;if(!j){w=0;break}else{x=j;y=o}}else{x=k;y=e}while(1){e=x+20|0;k=c[e>>2]|0;if(k|0){x=k;y=e;continue}e=x+16|0;k=c[e>>2]|0;if(!k){z=x;A=y;break}else{x=k;y=e}}if(A>>>0<b>>>0)gb();else{c[A>>2]=0;w=z;break}}else{e=c[d+8>>2]|0;if(e>>>0<b>>>0)gb();k=e+12|0;if((c[k>>2]|0)!=(d|0))gb();o=s+8|0;if((c[o>>2]|0)==(d|0)){c[k>>2]=s;c[o>>2]=e;w=s;break}else gb()}while(0);if(t|0){s=c[d+28>>2]|0;h=71468+(s<<2)|0;if((d|0)==(c[h>>2]|0)){c[h>>2]=w;if(!w){c[17792]=c[17792]&~(1<<s);break}}else{if(t>>>0<(c[17795]|0)>>>0)gb();s=t+16|0;if((c[s>>2]|0)==(d|0))c[s>>2]=w;else c[t+20>>2]=w;if(!w)break}s=c[17795]|0;if(w>>>0<s>>>0)gb();c[w+24>>2]=t;h=d+16|0;g=c[h>>2]|0;do if(g|0)if(g>>>0<s>>>0)gb();else{c[w+16>>2]=g;c[g+24>>2]=w;break}while(0);g=c[h+4>>2]|0;if(g|0)if(g>>>0<(c[17795]|0)>>>0)gb();else{c[w+20>>2]=g;c[g+24>>2]=w;break}}}else{g=c[d+8>>2]|0;s=c[d+12>>2]|0;t=71204+(v<<1<<2)|0;if((g|0)!=(t|0)){if(g>>>0<b>>>0)gb();if((c[g+12>>2]|0)!=(d|0))gb()}if((s|0)==(g|0)){c[17791]=c[17791]&~(1<<v);break}if((s|0)!=(t|0)){if(s>>>0<b>>>0)gb();t=s+8|0;if((c[t>>2]|0)==(d|0))B=t;else gb()}else B=s+8|0;c[g+12>>2]=s;c[B>>2]=g}while(0);c[l+4>>2]=u|1;c[l+u>>2]=u;if((l|0)==(c[17796]|0)){c[17793]=u;return}else C=u}else{c[a>>2]=r&-2;c[l+4>>2]=m|1;c[l+m>>2]=m;C=m}m=C>>>3;if(C>>>0<256){r=71204+(m<<1<<2)|0;a=c[17791]|0;u=1<<m;if(a&u){m=r+8|0;B=c[m>>2]|0;if(B>>>0<(c[17795]|0)>>>0)gb();else{D=m;E=B}}else{c[17791]=a|u;D=r+8|0;E=r}c[D>>2]=l;c[E+12>>2]=l;c[l+8>>2]=E;c[l+12>>2]=r;return}r=C>>>8;if(r)if(C>>>0>16777215)F=31;else{E=(r+1048320|0)>>>16&8;D=r<<E;r=(D+520192|0)>>>16&4;u=D<<r;D=(u+245760|0)>>>16&2;a=14-(r|E|D)+(u<<D>>>15)|0;F=C>>>(a+7|0)&1|a<<1}else F=0;a=71468+(F<<2)|0;c[l+28>>2]=F;c[l+20>>2]=0;c[l+16>>2]=0;D=c[17792]|0;u=1<<F;if(!(D&u)){c[17792]=D|u;c[a>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;return}u=C<<((F|0)==31?0:25-(F>>>1)|0);F=c[a>>2]|0;while(1){if((c[F+4>>2]&-8|0)==(C|0)){G=F;H=127;break}a=F+16+(u>>>31<<2)|0;D=c[a>>2]|0;if(!D){I=a;J=F;H=124;break}else{u=u<<1;F=D}}if((H|0)==124){if(I>>>0<(c[17795]|0)>>>0)gb();c[I>>2]=l;c[l+24>>2]=J;c[l+12>>2]=l;c[l+8>>2]=l;return}else if((H|0)==127){H=G+8|0;J=c[H>>2]|0;I=c[17795]|0;if(!(J>>>0>=I>>>0&G>>>0>=I>>>0))gb();c[J+12>>2]=l;c[H>>2]=l;c[l+8>>2]=J;c[l+12>>2]=G;c[l+24>>2]=0;return}}function yx(){}function zx(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 (C=e,a-c>>>0|0)|0}function Ax(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (C=b+d+(e>>>0<a>>>0|0)>>>0,e|0)|0}function Bx(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function Cx(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Dx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Pa(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 Ex(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 Dx(b,c,d)|0;return b|0}function Fx(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 Gx(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 Hx(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Ix(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Jx(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 (C=(a>>>16)+(_(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function Kx(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=zx(e^a|0,f^b|0,e|0,f|0)|0;b=C;a=g^e;e=h^f;return zx((Px(i,b,zx(g^c|0,h^d|0,g|0,h|0)|0,C,0)|0)^a|0,C^e|0,a|0,e|0)|0}function Lx(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=zx(h^a|0,j^b|0,h|0,j|0)|0;b=C;Px(m,b,zx(k^d|0,l^e|0,k|0,l|0)|0,C,g)|0;l=zx(c[g>>2]^h|0,c[g+4>>2]^j|0,h|0,j|0)|0;j=C;i=f;return (C=j,l)|0}function Mx(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=Jx(e,a)|0;f=C;return (C=(_(b,a)|0)+(_(d,e)|0)+f|f&0,c|0|0)|0}function Nx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Px(a,b,c,d,0)|0}function Ox(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;Px(a,b,d,e,g)|0;i=f;return (C=c[g+4>>2]|0,c[g>>2]|0)|0}function Px(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,D=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 (C=n,o)|0}else{if(!m){n=0;o=0;return (C=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;o=0;return (C=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(aa(l|0)|0)-(aa(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 (C=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (C=n,o)|0}r=j-1|0;if(r&j|0){s=(aa(j|0)|0)+33-(aa(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|0){c[f>>2]=r&g;c[f+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (C=n,o)|0}else{r=Gx(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (C=n,o)|0}}else{if(m){if(f|0){c[f>>2]=(i>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (C=n,o)|0}if(!g){if(f|0){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (C=n,o)|0}r=l-1|0;if(!(r&l)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=r&i|b&0}n=0;o=i>>>((Gx(l|0)|0)>>>0);return (C=n,o)|0}r=(aa(l|0)|0)-(aa(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 (C=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (C=n,o)|0}while(0);if(!t){B=x;D=w;E=v;F=u;G=0;H=0}else{b=d|0|0;d=k|e&0;e=Ax(b|0,d|0,-1,-1)|0;k=C;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;zx(e|0,k|0,g|0,a|0)|0;i=C;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=zx(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&d|0)|0;w=C;u=u-1|0}while((u|0)!=0);B=h;D=x;E=w;F=v;G=0;H=t}t=D;D=0;if(f|0){c[f>>2]=F;c[f+4>>2]=E}n=(t|0)>>>31|(B|D)<<1|(D<<1|t>>>31)&0|G;o=(t<<1|0>>>31)&-2|H;return (C=n,o)|0}function Qx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return vb[a&63](b|0,c|0,d|0)|0}function Rx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wb[a&15](b|0,c|0,d|0,e|0,f|0)}function Sx(a,b){a=a|0;b=b|0;xb[a&15](b|0)}function Tx(a,b,c){a=a|0;b=b|0;c=c|0;yb[a&7](b|0,c|0)}function Ux(a,b){a=a|0;b=b|0;return zb[a&15](b|0)|0}function Vx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ab[a&7](b|0,c|0,d|0)}function Wx(a){a=a|0;Bb[a&3]()}function Xx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Cb[a&7](b|0,c|0,d|0,e|0)|0}function Yx(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;Db[a&1](b|0,c|0,d|0,e|0,f|0,g|0)}function Zx(a,b,c){a=a|0;b=b|0;c=c|0;return Eb[a&7](b|0,c|0)|0}function _x(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Fb[a&1](b|0,c|0,d|0,e|0)}function $x(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function ay(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(1)}function by(a){a=a|0;ba(2)}function cy(a,b){a=a|0;b=b|0;ba(3)}function dy(a){a=a|0;ba(4);return 0}function ey(a,b,c){a=a|0;b=b|0;c=c|0;ba(5)}function fy(){ba(6)}function gy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(7);return 0}function hy(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(8)}function iy(a,b){a=a|0;b=b|0;ba(9);return 0}function jy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(10)} +function jn(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;g=i;i=i+64|0;h=g;j=g+36|0;k=g+32|0;l=g+28|0;m=g+24|0;n=g+20|0;o=g+16|0;p=g+12|0;q=g+8|0;r=g+4|0;s=g+56|0;t=g+55|0;u=g+54|0;v=g+53|0;w=g+52|0;x=g+51|0;y=g+50|0;z=g+49|0;A=g+48|0;B=g+47|0;C=g+46|0;D=g+45|0;E=g+44|0;F=g+43|0;G=g+42|0;H=g+41|0;I=g+40|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;a[s>>0]=0;a[t>>0]=0;a[u>>0]=0;a[v>>0]=0;a[w>>0]=0;a[x>>0]=0;a[y>>0]=0;a[z>>0]=0;a[A>>0]=0;a[B>>0]=0;a[C>>0]=0;a[D>>0]=0;a[E>>0]=0;a[F>>0]=0;a[G>>0]=0;a[H>>0]=0;if(((c[m>>2]|0)-16|16|0)!=16){c[j>>2]=44;J=c[j>>2]|0;i=g;return J|0}if((c[17704]|0)==0?(c[17704]=1,c[17705]=kn()|0,c[17705]|0):0){c[h>>2]=c[17705];Af(43706,h)}if(c[17705]|0){c[j>>2]=50;J=c[j>>2]|0;i=g;return J|0}if(a[c[l>>2]>>0]|0){a[I>>0]=a[43710+((d[c[l>>2]>>0]|0)-1)>>0]|0;a[s>>0]=d[s>>0]^d[43965+((d[I>>0]|0)+0)>>0];a[t>>0]=d[t>>0]^d[43965+((d[I>>0]|0)+45)>>0];a[u>>0]=d[u>>0]^d[43965+((d[I>>0]|0)+1)>>0];a[v>>0]=d[v>>0]^d[43965+((d[I>>0]|0)+45)>>0]}if(a[(c[l>>2]|0)+1>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+1>>0]|0)-1)>>0]|0;a[s>>0]=d[s>>0]^d[43965+((d[I>>0]|0)+45)>>0];a[t>>0]=d[t>>0]^d[43965+((d[I>>0]|0)+164)>>0];a[u>>0]=d[u>>0]^d[43965+((d[I>>0]|0)+68)>>0];a[v>>0]=d[v>>0]^d[43965+((d[I>>0]|0)+138)>>0]}if(a[(c[l>>2]|0)+2>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+2>>0]|0)-1)>>0]|0;a[s>>0]=d[s>>0]^d[43965+((d[I>>0]|0)+138)>>0];a[t>>0]=d[t>>0]^d[43965+((d[I>>0]|0)+213)>>0];a[u>>0]=d[u>>0]^d[43965+((d[I>>0]|0)+191)>>0];a[v>>0]=d[v>>0]^d[43965+((d[I>>0]|0)+209)>>0]}if(a[(c[l>>2]|0)+3>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+3>>0]|0)-1)>>0]|0;a[s>>0]=d[s>>0]^d[43965+((d[I>>0]|0)+209)>>0];a[t>>0]=d[t>>0]^d[43965+((d[I>>0]|0)+127)>>0];a[u>>0]=d[u>>0]^d[43965+((d[I>>0]|0)+61)>>0];a[v>>0]=d[v>>0]^d[43965+((d[I>>0]|0)+153)>>0]}if(a[(c[l>>2]|0)+4>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+4>>0]|0)-1)>>0]|0;a[s>>0]=d[s>>0]^d[43965+((d[I>>0]|0)+153)>>0];a[t>>0]=d[t>>0]^d[43965+((d[I>>0]|0)+70)>>0];a[u>>0]=d[u>>0]^d[43965+((d[I>>0]|0)+102)>>0];a[v>>0]=d[v>>0]^d[43965+((d[I>>0]|0)+150)>>0]}if(a[(c[l>>2]|0)+5>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+5>>0]|0)-1)>>0]|0;a[s>>0]=d[s>>0]^d[43965+((d[I>>0]|0)+150)>>0];a[t>>0]=d[t>>0]^d[43965+((d[I>>0]|0)+60)>>0];a[u>>0]=d[u>>0]^d[43965+((d[I>>0]|0)+91)>>0];a[v>>0]=d[v>>0]^d[43965+((d[I>>0]|0)+237)>>0]}if(a[(c[l>>2]|0)+6>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+6>>0]|0)-1)>>0]|0;a[s>>0]=d[s>>0]^d[43965+((d[I>>0]|0)+237)>>0];a[t>>0]=d[t>>0]^d[43965+((d[I>>0]|0)+55)>>0];a[u>>0]=d[u>>0]^d[43965+((d[I>>0]|0)+79)>>0];a[v>>0]=d[v>>0]^d[43965+((d[I>>0]|0)+224)>>0]}if(a[(c[l>>2]|0)+7>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+7>>0]|0)-1)>>0]|0;a[s>>0]=d[s>>0]^d[43965+((d[I>>0]|0)+224)>>0];a[t>>0]=d[t>>0]^d[43965+((d[I>>0]|0)+208)>>0];a[u>>0]=d[u>>0]^d[43965+((d[I>>0]|0)+140)>>0];a[v>>0]=d[v>>0]^d[43965+((d[I>>0]|0)+23)>>0]}if(a[(c[l>>2]|0)+8>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+8>>0]|0)-1)>>0]|0;a[w>>0]=d[w>>0]^d[43965+((d[I>>0]|0)+0)>>0];a[x>>0]=d[x>>0]^d[43965+((d[I>>0]|0)+45)>>0];a[y>>0]=d[y>>0]^d[43965+((d[I>>0]|0)+1)>>0];a[z>>0]=d[z>>0]^d[43965+((d[I>>0]|0)+45)>>0]}if(a[(c[l>>2]|0)+9>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+9>>0]|0)-1)>>0]|0;a[w>>0]=d[w>>0]^d[43965+((d[I>>0]|0)+45)>>0];a[x>>0]=d[x>>0]^d[43965+((d[I>>0]|0)+164)>>0];a[y>>0]=d[y>>0]^d[43965+((d[I>>0]|0)+68)>>0];a[z>>0]=d[z>>0]^d[43965+((d[I>>0]|0)+138)>>0]}if(a[(c[l>>2]|0)+10>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+10>>0]|0)-1)>>0]|0;a[w>>0]=d[w>>0]^d[43965+((d[I>>0]|0)+138)>>0];a[x>>0]=d[x>>0]^d[43965+((d[I>>0]|0)+213)>>0];a[y>>0]=d[y>>0]^d[43965+((d[I>>0]|0)+191)>>0];a[z>>0]=d[z>>0]^d[43965+((d[I>>0]|0)+209)>>0]}if(a[(c[l>>2]|0)+11>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+11>>0]|0)-1)>>0]|0;a[w>>0]=d[w>>0]^d[43965+((d[I>>0]|0)+209)>>0];a[x>>0]=d[x>>0]^d[43965+((d[I>>0]|0)+127)>>0];a[y>>0]=d[y>>0]^d[43965+((d[I>>0]|0)+61)>>0];a[z>>0]=d[z>>0]^d[43965+((d[I>>0]|0)+153)>>0]}if(a[(c[l>>2]|0)+12>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+12>>0]|0)-1)>>0]|0;a[w>>0]=d[w>>0]^d[43965+((d[I>>0]|0)+153)>>0];a[x>>0]=d[x>>0]^d[43965+((d[I>>0]|0)+70)>>0];a[y>>0]=d[y>>0]^d[43965+((d[I>>0]|0)+102)>>0];a[z>>0]=d[z>>0]^d[43965+((d[I>>0]|0)+150)>>0]}if(a[(c[l>>2]|0)+13>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+13>>0]|0)-1)>>0]|0;a[w>>0]=d[w>>0]^d[43965+((d[I>>0]|0)+150)>>0];a[x>>0]=d[x>>0]^d[43965+((d[I>>0]|0)+60)>>0];a[y>>0]=d[y>>0]^d[43965+((d[I>>0]|0)+91)>>0];a[z>>0]=d[z>>0]^d[43965+((d[I>>0]|0)+237)>>0]}if(a[(c[l>>2]|0)+14>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+14>>0]|0)-1)>>0]|0;a[w>>0]=d[w>>0]^d[43965+((d[I>>0]|0)+237)>>0];a[x>>0]=d[x>>0]^d[43965+((d[I>>0]|0)+55)>>0];a[y>>0]=d[y>>0]^d[43965+((d[I>>0]|0)+79)>>0];a[z>>0]=d[z>>0]^d[43965+((d[I>>0]|0)+224)>>0]}if(a[(c[l>>2]|0)+15>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+15>>0]|0)-1)>>0]|0;a[w>>0]=d[w>>0]^d[43965+((d[I>>0]|0)+224)>>0];a[x>>0]=d[x>>0]^d[43965+((d[I>>0]|0)+208)>>0];a[y>>0]=d[y>>0]^d[43965+((d[I>>0]|0)+140)>>0];a[z>>0]=d[z>>0]^d[43965+((d[I>>0]|0)+23)>>0]}if((c[m>>2]|0)==32){if(a[(c[l>>2]|0)+16>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+16>>0]|0)-1)>>0]|0;a[A>>0]=d[A>>0]^d[43965+((d[I>>0]|0)+0)>>0];a[B>>0]=d[B>>0]^d[43965+((d[I>>0]|0)+45)>>0];a[C>>0]=d[C>>0]^d[43965+((d[I>>0]|0)+1)>>0];a[D>>0]=d[D>>0]^d[43965+((d[I>>0]|0)+45)>>0]}if(a[(c[l>>2]|0)+17>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+17>>0]|0)-1)>>0]|0;a[A>>0]=d[A>>0]^d[43965+((d[I>>0]|0)+45)>>0];a[B>>0]=d[B>>0]^d[43965+((d[I>>0]|0)+164)>>0];a[C>>0]=d[C>>0]^d[43965+((d[I>>0]|0)+68)>>0];a[D>>0]=d[D>>0]^d[43965+((d[I>>0]|0)+138)>>0]}if(a[(c[l>>2]|0)+18>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+18>>0]|0)-1)>>0]|0;a[A>>0]=d[A>>0]^d[43965+((d[I>>0]|0)+138)>>0];a[B>>0]=d[B>>0]^d[43965+((d[I>>0]|0)+213)>>0];a[C>>0]=d[C>>0]^d[43965+((d[I>>0]|0)+191)>>0];a[D>>0]=d[D>>0]^d[43965+((d[I>>0]|0)+209)>>0]}if(a[(c[l>>2]|0)+19>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+19>>0]|0)-1)>>0]|0;a[A>>0]=d[A>>0]^d[43965+((d[I>>0]|0)+209)>>0];a[B>>0]=d[B>>0]^d[43965+((d[I>>0]|0)+127)>>0];a[C>>0]=d[C>>0]^d[43965+((d[I>>0]|0)+61)>>0];a[D>>0]=d[D>>0]^d[43965+((d[I>>0]|0)+153)>>0]}if(a[(c[l>>2]|0)+20>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+20>>0]|0)-1)>>0]|0;a[A>>0]=d[A>>0]^d[43965+((d[I>>0]|0)+153)>>0];a[B>>0]=d[B>>0]^d[43965+((d[I>>0]|0)+70)>>0];a[C>>0]=d[C>>0]^d[43965+((d[I>>0]|0)+102)>>0];a[D>>0]=d[D>>0]^d[43965+((d[I>>0]|0)+150)>>0]}if(a[(c[l>>2]|0)+21>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+21>>0]|0)-1)>>0]|0;a[A>>0]=d[A>>0]^d[43965+((d[I>>0]|0)+150)>>0];a[B>>0]=d[B>>0]^d[43965+((d[I>>0]|0)+60)>>0];a[C>>0]=d[C>>0]^d[43965+((d[I>>0]|0)+91)>>0];a[D>>0]=d[D>>0]^d[43965+((d[I>>0]|0)+237)>>0]}if(a[(c[l>>2]|0)+22>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+22>>0]|0)-1)>>0]|0;a[A>>0]=d[A>>0]^d[43965+((d[I>>0]|0)+237)>>0];a[B>>0]=d[B>>0]^d[43965+((d[I>>0]|0)+55)>>0];a[C>>0]=d[C>>0]^d[43965+((d[I>>0]|0)+79)>>0];a[D>>0]=d[D>>0]^d[43965+((d[I>>0]|0)+224)>>0]}if(a[(c[l>>2]|0)+23>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+23>>0]|0)-1)>>0]|0;a[A>>0]=d[A>>0]^d[43965+((d[I>>0]|0)+224)>>0];a[B>>0]=d[B>>0]^d[43965+((d[I>>0]|0)+208)>>0];a[C>>0]=d[C>>0]^d[43965+((d[I>>0]|0)+140)>>0];a[D>>0]=d[D>>0]^d[43965+((d[I>>0]|0)+23)>>0]}if(a[(c[l>>2]|0)+24>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+24>>0]|0)-1)>>0]|0;a[E>>0]=d[E>>0]^d[43965+((d[I>>0]|0)+0)>>0];a[F>>0]=d[F>>0]^d[43965+((d[I>>0]|0)+45)>>0];a[G>>0]=d[G>>0]^d[43965+((d[I>>0]|0)+1)>>0];a[H>>0]=d[H>>0]^d[43965+((d[I>>0]|0)+45)>>0]}if(a[(c[l>>2]|0)+25>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+25>>0]|0)-1)>>0]|0;a[E>>0]=d[E>>0]^d[43965+((d[I>>0]|0)+45)>>0];a[F>>0]=d[F>>0]^d[43965+((d[I>>0]|0)+164)>>0];a[G>>0]=d[G>>0]^d[43965+((d[I>>0]|0)+68)>>0];a[H>>0]=d[H>>0]^d[43965+((d[I>>0]|0)+138)>>0]}if(a[(c[l>>2]|0)+26>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+26>>0]|0)-1)>>0]|0;a[E>>0]=d[E>>0]^d[43965+((d[I>>0]|0)+138)>>0];a[F>>0]=d[F>>0]^d[43965+((d[I>>0]|0)+213)>>0];a[G>>0]=d[G>>0]^d[43965+((d[I>>0]|0)+191)>>0];a[H>>0]=d[H>>0]^d[43965+((d[I>>0]|0)+209)>>0]}if(a[(c[l>>2]|0)+27>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+27>>0]|0)-1)>>0]|0;a[E>>0]=d[E>>0]^d[43965+((d[I>>0]|0)+209)>>0];a[F>>0]=d[F>>0]^d[43965+((d[I>>0]|0)+127)>>0];a[G>>0]=d[G>>0]^d[43965+((d[I>>0]|0)+61)>>0];a[H>>0]=d[H>>0]^d[43965+((d[I>>0]|0)+153)>>0]}if(a[(c[l>>2]|0)+28>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+28>>0]|0)-1)>>0]|0;a[E>>0]=d[E>>0]^d[43965+((d[I>>0]|0)+153)>>0];a[F>>0]=d[F>>0]^d[43965+((d[I>>0]|0)+70)>>0];a[G>>0]=d[G>>0]^d[43965+((d[I>>0]|0)+102)>>0];a[H>>0]=d[H>>0]^d[43965+((d[I>>0]|0)+150)>>0]}if(a[(c[l>>2]|0)+29>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+29>>0]|0)-1)>>0]|0;a[E>>0]=d[E>>0]^d[43965+((d[I>>0]|0)+150)>>0];a[F>>0]=d[F>>0]^d[43965+((d[I>>0]|0)+60)>>0];a[G>>0]=d[G>>0]^d[43965+((d[I>>0]|0)+91)>>0];a[H>>0]=d[H>>0]^d[43965+((d[I>>0]|0)+237)>>0]}if(a[(c[l>>2]|0)+30>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+30>>0]|0)-1)>>0]|0;a[E>>0]=d[E>>0]^d[43965+((d[I>>0]|0)+237)>>0];a[F>>0]=d[F>>0]^d[43965+((d[I>>0]|0)+55)>>0];a[G>>0]=d[G>>0]^d[43965+((d[I>>0]|0)+79)>>0];a[H>>0]=d[H>>0]^d[43965+((d[I>>0]|0)+224)>>0]}if(a[(c[l>>2]|0)+31>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+31>>0]|0)-1)>>0]|0;a[E>>0]=d[E>>0]^d[43965+((d[I>>0]|0)+224)>>0];a[F>>0]=d[F>>0]^d[43965+((d[I>>0]|0)+208)>>0];a[G>>0]=d[G>>0]^d[43965+((d[I>>0]|0)+140)>>0];a[H>>0]=d[H>>0]^d[43965+((d[I>>0]|0)+23)>>0]}c[o>>2]=0;c[n>>2]=0;c[p>>2]=1;while(1){if((c[n>>2]|0)>=256)break;c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]=c[8372+((d[45225+(d[45225+(d[44969+(d[44457+(c[p>>2]|0)>>0]^d[s>>0])>>0]^d[w>>0])>>0]^d[A>>0])>>0]^d[E>>0])<<2)>>2];c[(c[k>>2]|0)+1024+(c[n>>2]<<2)>>2]=c[9396+((d[45225+(d[44969+(d[44969+(d[44457+(c[o>>2]|0)>>0]^d[t>>0])>>0]^d[x>>0])>>0]^d[B>>0])>>0]^d[F>>0])<<2)>>2];c[(c[k>>2]|0)+2048+(c[n>>2]<<2)>>2]=c[10420+((d[44969+(d[45225+(d[45225+(d[44457+(c[o>>2]|0)>>0]^d[u>>0])>>0]^d[y>>0])>>0]^d[C>>0])>>0]^d[G>>0])<<2)>>2];c[(c[k>>2]|0)+3072+(c[n>>2]<<2)>>2]=c[11444+((d[44969+(d[44969+(d[45225+(d[44457+(c[p>>2]|0)>>0]^d[v>>0])>>0]^d[z>>0])>>0]^d[D>>0])>>0]^d[H>>0])<<2)>>2];c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+2;c[p>>2]=(c[p>>2]|0)+2}c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(117^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(169^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(169^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(117^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(243^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(103^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(103^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(243^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4096>>2]=c[q>>2];c[(c[k>>2]|0)+4096+4>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(198^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(179^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(179^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(198^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(244^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(232^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(232^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(244^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4096+8>>2]=c[q>>2];c[(c[k>>2]|0)+4096+12>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(219^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(4^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(4^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(219^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(123^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(253^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(253^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(123^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4096+16>>2]=c[q>>2];c[(c[k>>2]|0)+4096+20>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(251^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(163^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(163^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(251^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(200^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(118^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(118^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(200^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4096+24>>2]=c[q>>2];c[(c[k>>2]|0)+4096+28>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(74^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(154^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(154^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(74^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(211^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(146^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(146^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(211^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128>>2]=c[q>>2];c[(c[k>>2]|0)+4128+4>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(230^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(128^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(128^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(230^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(107^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(120^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(120^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(107^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+8>>2]=c[q>>2];c[(c[k>>2]|0)+4128+12>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(69^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(228^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(228^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(69^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(125^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(221^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(221^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(125^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+16>>2]=c[q>>2];c[(c[k>>2]|0)+4128+20>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(232^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(209^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(209^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(232^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(75^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(56^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(56^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(75^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+24>>2]=c[q>>2];c[(c[k>>2]|0)+4128+28>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(214^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(13^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(13^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(214^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(50^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(198^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(198^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(50^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+32>>2]=c[q>>2];c[(c[k>>2]|0)+4128+36>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(216^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(53^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(53^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(216^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(253^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(152^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(152^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(253^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+40>>2]=c[q>>2];c[(c[k>>2]|0)+4128+44>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(55^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(24^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(24^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(55^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(113^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(247^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(247^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(113^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+48>>2]=c[q>>2];c[(c[k>>2]|0)+4128+52>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(241^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(236^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(236^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(241^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(225^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(108^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(108^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(225^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+56>>2]=c[q>>2];c[(c[k>>2]|0)+4128+60>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(48^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(67^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(67^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(48^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(15^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(117^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(117^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(15^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+64>>2]=c[q>>2];c[(c[k>>2]|0)+4128+68>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(248^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(55^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(55^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(248^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(27^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(38^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(38^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(27^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+72>>2]=c[q>>2];c[(c[k>>2]|0)+4128+76>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(135^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(250^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(250^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(135^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(250^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(19^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(19^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(250^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+80>>2]=c[q>>2];c[(c[k>>2]|0)+4128+84>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(6^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(148^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(148^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(6^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(63^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(72^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(72^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(63^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+88>>2]=c[q>>2];c[(c[k>>2]|0)+4128+92>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(94^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(242^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(242^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(94^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(186^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(208^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(208^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(186^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+96>>2]=c[q>>2];c[(c[k>>2]|0)+4128+100>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(174^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(139^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(139^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(174^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(91^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(48^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(48^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(91^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+104>>2]=c[q>>2];c[(c[k>>2]|0)+4128+108>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(138^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(132^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(132^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(138^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(0^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(84^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(84^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(0^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+112>>2]=c[q>>2];c[(c[k>>2]|0)+4128+116>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(188^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(223^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(223^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(188^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(157^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(35^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(35^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(157^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+120>>2]=c[q>>2];c[(c[k>>2]|0)+4128+124>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23)}else{c[o>>2]=0;c[n>>2]=0;c[p>>2]=1;while(1){if((c[n>>2]|0)>=256)break;c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]=c[8372+((d[45225+(d[44457+(c[o>>2]|0)>>0]^d[s>>0])>>0]^d[w>>0])<<2)>>2];c[(c[k>>2]|0)+1024+(c[n>>2]<<2)>>2]=c[9396+((d[45225+(d[44457+(c[p>>2]|0)>>0]^d[t>>0])>>0]^d[x>>0])<<2)>>2];c[(c[k>>2]|0)+2048+(c[n>>2]<<2)>>2]=c[10420+((d[44969+(d[44457+(c[o>>2]|0)>>0]^d[u>>0])>>0]^d[y>>0])<<2)>>2];c[(c[k>>2]|0)+3072+(c[n>>2]<<2)>>2]=c[11444+((d[44969+(d[44457+(c[p>>2]|0)>>0]^d[v>>0])>>0]^d[z>>0])<<2)>>2];c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+2;c[p>>2]=(c[p>>2]|0)+2}c[q>>2]=c[8372+((d[45225+(169^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(117^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(169^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(117^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(103^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(243^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(103^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(243^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4096>>2]=c[q>>2];c[(c[k>>2]|0)+4096+4>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(179^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(198^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(179^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(198^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(232^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(244^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(232^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(244^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4096+8>>2]=c[q>>2];c[(c[k>>2]|0)+4096+12>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(4^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(219^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(4^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(219^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(253^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(123^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(253^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(123^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4096+16>>2]=c[q>>2];c[(c[k>>2]|0)+4096+20>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(163^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(251^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(163^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(251^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(118^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(200^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(118^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(200^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4096+24>>2]=c[q>>2];c[(c[k>>2]|0)+4096+28>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(154^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(74^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(154^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(74^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(146^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(211^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(146^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(211^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128>>2]=c[q>>2];c[(c[k>>2]|0)+4128+4>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(128^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(230^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(128^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(230^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(120^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(107^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(120^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(107^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+8>>2]=c[q>>2];c[(c[k>>2]|0)+4128+12>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(228^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(69^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(228^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(69^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(221^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(125^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(221^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(125^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+16>>2]=c[q>>2];c[(c[k>>2]|0)+4128+20>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(209^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(232^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(209^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(232^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(56^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(75^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(56^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(75^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+24>>2]=c[q>>2];c[(c[k>>2]|0)+4128+28>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(13^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(214^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(13^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(214^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(198^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(50^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(198^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(50^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+32>>2]=c[q>>2];c[(c[k>>2]|0)+4128+36>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(53^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(216^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(53^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(216^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(152^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(253^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(152^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(253^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+40>>2]=c[q>>2];c[(c[k>>2]|0)+4128+44>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(24^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(55^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(24^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(55^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(247^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(113^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(247^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(113^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+48>>2]=c[q>>2];c[(c[k>>2]|0)+4128+52>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(236^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(241^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(236^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(241^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(108^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(225^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(108^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(225^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+56>>2]=c[q>>2];c[(c[k>>2]|0)+4128+60>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(67^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(48^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(67^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(48^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(117^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(15^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(117^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(15^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+64>>2]=c[q>>2];c[(c[k>>2]|0)+4128+68>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(55^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(248^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(55^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(248^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(38^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(27^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(38^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(27^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+72>>2]=c[q>>2];c[(c[k>>2]|0)+4128+76>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(250^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(135^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(250^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(135^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(19^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(250^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(19^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(250^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+80>>2]=c[q>>2];c[(c[k>>2]|0)+4128+84>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(148^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(6^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(148^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(6^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(72^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(63^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(72^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(63^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+88>>2]=c[q>>2];c[(c[k>>2]|0)+4128+92>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(242^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(94^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(242^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(94^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(208^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(186^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(208^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(186^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+96>>2]=c[q>>2];c[(c[k>>2]|0)+4128+100>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(139^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(174^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(139^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(174^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(48^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(91^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(48^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(91^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+104>>2]=c[q>>2];c[(c[k>>2]|0)+4128+108>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(132^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(138^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(132^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(138^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(84^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(0^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(84^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(0^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+112>>2]=c[q>>2];c[(c[k>>2]|0)+4128+116>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(223^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(188^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(223^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(188^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(35^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(157^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(35^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(157^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+120>>2]=c[q>>2];c[(c[k>>2]|0)+4128+124>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23)}c[j>>2]=0;J=c[j>>2]|0;i=g;return J|0}function kn(){var a=0,b=0,d=0,e=0,f=0,g=0;a=i;i=i+4288|0;b=a+4264|0;d=a+8|0;e=a+4272|0;f=a;hn(d,43450,16)|0;ln(d,e,43466)|0;do if(!(mw(e,43482,16)|0)){pn(d,e,e)|0;if(mw(e,43466,16)|0){c[b>>2]=43534;break}hn(d,43570,32)|0;ln(d,e,43602)|0;if(mw(e,43618,16)|0){c[b>>2]=43634;break}pn(d,e,e)|0;if(mw(e,43602,16)|0){c[b>>2]=43670;break}g=rn()|0;c[f>>2]=g;if(g|0){c[b>>2]=c[f>>2];break}g=un()|0;c[f>>2]=g;if(g|0){c[b>>2]=c[f>>2];break}g=xn()|0;c[f>>2]=g;if(g|0){c[b>>2]=c[f>>2];break}else{c[b>>2]=0;break}}else c[b>>2]=43498;while(0);i=a;return c[b>>2]|0}function ln(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[f>>2];mn(c[j>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return 36}function mn(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;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+8|0;n=e+4|0;o=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=nn(c[h>>2]|0)|0;c[j>>2]=c[j>>2]^c[(c[f>>2]|0)+4096>>2];c[k>>2]=nn((c[h>>2]|0)+4|0)|0;c[k>>2]=c[k>>2]^c[(c[f>>2]|0)+4096+4>>2];c[l>>2]=nn((c[h>>2]|0)+8|0)|0;c[l>>2]=c[l>>2]^c[(c[f>>2]|0)+4096+8>>2];c[m>>2]=nn((c[h>>2]|0)+12|0)|0;c[m>>2]=c[m>>2]^c[(c[f>>2]|0)+4096+12>>2];c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+4>>2]|0));c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+12>>2]|0));c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+8>>2]|0);c[j>>2]=((c[j>>2]|0)>>>1)+(c[j>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+20>>2]|0));c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+16>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+28>>2]|0));c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+24>>2]|0);c[j>>2]=((c[j>>2]|0)>>>1)+(c[j>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+36>>2]|0));c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+32>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+44>>2]|0));c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+40>>2]|0);c[j>>2]=((c[j>>2]|0)>>>1)+(c[j>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+52>>2]|0));c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+48>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+60>>2]|0));c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+56>>2]|0);c[j>>2]=((c[j>>2]|0)>>>1)+(c[j>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+68>>2]|0));c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+64>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+76>>2]|0));c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+72>>2]|0);c[j>>2]=((c[j>>2]|0)>>>1)+(c[j>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+84>>2]|0));c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+80>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+92>>2]|0));c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+88>>2]|0);c[j>>2]=((c[j>>2]|0)>>>1)+(c[j>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+100>>2]|0));c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+96>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+108>>2]|0));c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+104>>2]|0);c[j>>2]=((c[j>>2]|0)>>>1)+(c[j>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+116>>2]|0));c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+112>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+124>>2]|0));c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+120>>2]|0);c[j>>2]=((c[j>>2]|0)>>>1)+(c[j>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31)^c[o>>2];c[l>>2]=c[l>>2]^c[(c[f>>2]|0)+4096+16>>2];on(c[g>>2]|0,c[l>>2]|0);c[m>>2]=c[m>>2]^c[(c[f>>2]|0)+4096+20>>2];on((c[g>>2]|0)+4|0,c[m>>2]|0);c[j>>2]=c[j>>2]^c[(c[f>>2]|0)+4096+24>>2];on((c[g>>2]|0)+8|0,c[j>>2]|0);c[k>>2]=c[k>>2]^c[(c[f>>2]|0)+4096+28>>2];on((c[g>>2]|0)+12|0,c[k>>2]|0);i=e;return}function nn(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];i=b;return (d[(c[f>>2]|0)+3>>0]|0)<<24|(d[(c[f>>2]|0)+2>>0]|0)<<16|(d[(c[f>>2]|0)+1>>0]|0)<<8|(d[c[f>>2]>>0]|0)|0}function on(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];a[(c[h>>2]|0)+3>>0]=(c[g>>2]|0)>>>24;a[(c[h>>2]|0)+2>>0]=(c[g>>2]|0)>>>16;a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)>>>8;a[c[h>>2]>>0]=c[g>>2];i=e;return}function pn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[f>>2];qn(c[j>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return 36} // EMSCRIPTEN_END_FUNCS -var vb=[$x,Ik,Mk,Nk,jl,dm,fm,gm,hm,im,zm,Pm,dn,hn,ln,pn,is,ks,ls,ms,ns,yi,Bs,Zu,bv,_u,vv,zf,gw,dl,hl,yl,sm,Em,Um,cv,$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 wb=[ay,ol,bl,_k,Xk,sl,vn,yn,sn,ay,ay,ay,ay,ay,ay,ay];var xb=[by,Cl,wm,Mm,an,mo,$u,dv,Pw,by,by,by,by,by,by,by];var yb=[cy,xl,rm,Dm,Sm,Tm,gn,zs];var zb=[dy,El,bm,em,ym,Om,cn,gs,js,Di,Wu,dy,dy,dy,dy,dy];var Ab=[ey,rs,wl,Ls,st,Pt,ey,ey];var Bb=[fy,Qk,Sk,xu];var Cb=[gy,Cs,rr,Ks,Tt,gy,gy,gy];var Db=[hy,ql];var Eb=[iy,Ul,qm,bs,ps,sk,am,iy];var Fb=[jy,Oh];return{_WRALL_make_purpose:ac,_GNUNET_CRYPTO_rsa_blinding_key_encode:Sd,_bitshift64Lshr:Cx,_bitshift64Ashr:Bx,_GNUNET_CRYPTO_eddsa_key_create:gd,_memcpy:Dx,_TALER_WR_GNUNET_free:Yb,_TALER_WRALL_amount_add:hc,_GNUNET_CRYPTO_rsa_private_key_decode:Id,_TALER_WR_multiply_amount:Ac,_GNUNET_CRYPTO_rsa_blinding_key_decode:Td,_GNUNET_CRYPTO_ecc_ecdh:kd,_TALER_amount_hton:Mu,_TALER_WR_verify_sign_key_enc:qc,_free:tx,_TALER_WRALL_sign_deposit_permission:rc,_TALER_WR_verify_denoms:nc,_GNUNET_CRYPTO_rsa_blinding_key_create:Pd,_TALER_WR_verify_sign_key:pc,_TALER_WRALL_rsa_public_key_hash:kc,_TALER_WRALL_gen_key_from_blob:gc,_GNUNET_CRYPTO_rsa_private_key_get_public:Jd,_TALER_WRALL_rsa_public_key_decode_from_string:cc,_GNUNET_CRYPTO_symmetric_encrypt:Xc,_TALER_WR_get_fraction:yc,_TALER_WR_verify_denoms_enc:oc,_TALER_amount_cmp:Ru,_TALER_WRALL_ecdhe_public_key_from_private_key:Sb,_llvm_cttz_i32:Gx,_TALER_WRALL_eddsa_private_key_from_string:Ub,_TALER_WRALL_gen_init_vector:fc,_TALER_amount_ntoh:Nu,_WR_verify_test:_b,_GNUNET_CRYPTO_rsa_public_key_free:Ld,_GNUNET_CRYPTO_hkdf:ud,_GNUNET_CRYPTO_eddsa_key_get_public:$c,_llvm_bswap_i32:Hx,_GNUNET_CRYPTO_rsa_private_key_create:Fd,_GNUNET_STRINGS_data_to_string_alloc:ce,_TALER_WRALL_sign_test:Zb,_TALER_WR_verify_confirmation:sc,_GNUNET_CRYPTO_rsa_public_key_decode:Od,_GNUNET_CRYPTO_rsa_blinding_key_free:Rd,_GNUNET_CRYPTO_rsa_signature_encode:Qd,_GNUNET_CRYPTO_rsa_verify:_d,_TALER_WR_eddsa_verify:$b,_GNUNET_STRINGS_string_to_data:de,_TALER_WRALL_gen_symmetric_key:ec,_TALER_WRALL_ecc_ecdh:Tb,_memset:Fx,_GNUNET_CRYPTO_rsa_unblind:Zd,_TALER_WR_get_currency:zc,_DEBUG_WR_get_purpose:uc,_TALER_WRALL_get_amount:vc,_GNUNET_CRYPTO_rsa_private_key_encode:Hd,_GNUNET_CRYPTO_symmetric_decrypt:_c,_i64Subtract:zx,_TALER_WR_get_value:xc,_GNUNET_CRYPTO_rsa_signature_free:Xd,_TALER_WRALL_eddsa_public_key_from_priv_string:Vb,_GNUNET_CRYPTO_rsa_blind:Ud,_TALER_WR_verify_denom_enc:mc,_malloc:sx,_TALER_WR_hello_world:wc,_TALER_WRALL_make_withdraw_bundle:ic,_GNUNET_CRYPTO_rsa_signature_decode:Yd,_GNUNET_CRYPTO_rsa_sign:Vd,_GNUNET_CRYPTO_ecdhe_key_create:ed,_TALER_WRALL_get_encoding_from_rsa_signature:dc,_TALER_WRALL_hash:Qb,_TALER_amount_normalize:Su,_TALER_WRALL_sign_contract:jc,_bitshift64Shl:Ix,_GNUNET_CRYPTO_rsa_private_key_free:Gd,_fflush:ww,_GNUNET_CRYPTO_hash_create_random:md,_TALER_WRALL_eddsa_public_key_from_private:Wb,_TALER_WR_multiply_amounts:Bc,_TALER_amount_add:Vu,_GNUNET_CRYPTO_ecdhe_key_get_public:bd,_TALER_amount_subtract:Uu,_i64Add:Ax,_TALER_WRALL_purpose_create:bc,_GNUNET_CRYPTO_eddsa_sign:hd,_TALER_WR_verify_denom:lc,_TALER_WRALL_get_current_time:Pb,___errno_location:Yu,_TALER_WR_get_fancy_time:Xb,_TALER_WRALL_make_eddsa_signature:tc,_memmove:Ex,_TALER_amount_get_zero:Ou,_DEBUG_WR_dump_amount:Rb,_GNUNET_CRYPTO_rsa_public_key_encode:Md,_GNUNET_CRYPTO_hash:ld,_GNUNET_util_cl_init:Jc,_GNUNET_CRYPTO_random_init:Ad,_gpg_err_init:eu,runPostSets:yx,stackAlloc:Gb,stackSave:Hb,stackRestore:Ib,establishStackSpace:Jb,setThrew:Kb,setTempRet0:Nb,getTempRet0:Ob,dynCall_iiii:Qx,dynCall_viiiii:Rx,dynCall_vi:Sx,dynCall_vii:Tx,dynCall_ii:Ux,dynCall_viii:Vx,dynCall_v:Wx,dynCall_iiiii:Xx,dynCall_viiiiii:Yx,dynCall_iii:Zx,dynCall_viiii:_x}}) +var vb=[$x,Ik,Mk,Nk,jl,dm,fm,gm,hm,im,zm,Pm,dn,hn,ln,pn,is,ks,ls,ms,ns,yi,Bs,Zu,bv,_u,vv,zf,gw,dl,hl,yl,sm,Em,Um,cv,$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 wb=[ay,ol,bl,_k,Xk,sl,vn,yn,sn,ay,ay,ay,ay,ay,ay,ay];var xb=[by,Cl,wm,Mm,an,mo,$u,dv,Pw,by,by,by,by,by,by,by];var yb=[cy,xl,rm,Dm,Sm,Tm,gn,zs];var zb=[dy,El,bm,em,ym,Om,cn,gs,js,Di,Wu,dy,dy,dy,dy,dy];var Ab=[ey,rs,wl,Ls,st,Pt,ey,ey];var Bb=[fy,Qk,Sk,xu];var Cb=[gy,Cs,rr,Ks,Tt,gy,gy,gy];var Db=[hy,ql];var Eb=[iy,Ul,qm,bs,ps,sk,am,iy];var Fb=[jy,Oh];return{_WRALL_make_purpose:ac,_GNUNET_CRYPTO_rsa_blinding_key_encode:Sd,_bitshift64Lshr:Cx,_bitshift64Ashr:Bx,_GNUNET_CRYPTO_eddsa_key_create:gd,_memcpy:Dx,_TALER_WR_GNUNET_free:Yb,_TALER_WRALL_amount_add:hc,_GNUNET_CRYPTO_rsa_private_key_decode:Id,_TALER_WR_multiply_amount:Ac,_GNUNET_CRYPTO_rsa_blinding_key_decode:Td,_GNUNET_CRYPTO_ecc_ecdh:kd,_TALER_amount_hton:Mu,_TALER_WR_verify_sign_key_enc:qc,_free:tx,_TALER_WRALL_sign_deposit_permission:rc,_TALER_WR_verify_denoms:nc,_GNUNET_CRYPTO_rsa_blinding_key_create:Pd,_TALER_WR_verify_sign_key:pc,_TALER_WRALL_rsa_public_key_hash:kc,_TALER_WRALL_gen_key_from_blob:gc,_GNUNET_CRYPTO_rsa_private_key_get_public:Jd,_GNUNET_CRYPTO_eddsa_verify:jd,_TALER_WRALL_rsa_public_key_decode_from_string:cc,_GNUNET_CRYPTO_symmetric_encrypt:Xc,_TALER_WR_get_fraction:yc,_TALER_WR_verify_denoms_enc:oc,_TALER_amount_cmp:Ru,_TALER_WRALL_ecdhe_public_key_from_private_key:Sb,_llvm_cttz_i32:Gx,_TALER_WRALL_eddsa_private_key_from_string:Ub,_TALER_WRALL_gen_init_vector:fc,_TALER_amount_ntoh:Nu,_WR_verify_test:_b,_GNUNET_CRYPTO_rsa_public_key_free:Ld,_GNUNET_CRYPTO_hkdf:ud,_GNUNET_CRYPTO_eddsa_key_get_public:$c,_llvm_bswap_i32:Hx,_GNUNET_CRYPTO_rsa_private_key_create:Fd,_GNUNET_STRINGS_data_to_string_alloc:ce,_TALER_WRALL_sign_test:Zb,_TALER_WR_verify_confirmation:sc,_GNUNET_CRYPTO_rsa_public_key_decode:Od,_GNUNET_CRYPTO_rsa_blinding_key_free:Rd,_GNUNET_CRYPTO_rsa_signature_encode:Qd,_GNUNET_CRYPTO_rsa_verify:_d,_TALER_WR_eddsa_verify:$b,_GNUNET_STRINGS_string_to_data:de,_TALER_WRALL_gen_symmetric_key:ec,_TALER_WRALL_ecc_ecdh:Tb,_memset:Fx,_GNUNET_CRYPTO_rsa_unblind:Zd,_TALER_WR_get_currency:zc,_DEBUG_WR_get_purpose:uc,_TALER_WRALL_get_amount:vc,_GNUNET_CRYPTO_rsa_private_key_encode:Hd,_GNUNET_CRYPTO_symmetric_decrypt:_c,_i64Subtract:zx,_TALER_WR_get_value:xc,_GNUNET_CRYPTO_rsa_signature_free:Xd,_TALER_WRALL_eddsa_public_key_from_priv_string:Vb,_GNUNET_CRYPTO_rsa_blind:Ud,_TALER_WR_verify_denom_enc:mc,_malloc:sx,_TALER_WR_hello_world:wc,_TALER_WRALL_make_withdraw_bundle:ic,_GNUNET_CRYPTO_rsa_signature_decode:Yd,_GNUNET_CRYPTO_rsa_sign:Vd,_GNUNET_CRYPTO_ecdhe_key_create:ed,_TALER_WRALL_get_encoding_from_rsa_signature:dc,_TALER_WRALL_hash:Qb,_TALER_amount_normalize:Su,_TALER_WRALL_sign_contract:jc,_bitshift64Shl:Ix,_GNUNET_CRYPTO_rsa_private_key_free:Gd,_fflush:ww,_GNUNET_CRYPTO_hash_create_random:md,_TALER_WRALL_eddsa_public_key_from_private:Wb,_TALER_WR_multiply_amounts:Bc,_TALER_amount_add:Vu,_GNUNET_CRYPTO_ecdhe_key_get_public:bd,_TALER_amount_subtract:Uu,_i64Add:Ax,_TALER_WRALL_purpose_create:bc,_GNUNET_CRYPTO_eddsa_sign:hd,_TALER_WR_verify_denom:lc,_TALER_WRALL_get_current_time:Pb,___errno_location:Yu,_TALER_WR_get_fancy_time:Xb,_TALER_WRALL_make_eddsa_signature:tc,_memmove:Ex,_TALER_amount_get_zero:Ou,_DEBUG_WR_dump_amount:Rb,_GNUNET_CRYPTO_rsa_public_key_encode:Md,_GNUNET_CRYPTO_hash:ld,_GNUNET_util_cl_init:Jc,_GNUNET_CRYPTO_random_init:Ad,_gpg_err_init:eu,runPostSets:yx,stackAlloc:Gb,stackSave:Hb,stackRestore:Ib,establishStackSpace:Jb,setThrew:Kb,setTempRet0:Nb,getTempRet0:Ob,dynCall_iiii:Qx,dynCall_viiiii:Rx,dynCall_vi:Sx,dynCall_vii:Tx,dynCall_ii:Ux,dynCall_viii:Vx,dynCall_v:Wx,dynCall_iiiii:Xx,dynCall_viiiiii:Yx,dynCall_iii:Zx,dynCall_viiii:_x}}) // EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _WRALL_make_purpose=Module["_WRALL_make_purpose"]=asm["_WRALL_make_purpose"];var _GNUNET_CRYPTO_rsa_blinding_key_encode=Module["_GNUNET_CRYPTO_rsa_blinding_key_encode"]=asm["_GNUNET_CRYPTO_rsa_blinding_key_encode"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _GNUNET_CRYPTO_eddsa_key_create=Module["_GNUNET_CRYPTO_eddsa_key_create"]=asm["_GNUNET_CRYPTO_eddsa_key_create"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _TALER_WR_GNUNET_free=Module["_TALER_WR_GNUNET_free"]=asm["_TALER_WR_GNUNET_free"];var _TALER_WRALL_amount_add=Module["_TALER_WRALL_amount_add"]=asm["_TALER_WRALL_amount_add"];var _GNUNET_CRYPTO_rsa_private_key_decode=Module["_GNUNET_CRYPTO_rsa_private_key_decode"]=asm["_GNUNET_CRYPTO_rsa_private_key_decode"];var _TALER_WR_multiply_amount=Module["_TALER_WR_multiply_amount"]=asm["_TALER_WR_multiply_amount"];var _GNUNET_CRYPTO_rsa_blinding_key_decode=Module["_GNUNET_CRYPTO_rsa_blinding_key_decode"]=asm["_GNUNET_CRYPTO_rsa_blinding_key_decode"];var _TALER_WR_multiply_amounts=Module["_TALER_WR_multiply_amounts"]=asm["_TALER_WR_multiply_amounts"];var _TALER_amount_hton=Module["_TALER_amount_hton"]=asm["_TALER_amount_hton"];var _TALER_WRALL_eddsa_private_key_from_string=Module["_TALER_WRALL_eddsa_private_key_from_string"]=asm["_TALER_WRALL_eddsa_private_key_from_string"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _gpg_err_init=Module["_gpg_err_init"]=asm["_gpg_err_init"];var _free=Module["_free"]=asm["_free"];var _TALER_WRALL_sign_deposit_permission=Module["_TALER_WRALL_sign_deposit_permission"]=asm["_TALER_WRALL_sign_deposit_permission"];var _TALER_WR_verify_denoms=Module["_TALER_WR_verify_denoms"]=asm["_TALER_WR_verify_denoms"];var _GNUNET_CRYPTO_rsa_blinding_key_create=Module["_GNUNET_CRYPTO_rsa_blinding_key_create"]=asm["_GNUNET_CRYPTO_rsa_blinding_key_create"];var _TALER_WR_verify_denom_enc=Module["_TALER_WR_verify_denom_enc"]=asm["_TALER_WR_verify_denom_enc"];var _TALER_WRALL_rsa_public_key_hash=Module["_TALER_WRALL_rsa_public_key_hash"]=asm["_TALER_WRALL_rsa_public_key_hash"];var _TALER_WRALL_gen_key_from_blob=Module["_TALER_WRALL_gen_key_from_blob"]=asm["_TALER_WRALL_gen_key_from_blob"];var _GNUNET_CRYPTO_rsa_private_key_get_public=Module["_GNUNET_CRYPTO_rsa_private_key_get_public"]=asm["_GNUNET_CRYPTO_rsa_private_key_get_public"];var _TALER_WRALL_rsa_public_key_decode_from_string=Module["_TALER_WRALL_rsa_public_key_decode_from_string"]=asm["_TALER_WRALL_rsa_public_key_decode_from_string"];var _GNUNET_CRYPTO_symmetric_encrypt=Module["_GNUNET_CRYPTO_symmetric_encrypt"]=asm["_GNUNET_CRYPTO_symmetric_encrypt"];var _TALER_WR_get_fraction=Module["_TALER_WR_get_fraction"]=asm["_TALER_WR_get_fraction"];var _TALER_WR_verify_denoms_enc=Module["_TALER_WR_verify_denoms_enc"]=asm["_TALER_WR_verify_denoms_enc"];var _TALER_amount_cmp=Module["_TALER_amount_cmp"]=asm["_TALER_amount_cmp"];var _TALER_WRALL_ecdhe_public_key_from_private_key=Module["_TALER_WRALL_ecdhe_public_key_from_private_key"]=asm["_TALER_WRALL_ecdhe_public_key_from_private_key"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _TALER_WR_verify_sign_key_enc=Module["_TALER_WR_verify_sign_key_enc"]=asm["_TALER_WR_verify_sign_key_enc"];var _TALER_WRALL_gen_init_vector=Module["_TALER_WRALL_gen_init_vector"]=asm["_TALER_WRALL_gen_init_vector"];var _TALER_amount_ntoh=Module["_TALER_amount_ntoh"]=asm["_TALER_amount_ntoh"];var _WR_verify_test=Module["_WR_verify_test"]=asm["_WR_verify_test"];var _GNUNET_CRYPTO_rsa_public_key_free=Module["_GNUNET_CRYPTO_rsa_public_key_free"]=asm["_GNUNET_CRYPTO_rsa_public_key_free"];var _GNUNET_CRYPTO_hkdf=Module["_GNUNET_CRYPTO_hkdf"]=asm["_GNUNET_CRYPTO_hkdf"];var _GNUNET_CRYPTO_eddsa_key_get_public=Module["_GNUNET_CRYPTO_eddsa_key_get_public"]=asm["_GNUNET_CRYPTO_eddsa_key_get_public"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _TALER_WR_get_value=Module["_TALER_WR_get_value"]=asm["_TALER_WR_get_value"];var _GNUNET_STRINGS_data_to_string_alloc=Module["_GNUNET_STRINGS_data_to_string_alloc"]=asm["_GNUNET_STRINGS_data_to_string_alloc"];var _TALER_WRALL_sign_test=Module["_TALER_WRALL_sign_test"]=asm["_TALER_WRALL_sign_test"];var _TALER_WR_verify_confirmation=Module["_TALER_WR_verify_confirmation"]=asm["_TALER_WR_verify_confirmation"];var _GNUNET_CRYPTO_rsa_public_key_decode=Module["_GNUNET_CRYPTO_rsa_public_key_decode"]=asm["_GNUNET_CRYPTO_rsa_public_key_decode"];var _GNUNET_CRYPTO_rsa_blinding_key_free=Module["_GNUNET_CRYPTO_rsa_blinding_key_free"]=asm["_GNUNET_CRYPTO_rsa_blinding_key_free"];var _GNUNET_CRYPTO_rsa_signature_encode=Module["_GNUNET_CRYPTO_rsa_signature_encode"]=asm["_GNUNET_CRYPTO_rsa_signature_encode"];var _GNUNET_CRYPTO_rsa_verify=Module["_GNUNET_CRYPTO_rsa_verify"]=asm["_GNUNET_CRYPTO_rsa_verify"];var _TALER_WR_eddsa_verify=Module["_TALER_WR_eddsa_verify"]=asm["_TALER_WR_eddsa_verify"];var _GNUNET_STRINGS_string_to_data=Module["_GNUNET_STRINGS_string_to_data"]=asm["_GNUNET_STRINGS_string_to_data"];var _TALER_WRALL_gen_symmetric_key=Module["_TALER_WRALL_gen_symmetric_key"]=asm["_TALER_WRALL_gen_symmetric_key"];var _TALER_WRALL_ecc_ecdh=Module["_TALER_WRALL_ecc_ecdh"]=asm["_TALER_WRALL_ecc_ecdh"];var _TALER_WRALL_get_amount=Module["_TALER_WRALL_get_amount"]=asm["_TALER_WRALL_get_amount"];var _GNUNET_CRYPTO_rsa_unblind=Module["_GNUNET_CRYPTO_rsa_unblind"]=asm["_GNUNET_CRYPTO_rsa_unblind"];var _TALER_WR_get_currency=Module["_TALER_WR_get_currency"]=asm["_TALER_WR_get_currency"];var _DEBUG_WR_get_purpose=Module["_DEBUG_WR_get_purpose"]=asm["_DEBUG_WR_get_purpose"];var _memset=Module["_memset"]=asm["_memset"];var _GNUNET_CRYPTO_rsa_private_key_encode=Module["_GNUNET_CRYPTO_rsa_private_key_encode"]=asm["_GNUNET_CRYPTO_rsa_private_key_encode"];var _GNUNET_CRYPTO_symmetric_decrypt=Module["_GNUNET_CRYPTO_symmetric_decrypt"]=asm["_GNUNET_CRYPTO_symmetric_decrypt"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _GNUNET_CRYPTO_rsa_private_key_create=Module["_GNUNET_CRYPTO_rsa_private_key_create"]=asm["_GNUNET_CRYPTO_rsa_private_key_create"];var _GNUNET_CRYPTO_rsa_signature_free=Module["_GNUNET_CRYPTO_rsa_signature_free"]=asm["_GNUNET_CRYPTO_rsa_signature_free"];var _GNUNET_util_cl_init=Module["_GNUNET_util_cl_init"]=asm["_GNUNET_util_cl_init"];var _TALER_WRALL_eddsa_public_key_from_priv_string=Module["_TALER_WRALL_eddsa_public_key_from_priv_string"]=asm["_TALER_WRALL_eddsa_public_key_from_priv_string"];var _GNUNET_CRYPTO_rsa_blind=Module["_GNUNET_CRYPTO_rsa_blind"]=asm["_GNUNET_CRYPTO_rsa_blind"];var _TALER_WR_verify_sign_key=Module["_TALER_WR_verify_sign_key"]=asm["_TALER_WR_verify_sign_key"];var _malloc=Module["_malloc"]=asm["_malloc"];var _TALER_WR_hello_world=Module["_TALER_WR_hello_world"]=asm["_TALER_WR_hello_world"];var _TALER_WRALL_make_withdraw_bundle=Module["_TALER_WRALL_make_withdraw_bundle"]=asm["_TALER_WRALL_make_withdraw_bundle"];var _GNUNET_CRYPTO_rsa_signature_decode=Module["_GNUNET_CRYPTO_rsa_signature_decode"]=asm["_GNUNET_CRYPTO_rsa_signature_decode"];var _GNUNET_CRYPTO_rsa_sign=Module["_GNUNET_CRYPTO_rsa_sign"]=asm["_GNUNET_CRYPTO_rsa_sign"];var _GNUNET_CRYPTO_ecdhe_key_create=Module["_GNUNET_CRYPTO_ecdhe_key_create"]=asm["_GNUNET_CRYPTO_ecdhe_key_create"];var _TALER_WRALL_get_encoding_from_rsa_signature=Module["_TALER_WRALL_get_encoding_from_rsa_signature"]=asm["_TALER_WRALL_get_encoding_from_rsa_signature"];var _TALER_WRALL_hash=Module["_TALER_WRALL_hash"]=asm["_TALER_WRALL_hash"];var _TALER_amount_normalize=Module["_TALER_amount_normalize"]=asm["_TALER_amount_normalize"];var _TALER_WRALL_sign_contract=Module["_TALER_WRALL_sign_contract"]=asm["_TALER_WRALL_sign_contract"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _GNUNET_CRYPTO_rsa_private_key_free=Module["_GNUNET_CRYPTO_rsa_private_key_free"]=asm["_GNUNET_CRYPTO_rsa_private_key_free"];var _fflush=Module["_fflush"]=asm["_fflush"];var _GNUNET_CRYPTO_hash_create_random=Module["_GNUNET_CRYPTO_hash_create_random"]=asm["_GNUNET_CRYPTO_hash_create_random"];var _TALER_WRALL_eddsa_public_key_from_private=Module["_TALER_WRALL_eddsa_public_key_from_private"]=asm["_TALER_WRALL_eddsa_public_key_from_private"];var _GNUNET_CRYPTO_ecc_ecdh=Module["_GNUNET_CRYPTO_ecc_ecdh"]=asm["_GNUNET_CRYPTO_ecc_ecdh"];var _TALER_amount_add=Module["_TALER_amount_add"]=asm["_TALER_amount_add"];var _GNUNET_CRYPTO_ecdhe_key_get_public=Module["_GNUNET_CRYPTO_ecdhe_key_get_public"]=asm["_GNUNET_CRYPTO_ecdhe_key_get_public"];var _TALER_amount_subtract=Module["_TALER_amount_subtract"]=asm["_TALER_amount_subtract"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _TALER_WRALL_purpose_create=Module["_TALER_WRALL_purpose_create"]=asm["_TALER_WRALL_purpose_create"];var _GNUNET_CRYPTO_eddsa_sign=Module["_GNUNET_CRYPTO_eddsa_sign"]=asm["_GNUNET_CRYPTO_eddsa_sign"];var _TALER_WR_verify_denom=Module["_TALER_WR_verify_denom"]=asm["_TALER_WR_verify_denom"];var _GNUNET_CRYPTO_hash=Module["_GNUNET_CRYPTO_hash"]=asm["_GNUNET_CRYPTO_hash"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _TALER_WR_get_fancy_time=Module["_TALER_WR_get_fancy_time"]=asm["_TALER_WR_get_fancy_time"];var _TALER_WRALL_make_eddsa_signature=Module["_TALER_WRALL_make_eddsa_signature"]=asm["_TALER_WRALL_make_eddsa_signature"];var _memmove=Module["_memmove"]=asm["_memmove"];var _GNUNET_CRYPTO_random_init=Module["_GNUNET_CRYPTO_random_init"]=asm["_GNUNET_CRYPTO_random_init"];var _TALER_amount_get_zero=Module["_TALER_amount_get_zero"]=asm["_TALER_amount_get_zero"];var _DEBUG_WR_dump_amount=Module["_DEBUG_WR_dump_amount"]=asm["_DEBUG_WR_dump_amount"];var _GNUNET_CRYPTO_rsa_public_key_encode=Module["_GNUNET_CRYPTO_rsa_public_key_encode"]=asm["_GNUNET_CRYPTO_rsa_public_key_encode"];var _TALER_WRALL_get_current_time=Module["_TALER_WRALL_get_current_time"]=asm["_TALER_WRALL_get_current_time"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){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() +(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _WRALL_make_purpose=Module["_WRALL_make_purpose"]=asm["_WRALL_make_purpose"];var _GNUNET_CRYPTO_rsa_blinding_key_encode=Module["_GNUNET_CRYPTO_rsa_blinding_key_encode"]=asm["_GNUNET_CRYPTO_rsa_blinding_key_encode"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _GNUNET_CRYPTO_eddsa_key_create=Module["_GNUNET_CRYPTO_eddsa_key_create"]=asm["_GNUNET_CRYPTO_eddsa_key_create"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _TALER_WR_GNUNET_free=Module["_TALER_WR_GNUNET_free"]=asm["_TALER_WR_GNUNET_free"];var _TALER_WRALL_amount_add=Module["_TALER_WRALL_amount_add"]=asm["_TALER_WRALL_amount_add"];var _GNUNET_CRYPTO_rsa_private_key_decode=Module["_GNUNET_CRYPTO_rsa_private_key_decode"]=asm["_GNUNET_CRYPTO_rsa_private_key_decode"];var _TALER_WR_multiply_amount=Module["_TALER_WR_multiply_amount"]=asm["_TALER_WR_multiply_amount"];var _GNUNET_CRYPTO_rsa_blinding_key_decode=Module["_GNUNET_CRYPTO_rsa_blinding_key_decode"]=asm["_GNUNET_CRYPTO_rsa_blinding_key_decode"];var _TALER_WR_multiply_amounts=Module["_TALER_WR_multiply_amounts"]=asm["_TALER_WR_multiply_amounts"];var _TALER_amount_hton=Module["_TALER_amount_hton"]=asm["_TALER_amount_hton"];var _TALER_WRALL_eddsa_private_key_from_string=Module["_TALER_WRALL_eddsa_private_key_from_string"]=asm["_TALER_WRALL_eddsa_private_key_from_string"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _gpg_err_init=Module["_gpg_err_init"]=asm["_gpg_err_init"];var _free=Module["_free"]=asm["_free"];var _TALER_WRALL_sign_deposit_permission=Module["_TALER_WRALL_sign_deposit_permission"]=asm["_TALER_WRALL_sign_deposit_permission"];var _TALER_WR_verify_denoms=Module["_TALER_WR_verify_denoms"]=asm["_TALER_WR_verify_denoms"];var _GNUNET_CRYPTO_rsa_blinding_key_create=Module["_GNUNET_CRYPTO_rsa_blinding_key_create"]=asm["_GNUNET_CRYPTO_rsa_blinding_key_create"];var _TALER_WR_verify_denom_enc=Module["_TALER_WR_verify_denom_enc"]=asm["_TALER_WR_verify_denom_enc"];var _TALER_WRALL_rsa_public_key_hash=Module["_TALER_WRALL_rsa_public_key_hash"]=asm["_TALER_WRALL_rsa_public_key_hash"];var _TALER_WRALL_gen_key_from_blob=Module["_TALER_WRALL_gen_key_from_blob"]=asm["_TALER_WRALL_gen_key_from_blob"];var _GNUNET_CRYPTO_rsa_private_key_get_public=Module["_GNUNET_CRYPTO_rsa_private_key_get_public"]=asm["_GNUNET_CRYPTO_rsa_private_key_get_public"];var _GNUNET_CRYPTO_eddsa_verify=Module["_GNUNET_CRYPTO_eddsa_verify"]=asm["_GNUNET_CRYPTO_eddsa_verify"];var _TALER_WRALL_rsa_public_key_decode_from_string=Module["_TALER_WRALL_rsa_public_key_decode_from_string"]=asm["_TALER_WRALL_rsa_public_key_decode_from_string"];var _GNUNET_CRYPTO_symmetric_encrypt=Module["_GNUNET_CRYPTO_symmetric_encrypt"]=asm["_GNUNET_CRYPTO_symmetric_encrypt"];var _TALER_WR_get_fraction=Module["_TALER_WR_get_fraction"]=asm["_TALER_WR_get_fraction"];var _TALER_WR_verify_denoms_enc=Module["_TALER_WR_verify_denoms_enc"]=asm["_TALER_WR_verify_denoms_enc"];var _TALER_amount_cmp=Module["_TALER_amount_cmp"]=asm["_TALER_amount_cmp"];var _TALER_WRALL_ecdhe_public_key_from_private_key=Module["_TALER_WRALL_ecdhe_public_key_from_private_key"]=asm["_TALER_WRALL_ecdhe_public_key_from_private_key"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _TALER_WR_verify_sign_key_enc=Module["_TALER_WR_verify_sign_key_enc"]=asm["_TALER_WR_verify_sign_key_enc"];var _TALER_WRALL_gen_init_vector=Module["_TALER_WRALL_gen_init_vector"]=asm["_TALER_WRALL_gen_init_vector"];var _TALER_amount_ntoh=Module["_TALER_amount_ntoh"]=asm["_TALER_amount_ntoh"];var _WR_verify_test=Module["_WR_verify_test"]=asm["_WR_verify_test"];var _GNUNET_CRYPTO_rsa_public_key_free=Module["_GNUNET_CRYPTO_rsa_public_key_free"]=asm["_GNUNET_CRYPTO_rsa_public_key_free"];var _GNUNET_CRYPTO_hkdf=Module["_GNUNET_CRYPTO_hkdf"]=asm["_GNUNET_CRYPTO_hkdf"];var _GNUNET_CRYPTO_eddsa_key_get_public=Module["_GNUNET_CRYPTO_eddsa_key_get_public"]=asm["_GNUNET_CRYPTO_eddsa_key_get_public"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _TALER_WR_get_value=Module["_TALER_WR_get_value"]=asm["_TALER_WR_get_value"];var _GNUNET_STRINGS_data_to_string_alloc=Module["_GNUNET_STRINGS_data_to_string_alloc"]=asm["_GNUNET_STRINGS_data_to_string_alloc"];var _TALER_WRALL_sign_test=Module["_TALER_WRALL_sign_test"]=asm["_TALER_WRALL_sign_test"];var _TALER_WR_verify_confirmation=Module["_TALER_WR_verify_confirmation"]=asm["_TALER_WR_verify_confirmation"];var _GNUNET_CRYPTO_rsa_public_key_decode=Module["_GNUNET_CRYPTO_rsa_public_key_decode"]=asm["_GNUNET_CRYPTO_rsa_public_key_decode"];var _GNUNET_CRYPTO_rsa_blinding_key_free=Module["_GNUNET_CRYPTO_rsa_blinding_key_free"]=asm["_GNUNET_CRYPTO_rsa_blinding_key_free"];var _GNUNET_CRYPTO_rsa_signature_encode=Module["_GNUNET_CRYPTO_rsa_signature_encode"]=asm["_GNUNET_CRYPTO_rsa_signature_encode"];var _GNUNET_CRYPTO_rsa_verify=Module["_GNUNET_CRYPTO_rsa_verify"]=asm["_GNUNET_CRYPTO_rsa_verify"];var _TALER_WR_eddsa_verify=Module["_TALER_WR_eddsa_verify"]=asm["_TALER_WR_eddsa_verify"];var _GNUNET_STRINGS_string_to_data=Module["_GNUNET_STRINGS_string_to_data"]=asm["_GNUNET_STRINGS_string_to_data"];var _TALER_WRALL_gen_symmetric_key=Module["_TALER_WRALL_gen_symmetric_key"]=asm["_TALER_WRALL_gen_symmetric_key"];var _TALER_WRALL_ecc_ecdh=Module["_TALER_WRALL_ecc_ecdh"]=asm["_TALER_WRALL_ecc_ecdh"];var _TALER_WRALL_get_amount=Module["_TALER_WRALL_get_amount"]=asm["_TALER_WRALL_get_amount"];var _GNUNET_CRYPTO_rsa_unblind=Module["_GNUNET_CRYPTO_rsa_unblind"]=asm["_GNUNET_CRYPTO_rsa_unblind"];var _TALER_WR_get_currency=Module["_TALER_WR_get_currency"]=asm["_TALER_WR_get_currency"];var _DEBUG_WR_get_purpose=Module["_DEBUG_WR_get_purpose"]=asm["_DEBUG_WR_get_purpose"];var _memset=Module["_memset"]=asm["_memset"];var _GNUNET_CRYPTO_rsa_private_key_encode=Module["_GNUNET_CRYPTO_rsa_private_key_encode"]=asm["_GNUNET_CRYPTO_rsa_private_key_encode"];var _GNUNET_CRYPTO_symmetric_decrypt=Module["_GNUNET_CRYPTO_symmetric_decrypt"]=asm["_GNUNET_CRYPTO_symmetric_decrypt"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _GNUNET_CRYPTO_rsa_private_key_create=Module["_GNUNET_CRYPTO_rsa_private_key_create"]=asm["_GNUNET_CRYPTO_rsa_private_key_create"];var _GNUNET_CRYPTO_rsa_signature_free=Module["_GNUNET_CRYPTO_rsa_signature_free"]=asm["_GNUNET_CRYPTO_rsa_signature_free"];var _GNUNET_util_cl_init=Module["_GNUNET_util_cl_init"]=asm["_GNUNET_util_cl_init"];var _TALER_WRALL_eddsa_public_key_from_priv_string=Module["_TALER_WRALL_eddsa_public_key_from_priv_string"]=asm["_TALER_WRALL_eddsa_public_key_from_priv_string"];var _GNUNET_CRYPTO_rsa_blind=Module["_GNUNET_CRYPTO_rsa_blind"]=asm["_GNUNET_CRYPTO_rsa_blind"];var _TALER_WR_verify_sign_key=Module["_TALER_WR_verify_sign_key"]=asm["_TALER_WR_verify_sign_key"];var _malloc=Module["_malloc"]=asm["_malloc"];var _TALER_WR_hello_world=Module["_TALER_WR_hello_world"]=asm["_TALER_WR_hello_world"];var _TALER_WRALL_make_withdraw_bundle=Module["_TALER_WRALL_make_withdraw_bundle"]=asm["_TALER_WRALL_make_withdraw_bundle"];var _GNUNET_CRYPTO_rsa_signature_decode=Module["_GNUNET_CRYPTO_rsa_signature_decode"]=asm["_GNUNET_CRYPTO_rsa_signature_decode"];var _GNUNET_CRYPTO_rsa_sign=Module["_GNUNET_CRYPTO_rsa_sign"]=asm["_GNUNET_CRYPTO_rsa_sign"];var _GNUNET_CRYPTO_ecdhe_key_create=Module["_GNUNET_CRYPTO_ecdhe_key_create"]=asm["_GNUNET_CRYPTO_ecdhe_key_create"];var _TALER_WRALL_get_encoding_from_rsa_signature=Module["_TALER_WRALL_get_encoding_from_rsa_signature"]=asm["_TALER_WRALL_get_encoding_from_rsa_signature"];var _TALER_WRALL_hash=Module["_TALER_WRALL_hash"]=asm["_TALER_WRALL_hash"];var _TALER_amount_normalize=Module["_TALER_amount_normalize"]=asm["_TALER_amount_normalize"];var _TALER_WRALL_sign_contract=Module["_TALER_WRALL_sign_contract"]=asm["_TALER_WRALL_sign_contract"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _GNUNET_CRYPTO_rsa_private_key_free=Module["_GNUNET_CRYPTO_rsa_private_key_free"]=asm["_GNUNET_CRYPTO_rsa_private_key_free"];var _fflush=Module["_fflush"]=asm["_fflush"];var _GNUNET_CRYPTO_hash_create_random=Module["_GNUNET_CRYPTO_hash_create_random"]=asm["_GNUNET_CRYPTO_hash_create_random"];var _TALER_WRALL_eddsa_public_key_from_private=Module["_TALER_WRALL_eddsa_public_key_from_private"]=asm["_TALER_WRALL_eddsa_public_key_from_private"];var _GNUNET_CRYPTO_ecc_ecdh=Module["_GNUNET_CRYPTO_ecc_ecdh"]=asm["_GNUNET_CRYPTO_ecc_ecdh"];var _TALER_amount_add=Module["_TALER_amount_add"]=asm["_TALER_amount_add"];var _GNUNET_CRYPTO_ecdhe_key_get_public=Module["_GNUNET_CRYPTO_ecdhe_key_get_public"]=asm["_GNUNET_CRYPTO_ecdhe_key_get_public"];var _TALER_amount_subtract=Module["_TALER_amount_subtract"]=asm["_TALER_amount_subtract"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _TALER_WRALL_purpose_create=Module["_TALER_WRALL_purpose_create"]=asm["_TALER_WRALL_purpose_create"];var _GNUNET_CRYPTO_eddsa_sign=Module["_GNUNET_CRYPTO_eddsa_sign"]=asm["_GNUNET_CRYPTO_eddsa_sign"];var _TALER_WR_verify_denom=Module["_TALER_WR_verify_denom"]=asm["_TALER_WR_verify_denom"];var _GNUNET_CRYPTO_hash=Module["_GNUNET_CRYPTO_hash"]=asm["_GNUNET_CRYPTO_hash"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _TALER_WR_get_fancy_time=Module["_TALER_WR_get_fancy_time"]=asm["_TALER_WR_get_fancy_time"];var _TALER_WRALL_make_eddsa_signature=Module["_TALER_WRALL_make_eddsa_signature"]=asm["_TALER_WRALL_make_eddsa_signature"];var _memmove=Module["_memmove"]=asm["_memmove"];var _GNUNET_CRYPTO_random_init=Module["_GNUNET_CRYPTO_random_init"]=asm["_GNUNET_CRYPTO_random_init"];var _TALER_amount_get_zero=Module["_TALER_amount_get_zero"]=asm["_TALER_amount_get_zero"];var _DEBUG_WR_dump_amount=Module["_DEBUG_WR_dump_amount"]=asm["_DEBUG_WR_dump_amount"];var _GNUNET_CRYPTO_rsa_public_key_encode=Module["_GNUNET_CRYPTO_rsa_public_key_encode"]=asm["_GNUNET_CRYPTO_rsa_public_key_encode"];var _TALER_WRALL_get_current_time=Module["_TALER_WRALL_get_current_time"]=asm["_TALER_WRALL_get_current_time"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){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() diff --git a/extension/lib/wallet/emscriptif.ts b/extension/lib/wallet/emscriptif.ts index b11d845f0..690800e2f 100644 --- a/extension/lib/wallet/emscriptif.ts +++ b/extension/lib/wallet/emscriptif.ts @@ -89,6 +89,9 @@ var emsc = { eddsa_sign: getEmsc('GNUNET_CRYPTO_eddsa_sign', 'number', ['number', 'number', 'number']), + eddsa_verify: getEmsc('GNUNET_CRYPTO_eddsa_verify', + 'number', + ['number', 'number', 'number', 'number']), hash_create_random: getEmsc('GNUNET_CRYPTO_hash_create_random', 'void', ['number', 'number']), @@ -144,9 +147,10 @@ var emscAlloc = { }; -enum SignaturePurpose { +export enum SignaturePurpose { RESERVE_WITHDRAW = 1200, WALLET_COIN_DEPOSIT = 1201, + MASTER_DENOMINATION_KEY_VALIDITY = 1025, } enum RandomQuality { @@ -336,11 +340,11 @@ export class Amount extends ArenaObject { return emsc.get_fraction(this.nativePtr); } - get currency() { + get currency(): String { return emsc.get_currency(this.nativePtr); } - toJson() { + toJson(): AmountJson { return { value: emsc.get_value(this.nativePtr), fraction: emsc.get_fraction(this.nativePtr), @@ -351,7 +355,7 @@ export class Amount extends ArenaObject { /** * Add an amount to this amount. */ - add(a) { + add(a: Amount) { let res = emsc.amount_add(this.nativePtr, a.nativePtr, this.nativePtr); if (res < 1) { // Overflow @@ -363,7 +367,7 @@ export class Amount extends ArenaObject { /** * Perform saturating subtraction on amounts. */ - sub(a) { + sub(a: Amount) { // this = this - a let res = emsc.amount_subtract(this.nativePtr, this.nativePtr, a.nativePtr); if (res == 0) { @@ -376,7 +380,7 @@ export class Amount extends ArenaObject { throw Error("Incompatible currencies"); } - cmp(a) { + cmp(a: Amount) { return emsc.amount_cmp(this.nativePtr, a.nativePtr); } @@ -848,6 +852,44 @@ export class DepositRequestPS extends SignatureStruct { } } +export interface DenominationKeyValidityPS_args { + master: EddsaPublicKey; + start: AbsoluteTimeNbo; + expire_withdraw: AbsoluteTimeNbo; + expire_spend: AbsoluteTimeNbo; + expire_legal: AbsoluteTimeNbo; + value: AmountNbo; + fee_withdraw: AmountNbo; + fee_deposit: AmountNbo; + fee_refresh: AmountNbo; + denom_hash: HashCode; +} + +export class DenominationKeyValidityPS extends SignatureStruct { + constructor(w: DenominationKeyValidityPS_args) { + super(w); + } + + purpose() { + return SignaturePurpose.MASTER_DENOMINATION_KEY_VALIDITY; + } + + fieldTypes() { + return [ + ["master", EddsaPublicKey], + ["start", AbsoluteTimeNbo], + ["expire_withdraw", AbsoluteTimeNbo], + ["expire_spend", AbsoluteTimeNbo], + ["expire_legal", AbsoluteTimeNbo], + ["value", AmountNbo], + ["fee_withdraw", AmountNbo], + ["fee_deposit", AmountNbo], + ["fee_refresh", AmountNbo], + ["denom_hash", HashCode] + ]; + } +} + interface Encodeable { encode(arena?: Arena): ByteArray; @@ -932,6 +974,22 @@ export function eddsaSign(purpose: EccSignaturePurpose, } +export function eddsaVerify(purposeNum: number, + verify: EccSignaturePurpose, + sig: EddsaSignature, + pub: EddsaPublicKey, + a?: Arena): boolean { + let r = emsc.eddsa_verify(purposeNum, + verify.nativePtr, + sig.nativePtr, + pub.nativePtr); + if (r === GNUNET_OK) { + return true; + } + return false; +} + + export function rsaUnblind(sig: RsaSignature, bk: RsaBlindingKey, pk: RsaPublicKey, diff --git a/extension/lib/wallet/types.ts b/extension/lib/wallet/types.ts index 197aed938..fd4ca8b01 100644 --- a/extension/lib/wallet/types.ts +++ b/extension/lib/wallet/types.ts @@ -53,4 +53,56 @@ export class CreateReserveResponse { reservePub: string; static checked: (obj: any) => CreateReserveResponse; +} + + +@Checkable.Class +export class Denomination { + @Checkable.Value(AmountJson) + value: AmountJson; + + @Checkable.String + denom_pub: string; + + @Checkable.Value(AmountJson) + fee_withdraw: AmountJson; + + @Checkable.Value(AmountJson) + fee_deposit: AmountJson; + + @Checkable.Value(AmountJson) + fee_refresh: AmountJson; + + @Checkable.String + stamp_start: string; + + @Checkable.String + stamp_expire_withdraw: string; + + @Checkable.String + stamp_expire_legal: string; + + @Checkable.String + stamp_expire_deposit: string; + + @Checkable.String + master_sig: string; + + @Checkable.Optional(Checkable.String) + pub_hash: string; + + static checked: (obj: any) => Denomination; +} + + +export interface IMintInfo { + baseUrl: string; + masterPublicKey: string; + denoms: Denomination[]; +} + +export interface ReserveCreationInfo { + mintInfo: IMintInfo; + selectedDenoms: Denomination[]; + withdrawFee: AmountJson; }
\ No newline at end of file diff --git a/extension/lib/wallet/wallet.ts b/extension/lib/wallet/wallet.ts index 608876abf..eca937ff1 100644 --- a/extension/lib/wallet/wallet.ts +++ b/extension/lib/wallet/wallet.ts @@ -22,37 +22,49 @@ */ import * as native from "./emscriptif"; -import {AmountJson, CreateReserveResponse} from "./types"; +import {AmountJson, CreateReserveResponse, IMintInfo, Denomination} from "./types"; import {HttpResponse, RequestException} from "./http"; import {Query} from "./query"; import {Checkable} from "./checkable"; import {canonicalizeBaseUrl} from "./helpers"; +import {ReserveCreationInfo} from "./types"; "use strict"; -export interface Mint { - baseUrl: string; - keys: Keys -} - export interface CoinWithDenom { coin: Coin; denom: Denomination; } -export interface Keys { + +@Checkable.Class +export class KeysJson { + @Checkable.List(Checkable.Value(Denomination)) denoms: Denomination[]; -} -export interface Denomination { - value: AmountJson; - denom_pub: string; - fee_withdraw: AmountJson; - fee_deposit: AmountJson; - stamp_expire_withdraw: string; + @Checkable.String + master_public_key: string; + + @Checkable.Any + auditors: any[]; + + @Checkable.String + list_issue_date: string; + + @Checkable.Any + signkeys: any; + + @Checkable.String + eddsa_pub: string; + + @Checkable.String + eddsa_sig: string; + + static checked: (obj: any) => KeysJson; } + export interface PreCoin { coinPub: string; coinPriv: string; @@ -75,6 +87,115 @@ export interface Coin { } +function isValidDenom(denom: Denomination, + masterPub: string): boolean { + let p = new native.DenominationKeyValidityPS({ + master: native.EddsaPublicKey.fromCrock(masterPub), + denom_hash: native.RsaPublicKey.fromCrock(denom.denom_pub).encode().hash(), + expire_legal: native.AbsoluteTimeNbo.fromTalerString(denom.stamp_expire_legal), + expire_spend: native.AbsoluteTimeNbo.fromTalerString(denom.stamp_expire_deposit), + expire_withdraw: native.AbsoluteTimeNbo.fromTalerString(denom.stamp_expire_withdraw), + start: native.AbsoluteTimeNbo.fromTalerString(denom.stamp_start), + value: (new native.Amount(denom.value)).toNbo(), + fee_deposit: (new native.Amount(denom.fee_deposit)).toNbo(), + fee_refresh: (new native.Amount(denom.fee_refresh)).toNbo(), + fee_withdraw: (new native.Amount(denom.fee_withdraw)).toNbo(), + }); + + let nativeSig = new native.EddsaSignature(); + nativeSig.loadCrock(denom.master_sig); + + let nativePub = native.EddsaPublicKey.fromCrock(masterPub); + + return native.eddsaVerify(native.SignaturePurpose.MASTER_DENOMINATION_KEY_VALIDITY, + p.toPurpose(), + nativeSig, + nativePub); + +} + + +class MintInfo implements IMintInfo { + baseUrl: string; + masterPublicKey: string; + denoms: Denomination[]; + + constructor(obj: {baseUrl: string} & any) { + this.baseUrl = obj.baseUrl; + + if (obj.denoms) { + this.denoms = Array.from(<Denomination[]>obj.denoms); + } else { + this.denoms = []; + } + + if (typeof obj.masterPublicKey === "string") { + this.masterPublicKey = obj.masterPublicKey; + } + } + + static fresh(baseUrl: string): MintInfo { + return new MintInfo({baseUrl}); + } + + /** + * Merge new key information into the mint info. + * If the new key information is invalid (missing fields, + * invalid signatures), an exception is thrown, but the + * mint info is updated with the new information up until + * the first error. + */ + mergeKeys(newKeys: KeysJson) { + if (!this.masterPublicKey) { + this.masterPublicKey = newKeys.master_public_key; + } + + if (this.masterPublicKey != newKeys.master_public_key) { + throw Error("public keys do not match"); + } + + for (let newDenom of newKeys.denoms) { + let found = false; + for (let oldDenom of this.denoms) { + if (oldDenom.denom_pub === newDenom.denom_pub) { + let a = Object.assign({}, oldDenom); + let b = Object.assign({}, newDenom); + // pub hash is only there for convenience in the wallet + delete a["pub_hash"]; + delete b["pub_hash"]; + if (!_.isEqual(a, b)) { + console.log("old/new:"); + console.dir(a); + console.dir(b); + throw Error("denomination modified"); + } + // TODO: check if info still matches + found = true; + break; + } + } + + if (found) { + continue; + } + + console.log("validating denomination"); + + if (!isValidDenom(newDenom, this.masterPublicKey)) { + throw Error("signature on denomination invalid"); + } + + let d: Denomination = Object.assign({}, newDenom); + d.pub_hash = native.RsaPublicKey.fromCrock(d.denom_pub) + .encode() + .hash() + .toCrock(); + this.denoms.push(d); + } + } +} + + @Checkable.Class export class CreateReserveRequest { /** @@ -107,14 +228,14 @@ export class ConfirmReserveRequest { @Checkable.Class -export class MintInfo { +export class MintHandle { @Checkable.String master_pub: string; @Checkable.String url: string; - static checked: (obj: any) => MintInfo; + static checked: (obj: any) => MintHandle; } @@ -144,8 +265,8 @@ export class Contract { @Checkable.String merchant_pub: string; - @Checkable.List(Checkable.Value(MintInfo)) - mints: MintInfo[]; + @Checkable.List(Checkable.Value(MintHandle)) + mints: MintHandle[]; @Checkable.List(Checkable.AnyObject) products: any[]; @@ -274,6 +395,10 @@ function rankDenom(denom1: any, denom2: any) { } +function mergeMintKeys(oldKeys: KeysJson, newKeys: KeysJson) { +} + + /** * Create a pre-coin of the given denomination to be withdrawn from then given * reserve. @@ -441,7 +566,7 @@ export class Wallet { */ private getPossibleMintCoins(paymentAmount: AmountJson, depositFeeLimit: AmountJson, - allowedMints: MintInfo[]): Promise<MintCoins> { + allowedMints: MintHandle[]): Promise<MintCoins> { // Mapping from mint base URL to list of coins together with their // denomination let m: MintCoins = {}; @@ -639,7 +764,8 @@ export class Wallet { return Query(this.db).put("history", depleted).finish(); }) .catch((e) => { - console.error("Failed to deplete reserve", e.stack); + console.error("Failed to deplete reserve"); + console.error(e); }); } @@ -791,8 +917,8 @@ export class Wallet { /** * Withdraw coins from a reserve until it is empty. */ - private depleteReserve(reserve, mint: Mint): Promise<void> { - let denomsAvailable: Denomination[] = copy(mint.keys.denoms); + private depleteReserve(reserve, mint: MintInfo): Promise<void> { + let denomsAvailable: Denomination[] = copy(mint.denoms); let denomsForWithdraw = getWithdrawDenomList(reserve.current_amount, denomsAvailable); @@ -811,7 +937,7 @@ export class Wallet { * Update the information about a reserve that is stored in the wallet * by quering the reserve's mint. */ - private updateReserve(reservePub: string, mint: Mint): Promise<Reserve> { + private updateReserve(reservePub: string, mint: MintInfo): Promise<Reserve> { return Query(this.db) .get("reserves", reservePub) .then((reserve) => { @@ -846,26 +972,58 @@ export class Wallet { } + getReserveCreationInfo(baseUrl: string, + amount: AmountJson): Promise<ReserveCreationInfo> { + return this.updateMintFromUrl(baseUrl) + .then((mintInfo: IMintInfo) => { + let selectedDenoms = getWithdrawDenomList(amount, + mintInfo.denoms); + + let acc = native.Amount.getZero(amount.currency); + for (let d of selectedDenoms) { + acc.add(new native.Amount(d.fee_withdraw)); + } + let ret: ReserveCreationInfo = { + mintInfo, + selectedDenoms, + withdrawFee: acc.toJson(), + }; + return ret; + }); + } + + /** * Update or add mint DB entry by fetching the /keys information. * Optionally link the reserve entry to the new or existing * mint entry in then DB. */ - private updateMintFromUrl(baseUrl): Promise<Mint> { + updateMintFromUrl(baseUrl): Promise<MintInfo> { + baseUrl = canonicalizeBaseUrl(baseUrl); let reqUrl = URI("keys").absoluteTo(baseUrl); return this.http.get(reqUrl).then((resp) => { if (resp.status != 200) { throw Error("/keys request failed"); } - let mintKeysJson = JSON.parse(resp.responseText); - if (!mintKeysJson) { - throw new RequestException({url: reqUrl, hint: "keys invalid"}); - } - let mint: Mint = { - baseUrl: baseUrl, - keys: mintKeysJson - }; - return Query(this.db).put("mints", mint).finish().then(() => mint); + let mintKeysJson = KeysJson.checked(JSON.parse(resp.responseText)); + + return Query(this.db).get("mints", baseUrl).then((r) => { + let mint; + + console.log("got mints result"); + console.dir(r); + + if (!r) { + mint = MintInfo.fresh(baseUrl); + console.log("making fresh mint"); + } else { + mint = new MintInfo(r); + console.log("using old mint"); + } + + mint.mergeKeys(mintKeysJson); + return Query(this.db).put("mints", mint).finish().then(() => mint); + }); }); } diff --git a/extension/lib/wallet/wxmessaging.ts b/extension/lib/wallet/wxmessaging.ts index 934984722..1267167d2 100644 --- a/extension/lib/wallet/wxmessaging.ts +++ b/extension/lib/wallet/wxmessaging.ts @@ -19,6 +19,7 @@ import {Wallet, Offer, Badge, ConfirmReserveRequest, CreateReserveRequest} from import {deleteDb, exportDb, openTalerDb} from "./db"; import {BrowserHttpLib} from "./http"; import {Checkable} from "./checkable"; +import {AmountJson} from "./types"; "use strict"; @@ -77,7 +78,11 @@ function makeHandlers(db: IDBDatabase, } catch (e) { if (e instanceof Checkable.SchemaError) { console.error("schema error:", e.message); - return Promise.resolve({error: "invalid contract", hint: e.message, detail: detail}); + return Promise.resolve({ + error: "invalid contract", + hint: e.message, + detail: detail + }); } else { throw e; } @@ -88,6 +93,19 @@ function makeHandlers(db: IDBDatabase, ["execute-payment"]: function(detail) { return wallet.executePayment(detail.H_contract); }, + ["mint-info"]: function(detail) { + if (!detail.baseUrl) { + return Promise.resolve({error: "bad url"}); + } + return wallet.updateMintFromUrl(detail.baseUrl); + }, + ["reserve-creation-info"]: function(detail) { + if (!detail.baseUrl || typeof detail.baseUrl !== "string") { + return Promise.resolve({error: "bad url"}); + } + let amount = AmountJson.checked(detail.amount); + return wallet.getReserveCreationInfo(detail.baseUrl, amount); + }, ["get-history"]: function(detail) { // TODO: limit history length return wallet.getHistory(); @@ -119,7 +137,7 @@ function dispatch(handlers, req, sendResponse) { }) }) .catch((e) => { - console.log("exception during wallet handler'"); + console.log("exception during wallet handler"); console.error(e.stack); sendResponse({ error: "exception", @@ -155,7 +173,18 @@ export function wxMain() { let wallet = new Wallet(db, http, badge); let handlers = makeHandlers(db, wallet); chrome.runtime.onMessage.addListener((req, sender, sendResponse) => { - return dispatch(handlers, req, sendResponse) + try { + return dispatch(handlers, req, sendResponse) + } catch (e) { + console.log("exception during wallet handler (dispatch)"); + console.error(e.stack); + sendResponse({ + error: "exception", + hint: e.message, + stack: e.stack.toString() + }); + return false; + } }); }) .catch((e) => { diff --git a/extension/manifest.json b/extension/manifest.json index 1eeeea6a6..1589be886 100644 --- a/extension/manifest.json +++ b/extension/manifest.json @@ -42,6 +42,7 @@ "background": { "scripts": [ "lib/vendor/URI.js", + "lib/vendor/lodash.core.min.js", "lib/emscripten/libwrapper.js", "lib/vendor/system-csp-production.src.js", "background/main.js" diff --git a/extension/pages/confirm-create-reserve.js b/extension/pages/confirm-create-reserve.js index 4cb8c03fb..6241fcab0 100644 --- a/extension/pages/confirm-create-reserve.js +++ b/extension/pages/confirm-create-reserve.js @@ -45,9 +45,49 @@ System.register(["../lib/wallet/helpers", "../lib/wallet/types", "mithril"], fun else { mx("p", "Checking URL, please wait ..."); } + if (ctrl.reserveCreationInfo) { + var withdrawFeeStr = helpers_1.amountToPretty(ctrl.reserveCreationInfo.withdrawFee); + mx("p", "Fee for withdrawal: " + withdrawFeeStr); + if (ctrl.detailCollapsed()) { + mx("button.linky", { + onclick: function () { + ctrl.detailCollapsed(false); + } + }, "show more"); + } + else { + mx("button.linky", { + onclick: function () { + ctrl.detailCollapsed(true); + } + }, "show less"); + mx("div", {}, renderCoinTable(ctrl.reserveCreationInfo.selectedDenoms)); + } + } return mithril_1.default("div", controls); var _a; } + function renderCoinTable(denoms) { + function row(denom) { + return mithril_1.default("tr", [ + mithril_1.default("td", denom.pub_hash.substr(0, 5) + "..."), + mithril_1.default("td", helpers_1.amountToPretty(denom.value)), + mithril_1.default("td", helpers_1.amountToPretty(denom.fee_withdraw)), + mithril_1.default("td", helpers_1.amountToPretty(denom.fee_refresh)), + mithril_1.default("td", helpers_1.amountToPretty(denom.fee_deposit)), + ]); + } + return mithril_1.default("table", [ + mithril_1.default("tr", [ + mithril_1.default("th", "Key Hash"), + mithril_1.default("th", "Value"), + mithril_1.default("th", "Withdraw Fee"), + mithril_1.default("th", "Refresh Fee"), + mithril_1.default("th", "Deposit Fee"), + ]), + denoms.map(row) + ]); + } function probeMint(mintBaseUrl) { throw Error("not implemented"); } @@ -64,6 +104,21 @@ System.register(["../lib/wallet/helpers", "../lib/wallet/types", "mithril"], fun } return Promise.resolve(mint); } + function getReserveCreationInfo(baseUrl, amount) { + var m = { type: "reserve-creation-info", detail: { baseUrl: baseUrl, amount: amount } }; + return new Promise(function (resolve, reject) { + chrome.runtime.sendMessage(m, function (resp) { + if (resp.error) { + console.error("error response", resp); + var e = Error("call to reserve-creation-info failed"); + e.errorResponse = resp; + reject(e); + return; + } + resolve(resp); + }); + }); + } function main() { var url = URI(document.location.href); var query = URI.parseQuery(url.query()); @@ -128,6 +183,9 @@ System.register(["../lib/wallet/helpers", "../lib/wallet/types", "mithril"], fun this.url = mithril_1.default.prop(); this.statusString = null; this.isValidMint = false; + this.reserveCreationInfo = null; + this.detailCollapsed = mithril_1.default.prop(true); + console.log("creating main controller"); this.amount = amount; this.callbackUrl = callbackUrl; this.timer = new DelayTimer(800, function () { return _this.update(); }); @@ -140,47 +198,44 @@ System.register(["../lib/wallet/helpers", "../lib/wallet/types", "mithril"], fun var doUpdate = function () { if (!_this.url()) { _this.statusString = (_a = ["Please enter a URL"], _a.raw = ["Please enter a URL"], i18n(_a)); - mithril_1.default.endComputation(); return; } _this.statusString = null; var parsedUrl = URI(_this.url()); if (parsedUrl.is("relative")) { _this.statusString = (_b = ["The URL you've entered is not valid (must be absolute)"], _b.raw = ["The URL you've entered is not valid (must be absolute)"], i18n(_b)); - mithril_1.default.endComputation(); return; } - var keysUrl = URI("/keys").absoluteTo(helpers_1.canonicalizeBaseUrl(_this.url())); - console.log("requesting keys from '" + keysUrl + "'"); - _this.request = new XMLHttpRequest(); - _this.request.onreadystatechange = function () { - if (_this.request.readyState == XMLHttpRequest.DONE) { - switch (_this.request.status) { - case 200: - _this.isValidMint = true; - _this.statusString = "The mint base URL is valid!"; - break; - case 0: - _this.statusString = "unknown request error"; - break; - default: - _this.statusString = "request failed with status " + _this.request.status; - break; - } + mithril_1.default.redraw(true); + console.log("doing get mint info"); + getReserveCreationInfo(_this.url(), _this.amount) + .then(function (r) { + console.log("get mint info resolved"); + _this.isValidMint = true; + _this.reserveCreationInfo = r; + console.dir(r); + _this.statusString = "The mint base URL is valid!"; + mithril_1.default.endComputation(); + }) + .catch(function (e) { + console.log("get mint info rejected"); + if (e.hasOwnProperty("httpStatus")) { + _this.statusString = "request failed with status " + _this.request.status; + } + else { + _this.statusString = "unknown request error"; } mithril_1.default.endComputation(); - }; - _this.request.open("get", keysUrl.href()); - _this.request.send(); + }); var _a, _b; }; - mithril_1.default.startComputation(); doUpdate(); console.log("got update"); }; Controller.prototype.reset = function () { this.isValidMint = false; this.statusString = null; + this.reserveCreationInfo = null; if (this.request) { this.request.abort(); this.request = null; diff --git a/extension/pages/confirm-create-reserve.tsx b/extension/pages/confirm-create-reserve.tsx index 4be934d37..386fa24e3 100644 --- a/extension/pages/confirm-create-reserve.tsx +++ b/extension/pages/confirm-create-reserve.tsx @@ -19,6 +19,10 @@ import {amountToPretty, canonicalizeBaseUrl} from "../lib/wallet/helpers"; import {AmountJson, CreateReserveResponse} from "../lib/wallet/types"; import m from "mithril"; +import {IMintInfo} from "../lib/wallet/types"; +import {ReserveCreationInfo} from "../lib/wallet/types"; +import MithrilComponent = _mithril.MithrilComponent; +import {Denomination} from "../lib/wallet/types"; "use strict"; @@ -56,12 +60,15 @@ class Controller { url = m.prop<string>(); statusString = null; isValidMint = false; + reserveCreationInfo: ReserveCreationInfo = null; private timer: DelayTimer; private request: XMLHttpRequest; amount: AmountJson; callbackUrl: string; + detailCollapsed = m.prop<boolean>(true); constructor(initialMintUrl: string, amount: AmountJson, callbackUrl: string) { + console.log("creating main controller"); this.amount = amount; this.callbackUrl = callbackUrl; this.timer = new DelayTimer(800, () => this.update()); @@ -74,44 +81,39 @@ class Controller { const doUpdate = () => { if (!this.url()) { this.statusString = i18n`Please enter a URL`; - m.endComputation(); return; } this.statusString = null; let parsedUrl = URI(this.url()); if (parsedUrl.is("relative")) { this.statusString = i18n`The URL you've entered is not valid (must be absolute)`; - m.endComputation(); return; } - const keysUrl = URI("/keys").absoluteTo(canonicalizeBaseUrl(this.url())); - - console.log(`requesting keys from '${keysUrl}'`); - - this.request = new XMLHttpRequest(); - this.request.onreadystatechange = () => { - if (this.request.readyState == XMLHttpRequest.DONE) { - switch (this.request.status) { - case 200: - this.isValidMint = true; - this.statusString = "The mint base URL is valid!"; - break; - case 0: - this.statusString = `unknown request error`; - break; - default: - this.statusString = `request failed with status ${this.request.status}`; - break; + m.redraw(true); + + console.log("doing get mint info"); + + getReserveCreationInfo(this.url(), this.amount) + .then((r: ReserveCreationInfo) => { + console.log("get mint info resolved"); + this.isValidMint = true; + this.reserveCreationInfo = r; + console.dir(r); + this.statusString = "The mint base URL is valid!"; + m.endComputation(); + }) + .catch((e) => { + console.log("get mint info rejected"); + if (e.hasOwnProperty("httpStatus")) { + this.statusString = `request failed with status ${this.request.status}`; + } else { + this.statusString = `unknown request error`; } - } - m.endComputation(); - }; - this.request.open("get", keysUrl.href()); - this.request.send(); + m.endComputation(); + }); }; - m.startComputation(); doUpdate(); @@ -121,6 +123,7 @@ class Controller { reset() { this.isValidMint = false; this.statusString = null; + this.reserveCreationInfo = null; if (this.request) { this.request.abort(); this.request = null; @@ -168,7 +171,7 @@ class Controller { function view(ctrl: Controller) { let controls = []; - let mx = (x: string, ...args) => controls.push(m(x, ...args)); + let mx = (x, ...args) => controls.push(m(x, ...args)); mx("p", i18n`The bank wants to create a reserve over ${amountToPretty( @@ -196,10 +199,53 @@ function view(ctrl: Controller) { mx("p", "Checking URL, please wait ..."); } + if (ctrl.reserveCreationInfo) { + let withdrawFeeStr = amountToPretty(ctrl.reserveCreationInfo.withdrawFee); + mx("p", `Fee for withdrawal: ${withdrawFeeStr}`); + + if (ctrl.detailCollapsed()) { + mx("button.linky", { + onclick: () => { + ctrl.detailCollapsed(false); + } + }, "show more"); + } else { + mx("button.linky", { + onclick: () => { + ctrl.detailCollapsed(true); + } + }, "show less"); + mx("div", {}, renderCoinTable(ctrl.reserveCreationInfo.selectedDenoms)) + } + } + return m("div", controls); } +function renderCoinTable(denoms: Denomination[]) { + function row(denom: Denomination) { + return m("tr", [ + m("td", denom.pub_hash.substr(0, 5) + "..."), + m("td", amountToPretty(denom.value)), + m("td", amountToPretty(denom.fee_withdraw)), + m("td", amountToPretty(denom.fee_refresh)), + m("td", amountToPretty(denom.fee_deposit)), + ]); + } + return m("table", [ + m("tr", [ + m("th", "Key Hash"), + m("th", "Value"), + m("th", "Withdraw Fee"), + m("th", "Refresh Fee"), + m("th", "Deposit Fee"), + ]), + denoms.map(row) + ]); +} + + interface MintProbeResult { keyInfo?: any; } @@ -227,6 +273,24 @@ function getSuggestedMint(currency: string): Promise<string> { } +function getReserveCreationInfo(baseUrl: string, + amount: AmountJson): Promise<ReserveCreationInfo> { + let m = {type: "reserve-creation-info", detail: {baseUrl, amount}}; + return new Promise((resolve, reject) => { + chrome.runtime.sendMessage(m, (resp) => { + if (resp.error) { + console.error("error response", resp); + let e = Error("call to reserve-creation-info failed"); + (e as any).errorResponse = resp; + reject(e); + return; + } + resolve(resp); + }); + }); +} + + export function main() { const url = URI(document.location.href); const query: any = URI.parseQuery(url.query()); diff --git a/extension/style/wallet.css b/extension/style/wallet.css index 39d87b8f5..0af2240e0 100644 --- a/extension/style/wallet.css +++ b/extension/style/wallet.css @@ -120,4 +120,19 @@ button.confirm-pay { @keyframes fade { from {opacity: 0} to {opacity: 1} - }
\ No newline at end of file + } + +button.linky { + background:none!important; + border:none; + padding:0!important; + + font-family:arial,sans-serif; + color:#069; + text-decoration:underline; + cursor:pointer; +} + +table, th, td { + border: 1px solid black; +}
\ No newline at end of file |