Jessibuca是一款开源的纯H5直播流播放器,通过Emscripten将音视频解码库编译成Js(ams.js/wasm)运行于浏览器之中。兼容几乎所有浏览器,可以运行在PC、手机、微信中,无需额外安装插件。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

20 lines
789 KiB

var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{return 0}return ret}function getNativeTypeSize(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 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function makeBigInt(low,high,unsigned){return unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296}function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}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=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);ret=convertReturnValue(ret);if(stack!==0)stackRestore(stack);return ret}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)}}var ALLOC_NONE=3;var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(u8Array[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx<endPtr){var u0=u8Array[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|u8Array[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}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){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&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(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}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<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 len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}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}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}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()}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;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 STACK_BASE=47616,DYNAMIC_BASE=5290496,DYNAMICTOP_PTR=47584;var TOTAL_STACK=5242880;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(INITIAL_TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+INITIAL_TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}}updateGlobalBufferViews();HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;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){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __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(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}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}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}__ATINIT__.push({func:function(){globalCtors()}});memoryInitializer="data:application/octet-stream;base64,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LQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEgAVABgAEAAQABAAEAARABMAFgAZABAAEAARABIAFAAWABkAHQAQABAAEgAVABgAGwAfACQAEQARABQAGAAeACMAKQAvABIAEwAWABsAIwAsADYAQQAVABYAGQAfACkANgBGAFgAGAAZAB0AJAAvAEEAWABzABAAEAAQABAAEQASABQAGAAQABAAEAARABIAFAAYABkAEAAQABEAEgAUABgAGQAcABAAEQASABQAGAAZABwAIQARABIAFAAYABkAHAAhACkAEgAUABgAGQAcACEAKQA2ABQAGAAZABwAIQApADYARwAYABkAHAAhACkANgBHAFsAEAAQABAAEAAQABAAEAAQABEAEQASABIAFQAVABgAGAAQABAAEAAQABAAEAAQABAAEQARABIAEgAVABUAGAAYABAAEAAQABAAEAAQABAAEAARABEAEwATABYAFgAZABkAEAAQABAAEAAQABAAEAAQABEAEQATABMAFgAWABkAGQAQABAAEAAQABEAEQASABIAFAAUABYAFgAZABkAHQAdABAAEAAQABAAEQARABIAEgAUABQAFgAWABkAGQAdAB0AEAAQABAAEAASABIAFQAVABgAGAAbABsAHwAfACQAJAAQABAAEAAQABIAEgAVABUAGAAYABsAGwAfAB8AJAAkABEAEQARABEAFAAUABgAGAAeAB4AIwAjACkAKQAvAC8AEQARABEAEQAUABQAGAAYAB4AHgAjACMAKQApAC8ALwASABIAEwATABYAFgAbABsAIwAjACwALAA2ADYAQQBBABIAEgATABMAFgAWABsAGwAjACMALAAsADYANgBBAEEAFQAVABYAFgAZABkAHwAfACkAKQA2ADYARgBGAFgAWAAVABUAFgAWABkAGQAfAB8AKQApADYANgBGAEYAWABYABgAGAAZABkAHQAdACQAJAAvAC8AQQBBAFgAWABzAHMAGAAYABkAGQAdAB0AJAAkAC8ALwBBAEEAWABYAHMAcwAQABAAEAAQABAAEAAQABAAEQARABIAEgAUABQAGAAYABAAEAAQABAAEAAQABAAEAARABEAEgASABQAFAAYABgAEAAQABAAEAAQABAAEQARABIAEgAUABQAGAAYABkAGQAQABAAEAAQABAAEAARABEAEgASABQAFAAYABgAGQAZABAAEAAQABAAEQARABIAEgAUABQAGAAYABkAGQAcABwAEAAQABAAEAARABEAEgASABQAFAAYABgAGQAZABwAHAAQABAAEQARABIAEgAUABQAGAAYABkAGQAcABwAIQAhABAAEAARABEAEgASABQAFAAYABgAGQAZABwAHAAhACEAEQARABIAEgAUABQAGAAYABkAGQAcABwAIQAhACkAKQARABEAEgASABQAFAAYABgAGQAZABwAHAAhACEAKQApABIAEgAUABQAGAAYABkAGQAcABwAIQAhACkAKQA2ADYAEgASABQAFAAYABgAGQAZABwAHAAhACEAKQApADYANgAUABQAGAAYABkAGQAcABwAIQAhACkAKQA2ADYARwBHABQAFAAYABgAGQAZABwAHAAhACEAKQApADYANgBHAEcAGAAYABkAGQAcABwAIQAhACkAKQA2ADYARwBHAFsAWwAYABgAGQAZABwAHAAhACEAKQApADYANgBHAEcAWwBbABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABUAFQAVABUAGAAYABgAGAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAVABUAFQAVABgAGAAYABgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFQAVABUAFQAYABgAGAAYABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABUAFQAVABUAGAAYABgAGAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEwATABMAEwAWABYAFgAWABkAGQAZABkAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAARABEAEQARABMAEwATABMAFgAWABYAFgAZABkAGQAZABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEQARABEAEQATABMAEwATABYAFgAWABYAGQAZABkAGQAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEwATABMAEwAWABYAFgAWABkAGQAZABkAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABYAFgAWABYAGQAZABkAGQAdAB0AHQAdABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAWABYAFgAWABkAGQAZABkAHQAdAB0AHQAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAFgAWABYAFgAZABkAGQAZAB0AHQAdAB0AEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABYAFgAWABYAGQAZABkAGQAdAB0AHQAdABAAEAAQABAAEAAQABAAEAASABIAEgASABUAFQAVABUAGAAYABgAGAAbABsAGwAbAB8AHwAfAB8AJAAkACQAJAAQABAAEAAQABAAEAAQABAAEgASABIAEgAVABUAFQAVABgAGAAYABgAGwAbABsAGwAfAB8AHwAfACQAJAAkACQAEAAQABAAEAAQABAAEAAQABIAEgASABIAFQAVABUAFQAYABgAGAAYABsAGwAbABsAHwAfAB8AHwAkACQAJAAkABAAEAAQABAAEAAQABAAEAASABIAEgASABUAFQAVABUAGAAYABgAGAAbABsAGwAbAB8AHwAfAB8AJAAkACQAJAARABEAEQARABEAEQARABEAFAAUABQAFAAYABgAGAAYAB4AHgAeAB4AIwAjACMAIwApACkAKQApAC8ALwAvAC8AEQARABEAEQARABEAEQARABQAFAAUABQAGAAYABgAGAAeAB4AHgAeACMAIwAjACMAKQApACkAKQAvAC8ALwAvABEAEQARABEAEQARABEAEQAUABQAFAAUABgAGAAYABgAHgAeAB4AHgAjACMAIwAjACkAKQApACkALwAvAC8ALwARABEAEQARABEAEQARABEAFAAUABQAFAAYABgAGAAYAB4AHgAeAB4AIwAjACMAIwApACkAKQApAC8ALwAvAC8AEgASABIAEgATABMAEwATABYAFgAWABYAGwAbABsAGwAjACMAIwAjACwALAAsACwANgA2ADYANgBBAEEAQQBBABIAEgASABIAEwATABMAEwAWABYAFgAWABsAGwAbABsAIwAjACMAIwAsACwALAAsADYANgA2ADYAQQBBAEEAQQASABIAEgASABMAEwATABMAFgAWABYAFgAbABsAGwAbACMAIwAjACMALAAsACwALAA2ADYANgA2AEEAQQBBAEEAEgASABIAEgATABMAEwATABYAFgAWABYAGwAbABsAGwAjACMAIwAjACwALAAsACwANgA2ADYANgBBAEEAQQBBABUAFQAVABUAFgAWABYAFgAZABkAGQAZAB8AHwAfAB8AKQApACkAKQA2ADYANgA2AEYARgBGAEYAWABYAFgAWAAVABUAFQAVABYAFgAWABYAGQAZABkAGQAfAB8AHwAfACkAKQApACkANgA2ADYANgBGAEYARgBGAFgAWABYAFgAFQAVABUAFQAWABYAFgAWABkAGQAZABkAHwAfAB8AHwApACkAKQApADYANgA2ADYARgBGAEYARgBYAFgAWABYABUAFQAVABUAFgAWABYAFgAZABkAGQAZAB8AHwAfAB8AKQApACkAKQA2ADYANgA2AEYARgBGAEYAWABYAFgAWAAYABgAGAAYABkAGQAZABkAHQAdAB0AHQAkACQAJAAkAC8ALwAvAC8AQQBBAEEAQQBYAFgAWABYAHMAcwBzAHMAGAAYABgAGAAZABkAGQAZAB0AHQAdAB0AJAAkACQAJAAvAC8ALwAvAEEAQQBBAEEAWABYAFgAWABzAHMAcwBzABgAGAAYABgAGQAZABkAGQAdAB0AHQAdACQAJAAkACQALwAvAC8ALwBBAEEAQQBBAFgAWABYAFgAcwBzAHMAcwAYABgAGAAYABkAGQAZABkAHQAdAB0AHQAkACQAJAAkAC8ALwAvAC8AQQBBAEEAQQBYAFgAWABYAHMAcwBzAHMAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAQABAAEAAQABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAIQAhACEAIQAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcACEAIQAhACEAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcACEAIQAhACEAKQApACkAKQARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhACkAKQApACkAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAIQAhACEAIQApACkAKQApABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcACEAIQAhACEAKQApACkAKQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAIQAhACEAIQApACkAKQApADYANgA2ADYAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcACEAIQAhACEAKQApACkAKQA2ADYANgA2ABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhACkAKQApACkANgA2ADYANgASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAIQAhACEAIQApACkAKQApADYANgA2ADYAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhACkAKQApACkANgA2ADYANgBHAEcARwBHABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAIQAhACEAIQApACkAKQApADYANgA2ADYARwBHAEcARwAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcACEAIQAhACEAKQApACkAKQA2ADYANgA2AEcARwBHAEcAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhACkAKQApACkANgA2ADYANgBHAEcA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QJcAAAsAAAAUAAAADQAAAA4AAAAGAAAAAAAAANCXAAALAAAAFQAAAA0AAAAOAAAABAAAAAMAAAADAAAAAwAAAEg1TENCYXNlACRwbGF5AG9uRGF0YQAkY2xvc2UAZGVjb2RlVmlkZW9CdWZmZXIAaXNQbGF5aW5nAGZsdk1vZGUAYXVkaW9CdWZmZXIAdmlkZW9CdWZmZXIAYnBzAGJ1ZmZlckluZm8ASDVMaXZlQ2xpZW50AGNsb3NlAHdlYkdMQ2FudmFzAGlzV2ViR0wAd2ViZ2w6JXMAdHJ1ZQBmYWxzZQAuZmx2AFdlYlNvY2tldABiaW5hcnlUeXBlAGFycmF5YnVmZmVyAG9ubWVzc2FnZQB3cwBOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQBOU3QzX18yMjFfX2Jhc2ljX3N0cmluZ19jb21tb25JTGIxRUVFAGJpbmQATjEwZW1zY3JpcHRlbjN2YWxFAGRhdGEAdW5rbm93IHR5cGU6ICVkAHNlbmQAWyJfX2JhbmR3aWR0aCJdAGVycm9yIHR5cGUgOiVkAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAaW5pdEF1ZGlvAHNldCBhdWRpbyBidWZmZXJMZW5ndGg6JWQAZ290IGgyNjQgdmlkZW8AZ290IGgyNjUgdmlkZW8AT25seSBzdXBwb3J0IHZpZGVvIGguMjY0L2F2YyBvciBoLjI2NS9oZXZjIGNvZGVjLiBhY3R1YWw9JWQAdmlkZW8gaW5mbyBzZXQhAHJlc2V0VGltZVNwYW4ACkVycm9yIGluIHNldHRpbmcgdGhlIGNvZGVjIGluIGhlYWRlciBkZWNvZGUgbW9kZQAKRXJyb3IgaW4gaGVhZGVyIHZwcyBkZWNvZGUgJXgACkVycm9yIGluIGhlYWRlciBzcHMgZGVjb2RlICV4AApFcnJvciBpbiBoZWFkZXIgcHBzIGRlY29kZSAleAAKRXJyb3IgaW4gc2V0dGluZyB0aGUgY29kZWMgaW4gZnJhbWUgZGVjb2RlIG1vZGUAY2FudmFzOiVkLCVkAHNldFZpZGVvU2l6ZQBwbGF5VmlkZW9CdWZmZXIAdGltZXNwYW4AY2xlYXJUaW1lb3V0AGZyb250AGJhY2sAc2l6ZQA4SDVMQ0Jhc2UAUDhINUxDQmFzZQBQSzhINUxDQmFzZQBpaQB2AHZpAHZpaWkAdmlpAGlpaQBub3RpZnlPbkRlc3RydWN0aW9uAGltcGxlbWVudABleHRlbmQAMTJINUxpdmVDbGllbnQATjEwZW1zY3JpcHRlbjd3cmFwcGVySThINUxDQmFzZUVFAE4xMGVtc2NyaXB0ZW44aW50ZXJuYWwxMVdyYXBwZXJCYXNlRQBQMTJINUxpdmVDbGllbnQAUEsxMkg1TGl2ZUNsaWVudABpaWlpAGF1ZGlvIGluaXQhICVkAEVycm9yIGluIENyZWF0ZSAlOHgKAApFcnJvciBpbiBzZXR0aW5nIG51bWJlciBvZiBjb3JlcwAKRXJyb3IgaW4gc2V0dGluZyBQcm9jZXNzb3IgdHlwZQBsaWJoZXZjIGluaXQAN0xpYmhldmMAMTJWaWRlb0RlY29kZXIAY29kZWMgPSAlZAB2aWRlbyBkZWNvZGVyIHJlbGVhc2UhCgBFcnJvciBpbiBDb2RlYyBkZWxldGUARXJyb3IgaW4gdmlkZW8gRnJhbWUgZGVjb2RlIDogcmV0ICV4IEVycm9yICV4CgBkcmF3AGF1ZGlvIGRlY29kZXIgcmVsZWFzZQoAYXVkaW8gZGVjb2RlciByZWxlYXNlIQoARmx2RGVjb2RlciByZWxlYXNlIQoAX19kZXN0cnVjdAAAGgoBBgcC/wQFAf8ocHNfYnVmX21nci0+YXU0X3N0YXR1c1tpZF0gIT0gMikAY29tbW9uXGloZXZjX2J1Zl9tZ3IuYwBpaGV2Y19idWZfbWdyX2dldF9uZXh0X2ZyZWUAaWhldmNfYnVmX21ncl9jaGVja19mcmVlAChwc19idWZfbWdyLT5hdTRfc3RhdHVzW2J1Zl9pZF0gIT0gMikAaWhldmNfYnVmX21ncl9yZWxlYXNlAGloZXZjX2J1Zl9tZ3Jfc2V0X3N0YXR1cwAoKGJzID4gMCkgJiYgKGJzIDw9IDMpKQBjb21tb25caWhldmNfZGVibGtfZWRnZV9maWx0ZXIuYwBpaGV2Y19kZWJsa19sdW1hX3ZlcnQAKGZpbHRlcl9mbGFnX3AgfHwgZmlsdGVyX2ZsYWdfcSkAKChicyA+IDApKQBpaGV2Y19kZWJsa19sdW1hX2hvcnoAaWhldmNfZGVibGtfY2hyb21hX3ZlcnQAaWhldmNfZGVibGtfY2hyb21hX2hvcnoAKChuYnJfZmxhZ3MgPT0gMHgxMTE4OCkgfHwgKG5icl9mbGFncyA9PSAweDEzM0NDKSB8fCAobmJyX2ZsYWdzID09IDB4MUZGRkYpKQBjb21tb25caWhldmNfaW50cmFfcHJlZF9maWx0ZXJzLmMAaWhldmNfaW50cmFfcHJlZF9sdW1hX3JlZl9zdWJzdF9hbGxfYXZsYmxlACgobnQgPT0gOCkgfHwgKG50ID09IDE2KSB8fCAobnQgPT0gMzIpKQAKW0hFVkMgREJHXSAlcy8lZDo6IABpaGV2Y2RfcmVzZXQAClJlc2V0IGNhbGxlZCAAClJlc2V0IGNhbGxlZCB3aXRob3V0IEluaXRpYWxpemluZyB0aGUgZGVjb2RlcgBpaGV2Y2RfY3RsAApEbyBub3RoaW5nAEAoIylJZDolc18lcyBWZXI6JXMgUmVsZWFzZWQgYnkgJXMgQnVpbGQ6ICVzIEAgJXMASEVWQ0RFQwBwcm9kdWN0aW9uADA1LjAwAElUVElBTQBNYXkgMzEgMjAxOQAxMDo1Mjo0MABhcGlfY2hlY2tfc3RydWN0X3Nhbml0eQBUaGUgaW5wdXQgYnl0ZXMgaXM6ICVkAGloZXZjZF9jeGFfYXBpX2Z1bmN0aW9uAGVycm9yIGNvZGUgPSAlZAoAKHBzX2NvZGVjLT5zX3BhcnNlLmk0X2VuZF9vZl9mcmFtZSAhPSAwKQBkZWNvZGVyXGloZXZjZF9kZWNvZGUuYwBpaGV2Y2RfZGVjb2RlAG5vcAAoMSA9PSAoKHU0X2JzICYgMykgPj4gMSkpAGRlY29kZXJcaWhldmNkX2RlYmxrLmMAaWhldmNkX2RlYmxrX2N0YgAoUFNMSUNFID09IHBzX3NsaWNlX2hkci0+aTFfc2xpY2VfdHlwZSB8fCBCU0xJQ0UgPT0gcHNfc2xpY2VfaGRyLT5pMV9zbGljZV90eXBlKQBkZWNvZGVyXGloZXZjZF9pbnRlcl9wcmVkLmMAaWhldmNkX2ludGVyX3ByZWRfY3RiAGRlY29kZXJcaWhldmNkX2NhYmFjLmMAaWhldmNkX2NhYmFjX2RlY29kZV90ZXJtaW5hdGUAKG51bWJpdHMgPj0gLTMyKQBkZWNvZGVyXGloZXZjZF9iaXRzdHJlYW0uYwBpaGV2Y2RfYml0c19zZWVrAChudW1iaXRzIDw9IDMyKQAoMCA9PSAoeDAgJSA4KSkAZGVjb2RlclxpaGV2Y2RfcGFyc2Vfc2xpY2UuYwBpaGV2Y2RfcGFyc2VfY29kaW5nX3VuaXQAKDAgPT0gKHkwICUgOCkpACh1NF9yYW5nZSA+PSAyNTYpAGRlY29kZXJcaWhldmNkX3BhcnNlX3Jlc2lkdWFsLmMAaWhldmNkX3BhcnNlX3Jlc2lkdWFsX2NvZGluZwAoKGN0eHRfaWR4ID49IDApICYmIChjdHh0X2lkeCA8IElIRVZDX0NBQl9DVFhUX0VORCkpAChudW1fY29lZmYgPiAwKQAobnVtX2NvZWZmIDwgMTcpACgobnVtX2NvZWZmIC0gMSkgPiAwKQAoKG51bV9jb2VmZiAtIDEpIDwgMTcpAChyaWNlX3BhcmFtID4gMCkAKHJpY2VfcGFyYW0gPCAxNykAKHU0X251bWJpbnMgPCAxNykAaWhldmNkX2NhYmFjX2RlY29kZV9ieXBhc3NfYmlucwAobnVtYmlucyA+IDApAChudW1iaW5zIDwgMTcpACgoayA+PSAwKSkAaWhldmNkX2NhYmFjX2RlY29kZV9ieXBhc3NfYmluc19lZ2sAKG51bW9uZXMgPiAwKQAobnVtb25lcyA8IDE3KQAoY19tYXggPiAwKQBpaGV2Y2RfY2FiYWNfZGVjb2RlX2JpbnNfdHVuYXJ5ACgoY3R4dF9pbmRleCA+PSAwKSAmJiAoY3R4dF9pbmRleCA8IElIRVZDX0NBQl9DVFhUX0VORCkpACgoY3R4dF9pbmRleCArIChjX21heCA+PiBjdHh0X3NoaWZ0KSkgPCBJSEVWQ19DQUJfQ1RYVF9FTkQpACgoYmluX2luZGV4ID49IDApICYmIChiaW5faW5kZXggPCBJSEVWQ19DQUJfQ1RYVF9FTkQpKQAoc3RhdGVfbXBzIDwgMTI4KQBpaGV2Y2RfY2FiYWNfZGVjb2RlX2J5cGFzc19iaW5zX3R1bmFyeQBpaGV2Y2RfY2FiYWNfZGVjb2RlX2J5cGFzc19iaW4AaWhldmNkX2NhYmFjX2RlY29kZV9iaW4AKHBzX2NhYmFjICE9ICgodm9pZCopMCkpAGloZXZjZF9jYWJhY19pbml0AChwc19iaXRzdHJtICE9ICgodm9pZCopMCkpACgocXAgPj0gMCkgJiYgKHFwIDwgNTIpKQAoKGNhYmFjX2luaXRfaWRjID49IDApICYmIChjYWJhY19pbml0X2lkYyA8IDMpKQBpaGV2Y2RfY2FiYWNfcmVzZXQAKGNudCA8IDgpAGRlY29kZXJcaWhldmNkX3BhcnNlX2hlYWRlcnMuYwBpaGV2Y2RfcmVhZF9yYnNwX3RyYWlsaW5nX2JpdHMAKHBzX2NvZGVjLT5zX3BhcnNlLmk0X2N1cl9zbGljZV9pZHggPT0gMSkAZGVjb2RlclxpaGV2Y2RfcGFyc2Vfc2xpY2VfaGVhZGVyLmMAaWhldmNkX3BhcnNlX3NsaWNlX2hlYWRlcgAoaXNfdV9maXJzdCA9PSAxKQBkZWNvZGVyXGloZXZjZF9mbXRfY29udi5jAGloZXZjZF9mbXRfY29udgB2b2lkAGJvb2wAY2hhcgBzaWduZWQgY2hhcgB1bnNpZ25lZCBjaGFyAHNob3J0AHVuc2lnbmVkIHNob3J0AGludAB1bnNpZ25lZCBpbnQAbG9uZwB1bnNpZ25lZCBsb25nAGZsb2F0AGRvdWJsZQBzdGQ6OnN0cmluZwBzdGQ6OmJhc2ljX3N0cmluZzx1bnNpZ25lZCBjaGFyPgBzdGQ6OndzdHJpbmcAZW1zY3JpcHRlbjo6dmFsAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgc2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgaW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZyBkb3VibGU+AE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWVFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lkRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZkVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lsRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJakVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWlFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l0RUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJc0VFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWhFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lhRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJY0VFAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVOU185YWxsb2NhdG9ySXdFRUVFAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0loTlNfMTFjaGFyX3RyYWl0c0loRUVOU185YWxsb2NhdG9ySWhFRUVFAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYAbmFuAE5BTgAuAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXM6ICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXMAdGVybWluYXRpbmcgd2l0aCAlcyBmb3JlaWduIGV4Y2VwdGlvbgB0ZXJtaW5hdGluZwB1bmNhdWdodABTdDlleGNlcHRpb24ATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAU3Q5dHlwZV9pbmZvAE4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UAcHRocmVhZF9vbmNlIGZhaWx1cmUgaW4gX19jeGFfZ2V0X2dsb2JhbHNfZmFzdCgpAGNhbm5vdCBjcmVhdGUgcHRocmVhZCBrZXkgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAY2Fubm90IHplcm8gb3V0IHRocmVhZCB2YWx1ZSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQB0ZXJtaW5hdGVfaGFuZGxlciB1bmV4cGVjdGVkbHkgcmV0dXJuZWQAU3QxMWxvZ2ljX2Vycm9yAFN0MTJsZW5ndGhfZXJyb3IATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19wYmFzZV90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjEyM19fZnVuZGFtZW50YWxfdHlwZV9pbmZvRQB2AERuAGIAYwBoAGEAcwB0AGkAagBsAG0AZgBkAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0U=";var tempDoublePtr=47600;function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var adj=EXCEPTIONS.infos[ptr].adjusted;var len=adj.length;for(var i=0;i<len;i++){if(adj[i]===adjusted){return ptr}}}return adjusted},addRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++},decRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}},clearRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0}};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i<typeArray.length;i++){if(typeArray[i]&&Module["___cxa_can_catch"](typeArray[i],throwntype,thrown)){thrown=HEAP32[thrown>>2];info.adjusted.push(thrown);return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}function ___gxx_personality_v0(){}var SYSCALLS={buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};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();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var buffers=SYSCALLS.buffers;if(buffers[1].length)SYSCALLS.printChar(1,10);if(buffers[2].length)SYSCALLS.printChar(2,10)}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();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];for(var j=0;j<len;j++){SYSCALLS.printChar(stream,HEAPU8[ptr+j])}ret+=len}return ret}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}return count}function get_first_emval(){for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){return emval_handle_array[i]}}return null}function init_emval(){Module["count_emval_handles"]=count_emval_handles;Module["get_first_emval"]=get_first_emval}function __emval_register(value){switch(value){case undefined:{return 1}case null:{return 2}case true:{return 3}case false:{return 4}default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError("Tried to register registered instance: "+ptr)}else{registeredInstances[ptr]=instance}}function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError("Tried to unregister unregistered instance: "+ptr)}}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=requireHandle(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError("Pure virtual function "+name+" must be implemented in JavaScript")}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return __emval_register(ctor)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}var awaitingDependencies={};var typeDependencies={};var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach(function(dt,i){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(function(){typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options){options=options||{};if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(function(cb){cb()})}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&&registeredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i<signature.length;++i){args.push("a"+i)}var name="dynCall_"+signature+"_"+rawFunction;var body="return function "+name+"("+args.join(", ")+") {\n";body+=" return dynCall(rawFunction"+(args.length?", ":"")+args.join(", ")+");\n";body+="};\n";return new Function("dynCall","rawFunction",body)(dynCall,rawFunction)}var fp;if(Module["FUNCTION_TABLE_"+signature]!==undefined){fp=Module["FUNCTION_TABLE_"+signature][rawFunction]}else if(typeof FUNCTION_TABLE!=="undefined"){fp=FUNCTION_TABLE[rawFunction]}else{var dc=Module["dynCall_"+signature];if(dc===undefined){dc=Module["dynCall_"+signature.replace(/f/g,"d")];if(dc===undefined){throwBindingError("No dynCall invoker for signature: "+signature)}}fp=makeDynCaller(dc)}if(typeof fp!=="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!=="void";var argsList="";var argsListWired="";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?", ":"")+"arg"+i;argsListWired+=(i!==0?", ":"")+"arg"+i+"Wired"}var invokerFnBody="return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n"+"if (arguments.length !== "+(argCount-2)+") {\n"+"throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount-2)+" args!');\n"+"}\n";if(needsDestructorStack){invokerFnBody+="var destructors = [];\n"}var dtorStack=needsDestructorStack?"destructors":"null";var args1=["throwBindingError","invoker","fn","runDestructors","retType","classParam"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+="var thisWired = classParam.toWireType("+dtorStack+", this);\n"}for(var i=0;i<argCount-2;++i){invokerFnBody+="var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n";args1.push("argType"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired="thisWired"+(argsListWired.length>0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?"thisWired":"arg"+(i-2)+"Wired";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n";args1.push(paramName+"_dtor");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+="var ret = retType.fromWireType(rv);\n"+"return ret;\n"}else{}invokerFnBody+="}\n";args1.push(invokerFnBody);var invokerFunction=new_(Function,args1).apply(null,args2);return invokerFunction}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAP32[(firstElement>>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<<bitshift>>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(value<minRange||value>maxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[value+4+i])}str=a.join("")}_free(value);return str},"toWireType":function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var getLength;var valueIsOfTypeString=typeof value==="string";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError("Cannot pass non-string to std::string")}if(stdStringIsUTF8&&valueIsOfTypeString){getLength=function(){return lengthBytesUTF8(value)}}else{getLength=function(){return value.length}}var length=getLength();var ptr=_malloc(4+length+1);HEAPU32[ptr>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+4+i]=value[i]}}}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=function(){return HEAPU16};shift=1}else if(charSize===4){getHeap=function(){return HEAPU32};shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAP[start+i])}_free(value);return a.join("")},"toWireType":function(destructors,value){var HEAP=getHeap();var length=value.length;var ptr=_malloc(4+length*charSize);HEAPU32[ptr>>2]=length;var start=ptr+4>>shift;for(var i=0;i<length;++i){HEAP[start+i]=value.charCodeAt(i)}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emval_as(handle,returnType,destructorsRef){handle=requireHandle(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=__emval_register(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAP32[(argTypes>>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i<argCount;++i){var type=types[i];args[i]=type["readValueFromPointer"](argv);argv+=type["argPackAdvance"]}var rv=handle.apply(undefined,args);return __emval_register(rv)}function __emval_allocateDestructors(destructorsRef){var destructors=[];HEAP32[destructorsRef>>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i<argCount-1;++i){argsList+=(i!==0?", ":"")+"arg"+i;params.push("argType"+i);args.push(types[1+i])}var functionName=makeLegalFunctionName("methodCaller_"+signatureName);var functionBody="return function "+functionName+"(handle, name, destructors, args) {\n";var offset=0;for(var i=0;i<argCount-1;++i){functionBody+=" var arg"+i+" = argType"+i+".readValueFromPointer(args"+(offset?"+"+offset:"")+");\n";offset+=types[i+1]["argPackAdvance"]}functionBody+=" var rv = handle[name]("+argsList+");\n";for(var i=0;i<argCount-1;++i){if(types[i+1]["deleteObject"]){functionBody+=" argType"+i+".deleteObject(arg"+i+");\n"}}if(!retType.isVoid){functionBody+=" return retType.toWireType(destructors, rv);\n"}functionBody+="};\n";params.push(functionBody);var invokerFunction=new_(Function,params).apply(null,args);return __emval_addMethodCaller(invokerFunction)}function __emval_get_property(handle,key){handle=requireHandle(handle);key=requireHandle(key);return __emval_register(handle[key])}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i<argCount;++i){argsList+=(i!==0?", ":"")+"arg"+i}var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n";for(var i=0;i<argCount;++i){functionBody+="var argType"+i+" = requireRegisteredType(Module['HEAP32'][(argTypes >> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_get_heap_size(){return HEAP8.length}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i<argText.length;i++){buffer.push((15-parseInt(argText[i],16)).toString(16))}argText=buffer.join("");while(argText.length<argSize*2)argText="f"+argText}else{argText=currAbsArg.toString(16)}if(next==88){prefix=prefix.toUpperCase();argText=argText.toUpperCase()}}else if(next==112){if(currAbsArg===0){argText="(nil)"}else{prefix="0x";argText=currAbsArg.toString(16)}}if(precisionSet){while(argText.length<precision){argText="0"+argText}}if(currArg>=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad){argText="0"+argText}else{prefix=" "+prefix}}}argText=prefix+argText;argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad&&(argText[0]=="-"||argText[0]=="+")){argText=argText[0]+"0"+argText.slice(1)}else{argText=(flagZeroPad?"0":" ")+argText}}}if(next<97)argText=argText.toUpperCase();argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"s":{var arg=getNextArg("i8*");var argLength=arg?_strlen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength<width--){ret.push(32)}}if(arg){for(var i=0;i<argLength;i++){ret.push(HEAPU8[arg++>>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength<width--){ret.push(32)}}break}case"c":{if(flagLeftAlign)ret.push(getNextArg("i8"));while(--width>0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i<textIndex+2;i++){ret.push(HEAP8[i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i<result.length;++i){str+=String.fromCharCode(result[i])}}_emscripten_log_js(flags,str)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _init(){var AudioContext=window.AudioContext||window.webkitAudioContext||window.mozAudioContext;var context=AudioContext?new AudioContext:null;if(!context){cc.warn("no audio support")}const MVP=`\n uniform mat4 viewProj;\n attribute vec3 a_position;\n attribute vec2 a_uv0;\n varying vec2 uv0;\n void main () {\n vec4 pos = viewProj * vec4(a_position, 1);\n gl_Position = pos;\n uv0 = a_uv0;\n }`;const fragmentShaderScript=`\n precision highp float;\n varying highp vec2 uv0;\n uniform sampler2D ySampler;\n uniform sampler2D uSampler;\n uniform sampler2D vSampler;\n const mat4 YUV2RGB = mat4\n (\n 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1\n );\n void main(void) {\n highp float y = texture2D(ySampler, uv0).r;\n highp float u = texture2D(uSampler, uv0).r;\n highp float v = texture2D(vSampler, uv0).r;\n gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;\n }`;const renderer=cc.renderer;const renderEngine=renderer.renderEngine;const Texture2D=renderEngine.Texture2D;const gfx=renderEngine.gfx;const Pass=renderEngine.renderer.Pass;const Technique=renderEngine.renderer.Technique;const Effect=renderEngine.renderer.Effect;const PARAM_TEXTURE_2D=renderEngine.renderer.PARAM_TEXTURE_2D;const option={format:gfx.TEXTURE_FMT_L8,minFilter:gfx.FILTER_LINEAR,magFilter:gfx.FILTER_LINEAR,wrapS:gfx.WRAP_CLAMP,wrapT:gfx.WRAP_CLAMP};const YUV2RGB_Material=cc.Class({extends:renderEngine.Material,create(sprite){sprite.setState(0);let name="YUV2RGB";let lib=renderer._forward._programLib;!lib._templates[name]&&lib.define(name,MVP,fragmentShaderScript,[]);let pass=new Pass(name);pass.setDepth(false,false);pass.setCullMode(gfx.CULL_NONE);pass.setBlend(gfx.BLEND_FUNC_ADD,gfx.BLEND_SRC_ALPHA,gfx.BLEND_ONE_MINUS_SRC_ALPHA,gfx.BLEND_FUNC_ADD,gfx.BLEND_SRC_ALPHA,gfx.BLEND_ONE_MINUS_SRC_ALPHA);let mainTech=new Technique(["transparent"],[{name:"ySampler",type:PARAM_TEXTURE_2D,val:this.ySampler=new Texture2D(renderer.device,option)},{name:"uSampler",type:PARAM_TEXTURE_2D,val:this.uSampler=new Texture2D(renderer.device,option)},{name:"vSampler",type:PARAM_TEXTURE_2D,val:this.vSampler=new Texture2D(renderer.device,option)}],[pass]);this._effect=this.effect=new Effect([mainTech],{},[]);this._mainTech=mainTech;this._texture=sprite.spriteFrame.getTexture();this.updateHash();sprite._state=114;sprite._material=sprite._renderData._material=this;this.samplerOptions=[{level:0},{level:0},{level:0}];return this},isWebGL(){return true},drawNextOutputPicture(){this.updateHash(Math.random().toString(36));this.ySampler.updateImage(this.samplerOptions[0]);this.uSampler.updateImage(this.samplerOptions[1]);this.vSampler.updateImage(this.samplerOptions[2])}});Module.print=(text=>cc.log(text));Module.printErr=(text=>cc.error(text));Module.H5LiveClient=Module.H5LCBase.extend("H5LC",{__construct:function(component){cc.dynamicAtlasManager.enabled=false;let sprite=component.node.getComponent(cc.Sprite);this.webGLCanvas=component._material=(new YUV2RGB_Material).create(sprite);this.__parent.__construct.call(this,this)},__destruct:function(){this.__parent.__destruct.call(this)},onError:function(err){cc.log(this,err)},setStartTime:function(offset){cc.log("first timestamp:",offset);var startTime=Date.now()-offset;this.timespan=function(t){return t-(Date.now()-startTime)};function playVideo(_this){_this.decodeVideoBuffer()}this.playVideoBuffer=function(t){return setTimeout(playVideo,t,this)}},timespan:function(t){this.setStartTime(t);return this.timespan(t)},resetTimeSpan:function(){delete this.timespan},play:function(url){var _this=this;var reconnectCount=0;var reconnectTime=2e3;cc.log("H5LiverClient play",url);function setWebsocket(){this.$play(url);this.ws.onopen=function(){reconnectCount=0;reconnectTime=2e3;cc.log("ws open")};this.ws.onclose=function(){_this.isPlaying=false;_this.ws=null;_this.$close();if(reconnectCount>3)return;reconnectCount++;cc.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){cc.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){cc.warn("ws error")}}setWebsocket.call(this)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;cc.log("close H5LiverClient");this.isPlaying=false;this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null;this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var isPlaying=false;var audioBuffers=[];var allFrameCount=frameCount*channels;if(!context)return false;var resampled=samplerate<22050;var audioBuffer=resampled?context.createBuffer(channels,frameCount<<1,samplerate<<1):context.createBuffer(channels,frameCount,samplerate);var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);var playNextBuffer=function(){isPlaying=false;if(audioBuffers.length){playAudio(audioBuffers.shift())}if(audioBuffers.length>1)audioBuffers.shift()};var copyAudioOutputArray=resampled?function(target){for(var i=0;i<allFrameCount;i++){var j=i<<1;target[j]=target[j+1]=audioOutputArray[i]/32768}}:function(target){for(var i=0;i<allFrameCount;i++){target[i]=audioOutputArray[i]/32768}};var copyToCtxBuffer=channels>1?function(fromBuffer){for(var channel=0;channel<channels;channel++){var nowBuffering=audioBuffer.getChannelData(channel);if(fromBuffer){for(var i=0;i<frameCount;i++){nowBuffering[i]=fromBuffer[i*(channel+1)]}}else{for(var i=0;i<frameCount;i++){nowBuffering[i]=audioOutputArray[i*(channel+1)]/32768}}}}:function(fromBuffer){var nowBuffering=audioBuffer.getChannelData(0);if(fromBuffer)nowBuffering.set(fromBuffer);else copyAudioOutputArray(nowBuffering)};var playAudio=function(fromBuffer){if(isPlaying){var buffer=new Float32Array(resampled?allFrameCount*2:allFrameCount);copyAudioOutputArray(buffer);audioBuffers.push(buffer);return}isPlaying=true;copyToCtxBuffer(fromBuffer);var source=context.createBufferSource();source.buffer=audioBuffer;source.connect(context.destination);source.onended=playNextBuffer;source.start()};this.playAudio=playAudio},setVideoSize:function(w,h,dataPtr){const size=w*h;const size4=size>>2;const samplerOptions=this.webGLCanvas.samplerOptions;samplerOptions[0].width=w;samplerOptions[0].height=h;samplerOptions[1].width=samplerOptions[2].width=w>>1;samplerOptions[1].height=samplerOptions[2].height=h>>1;this.draw=function(){var y=HEAPU32[dataPtr];var u=HEAPU32[dataPtr+1];var v=HEAPU32[dataPtr+2];samplerOptions[0].image=HEAPU8.subarray(y,y+size);samplerOptions[1].image=HEAPU8.subarray(u,u+size4);samplerOptions[2].image=HEAPU8.subarray(v,v+size4);this.webGLCanvas.drawNextOutputPicture()}}})}function _llvm_trap(){abort("trap!")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function _pthread_create(){return 11}function _pthread_join(){}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function _sched_yield(){return 0}init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output};function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE==="boolean"&&ENVIRONMENT_IS_NODE){var buf;try{buf=Buffer.from(s,"base64")}catch(_){buf=new Buffer(s,"base64")}return new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength)}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}var asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Float32Array":Float32Array,"Float64Array":Float64Array};var asmLibraryArg={"a":abort,"b":setTempRet0,"c":getTempRet0,"d":ClassHandle,"e":ClassHandle_clone,"f":ClassHandle_delete,"g":ClassHandle_deleteLater,"h":ClassHandle_isAliasOf,"i":ClassHandle_isDeleted,"j":RegisteredClass,"k":RegisteredPointer,"l":RegisteredPointer_deleteObject,"m":RegisteredPointer_destructor,"n":RegisteredPointer_fromWireType,"o":RegisteredPointer_getPointee,"p":__ZSt18uncaught_exceptionv,"q":___assert_fail,"r":___cxa_allocate_exception,"s":___cxa_begin_catch,"t":___cxa_find_matching_catch,"u":___cxa_free_exception,"v":___cxa_pure_virtual,"w":___cxa_throw,"x":___gxx_personality_v0,"y":___resumeException,"z":___setErrNo,"A":___syscall140,"B":___syscall146,"C":___syscall54,"D":___syscall6,"E":__embind_create_inheriting_constructor,"F":__embind_register_bool,"G":__embind_register_class,"H":__embind_register_class_class_function,"I":__embind_register_class_function,"J":__embind_register_class_property,"K":__embind_register_emval,"L":__embind_register_float,"M":__embind_register_integer,"N":__embind_register_memory_view,"O":__embind_register_std_string,"P":__embind_register_std_wstring,"Q":__embind_register_void,"R":__emscripten_traverse_stack,"S":__emval_addMethodCaller,"T":__emval_allocateDestructors,"U":__emval_as,"V":__emval_call,"W":__emval_call_method,"X":__emval_call_void_method,"Y":__emval_decref,"Z":__emval_get_global,"_":__emval_get_method_caller,"$":__emval_get_property,"aa":__emval_incref,"ab":__emval_lookupTypes,"ac":__emval_new,"ad":__emval_new_cstring,"ae":__emval_new_object,"af":__emval_register,"ag":__emval_run_destructors,"ah":__emval_set_property,"ai":__emval_take_value,"aj":__formatString,"ak":__reallyNegative,"al":_abort,"am":_clock,"an":_embind_repr,"ao":_emscripten_get_callstack_js,"ap":_emscripten_get_heap_size,"aq":_emscripten_log,"ar":_emscripten_log_js,"as":_emscripten_memcpy_big,"at":_emscripten_resize_heap,"au":_init,"av":_llvm_trap,"aw":_pthread_create,"ax":_pthread_join,"ay":_sched_yield,"az":abortOnCannotGrowMemory,"aA":constNoSmartPtrRawPointerToWireType,"aB":count_emval_handles,"aC":craftEmvalAllocator,"aD":craftInvokerFunction,"aE":createNamedFunction,"aF":downcastPointer,"aG":embind__requireFunction,"aH":embind_init_charCodes,"aI":emval_get_global,"aJ":ensureOverloadTable,"aK":exposePublicSymbol,"aL":extendError,"aM":floatReadValueFromPointer,"aN":flushPendingDeletes,"aO":flush_NO_FILESYSTEM,"aP":genericPointerToWireType,"aQ":getBasestPointer,"aR":getInheritedInstance,"aS":getInheritedInstanceCount,"aT":getLiveInheritedInstances,"aU":getShiftFromSize,"aV":getStringOrSymbol,"aW":getTypeName,"aX":get_first_emval,"aY":heap32VectorToArray,"aZ":init_ClassHandle,"a_":init_RegisteredPointer,"a$":init_embind,"ba":init_emval,"bb":integerReadValueFromPointer,"bc":makeClassHandle,"bd":makeLegalFunctionName,"be":new_,"bf":nonConstNoSmartPtrRawPointerToWireType,"bg":readLatin1String,"bh":registerInheritedInstance,"bi":registerType,"bj":replacePublicSymbol,"bk":requireHandle,"bl":requireRegisteredType,"bm":runDestructor,"bn":runDestructors,"bo":setDelayFunction,"bp":shallowCopyInternalPointer,"bq":simpleReadValueFromPointer,"br":throwBindingError,"bs":throwInstanceAlreadyDeleted,"bt":throwInternalError,"bu":throwUnboundTypeError,"bv":unregisterInheritedInstance,"bw":upcastPointer,"bx":validateThis,"by":whenDependentTypesAreResolved,"bz":tempDoublePtr,"bA":DYNAMICTOP_PTR};// EMSCRIPTEN_START_ASM
var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) {
"use asm";var a=new global.Int8Array(buffer),b=new global.Int16Array(buffer),c=new global.Int32Array(buffer),d=new global.Uint8Array(buffer),e=new global.Uint16Array(buffer),f=new global.Float32Array(buffer),g=new global.Float64Array(buffer),h=env.bz|0,i=env.bA|0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=global.Math.imul,s=global.Math.clz32,t=env.a,u=env.b,v=env.c,w=env.d,x=env.e,y=env.f,z=env.g,A=env.h,B=env.i,C=env.j,D=env.k,E=env.l,F=env.m,G=env.n,H=env.o,I=env.p,J=env.q,K=env.r,L=env.s,M=env.t,N=env.u,O=env.v,P=env.w,Q=env.x,R=env.y,S=env.z,T=env.A,U=env.B,V=env.C,W=env.D,X=env.E,Y=env.F,Z=env.G,_=env.H,$=env.I,aa=env.J,ba=env.K,ca=env.L,da=env.M,ea=env.N,fa=env.O,ga=env.P,ha=env.Q,ia=env.R,ja=env.S,ka=env.T,la=env.U,ma=env.V,na=env.W,oa=env.X,pa=env.Y,qa=env.Z,ra=env._,sa=env.$,ta=env.aa,ua=env.ab,va=env.ac,wa=env.ad,xa=env.ae,ya=env.af,za=env.ag,Aa=env.ah,Ba=env.ai,Ca=env.aj,Da=env.ak,Ea=env.al,Fa=env.am,Ga=env.an,Ha=env.ao,Ia=env.ap,Ja=env.aq,Ka=env.ar,La=env.as,Ma=env.at,Na=env.au,Oa=env.av,Pa=env.aw,Qa=env.ax,Ra=env.ay,Sa=env.az,Ta=env.aA,Ua=env.aB,Va=env.aC,Wa=env.aD,Xa=env.aE,Ya=env.aF,Za=env.aG,_a=env.aH,$a=env.aI,ab=env.aJ,bb=env.aK,cb=env.aL,db=env.aM,eb=env.aN,fb=env.aO,gb=env.aP,hb=env.aQ,ib=env.aR,jb=env.aS,kb=env.aT,lb=env.aU,mb=env.aV,nb=env.aW,ob=env.aX,pb=env.aY,qb=env.aZ,rb=env.a_,sb=env.a$,tb=env.ba,ub=env.bb,vb=env.bc,wb=env.bd,xb=env.be,yb=env.bf,zb=env.bg,Ab=env.bh,Bb=env.bi,Cb=env.bj,Db=env.bk,Eb=env.bl,Fb=env.bm,Gb=env.bn,Hb=env.bo,Ib=env.bp,Jb=env.bq,Kb=env.br,Lb=env.bs,Mb=env.bt,Nb=env.bu,Ob=env.bv,Pb=env.bw,Qb=env.bx,Rb=env.by,Sb=47616,Tb=5290496,Ub=0.0;
// EMSCRIPTEN_START_FUNCS
function Dh(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;la=Sb;Sb=Sb+32|0;ja=la;o=f+376|0;ka=f+660|0;ia=c[f+356>>2]|0;q=a[ia+10>>0]|0;if((a[ia+16>>0]|0)!=0?(i|0)==2&(c[f+464>>2]|0)==0:0)p=vh(ka,o,(j|0)==0?40:41)|0;else p=0;n=(i<<1)+-1|0;ia=(j|0)!=0;if(ia){g=57;l=75;m=i+-2|0}else{l=(i*3|0)+-6+(i+-1>>2)|0;g=l+42|0;l=l+60|0;m=i+1>>2}h=Bh(ka,o,n,g,m,n)|0;g=Bh(ka,o,n,l,m,n)|0;if((h|0)>3)h=(Eh(ka,o,h+-2>>1)|0)+((h&1|2)<<(h>>>1)+-1)|0;if((g|0)>3)g=(Eh(ka,o,g+-2>>1)|0)+((g&1|2)<<(g>>>1)+-1)|0;do if((c[f+468>>2]|0)==1){if((i|0)!=2?!((i|0)==3&(j|0)==0):0){ha=0;break}ha=(k+-6|0)>>>0<9?2:(k+-22|0)>>>0<9&1}else ha=0;while(0);fa=(ha|0)==2;l=fa?h:g;h=fa?g:h;fa=f+404|0;ga=c[fa>>2]|0;a[ga>>0]=0;a[ga+1>>0]=ha<<1|p;c[fa>>2]=ga+2;ea=(i|0)>2;if(ea){g=c[25120+(i+-3+(ha*3|0)<<2)>>2]|0;da=d[g+((l>>2<<i+-2)+(h>>2))>>0]|0}else{da=0;g=0}h=d[(l<<2&12|h&3)+(25056+(ha<<4))>>0]|0;if(ea)ba=c[25168+(i+-3+(ha*3|0)<<2)>>2]|0;else ba=g;g=(i|0)==3;c[ja>>2]=0;c[ja+4>>2]=0;c[ja+8>>2]=0;c[ja+12>>2]=0;b[ja+16>>1]=0;do if(!ia)if(g){g=(ha|0)==0?91:97;X=124;break}else{g=(i|0)>3?103:82;X=124;break}else{g=g?118:(i|0)>3?121:109;X=140}while(0);Y=i+-2|0;Z=(1<<Y)+-1|0;_=ia?2:0;$=f+664|0;aa=h+-1|0;W=1<<h;V=(i|0)==2;O=(j|0)==0?82:109;P=ia^1;Q=f+388|0;R=f+380|0;S=f+392|0;T=f+384|0;U=f+464|0;N=q<<24>>24!=0;M=da;B=1;l=0;h=g;a:while(1){z=(M|0)!=0;if(ea&z)g=d[ba+M>>0]|0;else g=0;A=g&Z;x=g>>>Y;j=ja+(x<<1)|0;q=e[j>>1]|0;w=(e[ja+(x+1<<1)>>1]|0)>>>A<<1&2|q>>>(A+1|0)&1;L=(M|0)>0;if((M|0)<(da|0)&L){g=c[ka>>2]|0;m=c[$>>2]|0;o=((w|0)==0?78:79)+_+(f+668)|0;n=a[o>>0]|0;k=n&255;if(g>>>0<=255){ca=30;break}if(n<<24>>24<=-1){ca=32;break}n=s(g|0)|0;n=d[(g<<n+-1>>>28&3)+(64+(k>>>1<<2))>>0]<<23-n;K=g-n|0;i=m>>>0<K>>>0;g=m-(i?0:K)|0;n=i?K:n;i=k&1^(i^1)&1;a[o>>0]=a[320+(i|k<<1)>>0]|0;if(n>>>0<256){m=s(n|0)|0;p=m+-1|0;k=c[R>>2]|0;m=c[Q>>2]<<k>>>(33-m|0);k=k+p|0;c[R>>2]=k;if(k>>>0<=32){if((k|0)==32)ca=39}else{o=64-k|0;if(o>>>0<32)o=(c[S>>2]|0)>>>o;else o=0;m=o|m;ca=39}if((ca|0)==39){ca=0;c[Q>>2]=c[S>>2];K=c[T>>2]|0;c[T>>2]=K+4;K=c[K>>2]|0;c[R>>2]=k+-32;c[S>>2]=Rk(K|0)|0}n=n<<p;g=m|g<<p}c[ka>>2]=n;c[$>>2]=g;g=1<<A;if(!i){b[j>>1]=(g^65535)&q;g=B}else{o=1;ca=43}}else{o=0;g=1<<A;ca=43}if((ca|0)==43){ca=0;b[j>>1]=g|q;m=(M|0)==(da|0);g=m?W:0;n=m&1;m=m?aa:15;b:do if((m|0)>-1){v=z&P?3:0;u=n;while(1){if((m|0)==0&(o|0)!=0){n=u;break b}if(!V)if(!(m|M)){n=0;h=O}else n=v+(d[36480+(ha<<6)+(w<<4)+m>>0]|0)|0;else n=d[36672+(ha<<4)+m>>0]|0;n=h+n|0;k=c[ka>>2]|0;i=c[$>>2]|0;j=f+668+n|0;p=a[j>>0]|0;q=p&255;if(k>>>0<=255){ca=51;break a}if(n>>>0>=154){ca=53;break a}if(p<<24>>24<=-1){ca=55;break a}n=s(k|0)|0;n=d[(k<<n+-1>>>28&3)+(64+(q>>>1<<2))>>0]<<23-n;r=k-n|0;K=i>>>0<r>>>0;t=q&1^(K^1)&1;n=K?r:n;r=i-(K?0:r)|0;a[j>>0]=a[320+(t|q<<1)>>0]|0;if(n>>>0<256){k=s(n|0)|0;j=k+-1|0;i=c[R>>2]|0;k=c[Q>>2]<<i>>>(33-k|0);i=i+j|0;c[R>>2]=i;if(i>>>0<=32){if((i|0)==32)ca=62}else{p=64-i|0;if(p>>>0<32)p=(c[S>>2]|0)>>>p;else p=0;k=p|k;ca=62}if((ca|0)==62){ca=0;c[Q>>2]=c[S>>2];K=c[T>>2]|0;c[T>>2]=K+4;K=c[K>>2]|0;c[R>>2]=i+-32;c[S>>2]=Rk(K|0)|0}k=k|r<<j;n=n<<j}else k=r;c[ka>>2]=n;c[$>>2]=k;o=(t|0)==0?o:0;g=t<<m|g;n=t+u|0;if((m|0)>0){m=m+-1|0;u=n}else break}}while(0);K=(o|0)!=0&1;y=g|K;K=n+K|0;if(!K)g=B;else{l=l+1|0;I=c[fa>>2]|0;b[I+2>>1]=y;b[I>>1]=x<<8|A;x=(z&P?2:0)|(B|0)==0;B=s(y|0)|0;C=31-B|0;B=y<<B;w=(x<<2)+X|0;t=0;u=B;n=0;g=1;v=C;while(1){if((u|0)<0){if((n|0)>=8){H=t;break}m=w+g|0;o=c[ka>>2]|0;p=c[$>>2]|0;i=f+668+m|0;k=a[i>>0]|0;j=k&255;if(o>>>0<=255){ca=70;break a}if(m>>>0>=154){ca=72;break a}if(k<<24>>24<=-1){ca=74;break a}m=s(o|0)|0;m=d[(o<<m+-1>>>28&3)+(64+(j>>>1<<2))>>0]<<23-m;q=o-m|0;H=p>>>0<q>>>0;r=j&1^(H^1)&1;m=H?q:m;q=p-(H?0:q)|0;a[i>>0]=a[320+(r|j<<1)>>0]|0;if(m>>>0<256){o=s(m|0)|0;i=o+-1|0;p=c[R>>2]|0;o=c[Q>>2]<<p>>>(33-o|0);p=p+i|0;c[R>>2]=p;if(p>>>0<=32){if((p|0)==32)ca=81}else{k=64-p|0;if(k>>>0<32)k=(c[S>>2]|0)>>>k;else k=0;o=k|o;ca=81}if((ca|0)==81){ca=0;c[Q>>2]=c[S>>2];H=c[T>>2]|0;c[T>>2]=H+4;H=c[H>>2]|0;c[R>>2]=p+-32;c[S>>2]=Rk(H|0)|0}o=o|q<<i;m=m<<i}else o=q;c[ka>>2]=m;c[$>>2]=o;m=r<<v|t;n=n+1|0;g=(r|0)==0?g+((g|0)!=0&(g|0)<3&1)|0:0}else m=t;H=u<<1;o=s(H|0)|0;u=H<<o;if(!u){H=m;break}else{t=m;v=v+-1-o|0}}G=Mk(y|0)|0;G=(y|0)==0?31:G;if((C-G|0)>3)u=(c[U>>2]|0)==0;else u=0;if(!H){F=0;t=-1;m=c[ka>>2]|0;i=c[$>>2]|0}else{t=31-(s(H|0)|0)|0;m=(ia?x|4:x)+148|0;n=c[ka>>2]|0;k=c[$>>2]|0;p=f+668+m|0;o=a[p>>0]|0;i=o&255;if(n>>>0<=255){ca=90;break}if(m>>>0>=154){ca=92;break}if(o<<24>>24<=-1){ca=94;break}q=s(n|0)|0;q=d[(n<<q+-1>>>28&3)+(64+(i>>>1<<2))>>0]<<23-q;j=n-q|0;F=k>>>0<j>>>0;r=i&1^(F^1)&1;q=F?j:q;j=k-(F?0:j)|0;a[p>>0]=a[320+(r|i<<1)>>0]|0;if(q>>>0<256){m=s(q|0)|0;k=m+-1|0;o=c[R>>2]|0;m=c[Q>>2]<<o>>>(33-m|0);o=o+k|0;c[R>>2]=o;if(o>>>0<=32){if((o|0)==32)ca=101}else{n=64-o|0;if(n>>>0<32)n=(c[S>>2]|0)>>>n;else n=0;m=n|m;ca=101}if((ca|0)==101){ca=0;c[Q>>2]=c[S>>2];F=c[T>>2]|0;c[T>>2]=F+4;F=c[F>>2]|0;c[R>>2]=o+-32;c[S>>2]=Rk(F|0)|0}n=m|j<<k;m=q<<k}else{n=j;m=q}c[ka>>2]=m;c[$>>2]=n;F=r<<t;i=n}E=N&u;D=m>>>0>255;if(E){if(!D){ca=121;break}k=K+-1|0;if((K|0)<=1){ca=123;break}if((K|0)>=18){ca=125;break}o=c[Q>>2]|0;p=c[R>>2]|0;r=33-K|0;n=o<<p>>>r;p=p+k|0;c[R>>2]=p;if(p>>>0<=32)if((p|0)==32)ca=131;else{j=p;q=o}else{o=64-p|0;if(o>>>0<32)o=(c[S>>2]|0)>>>o;else o=0;n=o|n;ca=131}if((ca|0)==131){ca=0;q=c[S>>2]|0;c[Q>>2]=q;A=c[T>>2]|0;c[T>>2]=A+4;A=c[A>>2]|0;j=p+-32|0;c[R>>2]=j;c[S>>2]=Rk(A|0)|0}p=i;o=0;do{k=k+-1|0;z=n>>>k&1|p<<1;A=z>>>0<m>>>0;p=z-(A?0:m)|0;o=o<<1|(A^1)&1}while((k|0)!=0);c[$>>2]=p;n=o<<r;o=q}else{if(!D){ca=106;break}if((K|0)<=0){ca=108;break}if((K|0)>=17){ca=110;break}o=c[Q>>2]|0;k=c[R>>2]|0;q=32-K|0;n=o<<k>>>q;k=k+K|0;c[R>>2]=k;if(k>>>0<=32)if((k|0)==32)ca=116;else j=k;else{o=64-k|0;if(o>>>0<32)o=(c[S>>2]|0)>>>o;else o=0;n=o|n;ca=116}if((ca|0)==116){ca=0;o=c[S>>2]|0;c[Q>>2]=o;A=c[T>>2]|0;c[T>>2]=A+4;A=c[A>>2]|0;j=k+-32|0;c[R>>2]=j;c[S>>2]=Rk(A|0)|0}k=0;p=K;do{p=p+-1|0;z=n>>>p&1|i<<1;A=z>>>0<m>>>0;i=z-(A?0:m)|0;k=k<<1|(A^1)&1}while((p|0)!=0);c[$>>2]=i;n=k<<q;p=i}z=0;k=0;A=0;r=n;y=C;while(1){if((B|0)<0){x=1<<y;x=((x&H|0)==0?1:2)+((x&F|0)!=0&1)|0;if((x|0)==(((z|0)<8?((y|0)==(t|0)?3:2):1)|0)){q=19-A|0;if(!D){ca=141;break a}i=0;while(1){n=j+1|0;c[R>>2]=n;if((n|0)==32){w=c[S>>2]|0;c[Q>>2]=w;u=c[T>>2]|0;c[T>>2]=u+4;u=c[u>>2]|0;c[R>>2]=0;c[S>>2]=Rk(u|0)|0;u=0}else{w=o;u=n}n=o<<j>>>31|p<<1;C=n>>>0<m>>>0;p=n-(C?0:m)|0;c[$>>2]=p;n=i+1|0;if((n|0)==(q|0)|C)break;else{i=n;o=w;j=u}}do if(i>>>0<3){v=i<<A;if(!A){n=v;j=u;o=w;break}if((A|0)<=0){ca=147;break a}if((A|0)>=17){ca=149;break a}n=w<<u>>>(32-A|0);j=u+A|0;c[R>>2]=j;if(j>>>0<=32)if((j|0)==32)ca=155;else o=w;else{o=64-j|0;if(o>>>0<32)o=(c[S>>2]|0)>>>o;else o=0;n=o|n;ca=155}if((ca|0)==155){ca=0;o=c[S>>2]|0;c[Q>>2]=o;C=c[T>>2]|0;c[T>>2]=C+4;C=c[C>>2]|0;j=j+-32|0;c[R>>2]=j;c[S>>2]=Rk(C|0)|0}q=A;i=0;do{q=q+-1|0;w=n>>>q&1|p<<1;C=w>>>0<m>>>0;i=i<<1|(C^1)&1;p=w-(C?0:m)|0}while((q|0)!=0);c[$>>2]=p;n=i|v}else{v=i+-3|0;q=v+A|0;v=(1<<v)+2<<A;if(!q){n=v;j=u;o=w;break}if(q>>>0>=17){ca=161;break a}n=w<<u>>>(32-q|0);j=u+q|0;c[R>>2]=j;if(j>>>0<=32)if((j|0)==32)ca=167;else o=w;else{o=64-j|0;if(o>>>0<32)o=(c[S>>2]|0)>>>o;else o=0;n=o|n;ca=167}if((ca|0)==167){ca=0;o=c[S>>2]|0;c[Q>>2]=o;C=c[T>>2]|0;c[T>>2]=C+4;C=c[C>>2]|0;j=j+-32|0;c[R>>2]=j;c[S>>2]=Rk(C|0)|0}i=0;do{q=q+-1|0;w=n>>>q&1|p<<1;C=w>>>0<m>>>0;i=i<<1|(C^1)&1;p=w-(C?0:m)|0}while((q|0)!=0);c[$>>2]=p;n=i+v|0}while(0);u=n+x|0}else u=x;n=(r|0)<0?0-u|0:u;i=u+k|0;if(E){n=(y|0)==(G|0)&((i|0)%2|0|0)==1?0-n|0:n;k=i}b[I+4+(z<<1)>>1]=n;q=z+1|0;r=r<<1;i=A+((A|0)<4&(u|0)>(3<<A|0)&1)|0}else{q=z;i=A}C=B<<1;n=s(C|0)|0;B=C<<n;if(!B)break;else{z=q;A=i;y=y+-1-n|0}}c[fa>>2]=(c[fa>>2]|0)+4+(K<<1)}}if(L){M=M+-1|0;B=g}else{ca=178;break}}switch(ca|0){case 30:{J(42507,42525,520,42557);break}case 32:{J(43123,42525,520,42557);break}case 51:{J(42507,42525,601,42557);break}case 53:{J(42586,42525,601,42557);break}case 55:{J(43123,42525,601,42557);break}case 70:{J(42507,42525,689,42557);break}case 72:{J(42586,42525,689,42557);break}case 74:{J(43123,42525,689,42557);break}case 90:{J(42507,42525,745,42557);break}case 92:{J(42586,42525,745,42557);break}case 94:{J(43123,42525,745,42557);break}case 106:{J(42507,42525,756,42557);break}case 108:{J(42639,42525,756,42557);break}case 110:{J(42655,42525,756,42557);break}case 121:{J(42507,42525,762,42557);break}case 123:{J(42672,42525,762,42557);break}case 125:{J(42694,42525,762,42557);break}case 141:{J(42507,42525,808,42557);break}case 147:{J(42717,42525,827,42557);break}case 149:{J(42734,42525,827,42557);break}case 161:{J(42752,42525,843,42557);break}case 178:{a[ga>>0]=l;Sb=la;return 0}}return 0}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=c[a>>2]|0;j=a+4|0;a=c[j>>2]|0;if(k>>>0<=255)J(42507,42291,478,42770);if((d|0)<=0)J(42802,42291,479,42770);if((d|0)>=17)J(42816,42291,482,42770);i=b+12|0;g=b+4|0;h=c[g>>2]|0;f=c[i>>2]<<h>>>(32-d|0);h=h+d|0;c[g>>2]=h;if(h>>>0<=32){if((h|0)==32)e=12}else{e=64-h|0;if(e>>>0<32)e=(c[b+16>>2]|0)>>>e;else e=0;f=e|f;e=12}if((e|0)==12){e=b+16|0;c[i>>2]=c[e>>2];i=b+8|0;b=c[i>>2]|0;c[i>>2]=b+4;b=c[b>>2]|0;c[g>>2]=h+-32;c[e>>2]=Rk(b|0)|0}e=0;do{d=d+-1|0;i=f>>>d&1|a<<1;b=i>>>0<k>>>0;a=i-(b?0:k)|0;e=e<<1|(b^1)&1}while((d|0)!=0);c[j>>2]=a;return e|0}function Fh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=a+12|0;g=a+4|0;e=c[g>>2]|0;d=c[f>>2]<<e>>>(32-b|0);e=e+b|0;c[g>>2]=e;if(e>>>0<=32){if((e|0)!=32){g=d;return g|0}}else{b=64-e|0;if(b>>>0<32)b=(c[a+16>>2]|0)>>>b;else b=0;d=b|d}b=a+16|0;c[f>>2]=c[b>>2];a=a+8|0;f=c[a>>2]|0;c[a>>2]=f+4;f=c[f>>2]|0;c[g>>2]=e+-32;c[b>>2]=Rk(f|0)|0;g=d;return g|0}function Gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;g=c[m>>2]|0;i=c[a>>2]|0;if((d|0)<=0)J(42907,42291,614,43141);if(i>>>0<=255)J(42507,42291,615,43141);l=b+12|0;k=b+4|0;j=c[k>>2]|0;f=32-d|0;e=c[l>>2]<<j>>>f;if(j>>>0>f>>>0){a=64-d-j|0;if(a>>>0<32)a=(c[b+16>>2]|0)>>>a;else a=0;a=a|e}else a=e;h=0;a=a<<f;while(1){f=a>>>31|g<<1;e=f>>>0<i>>>0;g=f-(e?0:i)|0;e=e^1;f=h+1|0;if(!((f|0)<(d|0)&e))break;else{h=f;a=a<<1}}e=e&1;a=f+j|0;c[k>>2]=a;if(a>>>0<=31){b=h+e|0;c[m>>2]=g;return b|0}d=b+16|0;c[l>>2]=c[d>>2];l=b+8|0;b=c[l>>2]|0;c[l>>2]=b+4;b=c[b>>2]|0;c[k>>2]=a+-32;c[d>>2]=Rk(b|0)|0;b=h+e|0;c[m>>2]=g;return b|0}function Hh(e,f,g,h){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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=Sb;Sb=Sb+16|0;E=F;j=c[e+360>>2]|0;i=c[e+456>>2]|0;C=(c[e+624>>2]|0)+(i<<1)|0;B=c[e+460>>2]|0;D=(c[e+628>>2]|0)+(B<<1)|0;if(!B)l=0;else l=(1<<(((g|0)/8|0)&7)&d[(c[e+600>>2]|0)+(r(((b[j>>1]|0)+63|0)/64|0,(h+-8|0)/8|0)|0)+((g|0)/64|0)>>0]|0)!=0&1;do if(!i){if((c[e+332>>2]|0)==0?(c[e+336>>2]|0)==0:0){B=1;break}if(!(c[e+324>>2]|0))B=1;else k=7}else k=7;while(0);if((k|0)==7){B=g+-8|0;B=(1<<(((B|0)/8|0)&7)&d[(c[e+600>>2]|0)+(r(((b[j>>1]|0)+63|0)/64|0,(h|0)/8|0)|0)+((B|0)/64|0)>>0]|0)==0}t=1<<f;u=(t|0)/8|0;v=e+472|0;w=(c[v>>2]|0)==3;x=w?2:1;y=E+4|0;z=E+8|0;A=e+12192|0;s=0;i=l;while(1){o=(i|0)==0;p=D+(r(s,u)|0)|0;q=s<<1;if(B)i=1;else i=d[p>>0]|0;if(o)g=1;else g=d[C>>0]|0;do if((i|0)==(g|0))if(i>>>0<2){c[E>>2]=0;c[y>>2]=1;f=26;i=0;g=1;break}else{c[E>>2]=i;g=(i+29&31)+2|0;c[y>>2]=g;f=((i+-1|0)%32|0)+2|0;break}else{c[E>>2]=i;c[y>>2]=g;if((i|0)!=0&(g|0)!=0)f=0;else f=(i|0)!=1&(g|0)!=1?1:26}while(0);c[z>>2]=f;if((c[e+492+(q<<2)>>2]|0)==1)i=c[E+(c[e+508+(q<<2)>>2]<<2)>>2]|0;else{if((i|0)>(g|0)){c[y>>2]=i;c[E>>2]=g;h=g}else{h=i;i=g}if((h|0)>(f|0)){c[z>>2]=h;c[E>>2]=f;j=h;g=f}else{j=f;g=h}if((i|0)>(j|0)){c[z>>2]=i;c[y>>2]=j;h=j}else{h=i;i=j}n=c[e+524+(q<<2)>>2]|0;n=n+((n|0)>=(g|0)&1)|0;n=n+((n|0)>=(h|0)&1)|0;i=n+((n|0)>=(i|0)&1)|0}c[e+476+(q<<2)>>2]=i;n=i&255;m=((t|0)/(x|0)|0|0)/4|0;bc[c[A>>2]&15](p,n,m);bc[c[A>>2]&15](C,n,m);if(w){l=1;do{i=a[p>>0]|0;g=i&255;n=r(l,u)|0;if(o)h=1;else h=d[C+n>>0]|0;do if((h|0)==(g|0))if((i&255)<2){c[E>>2]=0;c[y>>2]=1;i=26;g=0;h=1;break}else{c[E>>2]=g;h=(i+29&31)+2&255;c[y>>2]=h;i=((g+-1|0)%32|0)+2|0;break}else{c[E>>2]=g;c[y>>2]=h;if(i<<24>>24!=0&(h|0)!=0)i=0;else i=i<<24>>24!=1&(h|0)!=1?1:26}while(0);c[z>>2]=i;k=l+q|0;if((c[e+492+(k<<2)>>2]|0)==1)i=c[E+(c[e+508+(k<<2)>>2]<<2)>>2]|0;else{if((g|0)>(h|0)){c[y>>2]=g;c[E>>2]=h;j=h}else{j=g;g=h}if((j|0)>(i|0)){c[z>>2]=j;c[E>>2]=i;f=j}else{f=i;i=j}if((g|0)>(f|0)){c[z>>2]=g;c[y>>2]=f;h=f}else{h=g;g=f}f=c[e+524+(k<<2)>>2]|0;i=f+((f|0)>=(i|0)&1)|0;i=i+((i|0)>=(h|0)&1)|0;i=i+((i|0)>=(g|0)&1)|0}c[e+476+(k<<2)>>2]=i;k=i&255;bc[c[A>>2]&15](p,k,m);bc[c[A>>2]&15](C+n|0,k,m);l=l+1|0}while(l>>>0<x>>>0)}s=s+1|0;if(s>>>0>=x>>>0)break;else i=1}if(c[v>>2]|0){Sb=F;return}E=c[e+476>>2]|0;c[e+480>>2]=E;c[e+484>>2]=E;c[e+488>>2]=E;Sb=F;return}function Ih(d,e){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;m=d+376|0;n=d+660|0;o=c[d+648>>2]|0;do if(!(a[o+76>>0]|0)){l=c[e+12>>2]|0;if(((l>>>6&60)+(l>>>10&60)|0)!=4?vh(n,m,(c[d+976>>2]|0)+20|0)|0:0){f=2;p=4;break}f=vh(n,m,24)|0;g=e+8|0;a[g>>0]=0;h=e+9|0;a[h>>0]=0;if((f|0)==1)f=1;else{k=g;l=h;p=6}}else{f=0;p=4}while(0);if((p|0)==4){k=e+8|0;a[k>>0]=0;l=e+9|0;a[l>>0]=0;p=6}if((p|0)==6){h=a[o+160>>0]|0;i=h<<24>>24;if(h<<24>>24>1){g=vh(n,m,25)|0;if(h<<24>>24!=2&(g|0)!=0){j=vh(n,m,26)|0;if(h<<24>>24>3&(j|0)!=0)g=(Gh(n,m,i+-3|0)|0)+2|0;else g=j+g|0}if((g|0)>15)g=15;else{g=(g|0)>0?g:0;p=11}}else{g=0;p=11}if((p|0)==11)g=g&255;a[k>>0]=g;Jh(d,e)|0;h=vh(n,m,29)|0;g=e+12|0;h=c[g>>2]&-8388609|h<<23&8388608;c[g>>2]=h;if(!f){o=0;p=g;n=h;o=o<<17;o=o&393216;n=n&-393217;o=n|o;c[p>>2]=o;return 0}else h=l}i=a[o+161>>0]|0;j=i<<24>>24;if(i<<24>>24>1){g=vh(n,m,25)|0;if(i<<24>>24!=2&(g|0)!=0){k=vh(n,m,26)|0;if(i<<24>>24>3&(k|0)!=0)g=(Gh(n,m,j+-3|0)|0)+2|0;else g=k+g|0}if((g|0)>15)g=15;else{g=(g|0)>0?g:0;p=18}}else{g=0;p=18}if((p|0)==18)g=g&255;a[h>>0]=g;if((f|0)==2&(a[o+162>>0]|0)!=0){b[e+4>>1]=0;b[e+6>>1]=0}else Jh(d,e+4|0)|0;n=vh(n,m,29)|0;p=e+12|0;n=c[p>>2]&-16777217|n<<24&16777216;c[p>>2]=n;o=f;o=o<<17;o=o&393216;n=n&-393217;o=n|o;c[p>>2]=o;return 0}function Jh(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+376|0;h=a+660|0;e=vh(h,i,27)|0;a=vh(h,i,27)|0;e=(e|0)!=0;if(e)d=vh(h,i,28)|0;else d=0;g=(a|0)!=0;if(g)f=vh(h,i,28)|0;else f=0;if(e){if(!d)a=1;else a=(Ch(h,i,1)|0)+2|0;e=(yh(h,i)|0)==0;a=(e?a:0-a|0)&65535}else a=0;b[c>>1]=a;if(!g){h=0;i=c+2|0;b[i>>1]=h;return 0}if(!f)a=1;else a=(Ch(h,i,1)|0)+2|0;h=(yh(h,i)|0)==0;h=(h?a:0-a|0)&65535;i=c+2|0;b[i>>1]=h;return 0}function Kh(d){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,s=0;p=c[d+360>>2]|0;o=a[(a[p+14>>0]|0)+-1+(p+25)>>0]|0;s=o<<24>>24;h=s+1|0;c[d+232>>2]=h;g=c[d+236>>2]|0;h=h*40980|0;c[d+228>>2]=g;i=b[p>>1]|0;q=p+2|0;j=b[q>>1]|0;f=r((j<<16>>16)+63&-64,(i<<16>>16)+63&-64)|0;e=(f|0)/16|0;f=(f|0)/256|0;if(o<<24>>24<0){d=0;return d|0}n=-4-e+(r(f,-4)|0)+(r(e,-16)|0)-((f<<1)+3&-4)|0;o=d+224|0;l=0;k=(c[d+240>>2]|0)-h|0;m=g;h=g+h|0;f=i;e=j;while(1){e=r((e<<16>>16)+63&-64,(f<<16>>16)+63&-64)|0;g=(e|0)/16|0;e=(e|0)/256|0;f=n+k|0;if((f|0)<0){f=4;break}c[m>>2]=h;k=h+((e<<2)+4)|0;c[m+8>>2]=k;k=k+g|0;c[m+12>>2]=k;e=k+((e<<1)+3&-4)|0;c[m+4>>2]=e;if(Vd(c[o>>2]|0,m,l)|0){f=6;break}if((l|0)>=(s|0)){e=0;f=9;break}l=l+1|0;k=f;m=m+40980|0;h=e+(g<<4)|0;f=b[p>>1]|0;e=b[q>>1]|0}if((f|0)==4){c[d+652>>2]=981;d=981;return d|0}else if((f|0)==6){c[d+652>>2]=983;d=983;return d|0}else if((f|0)==9)return e|0;return 0}function Lh(d){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,s=0,t=0,u=0,v=0,w=0,x=0,y=0;m=c[d+360>>2]|0;e=(a[m+14>>0]|0)+-1|0;f=a[m+25+e>>0]|0;if((c[d+11636>>2]|0)!=1)f=(a[m+32+e>>0]|0)+f|0;if(c[d+56>>2]|0){g=d+244|0;h=d+20|0;e=0;while(1){i=_d(c[g>>2]|0,e)|0;if(!i){y=0;e=23;break}j=c[i>>2]|0;if(!j){y=0;e=23;break}k=i+4|0;l=c[k>>2]|0;if(!l){y=0;e=23;break}y=c[h>>2]|0;c[i>>2]=j+((y*80|0)+80);c[k>>2]=l+((y*40|0)+80);e=e+1|0;if(e>>>0>=64){y=0;e=23;break}}if((e|0)==23)return y|0}x=d+20|0;o=r((b[m+2>>1]|0)+160|0,c[x>>2]|0)|0;p=(o|0)/2|0;if((f|0)<0){d=0;return d|0}q=p+o|0;s=d+4|0;t=d+244|0;k=0;l=c[d+11628>>2]|0;m=c[d+248>>2]|0;n=c[d+256>>2]|0;while(1){n=n-q|0;if((n|0)<0){e=7;break}u=c[x>>2]|0;e=l+(u*80|0)+80|0;c[m>>2]=e;w=l+o|0;v=m+4|0;c[v>>2]=w+(u*40|0)+80;l=w+p|0;w=c[d>>2]|0;h=c[s>>2]|0;if((h|0)>0){g=0;while(1){a[e+-1>>0]=0;a[e+w>>0]=0;g=g+1|0;if((g|0)==(h|0))break;else e=e+u|0}e=c[m>>2]|0}j=0-u|0;i=w+2|0;Uk(e+j+-1|0,0,i|0)|0;Uk(e+(r(h,u)|0)+-1|0,0,i|0)|0;i=h>>1;if((h|0)>1){h=w+1|0;e=c[v>>2]|0;g=0;while(1){a[e+-1>>0]=0;a[e+-2>>0]=0;a[e+w>>0]=0;a[e+h>>0]=0;g=g+1|0;if((g|0)>=(i|0))break;else e=e+u|0}}v=c[v>>2]|0;w=w+4|0;Uk(v+j+-2|0,0,w|0)|0;Uk(v+(r(i,u)|0)+-2|0,0,w|0)|0;if(Vd(c[t>>2]|0,m,k)|0){e=16;break}if((k|0)>=(f|0)){y=0;e=23;break}else{k=k+1|0;m=m+8476|0}}if((e|0)==7){c[d+652>>2]=982;d=982;return d|0}else if((e|0)==16){c[d+652>>2]=983;d=983;return d|0}else if((e|0)==23)return y|0;return 0}function Mh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;if(!f){f=0;return f|0}e=0;while(1){d=c[a+264+(e<<2)>>2]|0;if(d|0?(c[d+16>>2]|0)==(b|0):0){e=6;break}e=e+1|0;if(e>>>0>=f>>>0){e=6;break}}if((e|0)==6)return d|0;return 0}function Nh(a){a=a|0;var b=0,d=0;b=a+16|0;if(ag(c[b>>2]|0)|0){b=2147483647;return b|0}d=c[a>>2]|0;c[a+4>>2]=d;c[a+8>>2]=d;c[a+20>>2]=0;b=(bg(c[b>>2]|0)|0)==0;b=b?0:2147483647;return b|0}function Oh(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=Sb;Sb=Sb+16|0;f=t;o=d+136|0;if(Sg(c[o>>2]|0,f,16,1)|0){Sb=t;return}p=f+8|0;q=d+140|0;r=f+4|0;s=d+4|0;g=f+6|0;h=d+8|0;i=f+10|0;j=d+32|0;k=f+12|0;l=d+276|0;m=d+44|0;n=d+272|0;do{c[q>>2]=b[p>>1];c[s>>2]=b[r>>1];e=b[g>>1]|0;c[h>>2]=e;c[j>>2]=b[i>>1];switch(c[f>>2]|0){case 0:{Ig(d,c[k>>2]|0);Tg(d)|0;break}case 1:{if(!(c[l>>2]|0)){Ig(d,0);e=b[g>>1]|0}w=c[d>>2]|0;v=c[n>>2]|0;u=a[(c[m>>2]|0)+4116>>0]|0;x=1<<u;u=e<<u;e=(c[w+12>>2]|0)-u|0;e=(x|0)<(e|0)?x:e;Kg(w,d,c[v+4>>2]|0,c[v+8>>2]|0,c[v+12>>2]|0,u,(e|0)>0?e:0)|0;break}default:{}}}while(!(Sg(c[o>>2]|0,f,16,1)|0));Sb=t;return}function Ph(f,g){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,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,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=f+376|0;W=a[g>>0]|0;X=f+128|0;if((c[X>>2]|0)==1){X=0;return X|0}o=(W+-19&255)<2;l=Fh(F,1)|0;n=(W&-8)<<24>>24==16;if(n)m=Fh(F,1)|0;else m=0;C=bi(F)|0;C=(C|0)>0?C:0;C=(C|0)<63?C:63;D=c[f+640>>2]|0;H=D+(C*68|0)|0;if(!(a[D+(C*68|0)+67>>0]|0)){h=c[f+300>>2]|0;j=h;a:do if(!(a[h+67>>0]|0)){while(1){i=h+68|0;if((i-j|0)>4284){h=980;break}if(!(a[h+135>>0]|0))h=i;else{h=i;break a}}return h|0}while(0);Th(f,C,a[h+8>>0]|0)}R=a[D+(C*68|0)+9>>0]|0;S=c[f+636>>2]|0;z=S+(R*8976|0)|0;A=f+136|0;if(!(c[A>>2]|0)){h=c[f+84>>2]|0;if(!((l|0)!=0&(h|0)!=0))if(!l)I=18;else I=17;else I=14}else{h=c[f+84>>2]|0;if(l)if(!h){c[X>>2]=0;I=17}else I=14;else I=18}do if((I|0)==14){c[X>>2]=1;W=f+344|0;X=c[W>>2]|0;X=(X|0)<1?0:X+-1|0;c[W>>2]=X;W=c[f+644>>2]|0;X=X+1&255;b[W+(X*1272|0)+872>>1]=0;b[W+(X*1272|0)+874>>1]=b[(c[f+360>>2]|0)+4120>>1]|0;X=0;return X|0}else if((I|0)==17){V=f+344|0;c[V>>2]=0;h=0;Q=1}else if((I|0)==18){i=f+344|0;if(!h){c[i>>2]=1;V=i;h=1;Q=0;break}else{V=i;h=c[i>>2]|0;Q=0;break}}while(0);P=f+644|0;U=c[P>>2]|0;T=h&255;y=U+(T*1272|0)|0;if(Q|(a[D+(C*68|0)+26>>0]|0)==0)h=0;else{h=Fh(F,1)|0;if(h|0?(k=c[V>>2]|0,(k|0)>0):0)ii(f,k&255,k+255&255);h=h&255}a[U+(T*1272|0)+75>>0]=h;x=U+(T*1272|0)+1260|0;a[x>>0]=W;w=U+(T*1272|0)+73|0;N=l&255;O=U+(T*1272|0)+72|0;a[O>>0]=N;a[U+(T*1272|0)+74>>0]=n?m&255:1;a[w>>0]=C;do if(!(N<<24>>24)){N=S+(R*8976|0)+4128|0;h=Fh(F,32-(s((c[N>>2]|0)+-1|0)|0)|0)|0;if((h|0)<1?1:(h|0)>=(c[N>>2]|0)){X=987;return X|0}else{v=U+(T*1272|0)+75|0;K=h;N=v;h=a[v>>0]|0;break}}else{K=0;N=U+(T*1272|0)+75|0}while(0);do if(!(h<<24>>24)){j=U+(T*1272|0)+77|0;a[j>>0]=1;k=U+(T*1272|0)+80|0;c[k>>2]=0;q=U+(T*1272|0)+90|0;a[q>>0]=0;t=U+(T*1272|0)+91|0;a[t>>0]=0;i=D+(C*68|0)+42|0;if((a[i>>0]|0)>0){h=0;do{Fh(F,1)|0;h=h+1|0}while((h|0)<(a[i>>0]|0))}u=(bi(F)|0)&255;v=U+(T*1272|0)+76|0;u=(a[x>>0]&-8)<<24>>24==16?2:u;a[v>>0]=u;if((u&255)>2){X=987;return X|0}if(a[D+(C*68|0)+24>>0]|0)a[j>>0]=Fh(F,1)|0;h=U+(T*1272|0)+78|0;a[h>>0]=0;if((a[S+(R*8976|0)+18>>0]|0)==1)a[h>>0]=Fh(F,2)|0;u=U+(T*1272|0)+158|0;a[u>>0]=0;if(!o){p=S+(R*8976|0)+23|0;c[k>>2]=Fh(F,a[p>>0]|0)|0;o=Fh(F,1)|0;a[U+(T*1272|0)+88>>0]=o;if((o&255|0)==1){h=U+(T*1272|0)+89|0;a[h>>0]=0;i=a[S+(R*8976|0)+60>>0]|0;if(i<<24>>24>1){o=Fh(F,32-(s((i<<24>>24)+-1|0)|0)|0)|0;a[h>>0]=o;h=o}else h=0;m=h<<24>>24;o=S+(R*8976|0)+4488+(m*70|0)+35|0;l=a[S+(R*8976|0)+4488+(m*70|0)+34>>0]|0;m=a[S+(R*8976|0)+4488+(m*70|0)+33>>0]|0}else{o=a[S+(R*8976|0)+60>>0]|0;fi(F,S+(R*8976|0)+4488|0,o,o,U+(T*1272|0)+188|0)|0;o=U+(T*1272|0)+223|0;l=a[U+(T*1272|0)+222>>0]|0;m=a[U+(T*1272|0)+221>>0]|0}if(a[S+(R*8976|0)+61>>0]|0){n=S+(R*8976|0)+62|0;if((a[n>>0]|0)>0){j=(bi(F)|0)<<24;k=j>>24;h=16-m-l|0;a[q>>0]=(k|0)>(h|0)?h:(j|0)<0?0:k}else h=16-m-l|0;j=(bi(F)|0)<<24;k=j>>24;i=a[q>>0]|0;h=h-i|0;k=(k|0)>(h|0)?h:(j|0)<0?0:k;a[t>>0]=k;if(((k<<24>>24)+i|0)>0){k=0;do{if((k|0)<(i|0)){h=a[n>>0]|0;if(h<<24>>24>1)h=Fh(F,32-(s((h<<24>>24)+-1|0)|0)|0)|0;else h=0;c[U+(T*1272|0)+4+(k<<2)>>2]=e[S+(R*8976|0)+64+(h<<1)>>1];h=a[S+(R*8976|0)+128+h>>0]|0}else{c[U+(T*1272|0)+4+(k<<2)>>2]=Fh(F,a[p>>0]|0)|0;h=(Fh(F,1)|0)&255}a[U+(T*1272|0)+108+k>>0]=h;j=(Fh(F,1)|0)&255;a[U+(T*1272|0)+124+k>>0]=j;h=U+(T*1272|0)+140+k|0;a[h>>0]=0;if(!(j<<24>>24))j=0;else{j=bi(F)|0;a[h>>0]=j}i=a[q>>0]|0;if(!((k|0)==0|(k|0)==(i|0)))a[h>>0]=j+(d[k+-1+(U+(T*1272|0)+140)>>0]|0);k=k+1|0}while((k|0)<(i+(a[t>>0]|0)|0))}}j=l+m|0;if((j|0)>0){h=0;i=0;do{h=h+((a[o+i>>0]|0)!=0&1)|0;i=i+1|0}while((i|0)!=(j|0))}else h=0;j=(a[t>>0]|0)+(a[q>>0]|0)|0;if((j|0)>0){i=0;do{h=h+((a[U+(T*1272|0)+108+i>>0]|0)!=0&1)|0;i=i+1|0}while((i|0)<(j|0))}if(a[S+(R*8976|0)+160>>0]|0)a[u>>0]=Fh(F,1)|0}else h=0;p=U+(T*1272|0)+156|0;a[p>>0]=0;q=U+(T*1272|0)+157|0;a[q>>0]=0;if(a[S+(R*8976|0)+57>>0]|0){a[p>>0]=Fh(F,1)|0;a[q>>0]=Fh(F,1)|0}m=U+(T*1272|0)+166|0;a[m>>0]=1;j=U+(T*1272|0)+163|0;a[j>>0]=0;k=U+(T*1272|0)+160|0;a[k>>0]=0;l=U+(T*1272|0)+161|0;a[l>>0]=0;n=U+(T*1272|0)+168|0;a[n>>0]=0;o=U+(T*1272|0)+169|0;a[o>>0]=0;do if((d[v>>0]|0)<2){t=(Fh(F,1)|0)&255;a[U+(T*1272|0)+159>>0]=t;if(!(t<<24>>24)){i=a[D+(C*68|0)+12>>0]|0;a[k>>0]=i;if(!(a[v>>0]|0))a[l>>0]=a[D+(C*68|0)+13>>0]|0}else{i=(bi(F)|0)+1&255;a[k>>0]=i;if(!(a[v>>0]|0)){a[l>>0]=(bi(F)|0)+1;i=a[k>>0]|0}}t=i<<24>>24>0?i:0;a[k>>0]=t<<24>>24<15?t:15;t=a[l>>0]|0;t=t<<24>>24>0?t:0;a[l>>0]=t<<24>>24<15?t:15;if(!h){X=987;return X|0}if((h|0)>1?(a[D+(C*68|0)+41>>0]|0)!=0:0)ji(F,y,h)|0;else{a[U+(T*1272|0)+708>>0]=0;a[U+(T*1272|0)+725>>0]=0}if(!(a[v>>0]|0))a[U+(T*1272|0)+162>>0]=Fh(F,1)|0;a[j>>0]=0;if(a[D+(C*68|0)+11>>0]|0)a[j>>0]=Fh(F,1)|0;h=U+(T*1272|0)+164|0;a[h>>0]=1;i=U+(T*1272|0)+165|0;a[i>>0]=0;b:do if(a[u>>0]|0){do if(!(a[v>>0]|0)){u=(Fh(F,1)|0)&255;a[h>>0]=u;if(u<<24>>24){I=88;break}if((a[l>>0]|0)<=1)break b}else I=88;while(0);if((I|0)==88?(a[k>>0]|0)<=1:0)break;a[i>>0]=bi(F)|0}while(0);I=a[i>>0]|0;I=I<<24>>24>0?I:0;a[i>>0]=I<<24>>24<15?I:15;if((a[D+(C*68|0)+22>>0]|0)!=0?(a[v>>0]|0)==1:0)I=95;else I=93;do if((I|0)==93){if(!(a[D+(C*68|0)+23>>0]|0))break;if(!(a[v>>0]|0))I=95}while(0);if((I|0)==95)ki(F,z,H,y)|0;h=5-(bi(F)|0)&255;a[m>>0]=h;if(h<<24>>24<=1){h=1;I=98;break}if(h<<24>>24<5)I=98;else h=5}else{h=1;I=98}while(0);a[m>>0]=h;a[U+(T*1272|0)+167>>0]=ci(F)|0;if(a[D+(C*68|0)+21>>0]|0){a[n>>0]=ci(F)|0;a[o>>0]=ci(F)|0}i=U+(T*1272|0)+170|0;a[i>>0]=0;h=a[D+(C*68|0)+37>>0]|0;j=U+(T*1272|0)+171|0;a[j>>0]=h;k=U+(T*1272|0)+172|0;a[k>>0]=a[D+(C*68|0)+38>>0]|0;l=U+(T*1272|0)+173|0;a[l>>0]=a[D+(C*68|0)+39>>0]|0;h=h<<24>>24;do if(((a[D+(C*68|0)+35>>0]|0)!=0?(a[D+(C*68|0)+36>>0]|0)!=0:0)?(I=(Fh(F,1)|0)&255,a[i>>0]=I,I<<24>>24!=0):0){h=Fh(F,1)|0;I=h&255;a[j>>0]=I;h=h<<24>>24;if(I<<24>>24)break;a[k>>0]=ci(F)|0;a[l>>0]=ci(F)|0}while(0);I=a[D+(C*68|0)+34>>0]|0;i=U+(T*1272|0)+174|0;a[i>>0]=I;if(I<<24>>24){if((a[p>>0]|0)==0?(h|0)!=0&(a[q>>0]|0)==0:0)break;a[i>>0]=Fh(F,1)|0}}while(0);u=f+84|0;h=(c[u>>2]|0)==0;if(Q)if(h)I=115;else I=116;else if(!h){h=c[f+304>>2]|0;if((a[h+73>>0]|0)!=(a[w>>0]|0)){X=987;return X|0}if((c[h+80>>2]|0)==(c[U+(T*1272|0)+80>>2]|0))I=116;else{X=987;return X|0}}else I=115;if((I|0)==115){j=f+1448|0;h=li(f,g,a[S+(R*8976|0)+23>>0]|0,c[U+(T*1272|0)+80>>2]|0)|0}else if((I|0)==116){h=f+1448|0;j=h;h=c[h>>2]|0}t=U+(T*1272|0)+84|0;c[t>>2]=h;i=(c[j>>2]|0)==(h|0);do if(Q)if(i){X=987;return X|0}else{c[j>>2]=h;i=0;break}else if(i){h=c[f+984>>2]|0;if((K|0)>(h|0)){if(!(c[u>>2]|0))h=987;else{i=1;break}return h|0}if((K|0)<(h|0)){X=987;return X|0}else{c[X>>2]=0;i=0;break}}else{if(c[u>>2]|0){c[X>>2]=1;X=c[V>>2]|0;X=(X|0)<1?0:X+-1|0;c[V>>2]=X;W=c[P>>2]|0;X=X+1&255;b[W+(X*1272|0)+872>>1]=0;b[W+(X*1272|0)+874>>1]=b[(c[f+360>>2]|0)+4120>>1]|0;X=0;return X|0}if(!(a[N>>0]|0)){c[j>>2]=h;i=0;break}else{X=987;return X|0}}while(0);k=U+(T*1272|0)+176|0;c[k>>2]=0;h=D+(C*68|0)+27|0;if(!((a[h>>0]|0)==0?!(a[D+(C*68|0)+28>>0]|0):0)){j=bi(F)|0;c[k>>2]=j;do if(a[h>>0]|0){h=a[D+(C*68|0)+30>>0]|0;if(!(a[D+(C*68|0)+28>>0]|0)){h=r(a[D+(C*68|0)+31>>0]|0,h)|0;break}else{h=r((b[S+(R*8976|0)+4120>>1]|0)+-1|0,h)|0;break}}else h=(b[S+(R*8976|0)+4120>>1]|0)+-1|0;while(0);g=(j|0)>(h|0)?h:(j|0)>0?j:0;c[k>>2]=g;if(((g|0)>0?(B=(bi(F)|0)+1|0,E=U+(T*1272|0)+180|0,a[E>>0]=B,(c[k>>2]|0)>0):0)?(Fh(F,B<<24>>24)|0,(c[k>>2]|0)>1):0){h=1;do{Fh(F,a[E>>0]|0)|0;h=h+1|0}while((h|0)<(c[k>>2]|0))}}if(a[D+(C*68|0)+44>>0]|0?(E=bi(F)|0,G=U+(T*1272|0)+68|0,b[G>>1]=E,(E<<16|0)>0):0){h=0;do{Fh(F,8)|0;h=h+1|0}while((h|0)<(b[G>>1]|0))}th(F);if((c[f+384>>2]|0)>>>0>(c[f+396>>2]|0)>>>0){X=979;return X|0}q=f+276|0;p=c[q>>2]|0;if(((a[x>>0]|0)+-16&255)>=5?(c[A>>2]|0)!=0:0){h=mi(f,H,z,y)|0;if(h|0){X=h;return X|0}}else{l=f+244|0;m=f+228|0;n=f+232|0;o=f+224|0;k=0;do{h=c[p+4+(k<<3)>>2]|0;c:do if(h|0?(L=h+8|0,Be(c[q>>2]|0,c[l>>2]|0,c[L>>2]|0),M=c[n>>2]|0,(M|0)>0):0){j=c[m>>2]|0;h=0;while(1){if(j|0?(c[j+16>>2]|0)==(c[L>>2]|0):0)break;h=h+1|0;if((h|0)<(M|0))j=j+40980|0;else break c}Yd(c[o>>2]|0,h,2)|0}while(0);k=k+1|0}while((k|0)!=64);c[U+(T*1272|0)+876>>2]=0;c[U+(T*1272|0)+880>>2]=0;c[U+(T*1272|0)+1068>>2]=0;c[U+(T*1272|0)+1072>>2]=0;c[U+(T*1272|0)+888>>2]=0;c[U+(T*1272|0)+892>>2]=0;c[U+(T*1272|0)+1080>>2]=0;c[U+(T*1272|0)+1084>>2]=0;c[U+(T*1272|0)+900>>2]=0;c[U+(T*1272|0)+904>>2]=0;c[U+(T*1272|0)+1092>>2]=0;c[U+(T*1272|0)+1096>>2]=0;c[U+(T*1272|0)+912>>2]=0;c[U+(T*1272|0)+916>>2]=0;c[U+(T*1272|0)+1104>>2]=0;c[U+(T*1272|0)+1108>>2]=0;c[U+(T*1272|0)+924>>2]=0;c[U+(T*1272|0)+928>>2]=0;c[U+(T*1272|0)+1116>>2]=0;c[U+(T*1272|0)+1120>>2]=0;c[U+(T*1272|0)+936>>2]=0;c[U+(T*1272|0)+940>>2]=0;c[U+(T*1272|0)+1128>>2]=0;c[U+(T*1272|0)+1132>>2]=0;c[U+(T*1272|0)+948>>2]=0;c[U+(T*1272|0)+952>>2]=0;c[U+(T*1272|0)+1140>>2]=0;c[U+(T*1272|0)+1144>>2]=0;c[U+(T*1272|0)+960>>2]=0;c[U+(T*1272|0)+964>>2]=0;c[U+(T*1272|0)+1152>>2]=0;c[U+(T*1272|0)+1156>>2]=0;c[U+(T*1272|0)+972>>2]=0;c[U+(T*1272|0)+976>>2]=0;c[U+(T*1272|0)+1164>>2]=0;c[U+(T*1272|0)+1168>>2]=0;c[U+(T*1272|0)+984>>2]=0;c[U+(T*1272|0)+988>>2]=0;c[U+(T*1272|0)+1176>>2]=0;c[U+(T*1272|0)+1180>>2]=0;c[U+(T*1272|0)+996>>2]=0;c[U+(T*1272|0)+1e3>>2]=0;c[U+(T*1272|0)+1188>>2]=0;c[U+(T*1272|0)+1192>>2]=0;c[U+(T*1272|0)+1008>>2]=0;c[U+(T*1272|0)+1012>>2]=0;c[U+(T*1272|0)+1200>>2]=0;c[U+(T*1272|0)+1204>>2]=0;c[U+(T*1272|0)+1020>>2]=0;c[U+(T*1272|0)+1024>>2]=0;c[U+(T*1272|0)+1212>>2]=0;c[U+(T*1272|0)+1216>>2]=0;c[U+(T*1272|0)+1032>>2]=0;c[U+(T*1272|0)+1036>>2]=0;c[U+(T*1272|0)+1224>>2]=0;c[U+(T*1272|0)+1228>>2]=0;c[U+(T*1272|0)+1044>>2]=0;c[U+(T*1272|0)+1048>>2]=0;c[U+(T*1272|0)+1236>>2]=0;c[U+(T*1272|0)+1240>>2]=0;c[U+(T*1272|0)+1056>>2]=0;c[U+(T*1272|0)+1060>>2]=0;c[U+(T*1272|0)+1248>>2]=0;c[U+(T*1272|0)+1252>>2]=0}do if(c[u>>2]|0){j=c[f+224>>2]|0;h=Ce(c[q>>2]|0,c[t>>2]|0)|0;if(!h){n=c[f+1452>>2]|0;m=c[f+6180>>2]|0}else{n=Mh(j,c[h+8>>2]|0)|0;m=h}k=a[U+(T*1272|0)+160>>0]|0;h=k<<24>>24;if(k<<24>>24>0){j=0;do{l=U+(T*1272|0)+876+(j*12|0)|0;if(!(c[l>>2]|0)){c[l>>2]=m;c[U+(T*1272|0)+876+(j*12|0)+4>>2]=n}j=j+1|0}while((j|0)<(h|0));if(k<<24>>24<16)I=169}else I=169;if((I|0)==169)while(1){c[U+(T*1272|0)+876+(h*12|0)>>2]=m;c[U+(T*1272|0)+876+(h*12|0)+4>>2]=n;if((h|0)<15)h=h+1|0;else break}k=a[U+(T*1272|0)+161>>0]|0;h=k<<24>>24;if(k<<24>>24>0){j=0;do{l=U+(T*1272|0)+1068+(j*12|0)|0;if(!(c[l>>2]|0)){c[l>>2]=m;c[U+(T*1272|0)+1068+(j*12|0)+4>>2]=n}j=j+1|0}while((j|0)<(h|0));if(k<<24>>24>=16)break}while(1){c[U+(T*1272|0)+1068+(h*12|0)>>2]=m;c[U+(T*1272|0)+1068+(h*12|0)+4>>2]=n;if((h|0)<15)h=h+1|0;else break}}while(0);if(!(a[O>>0]|0)){h=b[S+(R*8976|0)+4118>>1]|0;j=(K|0)/(h|0)|0;h=K-(r(j,h)|0)&65535;b[U+(T*1272|0)+872>>1]=h;j=j&65535;b[U+(T*1272|0)+874>>1]=j;if(!(a[N>>0]|0)){b[U+(T*1272|0)+1262>>1]=h;b[U+(T*1272|0)+1264>>1]=j}}else{b[U+(T*1272|0)+872>>1]=0;b[U+(T*1272|0)+874>>1]=0;b[U+(T*1272|0)+1262>>1]=0;b[U+(T*1272|0)+1264>>1]=0}do if(!Q?(c[u>>2]|0)==0:0){h=c[P>>2]|0;ii(f,0,c[V>>2]&255);if((c[V>>2]|0)!=1)J(43469,43511,1012,43547);b[h+872>>1]=0;b[h+874>>1]=0;c[f+316>>2]=0;c[f+320>>2]=0;c[V>>2]=0;h=U+(T*1272|0)+872|0;if(!(b[h>>1]|0)){if(b[U+(T*1272|0)+874>>1]|0){i=1;break}b[h>>1]=1;i=1}else i=1}while(0);h=c[f+68>>2]|0;if(W<<24>>24<16&(W&1)==0&(h|0)==2){X=987;return X|0}if((h|0)==6?(a[U+(T*1272|0)+76>>0]|0)!=2:0){X=987;return X|0}if(!i){X=0;return X|0}else{c[X>>2]=1;X=c[V>>2]|0;c[V>>2]=(X|0)<1?0:X+-1|0;return 0}return 0}function Qh(e){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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=Sb;Sb=Sb+368|0;i=H;D=e+376|0;h=Fh(D,4)|0;h=(h|0)>0?h:0;h=(h|0)<15?h:15;k=Fh(D,3)|0;j=k+1|0;j=(k|0)>6?7:(j|0)>1?j:1;k=Fh(D,1)|0;ei(D,i,j+-1|0);g=bi(D)|0;if(g>>>0>16)if(!(c[e+112>>2]|0))G=0;else{e=977;Sb=H;return e|0}else G=g;F=c[e+636>>2]|0;C=F+143616|0;n=F+152584|0;p=c[n>>2]|0;Uk(C|0,0,8976)|0;c[n>>2]=p;a[F+143628>>0]=G;a[F+143629>>0]=h;p=F+143630|0;a[p>>0]=j;a[F+143675>>0]=k;Sk(F+147748|0,i|0,355)|0;B=bi(D)|0;E=F+143631|0;a[E>>0]=B;if((B&255|0)!=1){c[e+652>>2]=218;e=218;Sb=H;return e|0}a[F+143634>>0]=0;b[C>>1]=bi(D)|0;z=bi(D)|0;B=F+143618|0;b[B>>1]=z;if((z<<16|0)<65536|(b[C>>1]|0)<1){e=979;Sb=H;return e|0}z=(Fh(D,1)|0)&255;a[F+143635>>0]=z;do if(z<<24>>24){g=bi(D)|0;if((g|0)<0){e=979;Sb=H;return e|0}if((g|0)>=(b[C>>1]|0)){e=979;Sb=H;return e|0}b[F+143620>>1]=g;g=bi(D)|0;if((g|0)<0){e=979;Sb=H;return e|0}if((g|0)>=(b[C>>1]|0)){e=979;Sb=H;return e|0}b[F+143622>>1]=g;g=bi(D)|0;if((g|0)<0){e=979;Sb=H;return e|0}if((g|0)>=(b[B>>1]|0)){e=979;Sb=H;return e|0}b[F+143624>>1]=g;g=bi(D)|0;if((g|0)<0){e=979;Sb=H;return e|0}if((g|0)<(b[B>>1]|0)){b[F+143626>>1]=g;break}else{e=979;Sb=H;return e|0}}else{z=F+143620|0;c[z>>2]=0;c[z+4>>2]=0}while(0);if(bi(D)|0){e=989;Sb=H;return e|0}if(bi(D)|0){e=989;Sb=H;return e|0}g=bi(D)|0;if(g>>>0>12){e=979;Sb=H;return e|0}o=F+143639|0;a[o>>0]=g+4;z=Fh(D,1)|0;a[F+143640>>0]=z;h=a[p>>0]|0;g=h<<24>>24;if(z&255){if(h<<24>>24>0){g=0;A=23}}else{g=g+-1|0;A=23}do if((A|0)==23){while(1){h=bi(D)|0;if(h>>>0>15){f=979;A=141;break}i=F+143641+g|0;a[i>>0]=h+1;h=bi(D)|0;if((h|0)<0){f=979;A=141;break}if((h|0)>(a[i>>0]|0)){f=979;A=141;break}a[F+143648+g>>0]=h;a[F+143655+g>>0]=bi(D)|0;g=g+1|0;h=a[p>>0]|0;if((g|0)>=(h<<24>>24|0)){A=28;break}}if((A|0)==28){g=h<<24>>24;break}else if((A|0)==141){Sb=H;return f|0}}while(0);z=e+11632|0;if(c[z>>2]|0){h=c[e+360>>2]|0;i=(a[h+14>>0]|0)+-1|0;g=g+-1|0;if((a[h+25+i>>0]|0)!=(a[F+143641+g>>0]|0)){if(!(c[e+124>>2]|0)){e=979;Sb=H;return e|0}c[e+132>>2]=1;e=42;Sb=H;return e|0}if((a[h+32+i>>0]|0)!=(a[F+143648+g>>0]|0)){if(!(c[e+124>>2]|0)){e=979;Sb=H;return e|0}c[e+132>>2]=1;e=42;Sb=H;return e|0}}y=F+143662|0;a[y>>0]=(bi(D)|0)+3;g=bi(D)|0;h=F+143663|0;a[h>>0]=g;g=(g<<24>>24)+(a[y>>0]|0)|0;m=F+143664|0;a[m>>0]=(bi(D)|0)+2;l=bi(D)|0;j=l&255;a[F+143665>>0]=j;k=a[m>>0]|0;l=l+(k&255)|0;a[F+147733>>0]=l;if(l&128|0){e=979;Sb=H;return e|0}if((l&255|0)>(((g|0)<5?g:5)|0)){e=979;Sb=H;return e|0}i=a[y>>0]|0;g=(d[h>>0]|0)+(i&255)|0;x=F+147732|0;a[x>>0]=g;if(j<<24>>24<0|(k<<24>>24<2|i<<24>>24<3)){e=979;Sb=H;return e|0}w=g<<24;if((w|0)<(l<<24|0)|(w+-67108864|0)>>>0>33554432){e=979;Sb=H;return e|0}g=1<<(i<<24>>24);if((b[C>>1]|0)%(g|0)|0|0){e=979;Sb=H;return e|0}if((b[B>>1]|0)%(g|0)|0|0){e=979;Sb=H;return e|0}i=F+143666|0;a[i>>0]=0;j=F+143667|0;a[j>>0]=0;g=bi(D)|0;if((g|0)<0){e=979;Sb=H;return e|0}if((g|0)>((a[x>>0]|0)-(a[m>>0]|0)|0)){e=979;Sb=H;return e|0}a[F+143668>>0]=g;g=bi(D)|0;if((g|0)<0){e=979;Sb=H;return e|0}if((g|0)>((a[x>>0]|0)-(a[m>>0]|0)|0)){e=979;Sb=H;return e|0}a[F+143669>>0]=g;w=(Fh(D,1)|0)&255;a[F+143670>>0]=w;Sk(c[n>>2]|0,26144,192)|0;g=(c[n>>2]|0)+192|0;do if(!(w<<24>>24)){Sk(g|0,26144,768)|0;Sk((c[n>>2]|0)+960|0,26144,1536)|0;Sk((c[n>>2]|0)+2496|0,26144,1536)|0;Sk((c[n>>2]|0)+4032|0,26144,2048)|0;Sk((c[n>>2]|0)+6080|0,26144,2048)|0}else{h=28192;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));g=(c[n>>2]|0)+320|0;h=28192;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));g=(c[n>>2]|0)+448|0;h=28192;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));g=(c[n>>2]|0)+576|0;h=28320;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));g=(c[n>>2]|0)+704|0;h=28320;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));g=(c[n>>2]|0)+832|0;h=28320;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));Sk((c[n>>2]|0)+960|0,28448,512)|0;Sk((c[n>>2]|0)+1472|0,28448,512)|0;Sk((c[n>>2]|0)+1984|0,28448,512)|0;Sk((c[n>>2]|0)+2496|0,28960,512)|0;Sk((c[n>>2]|0)+3008|0,28960,512)|0;Sk((c[n>>2]|0)+3520|0,28960,512)|0;Sk((c[n>>2]|0)+4032|0,29472,2048)|0;Sk((c[n>>2]|0)+6080|0,31520,2048)|0;w=(Fh(D,1)|0)&255;a[F+143671>>0]=w;if(!(w<<24>>24))break;di(e,c[n>>2]|0)|0}while(0);a[F+143672>>0]=Fh(D,1)|0;a[F+143673>>0]=Fh(D,1)|0;w=(Fh(D,1)|0)&255;a[F+143636>>0]=w;if(w<<24>>24){a[F+143637>>0]=(Fh(D,4)|0)+1;a[F+143638>>0]=(Fh(D,4)|0)+1;a[i>>0]=(bi(D)|0)+3;a[j>>0]=bi(D)|0;a[F+143674>>0]=Fh(D,1)|0}g=bi(D)|0;if(g>>>0>64){e=979;Sb=H;return e|0}i=F+143676|0;a[i>>0]=g;if((g<<24|0)>0){j=F+148104|0;h=0;g=g&255;do{fi(D,j,g,h,F+148104+(h*70|0)|0)|0;h=h+1|0;g=a[i>>0]|0}while((h|0)<(g|0))}w=(Fh(D,1)|0)&255;a[F+143677>>0]=w;do if(w<<24>>24){g=bi(D)|0;if(g>>>0>32){e=979;Sb=H;return e|0}h=F+143678|0;a[h>>0]=g;if((g<<24|0)<=0)break;g=0;do{b[F+143680+(g<<1)>>1]=Fh(D,a[o>>0]|0)|0;a[F+143744+g>>0]=Fh(D,1)|0;g=g+1|0}while((g|0)<(a[h>>0]|0))}while(0);a[F+143776>>0]=Fh(D,1)|0;a[F+143777>>0]=Fh(D,1)|0;w=(Fh(D,1)|0)&255;a[F+143778>>0]=w;do if(w<<24>>24){v=a[p>>0]|0;w=(v<<24>>24)+-1|0;u=(Fh(D,1)|0)&255;a[F+143780>>0]=u;g=F+143781|0;a[g>>0]=0;a:do if(!(u<<24>>24)){g=0;h=0}else{u=(Fh(D,8)|0)&255;a[g>>0]=u;do switch(u<<24>>24){case 1:{g=1;h=1;break a}case 2:{g=11;h=12;break a}case 3:{g=11;h=10;break a}case 4:{g=11;h=16;break a}case 5:{g=33;h=40;break a}case 6:{g=11;h=24;break a}case 7:{g=11;h=20;break a}case 8:{g=11;h=32;break a}case 9:{g=33;h=80;break a}case 10:{g=11;h=18;break a}case 11:{g=11;h=15;break a}case 12:{g=33;h=64;break a}case 13:{g=99;h=160;break a}case 14:{g=3;h=4;break a}case 15:{g=2;h=3;break a}case 16:{g=1;h=2;break a}case -1:{h=(Fh(D,16)|0)&65535;g=(Fh(D,16)|0)&65535;break a}default:{g=0;h=0;break a}}while(0)}while(0);b[F+143782>>1]=h;b[F+143784>>1]=g;u=(Fh(D,1)|0)&255;a[F+143786>>0]=u;g=F+143787|0;a[g>>0]=0;if(u<<24>>24)a[g>>0]=Fh(D,1)|0;u=(Fh(D,1)|0)&255;a[F+143788>>0]=u;g=F+143789|0;a[g>>0]=5;h=F+143790|0;a[h>>0]=0;i=F+143791|0;a[i>>0]=0;j=F+143792|0;a[j>>0]=2;k=F+143793|0;a[k>>0]=2;l=F+143794|0;a[l>>0]=2;do if(u<<24>>24){a[g>>0]=Fh(D,3)|0;a[h>>0]=Fh(D,1)|0;u=(Fh(D,1)|0)&255;a[i>>0]=u;if(!(u<<24>>24))break;a[j>>0]=Fh(D,8)|0;a[k>>0]=Fh(D,8)|0;a[l>>0]=Fh(D,8)|0}while(0);u=(Fh(D,1)|0)&255;a[F+143795>>0]=u;g=F+143796|0;a[g>>0]=0;h=F+143797|0;a[h>>0]=0;if(u<<24>>24){a[g>>0]=bi(D)|0;a[h>>0]=bi(D)|0}a[F+143798>>0]=Fh(D,1)|0;a[F+143799>>0]=Fh(D,1)|0;a[F+143800>>0]=Fh(D,1)|0;u=(Fh(D,1)|0)&255;a[F+143801>>0]=u;g=F+143804|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;if(u<<24>>24){c[g>>2]=bi(D)|0;c[F+143808>>2]=bi(D)|0;c[F+143812>>2]=bi(D)|0;c[F+143816>>2]=bi(D)|0}u=(Fh(D,1)|0)&255;a[F+147704>>0]=u;b:do if(u<<24>>24){c[F+147708>>2]=Fh(D,32)|0;c[F+147712>>2]=Fh(D,32)|0;u=(Fh(D,1)|0)&255;a[F+147716>>0]=u;if(u<<24>>24)a[F+147717>>0]=bi(D)|0;u=(Fh(D,1)|0)&255;a[F+143820>>0]=u;if(!(u<<24>>24))break;s=F+143836|0;a[s>>0]=0;t=F+143837|0;a[t>>0]=0;u=F+143839|0;i=F+143840|0;j=F+143841|0;k=F+143842|0;l=F+143843|0;m=F+143844|0;n=F+143848|0;o=F+143852|0;p=F+143856|0;g=u;q=g+17|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(q|0));a[p>>0]=23;g=F+143857|0;a[g>>0]=23;h=F+143858|0;a[h>>0]=23;a[s>>0]=Fh(D,1)|0;q=Fh(D,1)|0;a[t>>0]=q;if(!((q&255|0)==0&(a[s>>0]|0)==0)){q=(Fh(D,1)|0)&255;a[u>>0]=q;if(q<<24>>24){a[i>>0]=Fh(D,8)|0;a[j>>0]=Fh(D,5)|0;a[k>>0]=Fh(D,1)|0;a[l>>0]=Fh(D,5)|0}c[m>>2]=Fh(D,4)|0;c[n>>2]=Fh(D,4)|0;if(a[u>>0]|0)c[o>>2]=Fh(D,4)|0;a[p>>0]=Fh(D,5)|0;a[g>>0]=Fh(D,5)|0;a[h>>0]=Fh(D,5)|0}if(v<<24>>24<1)break;j=0;while(1){v=(Fh(D,1)|0)&255;a[F+143859+j>>0]=v;g=F+143866+j|0;a[g>>0]=1;h=F+143873+j|0;a[h>>0]=0;i=F+143880+j|0;a[i>>0]=0;k=F+143887+j|0;a[k>>0]=0;do if(!(v<<24>>24)){v=(Fh(D,1)|0)&255;a[g>>0]=v;if(v<<24>>24){A=104;break}g=(Fh(D,1)|0)&255;a[i>>0]=g}else A=104;while(0);if((A|0)==104){A=0;a[h>>0]=bi(D)|0;g=a[i>>0]|0}if(!(g<<24>>24)){g=(bi(D)|0)&255;a[k>>0]=g}else g=a[k>>0]|0;if((g&255)>30){f=979;break}if(a[s>>0]|0)gi(D,F+143896+(j*544|0)|0,g&255,d[u>>0]|0);if(a[t>>0]|0)gi(D,F+143896+(j*544|0)|0,d[k>>0]|0,d[u>>0]|0);if((j|0)<(w|0))j=j+1|0;else break b}Sb=H;return f|0}while(0);A=(Fh(D,1)|0)&255;a[F+147718>>0]=A;g=F+147719|0;a[g>>0]=0;h=F+147720|0;a[h>>0]=1;i=F+147721|0;a[i>>0]=0;j=F+147724|0;c[j>>2]=0;k=F+147728|0;a[k>>0]=2;l=F+147729|0;a[l>>0]=1;m=F+147730|0;a[m>>0]=15;n=F+147731|0;a[n>>0]=15;if(!(A<<24>>24))break;a[g>>0]=Fh(D,1)|0;a[h>>0]=Fh(D,1)|0;a[i>>0]=Fh(D,1)|0;c[j>>2]=bi(D)|0;a[k>>0]=bi(D)|0;a[l>>0]=bi(D)|0;a[m>>0]=bi(D)|0;a[n>>0]=bi(D)|0}while(0);Fh(D,1)|0;if((c[e+384>>2]|0)>>>0>(c[e+396>>2]|0)>>>0){e=979;Sb=H;return e|0}m=1<<a[x>>0];D=m+-1|0;h=b[C>>1]|0;k=h<<16>>16;g=(D+k|0)/(m|0)|0;b[F+147734>>1]=g;j=b[B>>1]|0;m=(D+j|0)/(m|0)|0;b[F+147736>>1]=m;g=r(m<<16>>16,g<<16>>16)|0;c[F+147744>>2]=g;m=e+112|0;if(!(c[m>>2]|0))c[e+984>>2]=g;i=1<<a[y>>0];b[F+147738>>1]=(k|0)/(i|0)|0;b[F+147740>>1]=(j|0)/(i|0)|0;i=(c[z>>2]|0)==0;do if(!i){if((c[e>>2]|0)==(k|0)?(c[e+4>>2]|0)==(j|0):0)break;if(!(c[e+124>>2]|0)){e=979;Sb=H;return e|0}c[e+132>>2]=1;e=42;Sb=H;return e|0}while(0);if(h<<16>>16>8448|(r(j,k)|0)>36495360){e=17;Sb=H;return e|0}h=(a[E>>0]|0)==1?2:1;l=k-(r(h,b[F+143620>>1]|0)|0)|0;l=l-(r(h,b[F+143622>>1]|0)|0)|0;E=j-(r(h,b[F+143624>>1]|0)|0)|0;h=E-(r(h,b[F+143626>>1]|0)|0)|0;if((l|0)<1|(h|0)<1){e=979;Sb=H;return e|0}g=e+8|0;do if(i)f=e+12|0;else{if((c[g>>2]|0)==(l|0)?(f=e+12|0,(c[f>>2]|0)==(h|0)):0)break;if(!(c[e+124>>2]|0)){e=979;Sb=H;return e|0}c[e+132>>2]=1;e=42;Sb=H;return e|0}while(0);c[g>>2]=l;c[f>>2]=h;c[e>>2]=k;c[e+4>>2]=j;f=k+191&-32;g=e+20|0;h=c[g>>2]|0;if((h|0)<(f|0))c[g>>2]=f;else f=h;g=e+16|0;h=c[g>>2]|0;do if(!(c[e+56>>2]|0)){if((h|0)>=(l|0))break;c[g>>2]=l}else{if((h|0)>=(f|0))break;c[g>>2]=f}while(0);c[e+11596>>2]=G;c[m>>2]=1;e=0;Sb=H;return e|0}function Rh(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=c[d+296>>2]|0;k=j+(f*8976|0)|0;l=j+(e*8976|0)|0;m=j+(e*8976|0)+8972|0;do if(a[m>>0]|0){if(((a[j+(e*8976|0)+4116>>0]|0)==(a[j+(f*8976|0)+4116>>0]|0)?(b[j+(e*8976|0)+4118>>1]|0)==(b[j+(f*8976|0)+4118>>1]|0):0)?(b[j+(e*8976|0)+4120>>1]|0)==(b[j+(f*8976|0)+4120>>1]|0):0)break;g=0;h=c[d+300>>2]|0;while(1){i=h+67|0;if(a[i>>0]|0?(a[h+9>>0]|0)==(e|0):0)a[i>>0]=0;g=g+1|0;if((g|0)==64)break;else h=h+68|0}}while(0);e=j+(e*8976|0)+8968|0;i=c[e>>2]|0;Sk(l|0,k|0,8976)|0;c[e>>2]=i;Sk(i|0,c[j+(f*8976|0)+8968>>2]|0,8128)|0;a[m>>0]=1;c[d+360>>2]=l;return}function Sh(e){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,s=0,t=0,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=e+376|0;if(!(c[e+112>>2]|0)){E=980;return E|0}f=bi(E)|0;if(f>>>0>64)if(!(c[e+116>>2]|0))f=0;else{E=978;return E|0}C=c[e+640>>2]|0;D=C+4352|0;a[C+4360>>0]=f;s=(bi(E)|0)<<24;s=(s|0)>251658240?15:(s|0)<0?0:s>>24;a[C+4361>>0]=s;t=c[e+636>>2]|0;g=t+(s*8976|0)|0;if(!(a[t+(s*8976|0)+8972>>0]|0)){E=980;return E|0}a[C+4378>>0]=Fh(E,1)|0;a[C+4376>>0]=Fh(E,1)|0;a[C+4394>>0]=Fh(E,3)|0;a[C+4362>>0]=Fh(E,1)|0;a[C+4363>>0]=Fh(E,1)|0;a[C+4364>>0]=(bi(E)|0)+1;a[C+4365>>0]=(bi(E)|0)+1;a[C+4366>>0]=(ci(E)|0)+26;a[C+4367>>0]=Fh(E,1)|0;a[C+4368>>0]=Fh(E,1)|0;x=(Fh(E,1)|0)&255;a[C+4369>>0]=x;if(!(x<<24>>24))f=0;else f=(bi(E)|0)&255;a[C+4370>>0]=f;h=t+(s*8976|0)+4116|0;a[C+4418>>0]=(d[h>>0]|0)-(f&255);a[C+4371>>0]=ci(E)|0;a[C+4372>>0]=ci(E)|0;a[C+4373>>0]=Fh(E,1)|0;a[C+4374>>0]=Fh(E,1)|0;a[C+4375>>0]=Fh(E,1)|0;a[C+4377>>0]=Fh(E,1)|0;x=(Fh(E,1)|0)&255;f=C+4379|0;a[f>>0]=x;a:do if(x<<24>>24)switch(a[h>>0]|0){case 4:{if((b[g>>1]|0)>4095){E=980;return E|0}if((b[t+(s*8976|0)+2>>1]|0)>4095)f=980;else break a;return f|0}case 5:{if((b[g>>1]|0)>8191){E=980;return E|0}if((b[t+(s*8976|0)+2>>1]|0)>8191)f=980;else break a;return f|0}case 6:{if((b[g>>1]|0)>16383){E=980;return E|0}if((b[t+(s*8976|0)+2>>1]|0)>16383)f=980;else break a;return f|0}default:break a}while(0);a[C+4380>>0]=Fh(E,1)|0;x=C+4385|0;a[x>>0]=0;if(!(a[f>>0]|0)){a[C+4382>>0]=1;a[C+4383>>0]=1;a[C+4384>>0]=1;B=c[C+4356>>2]|0;a[B>>0]=0;a[B+1>>0]=0;b[B+2>>1]=b[t+(s*8976|0)+4118>>1]|0;b[B+4>>1]=b[t+(s*8976|0)+4120>>1]|0}else{f=c[e>>2]|0;g=(((c[e+4>>2]|0)+127&-64)+-1|0)/64|0;v=C+4382|0;a[v>>0]=(bi(E)|0)+1;h=(bi(E)|0)+1|0;w=C+4383|0;a[w>>0]=h;i=a[v>>0]|0;if(i<<24>>24<1){E=980;return E|0}if((((f+127&-64)+-1|0)/64|0|0)<(i<<24>>24|0)){E=980;return E|0}u=h<<24;if((u|0)<16777216|(u>>24|0)>(g|0)){E=980;return E|0}g=(Fh(E,1)|0)&255;u=C+4384|0;a[u>>0]=g;f=a[v>>0]|0;b:do if(f<<24>>24>0){p=t+(s*8976|0)+4118|0;q=C+4356|0;i=0;h=0;f=f<<24>>24;while(1){do if(!(g<<24>>24))if((h|0)<(f+-1|0)){o=(bi(E)|0)+1|0;break}else{o=(b[p>>1]|0)-i|0;break}else{o=b[p>>1]|0;o=((r(h+1|0,o)|0)/(f|0)|0)-((r(h,o)|0)/(f|0)|0)|0}while(0);g=a[w>>0]|0;if(g<<24>>24>0){j=c[q>>2]|0;k=a[v>>0]|0;l=i&255;m=o&65535;n=g<<24>>24;f=0;do{F=j+((r(f,k)|0)*6|0)+(h*6|0)|0;a[F>>0]=l;b[F+2>>1]=m;f=f+1|0}while((f|0)<(n|0))}i=o+i|0;h=h+1|0;if(!((o|0)>0?(i|0)<=(b[p>>1]|0):0)){f=980;break}f=a[v>>0]|0;j=f<<24>>24;if((h|0)>=(j|0))break b;g=a[u>>0]|0;f=j}return f|0}else g=a[w>>0]|0;while(0);c:do if(g<<24>>24>0){k=t+(s*8976|0)+4120|0;l=C+4356|0;i=0;j=0;g=g<<24>>24;while(1){do if(!(a[u>>0]|0))if((j|0)<(g+-1|0)){g=(bi(E)|0)+1|0;h=a[v>>0]|0;break}else{g=(b[k>>1]|0)-i|0;h=f;break}else{h=b[k>>1]|0;g=((r(j+1|0,h)|0)/(g|0)|0)-((r(j,h)|0)/(g|0)|0)|0;h=f}while(0);if(h<<24>>24>0?(y=h<<24>>24,t=c[l>>2]|0,z=i&255,A=g&65535,F=r(j,y)|0,B=t+(F*6|0)|0,a[t+(F*6|0)+1>>0]=z,b[t+(F*6|0)+4>>1]=A,h<<24>>24!=1):0){f=1;do{F=B+(f*6|0)|0;a[F+1>>0]=z;b[F+4>>1]=A;f=f+1|0}while((f|0)<(y|0))}i=g+i|0;j=j+1|0;if(!((g|0)>0?(i|0)<=(b[k>>1]|0):0)){f=980;break}g=a[w>>0]|0;if((j|0)>=(g|0))break c;else f=h}return f|0}while(0);a[x>>0]=Fh(E,1)|0}a[C+4386>>0]=Fh(E,1)|0;F=(Fh(E,1)|0)&255;a[C+4387>>0]=F;f=C+4388|0;g=C+4390|0;h=C+4391|0;c[f>>2]=0;if(F<<24>>24?(a[f>>0]=Fh(E,1)|0,F=(Fh(E,1)|0)&255,a[C+4389>>0]=F,F<<24>>24==0):0){a[g>>0]=ci(E)|0;a[h>>0]=ci(E)|0}F=(Fh(E,1)|0)&255;a[C+4392>>0]=F;if(F<<24>>24){Sk(c[D>>2]|0,26144,192)|0;f=(c[D>>2]|0)+192|0;g=28192;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));f=(c[D>>2]|0)+320|0;g=28192;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));f=(c[D>>2]|0)+448|0;g=28192;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));f=(c[D>>2]|0)+576|0;g=28320;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));f=(c[D>>2]|0)+704|0;g=28320;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));f=(c[D>>2]|0)+832|0;g=28320;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));Sk((c[D>>2]|0)+960|0,28448,512)|0;Sk((c[D>>2]|0)+1472|0,28448,512)|0;Sk((c[D>>2]|0)+1984|0,28448,512)|0;Sk((c[D>>2]|0)+2496|0,28960,512)|0;Sk((c[D>>2]|0)+3008|0,28960,512)|0;Sk((c[D>>2]|0)+3520|0,28960,512)|0;Sk((c[D>>2]|0)+4032|0,29472,2048)|0;Sk((c[D>>2]|0)+6080|0,31520,2048)|0;di(e,c[D>>2]|0)|0}a[C+4393>>0]=Fh(E,1)|0;a[C+4395>>0]=(bi(E)|0)+2;a[C+4396>>0]=Fh(E,1)|0;Fh(E,1)|0;if((c[e+384>>2]|0)>>>0>(c[e+396>>2]|0)>>>0){F=979;return F|0}c[e+116>>2]=1;F=0;return F|0}function Th(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;m=(((c[b>>2]|0)+127&-64)+-1|0)/64|0;f=(((c[b+4>>2]|0)+127&-64)+-1|0)/64|0;g=c[b+300>>2]|0;h=g+(e*68|0)|0;i=g+(d*68|0)|0;j=c[i>>2]|0;k=g+(d*68|0)+4|0;l=c[k>>2]|0;n=i;o=h;p=n+68|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));c[i>>2]=j;c[k>>2]=l;Sk(j|0,c[h>>2]|0,8128)|0;Sk(c[k>>2]|0,c[g+(e*68|0)+4>>2]|0,r(m*6|0,f)|0)|0;a[g+(d*68|0)+67>>0]=1;c[b+356>>2]=i;return}function Uh(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=b+376|0;d=Vh(g)|0;if(d>>>0>8){e=0;f=0;do{if((Wh(g,8)|0)==255){d=e;do{Xh(g,8);d=d+255|0}while((Wh(g,8)|0)==255)}else d=e;e=(Fh(g,8)|0)+d|0;if((Wh(g,8)|0)==255){d=f;do{Xh(g,8);d=d+255|0}while((Wh(g,8)|0)==255)}else d=f;d=(Fh(g,8)|0)+d|0;f=(Vh(g)|0)>>>3;f=d>>>0<f>>>0?d:f;Yh(b,e,f,a[c>>0]|0);d=Vh(g)|0}while(d>>>0>8)}if(!d)return 0;if((Fh(g,1)|0)!=1)return 0;d=d+-1|0;if(!d)return 0;e=d;do{Fh(g,1)|0;e=e+-1|0}while((e|0)!=0);if(d>>>0<8)return 0;else J(43397,43407,2795,43438);return 0}function Vh(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;b=(c[a+4>>2]|0)+-64+((c[a+8>>2]|0)-d<<3)|0;a=((c[a+20>>2]|0)-d<<3)+-64|0;return (a>>>0>b>>>0?a-b|0:0)|0}function Wh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+4>>2]|0;f=32-b|0;e=c[a+12>>2]<<d>>>f;if(d>>>0<=f>>>0){f=e;return f|0}b=64-b-d|0;if(b>>>0<32)b=(c[a+16>>2]|0)>>>b;else b=0;f=b|e;return f|0}function Xh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;b=(c[d>>2]|0)+b|0;c[d>>2]=b;if(b>>>0<=31)return;e=a+16|0;c[a+12>>2]=c[e>>2];f=a+8|0;a=c[f>>2]|0;c[f>>2]=a+4;a=c[a>>2]|0;c[d>>2]=b+-32;c[e>>2]=Rk(a|0)|0;return}function Yh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=c[b+296>>2]|0;g=0;while(1){i=g+1|0;if(i>>>0<17?(a[h+(g*8976|0)+8972>>0]|0)==0:0)g=i;else break}g=h+(g*8976|0)|0;j=b+376|0;if(!g)return;a:do if(f<<24>>24==39)switch(d|0){case 0:{a[b+1464>>0]=1;Zh(b,g)|0;break a}case 1:{a[b+1464>>0]=1;_h(b,g)|0;break a}case 136:{a[b+1464>>0]=1;$h(b)|0;break a}case 137:{a[b+1470>>0]=1;ai(b)|0;break a}case 4:{a[b+1464>>0]=1;g=b+1472|0;d=c[g>>2]|0;if((d|0)<=2){a[b+1476>>0]=1;c[g>>2]=d+1;c[b+5100+(d*268|0)+264>>2]=e;i=e>>>0<256?e:256;c[b+5100+(d*268|0)+260>>2]=i;e=Fh(j,8)|0;a[b+5100+(d*268|0)>>0]=e;if((e&255|0)==255){a[b+5100+(d*268|0)+1>>0]=Fh(j,8)|0;g=2}else g=1;h=0;while(1){a[b+5100+(d*268|0)+2+h>>0]=Fh(j,8)|0;g=g+1|0;if(g>>>0>=i>>>0)break a;else h=h+1|0}}h=e>>>2;if(!h)g=0;else{g=0;do{Xh(j,32);g=g+1|0}while((g|0)!=(h|0));g=e&-4}Xh(j,e-g<<3);break a}default:{if(!e)break a;g=0;do{Xh(j,8);g=g+1|0}while((g|0)!=(e|0))}}else{if((d|0)!=4){if(!e)break;g=0;while(1){Xh(j,8);g=g+1|0;if((g|0)==(e|0))break a}}a[b+1464>>0]=1;g=b+1472|0;d=c[g>>2]|0;if((d|0)<=2){a[b+1476>>0]=1;c[g>>2]=d+1;c[b+5100+(d*268|0)+264>>2]=e;i=e>>>0<256?e:256;c[b+5100+(d*268|0)+260>>2]=i;e=Fh(j,8)|0;a[b+5100+(d*268|0)>>0]=e;if((e&255|0)==255){a[b+5100+(d*268|0)+1>>0]=Fh(j,8)|0;g=2}else g=1;h=0;while(1){a[b+5100+(d*268|0)+2+h>>0]=Fh(j,8)|0;g=g+1|0;if(g>>>0>=i>>>0)break a;else h=h+1|0}}h=e>>>2;if(!h)g=0;else{g=0;do{Xh(j,32);g=g+1|0}while((g|0)!=(h|0));g=e&-4}Xh(j,e-g<<3)}while(0);g=Vh(j)|0;if(!g)return;if((g|0)>9)while(1){Fh(j,1)|0;h=g+-1|0;if((g|0)>10)g=h;else{g=h;break}}i=Wh(j,g)|0;h=0;while(1)if(!(255>>>h&i))break;else h=h+1|0;h=9-h|0;do{Fh(j,1)|0;e=g;g=g+-1|0}while((e|0)>(h|0));if(!g)return;do{Fh(j,1)|0;g=g+-1|0}while((g|0)!=0);return}function Zh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=b+376|0;a[b+1466>>0]=1;a[b+1480>>0]=bi(j)|0;k=e+223|0;if(!(a[k>>0]|0)){f=(Fh(j,1)|0)&255;i=b+1482|0;a[i>>0]=f}else{f=b+1482|0;i=f;f=a[f>>0]|0}if(!(f<<24>>24)){c[b+1484>>2]=0;f=e+241|0;g=0}else{f=e+241|0;c[b+1484>>2]=Fh(j,(d[f>>0]|0)+1|0)|0;g=Fh(j,(d[e+242>>0]|0)+1|0)|0}c[b+1488>>2]=g;a[b+1492>>0]=Fh(j,1)|0;c[b+1496>>2]=Fh(j,(d[f>>0]|0)+1|0)|0;if(a[e+220>>0]|0){g=d[e+271>>0]|0;h=e+240|0;f=0;while(1){c[b+1500+(f<<2)>>2]=Fh(j,(d[h>>0]|0)+1|0)|0;c[b+1756+(f<<2)>>2]=Fh(j,(d[h>>0]|0)+1|0)|0;if(!((a[k>>0]|0)==0?!(a[i>>0]|0):0)){c[b+1628+(f<<2)>>2]=Fh(j,(d[h>>0]|0)+1|0)|0;c[b+1884+(f<<2)>>2]=Fh(j,(d[h>>0]|0)+1|0)|0}if((f|0)==(g|0))break;else f=f+1|0}}if(!(a[e+221>>0]|0))return 0;h=d[e+271>>0]|0;g=e+240|0;f=0;while(1){c[b+2012+(f<<2)>>2]=Fh(j,(d[g>>0]|0)+1|0)|0;c[b+2268+(f<<2)>>2]=Fh(j,(d[g>>0]|0)+1|0)|0;if(!((a[k>>0]|0)==0?!(a[i>>0]|0):0)){c[b+2140+(f<<2)>>2]=Fh(j,(d[g>>0]|0)+1|0)|0;c[b+2396+(f<<2)>>2]=Fh(j,(d[g>>0]|0)+1|0)|0}if((f|0)==(h|0))break;else f=f+1|0}return 0}function _h(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=b+376|0;a[b+1467>>0]=1;if(a[e+184>>0]|0){c[b+2548>>2]=Fh(i,4)|0;c[b+2552>>2]=Fh(i,2)|0;a[b+2556>>0]=Fh(i,1)|0}if((a[e+220>>0]|0)==0?(a[e+221>>0]|0)==0:0)return 0;c[b+2560>>2]=Fh(i,(d[e+241>>0]|0)+1|0)|0;c[b+2564>>2]=Fh(i,(d[e+242>>0]|0)+1|0)|0;f=e+223|0;if(!(a[f>>0]|0))return 0;c[b+2568>>2]=Fh(i,(d[e+227>>0]|0)+1|0)|0;if(!(a[f>>0]|0))return 0;if(!(a[e+226>>0]|0))return 0;f=bi(i)|0;g=b+2572|0;c[g>>2]=f>>>0<269?f:269;f=(Fh(i,1)|0)&255;h=b+2576|0;a[h>>0]=f;e=e+225|0;if(f<<24>>24)c[b+2580>>2]=Fh(i,(d[e>>0]|0)+1|0)|0;f=0;do{c[b+2584+(f<<2)>>2]=bi(i)|0;if((a[h>>0]|0)==0?f>>>0<(c[g>>2]|0)>>>0:0)c[b+3664+(f<<2)>>2]=Fh(i,(d[e>>0]|0)+1|0)|0;f=f+1|0}while(f>>>0<=(c[g>>2]|0)>>>0);return 0}function $h(c){c=c|0;var e=0,f=0,g=0,h=0;g=c+376|0;a[c+1477>>0]=1;f=Fh(g,2)|0;h=c+5904|0;a[h>>0]=f;if(!(f&255))return 0;f=0;do{e=(Fh(g,1)|0)&255;a[c+5905+f>>0]=e;if(e<<24>>24){a[c+5908+f>>0]=Fh(g,1)|0;a[c+5911+f>>0]=Fh(g,5)|0;e=c+5914+f|0;a[e>>0]=Fh(g,1)|0;a[c+5917+f>>0]=Fh(g,1)|0;a[c+5920+f>>0]=Fh(g,1)|0;b[c+5924+(f<<1)>>1]=Fh(g,9)|0;if(!(a[e>>0]|0)){e=(Fh(g,1)|0)&255;a[c+5930+f>>0]=e;if((e<<24>>24?(a[c+5939+f>>0]=Fh(g,6)|0,e=(Fh(g,1)|0)&255,a[c+5933+f>>0]=e,e<<24>>24):0)?(a[c+5942+f>>0]=Fh(g,6)|0,e=(Fh(g,1)|0)&255,a[c+5936+f>>0]=e,e<<24>>24):0)a[c+5945+f>>0]=Fh(g,5)|0}else{a[c+5939+f>>0]=Fh(g,6)|0;a[c+5942+f>>0]=Fh(g,6)|0;a[c+5945+f>>0]=Fh(g,5)|0}e=Fh(g,5)|0;a[c+5948+f>>0]=e;e=e&255;if(!e)e=0;else e=(Fh(g,e)|0)&255;a[c+5951+f>>0]=e}f=f+1|0}while(f>>>0<(d[h>>0]|0)>>>0);return 0}function ai(d){d=d|0;var e=0;e=d+376|0;a[d+1470>>0]=1;b[d+5076>>1]=Fh(e,16)|0;b[d+5082>>1]=Fh(e,16)|0;b[d+5078>>1]=Fh(e,16)|0;b[d+5084>>1]=Fh(e,16)|0;b[d+5080>>1]=Fh(e,16)|0;b[d+5086>>1]=Fh(e,16)|0;b[d+5088>>1]=Fh(e,16)|0;b[d+5090>>1]=Fh(e,16)|0;c[d+5092>>2]=Fh(e,32)|0;c[d+5096>>2]=Fh(e,32)|0;return 0}function bi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=a+12|0;d=c[g>>2]|0;h=a+4|0;e=c[h>>2]|0;b=32-e|0;if(b>>>0<32)b=(c[a+16>>2]|0)>>>b;else b=0;f=s(b|d<<e|0)|0;b=e+1+f|0;c[h>>2]=b;if(b>>>0>31){i=a+16|0;d=c[i>>2]|0;c[g>>2]=d;e=a+8|0;j=c[e>>2]|0;c[e>>2]=j+4;j=c[j>>2]|0;e=b+-32|0;c[h>>2]=e;c[i>>2]=Rk(j|0)|0}else e=b;if(!f){j=0;i=1<<f;i=i+-1|0;j=i+j|0;return j|0}b=d<<e>>>(32-f|0);e=e+f|0;c[h>>2]=e;if(e>>>0<=32){if((e|0)!=32){j=b;i=1<<f;i=i+-1|0;j=i+j|0;return j|0}}else{d=64-e|0;if(d>>>0<32)d=(c[a+16>>2]|0)>>>d;else d=0;b=d|b}j=a+16|0;c[g>>2]=c[j>>2];g=a+8|0;i=c[g>>2]|0;c[g>>2]=i+4;i=c[i>>2]|0;c[h>>2]=e+-32;c[j>>2]=Rk(i|0)|0;j=b;i=1<<f;i=i+-1|0;j=i+j|0;return j|0}function ci(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=a+12|0;d=c[g>>2]|0;h=a+4|0;e=c[h>>2]|0;b=32-e|0;if(b>>>0<32)b=(c[a+16>>2]|0)>>>b;else b=0;f=s(b|d<<e|0)|0;b=e+1+f|0;c[h>>2]=b;if(b>>>0>31){i=a+16|0;d=c[i>>2]|0;c[g>>2]=d;e=a+8|0;j=c[e>>2]|0;c[e>>2]=j+4;j=c[j>>2]|0;e=b+-32|0;c[h>>2]=e;c[i>>2]=Rk(j|0)|0}else e=b;do if(!f)b=0;else{b=d<<e>>>(32-f|0);e=e+f|0;c[h>>2]=e;if(e>>>0<=32){if((e|0)!=32)break}else{d=64-e|0;if(d>>>0<32)d=(c[a+16>>2]|0)>>>d;else d=0;b=d|b}j=a+16|0;c[g>>2]=c[j>>2];g=a+8|0;i=c[g>>2]|0;c[g>>2]=i+4;i=c[i>>2]|0;c[h>>2]=e+-32;c[j>>2]=Rk(i|0)|0}while(0);j=(b+(1<<f)|0)>>>1;return ((b&1|0)==0?j:0-j|0)|0}function di(a,e){a=a|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;p=a+376|0;j=0;do{q=(j|0)==3?2:6;r=j*6|0;s=(j<<1)+4|0;t=1<<s;t=(t|0)<64?t:64;k=j>>>0>1;l=2<<s;m=(j|0)==2;j=j+1|0;n=25168+(j<<2)|0;i=0;do{h=Fh(p,1)|0;o=e+(c[37280+(i+r<<2)>>2]<<1)|0;a:do if(!h){a=bi(p)|0;a=(a|0)>(i|0)?i:(a|0)>0?a:0;if(a|0)Sk(o|0,o+(0-(a<<s)<<1)|0,l|0)|0}else{if(!k){g=c[n>>2]|0;a=0;f=8;while(1){f=(f+256+(ci(p)|0)|0)%256|0;b[o+((d[g+a>>0]|0)<<1)>>1]=f;a=a+1|0;if((a|0)>=(t|0))break a}}h=(ci(p)|0)+8|0;if(!m){g=h&65535;f=0;a=h;while(1){a=(a+256+(ci(p)|0)|0)%256|0;h=d[24608+f>>0]|0;h=h>>>3<<7|h<<2&28;u=a&65535;b[o+(h<<1)>>1]=u;b[o+((h|1)<<1)>>1]=u;b[o+((h|2)<<1)>>1]=u;b[o+((h|3)<<1)>>1]=u;b[o+((h|32)<<1)>>1]=u;b[o+((h|33)<<1)>>1]=u;b[o+((h|34)<<1)>>1]=u;b[o+((h|35)<<1)>>1]=u;b[o+((h|64)<<1)>>1]=u;b[o+((h|65)<<1)>>1]=u;b[o+((h|66)<<1)>>1]=u;b[o+((h|67)<<1)>>1]=u;b[o+((h|96)<<1)>>1]=u;b[o+((h|97)<<1)>>1]=u;b[o+((h|98)<<1)>>1]=u;b[o+((h|99)<<1)>>1]=u;b[o>>1]=g;f=f+1|0;if((f|0)>=(t|0))break a}}a=0;f=h;do{f=(f+256+(ci(p)|0)|0)%256|0;u=d[24608+a>>0]|0;u=u>>>3<<5|u<<1&14;g=f&65535;b[o+(u<<1)>>1]=g;b[o+((u|1)<<1)>>1]=g;b[o+((u|16)<<1)>>1]=g;b[o+((u|17)<<1)>>1]=g;a=a+1|0}while((a|0)<(t|0));b[o>>1]=h}while(0);i=i+1|0}while((i|0)!=(q|0))}while((j|0)!=4);return 0}function ei(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;hi(b,c);a[c+48>>0]=Fh(b,8)|0;f=(d|0)>0;if(!f)return;e=0;do{a[c+49+e>>0]=Fh(b,1)|0;a[c+55+e>>0]=Fh(b,1)|0;e=e+1|0}while((e|0)!=(d|0));if((d+-1|0)>>>0<7){e=d;while(1){Fh(b,2)|0;if((e|0)<7)e=e+1|0;else break}}if(!f)return;e=0;do{if(a[c+49+e>>0]|0)hi(b,c+61+(e*49|0)|0);if(a[c+55+e>>0]|0)a[c+61+(e*49|0)+48>>0]=Fh(b,8)|0;e=e+1|0}while((e|0)!=(d|0));return}function fi(c,d,e,f,g){c=c|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;if((f|0)>0){n=(Fh(c,1)|0)&255;a[g+32>>0]=n;if(n<<24>>24){if((f|0)==(e|0)){l=bi(c)|0;m=f+-1|0;n=m-l|0;n=(l|0)<0?m:(n|0)>0?n:0}else{n=f+-1|0;n=(n|0)>0?n:0}l=Fh(c,1)|0;l=r(1-(l<<1)|0,(bi(c)|0)+1|0)|0;m=d+(n*70|0)+67|0;f=a[m>>0]|0;if(f<<24>>24>=0){k=0;j=0;h=0;e=0;while(1){f=Fh(c,1)|0;a[g+35+j>>0]=f;if(!f)f=(Fh(c,1)|0)<<1;if((f+-1|0)>>>0<2){if((k|0)<(a[m>>0]|0))i=b[d+(n*70|0)+(k<<1)>>1]|0;else i=0;p=i+l|0;b[g+(j<<1)>>1]=p;p=p>>>31;i=j+1|0;h=(p^1)+h|0;e=p+e|0}else i=j;a[g+51+k>>0]=f;f=a[m>>0]|0;if((k|0)<(f<<24>>24|0)){k=k+1|0;j=i}else break}if((e|0)>0)if((e|0)<15)o=18;else e=15;else{e=0;o=18}}else{h=0;e=0;o=18}p=e^15;p=(h|0)>(p|0)?p:(h|0)>0?h:0;n=p+e|0;a[g+68>>0]=(f&255)+1;a[g+67>>0]=n;a[g+34>>0]=p;a[g+33>>0]=e;if(n>>>0>1){f=1;do{j=b[g+(f<<1)>>1]|0;k=a[g+35+f>>0]|0;h=f;do{i=h;h=h+-1|0;l=g+(h<<1)|0;m=b[l>>1]|0;if(j<<16>>16<m<<16>>16){b[g+(i<<1)>>1]=m;p=g+35+h|0;a[g+35+i>>0]=a[p>>0]|0;b[l>>1]=j;a[p>>0]=k}}while((i|0)>1);f=f+1|0}while(f>>>0<n>>>0)}h=e>>>1;if(!h)return 0;f=0;do{e=e+-1|0;p=g+(f<<1)|0;d=b[p>>1]|0;n=g+35+f|0;c=a[n>>0]|0;o=g+(e<<1)|0;b[p>>1]=b[o>>1]|0;p=g+35+e|0;a[n>>0]=a[p>>0]|0;b[o>>1]=d;a[p>>0]=c;f=f+1|0}while((f|0)!=(h|0));return 0}}else a[g+32>>0]=0;j=bi(c)|0;i=g+33|0;f=j<<24;a[i>>0]=(f|0)>251658240?15:(f|0)<0?0:j&255;j=(bi(c)|0)<<24;f=j>>24;p=a[i>>0]|0;e=p<<24>>24;o=15-e|0;f=(f|0)>(o|0)?o:(j|0)<0?0:f;a[g+34>>0]=f;f=f+(p&255)&255;j=g+67|0;a[j>>0]=f;if(p<<24>>24>0){e=0;f=0;do{e=e+-1-(bi(c)|0)|0;b[g+(f<<1)>>1]=e;a[g+35+f>>0]=Fh(c,1)|0;f=f+1|0;h=a[i>>0]|0}while((f|0)<(h<<24>>24|0));e=h<<24>>24;f=a[j>>0]|0}if((e|0)>=(f<<24>>24|0))return 0;f=0;do{f=f+1+(bi(c)|0)|0;b[g+(e<<1)>>1]=f;a[g+35+e>>0]=Fh(c,1)|0;e=e+1|0}while((e|0)<(a[j>>0]|0));return 0}function gi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if((e|0)<0)return;if(!f){f=0;while(1){c[d+(f<<2)>>2]=bi(b)|0;c[d+128+(f<<2)>>2]=bi(b)|0;a[d+512+f>>0]=Fh(b,1)|0;if((f|0)==(e|0))break;else f=f+1|0}return}else{f=0;while(1){c[d+(f<<2)>>2]=bi(b)|0;c[d+128+(f<<2)>>2]=bi(b)|0;c[d+256+(f<<2)>>2]=bi(b)|0;c[d+384+(f<<2)>>2]=bi(b)|0;a[d+512+f>>0]=Fh(b,1)|0;if((f|0)==(e|0))break;else f=f+1|0}return}}function hi(b,c){b=b|0;c=c|0;a[c>>0]=Fh(b,2)|0;a[c+1>>0]=Fh(b,1)|0;a[c+2>>0]=Fh(b,5)|0;a[c+3>>0]=Fh(b,1)|0;a[c+4>>0]=Fh(b,1)|0;a[c+5>>0]=Fh(b,1)|0;a[c+6>>0]=Fh(b,1)|0;a[c+7>>0]=Fh(b,1)|0;a[c+8>>0]=Fh(b,1)|0;a[c+9>>0]=Fh(b,1)|0;a[c+10>>0]=Fh(b,1)|0;a[c+11>>0]=Fh(b,1)|0;a[c+12>>0]=Fh(b,1)|0;a[c+13>>0]=Fh(b,1)|0;a[c+14>>0]=Fh(b,1)|0;a[c+15>>0]=Fh(b,1)|0;a[c+16>>0]=Fh(b,1)|0;a[c+17>>0]=Fh(b,1)|0;a[c+18>>0]=Fh(b,1)|0;a[c+19>>0]=Fh(b,1)|0;a[c+20>>0]=Fh(b,1)|0;a[c+21>>0]=Fh(b,1)|0;a[c+22>>0]=Fh(b,1)|0;a[c+23>>0]=Fh(b,1)|0;a[c+24>>0]=Fh(b,1)|0;a[c+25>>0]=Fh(b,1)|0;a[c+26>>0]=Fh(b,1)|0;a[c+27>>0]=Fh(b,1)|0;a[c+28>>0]=Fh(b,1)|0;a[c+29>>0]=Fh(b,1)|0;a[c+30>>0]=Fh(b,1)|0;a[c+31>>0]=Fh(b,1)|0;a[c+32>>0]=Fh(b,1)|0;a[c+33>>0]=Fh(b,1)|0;a[c+34>>0]=Fh(b,1)|0;a[c+35>>0]=Fh(b,1)|0;a[c+36>>0]=Fh(b,1)|0;a[c+37>>0]=Fh(b,1)|0;a[c+38>>0]=Fh(b,1)|0;Fh(b,16)|0;Fh(b,16)|0;Fh(b,12)|0;return}function ii(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=c[a+644>>2]|0;a=f+(b*1272|0)+184|0;e=c[a>>2]|0;Sk(f+(b*1272|0)|0,f+(d*1272|0)|0,1272)|0;c[a>>2]=e;return}function ji(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;i=e+-1|0;j=32-(s(e|0)|0)+(((i&e|0)==0)<<31>>31)|0;h=c+76|0;if((d[h>>0]|0)>=2)return 0;f=(Fh(b,1)|0)&255;a[c+708>>0]=f;if(f<<24>>24?(g=c+160|0,(a[g>>0]|0)>0):0){f=0;do{l=(Fh(b,j)|0)<<24;k=l>>24;a[c+709+f>>0]=(k|0)<(e|0)?((l|0)<0?0:k):i;f=f+1|0}while((f|0)<(a[g>>0]|0))}if(a[h>>0]|0)return 0;l=(Fh(b,1)|0)&255;a[c+725>>0]=l;if(!(l<<24>>24))return 0;g=c+161|0;if((a[g>>0]|0)<=0)return 0;f=0;do{k=(Fh(b,j)|0)<<24;l=k>>24;a[c+726+f>>0]=(l|0)<(e|0)?((k|0)<0?0:l):i;f=f+1|0}while((f|0)<(a[g>>0]|0));return 0}function ki(c,e,f,g){c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;m=g+258|0;a[m>>0]=bi(c)|0;l=e+15|0;if(a[l>>0]|0){k=ci(c)|0;a[g+259>>0]=k+(d[m>>0]|0)}k=g+160|0;e=a[k>>0]|0;f=e<<24>>24;if(e<<24>>24>0){h=0;do{a[g+260+h>>0]=Fh(c,1)|0;h=h+1|0;e=a[k>>0]|0;f=e<<24>>24}while((h|0)<(f|0))}if(!(a[l>>0]|0))if((f|0)>0){Uk(g+276|0,0,f|0)|0;i=e;j=12}else{i=e;j=12}else if(e<<24>>24>0){f=0;do{a[g+276+f>>0]=Fh(c,1)|0;f=f+1|0;e=a[k>>0]|0}while((f|0)<(e<<24>>24|0));i=e;j=12}if((j|0)==12?i<<24>>24>0:0){h=g+259|0;e=0;do{if(!(a[g+260+e>>0]|0)){b[g+292+(e<<1)>>1]=1<<a[m>>0];f=0}else{f=ci(c)|0;b[g+292+(e<<1)>>1]=(1<<a[m>>0])+f;f=(ci(c)|0)&65535}b[g+324+(e<<1)>>1]=f;if(!(a[g+276+e>>0]|0)){f=1<<a[h>>0]&65535;b[g+356+(e<<1)>>1]=f;b[g+420+(e<<1)>>1]=f;b[g+388+(e<<1)>>1]=0;f=0}else{f=ci(c)|0;j=g+356+(e<<1)|0;b[j>>1]=(1<<a[h>>0])+f;f=ci(c)|0;j=f-(b[j>>1]<<7>>a[h>>0])|0;f=j+128|0;b[g+388+(e<<1)>>1]=(j|0)>-1?127:((f|0)>-128?f:-128)&65535;f=ci(c)|0;j=g+420+(e<<1)|0;b[j>>1]=(1<<a[h>>0])+f;f=ci(c)|0;j=f-(b[j>>1]<<7>>a[h>>0])|0;f=j+128|0;f=(j|0)>-1?127:((f|0)>-128?f:-128)&65535}b[g+452+(e<<1)>>1]=f;e=e+1|0}while((e|0)<(a[k>>0]|0))}if(a[g+76>>0]|0)return 0;i=g+161|0;f=a[i>>0]|0;e=f<<24>>24;if(f<<24>>24>0){h=0;do{a[g+484+h>>0]=Fh(c,1)|0;h=h+1|0;f=a[i>>0]|0;e=f<<24>>24}while((h|0)<(e|0))}if(!(a[l>>0]|0)){if((e|0)>0)Uk(g+500|0,0,e|0)|0}else{if(f<<24>>24<=0)return 0;e=0;do{a[g+500+e>>0]=Fh(c,1)|0;e=e+1|0;f=a[i>>0]|0}while((e|0)<(f<<24>>24|0))}if(f<<24>>24<=0)return 0;h=g+259|0;e=0;do{if(!(a[g+484+e>>0]|0)){b[g+516+(e<<1)>>1]=1<<a[m>>0];f=0}else{f=ci(c)|0;b[g+516+(e<<1)>>1]=(1<<a[m>>0])+f;f=(ci(c)|0)&65535}b[g+548+(e<<1)>>1]=f;if(!(a[g+500+e>>0]|0)){f=1<<a[h>>0]&65535;b[g+580+(e<<1)>>1]=f;b[g+644+(e<<1)>>1]=f;b[g+612+(e<<1)>>1]=0;f=0}else{f=ci(c)|0;l=g+580+(e<<1)|0;b[l>>1]=(1<<a[h>>0])+f;f=ci(c)|0;l=f-(b[l>>1]<<7>>a[h>>0])|0;f=l+128|0;b[g+612+(e<<1)>>1]=(l|0)>-1?127:((f|0)>-128?f:-128)&65535;f=ci(c)|0;l=g+644+(e<<1)|0;b[l>>1]=(1<<a[h>>0])+f;f=ci(c)|0;l=f-(b[l>>1]<<7>>a[h>>0])|0;f=l+128|0;f=(l|0)>-1?127:((f|0)>-128?f:-128)&65535}b[g+676+(e<<1)>>1]=f;e=e+1|0}while((e|0)<(a[i>>0]|0));return 0}function li(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=a[d>>0]|0;e=e<<24>>24;h=1<<e;g=(c[b+124>>2]|0)==0;if(g?(c[b+84>>2]|0)==0:0)c[b+11568>>2]=-2<<e;switch(i<<24>>24){case 16:case 17:case 18:case 19:case 20:{e=6;break}case 21:{if(g)e=6;else e=7;break}default:e=7}do if((e|0)==6){g=(c[b+11568>>2]|0)+(h<<1)|0;c[b+11564>>2]=0;c[b+11572>>2]=0}else if((e|0)==7){e=c[b+11564>>2]|0;if((e|0)>(f|0)?(e-f|0)>=((h|0)/2|0|0):0){g=(c[b+11568>>2]|0)+h|0;break}if((e|0)<(f|0)?(f-e|0)>((h|0)/2|0|0):0){g=(c[b+11568>>2]|0)-h|0;break}g=c[b+11568>>2]|0}while(0);e=g+f|0;h=b+11572|0;j=c[h>>2]|0;c[h>>2]=(j|0)>(f|0)?j:f;if(!((i&-8)<<24>>24==16|i<<24>>24<16&(i&1)!=0))return e|0;if(!((i+-6&255)>3&(a[d+1>>0]|0)==0))return e|0;c[b+11564>>2]=f;c[b+11568>>2]=g;return e|0}function mi(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=Sb;Sb=Sb+672|0;E=M+608|0;u=M+544|0;A=M+480|0;F=M+416|0;t=M+352|0;r=M+336|0;s=M+320|0;C=M+256|0;z=M+192|0;D=M+128|0;v=M+64|0;G=M;I=c[e+276>>2]|0;J=e+224|0;H=c[J>>2]|0;p=a[g+23>>0]|0;q=c[h+84>>2]|0;if((a[h+88>>0]|0)==1){n=a[h+89>>0]|0;m=a[g+4488+(n*70|0)+33>>0]|0;l=a[g+4488+(n*70|0)+34>>0]|0;o=g+4488+(n*70|0)+35|0;n=g+4488+(n*70|0)|0}else{m=a[h+221>>0]|0;l=a[h+222>>0]|0;o=h+223|0;n=h+188|0}if((m|0)>0){j=0;f=0;i=0;do{g=q+(b[n+(j<<1)>>1]|0)|0;if(!(a[o+j>>0]|0)){c[u+(f<<2)>>2]=g;f=f+1|0}else{c[E+(i<<2)>>2]=g;i=i+1|0}j=j+1|0}while((j|0)!=(m|0));g=f;B=i}else{g=0;B=0}k=m+l|0;if((l|0)>0){f=0;j=m;i=g;do{g=q+(b[n+(j<<1)>>1]|0)|0;if(!(a[o+j>>0]|0)){c[u+(i<<2)>>2]=g;i=i+1|0}else{c[A+(f<<2)>>2]=g;f=f+1|0}j=j+1|0}while((j|0)<(k|0));x=f}else{x=0;i=g}m=(a[h+91>>0]|0)+(a[h+90>>0]|0)|0;if((m|0)>0){n=h+80|0;f=0;k=0;l=0;while(1){g=c[h+4+(l<<2)>>2]|0;j=a[h+124+l>>0]|0;if(j<<24>>24)g=g+q-(c[n>>2]|0)-(a[h+140+l>>0]<<p)|0;if(!(a[h+108+l>>0]|0)){c[t+(f<<2)>>2]=g;a[s+f>>0]=j;f=f+1|0;g=k}else{c[F+(k<<2)>>2]=g;a[r+k>>0]=j;g=k+1|0}l=l+1|0;if((l|0)>=(m|0)){j=f;y=g;break}else k=g}}else{j=0;y=0}p=x+B+y|0;if(!(c[e+84>>2]|0)){f=0;do{g=c[I+4+(f<<3)>>2]|0;if(g|0)a[g+20>>0]=0;f=f+1|0}while((f|0)!=64)}w=(y|0)>0;if(w){g=0;do{f=c[F+(g<<2)>>2]|0;if(!(a[r+g>>0]|0)){f=Ee(I,f)|0;if(f)a[f+20>>0]=1}else{f=De(I,f)|0;if(f)a[f+20>>0]=1}c[C+(g<<2)>>2]=f;g=g+1|0}while((g|0)!=(y|0))}if((j|0)>0){g=0;do{f=c[t+(g<<2)>>2]|0;if(!(a[s+g>>0]|0)){f=Ee(I,f)|0;if(f|0)a[f+20>>0]=1}else{f=De(I,f)|0;if(f|0)a[f+20>>0]=1}g=g+1|0}while((g|0)!=(j|0))}q=(B|0)>0;if(q){f=0;do{g=De(I,c[E+(f<<2)>>2]|0)|0;if(g|0)a[g+20>>0]=2;c[D+(f<<2)>>2]=g;f=f+1|0}while((f|0)!=(B|0))}o=(x|0)>0;if(o){f=0;do{g=De(I,c[A+(f<<2)>>2]|0)|0;if(g|0)a[g+20>>0]=2;c[z+(f<<2)>>2]=g;f=f+1|0}while((f|0)!=(x|0))}if((i|0)>0){f=0;do{g=De(I,c[u+(f<<2)>>2]|0)|0;if(g|0)a[g+20>>0]=2;f=f+1|0}while((f|0)!=(i|0))}l=h+160|0;k=a[l>>0]|0;k=(p|0)>(k|0)?p:k;n=h+76|0;a:do if((d[n>>0]|0)<2){b:do if(k|0){if(!q){f=0;while(1){if(f>>>0<k>>>0&o){j=0;do{i=z+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ce(I,c[A+(j<<2)>>2]|0)|0;c[i>>2]=g}c[v+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(x|0))}if(f>>>0<k>>>0&w){j=0;do{i=C+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ce(I,c[F+(j<<2)>>2]|0)|0;c[i>>2]=g}c[v+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(y|0))}if(f>>>0>=k>>>0)break b}}f=0;do{if(f>>>0<k>>>0){j=0;do{i=D+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ce(I,c[E+(j<<2)>>2]|0)|0;c[i>>2]=g}c[v+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(B|0))}if(f>>>0<k>>>0&o){j=0;do{i=z+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ce(I,c[A+(j<<2)>>2]|0)|0;c[i>>2]=g}c[v+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(x|0))}if(f>>>0<k>>>0&w){j=0;do{i=C+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ce(I,c[F+(j<<2)>>2]|0)|0;c[i>>2]=g}c[v+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(y|0))}}while(f>>>0<k>>>0)}while(0);f=a[l>>0]|0;c:do if(f<<24>>24>0){m=(a[h+708>>0]|0)==0;l=f<<24>>24;k=0;while(1){if(m)f=k;else f=a[h+709+k>>0]|0;f=c[v+(f<<2)>>2]|0;c[h+876+(k*12|0)>>2]=f;if(!f){f=988;break}i=c[f+8>>2]|0;j=c[H>>2]|0;d:do if(!j)f=0;else{g=0;do{f=c[H+264+(g<<2)>>2]|0;if(f|0?(c[f+16>>2]|0)==(i|0):0)break d;g=g+1|0}while(g>>>0<j>>>0)}while(0);c[h+876+(k*12|0)+4>>2]=f;k=k+1|0;if((k|0)>=(l|0))break c}Sb=M;return f|0}while(0);if(!(a[n>>0]|0)){l=h+161|0;f=a[l>>0]|0;k=f<<24>>24;k=(p|0)>(k|0)?p:k;if(k){if(o){f=0;do{if(f>>>0<k>>>0){j=0;do{i=z+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ce(I,c[A+(j<<2)>>2]|0)|0;c[i>>2]=g}c[G+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(x|0))}if(f>>>0<k>>>0&q){j=0;do{i=D+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ce(I,c[E+(j<<2)>>2]|0)|0;c[i>>2]=g}c[G+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(B|0))}if(f>>>0<k>>>0&w){j=0;do{i=C+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ce(I,c[F+(j<<2)>>2]|0)|0;c[i>>2]=g}c[G+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(y|0))}}while(f>>>0<k>>>0)}else{f=0;do{if(f>>>0<k>>>0&q){j=0;do{i=D+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ce(I,c[E+(j<<2)>>2]|0)|0;c[i>>2]=g}c[G+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(B|0))}if(f>>>0<k>>>0&w){j=0;do{i=C+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ce(I,c[F+(j<<2)>>2]|0)|0;c[i>>2]=g}c[G+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(y|0))}}while(f>>>0<k>>>0)}f=a[l>>0]|0}if(f<<24>>24>0){m=(a[h+725>>0]|0)==0;l=f<<24>>24;k=0;while(1){if(m)f=k;else f=a[h+726+k>>0]|0;f=c[G+(f<<2)>>2]|0;c[h+1068+(k*12|0)>>2]=f;if(!f){f=988;break}i=c[f+8>>2]|0;j=c[H>>2]|0;e:do if(!j)f=0;else{g=0;do{f=c[H+264+(g<<2)>>2]|0;if(f|0?(c[f+16>>2]|0)==(i|0):0)break e;g=g+1|0}while(g>>>0<j>>>0)}while(0);c[h+1068+(k*12|0)+4>>2]=f;k=k+1|0;if((k|0)>=(l|0))break a}Sb=M;return f|0}}}while(0);k=e+244|0;l=e+228|0;j=e+232|0;i=0;while(1){f=c[I+4+(i<<3)>>2]|0;f:do if((f|0?(a[f+20>>0]|0)==0:0)?(K=f+8|0,Be(I,c[k>>2]|0,c[K>>2]|0),L=c[j>>2]|0,(L|0)>0):0){f=0;g=c[l>>2]|0;while(1){if(g|0?(c[g+16>>2]|0)==(c[K>>2]|0):0)break;f=f+1|0;if((f|0)<(L|0))g=g+40980|0;else break f}Yd(c[J>>2]|0,f,2)|0}while(0);i=i+1|0;if((i|0)==64){f=0;break}}Sb=M;return f|0}function ni(){oi(0);return}function oi(a){a=a|0;ha(38752,43633);Y(38768,43638,1,1,0);da(38776,43643,1,-128,127);da(38792,43648,1,-128,127);da(38784,43660,1,0,255);da(38800,43674,2,-32768,32767);da(38808,43680,2,0,65535);da(38816,43695,4,-2147483648,2147483647);da(38824,43699,4,0,-1);da(38832,43712,4,-2147483648,2147483647);da(38840,43717,4,0,-1);ca(38848,43731,4);ca(38856,43737,8);fa(37848,43744);fa(38032,43756);ga(38056,4,43789);ba(37872,43802);ea(38080,0,43818);ea(38088,0,43848);ea(38096,1,43885);ea(38104,2,43924);ea(38112,3,43955);ea(38120,4,43995);ea(38128,5,44024);ea(38136,4,44062);ea(38144,5,44092);ea(38088,0,44131);ea(38096,1,44163);ea(38104,2,44196);ea(38112,3,44229);ea(38120,4,44263);ea(38128,5,44296);ea(38152,6,44330);ea(38160,7,44361);ea(38168,7,44393);return}function pi(a){a=a|0;return cj(c[a+4>>2]|0)|0}function qi(a){a=a|0;var b=0,d=0;b=Sb;Sb=Sb+16|0;d=b;c[d>>2]=vi(c[a+60>>2]|0)|0;a=ti(W(6,d|0)|0)|0;Sb=b;return a|0}function ri(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=Sb;Sb=Sb+48|0;k=m+32|0;g=m+16|0;f=m;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=ti(U(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;o=c[f+4>>2]|0;n=g>>>0>o>>>0;f=n?f+8|0:f;b=b+(n<<31>>31)|0;o=g-(n?o:0)|0;c[f>>2]=(c[f>>2]|0)+o;n=f+4|0;c[n>>2]=(c[n>>2]|0)-o;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=ti(U(146,k|0)|0)|0;if((e|0)==(g|0)){l=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=c[a+44>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);c[i>>2]=o;c[j>>2]=o}Sb=m;return d|0}function si(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=Sb;Sb=Sb+32|0;h=g+8|0;f=g;c[h>>2]=c[a+60>>2];c[h+4>>2]=d;c[h+8>>2]=b;c[h+12>>2]=f;c[h+16>>2]=e;if((ti(T(140,h|0)|0)|0)<0){a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}else{b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}u(a|0);Sb=g;return b|0}function ti(a){a=a|0;if(a>>>0>4294963200){c[(ui()|0)>>2]=0-a;a=-1}return a|0}function ui(){return 46864}function vi(a){a=a|0;return a|0}function wi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=Sb;Sb=Sb+32|0;f=g;c[b+36>>2]=1;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,V(54,f|0)|0):0)a[b+75>>0]=-1;f=ri(b,d,e)|0;Sb=g;return f|0}function xi(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function yi(a){a=a|0;return (a+-48|0)>>>0<10|0}function zi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=Sb;Sb=Sb+160|0;g=j+144|0;i=j;Sk(i|0,38464,144)|0;if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;h=4}else{c[(ui()|0)>>2]=75;d=-1}else h=4;if((h|0)==4){h=-2-b|0;h=d>>>0>h>>>0?h:d;c[i+48>>2]=h;g=i+20|0;c[g>>2]=b;c[i+44>>2]=b;d=b+h|0;b=i+16|0;c[b>>2]=d;c[i+28>>2]=d;d=Ai(i,e,f)|0;if(h){i=c[g>>2]|0;a[i+(((i|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}Sb=j;return d|0}function Ai(a,b,c){a=a|0;b=b|0;c=c|0;return Di(a,b,c,1,18)|0}function Bi(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=Sb;Sb=Sb+560|0;l=H+32|0;w=H+536|0;G=H;F=G;m=H+540|0;c[w>>2]=0;E=m+12|0;Vi(e)|0;j=v()|0;if((j|0)<0){e=-e;Vi(e)|0;D=1;C=44945;j=v()|0}else{D=(h&2049|0)!=0&1;C=(h&2048|0)==0?((h&1|0)==0?44946:44951):44948}do if(0==0&(j&2146435072|0)==2146435072){G=(i&32|0)!=0;j=D+3|0;Oi(b,32,f,j,h&-65537);Hi(b,C,D);Hi(b,e!=e|0.0!=0.0?(G?44972:44976):G?44964:44968,3);Oi(b,32,f,j,h^8192)}else{q=+Wi(e,w)*2.0;j=q!=0.0;if(j)c[w>>2]=(c[w>>2]|0)+-1;u=i|32;if((u|0)==97){o=i&32;s=(o|0)==0?C:C+9|0;p=D|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[s>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[w>>2]|0;j=(k|0)<0?0-k|0:k;j=Mi(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=G;do{D=~~e;j=m+1|0;a[m>>0]=o|d[37824+D>>0];e=(e-+(D|0))*16.0;if((j-F|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-F+m|0)<(g|0):0){k=E;l=n;j=g+2+k-l|0}else{k=E;l=n;j=k-F-l+m|0}E=j+p|0;Oi(b,32,f,E,h);Hi(b,s,p);Oi(b,48,f,E,h^65536);F=m-F|0;Hi(b,G,F);G=k-l|0;Oi(b,48,j-(F+G)|0,0,0);Hi(b,n,G);Oi(b,32,f,E,h^8192);j=E;break}k=(g|0)<0?6:g;if(j){j=(c[w>>2]|0)+-28|0;c[w>>2]=j;e=q*268435456.0}else{e=q;j=c[w>>2]|0}B=(j|0)<0?l:l+288|0;l=B;do{z=~~e>>>0;c[l>>2]=z;l=l+4|0;e=(e-+(z>>>0))*1.0e9}while(e!=0.0);z=B;if((j|0)>0){o=B;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{t=Qk(c[j>>2]|0,0,n|0)|0;t=Kk(t|0,v()|0,m|0,0)|0;x=v()|0;m=Ok(t|0,x|0,1e9,0)|0;y=Jk(m|0,v()|0,1e9,0)|0;y=Lk(t|0,x|0,y|0,v()|0)|0;v()|0;c[j>>2]=y;j=j+-4|0}while(j>>>0>=o>>>0);if(m){y=o+-4|0;c[y>>2]=m;m=y}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[w>>2]|0)-n|0;c[w>>2]=j;if((j|0)>0)o=m;else break}}else m=B;if((j|0)<0){g=((k+25|0)/9|0)+1|0;t=(u|0)==102;do{s=0-j|0;s=(s|0)<9?s:9;if(m>>>0<l>>>0){n=(1<<s)+-1|0;o=1e9>>>s;p=0;j=m;do{y=c[j>>2]|0;c[j>>2]=(y>>>s)+p;p=r(y&n,o)|0;j=j+4|0}while(j>>>0<l>>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=t?B:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[w>>2]|0)+s|0;c[w>>2]=j}while((j|0)<0);t=m}else t=m;if(t>>>0<l>>>0){j=(z-t>>2)*9|0;n=c[t>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;x=(u|0)==103;y=(k|0)!=0;m=k-((u|0)==102?0:j)+((y&x)<<31>>31)|0;if((m|0)<(((l-z>>2)*9|0)+-9|0)){w=m+9216|0;m=(w|0)/9|0;g=B+4+(m+-1024<<2)|0;m=w-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;s=p-(r(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(s|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;w=n>>>1;e=s>>>0<w>>>0?.5:o&(s|0)==(w|0)?1.0:1.5;if(D){w=(a[C>>0]|0)==45;e=w?-e:e;q=w?-q:q}m=p-s|0;c[g>>2]=m;if(q+e!=q){w=m+n|0;c[g>>2]=w;if(w>>>0>999999999){n=g;j=t;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}w=(c[m>>2]|0)+1|0;c[m>>2]=w;if(w>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=t}j=(z-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=t}}else{m=g;n=t}w=m+4|0;l=l>>>0>w>>>0?w:l}else n=t;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){w=l;u=1;break b}if(m>>>0>n>>>0)l=m;else{w=m;u=0;break}}else{w=l;u=0}while(0);do if(x){k=k+((y^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(u?(A=c[w+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((A>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((w-z>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);t=(k|0)!=0;p=t?1:h>>>3&1;s=(o|32|0)==102;if(s){x=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=Mi(l,((l|0)<0)<<31>>31,E)|0;m=E;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;x=j;j=m-j|0}j=D+1+k+p+j|0;Oi(b,32,f,j,h);Hi(b,C,D);Oi(b,48,f,j,h^65536);if(s){p=n>>>0>B>>>0?B:n;s=G+9|0;n=s;o=G+8|0;m=p;do{l=Mi(c[m>>2]|0,0,s)|0;if((m|0)==(p|0)){if((l|0)==(s|0)){a[o>>0]=48;l=o}}else if(l>>>0>G>>>0){Uk(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Hi(b,l,n-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(!((h&8|0)==0&(t^1)))Hi(b,44980,1);if(m>>>0<w>>>0&(k|0)>0)while(1){l=Mi(c[m>>2]|0,0,s)|0;if(l>>>0>G>>>0){Uk(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Hi(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0<w>>>0&(k|0)>9)){k=l;break}else k=l}Oi(b,48,k+9|0,9,0)}else{w=u?w:n+4|0;if(n>>>0<w>>>0&(k|0)>-1){g=G+9|0;t=(h&8|0)==0;u=g;p=0-F|0;s=G+8|0;o=n;do{l=Mi(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[s>>0]=48;l=s}do if((o|0)==(n|0)){m=l+1|0;Hi(b,l,1);if(t&(k|0)<1){l=m;break}Hi(b,44980,1);l=m}else{if(l>>>0<=G>>>0)break;Uk(G|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}while(0);F=u-l|0;Hi(b,l,(k|0)>(F|0)?F:k);k=k-F|0;o=o+4|0}while(o>>>0<w>>>0&(k|0)>-1)}Oi(b,48,k+18|0,18,0);Hi(b,x,E-x|0)}Oi(b,32,f,j,h^8192)}while(0);Sb=H;return ((j|0)<(f|0)?f:j)|0}function Ci(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function Di(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=Sb;Sb=Sb+224|0;p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((Ei(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=Fi(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=Ei(b,d,p,r,q,f,g)|0;if(j){Yb[c[b+36>>2]&15](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=Ei(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)Gi(b);e=(h&32|0)==0?e:-1}Sb=t;return e|0}function Ei(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=Sb;Sb=Sb+64|0;G=J+56|0;I=J+40|0;B=J;D=J+48|0;E=J+60|0;c[G>>2]=e;y=(d|0)!=0;z=B+40|0;A=z;B=B+39|0;C=D+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){c[(ui()|0)>>2]=75;e=-1;break}else{e=l+e|0;break}while(0);r=c[G>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){x=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{x=10;break b}case 0:{l=m;break b}default:{}}w=m+1|0;c[G>>2]=w;l=a[w>>0]|0;m=w}c:do if((x|0)==10){x=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[G>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(y)Hi(d,r,l)}while((l|0)!=0);w=(yi(a[(c[G>>2]|0)+1>>0]|0)|0)==0;m=c[G>>2]|0;if(!w?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<<n&75913|0)==0)o=0;else{o=0;do{o=1<<n|o;l=l+1|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<<n&75913|0)==0))}if(m<<24>>24==42){if((yi(a[l+1>>0]|0)|0)!=0?(H=c[G>>2]|0,(a[H+2>>0]|0)==36):0){l=H+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=H+3|0}else{if(p|0){e=-1;break}if(y){w=(c[f>>2]|0)+(4-1)&~(4-1);l=c[w>>2]|0;c[f>>2]=w+4}else l=0;n=0;m=(c[G>>2]|0)+1|0}c[G>>2]=m;w=(l|0)<0;u=w?0-l|0:l;o=w?o|8192:o;w=n}else{l=Ii(G)|0;if((l|0)<0){e=-1;break}u=l;w=p;m=c[G>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[G>>2]=l;l=Ii(G)|0;m=c[G>>2]|0;break}if(yi(a[m+2>>0]|0)|0?(F=c[G>>2]|0,(a[F+3>>0]|0)==36):0){l=F+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=F+4|0;c[G>>2]=m;break}if(w|0){e=-1;break a}if(y){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[G>>2]|0)+2|0;c[G>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[G>>2]=m;n=a[(a[n>>0]|0)+-65+(37360+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else x=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;x=I;c[x>>2]=c[q>>2];c[x+4>>2]=t;x=54;break}if(!y){e=0;break a}Ji(I,p,f,k);m=c[G>>2]|0;x=55}while(0);if((x|0)==54){x=0;if(y)x=55;else l=0}d:do if((x|0)==55){x=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[I>>2]>>2]=e;l=0;break d}case 1:{c[c[I>>2]>>2]=e;l=0;break d}case 2:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[I>>2]>>1]=e;l=0;break d}case 4:{a[c[I>>2]>>0]=e;l=0;break d}case 6:{c[c[I>>2]>>2]=e;l=0;break d}case 7:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;x=67;break}case 88:case 120:{n=t;x=67;break}case 111:{q=I;q=Li(c[q>>2]|0,c[q+4>>2]|0,z)|0;n=A-q|0;o=0;p=44928;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;x=73;break}case 105:case 100:{n=I;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=Lk(0,0,m|0,n|0)|0;n=v()|0;o=I;c[o>>2]=m;c[o+4>>2]=n;o=1;p=44928;x=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?44928:44930):44929;x=72;break e}}case 117:{n=I;o=0;p=44928;m=c[n>>2]|0;n=c[n+4>>2]|0;x=72;break}case 99:{a[B>>0]=c[I>>2];r=B;o=0;p=44928;q=1;m=n;l=A;break}case 115:{s=c[I>>2]|0;s=(s|0)==0?44938:s;t=Ni(s,0,l)|0;K=(t|0)==0;r=s;o=0;p=44928;q=K?l:t-s|0;m=n;l=K?s+l|0:t;break}case 67:{c[D>>2]=c[I>>2];c[C>>2]=0;c[I>>2]=D;p=-1;x=79;break}case 83:{if(!l){Oi(d,32,u,0,t);l=0;x=89}else{p=l;x=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=Wb[j&1](d,+g[I>>3],u,l,t,m)|0;break d}default:{o=0;p=44928;q=l;m=t;l=A}}while(0);f:do if((x|0)==67){q=I;q=Ki(c[q>>2]|0,c[q+4>>2]|0,z,m&32)|0;p=I;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?44928:44928+(m>>>4)|0;x=73}else if((x|0)==72){q=Mi(m,n,z)|0;n=t;x=73}else if((x|0)==79){x=0;o=c[I>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=Pi(E,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){x=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((x|0)==83){x=0;if(n){e=-1;break a}}Oi(d,32,u,l,t);if(!l){l=0;x=89}else{n=c[I>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){x=89;break f}m=Pi(E,m)|0;o=m+o|0;if((o|0)>(l|0)){x=89;break f}Hi(d,E,m);if(o>>>0>=l>>>0){x=89;break}else n=n+4|0}}}while(0);if((x|0)==73){x=0;m=I;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;K=(l|0)!=0|m;m=A-q+((m^1)&1)|0;r=K?q:z;q=K?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=A}else if((x|0)==89){x=0;Oi(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;K=s+o|0;l=(u|0)<(K|0)?K:u;Oi(d,32,l,K,m);Hi(d,p,o);Oi(d,48,l,K,m^65536);Oi(d,48,s,t,0);Hi(d,r,t);Oi(d,32,l,K,m^8192)}while(0);n=w}g:do if((x|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;Ji(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);Sb=J;return e|0}function Fi(a){a=a|0;return 1}function Gi(a){a=a|0;return}function Hi(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))Ti(b,d,a)|0;return}function Ii(b){b=b|0;var d=0,e=0;if(!(yi(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((yi(a[e>>0]|0)|0)!=0)}return d|0}function Ji(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{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&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{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&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{ac[e&31](a,d);break a}default:break a}while(0);while(0);return}function Ki(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[37824+(b&15)>>0]|0|f;b=Pk(b|0,c|0,4)|0;c=v()|0}while(!((b|0)==0&(c|0)==0));return e|0}function Li(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=Pk(b|0,c|0,3)|0;c=v()|0}while(!((b|0)==0&(c|0)==0));return d|0}function Mi(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=Ok(b|0,c|0,10,0)|0;f=c;c=v()|0;g=Jk(b|0,c|0,10,0)|0;g=Lk(e|0,f|0,g|0,v()|0)|0;v()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function Ni(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=r(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function Oi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=Sb;Sb=Sb+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Uk(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Hi(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Hi(a,f,e)}Sb=g;return}function Pi(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Qi(a,b,0)|0;return a|0}function Qi(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(Ri()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(ui()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=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;b=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;b=4;break}else{c[(ui()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function Ri(){return Si()|0}function Si(){return 39208}function Ti(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Ui(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0<d>>>0){f=Yb[c[e+36>>2]&15](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=Yb[c[e+36>>2]&15](e,b,i)|0;if(f>>>0<i>>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);Sk(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function Ui(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function Vi(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;u(c[h+4>>2]|0);return b|0}function Wi(a,b){a=+a;b=b|0;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=Pk(d|0,e|0,52)|0;v()|0;switch(f&2047){case 0:{if(a!=0.0){a=+Wi(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;a=+g[h>>3]}}return +a}function Xi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;Sk(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Yi(a,b){a=a|0;b=b|0;var c=0;c=Ni(a,0,b)|0;return ((c|0)==0?b:c-a|0)|0}function Zi(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function _i(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Sb;Sb=Sb+16|0;g=f;c[g>>2]=e;e=zi(a,b,d,g)|0;Sb=f;return e|0}function $i(a,b){a=a|0;b=b|0;var c=0;c=Zi(a)|0;return ((aj(a,1,c,b)|0)!=(c|0))<<31>>31|0}function aj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=r(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(Fi(e)|0)==0;a=Ti(a,f,e)|0;if(!g)Gi(e)}else a=Ti(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function bj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Sb;Sb=Sb+16|0;j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(Ui(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((Yb[c[b+36>>2]&15](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);Sb=l;return f|0}function cj(a){a=a|0;var b=0,c=0;b=(Zi(a)|0)+1|0;c=gj(b)|0;if(!c)a=0;else a=Sk(c|0,a|0,b|0)|0;return a|0}function dj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(Fi(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=bj(d,b)|0;Gi(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(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]=f;break}e=bj(d,b)|0}while(0);return e|0}function ej(a,b){a=a|0;b=b|0;var d=0,e=0;d=Sb;Sb=Sb+16|0;e=d;c[e>>2]=b;b=Ai(c[9801]|0,a,e)|0;Sb=d;return b|0}function fj(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[9801]|0;if((c[f+76>>2]|0)>-1)g=Fi(f)|0;else g=0;do if(($i(b,f)|0)<0)b=-1;else{if((a[f+75>>0]|0)!=10?(d=f+20|0,e=c[d>>2]|0,e>>>0<(c[f+16>>2]|0)>>>0):0){c[d>>2]=e+1;a[e>>0]=10;b=0;break}b=(bj(f,10)|0)>>31}while(0);if(g|0)Gi(f);return b|0}function gj(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;w=Sb;Sb=Sb+16|0;n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[11717]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=46908+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[11717]=m&~(1<<b);else{c[g+12>>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;Sb=w;return v|0}l=c[11719]|0;if(k>>>0>l>>>0){if(d|0){b=2<<a;b=d<<a&(b|0-b);b=(b&0-b)+-1|0;i=b>>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=46908+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<<e);c[11717]=a}else{c[d+12>>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[11722]|0;b=l>>>3;d=46908+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[11717]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[11719]=h;c[11722]=f;v=i;Sb=w;return v|0}g=c[11718]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[47172+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0<j>>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=47172+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[11718]=g&~(1<<b);break}}else{v=f+16|0;c[((c[v>>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[11722]|0;b=l>>>3;d=46908+(b<<1<<2)|0;b=1<<b;if(!(b&m)){c[11717]=b|m;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[11719]=j;c[11722]=h}v=i+8|0;Sb=w;return v|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;e=c[11718]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<<m;i=(q+520192|0)>>>16&4;q=q<<i;j=(q+245760|0)>>>16&2;j=14-(i|m|j)+(q<<j>>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[47172+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0<f>>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<<j;a=(a|0-a)&e;if(!a){m=k;break}m=(a&0-a)+-1|0;h=m>>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[47172+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0<f>>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[11719]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=47172+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<<a);c[11718]=e;break}}else{v=g+16|0;c[((c[v>>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=46908+(b<<1<<2)|0;a=c[11717]|0;b=1<<b;if(!(a&b)){c[11717]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<<u;t=(v+520192|0)>>>16&4;v=v<<t;d=(v+245760|0)>>>16&2;d=14-(t|u|d)+(v<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=47172+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<<d;if(!(e&a)){c[11718]=e|a;c[b>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;Sb=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[11719]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[11722]|0;if(b>>>0>15){v=a+m|0;c[11722]=v;c[11719]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[11719]=0;c[11722]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;Sb=w;return v|0}h=c[11720]|0;if(h>>>0>m>>>0){t=h-m|0;c[11720]=t;v=c[11723]|0;u=v+m|0;c[11723]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;Sb=w;return v|0}if(!(c[11835]|0)){c[11837]=4096;c[11836]=4096;c[11838]=-1;c[11839]=-1;c[11840]=0;c[11828]=0;c[11835]=n&-16^1431655768;a=4096}else a=c[11837]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;Sb=w;return v|0}a=c[11827]|0;if(a|0?(l=c[11825]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;Sb=w;return v|0}d:do if(!(c[11828]&4)){d=c[11723]|0;e:do if(d){e=47316;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=Vk(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=Vk(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[11836]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[11825]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[11827]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=Vk(b|0)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[11837]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((Vk(a|0)|0)==(-1|0)){Vk(d|0)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[11828]=c[11828]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=Vk(k|0)|0,p=Vk(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0<p>>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[11825]|0)+h|0;c[11825]=b;if(b>>>0>(c[11826]|0)>>>0)c[11826]=b;j=c[11723]|0;f:do if(j){b=47316;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[11720]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[11723]=u;c[11720]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[11724]=c[11839];break}if(g>>>0<(c[11721]|0)>>>0)c[11721]=g;d=g+h|0;b=47316;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[11720]|0)+i|0;c[11720]=v;c[11723]=k;c[k+4>>2]=v|1}else{if((c[11722]|0)==(b|0)){v=(c[11719]|0)+i|0;c[11719]=v;c[11722]=k;c[k+4>>2]=v|1;c[k+v>>2]=v;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;h:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[11717]=c[11717]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=47172+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){v=g+16|0;c[((c[v>>2]|0)==(b|0)?v:g+20|0)>>2]=a;if(!a)break h}else{c[e>>2]=a;if(a|0)break;c[11718]=c[11718]&~(1<<d);break h}while(0);c[a+24>>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=46908+(b<<1<<2)|0;a=c[11717]|0;b=1<<b;if(!(a&b)){c[11717]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<<u;t=(v+520192|0)>>>16&4;v=v<<t;e=(v+245760|0)>>>16&2;e=14-(t|u|e)+(v<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=47172+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[11718]|0;d=1<<e;if(!(a&d)){c[11718]=a|d;c[b>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;Sb=w;return v|0}b=47316;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0<f>>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[11723]=u;c[11720]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[11724]=c[11839];d=a+4|0;c[d>>2]=27;c[b>>2]=c[11829];c[b+4>>2]=c[11830];c[b+8>>2]=c[11831];c[b+12>>2]=c[11832];c[11829]=g;c[11830]=h;c[11832]=0;c[11831]=b;b=a+24|0;do{u=b;b=b+4|0;c[b>>2]=7}while((u+8|0)>>>0<v>>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=46908+(b<<1<<2)|0;a=c[11717]|0;b=1<<b;if(!(a&b)){c[11717]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<<u;t=(v+520192|0)>>>16&4;v=v<<t;e=(v+245760|0)>>>16&2;e=14-(t|u|e)+(v<<e>>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=47172+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[11718]|0;a=1<<e;if(!(b&a)){c[11718]=b|a;c[d>>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}b=c[d>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{e=e<<1;b=a}}c[d>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=j;c[u>>2]=j;c[j+8>>2]=v;c[j+12>>2]=b;c[j+24>>2]=0}}else{v=c[11721]|0;if((v|0)==0|g>>>0<v>>>0)c[11721]=g;c[11829]=g;c[11830]=h;c[11832]=0;c[11726]=c[11835];c[11725]=-1;c[11730]=46908;c[11729]=46908;c[11732]=46916;c[11731]=46916;c[11734]=46924;c[11733]=46924;c[11736]=46932;c[11735]=46932;c[11738]=46940;c[11737]=46940;c[11740]=46948;c[11739]=46948;c[11742]=46956;c[11741]=46956;c[11744]=46964;c[11743]=46964;c[11746]=46972;c[11745]=46972;c[11748]=46980;c[11747]=46980;c[11750]=46988;c[11749]=46988;c[11752]=46996;c[11751]=46996;c[11754]=47004;c[11753]=47004;c[11756]=47012;c[11755]=47012;c[11758]=47020;c[11757]=47020;c[11760]=47028;c[11759]=47028;c[11762]=47036;c[11761]=47036;c[11764]=47044;c[11763]=47044;c[11766]=47052;c[11765]=47052;c[11768]=47060;c[11767]=47060;c[11770]=47068;c[11769]=47068;c[11772]=47076;c[11771]=47076;c[11774]=47084;c[11773]=47084;c[11776]=47092;c[11775]=47092;c[11778]=47100;c[11777]=47100;c[11780]=47108;c[11779]=47108;c[11782]=47116;c[11781]=47116;c[11784]=47124;c[11783]=47124;c[11786]=47132;c[11785]=47132;c[11788]=47140;c[11787]=47140;c[11790]=47148;c[11789]=47148;c[11792]=47156;c[11791]=47156;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[11723]=u;c[11720]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[11724]=c[11839]}while(0);b=c[11720]|0;if(b>>>0>m>>>0){t=b-m|0;c[11720]=t;v=c[11723]|0;u=v+m|0;c[11723]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;Sb=w;return v|0}}c[(ui()|0)>>2]=12;v=0;Sb=w;return v|0}function hj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[11721]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0<f>>>0)return;if((c[11722]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[11719]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[11717]=c[11717]&~(1<<d);i=h;b=g;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=47172+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[11718]=c[11718]&~(1<<b);i=h;b=g;break}}else{i=f+16|0;c[((c[i>>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[11723]|0)==(j|0)){j=(c[11720]|0)+b|0;c[11720]=j;c[11723]=i;c[i+4>>2]=j|1;if((i|0)!=(c[11722]|0))return;c[11722]=0;c[11719]=0;return}if((c[11722]|0)==(j|0)){j=(c[11719]|0)+b|0;c[11719]=j;c[11722]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[11717]=c[11717]&~(1<<d);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=47172+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[11718]=c[11718]&~(1<<a);break}}else{e=g+16|0;c[((c[e>>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[11722]|0)){c[11719]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=46908+(a<<1<<2)|0;b=c[11717]|0;a=1<<a;if(!(b&a)){c[11717]=b|a;a=d;b=d+8|0}else{b=d+8|0;a=c[b>>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<<h;g=(j+520192|0)>>>16&4;j=j<<g;e=(j+245760|0)>>>16&2;e=14-(g|h|e)+(j<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=47172+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[11718]|0;d=1<<e;a:do if(!(b&d)){c[11718]=b|d;c[a>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[11725]|0)+-1|0;c[11725]=j;if(j|0)return;a=47324;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[11725]=-1;return}function ij(a,b){a=a|0;b=b|0;return 0}function jj(a){a=a|0;return 0}function kj(a){a=a|0;return 0}function lj(a){a=a|0;return 0}function mj(a,b){a=a|0;b=b|0;if(!a){b=22;return b|0}b=gj(8)|0;c[b>>2]=0;c[b+4>>2]=38177486;c[a>>2]=b;b=0;return b|0}function nj(a){a=a|0;if((c[a+4>>2]|0)!=38177486){a=0;return a|0}a=c[a>>2]|0;return a|0}function oj(a,b){a=a|0;b=b|0;if((c[a+4>>2]|0)!=38177486){b=22;return b|0}c[a>>2]=b;b=0;return b|0}function pj(a,b){a=a|0;b=b|0;if((c[a>>2]|0)==324508639)return 0;_b[b&3]();c[a>>2]=324508639;return 0}function qj(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=gj(b)|0;if(a|0)break;a=Fk()|0;if(!a){a=0;break}_b[a&3]()}return a|0}function rj(a){a=a|0;hj(a);return}function sj(a,b){a=a|0;b=b|0;var d=0,e=0;e=Zi(b)|0;d=qj(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=tj(d)|0;Sk(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function tj(a){a=a|0;return a+12|0}function uj(a,b){a=a|0;b=b|0;c[a>>2]=39544;sj(a+4|0,b);return}function vj(a){a=a|0;return 1}function wj(a){a=a|0;Ea()}function xj(a){a=a|0;Ea()}function yj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=Sb;Sb=Sb+16|0;f=g;if(e>>>0>4294967279)wj(b);if(e>>>0<11)a[b+11>>0]=e;else{i=e+16&-16;h=qj(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=e;b=h}zj(b,d,e)|0;a[f>>0]=0;Aj(b+e|0,f);Sb=g;return}function zj(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Sk(a|0,b|0,c|0)|0;return a|0}function Aj(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function Bj(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)Uk(a|0,(Cj(c)|0)&255|0,b|0)|0;return a|0}function Cj(a){a=a|0;return a&255|0}function Dj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g=a[d+11>>0]|0;h=g<<24>>24<0;g=h?c[d+4>>2]|0:g&255;if(g>>>0<e>>>0)xj(b);else{g=g-e|0;yj(b,(h?c[d>>2]|0:d)+e|0,g>>>0<f>>>0?g:f);return}}function Ej(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=Sb;Sb=Sb+16|0;n=o;if((-18-d|0)>>>0<e>>>0)wj(b);if((a[b+11>>0]|0)<0)m=c[b>>2]|0;else m=b;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0<l>>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=qj(k)|0;if(g|0)zj(l,m,g)|0;if(i|0)zj(l+g|0,j,i)|0;e=f-h|0;f=e-g|0;if(f|0)zj(l+g+i|0,m+g+h|0,f)|0;if((d|0)!=10)rj(m);c[b>>2]=l;c[b+8>>2]=k|-2147483648;i=e+i|0;c[b+4>>2]=i;a[n>>0]=0;Aj(l+i|0,n);Sb=o;return}function Fj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Sb;Sb=Sb+16|0;g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;Aj(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;Aj(b+d|0,g);a[h>>0]=d;break}else Gj(b,d-f|0,e)|0;while(0);Sb=j;return}function Gj(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;k=Sb;Sb=Sb+16|0;i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){g=(c[b+8>>2]&2147483647)+-1|0;h=c[b+4>>2]|0}else{g=10;h=f&255}if((g-h|0)>>>0<d>>>0){Hj(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;Bj(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;Aj(g+f|0,i)}Sb=k;return b|0}function Hj(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0<e>>>0)wj(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0<k>>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=qj(j)|0;if(g|0)zj(k,l,g)|0;e=f-h-g|0;if(e|0)zj(k+g+i|0,l+g+h|0,e)|0;if((d|0)!=10)rj(l);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function Ij(b,d){b=b|0;d=d|0;var e=0,f=0;e=a[b+11>>0]|0;f=e<<24>>24<0;if(f)e=c[b+4>>2]|0;else e=e&255;if(e>>>0<=d>>>0)xj(b);if(f)b=c[b>>2]|0;return b+d|0}function Jj(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;k=Sb;Sb=Sb+16|0;i=k;j=b+11|0;f=a[j>>0]|0;h=f<<24>>24<0;if(h){g=(c[b+8>>2]&2147483647)+-1|0;f=c[b+4>>2]|0}else{g=10;f=f&255}if((g-f|0)>>>0>=e>>>0){if(e|0){if(h)g=c[b>>2]|0;else g=b;zj(g+f|0,d,e)|0;f=f+e|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;Aj(g+f|0,i)}}else Ej(b,g,f+e-g|0,f,f,0,e,d);Sb=k;return b|0}function Kj(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;f=Sb;Sb=Sb+48|0;h=f+32|0;d=f+24|0;i=f+16|0;g=f;f=f+36|0;a=Lj()|0;if(a|0?(e=c[a>>2]|0,e|0):0){a=e+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=45118;Mj(45068,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[e+44>>2]|0;else a=e+80|0;c[f>>2]=a;e=c[e>>2]|0;a=c[e+4>>2]|0;if(Yb[c[(c[9652]|0)+16>>2]&15](38608,e,f)|0){i=c[f>>2]|0;i=Vb[c[(c[i>>2]|0)+8>>2]&7](i)|0;c[g>>2]=45118;c[g+4>>2]=a;c[g+8>>2]=i;Mj(44982,g)}else{c[i>>2]=45118;c[i+4>>2]=a;Mj(45027,i)}}Mj(45106,h)}function Lj(){var a=0,b=0;a=Sb;Sb=Sb+16|0;if(!(pj(47364,3)|0)){b=nj(c[11842]|0)|0;Sb=a;return b|0}else Mj(45257,a);return 0}function Mj(a,b){a=a|0;b=b|0;var d=0;d=Sb;Sb=Sb+16|0;c[d>>2]=b;b=c[9800]|0;Ai(b,a,d)|0;dj(10,b)|0;Ea()}function Nj(a){a=a|0;return}function Oj(a){a=a|0;Nj(a);rj(a);return}function Pj(a){a=a|0;return}function Qj(a){a=a|0;return}function Rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Sb;Sb=Sb+64|0;f=h;if(!(Vj(a,b,0)|0))if((b|0)!=0?(g=Zj(b,38632,38616,0)|0,(g|0)!=0):0){b=f+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;cc[c[(c[g>>2]|0)+28>>2]&7](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];b=1}else b=0}else b=0;else b=1;Sb=h;return b|0}function Sj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(Vj(a,c[b+8>>2]|0,g)|0)Yj(0,b,d,e,f);return}function Tj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;do if(!(Vj(b,c[d+8>>2]|0,g)|0)){if(Vj(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else Xj(0,d,e,f);while(0);return}function Uj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(Vj(a,c[b+8>>2]|0,0)|0)Wj(0,b,d,e);return}function Vj(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function Wj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function Xj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function Yj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function Zj(d,e,f,g){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;p=Sb;Sb=Sb+64|0;n=p;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(Vj(m,f,0)|0){c[n+48>>2]=1;ec[c[(c[m>>2]|0)+20>>2]&31](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{dc[c[(c[m>>2]|0)+24>>2]&7](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);Sb=p;return d|0}function _j(a){a=a|0;Nj(a);rj(a);return}function $j(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(Vj(a,c[b+8>>2]|0,g)|0)Yj(0,b,d,e,f);else{a=c[a+8>>2]|0;ec[c[(c[a>>2]|0)+20>>2]&31](a,b,d,e,f,g)}return}function ak(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;do if(!(Vj(b,c[d+8>>2]|0,g)|0)){if(!(Vj(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;dc[c[(c[i>>2]|0)+24>>2]&7](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;f=d+52|0;a[f>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;ec[c[(c[b>>2]|0)+20>>2]&31](b,d,e,e,1,g);if(a[j>>0]|0)if(!(a[f>>0]|0)){f=1;b=11}else b=15;else{f=0;b=11}do if((b|0)==11){c[h>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(f){b=15;break}else{f=4;break}}if(f)b=15;else f=4}while(0);if((b|0)==15)f=3;c[i>>2]=f;break}if((f|0)==1)c[d+32>>2]=1}else Xj(0,d,e,f);while(0);return}function bk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(Vj(a,c[b+8>>2]|0,0)|0)Wj(0,b,d,e);else{a=c[a+8>>2]|0;cc[c[(c[a>>2]|0)+28>>2]&7](a,b,d,e)}return}function ck(a){a=a|0;return}function dk(){var a=0;a=Sb;Sb=Sb+16|0;if(!(mj(47368,28)|0)){Sb=a;return}else Mj(45306,a)}function ek(a){a=a|0;var b=0;b=Sb;Sb=Sb+16|0;hj(a);if(!(oj(c[11842]|0,0)|0)){Sb=b;return}else Mj(45356,b)}function fk(){var a=0,b=0;a=Lj()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?(a=b+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0)gk(c[b+12>>2]|0);gk(hk()|0)}function gk(a){a=a|0;var b=0;b=Sb;Sb=Sb+16|0;_b[a&3]();Mj(45409,b)}function hk(){var a=0;a=c[9863]|0;c[9863]=a+0;return a|0}function ik(a){a=a|0;return}function jk(a){a=a|0;c[a>>2]=39544;nk(a+4|0);return}function kk(a){a=a|0;jk(a);rj(a);return}function lk(a){a=a|0;return mk(a+4|0)|0}function mk(a){a=a|0;return c[a>>2]|0}function nk(a){a=a|0;var b=0,d=0;if(vj(a)|0?(b=ok(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a+-1|0)<0):0)rj(b);return}function ok(a){a=a|0;return a+-12|0}function pk(a){a=a|0;jk(a);rj(a);return}function qk(a){a=a|0;Nj(a);rj(a);return}function rk(a,b,c){a=a|0;b=b|0;c=c|0;return Vj(a,b,0)|0}function sk(a){a=a|0;Nj(a);rj(a);return}
function lg(a,c,e,f,g,h,i,j,k){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;m=(k|0)==0;l=c+1|0;y=g>>1;if((g|0)<=1)return;t=f>>>1&65535;u=t<<16>>16>0;v=0-f|0;w=h<<1;x=j<<1;s=(f+131070&131070)+2|0;q=e+(j<<1)|0;g=a+h|0;p=0;f=a;k=m?l:c;h=m?c:l;while(1){if(u){o=h+s|0;n=g+s|0;m=t;c=q;l=f;a=k;while(1){B=(d[a>>0]|0)+-128|0;A=B*16530>>13;B=r(B,-3207)|0;C=(d[h>>0]|0)+-128|0;B=(r(C,-6664)|0)+B>>13;C=C*13073>>13;z=d[l>>0]|0;D=A+z|0;D=(D|0)>0?D:0;E=B+z|0;E=(E|0)>0?E:0;z=C+z|0;z=(z|0)>0?z:0;b[e>>1]=((z|0)<255?z:255)>>>3<<11|((D|0)<255?D:255)>>>3|((E|0)<255?E:255)>>>2<<5;E=d[l+1>>0]|0;D=A+E|0;D=(D|0)>0?D:0;z=B+E|0;z=(z|0)>0?z:0;E=C+E|0;E=(E|0)>0?E:0;b[e+2>>1]=((E|0)<255?E:255)>>>3<<11|((D|0)<255?D:255)>>>3|((z|0)<255?z:255)>>>2<<5;z=d[g>>0]|0;D=A+z|0;D=(D|0)>0?D:0;E=B+z|0;E=(E|0)>0?E:0;z=C+z|0;z=(z|0)>0?z:0;b[c>>1]=((E|0)<255?E:255)>>>2<<5|((D|0)<255?D:255)>>>3|((z|0)<255?z:255)>>>3<<11;z=d[g+1>>0]|0;A=A+z|0;A=(A|0)>0?A:0;B=B+z|0;B=(B|0)>0?B:0;z=C+z|0;z=(z|0)>0?z:0;b[c+2>>1]=((B|0)<255?B:255)>>>2<<5|((A|0)<255?A:255)>>>3|((z|0)<255?z:255)>>>3<<11;if(m<<16>>16>1){m=m+-1<<16>>16;c=c+4|0;g=g+2|0;l=l+2|0;e=e+4|0;a=a+2|0;h=h+2|0}else break}a=q+(s<<1)|0;g=n;f=f+s|0;h=o;k=k+s|0}else a=q;p=p+1<<16>>16;if((y|0)<=(p<<16>>16|0))break;else{q=a+(x<<1)+(v<<1)|0;g=g+w+v|0;f=f+w+v|0;e=a+(v<<1)+(j<<1)|0;k=k+i+v|0;h=h+i+v|0}}return}function mg(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0;if((f|0)<=0)return;k=0;while(1){Sk(c|0,a|0,e|0)|0;k=k+1|0;if((k|0)==(f|0))break;else{c=c+i|0;a=a+g|0}}a=f>>1;if((f|0)<=1)return;c=0;while(1){Sk(d|0,b|0,e|0)|0;c=c+1|0;if((c|0)>=(a|0))break;else{d=d+j|0;b=b+h|0}}return}function ng(b,c,d,e,f,g,h,i,j,k,l,m,n){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0;if((n|0)==0&(h|0)>0){o=0;n=d;while(1){Sk(n|0,b|0,g|0)|0;o=o+1|0;if((o|0)==(h|0))break;else{n=n+k|0;b=b+i|0}}}b=(m|0)==0;n=c+1|0;m=h>>1;i=g>>1;if(!((h|0)>1&(g|0)>1))return;o=b?c:n;n=b?n:c;d=0;while(1){b=0;do{c=b<<1;a[e+b>>0]=a[n+c>>0]|0;a[f+b>>0]=a[o+c>>0]|0;b=b+1|0}while((b|0)<(i|0));d=d+1|0;if((d|0)>=(m|0))break;else{e=e+l|0;f=f+l|0;o=o+j|0;n=n+j|0}}return}function og(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;l=1<<g;k=((h<<16>>16<<6)+64>>7<<6)+2048>>12;k=(k|0)>-32768?k:-32768;k=(k|0)<32767?k:32767;if((g|0)==31)return;g=0;do{i=r(g,e)|0;j=r(g,f)|0;h=0;do{m=k+(d[b+(h+i)>>0]|0)|0;m=(m|0)>0?m:0;a[c+(h+j)>>0]=(m|0)<255?m:255;h=h+1|0}while((h|0)<(l|0));g=g+1|0}while((g|0)<(l|0));return}function pg(b,c,e,f,g,h){b=b|0;c=c|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;l=1<<g;k=((h<<16>>16<<6)+64>>7<<6)+2048>>12;k=(k|0)>-32768?k:-32768;k=(k|0)<32767?k:32767;if((g|0)==31)return;g=0;do{i=r(g,e)|0;j=r(g,f)|0;h=0;do{m=h<<1;n=k+(d[b+(m+i)>>0]|0)|0;n=(n|0)>0?n:0;a[c+(m+j)>>0]=(n|0)<255?n:255;h=h+1|0}while((h|0)<(l|0));g=g+1|0}while((g|0)<(l|0));return}function qg(a){a=a|0;var b=0,d=0;b=a+16|0;if(ag(c[b>>2]|0)|0){b=2147483647;return b|0}d=c[a>>2]|0;c[a+4>>2]=d;c[a+8>>2]=d;c[a+20>>2]=0;if(bg(c[b>>2]|0)|0){d=2147483647;return d|0}d=($f(c[b>>2]|0)|0)==0;d=d?0:2147483647;return d|0}function rg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=e+8|0;c[f>>2]=0;j=c[d+16>>2]|0;g=c[d+20>>2]|0;l=c[d+24>>2]|0;e=Yb[j&15](l,128,12)|0;if(!e){l=1;return l|0}c[b>>2]=e;c[f>>2]=e;c[(c[b>>2]|0)+8>>2]=0;k=Yb[j&15](l,128,45344)|0;if(!k){l=1;return l|0}c[(c[b>>2]|0)+8>>2]=k;Uk(k|0,0,45344)|0;f=k+56|0;c[f>>2]=c[d+12>>2];e=c[d+8>>2]|0;switch(e|0){case 12:case 11:case 1:break;default:c[f>>2]=0}c[k+60>>2]=e;i=k+11616|0;c[i>>2]=j;c[k+11620>>2]=g;c[k+11624>>2]=l;e=(Wf()|0)<<3;e=Yb[j&15](l,128,e)|0;if(!e){l=1;return l|0}c[k+11492>>2]=e;c[k+11496>>2]=e+(Wf()|0);c[k+11500>>2]=e+((Wf()|0)<<1);c[k+11504>>2]=e+((Wf()|0)*3|0);c[k+11508>>2]=e+((Wf()|0)<<2);c[k+11512>>2]=e+((Wf()|0)*5|0);c[k+11516>>2]=e+((Wf()|0)*6|0);c[k+11520>>2]=e+((Wf()|0)*7|0);e=Yb[j&15](l,128,1048592)|0;if(!e){l=1;return l|0}c[k+172>>2]=e;c[k+184>>2]=1048576;e=Yb[j&15](l,128,520)|0;if(!e){l=1;return l|0}c[k+264>>2]=e;e=Yb[j&15](l,128,520)|0;if(!e){l=1;return l|0}c[k+276>>2]=e;e=Yb[j&15](l,128,520)|0;if(!e){l=1;return l|0}c[k+244>>2]=e;e=Yb[j&15](l,128,520)|0;if(!e){l=1;return l|0}c[k+224>>2]=e;e=Yb[j&15](l,128,7168)|0;if(!e){l=1;return l|0}Uk(e|0,0,7168)|0;c[k+292>>2]=e;c[k+632>>2]=e;e=Yb[j&15](l,128,152592)|0;if(!e){l=1;return l|0}Uk(e|0,0,152592)|0;h=k+296|0;c[h>>2]=e;c[k+636>>2]=e;e=Yb[j&15](l,128,4420)|0;if(!e){l=1;return l|0}Uk(e|0,0,4420)|0;g=k+300|0;c[g>>2]=e;c[k+640>>2]=e;e=Yb[j&15](l,128,325632)|0;if(!e){l=1;return l|0}Uk(e|0,0,325632)|0;c[k+304>>2]=e;c[k+644>>2]=e;e=Yb[j&15](l,128,666496)|0;if(!e){l=1;return l|0}d=k+280|0;c[d>>2]=e;e=Yb[j&15](l,128,542464)|0;if(!e){l=1;return l|0}c[k+252>>2]=e;e=Yb[j&15](l,128,262144)|0;if(!e){l=1;return l|0}c[k+6548>>2]=e;c[k+6552>>2]=e+16384;c[k+7240>>2]=e+32768;c[k+7244>>2]=e+49152;c[k+7932>>2]=e+65536;c[k+7936>>2]=e+81920;c[k+8624>>2]=e+98304;c[k+8628>>2]=e+114688;c[k+9316>>2]=e+131072;c[k+9320>>2]=e+147456;c[k+10008>>2]=e+163840;c[k+10012>>2]=e+180224;c[k+10700>>2]=e+196608;c[k+10704>>2]=e+212992;c[k+11392>>2]=e+229376;c[k+11396>>2]=e+245760;e=Yb[j&15](l,128,48)|0;if(!e){l=1;return l|0}f=e;b=f+48|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(b|0));c[k+628>>2]=e;c[k+624>>2]=e+16;e=Yb[c[i>>2]&15](l,128,158208)|0;if(!e){l=1;return l|0}Uk(e|0,0,158208)|0;c[k+6144>>2]=e;i=e+9216|0;c[k+6148>>2]=i;l=e+18432|0;c[k+6196>>2]=i;c[k+6200>>2]=e;c[k+6056>>2]=l;c[k+6320>>2]=l;l=e+19776|0;c[k+6156>>2]=64;c[k+6836>>2]=l;i=e+28992|0;c[k+6840>>2]=i;j=e+38208|0;c[k+6888>>2]=i;c[k+6892>>2]=l;c[k+6748>>2]=j;c[k+7012>>2]=j;j=e+39552|0;c[k+6848>>2]=64;c[k+7528>>2]=j;l=e+48768|0;c[k+7532>>2]=l;i=e+57984|0;c[k+7580>>2]=l;c[k+7584>>2]=j;c[k+7440>>2]=i;c[k+7704>>2]=i;i=e+59328|0;c[k+7540>>2]=64;c[k+8220>>2]=i;j=e+68544|0;c[k+8224>>2]=j;l=e+77760|0;c[k+8272>>2]=j;c[k+8276>>2]=i;c[k+8132>>2]=l;c[k+8396>>2]=l;l=e+79104|0;c[k+8232>>2]=64;c[k+8912>>2]=l;i=e+88320|0;c[k+8916>>2]=i;j=e+97536|0;c[k+8964>>2]=i;c[k+8968>>2]=l;c[k+8824>>2]=j;c[k+9088>>2]=j;j=e+98880|0;c[k+8924>>2]=64;c[k+9604>>2]=j;l=e+108096|0;c[k+9608>>2]=l;i=e+117312|0;c[k+9656>>2]=l;c[k+9660>>2]=j;c[k+9516>>2]=i;c[k+9780>>2]=i;i=e+118656|0;c[k+9616>>2]=64;c[k+10296>>2]=i;j=e+127872|0;c[k+10300>>2]=j;l=e+137088|0;c[k+10348>>2]=j;c[k+10352>>2]=i;c[k+10208>>2]=l;c[k+10472>>2]=l;l=e+138432|0;c[k+10308>>2]=64;c[k+10988>>2]=l;i=e+147648|0;c[k+10992>>2]=i;j=e+156864|0;c[k+11040>>2]=i;c[k+11044>>2]=l;c[k+10900>>2]=j;c[k+11164>>2]=j;c[k+11e3>>2]=64;j=c[h>>2]|0;l=c[g>>2]|0;k=c[d>>2]|0;c[j+8968>>2]=k;c[j+17944>>2]=k+8128;c[j+26920>>2]=k+16256;c[j+35896>>2]=k+24384;c[j+44872>>2]=k+32512;c[j+53848>>2]=k+40640;c[j+62824>>2]=k+48768;c[j+71800>>2]=k+56896;c[j+80776>>2]=k+65024;c[j+89752>>2]=k+73152;c[j+98728>>2]=k+81280;c[j+107704>>2]=k+89408;c[j+116680>>2]=k+97536;c[j+125656>>2]=k+105664;c[j+134632>>2]=k+113792;c[j+143608>>2]=k+121920;c[j+152584>>2]=k+130048;c[l>>2]=k+138176;c[l+68>>2]=k+146304;c[l+136>>2]=k+154432;c[l+204>>2]=k+162560;c[l+272>>2]=k+170688;c[l+340>>2]=k+178816;c[l+408>>2]=k+186944;c[l+476>>2]=k+195072;c[l+544>>2]=k+203200;c[l+612>>2]=k+211328;c[l+680>>2]=k+219456;c[l+748>>2]=k+227584;c[l+816>>2]=k+235712;c[l+884>>2]=k+243840;c[l+952>>2]=k+251968;c[l+1020>>2]=k+260096;c[l+1088>>2]=k+268224;c[l+1156>>2]=k+276352;c[l+1224>>2]=k+284480;c[l+1292>>2]=k+292608;c[l+1360>>2]=k+300736;c[l+1428>>2]=k+308864;c[l+1496>>2]=k+316992;c[l+1564>>2]=k+325120;c[l+1632>>2]=k+333248;c[l+1700>>2]=k+341376;c[l+1768>>2]=k+349504;c[l+1836>>2]=k+357632;c[l+1904>>2]=k+365760;c[l+1972>>2]=k+373888;c[l+2040>>2]=k+382016;c[l+2108>>2]=k+390144;c[l+2176>>2]=k+398272;c[l+2244>>2]=k+406400;c[l+2312>>2]=k+414528;c[l+2380>>2]=k+422656;c[l+2448>>2]=k+430784;c[l+2516>>2]=k+438912;c[l+2584>>2]=k+447040;c[l+2652>>2]=k+455168;c[l+2720>>2]=k+463296;c[l+2788>>2]=k+471424;c[l+2856>>2]=k+479552;c[l+2924>>2]=k+487680;c[l+2992>>2]=k+495808;c[l+3060>>2]=k+503936;c[l+3128>>2]=k+512064;c[l+3196>>2]=k+520192;c[l+3264>>2]=k+528320;c[l+3332>>2]=k+536448;c[l+3400>>2]=k+544576;c[l+3468>>2]=k+552704;c[l+3536>>2]=k+560832;c[l+3604>>2]=k+568960;c[l+3672>>2]=k+577088;c[l+3740>>2]=k+585216;c[l+3808>>2]=k+593344;c[l+3876>>2]=k+601472;c[l+3944>>2]=k+609600;c[l+4012>>2]=k+617728;c[l+4080>>2]=k+625856;c[l+4148>>2]=k+633984;c[l+4216>>2]=k+642112;c[l+4284>>2]=k+650240;c[l+4352>>2]=k+658368;l=0;return l|0}function sg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+8|0;e=c[f>>2]|0;g=e+11620|0;h=c[g>>2]|0;i=e+11624|0;j=c[i>>2]|0;b=e+11492|0;d=c[b>>2]|0;if(d|0){ac[h&31](j,d);c[b>>2]=0}b=e+172|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+264|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+276|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+244|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+224|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+292|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+296|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+300|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+304|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+280|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+252|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+628|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+6548|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+6144|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=c[f>>2]|0;if(!b){ac[h&31](j,a);return 0}ac[c[g>>2]&31](c[i>>2]|0,b);c[f>>2]=0;ac[h&31](j,a);return 0}function tg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=c[b+11624>>2]|0;j=(c[b>>2]|0)+63|0;v=j&-64;i=(c[b+4>>2]|0)+63|0;w=i&-64;o=v+64|0;h=(j|63|0)/64|0;m=w+64|0;s=(w|0)/16|0;t=(v|0)/16|0;u=r(s,t)|0;n=(v|0)/8|0;f=(w|0)/8|0;i=r((i|63|0)/64|0,h)|0;d=i*390|0;y=b+11616|0;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Uk(e|0,0,d|0)|0;g=b+284|0;c[g>>2]=e;d=i+s<<2;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Uk(e|0,0,d|0)|0;c[b+308>>2]=e;d=((v|0)/64|0)+3&-4;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Uk(e|0,0,d|0)|0;c[b+608>>2]=e;d=((v|0)/32|0)+3&-4;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Uk(e|0,0,d|0)|0;c[b+616>>2]=e;d=((r(f,n)|0)/8|0)+3&-4;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Uk(e|0,0,d|0)|0;c[b+212>>2]=e;c[b+600>>2]=e;l=f+8|0;d=((r(l,n+8|0)|0)/8|0)+3&-4;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Uk(e|0,1,d|0)|0;c[b+216>>2]=e;e=e+(j>>6)+1|0;c[b+220>>2]=e;c[b+604>>2]=e;c[b+1212>>2]=e;c[b+1284>>2]=e;e=c[b+300>>2]|0;d=c[g>>2]|0;c[e+4>>2]=d;d=d+(i*6|0)|0;c[e+72>>2]=d;d=d+(i*6|0)|0;c[e+140>>2]=d;d=d+(i*6|0)|0;c[e+208>>2]=d;d=d+(i*6|0)|0;c[e+276>>2]=d;d=d+(i*6|0)|0;c[e+344>>2]=d;d=d+(i*6|0)|0;c[e+412>>2]=d;d=d+(i*6|0)|0;c[e+480>>2]=d;d=d+(i*6|0)|0;c[e+548>>2]=d;d=d+(i*6|0)|0;c[e+616>>2]=d;d=d+(i*6|0)|0;c[e+684>>2]=d;d=d+(i*6|0)|0;c[e+752>>2]=d;d=d+(i*6|0)|0;c[e+820>>2]=d;d=d+(i*6|0)|0;c[e+888>>2]=d;d=d+(i*6|0)|0;c[e+956>>2]=d;d=d+(i*6|0)|0;c[e+1024>>2]=d;d=d+(i*6|0)|0;c[e+1092>>2]=d;d=d+(i*6|0)|0;c[e+1160>>2]=d;d=d+(i*6|0)|0;c[e+1228>>2]=d;d=d+(i*6|0)|0;c[e+1296>>2]=d;d=d+(i*6|0)|0;c[e+1364>>2]=d;d=d+(i*6|0)|0;c[e+1432>>2]=d;d=d+(i*6|0)|0;c[e+1500>>2]=d;d=d+(i*6|0)|0;c[e+1568>>2]=d;d=d+(i*6|0)|0;c[e+1636>>2]=d;d=d+(i*6|0)|0;c[e+1704>>2]=d;d=d+(i*6|0)|0;c[e+1772>>2]=d;d=d+(i*6|0)|0;c[e+1840>>2]=d;d=d+(i*6|0)|0;c[e+1908>>2]=d;d=d+(i*6|0)|0;c[e+1976>>2]=d;d=d+(i*6|0)|0;c[e+2044>>2]=d;d=d+(i*6|0)|0;c[e+2112>>2]=d;d=d+(i*6|0)|0;c[e+2180>>2]=d;d=d+(i*6|0)|0;c[e+2248>>2]=d;d=d+(i*6|0)|0;c[e+2316>>2]=d;d=d+(i*6|0)|0;c[e+2384>>2]=d;d=d+(i*6|0)|0;c[e+2452>>2]=d;d=d+(i*6|0)|0;c[e+2520>>2]=d;d=d+(i*6|0)|0;c[e+2588>>2]=d;d=d+(i*6|0)|0;c[e+2656>>2]=d;d=d+(i*6|0)|0;c[e+2724>>2]=d;d=d+(i*6|0)|0;c[e+2792>>2]=d;d=d+(i*6|0)|0;c[e+2860>>2]=d;d=d+(i*6|0)|0;c[e+2928>>2]=d;d=d+(i*6|0)|0;c[e+2996>>2]=d;d=d+(i*6|0)|0;c[e+3064>>2]=d;d=d+(i*6|0)|0;c[e+3132>>2]=d;d=d+(i*6|0)|0;c[e+3200>>2]=d;d=d+(i*6|0)|0;c[e+3268>>2]=d;d=d+(i*6|0)|0;c[e+3336>>2]=d;d=d+(i*6|0)|0;c[e+3404>>2]=d;d=d+(i*6|0)|0;c[e+3472>>2]=d;d=d+(i*6|0)|0;c[e+3540>>2]=d;d=d+(i*6|0)|0;c[e+3608>>2]=d;d=d+(i*6|0)|0;c[e+3676>>2]=d;d=d+(i*6|0)|0;c[e+3744>>2]=d;d=d+(i*6|0)|0;c[e+3812>>2]=d;d=d+(i*6|0)|0;c[e+3880>>2]=d;d=d+(i*6|0)|0;c[e+3948>>2]=d;d=d+(i*6|0)|0;c[e+4016>>2]=d;d=d+(i*6|0)|0;c[e+4084>>2]=d;d=d+(i*6|0)|0;c[e+4152>>2]=d;d=d+(i*6|0)|0;c[e+4220>>2]=d;d=d+(i*6|0)|0;c[e+4288>>2]=d;c[e+4356>>2]=d+(i*6|0);e=(r(s,h)|0)+s<<4;e=(e|3)+(ug()|0)&-4;d=Yb[c[y>>2]&15](x,128,e)|0;if(!d){b=1;return b|0}q=b+196|0;c[q>>2]=d;p=b+200|0;c[p>>2]=e;e=u+3&-4;d=Yb[c[y>>2]&15](x,128,e)|0;if(!d){b=1;return b|0}Uk(d|0,0,e|0)|0;c[b+204>>2]=d;d=Yb[c[y>>2]&15](x,128,e)|0;if(!d){b=1;return b|0}Uk(d|0,0,e|0)|0;c[b+208>>2]=d;h=((v|0)/4|0)<<2;d=h+519&-4;i=Yb[c[y>>2]&15](x,128,d)|0;if(!i){b=1;return b|0}Uk(i|0,0,d|0)|0;d=i+512|0;c[b+6064>>2]=i;f=i;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));e=b+6060|0;c[e>>2]=d;f=i+64|0;c[b+6756>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+6752>>2]=d;f=i+128|0;c[b+7448>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+7444>>2]=d;f=i+192|0;c[b+8140>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+8136>>2]=d;f=i+256|0;c[b+8832>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+8828>>2]=d;f=i+320|0;c[b+9524>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+9520>>2]=d;f=i+384|0;c[b+10216>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+10212>>2]=d;f=i+448|0;c[b+10908>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+10904>>2]=d;Uk(c[e>>2]|0,0,h+4|0)|0;d=(w|0)>(v|0)?w:v;e=s<<1;k=t<<1;j=t+63+k+(s*9|0)+(d+v<<1)&-64;f=Yb[c[y>>2]&15](x,128,j)|0;if(!f){b=1;return b|0}Uk(f|0,0,j|0)|0;c[b+6556>>2]=f;c[b+7248>>2]=f;c[b+7940>>2]=f;c[b+8632>>2]=f;c[b+9324>>2]=f;c[b+10016>>2]=f;c[b+10708>>2]=f;c[b+11400>>2]=f;c[b+1308>>2]=f;i=f+d|0;c[b+6564>>2]=i;c[b+7256>>2]=i;c[b+7948>>2]=i;c[b+8640>>2]=i;c[b+9332>>2]=i;c[b+10024>>2]=i;c[b+10716>>2]=i;c[b+11408>>2]=i;c[b+1316>>2]=i;i=i+d|0;c[b+6560>>2]=i;c[b+7252>>2]=i;c[b+7944>>2]=i;c[b+8636>>2]=i;c[b+9328>>2]=i;c[b+10020>>2]=i;c[b+10712>>2]=i;c[b+11404>>2]=i;c[b+1312>>2]=i;i=i+v|0;c[b+6568>>2]=i;c[b+7260>>2]=i;c[b+7952>>2]=i;c[b+8644>>2]=i;c[b+9336>>2]=i;c[b+10028>>2]=i;c[b+10720>>2]=i;c[b+11412>>2]=i;c[b+1320>>2]=i;i=i+v|0;c[b+6572>>2]=i;c[b+7264>>2]=i;c[b+7956>>2]=i;c[b+8648>>2]=i;c[b+9340>>2]=i;c[b+10032>>2]=i;c[b+10724>>2]=i;c[b+11416>>2]=i;c[b+1324>>2]=i;i=i+s|0;c[b+6576>>2]=i;c[b+7268>>2]=i;c[b+7960>>2]=i;c[b+8652>>2]=i;c[b+9344>>2]=i;c[b+10036>>2]=i;c[b+10728>>2]=i;c[b+11420>>2]=i;c[b+1328>>2]=i;i=i+e|0;c[b+6580>>2]=i;c[b+7272>>2]=i;c[b+7964>>2]=i;c[b+8656>>2]=i;c[b+9348>>2]=i;c[b+10040>>2]=i;c[b+10732>>2]=i;c[b+11424>>2]=i;c[b+1332>>2]=i;i=i+s|0;c[b+6584>>2]=i;c[b+7276>>2]=i;c[b+7968>>2]=i;c[b+8660>>2]=i;c[b+9352>>2]=i;c[b+10044>>2]=i;c[b+10736>>2]=i;c[b+11428>>2]=i;c[b+1336>>2]=i;i=i+e|0;c[b+6588>>2]=i;c[b+7280>>2]=i;c[b+7972>>2]=i;c[b+8664>>2]=i;c[b+9356>>2]=i;c[b+10048>>2]=i;c[b+10740>>2]=i;c[b+11432>>2]=i;c[b+1340>>2]=i;i=i+t|0;c[b+6592>>2]=i;c[b+7284>>2]=i;c[b+7976>>2]=i;c[b+8668>>2]=i;c[b+9360>>2]=i;c[b+10052>>2]=i;c[b+10744>>2]=i;c[b+11436>>2]=i;c[b+1344>>2]=i;i=i+k|0;c[b+6600>>2]=i;c[b+7292>>2]=i;c[b+7984>>2]=i;c[b+8676>>2]=i;c[b+9368>>2]=i;c[b+10060>>2]=i;c[b+10752>>2]=i;c[b+11444>>2]=i;c[b+1352>>2]=i;i=i+s|0;c[b+6608>>2]=i;c[b+7300>>2]=i;c[b+7992>>2]=i;c[b+8684>>2]=i;c[b+9376>>2]=i;c[b+10068>>2]=i;c[b+10760>>2]=i;c[b+11452>>2]=i;c[b+1360>>2]=i;i=((r((m|0)/4|0,n+16|0)|0)/8|0)<<1;f=((r(l,(o|0)/4|0)|0)/8|0)<<1;g=(r(t+1|0,s)|0)/8|0;l=r(w,v)|0;h=(l|0)/64|0;d=g+h+i+f+j|0;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Uk(e|0,0,d|0)|0;d=0-(g+(h+(i+f)))|0;c[b+6284>>2]=e;c[b+6400>>2]=e;m=e+i|0;c[b+6288>>2]=m;c[b+6404>>2]=m;m=m+f|0;c[b+6296>>2]=m;c[b+6412>>2]=m;m=m+h|0;c[b+6292>>2]=m;c[b+6408>>2]=m;m=m+g+d|0;c[b+6976>>2]=m;c[b+7092>>2]=m;m=m+i|0;c[b+6980>>2]=m;c[b+7096>>2]=m;m=m+f|0;c[b+6988>>2]=m;c[b+7104>>2]=m;m=m+h|0;c[b+6984>>2]=m;c[b+7100>>2]=m;m=m+g+d|0;c[b+7668>>2]=m;c[b+7784>>2]=m;m=m+i|0;c[b+7672>>2]=m;c[b+7788>>2]=m;m=m+f|0;c[b+7680>>2]=m;c[b+7796>>2]=m;m=m+h|0;c[b+7676>>2]=m;c[b+7792>>2]=m;m=m+g+d|0;c[b+8360>>2]=m;c[b+8476>>2]=m;m=m+i|0;c[b+8364>>2]=m;c[b+8480>>2]=m;m=m+f|0;c[b+8372>>2]=m;c[b+8488>>2]=m;m=m+h|0;c[b+8368>>2]=m;c[b+8484>>2]=m;m=m+g+d|0;c[b+9052>>2]=m;c[b+9168>>2]=m;m=m+i|0;c[b+9056>>2]=m;c[b+9172>>2]=m;m=m+f|0;c[b+9064>>2]=m;c[b+9180>>2]=m;m=m+h|0;c[b+9060>>2]=m;c[b+9176>>2]=m;m=m+g+d|0;c[b+9744>>2]=m;c[b+9860>>2]=m;m=m+i|0;c[b+9748>>2]=m;c[b+9864>>2]=m;m=m+f|0;c[b+9756>>2]=m;c[b+9872>>2]=m;m=m+h|0;c[b+9752>>2]=m;c[b+9868>>2]=m;m=m+g+d|0;c[b+10436>>2]=m;c[b+10552>>2]=m;m=m+i|0;c[b+10440>>2]=m;c[b+10556>>2]=m;m=m+f|0;c[b+10448>>2]=m;c[b+10564>>2]=m;m=m+h|0;c[b+10444>>2]=m;c[b+10560>>2]=m;m=m+g+d|0;c[b+11128>>2]=m;c[b+11244>>2]=m;n=m+i|0;c[b+11132>>2]=n;c[b+11248>>2]=n;o=n+f|0;c[b+11140>>2]=o;c[b+11256>>2]=o;e=o+h|0;c[b+11136>>2]=e;c[b+11252>>2]=e;d=e+g+d|0;c[b+1152>>2]=m;c[b+1156>>2]=n;c[b+1164>>2]=o;c[b+1160>>2]=e;c[b+1036>>2]=d;d=d+i|0;c[b+1040>>2]=d;d=d+f|0;c[b+1048>>2]=d;c[b+1044>>2]=d+h;d=r(k,s+2|0)|0;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Uk(e|0,0,d|0)|0;c[b+11612>>2]=e;d=e+(t<<1)|0;c[b+6632>>2]=d;c[b+7324>>2]=d;c[b+8016>>2]=d;c[b+8708>>2]=d;c[b+9400>>2]=d;c[b+10092>>2]=d;c[b+10784>>2]=d;c[b+11476>>2]=d;d=u*12|0;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Uk(e|0,0,d|0)|0;c[b+1444>>2]=e;c[b+1296>>2]=e;d=e;c[b+6544>>2]=d;c[b+7236>>2]=d;c[b+7928>>2]=d;c[b+8620>>2]=d;c[b+9312>>2]=d;c[b+10004>>2]=d;c[b+10696>>2]=d;c[b+11388>>2]=d;d=b+176|0;c[d>>2]=0;do if((l|0)>1048576){e=Yb[c[y>>2]&15](x,128,l|16)|0;if(!e){b=1;return b|0}else{c[d>>2]=e;c[b+188>>2]=l;break}}while(0);d=vg(l)|0;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Uk(e|0,0,d|0)|0;c[b+192>>2]=e;e=c[b+636>>2]|0;d=c[b+11596>>2]|0;d=(a[(a[e+(d*8976|0)+14>>0]|0)+-1+(e+(d*8976|0)+25)>>0]|0)+1|0;d=r(d,(wg(l)|0)+40980|0)|0;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}c[b+236>>2]=e;c[b+240>>2]=d;do if(!(c[b+56>>2]|0)){e=xg(b,v,w)|0;d=Yb[c[y>>2]&15](x,128,e)|0;if(!d){b=1;return b|0}else{c[b+256>>2]=e;c[b+11628>>2]=d;break}}while(0);d=yg(c[q>>2]|0,c[p>>2]|0)|0;c[b+11556>>2]=d;e=d;if(!d){b=1;return b|0}c[b+656>>2]=d;c[b+6092>>2]=e;c[b+6100>>2]=0;c[b+5956>>2]=b;c[b+6104>>2]=0;c[b+6108>>2]=0;c[b+6784>>2]=e;c[b+6792>>2]=1;c[b+6648>>2]=b;c[b+6796>>2]=0;c[b+6800>>2]=0;c[b+7476>>2]=e;c[b+7484>>2]=2;c[b+7340>>2]=b;c[b+7488>>2]=0;c[b+7492>>2]=0;c[b+8168>>2]=e;c[b+8176>>2]=3;c[b+8032>>2]=b;c[b+8180>>2]=0;c[b+8184>>2]=0;c[b+8860>>2]=e;c[b+8868>>2]=4;c[b+8724>>2]=b;c[b+8872>>2]=0;c[b+8876>>2]=0;c[b+9552>>2]=e;c[b+9560>>2]=5;c[b+9416>>2]=b;c[b+9564>>2]=0;c[b+9568>>2]=0;c[b+10244>>2]=e;c[b+10252>>2]=6;c[b+10108>>2]=b;c[b+10256>>2]=0;c[b+10260>>2]=0;c[b+10936>>2]=e;c[b+10944>>2]=7;c[b+10800>>2]=b;c[b+10948>>2]=0;c[b+10952>>2]=0;c[b+11632>>2]=1;b=0;return b|0}function ug(){return (Xf()|0)+24|0}function vg(a){a=a|0;var b=0;b=(a|0)/16|0;return b+4+(((a|0)/256|0)<<2)+(((b>>1)+b|0)*42|0)|0}function wg(a){a=a|0;var b=0;b=(a|0)/16|0;a=(a|0)/256|0;return b+4+(a<<2)+(b<<4)+((a<<1)+3&-4)|0}function xg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=c[b+636>>2]|0;i=c[b+11596>>2]|0;g=(a[h+(i*8976|0)+14>>0]|0)+-1|0;f=a[h+(i*8976|0)+25+g>>0]|0;if((c[b+11636>>2]|0)!=1)f=(a[h+(i*8976|0)+32+g>>0]|0)+f|0;return r(f+1|0,(r((d*3|0)+480|0,e+160|0)|0)/2|0)|0}function yg(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+24|0;d=a+16|0;c[d>>2]=e;e=e+(Xf()|0)|0;b=b+-24-(Xf()|0)|0;if((b|0)<1){e=0;return e|0}_f(c[d>>2]|0)|0;c[a>>2]=e;c[a+4>>2]=e;c[a+8>>2]=e;c[a+12>>2]=e+b;c[a+20>>2]=0;e=a;return e|0}function zg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=c[a+8>>2]|0;a=m+52|0;c[a>>2]=0;a:do if(c[m+56>>2]|0){l=c[b+8>>2]|0;l=l>>>0<64?l:64;c[a>>2]=l;e=c[m+248>>2]|0;k=m+60|0;do if((c[k>>2]|0)==1){a=r(l<<1,c[b+276>>2]|0)|0;a=Yb[c[m+11616>>2]&15](c[m+11624>>2]|0,128,a)|0;if(!a){d=1;return d|0}else{c[m+260>>2]=a;break}}else a=0;while(0);if((l|0)>0){j=b+12|0;g=b+276|0;h=m+244|0;i=m+45340|0;f=0;while(1){c[e>>2]=c[j+(f*516|0)+4>>2];if((c[k>>2]|0)==1){b=a;a=a+(c[g>>2]<<1)|0}else b=c[j+(f*516|0)+8>>2]|0;c[e+4>>2]=b;if(Vd(c[h>>2]|0,e,f)|0)break;Zd(c[h>>2]|0,f,4)|0;Sk(m+12316+((c[i>>2]|0)*516|0)|0,j+(f*516|0)|0,516)|0;c[i>>2]=(c[i>>2]|0)+1;f=f+1|0;if(f>>>0>=l>>>0)break a;else e=e+8476|0}c[m+144>>2]=983;d=983;return d|0}}while(0);c[d+4>>2]=0;d=0;return d|0}function Ag(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;c[e+4>>2]=0;m=c[b+8>>2]|0;c[e+36>>2]=1;n=c[m+60>>2]|0;switch(n|0){case 1:{b=3;o=6;break}case 5:{b=1;o=6;break}case 9:{b=1;o=6;break}case 13:{b=1;o=6;break}case 12:case 11:{b=2;o=6;break}default:{}}if((o|0)==6)c[e+40>>2]=b;k=e+8|0;c[k>>2]=1;l=m+4|0;i=r((c[l>>2]|0)+63&-64,(c[m>>2]|0)+63&-64)|0;c[e+44>>2]=(i|0)>1048576?i:1048576;i=c[l>>2]|0;b=c[m+56>>2]|0;do if(!(c[m+112>>2]|0)){d=c[m>>2]|0;j=c[m+16>>2]|0;d=(j|0)>(d|0)?j:d;if(!b){j=i;i=1}else{c[k>>2]=32;j=i;i=32}}else{if(!b){d=c[m+8>>2]|0;i=c[m+16>>2]|0;j=c[m+12>>2]|0;d=(i|0)>(d|0)?i:d;i=1;break}d=c[m+16>>2]|0;g=c[m+636>>2]|0;h=c[m+11596>>2]|0;f=(a[g+(h*8976|0)+14>>0]|0)+-1|0;if((c[m+11636>>2]|0)==1)b=1;else b=(a[g+(h*8976|0)+32+f>>0]|0)+1|0;h=b+(a[g+(h*8976|0)+25+f>>0]|0)|0;c[k>>2]=h;j=i+160|0;i=h>>>0<32?h:32}while(0);c[k>>2]=i;switch(n|0){case 1:{g=r(d,j)|0;c[e+300>>2]=g;g=g>>2;b=g;f=308;h=304;o=21;break}case 5:{c[e+300>>2]=(r(d,j)|0)<<1;b=0;f=304;g=0;h=308;o=21;break}case 9:{c[e+300>>2]=(r(d,j)|0)<<1;b=0;f=304;g=0;h=308;o=21;break}case 13:{c[e+300>>2]=(r(d,j)|0)<<2;b=0;f=304;g=0;h=308;o=21;break}case 12:case 11:{g=r(d,j)|0;c[e+300>>2]=g;b=0;f=308;g=g>>1;h=304;o=21;break}default:{}}if((o|0)==21){c[e+h>>2]=g;c[e+f>>2]=b}c[e+12>>2]=j;c[e+16>>2]=d;c[e+20>>2]=3e4;c[e+24>>2]=1e6;c[e+28>>2]=0;c[e+32>>2]=n;c[m+52>>2]=i;if((c[e>>2]|0)!=564)return 0;c[e+560>>2]=c[l>>2];return 0}function Bg(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;c[e+4>>2]=0;l=c[b+8>>2]|0;g=e+12|0;c[g>>2]=1;k=c[l+60>>2]|0;switch(k|0){case 1:{b=3;f=6;break}case 5:{b=1;f=6;break}case 9:{b=1;f=6;break}case 13:{b=1;f=6;break}case 12:case 11:{b=2;f=6;break}default:{}}if((f|0)==6)c[e+16>>2]=b;j=e+8|0;c[j>>2]=1;d=l+4|0;f=e+20|0;b=0;do{i=r((c[d>>2]|0)+63&-64,(c[l>>2]|0)+63&-64)|0;c[f+(b<<2)>>2]=(i|0)>1048576?i:1048576;b=b+1|0}while(b>>>0<(c[g>>2]|0)>>>0);b=c[l+56>>2]|0;do if(!(c[l+112>>2]|0)){d=(b|0)==1?160:0;f=c[l+16>>2]|0;f=(f|0)>(d|0)?f:d;if(!b){b=f;h=1}else{c[j>>2]=32;b=f;h=32}}else{if(!b){b=c[l+8>>2]|0;h=c[l+16>>2]|0;d=c[l+12>>2]|0;b=(h|0)>(b|0)?h:b;h=1;break}b=c[l+16>>2]|0;d=(c[l+4>>2]|0)+160|0;h=c[l+636>>2]|0;i=c[l+11596>>2]|0;g=(a[h+(i*8976|0)+14>>0]|0)+-1|0;if((c[l+11636>>2]|0)==1)f=1;else f=(a[h+(i*8976|0)+32+g>>0]|0)+1|0;h=f+(a[h+(i*8976|0)+25+g>>0]|0)|0;c[j>>2]=h;h=h>>>0<32?h:32}while(0);c[j>>2]=h;switch(k|0){case 1:{f=r(d,b)|0;c[e+276>>2]=f;f=f>>2;b=f;d=284;g=280;break}case 5:{c[e+276>>2]=(r(d,b)|0)<<1;b=0;d=280;f=0;g=284;break}case 9:{c[e+276>>2]=(r(d,b)|0)<<1;b=0;d=280;f=0;g=284;break}case 13:{c[e+276>>2]=(r(d,b)|0)<<2;b=0;d=280;f=0;g=284;break}case 12:case 11:{f=r(d,b)|0;c[e+276>>2]=f;b=0;d=284;f=f>>1;g=280;break}default:{e=l+52|0;c[e>>2]=h;return 0}}c[e+g>>2]=f;c[e+d>>2]=b;e=l+52|0;c[e>>2]=h;return 0}function Cg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=c[a+8>>2]|0;do if(!(c[o+112>>2]|0)){n=c[o+56>>2]|0;a=(n|0)==0?0:160;f=c[o+20>>2]|0;f=(f|0)>(a|0)?f:a;if(!n){b=0;e=0;h=6}else{b=0;e=0;n=80}}else{f=c[o+8>>2]|0;b=c[o+12>>2]|0;g=c[o+20>>2]|0;if(!(c[o+56>>2]|0)){a=b;e=f;f=(g|0)>(f|0)?g:f;h=6;break}else{m=c[o+20>>2]|0;a=(c[o+4>>2]|0)+160|0;e=f;n=80;f=(m|0)>(g|0)?m:g;break}}while(0);if((h|0)==6)n=0;c[d+32>>2]=e;c[d+44>>2]=b;c[d+56>>2]=f;c[d+68>>2]=a;c[d+8>>2]=n;c[d+20>>2]=n;k=e+1|0;p=k>>>1;l=d+40|0;c[l>>2]=p;m=d+36|0;c[m>>2]=p;p=(b+1|0)>>>1;h=d+52|0;c[h>>2]=p;c[d+48>>2]=p;p=f>>>1;i=d+64|0;c[i>>2]=p;j=d+60|0;c[j>>2]=p;p=a>>>1;a=d+76|0;c[a>>2]=p;c[d+72>>2]=p;p=n>>>1;b=d+16|0;c[b>>2]=p;e=d+12|0;c[e>>2]=p;g=d+28|0;c[g>>2]=p;c[d+24>>2]=p;if(((c[o+60>>2]|0)+-11|0)>>>0>=2)return 0;c[l>>2]=0;c[h>>2]=0;c[i>>2]=0;c[a>>2]=0;c[b>>2]=0;c[g>>2]=0;c[m>>2]=k&-2;c[j>>2]=f&-2;c[e>>2]=n;return 0}function Dg(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[d+8>>2]|0;if(!(c[g+112>>2]|0)){c[f+4>>2]=991;f=1;return f|0}d=c[g+360>>2]|0;if(!((a[d+8972>>0]|0)!=0?(a[d+162>>0]|0)!=0:0))h=5;a:do if((h|0)==5){e=0;d=c[g+296>>2]|0;while(1){if(a[d+8972>>0]|0?a[d+162>>0]|0:0)break a;e=e+1|0;if((e|0)==16)break;d=d+8976|0}c[f+4>>2]=991;f=1;return f|0}while(0);a[f+8>>0]=a[d+164>>0]|0;a[f+9>>0]=a[d+165>>0]|0;b[f+10>>1]=b[d+166>>1]|0;b[f+12>>1]=b[d+168>>1]|0;a[f+14>>0]=a[d+170>>0]|0;a[f+15>>0]=a[d+171>>0]|0;a[f+16>>0]=a[d+172>>0]|0;a[f+17>>0]=a[d+173>>0]|0;a[f+18>>0]=a[d+174>>0]|0;a[f+19>>0]=a[d+175>>0]|0;a[f+20>>0]=a[d+176>>0]|0;a[f+21>>0]=a[d+177>>0]|0;a[f+22>>0]=a[d+178>>0]|0;a[f+23>>0]=a[d+179>>0]|0;a[f+24>>0]=a[d+180>>0]|0;a[f+25>>0]=a[d+181>>0]|0;a[f+26>>0]=a[d+182>>0]|0;a[f+27>>0]=a[d+183>>0]|0;a[f+28>>0]=a[d+184>>0]|0;a[f+29>>0]=a[d+185>>0]|0;c[f+32>>2]=c[d+188>>2];c[f+36>>2]=c[d+192>>2];c[f+40>>2]=c[d+196>>2];c[f+44>>2]=c[d+200>>2];a[f+48>>0]=a[d+204>>0]|0;a[f+49>>0]=a[d+4088>>0]|0;c[f+52>>2]=c[d+4092>>2];c[f+56>>2]=c[d+4096>>2];a[f+60>>0]=a[d+4100>>0]|0;a[f+61>>0]=a[d+4101>>0]|0;a[f+62>>0]=a[d+4102>>0]|0;a[f+63>>0]=a[d+4103>>0]|0;a[f+64>>0]=a[d+4104>>0]|0;a[f+65>>0]=a[d+4105>>0]|0;a[f+66>>0]=c[d+4108>>2];a[f+67>>0]=a[d+4112>>0]|0;a[f+68>>0]=a[d+4113>>0]|0;a[f+69>>0]=a[d+4114>>0]|0;a[f+70>>0]=a[d+4115>>0]|0;a[f+71>>0]=a[d+208>>0]|0;c[f+72>>2]=c[d+212>>2];c[f+76>>2]=c[d+216>>2];a[f+80>>0]=a[d+220>>0]|0;a[f+81>>0]=a[d+221>>0]|0;a[f+82>>0]=a[d+222>>0]|0;a[f+83>>0]=a[d+223>>0]|0;a[f+84>>0]=a[d+224>>0]|0;a[f+85>>0]=a[d+225>>0]|0;a[f+86>>0]=a[d+226>>0]|0;a[f+87>>0]=a[d+227>>0]|0;a[f+88>>0]=c[d+228>>2];a[f+89>>0]=c[d+232>>2];a[f+90>>0]=c[d+236>>2];a[f+91>>0]=a[d+240>>0]|0;a[f+92>>0]=a[d+241>>0]|0;a[f+93>>0]=a[d+242>>0]|0;a[f+94>>0]=a[d+243>>0]|0;a[f+100>>0]=a[d+250>>0]|0;a[f+106>>0]=a[d+257>>0]|0;a[f+112>>0]=a[d+264>>0]|0;a[f+118>>0]=a[d+271>>0]|0;a[f+95>>0]=a[d+244>>0]|0;a[f+101>>0]=a[d+251>>0]|0;a[f+107>>0]=a[d+258>>0]|0;a[f+113>>0]=a[d+265>>0]|0;a[f+119>>0]=a[d+272>>0]|0;a[f+96>>0]=a[d+245>>0]|0;a[f+102>>0]=a[d+252>>0]|0;a[f+108>>0]=a[d+259>>0]|0;a[f+114>>0]=a[d+266>>0]|0;a[f+120>>0]=a[d+273>>0]|0;a[f+97>>0]=a[d+246>>0]|0;a[f+103>>0]=a[d+253>>0]|0;a[f+109>>0]=a[d+260>>0]|0;a[f+115>>0]=a[d+267>>0]|0;a[f+121>>0]=a[d+274>>0]|0;a[f+98>>0]=a[d+247>>0]|0;a[f+104>>0]=a[d+254>>0]|0;a[f+110>>0]=a[d+261>>0]|0;a[f+116>>0]=a[d+268>>0]|0;a[f+122>>0]=a[d+275>>0]|0;a[f+99>>0]=a[d+248>>0]|0;a[f+105>>0]=a[d+255>>0]|0;a[f+111>>0]=a[d+262>>0]|0;a[f+117>>0]=a[d+269>>0]|0;a[f+123>>0]=a[d+276>>0]|0;f=0;return f|0}function Eg(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=Sb;Sb=Sb+32|0;i=l+16|0;h=l+8|0;g=l;k=c[d+8>>2]|0;if((c[k+120>>2]|0)!=1){e=f+4|0;c[e>>2]=c[e>>2]|16592;e=1;Sb=l;return e|0}do switch(c[e+8>>2]|0){case 0:{Ag(d,0,f)|0;e=0;Sb=l;return e|0}case 1:{f=f+4|0;c[f>>2]=0;d=c[e+20>>2]|0;c[k+68>>2]=d;a:do if((d|0)>=6)if((d|0)<2147483647)switch(d|0){case 6:{d=0;break a}default:{j=6;break a}}else switch(d|0){case 2147483647:{d=0;break a}default:{j=6;break a}}else switch(d|0){case 2:case 1:{d=0;break}default:j=6}while(0);if((j|0)==6){c[f>>2]=8192;d=1}h=k+16|0;i=c[k+56>>2]|0;g=c[e+16>>2]|0;do if((g|0)<(c[k+8>>2]|0)?(c[k+112>>2]|0)!=0:0)if(!g){g=c[h>>2]|0;break}else{c[f>>2]=8406;g=0;d=1;break}while(0);c[h>>2]=g;if((i|0)==1)c[k+20>>2]=g;g=c[e+12>>2]|0;if(g>>>0>=2){c[f>>2]=8192;d=1;g=1}c[k+104>>2]=g;h=k+11636|0;c[h>>2]=0;g=c[e+24>>2]|0;if(g>>>0>=2){c[f>>2]=8192;d=1}c[h>>2]=g;e=d;Sb=l;return e|0}case 2:if(!k){c[h>>2]=41722;c[h+4>>2]=2813;ej(41701,h)|0;fj(41750)|0;c[f+4>>2]=208;e=0;Sb=l;return e|0}else{c[g>>2]=41722;c[g+4>>2]=2808;ej(41701,g)|0;fj(41735)|0;fg(k)|0;e=0;Sb=l;return e|0}case 3:{c[k+68>>2]=2147483647;c[k+20>>2]=0;c[k+16>>2]=0;c[k+104>>2]=0;c[k+72>>2]=0;c[f+4>>2]=0;e=0;Sb=l;return e|0}case 4:{c[k+100>>2]=1;c[f+4>>2]=0;c[k+136>>2]=0;c[k+140>>2]=0;e=0;Sb=l;return e|0}case 5:{Bg(d,0,f)|0;e=0;Sb=l;return e|0}case 6:{d=f+4|0;c[d>>2]=0;g=c[e+16>>2]|0;if((g|0)<1){c[d>>2]=217;e=0;Sb=l;return e|0}if(!(Fg(c[e+12>>2]|0,g)|0)){e=0;Sb=l;return e|0}c[d>>2]=217;e=0;Sb=l;return e|0}case 775:{c[k+44>>2]=c[e+20>>2];c[k+40>>2]=c[e+16>>2];c[k+36>>2]=c[e+12>>2];c[f+4>>2]=0;c[k+48>>2]=0;e=0;Sb=l;return e|0}case 7:{c[k+24>>2]=1;c[f+4>>2]=0;e=0;Sb=l;return e|0}case 263:{Cg(d,0,f)|0;e=0;Sb=l;return e|0}case 264:{e=Dg(d,0,f)|0;Sb=l;return e|0}case 265:{d=c[k+272>>2]|0;if(!d){c[f+4>>2]=992;e=1;Sb=l;return e|0}if(a[d+34>>0]|0?a[d+28>>0]|0:0){b[f+8>>1]=b[d+3640>>1]|0;b[f+14>>1]=b[d+3646>>1]|0;b[f+10>>1]=b[d+3642>>1]|0;b[f+16>>1]=b[d+3648>>1]|0;b[f+12>>1]=b[d+3644>>1]|0;b[f+18>>1]=b[d+3650>>1]|0;b[f+20>>1]=b[d+3652>>1]|0;b[f+22>>1]=b[d+3654>>1]|0;c[f+24>>2]=c[d+3656>>2];c[f+28>>2]=c[d+3660>>2];e=0;Sb=l;return e|0}c[f+4>>2]=992;e=1;Sb=l;return e|0}case 8:{c[k+12308>>2]=c[e+12>>2];g=k+12312|0;c[g>>2]=c[e+16>>2];ig(k);eg(k);d=c[g>>2]|0;if((d+-1|0)>>>0<256){if(d&128|0)c[k+11604>>2]=1;d=d&127;c[g>>2]=d;if(d|0)c[k+11600>>2]=d}c[f+4>>2]=0;e=0;Sb=l;return e|0}default:{c[i>>2]=41797;c[i+4>>2]=3508;ej(41701,i)|0;fj(41808)|0;e=0;Sb=l;return e|0}}while(0);return 0}function Fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Sb;Sb=Sb+544|0;e=f+512|0;d=f;c[e>>2]=41870;c[e+4>>2]=41878;c[e+8>>2]=41889;c[e+12>>2]=41895;c[e+16>>2]=41902;c[e+20>>2]=41914;_i(d,511,41820,e)|0;e=(Yi(d,511)|0)+1|0;if(e>>>0>b>>>0){e=1;Sb=f;return e|0}Sk(a|0,d|0,e|0)|0;e=0;Sb=f;return e|0}function Gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Sb;Sb=Sb+32|0;n=o+24|0;m=o+16|0;h=o+8|0;g=o;k=o+28|0;a:do if((b|0)==0|(d|0)==0)e=d+4|0;else{l=b+4|0;f=c[l>>2]|0;e=d+4|0;c[e>>2]=0;b:do switch(f|0){case 6:case 8:case 9:case 11:case 10:case 7:{if(!a){c[e>>2]=8213;break a}if((c[a>>2]|0)!=12){c[e>>2]=8214;break a}if(!(c[a+8>>2]|0)){c[e>>2]=8215;break a}switch(f|0){case 7:{do switch(c[b+8>>2]|0){case 1:{if((c[b>>2]|0)!=28){c[e>>2]=8211;break a}break}case 3:break;case 0:{if((c[b>>2]|0)!=12){c[e>>2]=8211;break a}switch(c[d>>2]|0){case 556:case 564:break b;default:{}}c[e>>2]=8212;break a}case 5:{if((c[b>>2]|0)!=12){c[e>>2]=8211;break a}if((c[d>>2]|0)==532)break b;c[e>>2]=8212;break a}case 6:{if((c[b>>2]|0)!=20){c[e>>2]=8211;break a}if((c[d>>2]|0)==8)break b;c[e>>2]=8212;break a}case 4:{if((c[b>>2]|0)!=12){c[e>>2]=8211;break a}if((c[d>>2]|0)==8)break b;c[e>>2]=8212;break a}case 2:{if((c[b>>2]|0)!=12){c[e>>2]=8211;break a}if((c[d>>2]|0)==8)break b;c[e>>2]=8212;break a}case 775:{if((c[b>>2]|0)!=24){c[e>>2]=8211;break a}if((c[d>>2]|0)!=8){c[e>>2]=8212;break a}if(((c[b+12>>2]|0)>>>0<=4?(c[b+16>>2]|0)>=0:0)?(c[b+20>>2]|0)>>>0<=15:0)break b;c[e>>2]=8192;break a}case 263:{if((c[b>>2]|0)!=12){c[e>>2]=8211;break a}if((c[d>>2]|0)==80)break b;c[e>>2]=8212;break a}case 264:{if((c[b>>2]|0)!=12){c[e>>2]=8211;break a}if((c[d>>2]|0)==124)break b;c[e>>2]=8212;break a}case 265:{if((c[b>>2]|0)!=12){c[e>>2]=8211;break a}if((c[d>>2]|0)==32)break b;c[e>>2]=8212;break a}case 7:{if((c[b>>2]|0)!=16){c[e>>2]=8211;break a}if((c[d>>2]|0)!=8){c[e>>2]=8212;break a}if((c[b+12>>2]|0)==1)break b;c[e>>2]=8192;break a}case 8:{if((c[b>>2]|0)!=24){c[e>>2]=8211;break a}if((c[d>>2]|0)==8)break b;c[e>>2]=8212;break a}default:{c[e>>2]=8217;break a}}while(0);if((c[d>>2]|0)==8)break b;c[e>>2]=8212;break a}case 9:{c[e>>2]=0;if((c[b>>2]|0)!=524){c[e>>2]=8211;break a}if((c[d>>2]|0)==88)break b;c[e>>2]=8212;break a}case 10:{c[e>>2]=0;if((c[b>>2]|0)!=12){c[e>>2]=8211;break a}if((c[d>>2]|0)==8)break b;c[e>>2]=8212;break a}case 11:{c[e>>2]=0;if((c[b>>2]|0)!=33036){c[e>>2]=8211;break a}if((c[d>>2]|0)!=8){c[e>>2]=8212;break a}h=c[b+8>>2]|0;if(!h){c[e>>2]=8219;break a}i=b+12|0;g=0;c:while(1){j=c[i+(g*516|0)>>2]|0;if(!j){f=34;break}if((j|0)>0){f=0;do{if(!(c[i+(g*516|0)+4+(f<<2)>>2]|0)){f=39;break c}if(!(c[i+(g*516|0)+260+(f<<2)>>2]|0)){f=41;break c}f=f+1|0}while((f|0)<(j|0))}g=g+1|0;if(g>>>0>=h>>>0)break b}if((f|0)==34){c[e>>2]=8219;break a}else if((f|0)==39){c[e>>2]=8220;break a}else if((f|0)==41){c[e>>2]=8221;break a}break}case 8:{c[g>>2]=41923;c[g+4>>2]=414;ej(41701,g)|0;c[h>>2]=c[b+12>>2];ej(41947,h)|0;c[e>>2]=0;switch(c[b>>2]|0){case 20:case 536:break;default:{c[e>>2]=8211;break a}}switch(c[d>>2]|0){case 32:case 112:break b;default:{}}c[e>>2]=8212;break a}case 6:{c[e>>2]=0;if((c[b>>2]|0)!=8){c[e>>2]=8211;break a}if((c[d>>2]|0)==8)break b;c[e>>2]=8212;break a}default:{c[e>>2]=8217;break a}}break}case 5:{c[e>>2]=0;if((c[b>>2]|0)!=28){c[e>>2]=8211;break a}if((c[d>>2]|0)!=12){c[e>>2]=8212;break a}switch(c[b+8>>2]|0){case 12:case 11:case 9:case 5:case 1:break b;default:{}}c[e>>2]=8203;break a}default:{c[e>>2]=8216;break a}}while(0);switch(c[l>>2]|0){case 5:{c[e>>2]=0;c[k>>2]=0;n=(rg(k,b,d)|0)==1;f=c[k>>2]|0;if(n){do if(f|0)if(!(c[f+8>>2]|0)){ac[c[b+20>>2]&31](c[b+24>>2]|0,f);break}else{sg(f)|0;break}while(0);c[e>>2]=16384;e=1}else{fg(c[f+8>>2]|0)|0;e=0}b=e;Sb=o;return b|0}case 6:{b=c[a+8>>2]|0;c[e>>2]=0;gg(b)|0;sg(a)|0;b=0;Sb=o;return b|0}case 8:{b=Hg(a,b,d)|0;Sb=o;return b|0}case 11:{b=zg(a,b,d)|0;Sb=o;return b|0}case 10:{e=c[a+8>>2]|0;if(!(c[e+56>>2]|0)){b=0;Sb=o;return b|0}Yd(c[e+244>>2]|0,c[b+8>>2]|0,4)|0;b=0;Sb=o;return b|0}case 7:{b=Eg(a,b,d)|0;Sb=o;return b|0}case 9:{b=0;Sb=o;return b|0}default:{b=1;Sb=o;return b|0}}}while(0);c[m>>2]=41970;c[m+4>>2]=3554;ej(41701,m)|0;c[n>>2]=c[e>>2];ej(41994,n)|0;b=1;Sb=o;return b|0}function Hg(d,e,f){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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=Sb;Sb=Sb+32|0;N=R+8|0;K=R;Q=c[d+8>>2]|0;H=Q+144|0;c[H>>2]=0;d=c[f>>2]|0;g=f+4|0;h=g+108|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[f>>2]=d;if((c[Q+120>>2]|0)!=1){c[f+4>>2]=16592;f=1;Sb=R;return f|0}P=Q+136|0;if((c[P>>2]|0)>>>0>2147483646){c[f+4>>2]=17374;f=1;Sb=R;return f|0}m=Q+132|0;d=Q+100|0;if(!(c[m>>2]|0))if(!(c[d>>2]|0)){if(!(c[e+16>>2]|0)){c[f+4>>2]=8222;f=1;Sb=R;return f|0}d=c[e+12>>2]|0;if(d>>>0<5){c[f+8>>2]=d;c[f+4>>2]=8231;f=1;Sb=R;return f|0}else k=1}else k=0;else{c[d>>2]=1;k=0}O=Q+56|0;j=c[O>>2]|0;a:do if((j|0)==0?(c[Q+104>>2]|0)==0:0){g=c[e+20>>2]|0;if((g+-1|0)>>>0>63){c[f+4>>2]=8219;f=1;Sb=R;return f|0}h=e+24|0;i=e+280|0;d=0;while(1){if(!(c[h+(d<<2)>>2]|0)){i=19;break}if(!(c[i+(d<<2)>>2]|0)){i=21;break}d=d+1|0;if(d>>>0>=g>>>0)break a}if((i|0)==19){c[f+4>>2]=8220;f=1;Sb=R;return f|0}else if((i|0)==21){c[f+4>>2]=8221;f=1;Sb=R;return f|0}}while(0);c[Q+11584>>2]=e+20;c[Q+288>>2]=c[e+8>>2];if(!k){c[f+12>>2]=c[Q+8>>2];h=Q+12|0;c[f+16>>2]=c[h>>2];c[f+28>>2]=0;i=Q+268|0;P=ye(c[Q+264>>2]|0,i)|0;j=Q+272|0;c[j>>2]=P;do if(P|0){if(c[O>>2]|0?(c[Q+60>>2]|0)!=1:0)break;d=Q+5956|0;if(!(c[Q+6232>>2]|0))Ig(d,0);g=Jg(Q)|0;if(!g){Kg(Q,d,c[e+24>>2]|0,c[e+28>>2]|0,c[e+32>>2]|0,0,c[h>>2]|0)|0;Yd(c[Q+244>>2]|0,c[i>>2]|0,4)|0;break}else{f=g;Sb=R;return f|0}}while(0);Lg(Q,e,f);if(c[j>>2]|0){f=0;Sb=R;return f|0}if(!(c[m>>2]|0)){f=1;Sb=R;return f|0}fg(Q)|0;f=1;Sb=R;return f|0}if(((j|0)==1&(c[Q+104>>2]|0)==0?(l=c[Q+244>>2]|0,l|0):0)?(Xd(l)|0)==0:0){c[f+4>>2]=8232;f=1;Sb=R;return f|0}d=c[e+12>>2]|0;C=Q+164|0;c[C>>2]=d;D=Q+148|0;c[D>>2]=c[e+16>>2];E=Q+980|0;c[E>>2]=0;F=Q+84|0;c[F>>2]=0;G=Q+128|0;c[G>>2]=0;L=Q+272|0;c[L>>2]=0;M=Q+24|0;if((c[M>>2]|0)>1)d=c[C>>2]|0;b:do if((d|0)>4){j=Q+176|0;k=Q+644|0;l=Q+344|0;m=Q+360|0;n=Q+984|0;o=Q+172|0;p=Q+168|0;q=Q+184|0;s=Q+180|0;t=Q+152|0;u=Q+188|0;v=Q+160|0;w=Q+156|0;x=Q+376|0;y=Q+108|0;z=Q+11632|0;A=Q+112|0;B=f+4|0;h=d;c:while(1){if(c[G>>2]|0?(g=c[k>>2]|0,i=c[l>>2]&255,i=(r(b[(c[m>>2]|0)+4118>>1]|0,b[g+(i*1272|0)+874>>1]|0)|0)+(b[g+(i*1272|0)+872>>1]|0)|0,(c[n>>2]|0)==(i|0)):0)c[G>>2]=0;d=c[j>>2]|0;if(!d){d=c[o>>2]|0;c[p>>2]=d;g=c[q>>2]|0;c[s>>2]=g}else{c[p>>2]=d;g=c[u>>2]|0;c[s>>2]=g}c[t>>2]=0;Mg(c[D>>2]|0,d,h>>>0<g>>>0?h:g,N,K)|0;d=c[K>>2]|0;if((d|0)<((c[s>>2]|0)+-8|0)){i=(c[p>>2]|0)+d|0;h=i;a[h>>0]=0;a[h+1>>0]=0;a[h+2>>0]=0;a[h+3>>0]=0;i=i+4|0;a[i>>0]=0;a[i+1>>0]=0;a[i+2>>0]=0;a[i+3>>0]=0}i=c[N>>2]|0;c[v>>2]=i-d;c[w>>2]=i;Ng(x,c[p>>2]|0,d);d=Og(Q)|0;do if((c[F>>2]|0)!=0?(I=c[m>>2]|0,(c[n>>2]|0)!=(c[I+4128>>2]|0)):0){if(((c[C>>2]|0)-(c[N>>2]|0)|0)>=5?(c[y>>2]|0)==0:0){i=54;break}i=c[l>>2]|0;i=(i|0)<1?0:i+-1|0;c[l>>2]=i;h=c[k>>2]|0;i=i+1&255;b[h+(i*1272|0)+872>>1]=0;b[h+(i*1272|0)+874>>1]=b[I+4120>>1]|0;c[G>>2]=1;i=69}else i=54;while(0);d:do if((i|0)==54){i=0;switch(d|0){case 42:break c;case 986:{i=65;break c}case 987:{d=c[N>>2]|0;c[D>>2]=(c[D>>2]|0)+d;c[C>>2]=(c[C>>2]|0)-d;d=987;i=69;break d}default:{}}if(c[G>>2]|0){h=c[N>>2]|0;g=(c[C>>2]|0)-h|0;if((g|0)<5)i=59}else{h=c[N>>2]|0;g=(c[C>>2]|0)-h|0;i=59}if((i|0)==59){i=0;c[D>>2]=(c[D>>2]|0)+h;c[C>>2]=g}if(d|0)break c;if(c[E>>2]|0){d=0;break c}do if(!(c[z>>2]|0)){if(!(c[A>>2]|0))break;if(tg(Q)|0){i=112;break c}}while(0);d=0}while(0);h=c[C>>2]|0;if((h|0)<=4){i=d;break b}}if((i|0)==65)d=0;else if((i|0)==112){gg(Q)|0;c[H>>2]=43;c[B>>2]=c[B>>2]|16427;f=1;Sb=R;return f|0}i=d}else i=0;while(0);if((c[F>>2]|0)!=1){P=i;Lg(Q,e,f);Sb=R;return P|0}if(!(c[E>>2]|0)){c[G>>2]=1;I=Q+344|0;K=c[I>>2]|0;K=(K|0)<1?0:K+-1|0;c[I>>2]=K;I=c[Q+644>>2]|0;K=K+1&255;b[I+(K*1272|0)+872>>1]=-1;b[I+(K*1272|0)+874>>1]=-1;Pg(Q)|0;if(!(c[E>>2]|0))J(42011,42052,731,42076);if((c[F>>2]|0)!=1){P=i;Lg(Q,e,f);Sb=R;return P|0}}w=Q+360|0;g=c[w>>2]|0;c[Q+124>>2]=1;d=c[M>>2]|0;do if((d|0)<=1){if(c[L>>2]|0){if(c[O>>2]|0?(c[Q+60>>2]|0)!=1:0)break;g=Q+5956|0;h=Q+11576|0;d=(c[Q+12>>2]|0)-(c[h>>2]|0)|0;i=Q+11580|0;c[i>>2]=d;if(!(c[Q+6232>>2]|0)){Ig(g,0);d=c[i>>2]|0}if((d|0)<0){c[i>>2]=0;d=0}N=Kg(Q,g,c[e+24>>2]|0,c[e+28>>2]|0,c[e+32>>2]|0,c[h>>2]|0,d)|0;c[h>>2]=(c[h>>2]|0)+(c[i>>2]|0);i=N}}else{d=d+-1|0;e:do if(c[L>>2]|0){if(c[O>>2]|0?(c[Q+60>>2]|0)!=1:0)break;if(c[Q+11604>>2]|0?(c[Q+268>>2]|0)!=(c[Q+5956+(d*692|0)+228>>2]|0):0)break;h=g+4120|0;if((b[h>>1]|0)>0){i=N+8|0;j=N+4|0;k=N+6|0;l=N+10|0;m=N+12|0;n=Q+656|0;g=0;while(1){c[N>>2]=1;b[i>>1]=0;b[j>>1]=0;b[k>>1]=g;b[l>>1]=0;c[m>>2]=0;d=Qg(c[n>>2]|0,N,16,1)|0;g=g+1|0;if(d|0)break;if((g|0)>=(b[h>>1]|0))break e}Sb=R;return d|0}}while(0);i=Rg(c[Q+656>>2]|0)|0;d=(c[M>>2]|0)+-1|0;f:do if(!(Sg(c[Q+5956+(d*692|0)+136>>2]|0,N,16,1)|0)){m=N+8|0;n=N+4|0;o=N+6|0;p=N+10|0;q=N+12|0;s=Q+12|0;t=e+24|0;u=e+28|0;v=e+32|0;while(1){k=Q+5956+(d*692|0)|0;c[Q+5956+(d*692|0)+140>>2]=b[m>>1];c[Q+5956+(d*692|0)+4>>2]=b[n>>1];g=b[o>>1]|0;c[Q+5956+(d*692|0)+8>>2]=g;c[Q+5956+(d*692|0)+32>>2]=b[p>>1];switch(c[N>>2]|0){case 0:{Ig(k,c[q>>2]|0);Tg(k)|0;break}case 1:{h=(c[w>>2]|0)+4116|0;j=a[h>>0]|0;l=1<<j;if(!(c[Q+5956+(d*692|0)+276>>2]|0)){Ig(k,0);g=b[o>>1]|0;d=a[h>>0]|0}else d=j;I=g<<d;K=(c[s>>2]|0)-I|0;K=(l|0)<(K|0)?l:K;Kg(Q,k,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,I,(K|0)>0?K:0)|0;break}default:{}}d=(c[M>>2]|0)+-1|0;if(Sg(c[Q+5956+(d*692|0)+136>>2]|0,N,16,1)|0)break f}}while(0)}while(0);Zd(c[Q+224>>2]|0,c[Q+6080>>2]|0,2)|0;d=Q+244|0;N=Q+6184|0;Zd(c[d>>2]|0,c[N>>2]|0,2)|0;Zd(c[d>>2]|0,c[N>>2]|0,4)|0;Ae(c[Q+276>>2]|0,c[Q+6180>>2]|0,c[N>>2]|0)|0;if((c[O>>2]|0)==0?c[L>>2]|0:0)Yd(c[d>>2]|0,c[Q+268>>2]|0,4)|0;d=c[M>>2]|0;if((d|0)>1){h=0;do{g=Q+11524+(h<<2)|0;if(c[g>>2]|0){Zf(c[Q+11492+(h<<2)>>2]|0,0)|0;c[g>>2]=0;d=c[M>>2]|0}h=h+1|0}while((h|0)<(d+-1|0))}c[P>>2]=(c[P>>2]|0)+1;P=i;Lg(Q,e,f);Sb=R;return P|0}function Ig(f,g){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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=Sb;Sb=Sb+16|0;E=F;A=c[f>>2]|0;w=c[A+304>>2]|0;y=c[f+32>>2]&255;c[f+48>>2]=w+(y*1272|0);v=c[A+300>>2]|0;x=a[w+(y*1272|0)+73>>0]|0;j=v+(x*68|0)|0;c[f+40>>2]=j;C=c[A+296>>2]|0;n=a[v+(x*68|0)+9>>0]|0;D=C+(n*8976|0)|0;c[f+44>>2]=D;c[f+276>>2]=1;z=C+(n*8976|0)+4116|0;B=(1<<a[z>>0]|0)/4|0;B=r(B,B)|0;n=C+(n*8976|0)+4118|0;C=b[n>>1]|0;c[f+660>>2]=c[f+672>>2];l=f+4|0;s=f+8|0;t=f+12|0;u=f+16|0;lh(j,D,c[l>>2]|0,c[s>>2]|0,t,u,E)|0;D=c[v+(x*68|0)+4>>2]|0;E=c[E>>2]|0;j=D+(E*6|0)|0;c[f+28>>2]=j;c[f+36>>2]=E;if(!(a[v+(x*68|0)+27>>0]|0)){j=b[w+(y*1272|0)+1264>>1]|0;h=c[l>>2]|0;l=h-(b[w+(y*1272|0)+1262>>1]|0)|0;m=f+20|0;c[m>>2]=l;i=c[s>>2]|0;j=i-j|0;k=f+24|0;c[k>>2]=j;if((l|0)<0){c[m>>2]=l+(b[n>>1]|0);c[k>>2]=j+-1}}else{k=b[w+(y*1272|0)+872>>1]|0;o=b[w+(y*1272|0)+874>>1]|0;i=b[n>>1]|0;p=(r(i,o)|0)+k|0;x=d[j>>0]|0;v=d[D+(E*6|0)+1>>0]|0;q=(r(v,i)|0)+x|0;h=(k|0)!=(x|0);do if(h|(o|0)==(v|0)){o=(e[((E|0)==0?j:j+-6|0)+2>>1]|0)+k|0;if((o|0)>=(i|0)?((o|0)%(i|0)|0|0)==(x|0):0){m=0;break}m=h&1}else m=1;while(0);o=b[w+(y*1272|0)+1262>>1]|0;n=b[w+(y*1272|0)+1264>>1]|0;h=c[l>>2]|0;do if((h|0)<(o|0)){j=(m|0)!=0;if(!((p|0)<(q|0)&j))i=e[D+(E*6|0)+2>>1]|0;if(j){i=h-o+i|0;break}else{i=h-x|0;break}}else i=h-o|0;while(0);c[f+20>>2]=i;i=c[s>>2]|0;j=i-n|0;k=f+24|0;c[k>>2]=j;do if((c[t>>2]|0)==0?(c[u>>2]|0)==0:0){if(a[w+(y*1272|0)+75>>0]|0){c[f+20>>2]=0;c[k>>2]=0;j=0;break}if((p|0)<(q|0)){j=v-n|0;c[k>>2]=j;if((o|0)>(x|0)&((v|0)>=(n|0)&(m|0)!=0)){j=j+-1|0;c[k>>2]=j}}}while(0);if(((o|0)!=(x|0)?!((o|0)<(x|0)|(j|0)==0):0)?((e[D+(E*6|0)+2>>1]|0)+x|0)>(o|0):0)c[k>>2]=j+-1}y=(r(i,C)|0)+h|0;C=(1<<a[z>>0]|0)/4|0;c[f+72>>2]=(c[f+88>>2]|0)+(r(r(C,y)|0,C)|0);c[f+68>>2]=(c[f+116>>2]|0)+(c[(c[f+80>>2]|0)+(((c[A+24>>2]|0)==1?(y|0)%142560|0:y)<<2)>>2]<<2);c[f+64>>2]=(c[f+60>>2]|0)+g;C=c[(c[f+84>>2]|0)+(y<<2)>>2]|0;c[f+120>>2]=(c[f+92>>2]|0)+(r(B,y)|0);c[f+76>>2]=(c[f+96>>2]|0)+(C<<4);C=c[A+11600>>2]|0;E=e[D+(E*6|0)+2>>1]|0;c[f+688>>2]=C>>>0<E>>>0?C:E;Sb=F;return}function Jg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=Sb;Sb=Sb+256|0;g=i;h=c[a+11584>>2]|0;if(c[a+56>>2]|0){h=0;Sb=i;return h|0}e=c[a+8>>2]|0;d=c[a+12>>2]|0;b=c[a+16>>2]|0;e=(b|0)>(e|0)?b:e;b=c[a+60>>2]|0;switch(b|0){case 1:{a=3;f=5;break}case 5:{a=1;f=6;break}case 9:{a=1;f=7;break}case 13:{a=1;f=8;break}case 12:case 11:{a=2;f=4;break}default:{a=0;f=4}}a:do if((f|0)==4){switch(b|0){case 1:{f=5;break a}case 5:{f=6;break a}case 9:{f=7;break a}case 13:{f=8;break a}case 12:case 11:break;default:{b=a;a=0;break a}}e=r(e,d)|0;c[g>>2]=e;c[g+4>>2]=e>>>1;c[g+8>>2]=0;b=a;a=e}while(0);if((f|0)==5){f=r(e,d)|0;c[g>>2]=f;b=f>>>2;c[g+4>>2]=b;c[g+8>>2]=b;b=a;a=f}else if((f|0)==6){f=(r(e,d)|0)<<1;c[g>>2]=f;c[g+8>>2]=0;c[g+4>>2]=0;b=a;a=f}else if((f|0)==7){f=(r(e,d)|0)<<1;c[g>>2]=f;c[g+8>>2]=0;c[g+4>>2]=0;b=a;a=f}else if((f|0)==8){f=(r(e,d)|0)<<2;c[g>>2]=f;c[g+8>>2]=0;c[g+4>>2]=0;b=a;a=f}if((c[h>>2]|0)>>>0<b>>>0){h=1;Sb=i;return h|0}if(!b){h=0;Sb=i;return h|0}if((c[h+260>>2]|0)>>>0<a>>>0){h=1;Sb=i;return h|0}a=1;while(1){if(a>>>0>=b>>>0){a=0;f=16;break}if((c[h+260+(a<<2)>>2]|0)>>>0<(c[g+(a<<2)>>2]|0)>>>0){a=1;f=16;break}else a=a+1|0}if((f|0)==16){Sb=i;return a|0}return 0}function Kg(e,f,g,h,i,j,k){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0;if(!k)return 0;v=c[f+44>>2]|0;G=(a[v+15>>0]|0)==1?2:1;t=c[e+272>>2]|0;o=c[t>>2]|0;K=e+20|0;n=c[K>>2]|0;z=v+8|0;u=b[z>>1]|0;M=r(n,u<<16>>16)|0;B=b[v+4>>1]|0;m=o+(r(M+B|0,G)|0)|0;A=(c[e+64>>2]|0)==11;L=A&1;H=(c[e+56>>2]|0)==1;m=m+(r(n,j)|0)|0;s=(j|0)/2|0;M=(c[t+4>>2]|0)+((B<<1)+M)+(r(n,s)|0)|0;a:do if((H?(c[e+60>>2]|0)==1:0)?(p=c[e+45340>>2]|0,(p|0)>0):0){q=(n*80|0)+80|0;l=0;while(1){if((o-(c[e+12316+(l*516|0)+4>>2]|0)|0)==(q|0))break;l=l+1|0;if((l|0)>=(p|0))break a}i=(n*20|0)+40|0;h=(c[e+12316+(l*516|0)+8>>2]|0)+i|0;i=(c[e+12316+(l*516|0)+12>>2]|0)+i|0}while(0);B=e+16|0;p=c[B>>2]|0;l=r(p,j)|0;q=g+(l<<1)|0;t=g+(l<<2)|0;l=g+l|0;g=r(p,s)|0;p=h+g|0;g=(g|0)/2|0;s=h+g|0;g=i+g|0;b:do if((((c[e+100>>2]|0)==0?(c[e+268>>2]|0)==(c[f+228>>2]|0):0)?(c[e+24>>2]|0)>1:0)?(C=v+4116|0,D=v+4120|0,E=v+4118|0,F=e+208|0,w=a[C>>0]|0,x=1<<w,y=b[E>>1]|0,y<<16>>16>0):0){n=(r(G,u<<16>>16)|0)+j|0;h=b[D>>1]|0;n=n+((x|0)<(k|0)?k:x)>>w;o=y<<16>>16;while(1){i=n+1|0;h=h+-1|0;h=r((i|0)<(h|0)?i:h,o)|0;h=(c[F>>2]|0)+h|0;i=0;n=1;do{n=n&d[h+i>>0];i=i+1|0}while((i|0)!=(o|0));if(n|0)break b;cg();n=a[C>>0]|0;i=1<<n;n=(r(G,b[z>>1]|0)|0)+j+((i|0)<(k|0)?k:i)>>n;i=b[E>>1]|0;if(i<<16>>16<=0)break;else{h=b[D>>1]|0;o=i<<16>>16}}}while(0);switch(c[e+60>>2]|0){case 12:case 11:{K=c[K>>2]|0;L=c[B>>2]|0;ic[c[e+12292>>2]&7](m,M,l,p,c[e+8>>2]|0,k,K,K,L,L);return 0}case 1:{n=e+8|0;if(!H?(I=c[n>>2]|0,(k|0)>0):0){i=0;do{Sk(l|0,m|0,I|0)|0;l=l+(c[B>>2]|0)|0;m=m+(c[K>>2]|0)|0;i=i+1|0}while((i|0)!=(k|0))}I=c[K>>2]|0;K=c[B>>2]|0;lc[c[e+12296>>2]&1](m,M,l,s,g,c[n>>2]|0,k,I,I,K,(K|0)/2|0,L,1);return 0}case 9:{K=c[K>>2]|0;hc[c[e+12288>>2]&15](m,M,q,c[e+8>>2]|0,k,K,K,c[B>>2]|0,L);return 0}case 13:{if(!A)J(43573,43591,889,43617);K=c[K>>2]|0;hc[c[e+12284>>2]&15](m,M,t,c[e+8>>2]|0,k,K,K,c[B>>2]|0,L);return 0}default:return 0}return 0}function Lg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=c[b+144>>2]|0;switch(f|0){case 981:case 213:case 212:case 211:case 210:case 208:case 982:{f=f|16384;break}default:{}}p=e+4|0;c[p>>2]=f;o=e+8|0;c[o>>2]=(c[d+12>>2]|0)-(c[b+164>>2]|0);h=(c[b+112>>2]|0)==0;if(h){f=0;g=0}else{f=c[b+12>>2]|0;g=c[b+8>>2]|0}c[e+12>>2]=g;c[e+16>>2]=f;k=e+20|0;c[k>>2]=c[b+76>>2];l=e+24|0;c[l>>2]=c[b+84>>2];c[e+28>>2]=0;m=e+32|0;c[m>>2]=0;n=e+36|0;c[n>>2]=1;if((!h?(i=c[b+636>>2]|0,j=c[b+11596>>2]|0,(a[i+(j*8976|0)+4167>>0]|0)==0):0)?(a[i+(j*8976|0)+4168>>0]|0)==1:0)c[n>>2]=0;f=e+40|0;q=c[b+60>>2]|0;c[e+44>>2]=q;c[f>>2]=1;g=e+100|0;c[g>>2]=0;h=e+104|0;c[h>>2]=-1;c[e+108>>2]=c[b+268>>2];i=b+100|0;j=(c[i>>2]|0)==0;if(!j){c[o>>2]=0;c[f>>2]=0;c[k>>2]=2147483647;c[l>>2]=0}f=c[b+272>>2]|0;if(!f){if(j)return;c[p>>2]=215;c[i>>2]=0;return}a:do if(a[f+28>>0]|0?a[f+31>>0]|0:0)switch(c[f+1112>>2]|0){case 1:{c[g>>2]=0;c[n>>2]=0;break a}case 2:{c[g>>2]=1;c[n>>2]=0;break a}default:{c[g>>2]=0;c[n>>2]=1;break a}}while(0);c[m>>2]=1;c[h>>2]=c[f+16>>2];if(j?(c[b+980>>2]|0)==0:0)c[m>>2]=0;l=c[b+8>>2]|0;c[e+64>>2]=l;m=c[b+12>>2]|0;c[e+68>>2]=m;if(!(c[b+56>>2]|0)){c[e+52>>2]=c[d+24>>2];c[e+56>>2]=c[d+28>>2];c[e+60>>2]=c[d+32>>2];f=b+16|0}else{k=c[f>>2]|0;c[e+52>>2]=k;if((q|0)==1){h=c[b+45340>>2]|0;b:do if((h|0)>0){i=c[b+20>>2]|0;j=(i*80|0)+80|0;g=0;while(1){if((k-(c[b+12316+(g*516|0)+4>>2]|0)|0)==(j|0))break;f=g+1|0;if((f|0)<(h|0))g=f;else{f=0;g=0;break b}}d=(i*20|0)+40|0;f=(c[b+12316+(g*516|0)+12>>2]|0)+d|0;g=(c[b+12316+(g*516|0)+8>>2]|0)+d|0}else{f=0;g=0}while(0);c[e+56>>2]=g}else{c[e+56>>2]=c[f+4>>2];f=0}c[e+60>>2]=f;f=b+20|0}f=c[f>>2]|0;c[e+72>>2]=f;switch(q|0){case 11:case 12:{c[e+84>>2]=f;c[e+96>>2]=0;c[e+76>>2]=l;c[e+88>>2]=0;c[e+80>>2]=m>>>1;c[e+92>>2]=0;return}case 1:{b=f>>>1;c[e+84>>2]=b;c[e+96>>2]=b;b=l>>>1;c[e+76>>2]=b;c[e+88>>2]=b;b=m>>>1;c[e+80>>2]=b;c[e+92>>2]=b;return}default:return}}function Mg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=e+-1|0;a:do if((e|0)>1){i=0;j=0;h=0;b:while(1){l=h+1|0;o=a[b+h>>0]|0;k=j+1|0;a[d+j>>0]=o;c:do if(!(o<<24>>24)){j=i+1|0;if((i|0)>0){switch(a[b+l>>0]|0){case 1:break b;case 3:break;default:{h=l;i=j;break c}}h=h+2|0;i=0}else{h=l;i=j}}else{h=l;i=0}while(0);if((h|0)<(m|0))j=k;else{l=i;n=9;break a}}i=k-j|0;h=l-j|0}else{h=0;l=0;k=0;n=9}while(0);d:do if((n|0)==9)if((h|0)<(e|0)){j=h+1|0;i=a[b+h>>0]|0;if((l|0)<=1){a[d+k>>0]=i;i=k+1|0;h=j;break}switch(i<<24>>24){case 1:{i=k;h=j-l|0;break d}case 3:{i=k+-1|0;h=h+2|0;break d}default:{i=k;h=j;break d}}}else i=k;while(0);c[f>>2]=h;c[g>>2]=i;return 0}function Ng(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Rk(c[b>>2]|0)|0;e=Rk(c[b+4>>2]|0)|0;c[a+4>>2]=0;c[a>>2]=b;c[a+8>>2]=b+8;c[a+12>>2]=f;c[a+16>>2]=e;c[a+20>>2]=b+d+8;return}function Og(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=Sb;Sb=Sb+16|0;g=i;h=b+376|0;Fh(h,1)|0;d=(Fh(h,6)|0)&255;a[g>>0]=d;Fh(h,6)|0;a[g+1>>0]=(Fh(h,3)|0)+255;h=b+128|0;if(c[h>>2]|0){d=a[(c[b+648>>2]|0)+1260>>0]|0;a[g>>0]=d}d=d<<24>>24;switch(d|0){case 18:case 17:case 16:{e=0;f=6;break}case 20:case 19:{e=1;f=6;break}case 21:{c[b+28>>2]=(c[b+32>>2]|0)==0&1;break}case 9:case 8:case 7:case 6:case 5:case 4:case 3:case 2:case 1:case 0:break;case 36:{c[b+32>>2]=1;b=0;Sb=i;return b|0}case 33:{if(((c[b+104>>2]|0)==0?(c[b+108>>2]=1,c[b+112>>2]|0):0)?c[b+84>>2]|0:0){b=0;Sb=i;return b|0}d=Qh(b)|0;if(!d)Rh(b,a[(c[b+296>>2]|0)+143628>>0]|0,16);c[b+144>>2]=d;b=d;Sb=i;return b|0}case 34:{if(((c[b+104>>2]|0)==0?(c[b+108>>2]=1,c[b+116>>2]|0):0)?c[b+84>>2]|0:0){b=0;Sb=i;return b|0}d=Sh(b)|0;if(!d)Th(b,a[(c[b+300>>2]|0)+4360>>0]|0,64);c[b+144>>2]=d;b=d;Sb=i;return b|0}case 40:case 39:{if((c[b+104>>2]|0)==1){b=986;Sb=i;return b|0}b=Uh(b,g)|0;Sb=i;return b|0}default:{b=0;Sb=i;return b|0}}if((f|0)==6?(c[b+28>>2]=e,(d+-16|0)>>>0>=5):0){b=0;Sb=i;return b|0}if(c[b+104>>2]|0){b=986;Sb=i;return b|0}if(!(c[b+112>>2]|0)){b=980;Sb=i;return b|0}if(!(c[b+116>>2]|0)){b=980;Sb=i;return b|0}c[b+108>>2]=0;c[b+32>>2]=0;d=Ph(b,g)|0;if(d|0){b=d;Sb=i;return b|0}if(((a[g>>0]&-2)<<24>>24==8?(c[b+28>>2]|0)==0:0)?(c[h>>2]|0)==0:0){b=0;Sb=i;return b|0}b=Pg(b)|0;Sb=i;return b|0}function Pg(f){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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,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,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0;Zb=Sb;Sb=Sb+64|0;Gb=Zb+56|0;Yb=Zb;g=f+316|0;p=c[f+644>>2]|0;n=c[f+640>>2]|0;Vb=c[f+636>>2]|0;Wb=f+344|0;Rb=c[Wb>>2]|0;o=Rb&255;Hb=p+(o*1272|0)|0;m=a[p+(o*1272|0)+73>>0]|0;Ib=n+(m*68|0)|0;Ub=a[n+(m*68|0)+9>>0]|0;Jb=Vb+(Ub*8976|0)|0;if(Rb|0?(a[p+(o*1272|0)+75>>0]|0)==0:0)c[f+348>>2]=o;Kb=Vb+(Ub*8976|0)+4116|0;Lb=a[Kb>>0]|0;Mb=1<<Lb;Nb=(Mb|0)/4|0;Ob=r(Nb,Nb)|0;Pb=Vb+(Ub*8976|0)+4118|0;Qb=b[Pb>>1]|0;Rb=f+128|0;if(!(c[Rb>>2]|0)){Db=b[p+(o*1272|0)+872>>1]|0;c[g>>2]=Db;h=b[p+(o*1272|0)+874>>1]|0;Eb=f+320|0;c[Eb>>2]=h;Fb=g;g=Db}else{h=f+320|0;Eb=h;Fb=g;g=c[g>>2]|0;h=c[h>>2]|0}zb=f+356|0;c[zb>>2]=Ib;Ab=f+360|0;c[Ab>>2]=Jb;Bb=f+648|0;c[Bb>>2]=Hb;Cb=f+324|0;Db=f+328|0;lh(Ib,Jb,g,h,Cb,Db,Gb)|0;wb=n+(m*68|0)+4|0;vb=c[Gb>>2]|0;q=(c[wb>>2]|0)+(vb*6|0)|0;xb=f+340|0;c[xb>>2]=q;yb=f+352|0;c[yb>>2]=vb;a:do if(!(c[Rb>>2]|0)){switch(a[p+(o*1272|0)+75>>0]|0){case 1:break;case 0:{c[f+332>>2]=0;c[f+336>>2]=0;break a}default:break a}if((c[Cb>>2]|0)==0?(c[Db>>2]|0)==0:0){c[f+332>>2]=0;c[f+336>>2]=0}}while(0);do if((c[Eb>>2]|0)==0?(c[Fb>>2]|0)==0:0){g=mh(f)|0;if(!g){c[c[f+592>>2]>>2]=0;c[c[f+596>>2]>>2]=0;c[f+348>>2]=0;c[Cb>>2]=0;c[Db>>2]=0;break}else{Yb=g;Sb=Zb;return Yb|0}}while(0);j=c[f+1452>>2]|0;k=p+(o*1272|0)+161|0;if((a[k>>0]|0)>0){g=0;do{vb=c[p+(o*1272|0)+1068+(g*12|0)>>2]|0;c[j+20500+((c[Wb>>2]&255)<<6)+(g<<2)>>2]=c[vb+8>>2];a[j+36884+((c[Wb>>2]&255)<<4)+g>>0]=a[vb+20>>0]|0;g=g+1|0}while((g|0)<(a[k>>0]|0))}i=p+(o*1272|0)+160|0;g=a[i>>0]|0;if(g<<24>>24){if(g<<24>>24>0){h=0;do{g=c[p+(o*1272|0)+876+(h*12|0)>>2]|0;c[j+20+((c[Wb>>2]&255)<<6)+(h<<2)>>2]=c[g+8>>2];a[j+16404+((c[Wb>>2]&255)<<4)+h>>0]=a[g+20>>0]|0;h=h+1|0;g=a[i>>0]|0}while((h|0)<(g<<24>>24|0))}}else g=0;vb=f+332|0;if(!((c[vb>>2]|0)!=0?(c[f+336>>2]|0)!=0:0)){i=c[p+(o*1272|0)+84>>2]|0;b:do if(g<<24>>24>0){h=g<<24>>24;g=0;while(1){if((c[(c[p+(o*1272|0)+876+(g*12|0)+4>>2]|0)+16>>2]|0)>(i|0)){g=0;break b}g=g+1|0;if((g|0)>=(h|0)){ub=30;break}}}else ub=30;while(0);c:do if((ub|0)==30)if((a[p+(o*1272|0)+76>>0]|0)==0?(l=a[k>>0]|0,l<<24>>24>0):0){h=l<<24>>24;g=0;while(1){if((c[(c[p+(o*1272|0)+1068+(g*12|0)+4>>2]|0)+16>>2]|0)>(i|0)){g=0;break c}g=g+1|0;if((g|0)>=(h|0)){g=1;break}}}else g=1;while(0);a[p+(o*1272|0)+1261>>0]=g}tb=p+(o*1272|0)+76|0;g=a[tb>>0]|0;do if(g<<24>>24!=2){h=(a[p+(o*1272|0)+163>>0]|0)!=0;if(g<<24>>24==1){pb=h?2:1;break}else{pb=h?1:2;break}}else pb=0;while(0);qb=p+(o*1272|0)+167|0;rb=n+(m*68|0)+14|0;i=(a[rb>>0]|0)+(a[qb>>0]|0)|0;i=(i|0)>0?i:0;i=(i|0)<51?i:51;sb=p+(o*1272|0)+75|0;g=a[sb>>0]|0;switch(g<<24>>24){case 0:{ub=43;break}case 1:{if((c[Cb>>2]|0)==0?(c[Db>>2]|0)==0:0)ub=43;break}default:{}}if((ub|0)==43)c[f+436>>2]=i;d:do if(!(c[Rb>>2]|0)){do if(g<<24>>24==1){if((c[Cb>>2]|0)==0?(c[Db>>2]|0)==0:0)break;g=n+(m*68|0)+28|0;if(a[g>>0]|0?(c[Fb>>2]|0)==0:0){h=0;Pa=g;break d}nh(f+660|0,f+376|0)|0;h=0;Pa=g;break d}while(0);g=n+(m*68|0)+28|0;if(a[g>>0]|0?(c[Fb>>2]|0)==0:0){h=0;Pa=g;break}if(!(oh(f+660|0,f+376|0,i,pb,576+(pb*8008|0)+(i*154|0)|0)|0)){h=0;Pa=g}else{c[Rb>>2]=1;h=1;Pa=g}}else{h=0;Pa=n+(m*68|0)+28|0}while(0);ob=f+24|0;Qa=f+444|0;Ra=f+588|0;Sa=f+408|0;Ta=f+428|0;Ua=f+988|0;Va=f+1044|0;Wa=f+420|0;Xa=f+348|0;Ya=f+1444|0;Za=Yb+8|0;_a=Yb+4|0;$a=Yb+6|0;ab=Yb+10|0;bb=f+404|0;cb=f+400|0;db=Yb+12|0;eb=f+656|0;fb=f+5956|0;gb=f+6096|0;hb=f+5960|0;ib=f+5964|0;jb=f+5988|0;kb=p+(o*1272|0)+156|0;lb=f+568|0;mb=f+416|0;nb=f+424|0;ya=n+(m*68|0)+27|0;za=f+336|0;Aa=f+436|0;Ba=p+(o*1272|0)+872|0;Ca=p+(o*1272|0)+874|0;Da=p+(o*1272|0)+157|0;Ea=f+660|0;Fa=f+376|0;Ga=f+596|0;Ha=f+1456|0;Ia=f+432|0;Ja=f+822|0;Ka=f+668|0;La=f+412|0;Ma=f+88|0;Na=f+1460|0;Oa=f+592|0;z=p+(o*1272|0)+171|0;A=Vb+(Ub*8976|0)+4120|0;xa=f+204|0;B=f+1048|0;C=f+380|0;D=f+984|0;F=Hb+1272|0;E=F+872|0;F=F+874|0;G=f+396|0;H=f+384|0;I=Yb+4|0;J=Yb+8|0;K=Yb+12|0;L=Yb+16|0;M=f+580|0;N=Yb+20|0;O=Yb+24|0;P=Yb+28|0;Q=Yb+36|0;R=Yb+32|0;S=f+576|0;T=Yb+40|0;U=Yb+44|0;V=Yb+48|0;W=Yb+52|0;X=Yb+53|0;Y=Yb+54|0;Z=Yb+55|0;_=f+5984|0;$=Vb+(Ub*8976|0)+2|0;aa=Nb+-1|0;ba=(Mb|0)>3;ca=f+992|0;da=f+996|0;ea=f+1008|0;fa=f+1012|0;ga=f+1016|0;ha=f+1020|0;ia=f+1024|0;ja=f+1028|0;ka=f+1032|0;la=f+1052|0;ma=f+1064|0;na=f+1072|0;oa=f+1076|0;pa=f+1080|0;qa=f+1084|0;ra=f+1004|0;sa=f+1e3|0;ta=(Mb<<Lb|0)/128|0;ua=f+1036|0;va=f+1040|0;wa=((r((Mb|0)/8|0,Nb)|0)/8|0)<<1;y=q;e:while(1){g=c[ob>>2]|0;if((g|0)==1?(((r(c[Eb>>2]|0,b[Pb>>1]|0)|0)+(c[Fb>>2]|0)|0)%142560|0|0)==0:0){c[Sa>>2]=c[Ra>>2];c[Ta>>2]=0}c[Qa>>2]=0;do if(!(c[Cb>>2]|0)){if(!(c[Db>>2]|0)){if((a[y>>0]|0)==0?(a[y+1>>0]|0)==0:0)g=i;else ub=64;do if((ub|0)==64){if((c[vb>>2]|0)==0?(c[za>>2]|0)==0:0){g=i;break}g=(a[rb>>0]|0)+(a[qb>>0]|0)|0;g=(g|0)>0?g:0;g=(g|0)<51?g:51;c[Aa>>2]=g;lh(Ib,Jb,c[Fb>>2]|0,c[Eb>>2]|0,Cb,Db,Gb)|0;i=c[Gb>>2]|0;c[xb>>2]=(c[wb>>2]|0)+(i*6|0);c[yb>>2]=i;i=d[y>>0]|0;j=d[y+1>>0]|0;k=b[Pb>>1]|0;ub=(r(k,j)|0)+i|0;l=b[Ba>>1]|0;m=b[Ca>>1]|0;do if(((r(m,k)|0)+l|0)<(ub|0)){n=j-m|0;c[za>>2]=n;if((((e[y+-4>>1]|0)+l|0)%(k|0)|0|0)==(i|0))break;if(!((l|0)>(i|0)&(j|0)>=(m|0)))break;c[za>>2]=n+-1}while(0);if(!(c[Rb>>2]|0)){if(!(oh(Ea,Fa,g,pb,576+(pb*8008|0)+(g*154|0)|0)|0))break;c[Rb>>2]=1;h=1}}while(0);if(c[Cb>>2]|0){i=g;break}i=g;g=c[ob>>2]|0}if((g|0)>1){c[Yb>>2]=0;b[Za>>1]=b[y+2>>1]|0;b[_a>>1]=c[Fb>>2];b[$a>>1]=c[Eb>>2];b[ab>>1]=c[Wb>>2];c[db>>2]=(c[bb>>2]|0)-(c[cb>>2]|0);g=Qg(c[eb>>2]|0,Yb,16,1)|0;if(!g)break;else{ub=219;break e}}else{ub=(c[bb>>2]|0)-(c[cb>>2]|0)|0;c[gb>>2]=e[y+2>>1];c[hb>>2]=c[Fb>>2];c[ib>>2]=c[Eb>>2];c[jb>>2]=c[Wb>>2];Ig(fb,ub);break}}while(0);do if((a[Pa>>0]|0)!=0?(c[Fb>>2]|0)==0:0)if(!(c[Rb>>2]|0)){if(!(c[za>>2]|0))g=(a[sb>>0]|0)==0&1;else g=0;ub=(b[Pb>>1]|0)!=1;c[Aa>>2]=i;if((g|0)==0&ub){if(!(oh(Ea,Fa,i,pb,Ja)|0)){ub=88;break}c[Rb>>2]=1;g=1;ub=92;break}else{if(!(oh(Ea,Fa,i,pb,576+(pb*8008|0)+(i*154|0)|0)|0)){ub=88;break}c[Rb>>2]=1;g=1;ub=92;break}}else{g=h;ub=92}else ub=88;while(0);do if((ub|0)==88){ub=0;if(!(c[Rb>>2]|0)){if((a[kb>>0]|0)==0?(a[Da>>0]|0)==0:0){g=h;break}ph(f)|0;g=h}else{g=h;ub=92}}while(0);if((ub|0)==92){ub=0;x=(c[Ya>>2]|0)+((c[Fb>>2]|0)*12|0)+((r(c[Eb>>2]|0,b[Pb>>1]|0)|0)*12|0)|0;c[x>>2]=c[x>>2]&-8;w=x+4|0;c[w>>2]=c[w>>2]&-8;x=x+8|0;c[x>>2]=c[x>>2]&-8}x=(r(c[Eb>>2]|0,b[Pb>>1]|0)|0)+(c[Fb>>2]|0)|0;w=(c[Va>>2]|0)+(x>>3)|0;a[w>>0]=1<<(x&7)|d[w>>0];b[(c[Wa>>2]|0)+(x<<1)>>1]=c[Xa>>2];if(!(c[Rb>>2]|0)){h=c[Sa>>2]|0;j=c[lb>>2]|0;k=c[Ta>>2]|0;l=c[mb>>2]|0;m=c[nb>>2]|0;n=c[bb>>2]|0;x=a[Kb>>0]|0;if(!(qh(f,c[Fb>>2]<<x,c[Eb>>2]<<x,x,0)|0))ub=97;else{c[Sa>>2]=h;c[lb>>2]=j;c[Ta>>2]=k;c[mb>>2]=l;c[nb>>2]=m;Uk(n|0,0,(c[bb>>2]|0)-n|0)|0;c[bb>>2]=n;rh(f);c[Rb>>2]=1;g=1}}else{rh(f);ub=97}if((ub|0)==97){ub=0;if(!(c[Rb>>2]|0))g=sh(Ea,Fa)|0}if((a[ya>>0]|0)==0?(a[Pa>>0]|0)==0:0)k=y+2|0;else ub=102;do if((ub|0)==102){ub=0;if((c[Fb>>2]|0)==1)Sk(Ja|0,Ka|0,154)|0;k=y+2|0;if(((c[Cb>>2]|0)+1|0)==(e[k>>1]|0)){h=((c[Db>>2]|0)+1|0)==(e[y+4>>1]|0)&1;j=1}else{h=0;j=0}if((g|0)==0?(c[Rb>>2]|0)==0:0){if(!((h|0)!=0&(a[ya>>0]|0)!=0)?!((j|0)!=0&(a[Pa>>0]|0)!=0):0)break;sh(Ea,Fa)|0;if(!(c[C>>2]&7))break;th(Fa)}}while(0);h=r(c[Eb>>2]|0,Qb)|0;h=(c[Fb>>2]|0)+1+h|0;o=e[k>>1]|0;do if(((c[Cb>>2]|0)+1|0)==(o|0)?(Tb=b[Pb>>1]|0,(o|0)!=(Tb|0)):0){x=(c[Db>>2]|0)+1|0;l=x+(d[y+1>>0]|0)|0;j=r(l,Tb)|0;m=d[y>>0]|0;j=j+m|0;if((x|0)==(e[y+4>>1]|0)){if((m+o|0)==(Tb|0)?(l|0)==(b[A>>1]|0):0){j=h;break}j=c[xb>>2]|0;j=(r(d[j+7>>0]|0,Tb)|0)+(d[j+6>>0]|0)|0}}else j=h;while(0);c[(c[Ga>>2]|0)+(j<<2)>>2]=c[nb>>2];c[Ha>>2]=j;c[Ia>>2]=(c[Ia>>2]|0)+Ob;if((c[ob>>2]|0)==1){h=(h|0)%142560|0;h=(h|0)==0?142560:h;do if(((c[Cb>>2]|0)+1|0)==(o|0)){j=b[Pb>>1]|0;if((o|0)==(j|0))break;x=(c[Db>>2]|0)+1|0;l=x+(d[y+1>>0]|0)|0;m=r(l,j)|0;n=d[y>>0]|0;if((x|0)!=(e[y+4>>1]|0)){h=m+n|0;break}if((n+o|0)==(j|0)?(l|0)==(b[A>>1]|0):0)break;h=c[xb>>2]|0;h=(r(d[h+7>>0]|0,j)|0)+(d[h+6>>0]|0)|0}while(0);c[Na>>2]=h;j=c[Oa>>2]|0;h=j+(h<<2)|0}else{do if(((c[Cb>>2]|0)+1|0)==(o|0)){j=b[Pb>>1]|0;if((o|0)==(j|0))break;x=(c[Db>>2]|0)+1|0;l=x+(d[y+1>>0]|0)|0;m=r(l,j)|0;n=d[y>>0]|0;if((x|0)!=(e[y+4>>1]|0)){h=m+n|0;break}if((n+o|0)==(j|0)?(l|0)==(b[A>>1]|0):0)break;h=c[xb>>2]|0;h=(r(d[h+7>>0]|0,j)|0)+(d[h+6>>0]|0)|0}while(0);c[Na>>2]=h;j=c[Oa>>2]|0;h=j+(h<<2)|0}c[h>>2]=c[Ta>>2];c[La>>2]=(c[La>>2]|0)+Ob;do if(c[Ma>>2]|0?(a[z>>0]|0)==1:0){h=c[Fb>>2]|0;t=b[Pb>>1]|0;s=c[Eb>>2]|0;x=(r(s,t)|0)+h|0;u=(a[Kb>>0]|0)+-3|0;t=t<<u;u=(c[B>>2]|0)+((r(t,s)|0)+h<<u)|0;h=c[j+(((c[ob>>2]|0)==1?(x|0)%142560|0:x)<<2)>>2]|0;s=(c[j+(c[Na>>2]<<2)>>2]|0)-h|0;h=(c[Ra>>2]|0)+(h<<2)|0;if(1<<(x&7)&d[(c[Va>>2]|0)+(x>>3)>>0]|0){a[u>>0]=c[h>>2]<<9>>25;break}if((s|0)<=0)break;o=0;while(1){x=c[h>>2]|0;p=x&15;l=x>>>4&15;j=4<<(x>>>8&7)>>>2;if(!(x&17)){q=j+l|0;n=j+p|0;do{m=r(l>>1,t)|0;j=p;do{a[u+((j>>1)+m)>>0]=c[h>>2]<<9>>25;j=j+2|0}while(j>>>0<n>>>0);l=l+2|0}while(l>>>0<q>>>0)}o=o+1|0;if((o|0)==(s|0))break;else h=h+4|0}}while(0);p=c[ob>>2]|0;do if((p|0)<3){h=b[Pb>>1]|0;o=h<<16>>16;x=(r(o,d[y+1>>0]|0)|0)+(d[y>>0]|0)|0;if(((r(b[Ca>>1]|0,o)|0)+(b[Ba>>1]|0)|0)>=(x|0))h=b[k>>1]|0;q=c[Eb>>2]|0;if((q|0)!=0?(c[Db>>2]|0)!=0:0)l=1;else l=0;u=c[Fb>>2]|0;f:do if(!u)ub=153;else{if(!(c[Cb>>2]|0)){ub=153;break}if((u|0)<=0){j=l;m=1;n=l;h=l;break}j=c[za>>2]|0;do if(j|0){if(!(c[Db>>2]|0))break;if((j|0)!=1){j=l;m=1;n=l;h=l;break f}j=l;m=1;n=(c[vb>>2]|0)==0?0:l;h=l;break f}while(0);x=c[vb>>2]|0;j=0;m=(x|0)!=0&1;n=0;h=((h<<16>>16)+-1|0)==(x|0)?l:0}while(0);do if((ub|0)==153){ub=0;if(c[za>>2]|0?c[Db>>2]|0:0){j=l;m=0;n=0;h=l;break}j=0;m=0;n=0;h=((h<<16>>16)+-1|0)==(c[vb>>2]|0)?l:0}while(0);if(!((o+-1|0)!=(u|0)?((e[k>>1]|0)+-1|0)!=(c[Cb>>2]|0):0))h=0;do if((d[tb>>0]|0)<2){x=(p|0)==1?1:p+-1|0;t=u+(r(q,o)|0)|0;p=c[Ga>>2]|0;t=c[p+(t<<2)>>2]|0;s=(c[p+(c[Ha>>2]<<2)>>2]|0)-t|0;v=(c[f+5956+(x*692|0)+104>>2]|0)+(((u<<Lb|0)/4|0)<<2)|0;w=c[f+5956+(x*692|0)+108>>2]|0;c[Yb>>2]=Ib;c[I>>2]=Jb;c[J>>2]=Hb;c[K>>2]=u;c[L>>2]=q;u=c[M>>2]|0;c[N>>2]=u+(t<<4);c[O>>2]=u;c[P>>2]=y;c[Q>>2]=c[f+5956+(x*692|0)+100>>2];c[R>>2]=p;c[T>>2]=c[S>>2];c[U>>2]=s;c[V>>2]=t;a[W>>0]=j;a[X>>0]=h;a[Y>>0]=n;a[Z>>0]=m;Wg(Yb,v,w,f+5956+(x*692|0)+112|0)|0}else{s=u+(r(q,o)|0)|0;x=(c[S>>2]|0)+(r(s,Ob)|0)|0;v=(p|0)==1?1:p+-1|0;w=c[f+5956+(v*692|0)+100>>2]|0;t=c[Ga>>2]|0;s=c[t+(s<<2)>>2]|0;t=(c[t+(c[Ha>>2]<<2)>>2]|0)-s|0;if((t|0)>0){h=(c[M>>2]|0)+(s<<4)|0;j=0;while(1){n=h+12|0;q=c[n>>2]|0;o=j+s|0;p=((q>>>10&60)+4|0)>>>2;q=((q>>>6&60)+4|0)>>>2;m=0;do{m=m+1|0;l=0;do{u=c[n>>2]|0;l=l+1|0;c[w+(l+(u&15)+((m+(u>>>4&15)|0)*18|0)<<2)>>2]=o}while((l|0)!=(q|0))}while((m|0)!=(p|0));j=j+1|0;if((j|0)==(t|0))break;else h=h+16|0}h=c[Eb>>2]|0;j=c[Fb>>2]|0}else{h=q;j=u}h=(b[$>>1]|0)-(h<<a[Kb>>0])|0;m=c[f+5956+(v*692|0)+104>>2]|0;c[f+5956+(v*692|0)+112>>2]=c[m+(aa+((j<<Lb|0)/4|0)<<2)>>2];if(!ba)break;l=c[f+5956+(v*692|0)+108>>2]|0;j=((((Mb|0)<(h|0)?Mb:h)|0)/4|0)*18|0;h=0;do{v=h;h=h+1|0;c[l+(v<<2)>>2]=c[w+((h*18|0)+Nb<<2)>>2];c[m+(((c[Fb>>2]<<Lb|0)/4|0)+v<<2)>>2]=c[w+(h+j<<2)>>2]}while((h|0)!=(Nb|0));n=c[w+76>>2]|0;if(!ba)break;h=19;j=0;m=0;while(1){l=0;do{a[x+(l+j)>>0]=(c[w+(l+h<<2)>>2]|0)-n;l=l+1|0}while((l|0)!=(Nb|0));m=m+1|0;if((m|0)==(Nb|0))break;else{h=h+18|0;j=j+Nb|0}}}while(0);if(c[Ma>>2]|0)break;do if(!(c[Rb>>2]|0)){w=c[ob>>2]|0;v=(w|0)==1;q=c[Fb>>2]|0;s=c[Eb>>2]|0;t=(r(s,b[Pb>>1]|0)|0)+q|0;u=c[(c[Ga>>2]|0)+(t<<2)>>2]|0;x=c[Na>>2]|0;p=c[Oa>>2]|0;t=c[p+((v?(t|0)%142560|0:t)<<2)>>2]|0;p=(c[p+(x<<2)>>2]|0)-t|0;c[Ua>>2]=c[zb>>2];c[ca>>2]=c[Ab>>2];c[da>>2]=f;c[ea>>2]=p;c[fa>>2]=q;c[ga>>2]=s;c[ha>>2]=c[Cb>>2];c[ia>>2]=c[Db>>2];c[ja>>2]=c[vb>>2];c[ka>>2]=c[za>>2];c[la>>2]=(c[Ra>>2]|0)+(t<<2);c[ma>>2]=(c[M>>2]|0)+(u<<4);c[na>>2]=c[f+5956+((v?1:w+-1|0)*692|0)+100>>2];c[oa>>2]=c[Ha>>2];c[pa>>2]=x;c[qa>>2]=c[Wa>>2];c[ra>>2]=c[Bb>>2];c[sa>>2]=c[xb>>2];if((a[tb>>0]|0)==2){Zg(Ua)|0;break}else{_g(Ua)|0;break}}while(0);if(!(a[z>>0]|0))break;w=r((b[Pb>>1]|0)+1|0,ta)|0;v=r(c[Fb>>2]|0,ta)|0;w=r(w,c[Eb>>2]|0)|0;x=(c[va>>2]|0)+v+w|0;Uk((c[ua>>2]|0)+v+w|0,0,wa|0)|0;Uk(x|0,0,wa|0)|0}while(0);p=(r(c[Eb>>2]|0,b[(c[Ab>>2]|0)+4118>>1]|0)|0)+(c[Fb>>2]|0)|0;a[(c[xa>>2]|0)+p>>0]=1;p=(c[Cb>>2]|0)+1|0;c[Cb>>2]=p;n=(c[Fb>>2]|0)+1|0;c[Fb>>2]=n;l=(c[vb>>2]|0)+1|0;c[vb>>2]=l;do if(a[ya>>0]|0){j=d[y>>0]|0;h=b[Pb>>1]|0;x=(r(h,d[y+1>>0]|0)|0)+j|0;x=((r(b[Ca>>1]|0,h)|0)+(b[Ba>>1]|0)|0)<(x|0);h=e[k>>1]|0;if(x){if((l|0)!=(h+j|0))break;c[za>>2]=(c[za>>2]|0)+1;c[vb>>2]=j;break}else{if((l|0)!=(h|0))break;c[za>>2]=(c[za>>2]|0)+1;c[vb>>2]=0;break}}else{h=e[k>>1]|0;if((l|0)!=(h|0))break;c[za>>2]=(c[za>>2]|0)+1;c[vb>>2]=0}while(0);g:do if((p|0)==(h|0)){c[Cb>>2]=0;h=d[y>>0]|0;c[Fb>>2]=h;j=(c[Db>>2]|0)+1|0;c[Db>>2]=j;k=(c[Eb>>2]|0)+1|0;c[Eb>>2]=k;if((j|0)!=(e[y+4>>1]|0)){o=0;m=y;l=0;break}c[Db>>2]=0;c[Cb>>2]=0;l=c[xb>>2]|0;m=l+6|0;c[xb>>2]=m;k=j+(d[y+1>>0]|0)|0;do if((k|0)==(b[A>>1]|0)){if((p+h|0)!=(b[Pb>>1]|0))break;c[Fb>>2]=0;c[Eb>>2]=k;o=1;m=y;h=0;l=0;break g}while(0);h=d[m>>0]|0;c[Fb>>2]=h;k=d[l+7>>0]|0;c[Eb>>2]=k;c[Db>>2]=0;c[Cb>>2]=0;c[vb>>2]=h;c[za>>2]=k;o=0;l=0}else{o=0;m=y;k=c[Eb>>2]|0;h=n;l=p}while(0);j=b[Pb>>1]|0;h=(r(k,j)|0)+h|0;c[D>>2]=h;if(c[Rb>>2]|0){y=(h|0)==((r(b[F>>1]|0,j)|0)+(b[E>>1]|0)|0);g=y?1:g}if((c[ob>>2]|0)==1&(l|0)==0){c[gb>>2]=e[(c[_>>2]|0)+2>>1];Tg(fb)|0}if(((c[G>>2]|0)+8|0)>>>0<((c[H>>2]|0)+((c[C>>2]|0)>>>3)|0)>>>0)g=(c[Rb>>2]|0)==0?1:g;if(!(g|o)){y=m;h=0}else break}if((ub|0)==219){Sb=Zb;return g|0}c[Rb>>2]=0;if(o|0){c[f+980>>2]=1;Yb=0;Sb=Zb;return Yb|0}j=(c[Wb>>2]|0)+1|0;if((c[ob>>2]|0)!=1&(j&255|0)==0?(Xb=c[Vb+(Ub*8976|0)+4128>>2]|0,Xb|0):0){i=c[xa>>2]|0;h=c[f+208>>2]|0;g=0;do{f=d[i+g>>0]|0;c[Yb>>2]=a[h+g>>0]&1;g=g+((c[Yb>>2]|0)==(f|0)&1)|0}while((g|0)!=(Xb|0))}c[Wb>>2]=j;Yb=0;Sb=Zb;return Yb|0}function Qg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=a+16|0;if(ag(c[g>>2]|0)|0){a=2147483647;return a|0}e=a+4|0;f=c[e>>2]|0;if((c[a+12>>2]|0)>>>0<(f+d|0)>>>0)e=2147483647;else{Sk(f|0,b|0,d|0)|0;c[e>>2]=(c[e>>2]|0)+d;e=0}c[a+20>>2]=0;a=(bg(c[g>>2]|0)|0)==0;a=a?e:2147483647;return a|0}function Rg(a){a=a|0;var b=0;b=a+16|0;if(ag(c[b>>2]|0)|0){b=2147483647;return b|0}c[a+20>>2]=1;b=(bg(c[b>>2]|0)|0)==0;b=b?0:2147483647;return b|0}function Sg(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;j=a+16|0;if(ag(c[j>>2]|0)|0){j=2147483647;return j|0}i=a+8|0;f=c[i>>2]|0;g=f+d|0;a:do if((c[a+12>>2]|0)>>>0<g>>>0)f=2147483647;else{h=a+4|0;if((c[h>>2]|0)>>>0<g>>>0){a=a+20|0;if((e|0)!=1){f=(c[a>>2]|0)==1;while(1)if(f){f=2147483647;break a}}do{if((c[a>>2]|0)==1){f=2147483647;break a}if(!(bg(c[j>>2]|0)|0)){cg();ag(c[j>>2]|0)|0}f=c[i>>2]|0}while((c[h>>2]|0)>>>0<(f+d|0)>>>0)}Sk(b|0,f|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=0}while(0);j=(bg(c[j>>2]|0)|0)==0;j=j?f:2147483647;return j|0}function Tg(f){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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,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,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=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;Ac=Sb;Sb=Sb+64|0;yc=Ac;X=Ac+8|0;Ta=f+44|0;ab=c[Ta>>2]|0;fb=ab+4116|0;g=a[fb>>0]|0;Db=g<<24>>24;Tb=1<<Db;h=c[f>>2]|0;nc=(Tb|0)/4|0;Y=r(nc,nc)|0;_a=c[h+11560>>2]|0;xa=f+140|0;j=c[xa>>2]|0;_a=(_a|0)<(j|0)?_a:j;Sa=f+28|0;Ya=f+12|0;Za=(e[(c[Sa>>2]|0)+2>>1]|0)-(c[Ya>>2]|0)|0;Za=(_a|0)<(Za|0)?_a:Za;_a=f+32|0;$a=ab+4118|0;if((c[_a>>2]|0)>(256-(b[$a>>1]<<1)|0))i=1;else i=c[f+688>>2]|0;bb=f+24|0;cb=f+20|0;db=f+120|0;eb=f+68|0;if(!j){Sb=Ac;return 0}gb=f+16|0;lb=f+148|0;mb=f+152|0;nb=f+4|0;ob=f+8|0;pb=Za+-1|0;qb=h+204|0;rb=f+48|0;sb=h+24|0;tb=f+40|0;yb=f+112|0;zb=f+108|0;Ab=f+104|0;Bb=X+4|0;Cb=X+8|0;Eb=X+12|0;Fb=X+16|0;Gb=f+76|0;Hb=X+20|0;Ib=f+96|0;Jb=X+24|0;Ob=X+28|0;Pb=f+100|0;Qb=X+36|0;Rb=f+84|0;Ub=X+32|0;Vb=f+92|0;Wb=X+40|0;Xb=f+264|0;Yb=X+44|0;Zb=f+268|0;_b=X+48|0;$b=f+248|0;ac=X+52|0;bc=f+249|0;dc=X+53|0;ec=f+250|0;fc=X+54|0;gc=f+251|0;hc=X+55|0;ic=h+88|0;jc=f+676|0;kc=f+36|0;lc=f+680|0;mc=r(Za,Y)|0;oc=f+252|0;pc=ab+2|0;qc=(Tb|0)>3;rc=h+128|0;sc=f+280|0;tc=f+284|0;uc=f+288|0;vc=f+300|0;wc=f+304|0;xc=f+308|0;Z=f+312|0;_=f+316|0;$=f+320|0;aa=f+324|0;ba=f+344|0;ca=f+356|0;da=f+364|0;ea=f+368|0;fa=f+684|0;ga=f+372|0;ha=f+672|0;ia=f+376|0;ja=f+296|0;ka=f+292|0;la=f+116|0;ma=(Za|0)>0;na=(Tb<<Db|0)/128|0;oa=f+328|0;pa=f+332|0;qa=((r((Tb|0)/8|0,nc)|0)/8|0)<<1;ra=h+304|0;sa=ab+54|0;ta=f+156|0;ua=f+160|0;va=f+164|0;wa=f+168|0;ya=f+172|0;za=f+176|0;Aa=f+180|0;Ba=f+184|0;Ca=f+232|0;Da=h+20|0;Ea=f+256|0;Fa=f+236|0;Ga=f+260|0;Ha=ab+55|0;Ia=f+380|0;Ja=f+384|0;Ka=f+388|0;La=f+392|0;Ma=f+496|0;Na=f+500|0;Oa=f+536|0;Pa=h+64|0;Qa=f+540|0;Ra=Tb>>3;E=g<<24>>24==31;F=f+132|0;G=ab+4120|0;H=h+92|0;I=f+544|0;J=f+548|0;K=f+564|0;L=f+552|0;M=f+560|0;N=f+656|0;O=f+568|0;P=f+572|0;Q=f+668|0;R=(Tb|0)/2|0;S=h+12204|0;T=h+12208|0;U=Tb+8|0;V=R+16|0;W=h+12212|0;D=h+12216|0;A=c[bb>>2]|0;B=c[cb>>2]|0;C=c[eb>>2]|0;o=c[db>>2]|0;g=c[Ya>>2]|0;do{c[bb>>2]=A;c[cb>>2]=B;c[db>>2]=o;c[eb>>2]=C;y=c[gb>>2]|0;z=c[_a>>2]|0;x=o;i=(j|0)<(i|0)?j:i;w=(i|0)==0;if(w)h=z;else{v=i;do{k=c[Sa>>2]|0;j=c[lb>>2]|0;if(!((j|0)==0?!(c[mb>>2]|0):0)){h=1024;while(1){c[X>>2]=1;if(j|0){u=pb+(c[nb>>2]|0)+(r(c[ob>>2]|0,b[$a>>1]|0)|0)|0;c[X>>2]=d[(c[qb>>2]|0)+u>>0]}if(c[X>>2]|0)break;if((h|0)>0){j=128;do{ej(42090,yc)|0;j=j+-1|0}while((j|0)!=0);h=h+-128|0}else{cg();h=1024}j=c[lb>>2]|0}}Ug(f,1,Za);h=c[nb>>2]|0;if(!((h|0)==0?!(c[ob>>2]|0):0))zc=22;if(((zc|0)==22?(zc=0,Ua=c[(c[f>>2]|0)+304>>2]|0,Va=(c[_a>>2]|0)+1|0,Wa=Va&255,Xa=Ua+(Wa*1272|0)|0,(h|0)==(b[Ua+(Wa*1272|0)+872>>1]|0)):0)?(c[ob>>2]|0)==(b[Ua+(Wa*1272|0)+874>>1]|0):0){if(!(a[Ua+(Wa*1272|0)+75>>0]|0)){c[cb>>2]=0;c[bb>>2]=0}c[_a>>2]=Va;c[rb>>2]=Xa}u=c[rb>>2]|0;Vg(f);if((d[u+76>>0]|0)>=2){if((c[sb>>2]|0)>2){j=c[nb>>2]|0;h=c[ob>>2]|0;q=(r(h,b[$a>>1]|0)|0)+j|0;t=(c[Vb>>2]|0)+(r(q,Y)|0)|0;u=c[Pb>>2]|0;s=c[Rb>>2]|0;q=c[s+(q<<2)>>2]|0;s=(c[s+(c[lc>>2]<<2)>>2]|0)-q|0;if((s|0)>0){h=0;j=(c[Ib>>2]|0)+(q<<4)|0;while(1){m=j+12|0;p=c[m>>2]|0;n=h+q|0;o=((p>>>10&60)+4|0)>>>2;p=((p>>>6&60)+4|0)>>>2;k=0;do{k=k+1|0;l=0;do{Bc=c[m>>2]|0;l=l+1|0;c[u+(l+(Bc&15)+((k+(Bc>>>4&15)|0)*18|0)<<2)>>2]=n}while((l|0)!=(p|0))}while((k|0)!=(o|0));h=h+1|0;if((h|0)==(s|0))break;else j=j+16|0}h=c[ob>>2]|0;j=c[nb>>2]|0}h=(b[pc>>1]|0)-(h<<a[fb>>0])|0;l=c[Ab>>2]|0;c[yb>>2]=c[l+(((j+1<<Db|0)/4|0)+-1<<2)>>2];if(qc){k=c[zb>>2]|0;j=((((Tb|0)<(h|0)?Tb:h)|0)/4|0)*18|0;h=0;do{Bc=h;h=h+1|0;c[k+(Bc<<2)>>2]=c[u+((h*18|0)+nc<<2)>>2];c[l+(((c[nb>>2]<<Db|0)/4|0)+Bc<<2)>>2]=c[u+(h+j<<2)>>2]}while((h|0)!=(nc|0));m=c[u+76>>2]|0;if(qc){h=0;k=0;l=19;while(1){j=0;do{a[t+(j+k)>>0]=(c[u+(j+l<<2)>>2]|0)-m;j=j+1|0}while((j|0)!=(nc|0));h=h+1|0;if((h|0)==(nc|0))break;else{k=k+nc|0;l=l+18|0}}}}}}else{if((c[sb>>2]|0)>2){Bc=c[zb>>2]|0;t=c[nb>>2]|0;u=(c[Ab>>2]|0)+(((t<<Db|0)/4|0)<<2)|0;c[X>>2]=c[tb>>2];c[Bb>>2]=c[Ta>>2];c[Cb>>2]=c[rb>>2];c[Eb>>2]=t;c[Fb>>2]=c[ob>>2];c[Hb>>2]=c[Gb>>2];c[Jb>>2]=c[Ib>>2];c[Ob>>2]=k;c[Qb>>2]=c[Pb>>2];c[Ub>>2]=c[Rb>>2];c[Wb>>2]=c[Vb>>2];c[Yb>>2]=c[Xb>>2];c[_b>>2]=c[Zb>>2];a[ac>>0]=a[$b>>0]|0;a[dc>>0]=a[bc>>0]|0;a[fc>>0]=a[ec>>0]|0;a[hc>>0]=a[gc>>0]|0;Wg(X,u,Bc,yb)|0}Xg(f)}if(a[(c[tb>>2]|0)+27>>0]|0)b[(c[jc>>2]|0)+((r(c[ob>>2]|0,b[$a>>1]|0)|0)+(c[nb>>2]|0)<<1)>>1]=c[kc>>2];h=c[rb>>2]|0;if((c[ic>>2]|0)==0?(c[sb>>2]|0)>2:0){do if(!(c[rc>>2]|0)){Yg(f);c[sc>>2]=c[tb>>2];c[tc>>2]=c[Ta>>2];c[uc>>2]=c[f>>2];c[vc>>2]=c[oc>>2];c[wc>>2]=c[nb>>2];c[xc>>2]=c[ob>>2];c[Z>>2]=c[Ya>>2];c[_>>2]=c[gb>>2];c[$>>2]=c[cb>>2];c[aa>>2]=c[bb>>2];c[ba>>2]=c[eb>>2];c[ca>>2]=c[Gb>>2];c[da>>2]=c[Pb>>2];c[ea>>2]=c[lc>>2];c[ga>>2]=c[fa>>2];c[ia>>2]=c[ha>>2];c[ja>>2]=c[rb>>2];c[ka>>2]=c[Sa>>2];if((a[h+76>>0]|0)==2){Zg(sc)|0;break}else{_g(sc)|0;break}}while(0);if(a[h+171>>0]|0){u=r((b[$a>>1]|0)+1|0,na)|0;t=r(c[nb>>2]|0,na)|0;u=r(u,c[ob>>2]|0)|0;Bc=(c[pa>>2]|0)+t+u|0;Uk((c[oa>>2]|0)+t+u|0,0,qa|0)|0;Uk(Bc|0,0,qa|0)|0}}t=c[nb>>2]|0;u=c[ob>>2]|0;Bc=b[$a>>1]|0;c[db>>2]=(c[db>>2]|0)+mc;c[eb>>2]=(c[eb>>2]|0)+(c[oc>>2]<<2);if((c[sb>>2]|0)==1?((t+1+(r(u,Bc<<16>>16)|0)|0)%142560|0|0)==0:0)c[eb>>2]=c[la>>2];c[Gb>>2]=(c[Gb>>2]|0)+(c[Xb>>2]<<4);h=c[f>>2]|0;if(c[mb>>2]|0?ma:0){j=h+208|0;h=0;do{Bc=(c[nb>>2]|0)+h+(r(c[ob>>2]|0,b[(c[Ta>>2]|0)+4118>>1]|0)|0)|0;Bc=(c[j>>2]|0)+Bc|0;a[Bc>>0]=a[Bc>>0]|2;h=h+1|0}while((h|0)!=(Za|0))}v=v-Za|0;$g(f,Za)}while((v|0)!=0);h=c[_a>>2]|0}if((z|0)!=(h|0)){c[rb>>2]=(c[ra>>2]|0)+((z&255)*1272|0);c[_a>>2]=z}c[nb>>2]=(c[nb>>2]|0)-i;c[Ya>>2]=g;c[cb>>2]=B;c[gb>>2]=y;c[bb>>2]=A;c[db>>2]=x;c[eb>>2]=C;if(w)h=z;else{o=i;do{Ug(f,2,Za);h=c[nb>>2]|0;if(!((h|0)==0?!(c[ob>>2]|0):0))zc=73;if(((zc|0)==73?(zc=0,hb=c[(c[f>>2]|0)+304>>2]|0,ib=(c[_a>>2]|0)+1|0,jb=ib&255,kb=hb+(jb*1272|0)|0,(h|0)==(b[hb+(jb*1272|0)+872>>1]|0)):0)?(c[ob>>2]|0)==(b[hb+(jb*1272|0)+874>>1]|0):0){if(!(a[hb+(jb*1272|0)+75>>0]|0)){c[cb>>2]=0;c[bb>>2]=0}c[_a>>2]=ib;c[rb>>2]=kb}Vg(f);Yg(f);if(a[sa>>0]|0){if(!(a[Ha>>0]|0)){h=31520;j=28960;k=28320;l=29472;m=28448;n=28192;zc=80}}else{h=26144;j=26144;k=26144;l=26144;m=26144;n=26144;zc=80}if((zc|0)==80){zc=0;c[ta>>2]=26144;c[ua>>2]=n;c[va>>2]=m;c[wa>>2]=l;c[ya>>2]=26144;c[za>>2]=k;c[Aa>>2]=j;c[Ba>>2]=h}v=c[nb>>2]<<Db;u=r(c[ob>>2]<<Db,c[Da>>2]|0)|0;c[Ea>>2]=(c[Ca>>2]|0)+(u+v);c[Ga>>2]=(c[Fa>>2]|0)+v+((u|0)/2|0);ah(f)|0;u=c[nb>>2]|0;v=c[ob>>2]|0;Bc=b[$a>>1]|0;c[db>>2]=(c[db>>2]|0)+mc;c[eb>>2]=(c[eb>>2]|0)+(c[oc>>2]<<2);if((c[sb>>2]|0)==1?((u+1+(r(v,Bc<<16>>16)|0)|0)%142560|0|0)==0:0)c[eb>>2]=c[la>>2];c[Gb>>2]=(c[Gb>>2]|0)+(c[Xb>>2]<<4);h=c[f>>2]|0;if(c[mb>>2]|0?ma:0){j=h+208|0;h=0;do{Bc=(c[nb>>2]|0)+h+(r(c[ob>>2]|0,b[(c[Ta>>2]|0)+4118>>1]|0)|0)|0;Bc=(c[j>>2]|0)+Bc|0;a[Bc>>0]=a[Bc>>0]|4;h=h+1|0}while((h|0)!=(Za|0))}o=o-Za|0;$g(f,Za)}while((o|0)!=0);h=c[_a>>2]|0}if((z|0)!=(h|0)){c[rb>>2]=(c[ra>>2]|0)+((z&255)*1272|0);c[_a>>2]=z}c[nb>>2]=(c[nb>>2]|0)-i;c[Ya>>2]=g;c[cb>>2]=B;c[gb>>2]=y;c[bb>>2]=A;o=c[db>>2]|0;n=C;C=c[eb>>2]|0;c[db>>2]=x;c[eb>>2]=n;if(w)h=z;else{m=i;do{Ug(f,3,Za);h=c[nb>>2]|0;if(!((h|0)==0?!(c[ob>>2]|0):0))zc=96;if(((zc|0)==96?(zc=0,ub=c[(c[f>>2]|0)+304>>2]|0,vb=(c[_a>>2]|0)+1|0,wb=vb&255,xb=ub+(wb*1272|0)|0,(h|0)==(b[ub+(wb*1272|0)+872>>1]|0)):0)?(c[ob>>2]|0)==(b[ub+(wb*1272|0)+874>>1]|0):0){if(!(a[ub+(wb*1272|0)+75>>0]|0)){c[cb>>2]=0;c[bb>>2]=0}c[_a>>2]=vb;c[rb>>2]=xb}if(!(c[ic>>2]|0)){c[Ia>>2]=c[tb>>2];c[Ja>>2]=c[Ta>>2];c[Ka>>2]=c[f>>2];c[La>>2]=c[rb>>2];c[Ma>>2]=h;j=c[ob>>2]|0;c[Na>>2]=j;c[Oa>>2]=c[ha>>2];c[Qa>>2]=(c[Pa>>2]|0)==12&1;l=(b[ab>>1]|0)+63>>6<<3;k=(a[fb>>0]|0)+-3|0;if(!E){h=(h<<k)+-1+(r(l,(j<<k)+-1|0)|0)|0;k=c[F>>2]|0;j=0;while(1){b[f+508+(j<<1)>>1]=(c[k+(h>>3)>>2]|0)>>>(h&7);if((j|0)<(Ra|0)){h=h+l|0;j=j+1|0}else break}}bh(Ia,0,0);Bc=b[$a>>1]|0;if((c[nb>>2]|0)==(Bc+-1|0)?(Bc<<a[fb>>0]|0)==(b[ab>>1]|0):0)bh(Ia,1,0);Bc=b[G>>1]|0;if((c[ob>>2]|0)==(Bc+-1|0)?(Bc<<a[fb>>0]|0)==(b[pc>>1]|0):0)bh(Ia,0,1)}h=c[f>>2]|0;if(c[mb>>2]|0?ma:0){j=h+208|0;h=0;do{Bc=(c[nb>>2]|0)+h+(r(c[ob>>2]|0,b[(c[Ta>>2]|0)+4118>>1]|0)|0)|0;Bc=(c[j>>2]|0)+Bc|0;a[Bc>>0]=a[Bc>>0]|8;h=h+1|0}while((h|0)!=(Za|0))}m=m-Za|0;$g(f,Za)}while((m|0)!=0);h=c[_a>>2]|0}if((z|0)!=(h|0)){c[rb>>2]=(c[ra>>2]|0)+((z&255)*1272|0);c[_a>>2]=z}c[nb>>2]=(c[nb>>2]|0)-i;c[Ya>>2]=g;c[gb>>2]=y;c[db>>2]=x;c[eb>>2]=n;z=A;A=c[bb>>2]|0;Bc=B;B=c[cb>>2]|0;c[bb>>2]=z;c[cb>>2]=Bc;if(!w){n=i;do{Ug(f,4,Za);g=c[nb>>2]|0;if(!((g|0)==0?!(c[ob>>2]|0):0))zc=123;if(((zc|0)==123?(zc=0,Kb=c[(c[f>>2]|0)+304>>2]|0,Lb=(c[_a>>2]|0)+1|0,Mb=Lb&255,Nb=Kb+(Mb*1272|0)|0,(g|0)==(b[Kb+(Mb*1272|0)+872>>1]|0)):0)?(c[ob>>2]|0)==(b[Kb+(Mb*1272|0)+874>>1]|0):0){if(!(a[Kb+(Mb*1272|0)+75>>0]|0)){c[cb>>2]=0;c[bb>>2]=0}c[_a>>2]=Lb;c[rb>>2]=Nb}if(!(c[H>>2]|0)){c[I>>2]=c[tb>>2];c[J>>2]=c[Ta>>2];c[K>>2]=c[Sa>>2];c[L>>2]=c[f>>2];c[M>>2]=c[rb>>2];c[N>>2]=c[_a>>2];c[O>>2]=g;c[P>>2]=c[ob>>2];c[Q>>2]=(c[Pa>>2]|0)==12&1;ch(I);g=c[nb>>2]|0}if(!g){g=c[ob>>2]|0;Bc=c[Da>>2]|0;y=r(g<<Db,Bc)|0;z=(c[Ca>>2]|0)+y|0;c[Ea>>2]=z;c[Ga>>2]=(c[Fa>>2]|0)+((y|0)/2|0);cc[c[S>>2]&7](z+(0-(Bc<<3))|0,Bc,(((b[G>>1]|0)+-1|0)==(g|0)?8:0)+Tb|0,80);g=c[Da>>2]|0;cc[c[T>>2]&7]((c[Ga>>2]|0)+(0-(g<<4))|0,g,R,80);g=c[nb>>2]|0}if(((b[$a>>1]|0)+-1|0)==(g|0)){m=(b[ab>>1]|0)-(g<<a[fb>>0])|0;y=g<<Db;Bc=c[ob>>2]|0;l=c[Da>>2]|0;z=r(Bc<<Db,l)|0;h=(c[Ca>>2]|0)+(z+y)|0;c[Ea>>2]=h;g=c[Fa>>2]|0;c[Ga>>2]=g+y+((z|0)/2|0);if(((b[G>>1]|0)+-1|0)==(Bc|0)){j=g+(r(l,((b[pc>>1]|0)/2|0)+-16<<16>>16<<16>>16)|0)|0;cc[c[T>>2]&7](j,l,16,80);j=V;k=U;h=c[Ea>>2]|0;g=c[Da>>2]|0}else{j=R;k=Tb;g=l}cc[c[W>>2]&7](h+m+(0-(g<<3))|0,g,k,80);Bc=c[Da>>2]|0;cc[c[D>>2]&7]((c[Ga>>2]|0)+m+(0-(Bc<<4))|0,Bc,j,80);if(((b[G>>1]|0)+-1|0)==(c[ob>>2]|0)){vf((c[Ca>>2]|0)+-80|0,c[Da>>2]|0,(b[ab>>1]|0)+160|0,80);vf((c[Fa>>2]|0)+-80|0,c[Da>>2]|0,(b[ab>>1]|0)+160|0,40);Bc=c[Da>>2]|0;z=(c[Ca>>2]|0)+(r(Bc,b[pc>>1]|0)|0)+-80|0;wf(z,Bc,(b[ab>>1]|0)+160|0,80);Bc=c[Da>>2]|0;z=(c[Fa>>2]|0)+(r(Bc,((b[pc>>1]|0)/2|0)<<16>>16)|0)+-80|0;wf(z,Bc,(b[ab>>1]|0)+160|0,40)}}g=c[f>>2]|0;do if(c[mb>>2]|0){if(ma){h=g+208|0;g=0;do{Bc=(c[nb>>2]|0)+g+(r(c[ob>>2]|0,b[(c[Ta>>2]|0)+4118>>1]|0)|0)|0;Bc=(c[h>>2]|0)+Bc|0;a[Bc>>0]=a[Bc>>0]|16;g=g+1|0}while((g|0)!=(Za|0))}g=c[f>>2]|0;if(c[mb>>2]|0){if(!ma)break;h=g+208|0;g=0;do{Bc=(c[nb>>2]|0)+g+(r(c[ob>>2]|0,b[(c[Ta>>2]|0)+4118>>1]|0)|0)|0;Bc=(c[h>>2]|0)+Bc|0;a[Bc>>0]=a[Bc>>0]|1;g=g+1|0}while((g|0)!=(Za|0))}}while(0);k=c[Sa>>2]|0;n=n-Za|0;g=(c[Ya>>2]|0)+Za|0;c[Ya>>2]=g;c[nb>>2]=(c[nb>>2]|0)+Za;c[cb>>2]=(c[cb>>2]|0)+Za;l=e[k+2>>1]|0;do if((g|0)>=(l|0)){c[Ya>>2]=0;g=d[k>>0]|0;c[nb>>2]=g;h=(c[gb>>2]|0)+1|0;c[gb>>2]=h;c[ob>>2]=(c[ob>>2]|0)+1;if((h|0)==(e[k+4>>1]|0)){c[gb>>2]=0;c[Ya>>2]=0;j=k+6|0;c[Sa>>2]=j;if((h+(d[k+1>>0]|0)|0)==(b[G>>1]|0)?(g+l|0)==(b[$a>>1]|0):0){g=0;break}c[nb>>2]=d[j>>0];c[ob>>2]=d[k+7>>0];g=0}else g=0}while(0)}while((n|0)!=0)}j=(c[xa>>2]|0)-i|0;c[xa>>2]=j}while((j|0)!=0);Sb=Ac;return 0}function Ug(f,g,h){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,s=0,t=0,u=0,v=0,w=0,x=0;v=Sb;Sb=Sb+16|0;u=v;q=v+4|0;s=c[f+28>>2]|0;t=f+40|0;p=1<<g;if(!(c[f+152>>2]|0)){Sb=v;return}k=f+8|0;l=f+12|0;m=s+2|0;n=(c[f+44>>2]|0)+4118|0;o=(c[f>>2]|0)+208|0;j=f+4|0;g=1024;while(1){c[q>>2]=1;f=c[k>>2]|0;i=(f|0)>0;if(i){x=(c[l>>2]|0)+h|0;w=(e[m>>1]|0)+-1|0;w=((x|0)<(w|0)?x:w)+(d[s>>0]|0)+(r(f+-1|0,b[n>>1]|0)|0)|0;c[q>>2]=p&d[(c[o>>2]|0)+w>>0]}if(a[(c[t>>2]|0)+27>>0]|0?(c[j>>2]|0)>0:0){if(c[q>>2]|0){x=(d[s>>0]|0)+-1+(c[l>>2]|0)+(r(f,b[n>>1]|0)|0)|0;c[q>>2]=p&d[(c[o>>2]|0)+x>>0]}if(!((c[q>>2]|0)==0|i^1)){x=(d[s>>0]|0)+-1+(c[l>>2]|0)+(r(f+-1|0,b[n>>1]|0)|0)|0;c[q>>2]=p&d[(c[o>>2]|0)+x>>0]}}if(c[q>>2]|0)break;if((g|0)>0){f=128;do{ej(42090,u)|0;f=f+-1|0}while((f|0)!=0);g=g+-128|0}else{cg();g=1024}}Sb=v;return}function Vg(f){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,s=0,t=0,u=0;k=c[f+48>>2]|0;t=c[f+44>>2]|0;u=c[f+28>>2]|0;i=a[u>>0]|0;if(!(i<<24>>24))g=u;else g=(a[u+1>>0]|0)==0?u:u+-6|0;j=b[k+872>>1]|0;h=(e[g+2>>1]|0)+j|0;l=b[t+4118>>1]|0;s=l<<16>>16;if((h|0)>=(s|0)){g=i&255;if(((h|0)%(s|0)|0|0)==(g|0)){h=0;p=g}else q=6}else{g=i&255;q=6}if((q|0)==6){h=(g|0)!=(j|0);p=g}o=(r(b[k+874>>1]|0,s)|0)+j|0;n=d[u+1>>0]|0;if(!(h&(o|0)<((r(n,s)|0)+p|0)))l=b[u+2>>1]|0;k=c[f+4>>2]|0;i=c[f+8>>2]|0;o=(r(i,s)|0)+k|0;g=f+248|0;j=f+251|0;h=f+250|0;m=f+249|0;c[g>>2]=16843009;if(!((i|0)!=0?(c[f+16>>2]|0)!=0:0)){a[g>>0]=0;a[h>>0]=0;a[m>>0]=0}do if((k|0)!=0?(c[f+12>>2]|0)!=0:0){if((k|0)>0){i=c[f+24>>2]|0;if(i|0?c[f+16>>2]|0:0){if((i|0)!=1)break;if(c[f+20>>2]|0)break;a[h>>0]=0;break}a[g>>0]=0;a[h>>0]=0;g=c[f+20>>2]|0;if(!g)a[j>>0]=0;if(((l<<16>>16)+-1|0)!=(g|0))a[m>>0]=0}}else q=14;while(0);do if((q|0)==14){a[j>>0]=0;a[h>>0]=0;if(c[f+24>>2]|0?c[f+16>>2]|0:0)break;a[g>>0]=0;if(((l<<16>>16)+-1|0)!=(c[f+20>>2]|0))a[m>>0]=0}while(0);g=b[u+2>>1]|0;if((k|0)!=(s+-1|0)){g=g&65535;h=g+-1|0;i=c[f+12>>2]|0;if((h|0)==(i|0))q=31;else{j=g;h=i}}else{h=c[f+12>>2]|0;g=g&65535;q=31}if((q|0)==31){a[m>>0]=0;j=g}g=o+1|0;do if((h+1|0)==(j|0)){q=(c[f+16>>2]|0)+1|0;h=q+n|0;if((q|0)!=(e[u+4>>1]|0)){g=(r(h,s)|0)+p|0;break}if(!((j+p|0)==(s|0)?(h|0)==(b[t+4120>>1]|0):0))g=(r(d[u+7>>0]|0,s)|0)+(d[u+6>>0]|0)|0}while(0);c[f+680>>2]=g;t=c[f+84>>2]|0;u=t+(o<<2)|0;c[f+264>>2]=(c[t+(g<<2)>>2]|0)-(c[u>>2]|0);u=c[u>>2]|0;c[f+268>>2]=u;c[f+76>>2]=(c[f+96>>2]|0)+(u<<4);return}function Wg(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;U=Sb;Sb=Sb+96|0;O=U+72|0;P=U;F=c[f+4>>2]|0;G=c[f>>2]|0;E=c[f+20>>2]|0;w=c[f+28>>2]|0;Q=c[f+36>>2]|0;p=a[F+4116>>0]|0;D=1<<p;R=(D|0)/4|0;A=r(R,R)|0;B=c[f+40>>2]|0;x=f+12|0;k=c[x>>2]|0;v=f+16|0;j=c[v>>2]|0;y=b[F+4118>>1]|0;u=(r(j,y)|0)+k|0;S=B+(r(u,A)|0)|0;T=c[f+44>>2]|0;N=c[f+48>>2]|0;n=a[f+55>>0]|0;q=d[f+54>>0]|0;s=a[f+52>>0]|0;t=d[f+53>>0]|0;l=P;m=l+72|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));M=(b[F+2>>1]|0)-(j<<p)|0;M=(D|0)<(M|0)?D:M;o=(M|0)/4|0;if((M|0)>3){m=(n&255)<<31;l=0;do{l=l+1|0;c[P+(l<<2)>>2]=m}while((l|0)!=(o|0))}z=R+1|0;M=(b[F>>1]|0)-(k<<p)|0;M=(D|0)<(M|0)?D:M;c[P>>2]=(s<<24>>24==1?(1<<((M|0)/4|0))+-1<<31-R+((D-M|0)/4|0):0)|(t<<31>>>z|q<<31);if(!((k|0)==0|(k|0)!=(d[w>>0]|0))){l=u+-1|0;o=c[f+32>>2]|0;n=c[o+(l<<2)>>2]|0;l=B+(r(l,A)|0)+R+-1|0;if((D|0)>3){m=(r(R,(r(R,u)|0)+1|0)|0)+-1|0;j=l;k=0;while(1){c[h+(k<<2)>>2]=n+(d[j>>0]|0);k=k+1|0;if((k|0)==(R|0))break;else j=j+R|0}l=B+m|0;k=c[x>>2]|0;j=c[v>>2]|0}j=k+-1+(r(j+-1|0,y)|0)|0;c[i>>2]=(c[o+(j<<2)>>2]|0)+(d[l+(A+-1+(r(j,A)|0))>>0]|0);j=c[v>>2]|0}if(!((j|0)==0?1:(j|0)!=(d[w+1>>0]|0))){j=(c[x>>2]|0)+(r(j+-1|0,y)|0)|0;l=c[(c[f+32>>2]|0)+(j<<2)>>2]|0;if((D|0)>3){j=B+(r(j,A)|0)+(r(R+-1|0,R)|0)|0;k=0;while(1){c[g+(k<<2)>>2]=l+(d[j>>0]|0);k=k+1|0;if((k|0)==(R|0)){C=14;break}else j=j+1|0}}else M=0}else C=14;if((C|0)==14){k=(D|0)>3;if(k){j=0;do{M=j;j=j+1|0;c[Q+(j*18<<2)>>2]=c[h+(M<<2)>>2];c[Q+(j<<2)>>2]=c[g+(M<<2)>>2]}while((j|0)!=(R|0));M=k}else M=0}c[Q+(z<<2)>>2]=c[g+(R<<2)>>2];c[Q>>2]=c[i>>2];if((T|0)>0){L=F+46|0;G=G+43|0;H=f+8|0;I=O+4|0;J=O+6|0;K=O+2|0;F=0;while(1){z=E+12|0;x=c[z>>2]|0;B=(x>>>10&60)+4|0;A=(x>>>6&60)+4|0;C=x&15;D=x>>>4&15;y=(x&524288|0)==0;do if(!y?(v=A>>>0>B>>>0?A:B,w=1<<a[L>>0],!((A|0)==(B|0)|((a[G>>0]|0)<3?1:(((v|0)>(w|0)?v:w)|0)!=8))):0){j=x&1040187392;if((j|0)==335544320){t=8;u=8;v=1;w=C+-1|0;j=D;break}else{t=8;u=8;v=1;w=C;j=D+(((j|0)==301989888)<<31>>31)|0;break}}else{t=A;u=B;v=0;w=C;j=D}while(0);o=j+1|0;k=Q+(w+1+(j*18|0)<<2)|0;l=k+-4|0;m=l+72|0;s=31-w|0;n=(c[P+(o+(u>>>2)<<2)>>2]|0)>>>s&1;o=(c[P+(o<<2)>>2]|0)>>>s&1;V=c[P+(j<<2)>>2]|0;p=V>>>(30-w|0)&1;q=V>>>(31-(t>>>2)+~w|0)&1;s=V>>>s&1;do if(!(x&65536)){if(y){gh(f,k,m,l,18,E,n,o,q,p,s,O);j=(c[z>>2]|0)>>>17&3;if((j|0)!=1?(z=e[K>>1]|0,V=E+2|0,y=e[V>>1]|0,b[E>>1]=(e[E>>1]|0)+(e[O>>1]|0),b[V>>1]=y+z,(j|0)==0):0)break;z=e[J>>1]|0;x=E+4|0;V=E+6|0;y=e[V>>1]|0;b[x>>1]=(e[x>>1]|0)+(e[I>>1]|0);b[V>>1]=y+z;break}hh(f,k,m,18,E,x>>>25&7,x>>>28&3,t,u,w<<2,j<<2,v,n,o,q,p,s);j=c[z>>2]|0;if((j&393216|0)==262144){V=j>>>25&7;if(!((A|0)==8&(V|0)==1)?!((B|0)==8&(V|0)==2):0)break;c[z>>2]=j&-393217}}while(0);V=c[H>>2]|0;j=c[V+1068+((a[E+9>>0]|0)*12|0)>>2]|0;a[E+10>>0]=a[(c[V+876+((a[E+8>>0]|0)*12|0)>>2]|0)+22>>0]|0;if(!(a[V+76>>0]|0))a[E+11>>0]=a[j+22>>0]|0;o=A>>>2;k=(1<<o)+-1<<32-o>>>(C+1|0);n=B>>>2;j=0;do{j=j+1|0;V=P+(j+D<<2)|0;c[V>>2]=c[V>>2]|k}while((j|0)!=(n|0));m=F+N|0;j=C+19+(D*18|0)|0;l=0;while(1){k=0;do{c[Q+(k+j<<2)>>2]=m;k=k+1|0}while((k|0)!=(o|0));l=l+1|0;if((l|0)==(n|0))break;else j=j+18|0}F=F+1|0;if((F|0)==(T|0))break;else E=E+16|0}}c[i>>2]=c[g+(R+-1<<2)>>2];if(!M){Sb=U;return T|0}j=R;k=R*18|1;l=0;while(1){j=j+18|0;c[h+(l<<2)>>2]=c[Q+(j<<2)>>2];c[g+(l<<2)>>2]=c[Q+(k<<2)>>2];l=l+1|0;if((l|0)==(R|0))break;else k=k+1|0}n=c[Q+76>>2]|0;if(!M){Sb=U;return T|0}j=19;k=0;m=0;while(1){l=0;do{a[S+(l+k)>>0]=(c[Q+(l+j<<2)>>2]|0)-n;l=l+1|0}while((l|0)!=(R|0));m=m+1|0;if((m|0)==(R|0))break;else{j=j+18|0;k=k+R|0}}Sb=U;return T|0}function Xg(e){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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,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;ua=c[e>>2]|0;za=c[e+48>>2]|0;f=c[e+40>>2]|0;Ha=c[e+44>>2]|0;Ia=e+4|0;va=e+8|0;wa=(r(c[va>>2]|0,b[Ha+4118>>1]|0)|0)+(c[Ia>>2]|0)|0;xa=c[e+84>>2]|0;wa=(c[xa+(c[e+680>>2]<<2)>>2]|0)-(c[xa+(wa<<2)>>2]|0)|0;xa=c[ua+20>>2]|0;ya=c[e+188>>2]|0;Aa=c[e+192>>2]|0;Ba=c[e+232>>2]|0;Ca=c[e+236>>2]|0;Da=(c[ua+64>>2]|0)==12;Ea=za+76|0;if((d[Ea>>0]|0)>=2)J(42160,42241,190,42269);if((wa|0)<=0)return;Fa=Ha+4116|0;Ga=f+22|0;ja=f+23|0;ka=Ha+2|0;la=ua+11608|0;ma=0-xa|0;na=za+258|0;oa=ua+12220|0;pa=za+259|0;qa=ua+12232|0;ra=ua+12224|0;sa=ua+12228|0;ta=ua+12240|0;q=0;A=0;B=0;g=0;E=0;ha=c[e+76>>2]|0;ia=0;y=0;e=0;x=0;o=0;w=0;s=0;u=0;t=0;p=0;v=0;m=0;l=0;f=0;k=0;j=0;i=0;h=0;while(1){aa=ha+12|0;n=c[aa>>2]|0;a:do if(!(n&65536)){ca=a[Fa>>0]|0;ba=(c[Ia>>2]<<ca)+(n<<2&60)|0;ca=(c[va>>2]<<ca)+(n>>>2&60)|0;da=(n>>>6&60)+4|0;C=a[((a[Ea>>0]|0)==1?Ga:ja)>>0]|0;ga=n>>>17&3;D=(ga|0)==2;if((ga|0)==1){$=q;z=e;ea=s;fa=v;ga=l}else{ga=a[ha+8>>0]|0;$=c[za+876+(ga*12|0)>>2]|0;f=c[$>>2]|0;$=c[$+4>>2]|0;z=b[za+452+(ga<<1)>>1]|0;o=b[za+388+(ga<<1)>>1]|0;ea=b[za+324+(ga<<1)>>1]|0;t=b[za+420+(ga<<1)>>1]|0;fa=b[za+356+(ga<<1)>>1]|0;ga=b[za+292+(ga<<1)>>1]|0}if(!(n&393216)){Z=u;_=m}else{_=a[ha+9>>0]|0;B=c[za+1068+(_*12|0)>>2]|0;A=c[B>>2]|0;B=c[B+4>>2]|0;y=b[za+676+(_<<1)>>1]|0;x=b[za+612+(_<<1)>>1]|0;w=b[za+548+(_<<1)>>1]|0;Z=b[za+644+(_<<1)>>1]|0;p=b[za+580+(_<<1)>>1]|0;_=b[za+516+(_<<1)>>1]|0}I=ha+4|0;K=-284-(ba<<2)|0;L=ha+6|0;M=-284-(ca<<2)|0;U=r(ca,xa)|0;N=Ba+U|0;O=ha+2|0;Y=C<<24>>24!=0;P=D|Y;Q=(P&1)<<2|1;R=P?10:9;S=(ba|0)/2|0;T=(ca|0)/2|0;U=Ca+((U|0)/2|0)|0;V=P?da:xa;X=D&Y;Y=Y&(D^1);W=da>>>1;H=D&C<<24>>24==0;m=(n>>>10&60)+4|0;l=0;e=E;while(1){G=(l|0)==0;E=n&393216;u=(E|0)==131072;do if(G){if(!u){g=b[ha>>1]|0;n=((b[Ha>>1]|0)-ba<<2)+28|0;g=(n|0)<(g|0)?n:(K|0)>(g|0)?K:g;F=b[O>>1]|0;q=((b[ka>>1]|0)-ca<<2)+28|0;F=(q|0)<(F|0)?q:(M|0)>(F|0)?M:F;s=c[la>>2]&3;j=s&g;k=s&F;g=f+(r((F>>2)+ca|0,xa)|0)+((g>>2)+ba)|0;if(!E){q=37152;s=8;n=N;F=20;break}else e=q}else{n=((b[Ha>>1]|0)-ba<<2)+28|0;e=((b[ka>>1]|0)-ca<<2)+28|0;s=c[la>>2]&3}h=b[I>>1]|0;h=(n|0)<(h|0)?n:(K|0)>(h|0)?K:h;i=b[L>>1]|0;i=(e|0)<(i|0)?e:(M|0)>(i|0)?M:i;q=37152;C=8;e=A+(r((i>>2)+ca|0,xa)|0)+((h>>2)+ba)|0;n=N;i=s&i;h=s&h;F=21}else{if(!u){j=b[ha>>1]|0;n=((b[Ha>>1]|0)-ba<<2)+28|0;j=(n|0)<(j|0)?n:(K|0)>(j|0)?K:j;k=b[O>>1]|0;q=((b[ka>>1]|0)-ca<<2)+28|0;k=(q|0)<(k|0)?q:(M|0)>(k|0)?M:k;g=$+(r((k>>3)+T|0,xa)|0)+((j>>3)+S<<1)|0;s=c[la>>2]&7;j=s&j;k=s&k;if(!E){q=37088;s=4;n=U;F=20;break}else e=q}else{n=((b[Ha>>1]|0)-ba<<2)+28|0;e=((b[ka>>1]|0)-ca<<2)+28|0;s=c[la>>2]&7}h=b[I>>1]|0;h=(n|0)<(h|0)?n:(K|0)>(h|0)?K:h;i=b[L>>1]|0;i=(e|0)<(i|0)?e:(M|0)>(i|0)?M:i;q=37088;C=4;e=B+(r((i>>3)+T|0,xa)|0)+((h>>3)+S<<1)|0;n=U;i=s&i;h=s&h;F=21}while(0);if((F|0)==20){n=n+ba|0;F=23}else if((F|0)==21){n=n+ba|0;if(u){D=l*11|0;u=0;v=0;s=C;C=D;D=D+Q|0;F=24}else{s=C;F=23}}if((F|0)==23){F=0;C=l*11|0;D=C+Q|0;Ja=(j|0)!=0;u=(k|0)!=0;v=c[ua+11640+(D+(Ja?2:0)+(u&1)<<2)>>2]|0;u=c[ua+11640+((Ja&u?R:0)+C<<2)>>2]|0;if(!E){E=0;C=0;D=n}else F=24}if((F|0)==24){F=0;Ka=(h|0)!=0;Ja=(i|0)!=0;E=c[ua+11640+((Ka&Ja?R:0)+C<<2)>>2]|0;C=c[ua+11640+(D+(Ka?2:0)+(Ja&1)<<2)>>2]|0;D=n}if(v|0){Ja=(j|0)!=0;Ka=(k|0)==0|Ja^1;n=g+(r((s>>>1)+-1|0,ma)|0)|0;fc[v&31](Ka?g:n,Ka?(P?ya:D):ya,xa,P?da:Ka?xa:da,Ja?q+(j<<3)|0:q+(k<<3)|0,(Ka?0:s+-1|0)+(m>>l)|0,da>>>l)}if(u|0){Ka=ya+((r((s>>>1)+-1|0,da)|0)<<1)|0;fc[u&31](Ka,P?ya:D,da,V,q+(k<<3)|0,m>>l,da>>>l)}if(C|0){Ja=(h|0)!=0;Ka=(i|0)==0|Ja^1;v=e+(r((s>>>1)+-1|0,ma)|0)|0;fc[C&31](Ka?e:v,Ka?(P?Aa:D):Aa,xa,P?da:Ka?xa:da,Ja?q+(h<<3)|0:q+(i<<3)|0,(Ka?0:s+-1|0)+(m>>l)|0,da>>>l)}if(E|0){Ka=Aa+((r((s>>>1)+-1|0,da)|0)<<1)|0;fc[E&31](Ka,P?Aa:D,da,V,q+(i<<3)|0,m>>l,da>>>l)}do if(X){u=G^1;v=(j|0)==0|u|(k|0)==0?0:8192;u=(h|0)==0|u|(i|0)==0?0:8192;if(G){mc[c[oa>>2]&1](ya,Aa,D,da,da,xa,ga,ea,_,w,(a[na>>0]|0)+7|0,v,u,m,da);l=1;break}n=(a[pa>>0]|0)+7|0;q=c[qa>>2]|0;s=m>>1;if(Da){nc[q&1](ya,Aa,D,da,da,xa,t,fa,z,o,Z,p,y,x,n,v,u,s,W);F=47;break}else{nc[q&1](ya,Aa,D,da,da,xa,fa,t,o,z,p,Z,x,y,n,v,u,s,W);F=47;break}}else{if(!Y){if(!H){F=47;break}F=G^1;m=m>>(F&1);ic[c[ra>>2]&7](ya,Aa,D,da,da,xa,(j|0)==0|F|(k|0)==0?0:8192,(h|0)==0|F|(i|0)==0?0:8192,m,da);F=47;break}u=(c[aa>>2]&393216|0)==0;v=((u?j:h)|0)==0|G^1|((u?k:i)|0)==0?0:8192;if(G){ic[c[sa>>2]&7](u?ya:Aa,D,da,xa,u?ga:_,u?ea:w,(a[na>>0]|0)+6|0,v,m,da);l=1;break}n=(a[pa>>0]|0)+6|0;q=c[ta>>2]|0;s=u?ya:Aa;if(Da){kc[q&7](s,D,da,xa,u?t:Z,u?fa:p,u?z:y,u?o:x,n,v,m>>1,W);F=47;break}else{kc[q&7](s,D,da,xa,u?fa:p,u?t:Z,u?o:x,u?z:y,n,v,m>>1,W);F=47;break}}while(0);if((F|0)==47){l=l+1|0;if((l|0)==2){q=$;s=ea;u=Z;n=fa;m=_;l=ga;break a}}n=c[aa>>2]|0}}else{z=e;n=v;e=E}while(0);ia=ia+1|0;if((ia|0)==(wa|0))break;else{E=e;ha=ha+16|0;e=z;v=n}}return}function Yg(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c[a+44>>2]|0;j=b[l+4118>>1]|0;h=(r(c[a+8>>2]|0,j)|0)+(c[a+4>>2]|0)|0;k=c[a+28>>2]|0;if((c[(c[a>>2]|0)+24>>2]|0)==1){i=(h|0)%142560|0;f=i+1|0;g=e[k+2>>1]|0;do if(((c[a+12>>2]|0)+1|0)==(g|0)){m=(c[a+16>>2]|0)+1|0;h=m+(d[k+1>>0]|0)|0;if((m|0)!=(e[k+4>>1]|0)){f=r(h,j)|0;f=f+(d[k>>0]|0)|0;break}if((h|0)==(b[l+4120>>1]|0)?(g+(d[k>>0]|0)|0)==(j|0):0)break;f=(r(d[k+7>>0]|0,j)|0)+(d[k+6>>0]|0)|0}while(0);c[a+684>>2]=f;m=c[a+80>>2]|0;l=m+(i<<2)|0;m=m+(f<<2)|0;m=c[m>>2]|0;l=c[l>>2]|0;l=m-l|0;m=a+252|0;c[m>>2]=l;return}f=h+1|0;g=e[k+2>>1]|0;do if(((c[a+12>>2]|0)+1|0)==(g|0)){m=(c[a+16>>2]|0)+1|0;f=m+(d[k+1>>0]|0)|0;if((m|0)!=(e[k+4>>1]|0)){f=r(f,j)|0;f=f+(d[k>>0]|0)|0;break}if((f|0)==(b[l+4120>>1]|0)?(g+(d[k>>0]|0)|0)==(j|0):0){f=((h|0)%142560|0)+1|0;break}f=(r(d[k+7>>0]|0,j)|0)+(d[k+6>>0]|0)|0}while(0);c[a+684>>2]=f;m=c[a+80>>2]|0;l=m+(h<<2)|0;m=m+(f<<2)|0;m=c[m>>2]|0;l=c[l>>2]|0;l=m-l|0;m=a+252|0;c[m>>2]=l;return}function Zg(f){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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;y=c[f>>2]|0;G=c[f+4>>2]|0;w=a[y+33>>0]|0;z=f+16|0;D=a[(c[z>>2]|0)+174>>0]|0;t=c[f+20>>2]|0;I=a[G+4116>>0]|0;J=I<<24>>24;H=1<<J;A=G+4118|0;g=b[A>>1]|0;s=(J<<1)+-7|0;E=f+24|0;x=c[E>>2]|0;v=x<<s;B=f+28|0;C=c[B>>2]|0;L=r(C,g+1<<s)|0;K=(c[f+48>>2]|0)+v+L|0;L=(c[f+52>>2]|0)+v+L|0;v=J+-3|0;u=g<<v;v=(c[f+60>>2]|0)+((r(C,u)|0)+x<<v)|0;x=(r(C,g)|0)+x|0;x=1<<(x&7)&d[(c[f+56>>2]|0)+(x>>3)>>0];g=c[K>>2]|0;C=(H|0)/2|0;h=-1>>>(32-C|0);i=c[L>>2]&h;s=1<<s;Uk(K|0,0,s+(H>>5<<1)|0)|0;Uk(L|0,0,s|0)|0;if(c[E>>2]|0)c[K>>2]=c[K>>2]|g&h;if(c[B>>2]|0)c[L>>2]=c[L>>2]|i;q=f+64|0;if(x|0)a[v>>0]=c[c[q>>2]>>2]<<9>>25;if((t|0)>0){p=J+-2|0;s=7-J|0;if(I<<24>>24==6){m=0;do{n=(c[q>>2]|0)+(m<<2)|0;g=c[n>>2]|0;o=g&15;h=g>>>4&15;i=4<<(g>>>8&7);k=i>>>2;i=-1431655766>>>(32-(i>>>1)|0);j=g&1;if(!j){p=K+(o>>>s<<2)|0;c[p>>2]=c[p>>2]|i<<(h<<1)}if((g&16|0)==0?(p=L+(h>>>s<<2)|0,c[p>>2]=c[p>>2]|i<<(o<<1),(j|x|0)==0):0){l=k+h|0;j=k+o|0;do{i=r(h>>1,u)|0;g=o;do{a[v+((g>>1)+i)>>0]=c[n>>2]<<9>>25;g=g+2|0}while(g>>>0<j>>>0);h=h+2|0}while(h>>>0<l>>>0)}m=m+1|0}while((m|0)!=(t|0))}else{m=0;do{n=(c[q>>2]|0)+(m<<2)|0;g=c[n>>2]|0;o=g&15;i=g>>>4;h=i&15;j=4<<(g>>>8&7);l=j>>>2;j=-1431655766>>>(32-(j>>>1)|0);k=g&1;if(!k){M=K+(o>>>s<<2)|0;c[M>>2]=c[M>>2]|j<<(h<<1)+((g&2)<<p)}if((g&16|0)==0?(M=L+(h>>>s<<2)|0,c[M>>2]=c[M>>2]|j<<((i&2)<<p)+(o<<1),(k|x|0)==0):0){k=l+h|0;j=l+o|0;do{i=r(h>>1,u)|0;g=o;do{a[v+((g>>1)+i)>>0]=c[n>>2]<<9>>25;g=g+2|0}while(g>>>0<j>>>0);h=h+2|0}while(h>>>0<k>>>0)}m=m+1|0}while((m|0)!=(t|0))}}m=w<<24>>24==0;a:do if(!(a[y+27>>0]|0)){if(!(m?!(c[f+32>>2]|0):0))F=32;do if((F|0)==32){if((D<<24>>24==0?(c[f+40>>2]|0)==0:0)?(c[f+44>>2]|0)==0:0)break;if(c[E>>2]|0)break a}while(0);c[K>>2]=c[K>>2]&(I<<24>>24==6?0:-1<<C)}else{if(m?(c[f+32>>2]|0)==0:0){c[K>>2]=c[K>>2]&(I<<24>>24==6?0:-1<<C);break}k=c[E>>2]|0;g=(r(c[B>>2]|0,b[A>>1]|0)|0)+k|0;h=c[f+96>>2]|0;i=b[h+(g<<1)>>1]|0;j=i&65535;k=(k|0)==0;if(!k){g=b[h+(g+-1<<1)>>1]|0;if(g<<16>>16==i<<16>>16?(a[(c[z>>2]|0)+75>>0]|0)==1:0)break;else g=g&65535}else g=-1;if(D<<24>>24!=0|(g|0)==(j|0)){if(!k)break}else if(c[f+44>>2]|0?!(k|(c[f+32>>2]|0)==0):0)break;c[K>>2]=c[K>>2]&(I<<24>>24==6?0:-1<<C)}while(0);g=c[E>>2]|0;h=c[B>>2]|0;i=b[A>>1]|0;k=(r(h,i)|0)+g|0;j=c[f+96>>2]|0;k=e[j+(k<<1)>>1]|0;l=(h|0)==0;if(l)i=-1;else i=e[j+((r(h+-1|0,i)|0)+g<<1)>>1]|0;if(m?(c[f+36>>2]|0)==0:0)F=52;else if(l|D<<24>>24==0&(i|0)!=(k|0))F=52;if((F|0)==52){c[L>>2]=c[L>>2]&(I<<24>>24==6?0:-1<<C);h=c[B>>2]|0;g=c[E>>2]|0}i=(b[G+2>>1]|0)-(h<<J)>>3;h=(b[G>>1]|0)-(g<<J)>>3;g=H>>3;if((i|0)<(g|0)){M=J+-4|0;Uk(L+((I<<24>>24==6?0:(i&1)<<M)+(i>>6-J<<2))|0,0,1<<M|0)|0}if((h|0)>=(g|0))return 0;M=J+-4|0;Uk(K+((I<<24>>24==6?0:(h&1)<<M)+(h>>6-J<<2))|0,0,1<<M|0)|0;return 0}function _g(f){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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;O=c[f+4>>2]|0;H=c[f>>2]|0;S=a[O+4116>>0]|0;T=S<<24>>24;P=1<<T;F=O+4118|0;G=b[F>>1]|0;A=(T<<1)+-7|0;g=G+1<<A;M=f+24|0;E=c[M>>2]|0;h=E<<A;J=f+28|0;I=c[J>>2]|0;R=r(I,g)|0;Q=(c[f+48>>2]|0)+h+R|0;R=(c[f+52>>2]|0)+h+R|0;h=c[Q>>2]|0;K=(P|0)/2|0;i=-1>>>(32-K|0);j=c[R>>2]&i;B=f+64|0;D=T+-3|0;C=G<<D;D=(c[f+60>>2]|0)+((r(I,C)|0)+E<<D)|0;E=(r(I,G)|0)+E|0;E=1<<(E&7)&d[(c[f+56>>2]|0)+(E>>3)>>0];G=a[H+33>>0]|0;I=f+16|0;L=a[(c[I>>2]|0)+174>>0]|0;A=1<<A;Uk(Q|0,0,A+(P>>4)|0)|0;Uk(R|0,0,A|0)|0;if(c[M>>2]|0)c[Q>>2]=c[Q>>2]|h&i;if(c[J>>2]|0)c[R>>2]=c[R>>2]|j;y=R+g|0;c[y>>2]=0;m=(r(c[J>>2]|0,b[F>>1]|0)|0)+(c[M>>2]|0)|0;z=f+8|0;A=c[f+68>>2]|0;m=(c[A+(c[f+92>>2]<<2)>>2]|0)-(c[A+(((c[(c[z>>2]|0)+24>>2]|0)==1?(m|0)%142560|0:m)<<2)>>2]|0)|0;if(E|0)a[D>>0]=c[c[B>>2]>>2]<<9>>25;if((m|0)>0){A=S<<24>>24==6;o=T+-2|0;p=7-T|0;q=(P|0)/8|0;s=(64>>>T)+-1|0;t=T+-1|0;n=0;do{u=(c[B>>2]|0)+(n<<2)|0;j=c[u>>2]|0;v=j&15;k=j>>>4;g=k&15;h=4<<(j>>>8&7);x=h>>>2;w=x+v|0;x=x+g|0;l=(c[M>>2]<<T)+(v<<2)|0;if(1<<(l>>>3&7)&d[(c[(c[z>>2]|0)+212>>2]|0)+(r(((b[O>>1]|0)+63|0)/64|0,(c[J>>2]<<T)+(g<<2)>>3)|0)+(l>>6)>>0]|0){i=-1431655766>>>(32-(h>>>1)|0);if(!(j&1)){l=Q+(v>>>p<<2)|0;c[l>>2]=c[l>>2]|i<<(g<<1)+(A?0:(j&2)<<o)}if(!(j&16)){l=R+(g>>>p<<2)|0;c[l>>2]=c[l>>2]|i<<(A?0:(k&2)<<o)+(v<<1)}}do if(c[u>>2]&2048){l=1431655765>>>(32-(h>>>1)|0);i=j&1;if(!i){h=Q+(v>>>p<<2)|0;c[h>>2]=c[h>>2]|l<<(g<<1)+(A?0:(j&2)<<o)}h=j&16;if(!h){j=R+(g>>>p<<2)|0;c[j>>2]=c[j>>2]|l<<(A?0:(k&2)<<o)+(v<<1)}do if(!(w&1)){j=w>>>1;if((q|0)==(j|0)?(c[M>>2]|0)==((b[F>>1]|0)+-1|0):0)break;k=Q+(w>>>p<<2)|0;c[k>>2]=c[k>>2]|l<<((j&s)<<t)+(g<<1)}while(0);if(!(x&1)){j=x>>>1;k=v<<1;if((q|0)==(j|0)){c[y>>2]=c[y>>2]|l<<k;break}else{U=R+(x>>>p<<2)|0;c[U>>2]=c[U>>2]|l<<((j&s)<<t)+k;break}}}else{i=j&1;h=j&16}while(0);if(!(i|E|h))do{i=r(g>>>1,C)|0;h=v;do{a[D+((h>>1)+i)>>0]=c[u>>2]<<9>>25;h=h+2|0}while(h>>>0<w>>>0);g=g+2|0}while(g>>>0<x>>>0);n=n+1|0}while((n|0)!=(m|0))}F=b[F>>1]|0;y=(r(c[J>>2]|0,F)|0)+(c[M>>2]|0)|0;U=c[f+72>>2]|0;y=(c[U+(c[f+88>>2]<<2)>>2]|0)-(c[U+(y<<2)>>2]|0)|0;if((y|0)>0){z=f+84|0;A=f+80|0;B=S<<24>>24==6;C=T+-2|0;D=7-T|0;x=c[f+76>>2]|0;w=0;do{v=x+(w<<4)|0;p=x+(w<<4)+12|0;k=c[p>>2]|0;g=k&15;j=k>>>4;i=j&15;h=(k>>>8&15)+1|0;l=(k>>>12&15)+1|0;E=h+g|0;u=l+i|0;a:do if(!(k&65536)){b:do if((c[M>>2]|0)!=(0-g|0)){t=g+18|0;n=B?0:(k&2)<<C;o=Q+(g>>>D<<2)|0;q=c[z>>2]|0;s=c[A>>2]|0;if(k&1|0){j=l;k=i;while(1){p=c[s+(c[q+(t+(k*18|0)<<2)>>2]<<4)+12>>2]|0;p=(p>>>12&15)+1+(p>>>4&15)|0;U=k;k=p>>>0<u>>>0?p:u;j=j+(U-k)|0;if((j|0)<=0)break b}}do{j=c[q+(t+(i*18|0)<<2)>>2]|0;U=c[s+(j<<4)+12>>2]|0;m=(U>>>12&15)+1+(U>>>4&15)|0;k=i;i=m>>>0<u>>>0?m:u;m=i-k|0;if(!(U&65536)){if(fh(v,s+(j<<4)|0)|0){j=1431655765;N=47}}else{j=-1431655766;N=47}if((N|0)==47){N=0;c[o>>2]=c[o>>2]|j>>>(32-(m<<1)|0)<<(k<<1)+n}l=l-m|0}while((l|0)>0);i=(c[p>>2]|0)>>>4&15}while(0);if((c[J>>2]|0)!=(0-i|0)){p=i*18|1;l=B?0:(i&2)<<C;m=R+(i>>>D<<2)|0;n=c[z>>2]|0;o=c[A>>2]|0;if(i&1|0)while(1){v=c[o+(c[n+(p+g<<2)>>2]<<4)+12>>2]|0;v=(v&15)+1+(v>>>8&15)|0;U=g;g=v>>>0<E>>>0?v:E;h=h+(U-g)|0;if((h|0)<=0)break a}do{i=c[n+(p+g<<2)>>2]|0;U=c[o+(i<<4)+12>>2]|0;k=(U&15)+1+(U>>>8&15)|0;j=g;g=k>>>0<E>>>0?k:E;k=g-j|0;if(!(U&65536)){if(fh(v,o+(i<<4)|0)|0){i=1431655765;N=57}}else{i=-1431655766;N=57}if((N|0)==57){N=0;c[m>>2]=c[m>>2]|i>>>(32-(k<<1)|0)<<(j<<1)+l}h=h-k|0}while((h|0)>0)}}else{if(!(k&1)){U=Q+(g>>>D<<2)|0;c[U>>2]=c[U>>2]|-1431655766>>>(32-(l<<1)|0)<<(i<<1)+(B?0:(k&2)<<C)}if(!(k&16)){U=R+(i>>>D<<2)|0;c[U>>2]=c[U>>2]|-1431655766>>>(32-(h<<1)|0)<<(B?0:(j&2)<<C)+(g<<1)}}while(0);w=w+1|0}while((w|0)!=(y|0))}l=G<<24>>24==0;c:do if(!(a[H+27>>0]|0)){if(!(l?!(c[f+32>>2]|0):0))N=64;do if((N|0)==64){if((L<<24>>24==0?(c[f+40>>2]|0)==0:0)?(c[f+44>>2]|0)==0:0)break;if(c[M>>2]|0)break c}while(0);c[Q>>2]=c[Q>>2]&(S<<24>>24==6?0:-1<<K)}else{if(l?(c[f+32>>2]|0)==0:0){c[Q>>2]=c[Q>>2]&(S<<24>>24==6?0:-1<<K);break}g=c[M>>2]|0;h=c[f+96>>2]|0;i=(g|0)==0;if(!i){g=(r(c[J>>2]|0,F)|0)+g|0;g=(b[h+(g+-1<<1)>>1]|0)==(b[h+(g<<1)>>1]|0);if(g&(a[(c[I>>2]|0)+75>>0]|0)==1)break}else g=0;do if(!(L<<24>>24)){if((c[f+40>>2]|0)==0?(c[f+44>>2]|0)==0:0)break;if(!(i|(g|(c[f+32>>2]|0)!=0)^1))break c}else if(!i)break c;while(0);c[Q>>2]=c[Q>>2]&(S<<24>>24==6?0:-1<<K)}while(0);g=c[M>>2]|0;h=c[J>>2]|0;j=(r(h,F)|0)+g|0;i=c[f+96>>2]|0;j=e[i+(j<<1)>>1]|0;k=(h|0)==0;if(k)i=-1;else i=e[i+((r(h+-1|0,F)|0)+g<<1)>>1]|0;if(l?(c[f+36>>2]|0)==0:0)N=85;else if(k|L<<24>>24==0&(i|0)!=(j|0))N=85;if((N|0)==85){c[R>>2]=c[R>>2]&(S<<24>>24==6?0:-1<<K);h=c[J>>2]|0;g=c[M>>2]|0}i=(b[O+2>>1]|0)-(h<<T)>>3;h=(b[O>>1]|0)-(g<<T)>>3;g=P>>3;if((i|0)<(g|0)){U=T+-4|0;Uk(R+((S<<24>>24==6?0:(i&1)<<U)+(i>>6-T<<2))|0,0,1<<U|0)|0}if((h|0)>=(g|0))return 0;U=T+-4|0;Uk(Q+((S<<24>>24==6?0:(h&1)<<U)+(h>>6-T<<2))|0,0,1<<U|0)|0;return 0}function $g(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=c[f+48>>2]|0;l=c[f+28>>2]|0;h=c[f+44>>2]|0;o=f+12|0;c[o>>2]=(c[o>>2]|0)+g;o=f+4|0;j=(c[o>>2]|0)+g|0;c[o>>2]=j;o=f+20|0;n=(c[o>>2]|0)+g|0;c[o>>2]=n;if(!(a[(c[f+40>>2]|0)+27>>0]|0)){h=e[l+2>>1]|0;g=f+24|0;if((n|0)<(h|0))return;c[g>>2]=(c[g>>2]|0)+1;c[o>>2]=n-h;return}m=b[i+872>>1]|0;k=b[h+4118>>1]|0;h=(r(k,b[i+874>>1]|0)|0)+m|0;i=d[l>>0]|0;if((h|0)>=((r(d[l+1>>0]|0,k)|0)+i|0)){if((n|0)<(e[l+2>>1]|0))return;n=f+24|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=0;return}if((j|0)>(m|0)){h=e[l+2>>1]|0;g=f+24|0;if((n|0)<(h+i|0))return;c[g>>2]=(c[g>>2]|0)+1;c[o>>2]=n-h;return}else{h=e[l+2>>1]|0;g=f+24|0;if((n|0)<(k-m+i+h|0))return;c[g>>2]=(c[g>>2]|0)+1;c[o>>2]=n-h;return}}function ah(e){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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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;Ma=Sb;Sb=Sb+272|0;na=Ma+160|0;sa=Ma+252|0;ya=Ma+248|0;Ba=Ma+244|0;Fa=Ma+240|0;Ga=Ma+236|0;Ha=Ma+232|0;Ia=Ma+258|0;Ja=Ma+256|0;oa=Ma+144|0;pa=Ma;qa=c[e+44>>2]|0;p=c[e+40>>2]|0;o=c[e+48>>2]|0;ra=c[e>>2]|0;ta=c[e+256>>2]|0;ua=c[e+260>>2]|0;va=c[e+244>>2]|0;wa=qa+4116|0;u=a[wa>>0]|0;n=u<<24>>24;xa=1<<n;La=e+64|0;g=c[La>>2]|0;za=c[ra+20>>2]|0;Aa=c[e+240>>2]|0;q=c[e+68>>2]|0;if((a[qa+54>>0]|0)==1?(a[p+40>>0]|0)==1:0)f=p;else f=qa+8968|0;ma=c[f>>2]|0;i=a[e+251>>0]|0;k=a[e+250>>0]|0;l=a[e+248>>0]|0;m=a[e+249>>0]|0;f=na;h=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));la=e+8|0;t=c[la>>2]|0;ka=(b[qa+2>>1]|0)-(t<<n)|0;ka=(xa|0)<(ka|0)?xa:ka;j=(ka|0)/4|0;if((ka|0)>3){h=(i&255)<<31;f=0;do{f=f+1|0;c[na+(f<<2)>>2]=h}while((f|0)!=(j|0))}ja=(xa|0)/4|0;s=b[qa>>1]|0;ka=e+4|0;j=c[ka>>2]|0;f=(s<<16>>16)-(j<<n)|0;f=(xa|0)<(f|0)?xa:f;c[na>>2]=(l<<24>>24==1?(1<<((f|0)/4|0))+-1<<31-ja+((xa-f|0)/4|0):0)|((m&255)<<31>>>(ja+1|0)|(k&255)<<31);ja=e+252|0;f=c[ja>>2]|0;if((f|0)<=0){Ja=g;Ka=f;c[La>>2]=Ja;Sb=Ma;return Ka|0}ga=ra+64|0;ha=e+128|0;ia=p+19|0;ea=o+168|0;fa=p+20|0;da=o+169|0;W=p+15|0;X=0-za|0;Y=oa+4|0;Z=oa+8|0;_=ra+12008|0;$=ra+12012|0;aa=qa+161|0;ba=ra+12004|0;ca=ra+12e3|0;h=0;v=0;k=u;i=t;f=s;while(1){c[sa>>2]=0;c[ya>>2]=0;c[Ba>>2]=0;c[Fa>>2]=0;c[Ga>>2]=0;c[Ha>>2]=0;t=(c[ga>>2]|0)==12;U=t&1;V=t?-2:0;l=c[q>>2]|0;p=l<<2&60;s=l>>>2&60;S=k<<24>>24;T=(j<<S)+p|0;T=1<<(T>>>3&7)&d[(c[ha>>2]|0)+(r(((f<<16>>16)+63|0)/64|0,(i<<S)+s>>3)|0)+(T>>6)>>0];S=l>>>23&63;R=l>>>29;u=R&255;R=(R|0)==7?1:2;T=(T|0)!=0;if((S|0)==63&T){m=4<<(l>>>8&7);n=ta+((r(s,za)|0)+p)|0;o=(r(s>>>1,za)|0)+p|0;k=ua+o|0;g=g+6|0;if((m|0)>0){j=r(m,m)|0;f=0;i=g;while(1){Sk(n+(r(f,za)|0)|0,i|0,m|0)|0;f=f+1|0;if((f|0)==(m|0))break;else i=i+m|0}g=g+j|0}k=k+U|0;l=m>>>1;j=0;do{i=r(j,za)|0;f=0;do{Q=g;g=g+1|0;a[k+((f<<1)+i)>>0]=a[Q>>0]|0;f=f+1|0}while(f>>>0<l>>>0);j=j+1|0}while(j>>>0<l>>>0);k=k+1+V|0;j=0;do{i=r(j,za)|0;f=0;do{Q=g;g=g+1|0;a[k+((f<<1)+i)>>0]=a[Q>>0]|0;f=f+1|0}while(f>>>0<l>>>0);j=j+1|0}while(j>>>0<l>>>0);Q=0;i=m;P=o}else{Q=1;i=0;n=ta+((r(s,za)|0)+p)|0;P=(r(s>>>1,za)|0)+p|0}N=p+-4+(r((s+-4|0)/2|0,za)|0)|0;O=T?0:3;L=t<<31>>31;M=36736+(S<<2)|0;o=0;K=0;f=u;s=0;p=0;m=0;l=0;j=i;i=v;do{do if(Q){C=(K|0)==0;B=c[q>>2]|0;u=B>>>8&7;if(C){v=u+2|0;t=4<<u;y=T&(u|0)==0;w=u+1|0;k=y?u:w;x=B<<9>>25;j=a[g+1>>0]&1;if(!(B&2048)){J=j;I=0;G=n;H=v;D=k;E=m;F=l}else{A=(x|0)/6|0;J=j;I=1;G=n;H=v;D=k;E=m;F=l;g=dh(va,v,g,ma+(c[36880+((u*6|0)+(T?0:(u|0)==3?1:3)<<2)>>2]<<1)|0,x-(A*6|0)|0,A,y?0:w,B>>>15&1,sa,Ba,Ga,Ia)|0}}else{o=(u|0)==0;y=o?0:u+-1|0;v=y+2|0;t=1<<v;w=va+(t<<v<<1)|0;o=ua+(o?N:P)+U|0;u=o+1+V|0;j=K+O+(y*6|0)|0;x=ma+(c[36880+(j+1<<2)>>2]<<1)|0;p=y+5|0;p=(p|0)<7?p:7;y=y+1|0;m=B>>>12&1;z=B<<9>>25;k=z+(a[ia>>0]|0)+(a[ea>>0]|0)|0;k=(k|0)>0?k:0;k=b[36352+(((k|0)<57?k:57)<<1)>>1]|0;s=B>>>13&1;z=z+(a[fa>>0]|0)+(a[da>>0]|0)|0;z=(z|0)>0?z:0;z=b[36352+(((z|0)<57?z:57)<<1)>>1]|0;A=(z|0)/6|0;l=a[g+1>>0]&1;if(!m)j=l;else{J=(k|0)/6|0;j=dh(va,v,g,ma+(c[36880+(j<<2)>>2]<<1)|0,k-(J*6|0)|0,J,y,B>>>15&1,sa,Ba,Ga,Ia)|0;g=j;j=a[j+1>>0]&1}if(!s){J=l;I=m;G=o;H=v;o=j;D=p;s=0;p=u;E=u;F=w}else{J=l;I=m;G=o;H=v;o=j;D=p;s=s&255;p=u;E=u;F=w;g=dh(w,v,g,x,z-(A*6|0)|0,A,y,(c[q>>2]|0)>>>15&1,ya,Fa,Ha,Ja)|0}}if(T)if(C){m=eh(e,q,na,b[qa>>1]|0,a[W>>0]|0,t,xa)|0;if((t|0)==4){C=c[q>>2]|0;c[oa+((C>>>3&2|C&1)<<2)>>2]=m}i=(c[q>>2]&17|0)==0?m:i;j=G+X|0;k=G+-1|0;l=j+-1|0;if((m|0)==131071)gc[c[_>>2]&3](l,j,k,za,t,131071,pa,1);else gc[c[ba>>2]&3](l,j,k,za,t,m,pa,1);dc[c[$>>2]&7](pa,t,pa,S,a[aa>>0]|0);ec[c[ra+11728+(c[M>>2]<<2)>>2]&31](pa,1,G,za,t,S)}else{m=G+L|0;j=c[q>>2]|0;if(!(j&1792))i=c[Y>>2]&61440|c[oa>>2]&69616|c[Z>>2]&15;l=m+-2|0;if(!(j&16384)){j=q;do{j=j+-4|0;k=c[j>>2]|0}while(!(k&16384|0));j=k}k=m+X|0;j=j>>>23&63;if(f<<24>>24==4)f=j&255;else{f=a[41107+(f&255)>>0]|0;f=(j|0)==(f&255|0)?34:f}gc[c[ca>>2]&3](k+-2|0,k,l,za,t,i,pa,1);C=f&255;ec[c[ra+11772+(c[36736+(C<<2)>>2]<<2)>>2]&31](pa,1,m,za,t,C)}do if((I|0)==1){if(c[q>>2]&32768|J|0){fc[c[ra+11848+(D<<2)>>2]&31](va,G,G,t,za,za,c[sa>>2]|0);break}if(!(c[Ga>>2]|0)){hc[c[ra+11816+(D<<2)>>2]&15](va,Aa,G,G,t,za,za,c[sa>>2]|0,c[Ba>>2]|0);break}else{ec[c[ra+11880+(K<<2)>>2]&31](G,G,za,za,H,b[Ia>>1]|0);break}}while(0);if((K|0)!=0&s<<24>>24==1){if(c[q>>2]&32768|o|0){fc[c[ra+11848+(D<<2)>>2]&31](F,E,p,t,za,za,c[ya>>2]|0);s=1;m=E;l=F;j=t;break}if(!(c[Ha>>2]|0)){hc[c[ra+11816+(D<<2)>>2]&15](F,Aa,E,p,t,za,za,c[ya>>2]|0,c[Fa>>2]|0);s=1;m=E;l=F;j=t;break}else{ec[c[ra+11880+(K<<2)>>2]&31](E,p,za,za,H,b[Ja>>1]|0);s=1;m=E;l=F;j=t;break}}else{m=E;l=F;j=t;k=f;Ka=63}}else{k=f;Ka=63}while(0);if((Ka|0)==63){Ka=0;if(((K|0)==0?(Ca=(j|0)/4|0,Da=c[q>>2]|0,Ea=(1<<Ca)+-1<<32-Ca>>>((Da&15)+1|0),(j|0)>3):0)?(J=na+((Da>>>4&15)+1<<2)|0,c[J>>2]=c[J>>2]|Ea,(j&-4|0)!=4):0){f=1;do{f=f+1|0;J=na+(f+((c[q>>2]|0)>>>4&15)<<2)|0;c[J>>2]=c[J>>2]|Ea}while((f|0)!=(Ca|0));f=k}else f=k}K=K+1|0}while(K>>>0<R>>>0);h=h+1|0;f=c[ja>>2]|0;if((h|0)>=(f|0))break;q=q+4|0;v=i;k=a[wa>>0]|0;j=c[ka>>2]|0;i=c[la>>2]|0;f=b[qa>>1]|0}c[La>>2]=g;Sb=Ma;return f|0}function bh(f,g,h){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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,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;za=Sb;Sb=Sb+32|0;p=za;qa=c[f+160>>2]|0;ja=c[f+4>>2]|0;ta=c[f>>2]|0;ka=f+8|0;ra=c[ka>>2]|0;pa=c[f+12>>2]|0;oa=a[ja+4116>>0]|0;la=oa<<24>>24;ua=1<<la;ja=ja+4118|0;ea=b[ja>>1]|0;ma=(la<<1)+-7|0;da=ea+1<<ma;xa=f+116|0;m=c[xa>>2]|0;k=m<<ma;ha=f+120|0;j=c[ha>>2]|0;n=r(j,da)|0;i=(c[f+64>>2]|0)+k+n|0;n=(c[f+68>>2]|0)+k+n|0;k=la+-3|0;ya=ea<<k;l=(c[f+76>>2]|0)+((r(j,ya)|0)+m<<k)|0;m=(r(j,ea)|0)+m|0;ea=(h|0)!=0;j=i+da|0;if(ea){Uk(j|0,0,1<<ma|0)|0;l=l+(ya<<k)|0;i=f+128+(ua>>3<<1)|0;o=m+(b[ja>>1]|0)|0}else{j=i;i=f+128|0;o=m}sa=(g|0)!=0;if(sa){m=1<<ma;k=n+m|0;Uk(k|0,0,m|0)|0;m=ua>>3;l=l+m|0;if(oa<<24>>24!=31){i=0;while(1){b[p+(i<<1)>>1]=(e[f+128+(i<<1)>>1]|0)>>>m;if((i|0)<(m|0))i=i+1|0;else break}}n=k;wa=p;o=o+1|0}else wa=i;k=c[f+72>>2]|0;ia=1<<(o&7)&d[k+(o>>3)>>0];m=c[xa>>2]|0;i=o+-1|0;if(m|g){i=1<<(i&7)&d[k+(i>>3)>>0];if(!(c[ha>>2]|h)){na=0;ga=i}else{na=o-(b[ja>>1]|0)+-1|0;na=1<<(na&7)&d[k+(na>>3)>>0];ga=i}}else{na=0;ga=0}p=c[ha>>2]|0;if(!(p|h))fa=0;else{fa=o-(b[ja>>1]|0)|0;fa=1<<(fa&7)&d[k+(fa>>3)>>0]}va=c[ra+20>>2]|0;aa=(g|0)==0;a:do if(aa?(s=b[ja>>1]|0,t=r(p,s)|0,q=c[ra+304>>2]|0,s=e[(c[f+156>>2]|0)+(m-s+t+(ea?s:0)<<1)>>1]|0,t=c[(c[ka>>2]|0)+20>>2]|0,T=va<<2,U=(ua|0)/8|0,(ua|0)>7):0){m=(c[f+148>>2]|0)+((r(t,p)|0)+m<<la)|0;L=oa<<24>>24==6;M=la+-1|0;N=ua>>>2;O=(1<<M)+-2|0;P=0-da|0;Q=pa+172|0;R=pa+173|0;S=q+(s*1272|0)+172|0;C=q+(s*1272|0)+173|0;D=(ua|0)/-8|0;B=r(D,ya)|0;E=l+B|0;F=(fa|0)==0;G=ra+11928|0;H=(ga|0)==0;I=(ia|0)==0;K=0-(va<<la)|0;B=(na|0)==0?l+~ya|0:l+(B-U)|0;m=m+(ea?t<<la:0)+(0-T)|0;i=0;k=j;while(1){A=i&1;q=L?0:A<<M;o=(c[k>>2]|0)>>>q<<2;if(p|h)o=(c[k+P>>2]|0)>>>(O+q|0)&3|o;x=l+(i-ya)|0;y=i+-1|0;z=l+(y-ya)|0;if(!i){x=F?x:E;w=0;while(1){u=a[Q>>0]|0;s=a[R>>0]|0;q=Mk(o|0)|0;q=(o|0)==0?31:q;p=q>>>1;if(!p){if(w){if(H)p=(r(w+-1>>1,ya)|0)+-1|0;else p=D;p=d[l+p>>0]|0;if(I){v=s;t=l+(r(w+-1>>1,ya)|0)|0}else{v=s;t=l}}else{v=a[C>>0]|0;u=a[S>>0]|0;p=d[B>>0]|0;t=x}q=w+1|0;s=e[wa+(q>>1<<1)>>1]|0;if((s&3|0)==3){s=q;p=T;q=2}else{hc[c[G>>2]&15](m,va,o&3,p,d[t>>0]|0,u<<24>>24,v<<24>>24,s&1^1,s>>>1&1^1);s=q;p=T;q=2}}else{$=p+w|0;s=$;p=r(T,($|0)<(N|0)?p:N-w|0)|0;q=q&62}m=m+p|0;if((N|0)>(s|0)){w=s;o=o>>>q}else break}}else{w=0;while(1){q=a[Q>>0]|0;p=a[R>>0]|0;t=Mk(o|0)|0;t=(o|0)==0?31:t;s=t>>>1;if(!s){do if(!w){q=a[S>>0]|0;p=a[C>>0]|0;if(F){v=d[x>>0]|0;u=d[z>>0]|0;break}else{u=a[E>>0]|0;v=u&255;u=u&255;break}}else if(I){u=r(w+-1>>1,ya)|0;v=d[l+(u+i)>>0]|0;u=d[l+(y+u)>>0]|0;break}else{u=d[l>>0]|0;v=u;break}while(0);s=w+1|0;t=(e[wa+(s>>1<<1)>>1]|0)>>>i;if((t&3|0)==3){u=s;p=T;q=2}else{hc[c[G>>2]&15](m,va,o&3,u,v,q<<24>>24,p<<24>>24,t&1^1,t>>>1&1^1);u=s;p=T;q=2}}else{p=s+w|0;u=p;p=r(T,(p|0)<(N|0)?s:N-w|0)|0;q=t&62}m=m+p|0;if((N|0)>(u|0)){w=u;o=o>>>q}else break}}switch(oa<<24>>24){case 6:{ca=46;break}case 5:{if(A)ca=46;break}default:{}}if((ca|0)==46){ca=0;k=k+4|0}i=i+1|0;if((i|0)==(U|0))break a;m=m+K+8|0;p=c[ha>>2]|0}}while(0);$=(h|0)==0;b:do if($?(_=c[xa>>2]|0,V=c[ha>>2]|0,Z=r(V,b[ja>>1]|0)|0,Y=c[ra+304>>2]|0,Z=e[(c[f+156>>2]|0)+(_+((sa^1)<<31>>31)+Z<<1)>>1]|0,ba=(ua|0)/8|0,(ua|0)>7):0){m=(c[f+148>>2]|0)+((r(c[(c[ka>>2]|0)+20>>2]|0,V)|0)+_<<la)|0;Q=oa<<24>>24==6;R=la+-1|0;S=ua>>>2;T=(1<<R)+-2|0;U=-1<<ma;V=pa+172|0;W=pa+173|0;X=Y+(Z*1272|0)+172|0;G=Y+(Z*1272|0)+173|0;N=(ua|0)/-8|0;H=l+N|0;I=(ga|0)==0;K=ra+11932|0;L=(fa|0)==0;M=(ia|0)==0;N=r(N,ya)|0;O=0-ua|0;P=va<<3;F=(na|0)==0?l+~ya|0:l+(N-ba)|0;i=n;k=0;m=m+(sa?ua:0)+-4|0;p=_;while(1){E=k&1;q=Q?0:E<<R;o=(c[i>>2]|0)>>>q<<2;if(p|g)o=(c[i+U>>2]|0)>>>(T+q|0)&3|o;B=wa+(k<<1)|0;C=wa+(k+1<<1)|0;D=r(k,ya)|0;y=l+(D+-1)|0;z=r(k+-1|0,ya)|0;A=l+(z+-1)|0;if(!k){x=I?y:H;u=0;while(1){s=a[V>>0]|0;q=a[W>>0]|0;p=Mk(o|0)|0;p=(o|0)==0?31:p;t=p>>>1;if(!t){if(u){if(L)p=(u+-1>>1)-ya|0;else p=N;p=d[l+p>>0]|0;if(M){w=s;v=l+((u+-1>>1)+D)|0}else{w=s;v=l}}else{q=a[G>>0]|0;w=a[X>>0]|0;p=d[F>>0]|0;v=x}s=u+1|0;u=1<<(s>>1);t=(u&e[B>>1]|0)==0;u=(u&e[C>>1]|0)==0;if(t|u){hc[c[K>>2]&15](m,va,o&3,p,d[v>>0]|0,w<<24>>24,q<<24>>24,t&1,u&1);q=2;p=4}else{q=2;p=4}}else{_=t+u|0;s=_;q=p&62;p=((_|0)<(S|0)?t:S-u|0)<<2}m=m+p|0;if((S|0)>(s|0)){u=s;o=o>>>q}else break}}else{x=0;while(1){q=a[V>>0]|0;p=a[W>>0]|0;s=Mk(o|0)|0;s=(o|0)==0?31:s;u=s>>>1;if(!u){do if(!x){q=a[X>>0]|0;p=a[G>>0]|0;if(I){v=d[y>>0]|0;w=d[A>>0]|0;break}else{w=d[H>>0]|0;v=w;break}}else if(M){w=x+-1>>1;v=d[l+(w+D)>>0]|0;w=d[l+(w+z)>>0]|0;break}else{w=d[l>>0]|0;v=w;break}while(0);t=x+1|0;u=1<<(t>>1);s=(u&e[B>>1]|0)==0;u=(u&e[C>>1]|0)==0;if(s|u){hc[c[K>>2]&15](m,va,o&3,w,v,q<<24>>24,p<<24>>24,s&1,u&1);q=2;p=4}else{q=2;p=4}}else{p=u+x|0;t=p;q=s&62;p=((p|0)<(S|0)?u:S-x|0)<<2}m=m+p|0;if((S|0)>(t|0)){x=t;o=o>>>q}else break}}switch(oa<<24>>24){case 6:{ca=82;break}case 5:{if(E)ca=82;break}default:{}}if((ca|0)==82){ca=0;i=i+4|0}k=k+1|0;if((k|0)==(ba|0))break b;m=m+O+P|0;p=c[xa>>2]|0}}while(0);c:do if(aa){k=c[xa>>2]|0;s=c[ha>>2]|0;m=b[ja>>1]|0;o=r(s,m)|0;i=c[(c[ka>>2]|0)+20>>2]|0;q=(c[f+152>>2]|0)+(((r(i,s)|0)/2|0)+k<<la)|0;if(ea)p=((i|0)/2|0)<<la;else p=0;S=va<<2;T=(ua|0)/16|0;if((ua|0)>15){U=ua>>>3;V=(1<<la+-1)+-2|0;O=0-da|0;P=oa<<24>>24==6?2:1;Q=0-(((va|0)/2|0)<<la)|0;R=pa+173|0;C=(c[ra+304>>2]|0)+((e[(c[f+156>>2]|0)+(k-m+o+(ea?m:0)<<1)>>1]|0)*1272|0)+173|0;D=(ua|0)/-8|0;B=r(D,ya)|0;E=l+B|0;F=(fa|0)==0;G=(ga|0)==0;H=(ia|0)==0;I=~ya;K=(qa|0)==0;L=ra+11924|0;M=ta+19|0;N=ta+20|0;B=(na|0)==0?l+I|0:l+(B-U)|0;i=0;o=q+p+(0-S)|0;m=s;d:while(1){k=c[j>>2]<<2;if(m|h)k=(c[j+O>>2]|0)>>>V&3|k;w=(i|0)==0;x=i<<1;y=l+(x-ya)|0;z=l+(x+I)|0;A=x+-1|0;t=0;u=k&572662306;v=o;while(1){p=a[R>>0]|0;k=Mk(u|0)|0;k=(u|0)==0?31:k;m=k>>>2;if(!m){e:do if(!t){k=a[C>>0]|0;do if(w){m=d[B>>0]|0;if(!F){s=d[E>>0]|0;break e}}else if(F){m=d[z>>0]|0;break}else{m=d[E>>0]|0;s=m;break e}while(0);s=d[y>>0]|0}else{do if(w){if(G)k=(r(t+-1|0,ya)|0)+-1|0;else k=D;m=d[l+k>>0]|0;if(H){o=r(t+-1|0,ya)|0;break}else{k=p;s=d[l>>0]|0;break e}}else if(H){o=r(t+-1|0,ya)|0;m=d[l+(A+o)>>0]|0;break}else{m=d[l>>0]|0;k=p;s=m;break e}while(0);k=p;s=d[l+(o+x)>>0]|0}while(0);ea=(e[wa+(t<<1)>>1]|0)>>>x;o=ea&1^1;p=ea>>>1&1^1;do if((ea&3|0)!=3){if(!(u&2))break d;q=c[L>>2]|0;if(K){hc[q&15](v,va,m,s,a[M>>0]|0,a[N>>0]|0,k<<24>>24,o,p);break}else{hc[q&15](v,va,s,m,a[N>>0]|0,a[M>>0]|0,k<<24>>24,p,o);break}}while(0);m=t+1|0;k=S;o=4}else{ea=m+t|0;o=k&60;m=ea;k=r((ea|0)<(U|0)?o:U-t<<2,va)|0}v=v+k|0;if((U|0)<=(m|0))break;else{t=m;u=u>>>o}}i=i+1|0;if((i|0)>=(T|0))break c;j=j+(P<<2)|0;o=v+Q+16|0;m=c[ha>>2]|0}J(42094,42120,600,42143)}}while(0);if(!$){Sb=za;return}k=c[xa>>2]|0;i=c[ha>>2]|0;W=(ua|0)/16|0;if((ua|0)<=15){Sb=za;return}m=(c[f+152>>2]|0)+(((r(c[(c[ka>>2]|0)+20>>2]|0,i)|0)/2|0)+k<<la)|0;N=e[(c[f+156>>2]|0)+(k+((sa^1)<<31>>31)+(r(i,b[ja>>1]|0)|0)<<1)>>1]|0;V=ua>>>3;U=(1<<la+-1)+-2|0;T=-1<<ma;Q=oa<<24>>24==6?2:1;R=0-ua|0;S=va<<3;M=pa+173|0;N=(c[ra+304>>2]|0)+(N*1272|0)+173|0;O=ya<<1;C=(ua|0)/-8|0;P=l+C|0;L=(ga|0)==0;K=(fa|0)==0;I=(ia|0)==0;C=r(C,ya)|0;H=(qa|0)==0;E=ra+11920|0;F=l+C|0;G=ta+19|0;D=ta+20|0;C=(na|0)==0?l+~ya|0:l+(C-V)|0;m=m+(sa?ua:0)+-8|0;i=0;f:while(1){j=c[n>>2]<<2;if(k|g)j=(c[n+T>>2]|0)>>>U&3|j;v=(i|0)==0;A=i<<1;w=wa+(A<<1)|0;x=wa+((A|1)<<1)|0;y=r(O,i)|0;z=l+(y+-1)|0;A=r(A+-1|0,ya)|0;B=l+(A+-1)|0;u=j&572662306;t=m;k=0;while(1){m=a[M>>0]|0;o=Mk(u|0)|0;o=(u|0)==0?31:o;j=o>>>2;if(!j){g:do if(!k){m=a[N>>0]|0;do if(v){j=d[C>>0]|0;if(!L){o=d[P>>0]|0;break g}}else if(L){j=d[B>>0]|0;break}else{o=d[P>>0]|0;j=o;break g}while(0);o=d[z>>0]|0}else{do if(v){j=d[(K?l+(k+-1-ya)|0:F)>>0]|0;if(I){o=k+-1|0;break}else{o=d[l>>0]|0;break g}}else if(I){o=k+-1|0;j=d[l+(o+A)>>0]|0;break}else{o=d[l>>0]|0;j=o;break g}while(0);o=d[l+(o+y)>>0]|0}while(0);ua=1<<k;ta=(ua&e[w>>1]|0)==0;p=ta&1;ua=(ua&e[x>>1]|0)==0;q=ua&1;do if(ta|ua){if(!(u&2)){ca=148;break f}s=c[E>>2]|0;if(H){hc[s&15](t,va,j,o,a[G>>0]|0,a[D>>0]|0,m<<24>>24,p,q);break}else{hc[s&15](t,va,o,j,a[D>>0]|0,a[G>>0]|0,m<<24>>24,q,p);break}}while(0);m=t+8|0;k=k+1|0;j=4}else{ua=j+k|0;m=t+(((ua|0)<(V|0)?j:V-k|0)<<3)|0;k=ua;j=o&60}if((V|0)>(k|0)){u=u>>>j;t=m}else break}i=i+1|0;if((i|0)>=(W|0)){ca=157;break}m=m+R+S|0;n=n+(Q<<2)|0;k=c[xa>>2]|0}if((ca|0)==148)J(42094,42120,749,42143);else if((ca|0)==157){Sb=za;return}}
function oc(){Td();ni()}function pc(a){a=a|0;var b=0;b=Sb;Sb=Sb+a|0;Sb=Sb+15&-16;return b|0}function qc(){return Sb|0}function rc(a){a=a|0;Sb=a}function sc(a,b){a=a|0;b=b|0;Sb=a;Tb=b}function tc(a,b,c){a=a|0;b=b|0;c=c|0;return gj(c)|0}function uc(a,b){a=a|0;b=b|0;hj(b);return}function vc(){Na();return 0}function wc(a){a=a|0;var b=0;Z(37880,37888,37904,0,40597,3,40600,0,40600,0,39672,40602,22);b=qj(8)|0;c[b>>2]=2;c[b+4>>2]=0;$(37880,39681,3,38984,40605,4,b|0,0);b=qj(8)|0;c[b>>2]=3;c[b+4>>2]=0;$(37880,39687,3,38996,40605,5,b|0,0);b=qj(8)|0;c[b>>2]=23;c[b+4>>2]=0;$(37880,39694,2,39008,40610,4,b|0,0);b=qj(8)|0;c[b>>2]=24;c[b+4>>2]=0;$(37880,39701,2,39008,40610,4,b|0,0);b=qj(8)|0;c[b>>2]=5;c[b+4>>2]=0;a=qj(8)|0;c[a>>2]=6;c[a+4>>2]=0;aa(37880,39719,37872,40614,1,b|0,37872,40605,6,a|0);a=qj(8)|0;c[a>>2]=7;c[a+4>>2]=0;b=qj(8)|0;c[b>>2]=8;c[b+4>>2]=0;aa(37880,39729,37872,40614,1,a|0,37872,40605,6,b|0);b=qj(8)|0;c[b>>2]=9;c[b+4>>2]=0;a=qj(8)|0;c[a>>2]=10;c[a+4>>2]=0;aa(37880,39737,37872,40614,1,b|0,37872,40605,6,a|0);a=qj(8)|0;c[a>>2]=11;c[a+4>>2]=0;b=qj(8)|0;c[b>>2]=12;c[b+4>>2]=0;aa(37880,39749,37872,40614,1,a|0,37872,40605,6,b|0);b=qj(8)|0;c[b>>2]=13;c[b+4>>2]=0;a=qj(8)|0;c[a>>2]=14;c[a+4>>2]=0;aa(37880,39761,37872,40614,1,b|0,37872,40605,6,a|0);a=qj(8)|0;c[a>>2]=15;c[a+4>>2]=0;aa(37880,39765,37872,40614,1,a|0,0,0,0,0);Z(37960,37976,37992,37880,40597,4,40597,5,40597,6,39776,40602,25);a=qj(4)|0;c[a>>2]=26;$(37960,40618,2,39016,40610,16,a|0,0);_(37880,40638,3,39024,40774,7,2);_(37880,40648,3,39188,40774,8,7);return}function xc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Sb;Sb=Sb+16|0;n=o+8|0;m=o;e=b+1800|0;l=b+4|0;if(a[e>>0]|0){f=c[l>>2]|0;if((a[46704]|0)==0?Ck(46704)|0:0)c[11692]=ra(1,38880)|0;oa(c[11692]|0,f|0,39789,m|0)}a[e>>0]=1;g=c[l>>2]|0;j=wa(39795)|0;g=sa(g|0,j|0)|0;pa(j|0);j=Pc(g,39807)|0;pa(g|0);c[n>>2]=39815;c[n+4>>2]=j?39824:39829;Ja(0,n|0);a[b+76>>0]=j&1;j=d+11|0;g=a[j>>0]|0;h=g<<24>>24<0;f=h?c[d>>2]|0:d;k=d+4|0;g=h?c[k>>2]|0:g&255;h=f+g|0;e=h;i=f;a:do if((g|0)<4)g=h;else{while(1){g=g+-3|0;if(!g){g=h;break a}f=Ni(f,46,g)|0;if(!f){g=h;break a}if(!(xi(f,39835,4)|0))break;f=f+1|0;g=e-f|0;if((g|0)<4){g=h;break a}}g=f;e=f}while(0);a[b+1801>>0]=(e-i|0)!=-1&(g|0)!=(h|0)&1;h=qa(39840)|0;e=a[j>>0]|0;if(e<<24>>24<0){f=c[k>>2]|0;g=gj(f+4|0)|0;c[g>>2]=f;e=c[d>>2]|0}else{f=e&255;g=gj(f+4|0)|0;c[g>>2]=f;e=d}Sk(g+4|0,e|0,f|0)|0;c[n>>2]=g;c[m>>2]=va(h|0,1,38888,n|0)|0;pa(h|0);Nc(m,39850,39861);Oc(n,b,39687);k=c[m>>2]|0;d=wa(39873)|0;Aa(k|0,d|0,c[n>>2]|0);pa(d|0);pa(c[n>>2]|0);c[b+1792>>2]=Fa()|0;b=c[l>>2]|0;n=wa(39883)|0;Aa(b|0,n|0,c[m>>2]|0);pa(n|0);pa(c[m>>2]|0);Sb=o;return}function yc(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=Sb;Sb=Sb+64|0;k=z+24|0;t=z+16|0;w=z;y=z+44|0;s=z+32|0;f=c[e>>2]|0;x=wa(40011)|0;c[w>>2]=sa(f|0,x|0)|0;pa(x|0);Sc(y,w);pa(c[w>>2]|0);x=y+11|0;f=a[x>>0]|0;j=y+4|0;e=b+1796|0;c[e>>2]=(c[e>>2]|0)+(f<<24>>24<0?c[j>>2]|0:f&255);f=Fa()|0;h=b+1792|0;i=c[h>>2]|0;if((f|0)>(i|0)){g[b+1816>>3]=+(c[e>>2]|0)*1.0e3/+(f-i|0);c[h>>2]=f;c[e>>2]=0}a:do if(!(a[b+1801>>0]|0))switch(a[(Ij(y,0)|0)>>0]|0){case 1:{Dj(s,y,1,-1,y);c[w>>2]=c[s>>2];c[w+4>>2]=c[s+4>>2];c[w+8>>2]=c[s+8>>2];q=w+12|0;c[q>>2]=0;v=w+11|0;u=(a[v>>0]|0)<0?c[w>>2]|0:w;s=a[u+3>>0]|0;r=a[u+2>>0]|0;t=a[u+1>>0]|0;u=a[u>>0]|0;c[q>>2]=4;Tc(b,(r&255)<<8|s&255|(t&255)<<16|(u&255)<<24,w);if((a[v>>0]|0)<0)rj(c[w>>2]|0);break a}case 2:{Dj(s,y,1,-1,y);c[w>>2]=c[s>>2];c[w+4>>2]=c[s+4>>2];c[w+8>>2]=c[s+8>>2];q=w+12|0;c[q>>2]=0;v=w+11|0;u=(a[v>>0]|0)<0?c[w>>2]|0:w;s=a[u+3>>0]|0;r=a[u+2>>0]|0;t=a[u+1>>0]|0;u=a[u>>0]|0;c[q>>2]=4;Uc(b,(r&255)<<8|s&255|(t&255)<<16|(u&255)<<24,w);if((a[v>>0]|0)<0)rj(c[w>>2]|0);break a}case 10:{e=c[b+4>>2]|0;f=wa(39883)|0;e=sa(e|0,f|0)|0;pa(f|0);f=wa(40037)|0;h=f;if((a[46760]|0)==0?Ck(46760)|0:0)c[11699]=ra(2,38972)|0;b=c[11699]|0;ta(f|0);c[w>>2]=h;oa(b|0,e|0,40032,w|0);pa(f|0);pa(e|0);break a}default:{b=a[(Ij(y,0)|0)>>0]|0;c[k>>2]=40053;c[k+4>>2]=b;Ja(1,k|0);break a}}else{v=b+12|0;p=a[x>>0]|0;r=p<<24>>24<0;Jj(v,r?c[y>>2]|0:y,r?c[j>>2]|0:p&255)|0;j=b+8|0;p=v+11|0;if(!(a[j>>0]|0)){e=a[p>>0]|0;f=e<<24>>24<0;if(f)h=c[b+16>>2]|0;else h=e&255;i=b+24|0;if((h-(c[i>>2]|0)|0)<=12)break;a[j>>0]=1;c[i>>2]=13;if(f){e=c[b+16>>2]|0;f=c[v>>2]|0}else{e=e&255;f=v}b=e+-13|0;Tk(f|0,f+13|0,b|0)|0;Fj(v,b,0);c[i>>2]=0;break}l=b+16|0;q=b+24|0;m=s+11|0;n=s+4|0;o=w+11|0;while(1){i=a[p>>0]|0;j=i<<24>>24<0;if(j)e=c[l>>2]|0;else e=i&255;r=c[q>>2]|0;if((e-r|0)<=3)break;if(j)e=c[v>>2]|0;else e=v;h=r+1|0;k=a[e+r>>0]|0;c[q>>2]=h;h=e+h+3+-1|0;e=a[h>>0]|0;A=a[h+-1>>0]|0;h=a[h+-2>>0]|0;f=r+4|0;c[q>>2]=f;h=(A&255)<<8|e&255|(h&255)<<16;if(j)e=c[l>>2]|0;else e=i&255;if((e-f|0)>>>0<(h+11|0)>>>0){u=24;break}if(j)e=c[v>>2]|0;else e=v;e=e+f+3+-1|0;e=d[e+-1>>0]<<8|d[e>>0]|d[e+-2>>0]<<16;A=r+11|0;c[q>>2]=A;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;Dj(s,v,A,h,v);A=a[m>>0]|0;r=A<<24>>24<0;A=r?c[n>>2]|0:A&255;c[q>>2]=(c[q>>2]|0)+A;Jj(w,r?c[s>>2]|0:s,A)|0;if((a[m>>0]|0)<0)rj(c[s>>2]|0);switch(k<<24>>24){case 8:{Tc(b,e,w);break}case 9:{Uc(b,e,w);break}default:{c[t>>2]=40016;c[t+4>>2]=k&255;Ja(0,t|0)}}c[q>>2]=(c[q>>2]|0)+4;if((a[o>>0]|0)<0)rj(c[w>>2]|0)}if((u|0)==24)c[q>>2]=r;if(j){e=c[l>>2]|0;f=c[v>>2]|0}else{e=i&255;f=v}A=e-r|0;Tk(f|0,f+r|0,A|0)|0;Fj(v,A,0);c[q>>2]=0}while(0);if((a[x>>0]|0)>=0){Sb=z;return}rj(c[y>>2]|0);Sb=z;return}function zc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=Sb;Sb=Sb+16|0;h=j;g=qa(40535)|0;f=b+1784|0;c[h>>2]=c[f>>2];pa(ma(g|0,1,38980,h|0)|0);pa(g|0);g=b+1756|0;id(g);hd(g);h=c[b+1760>>2]|0;i=b+1764|0;d=c[i>>2]|0;if((d|0)!=(h|0))c[i>>2]=d+(~((d+-4-h|0)>>>2)<<2);jd(g);c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;if((a[b+76>>0]|0)==0?(e=c[b+48>>2]|0,e|0):0)hj(e);c[f>>2]=0;a[b+1788>>0]=1;a[b+1780>>0]=0;Fj(b+12|0,0,0);c[b+24>>2]=0;a[b+8>>0]=0;Sb=j;return}function Ac(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=Sb;Sb=Sb+16|0;g=o+4|0;i=o;j=b+1776|0;a:do if(c[j>>2]|0){k=b+1760|0;l=b+1772|0;m=b+4|0;n=b+1808|0;h=b+40|0;f=0;d=c[l>>2]|0;while(1){p=(d>>>0)/204|0;e=c[(c[k>>2]|0)+(p<<2)>>2]|0;d=d-(p*204|0)|0;if(f?(c[g>>2]=c[e+(d*20|0)>>2],p=_c(c[m>>2]|0,40526,g)|0,p=((c[n>>2]|0)*1e3|0)+p|0,c[i>>2]=p,(p|0)>0):0)break;Yc(h,e+(d*20|0)+4|0);d=c[l>>2]|0;e=(d>>>0)/204|0;e=(c[(c[k>>2]|0)+(e<<2)>>2]|0)+((d-(e*204|0)|0)*20|0)+4|0;if((a[e+11>>0]|0)<0){rj(c[e>>2]|0);d=c[l>>2]|0}e=(c[j>>2]|0)+-1|0;c[j>>2]=e;d=d+1|0;c[l>>2]=d;if(d>>>0>407){rj(c[c[k>>2]>>2]|0);c[k>>2]=(c[k>>2]|0)+4;d=(c[l>>2]|0)+-204|0;c[l>>2]=d;e=c[j>>2]|0}if(!e)break a;else f=1}a[b+1780>>0]=1;c[b+1784>>2]=$c(c[m>>2]|0,40510,i)|0;Sb=o;return}while(0);a[b+1780>>0]=0;Sb=o;return}function Bc(a,b){a=a|0;b=b|0;var e=0,f=0;e=Sb;Sb=Sb+16|0;f=e;c[f>>2]=d[b+1800>>0];c[a>>2]=Ba(38768,f|0)|0;Sb=e;return}function Cc(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=Sb;Sb=Sb+16|0;g=e;f=+la(c[d>>2]|0,38768,g|0);za(c[g>>2]|0);a[b+1800>>0]=f!=0.0&1;Sb=e;return}function Dc(a,b){a=a|0;b=b|0;var e=0,f=0;e=Sb;Sb=Sb+16|0;f=e;c[f>>2]=d[b+1801>>0];c[a>>2]=Ba(38768,f|0)|0;Sb=e;return}function Ec(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=Sb;Sb=Sb+16|0;g=e;f=+la(c[d>>2]|0,38768,g|0);za(c[g>>2]|0);a[b+1801>>0]=f!=0.0&1;Sb=e;return}function Fc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Sb;Sb=Sb+16|0;e=d;c[e>>2]=c[b+1804>>2];c[a>>2]=Ba(38816,e|0)|0;Sb=d;return}function Gc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Sb;Sb=Sb+16|0;f=d;e=+la(c[b>>2]|0,38816,f|0);za(c[f>>2]|0);c[a+1804>>2]=~~e;Sb=d;return}function Hc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Sb;Sb=Sb+16|0;e=d;c[e>>2]=c[b+1808>>2];c[a>>2]=Ba(38816,e|0)|0;Sb=d;return}function Ic(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Sb;Sb=Sb+16|0;f=d;e=+la(c[b>>2]|0,38816,f|0);za(c[f>>2]|0);c[a+1808>>2]=~~e;Sb=d;return}function Jc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Sb;Sb=Sb+16|0;e=d;g[e>>3]=+g[b+1816>>3];c[a>>2]=Ba(38856,e|0)|0;Sb=d;return}function Kc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Sb;Sb=Sb+16|0;f=d;e=+la(c[b>>2]|0,38856,f|0);za(c[f>>2]|0);g[a+1816>>3]=e;Sb=d;return}function Lc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Sb;Sb=Sb+16|0;e=d+4|0;f=d;c[e>>2]=xa()|0;i=b+1760|0;h=b+1772|0;j=c[h>>2]|0;g=(j>>>0)/204|0;kd(e,40548,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((j-(g*204|0)|0)*20|0)|0);b=b+1776|0;h=(c[b>>2]|0)+-1+(c[h>>2]|0)|0;g=(h>>>0)/204|0;ld(e,40554,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((h-(g*204|0)|0)*20|0)|0);c[f>>2]=c[b>>2];md(e,40559,f);b=c[e>>2]|0;c[a>>2]=b;ta(b|0);pa(c[e>>2]|0);Sb=d;return}function Mc(a){a=a|0;pa(c[a>>2]|0);return}function Nc(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a>>2]|0;b=wa(b|0)|0;d=wa(d|0)|0;Aa(a|0,b|0,d|0);pa(d|0);pa(b|0);return}function Oc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=b+4|0;f=c[b>>2]|0;e=wa(d|0)|0;d=sa(f|0,e|0)|0;pa(e|0);Rc(a,d,39987,b);pa(d|0);return}function Pc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0.0;g=Sb;Sb=Sb+16|0;e=g;f=g+8|0;if((a[46712]|0)==0?Ck(46712)|0:0)c[11693]=ra(1,38884)|0;h=+na(c[11693]|0,b|0,d|0,f|0,e|0);za(c[f>>2]|0);Sb=g;return h!=0.0|0}function Qc(a){a=a|0;L(a|0)|0;fk()}function Rc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0;i=Sb;Sb=Sb+16|0;g=i;h=i+8|0;if((a[46720]|0)==0?Ck(46720)|0:0)c[11694]=ra(2,38892)|0;k=c[11694]|0;ta(c[f>>2]|0);c[g>>2]=c[f>>2];j=+na(k|0,d|0,e|0,h|0,g|0);h=c[h>>2]|0;c[b>>2]=~~j>>>0;za(h|0);Sb=i;return}function Sc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0,j=0;h=Sb;Sb=Sb+16|0;e=h;i=+la(c[d>>2]|0,37848,e|0);e=c[e>>2]|0;g=~~i>>>0;f=g+4|0;g=c[g>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(g>>>0>4294967279)wj(b);if(g>>>0<11){a[b+11>>0]=g;if(!g){f=b;g=f+g|0;a[g>>0]=0;za(e|0);Sb=h;return}else d=b}else{j=g+16&-16;d=qj(j)|0;c[b>>2]=d;c[b+8>>2]=j|-2147483648;c[b+4>>2]=g}Sk(d|0,f|0,g|0)|0;j=d;j=j+g|0;a[j>>0]=0;za(e|0);Sb=h;return}function Tc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;d=e+12|0;f=c[d>>2]|0;e=a[((a[e+11>>0]|0)<0?c[e>>2]|0:e)+f+1+-1>>0]|0;c[d>>2]=f+1;d=e&255;if(!(a[b+1789>>0]|0))return;f=(d&1)+1|0;d=d>>>2;switch(d&3){case 1:{d=11025;break}case 2:{d=22050;break}case 3:{d=44100;break}default:d=d&3}switch((e&255)>>>4&15){case 10:{Wc(b,c[b+1804>>2]<<10,d,f);return}case 11:{Wc(b,16e3,16e3,f);return}case 2:{Wc(b,(c[b+1804>>2]|0)*576|0,d,f);return}default:return}}function Uc(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;q=Sb;Sb=Sb+48|0;m=q+32|0;l=q+24|0;k=q+16|0;j=q+8|0;o=q;n=q+36|0;p=e+12|0;f=c[p>>2]|0;g=((a[e+11>>0]|0)<0?c[e>>2]|0:e)+f|0;h=a[g+1>>0]|0;i=b+1788|0;if(a[i>>0]|0){g=a[g>>0]|0;f=g&15;switch(g&15){case 7:{c[j>>2]=40172;Ja(0,j|0);break}case 12:{c[k>>2]=40187;Ja(0,k|0);break}default:{c[l>>2]=40202;c[l+4>>2]=f;Ja(0,l|0);Sb=q;return}}if(!(h<<24>>24==0&(g&-16)<<24>>24==16)){Sb=q;return}Xc(b+40|0,e,f);a[i>>0]=0;c[m>>2]=40262;Ja(0,m|0);Sb=q;return}if(h<<24>>24!=1){f=c[b+4>>2]|0;if((a[46704]|0)==0?Ck(46704)|0:0)c[11692]=ra(1,38880)|0;oa(c[11692]|0,f|0,40278,o|0);Sb=q;return}if(!d){Sb=q;return}c[p>>2]=f+5;f=b+1808|0;a:do if(c[f>>2]|0){g=b+1780|0;do if(!(a[g>>0]|0)){c[o>>2]=d;h=b+4|0;o=_c(c[h>>2]|0,40526,o)|0;o=((c[f>>2]|0)*1e3|0)+o|0;c[n>>2]=o;if((o|0)>0){a[g>>0]=1;c[b+1784>>2]=$c(c[h>>2]|0,40510,n)|0;break}else break a}while(0);j=b+1764|0;g=c[j>>2]|0;k=b+1760|0;f=c[k>>2]|0;o=g-f|0;i=b+1772|0;l=b+1776|0;h=(c[l>>2]|0)+(c[i>>2]|0)|0;if((((o|0)==0?0:((o>>2)*204|0)+-1|0)|0)==(h|0)){ad(b+1756|0);h=(c[i>>2]|0)+(c[l>>2]|0)|0;g=c[j>>2]|0;f=c[k>>2]|0}if((g|0)==(f|0))f=0;else{b=(h>>>0)/204|0;f=(c[f+(b<<2)>>2]|0)+((h-(b*204|0)|0)*20|0)|0}c[f>>2]=d;d=f+4|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[f+16>>2]=c[p>>2];c[l>>2]=(c[l>>2]|0)+1;Sb=q;return}while(0);Yc(b+40|0,e);Sb=q;return}function Vc(b){b=b|0;if((a[b+11>>0]|0)>=0)return;rj(c[b>>2]|0);return}function Wc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=Sb;Sb=Sb+32|0;h=i;a[b+1789>>0]=0;j=r(d<<1,f)|0;g=b+36|0;c[g>>2]=gj(c[b+28>>2]|0)|0;c[h>>2]=40146;c[h+4>>2]=j;Ja(0,h|0);g=c[g>>2]>>1;b=c[b+4>>2]|0;if((a[46728]|0)==0?Ck(46728)|0:0)c[11695]=ra(5,16)|0;j=c[11695]|0;c[h>>2]=d;c[h+8>>2]=e;c[h+16>>2]=f;c[h+24>>2]=g;oa(j|0,b|0,40136,h|0);Sb=i;return}function Xc(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,s=0,t=0,u=0,v=0;t=Sb;Sb=Sb+80|0;s=t+32|0;q=t+24|0;f=t+16|0;l=t+44|0;m=t;c[l>>2]=c[9725];c[l+4>>2]=c[9726];c[l+8>>2]=c[9727];c[l+12>>2]=c[9728];c[l+16>>2]=c[9729];c[l+20>>2]=c[9730];c[l+24>>2]=c[9731];p=m;c[p>>2]=8;c[p+4>>2]=0;p=b+40|0;o=Gg(c[p>>2]|0,l,m)|0;g=b+1056|0;c[g>>2]=o;if(o|0)ej(40292,t+8|0)|0;h=b+1068|0;c[b+1072>>2]=8;c[b+1076>>2]=c[b+1048>>2];c[h>>2]=536;i=b+1604|0;c[i>>2]=112;j=d+11|0;k=d+12|0;u=c[k>>2]|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+u+27>>0]&3;o=u+31|0;c[k>>2]=o;v=(a[j>>0]|0)<0?c[d>>2]|0:d;o=v+o+2+-1|0;e=a[o>>0]|0;o=a[o+-1>>0]|0;u=u+33|0;c[k>>2]=u;n=b+1084|0;c[n>>2]=v+u;e=(o&255)<<8|e&255;o=b+1080|0;c[o>>2]=e;u=Gg(c[p>>2]|0,h,i)|0;c[g>>2]=u;if(u|0){c[f>>2]=c[b+1608>>2];ej(40342,f)|0}u=(c[k>>2]|0)+e|0;v=u+3|0;c[k>>2]=v;f=(a[j>>0]|0)<0?c[d>>2]|0:d;v=f+v+2+-1|0;e=a[v>>0]|0;v=a[v+-1>>0]|0;u=u+5|0;c[k>>2]=u;c[n>>2]=f+u;e=(v&255)<<8|e&255;c[o>>2]=e;v=Gg(c[p>>2]|0,h,i)|0;c[g>>2]=v;if(v|0){c[q>>2]=c[b+1608>>2];ej(40373,q)|0}f=(c[k>>2]|0)+e|0;u=f+3|0;c[k>>2]=u;q=(a[j>>0]|0)<0?c[d>>2]|0:d;u=q+u+2+-1|0;v=a[u>>0]|0;u=a[u+-1>>0]|0;d=f+5|0;c[k>>2]=d;c[n>>2]=q+d;c[o>>2]=(u&255)<<8|v&255;v=Gg(c[p>>2]|0,h,i)|0;c[g>>2]=v;if(v|0){c[s>>2]=c[b+1608>>2];ej(40404,s)|0}Zc(b,c[b+1616>>2]|0,c[b+1620>>2]|0);c[l>>2]=c[9732];c[l+4>>2]=c[9733];c[l+8>>2]=c[9734];c[l+12>>2]=c[9735];c[l+16>>2]=c[9736];c[l+20>>2]=c[9737];c[l+24>>2]=c[9738];v=m;c[v>>2]=8;c[v+4>>2]=0;v=Gg(c[p>>2]|0,l,m)|0;c[g>>2]=v;if(!v){v=b+1088|0;c[v>>2]=3;v=b+12|0;v=c[v>>2]|0;u=b+16|0;u=c[u>>2]|0;v=r(u,v)|0;u=b+1348|0;c[u>>2]=v;u=v>>>2;s=b+1356|0;c[s>>2]=u;s=b+1352|0;c[s>>2]=u;s=u*6|0;s=gj(s)|0;q=b+1092|0;c[q>>2]=s;q=s;d=b+20|0;c[d>>2]=q;v=s+v|0;s=b+1096|0;c[s>>2]=v;s=v;d=b+24|0;c[d>>2]=s;u=v+u|0;v=b+1100|0;c[v>>2]=u;v=b+28|0;c[v>>2]=u;Sb=t;return}ej(40435,t+40|0)|0;v=b+1088|0;c[v>>2]=3;v=b+12|0;v=c[v>>2]|0;u=b+16|0;u=c[u>>2]|0;v=r(u,v)|0;u=b+1348|0;c[u>>2]=v;u=v>>>2;s=b+1356|0;c[s>>2]=u;s=b+1352|0;c[s>>2]=u;s=u*6|0;s=gj(s)|0;q=b+1092|0;c[q>>2]=s;q=s;d=b+20|0;c[d>>2]=q;v=s+v|0;s=b+1096|0;c[s>>2]=v;s=v;d=b+24|0;c[d>>2]=s;u=v+u|0;v=b+1100|0;c[v>>2]=u;v=b+28|0;c[v>>2]=u;Sb=t;return}function Yc(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;m=d+11|0;l=a[m>>0]|0;e=l<<24>>24<0;n=d+4|0;o=d+12|0;f=c[o>>2]|0;if(((e?c[n>>2]|0:l&255)-f|0)<=4)return;l=b+32|0;i=0;j=0;k=0;do{switch(c[l>>2]|0){case 3:{e=e?c[d>>2]|0:d;k=e+f+4+-1|0;g=4;h=k;i=a[k+-2>>0]|0;j=a[k+-3>>0]|0;k=a[k+-1>>0]|0;break}case 2:{e=e?c[d>>2]|0:d;k=e+f+3+-1|0;g=3;h=k;i=a[k+-2>>0]|0;k=a[k+-1>>0]|0;break}case 1:{e=e?c[d>>2]|0:d;k=e+f+2+-1|0;g=2;h=k;k=a[k+-1>>0]|0;break}default:{h=e?c[d>>2]|0:d;e=h;g=1;h=h+f+1+-1|0}}h=a[h>>0]|0;g=f+g|0;c[o>>2]=g;h=(i&255)<<16|(j&255)<<24|(k&255)<<8|h&255;bc[c[(c[b>>2]|0)+20>>2]&15](b,e+g|0,h);f=(c[o>>2]|0)+h|0;c[o>>2]=f;h=a[m>>0]|0;e=h<<24>>24<0}while(((e?c[n>>2]|0:h&255)-f|0)>4);return}function Zc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=Sb;Sb=Sb+32|0;h=i;f=b+12|0;c[f>>2]=d;g=b+16|0;c[g>>2]=e;c[h>>2]=40484;c[h+4>>2]=d;c[h+8>>2]=e;Ja(0,h|0);if(!(a[b+36>>0]|0)){e=c[g>>2]|0;e=(r(e<<2,e)|0)+33554432|0;e=gj((e>>>0>16777216?e:16777216)+16777215&-16777216)|0;c[b+8>>2]=e;d=c[c[b+4>>2]>>2]|0;if((a[46736]|0)==0?Ck(46736)|0:0)c[11696]=ra(4,48)|0;b=c[11696]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;oa(b|0,d|0,40497,h|0);Sb=i;return}else{e=b+20|0;c[b+8>>2]=e;e=e>>2;d=c[c[b+4>>2]>>2]|0;if((a[46736]|0)==0?Ck(46736)|0:0)c[11696]=ra(4,48)|0;b=c[11696]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;oa(b|0,d|0,40497,h|0);Sb=i;return}}function _c(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=Sb;Sb=Sb+16|0;f=h;g=h+8|0;if((a[46744]|0)==0?Ck(46744)|0:0)c[11697]=ra(2,38956)|0;j=c[11697]|0;c[f>>2]=c[e>>2];i=+na(j|0,b|0,d|0,g|0,f|0);za(c[g>>2]|0);Sb=h;return ~~i|0}function $c(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=Sb;Sb=Sb+16|0;f=h;g=h+8|0;if((a[46752]|0)==0?Ck(46752)|0:0)c[11698]=ra(2,38964)|0;j=c[11698]|0;c[f>>2]=c[e>>2];i=+na(j|0,b|0,d|0,g|0,f|0);za(c[g>>2]|0);Sb=h;return ~~i|0}function ad(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Sb;Sb=Sb+32|0;k=r+4|0;g=r;b=a+16|0;d=c[b>>2]|0;if(d>>>0>203){c[b>>2]=d+-204;o=a+4|0;m=c[o>>2]|0;q=c[m>>2]|0;m=m+4|0;c[o>>2]=m;p=a+8|0;b=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;e=l;do if((b|0)==(l|0)){i=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-i|0;if(!d)b=f;else{Tk(f|0,m|0,d|0)|0;b=(c[o>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[p>>2]=a;c[o>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=K(8)|0;uj(r,40068);c[r>>2]=39564;P(r|0,38688,16)}else{h=qj(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[o>>2]=l;c[p>>2]=b;c[n>>2]=j;if(d){rj(d);b=c[p>>2]|0}}while(0);c[b>>2]=q;c[p>>2]=(c[p>>2]|0)+4;Sb=r;return}q=a+8|0;b=c[q>>2]|0;p=a+4|0;f=b-(c[p>>2]|0)>>2;o=a+12|0;d=c[o>>2]|0;e=d-(c[a>>2]|0)|0;if(f>>>0>=e>>2>>>0){b=(e|0)==0?1:e>>1;i=k+12|0;c[i>>2]=0;c[k+16>>2]=a+12;do if(b)if(b>>>0>1073741823){r=K(8)|0;uj(r,40068);c[r>>2]=39564;P(r|0,38688,16)}else{d=qj(b<<2)|0;break}else d=0;while(0);c[k>>2]=d;n=d+(f<<2)|0;j=k+8|0;c[j>>2]=n;h=k+4|0;c[h>>2]=n;c[i>>2]=d+(b<<2);c[g>>2]=qj(4080)|0;dd(k,g);b=c[q>>2]|0;d=c[p>>2]|0;if((b|0)!=(d|0)){do{b=b+-4|0;ed(k,b);d=c[p>>2]|0}while((b|0)!=(d|0));b=c[q>>2]|0}e=d;f=c[a>>2]|0;c[a>>2]=c[k>>2];c[k>>2]=f;c[p>>2]=c[h>>2];c[h>>2]=e;c[q>>2]=c[j>>2];c[j>>2]=b;a=c[o>>2]|0;c[o>>2]=c[i>>2];c[i>>2]=a;if((d|0)!=(b|0))c[j>>2]=b+(~((b+-4-e|0)>>>2)<<2);if(f|0)rj(f);Sb=r;return}if((d|0)!=(b|0)){c[k>>2]=qj(4080)|0;bd(a,k);Sb=r;return}c[k>>2]=qj(4080)|0;cd(a,k);m=c[p>>2]|0;n=c[m>>2]|0;m=m+4|0;c[p>>2]=m;b=c[q>>2]|0;l=c[o>>2]|0;e=l;do if((b|0)==(l|0)){j=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((j-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-j|0;if(!d)b=f;else{Tk(f|0,m|0,d|0)|0;b=(c[p>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[q>>2]=a;c[p>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=K(8)|0;uj(r,40068);c[r>>2]=39564;P(r|0,38688,16)}else{h=qj(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;i=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-j|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[p>>2]=l;c[q>>2]=b;c[o>>2]=i;if(d){rj(d);b=c[q>>2]|0}}while(0);c[b>>2]=n;c[q>>2]=(c[q>>2]|0)+4;Sb=r;return}function bd(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;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{Tk(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=K(8)|0;uj(q,40068);c[q>>2]=39564;P(q|0,38688,16)}else{i=qj(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){rj(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function cd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{Tk(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=K(8)|0;uj(q,40068);c[q>>2]=39564;P(q|0,38688,16)}else{h=qj(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){rj(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function dd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{Tk(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=K(8)|0;uj(q,40068);c[q>>2]=39564;P(q|0,38688,16)}else{i=qj(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){rj(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function ed(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;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{Tk(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=K(8)|0;uj(q,40068);c[q>>2]=39564;P(q|0,38688,16)}else{h=qj(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){rj(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function fd(a){a=a|0;var b=0,d=0,e=0,f=0;id(a);d=a+4|0;b=c[d>>2]|0;f=a+8|0;e=c[f>>2]|0;if((b|0)!=(e|0)){do{rj(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));b=c[d>>2]|0;d=c[f>>2]|0;if((d|0)!=(b|0))c[f>>2]=d+(~((d+-4-b|0)>>>2)<<2)}b=c[a>>2]|0;if(!b)return;rj(b);return}function gd(b){b=b|0;if(a[b+36>>0]|0)return;b=c[b+8>>2]|0;if(!b)return;hj(b);return}function hd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+20|0;g=c[f>>2]|0;if(!g){d=a+8|0;b=c[d>>2]|0;e=a+4|0;if((b|0)!=(c[e>>2]|0))do{rj(c[b+-4>>2]|0);b=(c[d>>2]|0)+-4|0;c[d>>2]=b}while((c[e>>2]|0)!=(b|0));c[a+16>>2]=0;jd(a);return}b=a+16|0;e=c[b>>2]|0;d=a+4|0;if(e>>>0>203){rj(c[c[d>>2]>>2]|0);h=(c[d>>2]|0)+4|0;c[d>>2]=h;e=(c[b>>2]|0)+-204|0;c[b>>2]=e;g=c[f>>2]|0}else h=c[d>>2]|0;b=a+8|0;d=c[b>>2]|0;h=d-h|0;if((((h|0)==0?0:((h>>2)*204|0)+-1|0)-(g+e)|0)>>>0<=203){jd(a);return}rj(c[d+-4>>2]|0);c[b>>2]=(c[b>>2]|0)+-4;jd(a);return}function id(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;e=c[l>>2]|0;m=b+16|0;g=c[m>>2]|0;d=(g>>>0)/204|0;h=e+(d<<2)|0;j=b+8|0;n=c[j>>2]|0;f=n;i=e;if((n|0)!=(e|0)){d=(c[h>>2]|0)+((g-(d*204|0)|0)*20|0)|0;b=b+20|0;n=(c[b>>2]|0)+g|0;g=(n>>>0)/204|0;g=(c[e+(g<<2)>>2]|0)+((n-(g*204|0)|0)*20|0)|0;if((g|0)==(d|0)){d=b;k=5}else{f=h;while(1){e=d+4|0;if((a[e+11>>0]|0)<0)rj(c[e>>2]|0);d=d+20|0;if((d-(c[f>>2]|0)|0)==4080){d=f+4|0;e=d;d=c[d>>2]|0}else e=f;if((g|0)==(d|0))break;else f=e}e=c[l>>2]|0;g=j;f=c[j>>2]|0;d=e}}else{d=b+20|0;k=5}if((k|0)==5){g=j;b=d;d=i}c[b>>2]=0;d=f-d>>2;if(d>>>0>2)do{rj(c[e>>2]|0);e=(c[l>>2]|0)+4|0;c[l>>2]=e;d=(c[g>>2]|0)-e>>2}while(d>>>0>2);switch(d|0){case 1:{d=102;break}case 2:{d=204;break}default:return}c[m>>2]=d;return}function jd(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;j=a+12|0;i=c[a>>2]|0;k=a+8|0;h=c[k>>2]|0;l=a+4|0;f=c[l>>2]|0;d=h-f|0;e=d>>2;b=i;if((c[j>>2]|0)-i>>2>>>0<=e>>>0)return;do if(d)if(e>>>0>1073741823){l=K(8)|0;uj(l,40068);c[l>>2]=39564;P(l|0,38688,16)}else{g=qj(d)|0;break}else g=0;while(0);i=g;e=g+(e<<2)|0;if((f|0)==(h|0))d=e;else{d=g;b=f;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(h|0))break;else d=d+4|0}d=g+((c[k>>2]|0)-(c[l>>2]|0)>>2<<2)|0;b=c[a>>2]|0}c[a>>2]=i;c[l>>2]=i;c[k>>2]=d;c[j>>2]=e;if(!b)return;rj(b);return}function kd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Sb;Sb=Sb+16|0;f=e;a=c[a>>2]|0;b=wa(b|0)|0;c[f>>2]=c[d>>2];d=Ba(38832,f|0)|0;Aa(a|0,b|0,d|0);pa(d|0);pa(b|0);Sb=e;return}function ld(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Sb;Sb=Sb+16|0;f=e;a=c[a>>2]|0;b=wa(b|0)|0;c[f>>2]=c[d>>2];d=Ba(38832,f|0)|0;Aa(a|0,b|0,d|0);pa(d|0);pa(b|0);Sb=e;return}function md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Sb;Sb=Sb+16|0;f=e;a=c[a>>2]|0;b=wa(b|0)|0;c[f>>2]=c[d>>2];d=Ba(38840,f|0)|0;Aa(a|0,b|0,d|0);pa(d|0);pa(b|0);Sb=e;return}function nd(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function od(a){a=a|0;if(!a)return;$b[c[(c[a>>2]|0)+4>>2]&31](a);return}function pd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Sb;Sb=Sb+16|0;h=j;f=c[b>>2]|0;b=c[b+4>>2]|0;g=d+(b>>1)|0;if(b&1)f=c[(c[g>>2]|0)+f>>2]|0;d=e+4|0;e=c[e>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;if(e>>>0>4294967279)wj(h);if(e>>>0<11){a[h+11>>0]=e;if(!e)b=h;else{b=h;i=9}}else{i=e+16&-16;b=qj(i)|0;c[h>>2]=b;c[h+8>>2]=i|-2147483648;c[h+4>>2]=e;i=9}if((i|0)==9)Sk(b|0,d|0,e|0)|0;a[b+e>>0]=0;ac[f&31](g,h);if((a[h+11>>0]|0)>=0){Sb=j;return}rj(c[h>>2]|0);Sb=j;return}function qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Sb;Sb=Sb+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;ac[e&31](a,f);pa(c[f>>2]|0);Sb=g;return}function rd(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;e=c[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1)){e=d;$b[e&31](a);return}else{e=c[(c[a>>2]|0)+d>>2]|0;$b[e&31](a);return}}function sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=Sb;Sb=Sb+16|0;e=f;d=c[a>>2]|0;g=c[a+4>>2]|0;a=b+(g>>1)|0;if(g&1)d=c[(c[a>>2]|0)+d>>2]|0;ac[d&31](e,a);ta(c[e>>2]|0);g=c[e>>2]|0;pa(g|0);Sb=f;return g|0}function td(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Sb;Sb=Sb+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;ac[e&31](a,f);pa(c[f>>2]|0);Sb=g;return}function ud(b,d){b=b|0;d=d|0;var e=0;e=qj(1832)|0;Fd(e,d);a[e+1824>>0]=0;c[e+1828>>2]=c[b>>2];c[b>>2]=0;c[e>>2]=39044;return e|0}function vd(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=X(((a[d+11>>0]|0)<0?c[d>>2]|0:d)|0,37960,c[e>>2]|0)|0;return}function wd(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function xd(a){a=a|0;if(!a)return;$b[c[(c[a>>2]|0)+4>>2]&31](a);return}function yd(a){a=a|0;return a|0}function zd(a){a=a|0;return a|0}function Ad(a,b){a=a|0;b=b|0;$b[c[a>>2]&31](b);return}function Bd(b){b=b|0;a[b+1824>>0]=1;return}function Cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Sb;Sb=Sb+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;d=Xb[a&3](f,g)|0;pa(c[g>>2]|0);pa(c[f>>2]|0);Sb=e;return d|0}function Dd(b){b=b|0;var d=0,e=0,f=0,g=0;g=Sb;Sb=Sb+16|0;e=g;c[b>>2]=39060;d=b+1828|0;if(!(a[b+1824>>0]|0)){f=c[d>>2]|0;pa(f|0);Jd(b);Sb=g;return}f=c[d>>2]|0;if((a[46704]|0)==0?Ck(46704)|0:0)c[11692]=ra(1,38880)|0;oa(c[11692]|0,f|0,41096,e|0);f=c[d>>2]|0;pa(f|0);Jd(b);Sb=g;return}function Ed(a){a=a|0;Dd(a);rj(a);return}function Fd(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;f=Sb;Sb=Sb+16|0;h=f;c[d>>2]=39076;g=d+4|0;c[g>>2]=c[e>>2];c[e>>2]=0;a[d+8>>0]=0;e=d+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[d+32>>2]=0;c[h>>2]=40779;c[h+4>>2]=d+28;Ja(0,h|0);Hd(d+40|0);e=d+1756|0;c[d+1784>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;a[e+24>>0]=0;a[d+1788>>0]=1;a[d+1789>>0]=1;e=d+1792|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;c[d+1804>>2]=12;c[d+44>>2]=g;Sb=f;return}function Gd(a){a=a|0;Dd(a);rj(a);return}function Hd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=Sb;Sb=Sb+112|0;i=j+32|0;h=j+8|0;k=j+76|0;e=j+64|0;f=j+40|0;g=j;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+32>>2]=0;a[b+36>>0]=0;c[b>>2]=39092;d=b+40|0;c[d>>2]=0;c[b+1044>>2]=0;c[b+1048>>2]=0;c[b+1052>>2]=0;c[b+1064>>2]=0;c[k+4>>2]=5;c[k+12>>2]=0;c[k+8>>2]=1;c[k+16>>2]=9;c[k+20>>2]=17;c[k+24>>2]=0;c[k>>2]=28;c[e>>2]=12;k=Gg(0,k,e)|0;b=b+1056|0;c[b>>2]=k;if(k|0){c[h>>2]=c[e+4>>2];ej(40794,h)|0}k=c[e+8>>2]|0;c[d>>2]=k;c[k+4>>2]=10;c[k>>2]=12;c[f>>2]=c[9779];c[f+4>>2]=c[9780];c[f+8>>2]=c[9781];c[f+12>>2]=c[9782];h=g;c[h>>2]=8;c[h+4>>2]=0;k=Gg(k,f,g)|0;c[b>>2]=k;if(k|0)ej(40815,j+16|0)|0;c[f>>2]=c[9783];c[f+4>>2]=c[9784];c[f+8>>2]=c[9785];c[f+12>>2]=c[9786];c[f+16>>2]=c[9787];c[f+20>>2]=c[9788];k=g;c[k>>2]=8;c[k+4>>2]=0;k=Gg(c[d>>2]|0,f,g)|0;c[b>>2]=k;if(!k){c[i>>2]=40882;Ja(0,i|0);Sb=j;return}ej(40849,j+24|0)|0;c[i>>2]=40882;Ja(0,i|0);Sb=j;return}function Id(a){a=a|0;var b=0,d=0,e=0;b=Sb;Sb=Sb+16|0;d=b+8|0;e=b;c[e>>2]=41028;Ja(0,e|0);hj(c[a+8>>2]|0);c[d>>2]=41051;Ja(0,d|0);Sb=b;return}function Jd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Sb;Sb=Sb+32|0;j=k+24|0;i=k+16|0;g=k+8|0;d=k;c[b>>2]=39076;f=qa(40535)|0;c[d>>2]=c[b+1784>>2];pa(ma(f|0,1,38980,d|0)|0);pa(f|0);c[g>>2]=41075;Ja(0,g|0);g=b+1756|0;id(g);f=b+1760|0;d=c[f>>2]|0;h=b+1764|0;e=c[h>>2]|0;if((d|0)!=(e|0)){do{rj(c[d>>2]|0);d=d+4|0}while((d|0)!=(e|0));d=c[f>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[g>>2]|0;if(d|0)rj(d);Ld(b+40|0);c[i>>2]=41028;Ja(0,i|0);hj(c[b+36>>2]|0);c[j>>2]=41051;Ja(0,j|0);d=b+12|0;if((a[d+11>>0]|0)>=0){b=b+4|0;b=c[b>>2]|0;pa(b|0);Sb=k;return}rj(c[d>>2]|0);b=b+4|0;b=c[b>>2]|0;pa(b|0);Sb=k;return}function Kd(a){a=a|0;Jd(a);rj(a);return}function Ld(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=Sb;Sb=Sb+32|0;e=f+24|0;h=f+8|0;g=f;c[b>>2]=39092;i=h;c[i>>2]=8;c[i+4>>2]=6;i=g;c[i>>2]=8;c[i+4>>2]=0;g=Gg(c[b+40>>2]|0,h,g)|0;c[b+1056>>2]=g;if(g|0)ej(40954,f+16|0)|0;hj(c[b+20>>2]|0);c[b>>2]=39164;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)hj(d);c[e>>2]=40930;Ja(0,e|0);Sb=f;return}function Md(a){a=a|0;Ld(a);rj(a);return}function Nd(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;w=Sb;Sb=Sb+16|0;v=w+8|0;s=w;t=b+1068|0;u=b+1084|0;c[u>>2]=d;r=b+1080|0;c[r>>2]=e;o=b+40|0;p=b+1604|0;q=b+1056|0;f=b+1612|0;g=b+36|0;h=b+1608|0;i=b+20|0;j=b+24|0;k=b+28|0;l=b+8|0;m=b+12|0;n=b+16|0;e=b+4|0;do{d=Gg(c[o>>2]|0,t,p)|0;c[q>>2]=d;if(d|0){b=c[h>>2]|0;c[v>>2]=d;c[v+4>>2]=b;ej(40976,v)|0}b=c[f>>2]|0;c[r>>2]=(c[r>>2]|0)-b;c[u>>2]=(c[u>>2]|0)+b;if(!(a[g>>0]|0))Rd(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0);d=c[c[e>>2]>>2]|0;if((a[46704]|0)==0?Ck(46704)|0:0)c[11692]=ra(1,38880)|0;oa(c[11692]|0,d|0,41023,s|0)}while((c[r>>2]|0)!=0);Sb=w;return}function Od(b){b=b|0;var d=0,e=0,f=0;f=Sb;Sb=Sb+16|0;e=f;c[b>>2]=39164;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)hj(d);c[e>>2]=40930;Ja(0,e|0);Sb=f;return}function Pd(a){a=a|0;Oa()}function Qd(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;l=Sb;Sb=Sb+16|0;j=l;k=d+12|0;g=c[k>>2]|0;c[j>>2]=40919;c[j+4>>2]=e;Ja(0,j|0);switch(e|0){case 7:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+9>>0]&3;n=g+11|0;c[k>>2]=n;f=a[j>>0]|0;e=c[d>>2]|0;i=f<<24>>24<0?e:d;n=i+n+2+-1|0;m=a[n>>0]|0;n=a[n+-1>>0]|0;h=g+13|0;c[k>>2]=h;g=(n&255)<<8|m&255;if(g){bc[c[(c[b>>2]|0)+20>>2]&15](b,i+h|0,g);h=(c[k>>2]|0)+g|0;c[k>>2]=h;f=a[j>>0]|0;e=c[d>>2]|0}n=h+1|0;c[k>>2]=n;g=f<<24>>24<0?e:d;n=g+n+2+-1|0;e=a[n>>0]|0;n=a[n+-1>>0]|0;f=h+3|0;c[k>>2]=f;e=(n&255)<<8|e&255;if(!e){Sb=l;return}bc[c[(c[b>>2]|0)+20>>2]&15](b,g+f|0,e);Sb=l;return}case 12:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+27>>0]&3;i=g+31|0;c[k>>2]=i;n=(a[j>>0]|0)<0?c[d>>2]|0:d;i=n+i+2+-1|0;m=a[i>>0]|0;i=a[i+-1>>0]|0;h=g+33|0;c[k>>2]=h;m=(i&255)<<8|m&255;bc[c[(c[b>>2]|0)+20>>2]&15](b,n+h|0,m);m=(c[k>>2]|0)+m|0;h=m+3|0;c[k>>2]=h;n=(a[j>>0]|0)<0?c[d>>2]|0:d;h=n+h+2+-1|0;i=a[h>>0]|0;h=a[h+-1>>0]|0;m=m+5|0;c[k>>2]=m;i=(h&255)<<8|i&255;bc[c[(c[b>>2]|0)+20>>2]&15](b,n+m|0,i);i=(c[k>>2]|0)+i|0;m=i+3|0;c[k>>2]=m;j=(a[j>>0]|0)<0?c[d>>2]|0:d;m=j+m+2+-1|0;n=a[m>>0]|0;m=a[m+-1>>0]|0;d=i+5|0;c[k>>2]=d;bc[c[(c[b>>2]|0)+20>>2]&15](b,j+d|0,(m&255)<<8|n&255);Sb=l;return}default:{Sb=l;return}}}function Rd(a,b,e,f,g,h){a=a|0;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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;F=g<<2;G=f+(r(F,h)|0)|0;if(!h)return;B=(g|0)==0;E=(g+-1|0)>>>1;C=(E<<3)+8|0;D=g+1&-2;E=E+1|0;j=0;A=0;k=0;i=0;l=0;while(1){if(!B){y=C+j|0;z=E+i|0;x=0;w=k;v=l;while(1){n=d[a+v>>0]|0;p=d[a+(v+g)>>0]|0;t=d[b+i>>0]|0;u=d[e+w>>0]|0;s=t<<8|u;o=G+(s|n<<16)|0;m=c[o>>2]|0;if(!m){J=(n*1192|0)+-19072|0;H=u+-128|0;m=t+-128|0;q=(H*1634|0)+J>>10;H=(r(m,-400)|0)+J+(r(H,-832)|0)>>10;J=(m*2066|0)+J>>10;m=(q|0)>0?q:0;n=(H|0)>0?H:0;I=(J|0)>0?J:0;m=((((J&255|0)==(J|0)?J:(I|0)<255?I:255)<<8)+16711680+((H&255|0)==(H|0)?H:(n|0)<255?n:255)<<8)+((q&255|0)==(q|0)?q:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+j>>2]=m;n=G+(s|p<<16)|0;m=c[n>>2]|0;if(!m){p=(p*1192|0)+-19072|0;H=u+-128|0;m=t+-128|0;J=(H*1634|0)+p>>10;H=(r(m,-400)|0)+p+(r(H,-832)|0)>>10;p=(m*2066|0)+p>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;q=(p|0)>0?p:0;m=((((p&255|0)==(p|0)?p:(q|0)<255?q:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(j+F)>>2]=m;q=j+4|0;p=v+1|0;n=d[a+p>>0]|0;p=d[a+(p+g)>>0]|0;o=G+(s|n<<16)|0;m=c[o>>2]|0;if(!m){m=(n*1192|0)+-19072|0;H=u+-128|0;K=t+-128|0;J=m+(H*1634|0)>>10;H=(r(H,-832)|0)+(r(K,-400)|0)+m>>10;K=m+(K*2066|0)>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;n=(K|0)>0?K:0;m=((((K&255|0)==(K|0)?K:(n|0)<255?n:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+q>>2]=m;n=G+(s|p<<16)|0;m=c[n>>2]|0;if(!m){m=(p*1192|0)+-19072|0;I=u+-128|0;u=t+-128|0;K=m+(I*1634|0)>>10;I=(r(I,-832)|0)+(r(u,-400)|0)+m>>10;u=m+(u*2066|0)>>10;m=(K|0)>0?K:0;J=(I|0)>0?I:0;H=(u|0)>0?u:0;m=((((u&255|0)==(u|0)?u:(H|0)<255?H:255)<<8)+16711680+((I&255|0)==(I|0)?I:(J|0)<255?J:255)<<8)+((K&255|0)==(K|0)?K:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(q+F)>>2]=m;x=x+2|0;if(x>>>0>=g>>>0)break;else{j=j+8|0;w=w+1|0;i=i+1|0;v=v+2|0}}l=D+l|0;j=y;k=E+k|0;i=z}A=A+2|0;if(A>>>0>=h>>>0)break;else{j=j+F|0;l=l+g|0}}return}function Sd(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;l=Sb;Sb=Sb+32|0;h=l+16|0;j=l+4|0;k=l;f=d+4|0;g=c[d>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if(g>>>0>4294967279)wj(j);if(g>>>0<11){a[j+11>>0]=g;if(!g)d=j;else{d=j;i=6}}else{i=g+16&-16;d=qj(i)|0;c[j>>2]=d;c[j+8>>2]=i|-2147483648;c[j+4>>2]=g;i=6}if((i|0)==6)Sk(d|0,f|0,g|0)|0;a[d+g>>0]=0;c[k>>2]=e;bc[b&15](h,j,k);ta(c[h>>2]|0);d=c[h>>2]|0;pa(d|0);pa(c[k>>2]|0);if((a[j+11>>0]|0)>=0){Sb=l;return d|0}rj(c[j>>2]|0);Sb=l;return d|0}function Td(){wc(0);return}function Ud(a){a=a|0;c[a>>2]=64;Uk(a+4|0,0,516)|0;return}function Vd(a,b,d){a=a|0;b=b|0;d=d|0;if((c[a>>2]|0)<=(d|0)){b=-1;return b|0}a=a+264+(d<<2)|0;d=c[a>>2]|0;if(!((d|0)==0|(d|0)==(b|0))){b=-1;return b|0}c[a>>2]=b;b=0;return b|0}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=c[a>>2]|0;if((e|0)<=0){b=0;return b|0}d=0;a:while(1){f=a+8+(d<<2)|0;switch(c[f>>2]|0){case 2:{a=4;break a}case 0:{g=c[a+264+(d<<2)>>2]|0;if(g|0){a=6;break a}break}default:{}}d=d+1|0;if((d|0)>=(e|0)){d=0;a=8;break}}if((a|0)==4)J(41119,41153,170,41176);else if((a|0)==6){c[b>>2]=d;c[f>>2]=1;b=g;return b|0}else if((a|0)==8)return d|0;return 0}function Xd(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;if(!d){d=0;return d|0}b=0;a:while(1){switch(c[a+8+(b<<2)>>2]|0){case 2:{a=4;break a}case 0:{if(c[a+264+(b<<2)>>2]|0){b=1;a=7;break a}break}default:{}}b=b+1|0;if(b>>>0>=d>>>0){b=0;a=7;break}}if((a|0)==4)J(41119,41153,213,41204);else if((a|0)==7)return b|0;return 0}function Yd(a,b,d){a=a|0;b=b|0;d=d|0;if((c[a>>2]|0)<=(b|0)){d=-1;return d|0}a=a+8+(b<<2)|0;d=c[a>>2]&~d;c[a>>2]=d;switch(d|0){case 2:{J(41229,41153,265,41267);break}case 1:{c[a>>2]=0;d=0;return d|0}default:{d=0;return d|0}}return 0}function Zd(a,b,d){a=a|0;b=b|0;d=d|0;if((c[a>>2]|0)<=(b|0)){d=-1;return d|0}a=a+8+(b<<2)|0;b=c[a>>2]|0;if(b&d|0){d=-1;return d|0}d=b|d;c[a>>2]=d;if((d|0)==2)J(41229,41153,322,41289);else{d=0;return d|0}return 0}function _d(a,b){a=a|0;b=b|0;return c[a+264+(b<<2)>>2]|0}function $d(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=Sb;Sb=Sb+32|0;u=C;v=h<<2;w=v|1;if(!i){k=w<<1;if((w|0)<=0){Sb=C;return}Uk(j|0,-128,((k|0)>1?k:1)|0)|0;Sb=C;return}y=i&65536;s=i&61440;t=i&3840;p=i&15;x=(y|0)!=0;if(x){a[j+v>>0]=a[d>>0]|0;a[j+w>>0]=a[d+1>>0]|0}if(i&240|0?(l=h<<1,(h|0)>0):0){n=v+-2|0;o=v+-1|0;m=(((l|0)>2?l:2)+-1|0)>>>1;k=0;d=0;l=0;while(1){D=r(k,g)|0;a[j+(n+d)>>0]=a[f+D>>0]|0;a[j+(o+d)>>0]=a[f+(D+1)>>0]|0;if((k|0)==(m|0))break;else{k=k+1|0;d=-2-l|0;l=l+2|0}}}if(p|0?(q=h<<1,(q|0)<(v|0)):0){l=v+-2|0;m=v+-1|0;d=h;k=q;while(1){D=r(d,g)|0;a[j+(l-k)>>0]=a[f+D>>0]|0;a[j+(m-k)>>0]=a[f+(D+1)>>0]|0;k=k+2|0;if((k|0)>=(v|0))break;else d=d+1|0}}k=h<<1;if(t|0)ae(j+(v|2)|0,e,k);if(s|0)ae(j+((v|2)+k)|0,e+k|0,k);switch(h|0){case 4:{D=i>>>3&1;m=i>>>7&1;n=i>>>8&1;l=i>>>12&1;c[u>>2]=D;c[u+4>>2]=m;c[u+8>>2]=y>>>16;c[u+12>>2]=n;c[u+16>>2]=l;do if(!D){if(!m){k=2;while(1)if(!(c[u+(k<<2)>>2]|0))k=k+1|0;else break}else k=1;d=k<<2;if(k>>>0<3){be(j,b[j+(k<<3)>>1]|0,d);break}else{D=d+-3|0;be(j,b[j+(D<<1)>>1]|0,D);break}}while(0);if(!m)be(j+8|0,b[j+6>>1]|0,4);if(!y){a[j+v>>0]=a[j+(v+-2)>>0]|0;a[j+w>>0]=a[j+(v+-1)>>0]|0}if(!n)be(j+(v|2)|0,b[j+v>>1]|0,4);if(l|0){Sb=C;return}be(j+26|0,b[j+24>>1]|0,4);Sb=C;return}case 8:{d=i>>>4;o=i>>>2&3|d&12;d=i>>>6&192|d&48;q=d|o|y>>>8;k=Mk(o|0)|0;k=(o|0)==0|(k|0)==8?16:k<<2;o=(y|0)==0;if(!(o&(k|0)==16))if(!k)k=0;else z=37;else{k=((Mk(d>>>4|0)|0)<<2)+17|0;k=(d|0)==0?49:k;z=37}if((z|0)==37){l=k<<1;m=a[j+l>>0]|0;n=a[j+(l|1)>>0]|0;d=l;l=l+-2|0;while(1){a[j+l>>0]=m;a[j+(d+-1)>>0]=n;d=l+-2|0;if((d|0)>-1){D=l;l=d;d=D}else break}if((k|0)>=33){Sb=C;return}}if(!o){do{d=(k|0)==16;if(!d?(B=k<<1,(1<<(k>>2)&q|0)==0):0)be(j+B|0,b[j+(B+-2)>>1]|0,4);k=(d?1:4)+k|0}while((k|0)<33);Sb=C;return}m=j+33|0;n=j+31|0;o=j+32|0;p=j+30|0;do{d=(k|0)==16;if(!d){l=k<<1;if(!(1<<(k>>2)&q))be(j+l|0,b[j+(l+-2)>>1]|0,4)}else{a[o>>0]=a[p>>0]|0;a[m>>0]=a[n>>0]|0}k=(d?1:4)+k|0}while((k|0)<33);Sb=C;return}case 16:{D=i&255;k=(Mk(D|0)|0)<<2;k=(D|0)==0?32:k;if(!((y|0)==0&(k|0)==32))if(!k)k=0;else z=55;else{z=i>>>8&255;k=((Mk(z|0)|0)<<2)+33|0;k=(z|0)==0?65:k;z=55}if((z|0)==55){l=k<<1;m=a[j+l>>0]|0;n=a[j+(l|1)>>0]|0;d=l;l=l+-2|0;while(1){a[j+l>>0]=m;a[j+(d+-1)>>0]=n;d=l+-2|0;if((d|0)>-1){D=l;l=d;d=D}else break}if((k|0)>=65){Sb=C;return}}if(x){do{d=(k|0)==32;if(!d?(A=k<<1,(1<<(k>>2)&i|0)==0):0)be(j+A|0,b[j+(A+-2)>>1]|0,4);k=(d?1:4)+k|0}while((k|0)<65);Sb=C;return}m=j+65|0;n=j+63|0;o=j+64|0;p=j+62|0;do{d=(k|0)==32;if(!d){l=k<<1;if(!(1<<(k>>2)&i))be(j+l|0,b[j+(l+-2)>>1]|0,4)}else{a[o>>0]=a[p>>0]|0;a[m>>0]=a[n>>0]|0}k=(d?1:4)+k|0}while((k|0)<65);Sb=C;return}default:{Sb=C;return}}}function ae(a,b,c){a=a|0;b=b|0;c=c|0;Sk(a|0,b|0,c|0)|0;return}function be(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(!d)return;e=0;while(1){b[a>>1]=c;e=e+1|0;if((e|0)==(d|0))break;else a=a+2|0}return}function ce(b,c,e,f,g,h){b=b|0;c=c|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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;switch(g|0){case 16:{h=5;break}case 8:{h=4;break}case 4:{h=3;break}default:if((g|0)>0)h=6;else return}t=g<<1;u=g+-1|0;v=t+-1|0;m=g*6|0;j=b+(m+2)|0;k=g<<2|2;n=u<<1;l=b+n|0;m=b+(m+3)|0;n=b+(n|1)|0;i=0;do{s=v-i<<1;o=b+s|0;p=u-i|0;q=r(i,f)|0;i=i+1|0;s=b+(s|1)|0;c=0;do{y=c>>>1;z=u-y|0;C=r(z,d[o>>0]|0)|0;y=y+1|0;B=r(y,d[j>>0]|0)|0;x=c+k|0;A=r(p,d[b+x>>0]|0)|0;w=c+q|0;a[e+w>>0]=C+g+B+A+(r(i,d[l>>0]|0)|0)>>h;z=r(z,d[s>>0]|0)|0;y=r(y,d[m>>0]|0)|0;x=r(p,d[b+(x|1)>>0]|0)|0;a[e+(w+1)>>0]=z+g+y+x+(r(i,d[n>>0]|0)|0)>>h;c=c+2|0}while((c|0)<(t|0))}while((i|0)!=(g|0));return}function de(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;l=g+-4|0;switch(l>>>2|l<<30|0){case 0:{k=3;break}case 3:{k=5;break}case 1:{k=4;break}default:k=6}l=g<<1;j=g<<2;if((l|0)<(j|0)){i=l;h=0;c=0;do{h=h+(d[b+i>>0]|0)|0;c=c+(d[b+(i|1)>>0]|0)|0;i=i+2|0}while((i|0)<(j|0))}else{h=0;c=0}i=j|2;j=(g*6|0)+2|0;if((i|0)<(j|0))do{h=h+(d[b+i>>0]|0)|0;c=c+(d[b+(i|1)>>0]|0)|0;i=i+2|0}while((i|0)<(j|0));if((g|0)<=0)return;b=h+g>>k&255;i=c+g>>k&255;h=0;do{j=r(h,f)|0;c=0;do{k=c+j|0;a[e+k>>0]=b;a[e+(k+1)>>0]=i;c=c+2|0}while((c|0)<(l|0));h=h+1|0}while((h|0)!=(g|0));return}function ee(b,c,d,e,f,g){b=b|0;c=c|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;if((f|0)<=0)return;l=f<<1;h=f<<2;m=h+-2|0;h=h+-1|0;c=0;do{k=c<<1;i=b+(m-k)|0;j=r(c,e)|0;k=b+(h-k)|0;g=0;do{n=g+j|0;a[d+n>>0]=a[i>>0]|0;a[d+(n+1)>>0]=a[k>>0]|0;g=g+2|0}while((g|0)<(l|0));c=c+1|0}while((c|0)!=(f|0));return}function fe(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;if((f|0)<=0)return;j=f<<1;h=f<<2;k=h|2;h=h|3;c=0;do{i=r(c,e)|0;g=0;do{l=g+i|0;a[d+l>>0]=a[b+(g+k)>>0]|0;a[d+(l+1)>>0]=a[b+(g+h)>>0]|0;g=g+2|0}while((g|0)<(j|0));c=c+1|0}while((c|0)!=(f|0));return}function ge(b,c,d,e,f,g){b=b|0;c=c|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;j=f<<1;if((f|0)<=0)return;k=f<<2;c=0;do{l=c|1;h=-3-l|0;i=~((l<<5)+32>>5);g=0;do{n=k-(g<<1)|0;m=r(g,e)|0;a[d+(m+c)>>0]=a[b+(h+n)>>0]|0;a[d+(m+l)>>0]=a[b+(n+i)>>0]|0;g=g+1|0}while((g|0)!=(f|0));c=c+2|0}while((c|0)<(j|0));return}function he(b,c,d,e,f,g){b=b|0;c=c|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;l=(g|0)==18?-32:32;if((f|0)<=0)return;j=f<<1;k=f<<2|2;g=0;do{i=g;g=g+1|0;h=k+((r(g,l)|0)>>4)|0;i=r(i,e)|0;c=0;do{a[d+(c+i)>>0]=a[b+(h+c)>>0]|0;m=c|1;a[d+(m+i)>>0]=a[b+(h+m)>>0]|0;c=c+2|0}while((c|0)<(j|0))}while((g|0)!=(f|0));return}function ie(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;o=c[25216+(i<<2)>>2]|0;p=h<<1;if((h|0)<=0)return;j=h<<2;e=0;do{l=r((e>>>1)+1|0,o)|0;k=l&31;l=l>>5<<1;m=32-k|0;n=e|1;i=0;do{s=j-(i<<1)-l|0;t=r(m,d[b+(s+-2)>>0]|0)|0;q=r(i,g)|0;a[f+(q+e)>>0]=(t+16+(r(k,d[b+(s+-4)>>0]|0)|0)|0)>>>5;t=r(m,d[b+(s+-1)>>0]|0)|0;a[f+(q+n)>>0]=(t+16+(r(k,d[b+(s+-3)>>0]|0)|0)|0)>>>5;i=i+1|0}while((i|0)!=(h|0));e=e+2|0}while((e|0)<(p|0));return}function je(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;q=Sb;Sb=Sb+144|0;l=q;p=c[25216+(i<<2)>>2]|0;m=c[25360+(i+-11<<2)>>2]|0;o=h<<1;j=o+2|0;if((j|0)>0){k=h<<2;e=o+-2|0;i=0;do{n=k-i|0;a[l+(i+e)>>0]=a[b+n>>0]|0;a[l+((i|1)+e)>>0]=a[b+(n|1)>>0]|0;i=i+2|0}while((i|0)<(j|0))}else e=o+-2|0;n=l+e|0;l=r(p,h)|0;j=l>>5<<1;if((l|0)<-32){k=h<<2;l=k|1;e=128;i=-2;do{e=e+m|0;s=e>>8<<1;a[n+i>>0]=a[b+(s+k)>>0]|0;a[n+(i|1)>>0]=a[b+(s+l)>>0]|0;i=i+-2|0}while((i|0)>(j|0))}if(!((o|0)>0&(h|0)>0)){Sb=q;return}e=0;do{k=r((e>>>1)+1|0,p)|0;j=k>>5;k=k&31;l=32-k|0;m=e|1;i=0;do{b=i+j<<1;t=r(l,d[n+(b+2)>>0]|0)|0;s=r(i,g)|0;a[f+(s+e)>>0]=(t+16+(r(k,d[n+(b+4)>>0]|0)|0)|0)>>>5;t=r(l,d[n+(b+3)>>0]|0)|0;a[f+(s+m)>>0]=(t+16+(r(k,d[n+(b+5)>>0]|0)|0)|0)>>>5;i=i+1|0}while((i|0)!=(h|0));e=e+2|0}while((e|0)<(o|0));Sb=q;return}function ke(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;q=Sb;Sb=Sb+144|0;l=q;p=c[25216+(i<<2)>>2]|0;m=c[25360+(i+-12<<2)>>2]|0;o=h<<1;j=o+2|0;if((j|0)>0){k=h<<2;e=o+-2|0;i=0;do{n=i+k|0;a[l+(i+e)>>0]=a[b+n>>0]|0;a[l+((i|1)+e)>>0]=a[b+(n|1)>>0]|0;i=i+2|0}while((i|0)<(j|0))}else e=o+-2|0;k=r(p,h)|0;n=l+e|0;j=k>>5<<1;if((k|0)<-32){k=h<<2;l=k|1;e=128;i=-2;do{e=e+m|0;s=e>>8<<1;a[n+i>>0]=a[b+(k-s)>>0]|0;a[n+(i|1)>>0]=a[b+(l-s)>>0]|0;i=i+-2|0}while((i|0)>(j|0))}if(!((h|0)>0&(o|0)>0)){Sb=q;return}i=0;do{m=i;i=i+1|0;k=r(i,p)|0;j=k&31;k=k>>5<<1;l=32-j|0;m=r(m,g)|0;e=0;do{t=e+k|0;s=e|1;b=s+k|0;u=r(l,d[n+(t+2)>>0]|0)|0;a[f+(e+m)>>0]=(u+16+(r(j,d[n+(t+4)>>0]|0)|0)|0)>>>5;t=r(l,d[n+(b+2)>>0]|0)|0;a[f+(s+m)>>0]=(t+16+(r(j,d[n+(b+4)>>0]|0)|0)|0)>>>5;e=e+2|0}while((e|0)<(o|0))}while((i|0)!=(h|0));Sb=q;return}function le(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;o=c[25216+(i<<2)>>2]|0;if((h|0)<=0)return;p=h<<1;j=h<<2;i=0;do{n=i;i=i+1|0;l=r(i,o)|0;k=l&31;l=(l>>5<<1)+j|0;m=32-k|0;n=r(n,g)|0;e=0;do{t=l+e|0;q=e|1;s=l+q|0;u=r(m,d[b+(t+2)>>0]|0)|0;a[f+(e+n)>>0]=(u+16+(r(k,d[b+(t+4)>>0]|0)|0)|0)>>>5;t=r(m,d[b+(s+2)>>0]|0)|0;a[f+(q+n)>>0]=(t+16+(r(k,d[b+(s+4)>>0]|0)|0)|0)>>>5;e=e+2|0}while((e|0)<(p|0))}while((i|0)!=(h|0));return}function me(c,e,f,g,h,i,j,k,l){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;s=b[16820]|0;t=b[16828]|0;p=h*3|0;u=b[16821]|0;v=b[16829]|0;w=b[16816]|0;x=b[16824]|0;q=h<<1;y=b[16817]|0;z=b[16825]|0;if(!(k&1)){m=b[c+(h<<1)>>1]|0;o=r(m,s)|0;l=b[c+(p<<1)>>1]|0;o=(r(l,t)|0)+o|0;m=(r(v,l)|0)+(r(u,m)|0)|0;l=b[c>>1]|0;n=r(l,w)|0;A=b[c+(q<<1)>>1]|0;n=(r(A,x)|0)+n|0;l=(r(z,A)|0)+(r(y,l)|0)|0;A=n+o|0;A=(A|0)>4194239?32767:(A|0)<-4194368?-32768:(A+64|0)>>>7&65535;b[e>>1]=A;B=l+m|0;b[e+2>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535;m=l-m|0;b[e+4>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;o=n-o|0;b[e+6>>1]=(o|0)>4194239?32767:(o|0)<-4194368?-32768:(o+64|0)>>>7&65535}else{A=e;B=A;b[B>>1]=0;b[B+2>>1]=0>>>16;A=A+4|0;b[A>>1]=0;b[A+2>>1]=0>>>16;A=0}l=c+2|0;m=e+8|0;if(!(k&2)){C=b[l+(h<<1)>>1]|0;B=r(C,s)|0;o=b[l+(p<<1)>>1]|0;B=(r(o,t)|0)+B|0;C=(r(v,o)|0)+(r(u,C)|0)|0;o=b[l>>1]|0;n=r(o,w)|0;l=b[l+(q<<1)>>1]|0;n=(r(l,x)|0)+n|0;l=(r(z,l)|0)+(r(y,o)|0)|0;o=n+B|0;o=(o|0)>4194239?32767:(o|0)<-4194368?-32768:(o+64|0)>>>7&65535;b[m>>1]=o;m=l+C|0;b[e+10>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=l-C|0;b[e+12>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;B=n-B|0;b[e+14>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535}else{o=m;C=o;b[C>>1]=0;b[C+2>>1]=0>>>16;o=o+4|0;b[o>>1]=0;b[o+2>>1]=0>>>16;o=0}l=c+4|0;m=e+16|0;if(!(k&4)){D=b[l+(h<<1)>>1]|0;C=r(D,s)|0;n=b[l+(p<<1)>>1]|0;C=(r(n,t)|0)+C|0;D=(r(v,n)|0)+(r(u,D)|0)|0;n=b[l>>1]|0;B=r(n,w)|0;l=b[l+(q<<1)>>1]|0;B=(r(l,x)|0)+B|0;l=(r(z,l)|0)+(r(y,n)|0)|0;n=B+C|0;n=(n|0)>4194239?32767:(n|0)<-4194368?-32768:(n+64|0)>>>7&65535;b[m>>1]=n;m=l+D|0;b[e+18>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=l-D|0;b[e+20>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;C=B-C|0;b[e+22>>1]=(C|0)>4194239?32767:(C|0)<-4194368?-32768:(C+64|0)>>>7&65535}else{n=m;D=n;b[D>>1]=0;b[D+2>>1]=0>>>16;n=n+4|0;b[n>>1]=0;b[n+2>>1]=0>>>16;n=0}l=c+6|0;m=e+24|0;if(!(k&8)){B=b[l+(h<<1)>>1]|0;D=r(B,s)|0;k=b[l+(p<<1)>>1]|0;D=(r(k,t)|0)+D|0;B=(r(v,k)|0)+(r(u,B)|0)|0;k=b[l>>1]|0;C=r(k,w)|0;l=b[l+(q<<1)>>1]|0;C=(r(l,x)|0)+C|0;k=(r(z,l)|0)+(r(y,k)|0)|0;l=C+D|0;l=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;b[m>>1]=l;h=k+B|0;b[e+26>>1]=(h|0)>4194239?32767:(h|0)<-4194368?-32768:(h+64|0)>>>7&65535;B=k-B|0;b[e+28>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535;D=C-D|0;b[e+30>>1]=(D|0)>4194239?32767:(D|0)<-4194368?-32768:(D+64|0)>>>7&65535}else{l=m;D=l;b[D>>1]=0;b[D+2>>1]=0>>>16;l=l+4|0;b[l>>1]=0;b[l+2>>1]=0>>>16;l=0}k=o<<16>>16;B=l<<16>>16;C=(r(B,t)|0)+(r(k,s)|0)|0;k=(r(v,B)|0)+(r(u,k)|0)|0;B=A<<16>>16;h=n<<16>>16;D=(r(h,x)|0)+(r(B,w)|0)|0;B=(r(z,h)|0)+(r(y,B)|0)|0;h=D+C|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[f>>0]|0)|0;h=(h|0)>0?h:0;a[g>>0]=(h|0)<255?h:255;h=B+k|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[f+2>>0]|0)|0;h=(h|0)>0?h:0;a[g+2>>0]=(h|0)<255?h:255;k=B-k|0;k=((k|0)>134215679?32767:(k|0)<-134219776?-32768:k+2048>>12)+(d[f+4>>0]|0)|0;k=(k|0)>0?k:0;a[g+4>>0]=(k|0)<255?k:255;C=D-C|0;C=((C|0)>134215679?32767:(C|0)<-134219776?-32768:C+2048>>12)+(d[f+6>>0]|0)|0;C=(C|0)>0?C:0;a[g+6>>0]=(C|0)<255?C:255;C=f+i|0;D=g+j|0;k=b[e+10>>1]|0;f=r(k,s)|0;g=b[e+26>>1]|0;f=(r(g,t)|0)+f|0;k=(r(v,g)|0)+(r(u,k)|0)|0;g=b[e+2>>1]|0;B=r(g,w)|0;h=b[e+18>>1]|0;B=(r(h,x)|0)+B|0;g=(r(z,h)|0)+(r(y,g)|0)|0;h=B+f|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C>>0]|0)|0;h=(h|0)>0?h:0;a[D>>0]=(h|0)<255?h:255;h=g+k|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C+2>>0]|0)|0;h=(h|0)>0?h:0;a[D+2>>0]=(h|0)<255?h:255;k=g-k|0;k=((k|0)>134215679?32767:(k|0)<-134219776?-32768:k+2048>>12)+(d[C+4>>0]|0)|0;k=(k|0)>0?k:0;a[D+4>>0]=(k|0)<255?k:255;f=B-f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+6>>0]|0)|0;f=(f|0)>0?f:0;a[D+6>>0]=(f|0)<255?f:255;C=C+i|0;D=D+j|0;f=b[e+12>>1]|0;B=r(f,s)|0;k=b[e+28>>1]|0;B=(r(k,t)|0)+B|0;f=(r(v,k)|0)+(r(u,f)|0)|0;k=b[e+4>>1]|0;g=r(k,w)|0;h=b[e+20>>1]|0;g=(r(h,x)|0)+g|0;k=(r(z,h)|0)+(r(y,k)|0)|0;h=g+B|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C>>0]|0)|0;h=(h|0)>0?h:0;a[D>>0]=(h|0)<255?h:255;h=k+f|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C+2>>0]|0)|0;h=(h|0)>0?h:0;a[D+2>>0]=(h|0)<255?h:255;f=k-f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+4>>0]|0)|0;f=(f|0)>0?f:0;a[D+4>>0]=(f|0)<255?f:255;B=g-B|0;B=((B|0)>134215679?32767:(B|0)<-134219776?-32768:B+2048>>12)+(d[C+6>>0]|0)|0;B=(B|0)>0?B:0;a[D+6>>0]=(B|0)<255?B:255;C=C+i|0;D=D+j|0;i=b[e+14>>1]|0;B=r(i,s)|0;g=b[e+30>>1]|0;B=(r(g,t)|0)+B|0;i=(r(v,g)|0)+(r(u,i)|0)|0;g=b[e+6>>1]|0;j=r(g,w)|0;f=b[e+22>>1]|0;j=(r(f,x)|0)+j|0;g=(r(z,f)|0)+(r(y,g)|0)|0;f=j+B|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C>>0]|0)|0;f=(f|0)>0?f:0;a[D>>0]=(f|0)<255?f:255;f=g+i|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+2>>0]|0)|0;f=(f|0)>0?f:0;a[D+2>>0]=(f|0)<255?f:255;i=g-i|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[C+4>>0]|0)|0;i=(i|0)>0?i:0;a[D+4>>0]=(i|0)<255?i:255;B=j-B|0;C=((B|0)>134215679?32767:(B|0)<-134219776?-32768:B+2048>>12)+(d[C+6>>0]|0)|0;C=(C|0)>0?C:0;a[D+6>>0]=(C|0)<255?C:255;return}function ne(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,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;Ib=Sb;Sb=Sb+80|0;Hb=Ib+48|0;Fb=Ib+16|0;Gb=Ib;Cb=(l&65520|0)==65520;Eb=(l&65280|0)==65280;Db=Cb?4:Eb?8:16;if((m&65520|0)==65520){p=i*3|0;q=i<<1;s=b[16896]|0;t=b[16897]|0;u=b[16912]|0;v=b[16944]|0;w=b[16913]|0;x=b[16945]|0;y=Fb+4|0;z=b[16914]|0;A=b[16946]|0;B=Fb+8|0;C=b[16915]|0;D=b[16947]|0;E=Fb+12|0;F=b[16916]|0;G=b[16948]|0;H=Fb+16|0;I=b[16917]|0;J=b[16949]|0;K=Fb+20|0;L=b[16918]|0;M=b[16950]|0;N=Fb+24|0;O=b[16919]|0;P=b[16951]|0;Q=Fb+28|0;R=b[16928]|0;S=b[16929]|0;T=Gb+4|0;U=b[16930]|0;V=Gb+8|0;W=b[16931]|0;X=Gb+12|0;Y=Hb+16|0;Z=Hb+4|0;_=Hb+20|0;$=Hb+8|0;aa=Hb+24|0;ba=Hb+12|0;ca=Hb+28|0;n=f;o=0;m=e;while(1){if(!(l&1)){wb=b[m+(i<<1)>>1]|0;zb=b[m+(p<<1)>>1]|0;c[Fb>>2]=(r(zb,v)|0)+(r(wb,u)|0);c[y>>2]=(r(zb,x)|0)+(r(wb,w)|0);c[B>>2]=(r(zb,A)|0)+(r(wb,z)|0);c[E>>2]=(r(zb,D)|0)+(r(wb,C)|0);c[H>>2]=(r(zb,G)|0)+(r(wb,F)|0);c[K>>2]=(r(zb,J)|0)+(r(wb,I)|0);c[N>>2]=(r(zb,M)|0)+(r(wb,L)|0);wb=(r(zb,P)|0)+(r(wb,O)|0)|0;c[Q>>2]=wb;zb=b[m+(q<<1)>>1]|0;vb=r(zb,R)|0;c[Gb>>2]=vb;Bb=r(zb,S)|0;c[T>>2]=Bb;e=r(zb,U)|0;c[V>>2]=e;zb=r(zb,W)|0;c[X>>2]=zb;sb=b[m>>1]|0;tb=r(sb,s)|0;sb=r(t,sb)|0;ub=vb+tb|0;c[Hb>>2]=ub;yb=tb-zb|0;c[Y>>2]=yb;xb=Bb+sb|0;c[Z>>2]=xb;Ab=sb-e|0;c[_>>2]=Ab;e=e+sb|0;c[$>>2]=e;Bb=sb-Bb|0;c[aa>>2]=Bb;zb=zb+tb|0;c[ba>>2]=zb;vb=tb-vb|0;c[ca>>2]=vb;ub=(c[Fb>>2]|0)+ub|0;b[n>>1]=(ub|0)>4194239?32767:(ub|0)<-4194368?-32768:(ub+64|0)>>>7&65535;wb=vb-wb|0;b[n+16>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;xb=(c[y>>2]|0)+xb|0;b[n+2>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;Bb=Bb-(c[N>>2]|0)|0;b[n+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[B>>2]|0;e=Bb+e|0;b[n+4>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;e=c[K>>2]|0;Ab=Ab-e|0;b[n+20>>1]=(Ab|0)>4194239?32767:(Ab|0)<-4194368?-32768:(Ab+64|0)>>>7&65535;Ab=c[E>>2]|0;zb=Ab+zb|0;b[n+6>>1]=(zb|0)>4194239?32767:(zb|0)<-4194368?-32768:(zb+64|0)>>>7&65535;zb=c[H>>2]|0;yb=yb-zb|0;b[n+22>>1]=(yb|0)>4194239?32767:(yb|0)<-4194368?-32768:(yb+64|0)>>>7&65535;zb=zb+(c[Y>>2]|0)|0;b[n+8>>1]=(zb|0)>4194239?32767:(zb|0)<-4194368?-32768:(zb+64|0)>>>7&65535;Ab=(c[ba>>2]|0)-Ab|0;b[n+24>>1]=(Ab|0)>4194239?32767:(Ab|0)<-4194368?-32768:(Ab+64|0)>>>7&65535;e=e+(c[_>>2]|0)|0;b[n+10>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;Bb=(c[$>>2]|0)-Bb|0;b[n+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[N>>2]|0)+(c[aa>>2]|0)|0;b[n+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Z>>2]|0)-(c[y>>2]|0)|0;b[n+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Q>>2]|0)+(c[ca>>2]|0)|0;b[n+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[n+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{e=n;Bb=e+32|0;do{b[e>>1]=0;e=e+2|0}while((e|0)<(Bb|0))}o=o+1|0;if(o>>>0>=Db>>>0)break;else{n=n+32|0;l=l>>1;m=m+2|0}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;s=b[16913]|0;t=b[16945]|0;u=Fb+4|0;v=b[16914]|0;w=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;m=f;l=0;while(1){i=b[m+32>>1]|0;Eb=b[m+96>>1]|0;c[Fb>>2]=(r(Eb,q)|0)+(r(i,p)|0);c[u>>2]=(r(Eb,t)|0)+(r(i,s)|0);c[x>>2]=(r(Eb,w)|0)+(r(i,v)|0);c[A>>2]=(r(Eb,z)|0)+(r(i,y)|0);c[D>>2]=(r(Eb,C)|0)+(r(i,B)|0);c[G>>2]=(r(Eb,F)|0)+(r(i,E)|0);c[J>>2]=(r(Eb,I)|0)+(r(i,H)|0);c[M>>2]=(r(Eb,L)|0)+(r(i,K)|0);i=b[m+64>>1]|0;Eb=r(i,N)|0;c[Gb>>2]=Eb;Cb=r(i,O)|0;c[P>>2]=Cb;e=r(i,Q)|0;c[R>>2]=e;i=r(i,S)|0;c[T>>2]=i;Bb=b[m>>1]|0;Db=r(Bb,n)|0;Bb=r(o,Bb)|0;f=Eb+Db|0;c[Hb>>2]=f;c[U>>2]=Db-i;c[V>>2]=Cb+Bb;c[W>>2]=Bb-e;c[X>>2]=e+Bb;c[Y>>2]=Bb-Cb;c[Z>>2]=i+Db;c[_>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[_>>2]|0)-(c[M>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[u>>2]|0)+(c[V>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[x>>2]|0)+(c[X>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[W>>2]|0)-(c[G>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[A>>2]|0)+(c[Z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[U>>2]|0;Eb=c[D>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[Z>>2]|0)-(c[A>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[G>>2]|0)+(c[W>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[X>>2]|0)-(c[x>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[V>>2]|0)-(c[u>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[M>>2]|0)+(c[_>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;s=b[16944]|0;t=b[16976]|0;u=b[17008]|0;v=b[16913]|0;w=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;m=f;l=0;while(1){Eb=b[m+32>>1]|0;Bb=b[m+96>>1]|0;yb=b[m+160>>1]|0;Cb=b[m+224>>1]|0;c[Fb>>2]=(r(Bb,s)|0)+(r(Eb,q)|0)+(r(yb,t)|0)+(r(Cb,u)|0);c[z>>2]=(r(Bb,w)|0)+(r(Eb,v)|0)+(r(yb,x)|0)+(r(Cb,y)|0);c[E>>2]=(r(Bb,B)|0)+(r(Eb,A)|0)+(r(yb,C)|0)+(r(Cb,D)|0);c[J>>2]=(r(Bb,G)|0)+(r(Eb,F)|0)+(r(yb,H)|0)+(r(Cb,I)|0);c[O>>2]=(r(Bb,L)|0)+(r(Eb,K)|0)+(r(yb,M)|0)+(r(Cb,N)|0);c[T>>2]=(r(Bb,Q)|0)+(r(Eb,P)|0)+(r(yb,R)|0)+(r(Cb,S)|0);c[Y>>2]=(r(Bb,V)|0)+(r(Eb,U)|0)+(r(yb,W)|0)+(r(Cb,X)|0);c[ba>>2]=(r(Bb,_)|0)+(r(Eb,Z)|0)+(r(yb,$)|0)+(r(Cb,aa)|0);Cb=b[m+64>>1]|0;yb=b[m+192>>1]|0;Eb=(r(yb,da)|0)+(r(Cb,ca)|0)|0;c[Gb>>2]=Eb;Bb=(r(yb,fa)|0)+(r(Cb,ea)|0)|0;c[ga>>2]=Bb;zb=(r(yb,ia)|0)+(r(Cb,ha)|0)|0;c[ja>>2]=zb;Cb=(r(yb,la)|0)+(r(Cb,ka)|0)|0;c[ma>>2]=Cb;yb=b[m+128>>1]|0;i=r(yb,kb)|0;e=b[m>>1]|0;f=r(e,n)|0;yb=r(o,yb)|0;e=r(p,e)|0;Db=i+f|0;Ab=e-yb|0;e=yb+e|0;i=f-i|0;f=Eb+Db|0;c[Hb>>2]=f;c[na>>2]=i-Cb;c[oa>>2]=Bb+e;c[pa>>2]=Ab-zb;c[qa>>2]=zb+Ab;c[ra>>2]=e-Bb;c[sa>>2]=Cb+i;c[ta>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[z>>2]|0)+(c[oa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[ra>>2]|0)-(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[E>>2]|0)+(c[qa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[pa>>2]|0)-(c[T>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[sa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[na>>2]|0;Eb=c[O>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[sa>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[T>>2]|0)+(c[pa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[qa>>2]|0)-(c[E>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)+(c[ra>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[oa>>2]|0)-(c[z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;s=b[17089]|0;t=b[16897]|0;u=b[17025]|0;v=b[16912]|0;w=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;l=0;m=f;while(1){Ab=b[m+32>>1]|0;Bb=b[m+96>>1]|0;Cb=b[m+160>>1]|0;f=b[m+224>>1]|0;i=b[m+288>>1]|0;yb=b[m+352>>1]|0;e=b[m+416>>1]|0;Db=b[m+480>>1]|0;c[Fb>>2]=(r(Bb,w)|0)+(r(Ab,v)|0)+(r(Cb,x)|0)+(r(f,y)|0)+(r(i,z)|0)+(r(yb,A)|0)+(r(e,B)|0)+(r(Db,C)|0);c[L>>2]=(r(Bb,E)|0)+(r(Ab,D)|0)+(r(Cb,F)|0)+(r(f,G)|0)+(r(i,H)|0)+(r(yb,I)|0)+(r(e,J)|0)+(r(Db,K)|0);c[U>>2]=(r(Bb,N)|0)+(r(Ab,M)|0)+(r(Cb,O)|0)+(r(f,P)|0)+(r(i,Q)|0)+(r(yb,R)|0)+(r(e,S)|0)+(r(Db,T)|0);c[ba>>2]=(r(Bb,W)|0)+(r(Ab,V)|0)+(r(Cb,X)|0)+(r(f,Y)|0)+(r(i,Z)|0)+(r(yb,_)|0)+(r(e,$)|0)+(r(Db,aa)|0);c[ka>>2]=(r(Bb,da)|0)+(r(Ab,ca)|0)+(r(Cb,ea)|0)+(r(f,fa)|0)+(r(i,ga)|0)+(r(yb,ha)|0)+(r(e,ia)|0)+(r(Db,ja)|0);c[ta>>2]=(r(Bb,ma)|0)+(r(Ab,la)|0)+(r(Cb,na)|0)+(r(f,oa)|0)+(r(i,pa)|0)+(r(yb,qa)|0)+(r(e,ra)|0)+(r(Db,sa)|0);c[Ca>>2]=(r(Bb,va)|0)+(r(Ab,ua)|0)+(r(Cb,wa)|0)+(r(f,xa)|0)+(r(i,ya)|0)+(r(yb,za)|0)+(r(e,Aa)|0)+(r(Db,Ba)|0);c[La>>2]=(r(Bb,Ea)|0)+(r(Ab,Da)|0)+(r(Cb,Fa)|0)+(r(f,Ga)|0)+(r(i,Ha)|0)+(r(yb,Ia)|0)+(r(e,Ja)|0)+(r(Db,Ka)|0);Db=b[m+64>>1]|0;e=b[m+192>>1]|0;yb=b[m+320>>1]|0;i=b[m+448>>1]|0;f=(r(e,Na)|0)+(r(Db,Ma)|0)+(r(yb,Oa)|0)+(r(i,Pa)|0)|0;c[Gb>>2]=f;Cb=(r(e,Ra)|0)+(r(Db,Qa)|0)+(r(yb,Sa)|0)+(r(i,Ta)|0)|0;c[Ua>>2]=Cb;Ab=(r(e,Wa)|0)+(r(Db,Va)|0)+(r(yb,Xa)|0)+(r(i,Ya)|0)|0;c[Za>>2]=Ab;i=(r(e,$a)|0)+(r(Db,_a)|0)+(r(yb,ab)|0)+(r(i,bb)|0)|0;c[cb>>2]=i;yb=b[m+128>>1]|0;Db=r(yb,kb)|0;e=b[m+384>>1]|0;Db=(r(e,n)|0)+Db|0;Bb=b[m>>1]|0;zb=r(Bb,o)|0;Eb=b[m+256>>1]|0;zb=(r(Eb,p)|0)+zb|0;yb=(r(s,e)|0)+(r(q,yb)|0)|0;Bb=(r(u,Eb)|0)+(r(t,Bb)|0)|0;Eb=Db+zb|0;e=Bb-yb|0;Bb=yb+Bb|0;Db=zb-Db|0;f=f+Eb|0;c[Hb>>2]=f;c[db>>2]=Db-i;c[eb>>2]=Cb+Bb;c[fb>>2]=e-Ab;c[gb>>2]=Ab+e;c[hb>>2]=Bb-Cb;c[ib>>2]=i+Db;c[jb>>2]=Eb-(c[Gb>>2]|0);f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[jb>>2]|0)-(c[La>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[L>>2]|0)+(c[eb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)+(c[gb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[fb>>2]|0)-(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ib>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[db>>2]|0;Eb=c[ka>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[ib>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)+(c[fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[gb>>2]|0)-(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[eb>>2]|0)-(c[L>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[La>>2]|0)+(c[jb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}}yb=i*3|0;zb=i*5|0;Ab=i*7|0;if((m&65280|0)==65280){p=i<<1;q=i*6|0;s=b[16960]|0;t=i<<2;u=b[16896]|0;v=b[16961]|0;w=b[16897]|0;x=b[16912]|0;y=b[16944]|0;z=b[16976]|0;A=b[17008]|0;B=b[16913]|0;C=b[16945]|0;D=b[16977]|0;E=b[17009]|0;F=Fb+4|0;G=b[16914]|0;H=b[16946]|0;I=b[16978]|0;J=b[17010]|0;K=Fb+8|0;L=b[16915]|0;M=b[16947]|0;N=b[16979]|0;O=b[17011]|0;P=Fb+12|0;Q=b[16916]|0;R=b[16948]|0;S=b[16980]|0;T=b[17012]|0;U=Fb+16|0;V=b[16917]|0;W=b[16949]|0;X=b[16981]|0;Y=b[17013]|0;Z=Fb+20|0;_=b[16918]|0;$=b[16950]|0;aa=b[16982]|0;ba=b[17014]|0;ca=Fb+24|0;da=b[16919]|0;ea=b[16951]|0;fa=b[16983]|0;ga=b[17015]|0;ha=Fb+28|0;ia=b[16928]|0;ja=b[16992]|0;ka=b[16929]|0;la=b[16993]|0;ma=Gb+4|0;na=b[16930]|0;oa=b[16994]|0;pa=Gb+8|0;qa=b[16931]|0;ra=b[16995]|0;sa=Gb+12|0;ta=Hb+16|0;ua=Hb+4|0;va=Hb+20|0;wa=Hb+8|0;xa=Hb+24|0;ya=Hb+12|0;za=Hb+28|0;m=e;n=0;o=f;while(1){if(!(l&1)){tb=b[m+(i<<1)>>1]|0;Bb=b[m+(yb<<1)>>1]|0;vb=b[m+(zb<<1)>>1]|0;qb=b[m+(Ab<<1)>>1]|0;c[Fb>>2]=(r(Bb,y)|0)+(r(tb,x)|0)+(r(vb,z)|0)+(r(qb,A)|0);c[F>>2]=(r(Bb,C)|0)+(r(tb,B)|0)+(r(vb,D)|0)+(r(qb,E)|0);c[K>>2]=(r(Bb,H)|0)+(r(tb,G)|0)+(r(vb,I)|0)+(r(qb,J)|0);c[P>>2]=(r(Bb,M)|0)+(r(tb,L)|0)+(r(vb,N)|0)+(r(qb,O)|0);c[U>>2]=(r(Bb,R)|0)+(r(tb,Q)|0)+(r(vb,S)|0)+(r(qb,T)|0);c[Z>>2]=(r(Bb,W)|0)+(r(tb,V)|0)+(r(vb,X)|0)+(r(qb,Y)|0);c[ca>>2]=(r(Bb,$)|0)+(r(tb,_)|0)+(r(vb,aa)|0)+(r(qb,ba)|0);c[ha>>2]=(r(Bb,ea)|0)+(r(tb,da)|0)+(r(vb,fa)|0)+(r(qb,ga)|0);qb=b[m+(p<<1)>>1]|0;vb=b[m+(q<<1)>>1]|0;tb=(r(vb,ja)|0)+(r(qb,ia)|0)|0;c[Gb>>2]=tb;Bb=(r(vb,la)|0)+(r(qb,ka)|0)|0;c[ma>>2]=Bb;ob=(r(vb,oa)|0)+(r(qb,na)|0)|0;c[pa>>2]=ob;qb=(r(vb,ra)|0)+(r(qb,qa)|0)|0;c[sa>>2]=qb;vb=b[m+(t<<1)>>1]|0;wb=r(vb,s)|0;pb=b[m>>1]|0;sb=r(pb,u)|0;vb=r(v,vb)|0;pb=r(w,pb)|0;rb=wb+sb|0;e=pb-vb|0;pb=vb+pb|0;wb=sb-wb|0;sb=tb+rb|0;c[Hb>>2]=sb;vb=wb-qb|0;c[ta>>2]=vb;ub=Bb+pb|0;c[ua>>2]=ub;xb=e-ob|0;c[va>>2]=xb;e=ob+e|0;c[wa>>2]=e;Bb=pb-Bb|0;c[xa>>2]=Bb;wb=qb+wb|0;c[ya>>2]=wb;tb=rb-tb|0;c[za>>2]=tb;sb=(c[Fb>>2]|0)+sb|0;b[o>>1]=(sb|0)>4194239?32767:(sb|0)<-4194368?-32768:(sb+64|0)>>>7&65535;tb=tb-(c[ha>>2]|0)|0;b[o+16>>1]=(tb|0)>4194239?32767:(tb|0)<-4194368?-32768:(tb+64|0)>>>7&65535;ub=(c[F>>2]|0)+ub|0;b[o+2>>1]=(ub|0)>4194239?32767:(ub|0)<-4194368?-32768:(ub+64|0)>>>7&65535;Bb=Bb-(c[ca>>2]|0)|0;b[o+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[K>>2]|0;e=Bb+e|0;b[o+4>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;e=c[Z>>2]|0;xb=xb-e|0;b[o+20>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;xb=c[P>>2]|0;wb=xb+wb|0;b[o+6>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;wb=c[U>>2]|0;vb=vb-wb|0;b[o+22>>1]=(vb|0)>4194239?32767:(vb|0)<-4194368?-32768:(vb+64|0)>>>7&65535;wb=wb+(c[ta>>2]|0)|0;b[o+8>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;xb=(c[ya>>2]|0)-xb|0;b[o+24>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;e=e+(c[va>>2]|0)|0;b[o+10>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;Bb=(c[wa>>2]|0)-Bb|0;b[o+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ca>>2]|0)+(c[xa>>2]|0)|0;b[o+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ua>>2]|0)-(c[F>>2]|0)|0;b[o+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ha>>2]|0)+(c[za>>2]|0)|0;b[o+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[o+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{e=o;Bb=e+32|0;do{b[e>>1]=0;e=e+2|0}while((e|0)<(Bb|0))}n=n+1|0;if(n>>>0>=Db>>>0)break;else{l=l>>1;m=m+2|0;o=o+32|0}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;s=b[16913]|0;t=b[16945]|0;u=Fb+4|0;v=b[16914]|0;w=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;l=0;m=f;while(1){i=b[m+32>>1]|0;Eb=b[m+96>>1]|0;c[Fb>>2]=(r(Eb,q)|0)+(r(i,p)|0);c[u>>2]=(r(Eb,t)|0)+(r(i,s)|0);c[x>>2]=(r(Eb,w)|0)+(r(i,v)|0);c[A>>2]=(r(Eb,z)|0)+(r(i,y)|0);c[D>>2]=(r(Eb,C)|0)+(r(i,B)|0);c[G>>2]=(r(Eb,F)|0)+(r(i,E)|0);c[J>>2]=(r(Eb,I)|0)+(r(i,H)|0);c[M>>2]=(r(Eb,L)|0)+(r(i,K)|0);i=b[m+64>>1]|0;Eb=r(i,N)|0;c[Gb>>2]=Eb;Cb=r(i,O)|0;c[P>>2]=Cb;e=r(i,Q)|0;c[R>>2]=e;i=r(i,S)|0;c[T>>2]=i;Bb=b[m>>1]|0;Db=r(Bb,n)|0;Bb=r(o,Bb)|0;f=Eb+Db|0;c[Hb>>2]=f;c[U>>2]=Db-i;c[V>>2]=Cb+Bb;c[W>>2]=Bb-e;c[X>>2]=e+Bb;c[Y>>2]=Bb-Cb;c[Z>>2]=i+Db;c[_>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[_>>2]|0)-(c[M>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[u>>2]|0)+(c[V>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[x>>2]|0)+(c[X>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[W>>2]|0)-(c[G>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[A>>2]|0)+(c[Z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[U>>2]|0;Eb=c[D>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[Z>>2]|0)-(c[A>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[G>>2]|0)+(c[W>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[X>>2]|0)-(c[x>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[V>>2]|0)-(c[u>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[M>>2]|0)+(c[_>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;s=b[16944]|0;t=b[16976]|0;u=b[17008]|0;v=b[16913]|0;w=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;l=0;m=f;while(1){Eb=b[m+32>>1]|0;Bb=b[m+96>>1]|0;yb=b[m+160>>1]|0;Cb=b[m+224>>1]|0;c[Fb>>2]=(r(Bb,s)|0)+(r(Eb,q)|0)+(r(yb,t)|0)+(r(Cb,u)|0);c[z>>2]=(r(Bb,w)|0)+(r(Eb,v)|0)+(r(yb,x)|0)+(r(Cb,y)|0);c[E>>2]=(r(Bb,B)|0)+(r(Eb,A)|0)+(r(yb,C)|0)+(r(Cb,D)|0);c[J>>2]=(r(Bb,G)|0)+(r(Eb,F)|0)+(r(yb,H)|0)+(r(Cb,I)|0);c[O>>2]=(r(Bb,L)|0)+(r(Eb,K)|0)+(r(yb,M)|0)+(r(Cb,N)|0);c[T>>2]=(r(Bb,Q)|0)+(r(Eb,P)|0)+(r(yb,R)|0)+(r(Cb,S)|0);c[Y>>2]=(r(Bb,V)|0)+(r(Eb,U)|0)+(r(yb,W)|0)+(r(Cb,X)|0);c[ba>>2]=(r(Bb,_)|0)+(r(Eb,Z)|0)+(r(yb,$)|0)+(r(Cb,aa)|0);Cb=b[m+64>>1]|0;yb=b[m+192>>1]|0;Eb=(r(yb,da)|0)+(r(Cb,ca)|0)|0;c[Gb>>2]=Eb;Bb=(r(yb,fa)|0)+(r(Cb,ea)|0)|0;c[ga>>2]=Bb;zb=(r(yb,ia)|0)+(r(Cb,ha)|0)|0;c[ja>>2]=zb;Cb=(r(yb,la)|0)+(r(Cb,ka)|0)|0;c[ma>>2]=Cb;yb=b[m+128>>1]|0;i=r(yb,kb)|0;e=b[m>>1]|0;f=r(e,n)|0;yb=r(o,yb)|0;e=r(p,e)|0;Db=i+f|0;Ab=e-yb|0;e=yb+e|0;i=f-i|0;f=Eb+Db|0;c[Hb>>2]=f;c[na>>2]=i-Cb;c[oa>>2]=Bb+e;c[pa>>2]=Ab-zb;c[qa>>2]=zb+Ab;c[ra>>2]=e-Bb;c[sa>>2]=Cb+i;c[ta>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[z>>2]|0)+(c[oa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[ra>>2]|0)-(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[E>>2]|0)+(c[qa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[pa>>2]|0)-(c[T>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[sa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[na>>2]|0;Eb=c[O>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[sa>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[T>>2]|0)+(c[pa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[qa>>2]|0)-(c[E>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)+(c[ra>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[oa>>2]|0)-(c[z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;s=b[17089]|0;t=b[16897]|0;u=b[17025]|0;v=b[16912]|0;w=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;l=0;m=f;while(1){Ab=b[m+32>>1]|0;Bb=b[m+96>>1]|0;Cb=b[m+160>>1]|0;f=b[m+224>>1]|0;i=b[m+288>>1]|0;yb=b[m+352>>1]|0;e=b[m+416>>1]|0;Db=b[m+480>>1]|0;c[Fb>>2]=(r(Bb,w)|0)+(r(Ab,v)|0)+(r(Cb,x)|0)+(r(f,y)|0)+(r(i,z)|0)+(r(yb,A)|0)+(r(e,B)|0)+(r(Db,C)|0);c[L>>2]=(r(Bb,E)|0)+(r(Ab,D)|0)+(r(Cb,F)|0)+(r(f,G)|0)+(r(i,H)|0)+(r(yb,I)|0)+(r(e,J)|0)+(r(Db,K)|0);c[U>>2]=(r(Bb,N)|0)+(r(Ab,M)|0)+(r(Cb,O)|0)+(r(f,P)|0)+(r(i,Q)|0)+(r(yb,R)|0)+(r(e,S)|0)+(r(Db,T)|0);c[ba>>2]=(r(Bb,W)|0)+(r(Ab,V)|0)+(r(Cb,X)|0)+(r(f,Y)|0)+(r(i,Z)|0)+(r(yb,_)|0)+(r(e,$)|0)+(r(Db,aa)|0);c[ka>>2]=(r(Bb,da)|0)+(r(Ab,ca)|0)+(r(Cb,ea)|0)+(r(f,fa)|0)+(r(i,ga)|0)+(r(yb,ha)|0)+(r(e,ia)|0)+(r(Db,ja)|0);c[ta>>2]=(r(Bb,ma)|0)+(r(Ab,la)|0)+(r(Cb,na)|0)+(r(f,oa)|0)+(r(i,pa)|0)+(r(yb,qa)|0)+(r(e,ra)|0)+(r(Db,sa)|0);c[Ca>>2]=(r(Bb,va)|0)+(r(Ab,ua)|0)+(r(Cb,wa)|0)+(r(f,xa)|0)+(r(i,ya)|0)+(r(yb,za)|0)+(r(e,Aa)|0)+(r(Db,Ba)|0);c[La>>2]=(r(Bb,Ea)|0)+(r(Ab,Da)|0)+(r(Cb,Fa)|0)+(r(f,Ga)|0)+(r(i,Ha)|0)+(r(yb,Ia)|0)+(r(e,Ja)|0)+(r(Db,Ka)|0);Db=b[m+64>>1]|0;e=b[m+192>>1]|0;yb=b[m+320>>1]|0;i=b[m+448>>1]|0;f=(r(e,Na)|0)+(r(Db,Ma)|0)+(r(yb,Oa)|0)+(r(i,Pa)|0)|0;c[Gb>>2]=f;Cb=(r(e,Ra)|0)+(r(Db,Qa)|0)+(r(yb,Sa)|0)+(r(i,Ta)|0)|0;c[Ua>>2]=Cb;Ab=(r(e,Wa)|0)+(r(Db,Va)|0)+(r(yb,Xa)|0)+(r(i,Ya)|0)|0;c[Za>>2]=Ab;i=(r(e,$a)|0)+(r(Db,_a)|0)+(r(yb,ab)|0)+(r(i,bb)|0)|0;c[cb>>2]=i;yb=b[m+128>>1]|0;Db=r(yb,kb)|0;e=b[m+384>>1]|0;Db=(r(e,n)|0)+Db|0;Bb=b[m>>1]|0;zb=r(Bb,o)|0;Eb=b[m+256>>1]|0;zb=(r(Eb,p)|0)+zb|0;yb=(r(s,e)|0)+(r(q,yb)|0)|0;Bb=(r(u,Eb)|0)+(r(t,Bb)|0)|0;Eb=Db+zb|0;e=Bb-yb|0;Bb=yb+Bb|0;Db=zb-Db|0;f=f+Eb|0;c[Hb>>2]=f;c[db>>2]=Db-i;c[eb>>2]=Cb+Bb;c[fb>>2]=e-Ab;c[gb>>2]=Ab+e;c[hb>>2]=Bb-Cb;c[ib>>2]=i+Db;c[jb>>2]=Eb-(c[Gb>>2]|0);f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[jb>>2]|0)-(c[La>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[L>>2]|0)+(c[eb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)+(c[gb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[fb>>2]|0)-(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ib>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[db>>2]|0;Eb=c[ka>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[ib>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)+(c[fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[gb>>2]|0)-(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[eb>>2]|0)-(c[L>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[La>>2]|0)+(c[jb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}}else{p=i*9|0;q=i*11|0;s=i*13|0;t=i*15|0;u=i<<1;v=i*6|0;w=i*10|0;x=i*14|0;y=b[16960]|0;z=i<<2;A=b[17088]|0;B=i*12|0;C=b[16896]|0;D=b[17024]|0;E=i<<3;F=b[16961]|0;G=b[17089]|0;H=b[16897]|0;I=b[17025]|0;J=b[16912]|0;K=b[16944]|0;L=b[16976]|0;M=b[17008]|0;N=b[17040]|0;O=b[17072]|0;P=b[17104]|0;Q=b[17136]|0;R=b[16913]|0;S=b[16945]|0;T=b[16977]|0;U=b[17009]|0;V=b[17041]|0;W=b[17073]|0;X=b[17105]|0;Y=b[17137]|0;Z=Fb+4|0;_=b[16914]|0;$=b[16946]|0;aa=b[16978]|0;ba=b[17010]|0;ca=b[17042]|0;da=b[17074]|0;ea=b[17106]|0;fa=b[17138]|0;ga=Fb+8|0;ha=b[16915]|0;ia=b[16947]|0;ja=b[16979]|0;ka=b[17011]|0;la=b[17043]|0;ma=b[17075]|0;na=b[17107]|0;oa=b[17139]|0;pa=Fb+12|0;qa=b[16916]|0;ra=b[16948]|0;sa=b[16980]|0;ta=b[17012]|0;ua=b[17044]|0;va=b[17076]|0;wa=b[17108]|0;xa=b[17140]|0;ya=Fb+16|0;za=b[16917]|0;Aa=b[16949]|0;Ba=b[16981]|0;Ca=b[17013]|0;Da=b[17045]|0;Ea=b[17077]|0;Fa=b[17109]|0;Ga=b[17141]|0;Ha=Fb+20|0;Ia=b[16918]|0;Ja=b[16950]|0;Ka=b[16982]|0;La=b[17014]|0;Ma=b[17046]|0;Na=b[17078]|0;Oa=b[17110]|0;Pa=b[17142]|0;Qa=Fb+24|0;Ra=b[16919]|0;Sa=b[16951]|0;Ta=b[16983]|0;Ua=b[17015]|0;Va=b[17047]|0;Wa=b[17079]|0;Xa=b[17111]|0;Ya=b[17143]|0;Za=Fb+28|0;_a=b[16928]|0;$a=b[16992]|0;ab=b[17056]|0;bb=b[17120]|0;cb=b[16929]|0;db=b[16993]|0;eb=b[17057]|0;fb=b[17121]|0;gb=Gb+4|0;hb=b[16930]|0;ib=b[16994]|0;jb=b[17058]|0;kb=b[17122]|0;lb=Gb+8|0;mb=b[16931]|0;nb=b[16995]|0;ob=b[17059]|0;pb=b[17123]|0;qb=Gb+12|0;rb=Hb+16|0;sb=Hb+4|0;tb=Hb+20|0;ub=Hb+8|0;vb=Hb+24|0;wb=Hb+12|0;xb=Hb+28|0;m=e;n=0;o=f;while(1){if(!(l&1)){Rb=b[m+(i<<1)>>1]|0;Qb=b[m+(yb<<1)>>1]|0;Bb=b[m+(zb<<1)>>1]|0;Ob=b[m+(Ab<<1)>>1]|0;Pb=b[m+(p<<1)>>1]|0;Mb=b[m+(q<<1)>>1]|0;e=b[m+(s<<1)>>1]|0;Kb=b[m+(t<<1)>>1]|0;c[Fb>>2]=(r(Qb,K)|0)+(r(Rb,J)|0)+(r(Bb,L)|0)+(r(Ob,M)|0)+(r(Pb,N)|0)+(r(Mb,O)|0)+(r(e,P)|0)+(r(Kb,Q)|0);c[Z>>2]=(r(Qb,S)|0)+(r(Rb,R)|0)+(r(Bb,T)|0)+(r(Ob,U)|0)+(r(Pb,V)|0)+(r(Mb,W)|0)+(r(e,X)|0)+(r(Kb,Y)|0);c[ga>>2]=(r(Qb,$)|0)+(r(Rb,_)|0)+(r(Bb,aa)|0)+(r(Ob,ba)|0)+(r(Pb,ca)|0)+(r(Mb,da)|0)+(r(e,ea)|0)+(r(Kb,fa)|0);c[pa>>2]=(r(Qb,ia)|0)+(r(Rb,ha)|0)+(r(Bb,ja)|0)+(r(Ob,ka)|0)+(r(Pb,la)|0)+(r(Mb,ma)|0)+(r(e,na)|0)+(r(Kb,oa)|0);c[ya>>2]=(r(Qb,ra)|0)+(r(Rb,qa)|0)+(r(Bb,sa)|0)+(r(Ob,ta)|0)+(r(Pb,ua)|0)+(r(Mb,va)|0)+(r(e,wa)|0)+(r(Kb,xa)|0);c[Ha>>2]=(r(Qb,Aa)|0)+(r(Rb,za)|0)+(r(Bb,Ba)|0)+(r(Ob,Ca)|0)+(r(Pb,Da)|0)+(r(Mb,Ea)|0)+(r(e,Fa)|0)+(r(Kb,Ga)|0);c[Qa>>2]=(r(Qb,Ja)|0)+(r(Rb,Ia)|0)+(r(Bb,Ka)|0)+(r(Ob,La)|0)+(r(Pb,Ma)|0)+(r(Mb,Na)|0)+(r(e,Oa)|0)+(r(Kb,Pa)|0);c[Za>>2]=(r(Qb,Sa)|0)+(r(Rb,Ra)|0)+(r(Bb,Ta)|0)+(r(Ob,Ua)|0)+(r(Pb,Va)|0)+(r(Mb,Wa)|0)+(r(e,Xa)|0)+(r(Kb,Ya)|0);Kb=b[m+(u<<1)>>1]|0;e=b[m+(v<<1)>>1]|0;Mb=b[m+(w<<1)>>1]|0;Pb=b[m+(x<<1)>>1]|0;Ob=(r(e,$a)|0)+(r(Kb,_a)|0)+(r(Mb,ab)|0)+(r(Pb,bb)|0)|0;c[Gb>>2]=Ob;Bb=(r(e,db)|0)+(r(Kb,cb)|0)+(r(Mb,eb)|0)+(r(Pb,fb)|0)|0;c[gb>>2]=Bb;Rb=(r(e,ib)|0)+(r(Kb,hb)|0)+(r(Mb,jb)|0)+(r(Pb,kb)|0)|0;c[lb>>2]=Rb;Pb=(r(e,nb)|0)+(r(Kb,mb)|0)+(r(Mb,ob)|0)+(r(Pb,pb)|0)|0;c[qb>>2]=Pb;Mb=b[m+(z<<1)>>1]|0;Kb=r(Mb,y)|0;e=b[m+(B<<1)>>1]|0;Kb=(r(e,A)|0)+Kb|0;Qb=b[m>>1]|0;Lb=r(Qb,C)|0;Nb=b[m+(E<<1)>>1]|0;Lb=(r(Nb,D)|0)+Lb|0;Mb=(r(G,e)|0)+(r(F,Mb)|0)|0;Qb=(r(I,Nb)|0)+(r(H,Qb)|0)|0;Nb=Kb+Lb|0;e=Qb-Mb|0;Qb=Mb+Qb|0;Kb=Lb-Kb|0;Ob=Ob+Nb|0;c[Hb>>2]=Ob;Lb=Kb-Pb|0;c[rb>>2]=Lb;Mb=Bb+Qb|0;c[sb>>2]=Mb;Jb=e-Rb|0;c[tb>>2]=Jb;e=Rb+e|0;c[ub>>2]=e;Bb=Qb-Bb|0;c[vb>>2]=Bb;Kb=Pb+Kb|0;c[wb>>2]=Kb;Nb=Nb-(c[Gb>>2]|0)|0;c[xb>>2]=Nb;Ob=(c[Fb>>2]|0)+Ob|0;b[o>>1]=(Ob|0)>4194239?32767:(Ob|0)<-4194368?-32768:(Ob+64|0)>>>7&65535;Nb=Nb-(c[Za>>2]|0)|0;b[o+16>>1]=(Nb|0)>4194239?32767:(Nb|0)<-4194368?-32768:(Nb+64|0)>>>7&65535;Mb=(c[Z>>2]|0)+Mb|0;b[o+2>>1]=(Mb|0)>4194239?32767:(Mb|0)<-4194368?-32768:(Mb+64|0)>>>7&65535;Bb=Bb-(c[Qa>>2]|0)|0;b[o+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[ga>>2]|0;e=Bb+e|0;b[o+4>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;e=c[Ha>>2]|0;Jb=Jb-e|0;b[o+20>>1]=(Jb|0)>4194239?32767:(Jb|0)<-4194368?-32768:(Jb+64|0)>>>7&65535;Jb=c[pa>>2]|0;Kb=Jb+Kb|0;b[o+6>>1]=(Kb|0)>4194239?32767:(Kb|0)<-4194368?-32768:(Kb+64|0)>>>7&65535;Kb=c[ya>>2]|0;Lb=Lb-Kb|0;b[o+22>>1]=(Lb|0)>4194239?32767:(Lb|0)<-4194368?-32768:(Lb+64|0)>>>7&65535;Kb=Kb+(c[rb>>2]|0)|0;b[o+8>>1]=(Kb|0)>4194239?32767:(Kb|0)<-4194368?-32768:(Kb+64|0)>>>7&65535;Jb=(c[wb>>2]|0)-Jb|0;b[o+24>>1]=(Jb|0)>4194239?32767:(Jb|0)<-4194368?-32768:(Jb+64|0)>>>7&65535;e=e+(c[tb>>2]|0)|0;b[o+10>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;Bb=(c[ub>>2]|0)-Bb|0;b[o+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Qa>>2]|0)+(c[vb>>2]|0)|0;b[o+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[sb>>2]|0)-(c[Z>>2]|0)|0;b[o+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Za>>2]|0)+(c[xb>>2]|0)|0;b[o+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[o+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{e=o;Bb=e+32|0;do{b[e>>1]=0;e=e+2|0}while((e|0)<(Bb|0))}n=n+1|0;if(n>>>0>=Db>>>0)break;else{l=l>>1;m=m+2|0;o=o+32|0}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;s=b[16913]|0;t=b[16945]|0;u=Fb+4|0;v=b[16914]|0;w=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;l=0;m=f;while(1){Ob=b[m+32>>1]|0;Qb=b[m+96>>1]|0;c[Fb>>2]=(r(Qb,q)|0)+(r(Ob,p)|0);c[u>>2]=(r(Qb,t)|0)+(r(Ob,s)|0);c[x>>2]=(r(Qb,w)|0)+(r(Ob,v)|0);c[A>>2]=(r(Qb,z)|0)+(r(Ob,y)|0);c[D>>2]=(r(Qb,C)|0)+(r(Ob,B)|0);c[G>>2]=(r(Qb,F)|0)+(r(Ob,E)|0);c[J>>2]=(r(Qb,I)|0)+(r(Ob,H)|0);c[M>>2]=(r(Qb,L)|0)+(r(Ob,K)|0);Ob=b[m+64>>1]|0;Qb=r(Ob,N)|0;c[Gb>>2]=Qb;Nb=r(Ob,O)|0;c[P>>2]=Nb;Lb=r(Ob,Q)|0;c[R>>2]=Lb;Ob=r(Ob,S)|0;c[T>>2]=Ob;Mb=b[m>>1]|0;Pb=r(Mb,n)|0;Mb=r(o,Mb)|0;Rb=Qb+Pb|0;c[Hb>>2]=Rb;c[U>>2]=Pb-Ob;c[V>>2]=Nb+Mb;c[W>>2]=Mb-Lb;c[X>>2]=Lb+Mb;c[Y>>2]=Mb-Nb;c[Z>>2]=Ob+Pb;c[_>>2]=Pb-Qb;Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[_>>2]|0)-(c[M>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+16>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+16>>0]=(Rb|0)<255?Rb:255;Rb=(c[u>>2]|0)+(c[V>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[Y>>2]|0)-(c[J>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+18>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+18>>0]=(Rb|0)<255?Rb:255;Rb=(c[x>>2]|0)+(c[X>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[W>>2]|0)-(c[G>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+20>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+20>>0]=(Rb|0)<255?Rb:255;Rb=(c[A>>2]|0)+(c[Z>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=c[U>>2]|0;Qb=c[D>>2]|0;Pb=Rb-Qb|0;Pb=((Pb|0)>134215679?32767:(Pb|0)<-134219776?-32768:Pb+2048>>12)+(d[g+22>>0]|0)|0;Pb=(Pb|0)>0?Pb:0;a[h+22>>0]=(Pb|0)<255?Pb:255;Rb=Qb+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[Z>>2]|0)-(c[A>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+24>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+24>>0]=(Rb|0)<255?Rb:255;Rb=(c[G>>2]|0)+(c[W>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[X>>2]|0)-(c[x>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+26>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+26>>0]=(Rb|0)<255?Rb:255;Rb=(c[J>>2]|0)+(c[Y>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[V>>2]|0)-(c[u>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+28>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+28>>0]=(Rb|0)<255?Rb:255;Rb=(c[M>>2]|0)+(c[_>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+30>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+30>>0]=(Rb|0)<255?Rb:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;s=b[16944]|0;t=b[16976]|0;u=b[17008]|0;v=b[16913]|0;w=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;l=0;m=f;while(1){Qb=b[m+32>>1]|0;Mb=b[m+96>>1]|0;f=b[m+160>>1]|0;Nb=b[m+224>>1]|0;c[Fb>>2]=(r(Mb,s)|0)+(r(Qb,q)|0)+(r(f,t)|0)+(r(Nb,u)|0);c[z>>2]=(r(Mb,w)|0)+(r(Qb,v)|0)+(r(f,x)|0)+(r(Nb,y)|0);c[E>>2]=(r(Mb,B)|0)+(r(Qb,A)|0)+(r(f,C)|0)+(r(Nb,D)|0);c[J>>2]=(r(Mb,G)|0)+(r(Qb,F)|0)+(r(f,H)|0)+(r(Nb,I)|0);c[O>>2]=(r(Mb,L)|0)+(r(Qb,K)|0)+(r(f,M)|0)+(r(Nb,N)|0);c[T>>2]=(r(Mb,Q)|0)+(r(Qb,P)|0)+(r(f,R)|0)+(r(Nb,S)|0);c[Y>>2]=(r(Mb,V)|0)+(r(Qb,U)|0)+(r(f,W)|0)+(r(Nb,X)|0);c[ba>>2]=(r(Mb,_)|0)+(r(Qb,Z)|0)+(r(f,$)|0)+(r(Nb,aa)|0);Nb=b[m+64>>1]|0;f=b[m+192>>1]|0;Qb=(r(f,da)|0)+(r(Nb,ca)|0)|0;c[Gb>>2]=Qb;Mb=(r(f,fa)|0)+(r(Nb,ea)|0)|0;c[ga>>2]=Mb;Jb=(r(f,ia)|0)+(r(Nb,ha)|0)|0;c[ja>>2]=Jb;Nb=(r(f,la)|0)+(r(Nb,ka)|0)|0;c[ma>>2]=Nb;f=b[m+128>>1]|0;Ob=r(f,kb)|0;Lb=b[m>>1]|0;Rb=r(Lb,n)|0;f=r(o,f)|0;Lb=r(p,Lb)|0;Pb=Ob+Rb|0;Kb=Lb-f|0;Lb=f+Lb|0;Ob=Rb-Ob|0;Rb=Qb+Pb|0;c[Hb>>2]=Rb;c[na>>2]=Ob-Nb;c[oa>>2]=Mb+Lb;c[pa>>2]=Kb-Jb;c[qa>>2]=Jb+Kb;c[ra>>2]=Lb-Mb;c[sa>>2]=Nb+Ob;c[ta>>2]=Pb-Qb;Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[ta>>2]|0)-(c[ba>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+16>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+16>>0]=(Rb|0)<255?Rb:255;Rb=(c[z>>2]|0)+(c[oa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[ra>>2]|0)-(c[Y>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+18>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+18>>0]=(Rb|0)<255?Rb:255;Rb=(c[E>>2]|0)+(c[qa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[pa>>2]|0)-(c[T>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+20>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+20>>0]=(Rb|0)<255?Rb:255;Rb=(c[J>>2]|0)+(c[sa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=c[na>>2]|0;Qb=c[O>>2]|0;Pb=Rb-Qb|0;Pb=((Pb|0)>134215679?32767:(Pb|0)<-134219776?-32768:Pb+2048>>12)+(d[g+22>>0]|0)|0;Pb=(Pb|0)>0?Pb:0;a[h+22>>0]=(Pb|0)<255?Pb:255;Rb=Qb+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[sa>>2]|0)-(c[J>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+24>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+24>>0]=(Rb|0)<255?Rb:255;Rb=(c[T>>2]|0)+(c[pa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[qa>>2]|0)-(c[E>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+26>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+26>>0]=(Rb|0)<255?Rb:255;Rb=(c[Y>>2]|0)+(c[ra>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[oa>>2]|0)-(c[z>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+28>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+28>>0]=(Rb|0)<255?Rb:255;Rb=(c[ba>>2]|0)+(c[ta>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+30>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+30>>0]=(Rb|0)<255?Rb:255;l=l+1|0;if((l|0)==16)break;else{m=m+2|0;g=g+j|0;h=h+k|0}}Sb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;s=b[17089]|0;t=b[16897]|0;u=b[17025]|0;v=b[16912]|0;w=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;l=0;m=f;while(1){Kb=b[m+32>>1]|0;Mb=b[m+96>>1]|0;Nb=b[m+160>>1]|0;Rb=b[m+224>>1]|0;Ob=b[m+288>>1]|0;f=b[m+352>>1]|0;Lb=b[m+416>>1]|0;Pb=b[m+480>>1]|0;c[Fb>>2]=(r(Mb,w)|0)+(r(Kb,v)|0)+(r(Nb,x)|0)+(r(Rb,y)|0)+(r(Ob,z)|0)+(r(f,A)|0)+(r(Lb,B)|0)+(r(Pb,C)|0);c[L>>2]=(r(Mb,E)|0)+(r(Kb,D)|0)+(r(Nb,F)|0)+(r(Rb,G)|0)+(r(Ob,H)|0)+(r(f,I)|0)+(r(Lb,J)|0)+(r(Pb,K)|0);c[U>>2]=(r(Mb,N)|0)+(r(Kb,M)|0)+(r(Nb,O)|0)+(r(Rb,P)|0)+(r(Ob,Q)|0)+(r(f,R)|0)+(r(Lb,S)|0)+(r(Pb,T)|0);c[ba>>2]=(r(Mb,W)|0)+(r(Kb,V)|0)+(r(Nb,X)|0)+(r(Rb,Y)|0)+(r(Ob,Z)|0)+(r(f,_)|0)+(r(Lb,$)|0)+(r(Pb,aa)|0);c[ka>>2]=(r(Mb,da)|0)+(r(Kb,ca)|0)+(r(Nb,ea)|0)+(r(Rb,fa)|0)+(r(Ob,ga)|0)+(r(f,ha)|0)+(r(Lb,ia)|0)+(r(Pb,ja)|0);c[ta>>2]=(r(Mb,ma)|0)+(r(Kb,la)|0)+(r(Nb,na)|0)+(r(Rb,oa)|0)+(r(Ob,pa)|0)+(r(f,qa)|0)+(r(Lb,ra)|0)+(r(Pb,sa)|0);c[Ca>>2]=(r(Mb,va)|0)+(r(Kb,ua)|0)+(r(Nb,wa)|0)+(r(Rb,xa)|0)+(r(Ob,ya)|0)+(r(f,za)|0)+(r(Lb,Aa)|0)+(r(Pb,Ba)|0);c[La>>2]=(r(Mb,Ea)|0)+(r(Kb,Da)|0)+(r(Nb,Fa)|0)+(r(Rb,Ga)|0)+(r(Ob,Ha)|0)+(r(f,Ia)|0)+(r(Lb,Ja)|0)+(r(Pb,Ka)|0);Pb=b[m+64>>1]|0;Lb=b[m+192>>1]|0;f=b[m+320>>1]|0;Ob=b[m+448>>1]|0;Rb=(r(Lb,Na)|0)+(r(Pb,Ma)|0)+(r(f,Oa)|0)+(r(Ob,Pa)|0)|0;c[Gb>>2]=Rb;Nb=(r(Lb,Ra)|0)+(r(Pb,Qa)|0)+(r(f,Sa)|0)+(r(Ob,Ta)|0)|0;c[Ua>>2]=Nb;Kb=(r(Lb,Wa)|0)+(r(Pb,Va)|0)+(r(f,Xa)|0)+(r(Ob,Ya)|0)|0;c[Za>>2]=Kb;Ob=(r(Lb,$a)|0)+(r(Pb,_a)|0)+(r(f,ab)|0)+(r(Ob,bb)|0)|0;c[cb>>2]=Ob;f=b[m+128>>1]|0;Pb=r(f,kb)|0;Lb=b[m+384>>1]|0;Pb=(r(Lb,n)|0)+Pb|0;Mb=b[m>>1]|0;Jb=r(Mb,o)|0;Qb=b[m+256>>1]|0;Jb=(r(Qb,p)|0)+Jb|0;f=(r(s,Lb)|0)+(r(q,f)|0)|0;Mb=(r(u,Qb)|0)+(r(t,Mb)|0)|0;Qb=Pb+Jb|0;Lb=Mb-f|0;Mb=f+Mb|0;Pb=Jb-Pb|0;Rb=Rb+Qb|0;c[Hb>>2]=Rb;c[db>>2]=Pb-Ob;c[eb>>2]=Nb+Mb;c[fb>>2]=Lb-Kb;c[gb>>2]=Kb+Lb;c[hb>>2]=Mb-Nb;c[ib>>2]=Ob+Pb;c[jb>>2]=Qb-(c[Gb>>2]|0);Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[jb>>2]|0)-(c[La>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+16>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+16>>0]=(Rb|0)<255?Rb:255;Rb=(c[L>>2]|0)+(c[eb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+18>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+18>>0]=(Rb|0)<255?Rb:255;Rb=(c[U>>2]|0)+(c[gb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[fb>>2]|0)-(c[ta>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+20>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+20>>0]=(Rb|0)<255?Rb:255;Rb=(c[ba>>2]|0)+(c[ib>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=c[db>>2]|0;Qb=c[ka>>2]|0;Pb=Rb-Qb|0;Pb=((Pb|0)>134215679?32767:(Pb|0)<-134219776?-32768:Pb+2048>>12)+(d[g+22>>0]|0)|0;Pb=(Pb|0)>0?Pb:0;a[h+22>>0]=(Pb|0)<255?Pb:255;Rb=Qb+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[ib>>2]|0)-(c[ba>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+24>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+24>>0]=(Rb|0)<255?Rb:255;Rb=(c[ta>>2]|0)+(c[fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[gb>>2]|0)-(c[U>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+26>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+26>>0]=(Rb|0)<255?Rb:255;Rb=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[eb>>2]|0)-(c[L>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+28>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+28>>0]=(Rb|0)<255?Rb:255;Rb=(c[La>>2]|0)+(c[jb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+30>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+30>>0]=(Rb|0)<255?Rb:255;l=l+1|0;if((l|0)==16)break;else{m=m+2|0;g=g+j|0;h=h+k|0}}Sb=Ib;return}}}
function sf(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,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,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;vc=Sb;Sb=Sb+176|0;uc=vc+112|0;rc=vc+48|0;sc=vc+16|0;tc=vc;pc=l>>>0>4294967279;qc=l>>>0>4294967039;oc=pc?4:qc?8:32;if(m>>>0>4294967279){Y=i*3|0;Z=i<<1;Fb=tc+4|0;Gb=tc+8|0;Hb=tc+12|0;_=b[17152]|0;$=b[17153]|0;aa=b[17184]|0;ba=b[17248]|0;ca=b[17185]|0;da=b[17249]|0;ea=rc+4|0;fa=b[17186]|0;ga=b[17250]|0;ha=rc+8|0;ia=b[17187]|0;ja=b[17251]|0;ka=rc+12|0;la=b[17188]|0;ma=b[17252]|0;na=rc+16|0;oa=b[17189]|0;pa=b[17253]|0;qa=rc+20|0;ra=b[17190]|0;sa=b[17254]|0;ta=rc+24|0;ua=b[17191]|0;va=b[17255]|0;wa=rc+28|0;xa=b[17192]|0;ya=b[17256]|0;za=rc+32|0;Aa=b[17193]|0;Ba=b[17257]|0;Ca=rc+36|0;Da=b[17194]|0;Ea=b[17258]|0;Fa=rc+40|0;Ga=b[17195]|0;Ha=b[17259]|0;Ia=rc+44|0;Ja=b[17196]|0;Ka=b[17260]|0;La=rc+48|0;Ma=b[17197]|0;Na=b[17261]|0;Oa=rc+52|0;Pa=b[17198]|0;Qa=b[17262]|0;Ra=rc+56|0;q=b[17199]|0;s=b[17263]|0;t=rc+60|0;u=b[17216]|0;v=b[17217]|0;w=sc+4|0;x=b[17218]|0;y=sc+8|0;z=b[17219]|0;A=sc+12|0;B=b[17220]|0;C=sc+16|0;D=b[17221]|0;E=sc+20|0;F=b[17222]|0;G=sc+24|0;H=b[17223]|0;I=sc+28|0;J=uc+32|0;K=uc+4|0;L=uc+36|0;M=uc+8|0;N=uc+40|0;O=uc+12|0;P=uc+44|0;Q=uc+16|0;R=uc+48|0;S=uc+20|0;T=uc+52|0;U=uc+24|0;V=uc+56|0;W=uc+28|0;X=uc+60|0;o=f;p=0;while(1){a:do if(!(l&1)){nc=b[e+(i<<1)>>1]|0;m=b[e+(Y<<1)>>1]|0;c[rc>>2]=(r(m,ba)|0)+(r(nc,aa)|0);c[ea>>2]=(r(m,da)|0)+(r(nc,ca)|0);c[ha>>2]=(r(m,ga)|0)+(r(nc,fa)|0);c[ka>>2]=(r(m,ja)|0)+(r(nc,ia)|0);c[na>>2]=(r(m,ma)|0)+(r(nc,la)|0);c[qa>>2]=(r(m,pa)|0)+(r(nc,oa)|0);c[ta>>2]=(r(m,sa)|0)+(r(nc,ra)|0);c[wa>>2]=(r(m,va)|0)+(r(nc,ua)|0);c[za>>2]=(r(m,ya)|0)+(r(nc,xa)|0);c[Ca>>2]=(r(m,Ba)|0)+(r(nc,Aa)|0);c[Fa>>2]=(r(m,Ea)|0)+(r(nc,Da)|0);c[Ia>>2]=(r(m,Ha)|0)+(r(nc,Ga)|0);c[La>>2]=(r(m,Ka)|0)+(r(nc,Ja)|0);c[Oa>>2]=(r(m,Na)|0)+(r(nc,Ma)|0);c[Ra>>2]=(r(m,Qa)|0)+(r(nc,Pa)|0);c[t>>2]=(r(m,s)|0)+(r(nc,q)|0);nc=b[e+(Z<<1)>>1]|0;m=r(nc,u)|0;c[sc>>2]=m;mc=r(nc,v)|0;c[w>>2]=mc;jc=r(nc,x)|0;c[y>>2]=jc;hc=r(nc,z)|0;c[A>>2]=hc;gc=r(nc,B)|0;c[C>>2]=gc;ic=r(nc,D)|0;c[E>>2]=ic;kc=r(nc,F)|0;c[G>>2]=kc;nc=r(nc,H)|0;c[I>>2]=nc;c[tc>>2]=0;c[tc+4>>2]=0;c[tc+8>>2]=0;c[tc+12>>2]=0;lc=b[e>>1]|0;n=r(lc,_)|0;lc=r($,lc)|0;m=m+n|0;c[uc>>2]=m;c[J>>2]=n-nc;c[K>>2]=mc+lc;c[L>>2]=lc-kc;c[M>>2]=jc+lc;c[N>>2]=lc-ic;c[O>>2]=hc+n;c[P>>2]=n-gc;c[Q>>2]=gc+n;c[R>>2]=n-hc;c[S>>2]=ic+lc;c[T>>2]=lc-jc;c[U>>2]=kc+lc;c[V>>2]=lc-mc;c[W>>2]=nc+n;c[X>>2]=n-(c[sc>>2]|0);n=0;while(1){m=(c[rc+(n<<2)>>2]|0)+m|0;b[o+(n<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=15-n|0;m=(c[uc+(m<<2)>>2]|0)-(c[rc+(m<<2)>>2]|0)|0;b[o+(n+16<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=n+1|0;if((m|0)==16)break a;n=m;m=c[uc+(m<<2)>>2]|0}}else{m=o;n=m+64|0;do{b[m>>1]=0;m=m+2|0}while((m|0)<(n|0))}while(0);p=p+1|0;if(p>>>0>=oc>>>0)break;else{e=e+2|0;o=o+64|0;l=l>>1}}if(pc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;s=b[17185]|0;t=b[17249]|0;u=rc+4|0;v=b[17186]|0;w=b[17250]|0;x=rc+8|0;y=b[17187]|0;z=b[17251]|0;A=rc+12|0;B=b[17188]|0;C=b[17252]|0;D=rc+16|0;E=b[17189]|0;F=b[17253]|0;G=rc+20|0;H=b[17190]|0;I=b[17254]|0;J=rc+24|0;K=b[17191]|0;L=b[17255]|0;M=rc+28|0;N=b[17192]|0;O=b[17256]|0;P=rc+32|0;Q=b[17193]|0;R=b[17257]|0;S=rc+36|0;T=b[17194]|0;U=b[17258]|0;V=rc+40|0;W=b[17195]|0;X=b[17259]|0;Y=rc+44|0;Z=b[17196]|0;_=b[17260]|0;$=rc+48|0;aa=b[17197]|0;ba=b[17261]|0;ca=rc+52|0;da=b[17198]|0;ea=b[17262]|0;fa=rc+56|0;ga=b[17199]|0;ha=b[17263]|0;ia=rc+60|0;ja=b[17216]|0;ka=b[17217]|0;la=sc+4|0;ma=b[17218]|0;na=sc+8|0;oa=b[17219]|0;pa=sc+12|0;qa=b[17220]|0;ra=sc+16|0;sa=b[17221]|0;ta=sc+20|0;ua=b[17222]|0;va=sc+24|0;wa=b[17223]|0;xa=sc+28|0;ya=uc+32|0;za=uc+4|0;Aa=uc+36|0;Ba=uc+8|0;Ca=uc+40|0;Da=uc+12|0;Ea=uc+44|0;Fa=uc+16|0;Ga=uc+48|0;Ha=uc+20|0;Ia=uc+52|0;Ja=uc+24|0;Ka=uc+56|0;La=uc+28|0;Ma=uc+60|0;n=0;while(1){i=b[f+64>>1]|0;m=b[f+192>>1]|0;c[rc>>2]=(r(m,q)|0)+(r(i,p)|0);c[u>>2]=(r(m,t)|0)+(r(i,s)|0);c[x>>2]=(r(m,w)|0)+(r(i,v)|0);c[A>>2]=(r(m,z)|0)+(r(i,y)|0);c[D>>2]=(r(m,C)|0)+(r(i,B)|0);c[G>>2]=(r(m,F)|0)+(r(i,E)|0);c[J>>2]=(r(m,I)|0)+(r(i,H)|0);c[M>>2]=(r(m,L)|0)+(r(i,K)|0);c[P>>2]=(r(m,O)|0)+(r(i,N)|0);c[S>>2]=(r(m,R)|0)+(r(i,Q)|0);c[V>>2]=(r(m,U)|0)+(r(i,T)|0);c[Y>>2]=(r(m,X)|0)+(r(i,W)|0);c[$>>2]=(r(m,_)|0)+(r(i,Z)|0);c[ca>>2]=(r(m,ba)|0)+(r(i,aa)|0);c[fa>>2]=(r(m,ea)|0)+(r(i,da)|0);c[ia>>2]=(r(m,ha)|0)+(r(i,ga)|0);i=b[f+128>>1]|0;m=r(i,ja)|0;c[sc>>2]=m;qc=r(i,ka)|0;c[la>>2]=qc;nc=r(i,ma)|0;c[na>>2]=nc;lc=r(i,oa)|0;c[pa>>2]=lc;kc=r(i,qa)|0;c[ra>>2]=kc;mc=r(i,sa)|0;c[ta>>2]=mc;oc=r(i,ua)|0;c[va>>2]=oc;i=r(i,wa)|0;c[xa>>2]=i;c[tc>>2]=0;c[tc+4>>2]=0;c[tc+8>>2]=0;c[tc+12>>2]=0;pc=b[f>>1]|0;l=r(pc,e)|0;pc=r(o,pc)|0;m=m+l|0;c[uc>>2]=m;c[ya>>2]=l-i;c[za>>2]=qc+pc;c[Aa>>2]=pc-oc;c[Ba>>2]=nc+pc;c[Ca>>2]=pc-mc;c[Da>>2]=lc+l;c[Ea>>2]=l-kc;c[Fa>>2]=kc+l;c[Ga>>2]=l-lc;c[Ha>>2]=mc+pc;c[Ia>>2]=pc-nc;c[Ja>>2]=oc+pc;c[Ka>>2]=pc-qc;c[La>>2]=i+l;c[Ma>>2]=l-(c[sc>>2]|0);l=0;while(1){i=(c[rc+(l<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+l>>0]|0)|0;i=(i|0)>0?i:0;a[h+l>>0]=(i|0)<255?i:255;i=15-l|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=l+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=l+1|0;if((m|0)==16)break;l=m;m=c[uc+(m<<2)>>2]|0}n=n+1|0;if((n|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}if(qc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;s=b[17312]|0;t=b[17376]|0;u=b[17185]|0;v=b[17249]|0;w=b[17313]|0;x=b[17377]|0;y=rc+4|0;z=b[17186]|0;A=b[17250]|0;B=b[17314]|0;C=b[17378]|0;D=rc+8|0;E=b[17187]|0;F=b[17251]|0;G=b[17315]|0;H=b[17379]|0;I=rc+12|0;J=b[17188]|0;K=b[17252]|0;L=b[17316]|0;M=b[17380]|0;N=rc+16|0;O=b[17189]|0;P=b[17253]|0;Q=b[17317]|0;R=b[17381]|0;S=rc+20|0;T=b[17190]|0;U=b[17254]|0;V=b[17318]|0;W=b[17382]|0;X=rc+24|0;Y=b[17191]|0;Z=b[17255]|0;_=b[17319]|0;$=b[17383]|0;aa=rc+28|0;ba=b[17192]|0;ca=b[17256]|0;da=b[17320]|0;ea=b[17384]|0;fa=rc+32|0;ga=b[17193]|0;ha=b[17257]|0;ia=b[17321]|0;ja=b[17385]|0;ka=rc+36|0;la=b[17194]|0;ma=b[17258]|0;na=b[17322]|0;oa=b[17386]|0;pa=rc+40|0;qa=b[17195]|0;ra=b[17259]|0;sa=b[17323]|0;ta=b[17387]|0;ua=rc+44|0;va=b[17196]|0;wa=b[17260]|0;xa=b[17324]|0;ya=b[17388]|0;za=rc+48|0;Aa=b[17197]|0;Ba=b[17261]|0;Ca=b[17325]|0;Da=b[17389]|0;Ea=rc+52|0;Fa=b[17198]|0;Ga=b[17262]|0;Ha=b[17326]|0;Ia=b[17390]|0;Ja=rc+56|0;Ka=b[17199]|0;La=b[17263]|0;Ma=b[17327]|0;Na=b[17391]|0;Oa=rc+60|0;Pa=b[17216]|0;Qa=b[17344]|0;Ra=b[17217]|0;Sa=b[17345]|0;Ta=sc+4|0;Ua=b[17218]|0;Va=b[17346]|0;Wa=sc+8|0;Xa=b[17219]|0;Ya=b[17347]|0;Za=sc+12|0;_a=b[17220]|0;$a=b[17348]|0;ab=sc+16|0;bb=b[17221]|0;cb=b[17349]|0;db=sc+20|0;eb=b[17222]|0;fb=b[17350]|0;gb=sc+24|0;hb=b[17223]|0;ib=b[17351]|0;jb=sc+28|0;kb=b[17280]|0;lb=b[17281]|0;mb=b[17282]|0;nb=b[17283]|0;ob=uc+32|0;pb=uc+4|0;qb=uc+36|0;rb=uc+8|0;sb=uc+40|0;tb=uc+12|0;ub=uc+44|0;vb=uc+16|0;wb=uc+48|0;xb=uc+20|0;yb=uc+52|0;zb=uc+24|0;Ab=uc+56|0;Bb=uc+28|0;Cb=uc+60|0;l=0;while(1){jc=b[f+64>>1]|0;mc=b[f+192>>1]|0;ic=b[f+320>>1]|0;pc=b[f+448>>1]|0;c[rc>>2]=(r(mc,q)|0)+(r(jc,p)|0)+(r(ic,s)|0)+(r(pc,t)|0);c[y>>2]=(r(mc,v)|0)+(r(jc,u)|0)+(r(ic,w)|0)+(r(pc,x)|0);c[D>>2]=(r(mc,A)|0)+(r(jc,z)|0)+(r(ic,B)|0)+(r(pc,C)|0);c[I>>2]=(r(mc,F)|0)+(r(jc,E)|0)+(r(ic,G)|0)+(r(pc,H)|0);c[N>>2]=(r(mc,K)|0)+(r(jc,J)|0)+(r(ic,L)|0)+(r(pc,M)|0);c[S>>2]=(r(mc,P)|0)+(r(jc,O)|0)+(r(ic,Q)|0)+(r(pc,R)|0);c[X>>2]=(r(mc,U)|0)+(r(jc,T)|0)+(r(ic,V)|0)+(r(pc,W)|0);c[aa>>2]=(r(mc,Z)|0)+(r(jc,Y)|0)+(r(ic,_)|0)+(r(pc,$)|0);c[fa>>2]=(r(mc,ca)|0)+(r(jc,ba)|0)+(r(ic,da)|0)+(r(pc,ea)|0);c[ka>>2]=(r(mc,ha)|0)+(r(jc,ga)|0)+(r(ic,ia)|0)+(r(pc,ja)|0);c[pa>>2]=(r(mc,ma)|0)+(r(jc,la)|0)+(r(ic,na)|0)+(r(pc,oa)|0);c[ua>>2]=(r(mc,ra)|0)+(r(jc,qa)|0)+(r(ic,sa)|0)+(r(pc,ta)|0);c[za>>2]=(r(mc,wa)|0)+(r(jc,va)|0)+(r(ic,xa)|0)+(r(pc,ya)|0);c[Ea>>2]=(r(mc,Ba)|0)+(r(jc,Aa)|0)+(r(ic,Ca)|0)+(r(pc,Da)|0);c[Ja>>2]=(r(mc,Ga)|0)+(r(jc,Fa)|0)+(r(ic,Ha)|0)+(r(pc,Ia)|0);c[Oa>>2]=(r(mc,La)|0)+(r(jc,Ka)|0)+(r(ic,Ma)|0)+(r(pc,Na)|0);pc=b[f+128>>1]|0;ic=b[f+384>>1]|0;c[sc>>2]=(r(ic,Qa)|0)+(r(pc,Pa)|0);c[Ta>>2]=(r(ic,Sa)|0)+(r(pc,Ra)|0);c[Wa>>2]=(r(ic,Va)|0)+(r(pc,Ua)|0);c[Za>>2]=(r(ic,Ya)|0)+(r(pc,Xa)|0);c[ab>>2]=(r(ic,$a)|0)+(r(pc,_a)|0);jc=(r(ic,cb)|0)+(r(pc,bb)|0)|0;c[db>>2]=jc;mc=(r(ic,fb)|0)+(r(pc,eb)|0)|0;c[gb>>2]=mc;pc=(r(ic,ib)|0)+(r(pc,hb)|0)|0;c[jb>>2]=pc;ic=b[f+256>>1]|0;qc=r(ic,kb)|0;c[tc>>2]=qc;nc=r(ic,lb)|0;c[Fb>>2]=nc;lc=r(ic,mb)|0;c[Gb>>2]=lc;ic=r(ic,nb)|0;c[Hb>>2]=ic;m=b[f>>1]|0;n=r(m,e)|0;m=r(o,m)|0;i=qc+n|0;hc=n-ic|0;oc=nc+m|0;kc=m-lc|0;lc=lc+m|0;nc=m-nc|0;ic=ic+n|0;qc=n-qc|0;n=c[sc>>2]|0;m=n+i|0;c[uc>>2]=m;c[ob>>2]=qc-pc;pc=c[Ta>>2]|0;c[pb>>2]=pc+oc;c[qb>>2]=nc-mc;mc=c[Wa>>2]|0;c[rb>>2]=mc+lc;c[sb>>2]=kc-jc;jc=c[Za>>2]|0;c[tb>>2]=jc+ic;gc=c[ab>>2]|0;c[ub>>2]=hc-gc;c[vb>>2]=gc+hc;c[wb>>2]=ic-jc;c[xb>>2]=(c[db>>2]|0)+kc;c[yb>>2]=lc-mc;c[zb>>2]=(c[gb>>2]|0)+nc;c[Ab>>2]=oc-pc;c[Bb>>2]=(c[jb>>2]|0)+qc;c[Cb>>2]=i-n;n=0;while(1){i=(c[rc+(n<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+n>>0]|0)|0;i=(i|0)>0?i:0;a[h+n>>0]=(i|0)<255?i:255;i=15-n|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=n+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}l=l+1|0;if((l|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}nb=b[17408]|0;ob=b[17920]|0;pb=b[17409]|0;qb=b[17921]|0;rb=b[17152]|0;sb=b[17664]|0;tb=b[17153]|0;ub=b[17665]|0;vb=b[17216]|0;wb=b[17344]|0;xb=b[17472]|0;yb=b[17600]|0;zb=b[17728]|0;Ab=b[17856]|0;Bb=b[17984]|0;Cb=b[18112]|0;Db=b[17217]|0;Eb=b[17345]|0;D=b[17473]|0;E=b[17601]|0;F=b[17729]|0;G=b[17857]|0;H=b[17985]|0;I=b[18113]|0;J=sc+4|0;K=b[17218]|0;L=b[17346]|0;M=b[17474]|0;N=b[17602]|0;O=b[17730]|0;P=b[17858]|0;Q=b[17986]|0;R=b[18114]|0;S=sc+8|0;T=b[17219]|0;U=b[17347]|0;V=b[17475]|0;W=b[17603]|0;X=b[17731]|0;Y=b[17859]|0;Z=b[17987]|0;_=b[18115]|0;$=sc+12|0;aa=b[17220]|0;ba=b[17348]|0;ca=b[17476]|0;da=b[17604]|0;ea=b[17732]|0;fa=b[17860]|0;ga=b[17988]|0;ha=b[18116]|0;ia=sc+16|0;ja=b[17221]|0;ka=b[17349]|0;la=b[17477]|0;ma=b[17605]|0;na=b[17733]|0;oa=b[17861]|0;pa=b[17989]|0;qa=b[18117]|0;ra=sc+20|0;sa=b[17222]|0;ta=b[17350]|0;ua=b[17478]|0;va=b[17606]|0;wa=b[17734]|0;xa=b[17862]|0;ya=b[17990]|0;za=b[18118]|0;Aa=sc+24|0;Ba=b[17223]|0;Ca=b[17351]|0;Da=b[17479]|0;Ea=b[17607]|0;Fa=b[17735]|0;Ga=b[17863]|0;Ha=b[17991]|0;Ia=b[18119]|0;Ja=sc+28|0;Ka=b[17280]|0;La=b[17536]|0;Ma=b[17792]|0;Na=b[18048]|0;Oa=b[17281]|0;Pa=b[17537]|0;Qa=b[17793]|0;Ra=b[18049]|0;Sa=b[17282]|0;Ta=b[17538]|0;Ua=b[17794]|0;Va=b[18050]|0;Wa=b[17283]|0;Xa=b[17539]|0;Ya=b[17795]|0;Za=b[18051]|0;_a=uc+32|0;$a=uc+4|0;ab=uc+36|0;bb=uc+8|0;cb=uc+40|0;db=uc+12|0;eb=uc+44|0;fb=uc+16|0;gb=uc+48|0;hb=uc+20|0;ib=uc+52|0;jb=uc+24|0;kb=uc+56|0;lb=uc+28|0;mb=uc+60|0;C=0;while(1){n=b[f+64>>1]|0;l=b[f+192>>1]|0;e=b[f+320>>1]|0;o=b[f+448>>1]|0;p=b[f+576>>1]|0;q=b[f+704>>1]|0;s=b[f+832>>1]|0;t=b[f+960>>1]|0;u=b[f+1088>>1]|0;v=b[f+1216>>1]|0;w=b[f+1344>>1]|0;x=b[f+1472>>1]|0;y=b[f+1600>>1]|0;z=b[f+1728>>1]|0;A=b[f+1856>>1]|0;B=b[f+1984>>1]|0;m=0;do{i=r(n,b[34368+(m<<1)>>1]|0)|0;i=(r(l,b[34496+(m<<1)>>1]|0)|0)+i|0;i=i+(r(e,b[34624+(m<<1)>>1]|0)|0)|0;i=i+(r(o,b[34752+(m<<1)>>1]|0)|0)|0;i=i+(r(p,b[34880+(m<<1)>>1]|0)|0)|0;i=i+(r(q,b[35008+(m<<1)>>1]|0)|0)|0;i=i+(r(s,b[35136+(m<<1)>>1]|0)|0)|0;i=i+(r(t,b[35264+(m<<1)>>1]|0)|0)|0;i=i+(r(u,b[35392+(m<<1)>>1]|0)|0)|0;i=i+(r(v,b[35520+(m<<1)>>1]|0)|0)|0;i=i+(r(w,b[35648+(m<<1)>>1]|0)|0)|0;i=i+(r(x,b[35776+(m<<1)>>1]|0)|0)|0;i=i+(r(y,b[35904+(m<<1)>>1]|0)|0)|0;i=i+(r(z,b[36032+(m<<1)>>1]|0)|0)|0;i=i+(r(A,b[36160+(m<<1)>>1]|0)|0)|0;c[rc+(m<<2)>>2]=i+(r(B,b[36288+(m<<1)>>1]|0)|0);m=m+1|0}while((m|0)!=16);pc=b[f+128>>1]|0;m=b[f+384>>1]|0;mc=b[f+640>>1]|0;i=b[f+896>>1]|0;n=b[f+1152>>1]|0;jc=b[f+1408>>1]|0;ec=b[f+1664>>1]|0;fc=b[f+1920>>1]|0;c[sc>>2]=(r(m,wb)|0)+(r(pc,vb)|0)+(r(mc,xb)|0)+(r(i,yb)|0)+(r(n,zb)|0)+(r(jc,Ab)|0)+(r(ec,Bb)|0)+(r(fc,Cb)|0);c[J>>2]=(r(m,Eb)|0)+(r(pc,Db)|0)+(r(mc,D)|0)+(r(i,E)|0)+(r(n,F)|0)+(r(jc,G)|0)+(r(ec,H)|0)+(r(fc,I)|0);c[S>>2]=(r(m,L)|0)+(r(pc,K)|0)+(r(mc,M)|0)+(r(i,N)|0)+(r(n,O)|0)+(r(jc,P)|0)+(r(ec,Q)|0)+(r(fc,R)|0);c[$>>2]=(r(m,U)|0)+(r(pc,T)|0)+(r(mc,V)|0)+(r(i,W)|0)+(r(n,X)|0)+(r(jc,Y)|0)+(r(ec,Z)|0)+(r(fc,_)|0);c[ia>>2]=(r(m,ba)|0)+(r(pc,aa)|0)+(r(mc,ca)|0)+(r(i,da)|0)+(r(n,ea)|0)+(r(jc,fa)|0)+(r(ec,ga)|0)+(r(fc,ha)|0);c[ra>>2]=(r(m,ka)|0)+(r(pc,ja)|0)+(r(mc,la)|0)+(r(i,ma)|0)+(r(n,na)|0)+(r(jc,oa)|0)+(r(ec,pa)|0)+(r(fc,qa)|0);c[Aa>>2]=(r(m,ta)|0)+(r(pc,sa)|0)+(r(mc,ua)|0)+(r(i,va)|0)+(r(n,wa)|0)+(r(jc,xa)|0)+(r(ec,ya)|0)+(r(fc,za)|0);c[Ja>>2]=(r(m,Ca)|0)+(r(pc,Ba)|0)+(r(mc,Da)|0)+(r(i,Ea)|0)+(r(n,Fa)|0)+(r(jc,Ga)|0)+(r(ec,Ha)|0)+(r(fc,Ia)|0);fc=b[f+256>>1]|0;ec=b[f+768>>1]|0;jc=b[f+1280>>1]|0;n=b[f+1792>>1]|0;i=(r(ec,La)|0)+(r(fc,Ka)|0)+(r(jc,Ma)|0)+(r(n,Na)|0)|0;c[tc>>2]=i;mc=(r(ec,Pa)|0)+(r(fc,Oa)|0)+(r(jc,Qa)|0)+(r(n,Ra)|0)|0;c[Fb>>2]=mc;pc=(r(ec,Ta)|0)+(r(fc,Sa)|0)+(r(jc,Ua)|0)+(r(n,Va)|0)|0;c[Gb>>2]=pc;n=(r(ec,Xa)|0)+(r(fc,Wa)|0)+(r(jc,Ya)|0)+(r(n,Za)|0)|0;c[Hb>>2]=n;jc=b[f+512>>1]|0;fc=r(jc,nb)|0;ec=b[f+1536>>1]|0;fc=(r(ec,ob)|0)+fc|0;jc=(r(qb,ec)|0)+(r(pb,jc)|0)|0;ec=b[f>>1]|0;m=r(ec,rb)|0;qc=b[f+1024>>1]|0;m=(r(qc,sb)|0)+m|0;ec=(r(ub,qc)|0)+(r(tb,ec)|0)|0;qc=m+fc|0;fc=m-fc|0;m=ec+jc|0;jc=ec-jc|0;i=i+qc|0;ec=fc-n|0;nc=mc+m|0;ic=jc-pc|0;jc=pc+jc|0;mc=m-mc|0;fc=n+fc|0;qc=qc-(c[tc>>2]|0)|0;n=c[sc>>2]|0;m=n+i|0;c[uc>>2]=m;pc=c[Ja>>2]|0;c[_a>>2]=qc-pc;oc=c[J>>2]|0;c[$a>>2]=oc+nc;lc=c[Aa>>2]|0;c[ab>>2]=mc-lc;kc=c[S>>2]|0;c[bb>>2]=kc+jc;hc=c[ra>>2]|0;c[cb>>2]=ic-hc;gc=c[$>>2]|0;c[db>>2]=gc+fc;dc=c[ia>>2]|0;c[eb>>2]=ec-dc;c[fb>>2]=dc+ec;c[gb>>2]=fc-gc;c[hb>>2]=hc+ic;c[ib>>2]=jc-kc;c[jb>>2]=lc+mc;c[kb>>2]=nc-oc;c[lb>>2]=pc+qc;c[mb>>2]=i-n;n=0;while(1){i=(c[rc+(n<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+n>>0]|0)|0;i=(i|0)>0?i:0;a[h+n>>0]=(i|0)<255?i:255;i=15-n|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=n+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}C=C+1|0;if((C|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}lc=i*3|0;mc=i*5|0;nc=i*7|0;if(m>>>0>4294967039){q=i<<1;s=i*6|0;t=i<<2;u=b[17152]|0;v=b[17153]|0;w=b[17184]|0;x=b[17248]|0;y=b[17312]|0;z=b[17376]|0;A=b[17185]|0;B=b[17249]|0;C=b[17313]|0;D=b[17377]|0;E=rc+4|0;F=b[17186]|0;G=b[17250]|0;H=b[17314]|0;I=b[17378]|0;J=rc+8|0;K=b[17187]|0;L=b[17251]|0;M=b[17315]|0;N=b[17379]|0;O=rc+12|0;P=b[17188]|0;Q=b[17252]|0;R=b[17316]|0;S=b[17380]|0;T=rc+16|0;U=b[17189]|0;V=b[17253]|0;W=b[17317]|0;X=b[17381]|0;Y=rc+20|0;Z=b[17190]|0;_=b[17254]|0;$=b[17318]|0;aa=b[17382]|0;ba=rc+24|0;ca=b[17191]|0;da=b[17255]|0;ea=b[17319]|0;fa=b[17383]|0;ga=rc+28|0;ha=b[17192]|0;ia=b[17256]|0;ja=b[17320]|0;ka=b[17384]|0;la=rc+32|0;ma=b[17193]|0;na=b[17257]|0;oa=b[17321]|0;pa=b[17385]|0;qa=rc+36|0;ra=b[17194]|0;sa=b[17258]|0;ta=b[17322]|0;ua=b[17386]|0;va=rc+40|0;wa=b[17195]|0;xa=b[17259]|0;ya=b[17323]|0;za=b[17387]|0;Aa=rc+44|0;Ba=b[17196]|0;Ca=b[17260]|0;Da=b[17324]|0;Ea=b[17388]|0;Fa=rc+48|0;Ga=b[17197]|0;Ha=b[17261]|0;Ia=b[17325]|0;Ja=b[17389]|0;Ka=rc+52|0;La=b[17198]|0;Ma=b[17262]|0;Na=b[17326]|0;Oa=b[17390]|0;Pa=rc+56|0;Qa=b[17199]|0;Ra=b[17263]|0;Sa=b[17327]|0;Ta=b[17391]|0;Ua=rc+60|0;Va=b[17216]|0;Wa=b[17344]|0;Xa=b[17217]|0;Ya=b[17345]|0;Za=sc+4|0;_a=b[17218]|0;$a=b[17346]|0;ab=sc+8|0;bb=b[17219]|0;cb=b[17347]|0;db=sc+12|0;eb=b[17220]|0;fb=b[17348]|0;gb=sc+16|0;hb=b[17221]|0;ib=b[17349]|0;jb=sc+20|0;kb=b[17222]|0;lb=b[17350]|0;mb=sc+24|0;nb=b[17223]|0;ob=b[17351]|0;pb=sc+28|0;qb=b[17280]|0;rb=b[17281]|0;sb=tc+4|0;tb=b[17282]|0;ub=tc+8|0;vb=b[17283]|0;wb=tc+12|0;xb=uc+32|0;yb=uc+4|0;zb=uc+36|0;Ab=uc+8|0;Bb=uc+40|0;Cb=uc+12|0;Db=uc+44|0;Eb=uc+16|0;Fb=uc+48|0;Gb=uc+20|0;Hb=uc+52|0;Ib=uc+24|0;Jb=uc+56|0;Kb=uc+28|0;Lb=uc+60|0;o=0;p=f;while(1){b:do if(!(l&1)){cc=b[e+(i<<1)>>1]|0;fc=b[e+(lc<<1)>>1]|0;bc=b[e+(mc<<1)>>1]|0;ic=b[e+(nc<<1)>>1]|0;c[rc>>2]=(r(fc,x)|0)+(r(cc,w)|0)+(r(bc,y)|0)+(r(ic,z)|0);c[E>>2]=(r(fc,B)|0)+(r(cc,A)|0)+(r(bc,C)|0)+(r(ic,D)|0);c[J>>2]=(r(fc,G)|0)+(r(cc,F)|0)+(r(bc,H)|0)+(r(ic,I)|0);c[O>>2]=(r(fc,L)|0)+(r(cc,K)|0)+(r(bc,M)|0)+(r(ic,N)|0);c[T>>2]=(r(fc,Q)|0)+(r(cc,P)|0)+(r(bc,R)|0)+(r(ic,S)|0);c[Y>>2]=(r(fc,V)|0)+(r(cc,U)|0)+(r(bc,W)|0)+(r(ic,X)|0);c[ba>>2]=(r(fc,_)|0)+(r(cc,Z)|0)+(r(bc,$)|0)+(r(ic,aa)|0);c[ga>>2]=(r(fc,da)|0)+(r(cc,ca)|0)+(r(bc,ea)|0)+(r(ic,fa)|0);c[la>>2]=(r(fc,ia)|0)+(r(cc,ha)|0)+(r(bc,ja)|0)+(r(ic,ka)|0);c[qa>>2]=(r(fc,na)|0)+(r(cc,ma)|0)+(r(bc,oa)|0)+(r(ic,pa)|0);c[va>>2]=(r(fc,sa)|0)+(r(cc,ra)|0)+(r(bc,ta)|0)+(r(ic,ua)|0);c[Aa>>2]=(r(fc,xa)|0)+(r(cc,wa)|0)+(r(bc,ya)|0)+(r(ic,za)|0);c[Fa>>2]=(r(fc,Ca)|0)+(r(cc,Ba)|0)+(r(bc,Da)|0)+(r(ic,Ea)|0);c[Ka>>2]=(r(fc,Ha)|0)+(r(cc,Ga)|0)+(r(bc,Ia)|0)+(r(ic,Ja)|0);c[Pa>>2]=(r(fc,Ma)|0)+(r(cc,La)|0)+(r(bc,Na)|0)+(r(ic,Oa)|0);c[Ua>>2]=(r(fc,Ra)|0)+(r(cc,Qa)|0)+(r(bc,Sa)|0)+(r(ic,Ta)|0);ic=b[e+(q<<1)>>1]|0;bc=b[e+(s<<1)>>1]|0;c[sc>>2]=(r(bc,Wa)|0)+(r(ic,Va)|0);c[Za>>2]=(r(bc,Ya)|0)+(r(ic,Xa)|0);c[ab>>2]=(r(bc,$a)|0)+(r(ic,_a)|0);c[db>>2]=(r(bc,cb)|0)+(r(ic,bb)|0);c[gb>>2]=(r(bc,fb)|0)+(r(ic,eb)|0);cc=(r(bc,ib)|0)+(r(ic,hb)|0)|0;c[jb>>2]=cc;fc=(r(bc,lb)|0)+(r(ic,kb)|0)|0;c[mb>>2]=fc;ic=(r(bc,ob)|0)+(r(ic,nb)|0)|0;c[pb>>2]=ic;bc=b[e+(t<<1)>>1]|0;jc=r(bc,qb)|0;c[tc>>2]=jc;gc=r(bc,rb)|0;c[sb>>2]=gc;ec=r(bc,tb)|0;c[ub>>2]=ec;bc=r(bc,vb)|0;c[wb>>2]=bc;m=b[e>>1]|0;n=r(m,u)|0;m=r(v,m)|0;kc=jc+n|0;ac=n-bc|0;hc=gc+m|0;dc=m-ec|0;ec=ec+m|0;gc=m-gc|0;bc=bc+n|0;jc=n-jc|0;n=c[sc>>2]|0;m=n+kc|0;c[uc>>2]=m;c[xb>>2]=jc-ic;ic=c[Za>>2]|0;c[yb>>2]=ic+hc;c[zb>>2]=gc-fc;fc=c[ab>>2]|0;c[Ab>>2]=fc+ec;c[Bb>>2]=dc-cc;cc=c[db>>2]|0;c[Cb>>2]=cc+bc;$b=c[gb>>2]|0;c[Db>>2]=ac-$b;c[Eb>>2]=$b+ac;c[Fb>>2]=bc-cc;c[Gb>>2]=(c[jb>>2]|0)+dc;c[Hb>>2]=ec-fc;c[Ib>>2]=(c[mb>>2]|0)+gc;c[Jb>>2]=hc-ic;c[Kb>>2]=(c[pb>>2]|0)+jc;c[Lb>>2]=kc-n;n=0;while(1){m=(c[rc+(n<<2)>>2]|0)+m|0;b[p+(n<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=15-n|0;m=(c[uc+(m<<2)>>2]|0)-(c[rc+(m<<2)>>2]|0)|0;b[p+(n+16<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=n+1|0;if((m|0)==16)break b;n=m;m=c[uc+(m<<2)>>2]|0}}else{m=p;n=m+64|0;do{b[m>>1]=0;m=m+2|0}while((m|0)<(n|0))}while(0);o=o+1|0;if(o>>>0>=oc>>>0)break;else{l=l>>1;e=e+2|0;p=p+64|0}}if(pc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;s=b[17185]|0;t=b[17249]|0;u=rc+4|0;v=b[17186]|0;w=b[17250]|0;x=rc+8|0;y=b[17187]|0;z=b[17251]|0;A=rc+12|0;B=b[17188]|0;C=b[17252]|0;D=rc+16|0;E=b[17189]|0;F=b[17253]|0;G=rc+20|0;H=b[17190]|0;I=b[17254]|0;J=rc+24|0;K=b[17191]|0;L=b[17255]|0;M=rc+28|0;N=b[17192]|0;O=b[17256]|0;P=rc+32|0;Q=b[17193]|0;R=b[17257]|0;S=rc+36|0;T=b[17194]|0;U=b[17258]|0;V=rc+40|0;W=b[17195]|0;X=b[17259]|0;Y=rc+44|0;Z=b[17196]|0;_=b[17260]|0;$=rc+48|0;aa=b[17197]|0;ba=b[17261]|0;ca=rc+52|0;da=b[17198]|0;ea=b[17262]|0;fa=rc+56|0;ga=b[17199]|0;ha=b[17263]|0;ia=rc+60|0;ja=b[17216]|0;ka=b[17217]|0;la=sc+4|0;ma=b[17218]|0;na=sc+8|0;oa=b[17219]|0;pa=sc+12|0;qa=b[17220]|0;ra=sc+16|0;sa=b[17221]|0;ta=sc+20|0;ua=b[17222]|0;va=sc+24|0;wa=b[17223]|0;xa=sc+28|0;ya=uc+32|0;za=uc+4|0;Aa=uc+36|0;Ba=uc+8|0;Ca=uc+40|0;Da=uc+12|0;Ea=uc+44|0;Fa=uc+16|0;Ga=uc+48|0;Ha=uc+20|0;Ia=uc+52|0;Ja=uc+24|0;Ka=uc+56|0;La=uc+28|0;Ma=uc+60|0;l=0;while(1){i=b[f+64>>1]|0;m=b[f+192>>1]|0;c[rc>>2]=(r(m,q)|0)+(r(i,p)|0);c[u>>2]=(r(m,t)|0)+(r(i,s)|0);c[x>>2]=(r(m,w)|0)+(r(i,v)|0);c[A>>2]=(r(m,z)|0)+(r(i,y)|0);c[D>>2]=(r(m,C)|0)+(r(i,B)|0);c[G>>2]=(r(m,F)|0)+(r(i,E)|0);c[J>>2]=(r(m,I)|0)+(r(i,H)|0);c[M>>2]=(r(m,L)|0)+(r(i,K)|0);c[P>>2]=(r(m,O)|0)+(r(i,N)|0);c[S>>2]=(r(m,R)|0)+(r(i,Q)|0);c[V>>2]=(r(m,U)|0)+(r(i,T)|0);c[Y>>2]=(r(m,X)|0)+(r(i,W)|0);c[$>>2]=(r(m,_)|0)+(r(i,Z)|0);c[ca>>2]=(r(m,ba)|0)+(r(i,aa)|0);c[fa>>2]=(r(m,ea)|0)+(r(i,da)|0);c[ia>>2]=(r(m,ha)|0)+(r(i,ga)|0);i=b[f+128>>1]|0;m=r(i,ja)|0;c[sc>>2]=m;qc=r(i,ka)|0;c[la>>2]=qc;nc=r(i,ma)|0;c[na>>2]=nc;lc=r(i,oa)|0;c[pa>>2]=lc;kc=r(i,qa)|0;c[ra>>2]=kc;mc=r(i,sa)|0;c[ta>>2]=mc;oc=r(i,ua)|0;c[va>>2]=oc;i=r(i,wa)|0;c[xa>>2]=i;c[tc>>2]=0;c[tc+4>>2]=0;c[tc+8>>2]=0;c[tc+12>>2]=0;pc=b[f>>1]|0;n=r(pc,e)|0;pc=r(o,pc)|0;m=m+n|0;c[uc>>2]=m;c[ya>>2]=n-i;c[za>>2]=qc+pc;c[Aa>>2]=pc-oc;c[Ba>>2]=nc+pc;c[Ca>>2]=pc-mc;c[Da>>2]=lc+n;c[Ea>>2]=n-kc;c[Fa>>2]=kc+n;c[Ga>>2]=n-lc;c[Ha>>2]=mc+pc;c[Ia>>2]=pc-nc;c[Ja>>2]=oc+pc;c[Ka>>2]=pc-qc;c[La>>2]=i+n;c[Ma>>2]=n-(c[sc>>2]|0);n=0;while(1){i=(c[rc+(n<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+n>>0]|0)|0;i=(i|0)>0?i:0;a[h+n>>0]=(i|0)<255?i:255;i=15-n|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=n+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}l=l+1|0;if((l|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}if(qc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;s=b[17312]|0;t=b[17376]|0;u=b[17185]|0;v=b[17249]|0;w=b[17313]|0;x=b[17377]|0;y=rc+4|0;z=b[17186]|0;A=b[17250]|0;B=b[17314]|0;C=b[17378]|0;D=rc+8|0;E=b[17187]|0;F=b[17251]|0;G=b[17315]|0;H=b[17379]|0;I=rc+12|0;J=b[17188]|0;K=b[17252]|0;L=b[17316]|0;M=b[17380]|0;N=rc+16|0;O=b[17189]|0;P=b[17253]|0;Q=b[17317]|0;R=b[17381]|0;S=rc+20|0;T=b[17190]|0;U=b[17254]|0;V=b[17318]|0;W=b[17382]|0;X=rc+24|0;Y=b[17191]|0;Z=b[17255]|0;_=b[17319]|0;$=b[17383]|0;aa=rc+28|0;ba=b[17192]|0;ca=b[17256]|0;da=b[17320]|0;ea=b[17384]|0;fa=rc+32|0;ga=b[17193]|0;ha=b[17257]|0;ia=b[17321]|0;ja=b[17385]|0;ka=rc+36|0;la=b[17194]|0;ma=b[17258]|0;na=b[17322]|0;oa=b[17386]|0;pa=rc+40|0;qa=b[17195]|0;ra=b[17259]|0;sa=b[17323]|0;ta=b[17387]|0;ua=rc+44|0;va=b[17196]|0;wa=b[17260]|0;xa=b[17324]|0;ya=b[17388]|0;za=rc+48|0;Aa=b[17197]|0;Ba=b[17261]|0;Ca=b[17325]|0;Da=b[17389]|0;Ea=rc+52|0;Fa=b[17198]|0;Ga=b[17262]|0;Ha=b[17326]|0;Ia=b[17390]|0;Ja=rc+56|0;Ka=b[17199]|0;La=b[17263]|0;Ma=b[17327]|0;Na=b[17391]|0;Oa=rc+60|0;Pa=b[17216]|0;Qa=b[17344]|0;Ra=b[17217]|0;Sa=b[17345]|0;Ta=sc+4|0;Ua=b[17218]|0;Va=b[17346]|0;Wa=sc+8|0;Xa=b[17219]|0;Ya=b[17347]|0;Za=sc+12|0;_a=b[17220]|0;$a=b[17348]|0;ab=sc+16|0;bb=b[17221]|0;cb=b[17349]|0;db=sc+20|0;eb=b[17222]|0;fb=b[17350]|0;gb=sc+24|0;hb=b[17223]|0;ib=b[17351]|0;jb=sc+28|0;kb=b[17280]|0;lb=b[17281]|0;mb=tc+4|0;nb=b[17282]|0;ob=tc+8|0;pb=b[17283]|0;qb=tc+12|0;rb=uc+32|0;sb=uc+4|0;tb=uc+36|0;ub=uc+8|0;vb=uc+40|0;wb=uc+12|0;xb=uc+44|0;yb=uc+16|0;zb=uc+48|0;Ab=uc+20|0;Bb=uc+52|0;Cb=uc+24|0;Db=uc+56|0;Eb=uc+28|0;Fb=uc+60|0;l=0;while(1){jc=b[f+64>>1]|0;mc=b[f+192>>1]|0;ic=b[f+320>>1]|0;pc=b[f+448>>1]|0;c[rc>>2]=(r(mc,q)|0)+(r(jc,p)|0)+(r(ic,s)|0)+(r(pc,t)|0);c[y>>2]=(r(mc,v)|0)+(r(jc,u)|0)+(r(ic,w)|0)+(r(pc,x)|0);c[D>>2]=(r(mc,A)|0)+(r(jc,z)|0)+(r(ic,B)|0)+(r(pc,C)|0);c[I>>2]=(r(mc,F)|0)+(r(jc,E)|0)+(r(ic,G)|0)+(r(pc,H)|0);c[N>>2]=(r(mc,K)|0)+(r(jc,J)|0)+(r(ic,L)|0)+(r(pc,M)|0);c[S>>2]=(r(mc,P)|0)+(r(jc,O)|0)+(r(ic,Q)|0)+(r(pc,R)|0);c[X>>2]=(r(mc,U)|0)+(r(jc,T)|0)+(r(ic,V)|0)+(r(pc,W)|0);c[aa>>2]=(r(mc,Z)|0)+(r(jc,Y)|0)+(r(ic,_)|0)+(r(pc,$)|0);c[fa>>2]=(r(mc,ca)|0)+(r(jc,ba)|0)+(r(ic,da)|0)+(r(pc,ea)|0);c[ka>>2]=(r(mc,ha)|0)+(r(jc,ga)|0)+(r(ic,ia)|0)+(r(pc,ja)|0);c[pa>>2]=(r(mc,ma)|0)+(r(jc,la)|0)+(r(ic,na)|0)+(r(pc,oa)|0);c[ua>>2]=(r(mc,ra)|0)+(r(jc,qa)|0)+(r(ic,sa)|0)+(r(pc,ta)|0);c[za>>2]=(r(mc,wa)|0)+(r(jc,va)|0)+(r(ic,xa)|0)+(r(pc,ya)|0);c[Ea>>2]=(r(mc,Ba)|0)+(r(jc,Aa)|0)+(r(ic,Ca)|0)+(r(pc,Da)|0);c[Ja>>2]=(r(mc,Ga)|0)+(r(jc,Fa)|0)+(r(ic,Ha)|0)+(r(pc,Ia)|0);c[Oa>>2]=(r(mc,La)|0)+(r(jc,Ka)|0)+(r(ic,Ma)|0)+(r(pc,Na)|0);pc=b[f+128>>1]|0;ic=b[f+384>>1]|0;c[sc>>2]=(r(ic,Qa)|0)+(r(pc,Pa)|0);c[Ta>>2]=(r(ic,Sa)|0)+(r(pc,Ra)|0);c[Wa>>2]=(r(ic,Va)|0)+(r(pc,Ua)|0);c[Za>>2]=(r(ic,Ya)|0)+(r(pc,Xa)|0);c[ab>>2]=(r(ic,$a)|0)+(r(pc,_a)|0);jc=(r(ic,cb)|0)+(r(pc,bb)|0)|0;c[db>>2]=jc;mc=(r(ic,fb)|0)+(r(pc,eb)|0)|0;c[gb>>2]=mc;pc=(r(ic,ib)|0)+(r(pc,hb)|0)|0;c[jb>>2]=pc;ic=b[f+256>>1]|0;qc=r(ic,kb)|0;c[tc>>2]=qc;nc=r(ic,lb)|0;c[mb>>2]=nc;lc=r(ic,nb)|0;c[ob>>2]=lc;ic=r(ic,pb)|0;c[qb>>2]=ic;m=b[f>>1]|0;n=r(m,e)|0;m=r(o,m)|0;i=qc+n|0;hc=n-ic|0;oc=nc+m|0;kc=m-lc|0;lc=lc+m|0;nc=m-nc|0;ic=ic+n|0;qc=n-qc|0;n=c[sc>>2]|0;m=n+i|0;c[uc>>2]=m;c[rb>>2]=qc-pc;pc=c[Ta>>2]|0;c[sb>>2]=pc+oc;c[tb>>2]=nc-mc;mc=c[Wa>>2]|0;c[ub>>2]=mc+lc;c[vb>>2]=kc-jc;jc=c[Za>>2]|0;c[wb>>2]=jc+ic;gc=c[ab>>2]|0;c[xb>>2]=hc-gc;c[yb>>2]=gc+hc;c[zb>>2]=ic-jc;c[Ab>>2]=(c[db>>2]|0)+kc;c[Bb>>2]=lc-mc;c[Cb>>2]=(c[gb>>2]|0)+nc;c[Db>>2]=oc-pc;c[Eb>>2]=(c[jb>>2]|0)+qc;c[Fb>>2]=i-n;n=0;while(1){i=(c[rc+(n<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+n>>0]|0)|0;i=(i|0)>0?i:0;a[h+n>>0]=(i|0)<255?i:255;i=15-n|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=n+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}l=l+1|0;if((l|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}D=b[17408]|0;E=b[17920]|0;F=b[17409]|0;G=b[17921]|0;H=b[17152]|0;I=b[17664]|0;J=b[17153]|0;K=b[17665]|0;L=b[17216]|0;M=b[17344]|0;N=b[17472]|0;O=b[17600]|0;P=b[17728]|0;Q=b[17856]|0;R=b[17984]|0;S=b[18112]|0;T=b[17217]|0;U=b[17345]|0;V=b[17473]|0;W=b[17601]|0;X=b[17729]|0;Y=b[17857]|0;Z=b[17985]|0;_=b[18113]|0;$=sc+4|0;aa=b[17218]|0;ba=b[17346]|0;ca=b[17474]|0;da=b[17602]|0;ea=b[17730]|0;fa=b[17858]|0;ga=b[17986]|0;ha=b[18114]|0;ia=sc+8|0;ja=b[17219]|0;ka=b[17347]|0;la=b[17475]|0;ma=b[17603]|0;na=b[17731]|0;oa=b[17859]|0;pa=b[17987]|0;qa=b[18115]|0;ra=sc+12|0;sa=b[17220]|0;ta=b[17348]|0;ua=b[17476]|0;va=b[17604]|0;wa=b[17732]|0;xa=b[17860]|0;ya=b[17988]|0;za=b[18116]|0;Aa=sc+16|0;Ba=b[17221]|0;Ca=b[17349]|0;Da=b[17477]|0;Ea=b[17605]|0;Fa=b[17733]|0;Ga=b[17861]|0;Ha=b[17989]|0;Ia=b[18117]|0;Ja=sc+20|0;Ka=b[17222]|0;La=b[17350]|0;Ma=b[17478]|0;Na=b[17606]|0;Oa=b[17734]|0;Pa=b[17862]|0;Qa=b[17990]|0;Ra=b[18118]|0;Sa=sc+24|0;Ta=b[17223]|0;Ua=b[17351]|0;Va=b[17479]|0;Wa=b[17607]|0;Xa=b[17735]|0;Ya=b[17863]|0;Za=b[17991]|0;_a=b[18119]|0;$a=sc+28|0;ab=b[17280]|0;bb=b[17536]|0;cb=b[17792]|0;db=b[18048]|0;eb=b[17281]|0;fb=b[17537]|0;gb=b[17793]|0;hb=b[18049]|0;ib=tc+4|0;jb=b[17282]|0;kb=b[17538]|0;lb=b[17794]|0;mb=b[18050]|0;nb=tc+8|0;ob=b[17283]|0;pb=b[17539]|0;qb=b[17795]|0;rb=b[18051]|0;sb=tc+12|0;tb=uc+32|0;ub=uc+4|0;vb=uc+36|0;wb=uc+8|0;xb=uc+40|0;yb=uc+12|0;zb=uc+44|0;Ab=uc+16|0;Bb=uc+48|0;Cb=uc+20|0;Db=uc+52|0;Eb=uc+24|0;Fb=uc+56|0;Gb=uc+28|0;Hb=uc+60|0;C=0;while(1){n=b[f+64>>1]|0;l=b[f+192>>1]|0;e=b[f+320>>1]|0;o=b[f+448>>1]|0;p=b[f+576>>1]|0;q=b[f+704>>1]|0;s=b[f+832>>1]|0;t=b[f+960>>1]|0;u=b[f+1088>>1]|0;v=b[f+1216>>1]|0;w=b[f+1344>>1]|0;x=b[f+1472>>1]|0;y=b[f+1600>>1]|0;z=b[f+1728>>1]|0;A=b[f+1856>>1]|0;B=b[f+1984>>1]|0;m=0;do{i=r(n,b[34368+(m<<1)>>1]|0)|0;i=(r(l,b[34496+(m<<1)>>1]|0)|0)+i|0;i=i+(r(e,b[34624+(m<<1)>>1]|0)|0)|0;i=i+(r(o,b[34752+(m<<1)>>1]|0)|0)|0;i=i+(r(p,b[34880+(m<<1)>>1]|0)|0)|0;i=i+(r(q,b[35008+(m<<1)>>1]|0)|0)|0;i=i+(r(s,b[35136+(m<<1)>>1]|0)|0)|0;i=i+(r(t,b[35264+(m<<1)>>1]|0)|0)|0;i=i+(r(u,b[35392+(m<<1)>>1]|0)|0)|0;i=i+(r(v,b[35520+(m<<1)>>1]|0)|0)|0;i=i+(r(w,b[35648+(m<<1)>>1]|0)|0)|0;i=i+(r(x,b[35776+(m<<1)>>1]|0)|0)|0;i=i+(r(y,b[35904+(m<<1)>>1]|0)|0)|0;i=i+(r(z,b[36032+(m<<1)>>1]|0)|0)|0;i=i+(r(A,b[36160+(m<<1)>>1]|0)|0)|0;c[rc+(m<<2)>>2]=i+(r(B,b[36288+(m<<1)>>1]|0)|0);m=m+1|0}while((m|0)!=16);pc=b[f+128>>1]|0;m=b[f+384>>1]|0;mc=b[f+640>>1]|0;i=b[f+896>>1]|0;n=b[f+1152>>1]|0;jc=b[f+1408>>1]|0;ec=b[f+1664>>1]|0;fc=b[f+1920>>1]|0;c[sc>>2]=(r(m,M)|0)+(r(pc,L)|0)+(r(mc,N)|0)+(r(i,O)|0)+(r(n,P)|0)+(r(jc,Q)|0)+(r(ec,R)|0)+(r(fc,S)|0);c[$>>2]=(r(m,U)|0)+(r(pc,T)|0)+(r(mc,V)|0)+(r(i,W)|0)+(r(n,X)|0)+(r(jc,Y)|0)+(r(ec,Z)|0)+(r(fc,_)|0);c[ia>>2]=(r(m,ba)|0)+(r(pc,aa)|0)+(r(mc,ca)|0)+(r(i,da)|0)+(r(n,ea)|0)+(r(jc,fa)|0)+(r(ec,ga)|0)+(r(fc,ha)|0);c[ra>>2]=(r(m,ka)|0)+(r(pc,ja)|0)+(r(mc,la)|0)+(r(i,ma)|0)+(r(n,na)|0)+(r(jc,oa)|0)+(r(ec,pa)|0)+(r(fc,qa)|0);c[Aa>>2]=(r(m,ta)|0)+(r(pc,sa)|0)+(r(mc,ua)|0)+(r(i,va)|0)+(r(n,wa)|0)+(r(jc,xa)|0)+(r(ec,ya)|0)+(r(fc,za)|0);c[Ja>>2]=(r(m,Ca)|0)+(r(pc,Ba)|0)+(r(mc,Da)|0)+(r(i,Ea)|0)+(r(n,Fa)|0)+(r(jc,Ga)|0)+(r(ec,Ha)|0)+(r(fc,Ia)|0);c[Sa>>2]=(r(m,La)|0)+(r(pc,Ka)|0)+(r(mc,Ma)|0)+(r(i,Na)|0)+(r(n,Oa)|0)+(r(jc,Pa)|0)+(r(ec,Qa)|0)+(r(fc,Ra)|0);c[$a>>2]=(r(m,Ua)|0)+(r(pc,Ta)|0)+(r(mc,Va)|0)+(r(i,Wa)|0)+(r(n,Xa)|0)+(r(jc,Ya)|0)+(r(ec,Za)|0)+(r(fc,_a)|0);fc=b[f+256>>1]|0;ec=b[f+768>>1]|0;jc=b[f+1280>>1]|0;n=b[f+1792>>1]|0;i=(r(ec,bb)|0)+(r(fc,ab)|0)+(r(jc,cb)|0)+(r(n,db)|0)|0;c[tc>>2]=i;mc=(r(ec,fb)|0)+(r(fc,eb)|0)+(r(jc,gb)|0)+(r(n,hb)|0)|0;c[ib>>2]=mc;pc=(r(ec,kb)|0)+(r(fc,jb)|0)+(r(jc,lb)|0)+(r(n,mb)|0)|0;c[nb>>2]=pc;n=(r(ec,pb)|0)+(r(fc,ob)|0)+(r(jc,qb)|0)+(r(n,rb)|0)|0;c[sb>>2]=n;jc=b[f+512>>1]|0;fc=r(jc,D)|0;ec=b[f+1536>>1]|0;fc=(r(ec,E)|0)+fc|0;jc=(r(G,ec)|0)+(r(F,jc)|0)|0;ec=b[f>>1]|0;m=r(ec,H)|0;qc=b[f+1024>>1]|0;m=(r(qc,I)|0)+m|0;ec=(r(K,qc)|0)+(r(J,ec)|0)|0;qc=m+fc|0;fc=m-fc|0;m=ec+jc|0;jc=ec-jc|0;i=i+qc|0;ec=fc-n|0;nc=mc+m|0;ic=jc-pc|0;jc=pc+jc|0;mc=m-mc|0;fc=n+fc|0;qc=qc-(c[tc>>2]|0)|0;n=c[sc>>2]|0;m=n+i|0;c[uc>>2]=m;pc=c[$a>>2]|0;c[tb>>2]=qc-pc;oc=c[$>>2]|0;c[ub>>2]=oc+nc;lc=c[Sa>>2]|0;c[vb>>2]=mc-lc;kc=c[ia>>2]|0;c[wb>>2]=kc+jc;hc=c[Ja>>2]|0;c[xb>>2]=ic-hc;gc=c[ra>>2]|0;c[yb>>2]=gc+fc;dc=c[Aa>>2]|0;c[zb>>2]=ec-dc;c[Ab>>2]=dc+ec;c[Bb>>2]=fc-gc;c[Cb>>2]=hc+ic;c[Db>>2]=jc-kc;c[Eb>>2]=lc+mc;c[Fb>>2]=nc-oc;c[Gb>>2]=pc+qc;c[Hb>>2]=i-n;n=0;while(1){i=(c[rc+(n<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+n>>0]|0)|0;i=(i|0)>0?i:0;a[h+n>>0]=(i|0)<255?i:255;i=15-n|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=n+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}C=C+1|0;if((C|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}G=i*9|0;H=i*11|0;I=i*13|0;J=i*15|0;K=i*17|0;L=i*19|0;M=i*21|0;N=i*23|0;O=i*25|0;P=i*27|0;Q=i*29|0;R=i*31|0;S=i<<1;T=i*6|0;U=i*10|0;V=i*14|0;W=i*18|0;X=i*22|0;Y=i*26|0;Z=i*30|0;_=i<<2;$=i*12|0;aa=i*20|0;ba=i*28|0;ca=b[17408]|0;da=i<<3;ea=b[17920]|0;fa=i*24|0;ga=b[17409]|0;ha=b[17921]|0;ia=b[17152]|0;ja=b[17664]|0;ka=i<<4;la=b[17153]|0;ma=b[17665]|0;na=b[17216]|0;oa=b[17344]|0;pa=b[17472]|0;qa=b[17600]|0;ra=b[17728]|0;sa=b[17856]|0;ta=b[17984]|0;ua=b[18112]|0;va=b[17217]|0;wa=b[17345]|0;xa=b[17473]|0;ya=b[17601]|0;za=b[17729]|0;Aa=b[17857]|0;Ba=b[17985]|0;Ca=b[18113]|0;Da=sc+4|0;Ea=b[17218]|0;Fa=b[17346]|0;Ga=b[17474]|0;Ha=b[17602]|0;Ia=b[17730]|0;Ja=b[17858]|0;Ka=b[17986]|0;La=b[18114]|0;Ma=sc+8|0;Na=b[17219]|0;Oa=b[17347]|0;Pa=b[17475]|0;Qa=b[17603]|0;Ra=b[17731]|0;Sa=b[17859]|0;Ta=b[17987]|0;Ua=b[18115]|0;Va=sc+12|0;Wa=b[17220]|0;Xa=b[17348]|0;Ya=b[17476]|0;Za=b[17604]|0;_a=b[17732]|0;$a=b[17860]|0;ab=b[17988]|0;bb=b[18116]|0;cb=sc+16|0;db=b[17221]|0;eb=b[17349]|0;fb=b[17477]|0;gb=b[17605]|0;hb=b[17733]|0;ib=b[17861]|0;jb=b[17989]|0;kb=b[18117]|0;lb=sc+20|0;mb=b[17222]|0;nb=b[17350]|0;ob=b[17478]|0;pb=b[17606]|0;qb=b[17734]|0;rb=b[17862]|0;sb=b[17990]|0;tb=b[18118]|0;ub=sc+24|0;vb=b[17223]|0;wb=b[17351]|0;xb=b[17479]|0;yb=b[17607]|0;zb=b[17735]|0;Ab=b[17863]|0;Bb=b[17991]|0;Cb=b[18119]|0;Db=sc+28|0;Eb=b[17280]|0;Fb=b[17536]|0;Gb=b[17792]|0;Hb=b[18048]|0;Ib=b[17281]|0;Jb=b[17537]|0;Kb=b[17793]|0;Lb=b[18049]|0;Mb=tc+4|0;Nb=b[17282]|0;Ob=b[17538]|0;Pb=b[17794]|0;Qb=b[18050]|0;Rb=tc+8|0;Tb=b[17283]|0;Ub=b[17539]|0;Vb=b[17795]|0;Wb=b[18051]|0;Xb=tc+12|0;Yb=uc+32|0;Zb=uc+4|0;_b=uc+36|0;$b=uc+8|0;ac=uc+40|0;bc=uc+12|0;cc=uc+44|0;dc=uc+16|0;ec=uc+48|0;fc=uc+20|0;gc=uc+52|0;hc=uc+24|0;ic=uc+56|0;jc=uc+28|0;kc=uc+60|0;E=0;F=f;while(1){c:do if(!(l&1)){n=b[e+(i<<1)>>1]|0;o=b[e+(lc<<1)>>1]|0;p=b[e+(mc<<1)>>1]|0;q=b[e+(nc<<1)>>1]|0;s=b[e+(G<<1)>>1]|0;t=b[e+(H<<1)>>1]|0;u=b[e+(I<<1)>>1]|0;v=b[e+(J<<1)>>1]|0;w=b[e+(K<<1)>>1]|0;x=b[e+(L<<1)>>1]|0;y=b[e+(M<<1)>>1]|0;z=b[e+(N<<1)>>1]|0;A=b[e+(O<<1)>>1]|0;B=b[e+(P<<1)>>1]|0;C=b[e+(Q<<1)>>1]|0;D=b[e+(R<<1)>>1]|0;m=0;do{wc=r(n,b[34368+(m<<1)>>1]|0)|0;wc=(r(o,b[34496+(m<<1)>>1]|0)|0)+wc|0;wc=wc+(r(p,b[34624+(m<<1)>>1]|0)|0)|0;wc=wc+(r(q,b[34752+(m<<1)>>1]|0)|0)|0;wc=wc+(r(s,b[34880+(m<<1)>>1]|0)|0)|0;wc=wc+(r(t,b[35008+(m<<1)>>1]|0)|0)|0;wc=wc+(r(u,b[35136+(m<<1)>>1]|0)|0)|0;wc=wc+(r(v,b[35264+(m<<1)>>1]|0)|0)|0;wc=wc+(r(w,b[35392+(m<<1)>>1]|0)|0)|0;wc=wc+(r(x,b[35520+(m<<1)>>1]|0)|0)|0;wc=wc+(r(y,b[35648+(m<<1)>>1]|0)|0)|0;wc=wc+(r(z,b[35776+(m<<1)>>1]|0)|0)|0;wc=wc+(r(A,b[35904+(m<<1)>>1]|0)|0)|0;wc=wc+(r(B,b[36032+(m<<1)>>1]|0)|0)|0;wc=wc+(r(C,b[36160+(m<<1)>>1]|0)|0)|0;c[rc+(m<<2)>>2]=wc+(r(D,b[36288+(m<<1)>>1]|0)|0);m=m+1|0}while((m|0)!=16);C=b[e+(S<<1)>>1]|0;m=b[e+(T<<1)>>1]|0;z=b[e+(U<<1)>>1]|0;wc=b[e+(V<<1)>>1]|0;n=b[e+(W<<1)>>1]|0;w=b[e+(X<<1)>>1]|0;q=b[e+(Y<<1)>>1]|0;s=b[e+(Z<<1)>>1]|0;c[sc>>2]=(r(m,oa)|0)+(r(C,na)|0)+(r(z,pa)|0)+(r(wc,qa)|0)+(r(n,ra)|0)+(r(w,sa)|0)+(r(q,ta)|0)+(r(s,ua)|0);c[Da>>2]=(r(m,wa)|0)+(r(C,va)|0)+(r(z,xa)|0)+(r(wc,ya)|0)+(r(n,za)|0)+(r(w,Aa)|0)+(r(q,Ba)|0)+(r(s,Ca)|0);c[Ma>>2]=(r(m,Fa)|0)+(r(C,Ea)|0)+(r(z,Ga)|0)+(r(wc,Ha)|0)+(r(n,Ia)|0)+(r(w,Ja)|0)+(r(q,Ka)|0)+(r(s,La)|0);c[Va>>2]=(r(m,Oa)|0)+(r(C,Na)|0)+(r(z,Pa)|0)+(r(wc,Qa)|0)+(r(n,Ra)|0)+(r(w,Sa)|0)+(r(q,Ta)|0)+(r(s,Ua)|0);c[cb>>2]=(r(m,Xa)|0)+(r(C,Wa)|0)+(r(z,Ya)|0)+(r(wc,Za)|0)+(r(n,_a)|0)+(r(w,$a)|0)+(r(q,ab)|0)+(r(s,bb)|0);c[lb>>2]=(r(m,eb)|0)+(r(C,db)|0)+(r(z,fb)|0)+(r(wc,gb)|0)+(r(n,hb)|0)+(r(w,ib)|0)+(r(q,jb)|0)+(r(s,kb)|0);c[ub>>2]=(r(m,nb)|0)+(r(C,mb)|0)+(r(z,ob)|0)+(r(wc,pb)|0)+(r(n,qb)|0)+(r(w,rb)|0)+(r(q,sb)|0)+(r(s,tb)|0);c[Db>>2]=(r(m,wb)|0)+(r(C,vb)|0)+(r(z,xb)|0)+(r(wc,yb)|0)+(r(n,zb)|0)+(r(w,Ab)|0)+(r(q,Bb)|0)+(r(s,Cb)|0);s=b[e+(_<<1)>>1]|0;q=b[e+($<<1)>>1]|0;w=b[e+(aa<<1)>>1]|0;n=b[e+(ba<<1)>>1]|0;wc=(r(q,Fb)|0)+(r(s,Eb)|0)+(r(w,Gb)|0)+(r(n,Hb)|0)|0;c[tc>>2]=wc;z=(r(q,Jb)|0)+(r(s,Ib)|0)+(r(w,Kb)|0)+(r(n,Lb)|0)|0;c[Mb>>2]=z;C=(r(q,Ob)|0)+(r(s,Nb)|0)+(r(w,Pb)|0)+(r(n,Qb)|0)|0;c[Rb>>2]=C;n=(r(q,Ub)|0)+(r(s,Tb)|0)+(r(w,Vb)|0)+(r(n,Wb)|0)|0;c[Xb>>2]=n;w=b[e+(da<<1)>>1]|0;s=r(w,ca)|0;q=b[e+(fa<<1)>>1]|0;s=(r(q,ea)|0)+s|0;w=(r(ha,q)|0)+(r(ga,w)|0)|0;q=b[e>>1]|0;m=r(q,ia)|0;D=b[e+(ka<<1)>>1]|0;m=(r(D,ja)|0)+m|0;q=(r(ma,D)|0)+(r(la,q)|0)|0;D=m+s|0;s=m-s|0;m=q+w|0;w=q-w|0;wc=wc+D|0;q=s-n|0;A=z+m|0;v=w-C|0;w=C+w|0;z=m-z|0;s=n+s|0;D=D-(c[tc>>2]|0)|0;n=c[sc>>2]|0;m=n+wc|0;c[uc>>2]=m;C=c[Db>>2]|0;c[Yb>>2]=D-C;B=c[Da>>2]|0;c[Zb>>2]=B+A;y=c[ub>>2]|0;c[_b>>2]=z-y;x=c[Ma>>2]|0;c[$b>>2]=x+w;u=c[lb>>2]|0;c[ac>>2]=v-u;t=c[Va>>2]|0;c[bc>>2]=t+s;p=c[cb>>2]|0;c[cc>>2]=q-p;c[dc>>2]=p+q;c[ec>>2]=s-t;c[fc>>2]=u+v;c[gc>>2]=w-x;c[hc>>2]=y+z;c[ic>>2]=A-B;c[jc>>2]=C+D;c[kc>>2]=wc-n;n=0;while(1){m=(c[rc+(n<<2)>>2]|0)+m|0;b[F+(n<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=15-n|0;m=(c[uc+(m<<2)>>2]|0)-(c[rc+(m<<2)>>2]|0)|0;b[F+(n+16<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=n+1|0;if((m|0)==16)break c;n=m;m=c[uc+(m<<2)>>2]|0}}else{m=F;n=m+64|0;do{b[m>>1]=0;m=m+2|0}while((m|0)<(n|0))}while(0);E=E+1|0;if(E>>>0>=oc>>>0)break;else{l=l>>1;e=e+2|0;F=F+64|0}}if(pc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;s=b[17185]|0;t=b[17249]|0;u=rc+4|0;v=b[17186]|0;w=b[17250]|0;x=rc+8|0;y=b[17187]|0;z=b[17251]|0;A=rc+12|0;B=b[17188]|0;C=b[17252]|0;D=rc+16|0;E=b[17189]|0;F=b[17253]|0;G=rc+20|0;H=b[17190]|0;I=b[17254]|0;J=rc+24|0;K=b[17191]|0;L=b[17255]|0;M=rc+28|0;N=b[17192]|0;O=b[17256]|0;P=rc+32|0;Q=b[17193]|0;R=b[17257]|0;S=rc+36|0;T=b[17194]|0;U=b[17258]|0;V=rc+40|0;W=b[17195]|0;X=b[17259]|0;Y=rc+44|0;Z=b[17196]|0;_=b[17260]|0;$=rc+48|0;aa=b[17197]|0;ba=b[17261]|0;ca=rc+52|0;da=b[17198]|0;ea=b[17262]|0;fa=rc+56|0;ga=b[17199]|0;ha=b[17263]|0;ia=rc+60|0;ja=b[17216]|0;ka=b[17217]|0;la=sc+4|0;ma=b[17218]|0;na=sc+8|0;oa=b[17219]|0;pa=sc+12|0;qa=b[17220]|0;ra=sc+16|0;sa=b[17221]|0;ta=sc+20|0;ua=b[17222]|0;va=sc+24|0;wa=b[17223]|0;xa=sc+28|0;ya=uc+32|0;za=uc+4|0;Aa=uc+36|0;Ba=uc+8|0;Ca=uc+40|0;Da=uc+12|0;Ea=uc+44|0;Fa=uc+16|0;Ga=uc+48|0;Ha=uc+20|0;Ia=uc+52|0;Ja=uc+24|0;Ka=uc+56|0;La=uc+28|0;Ma=uc+60|0;l=0;while(1){wc=b[f+64>>1]|0;m=b[f+192>>1]|0;c[rc>>2]=(r(m,q)|0)+(r(wc,p)|0);c[u>>2]=(r(m,t)|0)+(r(wc,s)|0);c[x>>2]=(r(m,w)|0)+(r(wc,v)|0);c[A>>2]=(r(m,z)|0)+(r(wc,y)|0);c[D>>2]=(r(m,C)|0)+(r(wc,B)|0);c[G>>2]=(r(m,F)|0)+(r(wc,E)|0);c[J>>2]=(r(m,I)|0)+(r(wc,H)|0);c[M>>2]=(r(m,L)|0)+(r(wc,K)|0);c[P>>2]=(r(m,O)|0)+(r(wc,N)|0);c[S>>2]=(r(m,R)|0)+(r(wc,Q)|0);c[V>>2]=(r(m,U)|0)+(r(wc,T)|0);c[Y>>2]=(r(m,X)|0)+(r(wc,W)|0);c[$>>2]=(r(m,_)|0)+(r(wc,Z)|0);c[ca>>2]=(r(m,ba)|0)+(r(wc,aa)|0);c[fa>>2]=(r(m,ea)|0)+(r(wc,da)|0);c[ia>>2]=(r(m,ha)|0)+(r(wc,ga)|0);wc=b[f+128>>1]|0;m=r(wc,ja)|0;c[sc>>2]=m;i=r(wc,ka)|0;c[la>>2]=i;oc=r(wc,ma)|0;c[na>>2]=oc;mc=r(wc,oa)|0;c[pa>>2]=mc;lc=r(wc,qa)|0;c[ra>>2]=lc;nc=r(wc,sa)|0;c[ta>>2]=nc;pc=r(wc,ua)|0;c[va>>2]=pc;wc=r(wc,wa)|0;c[xa>>2]=wc;c[tc>>2]=0;c[tc+4>>2]=0;c[tc+8>>2]=0;c[tc+12>>2]=0;qc=b[f>>1]|0;n=r(qc,e)|0;qc=r(o,qc)|0;m=m+n|0;c[uc>>2]=m;c[ya>>2]=n-wc;c[za>>2]=i+qc;c[Aa>>2]=qc-pc;c[Ba>>2]=oc+qc;c[Ca>>2]=qc-nc;c[Da>>2]=mc+n;c[Ea>>2]=n-lc;c[Fa>>2]=lc+n;c[Ga>>2]=n-mc;c[Ha>>2]=nc+qc;c[Ia>>2]=qc-oc;c[Ja>>2]=pc+qc;c[Ka>>2]=qc-i;c[La>>2]=wc+n;c[Ma>>2]=n-(c[sc>>2]|0);n=0;while(1){wc=(c[rc+(n<<2)>>2]|0)+m|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+n>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+n>>0]=(wc|0)<255?wc:255;wc=15-n|0;wc=(c[uc+(wc<<2)>>2]|0)-(c[rc+(wc<<2)>>2]|0)|0;m=n+16|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+m>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+m>>0]=(wc|0)<255?wc:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}l=l+1|0;if((l|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}if(qc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;s=b[17312]|0;t=b[17376]|0;u=b[17185]|0;v=b[17249]|0;w=b[17313]|0;x=b[17377]|0;y=rc+4|0;z=b[17186]|0;A=b[17250]|0;B=b[17314]|0;C=b[17378]|0;D=rc+8|0;E=b[17187]|0;F=b[17251]|0;G=b[17315]|0;H=b[17379]|0;I=rc+12|0;J=b[17188]|0;K=b[17252]|0;L=b[17316]|0;M=b[17380]|0;N=rc+16|0;O=b[17189]|0;P=b[17253]|0;Q=b[17317]|0;R=b[17381]|0;S=rc+20|0;T=b[17190]|0;U=b[17254]|0;V=b[17318]|0;W=b[17382]|0;X=rc+24|0;Y=b[17191]|0;Z=b[17255]|0;_=b[17319]|0;$=b[17383]|0;aa=rc+28|0;ba=b[17192]|0;ca=b[17256]|0;da=b[17320]|0;ea=b[17384]|0;fa=rc+32|0;ga=b[17193]|0;ha=b[17257]|0;ia=b[17321]|0;ja=b[17385]|0;ka=rc+36|0;la=b[17194]|0;ma=b[17258]|0;na=b[17322]|0;oa=b[17386]|0;pa=rc+40|0;qa=b[17195]|0;ra=b[17259]|0;sa=b[17323]|0;ta=b[17387]|0;ua=rc+44|0;va=b[17196]|0;wa=b[17260]|0;xa=b[17324]|0;ya=b[17388]|0;za=rc+48|0;Aa=b[17197]|0;Ba=b[17261]|0;Ca=b[17325]|0;Da=b[17389]|0;Ea=rc+52|0;Fa=b[17198]|0;Ga=b[17262]|0;Ha=b[17326]|0;Ia=b[17390]|0;Ja=rc+56|0;Ka=b[17199]|0;La=b[17263]|0;Ma=b[17327]|0;Na=b[17391]|0;Oa=rc+60|0;Pa=b[17216]|0;Qa=b[17344]|0;Ra=b[17217]|0;Sa=b[17345]|0;Ta=sc+4|0;Ua=b[17218]|0;Va=b[17346]|0;Wa=sc+8|0;Xa=b[17219]|0;Ya=b[17347]|0;Za=sc+12|0;_a=b[17220]|0;$a=b[17348]|0;ab=sc+16|0;bb=b[17221]|0;cb=b[17349]|0;db=sc+20|0;eb=b[17222]|0;fb=b[17350]|0;gb=sc+24|0;hb=b[17223]|0;ib=b[17351]|0;jb=sc+28|0;kb=b[17280]|0;lb=b[17281]|0;mb=tc+4|0;nb=b[17282]|0;ob=tc+8|0;pb=b[17283]|0;qb=tc+12|0;rb=uc+32|0;sb=uc+4|0;tb=uc+36|0;ub=uc+8|0;vb=uc+40|0;wb=uc+12|0;xb=uc+44|0;yb=uc+16|0;zb=uc+48|0;Ab=uc+20|0;Bb=uc+52|0;Cb=uc+24|0;Db=uc+56|0;Eb=uc+28|0;Fb=uc+60|0;l=0;while(1){kc=b[f+64>>1]|0;nc=b[f+192>>1]|0;jc=b[f+320>>1]|0;qc=b[f+448>>1]|0;c[rc>>2]=(r(nc,q)|0)+(r(kc,p)|0)+(r(jc,s)|0)+(r(qc,t)|0);c[y>>2]=(r(nc,v)|0)+(r(kc,u)|0)+(r(jc,w)|0)+(r(qc,x)|0);c[D>>2]=(r(nc,A)|0)+(r(kc,z)|0)+(r(jc,B)|0)+(r(qc,C)|0);c[I>>2]=(r(nc,F)|0)+(r(kc,E)|0)+(r(jc,G)|0)+(r(qc,H)|0);c[N>>2]=(r(nc,K)|0)+(r(kc,J)|0)+(r(jc,L)|0)+(r(qc,M)|0);c[S>>2]=(r(nc,P)|0)+(r(kc,O)|0)+(r(jc,Q)|0)+(r(qc,R)|0);c[X>>2]=(r(nc,U)|0)+(r(kc,T)|0)+(r(jc,V)|0)+(r(qc,W)|0);c[aa>>2]=(r(nc,Z)|0)+(r(kc,Y)|0)+(r(jc,_)|0)+(r(qc,$)|0);c[fa>>2]=(r(nc,ca)|0)+(r(kc,ba)|0)+(r(jc,da)|0)+(r(qc,ea)|0);c[ka>>2]=(r(nc,ha)|0)+(r(kc,ga)|0)+(r(jc,ia)|0)+(r(qc,ja)|0);c[pa>>2]=(r(nc,ma)|0)+(r(kc,la)|0)+(r(jc,na)|0)+(r(qc,oa)|0);c[ua>>2]=(r(nc,ra)|0)+(r(kc,qa)|0)+(r(jc,sa)|0)+(r(qc,ta)|0);c[za>>2]=(r(nc,wa)|0)+(r(kc,va)|0)+(r(jc,xa)|0)+(r(qc,ya)|0);c[Ea>>2]=(r(nc,Ba)|0)+(r(kc,Aa)|0)+(r(jc,Ca)|0)+(r(qc,Da)|0);c[Ja>>2]=(r(nc,Ga)|0)+(r(kc,Fa)|0)+(r(jc,Ha)|0)+(r(qc,Ia)|0);c[Oa>>2]=(r(nc,La)|0)+(r(kc,Ka)|0)+(r(jc,Ma)|0)+(r(qc,Na)|0);qc=b[f+128>>1]|0;jc=b[f+384>>1]|0;c[sc>>2]=(r(jc,Qa)|0)+(r(qc,Pa)|0);c[Ta>>2]=(r(jc,Sa)|0)+(r(qc,Ra)|0);c[Wa>>2]=(r(jc,Va)|0)+(r(qc,Ua)|0);c[Za>>2]=(r(jc,Ya)|0)+(r(qc,Xa)|0);c[ab>>2]=(r(jc,$a)|0)+(r(qc,_a)|0);kc=(r(jc,cb)|0)+(r(qc,bb)|0)|0;c[db>>2]=kc;nc=(r(jc,fb)|0)+(r(qc,eb)|0)|0;c[gb>>2]=nc;qc=(r(jc,ib)|0)+(r(qc,hb)|0)|0;c[jb>>2]=qc;jc=b[f+256>>1]|0;i=r(jc,kb)|0;c[tc>>2]=i;oc=r(jc,lb)|0;c[mb>>2]=oc;mc=r(jc,nb)|0;c[ob>>2]=mc;jc=r(jc,pb)|0;c[qb>>2]=jc;m=b[f>>1]|0;n=r(m,e)|0;m=r(o,m)|0;wc=i+n|0;ic=n-jc|0;pc=oc+m|0;lc=m-mc|0;mc=mc+m|0;oc=m-oc|0;jc=jc+n|0;i=n-i|0;n=c[sc>>2]|0;m=n+wc|0;c[uc>>2]=m;c[rb>>2]=i-qc;qc=c[Ta>>2]|0;c[sb>>2]=qc+pc;c[tb>>2]=oc-nc;nc=c[Wa>>2]|0;c[ub>>2]=nc+mc;c[vb>>2]=lc-kc;kc=c[Za>>2]|0;c[wb>>2]=kc+jc;hc=c[ab>>2]|0;c[xb>>2]=ic-hc;c[yb>>2]=hc+ic;c[zb>>2]=jc-kc;c[Ab>>2]=(c[db>>2]|0)+lc;c[Bb>>2]=mc-nc;c[Cb>>2]=(c[gb>>2]|0)+oc;c[Db>>2]=pc-qc;c[Eb>>2]=(c[jb>>2]|0)+i;c[Fb>>2]=wc-n;n=0;while(1){wc=(c[rc+(n<<2)>>2]|0)+m|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+n>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+n>>0]=(wc|0)<255?wc:255;wc=15-n|0;wc=(c[uc+(wc<<2)>>2]|0)-(c[rc+(wc<<2)>>2]|0)|0;m=n+16|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+m>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+m>>0]=(wc|0)<255?wc:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}l=l+1|0;if((l|0)==32)break;else{f=f+2|0;g=g+j|0;h=h+k|0}}Sb=vc;return}D=b[17408]|0;E=b[17920]|0;F=b[17409]|0;G=b[17921]|0;H=b[17152]|0;I=b[17664]|0;J=b[17153]|0;K=b[17665]|0;L=b[17216]|0;M=b[17344]|0;N=b[17472]|0;O=b[17600]|0;P=b[17728]|0;Q=b[17856]|0;R=b[17984]|0;S=b[18112]|0;T=b[17217]|0;U=b[17345]|0;V=b[17473]|0;W=b[17601]|0;X=b[17729]|0;Y=b[17857]|0;Z=b[17985]|0;_=b[18113]|0;$=sc+4|0;aa=b[17218]|0;ba=b[17346]|0;ca=b[17474]|0;da=b[17602]|0;ea=b[17730]|0;fa=b[17858]|0;ga=b[17986]|0;ha=b[18114]|0;ia=sc+8|0;ja=b[17219]|0;ka=b[17347]|0;la=b[17475]|0;ma=b[17603]|0;na=b[17731]|0;oa=b[17859]|0;pa=b[17987]|0;qa=b[18115]|0;ra=sc+12|0;sa=b[17220]|0;ta=b[17348]|0;ua=b[17476]|0;va=b[17604]|0;wa=b[17732]|0;xa=b[17860]|0;ya=b[17988]|0;za=b[18116]|0;Aa=sc+16|0;Ba=b[17221]|0;Ca=b[17349]|0;Da=b[17477]|0;Ea=b[17605]|0;Fa=b[17733]|0;Ga=b[17861]|0;Ha=b[17989]|0;Ia=b[18117]|0;Ja=sc+20|0;Ka=b[17222]|0;La=b[17350]|0;Ma=b[17478]|0;Na=b[17606]|0;Oa=b[17734]|0;Pa=b[17862]|0;Qa=b[17990]|0;Ra=b[18118]|0;Sa=sc+24|0;Ta=b[17223]|0;Ua=b[17351]|0;Va=b[17479]|0;Wa=b[17607]|0;Xa=b[17735]|0;Ya=b[17863]|0;Za=b[17991]|0;_a=b[18119]|0;$a=sc+28|0;ab=b[17280]|0;bb=b[17536]|0;cb=b[17792]|0;db=b[18048]|0;eb=b[17281]|0;fb=b[17537]|0;gb=b[17793]|0;hb=b[18049]|0;ib=tc+4|0;jb=b[17282]|0;kb=b[17538]|0;lb=b[17794]|0;mb=b[18050]|0;nb=tc+8|0;ob=b[17283]|0;pb=b[17539]|0;qb=b[17795]|0;rb=b[18051]|0;sb=tc+12|0;tb=uc+32|0;ub=uc+4|0;vb=uc+36|0;wb=uc+8|0;xb=uc+40|0;yb=uc+12|0;zb=uc+44|0;Ab=uc+16|0;Bb=uc+48|0;Cb=uc+20|0;Db=uc+52|0;Eb=uc+24|0;Fb=uc+56|0;Gb=uc+28|0;Hb=uc+60|0;C=0;while(1){n=b[f+64>>1]|0;l=b[f+192>>1]|0;e=b[f+320>>1]|0;o=b[f+448>>1]|0;p=b[f+576>>1]|0;q=b[f+704>>1]|0;s=b[f+832>>1]|0;t=b[f+960>>1]|0;u=b[f+1088>>1]|0;v=b[f+1216>>1]|0;w=b[f+1344>>1]|0;x=b[f+1472>>1]|0;y=b[f+1600>>1]|0;z=b[f+1728>>1]|0;A=b[f+1856>>1]|0;B=b[f+1984>>1]|0;m=0;do{wc=r(n,b[34368+(m<<1)>>1]|0)|0;wc=(r(l,b[34496+(m<<1)>>1]|0)|0)+wc|0;wc=wc+(r(e,b[34624+(m<<1)>>1]|0)|0)|0;wc=wc+(r(o,b[34752+(m<<1)>>1]|0)|0)|0;wc=wc+(r(p,b[34880+(m<<1)>>1]|0)|0)|0;wc=wc+(r(q,b[35008+(m<<1)>>1]|0)|0)|0;wc=wc+(r(s,b[35136+(m<<1)>>1]|0)|0)|0;wc=wc+(r(t,b[35264+(m<<1)>>1]|0)|0)|0;wc=wc+(r(u,b[35392+(m<<1)>>1]|0)|0)|0;wc=wc+(r(v,b[35520+(m<<1)>>1]|0)|0)|0;wc=wc+(r(w,b[35648+(m<<1)>>1]|0)|0)|0;wc=wc+(r(x,b[35776+(m<<1)>>1]|0)|0)|0;wc=wc+(r(y,b[35904+(m<<1)>>1]|0)|0)|0;wc=wc+(r(z,b[36032+(m<<1)>>1]|0)|0)|0;wc=wc+(r(A,b[36160+(m<<1)>>1]|0)|0)|0;c[rc+(m<<2)>>2]=wc+(r(B,b[36288+(m<<1)>>1]|0)|0);m=m+1|0}while((m|0)!=16);qc=b[f+128>>1]|0;m=b[f+384>>1]|0;nc=b[f+640>>1]|0;wc=b[f+896>>1]|0;n=b[f+1152>>1]|0;kc=b[f+1408>>1]|0;fc=b[f+1664>>1]|0;gc=b[f+1920>>1]|0;c[sc>>2]=(r(m,M)|0)+(r(qc,L)|0)+(r(nc,N)|0)+(r(wc,O)|0)+(r(n,P)|0)+(r(kc,Q)|0)+(r(fc,R)|0)+(r(gc,S)|0);c[$>>2]=(r(m,U)|0)+(r(qc,T)|0)+(r(nc,V)|0)+(r(wc,W)|0)+(r(n,X)|0)+(r(kc,Y)|0)+(r(fc,Z)|0)+(r(gc,_)|0);c[ia>>2]=(r(m,ba)|0)+(r(qc,aa)|0)+(r(nc,ca)|0)+(r(wc,da)|0)+(r(n,ea)|0)+(r(kc,fa)|0)+(r(fc,ga)|0)+(r(gc,ha)|0);c[ra>>2]=(r(m,ka)|0)+(r(qc,ja)|0)+(r(nc,la)|0)+(r(wc,ma)|0)+(r(n,na)|0)+(r(kc,oa)|0)+(r(fc,pa)|0)+(r(gc,qa)|0);c[Aa>>2]=(r(m,ta)|0)+(r(qc,sa)|0)+(r(nc,ua)|0)+(r(wc,va)|0)+(r(n,wa)|0)+(r(kc,xa)|0)+(r(fc,ya)|0)+(r(gc,za)|0);c[Ja>>2]=(r(m,Ca)|0)+(r(qc,Ba)|0)+(r(nc,Da)|0)+(r(wc,Ea)|0)+(r(n,Fa)|0)+(r(kc,Ga)|0)+(r(fc,Ha)|0)+(r(gc,Ia)|0);c[Sa>>2]=(r(m,La)|0)+(r(qc,Ka)|0)+(r(nc,Ma)|0)+(r(wc,Na)|0)+(r(n,Oa)|0)+(r(kc,Pa)|0)+(r(fc,Qa)|0)+(r(gc,Ra)|0);c[$a>>2]=(r(m,Ua)|0)+(r(qc,Ta)|0)+(r(nc,Va)|0)+(r(wc,Wa)|0)+(r(n,Xa)|0)+(r(kc,Ya)|0)+(r(fc,Za)|0)+(r(gc,_a)|0);gc=b[f+256>>1]|0;fc=b[f+768>>1]|0;kc=b[f+1280>>1]|0;n=b[f+1792>>1]|0;wc=(r(fc,bb)|0)+(r(gc,ab)|0)+(r(kc,cb)|0)+(r(n,db)|0)|0;c[tc>>2]=wc;nc=(r(fc,fb)|0)+(r(gc,eb)|0)+(r(kc,gb)|0)+(r(n,hb)|0)|0;c[ib>>2]=nc;qc=(r(fc,kb)|0)+(r(gc,jb)|0)+(r(kc,lb)|0)+(r(n,mb)|0)|0;c[nb>>2]=qc;n=(r(fc,pb)|0)+(r(gc,ob)|0)+(r(kc,qb)|0)+(r(n,rb)|0)|0;c[sb>>2]=n;kc=b[f+512>>1]|0;gc=r(kc,D)|0;fc=b[f+1536>>1]|0;gc=(r(fc,E)|0)+gc|0;kc=(r(G,fc)|0)+(r(F,kc)|0)|0;fc=b[f>>1]|0;m=r(fc,H)|0;i=b[f+1024>>1]|0;m=(r(i,I)|0)+m|0;fc=(r(K,i)|0)+(r(J,fc)|0)|0;i=m+gc|0;gc=m-gc|0;m=fc+kc|0;kc=fc-kc|0;wc=wc+i|0;fc=gc-n|0;oc=nc+m|0;jc=kc-qc|0;kc=qc+kc|0;nc=m-nc|0;gc=n+gc|0;i=i-(c[tc>>2]|0)|0;n=c[sc>>2]|0;m=n+wc|0;c[uc>>2]=m;qc=c[$a>>2]|0;c[tb>>2]=i-qc;pc=c[$>>2]|0;c[ub>>2]=pc+oc;mc=c[Sa>>2]|0;c[vb>>2]=nc-mc;lc=c[ia>>2]|0;c[wb>>2]=lc+kc;ic=c[Ja>>2]|0;c[xb>>2]=jc-ic;hc=c[ra>>2]|0;c[yb>>2]=hc+gc;ec=c[Aa>>2]|0;c[zb>>2]=fc-ec;c[Ab>>2]=ec+fc;c[Bb>>2]=gc-hc;c[Cb>>2]=ic+jc;c[Db>>2]=kc-lc;c[Eb>>2]=mc+nc;c[Fb>>2]=oc-pc;c[Gb>>2]=qc+i;c[Hb>>2]=wc-n;n=0;while(1){wc=(c[rc+(n<<2)>>2]|0)+m|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+n>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+n>>0]=(wc|0)<255?wc:255;wc=15-n|0;wc=(c[uc+(wc<<2)>>2]|0)-(c[rc+(wc<<2)>>2]|0)|0;m=n+16|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+m>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+m>>0]=(wc|0)<255?wc:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}C=C+1|0;if((C|0)==32)break;else{f=f+2|0;g=g+j|0;h=h+k|0}}Sb=vc;return}function tf(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;fa=Sb;Sb=Sb+32|0;ea=fa+16|0;da=fa;$=(l&240|0)==240;Z=$?4:8;_=i*3|0;if((m&240|0)==240){t=b[16848]|0;u=i<<1;v=b[16849]|0;w=b[16832]|0;x=b[16833]|0;O=ea+12|0;P=ea+4|0;Q=ea+8|0;y=b[16840]|0;z=b[16856]|0;A=b[16841]|0;B=b[16857]|0;C=da+4|0;D=b[16842]|0;E=b[16858]|0;F=da+8|0;G=b[16843]|0;H=b[16859]|0;I=da+12|0;q=f;s=0;n=c[Q>>2]|0;p=c[P>>2]|0;o=c[O>>2]|0;m=c[ea>>2]|0;while(1){if(!(l&1)){ca=b[e+(i<<1)>>1]|0;n=b[e+(_<<1)>>1]|0;Y=(r(n,z)|0)+(r(ca,y)|0)|0;c[da>>2]=Y;ba=(r(n,B)|0)+(r(ca,A)|0)|0;c[C>>2]=ba;aa=(r(n,E)|0)+(r(ca,D)|0)|0;c[F>>2]=aa;ca=(r(n,H)|0)+(r(ca,G)|0)|0;c[I>>2]=ca;n=b[e+(u<<1)>>1]|0;o=r(n,t)|0;n=r(v,n)|0;X=b[e>>1]|0;p=r(X,w)|0;X=r(x,X)|0;m=p+o|0;o=p-o|0;p=X+n|0;n=X-n|0;Y=Y+m|0;b[q>>1]=(Y|0)>4194239?32767:(Y|0)<-4194368?-32768:(Y+64|0)>>>7&65535;Y=o-ca|0;b[q+8>>1]=(Y|0)>4194239?32767:(Y|0)<-4194368?-32768:(Y+64|0)>>>7&65535;Y=ba+p|0;b[q+2>>1]=(Y|0)>4194239?32767:(Y|0)<-4194368?-32768:(Y+64|0)>>>7&65535;Y=n-aa|0;b[q+10>>1]=(Y|0)>4194239?32767:(Y|0)<-4194368?-32768:(Y+64|0)>>>7&65535;aa=aa+n|0;b[q+4>>1]=(aa|0)>4194239?32767:(aa|0)<-4194368?-32768:(aa+64|0)>>>7&65535;ba=p-ba|0;b[q+12>>1]=(ba|0)>4194239?32767:(ba|0)<-4194368?-32768:(ba+64|0)>>>7&65535;ca=ca+o|0;b[q+6>>1]=(ca|0)>4194239?32767:(ca|0)<-4194368?-32768:(ca+64|0)>>>7&65535;ca=m-(c[da>>2]|0)|0;b[q+14>>1]=(ca|0)>4194239?32767:(ca|0)<-4194368?-32768:(ca+64|0)>>>7&65535}else{b[q>>1]=0;b[q+2>>1]=0;b[q+4>>1]=0;b[q+6>>1]=0;b[q+8>>1]=0;b[q+10>>1]=0;b[q+12>>1]=0;b[q+14>>1]=0}s=s+1|0;if(s>>>0>=Z>>>0)break;else{e=e+2|0;q=q+16|0;l=l>>1}}c[ea>>2]=m;c[O>>2]=o;c[P>>2]=p;c[Q>>2]=n;N=b[16848]|0;if($){o=b[16849]|0;p=b[16832]|0;l=b[16833]|0;e=b[16840]|0;q=b[16856]|0;s=b[16841]|0;t=b[16857]|0;u=da+4|0;v=b[16842]|0;w=b[16858]|0;x=da+8|0;y=b[16843]|0;z=b[16859]|0;A=da+12|0;m=f;n=0;while(1){ba=b[m+16>>1]|0;$=b[m+48>>1]|0;ca=(r($,q)|0)+(r(ba,e)|0)|0;c[da>>2]=ca;c[u>>2]=(r($,t)|0)+(r(ba,s)|0);c[x>>2]=(r($,w)|0)+(r(ba,v)|0);c[A>>2]=(r($,z)|0)+(r(ba,y)|0);ba=b[m+32>>1]|0;$=r(ba,N)|0;ba=r(o,ba)|0;aa=b[m>>1]|0;i=r(aa,p)|0;aa=r(l,aa)|0;f=i+$|0;c[ea>>2]=f;c[O>>2]=i-$;c[P>>2]=aa+ba;c[Q>>2]=aa-ba;f=ca+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[O>>2]|0)-(c[A>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[u>>2]|0)+(c[P>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[Q>>2]|0)-(c[x>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[x>>2]|0)+(c[Q>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[P>>2]|0)-(c[u>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[A>>2]|0)+(c[O>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[ea>>2]|0)-(c[da>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;n=n+1|0;if((n|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=fa;return}else{o=b[16880]|0;p=b[16849]|0;l=b[16881]|0;e=b[16832]|0;q=b[16864]|0;s=b[16833]|0;t=b[16865]|0;u=b[16840]|0;v=b[16856]|0;w=b[16872]|0;x=b[16888]|0;y=b[16841]|0;z=b[16857]|0;A=b[16873]|0;B=b[16889]|0;C=da+4|0;D=b[16842]|0;E=b[16858]|0;F=b[16874]|0;G=b[16890]|0;H=da+8|0;I=b[16843]|0;J=b[16859]|0;K=b[16875]|0;L=b[16891]|0;M=da+12|0;n=0;m=f;while(1){aa=b[m+16>>1]|0;i=b[m+48>>1]|0;$=b[m+80>>1]|0;ba=b[m+112>>1]|0;ca=(r(i,v)|0)+(r(aa,u)|0)+(r($,w)|0)+(r(ba,x)|0)|0;c[da>>2]=ca;c[C>>2]=(r(i,z)|0)+(r(aa,y)|0)+(r($,A)|0)+(r(ba,B)|0);c[H>>2]=(r(i,E)|0)+(r(aa,D)|0)+(r($,F)|0)+(r(ba,G)|0);c[M>>2]=(r(i,J)|0)+(r(aa,I)|0)+(r($,K)|0)+(r(ba,L)|0);ba=b[m+32>>1]|0;$=r(ba,N)|0;aa=b[m+96>>1]|0;$=(r(aa,o)|0)+$|0;ba=(r(l,aa)|0)+(r(p,ba)|0)|0;aa=b[m>>1]|0;i=r(aa,e)|0;f=b[m+64>>1]|0;i=(r(f,q)|0)+i|0;aa=(r(t,f)|0)+(r(s,aa)|0)|0;f=i+$|0;c[ea>>2]=f;c[O>>2]=i-$;c[P>>2]=aa+ba;c[Q>>2]=aa-ba;f=ca+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[O>>2]|0)-(c[M>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[C>>2]|0)+(c[P>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[Q>>2]|0)-(c[H>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[H>>2]|0)+(c[Q>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[P>>2]|0)-(c[C>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[M>>2]|0)+(c[O>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[ea>>2]|0)-(c[da>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;n=n+1|0;if((n|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=fa;return}}else{t=i*5|0;u=i*7|0;v=b[16848]|0;w=i<<1;x=b[16880]|0;y=i*6|0;z=b[16849]|0;A=b[16881]|0;B=b[16832]|0;C=b[16864]|0;D=i<<2;E=b[16833]|0;F=b[16865]|0;aa=ea+12|0;ba=ea+4|0;ca=ea+8|0;G=b[16840]|0;H=b[16856]|0;I=b[16872]|0;J=b[16888]|0;K=b[16841]|0;L=b[16857]|0;M=b[16873]|0;N=b[16889]|0;O=da+4|0;P=b[16842]|0;Q=b[16858]|0;R=b[16874]|0;S=b[16890]|0;T=da+8|0;U=b[16843]|0;V=b[16859]|0;W=b[16875]|0;X=b[16891]|0;Y=da+12|0;q=0;s=f;n=c[ca>>2]|0;p=c[ba>>2]|0;o=c[aa>>2]|0;m=c[ea>>2]|0;while(1){if(!(l&1)){o=b[e+(i<<1)>>1]|0;ka=b[e+(_<<1)>>1]|0;n=b[e+(t<<1)>>1]|0;ga=b[e+(u<<1)>>1]|0;ja=(r(ka,H)|0)+(r(o,G)|0)+(r(n,I)|0)+(r(ga,J)|0)|0;c[da>>2]=ja;ia=(r(ka,L)|0)+(r(o,K)|0)+(r(n,M)|0)+(r(ga,N)|0)|0;c[O>>2]=ia;ha=(r(ka,Q)|0)+(r(o,P)|0)+(r(n,R)|0)+(r(ga,S)|0)|0;c[T>>2]=ha;ga=(r(ka,V)|0)+(r(o,U)|0)+(r(n,W)|0)+(r(ga,X)|0)|0;c[Y>>2]=ga;n=b[e+(w<<1)>>1]|0;o=r(n,v)|0;ka=b[e+(y<<1)>>1]|0;o=(r(ka,x)|0)+o|0;n=(r(A,ka)|0)+(r(z,n)|0)|0;ka=b[e>>1]|0;p=r(ka,B)|0;m=b[e+(D<<1)>>1]|0;p=(r(m,C)|0)+p|0;ka=(r(F,m)|0)+(r(E,ka)|0)|0;m=p+o|0;o=p-o|0;p=ka+n|0;n=ka-n|0;ja=ja+m|0;b[s>>1]=(ja|0)>4194239?32767:(ja|0)<-4194368?-32768:(ja+64|0)>>>7&65535;ja=o-ga|0;b[s+8>>1]=(ja|0)>4194239?32767:(ja|0)<-4194368?-32768:(ja+64|0)>>>7&65535;ia=ia+p|0;b[s+2>>1]=(ia|0)>4194239?32767:(ia|0)<-4194368?-32768:(ia+64|0)>>>7&65535;ia=n-ha|0;b[s+10>>1]=(ia|0)>4194239?32767:(ia|0)<-4194368?-32768:(ia+64|0)>>>7&65535;ha=ha+n|0;b[s+4>>1]=(ha|0)>4194239?32767:(ha|0)<-4194368?-32768:(ha+64|0)>>>7&65535;ha=p-(c[O>>2]|0)|0;b[s+12>>1]=(ha|0)>4194239?32767:(ha|0)<-4194368?-32768:(ha+64|0)>>>7&65535;ga=ga+o|0;b[s+6>>1]=(ga|0)>4194239?32767:(ga|0)<-4194368?-32768:(ga+64|0)>>>7&65535;ga=m-(c[da>>2]|0)|0;b[s+14>>1]=(ga|0)>4194239?32767:(ga|0)<-4194368?-32768:(ga+64|0)>>>7&65535}else{b[s>>1]=0;b[s+2>>1]=0;b[s+4>>1]=0;b[s+6>>1]=0;b[s+8>>1]=0;b[s+10>>1]=0;b[s+12>>1]=0;b[s+14>>1]=0}q=q+1|0;if(q>>>0>=Z>>>0)break;else{l=l>>1;e=e+2|0;s=s+16|0}}c[ea>>2]=m;c[aa>>2]=o;c[ba>>2]=p;c[ca>>2]=n;N=b[16848]|0;if($){o=b[16849]|0;p=b[16832]|0;l=b[16833]|0;e=b[16840]|0;q=b[16856]|0;s=b[16841]|0;t=b[16857]|0;u=da+4|0;v=b[16842]|0;w=b[16858]|0;x=da+8|0;y=b[16843]|0;z=b[16859]|0;A=da+12|0;n=0;m=f;while(1){ia=b[m+16>>1]|0;ga=b[m+48>>1]|0;ja=(r(ga,q)|0)+(r(ia,e)|0)|0;c[da>>2]=ja;c[u>>2]=(r(ga,t)|0)+(r(ia,s)|0);c[x>>2]=(r(ga,w)|0)+(r(ia,v)|0);c[A>>2]=(r(ga,z)|0)+(r(ia,y)|0);ia=b[m+32>>1]|0;ga=r(ia,N)|0;ia=r(o,ia)|0;ha=b[m>>1]|0;f=r(ha,p)|0;ha=r(l,ha)|0;ka=f+ga|0;c[ea>>2]=ka;c[aa>>2]=f-ga;c[ba>>2]=ha+ia;c[ca>>2]=ha-ia;ka=ja+ka|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h>>0]=(ka|0)<255?ka:255;ka=(c[aa>>2]|0)-(c[A>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+4>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+4>>0]=(ka|0)<255?ka:255;ka=(c[u>>2]|0)+(c[ba>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+1>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+1>>0]=(ka|0)<255?ka:255;ka=(c[ca>>2]|0)-(c[x>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+5>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+5>>0]=(ka|0)<255?ka:255;ka=(c[x>>2]|0)+(c[ca>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+2>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+2>>0]=(ka|0)<255?ka:255;ka=(c[ba>>2]|0)-(c[u>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+6>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+6>>0]=(ka|0)<255?ka:255;ka=(c[A>>2]|0)+(c[aa>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+3>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+3>>0]=(ka|0)<255?ka:255;ka=(c[ea>>2]|0)-(c[da>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+7>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+7>>0]=(ka|0)<255?ka:255;n=n+1|0;if((n|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=fa;return}else{o=b[16880]|0;p=b[16849]|0;l=b[16881]|0;e=b[16832]|0;q=b[16864]|0;s=b[16833]|0;t=b[16865]|0;u=b[16840]|0;v=b[16856]|0;w=b[16872]|0;x=b[16888]|0;y=b[16841]|0;z=b[16857]|0;A=b[16873]|0;B=b[16889]|0;C=da+4|0;D=b[16842]|0;E=b[16858]|0;F=b[16874]|0;G=b[16890]|0;H=da+8|0;I=b[16843]|0;J=b[16859]|0;K=b[16875]|0;L=b[16891]|0;M=da+12|0;n=0;m=f;while(1){ha=b[m+16>>1]|0;f=b[m+48>>1]|0;ga=b[m+80>>1]|0;ia=b[m+112>>1]|0;ja=(r(f,v)|0)+(r(ha,u)|0)+(r(ga,w)|0)+(r(ia,x)|0)|0;c[da>>2]=ja;c[C>>2]=(r(f,z)|0)+(r(ha,y)|0)+(r(ga,A)|0)+(r(ia,B)|0);c[H>>2]=(r(f,E)|0)+(r(ha,D)|0)+(r(ga,F)|0)+(r(ia,G)|0);c[M>>2]=(r(f,J)|0)+(r(ha,I)|0)+(r(ga,K)|0)+(r(ia,L)|0);ia=b[m+32>>1]|0;ga=r(ia,N)|0;ha=b[m+96>>1]|0;ga=(r(ha,o)|0)+ga|0;ia=(r(l,ha)|0)+(r(p,ia)|0)|0;ha=b[m>>1]|0;f=r(ha,e)|0;ka=b[m+64>>1]|0;f=(r(ka,q)|0)+f|0;ha=(r(t,ka)|0)+(r(s,ha)|0)|0;ka=f+ga|0;c[ea>>2]=ka;c[aa>>2]=f-ga;c[ba>>2]=ha+ia;c[ca>>2]=ha-ia;ka=ja+ka|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h>>0]=(ka|0)<255?ka:255;ka=(c[aa>>2]|0)-(c[M>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+4>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+4>>0]=(ka|0)<255?ka:255;ka=(c[C>>2]|0)+(c[ba>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+1>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+1>>0]=(ka|0)<255?ka:255;ka=(c[ca>>2]|0)-(c[H>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+5>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+5>>0]=(ka|0)<255?ka:255;ka=(c[H>>2]|0)+(c[ca>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+2>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+2>>0]=(ka|0)<255?ka:255;ka=(c[ba>>2]|0)-(c[C>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+6>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+6>>0]=(ka|0)<255?ka:255;ka=(c[M>>2]|0)+(c[aa>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+3>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+3>>0]=(ka|0)<255?ka:255;ka=(c[ea>>2]|0)-(c[da>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+7>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+7>>0]=(ka|0)<255?ka:255;n=n+1|0;if((n|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=fa;return}}}function uf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(!d)return;e=0;while(1){b[a>>1]=c;e=e+1|0;if((e|0)==(d|0))break;else a=a+2|0}return}function vf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((d|0)<1)return;e=0-b|0;b=1;while(1){Sk(a+(r(b,e)|0)|0,a|0,c|0)|0;if((b|0)==(d|0))break;else b=b+1|0}return}function wf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;if((d|0)<1)return;f=a+(0-b)|0;e=1;while(1){Sk(a+(r(e+-1|0,b)|0)|0,f|0,c|0)|0;if((e|0)==(d|0))break;else e=e+1|0}return}function xf(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((d|0)<=0)return;g=0-e|0;f=0;while(1){Uk(b+g|0,a[b>>0]|0,e|0)|0;f=f+1|0;if((f|0)==(d|0))break;else b=b+c|0}return}function yf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c>>1;if((d|0)<=0)return;h=0-(e>>1)|0;if((e|0)<=1)return;f=0;e=a;while(1){a=b[e>>1]|0;c=h;while(1){b[e+(c<<1)>>1]=a;if((c|0)<-1)c=c+1|0;else break}f=f+1|0;if((f|0)==(d|0))break;else e=e+(g<<1)|0}return}function zf(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;if((d|0)<=0)return;f=0;while(1){Uk(b|0,a[b+-1>>0]|0,e|0)|0;f=f+1|0;if((f|0)==(d|0))break;else b=b+c|0}return}function Af(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c>>1;h=e>>1;if(!((d|0)>0&(e|0)>1))return;f=0;e=a;while(1){a=b[e+-2>>1]|0;c=0;do{b[e+(c<<1)>>1]=a;c=c+1|0}while((c|0)<(h|0));f=f+1|0;if((f|0)==(d|0))break;else e=e+(g<<1)|0}return}function Bf(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;if(!(j&1)){k=(d[e>>0]|0)+(b[c>>1]|0)|0;k=(k|0)>0?k:0;a[f>>0]=(k|0)<255?k:255;k=(d[e+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+i>>0]=(k|0)<255?k:255;k=(d[e+(h<<1)>>0]|0)+(b[c+(g<<1<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+(i<<1)>>0]=(k|0)<255?k:255;k=(d[e+(h*3|0)>>0]|0)+(b[c+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[f>>0]=a[e>>0]|0;a[f+i>>0]=a[e+h>>0]|0;a[f+(i<<1)>>0]=a[e+(h<<1)>>0]|0;k=a[e+(h*3|0)>>0]|0}a[f+(i*3|0)>>0]=k;k=c+2|0;m=f+1|0;l=e+1|0;if(!(j&2)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;k=c+4|0;m=f+2|0;l=e+2|0;if(!(j&4)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;m=c+6|0;l=f+3|0;k=e+3|0;if(!(j&8)){j=(d[k>>0]|0)+(b[m>>1]|0)|0;j=(j|0)>0?j:0;a[l>>0]=(j|0)<255?j:255;j=(d[k+h>>0]|0)+(b[m+(g<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+i>>0]=(j|0)<255?j:255;j=(d[k+(h<<1)>>0]|0)+(b[m+(g<<1<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+(i<<1)>>0]=(j|0)<255?j:255;j=(d[k+(h*3|0)>>0]|0)+(b[m+(g*3<<1)>>1]|0)|0;j=(j|0)>0?j:0;j=((j|0)<255?j:255)&255;n=i*3|0;n=l+n|0;a[n>>0]=j;return}else{a[l>>0]=a[k>>0]|0;a[l+i>>0]=a[k+h>>0]|0;a[l+(i<<1)>>0]=a[k+(h<<1)>>0]|0;j=a[k+(h*3|0)>>0]|0;n=i*3|0;n=l+n|0;a[n>>0]=j;return}}function Cf(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;if(!(j&1)){k=(d[e>>0]|0)+(b[c>>1]|0)|0;k=(k|0)>0?k:0;a[f>>0]=(k|0)<255?k:255;k=(d[e+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+i>>0]=(k|0)<255?k:255;k=(d[e+(h<<1)>>0]|0)+(b[c+(g<<1<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+(i<<1)>>0]=(k|0)<255?k:255;k=(d[e+(h*3|0)>>0]|0)+(b[c+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[f>>0]=a[e>>0]|0;a[f+i>>0]=a[e+h>>0]|0;a[f+(i<<1)>>0]=a[e+(h<<1)>>0]|0;k=a[e+(h*3|0)>>0]|0}a[f+(i*3|0)>>0]=k;k=c+2|0;m=f+1|0;l=e+1|0;if(!(j&2)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;k=c+4|0;m=f+2|0;l=e+2|0;if(!(j&4)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;m=c+6|0;l=f+3|0;k=e+3|0;if(!(j&8)){j=(d[k>>0]|0)+(b[m>>1]|0)|0;j=(j|0)>0?j:0;a[l>>0]=(j|0)<255?j:255;j=(d[k+h>>0]|0)+(b[m+(g<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+i>>0]=(j|0)<255?j:255;j=(d[k+(h<<1)>>0]|0)+(b[m+(g<<1<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+(i<<1)>>0]=(j|0)<255?j:255;j=(d[k+(h*3|0)>>0]|0)+(b[m+(g*3<<1)>>1]|0)|0;j=(j|0)>0?j:0;j=((j|0)<255?j:255)&255;n=i*3|0;n=l+n|0;a[n>>0]=j;return}else{a[l>>0]=a[k>>0]|0;a[l+i>>0]=a[k+h>>0]|0;a[l+(i<<1)>>0]=a[k+(h<<1)>>0]|0;j=a[k+(h*3|0)>>0]|0;n=i*3|0;n=l+n|0;a[n>>0]=j;return}}function Df(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;M=g<<1;N=h<<1;O=i<<1;n=g*3|0;o=h*3|0;p=i*3|0;q=g<<2;r=h<<2;s=i<<2;t=g*5|0;u=h*5|0;v=i*5|0;w=g*6|0;x=h*6|0;y=i*6|0;z=g*7|0;A=h*7|0;B=h<<1;C=i<<1;D=h*3|0;E=i*3|0;F=h<<2;G=i<<2;H=h*5|0;I=i*5|0;J=h*6|0;K=i*6|0;L=h*7|0;m=i*7|0;l=0;k=e;while(1){if(!(j&1)){e=(d[k>>0]|0)+(b[c>>1]|0)|0;e=(e|0)>0?e:0;a[f>>0]=(e|0)<255?e:255;e=(d[k+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+i>>0]=(e|0)<255?e:255;e=(d[k+N>>0]|0)+(b[c+(M<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+O>>0]=(e|0)<255?e:255;e=(d[k+o>>0]|0)+(b[c+(n<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+p>>0]=(e|0)<255?e:255;e=(d[k+r>>0]|0)+(b[c+(q<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+s>>0]=(e|0)<255?e:255;e=(d[k+u>>0]|0)+(b[c+(t<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+v>>0]=(e|0)<255?e:255;e=(d[k+x>>0]|0)+(b[c+(w<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+y>>0]=(e|0)<255?e:255;e=(d[k+A>>0]|0)+(b[c+(z<<1)>>1]|0)|0;e=(e|0)>0?e:0;e=((e|0)<255?e:255)&255}else{a[f>>0]=a[k>>0]|0;a[f+i>>0]=a[k+h>>0]|0;a[f+C>>0]=a[k+B>>0]|0;a[f+E>>0]=a[k+D>>0]|0;a[f+G>>0]=a[k+F>>0]|0;a[f+I>>0]=a[k+H>>0]|0;a[f+K>>0]=a[k+J>>0]|0;e=a[k+L>>0]|0}a[f+m>>0]=e;l=l+1|0;if((l|0)==8)break;else{j=j>>1;k=k+1|0;f=f+1|0;c=c+2|0}}return}function Ef(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;ta=g<<1;za=h<<1;Aa=i<<1;n=g*3|0;o=h*3|0;p=i*3|0;q=g<<2;r=h<<2;s=i<<2;t=g*5|0;u=h*5|0;v=i*5|0;w=g*6|0;x=h*6|0;y=i*6|0;z=g*7|0;A=h*7|0;B=i*7|0;C=g<<3;D=h<<3;E=i<<3;F=g*9|0;G=h*9|0;H=i*9|0;I=g*10|0;J=h*10|0;K=i*10|0;L=g*11|0;M=h*11|0;N=i*11|0;O=g*12|0;P=h*12|0;Q=i*12|0;R=g*13|0;S=h*13|0;T=i*13|0;U=g*14|0;V=h*14|0;W=i*14|0;X=g*15|0;Y=h*15|0;Z=h<<1;_=i<<1;$=h*3|0;aa=i*3|0;ba=h<<2;ca=i<<2;da=h*5|0;ea=i*5|0;fa=h*6|0;ga=i*6|0;ha=h*7|0;ia=i*7|0;ja=h<<3;ka=i<<3;la=h*9|0;ma=i*9|0;na=h*10|0;oa=i*10|0;pa=h*11|0;qa=i*11|0;ra=h*12|0;sa=i*12|0;ua=h*13|0;va=i*13|0;wa=h*14|0;xa=i*14|0;ya=h*15|0;m=i*15|0;l=0;k=e;while(1){if(!(j&1)){e=(d[k>>0]|0)+(b[c>>1]|0)|0;e=(e|0)>0?e:0;a[f>>0]=(e|0)<255?e:255;e=(d[k+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+i>>0]=(e|0)<255?e:255;e=(d[k+za>>0]|0)+(b[c+(ta<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+Aa>>0]=(e|0)<255?e:255;e=(d[k+o>>0]|0)+(b[c+(n<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+p>>0]=(e|0)<255?e:255;e=(d[k+r>>0]|0)+(b[c+(q<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+s>>0]=(e|0)<255?e:255;e=(d[k+u>>0]|0)+(b[c+(t<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+v>>0]=(e|0)<255?e:255;e=(d[k+x>>0]|0)+(b[c+(w<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+y>>0]=(e|0)<255?e:255;e=(d[k+A>>0]|0)+(b[c+(z<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+B>>0]=(e|0)<255?e:255;e=(d[k+D>>0]|0)+(b[c+(C<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+E>>0]=(e|0)<255?e:255;e=(d[k+G>>0]|0)+(b[c+(F<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+H>>0]=(e|0)<255?e:255;e=(d[k+J>>0]|0)+(b[c+(I<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+K>>0]=(e|0)<255?e:255;e=(d[k+M>>0]|0)+(b[c+(L<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+N>>0]=(e|0)<255?e:255;e=(d[k+P>>0]|0)+(b[c+(O<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+Q>>0]=(e|0)<255?e:255;e=(d[k+S>>0]|0)+(b[c+(R<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+T>>0]=(e|0)<255?e:255;e=(d[k+V>>0]|0)+(b[c+(U<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+W>>0]=(e|0)<255?e:255;e=(d[k+Y>>0]|0)+(b[c+(X<<1)>>1]|0)|0;e=(e|0)>0?e:0;e=((e|0)<255?e:255)&255}else{a[f>>0]=a[k>>0]|0;a[f+i>>0]=a[k+h>>0]|0;a[f+_>>0]=a[k+Z>>0]|0;a[f+aa>>0]=a[k+$>>0]|0;a[f+ca>>0]=a[k+ba>>0]|0;a[f+ea>>0]=a[k+da>>0]|0;a[f+ga>>0]=a[k+fa>>0]|0;a[f+ia>>0]=a[k+ha>>0]|0;a[f+ka>>0]=a[k+ja>>0]|0;a[f+ma>>0]=a[k+la>>0]|0;a[f+oa>>0]=a[k+na>>0]|0;a[f+qa>>0]=a[k+pa>>0]|0;a[f+sa>>0]=a[k+ra>>0]|0;a[f+va>>0]=a[k+ua>>0]|0;a[f+xa>>0]=a[k+wa>>0]|0;e=a[k+ya>>0]|0}a[f+m>>0]=e;l=l+1|0;if((l|0)==16)break;else{j=j>>1;k=k+1|0;f=f+1|0;c=c+2|0}}return}function Ff(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0;qa=h<<1;ra=i<<1;sa=h*3|0;m=i*3|0;n=h<<2;o=i<<2;p=h*5|0;q=i*5|0;s=h*6|0;t=i*6|0;u=h*7|0;v=i*7|0;w=h<<3;x=i<<3;y=h*9|0;z=i*9|0;A=h*10|0;B=i*10|0;C=h*11|0;D=i*11|0;E=h*12|0;F=i*12|0;G=h*13|0;H=i*13|0;I=h*14|0;J=i*14|0;K=h*15|0;L=i*15|0;M=h<<4;N=i<<4;O=h*17|0;P=i*17|0;Q=h*18|0;R=i*18|0;S=h*19|0;T=i*19|0;U=h*20|0;V=i*20|0;W=h*21|0;X=i*21|0;Y=h*22|0;Z=i*22|0;_=h*23|0;$=i*23|0;aa=h*24|0;ba=i*24|0;ca=h*25|0;da=i*25|0;ea=h*26|0;fa=i*26|0;ga=h*27|0;ha=i*27|0;ia=h*28|0;ja=i*28|0;ka=h*29|0;la=i*29|0;ma=h*30|0;na=i*30|0;oa=h*31|0;pa=i*31|0;l=0;k=e;while(1){if(!(j&1)){e=0;do{ta=b[c+((r(e,g)|0)<<1)>>1]|0;ta=(d[k+(r(e,h)|0)>>0]|0)+ta|0;ta=(ta|0)>0?ta:0;a[f+(r(e,i)|0)>>0]=(ta|0)<255?ta:255;e=e+1|0}while((e|0)!=32)}else{a[f>>0]=a[k>>0]|0;a[f+i>>0]=a[k+h>>0]|0;a[f+ra>>0]=a[k+qa>>0]|0;a[f+m>>0]=a[k+sa>>0]|0;a[f+o>>0]=a[k+n>>0]|0;a[f+q>>0]=a[k+p>>0]|0;a[f+t>>0]=a[k+s>>0]|0;a[f+v>>0]=a[k+u>>0]|0;a[f+x>>0]=a[k+w>>0]|0;a[f+z>>0]=a[k+y>>0]|0;a[f+B>>0]=a[k+A>>0]|0;a[f+D>>0]=a[k+C>>0]|0;a[f+F>>0]=a[k+E>>0]|0;a[f+H>>0]=a[k+G>>0]|0;a[f+J>>0]=a[k+I>>0]|0;a[f+L>>0]=a[k+K>>0]|0;a[f+N>>0]=a[k+M>>0]|0;a[f+P>>0]=a[k+O>>0]|0;a[f+R>>0]=a[k+Q>>0]|0;a[f+T>>0]=a[k+S>>0]|0;a[f+V>>0]=a[k+U>>0]|0;a[f+X>>0]=a[k+W>>0]|0;a[f+Z>>0]=a[k+Y>>0]|0;a[f+$>>0]=a[k+_>>0]|0;a[f+ba>>0]=a[k+aa>>0]|0;a[f+da>>0]=a[k+ca>>0]|0;a[f+fa>>0]=a[k+ea>>0]|0;a[f+ha>>0]=a[k+ga>>0]|0;a[f+ja>>0]=a[k+ia>>0]|0;a[f+la>>0]=a[k+ka>>0]|0;a[f+na>>0]=a[k+ma>>0]|0;a[f+pa>>0]=a[k+oa>>0]|0}l=l+1|0;if((l|0)==32)break;else{j=j>>1;k=k+1|0;f=f+1|0;c=c+2|0}}return}function Gf(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0;q=Sb;Sb=Sb+128|0;p=q;o=(l|0)>0;n=k+-1|0;if(o){m=0;do{a[f+m>>0]=a[b+(n+(r(m,e)|0))>>0]|0;m=m+1|0}while((m|0)!=(l|0))}a[h>>0]=a[g+n>>0]|0;f=(k|0)>0;if(f){n=r(l+-1|0,e)|0;m=0;do{a[g+m>>0]=a[b+(m+n)>>0]|0;m=m+1|0}while((m|0)!=(k|0))}m=p;n=m+128|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));c[p+((i&31)<<2)>>2]=1;c[p+((i+1&31)<<2)>>2]=2;c[p+((i+2&31)<<2)>>2]=3;c[p+((i+3&31)<<2)>>2]=4;if(!(o&f)){Sb=q;return}m=0;while(1){n=0;do{i=b+n|0;o=d[i>>0]|0;o=(a[j+(c[p+(o>>>3<<2)>>2]|0)>>0]|0)+o|0;o=(o|0)>0?o:0;a[i>>0]=(o|0)<255?o:255;n=n+1|0}while((n|0)!=(k|0));m=m+1|0;if((m|0)==(l|0))break;else b=b+e|0}Sb=q;return}function Hf(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;v=Sb;Sb=Sb+256|0;t=v+128|0;u=v;s=(n|0)>0;p=m+-2|0;q=m+-1|0;if(s){o=0;do{x=r(o,e)|0;w=o<<1;a[f+w>>0]=a[b+(p+x)>>0]|0;a[f+(w|1)>>0]=a[b+(q+x)>>0]|0;o=o+1|0}while((o|0)!=(n|0))}a[h>>0]=a[g+p>>0]|0;a[h+1>>0]=a[g+q>>0]|0;q=(m|0)>0;if(q){p=r(n+-1|0,e)|0;o=0;do{a[g+o>>0]=a[b+(o+p)>>0]|0;o=o+1|0}while((o|0)!=(m|0))}o=t;p=o+128|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=u;p=o+128|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));c[t+((i&31)<<2)>>2]=1;c[u+((j&31)<<2)>>2]=1;c[t+((i+1&31)<<2)>>2]=2;c[u+((j+1&31)<<2)>>2]=2;c[t+((i+2&31)<<2)>>2]=3;c[u+((j+2&31)<<2)>>2]=3;c[t+((i+3&31)<<2)>>2]=4;c[u+((j+3&31)<<2)>>2]=4;if(!(s&q)){Sb=v;return}p=0;while(1){o=0;do{j=(o&1|0)==0;x=b+o|0;w=d[x>>0]|0;w=(a[(j?k:l)+(c[(j?t:u)+(w>>>3<<2)>>2]|0)>>0]|0)+w|0;w=(w|0)>0?w:0;a[x>>0]=(w|0)<255?w:255;o=o+1|0}while((o|0)!=(m|0));p=p+1|0;if((p|0)==(n|0))break;else b=b+e|0}Sb=v;return}function If(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,s=0,t=0,u=0;u=Sb;Sb=Sb+128|0;s=u+64|0;t=u;i=s;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));o=m+-1|0;a[h>>0]=a[g+o>>0]|0;q=(n|0)>0;if(q){i=0;do{a[t+i>>0]=a[b+(o+(r(i,e)|0))>>0]|0;i=i+1|0}while((i|0)!=(n|0))}j=(m|0)>0;if(j){h=r(n+-1|0,e)|0;i=0;do{a[g+i>>0]=a[b+(i+h)>>0]|0;i=i+1|0}while((i|0)!=(m|0))}if(!(a[k>>0]|0))a[s>>0]=0;if(!(a[k+1>>0]|0))a[s+o>>0]=0;if(!q){Sb=u;return}if(j){j=b;b=0;while(1){k=a[j>>0]|0;i=(k&255)-(d[f+b>>0]|0)|0;i=(i|0)>-1?(i|0)!=0&1:-1;h=0;while(1){g=k&255;o=h;h=h+1|0;k=a[j+h>>0]|0;p=g-(k&255)|0;p=(p|0)>-1?(p|0)!=0&1:-1;i=c[33568+(i+2+p<<2)>>2]&d[s+o>>0];if(i|0){g=(a[l+i>>0]|0)+g|0;g=(g|0)>0?g:0;a[j+o>>0]=(g|0)<255?g:255}if((h|0)==(m|0))break;else i=0-p|0}b=b+1|0;if((b|0)==(n|0))break;else j=j+e|0}if(!q){Sb=u;return}}Sk(f|0,t|0,n|0)|0;Sb=u;return}function Jf(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=Sb;Sb=Sb+192|0;w=y+128|0;x=y;i=w;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));a[h>>0]=a[g+(n+-2)>>0]|0;p=n+-1|0;a[h+1>>0]=a[g+p>>0]|0;v=(o|0)>0;if(v){i=0;do{t=(r(i,e)|0)+n|0;u=i<<1;a[x+u>>0]=a[b+(t+-2)>>0]|0;a[x+(u|1)>>0]=a[b+(t+-1)>>0]|0;i=i+1|0}while((i|0)!=(o|0))}j=(n|0)>0;if(j){h=r(o+-1|0,e)|0;i=0;do{a[g+i>>0]=a[b+(i+h)>>0]|0;i=i+1|0}while((i|0)!=(n|0))}if(!(a[k>>0]|0))a[w>>0]=0;if(!(a[k+1>>0]|0))a[w+(p>>1)>>0]=0;if(!v){Sb=y;return}if(j){s=b;u=0;while(1){i=a[s>>0]|0;p=u<<1;b=(i&255)-(d[f+p>>0]|0)|0;p=(d[s+1>>0]|0)-(d[f+(p|1)>>0]|0)|0;p=(p|0)>-1?(p|0)!=0&1:-1;b=(b|0)>-1?(b|0)!=0&1:-1;t=0;while(1){g=i&255;j=g-(d[s+(t+2)>>0]|0)|0;j=(j|0)>-1?(j|0)!=0&1:-1;if(!(t&1)){h=l;k=p;q=0-j&255;i=b<<24>>24}else{h=m;k=0-j&255;q=b;i=p<<24>>24}i=c[33568+(j+2+i<<2)>>2]&d[w+(t>>>1)>>0];if(i|0){g=(a[h+i>>0]|0)+g|0;g=(g|0)>0?g:0;a[s+t>>0]=(g|0)<255?g:255}i=t+1|0;if((i|0)==(n|0))break;p=k;b=q;t=i;i=a[s+i>>0]|0}u=u+1|0;if((u|0)==(o|0))break;else s=s+e|0}if(!v){Sb=y;return}}m=o<<1;Sk(f|0,x|0,((m|0)>1?m:1)|0)|0;Sb=y;return}function Kf(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,s=0,t=0,u=0;t=Sb;Sb=Sb+192|0;p=t+128|0;q=t+64|0;s=t;i=p;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));j=m+-1|0;a[h>>0]=a[g+j>>0]|0;if((n|0)>0){i=0;do{a[f+i>>0]=a[b+(j+(r(i,e)|0))>>0]|0;i=i+1|0}while((i|0)!=(n|0))}o=(m|0)>0;if(o)Sk(q|0,b+(r(n+-1|0,e)|0)|0,m|0)|0;if(!(a[k+2>>0]|0)){h=b+e|0;i=n+-1|0;if(o){j=0;do{n=(d[h+j>>0]|0)-(d[b+j>>0]|0)|0;a[s+j>>0]=(n|0)>-1?(n|0)!=0&1:-1;j=j+1|0}while((j|0)!=(m|0))}}else if(o){i=0;do{f=(d[b+i>>0]|0)-(d[g+i>>0]|0)|0;a[s+i>>0]=(f|0)>-1?(f|0)!=0&1:-1;i=i+1|0}while((i|0)!=(m|0));h=b;i=n}else{h=b;i=n}b=i+(((a[k+3>>0]|0)==0)<<31>>31)|0;if((b|0)>0){if(!o){Sb=t;return}n=0;i=h;while(1){j=0;do{h=i+j|0;u=(d[h>>0]|0)-(d[i+(j+e)>>0]|0)|0;u=(u|0)>-1?(u|0)!=0&1:-1;k=s+j|0;f=(a[k>>0]|0)+2+u|0;a[k>>0]=0-u;f=c[33568+(f<<2)>>2]&d[p+j>>0];if(f|0){u=(a[l+f>>0]|0)+(d[h>>0]|0)|0;u=(u|0)>0?u:0;a[h>>0]=(u|0)<255?u:255}j=j+1|0}while((j|0)!=(m|0));n=n+1|0;if((n|0)==(b|0))break;else i=i+e|0}}if(!o){Sb=t;return}Sk(g|0,q|0,m|0)|0;Sb=t;return}function Lf(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0;u=Sb;Sb=Sb+192|0;q=u+128|0;s=u+64|0;t=u;i=q;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));a[h>>0]=a[g+(n+-2)>>0]|0;a[h+1>>0]=a[g+(n+-1)>>0]|0;if((o|0)>0){i=0;do{h=(r(i,e)|0)+n|0;p=i<<1;a[f+p>>0]=a[b+(h+-2)>>0]|0;a[f+(p|1)>>0]=a[b+(h+-1)>>0]|0;i=i+1|0}while((i|0)!=(o|0))}p=(n|0)>0;if(p)Sk(s|0,b+(r(o+-1|0,e)|0)|0,n|0)|0;if(!(a[k+2>>0]|0)){h=b+e|0;i=o+-1|0;if(p){j=0;do{o=(d[h+j>>0]|0)-(d[b+j>>0]|0)|0;a[t+j>>0]=(o|0)>-1?(o|0)!=0&1:-1;j=j+1|0}while((j|0)!=(n|0))}}else if(p){i=0;do{f=(d[b+i>>0]|0)-(d[g+i>>0]|0)|0;a[t+i>>0]=(f|0)>-1?(f|0)!=0&1:-1;i=i+1|0}while((i|0)!=(n|0));h=b;i=o}else{h=b;i=o}b=i+(((a[k+3>>0]|0)==0)<<31>>31)|0;if((b|0)>0){if(!p){Sb=u;return}o=0;i=h;while(1){j=0;do{f=i+j|0;v=(d[f>>0]|0)-(d[i+(j+e)>>0]|0)|0;v=(v|0)>-1?(v|0)!=0&1:-1;k=t+j|0;h=(a[k>>0]|0)+2+v|0;a[k>>0]=0-v;h=c[33568+(h<<2)>>2]&d[q+(j>>>1)>>0];if(h|0){v=(a[((j&1|0)==0?l:m)+h>>0]|0)+(d[f>>0]|0)|0;v=(v|0)>0?v:0;a[f>>0]=(v|0)<255?v:255}j=j+1|0}while((j|0)!=(n|0));o=o+1|0;if((o|0)==(b|0))break;else i=i+e|0}}if(!p){Sb=u;return}Sk(g|0,s|0,n|0)|0;Sb=u;return}function Mf(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=Sb;Sb=Sb+352|0;B=H+288|0;F=H+224|0;G=H+160|0;x=H+80|0;q=H;i=B;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));C=m+-1|0;E=a[g+C>>0]|0;if((n|0)>0){i=0;do{a[F+i>>0]=a[b+(C+(r(i,e)|0))>>0]|0;i=i+1|0}while((i|0)!=(n|0))}D=(m|0)>0;if(D)Sk(G|0,b+(r(n+-1|0,e)|0)|0,m|0)|0;t=a[b>>0]|0;if((a[k+4>>0]|0)!=0?(o=t&255,p=o-(d[h>>0]|0)|0,A=o-(d[b+(e+1)>>0]|0)|0,p=((A|0)>-1?(A|0)!=0&1:-1)+((p|0)>-1?((p|0)==0?2:3):1)|0,(p|0)!=2):0){A=(a[l+(c[33568+(p<<2)>>2]|0)>>0]|0)+o|0;A=(A|0)>0?A:0;A=((A|0)<255?A:255)&255}else A=t;j=n+-1|0;i=r(j,e)|0;o=i+C|0;p=a[b+o>>0]|0;if((a[k+7>>0]|0)!=0?(s=p&255,u=s-(d[b+(o+~e)>>0]|0)|0,z=s-(d[b+(m+e+i)>>0]|0)|0,u=((z|0)>-1?(z|0)!=0&1:-1)+((u|0)>-1?((u|0)==0?2:3):1)|0,(u|0)!=2):0){i=(a[l+(c[33568+(u<<2)>>2]|0)>>0]|0)+s|0;if((i|0)>255)y=-1;else y=((i|0)>0?i:0)&255}else y=p;if(!(a[k>>0]|0))a[B>>0]=0;z=k+2|0;if(!(a[z>>0]|0)){i=b+e|0;s=f+1|0;if((m|0)>1?(w=(d[i+1>>0]|0)-(t&255)|0,a[x+1>>0]=(w|0)>-1?(w|0)!=0&1:-1,(m|0)!=2):0){o=1;p=2;while(1){o=(d[i+p>>0]|0)-(d[b+o>>0]|0)|0;a[x+p>>0]=(o|0)>-1?(o|0)!=0&1:-1;o=p+1|0;if((o|0)==(m|0))break;else{w=p;p=o;o=w}}}}else if((m|0)>1){i=1;do{w=(d[b+i>>0]|0)-(d[g+(i+-1)>>0]|0)|0;a[x+i>>0]=(w|0)>-1?(w|0)!=0&1:-1;i=i+1|0}while((i|0)!=(m|0));i=b;j=n;s=f}else{i=b;j=n;s=f}if(!(a[k+1>>0]|0))a[B+C>>0]=0;w=k+3|0;v=j+(((a[w>>0]|0)==0)<<31>>31)|0;do if((v|0)>0){k=r(v,e)|0;if(!D){j=x;o=0;p=i;while(1){l=(d[p>>0]|0)-(d[s+(o+-1)>>0]|0)|0;a[j>>0]=(l|0)>-1?(l|0)!=0&1:-1;o=o+1|0;if((o|0)==(v|0))break;else{l=j;p=p+e|0;j=q;q=l}}i=i+k|0;break}p=x;t=0;u=i;while(1){o=(d[u>>0]|0)-(d[s+(t+-1)>>0]|0)|0;o=(o|0)>-1?(o|0)!=0&1:-1;a[p>>0]=o;j=0;while(1){n=u+j|0;b=j+1|0;x=(d[n>>0]|0)-(d[u+(b+e)>>0]|0)|0;x=(x|0)>-1?(x|0)!=0&1:-1;a[q+b>>0]=0-x;j=c[33568+((o<<24>>24)+2+x<<2)>>2]&d[B+j>>0];if(j|0){x=(a[l+j>>0]|0)+(d[n>>0]|0)|0;x=(x|0)>0?x:0;a[n>>0]=(x|0)<255?x:255}if((b|0)==(m|0))break;j=b;o=a[p+b>>0]|0}t=t+1|0;if((t|0)==(v|0))break;else{x=p;u=u+e|0;p=q;q=x}}i=i+k|0}while(0);l=v+1|0;a[i+(r((a[z>>0]|0)==0?l:v,0-e|0)|0)>>0]=A;a[i+(C-((a[w>>0]|0)==0?0:e))>>0]=y;i=((a[z>>0]|0)==0?l:v)+((a[w>>0]|0)==0&1)|0;a[h>>0]=E;if((i|0)>0)Sk(f|0,F|0,i|0)|0;if(!D){Sb=H;return}Sk(g|0,G|0,m|0)|0;Sb=H;return}function Nf(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=Sb;Sb=Sb+416|0;D=L+352|0;J=L+224|0;K=L+160|0;B=L+80|0;t=L;i=D;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));E=n+-2|0;F=a[g+E>>0]|0;G=n+-1|0;H=a[g+G>>0]|0;if((o|0)>0){i=0;do{C=(r(i,e)|0)+n|0;I=i<<1;a[J+I>>0]=a[b+(C+-2)>>0]|0;a[J+(I|1)>>0]=a[b+(C+-1)>>0]|0;i=i+1|0}while((i|0)!=(o|0))}I=(n|0)>0;if(I)Sk(K|0,b+(r(o+-1|0,e)|0)|0,n|0)|0;p=a[b>>0]|0;if(a[k+4>>0]|0){i=p&255;j=i-(d[h>>0]|0)|0;C=i-(d[b+(e+2)>>0]|0)|0;j=((C|0)>-1?(C|0)!=0&1:-1)+((j|0)>-1?((j|0)==0?2:3):1)|0;if((j|0)!=2){p=(a[l+(c[33568+(j<<2)>>2]|0)>>0]|0)+i|0;p=(p|0)>0?p:0;p=((p|0)<255?p:255)&255}i=a[b+1>>0]|0;j=i&255;q=j-(d[h+1>>0]|0)|0;C=j-(d[b+(e+3)>>0]|0)|0;q=((C|0)>-1?(C|0)!=0&1:-1)+((q|0)>-1?((q|0)==0?2:3):1)|0;if((q|0)==2)C=i;else{C=(a[m+(c[33568+(q<<2)>>2]|0)>>0]|0)+j|0;C=(C|0)>0?C:0;C=((C|0)<255?C:255)&255}}else C=a[b+1>>0]|0;j=o+-1|0;s=r(j,e)|0;i=s+E|0;u=a[b+i>>0]|0;if(a[k+7>>0]|0){q=u&255;v=-2-e|0;i=q-(d[b+(v+i)>>0]|0)|0;A=q-(d[b+(n+e+s)>>0]|0)|0;i=((A|0)>-1?(A|0)!=0&1:-1)+((i|0)>-1?((i|0)==0?2:3):1)|0;if((i|0)!=2){u=(a[l+(c[33568+(i<<2)>>2]|0)>>0]|0)+q|0;u=(u|0)>0?u:0;u=((u|0)<255?u:255)&255}A=s+G|0;q=a[b+A>>0]|0;s=q&255;i=s-(d[b+(v+A)>>0]|0)|0;A=s-(d[b+(e+2+A)>>0]|0)|0;i=((A|0)>-1?(A|0)!=0&1:-1)+((i|0)>-1?((i|0)==0?2:3):1)|0;if((i|0)!=2){i=(a[m+(c[33568+(i<<2)>>2]|0)>>0]|0)+s|0;if((i|0)>255)A=-1;else A=((i|0)>0?i:0)&255}else A=q}else A=a[b+(s+G)>>0]|0;if(!(a[k>>0]|0))a[D>>0]=0;z=k+2|0;if(!(a[z>>0]|0)){i=b+e|0;s=f+2|0;if((n|0)>2){q=2;do{y=(d[i+q>>0]|0)-(d[b+(q+-2)>>0]|0)|0;a[B+q>>0]=(y|0)>-1?(y|0)!=0&1:-1;q=q+1|0}while((q|0)!=(n|0));x=s}else x=s}else if((n|0)>2){i=2;do{y=(d[b+i>>0]|0)-(d[g+(i+-2)>>0]|0)|0;a[B+i>>0]=(y|0)>-1?(y|0)!=0&1:-1;i=i+1|0}while((i|0)!=(n|0));i=b;j=o;x=f}else{i=b;j=o;x=f}if(!(a[k+1>>0]|0))a[D+(G>>1)>>0]=0;y=k+3|0;w=j+(((a[y>>0]|0)==0)<<31>>31)|0;do if((w|0)>0){k=r(w,e)|0;if(!I){j=B;q=0;s=i;while(1){m=q<<1;l=(d[s>>0]|0)-(d[x+(m+-2)>>0]|0)|0;a[j>>0]=(l|0)>-1?(l|0)!=0&1:-1;m=(d[s+1>>0]|0)-(d[x+(m+-1)>>0]|0)|0;a[j+1>>0]=(m|0)>-1?(m|0)!=0&1:-1;q=q+1|0;if((q|0)==(w|0))break;else{m=j;s=s+e|0;j=t;t=m}}i=i+k|0;break}s=B;v=0;o=i;while(1){b=v<<1;j=(d[o>>0]|0)-(d[x+(b+-2)>>0]|0)|0;j=(j|0)>-1?(j|0)!=0&1:-1;a[s>>0]=j;b=(d[o+1>>0]|0)-(d[x+(b+-1)>>0]|0)|0;a[s+1>>0]=(b|0)>-1?(b|0)!=0&1:-1;b=0;while(1){q=o+b|0;M=b+2|0;B=(d[q>>0]|0)-(d[o+(M+e)>>0]|0)|0;B=(B|0)>-1?(B|0)!=0&1:-1;a[t+M>>0]=0-B;j=c[33568+((j<<24>>24)+2+B<<2)>>2]&d[D+(b>>>1)>>0];if(j|0){M=(a[((b&1|0)==0?l:m)+j>>0]|0)+(d[q>>0]|0)|0;M=(M|0)>0?M:0;a[q>>0]=(M|0)<255?M:255}j=b+1|0;if((j|0)==(n|0))break;b=j;j=a[s+j>>0]|0}v=v+1|0;if((v|0)==(w|0))break;else{M=s;o=o+e|0;s=t;t=M}}i=i+k|0}while(0);M=w+1|0;a[i+(r((a[z>>0]|0)==0?M:w,0-e|0)|0)>>0]=p;a[i+(1-(r((a[z>>0]|0)==0?M:w,e)|0))>>0]=C;a[i+(E-((a[y>>0]|0)==0?0:e))>>0]=u;a[i+(G-((a[y>>0]|0)==0?0:e))>>0]=A;M=((a[z>>0]|0)==0?M:w)+((a[y>>0]|0)==0&1)|0;a[h>>0]=F;a[h+1>>0]=H;i=M<<1;if((M|0)>0)Sk(f|0,J|0,((i|0)>1?i:1)|0)|0;if(!I){Sb=L;return}Sk(g|0,K|0,n|0)|0;Sb=L;return}function Of(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=Sb;Sb=Sb+256|0;H=0-e|0;C=K+192|0;I=K+128|0;J=K+64|0;D=K;o=C;p=o+64|0;do{c[o>>2]=-1;o=o+4|0}while((o|0)<(p|0));E=m+-1|0;G=a[g+E>>0]|0;if((n|0)>0){o=0;do{a[J+o>>0]=a[b+(E+(r(o,e)|0))>>0]|0;o=o+1|0}while((o|0)!=(n|0))}F=(m|0)>0;if(F)Sk(I|0,b+(r(n+-1|0,e)|0)|0,m|0)|0;o=a[b+E>>0]|0;if((a[k+5>>0]|0)!=0?(q=o&255,s=q-(d[i>>0]|0)|0,B=q-(d[b+(e+-2+m)>>0]|0)|0,s=((B|0)>-1?(B|0)!=0&1:-1)+((s|0)>-1?((s|0)==0?2:3):1)|0,(s|0)!=2):0){B=(a[l+(c[33568+(s<<2)>>2]|0)>>0]|0)+q|0;B=(B|0)>0?B:0;B=((B|0)<255?B:255)&255}else B=o;p=n+-1|0;o=r(p,e)|0;q=a[b+o>>0]|0;if((a[k+6>>0]|0)!=0?(t=q&255,u=t-(d[b+(1-e+o)>>0]|0)|0,A=t-(d[j>>0]|0)|0,u=((A|0)>-1?(A|0)!=0&1:-1)+((u|0)>-1?((u|0)==0?2:3):1)|0,(u|0)!=2):0){o=(a[l+(c[33568+(u<<2)>>2]|0)>>0]|0)+t|0;if((o|0)>255)z=-1;else z=((o|0)>0?o:0)&255}else z=q;if(!(a[k>>0]|0))a[C>>0]=0;A=k+2|0;o=a[A>>0]|0;if(!(o<<24>>24)){i=b+e|0;s=f+1|0;if((m|0)>1){q=0;do{y=q;q=q+1|0;x=(d[i+y>>0]|0)-(d[b+q>>0]|0)|0;a[D+y>>0]=(x|0)>-1?(x|0)!=0&1:-1}while((q|0)!=(E|0));b=i}else b=i}else if((m|0)>1){p=0;do{y=p;p=p+1|0;x=(d[b+y>>0]|0)-(d[g+p>>0]|0)|0;a[D+y>>0]=(x|0)>-1?(x|0)!=0&1:-1}while((p|0)!=(E|0));p=n;s=f}else{p=n;s=f}if(!(a[k+1>>0]|0))a[C+E>>0]=0;y=k+3|0;x=p+(((a[y>>0]|0)==0)<<31>>31)|0;do if((x|0)>0){k=m-e|0;v=D+E|0;w=r(x,e)|0;if(!F){p=b;q=0;while(1){l=(d[p+E>>0]|0)-(d[p+k>>0]|0)|0;a[v>>0]=(l|0)>-1?(l|0)!=0&1:-1;q=q+1|0;if((q|0)==(x|0))break;else p=p+e|0}b=b+w|0;break}i=b;j=0;while(1){u=(d[i+E>>0]|0)-(d[i+k>>0]|0)|0;a[v>>0]=(u|0)>-1?(u|0)!=0&1:-1;j=j+1|0;u=s+j|0;t=0;do{n=i+t|0;o=a[n>>0]|0;q=(t|0)==0;p=t+-1+e|0;if((d[(q?u:i+p|0)>>0]|0)>(o&255))o=-1;else o=(d[(q?u:i+p|0)>>0]|0)<(o&255)&1;p=o+2+(a[D+t>>0]|0)|0;if(!q)a[D+(t+-1)>>0]=0-o;o=c[33568+(p<<2)>>2]&d[C+t>>0];if(o|0){q=(a[l+o>>0]|0)+(d[n>>0]|0)|0;q=(q|0)>0?q:0;a[n>>0]=(q|0)<255?q:255}t=t+1|0}while((t|0)!=(m|0));if((j|0)==(x|0))break;else i=i+e|0}b=b+w|0;o=a[A>>0]|0}while(0);l=x+1|0;a[b+(E-(r(o<<24>>24==0?l:x,e)|0))>>0]=B;a[b+((a[y>>0]|0)==0?0:H)>>0]=z;o=((a[A>>0]|0)==0?l:x)+((a[y>>0]|0)==0&1)|0;a[h>>0]=G;if((o|0)>0)Sk(f|0,J|0,o|0)|0;if(!F){Sb=K;return}Sk(g|0,I|0,m|0)|0;Sb=K;return}function Pf(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=Sb;Sb=Sb+320|0;O=0-e|0;H=R+256|0;P=R+128|0;Q=R+64|0;I=R;p=H;q=p+64|0;do{c[p>>2]=-1;p=p+4|0}while((p|0)<(q|0));J=n+-2|0;K=a[g+J>>0]|0;L=n+-1|0;M=a[g+L>>0]|0;if((o|0)>0){p=0;do{G=(r(p,e)|0)+n|0;N=p<<1;a[P+N>>0]=a[b+(G+-2)>>0]|0;a[P+(N|1)>>0]=a[b+(G+-1)>>0]|0;p=p+1|0}while((p|0)!=(o|0))}N=(n|0)>0;if(N)Sk(Q|0,b+(r(o+-1|0,e)|0)|0,n|0)|0;s=a[b+J>>0]|0;if(a[k+5>>0]|0){p=s&255;q=p-(d[i>>0]|0)|0;u=n+e|0;G=p-(d[b+(u+-4)>>0]|0)|0;q=((G|0)>-1?(G|0)!=0&1:-1)+((q|0)>-1?((q|0)==0?2:3):1)|0;if((q|0)!=2){s=(a[l+(c[33568+(q<<2)>>2]|0)>>0]|0)+p|0;s=(s|0)>0?s:0;s=((s|0)<255?s:255)&255}q=a[b+L>>0]|0;t=q&255;p=t-(d[i+1>>0]|0)|0;G=t-(d[b+(u+-3)>>0]|0)|0;p=((G|0)>-1?(G|0)!=0&1:-1)+((p|0)>-1?((p|0)==0?2:3):1)|0;if((p|0)==2)G=q;else{G=(a[m+(c[33568+(p<<2)>>2]|0)>>0]|0)+t|0;G=(G|0)>0?G:0;G=((G|0)<255?G:255)&255}}else G=a[b+L>>0]|0;v=o+-1|0;i=r(v,e)|0;t=a[b+i>>0]|0;if(a[k+6>>0]|0){p=t&255;q=p-(d[b+(2-e+i)>>0]|0)|0;F=p-(d[j>>0]|0)|0;q=((F|0)>-1?(F|0)!=0&1:-1)+((q|0)>-1?((q|0)==0?2:3):1)|0;if((q|0)!=2){t=(a[l+(c[33568+(q<<2)>>2]|0)>>0]|0)+p|0;t=(t|0)>0?t:0;t=((t|0)<255?t:255)&255}q=a[b+(i+1)>>0]|0;u=q&255;p=u-(d[b+(3-e+i)>>0]|0)|0;F=u-(d[j+1>>0]|0)|0;p=((F|0)>-1?(F|0)!=0&1:-1)+((p|0)>-1?((p|0)==0?2:3):1)|0;if((p|0)!=2){p=(a[m+(c[33568+(p<<2)>>2]|0)>>0]|0)+u|0;if((p|0)>255)F=-1;else F=((p|0)>0?p:0)&255}else F=q}else F=a[b+(i+1)>>0]|0;if(!(a[k>>0]|0))a[H>>0]=0;E=k+2|0;p=a[E>>0]|0;if(!(p<<24>>24)){u=b+e|0;i=f+2|0;if((n|0)>2){q=0;do{D=(d[u+q>>0]|0)-(d[b+(q+2)>>0]|0)|0;a[I+q>>0]=(D|0)>-1?(D|0)!=0&1:-1;q=q+1|0}while((q|0)!=(J|0));b=u;q=v}else{b=u;q=v}}else if((n|0)>2){q=0;do{D=(d[b+q>>0]|0)-(d[g+(q+2)>>0]|0)|0;a[I+q>>0]=(D|0)>-1?(D|0)!=0&1:-1;q=q+1|0}while((q|0)!=(J|0));q=o;i=f}else{q=o;i=f}if(!(a[k+1>>0]|0))a[H+(L>>1)>>0]=0;D=k+3|0;C=q+(((a[D>>0]|0)==0)<<31>>31)|0;do if((C|0)>0){x=n-e|0;y=I+J|0;q=1-e|0;z=q+n|0;A=I+L|0;B=r(C,e)|0;if(!N){u=0;i=b;while(1){m=(d[i+J>>0]|0)-(d[i+x>>0]|0)|0;a[y>>0]=(m|0)>-1?(m|0)!=0&1:-1;m=(d[i+L>>0]|0)-(d[i+z>>0]|0)|0;a[A>>0]=(m|0)>-1?(m|0)!=0&1:-1;u=u+1|0;if((u|0)==(C|0))break;else i=i+e|0}b=b+B|0;break}v=0;j=b;while(1){k=(d[j+J>>0]|0)-(d[j+x>>0]|0)|0;a[y>>0]=(k|0)>-1?(k|0)!=0&1:-1;k=(d[j+L>>0]|0)-(d[j+z>>0]|0)|0;a[A>>0]=(k|0)>-1?(k|0)!=0&1:-1;k=v<<1;o=0;do{w=j+o|0;p=a[w>>0]|0;u=o>>>0<2;if((d[(u?i:j)+(o+(u?2:-2)+(u?k:e))>>0]|0)>(p&255))p=-1;else p=(d[(u?i:j)+(o+(u?2:-2)+(u?k:e))>>0]|0)<(p&255)&1;u=p+2+(a[I+o>>0]|0)|0;if(o>>>0>1)a[I+(o+-2)>>0]=0-p;p=c[33568+(u<<2)>>2]&d[H+(o>>>1)>>0];if(p|0){u=(a[((o&1|0)==0?l:m)+p>>0]|0)+(d[w>>0]|0)|0;u=(u|0)>0?u:0;a[w>>0]=(u|0)<255?u:255}o=o+1|0}while((o|0)!=(n|0));v=v+1|0;if((v|0)==(C|0))break;else j=j+e|0}b=b+B|0;p=a[E>>0]|0}else q=1-e|0;while(0);m=C+1|0;a[b+(J-(r(p<<24>>24==0?m:C,e)|0))>>0]=s;a[b+(L-(r((a[E>>0]|0)==0?m:C,e)|0))>>0]=G;a[b+((a[D>>0]|0)==0?0:O)>>0]=t;a[b+((a[D>>0]|0)==0?1:q)>>0]=F;O=((a[E>>0]|0)==0?m:C)+((a[D>>0]|0)==0&1)|0;a[h>>0]=K;a[h+1>>0]=M;p=O<<1;if((O|0)>0)Sk(f|0,P|0,((p|0)>1?p:1)|0)|0;if(!N){Sb=R;return}Sk(g|0,Q|0,n|0)|0;Sb=R;return}function Qf(c,d,e,f,g,h,i,j,k,l){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;if((k|0)<=0)return;o=1<<i+-1;if((l|0)<=0)return;n=0;while(1){m=0;do{p=((r((b[c+(m<<1)>>1]|0)+j|0,g)|0)+o>>i)+h|0;p=(p|0)>0?p:0;a[d+m>>0]=(p|0)<255?p:255;m=m+1|0}while((m|0)!=(l|0));n=n+1|0;if((n|0)==(k|0))break;else{c=c+(e<<1)|0;d=d+f|0}}return}function Rf(c,d,e,f,g,h,i,j,k,l,m,n){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,s=0,t=0;if((m|0)<=0)return;q=n<<1;s=1<<k+-1;if((n|0)<=0)return;p=0;o=c;n=d;while(1){c=0;do{d=((r((b[o+(c<<1)>>1]|0)+l|0,g)|0)+s>>k)+i|0;d=(d|0)>0?d:0;a[n+c>>0]=(d|0)<255?d:255;d=c|1;t=((r((b[o+(d<<1)>>1]|0)+l|0,h)|0)+s>>k)+j|0;t=(t|0)>0?t:0;a[n+d>>0]=(t|0)<255?t:255;c=c+2|0}while((c|0)<(q|0));p=p+1|0;if((p|0)==(m|0))break;else{o=o+(e<<1)|0;n=n+f|0}}return}function Sf(c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var s=0,t=0;if((p|0)<=0)return;t=j+1+l<<m+-1;if((q|0)<=0)return;s=0;j=e;while(1){l=0;do{e=r((b[c+(l<<1)>>1]|0)+n|0,i)|0;e=e+t+(r((b[d+(l<<1)>>1]|0)+o|0,k)|0)>>m;e=(e|0)>0?e:0;a[j+l>>0]=(e|0)<255?e:255;l=l+1|0}while((l|0)!=(q|0));s=s+1|0;if((s|0)==(p|0))break;else{c=c+(f<<1)|0;d=d+(g<<1)|0;j=j+h|0}}return}function Tf(c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;var w=0,x=0,y=0;if((u|0)<=0)return;x=v<<1;y=q+-1|0;w=k+1+o<<y;l=l+1+p<<y;if((v|0)<=0)return;p=0;k=c;while(1){o=0;do{y=r((b[k+(o<<1)>>1]|0)+s|0,i)|0;y=y+w+(r((b[d+(o<<1)>>1]|0)+t|0,m)|0)>>q;y=(y|0)>0?y:0;a[e+o>>0]=(y|0)<255?y:255;y=o|1;c=r((b[k+(y<<1)>>1]|0)+s|0,j)|0;c=c+l+(r((b[d+(y<<1)>>1]|0)+t|0,n)|0)>>q;c=(c|0)>0?c:0;a[e+y>>0]=(c|0)<255?c:255;o=o+2|0}while((o|0)<(x|0));p=p+1|0;if((p|0)==(u|0))break;else{k=k+(f<<1)|0;d=d+(g<<1)|0;e=e+h|0}}return}function Uf(c,d,e,f,g,h,i,j,k,l){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;if((k|0)<=0)return;n=j+i|0;if((l|0)<=0)return;m=0;j=c;while(1){i=0;do{c=n+(b[j+(i<<1)>>1]|0)+(b[d+(i<<1)>>1]|0)|0;a[e+i>>0]=(c|0)>32703?-1:(c|0)<-64?0:(c+64|0)>>>7&255;i=i+1|0}while((i|0)!=(l|0));m=m+1|0;if((m|0)==(k|0))break;else{d=d+(g<<1)|0;e=e+h|0;j=j+(f<<1)|0}}return}function Vf(c,d,e,f,g,h,i,j,k,l){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;if((k|0)<=0)return;o=l<<1;n=j+i|0;if((l|0)<=0)return;m=0;l=d;j=e;while(1){i=0;do{e=n+(b[c+(i<<1)>>1]|0)+(b[l+(i<<1)>>1]|0)|0;a[j+i>>0]=(e|0)>32703?-1:(e|0)<-64?0:(e+64|0)>>>7&255;i=i+1|0}while((i|0)<(o|0));m=m+1|0;if((m|0)==(k|0))break;else{l=l+(g<<1)|0;j=j+h|0;c=c+(f<<1)|0}}return}function Wf(){return 4}function Xf(){return 28}function Yf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Pa(a|0,b|0,c|0,d|0)|0}function Zf(a,b){a=a|0;b=b|0;return Qa(c[a>>2]|0,b|0)|0}function _f(a){a=a|0;return ij(a,0)|0}function $f(a){a=a|0;return lj(a)|0}function ag(a){a=a|0;return jj(a)|0}function bg(a){a=a|0;return kj(a)|0}function cg(){Ra()|0;return}function dg(a){a=a|0;return a|0}function eg(a){a=a|0;var b=0;c[a+11640>>2]=0;c[a+11644>>2]=c[a+11984>>2];c[a+11648>>2]=c[a+11972>>2];c[a+11652>>2]=c[a+11968>>2];b=c[a+11992>>2]|0;c[a+11656>>2]=b;c[a+11660>>2]=c[a+11988>>2];c[a+11664>>2]=c[a+11976>>2];c[a+11668>>2]=b;c[a+11672>>2]=b;c[a+11676>>2]=c[a+11980>>2];c[a+11680>>2]=c[a+11996>>2];c[a+11684>>2]=0;c[a+11688>>2]=c[a+11936>>2];c[a+11692>>2]=c[a+11952>>2];c[a+11696>>2]=c[a+11944>>2];b=c[a+11948>>2]|0;c[a+11700>>2]=b;c[a+11704>>2]=c[a+11940>>2];c[a+11708>>2]=c[a+11964>>2];c[a+11712>>2]=b;c[a+11716>>2]=b;c[a+11720>>2]=c[a+11956>>2];c[a+11724>>2]=c[a+11960>>2];c[a+11728>>2]=0;c[a+11732>>2]=c[a+12088>>2];c[a+11736>>2]=c[a+12064>>2];c[a+11740>>2]=c[a+12072>>2];c[a+11744>>2]=c[a+12084>>2];c[a+11748>>2]=c[a+12068>>2];c[a+11752>>2]=c[a+12056>>2];c[a+11756>>2]=c[a+12076>>2];c[a+11760>>2]=c[a+12060>>2];c[a+11764>>2]=c[a+12092>>2];c[a+11768>>2]=c[a+12080>>2];c[a+11772>>2]=0;c[a+11776>>2]=c[a+12040>>2];c[a+11780>>2]=c[a+12016>>2];c[a+11784>>2]=c[a+12024>>2];c[a+11788>>2]=c[a+12036>>2];c[a+11792>>2]=c[a+12020>>2];c[a+11796>>2]=c[a+12048>>2];c[a+11800>>2]=c[a+12028>>2];c[a+11804>>2]=c[a+12052>>2];c[a+11808>>2]=c[a+12044>>2];c[a+11812>>2]=c[a+12032>>2];c[a+11816>>2]=c[a+12116>>2];c[a+11820>>2]=c[a+12120>>2];c[a+11824>>2]=c[a+12124>>2];c[a+11828>>2]=c[a+12128>>2];c[a+11832>>2]=c[a+12132>>2];c[a+11836>>2]=c[a+12136>>2];c[a+11840>>2]=c[a+12140>>2];c[a+11844>>2]=c[a+12144>>2];c[a+11848>>2]=c[a+12148>>2];c[a+11852>>2]=c[a+12152>>2];c[a+11856>>2]=c[a+12156>>2];c[a+11860>>2]=c[a+12160>>2];c[a+11864>>2]=c[a+12164>>2];c[a+11868>>2]=c[a+12168>>2];c[a+11872>>2]=c[a+12172>>2];c[a+11876>>2]=c[a+12176>>2];c[a+11880>>2]=c[a+12300>>2];c[a+11884>>2]=c[a+12304>>2];c[a+11888>>2]=c[a+12252>>2];c[a+11892>>2]=c[a+12260>>2];c[a+11896>>2]=c[a+12268>>2];c[a+11900>>2]=c[a+12276>>2];c[a+11904>>2]=c[a+12256>>2];c[a+11908>>2]=c[a+12264>>2];c[a+11912>>2]=c[a+12272>>2];c[a+11916>>2]=c[a+12280>>2];return}function fg(b){b=b|0;var d=0,e=0,f=0;gg(b)|0;c[b+11632>>2]=0;c[b+52>>2]=1;c[b+100>>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;c[b+24>>2]=1;c[b+136>>2]=0;c[b+140>>2]=0;d=b+104|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b+120>>2]=1;c[b+124>>2]=0;c[b+364>>2]=0;c[b+144>>2]=0;c[b+132>>2]=0;c[b+32>>2]=1;c[b+28>>2]=0;c[b+11568>>2]=0;c[b+11564>>2]=-1;c[b+11572>>2]=-1;c[b+1448>>2]=-1;c[b+64>>2]=(c[b+60>>2]|0)==12?12:11;c[b+88>>2]=0;c[b+48>>2]=0;c[b+36>>2]=0;c[b+44>>2]=0;c[b+92>>2]=0;c[b+96>>2]=0;c[b+11604>>2]=0;c[b+45340>>2]=0;f=c[b+296>>2]|0;e=c[b+300>>2]|0;a[f+8972>>0]=0;a[f+17948>>0]=0;a[f+26924>>0]=0;a[f+35900>>0]=0;a[f+44876>>0]=0;a[f+53852>>0]=0;a[f+62828>>0]=0;a[f+71804>>0]=0;a[f+80780>>0]=0;a[f+89756>>0]=0;a[f+98732>>0]=0;a[f+107708>>0]=0;a[f+116684>>0]=0;a[f+125660>>0]=0;a[f+134636>>0]=0;a[f+143612>>0]=0;a[f+152588>>0]=0;a[e+67>>0]=0;a[e+135>>0]=0;a[e+203>>0]=0;a[e+271>>0]=0;a[e+339>>0]=0;a[e+407>>0]=0;a[e+475>>0]=0;a[e+543>>0]=0;a[e+611>>0]=0;a[e+679>>0]=0;a[e+747>>0]=0;a[e+815>>0]=0;a[e+883>>0]=0;a[e+951>>0]=0;a[e+1019>>0]=0;a[e+1087>>0]=0;a[e+1155>>0]=0;a[e+1223>>0]=0;a[e+1291>>0]=0;a[e+1359>>0]=0;a[e+1427>>0]=0;a[e+1495>>0]=0;a[e+1563>>0]=0;a[e+1631>>0]=0;a[e+1699>>0]=0;a[e+1767>>0]=0;a[e+1835>>0]=0;a[e+1903>>0]=0;a[e+1971>>0]=0;a[e+2039>>0]=0;a[e+2107>>0]=0;a[e+2175>>0]=0;a[e+2243>>0]=0;a[e+2311>>0]=0;a[e+2379>>0]=0;a[e+2447>>0]=0;a[e+2515>>0]=0;a[e+2583>>0]=0;a[e+2651>>0]=0;a[e+2719>>0]=0;a[e+2787>>0]=0;a[e+2855>>0]=0;a[e+2923>>0]=0;a[e+2991>>0]=0;a[e+3059>>0]=0;a[e+3127>>0]=0;a[e+3195>>0]=0;a[e+3263>>0]=0;a[e+3331>>0]=0;a[e+3399>>0]=0;a[e+3467>>0]=0;a[e+3535>>0]=0;a[e+3603>>0]=0;a[e+3671>>0]=0;a[e+3739>>0]=0;a[e+3807>>0]=0;a[e+3875>>0]=0;a[e+3943>>0]=0;a[e+4011>>0]=0;a[e+4079>>0]=0;a[e+4147>>0]=0;a[e+4215>>0]=0;a[e+4283>>0]=0;a[e+4351>>0]=0;a[e+4419>>0]=0;c[b+68>>2]=2147483647;c[b+20>>2]=0;c[b+16>>2]=0;c[d>>2]=0;c[b+72>>2]=0;Ud(c[b+224>>2]|0);Ud(c[b+244>>2]|0);d=c[b+252>>2]|0;c[b+248>>2]=d;Uk(d|0,0,542464)|0;we(c[b+264>>2]|0);ze(c[b+276>>2]|0);c[b+12312>>2]=0;c[b+11600>>2]=2147483647;hg(b);ig(b);eg(b);return 0}function gg(a){a=a|0;var b=0,d=0;b=a+11556|0;d=c[b>>2]|0;if(d|0){qg(d)|0;c[b>>2]=0}b=a+284|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+308|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+608|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+616|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+212|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+216|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+196|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+204|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+208|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+6064|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+6556|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+6284|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+11612|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+1444|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+176|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+192|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+236|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+11628|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+260|0;d=c[b>>2]|0;if(!d){a=a+11632|0;c[a>>2]=0;return 0}ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0;a=a+11632|0;c[a>>2]=0;return 0}function hg(a){a=a|0;c[a+12308>>2]=513;return}function ig(a){a=a|0;jg(a);return}function jg(a){a=a|0;c[a+11920>>2]=1;c[a+11924>>2]=2;c[a+11928>>2]=3;c[a+11932>>2]=4;c[a+11936>>2]=1;c[a+11940>>2]=2;c[a+11944>>2]=3;c[a+11948>>2]=4;c[a+11952>>2]=5;c[a+11956>>2]=6;c[a+11960>>2]=7;c[a+11964>>2]=8;c[a+11968>>2]=9;c[a+11972>>2]=10;c[a+11976>>2]=11;c[a+11980>>2]=12;c[a+11984>>2]=13;c[a+11988>>2]=14;c[a+11992>>2]=15;c[a+11996>>2]=16;c[a+12e3>>2]=1;c[a+12004>>2]=2;c[a+12008>>2]=3;c[a+12012>>2]=4;c[a+12016>>2]=4;c[a+12020>>2]=5;c[a+12024>>2]=6;c[a+12028>>2]=7;c[a+12032>>2]=8;c[a+12036>>2]=9;c[a+12040>>2]=10;c[a+12044>>2]=11;c[a+12048>>2]=12;c[a+12052>>2]=13;c[a+12056>>2]=14;c[a+12060>>2]=15;c[a+12064>>2]=16;c[a+12068>>2]=17;c[a+12072>>2]=18;c[a+12076>>2]=19;c[a+12080>>2]=20;c[a+12084>>2]=21;c[a+12088>>2]=22;c[a+12092>>2]=23;c[a+12096>>2]=24;c[a+12100>>2]=25;c[a+12104>>2]=26;c[a+12108>>2]=27;c[a+12112>>2]=28;c[a+12116>>2]=5;c[a+12120>>2]=6;c[a+12124>>2]=7;c[a+12128>>2]=8;c[a+12132>>2]=9;c[a+12136>>2]=10;c[a+12140>>2]=11;c[a+12144>>2]=12;c[a+12148>>2]=17;c[a+12152>>2]=18;c[a+12156>>2]=19;c[a+12160>>2]=20;c[a+12164>>2]=21;c[a+12168>>2]=22;c[a+12172>>2]=23;c[a+12176>>2]=24;c[a+12180>>2]=8;c[a+12184>>2]=9;c[a+12188>>2]=10;c[a+12192>>2]=11;c[a+12196>>2]=12;c[a+12200>>2]=13;c[a+12204>>2]=4;c[a+12208>>2]=5;c[a+12212>>2]=6;c[a+12216>>2]=7;c[a+12220>>2]=1;c[a+12224>>2]=1;c[a+12228>>2]=2;c[a+12232>>2]=1;c[a+12236>>2]=3;c[a+12240>>2]=1;c[a+12244>>2]=13;c[a+12248>>2]=1;c[a+12252>>2]=2;c[a+12256>>2]=2;c[a+12260>>2]=3;c[a+12264>>2]=3;c[a+12268>>2]=4;c[a+12272>>2]=4;c[a+12276>>2]=5;c[a+12280>>2]=5;c[a+12284>>2]=14;c[a+12288>>2]=15;c[a+12292>>2]=4;c[a+12296>>2]=1;c[a+12300>>2]=29;c[a+12304>>2]=30;return}function kg(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;m=(k|0)==0;l=b+1|0;y=g>>1;if((g|0)<=1)return;t=f>>>1&65535;u=t<<16>>16>0;v=0-f|0;w=h<<1;x=j<<1;s=(f+131070&131070)+2|0;q=e+(j<<2)|0;g=a+h|0;p=0;f=a;k=m?l:b;h=m?b:l;while(1){if(u){o=h+s|0;n=g+s|0;m=t;b=q;l=f;a=k;while(1){B=(d[a>>0]|0)+-128|0;A=B*16530>>13;B=r(B,-3207)|0;C=(d[h>>0]|0)+-128|0;B=(r(C,-6664)|0)+B>>13;C=C*13073>>13;z=d[l>>0]|0;D=A+z|0;D=(D|0)>0?D:0;E=B+z|0;E=(E|0)>0?E:0;z=C+z|0;z=(z|0)>0?z:0;c[e>>2]=((z|0)<255?z:255)<<16|((D|0)<255?D:255)|((E|0)<255?E:255)<<8;E=d[l+1>>0]|0;D=A+E|0;D=(D|0)>0?D:0;z=B+E|0;z=(z|0)>0?z:0;E=C+E|0;E=(E|0)>0?E:0;c[e+4>>2]=((E|0)<255?E:255)<<16|((D|0)<255?D:255)|((z|0)<255?z:255)<<8;z=d[g>>0]|0;D=A+z|0;D=(D|0)>0?D:0;E=B+z|0;E=(E|0)>0?E:0;z=C+z|0;z=(z|0)>0?z:0;c[b>>2]=((E|0)<255?E:255)<<8|((D|0)<255?D:255)|((z|0)<255?z:255)<<16;z=d[g+1>>0]|0;A=A+z|0;A=(A|0)>0?A:0;B=B+z|0;B=(B|0)>0?B:0;z=C+z|0;z=(z|0)>0?z:0;c[b+4>>2]=((B|0)<255?B:255)<<8|((A|0)<255?A:255)|((z|0)<255?z:255)<<16;if(m<<16>>16>1){m=m+-1<<16>>16;b=b+8|0;g=g+2|0;l=l+2|0;e=e+8|0;a=a+2|0;h=h+2|0}else break}a=q+(s<<2)|0;g=n;f=f+s|0;h=o;k=k+s|0}else a=q;p=p+1<<16>>16;if((y|0)<=(p<<16>>16|0))break;else{q=a+(x<<2)+(v<<2)|0;g=g+w+v|0;f=f+w+v|0;e=a+(v<<2)+(j<<2)|0;k=k+i+v|0;h=h+i+v|0}}return}
function ch(f){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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0;ib=Sb;Sb=Sb+96|0;ja=ib+56|0;Ca=ib+48|0;ya=ib+40|0;za=ib+32|0;Da=ib+92|0;ha=ib+90|0;la=ib+88|0;ma=ib+80|0;Ha=ib+72|0;Fa=ib+64|0;ba=ib;Ka=c[f+8>>2]|0;Ga=c[f+124>>2]|0;a[ma>>0]=0;a[Ha>>0]=0;a[Fa>>0]=0;$a=c[f+4>>2]|0;ua=c[f>>2]|0;va=c[f+20>>2]|0;fa=a[$a+4116>>0]|0;ab=fa<<24>>24;bb=1<<ab;gb=c[Ka+20>>2]|0;ra=c[Ka+304>>2]|0;pa=c[f+112>>2]&255;qa=c[f+116>>2]|0;xa=c[f+120>>2]|0;Ya=f+24|0;j=c[Ya>>2]|0;Za=f+28|0;k=c[Za>>2]|0;G=r(k,gb)|0;F=(c[f+36>>2]|0)+(G+j<<ab)|0;G=(c[f+40>>2]|0)+(((G|0)/2|0)+j<<ab)|0;na=(c[f+80>>2]|0)+k|0;Ja=k<<1;Na=(c[f+84>>2]|0)+Ja|0;aa=(c[f+72>>2]|0)+k|0;ca=(c[f+76>>2]|0)+Ja|0;a[la>>0]=a[f+96>>0]|0;ka=(c[f+100>>2]|0)+k|0;Ea=f+104|0;Ja=(c[f+108>>2]|0)+Ja|0;oa=(c[f+88>>2]|0)+j|0;Oa=(c[f+92>>2]|0)+(j<<1)|0;wa=$a+4118|0;H=(c[f+44>>2]|0)+(j*12|0)+((r(k,b[wa>>1]|0)|0)*12|0)|0;l=b[$a>>1]|0;hb=l+63>>6;ia=bb+-8|0;La=8-bb|0;_a=$a+2|0;i=b[_a>>1]|0;E=La-(k<<ab)+i|0;A=La-(j<<ab)+l|0;A=((A|0)<9?A:0)+bb|0;Sa=gb<<3;fb=0-Sa|0;p=F+((j|0)==0?0:-8)+((k|0)==0?0:fb)|0;Ma=f+48|0;n=c[Ma>>2]|0;cb=ab+-3|0;db=hb<<3;j=(j<<cb)+(((j|0)>0)<<31>>31)+(r(db,k<<cb)|0)|0;eb=f+32|0;m=c[eb>>2]|0;D=m+(j>>3)|0;k=((k|0)!=0)<<31>>31;Pa=bb+-1|0;E=Pa+((E|0)<9?E:0)>>3;a:do if((E|0)>(k|0)){B=j&7;C=(1<<(A+7>>3))+-1|0;z=0-A|0;if((A|0)<=0){j=0;while(1){Ia=((c[D+(r(k,hb)|0)>>2]|0)>>>B&C|0)==0;j=Ia?j:1;k=k+1|0;if((k|0)==(E|0)){ta=j;j=l;k=m;break a}}}t=gb<<1;u=gb*3|0;v=gb<<2;w=gb*5|0;x=gb*6|0;y=gb*7|0;l=0;j=p;while(1){i=(c[D+(r(k,hb)|0)>>2]|0)>>>B&C;if(!i)i=n;else{q=A;s=j;while(1){j=Mk(i|0)|0;j=(i|0)==0?31:j;if(!j){l=(i|0)==-1;m=Mk(~i|0)|0;p=l?248:m<<3;p=(p|0)<(q|0)?p:q;if((p|0)>0){j=0;do{a[n+j>>0]=a[s+j>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+128)>>0]=a[s+(j+gb)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+256)>>0]=a[s+(j+t)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+384)>>0]=a[s+(j+u)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+512)>>0]=a[s+(j+v)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+640)>>0]=a[s+(j+w)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+768)>>0]=a[s+(j+x)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+896)>>0]=a[s+(j+y)>>0]|0;j=j+1|0}while((j|0)<(p|0))}j=l?31:m}Ia=j<<3;Ba=(q|0)>(Ia|0)?Ia:q;n=n+Ba|0;s=s+Ba|0;q=q-Ia|0;if((q|0)<=0)break;else i=i>>>j}l=1;i=n+z|0;j=s+z|0}k=k+1|0;if((k|0)==(E|0))break;else{n=i+1024|0;j=j+Sa|0}}ta=l;j=b[$a>>1]|0;i=b[_a>>1]|0;k=c[eb>>2]|0}else{ta=0;j=l;k=m}while(0);ea=bb+-16|0;Aa=16-bb|0;A=c[Za>>2]|0;B=Aa+i-(A<<ab)|0;m=c[Ya>>2]|0;x=Aa+j-(m<<ab)|0;x=((x|0)<17?x:0)+bb|0;j=(A|0)==0;n=G+((m|0)==0?0:-16)+(j?0:fb)|0;Ia=f+52|0;l=c[Ia>>2]|0;i=(m<<cb)+(r(A<<cb,db)|0)|0;i=(m|0)>0?i+-2|0:i;A=k+(i>>3)|0;j=j?0:-2;Ba=bb+-9|0;B=Ba+((B|0)<17?B:0)>>3;b:do if((j|0)<(B|0)){y=i&7;z=(1<<(x+7>>3))+-1|0;v=((gb|0)/2|0)<<3;w=0-x|0;if((x|0)<=0){i=0;while(1){sa=((c[A+(r(j,hb)|0)>>2]|0)>>>y&z|0)==0;i=sa?i:1;j=j+1|0;if((j|0)==(B|0)){sa=i;j=m;break b}}}t=gb<<1;u=gb*3|0;m=0;k=n;while(1){i=(c[A+(r(j,hb)|0)>>2]|0)>>>y&z;if(!i)i=l;else{q=x;s=k;while(1){k=Mk(i|0)|0;k=(i|0)==0?31:k;if(!k){m=(i|0)==-1;n=Mk(~i|0)|0;p=m?248:n<<3;p=(p|0)<(q|0)?p:q;if((p|0)>0){k=0;do{a[l+k>>0]=a[s+k>>0]|0;k=k+1|0}while((k|0)<(p|0));k=0;do{a[l+(k+128)>>0]=a[s+(k+gb)>>0]|0;k=k+1|0}while((k|0)<(p|0));k=0;do{a[l+(k+256)>>0]=a[s+(k+t)>>0]|0;k=k+1|0}while((k|0)<(p|0));k=0;do{a[l+(k+384)>>0]=a[s+(k+u)>>0]|0;k=k+1|0}while((k|0)<(p|0))}k=m?31:n}$=k<<3;sa=(q|0)>($|0)?$:q;l=l+sa|0;q=q-$|0;s=s+sa|0;if((q|0)<=0)break;else i=i>>>k}m=1;i=l+w|0;k=s+w|0}j=j+1|0;if((j|0)==(B|0))break;else{l=i+512|0;k=k+v|0}}sa=m;j=c[Ya>>2]|0}else{sa=0;j=m}while(0);if((j|0)>0){M=c[Za>>2]|0;if((M|0)>0){J=M+-1|0;n=b[wa>>1]|0;u=r(J,n)|0;K=j+-1|0;m=qa+(u+K<<1)|0;P=e[m>>1]|0;_=Sa+8|0;X=F+(-8-Sa)|0;$=Sa+16|0;Y=G+(-16-Sa)|0;Z=H+(~n*12|0)|0;x=j<<ab;N=(c[f+60>>2]|0)+x+-8|0;V=(c[f+68>>2]|0)+x+-16|0;y=M<<ab;O=(c[f+56>>2]|0)+y+-8|0;W=(c[f+64>>2]|0)+y+-16|0;do if(!(a[ra+(P*1272|0)+156>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0){m=0;l=0;break}a[O>>0]=a[X+7>>0]|0;a[O+1>>0]=a[X+(gb+7)>>0]|0;a[O+2>>0]=a[X+((gb<<1)+7)>>0]|0;a[O+3>>0]=a[X+((gb*3|0)+7)>>0]|0;a[O+4>>0]=a[X+((gb<<2)+7)>>0]|0;a[O+5>>0]=a[X+((gb*5|0)+7)>>0]|0;a[O+6>>0]=a[X+((gb*6|0)+7)>>0]|0;m=gb*7|0;a[O+7>>0]=a[X+(m+7)>>0]|0;a[aa>>0]=a[N+7>>0]|0;bc[c[Ka+12184>>2]&15](N,X+m|0,8);m=0;l=0}else{i=c[Z>>2]|0;k=i&7;if(!k){a[O>>0]=a[X+7>>0]|0;a[O+1>>0]=a[X+(gb+7)>>0]|0;a[O+2>>0]=a[X+((gb<<1)+7)>>0]|0;a[O+3>>0]=a[X+((gb*3|0)+7)>>0]|0;a[O+4>>0]=a[X+((gb<<2)+7)>>0]|0;a[O+5>>0]=a[X+((gb*5|0)+7)>>0]|0;a[O+6>>0]=a[X+((gb*6|0)+7)>>0]|0;m=gb*7|0;a[O+7>>0]=a[X+(m+7)>>0]|0;a[aa>>0]=a[N+7>>0]|0;bc[c[Ka+12184>>2]&15](N,X+m|0,8);m=0;l=0;break}a[ma+1>>0]=i<<25>>28;a[ma+2>>0]=c[Z>>2]<<21>>28;a[ma+3>>0]=c[Z>>2]<<17>>28;a[ma+4>>0]=c[Z>>2]<<13>>28;if((k|0)==1){hc[c[Ka+12244>>2]&15](X,gb,O,N,aa,(c[Z>>2]|0)>>>19&31,ma,8,8);m=0;l=0;break}i=ja;c[i>>2]=-1;c[i+4>>2]=-1;i=ya;c[i>>2]=0;c[i+4>>2]=0;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;i=za;c[i>>2]=16843009;c[i+4>>2]=16843009;i=(a[ra+(pa*1272|0)+72>>0]|0)==0;if(!i?(a[ua+27>>0]|0)==0:0){k=0;l=0;i=j}else{L=(ia|0)==0;if(L)if((j|0)>1&(M|0)>1){k=M+-2|0;l=j+-2|0}else{k=0;l=0}else{k=J;l=K}if(i){E=b[m>>1]|0;F=E&65535;p=r(k,n)|0;G=b[qa+(K<<1)+(p<<1)>>1]|0;q=G&65535;t=ba+16|0;c[t>>2]=q;c[ba+8>>2]=q;H=b[qa+(u+l<<1)>>1]|0;c[ba>>2]=H&65535;I=b[qa+(u+j<<1)>>1]|0;z=I&65535;m=ba+20|0;c[m>>2]=z;c[ba+4>>2]=z;C=r(M,n)|0;B=b[qa+(C+K<<1)>>1]|0;A=B&65535;i=ba+24|0;c[i>>2]=A;c[ba+12>>2]=A;C=b[qa+(C+j<<1)>>1]|0;D=C&65535;s=ba+28|0;c[s>>2]=D;if(L){if((j|0)==1){c[i>>2]=-1;c[t>>2]=-1;n=-1}else{n=e[qa+(j+-2+u<<1)>>1]|0;c[i>>2]=n}if((M|0)==1){c[m>>2]=-1;i=-1;m=-1}else{i=e[qa+(l+1+u<<1)>>1]|0;c[m>>2]=i;m=e[qa+(j+-2+p<<1)>>1]|0}c[t>>2]=m;c[s>>2]=D;w=i;v=m}else{n=A;w=z;v=q}if((x|0)==8){a[za+4>>0]=0;i=0}else i=a[ra+(n*1272|0)+174>>0]|0;u=za+6|0;a[u>>0]=i;t=a[ra+(F*1272|0)+174>>0]|0;s=(y|0)==8?0:t;p=za+5|0;a[p>>0]=s;q=za+4|0;a[q>>0]=s;s=za+2|0;a[s>>0]=t;a[za>>0]=t;t=za+1|0;a[t>>0]=a[ra+(z*1272|0)+174>>0]|0;m=za+3|0;a[m>>0]=a[ra+(A*1272|0)+174>>0]|0;i=za+7|0;a[i>>0]=a[ra+(D*1272|0)+174>>0]|0;if((w|0)>(F|0))a[p>>0]=a[ra+(w*1272|0)+174>>0]|0;a[(H<<16>>16==E<<16>>16?za:ya)>>0]=1;a[(I<<16>>16==E<<16>>16?t:ya+1|0)>>0]=1;a[(G<<16>>16==E<<16>>16?s:ya+2|0)>>0]=1;a[(B<<16>>16==E<<16>>16?m:ya+3|0)>>0]=1;a[((v|0)==(F|0)?q:ya+4|0)>>0]=1;a[((w|0)==(F|0)?p:ya+5|0)>>0]=1;a[((n|0)==(F|0)?u:ya+6|0)>>0]=1;a[(C<<16>>16==E<<16>>16?i:ya+7|0)>>0]=1;bc[c[Ka+12188>>2]&15](ba,0,32)}do if(a[ua+27>>0]|0){i=a[va>>0]|0;v=c[Ya>>2]|0;if((v|0)!=(i&255|0)?(c[Za>>2]|0)!=(d[va+1>>0]|0):0)break;if(i<<24>>24==0?(a[va+1>>0]|0)==0:0)break;if(!(a[ua+33>>0]|0)){z=b[wa>>1]|0;p=r(J,z)|0;A=b[xa+(p+K<<1)>>1]|0;B=A&65535;w=r(k,z)|0;C=b[xa+(K<<1)+(w<<1)>>1]|0;m=C&65535;x=ba+16|0;c[x>>2]=m;c[ba+8>>2]=m;D=b[xa+(p+l<<1)>>1]|0;c[ba>>2]=D&65535;E=b[xa+(p+j<<1)>>1]|0;q=E&65535;s=ba+20|0;c[s>>2]=q;c[ba+4>>2]=q;z=r(M,z)|0;y=b[xa+(z+K<<1)>>1]|0;i=y&65535;n=ba+24|0;c[n>>2]=i;c[ba+12>>2]=i;z=b[xa+(z+j<<1)>>1]|0;t=z&65535;u=ba+28|0;c[u>>2]=t;if(L){if((v|0)==1){c[n>>2]=-1;c[x>>2]=-1;i=-1}else{i=e[xa+(j+-2+p<<1)>>1]|0;c[n>>2]=i}if((c[Za>>2]|0)==1){c[s>>2]=-1;n=-1;j=-1}else{n=e[xa+(l+1+p<<1)>>1]|0;c[s>>2]=n;j=e[xa+(j+-2+w<<1)>>1]|0}c[x>>2]=j;c[u>>2]=t;m=j;j=n}else j=q;if(D<<16>>16!=A<<16>>16){a[ya>>0]=a[ya>>0]|1;a[za>>0]=0}if(E<<16>>16!=A<<16>>16){U=ya+1|0;a[U>>0]=a[U>>0]|1;a[za+1>>0]=0}if(C<<16>>16!=A<<16>>16){U=ya+2|0;a[U>>0]=a[U>>0]|1;a[za+2>>0]=0}if(y<<16>>16!=A<<16>>16){U=ya+3|0;a[U>>0]=a[U>>0]|1;a[za+3>>0]=0}if((m|0)!=(B|0)){U=ya+4|0;a[U>>0]=a[U>>0]|1;a[za+4>>0]=0}if((j|0)!=(B|0)){U=ya+5|0;a[U>>0]=a[U>>0]|1;a[za+5>>0]=0}if((i|0)!=(B|0)){U=ya+6|0;a[U>>0]=a[U>>0]|1;a[za+6>>0]=0}if(z<<16>>16==A<<16>>16)break;U=ya+7|0;a[U>>0]=a[U>>0]|1;a[za+7>>0]=0}}while(0);if((a[ya>>0]|0)!=0&(a[za>>0]|0)==0)a[ja>>0]=0;if(a[ya+1>>0]|0?(a[za+1>>0]|0)==0:0)a[ja+1>>0]=0;if(a[ya+2>>0]|0?(a[za+2>>0]|0)==0:0)a[ja+2>>0]=0;if(a[ya+3>>0]|0?(a[za+3>>0]|0)==0:0)a[ja+3>>0]=0;do if(a[ya+4>>0]|0){if(a[za+4>>0]|0)break;a[ja+4>>0]=0}while(0);do if(a[ya+5>>0]|0){if(a[za+5>>0]|0)break;a[ja+5>>0]=0}while(0);do if(a[ya+6>>0]|0){if(a[za+6>>0]|0)break;a[ja+6>>0]=0}while(0);do if(a[ya+7>>0]|0){if(a[za+7>>0]|0)break;a[ja+7>>0]=0}while(0);i=c[Ya>>2]|0}if((i<<ab|0)==8){a[ja>>0]=0;a[ja+4>>0]=0;a[ja+6>>0]=0}if((i|0)==(b[wa>>1]|0)){a[ja+1>>0]=0;a[ja+5>>0]=0;a[ja+7>>0]=0}i=c[Za>>2]|0;if((i<<ab|0)==8){a[ja+2>>0]=0;a[ja+4>>0]=0;a[ja+5>>0]=0}if((i|0)==(b[$a+4120>>1]|0)){a[ja+3>>0]=0;a[ja+6>>0]=0;a[ja+7>>0]=0}a[Da>>0]=a[N+8>>0]|0;a[la>>0]=a[O+8>>0]|0;jc[c[Ka+11888+((c[Z>>2]&7)+-2<<2)>>2]&7](X,gb,O,N,aa,Da,la,ja,ma,8,8);m=k}while(0);do if(a[ra+(P*1272|0)+157>>0]|0){U=Z+4|0;i=c[U>>2]|0;j=i&7;if(!j){a[W>>0]=a[Y+14>>0]|0;a[W+1>>0]=a[Y+15>>0]|0;a[W+2>>0]=a[Y+(gb+14)>>0]|0;a[W+3>>0]=a[Y+(gb+15)>>0]|0;da=gb<<1;a[W+4>>0]=a[Y+(da+14)>>0]|0;a[W+5>>0]=a[Y+(da+15)>>0]|0;da=gb*3|0;a[W+6>>0]=a[Y+(da+14)>>0]|0;a[W+7>>0]=a[Y+(da+15)>>0]|0;da=gb<<2;a[W+8>>0]=a[Y+(da+14)>>0]|0;a[W+9>>0]=a[Y+(da+15)>>0]|0;da=gb*5|0;a[W+10>>0]=a[Y+(da+14)>>0]|0;a[W+11>>0]=a[Y+(da+15)>>0]|0;da=gb*6|0;a[W+12>>0]=a[Y+(da+14)>>0]|0;a[W+13>>0]=a[Y+(da+15)>>0]|0;da=gb*7|0;a[W+14>>0]=a[Y+(da+14)>>0]|0;a[W+15>>0]=a[Y+(da+15)>>0]|0;a[ca>>0]=a[V+14>>0]|0;a[ca+1>>0]=a[V+15>>0]|0;bc[c[Ka+12184>>2]&15](V,Y+da|0,16);break}a[Ha+1>>0]=i<<25>>28;a[Ha+2>>0]=i<<21>>28;a[Ha+3>>0]=i<<17>>28;a[Ha+4>>0]=i<<13>>28;k=c[Z+8>>2]|0;a[Fa+1>>0]=k<<25>>28;a[Fa+2>>0]=k<<21>>28;a[Fa+3>>0]=k<<17>>28;a[Fa+4>>0]=k<<13>>28;if((j|0)==1){i=c[Ka+12248>>2]|0;if(!Ga){jc[i&7](Y,gb,W,V,ca,(c[U>>2]|0)>>>19&31,k>>>19&31,Ha,Fa,16,8);break}else{jc[i&7](Y,gb,W,V,ca,k>>>19&31,(c[U>>2]|0)>>>19&31,Fa,Ha,16,8);break}}j=Ca;c[j>>2]=-1;c[j+4>>2]=-1;j=ya;c[j>>2]=0;c[j+4>>2]=0;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;j=za;c[j>>2]=16843009;c[j+4>>2]=16843009;j=(a[ra+(pa*1272|0)+72>>0]|0)==0;if(!j?(a[ua+27>>0]|0)==0:0)i=c[Ya>>2]|0;else da=104;do if((da|0)==104){n=(ea|0)==0;S=c[Za>>2]|0;if(n){i=c[Ya>>2]|0;if((S|0)>1&(i|0)>1){m=S+-2|0;l=i+-2|0}}else{i=c[Ya>>2]|0;m=S+-1|0;l=i+-1|0}L=i+-1|0;G=S+-1|0;if(j){D=b[wa>>1]|0;p=r(G,D)|0;v=b[qa+(p+L<<1)>>1]|0;w=v&65535;s=r(m,D)|0;x=b[qa+(L<<1)+(s<<1)>>1]|0;k=x&65535;t=ba+16|0;c[t>>2]=k;c[ba+8>>2]=k;y=b[qa+(p+l<<1)>>1]|0;c[ba>>2]=y&65535;z=b[qa+(p+i<<1)>>1]|0;A=z&65535;q=ba+20|0;c[q>>2]=A;c[ba+4>>2]=A;D=r(S,D)|0;B=b[qa+(D+L<<1)>>1]|0;C=B&65535;j=ba+24|0;c[j>>2]=C;c[ba+12>>2]=C;D=b[qa+(D+i<<1)>>1]|0;E=D&65535;u=ba+28|0;c[u>>2]=E;if(n){if((i|0)==1){c[j>>2]=-1;c[t>>2]=-1;n=-1}else{n=e[qa+(i+-2+p<<1)>>1]|0;c[j>>2]=n}if((S|0)==1){c[q>>2]=-1;j=-1;k=-1}else{j=e[qa+(l+1+p<<1)>>1]|0;c[q>>2]=j;k=e[qa+(i+-2+s<<1)>>1]|0}c[t>>2]=k;c[u>>2]=E}else{n=C;j=A}if((i<<ab|0)==16){a[za+4>>0]=0;q=0}else q=a[ra+(n*1272|0)+174>>0]|0;p=za+6|0;a[p>>0]=q;F=a[ra+(w*1272|0)+174>>0]|0;if((S<<ab+-1|0)==8){s=0;t=0}else{s=a[ra+(j*1272|0)+174>>0]|0;t=F}M=za+4|0;a[M>>0]=t;R=za+5|0;a[R>>0]=s;J=za+2|0;a[J>>0]=F;a[za>>0]=F;da=a[ra+(A*1272|0)+174>>0]|0;O=za+1|0;a[O>>0]=da;N=a[ra+(C*1272|0)+174>>0]|0;K=za+3|0;a[K>>0]=N;T=a[ra+(E*1272|0)+174>>0]|0;u=za+7|0;a[u>>0]=T;Q=y<<16>>16==v<<16>>16;a[(Q?za:ya)>>0]=1;P=z<<16>>16==v<<16>>16;a[(P?O:ya+1|0)>>0]=1;O=x<<16>>16==v<<16>>16;a[(O?J:ya+2|0)>>0]=1;z=B<<16>>16==v<<16>>16;a[(z?K:ya+3|0)>>0]=1;y=(k|0)==(w|0);a[(y?M:ya+4|0)>>0]=1;x=(j|0)==(w|0);a[(x?R:ya+5|0)>>0]=1;R=(n|0)==(w|0);a[(R?p:ya+6|0)>>0]=1;p=D<<16>>16==v<<16>>16;a[(p?u:ya+7|0)>>0]=1;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;T=p?1:T;p=(p^1)&1;q=R?1:q;R=(R^1)&1;u=x?1:s;s=(x^1)&1;x=y?1:t;t=(y^1)&1;y=z?1:N;v=(z^1)&1;z=O?1:F;w=(O^1)&1;j=P?1:da;k=(P^1)&1;P=Q?1:F;Q=(Q^1)&1}else{T=1;p=0;q=1;R=0;u=1;s=0;x=1;t=0;y=1;v=0;z=1;w=0;j=1;k=0;P=1;Q=0}do if(a[ua+27>>0]|0){n=a[va>>0]|0;if((i|0)!=(n&255|0)?(S|0)!=(d[va+1>>0]|0):0){A=y;y=s;s=R;n=T;m=Q;l=P;break}if(n<<24>>24==0?(a[va+1>>0]|0)==0:0){A=y;y=s;s=R;n=T;m=Q;l=P;break}if(!(a[ua+33>>0]|0)){N=b[wa>>1]|0;D=r(G,N)|0;O=b[xa+(D+L<<1)>>1]|0;M=O&65535;E=r(m,N)|0;K=b[xa+(L<<1)+(E<<1)>>1]|0;A=K&65535;H=ba+16|0;c[H>>2]=A;c[ba+8>>2]=A;I=b[xa+(D+l<<1)>>1]|0;c[ba>>2]=I&65535;J=b[xa+(D+i<<1)>>1]|0;B=J&65535;C=ba+20|0;c[C>>2]=B;c[ba+4>>2]=B;N=r(S,N)|0;L=b[xa+(N+L<<1)>>1]|0;n=L&65535;m=ba+24|0;c[m>>2]=n;c[ba+12>>2]=n;N=b[xa+(N+i<<1)>>1]|0;F=N&65535;G=ba+28|0;c[G>>2]=F;if(!ia){if((i|0)==1){c[m>>2]=-1;c[H>>2]=-1;n=-1}else{n=e[xa+(i+-2+D<<1)>>1]|0;c[m>>2]=n}if((S|0)==1){c[C>>2]=-1;m=-1;l=-1}else{m=e[xa+(l+1+D<<1)>>1]|0;c[C>>2]=m;l=e[xa+(i+-2+E<<1)>>1]|0}c[H>>2]=l;c[G>>2]=F;A=l;B=m}if(I<<16>>16==O<<16>>16){l=P;m=Q}else{a[ya>>0]=1;a[za>>0]=0;l=0;m=1}if(J<<16>>16!=O<<16>>16){a[ya+1>>0]=1;a[za+1>>0]=0;j=0;k=1}if(K<<16>>16!=O<<16>>16){a[ya+2>>0]=1;a[za+2>>0]=0;z=0;w=1}if(L<<16>>16!=O<<16>>16){a[ya+3>>0]=1;a[za+3>>0]=0;y=0;v=1}if((A|0)!=(M|0)){a[ya+4>>0]=1;a[za+4>>0]=0;x=0;t=1}if((B|0)!=(M|0)){a[ya+5>>0]=1;a[za+5>>0]=0;u=0;s=1}if((n|0)==(M|0))n=R;else{a[ya+6>>0]=1;a[za+6>>0]=0;q=0;n=1}if(N<<16>>16==O<<16>>16){A=y;y=s;s=n;n=T;break}a[ya+7>>0]=1;a[za+7>>0]=0;A=y;y=s;s=n;p=1;n=0}else{A=y;y=s;s=R;n=T;m=Q;l=P}}else{A=y;y=s;s=R;n=T;m=Q;l=P}while(0);if(m<<24>>24!=0&l<<24>>24==0)a[Ca>>0]=0;if(k<<24>>24!=0&j<<24>>24==0)a[Ca+1>>0]=0;if(w<<24>>24!=0&z<<24>>24==0)a[Ca+2>>0]=0;if(v<<24>>24!=0&A<<24>>24==0)a[Ca+3>>0]=0;if(t<<24>>24!=0&x<<24>>24==0)a[Ca+4>>0]=0;if(y<<24>>24!=0&u<<24>>24==0)a[Ca+5>>0]=0;if(s<<24>>24!=0&q<<24>>24==0)a[Ca+6>>0]=0;if(!(p<<24>>24!=0&n<<24>>24==0))break;a[Ca+7>>0]=0}while(0);if((i<<ab|0)==16){a[Ca>>0]=0;a[Ca+4>>0]=0;a[Ca+6>>0]=0}if((i|0)==(b[wa>>1]|0)){a[Ca+1>>0]=0;a[Ca+5>>0]=0;a[Ca+7>>0]=0}i=c[Za>>2]|0;if((i<<ab+-1|0)==8){a[Ca+2>>0]=0;a[Ca+4>>0]=0;a[Ca+5>>0]=0}j=$a+4120|0;if((i|0)==(b[j>>1]|0)){a[Ca+3>>0]=0;a[Ca+6>>0]=0;a[Ca+7>>0]=0}a[Da>>0]=a[V+16>>0]|0;a[Da+1>>0]=a[V+17>>0]|0;a[Ea>>0]=a[W+16>>0]|0;k=f+105|0;a[k>>0]=a[W+17>>0]|0;if(fa<<24>>24==4?(i|0)!=((b[j>>1]|0)+-1|0):0){a[Ea>>0]=a[Y+(Sa+-2)>>0]|0;a[k>>0]=a[Y+(Sa+-1)>>0]|0}i=c[Ka+11904+((c[U>>2]&7)+-2<<2)>>2]|0;if(!Ga){kc[i&7](Y,gb,W,V,ca,Da,Ea,Ca,Ha,Fa,16,8);break}else{kc[i&7](Y,gb,W,V,ca,Da,Ea,Ca,Fa,Ha,16,8);break}}else{if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;a[W>>0]=a[Y+14>>0]|0;a[W+1>>0]=a[Y+15>>0]|0;a[W+2>>0]=a[Y+(gb+14)>>0]|0;a[W+3>>0]=a[Y+(gb+15)>>0]|0;da=gb<<1;a[W+4>>0]=a[Y+(da+14)>>0]|0;a[W+5>>0]=a[Y+(da+15)>>0]|0;da=gb*3|0;a[W+6>>0]=a[Y+(da+14)>>0]|0;a[W+7>>0]=a[Y+(da+15)>>0]|0;da=gb<<2;a[W+8>>0]=a[Y+(da+14)>>0]|0;a[W+9>>0]=a[Y+(da+15)>>0]|0;da=gb*5|0;a[W+10>>0]=a[Y+(da+14)>>0]|0;a[W+11>>0]=a[Y+(da+15)>>0]|0;da=gb*6|0;a[W+12>>0]=a[Y+(da+14)>>0]|0;a[W+13>>0]=a[Y+(da+15)>>0]|0;da=gb*7|0;a[W+14>>0]=a[Y+(da+14)>>0]|0;a[W+15>>0]=a[Y+(da+15)>>0]|0;a[ca>>0]=a[V+14>>0]|0;a[ca+1>>0]=a[V+15>>0]|0;bc[c[Ka+12184>>2]&15](V,Y+da|0,16)}while(0);R=X+_|0;Q=Y+$|0;i=Z+(((b[wa>>1]|0)+1|0)*12|0)|0;da=161}else{aa=F;_=G;i=H;da=254}}else{R=F;Q=G;i=H;da=161}do if((da|0)==161){j=c[Za>>2]|0;if((j|0)>0){K=b[wa>>1]|0;G=r(j+-1|0,K)|0;P=c[Ya>>2]|0;G=e[qa+(G+P<<1)>>1]|0;M=b[$a>>1]|0;P=P<<ab;J=La-P+M|0;J=((J|0)<9?J:0)+ia|0;M=Aa-P+M|0;M=((M|0)<17?M:0)+ea|0;H=R+fb|0;N=Q+fb|0;K=0-K|0;O=i+(K*12|0)|0;I=(c[f+60>>2]|0)+P|0;P=(c[f+68>>2]|0)+P|0;L=j<<ab;F=(c[f+56>>2]|0)+L+-8|0;L=(c[f+64>>2]|0)+L+-16|0;do if(J|0){if(!(a[ra+(G*1272|0)+156>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;_=J+-1|0;a[F>>0]=a[H+_>>0]|0;a[F+1>>0]=a[H+(_+gb)>>0]|0;a[F+2>>0]=a[H+(_+(gb<<1))>>0]|0;a[F+3>>0]=a[H+(_+(gb*3|0))>>0]|0;a[F+4>>0]=a[H+(_+(gb<<2))>>0]|0;a[F+5>>0]=a[H+(_+(gb*5|0))>>0]|0;a[F+6>>0]=a[H+(_+(gb*6|0))>>0]|0;$=gb*7|0;a[F+7>>0]=a[H+(_+$)>>0]|0;a[aa>>0]=a[I+_>>0]|0;bc[c[Ka+12184>>2]&15](I,H+$|0,J);break}j=c[O>>2]|0;k=j&7;if(!k){_=J+-1|0;a[F>>0]=a[H+_>>0]|0;a[F+1>>0]=a[H+(_+gb)>>0]|0;a[F+2>>0]=a[H+(_+(gb<<1))>>0]|0;a[F+3>>0]=a[H+(_+(gb*3|0))>>0]|0;a[F+4>>0]=a[H+(_+(gb<<2))>>0]|0;a[F+5>>0]=a[H+(_+(gb*5|0))>>0]|0;a[F+6>>0]=a[H+(_+(gb*6|0))>>0]|0;$=gb*7|0;a[F+7>>0]=a[H+(_+$)>>0]|0;a[aa>>0]=a[I+_>>0]|0;bc[c[Ka+12184>>2]&15](I,H+$|0,J);break}a[ma+1>>0]=j<<25>>28;a[ma+2>>0]=c[O>>2]<<21>>28;a[ma+3>>0]=c[O>>2]<<17>>28;a[ma+4>>0]=c[O>>2]<<13>>28;if((k|0)==1){hc[c[Ka+12244>>2]&15](H,gb,F,I,aa,(c[O>>2]|0)>>>19&31,ma,J,8);break}$=Ka+12188|0;bc[c[$>>2]&15](ja,-1,8);bc[c[$>>2]&15](ya,0,8);bc[c[$>>2]&15](ba,0,32);$=za;c[$>>2]=16843009;c[$+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){j=c[Ya>>2]|0;s=c[Za>>2]|0;n=s+-1|0;q=j+-1|0;m=(j|0)==0;if(m){c[ba>>2]=-1;c[ba+16>>2]=-1;l=b[wa>>1]|0;k=r(n,l)|0;l=r(s,l)|0;E=-1;t=-1}else{E=b[wa>>1]|0;k=r(n,E)|0;t=e[qa+(k+q<<1)>>1]|0;c[ba+16>>2]=t;c[ba>>2]=t;E=r(s,E)|0;l=E;E=e[qa+(E+q<<1)>>1]|0}c[ba+24>>2]=E;x=b[qa+(k+j<<1)>>1]|0;D=x&65535;c[ba+20>>2]=D;c[ba+8>>2]=D;c[ba+4>>2]=D;w=b[qa+(l+j<<1)>>1]|0;k=w&65535;c[ba+28>>2]=k;c[ba+12>>2]=k;if(m){a[za>>0]=0;l=0;v=0;m=a[ra+(D*1272|0)+174>>0]|0}else{m=a[ra+(D*1272|0)+174>>0]|0;a[za>>0]=m;l=a[ra+(E*1272|0)+174>>0]|0;v=m}y=za+4|0;a[y>>0]=v;B=za+6|0;a[B>>0]=l;z=za+5|0;a[z>>0]=m;p=za+2|0;a[p>>0]=m;u=za+1|0;a[u>>0]=m;A=a[ra+(k*1272|0)+174>>0]|0;k=za+3|0;a[k>>0]=A;C=za+7|0;a[C>>0]=A;if((E|0)<(D|0)){a[B>>0]=m;l=m}$=(t|0)==(D|0);t=$?1:v;a[($?za:ya)>>0]=1;a[u>>0]=1;a[p>>0]=1;da=w<<16>>16==x<<16>>16;p=da?1:A;a[(da?k:ya+3|0)>>0]=1;m=$?1:v;a[($?y:ya+4|0)>>0]=1;a[z>>0]=1;k=(E|0)==(D|0);l=k?1:l;a[(k?B:ya+6|0)>>0]=1;k=da?1:A;a[(da?C:ya+7|0)>>0]=1;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;if(!(a[ua+27>>0]|0))da=190;else{x=j;w=p;da=180}}else{j=c[Ya>>2]|0;if(a[ua+27>>0]|0){n=c[Za>>2]|0;x=j;s=n;n=n+-1|0;q=j+-1|0;t=1;w=1;m=1;l=1;k=1;da=180}}do if((da|0)==180){j=a[va>>0]|0;if((x|0)!=(j&255|0)?(s|0)!=(d[va+1>>0]|0):0){p=w;j=x;da=190;break}if(j<<24>>24==0?(a[va+1>>0]|0)==0:0){p=w;j=x;da=190;break}if(!(a[ua+33>>0]|0)){if(!x){c[ba>>2]=-1;c[ba+16>>2]=-1;v=b[wa>>1]|0;j=r(n,v)|0;n=r(s,v)|0;v=-1;p=-1}else{v=b[wa>>1]|0;j=r(n,v)|0;p=e[xa+(j+q<<1)>>1]|0;c[ba+16>>2]=p;c[ba>>2]=p;v=r(s,v)|0;n=v;v=e[xa+(v+q<<1)>>1]|0}c[ba+24>>2]=v;q=b[xa+(j+x<<1)>>1]|0;u=q&65535;c[ba+20>>2]=u;c[ba+8>>2]=u;c[ba+4>>2]=u;j=b[xa+(n+x<<1)>>1]|0;s=j&65535;c[ba+28>>2]=s;c[ba+12>>2]=s;s=(p|0)==(u|0);if(!s){a[ya>>0]=a[ya>>0]|1;a[za>>0]=0;t=0}n=j<<16>>16==q<<16>>16;if(n)p=w;else{p=ya+3|0;a[p>>0]=a[p>>0]|1;a[za+3>>0]=0;p=0}if(!s){m=ya+4|0;a[m>>0]=a[m>>0]|1;a[za+4>>0]=0;m=0}if((v|0)==(u|0))j=l;else{j=ya+6|0;a[j>>0]=a[j>>0]|1;a[za+6>>0]=0;j=0}if(n){l=j;j=x;da=190;break}l=ya+7|0;a[l>>0]=a[l>>0]|1;a[za+7>>0]=0;l=j;k=0;j=x;da=190}else{p=w;j=x;da=190}}while(0);if((da|0)==190){if((a[ya>>0]|0)!=0&t<<24>>24==0)a[ja>>0]=0;if((a[ya+3>>0]|0)!=0&p<<24>>24==0)a[ja+3>>0]=0;if((a[ya+4>>0]|0)!=0&m<<24>>24==0)a[ja+4>>0]=0;if((a[ya+6>>0]|0)!=0&l<<24>>24==0)a[ja+6>>0]=0;if((a[ya+7>>0]|0)!=0&k<<24>>24==0)a[ja+7>>0]=0}if(!j){a[ja>>0]=0;a[ja+4>>0]=0;a[ja+6>>0]=0}if(((b[$a>>1]|0)-(j<<ab)|0)<=(J|0)){a[ja+1>>0]=0;a[ja+5>>0]=0;a[ja+7>>0]=0}j=c[Za>>2]|0;if((j<<ab|0)==8){a[ja+2>>0]=0;a[ja+4>>0]=0;a[ja+5>>0]=0}if((j|0)==(b[$a+4120>>1]|0)){a[ja+3>>0]=0;a[ja+6>>0]=0;a[ja+7>>0]=0}a[Da>>0]=a[oa>>0]|0;a[la>>0]=a[R+-1>>0]|0;jc[c[Ka+11888+((c[O>>2]&7)+-2<<2)>>2]&7](H,gb,F,I,aa,Da,la,ja,ma,J,8)}while(0);do if(M|0){if(!(a[ra+(G*1272|0)+157>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;$=M+-2|0;aa=M+-1|0;a[L>>0]=a[N+$>>0]|0;a[L+1>>0]=a[N+aa>>0]|0;a[L+2>>0]=a[N+($+gb)>>0]|0;a[L+3>>0]=a[N+(aa+gb)>>0]|0;ba=gb<<1;a[L+4>>0]=a[N+($+ba)>>0]|0;a[L+5>>0]=a[N+(aa+ba)>>0]|0;ba=gb*3|0;a[L+6>>0]=a[N+($+ba)>>0]|0;a[L+7>>0]=a[N+(aa+ba)>>0]|0;ba=gb<<2;a[L+8>>0]=a[N+($+ba)>>0]|0;a[L+9>>0]=a[N+(aa+ba)>>0]|0;ba=gb*5|0;a[L+10>>0]=a[N+($+ba)>>0]|0;a[L+11>>0]=a[N+(aa+ba)>>0]|0;ba=gb*6|0;a[L+12>>0]=a[N+($+ba)>>0]|0;a[L+13>>0]=a[N+(aa+ba)>>0]|0;ba=gb*7|0;a[L+14>>0]=a[N+($+ba)>>0]|0;a[L+15>>0]=a[N+(aa+ba)>>0]|0;a[ca>>0]=a[P+$>>0]|0;a[ca+1>>0]=a[P+aa>>0]|0;bc[c[Ka+12184>>2]&15](P,N+ba|0,M);break}H=i+(K*12|0)+4|0;j=c[H>>2]|0;k=j&7;if(!k){$=M+-2|0;aa=M+-1|0;a[L>>0]=a[N+$>>0]|0;a[L+1>>0]=a[N+aa>>0]|0;a[L+2>>0]=a[N+($+gb)>>0]|0;a[L+3>>0]=a[N+(aa+gb)>>0]|0;ba=gb<<1;a[L+4>>0]=a[N+($+ba)>>0]|0;a[L+5>>0]=a[N+(aa+ba)>>0]|0;ba=gb*3|0;a[L+6>>0]=a[N+($+ba)>>0]|0;a[L+7>>0]=a[N+(aa+ba)>>0]|0;ba=gb<<2;a[L+8>>0]=a[N+($+ba)>>0]|0;a[L+9>>0]=a[N+(aa+ba)>>0]|0;ba=gb*5|0;a[L+10>>0]=a[N+($+ba)>>0]|0;a[L+11>>0]=a[N+(aa+ba)>>0]|0;ba=gb*6|0;a[L+12>>0]=a[N+($+ba)>>0]|0;a[L+13>>0]=a[N+(aa+ba)>>0]|0;ba=gb*7|0;a[L+14>>0]=a[N+($+ba)>>0]|0;a[L+15>>0]=a[N+(aa+ba)>>0]|0;a[ca>>0]=a[P+$>>0]|0;a[ca+1>>0]=a[P+aa>>0]|0;bc[c[Ka+12184>>2]&15](P,N+ba|0,M);break}a[Ha+1>>0]=j<<25>>28;a[Ha+2>>0]=j<<21>>28;a[Ha+3>>0]=j<<17>>28;a[Ha+4>>0]=j<<13>>28;j=c[i+(K*12|0)+8>>2]|0;a[Fa+1>>0]=j<<25>>28;a[Fa+2>>0]=j<<21>>28;a[Fa+3>>0]=j<<17>>28;a[Fa+4>>0]=j<<13>>28;if((k|0)==1){i=c[Ka+12248>>2]|0;if(!Ga){jc[i&7](N,gb,L,P,ca,(c[H>>2]|0)>>>19&31,j>>>19&31,Ha,Fa,M,8);break}else{jc[i&7](N,gb,L,P,ca,j>>>19&31,(c[H>>2]|0)>>>19&31,Fa,Ha,M,8);break}}aa=Ca;c[aa>>2]=-1;c[aa+4>>2]=-1;aa=ya;c[aa>>2]=0;c[aa+4>>2]=0;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;aa=za;c[aa>>2]=16843009;c[aa+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){i=c[Ya>>2]|0;E=c[Za>>2]|0;F=E+-1|0;G=i+-1|0;l=(i|0)==0;j=b[wa>>1]|0;k=r(F,j)|0;if(l){j=r(E,j)|0;y=-1;C=-1}else{C=r(E,j)|0;j=C;y=e[qa+(k+G<<1)>>1]|0;C=e[qa+(C+G<<1)>>1]|0}c[ba+16>>2]=y;c[ba>>2]=y;c[ba+24>>2]=C;q=b[qa+(k+i<<1)>>1]|0;A=q&65535;c[ba+20>>2]=A;c[ba+8>>2]=A;c[ba+4>>2]=A;p=b[qa+(j+i<<1)>>1]|0;j=p&65535;c[ba+28>>2]=j;c[ba+12>>2]=j;if(l){a[za>>0]=0;k=0;s=0;l=a[ra+(A*1272|0)+174>>0]|0}else{l=a[ra+(A*1272|0)+174>>0]|0;a[za>>0]=l;k=a[ra+(C*1272|0)+174>>0]|0;s=l}v=za+4|0;a[v>>0]=s;B=za+6|0;a[B>>0]=k;w=za+5|0;a[w>>0]=l;m=za+2|0;a[m>>0]=l;n=za+1|0;a[n>>0]=l;z=a[ra+(j*1272|0)+174>>0]|0;j=za+3|0;a[j>>0]=z;D=za+7|0;a[D>>0]=z;if((C|0)<(A|0)){a[B>>0]=l;k=l}da=(y|0)==(A|0);x=da?1:s;t=(da^1)&1;a[(da?za:ya)>>0]=1;a[n>>0]=1;a[m>>0]=1;da=p<<16>>16==q<<16>>16;u=da?1:z;q=(da^1)&1;a[(da?j:ya+3|0)>>0]=1;j=(y|0)==(A|0);s=j?1:s;m=(j^1)&1;a[(j?v:ya+4|0)>>0]=1;a[w>>0]=1;j=(C|0)==(A|0);l=j?1:k;n=(j^1)&1;a[(j?B:ya+6|0)>>0]=1;j=da?1:z;k=(da^1)&1;a[(da?D:ya+7|0)>>0]=1;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;if(!(a[ua+27>>0]|0))da=234;else{A=i;v=E;p=F;w=G;z=m;da=224}}else{i=c[Ya>>2]|0;if(a[ua+27>>0]|0){p=c[Za>>2]|0;A=i;v=p;p=p+-1|0;w=i+-1|0;t=0;x=1;q=0;u=1;z=0;s=1;n=0;l=1;k=0;j=1;da=224}}do if((da|0)==224){i=a[va>>0]|0;if((A|0)!=(i&255|0)?(v|0)!=(d[va+1>>0]|0):0){m=z;i=A;da=234;break}if(i<<24>>24==0?(a[va+1>>0]|0)==0:0){m=z;i=A;da=234;break}if(!(a[ua+33>>0]|0)){i=b[wa>>1]|0;m=r(p,i)|0;if(!A){i=r(v,i)|0;v=-1;y=-1}else{y=r(v,i)|0;i=y;v=e[xa+(m+w<<1)>>1]|0;y=e[xa+(y+w<<1)>>1]|0}c[ba+16>>2]=v;c[ba>>2]=v;c[ba+24>>2]=y;m=b[xa+(m+A<<1)>>1]|0;w=m&65535;c[ba+20>>2]=w;c[ba+8>>2]=w;c[ba+4>>2]=w;i=b[xa+(i+A<<1)>>1]|0;da=i&65535;c[ba+28>>2]=da;c[ba+12>>2]=da;if((v|0)!=(w|0)){a[ya>>0]=1;a[za>>0]=0;x=0;t=1}p=i<<16>>16==m<<16>>16;if(!p){a[ya+3>>0]=1;a[za+3>>0]=0;u=0;q=1}if((v|0)==(w|0))m=z;else{a[ya+4>>0]=1;a[za+4>>0]=0;s=0;m=1}if((y|0)==(w|0))i=n;else{a[ya+6>>0]=1;a[za+6>>0]=0;l=0;i=1}if(p){n=i;i=A;da=234;break}a[ya+7>>0]=1;a[za+7>>0]=0;n=i;k=1;j=0;i=A;da=234}else{m=z;i=A;da=234}}while(0);if((da|0)==234){if(t<<24>>24!=0&x<<24>>24==0)a[Ca>>0]=0;if(q<<24>>24!=0&u<<24>>24==0)a[Ca+3>>0]=0;if(m<<24>>24!=0&s<<24>>24==0)a[Ca+4>>0]=0;if(n<<24>>24!=0&l<<24>>24==0)a[Ca+6>>0]=0;if(k<<24>>24!=0&j<<24>>24==0)a[Ca+7>>0]=0}if(!i){a[Ca>>0]=0;a[Ca+4>>0]=0;a[Ca+6>>0]=0}if(((b[$a>>1]|0)-(i<<ab)|0)<=(M|0)){a[Ca+1>>0]=0;a[Ca+5>>0]=0;a[Ca+7>>0]=0}i=c[Za>>2]|0;if((i<<ab+-1|0)==8){a[Ca+2>>0]=0;a[Ca+4>>0]=0;a[Ca+5>>0]=0}if((i|0)==(b[$a+4120>>1]|0)){a[Ca+3>>0]=0;a[Ca+6>>0]=0;a[Ca+7>>0]=0}a[Da>>0]=a[Oa>>0]|0;a[Da+1>>0]=a[Oa+1>>0]|0;a[Ea>>0]=a[Q+-2>>0]|0;a[f+105>>0]=a[Q+-1>>0]|0;i=c[Ka+11904+((c[H>>2]&7)+-2<<2)>>2]|0;if(!Ga){kc[i&7](N,gb,L,P,ca,Da,Ea,Ca,Ha,Fa,M,8);break}else{kc[i&7](N,gb,L,P,ca,Da,Ea,Ca,Fa,Ha,M,8);break}}while(0);i=O+((b[wa>>1]|0)*12|0)|0}j=c[Ya>>2]|0;if((j|0)>0){aa=R;_=Q;M=c[Za>>2]|0;da=254;break}else{n=(bb|0)/2|0;aa=R;_=Q;M=i;p=8-n|0;n=n+-8|0;Q=ab+-1|0;i=f+60|0;k=f+68|0;l=f+56|0;m=f+64|0;J=j;break}}while(0);if((da|0)==254){p=(bb|0)/2|0;n=p+-8|0;L=b[wa>>1]|0;K=r(M,L)|0;I=j+-1|0;J=K+I|0;q=qa+(J<<1)|0;Q=e[q>>1]|0;V=b[_a>>1]|0;N=M<<ab;U=La-N+(V<<16>>16)|0;U=((U|0)<9?U:0)+ia|0;Z=ab+-1|0;p=8-p|0;V=p-(M<<Z)+(((V<<16>>16)/2|0)<<16>>16)|0;V=((V|0)<9?V:0)+n|0;R=aa+-8|0;W=_+-16|0;O=i+-12|0;$=f+60|0;P=j<<ab;S=(c[$>>2]|0)+P+-8|0;ba=f+68|0;X=(c[ba>>2]|0)+P+-16|0;ca=f+56|0;T=(c[ca>>2]|0)+N|0;m=f+64|0;Y=(c[m>>2]|0)+N|0;do if(U|0){if(!(a[ra+(Q*1272|0)+156>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;if((U|0)>0){j=0;do{a[T+j>>0]=a[R+((r(j,gb)|0)+7)>>0]|0;j=j+1|0}while((j|0)!=(U|0))}a[na>>0]=a[S+7>>0]|0;U=R+(r(U+-1|0,gb)|0)|0;bc[c[Ka+12184>>2]&15](S,U,8);break}k=c[O>>2]|0;l=k&7;if(!l){if((U|0)>0){j=0;do{a[T+j>>0]=a[R+((r(j,gb)|0)+7)>>0]|0;j=j+1|0}while((j|0)!=(U|0))}a[na>>0]=a[S+7>>0]|0;U=R+(r(U+-1|0,gb)|0)|0;bc[c[Ka+12184>>2]&15](S,U,8);break}a[ma+1>>0]=k<<25>>28;a[ma+2>>0]=c[O>>2]<<21>>28;a[ma+3>>0]=c[O>>2]<<17>>28;a[ma+4>>0]=c[O>>2]<<13>>28;if((l|0)==1){hc[c[Ka+12244>>2]&15](R,gb,T,S,na,(c[O>>2]|0)>>>19&31,ma,8,U);break}H=ja;c[H>>2]=-1;c[H+4>>2]=-1;H=ya;c[H>>2]=0;c[H+4>>2]=0;H=za;c[H>>2]=16843009;c[H+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){H=M+-1|0;if(!M){s=b[q>>1]|0;D=s&65535;q=b[qa+(K+j<<1)>>1]|0;w=0;k=q&65535;l=a[ra+(D*1272|0)+174>>0]|0;C=-1;y=-1}else{y=r(H,L)|0;s=b[q>>1]|0;D=s&65535;q=b[qa+(K+j<<1)>>1]|0;l=a[ra+(D*1272|0)+174>>0]|0;w=l;k=q&65535;C=e[qa+(y+j<<1)>>1]|0;y=e[qa+(y+I<<1)>>1]|0}x=za+2|0;a[x>>0]=w;z=za+4|0;a[z>>0]=w;F=za+5|0;a[F>>0]=w;E=a[ra+(k*1272|0)+174>>0]|0;k=za+1|0;a[k>>0]=E;t=za+3|0;a[t>>0]=l;G=za+7|0;a[G>>0]=E;if((C|0)>(D|0)){l=a[ra+(C*1272|0)+174>>0]|0;a[F>>0]=l}else l=w;a[za>>0]=1;da=q<<16>>16==s<<16>>16;A=da?1:E;u=(da^1)&1;a[(da?k:ya+1|0)>>0]=1;k=(y|0)==(D|0);B=k?1:w;v=(k^1)&1;a[(k?x:ya+2|0)>>0]=1;a[t>>0]=1;k=(y|0)==(D|0);w=k?1:w;t=(k^1)&1;a[(k?z:ya+4|0)>>0]=1;k=(C|0)==(D|0);q=k?1:l;s=(k^1)&1;a[(k?F:ya+5|0)>>0]=1;a[za+6>>0]=1;k=da?1:E;l=(da^1)&1;a[(da?G:ya+7|0)>>0]=1;if(!(a[ua+27>>0]|0))da=280;else{y=H;x=w;C=q;da=272}}else if(a[ua+27>>0]|0){y=M+-1|0;u=0;A=1;v=0;B=1;t=0;x=1;s=0;C=1;l=0;k=1;da=272}do if((da|0)==272){q=a[va>>0]|0;if((j|0)!=(q&255|0)?(M|0)!=(d[va+1>>0]|0):0){w=x;q=C;da=280;break}if(q<<24>>24==0?(a[va+1>>0]|0)==0:0){w=x;q=C;da=280;break}if(!(a[ua+33>>0]|0)){if(!M){q=-1;z=-1}else{z=r(y,L)|0;q=e[xa+(z+I<<1)>>1]|0;z=e[xa+(z+j<<1)>>1]|0}y=b[xa+(J<<1)>>1]|0;w=y&65535;y=(b[xa+(K+j<<1)>>1]|0)==y<<16>>16;if(!y){a[ya+1>>0]=1;a[za+1>>0]=0;A=0;u=1}if((q|0)!=(w|0)){a[ya+2>>0]=1;a[za+2>>0]=0;B=0;v=1}if((q|0)!=(w|0)){a[ya+4>>0]=1;a[za+4>>0]=0;x=0;t=1}if((z|0)==(w|0))q=C;else{a[ya+5>>0]=1;a[za+5>>0]=0;q=0;s=1}if(y){w=x;da=280}else{a[ya+7>>0]=1;a[za+7>>0]=0;w=x;l=1;k=0;da=280}}else{w=x;q=C;da=280}}while(0);if((da|0)==280){if(u<<24>>24!=0&A<<24>>24==0)a[ja+1>>0]=0;if(v<<24>>24!=0&B<<24>>24==0)a[ja+2>>0]=0;if(t<<24>>24!=0&w<<24>>24==0)a[ja+4>>0]=0;if(s<<24>>24!=0&q<<24>>24==0)a[ja+5>>0]=0;if(l<<24>>24!=0&k<<24>>24==0)a[ja+7>>0]=0}if((P|0)==8){a[ja>>0]=0;a[ja+4>>0]=0;a[ja+6>>0]=0}if((j|0)==(L|0)){a[ja+1>>0]=0;a[ja+5>>0]=0;a[ja+7>>0]=0}if(!M){a[ja+2>>0]=0;a[ja+4>>0]=0;a[ja+5>>0]=0}if(((b[_a>>1]|0)-N|0)<=(U|0)){a[ja+3>>0]=0;a[ja+6>>0]=0;a[ja+7>>0]=0}a[Da>>0]=a[S+8>>0]|0;a[la>>0]=a[ka>>0]|0;jc[c[Ka+11888+((c[O>>2]&7)+-2<<2)>>2]&7](R,gb,T,S,na,Da,la,ja,ma,8,U)}while(0);do if(V|0){if(!(a[ra+(Q*1272|0)+157>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;if((V|0)>0){j=0;do{ga=r(j,gb)|0;ha=j<<1;a[Y+ha>>0]=a[W+(ga+14)>>0]|0;a[Y+(ha|1)>>0]=a[W+(ga+15)>>0]|0;j=j+1|0}while((j|0)!=(V|0))}a[Na>>0]=a[X+14>>0]|0;a[Na+1>>0]=a[X+15>>0]|0;ha=W+(r(V+-1|0,gb)|0)|0;bc[c[Ka+12184>>2]&15](X,ha,16);break}H=i+-8|0;j=c[H>>2]|0;k=j&7;if(!k){if((V|0)>0){j=0;do{ga=r(j,gb)|0;ha=j<<1;a[Y+ha>>0]=a[W+(ga+14)>>0]|0;a[Y+(ha|1)>>0]=a[W+(ga+15)>>0]|0;j=j+1|0}while((j|0)!=(V|0))}a[Na>>0]=a[X+14>>0]|0;a[Na+1>>0]=a[X+15>>0]|0;ha=W+(r(V+-1|0,gb)|0)|0;bc[c[Ka+12184>>2]&15](X,ha,16);break}a[Ha+1>>0]=j<<25>>28;a[Ha+2>>0]=c[H>>2]<<21>>28;a[Ha+3>>0]=c[H>>2]<<17>>28;a[Ha+4>>0]=c[H>>2]<<13>>28;l=i+-4|0;a[Fa+1>>0]=c[l>>2]<<25>>28;a[Fa+2>>0]=c[l>>2]<<21>>28;a[Fa+3>>0]=c[l>>2]<<17>>28;a[Fa+4>>0]=c[l>>2]<<13>>28;if((k|0)==1){j=c[Ka+12248>>2]|0;if(!Ga){jc[j&7](W,gb,Y,X,Na,(c[H>>2]|0)>>>19&31,(c[l>>2]|0)>>>19&31,Ha,Fa,16,V);break}else{jc[j&7](W,gb,Y,X,Na,(c[l>>2]|0)>>>19&31,(c[H>>2]|0)>>>19&31,Fa,Ha,16,V);break}}U=Ca;c[U>>2]=-1;c[U+4>>2]=-1;U=ya;c[U>>2]=0;c[U+4>>2]=0;U=za;c[U>>2]=16843009;c[U+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){k=c[Ya>>2]|0;E=k+-1|0;B=c[Za>>2]|0;C=B+-1|0;l=(B|0)==0;j=b[wa>>1]|0;if(l){y=-1;u=-1}else{u=r(C,j)|0;y=e[qa+(u+k<<1)>>1]|0;u=e[qa+(u+E<<1)>>1]|0}q=r(B,j)|0;j=b[qa+(q+E<<1)>>1]|0;w=j&65535;q=b[qa+(q+k<<1)>>1]|0;if(l)l=0;else l=a[ra+(w*1272|0)+174>>0]|0;s=za+2|0;a[s>>0]=l;t=za+4|0;a[t>>0]=l;x=za+5|0;a[x>>0]=l;if((y|0)>(w|0)){v=a[ra+(y*1272|0)+174>>0]|0;a[x>>0]=v}else v=l;T=a[ra+((q&65535)*1272|0)+174>>0]|0;z=za+1|0;a[z>>0]=T;G=za+3|0;a[G>>0]=a[ra+(w*1272|0)+174>>0]|0;da=za+7|0;a[da>>0]=T;a[za>>0]=1;U=q<<16>>16==j<<16>>16;D=U?1:T;A=(U^1)&1;a[(U?z:ya+1|0)>>0]=1;j=(u|0)==(w|0);z=j?1:l;F=(j^1)&1;a[(j?s:ya+2|0)>>0]=1;a[G>>0]=1;j=(u|0)==(w|0);G=j?1:l;s=(j^1)&1;a[(j?t:ya+4|0)>>0]=1;j=(y|0)==(w|0);q=j?1:v;t=(j^1)&1;a[(j?x:ya+5|0)>>0]=1;a[za+6>>0]=1;j=U?1:T;l=(U^1)&1;a[(U?da:ya+7|0)>>0]=1;if(!(a[ua+27>>0]|0)){u=A;y=D;v=F;w=G;da=325}else{u=A;y=D;v=F;D=l;da=317}}else{j=c[Ya>>2]|0;if(!(a[ua+27>>0]|0))k=j;else{C=c[Za>>2]|0;k=j;B=C;C=C+-1|0;E=j+-1|0;u=0;y=1;v=0;z=1;s=0;G=1;t=0;q=1;D=0;j=1;da=317}}do if((da|0)==317){l=a[va>>0]|0;if((k|0)!=(l&255|0)?(B|0)!=(d[va+1>>0]|0):0){w=G;l=D;da=325;break}if(l<<24>>24==0?(a[va+1>>0]|0)==0:0){w=G;l=D;da=325;break}if(!(a[ua+33>>0]|0)){l=b[wa>>1]|0;if(!B){w=-1;A=-1}else{A=r(C,l)|0;w=e[xa+(A+E<<1)>>1]|0;A=e[xa+(A+k<<1)>>1]|0}da=r(B,l)|0;x=b[xa+(da+E<<1)>>1]|0;l=x&65535;x=(b[xa+(da+k<<1)>>1]|0)==x<<16>>16;if(!x){a[ya+1>>0]=1;a[za+1>>0]=0;y=0;u=1}if((w|0)!=(l|0)){a[ya+2>>0]=1;a[za+2>>0]=0;z=0;v=1}if((w|0)==(l|0))w=G;else{a[ya+4>>0]=1;a[za+4>>0]=0;w=0;s=1}if((A|0)==(l|0))l=t;else{a[ya+5>>0]=1;a[za+5>>0]=0;q=0;l=1}if(x){t=l;l=D;da=325;break}a[ya+7>>0]=1;a[za+7>>0]=0;t=l;l=1;j=0;da=325}else{w=G;l=D;da=325}}while(0);if((da|0)==325){if(u<<24>>24!=0&y<<24>>24==0)a[Ca+1>>0]=0;if(v<<24>>24!=0&z<<24>>24==0)a[Ca+2>>0]=0;if(s<<24>>24!=0&w<<24>>24==0)a[Ca+4>>0]=0;if(t<<24>>24!=0&q<<24>>24==0)a[Ca+5>>0]=0;if(l<<24>>24!=0&j<<24>>24==0)a[Ca+7>>0]=0}if((k<<ab|0)==16){a[Ca>>0]=0;a[Ca+4>>0]=0;a[Ca+6>>0]=0}l=b[wa>>1]|0;if((k|0)==(l|0)){a[Ca+1>>0]=0;a[Ca+5>>0]=0;a[Ca+7>>0]=0}j=c[Za>>2]|0;if(!j){a[Ca+2>>0]=0;a[Ca+4>>0]=0;a[Ca+5>>0]=0}if(((((b[_a>>1]|0)/2|0)<<16>>16)-(j<<Z)|0)<=(V|0)){a[Ca+3>>0]=0;a[Ca+6>>0]=0;a[Ca+7>>0]=0}a[Da>>0]=a[X+16>>0]|0;j=Da+1|0;a[j>>0]=a[X+17>>0]|0;a[ha>>0]=a[Ja>>0]|0;a[ha+1>>0]=a[Ja+1>>0]|0;if(fa<<24>>24==4?(ga=16-gb|0,(k|0)!=(l+-1|0)):0){a[Da>>0]=a[W+ga>>0]|0;a[j>>0]=a[W+(ga+1)>>0]|0}j=c[Ka+11904+((c[H>>2]&7)+-2<<2)>>2]|0;if(!Ga){kc[j&7](W,gb,Y,X,Na,Da,ha,Ca,Ha,Fa,16,V);break}else{kc[j&7](W,gb,Y,X,Na,Da,ha,Ca,Fa,Ha,16,V);break}}while(0);M=i;Q=Z;i=$;k=ba;l=ca;J=c[Ya>>2]|0}R=b[$a>>1]|0;I=J<<ab;L=La-I+R|0;L=((L|0)<9?L:0)+ia|0;R=Aa-I+R|0;R=((R|0)<17?R:0)+ea|0;P=b[_a>>1]|0;F=c[Za>>2]|0;G=F<<ab;K=La+(P<<16>>16)-G|0;K=((K|0)<9?K:0)+ia|0;P=p-(F<<Q)+(((P<<16>>16)/2|0)<<16>>16)|0;P=((P|0)<9?P:0)+n|0;H=(c[i>>2]|0)+I|0;O=(c[k>>2]|0)+I|0;E=(c[l>>2]|0)+G|0;N=(c[m>>2]|0)+G|0;do if((L|0)!=0&(K|0)!=0){if(!(a[(c[f+16>>2]|0)+156>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;j=L+-1|0;if((K|0)>0){i=0;do{a[E+i>>0]=a[aa+(j+(r(i,gb)|0))>>0]|0;i=i+1|0}while((i|0)!=(K|0))}a[na>>0]=a[H+j>>0]|0;na=r(K+-1|0,gb)|0;bc[c[Ka+12184>>2]&15](H,aa+na|0,L);a[oa>>0]=a[aa+(na+L)>>0]|0;break}i=c[M>>2]|0;j=i&7;if(!j){j=L+-1|0;if((K|0)>0){i=0;do{a[E+i>>0]=a[aa+(j+(r(i,gb)|0))>>0]|0;i=i+1|0}while((i|0)!=(K|0))}a[na>>0]=a[H+j>>0]|0;na=r(K+-1|0,gb)|0;bc[c[Ka+12184>>2]&15](H,aa+na|0,L);a[oa>>0]=a[aa+(na+L)>>0]|0;break}a[ma+1>>0]=i<<25>>28;a[ma+2>>0]=c[M>>2]<<21>>28;a[ma+3>>0]=c[M>>2]<<17>>28;a[ma+4>>0]=c[M>>2]<<13>>28;if((j|0)==1){hc[c[Ka+12244>>2]&15](aa,gb,E,H,na,(c[M>>2]|0)>>>19&31,ma,L,K);break}ia=ja;c[ia>>2]=-1;c[ia+4>>2]=-1;ia=ya;c[ia>>2]=0;c[ia+4>>2]=0;ia=za;c[ia>>2]=16843009;c[ia+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){D=F+-1|0;C=J+-1|0;j=(J|0)==0;if(j)B=-1;else B=e[qa+((r(F,b[wa>>1]|0)|0)+C<<1)>>1]|0;k=(F|0)==0;i=b[wa>>1]|0;if(k){y=-1;w=-1}else{w=r(D,i)|0;y=e[qa+(w+J<<1)>>1]|0;w=e[qa+(w+C<<1)>>1]|0}z=e[qa+((r(F,i)|0)+J<<1)>>1]|0;if(j){a[za+6>>0]=0;a[za>>0]=0;a[za+4>>0]=0;l=0;j=0}else{j=a[ra+(B*1272|0)+174>>0]|0;a[za+6>>0]=j;l=a[ra+(z*1272|0)+174>>0]|0;a[za>>0]=l}i=a[ra+(z*1272|0)+174>>0]|0;s=k?0:i;m=za+2|0;a[m>>0]=s;v=za+4|0;a[v>>0]=s;x=za+5|0;a[x>>0]=s;k=za+1|0;a[k>>0]=i;q=za+3|0;a[q>>0]=i;A=za+7|0;a[A>>0]=i;if((B|0)<(z|0))a[za+6>>0]=i;else i=j;ia=(B|0)==(z|0);t=ia?1:l;n=(ia^1)&1;a[(ia?za:ya)>>0]=1;a[k>>0]=1;ia=(y|0)==(z|0);u=ia?1:s;p=(ia^1)&1;a[(ia?m:ya+2|0)>>0]=1;a[q>>0]=1;ia=(w|0)==(z|0);m=ia?1:s;q=(ia^1)&1;a[(ia?v:ya+4|0)>>0]=1;ia=(y|0)==(z|0);k=ia?1:s;l=(ia^1)&1;a[(ia?x:ya+5|0)>>0]=1;ia=(B|0)==(z|0);i=ia?1:i;j=(ia^1)&1;a[(ia?za:ya)+6>>0]=1;a[A>>0]=1;if(!(a[ua+27>>0]|0))da=380;else{w=C;s=D;y=q;x=m;z=j;da=369}}else if(a[ua+27>>0]|0){w=J+-1|0;s=F+-1|0;n=0;t=1;p=0;u=1;y=0;x=1;l=0;k=1;z=0;i=1;da=369}do if((da|0)==369){j=a[va>>0]|0;if((J|0)!=(j&255|0)?(F|0)!=(d[va+1>>0]|0):0){q=y;m=x;j=z;da=380;break}if(j<<24>>24==0?(a[va+1>>0]|0)==0:0){q=y;m=x;j=z;da=380;break}if(!(a[ua+33>>0]|0)){if(!J)v=-1;else v=e[xa+((r(F,b[wa>>1]|0)|0)+w<<1)>>1]|0;j=b[wa>>1]|0;if(!F){s=-1;m=-1}else{m=r(s,j)|0;s=e[xa+(m+J<<1)>>1]|0;m=e[xa+(m+w<<1)>>1]|0}q=e[xa+((r(F,j)|0)+J<<1)>>1]|0;if((v|0)!=(q|0)){a[ya>>0]=1;a[za>>0]=0;t=0;n=1}if((s|0)!=(q|0)){a[ya+2>>0]=1;a[za+2>>0]=0;u=0;p=1}if((m|0)==(q|0)){m=x;j=y}else{a[ya+4>>0]=1;a[za+4>>0]=0;m=0;j=1}if((s|0)!=(q|0)){a[ya+5>>0]=1;a[za+5>>0]=0;k=0;l=1}if((v|0)==(q|0)){q=j;j=z;da=380}else{a[ya+6>>0]=1;a[za+6>>0]=0;q=j;j=1;i=0;da=380}}else{q=y;m=x;j=z;da=380}}while(0);if((da|0)==380){if(n<<24>>24!=0&t<<24>>24==0)a[ja>>0]=0;if(p<<24>>24!=0&u<<24>>24==0)a[ja+2>>0]=0;if(q<<24>>24!=0&m<<24>>24==0)a[ja+4>>0]=0;if(l<<24>>24!=0&k<<24>>24==0)a[ja+5>>0]=0;if(j<<24>>24!=0&i<<24>>24==0)a[ja+6>>0]=0}if(!J){a[ja>>0]=0;a[ja+4>>0]=0;a[ja+6>>0]=0}if(((b[$a>>1]|0)-I|0)<=(L|0)){a[ja+1>>0]=0;a[ja+5>>0]=0;a[ja+7>>0]=0}if(!F){a[ja+2>>0]=0;a[ja+4>>0]=0;a[ja+5>>0]=0}if(((b[_a>>1]|0)-G|0)<=(K|0)){a[ja+3>>0]=0;a[ja+6>>0]=0;a[ja+7>>0]=0}a[Da>>0]=a[aa+(L-gb)>>0]|0;ia=r(K,gb)|0;a[la>>0]=a[aa+(ia+-1)>>0]|0;jc[c[Ka+11888+((c[M>>2]&7)+-2<<2)>>2]&7](aa,gb,E,H,na,Da,la,ja,ma,L,K);a[oa>>0]=a[aa+((r(K+-1|0,gb)|0)+L)>>0]|0;a[ka>>0]=a[aa+(L+-1+ia)>>0]|0}while(0);do if((R|0)!=0&(P|0)!=0){if(!(a[(c[f+16>>2]|0)+157>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;j=R+-2|0;k=R+-1|0;if((P|0)>0){i=0;do{Ha=r(i,gb)|0;Ja=i<<1;a[N+Ja>>0]=a[_+(j+Ha)>>0]|0;a[N+(Ja|1)>>0]=a[_+(k+Ha)>>0]|0;i=i+1|0}while((i|0)!=(P|0))}a[Na>>0]=a[O+j>>0]|0;a[Na+1>>0]=a[O+k>>0]|0;Na=r(P+-1|0,gb)|0;bc[c[Ka+12184>>2]&15](O,_+Na|0,R);Na=Na+R|0;a[Oa>>0]=a[_+Na>>0]|0;a[Oa+1>>0]=a[_+(Na+1)>>0]|0;break}F=M+4|0;i=c[F>>2]|0;k=i&7;do if(k){a[Ha+1>>0]=i<<25>>28;a[Ha+2>>0]=i<<21>>28;a[Ha+3>>0]=i<<17>>28;a[Ha+4>>0]=i<<13>>28;j=c[M+8>>2]|0;a[Fa+1>>0]=j<<25>>28;a[Fa+2>>0]=j<<21>>28;a[Fa+3>>0]=j<<17>>28;a[Fa+4>>0]=j<<13>>28;if((k|0)==1){i=c[Ka+12248>>2]|0;if(!Ga){jc[i&7](_,gb,N,O,Na,(c[F>>2]|0)>>>19&31,j>>>19&31,Ha,Fa,R,P);break}else{jc[i&7](_,gb,N,O,Na,j>>>19&31,(c[F>>2]|0)>>>19&31,Fa,Ha,R,P);break}}oa=Ca;c[oa>>2]=-1;c[oa+4>>2]=-1;oa=ya;c[oa>>2]=0;c[oa+4>>2]=0;oa=za;c[oa>>2]=16843009;c[oa+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){i=c[Ya>>2]|0;C=c[Za>>2]|0;E=C+-1|0;D=i+-1|0;k=(i|0)==0;if(k)B=-1;else B=e[qa+((r(C,b[wa>>1]|0)|0)+D<<1)>>1]|0;l=(C|0)==0;j=b[wa>>1]|0;if(l){A=-1;s=-1}else{s=r(E,j)|0;A=e[qa+(s+i<<1)>>1]|0;s=e[qa+(s+D<<1)>>1]|0}z=e[qa+((r(C,j)|0)+i<<1)>>1]|0;if(k){a[za>>0]=0;a[za+4>>0]=0;a[za+6>>0]=0;n=0;m=0}else{m=a[ra+(B*1272|0)+174>>0]&1;a[za+6>>0]=m;n=a[ra+(z*1272|0)+174>>0]&1;a[za>>0]=n}if(l){a[za+2>>0]=0;k=a[ra+(z*1272|0)+174>>0]|0;j=k&1;t=0}else{k=a[ra+(z*1272|0)+174>>0]|0;t=k&1;a[za+2>>0]=t;j=t}w=za+4|0;a[w>>0]=t;x=za+5|0;a[x>>0]=t;l=za+1|0;a[l>>0]=j;q=za+3|0;a[q>>0]=j;y=za+7|0;a[y>>0]=j;if((B|0)<(z|0))a[za+6>>0]=k;else k=m;ra=(B|0)==(z|0);u=ra?1:n;n=(ra^1)&1;a[(ra?za:ya)>>0]=1;a[l>>0]=1;ra=(A|0)==(z|0);v=ra?1:t;p=(ra^1)&1;a[(ra?za:ya)+2>>0]=1;a[q>>0]=1;ra=(s|0)==(z|0);q=ra?1:t;s=(ra^1)&1;a[(ra?w:ya+4|0)>>0]=1;ra=(A|0)==(z|0);l=ra?1:t;m=(ra^1)&1;a[(ra?x:ya+5|0)>>0]=1;ra=(B|0)==(z|0);j=ra?1:k;k=(ra^1)&1;a[(ra?za:ya)+6>>0]=1;a[y>>0]=1;if(!(a[ua+27>>0]|0))da=435;else{B=i;z=C;y=D;t=E;A=s;da=424}}else{i=c[Ya>>2]|0;if(a[ua+27>>0]|0){t=c[Za>>2]|0;B=i;z=t;y=i+-1|0;t=t+-1|0;n=0;u=1;p=0;v=1;A=0;q=1;m=0;l=1;k=0;j=1;da=424}}do if((da|0)==424){i=a[va>>0]|0;if((B|0)!=(i&255|0)?(z|0)!=(d[va+1>>0]|0):0){s=A;i=B;da=435;break}if(i<<24>>24==0?(a[va+1>>0]|0)==0:0){s=A;i=B;da=435;break}if(!(a[ua+33>>0]|0)){if(!B)x=-1;else x=e[xa+((r(z,b[wa>>1]|0)|0)+y<<1)>>1]|0;i=b[wa>>1]|0;if(!z){w=-1;s=-1}else{s=r(t,i)|0;w=e[xa+(s+B<<1)>>1]|0;s=e[xa+(s+y<<1)>>1]|0}t=e[xa+((r(z,i)|0)+B<<1)>>1]|0;if((x|0)!=(t|0)){a[ya>>0]=1;a[za>>0]=0;u=0;n=1}if((w|0)!=(t|0)){a[ya+2>>0]=1;a[za+2>>0]=0;v=0;p=1}if((s|0)==(t|0))i=A;else{a[ya+4>>0]=1;a[za+4>>0]=0;q=0;i=1}if((w|0)!=(t|0)){a[ya+5>>0]=1;a[za+5>>0]=0;l=0;m=1}if((x|0)==(t|0)){s=i;i=B;da=435;break}a[ya+6>>0]=1;a[za+6>>0]=0;s=i;k=1;j=0;i=B;da=435}else{s=A;i=B;da=435}}while(0);if((da|0)==435){if(n<<24>>24!=0&u<<24>>24==0)a[Ca>>0]=0;if(p<<24>>24!=0&v<<24>>24==0)a[Ca+2>>0]=0;if(s<<24>>24!=0&q<<24>>24==0)a[Ca+4>>0]=0;if(m<<24>>24!=0&l<<24>>24==0)a[Ca+5>>0]=0;if(k<<24>>24!=0&j<<24>>24==0)a[Ca+6>>0]=0}if(!i){a[Ca>>0]=0;a[Ca+4>>0]=0;a[Ca+6>>0]=0}if(((b[$a>>1]|0)-(i<<ab)|0)<=(R|0)){a[Ca+1>>0]=0;a[Ca+5>>0]=0;a[Ca+7>>0]=0}i=c[Za>>2]|0;if(!i){a[Ca+2>>0]=0;a[Ca+4>>0]=0;a[Ca+5>>0]=0}if(((((b[_a>>1]|0)/2|0)<<16>>16)-(i<<Q)|0)<=(P|0)){a[Ca+3>>0]=0;a[Ca+6>>0]=0;a[Ca+7>>0]=0}i=R-gb|0;a[Da>>0]=a[_+i>>0]|0;a[Da+1>>0]=a[_+(i+1)>>0]|0;i=r(P,gb)|0;a[Ea>>0]=a[_+(i+-2)>>0]|0;a[f+105>>0]=a[_+(i+-1)>>0]|0;i=c[Ka+11904+((c[F>>2]&7)+-2<<2)>>2]|0;if(!Ga){kc[i&7](_,gb,N,O,Na,Da,Ea,Ca,Ha,Fa,R,P);break}else{kc[i&7](_,gb,N,O,Na,Da,Ea,Ca,Fa,Ha,R,P);break}}else{j=R+-2|0;k=R+-1|0;if((P|0)>0){i=0;do{Ga=r(i,gb)|0;Ha=i<<1;a[N+Ha>>0]=a[_+(j+Ga)>>0]|0;a[N+(Ha|1)>>0]=a[_+(k+Ga)>>0]|0;i=i+1|0}while((i|0)!=(P|0))}a[Na>>0]=a[O+j>>0]|0;a[Na+1>>0]=a[O+k>>0]|0;Na=r(P+-1|0,gb)|0;bc[c[Ka+12184>>2]&15](O,_+Na|0,R);Na=Na+R|0;a[Oa>>0]=a[_+Na>>0]|0;a[Oa+1>>0]=a[_+(Na+1)>>0]|0}while(0);Na=(r(P+-1|0,gb)|0)+R|0;a[Oa>>0]=a[_+Na>>0]|0;a[Oa+1>>0]=a[_+(Na+1)>>0]|0;Oa=(r(P,gb)|0)+R|0;a[Ja>>0]=a[_+(Oa+-2)>>0]|0;a[Ja+1>>0]=a[_+(Oa+-1)>>0]|0}while(0);if((ta|0?(o=c[Za>>2]|0,Ua=La+(b[_a>>1]|0)-(o<<ab)|0,Qa=c[Ya>>2]|0,Ra=La+(b[$a>>1]|0)-(Qa<<ab)|0,Ra=((Ra|0)<9?Ra:0)+bb|0,h=aa+((Qa|0)==0?0:-8)+((o|0)==0?0:fb)|0,g=c[Ma>>2]|0,Qa=(Qa<<cb)+(r(o<<cb,db)|0)+(((Qa|0)>0)<<31>>31)|0,Ta=(c[eb>>2]|0)+(Qa>>3)|0,o=((o|0)!=0)<<31>>31,Ua=Pa+((Ua|0)<9?Ua:0)>>3,(Ua|0)>(o|0)):0)?(Va=Qa&7,Wa=(1<<(Ra+7>>3))+-1|0,Xa=0-Ra|0,(Ra|0)>0):0){p=gb<<1;q=gb*3|0;s=gb<<2;t=gb*5|0;u=gb*6|0;v=gb*7|0;while(1){i=(c[Ta+(r(o,hb)|0)>>2]|0)>>>Va&Wa;if(i){n=Ra;while(1){j=Mk(i|0)|0;j=(i|0)==0?31:j;if(!j){k=(i|0)==-1;l=Mk(~i|0)|0;m=k?248:l<<3;m=(m|0)<(n|0)?m:n;if((m|0)>0){j=0;do{a[h+j>>0]=a[g+j>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+gb)>>0]=a[g+(j+128)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+p)>>0]=a[g+(j+256)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+q)>>0]=a[g+(j+384)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+s)>>0]=a[g+(j+512)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+t)>>0]=a[g+(j+640)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+u)>>0]=a[g+(j+768)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+v)>>0]=a[g+(j+896)>>0]|0;j=j+1|0}while((j|0)<(m|0))}j=k?31:l}Pa=j<<3;Qa=(n|0)>(Pa|0)?Pa:n;n=n-Pa|0;h=h+Qa|0;g=g+Qa|0;if((n|0)<=0)break;else i=i>>>j}h=h+Xa|0;g=g+Xa|0}o=o+1|0;if((o|0)==(Ua|0))break;else{h=h+Sa|0;g=g+1024|0}}}if(!sa){Sb=ib;return}g=c[Za>>2]|0;w=Aa+(b[_a>>1]|0)-(g<<ab)|0;j=c[Ya>>2]|0;y=Aa+(b[$a>>1]|0)-(j<<ab)|0;y=((y|0)<17?y:0)+bb|0;i=(g|0)==0;g=(j<<cb)+(r(g<<cb,db)|0)|0;g=(j|0)>0?g+-2|0:g;x=(c[eb>>2]|0)+(g>>3)|0;h=i?0:-2;w=Ba+((w|0)<17?w:0)>>3;if((h|0)>=(w|0)){Sb=ib;return}p=g&7;q=(1<<(y+7>>3))+-1|0;s=((gb|0)/2|0)<<3;t=0-y|0;if((y|0)<=0){Sb=ib;return}u=gb<<1;v=gb*3|0;i=_+((j|0)==0?0:-16)+(i?0:fb)|0;o=h;g=c[Ia>>2]|0;while(1){h=(c[x+(r(o,hb)|0)>>2]|0)>>>p&q;if(!h)h=i;else{n=y;m=i;while(1){i=Mk(h|0)|0;i=(h|0)==0?31:i;if(!i){j=(h|0)==-1;k=Mk(~h|0)|0;l=j?248:k<<3;l=(l|0)<(n|0)?l:n;if((l|0)>0){i=0;do{a[m+i>>0]=a[g+i>>0]|0;i=i+1|0}while((i|0)<(l|0));i=0;do{a[m+(i+gb)>>0]=a[g+(i+128)>>0]|0;i=i+1|0}while((i|0)<(l|0));i=0;do{a[m+(i+u)>>0]=a[g+(i+256)>>0]|0;i=i+1|0}while((i|0)<(l|0));i=0;do{a[m+(i+v)>>0]=a[g+(i+384)>>0]|0;i=i+1|0}while((i|0)<(l|0))}i=j?31:k}eb=i<<3;fb=(n|0)>(eb|0)?eb:n;n=n-eb|0;m=m+fb|0;g=g+fb|0;if((n|0)<=0)break;else h=h>>>i}h=m+t|0;g=g+t|0}o=o+1|0;if((o|0)==(w|0))break;else{i=h+s|0;g=g+512|0}}Sb=ib;return}function dh(f,g,h,i,j,k,l,m,n,o,p,q){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;w=g+3|0;t=1<<g;u=a[h>>0]|0;x=h+2|0;K=a[h+1>>0]|0;v=(K&255)>>>1;c[n>>2]=-1;c[o>>2]=-1;K=(K&1)!=0;if(K)Uk(f|0,0,t<<g<<1|0)|0;if(((l|0)!=0&u<<24>>24==1?(b[x>>1]|0)==0:0)?(b[h+4>>1]|0)==1:0){c[p>>2]=1;if(!m){p=w-k|0;l=(p|0)<1?1>>>(1-p|0):1<<p+-1;if((g|0)==2){g=(w|0)<(k|0)?512:32768;I=0-g|0;J=b[h+6>>1]|0;g=(r(r(c[33600+(j<<2)>>2]|0,b[i>>1]|0)|0,(g|0)>(J|0)?((J|0)<(I|0)?I:J):g+-1|0)|0)+l|0;p=(p|0)>0?g>>p:g<<0-p;if((p|0)>32767)p=32767;else p=((p|0)>-32768?p:-32768)&65535}else{g=r(b[i>>1]|0,b[h+6>>1]|0)|0;g=(r(g,c[33600+(j<<2)>>2]|0)|0)+l|0;p=(p|0)>0?g>>p:g<<0-p;if((p|0)>32767)p=32767;else p=((p|0)>-32768?p:-32768)&65535}if(K)p=(p<<16>>16)+16>>5&65535}else{if((g|0)!=31){p=0;do{b[f+(p<<g<<1)>>1]=0;p=p+1|0}while((p|0)<(t|0))}p=b[h+6>>1]|0}b[q>>1]=p;b[f>>1]=p;c[n>>2]=c[n>>2]&-2;c[o>>2]=c[o>>2]&-2;o=h+8|0;return o|0}c[p>>2]=0;if(!K)Uk(f|0,0,t<<g<<1|0)|0;J=u&255;if(!(u<<24>>24)){o=x;return o|0}I=v&255;E=(m|0)==0;F=(g|0)==2;G=w-k|0;H=(G|0)<1?1>>>(1-G|0):1<<G+-1;B=(w|0)<(k|0)?512:32768;C=0-B|0;D=B+-1|0;y=33600+(j<<2)|0;z=(G|0)>0;A=0-G|0;j=0;do{w=e[x>>1]|0;h=w<<2&1020;w=w>>>8<<2;k=f+(w<<g<<1)+(h<<1)|0;t=e[x+2>>1]|0;if(E){l=31;p=0;while(1){q=s(t|0)|0;u=l-q|0;m=d[24800+(I<<4)+u>>0]|0;v=m&3;m=m>>>2;l=b[x+4+(p<<1)>>1]|0;if(F)l=r(r(c[y>>2]|0,b[i+((m+w<<2)+(v|h)<<1)>>1]|0)|0,(B|0)>(l|0)?((l|0)<(C|0)?C:l):D)|0;else{l=r(b[i+((m+w<<g)+(v|h)<<1)>>1]|0,l)|0;l=r(l,c[y>>2]|0)|0}l=l+H|0;l=z?l>>G:l<<A;l=(l|0)>-32768?l:-32768;l=(l|0)<32767?l:32767;p=p+1|0;if(K)l=(l<<16>>16)+16>>5;c[n>>2]=c[n>>2]&~(1<<(v|h));c[o>>2]=c[o>>2]&~(1<<m+w);b[k+(v<<1)+(m<<g<<1)>>1]=l;t=t<<q<<1;if(!t)break;else l=u+-1|0}}else{l=31;u=0;while(1){q=s(t|0)|0;l=l-q|0;m=d[24800+(I<<4)+l>>0]|0;v=m&3;m=m>>>2;p=u+1|0;u=b[x+4+(u<<1)>>1]|0;c[n>>2]=c[n>>2]&~(1<<(v|h));c[o>>2]=c[o>>2]&~(1<<m+w);b[k+(v<<1)+(m<<g<<1)>>1]=u;t=t<<q<<1;if(!t)break;else{l=l+-1|0;u=p}}}x=x+4+(p<<1)|0;j=j+1|0}while((j|0)!=(J|0));o=x;return o|0}function eh(e,f,g,h,i,j,k){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=((h<<16>>16)+63|0)/64|0;z=c[e+44>>2]|0;y=c[f>>2]|0;t=y&15;u=y>>>4&15;l=u+1|0;q=(j|0)/4|0;s=t^31;h=(c[g+(l+q<<2)>>2]|0)>>>s&1;l=(c[g+(l<<2)>>2]|0)>>>s&1;w=c[g+(u<<2)>>2]|0;p=w>>>(30-t|0)&1;q=w>>>(30-q-t|0)&1;s=w>>>s&1;w=c[e+4>>2]|0;t=(r(w,k)|0)+(t<<2)|0;x=c[e+8>>2]|0;u=(r(x,k)|0)+(u<<2)|0;o=c[e+128>>2]|0;m=(j|0)>4?(j|0)/8|0:1;n=(1<<m)+-1|0;if(i<<24>>24){if(!(h<<24>>24))h=0;else{h=t+-1|0;e=o+(r((u+j|0)/8|0,v)|0)+((h|0)/64|0)|0;if((m|0)>0){g=((h|0)/8|0)&7;h=0;f=0;do{h=((d[e+(r(f,v)|0)>>0]|0)>>>g&1)<<f|h&255;f=f+1|0}while((f|0)!=(m|0))}else h=0;h=h&n&255}if(!(l<<24>>24))f=0;else{f=t+-1|0;i=o+(r((u|0)/8|0,v)|0)+((f|0)/64|0)|0;if((m|0)>0){e=((f|0)/8|0)&7;f=0;g=0;do{f=((d[i+(r(g,v)|0)>>0]|0)>>>e&1)<<g|f&255;g=g+1|0}while((g|0)!=(m|0))}else f=0;f=f&n&255}if(!(p<<24>>24))g=0;else g=(d[o+(r((u+-1|0)/8|0,v)|0)+((t|0)/64|0)>>0]|0)>>>(((t|0)/8|0)&7)&n&255;if(!(q<<24>>24))e=0;else{e=t+j|0;e=(d[o+(r((u+-1|0)/8|0,v)|0)+((e|0)/64|0)>>0]|0)>>>(((e|0)/8|0)&7)&n&255}if(!(s<<24>>24))i=0;else{i=t+-1|0;i=(d[o+(r((u+-1|0)/8|0,v)|0)+((i|0)/64|0)>>0]|0)>>>(((i|0)/8|0)&7)<<16&65536}}else{i=s<<24>>24==0?0:65536;e=q<<24>>24==0?0:15;g=p<<24>>24==0?0:15;f=l<<24>>24==0?0:15;h=h<<24>>24==0?0:15}j=(j|0)<8?j:8;v=a[z+4116>>0]|0;u=-4<<(y>>>8&7);w=u-(y<<2&60)+(b[z>>1]|0)-(w<<v)|0;z=u-(y>>>2&60)-(x<<v)+(b[z+2>>1]|0)|0;return (g&255)<<8|i|((1<<((((w|0)>(k|0)?k:w)|0)/(j|0)|0))+255&(e&255))<<12|c[37024+((f&255)<<2)>>2]<<4|c[37024+(((1<<((((z|0)>(k|0)?k:z)|0)/(j|0)|0))+255&(h&255))<<2)>>2]|0}function fh(d,e){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;g=(c[d+12>>2]|0)>>>17&3;h=(g|0)==2;i=c[e+12>>2]&393216;f=(i|0)==262144;o=a[d+10>>0]|0;p=a[d+11>>0]|0;j=a[e+10>>0]|0;k=a[e+11>>0]|0;l=b[d>>1]|0;t=b[d+2>>1]|0;u=b[d+4>>1]|0;q=b[d+6>>1]|0;m=b[e>>1]|0;r=b[e+2>>1]|0;s=b[e+4>>1]|0;n=b[e+6>>1]|0;if(!(h&f)){if(h|f){u=1;u=u&1;return u|0}e=(g|0)==0;d=(i|0)==0;if((e?o:p)<<24>>24!=(d?j:k)<<24>>24){u=1;u=u&1;return u|0}s=((e?l:u)<<16>>16)-((d?m:s)<<16>>16)|0;u=((e?t:q)<<16>>16)-((d?r:n)<<16>>16)|0;u=(((s|0)>0?s:0-s|0)|0)>3|(((u|0)>0?u:0-u|0)|0)>3;u=u&1;return u|0}d=o<<24>>24==j<<24>>24;if(!(d&p<<24>>24==k<<24>>24)?!(p<<24>>24==j<<24>>24?o<<24>>24==k<<24>>24:0):0){u=1;u=u&1;return u|0}e=l<<16>>16;if(o<<24>>24==p<<24>>24){d=m<<16>>16;p=e-d|0;if((((((p|0)>0?p:0-p|0)|0)<=3?(p=(t<<16>>16)-(r<<16>>16)|0,(((p|0)>0?p:0-p|0)|0)<=3):0)?(p=(u<<16>>16)-(s<<16>>16)|0,(((p|0)>0?p:0-p|0)|0)<=3):0)?(p=(q<<16>>16)-(n<<16>>16)|0,(((p|0)>0?p:0-p|0)|0)<=3):0){u=0;u=u&1;return u|0}s=e-(s<<16>>16)|0;if((((s|0)>0?s:0-s|0)|0)>3){u=1;u=u&1;return u|0}t=(t<<16>>16)-(n<<16>>16)|0;if((((t|0)>0?t:0-t|0)|0)>3){u=1;u=u&1;return u|0}t=(u<<16>>16)-d|0;u=(q<<16>>16)-(r<<16>>16)|0;u=(((t|0)>0?t:0-t|0)|0)>3|(((u|0)>0?u:0-u|0)|0)>3;u=u&1;return u|0}if(d){p=e-(m<<16>>16)|0;if((((p|0)>0?p:0-p|0)|0)>=4){u=1;u=u&1;return u|0}t=(t<<16>>16)-(r<<16>>16)|0;if((((t|0)>0?t:0-t|0)|0)<4){t=(u<<16>>16)-(s<<16>>16)|0;u=(q<<16>>16)-(n<<16>>16)|0;return ((((t|0)>0?t:0-t|0)|0)>3|(((u|0)>0?u:0-u|0)|0)>3)&1|0}else{u=1;u=u&1;return u|0}}s=e-(s<<16>>16)|0;if((((s|0)>0?s:0-s|0)|0)>=4){u=1;u=u&1;return u|0}t=(t<<16>>16)-(n<<16>>16)|0;if((((t|0)>0?t:0-t|0)|0)>=4){u=1;u=u&1;return u|0}t=(u<<16>>16)-(m<<16>>16)|0;u=(q<<16>>16)-(r<<16>>16)|0;u=(((t|0)>0?t:0-t|0)|0)>3|(((u|0)>0?u:0-u|0)|0)>3;u=u&1;return u|0}function gh(d,f,g,h,i,j,k,l,m,n,o,p){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;aa=Sb;Sb=Sb+80|0;J=aa+64|0;K=aa+56|0;R=aa+48|0;L=aa+32|0;y=aa+24|0;S=aa+16|0;Z=aa+8|0;Y=aa;M=c[d+8>>2]|0;A=c[d+24>>2]|0;N=j+12|0;q=c[N>>2]|0;_=q>>>23&1;Q=_+1|0;$=q>>>24&1;T=$+1|0;F=M+876|0;c[J>>2]=F;F=(a[M+76>>0]|0)==1?F:M+1068|0;c[J+4>>2]=F;O=c[M+876+((a[j+8>>0]|0)*12|0)>>2]|0;P=c[F+((a[j+9>>0]|0)*12|0)>>2]|0;U=q<<2&60;V=q>>>2&60;z=q>>>6&60;W=z+4|0;t=q>>>10&60;X=t+4|0;t=c[g+((r(t>>>2,i)|0)<<2)>>2]|0;if((k|0)!=0?(s=c[g+((r(X>>>2,i)|0)<<2)>>2]|0,(c[A+(s<<4)+12>>2]&65536|0)==0):0){c[L>>2]=A+(s<<4);i=1}else i=0;if((l|0)!=0?(c[A+(t<<4)+12>>2]&65536|0)==0:0){c[L+(i<<2)>>2]=A+(t<<4);w=i+1|0;g=0}else{w=i;g=1}H=(i|0)!=1&g;c[K>>2]=0;G=K+4|0;c[G>>2]=0;u=(w|0)>0;a:do if(u){i=O+8|0;g=0;while(1){k=c[L+(g<<2)>>2]|0;s=c[k+12>>2]&393216;if((s|0)!=131072){t=c[i>>2]|0;if((t|0)==(c[(c[M+876+((a[k+8>>0]|0)*12|0)>>2]|0)+8>>2]|0)){I=12;break}if(s|0){v=t;I=14}}else{v=c[i>>2]|0;I=14}if((I|0)==14?(I=0,(v|0)==(c[(c[F+((a[k+9>>0]|0)*12|0)>>2]|0)+8>>2]|0)):0){I=16;break}g=g+1|0;if((g|0)>=(w|0)){I=17;break a}}if((I|0)==12){c[K>>2]=1;c[R>>2]=e[k>>1]|e[k+2>>1]<<16;break}else if((I|0)==16){c[K>>2]=1;C=k+4|0;c[R>>2]=e[C>>1]|e[C+2>>1]<<16;break}}else I=17;while(0);if((I|0)==17){kh(J,M,K,O,L,R,w,0);q=c[N>>2]|0}b:do if(q&393216){l=R+4|0;c:do if(u){i=P+8|0;g=0;while(1){k=c[L+(g<<2)>>2]|0;s=c[k+12>>2]&393216;if(s){t=c[i>>2]|0;if((t|0)==(c[(c[F+((a[k+9>>0]|0)*12|0)>>2]|0)+8>>2]|0)){I=24;break}if((s|0)!=131072){x=t;I=26}}else{x=c[i>>2]|0;I=26}if((I|0)==26?(I=0,(x|0)==(c[(c[M+876+((a[k+8>>0]|0)*12|0)>>2]|0)+8>>2]|0)):0){I=27;break}g=g+1|0;if((g|0)>=(w|0))break c}if((I|0)==24){c[G>>2]=1;C=k+4|0;c[l>>2]=e[C>>1]|e[C+2>>1]<<16;break}else if((I|0)==27){c[G>>2]=1;c[l>>2]=e[k>>1]|e[k+2>>1]<<16;break b}}while(0);if(!(c[G>>2]|0)){kh(J,M,G,P,L,l,w,1);q=c[N>>2]|0}}while(0);q=q>>>17&3;g=(q|0)==1&1;q=(q|0)==0&1;if(c[K>>2]|0)if(!_){g=c[R>>2]|0;b[p>>1]=g;b[p+2>>1]=g>>>16;g=1;k=1}else k=1;else k=0;if(c[G>>2]|0)if(!$){q=p+4|0;i=c[R+4>>2]|0;b[q>>1]=i;b[q+2>>1]=i>>>16;q=1;i=1}else i=1;else i=0;if((g|0)!=0&(q|0)!=0){Sb=aa;return}C=W+U|0;s=r(c[f+(W>>>2<<2)>>2]|0,m)|0;l=r(c[f+(z>>>2<<2)>>2]|0,n)|0;t=r(c[((V|0)==0?f+-4|0:h)>>2]|0,o)|0;if((m|0)!=0?(c[A+(s<<4)+12>>2]&65536|0)==0:0){c[L>>2]=A+(s<<4);s=1}else s=0;if((n|0)!=0?(c[A+(l<<4)+12>>2]&65536|0)==0:0){c[L+(s<<2)>>2]=A+(l<<4);s=s+1|0}if((o|0)!=0?(c[A+(t<<4)+12>>2]&65536|0)==0:0){c[L+(s<<2)>>2]=A+(t<<4);c[y>>2]=0;t=y+4|0;c[t>>2]=0;s=s+1|0;z=S;I=48}else{c[y>>2]=0;t=y+4|0;c[t>>2]=0;if((s|0)>0){z=S;I=48}else{f=0;x=0;z=S;s=0}}d:do if((I|0)==48){u=O+8|0;l=0;while(1){v=c[L+(l<<2)>>2]|0;w=c[v+12>>2]&393216;if((w|0)!=131072){x=c[u>>2]|0;if((x|0)==(c[(c[M+876+((a[v+8>>0]|0)*12|0)>>2]|0)+8>>2]|0)){I=52;break}if(w|0){B=x;I=54}}else{B=c[u>>2]|0;I=54}if((I|0)==54?(I=0,(B|0)==(c[(c[F+((a[v+9>>0]|0)*12|0)>>2]|0)+8>>2]|0)):0){I=55;break}l=l+1|0;if((l|0)>=(s|0)){f=s;x=0;s=1;break d}}if((I|0)==52){c[y>>2]=1;x=e[v>>1]|e[v+2>>1]<<16;b[z>>1]=x;b[z+2>>1]=x>>>16;f=s;x=x&65535;s=1;break}else if((I|0)==55){c[y>>2]=1;x=v+4|0;x=e[x>>1]|e[x+2>>1]<<16;b[z>>1]=x;b[z+2>>1]=x>>>16;f=s;x=x&65535;s=1;break}}while(0);e:do if((c[N>>2]&393216|0)!=0?(D=S+4|0,s):0){l=P+8|0;s=0;while(1){u=c[L+(s<<2)>>2]|0;v=c[u+12>>2]&393216;if(v){w=c[l>>2]|0;if((w|0)==(c[(c[F+((a[u+9>>0]|0)*12|0)>>2]|0)+8>>2]|0)){I=63;break}if((v|0)!=131072){E=w;I=65}}else{E=c[l>>2]|0;I=65}if((I|0)==65?(I=0,(E|0)==(c[(c[M+876+((a[u+8>>0]|0)*12|0)>>2]|0)+8>>2]|0)):0){I=66;break}s=s+1|0;if((s|0)>=(f|0)){l=0;u=0;w=0;break e}}if((I|0)==63){c[t>>2]=1;w=u+4|0;w=e[w>>1]|e[w+2>>1]<<16;c[D>>2]=w;l=w&65535;u=w>>>16&65535;break}else if((I|0)==66){c[t>>2]=1;w=e[u>>1]|e[u+2>>1]<<16;c[D>>2]=w;l=w&65535;u=w>>>16&65535;break}}else{l=0;u=0;w=0}while(0);v=c[y>>2]|0;do if(v){if((k|0?(b[R>>1]|0)==x<<16>>16:0)?(b[R+2>>1]|0)==(b[S+2>>1]|0):0)break;k=k+1|0;if((Q|0)==(k|0)){g=c[S>>2]|0;b[p>>1]=g;b[p+2>>1]=g>>>16;g=1;k=Q}}while(0);s=c[t>>2]|0;do if(s){if((i|0?(b[R+4>>1]|0)==l<<16>>16:0)?(b[R+6>>1]|0)==u<<16>>16:0)break;i=i+1|0;if((T|0)==(i|0)){q=p+4|0;b[q>>1]=w;b[q+2>>1]=w>>>16;q=1;i=T}}while(0);do if(!((g|0)!=0&(q|0)!=0)){if(H&(v|0)==1){c[K>>2]=1;c[R>>2]=c[S>>2]}if(H&(s|0)==1){c[G>>2]=1;c[R+4>>2]=w}if(H){c[t>>2]=0;c[y>>2]=0;kh(J,M,y,O,L,z,f,0);if(c[N>>2]&393216|0)kh(J,M,t,P,L,S+4|0,f,1);f:do if(c[y>>2]|0){do if(k|0){if((b[R>>1]|0)!=(b[S>>1]|0))break;if((b[R+2>>1]|0)==(b[S+2>>1]|0))break f}while(0);k=k+1|0;if((Q|0)!=(k|0))break;g=c[S>>2]|0;b[p>>1]=g;b[p+2>>1]=g>>>16;g=1;k=Q}while(0);g:do if(c[t>>2]|0){do if(i|0){if((b[R+4>>1]|0)!=(b[S+4>>1]|0))break;if((b[R+6>>1]|0)==(b[S+6>>1]|0))break g}while(0);i=i+1|0;if((T|0)!=(i|0))break;q=p+4|0;i=c[S+4>>2]|0;b[q>>1]=i;b[q+2>>1]=i>>>16;q=1;i=T}while(0);if((g|0)!=0&(q|0)!=0)break;else{f=k;y=i}}else{f=k;y=i}x=(f|0)!=2;z=(y|0)!=2;if(z|x){s=Y;c[s>>2]=0;c[s+4>>2]=0;ih(d,j,Z,Y,1,C,X+V|0);s=c[Y>>2]|0;l=Y+4|0;t=c[l>>2]|0;i=c[Z>>2]|0;u=Z+4|0;k=c[u>>2]|0;w=(s|0)==0;v=(t|0)==0;if(w|v){ih(d,j,Z,Y,1,(W>>>1)+U|0,(X>>>1)+V|0);t=c[l>>2]|t;s=c[Y>>2]|s;k=v?c[u>>2]|0:k;i=w?c[Z>>2]|0:i}if((_|0)==(f|0)&(x&(s|0)!=0)){b[p>>1]=i;b[p+2>>1]=i>>>16;g=1}if(($|0)==(y|0)&(z&(t|0)!=0)){q=p+4|0;b[q>>1]=k;b[q+2>>1]=k>>>16;q=1}if(!((g|0)==0|(q|0)==0))break}if(!g){b[p>>1]=0;b[p+2>>1]=0}if(q|0)break;b[p+4>>1]=0;b[p+6>>1]=0}while(0);Sb=aa;return}function hh(d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;var v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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;ea=Sb;Sb=Sb+96|0;Y=ea;P=ea+88|0;Q=ea+80|0;ca=c[d+8>>2]|0;T=ca+76|0;ba=(a[T>>0]|0)==1?ca+876|0:ca+1068|0;E=a[(c[d>>2]|0)+43>>0]|0;F=m+-1|0;O=n+l|0;v=O+-1|0;H=c[f+((r(v-n>>2,g)|0)<<2)>>2]|0;L=c[d+24>>2]|0;G=L+(H<<4)|0;if(!q)q=0;else q=(c[L+(H<<4)+12>>2]&65536|0)==0;C=m>>E;D=n>>E;da=h+12|0;N=c[da>>2]|0;S=N>>>20&7;aa=S+1|0;a:do if(q?!((C|0)==(F>>E|0)&(D|0)==(v>>E|0)):0){if((j|0)==1&(o|0)==0)switch(i|0){case 2:case 6:case 7:{A=0;break a}default:{}};c[Y>>2]=c[G>>2];c[Y+4>>2]=c[G+4>>2];c[Y+8>>2]=c[G+8>>2];c[Y+12>>2]=c[G+12>>2];if(!S){c[h>>2]=c[Y>>2];c[h+4>>2]=c[Y+4>>2];c[h+8>>2]=c[Y+8>>2];c[da>>2]=c[Y+12>>2]&393216|N&-393217;Sb=ea;return}else A=1}else A=0;while(0);M=m+k|0;q=M+-1|0;B=n+-1|0;K=c[e+(q-m>>2<<2)>>2]|0;I=L+(K<<4)|0;b:do if(((t|0)!=0?(x=c[L+(K<<4)+12>>2]|0,t=x&65536,w=t>>>16^1,(t|0)==0):0)?!((C|0)==(q>>E|0)&(D|0)==(B>>E|0)):0){if((j|0)==1&(o|0)==0)switch(i|0){case 1:case 4:case 5:{q=A;w=A;j=0;break b}default:{}}if(A){o=(c[L+(H<<4)+12>>2]|0)>>>17&3;if((o|0)==(x>>>17&3|0)){if((o|0)!=1){if((a[L+(H<<4)+8>>0]|0)==(a[L+(K<<4)+8>>0]|0))q=(xi(G,I,4)|0)==0&1;else q=0;if(o)R=20}else{q=0;R=20}if((R|0)==20){if((a[L+(H<<4)+9>>0]|0)==(a[L+(K<<4)+9>>0]|0))v=(xi(L+(H<<4)+4|0,L+(K<<4)+4|0,4)|0)==0&1;else v=0;q=(o|0)==2?(q|0)!=0&(v|0)!=0&1:v}x=(q|0)==0;q=A+(x&1)|0;if(!x){w=1;j=1;break}}else q=2}else q=w;v=Y+(A<<4)|0;c[v>>2]=c[I>>2];c[v+4>>2]=c[I+4>>2];c[v+8>>2]=c[I+8>>2];c[v+12>>2]=c[I+12>>2];w=A+1|0;if((w|0)==(aa|0)){c[h>>2]=c[v>>2];c[h+4>>2]=c[v+4>>2];c[h+8>>2]=c[v+8>>2];c[da>>2]=c[Y+(A<<4)+12>>2]&393216|N&-393217;Sb=ea;return}else j=1}else{q=A;w=A;j=0}while(0);o=c[e+(k>>2<<2)>>2]|0;i=L+(o<<4)|0;c:do if(((s|0)!=0?(y=c[L+(o<<4)+12>>2]|0,(y&65536|0)==0):0)?!((C|0)==(M>>E|0)&(D|0)==(B>>E|0)):0){do if(j){t=(c[L+(K<<4)+12>>2]|0)>>>17&3;if((t|0)!=(y>>>17&3|0)){q=q+1|0;break}if((t|0)!=1){if((a[L+(K<<4)+8>>0]|0)==(a[L+(o<<4)+8>>0]|0))v=(xi(I,i,4)|0)==0&1;else v=0;if(t)R=37}else{v=0;R=37}if((R|0)==37){if((a[L+(K<<4)+9>>0]|0)==(a[L+(o<<4)+9>>0]|0))o=(xi(L+(K<<4)+4|0,L+(o<<4)+4|0,4)|0)==0&1;else o=0;v=(t|0)==2?(v|0)!=0&(o|0)!=0&1:o}y=(v|0)==0;q=q+(y&1)|0;if(!y)break c}else q=q+1|0;while(0);v=Y+(w<<4)|0;c[v>>2]=c[i>>2];c[v+4>>2]=c[i+4>>2];c[v+8>>2]=c[i+8>>2];c[v+12>>2]=c[i+12>>2];o=w+1|0;if((o|0)==(aa|0)){c[h>>2]=c[v>>2];c[h+4>>2]=c[v+4>>2];c[h+8>>2]=c[v+8>>2];c[da>>2]=N&-393217|c[Y+(w<<4)+12>>2]&393216;Sb=ea;return}else w=o}while(0);o=c[f+((r(l>>2,g)|0)<<2)>>2]|0;i=L+(o<<4)|0;d:do if(((p|0)!=0?(z=c[L+(o<<4)+12>>2]|0,(z&65536|0)==0):0)?!((C|0)==(F>>E|0)&(D|0)==(O>>E|0)):0){do if(A){t=(c[L+(H<<4)+12>>2]|0)>>>17&3;if((t|0)!=(z>>>17&3|0)){q=q+1|0;break}if((t|0)!=1){if((a[L+(H<<4)+8>>0]|0)==(a[L+(o<<4)+8>>0]|0))v=(xi(G,i,4)|0)==0&1;else v=0;if(t)R=54}else{v=0;R=54}if((R|0)==54){if((a[L+(H<<4)+9>>0]|0)==(a[L+(o<<4)+9>>0]|0))o=(xi(L+(H<<4)+4|0,L+(o<<4)+4|0,4)|0)==0&1;else o=0;v=(t|0)==2?(v|0)!=0&(o|0)!=0&1:o}z=(v|0)==0;q=q+(z&1)|0;if(!z)break d}else q=q+1|0;while(0);v=Y+(w<<4)|0;c[v>>2]=c[i>>2];c[v+4>>2]=c[i+4>>2];c[v+8>>2]=c[i+8>>2];c[v+12>>2]=c[i+12>>2];o=w+1|0;if((o|0)==(aa|0)){c[h>>2]=c[v>>2];c[h+4>>2]=c[v+4>>2];c[h+8>>2]=c[v+8>>2];c[da>>2]=N&-393217|c[Y+(w<<4)+12>>2]&393216;Sb=ea;return}else w=o}while(0);t=c[e+-4>>2]|0;i=L+(t<<4)|0;do if(((u|0)!=0?(J=c[L+(t<<4)+12>>2]|0,(J&65536|0)==0):0)?!((C|0)==(F>>E|0)&(D|0)==(B>>E|0)|(q|0)==4):0){if(!A)q=1;else{o=(c[L+(H<<4)+12>>2]|0)>>>17&3;do if((o|0)==(J>>>17&3|0)){if((o|0)!=1){if((a[L+(H<<4)+8>>0]|0)==(a[L+(t<<4)+8>>0]|0))q=(xi(G,i,4)|0)==0&1;else q=0;if(!o)break}else q=0;if((a[L+(H<<4)+9>>0]|0)==(a[L+(t<<4)+9>>0]|0))v=(xi(L+(H<<4)+4|0,L+(t<<4)+4|0,4)|0)==0&1;else v=0;q=(o|0)==2?(q|0)!=0&(v|0)!=0&1:v}else q=0;while(0);q=(q|0)==0}if((j|0)==0|q^1){if(!q)break}else{o=J>>>17&3;if(((c[L+(K<<4)+12>>2]|0)>>>17&3|0)==(o|0)){if((o|0)!=1){if((a[L+(K<<4)+8>>0]|0)==(a[L+(t<<4)+8>>0]|0))q=(xi(I,i,4)|0)==0&1;else q=0;if(o)R=79}else{q=0;R=79}if((R|0)==79){if((a[L+(K<<4)+9>>0]|0)==(a[L+(t<<4)+9>>0]|0))v=(xi(L+(K<<4)+4|0,L+(t<<4)+4|0,4)|0)==0&1;else v=0;q=(o|0)==2?(q|0)!=0&(v|0)!=0&1:v}if(q|0)break}}v=Y+(w<<4)|0;c[v>>2]=c[i>>2];c[v+4>>2]=c[i+4>>2];c[v+8>>2]=c[i+8>>2];c[v+12>>2]=c[i+12>>2];q=w+1|0;if((q|0)==(aa|0)){c[h>>2]=c[v>>2];c[h+4>>2]=c[v+4>>2];c[h+8>>2]=c[v+8>>2];c[da>>2]=N&-393217|c[Y+(w<<4)+12>>2]&393216;Sb=ea;return}else w=q}while(0);v=Q;c[v>>2]=0;c[v+4>>2]=0;ih(d,h,P,Q,0,M,O);v=c[Q>>2]|0;t=Q+4|0;o=c[t>>2]|0;q=o|v;if(q|0){c[Y+(w<<4)>>2]=c[P>>2];c[Y+(w<<4)+4>>2]=c[P+4>>2]}i=(v|0)==0;j=(o|0)==0;if(i|j){ih(d,h,P,Q,0,(k>>1)+m|0,(l>>1)+n|0);if(i)c[Y+(w<<4)>>2]=c[P>>2];if(j)c[Y+(w<<4)+4>>2]=c[P+4>>2];q=c[Q>>2]|v;R=c[t>>2]|o;o=R;v=q;q=R|q}a[Y+(w<<4)+8>>0]=0;a[Y+(w<<4)+9>>0]=0;R=Y+(w<<4)+12|0;c[R>>2]=c[R>>2]&-393217|((v|0)==0?131072:(o|0)==0?0:262144);q=w+((q|0)!=0&1)|0;if((aa|0)==(q|0)){ca=Y+(S<<4)|0;c[h>>2]=c[ca>>2];c[h+4>>2]=c[ca+4>>2];c[h+8>>2]=c[ca+8>>2];c[da>>2]=c[da>>2]&-393217|c[Y+(S<<4)+12>>2]&393216;Sb=ea;return}i=a[T>>0]|0;e:do if((q+-2|0)>>>0<3&i<<24>>24==0){t=r(q+-1|0,q)|0;if((t|0)<=0){q=aa-q|0;t=a[ca+160>>0]|0;v=q;q=q+-1|0;R=108;break}o=0;while(1){v=c[37184+(o<<2)>>2]|0;if(((c[Y+(v<<4)+12>>2]&393216|0)!=131072?(Z=c[37232+(o<<2)>>2]|0,(c[Y+(Z<<4)+12>>2]&393216|0)!=0):0)?(_=a[Y+(v<<4)+8>>0]|0,$=a[Y+(Z<<4)+9>>0]|0,V=b[Y+(v<<4)>>1]|0,X=b[Y+(v<<4)+2>>1]|0,U=b[Y+(Z<<4)+4>>1]|0,W=b[Y+(Z<<4)+6>>1]|0,!(X<<16>>16==W<<16>>16&(V<<16>>16==U<<16>>16?(c[(c[ca+876+((_<<24>>24)*12|0)>>2]|0)+8>>2]|0)==(c[(c[ba+(($<<24>>24)*12|0)>>2]|0)+8>>2]|0):0))):0){q=q+1|0;if((q|0)==(aa|0))break}o=o+1|0;if(!((q|0)!=5&(o|0)<(t|0))){R=106;break e}}b[h>>1]=V;b[h+2>>1]=X;b[h+4>>1]=U;b[h+6>>1]=W;a[h+8>>0]=_;a[h+9>>0]=$;c[da>>2]=c[da>>2]&-393217|262144;Sb=ea;return}else R=106;while(0);if((R|0)==106){v=aa-q|0;q=v+-1|0;t=a[ca+160>>0]|0;if(i<<24>>24==1){o=0;q=(v|0)>(t<<24>>24|0)?0:q&255;v=c[da>>2]&-393217}else R=108}if((R|0)==108){o=a[ca+161>>0]|0;q=(v|0)>((t<<24>>24<o<<24>>24?t:o)<<24>>24|0)?0:q&255;o=q;v=c[da>>2]&-393217|262144}a[h+8>>0]=q;a[h+9>>0]=o;c[da>>2]=v;c[h>>2]=0;c[h+4>>2]=0;Sb=ea;return}function ih(f,g,h,i,j,k,l){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;u=c[f+4>>2]|0;B=c[f+8>>2]|0;o=(c[g+12>>2]|0)>>>2&60;p=a[u+4116>>0]|0;q=1<<p;C=B+76|0;E=a[C>>0]|0;D=E<<24>>24==1?B+876|0:B+1068|0;if(E<<24>>24==0?(a[B+164>>0]|0)==0:0)m=D+((a[B+165>>0]|0)*12|0)+4|0;else m=B+876+((a[B+165>>0]|0)*12|0)+4|0;E=c[m>>2]|0;m=(q|0)/4|0;n=r(m,m)|0;if(((((o>>>p|0)==(l>>p|0)?(s=c[f+12>>2]|0,((s<<p)+k|0)<(b[u>>1]|0)):0)?(t=c[f+16>>2]|0,((t<<p)+l|0)<(b[u+2>>1]|0)):0)?(x=k&-16,y=l&-16,z=s+(x>>p)|0,A=r(t+(y>>p)|0,b[u+4118>>1]|0)|0,v=A+z|0,w=(c[E+8>>2]|0)+(r(n,v)|0)|0,y=r(m,y>>2)|0,x=(c[(c[E>>2]|0)+(v<<2)>>2]|0)+(d[w+(y+((x|0)==(q|0)?0:x>>2))>>0]|0)|0,y=c[E+4>>2]|0,w=y+(x<<4)|0,v=c[y+(x<<4)+12>>2]|0,(v&65536|0)==0):0)?a[B+158>>0]|0:0){a:do switch(v>>>17&3){case 1:{v=y+(x<<4)+4|0;v=e[v>>1]|e[v+2>>1]<<16;u=a[y+(x<<4)+9>>0]|0;t=u;s=v;n=1;o=1;break}case 0:{v=e[w>>1]|e[w+2>>1]<<16;u=a[y+(x<<4)+8>>0]|0;t=u;s=v;n=0;o=0;break}default:if((a[B+1261>>0]|0)==1){v=y+(x<<4)+4|0;t=a[y+(x<<4)+8>>0]|0;s=e[w>>1]|e[w+2>>1]<<16;n=0;u=a[y+(x<<4)+9>>0]|0;o=1;v=e[v>>1]|e[v+2>>1]<<16;break a}else{o=a[B+164>>0]|0;u=o<<24>>24==0;v=u?w:y+(x<<4)+4|0;u=a[(u?y+(x<<4)+8|0:y+(x<<4)+9|0)>>0]|0;v=e[v>>1]|e[v+2>>1]<<16;o=o<<24>>24;t=u;s=v;n=o;break a}}while(0);if(!j){p=0;m=0}else{p=a[g+9>>0]|0;m=a[g+8>>0]|0}k=c[E+16>>2]|0;l=c[B+84>>2]|0;q=b[(c[E+12>>2]|0)+(z<<1)+(A<<1)>>1]&255;A=(n|0)==0;f=c[(A?E+20+(q<<6)+(t<<2)|0:E+20500+(q<<6)+(t<<2)|0)>>2]|0;n=c[B+876+(m*12|0)>>2]|0;m=c[n+8>>2]|0;n=(a[n+20>>0]|0)==1;do if((a[(A?E+16404+(q<<4)+t|0:E+36884+(q<<4)+t|0)>>0]|0)==1^n){c[i>>2]=0;b[h>>1]=0;b[h+2>>1]=0}else{c[i>>2]=1;if(!n?(k-f|0)!=(l-m|0):0){b[h>>1]=s;b[h+2>>1]=s>>>16;if((k|0)==(f|0))break;jh(h,m,f,k,l);break}b[h>>1]=s;b[h+2>>1]=s>>>16}while(0);if(a[C>>0]|0){c[i+4>>2]=0;return}C=(o|0)==0;o=c[(C?E+20+(q<<6)+(u<<2)|0:E+20500+(q<<6)+(u<<2)|0)>>2]|0;n=c[D+(p*12|0)>>2]|0;f=c[n+8>>2]|0;n=(a[n+20>>0]|0)==1;m=i+4|0;if((a[(C?E+16404+(q<<4)+u|0:E+36884+(q<<4)+u|0)>>0]|0)==1^n){c[m>>2]=0;b[h+4>>1]=0;b[h+6>>1]=0;return}c[m>>2]=1;if(!n?(k-o|0)!=(l-f|0):0){m=h+4|0;b[m>>1]=v;b[m+2>>1]=v>>>16;if((k|0)==(o|0))return;jh(m,f,o,k,l);return}h=h+4|0;b[h>>1]=v;b[h+2>>1]=v>>>16;return}c[i>>2]=0;c[i+4>>2]=0;i=h;b[i>>1]=0;b[i+2>>1]=0>>>16;h=h+4|0;b[h>>1]=0;b[h+2>>1]=0>>>16;return}function jh(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;e=e-d|0;e=(e|0)>-128?e:-128;e=(e|0)<127?e:127;f=f-c|0;f=(f|0)>-128?f:-128;f=r(((((e|0)>-1?e:0-e|0)>>1)+16384|0)/(e|0)|0,(f|0)<127?f:127)|0;e=f+32>>6;e=(f|0)>262111?4095:(e|0)>-4096?e:-4096;f=a+2|0;d=r(e,b[a>>1]|0)|0;c=(d|0)>-1;d=r((c?d:0-d|0)+127>>8,c?(d|0)!=0&1:-1)|0;e=r(e,b[f>>1]|0)|0;c=(e|0)>-1;e=r((c?e:0-e|0)+127>>8,c?(e|0)!=0&1:-1)|0;d=(d|0)>-32768?d:-32768;b[a>>1]=(d|0)<32767?d:32767;e=(e|0)>-32768?e:-32768;b[f>>1]=(e|0)<32767?e:32767;return}function kh(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;m=(k|0)>0;if(!l){if(!m)return;o=c[d>>2]|0;p=h+20|0;m=d+4|0;l=0;while(1){q=c[i+(l<<2)>>2]|0;n=c[q+12>>2]&393216;s=c[o+((a[q+8>>0]|0)*12|0)>>2]|0;d=s+20|0;if((n|0)!=131072?!((a[d>>0]|0)==1^(a[p>>0]|0)==1):0){l=6;break}v=c[(c[m>>2]|0)+((a[q+9>>0]|0)*12|0)>>2]|0;w=v+20|0;if(n|0?!((a[w>>0]|0)==1^(a[p>>0]|0)==1):0){l=11;break}l=l+1|0;if((l|0)>=(k|0)){l=28;break}}if((l|0)==6){c[g>>2]=1;n=e[q>>1]|e[q+2>>1]<<16;b[j>>1]=n;b[j+2>>1]=n>>>16;if((a[d>>0]|0)!=2)return;l=c[f+84>>2]|0;m=l-(c[s+8>>2]|0)|0;m=(m|0)>-128?m:-128;m=(m|0)<127?m:127;l=l-(c[h+8>>2]|0)|0;l=(l|0)>-128?l:-128;if(!m)return;f=r(((((m|0)>-1?m:0-m|0)>>1)+16384|0)/(m|0)|0,(l|0)<127?l:127)|0;h=f+32>>6;h=(f|0)>262111?4095:(h|0)>-4096?h:-4096;f=r(h,n<<16>>16)|0;g=(f|0)>-1;f=r((g?f:0-f|0)+127>>8,g?(f|0)!=0&1:-1)|0;h=r(h,n>>16)|0;g=(h|0)>-1;h=r((g?h:0-h|0)+127>>8,g?(h|0)!=0&1:-1)|0;f=(f|0)>-32768?f:-32768;b[j>>1]=(f|0)<32767?f:32767;h=(h|0)>-32768?h:-32768;b[j+2>>1]=(h|0)<32767?h:32767;return}else if((l|0)==11){c[g>>2]=1;n=q+4|0;n=e[n>>1]|e[n+2>>1]<<16;b[j>>1]=n;b[j+2>>1]=n>>>16;if((a[w>>0]|0)!=2)return;l=c[f+84>>2]|0;m=l-(c[v+8>>2]|0)|0;m=(m|0)>-128?m:-128;m=(m|0)<127?m:127;l=l-(c[h+8>>2]|0)|0;l=(l|0)>-128?l:-128;if(!m)return;f=r(((((m|0)>-1?m:0-m|0)>>1)+16384|0)/(m|0)|0,(l|0)<127?l:127)|0;h=f+32>>6;h=(f|0)>262111?4095:(h|0)>-4096?h:-4096;f=r(h,n<<16>>16)|0;g=(f|0)>-1;f=r((g?f:0-f|0)+127>>8,g?(f|0)!=0&1:-1)|0;h=r(h,n>>16)|0;g=(h|0)>-1;h=r((g?h:0-h|0)+127>>8,g?(h|0)!=0&1:-1)|0;f=(f|0)>-32768?f:-32768;b[j>>1]=(f|0)<32767?f:32767;h=(h|0)>-32768?h:-32768;b[j+2>>1]=(h|0)<32767?h:32767;return}else if((l|0)==28)return}else{if(!m)return;m=c[d+4>>2]|0;n=h+20|0;l=0;while(1){p=c[i+(l<<2)>>2]|0;o=c[p+12>>2]&393216;q=c[m+((a[p+9>>0]|0)*12|0)>>2]|0;s=q+20|0;if(o|0?!((a[s>>0]|0)==1^(a[n>>0]|0)==1):0){l=19;break}t=c[(c[d>>2]|0)+((a[p+8>>0]|0)*12|0)>>2]|0;u=t+20|0;if((o|0)!=131072?!((a[u>>0]|0)==1^(a[n>>0]|0)==1):0){l=24;break}l=l+1|0;if((l|0)>=(k|0)){l=28;break}}if((l|0)==19){c[g>>2]=1;n=p+4|0;n=e[n>>1]|e[n+2>>1]<<16;b[j>>1]=n;b[j+2>>1]=n>>>16;if((a[s>>0]|0)!=2)return;l=c[f+84>>2]|0;m=l-(c[q+8>>2]|0)|0;m=(m|0)>-128?m:-128;m=(m|0)<127?m:127;l=l-(c[h+8>>2]|0)|0;l=(l|0)>-128?l:-128;if(!m)return;f=r(((((m|0)>-1?m:0-m|0)>>1)+16384|0)/(m|0)|0,(l|0)<127?l:127)|0;h=f+32>>6;h=(f|0)>262111?4095:(h|0)>-4096?h:-4096;f=r(h,n<<16>>16)|0;g=(f|0)>-1;f=r((g?f:0-f|0)+127>>8,g?(f|0)!=0&1:-1)|0;h=r(h,n>>16)|0;g=(h|0)>-1;h=r((g?h:0-h|0)+127>>8,g?(h|0)!=0&1:-1)|0;f=(f|0)>-32768?f:-32768;b[j>>1]=(f|0)<32767?f:32767;h=(h|0)>-32768?h:-32768;b[j+2>>1]=(h|0)<32767?h:32767;return}else if((l|0)==24){c[g>>2]=1;n=e[p>>1]|e[p+2>>1]<<16;b[j>>1]=n;b[j+2>>1]=n>>>16;if((a[u>>0]|0)!=2)return;l=c[f+84>>2]|0;m=l-(c[t+8>>2]|0)|0;m=(m|0)>-128?m:-128;m=(m|0)<127?m:127;l=l-(c[h+8>>2]|0)|0;l=(l|0)>-128?l:-128;if(!m)return;f=r(((((m|0)>-1?m:0-m|0)>>1)+16384|0)/(m|0)|0,(l|0)<127?l:127)|0;h=f+32>>6;h=(f|0)>262111?4095:(h|0)>-4096?h:-4096;f=r(h,n<<16>>16)|0;g=(f|0)>-1;f=r((g?f:0-f|0)+127>>8,g?(f|0)!=0&1:-1)|0;h=r(h,n>>16)|0;g=(h|0)>-1;h=r((g?h:0-h|0)+127>>8,g?(h|0)!=0&1:-1)|0;f=(f|0)>-32768?f:-32768;b[j>>1]=(f|0)<32767?f:32767;h=(h|0)>-32768?h:-32768;b[j+2>>1]=(h|0)<32767?h:32767;return}else if((l|0)==28)return}}function lh(e,f,g,h,i,j,k){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;if((h|g|0)<0){c[i>>2]=0;c[j>>2]=0;j=0;c[k>>2]=j;return 0}if(!(a[e+27>>0]|0)){c[i>>2]=g;c[j>>2]=h;j=0;c[k>>2]=j;return 0}t=c[e+4>>2]|0;s=a[e+30>>0]|0;u=s<<24>>24;a:do if(s<<24>>24>0){o=f+4118|0;p=u+-1|0;q=0;while(1){l=t+(q*6|0)|0;if((p|0)==(q|0))n=b[o>>1]|0;else n=d[l+6>>0]|0;m=a[l>>0]|0;if((n<<16>>16|0)>(g|0)&(m&255|0)<=(g|0)){s=q;break a}q=q+1|0;if((q|0)>=(u|0)){s=0;break}}}else{l=t;s=0;m=a[t>>0]|0}while(0);c[i>>2]=g-(m&255);m=a[e+31>>0]|0;if(m<<24>>24>0){q=m<<24>>24;o=f+4120|0;p=q+-1|0;l=0;while(1){e=r(l,u)|0;if((p|0)==(l|0)){m=b[o>>1]|0;n=l+1|0}else{n=l+1|0;m=d[t+((r(n,u)|0)*6|0)+1>>0]|0}if((m<<16>>16|0)>(h|0)?(d[t+(e*6|0)+1>>0]|0)<=(h|0):0)break;if((n|0)<(q|0))l=n;else{l=0;break}}m=l;l=t+(e*6|0)|0}else m=0;c[j>>2]=h-(d[l+1>>0]|0);j=(r(m,u)|0)+s|0;c[k>>2]=j;return 0}function mh(d){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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=Sb;Sb=Sb+32|0;B=J+20|0;D=J+16|0;I=J;g=d+652|0;c[g>>2]=0;H=c[d+360>>2]|0;F=d+648|0;z=c[F>>2]|0;l=H+2|0;f=r(((b[H>>1]|0)+63|0)/64|0,((b[l>>1]|0)+7|0)/8|0)|0;C=d+600|0;Uk(c[C>>2]|0,0,f|0)|0;E=d+604|0;Uk(c[E>>2]|0,0,f|0)|0;f=d+364|0;do if(!(c[f>>2]|0)){e=Kh(d)|0;if(e|0){I=e;Sb=J;return I|0}e=Lh(d)|0;if(!e){c[f>>2]=1;break}else{I=e;Sb=J;return I|0}}while(0);e=Jg(d)|0;if(e|0){I=e;Sb=J;return I|0}f=c[d+304>>2]|0;e=(c[d+128>>2]|0)==0?1:2;do{b[f+(e*1272|0)+872>>1]=-1;b[f+(e*1272|0)+874>>1]=-1;e=e+1|0}while((e|0)!=256);h=d+224|0;k=Wd(c[h>>2]|0,D)|0;if(!k){c[g>>2]=984;c[d+144>>2]=984;I=984;Sb=J;return I|0}c[d+1452>>2]=k;i=z+84|0;c[k+16>>2]=c[i>>2];x=Wd(c[d+244>>2]|0,B)|0;if(!x){c[g>>2]=985;c[d+144>>2]=985;I=985;Sb=J;return I|0}c[x+16>>2]=c[d+288>>2];c[x+8>>2]=c[i>>2];c[x+12>>2]=c[z+80>>2];u=c[x>>2]|0;g=x+4|0;v=c[g>>2]|0;e=x+28|0;a[e>>0]=0;f=d+1464|0;if(a[f>>0]|0){Sk(e|0,f|0,4492)|0;a[d+1476>>0]=0;a[d+1477>>0]=0;c[f>>2]=0;b[f+4>>1]=0;a[f+6>>0]=0}w=d+136|0;if(!(c[w>>2]|0)){Uk(u|0,-128,r((b[H>>1]|0)+160|0,b[l>>1]|0)|0)|0;Uk(c[g>>2]|0,-128,(r((b[H>>1]|0)+160|0,b[l>>1]|0)|0)/2|0|0)|0}f=c[h>>2]|0;e=Ce(c[d+276>>2]|0,c[i>>2]|0)|0;if(!e){i=r((b[l>>1]|0)+63&-64,(b[H>>1]|0)+63&-64)|0;j=(i|0)/16|0;i=(i|0)/256|0;Uk(k+20|0,0,40960)|0;Uk(c[k>>2]|0,0,(i<<2)+4|0)|0;Uk(c[k+8>>2]|0,0,j|0)|0;Uk(c[k+12>>2]|0,0,(i<<1)+3&-4|0)|0;Uk(c[k+4>>2]|0,0,j<<4|0)|0;j=x;i=k}else{j=e;i=Mh(f,c[e+8>>2]|0)|0}g=a[z+160>>0]|0;e=g<<24>>24;if(g<<24>>24>0){f=0;do{h=z+876+(f*12|0)|0;if(!(c[h>>2]|0)){c[h>>2]=j;c[z+876+(f*12|0)+4>>2]=i}f=f+1|0}while((f|0)<(e|0));if(g<<24>>24<16)A=25}else A=25;if((A|0)==25)while(1){c[z+876+(e*12|0)>>2]=j;c[z+876+(e*12|0)+4>>2]=i;if((e|0)<15)e=e+1|0;else break}g=a[z+161>>0]|0;e=g<<24>>24;if(g<<24>>24>0){f=0;do{h=z+1068+(f*12|0)|0;if(!(c[h>>2]|0)){c[h>>2]=j;c[z+1068+(f*12|0)+4>>2]=i}f=f+1|0}while((f|0)<(e|0));if(g<<24>>24<16)A=33}else A=33;if((A|0)==33)while(1){c[z+1068+(e*12|0)>>2]=j;c[z+1068+(e*12|0)+4>>2]=i;if((e|0)<15)e=e+1|0;else break}Nh(c[d+11556>>2]|0)|0;c[d+424>>2]=0;c[d+428>>2]=0;h=c[k+8>>2]|0;o=d+576|0;c[o>>2]=h;e=c[k+4>>2]|0;p=d+580|0;c[p>>2]=e;s=c[k>>2]|0;q=d+596|0;c[q>>2]=s;f=c[k+12>>2]|0;c[d+420>>2]=f;c[d+6628>>2]=f;c[d+7320>>2]=f;c[d+8012>>2]=f;c[d+8704>>2]=f;c[d+9396>>2]=f;c[d+10088>>2]=f;c[d+10780>>2]=f;c[d+11472>>2]=f;c[d+432>>2]=h;c[d+416>>2]=e;h=r((b[l>>1]|0)+63&-64,(b[H>>1]|0)+63&-64)|0;f=(h|0)/16|0;f=(f>>1)+f|0;t=c[d+192>>2]|0;k=d+592|0;c[k>>2]=t;h=t+((((h|0)/256|0)<<2)+4)|0;l=d+584|0;c[l>>2]=h;g=h+f|0;m=d+588|0;c[m>>2]=g;f=g+(f<<2)|0;n=d+400|0;c[n>>2]=f;c[d+412>>2]=h;c[d+408>>2]=g;c[d+404>>2]=f;c[d+1068>>2]=e;c[d+1060>>2]=s;c[d+1056>>2]=t;c[d+11560>>2]=1;t=c[H+4128>>2]|0;Uk(c[d+204>>2]|0,0,t|0)|0;Uk(c[d+208>>2]|0,0,t|0)|0;t=d+268|0;c[t>>2]=-1;s=d+272|0;c[s>>2]=0;e=d+88|0;c[e>>2]=0;f=d+92|0;c[f>>2]=0;c[d+96>>2]=0;g=d+11608|0;c[g>>2]=2147483647;h=c[d+44>>2]|0;do if(h|0?(y=c[d+36>>2]|0,y|0):0){i=d+48|0;j=(c[i>>2]|0)+1|0;c[i>>2]=j;switch(y|0){case 4:break;case 3:{if((a[z+76>>0]|0)==2)A=51;break}case 2:{if(!((a[z+76>>0]|0)!=2?(j|0)!=(c[d+40>>2]|0):0))A=51;break}case 1:{y=a[z+1260>>0]|0;if(!(y<<24>>24<16&(y&1)==0))A=51;break}default:A=51}if((A|0)==51){c[i>>2]=0;break}if(h&1|0)c[f>>2]=1;if(h&2|0)c[e>>2]=1;A=a[z+1260>>0]|0;if(A<<24>>24<16&(A&1)==0){if(h&4|0)c[g>>2]=0;if(h&8|0)c[g>>2]=0}}while(0);g=d+11584|0;h=d+24|0;e=0;do{j=c[q>>2]|0;c[d+5956+(e*692|0)+84>>2]=j;y=c[p>>2]|0;c[d+5956+(e*692|0)+96>>2]=y;c[d+5956+(e*692|0)+92>>2]=c[o>>2];i=c[k>>2]|0;c[d+5956+(e*692|0)+80>>2]=i;c[d+5956+(e*692|0)+116>>2]=c[m>>2];c[d+5956+(e*692|0)+88>>2]=c[l>>2];c[d+5956+(e*692|0)+60>>2]=c[n>>2];c[d+5956+(e*692|0)+124>>2]=c[D>>2];c[d+5956+(e*692|0)+660>>2]=c[d+5956+(e*692|0)+672>>2];c[d+5956+(e*692|0)+664>>2]=c[d+5956+(e*692|0)+676>>2];c[d+5956+(e*692|0)+232>>2]=u;c[d+5956+(e*692|0)+236>>2]=v;c[d+5956+(e*692|0)+224>>2]=x;c[d+5956+(e*692|0)+228>>2]=c[B>>2];c[d+5956+(e*692|0)+272>>2]=c[g>>2];A=c[h>>2]|0;z=(A|0)>1;c[d+5956+(e*692|0)+148>>2]=z&1;c[d+5956+(e*692|0)+152>>2]=z&1;c[d+5956+(e*692|0)+128>>2]=c[C>>2];z=c[E>>2]|0;c[d+5956+(e*692|0)+132>>2]=z;c[d+5956+(e*692|0)+276>>2]=0;c[d+5956+(e*692|0)+348>>2]=i;c[d+5956+(e*692|0)+352>>2]=j;c[d+5956+(e*692|0)+360>>2]=y;c[d+5956+(e*692|0)+504>>2]=z;c[d+5956+(e*692|0)+528>>2]=u;c[d+5956+(e*692|0)+532>>2]=v;c[d+5956+(e*692|0)+576>>2]=z;c[d+5956+(e*692|0)+580>>2]=u;c[d+5956+(e*692|0)+584>>2]=v;if((e|0)<(A+-1|0)){Yf(c[d+11492+(e<<2)>>2]|0,0,27,d+5956+(e*692|0)|0)|0;f=1}else f=0;c[d+11524+(e<<2)>>2]=f;e=e+1|0}while((e|0)!=8);c[d+1236>>2]=u;c[d+1240>>2]=v;c[d+1288>>2]=u;c[d+1292>>2]=v;f=d+264|0;xe(c[f>>2]|0,c[d+6184>>2]|0,c[(c[F>>2]|0)+84>>2]|0,c[d+6180>>2]|0)|0;c[s>>2]=0;e=d+140|0;if(((c[w>>2]|0)-(c[e>>2]|0)|0)<(a[(a[H+14>>0]|0)+-1+(H+32)>>0]|0)?(c[d+11636>>2]|0)!=1:0)e=0;else{F=ye(c[f>>2]|0,t)|0;c[s>>2]=F;c[e>>2]=(c[e>>2]|0)+1;e=F}c[d+11576>>2]=0;c[d+11580>>2]=4;a:do if((c[d+11604>>2]|0?(G=c[h>>2]|0,!((G|0)<2|(e|0)==0)):0)?(c[t>>2]|0)!=(c[d+5956+((G+-1|0)*692|0)+228>>2]|0):0){if(c[d+56>>2]|0?(c[d+60>>2]|0)!=1:0)break;g=H+4120|0;if((b[g>>1]|0)>0){h=I+8|0;i=I+4|0;j=I+6|0;k=I+10|0;l=I+12|0;m=d+656|0;f=0;while(1){c[I>>2]=1;b[h>>1]=0;b[i>>1]=0;b[j>>1]=f;b[k>>1]=0;c[l>>2]=0;e=Qg(c[m>>2]|0,I,16,1)|0;f=f+1|0;if(e|0)break;if((f|0)>=(b[g>>1]|0))break a}Sb=J;return e|0}}while(0);c[d+84>>2]=1;I=0;Sb=J;return I|0}function nh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if(!a)J(43235,42291,182,43378);if(!b)J(43278,42291,183,43378);c[a>>2]=2139095040;e=b+12|0;f=b+4|0;g=c[f>>2]|0;h=c[e>>2]<<g>>>1;d=a+4|0;c[d>>2]=h;a=g+31|0;c[f>>2]=a;if(a>>>0<=32){if((a|0)!=32)return 0}else{a=33-g|0;if(a>>>0<32)a=(c[b+16>>2]|0)>>>a;else a=0;c[d>>2]=a|h}h=b+16|0;c[e>>2]=c[h>>2];b=b+8|0;e=c[b>>2]|0;c[b>>2]=e+4;e=c[e>>2]|0;c[f>>2]=g+-1;c[h>>2]=Rk(e|0)|0;return 0}function oh(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;if(!a)J(43235,42291,139,43260);if(!b)J(43278,42291,140,43260);if(d>>>0>=52)J(43305,42291,141,43260);if(e>>>0>=3)J(43330,42291,142,43260);c[a>>2]=2139095040;j=b+12|0;h=b+4|0;i=c[h>>2]|0;d=c[j>>2]<<i>>>1;g=a+4|0;c[g>>2]=d;e=i+31|0;c[h>>2]=e;if(e>>>0<=32){if((e|0)!=32){b=d;a=a+8|0;Sk(a|0,f|0,154)|0;f=b>>>0<2139095040;f=f?0:2147483647;return f|0}}else{e=33-i|0;if(e>>>0<32)e=(c[b+16>>2]|0)>>>e;else e=0;d=e|d;c[g>>2]=d}g=b+16|0;c[j>>2]=c[g>>2];j=b+8|0;b=c[j>>2]|0;c[j>>2]=b+4;b=c[b>>2]|0;c[h>>2]=i+-1;c[g>>2]=Rk(b|0)|0;b=d;a=a+8|0;Sk(a|0,f|0,154)|0;f=b>>>0<2139095040;f=f?0:2147483647;return f|0}function ph(d){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,s=0,t=0,u=0,v=0;p=d+376|0;q=d+660|0;h=c[d+644>>2]|0;i=c[d+344>>2]&255;n=c[d+316>>2]|0;e=c[d+320>>2]|0;g=(c[d+360>>2]|0)+4118|0;s=(c[d+1444>>2]|0)+(n*12|0)+((r(e,b[g>>1]|0)|0)*12|0)|0;c[s>>2]=c[s>>2]&-8;t=s+4|0;c[t>>2]=c[t>>2]&-8;u=s+8|0;c[u>>2]=c[u>>2]&-8;do if((n|0)>0){if((c[d+332>>2]|0)==0?(c[d+336>>2]|0)==0:0){f=0;break}if(c[d+324>>2]|0)f=(vh(q,p,0)|0)!=0;else f=0}else f=0;while(0);if((!((e|0)<1|f)?(c[d+336>>2]|0)>0:0)?(c[d+328>>2]|0)>0:0)d=vh(q,p,0)|0;else d=0;if(f){u=s+-12|0;c[s>>2]=c[u>>2];c[s+4>>2]=c[u+4>>2];c[s+8>>2]=c[u+8>>2];return 0}if(d|0){u=s+((0-(b[g>>1]|0)|0)*12|0)|0;c[s>>2]=c[u>>2];c[s+4>>2]=c[u+4>>2];c[s+8>>2]=c[u+8>>2];return 0}n=h+(i*1272|0)+156|0;m=h+(i*1272|0)+157|0;d=0;l=0;do{k=(l|0)==0;if(!(!(k&(a[n>>0]|0)!=0)?!((l|0)!=0&(a[m>>0]|0)!=0):0))o=17;a:do if((o|0)==17){o=0;if(!k)if((l|0)==1){d=vh(q,p,1)|0;if(!d)d=0;else d=(yh(q,p)|0)+d|0;e=d&7;c[t>>2]=c[t>>2]&-8|e;g=1;f=u;o=25}else g=0;else{d=vh(q,p,1)|0;if(!d)e=0;else e=(yh(q,p)|0)+d|0;d=e;g=0;f=s;e=e&7;o=25}if((o|0)==25){o=0;c[f>>2]=c[f>>2]&-8|e}switch(d|0){case 0:break a;case 2:{e=Gh(q,p,7)|0;h=Gh(q,p,7)|0;i=0-(Gh(q,p,7)|0)|0;f=0-(Gh(q,p,7)|0)|0;o=32;break}default:{e=Gh(q,p,7)|0;h=Gh(q,p,7)|0;i=Gh(q,p,7)|0;f=Gh(q,p,7)|0;if((d|0)==1){if(!e)e=0;else{j=(yh(q,p)|0)==0;e=j?e:0-e|0}if(!h)h=0;else{j=(yh(q,p)|0)==0;h=j?h:0-h|0}if(!i)i=0;else{j=(yh(q,p)|0)==0;i=j?i:0-i|0}if(!f)f=0;else{j=(yh(q,p)|0)==0;f=j?f:0-f|0}j=Eh(q,p,5)|0}else o=32}}if((o|0)==32){o=0;if(k){v=Eh(q,p,2)|0;j=c[s>>2]|0;c[s>>2]=j+v&7|j&-8}if(g){v=Eh(q,p,2)|0;j=c[t>>2]|0;c[t>>2]=j+v&7|j&-8;j=c[u>>2]|0;c[u>>2]=j+v&7|j&-8;j=0}else j=0}if(k){c[s>>2]=f<<15&491520|j<<19&16252928|(h<<7&1920|(c[s>>2]&-16777209|e<<3&120)|i<<11&30720);break}if(g){c[t>>2]=f<<15&491520|j<<19&16252928|(h<<7&1920|(c[t>>2]&-16777209|e<<3&120)|i<<11&30720);break}else{c[u>>2]=f<<15&491520|j<<19&16252928|(h<<7&1920|(c[u>>2]&-16777209|e<<3&120)|i<<11&30720);break}}while(0);l=l+1|0}while((l|0)!=3);return 0}function qh(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;E=e+376|0;F=e+660|0;G=e+360|0;H=e+356|0;O=e+316|0;N=e+320|0;K=e+456|0;L=e+460|0;J=e+452|0;v=e+976|0;w=e+616|0;x=e+620|0;y=e+368|0;z=e+372|0;A=e+336|0;B=e+328|0;C=e+332|0;D=e+324|0;s=f;q=g;while(1){o=1<<h;M=c[G>>2]|0;p=c[H>>2]|0;f=a[M+4116>>0]|0;g=s-(c[O>>2]<<f)>>3;f=q-(c[N>>2]<<f)>>3;c[K>>2]=g;c[L>>2]=f;c[J>>2]=h;c[v>>2]=i;j=c[x>>2]|0;k=(s|0)/8|0;m=(q|0)/8|0;n=(c[w>>2]|0)+(k>>>4<<2)|0;if(((o+s|0)<=(b[M>>1]|0)?(o+q|0)<=(b[M+2>>1]|0):0)?(h|0)>(a[M+46>>0]|0):0){if(!f)if((c[A>>2]|0)!=0?(c[B>>2]|0)!=0:0)I=8;else f=2;else I=8;if((I|0)==8){I=0;f=((c[n>>2]|0)>>>(k<<1&30)&3|0)>(i|0)?3:2}do if(!g){if((c[C>>2]|0)==0?(c[A>>2]|0)==0:0)break;if(c[D>>2]|0)I=13}else I=13;while(0);if((I|0)==13){I=0;f=f+((j>>>(m<<1&30)&3|0)>(i|0)&1)|0}if(!(vh(F,E,f)|0))I=16;else f=0}else if((h|0)>(a[M+46>>0]|0))f=0;else I=16;if((I|0)==16){I=0;l=-1>>>(32-(((o|0)/8|0)<<1)|0);g=k<<1&30;f=c[n>>2]&~(l<<g);j=(i|0)!=0;if(j)f=(c[36720+(i<<2)>>2]&l)<<g|f;c[n>>2]=f;g=m<<1&30;f=c[x>>2]&~(l<<g);if(j)f=(c[36720+(i<<2)>>2]&l)<<g|f;c[x>>2]=f;f=1}if(a[p+17>>0]|0?(h|0)>=(a[p+66>>0]|0):0){c[y>>2]=0;c[z>>2]=0}if(f){I=32;break}j=o>>1;g=j+s|0;j=j+q|0;h=h+-1|0;i=i+1|0;f=qh(e,s,q,h,i)|0;if(f|0){I=48;break}if((g|0)<(b[M>>1]|0)?(t=qh(e,g,q,h,i)|0,t|0):0){f=t;I=48;break}f=M+2|0;if((j|0)<(b[f>>1]|0)?(u=qh(e,s,j,h,i)|0,u|0):0){f=u;I=48;break}if((g|0)>=(b[M>>1]|0)){f=0;I=48;break}if((j|0)>=(b[f>>1]|0)){f=0;I=48;break}else{s=g;q=j}}if((I|0)==32){G=c[K>>2]<<3;I=c[L>>2]<<3;g=p+66|0;H=-1<<a[g>>0];if((G|0)==(H&G|0)&(I|0)==(H&I|0)){c[e+440>>2]=c[e+436>>2];c[e+572>>2]=0}f=wh(e,s,q,h)|0;if(f|0){O=f;return O|0}if(!(a[p+17>>0]|0)){O=0;return O|0}o=c[e+408>>2]|0;m=1<<c[J>>2];k=c[K>>2]<<3;j=c[L>>2]<<3;h=-1<<a[g>>0];L=h&k;g=L>>3;h=h&j;f=c[e+440>>2]|0;if((L|0)>0)i=a[g+h+-1+(e+1380)>>0]|0;else i=f;if((h|0)>0)f=a[g+h+-8+(e+1380)>>0]|0;n=e+572|0;l=((c[n>>2]|0)+52+(i+1+f>>1)|0)%52|0;i=(k>>3)+j|0;j=m>>3;if((m|0)>7){g=l&255;h=(j|0)>1?j:1;f=0;do{Uk(i+(f<<3)+(e+1380)|0,g|0,h|0)|0;f=f+1|0}while((f|0)<(j|0))}g=e+436|0;c[g>>2]=l;c[e+564>>2]=l;f=c[e+568>>2]|0;c[o>>2]=c[o>>2]&-8323073|l<<16&8323072;if(f|0){f=o+(0-f<<2)|0;do{c[f>>2]=c[f>>2]&-8323073|c[g>>2]<<16&8323072;f=f+4|0}while((f|0)!=(o|0))}if(!(c[n>>2]|0)){O=0;return O|0}N=(r(c[N>>2]|0,b[M+4118>>1]|0)|0)+(c[O>>2]|0)|0;O=(c[e+1044>>2]|0)+(N>>3)|0;a[O>>0]=(1<<(N&7)^255)&d[O>>0];O=0;return O|0}else if((I|0)==48)return f|0;return 0}function rh(e){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,s=0,t=0,u=0,v=0,w=0,x=0,y=0;k=c[e+360>>2]|0;o=k+4116|0;m=a[o>>0]|0;n=1<<m;v=b[k>>1]|0;i=(v+63|0)/64|0;j=e+320|0;k=(b[k+2>>1]|0)-(c[j>>2]<<m)|0;k=(n|0)<(k|0)?n:k;l=e+316|0;m=v-(c[l>>2]<<m)|0;m=(n|0)<(m|0)?n:m;c[e+468>>2]=2;n=e+472|0;c[n>>2]=0;if((k|0)<=0)return;p=e+408|0;q=e+436|0;s=e+568|0;t=e+428|0;u=e+600|0;v=e+416|0;g=e+424|0;if((m|0)<=0)return;f=0;do{h=f<<2&224;e=0;do{w=c[p>>2]|0;x=e>>>2&14|h;c[w>>2]=x|c[w>>2]&-49152|256;c[w>>2]=c[q>>2]<<16|x|-8371968;c[p>>2]=(c[p>>2]|0)+4;c[s>>2]=(c[s>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+1;w=a[o>>0]|0;y=(c[l>>2]<<w)+e|0;w=(c[u>>2]|0)+(r((c[j>>2]<<w)+f>>3,i)|0)+(y>>6)|0;a[w>>0]=(1<<(((y|0)/8|0)&7)^255)&d[w>>0];w=(c[v>>2]|0)+12|0;x=x|c[w>>2]&-805437440|4352;c[w>>2]=x;c[w>>2]=c[n>>2]<<25&234881024|x&-1048178194|524288;c[v>>2]=(c[v>>2]|0)+16;c[g>>2]=(c[g>>2]|0)+1;e=e+8|0}while((e|0)<(m|0));f=f+8|0}while((f|0)<(k|0));return}function sh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=c[a>>2]|0;l=a+4|0;m=c[l>>2]|0;if(d>>>0<=255)J(42507,42291,384,42314);e=s(d|0)|0;k=d-(2<<23-e)|0;if(m>>>0>=k>>>0){uh(b,e+-23|0);b=1;c[a>>2]=k;c[l>>2]=m;return b|0}d=s(k|0)|0;i=d+-1|0;if(!i){b=0;c[a>>2]=k;c[l>>2]=m;return b|0}g=b+12|0;h=b+4|0;f=c[h>>2]|0;d=c[g>>2]<<f>>>(33-d|0);f=f+i|0;c[h>>2]=f;if(f>>>0<=32){if((f|0)==32)j=11}else{e=64-f|0;if(e>>>0<32)e=(c[b+16>>2]|0)>>>e;else e=0;d=e|d;j=11}if((j|0)==11){j=b+16|0;c[g>>2]=c[j>>2];g=b+8|0;b=c[g>>2]|0;c[g>>2]=b+4;b=c[b>>2]|0;c[h>>2]=f+-32;c[j>>2]=Rk(b|0)|0}b=0;k=k<<i;m=d|m<<i;c[a>>2]=k;c[l>>2]=m;return b|0}function th(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+4|0;d=c[b>>2]|0;d=8-(d&7)+d|0;c[b>>2]=d;if(d>>>0<=31)return;e=a+16|0;c[a+12>>2]=c[e>>2];f=a+8|0;a=c[f>>2]|0;c[f>>2]=a+4;a=c[a>>2]|0;c[b>>2]=d+-32;c[e>>2]=Rk(a|0)|0;return}function uh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if((b|0)<=-33)J(42344,42361,230,42388);if((b|0)>=33)J(42405,42361,231,42388);if((b|0)<0){d=a+4|0;f=c[d>>2]|0;e=f+b|0;c[d>>2]=e;if(f>>>0>=(0-b|0)>>>0)return;c[d>>2]=e+32;f=a+8|0;b=c[f>>2]|0;c[f>>2]=b+-4;b=c[b+-12>>2]|0;f=a+12|0;c[a+16>>2]=c[f>>2];c[f>>2]=Rk(b|0)|0;return}else{e=a+4|0;d=(c[e>>2]|0)+b|0;c[e>>2]=d;if(d>>>0<=31)return;f=a+16|0;c[a+12>>2]=c[f>>2];b=a+8|0;a=c[b>>2]|0;c[b>>2]=a+4;a=c[a>>2]|0;c[e>>2]=d+-32;c[f>>2]=Rk(a|0)|0;return}}function vh(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;g=c[b>>2]|0;p=b+4|0;i=c[p>>2]|0;j=b+8+f|0;h=a[j>>0]|0;k=h&255;if(g>>>0<=255)J(42507,42291,247,43211);if(f>>>0>=154)J(42951,42291,248,43211);if(h<<24>>24<=-1)J(43123,42291,249,43211);l=s(g|0)|0;l=(d[(g<<l+-1>>>28&3)+(64+(k>>>1<<2))>>0]|0)<<23-l;h=g-l|0;g=i>>>0<h>>>0;n=k&1^(g^1)&1;m=i-(g?0:h)|0;l=g?h:l;a[j>>0]=a[320+(n|k<<1)>>0]|0;if(l>>>0>=256){o=l;e=m;c[b>>2]=o;c[p>>2]=e;return n|0}f=s(l|0)|0;k=f+-1|0;h=e+12|0;i=e+4|0;j=c[i>>2]|0;f=c[h>>2]<<j>>>(33-f|0);j=j+k|0;c[i>>2]=j;if(j>>>0<=32){if((j|0)==32)o=13}else{g=64-j|0;if(g>>>0<32)g=(c[e+16>>2]|0)>>>g;else g=0;f=g|f;o=13}if((o|0)==13){o=e+16|0;c[h>>2]=c[o>>2];h=e+8|0;e=c[h>>2]|0;c[h>>2]=e+4;e=c[e>>2]|0;c[i>>2]=j+-32;c[o>>2]=Rk(e|0)|0}o=l<<k;e=f|m<<k;c[b>>2]=o;c[p>>2]=e;return n|0}function wh(e,f,g,h){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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=e+316|0;n=c[e+608>>2]|0;v=e+612|0;t=c[v>>2]|0;B=e+376|0;G=e+408|0;x=c[G>>2]|0;z=e+660|0;if(f&7|0)J(42421,42437,1185,42466);if(g&7|0)J(42491,42437,1186,42466);H=e+568|0;c[H>>2]=0;A=c[e+360>>2]|0;u=c[e+356>>2]|0;E=e+456|0;q=c[E>>2]|0;F=e+460|0;p=c[F>>2]|0;o=c[e+648>>2]|0;C=1<<h;i=e+464|0;c[i>>2]=0;if((a[u+25>>0]|0?(u=vh(z,B,5)|0,c[i>>2]=u,u|0):0)?(l=((b[A>>1]|0)+63|0)/64|0,m=(C|0)/8|0,(C|0)>7):0){k=-1>>>(32-(C>>>3)|0)<<(((f|0)/8|0)&7);i=(c[e+604>>2]|0)+(r(l,(g|0)/8|0)|0)+((f|0)/64|0)|0;j=0;while(1){a[i>>0]=k|d[i>>0];j=j+1|0;if((j|0)==(m|0))break;else i=i+l|0}}s=(f|0)/8|0;u=(g|0)/8|0;j=n+(s>>>5<<2)|0;k=o+76|0;if((a[k>>0]|0)==2)i=0;else{if(!p)if((c[e+336>>2]|0)!=0?(c[e+328>>2]|0)!=0:0)y=14;else i=0;else y=14;if((y|0)==14)i=(c[j>>2]&1<<(s&31)|0)!=0&1;do if(!q){if((c[e+332>>2]|0)==0?(c[e+336>>2]|0)==0:0)break;if(c[e+324>>2]|0)y=19}else y=19;while(0);if((y|0)==19)i=i+((t&1<<(u&31)|0)!=0&1)|0;i=vh(z,B,i+6|0)|0}o=c[j>>2]|0;m=(C|0)/8|0;p=-1>>>(32-m|0);q=p<<(s&31);t=(i|0)!=0;c[j>>2]=t?o|q:o&~q;q=c[v>>2]|0;p=p<<(u&31);c[v>>2]=t?q|p:q&~p;p=e+448|0;c[p>>2]=0;if(t){i=a[A+4116>>0]|0;B=(f-(c[D>>2]<<i)|0)>>>2&15;D=g-(c[e+320>>2]<<i)|0;i=c[x>>2]&-49152|(h<<8)+1536&1792|B|D<<2&240;c[x>>2]=i;i=i&18431|c[e+436>>2]<<16&8323072;j=i|-8388608;c[x>>2]=j;if((c[E>>2]<<3|0)==(B<<2|0)?(c[F>>2]<<3|0)==(D&60|0):0)i=i|-8372224;else i=j&-63489;c[x>>2]=i;c[G>>2]=(c[G>>2]|0)+4;c[H>>2]=(c[H>>2]|0)+1;H=e+428|0;c[H>>2]=(c[H>>2]|0)+1;c[e+468>>2]=2;c[e+472>>2]=0;H=(c[e+416>>2]|0)+12|0;c[H>>2]=c[H>>2]&-805306369;xh(e,f,g,C,C)|0;e=0;return e|0}o=(C|0)==(1<<a[A+46>>0]|0);a:do if((a[k>>0]|0)!=2?(w=vh(z,B,11)|0,(w|0)!=1):0){n=e+468|0;c[n>>2]=w;if(o|(a[A+56>>0]|0)==0){l=12;m=-1;i=(C|0)>8&o?3:2;while(1){j=vh(z,B,l)|0;k=m+1|0;i=i+-1|0;if(!i)break;if(j|0){i=n;l=1;m=0;break a}else{l=l+1|0;m=k}}k=(j|0)==0?m+2|0:k;i=n;l=1;m=0;break}else{if(vh(z,B,12)|0){k=0;i=n;l=1;m=0;break}i=(vh(z,B,13)|0)<<1;x=vh(z,B,15)|0;i=(i|x)<<1;if(!x)i=yh(z,B)|0|i;k=d[41111+i>>0]|0;i=n;l=1;m=0;break}}else y=30;while(0);if((y|0)==30){l=((b[A>>1]|0)+63|0)/64|0;if((C|0)>7){k=-1>>>(32-(C>>>3)|0)<<(s&7);j=0;i=(c[e+600>>2]|0)+(r(l,u)|0)+((f|0)/64|0)|0;while(1){a[i>>0]=k|d[i>>0];j=j+1|0;if((j|0)==(m|0))break;else i=i+l|0}}i=e+468|0;c[i>>2]=1;if(o){k=(vh(z,B,12)|0)==0;k=k?3:0;l=0;m=1}else{k=0;l=0;m=1}}j=(k|0)==3&(c[i>>2]|0)==1&1;c[e+472>>2]=k;c[e+560>>2]=j;b:do if(m){c[p>>2]=0;zh(e,f,g,h)|0;if(!(c[p>>2]|0)){i=e+416|0;break}else{e=0;return e|0}}else switch(k|0){case 0:{i=e+416|0;y=c[i>>2]|0;xh(e,f,g,C,C)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369;break b}case 1:{i=e+416|0;y=c[i>>2]|0;x=(C|0)/2|0;xh(e,f,g,C,x)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;xh(e,f,x+g|0,C,x)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}case 2:{i=e+416|0;y=c[i>>2]|0;x=(C|0)/2|0;xh(e,f,g,x,C)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;xh(e,x+f|0,g,x,C)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}case 4:{i=e+416|0;y=c[i>>2]|0;x=(C|0)/4|0;xh(e,f,g,C,x)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;xh(e,f,x+g|0,C,(3<<h|0)/4|0)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}case 5:{i=e+416|0;y=c[i>>2]|0;x=(3<<h|0)/4|0;xh(e,f,g,C,x)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;xh(e,f,x+g|0,C,(C|0)/4|0)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}case 6:{i=e+416|0;y=c[i>>2]|0;x=(C|0)/4|0;xh(e,f,g,x,C)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;xh(e,x+f|0,g,(3<<h|0)/4|0,C)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}case 7:{i=e+416|0;y=c[i>>2]|0;x=(3<<h|0)/4|0;xh(e,f,g,x,C)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;xh(e,x+f|0,g,(C|0)/4|0,C)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}default:{i=e+416|0;w=c[i>>2]|0;y=(C|0)/2|0;xh(e,f,g,y,y)|0;C=w+12|0;c[C>>2]=c[C>>2]&-805306369;C=c[i>>2]|0;w=y+f|0;xh(e,w,g,y,y)|0;C=C+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;C=c[i>>2]|0;x=y+g|0;xh(e,f,x,y,y)|0;C=C+12|0;c[C>>2]=c[C>>2]&-805306369|536870912;C=c[i>>2]|0;xh(e,w,x,y,y)|0;C=C+12|0;c[C>>2]=c[C>>2]|805306368;break b}}while(0);i=c[i>>2]|0;do if(l){if((k|0)==0?c[i+-4>>2]&524288|0:0)break;if((vh(z,B,30)|0)!=1){i=a[A+4116>>0]|0;j=c[G>>2]|0;f=(f-(c[D>>2]<<i)|0)>>>2&15;g=g-(c[e+320>>2]<<i)|0;i=c[j>>2]&-49152|(h<<8)+1536&1792|f|g<<2&240;c[j>>2]=i;i=c[e+436>>2]<<16&8323072|i&528500735|-536870912;c[j>>2]=i;i=i&-528529409|c[e+476>>2]<<23&528482304;c[j>>2]=i;if((c[E>>2]<<3|0)==(f<<2|0)?(c[F>>2]<<3|0)==(g&60|0):0)i=i|16384;else i=i&-63489;c[j>>2]=i;c[G>>2]=(c[G>>2]|0)+4;c[H>>2]=(c[H>>2]|0)+1;e=e+428|0;c[e>>2]=(c[e>>2]|0)+1;e=0;return e|0}}while(0);if(m)i=(a[A+53>>0]|0)+j|0;else i=a[A+52>>0]|0;c[e+544>>2]=i;e=Ah(e,f,g,f,g,h,0,0,c[e+476>>2]|0)|0;return e|0}function xh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=b+376|0;m=b+416|0;i=c[m>>2]|0;k=b+660|0;h=c[b+648>>2]|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;n=a[(c[b+360>>2]|0)+4116>>0]|0;l=i+12|0;g=(g>>>2<<12)+61440&61440|(f>>>2<<8)+3840&3840|(d-(c[b+316>>2]<<n)|0)>>>2&15|e-(c[b+320>>2]<<n)<<2&240;c[l>>2]=g;c[l>>2]=g|c[b+472>>2]<<25&234881024;if((c[b+468>>2]|0)==2){d=h+166|0;if((a[d>>0]|0)>1?(vh(k,j,19)|0)!=0:0){d=a[d>>0]|0;if(d<<24>>24>2)d=((Gh(k,j,(d<<24>>24)+-2|0)|0)<<20)+1048576&7340032|524288;else d=1572864}else d=524288;c[l>>2]=d|c[l>>2]&-7864321;n=c[m>>2]|0;n=n+16|0;c[m>>2]=n;n=b+424|0;m=c[n>>2]|0;m=m+1|0;c[n>>2]=m;return 0}n=vh(k,j,18)|0;c[l>>2]=c[l>>2]&-524289|n<<19&524288;if(!n){Ih(b,i)|0;n=c[m>>2]|0;n=n+16|0;c[m>>2]=n;n=b+424|0;m=c[n>>2]|0;m=m+1|0;c[n>>2]=m;return 0}d=h+166|0;if((a[d>>0]|0)>1?(vh(k,j,19)|0)!=0:0){d=a[d>>0]|0;if(d<<24>>24>2)d=((Gh(k,j,(d<<24>>24)+-2|0)|0)<<20)+1048576&7340032;else d=1048576}else d=0;c[l>>2]=c[l>>2]&-7340033|d;n=c[m>>2]|0;n=n+16|0;c[m>>2]=n;n=b+424|0;m=c[n>>2]|0;m=m+1|0;c[n>>2]=m;return 0}function yh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]|0;d=a+4|0;e=c[d>>2]|0;if(h>>>0<=255)J(42507,42291,334,43180);f=b+12|0;g=b+4|0;i=c[g>>2]|0;a=c[f>>2]<<i>>>31;i=i+1|0;c[g>>2]=i;if((i|0)==32){i=b+16|0;c[f>>2]=c[i>>2];f=b+8|0;b=c[f>>2]|0;c[f>>2]=b+4;b=c[b>>2]|0;c[g>>2]=0;c[i>>2]=Rk(b|0)|0}b=a|e<<1;i=b>>>0<h>>>0;c[d>>2]=b-(i?0:h);return (i^1)&1|0}function zh(e,f,g,h){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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;s=e+660|0;t=e+376|0;x=1<<h;k=c[e+472>>2]|0;A=e+408|0;B=e+416|0;p=c[B>>2]|0;i=e+360|0;w=c[i>>2]|0;v=a[w+4116>>0]|0;u=c[e+316>>2]<<v;v=c[e+320>>2]<<v;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;o=(x>>>2)+15&15;u=(f-u|0)>>>2&15;v=g-v|0;q=v<<2&240|u;c[p+12>>2]=q|o<<8|o<<12|65536;if((((k|0)==0?(a[w+20>>0]|0)!=0:0)?(j=a[w+50>>0]|0,(j|0)<=(h|0)):0)?((a[w+51>>0]|0)+j|0)>=(h|0):0){p=sh(s,t)|0;c[e+448>>2]=p;if(p|0){if(c[e+380>>2]&7|0)th(t);k=c[i>>2]|0;p=e+404|0;i=c[p>>2]|0;a[i>>0]=1;l=i+2|0;a[i+1>>0]=1;c[p>>2]=l;b[i+4>>1]=-1;b[l>>1]=0;l=a[k+21>>0]|0;n=1<<(h<<1);m=8-l|0;i=i+6|0;j=0;do{o=i;i=i+1|0;a[o>>0]=(Fh(t,l)|0)<<m;j=j+1|0}while((j|0)<(n|0));m=a[k+22>>0]|0;o=n>>1;if((n|0)>1){l=8-m|0;j=0;while(1){k=i+1|0;a[i>>0]=(Fh(t,m)|0)<<l;j=j+1|0;if((j|0)>=(o|0)){i=k;break}else i=k}}c[p>>2]=i;nh(s,t)|0;m=c[A>>2]|0;i=q|(h<<8)+1536&1792|c[m>>2]&-49152|47104;c[m>>2]=i;i=i&65535|c[e+436>>2]<<16&8323072;j=i|-8388608;c[m>>2]=j;k=e+456|0;l=e+460|0;if((c[k>>2]<<3|0)==(u<<2|0)?(c[l>>2]<<3|0)==(v&60|0):0)i=i|-8372224;else i=j&-16385;c[m>>2]=i;u=(c[e+624>>2]|0)+(c[k>>2]<<1)|0;h=e+12192|0;v=(x|0)/4|0;bc[c[h>>2]&15]((c[e+628>>2]|0)+(c[l>>2]<<1)|0,1,v);bc[c[h>>2]&15](u,1,v);if((a[w+58>>0]|0)==1?(y=((b[w>>1]|0)+63|0)/64|0,z=(x|0)/8|0,(x|0)>7):0){k=-1>>>(32-(x>>>3)|0)<<(((f|0)/8|0)&7);i=(c[e+604>>2]|0)+(r(y,(g|0)/8|0)|0)+((f|0)/64|0)|0;j=0;while(1){a[i>>0]=k|d[i>>0];j=j+1|0;if((j|0)==(z|0))break;else i=i+y|0}}c[A>>2]=(c[A>>2]|0)+4;g=e+568|0;c[g>>2]=(c[g>>2]|0)+1;g=e+428|0;c[g>>2]=(c[g>>2]|0)+1;g=c[B>>2]|0;g=g+16|0;c[B>>2]=g;B=e+424|0;e=c[B>>2]|0;e=e+1|0;c[B>>2]=e;return 0}}else c[e+448>>2]=0;j=(k|0)==3?4:1;i=0;do{c[e+492+(i<<2)>>2]=vh(s,t,16)|0;i=i+1|0}while(i>>>0<j>>>0);i=0;do{if(!(c[e+492+(i<<2)>>2]|0))c[e+524+(i<<2)>>2]=Eh(s,t,5)|0;else c[e+508+(i<<2)>>2]=Gh(s,t,2)|0;i=i+1|0}while(i>>>0<j>>>0);A=vh(s,t,17)|0;i=e+540|0;c[i>>2]=4;if(A|0)c[i>>2]=Eh(s,t,2)|0;Hh(e,h,f,g);g=c[B>>2]|0;g=g+16|0;c[B>>2]=g;B=e+424|0;e=c[B>>2]|0;e=e+1|0;c[B>>2]=e;return 0}function Ah(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;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;K=b+376|0;I=b+660|0;u=b+360|0;v=b+356|0;w=b+560|0;x=b+544|0;E=b+468|0;y=b+472|0;L=b+476|0;z=b+480|0;A=b+484|0;B=b+488|0;C=b+554|0;D=b+549|0;n=b+549|0;a:while(1){F=e;G=f;t=g;s=h;while(1){r=c[u>>2]|0;q=c[v>>2]|0;f=c[w>>2]|0;g=(i|0)>(a[r+4117>>0]|0);if((!g?((c[x>>2]|0)>(j|0)?(i|0)>(a[r+48>>0]|0):0):0)?!((j|0)==0&(f|0)!=0):0)m=vh(I,K,36-i|0)|0;else H=7;do if((H|0)==7){H=0;if((a[r+52>>0]|0)==0?(c[E>>2]|0)==0:0)e=(j|0)==0&(c[y>>2]|0)!=0&1;else e=0;if(!g?!((j|0)==0&(f|0)==1|(e|0)==1):0){m=0;break}m=1}while(0);o=(j|0)==0;if(!o){e=j+-1|0;f=a[b+549+e>>0]|0;g=b+549+j|0;a[g>>0]=f;e=a[b+554+e>>0]|0;a[b+554+j>>0]=e;if((i|0)>2){h=j+36|0;if(f<<24>>24){a[g>>0]=vh(I,K,h)|0;e=a[j+-1+(b+554)>>0]|0}if(!(e<<24>>24))p=1;else{f=1;e=h;H=19}}else p=0}else{a[C>>0]=0;a[D>>0]=0;a[n>>0]=vh(I,K,36)|0;f=(i|0)>2;e=36;H=19}if((H|0)==19){H=0;a[b+554+j>>0]=vh(I,K,e)|0;p=f}if(!m){H=32;break a}f=1<<i>>1;g=f+F|0;f=f+G|0;h=(j|0)!=0;if(h)e=l;else e=c[L>>2]|0;i=i+-1|0;j=j+1|0;e=Ah(b,F,G,F,G,i,j,0,e)|0;if(e|0){H=71;break a}if(h)e=l;else e=c[z>>2]|0;e=Ah(b,g,G,F,G,i,j,1,e)|0;if(e|0){H=71;break a}if(h)e=l;else e=c[A>>2]|0;e=Ah(b,F,f,F,G,i,j,2,e)|0;if(e|0){H=71;break a}if(h){s=G;t=F;F=g;G=f;k=3}else break}e=g;g=F;h=G;k=3;l=c[B>>2]|0}if((H|0)==32){m=b+408|0;n=c[m>>2]|0;f=a[r+4116>>0]|0;e=c[b+316>>2]<<f;f=c[b+320>>2]<<f;if((!((j|0)!=0|(c[E>>2]|0)==1)?(a[b+549>>0]|0)==0:0)?(a[b+554>>0]|0)==0:0){h=b+548|0;a[h>>0]=1}else{h=b+548|0;a[h>>0]=vh(I,K,o?35:34)|0}f=G-f<<2&240|(F-e|0)>>>2&15|c[n>>2]&-14592;c[n>>2]=f;f=c[b+464>>2]<<15&32768|(i<<8)+1536&1792|f&-48897;c[n>>2]=f;f=c[b+436>>2]<<16&8323072|l<<23&528482304|f&-536819713;c[n>>2]=f;g=b+540|0;c[n>>2]=f&536856575|c[g>>2]<<29;e=a[h>>0]|0;if((e<<24>>24==0?(a[b+549+j>>0]|0)==0:0)?(a[b+554+j>>0]|0)==0:0){if((i|0)==2&(k|0)!=3)c[n>>2]=f|-536870912}else H=40;do if((H|0)==40){do if((a[q+17>>0]|0)!=0?(J=b+368|0,(c[J>>2]|0)==0):0){e=Bh(I,K,5,9,0,1)|0;if((e|0)>4)e=(Ch(I,K,0)|0)+e|0;c[J>>2]=1;if(!e)e=0;else{K=(yh(I,K)|0)==0;e=K?e:0-e|0}K=(a[r+16>>0]|0)*3|0;if((e|0)<(K+-26|0)|(e|0)>(K+25|0)){b=979;return b|0}else{c[b+572>>2]=e;e=a[h>>0]|0;break}}while(0);if(e<<24>>24){c[n>>2]=c[n>>2]|2048;Dh(b,F,G,i,0,l)|0}e=c[g>>2]|0;if((e|0)==4)e=c[L>>2]|0;else{e=d[41107+e>>0]|0;e=(c[L>>2]|0)==(e|0)?34:e}if(p){if(a[b+549+j>>0]|0){c[n>>2]=c[n>>2]|4096;Dh(b,F,G,i+-1|0,1,e)|0}if(!(a[b+554+j>>0]|0))break;c[n>>2]=c[n>>2]|8192;Dh(b,F,G,i+-1|0,2,e)|0;break}if((k|0)!=3){c[n>>2]=c[n>>2]|-536870912;break}if(a[b+549+j>>0]|0){c[n>>2]=c[n>>2]|4096;Dh(b,t,s,i,1,e)|0}if(a[b+554+j>>0]|0){c[n>>2]=c[n>>2]|8192;Dh(b,t,s,i,2,e)|0}}while(0);e=c[n>>2]|0;if((c[b+456>>2]<<3|0)==(e<<2&60|0)?(c[b+460>>2]<<3|0)==(e>>>2&60|0):0)e=e|16384;else e=e&-16385;c[n>>2]=e;c[m>>2]=(c[m>>2]|0)+4;L=b+568|0;c[L>>2]=(c[L>>2]|0)+1;b=b+428|0;c[b>>2]=(c[b>>2]|0)+1;b=0;return b|0}else if((H|0)==71)return e|0;return 0}function Bh(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0;if((f|0)<=0)J(42907,42291,561,42919);if(g>>>0>=154)J(42951,42291,562,42919);if(((f>>>h)+g|0)>=154)J(43008,42291,563,42919);u=b+4|0;v=e+12|0;w=e+4|0;x=e+16|0;t=e+8|0;r=0;l=c[b>>2]|0;j=c[u>>2]|0;while(1){e=r>>>h;e=(e>>>0<i>>>0?e:i)+g|0;m=b+8+e|0;k=a[m>>0]|0;n=k&255;if(l>>>0<=255){q=9;break}if(e>>>0>=154){q=11;break}if(k<<24>>24<=-1){q=13;break}o=s(l|0)|0;o=(d[(l<<o+-1>>>28&3)+(64+(n>>>1<<2))>>0]|0)<<23-o;l=l-o|0;p=j>>>0<l>>>0;j=j-(p?0:l)|0;o=p?l:o;p=n&1^(p^1)&1;a[m>>0]=a[320+(p|n<<1)>>0]|0;if(o>>>0<256){e=s(o|0)|0;m=e+-1|0;l=c[w>>2]|0;e=c[v>>2]<<l>>>(33-e|0);l=l+m|0;c[w>>2]=l;if(l>>>0<=32){if((l|0)==32)q=20}else{k=64-l|0;if(k>>>0<32)k=(c[x>>2]|0)>>>k;else k=0;e=k|e;q=20}if((q|0)==20){q=0;c[v>>2]=c[x>>2];n=c[t>>2]|0;c[t>>2]=n+4;n=c[n>>2]|0;c[w>>2]=l+-32;c[x>>2]=Rk(n|0)|0}k=o<<m;j=e|j<<m}else k=o;c[b>>2]=k;c[u>>2]=j;e=r+1|0;if((e|0)<(f|0)&(p|0)!=0){r=e;l=k}else{q=23;break}}if((q|0)==9)J(42507,42291,570,42919);else if((q|0)==11)J(43068,42291,570,42919);else if((q|0)==13)J(43123,42291,570,42919);else if((q|0)==23)return p+r|0;return 0}function Ch(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if((d|0)<=-1)J(42831,42291,676,42842);a:do if((d|0)<17){k=a+4|0;l=b+12|0;m=b+4|0;n=b+16|0;o=b+8|0;i=c[a>>2]|0;j=i>>>0>255;f=0;h=c[k>>2]|0;while(1){if(!j)break;g=c[m>>2]|0;e=c[l>>2]<<g>>>31;g=g+1|0;c[m>>2]=g;if((g|0)==32){c[l>>2]=c[n>>2];g=c[o>>2]|0;c[o>>2]=g+4;g=c[g>>2]|0;c[m>>2]=0;c[n>>2]=Rk(g|0)|0}g=e|h<<1;s=g>>>0<i>>>0;h=g-(s?0:i)|0;s=s^1;c[k>>2]=h;g=d+1|0;e=((s&1)<<d)+f|0;if(!((d|0)<16&s)){r=e;p=g;break a}else{d=g;f=e}}J(42507,42291,683,42842)}else{r=0;p=d}while(0);f=p+-1|0;if(!f){s=r;return s|0}l=c[a>>2]|0;k=a+4|0;d=c[k>>2]|0;if(l>>>0<=255)J(42507,42291,693,42842);if((p|0)<=1)J(42878,42291,693,42842);if((p|0)>=18)J(42892,42291,693,42842);i=b+12|0;j=b+4|0;h=c[j>>2]|0;g=c[i>>2]<<h>>>(33-p|0);h=h+f|0;c[j>>2]=h;if(h>>>0<=32){if((h|0)==32)q=22}else{e=64-h|0;if(e>>>0<32)e=(c[b+16>>2]|0)>>>e;else e=0;g=e|g;q=22}if((q|0)==22){s=b+16|0;c[i>>2]=c[s>>2];q=b+8|0;b=c[q>>2]|0;c[q>>2]=b+4;b=c[b>>2]|0;c[j>>2]=h+-32;c[s>>2]=Rk(b|0)|0}e=0;do{f=f+-1|0;b=g>>>f&1|d<<1;s=b>>>0<l>>>0;e=e<<1|(s^1)&1;d=b-(s?0:l)|0}while((f|0)!=0);c[k>>2]=d;s=e+r|0;return s|0}
function oe(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ja=Sb;Sb=Sb+32|0;ia=ja+16|0;ea=ja;da=(l&240|0)==240;x=da?4:8;y=i*3|0;z=i*5|0;A=i*7|0;B=b[16848]|0;C=i<<1;D=b[16880]|0;E=i*6|0;F=b[16849]|0;G=b[16881]|0;H=b[16832]|0;I=b[16864]|0;J=i<<2;K=b[16833]|0;L=b[16865]|0;fa=ia+12|0;ga=ia+4|0;ha=ia+8|0;M=b[16840]|0;N=b[16856]|0;O=b[16872]|0;P=b[16888]|0;Q=b[16841]|0;R=b[16857]|0;S=b[16873]|0;T=b[16889]|0;U=ea+4|0;V=b[16842]|0;W=b[16858]|0;X=b[16874]|0;Y=b[16890]|0;Z=ea+8|0;_=b[16843]|0;$=b[16859]|0;aa=b[16875]|0;ba=b[16891]|0;ca=ea+12|0;v=f;w=0;m=c[ha>>2]|0;o=c[ga>>2]|0;q=c[fa>>2]|0;t=c[ia>>2]|0;u=c[ca>>2]|0;s=c[Z>>2]|0;p=c[U>>2]|0;n=c[ea>>2]|0;while(1){if(!(l&1)){q=b[e+(i<<1)>>1]|0;ka=b[e+(y<<1)>>1]|0;m=b[e+(z<<1)>>1]|0;u=b[e+(A<<1)>>1]|0;n=(r(ka,N)|0)+(r(q,M)|0)+(r(m,O)|0)+(r(u,P)|0)|0;p=(r(ka,R)|0)+(r(q,Q)|0)+(r(m,S)|0)+(r(u,T)|0)|0;s=(r(ka,W)|0)+(r(q,V)|0)+(r(m,X)|0)+(r(u,Y)|0)|0;u=(r(ka,$)|0)+(r(q,_)|0)+(r(m,aa)|0)+(r(u,ba)|0)|0;m=b[e+(C<<1)>>1]|0;q=r(m,B)|0;ka=b[e+(E<<1)>>1]|0;q=(r(ka,D)|0)+q|0;m=(r(G,ka)|0)+(r(F,m)|0)|0;ka=b[e>>1]|0;o=r(ka,H)|0;t=b[e+(J<<1)>>1]|0;o=(r(t,I)|0)+o|0;ka=(r(L,t)|0)+(r(K,ka)|0)|0;t=o+q|0;q=o-q|0;o=ka+m|0;m=ka-m|0;ka=n+t|0;b[v>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=q-u|0;b[v+8>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=p+o|0;b[v+2>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=m-s|0;b[v+10>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=s+m|0;b[v+4>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=o-p|0;b[v+12>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=u+q|0;b[v+6>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=t-n|0;b[v+14>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535}else{b[v>>1]=0;b[v+2>>1]=0;b[v+4>>1]=0;b[v+6>>1]=0;b[v+8>>1]=0;b[v+10>>1]=0;b[v+12>>1]=0;b[v+14>>1]=0}w=w+1|0;if(w>>>0>=x>>>0)break;else{e=e+2|0;v=v+16|0;l=l>>1}}c[ea>>2]=n;c[U>>2]=p;c[Z>>2]=s;c[ca>>2]=u;c[ia>>2]=t;c[fa>>2]=q;c[ga>>2]=o;c[ha>>2]=m;N=b[16848]|0;if(da){l=b[16849]|0;n=b[16832]|0;o=b[16833]|0;p=b[16840]|0;q=b[16856]|0;s=b[16841]|0;t=b[16857]|0;u=ea+4|0;v=b[16842]|0;w=b[16858]|0;x=ea+8|0;y=b[16843]|0;z=b[16859]|0;A=ea+12|0;e=0;m=f;while(1){i=b[m+16>>1]|0;ca=b[m+48>>1]|0;f=(r(ca,q)|0)+(r(i,p)|0)|0;c[ea>>2]=f;c[u>>2]=(r(ca,t)|0)+(r(i,s)|0);c[x>>2]=(r(ca,w)|0)+(r(i,v)|0);c[A>>2]=(r(ca,z)|0)+(r(i,y)|0);i=b[m+32>>1]|0;ca=r(i,N)|0;i=r(l,i)|0;da=b[m>>1]|0;ba=r(da,n)|0;da=r(o,da)|0;ka=ba+ca|0;c[ia>>2]=ka;c[fa>>2]=ba-ca;c[ga>>2]=da+i;c[ha>>2]=da-i;ka=f+ka|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h>>0]=(ka|0)<255?ka:255;ka=(c[fa>>2]|0)-(c[A>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+8>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+8>>0]=(ka|0)<255?ka:255;ka=(c[u>>2]|0)+(c[ga>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+2>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+2>>0]=(ka|0)<255?ka:255;ka=(c[ha>>2]|0)-(c[x>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+10>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+10>>0]=(ka|0)<255?ka:255;ka=(c[x>>2]|0)+(c[ha>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+4>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+4>>0]=(ka|0)<255?ka:255;ka=(c[ga>>2]|0)-(c[u>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+12>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+12>>0]=(ka|0)<255?ka:255;ka=(c[A>>2]|0)+(c[fa>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+6>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+6>>0]=(ka|0)<255?ka:255;ka=(c[ia>>2]|0)-(c[ea>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+14>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+14>>0]=(ka|0)<255?ka:255;e=e+1|0;if((e|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=ja;return}else{l=b[16880]|0;n=b[16849]|0;o=b[16881]|0;p=b[16832]|0;q=b[16864]|0;s=b[16833]|0;t=b[16865]|0;u=b[16840]|0;v=b[16856]|0;w=b[16872]|0;x=b[16888]|0;y=b[16841]|0;z=b[16857]|0;A=b[16873]|0;B=b[16889]|0;C=ea+4|0;D=b[16842]|0;E=b[16858]|0;F=b[16874]|0;G=b[16890]|0;H=ea+8|0;I=b[16843]|0;J=b[16859]|0;K=b[16875]|0;L=b[16891]|0;M=ea+12|0;e=0;m=f;while(1){da=b[m+16>>1]|0;ba=b[m+48>>1]|0;ca=b[m+80>>1]|0;i=b[m+112>>1]|0;f=(r(ba,v)|0)+(r(da,u)|0)+(r(ca,w)|0)+(r(i,x)|0)|0;c[ea>>2]=f;c[C>>2]=(r(ba,z)|0)+(r(da,y)|0)+(r(ca,A)|0)+(r(i,B)|0);c[H>>2]=(r(ba,E)|0)+(r(da,D)|0)+(r(ca,F)|0)+(r(i,G)|0);c[M>>2]=(r(ba,J)|0)+(r(da,I)|0)+(r(ca,K)|0)+(r(i,L)|0);i=b[m+32>>1]|0;ca=r(i,N)|0;da=b[m+96>>1]|0;ca=(r(da,l)|0)+ca|0;i=(r(o,da)|0)+(r(n,i)|0)|0;da=b[m>>1]|0;ba=r(da,p)|0;ka=b[m+64>>1]|0;ba=(r(ka,q)|0)+ba|0;da=(r(t,ka)|0)+(r(s,da)|0)|0;ka=ba+ca|0;c[ia>>2]=ka;c[fa>>2]=ba-ca;c[ga>>2]=da+i;c[ha>>2]=da-i;ka=f+ka|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h>>0]=(ka|0)<255?ka:255;ka=(c[fa>>2]|0)-(c[M>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+8>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+8>>0]=(ka|0)<255?ka:255;ka=(c[C>>2]|0)+(c[ga>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+2>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+2>>0]=(ka|0)<255?ka:255;ka=(c[ha>>2]|0)-(c[H>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+10>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+10>>0]=(ka|0)<255?ka:255;ka=(c[H>>2]|0)+(c[ha>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+4>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+4>>0]=(ka|0)<255?ka:255;ka=(c[ga>>2]|0)-(c[C>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+12>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+12>>0]=(ka|0)<255?ka:255;ka=(c[M>>2]|0)+(c[fa>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+6>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+6>>0]=(ka|0)<255?ka:255;ka=(c[ia>>2]|0)-(c[ea>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+14>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+14>>0]=(ka|0)<255?ka:255;e=e+1|0;if((e|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=ja;return}}function pe(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;if(!(j&1)){k=(d[e>>0]|0)+(b[c>>1]|0)|0;k=(k|0)>0?k:0;a[f>>0]=(k|0)<255?k:255;k=(d[e+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+i>>0]=(k|0)<255?k:255;k=(d[e+(h<<1)>>0]|0)+(b[c+(g<<1<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+(i<<1)>>0]=(k|0)<255?k:255;k=(d[e+(h*3|0)>>0]|0)+(b[c+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[f>>0]=a[e>>0]|0;a[f+i>>0]=a[e+h>>0]|0;a[f+(i<<1)>>0]=a[e+(h<<1)>>0]|0;k=a[e+(h*3|0)>>0]|0}a[f+(i*3|0)>>0]=k;k=c+2|0;m=f+2|0;l=e+2|0;if(!(j&2)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;k=c+4|0;m=f+4|0;l=e+4|0;if(!(j&4)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;m=c+6|0;l=f+6|0;k=e+6|0;if(!(j&8)){j=(d[k>>0]|0)+(b[m>>1]|0)|0;j=(j|0)>0?j:0;a[l>>0]=(j|0)<255?j:255;j=(d[k+h>>0]|0)+(b[m+(g<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+i>>0]=(j|0)<255?j:255;j=(d[k+(h<<1)>>0]|0)+(b[m+(g<<1<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+(i<<1)>>0]=(j|0)<255?j:255;j=(d[k+(h*3|0)>>0]|0)+(b[m+(g*3<<1)>>1]|0)|0;j=(j|0)>0?j:0;j=((j|0)<255?j:255)&255;n=i*3|0;n=l+n|0;a[n>>0]=j;return}else{a[l>>0]=a[k>>0]|0;a[l+i>>0]=a[k+h>>0]|0;a[l+(i<<1)>>0]=a[k+(h<<1)>>0]|0;j=a[k+(h*3|0)>>0]|0;n=i*3|0;n=l+n|0;a[n>>0]=j;return}}function qe(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;M=g<<1;N=h<<1;O=i<<1;n=g*3|0;o=h*3|0;p=i*3|0;q=g<<2;r=h<<2;s=i<<2;t=g*5|0;u=h*5|0;v=i*5|0;w=g*6|0;x=h*6|0;y=i*6|0;z=g*7|0;A=h*7|0;B=h<<1;C=i<<1;D=h*3|0;E=i*3|0;F=h<<2;G=i<<2;H=h*5|0;I=i*5|0;J=h*6|0;K=i*6|0;L=h*7|0;m=i*7|0;l=0;k=e;while(1){if(!(j&1)){e=(d[k>>0]|0)+(b[c>>1]|0)|0;e=(e|0)>0?e:0;a[f>>0]=(e|0)<255?e:255;e=(d[k+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+i>>0]=(e|0)<255?e:255;e=(d[k+N>>0]|0)+(b[c+(M<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+O>>0]=(e|0)<255?e:255;e=(d[k+o>>0]|0)+(b[c+(n<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+p>>0]=(e|0)<255?e:255;e=(d[k+r>>0]|0)+(b[c+(q<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+s>>0]=(e|0)<255?e:255;e=(d[k+u>>0]|0)+(b[c+(t<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+v>>0]=(e|0)<255?e:255;e=(d[k+x>>0]|0)+(b[c+(w<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+y>>0]=(e|0)<255?e:255;e=(d[k+A>>0]|0)+(b[c+(z<<1)>>1]|0)|0;e=(e|0)>0?e:0;e=((e|0)<255?e:255)&255}else{a[f>>0]=a[k>>0]|0;a[f+i>>0]=a[k+h>>0]|0;a[f+C>>0]=a[k+B>>0]|0;a[f+E>>0]=a[k+D>>0]|0;a[f+G>>0]=a[k+F>>0]|0;a[f+I>>0]=a[k+H>>0]|0;a[f+K>>0]=a[k+J>>0]|0;e=a[k+L>>0]|0}a[f+m>>0]=e;l=l+1|0;if((l|0)==8)break;else{j=j>>1;k=k+2|0;f=f+2|0;c=c+2|0}}return}function re(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;ta=g<<1;za=h<<1;Aa=i<<1;n=g*3|0;o=h*3|0;p=i*3|0;q=g<<2;r=h<<2;s=i<<2;t=g*5|0;u=h*5|0;v=i*5|0;w=g*6|0;x=h*6|0;y=i*6|0;z=g*7|0;A=h*7|0;B=i*7|0;C=g<<3;D=h<<3;E=i<<3;F=g*9|0;G=h*9|0;H=i*9|0;I=g*10|0;J=h*10|0;K=i*10|0;L=g*11|0;M=h*11|0;N=i*11|0;O=g*12|0;P=h*12|0;Q=i*12|0;R=g*13|0;S=h*13|0;T=i*13|0;U=g*14|0;V=h*14|0;W=i*14|0;X=g*15|0;Y=h*15|0;Z=h<<1;_=i<<1;$=h*3|0;aa=i*3|0;ba=h<<2;ca=i<<2;da=h*5|0;ea=i*5|0;fa=h*6|0;ga=i*6|0;ha=h*7|0;ia=i*7|0;ja=h<<3;ka=i<<3;la=h*9|0;ma=i*9|0;na=h*10|0;oa=i*10|0;pa=h*11|0;qa=i*11|0;ra=h*12|0;sa=i*12|0;ua=h*13|0;va=i*13|0;wa=h*14|0;xa=i*14|0;ya=h*15|0;m=i*15|0;l=0;k=e;while(1){if(!(j&1)){e=(d[k>>0]|0)+(b[c>>1]|0)|0;e=(e|0)>0?e:0;a[f>>0]=(e|0)<255?e:255;e=(d[k+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+i>>0]=(e|0)<255?e:255;e=(d[k+za>>0]|0)+(b[c+(ta<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+Aa>>0]=(e|0)<255?e:255;e=(d[k+o>>0]|0)+(b[c+(n<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+p>>0]=(e|0)<255?e:255;e=(d[k+r>>0]|0)+(b[c+(q<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+s>>0]=(e|0)<255?e:255;e=(d[k+u>>0]|0)+(b[c+(t<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+v>>0]=(e|0)<255?e:255;e=(d[k+x>>0]|0)+(b[c+(w<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+y>>0]=(e|0)<255?e:255;e=(d[k+A>>0]|0)+(b[c+(z<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+B>>0]=(e|0)<255?e:255;e=(d[k+D>>0]|0)+(b[c+(C<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+E>>0]=(e|0)<255?e:255;e=(d[k+G>>0]|0)+(b[c+(F<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+H>>0]=(e|0)<255?e:255;e=(d[k+J>>0]|0)+(b[c+(I<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+K>>0]=(e|0)<255?e:255;e=(d[k+M>>0]|0)+(b[c+(L<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+N>>0]=(e|0)<255?e:255;e=(d[k+P>>0]|0)+(b[c+(O<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+Q>>0]=(e|0)<255?e:255;e=(d[k+S>>0]|0)+(b[c+(R<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+T>>0]=(e|0)<255?e:255;e=(d[k+V>>0]|0)+(b[c+(U<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+W>>0]=(e|0)<255?e:255;e=(d[k+Y>>0]|0)+(b[c+(X<<1)>>1]|0)|0;e=(e|0)>0?e:0;e=((e|0)<255?e:255)&255}else{a[f>>0]=a[k>>0]|0;a[f+i>>0]=a[k+h>>0]|0;a[f+_>>0]=a[k+Z>>0]|0;a[f+aa>>0]=a[k+$>>0]|0;a[f+ca>>0]=a[k+ba>>0]|0;a[f+ea>>0]=a[k+da>>0]|0;a[f+ga>>0]=a[k+fa>>0]|0;a[f+ia>>0]=a[k+ha>>0]|0;a[f+ka>>0]=a[k+ja>>0]|0;a[f+ma>>0]=a[k+la>>0]|0;a[f+oa>>0]=a[k+na>>0]|0;a[f+qa>>0]=a[k+pa>>0]|0;a[f+sa>>0]=a[k+ra>>0]|0;a[f+va>>0]=a[k+ua>>0]|0;a[f+xa>>0]=a[k+wa>>0]|0;e=a[k+ya>>0]|0}a[f+m>>0]=e;l=l+1|0;if((l|0)==16)break;else{j=j>>1;k=k+2|0;f=f+2|0;c=c+2|0}}return}function se(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0,P=0;if((f+-1|0)>>>0>=3)J(41314,41338,117,41371);G=(k|0)==0;H=(l|0)==0;if(!(l|k))J(41393,41338,118,41371);F=g+1+h>>1;o=F+(i<<1)|0;o=(o|0)>0?o:0;F=F+(f&-2)+(j<<1)|0;F=(F|0)>0?F:0;o=c[25472+(((o|0)<51?o:51)<<2)>>2]|0;F=c[25680+(((F|0)<53?F:53)<<2)>>2]|0;if(!F)return;w=a[b+2>>0]|0;v=a[b+1>>0]|0;u=a[b>>0]|0;f=u&255;p=(w&255)-((v&255)<<1)+f|0;p=(p|0)>0?p:0-p|0;D=e*3|0;k=b+D|0;l=d[k>>0]|0;E=(d[b+(D+2)>>0]|0)-((d[b+(D+1)>>0]|0)<<1)+l|0;E=(E|0)>0?E:0-E|0;t=a[b+-3>>0]|0;s=a[b+-2>>0]|0;q=a[b+-1>>0]|0;g=q&255;n=(t&255)-((s&255)<<1)+g|0;n=(n|0)>0?n:0-n|0;m=d[b+(D+-1)>>0]|0;D=(d[b+(D+-3)>>0]|0)-((d[b+(D+-2)>>0]|0)<<1)+m|0;D=(D|0)>0?D:0-D|0;h=n+p|0;i=D+E|0;n=D+n|0;p=E+p|0;if((i+h|0)>=(o|0))return;j=o>>2;if((h<<1|0)<(j|0)?(E=(d[b+3>>0]|0)-f|0,D=g-(d[b+-4>>0]|0)|0,(((D|0)>0?D:0-D|0)+((E|0)>0?E:0-E|0)|0)<(o>>3|0)):0){g=f-g|0;g=(((g|0)>0?g:0-g|0)|0)<((F*5|0)+1>>1|0)&1}else g=0;if((i<<1|0)<(j|0)?(E=(d[k+3>>0]|0)-l|0,D=m-(d[k+-4>>0]|0)|0,(((D|0)>0?D:0-D|0)+((E|0)>0?E:0-E|0)|0)<(o>>3|0)):0){f=l-m|0;f=(((f|0)>0?f:0-f|0)|0)<((F*5|0)+1>>1|0)}else f=0;E=(g|0)==1&f;x=(o>>1)+o>>3;C=(F|0)>1;D=(n|0)<(x|0)&C;C=(p|0)<(x|0)&C;x=F<<1;y=F*10|0;z=0-F|0;A=F>>1;B=0-A|0;f=0;h=q;i=s;j=t;k=u;l=v;m=w;while(1){v=b+-1|0;q=h&255;u=b+-2|0;g=i&255;t=b+-3|0;i=j&255;o=k&255;s=b+1|0;n=l&255;p=b+2|0;k=m&255;if(!E){h=((o-q|0)*9|0)+8+(r(n-g|0,-3)|0)>>4;if((((h|0)>0?h:0-h|0)|0)<(y|0)){j=(h|0)>(F|0)?F:(h|0)<(z|0)?z:h;h=j+q|0;h=(h|0)>0?h:0;h=(h|0)<255?h:255;l=o-j|0;l=(l|0)>0?l:0;l=(l|0)<255?l:255;if(D){w=((q+1+i|0)>>>1)-g+j>>1;g=((w|0)>(A|0)?A:(w|0)<(B|0)?B:w)+g|0;g=(g|0)>0?g:0;g=(g|0)<255?g:255}if(C){m=((k+o+1|0)>>>1)-n-j>>1;m=((m|0)>(A|0)?A:(m|0)<(B|0)?B:m)+n|0;m=(m|0)>0?m:0;m=(m|0)<255?m:255;j=l}else{m=n;j=l}}else{m=n;j=o;h=q}}else{h=o<<1;w=(q<<1)+4|0;j=w+g+h+k+(n<<1)>>3;L=x+o|0;K=o-x|0;l=o+q|0;m=(l+2+n+k|0)>>>2;N=x+n|0;M=n-x|0;O=(l+4+n+(k*3|0)+((d[b+3>>0]|0)<<1)|0)>>>3;P=x+k|0;k=k-x|0;h=w+(g<<1)+i+n+h>>3;n=x+q|0;o=q-x|0;l=l+g|0;w=(i+2+l|0)>>>2;q=x+g|0;g=g-x|0;l=((i*3|0)+4+l+((d[b+-4>>0]|0)<<1)|0)>>>3;I=x+i|0;i=i-x|0;k=(O|0)>(P|0)?P:(O|0)<(k|0)?k:O;m=(m|0)>(N|0)?N:(m|0)<(M|0)?M:m;j=(j|0)>(L|0)?L:(j|0)<(K|0)?K:j;i=(l|0)>(I|0)?I:(l|0)<(i|0)?i:l;h=(h|0)>(n|0)?n:(h|0)<(o|0)?o:h;g=(w|0)>(q|0)?q:(w|0)<(g|0)?g:w}if(!G){a[t>>0]=i;a[u>>0]=g;a[v>>0]=h}if(!H){a[b>>0]=j;a[s>>0]=m;a[p>>0]=k}g=b+e|0;f=f+1|0;if((f|0)==4)break;b=g;h=a[g+-1>>0]|0;i=a[g+-2>>0]|0;j=a[g+-3>>0]|0;k=a[g>>0]|0;l=a[g+1>>0]|0;m=a[g+2>>0]|0}return}function te(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;if((f|0)<=0)J(41426,41338,354,41437);M=(k|0)==0;N=(l|0)==0;if(!(l|k))J(41393,41338,355,41437);F=g+1+h>>1;n=F+(i<<1)|0;n=(n|0)>0?n:0;F=F+(f&-2)+(j<<1)|0;F=(F|0)>0?F:0;n=c[25472+(((n|0)<51?n:51)<<2)>>2]|0;F=c[25680+(((F|0)<53?F:53)<<2)>>2]|0;if(!F)return;G=e<<1;v=a[b+G>>0]|0;u=a[b+e>>0]|0;t=a[b>>0]|0;g=t&255;o=(v&255)-((u&255)<<1)+g|0;o=(o|0)>0?o:0-o|0;k=b+3|0;l=d[k>>0]|0;E=(d[b+(G+3)>>0]|0)-((d[b+(e+3)>>0]|0)<<1)+l|0;E=(E|0)>0?E:0-E|0;H=r(e,-3)|0;s=a[b+H>>0]|0;I=r(e,-2)|0;q=a[b+I>>0]|0;K=0-e|0;p=a[b+K>>0]|0;h=p&255;m=(s&255)-((q&255)<<1)+h|0;m=(m|0)>0?m:0-m|0;L=e*3|0;D=(d[b+(3-L)>>0]|0)-((d[b+(3-G)>>0]|0)<<1)+(d[b+(3-e)>>0]|0)|0;D=(D|0)>0?D:0-D|0;f=m+o|0;i=D+E|0;m=D+m|0;o=E+o|0;if((i+f|0)>=(n|0))return;j=n>>2;if((f<<1|0)<(j|0)?(E=(d[b+L>>0]|0)-g|0,D=h-(d[b+(r(e,-4)|0)>>0]|0)|0,(((D|0)>0?D:0-D|0)+((E|0)>0?E:0-E|0)|0)<(n>>3|0)):0){h=g-h|0;h=(((h|0)>0?h:0-h|0)|0)<((F*5|0)+1>>1|0)&1}else h=0;if((i<<1|0)<(j|0)){E=(d[k+L>>0]|0)-l|0;f=d[k+K>>0]|0;g=r(e,-4)|0;D=f-(d[k+g>>0]|0)|0;if((((D|0)>0?D:0-D|0)+((E|0)>0?E:0-E|0)|0)<(n>>3|0)){f=l-f|0;f=(((f|0)>0?f:0-f|0)|0)<((F*5|0)+1>>1|0)}else f=0}else{f=0;g=r(e,-4)|0}E=(h|0)==1&f;x=(n>>1)+n>>3;C=(F|0)>1;D=(m|0)<(x|0)&C;C=(o|0)<(x|0)&C;x=F<<1;y=F*10|0;z=0-F|0;A=F>>1;B=0-A|0;f=0;i=p;j=q;k=s;l=t;m=u;n=v;while(1){w=b+K|0;s=i&255;v=b+I|0;h=j&255;u=b+H|0;j=k&255;p=l&255;t=b+e|0;o=m&255;q=b+G|0;l=n&255;if(!E){i=((p-s|0)*9|0)+8+(r(o-h|0,-3)|0)>>4;if((((i|0)>0?i:0-i|0)|0)<(y|0)){k=(i|0)>(F|0)?F:(i|0)<(z|0)?z:i;i=k+s|0;i=(i|0)>0?i:0;i=(i|0)<255?i:255;m=p-k|0;m=(m|0)>0?m:0;m=(m|0)<255?m:255;if(D){s=((s+1+j|0)>>>1)-h+k>>1;h=((s|0)>(A|0)?A:(s|0)<(B|0)?B:s)+h|0;h=(h|0)>0?h:0;h=(h|0)<255?h:255}if(C){n=((l+p+1|0)>>>1)-o-k>>1;n=((n|0)>(A|0)?A:(n|0)<(B|0)?B:n)+o|0;n=(n|0)>0?n:0;n=(n|0)<255?n:255;k=m}else{n=o;k=m}}else{n=o;k=p;i=s}}else{i=p<<1;m=(s<<1)+4|0;k=m+h+i+l+(o<<1)>>3;R=x+p|0;Q=p-x|0;O=p+s|0;n=(O+2+o+l|0)>>>2;T=x+o|0;S=o-x|0;U=(O+4+o+(l*3|0)+((d[b+L>>0]|0)<<1)|0)>>>3;V=x+l|0;l=l-x|0;i=m+(h<<1)+j+o+i>>3;m=x+s|0;o=s-x|0;O=O+h|0;s=(j+2+O|0)>>>2;p=x+h|0;h=h-x|0;O=((j*3|0)+4+O+((d[b+g>>0]|0)<<1)|0)>>>3;P=x+j|0;j=j-x|0;l=(U|0)>(V|0)?V:(U|0)<(l|0)?l:U;n=(n|0)>(T|0)?T:(n|0)<(S|0)?S:n;k=(k|0)>(R|0)?R:(k|0)<(Q|0)?Q:k;j=(O|0)>(P|0)?P:(O|0)<(j|0)?j:O;i=(i|0)>(m|0)?m:(i|0)<(o|0)?o:i;h=(s|0)>(p|0)?p:(s|0)<(h|0)?h:s}if(!M){a[u>>0]=j;a[v>>0]=h;a[w>>0]=i}if(!N){a[b>>0]=k;a[t>>0]=n;a[q>>0]=l}h=b+1|0;f=f+1|0;if((f|0)==4)break;b=h;i=a[h+K>>0]|0;j=a[h+I>>0]|0;k=a[h+H>>0]|0;l=a[h>>0]|0;m=a[h+e>>0]|0;n=a[h+G>>0]|0}return}function ue(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0;m=(k|0)==0;o=(l|0)==0;if(!(l|k))J(41393,41338,611,41459);g=f+1+g>>1;f=g+h|0;do if((f|0)>=0)if((f|0)>57){k=f+-6|0;break}else{k=c[25904+(f<<2)>>2]|0;break}else k=f;while(0);f=g+i|0;do if((f|0)>=0)if((f|0)>57){f=f+-6|0;break}else{f=c[25904+(f<<2)>>2]|0;break}while(0);j=(j<<1)+2|0;i=j+k|0;i=(i|0)>0?i:0;i=c[25680+(((i|0)<53?i:53)<<2)>>2]|0;j=j+f|0;j=(j|0)>0?j:0;j=c[25680+(((j|0)<53?j:53)<<2)>>2]|0;if(!(j|i))return;h=0-i|0;n=0-j|0;f=d[b>>0]|0;l=b+-2|0;g=d[l>>0]|0;k=(d[b+-4>>0]|0)+4+(f-g<<2)-(d[b+2>>0]|0)>>3;k=(k|0)>(i|0)?i:(k|0)<(h|0)?h:k;if(m){g=f-k|0;g=(g|0)>0?g:0;f=b+1|0;m=d[f>>0]|0;k=(d[b+-3>>0]|0)+4+(m-(d[b+-1>>0]|0)<<2)-(d[b+3>>0]|0)>>3;k=m-((k|0)>(j|0)?j:(k|0)<(n|0)?n:k)|0;k=(k|0)>0?k:0;if(!o){a[b>>0]=(g|0)<255?g:255;a[f>>0]=(k|0)<255?k:255}g=b+e|0;f=d[g>>0]|0;k=(d[g+-4>>0]|0)+4+(f-(d[g+-2>>0]|0)<<2)-(d[g+2>>0]|0)>>3;k=f-((k|0)>(i|0)?i:(k|0)<(h|0)?h:k)|0;k=(k|0)>0?k:0;f=g+1|0;b=d[f>>0]|0;l=(d[g+-3>>0]|0)+4+(b-(d[g+-1>>0]|0)<<2)-(d[g+3>>0]|0)>>3;l=b-((l|0)>(j|0)?j:(l|0)<(n|0)?n:l)|0;l=(l|0)>0?l:0;if(!o){a[g>>0]=(k|0)<255?k:255;a[f>>0]=(l|0)<255?l:255}f=g+e|0;g=d[f>>0]|0;k=(d[f+-4>>0]|0)+4+(g-(d[f+-2>>0]|0)<<2)-(d[f+2>>0]|0)>>3;k=g-((k|0)>(i|0)?i:(k|0)<(h|0)?h:k)|0;k=(k|0)>0?k:0;g=f+1|0;b=d[g>>0]|0;l=(d[f+-3>>0]|0)+4+(b-(d[f+-1>>0]|0)<<2)-(d[f+3>>0]|0)>>3;l=b-((l|0)>(j|0)?j:(l|0)<(n|0)?n:l)|0;l=(l|0)>0?l:0;if(!o){a[f>>0]=(k|0)<255?k:255;a[g>>0]=(l|0)<255?l:255}l=f+e|0;g=d[l>>0]|0;k=(d[l+-4>>0]|0)+4+(g-(d[l+-2>>0]|0)<<2)-(d[l+2>>0]|0)>>3;k=g-((k|0)>(i|0)?i:(k|0)<(h|0)?h:k)|0;k=(k|0)>0?k:0;g=l+1|0;e=d[g>>0]|0;f=(d[l+-3>>0]|0)+4+(e-(d[l+-1>>0]|0)<<2)-(d[l+3>>0]|0)>>3;f=e-((f|0)>(j|0)?j:(f|0)<(n|0)?n:f)|0;f=(f|0)>0?f:0;if(o)return;a[l>>0]=(k|0)<255?k:255;a[g>>0]=(f|0)<255?f:255;return}else{q=k+g|0;q=(q|0)>0?q:0;g=f-k|0;g=(g|0)>0?g:0;f=b+1|0;r=d[f>>0]|0;m=b+-1|0;p=d[m>>0]|0;k=(d[b+-3>>0]|0)+4+(r-p<<2)-(d[b+3>>0]|0)>>3;k=(k|0)>(j|0)?j:(k|0)<(n|0)?n:k;p=k+p|0;p=(p|0)>0?p:0;k=r-k|0;k=(k|0)>0?k:0;a[l>>0]=(q|0)<255?q:255;a[m>>0]=(p|0)<255?p:255;if(!o){a[b>>0]=(g|0)<255?g:255;a[f>>0]=(k|0)<255?k:255}f=b+e|0;g=d[f>>0]|0;p=f+-2|0;b=d[p>>0]|0;k=(d[f+-4>>0]|0)+4+(g-b<<2)-(d[f+2>>0]|0)>>3;k=(k|0)>(i|0)?i:(k|0)<(h|0)?h:k;b=k+b|0;b=(b|0)>0?b:0;k=g-k|0;k=(k|0)>0?k:0;g=f+1|0;m=d[g>>0]|0;r=f+-1|0;q=d[r>>0]|0;l=(d[f+-3>>0]|0)+4+(m-q<<2)-(d[f+3>>0]|0)>>3;l=(l|0)>(j|0)?j:(l|0)<(n|0)?n:l;q=l+q|0;q=(q|0)>0?q:0;l=m-l|0;l=(l|0)>0?l:0;a[p>>0]=(b|0)<255?b:255;a[r>>0]=(q|0)<255?q:255;if(!o){a[f>>0]=(k|0)<255?k:255;a[g>>0]=(l|0)<255?l:255}f=f+e|0;g=d[f>>0]|0;p=f+-2|0;b=d[p>>0]|0;k=(d[f+-4>>0]|0)+4+(g-b<<2)-(d[f+2>>0]|0)>>3;k=(k|0)>(i|0)?i:(k|0)<(h|0)?h:k;b=k+b|0;b=(b|0)>0?b:0;k=g-k|0;k=(k|0)>0?k:0;g=f+1|0;m=d[g>>0]|0;r=f+-1|0;q=d[r>>0]|0;l=(d[f+-3>>0]|0)+4+(m-q<<2)-(d[f+3>>0]|0)>>3;l=(l|0)>(j|0)?j:(l|0)<(n|0)?n:l;q=l+q|0;q=(q|0)>0?q:0;l=m-l|0;l=(l|0)>0?l:0;a[p>>0]=(b|0)<255?b:255;a[r>>0]=(q|0)<255?q:255;if(!o){a[f>>0]=(k|0)<255?k:255;a[g>>0]=(l|0)<255?l:255}l=f+e|0;g=d[l>>0]|0;p=l+-2|0;e=d[p>>0]|0;k=(d[l+-4>>0]|0)+4+(g-e<<2)-(d[l+2>>0]|0)>>3;k=(k|0)>(i|0)?i:(k|0)<(h|0)?h:k;e=k+e|0;e=(e|0)>0?e:0;k=g-k|0;k=(k|0)>0?k:0;g=l+1|0;b=d[g>>0]|0;r=l+-1|0;q=d[r>>0]|0;f=(d[l+-3>>0]|0)+4+(b-q<<2)-(d[l+3>>0]|0)>>3;f=(f|0)>(j|0)?j:(f|0)<(n|0)?n:f;q=f+q|0;q=(q|0)>0?q:0;f=b-f|0;f=(f|0)>0?f:0;a[p>>0]=(e|0)<255?e:255;a[r>>0]=(q|0)<255?q:255;if(o)return;a[l>>0]=(k|0)<255?k:255;a[g>>0]=(f|0)<255?f:255;return}}function ve(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0;m=(k|0)==0;p=(l|0)==0;if(!(l|k))J(41393,41338,732,41483);g=f+1+g>>1;f=g+h|0;do if((f|0)>=0)if((f|0)>57){k=f+-6|0;break}else{k=c[25904+(f<<2)>>2]|0;break}else k=f;while(0);f=g+i|0;do if((f|0)>=0)if((f|0)>57){f=f+-6|0;break}else{f=c[25904+(f<<2)>>2]|0;break}while(0);j=(j<<1)+2|0;i=j+k|0;i=(i|0)>0?i:0;i=c[25680+(((i|0)<53?i:53)<<2)>>2]|0;j=j+f|0;j=(j|0)>0?j:0;j=c[25680+(((j|0)<53?j:53)<<2)>>2]|0;if(!(j|i))return;n=0-e|0;o=r(e,-2)|0;f=d[b>>0]|0;l=b+n|0;g=d[l>>0]|0;k=(d[b+o>>0]|0)+4+(f-g<<2)-(d[b+e>>0]|0)>>3;h=0-i|0;k=(k|0)>(i|0)?i:(k|0)<(h|0)?h:k;if(m){f=f-k|0;f=(f|0)>0?f:0;if(!p)a[b>>0]=(f|0)<255?f:255;f=b+1|0;m=d[f>>0]|0;g=(d[f+o>>0]|0)+4+(m-(d[f+n>>0]|0)<<2)-(d[f+e>>0]|0)>>3;k=0-j|0;g=m-((g|0)>(j|0)?j:(g|0)<(k|0)?k:g)|0;g=(g|0)>0?g:0;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+2|0;m=d[f>>0]|0;g=(d[f+o>>0]|0)+4+(m-(d[f+n>>0]|0)<<2)-(d[f+e>>0]|0)>>3;g=m-((g|0)>(i|0)?i:(g|0)<(h|0)?h:g)|0;g=(g|0)>0?g:0;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+3|0;m=d[f>>0]|0;g=(d[f+o>>0]|0)+4+(m-(d[f+n>>0]|0)<<2)-(d[f+e>>0]|0)>>3;g=m-((g|0)>(j|0)?j:(g|0)<(k|0)?k:g)|0;g=(g|0)>0?g:0;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+4|0;m=d[f>>0]|0;g=(d[f+o>>0]|0)+4+(m-(d[f+n>>0]|0)<<2)-(d[f+e>>0]|0)>>3;g=m-((g|0)>(i|0)?i:(g|0)<(h|0)?h:g)|0;g=(g|0)>0?g:0;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+5|0;m=d[f>>0]|0;g=(d[f+o>>0]|0)+4+(m-(d[f+n>>0]|0)<<2)-(d[f+e>>0]|0)>>3;g=m-((g|0)>(j|0)?j:(g|0)<(k|0)?k:g)|0;g=(g|0)>0?g:0;if(!p)a[f>>0]=(g|0)<255?g:255;g=b+6|0;m=d[g>>0]|0;f=(d[g+o>>0]|0)+4+(m-(d[g+n>>0]|0)<<2)-(d[g+e>>0]|0)>>3;f=m-((f|0)>(i|0)?i:(f|0)<(h|0)?h:f)|0;f=(f|0)>0?f:0;if(!p)a[g>>0]=(f|0)<255?f:255;g=b+7|0;b=d[g>>0]|0;f=(d[g+o>>0]|0)+4+(b-(d[g+n>>0]|0)<<2)-(d[g+e>>0]|0)>>3;f=b-((f|0)>(j|0)?j:(f|0)<(k|0)?k:f)|0;f=(f|0)>0?f:0;if(p)return;a[g>>0]=(f|0)<255?f:255;return}else{m=k+g|0;m=(m|0)>0?m:0;f=f-k|0;f=(f|0)>0?f:0;a[l>>0]=(m|0)<255?m:255;if(!p)a[b>>0]=(f|0)<255?f:255;f=b+1|0;q=d[f>>0]|0;m=f+n|0;l=d[m>>0]|0;g=(d[f+o>>0]|0)+4+(q-l<<2)-(d[f+e>>0]|0)>>3;k=0-j|0;g=(g|0)>(j|0)?j:(g|0)<(k|0)?k:g;l=g+l|0;l=(l|0)>0?l:0;g=q-g|0;g=(g|0)>0?g:0;a[m>>0]=(l|0)<255?l:255;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+2|0;l=d[f>>0]|0;q=f+n|0;m=d[q>>0]|0;g=(d[f+o>>0]|0)+4+(l-m<<2)-(d[f+e>>0]|0)>>3;g=(g|0)>(i|0)?i:(g|0)<(h|0)?h:g;m=g+m|0;m=(m|0)>0?m:0;g=l-g|0;g=(g|0)>0?g:0;a[q>>0]=(m|0)<255?m:255;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+3|0;l=d[f>>0]|0;q=f+n|0;m=d[q>>0]|0;g=(d[f+o>>0]|0)+4+(l-m<<2)-(d[f+e>>0]|0)>>3;g=(g|0)>(j|0)?j:(g|0)<(k|0)?k:g;m=g+m|0;m=(m|0)>0?m:0;g=l-g|0;g=(g|0)>0?g:0;a[q>>0]=(m|0)<255?m:255;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+4|0;l=d[f>>0]|0;q=f+n|0;m=d[q>>0]|0;g=(d[f+o>>0]|0)+4+(l-m<<2)-(d[f+e>>0]|0)>>3;g=(g|0)>(i|0)?i:(g|0)<(h|0)?h:g;m=g+m|0;m=(m|0)>0?m:0;g=l-g|0;g=(g|0)>0?g:0;a[q>>0]=(m|0)<255?m:255;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+5|0;l=d[f>>0]|0;q=f+n|0;m=d[q>>0]|0;g=(d[f+o>>0]|0)+4+(l-m<<2)-(d[f+e>>0]|0)>>3;g=(g|0)>(j|0)?j:(g|0)<(k|0)?k:g;m=g+m|0;m=(m|0)>0?m:0;g=l-g|0;g=(g|0)>0?g:0;a[q>>0]=(m|0)<255?m:255;if(!p)a[f>>0]=(g|0)<255?g:255;g=b+6|0;l=d[g>>0]|0;q=g+n|0;m=d[q>>0]|0;f=(d[g+o>>0]|0)+4+(l-m<<2)-(d[g+e>>0]|0)>>3;f=(f|0)>(i|0)?i:(f|0)<(h|0)?h:f;m=f+m|0;m=(m|0)>0?m:0;f=l-f|0;f=(f|0)>0?f:0;a[q>>0]=(m|0)<255?m:255;if(!p)a[g>>0]=(f|0)<255?f:255;g=b+7|0;b=d[g>>0]|0;q=g+n|0;n=d[q>>0]|0;f=(d[g+o>>0]|0)+4+(b-n<<2)-(d[g+e>>0]|0)>>3;f=(f|0)>(j|0)?j:(f|0)<(k|0)?k:f;e=f+n|0;e=(e|0)>0?e:0;f=b-f|0;f=(f|0)>0?f:0;a[q>>0]=(e|0)<255?e:255;if(p)return;a[g>>0]=(f|0)<255?f:255;return}}function we(a){a=a|0;var b=0;c[a>>2]=2147483647;b=0;do{c[a+4+(b<<2)>>2]=2147483647;c[a+260+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=64);return}function xe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((b|0)>63){f=-1;return f|0}f=a+260+(b<<2)|0;if(c[f>>2]|0){f=-1;return f|0}c[f>>2]=e;c[a+4+(b<<2)>>2]=d;f=0;return f|0}function ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=2147483647;e=0;h=-1;while(1){f=c[a+4+(e<<2)>>2]|0;g=(f|0)==2147483647|(f|0)>(d|0);h=g?h:e;e=e+1|0;if((e|0)==64)break;else d=g?d:f}c[b>>2]=h;d=a+260+(h<<2)|0;if((h|0)==-1){a=0;return a|0}g=c[d>>2]|0;c[d>>2]=0;c[a+4+(h<<2)>>2]=2147483647;a=g;return a|0}function ze(a){a=a|0;Uk(a|0,0,517)|0;return}function Ae(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=d+20|0;f=0;do{if((c[b+4+(f<<3)>>2]|0)==(d|0)?a[g>>0]|0:0){h=-1;i=9;break}f=f+1|0}while(f>>>0<64);if((i|0)==9)return h|0;f=0;while(1){if(!(c[b+4+(f<<3)>>2]|0))break;g=f+1|0;if(g>>>0<64)f=g;else{h=-1;i=9;break}}if((i|0)==9)return h|0;i=b+4+(f<<3)|0;c[i>>2]=d;c[b+4+(f<<3)+4>>2]=c[b>>2];a[d+22>>0]=e;a[d+20>>0]=2;c[b>>2]=i;i=b+516|0;a[i>>0]=(a[i>>0]|0)+1<<24>>24;i=0;return i|0}function Be(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;l=c[b>>2]|0;h=c[l>>2]|0;if((c[h+8>>2]|0)!=(f|0)){n=b+516|0;j=a[n>>0]|0;m=j&255;a:do if((j&255)>1){g=l;i=1;while(1){k=c[g+4>>2]|0;if((c[(c[k>>2]|0)+8>>2]|0)==(f|0))break a;i=i+1|0;if(i>>>0<m>>>0)g=k;else{g=k;break}}}else{i=1;g=l}while(0);if((i|0)==(m|0))return;f=g+4|0;k=c[f>>2]|0;g=k+4|0;i=c[g>>2]|0;if((k|0)==(l|0)){f=n;o=9}else{c[f>>2]=i;c[g>>2]=0;l=k;f=n;i=j;h=c[k>>2]|0}}else{g=l+4|0;j=b+516|0;f=j;j=a[j>>0]|0;i=c[g>>2]|0;o=9}if((o|0)==9){c[b>>2]=i;i=j}a[f>>0]=i+-1<<24>>24;Yd(e,d[h+22>>0]|0,2)|0;c[g>>2]=0;c[l>>2]=0;return}function Ce(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=2147483647;e=0;h=0;do{g=c[b+4+(h<<3)>>2]|0;if((g|0)!=0?(a[g+20>>0]|0)!=0:0){j=d-(c[g+8>>2]|0)|0;i=(j|0)>0&(j|0)<(f|0);f=i?j:f;e=i?g:e}h=h+1|0}while((h|0)!=64);if(e|0){j=e;return j|0}h=0;e=0;f=2147483647;do{g=c[b+4+(h<<3)>>2]|0;if((g|0)!=0?(a[g+20>>0]|0)!=0:0){i=d-(c[g+8>>2]|0)|0;i=(i|0)>0?i:0-i|0;j=(i|0)<(f|0);f=j?i:f;e=j?g:e}h=h+1|0}while((h|0)!=64);return e|0}function De(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=a[b+516>>0]|0;g=f&255;a:do if(!(f<<24>>24)){e=0;b=0}else{e=b;b=0;while(1){f=c[e>>2]|0;e=c[f>>2]|0;if((c[e+8>>2]|0)==(d|0))break a;b=b+1|0;if(b>>>0<g>>>0)e=f+4|0;else{e=0;break}}}while(0);return ((b|0)==(g|0)?0:e)|0}function Ee(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=a[b+516>>0]|0;g=f&255;a:do if(!(f<<24>>24)){e=0;b=0}else{e=0;while(1){f=c[b>>2]|0;b=c[f>>2]|0;if((c[b+12>>2]|0)==(d|0))break a;e=e+1|0;if(e>>>0<g>>>0)b=f+4|0;else{b=0;break}}}while(0);return ((e|0)==(g|0)?0:b)|0}function Fe(b,c,d,e,f,g,h){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;if(!((g|0)>0&(h|0)>0))return;j=0;i=b;f=c;while(1){b=0;do{a[f+b>>0]=a[i+b>>0]|0;b=b+1|0}while((b|0)!=(h|0));j=j+1|0;if((j|0)==(g|0))break;else{i=i+d|0;f=f+e|0}}return}function Ge(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;if(!((h|0)>0&(i|0)>0))return;s=g+1|0;l=g+2|0;m=g+3|0;n=g+4|0;o=g+5|0;p=g+6|0;q=g+7|0;k=0;while(1){j=0;do{u=r(d[b+(j+-3)>>0]|0,a[g>>0]|0)|0;u=(r(d[b+(j+-2)>>0]|0,a[s>>0]|0)|0)+u|0;u=(r(d[b+(j+-1)>>0]|0,a[l>>0]|0)|0)+u|0;u=(r(d[b+j>>0]|0,a[m>>0]|0)|0)+u|0;u=(r(d[b+(j+1)>>0]|0,a[n>>0]|0)|0)+u|0;u=(r(d[b+(j+2)>>0]|0,a[o>>0]|0)|0)+u|0;u=(r(d[b+(j+3)>>0]|0,a[p>>0]|0)|0)+u|0;u=(r(d[b+(j+4)>>0]|0,a[q>>0]|0)|0)+(u&65535)|0;t=(u<<16>>16)+32>>6;a[c+j>>0]=(u&65535)<<16>>16>16351?-1:((t|0)>0?t:0)&255;j=j+1|0}while((j|0)!=(i|0));k=k+1|0;if((k|0)==(h|0))break;else{b=b+e|0;c=c+f|0}}return}function He(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if(!((h|0)>0&(i|0)>0))return;x=r(e,-3)|0;l=g+1|0;m=r(e,-2)|0;n=g+2|0;o=g+3|0;p=g+4|0;q=g+5|0;s=e<<1;t=g+6|0;u=e*3|0;v=g+7|0;w=e<<2;k=0;while(1){j=0;do{z=r(d[b+(x+j)>>0]|0,a[g>>0]|0)|0;z=(r(d[b+(m+j)>>0]|0,a[l>>0]|0)|0)+z|0;z=(r(d[b+(j-e)>>0]|0,a[n>>0]|0)|0)+z|0;z=(r(d[b+j>>0]|0,a[o>>0]|0)|0)+z|0;z=(r(d[b+(j+e)>>0]|0,a[p>>0]|0)|0)+z|0;z=(r(d[b+(s+j)>>0]|0,a[q>>0]|0)|0)+z|0;z=(r(d[b+(u+j)>>0]|0,a[t>>0]|0)|0)+z|0;z=(r(d[b+(w+j)>>0]|0,a[v>>0]|0)|0)+(z&65535)|0;y=(z<<16>>16)+32>>6;a[c+j>>0]=(z&65535)<<16>>16>16351?-1:((y|0)>0?y:0)&255;j=j+1|0}while((j|0)!=(i|0));k=k+1|0;if((k|0)==(h|0))break;else{b=b+e|0;c=c+f|0}}return}function Ie(a,c,e,f,g,h,i){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;if(!((h|0)>0&(i|0)>0))return;k=0;j=a;g=c;while(1){a=0;do{b[g+(a<<1)>>1]=(d[j+a>>0]|0)<<6;a=a+1|0}while((a|0)!=(i|0));k=k+1|0;if((k|0)==(h|0))break;else{j=j+e|0;g=g+(f<<1)|0}}return}function Je(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;if(!((i|0)>0&(j|0)>0))return;t=h+1|0;m=h+2|0;n=h+3|0;o=h+4|0;p=h+5|0;q=h+6|0;s=h+7|0;l=0;while(1){k=0;do{u=r(d[c+(k+-3)>>0]|0,a[h>>0]|0)|0;u=(r(d[c+(k+-2)>>0]|0,a[t>>0]|0)|0)+u|0;u=(r(d[c+(k+-1)>>0]|0,a[m>>0]|0)|0)+u|0;u=(r(d[c+k>>0]|0,a[n>>0]|0)|0)+u|0;u=(r(d[c+(k+1)>>0]|0,a[o>>0]|0)|0)+u|0;u=(r(d[c+(k+2)>>0]|0,a[p>>0]|0)|0)+u|0;u=(r(d[c+(k+3)>>0]|0,a[q>>0]|0)|0)+u|0;b[e+(k<<1)>>1]=(r(d[c+(k+4)>>0]|0,a[s>>0]|0)|0)+u;k=k+1|0}while((k|0)!=(j|0));l=l+1|0;if((l|0)==(i|0))break;else{c=c+f|0;e=e+(g<<1)|0}}return}function Ke(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if(!((i|0)>0&(j|0)>0))return;y=r(f,-3)|0;m=h+1|0;n=r(f,-2)|0;o=h+2|0;p=h+3|0;q=h+4|0;s=h+5|0;t=f<<1;u=h+6|0;v=f*3|0;w=h+7|0;x=f<<2;l=0;while(1){k=0;do{z=r(d[c+(y+k)>>0]|0,a[h>>0]|0)|0;z=(r(d[c+(n+k)>>0]|0,a[m>>0]|0)|0)+z|0;z=(r(d[c+(k-f)>>0]|0,a[o>>0]|0)|0)+z|0;z=(r(d[c+k>>0]|0,a[p>>0]|0)|0)+z|0;z=(r(d[c+(k+f)>>0]|0,a[q>>0]|0)|0)+z|0;z=(r(d[c+(t+k)>>0]|0,a[s>>0]|0)|0)+z|0;z=(r(d[c+(v+k)>>0]|0,a[u>>0]|0)|0)+z|0;b[e+(k<<1)>>1]=(r(d[c+(x+k)>>0]|0,a[w>>0]|0)|0)+z;k=k+1|0}while((k|0)!=(j|0));l=l+1|0;if((l|0)==(i|0))break;else{c=c+f|0;e=e+(g<<1)|0}}return}function Le(c,d,e,f,g,h,i){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if(!((h|0)>0&(i|0)>0))return;x=r(e,-3)|0;l=g+1|0;m=r(e,-2)|0;n=g+2|0;o=g+3|0;p=g+4|0;q=g+5|0;s=e<<1;t=g+6|0;u=e*3|0;v=g+7|0;w=e<<2;k=0;while(1){j=0;do{z=r(b[c+(x+j<<1)>>1]|0,a[g>>0]|0)|0;z=(r(b[c+(m+j<<1)>>1]|0,a[l>>0]|0)|0)+z|0;z=(r(b[c+(j-e<<1)>>1]|0,a[n>>0]|0)|0)+z|0;z=(r(b[c+(j<<1)>>1]|0,a[o>>0]|0)|0)+z|0;z=(r(b[c+(j+e<<1)>>1]|0,a[p>>0]|0)|0)+z|0;z=(r(b[c+(s+j<<1)>>1]|0,a[q>>0]|0)|0)+z|0;z=(r(b[c+(u+j<<1)>>1]|0,a[t>>0]|0)|0)+z|0;z=(r(b[c+(w+j<<1)>>1]|0,a[v>>0]|0)|0)+z|0;y=(z>>6)+32>>6;a[d+j>>0]=(z|0)>1046527?-1:((y|0)>0?y:0)&255;j=j+1|0}while((j|0)!=(i|0));k=k+1|0;if((k|0)==(h|0))break;else{c=c+(e<<1)|0;d=d+f|0}}return}function Me(c,d,e,f,g,h,i){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if(!((h|0)>0&(i|0)>0))return;x=r(e,-3)|0;l=g+1|0;m=r(e,-2)|0;n=g+2|0;o=g+3|0;p=g+4|0;q=g+5|0;s=e<<1;t=g+6|0;u=e*3|0;v=g+7|0;w=e<<2;k=0;while(1){j=0;do{y=r(b[c+(x+j<<1)>>1]|0,a[g>>0]|0)|0;y=(r(b[c+(m+j<<1)>>1]|0,a[l>>0]|0)|0)+y|0;y=(r(b[c+(j-e<<1)>>1]|0,a[n>>0]|0)|0)+y|0;y=(r(b[c+(j<<1)>>1]|0,a[o>>0]|0)|0)+y|0;y=(r(b[c+(j+e<<1)>>1]|0,a[p>>0]|0)|0)+y|0;y=(r(b[c+(s+j<<1)>>1]|0,a[q>>0]|0)|0)+y|0;y=(r(b[c+(u+j<<1)>>1]|0,a[t>>0]|0)|0)+y|0;b[d+(j<<1)>>1]=(((r(b[c+(w+j<<1)>>1]|0,a[v>>0]|0)|0)+y|0)>>>6)+57344;j=j+1|0}while((j|0)!=(i|0));k=k+1|0;if((k|0)==(h|0))break;else{c=c+(e<<1)|0;d=d+(f<<1)|0}}return}function Ne(b,c,d,e,f,g,h){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;if((g|0)<=0)return;j=h<<1;if((h|0)<=0)return;i=0;f=c;while(1){h=0;do{a[f+h>>0]=a[b+h>>0]|0;h=h+1|0}while((h|0)<(j|0));i=i+1|0;if((i|0)==(g|0))break;else{b=b+d|0;f=f+e|0}}return}function Oe(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;if((h|0)<=0)return;n=i<<1;if((i|0)<=0)return;k=g+1|0;l=g+2|0;m=g+3|0;j=0;while(1){i=0;do{o=i|1;q=a[g>>0]|0;u=r(d[b+(i+-2)>>0]|0,q)|0;q=r(d[b+(o+-2)>>0]|0,q)|0;t=a[k>>0]|0;u=(r(d[b+i>>0]|0,t)|0)+u|0;q=(r(d[b+o>>0]|0,t)|0)+q|0;t=a[l>>0]|0;s=i;i=i+2|0;u=(r(d[b+i>>0]|0,t)|0)+u|0;q=(r(d[b+(o+2)>>0]|0,t)|0)+q|0;t=a[m>>0]|0;u=(r(d[b+(s+4)>>0]|0,t)|0)+(u&65535)|0;q=(r(d[b+(o+4)>>0]|0,t)|0)+(q&65535)|0;t=(u<<16>>16)+32>>6;p=(q<<16>>16)+32>>6;a[c+s>>0]=(u&65535)<<16>>16>16351?-1:((t|0)>0?t:0)&255;a[c+o>>0]=(q&65535)<<16>>16>16351?-1:((p|0)>0?p:0)&255}while((i|0)<(n|0));j=j+1|0;if((j|0)==(h|0))break;else{b=b+e|0;c=c+f|0}}return}function Pe(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((h|0)<=0)return;o=i<<1;if((i|0)<=0)return;k=g+1|0;l=g+2|0;m=g+3|0;n=e<<1;j=0;while(1){i=0;do{q=r(d[b+(i-e)>>0]|0,a[g>>0]|0)|0;q=(r(d[b+i>>0]|0,a[k>>0]|0)|0)+q|0;q=(r(d[b+(i+e)>>0]|0,a[l>>0]|0)|0)+q|0;q=(r(d[b+(n+i)>>0]|0,a[m>>0]|0)|0)+(q&65535)|0;p=(q<<16>>16)+32>>6;a[c+i>>0]=(q&65535)<<16>>16>16351?-1:((p|0)>0?p:0)&255;i=i+1|0}while((i|0)<(o|0));j=j+1|0;if((j|0)==(h|0))break;else{b=b+e|0;c=c+f|0}}return}function Qe(a,c,e,f,g,h,i){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;if((h|0)<=0)return;k=i<<1;if((i|0)<=0)return;j=0;g=c;while(1){i=0;do{b[g+(i<<1)>>1]=(d[a+i>>0]|0)<<6;i=i+1|0}while((i|0)<(k|0));j=j+1|0;if((j|0)==(h|0))break;else{a=a+e|0;g=g+(f<<1)|0}}return}function Re(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;if((i|0)<=0)return;o=j<<1;if((j|0)<=0)return;l=h+1|0;m=h+2|0;n=h+3|0;k=0;while(1){j=0;do{p=j|1;q=a[h>>0]|0;t=r(d[c+(j+-2)>>0]|0,q)|0;q=r(d[c+(p+-2)>>0]|0,q)|0;u=a[l>>0]|0;t=(r(d[c+j>>0]|0,u)|0)+t|0;q=(r(d[c+p>>0]|0,u)|0)+q|0;u=a[m>>0]|0;s=j;j=j+2|0;t=(r(d[c+j>>0]|0,u)|0)+t|0;q=(r(d[c+(p+2)>>0]|0,u)|0)+q|0;u=a[n>>0]|0;t=(r(d[c+(s+4)>>0]|0,u)|0)+t|0;q=(r(d[c+(p+4)>>0]|0,u)|0)+q&65535;b[e+(s<<1)>>1]=t;b[e+(p<<1)>>1]=q}while((j|0)<(o|0));k=k+1|0;if((k|0)==(i|0))break;else{c=c+f|0;e=e+(g<<1)|0}}return}function Se(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((i|0)<=0)return;p=j<<1;if((j|0)<=0)return;l=h+1|0;m=h+2|0;n=h+3|0;o=f<<1;k=0;while(1){j=0;do{q=r(d[c+(j-f)>>0]|0,a[h>>0]|0)|0;q=(r(d[c+j>>0]|0,a[l>>0]|0)|0)+q|0;q=(r(d[c+(j+f)>>0]|0,a[m>>0]|0)|0)+q|0;b[e+(j<<1)>>1]=(r(d[c+(o+j)>>0]|0,a[n>>0]|0)|0)+q;j=j+1|0}while((j|0)<(p|0));k=k+1|0;if((k|0)==(i|0))break;else{c=c+f|0;e=e+(g<<1)|0}}return}function Te(c,d,e,f,g,h,i){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((h|0)<=0)return;o=i<<1;if((i|0)<=0)return;k=g+1|0;l=g+2|0;m=g+3|0;n=e<<1;j=0;while(1){i=0;do{q=r(b[c+(i-e<<1)>>1]|0,a[g>>0]|0)|0;q=(r(b[c+(i<<1)>>1]|0,a[k>>0]|0)|0)+q|0;q=(r(b[c+(i+e<<1)>>1]|0,a[l>>0]|0)|0)+q|0;q=(r(b[c+(n+i<<1)>>1]|0,a[m>>0]|0)|0)+q|0;p=(q>>6)+32>>6;a[d+i>>0]=(q|0)>1046527?-1:((p|0)>0?p:0)&255;i=i+1|0}while((i|0)<(o|0));j=j+1|0;if((j|0)==(h|0))break;else{c=c+(e<<1)|0;d=d+f|0}}return}function Ue(c,d,e,f,g,h,i){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((h|0)<=0)return;o=i<<1;if((i|0)<=0)return;k=g+1|0;l=g+2|0;m=g+3|0;n=e<<1;j=0;while(1){i=0;do{p=r(b[c+(i-e<<1)>>1]|0,a[g>>0]|0)|0;p=(r(b[c+(i<<1)>>1]|0,a[k>>0]|0)|0)+p|0;p=(r(b[c+(i+e<<1)>>1]|0,a[l>>0]|0)|0)+p|0;b[d+(i<<1)>>1]=((r(b[c+(n+i<<1)>>1]|0,a[m>>0]|0)|0)+p|0)>>>6;i=i+1|0}while((i|0)<(o|0));j=j+1|0;if((j|0)==(h|0))break;else{c=c+(e<<1)|0;d=d+(f<<1)|0}}return}function Ve(b,c,d,e,f,g,h,i){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=f<<1;a:do if((g|0)>=78796)if((g|0)<131071){switch(g|0){case 78796:break a;default:{}}J(41507,41584,147,41618)}else{switch(g|0){case 131071:break a;default:{}}J(41507,41584,147,41618)}else{switch(g|0){case 70024:break a;default:{}}J(41507,41584,147,41618)}while(0);g=f+-4|0;switch(g>>>2|g<<30|0){case 0:{a[h+j>>0]=a[b>>0]|0;if((f|0)>0){b=j+-1|0;i=0;do{a[h+(b-i)>>0]=a[d+(r(i,e)|0)>>0]|0;i=i+1|0}while((i|0)!=(f|0))}if((j|0)>(f|0)){b=j+-1|0;i=f;do{a[h+(b-i)>>0]=a[d+(r(i,e)|0)>>0]|0;i=i+1|0}while((i|0)!=(j|0))}e=j|1;We(h+e|0,c,f);We(h+(e+f)|0,c+f|0,f);return}case 1:case 3:case 7:{a[h+j>>0]=a[b>>0]|0;if((f|0)>0){b=j+-1|0;i=0;do{a[h+(b-i)>>0]=a[d+(r(i,e)|0)>>0]|0;i=i+1|0}while((i|0)!=(f|0))}if((j|0)>(f|0)){b=j+-1|0;i=f;do{a[h+(b-i)>>0]=a[d+(r(i,e)|0)>>0]|0;i=i+1|0}while((i|0)!=(j|0))}e=j|1;ae(h+e|0,c,f);ae(h+(e+f)|0,c+f|0,f);return}default:J(41661,41584,183,41618)}}function We(a,b,c){a=a|0;b=b|0;c=c|0;Sk(a|0,b|0,c|0)|0;return}function Xe(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=Sb;Sb=Sb+32|0;t=A;j=g<<2|1;y=g<<1;x=g*3|0;if(!h){if((j|0)<=0){Sb=A;return}Uk(i|0,-128,j|0)|0;Sb=A;return}if((g|0)<9){o=h>>>16&1;l=h&8;p=h>>>7&1;q=h>>>8&1;s=h>>>12&1;v=(o|0)==0;if(v)j=0;else j=a[b>>0]|0;w=i+y|0;a[w>>0]=j;u=(p|0)==0;if(!u){if((g|0)>0){k=y+-1|0;j=0;do{a[i+(k-j)>>0]=a[e+(r(j,f)|0)>>0]|0;j=j+1|0}while((j|0)!=(g|0))}}else Ye(i+g|0,0,g);l=(l|0)==0;if(!l){if((y|0)>(g|0)){k=y+-1|0;j=g;do{a[i+(k-j)>>0]=a[e+(r(j,f)|0)>>0]|0;j=j+1|0}while((j|0)!=(y|0))}}else Ye(i,0,g);k=(q|0)==0;j=y|1;m=i+j|0;if(k)Ye(m,0,g);else We(m,d,g);n=(s|0)==0;j=i+(j+g)|0;if(n)Ye(j,0,g);else We(j,d+g|0,g);if(l){c[t>>2]=0;c[t+4>>2]=p;c[t+8>>2]=o;c[t+12>>2]=q;c[t+16>>2]=s;if(!p){j=2;while(1)if(!(c[t+(j<<2)>>2]|0))j=j+1|0;else break}else j=1;if(j>>>0<3){j=r(j,g)|0;if((j|0)>0)Uk(i|0,a[i+j>>0]|0,j|0)|0}else{t=r(j+-1|0,g)|0;j=t+1|0;if((t|0)>=0)Uk(i|0,a[i+j>>0]|0,j|0)|0}}if(u)Ye(i+g|0,a[i+(g+-1)>>0]|0,g);if(v)a[w>>0]=a[i+(y+-1)>>0]|0;if(k)Ye(m,a[w>>0]|0,g);if(n)Ye(i+(x+1)|0,a[i+x>>0]|0,g)}switch(g|0){case 16:{k=h&192;m=h>>>2&3|k>>>4;l=h&768;n=h&12288;o=n>>>6|l>>>4;p=h&65536;q=o|m|p>>>8;p=(p|0)==0;if(p)j=0;else j=a[b>>0]|0;a[i+y>>0]=j;if(!k)Ze(i+16|0,0,16);else{a[i+(y+-1)>>0]=a[e>>0]|0;a[i+(y+-2)>>0]=a[e+f>>0]|0;a[i+(y+-3)>>0]=a[e+(f<<1)>>0]|0;a[i+(y+-4)>>0]=a[e+(f*3|0)>>0]|0;a[i+(y+-5)>>0]=a[e+(f<<2)>>0]|0;a[i+(y+-6)>>0]=a[e+(f*5|0)>>0]|0;a[i+(y+-7)>>0]=a[e+(f*6|0)>>0]|0;a[i+(y+-8)>>0]=a[e+(f*7|0)>>0]|0;a[i+(y+-9)>>0]=a[e+(f<<3)>>0]|0;a[i+(y+-10)>>0]=a[e+(f*9|0)>>0]|0;a[i+(y+-11)>>0]=a[e+(f*10|0)>>0]|0;a[i+(y+-12)>>0]=a[e+(f*11|0)>>0]|0;a[i+(y+-13)>>0]=a[e+(f*12|0)>>0]|0;a[i+(y+-14)>>0]=a[e+(f*13|0)>>0]|0;a[i+(y+-15)>>0]=a[e+(f*14|0)>>0]|0;a[i+(y+-16)>>0]=a[e+(f*15|0)>>0]|0}if(!(h&8))Ze(i+8|0,0,8);else{a[i+(y+-17)>>0]=a[e+(f<<4)>>0]|0;a[i+(y+-18)>>0]=a[e+(f*17|0)>>0]|0;a[i+(y+-19)>>0]=a[e+(f*18|0)>>0]|0;a[i+(y+-20)>>0]=a[e+(f*19|0)>>0]|0;a[i+(y+-21)>>0]=a[e+(f*20|0)>>0]|0;a[i+(y+-22)>>0]=a[e+(f*21|0)>>0]|0;a[i+(y+-23)>>0]=a[e+(f*22|0)>>0]|0;a[i+(y+-24)>>0]=a[e+(f*23|0)>>0]|0}if(h&4){if((g|0)>12){k=y+-1|0;j=24;do{a[i+(k-j)>>0]=a[e+(r(j,f)|0)>>0]|0;j=j+1|0}while((j|0)!=(y|0))}}else Ze(i,0,8);j=y|1;k=i+j|0;if(!l)Ze(k,0,16);else ae(k,d,16);j=i+(j+16)|0;if(!n)Ze(j,0,16);else ae(j,d+16|0,16);j=(Mk(m|0)|0)<<3;j=(m|0)==0?64:j;j=(j|0)==64?32:j;if(!(p&(j|0)==32))if(!j)j=0;else z=64;else{j=((Mk(o>>>4|0)|0)<<3)+33|0;j=(o|0)==0?97:j;z=64}if((z|0)==64){z=~j;z=(z|0)>-2?z:-2;Uk(i+(-2-z)|0,a[i+j>>0]|0,j+z+2|0)|0;if((j|0)>=65){Sb=A;return}}if(!p){do{k=(j|0)==32;if(!k?(1<<(j>>3)&q|0)==0:0)Ze(i+j|0,a[i+(j+-1)>>0]|0,8);j=(k?1:8)+j|0}while((j|0)<65);Sb=A;return}l=i+32|0;m=i+31|0;do{k=(j|0)==32;if(!k){if(!(1<<(j>>3)&q))Ze(i+j|0,a[i+(j+-1)>>0]|0,8)}else a[l>>0]=a[m>>0]|0;j=(k?1:8)+j|0}while((j|0)<65);Sb=A;return}case 32:{l=h&65536;m=(l|0)!=0;if(m)j=a[b>>0]|0;else j=0;a[i+y>>0]=j;if(!(h&240))Ze(i+g|0,0,g);else{k=y+-1|0;j=0;do{a[i+(k-j)>>0]=a[e+(r(j,f)|0)>>0]|0;j=j+1|0}while((j|0)!=(g|0))}if(!(h&8))Ze(i+24|0,0,8);else{x=y+-1|0;a[i+(x-g)>>0]=a[e+(r(g,f)|0)>>0]|0;b=g+1|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+2|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+3|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+4|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+5|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+6|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+7|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0}if(!(h&4))Ze(i+16|0,0,8);else{b=g+8|0;x=y+-1|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+9|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+10|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+11|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+12|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+13|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+14|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+15|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0}if(!(h&2))Ze(i+8|0,0,8);else{b=g+16|0;x=y+-1|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+17|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+18|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+19|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+20|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+21|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+22|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+23|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0}if(h&1){j=g+24|0;if((j|0)<(y|0)){k=y+-1|0;do{a[i+(k-j)>>0]=a[e+(r(j,f)|0)>>0]|0;j=j+1|0}while((j|0)!=(y|0))}}else Ze(i,0,8);j=y|1;k=i+j|0;if(!(h&3840))Ze(k,0,g);else ae(k,d,g);j=i+(j+g)|0;if(!(h&61440))Ze(j,0,g);else ae(j,d+g|0,g);d=h&255;j=(Mk(d|0)|0)<<3;j=(d|0)==0?64:j;if(!((l|0)==0&(j|0)==64))if(!j)j=0;else z=106;else{z=h>>>8&255;j=((Mk(z|0)|0)<<3)+65|0;j=(z|0)==0?129:j;z=106}if((z|0)==106){z=~j;z=(z|0)>-2?z:-2;Uk(i+(-2-z)|0,a[i+j>>0]|0,j+z+2|0)|0;if((j|0)>=129){Sb=A;return}}if(m){do{k=(j|0)==64;if(!k?(1<<(j>>3)&h|0)==0:0)Ze(i+j|0,a[i+(j+-1)>>0]|0,8);j=(k?1:8)+j|0}while((j|0)<129);Sb=A;return}l=i+64|0;m=i+63|0;do{k=(j|0)==64;if(!k){if(!(1<<(j>>3)&h))Ze(i+j|0,a[i+(j+-1)>>0]|0,8)}else a[l>>0]=a[m>>0]|0;j=(k?1:8)+j|0}while((j|0)<129);Sb=A;return}default:{Sb=A;return}}}function Ye(a,b,c){a=a|0;b=b|0;c=c|0;Uk(a|0,b|0,c|0)|0;return}function Ze(a,b,c){a=a|0;b=b|0;c=c|0;Uk(a|0,b|0,c|0)|0;return}function _e(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=Sb;Sb=Sb+272|0;l=m;k=c<<2;i=d[25424+f>>0]|0;h=1<<(Mk(c|0)|0)+-2;if(!(((c|0)==0?0:h)&i)){if((b|0)==(e|0)){Sb=m;return}g=k|1;if((g|0)<=0){Sb=m;return}f=0;do{a[e+f>>0]=a[b+f>>0]|0;f=f+1|0}while((f|0)!=(g|0));Sb=m;return}if((c|0)==32&(g|0)==1){g=a[b+64>>0]|0;h=g&255;p=a[b+k>>0]|0;i=p&255;o=i+h-((d[b+96>>0]|0)<<1)|0;f=a[b>>0]|0;c=f&255;n=c+h-((d[b+32>>0]|0)<<1)|0;a[l>>0]=f;a[l+k>>0]=p;if((((o|0)>0?o:0-o|0)|0)<8&(((n|0)>0?n:0-n|0)|0)<8){a[l+64>>0]=g;f=1;do{a[l+f>>0]=((r(f,h)|0)+32+(r(64-f|0,c)|0)|0)>>>6;f=f+1|0}while(f>>>0<64);f=1;do{a[l+(f+64)>>0]=((r(f,i)|0)+32+(r(64-f|0,h)|0)|0)>>>6;f=f+1|0}while(f>>>0<64)}else{i=127;j=13}}else{f=a[b>>0]|0;a[l>>0]=f;a[l+k>>0]=a[b+k>>0]|0;if((c|0)>0){i=k+-1|0;j=13}}if((j|0)==13){h=0;g=a[b+1>>0]|0;while(1){c=a[b+(h+2)>>0]|0;h=h+1|0;a[l+h>>0]=((f&255)+2+((g&255)<<1)+(c&255)|0)>>>2;if((h|0)>=(i|0))break;else{f=g;g=c}}}f=k|1;if((f|0)<=0){Sb=m;return}Sk(e|0,l|0,f|0)|0;Sb=m;return}function $e(b,c,e,f,g,h){b=b|0;c=c|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,s=0,t=0,u=0,v=0;q=g+-4|0;switch(q>>>2|q<<30|0){case 0:{n=3;break}case 3:{n=5;break}case 1:{n=4;break}default:n=6}c=g<<1;if((g|0)<=0)return;o=g+-1|0;p=c+-1|0;q=b+((g*3|0)+1)|0;i=c|1;j=b+o|0;h=0;do{k=b+(p-h)|0;l=o-h|0;m=r(h,f)|0;h=h+1|0;c=0;do{v=r(o-c|0,d[k>>0]|0)|0;s=c;c=c+1|0;u=r(c,d[q>>0]|0)|0;t=r(l,d[b+(s+i)>>0]|0)|0;a[e+(s+m)>>0]=v+g+u+t+(r(h,d[j>>0]|0)|0)>>n}while((c|0)!=(g|0))}while((h|0)!=(g|0));return}function af(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=g+-4|0;switch(m>>>2|m<<30|0){case 0:{j=3;break}case 3:{j=5;break}case 1:{j=4;break}default:j=6}k=g<<1;i=g*3|0;if((k|0)>(g|0)){c=0;h=g;do{c=c+(d[b+h>>0]|0)|0;h=h+1|0}while((h|0)!=(k|0))}else c=0;m=k|1;if((m|0)<=(i|0)){h=m;while(1){c=c+(d[b+h>>0]|0)|0;if((h|0)<(i|0))h=h+1|0;else break}}l=c+g>>j;i=l*3|0;if((g|0)==32){g=l&255;Uk(e|0,g|0,32)|0;Uk(e+f|0,g|0,32)|0;Uk(e+(f<<1)|0,g|0,32)|0;Uk(e+(f*3|0)|0,g|0,32)|0;Uk(e+(f<<2)|0,g|0,32)|0;Uk(e+(f*5|0)|0,g|0,32)|0;Uk(e+(f*6|0)|0,g|0,32)|0;Uk(e+(f*7|0)|0,g|0,32)|0;Uk(e+(f<<3)|0,g|0,32)|0;Uk(e+(f*9|0)|0,g|0,32)|0;Uk(e+(f*10|0)|0,g|0,32)|0;Uk(e+(f*11|0)|0,g|0,32)|0;Uk(e+(f*12|0)|0,g|0,32)|0;Uk(e+(f*13|0)|0,g|0,32)|0;Uk(e+(f*14|0)|0,g|0,32)|0;Uk(e+(f*15|0)|0,g|0,32)|0;Uk(e+(f<<4)|0,g|0,32)|0;Uk(e+(f*17|0)|0,g|0,32)|0;Uk(e+(f*18|0)|0,g|0,32)|0;Uk(e+(f*19|0)|0,g|0,32)|0;Uk(e+(f*20|0)|0,g|0,32)|0;Uk(e+(f*21|0)|0,g|0,32)|0;Uk(e+(f*22|0)|0,g|0,32)|0;Uk(e+(f*23|0)|0,g|0,32)|0;Uk(e+(f*24|0)|0,g|0,32)|0;Uk(e+(f*25|0)|0,g|0,32)|0;Uk(e+(f*26|0)|0,g|0,32)|0;Uk(e+(f*27|0)|0,g|0,32)|0;Uk(e+(f*28|0)|0,g|0,32)|0;Uk(e+(f*29|0)|0,g|0,32)|0;Uk(e+(f*30|0)|0,g|0,32)|0;Uk(e+(f*31|0)|0,g|0,32)|0;return}j=k+-1|0;a[e>>0]=((l<<1)+2+(d[b+j>>0]|0)+(d[b+m>>0]|0)|0)>>>2;k=(g|0)>1;if(!k)return;h=i+2|0;c=1;do{a[e+c>>0]=(h+(d[b+(c+m)>>0]|0)|0)>>>2;c=c+1|0}while((c|0)!=(g|0));if(!k)return;h=i+2|0;c=1;do{a[e+(r(c,f)|0)>>0]=(h+(d[b+(j-c)>>0]|0)|0)>>>2;c=c+1|0}while((c|0)!=(g|0));if(!k)return;i=l&255;j=f+1|0;c=g+-1|0;h=0;do{Uk(e+(j+(r(h,f)|0))|0,i|0,c|0)|0;h=h+1|0}while((h|0)!=(c|0));return}function bf(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;k=g<<1;if((g|0)==32){h=k+-1|0;c=0;do{k=b+(h-c)|0;g=r(c,f)|0;a[e+g>>0]=a[k>>0]|0;a[e+(g+1)>>0]=a[k>>0]|0;a[e+(g+2)>>0]=a[k>>0]|0;a[e+(g+3)>>0]=a[k>>0]|0;a[e+(g+4)>>0]=a[k>>0]|0;a[e+(g+5)>>0]=a[k>>0]|0;a[e+(g+6)>>0]=a[k>>0]|0;a[e+(g+7)>>0]=a[k>>0]|0;a[e+(g+8)>>0]=a[k>>0]|0;a[e+(g+9)>>0]=a[k>>0]|0;a[e+(g+10)>>0]=a[k>>0]|0;a[e+(g+11)>>0]=a[k>>0]|0;a[e+(g+12)>>0]=a[k>>0]|0;a[e+(g+13)>>0]=a[k>>0]|0;a[e+(g+14)>>0]=a[k>>0]|0;a[e+(g+15)>>0]=a[k>>0]|0;a[e+(g+16)>>0]=a[k>>0]|0;a[e+(g+17)>>0]=a[k>>0]|0;a[e+(g+18)>>0]=a[k>>0]|0;a[e+(g+19)>>0]=a[k>>0]|0;a[e+(g+20)>>0]=a[k>>0]|0;a[e+(g+21)>>0]=a[k>>0]|0;a[e+(g+22)>>0]=a[k>>0]|0;a[e+(g+23)>>0]=a[k>>0]|0;a[e+(g+24)>>0]=a[k>>0]|0;a[e+(g+25)>>0]=a[k>>0]|0;a[e+(g+26)>>0]=a[k>>0]|0;a[e+(g+27)>>0]=a[k>>0]|0;a[e+(g+28)>>0]=a[k>>0]|0;a[e+(g+29)>>0]=a[k>>0]|0;a[e+(g+30)>>0]=a[k>>0]|0;a[e+(g+31)>>0]=a[k>>0]|0;c=c+1|0}while((c|0)!=32);return}if((g|0)<=0)return;h=b+(k+-1)|0;i=k|1;j=b+k|0;c=0;do{l=((d[b+(c+i)>>0]|0)-(d[j>>0]|0)>>1)+(d[h>>0]|0)|0;l=(l|0)>0?l:0;a[e+c>>0]=(l|0)<255?l:255;c=c+1|0}while((c|0)!=(g|0));if((g|0)<=1)return;i=k+-1|0;c=1;do{j=b+(i-c)|0;k=r(c,f)|0;h=0;do{a[e+(h+k)>>0]=a[j>>0]|0;h=h+1|0}while((h|0)!=(g|0));c=c+1|0}while((c|0)!=(g|0));return}function cf(b,c,e,f,g,h){b=b|0;c=c|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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;k=g<<1;l=(g|0)>0;if((g|0)==32){h=k|1;i=b+h|0;j=b+(h+1)|0;k=b+(h+2)|0;l=b+(h+3)|0;g=b+(h+4)|0;m=b+(h+5)|0;n=b+(h+6)|0;o=b+(h+7)|0;p=b+(h+8)|0;q=b+(h+9)|0;s=b+(h+10)|0;t=b+(h+11)|0;u=b+(h+12)|0;v=b+(h+13)|0;w=b+(h+14)|0;x=b+(h+15)|0;y=b+(h+16)|0;z=b+(h+17)|0;A=b+(h+18)|0;B=b+(h+19)|0;C=b+(h+20)|0;D=b+(h+21)|0;E=b+(h+22)|0;F=b+(h+23)|0;G=b+(h+24)|0;H=b+(h+25)|0;I=b+(h+26)|0;J=b+(h+27)|0;K=b+(h+28)|0;L=b+(h+29)|0;M=b+(h+30)|0;h=b+(h+31)|0;c=0;do{b=r(c,f)|0;a[e+b>>0]=a[i>>0]|0;a[e+(b+1)>>0]=a[j>>0]|0;a[e+(b+2)>>0]=a[k>>0]|0;a[e+(b+3)>>0]=a[l>>0]|0;a[e+(b+4)>>0]=a[g>>0]|0;a[e+(b+5)>>0]=a[m>>0]|0;a[e+(b+6)>>0]=a[n>>0]|0;a[e+(b+7)>>0]=a[o>>0]|0;a[e+(b+8)>>0]=a[p>>0]|0;a[e+(b+9)>>0]=a[q>>0]|0;a[e+(b+10)>>0]=a[s>>0]|0;a[e+(b+11)>>0]=a[t>>0]|0;a[e+(b+12)>>0]=a[u>>0]|0;a[e+(b+13)>>0]=a[v>>0]|0;a[e+(b+14)>>0]=a[w>>0]|0;a[e+(b+15)>>0]=a[x>>0]|0;a[e+(b+16)>>0]=a[y>>0]|0;a[e+(b+17)>>0]=a[z>>0]|0;a[e+(b+18)>>0]=a[A>>0]|0;a[e+(b+19)>>0]=a[B>>0]|0;a[e+(b+20)>>0]=a[C>>0]|0;a[e+(b+21)>>0]=a[D>>0]|0;a[e+(b+22)>>0]=a[E>>0]|0;a[e+(b+23)>>0]=a[F>>0]|0;a[e+(b+24)>>0]=a[G>>0]|0;a[e+(b+25)>>0]=a[H>>0]|0;a[e+(b+26)>>0]=a[I>>0]|0;a[e+(b+27)>>0]=a[J>>0]|0;a[e+(b+28)>>0]=a[K>>0]|0;a[e+(b+29)>>0]=a[L>>0]|0;a[e+(b+30)>>0]=a[M>>0]|0;a[e+(b+31)>>0]=a[h>>0]|0;c=c+1|0}while((c|0)!=32);return}if(!l)return;h=b+(k|1)|0;i=k+-1|0;j=b+k|0;c=0;do{M=((d[b+(i-c)>>0]|0)-(d[j>>0]|0)>>1)+(d[h>>0]|0)|0;M=(M|0)>0?M:0;a[e+(r(c,f)|0)>>0]=(M|0)<255?M:255;c=c+1|0}while((c|0)!=(g|0));if(!l)return;i=k|1;if((g|0)==1)return;h=0;do{j=r(h,f)|0;c=1;do{a[e+(c+j)>>0]=a[b+(c+i)>>0]|0;c=c+1|0}while((c|0)<(g|0));h=h+1|0}while((h|0)!=(g|0));return}function df(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;if((f|0)<=0)return;h=(f<<1)+-1|0;c=0;do{i=h+~c|0;g=0;do{a[d+((r(g,e)|0)+c)>>0]=a[b+(i-g)>>0]|0;g=g+1|0}while((g|0)!=(f|0));c=c+1|0}while((c|0)!=(f|0));return}function ef(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f<<1;j=(g|0)==18?-32:32;if((f|0)<=0)return;g=0;do{i=g;g=g+1|0;h=(r(g,j)|0)>>5;i=r(i,e)|0;c=0;do{l=c;c=c+1|0;a[d+(l+i)>>0]=a[b+(c+k+h)>>0]|0}while((c|0)!=(f|0))}while((g|0)!=(f|0));return}function ff(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=h<<1;n=c[25216+(i<<2)>>2]|0;if((h|0)<=0)return;e=0;do{i=e;e=e+1|0;l=r(e,n)|0;k=l>>5;l=l&31;m=32-l|0;j=0;do{p=o-j-k|0;q=r(m,d[b+(p+-1)>>0]|0)|0;a[f+((r(j,g)|0)+i)>>0]=(q+16+(r(l,d[b+(p+-2)>>0]|0)|0)|0)>>>5;j=j+1|0}while((j|0)!=(h|0))}while((e|0)!=(h|0));return}function gf(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;p=Sb;Sb=Sb+144|0;j=p;l=h<<1;o=c[25216+(i<<2)>>2]|0;k=c[25360+(i+-11<<2)>>2]|0;n=j+h|0;if((h|0)>=0){i=h+-1|0;e=0;while(1){a[j+(i+e)>>0]=a[b+(l-e)>>0]|0;if((e|0)==(h|0))break;else e=e+1|0}}m=n+-1|0;i=r(o,h)|0;j=i>>5;if((i|0)<-32){e=128;i=-1;do{e=e+k|0;a[m+i>>0]=a[b+((e>>8)+l)>>0]|0;i=i+-1|0}while((i|0)>(j|0))}if((h|0)<=0){Sb=p;return}e=0;do{i=e;e=e+1|0;l=r(e,o)|0;k=l>>5;l=l&31;b=32-l|0;j=0;do{q=j+k|0;s=r(b,d[n+q>>0]|0)|0;a[f+((r(j,g)|0)+i)>>0]=(s+16+(r(l,d[m+(q+2)>>0]|0)|0)|0)>>>5;j=j+1|0}while((j|0)!=(h|0))}while((e|0)!=(h|0));Sb=p;return}function hf(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;p=Sb;Sb=Sb+144|0;e=p;l=h<<1;o=c[25216+(i<<2)>>2]|0;k=c[25360+(i+-12<<2)>>2]|0;m=e+h|0;n=m+-1|0;if((h|0)>=0)Sk(e+(h+-1)|0,b+l|0,h+1|0)|0;i=r(o,h)|0;j=i>>5;if((i|0)<-32){e=128;i=-1;do{e=e+k|0;a[n+i>>0]=a[b+(l-(e>>8))>>0]|0;i=i+-1|0}while((i|0)>(j|0))}if((h|0)<=0){Sb=p;return}i=0;do{b=i;i=i+1|0;k=r(i,o)|0;j=k>>5;k=k&31;l=32-k|0;b=r(b,g)|0;e=0;do{q=e+j|0;s=r(l,d[m+q>>0]|0)|0;a[f+(e+b)>>0]=(s+16+(r(k,d[n+(q+2)>>0]|0)|0)|0)>>>5;e=e+1|0}while((e|0)!=(h|0))}while((i|0)!=(h|0));Sb=p;return}function jf(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=h<<1;n=c[25216+(i<<2)>>2]|0;if((h|0)<=0)return;i=0;do{m=i;i=i+1|0;k=r(i,n)|0;j=k&31;k=(k>>5)+o|0;l=32-j|0;m=r(m,g)|0;e=0;do{p=k+e|0;q=r(l,d[b+(p+1)>>0]|0)|0;a[f+(e+m)>>0]=(q+16+(r(j,d[b+(p+2)>>0]|0)|0)|0)>>>5;e=e+1|0}while((e|0)!=(h|0))}while((i|0)!=(h|0));return}function kf(a,c,d,e,f,g){a=a|0;c=c|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,s=0,t=0;j=1<<f+-1;k=d<<1;l=d*3|0;if(!(g&1)){i=b[a>>1]|0;o=a+(k<<1)|0;p=b[o>>1]|0;m=p+i|0;n=a+(l<<1)|0;h=b[n>>1]|0;p=h+p|0;h=i-h|0;i=(b[a+(d<<1)>>1]|0)*74|0;q=i+j|0;s=q+(m*29|0)+(p*55|0)>>f;s=(s|0)>-32768?s:-32768;b[c>>1]=(s|0)<32767?s:32767;p=q+(r(p,-29)|0)+(h*55|0)>>f;p=(p|0)>-32768?p:-32768;b[c+2>>1]=(p|0)<32767?p:32767;n=(((b[a>>1]|0)-(b[o>>1]|0)+(b[n>>1]|0)|0)*74|0)+j>>f;n=(n|0)>-32768?n:-32768;b[c+4>>1]=(n|0)<32767?n:32767;i=(m*55|0)+j+(h*29|0)-i>>f;i=(i|0)>-32768?i:-32768;b[c+6>>1]=(i|0)<32767?i:32767}else{s=c;q=s;b[q>>1]=0;b[q+2>>1]=0>>>16;s=s+4|0;b[s>>1]=0;b[s+2>>1]=0>>>16}h=a+2|0;i=c+(e<<1)|0;if(!(g&2)){s=b[h>>1]|0;n=h+(k<<1)|0;m=b[n>>1]|0;p=m+s|0;o=h+(l<<1)|0;q=b[o>>1]|0;m=q+m|0;q=s-q|0;s=(b[h+(d<<1)>>1]|0)*74|0;c=s+j|0;t=c+(p*29|0)+(m*55|0)>>f;t=(t|0)>-32768?t:-32768;b[i>>1]=(t|0)<32767?t:32767;m=c+(r(m,-29)|0)+(q*55|0)>>f;m=(m|0)>-32768?m:-32768;b[i+2>>1]=(m|0)<32767?m:32767;o=(((b[h>>1]|0)-(b[n>>1]|0)+(b[o>>1]|0)|0)*74|0)+j>>f;o=(o|0)>-32768?o:-32768;b[i+4>>1]=(o|0)<32767?o:32767;s=(p*55|0)+j+(q*29|0)-s>>f;s=(s|0)>-32768?s:-32768;b[i+6>>1]=(s|0)<32767?s:32767}else{t=i;s=t;b[s>>1]=0;b[s+2>>1]=0>>>16;t=t+4|0;b[t>>1]=0;b[t+2>>1]=0>>>16}c=a+4|0;i=i+(e<<1)|0;if(!(g&4)){t=b[c>>1]|0;o=c+(k<<1)|0;n=b[o>>1]|0;q=n+t|0;p=c+(l<<1)|0;s=b[p>>1]|0;n=s+n|0;s=t-s|0;t=(b[c+(d<<1)>>1]|0)*74|0;m=t+j|0;h=m+(q*29|0)+(n*55|0)>>f;h=(h|0)>-32768?h:-32768;b[i>>1]=(h|0)<32767?h:32767;n=m+(r(n,-29)|0)+(s*55|0)>>f;n=(n|0)>-32768?n:-32768;b[i+2>>1]=(n|0)<32767?n:32767;p=(((b[c>>1]|0)-(b[o>>1]|0)+(b[p>>1]|0)|0)*74|0)+j>>f;p=(p|0)>-32768?p:-32768;b[i+4>>1]=(p|0)<32767?p:32767;t=(q*55|0)+j+(s*29|0)-t>>f;t=(t|0)>-32768?t:-32768;b[i+6>>1]=(t|0)<32767?t:32767}else{t=i;s=t;b[s>>1]=0;b[s+2>>1]=0>>>16;t=t+4|0;b[t>>1]=0;b[t+2>>1]=0>>>16}h=a+6|0;c=i+(e<<1)|0;if(!(g&8)){t=b[h>>1]|0;o=h+(k<<1)|0;n=b[o>>1]|0;q=n+t|0;p=h+(l<<1)|0;s=b[p>>1]|0;n=s+n|0;s=t-s|0;t=(b[h+(d<<1)>>1]|0)*74|0;m=t+j|0;l=m+(q*29|0)+(n*55|0)>>f;l=(l|0)>-32768?l:-32768;b[c>>1]=(l|0)<32767?l:32767;n=m+(r(n,-29)|0)+(s*55|0)>>f;n=(n|0)>-32768?n:-32768;b[c+2>>1]=(n|0)<32767?n:32767;p=(((b[h>>1]|0)-(b[o>>1]|0)+(b[p>>1]|0)|0)*74|0)+j>>f;p=(p|0)>-32768?p:-32768;b[c+4>>1]=(p|0)<32767?p:32767;t=(q*55|0)+j+(s*29|0)-t>>f;t=(t|0)>-32768?t:-32768;b[c+6>>1]=(t|0)<32767?t:32767;return}else{t=c;s=t;b[s>>1]=0;b[s+2>>1]=0>>>16;t=t+4|0;b[t>>1]=0;b[t+2>>1]=0>>>16;return}}function lf(a,c,d,e,f,g){a=a|0;c=c|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,s=0,t=0,u=0,v=0,w=0,x=0;t=1<<f+-1;u=b[16820]|0;j=b[16828]|0;k=d*3|0;l=b[16821]|0;m=b[16829]|0;n=b[16816]|0;o=b[16824]|0;p=d<<1;q=b[16817]|0;s=b[16825]|0;if(!(g&1)){w=b[a+(d<<1)>>1]|0;h=r(w,u)|0;v=b[a+(k<<1)>>1]|0;h=(r(v,j)|0)+h|0;w=(r(m,v)|0)+(r(l,w)|0)|0;v=b[a>>1]|0;i=r(v,n)|0;x=b[a+(p<<1)>>1]|0;i=(r(x,o)|0)+i|0;v=(r(s,x)|0)+(r(q,v)|0)|0;x=h+t+i>>f;x=(x|0)>-32768?x:-32768;b[c>>1]=(x|0)<32767?x:32767;x=w+t+v>>f;x=(x|0)>-32768?x:-32768;b[c+2>>1]=(x|0)<32767?x:32767;v=t-w+v>>f;v=(v|0)>-32768?v:-32768;b[c+4>>1]=(v|0)<32767?v:32767;i=t-h+i>>f;i=(i|0)>-32768?i:-32768;b[c+6>>1]=(i|0)<32767?i:32767}else{x=c;w=x;b[w>>1]=0;b[w+2>>1]=0>>>16;x=x+4|0;b[x>>1]=0;b[x+2>>1]=0>>>16}h=a+2|0;i=c+(e<<1)|0;if(!(g&2)){c=b[h+(d<<1)>>1]|0;w=r(c,u)|0;v=b[h+(k<<1)>>1]|0;w=(r(v,j)|0)+w|0;c=(r(m,v)|0)+(r(l,c)|0)|0;v=b[h>>1]|0;x=r(v,n)|0;h=b[h+(p<<1)>>1]|0;x=(r(h,o)|0)+x|0;v=(r(s,h)|0)+(r(q,v)|0)|0;h=w+t+x>>f;h=(h|0)>-32768?h:-32768;b[i>>1]=(h|0)<32767?h:32767;h=c+t+v>>f;h=(h|0)>-32768?h:-32768;b[i+2>>1]=(h|0)<32767?h:32767;v=t-c+v>>f;v=(v|0)>-32768?v:-32768;b[i+4>>1]=(v|0)<32767?v:32767;x=t-w+x>>f;x=(x|0)>-32768?x:-32768;b[i+6>>1]=(x|0)<32767?x:32767}else{x=i;w=x;b[w>>1]=0;b[w+2>>1]=0>>>16;x=x+4|0;b[x>>1]=0;b[x+2>>1]=0>>>16}c=a+4|0;i=i+(e<<1)|0;if(!(g&4)){h=b[c+(d<<1)>>1]|0;w=r(h,u)|0;v=b[c+(k<<1)>>1]|0;w=(r(v,j)|0)+w|0;h=(r(m,v)|0)+(r(l,h)|0)|0;v=b[c>>1]|0;x=r(v,n)|0;c=b[c+(p<<1)>>1]|0;x=(r(c,o)|0)+x|0;v=(r(s,c)|0)+(r(q,v)|0)|0;c=w+t+x>>f;c=(c|0)>-32768?c:-32768;b[i>>1]=(c|0)<32767?c:32767;c=h+t+v>>f;c=(c|0)>-32768?c:-32768;b[i+2>>1]=(c|0)<32767?c:32767;v=t-h+v>>f;v=(v|0)>-32768?v:-32768;b[i+4>>1]=(v|0)<32767?v:32767;x=t-w+x>>f;x=(x|0)>-32768?x:-32768;b[i+6>>1]=(x|0)<32767?x:32767}else{x=i;w=x;b[w>>1]=0;b[w+2>>1]=0>>>16;x=x+4|0;b[x>>1]=0;b[x+2>>1]=0>>>16}h=a+6|0;c=i+(e<<1)|0;if(!(g&8)){v=b[h+(d<<1)>>1]|0;w=r(v,u)|0;u=b[h+(k<<1)>>1]|0;w=(r(u,j)|0)+w|0;u=(r(m,u)|0)+(r(l,v)|0)|0;v=b[h>>1]|0;x=r(v,n)|0;g=b[h+(p<<1)>>1]|0;x=(r(g,o)|0)+x|0;v=(r(s,g)|0)+(r(q,v)|0)|0;g=w+t+x>>f;g=(g|0)>-32768?g:-32768;b[c>>1]=(g|0)<32767?g:32767;g=u+t+v>>f;g=(g|0)>-32768?g:-32768;b[c+2>>1]=(g|0)<32767?g:32767;v=t-u+v>>f;v=(v|0)>-32768?v:-32768;b[c+4>>1]=(v|0)<32767?v:32767;x=t-w+x>>f;x=(x|0)>-32768?x:-32768;b[c+6>>1]=(x|0)<32767?x:32767;return}else{x=c;w=x;b[w>>1]=0;b[w+2>>1]=0>>>16;x=x+4|0;b[x>>1]=0;b[x+2>>1]=0>>>16;return}}function mf(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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;T=Sb;Sb=Sb+16|0;M=T;R=1<<g+-1;S=e*3|0;j=e*5|0;k=e*7|0;l=b[16848]|0;m=e<<1;n=b[16880]|0;o=e*6|0;p=b[16849]|0;q=b[16881]|0;s=b[16832]|0;t=b[16864]|0;u=e<<2;v=b[16833]|0;w=b[16865]|0;x=b[16840]|0;y=b[16856]|0;z=b[16872]|0;A=b[16888]|0;B=b[16841]|0;C=b[16857]|0;D=b[16873]|0;E=b[16889]|0;F=M+4|0;G=b[16842]|0;H=b[16858]|0;I=b[16874]|0;J=b[16890]|0;K=M+8|0;L=b[16843]|0;N=b[16859]|0;O=b[16875]|0;P=b[16891]|0;Q=M+12|0;i=0;while(1){if(!(h&1)){W=b[a+(e<<1)>>1]|0;_=b[a+(S<<1)>>1]|0;Z=b[a+(j<<1)>>1]|0;V=b[a+(k<<1)>>1]|0;aa=(r(_,y)|0)+(r(W,x)|0)+(r(Z,z)|0)+(r(V,A)|0)|0;c[M>>2]=aa;$=(r(_,C)|0)+(r(W,B)|0)+(r(Z,D)|0)+(r(V,E)|0)|0;c[F>>2]=$;Y=(r(_,H)|0)+(r(W,G)|0)+(r(Z,I)|0)+(r(V,J)|0)|0;c[K>>2]=Y;V=(r(_,N)|0)+(r(W,L)|0)+(r(Z,O)|0)+(r(V,P)|0)|0;c[Q>>2]=V;Z=b[a+(m<<1)>>1]|0;W=r(Z,l)|0;_=b[a+(o<<1)>>1]|0;W=(r(_,n)|0)+W|0;Z=(r(q,_)|0)+(r(p,Z)|0)|0;_=b[a>>1]|0;X=r(_,s)|0;U=b[a+(u<<1)>>1]|0;X=(r(U,t)|0)+X|0;_=(r(w,U)|0)+(r(v,_)|0)|0;U=X+W+R|0;aa=U+aa>>g;aa=(aa|0)>-32768?aa:-32768;b[d>>1]=(aa|0)<32767?aa:32767;W=X-W+R|0;X=W-V>>g;X=(X|0)>-32768?X:-32768;b[d+8>>1]=(X|0)<32767?X:32767;X=_+Z+R|0;$=X+$>>g;$=($|0)>-32768?$:-32768;b[d+2>>1]=($|0)<32767?$:32767;Z=_-Z+R|0;_=Z-Y>>g;_=(_|0)>-32768?_:-32768;b[d+10>>1]=(_|0)<32767?_:32767;Y=Z+Y>>g;Y=(Y|0)>-32768?Y:-32768;b[d+4>>1]=(Y|0)<32767?Y:32767;X=X-(c[F>>2]|0)>>g;X=(X|0)>-32768?X:-32768;b[d+12>>1]=(X|0)<32767?X:32767;V=W+V>>g;V=(V|0)>-32768?V:-32768;b[d+6>>1]=(V|0)<32767?V:32767;U=U-(c[M>>2]|0)>>g;U=(U|0)>-32768?U:-32768;b[d+14>>1]=(U|0)<32767?U:32767}else{b[d>>1]=0;b[d+2>>1]=0;b[d+4>>1]=0;b[d+6>>1]=0;b[d+8>>1]=0;b[d+10>>1]=0;b[d+12>>1]=0;b[d+14>>1]=0}i=i+1|0;if((i|0)==8)break;else{d=d+(f<<1)|0;h=h>>1;a=a+2|0}}Sb=T;return}function nf(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,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;Fb=Sb;Sb=Sb+80|0;hb=Fb+48|0;nb=Fb+16|0;ub=Fb;p=1<<g+-1;x=e*3|0;D=e*5|0;J=e*7|0;P=e*9|0;W=e*11|0;aa=e*13|0;ga=e*15|0;na=e<<1;ta=e*6|0;za=e*10|0;Ga=e*14|0;Pa=b[16960]|0;Qa=e<<2;Ra=b[17088]|0;Sa=e*12|0;Ta=b[16896]|0;Ua=b[17024]|0;Va=e<<3;Wa=b[16961]|0;Xa=b[17089]|0;Ya=b[16897]|0;Za=b[17025]|0;_a=b[16912]|0;$a=b[16944]|0;ab=b[16976]|0;bb=b[17008]|0;cb=b[17040]|0;db=b[17072]|0;eb=b[17104]|0;fb=b[17136]|0;gb=b[16913]|0;ib=b[16945]|0;jb=b[16977]|0;kb=b[17009]|0;lb=b[17041]|0;mb=b[17073]|0;ob=b[17105]|0;pb=b[17137]|0;qb=nb+4|0;rb=b[16914]|0;sb=b[16946]|0;tb=b[16978]|0;vb=b[17010]|0;wb=b[17042]|0;xb=b[17074]|0;yb=b[17106]|0;zb=b[17138]|0;Ab=nb+8|0;Bb=b[16915]|0;Cb=b[16947]|0;Db=b[16979]|0;Eb=b[17011]|0;q=b[17043]|0;s=b[17075]|0;t=b[17107]|0;u=b[17139]|0;v=nb+12|0;w=b[16916]|0;y=b[16948]|0;z=b[16980]|0;A=b[17012]|0;B=b[17044]|0;C=b[17076]|0;E=b[17108]|0;F=b[17140]|0;G=nb+16|0;H=b[16917]|0;I=b[16949]|0;K=b[16981]|0;L=b[17013]|0;M=b[17045]|0;N=b[17077]|0;O=b[17109]|0;Q=b[17141]|0;R=nb+20|0;S=b[16918]|0;T=b[16950]|0;U=b[16982]|0;V=b[17014]|0;X=b[17046]|0;Y=b[17078]|0;Z=b[17110]|0;_=b[17142]|0;$=nb+24|0;ba=b[16919]|0;ca=b[16951]|0;da=b[16983]|0;ea=b[17015]|0;fa=b[17047]|0;ha=b[17079]|0;ia=b[17111]|0;ja=b[17143]|0;ka=nb+28|0;la=b[16928]|0;ma=b[16992]|0;oa=b[17056]|0;pa=b[17120]|0;qa=b[16929]|0;ra=b[16993]|0;sa=b[17057]|0;ua=b[17121]|0;va=ub+4|0;wa=b[16930]|0;xa=b[16994]|0;ya=b[17058]|0;Aa=b[17122]|0;Ba=ub+8|0;Ca=b[16931]|0;Da=b[16995]|0;Ea=b[17059]|0;Fa=b[17123]|0;Ha=ub+12|0;Ia=hb+16|0;Ja=hb+4|0;Ka=hb+20|0;La=hb+8|0;Ma=hb+24|0;Na=hb+12|0;Oa=hb+28|0;o=0;i=c[Ha>>2]|0;j=c[Ba>>2]|0;k=c[va>>2]|0;l=c[ub>>2]|0;while(1){if(!(h&1)){j=b[a+(e<<1)>>1]|0;n=b[a+(x<<1)>>1]|0;k=b[a+(D<<1)>>1]|0;l=b[a+(J<<1)>>1]|0;i=b[a+(P<<1)>>1]|0;Ib=b[a+(W<<1)>>1]|0;m=b[a+(aa<<1)>>1]|0;Hb=b[a+(ga<<1)>>1]|0;c[nb>>2]=(r(n,$a)|0)+(r(j,_a)|0)+(r(k,ab)|0)+(r(l,bb)|0)+(r(i,cb)|0)+(r(Ib,db)|0)+(r(m,eb)|0)+(r(Hb,fb)|0);c[qb>>2]=(r(n,ib)|0)+(r(j,gb)|0)+(r(k,jb)|0)+(r(l,kb)|0)+(r(i,lb)|0)+(r(Ib,mb)|0)+(r(m,ob)|0)+(r(Hb,pb)|0);c[Ab>>2]=(r(n,sb)|0)+(r(j,rb)|0)+(r(k,tb)|0)+(r(l,vb)|0)+(r(i,wb)|0)+(r(Ib,xb)|0)+(r(m,yb)|0)+(r(Hb,zb)|0);c[v>>2]=(r(n,Cb)|0)+(r(j,Bb)|0)+(r(k,Db)|0)+(r(l,Eb)|0)+(r(i,q)|0)+(r(Ib,s)|0)+(r(m,t)|0)+(r(Hb,u)|0);c[G>>2]=(r(n,y)|0)+(r(j,w)|0)+(r(k,z)|0)+(r(l,A)|0)+(r(i,B)|0)+(r(Ib,C)|0)+(r(m,E)|0)+(r(Hb,F)|0);c[R>>2]=(r(n,I)|0)+(r(j,H)|0)+(r(k,K)|0)+(r(l,L)|0)+(r(i,M)|0)+(r(Ib,N)|0)+(r(m,O)|0)+(r(Hb,Q)|0);c[$>>2]=(r(n,T)|0)+(r(j,S)|0)+(r(k,U)|0)+(r(l,V)|0)+(r(i,X)|0)+(r(Ib,Y)|0)+(r(m,Z)|0)+(r(Hb,_)|0);c[ka>>2]=(r(n,ca)|0)+(r(j,ba)|0)+(r(k,da)|0)+(r(l,ea)|0)+(r(i,fa)|0)+(r(Ib,ha)|0)+(r(m,ia)|0)+(r(Hb,ja)|0);Hb=b[a+(na<<1)>>1]|0;m=b[a+(ta<<1)>>1]|0;Ib=b[a+(za<<1)>>1]|0;i=b[a+(Ga<<1)>>1]|0;l=(r(m,ma)|0)+(r(Hb,la)|0)+(r(Ib,oa)|0)+(r(i,pa)|0)|0;k=(r(m,ra)|0)+(r(Hb,qa)|0)+(r(Ib,sa)|0)+(r(i,ua)|0)|0;j=(r(m,xa)|0)+(r(Hb,wa)|0)+(r(Ib,ya)|0)+(r(i,Aa)|0)|0;i=(r(m,Da)|0)+(r(Hb,Ca)|0)+(r(Ib,Ea)|0)+(r(i,Fa)|0)|0;Ib=b[a+(Qa<<1)>>1]|0;Hb=r(Ib,Pa)|0;m=b[a+(Sa<<1)>>1]|0;Hb=(r(m,Ra)|0)+Hb|0;n=b[a>>1]|0;Lb=r(n,Ta)|0;Kb=b[a+(Va<<1)>>1]|0;Lb=(r(Kb,Ua)|0)+Lb|0;Ib=(r(Xa,m)|0)+(r(Wa,Ib)|0)|0;n=(r(Za,Kb)|0)+(r(Ya,n)|0)|0;Kb=Hb+Lb|0;m=n-Ib|0;n=Ib+n|0;Hb=Lb-Hb|0;Lb=l+Kb|0;c[hb>>2]=Lb;Ib=Hb-i|0;c[Ia>>2]=Ib;Jb=k+n|0;c[Ja>>2]=Jb;Gb=m-j|0;c[Ka>>2]=Gb;m=j+m|0;c[La>>2]=m;n=n-k|0;c[Ma>>2]=n;Hb=i+Hb|0;c[Na>>2]=Hb;Kb=Kb-l|0;c[Oa>>2]=Kb;Lb=Lb+p+(c[nb>>2]|0)>>g;Lb=(Lb|0)>-32768?Lb:-32768;b[d>>1]=(Lb|0)<32767?Lb:32767;Kb=Kb+p-(c[ka>>2]|0)>>g;Kb=(Kb|0)>-32768?Kb:-32768;b[d+16>>1]=(Kb|0)<32767?Kb:32767;Jb=Jb+p+(c[qb>>2]|0)>>g;Jb=(Jb|0)>-32768?Jb:-32768;b[d+2>>1]=(Jb|0)<32767?Jb:32767;n=n+p-(c[$>>2]|0)>>g;n=(n|0)>-32768?n:-32768;b[d+18>>1]=(n|0)<32767?n:32767;n=c[Ab>>2]|0;m=m+p+n>>g;m=(m|0)>-32768?m:-32768;b[d+4>>1]=(m|0)<32767?m:32767;m=c[R>>2]|0;Gb=Gb+p-m>>g;Gb=(Gb|0)>-32768?Gb:-32768;b[d+20>>1]=(Gb|0)<32767?Gb:32767;Gb=c[v>>2]|0;Hb=Hb+p+Gb>>g;Hb=(Hb|0)>-32768?Hb:-32768;b[d+6>>1]=(Hb|0)<32767?Hb:32767;Hb=c[G>>2]|0;Ib=Ib+p-Hb>>g;Ib=(Ib|0)>-32768?Ib:-32768;b[d+22>>1]=(Ib|0)<32767?Ib:32767;Hb=(c[Ia>>2]|0)+p+Hb>>g;Hb=(Hb|0)>-32768?Hb:-32768;b[d+8>>1]=(Hb|0)<32767?Hb:32767;Gb=(c[Na>>2]|0)+p-Gb>>g;Gb=(Gb|0)>-32768?Gb:-32768;b[d+24>>1]=(Gb|0)<32767?Gb:32767;m=(c[Ka>>2]|0)+p+m>>g;m=(m|0)>-32768?m:-32768;b[d+10>>1]=(m|0)<32767?m:32767;n=(c[La>>2]|0)+p-n>>g;n=(n|0)>-32768?n:-32768;b[d+26>>1]=(n|0)<32767?n:32767;n=(c[Ma>>2]|0)+p+(c[$>>2]|0)>>g;n=(n|0)>-32768?n:-32768;b[d+12>>1]=(n|0)<32767?n:32767;n=(c[Ja>>2]|0)+p-(c[qb>>2]|0)>>g;n=(n|0)>-32768?n:-32768;b[d+28>>1]=(n|0)<32767?n:32767;n=(c[Oa>>2]|0)+p+(c[ka>>2]|0)>>g;n=(n|0)>-32768?n:-32768;b[d+14>>1]=(n|0)<32767?n:32767;n=(c[hb>>2]|0)+p-(c[nb>>2]|0)>>g;n=(n|0)>-32768?n:-32768;b[d+30>>1]=(n|0)<32767?n:32767}else{m=d;n=m+32|0;do{b[m>>1]=0;m=m+2|0}while((m|0)<(n|0))}o=o+1|0;if((o|0)==16)break;else{h=h>>1;d=d+(f<<1)|0;a=a+2|0}}c[ub>>2]=l;c[va>>2]=k;c[Ba>>2]=j;c[Ha>>2]=i;Sb=Fb;return}function of(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,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,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;oc=Sb;Sb=Sb+176|0;Rb=oc+112|0;Yb=oc+48|0;cc=oc+16|0;ic=oc;H=1<<g+-1;N=e*3|0;T=e*5|0;Z=e*7|0;ea=e*9|0;ka=e*11|0;qa=e*13|0;xa=e*15|0;Da=e*17|0;Ja=e*19|0;Qa=e*21|0;Wa=e*23|0;cb=e*25|0;nb=e*27|0;rb=e*29|0;sb=e*31|0;tb=e<<1;ub=e*6|0;vb=e*10|0;wb=e*14|0;xb=e*18|0;yb=e*22|0;zb=e*26|0;Ab=e*30|0;Bb=e<<2;Cb=e*12|0;Db=e*20|0;Eb=e*28|0;Fb=b[17408]|0;Gb=e<<3;Hb=b[17920]|0;Ib=e*24|0;Jb=b[17409]|0;Kb=b[17921]|0;Lb=b[17152]|0;Mb=b[17664]|0;Nb=e<<4;Ob=b[17153]|0;Pb=b[17665]|0;Qb=b[17216]|0;Tb=b[17344]|0;Ub=b[17472]|0;Vb=b[17600]|0;Wb=b[17728]|0;Xb=b[17856]|0;Zb=b[17984]|0;_b=b[18112]|0;$b=b[17217]|0;ac=b[17345]|0;bc=b[17473]|0;dc=b[17601]|0;ec=b[17729]|0;fc=b[17857]|0;gc=b[17985]|0;hc=b[18113]|0;jc=cc+4|0;kc=b[17218]|0;lc=b[17346]|0;mc=b[17474]|0;nc=b[17602]|0;B=b[17730]|0;C=b[17858]|0;D=b[17986]|0;E=b[18114]|0;F=cc+8|0;G=b[17219]|0;I=b[17347]|0;J=b[17475]|0;K=b[17603]|0;L=b[17731]|0;M=b[17859]|0;O=b[17987]|0;P=b[18115]|0;Q=cc+12|0;R=b[17220]|0;S=b[17348]|0;U=b[17476]|0;V=b[17604]|0;W=b[17732]|0;X=b[17860]|0;Y=b[17988]|0;_=b[18116]|0;$=cc+16|0;aa=b[17221]|0;ba=b[17349]|0;ca=b[17477]|0;da=b[17605]|0;fa=b[17733]|0;ga=b[17861]|0;ha=b[17989]|0;ia=b[18117]|0;ja=cc+20|0;la=b[17222]|0;ma=b[17350]|0;na=b[17478]|0;oa=b[17606]|0;pa=b[17734]|0;ra=b[17862]|0;sa=b[17990]|0;ta=b[18118]|0;ua=cc+24|0;va=b[17223]|0;wa=b[17351]|0;ya=b[17479]|0;za=b[17607]|0;Aa=b[17735]|0;Ba=b[17863]|0;Ca=b[17991]|0;Ea=b[18119]|0;Fa=cc+28|0;Ga=b[17280]|0;Ha=b[17536]|0;Ia=b[17792]|0;Ka=b[18048]|0;La=b[17281]|0;Ma=b[17537]|0;Na=b[17793]|0;Oa=b[18049]|0;Pa=ic+4|0;Ra=b[17282]|0;Sa=b[17538]|0;Ta=b[17794]|0;Ua=b[18050]|0;Va=ic+8|0;Xa=b[17283]|0;Ya=b[17539]|0;Za=b[17795]|0;_a=b[18051]|0;$a=ic+12|0;ab=Rb+32|0;bb=Rb+4|0;db=Rb+36|0;eb=Rb+8|0;fb=Rb+40|0;gb=Rb+12|0;hb=Rb+44|0;ib=Rb+16|0;jb=Rb+48|0;kb=Rb+20|0;lb=Rb+52|0;mb=Rb+24|0;ob=Rb+56|0;pb=Rb+28|0;qb=Rb+60|0;A=0;i=c[$a>>2]|0;j=c[Va>>2]|0;w=c[Pa>>2]|0;v=c[ic>>2]|0;t=c[Fa>>2]|0;u=c[ua>>2]|0;s=c[ja>>2]|0;q=c[$>>2]|0;p=c[Q>>2]|0;o=c[F>>2]|0;n=c[jc>>2]|0;k=c[cc>>2]|0;while(1){a:do if(!(h&1)){j=b[a+(e<<1)>>1]|0;k=b[a+(N<<1)>>1]|0;l=b[a+(T<<1)>>1]|0;m=b[a+(Z<<1)>>1]|0;n=b[a+(ea<<1)>>1]|0;o=b[a+(ka<<1)>>1]|0;p=b[a+(qa<<1)>>1]|0;q=b[a+(xa<<1)>>1]|0;s=b[a+(Da<<1)>>1]|0;t=b[a+(Ja<<1)>>1]|0;u=b[a+(Qa<<1)>>1]|0;v=b[a+(Wa<<1)>>1]|0;w=b[a+(cb<<1)>>1]|0;x=b[a+(nb<<1)>>1]|0;y=b[a+(rb<<1)>>1]|0;z=b[a+(sb<<1)>>1]|0;i=0;do{pc=r(j,b[34368+(i<<1)>>1]|0)|0;pc=(r(k,b[34496+(i<<1)>>1]|0)|0)+pc|0;pc=pc+(r(l,b[34624+(i<<1)>>1]|0)|0)|0;pc=pc+(r(m,b[34752+(i<<1)>>1]|0)|0)|0;pc=pc+(r(n,b[34880+(i<<1)>>1]|0)|0)|0;pc=pc+(r(o,b[35008+(i<<1)>>1]|0)|0)|0;pc=pc+(r(p,b[35136+(i<<1)>>1]|0)|0)|0;pc=pc+(r(q,b[35264+(i<<1)>>1]|0)|0)|0;pc=pc+(r(s,b[35392+(i<<1)>>1]|0)|0)|0;pc=pc+(r(t,b[35520+(i<<1)>>1]|0)|0)|0;pc=pc+(r(u,b[35648+(i<<1)>>1]|0)|0)|0;pc=pc+(r(v,b[35776+(i<<1)>>1]|0)|0)|0;pc=pc+(r(w,b[35904+(i<<1)>>1]|0)|0)|0;pc=pc+(r(x,b[36032+(i<<1)>>1]|0)|0)|0;pc=pc+(r(y,b[36160+(i<<1)>>1]|0)|0)|0;c[Yb+(i<<2)>>2]=pc+(r(z,b[36288+(i<<1)>>1]|0)|0);i=i+1|0}while((i|0)!=16);v=b[a+(tb<<1)>>1]|0;w=b[a+(ub<<1)>>1]|0;m=b[a+(vb<<1)>>1]|0;i=b[a+(wb<<1)>>1]|0;x=b[a+(xb<<1)>>1]|0;l=b[a+(yb<<1)>>1]|0;rc=b[a+(zb<<1)>>1]|0;t=b[a+(Ab<<1)>>1]|0;k=(r(w,Tb)|0)+(r(v,Qb)|0)+(r(m,Ub)|0)+(r(i,Vb)|0)+(r(x,Wb)|0)+(r(l,Xb)|0)+(r(rc,Zb)|0)+(r(t,_b)|0)|0;n=(r(w,ac)|0)+(r(v,$b)|0)+(r(m,bc)|0)+(r(i,dc)|0)+(r(x,ec)|0)+(r(l,fc)|0)+(r(rc,gc)|0)+(r(t,hc)|0)|0;o=(r(w,lc)|0)+(r(v,kc)|0)+(r(m,mc)|0)+(r(i,nc)|0)+(r(x,B)|0)+(r(l,C)|0)+(r(rc,D)|0)+(r(t,E)|0)|0;p=(r(w,I)|0)+(r(v,G)|0)+(r(m,J)|0)+(r(i,K)|0)+(r(x,L)|0)+(r(l,M)|0)+(r(rc,O)|0)+(r(t,P)|0)|0;q=(r(w,S)|0)+(r(v,R)|0)+(r(m,U)|0)+(r(i,V)|0)+(r(x,W)|0)+(r(l,X)|0)+(r(rc,Y)|0)+(r(t,_)|0)|0;s=(r(w,ba)|0)+(r(v,aa)|0)+(r(m,ca)|0)+(r(i,da)|0)+(r(x,fa)|0)+(r(l,ga)|0)+(r(rc,ha)|0)+(r(t,ia)|0)|0;u=(r(w,ma)|0)+(r(v,la)|0)+(r(m,na)|0)+(r(i,oa)|0)+(r(x,pa)|0)+(r(l,ra)|0)+(r(rc,sa)|0)+(r(t,ta)|0)|0;t=(r(w,wa)|0)+(r(v,va)|0)+(r(m,ya)|0)+(r(i,za)|0)+(r(x,Aa)|0)+(r(l,Ba)|0)+(r(rc,Ca)|0)+(r(t,Ea)|0)|0;rc=b[a+(Bb<<1)>>1]|0;l=b[a+(Cb<<1)>>1]|0;x=b[a+(Db<<1)>>1]|0;i=b[a+(Eb<<1)>>1]|0;m=(r(l,Ha)|0)+(r(rc,Ga)|0)+(r(x,Ia)|0)+(r(i,Ka)|0)|0;v=(r(l,Ma)|0)+(r(rc,La)|0)+(r(x,Na)|0)+(r(i,Oa)|0)|0;w=(r(l,Sa)|0)+(r(rc,Ra)|0)+(r(x,Ta)|0)+(r(i,Ua)|0)|0;i=(r(l,Ya)|0)+(r(rc,Xa)|0)+(r(x,Za)|0)+(r(i,_a)|0)|0;x=b[a+(Gb<<1)>>1]|0;rc=r(x,Fb)|0;l=b[a+(Ib<<1)>>1]|0;rc=(r(l,Hb)|0)+rc|0;x=(r(Kb,l)|0)+(r(Jb,x)|0)|0;l=b[a>>1]|0;y=r(l,Lb)|0;pc=b[a+(Nb<<1)>>1]|0;y=(r(pc,Mb)|0)+y|0;l=(r(Pb,pc)|0)+(r(Ob,l)|0)|0;pc=y+rc|0;rc=y-rc|0;y=l+x|0;x=l-x|0;l=m+pc|0;sc=rc-i|0;z=v+y|0;qc=x-w|0;x=w+x|0;y=y-v|0;rc=i+rc|0;pc=pc-m|0;j=k+l|0;c[Rb>>2]=j;c[ab>>2]=pc-t;c[bb>>2]=n+z;c[db>>2]=y-u;c[eb>>2]=o+x;c[fb>>2]=qc-s;c[gb>>2]=p+rc;c[hb>>2]=sc-q;c[ib>>2]=q+sc;c[jb>>2]=rc-p;c[kb>>2]=s+qc;c[lb>>2]=x-o;c[mb>>2]=u+y;c[ob>>2]=z-n;c[pb>>2]=t+pc;c[qb>>2]=l-k;l=0;while(1){j=j+H+(c[Yb+(l<<2)>>2]|0)>>g;j=(j|0)>-32768?j:-32768;b[d+(l<<1)>>1]=(j|0)<32767?j:32767;j=15-l|0;j=(c[Rb+(j<<2)>>2]|0)+H-(c[Yb+(j<<2)>>2]|0)>>g;j=(j|0)>-32768?j:-32768;b[d+(l+16<<1)>>1]=(j|0)<32767?j:32767;j=l+1|0;if((j|0)==16){l=v;j=w;break a}l=j;j=c[Rb+(j<<2)>>2]|0}}else{l=d;m=l+64|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(m|0));m=v;l=w}while(0);A=A+1|0;if((A|0)==32)break;else{d=d+(f<<1)|0;h=h>>1;a=a+2|0;w=l;v=m}}c[cc>>2]=k;c[jc>>2]=n;c[F>>2]=o;c[Q>>2]=p;c[$>>2]=q;c[ja>>2]=s;c[ua>>2]=u;c[Fa>>2]=t;c[ic>>2]=m;c[Pa>>2]=l;c[Va>>2]=j;c[$a>>2]=i;Sb=oc;return}function pf(c,e,f,g,h,i,j,k,l){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;q=h<<1;p=h*3|0;if(!(k&1)){o=b[c>>1]|0;t=c+(q<<1)|0;u=b[t>>1]|0;n=u+o|0;s=c+(p<<1)|0;l=b[s>>1]|0;u=l+u|0;l=o-l|0;o=(b[c+(h<<1)>>1]|0)*74|0;m=(u*55|0)+(n*29|0)+o|0;m=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;b[e>>1]=m;u=(l*55|0)+(r(u,-29)|0)+o|0;b[e+2>>1]=(u|0)>4194239?32767:(u|0)<-4194368?-32768:(u+64|0)>>>7&65535;s=((b[c>>1]|0)-(b[t>>1]|0)+(b[s>>1]|0)|0)*74|0;b[e+4>>1]=(s|0)>4194239?32767:(s|0)<-4194368?-32768:(s+64|0)>>>7&65535;o=(l*29|0)+(n*55|0)-o|0;b[e+6>>1]=(o|0)>4194239?32767:(o|0)<-4194368?-32768:(o+64|0)>>>7&65535}else{m=e;u=m;b[u>>1]=0;b[u+2>>1]=0>>>16;m=m+4|0;b[m>>1]=0;b[m+2>>1]=0>>>16;m=0}l=c+2|0;n=e+8|0;if(!(k&2)){t=b[l>>1]|0;w=l+(q<<1)|0;x=b[w>>1]|0;s=x+t|0;v=l+(p<<1)|0;o=b[v>>1]|0;x=o+x|0;o=t-o|0;t=(b[l+(h<<1)>>1]|0)*74|0;u=(x*55|0)+(s*29|0)+t|0;u=(u|0)>4194239?32767:(u|0)<-4194368?-32768:(u+64|0)>>>7&65535;b[n>>1]=u;n=(o*55|0)+(r(x,-29)|0)+t|0;b[e+10>>1]=(n|0)>4194239?32767:(n|0)<-4194368?-32768:(n+64|0)>>>7&65535;n=((b[l>>1]|0)-(b[w>>1]|0)+(b[v>>1]|0)|0)*74|0;b[e+12>>1]=(n|0)>4194239?32767:(n|0)<-4194368?-32768:(n+64|0)>>>7&65535;n=(o*29|0)+(s*55|0)-t|0;b[e+14>>1]=(n|0)>4194239?32767:(n|0)<-4194368?-32768:(n+64|0)>>>7&65535;n=u}else{x=n;b[x>>1]=0;b[x+2>>1]=0>>>16;n=n+4|0;b[n>>1]=0;b[n+2>>1]=0>>>16;n=0}l=c+4|0;o=e+16|0;if(!(k&4)){x=b[l>>1]|0;t=l+(q<<1)|0;s=b[t>>1]|0;w=s+x|0;u=l+(p<<1)|0;v=b[u>>1]|0;s=v+s|0;v=x-v|0;x=(b[l+(h<<1)>>1]|0)*74|0;y=(s*55|0)+(w*29|0)+x|0;b[o>>1]=(y|0)>4194239?32767:(y|0)<-4194368?-32768:(y+64|0)>>>7&65535;s=(v*55|0)+(r(s,-29)|0)+x|0;b[e+18>>1]=(s|0)>4194239?32767:(s|0)<-4194368?-32768:(s+64|0)>>>7&65535;u=((b[l>>1]|0)-(b[t>>1]|0)+(b[u>>1]|0)|0)*74|0;b[e+20>>1]=(u|0)>4194239?32767:(u|0)<-4194368?-32768:(u+64|0)>>>7&65535;x=(v*29|0)+(w*55|0)-x|0;b[e+22>>1]=(x|0)>4194239?32767:(x|0)<-4194368?-32768:(x+64|0)>>>7&65535}else{y=o;x=y;b[x>>1]=0;b[x+2>>1]=0>>>16;y=y+4|0;b[y>>1]=0;b[y+2>>1]=0>>>16}l=c+6|0;o=e+24|0;if(!(k&8)){y=b[l>>1]|0;u=l+(q<<1)|0;t=b[u>>1]|0;x=t+y|0;v=l+(p<<1)|0;w=b[v>>1]|0;t=w+t|0;w=y-w|0;y=(b[l+(h<<1)>>1]|0)*74|0;s=(t*55|0)+(x*29|0)+y|0;b[o>>1]=(s|0)>4194239?32767:(s|0)<-4194368?-32768:(s+64|0)>>>7&65535;t=(w*55|0)+(r(t,-29)|0)+y|0;b[e+26>>1]=(t|0)>4194239?32767:(t|0)<-4194368?-32768:(t+64|0)>>>7&65535;v=((b[l>>1]|0)-(b[u>>1]|0)+(b[v>>1]|0)|0)*74|0;b[e+28>>1]=(v|0)>4194239?32767:(v|0)<-4194368?-32768:(v+64|0)>>>7&65535;y=(w*29|0)+(x*55|0)-y|0;b[e+30>>1]=(y|0)>4194239?32767:(y|0)<-4194368?-32768:(y+64|0)>>>7&65535}else{y=o;x=y;b[x>>1]=0;b[x+2>>1]=0>>>16;y=y+4|0;b[y>>1]=0;b[y+2>>1]=0>>>16}o=f;l=0;while(1){m=m<<16>>16;v=e+16|0;u=b[v>>1]|0;y=u+m|0;w=e+24|0;x=b[w>>1]|0;u=x+u|0;x=m-x|0;m=(n<<16>>16)*74|0;t=(u*55|0)+(y*29|0)+m|0;t=((t|0)>134215679?32767:(t|0)<-134219776?-32768:t+2048>>12)+(d[o>>0]|0)|0;t=(t|0)>0?t:0;a[g>>0]=(t|0)<255?t:255;u=(x*55|0)+(r(u,-29)|0)+m|0;u=((u|0)>134215679?32767:(u|0)<-134219776?-32768:u+2048>>12)+(d[o+1>>0]|0)|0;u=(u|0)>0?u:0;a[g+1>>0]=(u|0)<255?u:255;w=((b[e>>1]|0)-(b[v>>1]|0)+(b[w>>1]|0)|0)*74|0;w=((w|0)>134215679?32767:(w|0)<-134219776?-32768:w+2048>>12)+(d[o+2>>0]|0)|0;w=(w|0)>0?w:0;a[g+2>>0]=(w|0)<255?w:255;m=(x*29|0)+(y*55|0)-m|0;m=((m|0)>134215679?32767:(m|0)<-134219776?-32768:m+2048>>12)+(d[o+3>>0]|0)|0;m=(m|0)>0?m:0;a[g+3>>0]=(m|0)<255?m:255;m=e+2|0;l=l+1|0;if((l|0)==4)break;n=b[e+10>>1]|0;o=o+i|0;g=g+j|0;e=m;m=b[m>>1]|0}return}function qf(c,e,f,g,h,i,j,k,l){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;s=b[16820]|0;t=b[16828]|0;p=h*3|0;u=b[16821]|0;v=b[16829]|0;w=b[16816]|0;x=b[16824]|0;q=h<<1;y=b[16817]|0;z=b[16825]|0;if(!(k&1)){m=b[c+(h<<1)>>1]|0;o=r(m,s)|0;l=b[c+(p<<1)>>1]|0;o=(r(l,t)|0)+o|0;m=(r(v,l)|0)+(r(u,m)|0)|0;l=b[c>>1]|0;n=r(l,w)|0;A=b[c+(q<<1)>>1]|0;n=(r(A,x)|0)+n|0;l=(r(z,A)|0)+(r(y,l)|0)|0;A=n+o|0;A=(A|0)>4194239?32767:(A|0)<-4194368?-32768:(A+64|0)>>>7&65535;b[e>>1]=A;B=l+m|0;b[e+2>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535;m=l-m|0;b[e+4>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;o=n-o|0;b[e+6>>1]=(o|0)>4194239?32767:(o|0)<-4194368?-32768:(o+64|0)>>>7&65535}else{A=e;B=A;b[B>>1]=0;b[B+2>>1]=0>>>16;A=A+4|0;b[A>>1]=0;b[A+2>>1]=0>>>16;A=0}l=c+2|0;m=e+8|0;if(!(k&2)){C=b[l+(h<<1)>>1]|0;B=r(C,s)|0;o=b[l+(p<<1)>>1]|0;B=(r(o,t)|0)+B|0;C=(r(v,o)|0)+(r(u,C)|0)|0;o=b[l>>1]|0;n=r(o,w)|0;l=b[l+(q<<1)>>1]|0;n=(r(l,x)|0)+n|0;l=(r(z,l)|0)+(r(y,o)|0)|0;o=n+B|0;o=(o|0)>4194239?32767:(o|0)<-4194368?-32768:(o+64|0)>>>7&65535;b[m>>1]=o;m=l+C|0;b[e+10>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=l-C|0;b[e+12>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;B=n-B|0;b[e+14>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535}else{o=m;C=o;b[C>>1]=0;b[C+2>>1]=0>>>16;o=o+4|0;b[o>>1]=0;b[o+2>>1]=0>>>16;o=0}l=c+4|0;m=e+16|0;if(!(k&4)){D=b[l+(h<<1)>>1]|0;C=r(D,s)|0;n=b[l+(p<<1)>>1]|0;C=(r(n,t)|0)+C|0;D=(r(v,n)|0)+(r(u,D)|0)|0;n=b[l>>1]|0;B=r(n,w)|0;l=b[l+(q<<1)>>1]|0;B=(r(l,x)|0)+B|0;l=(r(z,l)|0)+(r(y,n)|0)|0;n=B+C|0;n=(n|0)>4194239?32767:(n|0)<-4194368?-32768:(n+64|0)>>>7&65535;b[m>>1]=n;m=l+D|0;b[e+18>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=l-D|0;b[e+20>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;C=B-C|0;b[e+22>>1]=(C|0)>4194239?32767:(C|0)<-4194368?-32768:(C+64|0)>>>7&65535}else{n=m;D=n;b[D>>1]=0;b[D+2>>1]=0>>>16;n=n+4|0;b[n>>1]=0;b[n+2>>1]=0>>>16;n=0}l=c+6|0;m=e+24|0;if(!(k&8)){B=b[l+(h<<1)>>1]|0;D=r(B,s)|0;k=b[l+(p<<1)>>1]|0;D=(r(k,t)|0)+D|0;B=(r(v,k)|0)+(r(u,B)|0)|0;k=b[l>>1]|0;C=r(k,w)|0;l=b[l+(q<<1)>>1]|0;C=(r(l,x)|0)+C|0;k=(r(z,l)|0)+(r(y,k)|0)|0;l=C+D|0;l=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;b[m>>1]=l;h=k+B|0;b[e+26>>1]=(h|0)>4194239?32767:(h|0)<-4194368?-32768:(h+64|0)>>>7&65535;B=k-B|0;b[e+28>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535;D=C-D|0;b[e+30>>1]=(D|0)>4194239?32767:(D|0)<-4194368?-32768:(D+64|0)>>>7&65535}else{l=m;D=l;b[D>>1]=0;b[D+2>>1]=0>>>16;l=l+4|0;b[l>>1]=0;b[l+2>>1]=0>>>16;l=0}k=o<<16>>16;B=l<<16>>16;C=(r(B,t)|0)+(r(k,s)|0)|0;k=(r(v,B)|0)+(r(u,k)|0)|0;B=A<<16>>16;h=n<<16>>16;D=(r(h,x)|0)+(r(B,w)|0)|0;B=(r(z,h)|0)+(r(y,B)|0)|0;h=D+C|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[f>>0]|0)|0;h=(h|0)>0?h:0;a[g>>0]=(h|0)<255?h:255;h=B+k|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[f+1>>0]|0)|0;h=(h|0)>0?h:0;a[g+1>>0]=(h|0)<255?h:255;k=B-k|0;k=((k|0)>134215679?32767:(k|0)<-134219776?-32768:k+2048>>12)+(d[f+2>>0]|0)|0;k=(k|0)>0?k:0;a[g+2>>0]=(k|0)<255?k:255;C=D-C|0;C=((C|0)>134215679?32767:(C|0)<-134219776?-32768:C+2048>>12)+(d[f+3>>0]|0)|0;C=(C|0)>0?C:0;a[g+3>>0]=(C|0)<255?C:255;C=f+i|0;D=g+j|0;k=b[e+10>>1]|0;f=r(k,s)|0;g=b[e+26>>1]|0;f=(r(g,t)|0)+f|0;k=(r(v,g)|0)+(r(u,k)|0)|0;g=b[e+2>>1]|0;B=r(g,w)|0;h=b[e+18>>1]|0;B=(r(h,x)|0)+B|0;g=(r(z,h)|0)+(r(y,g)|0)|0;h=B+f|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C>>0]|0)|0;h=(h|0)>0?h:0;a[D>>0]=(h|0)<255?h:255;h=g+k|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C+1>>0]|0)|0;h=(h|0)>0?h:0;a[D+1>>0]=(h|0)<255?h:255;k=g-k|0;k=((k|0)>134215679?32767:(k|0)<-134219776?-32768:k+2048>>12)+(d[C+2>>0]|0)|0;k=(k|0)>0?k:0;a[D+2>>0]=(k|0)<255?k:255;f=B-f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+3>>0]|0)|0;f=(f|0)>0?f:0;a[D+3>>0]=(f|0)<255?f:255;C=C+i|0;D=D+j|0;f=b[e+12>>1]|0;B=r(f,s)|0;k=b[e+28>>1]|0;B=(r(k,t)|0)+B|0;f=(r(v,k)|0)+(r(u,f)|0)|0;k=b[e+4>>1]|0;g=r(k,w)|0;h=b[e+20>>1]|0;g=(r(h,x)|0)+g|0;k=(r(z,h)|0)+(r(y,k)|0)|0;h=g+B|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C>>0]|0)|0;h=(h|0)>0?h:0;a[D>>0]=(h|0)<255?h:255;h=k+f|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C+1>>0]|0)|0;h=(h|0)>0?h:0;a[D+1>>0]=(h|0)<255?h:255;f=k-f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+2>>0]|0)|0;f=(f|0)>0?f:0;a[D+2>>0]=(f|0)<255?f:255;B=g-B|0;B=((B|0)>134215679?32767:(B|0)<-134219776?-32768:B+2048>>12)+(d[C+3>>0]|0)|0;B=(B|0)>0?B:0;a[D+3>>0]=(B|0)<255?B:255;C=C+i|0;D=D+j|0;i=b[e+14>>1]|0;B=r(i,s)|0;g=b[e+30>>1]|0;B=(r(g,t)|0)+B|0;i=(r(v,g)|0)+(r(u,i)|0)|0;g=b[e+6>>1]|0;j=r(g,w)|0;f=b[e+22>>1]|0;j=(r(f,x)|0)+j|0;g=(r(z,f)|0)+(r(y,g)|0)|0;f=j+B|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C>>0]|0)|0;f=(f|0)>0?f:0;a[D>>0]=(f|0)<255?f:255;f=g+i|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+1>>0]|0)|0;f=(f|0)>0?f:0;a[D+1>>0]=(f|0)<255?f:255;i=g-i|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[C+2>>0]|0)|0;i=(i|0)>0?i:0;a[D+2>>0]=(i|0)<255?i:255;B=j-B|0;C=((B|0)>134215679?32767:(B|0)<-134219776?-32768:B+2048>>12)+(d[C+3>>0]|0)|0;C=(C|0)>0?C:0;a[D+3>>0]=(C|0)<255?C:255;return}
function rf(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,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;Ib=Sb;Sb=Sb+80|0;Hb=Ib+48|0;Fb=Ib+16|0;Gb=Ib;Cb=(l&65520|0)==65520;Eb=(l&65280|0)==65280;Db=Cb?4:Eb?8:16;if((m&65520|0)==65520){p=i*3|0;q=i<<1;s=b[16896]|0;t=b[16897]|0;u=b[16912]|0;v=b[16944]|0;w=b[16913]|0;x=b[16945]|0;y=Fb+4|0;z=b[16914]|0;A=b[16946]|0;B=Fb+8|0;C=b[16915]|0;D=b[16947]|0;E=Fb+12|0;F=b[16916]|0;G=b[16948]|0;H=Fb+16|0;I=b[16917]|0;J=b[16949]|0;K=Fb+20|0;L=b[16918]|0;M=b[16950]|0;N=Fb+24|0;O=b[16919]|0;P=b[16951]|0;Q=Fb+28|0;R=b[16928]|0;S=b[16929]|0;T=Gb+4|0;U=b[16930]|0;V=Gb+8|0;W=b[16931]|0;X=Gb+12|0;Y=Hb+16|0;Z=Hb+4|0;_=Hb+20|0;$=Hb+8|0;aa=Hb+24|0;ba=Hb+12|0;ca=Hb+28|0;n=f;o=0;m=l;while(1){if(!(m&1)){wb=b[e+(i<<1)>>1]|0;zb=b[e+(p<<1)>>1]|0;c[Fb>>2]=(r(zb,v)|0)+(r(wb,u)|0);c[y>>2]=(r(zb,x)|0)+(r(wb,w)|0);c[B>>2]=(r(zb,A)|0)+(r(wb,z)|0);c[E>>2]=(r(zb,D)|0)+(r(wb,C)|0);c[H>>2]=(r(zb,G)|0)+(r(wb,F)|0);c[K>>2]=(r(zb,J)|0)+(r(wb,I)|0);c[N>>2]=(r(zb,M)|0)+(r(wb,L)|0);wb=(r(zb,P)|0)+(r(wb,O)|0)|0;c[Q>>2]=wb;zb=b[e+(q<<1)>>1]|0;vb=r(zb,R)|0;c[Gb>>2]=vb;Bb=r(zb,S)|0;c[T>>2]=Bb;l=r(zb,U)|0;c[V>>2]=l;zb=r(zb,W)|0;c[X>>2]=zb;sb=b[e>>1]|0;tb=r(sb,s)|0;sb=r(t,sb)|0;ub=vb+tb|0;c[Hb>>2]=ub;yb=tb-zb|0;c[Y>>2]=yb;xb=Bb+sb|0;c[Z>>2]=xb;Ab=sb-l|0;c[_>>2]=Ab;l=l+sb|0;c[$>>2]=l;Bb=sb-Bb|0;c[aa>>2]=Bb;zb=zb+tb|0;c[ba>>2]=zb;vb=tb-vb|0;c[ca>>2]=vb;ub=(c[Fb>>2]|0)+ub|0;b[n>>1]=(ub|0)>4194239?32767:(ub|0)<-4194368?-32768:(ub+64|0)>>>7&65535;wb=vb-wb|0;b[n+16>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;xb=(c[y>>2]|0)+xb|0;b[n+2>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;Bb=Bb-(c[N>>2]|0)|0;b[n+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[B>>2]|0;l=Bb+l|0;b[n+4>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;l=c[K>>2]|0;Ab=Ab-l|0;b[n+20>>1]=(Ab|0)>4194239?32767:(Ab|0)<-4194368?-32768:(Ab+64|0)>>>7&65535;Ab=c[E>>2]|0;zb=Ab+zb|0;b[n+6>>1]=(zb|0)>4194239?32767:(zb|0)<-4194368?-32768:(zb+64|0)>>>7&65535;zb=c[H>>2]|0;yb=yb-zb|0;b[n+22>>1]=(yb|0)>4194239?32767:(yb|0)<-4194368?-32768:(yb+64|0)>>>7&65535;zb=zb+(c[Y>>2]|0)|0;b[n+8>>1]=(zb|0)>4194239?32767:(zb|0)<-4194368?-32768:(zb+64|0)>>>7&65535;Ab=(c[ba>>2]|0)-Ab|0;b[n+24>>1]=(Ab|0)>4194239?32767:(Ab|0)<-4194368?-32768:(Ab+64|0)>>>7&65535;l=l+(c[_>>2]|0)|0;b[n+10>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;Bb=(c[$>>2]|0)-Bb|0;b[n+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[N>>2]|0)+(c[aa>>2]|0)|0;b[n+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Z>>2]|0)-(c[y>>2]|0)|0;b[n+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Q>>2]|0)+(c[ca>>2]|0)|0;b[n+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[n+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{l=n;Bb=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(Bb|0))}o=o+1|0;if(o>>>0>=Db>>>0)break;else{e=e+2|0;n=n+32|0;m=m>>1}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;s=b[16913]|0;t=b[16945]|0;u=Fb+4|0;v=b[16914]|0;w=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;m=f;e=0;while(1){i=b[m+32>>1]|0;Eb=b[m+96>>1]|0;c[Fb>>2]=(r(Eb,q)|0)+(r(i,p)|0);c[u>>2]=(r(Eb,t)|0)+(r(i,s)|0);c[x>>2]=(r(Eb,w)|0)+(r(i,v)|0);c[A>>2]=(r(Eb,z)|0)+(r(i,y)|0);c[D>>2]=(r(Eb,C)|0)+(r(i,B)|0);c[G>>2]=(r(Eb,F)|0)+(r(i,E)|0);c[J>>2]=(r(Eb,I)|0)+(r(i,H)|0);c[M>>2]=(r(Eb,L)|0)+(r(i,K)|0);i=b[m+64>>1]|0;Eb=r(i,N)|0;c[Gb>>2]=Eb;Cb=r(i,O)|0;c[P>>2]=Cb;l=r(i,Q)|0;c[R>>2]=l;i=r(i,S)|0;c[T>>2]=i;Bb=b[m>>1]|0;Db=r(Bb,n)|0;Bb=r(o,Bb)|0;f=Eb+Db|0;c[Hb>>2]=f;c[U>>2]=Db-i;c[V>>2]=Cb+Bb;c[W>>2]=Bb-l;c[X>>2]=l+Bb;c[Y>>2]=Bb-Cb;c[Z>>2]=i+Db;c[_>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[_>>2]|0)-(c[M>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[u>>2]|0)+(c[V>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[x>>2]|0)+(c[X>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[W>>2]|0)-(c[G>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[A>>2]|0)+(c[Z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)-(c[D>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[D>>2]|0)+(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[Z>>2]|0)-(c[A>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[G>>2]|0)+(c[W>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[X>>2]|0)-(c[x>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[V>>2]|0)-(c[u>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[M>>2]|0)+(c[_>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;s=b[16944]|0;t=b[16976]|0;u=b[17008]|0;v=b[16913]|0;w=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;m=f;e=0;while(1){Eb=b[m+32>>1]|0;Bb=b[m+96>>1]|0;yb=b[m+160>>1]|0;Cb=b[m+224>>1]|0;c[Fb>>2]=(r(Bb,s)|0)+(r(Eb,q)|0)+(r(yb,t)|0)+(r(Cb,u)|0);c[z>>2]=(r(Bb,w)|0)+(r(Eb,v)|0)+(r(yb,x)|0)+(r(Cb,y)|0);c[E>>2]=(r(Bb,B)|0)+(r(Eb,A)|0)+(r(yb,C)|0)+(r(Cb,D)|0);c[J>>2]=(r(Bb,G)|0)+(r(Eb,F)|0)+(r(yb,H)|0)+(r(Cb,I)|0);c[O>>2]=(r(Bb,L)|0)+(r(Eb,K)|0)+(r(yb,M)|0)+(r(Cb,N)|0);c[T>>2]=(r(Bb,Q)|0)+(r(Eb,P)|0)+(r(yb,R)|0)+(r(Cb,S)|0);c[Y>>2]=(r(Bb,V)|0)+(r(Eb,U)|0)+(r(yb,W)|0)+(r(Cb,X)|0);c[ba>>2]=(r(Bb,_)|0)+(r(Eb,Z)|0)+(r(yb,$)|0)+(r(Cb,aa)|0);Cb=b[m+64>>1]|0;yb=b[m+192>>1]|0;Eb=(r(yb,da)|0)+(r(Cb,ca)|0)|0;c[Gb>>2]=Eb;Bb=(r(yb,fa)|0)+(r(Cb,ea)|0)|0;c[ga>>2]=Bb;zb=(r(yb,ia)|0)+(r(Cb,ha)|0)|0;c[ja>>2]=zb;Cb=(r(yb,la)|0)+(r(Cb,ka)|0)|0;c[ma>>2]=Cb;yb=b[m+128>>1]|0;i=r(yb,kb)|0;l=b[m>>1]|0;f=r(l,n)|0;yb=r(o,yb)|0;l=r(p,l)|0;Db=i+f|0;Ab=l-yb|0;l=yb+l|0;i=f-i|0;f=Eb+Db|0;c[Hb>>2]=f;c[na>>2]=i-Cb;c[oa>>2]=Bb+l;c[pa>>2]=Ab-zb;c[qa>>2]=zb+Ab;c[ra>>2]=l-Bb;c[sa>>2]=Cb+i;c[ta>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[z>>2]|0)+(c[oa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[ra>>2]|0)-(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[E>>2]|0)+(c[qa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[pa>>2]|0)-(c[T>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[sa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[na>>2]|0)-(c[O>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[O>>2]|0)+(c[na>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[sa>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[T>>2]|0)+(c[pa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[qa>>2]|0)-(c[E>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)+(c[ra>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[oa>>2]|0)-(c[z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;s=b[17089]|0;t=b[16897]|0;u=b[17025]|0;v=b[16912]|0;w=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;e=0;m=f;while(1){Ab=b[m+32>>1]|0;Bb=b[m+96>>1]|0;Cb=b[m+160>>1]|0;f=b[m+224>>1]|0;i=b[m+288>>1]|0;yb=b[m+352>>1]|0;l=b[m+416>>1]|0;Db=b[m+480>>1]|0;c[Fb>>2]=(r(Bb,w)|0)+(r(Ab,v)|0)+(r(Cb,x)|0)+(r(f,y)|0)+(r(i,z)|0)+(r(yb,A)|0)+(r(l,B)|0)+(r(Db,C)|0);c[L>>2]=(r(Bb,E)|0)+(r(Ab,D)|0)+(r(Cb,F)|0)+(r(f,G)|0)+(r(i,H)|0)+(r(yb,I)|0)+(r(l,J)|0)+(r(Db,K)|0);c[U>>2]=(r(Bb,N)|0)+(r(Ab,M)|0)+(r(Cb,O)|0)+(r(f,P)|0)+(r(i,Q)|0)+(r(yb,R)|0)+(r(l,S)|0)+(r(Db,T)|0);c[ba>>2]=(r(Bb,W)|0)+(r(Ab,V)|0)+(r(Cb,X)|0)+(r(f,Y)|0)+(r(i,Z)|0)+(r(yb,_)|0)+(r(l,$)|0)+(r(Db,aa)|0);c[ka>>2]=(r(Bb,da)|0)+(r(Ab,ca)|0)+(r(Cb,ea)|0)+(r(f,fa)|0)+(r(i,ga)|0)+(r(yb,ha)|0)+(r(l,ia)|0)+(r(Db,ja)|0);c[ta>>2]=(r(Bb,ma)|0)+(r(Ab,la)|0)+(r(Cb,na)|0)+(r(f,oa)|0)+(r(i,pa)|0)+(r(yb,qa)|0)+(r(l,ra)|0)+(r(Db,sa)|0);c[Ca>>2]=(r(Bb,va)|0)+(r(Ab,ua)|0)+(r(Cb,wa)|0)+(r(f,xa)|0)+(r(i,ya)|0)+(r(yb,za)|0)+(r(l,Aa)|0)+(r(Db,Ba)|0);c[La>>2]=(r(Bb,Ea)|0)+(r(Ab,Da)|0)+(r(Cb,Fa)|0)+(r(f,Ga)|0)+(r(i,Ha)|0)+(r(yb,Ia)|0)+(r(l,Ja)|0)+(r(Db,Ka)|0);Db=b[m+64>>1]|0;l=b[m+192>>1]|0;yb=b[m+320>>1]|0;i=b[m+448>>1]|0;f=(r(l,Na)|0)+(r(Db,Ma)|0)+(r(yb,Oa)|0)+(r(i,Pa)|0)|0;c[Gb>>2]=f;Cb=(r(l,Ra)|0)+(r(Db,Qa)|0)+(r(yb,Sa)|0)+(r(i,Ta)|0)|0;c[Ua>>2]=Cb;Ab=(r(l,Wa)|0)+(r(Db,Va)|0)+(r(yb,Xa)|0)+(r(i,Ya)|0)|0;c[Za>>2]=Ab;i=(r(l,$a)|0)+(r(Db,_a)|0)+(r(yb,ab)|0)+(r(i,bb)|0)|0;c[cb>>2]=i;yb=b[m+128>>1]|0;Db=r(yb,kb)|0;l=b[m+384>>1]|0;Db=(r(l,n)|0)+Db|0;Bb=b[m>>1]|0;zb=r(Bb,o)|0;Eb=b[m+256>>1]|0;zb=(r(Eb,p)|0)+zb|0;yb=(r(s,l)|0)+(r(q,yb)|0)|0;Bb=(r(u,Eb)|0)+(r(t,Bb)|0)|0;Eb=Db+zb|0;l=Bb-yb|0;Bb=yb+Bb|0;Db=zb-Db|0;f=f+Eb|0;c[Hb>>2]=f;c[db>>2]=Db-i;c[eb>>2]=Cb+Bb;c[fb>>2]=l-Ab;c[gb>>2]=Ab+l;c[hb>>2]=Bb-Cb;c[ib>>2]=i+Db;c[jb>>2]=Eb-(c[Gb>>2]|0);f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[jb>>2]|0)-(c[La>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[L>>2]|0)+(c[eb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)+(c[gb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[fb>>2]|0)-(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ib>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[db>>2]|0)-(c[ka>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[ka>>2]|0)+(c[db>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[ib>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)+(c[fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[gb>>2]|0)-(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[eb>>2]|0)-(c[L>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[La>>2]|0)+(c[jb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}}yb=i*3|0;zb=i*5|0;Ab=i*7|0;if((m&65280|0)==65280){p=i<<1;q=i*6|0;s=b[16960]|0;t=i<<2;u=b[16896]|0;v=b[16961]|0;w=b[16897]|0;x=b[16912]|0;y=b[16944]|0;z=b[16976]|0;A=b[17008]|0;B=b[16913]|0;C=b[16945]|0;D=b[16977]|0;E=b[17009]|0;F=Fb+4|0;G=b[16914]|0;H=b[16946]|0;I=b[16978]|0;J=b[17010]|0;K=Fb+8|0;L=b[16915]|0;M=b[16947]|0;N=b[16979]|0;O=b[17011]|0;P=Fb+12|0;Q=b[16916]|0;R=b[16948]|0;S=b[16980]|0;T=b[17012]|0;U=Fb+16|0;V=b[16917]|0;W=b[16949]|0;X=b[16981]|0;Y=b[17013]|0;Z=Fb+20|0;_=b[16918]|0;$=b[16950]|0;aa=b[16982]|0;ba=b[17014]|0;ca=Fb+24|0;da=b[16919]|0;ea=b[16951]|0;fa=b[16983]|0;ga=b[17015]|0;ha=Fb+28|0;ia=b[16928]|0;ja=b[16992]|0;ka=b[16929]|0;la=b[16993]|0;ma=Gb+4|0;na=b[16930]|0;oa=b[16994]|0;pa=Gb+8|0;qa=b[16931]|0;ra=b[16995]|0;sa=Gb+12|0;ta=Hb+16|0;ua=Hb+4|0;va=Hb+20|0;wa=Hb+8|0;xa=Hb+24|0;ya=Hb+12|0;za=Hb+28|0;o=l;m=0;n=f;while(1){if(!(o&1)){tb=b[e+(i<<1)>>1]|0;Bb=b[e+(yb<<1)>>1]|0;vb=b[e+(zb<<1)>>1]|0;qb=b[e+(Ab<<1)>>1]|0;c[Fb>>2]=(r(Bb,y)|0)+(r(tb,x)|0)+(r(vb,z)|0)+(r(qb,A)|0);c[F>>2]=(r(Bb,C)|0)+(r(tb,B)|0)+(r(vb,D)|0)+(r(qb,E)|0);c[K>>2]=(r(Bb,H)|0)+(r(tb,G)|0)+(r(vb,I)|0)+(r(qb,J)|0);c[P>>2]=(r(Bb,M)|0)+(r(tb,L)|0)+(r(vb,N)|0)+(r(qb,O)|0);c[U>>2]=(r(Bb,R)|0)+(r(tb,Q)|0)+(r(vb,S)|0)+(r(qb,T)|0);c[Z>>2]=(r(Bb,W)|0)+(r(tb,V)|0)+(r(vb,X)|0)+(r(qb,Y)|0);c[ca>>2]=(r(Bb,$)|0)+(r(tb,_)|0)+(r(vb,aa)|0)+(r(qb,ba)|0);c[ha>>2]=(r(Bb,ea)|0)+(r(tb,da)|0)+(r(vb,fa)|0)+(r(qb,ga)|0);qb=b[e+(p<<1)>>1]|0;vb=b[e+(q<<1)>>1]|0;tb=(r(vb,ja)|0)+(r(qb,ia)|0)|0;c[Gb>>2]=tb;Bb=(r(vb,la)|0)+(r(qb,ka)|0)|0;c[ma>>2]=Bb;ob=(r(vb,oa)|0)+(r(qb,na)|0)|0;c[pa>>2]=ob;qb=(r(vb,ra)|0)+(r(qb,qa)|0)|0;c[sa>>2]=qb;vb=b[e+(t<<1)>>1]|0;wb=r(vb,s)|0;pb=b[e>>1]|0;sb=r(pb,u)|0;vb=r(v,vb)|0;pb=r(w,pb)|0;rb=wb+sb|0;l=pb-vb|0;pb=vb+pb|0;wb=sb-wb|0;sb=tb+rb|0;c[Hb>>2]=sb;vb=wb-qb|0;c[ta>>2]=vb;ub=Bb+pb|0;c[ua>>2]=ub;xb=l-ob|0;c[va>>2]=xb;l=ob+l|0;c[wa>>2]=l;Bb=pb-Bb|0;c[xa>>2]=Bb;wb=qb+wb|0;c[ya>>2]=wb;tb=rb-tb|0;c[za>>2]=tb;sb=(c[Fb>>2]|0)+sb|0;b[n>>1]=(sb|0)>4194239?32767:(sb|0)<-4194368?-32768:(sb+64|0)>>>7&65535;tb=tb-(c[ha>>2]|0)|0;b[n+16>>1]=(tb|0)>4194239?32767:(tb|0)<-4194368?-32768:(tb+64|0)>>>7&65535;ub=(c[F>>2]|0)+ub|0;b[n+2>>1]=(ub|0)>4194239?32767:(ub|0)<-4194368?-32768:(ub+64|0)>>>7&65535;Bb=Bb-(c[ca>>2]|0)|0;b[n+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[K>>2]|0;l=Bb+l|0;b[n+4>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;l=c[Z>>2]|0;xb=xb-l|0;b[n+20>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;xb=c[P>>2]|0;wb=xb+wb|0;b[n+6>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;wb=c[U>>2]|0;vb=vb-wb|0;b[n+22>>1]=(vb|0)>4194239?32767:(vb|0)<-4194368?-32768:(vb+64|0)>>>7&65535;wb=wb+(c[ta>>2]|0)|0;b[n+8>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;xb=(c[ya>>2]|0)-xb|0;b[n+24>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;l=l+(c[va>>2]|0)|0;b[n+10>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;Bb=(c[wa>>2]|0)-Bb|0;b[n+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ca>>2]|0)+(c[xa>>2]|0)|0;b[n+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ua>>2]|0)-(c[F>>2]|0)|0;b[n+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ha>>2]|0)+(c[za>>2]|0)|0;b[n+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[n+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{l=n;Bb=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(Bb|0))}m=m+1|0;if(m>>>0>=Db>>>0)break;else{o=o>>1;e=e+2|0;n=n+32|0}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;s=b[16913]|0;t=b[16945]|0;u=Fb+4|0;v=b[16914]|0;w=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;e=0;m=f;while(1){i=b[m+32>>1]|0;Eb=b[m+96>>1]|0;c[Fb>>2]=(r(Eb,q)|0)+(r(i,p)|0);c[u>>2]=(r(Eb,t)|0)+(r(i,s)|0);c[x>>2]=(r(Eb,w)|0)+(r(i,v)|0);c[A>>2]=(r(Eb,z)|0)+(r(i,y)|0);c[D>>2]=(r(Eb,C)|0)+(r(i,B)|0);c[G>>2]=(r(Eb,F)|0)+(r(i,E)|0);c[J>>2]=(r(Eb,I)|0)+(r(i,H)|0);c[M>>2]=(r(Eb,L)|0)+(r(i,K)|0);i=b[m+64>>1]|0;Eb=r(i,N)|0;c[Gb>>2]=Eb;Cb=r(i,O)|0;c[P>>2]=Cb;l=r(i,Q)|0;c[R>>2]=l;i=r(i,S)|0;c[T>>2]=i;Bb=b[m>>1]|0;Db=r(Bb,n)|0;Bb=r(o,Bb)|0;f=Eb+Db|0;c[Hb>>2]=f;c[U>>2]=Db-i;c[V>>2]=Cb+Bb;c[W>>2]=Bb-l;c[X>>2]=l+Bb;c[Y>>2]=Bb-Cb;c[Z>>2]=i+Db;c[_>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[_>>2]|0)-(c[M>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[u>>2]|0)+(c[V>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[x>>2]|0)+(c[X>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[W>>2]|0)-(c[G>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[A>>2]|0)+(c[Z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)-(c[D>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[D>>2]|0)+(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[Z>>2]|0)-(c[A>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[G>>2]|0)+(c[W>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[X>>2]|0)-(c[x>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[V>>2]|0)-(c[u>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[M>>2]|0)+(c[_>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;s=b[16944]|0;t=b[16976]|0;u=b[17008]|0;v=b[16913]|0;w=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;e=0;m=f;while(1){Eb=b[m+32>>1]|0;Bb=b[m+96>>1]|0;yb=b[m+160>>1]|0;Cb=b[m+224>>1]|0;c[Fb>>2]=(r(Bb,s)|0)+(r(Eb,q)|0)+(r(yb,t)|0)+(r(Cb,u)|0);c[z>>2]=(r(Bb,w)|0)+(r(Eb,v)|0)+(r(yb,x)|0)+(r(Cb,y)|0);c[E>>2]=(r(Bb,B)|0)+(r(Eb,A)|0)+(r(yb,C)|0)+(r(Cb,D)|0);c[J>>2]=(r(Bb,G)|0)+(r(Eb,F)|0)+(r(yb,H)|0)+(r(Cb,I)|0);c[O>>2]=(r(Bb,L)|0)+(r(Eb,K)|0)+(r(yb,M)|0)+(r(Cb,N)|0);c[T>>2]=(r(Bb,Q)|0)+(r(Eb,P)|0)+(r(yb,R)|0)+(r(Cb,S)|0);c[Y>>2]=(r(Bb,V)|0)+(r(Eb,U)|0)+(r(yb,W)|0)+(r(Cb,X)|0);c[ba>>2]=(r(Bb,_)|0)+(r(Eb,Z)|0)+(r(yb,$)|0)+(r(Cb,aa)|0);Cb=b[m+64>>1]|0;yb=b[m+192>>1]|0;Eb=(r(yb,da)|0)+(r(Cb,ca)|0)|0;c[Gb>>2]=Eb;Bb=(r(yb,fa)|0)+(r(Cb,ea)|0)|0;c[ga>>2]=Bb;zb=(r(yb,ia)|0)+(r(Cb,ha)|0)|0;c[ja>>2]=zb;Cb=(r(yb,la)|0)+(r(Cb,ka)|0)|0;c[ma>>2]=Cb;yb=b[m+128>>1]|0;i=r(yb,kb)|0;l=b[m>>1]|0;f=r(l,n)|0;yb=r(o,yb)|0;l=r(p,l)|0;Db=i+f|0;Ab=l-yb|0;l=yb+l|0;i=f-i|0;f=Eb+Db|0;c[Hb>>2]=f;c[na>>2]=i-Cb;c[oa>>2]=Bb+l;c[pa>>2]=Ab-zb;c[qa>>2]=zb+Ab;c[ra>>2]=l-Bb;c[sa>>2]=Cb+i;c[ta>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[z>>2]|0)+(c[oa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[ra>>2]|0)-(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[E>>2]|0)+(c[qa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[pa>>2]|0)-(c[T>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[sa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[na>>2]|0)-(c[O>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[O>>2]|0)+(c[na>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[sa>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[T>>2]|0)+(c[pa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[qa>>2]|0)-(c[E>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)+(c[ra>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[oa>>2]|0)-(c[z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;s=b[17089]|0;t=b[16897]|0;u=b[17025]|0;v=b[16912]|0;w=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;e=0;m=f;while(1){Ab=b[m+32>>1]|0;Bb=b[m+96>>1]|0;Cb=b[m+160>>1]|0;f=b[m+224>>1]|0;i=b[m+288>>1]|0;yb=b[m+352>>1]|0;l=b[m+416>>1]|0;Db=b[m+480>>1]|0;c[Fb>>2]=(r(Bb,w)|0)+(r(Ab,v)|0)+(r(Cb,x)|0)+(r(f,y)|0)+(r(i,z)|0)+(r(yb,A)|0)+(r(l,B)|0)+(r(Db,C)|0);c[L>>2]=(r(Bb,E)|0)+(r(Ab,D)|0)+(r(Cb,F)|0)+(r(f,G)|0)+(r(i,H)|0)+(r(yb,I)|0)+(r(l,J)|0)+(r(Db,K)|0);c[U>>2]=(r(Bb,N)|0)+(r(Ab,M)|0)+(r(Cb,O)|0)+(r(f,P)|0)+(r(i,Q)|0)+(r(yb,R)|0)+(r(l,S)|0)+(r(Db,T)|0);c[ba>>2]=(r(Bb,W)|0)+(r(Ab,V)|0)+(r(Cb,X)|0)+(r(f,Y)|0)+(r(i,Z)|0)+(r(yb,_)|0)+(r(l,$)|0)+(r(Db,aa)|0);c[ka>>2]=(r(Bb,da)|0)+(r(Ab,ca)|0)+(r(Cb,ea)|0)+(r(f,fa)|0)+(r(i,ga)|0)+(r(yb,ha)|0)+(r(l,ia)|0)+(r(Db,ja)|0);c[ta>>2]=(r(Bb,ma)|0)+(r(Ab,la)|0)+(r(Cb,na)|0)+(r(f,oa)|0)+(r(i,pa)|0)+(r(yb,qa)|0)+(r(l,ra)|0)+(r(Db,sa)|0);c[Ca>>2]=(r(Bb,va)|0)+(r(Ab,ua)|0)+(r(Cb,wa)|0)+(r(f,xa)|0)+(r(i,ya)|0)+(r(yb,za)|0)+(r(l,Aa)|0)+(r(Db,Ba)|0);c[La>>2]=(r(Bb,Ea)|0)+(r(Ab,Da)|0)+(r(Cb,Fa)|0)+(r(f,Ga)|0)+(r(i,Ha)|0)+(r(yb,Ia)|0)+(r(l,Ja)|0)+(r(Db,Ka)|0);Db=b[m+64>>1]|0;l=b[m+192>>1]|0;yb=b[m+320>>1]|0;i=b[m+448>>1]|0;f=(r(l,Na)|0)+(r(Db,Ma)|0)+(r(yb,Oa)|0)+(r(i,Pa)|0)|0;c[Gb>>2]=f;Cb=(r(l,Ra)|0)+(r(Db,Qa)|0)+(r(yb,Sa)|0)+(r(i,Ta)|0)|0;c[Ua>>2]=Cb;Ab=(r(l,Wa)|0)+(r(Db,Va)|0)+(r(yb,Xa)|0)+(r(i,Ya)|0)|0;c[Za>>2]=Ab;i=(r(l,$a)|0)+(r(Db,_a)|0)+(r(yb,ab)|0)+(r(i,bb)|0)|0;c[cb>>2]=i;yb=b[m+128>>1]|0;Db=r(yb,kb)|0;l=b[m+384>>1]|0;Db=(r(l,n)|0)+Db|0;Bb=b[m>>1]|0;zb=r(Bb,o)|0;Eb=b[m+256>>1]|0;zb=(r(Eb,p)|0)+zb|0;yb=(r(s,l)|0)+(r(q,yb)|0)|0;Bb=(r(u,Eb)|0)+(r(t,Bb)|0)|0;Eb=Db+zb|0;l=Bb-yb|0;Bb=yb+Bb|0;Db=zb-Db|0;f=f+Eb|0;c[Hb>>2]=f;c[db>>2]=Db-i;c[eb>>2]=Cb+Bb;c[fb>>2]=l-Ab;c[gb>>2]=Ab+l;c[hb>>2]=Bb-Cb;c[ib>>2]=i+Db;c[jb>>2]=Eb-(c[Gb>>2]|0);f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[jb>>2]|0)-(c[La>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[L>>2]|0)+(c[eb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)+(c[gb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[fb>>2]|0)-(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ib>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[db>>2]|0)-(c[ka>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[ka>>2]|0)+(c[db>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[ib>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)+(c[fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[gb>>2]|0)-(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[eb>>2]|0)-(c[L>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[La>>2]|0)+(c[jb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}}else{p=i*9|0;q=i*11|0;s=i*13|0;t=i*15|0;u=i<<1;v=i*6|0;w=i*10|0;x=i*14|0;y=b[16960]|0;z=i<<2;A=b[17088]|0;B=i*12|0;C=b[16896]|0;D=b[17024]|0;E=i<<3;F=b[16961]|0;G=b[17089]|0;H=b[16897]|0;I=b[17025]|0;J=b[16912]|0;K=b[16944]|0;L=b[16976]|0;M=b[17008]|0;N=b[17040]|0;O=b[17072]|0;P=b[17104]|0;Q=b[17136]|0;R=b[16913]|0;S=b[16945]|0;T=b[16977]|0;U=b[17009]|0;V=b[17041]|0;W=b[17073]|0;X=b[17105]|0;Y=b[17137]|0;Z=Fb+4|0;_=b[16914]|0;$=b[16946]|0;aa=b[16978]|0;ba=b[17010]|0;ca=b[17042]|0;da=b[17074]|0;ea=b[17106]|0;fa=b[17138]|0;ga=Fb+8|0;ha=b[16915]|0;ia=b[16947]|0;ja=b[16979]|0;ka=b[17011]|0;la=b[17043]|0;ma=b[17075]|0;na=b[17107]|0;oa=b[17139]|0;pa=Fb+12|0;qa=b[16916]|0;ra=b[16948]|0;sa=b[16980]|0;ta=b[17012]|0;ua=b[17044]|0;va=b[17076]|0;wa=b[17108]|0;xa=b[17140]|0;ya=Fb+16|0;za=b[16917]|0;Aa=b[16949]|0;Ba=b[16981]|0;Ca=b[17013]|0;Da=b[17045]|0;Ea=b[17077]|0;Fa=b[17109]|0;Ga=b[17141]|0;Ha=Fb+20|0;Ia=b[16918]|0;Ja=b[16950]|0;Ka=b[16982]|0;La=b[17014]|0;Ma=b[17046]|0;Na=b[17078]|0;Oa=b[17110]|0;Pa=b[17142]|0;Qa=Fb+24|0;Ra=b[16919]|0;Sa=b[16951]|0;Ta=b[16983]|0;Ua=b[17015]|0;Va=b[17047]|0;Wa=b[17079]|0;Xa=b[17111]|0;Ya=b[17143]|0;Za=Fb+28|0;_a=b[16928]|0;$a=b[16992]|0;ab=b[17056]|0;bb=b[17120]|0;cb=b[16929]|0;db=b[16993]|0;eb=b[17057]|0;fb=b[17121]|0;gb=Gb+4|0;hb=b[16930]|0;ib=b[16994]|0;jb=b[17058]|0;kb=b[17122]|0;lb=Gb+8|0;mb=b[16931]|0;nb=b[16995]|0;ob=b[17059]|0;pb=b[17123]|0;qb=Gb+12|0;rb=Hb+16|0;sb=Hb+4|0;tb=Hb+20|0;ub=Hb+8|0;vb=Hb+24|0;wb=Hb+12|0;xb=Hb+28|0;o=l;m=0;n=f;while(1){if(!(o&1)){Rb=b[e+(i<<1)>>1]|0;Qb=b[e+(yb<<1)>>1]|0;Bb=b[e+(zb<<1)>>1]|0;Ob=b[e+(Ab<<1)>>1]|0;Pb=b[e+(p<<1)>>1]|0;Mb=b[e+(q<<1)>>1]|0;l=b[e+(s<<1)>>1]|0;Kb=b[e+(t<<1)>>1]|0;c[Fb>>2]=(r(Qb,K)|0)+(r(Rb,J)|0)+(r(Bb,L)|0)+(r(Ob,M)|0)+(r(Pb,N)|0)+(r(Mb,O)|0)+(r(l,P)|0)+(r(Kb,Q)|0);c[Z>>2]=(r(Qb,S)|0)+(r(Rb,R)|0)+(r(Bb,T)|0)+(r(Ob,U)|0)+(r(Pb,V)|0)+(r(Mb,W)|0)+(r(l,X)|0)+(r(Kb,Y)|0);c[ga>>2]=(r(Qb,$)|0)+(r(Rb,_)|0)+(r(Bb,aa)|0)+(r(Ob,ba)|0)+(r(Pb,ca)|0)+(r(Mb,da)|0)+(r(l,ea)|0)+(r(Kb,fa)|0);c[pa>>2]=(r(Qb,ia)|0)+(r(Rb,ha)|0)+(r(Bb,ja)|0)+(r(Ob,ka)|0)+(r(Pb,la)|0)+(r(Mb,ma)|0)+(r(l,na)|0)+(r(Kb,oa)|0);c[ya>>2]=(r(Qb,ra)|0)+(r(Rb,qa)|0)+(r(Bb,sa)|0)+(r(Ob,ta)|0)+(r(Pb,ua)|0)+(r(Mb,va)|0)+(r(l,wa)|0)+(r(Kb,xa)|0);c[Ha>>2]=(r(Qb,Aa)|0)+(r(Rb,za)|0)+(r(Bb,Ba)|0)+(r(Ob,Ca)|0)+(r(Pb,Da)|0)+(r(Mb,Ea)|0)+(r(l,Fa)|0)+(r(Kb,Ga)|0);c[Qa>>2]=(r(Qb,Ja)|0)+(r(Rb,Ia)|0)+(r(Bb,Ka)|0)+(r(Ob,La)|0)+(r(Pb,Ma)|0)+(r(Mb,Na)|0)+(r(l,Oa)|0)+(r(Kb,Pa)|0);c[Za>>2]=(r(Qb,Sa)|0)+(r(Rb,Ra)|0)+(r(Bb,Ta)|0)+(r(Ob,Ua)|0)+(r(Pb,Va)|0)+(r(Mb,Wa)|0)+(r(l,Xa)|0)+(r(Kb,Ya)|0);Kb=b[e+(u<<1)>>1]|0;l=b[e+(v<<1)>>1]|0;Mb=b[e+(w<<1)>>1]|0;Pb=b[e+(x<<1)>>1]|0;Ob=(r(l,$a)|0)+(r(Kb,_a)|0)+(r(Mb,ab)|0)+(r(Pb,bb)|0)|0;c[Gb>>2]=Ob;Bb=(r(l,db)|0)+(r(Kb,cb)|0)+(r(Mb,eb)|0)+(r(Pb,fb)|0)|0;c[gb>>2]=Bb;Rb=(r(l,ib)|0)+(r(Kb,hb)|0)+(r(Mb,jb)|0)+(r(Pb,kb)|0)|0;c[lb>>2]=Rb;Pb=(r(l,nb)|0)+(r(Kb,mb)|0)+(r(Mb,ob)|0)+(r(Pb,pb)|0)|0;c[qb>>2]=Pb;Mb=b[e+(z<<1)>>1]|0;Kb=r(Mb,y)|0;l=b[e+(B<<1)>>1]|0;Kb=(r(l,A)|0)+Kb|0;Qb=b[e>>1]|0;Lb=r(Qb,C)|0;Nb=b[e+(E<<1)>>1]|0;Lb=(r(Nb,D)|0)+Lb|0;Mb=(r(G,l)|0)+(r(F,Mb)|0)|0;Qb=(r(I,Nb)|0)+(r(H,Qb)|0)|0;Nb=Kb+Lb|0;l=Qb-Mb|0;Qb=Mb+Qb|0;Kb=Lb-Kb|0;Ob=Ob+Nb|0;c[Hb>>2]=Ob;Lb=Kb-Pb|0;c[rb>>2]=Lb;Mb=Bb+Qb|0;c[sb>>2]=Mb;Jb=l-Rb|0;c[tb>>2]=Jb;l=Rb+l|0;c[ub>>2]=l;Bb=Qb-Bb|0;c[vb>>2]=Bb;Kb=Pb+Kb|0;c[wb>>2]=Kb;Nb=Nb-(c[Gb>>2]|0)|0;c[xb>>2]=Nb;Ob=(c[Fb>>2]|0)+Ob|0;b[n>>1]=(Ob|0)>4194239?32767:(Ob|0)<-4194368?-32768:(Ob+64|0)>>>7&65535;Nb=Nb-(c[Za>>2]|0)|0;b[n+16>>1]=(Nb|0)>4194239?32767:(Nb|0)<-4194368?-32768:(Nb+64|0)>>>7&65535;Mb=(c[Z>>2]|0)+Mb|0;b[n+2>>1]=(Mb|0)>4194239?32767:(Mb|0)<-4194368?-32768:(Mb+64|0)>>>7&65535;Bb=Bb-(c[Qa>>2]|0)|0;b[n+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[ga>>2]|0;l=Bb+l|0;b[n+4>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;l=c[Ha>>2]|0;Jb=Jb-l|0;b[n+20>>1]=(Jb|0)>4194239?32767:(Jb|0)<-4194368?-32768:(Jb+64|0)>>>7&65535;Jb=c[pa>>2]|0;Kb=Jb+Kb|0;b[n+6>>1]=(Kb|0)>4194239?32767:(Kb|0)<-4194368?-32768:(Kb+64|0)>>>7&65535;Kb=c[ya>>2]|0;Lb=Lb-Kb|0;b[n+22>>1]=(Lb|0)>4194239?32767:(Lb|0)<-4194368?-32768:(Lb+64|0)>>>7&65535;Kb=Kb+(c[rb>>2]|0)|0;b[n+8>>1]=(Kb|0)>4194239?32767:(Kb|0)<-4194368?-32768:(Kb+64|0)>>>7&65535;Jb=(c[wb>>2]|0)-Jb|0;b[n+24>>1]=(Jb|0)>4194239?32767:(Jb|0)<-4194368?-32768:(Jb+64|0)>>>7&65535;l=l+(c[tb>>2]|0)|0;b[n+10>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;Bb=(c[ub>>2]|0)-Bb|0;b[n+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Qa>>2]|0)+(c[vb>>2]|0)|0;b[n+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[sb>>2]|0)-(c[Z>>2]|0)|0;b[n+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Za>>2]|0)+(c[xb>>2]|0)|0;b[n+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[n+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{l=n;Bb=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(Bb|0))}m=m+1|0;if(m>>>0>=Db>>>0)break;else{o=o>>1;e=e+2|0;n=n+32|0}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;s=b[16913]|0;t=b[16945]|0;u=Fb+4|0;v=b[16914]|0;w=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;e=0;m=f;while(1){Ob=b[m+32>>1]|0;Qb=b[m+96>>1]|0;c[Fb>>2]=(r(Qb,q)|0)+(r(Ob,p)|0);c[u>>2]=(r(Qb,t)|0)+(r(Ob,s)|0);c[x>>2]=(r(Qb,w)|0)+(r(Ob,v)|0);c[A>>2]=(r(Qb,z)|0)+(r(Ob,y)|0);c[D>>2]=(r(Qb,C)|0)+(r(Ob,B)|0);c[G>>2]=(r(Qb,F)|0)+(r(Ob,E)|0);c[J>>2]=(r(Qb,I)|0)+(r(Ob,H)|0);c[M>>2]=(r(Qb,L)|0)+(r(Ob,K)|0);Ob=b[m+64>>1]|0;Qb=r(Ob,N)|0;c[Gb>>2]=Qb;Nb=r(Ob,O)|0;c[P>>2]=Nb;Lb=r(Ob,Q)|0;c[R>>2]=Lb;Ob=r(Ob,S)|0;c[T>>2]=Ob;Mb=b[m>>1]|0;Pb=r(Mb,n)|0;Mb=r(o,Mb)|0;Rb=Qb+Pb|0;c[Hb>>2]=Rb;c[U>>2]=Pb-Ob;c[V>>2]=Nb+Mb;c[W>>2]=Mb-Lb;c[X>>2]=Lb+Mb;c[Y>>2]=Mb-Nb;c[Z>>2]=Ob+Pb;c[_>>2]=Pb-Qb;Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[_>>2]|0)-(c[M>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[u>>2]|0)+(c[V>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+1>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+1>>0]=(Rb|0)<255?Rb:255;Rb=(c[Y>>2]|0)-(c[J>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+9>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+9>>0]=(Rb|0)<255?Rb:255;Rb=(c[x>>2]|0)+(c[X>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[W>>2]|0)-(c[G>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[A>>2]|0)+(c[Z>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+3>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+3>>0]=(Rb|0)<255?Rb:255;Rb=(c[U>>2]|0)-(c[D>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+11>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+11>>0]=(Rb|0)<255?Rb:255;Rb=(c[D>>2]|0)+(c[U>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[Z>>2]|0)-(c[A>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[G>>2]|0)+(c[W>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+5>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+5>>0]=(Rb|0)<255?Rb:255;Rb=(c[X>>2]|0)-(c[x>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+13>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+13>>0]=(Rb|0)<255?Rb:255;Rb=(c[J>>2]|0)+(c[Y>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=(c[V>>2]|0)-(c[u>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[M>>2]|0)+(c[_>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+7>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+7>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+15>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+15>>0]=(Rb|0)<255?Rb:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;s=b[16944]|0;t=b[16976]|0;u=b[17008]|0;v=b[16913]|0;w=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;e=0;m=f;while(1){Qb=b[m+32>>1]|0;Mb=b[m+96>>1]|0;f=b[m+160>>1]|0;Nb=b[m+224>>1]|0;c[Fb>>2]=(r(Mb,s)|0)+(r(Qb,q)|0)+(r(f,t)|0)+(r(Nb,u)|0);c[z>>2]=(r(Mb,w)|0)+(r(Qb,v)|0)+(r(f,x)|0)+(r(Nb,y)|0);c[E>>2]=(r(Mb,B)|0)+(r(Qb,A)|0)+(r(f,C)|0)+(r(Nb,D)|0);c[J>>2]=(r(Mb,G)|0)+(r(Qb,F)|0)+(r(f,H)|0)+(r(Nb,I)|0);c[O>>2]=(r(Mb,L)|0)+(r(Qb,K)|0)+(r(f,M)|0)+(r(Nb,N)|0);c[T>>2]=(r(Mb,Q)|0)+(r(Qb,P)|0)+(r(f,R)|0)+(r(Nb,S)|0);c[Y>>2]=(r(Mb,V)|0)+(r(Qb,U)|0)+(r(f,W)|0)+(r(Nb,X)|0);c[ba>>2]=(r(Mb,_)|0)+(r(Qb,Z)|0)+(r(f,$)|0)+(r(Nb,aa)|0);Nb=b[m+64>>1]|0;f=b[m+192>>1]|0;Qb=(r(f,da)|0)+(r(Nb,ca)|0)|0;c[Gb>>2]=Qb;Mb=(r(f,fa)|0)+(r(Nb,ea)|0)|0;c[ga>>2]=Mb;Jb=(r(f,ia)|0)+(r(Nb,ha)|0)|0;c[ja>>2]=Jb;Nb=(r(f,la)|0)+(r(Nb,ka)|0)|0;c[ma>>2]=Nb;f=b[m+128>>1]|0;Ob=r(f,kb)|0;Lb=b[m>>1]|0;Rb=r(Lb,n)|0;f=r(o,f)|0;Lb=r(p,Lb)|0;Pb=Ob+Rb|0;Kb=Lb-f|0;Lb=f+Lb|0;Ob=Rb-Ob|0;Rb=Qb+Pb|0;c[Hb>>2]=Rb;c[na>>2]=Ob-Nb;c[oa>>2]=Mb+Lb;c[pa>>2]=Kb-Jb;c[qa>>2]=Jb+Kb;c[ra>>2]=Lb-Mb;c[sa>>2]=Nb+Ob;c[ta>>2]=Pb-Qb;Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[ta>>2]|0)-(c[ba>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[z>>2]|0)+(c[oa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+1>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+1>>0]=(Rb|0)<255?Rb:255;Rb=(c[ra>>2]|0)-(c[Y>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+9>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+9>>0]=(Rb|0)<255?Rb:255;Rb=(c[E>>2]|0)+(c[qa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[pa>>2]|0)-(c[T>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[J>>2]|0)+(c[sa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+3>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+3>>0]=(Rb|0)<255?Rb:255;Rb=(c[na>>2]|0)-(c[O>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+11>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+11>>0]=(Rb|0)<255?Rb:255;Rb=(c[O>>2]|0)+(c[na>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[sa>>2]|0)-(c[J>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[T>>2]|0)+(c[pa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+5>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+5>>0]=(Rb|0)<255?Rb:255;Rb=(c[qa>>2]|0)-(c[E>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+13>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+13>>0]=(Rb|0)<255?Rb:255;Rb=(c[Y>>2]|0)+(c[ra>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=(c[oa>>2]|0)-(c[z>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[ba>>2]|0)+(c[ta>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+7>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+7>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+15>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+15>>0]=(Rb|0)<255?Rb:255;e=e+1|0;if((e|0)==16)break;else{m=m+2|0;g=g+j|0;h=h+k|0}}Sb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;s=b[17089]|0;t=b[16897]|0;u=b[17025]|0;v=b[16912]|0;w=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;e=0;m=f;while(1){Kb=b[m+32>>1]|0;Mb=b[m+96>>1]|0;Nb=b[m+160>>1]|0;Rb=b[m+224>>1]|0;Ob=b[m+288>>1]|0;f=b[m+352>>1]|0;Lb=b[m+416>>1]|0;Pb=b[m+480>>1]|0;c[Fb>>2]=(r(Mb,w)|0)+(r(Kb,v)|0)+(r(Nb,x)|0)+(r(Rb,y)|0)+(r(Ob,z)|0)+(r(f,A)|0)+(r(Lb,B)|0)+(r(Pb,C)|0);c[L>>2]=(r(Mb,E)|0)+(r(Kb,D)|0)+(r(Nb,F)|0)+(r(Rb,G)|0)+(r(Ob,H)|0)+(r(f,I)|0)+(r(Lb,J)|0)+(r(Pb,K)|0);c[U>>2]=(r(Mb,N)|0)+(r(Kb,M)|0)+(r(Nb,O)|0)+(r(Rb,P)|0)+(r(Ob,Q)|0)+(r(f,R)|0)+(r(Lb,S)|0)+(r(Pb,T)|0);c[ba>>2]=(r(Mb,W)|0)+(r(Kb,V)|0)+(r(Nb,X)|0)+(r(Rb,Y)|0)+(r(Ob,Z)|0)+(r(f,_)|0)+(r(Lb,$)|0)+(r(Pb,aa)|0);c[ka>>2]=(r(Mb,da)|0)+(r(Kb,ca)|0)+(r(Nb,ea)|0)+(r(Rb,fa)|0)+(r(Ob,ga)|0)+(r(f,ha)|0)+(r(Lb,ia)|0)+(r(Pb,ja)|0);c[ta>>2]=(r(Mb,ma)|0)+(r(Kb,la)|0)+(r(Nb,na)|0)+(r(Rb,oa)|0)+(r(Ob,pa)|0)+(r(f,qa)|0)+(r(Lb,ra)|0)+(r(Pb,sa)|0);c[Ca>>2]=(r(Mb,va)|0)+(r(Kb,ua)|0)+(r(Nb,wa)|0)+(r(Rb,xa)|0)+(r(Ob,ya)|0)+(r(f,za)|0)+(r(Lb,Aa)|0)+(r(Pb,Ba)|0);c[La>>2]=(r(Mb,Ea)|0)+(r(Kb,Da)|0)+(r(Nb,Fa)|0)+(r(Rb,Ga)|0)+(r(Ob,Ha)|0)+(r(f,Ia)|0)+(r(Lb,Ja)|0)+(r(Pb,Ka)|0);Pb=b[m+64>>1]|0;Lb=b[m+192>>1]|0;f=b[m+320>>1]|0;Ob=b[m+448>>1]|0;Rb=(r(Lb,Na)|0)+(r(Pb,Ma)|0)+(r(f,Oa)|0)+(r(Ob,Pa)|0)|0;c[Gb>>2]=Rb;Nb=(r(Lb,Ra)|0)+(r(Pb,Qa)|0)+(r(f,Sa)|0)+(r(Ob,Ta)|0)|0;c[Ua>>2]=Nb;Kb=(r(Lb,Wa)|0)+(r(Pb,Va)|0)+(r(f,Xa)|0)+(r(Ob,Ya)|0)|0;c[Za>>2]=Kb;Ob=(r(Lb,$a)|0)+(r(Pb,_a)|0)+(r(f,ab)|0)+(r(Ob,bb)|0)|0;c[cb>>2]=Ob;f=b[m+128>>1]|0;Pb=r(f,kb)|0;Lb=b[m+384>>1]|0;Pb=(r(Lb,n)|0)+Pb|0;Mb=b[m>>1]|0;Jb=r(Mb,o)|0;Qb=b[m+256>>1]|0;Jb=(r(Qb,p)|0)+Jb|0;f=(r(s,Lb)|0)+(r(q,f)|0)|0;Mb=(r(u,Qb)|0)+(r(t,Mb)|0)|0;Qb=Pb+Jb|0;Lb=Mb-f|0;Mb=f+Mb|0;Pb=Jb-Pb|0;Rb=Rb+Qb|0;c[Hb>>2]=Rb;c[db>>2]=Pb-Ob;c[eb>>2]=Nb+Mb;c[fb>>2]=Lb-Kb;c[gb>>2]=Kb+Lb;c[hb>>2]=Mb-Nb;c[ib>>2]=Ob+Pb;c[jb>>2]=Qb-(c[Gb>>2]|0);Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[jb>>2]|0)-(c[La>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[L>>2]|0)+(c[eb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+1>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+1>>0]=(Rb|0)<255?Rb:255;Rb=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+9>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+9>>0]=(Rb|0)<255?Rb:255;Rb=(c[U>>2]|0)+(c[gb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[fb>>2]|0)-(c[ta>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[ba>>2]|0)+(c[ib>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+3>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+3>>0]=(Rb|0)<255?Rb:255;Rb=(c[db>>2]|0)-(c[ka>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+11>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+11>>0]=(Rb|0)<255?Rb:255;Rb=(c[ka>>2]|0)+(c[db>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[ib>>2]|0)-(c[ba>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[ta>>2]|0)+(c[fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+5>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+5>>0]=(Rb|0)<255?Rb:255;Rb=(c[gb>>2]|0)-(c[U>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+13>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+13>>0]=(Rb|0)<255?Rb:255;Rb=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=(c[eb>>2]|0)-(c[L>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[La>>2]|0)+(c[jb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+7>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+7>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+15>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+15>>0]=(Rb|0)<255?Rb:255;e=e+1|0;if((e|0)==16)break;else{m=m+2|0;g=g+j|0;h=h+k|0}}Sb=Ib;return}}}
function tk(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;j=Sb;Sb=Sb+64|0;h=j;c[d>>2]=c[c[d>>2]>>2];if(!(uk(a,b,0)|0))if(((b|0)!=0?(e=Zj(b,38632,38720,0)|0,(e|0)!=0):0)?(c[e+8>>2]&~c[a+8>>2]|0)==0:0){a=a+12|0;b=e+12|0;if(!(Vj(c[a>>2]|0,c[b>>2]|0,0)|0)?!(Vj(c[a>>2]|0,38752,0)|0):0){a=c[a>>2]|0;if((((a|0)!=0?(g=Zj(a,38632,38616,0)|0,(g|0)!=0):0)?(f=c[b>>2]|0,(f|0)!=0):0)?(i=Zj(f,38632,38616,0)|0,(i|0)!=0):0){a=h+4|0;b=a+52|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=i;c[h+8>>2]=g;c[h+12>>2]=-1;c[h+48>>2]=1;cc[c[(c[i>>2]|0)+28>>2]&7](i,h,c[d>>2]|0,1);if((c[h+24>>2]|0)==1){c[d>>2]=c[h+16>>2];a=1}else a=0}else a=0}else a=1}else a=0;else a=1;Sb=j;return a|0}function uk(a,b,c){a=a|0;b=b|0;c=c|0;if(Vj(a,b,0)|0)a=1;else a=Vj(b,38760,0)|0;return a|0}function vk(a){a=a|0;Nj(a);rj(a);return}function wk(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(Vj(b,c[d+8>>2]|0,h)|0)Yj(0,d,e,f,g);else{p=d+52|0;i=a[p>>0]|0;j=d+53|0;k=a[j>>0]|0;o=c[b+12>>2]|0;l=b+16+(o<<3)|0;a[p>>0]=0;a[j>>0]=0;Ak(b+16|0,d,e,f,g,h);a:do if((o|0)>1){m=d+24|0;n=b+8|0;o=d+54|0;b=b+24|0;do{if(a[o>>0]|0)break a;if(!(a[p>>0]|0)){if(a[j>>0]|0?(c[n>>2]&1|0)==0:0)break a}else{if((c[m>>2]|0)==1)break a;if(!(c[n>>2]&2))break a}a[p>>0]=0;a[j>>0]=0;Ak(b,d,e,f,g,h);b=b+8|0}while(b>>>0<l>>>0)}while(0);a[p>>0]=i;a[j>>0]=k}return}function xk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if(!(Vj(b,c[d+8>>2]|0,g)|0)){if(!(Vj(b,c[d>>2]|0,g)|0)){q=c[b+12>>2]|0;k=b+16+(q<<3)|0;Bk(b+16|0,d,e,f,g);h=b+24|0;if((q|0)<=1)break;b=c[b+8>>2]|0;if((b&2|0)==0?(j=d+36|0,(c[j>>2]|0)!=1):0){if(!(b&1)){b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[j>>2]|0)==1)break a;Bk(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+24|0;i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[j>>2]|0)==1?(c[b>>2]|0)==1:0)break a;Bk(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+54|0;while(1){if(a[b>>0]|0)break a;Bk(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(q=d+20|0,(c[q>>2]|0)!=(e|0)):0){c[d+32>>2]=f;p=d+44|0;if((c[p>>2]|0)==4)break;k=b+16+(c[b+12>>2]<<3)|0;f=d+52|0;l=d+53|0;n=d+54|0;m=b+8|0;o=d+24|0;h=0;i=b+16|0;j=0;b:while(1){if(i>>>0>=k>>>0){b=18;break}a[f>>0]=0;a[l>>0]=0;Ak(i,d,e,e,1,g);if(a[n>>0]|0){b=18;break}do if(a[l>>0]|0){if(!(a[f>>0]|0))if(!(c[m>>2]&1)){h=1;b=18;break b}else{h=1;b=j;break}if((c[o>>2]|0)==1){b=23;break b}if(!(c[m>>2]&2)){b=23;break b}else{h=1;b=1}}else b=j;while(0);i=i+8|0;j=b}do if((b|0)==18){if((!j?(c[q>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h){b=23;break}else{h=4;break}}if(h)b=23;else h=4}while(0);if((b|0)==23)h=3;c[p>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else Xj(0,d,e,f);while(0);return}function yk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(Vj(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;zk(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{zk(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0<g>>>0)}}else Wj(0,d,e,f);while(0);return}function zk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0;a=c[a>>2]|0;cc[c[(c[a>>2]|0)+28>>2]&7](a,b,d+f|0,(g&2|0)==0?2:e);return}function Ak(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;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;ec[c[(c[a>>2]|0)+20>>2]&31](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function Bk(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;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;dc[c[(c[a>>2]|0)+24>>2]&7](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function Ck(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function Dk(a){a=a|0;return}function Ek(a){a=a|0;return}function Fk(){var a=0;a=c[11843]|0;c[11843]=a+0;return a|0}function Gk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Sb;Sb=Sb+16|0;e=f;c[e>>2]=c[d>>2];a=Yb[c[(c[a>>2]|0)+16>>2]&15](a,b,e)|0;if(a)c[d>>2]=c[e>>2];Sb=f;return a&1|0}function Hk(a){a=a|0;if(!a)a=0;else a=(Zj(a,38632,38720,0)|0)!=0&1;return a|0}function Ik(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=r(e,f)|0;d=a>>>16;a=(c>>>16)+(r(e,d)|0)|0;e=b>>>16;b=r(e,f)|0;return (u((a>>>16)+(r(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function Jk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=Ik(e,f)|0;a=v()|0;return (u((r(b,f)|0)+(r(d,e)|0)+a|a&0|0),c|0|0)|0}function Kk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (u(b+d+(c>>>0<a>>>0|0)>>>0|0),c|0)|0}function Lk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (u(d|0),a-c>>>0|0)|0}function Mk(a){a=a|0;return (a?31-(s(a^a-1)|0)|0:32)|0}function Nk(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;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (u(n|0),f)|0}else{if(!g){n=0;f=0;return (u(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (u(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(s(i|0)|0)-(s(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (u(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (u(n|0),f)|0}g=h-1|0;if(g&h|0){i=(s(h|0)|0)+33-(s(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (u(o|0),p)|0}else{p=Mk(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (u(o|0),p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (u(o|0),p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (u(o|0),p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Mk(i|0)|0)>>>0);return (u(o|0),p)|0}g=(s(i|0)|0)-(s(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (u(o|0),p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (u(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Kk(m|0,l|0,-1,-1)|0;d=v()|0;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;Lk(k|0,d|0,e|0,n|0)|0;p=v()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Lk(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=v()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (u(o|0),p)|0}function Ok(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Nk(a,b,c,d,0)|0}function Pk(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){u(b>>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}u(0);return b>>>c-32|0}function Qk(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){u(b<<c|(a&(1<<c)-1<<32-c)>>>32-c|0);return a<<c}u(a<<c-32|0);return 0}function Rk(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Sk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){La(b|0,d|0,e|0)|0;return b|0}h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function Tk(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 Sk(b,c,d)|0;return b|0}function Uk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;i=d|d<<8|d<<16|d<<24;g=f-64|0;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function Vk(a){a=a|0;var b=0,d=0,e=0;e=Ia()|0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){Sa(b|0)|0;S(12);return -1}if((b|0)>(e|0))if(!(Ma(b|0)|0)){S(12);return -1}c[i>>2]=b;return d|0}function Wk(a,b){a=a|0;b=b|0;return Vb[a&7](b|0)|0}function Xk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return Wb[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function Yk(a,b,c){a=a|0;b=b|0;c=c|0;return Xb[a&3](b|0,c|0)|0}function Zk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Yb[a&15](b|0,c|0,d|0)|0}function _k(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Zb[a&1](b|0,c|0,d|0,e|0)|0}function $k(a){a=a|0;_b[a&3]()}function al(a,b){a=a|0;b=b|0;$b[a&31](b|0)}function bl(a,b,c){a=a|0;b=b|0;c=c|0;ac[a&31](b|0,c|0)}function cl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bc[a&15](b|0,c|0,d|0)}function dl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;cc[a&7](b|0,c|0,d|0,e|0)}function el(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;dc[a&7](b|0,c|0,d|0,e|0,f|0)}function fl(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;ec[a&31](b|0,c|0,d|0,e|0,f|0,g|0)}function gl(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;fc[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function hl(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;gc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function il(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;hc[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function jl(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;ic[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function kl(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;jc[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)}function ll(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;kc[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)}function ml(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;lc[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0,n|0)}function nl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;mc[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0,n|0,o|0,p|0)}function ol(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;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;nc[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0,n|0,o|0,p|0,q|0,r|0,s|0,t|0)}function pl(a){a=a|0;t(0);return 0}function ql(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;t(1);return 0}function rl(a,b){a=a|0;b=b|0;t(2);return 0}function sl(a,b,c){a=a|0;b=b|0;c=c|0;t(3);return 0}function tl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;t(4);return 0}function ul(){t(5)}function vl(){O()}function wl(a){a=a|0;t(6)}function xl(a,b){a=a|0;b=b|0;t(7)}function yl(a,b,c){a=a|0;b=b|0;c=c|0;t(8)}function zl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;t(9)}function Al(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;t(10)}function Bl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;t(11)}function Cl(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;t(12)}function Dl(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;t(13)}function El(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;t(14)}function Fl(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;t(15)}function Gl(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;t(16)}function Hl(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;t(17)}function Il(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;t(18)}function Jl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;t(19)}function Kl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;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(20)}
// EMSCRIPTEN_END_FUNCS
var Vb=[pl,qi,lk,nd,wd,yd,zd,pl];var Wb=[ql,Bi];var Xb=[rl,sd,ud,rl];var Yb=[sl,ri,wi,Xi,Rj,rk,tk,Cd,Sd,tc,Gg,sl,sl,sl,sl,sl];var Zb=[tl,si];var _b=[ul,vl,Kj,dk];var $b=[wl,Dd,Ed,Gd,Jd,Kd,Ld,Md,gd,Od,Pd,Nj,Oj,Pj,Qj,_j,jk,kk,pk,qk,sk,vk,od,zc,Ac,xd,Bd,Oh,ek,wl,wl,wl];var ac=[xl,Yc,xc,yc,rd,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Lc,Ad,uc,Ci,xl,xl,xl,xl,xl,xl,xl,xl,xl,xl,xl,xl,xl];var bc=[yl,Xc,Nd,Qd,pd,qd,td,vd,ae,We,Ze,Ye,uf,be,yl,yl];var cc=[zl,Uj,bk,yk,xf,yf,zf,Af];var dc=[Al,Tj,ak,xk,_e,Al,Al,Al];var ec=[Bl,Sj,$j,wk,de,ee,ge,he,le,ie,ce,fe,je,ke,gf,hf,af,bf,df,ef,jf,ff,$e,cf,kf,lf,mf,nf,of,og,pg,Bl];var fc=[Cl,Ne,Qe,Oe,Re,Pe,Te,Ue,Se,Ge,He,Ke,Le,Fe,Ie,Je,Me,Bf,Cf,Df,Ef,Ff,pe,qe,re,Cl,Cl,Cl,Cl,Cl,Cl,Cl];var gc=[Dl,$d,Xe,Ve];var hc=[El,ve,ue,se,te,pf,qf,tf,rf,sf,me,oe,ne,Gf,kg,lg];var ic=[Fl,Uf,Qf,Vf,mg,Fl,Fl,Fl];var jc=[Gl,Hf,If,Kf,Mf,Of,Gl,Gl];var kc=[Hl,Rf,Jf,Lf,Nf,Pf,Hl,Hl];var lc=[Il,ng];var mc=[Jl,Sf];var nc=[Kl,Tf];return{___cxa_can_catch:Gk,___cxa_is_pointer_type:Hk,___errno_location:ui,___getTypeName:pi,___muldi3:Jk,___udivdi3:Ok,_bitshift64Lshr:Pk,_bitshift64Shl:Qk,_free:hj,_i64Add:Kk,_i64Subtract:Lk,_llvm_bswap_i32:Rk,_llvm_cttz_i32:Mk,_main:vc,_malloc:gj,_memcpy:Sk,_memmove:Tk,_memset:Uk,_sbrk:Vk,_strlen:Zi,dynCall_ii:Wk,dynCall_iidiiii:Xk,dynCall_iii:Yk,dynCall_iiii:Zk,dynCall_iiiii:_k,dynCall_v:$k,dynCall_vi:al,dynCall_vii:bl,dynCall_viii:cl,dynCall_viiii:dl,dynCall_viiiii:el,dynCall_viiiiii:fl,dynCall_viiiiiii:gl,dynCall_viiiiiiii:hl,dynCall_viiiiiiiii:il,dynCall_viiiiiiiiii:jl,dynCall_viiiiiiiiiii:kl,dynCall_viiiiiiiiiiii:ll,dynCall_viiiiiiiiiiiii:ml,dynCall_viiiiiiiiiiiiiii:nl,dynCall_viiiiiiiiiiiiiiiiiii:ol,establishStackSpace:sc,globalCtors:oc,stackAlloc:pc,stackRestore:rc,stackSave:qc}})
// EMSCRIPTEN_END_ASM
(asmGlobalArg,asmLibraryArg,buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _main=Module["_main"]=asm["_main"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _strlen=Module["_strlen"]=asm["_strlen"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var globalCtors=Module["globalCtors"]=asm["globalCtors"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=asm["dynCall_iidiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=asm["dynCall_viiiiiiii"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=asm["dynCall_viiiiiiiiiii"];var dynCall_viiiiiiiiiiii=Module["dynCall_viiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiii"];var dynCall_viiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiii"];var dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiiiii"];var dynCall_viiiiiiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiiiiiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}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 calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;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{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];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"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}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}Module["noExitRuntime"]=true;run();